描述:
在附件 "STEP7_Kinetic_function" 中包含一个 STEP 7 项目,其中的功能块可确定速度、加速度和距离。n
速度 "v" 是单位时间 "t" 内走的距离 "s" 。n
平均速度 v:n
加速度 "a" 是速度变化率。平均加速度可由在时间点 t1 和 t2 的速度差 V(t2) − V(t1) 和时间差 t2 − t1 来计算得出。n
平均加速度 a :n
距离可由直线运动的平均加速度和所用的时间计算:n
距离 s:n
计算速度和加速度:
用 S7-SCL 编写的 FB2 可由输入的距离[m]计算速度[m/s]和加速度[m/s2]。下面的表 01 展示 FB2 的输入输出参数。
参数 | 接口 | 数据类型 | FB2的参数描述 |
s | Input | Real | 距离 (米) |
SP_s | Input | Real | 设定点位置,设定点距离 |
RESET | Input | Boolean | 复位 |
v | Output | Real | 速度= ds/dt [m/s] |
a | Output | Real | 加速度= dv/dt [m/s2] |
time_to_SP_s | Output | Real | 到达设定距离的预期执行时间。 |
RESET_ACTIVE | Output | Boolean | RESET 状态显示 |
表 01 n
在 OB1 中调用 FB2 的例程:
通过FB1 "Integral" FB2的参数"s" 输入常量 (例如:一米每秒),然后此距离一米一米的增加。 数值 60(60米)是参数 "SP_s" 的预设值。n
- 输出参数预期执行时间 "time_to_SP_s" 的值是 60 秒,逐秒递减到零。n
- 输出参数速度"v" 在一分钟内的值是 1 m/s。
通过比较操作,可以限制FB2 的输入参数距离值。如果参数"s" 的值大于参数"SP_s" 的值,FB1 "Integral" 将通过参数"ENABLE" 来停止运行。n
计算距离和加速度:
用 S7-SCL 编写的 FB3 可由输入参数 "v" 表示的速度来计算距离和加速度。下面的表 02 展示 FB3 的输入输出参数。
参数 | 接口 | 数据类型 | FB3 的参数描述 |
v | Input | Real | 速度 |
SP_v | Input | Real | 设定点速度 |
SP_s | Input | Real | 设定点距离 |
RESET | Input | Boolean | 复位 |
s | Output | Real | 距离 [m] |
a | Output | Real | 加速度[m/s2] |
time_to_SP_v | Output | Real | 到达设定点速度的预计时间。 |
s_to_SP_v | Output | Real | 到达设定点速度的预计距离 |
time_to_SP_s | Output | Real | 到达设定距离的预计执行时间 |
RESET_ACTIVE | Output | Boolean | RESET 状态显示 |
表 02 n
在 OB1 中调用 FB3 的例程:
通过FB1 "Integral" FB3 的速度参数"v" 以 1[m/s] 的增量增长。通过比较操作,可以限制FB3 的输入参数速度值。 如果参数"v" 的值大于参数"SP_v" 的值(例如 15), FB1 "Integral" 将通过参数"ENABLE" 来停止运行。速度于是保持在 15 [m/s]。n
- 距离值在输出参数"s" 处输出。n
- 在参数"a" 为1[m/s2]时参数"v"持续增长。n
- 当速度参数"v" 到达设定值 15 [m/s] 时,加速度值为 0,因为速度保持在15 [m/s] 不变。
下载:
在下载的附件 "STEP7_Kinetic_function" 中包含有上述功能块的STEP 7 V5.4 项目。复制 "STEP7_Kinetic_function.zip" 文件到一个单独的目录,然后双击该文件启动。STEP 7 V5.4 的项目会被自动释放到所有相关的子目录。 然后可以使用 STEP 7 V5.4 打开并处理项目。n
STEP7_Kinetic_function.zip ( 47 KB )
创作环境:
表 03中列出了创建和测试本条目的环境:
测试环境 | 版本 |
STEP 7 | V5.4+SP5 |
S7 PLCSIM | V5.4+SP3 |
表 03
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc331674.html