Application of the Object-oriented Method in the Paper Machine PLC Program
孟彥京 王佳寧 段明亮
(陜西科技大學(xué)電氣與信息工程學(xué)院,陜西 西安 710021)
面向?qū)ο蠓椒ㄔ谠旒垯CPLC程序中的應(yīng)用
Application of the Object-oriented Method in the Paper Machine PLC Program
孟彥京王佳寧段明亮
(陜西科技大學(xué)電氣與信息工程學(xué)院,陜西 西安710021)
摘要:將面向?qū)ο蟮姆椒☉?yīng)用在造紙機傳動系統(tǒng)的PLC程序設(shè)計中,結(jié)合造紙機的工藝特點,使用統(tǒng)一建模語言(UML)建立傳動系統(tǒng)的模型,實現(xiàn)對系統(tǒng)的抽象與類的封裝;并用構(gòu)件圖描述系統(tǒng)的結(jié)構(gòu)與功能,最終使得面向?qū)ο蟮脑O(shè)計思想在PLC程序中得以體現(xiàn)。經(jīng)過設(shè)計實踐,運用面向?qū)ο蠓椒ㄟM行PLC編程不僅極大提高了編程效率,并且使造紙機的PLC程序更易讀、易修改、復(fù)用性更強。
關(guān)鍵詞:面向?qū)ο笤旒垯CUMLPLC類圖構(gòu)件圖
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引言
如今現(xiàn)代造紙機正朝著大型化、高速化的方向發(fā)展,可編程邏輯控制器(programmable logic controller,PLC)已經(jīng)在造紙機的傳動控制系統(tǒng)中得到普遍使用,PLC程序的設(shè)計也越來越受到重視。隨著造紙機控制功能更加全面、數(shù)據(jù)處理量和通信功能的增加等,PLC程序設(shè)計的難度也隨之增加。人們也希望PLC程序能夠具有較強的可讀性和通用性,方便造紙機PLC控制系統(tǒng)后期的維護、升級與改造。顯然傳統(tǒng)的PLC程序設(shè)計方法已無法滿足人們的要求。本文針對造紙機工藝控制的要求,使用面向?qū)ο蟮姆椒▽υ旒垯C的PLC控制系統(tǒng)進行程序設(shè)計,提高了程序的可讀性和復(fù)用性。
1面向?qū)ο蠓椒ɡ碚摲治?/p>
面向?qū)ο蟪绦蛟O(shè)計方法直接以現(xiàn)實世界的實體或者概念為中心來思考問題,根據(jù)事物的本質(zhì)特征把它們抽象為對象,作為構(gòu)建軟件系統(tǒng)的基礎(chǔ)。也就是說,面向?qū)ο笫菍?fù)雜事物簡單化,將具有相同或相似結(jié)構(gòu)、操作、約束條件以及具有相同數(shù)據(jù)的對象進行合理的集合歸類,不同類之間采用入口參數(shù)判別方法加以區(qū)分,并建立起類的數(shù)據(jù)結(jié)構(gòu);而后將類的屬性和方法封裝到具有適當(dāng)定義的接口容器;最后將不同的類通過消息實現(xiàn)聯(lián)系通信。這樣就將系統(tǒng)流程的實現(xiàn)變成封裝模塊的簡單調(diào)用。
統(tǒng)一建模語言(unified modeling language,UML)是一種通用的可視化建模語言,被廣泛應(yīng)用于面向?qū)ο蟮南到y(tǒng)分析和設(shè)計。在使用面向?qū)ο蠓椒ㄔO(shè)計軟件程序時,UML模型能夠合理地封裝系統(tǒng)中的對象,隔離對象的內(nèi)部活動和外部的聯(lián)系。UML使用類圖表示對象的結(jié)構(gòu),使用狀態(tài)圖表示對象的內(nèi)部活動,使用活動圖等精確描述對象之間的關(guān)系,同時還可以詳細表示對象的繼承關(guān)系、靜態(tài)結(jié)構(gòu)、動態(tài)特性以及相互協(xié)作等[1]。這樣就掩蓋了軟件程序的具體細節(jié),簡化了程序設(shè)計過程,同時使得軟件程序具有更好的可讀性和復(fù)用性。
UML模型用標(biāo)準(zhǔn)的圖形來描述系統(tǒng)的功能和形態(tài),主要包括用例圖、靜態(tài)模型、動態(tài)模型和實現(xiàn)模型。造紙機傳動系統(tǒng)動態(tài)調(diào)節(jié)反應(yīng)較快,系統(tǒng)啟動后能夠快速地運行在穩(wěn)定狀態(tài)。
本文只針對造紙機傳動系統(tǒng)PLC程序的用例圖、靜態(tài)模型和實現(xiàn)模型進行分析。
2造紙機面向?qū)ο蠓椒ǖ腜LC程序設(shè)計
造紙機電氣傳動控制系統(tǒng)性能的好壞是決定一臺造紙機能否高效率、高質(zhì)量進行生產(chǎn)的前提,為保證其連續(xù)地高效率、高質(zhì)量進行生產(chǎn),傳動系統(tǒng)的PLC控制程序就顯得尤為重要。本文以某造紙廠為例,該造紙機共設(shè)計有21個傳動點,主要包括網(wǎng)部、壓榨部、烘干部、施膠部和卷取部。若要完成各分部的功能實現(xiàn),就需要合理、有效地控制驅(qū)動各個傳動點的交流電機,使其協(xié)調(diào)運行,這樣才能保證整個傳動系統(tǒng)高效、穩(wěn)定地運行。造紙機的傳動點主要包括真空伏輥、驅(qū)網(wǎng)輥、導(dǎo)網(wǎng)輥、真空吸移、壓榨輥、烘缸、施膠、卷取等[2]。在造紙機工作時,不僅要求傳動點可以順序啟停,并且需要傳動點之間進行速度鏈的傳遞和負荷的分配。
該造紙機傳動系統(tǒng)速度鏈的傳遞與負荷分配如圖1所示。
圖1 系統(tǒng)速度鏈的傳遞與負荷分配示意圖
圖1中,虛線箭頭表示負荷分配,實線箭頭表示僅具有速度控制。速度鏈就是傳動系統(tǒng)中各相鄰傳動點之間速度保持一定的比例,且在車速調(diào)整中不影響前一級速度,只影響本級和本級以后車速的一種速度信號傳遞的鏈?zhǔn)浇Y(jié)構(gòu)。負荷分配的實質(zhì)就是速度控制與轉(zhuǎn)矩控制的結(jié)合,要求系統(tǒng)某些分部之間不僅速度同步,而且負載率均衡[3]。
2.1.1功能模型用例圖
系統(tǒng)功能模型用例圖如圖2所示。
(5)Because he is too busy to have a good rest,he feels tired of his life.
圖2 系統(tǒng)功能模型用例圖
用例圖是軟件需求分析到最終實現(xiàn)的第一步,主要用來描述用戶、需求、系統(tǒng)功能單元之間的關(guān)系。它展示了一個外部用戶能夠觀察到的系統(tǒng)功能模型圖。用例圖從用戶的角度來展現(xiàn)系統(tǒng)的功能,便于軟件開發(fā)人員最終實現(xiàn)這些功能[4]。UML的用例模型不僅能夠展現(xiàn)系統(tǒng)功能需求,還能夠更加清楚地描述系統(tǒng)的參與者,即外部執(zhí)行者和系統(tǒng)之間的交互關(guān)系以及參與者之間的關(guān)系。
造紙機傳動控制系統(tǒng)的參與者一般包括操作員、管理員、數(shù)據(jù)庫、文件管理、PLC、變頻器、人機交互等。其中PLC、變頻器和人機交互可以總結(jié)為系統(tǒng)的硬件設(shè)計。系統(tǒng)的用戶包括操作員和管理員,分別通過人機交互實現(xiàn)對造紙機傳動系統(tǒng)的控制[5]。
2.1.2靜態(tài)模型
靜態(tài)模型類圖如圖3所示。
圖3 造紙機傳動系統(tǒng)靜態(tài)模型類圖
類圖是面向?qū)ο笙到y(tǒng)建模中的核心視圖,以反映類的結(jié)構(gòu)(屬性、操作)以及類之間的關(guān)系為主要目的一種靜態(tài)模型。類圖中的類與面向?qū)ο笳Z言中的類的概念是對應(yīng)的,是對事物的抽象歸類[6]。這里運用類圖建立造紙機傳動系統(tǒng)的靜態(tài)模型。
在面向?qū)ο蠓椒ň幊讨校瑢ο到y(tǒng)類的劃分有很多不同的分法。劃分類的不同使得系統(tǒng)的實現(xiàn)模型不同,從而使程序設(shè)計也會有很大的差異。結(jié)合造紙機傳動系統(tǒng)傳動點多、速度鏈的傳遞和負荷分配的特點,本文采用按照系統(tǒng)功能類型進行分類。這與按照對象分類的不同之處在于,按照功能類型進行分類可以針對一組控制算法,將具有相同或相似功能的操作對象歸為一類,將每一個算法封裝到具有共同接口的獨立的類中,從而使得對控制算法的增減、修改都不會影響其他的對象,形成了有效隔離。按照這種方法,抽象類可以歸結(jié)為通信類、電機操作類、實際工作參數(shù)類和參數(shù)給定類。
2.1.3實現(xiàn)模型
UML建模中的構(gòu)件是系統(tǒng)中可以替換的代碼模塊,每個構(gòu)件都體現(xiàn)了系統(tǒng)設(shè)計中的類的實現(xiàn)。構(gòu)件圖是從軟件結(jié)構(gòu)的角度來描述一個系統(tǒng)的主要功能[7],可以清楚地看出系統(tǒng)程序的結(jié)構(gòu)和功能。定義良好的構(gòu)件不直接依賴于其他構(gòu)件而是依賴于所支持的接口,這樣就可以避免系統(tǒng)的各個構(gòu)件之間發(fā)生依賴關(guān)系,有利于新構(gòu)件的替換。造紙機傳動系統(tǒng)的程序構(gòu)件圖如圖4所示。
圖4 造紙機傳動控制系統(tǒng)構(gòu)件圖
根據(jù)系統(tǒng)靜態(tài)模型中的分類,使用4個構(gòu)件實現(xiàn)系統(tǒng)的功能,21個傳動點可以重復(fù)調(diào)用通信構(gòu)件、電機控制構(gòu)件、實際參數(shù)構(gòu)件和參數(shù)給定構(gòu)件。造紙機傳動系統(tǒng)的速度鏈的傳遞與負荷分配也可以用這4個構(gòu)件實現(xiàn)。按照這個方法,后期如果需要對系統(tǒng)進行升級或者程序移植,只需要增加或刪減傳動點,修改傳動點的入口參數(shù)即可,使得程序具有更好的可讀性和復(fù)用性。
本系統(tǒng)采用西門子S7-300 PLC,程序編寫在Step7中進行。用戶程序主要由組織塊(organization block,OB)、功能(function,FC)、功能塊(function block,FB)、數(shù)據(jù)塊(data block,DB)組成。經(jīng)過UML對造紙機的傳動系統(tǒng)進行建模后,這里使用功能塊(FB)來對建模中的類的程序進行封裝,當(dāng)編寫設(shè)備的具體程序時,只需要調(diào)用該類的FB即可,同時也會為其配置一個背景數(shù)據(jù)塊[8-10]。
造紙傳動系統(tǒng)由21個傳動點組成,每個傳動點都通過調(diào)用封裝通信構(gòu)件、電機控制構(gòu)件、實際參數(shù)構(gòu)件和參數(shù)給定構(gòu)件這4個構(gòu)件的FB塊即可實現(xiàn)各個傳動點的控制程序的編寫。這樣就可以使傳動系統(tǒng)的PLC程序更加容易修改,提高了程序的復(fù)用性。調(diào)用FB塊示意圖如圖5所示。
圖5 調(diào)用FB塊示意圖
3結(jié)束語
本文將面向?qū)ο蟮姆椒☉?yīng)用在造紙機傳動系統(tǒng)的PLC程序設(shè)計中。使用UML對傳動系統(tǒng)進行了建模,不僅對系統(tǒng)進行了抽象與類的封裝,并且用構(gòu)件圖描述了系統(tǒng)的結(jié)構(gòu)與功能。在最后的程序?qū)崿F(xiàn)時,這種面向?qū)ο蟮腜LC編程方法不但提高了編程效率,而且使造紙機系統(tǒng)的程序更易于閱讀和修改,對造紙機控制系統(tǒng)的生產(chǎn)和維護具有很大的指導(dǎo)和借鑒價值。
參考文獻
[1] 張崇明,汪春梅,周毅,等.一種面向?qū)ο蟮腜LC程序設(shè)計方法[J].計算機工程與應(yīng)用,2007,43(21):106-107.
[2] 孟彥京.造紙機變頻傳動的原理與設(shè)計[M].西安:陜西人民出版社,2002.
[3] 王志軍,張池.造紙機負荷分配產(chǎn)生的原因與控制[J].中國造紙,2009,28(9):58-60.
[4] 黃詠,莊誠,高東杰.輸送系統(tǒng)的UML建模、優(yōu)化與實現(xiàn)[J].控制工程,2006,13(1):55-59.
[5] 杜清.基于UML的工業(yè)軟控制器的建模[D].汕頭:汕頭大學(xué),2006.
[6] 周元芳.結(jié)構(gòu)化及面向?qū)ο蟮某绦蛟O(shè)計方法在PLC編程中的應(yīng)用[J].浙江工學(xué)院學(xué)報,2003,31(3):264-267.
[7] 周珂,李子豐.基于UML構(gòu)件分析的軟件復(fù)用技術(shù)[J].航空計算技術(shù),2004,34(2):51-53.
[8] 陳娟,周猛.面向?qū)ο蟮某绦蛟O(shè)計方法在PLC程序設(shè)計中的應(yīng)用[J].電氣自動化,2001,23(3):55-57.
[9] 楊英成.面向?qū)ο蠓椒ㄔ赑LC程序設(shè)計中的應(yīng)用研究[D].太原:太原科技大學(xué),2011.
[10]孟彥京,薛寧.造紙機PLC程序的結(jié)構(gòu)化設(shè)計研究[J].自動化儀表,2014,35(3):49-51.
中圖分類號:TP273
文獻標(biāo)志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201503008
修改稿收到日期:2014-08-20。
第一作者孟彥京(1956-),男,2012年畢業(yè)于陜西科技大學(xué)紙漿造紙工程專業(yè),獲博士學(xué)位,教授;主要從事電力電子與電力傳動、風(fēng)力發(fā)電、光伏發(fā)電、電機軟啟動器等方面的研究。