首页 理论教育 应用案例:高速计数器的优势

应用案例:高速计数器的优势

时间:2023-06-24 理论教育 版权反馈
【摘要】:高速计数器功能支持的输入电压为DC 24 V,目前不支持DC 5 V 的脉冲输入。表9-11所示为高速计数器默认地址列表。高速计数器指令需要使用背景数据块来存储参数。

应用案例:高速计数器的优势

1.高速计数器的介绍

生产实践中,经常会遇到需要检测高频脉冲的场合,例如检测步进电机运动距离,计算异步电机转速等,而PLC 中的普通计数器受限于扫描周期的影响,无法计量频率较高的脉冲信号

S7-1200 CPU 提供了最多6 个高速计数器,其独立于CPU 的扫描周期进行计算,可测量的单相脉冲频率最高为100 kHz,双相或A/B 相频率最高为30 kHz。高速计数器可用于连接增量型旋转编码器,通过对硬件组态和调用相关指令块来使用此功能。

1)高速计数器的工作模式

高速计数器的工作模式有5 种,分别为:单相计数器,外部方向控制;单相计数器,内部方向控制;双相加/减计数器,双脉冲输入;A/B 相正交脉冲输入;监控PTO 输出,即能监控到高速脉冲输出序列的个数。

每种高速计数器都有外部复位和内部复位两种工作状态。所有的计数器无须启动条件设置,在硬件设备中设置完成后下载到CPU 中即可启动高速计数器。高速计数器功能支持的输入电压为DC 24 V,目前不支持DC 5 V 的脉冲输入。表9-10所示为高速计数器的工作模式和硬件输入定义。

表9-10 高速计数器的工作模式与硬件输入定义

由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意,不是所有计数器可以同时定义为任意工作模式。高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其他功能,但在某个模式下,没有用到的输入点还可以用于其他功能的输入。

监控PTO 的模式只有HSC1 和HSC2 支持。使用此模式时,不需要外部接线,CPU 在内部已做了硬件连接,可直接检测通过PTO 功能所发脉冲。

S7-1200 PLC 除了提供计数功能外,还提供了频率测量功能,有三种不同的频率测量周期:1.0 s、0.1 s和0.01 s。频率测量周期是这样定义的:计算并返回频率值的时间间隔。返回的频率值为上一个测量周期中所有测量值的平均值,无论测量周期如何选择,测量出的频率值总是以Hz (每秒脉冲数)为单位。

2)高速计数器寻址

CPU 将每个高速计数器的测量值以32 位双整数型有符号数的形式存储在输入过程映像区内,在程序中可直接访问这些地址,可以在设备组态中修改这些存储地址。由于过程映像区受扫描周期的影响,在一个扫描周期内高速计数器的测量数值不会发生变化,但高速计数器中的实际值有可能会在一个扫描周期内发生变化,因此可通过直接读取外设地址的方式读取到当前时刻的实际值。以ID000 为例,其外设地址为“ID1000:P”。表9-11所示为高速计数器默认地址列表。

表9-11 高速计数器默认地址列表

3)中断功能

S7-1200 在高速计数器中提供了中断功能,用以在某些特定条件下触发程序,共有三种中断条件:①当前值等于预置值;②使用外部信号复位;③带有外部方向控制时,计数方向发生改变。

4)高速计数器指令块

将程序编辑区右边的指令表“工艺”窗口下的“计数”文件夹下的“其他”文件夹里的CTRL_HSC 指令拖放到OB1,单击出现的“调用选项”对话框中的“确定”按钮,生成该指令默认名称的背景数据块CTRL_HSC_0_DB。高速计数器指令需要使用背景数据块来存储参数。CTRL_HSC 指令的参数含义如表9-12所示。

表9-12 CTRL_HSC 指令的参数

高速计数器的应用步骤主要包括:①在CPU 的属性对话框中激活高速计数器并设置相关参数;②添加硬件中断块,关联相对应的高速计数器所产生的预置值中断;③在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数;④将程序下载,执行功能。

2.高速计数器的应用案例

1)控制要求

使用高速脉冲PWM 功能产生周期为200 μs,占空比为50%的PWM 脉冲输出控制步进电机运行。用一个开关SD 控制PWM 脉冲发生器的启动和停止。这台步进电机的输出轴上安装旋转增量式编码器作为检测脉冲送给PLC 的高速计数器计数,编码器的线数为600 P/R。步进电机转一圈带动丝杠移动4 mm。当步进电机移动4 cm 时,计数器复位,置位Q1.0,指示灯亮。当步进电机再移动6 cm,复位Q1.0,指示灯灭,周而复始执行此功能。

