全球FlexSim系统仿真中文论坛
标题:
請求break掉任務序列的方式
[打印本页]
作者:
r0805995
时间:
2015-3-5 21:05
标题:
請求break掉任務序列的方式
本帖最后由 r0805995 于 2015-3-7 16:15 编辑
! D( G/ M3 h" t" T, b6 f
3 f2 Q% u* K2 _; F* i: F" G9 J
例如有A B機台,當robot取得任務序列抓B機台上的加工物件放到A,robot正在travel時A機台breakdown,但先前任務序列已經先觸發,所以他依然會將加工物件放到breakdown的A,我的想法是
, g$ p* y5 `: Q; Y7 C
8 _3 N2 R1 G- H* F' N) D$ v% c
在Onbreakdown的觸發 寫一個指令來摧毀這次的任務序列。
作者:
慧娴亚伦
时间:
2015-3-6 00:20
建议试试先占任务
3 D/ D0 Y" R m' X1 ~
用户手册中可以搜索Task Sequence Preempting,找到关于先占任务的相关信息。
作者:
r0805995
时间:
2015-3-6 18:46
謝謝慧嫻,之前用任務序列有注意到preempting,但當時看不懂其用法,經您的提點讓我想起此方法,待我研究一下再與您進行討論,謝謝!!
作者:
r0805995
时间:
2015-3-7 15:21
慧嫻 我嘗試用了 PREEMPT_AND_ABORT_ALL 和 PREEMPT_AND_ABORT_ACTIVE
9 Y4 D1 K1 H! K( y0 ^
我到tree內部檢視,發現robot只是建立這次的任務序列,前一任務序列還在,能幫我看一下嗎,
6 [- r6 z1 t' {! s5 ^
0 O) T) l1 }2 p1 r4 `# `4 }$ Q: _
按回復系統一直顯示加載中............. 無法傳模型,故將模型傳到最上層的PO文內
% }# t+ L# a( M0 }4 i8 F) |0 U
% _" Y% o: v! B ?0 W1 t) O$ Q
p.s 事件發生在Runtime 為2558秒時。
作者:
r0805995
时间:
2015-3-7 16:16
本帖最后由 r0805995 于 2015-3-7 18:24 编辑
6 p# Q+ B/ ]+ f& Y
! W" o9 A" Q4 D# W: l1 y# V
4#
r0805995
, a- q" A. \* C) F" ]
& `& B9 N# \* n' ]9 ]
可以回復了,我將模型重傳於此
7 y2 a# D$ N% X- \
. l* v+ k3 o) ~# X, e! b/ d
Version 7.1
作者:
r0805995
时间:
2015-3-7 17:07
我找到一個方法可以達成此做法,但是比較暴力
/ v; F7 T Q' r* ^, C
treenode robottask = node("/R_2000iB>variables/activetasksequence/1", model());
7 L: ~9 D' T1 w# w% W. \
destroyobject(robottask);
2 h6 l9 a. }+ e: `
: k7 q/ I7 i/ m, M
雖然解決了但還是想知道preempt的用法,我的測試過程不管有沒有加入preempt 任務序列都沒有變化
作者:
慧娴亚伦
时间:
2015-3-7 21:23
destroyobject(task);方法我也常用的,我觉得这个方法挺好的 :-D
! \5 A8 O; H$ C4 l
下面上传一个简单的对比,PREEMPT_AND_ABORT_ACTIVE和PREEMPT_ONLY的模型,可能对你理解先占有帮助~
作者:
r0805995
时间:
2015-3-8 03:04
7#
慧娴亚伦
3 a) F+ _9 j3 |
2 H* n j2 B# A" n2 P0 q3 \/ N
不好意思 慧嫻 我找不到你程式的觸發點~~ 能請您稍微詳細指點一下嗎?
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3