|
leonhuang
級別: 略有小成
|
描述:通訊讀寫格式
圖片:
描述:儀表設(shè)定
圖片:
描述:儀表通訊方式設(shè)定
圖片:
描述:儀表數(shù)據(jù)存取地址
圖片:
描述:編寫的程序1
圖片:
描述:編寫的程序2
圖片:
不懂通訊的菜鳥,請各位大佬教教我。 通訊格式我看了些資料,有基本的認識。但是在編寫程序的過程中有一些不懂。 一、就編寫程序是用8位還是16位即M8161的選擇。因為我T3儀表(圖片:儀表數(shù)據(jù)存取地址,功能地址40005,毛重;占兩個寄存器、32位,4字節(jié)有符號只讀)的寄存器是否影響位數(shù)與RS指令的編寫? 二:編寫數(shù)據(jù)格式,{RS D0 Kn D30 Kn},Kn的個數(shù)如何確定。如[MOV H1 D0] [MOV H3 D1] [MOV H5 D2] [MOV H2 D3] [MOV H核驗碼? D4] 那這樣是不是就5個。8位與16位數(shù)據(jù)格式,地址碼到校驗碼個數(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] 在第一點中說的功能地址0005占兩個寄存器、共4個字節(jié)、32位;那數(shù)據(jù)個數(shù)這樣編寫是不是就有問題了? 16位的編寫:[MOV H1 D0] [MOV H3 D1] [MOV H5 D2] [MOV H2 D3] 三、CRC校驗如何編寫,我這個程序的CRC校驗碼是什么? 四、回傳數(shù)據(jù)的處理。回傳回來的數(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重新編輯 ] |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
DS822-T3重量變送器PDF |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
我看了寫的關(guān)于FX3U使用FX3U_485_BD與臺達變頻器通訊的實例。其中FX3U-MODBUS-RTU-TEST的程序里有CRC校驗的相關(guān)程序,學習了,若有問題再請教 大俠 ![]() |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
自已寫的程序,請大俠看一下哪兒有問題 ![]() |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
嗯,我看了你的例子。有幾個問題還是想不明白: 1、站號,讀命令這都好理解。讀存儲器40005+40006=4個字節(jié)32位;按您說的是讀05和06存儲器,M0V H5 D212高位、MOV H6 D213低位,而不是只寫一個存儲器0005?(MOV H0 D212;MOV H5 D213) 2、功能地址05,06前面都 已經(jīng)寫好了,那接下來寫讀取數(shù)據(jù)的個數(shù)就好了,那為什么還有一個MOV H0 D214數(shù)據(jù)處理的起始存儲器?而不是直接寫個數(shù),MOV H4 D214 ?我們用的是M8161,處理8位,那05與06是2個字4個字節(jié)32位,那就用H4? 3、傳回來的數(shù)據(jù)處理,從第幾個數(shù)據(jù)開始?從D153開始?我在PLC的軟元件/緩沖存儲器監(jiān)視里看,數(shù)據(jù)D153-D162都是b0-b7在動作,b8-bF都是0,那這說明M8161在起做用。而且傳回來的數(shù)據(jù)D153-D162的b0-b7每個位都循環(huán)動作,按說我的儀表顯示是0,那相對應的數(shù)據(jù)里b0-b7連續(xù)四個字節(jié)就應都是0,沒有1才對的?(回頭我拍一點視頻看一下) 4、我的儀表總壓力為10000公斤,最小為1公斤,不需要浮點處理。只要數(shù)據(jù)轉(zhuǎn)換成十進制的為就可以了 [ 此帖被leonhuang在2019-07-10 13:12重新編輯 ] |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
我沒有USB轉(zhuǎn)485的串口,可以用232連接電腦,232轉(zhuǎn)485的串口?測試是用電腦MOSDCAN發(fā)與PLC通訊,還是用電腦與我的儀表做測試? |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
圖片:
圖片:
圖片:
圖片:
我用232轉(zhuǎn)485與儀表測試,顯示TIME-OUT。我檢查了一下儀表參數(shù)設(shè)定F06=10(RTU,8位,1偶,1停止);F07=0(地址);F08=9600(波特率)沒有錯啊!?再與MODSCAN的設(shè)定核對了一下。485A與485B的對連線也對調(diào)過~~不知道問題出在哪里了!請大神幫忙分析 一下 |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
圖片:
通訊端口的設(shè)置已經(jīng)改為,RTU,8位數(shù)據(jù),無校驗,2位停止;地址01,9600波特率 這個通訊有沒有問題?RESPONSES是回傳數(shù)嗎?這個是0,說明通訊還是有問題對嗎? 發(fā)送的信息01.03.00.00.00.08.44.0c 回傳信息(不固定)如:c0.00.00.00.00.00.00.d0.f2.fe.ff.7f.00.00.00.00.00.00.f4.7f.00共21位 77.00.00.00.00.00.00.20.00.00.03.00.20.00.00.02.00.40.00.80.07共21位 從這些數(shù)據(jù)可以看出什么信息? [ 此帖被leonhuang在2019-07-12 12:07重新編輯 ] |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
圖片:
圖片:
圖片:
圖片:
圖片:
描述:485通訊接好儀表P16
圖片:
我核對了一下,參數(shù)都沒有錯啊,MODSCAN的設(shè)置9600、8N2;儀表設(shè)置9600、8N2;儀表的485接線正常P16會顯示cc-2。我發(fā)一些圖片,看還有什么地方有問題的? |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
圖片:
我把兩根485的線在儀表這邊對調(diào)了一下,通訊回傳的數(shù)據(jù)就都變成252,P16就不會顯示cc-2了 |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
按你的方法測試了一下:1、通訊時電壓有變化;2、斷開后D+/A與D-/B之間有4.15V的電壓。是不是說明232轉(zhuǎn)485的串口沒有問題?問題出在儀表這邊? |
|---|---|
|
|
|
leonhuang
級別: 略有小成
|
圖片:
圖片:
1、廠家又發(fā)了一個T3的儀表來,通訊測試串口調(diào)試工具頁面還有紅色英文字母,就是回傳的數(shù)據(jù)出錯或者回傳的數(shù)據(jù)不對。我都在懷疑是不是我的串口232轉(zhuǎn)485是壞的。 2、用PLC與儀表直連,但接線后儀表 的P16參數(shù)沒有顯示cc-2。但用串口直接與儀表接P16就會顯示cc-2。 3、FX3U-485-BD與儀表連接,485BD有個330與110歐電阻要設(shè)置,按兩根線的接法,485BD這頭要用110歐電阻,可T3儀表只有485A和485B無法接電阻!?那儀表這端就可以不接電阻了? |
|---|---|
|
|