《可编程控制器应用技术》课件第8章_第1页
《可编程控制器应用技术》课件第8章_第2页
《可编程控制器应用技术》课件第8章_第3页
《可编程控制器应用技术》课件第8章_第4页
《可编程控制器应用技术》课件第8章_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

8.1电梯的构造及控制要求

8.2PLC在高速计数器定位电梯控制中的应用

8.3相关知识:中断与高速处理指令

习题第8章PLC在电梯控制中的应用8.1电梯的构造及控制要求8.1.1电梯的构造电梯是一种特殊的起重运输设备,由轿厢及配重、拖动电机及减速传动机械、井道及井道设备、召唤系统及安全装置构成,如图8-1所示。轿厢是载人或装货的部位,配重是为了改变电梯电机负载的特性以提高电梯安全性能而设计的。由图8-1可见电梯的轿厢及配重分配在钢丝绳的两端,钢丝绳跨挂在曳引轮上,曳引轮经减速机构由电动机拖动,形成轿厢的上下运动。图8-1电梯拖动系统示意图井道指建筑物中用于安装电梯并提供电梯运行的通道,轿厢及配重都是在井道中运行的。井道在各楼层设有门厅及呼梯设备。门厅有门厅门,厅门顶部装有楼层指示灯,用于指示电梯的运行方向及电梯所在的位置。门厅里还设有呼梯盒,用于在每层站召唤电梯。呼梯盒常安装在厅门外离地面1m左右的墙壁上,基站与顶站的呼梯盒上只有一个按钮,中间层站的呼梯盒上有上呼和下呼两个按钮,按钮下带有呼梯记忆灯。基站的呼梯盒上还设有钥匙开关,供司机开关电梯。为了实现轿厢的正常运行及准确停车,井道中往往要安装许多定位装置及安全设备。井道的顶部和底部设有冲顶及蹲底的缓冲设备。轿厢中设有自动门机,用来完成电梯的开门及关门任务。电梯门分厅门及轿门,当电梯停靠某层时,此层的厅门在轿门的带动下开启及关闭。电梯的操纵箱也安装在轿厢内,供司机及乘客发布动作命令。上面设有与电梯层站数相同的内选层按钮(带内选指示记忆灯),上下行启动按钮(带上下行指示记忆灯),开关门按钮,急停按钮,风扇、照明、楼层指示灯的控制开关,电梯运行状态选择钥匙开关(选择电梯是自动运行、司机状态下运行,还是检修状态等)。

电梯的安全是电梯最重要的技术指标。电梯的安全设备有:安全窗及其开关、安全钳及其开关、限速器及其开关、限速开关等。安全窗位于轿厢的顶部,供紧急情况下疏散乘客,当安全窗打开时,电梯不准运行。安全钳是为了防止电梯曳引钢绳断裂及超速运行的机械装置,用以在上述情况下将轿厢夹持在轨道上。限速器是检测电梯运行速度的装置,当电梯超速运行时,限速器动作,带动安全钳使电梯停止运行。极限开关、强迫换速开关是电梯位置安全装置,当电梯运行至上下极限位置时仍不停车,上下限开关动作,发出停车信号。若仍不能停车,可压下上下强迫停车开关,强制电梯停止运行。若还不能停车,将通过机械装置带动极限开关切断曳引电机电源,以达到停车的目的,避免电梯出现冲顶或蹲底事故。8.1.2电梯控制要求

电梯的安全运行有以下主要控制要求。

1.

电梯位置的确定与显示

轿厢中的乘客及门厅中等待电梯的人都需要知道电梯的位置,因而轿厢及门厅中都设有以楼层标志的电梯位置。但这还不够,电梯的运行还需要更加准确的电梯位置信号,以满足制动停车等控制的需要。传统电梯的位置信号一般由设在井道中的位置开关如磁感应器提供,当轿厢上设置的隔磁板插入感应器时,发出位置信号,并启动楼层指示(见图8-2)。图8-2电梯的平层、停层装置

2.

轿厢内的运行命令及门厅的召唤信号

司机及乘客可按下轿厢内操控盘上的选层按钮选定电梯运行的目的楼层,此为内选信号。按钮按下后,该信号应被记忆并使相应的指示灯点亮。在门厅等候电梯的乘客可以按门厅的上行或下行召唤信号,此为外唤信号。该信号也需记忆并点亮门厅的上行或下行指示灯,这些保持信号在要求得到满足时应能自动消号。

3.

电梯自动运行时的信号响应

电梯自动运行时应根据内选及外唤信号,决定电梯的运行方向及在哪些站点停站。一般情况下,电梯按先上后下的原则安排运送乘客的次序,而且规定在运行方向确定之后,不响应中途的反向呼唤要求,直到到达本方向的最远站点才开始返程。

