Что понравилось:
- удобное управление копиями объектов (механизм шаблон-экземпляр) (+ фильтрация ненужных полей)
- скрипты на 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 (будет ошибка времени исполнения)
- Обратная связь команды – отображает последнее изменившееся значение от оператора или пришедшее по обратной связи