SIMATIC S7 PLC原理及应用 教学课件 ppt 作者 龙志文 第四章 西门子200(3)

上传人:E**** 文档编号:89184174 上传时间:2019-05-20 格式:PPT 页数:92 大小:2.80MB
返回 下载 相关 举报
SIMATIC S7 PLC原理及应用  教学课件 ppt 作者 龙志文 第四章 西门子200(3)_第1页
第1页 / 共92页
SIMATIC S7 PLC原理及应用  教学课件 ppt 作者 龙志文 第四章 西门子200(3)_第2页
第2页 / 共92页
SIMATIC S7 PLC原理及应用  教学课件 ppt 作者 龙志文 第四章 西门子200(3)_第3页
第3页 / 共92页
SIMATIC S7 PLC原理及应用  教学课件 ppt 作者 龙志文 第四章 西门子200(3)_第4页
第4页 / 共92页
SIMATIC S7 PLC原理及应用  教学课件 ppt 作者 龙志文 第四章 西门子200(3)_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《SIMATIC S7 PLC原理及应用 教学课件 ppt 作者 龙志文 第四章 西门子200(3)》由会员分享,可在线阅读,更多相关《SIMATIC S7 PLC原理及应用 教学课件 ppt 作者 龙志文 第四章 西门子200(3)(92页珍藏版)》请在金锄头文库上搜索。

1、【例4-29】采用中断指令完成每隔0.1s将模拟量输入值采集进来,存放在VW10中。 分析: 要完成定时采集输入信号,可以定时中断0或1来完成,并将定时值送到MW34或MW35中,并将中断事件号(10或11)与中断服务程序连接(ATCH)起来。 定时中断的目的是完成模拟量的采集过程,所以中断服务程序应该是采集模拟量。 具体的参考程序如图4-74所示,本程序采用定时中断0来完成控制。,图4-74 定时采集模拟量程序,(三)高速计数器(High Speed Counter)指令 普通计数器是按照顺序扫描的方式进行工作,在每个扫描周期中,对计数脉冲只能进行一次累加。然而,当输入脉冲信号的频率比PLC

2、的扫描频率高时,普通计数器将无法正确完成计数任务。在PLC中,处理比扫描频率高的输入信号的任务是由高速计数器来完成的。 在S7-200CPU内置46个高速计数器(HSC0HSC5,其中CPU221和CPU222不支持HSC1及HSC2)。这些高速计数器工作频率可达到20kHz,有12种工作模式,而且不影响CPU性能。,1高速计数器的工作模式 高速计数器共有12种工作模式,大体可分为四类: (1)带内部方向控制的单向计数器,这类计数器只有一个计数输入端,工作模式为模式0、1、2; (2)带外部方向控制的单向计数器,这类计数器只有一个计数输入端,增加了一个外部输入点来控制计数方向(增计数还是减计数

3、),工作模式为模式3、4、5; (3)双向计数器,这类计数器有两个计数输入端,一个增计数输入端,一个减计数输入端。这类计数器的工作模式为模式6、7、8; (4)正交计数器,这种计数器有两个时钟脉冲输入端,一个输入端叫A相,一个输入端叫B相。当A相时钟脉冲超前B相时钟脉冲时,计数器进行增计数。当A相时钟脉冲滞后B相时钟脉冲时,计数器进行减计数。这类计数器的工作模式为模式9、10、11。在正交模式下,可选择1倍或4倍计数速率来计数。 对于相同的操作模式,全部计数器的运行方式均相同,并非每种计数器均支持全部工作模式。HSC0、HSC3、HSC4、HSC5的工作模式见表4-29。 HSC1、HSC2的

4、工作模式见表4-30。,表4-29 高速计数器工作模式(一),表4-30 高速计数器工作模式(二),*注:上两表中所用到的输入点如果不使用高速计数器,可作为一般的数字量输入点,或作为中断事件的输入点。只有在使用高速计数器时,才分配给高速计数器。,2高速计数器引发的中断事件 为了满足高速计数器的计数频率,使得无法实时监控高速计数器的当前值,而且高速计数器也不存在自己的触点。即对于高速计数器的运行监控是通过中断来完成的,全部高速计数器均支持当前值等于设定值(CV=PV)中断,并且除HC3和HC5外还支持计数方向改变中断和外部复位中断。由表4-28可以看出,与高速计数器有关的中断事件共有14个,整理

