[精选]IEC61131-3PLC编程语言标准介绍lhc.pptx
《[精选]IEC61131-3PLC编程语言标准介绍lhc.pptx》由会员分享,可在线阅读,更多相关《[精选]IEC61131-3PLC编程语言标准介绍lhc.pptx(95页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、热 烈 欢 迎参加PLC技术培训班的全体学员!北京精诚智合教学科技有限公司5/23/20231PLC培训班(第4讲)IEC61131-3编程语言标准介绍1.IEC61131-3PLC标准通用信息2.IEC61131-3PLC标准软件模型3.IEC61131-3PLC标准通信模式 4.IEC61131-3PLC标准通用语言单元 5.IEC61131-3PLC编程语言5/23/20232IEC 61131-3 PLC 标准通用信息众所周知,在开发可编程序控制器(PLC)的早期阶段,由于没有一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国
2、的公司喜欢用功能块图和语句表语言,这与他们早期将晶体管逻辑电路用来完成控制功能有关系,而美国的公司则喜欢用梯形图语言和控制鼓(ControlDrum)。梯形图语言又是从继电器控制逻辑延伸来的,至于法国公司除了用梯形图语言外,还用GRAFCET语言,这一语言又特别适用于完成顺序控制的功能。5/23/20233IEC 61131-3 PLC 标准通用信息这种编程语言的不统一情况,给用户带来极大的不方便,使用不同公司产品,编制的程序完全不通用,用户被迫要去熟悉不同公司的编程语言,要额外的购置不同的编程工具,要想在一个大型的工程项目中使用多家公司的产品,几乎是不可能的事。早在上世纪80年代国际电工技术
3、委员会IEC的第六工作组(IEC/TC65B/WG6)就开始着手制定统一的可编程序控制器标准。并于1993年正式颁布了这一标准,即IEC11313国际标准。5/23/20234IEC 61131-3 PLC 标准通用信息我国根据IEC 的标准制定的中华人民共和国可编程序控制器(ProgrammableController)的国家标准,标准号为GB/T15969.115969.4,该标准于1995年底发布,从1996年10月1 日起开始实施。5/23/20235IEC 61131-3 PLC 标准通用信息近几年由于自动化系统的发展,需要制定涵盖更广领域,不仅包括PLC,还有DCS,HMI以及现场
4、总线等的内容。IEC的 第 七 工 作 组(IEC/SC65B/WG7)制 定 了 新 的IEC611313标准,第七工作组包括来自不同的PLC制造商,软件公司和用户代表,这样制定的标准可以做为一个导则,为大多数PLC制造商所接受,IEC61131标准的5个部分总结当代PLC系统的要求,这些要求涉及PLC的硬件和编程系统。新标准包括了早已在PLC编程中使用的通用概念,同时也增加了新的编程方法。5/23/20236IEC 61131-3 PLC 标准通用信息 IEC 611313本身只做为PLC的编程指导,而不是强制的规则,若PLC制造商希望符合这个标准,他们必须提供文件,说明其对标准的符合程度
5、,他们还必须通过认证,确认那些部分符合标准,那些部分还不能满足标准。这个标准附有62个性能表,制造商必须填写这些表格并提供注释(例如;“完全满足”,不能“实现”,“以下部分能实现”)。5/23/20237IEC 61131-3 PLC 标准通用信息 该标准还提供一个测试基础,允许制造商和客户都能评估,每一个编程系统符合IEC标准的接近程度。为了进一步证明兼容性,PLCopen国际组织,进一步定义兼容性等级的测试,而这些测试是由独立的机构进行的。5/23/20238IEC61131-3PLC标准软件模型 IEC 611313的软件模型描述了诸多概念,包 括 组 态(configuration)。
6、资 源(resource).任务(task).程序(program).功 能 块(function block)以 及 功 能(function)和它们之间的连接。5/23/20239IE任务C61131-3PLC标准软件模型(组态内部的资源)在软件等级中的最高等级是组态(configuration),它定义了单元结构,这一单元有可能是,例如:带多个CPU连接的PLC。一个组态包括一个或若干个资源(resources),它构成一个CPU资源的程序是由任务来控制,任务(task)表示一个可执行的程序单元。5/23/202310IEC 61131-3 PLC 标准软件模型(组态内部的资源)5/23
7、/202311IEC 61131-3 PLC 标准软件模型(任务)任务能周期地或由于一定的事件来处理,它们具有优先权级,优先权是定义在资源内部分配给CPU的时间段。有若干种类型的任务:a.周期任务,b.时间控制任务(时间间隔任务),c.事件控制任务(事件任务),e.中断任务任务说明是由任务名,它的优先权级,以及任务执行时的条件,条件可以是时间间隔,一个事件数字量输入的上升沿或全局变量的伪(false)/真(true)变化或一个中断,每一个任务能分配若干个程序,这些程序将由任务来激活。程序是按照所指示的顺序来处理的。5/23/202312IEC 61131-3 PLC 标准软件模型(任务)a.带
8、有条件的任务,在条件满足时将被执行,例如,当指示的时间间隔已经超出,或变量的地址“伪”改变成“真”。b.如果若干个任务都满足条件,则具有最高优先权级的任务将被执行。c.不允许将同一个优先权级分配给多个任务(优先权级0任务禁止是例外)。d.在另一个任务正在被处理时,如果具有较高优先权级的任务的条件被满足,则较低优先权级的任务将被中断,只有另一任务已被完成后,再继续处理。5/23/202313IEC 61131-3 PLC 标准软件模型(组织单元POUs)IEC 61131 3定 义 程 序(program),功 能 块(function block),功能(function)作为程序的组织单元或
9、POUs(Program Organization units POUs).POUs的性质允许用户程序广泛的模块化以及重复应用已经实现和经过测试的软件模块。为了程序模块能访问一个POU,至少需要有请求接口的说明,在进行说明之后,一个POU对所有其他POU是存在的。5/23/202314IEC 61131-3 PLC 标准软件模型(组织单元POUs)5/23/202315IEC 61131-3 PLC 标准软件模型(程序)整个程序具有实时性质,程序能在CPU中运行,是由分配程序的任务来解决的,一个程序能分配给若干个任务,亦即这若干个程序的背景是在不同的实时性质下生成。程序中的一个是主程序被分配给
10、PLC外部设备、全局变量和访问路径。5/23/202316IEC 61131-3 PLC 标准软件模型(功能块)IEC 611313应用标准功能和功能块来标准化典型PLC的功能。这一标准库是统一的,不依赖于制造商的PLC系统编程的重要基础。功能块(FBs)可以比作集成电路,它包括一定的控制功能,它们用来设置输入/输出和内部变量,功能块的状态要求被保留从一个周期到另一个周期,只有功能的输入和输出变量能被请求的程序寻址。一个功能块能被另一个功能块调用。5/23/202317IEC 61131-3 PLC 标准软件模型(功能块背景)IEC611313提供功能块背景,一个背景是一种结构,在调用功能块时
11、,它保留所有的内部输入和输出变量。一个程序它调用FB1三次,则具有三个FB1背景,每次调用一个。程序则会精确地计算请求而不会有边外效应(side effects)。请遵守,所有背景应用相同的程序码,亦即,程序码的改变对所有三个请求具有相同的效应。软件工具,通过自动说明对背景提供帮助,在FB调用时指定背景名,这一名词管理调用的数据结构。5/23/202318IEC 61131-3 PLC 标准软件模型(功能)与功能块不同,功能没有内部变量的缓冲区。这样,功能不能使用全局变量访问功能的组织单元和直接说明地址变量。所有功能具有一个共同点,如果功能的输入参数是相同的,则它们将提供相同的输出参数。5/2
12、3/202319IEC 61131-3 PLC 标准通信模式IEC 611313的通信方式使用:a.访问路径(Access paths)b.全局变量(Global variables)c.参数调用(Call parameters)d.通信组织单元(IEC 611315)(Communication organization)来说明组态单元的数据交换5/23/202320IEC 61131-3 PLC 标准通信模式访问路径:定义访问路径允许组态单元相互之间和PLC系统实现通信。全局变量:全局变量能容易地在程序之间实现通信,它们能在组态,资源,程序内进行说明和应用。参数调用:在程序内部,数据交换是
13、通过参数调用来实现的,参数,例如:输入和输出变量。参数调用定义了值转移的接口。通信组织单元:通信组织单元提供了通信服务,这些服务将在IEC 61131的第5 部分进行定义。5/23/202321IEC 61131-3 PLC 标准通用语言单元 IEC 61131 3的 通 用 语 言 单 元 是 标 识(Identifiers),关键词(Keywords),评论(Comments),文字(Literals),数据类型和变 量(Data types and variables)。以下对它们进行详细描述。5/23/202322IEC 61131-3 PLC 标准通用语言单元(标识符)标识符用来寻址
14、变量,功能,程序等,它们是一些单元且能支持程序的可读性。标识符是一个字母数字和下划线的序列,以一个字母或下划线开始。以下各项不可以做为标识符:a.空格和德文中的元音变音字母 b.以同一方式说明两次 c.用关键字做为标识符(参看4.2节)5/23/202323IEC 61131-3 PLC 标准通用语言单元(关键字)关键字是清楚的字母组合,能做为单个的语法助记符单元关键字不能用做为标识符,IEC611313关键字举例:ABS,SIN,BOOL,FALSE,TRUE,FOR,NEXT,IF,THEN,V AR,GLOBAL,DATE,TIME,FUNCTION5/23/202324IEC 6113
15、1-3 PLC 标准通用语言单元(评论)评论或程序的一部分用来帮助理解程序且是重要的沟通方法。评论允许在任何位置以所有文本编辑的形式而且必须以特殊的字母序列(*and*)开始和结束。每一个网络段能对它的功能评论成一段文本。5/23/202325IEC 61131-3 PLC 标准通用语言单元(文字)IEC611313说明文字做为字母,数字和时间的序列。字母序列:字母序列文字具有0或更多字母,而且以反逗号开始和结束(例如:Charactersequence)。数字:有两种不同类型的数字文字:整数和实数。整数能定义带有基数,十进制数能具有(十或)的符号,实数能表示成指数形式。时间:有两种不同的时间
16、文字(间隔时间和天/日期时间)5/23/202326IEC 61131-3 PLC 标准通用语言单元(数据类型)数据类型:IEC611313定义了不同的标准数据类型,它们帮助编译,推导以及用户定义数据类型。每一个标识符被分配到一个数据类型,数据类型决定了多大的存储容量将被保留以及什么值相应于存储器的内容。5/23/202327IEC 61131-3 PLC 标准通用语言单元(数据类型)标准数据类型a.波尔型(真值表 真/伪)。b.字节,字,双字,带符号的整型数,不带符号的整型数,16位整形数,不带符号的16位整形数,双整形数,不带符号的双整形数(整形数据类型)。c.实数(浮点数据类型)。d.串
17、数据(字符串)。e.时间(TIME),日时间(TIMEOFDAY),日期(DATE)f.日期和时间(DATE_AND_TIME)(时间数据类型)。5/23/202328IEC 61131-3 PLC 标准通用语言单元(数据类型)定义数据类型a.阵列(ARRAY)(1,2,3维场)。b.指针(POINTER)(包含用于实时程序的变量/功能块的寻址)。c.枚举(Enumeration)(枚举数,由很多字符串常数组成)。d.结构(STRUCT)e.参考(Reference)(用于对变量/常数/功能块生成一个替换名)5/23/202329 IEC 61131-3 PLC 标准通用语言单元(变量)IEC
18、611313定义5种不同的变量类型a.全局变量b.本地变量c.输入变量d.输出变量e.输入和输出变量5/23/202330IEC 61131-3 PLC 标准通用语言单元(变量)本地变量不能连接到外部,亦即它们只能在程序内部的一部分进行寻址,全局变量能被所有程序组织单元(POUs)寻址。输入,输出和输入/输出变量是与程序,功能和功能块有关的。它们能在被分配的POU内通过读或写来改变,在POU外部改变必须进行定义,(输入,输出和输入/输出)在原文件之间变量要加以说明,变量 V AR变量结束END_V AR。通常每个变量在冷启动之后被初始化。默认的初始值为0或“伪”,可以通过另一变量符号“:=”在
19、说明中指定用户定义的初始值。5/23/202331IEC 61131-3 PLC 标准通用语言单元(变量属性)当说明一个变量时,能附加以下的属性:a.保留(RETAIN):这些变量在主要故障之后。仍保留同一值。当再启动时,程序将以这一保留的值继续进行。b.常数(CONSTANT):变量值不能改变c.AT:变量在储存器映像区中具有固定位置(固定地址)。Example举例:以一初始值说明一个输出变量。V AR-OUTPUTPar_out1:INT:10;(*输出参数1,具有初始值10*)END-V AR5/23/202332IEC 61131-3 PLC 标准通用语言单元(固定地址变量)在进行说明
20、时,通过关键字变量能被分配一个物理存储器位置。地址用特殊字母序列来指示,字母序列的起始用符号,跟随一个范围前缀和一个数据前缀(数据类型)表示数据长度。最后是数字序列表示存储器的位置。范围前缀:I(输入),Q(输出),M(标志,内部存储器范围)长度前缀:X(单个位),B(字节,8位),W(字,16位),D(双字,32位)5/23/202333IEC 61131-3 PLC 标准通用语言单元(固定地址变量)Example举例:QX1.0.2输出位2IW1.0.1输入位1MB7标志字节7MW1标志字1MD3标志双字3MX1.2在标志字1中的第3标志位5/23/202334IEC 61131-3 PL
21、C 标准编程语言 IEC61131-3标准是PLC编程语言的国际标准。根据这一标准,程序是由以下一些单元组成的:结构(Structures)组织单元(Organizationunits)全局变量(Globalvariables)5/23/202335IEC 61131-3 PLC 标准编程语言 在IEC61131-3标准中定义了5种PLC编程语言,它们是:指令表IL(Instructionlist)结构文本 ST(Structuredtext)顺序功能图SFC(Sequentialfunctionchart)功能块图FBD(Functionblockdiagram)梯形图LD(Ladderdi
22、agram)对解决某一问题,最适用于,用上术语言中的某一种语言。5/23/202336SFC顺序功能图编程语言举例在这一讲中我们要介绍使用SFC编程语言的一个应用例子。德国西门子公司的PLC编程语言中有一种叫S7Graph的编程语言,实际上它就是一种标准SFC的编程语言。这里介绍的例子是用S7Graph对一台自动钻床的顺序工作循环,进行编程。对顺序控制这一类系统的编程,一般按照以下的流程进行:从下图中我们看到,首先要对实施的顺序控制项目建立一个顺序结构和对系统的信号进行定义,然后在西门子的PLCSIMATIC管理器中建立一个项目,和STEP7一样可以采用符号地址编程,也可以不用符号地址编程,如
23、果用符号地址编程要求建立一个符号地址表。5/23/202337SFC顺序功能图编程语言举例对于顺序控制系统最适合的编程语言是用SFC语言,在本例中我们采用西门子公司的S7Graph语言(类似SFC语言),用这种语言按照工艺要求编程一个功能块FB1,S7Graph会自动生成FB1的背景数据块DB1。在STEP7程序的OB1组织块中调用FB1和DB1完成程序的组织。将程序下载到PLC中,用STEP7的调试手段调试和运行程序。5/23/202338顺序控制系统编程和调试的工作流程5/23/202339自动钻床的系统配置5/23/202340自动钻床的系统配置上图是我们的例子中的自动钻床的系统配置图,
24、它包含有以下一些元件:钻床的钻头电动机,电动机给出运行/停止的反馈信号启动按钮和冷却液的选择开关冷却液泵,当冷却液达到一定压力时给出反馈信号夹紧工件用的夹紧汽缸,当夹紧工件达到一定压力时给出反馈信号钻床工作台升/降的升降汽缸,当钻床工作台到达高位或低位时由接近开关发出信号。5/23/202341自动钻床的系统配置自动钻床的初始状态定义如下:钻床电动机和冷却液泵处于停止状态钻床的工作台处在高位工件台上没有工件,夹紧汽缸处于松开状态5/23/202342自动钻床的工作时序图5/23/202343自动钻床的工作时序图自动钻床的时序可以划分为以下一些阶段:装入工件(手动)根据需要(取决于被加工的材料)
25、选择是否要加冷却液按启动按钮,启动自动钻床工作(钻头电动机供电)夹紧工件达到所需要的夹紧压力启动冷却液泵(如果,选择了要使用冷却液)5/23/202344自动钻床的工作时序图工作台向下直到底部目标位置(钻削过程)在底部目标位置等待0.5秒(钻削过程)提升工作台到高位松开夹紧汽缸,停止钻头电动机和冷却液泵卸下工件(手动)。在完成顺序控制系统的编程之前,首先要建立起一个慨念,就是将自动钻床的工作分为若干个单步,慨念设计的基础是绘制出工艺流程图。5/23/202345自动钻床的工艺流程图5/23/202346自动钻床的工艺流程图上图是自动钻床的工艺流程图,图中将自动钻床的工作分划为若干个单步和若干个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 IEC61131 PLC 编程 语言 标准 介绍 lhc
限制150内