modbus-poll和modbus-slave工具的學習使用——modbus協議功能碼3的解析(及歐姆龍溫控器調試筆記)


最近的項目中使用到了歐姆龍的溫控器,里面有很多的通信方式,我們使用的常見的modbus——RTU方式,其他方式我們不使用,其中通信手冊上面有很多通信的實例,歐姆龍modbus還區分4字節模式和2字節模式,我們選擇2字節,加快通信效率,而且2字節和4字節的模式的地址還不一樣,但是實現的功能是一樣的,比如開啟,關閉等操作。

 

 

 

 下面使用modbus poll 和slave工具模擬modbus的通信協議3,設置的方式可以參考之前的文章,這里不再詳細說明,都是差不多的,觸類旁通。

運行后,可以看到一下的信息,我截取如下:
Tx:008,Rx:009可以忽略,只是軟件的時間標志。
Tx:008-01(從機地址) 03(功能碼) 00(寄存器地址高位) 00(寄存器地址高位) 00(寄存器數量高位) 01(寄存器數量高位) 84(CRC低) 0A(CRC高) 
Rx:009-01(從機地址) 03(功能碼) 02(字節數) 00(數據 1 高位) 04(數據 1 低位) B9(CRC低) 87(CRC低).

然后對比歐姆龍的實例:

 響應:

通信實例,我這里采用的是2字節的模式。

 

 調試筆記:

modbus我們使用的rs485總線,我按平常的方法去調試,A-A ,A-B,結果歐姆龍上面的A、B是相反的,A-B ,B-A才行,說明,標簽也有不統一的時候,需要多嘗試。

因此有時候調試的時候需要多長點心,自己單片機的代碼不着急寫,可以使用電腦的串口助手來先調試,查看通信指令,熟悉通信設備,之后在來寫單片機的代碼。

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM