电气控制及PLC应用技术(基于西门子S7-1200)活页式 课件 项目五 S7-1200程序结构_第1页
电气控制及PLC应用技术(基于西门子S7-1200)活页式 课件 项目五 S7-1200程序结构_第2页
电气控制及PLC应用技术(基于西门子S7-1200)活页式 课件 项目五 S7-1200程序结构_第3页
电气控制及PLC应用技术(基于西门子S7-1200)活页式 课件 项目五 S7-1200程序结构_第4页
电气控制及PLC应用技术(基于西门子S7-1200)活页式 课件 项目五 S7-1200程序结构_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

《电气控制及PLC应用技术-基于西门子S7-1200》——活页式教程第一部分低压电器控制知识

第三部分电气控制及PLC应用技术实训指导第二部分西门子S7-1200应用知识

项目三可编程控制器基础知识项目四西门子S7-1200编程基础知识第二部分西门子S7-1200应用知识

项目五S7-1200程序结构项目六可编程控制器程序设计方法项目七可编程控制器系统设计与应用项目八西门子S7-1200通信与网络技术项目九西门子S7-1200高级应用知识卡10S7-1200用户程序结构知识卡11中断事件与中断指令项目五S7-1200程序结构本项目主要介绍西门子S7-1200的程序结构,包含四种块(组织块、函数块、函数、数据块),中断的知识。项目四学习的各类指令是构建程序的基本材料,本程序项目学习的块和中断,加上跳转和循环构成程序的骨架,二者是相辅相成的,清晰的程序结构,会提升编写、调试、维护程序的效率。【知识目标】能区分组织块、函数块、函数和函数;能初步理解中断及中断类型的概念;初步理解模块化编程思路。【能力目标】能使用博途软件编写及调用函数块、函数,设置数据块;能初步应用中断处理各种中断请求,完成实时控制。【素质目标】初步理解并建立模块化程序设计的思维;耐心细致知识卡10S7-1200用户程序结构一、西门子PLC程序结构知识卡10S7-1200用户程序结构一、西门子PLC程序结构1.S7-1200PLC的块

STEP7编程软件提供各种类型的块(BLOCK),可以存放用户程序和相关数据,根据工程项目控制和数据处理的需要,程序可以由不同的块组成。

在工业控制中,程序采用块的概念,便于大规模程序的设计和理解,还可以设计标准化的块程序重复调用,使程序结构清晰明了,修改方便,调试简单。STEP7提供了多种不同类型的组织块(OB),功能块(FB)、功能(FC)和数据块(DB)4种。知识卡10S7-1200用户程序结构一、西门子PLC程序结构

1)组织块(OB)

组织块OB(OrganizationBlock)操作系统与用户程序之间的接口,只有在OB中编写的指令或调用的程序块才能被CPU的操作系统执行。组织块用于控制扫描循环和中断程序的执行、PLC的启动和错误处理等,组织块由用户编写。组织块由操作系统调用,OB间不可互相调用,OB可调用子函数如FB/FC。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构

1)组织块(OB)——组织块的类型程序循环组织块启动组织块中断组织块1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构

1)组织块(OB)——组织块的类型程序循环组织块启动组织块中断组织块程序循环组织块(OB)在CPU处于运行(RUN)状态时循环执行。用户在其中编写控制程序和调用其它用户块。相当于主程序功能,其中的OB1是默认的程序循环组织块。允许使用多个OB。OB的编号一般由系统自动给出,编号从123开始。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构

1)组织块(OB)——组织块的类型程序循环组织块启动组织块中断组织块在CPU开始处理用户程序之前,首先执行启动组织块。启动组织块只在CPU启动时执行一次,以后不再被执行。可以将一些初始化指令编写在启动组织块中,同样允许有多个启动组织块。OB100是默认的启动组织块,其它启动组织块的编号由系统自动给出,编号从123开始。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构

1)组织块(OB)——组织块的类型程序循环组织块启动组织块中断组织块中断组织块用于处理各种类型的中断事件,及时对外部信息进行处理。中断组织块包含延时中断(OB20、OB21、OB22、OB23以及OB123以后的编号)、循环中断(OB30)、硬件中断(OB0)、时间错误中断(OB80)、诊断错误中断(OB82)等5种类型。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构1)组织块(OB)——组织块的优先级

