劉 麒 劉亞文
(①吉林化工學院信息與控制工程學院,吉林 吉林 132022;②武漢紡織大學機械工程與自動化學院,湖北 武漢 430073)
隨著工業(yè)控制技術的逐漸發(fā)展,工業(yè)現(xiàn)場對中大型控制系統(tǒng)的性能要求越來越高,而小型PLC在使用過程中難以充分發(fā)揮其控制性能,對于I/O點數(shù)多且工藝復雜的工控系統(tǒng),易出現(xiàn)編程邏輯混亂、缺乏通用性的缺點,而且其存儲系統(tǒng)不能被控制器充分利用,這既不利于編程人員對工藝的維護與擴展,也不利于提高系統(tǒng)處理效率。
現(xiàn)有的并行控制系統(tǒng)將系統(tǒng)體系逐級分解為多個相對獨立的功能單元,功能單元內(nèi)容按具體工藝步驟規(guī)劃[1],而未充分考慮其功能單元即工藝模塊間的資源沖突與資源共享,以及工藝模塊間的數(shù)據(jù)通信方式。本文基于S7-200 226CN PLC的CPU工作特性及存儲系統(tǒng)特征,結(jié)合計算機體系結(jié)構思想,構建了基于S7-200的智能并行控制系統(tǒng)模型,在實現(xiàn)復雜控制工藝的同時,不僅保證系統(tǒng)的執(zhí)行效率,而且建立了查錯及糾錯的自恢復機制,保證了系統(tǒng)的可靠性及穩(wěn)定性,為小型PLC實現(xiàn)大型控制系統(tǒng)提供了易于實現(xiàn)的方法。
PLC采用按順序邏輯反復不停地分階段掃描處理不同任務的掃描工作方式,如圖1所示。在RUN模式時,執(zhí)行如圖1所示的5個階段,其中輸入采樣階段讀取輸入點的狀態(tài)到輸入映像區(qū);程序執(zhí)行階段執(zhí)行用戶程序,進行邏輯運算,得到輸出信號的新狀態(tài);輸出刷新階段將輸出信號寫入到輸出映像區(qū),每次循環(huán)的時間稱為掃描周期[2]。由此可將PLC最短掃描周期TS劃分為通信時間Tcomm,自診斷時間T自診斷,執(zhí)行用戶程序時間Tcomp,I/O刷新時間TI/O,即:
TS=Tcomm+T自診斷+Tcomp+TI/O
(1)
其中執(zhí)行用戶程序Tcomp為CPU處理單個指令平均時間×指令條數(shù),I/O 刷新時間TI/O=輸入采樣T1+輸出刷新TO。實際的系統(tǒng)可能還需要考慮輸入、輸出器件的延時,如輸出點外接的中間繼電器動作時間等。由此可見,掃描周期的長短主要取決于以下幾個因素:CPU執(zhí)行指令的速度;執(zhí)行每條指令占用的時間;程序中指令條數(shù)的多少。指令執(zhí)行所需的時間與用戶程序的長短、指令的種類和CPU執(zhí)行速度有很大關系。一般來說。一個掃描過程中,故障診斷時間、通信時間、輸入采樣和輸出刷新所占時間較少,執(zhí)行指令的時間占了絕大部分,在設計程序時可使用智能I/O單元(如快速響應I/O模塊)或?qū)iT的指令(如立即I/O指令,使用“直接讀輸入”和“直接寫輸出”指令)通過越過程序掃描周期的時間限制的方式來解決。在系統(tǒng)構建初期,應考慮程序量對掃描周期的影響,通過掃描周期估算并確定并行模塊數(shù),保證系統(tǒng)的響應速度及控制性能。
S7-200PLC系統(tǒng)由多種不同的存儲器組成的存儲系統(tǒng)(memory system)[3],如I、Q、M、S、V、L、T及C&HSC等,這些存儲區(qū)可分為全局變量和局部變量,通過資源分配使得系統(tǒng)每個模塊占有唯一資源區(qū),其中模塊內(nèi)的子工藝線程共享該區(qū)的全局變量,子程序各自擁有等量的局部變量,使程序在編寫、不斷改進及擴大時不至混亂。系統(tǒng)中有OS(系統(tǒng)程序)、OB1(主程序)、SBR(子程序)和INT(中斷程序),CPU226CN可包含128個SBR,可以在子程序中嵌套另一個子程序(最大嵌套深度為8級);在程序編寫初期,通過工藝劃分及工藝動作分解,可將每個動作分解至各個子程序,初步規(guī)劃工藝執(zhí)行流程和確定程序量,從而使程序結(jié)構的布局有條不紊地進行,模塊設計子程序的方法使程序更易管理,具有可移植性及通用性。
工業(yè)控制中S7-200 PLC與HMI設備、PLC及上位機等之間的通信是通過PPI、MPI、 Profibus、以太網(wǎng)或者光纖等,實現(xiàn)人機界面組態(tài)、遠程監(jiān)控及維護[4]。在工業(yè)現(xiàn)場通過網(wǎng)絡將各生產(chǎn)車間的多工位生產(chǎn)過程連接起來,由上位機及數(shù)據(jù)庫構成網(wǎng)絡狀態(tài)監(jiān)控層,進行分布式監(jiān)控與集中管理,易于實現(xiàn)自診斷與自恢復,并為產(chǎn)品信息追溯系統(tǒng)及企業(yè)的CIMS系統(tǒng)提供支持。在并行系統(tǒng)構建時創(chuàng)建通信處理模塊,使得網(wǎng)絡通信與組態(tài)功能具有良好的可擴展性。
由于PLC掃描頻率極高,一段極微小時間順序內(nèi)相關性極小的子任務可看成同一時刻運行,在某一時刻同時運行的任務數(shù)量即為并行度[5]。根據(jù)CPU 226CN PLC各運算執(zhí)行速度,按照公式(1)計算并行度n:
(2)
式中:C為不確定影響系數(shù);T自診斷為系統(tǒng)自診斷時間,同型號CPU的T自診斷為固定值;Tcomm為系統(tǒng)通訊時間,如無外設時Tcomm為0。S7-200 226CN CPU執(zhí)行每條指令時間T:定時器/計數(shù)器TT/C為19~33 μs;布爾量運算TBOOL為0.22 μs;字處理TMOVD為38μs;實數(shù)運算TDOUBLE為56~230 μs;單精度數(shù)運算TSINGLE為25~64 μs;按式(2)估算輸入及輸出點數(shù)達240點,輸入脈沖信號寬度均大于100 ms,假定各種運算指令量相當,C≈10,通訊、PLC自診斷時間及TI/O占整個掃描周期時間的1/2時的并行數(shù),算得n的值約為7~19。根據(jù)任務將系統(tǒng)進行模塊劃分,劃分為n個功能不同的工藝模塊,各模塊統(tǒng)一由主程序調(diào)用,對于程序掃描順序無嚴格要求工業(yè)現(xiàn)場,在極微小時間順序內(nèi)可看成并行執(zhí)行,其先后掃描順序?qū)ο到y(tǒng)執(zhí)行效果無影響,在時間上相互重疊,即各模塊組成并行系統(tǒng)。
結(jié)合指令調(diào)度思想,為充分發(fā)揮系統(tǒng)的性能,必須設法讓流水線滿負荷工作,這就要研究工藝步驟之間的并行性,按照任務劃分并行工藝模塊,找出不相關的工藝動作,讓他們在工作中重疊并行執(zhí)行[6]。結(jié)合執(zhí)行機構特點將并行程序的任務分解成若干工藝模塊,并依據(jù)這些子任務的特點,在其各自執(zhí)行的時間段內(nèi),將任務模塊細分為若干順序執(zhí)行的工藝步驟。
如圖2所示,整個并行程序執(zhí)行信息的集合表示為序列:E={E0,E1,…,Ei},模塊Ei的子工藝線程集合表示為Ei={Ei0,Ei2,…,Eij};Ei0為模塊Ei中最先執(zhí)行的子工藝線程,完成模塊初始化的準備工作;Eij為模塊Ei中最后執(zhí)行的子工藝線程,并行模塊Ei中各工藝步間在時間上呈串行關系。對于系統(tǒng)E,活動子工藝線程并行執(zhí)行,構成并行系統(tǒng);各模塊的活動子工藝線程執(zhí)行“就緒”時,調(diào)用控制步CS(其中S標表示子工藝線程的狀態(tài)字信息,取值為0,1,2,…,j)來改變模塊步序S的值,系統(tǒng)依據(jù)當前程序執(zhí)行的模塊步序S,決定下一個或多個并行運行的任務,觸發(fā)相應的子工藝,喚醒“睡眠”中的線程。
根據(jù)系統(tǒng)任務劃分工藝模塊,將各存儲區(qū)按照模塊數(shù)均衡劃分,合理進行資源分配,充分發(fā)揮PLC系統(tǒng)資源的獨占性與共享性,如圖3所示。并行控制系統(tǒng)各模塊在系統(tǒng)資源內(nèi)有唯一的存儲區(qū),其子工藝線程與同屬一個模塊的其他子工藝線程共享模塊所擁有的全部資源,以提高系統(tǒng)模塊內(nèi)聚性[7];同時,模塊內(nèi)的子工藝線程Eij又可按照一定工藝順序輪流使用同一套特定系統(tǒng)資源,即控制步子程序EiCS,使得每個掃描周期內(nèi)子工藝線程有序執(zhí)行。各模塊間協(xié)調(diào)作業(yè)通過臨界交集資源(communication)進行通信與數(shù)據(jù)共享,完成流水寄存器的任務。
并行工藝單元間通信是基于PLC內(nèi)部邏輯來對各平行動作進行控制和導航的,這就需要實時監(jiān)控存儲系統(tǒng)中預先定義的狀態(tài)標志參數(shù)及通信參數(shù),系統(tǒng)模塊間通信采用統(tǒng)一數(shù)據(jù)的通信方法[8],為每個模塊分配一個字節(jié)地址通信區(qū),Ei模塊向Ei-2模塊發(fā)送請求消息時,將定義的通信數(shù)據(jù)位及傳遞的處理結(jié)果,打包成數(shù)據(jù)單元集合,作為通信數(shù)據(jù)發(fā)送Ei-1模塊;Ei-1模塊收到Ei模塊的請求消息,同時獲取控制信息,并校驗處理結(jié)果,校驗無誤時處理Ei-1模塊的請求,處理完成后改變該通信數(shù)據(jù)位的狀態(tài)。該通信方式使模塊間的通信參數(shù)一致,且由于通信參數(shù)(通信數(shù)據(jù)位)狀態(tài)非0即1,使工藝模塊間通信穩(wěn)定可靠,運算處理效率提高。
PLC控制系統(tǒng)的可靠性直接影響到工業(yè)生產(chǎn)的效率與安全,因此提高控制系統(tǒng)可靠性具有十分重要的意義。PLC系統(tǒng)的可靠性通常用平均故障間隔時間(MTBF)來衡量,它表示系統(tǒng)從發(fā)生故障進行修理到下一次發(fā)生故障的時間間隔的平均值[9]。實際往往從以下兩方面考慮:①PLC本身軟硬件的可靠性;②所構建控制系統(tǒng)的可靠性。在硬件方面,具有良好的屏蔽及抗干擾措施,如CPU與I/O電路之間采用光電隔離,對電源及I/O電路采用多種形式的濾波,增加故障顯示電路等;PLC硬件采用模塊式結(jié)構,可設計熱備系統(tǒng),一旦工作主機出現(xiàn)故障,熱備模塊可自動接替其工作[10]。在軟件方面,PLC采用周期循環(huán)掃描方式,在執(zhí)行用戶程序過程中與外界隔絕,大大減小外界干擾;其用軟件取代大量的中間繼電器和時間繼電器,僅剩與輸入和輸出有關的少量硬件元件,大幅減少因觸點接觸不良造成的故障。PLC在軟、硬件諸方面的強有力可靠性措施,確保了PLC具有可靠穩(wěn)定工作的特點。
控制系統(tǒng)構建時,為增強系統(tǒng)模塊內(nèi)聚性及降低模塊間的耦合性,為各個模塊分配唯一的系統(tǒng)資源,信息屏蔽可有效避免其他模塊行為的干擾,增強系統(tǒng)模塊的獨立性;模塊化的系統(tǒng)適應“變化”的能力較強,使得更多的功能在需要時易被插到適當?shù)奈恢弥校虼讼到y(tǒng)具有良好的擴展性[11],能靈活應對未來可能需要的改進和分期建設的項目。因無法保證系統(tǒng)使用者都精準按照說明書流程操作,在系統(tǒng)測試時進行系列干擾行為,針對可預見的故障,分別采取了避錯、查錯、糾錯和容錯手段,如圖4所示,通過時間故障檢測法與邏輯錯誤檢測法[12],自動偵測系統(tǒng)故障,通過系統(tǒng)制定的控制策略及時自動恢復,使得系統(tǒng)具有自動保護功能和適應內(nèi)部變化的能力,有效延長其無故障工作時間,增強系統(tǒng)健壯性,真正做到既可靠又穩(wěn)定。
某廠工業(yè)電雷管裝配原采用的是傳統(tǒng)的半手工半機械化裝配方式,裝配工藝包括基礎木模運輸、基礎雷管轉(zhuǎn)模、輔模轉(zhuǎn)運、自動激光編碼、自動卡腰、自動裝配、卡口、成品脫模及收集等工藝[13],其裝配工作量大,嚴重影響生產(chǎn)效率且存在諸多安全隱患。經(jīng)系統(tǒng)設計并進行徹底改造,系統(tǒng)控制點達112個,檢測點達120個,現(xiàn)改用S7-200系列PLC的智能并行控制系統(tǒng),根據(jù)工藝路線進行并行工藝模塊劃分及資源分配,并行控制各個模塊的裝配生產(chǎn)工藝,對于設備誤動作及人為不良因素造成的故障進行預設判斷及安全預警,智能處理并自動恢復,有效防止了產(chǎn)品殉爆,保證了整體設備的安全和工藝動作準確無誤。實際應用表明,生產(chǎn)線危險工位操作人數(shù)由原23人減少至0人,生產(chǎn)效率由原500~600發(fā)/h提升至1 100~1 200發(fā)/h,裝配產(chǎn)品合格率提高至99.5%,社會效益及經(jīng)濟效益有了顯著提升。
本文介紹了西門子S7-200CPU226CN系列PLC智能并行控制系統(tǒng)模型構建及具體構建方法,通過PLC軟、硬件保護措施及控制系統(tǒng)智能異常排除分析與設計,模塊化的并行控制方式,改善了控制復雜時編程條理混亂、程序擴展及維護繁瑣的實際問題,確保了并行控制系統(tǒng)的可靠性及穩(wěn)定性,實現(xiàn)了多任務并行處理功能。系統(tǒng)自應用于工業(yè)電雷管自動裝配生產(chǎn)線(總I/O數(shù)約240個)至今,裝配效率及裝配成品合格率大幅提高,系統(tǒng)整體運行安全穩(wěn)定,防錯和容錯性強,實時預警及保護功能齊全,該控制系統(tǒng)構建方法為PLC工業(yè)控制的諸多領域提供了借鑒。
[1]Tang X, Li H J, Chen Y T, et al. Research on multi-task control model of PLC[J]. Advanced Materials Research, 2014, 889-890:1236-1239.
[2] 廖常初. PLC編程及應用[M].北京:機械工業(yè)出版社, 2002.
[3]Bin L, Jiong Y, Hua S, et al. Energy-efficient algorithms for distributed storage system based on data storage structure reconfiguration[J]. Journal of Computer Research and Development, 2013, 50(1): 3-18.
[4]蘇靜明, 洪炎. 基于PLC和組態(tài)王的節(jié)能控制站遠程監(jiān)控系統(tǒng)研究[J]. 工礦自動化, 2011, 37(2):20-23.
[5]陳國良. 并行計算機體系結(jié)構[M]. 北京:高等教育出版社, 2002.
[6]沈緒榜, 劉澤響, 王茹. 計算機體系結(jié)構的統(tǒng)一模型[J]. 計算機學報, 2007, 30(5):729-736.
[7]閆昭, 劉磊. 基于數(shù)據(jù)依賴關系的程序自動并行化方法[J]. 吉林大學學報:理學版, 2010, 48(1):94-98.
[8]馬雄波, 韓振宇, 王永章,等. 基于RTX的軟PLC多任務系統(tǒng)研究[J]. 組合機床與自動化加工技術, 2007(1):35-40.
[9]張亮. 提高PLC控制系統(tǒng)可靠性的軟件設計[J]. 工礦自動化, 2006(6):39-42.
[10]馬伯淵, 呂京梅, 張志同. PLC軟冗余系統(tǒng)性能分析[J]. 電力自動化設備, 2009, 29(2):98-101.
[11]吳建平, 王正華, 李曉梅. 并行系統(tǒng)可擴性分析研究[J]. 國防科技大學學報, 2001, 23(1):55-58.
[12]孟君. 基于不同冗余結(jié)構的PLC系統(tǒng)可靠性與可用性研究[J]. 電子技術應用, 2016, 42(9):80-83.
[13] Li H J, Yan J J, Yan L, et al. Application of Man-Machine Isolation Automation Assembly for Industrial Electric Detonator[J]. Applied Mechanics & Materials, 2014, 716/717:1522-1526.