В теории все вроде понятно, на практике PLC WinNT 2.4.7.38 (DEMO) отказывается открывать com-порт в примере по записи через Modbus с сайта owen.ru
Код:PROGRAM PLC_PRG VAR get1_modbus: MB_RD_HOLD_REGS; get2_modbus: MB_RD_INP_REGS; get3_modbus: MB_RD_HOLD_REGS; Buffer: ARRAY[0..255] OF BYTE; cmpl: BOOL; port_opened: BYTE := 0; Init: BOOL; Settings:COMSETTINGS; com_num: PORTS:=2; enabl: BOOL; err: INT; TimeOut: TIME:=T#50ms; Exception: BYTE; DataSize: WORD; master1: BYTE:= 1; t: DWORD; A: WORD := 0; x:WORD; x1: WORD; x2: WORD; x3: WORD; d: REAL; ptr_D:POINTER TO BYTE; COM_SERVICE1: COM_SERVICE; END_VARвиртуальные com-порты создавал с помощью com0com и virtual serial port driver 6.9 - проверял их через HyperTerminal все работает правильноКод:t:=t+1; IF (t MOD 1000)=0 THEN A := A + 1; IF A > 9999 THEN A := 0; END_IF END_IF IF port_opened=0 THEN Settings.Port:=com_num; Settings.dwBaudRate:=115200; Settings.byParity:=0; Settings.dwTimeout:=0; Settings.byStopBits:=1; Settings.dwBufferSize:=0; Settings.dwScan:=0; END_IF COM_SERVICE1(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK ); IF COM_SERVICE1.ready THEN (*здесь всегда false получается*) port_opened:=2; END_IF