立体库库存物体检测由光电开关完成,每个储物格都有一个检测光电。5*6的仓库需要30个光电检测开关组成检测矩阵。找出矩阵中的最大元素并返回其所在的行号和列号和我们今天介绍的算法有很多相似的地方,大家可以对比学习。具体链接地址如下:
https://rxxw-control.blog.csdn.net/article/details/135983593https://rxxw-control.blog.csdn.net/article/details/135983593这里的矩阵是二维矩阵,对于一维矩阵我们只要一个FOR循环就可以完成统计。相关算法介绍如下:
https://rxxw-control.blog.csdn.net/article/details/136120050https://rxxw-control.blog.csdn.net/article/details/136120050
1、5*6的储存柜
2、FC测试
3、完整SCL
FUNCTION "FC_StatCount" : Void
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
input : Array[0..4, 0..5] of Bool; // 输入矩阵检测开关
END_VAR
VAR_OUTPUT
iCount : Int; // 库存量输出
END_VAR
VAR_TEMP
i : Int;
j : Int;
END_VAR
BEGIN
//立体库库存数量统计FC
//RXXW_Dor
//2024-0-15
#iCount := 0;//初始化
FOR #i := 0 TO 4 DO
FOR #j := 0 TO 5 DO
IF #input[#i, #j] THEN
#iCount += 1;
END_IF;
END_FOR;
END_FOR;
END_FUNCTION