[Plant Simulation] 基于长度对Transporter的控制(TargetPosition函数)

行驶一定距离的Transporter

在这里插入图片描述

小车从Source装货,送到S1加工,S1加工后到S2加工,S2加工完成后送到Drain卸货,往复循环

初始化

var tsp:object
tsp:=.MUs.PortalTransporter.create(Portal,1)
tsp.targetPosition:=2
waituntil tsp.targetPosition=-1
cycle_finished:=true
chart.active:=true

TargetPosition函数

<MU-Path>.TargetPosition:real

TargetPosition属性设置Transporter的目标位置,缺省值为 -1 ,到达目标位置的点为Front,位置为FrontPos

.MUs.Transporter:1.TargetPosition := 8
waituntil .MUs.Transporter:1.TargetPosition = -1
print "Destination reached"

循环开始

if cycle_finished and S1_in.empty
	cycle_finished:=false
	PortalCtrl
end

小车控制策略

var tsp:object
tsp:=Portal.cont

tsp.targetPosition:=1
waituntil tsp.targetPosition=-1
wait Portal.loadingtime
source.cont.move(tsp)

tsp.targetPosition:=9
waituntil tsp.targetPosition=-1
wait Portal.loadingtime
tsp.cont.move(S1_in)

tsp.targetPosition:=13
waituntil tsp.targetPosition=-1
if S1_out.occupied
	wait Portal.loadingtime
	S1_out.cont.move(tsp)
end

tsp.targetPosition:=16
waituntil tsp.targetPosition=-1
if tsp.occupied
	wait Portal.loadingtime
	tsp.cont.move(S2_in)
end

tsp.targetPosition:=20
waituntil tsp.targetPosition=-1
if S2_out.occupied
	wait Portal.loadingtime
	S2_out.cont.move(tsp)
end

tsp.targetPosition:=3
waituntil tsp.targetPosition=-1
if tsp.occupied
	wait Portal.loadingtime
	tsp.cont.move(Drain)
end

tsp.targetPosition:=2
waituntil tsp.targetPosition=-1
cycle_finished:=true

下载链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值