对于EasyBuilder Pro V6.08.01.214s版本
1.一旦使用了索引寄存器,不能传多个数值
比如
TYPE Pallet :
STRUCT
boxLong : REAL;
boxWidth : REAL;
boxHeight: REAL;
trayLong : REAL;
trayWidth : REAL;
layerId : ARRAY[0..19] OF USINT;
layerDef : ARRAY[0..9] OF PalletLayer;
END_STRUCT
END_TYPE
TYPE PalletLayer :
STRUCT
num : USINT;
x : ARRAY[0..49] OF INT; //fixpoint -32768~32767 -> 3276.8mm ~ 3276.8mm
y : ARRAY[0..49] OF INT;
a : ARRAY[0..49] OF INT;
END_STRUCT
END_TYPE
//PalletGVL
VAR_GLOBAL
boxLong : REAL;
boxWidth : REAL;
boxHeight: REAL;
trayLong : REAL;
trayWidth : REAL;
maxLayer : USINT;
layerId : ARRAY[0..19] OF USINT;
layerType : ARRAY[0..9] OF PalletLayer;
END_VAR
地址格式为 Application.PalletGVL.layerType[0+INDEX 32].x[0] 的地址不能传大于1的标签数量
无论是读写都一样
2.不能对REFERENCE TO的结构体内部的数组写入多个数值
在上一个的基础上
//PalletHmi
VAR_GLOBAL
currentLayerId : DINT;
currenyLayerRef : REFERENCE TO PalletLayer;
END_VAR
地址格式为 Application.PalletHmi.currentLayerRef.x[0] 的地址不能传大于1的标签数量
读取多个数值正常,但是写入多个数值只能对首地址生效