Application of the Object-oriented Method in the Paper Machine PLC Program
孟彥京 王佳寧 段明亮
(陜西科技大學電氣與信息工程學院,陜西 西安 710021)
面向對象方法在造紙機PLC程序中的應用
Application of the Object-oriented Method in the Paper Machine PLC Program
孟彥京王佳寧段明亮
(陜西科技大學電氣與信息工程學院,陜西 西安710021)
摘要:將面向對象的方法應用在造紙機傳動系統的PLC程序設計中,結合造紙機的工藝特點,使用統一建模語言(UML)建立傳動系統的模型,實現對系統的抽象與類的封裝;并用構件圖描述系統的結構與功能,最終使得面向對象的設計思想在PLC程序中得以體現。經過設計實踐,運用面向對象方法進行PLC編程不僅極大提高了編程效率,并且使造紙機的PLC程序更易讀、易修改、復用性更強。
關鍵詞:面向對象造紙機UMLPLC類圖構件圖
Abstract:Combining with the characteristics of technological process of paper machine, the object-oriented method is applied in designing PLC program for drive train of paper machine, and the model of drive train is established by using unified modeling language (UML) to realize the system abstract and the class encapsulation; and the structure and functions of the system are described using component diagram, to make object oriented design concept can be implemented in PLC program. Through the practicing of design, it is found that applying object oriented method for PLC programming, the programming efficiency is greatly increased, and the PLC program of paper machine is more easier to read and modificate and possesses strong reusability.
Keywords:Object-orientedPaper machineUMLPLCClass diagramComponent diagram
0引言
如今現代造紙機正朝著大型化、高速化的方向發展,可編程邏輯控制器(programmable logic controller,PLC)已經在造紙機的傳動控制系統中得到普遍使用,PLC程序的設計也越來越受到重視。隨著造紙機控制功能更加全面、數據處理量和通信功能的增加等,PLC程序設計的難度也隨之增加。人們也希望PLC程序能夠具有較強的可讀性和通用性,方便造紙機PLC控制系統后期的維護、升級與改造。顯然傳統的PLC程序設計方法已無法滿足人們的要求。本文針對造紙機工藝控制的要求,使用面向對象的方法對造紙機的PLC控制系統進行程序設計,提高了程序的可讀性和復用性。
1面向對象方法理論分析
面向對象程序設計方法直接以現實世界的實體或者概念為中心來思考問題,根據事物的本質特征把它們抽象為對象,作為構建軟件系統的基礎。也就是說,面向對象是對復雜事物簡單化,將具有相同或相似結構、操作、約束條件以及具有相同數據的對象進行合理的集合歸類,不同類之間采用入口參數判別方法加以區分,并建立起類的數據結構;而后將類的屬性和方法封裝到具有適當定義的接口容器;最后將不同的類通過消息實現聯系通信。這樣就將系統流程的實現變成封裝模塊的簡單調用。
統一建模語言(unified modeling language,UML)是一種通用的可視化建模語言,被廣泛應用于面向對象的系統分析和設計。在使用面向對象方法設計軟件程序時,UML模型能夠合理地封裝系統中的對象,隔離對象的內部活動和外部的聯系。UML使用類圖表示對象的結構,使用狀態圖表示對象的內部活動,使用活動圖等精確描述對象之間的關系,同時還可以詳細表示對象的繼承關系、靜態結構、動態特性以及相互協作等[1]。這樣就掩蓋了軟件程序的具體細節,簡化了程序設計過程,同時使得軟件程序具有更好的可讀性和復用性。
UML模型用標準的圖形來描述系統的功能和形態,主要包括用例圖、靜態模型、動態模型和實現模型。造紙機傳動系統動態調節反應較快,系統啟動后能夠快速地運行在穩定狀態。
本文只針對造紙機傳動系統PLC程序的用例圖、靜態模型和實現模型進行分析。
2造紙機面向對象方法的PLC程序設計
造紙機電氣傳動控制系統性能的好壞是決定一臺造紙機能否高效率、高質量進行生產的前提,為保證其連續地高效率、高質量進行生產,傳動系統的PLC控制程序就顯得尤為重要。本文以某造紙廠為例,該造紙機共設計有21個傳動點,主要包括網部、壓榨部、烘干部、施膠部和卷取部。若要完成各分部的功能實現,就需要合理、有效地控制驅動各個傳動點的交流電機,使其協調運行,這樣才能保證整個傳動系統高效、穩定地運行。造紙機的傳動點主要包括真空伏輥、驅網輥、導網輥、真空吸移、壓榨輥、烘缸、施膠、卷取等[2]。在造紙機工作時,不僅要求傳動點可以順序啟停,并且需要傳動點之間進行速度鏈的傳遞和負荷的分配。
該造紙機傳動系統速度鏈的傳遞與負荷分配如圖1所示。

圖1 系統速度鏈的傳遞與負荷分配示意圖
圖1中,虛線箭頭表示負荷分配,實線箭頭表示僅具有速度控制。速度鏈就是傳動系統中各相鄰傳動點之間速度保持一定的比例,且在車速調整中不影響前一級速度,只影響本級和本級以后車速的一種速度信號傳遞的鏈式結構。負荷分配的實質就是速度控制與轉矩控制的結合,要求系統某些分部之間不僅速度同步,而且負載率均衡[3]。
2.1.1功能模型用例圖
系統功能模型用例圖如圖2所示。
(5)Because he is too busy to have a good rest,he feels tired of his life.