为避免组织块在执行过程中发生冲突,操作系统为每个组织块分配了相应的优先级,如果同时满足几个组织块的执行条件,则系统首先执行优先级高的组织块。其中,启动组织块在CPU工作模式切换到RUN时执行,循环执行组织块在没有中断情况下循环执行,二者的优先级最低为1。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构1)组织块(OB)——组织块的优先级表5.1组织块类型及优先级表组织块类型数量编号优先级程序循环必须有一个OB,允许多个OB1(默认),≥1231启动必须有一个OB,允许多个OB100(默认),≥1231延时中断4个延时OB20(默认)21~233循环中断4个循环OB30(默认),31~334硬件中断HSC16个上升沿和16个下降沿事件共32个OB≥1235边沿6个CV=PV,6个方向改变和6个外部复位共18个OB≥1236时间错误1个OB809诊断错误1个OB82261.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构2)功能块(FB)

功能块FB(FunctionBlock)也称为函数块FB,是由用户自己编写的子程序块或带形参的函数,可以被其它程序块(OB、FC和FB)调用。与FC不同的是FB拥有自己的称为背景数据块的数据存储区,常用于编写复杂功能的函数,例如闭环控制任务。附加背景数据块的函数块,内部含有静态变量,使用背景数据块DB来保存该FB调用实例的数据值,多数情况下需要多个扫描周期内执行完毕。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构3)功能(FC)

功能FC(Function)也称为函数FC,是由用户自己编写的子程序块或带形参的函数,可以被其它程序块(OB、FC和FB)调用。不附加背景数据块的函数,内部不含有静态变量,无需附加背景数据块,一个扫描周期内执行完毕。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构4)数据块(DB)

数据块DB(DataBlock)用户定义的存放数据的区域,有以下两种类型。背景数据块(DB)保存FB的输入、输出变量、静态变量。全局数据块(DB)存储用户数据,所有代码块共享。1.S7-1200PLC的块知识卡10S7-1200用户程序结构一、西门子PLC程序结构2.程序结构线性编程设计模块式程序设计参数化程序设计知识卡10S7-1200用户程序结构一、西门子PLC程序结构1)线性编程设计

将用户的所有指令均放在OB1中,从第一条到最后一条顺序执行。这种方式适用于一个人完成的小项目,不适合多人合作设计和程序调试。2.程序结构知识卡10S7-1200用户程序结构一、西门子PLC程序结构2)模块式程序设计2.程序结构图5.1模块化程序设计

当工程项目比较大时,可以将大项目分解成多个子项目,由不同的人员编写相应的子程序块,在OB1中调用,最终多人合作完成项目的设计与调试,如图5.1所示。知识卡10S7-1200用户程序结构一、西门子PLC程序结构3)参数化程序设计2.程序结构图5.3嵌套调用图5.2参数化程序设计知识卡10S7-1200用户程序结构二、函数编写与调用1.函数的特点2.生成函数3.生成函数的局部数据4.FC1的程序设计5.在OB1中调用FC1知识卡10S7-1200用户程序结构二、函数编写与调用1.函数的特点

函数编写举例:设压力变送器量程的下限为0MPa,上限为HighMPa,经A/D转换后得到0~27648的整数。转换后的数字N和压力P之间的计算公式为:P=(High×N)/27648(MPa)编写函数FC1实现上述运算。

函数FC和函数块FB是用户编写的子程序,它们包含完成特定任务的程序,FC和FB有与调用它的块共享的输入、输出参数。知识卡10S7-1200用户程序结构二、函数编写与调用2.生成函数双击指令树的“添加新块”,单击“添加新块”对话框中的“函数”按钮,FC默认的编号为1,默认的语言为LAD。设置函数的名称为“计算压力”。单击“确定”按钮,生成FC1,如图5.4所示。图5.4添加FC1块知识卡10S7-1200用户程序结构二、函数编写与调用3.生成函数的局部数据

