Добрый день.
Подтолкните советом, пожалуйста. Запутался в трех соснах, порыл весь форум, ничего не нашел.
Пытаюсь организовать считывание через 485 порт по протоколу Modbus данных из другого контроллера. Сразу запнулся на функции открытия порта - не открывает. Код следующий:
В итоге, port_opened=-1. Ни одна функция не отрабатывает корректно. Res в последнем присваивании = 1. SysComOpen возвращает 16#FFFFFFFF.Код:PROGRAM MODBUS VAR Sett : COM_Settings; Sett2 : COM_SettingsEx; port_opened : INT:=0; Res : SysCom.RTS_IEC_RESULT; END_VAR ----------------------------------------------------------- IF (port_opened=0) THEN SysComClose(0); (* закрытие порта *) SysComOpen(0,Res); SysComGetSettings(0,ADR(Sett),ADR(Sett2)); Sett.sPort:=SYS_COMPORT_NONE; Sett.ulBaudrate:=SYS_BR_19200; Sett.byParity:=SYS_NOPARITY; Sett.ulTimeout:=0; Sett.byStopBits:=SYS_ONESTOPBIT; Sett.ulBufferSize:=0; Res:=SysComSetSettings(0, ADR(Sett),ADR(Sett2)); IF Res=0 THEN (* запуск порта*) port_opened:=2; ELSE //Res:=SysComClose(hCom:=COM_Handle); port_opened:=-1; END_IF END_IF




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