本文介紹了地磅儀表與計算機、PLC 等通訊故障的原因及排除方法。
1概述
地磅使用中經(jīng)常需要與計算機、PLC和DCS系統通訊,以實(shí)現自動(dòng)控制、計算機管理等需求。地磅儀表的通訊也是經(jīng)常出故障的環(huán)節。本文就地磅儀表通訊中常用的RS232和RS485串行接口的通訊故障現象、原因及排除方法做了一些介紹,希望對地磅的安裝調試人員和使用維護人員有一些幫助。
2.通訊總線(xiàn)與通訊協(xié)議
按通訊接口的電氣特性,可分為RS-232和RS-485。稱(chēng)重儀表的RS-232接口通常是簡(jiǎn)化的版本,僅使用發(fā)送Tx D、接收Rx D兩根數據線(xiàn)和地線(xiàn)GND。RS-232采用不平衡傳輸方式,信號線(xiàn)對地-3V到-15V表示邏輯1,+3V到+18V表示邏輯0。不平衡傳輸方式的干擾抑制能力較差,容易受到共地噪聲和外部干擾的影響,一般用于低速、短距離的通訊,通訊距離≤15m。RS-485采用兩線(xiàn)平衡傳輸方式,一般稱(chēng)同相端為A,反相端為B。發(fā)送端當數據為1時(shí),A電平相對B電平為+2V~+6V,為0時(shí),A電平相對B電平為-2V~-6V;在接收端當A電平比B電平高于200m V時(shí),輸出為1,當A電平比B電平低于200m V時(shí),則輸出為0;信號線(xiàn)的共模電壓范圍為-7V~+12V。RS485 總線(xiàn)抗共模干擾能力較強,最大傳輸速率為 10Mbps,傳輸速率與傳輸距離成反比,在 100Kbps 的傳輸速率以下,可以達到 1200m 通信距離,如果需傳輸更長(cháng)的距離,需要加 485 中繼器。RS-485 總線(xiàn)一般最大支持 32 個(gè)節點(diǎn),如果使用特制的 485 芯片,可以達到 128個(gè)或者更多的節點(diǎn)。RS485 一般采用終端匹配的總線(xiàn)型結構,不要用環(huán)形或星形網(wǎng)絡(luò )。在傳輸率較高且通訊距離較長(cháng)時(shí)需要加終端電阻,防止反射造成誤碼。因為大多數雙絞線(xiàn)電纜特性阻抗大約在 100Ω~120Ω 之間,故終端電阻一般取 120Ω。
稱(chēng)重儀表通訊接口一般采用異步串行方式,有 4 個(gè)重要參數必須雙方一致:波特率、數據位個(gè)數、停止位個(gè)數和奇偶校驗。數據位一般為 7位或 8 位,停止位有 1 位、1.5 位或 2 位,奇偶校驗有無(wú)校驗、偶校驗、奇校驗或校驗位置 1、置 0等幾種方式。通訊接口的傳輸率一般有 300pbs、600pbs、1200pbs 直到數 Mpbs。
通訊協(xié)議就像通訊雙方交流的語(yǔ)言,必須雙方一致才能正確交流。許多稱(chēng)重儀表都有自己的通訊協(xié)議,所以必須按儀表生產(chǎn)廠(chǎng)規定的協(xié)議格式才能進(jìn)行通訊。為了保證數據傳輸正確,許多協(xié)議采用了校驗和,校驗和的計算方法和表示方法也各不相同,上位機通訊軟件編程時(shí)需要仔細推敲。
Modbus 協(xié)議是標準的通訊協(xié)議,采用 Modbus 協(xié)議的儀表,只要知道需要數據的地址即可讀取,可方便地與 PLC 或組態(tài)軟件通訊,組建自動(dòng)化控制系統。串口通信的 Modbus 協(xié)議分 RTU 模式和 ASCII 模式。RTU 是必備的模式,傳輸效率較高; ASCII 是可選的模式。使用組態(tài)軟件編程時(shí)要注意,許多組態(tài)軟件按照一些 PLC 廠(chǎng)商的習慣,將 Modbus 功能碼與變量地址結合起來(lái)作為變量的地址,例如西門(mén)子和莫迪康系列用 0dddd 表示輸出線(xiàn)圈,1dddd 表示輸入位寄存器,3dddd 表示輸入寄存器,4dddd 表示保持寄存器,dddd 表示地址,范圍按系統不同為 1~9999 或 1~65535,讀寫(xiě)時(shí)系統自動(dòng)選用相應的功能碼。中航電測和上海耀華的 C602、C606+ 等系列儀表的說(shuō)明書(shū)則按 GB/T19582.1 的方式定義變量的地址,變量地址從 0 開(kāi)始計算,因此使用組態(tài)軟件時(shí)要進(jìn)行相應的轉換。比如讀 C602 儀表整數表示的凈重,按 C602 說(shuō)明書(shū)為輸入寄存器 0 和保持寄存器 0,按西門(mén)子或莫迪康系列則為 30001 和 40001。另外變量的表示形式是整數還是浮點(diǎn)數,高低位的排列次序,變量的長(cháng)度等也要特別注意。C602 的數據是按高位字節、次高位、次低位、最低字節排列。
3.通訊故障常見(jiàn)原因
儀表通訊的調試是比較麻煩的事情,許多因素會(huì )影響正常的通訊功能。下面按安裝調試和使用的不同的階段分析可能的故障原因,為排除通訊故障提供一些思路。
3.1 在系統安裝與調試階段容易出現的故障原因有:
3.1.1接線(xiàn)錯誤
比如 RS232 通訊中,儀表的 TxD 要與上位機的 RxD 連接,儀表的 TxD 與上位機的 RxD 連接,儀表的 GND 與上位機的 GND 連接。常見(jiàn)的現象是一端 RxD 和 TxD 接反。
RS485 總線(xiàn)經(jīng)常出現的現象是 A、B 兩線(xiàn)接反。需要注意的是,有的廠(chǎng)家 A、B 的定義與通常的習慣不一致。比如 HBM 公司的 AD104 等數字模塊就是 A 為反向端,B 為同相端,與一般的習慣相反。有的儀表如耀華的 C602 等 RS485 采用四線(xiàn)制總線(xiàn),如果要接兩線(xiàn)制 RS485 總線(xiàn),要將儀表的 T+ 與 R+,T- 與 R- 端子分別短接,再與 A、B連接。雖然 RS485 采用兩線(xiàn)平衡的方式傳輸,理論上不需要連接地線(xiàn),但是如果共模電壓超出了規定的 -7V~+12V 范圍輕則會(huì )干擾通訊,重則會(huì )損壞接口器件。我們曾實(shí)測連接一臺使用開(kāi)關(guān)電源的儀表的接地線(xiàn)與一臺計算機接地線(xiàn)之間連線(xiàn)的電流,在接通儀表電源的瞬間,流過(guò)連接線(xiàn)電流的最大峰值會(huì )達到數安培。如果儀表與計算機通訊接口接地線(xiàn)沒(méi)有連接,這個(gè)電流將流過(guò)接口信號線(xiàn),極可能會(huì )損壞器件。
3.1.2 通訊協(xié)議不一致
如前所述,如果雙方的通訊協(xié)議不一致,是無(wú)法進(jìn)行有效的通訊的,在大多數情況下,哪怕是錯一個(gè)空格符都能造成通訊故障。有時(shí)一些與協(xié)議有關(guān)的隱性問(wèn)題也會(huì )影響通訊。曾遇到一個(gè)系統的通訊故障的原因是由于某型號的 PLC 在發(fā)出查詢(xún)命令后沒(méi)有及時(shí)釋放 RS485 總線(xiàn),而儀表響應時(shí)間太短,造成總線(xiàn)沖突、通訊失敗。后來(lái)修改了儀表通訊程序,延遲響應 PLC 的指令才正常通訊。
3.1.3連接方式不合適
RS485 要采用總線(xiàn)連接方式,即用一根雙絞線(xiàn)連接所有的設備。特別是當波特率較高、設備分散的情況,采用星型連接將使通訊非常不穩定,這時(shí)如果必須用星型連接的話(huà),要通過(guò) RS485 集線(xiàn)器連接。通訊距離較長(cháng)、通訊速率較高或干擾較大的場(chǎng)合,通訊線(xiàn)要選用專(zhuān)門(mén)的 RS485 電纜,兩端要加上終端電阻。如果是多線(xiàn)對的 RS485 電纜,一個(gè)總線(xiàn)一定要接同一對雙絞線(xiàn)。
3.1.4空閑時(shí)的總線(xiàn)狀態(tài)
RS485 總線(xiàn)如果沒(méi)有適當的上拉或下拉,會(huì )使總線(xiàn)電平在一個(gè)不確定或錯誤的狀態(tài),影響通訊的穩定性或不能通訊。在總線(xiàn)空閑狀態(tài),應確保信號線(xiàn) A 的電平高于 B 的電平,即邏輯電平處于“1”的狀態(tài)。
3.2在系統投產(chǎn)以后出現故障的常見(jiàn)原因
3.2.1 接口電路的故障
接口電路損壞的情況比較常見(jiàn),許多原因會(huì )損傷接口電路如靜電放電、帶電插拔接口的連接件、電源線(xiàn)上浪涌電流的沖擊、接口電路沒(méi)有連接地線(xiàn)等等。接口電路損壞是使用中通訊故障的主要原因。
3.2.2 線(xiàn)路故障
由于各種原因使通訊線(xiàn)路斷路、短路,接插件氧化、松動(dòng)造成接觸不良都會(huì )使通訊中斷。
3.2.3 設置錯誤
儀表或上位機的通訊設置被操作人員無(wú)意中錯誤修改,也是通訊故障的一個(gè)原因。
4.通訊故障的診斷與排除
有一些合適的工具對排除通訊故障會(huì )有很大的幫助。常用的工具有:萬(wàn)用表、示波器、通訊監控軟件、監控計算機等,最起碼也要有一塊萬(wàn)用表。
下面以 XK3190-C602 儀表為例,按故障診斷排查的次序介紹各種方法。
首先要檢查核對接線(xiàn)是否有錯誤,C602 有兩個(gè)通訊口,通訊口 1 是 RS232 接口,通訊口 2 是 RS232/RS485 共用,用主板上的跳線(xiàn)選擇通訊模式。出廠(chǎng)時(shí)為 RS232 模式,如果用 RS485 模式要將主板上的 JP4 跳線(xiàn)改在 RS485 的位置上。如果采用兩線(xiàn)制 RS485,接線(xiàn)時(shí)要將 R+、T+ 和 R-、 T- 分別短接。排除了接線(xiàn)錯誤才可以進(jìn)行下一步的調試工作。再次強調要特別注意 RS485 總線(xiàn)的地線(xiàn)是否接好。
在調試儀表與上位機通訊時(shí),調試時(shí)首先設置和檢查儀表波特率、數據位、停止位和校驗位等通訊參數,應與上位機的設置一致。如果上位機工作軟件通訊異常,可用串口調試軟件測試通訊接口。網(wǎng)絡(luò )上有許多免費的串口調試軟件可下載使用。如果上位機軟件是采用指令方式通訊而收不到儀表的應答,可先將儀表設置為連續發(fā)送模式。上位機能收到儀表的數據后再調試指令通訊方式。如果上位機軟件采用比較復雜的協(xié)議如Modbus 協(xié)議,可先把串口 2 設置為指令方式,將儀表地址設置為“1”,用串口調試軟件按十六進(jìn)制方式發(fā)送“02 41 41 30 30 03”即“握手”指令,上位機應能收到同樣的返回數據,即表示儀表與計算機的雙向通訊是正常的。如果收不到返回數據,將串口 1 關(guān)閉,看上位機發(fā)送時(shí)儀表“通訊”指示燈是否點(diǎn)亮,如果指示燈亮但沒(méi)有返回數據,可能是波特率、地址、校驗等通訊參數不對;如果“通訊”不亮,則可能是接線(xiàn)錯誤、接口損壞等原因。
如果通訊口 2 的 RS485 通訊不正常,可先用 RS232 方式測試,如果 RS232 方式通訊正常而 RS485 方式不正常,則檢查接線(xiàn)是否有問(wèn)題,主機側的 RS232/RS285 轉換器或 USB/RS485 轉換器是否正常。
不能通訊而目測找不到接線(xiàn)和設置錯誤,可以通過(guò)測量總線(xiàn)電壓來(lái)進(jìn)一步檢查。
檢測 RS232 接口,在總線(xiàn)空閑即儀表和上位機均未發(fā)送數據時(shí),用萬(wàn)用表直流電壓檔在儀表端子上測量 RS-232 接口 RxD、TxD 對 GND 端子的直流電壓,正常情況兩線(xiàn)的電壓在 -5V~-10V之間。如果 RxD 電壓接近 0V,即表示該線(xiàn)沒(méi)有與上位機 RS-232 發(fā)送端連接,可能是兩線(xiàn)接反、線(xiàn)路短路或斷路。如果 TxD 電壓接近 0V,將線(xiàn)路斷開(kāi)再測量電壓,如果仍接近 0V,是儀表接口損壞,如果電壓恢復正常了,則是線(xiàn)路短路。兩線(xiàn)電壓正常但不能通訊,將儀表設置為連續發(fā)送狀態(tài),用萬(wàn)用表交流電壓檔測量 TxD 端子與 GND 端子的電壓,應有幾百 mV 到幾 V 的電壓。如果有交流電壓而上位機沒(méi)有收到數據,檢查上位機串口的設置是否正確。如果沒(méi)有交流電壓,檢查儀表串口的設置是否正確。
檢測 RS485 接口,在總線(xiàn)空閑時(shí)用萬(wàn)用表直流電壓檔在儀表端子上測量 T+、T- 之間的電壓,沒(méi)有加總線(xiàn)終端電阻時(shí)電壓應在 3V 以上。如果是四線(xiàn)制接法,還要測量 R+、R- 之間的電壓。如果電壓為 0V 左右,可以加適當的上拉電阻。C602主板上 JP3 跳線(xiàn) 1~2、5~6 之間短接為接收端上下拉電阻有效,3~4 短接為 120Ω 終端電阻有效。電壓正常但不能通訊時(shí),將儀表設置為連續發(fā)送狀態(tài),用萬(wàn)用表交流電壓檔測量 T+、T- 之間的電壓,應有幾百 mV 以上的電壓。如果有交流電壓而上位機沒(méi)有收到數據,檢查上位機串口的設置是否正確,RS485 轉換器是否失效。檢測接收電路可參照上述 RS232 的方法,看通訊指示燈是否點(diǎn)亮來(lái)判斷是否收到上位機數據。
可用萬(wàn)用表測量通訊接口端子對地線(xiàn)端子的電阻大致判斷接口電路是否損壞。用數字萬(wàn)用表測量正常的 RS232 接口端子和沒(méi)有上下拉電阻的 RS485 接口端子對地的電阻大于兆歐級,如果某接口電阻異常小,只有數千歐甚至更低,則該接口已經(jīng)損壞。
有時(shí)復雜的通訊故障需要用示波器等儀器檢測,可以方便地發(fā)現總線(xiàn)沖突、接口電路性能下降等較軟的故障。特別是有的示波器有協(xié)議分析的功能,更方便檢測軟件方面的故障。
用串口調試軟件可以通訊但用上位機軟件不能正常通訊,可咨詢(xún)軟件供應商解決。調試應用軟 件 與 儀 表 的 通 訊 時(shí) 可 以 用 CommMonitor、Comsky、AccessPort 等串口監控工具軟件采集應用軟件如與儀表串口的通訊數據,協(xié)助分析故障的原因。
調試 PLC 與稱(chēng)重儀表的通訊時(shí)可參考上述方法,也可以用一臺監控計算機采集 PLC 與儀表之間的通訊數據,分析通訊故障原因。