尚 苗 馬文明
(西京學院,陜西西安,710123)
·復卷機程序設計·
面向對象方法在復卷機程序設計中的應用
尚 苗 馬文明*
(西京學院,陜西西安,710123)
針對復卷機電控系統的控制程序缺乏標準性、復用性和可移植性,本課題采取面向對象的編程方法應用在復卷機的電控系統的程序中,用來解決復卷機控制程序開發和使用過程中的復用性和可移植性的問題。通過實踐證明,采取面向對象編程方法對復卷機進行PLC編程,使得編程效率得到很大的提高,同時使復卷機的PLC程序更加簡單、容易修改、可移植性更強。
復卷機;面向對象;復用性;可移植性
隨著造紙裝備的發展和技術進步,造紙廠對生產過程中紙張質量和性能的控制都提出了很高的要求,對復卷機電控系統的要求就是其中之一。怎樣在短時間內使紙廠電工人員快速掌握復卷機的電控程序的操作和修改,使復卷機出現問題后能夠得到快速解決,不會給紙廠帶來太多損失,這就要求復卷機的電控程序要有標準模塊性、復用性、可移植性。面向對象的編程方法應用在復卷機電控系統程序中可以解決上面所提出的要求,使復卷機的電控程序具有復用性和可移植性[1]。本文根據復卷機傳動控制的工藝要求,采用面向對象的編程方法對復卷機的控制系統程序進行設計,并結合S7-300PLC和現場實例項目對復卷機電控系統的程序進行調試和應用,對程序的準確性進行了驗證。
面向對象分析過程包括建立需求模型、建立基本模型、建立輔助模型和建立模型規約等主要活動,其
過程模型如圖1所示。
建立需求模型的活動包括確定系統邊界、發現參與者和定義用況3個子活動,從而形成一個有參與者、用況以及它們之間的關系所構成的用況圖,即需求模型。建立需求模型的活動通常應該放在分析工作的開始,但在執行其他活動時,如果發現需求模型需要修改或補充,則可以隨時回到這個活動。建立基本模型(類圖)的活動包括發現對象(用類描述所有的對象)、定義對象的特征(包括對象的屬性和操作)和定義對象間的關系(包括繼承、聚合、關聯和消息)3個子活動,這些子活動可以構造系統的基本模型-類圖[2-3]。

圖1 面向對象分析過程模型

圖2 控制系統的用況圖
統一建模語言(unified modeling language,UML)是以可視化方式描述軟件系統的結構和行為的標準語言,目前在面向對象的系統分析和設計中應用比較多。使用面向對象方法進行程序的設計時,統一建模語言可以將系統中的對象進行封裝,將對象的內部活動和外部的聯系進行分隔。UML通過類圖將對象的結構表示出來,采用狀態圖能夠將對象的內部的活動給表示出來,通過活動圖可以把對象之間的聯系描繪出來。同時UML還能夠將對象的繼承關系、靜態結構、動態特性以及相互協作等比較詳細的描繪出來[4]。
通過UML可以掩蓋程序的具體細節,使得程序設計過程得以簡化,同時使所設計的軟件程序具有更好的復用性和可移植性。
面向對象方法把計算機程序設計分為3個階段:一是面向對象分析階段,此階段主要是對系統進行需求分析,明確系統所完成任務以實現系統初步的功能劃分;二是系統功能設計階段,主要是在需求分析的基礎上,通過對系統建立各種模型來描述其詳細功能;三是面向對象程序設計階段,主要是對詳細設計的各功能通過面向對象的編程語言進行編程實現。通過這三個階段的有效配合設計出符合要求的程序系統。
因為篇幅原因,在這里只對復卷機傳動系統的用況圖、PLC程序的用類圖、構件圖和實現過程進行分析。
2 面向對象方法的復卷機PLC程序設計
在問題分析中,將整個復卷機電控系統看成是一個統一的整體,以這個整體為核心,周邊的參與者以及它們之間的各種關系構成的模型圖稱為用況圖,用況圖以直觀的形式展示了系統的用戶需求,是系統的需求模型。復卷機電控系統的需求模型即用況圖如圖2所示。在復卷機電控系統中的用況圖中,參與者一般包括現場車間的操作人員、系統管理人員、PLC、調速裝置和人機界面HMI,其中,現場車間的操作人員和系統管理人員屬于系統用戶,PLC、調速裝置和人機界面屬于硬件設備,系統用戶通過硬件設備完成對復卷機電控系統的控制。
在面向對象的建模中,類圖最集中、最完整地體

圖3 控制系統的類圖

圖4 輔助模型-構件圖
現了面向對象的概念,類圖為面向對象的編程提供了最直接、最可靠的依據,只要在類圖及其規約中把系統中的各個類、它們的屬性、操作以及各個類之間的關系清晰地表示出來,程序員便可以直接對照這個模型來編程[5- 6]。而在建立類圖的過程中,可以在發現對象、尋找特征、定義關系三個層次上進行分析,從而構成一個完整的類圖。按照UML建立的基本模型-類圖如圖3所示。
在面向對象的分析中,構件作為軟件復用技術的重要概念,常常作為可復用構件的簡稱,而構件圖是一種表示構件的組織結構與相互關系的圖,用于將系統的元素組織成構件,并通過接口描述構件之間的關系,以支持基于構件的軟件開發。UML為構件提供了多種形式的表示法,基本上是在一個矩形框的內部給出構件的名稱和內容,并且在矩形框內的一個角落附加一個圖標,表明這是一個構件,在矩形框外畫出構件的接口。在復卷機電控系統中,前底輥、后底輥、退紙輥、圓刀和壓紙輥5個傳動點可并列作為一個構件,它們對外部其他構件的關系成一個統一的屬性。通信類數據構件和通信類程序構件、功能控制類構件和功能控制類程序構件、數據運算類構件和數據運算類程序構件之間的關系均為依賴關系,而通信類程序構件、功能控制類程序構件、數據運算類程序構件這三種構件與傳動點統一屬性構件的關系為實現關系。傳動點同一屬性構件也已與通信類構件、功能運算類構件和數據運算類構件之間通過屬性和實現的關系進行調用從而實現各自功能的實現[7],輔助模型-構件圖如圖4所示。這樣如果后期需要對系統進行升級或者程序移植,只需要增加或刪減構件,修改構件的入口參數即可,使得程序具有更好的可讀性和復用性。
在基于面向對象的復卷機電控系統的程序設計中,根據對復卷機傳動控制工藝和面向對象程序設計的分析,將整個控制系統的傳動程序分為三類,通信類程序、功能控制類程序和數據運算類程序。根據基于面向對象的復卷機電控系統程序設計方法,以S7-300PLC為平臺,構建基于S7-300PLC的程序整體框架如圖5所示[8],其中數據運算類中的各個對象分別被功能控制類中的各個功能模塊調用,在通過通信類程序實現PLC與現場變頻器、操作屏的聯系,從而實現復卷機傳動控制的各個功能。

圖5 程序整體框架
STEP7的用戶程序通常由組織塊(OB)、功能塊(FB)、功能(FC)、系統功能塊(SFB)、系統功能(SFC)和背景數據塊(DB)組成。組織塊(OB)是系統操作程序與用戶應用程序在各種條件下的接口界面,用于控制程序的運行,因此,在本次程序設計中,主程序循環塊使用OB1用于循環處理,可以將所有的程序按照上文所述的分類均放入OB1中,通過OB1調用這些功能控制類程序和通信類程序。功能(FC)是用戶編寫的沒有固定存儲區的塊,功能塊(FB)是用戶編寫的有自己的存儲區的塊,在本程序設計中,控制功能類的所有功能對象和通信類程序均在功能(FC)中進行編寫,每種功能對象對應一個功能(FC),并分別進行編號,即FC xx。系統功能(SFC)和系統功能塊(SFB)是預先編制好經測試后集成在S7 CPU中的功能程序庫,用戶可以直接調用,提高程序的編制效果,在本次程序設計中,通信類程序就直接調用系統功能SFC14、SCF15來進行通信程序的編寫[9]。
在程序測試中,先調試子程序或功能塊模塊,然后調試初始化程序,最后調試主程序。如圖6所示,圖6中括號內的數字為調試的順序,測試的時候,應首先測試圖中的FB1,測試好FB1后再測試調用FB1的FC3,測試時可以在完成的OB1的中間臨時插入BEU(無條件結束)指令,只執行BEU指令測試好之后可以將它刪除。最后測試不影響OB1的循環執行的中斷處理程序,或者在測試OB1時測試它們。現場的實際調試表明基于面向對象編程思想設計的復卷機電控系統程序可以實際應用,從而驗證了程序的準確性、實用性和可移植性。

