0
0

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言語ことはじめ】ビットデバイスをCASEで使ってみる【箸休め】

Posted at

はじめに

この記事では、ST言語のCASE文を使用してビットデバイスの状態を条件に組み込む方法について解説します。通常、CASE文では整数値のみが条件として使用できますが、ビットデバイスの状態を反映することも可能です。具体的な方法を以下で説明します。

使用機材

機種など
PLC Q02CPU, QX41, QY41P, Q62P, Q38B
アプリ GX Works 2

I/O割り付けはこちらを参照してください。

ビットデバイスを条件に使用するCASE文の例

以下の例では、ボタンなどの状態を反映するためにビットデバイスをCASE文の条件として使用しています。

CASE K1X0 OF
    1: Y71 := TRUE;                   (* 0001 ボタン0のみON *)
    2, 3 : Y72 := TRUE; Y71 := FALSE; (* 0010 or 0011 ボタン1がON, ボタン0がONまたはOFF *)
    4..7 : Y73 := TRUE; Y72 := FALSE; (* 0100 -> 0111 ボタン2ON *)
ELSE
    Y71 := FALSE;
END_CASE;

CASE文は通常、整数値や列挙型のみを条件として受け入れますが、ビットデバイスを直接条件として使用することはできません。入力デバイスが連続している場合にのみ、ワードデバイスと扱うことでCASE文の条件として扱うことができます。
ただし、接続端子が変更になるなどした場合に整合性をとることが難しいかもしれません。

条件に整数値が使えるといってもK1や16#,8#などの接頭辞はつかえません

まとめ

この記事では、ST言語のCASE文を使用してビットデバイスの状態を条件に組み込む方法を解説しました。ビットデバイスを利用することで、ボタンなどの状態を柔軟に条件として組み込むことができます。この方法を活用して、より複雑な制御を実現しましょう。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?