综合技术交流
直播中

ss

6年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[经验]

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

说明:
S7-200 提供了利用高速计数器计数脉冲串的选项。使用附件  "Frequency" library, 脉冲串的频率从计数器信号中计算出来,例如,相关的转化之后,从计数器信号中可以确定电机的速度。
概要:
此项任务分为以下三步:
1. 定义一个高速计数器来获取脉冲序列频率
2. 创建程序编码
3. 转换频率为速度
1. 定义一个高速计数器来获取脉冲串频率
首先,使用 STEP 7 Micro/WIN Instruction Wizard 必须用一个高速脉冲计数器来计算外部脉冲。
表格01 列出了 S7-200 可以提供的高速计数器,输入使用和大的可测量频率。
高速计数器时钟输入大输入频率CPU
HC0E0.030 kHz221, 222, 224, 224XP, 224XPsi, 226
HC1E0.630 kHz221, 222, 224, 224XP, 224XPsi, 226
HC2E1.230 kHz221, 222, 224, 224XP, 224XPsi, 226
HC3E0.130 kHz221, 222, 224, 224XP, 224XPsi, 226
HC4E0.3200 kHz224XP, 224XPsi
HC5E0.4200 kHz224XP, 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 = 每分的速度-1f = 频率 Hz
p
= 电机运转需要的脉冲数
下载:
下载的 "frequency.zip" 包含以下文件:
文件说明
"frequency.mwl" 库- 包含 "Frequency" 块 (参照 表格03,第2步 )
"frequency.mwp" 项目- 这个常问问题的例子项目
"tspeed01.mwp" 项目- 通过循环独立的时间中断信号来完成这个任务(设置范围: 1 到 255 ms)

更多回帖

发帖
×
20
完善资料,
赚取积分