馬達座標記憶!!

各位大大,我現在手邊有一個步進馬達的控制器和一個SwitchBox,控制器是與SwitchBox

接在一起,且SwitchBox上面可接8顆馬達,並由SwitchBox將欲移動的軸做切換(一次動一軸);

因為SwitchBox本身並無記憶的功能,因此需要透過軟體把各軸的位置做記憶;但控制器只有一台,

讀出來的位置(Pulse)也只有一個,而移動又分為相對及絕對,現在相對移動的位置記憶已經完成,

就差絕對位置始終無法完成。期望達到的效果如下例:

例:VI中的Control先切到Initial做歸0,再把Select Axis選擇Switch_1,Mode選擇ABS,再將

Position Input(為控制器所讀到的位置,任意值)設50,Position Output即是最終顯示在人機介

面上的位置,此時Axis 1應要為50;而接著將Select Axis切換到Switch_2(相當於SwitchBox切到

第2軸),此時Position Output的Axis 2應該要為0(因尚未做移動),而此時當我將Position Input

設為150的話,Position Output的Axis 2就要顯示150;但若再切回Axis 1時,Position Output

的Axis 1需顯示回50。

所期望的結果大概是如此,其他軸依此類推,請有方法的大大幫忙,我會持續想辦法,有解決的話會

再PO上來的,謝謝各位!
PositionControlAllInOne.vi

當你切換時馬達會乖乖待在那裡立正站好嗎?
主流程應以絕對值為準,相對值為輔,也就是你要清楚知道8軸現在所在位置在哪裡。
供參考!

<span =“bold” style=“text-decoration: none; font-size: 12px; line-height: 18px;”>To IanTsai

在切換時馬達是不會動的,有設計移動中就無法切換;
是想要以絕對值為主,但各軸座標想不到該如何記憶,
還在努力當中,謝謝指教!

原本PO的程式不需更改,將其讀到的位置,與我要移動的絕對位置


做相減,算出來的就是要移動的相對距離,再配合Case就達到絕對位置

的正確座標,已解決了,謝謝各位幫忙!