想請教各位高手!
目前的想法是當軸碰觸到極限時,跳出警告訊息且把按鈕Disabled掉,並且程式可以繼續運行,想請問是否有辦法能讓Event Sequence只觸發一次之後就跳回Servo on的程式嗎?
謝謝!
test.vi (41.6 KB)
想請教各位高手!
目前的想法是當軸碰觸到極限時,跳出警告訊息且把按鈕Disabled掉,並且程式可以繼續運行,想請問是否有辦法能讓Event Sequence只觸發一次之後就跳回Servo on的程式嗎?
謝謝!
test.vi (41.6 KB)
Labview版本:2017
Driver:ASDA B2
既然你已經使用Queue,那方法就是把你想要做的動作Enqueue。
例如下圖的兩個紅圈處,可以根據你的狀況,決定該接在哪邊,
紅圈1.Reset一定成功,不會有任何意外,那就直接Reset接Start,這樣Reset做完就會做Start。
紅圈2.Reset可能會失敗,失敗了還要做例外處理,那就在Reset動作之後再決定要不要接Start。
好的,謝謝我試試看
我這邊看你的文字沒有很全面了解, 所以請讓我試著一起釐清問題吧:
以上給您參考~
關於第三點 我是不想另外做一個Servo on的開關是想要一開始初始化的時候就直接讓Servo on,導致碰到極限點後就會Servo off,如果我直接做一個開關來重新Servo on是不是變成比較快的方法?!
這塊我問了星協的R&D, 碰到極限開關應該不會有off的狀況, 你反向跑應該要能動, 我建議你可以試試看soft front panel, 先跑去碰極限, 再往反方向跑看看
soft front panel是OK的,我程式再測試看看,可能是我自己的問題,謝謝
目前程式大致上為這樣,目前測試當前極限碰觸之後,沒辦法後退需要再按一次Servo on按鈕之後才可以正常執行,並且Read Encoder position要等到按鈕放開時才會更新數據,沒辦法同步執行不管是放在case structure內還是外結果都是一樣的,想繼續上來請問各位高手… 麻煩了謝謝!
在test panel測試前極限以及後極限都是正常的,且碰到前極限時可以後退,碰到後極限時可以前進,但我自己的程式卻不行…
我建議可以把你寫的程式和星協提供的範例做比較~