關(guān)于MBUS MSG指令
劉玉蓉
發(fā)布于2014-12-10 17:31
4
0
標(biāo)簽:
在MBUS MSG指令里有一個(gè)錯(cuò)誤位,我看了手冊(cè)上說(shuō)1-8的低位,其中0是無(wú)錯(cuò)誤,那Q0.0有輸出到底是對(duì)還是不對(duì),還有Q0.2是不用的意思,它是一直為1的嗎?我現(xiàn)在程序測(cè)試過(guò)程中,發(fā)現(xiàn)Q0.1和Q0.2都有輸出,不知道是什么錯(cuò)誤啊
圖片說(shuō)明: 1,1
佳答案
1、有關(guān)MBUS_MSG 指令錯(cuò)誤代碼:
Error 錯(cuò)誤代碼: 只有在 Done 位為1時(shí),錯(cuò)誤代碼才有效
0 = 無(wú)錯(cuò)誤
1 = 響應(yīng)校驗(yàn)錯(cuò)誤
2 = 未用
3 = 接收超時(shí)(從站無(wú)響應(yīng))
4 = 請(qǐng)求參數(shù)錯(cuò)誤(slave address, Modbus address, count, RW)
5 = Modbus/自由口未使能
6 = Modbus正在忙于其它請(qǐng)求
7 = 響應(yīng)錯(cuò)誤(響應(yīng)不是請(qǐng)求的操作)
8 = 響應(yīng)CRC校驗(yàn)和錯(cuò)誤
101 = 從站不支持請(qǐng)求的功能
102 = 從站不支持?jǐn)?shù)據(jù)地址
103 = 從站不支持此種數(shù)據(jù)類型
104 = 從站設(shè)備故障
105 = 從站接受了信息,但是響應(yīng)被延遲
106 = 從站忙,拒絕了該信息
107 = 從站拒絕了信息
108 = 從站存儲(chǔ)器奇偶錯(cuò)誤
2、程序中的QB0輸出的就是上述Error 錯(cuò)誤代碼:
、其中0是無(wú)錯(cuò)誤,那Q0.0與其他位都沒(méi)有輸出,即QB0為0(二進(jìn)制0000 0000)。
、Q0.2是一直為1,其他位為0,即為4(二進(jìn)制0000 0100),表示 請(qǐng)求參數(shù)錯(cuò)誤。
、Q0.1和Q0.2都有輸出,即為6(二進(jìn)制0000 0110),表示 Modbus正在忙于其它請(qǐng)求 。
3、常見(jiàn)的錯(cuò)誤:
如果多個(gè) MBUS_MSG 指令同時(shí)使能(激活)會(huì)造成 6 號(hào)錯(cuò)誤,一次只能激活一條MBUS_MSG指令 ;
從站 delay 參數(shù)設(shè)的時(shí)間過(guò)長(zhǎng)會(huì)造成主站 3 號(hào)錯(cuò)誤 ;
從站掉電或不運(yùn)行,網(wǎng)絡(luò)故障都會(huì)造成主站 3 號(hào)錯(cuò)誤 。