5、后如表4-31所示。,表4-31 高速计数器引发的中断事件,3高速计数器的状态字 为了监视高速计数器的工作状态,执行由高速计数器引起的中断事件,每个高速计数器都在特殊继电器区SMB安排一个状态字节,该字节的低5位(04位)均未使用,其高三位反映了这个计数器的工作状态,表示当前计数方向以及当前值是否大于或等于预设数值。高速计数器的状态字的有效位见表4-32。,表4-32 高速计数器的状态字,*注:只有执行高速计数器的中断程序时,状态字节的状态位才有效,4高速计数器的控制字 定义计数器及计数器模式后,可对计数器动态参数进行编程。各高速计数器均有控制字节,可起动或关闭计数器、控制方向(只用于模式0、

6、1、2)或其它全部模式的初试计数方向、装载当前数值及预设数值。高速计数器的控制字见表4-33。,表4-33 高速计数器的控制字节,5高速计数器的当前值和设定值 每个高速计数器都有一个32位的当前值寄存器和一个32位的设定值寄存器,当前值和设定值都是有符号整数。为了向高速计数器装入新的当前值和设定值,必须设定包含当前值或设定值的控制字节及特殊内存字节。然后执行HSC指令,使新数值传送到高速计数器。表4-34列举了用于装入新当前值及设定值的特殊内存字节。,表4-34 高速计数器的当前值和设定值,6高速计数器指令 高速计数器的指令有2条:定义高速计数器指令HDEF和执行高速计数指令HSC。 (1)定

7、义高速计数器指令HDEF(High-speed counter Definition) HDEF指令的功能是为某个要使用的高速计数器选定一种工作模式。每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且每个高速计数器只能有一种工作模式,即只能定义一次。其格式如图4-75所示,图4-75 定义高速计数器指令HDEF,定义高速计数器指令有两个数据输入端: HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为05的常数,分别对应HSC0HSC5; MODE为高速计数器的工作模式,数据类型为字节型,数据范围为011的常数,分别对应12种工作模式。当允许输入EN有效时,为指定的高速计数

8、器HSC定义工作模式MODE。 影响高速计数器允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0003(输入冲突),0004(中断中的非法指令),000A(HSC重新定义)。,(2)执行高速计数指令HSC(High-Speed Counter) 高速计数器在定义之后,高速计数器在复位、更新当前值、更新设定值时,都要使用执行高速计数器指令HSC,执行HSC的目的是使高速计数器的设置生效,按照指定的工作模式执行计数操作。,执行高速计数指令有一个数据输入端N: N为高速计数器的编号,数据类型为字型,数据范围为05的常数,分别对应高速计数器HC0HC5。当允许输入EN有效时,启动N号高速计

9、数器工作。 影响HSC指令允许输出ENO正常工作的出错条件为:SM4.3(运行时间),0001(在HDEF之前使用HSC),0005(同时使用HSC/PLS)。,图4-76 执行高速计数器指令HSC,7高速计数器的初始化 由于高速计数器的HDEF指令在进入RUN模式后只能执行一次,为了使减少程序运行时间,优化程序结构,一般以子程序的形式进行初始化。下面以HC1为例,介绍高速计数器的各个工作模式的初始化步骤。 (1)调用初始化程序:利用SM0.1来调用一个初始化子程序。 (2)装载控制字:在初始化子程序中,根据需要向SMB47装入控制字节。 例如: 对于模式0,1,2来说,SMB47=16#F8

10、,其意义是:允许计数,允许写入新的当前值,允许写入新的设定值,计数方向为增计数,启动和复位信号均为高电平有效。 对于模式3,4,5来说,SMB47=16#F8,其意义是:允许计数,允许写入新的当前值,允许写入新的设定值,计数方向由外部输入点I0.7控制(I0.7=0为减,I0.7=1为增),启动和复位信号均为高电平有效。 对于模式6,7,8来说,SMB47=16#F8,其意义是:允许计数,允许写入新的当前值,允许写入新的设定值,I0.6为增脉冲输入端,T0.7为减脉冲输入端,启动和复位信号均为高电平有效。 对于模式6,7,8来说,SMB47=16#F8,其意义是:允许计数,允许写入新的当前值,

11、允许写入新的设定值,计数方向为增计数,启动和复位信号均为高电平有效,计数频率为4倍频。如果SMB47=16#FC时,计数频率改为1倍频。,(3)执行HDEF指令:HSC端为1(选择1号高速计数器),MODE端为011(12种模式区别见表4-30)。 (4)装载高速计数器的当前值:将希望的当前计数值装入SMD48(装载0进行清除)。 (5)装载高速计数器的设定值:将希望的设定值装入SMD52(双字尺寸数值)。 (6)设置中断:如果希望捕获当前值等于设定值,将CV=PV中断事件(事件13)与中断程序连接(ATCH),并编写中断服务程序;如果希望捕获外部复位中断事件,编写与中断事件号15相关联的中断

