產(chǎn)品分類(lèi)
PRODUCT CLASSIFICATION本文以某混凝土攪拌站汽車(chē)衡控制系統為例,分析發(fā)生通訊故障的原因,采用系統軟件對其使用中通訊情況進(jìn)行檢測,并提出軟件優(yōu)化方法,從而保證攪拌站控制系統的可靠運行。1.控制系統結構某混凝土攪拌站采用工控機(工業(yè)控制計算機)、PLC(可編程控制器)、稱(chēng)重儀表(稱(chēng)重儀表、傳感器等執行元件)組成的控制系統,對電動(dòng)機、電磁閥等設備進(jìn)行控制,其原理如圖1所示。該攪拌站控制系統配置1臺工控機、10臺配料儀表和1臺PLC。其中PLC與工控機的交互點(diǎn)通常為625個(gè)。工控機為上位機,其作用是將生產(chǎn)指令下達到PLC及稱(chēng)量?jì)x表。稱(chēng)重儀表、PLC為下位機,稱(chēng)重儀表接收到工控機指令后負責配料過(guò)程。PLC接收工控機指令及稱(chēng)量?jì)x表的輸入信號后控制攪拌站電控系統的電磁閥、電動(dòng)機動(dòng)作。在攪拌站運行過(guò)程中,工控機采集稱(chēng)量?jì)x表數據并進(jìn)行顯示和存儲,同時(shí)采集PLC輸出的狀態(tài)信號。工控機需實(shí)時(shí)獲取攪拌站運行狀態(tài)的數據,并根據反饋數據下達生產(chǎn)指令。
2.通訊方式
攪拌站控制系統通訊方式通常采用MODICON公司開(kāi)發(fā)并推行的Modbus通信協(xié)議,該通訊方式已經(jīng)成為工業(yè)自動(dòng)化控制系統的標準通信協(xié)議。通過(guò)該協(xié)議,不同廠(chǎng)商生產(chǎn)的控制系統可以進(jìn)行工業(yè)網(wǎng)絡(luò )互聯(lián),從而實(shí)現各個(gè)系統的集散控制。本文介紹的攪拌站控制系統所用工控機采用ModbusRTU方式,工控機與PLC米用ModbusTCP方式。
該控制系統工控機(上位機)軟件基于.NET平臺開(kāi)發(fā)。.NET平臺由微軟公司推出,具有跨語(yǔ)言、跨平臺、跨系統的能力。方便利用XML技術(shù)開(kāi)發(fā)顯示及打印數據報表,還能使用GDI+設計各種圖形編輯器,適用于開(kāi)發(fā)復雜的企業(yè)級應用程序。工控機控制程序通過(guò)不同線(xiàn)程(程序執行信號流的zui小單元)實(shí)時(shí)收集到稱(chēng)重儀表和PLC(下位機)數據,保證各設備信號能夠實(shí)時(shí)反饋給工控機。
攪拌站各機構相關(guān)動(dòng)作的系列命令稱(chēng)為緩存指令,緩存指令列隊儲存于工控機的緩存區,根據需要實(shí)時(shí)下發(fā)操作指令。工控機定時(shí)器持續循環(huán)查詢(xún)指令隊列,間隔時(shí)間為20ms。若有緩存指令則下發(fā),若沒(méi)有緩存指令則下發(fā)“讀交互數據”指令,以讀取交互數據(稱(chēng)重儀表與PLC之間交互信號)。根據Modbus協(xié)議規定,檢查控制系統各指令后需回復數據是否正確。
在控制系統運行過(guò)程中,會(huì )由于其他設備運行時(shí)的電磁干擾,影響通訊質(zhì)量,造成數據丟失或沒(méi)有響應的現象??刂葡到y根據攪拌站的運行狀態(tài)和運行反饋信息對混凝土的生產(chǎn)流程進(jìn)行控制,若在生產(chǎn)過(guò)程中發(fā)生通訊故障,將給生產(chǎn)帶來(lái)重大的經(jīng)濟損失,甚至造成生產(chǎn)事故。因此,對控制系統的通訊狀態(tài)進(jìn)行監控*。
3.汽車(chē)衡故障分析與檢測方法
在攪拌站控制系統運行中,即使攪拌站處于正常運行狀態(tài),也會(huì )發(fā)生信號數據丟失或操縱沒(méi)有響應等故障。
(1)故障分析
信號數據丟失根據攪拌站控制系統實(shí)際運行情況,正常信號狀態(tài)變化持續時(shí)間皆大于200ms。通過(guò)計算規定時(shí)間內的通訊次數得出,工控機與PLC的正常通訊頻率約為15.7次/s,即約64ms更新1次數據信息。因此正常情況下,工控機能夠及時(shí)捕捉到設備狀態(tài)變化信號。
在控制系統實(shí)際運行過(guò)程中,通過(guò)軟件記錄分析,我們發(fā)現有些數據交互消耗時(shí)間過(guò)長(cháng),甚至超過(guò)800ms。例如,工控機在某些特定狀態(tài)時(shí),將某些特定狀態(tài)信號及數據保存到數據庫時(shí),若存儲數據較多,會(huì )造成保存或調取所消耗的時(shí)間較長(cháng),導致該次的數據交互時(shí)間過(guò)長(cháng)。這樣在對于狀態(tài)變化持續時(shí)間較短的信號,可能會(huì )出現信號丟失現象。
系統沒(méi)有響應由于.NETFramwork對線(xiàn)程數量的限制,若運行的線(xiàn)程數量超過(guò)設置線(xiàn)程數時(shí),新啟動(dòng)的線(xiàn)程會(huì )不能執行。該控制系統中,工控機使用System.Timer定時(shí)器循環(huán)讀取數據,啟動(dòng)定時(shí)器時(shí)即啟動(dòng)一個(gè)新線(xiàn)程。執行指令時(shí)啟動(dòng)執行器,指令結束后停止定時(shí)器,執行下一個(gè)指令再啟動(dòng)定時(shí)器,如圖2所示。若工控機程序運行時(shí),在某一時(shí)刻的線(xiàn)程數量超過(guò)限制線(xiàn)程時(shí),就不能繼續執行操作指令,造成工控機對下位機的通訊中斷。
另外,根據工控機軟件的通訊方式(見(jiàn)圖2),當指令在緩存區中緩存指令較多時(shí),將會(huì )延時(shí)讀取交互數據指令,不能更新控制系統狀態(tài),這也是工控機不能及時(shí)響應操作和反饋狀態(tài)的原因。
(2)汽車(chē)衡檢測方法
根據對通訊故障原因的分析,可應用參數估計法檢測故障,即根據控制系統的參數值與其正常值之間的偏離程度,判斷控制系統是否處于故障狀況。確定該控制系統中數據通訊的檢測參數為指令執行時(shí)間、指令執行間隔時(shí)間、指令緩存數量。
1個(gè)指令的執行周期包括下發(fā)指令、接收數據、判斷數據、狀態(tài)更新。指令執行時(shí)間為1個(gè)執行周期的總時(shí)間,該時(shí)間可用于檢測是否會(huì )發(fā)生信號丟失故障。指令執行間隔時(shí)間用于檢測通訊是否中斷,檢測指令緩存數量可防止系統長(cháng)時(shí)間無(wú)響應。通過(guò)實(shí)際測試,在正常生產(chǎn)情況下,完成一次數據讀寫(xiě)及界面更新,耗時(shí)為15~120ms,指令執行間隔時(shí)間設置為20ms,指令緩存數量zui大約為50個(gè)。根據以上分析,我們確定檢測參數,指令執行時(shí)間為200ms,指令執行間隔時(shí)間為50ms,緩存隊列數量為60個(gè),該參數即為檢測故障的限制值。
控制系統運行時(shí),按照以上限制值執行執行檢測。實(shí)時(shí)計算每個(gè)指令的執行時(shí)間和緩存隊列的指令數量,檢測值超出限制值時(shí)系統給出報警信息,情況嚴重時(shí)提示操作人員停止生產(chǎn)進(jìn)行設備檢查。每條指令執行完成后,在指令執行間隔時(shí)間內限制值檢測是否已開(kāi)始執行下一個(gè)指令,若沒(méi)有持續執行則報警提示,停止攪拌站生產(chǎn)。
4.汽車(chē)衡軟件優(yōu)化方法
為了提高控制系統的可靠性,減少通訊故障和故障報警,保證控制系統的安全運行。針對上述通訊故障的產(chǎn)生原因,在軟件方面要進(jìn)行優(yōu)化,如下所示。
(1)異步執行減少耗時(shí)
對于特殊狀態(tài)信號,在狀態(tài)變化時(shí)需要進(jìn)行數據庫操作,用同步方式執行需要等待的數據庫,操作完成后才能繼續執行。因此,在程序中應對數據庫的操作進(jìn)行異步執行,不占用指令執行時(shí)間,這樣會(huì )提高數據交互速度和通訊頻率。
(2)減少線(xiàn)程使用量
整合控制系統程序運行資源,減少系統中對System.Timer(即啟動(dòng)新線(xiàn)程)的使用。通過(guò)監控該控制系統得知,并列發(fā)送線(xiàn)程的數量zui多可達到29個(gè),這將影響到新線(xiàn)程的啟動(dòng),可導致新線(xiàn)程不能啟動(dòng)。通過(guò)優(yōu)化將原控制程序中部分輔助功能中的定時(shí)器,或者對時(shí)間精度要求較低的控制功能,用自定義的統一時(shí)間觸發(fā)器代替。這樣可降低系統運行時(shí)的并列發(fā)送線(xiàn)程數,可將zui大線(xiàn)程數降低至21個(gè),由此保證控制系統程序的可靠運行,避免線(xiàn)程不能啟動(dòng)工況,解決通訊中斷問(wèn)題。
(3)分批執行緩存區指令
根據該攪拌站控制系統現有通訊方式,當緩存區指令數據超出限制值時(shí),進(jìn)行分批執行。執行數量后,執行“讀交互數據”指令,循環(huán)執行,使緩存區數量達到安全水平,避免系統出現無(wú)響應現象。
5.系統優(yōu)化效果
我們根據以上故障診斷方法編制了相應的故障診斷程序,對.NET平臺的攪拌站控制系統的通訊方式進(jìn)行實(shí)時(shí)監測,保證混凝土生產(chǎn)過(guò)程的安全可靠。根據以上優(yōu)化方法對該控制系統程序進(jìn)行的進(jìn)一步優(yōu)化,提高了系統軟件的運行質(zhì)量。在實(shí)際應用中,這種方法對攪拌站.NET平臺控制系統通訊方案的設計和故障排查具有很好的指導意義.
CONTACT
辦公地址:上海市浦東新區滬南公路2419弄30-31號404室TEL:021-60456583,8822
EMAIL:3483376926@qq.com