面向对象方法在造纸机PLC程序中的应用孟彦京。等 面向对象方法在造纸机PLC程序中的应用 Application of the Object—oriented Method in the Paper Machine PLC Program 孟廛煮 互佳寄 饭明亮 (陕西科技大学电气与信息工程学院,陕西西安710021) 摘要:将面向对象的方法应用在造纸机传动系统的PLC程序设计中,结合造纸机的工艺特点,使用统一建模语言(UML)建立传动 系统的模型,实现对系统的抽象与类的封装;并用构件图描述系统的结构与功能,最终使得面向对象的设计思想在PLC程序中得以体 现。经过设计实践,运用面向对象方法进行PLC编程不仅极大提高了编程效率,并且使造纸机的PLC程序更易读、易修改、复用性 更强。 关键词:面向对象造纸机UML PLC类图文献标志码:A 构件图 DOI:10.16086/j.cnki.issnl000—0380.201503008 中图分类号:TP273 Abstract:Combining with the characteirstics 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 uniifed modeling language(UML)to realize het 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 eficifency is greatly increased,and the PLC program of paper machine is more easier to read and modifieate and possesses strong reusability. Keywords:Object-oriented Paper machine UML PLC Class diagram Component diagram 0引言 如今现代造纸机正朝着大型化、高速化的方向发 展,可编程逻辑控制器(programmable logic controller, 面向对象是对复杂事物简单化,将具有相同或相似结 构、操作、约束条件以及具有相同数据的对象进行合理 的集合归类。不同类之间采用入口参数判别方法加以 区分,并建立起类的数据结构;而后将类的属性和方法 封装到具有适当定义的接口容器:最后将不同的类通 过消息实现联系通信。这样就将系统流程的实现变成 封装模块的简单调用。 统一建模语言(uniifed modeling language,UML)是 种通用的可视化建模语言。被广泛应用于面向对象的 PLC)已经在造纸机的传动控制系统中得到普遍使用, PLC程序的设计也越来越受到重视。随着造纸机控制 功能更加全面、数据处理量和通信功能的增加等,PLC 程序设计的难度也随之增加。人们也希望PLC程序 能够具有较强的可读性和通用性,方便造纸机PLC控 一制系统后期的维护、升级与改造。显然传统的PLC程 序设计方法已无法满足人们的要求。本文针对造纸机 工艺控制的要求,使用面向对象的方法对造纸机的 PLC控制系统进行程序设计,提高了程序的可读性和 复用性。 系统分析和设计。在使用面向对象方法设计软件程序 时。UML模型能够合理地封装系统中的对象,隔离对象 的内部活动和外部的联系。UML使用类图表示对象的 结构,使用状态图表示对象的内部活动,使用活动图等 精确描述对象之间的关系,同时还可以详细表示对象的 继承关系、静态结构、动态特性以及相互协作等…。这 样就掩盖了软件程序的具体细节,简化了程序设计过 1面向对象方法理论分析 面向对象程序设计方法直接以现实世界的实体或 者概念为中心来思考问题,根据事物的本质特征把它 们抽象为对象,作为构建软件系统的基础。也就是说, 修改稿收到日期:2014—08—20。 程。同时使得软件程序具有更好的可读性和复用性。 UML模型用标准的图形来描述系统的功能和形 态,主要包括用例图、静态模型、动态模型和实现模型。 造纸机传动系统动态调节反应较快,系统启动后能够 快速地运行在稳定状态。 第一作者孟彦京(1956一),男,2012年毕业于陕西科技大学纸浆造纸 工程专业,获博士学位,教授;主要从事电力电子与电力传动、风力发电、 光伏发电、电机软启动器等方面的研究。 本文只针对造纸机传动系统PLC程序的用例图、 静态模型和实现模型进行分析。 29 《自动化仪表》第36卷第3期2015年3月 面向对象方法在造纸机PLC程序中的应用孟彦京。等 2造纸机面向对象方法的PLC程序设计 就需要合理、有效地控制驱动各个传动点的交流电机, 使其协调运行,这样才能保证整个传动系统高效、稳定 造纸机电气传动控制系统性能的好坏是决定一台 地运行。造纸机的传动点主要包括真空伏辊、驱网辊、 造纸机能否高效率、高质量进行生产的前提,为保证其 导网辊、真空吸移、压榨辊、烘缸、施胶、卷取等 ]。在 连续地高效率、高质量进行生产,传动系统的PLC控 造纸机工作时,不仅要求传动点可以顺序启停,并且需 制程序就显得尤为重要。本文以某造纸厂为例,该造 要传动点之间进行速度链的传递和负荷的分配。 纸机共设计有21个传动点,主要包括网部、压榨部、烘 该造纸机传动系统速度链的传递与负荷分配如 干部、施胶部和卷取部。若要完成各分部的功能实现, 图1所示 3 导网辊 4 真空吸移 第二目哮上辊 t ; 翟 一第一 下辊 二 下 +二 蝇 缸一 ; ; 』 I 真空伏辊 第一 上辊 r 绳 1 ’r_— r_— r导纸辊l导纸辊l 一 矧 L 3 引纸绳2l 施胶下辊 12 图1 系统速度链的传递与负荷分配示意图 Fig.1 Schematic diagram of the speed chain’s transmission and load distribution 图1中,虚线箭头表示负荷分配,实线箭头表示仅 发人员最终实现这些功能 ]。UML的用例模型不仅 具有速度控制。速度链就是传动系统中各相邻传动点 能够展现系统功能需求。还能够更加清楚地描述系统 之问速度保持一定的比例。且在车速调整中不影响前 的参与者.即外部执行者和系统之间的交互关系以及 一级速度,只影响本级和本级以后车速的一种速度信 参与者之间的关系。 号传递的链式结构。负荷分配的实质就是速度控制与 造纸机传动控制系统的参与者一般包括操作员、 转矩控制的结合.要求系统某些分部之间不仅速度同 管理员、数据库、文件管理、PLC、变频器、人机交互等。 步,而且负载率均衡 ]。 其中PLC、变频器和人机交互可以总结为系统的硬件 2.1 UML模型的建立 设计。系统的用户包括操作员和管理员,分别通过人 2.1.1功能模型用例图 机交互实现对造纸机传动系统的控制 ]。 系统功能模型用例图如图2所示。 2.1.2静态模型 静态模型类图如图3所示。 通信类 电机操作类 参数给定类 一接收数据:lnt -启动:boel 0 速度给定:int -发送数据:int ・停止:bool 转矩给定:int +sFC140:int -爬行:bool +speed0:int +SFCI5(>:lnt 一微升:bool +torque0:Jut 一微降:boot ・单动:bool 实际工作参数类 一联动:bool 一线速度:float +start 0:void -速度差:float +stop():void 一转矩:float +crawl 0:void 图2 系统功能模型用例图 -转矩差:int +up():void 一Fig.2 Functional model of the system use case diagram 电流:float +downO:vold +读取模拟量0:int +dandong0:void 用例图是软件需求分析到最终实现的第一步.主 +模拟量标定0:lnt +Uandong O:void 要用来描述用户、需求、系统功能单元之间的关系。它 图3造纸机传动系统静态模型类图 展示了一个外部用户能够观察到的系统功能模型图。 Fig.3 The static model class diagram of paper machine 用例图从用户的角度来展现系统的功能,便于软件开 drive train system 30 PROCESS AUTOMATION INSTRUMENTATION VoL 36 No.3 March 2015 面向对象方法在造纸机PLC程序中的应用孟彦京,等 类图是面向对象系统建模中的核心视图,以反映 形成了有效隔离。按照这种方法。抽象类可以归结为通 类的结构(属性、操作)以及类之间的关系为主要目的 信类、电机操作类、实际工作参数类和参数给定类。 一种静态模型。类图中的类与面向对象语言中的类的 2.1.3实现模型 概念是对应的.是对事物的抽象归类 ]。这里运用类 采用构件图建立实现模型。构件图用来显示程序 图建立造纸机传动系统的静态模型。 代码的逻辑结构,描述了程序中存在的构件、接口以及 在面向对象方法编程中,对系统类的划分有很多不 构件之间的依赖关系。 同的分法。划分类的不同使得系统的实现模型不同.从 UML建模中的构件是系统中可以替换的代码模 而使程序设计也会有很大的差异。结合造纸机传动系 块,每个构件都体现了系统设计中的类的实现。构件 统传动点多、速度链的传递和负荷分配的特点,本文采 图是从软件结构的角度来描述一个系统的主要功 用按照系统功能类型进行分类。这与按照对象分类的 能 ],可以清楚地看出系统程序的结构和功能。定义 不同之处在于.按照功能类型进行分类可以针对一组控 良好的构件不直接依赖于其他构件而是依赖于所支持 制算法,将具有相同或相似功能的操作对象归为一类, 的接口,这样就可以避免系统的各个构件之间发生依 将每一个算法封装到具有共同接口的独立的类中.从而 赖关系,有利于新构件的替换。造纸机传动系统的程 使得对控制算法的增减、修改都不会影响其他的对象, 序构件图如图4所示。 图4造纸机传动控制系统构件图 Fig.4 The component diagram of paper machine drive train system 根据系统静态模型中的分类,使用4个构件实现 数据块(data block,DB)组成。经过UML对造纸机的 系统的功能,21个传动点可以重复调用通信构件、电 传动系统进行建模后,这里使用功能块(FB)来对建模 机控制构件、实际参数构件和参数给定构件。造纸机 中的类的程序进行封装,当编写设备的具体程序时,只 传动系统的速度链的传递与负荷分配也可以用这4个 需要调用该类的FB即可,同时也会为其配置一个背 构件实现。按照这个方法。后期如果需要对系统进行 景数据块 。。。 升级或者程序移植。只需要增加或删减传动点,修改传 造纸传动系统由21个传动点组成,每个传动点都 动点的人口参数即可,使得程序具有更好的可读性和 通过调用封装通信构件、电机控制构件、实际参数构件 复用性。 和参数给定构件这4个构件的FB块即可实现各个传 2.2 PLC编程实现 动点的控制程序的编写。这样就可以使传动系统的 本系统采用西门子¥7-300 PLC,程序编写在Step7 PLC程序更加容易修改,提高了程序的复用性。调用 中进行。用户程序主要由组织块(organization block, FB块示意图如图5所示。 OB)、功能(function,FC)、功能块(function block,FB)、 (下转第35页) 《自动化仪表》第36卷第3期2015年3月 31 动态矩阵算法在水箱液位控制中的应用叶昊。等 如图2所示。 算法的有效性。所采用的被控对象符合一般工业控制 对象的特性。从试验模型数据看,DMc算法获取数学 PID控制段 DMC 孔板 孔板恢复正常 孔板 孔板恢 控制段 开度增加 DMC控制 开度 复正常 模型的方式较为简便,且对模型的精度要求不高。系 昌 、L— 减少 D控制 MC 统的动态控制效果优于传统的PID控制。 蜊 r枢 参考文献 趟 臻 [高度实际 [1]徐学红,冯冬青.电站锅炉燃烧系统先进控制策略研究[J].自 液位高度 设定值 动化仪表,2014,35(2):16—19. 10:22:09 10:28:49 10:35:29 [2]钱积新,赵均,徐祖华.预测控制[M].北京:化学工业出版社, 运行时刻 2007:49-58. 图2水箱液位跟踪变化曲线2 [3]李俊红,杨马英,穆秀春.基于PLC的大时滞温度对象的动态矩 Fig.2 Tracking curve(2)of water leve1 阵控制[J].浙江工业大学学报,2005,33(1):56—59. [4]张伟伟,余岳峰,罗永浩,等.基于阶跃响应曲线拟合的链条锅 分析上述两个试验结果可以看出。对于不同阶数 炉快速建模方法[J].工业锅炉,2007(2):1—4. 的矩阵,需修改R的取值,并重新计算d 矩阵。通过 [5]杨俊,马妹妹.基于PLC的动态矩阵控制算法实现[J].工业仪 大量的试验可以看出,当扰动出现时,液位跟踪设定值 表与自动化装置.2008(4):67—70. 的程度取决于扰动量的大小。总体上,当用水量增加 [6]郭伟,温敬红,周旺平.基于时域的分数阶PID动态矩阵控制算 法改进[J].仪器仪表学报,2010,31(5):968—973. 时,液位振荡的中心线幅值低于设定值;当用水量减少 [7]邹涛,刘红波,李少远.锅炉汽包水位非自衡系统的预测控制[J].控 时,液位振荡的中心线幅值高于设定值。在扰动消失 制理论与应用,2OO4,21(3):386—390. 后,被控量仅需要很短的周期即可跟踪设定值。并且振 [8]张喜萍,谭一川,程玉龙.煤矿排水自动控制系统的设计与研究[J]. 荡的幅度较小。 自动化仪表,2013,34(6):45—47. [9]廖常初.中型PLC应用教程[M].北京:机械工业出版社,2006: 6结束语 94—105,172—205. [10]姜建芳.西门子s7.300/400 PLC工程应用技术[M].北京:机械 本文将DMC算法应用于下位系统中,试验证明了 工业出版社.2012:735—790. (上接第3l页) 面向对象的PLC编程方法不但提高了编程效率,而且 DB3l 使造纸机系统的程序更易于阅读和修改,对造纸机控 制系统的生产和维护具有很大的指导和借鉴价值。 参考文献 [1]张崇明,汪春梅,周毅,等.一种面向对象的PLC程序设计方法[J]. 计算机工程与应用,2O07,43(21):106—107. F胃l 电机控制类 [2]孟彦京.造纸机变频传动的原理与设计[M].西安:陕西人民出 EN EN 版社.2002. , DB31.DBX2.O MlO0.O DB31.DlIx2.1 SToP [3]王志军,张池.造纸机负荷分配产生的原因与控制[J].中国造 DB31.DB慰.2 C霄Af化 纸,2009,28(9):58—6O. DB31-DBX2.3 UP DB3l BX2.4 D [4]黄咏,庄诚,高东杰.输送系统的UML建模、优化与实现[J].控 DB3I.DBX2l5 制工程,2006,13(1):55—59. DB3lIDBX2.6 『5]杜清.基于UML的工业软控制器的建模[D].汕头:汕头大 调用FB块 学.2006. 图5调用FB块示意图 [6]周元芳.结构化及面向对象的程序设计方法在PLC编程中的应 Fig.5 Schematic diagram of FB calling block 用[J].浙江工学院学报,2003,31(3):264-267. [7]周珂,李子丰.基于UML构件分析的软件复用技术[J].航空计 3结束语 算技术,2004,34(2):51—53. [8]陈娟,周猛.面向对象的程序设计方法在PLC程序设计中的应 本文将面向对象的方法应用在造纸机传动系统的 用[J].电气自动化,2001,23(3):55—57. PLC程序设计中。使用UML对传动系统进行了建模, [9]杨英成.面向对象方法在PLC程序设计中的应用研究[D].太 原:太原科技大学.2011. 不仅对系统进行了抽象与类的封装,并且用构件图描 [10]孟彦京,薛宁.造纸机PLC程序的结构化设计研究[J].自动化 述了系统的结构与功能。在最后的程序实现时,这种 仪表,2014,35(3):49-51. 《自动化仪表》第36卷第3期2015年3月 35