Оказалось всё банально просто: я забыл оконечный нулевой байт при формировании строки из массива байтов, поэтому просто читал не только свою новую строку, но и старые данные, в которых оказались такие же ответы.Проблема теперь другая: блок Read выдаёт затроение ответа. То есть терминалом я вижу определённую последовательность символов ответа (она правильная), а блок Read помещает в буфер три такие же последовательности подряд (никаких дополнительных символов в промежутках и по краям нет). Блок Read вызываю без цикла WHILE по одному вызову в цикле ПЛК
В итоге опрос быстроотвечающего устройства получился такой: при помощи библиотеки CAA SerialCom в одном цикле ПЛК вызывается блок Write в цикле WHILE, пока не выполнится, после чего один раз вызывается блок Read, а уже следующим циклом ПЛК повторный вызов блока Read даёт ответ от устройства
Спасибо!




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