内容发布更新时间 : 2024/12/23 10:58:15星期一 下面是文章的全部内容请认真阅读。
高速脉冲计数器
高速计数器专用输入 高速计数器 使用的输入 HSC0 I0.0, I0.1, 0.2
HSC1 I0.6, I0.7, I1.0, I1.1 HSC2 I1.2, I1.3, I1.4, I1.5 HSC3 I0.1
HSC4 I0.3, I0.4, I0.5 HSC5 I0.4
有些高速计数器和边缘中断的输入点赋值存在某些重叠。同一个输入不能用于两种不同的功能;但是高速计数器当前模式未使用的任何输入均可用于其他目的。例如,如果在模式2中使用HSC0,模式2使用I0.0和I0.2,则I0.1可用于边缘中断或用于HSC3。
如果所用的HSC0模式不使用输入I0.1,则该输入可用于HSC3或边缘中断。与此相似,如果所选的HSC0模式不使用I0.2,则该输入可用于边缘中断;如果所选HSC4模式不使用I0.4,则该输入可用于HSC5。 请注意HSC0的所有模式均使用I0.0,HSC4的所有模式均使用I0.3,因此当使用这些计数器时,这些输入点绝不会用于其他用途。 HSC模式 说明(中断描述) HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 0 1 2 3 4 5 6 7 8 9 10 11 12 仅HSC0和HSC3支持模式12。 HSC0计数Q0.0输出的脉冲数。 HSC3计数Q0.1输出的脉冲数。 A/B相正交计数器 具有内部方向控制的单相计数器 具有外部方向控制的单相计数器 具有两个时钟输入的双向计数器 I0.0 I0.6 I1.2 I0.1 I0.3 I0.4 时钟 时钟 时钟 时钟 时钟 时钟 增计数脉冲 增计数脉冲 增计数脉冲 时钟脉冲A 时钟脉冲A 时钟脉冲A 输入点 I0.1 I0.7 I1.3 I0.4 方向 方向 方向 减计数脉冲 减计数脉冲 减计数脉冲 时钟脉冲B 时钟脉冲B 时钟脉冲B I0.2 I1.0 I1.1 I1.4 I1.5 I0.5 复位 复位 复位 复位 复位 启动 复位 启动 复位 启动 复位 启动 四台计数器有三个控制位,用于配置复原和起始输入的激活状态并选择1x或4x计数模式(仅限正交计数器)。这些控制位位于各自计数器的控制字节内,只在执行HDEF指令时才使用。
执行HDEF指令之前,必须将这些控制位设为所需的状态,否则计数器采用所选计数器模式的默认配置。复原输入和起始输入的默认设置为现用水平高,正交计数速率为4x(或4乘以输入时钟频率)。一旦执行了HDEF指令,就不能再改变计数器设置,除非首先将CPU设为STOP(停止)模式。
下表 复位和启动输入的有效电平以及1x/4x控制位
HSC0 SM37.0 - SM37.2 HSC1 SM47.0 SM47.1 SM47.2 HSC2 HSC4 HDEF控制位(仅在执行HDEF时使用)说明 \复原\的有效控制位**: 0 = 复原现用水平高 1 = 复原现用水平低 起动有效电平控制位**: 0 = 起始现用水平高 1 = 起始现用水平低 \正交\计数器的计数速率选项: 0 = 4x计数速率 1 = 1x计数速率 SM57.0 SM147.0 SM57.1 - SM57.2 SM147.2 **缺省设置为:复位输入和启动输入高电平有效,正交计数率为四倍速(四倍输入时钟频率)。
定义控制字节
一旦定义了计数器和计数器模式,您就可以为计数器动态参数编程。每台高速计数器均有一个控制字节,允许完成以下作业: * 启用或禁止计数器
* 控制方向(仅限模式0、1和2)或初始化所有其他模式的计数方向 * 载入当前值
通过执行HSC指令可激活控制字节以及相关当前值和预设值检查。下表说明每个控制位。 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 中断描述 计数方向控制位: 0=减计数; 1=增计数 向HSC中写入计数方向: 0=不更新; 1=更新 计数方向 向HSC中写入预置值: 0=不更新; 1=更新预置值 向HSC中写入新的初始值: 0=不更新; 1=更新初始值 启用HSC: 0 = 禁用HSC 1 = 启用HSC SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 设置当前值和预设值 每台高速计数器都有一个32位初始值和一个32位预设值,初始值和预设值均为带符号的整数值。欲向高速计数器载入新的初始值和预设值,您必须设置包含初始值和/或预设值的控制字节及特殊内存字节。然后您必须执行HSC指令,将新数值传输至高速计数器。下表说明用于包含新当前值和预设值的特殊内存字节。
除控制字节以及新预设值和当前值保持字节外,还可以使用数据类型HC(高速计数器当前值)加计数器号码(0、1、2、3、4或5)读取每台高速计数器的当前值。因此,读取操作可直接存取当前值,但只有用上述HSC指令才能执行写入操作。
载入数值 新初始值 新预设值 HSC0 SMD38 SMD42 HSC1 SMD48 SMD52 HSC2 SMD58 SMD62 HSC3 SMD138 SMD142 HSC4 SMD148 SMD152 HSC5 SMD158 SMD162 指定中断 所指有定计中数断器模式都支持在HSC的当前值等于预设值时产生一个中断事件。使用外部复位端的计数模式支持外部复位中断。除去模式0、1和2之外,所有计数器模式支持计数方向改变中断。每种中断条件都可以分别使能或者禁止。要得到关于使用中断的更多信息,参见通讯和中断指令一节
注:当使用外部复位中断时,不要写入初始值,或者是在该中断服务程序中禁止再允许高速计数器,否则会产生一个致命错误。
状态字节
每个高速计数器都有一个状态字节,其中的状态存储位指出了当前计数方向,当前值是否大于或者等于预置值。下表给出了每个高速计数器状态位的定义
提示:只有在执行中断服务程序时,状态位才有效。监视高速计数器状态的目的是使其它事件能够产生中断以完成更重要的操作。 HSC0到HSC5的状态位 HSC0 HSC1 HSC2 HSC3 HSC4 HSC5 中断描述 不用 不用 不用 不用 不用 当前值等于预置值状态位 0=不等; 1=相等 SM36.0 SM46.0 SM56.0 SM136.0 SM146.0 SM156.0 SM36.1 SM46.1 SM56.1 SM136.1 SM146.1 SM156.1 SM36.2 SM46.2 SM56.2 SM136.2 SM146.2 SM156.2 SM36.3 SM46.3 SM56.3 SM136.3 SM146.3 SM156.3 SM36.4 SM46.4 SM56.4 SM136.4 SM146.4 SM156.4 SM36.6 SM46.6 SM56.6 SM136.6 SM146.6 SM156.6 SM36.5 SM46.5 SM56.5 SM136.5 SM146.5 SM156.5 当前计数方向状态位 0=减计数; 1=增计数 SM36.7 SM46.7 SM56.7 SM136.7 SM146.7 SM156.7 当前值大于预置值状态位:0=小于等于;1=大于 脉冲输出指令
脉冲输出(PLS)指令被用于控制在高速输出(Q0.0和Q0.1)中提供的\脉冲串输出\(PTO)和\脉宽调制\(PWM)功能。PTO提供方波(50%占空比)输出,配备周期和脉冲数用户控制功能。PWM提供连续性变量占空比输出,配备周期和脉宽用户控制功能。
识别S7-200高速输出指令
S7-200有两台PTO/PWM发生器,建立高速脉冲串或脉宽调节信号信号波形。一台发生器指定给数字输出点Q0.0,另一台发生器指定给数字输出点Q0.1。一个指定的特殊内存(SM)位置为每台发生器存储以下数据:一个控制字节(8位值)、一个脉冲计数值(一个不带符号的32位值)和一个周期和脉宽值(一个不带符号的16位值)。
PTO/PWM发生器和过程映像寄存器共用Q0.0和Q0.1。PTO或PWM功能在Q0.0或Q0.1位置现用时,PTO/PWM发生器控制输出,并禁止输出点的正常使用。输出信号波形不受过程映像寄存器状态、点强迫数值、执行立即输出指令的影响。PTO/PWM发生器非现用时,输出控制转交给过程映像寄存器。过程映像寄存器决定输出信号波形的初始和最终状态,使信号波形在高位或低位开始和结束。 注释
? 在启用PTO或PWM操作之前,将用于Q0.0和Q0.1的过程映像寄存器设为0。 ? 所有的控制位、周期、脉宽和脉冲计数值的默认值均为0
? PTO/PWM输出必须至少有10%的额定负载,才能提供陡直的上升沿和下降沿。
每台PTO/PWM发生器有一个控制字节(8位),一个周期值和脉宽值(不带符号的16位值)和一个脉冲计值(不带符号的32位值)。这些值全部存储在特殊内存(SM)区域的指定位置。一旦设置这些特殊内存位的位置,选择所需的操作后,执行脉冲输出指令(PLS)即启动操作。该指令使S7-200读取SM位置,并为PTO/PWM发生器编程。
通过修改SM区域中(包括控制字节)要求的位置,您可以更改PTO或PWM的信号波形特征,然后执行PLS指令。您可以在任意时间向控制字节(SM67.7或SM77.7)的PTO/PWM启用位写入零,禁用PTO或PWM信号波形的生成,然后执行PLS指令。
脉冲串操作(PTO)
PTO按照给定的脉冲个数和周期输出一串方波(占空比50%)。(见右图)PTO可以产生单段脉冲串或者多段串(使用脉冲包络)。可以指定脉冲数和周期(以微秒或毫秒为增加量):
- 脉冲个数: 1到4,294,967,295 - 周期: 10μs到 65,535μs或者
2ms 到 65,535ms。