Analysis:计算积分值和微分值

 

Analysis 功能块

引脚图

下图所示为 Analysis 功能块的引脚图:

G-SG-0030298.3.gif-high.gif

 

 

功能描述

Analysis 功能块计算一系列输入的积分值和微分值。输出在 i_xEn 的上升沿从零开始。积分值以间隔输入的倍数增加。

每次扫描时,均基于间隔值更新积分输出和微分输出。

如果间隔值等于/小于零,或者输入超出范围,或者积分或微分输出超过 3.4e+38,则会检测到错误。

积分 = 积分 + (当前输入 + 上一个输入) / 2 * 积分。

微分 = (当前输入 + 上一个输入) / 积分。

示例

输入 = 10(上一个输入:0),间隔 = 10,则第一次执行循环后的输出如下:

o积分 = 0 + (10+0) / 2 * 10 = 50

o微分 = (10-0)/ 10 = 1

输入引脚描述

下表描述了 Analysis 功能块的输入引脚:

输入

数据类型

说明

i_xEn

BOOL

TRUE:FB 启用

FALSE:FB 禁用

i_rIput

REAL

输入值

范围:1.17e-38...3.4e38

i_rItvl

REAL

输入值

范围:1.17e-38...3.4e38

i_xErrRst

BOOL

TRUE:复位检测到错误。(在上升沿上)

(可选)

输出引脚描述

下表描述了输出引脚:

输出

数据类型

说明

q_xActv

BOOL

功能块状态输出

q_rItgr

REAL

积分值

范围:1.17e-38...3.4e38

q_rDrvt

REAL

微分值

范围:1.17e-38...3.4e38

q_xErr

BOOL

TRUE:i_rItvl 输入 <= 0

i_rIput < 1.17e-38

i_rIput > 3.4e+38

q_rItgr > 3.4e+38

q_rDrvt > 3.4e+38

FALSE:未检测到错误