如何测定高速脉冲串的频率和速度?

2018年7月5日20:22:03 发表评论 1,556 阅读

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

概要:

此项任务分为以下三步:

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

2. 创建程序编码

3. 转换频率为速度

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

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

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

高速计数器 时钟输入 最大输入频率 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

表格01

程序:

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

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

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

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

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

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

表格02

2. 创建程序代码  

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

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

通过“Active”输入来使能功能块 (如果未使能,那么“Hz”输出参数值为“0”)。

将 Instructions Wizard 选择的计数器填入“Counter”地址。

使用任意的双字地址(格式: REAL)填入到输入输出参数“Hz”上,用来以赫兹为单位显示测量出的频率值。

通过 Data Log 功能,可以使“Trigger” 根据频率特性输出一个脉冲信号.

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

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

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

图. 11

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

3. 频率转换到速度
运用以下公式获得速度:

n = 60 * f / p

n = 每分的速度-1
f = 频率 Hz
p
= 电机运转需要的脉冲数

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

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

 

文件下载 frequency
下载地址
weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: