问题描述:
EcoStruxure Machine Expert机器专家软件中能否建立数组长度可变的数组?所属产品线:
EcoStruxure Machine Expert(原SoMachine)解决方法:
在机器专家软件中,数组是指相同数据类型的元素的集合。支持长度固定或可变的一维和多维数组。但是长度可变的数据类型 ARRAY 只能用于功能块、方法和函数的 VAR_IN_OUT 变量声明中。使用操作符 LOWER_BOUND(<array name>,<dim>) 和 UPPER_BOUND(<array name>,<dim>) 获取此数组的下限和上限。
下图描述了一个自定义函数SUM中,使用长度可变数组的方法,数组A需要定义为VAR_IN_OUT类型,如果需要建立INT类型的数组,数据类型一栏填写ARRAY [*] OF INT,之后在程序当中使用 LOWER_BOUND(<array name>,<dim>) 和 UPPER_BOUND(<array name>,<dim>) 获取此数组的下限和上限。
程序当中调用SUM这个函数时,如下图所示,A关联的数组newvar在POU中是一个固定长度的数组,而非可变长度的数组,这里需要注意。POU中是无法使用可变长度数组的。
是否有帮助?