4.

轿厢的启动与运行

轿厢在运行方向确定且轿厢门已关好时启动运行,运行的初始阶段是加速运行阶段,其后是稳定运行阶段。

5.

轿厢的平层与停车

轿厢运行后需确定在哪一层站停车,平层即是指停车时,轿厢的底与门厅“地平面”应相平齐,一般有具体的平层误差规定,如平层时两平面相差不得超过5

mm。平层停车过程需在轿厢底面与停车楼面相平之前开始,先是减速,再是制动,以满足平层的准确性及乘客的舒适感。传统电梯的平层开始信号由平层感应器发出。如图8-2所示,上平层感应器KR6及下平层感应器KR7装在轿厢顶部,隔磁铁板安装在井道壁上。上行时,KR6首先插入隔磁铁板,发出减速信号,电梯开始减速,至KR7插入隔磁铁板时,发出开门及停车信号,电动机停转,抱闸抱死;下行时,KR7首先插入隔磁铁板,发出减速信号,电梯开始减速,至KR6插入隔磁铁板时,发出开门及停车信号。

6.

安全保护

电梯的安全保护很多,如前边提到的冲顶与蹲底,断钢丝绳,轿厢内人员的跌落、逃生等保护,还有消防运行等多项。

除了控制要求以外,电梯常见的工程问题还涉及电梯的拖动设备及拖动控制方式。电梯的提升机构——齿轮曳引机主要由驱动电动机、电磁制动器(也称电磁抱闸)、减速器及曳引轮组成。驱动电机可以是直流电动机也可以是交流电动机。为了满足电梯运行过程中速度变化的要求,在应用变频器前,电梯交流拖动多使用多绕组变速电机。变频器诞生以来,已有越来越多的电梯采用变频驱动。采用变速电机时,电机的正反向运转使用接触器换相,启动调速采取改变电机绕组及切换电机绕组中所串电阻来实现。采用变频调速时,电机换向及变速都通过变频器控制端子来实现。在这两种拖动方式中,电磁抱闸都是很重要的,它是电机制动的主要设备,抱闸要求有足够的制动力,一般在通电时打开,断电时闸死。

电梯还有一些高层次的性能指标,如电机加减速曲线控制及高准确度的平层控制要求等。前者涉及电梯运行过程中的加速度大小,关系到乘客的舒适感;后者涉及乘客数量变化对准确平层的影响。

总之,电梯的控制是比较复杂的,在计算机诞生以前,在电梯使用继电接触器控制的时代,很难生产出质量优良的电梯,而现在,可编程控制器的使用为电梯的控制提供了广阔的空间。随着PLC应用技术的不断发展,它已经成为电梯运行中的关键技术。8.2PLC在高速计数器定位电梯控制中的应用

平层信号都是依靠安装在井道中的位置传感器得到的。当楼层数多时,这类信号的数量多,设备的安装及维修都有一定的困难,这些信号还要占用PLC的许多输入口,那么电梯的定位控制有没有别的方法呢?本节以5层电梯为例介绍高速计数器定位变频调速电梯,它的编程方法有许多新颖之处,为此需先了解光电编码及高速计数的有关知识。8.2.1光电编码器与高速计数器

1.

光电编码器的结构及工作原理

光电编码器是一种新型的转速及定位控制用传感器,其工作原理可以用图8-3中的光电编码盘说明。光电编码盘是沿圆周开有均匀的孔或齿的圆盘,一发光元件及一光敏元件分置在盘的两边,当圆盘转动时,光时而通过孔或齿隙照到光敏元件上,时而被圆盘阻挡,这样光敏元件上就产生了脉冲串波形的电信号。将该信号放大、整形,就能用来测量转速及位移。对于光电编码盘来说,显然其中的齿孔越多控制的分辨率越高,但由于尺寸及加工能力的限制,码盘的齿孔数是不可能太多的。但光电编码器又不一样,光电编码器中的“码盘”引入了光栅技术,多层光栅的使用,使光电编码器在旋转一周时可以产生数千乃至上万的脉冲以满足高精度的转速及定位控制要求。

不过,具体到电梯的控制时,并不要求编码器有那么高的分辨率,轿厢运动1mm,能产生数个脉冲也就可以了。如果希望编码器在产生脉冲的同时解决转向判断的问题,则在编码器中设两套光电装置即可(图8-3中安装了包括零位测量用在内的三套)。两套光电装置产生的脉冲的相位有一定的差别,这样就产生了方向信号,如A装置产生脉冲相位超前于B相时是正转的,则反转时B装置产生脉冲的相位就会超前于A装置产生的脉冲相位。

下边讨论的电梯中,将能产生A相、B相两相信号的光电编码器安装在曳引轮上,为了讨论的方便,假定轿厢运行1mm,编码器产生1个脉冲。图8-3光电编码盘结构示意图

2.

PLC的高速计数器及高速计数器指令

高速计数器是PLC的编程软元件。相对于普通计数器,高速计数器用于频率高于机内扫描频率的机外脉冲计数。由于计数信号频率高,计数以中断方式工作,计数器的启动、复位或计数方向的变化也多使用机外信号。近年来的微型或小型PLC新品都配置了高速计数器。以S7-200系列PLC为例,各型CPU支持的高速计数器数量及信号频率见表8-1。表中HSC0~HSC5均为32位双向计数器。相对每一种CPU而言,符合表中所规定的配置数量时,高速计数器的最高频率不受影响。

PLC的高速计数器都是可编程的。S7-200系列PLC高速计数器有12种不同的工作模式,共4大类。

(1)

内部方向控制的单向增/减计数器(模式0~2)。它没有外部控制方向的输入信号,由内部控制计数方向,只能作单向增或减计数,有一个计数输入端。

(2)

外部方向控制的单向增/减计数器(模式3~5)。它由外部输入信号控制计数方向,只能作单向增或减计数,有一个计数输入端。

(3)

有增和减计数脉冲输入的双向计数器(模式6~8)。它有两个计数输入端、增计数端及减计数端。

(4)

A/B相正交计数器(模式9~11)。它有两个计数脉冲输入端,即A相计数脉冲输入端及B相计数脉冲输入端。A、B相脉冲的相位互为90°。当A相计数脉冲超前B相计数脉冲时,计数器为增计数,反之进行减计数。在正交模式下,可选择1倍(1x)或4倍(4x)模式。表8-2给出了HSC0~HSC5可配置实现的工作模式及所占用的机器资源。

结合5层电梯的控制,选CPU226为主体机,扩展一个16输入/16输出的混合数字量模块组成系统。选高速计数器HSC1作为轿厢的定位计数器。配置为A/B相正交计数器,工作模式为11。由表8-2可知,光电编码器的A相及B相计数信号分别接入PLC的I0.6及I0.7,外部复位信号接入I0.2,外部启动信号接入I1.1。

表8-3为S7-200系列CPU高速计数器指令。其中定义高速计数器指令(HDEF)用于定义某高速计数器的工作模式,高速计数器指令(HSC)用于计数的执行。除了选定工作模式,安排输入端口外,在程序中还需为规定的存储单元送入高速计数器的控制字及初始值、设定值。图8-4是为5层电梯控制用高速计数器HSC1编制的初始化程序。图8-4高速计数器初始化

初始化安排在PLC上电时刻,程序完成的任务有(控制字见表8-10和表8-11,预置值和当前值见表8-12):

(1)

为HSC1的控制字SMB47送入16#DC,其含义为:复位高电平有效,启动高电平有效,1倍率计数,初设计数方向增,可更新计数方向,不更新预置值,更新初值,允许计数。

(2)

设置HSC1工作模式为11。

(3)

将断电电梯保持位置用存储单元中的电梯现实位置值送入HSC1的初值存储单元SMD48。

(4)

将30000送入HSC1的预置值存储单元SMD52。

(5)

安排计数方向变化中断,并编写一段中断程序重置SMB47为16#DC。

(6)

使能中断程序并激活高速计数器HSC1。8.2.2基于高速计数器的轿厢位置

确定高速计数器HSC1经以上初始化后,在光电编码器的驱动下完成计数工作,当轿厢上升时加计数,当轿厢下降时减计数,高速计数器的当前值即是轿厢在井道中的准确位置。例如,楼层高度为5m,正常运行时计数范围为0~20

000,HSC1初始化程序中设定预置值为30

000,这是因为在程序中并不打算利用当前值等于预置值事件,便设置了一个永远不可能达到的数字。

轿厢位置的确定有多重用处。其一是实现门厅及轿厢内楼层数字的指示;其二是用于运行定向;其三是用于确定平层制动的时刻。图8-5为当前楼层指示信号获取梯形图。每层楼上下各安排20

mm轿厢当前位置指示切换区间,当轿厢到达该区间时,将轿厢当前位置数据送到层楼当前值存储单元VB5保存,VB5中的数值即用来作为门厅及轿厢处楼层显示数据。

为了电梯运行之初的调试及维修时修正机械原因产生的计数器定位误差,可在程序中安排定位自学习程序,通过检修运行获得各层的准确数据。图8-5楼层指示信号的获取8.2.3内呼外唤及定向信号的获取

轿厢内停层信号及门厅上下呼唤信号均需保持并在满足要求时消号。其主要差别是内选各层的辅助继电器及外呼各层上下行辅助继电器除了要控制各自的指示灯外还需要做两件事,一件事是选出呼梯楼层的最大值及最小值并分别送到上升通道及下降通道,另一件事是将所有呼梯信号状态送到规定的存储单元存储。图8-6为上升通道最大值数据获得的梯形图,图中VB15为上升通道存储器,另设有VB17为下降通道存储器。图8-6上升通道数据的获取

电梯上行还是下行的确定是把上升通道、下降通道里的数据与轿厢当前值存储器里的数据比较得出的。为了保证电梯先执行上行后执行下行的原则成立,程序初始化后首先比较上升通道里的数据与轿厢位置的当前值,如果前者大于后者,则将上行辅助继电器M21.1置1。如果在上升途中有更高楼层的呼梯信号,上升通道内的数值将变大,以保证电梯上升到有呼梯的“最高层”。到达有呼梯的“最高层”后,允许将下降通道里的数据与轿厢位置的当前值进行比较,如果前者小于后者,则将M21.2置1,确定下行。在“最高层”时,没有任何呼梯信号,这时可将位置通道的数据传给下降通道,形成比较值相等的局面,以维持电梯的悬停状态,并等待呼梯信号的到来。电梯下降过程的情况与此类似。另外,电梯上升到达第五层时,M21.2自动置1,到达第一层时,M21.1自动置1。上升和下降还可以通过装在轿厢中的上行下行选择按钮强制变更。

定向信号确定后,关好轿厢门,电梯则启动运行。本电梯采用变频调速,运行速度可以通过变频器多段转速设置端设定,制动、反向过程不再叙述。8.2.4表功能指令

表功能指令如表8-4所示。

1.填表指令

填表(Add

To

Table,ATT)指令向表(TBL)中增加一个字(DATA)。表内的第一个数是表的最大长度(TL),第二个数是表内实际的项数(EC)。新数据被放入表内上一次填入的数的后面。每向表内填入一个新的数据,EC自动加1。除了TL和EC外,表最多可以装入100个数据。TBL为WORD型,DATA为INT型。

使ENO=0的错误条件:SM1.4(表溢出),SM4.3(运行时间),0006(间接地址),0091(操作数超限)。该指令影响SM1.4,填入表的数据过多时,SM1.4将被置1。

2.

查表指令

查表(Table

Find,FND)指令从指针INDX所指的地址开始查表TBL,搜索与数据PTN的关系满足CMD定义的条件的数据。命令参数CMD=1~4,分别代表“=”、“<>”、“<”和“>”。如果发现了一个符合条件的数据,则INDX指向该数据。要查找下一个符合条件的数据,再次启动查表指令之前,应先将INDX加1。如果没有找到,则INDX的数值等于EC。一个表最多有100个填表数据,数据的编号为0~99。

TBL和INDX为WORD型,PTN为INT型,CMD为字节型。

使ENO=0的错误条件:SM4.3(运行时间),0006(间接地址),0091(操作数超出范围)。

用FND指令查找ATT、LIFO和FIFO指令生成的表时,实际填表数(EC)和输入的数据相对应,查表指令并不需要ATT、LIFO和FIFO指令中的最大填表数TL,因此,查表指令的TBL操作数应比ATT、LIFO或FIFO指令的TBL操作数高两个字节。

【例8-1】图8-7中的I2.1接通时,从EC地址为VW202的表中查找等于(CMD=1)

16#3130的数。为了从头开始查找,AC1的初值为0。查表指令执行后,AC1=2,找到了满足条件的数据2。查表中剩余的数据之前,AC1(INDX)应加1。第二次执行后AC1=4,找到了满足条件的数据4,将AC1再次加1。第三次执行后,AC1等于表中填入的项数6(EC),表示表已查完,没有找到符合条件的数据。再次查表之前,应将INDX清0。图8-7查表指令操作举例

3.

先入先出指令

先入先出(First

In

First

Out,FIFO)指令从表(TBL)中移走最先放进的第一个数据(数据0),并将它送入DATA指定的地址,表中剩下的各项依次向上移动一个位置。每次执行此指令时,表中的项数EC减1。TABLE为INT型,DATA为WORD型。

使ENO=0的错误条件:SM1.5(空表),SM4.3(运行时间),0006(间接地址),0091(操作数超出范围)。如果试图从空表中移走数据,则特殊存储器位SM1.5将被置为1。

4.

后入先出指令

后入先出(Last

In

First

Out,LIFO)指令从表(TBL)中移走最后放进的数据,并将它送入DATA指定的位置,剩下的各项依次向上移动一个位置。每次执行此指令时,表中的项数EC减1。TABLE为INT型,DATA为WORD型。

