Чтение данных по протоколу Modbus RTU
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Чтение данных по протоколу Modbus RTU
Добрый день, возникла проблема чтения данных с прибора газоанализатор МАГ-6-С2 по протоколу Modbus RTU, com порт определяется, а чтение не происходит. Считываю с канала №2, 19 и 20 регистры (параметр КИСЛОРОД) (фото №2), адрес устройства в сети указан правильно (1). Подскажите в чем может быть проблема
Во вложении фото с описанием работы газоанализатора по протоколу modbus (взято из паспорта на прибор), код программы и программа в LB.
Во вложении фото с описанием работы газоанализатора по протоколу modbus (взято из паспорта на прибор), код программы и программа в LB.
- Вложения
-
- считывание данных МАГ-6.vi
- (17.03 КБ) 224 скачивания
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Чтение данных по протоколу Modbus RTU
Скорее всего ошибка 0x02: запрашиваемый адрес регистра не кратен 2 (19).
В таблице указаны номера регистров, а на BD адрес регистра=номер регистра - 1.
В таблице указаны номера регистров, а на BD адрес регистра=номер регистра - 1.
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
Поставил адрес регистра на BD = 18, количество 2, все равно ничего не читается
-
IvanLis
- guru
- Сообщения: 5467
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 88 раз
Re: Чтение данных по протоколу Modbus RTU
Что сразу бросается в глаза, у Вас тунели Case (False) не протянуты, а установлены состояния "по умолчанию", соответственно после итерации цикла, когда кнопка не нажата, VISA уже будет пустой и выдаст ошибку соединения.Danzel писал(а):Поставил адрес регистра на BD = 18, количество 2, все равно ничего не читается
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Чтение данных по протоколу Modbus RTU
Судя по размеру в две ячейки (по 2 байта) число в формате Single, т.е из двух ячеек надо TypeCast ом преобразовывать в число.
Обратите внимание, что есть разночтения в стандартах ModBus, с какого адреса идет первый элемент. Бывает и 0-й адрес и 1-й адрес.
Выведите состояние Exception Code, он должен дать также подсказку, что не так.
Попробуйте обратиться к другому банку (Holdings)
Upd. Читайте первый абзац первого листа.
Upd... Возможно также, что скорость не по умолчанию (9600)
Обратите внимание, что есть разночтения в стандартах ModBus, с какого адреса идет первый элемент. Бывает и 0-й адрес и 1-й адрес.
Выведите состояние Exception Code, он должен дать также подсказку, что не так.
Попробуйте обратиться к другому банку (Holdings)
Upd. Читайте первый абзац первого листа.
Upd... Возможно также, что скорость не по умолчанию (9600)
Последний раз редактировалось Borjomy_1 26 июл 2019, 13:38, всего редактировалось 1 раз.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Чтение данных по протоколу Modbus RTU
IvanLis, Для последовательного порта нет создания объекта. Поэтому можно работать даже с уже инициализированным портом. Его Init - это всего лишь конфигурация, которую можно провести также в любой момент. Проблемы возникают только когда порт открыт другой программой.
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
В индикатор Состояние Exception Code ничего не выводитсяBorjomy_1 писал(а):Судя по размеру в две ячейки (по 2 байта) число в формате Single, т.е из двух ячеек надо TypeCast ом преобразовывать в число.
Обратите внимание, что есть разночтения в стандартах ModBus, с какого адреса идет первый элемент. Бывает и 0-й адрес и 1-й адрес.
Выведите состояние Exception Code, он должен дать также подсказку, что не так.
Попробуйте обратиться к другому банку (Holdings)
Upd. Читайте первый абзац первого листа.
Upd... Возможно также, что скорость не по умолчанию (9600)
Обратился к дуругому банку (Holdings), результат такойже, ничего не читается
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
С помощью стороннего ПО просканировал порт с использованием программного обеспечения идущего в комплекте с газаанализатором и с помощью программы LB. В LB использовал формат символов ASCII, по RTU ничего не сканируется.
https://www.eksis.ru/technical-support/ ... -protocol/
На сайте производителя газоанализатора в разделе техподдержка нашел описание передачи данных, но чет не очень понятно как это работает, помогите разобраться
https://www.eksis.ru/technical-support/ ... -protocol/
На сайте производителя газоанализатора в разделе техподдержка нашел описание передачи данных, но чет не очень понятно как это работает, помогите разобраться
- Вложения
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Чтение данных по протоколу Modbus RTU
Ну значит используйте функционал ModBus ASCII. Там только функции чтения-записи поменять. Если обмен идет по ASCII, то естественно, работать по RTU само по себе не будет
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
Что значит "Там только функции чтения-записи поменять"?Borjomy_1 писал(а):Ну значит используйте функционал ModBus ASCII. Там только функции чтения-записи поменять. Если обмен идет по ASCII, то естественно, работать по RTU само по себе не будет
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Чтение данных по протоколу Modbus RTU
Это не Modbus протокол, а доморощенный типа Eksis Exchange ASCII . Посылаете запрос (формат приведен) и через не более 300 ms получаете ответ (формат приведен).
-
- user
- Сообщения: 94
- Зарегистрирован: 28 июл 2019, 13:16
- Версия LabVIEW: 19
- Благодарил (а): 2 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
В техописании 2 порта - 232 и 485. На разных портах могут быть разные протоколы. Плюс в техописании на 485 порту почему-то перекрестное соединение.С помощью стороннего ПО просканировал порт с использованием программного обеспечения идущего в комплекте с газаанализатором
Скорость в .vi 9600 в логах 19200
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Чтение данных по протоколу Modbus RTU
Скорость да, изначально стоило бы попробовать на разных скоростях. В общем, глубокоуровневая комбинаторика рулит.ujin писал(а):В техописании 2 порта - 232 и 485. На разных портах могут быть разные протоколы. Плюс в техописании на 485 порту почему-то перекрестное соединение.С помощью стороннего ПО просканировал порт с использованием программного обеспечения идущего в комплекте с газаанализатором
Скорость в .vi 9600 в логах 19200
-
- beginner
- Сообщения: 49
- Зарегистрирован: 22 янв 2016, 10:41
- Версия LabVIEW: 12
- Контактная информация:
Re: Чтение данных по протоколу Modbus RTU
Со скоростью все нормально, 19200 я поменял в .VI в последствии, и поэтому в логах такая скорость, так что нет перекрестия
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 0 Ответы
- 503 Просмотры
-
Последнее сообщение Juri
-
- 19 Ответы
- 7878 Просмотры
-
Последнее сообщение Artem.spb
-
- 38 Ответы
- 13307 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 5 Ответы
- 253 Просмотры
-
Последнее сообщение IvanLis
-
- 3 Ответы
- 875 Просмотры
-
Последнее сообщение IvanLis