内容
モータの加速 / 減速時の台形速度のサンプルです。 |
●PDFを表示 |
◆ シーケンスルーチン![]() ・待機状態(初期)です。トリガ[TRG]がセットされると、サブルーチン10を呼び出し次のステージへ移行します。 ・サブルーチン10は、加減速時間や速度のリミット、その他のパラメータを演算します。 ![]() ・加速ルーチンです。ここを実行している間、クロックを発振させるためのフラグ[T_ACT]を立てます。 ・段階的(離散的)に速度を増加させるクロック、[@T0]の立上りでサブルーチン12を呼び出します。 ・サブルーチンではステップ(増速の段階)のカウントと速度を演算します。 ・ステップが設定以上になればフラグ[F_Upp]をセットし、サブルーチン呼び出しを中止します。 ・また除算の関係で、実際の加速時間[@T4]とクロック×ステップ数が完全に一致しないので、加速時間のタイムアップで最高速度を 出力(変数[SPEED]に代入)し、定速運転に移行します。 ![]() ・フラグ[T_ACT]が真であれば、タイマ能動状態になって、クロックを発生します。 ![]() ・加速運転終了時の最高速度を定速時間[@T6]保持します。 ![]() ・加速時同様、減速時もクロックを発振させ、その立上りでサブルーチンを呼び出します。 またステップカウントがアップすればサブルーチン呼び出しを中止します。 ・同じく減速時間のタイムアップで速度を0にして、次ステージへ進みます。 ![]() ・このステージでは、[TRG]をリセットし、待機状態へ飛びます。 |
◆
サブルーチン □ 加速演算(サブルーチン12) ![]() ・加速ルーチン(9行目)から呼び出されます。 ・ステップ(増速の段階)カウンタをインクリメントします。モータ起動時に計算されたステップ値とカウンタを比較し ( ステップ > カウンタ)であれば、加速ステップアップフラグ[F_Upp]をセットし速度増加を禁止します。 ・速度[SPEED]は次の一次関数で計算されます。現在速度[SPEED] = ( カウンタ値[DM8] / 増速設定ステップ値[DM4] ) × 速度[DM3] ・式では 【 ( A ÷ B ) × C 】の形ですが、割算の答えはは誤差が有るため(この場合は小数点以下切捨)に割 算を一番最後 に実行させます。 □ 減速演算 (サブルーチン13) ![]() ・減速ルーチン(12行目)から呼び出されます。 ・加速時と同様に、カウンタが0以下になれば減速ステップアップフラグ[F_Dwn]をセットし減速演算を禁止します。 ・演算式は、現在速度[SPEED] = ( カウンタ値[DM9] / 減速設定ステップ値[DM5] ) × 速度[DM3] ・同様に割算を一番最後に するのが原則です。 □ パラメータセット (サブルーチン10) ![]() ・入力した速度が設定された範囲内に収まる様、リミッタをかけます。( 上限速度[@FM1] / 下限速度[@FM2] ) ![]() ・加減速時間の合計が稼働時間より長く入力された場合、加速/減速の割合を保ったまま、稼働時間に圧縮します。 ・加速時間[@EM1]に減速時間[@EM2]を加えたものを、バッファ[AccTime]に代入します。(加減速時間の合計) ・稼働時間[@EM0]が加減速時間の合計[AccTime]より小さければ次の演算をします。 圧縮後の加速時間[@DM1] = ( 加速時間[@EM1] / 加減速合計[AccTime] ) × 稼働時間[@EM0] 圧縮後の減速時間[@DM2] = ( 減速時間[@EM2] / 加減速合計[AccTime] ) × 稼働時間[@EM0] プログラムでは割算を一番最後に します。 ・最後に、稼働時間から加減速時間を引いた分が定速時間です。 ・次に、増速/減速設定ステップ値を計算します。 ・加速時間をクロック時間で割ったものが増速設定ステップ値[DM4]、減速時間をクロック時間で割ったものが減速設定ステップ値[DM5]になります。 ![]() ・クロック設定時間[@FM0](PLC起動時の初期設定)をタイマ[@T0]に代入します。 ・41行目で算出された加速[@DM1] / 減速[@DM2] / 定速[@DM0] 時間を各タイマに代入します。 ![]() ・速度[SPEED]を0に設定。 ・カウンタ値を初期化。(加速カウンタ[@DM8]は0を、減速カウンタ[@DM9]は減速ステップ数を代入) ![]() ・カウントアップフラグをリセットします。 □ 基本パラメータセット (サブルーチン0) ![]() ・クロック[@FM0]を10msに、最高速度[@FM1]を4000に、最低速度[@FM2]を200にしています。 |
◆ テスト操作![]() ・入力パラメータは、稼働時間[@EM0]、加速時間[@EM1]、減速時間[@EM2]、速度[@EM3]です。 ・シミュレーション時に、上の4変数を選択して、右クリック>登録モニタウィンドウ にて値を入力してください。 ![]() ・[TRG]をダブルクリックすると、実行パラメータが計算され、速度やカウンタ値がへんかんします。 ・シミュレーションではタイマが正確ではないため、クロックのカウンタ値と加減速タイマが一致しません。 |
●PDFを表示 |