《PLC五种编程语言(25页).doc》由会员分享,可在线阅读,更多相关《PLC五种编程语言(25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-PLC的五种标准编程语言 PLC的用户程序是设计人员根据控制系统的工艺控制要求,通过PLC编程语言的编制设计的。根据国际电工委员会制定的工业控制编程语言标准(IEC1131-3)。PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。 1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器
2、控制相一致,电气设计人员易于掌握。梯形图编程语言与原有的继电器控制的不同点是,梯形图中的能流不是实际意义的电流,内部的继电器也不是实际存在的继电器,应用时,需要与原有继电器控制的概念区别对待。图1是典型的交流异步电动机直接启动控制电路图。图2是采用PLC控制的程序梯形图。图1交流异步电动机直接启动电路图图2 PLC梯形图 2、指令表语言(IL)指令表编程语言是与汇编语言类似的一种助记符编程语言,和汇编语言一样由操作码和操作数组成。在无计算机的情况下,适合采用PLC手持编程器对用户程序进行编制。同时,指令表编程语言与梯形图编程语言图一一对应,在PLC编程软件下可以相互转换。图3就是与图2PLC梯
3、形图对应的指令表。图3指令表指令表表编程语言的特点是:采用助记符来表示操作功能,具有容易记忆,便于掌握;在手持编程器的键盘上采用助记符表示,便于操作,可在无计算机的场合进行编程设计;与梯形图有一一对应关系。其特点与梯形图语言基本一致。 3、功能模块图语言(FBD)功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。图4是对应图1交流异步电动机直接启动的功能模块图编程语言的表达方式。图4功能模块图功能模块图编程语言的特点:功能模块图程序设计语言的特点是:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表
4、达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握的编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。 4、顺序功能流程图语言(SFC)顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步的按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。图5是一
5、个简单的功能流程编程语言的示意图。图5顺序功能流程图编程语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。 5、结构化文本语言(ST)结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。在大中型的PLC系统中,常采用结构化文本来描述控制系统中各个变量的关系。主要用于其他编程语言较难实现的用户程序编制。结构化文本编程语言采用计算机的描述方式来描述系统中各种变量之间的各
6、种运算关系,完成所需的功能或操作。大多数PLC制造商采用的结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。直观性和操作性较差。不同型号的PLC编程软件对以上五种编程语言的支持种类是不同的,早期的PLC仅仅支持梯形图编程语言和指令表编程语言。目前的PLC对梯形图(LD)、指令表(STL)、功能模块图(FBD)编程语言都以支持。比如,SIMATIC STEP7 Mi
7、croWIN V3.2。 在PLC控制系统设计中,要求设计人员不但对PLC的硬件性能了解外,也要了解PLC对编程语言支持的种类。PLC的功能模块图语言(FBD)简介发布日期:2014-07-17来源:作者:佚名浏览次数:1核心提示: 功能模块图语言是与数字逻辑电路类似的一种PLC编程语言。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。功能模块图如图3-4所示。 图3-4 功能模块图 功能模块图语言的特点: 以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础功能模块图语言是与数字逻辑电路类似的一种PLC编程语言
8、。采用功能模块图的形式来表示模块所具有的功能,不同的功能模块有不同的功能。功能模块图如图3-4所示。图3-4功能模块图功能模块图语言的特点:以功能模块为单位,分析理解控制方案简单容易;功能模块是用图形的形式表达功能,直观性强,对于具有数字逻辑电路基础的设计人员很容易掌握编程;对规模大、控制逻辑关系复杂的控制系统,由于功能模块图能够清楚表达功能关系,使编程调试时间大大减少。PLC的顺序功能流程图语言(SFC)简介发布日期:2014-07-17来源:作者:佚名浏览次数:0核心提示: 顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对
9、控制系统的功能流程顺序进行分配,一步一步地按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读顺序功能流程图语言是为了满足顺序逻辑控制而设计的编程语言。编程时将顺序流程动作的过程分成步和转换条件,根据转移条件对控制系统的功能流程顺序进行分配,一步一步地按照顺序动作。每一步代表一个控制功能任务,用方框表示。在方框内含有用于完成相应控制功能任务的梯形图逻辑。这种编程语言使程序结构清晰,易于阅读及维护,大大减轻编程的工作量,缩短编程和调试时间。用于系统的规模校大,程序关系较复杂的场合。图3-5所示是一个简单的顺序
10、功能流程图语言的示意图。图3-5顺序功能流程图语言的示意图顺序功能流程图语言的特点:以功能为主线,按照功能流程的顺序分配,条理清楚,便于对用户程序理解;避免梯形图或其他语言不能顺序动作的缺陷,同时也避免了用梯形图语言对顺序动作编程时,由于机械互锁造成用户程序结构复杂、难以理解的缺陷;用户程序扫描时间也大大缩短。在功能图中用户可以根据顺序控制步骤执行条件的变化,分析程序的执行过程,可清楚地看到在程序执行过程中每一步的状态,便于程序的设计和调试。详解IEC 61131-3=多种PLC语言各种PLC语言简介对应的多种PLC语言,其就是由相关国际规范IEC 61131-3,所定义的。目前常见的是5种:
11、LD=LaDder Logic=梯形图IL=Instruction List=指令表ST=Structured Text=结构式文本FBD=Function Block Diagram=功能图SFC=Sequential Function Chart=顺序功能流程图还有一个不常见的,第6种:CFC= Continuous Function Chart= 连续功能图PLC语言发展历史IEC61131-3组成部分IEC 61131-3主要分成两部分: 通用元素 编程语言如图:IEC 61131-3 软件模型IEC 61131-3通用的元素 Data Types POUo Functionso Fu
12、nction Blocks=FBso Programs Variables Configuration elements:Resources and Taskso SFC=Sequential Function Chart(顺序功能流程图)各种不同PLC语言示例PLC语言:梯形图(LD)举例:允许编程人员图形化的去连接中继器和线圈。PLC语言:功能块图(FBD)举例:允许用户可以快速地实现二进制和模拟表达式方面的编程。PLC语言:指令表(IL)类似于汇编语言Assembly 举例:PLC语言:结构化文本(ST) 类似于C语言或PASCAL语言 主要代码逻辑o 判断:条件是否满足o 赋值:设置I
13、O点为True还是False 举例:下面详细解释ST语言:ST语言支持操作符,控制语言和功能,支持下述方面内容: 控制语句:例如条件判断语句,分支语言,循环 IF THEN ELSE END_IF LOOP 操作符:*,/,+,-,= 调用用户定义的功能模块FB 调用的函数:MELSEC函数,IEC函数 注释描述下面详细的解释,对于三菱MELSEC-Q系列的ST语言的特点: 把常用的过程,定义为功能模块FB-相当于高级语言中的函数,以及多个函数组成了库,可被重复利用 在线修改:在不停止PLC的CPU的前提下,允许在线修改正在运行的程序 与其他语言连接互通:比如用LD梯形图实现顺序控制,然后用S
14、T语言实现操作控制 有大量的可用的功能函数:MELSEC-Q系列的函数和IEC函数,有很多通用的指令,均已在IEC61131-3中定义好了,支持ST语言。PLC语言:顺序功能图(SFC)举例:适用于顺序的过程或流程。PLC语言:连续功能图(CFC)CFC=Continuous Function ChartCFC就像一种徒手画出来的FBD的编辑器。不像面向网络的FBD,其中FBD是对于不同的输入之间的连接点,操作符,输出都是自动设置的。而CFC则是需要自己手动画的。因此,所有的模块盒子都可以自由的被替换,因此其无需临时变量即可支持反馈循环(feedback loop)。不同PLC语言对比 + 如
15、何选择合适自己的PLC语言 Ladder Diagram (LD)=基于US-style of programming, resembling electrical drawing standard Instruction List (IL)=基于German Anweisungsliste, AWL Structured Text (ST)=类似于PASCAL Function Block Diagram (FBD)=类似于电路图circuit diagram Sequential Function Chart (SFC)=基于French Grafcet (IEC 848),类似于flow
16、chart流程图由于各种技术员和工程师的教育水平、擅长的专业领域不同,所以,需要多种PLC语言之间,可以互通。因为实际情况是,对于不同的领域内的人,其所培训和使用的PLC语言都不同,而导致不同领域之间的人在PLC语言方面,互相很难沟通。 美国的汽车工业领域:倾向于用LD梯形图; 欧洲的汽车工业领域:更喜欢用FBD功能模块图 计算机科学家:喜欢用ST结构图(类似于高级语言,比如C语言)而不同的PLC语言有各自的优缺点和适用的领域: 内存管理方面的工作:对于内存的读和写,IL和ST(比LD)更加合适; 控制传送带的程序:如果用LD写,很明显会比ST写,逻辑会更清晰; 顺序控制系统:用SFC无疑使最
17、好的选择;因此,实际上很多时候,是不同的PLC语言混合搭配去使用的: 一个PLC制造商,想要实现一个POU,可能就会选择用IL去处理IO模块 一个传送带制造商,想要用PLC监视和控制限位开关盒马达:更倾向于用LD去实现 而PLC软件人员:会去根据需求去修改对应的IL,使用LD去实现控制 而(上述的传送带可能又会卖给)一个工厂建造商,其都是用FBD,并且要求IO控制程序有对应完整和统一的文档常用的PLC语言一、PLC编程语言中 最常用的语言是梯形图和指令语句表。梯形图形式上与继电器控制线路很相似。在继电器控制线路的基础上略加改动就形成PLC的梯形图程序。在完成梯形图程序后为使PLC按程序完成控制任务,就需要将一段程序存入到PLC的用户程序存储器中,这时就要使用编程器将程序的一条一条指令按顺序键入到PLC中即可。梯形图与指令语句表的之间存在相互对应关系,并可以互相转换。编写简单的程序用梯形图编程比较方便初学者容易掌握。但是编写复杂程序使则显得繁锁,程序越大越麻烦,不容易编程。二、步进顺控指令语言编程它是一种专用于顺序控制的较复杂程序的编程方法。此方法编程方法简单规律性强初学者较易掌握可大大提高工作效率并给调试修改程序带来很大方便。第 25 页-