全球FlexSim系统仿真中文论坛
标题:
請求break掉任務序列的方式
[打印本页]
作者:
r0805995
时间:
2015-3-5 21:05
标题:
請求break掉任務序列的方式
本帖最后由 r0805995 于 2015-3-7 16:15 编辑
! p# F, K( I" ^( u5 ~# k6 Q2 [
2 G9 r% x" s8 d8 Q
例如有A B機台,當robot取得任務序列抓B機台上的加工物件放到A,robot正在travel時A機台breakdown,但先前任務序列已經先觸發,所以他依然會將加工物件放到breakdown的A,我的想法是
% }3 E& F( y* m& i( l$ ^( D# p% E+ J" \0 t
9 D+ E$ A' i* I$ i
在Onbreakdown的觸發 寫一個指令來摧毀這次的任務序列。
作者:
慧娴亚伦
时间:
2015-3-6 00:20
建议试试先占任务
! \, c" i5 f% @/ @" {3 P
用户手册中可以搜索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 a" R% B7 _* G2 F" Q. n6 z$ e
我到tree內部檢視,發現robot只是建立這次的任務序列,前一任務序列還在,能幫我看一下嗎,
8 H9 z6 k+ i% P+ t. f. D7 {& j
: H- [- B, V2 c) R& t! t
按回復系統一直顯示加載中............. 無法傳模型,故將模型傳到最上層的PO文內
. D4 W1 O ] t0 |
A7 S' [/ |4 G, ]& c2 e
p.s 事件發生在Runtime 為2558秒時。
作者:
r0805995
时间:
2015-3-7 16:16
本帖最后由 r0805995 于 2015-3-7 18:24 编辑
! A' C: J B/ o( z: D9 ~4 T) Y
u' K! t# u: t( I4 t
4#
r0805995
. f X% w) `* W) T' h4 k9 W5 C
9 a( n' T: T% e
可以回復了,我將模型重傳於此
- N3 D- V* b6 V" d0 |$ ?
: B% I" h! X& q5 Q) I) O) c, y3 }
Version 7.1
作者:
r0805995
时间:
2015-3-7 17:07
我找到一個方法可以達成此做法,但是比較暴力
9 ?( p& K- E6 ~7 ?, E% |0 k5 r
treenode robottask = node("/R_2000iB>variables/activetasksequence/1", model());
7 @9 \! R, s' `. l$ [
destroyobject(robottask);
* ~2 \/ Q: U# Z Y
! P6 S# Z# t c9 j) c
雖然解決了但還是想知道preempt的用法,我的測試過程不管有沒有加入preempt 任務序列都沒有變化
作者:
慧娴亚伦
时间:
2015-3-7 21:23
destroyobject(task);方法我也常用的,我觉得这个方法挺好的 :-D
9 X- D" C& t7 j' P7 Y) Y
下面上传一个简单的对比,PREEMPT_AND_ABORT_ACTIVE和PREEMPT_ONLY的模型,可能对你理解先占有帮助~
作者:
r0805995
时间:
2015-3-8 03:04
7#
慧娴亚伦
0 N+ Y, g7 o7 M! G. ^
( c) j b$ ]( g# d3 K
不好意思 慧嫻 我找不到你程式的觸發點~~ 能請您稍微詳細指點一下嗎?
欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/)
Powered by Discuz! X3.3