IEC61131-3-标准课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《IEC61131-3-标准课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IEC61131 标准 课件
- 资源描述:
-
1、PLC培训班(第4讲)IEC 61131-3 编程语言标准介绍1. IEC 61131-3 PLC 标准通用信息2. 2. IEC 61131-3 PLC 标准软件模型3. 3. IEC 61131-3 PLC 标准通信模式 4. IEC 61131-3 PLC 标准通用语言单元 5. 5. IEC 61131-3 PLC 编程语言IEC 61131-3 PLC 标准通用信息 众所周知,在开发可编程序控制器(PLC)的早期阶段,由于没有一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国的公司喜欢用功能块图和语句表语言,这与他们早期将晶
2、体管逻辑电路用来完成控制功能有关系,而美国的公司则喜欢用梯形图语言和控制鼓(Control Drum)。梯形图语言又是从继电器控制逻辑延伸来的,至于法国公司除了用梯形图语言外,还用GRAFCET语言,这一语言又特别适用于完成顺序控制的功能。 IEC 61131-3 PLC 标准通用信息 这种编程语言的不统一情况,给用户带来极大的不方便,使用不同公司产品,编制的程序完全不通用,用户被迫要去熟悉不同公司的编程语言,要额外的购置不同的编程工具,要想在一个大型的工程项目中使用多家公司的产品,几乎是不可能的事。 早在上世纪80年代国际电工技术委员会IEC的第六工作组(IEC/TC65B/WG6)就开始着
3、手制定统一的可编程序控制器标准。并于1993年正式颁布了这一标准,即IEC 11313国际标准。IEC 61131-3 PLC 标准通用信息 我国根据 IEC IEC 的标准制定的中华人民共和国可编程序控制器(Programmable Controller)的国家标准,标准号为GB/T15969.1GB/T15969.115969.4 15969.4 ,该标准于19951995年底发布,从19961996年1010月1 1 日起开始实施。 IEC 61131-3 PLC 标准通用信息 近几年由于自动化系统的发展,需要制定涵盖更广领域,不仅包括PLC,还有DCS,HMI以及现场总线等的内容。IE
4、C的第七工作组(IEC/SC65B/WG7)制定了新的IEC611313标准,第七工作组包括来自不同的PLC制造商,软件公司和用户代表,这样制定的标准可以做为一个导则,为大多数PLC制造商所接受,IEC 61131标准的5 5个部分总结当代PLC系统的要求,这些要求涉及PLC的硬件和编程系统。新标准包括了早已在PLC编程中使用的通用概念,同时也增加了新的编程方法。IEC 61131-3 PLC 标准通用信息 IEC 61131 IEC 611313 3本身只做为PLCPLC的编程指导,而不是强制的规则,若PLCPLC制造商希望符合这个标准,他们必须提供文件,说明其对标准的符合程度,他们还必须通
5、过认证,确认那些部分符合标准,那些部分还不能满足标准。 这个标准附有6262个性能表,制造商必须填写这些表格并提供注释(例如;“完全满足”,不能“实现”,“以下部分能实现”)。 该标准还提供一个测试基础,允许制造商和客户都能评估,每一个编程系统符合IEC标准的接近程度。为了进一步证明兼容性,PLCopen国际组织,进一步定义兼容性等级的测试,而这些测试是由独立的机构进行的。IEC 61131-3 PLC 标准软件模型 IEC 61131 IEC 611313 3的软件模型描述了诸多概念,包括组态(configurationconfiguration)。资源(resourceresource).
6、 .任务(task).(task).程序(program).(program).功能块(function blockfunction block)以及功能(functionfunction)和它们之间的连接。IE 任务 C 61131-3 PLC 标准软件模型(组态内部的资源) 在软件等级中的最高等级是组态(configuration),它定义了单元结构,这一单元有可能是,例如:带多个CPU连接的PLC。 一个组态包括一个或若干个资源(resources),它构成一个CPU 资源的程序是由任务来控制,任务(task)表示一个可执行的程序单元。IEC 61131-3 PLC 标准软件模型 (组态
7、内部的资源)Configuration (组态)组态)Resource (资源资源)Resource (资源资源)Resource (资源资源)Task(任务)任务)Task(任务)任务)Task(任务)任务)IEC 61131-3 PLC 标准软件模型( 任务 ) 任务能周期地或由于一定的事件来处理,它们具有优先权级,优先权是定义在资源内部分配给CPUCPU的时间段。有若干种类型的任务:a. a. 周期任务,b. b. 时间控制任务(时间间隔任务),c. c. 事件控制任务( (事件任务) ),e. e. 中断任务 任务说明是由任务名,它的优先权级,以及任务执行时的条件,条件可以是时间间隔,
8、一个事件数字量输入的上升沿或全局变量的伪(false)/(false)/真(true)(true)变化或一个中断,每一个任务能分配若干个程序,这些程序将由任务来激活。程序是按照所指示的顺序来处理的。IEC 61131-3 PLC 标准软件模型( 任务 )a. 带有条件的任务,在条件满足时将被执行,例如,当指示的时间间隔已经超出,或变量的地址“伪”改变成“真”。b. 如果若干个任务都满足条件,则具有最高优先权级的任务将被执行。c. 不允许将同一个优先权级分配给多个任务(优先权级0任务禁止是例外)。d. 在另一个任务正在被处理时,如果具有较高优先权级的任务的条件被满足,则较低优先权级的任务将被中断
9、,只有另一任务已被完成后,再继续处理。 IEC 61131-3 PLC 标准软件模型(组织单元POUs) IEC 61131 IEC 611313 3定义程序(program),(program),功能块(function block),(function block),功能(function)(function)作为程序的组织单元或POUs(Program Organization units POUs(Program Organization units POUs).POUs). POUs POUs的性质允许用户程序广泛的模块化以及重复应用已经实现和经过测试的软件模块。为了程序模块能访问一
10、个POUPOU,至少需要有请求接口的说明,在进行说明之后,一个POUPOU对所有其他POUPOU是存在的。IEC 61131-3 PLC 标准软件模型(组织单元POUs)Function Block(功能块功能块) )Function (功能功能) )Task (任务任务) )Program (程序程序) )Program (程序程序) )Program (程序程序) )Function Block(功能块功能块) )Function (功能功能) )Function (功能功能) )IEC 61131-3 PLC 标准软件模型(程序) 整个程序具有实时性质,程序能在CPUCPU中运行,是由分
11、配程序的任务来解决的,一个程序能分配给若干个任务,亦即这若干个程序的背景是在不同的实时性质下生成。程序中的一个是主程序被分配给PLCPLC外部设备、全局变量和访问路径。IEC 61131-3 PLC 标准软件模型(功能块) IEC 61131 IEC 611313 3应用标准功能和功能块来标准化典型PLCPLC的功能。这一标准库是统一的,不依赖于制造商的PLCPLC系统编程的重要基础。 功能块(FBsFBs)可以比作集成电路,它包括一定的控制功能,它们用来设置输入/ /输出和内部变量,功能块的状态要求被保留从一个周期到另一个周期,只有功能的输入和输出变量能被请求的程序寻址。一个功能块能被另一个
12、功能块调用。IEC 61131-3 PLC 标准软件模型(功能块背景) IEC 611313提供功能块背景,一个背景是一种结构,在调用功能块时,它保留所有的内部输入和输出变量。 一个程序它调用FB1FB1三次,则具有三个FB1FB1背景,每次调用一个。程序则会精确地计算请求而不会有边外效应(side effectsside effects)。请遵守,所有背景应用相同的程序码,亦即,程序码的改变对所有三个请求具有相同的效应。 软件工具,通过自动说明对背景提供帮助,在FBFB调用时指定背景名,这一名词管理调用的数据结构。IEC 61131-3 PLC 标准软件模型(功能) 与功能块不同,功能没有内
13、部变量的缓冲区。这样,功能不能使用全局变量访问功能的组织单元和直接说明地址变量。所有功能具有一个共同点,如果功能的输入参数是相同的,则它们将提供相同的输出参数。IEC 61131-3 PLC 标准通信模式IEC 61131IEC 611313 3的通信方式使用:a.a.访问路径(Access pathsAccess paths)b.b.全局变量(Global variablesGlobal variables)c.c.参数调用 (Call parameters)(Call parameters)d.d.通信组织单元(IEC 61131IEC 611315 5)(Communication or
14、ganizationCommunication organization)来说明组态单元的数据交换IEC 61131-3 PLC 标准通信模式 访问路径:定义访问路径允许组态单元相互之间和PLCPLC系统实现通信。 全局变量 :全局变量能容易地在程序之间实现通信,它们能在组态,资源,程序内进行说明和应用。 参数调用: 在程序内部,数据交换是通过参数调用来实现的,参数, ,例如:输入和输出变量。参数调用定义了值转移的接口。 通信组织单元:通信组织单元提供了通信服务,这些服务将在IEC 61131IEC 61131的第5 5 部分进行定义。IEC 61131-3 PLC 标准通用语言单元 IEC
15、61131 IEC 611313 3的通用语言单元是标识(IdentifiersIdentifiers),关键词(KeywordsKeywords),评论(CommentsComments),文字(Literals )(Literals ),数据类型和变 量(Data types and variablesData types and variables)。以下对它们进行详细描述。IEC 61131-3 PLC 标准通用语言单元( 标识符) 标识符用来寻址变量,功能,程序等,它们是一些单元且能支持程序的可读性。 标识符是一个字母数字和下划线的序列,以一个字母或下划线开始。 以下各项不可以做为标
16、识符: a.a.空格和德文中的元音变音字母 b.b.以同一方式说明两次 c.c.用关键字做为标识符(参看4.24.2节) 关键字是清楚的字母组合,能做为单个的语法助记符单元关键字不能用做为标识符,IEC 611313关键字举例:ABS, SIN, BOOL, FALSE, TRUE, FOR, NEXT, IF, THEN, VAR, GLOBAL, DATE, TIME, FUNCTION 评论或程序的一部分用来帮助理解程序且是重要的沟通方法。评论允许在任何位置以所有文本编辑的形式而且必须以特殊的字母序列(*and*)开始和结束。每一个网络段能对它的功能评论成一段文本。 IEC 611313
17、说明文字做为字母,数字和时间的序列。字母序列:字母序列文字具有0或更多字母,而且以反逗号开始和结束(例如:Character sequence )。数字:有两种不同类型的数字文字:整数和实数。整数能定义带有基数,十进制数能具有(十或)的符号,实数能表示成指数形式。时间:有两种不同的时间文字(间隔时间和天/日期时间)数据类型数据类型: IEC 611313定义了不同的标准数据类型,它们帮助编译,推导以及用户定义数据类型。每一个标识符被分配到一个数据类型,数据类型决定了多大的存储容量将被保留以及什么值相应于存储器的内容。数据类型标准数据类型a.波尔型(真值表 真/伪)。b.字节,字,双字,带符号的
18、整型数,不带符号的整型数,16位整形数,不带符号的16位整形数,双整形数,不带符号的双整形数(整形数据类型)。c.实数(浮点数据类型)。d.串数据(字符串)。e.时间(TIME),日时间(TIMEOFDAY),日期(DATE)f.日期和时间(DATE_AND_TIME) (时间数据类型)。数据类型定义数据类型 a.阵列(ARRAY)(1,2,3维场)。b.指针(POINTER)(包含用于实时程序的变量/功能块的寻址)。 c.枚举(Enumeration)(枚举数,由很多字符串常数组成)。d.结构(STRUCT)e.参考 (Reference)(用于对变量/常数/功能块生成一个替换名)变量IEC
19、 611313定义5种不同的变量类型a.全局变量b.本地变量c.输入变量d.输出变量e.输入和输出变量变量本地变量不能连接到外部,亦即它们只能在程序内部的一部分进行寻址,全局变量能被所有程序组织单元(POUs)寻址。输入,输出和输入/输出变量是与程序,功能和功能块有关的。它们能在被分配的POU内通过读或写来改变,在POU外部改变必须进行定义,(输入,输出和输入/输出) 在原文件之间变量要加以说明,变量VAR变量结束END_VAR。通常每个变量在冷启动之后被初始化。默认的初始值为0或“伪”,可以通过另一变量符号“ := ”在说明中指定用户定义的初始值。变量属性当说明一个变量时,能附加以下的属性
20、:a.保留(RETAIN): 这些变量在主要故障之后。仍保留同一值。当再启动时,程序将以这一保留的值继续进行。b.常数(CONSTANT):变量值不能改变c.AT:变量在储存器映像区中具有固定位置(固定地址)。Example 举例:以一初始值说明一个输出变量。VAR-OUTPUT Par_out1 : INT :10;(* 输出参数1,具有初始值10 *)END-VAR 固定地址变量 在进行说明时,通过关键字变量能被分配一个物理存储器位置。 地址用特殊字母序列来指示,字母序列的起始用符号,跟随一个范围前缀和一个数据前缀(数据类型)表示数据长度。最后是数字序列表示存储器的位置。范围前缀:I(输入
21、),Q(输出),M(标志,内部存储器范围)长度前缀:X(单个位), B(字节,8位), W(字,16位), D(双字,32位)固定地址变量 Example 举例:QX1.0.2 输出位2IW1.0.1 输入位1MB7 标志字节7MW1 标志字1MD3 标志双字3MX1.2 在标志字1中的第3标志位IEC 61131-3 标准是PLC 编程语言的国际标准。根据这一标准,程序是由以下一些单元组成的: 结构 (Structures) 组织单元 (Organization units) 全局变量 (Global variables)4. 编程语言 IEC 61131-3国际标准的编程语言包括图形化编程
22、语言和文本化编程语言。 图形化编程语言包括:梯形图、功能块图、顺序功能图。 文本化编程语言包括:指令表和结构化文本。 1.结构化文本语言 (1) 操作符。结构化文本(ST)定义了一系列操作符用于实现算术和逻辑运算,如 逻辑运算符:AND、XOR、OR; 算术运算符:、 、 =、 +、 -、*、/等, Start:= Oilpress AND Stream AND Pump V:= K*(-W*T) (2) 赋值语句。结构化文本(ST)程序既支持很简单的赋值语句,如X:=Y,也支持很复杂的数组或结构赋值,如 Profile3:=10.3+SQRT(Rate+2.0) Alarm.TimeOn:=
23、RCT1.CDT (3) 在程序中调用功能块。功能块在被调用以前,输入参数被分配为默认值;在调用后,输入参数值保留为最后一次调用的值。功能块调用的格式如下。 Function Block Instance( Input Parameter1:=Value Expression1, Input Parameter2:=Value Expression2 ); (4) 结构化文本(ST)程序中的条件语句。 IF THENELSE条件语句。条件语句的格式如下: IF THEN ELSE END_IF; 关键字说明示例说明:=赋值d := 10将右边的一个供计算的数值赋值给左边的标识符调用 FBFB
24、Name(Par1 := 10,Par2 := 20);调用另一个类型为 FB 的 POU,包括其参数RETURN返回RETURN脱离当前的 POU 和返回到调用 POUIF选择IF d 1 DON := n / 2;END_WHILE一个多循环语句块,具有在开始端的结束条件REPEAT跌代 (3)一个多循环语句块,具有在结束端的结束条件EXIT循环的结束EXIT;一个迭代语句的结束条件。;空白语句; (6) 编程举例:用结构化文本(ST)程序编功能块。本程序是一用结构化文本(ST)程序编功能块的例子。该实例描述的是如何用功能块控制箱体中的流体,箱体可以通过阀门被注满和倒空,如图4.9所示,箱
25、体的质量由一个称重单元监视。功能块通过比较两个输入值Full Weight和Empty Weight以确定箱体是满的还是空的。 该功能块提供了一个“Command”输入,该输入有四种状态,给箱体加水;保持不变;起动;清空箱体。实现该功能块算法的结构化文本(ST)程序如下: TYPE_T_STATE:(FULL,NOT_FULL,EMPTIED); (*箱体状态*) END_TYPE; TYPE_T_VALVE:(OPEN,SHUT); (*阀门状态*) END_TYPE; FUNCTION_BLOCK TankControl; (*功能块*) VAR_IN (*输入状态变量*) Command
展开阅读全文