首页 首页 技术资料 plc编程语言有哪些?plc编程语言标准

plc编程语言有哪些?plc编程语言标准

2017-03-13 14:28| 发布者:admin| 查看:| 评论:

简介
plc编程语言有哪些?plc编程语言标准 国际电工委员会(IEC)正式颁布了可编程控制器的国际标准IEC 1131(以后改称IEC 61131),其中的第三部分关于编程语言的标准,规范了可编程控制器的编程语言

plc编程语言有哪些?plc编程语言标准
国际电工委员会(IEC)正式颁布了可编程控制器的国际标准IEC 1131(以后改称IEC 61131),其中的第三部分关于编程语言的标准,规范了可编程控制器的编程语言及其基本元素。这一标准为可编程控制器软件技术的发展,乃至整个工业控制软件技术的发展,起了举足轻重的推动作用,它是全世界控制工业第一次制定的有关数字控制软件技术的编程语言标准。此前,国际上没有出现过有实际意义的,为制定通用的控制语言而开展的标准化活动。编程语言的标准化为PLC走向开放式系统并被广泛应用打下了坚实基础。
IEC 61131的第三部分关于编程语言的标准,规定了二大类编程语言:文本化编程语言和图形化编程语言。文本化编程语言包括指令表语言(IL)和结构化文本语言(ST),图形化编程语言包括梯形图语言(LD)和功能块图语言(FBD)。并且将顺序功能图(SFC)在公用元素中予以规范,从而在文本化语言中,或者在图形化语言中,都可以运用SFC的概念、句法和语法。于是,在我们现在所使用的编程语言中,可以在梯形图语言中使用SFC,也可以在指令表语言中使用SFC。
1.梯形图语言
梯形图(LD-Ladder Diagram)是广泛应用在自动控制领域的一种图形语言,它是沿用电气控制电路的符号所组合而成的一种图形,通过梯形图编辑器画好梯形图形后,PLC的程序设计也就完成,以图形表示控制的流程较为直观,易为熟悉电气控制电路的技术人员所接受。
这种程序设计语言采用因果关系来描述事件发生的条件和结果。梯形图一般由多个不同的梯级(Rung)组成,每一梯级又由输入及输出指令组成。在每一梯级中,输出指令表示事件发生的结果,应出现在梯级的最右边;输入指令用来描述事件发生的条件,则出现在输出指令的左边,梯形图程序的一个梯级如下图所示。
plc编程语言有哪些?plc编程语言标准
梯形图程序举例
在梯形图中很多基本符号及动作都和传统自动控制配电盘中常见的机电装置一致。如按钮、开关、继电器(Relay)、定时器(Timer)及计数器(Counter)等等。但是,PLC梯形图中的继电器、定时器等并不是物理意义上的设备,而是存储器中的存储位,即软器件,其连线也称为软连接。每个PLC内部的软器件的触点可有无数个,而不是像继电器的硬触点那样为有限个。
在梯形图程序中允许在一个梯级中有多条输入指令串、并联来表示几个条件的“与/或”逻辑关系,如果所有逻辑关系的运算结果为“1”,则认为梯级条件为“真”,在梯级中也允许没有输入指令,这表示梯级条件永远为真。在梯形图程序的执行过程中,当输入指令所表示的梯级条件为真,则执行输出指令,否则不执行输出指令。因此,输出指令不允许串联,但允许并联,表示梯级条件为真时,几条输出指令可一并执行。梯形图程序扫描的顺序是从左到右、从上到下进行的。
2.指令表语言
指令表(IL-Instruction List)也称指令表语言或语句表。指令表语言和汇编语言很相似,每条语句包含有一个操作码和若干操作数。操作码表示功能类型,操作数表示操作的对象。
指令表程序设计语言具有以下特点:
(1)采用助记符来表示操作功能,具有容易记忆、便于掌握的特点;
(2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计。
(3)与梯形图有一一对应关系。
指令表语言能实现比梯形图或功能块图更强的功能。
3.功能块图语言
功能块图(FBD-Function Block Diagram)基本上沿用了半导体逻辑电路的逻辑图的表达形式。这种方式易于描述较为复杂的控制功能,表达直观,查错找漏都比较容易,因此,它是编程时常使用的一种方式,如下图所示。
plc编程语言有哪些?plc编程语言标准
功能块图程序举例
4.结构化文本语言
结构化文本(ST-Structured Text)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述“步”、“动作”和“转换”的行为。如下图所示。
plc编程语言有哪些?plc编程语言标准
结构化文本程序举例
结构化文本语言表面上与PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。结构化文本非常适合应用在有复杂的算术计算的应用中。结构化文本程序格式自由,可以在关键词与标识符之间任何地方插入制表符、换行字符和注释。对于熟悉计算机高级语言开发的人员来说,结构化语言更是易学易用。此外,结构化文本语言还易读易理解,特别是用有实际意义的标识符、批注来注释时,更是这样。
5.顺序功能图
顺序功能图(SFC-Sequential Function Chart),亦称功能流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序。使用它可以对具有并发、选择等复杂结构的系统进行编程,一些高档的PLC提供了用于SFC编程的指令,但一些低档的PLC并不支持SFC编程语言。
顺序功能图主要由“状态”和“转换”等基本元素组成。通过这些基本元素的不同组合,可以表达各种各样的复杂顺序控制逻辑,控制规律的表达简洁明了。
plc编程语言有哪些?plc编程语言标准
顺序功能图程序举例
状态有时也称“步(Step)”,是系统一个相对稳定的阶段,在这阶段内系统的参量保持不变。系统的参量一旦发生变化,则认为系统转换到了一个新的状态。状态包括初始状态和工作状态,一个系统至少要有一个初始状态,初始状态用双线矩形框表示,工作状态用矩形框表示,工作状态一般都有相对应的动作。每个状态都有一个编号,通常用PLC内部的状态元件来保存状态。
当系统的参量发生变化到了一个新的状态,则认为系统状态发生了转换。转换由连接两个状态之间的有向线段和垂直于此线段的短横线段组成,短横线段表示发生转换的条件。
五种编程语言比较,究竟应该选择谁?
IEC 61131-3允许在同一个PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中其不同的软件模块用不同的编程语言编制。这一规定妥善继承了PLC发展历史中形成的编程语言多样化的现实,又为PLC软件技术的进一步发展提供了足够的空间。
比如,你用PLC处理函数运算,结构化文本语言最优秀,同样的运算,ST最后生成的代码很少,可能仅为梯形图的零头,但处理逻辑关系,还是梯形图最简便。
要做出最为恰当的选择,还需要考虑多方面的因素,如程序员的技术、程序的任务、问题或控制的难易程度和结构,再或许是改动的频次,这些决定了与程序相关的语言。
一般说来,指令表可供喜欢用汇编语言编程的用户使用。指令表的输入快,可以在每条语句后面加上注释。设计高级应用程序时建议使用语句表。
梯形图适合于熟悉继电器电路的人员使用。设计复杂的触点电路时最好用梯形图。
功能块图适合于熟悉数字电路的人使用。
结构化文本编程语言适合于熟悉高级编程语言(例如PASCAL 或C语言)的人使用。

免费试学
  • 姓名:
  • 电话:
  • Q Q:
  • 项目:

精彩课程

宣传位

Copyright ©1998- sjwxpx All Rights Reserved.  电子科技大学职业技能培训 版权所有  |  工信部备案号:蜀ICP备10206521号

电话:028-83206650  18030496910  地址:电子科技大学沙河校区内通信大楼10楼1005室(成都市一环路东一段公交站)