PLC的几种编程方式比较
在工业自动化领域,PLC是最主要的控制器。在各种控制场景,化工厂的过程控制、生产流水线的运动控制、非标设备控制等,均有PLC的运用。其控制手段灵活,系统构建快速,运用稳定可靠。
依照国际电工委员会制定的工业控制编程语言标准(IEC1131-3),PLC的编程方式有梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、连续功能图(CFC)、结构化文本语言(ST)。但现目前在工业运用中,常用的编程方式有梯形图、结构化文本语言、功能模块。其他三种方式的运用已趋向于特定的运用场景的使用,而不像这三种编程方式,在各类的控制场景下均有使用。
这里以一个启动/保持/停止控制为例,给大家介绍PLC的几种常用编程方式。下图为示例相关变量的定义。
PLC变量定义
功能要求 :开始信号接通时,运行信号输出;当停止信号接通时,运行信号停止输出。
梯形图(LD)
在PLC的几种编程方式中,梯形图是最常见的编程方式。在处理一些逻辑类控制时,编程处理非常方便。受到很多工程师的喜欢和使用。如下图所示,即为梯形图的编程示例。
梯形图编程示例
语句表(IL)
语句表的编程表达方式,非常接近于早期的电脑助记符编程语言。所有的动作均通过语句表实现。感官上看起来非常不直观,在编程的时候相应的规约也比较多,也需要工程人员对此非常熟悉。否则很难做出一个高质量的程序。同时,这种编程方式非常不适宜于完成大工作了的控制要求。所以,现目前使用这种方式编程的工程师越来越少。语句表编程示例如下:
语句表编程示例
功能块图(FBD)
功能块图编程,编程方式上将各种功能实现,通过一个个的功能块表达。这种编程方式上,在调试的过程中,监控程序可以直径看到程序运行的导通方向。即哪一路导通,哪一路没有导通非常分明。所以在电机控制的处理方面,非常好用。如伺服电机控制过程中,电机会通过状态字在各种运行模式下切换,采用功能块图的编程方式来处理这类控制运用,会非常方便。
功能块图编程示例
结构化文本(ST)
结构化文本的编程方式是一种类似于高级编程语言的PLC编程方式。其编程思路方式非常接近于C语言。在处理一些复杂的算法控制的时候,选择使用结构化文本编程方式。以前使用PLC完成复杂的算法的时候,非常不方便处理的情况,使用ST方式,会变得非常容易。在PLC的功能越来越强大,需求越来越多样的今天。结构化文本可以更大的发挥PLC的运用潜力。可以预见,在PLC的运用上,结构化文本编程方式会越来越常用。
结构化文本编程示例
综上,在PLC的各种编程方式上,各有运用特长。
梯形图:逻辑处理;
功能块图:类似“状态字”的控制场景;
结构化文本:处理算法控制。
在编程的过程中,选择合适的编程方式,可以极大的提高编程调试效率。大大的减轻工程师的工作强度。当然,这亦要求工程师在PLC编程的过程中,除了会常用的编程方式外,还需要掌握其他的编程方式。
(转载请注明来源函控自动化工程师头条号)
PLC编程语言如何选择,大神来告诉你
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。
图形化编程语言包括:
梯形图(LD-Ladder Diagram);
功能块图(FBD - Function Block Diagram);
顺序功能图(SFC - Sequential Function Chart)。
文本化编程语言包括:
指令表(IL-Instruction List)& 结构化文本(ST-Strutured Text)。
IEC 1131-3的编程语言 是IEC工作组 对世界范围的PLC厂家的编程语言合理地吸收、借鉴的基础上形成的一套针对工业控制系统的国际编程语言标准。它不但适用于PLC系统,而且还适用于更广泛的工业控制领域,为PLC编程语言的全球规范化做出了重要的贡献。
继电器梯形图(LD)
继电器梯形图(LD-Ladder Diagram) 语言是PLC首先采用的编程语言,也是PLC最普遍采用的编程语言。
梯形图编程语言 是从继电器控制系统原理图的基础上演变而来的,与继电器控制系统梯形图的基本思想是一致的,只是在使用符号和表达方式上有一定区别。
PLC的设计初衷是为工厂车间电气技术人员而使用的,为了符合继电器控制电路的思维习惯。
作为首先在PLC中使用的编程语言,梯形图保留了继电器电路图的风格和习惯,成为广大电气技术人员最容易接受和使用的语言。
1. 软继电器
PLC梯形图中的某些编程元件沿用了继电器这一名称,如输入继电器、输出继电器、内部辅助继电器等,但是它们不是真实的物理继电器,而是一些存储单元(软继电器),每一软继电器与PLC存储器中映像寄存器的一个存储单元相对应。
如果该存储单元为“1”状态,则表示梯形图中对应软继电器的线圈“通电”,其常开触点接通,常闭触点断开,称这种状态是该软继电器的“1”或“ON”状态。
如果该存储单元为“0”状态,对应软继电器的线圈和触点的状态与上述的相反,称该软继电器为“0”或“OFF”状态。使用中也常将这些“软继电器”称为编程元件。
2. 能流
有一个假想的“概念电流”或“能流”(Power Flow)从左向右流动,这一方向与执行用户程序时的逻辑运算的顺序是一致的。
能流只能从左向右流动。利用能流这一概念,可以帮助我们更好地理解和分析梯形图。
3.母线
梯形图两侧的垂直公共线称为母线(Bus bar)。
在分析梯形图的逻辑关系时,为了借用继电器电路图的分析方法,可以想象左右两侧母线(左母线和右母线)之间有一个左正右负的直流电源电压,母线之间有“能流”从左向右流动。右母线可以不画出。
4.梯形图的逻辑解算
根据梯形图中各触点的状态和逻辑关系,求出与图中各线圈对应的编程元件的状态,称为梯形图的逻辑解算。
梯形图中逻辑解算是按从左至右、从上到下的顺序进行的。解算的结果,马上可以被后面的逻辑解算所利用。
逻辑解算是根据输入映像寄存器中的值,而不是根据解算瞬时外部输入触点的状态来进行的。
1、与电气操作原理图相对应,具有直观性和对应性;
2、与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于掌握和学习;
3、与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power Flow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
4、与指令表程序设计语言有一一对应关系,便于相互的转换和程序的检查。
功能块图(FBD)
功能块图(FBD - Function Block Diagram) 采用类似于数字逻辑门电路的图形符号,逻辑直观,使用方便,它有梯形图编程中的触电和线圈等价的指令,可以解决范围广泛的逻辑问题。
1、以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
2、功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
3、对控制规模较大、控制关系较复杂的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少。
顺序功能图(SFC)
顺序功能图(SFC - Sequential Function Chart) 亦称流程图或状态转移图,是一种图形化的功能性说明语言,专用于描述工业顺序控制程序,使用它可以对具有并发、选择等复杂结构的系统进行编程。
1、以功能为主线,条理清楚,便于对程序操作的理解和沟通;
2、对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
3、常用于系统的规模较大,程序关系较复杂的场合;
4、只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。
指令表
指令表(IL-Instruction List) 编程语言类似于计算机中的助记符汇编语言,它是可编程控制器最基础的编程语言,所谓指令表编程,是用一个或几个容易记忆的字符来代表可编程控制器的某种操作功能。
1、采用助记符来表示操作功能,具有容易记忆,便于掌握的特点;
2、在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
3、与梯形图有一一对应关系,其特点与梯形图语言基本类同。
结构化文本(ST)
结构化文本(ST-Strutured Text)是一种高级的文本语言,可以用来描述功能,功能块和程序的行为,还可以在顺序功能流程图中描述步、动作和转变的行为。
结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业控制应用开发的编程语言,具有很强的编程能力用于对变量赋值、回调功能和功能块、创建表达式、编写条件语句和迭代程序等。
1、采用高级语言进行编程,可以完成较复杂的控制运算;
2、需要有一定的计算机高级程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
3、直观性和易操作性等性能较差;
4、常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
提示注意: 不是所有的PLC都支持所有的编程语言(如功能块图、顺序功能图就有很多低档PLC不支持),而大型的PLC控制系统一般都支持这5种标准编程语言或类似的编程语言。
还有一些标准以外的编程语言,它们虽然没有被选择进标准语言中,但是它们是为了适合某些特殊场合的应用而开发的,在某些情况下,它们也许是较好的编程语言。
比如D7-SYS的连续功能图CFC就是专为大型连续工艺控制而开发,只要调用程序中的CFC功能块就可以轻易实现象PID控制器、计数器、定位器、斜坡函数发生器等一系列特殊功能,而且不需要专门的编程知识,只需要懂得图形化处理和标准程序块的使用,进行简单的设置即可。
转发是最大的鼓励!谢谢您的支持!
小贴士
进阶全家桶: 含有经典18本大全书,历年电气考试真题、电气必备实训仿真软件、电气自动化行业各类型技术手册!
相关问答
plc编程有哪几种类型?
主要有以下5种编程语言:1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控...
plc程序种类?
1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言2、指令表语言(IL)指令表编程语言是与汇编语言类似的一...
plc类型怎么设置?
PLC(可编程逻辑控制器)是一种通用的工业自动化控制设备,根据不同应用场景的需求,PLC可以分为多种类型和规格。下面介绍一般情况下PLC类型设置的方法:1.使...
三菱plc编程软件怎样选plc型号-ZOL问答
软件里有个文件菜单里面有个叫更改PLC类型里面可以选择CPU型号重装开发平台1、电脑安装GXDeveloperV7.5以上的编程软件2、支持Q系列的编程线3、最重要的...
三菱plc编程软件怎么选plc型号-懂得
软件里有个文件菜单里面有个叫更改PLC类型里面可以选择CPU型号在菜单工程-创建新工程的框中选
plc有几种编程语言以及它们的特点?
PLC有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。梯形图语言特点:与电...PLC有...
plc编程用什么电脑好?
常用编程软件的话,配置参数上不能太差,电脑配置需求参考如下:1.操作系统:windows7(建议使用64位)2.内存:最少2GB(推荐4GB及以上)3.显...常用编程软件的...
plc编程对电脑配置要求高吗?用哪种电脑比较好?
运行PLC编程软件的话,dell或者联想或者HP都可以,不用很高设置,内存最好要2G,最好有串口。PLC(ProgrammableLogicController),是可编程逻辑控制器。它采......
plc可编程序控制器输出类型哪种负载最强?
输出类型中,继电器输出的负载能力最强。继电器输出类型的PLC可编程序控制器具有较高的负载能力,可以直接驱动较大功率的负载设备,如电机、电磁阀等。相比于其...
三菱PLC编程正负数比较编程方法?
要在上位机可以直接输入负数,只要在变量类型类型上选择双极性整数就可以了。plc中也是可以直接输入负数的,例如三菱plc就可以输入k-10来输入十进制-10,要注意...