转载:
FUNCTION BLOCK 码垛
VAR INPUT
当前数:INT;点l:Point;
点2:Point;
X行数:REAL;
Y列数:REAL;
2层数:REAL;
END VAR
VAR OUTPUT
目标点:Point;
点数量:INT;
END VAR
VAR//=====================================
X差值:=点2.x-点1.x;
IF X行数>1 AND X差值<>0 THEN
X间隔:=X差值/(X行数-1);
ELSE
X间隔:=X差值;
END IF
Y差值:=点2.Y-点1.Y;
IF Y列数>1 AND Y差值<>0 THEN
Y间隔:=Y差值/(Y列数-1);
ELSE
Y间隔:=Y差值;
END IF
2差值:=点2.2-点1.2;IF 2层数>1 AND Z差值<>0 THEN2间隔:=2差值/(2层数-1);
ELSE
Z间隔:=2差值;
END IE
点数量:= TO INT (X行数)*TO INT(Y列数)*TO INT(Z层数);(经值灯
当前2层数 := 当前数/(TO INT (X行数)*TO IT(Y列数));层内数 :=当前数 MOD(TO INT (X行数)* TO INT (Y列数));
(值门 川除r时技X方向排列换行时上加一列
当前Y列数:=层内数/TO INT(X行数);
“值划
当前X行数:=层内数 MOD TO INT(X行数);
偏移X:= X间隔TO REAL(当前X行数);
偏移Ÿ:= Y间隔大TO REAL(当前Y列数);
偏移Z:=Z间隔 *TO REAL(当前2层数);
目标点.x:=点1.x+偏移X;
目标点.Y:=点1.Y+偏移Y;
目标点.2:=点1.2+偏移2;
目标点.A:=点1.A;