劉 麒 劉亞文
(①吉林化工學院信息與控制工程學院,吉林 吉林 132022;②武漢紡織大學機械工程與自動化學院,湖北 武漢 430073)
隨著工業控制技術的逐漸發展,工業現場對中大型控制系統的性能要求越來越高,而小型PLC在使用過程中難以充分發揮其控制性能,對于I/O點數多且工藝復雜的工控系統,易出現編程邏輯混亂、缺乏通用性的缺點,而且其存儲系統不能被控制器充分利用,這既不利于編程人員對工藝的維護與擴展,也不利于提高系統處理效率。
現有的并行控制系統將系統體系逐級分解為多個相對獨立的功能單元,功能單元內容按具體工藝步驟規劃[1],而未充分考慮其功能單元即工藝模塊間的資源沖突與資源共享,以及工藝模塊間的數據通信方式。本文基于S7-200 226CN PLC的CPU工作特性及存儲系統特征,結合計算機體系結構思想,構建了基于S7-200的智能并行控制系統模型,在實現復雜控制工藝的同時,不僅保證系統的執行效率,而且建立了查錯及糾錯的自恢復機制,保證了系統的可靠性及穩定性,為小型PLC實現大型控制系統提供了易于實現的方法。
PLC采用按順序邏輯反復不停地分階段掃描處理不同任務的掃描工作方式,如圖1所示。在RUN模式時,執行如圖1所示的5個階段,其中輸入采樣階段讀取輸入點的狀態到輸入映像區;程序執行階段執行用戶程序,進行邏輯運算,得到輸出信號的新狀態;輸出刷新階段將輸出信號寫入到輸出映像區,每次循環的時間稱為掃描周期[2]。由此可將PLC最短掃描周期TS劃分為通信時間Tcomm,自診斷時間T自診斷,執行用戶程序時間Tcomp,I/O刷新時間TI/O,即:
TS=Tcomm+T自診斷+Tcomp+TI/O
(1)

其中執行用戶程序Tcomp為CPU處理單個指令平均時間×指令條數,I/O 刷新時間TI/O=輸入采樣T1+輸出刷新TO。實際的系統可能還需要考慮輸入、輸出器件的延時,如輸出點外接的中間繼電器動作時間等。由此可見,掃描周期的長短主要取決于以下幾個因素:CPU執行指令的速度;執行每條指令占用的時間;程序中指令條數的多少。指令執行所需的時間與用戶程序的長短、指令的種類和CPU執行速度有很大關系。一般來說。一個掃描過程中,故障診斷時間、通信時間、輸入采樣和輸出刷新所占時間較少,執行指令的時間占了絕大部分,在設計程序時可使用智能I/O單元(如快速響應I/O模塊)或專門的指令(如立即I/O指令,使用“直接讀輸入”和“直接寫輸出”指令)通過越過程序掃描周期的時間限制的方式來解決。在系統構建初期,應考慮程序量對掃描周期的影響,通過掃描周期估算并確定并行模塊數,保證系統的響應速度及控制性能。
S7-200PLC系統由多種不同的存儲器組成的存儲系統(memory system)[3],如I、Q、M、S、V、L、T及C&HSC等,這些存儲區可分為全局變量和局部變量,通過資源分配使得系統每個模塊占有唯一資源區,其中模塊內的子工藝線程共享該區的全局變量,子程序各自擁有等量的局部變量,使程序在編寫、不斷改進及擴大時不至混亂。系統中有OS(系統程序)、OB1(主程序)、SBR(子程序)和INT(中斷程序),CPU226CN可包含128個SBR,可以在子程序中嵌套另一個子程序(最大嵌套深度為8級);在程序編寫初期,通過工藝劃分及工藝動作分解,可將每個動作分解至各個子程序,初步規劃工藝執行流程和確定程序量,從而使程序結構的布局有條不紊地進行,模塊設計子程序的方法使程序更易管理,具有可移植性及通用性。
工業控制中S7-200 PLC與HMI設備、PLC及上位機等之間的通信是通過PPI、MPI、 Profibus、以太網或者光纖等,實現人機界面組態、遠程監控及維護[4]。在工業現場通過網絡將各生產車間的多工位生產過程連接起來,由上位機及數據庫構成網絡狀態監控層,進行分布式監控與集中管理,易于實現自診斷與自恢復,并為產品信息追溯系統及企業的CIMS系統提供支持。在并行系統構建時創建通信處理模塊,使得網絡通信與組態功能具有良好的可擴展性。
由于PLC掃描頻率極高,一段極微小時間順序內相關性極小的子任務可看成同一時刻運行,在某一時刻同時運行的任務數量即為并行度[5]。根據CPU 226CN PLC各運算執行速度,按照公式(1)計算并行度n:
(2)
式中:C為不確定影響系數;T自診斷為系統自診斷時間,同型號CPU的T自診斷為固定值;Tcomm為系統通訊時間,如無外設時Tcomm為0。S7-200 226CN CPU執行每條指令時間T:定時器/計數器TT/C為19~33 μs;布爾量運算TBOOL為0.22 μs;字處理TMOVD為38μs;實數運算TDOUBLE為56~230 μs;單精度數運算TSINGLE為25~64 μs;按式(2)估算輸入及輸出點數達240點,輸入脈沖信號寬度均大于100 ms,假定各種運算指令量相當,C≈10,通訊、PLC自診斷時間及TI/O占整個掃描周期時間的1/2時的并行數,算得n的值約為7~19。根據任務將系統進行模塊劃分,劃分為n個功能不同的工藝模塊,各模塊統一由主程序調用,對于程序掃描順序無嚴格要求工業現場,在極微小時間順序內可看成并行執行,其先后掃描順序對系統執行效果無影響,在時間上相互重疊,即各模塊組成并行系統。
結合指令調度思想,為充分發揮系統的性能,必須設法讓流水線滿負荷工作,這就要研究工藝步驟之間的并行性,按照任務劃分并行工藝模塊,找出不相關的工藝動作,讓他們在工作中重疊并行執行[6]。結合執行機構特點將并行程序的任務分解成若干工藝模塊,并依據這些子任務的特點,在其各自執行的時間段內,將任務模塊細分為若干順序執行的工藝步驟。
如圖2所示,整個并行程序執行信息的集合表示為序列:E={E0,E1,…,Ei},模塊Ei的子工藝線程集合表示為Ei={Ei0,Ei2,…,Eij};Ei0為模塊Ei中最先執行的子工藝線程,完成模塊初始化的準備工作;Eij為模塊Ei中最后執行的子工藝線程,并行模塊Ei中各工藝步間在時間上呈串行關系。對于系統E,活動子工藝線程并行執行,構成并行系統;各模塊的活動子工藝線程執行“就緒”時,調用控制步CS(其中S標表示子工藝線程的狀態字信息,取值為0,1,2,…,j)來改變模塊步序S的值,系統依據當前程序執行的模塊步序S,決定下一個或多個并行運行的任務,觸發相應的子工藝,喚醒“睡眠”中的線程。
根據系統任務劃分工藝模塊,將各存儲區按照模塊數均衡劃分,合理進行資源分配,充分發揮PLC系統資源的獨占性與共享性,如圖3所示。并行控制系統各模塊在系統資源內有唯一的存儲區,其子工藝線程與同屬一個模塊的其他子工藝線程共享模塊所擁有的全部資源,以提高系統模塊內聚性[7];同時,模塊內的子工藝線程Eij又可按照一定工藝順序輪流使用同一套特定系統資源,即控制步子程序EiCS,使得每個掃描周期內子工藝線程有序執行。各模塊間協調作業通過臨界交集資源(communication)進行通信與數據共享,完成流水寄存器的任務。


