はじめに
この記事では、PLCのST言語におけるカウンタのインクリメント方法について、従来のPLS命令と新しいアプローチを比較します。具体的には、ボタンの状態に応じてカウンタをインクリメントする方法について検討します。
使用機材
機種など | |
---|---|
PLC | Q02CPU, QX41, QY41P, Q62P, Q38B |
アプリ | GX Works 2 |
I/O割り付けはこちらを参照してください。
サンプルプログラム
従来の方法: PLS命令の利用
PLS(X1, M0);
IF M0 THEN
INC(K1, CN1);
END_IF;
K4Y40 := CN1;
(* カウンタをDPLに表示します *)
この方法では、PLS(Pulse)命令を使用して、ボタン(X1)が押されたときにカウンタを1つ増やします。M0はパルスフラグとして使用され、ボタンが押されたときに一度だけインクリメントされることを保証します。
新しい方法: PLS命令の代替
IF X1 AND NOT M0 THEN
(* ボタン1が押されて、かつパルスフラグがFALSEの時のみ *)
M0 := TRUE; (* パルスフラグ *)
INC(K1, CN1);
ELSIF NOT X1 THEN
(* ボタン1がOFFになった時にパルスフラグを解放します *)
M0 := FALSE;
END_IF;
K4Y40 := CN1;
(* カウンタをDPLに表示します *)
新しい方法では、PLS命令を使用せずにボタンの状態を監視し、条件を満たした場合にのみカウンタをインクリメントします。M0はパルスフラグとして機能し、ボタンが押されたときに一度だけカウンタを増やす役割を果たします。
まとめ
従来のPLS命令と新しい方法を比較した結果、両者は同じ目的を達成しますが、実装方法が異なります。PLS命令を使用する方法は、簡潔で直感的ですが、新しい方法はより細かな制御が可能です。どちらの方法もボタンの状態を正確に監視し、適切なタイミングでカウンタを増やすことができます。使用する状況やプロジェクトの要件に応じて、適切な方法を選択することが重要です。