12、服务程序。 (7)全局开中断:执行ENI指令,启动全局中断。 (8)执行HSC指令:执行HSC指令,使S7-200对HSC1进行编程。 (9)退出初始化子程序。,【例4-30】高速计数器应用举例:某产品包装生产线应用高速计数器对产品进行累计和包装,每检测到500个产品时,自动启动包装机进行包装,计数方向由内部信号控制(增计数),能够手动复位采用的PLC为S7-200的CPU222。 设计步骤: 选择高速计数器,确定工作模式。 在本例题中,选择的高速计数器为HC0,由于要求计数方向可由外部信号控制,且不要求复位信号输入,确定工作模式为模式3。采用当前值等于设定值的中断事件,中断事件号为12,启动

13、包装机工作子程序。高速计数器的初始化采用子程序。 用SM0.1调用高速计数器初始化子程序,子程序号为SBR_0。 向SMB37写入控制字,SMB37=16#F8。,执行HDEF指令,输入参数:HSC为0,MODE为1,需要2个输入端:I0.0为脉冲端,I0.2为手动复位端。 向SMD38写入当前值,SMD38=0。 向SMD42写入设定值,SMD42=500。 执行建立中断连接指令ATCH,输入参数:INT为INT_0,EVNT为12。 编写中断服务程序INT0,在本例题中为调用包装机控制子程序,子程序号为SBR_1。 执行全局开中断指令ENI。 执行HSC指令,对高速计数器编程并投入运行。

14、控制系统的梯形图程序如图4-77所示。,图4-77 高速计数器应用举例,(四)高速脉冲输出指令PLS(Pulse) 在需要对负载进行高精度控制时,例如对步进电机的控制,需要对步进电机提供一系列的脉冲,PLC的高速脉冲输出功能就是为了满足这种需要而开发的。 S7-200每个CPU有两个PTO/PWM生成器,输出高速脉冲序列及脉宽调制波形。指令格式如图4-78所示,图4-78 高速脉冲输出指令,高速脉冲输出指令的功能是当允许输入EN有效时,检测各个相关特殊继电器的状态,激活由控制字节定义的高速脉冲输出操作。PLS指令只有一个数据输入端Q,只能取常数0或1,对应从Q0.0或Q0.1输出高速脉冲。,1

15、高速脉冲输出端子 在S7-200中,只有输出继电器Q0.0和Q0.1具有高速脉冲输出功能,如果不需要进行高速脉冲输出时,Q0.0和Q0.1可以作为普通的数字量输出点使用。一旦需要使用高速脉冲输出功能时,必须通过Q0.0和Q0.1输出高速脉冲,同时不能有其他附加功能。 2高速脉冲输出形式 高速脉冲输出有两种输出形式: (1)高速脉冲序列(或称高速脉冲串)输出PTO(Pulse Train Output),功能是提供周期及脉冲数目由用户控制的方波(50%占空比)输出。 (2)脉冲宽度调制输出PWM(Pulse Width Modulation),功能是提供周期时间及脉宽时间由用户控制的、持续的变化

16、的占空比输出,其中周期时间与脉宽时间间的关系如图4-79所示。,图4-79 PWM输出形式,3.与高速脉冲输出控制相关的特殊继电器 在S7-200中,如果使用高速脉冲输出功能时,都对应一些特殊继电器,包括1个8位的状态字节(SMB66,对应Q0.0,或SMB76,对应Q0.1),1个8位的控制字节(SMB67或SMB77),2个16位的时间寄存器(SMB68或SMB78,存周期时间,SMB70或SMB80(只有PWM使用),存脉宽时间),1个32位的PTO计数器(SMB72或SMB82),1个8位的段数寄存器(SMB166或SMB176),1个16位的偏移地址寄存器(SMB168或SMB178)。通过这些特殊继电器,来控制高速脉冲输出的工作状态,输出形式及设置各种参数。,(1)高速脉冲输出的状态字节 在采用PTO输出形式时,Q0.0和Q0.1都有一个状态字节来监控PTO的运行状态,分别为SMB66和SMB67,它们的低四位均未使用,其高四位的功能见表4-35。,表4-35 PTO输出的状态字节,(2)高速脉冲输出的控制字节 高速脉冲输出的控制字节

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号