往下拉动程序区最上面的分隔条,分隔条上面是函数的接口区,下面是程序区。

在接口区中生成局部变量,只能在它所在的块中使用,如图5.5所示。图5.4添加FC1块知识卡10S7-1200用户程序结构二、函数编写与调用3.生成函数的局部数据

右键单击项目树中的FC1,单击快捷菜单中的“属性”,选中打开的对话框左边的“属性”打开属性页框,如图5.6所示。去除“优化的块访问”(复选框内的“√”不显示)。成功编译后接口区出现“偏移量”列,只有临时数据才有偏移量。知识卡10S7-1200用户程序结构二、函数编写与调用3.生成函数的局部数据图5.6取消优化的块访问知识卡10S7-1200用户程序结构二、函数编写与调用3.生成函数的局部数据函数各种类型的局部变量的作用:1)输入参数Input用于接收调用它的主调块提供的输入数据。2)输出参数Output用于将块的程序执行结果返回给主调块。3)输入_输出参数InOut的初值由主调块提供,块执行完后用同一个参数将它的值返回给主调块。知识卡10S7-1200用户程序结构二、函数编写与调用3.生成函数的局部数据函数各种类型的局部变量的作用:4)文件夹Return中自动生成的返回值“计算压力”与函数的名称相同,属于输出参数。数据类型为Void,表示函数没有返回值。5)临时数据Temp是暂时保存在局部数据堆栈中的数据。每次调用块之后,临时数据可能被同一优先级中后面调用的块的临时数据覆盖。6)常量Constant是块中使用并且带有符号名的常量。知识卡10S7-1200用户程序结构二、函数编写与调用4.FC1的程序设计FC1程序如图5.7所示,运算的中间结果用临时局部变量“中间变量”保存。STEP7自动地在局部变量的前面添加#号。图5.7FC1程序知识卡10S7-1200用户程序结构二、函数编写与调用5.在OB1中调用FC1在变量表中生成调用FC1时需要的3个变量,如图图5.8(a)所示,将项目树中的FC1拖放到右边的程序区的水平“导线”上。5.8(a)PLC变量表知识卡10S7-1200用户程序结构二、函数编写与调用5.在OB1中调用FC1在变量表中生成调用FC1时需要的3个变量,如图图5.8(a)所示,将项目树中的FC1拖放到右边的程序区的水平“导线”上。5.8(a)PLC变量表知识卡10S7-1200用户程序结构二、函数编写与调用5.在OB1中调用FC1

图5.8(b)OB1调用FC1的程序形参实参知识卡10S7-1200用户程序结构三、函数块编写与调用1.函数块2.生成函数块3.生成函数块的局部变量4.FB1的控制要求与程序5.用于定时器计数器的多重背景6.在OB1中调用FB1知识卡10S7-1200用户程序结构三、函数块编写与调用1.函数块函数块(FB)是用户编写的有自己的存储区(背景数据块)的代码块,FB的典型应用是执行不能在一个扫描周期结束的操作。每次调用函数块时,都需要指定一个背景数据块。该DB随函数的调用而打开,在调用结束时自动关闭。函数块的输入、输出参数和静态局部数据(Static)用指定的背景数据块保存。函数块执行完后,背景数据块中的数据不会丢失。知识卡10S7-1200用户程序结构三、函数块编写与调用2.生成函数块在项目“函数与函数块”中添加名为“电动机控制”的FB1。取消FB1默认的属性“块的优化访问”。知识卡10S7-1200用户程序结构三、函数块编写与调用3.生成函数块的局部变量函数块的输入、输出参数和静态数据用指定的背景数据块保存。在FB中,定时器如果使用一个固定的背景数据块,在同时多次调用该FB时,该数据块将会被同时用于两处或多处。为此在块接口中生成数据类型为IEC_TIMER的静态变量“定时器DB”,用它提供定时器TOF的背景数据知识卡10S7-1200用户程序结构三、函数块编写与调用3.生成函数块的局部变量FB1的接口数据如图5.9所示,其背景数据块如图5.10所示。图5.9FB1的接口数据

