leonhuang
級(jí)別: 略有小成
|
描述:通訊讀寫格式
圖片:
描述:儀表設(shè)定
圖片:
描述:儀表通訊方式設(shè)定
圖片:
描述:儀表數(shù)據(jù)存取地址
圖片:
描述:編寫的程序1
圖片:
描述:編寫的程序2
圖片: 不懂通訊的菜鳥,請(qǐng)各位大佬教教我。 通訊格式我看了些資料,有基本的認(rèn)識(shí)。但是在編寫程序的過程中有一些不懂。 一、就編寫程序是用8位還是16位即M8161的選擇。因?yàn)槲襎3儀表(圖片:儀表數(shù)據(jù)存取地址,功能地址40005,毛重;占兩個(gè)寄存器、32位,4字節(jié)有符號(hào)只讀)的寄存器是否影響位數(shù)與RS指令的編寫? 二:編寫數(shù)據(jù)格式,{RS D0 Kn D30 Kn},Kn的個(gè)數(shù)如何確定。如[MOV H1 D0] [MOV H3 D1] [MOV H5 D2] [MOV H2 D3] [MOV H核驗(yàn)碼? D4] 那這樣是不是就5個(gè)。8位與16位數(shù)據(jù)格式,地址碼到校驗(yàn)碼個(gè)數(shù)是否不一樣? 三、8位和16位的格式,D0(b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0),8位是處理b0-b7;16位是處理b0-b15。 8位的編寫:[MOV H1 D0] [MOV H3 D1] [MOV H5 D2] [MOV H2 D3] 在第一點(diǎn)中說的功能地址0005占兩個(gè)寄存器、共4個(gè)字節(jié)、32位;那數(shù)據(jù)個(gè)數(shù)這樣編寫是不是就有問題了? 16位的編寫:[MOV H1 D0] [MOV H3 D1] [MOV H5 D2] [MOV H2 D3] 三、CRC校驗(yàn)如何編寫,我這個(gè)程序的CRC校驗(yàn)碼是什么? 四、回傳數(shù)據(jù)的處理。回傳回來(lái)的數(shù)據(jù)是放在D33、D34中,還是D33、D34、D35、D36中?[MOV D30 D50 K10 ] 如果是16位處理,那數(shù)據(jù)是放在D53與D54,那程序:[MOV D54 K4M10] [MOV D53 K4M26] [MOV K4M10 D100]最終數(shù)據(jù)存在D100、D101中? 這樣的理解是不是有問題? [ 此帖被leonhuang在2019-07-04 14:06重新編輯 ] |
---|---|
|
tingfenghu
級(jí)別: 工控俠客
|
首先你用個(gè)USB轉(zhuǎn)485, 串口助手發(fā)送相應(yīng)報(bào)文,看儀表返回的報(bào)文是否正確, Modbus地址各家并沒有統(tǒng)一,有些需要偏移一位,如40001,實(shí)際地址,是00H,00H,而有些是00H,01H, 直至返回報(bào)文數(shù)據(jù)正解, 用串口助手接收FX3U-485BD的發(fā)出報(bào)文, 是否是與上面串口助手發(fā)出的相同 檢查報(bào)文是否正解?程序作相對(duì)的調(diào)整. |
|
---|---|---|
|
tingfenghu
級(jí)別: 工控俠客
|
首選確認(rèn)你的232轉(zhuǎn)485正常, 一般采用串口助手,比較靈活。 可以參考我之前做過測(cè)試 http://yaoyaoke.com.cn/read-gktid-1658651.html 文檔有整個(gè)測(cè)試過程。 |
|
---|---|---|
|