为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

IEC611313标准

2019-11-23 106页 ppt 7MB 74阅读

用户头像 个人认证

用户5527213227

暂无简介

举报
IEC611313标准PLC培训班(第4讲)IEC61131-3编程语言标准介绍1.IEC61131-3PLC标准通用信息2.IEC61131-3PLC标准软件模型3.IEC61131-3PLC标准通信模式4.IEC61131-3PLC标准通用语言单元5.IEC61131-3PLC编程语言IEC61131-3PLC标准通用信息众所周知,在开发可编程序控制器(PLC)的早期阶段,由于没有一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国的公司喜欢用功能块图和语句表语言,这与他们早期将晶体管逻...
IEC611313标准
PLC培训班(第4讲)IEC61131-3编程语言介绍1.IEC61131-3PLC标准通用信息2.IEC61131-3PLC标准软件模型3.IEC61131-3PLC标准通信模式4.IEC61131-3PLC标准通用语言单元5.IEC61131-3PLC编程语言IEC61131-3PLC标准通用信息众所周知,在开发可编程序控制器(PLC)的早期阶段,由于没有一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国的公司喜欢用功能块图和语句表语言,这与他们早期将晶体管逻辑电路用来完成控制功能有关系,而美国的公司则喜欢用梯形图语言和控制鼓(ControlDrum)。梯形图语言又是从继电器控制逻辑延伸来的,至于法国公司除了用梯形图语言外,还用GRAFCET语言,这一语言又特别适用于完成顺序控制的功能。IEC61131-3PLC标准通用信息这种编程语言的不统一情况,给用户带来极大的不方便,使用不同公司产品,编制的程序完全不通用,用户被迫要去熟悉不同公司的编程语言,要额外的购置不同的编程工具,要想在一个大型的工程项目中使用多家公司的产品,几乎是不可能的事。早在上世纪80年代国际电工技术委员会IEC的第六工作组(IEC/TC65B/WG6)就开始着手制定统一的可编程序控制器标准。并于1993年正式颁布了这一标准,即IEC1131-3国际标准。IEC61131-3PLC标准通用信息我国根据IEC的标准制定的中华人民共和国可编程序控制器(ProgrammableController)的国家标准,标准号为GB/T15969.1-15969.4,该标准于1995年底发布,从1996年10月1日起开始实施。IEC61131-3PLC标准通用信息近几年由于自动化系统的发展,需要制定涵盖更广领域,不仅包括PLC,还有DCS,HMI以及现场总线等的内容。IEC的第七工作组(IEC/SC65B/WG7)制定了新的IEC61131-3标准,第七工作组包括来自不同的PLC制造商,软件公司和用户代表,这样制定的标准可以做为一个导则,为大多数PLC制造商所接受,IEC61131标准的5个部分总结当代PLC系统的要求,这些要求涉及PLC的硬件和编程系统。新标准包括了早已在PLC编程中使用的通用概念,同时也增加了新的编程方法。IEC61131-3PLC标准通用信息IEC61131-3本身只做为PLC的编程指导,而不是强制的规则,若PLC制造商希望符合这个标准,他们必须提供文件,说明其对标准的符合程度,他们还必须通过认证,确认那些部分符合标准,那些部分还不能满足标准。这个标准附有62个性能表,制造商必须填写这些表格并提供注释(例如;“完全满足”,不能“实现”,“以下部分能实现”…)。IEC61131-3PLC标准通用信息该标准还提供一个测试基础,允许制造商和客户都能评估,每一个编程系统符合IEC标准的接近程度。为了进一步证明兼容性,PLCopen国际组织,进一步定义兼容性等级的测试,而这些测试是由独立的机构进行的。IEC61131-3PLC标准软件模型IEC61131-3的软件模型描述了诸多概念,包括组态(configuration)。资源(resource).任务(task).程序(program).功能块(functionblock)以及功能(function)和它们之间的连接。IE任务C61131-3PLC标准软件模型(组态内部的资源)在软件等级中的最高等级是组态(configuration),它定义了单元结构,这一单元有可能是,例如:带多个CPU连接的PLC。一个组态包括一个或若干个资源(resources),它构成一个CPU资源的程序是由任务来控制,任务(task)表示一个可执行的程序单元。IEC61131-3PLC标准软件模型(组态内部的资源)�Configuration(�������Resource(�������Resource(�������Resource(�������Task(�������Task(�������Task(�������IEC61131-3PLC标准软件模型(任务)任务能周期地或由于一定的事件来处理,它们具有优先权级,优先权是定义在资源内部分配给CPU的时间段。有若干种类型的任务:a.周期任务,b.时间控制任务(时间间隔任务),c.事件控制任务(事件任务),e.中断任务任务说明是由任务名,它的优先权级,以及任务执行时的条件,条件可以是时间间隔,一个事件〈数字量输入的上升沿或全局变量的伪(false)/真(true)变化〉或一个中断,每一个任务能分配若干个程序,这些程序将由任务来激活。程序是按照所指示的顺序来处理的。IEC61131-3PLC标准软件模型(任务)a.带有条件的任务,在条件满足时将被执行,例如,当指示的时间间隔已经超出,或变量的地址“伪”改变成“真”。b.如果若干个任务都满足条件,则具有最高优先权级的任务将被执行。c.不允许将同一个优先权级分配给多个任务(优先权级0=任务禁止是例外)。d.在另一个任务正在被处理时,如果具有较高优先权级的任务的条件被满足,则较低优先权级的任务将被中断,只有另一任务已被完成后,再继续处理。IEC61131-3PLC标准软件模型(组织单元POUs)IEC61131-3定义程序(program),功能块(functionblock),功能(function)作为程序的组织单元或POUs(ProgramOrganizationunitsPOUs).POUs的性质允许用户程序广泛的模块化以及重复应用已经实现和经过测试的软件模块。为了程序模块能访问一个POU,至少需要有请求接口的说明,在进行说明之后,一个POU对所有其他POU是存在的。IEC61131-3PLC标准软件模型(组织单元POUs)�Task(����)�Program(����)�Program(����)�Program(����)�FunctionBlock(������)�Function(����)�Function(����)�FunctionBlock(������)�Function(����)�IEC61131-3PLC标准软件模型(程序)整个程序具有实时性质,程序能在CPU中运行,是由分配程序的任务来解决的,一个程序能分配给若干个任务,亦即这若干个程序的背景是在不同的实时性质下生成。程序中的一个是主程序被分配给PLC外部设备、全局变量和访问路径。IEC61131-3PLC标准软件模型(功能块)IEC61131-3应用标准功能和功能块来标准化典型PLC的功能。这一标准库是统一的,不依赖于制造商的PLC系统编程的重要基础。功能块(FBs)可以比作集成电路,它包括一定的控制功能,它们用来设置输入/输出和内部变量,功能块的状态要求被保留从一个周期到另一个周期,只有功能的输入和输出变量能被请求的程序寻址。一个功能块能被另一个功能块调用。IEC61131-3PLC标准软件模型(功能块背景)IEC61131-3提供功能块背景,一个背景是一种结构,在调用功能块时,它保留所有的内部输入和输出变量。一个程序它调用FB1三次,则具有三个FB1背景,每次调用一个。程序则会精确地计算请求而不会有边外效应(sideeffects)。请遵守,所有背景应用相同的程序码,亦即,程序码的改变对所有三个请求具有相同的效应。软件工具,通过自动说明对背景提供帮助,在FB调用时指定背景名,这一名词管理调用的数据结构。IEC61131-3PLC标准软件模型(功能)与功能块不同,功能没有内部变量的缓冲区。这样,功能不能使用全局变量访问功能的组织单元和直接说明地址变量。所有功能具有一个共同点,如果功能的输入参数是相同的,则它们将提供相同的输出参数。IEC61131-3PLC标准通信模式IEC61131-3的通信方式使用:a.访问路径(Accesspaths)b.全局变量(Globalvariables)c.参数调用(Callparameters)d.通信组织单元(IEC61131-5)(Communicationorganization)来说明组态单元的数据交换IEC61131-3PLC标准通信模式访问路径:定义访问路径允许组态单元相互之间和PLC系统实现通信。全局变量:全局变量能容易地在程序之间实现通信,它们能在组态,资源,程序内进行说明和应用。参数调用:在程序内部,数据交换是通过参数调用来实现的,参数,例如:输入和输出变量。参数调用定义了值转移的接口。通信组织单元:通信组织单元提供了通信服务,这些服务将在IEC61131的第5部分进行定义。IEC61131-3PLC标准通用语言单元IEC61131-3的通用语言单元是标识(Identifiers),关键词(Keywords),评论(Comments),文字(Literals),数据类型和变量(Datatypesandvariables)。以下对它们进行详细描述。IEC61131-3PLC标准通用语言单元(标识符)标识符用来寻址变量,功能,程序等,它们是一些单元且能支持程序的可读性。标识符是一个字母数字和下划线的序列,以一个字母或下划线开始。以下各项不可以做为标识符:a.空格和德文中的元音变音字母b.以同一方式说明两次c.用关键字做为标识符(参看4.2节)IEC61131-3PLC标准通用语言单元(关键字)关键字是清楚的字母组合,能做为单个的语法助记符单元关键字不能用做为标识符,IEC61131-3关键字举例:ABS,SIN,BOOL,FALSE,TRUE,FOR,NEXT,IF,THEN,VAR,GLOBAL,DATE,TIME,FUNCTIONIEC61131-3PLC标准通用语言单元(评论)评论或程序的一部分用来帮助理解程序且是重要的沟通方法。评论允许在任何位置以所有文本编辑的形式而且必须以特殊的字母序列(*and*)开始和结束。每一个网络段能对它的功能评论成一段文本。IEC61131-3PLC标准通用语言单元(文字)IEC61131-3说明文字做为字母,数字和时间的序列。字母序列:字母序列文字具有0或更多字母,而且以’反逗号’开始和结束(例如:’Charactersequence’)。数字:有两种不同类型的数字文字:整数和实数。整数能定义带有基数,十进制数能具有(十或-)的符号,实数能表示成指数形式。时间:有两种不同的时间文字(间隔时间和天/日期时间)IEC61131-3PLC标准通用语言单元(数据类型)数据类型:IEC61131-3定义了不同的标准数据类型,它们帮助编译,推导以及用户定义数据类型。每一个标识符被分配到一个数据类型,数据类型决定了多大的存储容量将被保留以及什么值相应于存储器的内容。IEC61131-3PLC标准通用语言单元(数据类型)标准数据类型a.波尔型(真值表真/伪)。b.字节,字,双字,带符号的整型数,不带符号的整型数,16位整形数,不带符号的16位整形数,双整形数,不带符号的双整形数(整形数据类型)。c.实数(浮点数据类型)。d.串数据(字符串)。e.时间(TIME),日时间(TIME-OF-DAY),日期(DATE)f.日期和时间(DATE_AND_TIME)(时间数据类型)。IEC61131-3PLC标准通用语言单元(数据类型)定义数据类型a.阵列(ARRAY)(1,2,3维场)。b.指针(POINTER)(包含用于实时程序的变量/功能块的寻址)。c.枚举(Enumeration)(枚举数,由很多字符串常数组成)。d.结构(STRUCT)e.参考(Reference)(用于对变量/常数/功能块生成一个替换名)IEC61131-3PLC标准通用语言单元(变量)IEC61131-3定义5种不同的变量类型a.全局变量b.本地变量c.输入变量d.输出变量e.输入和输出变量IEC61131-3PLC标准通用语言单元(变量)本地变量不能连接到外部,亦即它们只能在程序内部的一部分进行寻址,全局变量能被所有程序组织单元(POUs)寻址。输入,输出和输入/输出变量是与程序,功能和功能块有关的。它们能在被分配的POU内通过读或写来改变,在POU外部改变必须进行定义,(输入,输出和输入/输出)在原文件之间变量要加以说明,变量VAR变量结束END_VAR。通常每个变量在冷启动之后被初始化。默认的初始值为0或“伪”,可以通过另一变量符号“:=”在说明中指定用户定义的初始值。IEC61131-3PLC标准通用语言单元(变量属性)当说明一个变量时,能附加以下的属性:a.保留(RETAIN):这些变量在主要故障之后。仍保留同一值。当再启动时,程序将以这一保留的值继续进行。b.常数(CONSTANT):变量值不能改变c.AT:变量在储存器映像区中具有固定位置(固定地址)。Example举例:以一初始值说明一个输出变量。VAR-OUTPUTPar_out1:INT:10;(*输出参数1,具有初始值10*)END-VARIEC61131-3PLC标准通用语言单元(固定地址变量)在进行说明时,通过关键字变量能被分配一个物理存储器位置。地址用特殊字母序列来指示,字母序列的起始用%符号,跟随一个范围前缀和一个数据前缀(数据类型)表示数据长度。最后是数字序列表示存储器的位置。范围前缀:I(输入),Q(输出),M(标志,内部存储器范围)长度前缀:X(单个位),B(字节,8位),W(字,16位),D(双字,32位)IEC61131-3PLC标准通用语言单元(固定地址变量)Example举例:%QX1.0.2输出位2%IW1.0.1输入位1%MB7标志字节7%MW1标志字1%MD3标志双字3%MX1.2在标志字1中的第3标志位IEC61131-3PLC标准编程语言IEC61131-3标准是PLC编程语言的国际标准。根据这一标准,程序是由以下一些单元组成的:•结构(Structures)•组织单元(Organizationunits)•全局变量(Globalvariables)4.编程语言IEC61131-3国际标准的编程语言包括图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图、功能块图、顺序功能图。文本化编程语言包括:指令表和结构化文本。1.结构化文本语言(1)操作符。结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如逻辑运算符:AND、XOR、OR;算术运算符:<、>、≤、≥、=、≠、+、-、*、/等,Start:=OilpressANDStreamANDPumpV:=K*(-W*T)(2)赋值语句。结构化文本(ST)程序既支持很简单的赋值语句,如X:=Y,也支持很复杂的数组或结构赋值,如Profile[3]:=10.3+SQRT((Rate+2.0))Alarm.TimeOn:=RCT1.CDT(3)在程序中调用功能块。功能块在被调用以前,输入参数被分配为默认值;在调用后,输入参数值保留为最后一次调用的值。功能块调用的格式如下。FunctionBlockInstance(InputParameter1:=ValueExpression1,InputParameter2:=ValueExpression2…);(4)结构化文本(ST)程序中的条件语句。①IF…THEN…ELSE条件语句。条件语句的格式如下:IF<booleanexpression=true>THEN<statements1>ELSE<statements2>END_IF;(6)编程举例:用结构化文本(ST)程序编功能块。本程序是一用结构化文本(ST)程序编功能块的例子。该实例描述的是如何用功能块控制箱体中的流体,箱体可以通过阀门被注满和倒空,如图4.9所示,箱体的质量由一个称重单元监视。功能块通过比较两个输入值FullWeight和EmptyWeight以确定箱体是满的还是空的。该功能块提供了一个“Command”输入,该输入有四种状态,给箱体加水;保持不变;起动;清空箱体。实现该功能块算法的结构化文本(ST)程序如下:TYPE_T_STATE:(FULL,NOT_FULL,EMPTIED);(*箱体状态*)END_TYPE;TYPE_T_VALVE:(OPEN,SHUT);(*阀门状态*)END_TYPE;FUNCTION_BLOCKTankControl;(*功能块*)VAR_IN(*输入状态变量*)Command:SINT;Weight:REAL;FullWeight:REAL;EmptyWeight:REAL;END_VARVAR_OUT(*输出状态变量*)FillValve:T_VALVE:=SHUT;EmptyValve:T_VALVE:=SHUT;StirSpeed:REAL:=0.0;END_VARVAR(*过程变量*)Stat:=T_STATE:=EMPTYIED;END_VAR2)指令表(InstructionList,IL)IEC61131-3的指令表(IL)语言是一种低级语言,与汇编语言很相似(2)指令表操作符。IEC61131-3指令表包括四类操作符:一般操作符、比较操作符、跳转操作符和调用操作符。①一般操作符是指在程序中经常会用到的操作符。装入指令:LDN等。逻辑指令:ANDN(与指令)、ORN(或指令)、XORN(异或指令)等。算术指令:ADD(加指令)、SUB(减指令)、MUL(乘指令),DIV(除指令)、MOD(取模指令)等。②比较操作符:GT(大于)、GE(大于等于)、EQ(等于)、NE(不等于)、LE(小于等于)、LT(小于)等。③跳转及调用操作符:JMPC,N(跳转操作符)、CALLC,N(调用操作符)等。用结构化文本描述的两点间距离的为:Travel_distance:=SQRT[(x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)]用指令表编写的该功能的函数TRAVEL()如下:FUNCTIONTRAVEL:REALVAR_INPUTX1,X2,Y1,Y2:REAL (*点X,Y坐标*)TMax:REAL (*最大移动距离*)END_VARVARTemp:REAL; (*中间值*)END_VARLDY1SUBY2 (*计算Y2-Y1*)STTemp (*将Y2-Y1值存入Temp*)MULTemp (*计算(Y2-Y1)的平方*)ADDX1SUBX2 (*计算(X1-X2)*)STTemp (*将(X1-X2)值存入Temp*)MULTemp (*计算(X1-X2)的平方*)ADDTEMP (*将两平方值相加*)CALSQRT (*调平方根函数*)STTRAVEL (*设定计算结果*)GTTMax (*比TMax大吗?*)JMPCERR (*是,转到ERR执行*)SENO (*设定ENO*)ERR:RET (*错误返回,ENO不输出*)3)功能块图(FunctionBlockDiagram,FBD)功能块图(FBD)是一种图形化的控制编程语言,它通过调用函数和功能块来实现编程。4)梯形图(LadderDiagram,LD)梯形图(LD)是IEC61131-3三种图形化编程语言的一种,是使用最多的PLC编程语言,来源于美国,最初用于表示的继电器逻辑,简单易懂,很容易被电气人员掌握。后来随着PLC硬件技术发展,梯形图编程功能越来越强大,现在梯形图在DCS系统也得到广泛使用。 常见梯形图指令常开触点常闭触点取反立即常开正跳变负跳变立即常闭输出立即输出置位立即置位复位立即复位IEC61131-3PLC标准编程语言 在IEC61131-3标准中定义了5种PLC编程语言,它们是:•指令表IL(Instructionlist)•结构文本ST(Structuredtext)•顺序功能图SFC(Sequentialfunctionchart)•功能块图FBD(Functionblockdiagram)•梯形图LD(Ladderdiagram)对解决某一问题,最适用于,用上术语言中的某一种语言。SFC顺序功能图编程语言举例在这一讲中我们要介绍使用SFC编程语言的一个应用例子。德国西门子公司的PLC编程语言中有一种叫S7Graph的编程语言,实际上它就是一种标准SFC的编程语言。这里介绍的例子是用S7Graph对一台自动钻床的顺序工作循环,进行编程。对顺序控制这一类系统的编程,一般按照以下的流程进行:从下图中我们看到,首先要对实施的顺序控制项目建立一个顺序结构和对系统的信号进行定义,然后在西门子的PLCSIMATIC管理器中建立一个项目,和STEP7一样可以采用符号地址编程,也可以不用符号地址编程,如果用符号地址编程要求建立一个符号地址表。SFC顺序功能图编程语言举例对于顺序控制系统最适合的编程语言是用SFC语言,在本例中我们采用西门子公司的S7Graph语言(类似SFC语言),用这种语言按照工艺要求编程一个功能块FB1,S7Graph会自动生成FB1的背景数据块DB1。在STEP7程序的OB1组织块中调用FB1和DB1完成程序的组织。将程序下载到PLC中,用STEP7的调试手段调试和运行程序。 顺序控制系统编程和调试的工作流程自动钻床的系统配置自动钻床的系统配置上图是我们的例子中的自动钻床的系统配置图,它包含有以下一些元件: 钻床的钻头电动机,电动机给出运行/停止的反馈信号启动按钮和冷却液的选择开关冷却液泵,当冷却液达到一定压力时给出反馈信号夹紧工件用的夹紧汽缸,当夹紧工件达到一定压力时给出反馈信号钻床工作台升/降的升降汽缸,当钻床工作台到达高位或低位时由接近开关发出信号。自动钻床的系统配置自动钻床的初始状态定义如下:钻床电动机和冷却液泵处于停止状态钻床的工作台处在高位工件台上没有工件,夹紧汽缸处于松开状态自动钻床的工作时序图自动钻床的工作时序图自动钻床的时序可以划分为以下一些阶段:装入工件(手动)根据需要(取决于被加工的材料)选择是否要加冷却液按启动按钮,启动自动钻床工作(钻头电动机供电)夹紧工件达到所需要的夹紧压力启动冷却液泵(如果,选择了要使用冷却液)自动钻床的工作时序图工作台向下直到底部目标位置(钻削过程)在底部目标位置等待0.5秒(钻削过程)提升工作台到高位松开夹紧汽缸,停止钻头电动机和冷却液泵卸下工件(手动)。在完成顺序控制系统的编程之前,首先要建立起一个慨念,就是将自动钻床的工作分为若干个单步,慨念设计的基础是绘制出工艺流程图。自动钻床的工艺流程图自动钻床的工艺流程图上图是自动钻床的工艺流程图,图中将自动钻床的工作分划为若干个单步和若干个控制条件,这些条件是用来控制由一个单步转移到下一个单步的具体逻辑条件或逻辑表达式。从图4.18上我们可以看到:整个自动钻床的工艺过程分成S1到S7,7个单步,并且表示了步的序列,跟随S1步的是S2步,跟随S3步的是S4步或者是S7步对每一个步必须规定一个或若干个作用(例如,对S1步的作用是钻床处于准备状态,即:钻床电动机和冷却液泵处于停止状态,钻床的工作台处在高位,工件台上没有工件,夹紧汽缸处于松开状态。对S3步的作用是启动钻床钻头电动机等)自动钻床的工艺流程图 然后,每一个步确定其必须满足的转移条件,使得过程能够从一个步转移到下一个步。 图上的转移条件用T表示(例如,T1的条件是按压启动过程的启动按钮,T5的转移条件是工作台到达高位)。 有了上面这些准备工作后,我们就可以用S7Graph语言来编程我们的例子了。 S7Graph是STEP7软件的一个选择项,首先要安装STEP7软件,然后再安装S7Graph软件选件,安装完成后,S7Graph是在SIMATIC管理器下运行的。因此,下面的步骤就和我们在第三章中已经介绍的内容类似。 首先在SIMATIC管理器下建立一个新的项目,取名“S7GRAPH_Drill”,然后,插入一个S7300站和进行硬件组态,图4.19和图4.20分别表示项目的结构和硬件组态的情况。在SIMATIC管理器下的S7GRAPH_Drill的项目结构图在具体进行编程之前,首先我们要建立一个符号地址表。表4.17是这一项目的I/O定义和相应的的符号地址命名。在SIMATIC管理器下的S7GRAPH_Drill的硬件组态图自动钻床项目的I/O定义和符号地址表自动钻床项目的I/O定义和符号地址表自动钻床项目的I/O定义和符号地址表图4.21是表示在SIMATIC管理器中编辑的符号地址表。有了符号地址表,我们再介绍使用S7Graph编程语言,在SIMATIC管理器中编辑顺序控制器的功能块FB1(一般默认为FB1,也可以选择其它功能块号)和背景数据块DB1。在SIMATIC项目管理器的左边,树形结构中选择“Blocks”选择菜单命令InsertS7BlockFunctionBlock在“属性”(“Properties”)对话框中选择“S7-Graph”作为编程语言(只有在STEP7软件中安装了S7-Graph选件,才能选择到这种编程语言)。自动钻床项目的I/O定义和符号地址表完成上述步骤后,我们在“Blocks”文件夹中建立起FB1功能块(不过,这时的FB1是空的)。用鼠标左键双击FB1,打开FB1,首先见到的是用双框表示的初始步S1和转移T1,选择转移T1,并在屏幕左边的“顺序控制器菜单条”中选择图标,这时会自动插入步S2和转移T2,用同样的方法完成图4.18所表示的S1到S6的步结构以及T1到T6的转移图标用鼠标选择S3步,并在屏幕左边的“顺序控制器菜单条”中选择图标,打开一个分支路径,用来实现选择冷却液使的分支程序,在分支路径上出现转移T7自动钻床项目的I/O定义和符号地址表选择转移T7,并在屏幕左边的“顺序控制器菜单条”中选择图标,自动插入步S7和转移T8选择转移T8,并在屏幕左边的“顺序控制器菜单条”中选择图标,将分支路径封闭到步S4选择转移T6,并在屏幕左边的“顺序控制器菜单条”中选择图标,这是插入一个跳转命令,将转移T6跳转至S1步。通过以上步骤,完成了FB1的结构编程,结构编程是依照图4.18的自动钻床的工艺流程的要求来完成的。自动钻床项目的I/O定义和符号地址表至此,我们尚未完成整个FB1的编程,我们还要对各个步进行“步作用”的编程和各个转移的“转移条件”编程。选择菜单命令InsertAction,结果在所选择步的右边,会出现图标,这是一个空的作用行,用鼠标点击这一作用框,作用框的左边部分,用来输入作用指令,右边部分是作用指令的地址场在S7-Graph编程语言中有4个作用指令,一般作用指令的地址场,都是直接指向PLC的输出场地址,这4个作用指令是:自动钻床项目的I/O定义和符号地址表S指令,S指令是对输出场地址进行置位(输出为“1”信号),而且这一指令不仅对“激活”的步有效,而且当步转移到下一个“激活”步时仍然有效,一直到在步作用中出现R指令,才将指令的输出场置成“0”R指令,R指令是用来复位输出场的N指令,N指令也是对输出场地址进行置位的,但是和S指令不同,N指令只在“激活”的步期间是有效的,当转移到下一个步时,N指令自动将输出场地址复位D指令,D指令是延时指令,除了输出场地址外,还有延时时间域,D指令的作用是指从自动钻床项目的I/O定义和符号地址表“步激活”开始,经过在延时时间域中定义的时间之后,才对输出场地址置位,而且在步转移之后,输出场地址自动复位(类似N指令,但是在执行之前有一段时间延时)应用上述4种作用指令,根据自动钻床的工艺要求,对FB1的S1至S7的各个步,分别进行作用编程,其结果见图4.23,自动钻床应用S7-Graph(SFC)语言编程FB1功能块的程序图。除了要对FB1功能块的各个步作用进行编程外,现在还需要对步的转移条件进行编程,这一编程可以选择用梯形图(LD)语言来进行。自动钻床项目的I/O定义和符号地址表对转移条件进行编程时可以应用以下梯形图指令:插入常开触点,其地址场可以在符号地址表中选择插入常闭触点,其地址场可以在符号地址表中选择插入比较器,比较器可以选择大于、小于、等于、大于等于、小于等于,比较器有两个输入端,输入可以是被激活步的延续时间或者是应该定义的时间值。在本例子中的T6转移条件,我们让S6步的延续时间和500ms进行比较,即使前面的转移条件都满足了,在这一步上也必须等待500ms后才允许转移。在SIMATIC管理器中使用S7-Graph编程语言对FB1功能块进行编程自动钻床应用S7-Graph(SFC)语言编程FB1功能块的程序图OB1的编程过程最后我们来介绍一下顺序控制器的调试问题。首先,我们要把离线编程的组态配置、程序方块(包括OB1、FB1和DB1等)和系统数据下载到PLC中。如果,没有错误,则在PLC从“Stop”状态转换为“Run”状态时,PLC不会出现报警,绿色的“Run”变成常亮。如果,在下载过程中出现错误,红色指示灯闪亮,这时应该根据CPU的诊断缓冲区中的提示,检查造成故障的原因,并将其排除。从图4.24可以看到,在调用FB1和DB1时,有许多参数需要输入,这和FB1的工作方式有关,调用FB1有最小工作方式、标准工作方式和最大工作方式三种:在SIMATIC管理器中使用S7-Graph编程语言对FB1功能块进行编程最小工作方式,FB1只有三个参数,见上图。最小工作方式能启动顺序控制器自动运行。没有附加的控制和监控功能。参数“INIT_SQ”是用来对顺序控制器初始化,加电后,顺序控制器处在初始步(S1)位置。按最小工作方式调用FB1时的参数按标准工作方式调用FB1时的参数按标准工作方式调用FB1时的参数标准工作方式,在这种工作方式下,FB1具有一组标准参数见下图。标准工作方式对顺序控制器的调试是非常有用的。因为,在实际的应用中,实际的项目可能比我们所举的例子要复杂得多,因此,很难保证程序编制完成后,一点错误也没有,有一些错误是语法上的错误,在编程过程中根据提示(一般出现语法错误时会有红色的报警提示),通过Help的帮助提示,来纠正出现的语法错误。即使,语法上已经通过,没有错误了,在实际执行时还会有考虑不周,造成动作的错误或者互锁的条件有问题,或者时间关系没有配合好等等,这些就要结合现场的情况,对顺序控制器进行调试,修改程序,消除出现的各种问题,最后使顺序控制器满足现场工艺的要求。按标准工作方式调用FB1时的参数在标准工作方式下,可以进一步选择4种调试方式:自动方式,这一工作方式是和最小工作方式的情况一样,当“激活”步随后的转移条件满足时,下一个步就被“激活”。手动方式,和自动方式不一样,当转移条件满足时不会自动转到下一步。选择那一个步是由手动实现的。步进方式,步进方式有一点类似于自动方式,但是需要有一个附加的“步使能”条件,不仅步的转移条件需要满足,而且在FBI参数的T_PUSH输入端,附加一个上升沿信号(“步使能”条件),控制过程才能转移到下一个步。按标准工作方式调用FB1时的参数自动或单步方式,选择这种方式时,只要“步转移条件”或“步使能条件”(在FBI参数的T_PUSH输入端,附加一个上升沿信号)两个条件中有一个条件满足,控制过程就会转移到下一步。在标准工作方式下的4种方式的选择,是通过FB1的以下参数实现的:SW_AUTO(选择自动方式)SW_MAN(选择手动方式)SW_TAP(选择步进方式)SW_TOP(选择自动或单步方式)在上述参数的输入端,施加一个上升沿信号,就能选中相应的工作方式。按最大工作方式调用FB1时的参数最大工作方式,在这种工作方式下,FB1具有全部参数见右图。按最大工作方式调用FB1时的参数在最大工作方式下,除了可以选择标准工作方式时的自动、手动、步进和自动或单步的调试方式外,还有附加的控制和监控功能,这里不详细介绍了。在调试过程中西门子公司还提供一种“S7-PLCSIM仿真软件”的工具,在STEP7软件中安装这一仿真软件后,不必将程序下载到PLC的实际硬件中,而只要下载到仿真软件中,就可以对顺序控制器进行调试了,这是一个非常有用的工具。 按最大工作方式调用FB1时的参数按最大工作方式调用FB1时的参数图4.28是使用“S7-PLCSIM仿真软件”对顺序控制器进行调试的画面,图的底部是仿真器部分,它有CPU、强制输入的输入场(图上是IB0:即I0.0-I0.7),输出场(图上是QB0:即Q0.0-Q0.7)和位存储器场(图上是MB0:即M0.0-M0.7)。从图上可以看到CPU处在RUN-P状态,绿色指示灯RUN常亮,说明仿真器的CPU工作正常,点击工具条上的图标,仿真器进入监控状态,这时仿真器上方的绿色字条Automatic闪亮,从顺序控制器上监控到的是S2步(绿色高亮),S2步的步作用是S“Clamp_workp”(工件气缸夹紧),从仿真按最大工作方式调用FB1时的参数器的输出场,能看到Q0.4有输出。从顺序控制器上监控到的转移是T2,转移条件是“Cl_press_ok”(工件夹紧压力到达时的反馈信号),如果我们在仿真器的输入场强制I0.4有输入,这时顺序控制器就会转移到下一步S3。通过仿真器对顺序控制器进行调试是非常有效的,这样在实验室内就能完成现场调试的大部分工作,可以节省现场的调试费用,缩短现场的调试时间。通过上面的例子,我们介绍了SFC编程语言的实际应用,SFC是61131-3标准中的一种,现在很多PLC的制造商,都开发和提供SFC的编程语言工具。PLC和现场总线技术在长江三峡大坝泄洪工程中的应用PLC和现场总线技术在长江三峡大坝泄洪工程中的应用三峡工程主要由大坝,水电站,通航建筑物等三大部分组成。泄洪坝段位于大坝中部,水电站厂房位于泄洪坝段两侧。永久通航建筑物均布置于左岸(面对长江下游,左边为左岸)。大坝为混凝土重力坝,坝顶全长约2309米,坝顶高程185米。水电站分设左岸和右岸两组厂房,分别安装14台和12台700兆瓦水轮发电机组,总装机容量为1820万千瓦,年平均发电量846.8亿度。泄洪坝段有47座泄洪闸门。PLC和现场总线技术在长江三峡大坝泄洪工程中的应用泄洪坝段位于大坝中部(长483米),在泄洪坝段底部,均匀分布有22孔导流底孔弧形门(参看文后的名词解释),底坎高度为56米或57米,弧门宽度为6米,高度为8.5米,22孔弧门分别由22台液压启闭机启闭(参看文后的名词解释)。这22台液压启闭机分别由6个液压站驱动(参看文后的名词解释),其中1号站和6号站各带3台启闭机,2号站至5号站各带4台启闭机。长江三峡大坝泄洪工程工程组成在导流底孔上部均匀分布(中轴线与底孔中轴线错开)23孔泄洪深孔,深孔底坎高度为90米,弧门宽7米,高9米,23台深孔弧门分别由23台液压启闭机启闭。这23台液压启闭机分别由6个液压站驱动,其中1号站带3台启闭机,2号至6号站各带4台启闭机。在泄洪坝段上部有左、右排漂孔弧形门,弧门宽10米,高12米,左门在左导墙坝段,右门在右纵向围堰坝段,每个弧门采用双吊点由2台液压启闭机双缸同步提升。排漂孔有两个液压站,每站驱动一扇弧门。长江三峡大坝泄洪工程工程组成用于三峡泄洪坝段的49台液压启闭机,个个都是庞然大物,其高度相当于一栋8层楼房那么高,启闭机油缸的外径要两个大人合抱才能抱住,它能产生400吨的启门力,可以想像,要控制这49台液压启闭机,是一个相当复杂的工程项目。世界上泄水闸门主要有平板门与弧形门两种金属结构,三峡泄洪坝段的47座闸门全部采用弧形门结构。从设计制造和闸门的安装考虑,弧形门要比平板门复杂得多,但弧形门更适合于动水启闭闸门。长江三峡大坝泄洪工程工程组成三峡工程中的导流底孔和泄洪深孔,底坎高度为56米(或57米)和90米,在二期工程结束后,三期工程竣工之前,导流底孔是主要的泄洪手段,特别是二期工程的最后阶段,要对右岸的导流明渠截流(真正的大江截流)和修建右岸上,下游围堰,这时导流底孔将全部打开,分流,降低截流时导流明渠的流量,在三期工程建设期间,水库的正常蓄水位达到135米,这时导流底孔弧门上的水压有8公斤/cm2(将近80米高的水柱),弧门上承受的最大正压力将近4800吨,这样大的水压力采用平板门动水启、闭是非常困难的,而且启、闭门时的水动力情况非常复杂,因此,在三峡泄洪坝段的底孔和深孔,全部采用当前世界上比较先进的弧型门结构。长江三峡大坝泄洪工程工程组成此外,底孔弧门要求有3500仟牛(350吨)的启门力,深孔和排漂孔弧门的启门力各为4000仟牛,底孔和深孔弧门还要求有1000仟牛的闭门力。这些要求只有用液压启闭机才能实现,用传统的卷扬式启闭机是无法产生闭门力的。长江三峡大坝泄洪工程工程组成此外,底孔弧门要求有3500仟牛(350吨)的启门力,深孔和排漂孔弧门的启门力各为4000仟牛,底孔和深孔弧门还要求有1000仟牛的闭门力。这些要求只有用液压启闭机才能实现,用传统的卷扬式启闭机是无法产生闭门力的。采用液压启闭机有很多优点,一是便于控制,二是控制安全、工作平稳、反应速度快,三是结构紧凑,四是效率高。由于液压启闭机的这些优点,因此,三峡工程泄洪坝段的47座弧门以及发电机进水口的14座快速门和三个排砂孔,全部采用先进的液压启闭机方案。长江三峡大坝泄洪工程工程组成在电气控制系统上,三峡泄洪工程更是采用了当今世界上的很多新技术,例如,采用高度可靠的可编程序控制器(PLC)系统和最新发展的工业控制现场总线的控制方案以及计算机网络监控系统。泄洪坝段的47座泄洪闸门的控制系统,全部采用德国西门子公司的S7-400PLC进行控制,一共有14个S7-400PLC的本地站(分别布置在14个液压泵房内)和45个ET-200M远程站(分别布置在45个启闭机房内),构成一个网络。其中6个是导流底孔本地站,每站带3台或4个远程站;6个是泄洪深孔本地站,每站带3个或4个远程站;另外2台是排漂孔本地站,不带远程站。发电厂进水口快速门和排砂孔也全部配置S7-400PLC,共17个PLC站。下图为泄洪深孔的一个本地站(现场总线主站)带4个远程站(现场总线从站)的系统配置图(图7.3.1)。6个泄洪深孔电气控制站中一个控制站的系统配置图6个泄洪深孔电气控制站中一个控制站的系统配置图6个泄洪深孔电气控制站中一个控制站的系统配置图从图7.3.1中,可以看到S7-400PLC作为PROFIBUS-DP的主站,它是由UR1-18槽机架,2块PS407冗余电源,CPU412-2DP,3块SM42132点DI,3块SM42232点DO,1块SM43116点AI。通过PROFIBUS-DP网带4个ET-200MDP从站(远程站),每个从站(远程站)由S7-300安装导轨,PS-307电源IM153-2DP接口板,SM32316DI/16DO模板2块,SM338SSI同步串形通信接口模板组成。6个泄洪深孔电气控制站中一个控制站的系统配置图在图7.3.1中本地站上配置有OP37操作面板,各DP从站配置有OP7操作面板。在操作面板上全采用汉字提示,操作人员通过操作面板能非常方便地启闭泄洪闸门。对泄洪闸门来说,检测闸门开度是一个非常重要的参数,对于排漂孔来说,这一参数要直接参与双缸同步控制,对导流底孔和泄洪深孔,为做到闸门任意开度的启闭控制,以及精确设定闸门闭终位,避免出现活塞杆受压失稳的危险。均需要读闸门开度(或油缸行程)参数。6个泄洪深孔电气控制站中一个控制站的系统配置图三峡水利工程对此提出了比较高的要求,最后选择了核心部件(绝对式多圈编码器)是从德国进口的闸门开度检测装置,在远程站上配置的SM338SSI同步串形通信接口模板是专门用来读闸门开度检测装置的专用模板(见7.1.1.3节,应用SM338模板读绝对式编码器开度仪编程实例)。正是由于采用了这种先进的,高精度的闸门开度传感器,使得操作人员无论在启闭机房(远程站)、液压泵房(本地站)和电站中央控制室都能正确地监测到当前闸门的开启高度(闸门开度)值,达到了非常满意的效果。控制要求和控制流程图泄洪坝段的导流底孔和泄洪深孔,其控制要求是相同的主要有: 由一个液压泵站,带3个或4个启闭机,每次只启动一台启闭机,由操作人员设定; 启闭机的操作可以选择由电站中央控制室,液压泵房和启闭机房进行,要保证在任何情况下都能切换到启闭机房进行操作(启闭机房优先),选定一种操作后,其它操作闭锁; 通过计算机或操作面板,任意设定目标开度(开门位或闭门位),自动实现任意开度启闭;控制要求和控制流程图 在弧门闭终位和全开位前有多重保护,防止活塞杆受压失稳或有杆腔过压; 在液压系统和电气系统设置油压、油温、液位、过滤器、电机等的参数监视和越限报警、仃机等功能; 在弧门开启后,如48小时内弧门开度有大于200mm的沉降,将自动启动控制系统,提升弧门恢复至原位; 除了PLC控制系统外,增设常规手动继电器操作回路,作应急备用用; 控制方式有自动/手动/调试三种选择,相互联锁。图7.3.2是泄洪深孔一个液压和电气控制站控制4个启闭机的控制流程图。三峡大坝泄洪深孔控制流程图三峡大坝泄洪深孔控制流程图三峡大坝泄洪深孔控制流程图三峡大坝泄洪深孔控制流程图三峡大坝泄洪深孔控制流程图
/
本文档为【IEC611313标准】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索