图5.10FB1的背景数据块知识卡10S7-1200用户程序结构三、函数块编写与调用4.FB1的控制要求与程序用输入参数“起动按钮”和“停止按钮”控制InOut参数“电动机”。按下停止按钮,断开延时定时器(TOF)开始定时,输出参数“制动器”为1状态,经过输入参数“定时时间”设置的时间预置值后,停止制动,FB1程序如图5.11所示。知识卡10S7-1200用户程序结构三、函数块编写与调用5.用于定时器计数器的多重背景多重背景:在函数块的接口区定义数据类型为IEC_Timer的静态变量(见图5.12),用它们来提供定时器和计数器的背景数据。这种程序结构被称为多重背景。图5.12多重背景知识卡10S7-1200用户程序结构三、函数块编写与调用5.用于定时器计数器的多重背景背景数据设置方法:

将定时器TON方框拖放到FB1的程序区,出现“调用选项”对话框。单击选中“多重背景”,选中列表中的“定时器DB”,用FB1的静态变量“定时器DB”提供TON的背景数据。

这样处理后,多个定时器计数器的背景数据被包含在它们所在的函数块的背景数据块中,而不需要为每个定时器或计数器设置一个单独的背景数据块。知识卡10S7-1200用户程序结构三、函数块编写与调用6.在OB1中调用FB1

在PLC变量表中生成两次调用FB1使用的符号地址。在OB1中两次调用FB1,自动生成背景数据块,为各形参指定实参。OB1程序如图5.13所示。图5.13OB1调用FB1知识卡10S7-1200用户程序结构四、块的区别1.函数与函数块的区别2.组织块与函数块和函数的区别知识卡10S7-1200用户程序结构四、块的区别1.函数与函数块的区别区别1:函数块有背景数据块,函数没有。区别2:只能在函数内部访问它的局部变量。其他代码块或HMI可以访问函数块的背景数据块中的变量。区别3:函数没有静态变量,函数块有保存在背景数据块中的静态变量。知识卡10S7-1200用户程序结构四、块的区别1.函数与函数块的区别区别4:函数块的局部变量(不含Temp)有默认的初始值,函数的局部变量没有默认值。区别5:函数块的输出参数值不仅与来自外部的输入参数有关,还与用静态数据保存的内部状态数据有关。函数没有静态数据,相同的输入参数产生相同的执行结果。知识卡10S7-1200用户程序结构四、块的区别2.组织块与函数块和函数的区别出现事件或故障时,由操作系统调用对应的组织块,函数块FB和函数FC是用户程序在代码块中调用的。组织块OB没有输出参数、InOut参数和静态数据,它的输入参数是操作系统提供的启动信息。用户可以在组织块的接口区生成临时变量和常量。组织块中的程序是用户编写的。知识卡11中断事件与中断指令一、事件与组织块知识卡11中断事件与中断指令一、事件与组织块1.启动组织块的事件组织块OB是操作系统与用户程序的接口,出现启动组织块的事件时,由操作系统调用对应的组织块。如果当前不能调用OB,则按照事件的优先级将其保存到队列。如果没有为该事件分配OB,则会触发默认的系统响应。启动组织块的事件属性如表5.2所示,为1的优先级最低。知识卡11中断事件与中断指令一、事件与组织块1.启动组织块的事件表5.2启动OB事件知识卡11中断事件与中断指令一、事件与组织块1.启动组织块的事件注意:如果插入/移除中央模块,或超过最大循环时间的两倍,CPU将切换到STOP模式。系统忽略过程映像更新时间出现的I/O访问错误。块中有编程错误或I/O访问错误时,保存RUN状态不变。启动事件与程序循环事件不会同时发生,在启动期间,只有诊断错误事件能中断启动事件,其它事件将进入中断队列,在启动事件结束后处理它们。OB用局部变量提供启动信息。知识卡11中断事件与中断指令一、事件与组织块2.事件执行的优先级与中断队列优先级、优先级组合队列用来决定事件服务程序的处理顺序。每个CPU事件均有其优先级。优先级编号越大,优先级越高。时间错误中断具有最高的优先级。事件一般按优先级的高低来处理,先处理高优先级的事件。优先级相同的事件按“先来先服务”的原则来处理。知识卡11中断事件与中断指令一、事件与组织块2.事件执行的优先级与中断队列优先级≥2的OB将中断循环程序的执行。如果设置为OB可中断模式,优先级为2~25的OB可以被优先级高于当前运行的OB的任何事件中断,优先级为26的时间错误中断会中断其它所有的OB。如果未设置可中断模式,优先级为2~25的OB不能被任何事件中断。如果执行可中断OB时发生多个事件,CPU将按照优先级顺序处理这些事件。知识卡11中断事件与中断指令一、事件与组织块3.禁止与激活中断可以用指令DIS_AIRT,将延时处理优先级高于当前组织块的中断OB,输出参数RET_VALUE返回调用DIS_AIRT的次数。发生中断时,调用指令EN_AIRT启用以前调用DIS_AIRT延时的组织块处理。要取消所有的延时,EN_AIRT的执行次数必须与DIS_AIRT的次数相同。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块1.程序循环组织块主程序OB1属于程序循环,CPU在RUN模式时循环执行OB1,可以在OB1中调用FC和FB。如果用户程序生成了其他程序循环OB,CPU按OB编号顺序执行它们。首先执行主程序OB1,然后执行编号大于等于123的程序循环。一般只需要一个程序循环OB。程序循环OB的优先级高低,其他事件都可以中断他们。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块1.程序循环组织块例如:建立新项目,取名为“启动组织块与循环中断组织块”,自动生成程序循环组织块OB1。双击项目数中的“添加新块”,单击“组织块”按钮,选中列表中的“Programcycle”,生成一个程序循环组织块。OB默认的编号为123,语言为LAD。单击“确定”按钮,生成OB123。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块1.程序循环组织块图5.14OB1程序图5.15OB123程序知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块2.启动组织块

