Segnetics

Вернуться   Segnetics > База знаний > Библиотека

Библиотека Здесь сосредоточены познавательные статьи, раскрывающие те или иные аспекты оборудования или условий его применения

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.06.2016, 12:30   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 16 045
Благодарил(а): 9 раз(а)
Поблагодарили: 481 раз(а) в 439 сообщениях
По умолчанию Форматы передачи "длинных" регистров MODBUS

Поводом написания данной статьи послужил тот факт, что в протоколе modbus отсутствуют такие типы данных, как 32-хразрядное целое и 32-хразрядное число с плавающей точкой.

Стандарт modbus определяет только передачу битов и 16-разрядных регистров. Поэтому производители различных устройств передают другие типы данных так, как кажется удобным именно этому производителю.

Нам было удобно сделать так:

FLOAT и LONG побайтно передаются в порядке 3-4-1-2, т.е. число LONG, равное 08403020h передаётся как 30h.20h.08h.40h

Tx: [8] 01 04 A0 08 00 02 D2 09

Rx: [9] 01 04 04 30 20 08 40 F3 7E

------------------

INT передаются в обычном для modbus виде. Т.е. 0064h передаётся как 00h.64h

Tx: [8] 01 04 A0 8B 00 01 63 E0

Rx: [7] 01 04 02 00 64 B8 DB

------------------

То же самое касается статусов и койлов - всё как и должно быть в modbus.

------------------

Для облегчения взаимопонимания со сторонними устройствами нами были написаны следующие алгоритмы по "перевороту байтов":

Выделение старшего слова и младшего слова (HIGH и LOW) из переменной типа LONG: http://forum.segnetics.com/showthread.php?t=736

Переворот байтов внутри FLOAT: http://forum.segnetics.com/showthread.php?t=461


__________________
Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Вкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос строк в экспортируемом файле регистров Modbus tuxnsk SMLogix 1 04.05.2018 12:03
Honeywell MVC80-DH10M LordN Связь с внешним миром 30 28.11.2016 14:21


Часовой пояс GMT +4, время: 17:38.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2021