2015-05-12 147 views
0

我想知道, 是否有強制寫在'只讀'Modbus寄存器? 將寄存器定義爲「只讀」是否足夠安全或可以被繞過?強制寫入只讀寄存器#Modbus

感謝您的答案!

+0

我不知道但是...還要記住,寄存器有時使用不同的地址來讀取地址和寫入地址。 (例如使用WAGO 750設備) – bvdb

+0

嘿,我面對的設備只有一些寄存器只有r,有些則作爲r/w – jurnerea121

回答

2

在Modbus中定義「只讀」模擬量變量的正確方法是將其映射爲輸入寄存器。在Modbus中沒有定義的功能代碼寫入輸入寄存器。

由於歷史原因,一些供應商將其所有變量映射爲保持寄存器,理論上這些寄存器是可讀/寫的,即有多個寫寄存器功能。無論何時將只讀變量映射爲保持寄存器,它們都必須聲明寫入功能失敗。但是,這沒有標準的異常代碼,因爲保持寄存器應該是可讀寫的。這只是Modbus的特性之一。

回到您的問題,如果您將變量映射爲輸入寄存器,則可以確定該協議不允許主機寫入該變量。如果出於互操作性問題將其映射爲保存寄存器,則該協議將允許主機使用寫入功能來更改其值,並且取決於您在設備實現中是否阻止。

+0

感謝您的回答。 – jurnerea121