Добрый день. Переделал программу, добавил выдержку времени 300мс.
PROGRAM PLC_PRG
VAR
T1:=TON;
delay:TIME:=T#300ms;
port:COMSETTINGS:=(Port:=COM1,dwBaudRate:=2400);
portReady:BOOL;
buf:ARRAY[0..13]OF BYTE;
END_VAR
T1(IN:=TRUE,PT:=delay);(*запускаем таймер*)
IF NOT portReady THEN(* Сразу открываем и настраиваем порт *)
portReady:=TRUE;
SysComOpen(port.Port);
SysComSetSettings(port.Port,ADR(port));
ELSE(* Работаем с открытым портом *)
SysComRead(port.Port, ADR(buf), 14, 0);
END_IF
(*Если таймер запущен и закончил работу, то останавливаем таймер*)
IF(T1.IN=TRUE AND T1.Q=TRUE) THEN
T1(IN:=FALSE,PT:=T#0s);
END_IF
Но ничего не изменилось.




Ответить с цитированием