S7-200高速计数器使用常问问题

S7-200的高速计数器怎样实现,需要加扩展模块吗?

S7-200 CPU具有集成的、硬件高速计数器。仅CPU本体集成的DI点支持 ,没有支持高速计数器的扩展模块

S7-200的高速计数器支持的数目是多少?

CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器;
CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器;
CPU224 XP高速输入中的两路支持更加高的速度。用作单相脉冲输入时,可以达到200KHz;用作双相90°正交脉冲输入时,速度可达100KHz。

S7-200的高速计数器支持的信号?

计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器

除224XP以外的CPU支持 24V的信号,源型 漏型均
224XP特高速输入点I0.3/I0.4/I0.5支持5 - 24VDC电压的源型或漏型输入;同组其他输入点电压可以仍然是24VDC,但求两者的电源的公共端在1M处连接


S7-200的高速计是否支持差分信号?

不支持差分信号

怎样判断高速计数器的当前计数方向?
如果启用该计数器的输入方向改变中断 可以直接用SM36.5查看
如果没有启用对应中断 SM36.5无效可以参考下面例程 :

“如何在S7-200 PLC中判断A/B相正交计数器的方向”

https://www.ad.siemens.com.cn/download/docMessage.aspx?Id=6636

该功能对A/B正交信号也有效

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

请参考下面链接对应的常问问题:

https://www.ad.siemens.com.cn/download/docMessage.aspx?ID=5990&loginID=&srno=&sendtime=

怎样测定高速脉冲串的频率和速度

用户可以使用使用“Frequency”指令库,该指令库的下载和具体步骤参考下面链接:

https://support.industry.siemens.com/cs/document/27864874?dti=0&lc=zh-CN

注意:该库程序只能被调用一次,多次调用会导致频率计算错误。

使用高速计数器功能时,是否组要在系统块中修改高速计数器使用的数字量输入点的滤波参数?

不需要。S7-200高数计数器不受数字量输入滤波器的限制。

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

下载多路频率库:Frequency

CPU 224 XP 的高速计数器模式 12,是否可以计数 30 KHz 以上的脉冲?

CPU 224 XP 支持最多 100 KHz 的高速脉冲输出。S7-200 系列 CPU 只有高速计数器 HSC0, HSC3 能够被设置为模式 12,使用的输入端子为I0.0, I0.1,而不是特高速输入端子:I0.3、I0.4、I0.5。非特高速脉冲信号输入端由于硬件电路的限制(如光电耦合等)只能支持最高 30 KHz 的高速脉冲输入。

用户使用高速计数器模式 12 时不需要任何外部连线,Q0.0(Q0.1) 与 I0.0(I0.1) 通过集成电路内部关联,越过了外部信号处理电路,因此 HSC0(HSC1) 可以计 100KHz 或者更高频率的脉冲。用户在使用向导配置 S7-200 内部 PTO/PWM 操作时,勾选“使用高速计数器HSCx(模式12)自动计数线性 PTO 生成的脉冲”即可。

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

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

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

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

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

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

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

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

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

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

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

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

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