■モータ順次起動

⇒ TO Home Page
内容

1. A〜Fのモータを個々のタイマで設定した時間だけ起動し、順次切り替え運転する。
2. 但し、手動スイッチがONのモータは起動させず、次のモータの起動に移る。

今回の事例では、インデックス修飾を使わず、 個々モータの動作を記述したコードと、インデックス修飾を使って記述し たコードを示します。
また、モータが起動中に手動スイッチを入れた時、手動動作を禁止するか有効にするかのフラグも実装しました。
フロー制御は STG〜JMP 命令を使用しています。



cmd
サンプルコード ・左の画像をクリックすると、大きい画像が表示されます。

■ 個々に記述の例

2行目 :PLC起動時の初期化。(サブルーチン0へ飛びます。)

4行目 :PLC起動時、このルーチンで待機しています。[Sw.RUN]がONされると動作を開始。モータAのルーチンへ制御を移します。

6行目 :モータを設定時間だけ起動させるためのタイマです。
個々のモータルーチンで設定値が代入され、リセットされます。タイムアップで次のモータルーチンへ制御を移します。

7行目〜 :モータAのルーチンです。他のモータルーチンもアドレスが違うだけで、全 く同じ事が記述してあります。
アドレスが違うだけ…全く同じ…。そう、これがインデックス修飾を使う意味ですね。次項のインデックス修飾を使った例を見て下さい。
さて、ここでのロジックですが
7〜8行目: 手動スイッチOFF時の動作です。[@MR100]のモータ起動を使って微分動作を作っています。
7行目末尾でタイマ設定値[@D0]の値をタイマ[@T0]に代入し、タイマをリセットします。
8行目末尾で、タイマがアップすると次モータルーチンへ移行します。
9行目冒頭でモータ[@MR100]が起動してしまうと、[MR101]が偽の時は[@MR100]のゲートに邪魔せれ てこのルーチンから抜けられません。[MR101]が真なら、モータ起動中でも手動を受付け、次のモータルーチンへ移行します。

12行目 :モータBのルーチンです。
Aのルーチン同様モータ起動時にタイマ設定値をタイマに代入していますが、モータAと同じタイマを使っています。
この様に同一タイマを各ルーチンからリセットする事で、タイマの使い回しが可能 です。

この後、モータFまでアドレス違いの全く同じ事が記述してあります。


モニタ

43行目 :手動スイッチを羅列しています。末尾に運転スイッチと起動中の手動受付フラグも有ります。
各デバイスをダブルクリックすればON-OFFが切替ります。

44行目 :モータを羅列しています。順次切替りを確認できます。

45行目 :各モータの起動時間設定値([@DM0]〜[@DM5])が有ります。
[@DM0]〜[@DM5]を選択し、右クリック>登録モニタウィンドウ(R) で、値の変更ができます。
各々のモータルーチンに移行した時、末尾にあるタイマ設定値が変化するのを確認できます。

「ENDH」以下には自由に落書きができます。回路が成立していなくても変換エラーは起きません。
モニタも可能です。
また、この領域に記述しても、PLCには転送されません。


モニタ用デバイスや参考コード、クロスリファレンス参照用デバイスを記述しておくと大変便利です。
私はこの領域を良く活用しています。
サンプルコード ・ 左の画像をクリックすると、大きい画像が表示されます。

■ インデックス修飾の例

2行目 :PLC起動時の初期化。(サブルーチン0へ飛びます。)

5行目 :PLC起動時、このルーチンで待機しています。[Sw.RUN]がONされると動作を開始。インデックスレジスタ[Z1]を初期化し、次へ移行します。

6行目 :インデックスレジスタの値と設定台数を比較し、最後で有るなら5行目に移行します。
途中ならばモータのルーチンへ制御を移します。

9行目 :モータを設定時間だけ起動させるためのタイマです。
個々のモータルーチンで設定値が代入され、リセットされます。タイムアップで次のモータルーチンへ制御を移します。

11行目 :「個々に記述の例」と同じ内容です。
タイマと起動中の手動許可フラグ以外はインデックスレジスタ[Z1]で修飾されています。

15行目 :現在のモータのOFFを確認後、インデックスレジスタ[Z1]をインクリメントします。
モータのOFFを確認せずインクリメントすると、現在のモータがOFFしないまま次のアドレスに修飾されてしまいます。
モータがOFFするのはSTGがOFFした次のスキャンだからです。


モニタ

33行目 :手動スイッチを羅列しています。末尾に運転スイッチと起動中の手動受付フラグも有ります。
各デバイスをダブルクリックすればON-OFFが切替ります。

34行目 :モータを羅列しています。順次切替りを確認できます。
また、末尾に有る[@DM16]でモータ数を変更できます(設定範囲:1〜8)。
設定変更後、PLCを再起動するか2行目の[Initial]をリセットしてください。

35行目 :各モータの起動時間設定値([@DM0]〜[@DM7])が有ります。
[@DM0]〜[@DM7]を選択し、右クリック>登録モニタウィンドウ(R) で、値の変更ができます。
各々のモータルーチンに移行した時、末尾にあるタイマ設定値が変化するのを確認できます。

「ENDH」以下 には自由に落書きができます。回路が成立していなくても変換エラーは起きません。
モニタも可能です。
また、この領域に記述しても、PLCには転送されません。


モニタ用デバイスや参考コード、クロスリファレンス参照用デバイスを記述しておくと大変便利です。
私はこの領域を良く活用しています。

●PDFを表示 ●コードをダウンロード ●登録モニタをダウンロード