1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Расшифровка протокола MODBUS

RS-485, ProfiBUS, 4-20 mA, Wi-Fi, GSM и так далее
Ответить

Автор темы
ageres
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 02 апр 2012, 07:13
Имя: Чернов Сергей Михайлович
Страна: Казахстан
город/регион: Караганда

Расшифровка протокола MODBUS

Сообщение ageres »

Здравствуйте!
Прошу вас помочь в решении возникшего вопроса :ges_help:
Мне необходимо получить значение измеряемого параметра прибором РМТ59 компании "Элемер". Поключая прибор к компьютеру через Ethernet, по протоколу MODBUS TCP, отправляю следущий пакет:
5865 0000 0006 0104 0000 0002
где : 0104 - (01 - сетевой адрес, 04 - команда на чтение значений перьев)
0000 - номер пера;
0002 - колличество считываемых регистров.
В ответ приходит пакет:
5865 0000 0007 0104 04 41af 5446
где 0104 - (01 - сетевой адрес, 04 - команда на чтение значений перьев)
04 - длина полученных данных (как я понял);
41af 5446 - само значение получается.

То есть получается что посылаю запрос на чтение значения первого пера. Для пробы я использовал термопару типа ХА, в момент опроса прибор показал примерно 22 градуса.

И вопрос: как получить эти 22 градуса :ges_hmm: ? Узнавать только у производителя или же все делается стандартно? В инструкции написано только как делать запрос!

Спасибо за внимание!

leon78
эксперт
эксперт
Сообщения: 1031
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 34 раза
Поблагодарили: 110 раз

Re: Расшифровка протокола MODBUS

Сообщение leon78 »

В инструкции должно быть написано, как полученное значение в градусы преобразовать. Стандартного преобразования нет. Т.к. в ответе 2 слова (4 байта), то можно предположить такие варианты:
1. Число с плавающей запятой (REAL)
2. Длиное целое, которое потом надо делить на что-то, кратное 10. Но обычно хватает одного слова.
3. Коды АЦП, которые потом надо перевести в градусы. Но обычно хватает одного слова.
и еще много других вариантов.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

leon78
эксперт
эксперт
Сообщения: 1031
Зарегистрирован: 25 июл 2008, 10:06
Имя: Леонид
Страна: РФ
Благодарил (а): 34 раза
Поблагодарили: 110 раз

Re: Расшифровка протокола MODBUS

Сообщение leon78 »

Кстати, 5446 - это не CRC?
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.
Аватара пользователя

DelSnos
не первый раз у нас
не первый раз у нас
Сообщения: 323
Зарегистрирован: 26 сен 2010, 10:18
Имя: Artur
Страна: Russia
Поблагодарили: 2 раза

Re: Расшифровка протокола MODBUS

Сообщение DelSnos »

И вопрос: как получить эти 22 градуса ? Узнавать только у производителя или же все делается стандартно? В инструкции написано только как делать запрос!
Если производитель нормально не описал, как обрабатывать полученные данные, то это лучше спросить у него. А они так могут исковеркать, что мало и не покажется.

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: Расшифровка протокола MODBUS

Сообщение Василий Иванович »

Это и есть число в формате REAL, и равно оно 21,91615

http://en.wikipedia.org/wiki/Single-pre ... int_format
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: Расшифровка протокола MODBUS

Сообщение san »

leon78 писал(а):Кстати, 5446 - это не CRC?
CRC в MODBUS TCP нету.
Интерпритация real можно поискать в Инете, например тут:
http://ru.wikipedia.org/wiki/%D0%A7%D0% ... 1%82%D0%B8
Согласно протокола MODBUS доступ к данным типа DINT или REAL не описано. По этой причине действительно расположение байт в регистрах и регистров в байтах может быть разное (см. BIG ENDIAN / LITTLE ENDIAN). Щас покумекаю, может что-то получится с преобразованием.

--------------------
Пока писал, Василий Иванович уже все зделал. :-)
Аватара пользователя

DelSnos
не первый раз у нас
не первый раз у нас
Сообщения: 323
Зарегистрирован: 26 сен 2010, 10:18
Имя: Artur
Страна: Russia
Поблагодарили: 2 раза

Re: Расшифровка протокола MODBUS

Сообщение DelSnos »

А что кумекать? Василий Иванович уже расшифровал :D

Автору могу посоветовать онлайн калькулятор: http://www.h-schmidt.net/FloatApplet/IEEE754.html
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: Расшифровка протокола MODBUS

Сообщение san »

