基于PLC对象编程的烟草香料配比自动化.pdf
自 动 化 技 术 与 应 用 2 0 1 0 年 第2 9 卷 第1 0 期 P L C 与D C S PL C a nd DCS 基于 P L C对象编程的烟草香料配比自动化 阮伟雄 1 。 张 亮 2 , 刘中兵 1 . 广东中烟工业有限责任公司, 广东广州5 1 0 6 1 0 ; 2 . 北京航天拓扑高科技有限责任公司, 北京1 0 0 1 7 6 摘要 本文将而 对象的编 , J ’ 法引入 P L C复杂的逻辑顺J 芋 控制系统, 并结合作者存烟草行业香料厨房控制系统中的应用 , 介绍了 系统中类的抽象、封装和继承之问的相 关系。采片 j 面向对象 法. 顺序控制系统编程从实现复杂的逻辑运算转变成创建和 建立对象之问的淌息传递机制, 相比于传统的线性化编程方法可以显著提高编程效率 , 增强系统的可扩充性。 关键词 } 【 J C; ff t l I ; iJ 对象 ; 料四膀; 顺序控制 系统 ⋯剖分类 TM5 7 1 . 6 1 之献标识码 } { 文章编号 1 0 0 3 7 2 4 1 2 0 1 0 1 0 0 0 5 8 0 4 O b j e c t Or ie n t e d Me t h o d o lo g y O OM A p p l ic a t io n i n t h e F l a v o r Kit c h e n Co n t r o l Sy s t e m RUAN W e i - x i o n g , ZHANG Li a n g , LI U Zh o n g - b i n g 1 . G u a n g z h o u C i g a r e t t e F a c t o r y , G u a n g z h o u 5 1 0 6 1 0 C h i n a ; 2 . B e i j i n g A e r o t o p Hi - t e c h C o . L t d . B e i j i n g 1 0 0 1 7 6 C hi n a Ab s t r a c t B a s e d o n t h e p r a c t i c e i n c o n t r o l s y s t e m o f k i t c h e n i n t o b a c c o f a c t o r y , a u n i fi e d o b j e c t o r i e n t e d me t h o d o l o g y OOM i s p r e s e n t e d . An a c t u a l d e v i c e a n d t h e i r r e l a t e d l o g i c s a r e e n c a p s u l a t e d i n t o a d e v i c e o b j e c t . T h e o t h e r p a r t wh i c h i s r e l a t i v e t o a n o p e r a t i o n p r o c e d u r e i s i mp l e me n t e d b y t r a n s f e r r i n g me s s a g e s . Co mp a r i n g wi t h t h e t r a d i t i o n a l me t h o d , OOM c a n m a k e p r o g r a m s m o r e c o m p e t i t i v e . m o r e c o mp r e h e n s i b l e , a n d m o r e fl e x i b l e t o b e e x t e n d e d . Ke y wo r d s P L C; o b j e c t o r i e n t e d me t h o d o l o g y OOM ; fl a v o r k i t c h e n ; s e q u e n t i a l c o n t r o l s y s t e m 1 引言 1 . 1 P L C程序设计概述 由于 P L C系统功能强大、组态灵活 , 它被广泛应 用于烟草、冶金、化工等的许多行业, 已经成为工业设 备 自动控 制的基础 。尤其在顺序控 制系统 中,采用 P L C 系统能够全面提高控制的精度 、稳定性和可靠 性。而在 P LC系统中, P L C程序设计是 P L C系统的灵 魂 , 所以寻求安全可靠、简便易行 的程序设计方法便 成为 PLC技术能否更快发展 , 工业 自动化控制水平能 否 更快提 高的 关键【 1 1 。 P L C系统程序 设计整个 过程可 以分 为需求分析 、 功能设置、程序实现、调试运行、系统维护及功能扩展 等几个阶段。P L C系统通用的程序设计语言是梯形图, 偏重于逻辑设计。由于每个人设计的习惯不同 , 使得程 收稿 日期2 0 1 0 0 6 0 2 序的可读性较差, 这为以后的系统维护和功能扩展带来 很大困难。随着系统的规模不断扩大, 系统复杂程度的 不断增长, 多见于单机设备、基于逻辑分析方法的传统 程序设计语言经常使得问题复杂化 , 顺控系统再次成为 工程 设 计 中的一 个难 点 。 近年来 , 面 向对象编程方法在管理软件 中得到广 泛应用 , 尤其是在庞大、复杂的管理系统 中。与其它的 编程方法不同, 面向对象的程序设计方法是把过程的 设计与对象属性的设计分割开来 , 独立进行。采用面 向对象分析和设计方法能够简化编程 , 提高系统 的可 维护性 , 加快系统的开发过程。因此 , 借鉴已经成功应 用于管理系统设计的面向对象的方法 , 应用到PLC系 统中, 不仅能够提高 P LC程序的设计质量 , 而且还能够 提高设计效率 。 1 . 2 香料厨房系统介绍 P L C 与D C S PL C an d DCS 香料厨房系统是卷烟厂香精香料的配制输送 中心。 随着我国加入 wTO, 各卷烟生产企业在注重降焦降耗 的同时, 还在千方百计提高卷烟制品的内在质量 , 因为 制丝生产线上各种香精香料的处理是否科学合理 , 直接 关系到成品烟支吸味。因此香精香料的严格质量管理、 科学配制、准确现场输送, 作为文明生产、科学管理的 重要手段 , 越来越受到卷烟厂的高度重视。 香料厨房系统主要三大部分组成 , 他们分别是香料 调制、转存、现场输送系统 ; 香精调制、贮存、现场输 送系统 ; 成品料液的现场发放系统。香料厨房系统负责 全厂制丝线加香加料工艺中所有香糖料的调制 、贮存 及现场的定 比加料 , 其工艺过程为 大部分原料通过管 路系统计量后送入调制罐内调制 , 调制好的成品香糖料 经过过滤器送入各贮存罐内贮存 ; 系统根据现场各加香 加料系统的要料信号, 由贮存罐定量输送到车间的每个 加香加料设备旁的现场罐 , 再 由现场罐向加料设备实现 定 比跟 踪施 加 。 2 传统 的编程方法 系统要求所有设备按照各 自生产流程完成转运操 作。“ 流程”在这里是指对于某个主机设备或生产单元 从原料输入到成品输出整个生产过程 中各个状态阶段 的列表。每台主机设备或生产单元可以独立手动操作 , 也可以按照流程顺序 自动运行。任何一个设备在某一 时间段只能属于该设备流程的某一个状态。设备之间 也不是 孤立 的 , 而 是包 含于 一个 更大 的生 产流程 中 , 是 相互联系 的【 2 l 。 按照顺控系统的传统编程方法 , 将设备上所有元 器件分类控制 , 分析每一台电机 、每一个电磁阀等在 所有可能的操作 流程 中的动作顺序 , 将设备 中该元器 件所有下游控制点的反馈信息经过复杂的逻辑运算之 后构成启动条件 , 将所有上游控制点的故 障和运行信 息经过运算之后构成停车条件 , 从而得 到该元器件 的 启停逻辑 。由于每一个设备都有很多不同的生产操作 状态 , 其所有的元器件就会有不同的启停逻辑 , 因此只 能采用逐一分析 , 逐一编程的方法 , 编程的难点集中到 对设备中所有控制点的启停条件的分析上 。由此导致 编程效率低, 程序的可读性差 , 系统维护工作量大『 3 】 ; 同 时 , 系统的可扩展性差 , 一旦设备需要增减器件或更改 流程 , 与此相关的所有控制点的启停逻辑都需要更改。 自动化技 术与应用2 01 o年第 2 9卷第 1 o期 在此方法中弱化了 “ 流程”概念, 流程被融入设备内部 错综复杂的逻辑关系。设备 中控制点是受其上下游器 件 的控 制 , 而不 是 由流程 来控 制 的 , 流程 只是 一 张顺序 列表 。上述是一种完全面 向过程的方法 。这与对系统 的直观认识不相一致 实际系统 中常常存在相似甚至 完全一样的设备 , 只是外部逻辑不同。设计者更 关心 整台设备的状态和整个流程 的运行 , 而不理会设 备内 部控制点间的复杂关联。 3 面 向对 象的编程 方法及应用 3 . 1 面向对象编程 中类的抽象与派生 面向对象 的编程方法可以避免上述的诸多不利 , 该 方法的基本原理就是把每一个设备或生产单元看成一 个对象 , 将其属性封装一起 , 形成一个独立的智能化设 备。在此基础上 , 对设备内部的逻辑关系进行描述 , 使 其满足系统的工艺要求 , 以此形成设备的流程。在面向 对象技术中, 对象就是一个独立的实体 , 有相应的记忆 和活动 , 通常具有 自己的属性 , 可以执行相应的动作。 把具有相同属性和方法的对象称为类 , 它通常是从实际 问题 中抽象 出来 的虚 拟对象 [ 引。 在面向对象的设计方法 中, 流程就像是整个设备生 产过程 中一条清晰的脉络 , 直观上只是设备启停顺序的 列表, 但实际上流程才是整个控制系统的核心。在 自动 方式下, 整个设备都被流程所操纵。设备依据流程状态 发送的命令做出相应的动作 , 各控制点的启停关系和顺 序都是流程动作的结果 。由于流程控制下的主机设备 或生产单元具有一定的属性和方法 , 是一个相对独立的 实体 , 所以可以被视为对象。类抽象的逆过程就是类的 派生过程 。派生过程是以类的继承关系为中心进行的。 父类 可 以通 过增加 属性 和方法 派生 出子类 , 子 类继承 父 类的属性和方法。类的派生过程体现了类与类之间的 继承关系。虚拟的对象类必须经过实例化才能创建实 际的对象, 实例化就是按照类所具有的属性和方法来构 建实 际的对象实例的过程。 香料厨房系统 中的工艺设备有很多种, 但从实现的 功能和控制逻辑上可以将其分成三个类型 进料管道 类 、罐体类 、出料管道 类。属于 同一类型 的设备 具有相 同的 特性 和 方法 。从上 述 三种 类 型 的设备 中抽象 出了 三个类, 每一个类代表一类设备 。通过进一步分析 , 以 上三个类也具有相同的属性 如顺序控制、故障和手 自 自 动 化技 术 与 应 用 2 0 1 0 年 第2 9 卷 第1 0 期 P L C 与D C S PL C a n d DCS 动等 和相同的方法 如紧急停车、手自动切换和故障确 认等 , 从而进一步抽为一个新类 , 即设备类。下图为香 料厨房控制系统 中类与类之间的继承关系 图 1 香料厨房控制系统 中类与类之间的 继承关 系 在图 l中, 根类设备具有所有设备的共性 , 进料管 道类 、罐体类 、出料管道 类均从设备 类继承了共性并具 有一些特性。调制罐进料类、贮存罐进料类等是由进料 管道 类 派生 出的子 类 。各罐 体及 进 出料管 道是 实例 化 之后 的对象 实例 。针对每个对象 实例编程 , 根据 工艺要 求, 将其严格划分状态 , 即一个对象实例在某一时刻只 能且必 须属于其 中的一个状态 , 用状态 控制所有 属于该 对象 实例 的 电气元器 件 包括 输送 泵 、搅 拌 电机 、 电磁 阀、温度传感器、称重模块、质量流量计等 的动作。经 过对象分析之后 , 类包含的属性和方法变得更为具体 , 利用梯形图可以方便的实现类与类之间的通讯。针对 每个对象编写一个 F C块, 编写F C块就是实现类, 在 F C 块中可以定义类的属性和方法 , 而调用 F C的过程就是 类的实例化过程, 具体设备对象的数据都保存在相应的 DB块中【 5 J o 对象具有相对的独立性 , 根据工艺过程来划分对象 的状态, 按照对象的状态来完成既定的动作。但对象并 不是完全孤立和封闭的, 每一个对象都可与其他对象通 讯 。在 面 向对 象技术 中, 每 个对象 都可 以接 收信息 , 也 可以发送信息。通常 , 向某一对象发送一个信息将会触 发此对象做出相应动作, 系统中各种复杂的控制功能就 是通过不同对象之间的信息触发机制来完成的。 3 。 2 面向对象编程的实际应用 本文以广东韶关卷烟厂香料厨房控制系统为例, 将 面向对象的设计方法引入顺序控制系统设计中, 分析了 系统中类的抽象、封装、和继承之间的相互关系, 并讨 论了与线性逻辑编程方法相 比的该设计方法的优势。 图 2 状态流程图 该香料厨房控制系统 由 l 台S 7 4 0 0 P L C和 6个 E T2 0 0 S子站组成 , 控制 1 个高精度配料罐、3 个香料调 制罐 T 进出料、6个香料混合罐 A 进出料、5个香精 混合罐 H 进出料、现场各个加香加料点的进料阀以及 温度传感器 、流量计、称重模块等仪器仪表。包括 l O 台不同型号的输送泵电机、1 5台搅拌电机、1 5台称重 模块、1 5 5个电磁阀 其中9 6个为阀岛控制 , 各罐及管 路输送系统共计 9 3个流程。根据实际情况, 我们将整个 香料厨房生产线划分为进料管道类、罐体类、出料管道 类三个大类, 并派生出调制罐进料管道、混合罐进料管 道、现场叶片线进料管道 、现场小线进料管道、现场梗 线进料管道、现场膨胀丝线进料管道 ; 调制 1罐、调制 2罐、调制 3罐、混合 1罐、混合 2罐 、混合 3罐、混 P L C 与D G S PL C a n d DCS 合 4罐、混合 5罐 、混合 6罐 、香精 1 罐 、香精 2罐 、 香精 3罐、香精 4罐、香精 5罐 ; 调制罐出料管道 、混 合罐 出料管道 、香精罐 出料管道 等共计 2 3个生 产单元 , 每个生产单元都可以独立手动操作 , 也可以 自动运行 , 因此可将其视为一个设备对象。每个设备对象在某一 时间段内只能属于其流程的一个状态 , 一旦生产开始进 行, 就按照此流程的顺序动作 , 因此流程中的设备是状 态是严格区分的, 以调制 1罐为例 , 对于该设备, 其整个 生产过程共分为六个状态 , 如图2所示。 由图 2可清楚 的看 出一个设 备 的生产状 态流程 , 此 例将罐体作为一个对象 , 其整个生产过程可分为待料、 进料、存料、出料、料空、清洗六个循环的状态流程 , 其中进料、出料、清洗状态又可分为很多子状态 , 该对 象设备在某一时间段必定且只能属于其 中的一个状态 。 设 备状态 由一个 I NT 型 的状态 字来定 义 , 如 DB 1 7 0. DB D0 , 当这个字的值等于 0时, 设备为待料状态; 等于 1 时, 进料状态 ; ⋯⋯; 等于 5时, 清洗状态。状态间的顺序 切换需通过生产条件满足或人工按钮确认来实现 , 再 由 状态来控制该对象所涉及各个电气元器件的动作。 比 如罐进料状态时, 进料阀打开 , 出料阀关闭, 搅拌电机运 行 ; 出料状态时, 出料阀、防堵阀打开 ; 清洗状态时, 清洗 水阀、排污阀等打开⋯⋯这样程序结构非常清晰直观 , 也很好的避免了配料事故的发生。 由于在实际生产系统中很多设备非常相似或完全 相同, 在编程时为每个设备建立一个 F C块和一个用于 存储该设备工艺数据的 D B块 , 这样当增加相似的工艺 自动化技 术与应用 2 01 0年第 2 9卷第 l 0期 设备时 , 程序改动非常少也不容易出错 , 极大的降低了 设备改造了复杂度 , 提高了程序的可扩展性 。 4 应用情况 在广东韶关卷烟厂香料厨房控制系统中, 采用了面 向对象的设计方法 。与传统的面向过程 的程序结构相 比, 面向对象的控制方案具有易实现性、可读性强、易 维护性和易扩充性等特点, 提高了生产效率 , 降低了系 统维护成本。 不仅该方法可以应用在香料厨房系统中, 而且也可 以应用于其它顺序控制系统中。在面向对象 的基础上 还可以进行路径优化和调度优化等算法的研究 , 因而具 有广阔的应用和推广前景 。 参考文献 [ 1 ]朱尊权, 卷烟工艺[ M】 . 北京 北京出版社, 1 9 9 3 . [ 2 】董景新, 赵长德, 控制工程基础[ M】 . 北京 清华大学出版 社 , 2 0 0 2 . 【 3 】于庆广, 可编程控制器原理及系统设计【 M] . 北京 清华 大学 出版社 , 2 0 0 4 . [ 4 】邱公伟, 可编程拉制器网络通信及应用【 M】 . 北京 清华 大学 出版社 , 2 0 0 0 . [ 5 】宋伯生, 可编程控制器配置、编程、联网【 M】 . 北京 中 国劳动出版社, 1 9 9 8 . 作者简介 阮伟雄 1 9 6 2一 , 男, 本科, 助理工程师。研究方 向 烟草 制 丝 线 自动控 制 ,系统 集成 ,数 据 管理 。 上接第 5 7页 4 当单机设备发生变更时 , 只要保证单机设备 的 P L C接 口数 据的一致 , 单机 设备的 P LC程序可 以任意更 改, 其他单机设备程序和调度 P L C的程序不用修改 , 就 可 以满足 生产 。 4 结束语 根据 8 8 标准 , 通过采用上述网络结构和编程思路, 在武汉卷烟厂实现了柔性加工 , 提高了制丝线控制系统 的稳定性 , 可维护性 , 可扩展性, 实现了工艺与控制的分 开 , 达 到 了分 组加工 的 目的 。 参考文献 【 1 】朱尊权, 卷烟工艺[ M] . 北京 北京出版社, 1 9 9 3 . [ 2 ]董景新 , 赵 长德 , 控 制工程基础[ M】 . 北京 清华大学 出版 社 , 2 0 0 2 . 3 [ 3 】于庆广, 可编程控制器原理及系统设计【 M】 . 北京 清华 大学出版社 , 2 0 0 4 . [ 4 】邱公伟, 可编程拉制器网络通信及应用[ M】 . 北京 清华 大学出版社 , 2 0 0 0 . 【 5 】宋伯生, 可编程控制器配置、编程、联网[ M] . 北京 中 国劳动出版社, 1 9 9 8 . r 作者 简介 王志强 1 9 7 3 一 , 男, 本科, 工程师。研究方向 烟 草制丝线 自动控制,系统集成