Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414
отправлено / posted
Реализовал произвольный протокол. Но данные с датчиков прыгают между сабой. В чём может быть проблема? Данные вывожу через аргументы каналаь CALL.Vector.
Сообщения / Posts 67 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
отправлено / posted
Возможно, речь идет о наличии больших задержек ответов на запросы. Если задержки превышают выбранное Вами значение таймаута, то запоздавший ответ на 1-й запрос может быть воспринят как ответ на 2-й запрос. Надо перехватывать трафик COM-порта и отслеживать прохождение каждой транзакции во времени.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Kairat
Active Forum Member / Активный участник форума
Участник № / Member № 5414
отправлено / posted
До этого да была проблема, что контроллер не успевал отвечать: посылалось 2-3 запроса подряд и приходил ответ, который записывался в аргументы всех каналов CALL.Vector, поэтому значения дублировались. Но потом я поставил таймаут 1000 мс, и на каждый запрос приходил ответ, но значения всё равно прыгают. Бывает даже что значения прыгают не между каналами, а между аргументами канала.
Сообщения / Posts 67 | Из / From: Казахстан
| IP / IP: IP адрес / IP address |
отправлено / posted
Если значения аргументов канала Vector смещаются, надо перехватить трафик COM-порта любым порт-монитором, чтобы убедиться, что порядок параметров в ответе устройства всегда правильный.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |