(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf_第1页
(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf_第2页
(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf_第3页
(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf_第4页
(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

(机械制造及其自动化专业论文)数控系统逻辑控制软件中元件库的研究与开发.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 开放式数控系统是当今数控技术的发展方向,其中逻辑控制作为数控系统 中的基础控制,其控制功能主要用p l c 完成,然而由于传统硬件p l c 封闭的 体系结构大大制约了数控系统的开放性,随着计算机技术、软件技术的发展以 及i e c 6 1 1 3 1 标准的提出,促进了软p l c 技术的发展。 本课题以北京首科凯奇电气技术有限公司的项目。开放式控制器软件的研 究”为背景,介绍了软p l c 系统的组成结构和基于p l c 虚拟机的执行机制, 并且详细分析了虚拟机中元件库模块的功能、设计和实现过程。该模块提供了 梯形图编程元素的相关信息,在梯形图的编辑、梯形图文件的编译和执行过程 中通过公有接口把包含信息传递给系统其它模块。实现的标准元件库中包含触 点、线圈、数学运算等元件,该模块由于符合i e c 6 1 1 3 1 3 标准,并且采用面向 对象的编程方法进行设计,具有通用性强、易于扩充等优点,提高了整个软p l c 系统的开放性。实现的4 c k 元件库包含编码、译码等元件,为软p l c 系统向 4 c k 数控系统的移植打下基础。 为了检验开发模块的正确性,同时减轻测试人员进行手工测试的劳动强度, 本课题对自动测试进行了研究,完成了单元测试平台和集成测试平台的搭建。 单元测试平台主要针对元件库模块提供元件的行为信息进行测试,开发过程借 助了c p p u n i t 测试工具,采用基于g u i 程序界面,具有直观易用等优点。集成 测试平台主要针对几个模块组合在一起进行功能测试,其开发过程采用了面向 对象的方法,测试用例需要的数据保存在流行的x m l 文件当中,并自动生成 测试报告,实现了测试的自动化,提高了测试效率。 关键字开放式数控系统;软p l c ;元件库:自动测试 a b s t r a c t o p e n i n gn t t m e r i e a lc o n t r o ls y s t e mi st h et h eo r i e m a t i o no f t h ec u r r e n t n c ,缸d 也cl o g i c a l c o n t r o lf l l l 州o l l s ,l h cf u n d a m e n t a lc o n l r o lc o m p o n e n to fi t , i sm a i n l yc o m p l e i e ab yi l c u n f o r t a m a t e l y , h o w e v e r ,t t a ee l o “la r c h i t e c t u r eo fe o n v a a t i o n a lh a r d w a r ep l cm i o mi m p a i r s t l a e o p e n i n gv i r t mo ft h en c m e a n w l l i l e t l a e $ o t t p l ci sc l c v c l o t lr a p i d l yw i t h t l a c m v - a n c c m c n to f1 h et c e l m o l o g y0 1 1 1e o m p u t c ra n ds o t t w a r e 缸dt l a er a i s eo ft h es t a n d a r do f m c 6 1 1 3 1 c o r r e s p o n d i n gt ot l l ei t m o f 1 1 1 er e a r e l af o ro p e n i n g - c o n t a o u e rs o t 【w a r e , w h i c hc :o m f r o mb c i j i n g $ h o u k cc a t e l ae l e c t r i ct e e l m o l o g yc o “正t i a i 8p a p e rh a sd e s e n b c dt h e a r e h i t e c t l j r eo f $ o t t p l cs y s t e ma n dt l a cc x e e u t i o am c c h a l x i ab a s e do nv i r t u a lm a e l a i n eo fi t , 如de x p o u n d e dt h ef u n e l i o 口a d a i g na n dt l a ci m p l e m e n t a t i o np l - o c a l so fc o m p o n e n t sl i b r a z yi n t h ep l cv i r t “m a e l x i n ew h i c hp r o v i d a 耐缸s f 啪t h ei a f o r m a t i o no fe l c m c l a t si nl a d d e r d i a g r a m t o o t h e r m o d u l e s i n t h ec o u i s c o f t h ee d i t i n g , c o m p i l i n ga n d e x c e u l i o no f t h e d i a g r a m d u e t o t h ee o m i s t e n e y w i t h t l a es t a n d a r do f i e c 6 1 1 3 1a n d t h ca d o p t i o no f t l a c o b j e c t o t i t c d p r o g r a m m i n gm e l l a o d , t h ei m l o l c m e a t c d $ t a z a d a r dc o m p o n a a t sl i b r 研h a om a n ym e r i t s 砌 u n i v e r s a l i t y , e o t l v c u i c t t c cf o rc x t e n s i o t ta n ds o0 1 1 t h i si nn n l e a dt ot h eg r 目ti m p r o v e m e n to f t l a eo l - n a i n gp e r f o r m a n c eo ft l a ea a t i r es y s t e m t h es t a n d a r dc 删p o n c n 协l i b r a r yh a sc o n t a c t , c o i l , m a t l lc o m p o n e n l ba d d 0 1 1 i no r d e rt ot r a n s p l a n ts o t t p l ct o4 c kn u m e r i c a lc o n t r o l s y s 也m , f i l ei m p l e m e n t e d4 c kc o m p o n e n t sim 月r y h a sc o d e 。e n c o d ce o m p o n e l a t s i no r d e rt oe l a e e kl l a ev a l i d i t yo f t h e f 两a m o d u l e dr e l i e v et h ew o r t d o a do f m a n u a l t e s t i n g , t h ep a p e rh a ss t u d i e dt h ea u t o m a t i ct c s la n d _ , l a i e v c dt h ec o n s t r u c t i o no ft h eu n i t t 龆t i n gp l a t f o r m dt l a el a t c g r a t lt e s t i n gp l a t f o r m t h eu n i tt e s t i n gp l a t f o r mf o c u s e so n t h e b e h a v i o ri n f o r m a t i o np r o v i d e db yt h cm o d u l e so f t l a ec o m p o z a c m t sl i b r a r y t h i ss y s t e mi ss i m p l e a n de o n v e n i ts i n c et h ed e v e l o p m e n to fi t 镕砷t ot l a ec l p u n i tt 目t i n gt o o l s a l a da d o p t it l a e p r o g r a mi n t e r f a c eb a s e do n ( 3 u i t h ei n t e g r a t lt e s t i n gp l a t f o r ma i m sa tc h e c k i n gt h ef l , l n c l j o n o f 烈孤n cg r o u p e dm o d u l e s t h eo l , j e c co r i e n t a lp r o g r a m m i n gm c t l a o di se x p l o i t e dd u r i n gt h e d “e l o p m e n to ft h i ss y s t e m , a n ds i n c et h cd a t af o rt 嘲i n gc x a 自a p l ci s i v 醴i nt h ex m l f i l e s w l a i e hi st h ep o p u l a rf o r m a ta tp r e s e n t , 1 h ct e s tr e p o r tw i l lb ea u t o m a t i c a l l yc r e a t e dw h e l lt b ct e s t i sa e e o m p l i s h e c kw h i c hc o n d u c et ot h ea u t o m a t i o na n di m p r o v et h ee l j f i e i e n c yf o rt e s t k e y w o r d $ o p e n n u m e r i c a lc o n t r o ls y s l e m ;s o t i p l c ;c o m p o n e n t sl a b r a r y ;, a u t o m a t i ct e s t i n g 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名:暨 日期:遛:芝 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名:壅宣 导师签名: 日期: 第1 章绪论 第1 章绪论 1 1 课题的来源及研究的意义 本课题来源于北京首科凯奇电气技术有限公司,是。开放式控制器软件研 究”项目中的子课题“数控系统逻辑控制软件的研究与开发”。主要研究如 何在基于w m d o w s 系统环境下实现软p l c 系统,并将该系统应用于数控机床上, 负责机床的逻辑控制。 开放式数控是现代数控技术的发展方向,也是当今研究的热点,它解决了 传统封闭式数控系统兼容性差、功能不易扩展等问题。其中逻辑控制又是数控 系统中的基础控制,逻辑控制部分的开放性程度直接影响整个数控系统开放性。 基于p c 的软p l c 技术代表p l c 发展的新趋势,为数控系统中逻辑控制部分提 出了新的解决方案,在提高数控系统的开放性、降低成本等方面都起着重要的 作用,因此开发软p l c 系统在我国现阶段具有重要的意义。 1 2 课题背景 1 2 i 数控系统概述 先进制造技术是改造传统制造业的有效手段,而数控技术和数控设备是先 进制造技术的重要组成部分。数控技术就是指用数字化信息( 数字量及字符) 发 出指令并实现自动控制的技术【“。自1 9 5 4 年第一台数控机床问世以来,数控系 统的发展已有5 0 多年的历史,计算机数字控制技术( c o m p u t e rn u m e r i cc o n t r o l , 简称c n c ) 是从2 0 世纪7 0 年代开始发展起来的机床控制新技术,它是综合了 计算机、自动控制、电气传动、测量和机械制造等各种技术而形成的一门边缘 学科。计算机数控技术是数控机床的关键技术,数控机床又是推行f m c ( 柔性 制造单元) 、f m s ( 柔性制造系统) 以及c “s ( 计算机集成制造系统) 等的基 础。计算机数控技术已经成为制造业自动化的核心技术和基础技术,是当今世 界机械制造技术的高技术之一,是振兴国家机床行业、增强制造业国际竞争能 力的基础。我国每年都有大量机电产品进口。这也从宏观上说明了机床数控化 的必要性。 在激烈的市场竞争条件下,随着被加工零件的复杂程度越来越高及微型计 算机的迅速发展,加工单元的柔性化及计算机集成制造系统的发展对数控系统 提出了更高的要求。高速度、高精度、高可靠性、模块化、智能化、柔性化、 北京工业大学工学硕士学位论文 集成化和开放化成为目前数控系统的发展方 2 1 开放式数控系统概念的提出是现代机械制造行业的竞争及计算机技术共同 作用的结果。一方面,以往的数控系统由于其封闭性不易将计算机技术、自动 控制技术、制造技术发展的最新成果运用于数控系统中,严重的阻碍了数控技 术的发展。另一方面,由于加工的多样化,专业化,对加工。个性化”的要求 越来越高。体现加工“个性化”的专门加工设备、专业加工知识、经验如何在 加工系统中集成成为一个重要问题。对此,实现数控系统的开放化,针对不同 的应用要求与应用环境,在较大范围内让用户自由的选择和配置不同的硬件和 软件,并根据实际需要在开放系统的基础上开发适合需求的专用系统,是数控 技术发展的一个必然要求。 i e e e ( 国际电气电子工程师协会) 定义的开放系统是:。具有下列特性的 系统可称为开放系统:符合系统规范的应用可运行在多个销售商的平台上,可 与其他的系统应用互操作,并且具有一致风格的用户交互界面i 3 1 。”它有五个方 面的系统特性:系统互换性、可伸缩性、可移植性、互操作性和可扩展性。它 实质上是一种通用计算机上的标准应用程序,而非传统数控系统那样包含许多 插件板的专有硬件系统【4 】嘲 1 2 2p l c 及其在数控系统中的作用 p l c ( p r o g r a m m a b l el o g i cc o n t r o l l e r ) 可编程逻辑控制器是2 0 世纪6 0 年 代末期逐步发展起来的一种以计算机技术为基础的新型工业控制装置。提出 p l c 概念的是美国通用汽车公司当时根据汽车制造生产线的需要,希望用电 子化的新型控制器代替继电器控制器,以减少汽车改型时重新设计制造继电器 控制盘的成本和时间。p l c 的基本设计思想是把计算机功能完善、灵活、通用 等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来, 控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写 入控制器的用户程序存储器内。 随着半导体技术,尤其是微处理器和微型计算机技术的发展,到7 0 年代 中期以后,p l c 已广泛地使用微处理器作为中央处理器,输入输出模块和外围 电路也都采用了中、大规模甚至超大规模的集成电路。这时的p l c 己不再是 仅有逻辑判断功能,还同时具有数据处理和数据通信功能。 为了使这一工业控制装置的生产和发展标准化,国际电工委员会( 匝c ) 于 1 9 8 5 年制定了p l c 的标准,并给出了它的定义【6 】:“可编程序控制器是一种数 字运算操作的电子系统,专为在工业环境下应用而设计它采用可编程序的存 储器,用来在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等 第l 章绪论 特定功能的用户指令,并通过数字式或模拟式的输入和输出,控制各种类型的 机械或生产过程。可编程序控制器及其有关的设备,都应该易于与工业控制系 统联成一个整体,易于扩充功能的原则而设计。” 在数控机床上有两类控制信剧7 】:一类是控制机床进给运动坐标轴的位置 信息,如数控机床工作台的前、后、左、右移动;主轴箱的上、下移动和围绕 某一直线轴的旋转运动位移量等。对于数控车床是控制z 轴和x 轴的移动量; 对于三坐标数控机床是控制x 、y 、z 轴的移动距离;同时还有各轴运动之间的 关系,插补、补偿等的控制。这些控制是用插补计算出的理论位置与实际反馈 位置比较后得到的差值,对伺服进给电机进行控制而实现的。这种控制的核心 作用就是保证实现加工零件的轮廓轨迹,除点位加工外,各个轴的运动之间随 时随刻都必须保持严格的比例关系。这类数字信息是由c n c 系统( 专用计算机) 进行处理的,即。数字控制”。 另一类是数控机床运行过程中,以c n c 系统内部和机床上各行程开关、传 感器、按钮、继电器等开关量信号的状态为条件,并按照预先规定的逻辑顺序, 对诸如主轴的开停、换向,刀具的更换,工件的夹紧、松开,液压、冷却、润 滑系统的运行控制。这一类控制信息主要是开关量信号的顺序控制,一般由p l c 来完成。数控系统总体结构如图1 一l 所示 图1 - 1 数控系统总体结构 f 嘻1 1 t h es m l c t i no f c n c 由于逻辑控制是数控系统中的基础控制,实际上大部分控制器对象的个性 北京工业大学工学硕士学位论文 化需求都是通过可编程逻辑实现的。为此,开放的逻辑控制引擎是开放式控制 器体系结构中的重要组成部分。 1 2 3 软p l c 技术的提出及国内外研究现状 传统的硬件p l c 经过几十年的发展,已经成为一项成熟的技术,它具有可 靠性高、抗干扰能力强、专用化和模块化等优点,适用于恶劣的控制现场,在 工业控制领域和其他行业( 如家电行业) 得到广泛应用。但是,人们在应用中 也逐渐认识到硬件p l c 自身存在的缺点:难以构建开放的硬件体系结构;工作 人员必须经过较长时间的专业培训才能掌握某一种产品的编程方法;传统p l c 的生产被几家厂商所垄断,造成p l c 的性价比增长很缓慢,这些不足大大制约 了硬件p l c 的快速发展。如果能在计算机上实现p l c 的功能,对开放式数控 系统的构造是非常有意义的。随着计算机技术的迅速发展和广泛应用,同时, 由于工业自动化控制领域的国际标准i e c - 6 1 1 3 1 的推出和实施,打破了以前各 p l c 生产厂商的产品互不兼容的局限性,按照这个国际标准,充分利用工业控 制计算机i p c 或嵌入式计算机( e p c ) 的硬件和软件资源,全部用软件来实现传统 p l c 的功能,这就是国际上出现的高新技术一软p l c ( s o f t p l c ) 技术,这代表 着p l c 发展的新趋势。 所谓软p l c 技术,就是使用p c 作为硬件支撑平台,利用软件实现标准硬 件p l c 的基本功能。即将p l c 的控制功能封装在软件内,运行于p c 的环境中。 软p l c 具有以下优点嗍: 软p l c 系统具有开放的硬件体系结构,用户可以自由选择合适的硬件来组 成满足要求的控制系统; 软p l c 系统的指令集比传统p l c 的指令集更加丰富,大大方便了用户编 写工业控制程序: p l c 系统具有开放的架构和标准,其产品可以同时加入到p l c 网络和标准 计算机网络中。这使得现有计算机网络的很多研究成果可以很容易地应用到 p l c 控制技术中; 软p l c 的技术基于i e c 6 1 1 3 1 3 语言标准,因此程序开发方便,易于复用, 缩短了产品研发周期,调试和维护也比较方便。 相信在不久的将来,在食品加工、冶金、纺织、制药、汽车制造等行业中, 软p l c 有着更加广阔的应用市场。 1 2 3 1 国外研究现状软p l c 技术能较好地满足现代工业自动化的要求,目 前美国、德国等一些西方发达国家都非常重视软p l c 技术的研究与应用,有成 熟的产品出现,国内能够见到的包括: 第1 苹绪论 ( 1 ) k w - s o t h v a r e 公司的m u l t i p r o gw t 3 2 产品特点:完全符合i e c 6 1 1 3 1 国际标准,开发环境集成化,类似v a 斗6 0 的开发界面,支持五种编程语言( 两 种文本语言s t 、几和三种图形语言l d 、f b d 、s f c ) ,仿真程序比较完善,但 不支持五种编程语言之间的相互转换。 ( 2 ) 法国c ji n t e m a t i o n a l 公司的i s a g r a f 产品特点:通过变量交叉表可查 询变量的使用情况,可以方便加入用任何标准p l c 语言编写的功能块,也可嵌 入用c 语言编写的功能块,可以编译生成适用于不同c p u 的代码,仿真程序比 较完善,源程序在仿真运行时可以进行监控,可以运行在任何一种工业计算机、 微处理器或配有i o 模块的p l c 中,但不完全符合i e c 6 1 1 3 1 国际标准,开发 环境为非集成化的多窗口界面。 ( 3 ) 西门子公司的软p l c 系列产品w m a cw m a c 基本型用于大量、快速 的数据处理,但主要针对对实时性要求不高的场合,它是直接安装在w m d o w s n t 2 0 0 0 环境的软p l c 。w m a c 实时性是基于w m d o w sn t 操作系统和 v e n t u r e o m 实时扩展内核的软p l c ,用于有精确时间要求和快速i o 处理的场合。 w m a c 插槽型是基于p c 插槽的p l c ,它既具有$ 7 - 4 0 0 相同的功能,又兼有, p c 机开放、灵活的特点。适用于系统集成性、数据处理能力和操作安全性都有 高要求的应用场合。可选用独立于p c 的电源模板供电以进一步提高可靠性。 ( 4 ) s o f t p l c 公司的s o f l p l c 9 ls o 衄l c 是基于p c 的开放式控制软件, 具有开放的控制平台,用户能够根据自己的需求来选择硬件。它能够作为嵌入 式3 2 位实时多任务内核在3 8 6 、4 8 6 、p e n t i u m 其它x 8 6 兼容c p u 平台上运 行,能够控制多于1 6 k 个i o ,支持数字、模拟及特殊的i o ,支持用户用梯 形图和c 、c + + 、j a v a 等高级语言来编写自己的函数。此外,s o f l p l c 内嵌w e b 和f r p 服务器,用户可进行远程维护和监控。s o f t p l c 是一个独立于w m d o w s 的操作系统,从d o s 将s o f i p l c 装入内存后,s o f l p l c 即可控制c p u 。 l - 2 3 - 2 国内研究现状以计算机为依托,借助其丰富的软硬件资源并以某- 二 操作系统为平台而开发的开放式体系结构软p l c 的技术路线,这样就避开了制 约我国传统硬p l c 硬件可靠性差的“瓶颈”,使我国在今后开发软p l c 技术条 件上与国外基本处于同一起跑线上。目前国内的一些自动化软件公司及高校研 究所等研究机构也在研发这方面的产品,如北京亚控自动化软件科技有限公司、 北京华富惠通有限公司正在开发具有自主版权的中文软p l c 产品。广州蚁象自 动化控制有限公司开发的r p l c ,也基本达到了国外软p l c 的性能指标。广州 蚁象公司r p l c 的产品特点:借助于l i n u x 操作系统,符合i e c 6 1 1 3 1 3 可编 程控制器的编程软件标准,完全具备p l c 功能,能够轻松设计电器控制线,强 大的网络功能,轻松接入以以太网和组建r s 4 8 5 工业网络,并且拥有跨平台远 程控制功能。不过总的来说,在中国软p l c 技术刚开始起步。 北京工业大学工学硕士学位论文 1 3 本文的研究内容 凯奇公司自主研发的软p l c 系统,为用户提供梯形图编程环境,采取了基 于虚拟机的执行机制,在虚拟机中元件库模块提供了梯形图编程元素的相关信 息,由于符合i e c 6 1 1 3 1 3 标准,并且采用了面向对象的编程方法进行设计,具 有通用性强、易于扩充等优点,提高了整个软p l c 系统的柔性 本课题具体研究内容如下: 分析了基于虚拟机架构的软p l c 系统的组成结构; 研究面向对象的编程思想并对元件库模块进行建模; 在v 坞- u a lc + + 编程环境下对搭建的元件库模型进行了实现,并且开发出符 合i e c 6 1 1 3 1 3 的标准元件库,该元件库包含元件触点、线圈、数学运算等元件; 研究元件库与集成开发环境、编译器和解释执行器之间的关系,并且设计 和实现了与元件库进行交互的接口; 根据软p l c 移植到4 c k 数控系统的需求,利用建立的模型方便扩展出4 c k 元件库,体现了元件库模块的可扩充性; 单元测试,借助殒5 试工具c p p u n i t 搭建单元测试平台,针对具体元件的行 为信息进行测试; 集成测试,根据系统特点开发出自动测试平台,针对几个模块组合在一起 进行功能测试。 1 4 课题的目标 本课题研究目标为:在充分了解i e c 6 t 1 3 1 3 标准的基础上,采用面向对象 的编程思想,设计开发出符合标准、通用性强、易于扩充的元件库模块,该模 块可以方便地整合到软p l c 虚拟机当中,为系统的其它部分提供相应的信息。 并且,为保证元件库模块的开发质量,采用适当的测试方法和借助测试工具对 开发的模块进行测试,实现测试自动化,并提供最终的测试报告。 第2 章软p l c 系统的总体设计 第2 章基于虚拟机架构的软p l c 系统 2 i 软p l c 系统的执行方案 2 1 i 编译型解决方案 编译型的实现,简单说就是先将p l c 的指令和功能块都用c 语言或者汇编 语言编写成函数库,然后再用c 语言写一个框架代码,用户用梯型图编写完程 序后,梯型图编译器将生成一个框架文件,将所有指令的函数替代,并调用c 编译器,最后生成单片机的可以执行的二进制文件,下载到控制器,由控制器 执行。刚说过其中有一个框架代码,这个框架代码内就实现通信、i o 驱动、管 理等功能,而逻辑都由函数库的指令组合完成。 2 i 2 解释型解决方案 解释型的实现,简单说就是一个虚拟机架构,厂商定义了一种虚拟机指令, 其实这个虚拟机就相当于一个软c p u ,它也有对应的指令集。虚拟机在运行时 从代码中逐一取回指令并通过一个查找表跳转到对应的指令去运行。 2 i 3 两种方案的对比 传统硬件p l c 都是基于编译型的,而软p l c 的出现主要基于这么一个考 虑:通用m c u 的价格越来越低性能越来越高,特别是解释型的虚拟机架构在 d c s 上面得到了多年的运用,所以基于解释型的软p l c 逐渐产生。在实现上面 大多数小p l c 都采用编译型,因为小p l c 大多采用的是低档低速的m c u ,没 有足够的资源的成本去采用解释型的运算。相反在软件p l c 有不少是采用解释 型的处理方式,这种方式可使系统更灵活,解释型方案的缺点是要达到同样性 能情况下需要更高的c p u 成本和存储器成本。 凯奇公司研究的开放式控制器是基于纯软件结构的,硬件平台是嵌入式的 控制器,为了使系统具有更多的灵活性和扩展型,选择了解释执行机制。 2 2 软p l c 系统的组成 凯奇公司的软p l c 系统采取基于虚拟机的解决方案,和传统硬件p l c 系 北京工业大学工学硕士学位论文 统一样,该系统也分为开发系统和运行系统两部分,如图2 1 所示。 j 梯形图编辑器f 模拟运行器f :、曩l 软p l c 虚拟机 i ,统 l 通信模块i, j p 运f 通信模块l : 墓i 软p l c 虚拟机1 , 统 。 ,li o 系统j。, 彳产d 乡 机床本体| 图2 1 软p l c 系统的总体结构 f i g 2 1 t h eg 即响ls 廿u c t u r eo f s o 眦s y s t e m 软p l c 开发系统实际上就是带有调试和编译功能的p l c 编程器,此部分 各个模块具备如下功能: 用户可以在梯形图编辑器中,根据实际控制要求,用梯形图编写p l c 逻辑, 形成后缀名为p i e 的梯形图文件; 虚拟机是一个可嵌入模块组,可以完成对梯形图文件的编译、中间代码生 成和解释执行; 模拟运行器给用户提供了模拟调试环境,可以在没有硬件的条件下进行脱 机调试,方便检查程序逻辑的正确性; 通信模块用于和运行系统进行通信,进行文件和数据的传输。凯奇公司的 软p l c 开发系统运行的硬件平台为普通p c 机,操作系统平台为w _ m d o w s2 0 0 0 或者w m d o w s 。 软p l c 运行系统是软p l c 的核心,完成输入处理、程序执行、输出处理 等工作。如图2 1 所示运行系统主要由i o 接口、通信模块和虚拟机模块组成: ( 1 ) 1 0 接口可与任何i o 系统通信,数控系统通过f o 系统与机床本体进 行交互。 ( 2 ) 通信模块通信模块完成与开发系统的通信。 ( 3 ) 虚拟机虚拟机完成对p l c 文件的加载和执行。 凯奇公司软p l c 运行系统的硬件平台为n c l l 0 嵌入式控制器,该控制器 主要包括c p u 板、f o 板、电源板、和数控操作面板组成操作系统平台采用 w i n c e n e t 嵌入式操作系统。 第2 章软p i , c 系统的总体设计 2 3 软p l c 虚拟机 虚拟机( v i 巾l a 】m a c h i n e v m ) 是相对我们平常所用的实际的计算机而言 的一个概念,它是一个假想的模拟实际计算机进行工作的软件系统,同真实计 算机一样,虚拟机有自己的中央处理器,指令系统、存储器组织、寄存器组、 堆栈、输入输出等,可以接受指令系统的指令,完成计算或数据处理任务。虚 拟机的优点之一是计算机程序可以在不同的操作系统之间复用,即实现程序的 跨平台1 们。 凯奇公司的软p l c 虚拟机由编译器、解释执行器和元件库和管理模块组成, 如图2 2 所示。 传入梯形图文件 图2 - 2 软p l c 虚拟机的结构 f i g 2 - 2 t h es t r u c t u r eo f s o r p l cv m u a lm a d f i m 编译器负责将用户的逻辑程序( 梯形图编写的程序) 编译成虚拟机可执行的 指令文件。编译器包括词法器、语法器、语义器、代码生成器和错误管理器。 该编译器支持符合i e c 6 1 1 3 1 3 标准的梯形图编程,支持一个慢逻辑程序和一个 快逻辑程序。编译器将p l c 梯形图文件编译成与硬件无关的内部代码供解释执 行。 解释执行器负责将编译器生成的代码文件加载解释执行。解释器采用面向 对象的机制,代码文件被加载后在执行器内部生成了面向对象的指令链,执行 程序过程是通过遍历指令链完成的。 元件库提供了梯形图元件的相关信息,主要包括两类:第一类信息是梯形 图元件的描述信息,即该梯形图元件的图形描述和所对应参数的数据类型描述; 第二类信息是梯形图元件的逻辑行为信息,即该梯形图元件所对应的逻辑代码。 编译器在编译梯形图逻辑程序时访问元件库模块,提取元件的描述信息参与编 译;在解释执行器执行程序运行时访问元件库模块,提取元件的逻辑行为信息 完成解释执行。元件库作为一个单独的模块可动态升级,可根据用户的需要进 北京工业大学工学硕士学位论文 行裁减。这种架构给p l c 虚拟机带来了极大的灵活性和可扩展型。 管理模块的作用是协调编译器、解释执行器和元件库模块,完成模块的加 载、p l c 任务调度、系统错误处理等任务。 2 4 本章小结 本章对软p l c 系统的解释型方案和编译型方案进行了对比,为了保证数控 系统逻辑控制部分的开放性和可扩展性,采取了解释执行的方案。本章还介绍 了凯奇公司开发的软p l c 系统的体系结构,并重点介绍了虚拟机的组成和各个 模块的功能 第3 章软p l c 中元件库模块的研究 第3 章软p l c 中元件库模块的研究 图形元件库通常应用于一些工程设计领域,如电子工程、工艺过程、建筑 设计、机械设计等。这种软件一般自带有固定的元件库,同时也提供给用户自 扩展功能【l l 】。在软p l c 开发系统中,需要给用户提供梯形图绘制功能,本文中 的元件特指梯形图中的绘图元素,元件库是所有绘图元素的集合。如第二章所 述,元件库是软p l c 虚拟机中独立的模块,包含元件的绘图信息和行为信息, 本章重点讲述该模块的来源、设计和建模。 3 1i e c 6 1 1 3 1 3 标准 软p l c 是随着工业自动化控制领域的最新国际标准i e c 6 1 1 3 1 的颁布而发 展起来的,2 0 世纪9 0 年代初,i e c ( 国际电工委员会) 颁布了i e c 6 1 1 3 1 国际 标准,它的内容涵盖了p l c 整个生命周期的各个部分。其中包括【12 】:通用信息: 包含通用定义和p l c 区别于其它系统的典型功能特性;设备要求和测试:定义设 备的电气、机械和功能要求以及相应的产品质量合格性测试:编程语言:通过 形式定义、词法、语法和语义描述以及示例,定义基本的软件模型和编程语言: 用户导则:提供面向实际的信息;通信服务规范:关于不同制造商的p l c 彼此 之间以及它们和其他设备之间的通信。, i e c 6 1 1 3 1 标准将信息技术领域的一些先进的思想和技术( 如:软件工程、 结构化编程、模块化编程、面向对象的思想,以及网络通信技术等) 引入工业控 制领域,弥补或克服了传统的p l c 、d c s 等控制系统的弱点,如:开放性差、 兼容性差、应用软件可维护性差以及可再用性差等。对于符合这一标准的控制 器,即使它们由不同制造商生产,其编程语言也是相同的,其使用方法也是类 似的,因此,工程师们可以做到。一次学习、到处使用”,从而减少了企业在人 员培训、技术咨询、系统调试和软件维护等方面的成本。i e c 于1 9 9 3 年发布了 i e c 6 1 1 3 1 3 有关可编程序控制器编程的标准【i3 1 1 4 1 ,此标准有着世界范围的支持 厂商,但独立于任何单一的公司旧。i e c 6 1 1 3 1 - 3 是i e c 6 1 1 3 1 国际标准的第三 部分,也是工业控制编程唯一的国际标准,此编程标准包括五种p l c 编程语言, 其中3 种是图形化语言,2 种是文体化语言。图形化语言有梯形图( l a d d e r d i a g r a m - l d ) ,顺序功能 ( s e q u e n t i a lf u n c t i o nc h a r t - s f c ) ,功能块图( f u n c t i o n b l o c kd i a g r a m f b d ) 。文本化语言有指令表( i n s t r u c t i o nl i s t - i l ) 和结构文本 ( s t r u c t u r e d t e x t - s t ) 。i e c 并不要求每个产品都运行上述全部5 种语言,可以只 运行其中一种或几种,但这几种语言必须符合标准。同时此标准还允许在同一 北京工业大学工学硕士学位论文 个程序中使用多种编程语言进行混合编程,从而可使编程者能选用不同的语言 来适应特殊的工作 1 6 1 。 i e c 6 1 1 3 1 3 标准是实现软p l c 技术的重要条件,它也是具体实现软p l c 系统的主要依据之一。目前不同p l c 产品的编程语言差别很大,很难做到统一 的编程语言,这给编程技术人员带来了很大的不便:程序可重用性是现在编程 的一个发展趋势,现有的p l c 编程语言不能通过重复调用相同的逻辑策略和算 法,实现程序的重复使用。i e c 6 1 1 3 1 3 国际标准正是针对这些缺点而制定的, 它规定了p l c 统一的编程语言标准。 3 2 梯形图编程语言 i e c 6 1 1 3 1 - 3 标准中规定了5 种p l c 编程语言,由于梯形图语言是从继电器 控制系统原理图的基础上演变而来的,它与继电器控制系统的电路图很相似【m , 具有直观易懂的优点,很容易被工厂熟悉继电器控制的电气人员掌握,所以是 比较常用的p l c 编程语言。 梯形图由触点、线圈和用方框表示的功能块组成。触点代表逻辑输入条件, 如外部的开关、按钮和内部条件等。线圈通常代表逻辑输出结果,用来控制外 部的指示灯、接触器和内部的输出条件等。功能块用来表示定时器、计数器或 者数学运算等附加指令。在分析梯形图逻辑时,为了借用继电器电路图等分析 方法,可以想象垂直母线之间有一个左正右负的直流电源电压,有一个假想的 “能流”流过图中的触点、线圈和功能块,根据它们的逻辑状态决定“能流” 的通断。对一个网络的求值结果取决于网络的图形布局及其连接,梯形图就是 由这样一个一个的网络按从上到下的顺序排列起来的图形程序,如图3 1 所示。 图3 - 1 梯形图程序举例 f i g 3 - 1 t h ee x a m p l eo f l a d d e rd i a 舯m 第3 章软p l c 中元件库模块的研究 3 3 元件及元件库的概念 梯形图中的触点、线圈和用方框表示的功能块,我们把这些绘图元素叫做 。元件”。由于。元件”在梯形图中作为梯形图的绘图元素,因此元件中包括 其所具有的自身参数( 输入参数、输出参数) 和功能函数( 逻辑行为) 。i e c 6 1 1 3 1 3 标准对梯形图语言编程元素作了规定,包含连线、触点、线圈、标准功能和标 准功能块等编程元素,并且对每种元素的输入输出参数、所具备的功能等做了 准确的描述。 所有的元件按照一定的分类规则组合在一起,我们称元件的组合为元件库。 如第二章所述,元件库中包含元件信息,是虚拟机中个独立的模块,提供了 一组对外访问的接口,其它模块通过这些接口获取希望获得的信息。 3 4 元件库的设计和建模 3 4 1 元件库采用的数据结构 由于标准中规定的元件数量较多,为了便于信息查找,对其建模过程采用 按类型分组的策略,功能相近的元件分在同一个元件组中,采用的数据结构是 链表。链表是一种常用的线性存储结构,具有简单易用、可方便的插入和删除 链中任意结点等优点。每个元件库包含一个元件组链表,该链表的结点为元件 组的信息,每个元件组又包含一个元件链表,结点为元件。标准元件库数据结 构如图3 - 2 所示。 目前开发的标准元件库模块完全符合i e c 6 1 1 3 1 3 标准,包含触点组、线圈 组、定时器组、计数器组等1 3 个元件组,共计5 4 个元件。具体的创建过程请 参见第4 章内容。 北京工业大学工学硕士学位论文 图3 - 2 元件库的数据结构 f i g 3 - 2 t h ed a t as t r u c m r eo f i n s t m c d o ml m r a r y 3 4 2 面向对象的编程方法概述 面向对象技术是一种与传统软件工程的功能方法完全不同的、以对象为中 心的方法,它不仅是一种程序设计技术,更重要的是体现了一种思维方法。面 向对象中几个重要的概念如下【l s 】: ( 1 ) 类分类依据的原则是抽象,即忽略事物的非本质特征,只注意那些与 当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分 为一类,得出一个抽象的概念。 面向对象方法中的“类”,是具有相同属性和服务的一组对象的集合。它为 属于该类的全部对象提供了抽象的描述,其内部包括属性和行为两个主要部分。 类与对象的关系犹如模具与铸件之间的关系,一个属于某类的对象称为该类的 一个实例。 ( 2 ) 封装封装是面向对象方法的一个重要原则,就是把对象的属性和服务 结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。这里有两层含义: 第一个含义是把对象的全部属性和全部服务结合在一起,形成一个不可分割的 独立单位。第二个含义也称作“信息隐蔽”,即尽可能隐蔽对象的内部细节,对 外形成一个边界( 或者说一道屏障) ,只保留有限的对外接口使之与外部发生联 系。 、 第3 章软p l c 中元件库模块的研究 ( 3 ) 继承继承是面向对象技术能够提高软件开发效率的重要原因之一,其 定义是:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类 的继承。继承对于软件复用有着重要意义,使特殊类继承一般类,本身就是软 件复用。而且不仅如此,如果把开发好的类作为构件放到构件库中,在开发新 系统时便可以直接使用或继承使用。 ( 4 ) 多态性多态性是指在一般类中定义的属性或行为,被特殊类继承之 后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为 在一般类及其各个特殊类中具有不同的语义。 在元件库的设计和实现过程中,为了提高该模块的可扩充性和重用性,采 用面向对象的编程方法。 3 4 3 元件库类图模型 根据元件库设计时采取的数据结构,结合面向对象的分析方法,可抽象出 相关的实体类,元件库模块的类图结构如图3 3 所

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论