圖2 系統功能模型用例圖
用例圖是軟件需求分析到最終實現的第一步,主要用來描述用戶、需求、系統功能單元之間的關系。它展示了一個外部用戶能夠觀察到的系統功能模型圖。用例圖從用戶的角度來展現系統的功能,便于軟件開發人員最終實現這些功能[4]。UML的用例模型不僅能夠展現系統功能需求,還能夠更加清楚地描述系統的參與者,即外部執行者和系統之間的交互關系以及參與者之間的關系。
造紙機傳動控制系統的參與者一般包括操作員、管理員、數據庫、文件管理、PLC、變頻器、人機交互等。其中PLC、變頻器和人機交互可以總結為系統的硬件設計。系統的用戶包括操作員和管理員,分別通過人機交互實現對造紙機傳動系統的控制[5]。
2.1.2靜態模型
靜態模型類圖如圖3所示。

圖3 造紙機傳動系統靜態模型類圖
類圖是面向對象系統建模中的核心視圖,以反映類的結構(屬性、操作)以及類之間的關系為主要目的一種靜態模型。類圖中的類與面向對象語言中的類的概念是對應的,是對事物的抽象歸類[6]。這里運用類圖建立造紙機傳動系統的靜態模型。
在面向對象方法編程中,對系統類的劃分有很多不同的分法。劃分類的不同使得系統的實現模型不同,從而使程序設計也會有很大的差異。結合造紙機傳動系統傳動點多、速度鏈的傳遞和負荷分配的特點,本文采用按照系統功能類型進行分類。這與按照對象分類的不同之處在于,按照功能類型進行分類可以針對一組控制算法,將具有相同或相似功能的操作對象歸為一類,將每一個算法封裝到具有共同接口的獨立的類中,從而使得對控制算法的增減、修改都不會影響其他的對象,形成了有效隔離。按照這種方法,抽象類可以歸結為通信類、電機操作類、實際工作參數類和參數給定類。
2.1.3實現模型
UML建模中的構件是系統中可以替換的代碼模塊,每個構件都體現了系統設計中的類的實現。構件圖是從軟件結構的角度來描述一個系統的主要功能[7],可以清楚地看出系統程序的結構和功能。定義良好的構件不直接依賴于其他構件而是依賴于所支持的接口,這樣就可以避免系統的各個構件之間發生依賴關系,有利于新構件的替換。造紙機傳動系統的程序構件圖如圖4所示。

圖4 造紙機傳動控制系統構件圖
根據系統靜態模型中的分類,使用4個構件實現系統的功能,21個傳動點可以重復調用通信構件、電機控制構件、實際參數構件和參數給定構件。造紙機傳動系統的速度鏈的傳遞與負荷分配也可以用這4個構件實現。按照這個方法,后期如果需要對系統進行升級或者程序移植,只需要增加或刪減傳動點,修改傳動點的入口參數即可,使得程序具有更好的可讀性和復用性。
本系統采用西門子S7-300 PLC,程序編寫在Step7中進行。用戶程序主要由組織塊(organization block,OB)、功能(function,FC)、功能塊(function block,FB)、數據塊(data block,DB)組成。經過UML對造紙機的傳動系統進行建模后,這里使用功能塊(FB)來對建模中的類的程序進行封裝,當編寫設備的具體程序時,只需要調用該類的FB即可,同時也會為其配置一個背景數據塊[8-10]。
造紙傳動系統由21個傳動點組成,每個傳動點都通過調用封裝通信構件、電機控制構件、實際參數構件和參數給定構件這4個構件的FB塊即可實現各個傳動點的控制程序的編寫。這樣就可以使傳動系統的PLC程序更加容易修改,提高了程序的復用性。調用FB塊示意圖如圖5所示。

圖5 調用FB塊示意圖
3結束語
本文將面向對象的方法應用在造紙機傳動系統的PLC程序設計中。使用UML對傳動系統進行了建模,不僅對系統進行了抽象與類的封裝,并且用構件圖描述了系統的結構與功能。在最后的程序實現時,這種面向對象的PLC編程方法不但提高了編程效率,而且使造紙機系統的程序更易于閱讀和修改,對造紙機控制系統的生產和維護具有很大的指導和借鑒價值。
參考文獻
[1] 張崇明,汪春梅,周毅,等.一種面向對象的PLC程序設計方法[J].計算機工程與應用,2007,43(21):106-107.
[2] 孟彥京.造紙機變頻傳動的原理與設計[M].西安:陜西人民出版社,2002.
[3] 王志軍,張池.造紙機負荷分配產生的原因與控制[J].中國造紙,2009,28(9):58-60.
[4] 黃詠,莊誠,高東杰.輸送系統的UML建模、優化與實現[J].控制工程,2006,13(1):55-59.
[5] 杜清.基于UML的工業軟控制器的建模[D].汕頭:汕頭大學,2006.
[6] 周元芳.結構化及面向對象的程序設計方法在PLC編程中的應用[J].浙江工學院學報,2003,31(3):264-267.
[7] 周珂,李子豐.基于UML構件分析的軟件復用技術[J].航空計算技術,2004,34(2):51-53.
[8] 陳娟,周猛.面向對象的程序設計方法在PLC程序設計中的應用[J].電氣自動化,2001,23(3):55-57.
[9] 楊英成.面向對象方法在PLC程序設計中的應用研究[D].太原:太原科技大學,2011.
[10]孟彥京,薛寧.造紙機PLC程序的結構化設計研究[J].自動化儀表,2014,35(3):49-51.
中圖分類號:TP273
文獻標志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201503008
修改稿收到日期:2014-08-20。
第一作者孟彥京(1956-),男,2012年畢業于陜西科技大學紙漿造紙工程專業,獲博士學位,教授;主要從事電力電子與電力傳動、風力發電、光伏發電、電機軟啟動器等方面的研究。