【导读】PLC技术发展至今,软硬件都发生了很大的变化,不仅硬件功能多样化,软件也在朝向高级语言、面向对象编程的方向发展!其中传统的梯形图必会,结构化编程必学。下面我们就来详细阐述IEC 61131-3规范的五种编程语言,到底应该选哪几种作为学习的重点?
概述
IEC 61131-3规范的编程语言是IEC工作组对世界规模的PLC厂家的编程语言合理地吸收、学习的基础上构成的一套针对工业操控体系的世界编程语言规范,它不光适用于PLC体系,并且还适用于更广泛的工业操控范畴,为PLC编程语言的全球规范化做出了重要的奉献。
IEC 61131-3规范的5种图形和文本语言,即LD、SFC、FBD、STL和IL。由于IL指令表语言类似汇编语言使用的人越来越少,也即将从IEC 61131-3的新版本中被删除。而面向对象的编程方式已经引入了IEC61131-3,甚至像C、C++等高级语言,也实际变成PLC常用的编程语言。
下图是2020年美国的一个名为automation.com的网站和PLCopen国际组织联合调查的结果,也印证了上述的结论,使用结构化文本编程的人数已经是最多的了。因此建议大家在学习PLC编程语言的时候也要分清主次,高级编程语言融入到自控系统已经很正常。
01 继电器梯形图(LD)
继电器梯形图(LadderDiagram)语言是PLC首要选用的编程语言,也是PLC最普遍选用的编程语言。梯形图编程语言是从继电器操控体系原理图的基础上演变而来的,与继电器操控体系梯形图的根本思想是共同的,只是在运用符号和表达方式上有必定差异。
梯形图逻辑编程极受电气工程技术人员欢迎,其优点是不言而喻的。首先,这种由Bedford公司开发的梯形图逻辑编程中相关的符号,来源于电气工程中描述顺序操作功能,这使广大的电气工程师和电工能以非常容易理解的方式用计算机对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、与指令表程序规划语言有一一对应联系,便于彼此的变换和程序的查看。
02 功用块图(FBD)
功用块图(Function Block Diagram)选用相似于数字逻辑门电路的图形符号,逻辑直观,运用方便,它有梯形图编程中的触点和线圈等价的指令,能够处理规模广泛的逻辑问题。
(1)以功用模块为单位,从操控功用下手,使操控计划的剖析和了解变得简略; (2)功用模块是用图形化的办法描绘功用,它的直观性大大方便了规划人员的编程和组态,有较好的易操作性; (3)对操控规模较大、操控联系较复杂的体系,因为操控功用的联系能够较清楚地表达出来,因而,编程和组态时刻能够缩短,调试时刻也能削减。
03 次序功用图(SFC)
次序功用图(Sequential Function Chart)亦称流程图或状况搬运图,是一种图形化的功用性阐明语言,专用于描绘工业次序操控程序,运用它能够对具有并发、挑选等杂乱结构的体系进行编程。
(1)以功用为主线,条理清楚,便于对程序操作的了解和沟通; (2)对大型的程序,可分工规划,选用较为灵活的程序结构,可节约程序规划时刻和调试时刻; (3)常用于体系的规模较大,程序联系较杂乱的场合; (4)只需在活动步的命令和操作被履行,对活动步后的变换进行扫描,因而,整个程序的扫描时刻较其他程序编制的程序扫描时刻要大大缩短。
04 指令表(IL) 指令表(Instruction List)编程语言相似于计算机中的助记符汇编语言,它是可编程操控器最基础的编程语言,所谓指令表编程,是用一个或几个简略回忆的字符来代表可编程操控器的某种操作功用。
(1)选用助记符来表明操作功用,具有简略回忆,便于撑握的特色;
(2)在编程器的键盘上选用助记符表明,具有便于操作的特色,可在无计算机的场合进行编程规划;
(3)与梯形图有一一对应联系,其特色与梯形图语言根本类同。
05 结构化文本(ST)
结构化文本(Strutured Text)是一种高档的文本语言,能够用来描绘功用,功用块和程序的行为,还能够在次序功用流程图中描绘步、动作和改变的行为。对于结构化文本编程西门子称之为SCL,其实是一样的,只是名字不同而已。结构化文本语言表面上与 PASCAL语言很相似,但它是一个专门为工业操控运用开发的编程语言,具有很强的编程才能用于对变量赋值、回调功用和功用块、创建表达式、编写条件句子和迭代程序等。最近几年结构化文本编程已经越来越盛行,使用ST编程的人数已经超过了使用梯形图编程的人数,大量的PLC工程师从中受益。
(1)选用高档语言进行编程,能够完结较杂乱的操控运算; (2)需要有必定的计算机高档程序规划语言的常识和编程技巧,对编程人员的技术要求较高,一般电气人员无法完结。 (3)直观性和易操作性等功用较差; (4)常被用于选用功用模块等其他语言较难完成的一些操控功用的施行。
注意:不是所有的PLC都支撑一切的编程语言(如功用块图、次序功用图就有许多等级低PLC不支撑),而大型的PLC操控体系一般都支撑这5种规范编程语言或相似的编程语言。