« FPGAロジックの変更 | トップページ | ワークに近づくするまで高速、近づいたら低速で移動するPTP動作 »

2015年7月27日

2段階速度PTP移動動作

2段階速度PTP移動動作

定速速度が2つある移動動作。

まずは、速度波形の例。

2stagespeedmove1507274

図1 2段階速度PTP移動(縦軸は速度)

緑の曲線は、

パルス列位置指令出力をアップダウンカウンタでカウントして、

それを1ms毎の差分にして表示しています。

黄色の曲線は、

モーションコントローラの速度指令計算値です。

波形に2つの平らな部分があります。

つまり、定速移動する時間が2段階あります。

桃色が、行きの最高速の10%の速度、

橙色が、戻りの最高速の20%の速度、

になっています。

速度が低速の第二速度になるとき

あるいは

速度が低速の第二速度から、加速するとき

DOUTポートを変化させることもできます。

I/Oの波形が、それになります。

時間精度は、1msです。

2stagespeedmove1507275

図2 

この波形のように、

移動距離が短くて、高速移動速度が実現できない場合でも、

低速移動速度は、実現できます。

これらの波形は、

プライムモーション社のWindowsリアルタイムIO制御

「MOSBench(モスベンチ)」で

以下のサンプルプログラムを作って、

パルス列位置指令出力タイプのソフトモーションコントローラで

実験して取得しました。

■サンプルプログラムは、こちら、

「katagiri_2StagePtp_1ax-2.mos.c」をダウンロード

■関数の形は、以下になります。

int RobPtpMove2Speed(
int RobNo,
double goal[MaxRobAxes],
double speedChangeProgressRate,
double lowSpeed,
long progressDoPortNumber,
long progressDoPortStatus,
int moveType
);

解説
2段階速度PTP動作
 DOUTで、2段目の速度になったことを出力

引数
RobNo: ロボット番号
goal[MaxRobAxes]: 直交座標系での目標位置
speedChangeProgressRate: 速度変化進捗度(%)
  50より小さい値を指定すると、前半が少量動作となる。
  50より大きい値を指定すると、後半が少量動作となる。

lowSpeed: 少量動作速度(RobSetPtpSpeedで指定した速度に対する%)
progressDoPortNumber: 速度切り替え時のポート出力番号。
  少量動作が終了、または、少量動作速度に減速完了したタイミングで出力される。
  位置指令ベースで判定。
progressDoPortStatus: 速度切り替え時のポート出力状態
moveType: 動作種別(1,2,3,4)

■リンク: 「モーションおやじ」のノウハウ

プライムモーション社

リアルタイムWindows 40軸超高速マシンコントローラ

|

« FPGAロジックの変更 | トップページ | ワークに近づくするまで高速、近づいたら低速で移動するPTP動作 »

モーション制御」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« FPGAロジックの変更 | トップページ | ワークに近づくするまで高速、近づいたら低速で移動するPTP動作 »