常问问题:

1.为什么S7-200 SMART 高速计数器在低频率下计数正常,而在高频率下无法计数?

答:在 S7-200 中,HSC 旁路了输入滤波。而在 S7-200 SMART 中,HSC 没有旁路输入滤波,因此系统块中设置的输入滤波会影响H SC,这样可以有助于一些用户避免高频干扰。默认的滤波时间 6.4ms 可以允许计数的最高频率是78 HZ,如果要计数更高频率的信号,必须调整相应的滤波时间。 最大频率与滤波时间的对应关系请查看表5。

滤波时间的设置在 “系统块” 的 “数字量输入” 选项设置,如下图:

2.S7-200 SMART 高速计数器是否支持模式12?

不支持。

3.高速计数器怎样占用输入点?

高速计数器根据被定义的工作模式,按需要占用CPU上的数字量输入点。每一个计数器都按其工作模式占用固定的输入点。在某个模式下没有用到的输入点,仍然可以用作普通输入点;被计数器占用的输入点(如外部复位),在用户程序中仍然可以访问到。

4.S7-200 SMART CPU能否支持5 V编码器?

ST20、ST30 CPU的I0.0~I0.3,I0.6~I0.7,ST40、ST60 CPU的I0.0~I0.3可以支持。

5.S7-200 SMART CPU能否连接差分输出的编码器?

不能。由于查分数出的信号需要专门的差分信号接收器件,而S7-200 SMART CPU不具备这样的差分接口,所以无法直接连接差分输出的编码器。

6.为什么高速计数器不能正常工作?

在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF 指令时对计数器的设定。

7.对高速计数器如何寻址? 为什么从SMDx中读不出当前的计数值?

可以直接用HC0;HC1;HC2;HC3;HC4;HC5对不同的高速计数器进行寻址读取当前值,也可以在状态表中输入上述地址直接监视高速计数器的当前值。SMDx不存储当前值,参见上述表2。

高速计数器的计数值是一个32位的有符号整数。

8.高速计数器如何复位到0?

9.高速计数器的值在复位后是复位到初始值还是“0”值?

外部复位会将当前值复位到0值而不是初始值;内部复位则将当前值复位到初始值(若初始值设为”0“,则内部复位也是复位到”0“值)。如果你设定了可更新初始值,但在中断中未给初始值特殊寄存器赋新值,则在执行HSC 指令后,它将按初始化时设定的初始值赋值。

10.为何给高速计数器赋初始值和预置值时后不起作用,或效果出乎意料?

高速计数器可以在初始化或者运行中更改设置,如初始值、预置值。其操作步骤应当是:

  1. 设置控制字节的更新选项。需要更新哪个设置数据,就把控制字节中相应的控制位置位(设置为“1”);不需要改变的设置,相应的控制位就不能设置
  2. 然后将所需 的值送入初始值和预置值控制寄存器
  3. 执行HSC指令

11.高速计数器为什么会丢失脉冲?

  1. 要先确认丢失脉冲的结论是如何得到的,通过什么方式得知丢失脉冲,这种方式是否可靠。
  2. 确认脉冲发生源是否能够正常工作且与HSC的硬件输入指标匹配,比如逻辑电平阈值、最高频率等。
  3. 确认传输过程是否可靠,电缆的长度与屏蔽是否都符合规范。
  4. CPU侧硬件工作正常。
  5. 确认程序的使用是否正确。
  6. 确认HSC的工作机制是否能与客户工艺要求匹配,比如在初始化HSC时,是否有脉冲输入,因为此时脉冲无法被检测到。

12.如何用高速输入脉冲测定瞬时流量?

请参考:用高速输入脉冲测定瞬时流量

13.怎样检测多路高速计数器的频率?

下载多路频率库:Frequency