圖6 程序測試的順序圖
通過采用面向對象的編程方法構建程序的架構,使得復卷機電控系統程序的設計流程規范化、通俗化、易懂化,有利于縮短程序設計的周期,方便程序的二次利用和復卷機電控系統的升級和改造。通過對復卷機電控系統程序調試方法進行分析,提高操作人員在現場的調試效率,同時提高企業生產效率,降低生產成本。
[1] MENG Yan-jing, XUE Ning, DUAN Ming-liang. Reusability Research of Paper Machine Drive Control Procedures[J]. China Pulp & Paper, 2014, 33(1): 45. 孟彥京, 薛 寧, 段明亮.紙機傳動控制程序的復用性研究[J]. 中國造紙, 2014, 33(1): 45.
[2] Lin Ling. Application and comparison of structured method and object-oriented method in modeling[J]. Motor Technology, 2011 (5): 26. 林 玲. 結構化方法與面向對象方法在建模中的應用與比較[J]. 電機技術, 2011(5): 26.
[3] Zhang Lan, Zhang Zhi-wei. Introduction to object-oriented programming[J] Inner Mongolia Science and Technology & Economy, 2009 (5): 119. 張 嵐, 張志偉. 淺談面向對象的程序設計[J]. 內蒙古科技與經濟, 2009(5): 119.
[4] Li Liu-ying, Han Bing, Cao Lei, et al. Unified modeling language UML[J]. Computer Science, 1998, 25(5): 11. 李留英, 韓 冰, 曹 蕾, 等. 統一建模語言UML[J]. 計算機科學, 1998, 25(5): 11.
[5] LI Qian, ZHAO Dan. Application in Paper Roll Back Control of Rewinding Machine of DCS550 Curly Macros[J]. China Pulp & Paper, 2015, 34(7): 51. 李 茜, 趙 丹. DCS550卷曲宏在復卷機退紙輥控制中的應用[J]. 中國造紙, 2015, 34(7): 51.
[6] MENG Yan-jing, WANG Jian-yong, XUE Ning. Application of the Rewinding Electromechanical Control System of DCACS550 Vector Torque Control[J]. China Pulp & Paper, 2009, 28(6): 72. 孟彥京, 王建勇. ACS550矢量轉矩控制在復卷機電控系統中的應用[J]. 中國造紙, 2009, 28(6): 72.
[7] Shao Wei-zhong, Yang Fu-qing. bject oriented analysis and design[M]. Beijing: Tsinghua University Press, 2013. 邵維忠, 楊芙清. 面向對象的分析與設計[M]. 北京: 清華大學出版社, 2013.
[8] Zhao Dan, Li qian. Electronic control system design of rewinding machine based on profinet industrial ethernet[J]. Paper & Paper Making, 2015, 33(4): 4. 趙 丹, 李 茜. 基于Profinet工業以太網的復卷機電控系統設計[J]. 紙和造紙, 2015, 33(4): 4.

(責任編輯:馬 忻)
Application of Object-Oriented Programming Method in Rewinder Program Design
SHANG Miao MA Wen-ming*
(XijingUniversity,Xi’an,ShaanxiProvince, 710123)
(*E-mail: 987746606@qq.com)
Aiming to the problem of lack of standardization, reusability and portaility of control program for rewinder control system, object oriented programming method was applied in the electric control system of rewinder in order to solve reusability and protability in development and application of the control program. The practical application proved that the PLC programming efficiency of rewinder was greatly improved ,and PLC program of rewinder became more simple, easy to modify, and stronger portability.
rewinder; Object-oriented; Reusability; Portability
尚 苗女士,碩士,助教;主要從事機電一體化、紙機變頻傳動、智能機器人等方面的教學與科研工作。
2016- 10- 31(修改稿)
西京學院科研基金項目(XJ150212);西京學院科研基金項目(XJ150213)。
TS734+.7
A
10.11980/j.issn.0254- 508X.2017.03.011
*通信作者:馬文明,碩士,助教;研究方向:電力電子與電力傳動,電機控制與變頻調速。