PDA

Просмотр полной версии : Адресация данных в протоколе ModBus



Сергей Смирнов
16.03.2009, 09:00
Здравствуйте

У меня работают в паре ПЛК100 и Adam 4117 через RS485 используя протокол Modbus RTU. Имеется необходимость считывать регистры Adam 4117 c адресами:10008, 40008, 40208

Подскажите пожалуйста, что я должен указать в адресе регистра в ПЛК100, чтобы эти регистры прочитать?

Филоненко Владислав
16.03.2009, 09:58
Описание выложите, пожалуйста!

Николаев Андрей
16.03.2009, 10:04
Добавляете в ПЛК (в ресурсе Конфигурации ПЛК) ModBus Master, добавляете UniversalModBusDevice и в нем добавляете регистры, которые Вам надо считать. Не забудьте уточнить команду, которой производится считывание.
А вообще есть документ Работа с PLC Configuration. Крайне рекомендую ознакомиться...

Сергей Смирнов
16.03.2009, 10:19
Добавляете в ПЛК (в ресурсе Конфигурации ПЛК) ModBus Master, добавляете UniversalModBusDevice и в нем добавляете регистры, которые Вам надо считать. Не забудьте уточнить команду, которой производится считывание.
А вообще есть документ Работа с PLC Configuration. Крайне рекомендую ознакомиться...

Это я все сделал. У меня вопрос конкретный какой адрес я должен добавить в параметр Register Adress? (Для адреса 10008 я уже выяснил, что этот параметр должен быть равен 7). А для регистров 40008 и 40208?
По-моему я неправильно представляю как адресуются регистры в протоколе Modbus. И не могу найти описания

Описание Adam 4117 2 Мб. Как его выложить подскажите

Николаев Андрей
16.03.2009, 10:26
Обычно прямо так и указывается:
Информация об измеренном чем то:
Хранится в регистре - ххх (этот адрес и забивается при опросе)
Опрашивается данный регистр командой 0Х - выбираем данную команду в списке
Формат имеет такой то... (в зависимости от формата выбираем тип регистр инпут)...

Slivinez
30.04.2015, 08:39
Добрый день!! Нужна помощь начинающему. Имеется на объекте насосная станция на контроллере Данфос MCX06D c ModBus RTU протоколом. Подскажите пожалусто как правильно организовать обмен с ПЛК 160 через RS485 по ModBus RTU. Данфосцы говорят что там стандартный протокол ModBus RTU и выступает он slave.
17968

_Mikhail
30.04.2015, 12:32
Добрый день!! Нужна помощь начинающему. Имеется на объекте насосная станция на контроллере Данфос MCX06D c ModBus RTU протоколом. Подскажите пожалусто как правильно организовать обмен с ПЛК 160 через RS485 по ModBus RTU. Данфосцы говорят что там стандартный протокол ModBus RTU и выступает он slave.
17968

Судя по выложенному описанию в Данфосе стандартный протокол ModBus RTU. Настраиваете конфигурацию Данфоса (№5, 6, 7), Затем на ПЛК создаете Мастера с такими же характеристиками по скорости, добавите устройство Modbus Slave и уже в нем прописывайте необходимые Вам регистры опроса взятые из руководства Данфос

Slivinez
30.04.2015, 14:22
Судя по выложенному описанию в Данфосе стандартный протокол ModBus RTU. Настраиваете конфигурацию Данфоса (№5, 6, 7), Затем на ПЛК создаете Мастера с такими же характеристиками по скорости, добавите устройство Modbus Slave и уже в нем прописывайте необходимые Вам регистры опроса взятые из руководства Данфос

Если я Вас правильно понял, то это должно выглядеть где то так..
17975

Николаев Андрей
30.04.2015, 16:57
Адрес регистра первый, команда 3

petera
01.05.2015, 02:36
Адрес регистра первый, команда 3
Команда 0х03(Real holding Registers) -да.
А вот на счет "Адрес регистра первый" -нет.
Возможно, что правильно будет или так, как указано в руководстве -3001, или возможно -3000. Потому, что в таблице распределения регистров адреса указаны видимо без смещения, которое является пятизначным числом и для Holding Registers было бы равным 40001, а в таблице регистры начинаются с 3001.

Николаев Андрей
01.05.2015, 23:45
Команда 0х03(Real holding Registers) -да.
А вот на счет "Адрес регистра первый" -нет.
Возможно, что правильно будет или так, как указано в руководстве -3001, или возможно -3000. Потому, что в таблице распределения регистров адреса указаны видимо без смещения, которое является пятизначным числом и для Holding Registers было бы равным 40001, а в таблице регистры начинаются с 3001.
Вполне справедливо. Но обычно разумные разработчики регистры с адресом 00 стараются не использовать...