PLC程序是设计人员根据控制系统的实际控制要求,通过PLC的编程语言进行编制的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3),PLC的编程语言有以下五种,分别为梯形图(Ladder Diagram,LD)、语句表(Instruction List,IL)、顺序功能图(Sequential Function Chart,SFC)、功能块图(Function Block Diagram,FBD)及结构化文本(Structured Text,ST)。
1.梯形图语言(LD)
梯形图语言是PLC程序设计中最常用的编程语言,它是与继电器线路类似的一种图形化的编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,使电气设计人员易于掌握。
梯形图编程语言与原有的继电器控制的不同点是:梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时需要与原有继电器控制的概念区别对待。
图1-9是典型电动机星-三角起动控制电路图和对应的采用PLC控制的程序梯形图。
图1-9 电动机星-三角起动控制电路和对应梯形图
a)电动机星-三角起动控制电路 b)星-三角起动对应梯形图
2.指令表语言(IL)
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。
图1-10为一段PLC梯形图及其对应的指令表。
图1-10 PLC梯形图和其对应的指令表
a)梯形图 b)对应指令表
3.顺序功能图语言(SFC)(www.xing528.com)
顺序功能图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。多适用于系统的规模较大且程序关系较复杂的场合。
图1-11是一个简单的顺序功能流程编程语言的示意图。
4.功能模块图语言(FBD)
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。基本沿用了半导体逻辑电路的逻辑方块图,有数字电路基础的技术人员很容易掌握。
图1-12是某一程序的功能模块图语言的示意图。
图1-11 顺序功能流程编程语言示意图
图1-12 功能模块图
5.结构化文本语言(ST)
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点是:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高;直观性和操作性较差。
不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都予支持,例如SIMATIC STEP 7 MicroWIN V3.2;而在大中型PLC编程中,ST语言应用越来越广,可以非常方便地描述控制系统中各个变量的关系。在PLC控制系统设计中,要求设计人员不但要对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。