DelSnos писал(а):А что кумекать? Василий Иванович уже расшифровал :D
Автору могу посоветовать онлайн калькулятор: http://www.h-schmidt.net/FloatApplet/IEEE754.html
Так и я о том же.
А калькулятор у меня не открылся :? . IE сказал что страница небезопасна и не открывал.
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: Расшифровка протокола MODBUS

Сообщение san »

san писал(а):А калькулятор у меня не открылся :? . IE сказал что страница небезопасна и не открывал.
А этот открылся http://www.binaryconvert.com/convert_float.html
Аватара пользователя

DelSnos
не первый раз у нас
не первый раз у нас
Сообщения: 323
Зарегистрирован: 26 сен 2010, 10:18
Имя: Artur
Страна: Russia
Поблагодарили: 2 раза

Re: Расшифровка протокола MODBUS

Сообщение DelSnos »

IE сказал что страница небезопасна и не открывал.
IE такой IE. Французским школьникам уже давно его запретили. :D
А вот второй калькултор намного удобнее ;)

Чуть флуда насчет уязвимостей. На хабре недавно хорошая статья вышла : http://habrahabr.ru/company/pt/blog/140849
Так в серверном программном обеспечении широкое распространение получили уязвимости в SCADA-системах: в 17 уведомлениях безопасности было описано 37 уязвимостей. А это, если брать все относительности, очень много!

Автор темы
ageres
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 02 апр 2012, 07:13
Имя: Чернов Сергей Михайлович
Страна: Казахстан
город/регион: Караганда

Re: Расшифровка протокола MODBUS

Сообщение ageres »

Всем :thankyou:
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17551
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 818 раз
Поблагодарили: 1647 раз

Re: Расшифровка протокола MODBUS

Сообщение Jackson »

DelSnos писал(а):Автору могу посоветовать онлайн калькулятор: http://www.h-schmidt.net/FloatApplet/IEEE754.html
Еще есть калькулятор, встроенный в виндовс :)
По вопросам работы Форума можно обратиться по этим контактам.
Аватара пользователя

san
преподаватель
преподаватель
Сообщения: 1357
Зарегистрирован: 01 сен 2008, 18:32
Имя: Пупена Александр
Страна: Украина
город/регион: Киев
Поблагодарили: 6 раз

Re: Расшифровка протокола MODBUS

Сообщение san »

TEB писал(а):
DelSnos писал(а):Автору могу посоветовать онлайн калькулятор: http://www.h-schmidt.net/FloatApplet/IEEE754.html
Еще есть калькулятор, встроенный в виндовс :)
так там вычисления ручками надо делать. А тут взял - ввел и получил

ASUTP_PLC
эксперт
эксперт
Сообщения: 1055
Зарегистрирован: 11 ноя 2012, 18:21
Имя: Нурисламов Руслан М.
Страна: Казахстан
город/регион: Алматы
Благодарил (а): 23 раза
Поблагодарили: 32 раза

Re: Расшифровка протокола MODBUS

Сообщение ASUTP_PLC »

Не подскажите где каталог с приборами на модбас ТСР. С Элемеровскими приборами пока сталкивался только на Модбас RTU. Интересно посмотреть что есть.
Аватара пользователя

doza
завсегдатай
завсегдатай
Сообщения: 539
Зарегистрирован: 05 ноя 2012, 07:38
Имя: Дозморов Владимир Владимирович
Страна: Россия
город/регион: Северск
Благодарил (а): 1 раз
Поблагодарили: 25 раз

Re: Расшифровка протокола MODBUS

Сообщение doza »

Прибор РМТ59 компании "Элемер" аналоговые MODBUS TCP/IP ANSI/IEEE Std 754-1985 - стандарт двоичной арифметики с плавающей точкой. Если скада умеет работать с данным протоколом никаких переводов не надо вы получите температуру на в реальном значении.
Подробней http://www.softelectro.ru/ieee754.html
Чебурашку видишь???? я тоже не вижу, а он есть.

ASUTP_PLC
эксперт
эксперт
Сообщения: 1055
Зарегистрирован: 11 ноя 2012, 18:21
Имя: Нурисламов Руслан М.
Страна: Казахстан
город/регион: Алматы
Благодарил (а): 23 раза
Поблагодарили: 32 раза

Re: Расшифровка протокола MODBUS

Сообщение ASUTP_PLC »

Спасибо за математику. B Modbus RTU в абсолютно таком же приведенном виде данные гоняются. Разница только в интерфейсных частях.
Ответить

Вернуться в «Интерфейсы, протоколы, связь»