MPC-816 BBS

縮小画像はクリックで拡大表示します。
#89 MPG-303 ピッチ送りを繰り返す場合はRMOV、MOVE?
acceleng 2005年6月28日(火) 14:17 関連: パルス
RMOVまたはMOVE、プログラムとして矛盾が無ければどちらでもよいです。
ピッチ送りならRMOVの方が使い易いと思います。
次の3つの結果は同じです。

10      SETPOS 0,0
20      FOR I=1 TO 10
30       RMOV 1000,0
40      NEXT I
50      PRINT X(0)
>RUN
 10000

10      SETPOS 0,0
20      FOR I=1 TO 10
25        X=I*1000
30       MOVE X,0
40      NEXT I
50      PRINT X(0)
>RUN
 10000

10      SETPOS 0,0
20      FOR I=1 TO 10
25        X=X(0)+1000
30       MOVE X,0
40      NEXT I
50      PRINT X(0)
>RUN
 10000

動作を繰り返していくといつか座標値はオーバーフローします。
しかし、途中でパルスが停止したり出なくなったりすることはありません。

>SETPOS 8388607 0     " X座標をプラス座標MAX設定
>PR X(0)              " 確認
 8388607
>SETPOS 8388608 0     " オーバーフローすると負になります
>PR X(0)
 -8388608

>SETPOS 8388607 0     " X座標をプラス座標MAX設定
>PR X(0)              " 確認
 8388607
>RMOV 2500 0          " CW2500パルス出力
>PR X(0)
 -8386109             " 正常に2500パルス出力するが、オーバーフローして座標は負の値
>RMOV -2500 0         " CCW2500パルス出力
>PR X(0)
 8388607              " 正常に-2500パルス出力。正の値に戻る

#89-90 acceleng 2005年6月28日(火) 14:18
ピッチ送りはPALETコマンドでも出来ます。
ティーチングした座標を分割するには便利です。

10      PG 1
20      MODE 5
30      ACCEL 10000
40      SETPOS 0,0
50      STPZU 0,0,0
60      SETP 10,1000,0
70      SETP 11,11000,0
80      PALET 10,11,10
90      MTRX 5,0
100     FOR I=1 TO 5
110      MOVE PL(I)
120      PRINT P(0)
130     NEXT I
>RUN
 1000 0 0 0
 3500 0 0 0
 6000 0 0 0
 8500 0 0 0
 11000 0 0 0
>

*index mode*
CGI-design