1. Между открытием порта и настройкой нужна пауза 1-2 мс.
2. Аналогично после настройки.
3. А LEN(snd_str) точно !=0 ?
1. Между открытием порта и настройкой нужна пауза 1-2 мс.
2. Аналогично после настройки.
3. А LEN(snd_str) точно !=0 ?
1) вот вставил паузу между открытием порта и настройкой а результат тот же :-(ручками перевожу в кусок программы для отправки тескта с паузой после настройки более 2 с)
1: TON1(IN:=port_init , PT:=t#3s );
IF NOT port_opened THEN
com_handle:=SysComOpen(com_num);
IF com_handle<>16#FFFFFFFF THEN
port_init:=TRUE;
ELSE
SysComClose(com_num);
com_handle:=SysComOpen(com_num);
port_init:=TRUE;
END_IF
IF TON1.Q THEN
com_set.Port:=com_num;
com_set.dwBaudRate:=9600;
com_set.byParity:=0;
com_set.dwTimeout:=0;
com_set.byStopBits:=0; (* *)
com_set.dwBufferSize:=0;
com_set.dwScan:=0;
res:=SysComSetSettings(com_num,ADR(com_set));
IF NOT res THEN
port_opened:=TRUE;
bCurentWork:=0;
END_IF
END_IF
END_IF
2) А LEN(snd_str) точно !=0? - это про длину строки не равную 0?
я ручками пишу в переменную snd_str текст 2-10 символов латиницей.