AGV系统说明文档
功能说明
AGV(Automated Guided Vehicle,自动导引车)系统用于模拟生产车间内的物料自动运输系统,在建模中,AGV系统可以把需要配送的组件与节点连接起来,组成物流情况更为复杂、丰富的生产线。用户可以在AGV池中创建AGV小车,在组件间不用预先铺设任何轨道,即可进行模拟。
AGV系统对于用户需要在一条生产线上需要不同组件混合生产小批量产品尤其有用,可使用模块化结构的组件与传送装载物料的AGV代替固定生产线。AGV系统可以根据情况创建和更改驾驶的虚拟行动轨迹,在灵活性、柔性、智能等方面均占优势,能够减少生产成本,做到物尽其用。
AGV系统包括三个组件,核心是AGV池,AGV池生成AGV小车,AGV小车在标记之间进行活动。
构建简易的AGV系统
所使用的案例如下(AGV池所用到的例子也为该案例):
在这个例子中,工位s0上的物料随机发送到工位s1或者s2上,存储st中的物料发送到工位s3上。以下为建模步骤:
构建画布
拖入所需的组件,拖入标记和AGV池,二者需通过标记连接上线,线条可以进行弯曲设置(不影响实际结果)。
填写参数
正确设置AGV池参数,具体可以查看AGV池。
使用调度函数
用户可以在需要调度的节点中使用呼叫调度函数,函数在执行时会呼叫指定AGV池,然后AGV池会分配小车前往目标节点。
s0上调度函数注入在beforeSend中,函数如下:
def putagvtask(data,node,vars):
import random
from des.utils.codetools import calagv
calagv('AGV池',node.name, random.choice(['s1','s2']))
calagv参数,第一个为呼叫AGV池的名称,第二个参数为装载物料的目标节点名称,第三个参数为卸载物料的目标节点名称,第四个参数为选填参数,填写小车编号,若填写则代表指定该小车接受该任务(例如小车数量为2,俩小车编号则为0和1,填入1,则指定该组件呼叫AGV池时为编号为1的小车来接受任务,编号不可填写大于呼叫的AGV池所能产生的小车数量)。
上述操作完成后,简易的AGV系统即搭建完成。