启动组织块用于首次扫描时将系统初始化,当CPU从STOP切换到RUN时,执行一次启动OB,执行完成后,读入过程映像输入,开始执行OB1。允许生成多个启动OB,默认的OB是OB100,其它OB的编号应该大于123。一般只需要应该启动OB。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块2.启动组织块图5.16OB100程序用上述方法生成启动组织块OB100,在其中编程给给QB0置初值9,将MB14加1,程序如图5.16所示。可以在仿真时观察OB100的功能是否正常。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块3.循环中断组织块 循环中断组织块以设定的循环时间(1~60000ms)周期性地执行,而与程序循环OB的执行无关。循环中断和延时中断组织块的个数之和最多允许4个。循环中断OB的编号应为OB30~OB38,或大于等于123。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块3.循环中断组织块 例如:在项目中添加新组织块,选择对话框中的“Cycleinterrupt”,将循环中断的时间间隔设置为1000ms,默认的编号为OB30,生成OB30。可以设置循环中断的循环时间和相位偏移。相位偏移用于错开不同时间间隔的几个循环中断OB,默认为0。如果循环中断的时间大于循环时间,将启动时间错误OB。知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块3.循环中断组织块

在OB30编写程序控制8位彩灯循环移位,I0.2控制彩灯是否移位,I0.3控制移位的方向,程序如图5.17所示。图5.17循环中断编程知识卡11中断事件与中断指令二.初始化组织块与循环中断组织块3.循环中断组织块 图5.17循环中断编程在CPU运行期间,在OB1中,可以使用SET_CINT指令重新设置循环中断的循环时间(CYCLE)和相移(PHASE),时间的单位为μs,用QRY_CINT指令查询循环中断的状态。MB9是读取的状态字MW8的低位字节,M9.4为1表示已下载OB30,M9.2为1表示已启用循环中断。知识卡11中断事件与中断指令三.时间中断组织块知识卡11中断事件与中断指令三.时间中断组织块1.时间中断的功能 时间中断又称为“日时钟中断”,用于在设置的日期和时间产生一次中断,或从设置的日期时间开始,周期性地重复产生中断,例如每分钟、每小时、每天、每周、每月、每年产生一次时间中断。可以用专用的指令来设置、激活和取消时间中断。时间中断OB的编号应为10~17,或大于等于123。知识卡11中断事件与中断指令三.时间中断组织块2.编写程序 新建一个“时间中断”的新项目,打开项目,添加一个时间中断组织块,默认的编号为10,默认编程语言为LAD。编写如图5.18所示的程序。图5.18OB10程序知识卡11中断事件与中断指令三.时间中断组织块2.编写程序 图5.19时间中断项目OB1程序调用指令QRY_TINT查询时间中断的状态。调用指令SET_TINTL设置时间中断OB10。调用指令ACT_TINT激活时间中断OB10。调用指令指令CAN_TINT来取消时间中断。知识卡11中断事件与中断指令三.时间中断组织块2.编写程序 图5.19时间中断项目OB1程序参数OB_NR为组织块的编号参数LOCAL为1表示使用本地时间参数PERIOD为16#0201表示每分钟产生一次时间中断。参数ACTIVATE为1时,该指令设置并激活时间中断,为0仅设置时间中断。知识卡11中断事件与中断指令四.硬件中断组织块知识卡11中断事件与中断指令四.硬件中断组织块1.硬件中断事件与硬件中断组织块 硬件中断事件硬件中断事件包括CPU内置的和信号板的DI的上升沿/下降沿事件,高速计数器的实际计数值等于设定值、计数方向改变和外部复位输入信号的上升沿。硬件中断组织块硬件中断组织块用于处理需要快速响应的过程事件。出现硬件中断事件时,立即中止正在执行的程序,改为执行对应的硬件中断OB。最多可以生成50个硬件中断OB,其编号应为40~47,或大于等于123。知识卡11中断事件与中断指令四.硬件中断组织块1.硬件中断事件与硬件中断组织块

如果在执行硬件中断OB期间,同一个中断事件再次发生,则新发生的中断事件丢失。如果一个中断事件发生,在执行该中断OB期间,又发生多个不同的中断事件,则新的中断事件进入队列,等待第一个OB中断事件执行完毕后依次执行。知识卡11中断事件与中断指令四.硬件中断组织块2.硬件中断事件处理方法

给一个事件指定一个硬件中断OB,这种方法最为简单,应优先采用。多个硬件中断OB分时处理一个硬件中断事件,需要使用DETACH指令取消原有的OB与事件的连接,用ATTACH指令将一个新的硬件中断OB分配给中断事件。知识卡11中断事件与中断指令四.硬件中断组织块3.编写程序

新建项目“硬件中断例1”,打开项目视图,双击“添加新块”,选择“组织块”,选择“Hardwareinterrupt(硬件中断)”,生成硬件中断组织块OB40、OB41,组态时将它们分配给I0.0的上升沿事件和I0.1的下降沿事件,如图5.20所示。图5.20组态硬件中断事件知识卡11中断事件与中断指令四.硬件中断组织块3.编写程序

选中巡视窗口的“属性-常规-系统和时钟存储器”,启用系统存储字节MB1。“将OB附加到中断事件”指令ATTACH和“将OB与中断事件分离”指令DETACH分别用于在PLC运行时建立和断开硬件中断事件与中断OB的连接。

下面使用指令ATTACH和DETACH,在出现I0.0上升沿事件时,交替调用硬件中断组织块OB40和OB41,分别将不同的数写入QB0。知识卡11中断事件与中断指令四.硬件中断组织块3.编写程序

选中巡视窗口的“属性-常规-系统和时钟存储器”,启用系统存储字节MB1。“将OB附加到中断事件”指令ATTACH和“将OB与中断事件分离”指令DETACH分别用于在PLC运行时建立和断开硬件中断事件与中断OB的连接。

下面使用指令ATTACH和DETACH,在出现I0.0上升沿事件时,交替调用硬件中断组织块OB40和OB41,分别将不同的数写入QB0。知识卡11中断事件与中断指令四.硬件中断组织块3.编写程序

图5.21OB40程序

在硬件组态时将OB40分配给I0.0的上升沿中断事件。该中断事件出现时,调用OB40。在OB40中,断开该事件与OB40的连接,建立该事件与OB41的连接。

温馨提示

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

评论

0/150

提交评论