基于RS-485總線(xiàn)的分布式故障診斷系統
在自動(dòng)化領(lǐng)域,隨著(zhù)分布式控制系統的發(fā)展,迫切需要一種總線(xiàn)能適合遠距離的數字通信。在rs-422標準的基礎上,eia研究出了一種支持多節點(diǎn)、遠距離和接收高靈敏度的rs-485總線(xiàn)標準。
本文引用地址:http://dyxdggzs.com/article/201612/329453.htmrs-485收發(fā)器采用平衡發(fā)送和差分接收,即在發(fā)送端,驅動(dòng)器將ttl電平信號轉換成差分信號輸出;在接收端,接收器將差分信號轉換成ttl電平,因此具有抑制共模干擾的能力,加上接收器具有高的靈敏度,能檢測低達200mv的電壓,使傳輸信號能在千米以外得到恢復。根據rs-485標準,rs-485 收發(fā)器的最大傳輸速率為10mbps,最大電纜長(cháng)度為4000英尺,總線(xiàn)上能連接32個(gè)收發(fā)器(sipex公司的sp485r允許在一條總線(xiàn)上連接400 個(gè)收發(fā)器),廣泛適用于遠距離、多站式、分時(shí)通訊系統。在要求通信距離為幾十米到上千米時(shí),由于rs-485總線(xiàn)僅需用一對雙絞線(xiàn)即可實(shí)現多站聯(lián)網(wǎng)構成分布式系統,且設備簡(jiǎn)單、價(jià)格低廉,使得eia rs-485成為工業(yè)應用中數據傳輸的首選標準。
當前自動(dòng)控制系統中常用的網(wǎng)絡(luò ),如現場(chǎng)總線(xiàn)can、profibus、interbus-s、cc-link以及arcnet的物理層都是基于rs- 485標準的。
2 系統方案
本系統應用于某汽車(chē)噴涂生產(chǎn)線(xiàn),生產(chǎn)線(xiàn)控制系統按照工藝分布劃分為5個(gè)區,分別由5臺三菱q系列plc控制,plc間以三菱melsecnet/h數據鏈路聯(lián)網(wǎng)。在整個(gè)車(chē)間內5個(gè)控制區內,分別又被細分為數個(gè)子區域,累計共有73個(gè)子區,每1個(gè)子區設1個(gè)操作站。操作站的主要功能是對本子區內的設備運行狀況進(jìn)行監測,當有故障發(fā)生時(shí),應有詳細的故障診斷信息。方案要求簡(jiǎn)示如圖1。

