西门子模块6ES7214-1AG40-0XB0详细说明
传统的编程语言只有两种,指令表(il)及梯形图(ld),有的称梯形逻辑图(lld)。而今为便于各类型的工程技术人员都能使用plc,plc厂商都增加了它的编程语言。国际组织也制定与几次修订了语言****。并在1993年做了全面修订后称之为iec 61131-3的修订版。我国在1995年11月发布了gb/t 15969-1/2/3/4标准,与iec 61131-1/2/3/4等同。该标准推荐了6种编程语言,除了指令表及结构化文本(st)为文字语言,还有梯形图、功能块图(fbd)、连续功能图(cfc)及顺序功能图(sfc)等图形语言。
目前,iec 61131-3编程语言不仅用于plc,而且还用于集散型控制系统、工业控制计算机、数控系统和远程终端单元。
由于这个标准的建立是在plc已广泛使用之后,加上它不是强制性标准,所以,有些老的plc厂商还是在原来语言的基础上做了扩展,并没有完全采用这个标准。再就是,即使语言相同,但细节还是有不少差异。
倒是国产plc,如和利时公司的lm、lk系列机,是在有了标准之后才开发的,能全面采用这个标准。再就是abb公司的plc也使用标准规定的6中语言编程。
下面就给大家简要介绍一番:
1.指令表(il)
指令表语言是plc编程*基本的语言。但是,用它编的程序,可读性较差,目前已不常用。故不在此做介绍。
2.结构化文本语言(st)
st语言与basic语言、pascal语言或c语言等类似。它没有单一的指令,只有由一组指令构成的含义完整的各种语句。具体语句有赋值语句、条件语句、选择语句、循环语句及其他语句(exit语句、return语句、功能块调用语句等)。
不同品牌plc的st语言所提供的函数、运算符可能略有不同。
st语言功能比图形语言强,但不如图形语言直观,目前用的还不大普及。如只是在自编功能块的程序中才可使用它。
同样为st语言,各plc厂商的细节不完全一样。
3.梯形图(ld)
梯形图来源于美国,是一种基于梯级的图形符号布尔语言。
梯形图语言与原理图相对应,与原有逻辑控制技术相一致。与原有的继电器逻辑控制技术不同的是,梯形图中的功率流不是实际意义的电流,内部的继电器也不是实际存在的继电器。
梯形图的左母线好像电气原理图的线一样,一般不直接与输出类指令(相当于电气原理图的负载)相连,中间总要有能建立逻辑条件的一些指令(相当于电气原理图的控制元件)。但有的plc也允许这么做。
用梯形图符号编的plc程序,很像电气原理图。如上图所示。图b为施耐德公司naza plc用的梯形图。
下图所示为与il语言程序对应的梯形图程序
关于梯形图的文章有很多,在此不再赘述。
4.功能块图(fbd)
fbd语言(一种对应于逻辑电路的图形语言),与线路图中的信号流图非常相似。fbd广泛地用于过程控制。
fbd语言是以功能模块为单位,描述控制功能。特别是控制规模较大、控制关系较复杂的系统,用它表达将更为方便。
目前,plc厂商推出一些高功能及高性能的硬件模块的同时,多提供与其有关的功能块图程序,这为用户使用这些硬件及进行编程提供了很大方便。
fbd语言占用内存较大,执行时间较长,因此,这种语言多只在大、中型可编程序控制器和的编程和组态中采用。
5.连续功能图(cfc)
cfc与fbd类似,也是按需要选用种种功能块。所不同的是,它更灵活,块的位置可任意摆放,特别有信号反馈时,画起来更方便。
为了块的执行有明确的顺序,它的每个块的右上角都标有序号。但在实际表达时,这个标号也可选择不显示。
fbd及cfc语言在系统编程中用得较多。此外,由于这两种语言差别不大,有时,仅使用fbd语言。因而,有的也把iec 61131-3自动化编程语言说成5种。
6.顺序功能图(sfc)
sfc语言以描述控制程序的顺序为特征,以图形方式,简单、清楚地描述系统的所有现象,并能对系统中存有的像死锁、不安全等反常现象进行分析和建模,并可在此基础上编程。所以,得到了广泛的应用。
其实,sfc语言仅仅是一种组织程序的图形化方式。其实际使用要与其它语言配合,否则无法实现其功能。所以,严格地讲,它不能算是完整的编程语言。
1)组成
步(step)
用方框表示,分有初始步、活动步、不活动(休止)步三种。一个步是否为活动步,即是否处于激活状态,则取决于上一步及与其相应的转移。
动作(bbbbbb)
动作是步的组成部分,一个步含有一个或多个动作,用一个附加在步上的矩形框来表示。每一动作中的程序代码都可以用iec的任一语言如st、fbd、ld或il来编写。每一动作还有一个修饰词(qualifier),用来确定步激活时其动作什么时候执行或终止。
有向连线
从上到下、从左到右的步间连线。也可用加箭头做非上下、左右的步间连线。
转移
在有向连线上的垂直短线。与转移相关的逻辑条件,用文字、布尔代数表达式、图形符号标注在转移短线旁。
2)sfc转移规则
步的转移指的是有向连线相连的前后步激活状态的转换。
步间转移的规则是:
①步间的转移逻辑条件为真;
②被转移步的前一步是活动的。
不满足此两条件,将不转移。
为了启动顺序功能流程图程序的执行,总是要指定一个初始步,其标志为s0,是程序运行开始时被激活的那个步。有个这个初始步,则随着相应转移逻辑条件满足,流程图中步的激活状态将逐步转换,直至*后一步被激活,或根据有向线指定路线不停地循环转换。
3)sfc主要形式
根据结构的不同,可分为以下几种形式:单序列控制、并行序列控制、分支结构序列、转移序列等。
下图所示为一段sfc语言编写的程序。
同样称sfc语言,但有的是合乎标准的,如欧姆龙cj2所用的,其bbbbbb有以上修饰词。有的没有,使用时要看具体软件的说明。
是专为工业自动化控制而开发的自动控制装置,与计算机编程语言有很大不同,语言直接面对生产一线的技术人员及操作维修人员,面向用户,因此简单易懂,易于掌握。plc编程语言有:梯形图、指令表、功能模块图、顺序功能流程图及结构化文本等几种常用编程语言。
1.梯形图语言
梯形图语言是在控制原理图的基础上产生的一种直观、形象的图形逻辑编程语言。它延用继电器的触点、线圈、串并联等术语和图形符号,同时也增加了一些继电器控制系统中没有的特殊符号,以便扩充plc的控制功能。
梯形图语言比较形象、直观,对于熟悉继电器表达方式的电气技术人员来说,不需要学习更深的计算机知识,极易被接受,因此在plc编程语言中应用*多。图1所示是采用控制的起停控制线路。图2所示是采用plc控制时的梯形图。可以看出两者之间的对应关系。
图1 电动机起停控制线路 图2 梯形图语言
2.指令表语言
指令表语言就是助记符语言,它常用一些助记符来表示plc的某种操作,有的厂家将指令称为语句,两条或两条以上的指令的集合叫做指令表,也称语句表。不同型号plc助记符的形式不同。图1所示为图2梯形图对应的指令表语言。
通常情况下,用户利用梯形图进行编程,然后再将所编程序通过编程软件或人工的方法转换成语句表输入到plc。
图3 指令表
3、功能模块图语言
功能图编程语言实际上是用逻辑功能符号组成的功能块来表达命令的图形语言,与数电中逻辑图一样,它极易表现条件与结果之间的逻辑功能。如图4所示为某一控制系统的功能模块图语言。
图4 功能模块图语言
由图可见,这种编程方法是根据信息流将各种功能块加以组合,是一种逐步发展起来的新式的编程语言,正在受到各种可编程控制器厂家的重视。
4、顺序功能流程图语言
顺序功能图常用来编制顺序控制类程序。它包含步、动作、转换三个要素。顺序功能编程法可将一个复杂的控制过程分解为一些小的顺序控制要求连接组合成整体的控制程序。顺序功能图法体现了一种编程思想,在程序的编制中具有很重要的意义。如图5所示为某一控制系统顺序功能流程图语言。
图5 顺序功能流程图语言
5、结构化文本语言
随着可编程控制器的飞速发展,如果许多**功能还是用梯形图来表示,会很不方便。为了增强可编程控制器的数字运算、数据处理、图表显示、报表打印等功能,方便用户的使用,许多大中型可编程控制器都配备了 pascal 、basic 、 c 等**编程语言。这种编程方式叫做结构文本。
结构化文本编程语言的特点:采用**语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机**语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。