Об использовании MasterSCADA 3.8

Что понравилось:
  • удобное управление копиями объектов (механизм шаблон-экземпляр) (+ фильтрация ненужных полей)
  • скрипты на C# + возможность полного управления объектами из скрипта

Недостатки:
  • в стандартных визуальных блоках нельзя изменить изображение объекта 
  • неудобно постоянно переключаться из окна мнемосхемы в окно свойств объекта
  • C# код не будет выполняться (ни один из скриптов), если где-то есть ошибка (при чем об ошибке никак не узнаешь, пока не нажмешь Компилировать). Ошибки времени исполнения в скриптах не отлавливаются (например, случайное переопределение методов GetValue и SetValue)
  • ФБ Кнопка: Время фиксации ничего не меняет!…
  • Кнопка без фиксации: если нажатие было произведено в момент между Опросами, то изменения не подхватятся..
  • Кнопка с фиксацией: … (решается выводом на мнемосхему непосредственно команды (без создания отдельной кнопки))
  • рассинхронизация установки значений переменных в одном такте: 1)вывод скрипта => 2)вход переменной (Значение) => 3)вход динамизации контрола: 1 и 3 равны, а 2 каким-то чудом меняется только в следующем такте..) (скорее всего связано с работой Значения (т.е.выход устанавливается в зависимости от входа, но только уже в следующем такте). Но тогда почему меняется 3 еще в первом такте?)
  • Как продублировать массив значений динамизации объекта на мнемосхеме для другого объекта?
  • Ошибка в документации: Минимальная длина пароля: Максимальная длина пароля. 0 – не ограничивается.
  • Если картинки перестают “видеться” скадой, их нужно заново перевыбирать в объектах
  • Неопределенные значения (по сути – null) интерпретируются как true!!!
  • При обновлении имеющегося OPC-сервера возникает “Ошибка при подключении к OPC-серверу”, если OPC-сервер был перезагружен вручную (т.е. scada не подхватывает вновь запущенный OPC-сервер и ее приходится перезапускать)
Нюансы:
  • 0 импульсом подать нельзя (или можно AddSignedTaskValue(0,1) ???)
  • Для переменной на ЧтениеЗапись нужно принудительно вначале цикла присваивать a=a (или Выход зациклить на Вход)
  • null значение переменной bool? не сможет привестись к типу bool (будет ошибка времени исполнения)
  • Обратная связь команды – отображает последнее изменившееся значение от оператора или пришедшее по обратной связи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *