leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
樓主  發(fā)表于: 2019-07-04 11:27
描述:通訊讀寫格式
圖片:
描述:儀表設定
圖片:
描述:儀表通訊方式設定
圖片:
描述:儀表數據存取地址
圖片:
描述:編寫的程序1
圖片:
描述:編寫的程序2
圖片:
不懂通訊的菜鳥,請各位大佬教教我。
通訊格式我看了些資料,有基本的認識。但是在編寫程序的過程中有一些不懂。
一、就編寫程序是用8位還是16位即M8161的選擇。因為我T3儀表(圖片:儀表數據存取地址,功能地址40005,毛重;占兩個寄存器、32位,4字節(jié)有符號只讀)的寄存器是否影響位數與RS指令的編寫?
二:編寫數據格式,{RS D0 Kn D30 Kn},Kn的個數如何確定。如[MOV H1 D0]   [MOV H3 D1]   [MOV H5 D2]   [MOV H2 D3]    [MOV H核驗碼? D4] 那這樣是不是就5個。8位與16位數據格式,地址碼到校驗碼個數是否不一樣?
三、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位;那數據個數這樣編寫是不是就有問題了?    16位的編寫:[MOV H1 D0]   [MOV H3 D1]   [MOV H5 D2]   [MOV H2 D3]
三、CRC校驗如何編寫,我這個程序的CRC校驗碼是什么?
四、回傳數據的處理;貍骰貋淼臄祿欠旁贒33、D34中,還是D33、D34、D35、D36中?[MOV D30 D50 K10 ] 如果是16位處理,那數據是放在D53與D54,那程序:[MOV D54 K4M10]   [MOV D53 K4M26]    [MOV K4M10 D100]最終數據存在D100、D101中?    這樣的理解是不是有問題?
[ 此帖被leonhuang在2019-07-04 14:06重新編輯 ]
anlyl2014
大吉大利
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 982 個
工控威望: 8884 點
下載積分: 10272 分
在線時間: 926(小時)
注冊時間: 2014-05-23
最后登錄: 2024-12-23
查看anlyl2014的 主題 / 回貼
1樓  發(fā)表于: 2019-07-04 13:44
你可以參考我發(fā)的例子,
你有PDF格式的壓力表手冊的話,就傳上來看看,貼圖看不清楚
活到老,學到老!
微信號:anjjyy2013
添加時注明來自工控人家園
壓縮包用WINRAR打開,沒密碼
leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
2樓  發(fā)表于: 2019-07-04 14:54
DS822-T3重量變送器PDF
描述:DS822-T3重量變送器
附件: 重量變送器.pdf (2479 K) 下載次數:179
網站提示: 請不要用迅雷下載附件,容易出錯
leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
3樓  發(fā)表于: 2019-07-04 15:04
我看了寫的關于FX3U使用FX3U_485_BD與臺達變頻器通訊的實例。其中FX3U-MODBUS-RTU-TEST的程序里有CRC校驗的相關程序,學習了,若有問題再請教 大俠
leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
4樓  發(fā)表于: 2019-07-04 15:13
自已寫的程序,請大俠看一下哪兒有問題
附件: 與T3儀表FX3U-MODBUS RTU.zip (175 K) 下載次數:183
網站提示: 請不要用迅雷下載附件,容易出錯
anlyl2014
大吉大利
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 982 個
工控威望: 8884 點
下載積分: 10272 分
在線時間: 926(小時)
注冊時間: 2014-05-23
最后登錄: 2024-12-23
查看anlyl2014的 主題 / 回貼
5樓  發(fā)表于: 2019-07-06 14:30
如果你用的是FX3U就照著我的例子做,FX3U有CRC指令,程序相對簡單
http://melville4.com/job-gkaction-download-pid-tpc-tid-1666109-aid-232721.html
活到老,學到老!
微信號:anjjyy2013
添加時注明來自工控人家園
壓縮包用WINRAR打開,沒密碼
anlyl2014
大吉大利
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 982 個
工控威望: 8884 點
下載積分: 10272 分
在線時間: 926(小時)
注冊時間: 2014-05-23
最后登錄: 2024-12-23
查看anlyl2014的 主題 / 回貼
6樓  發(fā)表于: 2019-07-06 14:44
注意一項:
1.通訊方式設為12;跟例子一模一樣了;
2.看你的手冊,40001和40002是凈重;在PLC程序的地址是:H0/H1;可以讀連續(xù)2個數的形式讀出再合并成32位數;
3.同理,40005和40006是毛重;在PLC程序的地址是:H4/H5
4.你先用MODSCAN32軟件,驗證你的變送器設置的通訊格式、接線對不對,是否能讀出數據,這步很重要,如能讀出,說明設定沒問題,MODSCAN32軟件網站 有人發(fā)過可下;
5.例子是與4個從站通訊,若只讀一個站,程序修改一下,只掃描1個站即可。
活到老,學到老!
微信號:anjjyy2013
添加時注明來自工控人家園
壓縮包用WINRAR打開,沒密碼
leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
7樓  發(fā)表于: 2019-07-10 11:35
引用
引用第6樓anlyl2014于2019-07-06 14:44發(fā)表的  :
注意一項:
1.通訊方式設為12;跟例子一模一樣了;
2.看你的手冊,40001和40002是凈重;在PLC程序的地址是:H0/H1;可以讀連續(xù)2個數的形式讀出再合并成32位數;
3.同理,40005和40006是毛重;在PLC程序的地址是:H4/H5
4.你先用MODSCAN32軟件,驗證你的變送器設置的通訊格式、接線對不對,是否能讀出數據,這步很重要,如能讀出,說明設定沒問題,MODSCAN32軟件網站 有人發(fā)過可下;
.......

