上善若水

水善利万物而不争
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Plant Simulation 工厂仿真 | 1 | 小车循环运输案例

Posted on 2022-06-26 16:12  董锡振  阅读(3022)  评论(1编辑  收藏  举报

话不多说,先上老师的教学链接: https://space.bilibili.com/253809626/?spm_id_from=333.999.0.0

1、先拖拽如下控件并在模型下创建Mus文件夹 

 

 2、创建AGV的自定义属性

3、修改三个Mu 的 容量为1个单位:

 

4、三个图像的【活动的矢量图】去掉勾选。

 

 

5.传送带上创建两个传感器,具体方法:轨道-》控件》传感器》添加; 添加完成后双击对应的传感器行,在【控件】栏 右键 创建控制》 self.OnSensor1   

 

第一个传感器代码:

param SensorID: integer, Front: boolean, BookPos: boolean
@.stop --使小车停下来,@表示小车
waituntil @.cont.empty and @.process=0 prio 1
--当小车上的容器为空和process属性为0时,执行以下程序
源.cont.move(@.cont) --源上的Mu移动到小车上的容器内
@.process:=@.process+1 --小车属性process自加1
wait 5 --等待5秒
@.continue --使停止的小车开始行驶
@.targetposition:=17 --定义小车移动到17米处



第二个传感器代码:

param SensorID: integer, Front: boolean, BookPos: boolean
waituntil @.cont.occupied and @.process=1 prio 1 --当小车上的容器为空和process属性为0时,执行以下程序
wait 2 --等待2秒
@.cont.cont.move(物料终结) --小车上的容器内Mu移动到物料终结工位
@.process:=0 --小车属性process设为0
wait 2 --等待2秒
@.backwards:=true --小车反向行驶
@.targetposition:=3 --定义小车移动到3米处
wait 10 --等待10秒
@.backwards:=false --小车关闭反向行驶

   

 如果遇到代码没生效记得检查传感器上的路径是否有对象 (我遇到一次没值的情况找了两个小时才发现问题)

 

 

第二个经验就是 遇到函数需要执行时记得拖拽到源上