Просмотр полной версии : ПЛК110-30 МО2, SysLibCom
Здравствуйте,
подскажите, пожалуйста, что изменилось в МО2 в работе с SysLibCom. Не получается настроить порт (SysComSetSettingsEx).
Какой глюк в прошивке, то ли в голове моей непутевой, то ли в плк. Похоже, иногда при старте ПЛК последовательный порт как-бы открыт*. Вроде помогло следующие
IF ( step = 0 ) THEN
settings.Size := SIZEOF( settings );
settings.Port := PORT_ID;
settings.dwBaudRate := PORT_BAUDRATE;
settings.cByteSize := PORT_DATA_BITS_AMOUNT;
settings.byStopBits := PORT_STOP_BITS_AMOUNT;
settings.byParity := PORT_PARITY;
settings.dwTimeout := 0;
settings.dwBufferSize := 0;
settings.dwScan := 0;
settings.fOutxCtsFlow := FALSE;
settings.fDtrControl := 0;
settings.fDsrSensitivity := FALSE;
settings.fRtsControl := 0;
settings.fOutxDsrFlow := FALSE;
step := 1;
END_IF
IF ( step = 1 ) THEN
result := SysComOpen( settings.Port );
IF ( result = 0 ) THEN
step := 2;
ELSE
SysComClose( settings.Port );
END_IF
END_IF
IF ( step = 2 ) THEN
result := BOOL_TO_DWORD( SysComSetSettingsEx( settings.Port, ADR( settings ) ) );
IF ( result = 0 ) THEN
step := 3;
END_IF
END_IF
...
да, и COM_SERVICE тоже работает
Для ПЛК выше 63/73 это нормально.
Ptimafey
02.10.2016, 19:51
Все просто:
у ОВЕНА SysComOpen не возвращает дескриптор порта, а возвращает ноль если все нормально.
Филоненко Владислав
03.10.2016, 15:00
ноль - это и есть дескриптор порта. нулевой :)
Филоненко Владислав
03.10.2016, 15:02
Какой глюк в прошивке, то ли в голове моей непутевой, то ли в плк. Похоже, иногда при старте ПЛК последовательный порт как-бы открыт*.
Используйте обработчики событий, например before_reset
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot