PLC 技术培训班 (第4讲)IEC61131-3 标准_第1页
PLC 技术培训班 (第4讲)IEC61131-3 标准_第2页
PLC 技术培训班 (第4讲)IEC61131-3 标准_第3页
PLC 技术培训班 (第4讲)IEC61131-3 标准_第4页
PLC 技术培训班 (第4讲)IEC61131-3 标准_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2022-3-161参加参加PLC技术培训班的技术培训班的全体学员!全体学员!2022-3-1621. 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 编程语言编程语言2022-3-163 众所周知,在开发可编程序控制器(众所周知,在开发可编程序控制器(PLC)的早期阶)的早期阶段,由于没有一个统一的国际标准,各制造商根据自段,由于没有

2、一个统一的国际标准,各制造商根据自己的习惯,使用自己的编程语言,这些编程语言从内己的习惯,使用自己的编程语言,这些编程语言从内容到形式都很不相同,例如,德国的公司喜欢用功能容到形式都很不相同,例如,德国的公司喜欢用功能块图和语句表语言,这与他们早期将晶体管逻辑电路块图和语句表语言,这与他们早期将晶体管逻辑电路用来完成控制功能有关系,而美国的公司则喜欢用梯用来完成控制功能有关系,而美国的公司则喜欢用梯形图语言和控制鼓(形图语言和控制鼓(Control Drum)。梯形图语言又)。梯形图语言又是从继电器控制逻辑延伸来的,至于法国公司除了用是从继电器控制逻辑延伸来的,至于法国公司除了用梯形图语言外,

3、还用梯形图语言外,还用GRAFCET语言,这一语言又特语言,这一语言又特别适用于完成顺序控制的功能。别适用于完成顺序控制的功能。 2022-3-164 这种编程语言的不统一情况,给用户带来极大的不这种编程语言的不统一情况,给用户带来极大的不方便,使用不同公司产品,编制的程序完全不通用,方便,使用不同公司产品,编制的程序完全不通用,用户被迫要去熟悉不同公司的编程语言,要额外的用户被迫要去熟悉不同公司的编程语言,要额外的购置不同的编程工具,要想在一个大型的工程项目购置不同的编程工具,要想在一个大型的工程项目中使用多家公司的产品,几乎是不可能的事。中使用多家公司的产品,几乎是不可能的事。 早在上世纪

4、早在上世纪80年代国际电工技术委员会年代国际电工技术委员会IEC的第六的第六工作组(工作组(IEC/TC65B/WG6)就开始着手制定统一)就开始着手制定统一的可编程序控制器标准。并于的可编程序控制器标准。并于1993年正式颁布了这年正式颁布了这一标准,即一标准,即IEC 11313国际标准。国际标准。2022-3-165 我国根据我国根据 IEC IEC 的标准制定的中华人民共和国可的标准制定的中华人民共和国可编程序控制器(编程序控制器(Programmable Controller)的)的国家标准,标准号为国家标准,标准号为GB/T15969.1GB/T15969.115969.4 159

5、69.4 ,该标准于该标准于19951995年底发布,从年底发布,从19961996年年1010月月1 1 日起开日起开始实施。始实施。 2022-3-166 近几年由于自动化系统的发展,需要制定涵盖更广领域,近几年由于自动化系统的发展,需要制定涵盖更广领域,不仅包括不仅包括PLC,还有,还有DCS,HMI以及现场总线等的内容。以及现场总线等的内容。IEC的第七工作组(的第七工作组(IEC/SC65B/WG7)制定了新的)制定了新的IEC611313标准,第七工作组包括来自不同的标准,第七工作组包括来自不同的PLC制造商,制造商,软件公司和用户代表,这样制定的标准可以做为一个导则,软件公司和用

6、户代表,这样制定的标准可以做为一个导则,为大多数为大多数PLC制造商所接受,制造商所接受,IEC 61131标准的标准的5 5个部分总个部分总结当代结当代PLC系统的要求,这些要求涉及系统的要求,这些要求涉及PLC的硬件和编程的硬件和编程系统。新标准包括了早已在系统。新标准包括了早已在PLC编程中使用的通用概念,编程中使用的通用概念,同时也增加了新的编程方法。同时也增加了新的编程方法。2022-3-167 IEC 61131 IEC 611313 3本身只做为本身只做为PLCPLC的编程指导,的编程指导,而不是强制的规则,若而不是强制的规则,若PLCPLC制造商希望符合这制造商希望符合这个标准

7、,他们必须提供文件,说明其对标准个标准,他们必须提供文件,说明其对标准的符合程度,他们还必须通过认证,确认那的符合程度,他们还必须通过认证,确认那些部分符合标准,那些部分还不能满足标准。些部分符合标准,那些部分还不能满足标准。 这个标准附有这个标准附有6262个性能表,制造商必须填写个性能表,制造商必须填写这些表格并提供注释(例如;这些表格并提供注释(例如;“完全满足完全满足”,不能不能“实现实现”,“以下部分能实现以下部分能实现”)。)。2022-3-168 该标准还提供一个测试基础,允许制造商和该标准还提供一个测试基础,允许制造商和客户都能评估,每一个编程系统符合客户都能评估,每一个编程系

8、统符合IEC标准标准的接近程度。的接近程度。为了进一步证明兼容性,为了进一步证明兼容性,PLCopen国际组织,国际组织,进一步定义兼容性等级的测试,而这些测试是进一步定义兼容性等级的测试,而这些测试是由独立的机构进行的。由独立的机构进行的。2022-3-169 IEC 61131 IEC 611313 3的软件模型描述了诸多概念,的软件模型描述了诸多概念,包 括 组 态 (包 括 组 态 ( c o n f i g u r a t i o nc o n f i g u r a t i o n ) 。 资 源) 。 资 源(resourceresource). .任务任务(task).(tas

9、k).程序程序(program).(program).功能块(功能块(function blockfunction block)以及功能)以及功能(functionfunction)和它们之间的连接。)和它们之间的连接。2022-3-1610 在软件等级中的最高等级是组态在软件等级中的最高等级是组态(configuration),它它定义了单元结构,这一单元有可能是,例如:带多个定义了单元结构,这一单元有可能是,例如:带多个CPU连接的连接的PLC。 一个组态包括一个或若干个资源一个组态包括一个或若干个资源(resources),它构成一它构成一个个CPU 资源的程序是由任务来控制,任务资源的

10、程序是由任务来控制,任务(task)表示一个可表示一个可执行的程序单元。执行的程序单元。2022-3-1611Configuration (组组态态)Resource (资资源源)Resource (资资源源)Resource (资资源源)Task(任任务务)Task(任任务务)Task(任任务务)2022-3-1612 任务能周期地或由于一定的事件来处理,它们具有优先权级,任务能周期地或由于一定的事件来处理,它们具有优先权级,优先权是定义在资源内部分配给优先权是定义在资源内部分配给CPUCPU的时间段。的时间段。有若干种类型的任务:有若干种类型的任务:a. a. 周期任务,周期任务,b. b

11、. 时间控制任务(时间间隔任务),时间控制任务(时间间隔任务),c. c. 事件控制任务事件控制任务( (事件任务事件任务) ),e. e. 中断任务中断任务 任务说明是由任务名,它的优先权级,以及任务执行时的条任务说明是由任务名,它的优先权级,以及任务执行时的条件,条件可以是时间间隔,一个事件数字量输入的上升件,条件可以是时间间隔,一个事件数字量输入的上升沿或全局变量的伪沿或全局变量的伪(false)/(false)/真真(true)(true)变化或一个中断,变化或一个中断,每一个任务能分配若干个程序,这些程序将由任务来激活。每一个任务能分配若干个程序,这些程序将由任务来激活。程序是按照所

12、指示的顺序来处理的。程序是按照所指示的顺序来处理的。2022-3-1613a. 带有条件的任务,在条件满足时将被执行,例如,当指示带有条件的任务,在条件满足时将被执行,例如,当指示的时间间隔已经超出,或变量的地址的时间间隔已经超出,或变量的地址“伪伪”改变成改变成“真真”。b. 如果若干个任务都满足条件,则具有最高优先权级的任务如果若干个任务都满足条件,则具有最高优先权级的任务将被执行。将被执行。c. 不允许将同一个优先权级分配给多个任务(优先权级不允许将同一个优先权级分配给多个任务(优先权级0任任务禁止是例外)。务禁止是例外)。d. 在另一个任务正在被处理时,如果具有较高优先权级的任在另一个

13、任务正在被处理时,如果具有较高优先权级的任务的条件被满足,则较低优先权级的任务将被中断,只有务的条件被满足,则较低优先权级的任务将被中断,只有另一任务已被完成后,再继续处理。另一任务已被完成后,再继续处理。 2022-3-1614 IEC 61131 IEC 611313 3定义程序定义程序(program),(program),功能块功能块(function block),(function block),功能功能(function)(function)作为程序的组作为程序的组织单元或织单元或POUs(Program Organization units POUs(Program Organ

14、ization units POUs).POUs). POUs POUs的性质允许用户程序广泛的模块化以及重复应的性质允许用户程序广泛的模块化以及重复应用已经实现和经过测试的软件模块。为了程序模用已经实现和经过测试的软件模块。为了程序模块能访问一个块能访问一个POUPOU,至少需要有请求接口的说明,至少需要有请求接口的说明,在进行说明之后,一个在进行说明之后,一个POUPOU对所有其他对所有其他POUPOU是存在是存在的。的。2022-3-1615Function Block(功功能能块块) )Function (功功能能) )Task (任任务务) )Program (程程序序) )Prog

15、ram (程程序序) )Program (程程序序) )Function Block(功功能能块块) )Function (功功能能) )Function (功功能能) )2022-3-1616 整个程序具有实时性质,程序能在整个程序具有实时性质,程序能在CPUCPU中运行,中运行,是由分配程序的任务来解决的,一个程序能分是由分配程序的任务来解决的,一个程序能分配给若干个任务,亦即这若干个程序的背景是配给若干个任务,亦即这若干个程序的背景是在不同的实时性质下生成。程序中的一个是主在不同的实时性质下生成。程序中的一个是主程序被分配给程序被分配给PLCPLC外部设备、全局变量和访问路外部设备、全局

16、变量和访问路径。径。2022-3-1617 IEC 61131 IEC 611313 3应用标准功能和功能块来标准化典应用标准功能和功能块来标准化典型型PLCPLC的功能。这一标准库是统一的,不依赖于制的功能。这一标准库是统一的,不依赖于制造商的造商的PLCPLC系统编程的重要基础。系统编程的重要基础。 功能块(功能块(FBsFBs)可以比作集成电路,它包括一定的)可以比作集成电路,它包括一定的控制功能,它们用来设置输入控制功能,它们用来设置输入/ /输出和内部变量,输出和内部变量,功能块的状态要求被保留从一个周期到另一个周功能块的状态要求被保留从一个周期到另一个周期,只有功能的输入和输出变量

17、能被请求的程序期,只有功能的输入和输出变量能被请求的程序寻址。一个功能块能被另一个功能块调用。寻址。一个功能块能被另一个功能块调用。2022-3-1618 IEC 611313提供功能块背景,一个背景是一种结构,提供功能块背景,一个背景是一种结构,在调用功能块时,它保留所有的内部输入和输出变量。在调用功能块时,它保留所有的内部输入和输出变量。 一个程序它调用一个程序它调用FB1FB1三次,则具有三个三次,则具有三个FB1FB1背景,每次调背景,每次调用一个。程序则会精确地计算请求而不会有边外效应用一个。程序则会精确地计算请求而不会有边外效应(side effectsside effects)。

18、请遵守,所有背景应用相同的程)。请遵守,所有背景应用相同的程序码,亦即,程序码的改变对所有三个请求具有相同序码,亦即,程序码的改变对所有三个请求具有相同的效应。的效应。 软件工具,通过自动说明对背景提供帮助,在软件工具,通过自动说明对背景提供帮助,在FBFB调用调用时指定背景名,这一名词管理调用的数据结构。时指定背景名,这一名词管理调用的数据结构。2022-3-1619 与功能块不同,功能没有内部变量的缓冲区。与功能块不同,功能没有内部变量的缓冲区。这样,功能不能使用全局变量访问功能的组这样,功能不能使用全局变量访问功能的组织单元和直接说明地址变量。所有功能具有织单元和直接说明地址变量。所有功

19、能具有一个共同点,如果功能的输入参数是相同的,一个共同点,如果功能的输入参数是相同的,则它们将提供相同的输出参数。则它们将提供相同的输出参数。2022-3-1620IEC 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)(Communi

20、cation organizationCommunication organization)来说明组态单元的数据交换来说明组态单元的数据交换2022-3-1621 访问路径:访问路径:定义访问路径允许组态单元相互之间和定义访问路径允许组态单元相互之间和PLCPLC系统实现通信。系统实现通信。 全局变量全局变量 :全局变量能容易地在程序之间实现通信,全局变量能容易地在程序之间实现通信,它们能在组态,资源,程序内进行说明和应用。它们能在组态,资源,程序内进行说明和应用。 参数调用:参数调用: 在程序内部,数据交换是通过参数调用在程序内部,数据交换是通过参数调用来实现的,参数来实现的,参数, ,例如

21、:输入和输出变量。参数调用例如:输入和输出变量。参数调用定义了值转移的接口。定义了值转移的接口。 通信组织单元:通信组织单元:通信组织单元提供了通信服务,这通信组织单元提供了通信服务,这些服务将在些服务将在IEC 61131IEC 61131的第的第5 5 部分进行定义部分进行定义。2022-3-1622 I E C 6 1 1 3 1 I E C 6 1 1 3 1 3 3 的 通 用 语 言 单 元 是 标 识的 通 用 语 言 单 元 是 标 识(IdentifiersIdentifiers),关键词(),关键词(KeywordsKeywords),评),评论(论(CommentsCom

22、ments),文字),文字(Literals )(Literals ),数据类,数据类型和变型和变 量(量(Data types and variablesData types and variables)。)。以下对它们进行详细描述。以下对它们进行详细描述。2022-3-1623 标识符用来寻址变量,功能,程序等,它们是一标识符用来寻址变量,功能,程序等,它们是一些单元且能支持程序的可读性。些单元且能支持程序的可读性。 标识符是一个字母数字和下划线的序列,以一个标识符是一个字母数字和下划线的序列,以一个字母或下划线开始。字母或下划线开始。 以下各项不可以做为标识符:以下各项不可以做为标识符:

23、 a.a.空格和德文中的元音变音字母空格和德文中的元音变音字母 b.b.以同一方式说明两次以同一方式说明两次 c.c.用关键字做为标识符(参看用关键字做为标识符(参看4.24.2节)节)2022-3-1624 关键字是清楚的字母组合,能做为单个的语法助记符关键字是清楚的字母组合,能做为单个的语法助记符单元单元关键字不能用做为标识符,关键字不能用做为标识符,IEC 611313关键字举例:关键字举例:ABS, SIN, BOOL, FALSE, TRUE, FOR, NEXT, IF, THEN, VAR, GLOBAL, DATE, TIME, FUNCTION2022-3-1625 评论或程

24、序的一部分用来帮助理解程序且是重要评论或程序的一部分用来帮助理解程序且是重要的沟通方法。评论允许在任何位置以所有文本编辑的沟通方法。评论允许在任何位置以所有文本编辑的形式而且必须以特殊的字母序列(的形式而且必须以特殊的字母序列(*and*)开始和)开始和结束。每一个网络段能对它的功能评论成一段文本。结束。每一个网络段能对它的功能评论成一段文本。2022-3-1626 IEC 611313说明文字做为字母,数字和时间的序列。说明文字做为字母,数字和时间的序列。字母序列:字母序列:字母序列文字具有字母序列文字具有0或更多字母,而且以或更多字母,而且以反反逗号逗号开始和结束(例如:开始和结束(例如:

25、Character sequence )。)。数字:数字:有两种不同类型的数字文字:整数和实数。整数有两种不同类型的数字文字:整数和实数。整数能定义带有基数,十进制数能具有(十或)的符号,能定义带有基数,十进制数能具有(十或)的符号,实数能表示成指数形式。实数能表示成指数形式。时间:时间:有两种不同的时间文字(间隔时间和天有两种不同的时间文字(间隔时间和天/日期时间)日期时间)2022-3-1627数据类型数据类型数据类型:数据类型: IEC 611313定义了不同的标准数据类型,定义了不同的标准数据类型,它们帮助编译,推导以及用户定义数据类型。它们帮助编译,推导以及用户定义数据类型。每一个标

26、识符被分配到一个数据类型,数据每一个标识符被分配到一个数据类型,数据类型决定了多大的存储容量将被保留以及什类型决定了多大的存储容量将被保留以及什么值相应于存储器的内容。么值相应于存储器的内容。2022-3-1628数据类型数据类型标准数据类型标准数据类型a.a.波尔型(真值表波尔型(真值表 真真/ /伪)。伪)。b.b.字节,字,双字,带符号的整型数,不带符号的字节,字,双字,带符号的整型数,不带符号的整型数,整型数,1616位整形数,不带符号的位整形数,不带符号的1616位整形数,双位整形数,双整形数,不带符号的双整形数(整形数据类型)。整形数,不带符号的双整形数(整形数据类型)。c.c.实

27、数(浮点数据类型)。实数(浮点数据类型)。d.d.串数据(字符串)。串数据(字符串)。e.e.时间时间(TIME)(TIME),日时间,日时间(TIME(TIMEOFOFDAY)DAY),日期,日期(DATE)(DATE)f.f.日期和时间日期和时间(DATE_AND_TIME) (DATE_AND_TIME) (时间数据类型时间数据类型) )。2022-3-1629数据类型数据类型定义数据类型定义数据类型 a.阵列(阵列(ARRAY)(1,2,3维场维场)。b.指针(指针(POINTER)(包含用于实时程序的变量)(包含用于实时程序的变量/功功能块的寻址)。能块的寻址)。 c.枚举(枚举(E

28、numeration)(枚举数,由很多字符串常)(枚举数,由很多字符串常数组成)。数组成)。d.结构(结构(STRUCT)e.参考参考 (Reference)(用于对变量(用于对变量/常数常数/功能块生成一功能块生成一个替换名)个替换名)2022-3-1630变量变量IEC 611313定义定义5种不同的变量类种不同的变量类型型a.全局变量全局变量b.本地变量本地变量c.输入变量输入变量d.输出变量输出变量e.输入和输出变量输入和输出变量2022-3-1631变量变量本地变量不能连接到外部,亦即它们只能在程序内部的一本地变量不能连接到外部,亦即它们只能在程序内部的一部分进行寻址,全局变量能被所

29、有程序组织单元(部分进行寻址,全局变量能被所有程序组织单元(POUs)寻址。输入,输出和输入寻址。输入,输出和输入/输出变量是与程序,功能和功输出变量是与程序,功能和功能块有关的。它们能在被分配的能块有关的。它们能在被分配的POU内通过读或写来改内通过读或写来改变,在变,在POU外部改变必须进行定义,(输入,输出和输外部改变必须进行定义,(输入,输出和输入入/输出)输出) 在原文件之间变量要加以说明,变量在原文件之间变量要加以说明,变量VAR变量结束变量结束END_VAR。通常每个变量在冷启动之后被初始化。默认。通常每个变量在冷启动之后被初始化。默认的初始值为的初始值为0或或“伪伪”,可以通过

30、另一变量符号,可以通过另一变量符号“ := ”在说明在说明中指定用户定义的初始值。中指定用户定义的初始值。2022-3-1632变量属性变量属性当说明一个变量时,能附加以下的属性当说明一个变量时,能附加以下的属性 :a.保留(保留(RETAIN): 这些变量在主要故障之后。仍保留同一这些变量在主要故障之后。仍保留同一值。当再启动时,程序将以这一保留的值继续进行。值。当再启动时,程序将以这一保留的值继续进行。b.常数常数(CONSTANT):变量值不能改变:变量值不能改变c.AT:变量在储存器映像区中具有固定位置(固定地址)。:变量在储存器映像区中具有固定位置(固定地址)。Example 举例:

31、以一初始值说明一个输出变量。举例:以一初始值说明一个输出变量。VAR-OUTPUT Par_out1 : INT :10;(* 输出参数输出参数1,具有初始值,具有初始值10 *)END-VAR2022-3-1633 固定地址变量固定地址变量 在进行说明时在进行说明时,通过关键字变量能被分配一个物理通过关键字变量能被分配一个物理存储器位置。存储器位置。 地址用特殊字母序列来指示,字母序列的起始用地址用特殊字母序列来指示,字母序列的起始用符号,跟随一个范围前缀和一个数据前缀(数据符号,跟随一个范围前缀和一个数据前缀(数据类型)表示数据长度。最后是数字序列表示存储器类型)表示数据长度。最后是数字序

32、列表示存储器的位置。的位置。范围前缀:范围前缀:I(输入),(输入),Q(输出),(输出),M(标志(标志,内内部存储器范围)部存储器范围)长度前缀:长度前缀:X(单个位)(单个位), B(字节,(字节,8位)位), W(字,(字,16位)位), D(双字,(双字,32位)位)2022-3-1634固定地址变量固定地址变量 Example 举例:举例:QX1.0.2 输出位输出位2IW1.0.1 输入位输入位1MB7 标志字节标志字节7MW1 标志字标志字1MD3 标志双字标志双字3MX1.2 在标志字在标志字1中的第中的第3标志位标志位2022-3-1635IEC 61131-3 标准是标准

33、是PLC 编程语言编程语言的国际标准。根据这一标准,程序的国际标准。根据这一标准,程序是由以下一些单元组成的:是由以下一些单元组成的: 结构结构 (Structures) 组织单元组织单元 ( (Organization units) 全局变量全局变量 ( (Global variables)2022-3-1636 在在IEC 61131-3标准中定义了标准中定义了5种种PLC编程语编程语言,它们是:言,它们是: 指令表指令表IL( (Instruction list) ) 结构文本结构文本 ST( (Structured text) ) 顺序功能图顺序功能图SFC(Sequential fu

34、nction chart) 功能块图功能块图FBD(Function block diagram) 梯形图梯形图LD(Ladder diagram)对解决某一问题,最适用于,用上术语言中对解决某一问题,最适用于,用上术语言中的某一种语言。的某一种语言。2022-3-1637SFC顺序功能图编程语言举例顺序功能图编程语言举例在这一讲中我们要介绍使用在这一讲中我们要介绍使用SFC编程语言的一个应用编程语言的一个应用例子。德国西门子公司的例子。德国西门子公司的PLC编程语言中有一种叫编程语言中有一种叫S7 Graph的编程语言,实际上它就是一种标准的编程语言,实际上它就是一种标准SFC的编的编程语言

35、。这里介绍的例子是用程语言。这里介绍的例子是用S7 Graph 对一台自动对一台自动钻床的顺序工作循环,进行编程。钻床的顺序工作循环,进行编程。对顺序控制这一类系统的编程,一般按照以下的流程对顺序控制这一类系统的编程,一般按照以下的流程进行:进行:从下图中我们看到,首先要对实施的顺序控制项目建从下图中我们看到,首先要对实施的顺序控制项目建立一个顺序结构和对系统的信号进行定义,然后在西立一个顺序结构和对系统的信号进行定义,然后在西门子的门子的PLC SIMATIC 管理器中建立一个项目,和管理器中建立一个项目,和STEP 7一样可以采用符号地址编程,也可以不用符号一样可以采用符号地址编程,也可以

36、不用符号地址编程,如果用符号地址编程要求建立一个符号地地址编程,如果用符号地址编程要求建立一个符号地址表。址表。 2022-3-1638SFC顺序功能图编程语言举例顺序功能图编程语言举例对于顺序控制系统最适合的编程语言是用对于顺序控制系统最适合的编程语言是用SFC语言,语言,在本例中我们采用西门子公司的在本例中我们采用西门子公司的S7 Graph语言(类似语言(类似SFC语言),用这种语言按照工艺要求编程一个功能语言),用这种语言按照工艺要求编程一个功能块块FB1,S7 Graph会自动生成会自动生成FB1的背景数据块的背景数据块DB1。在在STEP 7程序的程序的OB1组织块中调用组织块中调

37、用FB1和和DB1完成程完成程序的组织。将程序下载到序的组织。将程序下载到PLC中,用中,用STEP 7的调试手的调试手段调试和运行程序。段调试和运行程序。 2022-3-1639顺序控制系统编顺序控制系统编程和调试的工作程和调试的工作流程流程 2022-3-1640自动钻床的系统配置自动钻床的系统配置2022-3-1641自动钻床的系统配置自动钻床的系统配置上图是我们的例子中的自动钻床的系统配上图是我们的例子中的自动钻床的系统配置图,它包含有以下一些元件:置图,它包含有以下一些元件:钻床的钻头电动机,电动机给出运行钻床的钻头电动机,电动机给出运行 / 停停止的反馈信号止的反馈信号 启动按钮和

38、冷却液的选择开关启动按钮和冷却液的选择开关 冷却液泵,当冷却液达到一定压力时给冷却液泵,当冷却液达到一定压力时给出反馈信号出反馈信号 夹紧工件用的夹紧汽缸,当夹紧工件达夹紧工件用的夹紧汽缸,当夹紧工件达到一定压力时给出反馈信号到一定压力时给出反馈信号 钻床工作台升钻床工作台升 / 降的升降汽缸,当钻床工降的升降汽缸,当钻床工作台到达高位或低位时由接近开关发出信作台到达高位或低位时由接近开关发出信号。号。 2022-3-1642自动钻床的系统配置自动钻床的系统配置自动钻床的初始状态定义如下:自动钻床的初始状态定义如下: 钻床电动机和冷却液泵处于停止状态钻床电动机和冷却液泵处于停止状态 钻床的工作

39、台处在高位钻床的工作台处在高位 工件台上没有工件,夹紧汽缸处于松开工件台上没有工件,夹紧汽缸处于松开状态状态2022-3-1643自动钻床的工作时序图自动钻床的工作时序图 2022-3-1644自动钻床的工作时序图自动钻床的工作时序图自动钻床的时序可以划分为以下一些阶段:自动钻床的时序可以划分为以下一些阶段: 装入工件(手动)装入工件(手动) 根据需要(取决于被加工的材料)选择是否要根据需要(取决于被加工的材料)选择是否要加冷却液加冷却液 按启动按钮,启动自动钻床工作(钻头电动机按启动按钮,启动自动钻床工作(钻头电动机供电)供电) 夹紧工件达到所需要的夹紧压力夹紧工件达到所需要的夹紧压力 启动

40、冷却液泵(如果,选择了要使用冷却液)启动冷却液泵(如果,选择了要使用冷却液)2022-3-1645自动钻床的工作时序图自动钻床的工作时序图 工作台向下直到底部目标位置(钻削过程)工作台向下直到底部目标位置(钻削过程) 在底部目标位置等待在底部目标位置等待0.5秒(钻削过程)秒(钻削过程) 提升工作台到高位提升工作台到高位 松开夹紧汽缸,停止钻头电动机和冷却液泵松开夹紧汽缸,停止钻头电动机和冷却液泵 卸下工件(手动)。卸下工件(手动)。在完成顺序控制系统的编程之前,首先要建立起在完成顺序控制系统的编程之前,首先要建立起一个慨念,就是将自动钻床的工作分为若干个单一个慨念,就是将自动钻床的工作分为若

41、干个单步,慨念设计的基础是绘制出工艺流程图。步,慨念设计的基础是绘制出工艺流程图。2022-3-1646自动钻床的工自动钻床的工艺流程图艺流程图 2022-3-1647自动钻床的工艺流程图自动钻床的工艺流程图 上图是自动钻床的工艺流程图,图中将自动钻床的工作上图是自动钻床的工艺流程图,图中将自动钻床的工作分划为若干个单步和若干个控制条件,这些条件是用来分划为若干个单步和若干个控制条件,这些条件是用来控制由一个单步转移到下一个单步的具体逻辑条件或逻控制由一个单步转移到下一个单步的具体逻辑条件或逻辑表达式。从图辑表达式。从图4.18上我们可以看到:上我们可以看到: 整个自动钻床的工艺过程分成整个自

42、动钻床的工艺过程分成S1到到S7,7个单步,并个单步,并且表示了步的序列,跟随且表示了步的序列,跟随S1步的是步的是S2 步,跟随步,跟随S3步的步的是是S4步或者是步或者是S7步步 对每一个步必须规定一个或若干个作用(例如,对对每一个步必须规定一个或若干个作用(例如,对S1步的作用是钻床处于准备状态,即:步的作用是钻床处于准备状态,即: 钻床电动机和冷却钻床电动机和冷却液泵处于停止状态,液泵处于停止状态, 钻床的工作台处在高位,钻床的工作台处在高位, 工件台工件台上没有工件,夹紧汽缸处于松开状态。对上没有工件,夹紧汽缸处于松开状态。对S3步的作用是步的作用是启动钻床钻头电动机等)启动钻床钻头

43、电动机等)2022-3-1648自动钻床的工艺流程图自动钻床的工艺流程图 然后,每一个步确定其必须满足的转移条件,使得过程然后,每一个步确定其必须满足的转移条件,使得过程能够从一个步转移到下一个步。能够从一个步转移到下一个步。图上的转移条件用图上的转移条件用T T表示(例如,表示(例如,T1T1的条件是按压启动过的条件是按压启动过程的启动按钮,程的启动按钮,T5T5的转移条件是工作台到达高位)。的转移条件是工作台到达高位)。有了上面这些准备工作后,我们就可以用有了上面这些准备工作后,我们就可以用S7 Graph S7 Graph 语言语言来编程我们的例子了。来编程我们的例子了。S7 Graph

44、S7 Graph是是STEP 7STEP 7软件的一个选择项,首先要安装软件的一个选择项,首先要安装STEP STEP 7 7软件,然后再安装软件,然后再安装S7 GraphS7 Graph软件选件,安装完成后,软件选件,安装完成后,S7 S7 GraphGraph是在是在SIMATIC SIMATIC 管理器下运行的。因此,下面的步骤管理器下运行的。因此,下面的步骤就和我们在第三章中已经介绍的内容类似。就和我们在第三章中已经介绍的内容类似。首先在首先在SIMATIC SIMATIC 管理器下建立一个新的项目,取名管理器下建立一个新的项目,取名“S7GRAPH_DrillS7GRAPH_Dri

45、ll”,然后,插入一个,然后,插入一个S7 300S7 300站和进行硬件站和进行硬件组态,图组态,图4.194.19和图和图4.204.20分别表示项目的结构和硬件组态的分别表示项目的结构和硬件组态的情况。情况。2022-3-1649在在SIMATIC管理器下的管理器下的S7 GRAPH_Drill的项目结构图的项目结构图 在具体进行编程之前,首先我们要建立一个符号地址表。在具体进行编程之前,首先我们要建立一个符号地址表。表表4.17是这一项目的是这一项目的 I/O 定义和相应的的符号地址命名。定义和相应的的符号地址命名。2022-3-1650在在SIMATICSIMATIC管理器下的管理器

46、下的S7GRAPH_DrillS7GRAPH_Drill的硬件组态图的硬件组态图 2022-3-1651自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 2022-3-1652自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 2022-3-1653自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 图图4.21是表示在是表示在SIMATIC管理器中编辑的符号地址管理器中编辑的符号地址表。有了符号地址表,我们再介绍使用表。有了符号地址表,我们再介绍使用S7 Graph编编程语言,在程语言,在SIMATIC管理

47、器中编辑顺序控制器的功管理器中编辑顺序控制器的功能块能块FB1(一般默认为一般默认为FB1,也可以选择其它功能块号也可以选择其它功能块号)和背景数据块和背景数据块DB1。 在在SIMATIC项目管理器的左边,树形结构中选择项目管理器的左边,树形结构中选择“Blocks” 选择菜单命令选择菜单命令 Insert S7 Block Function Block 在在“属性属性”(“Properties”)对话框中选择)对话框中选择“S7-Graph”作为编程语言(只有在作为编程语言(只有在STEP 7软件中安装软件中安装了了S7-Graph选件,才能选择到这种编程语言)。选件,才能选择到这种编程语

48、言)。2022-3-1654自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 完成上述步骤后,我们在完成上述步骤后,我们在“Blocks”文件夹中建立文件夹中建立起起FB1功能块(不过,这时的功能块(不过,这时的FB1是空的)。是空的)。 用鼠标左键双击用鼠标左键双击FB1,打开,打开FB1,首先见到的是用,首先见到的是用双框表示的初始步双框表示的初始步S1和转移和转移T1,选择转移,选择转移T1,并,并在屏幕左边的在屏幕左边的“顺序控制器菜单条顺序控制器菜单条”中选择图标,中选择图标,这时会自动插入步这时会自动插入步S2和转移和转移T2,用同样的方法完成,用同样

49、的方法完成图图4.18所表示的所表示的S1到到S6的步结构以及的步结构以及T1到到T6的转移的转移图标图标 用鼠标选择用鼠标选择S3步,并在屏幕左边的步,并在屏幕左边的“顺序控制器顺序控制器菜单条菜单条”中选择图标,打开一个分支路径,用来实中选择图标,打开一个分支路径,用来实现选择冷却液使的分支程序,在分支路径上出现转现选择冷却液使的分支程序,在分支路径上出现转移移T72022-3-1655自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 选择转移选择转移T7,并在屏幕左边的,并在屏幕左边的“顺序控制器菜单顺序控制器菜单条条”中选择图标,自动插入步中选择图标,自动

50、插入步S7和转移和转移T8 选择转移选择转移T8,并在屏幕左边的,并在屏幕左边的“顺序控制器菜单顺序控制器菜单条条”中选择图标,将分支路径封闭到步中选择图标,将分支路径封闭到步S4 选择转移选择转移T6,并在屏幕左边的,并在屏幕左边的“顺序控制器菜单顺序控制器菜单条条”中选择图标,这是插入一个跳转命令,将转移中选择图标,这是插入一个跳转命令,将转移T6跳转至跳转至S1步。步。通过以上步骤,完成了通过以上步骤,完成了FB1的结构编程,结构编程的结构编程,结构编程是依照图是依照图4.18的自动钻床的工艺流程的要求来完成的自动钻床的工艺流程的要求来完成的。的。2022-3-1656自动钻床项目的自动

51、钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 至此,我们尚未完成整个至此,我们尚未完成整个FB1的编程,我们还要对的编程,我们还要对各个步进行各个步进行“步作用步作用”的编程和各个转移的的编程和各个转移的“转移转移条件条件”编程。编程。 选择菜单命令选择菜单命令 Insert Action,结果在所选择步,结果在所选择步的右边,会出现图标,这是一个空的作用行,用鼠的右边,会出现图标,这是一个空的作用行,用鼠标点击这一作用框,作用框的左边部分,用来输入标点击这一作用框,作用框的左边部分,用来输入作用指令,右边部分是作用指令的地址场作用指令,右边部分是作用指令的地址场 在在S7-G

52、raph编程语言中有编程语言中有4个作用指令,一般作个作用指令,一般作用指令的地址场,都是直接指向用指令的地址场,都是直接指向PLC的输出场地址,的输出场地址,这这4个作用指令是:个作用指令是:2022-3-1657自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 S指令,指令,S指令是对输出场地址进行置位(输出为指令是对输出场地址进行置位(输出为“1”信号),而且这一指令不仅对信号),而且这一指令不仅对“激活激活”的步有的步有效,而且当步转移到下一个效,而且当步转移到下一个“激活激活”步时仍然有效,步时仍然有效,一直到在步作用中出现一直到在步作用中出现R指令,才

53、将指令的输出场指令,才将指令的输出场置成置成“0” R指令,指令,R指令是用来复位输出场的指令是用来复位输出场的 N指令,指令,N指令也是对输出场地址进行置位的,指令也是对输出场地址进行置位的,但是和但是和S指令不同,指令不同,N指令只在指令只在“激活激活” 的步期间的步期间是有效的,当转移到下一个步时,是有效的,当转移到下一个步时,N指令自动将输指令自动将输出场地址复位出场地址复位 D指令,指令,D指令是延时指令,除了输出场地址外,指令是延时指令,除了输出场地址外,还有延时时间域,还有延时时间域,D指令的作用是指从指令的作用是指从 2022-3-1658自动钻床项目的自动钻床项目的 I/O

54、I/O 定义和符号地址表定义和符号地址表 “步激活步激活”开始,经过在延时时间域中定义的时开始,经过在延时时间域中定义的时间之后,才对输出场地址置位,而且在步转移之后,间之后,才对输出场地址置位,而且在步转移之后,输出场地址自动复位(类似输出场地址自动复位(类似N指令,但是在执行之指令,但是在执行之前有一段时间延时)前有一段时间延时)应用上述应用上述4种作用指令,根据自动钻床的工艺要求,种作用指令,根据自动钻床的工艺要求,对对FB1的的S1至至S7的各个步,分别进行作用编程,其的各个步,分别进行作用编程,其结果见图结果见图4.23,自动钻床应用,自动钻床应用S7-Graph (SFC)语言语言

55、编程编程FB1功能块的程序图。功能块的程序图。除了要对除了要对FB1功能块的各个步作用进行编程外,现功能块的各个步作用进行编程外,现在还需要对步的转移条件进行编程,这一编程可以在还需要对步的转移条件进行编程,这一编程可以选择用梯形图(选择用梯形图(LD)语言来进行。)语言来进行。2022-3-1659自动钻床项目的自动钻床项目的 I/O I/O 定义和符号地址表定义和符号地址表 对转移条件进行编程时可以应用以下梯形图指令:对转移条件进行编程时可以应用以下梯形图指令: 插入常开触点,其地址场可以在符号地址表中选择插入常开触点,其地址场可以在符号地址表中选择插入常闭触点,其地址场可以在符号地址表中

56、选择插入常闭触点,其地址场可以在符号地址表中选择 插入比较器,比较器可以选择大于、小于、等于、大插入比较器,比较器可以选择大于、小于、等于、大于等于、小于等于,比较器有两个输入端,输入可以于等于、小于等于,比较器有两个输入端,输入可以是被激活步的延续时间或者是应该定义的时间值。在是被激活步的延续时间或者是应该定义的时间值。在本例子中的本例子中的T6转移条件,我们让转移条件,我们让S6步的延续时间和步的延续时间和500ms进行比较,即使前面的转移条件都满足了,在进行比较,即使前面的转移条件都满足了,在这一步上也必须等待这一步上也必须等待500ms后才允许转移。后才允许转移。2022-3-1660

57、在在SIMATICSIMATIC管理器中使用管理器中使用S7-GraphS7-Graph编程语言编程语言对对FB1FB1功能块进行编程功能块进行编程 2022-3-1661自动钻床自动钻床应用应用S7-S7-Graph Graph (SFC)(SFC)语言语言编程编程FB1FB1功功能块的程能块的程序图序图 2022-3-1662OB1OB1的编程的编程过程过程 2022-3-1663最后我们来介绍一下顺序控制器的调试问题。最后我们来介绍一下顺序控制器的调试问题。首先,我们要把离线编程的组态配置、程序方块(包括首先,我们要把离线编程的组态配置、程序方块(包括OB1OB1、FB1FB1和和DB1

58、DB1等)和系统数据下载到等)和系统数据下载到PLCPLC中。如果,没有错误,中。如果,没有错误,则在则在PLCPLC从从“StopStop”状态转换为状态转换为“RunRun”状态时,状态时,PLCPLC不会出现不会出现报警,绿色的报警,绿色的“RunRun”变成常亮。如果,在下载过程中出现错变成常亮。如果,在下载过程中出现错误,红色指示灯闪亮,这时应该根据误,红色指示灯闪亮,这时应该根据CPUCPU的诊断缓冲区中的的诊断缓冲区中的提示,检查造成故障的原因,并将其排除。提示,检查造成故障的原因,并将其排除。从图从图4.244.24可以看到,在调用可以看到,在调用FB1FB1和和DB1DB1时

59、,有许多参数需要输时,有许多参数需要输入,这和入,这和FB1FB1的工作方式有关,调用的工作方式有关,调用FB1FB1有最小工作方式、标有最小工作方式、标准工作方式和最大工作方式三种:准工作方式和最大工作方式三种:在在SIMATICSIMATIC管理器中使用管理器中使用S7-GraphS7-Graph编程语言编程语言对对FB1FB1功能块进行编程功能块进行编程 2022-3-1664 最小工作方式,最小工作方式,FB1FB1只有三个参数,见上图。最小工作方只有三个参数,见上图。最小工作方式能启动顺序控制器自动运行。没有附加的控制和监控功能。式能启动顺序控制器自动运行。没有附加的控制和监控功能。

60、参数参数“INIT_SQ”是用来对顺序控制器初始化,加电后,顺是用来对顺序控制器初始化,加电后,顺序控制器处在初始步(序控制器处在初始步(S1)位置。)位置。按最小工作方式调用按最小工作方式调用FB1FB1时的参数时的参数 2022-3-1665按标准工作方式调用按标准工作方式调用FB1FB1时的参数时的参数 2022-3-1666按标准工作方式调用按标准工作方式调用FB1FB1时的参数时的参数 标准工作方式,在这种工作方式下,标准工作方式,在这种工作方式下,FB1具有一组具有一组标准参数见下图。标准参数见下图。 标准工作方式对顺序控制器的调试是非常有用的。标准工作方式对顺序控制器的调试是非常

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论