该指令使ENO=0的错误条件和受影响的特殊存储器位同FIFO指令。8.2.5停层信号的获取

在运行方向确定的前提下,电梯的停层信号由查表指令确定。为了使用该指令,可在存储单元中设置内呼(停车)信号表、外上呼信号表及外下呼信号表,如图8-8所示。从图中可以看到,为各个楼层安排的呼唤信号的数据号码与楼层号正好是相同的。当某层有对应的呼唤信号时,即将楼层数存入该单元,这样表中的楼号数据也是唯一的(没有呼唤时相关表格内填写0)。图8-8内外召唤通道安排

确定前方停层站的程序如图8-9所示。停层判断在每次电机启动后进行,每次只查询本方向前一站是否停层。程序中先将轿厢当前层数加1(下降时减速1),然后将加过1后的层数与内呼表及外唤表中的数据进行比较,查找表中是否有与前方层站数相同的数字。如果有,就发出停层信号;如果没有,则前方站不停,当轿厢越过不停的站时,随着轿位置当前值的变化,下一轮的查询工作又开始进行。查表顺序为先查内停层命令表,查不到再查同向的外召唤表。图8-9停车信号的产生8.2.6采用模糊控制原理的平层控制

在发出了停层信号且轿厢运行到达平层开始位置时,电梯开始平层过程。采用变频器供电时,制动主要针对变频器的各端子操作,先断开变频器的运行控制端,变频器依事先设定的停车曲线控制输出频率的变化,并在到达下闸位置时,断开电磁抱闸的电源,电机强行制动。

采用高速计数器定位电梯平层控制的一个明显优点是平层开始位置可以根据电梯的实际载重计算得出。如电梯平层前速度是常值,电梯乘坐的人越多,则电梯总的运行惯量就越大,制动越困难,为了准确平层则需要将平层开始的位置提前。这在使用固定位置传感器的电梯中是无法做到的。

为了得到较高的平层精度,平层控制采用模糊控制实现。电梯中一般都装有载荷传感器,最一般的功能是超荷报警。现采用载荷传感器将实际乘客重量分为轻(S)、偏轻(MS)、中等(M)、偏重(MB)及重(B)等5挡,并安排5挡平层距离,如表8-5所示。平层距离栏中字母分别代表距离小、较小、中等、较大及大等5挡。

为了得到准确的平层距离数据,还设计了平层距离调整表,如表8-6所示。表中e为平层误差,参考有关标准,定义为±15

mm,共分为负大(NB)、负偏大(NMB)、负中(NM)、负偏小(NMS)、负小(NS)、零(ZE)、正小(PS)、正偏小(PMS)、正中(PM)、正偏大(PMB)、正大(PB)等11挡。表中m为上面介绍过的5挡重量,表的中部为平层距离调整系数。

电梯运行时,先执行表8-5,得到一个平层距离并以此平层得到平层误差,再执行表8-6得到一个调节量,并依据调节量对表8-5中得到的平层距离进行修正。此过程反复进行,直到得到的平层误差为NS、ZE或PS为止,这时所得到的修正过的表8-5就是合适的平层距离。具体编程时,可对表8-6作出处理,并对每个格子用纵横坐标编号,就可以用前边所提到的查表指令实现模糊运算。

平层控制在确定在某层停车后执行,先调用该层的理想平层停靠数据,再结合模糊控制计算得出平层开始时轿厢的位置数据,并以此数据开始平层动作。

采用高速计数器作为轿厢的定位设备在楼层较少时并没有明显的优点,但在高层建筑中的优势是不言而喻的。本例的电梯位置计量采用绝对值计数方式,另还有相对值计数编程方式,对层高相等的高层建筑电梯比较适用。8.3相关知识:中断与高速处理指令8.3.1中断程序与中断指令

1.中断程序

中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。因为不能预知系统何时调用中断程序,故它不能改写其他程序使用的存储器,因此应在中断程序中使用局部变量。在中断程序中可以调用一级子程序,累加器和逻辑堆栈在中断程序和被调用的子程序中是公用的。

可采用下列方法创建中断程序:在“编辑”菜单中选择“插入”→“中断”,在程序编辑器视窗中单击鼠标右键,从弹出菜单中选择“插入”→“中断”;用鼠标右键单击指令树上的“程序块”图标,并从弹出菜单中选择“插入”→“中断”。创建成功后程序编辑器将显示新的中断程序,程序编辑器底部出现标有新的中断程序的标签,可以对新的中断程序编程。

中断处理提供对特殊内部事件或外部事件的快速响应。应优化中断程序,执行完某项特定任务后立即返回主程序。应使中断程序尽量短小,以减少中断程序的执行时间,减少对其他处理的延迟,否则可能引起主程序控制的设备操作异常。设计中断程序时应遵循“越短越好”的原则。

