




已阅读5页,还剩74页未读, 继续免费阅读
(机械制造及其自动化专业论文)嵌入式运动控制器高级语言设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 运动控制语言及其编译系统是嵌入式运动控制器关键的底层技术,对运动控 制器的开放性、易用性具有重大的影响。传统的控制语言已经不能满足开放式运 动控制器的发展要求,本文开发一种具有运动控制功能和p l c 逻辑控制功能,结 构化的高级语言形式的控制语言,并且构建了该语言的集成开发环境。 在分析研究其它运动控制和p l c 逻辑控制语言以及运动控制器的基础上,定义 了一种新的运动控制语言e p 语言。通过用正则文法定义词法,用上下文无关 文法定义语法,文字描述形式定义了语义,最终明确地定义了e p 语言该语言采 用类似c 语言的形式,扩充了运动控制和p l c 逻辑控制指令,支持函数和事件, 具有运算能力强,结构化、易编写、通用性强的特点。e p 语言能够满足多轴的运 动轨迹和位置控制,数字和模拟信号i 0 端口输入输出处理及逻辑控制。 e p 语言编译系统采用源程序由上位机编译器编译成针对解释器的类似j a v a 字 节码形式的目标代码文件,下载到运动控制器中程序存储器,然后再由解释器解 释执行的方案。上位机编译器工作在w i n 2 0 0 0 操作系统p c 机上;解释器作为系统 任务构建在u c 0 s - i i 实时嵌入式操作系统上。解释器和操作系统共同构成虚拟机 的形式,增加了解释器的可移植性。 编译器由词法分析、语法分析、语义分析、目标代码生成、符号表管理、错误 处理六部分组成。词法分析根据词法分析源程序的字符串,输出标记( t o k e n ) 序 列。语法分析采用自底向上分析方法,根据语言语法分析标记序列,构建程序的 语法树。语义分析模块前序遍历语法树,构建符号表;然后后序遍历语法树,进 行语义检查。目标代码生成模块通过深度遍历语法树,根据不同节点类型产生不 同的目标代码片断,最终生成整个目标代码。语法树采用结构体链表实现。符号 表采用哈希表来实现。该编译器经检验可以准确快速产生目标代码。 解释器任务具有取指令和解释执行两个模块。e p 语言解释器采用基于栈的运 行时环境,全局存储区可以进一步分为事件入口地址区,i o 端口和轴号信息区、 全局变量区解释及其相关任务优先级从高到低为:i o 端口扫描任务、键盘扫描 和液晶显示任务、数据通信任务、解释任务。 最后以v c h - 开发了图形界面的e p 语言集成开发环境。并通过一个实际例程说 明了e p 程序的编程思路,并且验证e p 编译系统的可行性和正确性。 关键词运动控制;p l c 逻辑控制;高级语言;编译器;解释器 i v 山东大学硕士学位论文 a b s t r a c t n 圮l a n g u a g ef o rm o t i o nc o n t r o la n di t sc o m p i l i n gs y s t e ma r et h ek e yf u n d a m e n t a l t e c h n o l o g yo fe m b e d d e dm o t i o nc o n t r o l l e r , w h i c hh a v eb i ge f f e c t so nt h ep e r f o r m a n c e o fm o t i o nc o n t r o l l e r t h et r a d i t i o n a ll a n g u a g ef o rm o t i o nc o n t r o lc a n tm e e tt h ed e m a n d f o rd e v e l o p m e n to ft h eo p e na r c l l i t c t i l r em o t i o nc o n t r o l l e r d e v e l o p i n ga h i g h - l e v e i l a n g u a g e ,w h i c hh a si n s t r u c t i o n sf o rm o t i o nc o n t r o la n dp l c f sl o g i cc o n t r 0 1 a n dr e a l i z e i t sc o m p i l i n gs y s t e ma r eo f g r e a tv a l u e n l i st h e s i sp r e s e n t sad e f i n i t i o no fan e w l a n g u a g ef o rm o t i o nc o n t r o lo nt h eb a s i so f r e s e a r c h i n go t h e rl a n g u a g e sf o rm o t i o nc o n t r o la n df o rp l cc o n t r 0 1 硼1 en e wl a n g u a g e i sn a m e de p ( e a s yt op r o g r a m ) n er e g u l a rg r a m m a ri su s e dt or e p r e s e n tt h el e x i c a l s t r u c t u r eo fe r 砀# c o n t e x t f r e eg r a m m a ri su s e dt or e p r e s e n t 坊es y n t a xo fe e 始e s e m a n t i c so fe pa r ed e f i n e di nc h i n e s ec h a r a c t e rd e s c r i p t i o n u l t i m a t e l y , e pi sd e f i n e d e x a c t l y s u p p o r t i n gac - l i k es t r u c t u r e ,e pi n c l u d e s an u m b e ro fp l c s p e c i f i c i n s t r u c t i o n sa n dm o t i o n - s p e c i f i ck e y w o r d s w h i c ha l l o wc o n t r o lo fm o t o rp o s i t i o n , s p e e d ,d i g i t a li n p u ta n ds oo n n 圮c o m p i l i n gs y s t e mo fe pi sc o m p o s e do fc o m p i l e ri ni n d u s t r i a lc o m p u t e ra n d i n t e r p r e t e ri i lm o t i o nc o n t r o l l e r t h ec o m p i l e rc o m p i l e st h es o u r c ep r o g r a ma n df o r m f i l eo f t a r g e tc o d ei i k ef i l eo f j a v ab y t e c o d e 1 1 1 et a r g e tc o d ei si n t e r p r e t e da n de x e c u t e d a f t e rd o w n l o a df r o mp ct om o t i o nc o n t r o l l e ri sc o m p l e t e d t 1 1 ec o m p i l e rw o r k so np c w i t hw i n d o w s 2 0 0 0o p e r a t i n gs y s t e m n l ei n t e r p r e t e rw o r k s0 nm o t i o nc o n t r o l l e rw i t h u c o s i ie m b e d d e do p e r a t i n gs y s t e m 1 1 地i n t e r p r e t e ra n du c o s - i io p e r a t i n gs y s t e m c o n s t i t u t ev i r t u a lm a c h i n e w h i c hm a k e se pl a n g u a g ee a s yt or e p l a n tt 0o t h e rm o t i o n c o n t r o l l e r s n l ec o m p i l e ro fe pc o n s i s t si n t e r n a l l yo fl e x i c a ls c a n n e rm o d u l e ,p a r s e rm o d u l e 。 s e m a n t i ca n a l y z e r , t a r g e tc o d eg e n e r a t o rm o d u l e s y m b o lt a b l em a n a g e m e n tm o d u l ea n d e r r o rh a n d l em o d u l e n 塘s c a n n e rp e r f o r m sl e x i c a la n a l y s i so ns o u r c ep r o g r a ma n d o u t p u tas e q u e n c eo f t o k e n s a d o p t i n gb o t t o m - u pp a r s i n ga l g o r i t h m s ,t h ep a r s ea n a l y s e t h es e q u e n c eo ft o k e n sa n df o r mt h es y n t a xt r e eo fe pp r o g r a m i ns e m a n t i ca n a l y s i s , t h es y m b o lt a b l ec a nb eb u i l tb yap r e o r d e rt r a v e r s a lo ft h es y n t a xt r e e ,a n dt h et y p e c h e c k i n gc a nb ep e r f o r m e db yp o s t o r d e rt r a v e r s a l 耵l et a r g e tc o d eg e n e r a t o rg e n e r a t e s d i f f e r e n ts n i p p e to ft a r g e tc o d e sa c c o r d i n gt od i f f e r e n tt y p en o d e sb yd e e pt r a v e r s a lo f t h es y n t a xt r e e f i n a l l y , a l is n i p p e t sf o r mt h ew h o l et a r g e tc o d ep r o g r a m t h ed a t a s t r u c t u r eo fs y n t a xt r e ea d o p t su n i l a t e r a lc h a i n e dl i s tt or e a l i z e , a n dt h ed a t as t r u c t u r eo f s y m b o lt a b l ea d o p t sh a s ht a b l e s i ti st h r o u g ht e s t i n gt h a tt h ec o m p i l e rc a ng e n e r a t e t a r g e tc o d ea c c u r a t e l ya n dr a p i d l y t h ei n t e r p r e t e ri nm o t i o nc o n t r o l l e ri n c l u d e sg e t t i n gi n s t r u c t i o n sm o d u l ea n d i n t e r p r e t i n g & e x e c u t i n gi n s t r u c t i o 璐m o d u l e n er u n t i m ee n v i r o n m e n to fi n t e r p r e t e ri s s t a c k - b a s e d i ns t a c k , t h eg l o b a l s t a t i ca r e am a yb ef u r t h e rd i v i d e di n t oe v e n te n t r a n c e a d d r e s sa r e a , i 0p o r t sa n da x e si n f o r m a t i o na r e a , g j o b a lv a r i a b l e sa r e a 1 1 1 ea s c e n d i n g o r d e ro fp f i o f i 母a b o u ti n t e r p r e t e rt a s ka n do t h e rr e l e v a n tt a s k si s :t h et a s ko fi 0p o r t s c a n n i n g ,t h et a s ko f k e y b o a r ds c a n n i n ga n dt e x td i s p l a y , t h et a s ko f c o m m u n i c a t i o na n d t h et a s ko f i n t e r p r e t i n g e pl a n g u a g eh a si n t e g r a t e dd e v e l o p m e n ts y s t e m , e pc o m p i l e r , w i t hf r i e n d l yg r a p h i c i n t e r f a c e s i ne pc o m p i l e r , e pp r o g r a mc a l lb ee d i t e d ,c o m p i l e d ,m a n a g e d , d o w n l o a d e d a n dd e b u g g e d t h ee r r o ri n f o r m a t i o nc a na l s ob es h o w n e pc o m p i l e rm a k e st h ee p v l a n g u a g ee a s yt ou s e k e yw o r d s :m o t i o nc o n t r o l ,p l cl o g i cc o n t r o l ,h i g h - l e v e ll a n g u a g e ,c o m p i l e r , i n t e r p r e t e r v i 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名: 醢签日期:鱼翌圭生兰月,7j 日 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意 学校保留或向国家有关部门或机构送交论文的复印件和电子版,允 许论文被查阅和借阅;本人授权山东大学可以将本学位论文的全部 或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他 复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:监导师签 期:2 丛当月,7 耳 1 1 课题的提出及意义 第1 章绪论 数字控制技术( n u m e r i c a lc o n t r o l ,简称n c ) ,是近代发展起来的一种自动控 制技术,是使用数字信号对机床的运动及加工过程进行控制的- 种方法。数控系 统( n u m e r i c a lc o n t r o ls y s t e m ) 是一种控制系统,它能自动完成信息的输入、译 码、运算,从而控制机床的运动和加工过程数控系统一般包括数控装置、可编程 控制器( 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 ,简称p l c ) 、伺服驱动系统及进给装置 等部分。数控装置是数控机床的核心,它完成信息的输入、存储、变换,插补运 算以及实现各种控制功能。数控技术是数控机床的关键技术,是现在世界各国大 力发展的先进制造技术的支柱技术,是一项共性技术,反映了一个国家制造技术的 水平和工业水平1 ” 运动控制器作为数控机床和机器人的一个核心部件是各国竞相发展的高新技 术,其技术复杂,难度大,是我国的一个薄弱点。因此研究开发可与国外名牌产 品竞争的国产化运动控制系统并实现产业化是振兴我国数控机床产业的关键。 传统的运动控制器系统存在着很多不足,不能满足现代先进制造技术发展的 要求。主要表现在以下方面:( a ) 结构封闭;( b ) 功能不具有可扩缩性;( c ) 控制软 件可移植性差。尤其是控制软件可移植性差表现为已经编写好的控制应用软件和 系统软件对处理器的依赖性很大,难于在不同处理器的控制平台上移植,这样不 利于软件功能的扩充和升级,以及充分利用现有的软件成果 2 l 。 因此近年来,具有更好的功能扩缩性,控制软件可移植性的开放式数控系统 成为数控技术的活跃的研究方向。研究具有高性能的开放的运动控制器也成为运 动控制领域的重要发展方向,很多国内外研究机构纷纷进行研究【3 】【4 】。 在开放式运动控制器研究中,运动控制语言的研究也是一个重要的方面。运 动控制语言实现了运动轨迹和位置控制,数字量和模拟量控制。运动控制语言采 用的形式,实现的方法对运动控制器控制软件的易编写性,易维护性。可移植性 具有很大的影响。由此可见,运动控制语言对运动控制器的开发性,和易用性具 有重要影响。 在传统的数控系统中,p l c 逻辑控制和运动控制使用的编程语言往往不同,需 要独自编程。这样,在两种语言所编写的程序中需要设置数据转换接口,使编程 繁琐复杂。同时p l c 逻辑控制语言和运动语言往往是汇编语言形式的低级语言, 这就造成了编写和阅读的困难,不易掌握。 目前,世界上出现了一些把运动控制指令和p l c 逻辑控制指令结合在一起的, 山东大学硕士学位论文 使用同一种语言编程的文字描述性语言。国际电工委员会( i e c ) 颁布了可编程控制 器控制语言的标准规范i e c 6 1 1 3 1 - - 3 中,其中规定了结构化文本语言。在很多知 名的国外运动控制器中,往往采用自定义的文本化高级控制语言。但是目前在国 内,对这种语言及其编译系统的研究还处在初步阶段 所以,本文针对开放式运动控制器控制语言设计及其编译系统实现展开研究。 该研究是开放式运动控制器研究的一个重要方面,对实现开放式运动控制器的开 放性,实现控制程序的易编写,易移植性具有重要意义 1 2 开放式运动控制器研究及发展 1 2 1 开放式数控系统及实现途径 2 0 世纪9 0 年代出现了模块化、可重构、可扩充的开放式数控系统。开放式数 控系统的概念根据i e e e 提出的标准,是能够在多种不同厂商平台上运行,可以和 其它系统的系统模块相互操作,并能给用户提供统一风格的人机界面( 删i ) 交互 方式的系统嘲。开放式系统可以用以下特征来评估: ( 1 ) 可移植性控制系统的应用程序模块具有硬件无关性,不加修改或少许修 改就可以移植到其它的控制系统平台上,并且保持原来的功能。 ( 2 ) 互操作性应用程序模块相互之间可以通过定义好的数据接口交换数据。 ( 3 ) 能扩展性一个控制平台上不同数量的应用程序模块之间不会发生冲突。 ( 4 ) 易扩缩性根据使用者的需要,控制系统的应用程序模块和功能以及硬件 规模可以增加和减少 具有以上特点的数控系统可以称为开放式数控系统嘲。 在现阶段的技术条件下,实现开放式数控常见的体系结构有三种:专用c n c + 嵌入式p c 主板;标准总线架构通用p c + 开放式运动控制器;基于p c 集成的软件式数 控系统i n 。相对其它方案,标准总线架构通用p c + 开放式运动控制器的方案是目 前的主流专用c n c + p c 方案数控核心实时部分仍是封闭的聊 标准总线架构通用p c + 开放式运动控制器方案把机床运动控制、逻辑控制功 能由独立的运动控制器完成,运动控制器通常由以p c 硬件插件的形式和p c 构成系 统。这是一种模块化,层次化的结构,通过各种形式向外提供统一的规范接口,具 有了开放性特点唧。其系统结构如图i - i 所示 在这种结构中,p c 机主要完成的是数控系统任务中非实时的任务,如数控加 工程序的编辑、加工仿真、故障诊断、人机接口界面、数控程序的解释译码等, 属于应用环境功能层。n c 功能层则是以可编程多轴运动控制器为核心,完成轴控 制、顺序逻辑控制、刀具插补等实时处理任务。运动控制器实质就是一个n c 装置。 2 山东大学硕士学位论文 开放式运动控制器提供开放的函数库供用户在w i n d o w s 平台下自行开发构造所需 的控制系鲥彻只要符合p c 机总线接口标准,任何生产厂家开发的控制器均可使 用,并可以方便的互换。用户可以选取不同厂家的控制器,构建新的系统。如美国 d e l t at a u 公司用p 4 a c 多轴运动控制卡构造的p m a c - n c 数控系统,日本m a z a k 公司用 三菱电机的m e l d a s m a g i c6 4 构造的m a z a t r o l6 4 0c n c 等【1 1 】。 一凰垦堡套 一 照婴层 y o 模块lr + |可编程多轴运动控制器 线 飘熏雾。熏= 机床本体 图1 1 标准总线架构通用p c + 开放式运动控制器 1 2 2 开放式运动控制器研究及发展 基于标准总线的p c + 开放式运动控制器方案是开放式数控系目前发展的主流。 运动控制器是通过对电机驱动的执行机构等设备进行速度和位置控制,实现指令 程序预定运动轨迹耳标的装置。在开放式控制系统架构影响下,很多运动控制器 是采用了嵌入式计算机技术,可以称为开放的嵌入式控制器。开放的嵌入式控制 器可以独立运行,使用时通过工业以太网、r s 4 8 5 等现场网络通信接口连接上位机 或控制面板【1 2 】。开放的嵌入式运动控制器具有以下特点; ( 1 ) 基于实时操作系统; ( 2 ) 基于嵌入式工业控制计算机或专门设计的c p u 板; ( 3 ) 程序固化在f l a s h 中; ( 4 ) 控制软件功能模块化,功能模块具有易扩缩性; ( 5 ) 控制软件具有可移植性控制软件对处理器的依赖性很弱,可以方便移植 到具有相同操作系统的平台上,具有好的可移植性【1 3 1 。 9 0 年代以来,数字信号处理器d s p ( d i g i t a ls i n g n a lp r o c e s s e r ) 在运动控制 中越来越被广泛应用,这主要是因为它的高速运算能力使很多复杂的控制算法和 功能得以实现,且集成度更高。这种运动控制器可以使2 3 2 轴的运动控制系统集 中于一个具有p c i i s a 总线接口的控制卡上【1 4 1 采用d s p 的开放式运动控制器可以 认为是嵌入式控制器。国外很多知名的开放式的运动控制器采用了d s p ,其中的 p 姒c ( 可编程多轴运动控制器) 是一个代表性的产品。 山东大学硕士学位论文 1 3p l c 控制语言及运动控制语言研究及发展 无论是p l c 的逻辑控制还是运动控制器的运动轨迹、位置控制都是按照控制程 序的控制意图来进行。控制语言是人和控制器交流的桥梁,占用重要的地位。 1 3 1p l c 控制语言研究现状 传统的可编程控制器( p l c ) 的编程语言,根据生产厂家和机型的不同而不同, 还没有统一的通用语言。它们大致可以分为4 种:梯形图语言、指令表语言、功 能块图语言和逻辑表达式编程语爿懈。 梯形图语言是在继电器接触器控制电路图基础上进行了符号简化并且加增了 许多功能指令而得到的,是基于继电器电路仿真的一种编程方法。是目前p l c 编 程中使用最普遍的一种语言。但是这种语言有很多缺陷: ( 1 ) 对于没有电气知识基础的人来说,不容易学习应用 ( 2 ) 很难实现子程序模块,程序段的可复用性差。 ( 3 ) 程序的执行只能按顺序执行。 ( 4 ) 对算术处理和文字处理不能提供有力的支持。 指令表语言是一种助记符语言,类似汇编语言。语句是指令表语言编程的基 本单元,每个控制功能由一个或多个语句组成的程序来实现。语句由操作码和操 作数组成。指令表语言虽然比梯形图语言功能更强,但是还是存在着汇编语言共 同的缺陷,难于编写,不易理解【1 明。 1 9 9 3 年,国际电工委员会( i e o 颁布了可编程控制器控制语言的标准规范 i e c 6 11 3 1 3 。该标准的编程语言包括图形化编程语言和文本化编程语言文本化 编程语言包括:指令表( i l - i n s t r u c t i o nl i s t ) 和结构化文本( s t s t r u c t u r e d t e x t ) 。图形化编程语言包括:梯形图( l d - - l a d d e rd i a g r a m ) 、功能块图( f b d f u n c t i o nb l o c kd i a g r a m ) ,顺序功能图( s f c s e q u e n t i a lf u n c t i o nc h a r t ) 1 1 + 1 该标准还加强了运动控制模块【佣。i e c 6 1 1 3 1 3 的编程语言是i e c 工作组对世 界范围的p l c 厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控 制系统的国际编程语言标准,它不仅适用于p l c 系统,而且还适用于更广泛的工 业控制领域【1 8 1 。 结构化文本( s t ) 语言表面上与p a s c a l 语言很相似,是专为工业控制定义的 高级语言这种语言可以方便的对变量赋值,调用函数,编写条件语句、循环语 句等程序控制语句,适合于编写具有复杂功能的控制程序( 功能块) 。此外相对于 传统的p l c 编程语言,这种语言还有格式灵活,易学易用,容易理解等优点。结 构化文本语言是控制语言发展的一个重要进步,是新的研究热剧1 9 1 4 山东大学硕士学傍论文 德国j e t t e r 公司推出了面向运动过程控制的p r o c e s sp l c ,并且推出了一种 文字描述性的控制高级语言s y m p a s 。这种语言除了具有高级语言基本结构和功能 外,还具有实时控制所需的多任务的功能,同时简化并标准化了许多硬件操作指 令,例如p o s i t i o n ( 定位) 和d i s p l a y - t e x t ( 文本显示) 有了这类语句, 用户不需要也不允许访问复杂而千差万别的硬件接口,因此可以快速编写高质 量、高效率、清晰易懂的程序 2 0 i 。 1 3 2 运动控制器控制语言研究现状 运动控制器控制语言一般具有运动轨迹控制、位置控制、p l c 逻辑控制,数学 运算等功能。控制语言一般采用自定义的高级语言或者g 代码的形式,但是随着 生产厂家的不同而不同,没有统一的规范。不同厂家的g 代码语法也不很相同。 高级语言形式的运动控制语言往往采用类似c 语言、b a s i c 语言或者p a s c a l 语言 的形式,也有的厂家自己开发特定的专用高级语言。另外还有面向对象的图形化 语言,使编程更加直观1 2 ” p i “a c 给运动控制提供了g 代码编程语言和类b a s i c 的高级控制语言两种选择, 给p l c 控制提供了p l c 常用语言和高级语言两种选择网。t r i o 数字运动控制器是 英国t r i om o t i o n 公司针对运动控制领域独立开发出来的基于微处理技术的高精 密数字运动控制器。采用专用的t r i ob a s i cp r o g r a m m i n g ( 类似于b a s i c 语言) 运动控制语言编程,提供a c t i v ex 软件,可支持用户采用、b 、v c 、c c + + 等高级 语言针对设备的需要进行二次开发。另外还提供c a d 转化运动程序功能,可以根 据用户设计的图形文件 d x f 转化成t r i o 的编程语言的运动程序文件宰b a s 进行 加工和控制运动过程。 固高是国内研究运动控制器比较早的公司,固高的运动控制命令是通过库函 数的形式实现的。运动控制器配套有c 语言函数库( d o s 环境) 和动态连接库 ( w i n d o w s 环境) 用户通过在主机编制程序调用相应的库函数,也就是向运动 控制器发出运动控制命令。对于用户通过主机发送的命令,运动控制器在检查、 校验后,会给出一个反馈。这个反馈就是命令( 库函数) 的返回值 2 3 1 。 采用类似高级语言的控制语言,来实现运动控制和p l c 逻辑控制等功能,有利 于运动控制器程序的编写、维护和移植,可大幅缩短程序开发时间,已是未来运 动控制语言发展的趋势。 1 4 本文研究的主要内容 本文研究内容为e p 运动控制语言的定义及其编译系统的实现。具体研究内容 如下: ( 1 ) 根据嵌入的开放式运动控制器的特点和要求,对运动控制语言进行了研 究,定义一种高级语言形式的运动控制语言e p 语言,具有基本的运动控制和 p l c 逻辑控制功能。这种语言对硬件的依赖性比较小,所编写的应用程序具有易移 植,易编写、易理解的特点。 ( 2 ) 根据开放式运动控制器中的软件层次架构,制定了e p 语言编译系统的总 体方案,分为上位机编译器和下位机解释器。并且对编译器和解释器构成的编译 系统进行了设计和实现。 1 5 本章小结 本章首先提出运动控制语言的研究对开放式数控系统和开放式运动控制器的 研究具有重要意义,是开放性实现的重要方面。然后对开放式运动数控系统和开 放式运动控制器的研究现状、特点和发展进行了分析,重点分析了p c + 开放式运 动控制器构成的数控系统的软硬件方案。接着对p l c 控制语言和运动控制语言的 研究现状和发展进行了分析,指出了高级语言形式的控制语言研究是目前的研究 熟点,并且国内研究的很少,该研究具有很大的现实意义。最后简明扼要介绍了 本文主要研究内容为e p 运动控制语言的定义及其编译系统的实现。 6 第2 章e p 运动控制语言设计 2 1 e p 运动控制语言设计 运动控制器语言除了具备一般语言的结构特征和功能,还必须具备运动控制 和p l c 逻辑控制所需的指令。因为涵盖了编译器,解释器和计算机运行时环境以 及运动控制器和p l c 控制等技术领域,设计的难度很大 2 1 1 运动控制语言概述 采用结构化的类似高级语言的形式,扩充控制指令已经成为运动控制器控制 语言定义的主流。采用结构化形式的高级语言,使程序的编写更加容易。使用结 构化的功能模块,可以方便的对功能模块进行重复调用,修改,增加了代码的复 用性,缩短了代码量,提高了编写速度。此外采用文本描述语言的形式,使程序 的含义更加直观,运动控制指令和p l c 控制指令通过指令的文字意义就可以知道 指令的功能,便于理解使用。同时指令以高度集成的形式给出,避免了用户接触 底层控制指令,降低了编程的难度。c 语言是一种在工业控制领域使用广泛的编程 语言。c 语言简洁、紧凑,使用方便。运算功能也很强大,具有结构化的控制语句。 用函数作为程序模块以实现程序的模块化,是一种理想的结构化的语言,符合现 代编程风格要求1 2 4 1 。 本课题从实际出发,开发了一种新的具有基本控制功能的运动控制语言e p ( e a s yt op r o g r a m ) 语言。e p 语言针对的运动控制器是嵌入式独立的运动控制器。 这种语言采用类似c 语言的形式,是过程式结构化高级语言。该语言简化了c 语 言语法结构,去掉了一些对运动控制作用不大的语法成分,比如指针,结构体, 共用体等数据结构。在此基础上,又根据运动控制和p l c 逻辑控制的要求,增加 了文本式的运动控制指令和p l c 逻辑控制指令。能实现基本的p l c 逻辑控制和运 动控制,同时还具有c 语言的很多结构特点。e p 控制语言1 o 版本具有以下基本 功能: 一顺序逻辑控制 一点对点位置控制 一直线和圆弧插补控制 一算术运算 一计数器功能 一定时器功能 7 山东大学硕士学位论文 一事件中断功能 目前e p 语言1 0 版只支持一个任务,由m a i n ( ) 函数实现。另外支持事件程序 处理内部和外部事件。 2 1 2e p 语言的定义 所谓程序,实质上就是在数据的某些特定的表示方法和结构的基础上对抽象 算法的具体描述。现在的高级语言通常以语言的控制结构来描述算法,以数据类 型来描述数据结构【2 5 】。 程序设计语言的定义可以通过对语言的语法和语义两部分的定义来实现。语 法是程序语法结构规则的集合。可以使用生成的方式,通过一组有限的规则( 产 生式) 构造出无限的有效程序句子。语言的一个完整的语法形式的描述称为文法。 语义描述部分则描述了程序句子的含义阅。 2 1 2 1e p 语言的文法类型 文法常见的有上下文无关文法、正则表达式文法、属性文法等。正则文法是 对上下文无关文法进行了严格限制而得到的,属性文法是在上下文无关文法的基 础上在参数和代码方面进行了扩展而得到的。在程序设计语言中主要使用上下文 无关文法描述程序的语法结构,其它的文法在编译系统中主要起辅助作用田】。 e p 语言是一种强制性语言,其文法属于上下文无关文法( 2 型文法) ,该语言 的单词集属于正则集。因此e p 语言使用上下文无关文法描述其语法,使用正则文 法描述其词法。 上下文无关文法又称2 型文法。定义采用如下形式: g = ( 巧,s ,p ) 其中,g 代表文法;代表非终结符的非空有限集:v ;代表终结符的非空有 限集:s 是文法开始符,sev n ;p 是产生式( 规则) 的非空有限集。产生式又称 规则( r w r i t er u l e ) ,是一个有序偶( 口,) ,通常写为口一声,意思为a 由b 产生。b 是产生式的右部,q 是产生式的左部。上下文无关文法要求口v g , ( v 。u v n ) ,枣是指集合的闭包运算,表示一切长度的字符串组成的集合,字 符长度n o 。终结符是由e p 语言的正则文法词法规则识别的单词符号的集合,只 能出现在产生式的右边,是产生式的终结点。非终结符必须作为产生式的右部而 存在,是产生式的名字,不能和终结符相同。非终结符可以出现在产生式的左部 或者右部【2 8 1 。 8 2 1 2 2e p 语言的语法定义及语义解释 下面用上下文无关文法的产生式集合的形式描述e p 语言的语法通过文字描 述形式来简短解释语义,详细的语义及语言格式解释见后面相关节。实际的产生 式中“一”由“:”来取代。 1 p r o g r a m :d e c l a r a t i o n _ l i s t : 2 d e c l a r a t i o n _ l i s t :d e c l a r a t i o nl i s td e c l a r a t i o nd e c l a r a t i o n : 3 d e c l a r a t i o n :e x v a r _ d e c l a r a t i o n ff u n _ d e c l a r a t i o n ; e p 语言的程序由一系列声明组成,顺序是任意的,至少有一个声明声明可 以是函数声明或者是外部变量声明。 4 e x v a r _ d e c l a r a t i o n :e x t e r nt y p e _ s p e c i f i e ri ds e m i : 使用e x t e r n 关键字来定义外部变量。变量的数据类型可以是t y p e _ s p e c i f i e r 非终结符指定的类型。 5 f u nd e c l a r a t i o n :f u nf u n t y p es p e c i f i e ri dl p a r e np a r a m sr p a r e n c o m p o u n ds t m t : 6 f u n t y p e _ s p e c i f i e r :t y p e _ s p e c i f i e riv o i d : 7 p a r a m s :p a r a m s l i s tiv o i d : 8 p a r a m s l i s t :p a r a m s _ l i s tc o m m ap a r a m : 9 p a r a m :t y p es p e c i f i e ri d ; 函数声明由f u n 关键字、返回值类型关键字、标识符以及圆括号内的用逗号 分开的参数列表组成。在e p 语言中函数没有原型函数,所以声明和定义是一样的, 函数声明就是对函数的定义。函数声明使用f u n 关键字非终结符 f u n t y p e _ s p e c i f i e r 指定函数的返回值的数据类型。e p 语言函数的返回值类型有: s h o r t 、f l o a t 、v o i d 三种如果为v o i d ,函数不返回任何值。p a r a m s 是函数的参 数表列,参数定义时必须有数据类型,参数之间用逗号隔开。函数的参数可以是 v o i d ( 即没有参数) 参数采用值传递的方法。函数参数的作用域在本函数体之内。 1 0 v a rd e c l a r a t i o n _ l i s t :v a rd e c l a r a t i o n lv a r _ d e c l a r a t i o n _ l i s tv a t _ d e c l a r a t i o n: 1 1 v a rd e c l a r a t i o n :t y p e _ s p e c i f i e ri ds e m i : 1 2 t y p e _ s p e c i f i e r :s h o r tjf l o a t : 函数内部变量声明由类型关键字和变量标识符组成。函数变量声明语句一次 只能声明一个交量。多个变量声明语句共同构成变量声明序列。可以声明s h o r t 、 和f l o a t 型变量。 1 3 c o m p o u n d - s t m t :l b r a c er b r a c e f l b r a c es t a t e m e n t 1 i s tr b r a c e 山东大学硕士学位论文 ll b r a c ev a rd e c l a r a t i o nl i s tr b r a c e ll b r a c ev a r _ d e c l a r a t i o n _ l i s ts t a t e m e n t l i s tr b r a c e : 复合语句由花括号围起来的一组变量声明序列和语句序列组成。复合语句可 以为空。在复合语句内变量声明序列必须要在一般语句序列的前面。局部声明的 作用域在复合语句内,并代替任何同名的外部变量。 1 4 s t a t e m e n t l i s t :s t a t e m e n ts t a t e m e n t l i s ts t a t e m e n t : 1 5 s t a t e m e n t :e x p r e s s i o ns t m tlc o m p o u n ds t m ts e l e c t i o n _ s t m t ii t e r a t i o n _ s t m tll a b e l e d _ s t m tfj u m p _ s t m tic o n t r o l _ s t m t : e p 语言的语句序列由语句组成。语句有表达式语句、复合语句、条件选择语 句,循环控制语句,标号语句,程序跳转语句,和运动控制指令语句。 1 6 c o n t r o l _ s t m t :m o v e rl p a r e na r g sr p a r e ns e m i i m o v e rl p a r e na r g sr p a r e ns e m ilw a i tl p a r e na r g sr p a r e ns e m i lp a u s el p a r e na r g sr p a r e ns e m iil i n e a r al p a r e na r g sr p a r e ns e m i i l i n e a r rl p a r e na r g sr p a r e ns e m ia ) ( e sl p a r e na r g sr p a r e ns e m i ic i r c l e al p a r e na r g sr p a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营销自动化软件定制创新创业项目商业计划书
- 四季盆景展示园创新创业项目商业计划书
- 法律手工制品店铺创新创业项目商业计划书
- 汽车安全管理信息系统创新创业项目商业计划书
- 输油管安全知识培训内容课件
- 农产品农业产学研合作创新创业项目商业计划书
- 职业教育课程版权合作拓展创新创业项目商业计划书
- 2025年工业互联网平台生物识别技术在工业生产过程质量监控中的应用前景分析
- 2025年数字人民币跨境支付技术挑战与支付清算安全防护
- 民法典物权篇课件
- 《人工智能原理及其应用》王万森编著电子工业出版社课后习题答案37
- DB1331T 063-2023雄安新区地埋管地源热泵系统工程技术规程
- 汽车销售劳动合同书
- 湖北武汉历年中考作文题与审题指导(2000-2024)
- 中学学生会检查细则说明表格
- 新初一家长培训会课件
- 大中型企业安全生产标准化管理体系要求编制说明
- 《酿造工艺教程》课件
- 《社会治理概论》教学大纲
- 人教版初中九年级全册英语单词表(完整版)
- 2024ESC心房颤动管理指南解读-完整版
评论
0/150
提交评论