Skip to main content

FB_SCALING

描述 功能块

FB_SCALING 功能块用于乘以 AnalogIn 输入除以缩放因子,然后除以并添加到缩放偏移量。 AnalogIn 输入可以被否定。对于数据类型 INTDINT,这相当于乘以-1。对于数据类型 UINTUDINT,这对应于 XOR 连接 16#FFFFFF 或者 32#FFFFFFFFFF

bFloorbCeil, 和 bRound 输入可用于指定内部除法所采用的舍入方法。

除此之外 tWatchdog 输入可用于定义 AnalogIn 输入必须在指定时间内发生变化。如果 AnalogIn 输入在指定时间内保持不变,则 bStuckAtError 输出设置为 TRUE. 如果 tWatchdog 输入设置为 t#0ms 或者没有使用,则检查将被停用。 bStuckAtError 输出不是 FB 错误。因此, TwinSAFE 组不会进入错误状态。它必须在应用程序中对此作出反应。

EL6900

FB_SCALING EL6900 不支持功能块。

EL6900_SCALING.png
50. 变量输入

姓名

数据类型

初始值

描述,参数值

AnalogIn

LINT

0

缩放输入。输入可以被否定。

允许的数据类型: UINTINTUDINTDINT

uiMultiplier

SAFEUINT

0

比例因子乘数

只允许使用常量值(无变量)

uiDivisor

SAFEUINT

0

比例因子除数

只允许使用常量值(无变量)

bFloor

SAFEBOOL

FALSE

四舍五入方法:小数点后两位被舍去。

只允许使用常量值(无变量)

其中只有一个 bFloorbCeil, 和 bRound 输入可能是TRUE

bCeil

SAFEBOOL

FALSE

舍入方法:返回下一个最大的整数作为结果。

只允许使用常量值(无变量)

其中只有一个 bFloorbCeil, 和 bRound 输入可能TRUE

bRound

SAFEBOOL

FALSE

舍入方法:从零开始舍入(例如,2.5 向上舍入为 3)。

只允许使用常量值(无变量)

其中只有一个 bFloorbCeil, 和 bRound 输入可能是TRUE

bMultiplicationFirst

SAFEBOOL

FALSE

TRUE:缩放时,首先执行可选的负乘法。

FALSE:缩放时,首先执行可选的负数除法。

diScalingOffset

SAFEDINT

0

添加到模拟值的偏移量

只允许使用常量值(无变量)

tWatchdog

SAFETIME

TIME#0ms

时间(毫秒)内 AnalogIn 输入值必须改变

如果值为 t#0ms,则该检查将被停用。



51. 变量输出

姓名

数据类型

初始值

描述,参数值

bStuckAtError

SAFEBOOL

FALSE

成为 TRUE 如果 AnalogIn 输入值没有改变 tWatchdog 时间。

AnalogOut

SAFEUSINT

0

输出缩放的输入信号

  • 否定 AnalogIn

  • 乘法比例因子分子

  • 除法比例因子分母

  • 加法缩放偏移

允许的数据类型: UINTINTUDINTDINT. 必须根据输入的数据类型选择数据类型。

bError

SAFEBOOL

FALSE

TRUE

  • AnalogOut 输出发生上溢或下溢。

  • 在乘法的情况下,会发生 32 位溢出。

  • 在除法的情况下,由于四舍五入,会发生 32 位溢出。

FALSE:未發生任何錯誤。