Иногда при записи значений в переменную можно столкнуться с так называемым «перемигиванием значения». При этом переменная сначала принимает новое значение, затем возвращается к старому, потом вновь принимает новое.
В citect.ini имеется параметр [Code]WriteLocal, который определяет, будет ли Citect SCADA производить запись в локальную таблицу переменных в Cicode. Cicode обновляет свое локальное отображение устройства ввода/вывода при каждой записи переменной в устройство.
При значении WriteLocal=1, локальная таблица переменных обновляется и в драйвер устройства направляется запрос на запись. В случае, когда устройство ввода вывода представляет собой несколько устройств, объединенных по принципу master – slave (например OPC сервер, опрашивающий физическое устройство), CCitect может произвести следующее чтение с master устройства до того, как оно успеет обновить slave. Это особенно заметно при медленных коммуникациях между master и slave.
При значении WriteLocal=0 записываемое значение не будет использоваться для отображения в Citect SCADA. Отображаемое значение изменится только после следующего успешного чтения со slave устройства. При этом в случае медленных коммуникаций между master и slave отображаемое значение изменится с некоторой задержкой.
Таким образом, для устранения проблемы «перемигивающих значений» нужно установить [Code]WriteLocal=0