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