参考 图片《库位统计》
|
|
库区1:里面是小堆垛机,这里库位只能放小托盘。
|
库区2:里面是大堆垛机,这里库位能放小托盘也能放大托盘。
|
|
实际光电检测高度传递的值有 1、2、3、4、5、6 。(共6个高度值)
|
|
小堆垛机区域分配规则(全放小托盘):
|
高度 1、2、3 ,去往 0-975
|
高度 4、5、6,去往 975-1850
|
|
大堆垛机区域分配规则:
|
|
|
============================================【系统逻辑处理】=========================================================================
|
前提概念:
|
实际光电检测高度gd_height
|
系统判断高度 sys_height
|
|
代码逻辑:
|
(1) 如果是小托盘,并且要进入库区1。
|
系统会转换传递过来的实际光电检测高度gd_height,如果gd_height>3,则判断sys_height为2,反之,判断sys_height为1.
|
即
|
实际光电检测高度gd_height 系统判断高度 sys_height
|
1 1
|
2 1
|
3 1
|
4 2
|
5 2
|
6 2
|
|
系统会根据sys_height的值,如果是1,就放到0-975的高度库位。
|
如果是2,就放到 975-1850的高度库位。
|
|
(2)如果是小托盘,并且要进入库区2。
|
系统会转换传递过来的实际光电检测高度gd_height,如果gd_height=6,就报错,提示库区2没有这个高度,如果gd_height>3,则判断sys_height为(gd_height-1),反之,判断sys_height为gd_height.
|
即
|
实际光电检测高度gd_height 系统判断高度 sys_height
|
1 1
|
2 2
|
3 3
|
4 3
|
5 4
|
|
系统会根据sys_height的值,如果是1或者2,就放到 2、4、6、8层(0-750)
|
如果是3,就放到 3、7、7、9、10层(750-1150)
|
如果是4,就放到 1、11层(1150-1350)
|
|
(3)如果是大托盘,要进入库区2。【注意:大托盘一定是入库区2的】
|
系统会转换传递过来的实际光电检测高度gd_height,如果gd_height>4,就报错,提示库区2没有这个高度,其他情况判断sys_height=gd_height.
|
即
|
实际光电检测高度gd_height 系统判断高度 sys_height
|
1 1
|
2 2
|
3 3
|
4 4
|
|
|
系统会根据sys_height的值,如果是1,就放到所有层都能放,优先放4,5,7,8,10,11层(0-600)
|
如果是2,就放到1,2,3,6,9,12,13,14层(600-750、750-1150、1150-1350)
|
如果是3,就放到 1,2,13,14 ,优先放2层
|
如果是4,就放到 1,13,14
|
|
|
============================================【系统逻辑处理】=========================================================================
|