0
A
回答
2
在Modbus中定義「只讀」模擬量變量的正確方法是將其映射爲輸入寄存器。在Modbus中沒有定義的功能代碼寫入輸入寄存器。
由於歷史原因,一些供應商將其所有變量映射爲保持寄存器,理論上這些寄存器是可讀/寫的,即有多個寫寄存器功能。無論何時將只讀變量映射爲保持寄存器,它們都必須聲明寫入功能失敗。但是,這沒有標準的異常代碼,因爲保持寄存器應該是可讀寫的。這只是Modbus的特性之一。
回到您的問題,如果您將變量映射爲輸入寄存器,則可以確定該協議不允許主機寫入該變量。如果出於互操作性問題將其映射爲保存寄存器,則該協議將允許主機使用寫入功能來更改其值,並且取決於您在設備實現中是否阻止。
+0
感謝您的回答。 – jurnerea121
相關問題
- 1. 用pymodbus寫modbus寄存器
- 2. Modbus TCP寄存器
- 3. 使用mmap讀取/寫入寄存器
- 4. 同時讀取和寫入寄存器
- 5. Jamod Modbus從 - 分配寄存器
- 6. 讀取Modbus寄存器並登錄到csv
- 7. 只讀部分8位寄存器VERILOG
- 8. 寫入嵌入式控制器寄存器在Ubuntu 14.04
- 9. 如何讀/寫一個寄存器
- 10. 寫入一個只讀存取器c#
- 11. 寄存器讀取
- 12. 寫入和讀取寄存器的Linux基於ARM
- 13. 誰會自動寫入vim寄存器?
- 14. 邊沿觸發寄存器寫入
- 15. 部分寫入使能寄存器位
- 16. 控制對存儲器映射寄存器的讀寫訪問寬度C
- 17. 閱讀eax寄存器
- 18. 用pymodbus讀取寄存器
- 19. Modbus TCP從站線程 - 設置並獲取寄存器值
- 20. 如何使用C/C++映射Modbus寄存器地址
- 21. C#Modbus每20秒得到一個寄存器
- 22. 如何將AVX512寄存器zmm26中的QuadWord寫入rax寄存器?
- 23. HLSL:在編譯時強制執行常量寄存器限制
- 24. 如何強制C++編譯器使用寄存器?
- 25. Linux模塊 - I/O內存寄存器讀/寫掛起系統
- 26. Verilog:讀取1位輸入並將其寫入288位寄存器
- 27. 操作控制寄存器
- 28. cuda SM寄存器限制
- 29. 控制寄存器和gdb
- 30. Emacs插入寄存器
我不知道但是...還要記住,寄存器有時使用不同的地址來讀取地址和寫入地址。 (例如使用WAGO 750設備) – bvdb
嘿,我面對的設備只有一些寄存器只有r,有些則作爲r/w – jurnerea121