Проблема м.б. например потому, что Вы постоянно, в каждом цикле, пытаетесь открыть порт. Должно быть как то так:
Код:IF ComPortState = 0 THEN Settings.Port:= 1; (*номер COM-порта*) Settings.dwBaudRate:=115200; (*скорость*) Settings.byParity:=0; ... END_IF IF ComPortState <> 2 THEN (*Открываем COM-порт*) COM_SERVICE1(Enable:=(ComPortState=0) , Settings:=Settings , Task:=OPEN_TSK ); (*Если COM-порт открыт, то переходим к приему и передачи данных *) IF COM_SERVICE1.ready THEN ComPortState:= 2; END_IF END_IF




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