上善若水

水善利万物而不争
随笔 - 175, 文章 - 0, 评论 - 10, 阅读 - 14万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

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

Posted on   董锡振  阅读(3192)  评论(1编辑  收藏  举报

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

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

 

 2、创建AGV的自定义属性

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

 

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

 

 

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

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
第一个传感器代码:
 
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 --小车关闭反向行驶

   

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

 

 

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

 

 

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示