Сообщение от
sink3d
Я в 11 посту писал об этом.Через переменную не вариант.т.к. Мне нужно одновременно писать и читать ее. Смотрите что получается, через opc я обратился к переменной, записал значение, присвоил это значение через точку переменной.Например Auto:bool . А в переменная в разделе modbus tcp имеет имя Auto_to_scada AT %QW8.0.1. Т.о. Auto:=Auto_to_scada.1;
Все прекрасно, на SCADA нажал кнопку Auto, в плк переменная auto приняла значение TRUE.Далее выключаем компьютер со SCADA, плк при этом работает.После загрузки SCADA указатель режима работы в SCADA отображает False, потому что SCADA не знает о том, что переменная Auto была переведена в true(до ее выключения).Что бы такого неопределенного состояния не возникало нужно считать переменную с плк в SCADA. Каким образом?
Auto_to_scada.1:=Auto;- уже не катит.(Поэтому как вариант я записал переменную auto в регистр byte изменив 1й бит,т.е. ушел от еще одной переменной в плк(без присвоения) и сэкономил память.Далее считал 2байта через opc.Ну а в SCADA через скрипт C# расшифровал каждый бит регистра Word. Если что не так сделал поправьте, может проще как можно сделать.