1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ST言語ことはじめ】パルス処理をPLSを使わずに実装してみた【箸休め】

Posted at

はじめに

この記事では、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命令を使用する方法は、簡潔で直感的ですが、新しい方法はより細かな制御が可能です。どちらの方法もボタンの状態を正確に監視し、適切なタイミングでカウンタを増やすことができます。使用する状況やプロジェクトの要件に応じて、適切な方法を選択することが重要です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?