说明:
S7-200 提供了利用高速计数器计数脉冲串的选项。使用附件 "Frequency" library, 脉冲串的频率从计数器信号中计算出来,例如,相关的转化之后,从计数器信号中可以确定电机的速度。

1. 定义一个高速计数器来获取脉冲串频率

首先,使用 STEP 7 Micro/WIN Instruction Wizard 必须用一个高速脉冲计数器来计算外部脉冲。

表格01 列出了 S7-200 可以提供的高速计数器,输入使用和最大的可测量频率。

表格01

高速计数器 时钟输入 最大输入频率 CPU
HC0 E0.0 30 kHz 221, 222, 224, 224XP, 224XPsi, 226
HC1 E0.6 30 kHz 221, 222, 224, 224XP, 224XPsi, 226
HC2 E1.2 30 kHz 221, 222, 224, 224XP, 224XPsi, 226
HC3 E0.1 30 kHz 221, 222, 224, 224XP, 224XPsi, 226
HC4 E0.3 200 kHz 224XP, 224XPsi
HC5 E0.4 200 kHz 224XP, 224XPsi

程序:

步骤1:

通过“工具”菜单打开 STEP 7 Micro/WIN 中的 Instruction Wizard 菜单。

步骤2:

然后从组态目录中选择高速计数器 “HSC”。点击“Next”。

步骤3:

将模式设置到“0”进行单相的上下计算,选择一个计数器 (比如 “HC4”)。

Note:请参照表 01选择高速计数器。

步骤4:

设置子程序,计数器预调整,计数器值和计数方位。点击“Next”。

步骤5:

在下面的窗口中,还是预设置,不要给“Interrupt on Current Value equal Preset Value (CV = PV)”设置复选标记。

步骤6:

点击“完成”按钮关闭 Instructions Wizard 。

2. 创建程序代码

步骤1:

在操作块的网络 1 中使用比特 SM0.1 初始值来调用 Instructions Wizard 为高速计数器产生的初始区组。

步骤2:

在网络 2 中使用下表中的相同名字,从库中循环调用 SM0.0“频率”块 。

通过“Active”输入来使能功能块 (如果未使能,那么“Hz”输出参数值为“0”)。将 Instructions Wizard 选择的计数器填入“Counter”地址。使用任意的双字地址(格式: REAL)填入到输入输出参数“Hz”上,用来以赫兹为单位显示测量出的频率值。通过 Data Log 功能,可以使“Trigger” 根据频率特性输出一个脉冲信号。(参照 步骤5)

步骤3:

“Frequency”库需要 16 字节的全局变量。因此需通过“文件”菜单>“库记忆分配”...来指定一个地址。

步骤4:

通过“符号表”视图可以得到“Frequency”库的符号地址。 “Time_interval”符号为频率计算以秒来定义可测量的间隔,默认值是 1 秒的间隔时间,可以修改。

步骤5:

在例子项目“Frequency”的网络 3 中,为获取频率时间 Data Log 功能已经集成在一个存储器模块上。通过 “Active”和 “Trigger”信号的与操作,当使能“Frequency”块时,每个频率都会根据“Time_interval”的设置的时间间隔被记录下来。

说明:
Data Log 功能通过 Data Log Wizard 来执行,记录的值可以通过 S7-200 的浏览器读取。

3. 频率转换到速度

运用以下公式获得速度:

n = 60 * f / p

n = 每分的速度^-1

^f = 频率 Hz
p = 电机运转需要的脉冲数

下载:
下载的 "frequency.zip" 包含以下文件:

文件 说明
"frequency.mwl" 库 - 包含 "Frequency" 块 (参照:创建程序代码,步骤2 )
"frequency.mwp" 项目 - 这个常问问题的例子项目
"tspeed01.mwp" 项目 - 通过循环独立的时间中断信号来完成这个任务(设置范围: 1 到 255 ms)

Frequency.zip ( 11 KB )

说明:

重要提示:

例子项目是免费软件,任何用户均可免费使用、复制以及转发本程序。程序的作者和拥有者对于该软件的功能和兼容性不承担任何责任。使用该软件可能带的风险由用户自行承担。由于该软件为免费软件,所以不提供任何担保,并且没有义务提供错误纠正和不提供热线支持。

相关日志

Related Post

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注