并行工藝單元間通信是基于PLC內部邏輯來對各平行動作進行控制和導航的,這就需要實時監控存儲系統中預先定義的狀態標志參數及通信參數,系統模塊間通信采用統一數據的通信方法[8],為每個模塊分配一個字節地址通信區,Ei模塊向Ei-2模塊發送請求消息時,將定義的通信數據位及傳遞的處理結果,打包成數據單元集合,作為通信數據發送Ei-1模塊;Ei-1模塊收到Ei模塊的請求消息,同時獲取控制信息,并校驗處理結果,校驗無誤時處理Ei-1模塊的請求,處理完成后改變該通信數據位的狀態。該通信方式使模塊間的通信參數一致,且由于通信參數(通信數據位)狀態非0即1,使工藝模塊間通信穩定可靠,運算處理效率提高。
PLC控制系統的可靠性直接影響到工業生產的效率與安全,因此提高控制系統可靠性具有十分重要的意義。PLC系統的可靠性通常用平均故障間隔時間(MTBF)來衡量,它表示系統從發生故障進行修理到下一次發生故障的時間間隔的平均值[9]。實際往往從以下兩方面考慮:①PLC本身軟硬件的可靠性;②所構建控制系統的可靠性。在硬件方面,具有良好的屏蔽及抗干擾措施,如CPU與I/O電路之間采用光電隔離,對電源及I/O電路采用多種形式的濾波,增加故障顯示電路等;PLC硬件采用模塊式結構,可設計熱備系統,一旦工作主機出現故障,熱備模塊可自動接替其工作[10]。在軟件方面,PLC采用周期循環掃描方式,在執行用戶程序過程中與外界隔絕,大大減小外界干擾;其用軟件取代大量的中間繼電器和時間繼電器,僅剩與輸入和輸出有關的少量硬件元件,大幅減少因觸點接觸不良造成的故障。PLC在軟、硬件諸方面的強有力可靠性措施,確保了PLC具有可靠穩定工作的特點。
控制系統構建時,為增強系統模塊內聚性及降低模塊間的耦合性,為各個模塊分配唯一的系統資源,信息屏蔽可有效避免其他模塊行為的干擾,增強系統模塊的獨立性;模塊化的系統適應“變化”的能力較強,使得更多的功能在需要時易被插到適當的位置中,因此系統具有良好的擴展性[11],能靈活應對未來可能需要的改進和分期建設的項目。因無法保證系統使用者都精準按照說明書流程操作,在系統測試時進行系列干擾行為,針對可預見的故障,分別采取了避錯、查錯、糾錯和容錯手段,如圖4所示,通過時間故障檢測法與邏輯錯誤檢測法[12],自動偵測系統故障,通過系統制定的控制策略及時自動恢復,使得系統具有自動保護功能和適應內部變化的能力,有效延長其無故障工作時間,增強系統健壯性,真正做到既可靠又穩定。
某廠工業電雷管裝配原采用的是傳統的半手工半機械化裝配方式,裝配工藝包括基礎木模運輸、基礎雷管轉模、輔模轉運、自動激光編碼、自動卡腰、自動裝配、卡口、成品脫模及收集等工藝[13],其裝配工作量大,嚴重影響生產效率且存在諸多安全隱患。經系統設計并進行徹底改造,系統控制點達112個,檢測點達120個,現改用S7-200系列PLC的智能并行控制系統,根據工藝路線進行并行工藝模塊劃分及資源分配,并行控制各個模塊的裝配生產工藝,對于設備誤動作及人為不良因素造成的故障進行預設判斷及安全預警,智能處理并自動恢復,有效防止了產品殉爆,保證了整體設備的安全和工藝動作準確無誤。實際應用表明,生產線危險工位操作人數由原23人減少至0人,生產效率由原500~600發/h提升至1 100~1 200發/h,裝配產品合格率提高至99.5%,社會效益及經濟效益有了顯著提升。

本文介紹了西門子S7-200CPU226CN系列PLC智能并行控制系統模型構建及具體構建方法,通過PLC軟、硬件保護措施及控制系統智能異常排除分析與設計,模塊化的并行控制方式,改善了控制復雜時編程條理混亂、程序擴展及維護繁瑣的實際問題,確保了并行控制系統的可靠性及穩定性,實現了多任務并行處理功能。系統自應用于工業電雷管自動裝配生產線(總I/O數約240個)至今,裝配效率及裝配成品合格率大幅提高,系統整體運行安全穩定,防錯和容錯性強,實時預警及保護功能齊全,該控制系統構建方法為PLC工業控制的諸多領域提供了借鑒。
[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].北京:機械工業出版社, 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和組態王的節能控制站遠程監控系統研究[J]. 工礦自動化, 2011, 37(2):20-23.
[5]陳國良. 并行計算機體系結構[M]. 北京:高等教育出版社, 2002.
[6]沈緒榜, 劉澤響, 王茹. 計算機體系結構的統一模型[J]. 計算機學報, 2007, 30(5):729-736.
[7]閆昭, 劉磊. 基于數據依賴關系的程序自動并行化方法[J]. 吉林大學學報:理學版, 2010, 48(1):94-98.
[8]馬雄波, 韓振宇, 王永章,等. 基于RTX的軟PLC多任務系統研究[J]. 組合機床與自動化加工技術, 2007(1):35-40.
[9]張亮. 提高PLC控制系統可靠性的軟件設計[J]. 工礦自動化, 2006(6):39-42.
[10]馬伯淵, 呂京梅, 張志同. PLC軟冗余系統性能分析[J]. 電力自動化設備, 2009, 29(2):98-101.
[11]吳建平, 王正華, 李曉梅. 并行系統可擴性分析研究[J]. 國防科技大學學報, 2001, 23(1):55-58.
[12]孟君. 基于不同冗余結構的PLC系統可靠性與可用性研究[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.