在 STEP 7 V5.5 中如何实现数值微分?【算法】
描述
在数学中,微分是一个函数变化率的处理。不过在实践中,通常没有数学值,而 (举例来说)只有一个随时间变化的值。
这个基于 STEP 7 Basic V5.5的程序根据当前值和前一函数值(一阶导数)计算瞬时斜率。同理,从一阶导数的当前值和前一值计算出瞬时二阶导数(“斜率的斜率”)。在例子中使用 OB35,并在硬件组态中设置 OB35的时间间隔。必须设置这个时间间隔,单位是毫秒。
图. 01
例子:
例如一个轴,每圈一个脉冲(信号状态从"0" 到"1"),对信号累计计数。使用 OB35(循环中断)中的时间值,按照时间计算信号数量的瞬时一阶或二阶导数。使用轴周长的米数,可以计算瞬时速度和轴的加速度。图.01是展示在OB35 中的调用功能块。
在下表中列出了 "Differentiator" FB的输入和输入/输出参数:
输入参数 | 数据类型 | 描述 |
start | 布尔型 | 开始计算 |
time_ms | 整型 | 循环时间(毫秒) |
count_new | 整型 | 新计数值 |
输入/输出参数 | 数据类型 | 描述 |
d | 实型 | 时间到达时的一阶导数值 |
dd | 实型 | 时间到达时的二阶导数值 |
下载:
下载附件"STEP7_V55_Differentiator" 中包含如上描述块的 STEP 7 项目。复制"STEP7_V55_Differentiator.zip"到一个独立的目录,双击这个文件,与这个 STEP 项目相关的目录自动解压。可以使用 STEP 7 V5.5来打开处理。
STEP7_V55_Differentiator.zip(602 KB )
创作环境:
本FAQ 是由 STEP 7 V5.5 创建的。
工控老鬼技术Blog:http://blog.sina.com.cn/wincchome
启程自动化培训中心 http://www.gongkong8.com/
联系电话:0755-85292922
E-mail:gongkong8@foxmail.com
工控老鬼QQ空间 : http://920500908.qzone.qq.com
启程 PLC培训 深圳PLC培训 启程PLC培训 宝安PLC培训西门子PLC培训 S7-200培训 S7-300培训系统集成培训 自动化培训 WINCC培训 EPLAN培训