tt99166 发表于 2024-11-6 20:03:01

【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]
查看完整版本: 【Codesys】-可变数组长度处理