面向对象方法在复卷机程序设计中的应用
2017-04-19马文明
尚 苗 马文明
(西京学院,陕西西安,710123)
·复卷机程序设计·
面向对象方法在复卷机程序设计中的应用
尚 苗 马文明*
(西京学院,陕西西安,710123)
针对复卷机电控系统的控制程序缺乏标准性、复用性和可移植性,本课题采取面向对象的编程方法应用在复卷机的电控系统的程序中,用来解决复卷机控制程序开发和使用过程中的复用性和可移植性的问题。通过实践证明,采取面向对象编程方法对复卷机进行PLC编程,使得编程效率得到很大的提高,同时使复卷机的PLC程序更加简单、容易修改、可移植性更强。
复卷机;面向对象;复用性;可移植性
随着造纸装备的发展和技术进步,造纸厂对生产过程中纸张质量和性能的控制都提出了很高的要求,对复卷机电控系统的要求就是其中之一。怎样在短时间内使纸厂电工人员快速掌握复卷机的电控程序的操作和修改,使复卷机出现问题后能够得到快速解决,不会给纸厂带来太多损失,这就要求复卷机的电控程序要有标准模块性、复用性、可移植性。面向对象的编程方法应用在复卷机电控系统程序中可以解决上面所提出的要求,使复卷机的电控程序具有复用性和可移植性[1]。本文根据复卷机传动控制的工艺要求,采用面向对象的编程方法对复卷机的控制系统程序进行设计,并结合S7-300PLC和现场实例项目对复卷机电控系统的程序进行调试和应用,对程序的准确性进行了验证。
1 基于面向对象的编程理论分析
面向对象分析过程包括建立需求模型、建立基本模型、建立辅助模型和建立模型规约等主要活动,其
过程模型如图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]。
3 程序测试和调试
在程序测试中,先调试子程序或功能块模块,然后调试初始化程序,最后调试主程序。如图6所示,图6中括号内的数字为调试的顺序,测试的时候,应首先测试图中的FB1,测试好FB1后再测试调用FB1的FC3,测试时可以在完成的OB1的中间临时插入BEU(无条件结束)指令,只执行BEU指令测试好之后可以将它删除。最后测试不影响OB1的循环执行的中断处理程序,或者在测试OB1时测试它们。现场的实际调试表明基于面向对象编程思想设计的复卷机电控系统程序可以实际应用,从而验证了程序的准确性、实用性和可移植性。
图6 程序测试的顺序图
4 总 结
通过采用面向对象的编程方法构建程序的架构,使得复卷机电控系统程序的设计流程规范化、通俗化、易懂化,有利于缩短程序设计的周期,方便程序的二次利用和复卷机电控系统的升级和改造。通过对复卷机电控系统程序调试方法进行分析,提高操作人员在现场的调试效率,同时提高企业生产效率,降低生产成本。
[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
*通信作者:马文明,硕士,助教;研究方向:电力电子与电力传动,电机控制与变频调速。