一路生花
級別: 略有小成
|
圖片:
圖片:
圖片:
圖片:
大家幫忙看看我哪里設置的不對?MODBUS設定是9600, 無校驗,8數據長度,1停止位,溫控器站號設置第五站,H3讀取從站保持寄存器,但后面從站寄存器涉及到一個功能碼H4讀測量值數據以及0*00第一通道測量值地址,我這程序應該怎樣寫?下面是我自己寫的,麻煩各位大佬幫忙看一看,糾正一下! |
---|---|
|
anlyl2014
大吉大利
級別: 網絡英雄
|
你用的是什么通訊模塊?485BD通訊板不能這樣寫的,你先曬你的硬件看看 |
|
---|---|---|
|
一路生花
級別: 略有小成
|
用的485ADP-MB |
---|---|
|
zhangqi_1234
級別: 略有小成
|
圖片:
沒有正確使用ADPRW指令,仔細閱讀圖中所示的信息,再對照你編寫的ADPRW指令:[ADPRW H5 H3 H4 H0 D1500],H5表示站號,H3是功能碼,H4是什么?H0是什么?另外,每個通道存儲測量值的寄存器數量是多少個? |
---|---|
|
一路生花
級別: 略有小成
|
我查過手冊,其他部分的通訊已經完成,這個東西的地址我確實不知道如何寫在程序里才來提問的。 H5是站號H3是modbus從站保持寄存器讀出H4是溫控儀讀測量值功能碼H0是第一溫控儀測量值地址,現在不知道怎么去用ADPRW指令讀取這個溫控儀的第一通道測量值 溫控儀手冊的詳細我截圖放在上面了。 |
---|---|
|
twingo49
級別: 網絡英雄
|
試試看 ADPRW H5 H3 H0 K8 D1500 |
---|---|
|
anlyl2014
大吉大利
級別: 網絡英雄
|
這樣明白嗎? 讀出不要用03,而是用04,讀測量值,地址是0-07共8個, |
|
---|---|---|
|
zhangqi_1234
級別: 略有小成
|
根據你貼出的功能碼和存儲器截圖,假設讀取第一通道測量值,而測量值只占用1個16位寄存器,應該用[ADPRW H5 H4 H0 H1 D1500],注意,功能碼不能用H3,H3是讀取保持寄存器數據,H4才是讀取測量值。 |
---|---|
|