1、硬件問題——接線錯誤造成的無法連接、無數據返回、返回數據錯亂等。需要注意,請務必將未使用的接線用絕緣膠布單獨包好,以防造成干擾。
2、針對modbus-rtu命令,地址錯誤。
3、軟件設置錯誤導致沒有數據返回或返回數據錯亂。
4、正確有效的數據返回后,由于客戶對數據處理有誤而造成的讀取數據與水表實際參數不同。
針對第1、2、3情況,這里提供查看通訊是否正常工作的方法:
a.電腦帶485接口線,單獨連接水表的485,通過串口助手發送01 03 00 00 00 02 C4 0B;水表返回數據01 03 04 00 00 00 00 FA 33。此時瞬時流量為0 。
b.或者發送字符:ESN 會返回水表的序列號。
以上均可驗證水表通訊是正常工作的。
很多客戶說所采集到數據和顯示值及運算值不一樣,從而認為表是壞的,其實是因為客戶沒能把讀取到的數據換算正確,這里針對這種客戶不能有效解析所讀取數據的情況做以下分析:
常用有以下兩種數據類型:
整形數據 :正累積流量,負累計流量,正累計熱量等。
Long數據有32位,存在4個字節中。
單精度數據:瞬時流量,瞬時熱量等。
REAL4數據有32位,存在4個字節中。
在此著重說明兩個問題:
一:數據發送順序。水表默認先發低字節,后發高字節。那么客戶接受的順序就是先收低字節,后收高字節。按照接受順序顯示的話一定是錯誤的。所以客戶要把收到的字節前后(高低位)順序調換一下。
二:modbus地址問題。資料給的modbus地址是按照國際規定執行的。從40001開始,十進制表示。但是我們水表內部地址從0000開始,十六進制表示。所以要求客戶將資料中的寄存器地址換算為16進制后減一再運算。訪問運算后的地址就能得到正確的數據。
查詢修改modbus地址方法:使用V51setup軟件。或者發送字符命令MBUSADD? (發送新行/回車、換行)命令為查詢地址,發送字符命令MBUSADD=1 (發送新行/回車、換行)命令為設置地址為1(默認地址為1,廣播地址FF).
三、以下的例子我們只取兩種代表性的數據:瞬時流量和正累計流量。
1.瞬時流量 real4數據處理。
通過串口調試助手發送Simulation Mode Timer=3600 ,讓表頭進入模擬運行。這個時候顯示流量為36.00 。(此處是因表沒有安裝在管道上處于實驗室狀態或已安裝但實際沒有流量,或是空管狀態,若表已安裝且實際有瞬時流量請忽略此步驟)
瞬時流量存放在0001和0002寄存器,單片機(表內部地址)地址為0000和0001 。
使用串口調試助手發送:
01 03 00 00 00 02 C4 0B
收到01 03 04 00 00 42 10 CB 5F
有效數據是00 00 42 10。
使用modscan軟件收到
在40001寄存器里面是:0000
在40002寄存器里面是:4210
數據一致,需要注意的是:4210是高字節的數據,0000是低字節的數據。
用戶必須調整高低位數據為42100000 。通過后續的轉換將單精度32位數據42100000顯示為十進制小數就是36.00 。
不提供單精度轉換程序,請客戶自行處理。
2、讀取正累積流量
內部累積量使用了長整數和小數組合的方式。在一般使用時,用戶只需要讀出長整數部分即可,小數部分可以忽略。
假設 N 表示是長整數的值 (例如對于正累積流量,REG 0009, 0010 中的 32 比特數值是一個長整數)
Nf 表示小數部分 (例如對于正累積流量,REG 0011, 0012 中的 32 比特浮點數)
n 表示小數點位置 (例如對于累積流量,REG 1439).
那么最終的總累積流量 = ( N + Nf ) ×10n-3
以上詳見通訊協議(下載)
3、通過一個例子具體說明
此通訊演示軟件可下載
以下是PLC的一個例子
客戶讀出的數據,找不到對應關系了,仔細觀察一下。客戶的寄存器是8位的,我們的水表是16位的。客戶犯錯的原因是把8位寄存器的地址安裝到16位地址上了。水表通訊資料里面的REG09、REG10寄存器放的是正累積流量。客戶就把上面列表的7008 ,7010單元的數值作為正累積量,但是怎么也對不上。那到底應該是哪個呢?我們水表的REG 09寄存器的數值是16位的,根據減一(上文第二項所述)的原則放在客戶的7016里了,由此可見,REG10寄存器的16位數據是存放在7018里。
根據我們水表的協議規則,高地位轉化后的數據是7018在前7016在后。完整的32位數據是
0000 0000 0100 1010 1101 0010 0111 1110
四、在修改參數的時候,會出現 #010通訊不上等問題時候,可能存在的原因:
1、數據線沒有連接好。
2、數據線連接錯誤,AB接反。
3、數據線不符合連接要求,需要屏蔽雙絞的好線。
4、通訊協議不搭配。
5、通訊設置不一致,波特率,數據位,校驗位等。
五、現場數據通訊出現躍變,數據不穩定的情況分析如下:
客戶現場的設備供電一般不存在地線結構,很多情況下只有火線和零線兩根線供電。普通情況下現場的電壓轉換為AC220V-DC24V。
無論是開關電源模式還是線性電源模式都是經過變壓器轉換,變壓器進行電源隔離,濾除高頻諧波,減小干擾。
客戶絕大多數情況下不會將DC24V接地,而是將DC24V懸浮使用,在這種情況下,DC24V設備和我們的水表通訊的時候就會出現各種干擾,比如數據的突變,參數的自動改變等。這些問題大都是沒有接地引起的,希望客戶將DC24V的負端接地使用。
如果客戶現場不能提供接地線,如下處理:
用戶設備和水表用屏蔽雙絞線連接,雙絞線連接彼此的485A和485B。屏蔽層一端接客戶的DC24V-,另外一端屏蔽層連接現場的法蘭。
關于V51版選型說明:
1)4~20mA 不能與DC8~30V同時使用(注意是8~30V不是36)
2)4~20mA 不能與485同時使用
3)4~20mA 不能與TTL-USART(TXD/RXD)同時使用
4)4~20mA 不能與C1/C2同時使用
5)4~20mA 不能與M-BUS同時使用(硬件已經測試通過,但未經客戶嘗試)
6)選擇OCT后必須選擇DC8~30V供電或4~20mA(可作為供電使用也可以作為電流傳輸使用)
7)OTC為光耦隔離輸出,最高耐壓36V最大驅動電流50mA
以上我們是不建議客戶使用4-20mA輸出的,如果執意要4-20mA輸出,請配合隔離器使用。
-
數據采集
+關注
關注
39文章
6245瀏覽量
113921 -
儀表通訊
+關注
關注
1文章
5瀏覽量
1588
原文標題:儀表通訊問題相關分析
文章出處:【微信號:gongkongworld,微信公眾號:工控資料窩】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論