Возможно ли как-нибудь получить текущее состояние дискретных выходов модуля МК110-4ДН.4Р по протоколу Modbus RTU?
В РЭ на модуль есть регистры 50(выхода) и 51(входа). Но регистр 50 похоже только для записи.
Возможно ли как-нибудь получить текущее состояние дискретных выходов модуля МК110-4ДН.4Р по протоколу Modbus RTU?
В РЭ на модуль есть регистры 50(выхода) и 51(входа). Но регистр 50 похоже только для записи.
Никто не запрещает читать этот регистр
Как раз таки запрещают, модуль на запрос регистра выдает ошибку 2 (неверный адрес запрашиваемого регистра).
Стр. 60 в рэ.
Примечания
1) Запись в регистры осуществляется командой 16 (0х10), чтение – командами 03 или 04
(прибор поддерживает обе команды)
Пытался читать и 3, и 4 командой, запрашивал 2 регистра начиная с 50(т.е. 50 и 51), на что получал ошибку 2 (смотри выше). при запросе только 51 регистра проблем нет.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
50 отдельно не пробовал, теперь только в понедельник. Но я тем же способом опрашиваю модуль МВ110, запрашивая много регистров аналоговых входов, и никаких проблем с ним нет. Так что способ рабочий. Использую ПЛК304+библиотеки овеновские Modbus.
З.Ы. если с 50 ничего не получится попробую запрашивать 0..3 регистры, в которые пишется скважность в виде значения 0..1000. Но это тоже только в понедельник.
Последний раз редактировалось GIR; 29.07.2016 в 15:28.
Если запрашивать только один 50 регистр, ошибок нет. Почему сразу оба регистра нельзя запросить - не понятно. Ну и ладно, проблема решилась, благодарю за подсказку.