Сообщение от
Максим Ульянов
Евгений доброго дня ! Огромное спасибо за вашу поддержку! Совет ваш помог,связь установилась ...но кроме 0 не чего получить не удалось...ладно едем дальше..решил использовать OCL.MB_TcpSlave ....переменные инициализированные в начале программы сразу отобразились в OPC сервере,а вот переменная которая меняется во времени( каждые 5 сек ,сделал просто для проверки)..увы вместо значения в OPC сервере всегда 0..
fbTon1(IN :=TRUE, PT :=PT1,Q=>timerset,ET=>ET1);
IF timerset THEN
fbTon1(IN :=FALSE);
CountTimer1:=CountTimer1+1;
fbTon1(IN :=TRUE);
END_IF;
DataOutDoor[6]:=CountTimer1;
В приведенном куске кода сброс таймера не происходит, поскольку конструкции fbTon1(IN :=FALSE); и fbTon1(IN :=TRUE); выполняются в одном цикле.
Сделайте так:
Код:
fbTon1(IN := NOT(fbTon1.Q), PT := PT1);
IF fbTon1.Q THEN
CountTimer1 := CountTimer1 + 1;
DataOutDoor[6] := CountTimer1;
END_IF