PLC五种编程语言.docx
《PLC五种编程语言.docx》由会员分享,可在线阅读,更多相关《PLC五种编程语言.docx(17页珍藏版)》请在冰豆网上搜索。
![PLC五种编程语言.docx](https://file1.bdocx.com/fileroot1/2023-6/7/1d85171a-513a-4638-a9c1-685b80956c6d/1d85171a-513a-4638-a9c1-685b80956c6d1.gif)
PLC五种编程语言
PLC的五种标准编程语言
PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。
根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3)。
PLC的编程语言包括以下五种:
梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。
1、梯形图语言(LD)
梯形图语言是PLC程序设计中最常用的编程语言。
它是与继电器线路类似的一种编程语言。
由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。
梯形图编程语言的特点是:
与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。
梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。
图1是典型的交流异步电动机直接启动控制电路图。
图2是采用PLC控制的程序梯形图。
图1 交流异步电动机直接启动电路图
图2PLC梯形图
2、指令表语言(IL)
指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。
在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。
同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。
图3就是与图2PLC梯形图对应的指令表。
图3 指令表
指令表表编程语言的特点是:
采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。
其特点与梯形图语言基本一致。
3、功能模块图语言(FBD)
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。
采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
图4是对应图1交流异步电动机直接启动的功能模块图编程语言的表达方式。
图4 功能模块图
功能模块图编程语言的特点:
功能模块图程序设计语言的特点是:
以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
4、 顺序功能流程图语言(SFC)
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。
编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。
每一步代表一个控制功能任务,用方框表示。
在方框内含有用于完成相应控制功能任务的梯形图逻辑。
这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。
用于系统的规模校大,程序关系较复杂的场合。
图5是一个简单的功能流程编程语言的示意图。
图5
顺序功能流程图编程语言的特点:
以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
5、结构化文本语言(ST)
结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。
它是类似于高级语言的一种编程语言。
在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。
主要用于其他编程语言较难实现的用户程序编制。
结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。
大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化文本编程语言的特点:
采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。
直观性和操作性较差。
不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。
目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。
比如,SIMATICSTEP7MicroWINV3.2。
在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。
PLC的功能模块图语言(FBD)简介
发布日期:
2014-07-17 来源:
艾特贸易网 作者:
佚名 浏览次数:
1
核心提示:
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。
采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
功能模块图如图3-4所示。
图3-4功能模块图功能模块图语言的特点:
以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础
功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。
采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。
功能模块图如图3-4所示。
图3-4 功能模块图
功能模块图语言的特点:
以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。
PLC的顺序功能流程图语言(SFC)简介
发布日期:
2014-07-17 来源:
艾特贸易网 作者:
佚名 浏览次数:
0
核心提示:
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。
编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步地按照顺序动作。
每一步代表一个控制功能任务,用方框表示。
在方框内含有用于完成相应控制功能任务的梯形图逻辑。
这种编程语言使程序结构清晰,易于阅读
顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。
编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步地按照顺序动作。
每一步代表一个控制功能任务,用方框表示。
在方框内含有用于完成相应控制功能任务的梯形图逻辑。
这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。
用于系统的规模校大,程序关系较复杂的场合。
图3-5所示是一个简单的顺序功能流程图语言的示意图。
图3-5 顺序功能流程图语言的示意图
顺序功能流程图语言的特点:
以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。
在功能图中用户可以根据顺序控制步骤执行条件的变化,分析程序的执行过程,可清楚地看到在程序执行过程中每一步的状态,便于程序的设计和调试。
详解IEC61131-3==多种PLC语言
各种PLC语言简介
对应的多种PLC语言,其就是由相关国际规范IEC61131-3,所定义的。
目前常见的是5种:
LD==LaDderLogic==梯形图
IL==InstructionList==指令表
ST==StructuredText==结构式文本
FBD==FunctionBlockDiagram==功能图
SFC==SequentialFunctionChart==顺序功能流程图
还有一个不常见的,第6种:
CFC==ContinuousFunctionChart==连续功能图
PLC语言发展历史
IEC61131-3组成部分
IEC61131-3主要分成两部分:
▪通用元素
▪编程语言
如图:
IEC61131-3软件模型
IEC61131-3通用的元素
▪DataTypes
▪POU
oFunctions
oFunctionBlocks==FBs
oPrograms
▪Variables
▪Configurationelements:
ResourcesandTasks
o
▪SFC==SequentialFunctionChart(顺序功能流程图)
各种不同PLC语言示例
PLC语言:
梯形图(LD)
举例:
允许编程人员图形化的去连接中继器和线圈。
PLC语言:
功能块图(FBD)
举例:
允许用户可以快速地实现二进制和模拟表达式方面的编程。
PLC语言:
指令表(IL)
类似于汇编语言Assembly举例:
PLC语言:
结构化文本(ST)
▪类似于C语言或PASCAL语言
▪主要代码逻辑
o判断:
条件是否满足
o赋值:
设置IO点为True还是False举例:
下面详细解释ST语言:
ST语言支持操作符,控制语言和功能,支持下述方面内容:
▪控制语句:
例如条件判断语句,分支语言,循环IFTHENELSEEND_IFLOOP
▪操作符:
*,/,+,-,<,>,=
▪调用用户定义的功能模块FB
▪调用的函数:
MELSEC函数,IEC函数
▪注释描述
下面详细的解释,对于三菱MELSEC-Q系列的ST语言的特点:
▪把常用的过程,定义为功能模块FB->相当于高级语言中的函数,以及多个函数组成了库,可被重复利用
▪在线修改:
在不停止PLC的CPU的前提下,允许在线修改正在运行的程序
▪与其他语言连接互通:
比如用LD梯形图实现顺序控制,然后用ST语言实现操作控制
▪有大量的可用的功能函数:
MELSEC-Q系列的函数和IEC函数,有很多通用的指令,均已在IEC61131-3中定义好了,支持ST语言。
PLC语言:
顺序功能图(SFC)
举例:
适用于顺序的过程或流程。
PLC语言:
连续功能图(CFC)
CFC==ContinuousFunctionChart
CFC就像一种徒手画出来的FBD的编辑器。
不像面向网络的FBD,其中FBD是对于不同的输入之间的连接点,操作符,输出都是自动设置的。
而CFC则是需要自己手动画的。
因此,所有的模块盒子都可以自由的被替换,因此其无需临时变量即可支持反馈循环(feedbackloop)。
不同PLC语言对比+如何选择合适自己的PLC语言
▪LadderDiagram(LD)==基于US-styleofprogramming,resemblingelectricaldrawingstandard
▪InstructionList(IL)==基于German‘Anweisungsliste’,AWL
▪StructuredText(ST)==类似于PASCAL
▪FunctionBlockDiagram(FBD)==类似于电路图circuitdiagram
▪SequentialFunctionChart(SFC)==基于FrenchGrafcet(IEC848),类似于flowchart流程图
由于各种技术员和工程师的教育水平、擅长的专业领域不同,所以,需要多种PLC语言之间,可以互通。
因为实际情况是,对于不同的领域内的人,其所培训和使用的PLC语言都不同,而导致不同领域之间的人在PLC语言方面,互相很难沟通。
▪美国的汽车工业领域:
倾向于用LD梯形图;
▪欧洲的汽车工业领域:
更喜欢用FBD功能模块图
▪计算机科学家:
喜欢用ST结构图(类似于高级语言,比如C语言)
而不同的PLC语言有各自的优缺点和适用的领域:
▪内存管理方面的工作:
对于内存的读和写,IL和ST(比LD)更加合适;
▪控制传送带的程序:
如果用LD写,很明显会比ST写,逻辑会更清晰;
▪顺序控制系统:
用SFC无疑使最好的选择;
因此,实际上很多时候,是不同的PLC语言混合搭配去使用的:
▪一个PLC制造商,想要实现一个POU,可能就会选择用IL去处理IO模块
▪一个传送带制造商,想要用PLC监视和控制限位开关盒马达:
更倾向于用LD去实现
▪而PLC软件人员:
会去根据需求去修改对应的IL,使用LD去实现控制
▪而(上述的传送带可能又会卖给)一个工厂建造商,其都是用FBD,并且要求IO控制程序有对应完整和统一的文档
常用的PLC语言
一、PLC编程语言中最常用的语言是梯形图和指令语句表。
梯形图形式上与继电器控制线路很相似。
在继电器控制线路的基础上略加改动就形成PLC的梯形图程序。
在完成梯形图程序后为使PLC按程序完成控制任务,就需要将一段程序存入到PLC的用户程序存储器中,这时就要使用编程器将程序的一条一条指令按顺序键入到PLC中即可。
梯形图与指令语句表的之间存在相互对应关系,并可以互相转换。
编写简单的程序用梯形图编程比较方便初学者容易掌握。
但是编写复杂程序使则显得繁锁,程序越大越麻烦,不容易编程。
二、步进顺控指令语言编程它是一种专用于顺序控制的较复杂程序的编程方法。
此方法编程方法简单规律性强初学者较易掌握可大大提高工作效率并给调试修改程序带来很大方便。