Просмотр полной версии : Опрос ТСРВ-024М с ПЛК210
Здравствуйте. Столкнулась с такой проблемой: при опросе ТСРВ-024М стандартными средствами, чтение (функцией 03) адреса 0xC0AE возвращается странное значение, не соответствующее тому, что показывает прибор.
73818 - читаю отсюда, согласно карты регистров с оф сайта.
Часть других параметров (температуру, давление и расход) которые тоже неправильно читались примерно из этой же "области" (349213-349255(лог адрес)/0xC03C-0xC066(физ адрес) - по карте) удалось прочитать из (449213-449255(лог адрес)/0xC03C-0xC066(физ адрес)) - сверили с показаниями на экране прибора.
Но с адресом 349327/0xC0AE не прошло, чтение 449327/(функцией 04) 0xC0AE каждый раз вызывает ошибку SLAVE DEVICE FAILURE (При попытке выполнить запрос в ведомом устройстве произошла неисправимая ошибка).
Кто-нибудь сталкивался с такой ошибкой? Это ТСРВ дешевит? Таймаут 1500мс, остальные 18 параметров опрашиваются без проблем. Если меняю функцию чтения, то тоже ошибок нет, но и чисел правильных нет.
Евгений Кислов
22.02.2024, 21:41
Добрый день.
Вы можете повторить ваш эксперимент, опросив Взлет с ПК с помощью любого ПО, которое может работать в режиме Modbus Master (например, MasterOPC Universal Modbus Server).
Скорее всего, ситуация повторится - и тогда вам стоит обратиться в техподдержку Взлета и попросить комментариев у нее.
Добрый день.
Вы можете повторить ваш эксперимент, опросив Взлет с ПК с помощью любого ПО, которое может работать в режиме Modbus Master (например, MasterOPC Universal Modbus Server).
Скорее всего, ситуация повторится - и тогда вам стоит обратиться в техподдержку Взлета и попросить комментариев у нее.
Благодарю, будем пробовать. Сегодня специалист из техподдержки Взлета полдня потратил, но не смог настроить связь прибора с ПК, есть в чем разбираться.
чтение (функцией 03)
Почему 3, если, согласно карте адресов, это регистры ввода? Да и из логического адреса то же самое следует.
И учтите, что данный параметр - вещественное с двойной точностью. Т.е. читать надо сразу 4 регистра.
Посмотрите тут:
http://www.vzljot.ru/forum/index.php?topic=3832.0
Почему 3, если, согласно карте адресов, это регистры ввода? Да и из логического адреса то же самое следует.
И учтите, что данный параметр - вещественное с двойной точностью. Т.е. читать надо сразу 4 регистра.
Посмотрите тут:
http://www.vzljot.ru/forum/index.php?topic=3832.0
Потому что с применением функции 3 с этих адресов считываются константы (0.001), а с применением функции 4 - данные, которые похожи на те, что показывает сам расходомер. Почему так - ХЗ.
Про двойную точность - благодарю за подсказку, в карте регистров нет раздела с полями двойной точности, просто "Регистры ввода типа вещественное значение". Догадаться что наличие "заглушки" после поля данных означает, что ее тоже нужно считывать и интерпретировать как часть предыдущего числа - не смогла. Эта пара регистров называется "Заглушка для 4 регистровых ModBus переменных, реально не передается, у.е."
"реально не передается" означает, что их нельзя прочитать по отдельности. Считываются все 4 регистра.
"Регистры ввода типа вещественное значение"
Видите? Но Вы можете дальше упорствовать с функцией для чтения регистров хранения.
Почему так - ХЗ
Потому что в адресном пространстве holding-регистров есть регистр с точно таким же номером. Но это совсем не то, что Вам нужно.
Все получилось прочитать. Получается, что ошибка SLAVE DEVICE FAILURE в данном случае возникала при попытке прочитать число регистров, не соответствующее размещенной по этому адресу переменной/структуры.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot