Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Последние сообщения

Страницы: 1 ... 3 4 [5] 6 7 ... 10
41
Ваши вопросы / Re: Печать графиков
« Последний ответ от Simple-Scada 27 Мая 2026, 16:43:28 »
В одном из будущих обновлений будет новое меню просмотра трендов (одинаковое для всех клиентов).
42
Здравствуйте.

Цитировать
Возникла необходимость обработки нажатия кнопок клавиатуры, а именно нажатие и отпускание кнопки.
Например, при нажатии кнопки на клавиатуре F1..
В Simple-Scada можно обработать только нажатия сочетаний клавиш с использованием клавиш Ctrl / Shift / Alt – подробнее см. по ссылке. Отследить нажатие отдельной клавиши (например F1) нельзя.

Цитировать
а вот как обработать отпускание, не нашел.
Такой возможности нет.
43
Добрый день, уважаемые коллеги.
Возникла необходимость обработки нажатия кнопок клавиатуры, а именно нажатие и отпускание кнопки.
Например, при нажатии кнопки на клавиатуре F1 в тег "Tag_01" должно записаться значение True, а при отпускании кнопки F1 в тег "Tag_02" должно записаться значение True,
а в тег "Tag_01" значение False. Само нажатие кнопки можно в скрипте обработать, а вот как обработать отпускание, не нашел.
Может, кто сталкивался с такой задачей, буду благодарен за помощь.
44
Для копирования сообщений я просто дублирую всю группу.
Лайфак, однако, спасибо!
45
Ваши вопросы / Re: Печать графиков
« Последний ответ от StanleyTucci 26 Мая 2026, 15:44:19 »
Привет из 2026 года! Вы что-нибудь придумали для веб-клиента?)
46
Здравствуйте.

Сейчас можно выделять только по одному. В одном из ближайших обновлений улучшим работу с множеством сообщений. В других меню тоже упростим массовые операции.
47
Для копирования сообщений я просто дублирую всю группу.

Дополнительно, еще там не работает навигация кнопками: стрелки (вверх, вниз) и Page (Up, Down).
48
Добрый день, столкнулся с проблемой, что мне нужно массово выделить сообщения, для массовой работы, но не получается. кнопки ctrl, shift не помогают. из-за этого не могу массово вырезать и вставить в нужное место, приходиться перебирать по одному.
49
Ваши вопросы / Re: Квитирование по кнопке в контроллер
« Последний ответ от npp 23 Мая 2026, 07:46:07 »
Частенько встречается этот вопрос на форумах, желаю поделиться своим мнением.
Для чего вообще отправлять в ПЛК сигнал квитирования сообщения (аварии)?
Квитирование - это "подтверждение приёма-передачи структурной единицы информации". Т.е. квитирование требуется только в Скаде для гашения сообщения об произошедшем событии (ворнинге, аларме), а главное - для сохранения в логи факта подтверждения ознакомления оператора с данным событием. Чтобы впоследствии оператора можно было наказать по причине "знал и бездействовал" и прикрыть опу программиста.
А при возникновении условий, приведших к останову единицы оборудования, то бишь "аварии", взводить отдельный бит в ПЛК, блокирующий повторный запуск неисправного узла. Вот этот бит сбрасывать отдельной кнопкой "Сброс аварии" в Скаде. И у каждого исполнительного механизма должен быть такой персональный бит в ПЛК, персональный индикатор аварии и персональная кнопка в Скаде (наравне с прочими кнопками управления механизма).
Возлагать сброс бита аварии на кнопку "квитирование" - значит вводить действия, не согласующиеся с определением надписи на кнопке.
Разумеется, дополнительно можно нарисовать кнопки, квитирующие все сообщения разом и сбрасывающие все аварии всех узлов (и эти кнопки пользуются большой популярностью у операторов), но эти кнопки отдельные с соответствующими надписями.
И лучше применять однозначно понимаемое слово "Подтвердить" вместо "Квитировать" (от нем. quittieren).
50
Ваши вопросы / Re: Передача тегов в процедуру
« Последний ответ от Simple Scada 22 Мая 2026, 12:42:33 »
Здравствуйте.

Если в процедуру необходимо передавать переменные в качестве параметра, то для этого переменные необходимо объявлять как класс "TM_Variable":
Код: (delphi)
procedure GomControlPumpRun(AMqttPumpRun, APumpRun, AStatePump: TM_Variable; bit: Byte);
begin
  if AMqttPumpRun.AsBool then
    if not GetBit(AStatePump.AsInt, bit) then
      APumpRun.Value := AMqttPumpRun.AsBool
    else
    begin
      APumpRun.Value := False;
      AMqttPumpRun.Value := False;
    end;
end;
Вызов процедуры:
Код: (delphi)
GomControlPumpRun(mqtt_Gom_Run_pump5, drskGom_SN5_Run, drskGom_State_Pump57, 2);
Страницы: 1 ... 3 4 [5] 6 7 ... 10