Форум » » ModBus RTU и адреса регистров » Ответить

ModBus RTU и адреса регистров

Андрей: Добрый день, друзья. Пытаюсь управлять вентустановкой Alfa EC Comfort от производителя 2VV через ModBus. Процессор DIN-AP3. В документации производителя указаны стандартные коды функций ModBus RTU (0x03 0x06 0x10), то есть Read & Write Holding Registers. Адрес регистра, отвечающий за вкл/выкл указан 21001. Возможно ли управлять этим с помощью стандартного модуля от Crestron - Modbus-RTU FC3&FC6&FC16 Read and Write Holding Registers? Как я понимаю, адрес регистра "21001" это стандартный (физический) адрес, а модуль работает с логическими, адреса для Holding Registers должны, вроде, начинаться с 40001. Помогите, пожалуйста, разобраться. Заранее благодарю.

Ответов - 5

DmitriiP: Андрей пишет: адреса для Holding Registers должны, вроде, начинаться с 40001 в протоколе этому нет определения... что именно так и должно быть... В модуле тоже нет отдельных понятий физиеский/лигический есть просто адрес: To_Processor = start_com + chr(array_index) + "\x06" + chr(unit_id) + "\x03" + chr(h_start) + chr(l_start) + chr(h_count) + chr(l_count) + end_com;

Андрей: DmitriiP пишет: в протоколе этому нет определения... что именно так и должно быть... Значит по идее можно установить start adress = 21001 и модуль его отправит как 52 09? ) При таком стартовом адресе процессор выдает строку 01 06 09 00 01 .. .. то есть младший сегмент остался, старший исчез )

DmitriiP: по идее ДА, ещё что (очень часто забывают указать в документации) это с чего начинается отсчёт с 0 или 1 ... xxxx5 или xxxx6 (уже методом тыка +/-1) Если б было написано как PLC address 41001 то тут надо гадать (по документации) это адрес 41001 или Holding Register 1001


DmitriiP: Андрей пишет: При таком стартовом адресе процессор выдает строку 01 06 09 00 01 .. .. то есть младший сегмент остался, старший исчез )

Андрей: Буду смотреть, спасибо огромное за помощь! )



полная версия страницы