《PLC五种编程语言.doc》由会员分享,可在线阅读,更多相关《PLC五种编程语言.doc(14页珍藏版)》请在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 Mic
7、roWIN 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,所定义的。
11、目前常见的是5种: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 Func
12、tionso Function 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 判断:条件是否满
13、足o 赋值:设置IO点为True还是False 举例:下面详细解释ST语言:ST语言支持操作符,控制语言和功能,支持下述方面内容: 控制语句:例如条件判断语句,分支语言,循环 IF THEN ELSE END_IF LOOP 操作符:*,/,+,-,= 调用用户定义的功能模块FB 调用的函数:MELSEC函数,IEC函数 注释描述下面详细的解释,对于三菱MELSEC-Q系列的ST语言的特点: 把常用的过程,定义为功能模块FB-相当于高级语言中的函数,以及多个函数组成了库,可被重复利用 在线修改:在不停止PLC的CPU的前提下,允许在线修改正在运行的程序 与其他语言连接互通:比如用LD梯形图实现
14、顺序控制,然后用ST语言实现操作控制 有大量的可用的功能函数:MELSEC-Q系列的函数和IEC函数,有很多通用的指令,均已在IEC61131-3中定义好了,支持ST语言。PLC语言:顺序功能图(SFC)举例:适用于顺序的过程或流程。PLC语言:连续功能图(CFC)CFC=Continuous Function ChartCFC就像一种徒手画出来的FBD的编辑器。不像面向网络的FBD,其中FBD是对于不同的输入之间的连接点,操作符,输出都是自动设置的。而CFC则是需要自己手动画的。因此,所有的模块盒子都可以自由的被替换,因此其无需临时变量即可支持反馈循环(feedback loop)。不同PL
15、C语言对比 + 如何选择合适自己的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
16、),类似于flowchart流程图由于各种技术员和工程师的教育水平、擅长的专业领域不同,所以,需要多种PLC语言之间,可以互通。因为实际情况是,对于不同的领域内的人,其所培训和使用的PLC语言都不同,而导致不同领域之间的人在PLC语言方面,互相很难沟通。 美国的汽车工业领域:倾向于用LD梯形图; 欧洲的汽车工业领域:更喜欢用FBD功能模块图 计算机科学家:喜欢用ST结构图(类似于高级语言,比如C语言)而不同的PLC语言有各自的优缺点和适用的领域: 内存管理方面的工作:对于内存的读和写,IL和ST(比LD)更加合适; 控制传送带的程序:如果用LD写,很明显会比ST写,逻辑会更清晰; 顺序控制系统
17、:用SFC无疑使最好的选择;因此,实际上很多时候,是不同的PLC语言混合搭配去使用的: 一个PLC制造商,想要实现一个POU,可能就会选择用IL去处理IO模块 一个传送带制造商,想要用PLC监视和控制限位开关盒马达:更倾向于用LD去实现 而PLC软件人员:会去根据需求去修改对应的IL,使用LD去实现控制 而(上述的传送带可能又会卖给)一个工厂建造商,其都是用FBD,并且要求IO控制程序有对应完整和统一的文档常用的PLC语言一、PLC编程语言中 最常用的语言是梯形图和指令语句表。梯形图形式上与继电器控制线路很相似。在继电器控制线路的基础上略加改动就形成PLC的梯形图程序。在完成梯形图程序后为使P
18、LC按程序完成控制任务,就需要将一段程序存入到PLC的用户程序存储器中,这时就要使用编程器将程序的一条一条指令按顺序键入到PLC中即可。梯形图与指令语句表的之间存在相互对应关系,并可以互相转换。编写简单的程序用梯形图编程比较方便初学者容易掌握。但是编写复杂程序使则显得繁锁,程序越大越麻烦,不容易编程。二、步进顺控指令语言编程它是一种专用于顺序控制的较复杂程序的编程方法。此方法编程方法简单规律性强初学者较易掌握可大大提高工作效率并给调试修改程序带来很大方便。14便来序调调率工高高大较较学律简程程法法的的杂制顺顺专专是程语语顺程易易不麻序,显显使使复握掌掌学方比形用用单换换相可系对对在间的的指指与
19、可可可 到顺条条一程程程使时中中储程程用 存存一要务务制序 使后程程序图的 成改改上的控似似相线电电与表表句指形语语用中中程 语语 文一一统对程程 并 都商商厂一卖卖会送的的控控去,的的改改去据会件件实去去于更马马开制视 用商制制模 去 择能能 个现想想制的使使配混混语的,时时际择择择好无无 统晰晰更辑写写会很很, 序序带适适 (和,和存存对的理理域域适适优各语语 言语语比言似似类 家家学块模 用用:业汽图梯梯用向域域车车通沟互方方 间间领致,都语语的和训其域域同对是是通通互可语语 多需需,域专专擅水师程程术程程程 于, 于 于类 于=) , 于= 于= 语语 合合何 比 。) 循持可变变无因
20、替替被以以子的的动动自要的设设是出出,点点接之同于于 中,的向向器编的的 手徒徒 图功功语程程流的例 图图序语。语持了了好- 在均均令通有有 的的系 :能能用用控操实 后制制现图梯梯比互言程行行正正修允提提前 不改利利,成成函个,中级当当 能义义程点点的语列列- 于释细细详描函函函数 数 块块的定定,* 环语语,断条条如容内内下,能制符符操支言言语 例例举 是是 设设满满逻语语 或或 (化化构语例 语 (令言言程的面面拟制现现速可例 图图: 圈和和继接化化员例例 (形:示示 同图图图序( = 元用 模模软 图语语元分部要要 部部部 历言言能续= 种 ,个程程流顺= 能能功= =文文文= 令令=
21、 形形 种种种种的义, 规规关是,语语种种简语语 种= 试调调的的于,的的一过序序看地可可过程分分的条步步序根可可中功短短大也扫户陷陷的的难、结用用锁机机由编作言图图梯避同同缺缺动不他他图形解序对对便便理配分分流照,为点点的图程序意意的语流流顺顺- 。言言语功的的简示-图场场杂序序大规系系用试程程短量程程轻大大维于晰构构程语语种。梯任任制应成含含内示框框,能控一每每动照步步步分进进流能能系件条根根件和程程的流顺顺编言程程而控控顺满言图功功顺顺阅易,结言言编。逻的的务控成成于含在在。方务务能控步步每动按按一步行行顺流的制制条转转件换和和程的程时时。语语计制辑足为为语程程序:示:数浏浏名作作贸艾
22、_ / 来 00期简) 图流流功少减大大调,关关功够够图能,制制杂系辑、对对;易员计计基电电数有对对观,达的用用能能易简制理理,为能能功点点特言块块块能-。 图能能能的的不能能不,具具块来的的块用。编 的的类辑字字是模功基基电逻具于于性性能功的的图模;单单案解析位位模功功 言言块功块块模 图所所-图图能。同不不功的功功有模模表形图用用言程 种类逻与与言言图 :次名:贸艾 _/ . / 源- 00期简简 图模类类的的言编 了,解件件 员设要设设制 如支都编编 图图能、 表) 形 前言语语令语图图梯仅 期期的不持持言种种上软编的同同差较较操直直。员设设对巧程识识级级机的要算算制复完可可行行语用点的
23、的编本本结化简都都方种种及达的语方方为似言言高高语言 言言语 言本本构用商 数数作或或功所系系算的的变中述述来描算算计语本本构制序户户实言程程于主主关变各各制述来来化常, 型中语语种言高高类。程种种序序来述化化用语本本结 (语构构、短缩间间扫程陷缺缺以复复序程锁械械,编动动对语用也也时时缺动能他他图梯梯解序用,理,顺顺流照照,能以的的程编流流图图图示语编编功简简一。的的较关,模模统。时程程短短,的减大大维于于易构使言言这逻逻梯任制相相于用用内示框用用能个一步步动动顺步一一配序程程功制控控条根换步步程作作程将时时语程设辑辑顺足言言图流序序 言言程序序 少减减间程编能能达达楚块功功,制杂杂关逻大规
24、规编掌很很人的路路辑具,观观直表的的图图模;易易方解分位为为以以是特语序序模点点言编图能能块块式式式言编编模功启启动异异流对图功功同块的,的的具示式式的能用用言 似路路辑是语语模模 (模、 致本语梯梯特特系对有有图计程行机机无无在于便表表用上程手手握便便记易能作作来助助:是语编编令令令指表指指的梯梯 图 换换转下下程 在一一言程梯梯语编令令同制制序对编编手用适适下机计成作作操操操一汇汇和编记一一类编与与程指指 (表、 形形 路动动启动异图图梯程程制用 图电动动接电流流型图待别别概控控器原原,时,的际也继继部电电义是能图图,同制制电有与程程梯梯握于人计致致制制控有;和直具具相理操:特特言言编梯用用和的广广言编梯梯此熟制制器员计气气言编一一类器继继言语用用中程程 语梯 (语语形) 语语文及 (语功功、 (语功功 言表) 语:下以以言编 - 准语制制工的员电电据计计设语程程 求要要的系根根人是户户的 语编编种14