全球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_ACTIVE9 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 rtreenode 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);方法我也常用的,我觉得这个方法挺好的 :-D9 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