2.中断指令

各种中断指令如表8-7所示。

1)全局性的中断允许指令与中断禁止指令

中断允许指令ENI(Enable

Interrupt)全局性地允许处理所有被连接的中断事件。

禁止中断指令DISI(Disable

Interrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。

进入RUN模式时自动禁止中断。在RUN模式执行全局中断允许指令后,各中断事件发生时是否会执行中断程序,取决于是否执行了该中断事件的中断连接指令。

使ENO=0的错误条件:SM4.3(运行时间),0004(在中断程序中执行ENI、DISI、HDEF指令)。

中断程序有条件返回指令CRETI(Conditional

RETurn

from

Interrupt)在控制它的逻辑条件满足时从中断程序返回。编程软件自动地为各中断程序添加无条件返回指令。

2)中断连接指令与中断分离指令

中断连接指令ATCH(Attach

Interrupt)用来建立中断事件(EVENT)和处理此事件的中断程序(INT)之间的联系。中断事件由中断事件号指定(见表8-8),中断程序由中断程序号指定。为某个中断事件指定中断程序后,该中断事件被自动地允许。

使ATCH指令的ENO=0的错误条件:SM4.3(运行时间),0002(HSC输入赋值冲突)。

中断分离指令DTCH(Detach

Interrupt)用来断开中断事件(EVENT)与中断程序(INT)之间的联系,从而禁止单个中断事件。

在启动中断程序之前,应在中断事件和该事件发生时希望执行的中断程序之间,用ATCH指令建立联系,使用ATCH指令后,该中断程序在事件发生时被自动启动。

多个中断事件可以调用同一个中断程序,但一个中断事件不能调用多个中断程序。中断被允许且中断事件发生时,将执行为该事件指定的最后一个中断程序。

在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。

3.中断优先级与中断队列溢出

中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断、定时中断(最低优先级)。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。一旦一个中断程序开始执行,它要一直执行到完成,即使另一程序的优先级较高,也不能中断正在执行的中断程序。正在处理其他中断时发生的中断事件要排队等待处理。3个中断队列及其能保存的最大中断个数如表8-9所示。

如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被DISI指令禁止,则中断队列溢出状态位被置l。只应在中断程序中使用这些位,因为当队列变空或返回主程序时这些位被复位。

1)通信口中断

可编程序控制器的串行通信口可由用户程序控制,通信口的这种操作模式称为自由端口模式。在该模式下,接收信息完成、发送信息完成和接收一个字符均可产生中断事件,利用接收和发送中断可简化程序对通信的控制。

2) I/O中断

I/O中断包括上升沿中断、下降沿中断、高速计数器(HSC)中断和脉冲列输出(PTO)中断。CPU可用输入点I0.0~I0.3的上升沿或下降沿产生中断。高速计数器中断允许响应HSC的计数当前值等于设定值、计数方向改变(相应于轴转动的方向改变)和计数器外部复位等中断事件。高速计数器可实时响应高速事件,而可编程序控制器的扫描工作方式不能快速响应这些高速事件。完成指定脉冲数输出时也可以产生中断,脉冲列输出可用于步进电机等。

【例8-2】在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降沿通过中断使Q0.0立即复位。

//主程序OB1

LD SM0.1

ATCH INT_0,0 //I0.0上升沿时执行0号中断程序

ATCH INT_1,3 //I0.1下降沿时执行1号中断程序

ENI// //允许全局中断

//中断程序0(INT_0)

LD SM0.0

SI Q0.0,1 //使Q0.0立即置位

//中断程序1(INT_1)

LD SM0.0

RI Q0.0,1 //使Q0.0立即复位

3)定时中断

可用定时中断来执行一个周期性的操作,以1ms为增量,周期的时间可取1~255

ms。定时中断0和中断1的时间间隔分别写入特殊存储器字节SMB34和SMB35。每当定时器的定时时间到时,执行相应的定时中断程序,例如可以用定时中断来采集模拟量和执行PID程序(如9.5.4节)。如果定时中断事件已被连接到一个定时中断程序,为了改变定时中断的时间间隔,首先必须修改SMB34或SMB35的值,然后重新把中断程序连接到定时中断事件上。重新连接时,定时中断功能清除前一次连接的定时值,并用新的定时值重新开始定时。

定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,则定时中断被禁止。如果执行了全局中断禁止指令,则定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。

定时器T32/T96中断允许及时地响应一个给定的时间间隔,这些中断只支持1ms分辨率的通电延时定时器(TON)和断电延时定时器(TOF)即T32和T96。一旦中断允许,当定时器的当前值等于设定值时,在CPU的1ms定时刷新中,将执行被连接的中断程序。

