Продолжил экспериментировать.
Цикл ПЛК - 5 мс. Настройки порта - 19200,8,N,1.Код:IF (COM_READY = TRUE )THEN IF RxUse THEN WHILE SysComRead(comPort, ADR(rxDataBuf[0]), 200 , 0) <> 0 DO; END_WHILE END_IF TxCheck(IN := TRUE, PT := TxPeriod); IF TxCheck.Q AND TxUse THEN FOR i := 1 TO DWORD_TO_INT(TxSizeSend) BY 1 DO TxDataBuf[i-1] := TxInd; IF TxIndUse THEN TxInd := TxInd + 1; END_IF END_FOR; TxDataSize := DWORD_TO_BYTE(SysComWrite(comPort, ADR(TxDataBuf), TxSizeSend, 0)); IF TxDataSize <> TxSizeSend THEN outDO2 := TRUE; ELSE outDO2 := FALSE; END_IF TxCheck(IN := FALSE); END_IF END_IF
Работа с "мусором на линии" от 30 - 60 мин.
Результат:Тест RS485.png




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