INTEGRAL

INTEGRAL 指令在定义的循环时间期间集成实型值。
  • 首次初始化 INTEGRAL 功能块时,不会考虑其初始值。使用 R1 参数来设置要用于计算的初始值。
  • 为防止丢失积分值,控制器从“
    编程
    ”转换为“
    运行
    ”或 Run 参数从 FALSE 转换为 TRUE 时,不会自动清除积分值。首次将控制器从“
    编程
    ”转换到“
    运行
    ”模式以及启动新的积分时,使用 R1 参数可清除积分值。
  • 建议不将可选的 EN 或 ENO 参数与此功能块搭配使用,因为当 EN 为 FALSE 时将会中断循环时间计算,从而得到错误积分。如果使用 EN 或 ENO 参数,请在 EN 等于 TRUE 的情况下切换 R1 参数,以清除当前结果并确保积分正确。
  • 积分以毫秒为时间基准执行(也就是说,对初始值为 0 的输入 1 在 1 秒钟时间内求取积分会得到值 1000)。要将该指令的输出换算成以秒为单位表示的值,可将该输出除以 1000。
  • 如果 CYCLE 参数值小于设备的执行周期时间,则将采样周期强制为该周期时间。
  • XIN 采样和功能块的执行周期为循环时间 + 扫描时间抖动。
  • 对于给定用户程序,扫描时间抖动会随控制器不同而发生变化。
  • 循环时间决定 Integral 功能块的敏感性。计算积分 XOUT 值时,不会将 XIN 中两次采样之间(或循环时间之内)的更改计算在内。
  • 循环时间和扫描时间抖动都会造成 Integral 输出的整体不精确性,如 XIN 与功能块执行示例同步和不同步所示。
支持的语言︰功能块图、梯形图和结构化文本。
该指令适用于 Micro810、L20E、L50E 和 L70E 控制器。
INTEGRAL
INTEGRAL
INTEGRAL 参数
参数
参数类型
数据类型
描述
RUN
输入
BOOL
模式:
  • TRUE = 积分
  • FALSE = 保留
R1
输入
BOOL
取消重置。
XIN
输入
REAL
输入:任何实型值。
X0
输入
REAL
初始值。
CYCLE
输入
TIME
采样周期。可能的值范围为 0ms 到 49d17h2m47s294ms。
Q
输出
BOOL
非 R1。
XOUT
输出
REAL
积分输出。

INTEGRAL 示例

INTEGRAL 功能块图示例
INTEGRAL 功能块图示例
INTEGRAL 梯形图示例
INTEGRAL 梯形图示例
INTEGRAL 结构化文本示例
INTEGRAL 结构化文本示例
(* ST Equivalence: INTEGRAL1 is an instance of a INTEGRAL block *) INTEGRAL1(manual_mode, NOT(manual_mode), sensor_value, init_value, t#100ms); controlled_value := INTEGRAL1.XOUT;
结果
结果

XIN 与功能块执行同步的示例

下图显示了扫描时间抖动对 XOUT 值的影响:
扫描时间抖动对 XOUT 值的影响
扫描时间抖动对 XOUT 值的影响
扫描时间抖动对 XOUT 值的影响

XIN 与功能块执行不同步的示例

下图显示了将错误引入 Integral 功能块的 XOUT 值中的示例:
将错误引入 Integral 功能块的 XOUT 值中的示例
将错误引入 Integral 功能块的 XOUT 值中的示例
将错误引入 Integral 功能块的 XOUT 值中的示例
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal