『7x24小时有问必答』

固件版本V1.0 的CPU SR20、 CPU SR40、 CPUST40 、CPU SR60 和 CPU ST60可以使用4个60kHz单相高速计数器或2个40kHz的两相高速计数器,而CPU CR40可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器。
固件版本V2.0 到V2.2的标准型CPU(ST/SR20、ST/SR30、ST/SR40、ST/SR60)可以使用4个200kHz单相高速计数器或2个100kHz的两相高速计数器,而紧凑型CPU CR40、CR60可以使用4个100kHz单相高速计数器或2个50kHz的两相高速计数器。
固件版本V2.3 的标准型CPU支持6个高速计数器,具体请参考表1和表2。
表1 标准CPU高速计数器
 标准型CPU 参数CPU SR20

AC/DC/Relay
CPU ST20

DC/DC/DC
CPU SR30

AC/DC/Relay
CPU ST30

DC/DC/DC
CPU ST40 DC/DC/DCCPU SR40 AC/DC/RelayCPU ST60

DC/DC/DC
CPU SR60

AC/DC/Relay
高速计数器6(全部)6(全部)6(全部)6(全部)——单相/双相4 @ 200 KHz +2 @30 KHz5 @ 200 KHz +1 @30 KHz4 @ 200 KHz +2 @30 KHz4 @ 200 KHz +2 @30 KHz——A/B相2 @ 100 KHz+ 2@20Kz3 @ 100 KHz+ 1@20Kz2 @ 100 KHz+ 2@20Kz2 @ 100 KHz+ 2@20Kz
表2 经济型CPU参数
 经济型CPU 参数CPU CR20s

AC/DC/Relay
CPU CR30s

AC/DC/Relay
CPU CR40s AC/DC/RelayCPU CR60s

AC/DC/Relay
高速计数器4(全部)——单相/双相4 @100 KHz4 @ 100 KHz4 @ 100 KHz4 @ 100 KHz——A/B相2 @ 50 KHz2 @ 50 KHz2 @ 50 KHz2 @ 50 KHz
计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器。
表3. 高速计数器的模式及输入点:
模式描述输入点 HSC0I0.0I0.1I0.4HSC1I0.1

HSC2I0.2I0.3I0.5HSC3I0.3

HSC4I0.6I0.7I1.2HSC5I1.0I1.1I1.30带有内部方向控制的单相计数器时钟

1时钟

复位3带有外部方向控制的单相计数器时钟方向

4时钟方向复位6带有增减计数时钟的双相计数器增时钟减时钟

7增时钟减时钟复位9A/B相正交计数器时钟A时钟B

10时钟A时钟B复位

表4. 高速计数器的寻址
高速计数器号HSC0HSC1HSC2HSC3HSC4HSC5新当前值(新 CV)SMD38SMD48SMD58SMD138SMD148SMD158新预置值(新 PV)SMD42SMD52SMD62SMD142SMD152SMD162当前计数值(仅读出)HC0HC1HC2HC3HC4HC5
高速计数器的具体编程及相关的中断和其它参数,请参见《S7-200 SMART 系统手册》,上面有详细的阐述及例程。
下面有编程向导
高速输入降噪
要正确操作高速计数器,可能需要执行以下一项或两项操作:

● 调整 HSC 通道所用输入通道的“系统块”数字量输入滤波时间。在 S7-200 SMART CPU 中。在 HSC 通道对脉冲进行计数前应用输入滤波。这意味着,如果 HSC 输入脉冲以输入滤波过滤掉的速率发生,则 HSC 不会在输入上检测到任何脉冲。请务必将 HSC 的每路输入的滤波时间组态为允许以应用需要的速率进行计数的值。包括方向和复位输入。下表显示可检测到的每种输入滤波组态的最大输入频率。
表5.输入滤波设置和可检测到的最大输入频率
输入滤波时间可检测到的最大频率0.2μs200KHz (标准型CPU)

100KHz(紧凑型或经济型CPU)
0.4μs200KHz (标准型CPU)

100KHz(紧凑型或经济型CPU)
0.8μs200KHz (标准型CPU)

100KHz(紧凑型或经济型CPU)
1.6μs200KHz (标准型CPU)

100KHz(紧凑型或经济型CPU)
3.2μs156KHz (标准型CPU)

100KHz(紧凑型或经济型CPU)
6.4μs78kHz12.8μs39 kHz0.2ms2.5kHz0.4ms1.25kHz0.8ms625 Hz1.6ms312 Hz3.2ms156 Hz6.4ms78 Hz12.8ms39 Hz输入逻辑电平有效电压范围
表6. 输入逻辑电平有效电压范围
CPU型号逻辑1信号(最小)逻辑0信号(最大)
SR、CR、CRS2.5mA时 15VDC1mA时 5VDC
ST20/30I0.0-I0.3:8mA时 4VDC

I0.6-I0.7:8mA时 4VDC

其他:2.5mA时15VDC
I0.0-I0.3:1mA时 1VDC

