已阅读5页,还剩49页未读, 继续免费阅读
(机械制造及其自动化专业论文)数控系统中嵌入式plc虚拟机的研究与开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 开放式数控系统是当前数控技术研究的热点。在发展高速、高效、高精度 及智能化等性能的同时,功能的发展也要求越来越强,具体体现在尽量用软件 来实现数控的所有功能,使硬件规模达到最小化。作为整个运动控制核心的机 床逻辑控制也必然要以软件的形式来实现。这样就促进了软p l c 的发展。 本课题对数控系统中嵌入式p l c 虚拟机进行了研究和开发。由用户编写的 梯形图程序作为切入点,将梯形图逻辑控制程序编译成中间代码,然后将中间 代码转换成汇编程序并借助汇编编译器将其编译成机器码,最后在模拟系统中 运行机器码,得到预定的输出,实现p l c 虚拟机的逻辑控制功能。具体研究内 容包括: ( 1 ) 将用户编写的梯形图逻辑控制程序编译成中间代码形式的p l m 文件。 ( 2 ) p l m 文件转变为汇编程序。 ( 3 ) 用汇编编译器编译转变成功的汇编程序产生机器码,从而构造出可执 行文件p l e 文件,实现p l c 虚拟机的机器码执行机制,这样大大提高了p l c 指令的执行速度,同时大大节约了内存空间。 ( 4 ) 将p l c 指令对应的机器码移植到w i n c e 操作系统下的p l c 虚拟机中执 行。 关键词开放式数控系统;虚拟机;软p l c ;梯形图;机器码 北京工业大学工学硕士学位论文 a b s t r a c t o p e nn u m e r i c a lc o n t r o ls y s t e mi st h er e s e a r c hh o t s p o to f n c t e c h n o l o g yn o w w i t ht h ed e v e l o p m e n to ft h ep e r f o r m a n c eo fh i g h s p e e d ,h i g he f f i c i e n c y 、h i g hp r e c i s i o na n di n t e l l i g e n c e ,m o r ea n dm o r e f u n c t i o n sw h i c hm a k e st h es o f t w a r ec a r r yo u ta l lo ft h en cf u n c t i o n s a n dm i n i m i z et h es c a l eo fh a r d w a r ea r ed e m a n d i n g m a c h i n e l o g i e ,t h e k e r n e lo ft h ew h o l em o t i o nc o n t r o l ,i sn e c e s s a r i l yr e a l i z e dt h r o u g h s o f t w a r et o o ,w h i c ha c c e l e r a t e st h ed e v e l o p m e n to fs o f t p l c e m b e d d e dp l cv i r t u a lm a c h i n eo fn u m e r i e a lc o n t r o ls y s t e mis r e s e a r c h e d a n dd e v e l o p e di nt h i sp a p e r a tt h eb e g i n n i n go fs o f t p l c d e v e l o p i n gs y s t e m ,u s e r sw o r k o u tt h el a d d e rd i a g r a ma n dc o n v e r tit i n t oi n t e r m e d i a t ef i l eb yt h ec o m p i l e ro fi c o m a c p l c d e v e l o p m e n t t 0 0 1 t h e nt h ei n t e r m e d i a t ec o d ec a nb ec o n v e r t e di n t oa s s e m b l e ra n d b ec o m p i l e d 、1 i n k e di no r d e rt og e n e r a t em a c h i n ec o d e f i n a l i f ,e x e c u t e t h em a c h i n ec o d ei np l cs i m u l a t i o nr u n n i n gs y s t e ma n dg e tt h er i g h t r e s u l ts ot h a ti m p l e m e n tp l cf u n c t i o n ,t h em a i nr e s e a r c hw o r ki sa s f o l l o w s : ( 1 ) t h r a n s f e rl a d d e rd i a g r a mi n t oi n t e r m e d i a t ec o d e ( 2 ) t h r n s f e rp l mf i l e i n t oa s s e m b l e r ( 3 ) c o m p i l et h ea s s e m b l e ri n t om a c h i n ec o d es o t h a t g e n e r a t ep l e f n ei no r d e rt oi m p l e m e n tt h ee x e c u t i o n m e c h a n i s mo fp l cv i r t u a l m a c h i n e i nt h i sw a y ,t h ei n s t r u c t i o ne x e c u t i o ns p e e do fp l ci sg r e a t l y in c r e a s e da n dw ec a ns a v em u c hm e m o r y ( 4 ) e x e c u t em a c h i n ec o d ei np l cv i r t u a lm a c h i h eo fw i n c e0 s k e y w o r d so p e nn cs y s t e m :v i r t u a lm a c h i n e :s o f t p l c :l a d d e rd i a g r a m m a c h ir ec o d e 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:壅翌日期 关于论文使用授权的说明 伽涉笋25 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名纽导师签名: 日期:迎圭:羔l 叫铽r 邋 第1 章绪论 第1 章绪论 1 1 课题背景 1 1 1 数控系统概况 随着科学技术的发展及制造技术的进步,社会对产品多样化的需求越来越强 烈,产品的更新换代周期也越来越短,中小批量生产的比重明显增加,从而对制 造设备提出了更高的要求。为满足市场的需要,要求制造设备具有高效率、高质 量、高柔性及低成本的性能,数控机床作为一种自动化的加工设备而被广泛采用。 同时,随着现代机械制造业向更高层次的发展,数控机床也必将成为柔性制造单 元( f m c ) 、柔性制造系统( f m s ) 以及计算机集成制造系统( c i 醛) 的基础装备。 计算机数控系统作为制造形状复杂、高质量、高精度产品所必备的基础设备,已 成为当今先进制造技术的个重要组成部分。 数控系统是数控机床中的重要部件之一,是数控机床的核心技术,其性能的 好坏直接影响产品在市场上的竞争能力,因此,数控系统的发展趋势为众多的制 造商、销售商所关注。然而,现今市场上组成计算机数控系统的硬件模块和软件 结构绝大多数是专用的、互不兼容的,系统各模块间的交互方式、通信机制也各 不相同,这就造成了不同厂家控制系统的相对独立、彼此封闭。随着技术的进步, 市场竞争的加剧,这种专用体系结构的数控系统越来越暴露出其固有的缺陷。专 用的硬、软件结构也限制了系统本身的持续开发,不利于数控产品的技术进步。 总之,数控系统的这一现状已不能适应当今制造业市场变化与竞争。也不能满足 现代制造业向信息化、敏捷制造模式发展的需要。因而当今市场对于适合中小批 量加工、具有良好柔性和多种加工功能制造系统的需求己经逐步超过了对大型单 一功能制造系统的需要。这一市场发展的客观趋势促成了一个新的概念的产生, 即模块化、可重构、可扩充的开放式数控系统“。 1 ,1 2p l o 简介 p l c ( p r o g r 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 的基本设计思想是把计算机功能完善、灵活、通 用等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来, 北京工业大学工学硕士论文 ,量量墨宙胃置量薯皇曼曼量置量曼目宴皇墨蔓曼墨墨目量量| 舅量舅量嘲i l p l l 曹 控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写入 控制器的用户程序存储器内。 随着半导体技术,尤其是微处理器和微型计算机技术的发展,到7 0 年代中 期以后,p l c 已广泛地使用微处理器作为中央处理器,输入输出模块和外围电路 也都采用了中、大规模甚至超大规模地集成电路,这时的p l c 己不再是仅有逻辑 判断功能,还同时具有数据处理和数据通信功能。 国际电工委员会( i e c ) 颁布的可编程控制器标准草案中对可编程控制器做 了如下定义:可编程控制器是一神数字运算操作的电子系统,专为在工业环境下 应用而设计,它采用一类可编程序的存储器,用于在其内部存储程序,执行逻辑 运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式和模 拟式的输入输出,控制各种类型的机械的生产过程。可编程序控制器及其有关外 围设备,易于与工业控制系统联成一个整体,易于扩充其功能的设计。1 。 p l c 作为计算机技术应用于工业控制领域的崭新产品,也是开放式数控系统 中不可缺少的重要组成部分。它在处理开关量的控制问题时起着重要作用。现代 先进的数控机床一般可分为机床床体( m t ) 、n c 和p l c 三部分。数控机床中n c 和p l c 协调配合共同完成对数控机床的控制,其中n c 主要完成管理调度及轨迹 控制等“数字控制”工作,p l c 主要完成与逻辑有关的一些动作,如刀具的更换、 工件的夹紧及冷却液润滑液的开停。p l c 技术在各种工业过程控制、生产自动线 控制中得到极为广泛的应用,成为工业自动化领域中的一项十分重要的应用技 术。 11 3 数控系统中的p l o 在数控机床上有两类控制信息:一类是控制机床进给运动坐标轴的位置信 息,如数控机床工作台的前、后、左、右移动;主轴箱的上、下移动和围绕某 直线轴的旋转运动位移量等。这些控制是用插补计算出的理论位置与实际反馈位 置比较后得到的差值,对伺服进给电机进行控制而实现的。这种控制的核心作用 就是保证实现加工零件的轮廓轨迹,除点位加工外,各个轴的运动之间随时随刻 都必须保持严格的比例关系。这类数字信息是由c n c 系统( 专用计算机) 进行处 理的,即“数字控制”。 另一类是数控机床运行过程中,以c n c 系统内部和机床上各行程开关、传感 器、按钮、继电器等开关量信号的状态为条件,并按照预先规定的逻辑顺序,对 诸如主轴的开停、换向,刀具的更换,工件的夹紧、松开,液压、冷却、润滑系 统的运行控制。这一类控制信息主要是开关量信号的顺序控制,一般由p l c 来完 成。 弟1 革培论 p l c 控制的虽然是动作的先后逻辑顺序,可它处理的信息是数字量“0 ”和 “1 ”。所以不管是p l c 本身带c p u 还是c n c 系统的c p u 来处理这些信号,一台 数控机床确是通过计算机将第一类数字量信息和第二类开关量信息很好协调起 来,实现正常的运转和工作。因此,p l c 控制技术同样也是数控机床的一个重要 方面。 在数控系统中,可编程逻辑控制器( p l c ) 不仅能对数字量进行逻辑控制, 还具有数学运算、数据处理、运动控制、模拟量p i d 控制等功能,是数控系统的 重要组成部分,然而随着计算机技术的迅速发展和广泛应用,人们逐渐认识到硬 p l c 的通用性和兼容性不好,体系结构是封闭的,各个p l c 厂家的p l c 硬件体系 互不兼容,编程语言及指令系统各异,以及价格昂贵等制约了其快速发展。同时, 由于工业自动化控制领域的国际标准i e c l l 3 1 的推出和实旖,打破了以前各p l c 生产厂商的产品互不兼容的局限性,按照这个国际标准,充分利用工业控制计算 机i p c 或嵌入式计算机e p c 的硬件和软件资源,全部用软件来实现传统硬p l c 的 功能,这就是国际上出现的高新技术软p l c ( s o f t p h c ) 技术。3 。 1 1 4 软p h o 产品及其前景展望 目前,使用工业p c 机、基于开放式结构己成为数控系统发展的主要方向。 与这种情况相适应,基于p c 平台的嵌入式软件p l c 由于无需专门的编程器,可 以充分利用p c 机的软硬件资源,直接采用梯形图或语言编程,具有良好的人机 界面等优点,在数控系统中正逐渐取代硬件p l c ,成为该领域辅助功能控制的新 方法。 目前,国外市场上出现了不少软p l c 产品,有些已经开始投入使用,下面是 一些典型的应用产品。 ( 1 ) s o f t p l c 公司的s o f t p l c “3 。s o f t p l c 是基于p c 的开放式控制软件, 具有开放的控卷4 平台,用户能够根据自己的需求来选择硬件。它能够作为嵌入式 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 t p l c 内嵌w e b 和f t p 服务 器,用户可进行远程维护和监控。s o f t p l c 是一个独立于w i n d o w s 的操作系统, 从d o s 将s o f t p l c 装入内存后,s o f t p l c 即可控制c p u 。 ( 2 ) s i e m e n s 公司的s i m a t i cw i n a c 。s i m a t i cw i n a c 是基于w i n d o w s 平 台的控制软件,具有可视化人机界面,它将控制、数据处理、通信等技术集于一 体。w i n a c 能提供标准的a c t i v e x 控件用于标准化软件包( 如v i s u a lb a s i c 或 o f f i c e ) 对过程数据实时存取。w i n a c 采用了v e n t u r c o m 公司提供的实时操作 北京工业丈学工学硕士论文 系统作为w i n d o w sn t 的扩展,具有“硬实时”的特性。w i n a c 具有开放的开发 环境,支持用户在控常程序中嵌入c c + + 代码,能够访问外部硬件和软件组件。 此外,它还具有在线调试功能,编程人员无须连接p l c 即可在本机实现s t e p7 程序、人机界面程序及通讯程序的在线调试。 ( 3 ) c ji n t e r n a t i o n l 公司的i s a g r a f ”。i s a g r a f 能够在w i n d o w s 、w i nc e 、 m s d o s 、o s 一9 、q n xv 4 2 5 d 、l i n u xv 2 2 1 6w i t hr t a iv 1 7 、r t x 、v x w o r k s 等多种操作系统下运行,具有良好的网络通讯能力,包括数据传输、远程监控和 维护、在线调试、应用程序下载以及支持运行于多个目标上的控制程序间的通讯, 并具有图形化开发界面,全面支持i e c 一6 1 1 3 1 标准的5 种语言和流程图语言( f l o w c h a r t ,f c ) ,支持高级数学函数、矩阵、串操作、o d b c 、d c s 函数( p i d ,r a m p s ) , 支持用户用c 语言编程,支持布尔型、数字型( 整型,实型) 、定时器型、多维矩 阵( i x ,2 x ,3 x ) 以及数据结构和各种变量的结合使用。 国内在这方面也开展了部分基础技术研究工作,但起步较晚,至今尚未有成 熟的产品出现。 东南大学开发的面向d c s 控制组态软件中包含些软p l c 功能,它只是d c s 系统的一部分,不能独立运行“1 。 华中科技大学对软p l c 技术进行了大量的研究,取得了一定的成果。机械系 开发的数控内嵌式p l c 具有软p l c 的特点,但功能单一,不能作为独立系统运行, 且无联网通讯能力”。 国家数控系统工程与研究中心开展了开放式数控系统中的软件p l c 技术研 究,提出了一种基于开放式数控系统的嵌入式软件p l c 子系统的实现方法,给出 了一个软件p l c 的结构模型,并对p l c 的梯形图程序编程环境、梯形图程序与语 言程序的相互转换、p l c 程序执行等软件部件的设计和开发进行了研究1 。 清华大学制造工程研究所研制了一种基于r tl i n u x 实时操作系统的软件 p l c ,既可以作为一个独立模块和不同的c n c 系统协同工作,也可以嵌入到 t h h p i i 型数控系统内部运行在同一台计算机上,其实对性和可靠性已经在国产 t h m 5 6 6 0 h 和t h 5 4 5 6 立式加工中心上得到了验证“。 此外,国内已有一些著名的自动化软件公司( 如北京亚控自动化软件科技有 限公司) 正在研究开发具有自主版权的中文软p l c 产品。广州蚁象自动化控制有 限公司开发的r p l e 也基本达到了国外软p l c 的性能指标。 由于软p l c 克服了硬p l c 的一些缺点,有着硬p l c 不可比拟的优越性,因此, 研究开发和推广应用软p l c 技术及其产品,将带来巨大的经济效益。相信不久的 将来,在食品加工、炼油化工、冶金、纺织、制浆和造纸、废水处理、制药、汽 车制造、电子等行业,软p l c 有着广阔的应用市场。 第1 章绪论 1 2 课题的提出 1 2 1 软p l g 的产生及其作用 p l c 是数控机床上数控系统与机床之间的接口,如图卜i 所示。它主要处理 数控机床运行过程中各种开关量的控制信息。 图卜lp l c 在数控机床中的位置 f i g 1 1t h ep o s i t i o no fp l ci nn c 研究开放式的数控系统,软p l c 的研究是一个主要方面。软p l c 是基于p c 开放式数控系统采用软件实现控制的关键技术。随着p c 机进入计算机数控系统, 使用p c 的开放式c n c ( p c n c ) 已经成为数控系统发展的新趋势。可编程控制器 ( p l c ) 在处理开关量的控制问题时起着重要作用,是数控系统的重要组成部分。 软件p l c 其独立的硬件部分主要就是i 0 输入输出模块,它将现场信号转换成 p c 机可以接受的信号电平,同时可以把p c 机的信号电平转换成现场控制部分所 需要的电平。利用通用的i o 输入输出模块可提高其可靠性、性能价格比。由于 所控对象不同,其接受的输入信号电压和输出信号电压也各异,所需的i o 点数 和功能也不同。软件p l c 的定时、计数等功能,可以在p c 机内由软件来实现, 也可以通过在硬件模块上添加相应的元件,实现所需的功能。 1 2 2 课题来源 随着开放式数控系统的发展,开放的程度逐步加深,目前已发展到全部内核 层开放,软p l c 的研究开发就成了必然趋势。基于p c 的软p l c 的设计与实现成 为本课题研究的主要内容。本课题来源于北京首科凯奇电气公司的项目“新型制 造设备的控制系统研制”的一个子项目“数控系统逻辑控制接口的软件开 发”,这是一个基础技术研究和应用背景较强的课题。 1 3 课题研究的意义 开放式数控系统能5 ,z 艮好地解决变化频繁的需求与封闭控制之间的矛盾,从而 建立一个统一的可重构的系统平台,增强数控系统的柔性,降低制造成本。开放 北京工业大学工学硕士论文 墨罾邕曾奠皇i i 期囊皇奠墨墨篁晕量邕皇曼甚蕾皇鼍曼曼量鼍舞 的目的就是使n c 控制器与当今的p c 机类似。系统构筑于一个开放的p c 平台上, 具有模块化的组织结构。允许用户根据需要进行选配和集成,更改或扩展系统的 功能迅速适应不同的应用需求,即系统具有互换性、可伸缩性、可移植性、互操 作性、可扩展性等等。 软p l c 是一种基于i p c ( 工业控制计算机) 或e p c ( 嵌入式p c ) 的软逻辑控 制软件,与传统的p l c 一样,主要用于工业控制领域的开关量逻辑控制、顺序控 制、定时器控制、技术控制、模拟量控制、闭环过程控制( p i d 控制) 等。研究 软p l c ,可以打破以前各p l c 生产厂家的产品互不兼容的局限性,缩短产品开发 周期,使p l c 性能价格比提高,带来巨大经济效益。 如今我国已加入w i o ,在国际数控设备激烈的竞争环境中,开发出具有自主 版权的国内一流的高性能数控软件,有利于推动我国数控技术的发展,缩短我国 在此行业与发达国家的差距,以及发展我国的制造业。尤其随着p c 进入数控领 域,极大的丰富了数控系统的软硬件资源,有利于实现模块化、开放化。 逻辑控制是数控系统中的基础控制,用来控制机床部件的执行i 0 逻辑,如 主轴的起停、正转翻转、报警等,并与数控系统通信将机床的状态通知给数控系 统并根据数控系统的要求控制机床部件。软p l c 通过运行一个主程序可以完成一 般性逻辑操作,并可运行一个中断程序来完成需要紧急处理的逻辑操作。 因此,我们研究软p l c 的机器码执行方案具有很强的现实意义,具体表现 如下:能够大大提高p l c 指令的执行速度,同时大大节约内存空间。在目益加 剧的市场竞争的情况下,提高企业的生产效率,从而增强企业的竞争力。 1 4 课题研究的主要内容 梯形图是p l c 编程的标准语言之一,它直观易学,用它编写的程序给人们的 印象是p l c 还是“继电器控制箱”,很容易跟现场实际相结合,因此梯形图编程 成为p l c 区别于其它种类控制器最大的特征。 本课题由用户编写的梯形图程序作为切入点,通过p l c 的编译器将梯形图逻 辑控制程序编译成中间代码,然后将中间代码转换成汇编程序并借助汇编编译器 将其编译成机器码,最后在模拟系统中运行机器码,得到预定的输出,实现p l c 的逻辑控制功能。具体研究内容如下: ( 1 ) 将梯形图的指令翻译成宏汇编并建立一个宏库。 ( 2 ) 把用户编写的梯形图程序编译成中间代码形式的p l m 文件。 ( 3 ) 将p l m 文件转变为汇编程序。 第1 章绪论 ( 4 ) 用汇编编译器编译转变成功的汇编程序,将解释执行内部指令( p l m 文件) 转换为将程序编译成机器码执行,从而实现p l c 指令的机器码执行方案, 这样大大提高了p l c 指令的执行速度,同时大大节约了内存空间。 ( 5 ) 将p l c 指令对应的机器码移植到w i n c e 操作系统下的p l c 虚拟机中执 行。 北京工业大学工学硕士论文 第2 章总体设计 随着计算机技术的不断发展,软p l c 将会出现在越来越多的主流工业电气控 制场合。本课题针对北京凯奇数控设备成套有限公司的n c i l o 数控系统,对数控 系统中嵌入式p l c 虚拟机进行了研究与开发,最终实现p l c 虚拟机的机器码执行 方案来提高p l c 逻辑控制程序的执行速度并减少系统内存的占有量。 2 1p l c 虚拟机 2 1 1 虚拟机的概念 虚拟机( v i r t u a lm a c h i n e ,w ) 是相对我们平常所用的实际的计算机而言的 一个概念,它是一个假想的模拟实际计算机进行工作的软件系统,同真实计算机 一样,虚拟机有自己的中央处理器,指令系统、存储器组织、寄存器组、堆栈、 输入输出等,可以接受指令系统的指令,完成计算或数据处理任务。虚拟机的优 点之一是计算机程序可以在不同的操作系统之间复用,即实现程序的跨平台“。 研究虚拟机技术的意义主要有两点: ( 1 ) 虚拟机可阻增加操作系统的安全可靠性,相当于又增加了一个系统运 行级别,如果将程序运行其上,则可通过它来获得对程序指令执行过程的完全控 制,这也正是目前比较流行的虚拟执行技术。这一技术目前主要被应用于系统仿 真、系统测试以及反病毒等领域。本课题中的虚拟机技术主要应用于数控系统仿 真。 ( 2 ) 虚拟机让计算机程序可以在不同的操作系统之间复用,即实现程序的 跨平台特性,同时由于虚拟机的隔离作用,也使得基于虚拟机之上的应用程序变 得更安全。 2 1 2p l o 虚拟机 p l c 虚拟机是一个可嵌入模块组( 其包装形式为动态连接库) ,可嵌入到 i c o m a c 数控系统软件中实现软p l c 控制,也可以嵌入到p l c d e v e l o p e r 集成开发 环境中实现p l c 程序的编译和模拟运行,该软件主要是应用于数控系统的逻辑控 制。p l c 虚拟机能够完成一个p l c 程序的编译解释执彳亍,编程语言为梯形图,且 符合i e c 6 1 1 3 1 标准中的梯形图标准,支持用户编写自定义功能( 函数) ,调用 系统功能( 系统函数) ,功能块。它以解释为执行机制,引入虚拟机机制,在执 行时先将p l c 程序送往编译器编译成可解释的指令集,再将编译好的指令集合送 8 第2 章总体设计 往解释器进行解释执行。该p l c 拥有可视化的集成开发环境,可安装在p c 机上 或嵌入到数控系统中,进行p l c 源程序的编制和调试。其中用到的相关定义如表 2 一l 所示。 表2 - 1p l c 虚拟机中相关定义 t a b l e 2 一ld e f i n i t i o n si np l cv i r t u a lm a c h i n e 定义含义 i c o m a c 北京凯奇数控设备成套有限公司开发的数控系统软件 p l c d e v e l o p e r北京凯奇数控设备成套有限公司开发的p l c 梯形图程序集成开发程序 y k y c o d e 北京凯奇数控设各成套有限公司开发的p l c 虚拟机执行指令代码 p l c 主程序即慢逻辑程序,循环执行,由p l c 运行线程执行 中断程序 即快逻辑程序,定时触发执行,由中断服务线程执行 2 2 传统p l c 与现代p l c 实现方案对比 目前国内外研制p l c ,有两种实现方案: ( 1 ) 传统p l c 实现方案。编程语言使用指令表语言和梯形图编程,采用手 持编程器( p c 机辅助) 录入程序。硬件部分由c p u + # b 围模块( 如存储器、a d 、 d a 转换器) + 接口构成,其结构、接口比较复杂。另外由于各公司p l c 语言互 不兼容、外围模块使用多种多样,并且组台寻址方法都不同,导致传统的p l c 软、硬件体系结构是封闭的而不是开放的,与其他系统的连接就比较困难。 ( 2 ) 现代p l c 的研究趋势,编程语言使用国际标准i e c 6 1 1 3 1 - 3 ,并将基于 p c 的编程软件作为可编程控制器首选的编程工具。硬件结构大部分仍由c p u + 外 围模块( 如存储器、a d 、d a 转换器) 十接口构成。各个接口都按标准进行设计, 使系统方便被大系统接纳,这样就更大地增加了p l c 的开放性“。 在对比国内外研制p l c 的两种方案基础上,本课题依据现代p l c 的研究趋势, 进行了基于i e c 6 1 1 3 卜3 的数控系统嵌入式p l c 虚拟机的研究与开发。 2 3 软件环境的选择 当前比较流行的操作系统主要有d o s 、w i n d o w s 、u n i x 、l i n u x 和0 5 2 等系 统,尤其是w i n d o w s 操作系统应用最为普遍,占国内市场的9 0 以上。因此本系 统采用w i n d o w s 作为操作系统。c + + 语言是当前比较流行的面向对象的程序设计 语言,e v c + + 6 0 包含了微软提供的一整套封装好用于w i n d o w s 编程的基础类库 北京工业大学工学硕士论文 m f c ( m i c r o s o f tf o u n d a t i o nc l a s s ) ,它对w i n d o w s 中的大部分对象进行封装, 用户只需从这些类集中直接生成实例,而不用与底层的a p i 函数打交道“。 因此,本系统采用的开发环境:w i n d o w s2 0 0 0 操作系统和e v c + + 6 0 开发 工具。同时软件中涉及到了汇编程序的编译,所以在程序中借用了m a s m6 1 l 编 译器的m a s m 编译指令和l i n k 链接指令将汇编程序编译成机器码。 2 4 功能模块设计 本课题主要目标是对数控系统中嵌入式p l c 虚拟机研究和开发以提高指令 的执行效率。根据这些要求,本系统主要由两大模块组成:梯形图到机器码 程序的转换;执行机器码文件。每个模块的功能如下: ( 1 ) 梯形图到机器码程序的转换首先把用户编写的梯形图程序编译成中 间代码形式的p l m 文件,然后将p l m 文件转变为汇编程序,最后用汇编编译器编 译转变成功的汇编程序,产生机器码从而生成可执行的p l e 文件。 ( 2 ) 执行机器码文件将p l e 文件嵌入配置好的执行环境中并执行,通过 工控机的面板指示灯检测程序的正确性。 2 5 总体设计图 根据p l c 虚拟机的原理和执行机制,对p l c 虚拟机的机器码执行方案进行了 总体设计,总体设计图如图2 1 所示。 p l c 文件是梯形图程序的保存文件,通 过对p l c 文件进行词法分析、语法分析和语义分析编译产生p l m 文件,然后调 用宏汇编库,并经过一系列的转换生成机器码,产生p l e 文件,最后创建机器 码运行环境来执行机器码。宏汇编库中是每个梯形图指令对应的宏汇编段。 2 6 本章小结 本章介绍了开发系统所需要的软件环境和系统的功能模块设计以及总体设 计结构图,同时简要介绍了p l c 虚拟机的概况,并对传统p l c 与现代p l c 的实现 方案进行了对比。 第2 章总体设计 图2 - 1 总体设计图 f i g 2 - 1g e n e r a ld e s i g nc h a r t 北京工业大学工学硕士论文 第3 章梯形图与机器码的转换 3 1p l o 梯形图及相关指令功能的实现 可编程控制器( p l c ) 最常使用的语言是梯形图,梯形图是一种面向用户的 编程语言,一般有一组指令集与之对应。各种型号的p l c 指令不尽相同,但是执 行原理大同小异。之所以说梯形图语言是面向用户的,是因为它是由继电器控制 图发展而来的。它们在画法上有许多相似之处,梯形图采用软件编程逻辑取代了 继电器硬件接线逻辑,因而它和继电器控制器有本质的区别,一个是接线,另一 个是p l c 的程序。如图3 一l 所示,是一个简单的梯形图程序。 i abcd hh h 卜一 idefg 旧= r 一3 i h 圈3 - 1 梯形图结构 f i g 3 - 1t h es t r u c t u r eo fl a d d e rd i a g r a m 在p l c 梯形图中,继电器对应的物理实体是内存单元的某一位,称为位功能 存储器。若该位为1 ,那么表示它所代表的继电器线圈通电,常开触点闭合,常 闭触点断开。反之,若为0 则相应的继电器线圈失电,常开触点断开,常闭触点 闭合。c p u 扫描用户程序的过程实质是进行逻辑关系的运算,接点( 或触点) 状 态0 或l 作为逻辑关系式左端各项的值进行与、或、非的运算。运算结果1 或0 送入代表继电器线圈某一位存储单元,从而导致了该继电器线圈的通电或失电。 研究p l c 梯形图语言或指令语句的位逻辑指令,就是研究p l c 指令所代表的逻辑 关系以及实现该逻辑关系的方法“8 ”。 3 1 1 标准触点指令实现 在i e c 6 1 1 3 1 3 的指令表语言( i n s t r u c t i o nl i s t ) 中,分别用l d ( l o a d , 装载) ,a n d ( a n d ,与) 和o r ( o r ,或) 指令来表示开始、串联和并联的常开 触点。用l d n ( 1 0 a d ) n o t ) 、a n d n ( a n dn o t ) 和0 r n ( o rn o t ) 来表示开始、 串联和并联的常闭触点。触点指令中所有操作数变量的数据类型为b i t 类型。触 第3 章梯形图与机器码的转换 i i i 点指令的操作数主要包括输入点i 、输出点0 、中间继电器( 位存储器) 、定时 器( t ) 的线圈状态以及计数器( c ) 的线圈状态等。 标准触点指令实现简单的逻辑关系式的运算。为了实现逻辑指令,在p l c 运行系统中采用了一个8 位的寄存器栈( 如图所示) 。栈顶用来存储逻辑运算的 结果,堆栈中的数据一般按“先进后出”的原则存取。几个标准触点指令功能的 实现如表3 一l “所示。 表3 - 1 标准触点指令 t a b l e 3 一ls t a n d a r dc o r l t s c tir l s t r u c t i o n i e c s l l 3 1 3 i e c 6 1 1 3 卜3 标准 操作的实现原理 指令助记符 梯形图符号 l 将指令指定的位地址( 或变量) 中的二 l d f 进制数据装载八栈顶 l d n廿 将指令指定的位地址( 或变量) 中的二 进制数据取反装载入栈顶 将指令指定的位地址中的二进制数和栈 a n d ( a ) - 卜 顶中的二进制数相“与”,结果存入栈 顶 将指令指定的位地址中的二进制数取反 和栈项中的二进制数相“与”,结果存 a n d n ( a n )l 卅i r 入栈顶 将指令指定的位地址中的二进制数和栈 顶中的二进制数相“或”,结果存入栈o r ( o ) 一i 一 顶 将指令指定的位娃址中的二进铷数取反 一i :一一一一l 一 o r n ( o n ) 和栈顶中的二进制数相“或”,结果存 十i 一 入栈顶 31 2 与堆栈有关的指令实现 触点的串并联指令只能将单个触点与别的触点电路串并联,要想实现电路块 的串并联以及需要读取中间结果并且产生多个输出时,需要用到逻辑堆栈指令才 能实现。与堆栈有关的指令及其功能解释如下: ( 1 ) a l d 栈装载“与”指令( 栈顶与) ,它将堆栈中的第一层和第二层进 行逻辑“与”操作,结果放入栈顶,执行完栈装载“与”指令后,堆栈深度减1 , 如图3 2 所示。 北京工业大学工学硕士论文 ( 2 ) o l d 栈装载“或”指令( 栈顶或) ,它将堆栈中的第一层和第二层进 行逻辑“或”操作,结果放入棱项。执行完栈装载“或”指令后,堆栈深度减1 , 如图3 2 所示。 ( 3 ) l p s 指令,逻辑推入栈指令,复制栈顶内容,并将其压入堆栈的下一 层,如图3 - 3 所示。 ( 4 ) l p p 指令,逻辑出栈指令,弹出栈顶内容,如图3 3 所示。 t 2 = t l * t o t 4 = t 3 + t 2 执行前执行后执行前执行后 栈顶 栈顶 栈底 圈圈目吲 a l d ( 栈顶值与)o l d ( 栈项值或) 图3 2a l d 与o l d 指令的堆栈操作 f i g 3 - 2s t a c ko p e r a t i o no fa u ) o l di n s t r u c t i o n 入梭前入栈后入栈前入栈后 圉圉圉国 lps(入栈)lpp(出栈) 图3 - 3 堆栈操作实现原理 f i g 3 - 3t h ep r i n c i p l eo fs t a c ko p e r a t i o n 3 1 3 输出指令及取反指令的实现 输出指令( o u t ) 与梯形图中的线圈相对应,驱动线圈的触点电路接通时, 线圈流过“能流”,指定位对应的映像寄存器为l ,反之为o ,输出类指令应放 在梯形图的最右边,变量是b i t 类型。输出指令的功能是将栈顶值复制到对应的 第3 章梯形图与机器码的转换 映像寄存器,在扫描周期结束时,才读取输出口映像区内容,改变物理端口的状 态。 取反指令n o t 将它左边电路的逻辑运算结果取反,运算结果若为1 则变为o , 为0 则变为1 ,该指令没有操作数。能流到达该触点时即停止,若能流未到达该 触点,该触点给右侧供给能流。n o t 指令将堆栈顶部的值从0 改为l ,或从t 改 为0 。 两种指令和梯形图的对应关系如表3 2 “”所示。 表3 - 2 输出指令及取反指令 t a b l e 3 2 叫t n o t 指令助记符梯形图符号指令功能 o u t 一 将栈顶值复制到对应的映像寄存器 lj n o t - qn o t 卜 将它左边电路的逻辑运算结果取反 314 梯形图的编辑 绘制梯形图是p l c 编程方法中最基本、最常用的方法。它与继电器逻辑的梯 形图概念相同,表达了系统中全部动作的相互关系“。作为p i 。c 编程的一种最为 直观的语言,梯形图一直是p l c 编程人员最喜爱的语言。 在绘制梯形图时,首先要明确一点:梯形图中常开和常闭触点的状态是由外 部设备( 包括继电器、按钮、行程开关、定时器、计数器、数控系统中c n c 辅助 指令等) 的输入状态来确定的。典型的梯形图为输点的串并联并以输出线圈结尾。 p l c 软件开发平台是基于w i n d o w s 2 0 0 0 的p l c 开发系统,提供给用户一个梯 形图编程界面,用户可以通过编写梯形图来实现逻辑控制功能,并对编写的程序 编译调试。该梯形图编程界面如图3 4 所示。 该p l c 编辑环境与i e c 6 1 1 3 1 3 梯形图兼容,它包括很多标准功能( 相当于 c 语言中的函数) 、功能块( 相当于c + + 语言中的对象) 和自定义的函数。 31 5 梯形图的保存 在绘制完一个梯形图后,需要把它保留下来,以便将来修改再利用,达到这 样的目的必须使用文件。 北京工业大学工学硕士论文 我们知道,文件是指存储在外部介质上的数据的集合。操作系统对存储在外 部介质上的数据以文件为单位进行管理。存取数据时,要先建立一个文件,再对 它输出数据;读取文件里的数据时,要先按文件名找到该文件,再对其进行操作。 在本课题中,创建了一种十p l c 的文件,专门用来存取梯形图。编辑后的梯 形图保存在p l c 工程文件中,其工程文件结构如图3 - 5 所示。 图3 4 梯形图编程界面 f i g 3 - 4l a d d e rd i a g r a mp r o g r a m a b l ee n v i r o n m e n t 图3 - 5p l c 工程文件结构 f i g 3 - 5t h es t r u c t u r eo fp l cf i l e 第3 章梯形圈与机器码的转换 ( 1 ) 配置信息部分( r e s o u r c ep a r t ) 用于保存工程文件运行环境的配置 信息,包括如下信息:寄存器栈大小、函数栈大小、全局变量段大小、输入点个 数( i ) 、输出点个数( q ) 、中间点个数( m ) 、保存点个数( t ) 、定时器个数。 ( 2 ) 原文件部分( p r o g r a mp a r t ) 用于保存工程文件的梯形图的图形信 息,其数据结构为多分支树形数据结构包括如下信息:全局节点为文件的起始 点,该节点包含两个分支( 别名定义表:d e f i n e 机制、全局变量表:定义全局 变量) 、功能节点,该节点包含两个分支( 原文:保存该函数的梯图信息、局 部变量表:保存变量声明信息) ;程序节点,该节点包含两个分支( 同上) 。 3 2p k m 文件 为实现梯形图到机器码的转换,采用了p l m 文件做为中间文件。梯形图程序 编写好后,在p l c 开发系统下对其保存后的p l c 文件进行编译生成p l m 文件。p l m 文件的格式如图3 - 6 所示。 图3 - 6p l m 文件的格式 f i g 3 - 6t h ef o r m a to fp l mf i l e 在p l m 文件中,所有的数据都是以内码形式存放,存放的顺序依次是:p l m 文件格式的标识码,资源文件,全局变量,主函数的变量( 局部) ,主函数的指令, 中断函数的变量( 局部) ,中断函数的指令,子函数l 的变量( 局部) ,子函数1 的指令,子函数2 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大型超市视频监控租赁合同及服务条款
- 物业管理合同条款解析及模板
- 合同审核与签订标准化操作流程
- 住宅水电安装合同范本
- 新媒体主播劳动合同模板及范例
- 基于小波分析与神经网络融合的模拟电路故障诊断技术研究
- 基于实践与创新:初中《防灾避险》校本课程的构建与推行
- 基于实证分析的中国大学生英语塞音习得水平与提升策略研究
- 幼儿园主题活动设计与家长沟通策略
- 小学六年级春节文化全单元教案
- 2024版2025秋新版小学道德与法治三年级上册全册教案教学设计含反思
- 2025年武汉市江夏国资集团招聘财务工作人员笔试备考题库及答案解析
- 新版2026统编版小学道德与法治三年级上册 第5课《 走近科学家》第1课时 探索未知世界的人和科学家的品格 教学课件
- 水泵及电机基础知识培训课件
- 第二单元+多彩的音乐风格-学习项目一+中国音乐万花筒(教学设计)-2024-2025学年人教版(五线谱)音乐七年级上册
- 屠宰监管培训课件
- 2025年如法网考试试题及答案
- 校园垃圾清运实施方案
- 医院药房岗位应聘展示
- 2025至2030少儿艺术培训行业发展分析及有效策略与实施路径评估报告
- 手持电动工具安全技术
评论
0/150
提交评论