(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf_第1页
(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf_第2页
(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf_第3页
(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf_第4页
(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(机械制造及其自动化专业论文)nc110数控系统中软plc编译系统的研究.pdf.pdf 免费下载

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

文档简介

摘要 摘要 随着科学技术的发展和制造技术的进步,自动化程度更高的数控系统在制造 业中占有越来越重要的地位。随着制造业竞争的加剧和计算机技术的迅猛发展, 为了不断增强数控系统的柔性和适应性,数控系统也向着开放式的体系结构方向 发展。 随着数控技术的发展,也对数控系统中的整个运动控制核心的机床逻辑控制 提出了较高的要求。传统的机床逻辑控制器都是由硬件来实现的,即硬件p l c 。 为了适应数控系统的发展,我们使用软件的方法来实现硬件p l c 的功能,即本 课题所研究的软件p l c 。硬p l c 采用循环扫描工作方式,逐条读取用户程序, 经过命令解释后,产生相应的控制信号。因为解释执行按动态顺序重复翻译,每 次都需对源程序逐条语句执行,这种重复性大大降低运行速度。软p l c 采用编 译工作方式优于硬p l c 的循环扫描工作方式。 本文以凯奇数控公司的n c l l o 数控系统为硬件平台,以高级语言s 口r o m 编写用户的机床逻辑程序,用c 语言编写编译程序完成对数控系统软p l c 的编 译系统的设计。软p l c 的编译程序包括词法分析、语法分析、语义分析和目标 代码生成四个阶段。本文用正规表达式描述s d r o m 语言的单词符号,并利用 有穷自动机原理完成词法分析任务。我们用功能强大且高效的自底向上分析法中 的s l r ( 1 ) 分析法完成语法分析的任务。我们把语法分析分解为对字表达式的分 析和对信号表达式的分析,提高了分析程序的运行效率。本文对语义分析采用语 法制导翻译的语义分析方法来产生语义规则。在目标代码生成阶段,我们通过对 机床逻辑源程序的编译,生成机器码形式的目标代码,对分析过程中产生的错误 进行分析处理。我们只需要对机床逻辑源程序编译一次,以后每次直接运行编译 所生成的目标代码就可以了。这样可以大大提高程序的运行效率,更好的满足数 控系统的实时性要求。 总之,软件p l c 有着硬件p l c 不可比拟的优越性,适应开放式数控系统的 发展趋势。 关键词:开放式数控系统;硬件p l c ;软件p l c ;s 印r o m ;编译系统 a b s t r a c t a b s t r a c t a i o n g w l t ht h et e c h n l c a l d e v e l o p m e n tm s c l e n c ea n dt e c h n l c a la d v a n c em m a n u f a c t u r i n g ,t h en u m e r i c a lc o n t r 0 1s y s t e m ,w i t ht h eh i g h e rd e g r e ei na u t o m a t i o n c o n 打o l s ,o c c u p yt h em o r ea n dm o r ci m p o r t a l l tp o s i t i o ni nm a i l u f a c t u r i n gi n d u s t r y a l o n g w i t ht h ec o m p e t eo f m a n u f a c t u r i n gi n d u s t r yt u mw o r s e ,f o rs t r e n g t h e n n i n gt h e f l e x i l i t y a n d a d 印t a b i l i t y o fm en 啪e r i c a lc o n t m l s y s t e m ,t h en u m e r i c a lc o n t r 0 1 s y s t e mh a sd i r e c tt om eo p e nt y p ed e v e l o p m e n t w i t ht h ed e v e l o p m e n to ft h en u m e r i c a lc o n t m ls y s t e m ,m a c l l i n el o g i c ,a st h e c o n t r o lk e r r l e l ,i sp u tf o r w a r dt oa h i g h e rr e q u e s t t r a d i t i o n a lm a c h i n el o 酉cc o n t m l l e r a r ea l lr e a l i z e db yh a r d w a r e ,w 1 1 i c hw e s a yh a r dp l c ,t oa d 印tt h ed e v e l 叩m e n t o fm e n u m e r i c a lc o m r o ls y s t e mw e p u tf o n a r dt ou s em e m e t h o do f t l l es o f t w a r et or e a l i z e s h 盯dp l c ,w 1 1 i c hw ec a l l e ds o np l c t h es o f tp l c ,a d o p tc o m p i l e ds y s t e m ,i sb e t t e r t h a l lh a r dp l cw h i c h w o r k so ns c a nm e t h o d t h i sr e s e a r c hb a s e do nt h en c l l 0m l m e r i c 以c o n t m ls ”t e mo fc a t c hn u m e r i c a l c o n t m l c o m p a 工1 y ,a i l d w r i t et h e l o g i cp r o 野u nw i t ht 1 1 el a l l g u a g es 口r o m ,a 1 1 d c o m p l e t et h e s o f tp l cc o m p i l e ds y s t 锄谢t 1 1cp r o 乒锄n l ec o m p i l e ds y s t e m i n c l u d e sm ep h r 私ea n a l y s i s ,s ”t a 】【a n a l y s i s ,1 a n g u a g ea i l a l y s i sa n dg e n e r a t et a 昭e t c o d e t h i sp 印e rd e s c m e ss 碑r o mw o r d sw i t l l 协er e g l l l a re x p r e s s i o na 1 1 dy o u q o n g a u t o m a t i cm a c h i n e p r i n c i p l ec o m p l e t e t l l ep l l r a s ea i l a l y s i s w eu s e ds l r ( 1 ) m e t h o dt o c o m p l e t e st h es y n t a xa n a l y s i s t h i sp a p 既l e a d s 也el a n g u a g eo ft h e 订a n s l a t i o nt h e a 1 1 a l 蜘st h em e t h o d t op r o d u c et l l el a 工l g l l a g em l e h lt h es t a g eo f g e n e r a t en l et a 唱e t c o d e ,w ep a s st oc o m p i l em em a c l l i n el o 西cs o l l r c ep r o g m m ,t og e n e r a t et l l et 盯g e t c o d ei nt h ef o 肌o f m a c h i n ec o d e w eo n l yn e e dt oc o m p i l et l l em a c h i n e1 0 百cs o u r c e p r o f 锄o n c e ,a n dh e r c 蚯e rw e c a nm n t a 唱e tc o d ee v e r yt i i n e i tc a l li n c r e a s e 也e e m c i e n c yo f t h ep r o c e d u r ec o n s 啪e d l y ,a i l dc a l lc o n t e mt h er e a l - t i m er e q u e s tb e t t e r o f t h en u m e r i c a lc o n t r 0 1s y s t e m maw o r d ,t h es o f tp l ch a sg o tt h es u p e r i o rm a th a r dp l cc a n 、c o m p a r ct o , w h i c h r e p r e s e n t a t i v et h et r e n do f t h eo p e nn 吼e r i c a lc o n t r o ls y s t e m k e y w o r d s :o p e nn u m e r i c a lc o n t m ls y s t e m ;h a r dp l c ;s o f cp l c ;s 口r o m c o m p i l e ds y s t e m 一1 i 一 第1 章绪论 1 1 课题背景 l ,数控系统概况 第1 章绪论 随着科学技术的发展及制造技术的进步,社会对产品多样化的需求越来越强 烈,产品的更新换代周期也越来越短,中小批量生产的比重明显增加,从而对制 造设备提出了更高的要求。为满足市场的需要,要求制造设备具有高效率、高质 量、高柔性及低成本的性能,数控机床作为一种自动化的加工设备而被广泛采用。 同时,随着现代机械制造业向更高层次的发展,数控机床也必将成为柔性制造单 元( f m c ) 、柔性制造系统( f m s ) 以及计算机集成制造系统( c d “s ) 的基础装备。 计算机数控系统作为制造形状复杂、高质量、高精度产品所必备的基础设备,已 成为当今先进制造技术的一个重要组成部分“1 。 1 9 5 2 年,美国麻省理工学院与帕森斯公司进行合作,发明了世界上第一台三 座标数控铣床“”。控制装置由2 0 0 0 多个电子管组成,约一个普通实验室大小。 伺服机构采用一台小型伺服马达改变液压马达斜盘角度以控制液动机速度。这台 c n 机床的研制成功标志着n c 技术的开创和机械制造的一个新的数控时代的开 始。近半个世纪以来,数控系统经历了两个阶段共六代的发展。 第一阶段:数控( n c ) 阶段( 1 9 5 2 1 9 7 0 年) 早期计算机的运算速度低, 对当时的科学计算和数据处理影响还不大,但不能适应机床实时控制的要求。人 们不得不采用数字逻辑电路“搭”成一台机床专用计算机作为数控系统,被称为 硬件连接数控( h a r d w r e d n c ) ,简称为数控( n c ) 。随着元器件的发展, 这个阶段历经了三代,即电子管、晶体管和小规模集成电路。 第二阶段:计算机数控( c n c ) 阶段( 1 9 7 0 年现在) 到1 9 7 0 年,通用小 型计算机业已出现并成批生产。其运算速度比5 0 6 0 年代有了大幅度的提高, 于是将它移植过来作为数控系统的核心部件,从此进入了计算机数控( c n c ) 阶 段。到1 9 7 1 年,美国i n t e l 公司在世界上第一次将计算机的两个最核心的部件 运算器和控制器,采用大规模集成电路技术集成在一块芯片上,称为中央处 理单元( 简称c p u ) 。到1 9 7 4 年微处理器被应用于数控系统。到了1 9 9 0 年,p c 机的性能已发展到很高的阶段,从8 位、1 6 位发展到3 2 位,可以满足作为数控 系统核心部件的要求,而且p c 机生产批量很大,价格便宜,可靠性高。数控系 北京工业大学工学硕士学位论文 统从此进入了基于p c 的阶段。总之,计算机数控阶段也经历了三代,即小型计 算机、微处理器和基于p c ( p c b a s e d ) 的第六代。 数控系统是数控机床中的重要部件之一,是数控机床的核一心技术,其性能的 好坏直接影响产品在市场上的竞争能力,因此,数控系统的发展趋势为众多的制 造商、销售商所关注。然而,现今市场上组成计算机数控系统的硬件模块和软件 结构绝大多数是专用的、互不兼容的,系统各模块问的交互方式、通信机制也各 不相同,这就造成了不同厂家控制系统的相对独立、彼此封闭。随着技术的进步, 市场竞争的加剧,这种专用体系结构的数控系统越来越暴露出其固有的缺陷。专 用的硬、软件结构也限制了系统本身的持续开发,不利于数控产品的技术进步。 总之,数控系统的这一现状已不能适应当今制造业市场变化与竞争,也不能满足 现代制造业向信息化、敏捷制造模式发展的需要。因而当今市场对于适合中小批 量加工、具有良好柔性和多种加工功能制造系统的需求已经逐步超过了对大型单 一功能制造系统的需要。这一市场发展的客观趋势促成了一个新的概念的产生, 即模块化、可重构、可扩充的开放式数控系统。 1 1 2 开放式数控系统 开放式数控系统研究的主要目的是解决变化繁杂的需求与控制系统专一固 定的框架之间的矛盾,从而建立一个统一的可重构的系统工具平台,极大的增强 数控系统的柔性和适应性。开放的目的就是使n c 控制器与当今的p c 机类似, 系统构筑于一个开放的平台之上,具有模块化组织结构,允许用户根据需要进行 选配和集成,更改或扩展系统的功能迅速适应不同的应用需求,而且,组成系统 的各功能模块可以来源于不同的部件供应商并相互兼容。事实上,基于上述指导 思想的开放式数控系统也符合也e e ( 国际电气电子工程师协会) 关于开放式系 统的定义b 4 “5 1 2 9 1 :符合系统规范的应用能够在多个销售商的不同平台上运行, 可以和其他系统应用互操作,并能给用户提供一种统一风格的交互方式( a no p e n s y s t e mp r o v i d e sc 印a b i l i t i e st t l a te n a b l ep r o p e r i yi m p l e m e n t e d 印p i i c a t i o n st o 砌o n a v a r i e t y o fp l a t f o m l s 丘o mm u l t i p l ev e n d o r s , i n t e r 叩e r a t e w i mo t h e r s y s t e m s a p p l i c a t i o n s ,a 1 1 dp r e s e n t ac o n s i s t e n ts t y l eo f i n t e r a c t i o nw i t ht h eu s e r ) 。 根据这一定义,开放式数控系统应具有以下基本特征”: 可互操作性。通过提供标准化接口、通信和交互机制,使不同功能模块能以 标准的应用程序接口运行于系统平台之上,并获得平等的相互操作能力,协 调工作。 可移植性。系统的功能软件与设备无关,即应用统一的数据格式、交互模型、 控制机理,使构成系统的各功能模块可来源于不同的开发商,并且通过一致 一2 一 第1 章绪论 的设备接口,使各功能模块能运行于不同供应商提供的硬件平台之上。 档次皆宜性。c n c 系统的功能、规模可以灵活设置,方便修改,既可以增加 硬件或软件构成功能更强的系统,也可以裁减其功能以适应低端应用。 可互补性。指构成系统的各硬件模块、功能软件的选用不受单一供应商的控 制,可根据其功能、可靠性及性能要求相互替换,而不影响系统整体的协调 运行。 满足这些特点的系统能根据用户的需求迅速、高效、低成本的构建面向用户 且具有广泛兼容性的控制器,而这一过程并不依赖于某一控制器制造商,且可融 入用户的专用功能。从而使最终用户,机床制造商和控制器开发商在设计、实现、 安装、操作、维护、重配置等多方面受益。 1 1 3 开放式数控系统的研究现状 数控系统开放化的要求来自生产方式的发展,来自用户和机床厂对附加技术 的要求,也来自于控制器厂商追求高质量、低成本和提高产品竞争力的需要。开 放已成为以数控机床为代表的制造装备不可逆转的发展趋势。欧洲、美国和日本 目前都在进行自动化领域的开放式体系结构的研究,纷纷出台了各自的开放式体 系结构规范2 2 儿2 眦3 2 1 3 们。美国的n g c ( n e x tg e n e r a t i o nc o n t r o l l e r ) 和o m a c ( o p e n m o d u l a ra r c h i t e c t u r e c o n t r 0 1 l e r s ) 计划,欧盟的o s a c a( o p e ns y s t e m a r c h i t e c t u r ef o rc o n t r o l sw i t h i na u t o m a t i o ns y s t e m s ) 计划,日本也提出了 类似的计划o s e c ( o p e ns y s t e me n v i r o n m e n tf o rc o n t r 0 1 l e r ) 。现在国内参与 开放式数控的主要研发单位有:航天、华中、凯奇、中科院沈阳计算所,北京机 床研究所等2 3 1 2 5 1 2 6 1 3 们。 1 1 4 数控系统的发展趋势 我国是一个机床生产和应用大国,但数控技术的应用水平还不高,这些严重 制约着我国制造业水平的提高。国际上的相关开发计划对我国的数控技术的发展 提出了严峻的挑战,同时也带来了机遇。首先,开放系统计划的实施,把世界上 所有系统开发商推到了同一起跑线上。在这个起跑线上,我们可以建立以国际采 购为思路的系统集成开发之路,为我国制造高性能、高可靠性c n c 系统创造条件; 其次,通过一致的编程应用界面,容易形成自己的集成方案,进一步减小对卖方 市场的依赖性。此外,随着开放系统计划的实施,统一开发平台的建立,将来 c n c 系统的高技术附加值将主要体现在软件上,为我国发展民族软件产业创造了 一个良好的契机9 1 2 0 1 3 。 北京工业大学工学硕士学位论文 我国制造业落后于发达国家的重要原因之一就是我国企业的加工设备陈旧, 手段落后。如今我国已经加入w t o ,落后的制造业将面i 临更为严峻的挑战。基于 p c 的开放式控制系统将提高企业的竞争力,并提供更为灵活的加工方式。所以 发展基于p c 的开放式控制系统具有重要意义b 们。 1 2 课题的提出 1 2 1 p l c 简介 p l c ( p r o g r a 哪a b l el o g i cc o n t r o u e r ) 可编程逻辑控制器是2 0 世纪6 0 年 代末期逐步发展起来的一种以计算机技术为基础的新型工业控制装置。 提出p l c 概念的是美国通用汽车公司。当时根据汽车制造生产线的需要,希 望用电子化的新型控镱4 器代替继电器控制器,以减少汽车改型时,重新设计制造 继电器控制盘的成本和时间。p l c 的基本设计思想是把计算机功能完善、灵活、 通用等优点和继电器控制系统的简单易懂、操作方便、价格便宜等优点结合起来, 控制器的硬件是标准的、通用的。根据实际应用对象,将控制内容编成软件写入 控制器的用户程序存储器内。 随着半导体技术,尤其是微处理器和微型计算机技术的发展,到7 0 年代中 期以后,p l c 已广泛地使用微处理器作为中央处理器,输入输出模块和外围电路 也都采用了中、大规模甚至超大规模地集成电路,这时的p l c 已不再是仅有逻辑 判断功能,还同时具有数据处理和数据通信功能。 国际电工委员会( i e c ) 颁布的可编程控制器标准草案中对可编程控制器做 了如下定义:可编程控制器是一种数字运算操作的电子系统,专为在工业环境下 应用而设计,它采用类可编程序的存储器,用于在其内部存储程序,执行逻辑 运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式和模 拟式的输入输出,控制各种类型的机械的生产过程。可编程序控制器及其有关外 围设备,易于与工业控制系统联成一个整体,易于扩充其功能的设计“。 p l c 作为计算机技术应用于工业控制领域的崭新产品,也是开放式数控系统 中不可缺少的重要组成部分。它在处理开关量的控制问题时起着重要作用。现代 先进的数控机床一般可分为机床床体( m t ) 、n c 和p l c 三部分。数控机床中n c 和 p l c 协调配合共同完成对数控机床的控制,其中n c 主要完成管理调度及轨迹控 制等“数字控制”工作,p l c 主要完成与逻辑有关的一些动作,如刀具的更换、 工件的夹紧及冷却液润滑液的开停。p l c 技术在各种工业过程控制、生产自动线 控制中得到极为广泛的应用,成为工业自动化领域中的一项十分重要的应用技 术。 一4 一 第1 章绪论 1 2 2 硬件p l c p l c 的结构多种多样,但其组成的基本原理基本相同,都是以微处理器为核 心的结构,其功能的实现不仅基于硬件的作用,更要靠软件的支持,实际上p l c 就是一种工业控制计算机。 p l c 主要由中央处理单元( c p u ) 、存储器( r a m 、r o m ) 、输入输出单元( i 0 ) 、 电源和编程器等几部分组成,其结构框图如图l 一4 所示“”“”。 图1 4 可编程控制器结构框图 c p u 是p l c 的核心部件,我们根据c p u 部件的指令系统编写系统程序,控制 程序的运行。p l c 的内部存储器用来存储系统管理程序和用户程序。可以分为随 机存储器r a m 和只读存储器r o m 。r a m 可以进行读写操作,后者用于固化系统管 理程序和用户程序。i 0 单元用于处理开关量、模拟量、数字量等信号的输入输 出操作。编程器是p l c 很重要的附件,他的主要作用是编制用户程序,将程序送 入存储器。利用编程器检查、修改用户程序和在线监视p l c 的工作状况。 p l c 采用循环扫描的工作方式,其工作过程简图如图l 一5 所示”“。 北京工业大学工学硕士学位论文 图l 一5p l c 扫描工作过程 这个过程可分为内部处理、通信服务、输入处理、程序执行、输出处理几个 阶段,整个过程扫描一次所需的时间称为扫描周期。在内部处理阶段,p l c 检查 c p u 模块内部硬件是否正常,复位监视计时器,以及完成其它一些内部处理。在 通信处理阶段,p l c 与带微处理器的智能装置通信,响应编程器键入的命令,更 新编程器的显示内容。在p l c 处于停止运行( s t o p ) 状态时,只完成内部处理和通 信服务工作。在p l c 处于运行( r u n ) 状态时,除完成上述操作外,还要完成输入 处理、程序执行、输出处理工作。从输入一第1 步运算一第2 步运算,最 后一步运算一输出。 p l c 在输入处理阶段,以扫描方式顺序读入所有输入端的o n o f f 状态,并将 此状态存入输入映象寄存器。接着转入程序的执行阶段。在程序执行期间,即使 输入状态发生变化,输入映象寄存器的内容也不会改变,只有在下一个扫描周期 的输入处理阶段才能被读入。 p l c 在程序执行阶段,按先左后右、先上后下的步序,逐条执行程序指令, 从输入映象寄存器和其它元件映象寄存器中读出有关元件的0 n o f f 状态。根据 用户程序进行逻辑运算,运算结果再存入有关的元件映象寄存器中,即对每个元 件而言,元件映象寄存器中所寄存的内容会随程序的进程而变化。 输出处理阶段,在所有指令执行完毕后,将输出映象寄存器的洲o f f 状态, 在输出处理阶段转存到输出锁存器,通过隔离电路、驱动功率放大电路、输出端 子向外输出控制信号,这才是p l c 的实际输出。p l c 的扫描既可按固定的顺序进 行,也可按用户所指定的可变顺序进行。这不仅因为有的程序不需每扫描一次就 执行一次,而且也因为在一个大控制系统中需要处理的i o 点数较多,通过安排 不同的组织模块,采用分时分批扫描的执行方法,可缩短循环扫描的周期和提高 一6 一 第l 章绪论 控制的实时响应性。 顺序扫描的工作方式简单、直观,简化了程序设计,并为p l c 的可靠运行提 供了保障。一方面,所扫描到的功能经解算后,其结果马上就可被后面要扫描到 的逻辑解算所利用。另一方面,还可通过c p u 内部设置的监视定时器来监视每次 扫描是否超过规定时间,诊断c p u 内部故障,以避免程序异常运行而造成的不良 影响2 7 1 。 由p l c 的工作过程可见,在p l c 的程序执行阶段,即使输入发生了变化,输 入状态寄存器的内容也不会变化,要等到下一周期的输入处理阶段才能改变。暂 存在输出状态寄存器中的输出信号,等到一个循环周期结束,c p u 集中将这些输 出信号全部输送给输出锁存器,这才成为实际的c p u 输出。因此,全部输入、输 出状态的改变,就需要一个扫描周期,换言之,输入、输出的状态保持一个扫描 周期。p l c 的循环扫描时间是一个较为重要的指标,一般为几毫秒至几十毫秒。 p l c 的扫描时间取决于程序的长短和扫描速度。因为p l c 的输入处理阶段和输出 处理阶段所需时间一般很短,通常只有几毫秒。可见,p l c 的扫描时间对于一般 工业设备( 改变状态的时间约为数秒以上) 通常是没有什么影响的。 综上所述,p l c 是以扫描方式工作的,它是循环地、连续地、顺序地逐条执 行程序,在任何时刻,它只能执行一条指令,也就是说p l 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 l l 3 l 的推出和 实施,打破了以前各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 l c 有着硬件p l c 无法比拟的优势”“”: 北京工业大学工学硕士学位论文 产品开发周期短,编程调试和维护方便; 产品通用性和兼容性高; 性能价格比高,软件p l c 的生产成本和运行成本比较低。而硬件p l c 本 身由c p u 、m e m o r y 、p o w e r 和i op o r t 所组成,其开发和生产周期长生 产成本和使用成本高; 可运行在绝大多数计算机平台,独立的硬件总线( 如i s a 、p c i 等) ; 支持梯形图,c c 及j a v a 语言指令; 响应速度快,软件p l c 指令执行时间是硬件p l c 的2 2 5 倍: 硬件p l c 只有一个通信接口,而软件p l c 提供多达3 2 个通信接口; 支持在线运行模式下的程序修改及i o 驱动。 软件p l c 具有强大的功能,在整个工业控制中发挥着越来越大的作用。特别 是强大的网络通讯功能是硬件p l c 所无法比拟的。编程工具可以是专用编程器, 也可以是配有专用编程软件包的通用计算机。 1 2 4p l c 的发展动向 软件p l c 采用开放式结构的软件控制技术,将一台标准的工业控制计算机改 变为一个具有p l c 全部功能的过程控制器。随着微处理技术的发展,可编程控 制器也得到了迅速发展,其技术和产品日趋完善“”。 以往各个p l c 生产厂家的产品不仅硬件各异,其编程方法也是五花八门,用 户每使用一种p l c 时,他不但要重新了解其硬件结构,同时必须重新学习编程方 法及其规定。为减轻用户学习负担,i e c 于1 9 9 3 年发布了i e c l l 3 卜3 有关可编 程序控制器编程的标准。以往各个p l c 生产厂家的产品互不开放,要将几个p l c 厂家的产品连接在同个网络里是很困难的,而以通用的p c 取代各制造厂专用 的p l c ,可使系统从封闭走向开放“”。 i e c l l 3 卜3 标准是有关可编程序控制器的硬件、安装、试验、编程、通信等 方面的国际标准,它共分5 个部分,i e c l l 3 卜3 是有关编程的标准,该标准共规 定了5 种编程语言,其中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 l f a n c t i o n c h a r t s f c ) ,功 能块图( f u n c t i o n b l o c k d i a g ra i i l f b d ) 。文本化语言有指令表( i n s t r u c t i o n l 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 种语言,可以只运行其中一种或几种,但这几种语言必须符合标准。我们所使用 的是布尔型的逻辑语言s i p r o m 语言。 1 9 9 2 年,由p l c 用户与制造商联合组成“p l co p e n ”组织,总部设在荷兰, 在美国、日本有分支机构,其宗旨是组织和推动i e c1 1 3 卜3 标准的贯彻并向用 一8 一 第1 章绪论 户提供咨询服务。也就是说,用户不仅可以选择他所熟悉的编程语言,还可选择 适合于他的i o 硬件组成控制系统。当i e c1 1 3 卜3 编程标准问世及在其影响下 的开放式结构,使得通用p c 有可能代替传统p l c ,成为新型p l c 软p l c 。 其典型的系统结构是工控机+ i o 接口+ 软p l c 软件包。软p l c 产品是基于p c 机开放结构的控制装置,它具有硬p l c 在功能、可靠性、速度等方面的特点,利 用软件技术可将标准的工业p c 转换成全功能的p l c 过程控制。软p l c 综合了 计算机和p l c 的开关量控制、模拟量控制、数学运算、数值处理、通信网等功 能,通过一个多任务控制内核,提供了强大的指令集、快速而准确的扫描周期和 可连接各种i o 系统及网络的开放式结构。所以可以这样说,软p l c 提供了与 硬p l c 同样的功能,而同时具备了p c 环境的各种优点。这样用户可以自由选 择p l c 的硬件;用户可以获得p c 领域技术价格的优势,而不受某个硬p l c 制 造商本身专有技术限制:用户可以很方便地与强有力的p c 网络相连;用户可以 用自己熟悉的编程语言编制程序“”。 1 2 5 课题的来源 软p l c 作为开放式数控系统的重要组成部分,基于p c 的软p l c 的设计与 实现成为本课题研究的主要内容。本项研究属于北京市科学技术委员会重大项目 “新型制造设备的控制系统研究”,项目批准编号为9 5 5 0 5 0 2 0 0 。 1 3 课题的研究内容 1 3 1 编译程序简介 编译程序是一种具有编撰与翻译功能的程序。人类要用计算机来解决问题, 首先面临的一个问题,就是要告诉计算机解决什么问题,或许还要告诉计算机如 何解决这个问题。这就牵涉到用什么样的语言来描述的问题。人所习惯的语言与 计算机的基本语言( 机器指令) 有很大的差别,用机器指令来描述人想解决的问题 十分不便。因而,设计一些比较习惯的语言来描述要解决的问题。这种语言,因 为接近人的自然语言,表达力强,易于使用,易于为人理解与接受,称为高级程 序语言。相反,能被计算机直接理解与执行的语言,即机器指令,却不易被人们 理解与接受,因而被称为低级机器语言。 一般地说,编译程序就是这样一种程序,它将用一种语言写的程序,等价地 转换为另一种语言写的程序。因此,它也叫翻译程序。前一个程序,即被翻译的 程序,叫源程序;后一个程序,即翻译成的程序,叫目的程序或目标程序。 一9 一 北京工业大学工学硕士学位论文 1 3 2 课题的研究内容 本课题所研究的内容主要是n c l l o 数控系统中软p l c 编译系统程序的开发。 编译程序的主要工作有两大部分:分析与综合。所谓分析,即对被编译的源 程序进行分析;所谓综合,是在分析正确无误之后,综合出可以执行的机器语言 程序,执行的结果应正确无误,同源程序应达到的目的完全一致。 n c ll o 编译系统程序基本结构如下图1 6 所示。 图l 一6 编译程序结构框图 本课题的任务是完成对s p r o m 语言编写的机床逻辑的词法分析程序、语法 分析程序和目标代码生成程序的设计,对分析过程中产生的错误进行分析处理, 最终生成机器码形式的目标代码。 1 4 本章小节 本章主要介绍了数控系统和p l c 的发展概况,分析了该领域的最新研究动 向。分析了开发数控系统p l c 软件的意义和应用前景。在本章最后,较为详细 的介绍了本课题的主要工作内容和研究方法。 一l o 第2 章s i p r o m 语言 第2 章s 工p r o m 语言 s i p r o m ( 可编程接口系统) 是一个开发系统。我们使用s i p r o m 系统在4 c k 系统上开发机床配置,编制自己的机床逻辑,这就是说,4 c k 系统可以安装在任 何与系统无关的机床上。安装在4 c k 系统上的机床逻辑,在机床和数据之间起通 信接口作用,因此我们称它为s i p r o i 接口。 2 1 机床逻辑和s lp r o m 接口 所谓机床逻辑,基本上是用专用语言编写的程序,它包含编制和连接数控系 统和机床的所有信息。 使用编译程序,可把机床逻辑程序翻译为系统可以理解的语言。为了便于处 理,再把程序系统装入存储器,作为系统软件的一部分。在这方面,机床逻辑可 以考虑为系统软件,起软件接口作用,它能处理一系列标准控制活动和用户在编 制数控程序时定义的全部活动。 2 2 开发工具 使用s i p r o m 提供的编程工具可以在4 c k 系统上开发机床逻辑。s i p r 洲编程 工具包括s i p r o m 语言、s i p r o m 编译程序和s i p r o m 调试程序。 2 2 1s i p r o m 语言 s i p r o m 语言是基于简单逻辑表达式的布尔型语言,此表达式对应于逻辑组合 的硬件元件,类似于用户使用的硬件元件。该语言是由信号和字等一组元素组成, 并根据机床逻辑程序语句的某些规则,用相应的运算符把元素连接起来。 语句一般使用逻辑表达式来定义和控制i o 信号( 包括物理信号和逻辑信 号) ,这些信号构成含有接口处理信号的变量。机床逻辑的所有变量都存储在专 有的存储器( 即插件箱) 中。 1 ) 元素: s i p r o m 语言的元素可分为5 个功能组,即操作数、元操作数、功能指令、 运算符和程序块。操作数是语言变量和s i p r 嘣接口处理的信息,如信号和字( 一 组信号) 。元操作数是模仿电气和电子装置的一些功能,如定时器、计数器、a s c 北京工业大学工学硕士学位论文 i i 比较器、脉冲发生器等。功能指令用于语句转换和数据表达格式化,如编码器、 译码器、b c d 转换、二进制( b i n ) 转换、绝对值( a b s ) 转换、多路复用器( m u x ) 转换、信号( s i c ) 转换、半字( h i g h 和l o w ) 转换等。运算符是连接操作数、元 操作数和功能指令以构成程序语句。如算术运算符、比较运算符、逻辑运算符。 程序块是可执行的一组专用语句,如d o e 、d o f 、e n d e 、e n d f 等。 2 ) 变量和常数 变量由操作数组成,用来表示系统实时处理的机床逻辑信号,并且指明当前 过程的状态。变量最简单的类型是信号,只有逻辑值o 和l ,对应于“假”和“真”。 通过编排八个一组的信号,可以组成字变量。其数值范围是 o ,2 5 5 ,使用按接 插件( 它表示3 2 个信号,分为4 个字) 将信号和字分组的方法,可识别变量存 储区( 即插件箱) 。常数则包含十进制、十六进制和八进制等格式。 3 ) 插件箱 由3 2 个插件箱组成的接插件,在系统存储中可划分为3 段插件箱。 插件箱a ,存储与机床系统有关的物理逻辑i o 信号接插件。用户借助于 机床逻辑可以指定这些信号。4 c k 系统能识别来自机床的输入信号和2 4 v 直流的 输出信号。当控制系统断电时,插件箱a 内容被清除。 插件箱k ,存储接口过程软件通信的逻辑i o 信号接插件,包括2 5 6 个 接插件( o 2 5 5 ) 。包括与接口的标准控制活动有关的不可改变的预先定义的信 号,以及用户定义的所需的信号。当控制机断电时,插件箱k 内容被清除。 插件箱t ,包含逻辑i o 变量,包括1 6 个接插件( o 一1 5 ) 。插件箱t 信 号只读处理不修改机床逻辑,当控制机断电后,插件箱内容仍保留。如插件箱t 的字可用作计数器预置和定时器时基。 4 ) 语句 机床逻辑程序是由一组语句组成,这些语句将机床接口信息翻译成s i p r o m 语言。每条语句占用一个程序行。程序行不必编号,可按照编写次序进行处理。 语句包含用户要求在机床接口所需的全部信息,可以使用s i p r o m 语言规定 的所有语言元素编写这些语句。一条语句基本上包含一个规定的操作,这个操作 建立在一个布尔表达式的基础上。 布尔表达式是由操作数、元操作数、常数和函数所组成的表达式。这些元素 是用运算符连接起来的。根据布尔表达式可以识别出信号语句和字语句。此外, 程序还包括分块语句,如d o e ,d o f ,e n d e ,e n d f 。每个分块语句单独占用一个 程序行,并且不能出现在布尔表达式之中。 一1 2 第2 章s i p r o m 语言 2 2 2 编译程序 s i p r o m 编译程序是这样一种程序,它可以解释s i p r o m 语言语句并把这些语 句翻译成4 c k 系统计算机可以识别的语言。 2 2 3 调试程序 s i p r o m 调试程序给用户提供了执行逻辑程序运行调试所需的一系列步骤。这 种运行调试使用户可以在程序执行过程中校正、改进、测试逻辑程序。 2 3 开发环境 根据已定义的硬件一软件系统设置,机床逻辑和装入存储器的各个阶段均可 在4 c k 系统中进行。4 c k 系统主要组成部分是一个微机,它连接一个为工序而设 计的硬件结构和一个操纵工序的软件。它的软件系统包括两个基本部分:加工软 件和基本系统;加工软件操纵控制机器的所有功能,它包括一组能使所有4 c k 系 统加工控制的主程序,包括轴管理、工艺过程和机械逻辑。基本系统则确定与加 工控制有关的系统参数。 2 3 1 软件环境 机床逻辑作为软件任务,执行软件接口功能。它是系统软件的一部分,系统 软件建立在一组任务的基础上,这些任务可按它们的功能分为两种:服务软件和 过程软件。 因此s i p r o m 接口可认为是一种软件任务,它是过程软件的组成部分,属于 系统软件,它能执行与机床数控相关的所有功能。 s i p r o m 开发系统是一种服务软件,也属于系统软件,它允许用户访问系统 并提供支撑性能和服务实用程序。 如下图2 一l 所示说明了s i p r o m 开发系统和s i p r o m 接口在4 c k 系统软件结 构中所处的地位n ”。 一1 3 一 北京工业大学工学硕士学位论文 2 3 2 硬件环境 图2 一ls i p r o m 系统软件 使用4 c k 系统控制台键盘,可以编写机床逻辑,并把它引入系统。使用系统 编辑程序可以进行所有操作,其中包括用户程序的编写和修改。 工作存储区可以是用于程序输入的c m o sr a m 模块,这个存储器是永久性存 储器,甚至在控制断电后仍然保存数据。 为了处理可以执行的目标程序,必须把它送到e p r o m 或c m o sr a m 模块上可 得到6 4 k b 的系统存储器中。 4 c k 系统c p u 处理机床逻辑时,同时可以执行其他典型系统活动,例如轴处 理、用户程序分析等。 2 4 本章小节 本章主要介绍了s i p r o m 开发系统的基础知识。详细介绍了s i p r o m 开发工具 开发环境,为建立机床逻辑提供了知识基础。 一1 4 第3 章文法和词法分析 3 1 文法和语言 第3 章文法和词法分析 程序设计语言是计算机与人之间进行信息交互的工具,对于程序设计语言的 语法描述,我们使用一种称之为上下文无关文法的表示法,简称为文法。文法是 进行词法分析、语法分析、语义分析的基础,下面先来介绍一些关于文法的基本 概念。 1 字母表字母表是由若干元素所组成的有限非空集合,其中,每一元素称为 符号,故有时又将字母表称为符号集。 符号是一个抽象的实体,仅在某些特定的使用场合,才分别赋予它们以具体 的含义。因为符号是一个最基本的概念,所以无须再给以形式定义。 通常,在一个字母表中,可用阿拉伯数字、大写及小写英文字母、各种算术 运算符、常用的标点符号

温馨提示

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

评论

0/150

提交评论