BO1

FC

DB块

FC中的SCL代码
- row,col是初始矩阵的行和列;
- 矩阵标号顺序,左起第一列,由上往下1,2,3…row,再到左起第二列,有上往下;
- 顺时针旋转,增量90度;
- 判断2D数组中的元素不为0则为有产品;
- 判断2D数组中的元素的数值则为产品编号(即原始矩阵的顺序编号)。
#i := 0;
#j := 0;
#n := 0;
#"0MT" := #MT;
#"90MT" := #MT;
#"180MT" := #MT;
#"270MT" := #MT;
REGION 0MT
FOR #j := 1 TO #Col DO
FOR #i := 1 TO #Row DO
#n := #n + 1;
#"0MT"[#i, #j] := #n;
IF #n >= #Total THEN
EXIT;
END_IF;
END_FOR;
;
END_FOR;
END_REGION
REGION 90MT
FOR #i := 1 TO #Col DO
FOR #j := 1 TO #Row DO
#"90MT"[#i, #j] := #"0MT"[#Row - #j + 1, #i];
END_FOR;
END_FOR;
END_REGION
REGION 180MT
FOR #i := 1 TO #Row DO
FOR #j := 1 TO #Col DO
#"180MT"[#i, #j] := #"0MT"[#Row - #i + 1, #Col - #j + 1];
END_FOR;
END_FOR;
END_REGION
REGION 270MT
FOR #i := 1 TO #Col DO
FOR #j := 1 TO #Row DO
#"270MT"[#i, #j] := #"0MT"[#j, #Col - #i + 1];
END_FOR;
END_FOR;
END_REGION