Принудительная запись в регистр только для чтения #Modbus

Мне было интересно, можно ли как-то принудительно записать в регистр Modbus «только для чтения»? Является ли определение регистра «только для чтения» достаточно безопасным или его можно обойти??

Спасибо за ответы!


person jurnerea121    schedule 12.05.2015    source источник
comment
Я не знаю, но ... Также имейте в виду, что регистры иногда используют разные адреса для чтения и адреса для записи. (например, с устройствами WAGO 750)   -  person bvdb    schedule 12.05.2015
comment
Эй, я сталкиваюсь с устройствами, которые содержат некоторые регистры только как r, а некоторые как r/w   -  person jurnerea121    schedule 12.05.2015


Ответы (1)


Правильный способ определить аналоговую переменную «только для чтения» в Modbus — отобразить ее как входной регистр. В Modbus не определен функциональный код для записи во входной регистр.

По историческим причинам некоторые поставщики отображают все свои переменные как регистры хранения, которые теоретически доступны для чтения/записи, т. е. существует функция записи нескольких регистров. Всякий раз, когда они отображают переменную только для чтения в качестве регистра хранения, они должны утверждать, что функции записи не работают. Однако для этого не существует стандартного кода исключения, поскольку регистр временного хранения должен быть доступен для чтения/записи. Это только одна из особенностей Modbus.

Возвращаясь к вашему вопросу, если вы отобразите свою переменную как входной регистр, вы можете быть уверены, что протокол не позволит мастеру писать в нее. Если из соображений совместимости вы отобразите его как регистр хранения, протокол позволит главному устройству использовать функцию записи для изменения его значения, и вам решать блокировать в реализации вашего устройства.

person Ronaldo    schedule 12.05.2015
comment
Спасибо за ответы.! - person jurnerea121; 12.05.2015