This is topic Неверные данные получаю по ModbusTCP in forum Драйверы / Device Drivers at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/43/t/000108.html

Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Релиз TM 6.08, контроллеры WAGO I/O.
modbus.set = 2

Проблема:
в случайные моменты времени получаю в ответ на запрос заведомо известных значений следующее:
Float - вместо 0: 2.65383e+010
Float - вместо 160: 2.65383e+010
Float - вместо 1: 2.65383e+010
Float - вместо 0: 2.65389e+010
Float - вместо 160: 0.674377
Word - вместо 0: 63, 65531, 55, 36 и т.п.

Пробовал использовать Lectus Modbus-OPC сервер - тот считывает корректно, без ошибок.

Что делать? Как диагностировать?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Протокол Modbus TCP защищен очень хорошо. Проскакивание такого рода ошибок возможно только при подстановке ошибочных данных на TCP-входе.
Нет ли у Вас в канале связи какого-либо перехода, например, Modbus TCP в Modbus RTU?

Если получен корректный кадр (а иначе у канала был бы признак недостоверности и его значение не изменилось бы), внутренними средствами диагностики ошибку не поймать.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
переходы Modbus TCP в Modbus RTU не использую.

попробую отловить пакеты снифером...

а ТМ не может слить лог своего обмена в файл?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Протоколируются только ошибки. Но выставление какого-либо значения без признака недостоверности в канале говорит об отсутствии протокольных ошибок.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Обнаружил причину появления "левых" данных.

Дело в том, что я использовал в строке IP адреса в настройках источника/приёмника ключ THONE, в надежде использовать отдельные потоки для каждого контроллера.

Это выглядело как "xxx.yyy.mmm.nnn THONE"

Этот ключ я использовал у источников/приемников двух (из шести) узлов.

При этом значения их каналов стали перепутываться, т.е. значения каналов одного контроллера стали подменяться значениями из каналов другого контроллера (IP адреса разные). Кроме того, неверные данные стали появляться и в каналах оставшихся 4-х контроллеров, в которых ключ THONE не использовался.

Подмена была кратковременной. Было похоже, что сначала записываются неверные данные, а затем переписываются верными.

После исключения ключа THONE из настройки все данные пошли верно.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Поставили эксперимент с тремя эмуляторами Modbus-устройств. У устройств отличались только IP-адреса. Опрос каждого производился в отдельном потоке. Обмен был безупречен - ошибок не наблюдалось.

2. Мы готовы проверить функционирование Вашего проекта на эмуляторах.
Также полезную информацию можно получить из протокола профайлера, включив отладку. Для этого создайте в папке узла проекта cnf-файл с ключом "DEBUGON=4400". Материал отправляйте на hotline3@adastra.ru.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2