I0.6-I0.7:1mA时 1VDC

其他:1mA时5VDC

●加入下拉电阻是为了使输入输出信号达到其逻辑电平有效范围。如果设备的输出是集电极开路晶体管,则可能出现这种情况。晶体管关闭时,没有任何因素将信号驱动为低电平状态。信号将转换为低电平状态,但所需时间将取决于电路的输入电阻和电容。这种情况可能导致脉冲丢失。可通过将下拉电阻接到输入信号的方法避免这种情况,如下图所示。由于 CPU 的输入电压是24V,因此电阻的额定0功率必须为高功率。100 欧 5 瓦的电阻是一个合适的选择。
图1. 集电极开路HSC输入驱动接线下拉电阻

高速计数器指令向导
在 Micro/WIN SMART 中的命令菜单中选择 Tools(工具)> Wizards(向导)中选择 High Speed Counter(高速计数器向导) ,也可以在项目树中选择 Wizards(向导)文件夹中的 High Speed Counter(高速计数器向导)按钮,如图 1所示。
图 1.选择 HSC 向导

步骤一:选择 HSC 编号,如图 2所示。
图 2.选择计数器编号

步骤二:为计数器命名,在左侧树形目录中选择“高速计数器”,如图 3所示。
图 3.高速计数器命名

步骤三:选择计数器模式,详细信息请见“表1.高速计数器的模式及输入点”。
图 4.选择高速计数器模式

步骤四:配置初始化信息。
图 5. HSC 初始化选项

在上图中:
    为初始化子程序命名,或者使用默认名称。
    设置计数器预置值:可以为整数、双字地址或符号名:如 5000、VD100、PV_HC0。用户可使用全局符号表中双字整数对应的符号名。如果用户输入的符号名尚未定义,点击‘ Generate (生成)’后会看到:

这个提示框显示:“这不是定义的全局符号。您希望定义符号吗”,点击“是”

填入地址和注释,注意:地址必须为双字地址, 注释可以不填。

    设置计数器初始值:可以为整数、双字地址或符号名:5000、VD100、CV_HC0。
    初始化计数方向:增,减。
    对于带外部复位端的高速计数器,可以设定复位信号为高电平有效或者低电平有效。
    使用A/B相正交计数器时,可以将计数频率设为1倍速或4倍速。使用非A/B相正交计数器时,此项为虚。
    S7-200 SMART 均不支持带外部启动端的高速计数器,因此此项为虚。

    注意:所谓“高/低电平有效”指的是在物理输入端子上的有效逻辑电平,即可以使 LED 灯点亮的电平。这取决于源型/漏型输入接法,并非指实际电平的高、低。
步骤五:配置中断事件,如图 6所示。
图 6.配置中断

如图 6所示,一个高速计数器最多可以有 3 个中断事件,在白色方框中填写中断服务程序名称或者使用默认名称:
在这里配置的中断事件并非必须,系由用户根据自己的控制工艺要求选用。
    外部复位输入有效值时中断,如果使用的高速计数器模式不具有外部复位端,则此项为虚。
    方向控制输入状态改变时的中断,有以下 3 种情况会产生该中断:
    单项计数器的内部或外部方向控制位改变瞬间
    双相计数器增、减时钟交替的瞬间
    A/B相脉冲相对相位(超前或滞后)改变时瞬间
    当前值等于预置值时产生的中断,通过向导,可以在该中断的服务程序中重新设置高速计数器的参数,如预置值、当前值。一个这样的过程称为‘一步‘。
步骤六:配置 HSC 步数,如图 7所示,最多可设置 10 步。
图 7. 配置 HSC 步数

步骤七:定义高速计数器每一步的操作,如图 8所示:
图 8. HSC 第一步

在这里配置的是当前值等于设定值中断的服务程序中的操作:
    向导会自动为当前值等于预置值匹配一个新的中断服务程序,用户可以对其重新命名,或者使用默认的名称。
    勾选后,用户在右侧输入新的预置值。
    勾选后,用户在右侧输入新的当前值。
    如果选用的高速计数器模式有内部方向控制位。
    使用相同的方法完成其余两步的设置
步骤八:完成向导,如图 9所示:
图 9. 完成向导

点击向导对话框左侧树形目录中的选项“组件(Components)”可以看到此时向导生成的子程序和中断程序名称及描述,点击“生成(Generate)”按钮,完成向导。
注意:Micro/WIN SMART 高速计数器指令向导采用树形目录的形式,用户可以直接在目录树中选择相应选项进行设置,这种方式便于用户在完成指令向导后根据实际需求进行快速修改。
步骤九:调用子程序:
注意:
HSC_INIT 为初始化子程序,请在主程序块中使用 SM0.1 或一条边沿触发指令调用一次此子程序。
向导生成的中断服务程序及子程序都未上锁,用户可以根据自己的控制需要进行修改。
文章来源:综合网络,本文系网络转载,版权归原作者所有。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码