用户定义的函数的内存使用情况

为了在
Micro800
控制器中使用更少的内存,应尽可能使用用户定义的函数 (User-Defined Functions, UDF) 而非用户定义的功能块 (User-Defined Function Block, UDFB)。
执行简单计算时 UDF 和 UDFB 的区别
计算
UDF
UDFB
UDF 的优点
UDF 的缺点
执行一次:
C = A + B
  • 程序:548 字节
  • 数据:36 字节
  • 总计: 584 字节
  • 程序:612 字节
  • 数据:208 字节
  • 总计: 820 字节
  • 一个实例
内存用量:
比 UDFB 少 236 字节(内存少 28.78%)
因为参数名称必须与 UDF 名称相同,所以输出参数名称不太灵活。
执行两次:
C
x
= A
x
+ B
x
  • 程序:620 字节
  • 数据:40 字节
  • 总计: 660 字节
  • 程序:688 字节
  • 数据:356 字节
  • 总计: 1,044 字节
  • 两个实例
内存用量:
比 UDFB 少 384 字节(内存少 36.78%)
UDF 只能监视最后一次执行 UDF 时的局部变量。
UDFB 可以监视这两个实例的局部变量。

UDF 和 UDFB 之间的内存消耗比较

基线:空项目
基线:空项目
UDF 单次执行主程序
UDF 单次执行主程序
UDF 定义
UDF 定义
单次执行 UDF 后的控制器内存
单次执行 UDF 后的控制器内存
UDFB 单次执行主程序
UDFB 单次执行主程序
UDFB 定义
UDFB 定义
单次执行 UDFB 后的控制器内存
单次执行 UDFB 后的控制器内存
执行 UDF 两次后的控制器内存
执行 UDF 两次后的控制器内存
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal