このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

このブログは、サーバー代など、運営費のため広告やアフェリエイトがあります。
大変申し訳ありませんが、ご理解よろしくお願いします。

三菱シーケンサ ST言語② タイマー・カウンタ

スポンサーリンク

こんにちは。Yukiです。

三菱シーケンサ(FX3G)はタイマー カウンタが用意されています。

今回はそれらをST言語で使用してみようと思います。

なお使用するソフトはGX Works2 使用するシーケンサは 三菱FX3G CPU となります。

前回の① 基本編は下にリンクを張っておきます。

・タイマー

タイマーはTから始まるリレーの事です。指定時間が過ぎると接点が開きます。

例 : T001 T100

ST言語では入力リレー・出力接点・現在値に対して別々の呼び名があります。

入力リレーはTC○○○ となります。 例:TC001

出力接点はTS○○○となります。 例:TS001

現在値はTN○○○となります。 例:TN001

次のように指定できます。

タイマーを動作させるためにはOUT_T命令を使用します。

例:OUT_T(X001,TC001,K10);

上の例ではX001がONになればTC001がONになります。

指定時間(K10 = 1秒)たったらTS001がONになります。

ただし、1秒待つ前にX001がOFFになればTC001の経過時間はリセットされます。

積算させたい場合は積算タイマーを使用してください。(T250~T255)

例:

OUT_T(X001,TC001,K10);

Y001 := TS001;

上の例ではX001が1秒間ONされ続けたらY001がONになります。

・カウンタ

カウンタはCから始まるリレーの事です。指定回数、入力リレーがONされると接点が開きます。

例 : T001 T100

実はカウンタを使用しなくてもST言語ではカウントできますが、今回は省略します。

ST言語ではタイマーと同じように入力リレー・出力接点・現在値に対して別々の呼び名があります。

入力リレーはCC○○○ となります。 例:CC001

出力接点はCS○○○となります。 例:CS001

現在値はCN○○○となります。 例:CN001

次のように指定できます。

カウンタを動作させるためにはOUT_C命令を使用します。

OUT_C(X001,CC001,K10);

X001がON/OFFを繰り返し、10回繰り返せばCS001接点がONします。

ただしこれでは10回押されたらそれで終了します。

それ以降はリセットするまでC001デバイスは使用できなくなります。

これを防ぐためにRST命令を使用します。

OUT_C(X001,CC001,K10);

RST(X002,C001);

Y001 := CS001;

上の例ではX001をON/OFFを繰り返し、10回繰り返せばCS001がONになるため、Y001がOnになります。X002がONになればC001がリセットされます。

今回はカウンタを使用してオルタネート回路を作ってみたいと思います。

(オルタネート回路は入力接点一つでON/OFFを切り替えられる回路です)

OUT_C(X001,CC001,K1);

OUT_C(X001,CC002,K2);

Y001 := CS001;

RST(CS002,C001);

RST(CS002,C002);

次のようにすることでオルタネート回路が簡単にできてしまいます。

参考になったら、コーヒー1杯奢ってくれるとうれしいです
Buy Me A Coffee
電子工作
スポンサーリンク
シェアする
denshi1996をフォローする
スポンサーリンク

コメント

タイトルとURLをコピーしました