Всем доброе утро!
Нахожусь в раздумьях по поводу того, как правильно распределить управление системами на объекте. В данный момент занимаюсь разработкой ПО верхнего уровня и пусконаладкой систем и вот хочу спросить совета.
Есть объект, управляется несколькими ПЛК. У каждого ПЛК есть RS232 и Ethernet. По месту к каждому ПЛК по RS232 подключается ЖК-панель Weintek. Кроме этого каждый ПЛК подключен к сети Ethernet и данные с него считывает АРМ диспетчера со скада-системой. Со считыванием и отображением даннных проблем никаких нет. А вот с заданием уставок и изменением режимов работы системы есть небольшая проблема, и для решения этой проблемы есть несколько вариантов - никак не могу остановится на каком-либо из них. Проблема следующего рода - задаю уставку из скады - данные записываются в контроллер. В контроллере в ячейке памяти, зарезервированной под работу по интерфейсу сохраняется значение переменной. Кроме того, переменная "висит" в скаде. Теперь подхожу к ЖК-панели и задаю эту уставку в ней. Уставка переписывается в контроллере, но затем происходит следующее - с скады опять приходит старая уставка и данные переписываются в память заного. Т.е. одновременно управлять контроллером двумя мастерами не получается. Есть несколько вариантов решения проблемы:
1. Завести в контроллере переменную - "выбор мастера" и переключать разные входы. Но тогда в контроллере для каждой уставки придется отвести по два входа с интерфейса.
2. В скаде придумать кнопку, которая будет отключать работу с интерфейсом переменных, отслающих данные по интерфейсу контроллерам. Будет что-то типа кнопки "включить местное управление".
3. Ограничить функционал ЖК-панелей и оставить им только визуализацию, без возможности вмешиваться в управление системами.
Возможно есть еще варианты - в общем нужен "свежий взгляд". Всем заранее спасибо за советы.