嗯,我看了你的例子。有幾個問題還是想不明白:
1、站號,讀命令這都好理解。讀存儲器40005+40006=4個字節(jié)32位;按您說的是讀05和06存儲器,M0V H5 D212高位、MOV H6 D213低位,而不是只寫一個存儲器0005?(MOV H0 D212;MOV H5 D213)
2、功能地址05,06前面都 已經寫好了,那接下來寫讀取數據的個數就好了,那為什么還有一個MOV H0 D214數據處理的起始存儲器?而不是直接寫個數,MOV H4 D214 ?我們用的是M8161,處理8位,那05與06是2個字4個字節(jié)32位,那就用H4?
3、傳回來的數據處理,從第幾個數據開始?從D153開始?我在PLC的軟元件/緩沖存儲器監(jiān)視里看,數據D153-D162都是b0-b7在動作,b8-bF都是0,那這說明M8161在起做用。而且傳回來的數據D153-D162的b0-b7每個位都循環(huán)動作,按說我的儀表顯示是0,那相對應的數據里b0-b7連續(xù)四個字節(jié)就應都是0,沒有1才對的?(回頭我拍一點視頻看一下)
4、我的儀表總壓力為10000公斤,最小為1公斤,不需要浮點處理。只要數據轉換成十進制的為就可以了
[ 此帖被leonhuang在2019-07-10 13:12重新編輯 ]
tingfenghu
級別: 工控俠客

精華主題: 0
發(fā)帖數量: 2846 個
工控威望: 3618 點
下載積分: 3519 分
在線時間: 3810(小時)
注冊時間: 2007-11-04
最后登錄: 2024-12-22
查看tingfenghu的 主題 / 回貼
8樓  發(fā)表于: 2019-07-10 11:56
首先你用個USB轉485,
串口助手發(fā)送相應報文,看儀表返回的報文是否正確,
Modbus地址各家并沒有統一,有些需要偏移一位,如40001,實際地址,是00H,00H,而有些是00H,01H,
直至返回報文數據正解,

用串口助手接收FX3U-485BD的發(fā)出報文,
是否是與上面串口助手發(fā)出的相同
檢查報文是否正解?程序作相對的調整.
二手PLC,觸摸屏,伺服驅動,各類氣動設備
http://shop58129605.taobao.com/
anlyl2014
大吉大利
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 982 個
工控威望: 8884 點
下載積分: 10272 分
在線時間: 926(小時)
注冊時間: 2014-05-23
最后登錄: 2024-12-23
查看anlyl2014的 主題 / 回貼
9樓  發(fā)表于: 2019-07-10 13:27
1、站號,讀命令這都好理解。讀存儲器40005+40006=4個字節(jié)32位;按您說的是讀05和06存儲器,M0V H5 D212高位、MOV H6 D213低位,而不是只寫一個存儲器0005?(MOV H0 D212;MOV H5 D213)
=====你這里有問題,我沒實物,你必須動手驗證;通常,40005,在軟件里是4+40001的,你要自己驗證,樓上說的沒錯,每一家商廠都不一定相同;還有,讀命令03,可以讀連續(xù)多個寄存器,例如,要讀H4和H5這2個的數值,就這樣寫:01 03  00 04 00 02后面是CRC
活到老,學到老!
微信號:anjjyy2013
添加時注明來自工控人家園
壓縮包用WINRAR打開,沒密碼
leonhuang
級別: 略有小成
精華主題: 0
發(fā)帖數量: 59 個
工控威望: 202 點
下載積分: 3933 分
在線時間: 37(小時)
注冊時間: 2013-06-27
最后登錄: 2023-11-09
查看leonhuang的 主題 / 回貼
10樓  發(fā)表于: 2019-07-10 15:40
引用
引用第8樓tingfenghu于2019-07-10 11:56發(fā)表的  :
首先你用個USB轉485,
串口助手發(fā)送相應報文,看儀表返回的報文是否正確,
Modbus地址各家并沒有統一,有些需要偏移一位,如40001,實際地址,是00H,00H,而有些是00H,01H,
直至返回報文數據正解,

.......

我沒有USB轉485的串口,可以用232連接電腦,232轉485的串口?測試是用電腦MOSDCAN發(fā)與PLC通訊,還是用電腦與我的儀表做測試?
anlyl2014
大吉大利
級別: 網絡英雄
精華主題: 0
發(fā)帖數量: 982 個
工控威望: 8884 點
下載積分: 10272 分
在線時間: 926(小時)
注冊時間: 2014-05-23
最后登錄: 2024-12-23
查看anlyl2014的 主題 / 回貼
11樓  發(fā)表于: 2019-07-10 16:25
是的,你還要一個RS232轉RS485的東東,淘寶有賣的,幾十塊一個;然后,用電腦MOSDCAN32直接與儀表通訊
如果這邊都可以了,再寫PLC程序,就簡單得多了,就不有考濾儀表這邊的事情.
活到老,學到老!
微信號:anjjyy2013
添加時注明來自工控人家園
壓縮包用WINRAR打開,沒密碼