1. 項目基本信息
basic project information
石油化工、s7-400、et200m、cp341與第三方的設(shè)備做modbus通訊
2. 現(xiàn)場問題描述
the problem description
cp341做主站、第三方的設(shè)備做從站。但通訊沒有建立起來。
3. 現(xiàn)場問題分析
problem analysis
1、首先檢查cp341參數(shù)設(shè)置情況。選擇的是modbus主站模式。接收線的參數(shù)配置是否正確。
由于現(xiàn)場做的modbus是兩線的通訊方式,所以接收線對于modbus來說有兩種選擇。
根據(jù)rs-485的電氣特性:rs485總線上的數(shù)據(jù)的0、1狀態(tài)是根據(jù)ab的電壓差確定邏輯1:uab=+2v ~ +6v 邏輯0:uab= -2v ~ -6v 高阻狀態(tài):-2v~+2v。
通常情況下,發(fā)送驅(qū)動器a、b之間的正電平在+2~+6v,是一個邏輯狀態(tài),負電平在-2~6v,是另一個邏輯狀態(tài)。另有一個信號地c,在rs-485中還有一使能端,而在rs-422中這是可用可不用的。使能端是用于控制發(fā)送驅(qū)動器與傳輸線的切斷與連接。當使能端起作用時,發(fā)送驅(qū)動器處于高阻狀態(tài),稱作第三態(tài),即它是有別于邏輯1與0的第三態(tài)。
所以一般情況下我們選擇參數(shù)“signal r(a) 0 volt signal r(b) 5volt”方式。所以參數(shù)設(shè)置正常。
2、檢查rs485電纜,通訊只需要r(a)、r(b)兩根,通過萬用表測量電纜 接線正常。
3、使用pc和設(shè)備自帶軟件檢測設(shè)備的設(shè)置和通訊情況。通過設(shè)備自帶的設(shè)置軟件,以及rs485轉(zhuǎn)rs232的轉(zhuǎn)換器進行檢測??梢圆筛€到接收線上,再連接轉(zhuǎn)換器。
通過軟件可以顯示已經(jīng)找到的設(shè)備的地址,波特率、校驗位、停止位、數(shù)據(jù)位
通過軟件獲取通道中的數(shù)據(jù)正常。設(shè)備通訊設(shè)置是正常的。
4、在pc上通過以下工具軟件作為接收終端來接收從cp341來的modbus數(shù)據(jù)。
發(fā)現(xiàn)收的都是誤碼,檢查接收線沒有接錯。
這里我們需要了解一下modbus的數(shù)據(jù)幀結(jié)構(gòu):
所以做modbus通訊主站發(fā)出一個請求,從站收到后會給個應(yīng)答:
所以按照目前收到的代碼是不正確的。按照誤碼的情況分析,因該是接收線上存在干擾導(dǎo)致的。
按照rs485的要求需要2個終接電阻,其阻值要求等于傳輸電纜的特性阻抗。但在矩距離傳輸時可不需終接電阻,即一般在300米以下不需終接電阻。終接電阻接在傳輸總線的兩端。
現(xiàn)場的線路沒有加電阻,但距離只有30米,所以在允許的范圍內(nèi)。
5、再次檢查接收線,在15針的接頭上發(fā)現(xiàn)cp341接頭上有兩根短接線。
用戶告訴可能接線的員工看到我們的線路上內(nèi)部2—4、9—11之間是短接的所以就焊上去了。
4. 現(xiàn)場問題處理步驟
problem solving steps
將兩根短接線去掉。通訊便正常了。
5. 處理結(jié)果
the final result
分析產(chǎn)生誤碼的原因:此電路圖為內(nèi)部原理圖,用戶的錯理解,在外部額外增加的這兩根線導(dǎo)致信號在線路中反射后疊加從而產(chǎn)生誤碼。由于前期簡單詢問接線狀況后,沒有經(jīng)過二次拆線檢查,導(dǎo)致延長了解決問題時間。排查通信問題務(wù)必要保證從通信協(xié)議osi七層模型的最底層-物理層查起,然后再一層層排查。
并非多多益善,原理圖的工作我內(nèi)部完成了,外部的額外接線就免了吧,cp341喃喃地說。