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

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

Автор Тема: Замечания по событию OnDoneInput и сообщениям.  (Прочитано 1451 раз)

pan2000

  • Постоялец
  • ***
  • Сообщений: 172
    • Просмотр профиля
1. Событие OnDoneInput объекта TM-Field не наступает при вводе значения равного исходному. Т.е. это событие сейчас определяется как "Пользователь ввел новое (отличающееся от старого) значение в поле".
Возможные варианты обхода зтого ограничения:
- добавить 0 перед вводимым значением (проверено на integer);
- добавить отдельную кнопку и не использовать событие OnDoneInput.

2. Соообщения "Редактора ..." с настройками "Бит i = 1 : <Текст...> для битов, поступающих от OPC-сервера со значениями = 1, отображаются в сообщениях при запуске проекта. Такие сообщения не связаны с фактическим изменением состояния объекта управления, и в архиве сообщений можно увидеть, что "некое устройство включилось, и так 7 раз подряд".
Для определения изменения состояния необходимо два последовательных значения. Сейчас, предположительно, в качестве начального используется 0, а не первое принятое от OPC-сервера.

 ;D Значение числа "Пи" во времена ЭВМ М-20 было 3.14159265 (Руководство по скриптам - Глобальные константы)

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3000
    • Просмотр профиля
    • Simple-Scada
Re: Замечания по событию OnDoneInput и сообщениям.
« Ответ #1 : 25 Августа 2017, 09:21:32 »
Цитировать
1. Событие OnDoneInput объекта TM-Field не наступает при вводе значения равного исходному. Т.е. это событие сейчас определяется как "Пользователь ввел новое (отличающееся от старого) значение в поле". Возможные варианты обхода зтого ограничения:
Да, клиент скады делает мелкую оптимизацию и просто не передаёт серверу скады сведения о таком вводе. А в Вашем случае для чего нужно OnDoneInput на ввод того же значения?

Цитировать
2. Соообщения "Редактора ..." с настройками "Бит i = 1 : <Текст...> для битов, поступающих от OPC-сервера со значениями = 1, отображаются в сообщениях при запуске проекта. Такие сообщения не связаны с фактическим изменением состояния объекта управления, и в архиве сообщений можно увидеть, что "некое устройство включилось, и так 7 раз подряд". Для определения изменения состояния необходимо два последовательных значения. Сейчас, предположительно, в качестве начального используется 0, а не первое принятое от OPC-сервера.
Да, первое значение пришедшее с контроллера после старта проекта учитывается при выводе сообщений, ведь эти сообщения активны, значит нельзя их игнорировать. В ином случае оператор может не увидеть какие-то аварии после перезапуска сервера скады, а это недопустимо.

Цитировать
Значение числа "Пи" во времена ЭВМ М-20 было 3.14159265 (Руководство по скриптам - Глобальные константы)
Константа Пи используемая компилятором скриптов равна 3.14159265358979. В руководстве просто короткое строковое представление, позже обновим на более длинное.

pan2000

  • Постоялец
  • ***
  • Сообщений: 172
    • Просмотр профиля
Re: Замечания по событию OnDoneInput и сообщениям.
« Ответ #2 : 25 Августа 2017, 12:33:22 »
Да, клиент скады делает мелкую оптимизацию и просто не передаёт серверу скады сведения о таком вводе. А в Вашем случае для чего нужно OnDoneInput на ввод того же значения?

В моем случае - повторить действия при том же значении параметра, что вполне логично для события "Пользователь ввел значение в поле". Сейчас событие - "Пользователь изменил значение в поле", изменение можно сделать добавлением лидирующего 0.


Цитировать
Да, первое значение пришедшее с контроллера после старта проекта учитывается при выводе сообщений, ведь эти сообщения активны, значит нельзя их игнорировать. В ином случае оператор может не увидеть какие-то аварии после перезапуска сервера скады, а это недопустимо.

Согласен, что самое приоритетное это информирование об ошибках, хотя для полноты информирования о последних событиях перед перезапуском сервера желательно использовать различные типы сообщений:
- нет сообщений (первое значение из OPC-сервера);
- переходы 0->1: ошибки и включение устройств (первое значение 0);
- переходы 1->0: выключение устройств (первое значение 1).