(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf_第1页
(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf_第2页
(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf_第3页
(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf_第4页
(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf_第5页
已阅读5页,还剩64页未读 继续免费阅读

(机械制造及其自动化专业论文)软件化plc运行环境的研究与开发.pdf.pdf 免费下载

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

文档简介

山东大学硕士学位论文 软件化p l c 运行环境的研究与开发+ f摘要 随着科技的发展,传统的数控系统越来越显示出其缺点,它的封闭式结构、专 用的功能使得用户很难在其上进行扩展,因此迫切地要求采用模块化、层次化的 结构,并通过各种形式向外提供统一的应用程序接口,使其具有可移植性、可扩 展性、互操作性和可伸缩性等特点,也就是要求系统具有丌放性。y 作为控制部分的可编程控制器p l c ( p r o g r a m m a b l el o g i cc a n t f o l l c r ) ,是数控 系统中不可缺少的组成部分。为了实现数控系统的歼放性,数控系统的p l c 模块 软件化是发展方向。 论文首先对软件p l c 进行了需求分析,并对p l c 的指令集进行了详细的介绍。 在上面对p l c 的功能进行分析的基础上,论文对p l c 的i l ( i n s t r u c t i o nl i s t l a n g u a g e ) 语言的文法用e b n f ( 扩展的巴科斯范式) 进行了详细的描述,为后面 的编译处理提供了依据。 在研究程序遗让语言的编译原理的基础上论文把p l c 的l l 语言的编译过程分 为词法分析、语法分析、语义分析、中间代码的生成,运行时环境等几部分。 在词法分析部分中,论文介绍了词法分析与语法分析的接口形式,讨论了取词 过程所用的数据结构,并给出了保留字的识别算法。 论文的语法分析部分介绍了语法分析过程的两种方法,探讨了自上而下方法的 缺点和困难,描述了l l ( 1 ) 分析法,并用递归下降的分析技术实现了源程序的 语法处理。 编译过程的第三个阶段是语义分析,在该部分中,论文给出了遁l 呈庄的说明语 句的处理算法,子程序的处理算法,以及源程序语句的处理算法。 中m 代码的生成阶段则通过研究现有中间代码的形式,形成了系统自己的中间 代码语言格式。 论文把符号表的结构作为单独的一节,它在研究现有符号表的基础上详细n 0 介 绍了系统所使用的全局变量符号表、局部变量符号表的结构,并就给出了予程序 和跳转语句的回填算法 论文在编译捺块的最后讲述了r t l i n u x 的实时实现的原理,给出了高级p l c 的实现算法。y 论文最后简要的介绍了一下系统的编辑界面和调试、仿真界面。该部分用q t 编写完成。并充分利用了q t 中的s i n g a l s l o t 机制,来实现系统问不同对象之间的 信号的传递。 关键词:可编程序控制器( p l c ) 指令表语言( i l ) 递归卞鑫术 田家臼然科学璀会资助项目( 5 9 9 7 5 0 5 5 ) 山东大学硕士学位论文 a b s t r a c t w i t ht h et e c h n o l o g y sd e v e l o p m e n t ,m o r ea n dm o r es h o r t c o m i n g se m e r g ei n t h et r a d i t i o n a l n u m e r i c a lc o n t r o l ( n c ) s y s t e m i t sc l o s e da r c h i t e c t u r ea n dp r o p r i e t a r yh a r d w a r ea n ds o f t w a r eb l o c k t h ew a yo fb e i n ge x t e n d e d s oi ti sn e c e s s a r yt oa d o p tm o d u l a r , h i e r a r c h ya r c h i t e c t u r ea n ds t a n d a r d a p l ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) t om a k e t h es y s t e mt r a n s p l a n t a b l e , e x t e n d a b l e 。i n t e r o p e r a b _ i ea n d s c a l e a b l e 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 ) a s o n em a i np a r to fc n c s y s t e mi si n d i s p e n s a b l e ,s o f t p l ci sad e v e l o p i n gt r e n di np l ca n dc n c s y s t e m t h ep a p e ra n a l y s e st h er e q u i r e m e n to fs o f p l ca tf i r s t t h e ni tg i v e sad e t a i l e di n t r o d u c t i o n a b o u tt h ep l ci n s t r u c t i o ns e t , b a s e do nt h e p r e v i o u sa n a l y s i s a b o u tp l c s r e q u i r e m e n t ,t h ep a p e rd e p i c t s t h ep l c s i l ( 1 n s t r u c t i o nl i s tl a n g u a g e ) g r a m m a r w i t ht h eh e l po fe b n f ( e x t e n d a b l eb a c k u sn o r m a lf o r m ) t h e g r a m m a ra n a l y s i sp r o v i d e st h ef o u n d a t i o n f o r c o m p i l i n g h a v i n gs t u d i e dt h ep r o g r a m m i n gl a n g u a g e sc o m p i l e rp r i n c i p l e ,w ed i v i d et h ei ll a n g u a g e s c o m p i l i n gp r o c e s s i n t os e v e r a lp a r t s :l e x i c a la n a l y s i s ,s y n t a xp a r s i n g ,a d h o c s y n t a x d i r e c t e d t r a n s l a t i o n ,i n t e r m e d i a t ep r e s e n t a t i o na n dr u n - t i m e e n v i r o n m e n t i nl e x i c a la n a l y s i s ,t h ep a p e rg i v e st h ei n t e r f a c eb e t w e e nl e x i c a la n a l y s i sa n ds y n t a xp a r s i n g i t a l s od i s c u s s e st h ed a t as t r u c t u r ei nt h ep r o c e d u r ea n dp r e s e n t st h ea l g o r i t h mo fi d e n t i f y i n gt h e r e s e r v e dw e r d s i nt h es y n t a xp a r s i n gp a r t t h ep a p e ri n t r o d u c e st h et w om e t h o d so fs y n t a xp a r s i n ga n db r i n g s f o r t ht h es h o r t c o m i n g sa n dd i f f i c u l t i e sd u r i n gt o p - d o w nm e t h o d s l l ( 1 ) i sg i v e nt o o w er e a l i z et h e s o u r c ep r o g r a m ss y n t a xp a r s i n gw i t hr e c u r s i v e - d e s c e n t p a r s i n g t h et h i r dp a r to fc o m p i l i n gi sa dh o cs y n t a x d i r e c t e dt r a n s l a t i o n i nt h i sp a r t ,w eg i v et i l e a l g o r i t h ma b o u t d e c l a r a t i o ns e n t e n c e ,s u b r o u t i n ea n de x e c u t i v ep r o g r a ms e n t e n c e s b a s e do nt h ep r e s e n ti n t e r m e d i a t ec o d es t y l e 。w ef o r mak i n do fi n t e r m e d i a t ec o d ef o rt h e c o m p i l e r t h ep a p e rd i s c u s s e st h ed a t as t r u c t u r ea b o u ts y m b o lt a b l es e p a r a t e l y i nt h i ss e c t i o n ,w e p r o p o s et h es t r u c t u r eo f t h eg l o b a ls y m b o lt a b l ea n d t h el o c a ls y m b o lt a b l e t h eb a c k - p a t ha l g o r i t h m a b o u ts u b r o u t i n ea n d j u m p s e n t e n c ei sa l s op u tf o r w a r d t h el a s tp a r to f c o m p i l i n g w ed i s c u s st h er e a l t i m ep r i n c i p l ea b o u tr t l i n u x t h ea l g o r i t h mo f h i g h - l e v e lp l c i sp r o v i d e d f i n a l l yt h ep a p e ri n t r o d u c e st h ei n t e r f a c eo fe d i t i n g , a l o n g w i t ht h ed e b u g - s i m u l a t i o ni n t e r f a c e t h e s ei n t e r f a c e sa r ed e s i g n e dw i t hq t t h es i g n a l s l o tm e c h a n i s ma b o u tq ti su s e dt ot r a n s f e r m e s s a g eb e t w e e n d i f f e r e n to b j e c t s k e y w o r d s :p r o g r a m m a b l e c o n t r o ll o g i c 。i n s t r u c t i o nl i s tl a n g u a g e ,r e c u r s i v e1 l e s c e n tp a r s i n g l 绪论 1 1 开放式数控系统的背景 从1 9 5 2 年美国麻省理工学院研制出第一台实验性数控系统,到现在已有5 0 年的历史了。数控系统从当时的电子管起步,经历了以下几个发展阶段:1 1 1 晶体管式小规模集成电路式大规模集成电路式小型计算机式 超大规模集成电路微机式的数控系统。 就目前而言,主流的数控系统依然是传统的数控系统。这种系统一直沿用着 一种封闭式的结构。这种结构的硬件模块和软件结构大多是专用的、互不兼容的, 系统各模块间的交互方式、通信机制也各不相同,使得各不同厂家控制系统相对 独立,彼此封闭。而且这种结构对用户而言就是一个被定义了输入和输出的黑盒 子,其内部的细节不为外界所见。这样的结构自然对用户的技术要求不是很高, 他们只要知道怎么用即可。但随着科技的发展,它的弱点也日益显露出来。 一、各控制系统间的互连能力差,操作方式风格不一以及大量使用专用件影 响了系统的相互集成: 二、它很难或几乎不可能在原来的基础上再加入新的控制策略方案和扩展新 的功能。这造成了数控设备制造商对数控系统供应商的依赖,难以将自己的专门 技术、工艺经验集成到控制系统并形成自己的产品特点。 随着工业p c 在制造过程中的广泛应用,改善制造过程的性能也变得越来越迫 切。为了适应不断发展的现代技术需求,要求数控系统必须能够提高系统的集成 度,缩小体积,采用模块化结构,便于裁剪、扩展和功能的升级,满足各种不同 类型数控机床的需要;同时还要求c n c 装置具有智能化,并能采用新型的自动编 程系统,具有增强的通信功能、高的可靠性和容错性能。 因此开放式数控系统也就应运而生。开放式数控系统普遍采用模块化、层次 化的结构,并通过各种形式向外提供统一的应用程序接口,以此使得系统具有可 移植性、可扩展性、互操作性和可伸缩性等特点即系统组成的内部丌放化和系 统组成各部件之间的开放化。 1 2 国外开放式数控系统技术的发展趋势 8 0 年代末期以来,自控领域内多项重大研究计划在世界范围内启动,开放式 数控系统的概念及标准化接口与数据描述的设想获得广泛支持,诸研究计划逐渐 得以运行。现介绍一下比较流行的三种开放式结构:o s a c a 、o s e c 、o m a c t 2 1 1 3 i 1 9 9 2 年,欧洲二十多家机床、控制生产与开发商及有关研究机构联合启动的 “自动化系统中的控制的开放系统体系结构( o p e ns y a e ma r c h i t e c t u r ef o r c o n t r o i sw i 也i n a u t o m a t i o n s y s m m ) ,简称0 s a c a ,它借鉴i s 0 的丌放式系统 互联模型o s i ,通过对现有控制系统的详细分析提出了一个“分层的系统平台+ 结构功能单元”的结构( 图1 ) ,即将不同的功能单元在基于消息的平台上连接起 束。 图1o s a c a 系统结构 o s a c a 4 l 认为一个开放式控制系统应以一个平台为基础,由一组逻辑的、离 散的组件组成,控制系统本身不带有平台的任何信息,而组件与平台之间定义了 很好的接1 2 1 ,允许不同供应商提供的组件之间的协调工作,正确工作的控制器可 运行于不同的系统平台之上。o s a c a 的核心部分是通讯系统( c o m m u n i c a t i o n s y s t e m ) ,它屏蔽了操作系统的差异,保证了各功能单元( a o ) 的可移植性和互 操作性以及系统配置文件的通用性。在o s a c a 开放式控制系统中,应用程序接 口( a p i ) 是系统平台向外部提供服务的通道,也是结构功能单元访问系统平台的 唯一途径,它屏蔽了平台的真实实现,保证了系统平台的硬件无关性和操作系统 无关性。 1 9 9 4 年,由东芝机器、三菱电子等6 家日本公司联合成立了一个名为控制器 开放系统环境( o p e ns y s t e me n v i r o n m e mf o rc o n t r o l l e r s ) 的工作委员会。它研究 的重点是在n c 本身和分布式d n c 控制系统上,它认为站在制造的角度看n c 是 分布式d n c 系统的一个服务器。o s e c 所谓的开放式系统本身就被认为是一个分 布式系统,它能满足用户对制造系统不同配置的要求、最小化费用的要求和应用 先进控制算法及基于p c 的标准化人机界面的要求。 o s e c 5 】是将各功能单元分组并结构化在一些功能层中,其开放式系统包括了 3 个功能层共7 个处理阶层( 图2 ) 。o s e c 定义了一种新的n c 数据表示法 一f a d l ( 工厂自动化描述语言) ,该语言具有能面向对象设计、能抽象硬件、能 表征曲线形状等优点,并具有广泛的覆盖性。这为进一步开发p c 机的潜能提供 了软件基础。 f 成胴:境 i助德层 i 舅:境功能 缕 凝动l ,3 图2o s e c 开放数控系统体系结构 在美国,一项名为“开放式、模块化体系结构控制器( o m a c ) ”【6 j 的计划于 1 9 9 4 年由通用、福特、克莱斯三大汽车公司开始启动,其目的是用更加i 丌放、更 加模块化的控制结构使制造系统更具柔性、更加敏捷。该计划启动不久便公布了 一名为“o m a ca p i ”的规范,并促成了一系列相关研究项目的运行。o m a c 没 有指定一个固定的基础体系结构,也没有提供有关系统硬、软件平台信息,没有 指定操作系统,但实际上它总得依附于一个系统平台,它使用一种能支持大多数 面向对象的概念的接口定义语言i d l ,用i d l 的语法规范来保证它的平台无关性。 1 d l 规范被编译进文件和s t u b 程序,可直接被应用开发者使用,并支持向多种编 程语言的映射,如:c + + ,j a 、,a 和c 。 o m a c a p i 假设了一个抽象的体系来描述用户所谓的“参考模型”:基类、 模块、体系结构设计、框架细节设计。通过对通用控制器按类的分解获得了基类, 基类定义了控制器的类层次结构,将基类分组就构成了模块,模块是组成控制系 统的即插即用元件,具有通用的接口,可以被重新利用和继承。与o s a c a 一样, o m a c 目前也只是处于试验阶段,并未形成商业化的产品。 1 3p l c 在数控中的结构 可编程序控制器( p l c ) 是以微处理器技术、电子技术、网络通信技术和先进 可靠的工艺为基础,综合了计算机、网络通信、自动化控制理论,结合工业生产 特定环境发展起来的生产过程及自动化的工业装备,它功能强、可靠性高、使用 方便,在机电一体化领域应用非常广泛,使传统机械工业的生产面貌焕然一新。 作为数控系统开关量控制为主的部分,它与n c 协调配合共同完成对数控机床 一一一一一一一 的控制,其中n c 主要完成管理调度及轨迹控制等“数字控制”工作,p l c 主要 完成与逻辑有关的一些动作,如刀具的更换、工件的夹紧及冷却液的开停。p l c 和n c 的连接从结构上有兰种形式”1 1 3 1 内嵌式p l c 也称集成式p l c ,从设计开始就将n c 和p l c 综合起来考虑,n c 和p l c 之间的信息传递是在内部总线的基础上进行,因而有较高的交换速度和较宽的信 息通道。从结构上来讲他们可以共用一个c p u ,如西门子公司的8 1 0 ,8 2 0 等数 控系统,也可以是单独的c p u ,如f a n u c 公司的0 系统1 5 系统等。这种结构 从软硬件整体上考虑,p l c 和n c 之间没有多余的导线连接,增加了系统的可 靠性,而且n c 和p l c 之间易实现许多高级功能p l c 中的信息也能通过c n c 的显示器显示,通过n c 的编辑键可方便的对p l c 进行编辑操作,所以有较高 的性能价格比。高档次的数控系统一般都采用这种结构,如下图。 1 3 2 外装式p l c 也称独立式p l c ,它独立于n c 装置,具有独立完成控制功能的c p u 。可采 用专业化的p l c 厂家的产品,使机床生产厂家有选择自己熟悉的p l c 产品的权 利,而且功能易于扩展和变更。采用独立式p l c 的结构如图。 1 3 3 软件p l c 随着软件化数控系统的提出,数控系统的控制部分也相应的由过去的硬件控制 转向采用开放结构的软件控制技术。 从用户的角度来看,s 硼州是一个计算机的应用软件,n c 与s o f t p l c 之间 存在个通信和协调工作的问题。$ o i p l c 的内部通用寄存器阵列实际是微机的一 段内存,这样s o f t p l c 与n c 之间采用内存共享的方式通信,计算机的其它软件 对这块内存进行读写操作,就是对s o f t p l c 的通用寄存器阵列进行操作,这样简 化了n c 与s o f t p l c 之间的通信。 软件p l c 与传统的p l c 相比有以下一些优势: i ) 提供更好的兼容性 2 ) 拥有更强的数据处理能力 3 ) 提供功能更为强大的网络通信和控制能力 1 4 课题的提出 科技的发展,使得开放式数控系统和软件p l c 的成为发展的趋势,而l i n u x 与r t l in u x 的结合又使得系统的实时性要求可以得到满足。因此我们的课题“基 于l i n u x 平台的开放式结构多媒体数控系统研究”获得国家自然科学基金2 0 0 0 年 度的支持( 批准号:5 9 9 7 5 0 5 5 ) 。 由于l i n u x 平台与现有的商业化操作系统w i n d o w s9 8 n t 相比,具有以下一些 特点:渊1 xw i n d o w 系统 l i f l u x 内核中的代码均为自由代码 l i n u x 支持商业版u n i x 的全部功能 g n u 软件支持 l i n u x 符合i e e ep o s i x 1 标准 l i n u x 系统网络功能强大并且安全性高 这些特性使得我们可通过修改原代码适合于特定的应用,开发出有自己独立 版权的数控系统。将高性能的c p u 与硬件实时的r t l i n u x 结合,采用单c p u 而不 用p c + d s p 控制卡的形式,完全可以满足数控系统实时多任务的要求。对系统的故 障实行在线智能诊断并采用多媒体的视频、音频等技术将数控机床的维护、修理 和故障排除等方法提供实时帮助。 现在基本上所有的s o f i p l c 系统都是针对w i n d o w s 系统的,而l i n u x 下的比 较少。我们的系统既然是基于l i n u x 的,就必然要借助于l i n u x 下的工具,现在 l i n u x 的开发工具主要有g c c i ,q t i 】,j a v a 【12 1 ,k y l i x l l3 1 ,p e r l l l 4 1 【1 51 等,l h - : p l c 要求的实时性很高,因此,对于编译执行效率的要求也比较高,因此,我们 利用c 【1 6 l 语言,借助于g c c 与g d bn 7 1 ,并利用面向对象的方法来实现。至于系统 的实时的要求,我们采用了r t l i n u x i 8 】1 1 9 】来实现。 1 5 本课题的主要任务 本课题作为开放式数控系统的子课题,主要任务是在研究开放式数控系统的总 体结构和各个功能模块的基础上,实现软件p l c 模块的编辑、编译以及仿真,用 软件来实现传统数控机床中的硬件p l c 的功能,以提高开放式数控系统的可靠性、 适应性、实时性。 课题的具体内容如下: 1 ) 实现p l c 指令表语言的编译处理,完成p l c 运行机的开发。 2 ) 实现p l c 指令表语言的调试处理环境 3 ) 实现p l c 指令表语句的离线仿真 2p l c 编程语言的国际标准i e c 6 1 1 3 1 3 1 2 2 】 2 1i e c 6 1 1 3 1 标准 随着p l c 在工业领域的广泛应用,各种不同的p l c 生产厂家生产的p l c 的产 品不仅硬件各异,其软件编程也是很不相同。比如梯形图是p l c 上使用最普通的 编程方法,但在图形符号、i o 点编号、内部继电器等元件编号、图形构成等方面 各不相同1 2 3 1 。用户使用不同厂家生产的p l c 时,它不仅要重新熟悉其外部使用特 性,也必须重新学习软件编程的方法和规定。传统的p l c 的数据封装能力有限, 很难将一个复杂的程序分辨成数个简单的程序部分,两且程序的重用能力低,不 支持数据结构,对算术运算操作困难。为此,国际电工委员会( i e c ) 于1 9 9 3 年发 布了有关可编程序控制器标准化编程的i e c 6 1 l31 标准。 i e c 6 1 1 3 1 标准是有关可编程序控制器的国际标准。它共分5 个部分包括硬件、 安装、试验、编程、通讯。其中i e c 6 1 1 3 1 3 是有关编程语言的标准。 2 2i e c 6 1 1 3 1 - 3 编程语言 i e c 6 1 1 3 1 - 3 的五种编程语言是:b ” 梯形图( l a d d e rd i a g r a m ) : 功能块图( f u n c t i o nb l o c kd i a g r a m ) : 指令表( 1 n s t r u c t i o l ll i s t ) ; 结构文本( s t r u c t u r e d t e x t ) 。 顺序功能表图( s e q u e n t i a l f u n c t i o nc h a r t ) ; 其中有两种图形语言一一梯形图( l d ) 和功能块图( f b d ) ,还有两种文字语 言一一指令表( i l ) 和结构文本 s t ) 。可以认为顺序功能表图( s f c ) 是一种结 构控制程序流程图。 梯形图( l d ) 对于熟悉继电器控制的人来说,梯形图使用起来很方便。虽然梯形图对所有的 控制逻辑编程,梯形图与剐的语言混合使用能很好的完成一些特殊的控制任务, 符合标准的梯形图的例子。 功能块图( f b d ) 功能块图( f b d ) 一种图形语言,在f b d 中也允许嵌入别的语言( 如梯形图、 指令表和结构文本) 来编程。在f b d 中,编程元传是“块状”的,就象电路图那 样,它们被“导线”连接在一起。在与控制元件之间的信息、数据流动有关的高 级应用场合,f b d 是很有用的。 指令表( i l ) 指令表这种“低级”语言类似于汇编语言,在某一局部功能被反复执行时是很 有用的。使用i l 时只需要对这种局部功能编一次程,然后可以在以后的指令表程 序中将它们作为子程序来调用。 结构文本( s t ) 结构文本是一种象p a s c a l 或b a s i c 一样的高级语言,实际上,受过计算机编程 语言训练的人会发现用它来编制控制逻辑是很容易的。如果使用符号地址,s t 程 序就象语句一样,用户是很容易理解的。与梯形图相比,s t 有两个最大的优点, 其一是能实现复杂的数学运算,其二是非常简洁和紧凑。用s t 编制及其复杂的数 学运算程序可能只占一页纸。 顺序功能表图( s f c ) s f c 提供了一种组织程序的图形方法,在s f c 中可以用别的语言嵌套编程。 步、转换和动作( a c t i o n ) 是s f c 中的三种主要元件( 见下图) 。 垂寄 ( a ) 顺序结构( b ) 选择结构( c ) 并行结构 步是一种逻辑块,邵对应于特定控制任务的编程逻辑。动作是控制任务的独立 部分。转换是从一个任务到另一个任务的原因。 除了提供几种编程语言可供用户选择外,标准还允许编程者在同一程序中使用 多种编程语言,这使编程者能选择不同的语言来适应特殊的工作。标准还提供了 通用的单元,例如数据类型、变量和程序结构。用标准编写的程序看起来很相似, 并且容易在不同系统中转换,所以可以减少用户学习编程语言的时问但是标准没 有限制指令系统,厂家可以开发新的指令来满足用户新的需求。 2 3i e c 6 1 1 3 1 - 3 国际标准的主要特点鲫 i e c 6 11 3 1 3 标准开发的程序具有完美的结构,支持进行“顶底”或“底 一顶”的程序开发。允许一个程序被分解成为几个功能元素即程序组织单元 ( p o u s ) ,程序组织单元包括功能块、功能和程序。 新标准的p l c 程序对错误类型数据具有很强的检测能力。当一个程序员试 图向一个变量写一个错误类型数据时,新的标准的p l c 程序能自动检测出来, 传统的p l c 程序对此无能为力 对程序执行的完全控制能力传统p l c 程序只能顺序扫描和执行程序,对 某一段不能按用户的实际要求定时执行i e c 6 1 1 3 1 3 程序允许程序的不同部分 在不同的时间、不同的比率并行执行。 支持复杂的顺序操作功能处理。i e c 6 1 1 3 1 - 3 程序可通过一个称为顺序功能 图的图形化语言将一个复杂的顺序功能行为或操作分解并进行描述。 支持数据结构。在一个i e c 6 1 1 3 1 3 程序中,可像高级语言那样,用户在程 序中对某一具体设备定义数据结构类型数据,这大大的增强了程序的可读性, 保证了结构数据能正确地存取。 可柔性的选择编程语言。i e c 6 1 1 3 1 3 有三种图形化语言和两种文本语言, 编程人员可根据自己的喜好及实际应用的要求自由地选择这五种语言。一个程 序的不同部分可用任何一种语言来描述。 独立于任一目标系统的编程系统。i e c 6 1 1 3 1 - 3 提供了标准的程序执行的语 言和方法,独立于任一具体的目标系统,所以,i e c 6 1 1 3 1 - 3 可最大限度地运行 在来自不同目标系统的p l c 上。 2 4 采用i e c 6 1 1 3 1 - 3 国际标准的优点 因采用一致的i e c 6 1 1 3 1 3 国际标准编程,各个p l c 厂家的编程系统都是统一 的,因而对用户来说具有以下优点: 减少人力资源的浪费: 高水平软件重用性; 减少了编程中的误解和错误; 移适用于宽环境范畴的编程技术:通用的工业控制; 连接来自不同程序、项目、公司、地区或国家的部件; 本章小结 本章系统的介绍了p l c ( 可编程控制器) 的i e c 6 1 1 3 l 的标准。介绍了 i e c 6 1 1 3 1 3 的五种编程语言,讨论了这种标准的主要特点,传统的p l c 的缺点, 以及采用国际标准所能带来的益处。 3 软件p l c 的需求分析 3 1功能需求【2 5 】 本系统主要针对数控系统而开放,其所要求的功能如下: 1 )逻辑控制功能逻辑控制功能实际上就是位处理功能,是p l c 的最基本 功能之一。p l c 设置有“与”( a n d ) 、“或”( o r ) 、“非”( n o t ) 等逻 辑指令,利用这些指令,按照指定的逻辑进行运算处理后,将结果输出 到被控对象。因此,p l c 可代替进行开关控制,完成接点的串联、并联、 串并联、并串联等各种联接。另外,在p l c 中一个逻辑位的状态可以无 限制的使用,逻辑关系的修改和变更也十分方便。 2 )定时控制功能定时控制功能是p l c 的最基本的功能之一。p l c 中有许 多供用户使用的定时器,其功能类似于继电器电路中的时间继电器。程 序执行时,p l c 将根据用户用定时器指令指定的定时器对某个操作进行 限时或延时控制,以满足生产工艺的要求。 3 )计数控制功能计数控制功能是p l c 最基本的功能之一。p l c 为用户提 供了许多计数器,计数器计数到某一数值时,产生一个状态信号( 计数 值到) ,利用该状态信号实现对某个操作的计数控制。程序执行时,p l c 将根据用户用计数器指令指定的计数器对某个控制信号的状态改变次数 进行计数,以完成对某个工作过程的计数控制。 4 )数据处理功能p l c 大部分都有数据处理功能,可以实现算术运算、数 据比较、数据传送、数据移位、数制转换、译码编码等操作。中、大型 p l c 数据处理功能更加齐全,可完成开方、浮点运算等操作。 5 )程序控制功能程序控制功能使得p l c 程序可以分解为多个简单的予程 序,从而简化程序的设计,提高程序的复用性:此外程序中允许主控语 句,跳转语句。 3 2 软件p l c 的存储形式 1 ) 数据的存取方式 数据存于不同的存储器单元,每个单元都有唯一的地址。位存储单元( 如丌 关量输入输出) 的地址由字节地址和位地址组成,如1 3 2 ,其中区域标示符“i 表示输入,字节地址为3 ,位地址为2 。一个字节( b y t e ) 由8 个二进制位组成, 例如输入字节i b 4 ( b 是b y t e 的缩写) 由1 4 o _ 1 4 7 这8 位组成;相邻的两个字 节组成一个字( w 0 r d ) ,相邻的两个字组成一个双字( d w o r d ) ,字和双字是 无符号数。实数( 或称浮点数) 占3 2 位( 即一个双字) 。1 6 位整数( 1 n t ) 和3 2 位双字整数( d i n t ) 是有符号数,最高位为符号位。 2 ) 输入输出映象寄存器 输入输出映象寄存器的标示符分别为i ( 1 0 o ) 和q ( q o o ) 。 3 ) 变量寄存器( v ) 变量寄存器用来保存用户程序执行过程中控制逻辑操作的中间结果,也可以用 它来保存与工序或任务有关的其它数据。 4 ) 特殊功能寄存器( s m ) 标志位 特殊功能寄存器用于保存系统的状态信息,例如s m 0 0 在执行用户程序时一 直为“l ”状态,s m 0 1 仅在执行用户程序的第一个扫描周期为“l ”状态。s m 0 4 和s m o 5 分别提供周期为l m i n 和l s 的时钟脉冲,s m 0 6 在p l c 的相邻两个扫描 周期分别为“l ”和“0 ”状态、可用于对扫描次数计数。 s m l 0 、s m l 1 和s m l 2 分别是零标志、溢出标志和负数标志。 5 ) 定时器( t ) 存储区 设置l m s 、1 0 m s 、l o o m s3 种时基增量的定时器。其当前值为1 6 位有符号整 数,定时时间到时定时器位被置为“1 ”或复位为“0 ”。 6 ) 计数器( c ) 存储区 计数器的当前值为1 6 位有符号整数,用来存放累计的脉冲数。当计数器的当 前值大于等于预置值时,计数器位被置为“l ”,在减计数器中,当当前值为“0 ” 时,计数器位被置位。 7 ) 局部变量寄存器( l ) 局部变量寄存器用来保存用户子程序执行过程中控制逻辑操作的中间结果, 以及保存与工序活任务有关的其它数据。 8 ) 常数 常数可以是字节、字和双字c p u 以二进制形式来存储常数,在程序中可以 用二进制、十进制、十六进制和a s c i i 码的形式来表示常数下面是表示常数的 例子: 二进制常数:2 # 1 1 0 1 十六进制常数:1 6 # 4 e 4 f、 a s c i i 常数:l m 1 2 字节常数:b # 2 字常数:w # 3 4 双字常数:d w # 4 3 3 3 p l c 指令表语言的指令集 3 3 1 触点指令 1 标淮触点 当常开触点对应的存储器地址位为“l ”状态时,该触点闭合。在语句表( 即 指令表) 中。分别用l d 、a 、o 来表示开始、串联和并联的常丌触点。 当常闭触点对应的存储器地址位为“0 ”状态时,该触点闭合,在语句表中, 分别用l d n 、a n 、o n 来表示开始、串联和并联的常闭触点。 2 立即触点 立即触点指令只能用于输入i ,执行立即触点指令时,立即读入物理输入点的 值,根据该值决定触点的接通断开状态,但是并不更新该物理输入点对应的映 象寄存器。在语句表中,分别用l d i 、a i 、o i 来表示开始、串联和并联的常开立 即触点,用l d n i 、a n i 、o n i 来表示开始、串联和并联的常闭立即触点。 3 取反( n o t ) 取反触点将它左边电路的逻辑运算结果取反,运算结果若为“1 ”则变为0 , 为“0 ”则变为“i ”,该指令没有操作数。 4 跳变( p ,n ) 正跳变触点检测到一次正跳变( 触点的输入信号由“0 ”变为“l ”) 时或负跳 变触点检测到一次负跳变( 触点的输入信号由“l ”变为“0 ”】时,触点接通。 3 3 2 输出指令 1 输出 输出指令与线圈相对应。驱动线圈的电路接通时。输出指令对应的输出映象寄 存器为“1 ”状态,反之为“0 “状态。 2 立即输出 立即输出指令只能用于输出量( q ) , 即接通。对应的映象寄存器同时被更新。 3 置位与复位 执行该指令时,对应的物理输出点被立 线圈符号中的“i ”用来表示立即输出。 置值( s ) 指令是使操作保持的指令,复位( r ) 指令是使操作保持复位的指 令。如果图中1 0 0 的常开触点接通,q o 3 变为“o ”状态并保持该状态,即使i o o 的常开触点断开,它也仍然保持“0 ”状态。当i o 3 的常开触点闭合时,q o 3 变 为“1 ”并保持该状态,即使i o 3 的常开触点断开,它仍然保持“l ”状态。 1 0 00 0 3 卜一r ) 旧3q 0 3 卜一s ) 4 立即置位与复位 执行图中的立即置位( s i ) 或立即复位( i u ) 指令时,从q o o 开始的4 个连 续的物理输出点将被立即置位或复位。该指令只能用于输出量( q ) ,新值被同时 写入物理输出点和输出映象寄存器 3 3 3 定时器指令 a d a 副 b i m q o o 只i b i m 定时器、计数器的当前值、设定值均为1 6 位有符号整数( i n t ) ,允许最大值 为3 2 7 6 7 。 1 通电延时定时器( t o n ) 通电延时定时器功能块矾输入端的输入信号为“1 ”状态时,定时器开始定 时,当前值大于等于p t 磺指定的设定值( p t = 1 3 2 7 6 7 ) 时,定时器的输出变 为“l ”。输入信号变为“0 ”时,定时器被复位定时器有l m s 、1 0 m s 和l o o m s3 种分辨率,分辨率取决于定时器号定时器的设定时间等于设定值与分辨率的乘 积,图中的t 3 7 为l o o m s 定时器,设定时间为l o o m s 1 0 0 = 1 0 s 。3 种定时器功能 块的输入输出符号相同 0 3 3 3 功如2 加如 醒骱t 彝她伽5 卜h 啪 眦 b l d t o h l d o u t 定时器的预置值p t 可取v w 、i w 、q w 、s m w 、l w 。 2断电延时定时器( t o f ) i n 输入端的输入信号为”l ”状态时,输出也变为“1 ”状态。输入信号变为 “0 ”后。延时定时器开始定时,定时当前值从0 开始增大,它大于等于设定值时。 输出变为“0 ”,定时当前值保持不变,直到输入信号变为”l ”。 3 断电保持定时器( t o n r ) i n 输入端的输入信号为“l ”状态时,如果当前值大于或等于预设值,定时器 置“l ”。当输入端的输入信号为“0 ”状态时,定时器的当前值被保持;当输入端 再次为1 时,定时器继续计时。 3 3 4 计数器指令 1加计数器( c t u ) 图中1 1 1 的常开触点接通后、c o 被复位,输出位q 1 0 被置”0 ”,同时计数器 当前值被置为0 。1 1 0 用来提供计数输入脉冲,当1 1 1 的常开触点断歼,计数输入 电路由断开变为接通( 即计数脉冲的上升沿) 时、计数器的当前值加l 。计数当前 值等于p t 指定的设定值( p t - = 1 3 2 7 6 7 ) 时,计数器的输出为“l ”。再来计数脉 冲时当前值不变、直到复位输入电路接通。 孵 0 o 仉” 仉 i t t q 婶 眦卜懈 m c uc 1 ,u r p v 0 10 卜_ ) l d1 1 0 l d工1 1 c 1 uc o , w + 5 l dc 0 o u tq 1 0 2 减计数器 当图中接在装载输入端l d 的1 1 1 的常开触点接通时,c l 被复位,输出位o o 0 被置为“0 ”,同时计数器的当前值被置为设定值8 。1 1 0 用来提供计数输入信号, 当1 1 1 的常开触点断开、计数输入电路由断开变为接通时,计数器的当前值减1 。 计数当前值等于0 时,q o 0 被置为“l ”。再来计数脉冲时停止计数,直到装载输 入电路接通。 l d1 1 o l d1 1 1 o c t d c i ,w + 8 卜_ )l d c l o u t q 0 0 3 加减计数器 如图所示、可将加减计数器视为加计数器和减计数器的组合。在c u ( c o u n t u p ) 输入的上升沿计数器加“l ”,在c d ( c o u n tu p ) 的下降沿计数器减“l ”, 当当前值大于或等于预设值时,计数器被置“l ”。当复位输入为“l ”时,计数器 被复位。 o 1 0 仰 h h h 帅 饥 h h h 3 3 4 比较指令 c t 11 3 t u d c d 只 p v l d1 1 0 l di i 1 l d1 1 2 c l _ i 】i dc 3 。l i t + 1 5 卜) 洲l dc q 0 3o 图中比较等于( e q ) 功能块比较两个字节输入量,若两者相等,则该触点置 “1 ”,否则该触点置“0 ” 比较的输入量可以是字节,还可以是字、双字比较,字和双字均为有符号数, 还有浮点数的比较。 比较指令还有比较不等于( n e ) 、比较大于等于( g e ) 、比较小于等于( l e ) 、 比较大于( g t ) 、和比较小于

温馨提示

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

评论

0/150

提交评论