Коллизии с кнопками управления при реализации логики в MasterOPC
Добрый день, я новичок в MasterScada, есть такая задача:
1) У некоторых объектов есть параметр Работа(bool), который генерируется в MasterOPC по своим законам и со своими зависимостями.
2) В MasterScada настроены 2 кнопки для влияния на этот параметр: "Старт" и "Стоп" (для удобства).
3) Пользователь, когда кнопки "Старт" и "Стоп" разблокированы может на них нажимать и соответственно значение должно приходить в OPC. При этом OPC может отвергнуть это значение по своим условиям или при выборе определённой предустановки выставить нужное значение.
4) В Masterscada для управления реализовано 2 параметра: "работа" и "уставка работы". При нажатии нужной кнопки в действиях по клику мыши происходит установка параметра "уставка работы" в true или false соответственно. Параметр "работа" используется для подсветки текущего состояния.
5) В итоге, если пользователь нажал кнопку стоп -> "уставка работы" перешла в false -> данные передались в OPC -> а дальше два варианта, алгоритмом в OPC разрешено в данный момент выставить false или не разрешено -> так вот, если не разрешено, то он обратно выставляет true.
При этом в уставке остаётся false, и при следующем нажатии на кнопку "Стоп" вообще ничего не будет происходить, т.к. не менялось значение.
Как возможно это победить или оптимизировать?
P. S.
Пробовал писать fbd скрипт с таймером tonof который каждые 3 секунды по переднему фронту ставит значение из параметра "работа" в параметр "уставка работы", но при этом кнопки перестают нормально работать-> начинают по 5 раз пытаться менять значение и в итоге ничего не выходит. Да и к тому же это изначально проигрышный вариант.
Кто, что посоветует?)