-
MBA8 modbus RTU
Запрос:
[10] -адрес
[3] -команда
[00][00]-начальный регистр
[00][30]-конечный
[CRC][CRC]
Ответ:
[10] -адрес
[3] -команда
[60] -счётчик байт 0x60=96
[0][0][0][16][00][00][03][28][41][B3][D2][60] -вход1
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход2
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход3
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход4
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход5
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход6
[0][0][0][00][F0][07][FF][FF][00][00][00][00] -вход7
-вход8
[00][00]-положение 10-ной точки в целом значении
[00][00]-целое значение
[F0][07]-регистр статуса 0xF007 Датчик отключен
[FF][FF]-время измерения
[00][00][00][00] - float32
[FB][F8] -CRC
В сопроводительной документации к МВА8 написано:
" 4-х байтовых значениях с плавающей точкой (без времени) "
а в таблице ещё обозначено "Float32"
Нельзя ли расписать побайтно формат Float32
-
-
-
Пользователь
Путь число в формате IEEE 754 (32 бит) лежит в 4-х байтах 1(0..7бит),2(8..15),3(16..23),4(24..31 биты)
В стандарте модбас описано, что используется Big Endian адреса и расположение байт данных в регистрах.
Таким образом стандартно в памяти должны лежать два регистра формата 4,3,2,1 (наиболее часто воспринимаемый формат данных Modbus).
Иногда согласно, например, Спецификации Modbus TCP (2.2b)используется Little Endian для адресов, таким образом данные в памяти лежат как 2,1,4,3.
Для этого в разных Modbus мастерах введен режим переворачивания. В ПЛК он называется native mode(используем ARM в режиме Little Endian). Обычный режим называется Trcae Mode/
Другой режим
-
На самом деле вроде всё лежит так для COM-порта
1 поступивший байт:
1бит - знак числа
2-7 бит - первые биты показателя степени со смещением 127
2 поступивший байт:
1 бит - продожение показателя степени
2-7 бит - первый байт - начало двоичной дроби
3 и 4 поступивший байты - продолжение дроби
sppppppp p.1111111 11111111 11111111
................||||
................||| -------- 0.0625 1/16
................|| --------- 0.125 1/8
................| ---------- 0.25 1/4
................. ---------- 0.5 1/2
Последний раз редактировалось aven; 01.05.2009 в 19:48.
-
Пользователь
смущает фраза в начале - на самом деле...
я вроде бы так и объяснял.
забавно, что на текущий момент практически в любом контроллере есть поддержка плавающего у кого то есть необходимость реверсировать Ieee
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума