【Codesys】-可变数组长度处理
控制传入值为长度可变数组得到数组长度在程序处理。控制凸轮MC_CAM_REF点位结束上限。
//CAM数据数组上限处理
FUNCTION CamDataLength : DINT
VAR_INPUT
END_VAR
VAR_IN_OUT
ArrayData:ARRAYOF _sMC_CAM_REF; //定义可变数组
END_VAR
VAR
diCounter : DINT;//数组长度计数
diResult1,diResult2 : LREAL; //数组内变量内容累加
END_VAR
diResult1:=0;
diResult2:=0;
FOR diCounter := LOWER_BOUND(ArrayData, 1) TO UPPER_BOUND(ArrayData, 1) DO // Calculates the length of the current array
diResult1 := diResult1 + ArrayData.Distance;
diResult2 := diResult1 + ArrayData.Phase;
END_FOR;
CamDataLength := diCounter;
实例测试
页:
[1]