家JIA
这是一个立体仓库的平台.每一个仓位上有库位号,选择要实现从高位向地位依次拿物料,别人写了一个排序的scl程序 但是我实在是看不懂 希望有人帮我解释一下那段程序
楼主最近还看过
boblee
学习,谢谢
jonlson
代码看不太懂
hui881225
大神解释下,我也学习一下
晴天白云湖
楼主能详细解释下吗
Q458751110
一行中有五列是吗?
FOR i := 1 TO 30 DO
IF #库位[i]=1 THEN
#库位号;=i;
END IF:
END FOR;
//判断哪个库位的接近开关为ON。则库位号为该库位
行 := ((席位号 - 1) / 5)+ 1: 1-5为 第一行,6-10为第二行...
列:=((库位号+4)MOD 5)+1 1/6为一列,2/7为二列 ...
4取行 :=(行 -1)75000; 这个应该是行定位
4取列:-(列-1)115000: 列定位
121111115
定义了一个数组,数组有30个元素,每个元素对应着一个SQ代号,每个SQ代号对应着PLC的一个I点,当I点有输入时,对应的SQ就为1,下面的FOR循环其实是遍例你三十个元素,哪个为1就去计算它的行列位置,然后根据行列位置计算出脉冲数(每一个库都有自己的行列脉冲数,有这个值可以控制机械手去对应的库进行出入库操作)。
这个程序写的还是相当可以的,不过还有优化空间,比如每一个I点对应一个SQ这有点繁琐,完全可以用个for循环去遍例这30个I点的状态,哪个有输入就把该店作为返回值返回给主函数,在参与下面的for循环去计算位置。
JSdanzi
库位[i]可以认为是 一个触发条件 条件被选择了就计算出在那一行那一列
for就是不停地遍历触发条件那个被置1
列是取得余数 一共应该是5列
楼主也没回应一下
你猜你猜
6楼解释的很清楚了,学习下,
bx99
编写这种程序时要注意
要正确计算出库位所在的行和列。例如,行号可以通过席位号除以一定数量后加1得到,而列号可以通过库位号加上一个偏移量后对相同数量取模再加1来计算。
sungirl330
主要还是库列信息
立体库的库位号的识别
辩论
了解并遵守库位编号的规则,这对于准确识别库位至关重要。例如,库位号1-5代表第一行,6-10代表第二行,以此类推。同样,库位列的计算也有其特定的规则,如1/6为第一列,2/7为第二列等。
spirit.wan
使用正确的计算公式来定位库位。例如,库位的行可以通过((席位号 - 1) / 5) + 1来计算,而库位的列可以通过((库位号+4) MOD 5) +1来确定。这样的计算方式可以确保库位号与实际的物理位置相对应。然后对应下逻辑关系
((席位号 - 1) / 5) + 1
((库位号+4) MOD 5) +1
solk_yt
在进行库位号的计算前,应该有一个自动化立体仓库的总体规划,这包括对仓库的整体布局、货物流动路径、存取策略等方面的考虑。这样才能熟悉其中的逻辑
闪啊闪
引用 "121111115" 的回复,发表在6楼 内容: 定义了一个数组,数组有30个元素,每个元素对应着一个SQ代号,每个SQ代号对应着PLC的一个I点,当I点有输入时,对应的SQ就为1,下面的FOR循环其实是遍例你三十个元素,哪个为1就去计算它的行列位置...
如果库位号是由行号、列号和层号组成的,那么识别程序可能需要分别判断行号、列号和层号的值,然后根据这些值来确定实际的位置。
辛苦
首先需要了解立体仓库的基本结构和控制需求。
假设立体仓库由多个仓位组成,每个仓位都有一个库位号,并且你想要实现从高位到低位依次取物料的功能。
工控箭手
6楼楼主解释的很详细了,主要还是了解逻辑,然后再去看程序,方便理解
负债赌博
如果可能的话,使用模拟功能来测试程序的反应。这可以理解程序的正确性和性能。