- 384
- 0
- 约1.71千字
- 约 20页
- 2019-05-05 发布于中国
- 举报
* 高速计数器与中断程序 计数器:当输入使能每发出一个上正跳变脉冲信号, 并且当系统扫描到时,(每个扫描周期只能 计数一次) 计数器的当前值加1 或减1,当前值等于设定值或当前值等于零 时,触点改变当前状态,而触发其他条件并 输出,外部设备响应,达到控制要求。当输 入使能脉冲高于扫描周期时,侧计数器将丢 失输入信号,失去精度。 高速计数器:采集高速脉冲信号,不受扫描周期影响。 计数方式是由中断计数,(加或减计数 ) 当前值与设定值均为有符号32位数 据类型,数值范围-21亿----+21亿。 在S7-200中有6个高速计数器,根据不同类型的CPU所分配的高速计数器数量不同,见下表。 每个高速计数器的输入地址和功能是不一样的,由(siemens)系统规定,在使用高速计数器时必须遵守以上规定,并且按实际需求选择合适的高速计数器。不同的高速计数器所选的工作模式不同,共有13种工作模式,根据模式不同,计数方式不同。比如,单向计数,双相计数,AB相计数等。 高速计数器的频率:每秒中的脉冲数。单位为 HZ S7-200高速脉冲模块,所发出的脉冲最高为200K HZ 以下为高速计数器的输入分配及模式选型表 每个高速计数器都有不同的特殊控制字节,用来定义和修改高速计数器的计数方向。 常用的控制字节 16#F8: 更新当前值加计数 16#B8: 不更新当前值加计数 16#B0: 不更新当前值减计数 特殊控制字节见下表 高速计数器只需脉冲触发一次即可,必须满足以下条件。 (1)定义高速计数器的工作模式 (2)选择高速计数器的编号 (3)定义高速计数器的模式 (4)激活高速计数器 在修改高速计数器设定值和复位当前值时,需修改对应的控制字节见上图。 高速计数器有三种方式触发中断,1当前值等于设定值,2计数方向改变,3外部信号复位。 高速计数器举例 定义控制字节 高速计数器编号(0~5) 定义计数模式(0~12) 激活由N指定的高速计数器 中断程序 中断程序共有128个,0---127.由外部事件触发,通过操作系统调用一个扫描周期,为实现快速响应,中断程序尽可能简短, 在中断程序中尽量不使用定时器和计数器,中断程序中可以调用子程序。 以下是中断程序的触发事件(中断源)表。 中断程序以脉冲触发激活,一次激活长期有效,在定义中断程序时必须先创建中断程序编号,否则会出现系统错误。在创建中断程序时,要定义中断程序编号,中断事件号,最后激活。 以下图是中断程序案例 中断程序指令 连接中断指令 中断程序号(0~127) 中断事件号(0~33) (ENI) 允许中断 在未激活ENI之前,所发生的中断事件,处于排队状态。一旦允许中断,所有中断事件按优先级别执行相对应的中断程序。 分离对应的中断连接 禁止中断 例:用中断做单按钮控制。I0.0控制Q0.0 例:中断程序精确计时 10号中断事件 事件对应的字节,定时100ms 每100MS中断一次,对中断程 序执行一个扫描周期 允许中断 *
原创力文档

文档评论(0)