客運索道故障診斷專(zhuān)家系統的開(kāi)發(fā)
摘要: 索道故障診斷專(zhuān)家系統的建立有利于工作人員在最短的時(shí)間內根據故障的表面現象確定其深層原因,從而能夠盡快排除故障。
關(guān)鍵詞: 索道;故障診斷
系統構成
整個(gè)系統由實(shí)施故障信息采集的單片機部分和完成故障診斷的PC上位機部分組成,兩部分的通信通過(guò)芯片MAX232進(jìn)行。系統結構框圖如圖1所示。
圖1 系統結構框圖
在一般索道的電氣系統中,大都按照緊急停車(chē)、工作停車(chē)、正常停車(chē)的分類(lèi)將引起停車(chē)的各類(lèi)故障進(jìn)行區分,并通過(guò)發(fā)光二極管顯示。在本系統中,索道停車(chē)故障信息就是從這里采集的,在單片機部分將故障加以編號,通過(guò)MAX232傳輸給上位機,上位機根據獲得的故障號,調用相應的診斷模塊,為操作人員的決策提供依據。
單片機設計
故障信息采集
在索道正常運行時(shí),原索道電氣系統的LED故障指示燈熄滅,沒(méi)有信號輸出;一旦發(fā)生停車(chē)故障,LED指示燈點(diǎn)亮,有信號輸出。為了得到能夠被單片機處理的5V信號,通過(guò)光耦TLP521對索道電氣系統常用的24V信號進(jìn)行電壓變換(如圖2),同時(shí)還能起到信號隔離的作用,一方面防止外部高壓信號侵入單片機系統,另一方面隔斷單片機系統與原索道系統的電氣連接,保持原系統的獨立性。圖中二極管D1的作用是防止光耦反壓時(shí)將其擊穿。在該部分電路中,電阻R的選擇非常關(guān)鍵,既要保證PLC有輸出時(shí)LED和D1的可靠打開(kāi),又要防止電流太大,縮短器件壽命,因此要合理調整R值,使導通電流在10~20mA范圍內。
圖2 故障信號的采集
索道的停車(chē)故障原因可能會(huì )有上百種,而單片機端口有限,我們使用芯片8255對端口進(jìn)行擴展(如圖3所示),保證能對144種故障信息進(jìn)行識別。對故障信息的編號采用順序編號的方式,即第1種故障(通過(guò)8255-1端口PA0采集)編號為1(二進(jìn)制表示為00000001),第2種故障(通過(guò)8255-1端口PA1采集)編號為2(二進(jìn)制表示為00000010),依此類(lèi)推,第144種故障(通過(guò)8255-6端口PC7采集)編號為144(二進(jìn)制表示為10010000)。
圖3 單片機端口的擴展
使用AT89C51單片機,P0口作為故障信號的采集通道,P2口作為芯片8255的片選信號,P1口沒(méi)有使用,作為系統的擴展備用端口,晶振頻率11.0592MHz,保證與PC機進(jìn)行通信時(shí)波特率計算的方便。
單片機與上位PC機的通信
單片機使用的是TTL電平,單片機的串口輸出信號也是如此,但是串行通信中使用的是PC機9針串口,該串口遵循RS-232C通信協(xié)議,二者電平并不同,需要外接接口進(jìn)行電平匹配。
采用MAX232芯片進(jìn)行單片機和PC機的連接(如圖4所示)。通過(guò)MAX232的TTL和RS-232的輸入/輸出端口,自動(dòng)調節單片機串口的TTL電平信號和RS-232的串行通信信號的電平匹配,同時(shí)完成索道停車(chē)故障信息向上位機的傳送。
圖4 89C52與PC機的電平匹配
單片機的串行端口有1個(gè)數據寄存器SBUF,該寄存器為發(fā)送和接受所共有,在一定條件下,向SBUF寫(xiě)入數據就啟動(dòng)發(fā)送過(guò)程,讀SBUF就啟動(dòng)接收過(guò)程,本系統中要求單片機向外發(fā)送數據,只需要對SBUF進(jìn)行寫(xiě)操作。單片機可以采用查詢(xún)方式或中斷方式實(shí)現數據的發(fā)送,本系統設計中采用中斷方式,并使串口工作于方式1,即10位異步通信方式,其中1個(gè)起始位,8個(gè)數據位(即故障信息代碼)和1個(gè)停止位。波特率由定時(shí)器T1的溢出率和串口控制寄存器SMOD的狀態(tài)確定,由于CPU的晶振為11.0592MHz,波特率可以很方便的取成整數,這里采用了9600bps。
上位機設計
用visual basic 6.0進(jìn)行串行通信的程序設計,較好的辦法是使用通信組件Microsoft Communications Control(以下簡(jiǎn)稱(chēng)MSComm)。MSComm提供了兩種處理通信問(wèn)題的方法,一是事件驅動(dòng)方法,一是查詢(xún)法。本程序設計采用MsComm控件的事件驅動(dòng)方式。
MSComm控件初始化設置
在程序啟動(dòng)加載時(shí),首先要對MSComm控件初始化設置。
PC機讀取串口數據
PC機在檢測到串行端口有數據傳來(lái)時(shí),則觸發(fā)MyComm控件的OnComm事件,系統讀取到故障代碼后,則顯示相應的故障處理解決辦法。
Private Sub MyComm1_OnComm()
;讀取串行端口傳來(lái)的數據,并顯示相
應的故障處理解決辦法。
dim Buffer As Variant ;保存串口讀來(lái)
的數據
dim tmp(0) as byte ;保存串口讀取
的二進(jìn)制數據
dim errnum as integer ;將二進(jìn)制數據
轉換成故障代碼
If MScomm1.CommEvent = comEvReceive then
;觸發(fā)OnComm事件
Buffer=MSComm1.Input ;讀取串口數據
tmp=buffer
errnum=ascb(tmp) ;轉換成故障代碼
call(fault_manage(errnum)) ;調用其它模
塊顯示相應的
故障處理說(shuō)明,
并將發(fā)生的該
故障記錄入庫
end if
end sub
故障處理說(shuō)明顯示和故障記錄
系統從com1串行端口檢測到故障號后,顯示相應的索道故障處理說(shuō)明,并同時(shí)將發(fā)生的該故障記錄入庫,以供后面的故障統計分析之用。在故障診斷顯示界面主要有該故障的故障說(shuō)明、排除方法、電氣圖紙、應急處理方法、相關(guān)說(shuō)明(操作手冊中對故障點(diǎn)相關(guān)器件的說(shuō)明)、備注信息(故障點(diǎn)的實(shí)物圖片)等相關(guān)內容。
圖5 故障診斷界面
故障統計分析
該模塊實(shí)現對故障記錄的歷史統計功能,以供分析某個(gè)時(shí)間段內故障發(fā)生的頻率。
*故障類(lèi)別統計:主要按照索道正常停車(chē)、工作停車(chē)、緊急停車(chē)等不同類(lèi)別,分類(lèi)統計某一階段各類(lèi)故障發(fā)生的次數。
*故障部位統計:按照故障部位的分類(lèi)來(lái)統計某一階段內各部位發(fā)生故障的次數。
*故障類(lèi)型統計:根據故障代碼分類(lèi),統計每種代碼所代表的故障某一階段內發(fā)生的次數。
*故障明細統計:按照故障分類(lèi),顯示每一類(lèi)型的故障某一階段發(fā)生的所有明細記錄。
根據這些統計結果,可以針對某些發(fā)生頻率較高的故障進(jìn)行深入的研究,找出相關(guān)的對應措施,減少或避免故障的發(fā)生。
結語(yǔ)
一個(gè)成熟實(shí)用的索道故障診斷系統將會(huì )為索道運行中故障的盡快排除提供極大幫助。它不但可以省去查找可能的故障點(diǎn)、翻閱相關(guān)圖紙、確定排除方法等常規步驟,而且系統中提供的實(shí)物圖片、操作手冊中的相關(guān)信息等內容會(huì )給工作人員帶來(lái)很大方便。同時(shí),相關(guān)故障信息的調用都是通過(guò)程序自動(dòng)進(jìn)行,該過(guò)程幾乎在一瞬間就可完成,從而可以將索道運行中的停車(chē)時(shí)間縮小到最短。
評論