全球FlexSim系统仿真中文论坛
标题:
請求break掉任務序列的方式
[打印本页]
作者:
r0805995
时间:
2015-3-5 21:05
标题:
請求break掉任務序列的方式
本帖最后由 r0805995 于 2015-3-7 16:15 编辑
`! e) y" D/ u
( Y' N! H2 ~; q6 T) v7 J) F
例如有A B機台,當robot取得任務序列抓B機台上的加工物件放到A,robot正在travel時A機台breakdown,但先前任務序列已經先觸發,所以他依然會將加工物件放到breakdown的A,我的想法是
8 F1 b. Q: e1 V9 Z6 L/ }! A
6 e5 e, P _% ^! f _
在Onbreakdown的觸發 寫一個指令來摧毀這次的任務序列。
作者:
慧娴亚伦
时间:
2015-3-6 00:20
建议试试先占任务
9 `4 e! F6 q$ L
用户手册中可以搜索Task Sequence Preempting,找到关于先占任务的相关信息。
作者:
r0805995
时间:
2015-3-6 18:46
謝謝慧嫻,之前用任務序列有注意到preempting,但當時看不懂其用法,經您的提點讓我想起此方法,待我研究一下再與您進行討論,謝謝!!
作者:
r0805995
时间:
2015-3-7 15:21
慧嫻 我嘗試用了 PREEMPT_AND_ABORT_ALL 和 PREEMPT_AND_ABORT_ACTIVE
3 c7 o% ^8 b, X7 H3 Z2 Z
我到tree內部檢視,發現robot只是建立這次的任務序列,前一任務序列還在,能幫我看一下嗎,
6 R3 G; v- e& R* G4 t
' C2 k$ A# a! D, P7 n1 _. f/ u8 j
按回復系統一直顯示加載中............. 無法傳模型,故將模型傳到最上層的PO文內
. D. w) }0 w) h; X2 W7 e6 J: q
. w( Q) y8 L. a4 k9 [
p.s 事件發生在Runtime 為2558秒時。
作者:
r0805995
时间:
2015-3-7 16:16
本帖最后由 r0805995 于 2015-3-7 18:24 编辑
8 a' m! z* h( V$ q: n) O
& P6 G7 a5 ?. R+ v
4#
r0805995
. x8 i/ C3 n- }, a7 O4 z4 M
7 _ T( B+ |& Z3 V% n- u! I& ]' x, y
可以回復了,我將模型重傳於此
0 U: d8 ^6 }: i' x3 n. a; ]: W% S# V
5 G7 l- H" v( `0 l& R$ t) d0 Z/ f. |% J
Version 7.1
作者:
r0805995
时间:
2015-3-7 17:07
我找到一個方法可以達成此做法,但是比較暴力
/ X# j( u; d* i8 Y
treenode robottask = node("/R_2000iB>variables/activetasksequence/1", model());
' c0 ~- h" h. [' D! a
destroyobject(robottask);
+ k c* d! c. f- b" V
2 S/ n* {. t1 k) B% n
雖然解決了但還是想知道preempt的用法,我的測試過程不管有沒有加入preempt 任務序列都沒有變化
作者:
慧娴亚伦
时间:
2015-3-7 21:23
destroyobject(task);方法我也常用的,我觉得这个方法挺好的 :-D
% c3 N5 R/ J$ O
下面上传一个简单的对比,PREEMPT_AND_ABORT_ACTIVE和PREEMPT_ONLY的模型,可能对你理解先占有帮助~
作者:
r0805995
时间:
2015-3-8 03:04
7#
慧娴亚伦
7 W$ C) e1 z+ W; o5 p- c
, L1 r' c* Z+ h1 i& e* t4 d1 Y
不好意思 慧嫻 我找不到你程式的觸發點~~ 能請您稍微詳細指點一下嗎?
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3