Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2012, 13:39   #1
ZPavel
Новичок
 
Регистрация: Jul 2010
Сообщения: 8
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Очередность регистров в посылке Modbus-rtu

Растолкуйте мне, что-то я не доберу.
Например, мне нужно отправить число long 10123 (0000278b h) в регистр с адресом 01h.
Посылка от SMH без групповых запросов имеет вид
01h, 06h, 00h, 01h, 00h, 00h, D8h, 0Ah - это запись регистра 1h командой 06h и
01h, 06h, 00h, 02h, 27h, 8Bh, 73h, 9Dh - это запись регистра 2h командой 06h
Видно, что в регистр 01h записывается старший регистр, а в регистр 02h младший регистр.

Теперь отправим это-же число, но с использованием групповых запросов, SMH в этом случае используем команду 10h.
Посылка имеет вид
01h, 10h, 00h, 01h, 00h, 02h, 04h, 27h, 8Bh, 00h, 00h, 48h, FDh
Теперь регистры поменялись местами, в 1h пишется 27h, 8Bh, а в регистр 2h пишется 00h, 00h.
Вопрос, объясните, кто знает, почему так?
ZPavel вне форума   Ответить с цитированием
Старый 31.07.2012, 13:59   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Очередность регистров в посылке Modbus-rtu

Цитата:
Сообщение от ZPavel
Растолкуйте мне, что-то я не доберу.
Например, мне нужно отправить число long 10123 (0000278b h) в регистр с адресом 01h.
Посылка от SMH без групповых запросов имеет вид
01h, 06h, 00h, 01h, 00h, 00h, D8h, 0Ah - это запись регистра 1h командой 06h и
01h, 06h, 00h, 02h, 27h, 8Bh, 73h, 9Dh - это запись регистра 2h командой 06h
Видно, что в регистр 01h записывается старший регистр, а в регистр 02h младший регистр.

Теперь отправим это-же число, но с использованием групповых запросов, SMH в этом случае используем команду 10h.
Посылка имеет вид
01h, 10h, 00h, 01h, 00h, 02h, 04h, 27h, 8Bh, 00h, 00h, 48h, FDh
Теперь регистры поменялись местами, в 1h пишется 27h, 8Bh, а в регистр 2h пишется 00h, 00h.
Вопрос, объясните, кто знает, почему так?
В первом случае ушли два раздельных регистра, во втором - два регистра как группа, представляющая единое число.

В базовом модбасе нет длинных типов данных, поэтому у вас и вопросы)))


__________________
Программа делает то что написал программист, а не то что он хотел.

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


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

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



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


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024