圖1 系統方案簡(jiǎn)示
通過(guò)對方案要求的仔細分析,綜合比較計算機終端和工業(yè)觸摸屏等常用的操作界面設備,最終決定采用一種帶rs485通訊功能的漢字顯示設備dp210,這種顯示設備帶有專(zhuān)有通訊協(xié)議,外部指令可與其進(jìn)行通訊讀取或改變其內部寄存器的值,從而改變顯示屏上與該寄存器鏈接的文字內容。這樣硬件方案基本確定,每臺 plc端增加串口通訊模塊qj71c24來(lái)進(jìn)行rs485串行通訊,每個(gè)操作站配備一臺上述漢顯示設備,用以動(dòng)態(tài)顯示設備狀態(tài)信息。
2.1 dp210簡(jiǎn)介
dp210是一種適用于簡(jiǎn)單用戶(hù)界面的終端操作設備,內部帶有128個(gè)字寄存器,它可以顯示中英文字符或數字,并有簡(jiǎn)單圖形顯示功能。
dp210內置有rs422通訊功能,可作為從站以專(zhuān)有通訊協(xié)議與外部智能設備進(jìn)行通訊,在通訊過(guò)程中,外部設備通過(guò)專(zhuān)門(mén)指令可改變其內部任意字寄存器的值,從而改變屏上的顯示內容,實(shí)時(shí)顯示現場(chǎng)設備信息。
(1) dp210通訊協(xié)議
外部設備可通過(guò)串行通訊讀取或改變dp210內部的128個(gè)字寄存器的值,通訊過(guò)程中,plc充當主站(master),dp210充當從站 (slaver),主站發(fā)起通訊,向從站發(fā)送讀/寫(xiě)指令,從站在正確接收到該指令后,將根據指令要求返回一幀確認信息。
協(xié)議采用二進(jìn)制通訊方式,格式如下所述:
讀指令(讀dp210內部字寄存器的值)
plc端發(fā)送幀:node no. `r` address length sum
dp210端返回幀:
node no. status address length data sum
寫(xiě)指令(寫(xiě)dp210內部字寄存器的值)
plc端發(fā)送幀:
node no. `w` address length data sum
dp210端返回幀:
node no. status sum
node no. : dp210顯示器站號,范圍1-255
command : `r`/`w` 分別用來(lái)區分讀/寫(xiě)寄存器,在通訊幀中用16進(jìn)制數52h或57h表示
address : 要讀寫(xiě)的寄存器(mw)開(kāi)始地址號(0-127)
length : 要讀寫(xiě)的寄存器個(gè)數(1-128)
data : 從dp210讀出或寫(xiě)入到dp210寄存器中去的值
sum : 和校驗(前面所有字節值的和與100h取模后的值) (若值為5ah,則忽略該值)
status : 返回通訊狀態(tài)。意義如下: 0—正常;1— 地址錯誤;2—長(cháng)度錯誤;3—地址范圍超限(開(kāi)始地址+長(cháng)度 >128);4—指令錯誤。
2.2 plc串行通訊技術(shù)
三菱各系列plc均有用于實(shí)現串行通訊的通訊模塊,該種模塊既可用于計算機監控plc,又可用于實(shí)現plc系統與外部智能設備的自由協(xié)議通訊,具有很廣泛的實(shí)用性。本方案中所采用的q系列串行通訊模塊qj71c24就是這一類(lèi)模塊中最強的一款,它體積小巧而且功能強大,通訊速率最高可達 115200bps,而且q系列plc有專(zhuān)用于該模塊自由協(xié)議通訊的高級指令,能方便快捷地實(shí)現與外部設備的串行通訊。
三菱q系列plc串行通訊專(zhuān)用指令主要有接收、發(fā)送指令,可進(jìn)行ascii通訊,也可進(jìn)行二進(jìn)制通訊,還有用于清除通訊緩沖區的清除指令,下面對這3條指令的用法作簡(jiǎn)要介紹:
(1) 發(fā)送指令:g.output ux xx1 xx2 xx3
ux:用來(lái)發(fā)送數據的串行通訊模塊所在的地址
xx1:發(fā)送指令控制參數區開(kāi)始地址,占用連續3個(gè)字寄存器
xx2:待發(fā)送數據存儲的開(kāi)始地址,長(cháng)度由xx1中參數指令
xx3: 用來(lái)存儲指令執行后的結果(成功或失敗),占用連續2個(gè)位寄存器
(2) 接收指令:g.input ux xx1 xx2 xx3
ux:用來(lái)接收數據的串行通訊模塊所在的地址
xx1:接收指令控制參數區開(kāi)始地址,占用連續4個(gè)字寄存器
xx2:用來(lái)存儲收到數據的寄存器開(kāi)始地址
xx3:用來(lái)存儲指令執行后的結果(成功或失敗),占用連續2個(gè)位寄存器
(3) 清除指令:zp.cset ux xx1 xx2 xx3 xx4
ux:要進(jìn)行清除操作的串行通訊模塊所在的地址
xx1:要清除的通訊通道號
xx2:清除指令控制參數區開(kāi)始地址
xx3:備用
xx4:用來(lái)存儲指令執行后的結果(成功或失敗),占用連續2個(gè)位寄存器
2.3 程序實(shí)施簡(jiǎn)述
綜合整個(gè)方案要求,程序主要可分為2大部分:故障信息的采集與有序存儲、故障信息的發(fā)布顯示。
(1) 故障信息的采集與有序存儲
故障信息的采集可以借用“事件觸發(fā)”機制來(lái)描述,當故障發(fā)送的瞬間,程序立即采取措施,將該故障的相關(guān)信息記錄下來(lái),在本方案中,我們采用了觸點(diǎn)上升沿調用子程序的編程手法,來(lái)進(jìn)行這項工作,在要求程序反應更為靈敏的場(chǎng)合,可以采用中斷處理的方法來(lái)完成。
無(wú)論是使用中斷處理還是普通掃描上升沿方式來(lái)捕捉故障,要建立一個(gè)完整的故障信息診斷發(fā)布系統,更為重要的是要有一個(gè)靈活實(shí)用的存儲機制。在這種機制下,針對故障的發(fā)生、排除都應有相應的程序操作與之對應,為此,我們建立了一個(gè)較簡(jiǎn)單的數據結構形式,來(lái)配合這些數據操作,結構如圖2所示

圖2 數據結構
在圖2中,每一站的故障記錄數都根據實(shí)際情況規定1個(gè)最大值,每1個(gè)故障記錄都規定為固定長(cháng)度,這樣,每個(gè)plc內都為下轄每個(gè)操作站設置了一個(gè)固定長(cháng)度的存儲表,同時(shí),對應故障的發(fā)生與消除,有相應的子程序來(lái)進(jìn)行數據表的操作,添加或刪除故障記錄。
(2) 故障信息的發(fā)布顯示
顯示器的內部寄存器已經(jīng)預先鏈接到其顯示畫(huà)面中,這樣只要plc通過(guò)通訊將當前應顯示的故障記錄信息寫(xiě)入內部寄存器,就可達到信息發(fā)布的目的。如果操作站發(fā)生翻頁(yè)操作,則在plc接收到該信號后,它將下一頁(yè)的故障信息寫(xiě)入到顯示器的內部寄存器,實(shí)現翻頁(yè)功能。
由于在同一時(shí)刻plc只能與1臺顯示器通訊,因此信息的刷新實(shí)際上是一種輪詢(xún)機制,從第一臺操作站開(kāi)始,當所有的顯示器都更新過(guò)一遍后,這一段時(shí)間可以稱(chēng)為刷新時(shí)間,rs-485串行通訊的通訊速率并不太高,所以為了改善刷新時(shí)間過(guò)長(cháng)的狀況,我們采取了一次通訊發(fā)送多條記錄的方式,使用戶(hù)在翻頁(yè)時(shí)不會(huì )感到很明顯的延遲。
3 結束語(yǔ)
rs-485是大多數工業(yè)現場(chǎng)總線(xiàn)的基礎,它實(shí)現起來(lái)具有成本低,實(shí)施簡(jiǎn)便等顯著(zhù)優(yōu)點(diǎn),但又兼有速度較低、實(shí)時(shí)性不高等缺陷,雖如此,對于人機交互不甚頻繁而終端較多的情況仍有較高使用價(jià)值。
評論