面向对象程序设计在破碎自动控制系统中的应用.pdf

返回 相似 举报
面向对象程序设计在破碎自动控制系统中的应用.pdf_第1页
第1页 / 共4页
面向对象程序设计在破碎自动控制系统中的应用.pdf_第2页
第2页 / 共4页
面向对象程序设计在破碎自动控制系统中的应用.pdf_第3页
第3页 / 共4页
面向对象程序设计在破碎自动控制系统中的应用.pdf_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述:
1 6 4 有色金属 选矿部分2 0 1 7 年增刊 d o i 1 0 .3 9 6 9 /j .i s s n .1 6 7 1 - 9 4 9 2 .2 0 1 7 .z 1 .0 3 6 面向对象程序设计在破碎自动控制系统中的应用 苏勇1 ,胡钦印2 1 .北京矿冶研究总院,北京1 0 0 1 6 0 ;2 中色非洲矿业有限公司,北京1 1 0 1 0 5 摘 要针对破碎自动控制系统程序设计,采用线性化编程方法,软件的开发、维护及扩展都很困难,采用面向对象的方 法对破碎自动化进行程序设计,使得程序结构更加简单,系统更加可靠,后续开发更加方便,并且利于代码复用,显著提高了 效率。 关键词破碎;自动化;面向对象; 中图分类号T P 2 7 2文献标志码A文章编号1 6 7 1 - 9 4 9 2 2 0 1 7 S 0 - 0 1 6 4 - 0 4 A p p l i c a t i o no fO b j e c t - o r i e n t e dP r o g r a m m i n gi nC r u s h i n gA u t o m a t i cC o n t r o lS y s t e m S Uy o 增。,H UQ i n y i n 2 ,.B e i j i n gG e n e r a lR e s e a r c hI n s t i t u t eo f M i n i n ga n dM e t a l l u r g y ,B e r i n g1 0 0 1 6 0 ,C h i n a ; 2 .妒i C aM i n i n gC o .,L t d .,C h i n aN o n f e r r o u sM i n i n gG r o u p ,B e i j i n g11 0 1 0 5 ,C h i n a A b s t r a c t I ti sd i f f i c u l tt od e v e l o p ,m a i n t a i na n de x t e n dt h es o f t w a r ef o rt h ep r o g r a m m i n go fc r u s h i n g a u t o m a t i cc o n t r o ls y s t e mi f u s i n gl i n e a rp r o g r a m m i n gm e t h o d .U s i n gt h eo b j e c t o r i e n t e dm e t h o dt op r o g r a mf o r c r u s h i n ga u t o m a t i o nw i l lm a k e st h ed e s i g ns i m p l e r ,t h ec o n t r o ls y s t e mi sm o r er e l i a b l ea n dt h ef o l l o w - u pd e v e l o p m e n t i sc o n v e n i e n t ,t h ec o d er e u s ei sr e a l i z e d ,a n dt h ep r o g r a m m i n ge f f i c i e n c yi s r e m a r k a b l yi m p r o v e d . K e yw o r d s c r u s h i n g ;a u t o m a t i o n ;o b j e c t o r i e n t e d 破碎自动控制系统一般采用可编程控制器 简 称P L C ,而P L C 传统的程序设计语言是梯形图,是 面向过程的,需要根据不同的工艺流程设计不同的 程序,偏重于逻辑设计。2 l 。“面向对象”的P L C 程 序设计方法,借用了高级编程语言中的“面向对象” 控制思想,把被控对象的设计与控制系统的设计分 割开来,独立进行旧J 。本文针对破碎自动控制系统 的工艺流程,采用面向对象的程序设计方法对破碎 自动控制系统P L C 程序进行设计,克服了线性化编 程方法带来的软件开发、维护及扩展的困难,使得程 序设计更加简单,并且利于代码复用,显著提高了 效率。 1 面向对象的P L C 编程 破碎自动控制系统的传统编程,采用线性化或 者结构化的方法对工艺控制流程进行分析和设计, 这种思路以单体设备为中心,通过对单体设备在所 有可能的流程中所有可能的动作顺序进行分析,将 下游设备的运行情况及流程选择条件经过逻辑判断 后形成单体设备的启动判断条件,将上游设备的故 障信号及流程选择条件经过逻辑运算后形成单体设 备的停止判断条件,从而得到设备的启停逻辑。对 于同一种类型的设备,随着设备在流程中的位置不 同,设备与设备之间的连锁启停条件也不同,因而只 能采用逐一分析和逐一编程的方法。程序编制的工 作量主要体现在对每个设备的启停逻辑判断,从而 导致程序代码工作量大且可读性差,一旦工艺流程 变更或设备调整,与此相关的设备的启停逻辑均需 修改。此种方式使得编写的程序可读性差、个人色 彩重、系统结构不健壮、维护不方便。 面向对象编程方法的基本原理就是对工艺设备 进行抽象和归纳,把每个工艺设备均当作一个对象, 将其属性封装在对象中,从而形成独立的智能化设 备。由于破碎系统中同类工艺设备的操作均相同或 相似,因此同一类设备可以归为一个设备类。在单 个设备的基础上,根据工艺流程的要求,对设备之间 的逻辑关系进行描述,从而形成破碎系统控制流程。 在自动控制方式下,流程作为控制系统的核心,通过 收稿日期2 0 1 7 - 0 6 - 0 5 作者简介苏勇 1 9 8 2 一 ,男,湖北荆州人,硕士.工程师,在北京矿冶研究总院工程公司从事自动化工程设计。 万方数据 2 0 1 7 年第5 期苏勇等面向对象程序设计在破碎自动控制系统中的应用 1 6 5 对设备类进行调用来实现。设备和设备之间的连锁 关系由设备类的输入输出接口参数来传递,因此设 备类的输入输出口参数也可以视作为流程的输入输 出参数,从而流程也具备相应的属性和方法,也可以 被当作对象。 2 面向对象的破碎自动控制系统设计 本文以某铁矿破碎自动控制系统为例,将面向 。7 “6 1 “%I ⋯奄 一 々一l 张 二二 一。.f 霉氨‰ _ ∞n ’巴 0 t _ a l h _ - 9 。9 1 ”%I } 摊 K 一I I , N ...r 旒孙 ●j m l I 一.t ■- - _ _ - _ _ - _ _ _ _ 一●c t 吼 名器一 掣 i 奄铲一 鬟荔’~ s 口瑚Xs E ㈣钳瑚x 。6 2 %4 0 %s 1 %骈% 对象程序设计方法引入破碎自动控制系统程序设 计,通过分析破碎流程中设备类的抽象、封装和继承 之间的关系,完成控制系统整体程序架构设计。破 碎系统流程如图1 所示,破碎流程包括2 台棒条给 料机、2 台颚式破碎机、2 0 条皮带输送机、2 台输送小 车、2 台中碎圆锥破碎机、4 台细碎圆锥破碎机、6 台 振动筛以及除铁器、除尘器等设备。按照流程划分 为粗碎2 个流程、中碎2 个流程、细碎4 个流程。 ■5 , ,脚“ 35 05 1 州 透辫 6 4 % 6 9 % o “莹“蚤 摹,摹,F 筘筘景r ’v’7 ,~ ’7’、 咫,喝 翼, ”麓冀, m 一 妙 。 ▲■自- 蕾 m xm m x O 喃 3 9 %4 0 % 图1 破碎系统流程图 F i g .1C r u s h i n gp r o c e s sd i a g r a m 破碎自动控制系统涉及的操作及控制设备有多 种,但从整个破碎流程实现的功能和逻辑上可以将 其划分为设备类、仪表类、操作类三种类型,其中设 备类又分为皮带类、破碎机类、振动筛类、给料机 类;仪表类分为皮带秤类、料位类、堵料开关类;流 程操作类可以分为报警处理类、顺控类。属于同一 类型的设备具有相同的属性 如故障、连锁、自动 和 相同的方法 如故障处理、模拟量处理 。设备类完 成设备本身的操作、状态显示、报警,仪表类完成模 拟量及数字量仪表信号的预处理、显示及报警,操作 类实现对控制流程的故障处理以及顺控流程的整体 操作。以设备类举例,类与类的继承关系如图2 所示。 设备类 皮带类 破碎机类 给料机类 振动筛类 南豳由由由崮J C R l l 2 0 【C R 3 1 4 0 F E l l l 0 【F E l 3 1 0 S C l 3 3 0 对象实例 图2 对象继承和实例化过程 F i g .2O b j e c ti n h e r i t a n c ea n di n s t a n t i a t i o np r o c e s s 万方数据 1 6 6 有色金属 选矿部分 2 0 1 7 年增刊 在图2 中,根类设备具有派生类设备的共性,振 动筛类、皮带类、给料机类、破碎机类均从根类设备 继承了共性并具有一些自己的特性。以皮带类举 例,用设备位号表示的B C l l 4 0 和B C 3 1 5 0 是大功率 皮带和小功率皮带实例化之后的对象实例。经过对 象分析之后,类包含的属性和方法变得更为具体,类 与类之间参数的传递通过接口参数来实现。 3 面向对象的控制系统实现 通过对破碎自动控制系统控制对象的分析,将 原本繁杂的设备逻辑及连锁控制关系清晰的划分为 设备启停逻辑类、仪表类和流程操作类三大类,对类 编程即可实现所有的逻辑关系,例如设备类具有启 动、停止等方法,仪表类具有滤波处理、故障处理以 及参数设置等方法,流程操作类具有顺序启动、逆序 停止及故障处理等方法。由此可见,在面向对象的 程序结构中,设备与设备之间是无关的,流程才是整 个控制系统的控制中心,这与工艺设备对象按照生 产工艺流程进行操作的直观认识是一致的H 1 。 对于破碎系统中的所有对象逻辑都在“类”中实 现,必须分析与控制对象相关的信息,对于一个典型 电机设备对象,需要考虑的相关信息有输入信息、 输出信息、状态信息等。下面以细碎流程I 中的皮 带给料机F E 3 1 1 0 对象实例为例说明面向对象的控 制系统实现。皮带给料机类的属性和方法如图3 、4 所示,其中属性C o n t r o l 用来表示设备当前收到的控 制指令 譬如远程启动、远程停止,顺控启动、顺控停 止等 ,属性P a r a m e t e r s 表示设备的参数 譬如模拟 量滤波参数、P I D 控制参数等 ,属性E v e n t 表示提供 给外部接口的当前设备状态 譬如故障、备妥、运行、 连锁等 ,属性I n p u t 和O u t p u t 表示设备收到的模拟 量及开关量输入信号以及控制设备启停及调速的输 出命令,属性S t a t u s 表示当前连锁状态及远程就地 状态,属性V a l u e 表示经过F e e d e r T v p e l V a l u e 方法 F e e d e rM C C 3 处理过的模拟量数据 譬如功率、电流及运行速度的 模数转换值 ,属性F a u l t 表示设备当前的故障状态 位 供H M I 显示 ,属性T r i p 表示设备当前的故障状 态位 用于设备自身连锁保护 ,属性R u n t i m e 表示 设备实际运行累计时间,属性H M I 表示来自操作员 站的控制回路参数设置。F E 3 1 i 0 对象实例的方法 主要有4 个,其中,F e e d e r _ T y p e l C o n t r o l 完成设备相 关指令的逻辑判断,F e e d e r _ T y p e l R u n t i m e 完成设备 实际运行时间累计及清零功能,F e e d e r T y p e l T r i p p e d F a u h 完成故障信号处理,F e e d e r _ T y p e l V a l u e 完成模拟量数据处理。 F q m d e r .._ T y p e l . 。一 名稚藏■盎璺鬟认证在婚_ ~设置疆。连日 羲’司- C o n t r o l’F e e d e r _ T - s p e l _ C o n t r o L “雷国 。~ 薯_ 日F e m m e 妊r s。F e e d e L 舡,h 哺m e 证B _ .套一 旧 E v e n t‘t e e d e r /y p e l - E v e i l t - .b d 4 o ’I n p u t 。F e e d e rT y p e l j n p u r b 一 靴- Q ’o u t p u t‘F e e d e t _ T 诤e I O u o p u t - .M 基.t 曩●s 疆柚s’F e e d e r _ b p e I s 仍t 咄一‘留 萋 、口●V t l u e’陀e d e 咖c 1Volue“自一 擎‘日●F I u h’F H 札1 押e ’- F o u h 』E 习 争岫’T r i p‘F e e d e r _ T y p e I F a u I t _ .硒 l O a ●R u n G m e ‘柚c h i n eR 竹{村r}蔓 “ 嘲’H 1 F e e d e rT 押e l _ H - .凹 图3 给料机类的属性 F i g .3P r o p e r t yo ff e e d e rc l a s s ,氢T y p e l 暑F e e d e r _ _ T y p e I P I D 【F C l2 】 蕾F e e d e r _ _ T y p e l _ C o n t r o I 【F B 6 5 】 番F e e d e r _ T y p e l 一R u n t i m eI F B 4 5 】 暑F e e d e r .T y p e l ._ T r i p p e d F au l t 【F B 7 5 】 备F e e d e r _ T y p e l _ V a l u ef F t 3 8 4 J 图4 给料机类的方法 F i g .4 M e t h o do if e e d e rc l a s s 给料机类的所有对象实例存储在F e e d e r M C C 3 中,数据类型为F e e d e r T y p e l 一,派生出的另一种对 象实例为F e e d e r T y p e 2 一,在中碎和细碎流程中,皮 带给料机类的实例如图5 所示。 名称数据类型偏移星启动值保持性在H M I ⋯设置值 注释 { 则7S 协t t c 2 司- ◆F E l 3 1 0 ‘F e e d e r _ T y p e l _ “ 匿⋯回 3 司- ◆F E 2 3 1 0 。F e e d e r _ T y P e l ..⋯b趔 毒q - ◆F E 3 4 1 0 ‘F e e d e r _ _ T y p e 2 ._ “ ⋯ 刨 5 司- ◆F E 3 3 1 0 ‘F e e d e r _ T y p e 2 _ “ ⋯ 刨 6 叼- ◆F E 3 2 1 0 ‘F e e d e r ..T y p e 2 ._ “ ⋯ 刨 7 司- ◆F E 3 11 0 ‘F e e d e r _ T y p e 2 ._ “ ⋯ 幽 图5 给料机类的实例 F i g .5 I n s t a n c eo ff e e d e rc l a s s 翮 囱 厨 回 囱 囱 万方数据 2 0 1 7 年第5 期苏勇等面向对象程序设计在破碎自动控制系统中的应用 1 6 7 面向对象的破碎自动控制系统编程的核心就是 类的实现,针对定义的给料机类,编写代码实现每一 个对象的控制,控制逻辑、报警处理、信号交换全在 类的方法中。破碎流程给料机的程序结构如图6 所 示,针对存储在F e e d e r M C C 3 中的全流程给料机对 象实例,程序段F e e d e r _ I n p u t 完成所有给料机的外部 信号的输入采集,F e e d e r I n t e r f a c e 实现给料机和上 下游设备的连锁关系,F e e d e r O u t p u t 实现给料机外 部信号的输出,F e e d e r _ P a r a m e t e r s 实现给料机信号的 参数设置。 T ‘&JF e e d er 一 .,,.,. F e e d e r _ I n p u t 【F C 2 8 0 0 】 F e e d er _ I n t e r f ac e 【F C l3 】 渣F e e d er O u t p u tf F C 2 1 】 蛰F e e d er _ P ar am e t er s [ F C 2 0 】 鋈F e e d er _ M ai n 【F B 6 4 】 一F e e d er _ M C C 3 【D B 2 8 0 0 】 r 一 ’鱼Ⅵe 1 ’鸯T y p e 2 图6 给料机控制程序结构 F i g .6P r o g r a ms t r u c t u r eo ff e e d e rc o n t r o l 参照皮带给料机类的定义,完成破碎系统其他设 备类、仪表类及流程操作类的定义,经过编译调试,于 是可以形成破碎自动控制系统标准类库。对于设备 的增减或工艺流程的修改,简单的转换为遵循程序架 构,拷贝标准类代码,改变输入输出条件口] ,从而破碎 自动控制系统的程序设计,转换为针对具体的每一 类控制对象使用相应的标准类来实现,从而对程序 控制的细节实现了有效封装,使得系统结构更加清 晰、灵活和易于维护。 4结论 采用面向对象的方法对破碎自动控制系统进行 程序设计,可设计出“高内聚、低耦合”的系统结构, 使得程序设计简单,缩短系统控制程序开发周期,有 利于系统功能扩展和降低系统维护成本。特别是对 于破碎工艺流程中大量控制方式和功能相同或相似 的设备,采用抽象出来的类编写通用代码模块并调 试通过,就能确保同属一个父类的设备安全可靠运 行,从而大幅降低程序代码重复工作量,显著提高了 效率。 参考文献 [ 1 ] 陈娟,周猛,薛钧义.面向对象的程序设计方法在 P L C 程序设计中的应用[ J ] .电气自动化,2 0 0 1 3 5 5 . 5 7 . [ 2 ] 周元芳.结构化及面向对象的程序设计方法在P L C 编程 中的应用[ J ] .浙江工业大学学报,2 0 0 3 ,3 2 3 2 6 4 - 2 6 7 . [ 3 ] 俞娜,李文秀.面向对象的P L C 编程方法[ J ] .自动化 技术与应用,2 0 0 0 ,1 9 6 2 6 2 7 . [ 4 ] 郑君,程小桐,龙洪胜.面向对象的程序设计方法在输 送系统中的应用[ J ] .煤矿现代化,2 0 0 5 6 5 7 - 5 8 . [ 5 ] 李天平,苏小兵.面向对象编程思想在P L C 编程中的应用 [ J ] .微计算机信息,2 0 1 0 ,2 6 1 1 2 1 5 - 2 1 6 . 万方数据
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420