【例8-3】定时中断的定时时间最长为255ms,用定时中断1实现周期为2s的高精度定时。

为了实现周期为2s的高精度周期性操作的定时,可以将定时中断的定时时间间隔设为250ms,在定时中断1的中断程序中,将VB0加1,然后用比较指令判断VB0是否等于8。若相等(中断了8次,对应的时间间隔为2s),在中断程序中执行每2s一次的操作,例如使QB0加1。语句表程序如下: //主程序OB1

LD SM0.1

MOVB 0,VB0 //将中断次数计数器清零

MOVB 250,SMB34 //设定时中断0的中断时间间隔为250ms

ATCH INT_0,10 //指定产生定时中断0时执行0号中断程序

ENI //允许全局中断

//中断程序0(INT_0),每隔250ms执行一次

LD SM0.0

INCB VB10 //中断次数计数器加1

LDB= 8,VB10 //如果中断了8次(2s)

MOVB 0,VB10 //将中断次数计数器清零

INCB QBO //每2s将QB0加18.3.2高速处理指令

1.高速计数器与高速脉冲输出指令

可编程序控制器的普通计数器的计数过程与扫描工作方式有关,CPU通过每一扫描周读取一次被测信号的方法来捕捉被测信号的上升沿,被测信号的频率较高时,会丢失计数脉冲,因此普通计数器的工作频率很低,一般仅有几十赫兹。高速计数器可以对普通计数器无能为力的事件进行计数,CPU221和CPU222有4个高速计数器,其余的CPU有6个高速计数器,最高计数频率为30

kHz,可设置多达12种不同的操作模式。

一般来说,高速计数器与鼓形定时器配套使用,该设备有一个安装了增量式编码器的轴,它以恒定的转速旋转。编码器每圈发出一定数量的计数时钟脉冲和一个复位脉冲,作为高速计数器的输入。高速计数器有一组预置值,开始运行时装入第一个预置值,当前计数值小于当前预置值时,设置的输出有效。当前计数值等于预置值或有外部复位信号时,产生中断。发生当前计数值等于预置值的中断时,装载入新的预置值,并设置下一阶段的输出。有复位中断事件发生时,设置第一个预置值和第一个输出状态,循环又重新开始。

因为中断事件产生的速率远远低于高速计数器计数脉冲的速率,所以用高速计数器可实现高速运动的精确控制,并且与可编程序控制器的扫描周期的关系不大。

1)高速计数器的状态字节

每个高速计数器都有一个状态字节,给出了当前计数方向和当前值是否大于或等于预置值(见表8-10)。只有在执行高速计数器的中断程序时,状态位才有效。监视高速计数器状态的目的是响应正在进行的操作所引发的事件产生的中断。

2)高速计数器的控制字节

只有定义了高速计数器和它的计数模式,才能对高速计数器的动态参数进行编程。各高速计数器均有一个控制字节,各位的意义如表8-11所示。执行HSC指令时,CPU检查控制字节和有关的当前值与预置值。

执行HDEF指令之前必须将这些控制位设置成需要的状态,否则计数器将采用所选计数器模式的默认设置。默认设置为:复位输入和启动输入高电平有效,正交计数速率为输入时钟频率的4倍。执行HDEF指令后,就不能再改变计数器设置,除非CPU进入停止模式。

3)预置值和当前值的设置

各高速计数器均有一个32位的预置值和一个32位的当前值,预置值和当前值均为有符号双字整数。为了向高速计数器写入新的预置值和当前值,必须先设置控制字节,令其第5位和第6位为1,允许更新预置值和当前值,并将预置值和当前值存入表8-12所示的特殊存储中,然后执行HSC指令,从而将新的值送给高速计数器。

高速计数器的当前值可以用HCx(HC为高速计数器的当前值,x=0~5)的格式读出。因此,读操作可直接访问当前值,但写操作只能用上述的HSC指令来实现。

2.高速脉冲输出

脉冲输出指令(PLS)检查为脉冲输出(Q0.0或Q0.1)设置的特殊存储器位(SM),然后启动由特殊存储器位定义的脉冲操作(见图8-10)。脉冲由Q0.0和Q0.1输出,指令的操作数Q=0或1。

每个CPU有两个PTO/PWM(脉冲列/脉冲宽度调制器)发生器,分别通过数字量输出点Q0.0或Q0.1输出高速脉冲列和脉冲宽度可调的波形。图8-10脉冲输出指令

PTO/PWM发生器与输出映像寄存器共同使用Q0.0及Q0.1。当Q0.0或Q0.1被设置为PTO或PWM功能时,PTO/PWM发生器控制输出,在输出点禁止使用数字输出功能,此时输出波形不受映像寄存器的状态、输出强制或立即输出指令的影响。不使用PTO/PWM发生器时,Q0.0与Q0.1作为普通的数字输出使用。建议在启动PTO或PWM操作之前,用R指令将Q0.0或Q0.1的映像寄存器置为0。

