This is topic Произвольный протокол in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.
Реализовал произвольный протокол. Но данные с датчиков прыгают между сабой. В чём может быть проблема? Данные вывожу через аргументы каналаь CALL.Vector.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Возможно, речь идет о наличии больших задержек ответов на запросы. Если задержки превышают выбранное Вами значение таймаута, то запоздавший ответ на 1-й запрос может быть воспринят как ответ на 2-й запрос. Надо перехватывать трафик COM-порта и отслеживать прохождение каждой транзакции во времени.
Posted by Kayrat Gatiyatov (Участник № / Member № 5414) on :
До этого да была проблема, что контроллер не успевал отвечать: посылалось 2-3 запроса подряд и приходил ответ, который записывался в аргументы всех каналов CALL.Vector, поэтому значения дублировались. Но потом я поставил таймаут 1000 мс, и на каждый запрос приходил ответ, но значения всё равно прыгают. Бывает даже что значения прыгают не между каналами, а между аргументами канала.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Если значения аргументов канала Vector смещаются, надо перехватить трафик COM-порта любым порт-монитором, чтобы убедиться, что порядок параметров в ответе устройства всегда правильный.