在 STEP 7 V5.5 中如何实现数值微分?

n

描述
在数学中,微分是一个函数变化率的处理。不过在实践中,通常没有数学值,而 (举例来说) 只有一个随时间变化的值。n

这个基于 STEP 7 Basic V5.5 的程序根据当前值和前一函数值(一阶导数)计算瞬时斜率。同理,从一阶导数的当前值和前一值计算出瞬时二阶导数 (“斜率的斜率”)。在例子中使用 OB35,并在硬件组态中设置 OB35 的时间间隔。必须设置这个时间间隔,单位是毫秒。n

在 STEP 7 V5.5 中如何实现数值微分?
图. 01n

例子:
例如一个轴,每圈一个脉冲(信号状态从"0" 到"1"),对信号累计计数。使用 OB35 (循环中断)中的时间值,按照时间计算信号数量的瞬时一阶或二阶导数。使用轴周长的米数,可以计算瞬时速度和轴的加速度。图.01是展示在 OB35 中的调用功能块。n

  • "Differentiator" 函数块 FB1 由变量 "Start_Reset"启动。n
  • 如果变量 "Start_Reset" 的值为 "False",一阶、二阶和计数值被清为零。n
  • 如果要最后的数值继续可用,"Differentiator" FB 的"EN" 输入参数要在 OB1 中被去使能。n
  • 数据被保留在数据块中,可再次使用。

在下表中列出了 "Differentiator" FB 的输入和输入/输出参数:

输入参数 数据类型 描述
start 布尔型 开始计算
time_ms 整型 循环时间(毫秒)
count_new 整型 新计数值
输入/输出参数 数据类型 描述
d 实型 时间到达时的一阶导数值
dd 实型 时间到达时的二阶导数值

下载:
下载附件"STEP7_V55_Differentiator" 中包含如上描述块的 STEP 7 项目。复制 "STEP7_V55_Differentiator.zip" 到一个独立的目录,双击这个文件,与这个 STEP 项目相关的目录自动解压。可以使用 STEP 7 V5.5 来打开处理。n

在 STEP 7 V5.5 中如何实现数值微分? STEP7_V55_Differentiator.zip ( 1133 KB ) n

创作环境:
本 FAQ 是由 STEP 7 V5.5 + SP2 创建的。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc324994.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论