脉冲列(PTO)功能提供周期与脉冲数目可由用户控制的方波(50%占空比)输出,脉冲宽度与脉冲周期之比称为占空比。脉冲宽度调制(PWM,简称脉宽调制)功能提供连续的、周期与脉冲宽度可由用户控制的输出。

每个PTO/PWM生成器有一个8位的控制字节,一个16位无符号的周期值或脉冲宽度值,以及一个无符号32位脉冲计数值。这些值全部存储在指定的特殊存储器(SM)区,它们被设置好后,通过执行脉冲输出指令(PLS)来启动操作。PLS指令使S7-200读取SM位,并对PTO/PWM发生器进行编程。

通过修改SM区(包括控制字节),然后再执行PLS指令,可改变PTO或PWM输出波形的特性。将控制字节(SM67.7或SM77.7)的PTO/PWM允许位置为0,然后执行PLS指令,则在任意时刻均可禁止PTO或PWM波形输出。

所有控制字节、周期、脉冲宽度和脉冲数的默认值均为0。PTO/PWM的输出负载至少应为额定负载的10%,才能提供陡直的上升沿或下降沿。

3.PWM操作

PWM功能提供可变占空比的脉冲输出,时间基准可为μs或ms,周期的变化范围为50~65

535

μs或2~65

535

ms,脉冲宽度的变化范围为0~65

535

μs或0~65

535

ms。

当指定的脉冲宽度值大于周期值时,占空比为100%,输出连续接通。当脉冲宽度为0时,占空比为0%,输出断开。如果指定的周期小于两个时间单位,则周期被设为默认值(两个时间单位)。可用以下两种方法改变PWM波形的特性。

1)同步更新

如果不要求改变时间基准,即可以进行同步更新。同步更新时,波形特性的变化发生在两个周期的交界处,可实现平滑过渡。

2)异步更新

PWM的典型操作是脉冲宽度变化但周期保持不变,因此不要求改变时间基准。如果需要改变PTO/PWM发生器的时间基准,则应使用异步更新。异步更新瞬时关闭PTO/PWM发生器,与PWM的输出波形不同步,可能引起被控设备的抖动。因此建议选择一个适用于所有周期时间的时间基准,使用同步PWM更新。

控制字节中的“PWM更新方式位”(SM67.4或SM77.4)用来指定更新类型,执行PLS指令使改变生效。如果改变了时间基准,不管PWM更新方式位的状态如何,都会产生一个异步更新。

4.PTO操作

PTO功能生成指定脉冲数目的方波(占空比为50%)脉冲列。周期的单位可选用μs或ms,周期的范围为50~65

535

μs或2~65

535

ms。如果设定的周期为奇数,则不能保证占空比为50%。脉冲计数范围为1~4

294

967

295。

如果周期小于两个时间单位,则周期被默认为两个时间单位。如果指定的脉冲数为0,则脉冲数默认为1。

状态字节(SM66.7或SM76.7)中的PTO空闲位用来指示可编程脉冲列输出结束。可以在脉冲列结束时启动中断程序。如果使用多段操作,将在包络表(Profile

Table)完成时调用中断程序(请参看下面的多段流水线)。

PTO功能允许脉冲列排队。当激活的脉冲列输出完成时,立即开始新脉冲列的输出,这样可以保证输出脉冲列的连续性。

有两种流水线(Pipelining)方式:单段流水线和多段流水线。

1)单段流水线

在单段流水线中,需要为下一脉冲列更新SM。启动了初始PTO段后,必须按照第二段波形的要求立即修改SM,并再次执行PLS指令。流水线中每次只能存储一段脉冲列的参数,第一段脉冲列发送完成后,接着输出第二段脉冲列;重复上述过程,输入新的脉冲列参数。除了下面的情况外,脉冲列之间可以平稳地过渡:

(1)

改变了时间基准。

(2)

利用PLS指令捕捉到新的脉冲列设置之前,激活脉冲列已经完成。当流水线已满时,如果试图装入脉冲列参数,状态寄存器中的PTO溢出位(SM66.6或SM76.6)被置1。可编程控制器进入RUN模式时,该位被初始化为0。如果检测到溢出,则必须手工清除该位。

2)多段流水线

在多段流水线中,CPU从V存储器的包络表中自动读取各脉冲列段的特性。该模式下仅使用特殊存储器区的控制字节和状态字节。选择多段操作时必须在SMW168或SMW178中装

温馨提示

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

评论

0/150

提交评论