2)分析及硬件接线

根据控制要求可知,编码器的线数为600 P/R,即电机转一圈,编码器输出600 个脉冲。步进电机移动4 cm,相当于转10 圈,高速计数器要计数6 000 个脉冲,步进电机移动6 cm,相当于转15 圈,高速计数器要计数9 000 个脉冲。

在使用高速脉冲输出,需要使用直流型PLC,这里选用CPU 1215C DC/DC/DC 型的PLC。PWM 脉冲输出点Q0.0 接到步进电机的脉冲信号端,编码器的A 相接到PLC 的I0.0,PLC 的供电电源端L +、M 接24 V 电源,开关SD 的一端接PLC 的I1.0,开关SD 的另一端接24 V 电源的正端,电源的负端接到PLC 的1M。PLC 的负载端4L +、4M 接24 V 电源,PLC 的输出点Q1.0 接到24 V 指示灯的正端,指示灯的负端接到PLC 的4M。步进电机、编码器的电源等其他接线按照产品使用说明书正确接线。

3)硬件组态(www.xing528.com)

打开博途软件,添加PLC 设备CPU 1215C。打开下面的巡视窗口的“属性”选项卡,选中左边“PTO1/PWM1”中的“常规”参数组,用复选框选中右边窗口的复选框“启用该脉冲发生器”,激活该脉冲发生器。在左边窗口的“参数分配”组里设置:信号类型为PWM,时基为微秒,脉宽格式为百分之一,循环时间为200 μs,初始脉冲宽度为50%,其他为默认设置。选中PLC 巡视窗口的“属性”选项卡左边的“常规”选项,单击高速计数器(HSC)下的HSC1,打开其“常规”参数组,在右边窗口用复选框选中“启用该高速计数器”,即激活HSC1,如图9-45所示。

图9-45 高速计数器“常规”参数组

选中图9-45 左边窗口的“功能”,如图9-46所示。

图9-46 高速计数器“功能”参数组

在右边窗口设置以下参数:

使用“计数类型”下拉式列表,可选“计数”“时间段”“频率”或“运行控制”。如果设置为“时间段”和“频率”,使用“频率测量周期”下拉式列表,可以选择0.01 s、0.1 s和1 s,这个案例选“计数”。

使用“工作模式”下拉式列表,可选“单相”“两相位”“A/B 计数器”或“AB 计数器四倍频”,这个案例选“单相”。

使用“计数方向取决于”下拉式列表,可选“用户程序(内部方向控制)”或“输入(外部方向控制)”。这里案例选“用户程序(内部方向控制)”。

使用“初始计数方向”下拉式列表,可选“加计数”或“减计数”,这个案例选“加计数”。选中左边窗口的“初始值”,可以设置“初始计数器值”和“初始参考值”。这个案例设置“初始计数器值”为“0”,将“初始参考值”设为6 000。

选中左边窗口的“事件组态”参数组,勾选“为计数器值等于参考值这一事件生成中断”复选框,在“硬件中断”下拉式列表中选择新增硬件中断(Hardware interrupt)组织块OB40,如图9-47所示。

图9-47 高速计数器“事件”参数组

选中左边窗口的“硬件输入”参数组,在右边窗口可以看到该HSC 使用的硬件输入点和可用的最高频率,如图9-48所示。这个案例采用默认设置。

选中左边窗口的“I/O 地址”参数组,在右边窗口可以修改HSC 的起始地址,如图9-49所示。这个案例采用默认设置。

选中左边窗口的“硬件标识符”参数组,在右边窗口可以查看HSC 的硬件标识符,HSC1 的硬件标识符为257。

图9-48 高速计数器“硬件输入”参数组

图9-49 高速计数器“I/O 地址”参数组

4)编写程序

该案例的OB1 程序如图9-50所示。当PLC 的外部开关SD 接通时,启动PWM 脉冲发生器,步进电机运行。硬件中断OB40 程序如图9-51所示。OB40 程序介绍如下:程序段1,每次中断使指示灯Q1.0 的状态发生改变,第一次中断时指示灯Q1.0 亮。程序段2,当编码器检测到6 000 个脉冲时,即步进电机移动了4 cm 时,第一次进入中断,使预置值(计数参考值)更改为9 000,MD20 用于存储计数参考值。程序段3,高速计数器硬件标识符为257,使能更新初始值和参考值。当编码器检测到9 000 个脉冲时,即步进电机移动了6 cm 时,第二次进入中断,指示灯Q1.0 灭,这样周而复始地执行。

图9-50 OB1 程序

图9-51 硬件中断OB40 程序

图9-51 硬件中断OB40 程序(续)

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