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言語ことはじめ】GX Works 2で使える命令文の一覧

Last updated at Posted at 2024-02-01

はじめに

GX Works 2は、三菱電機が提供するプログラミングソフトウェアであり、特定のPLC向けにカスタマイズされた命令セットを提供しています。一方、ST(Structured Text)言語は、IEC 61131-3規格で定められているプログラミング言語の1つであり、標準化された命令セットを提供しています。

IF文

IF X1 = X2 THEN
    Y71 := TRUE;
END_IF;
IF X1 = X2 THEN
    Y71 := TRUE;
ELSE 
    Y72 := TRUE;
END_IF;
IF X1 = X2 THEN
    Y71 := TRUE;
ELSIF X1 = X3 
    Y72 := TRUE;
END_IF;

IF文は条件に応じてプログラムの流れを制御するための命令です。条件式が真(True)の場合には、IFブロック内のコードが実行されます。条件式が偽(False)の場合には、ELSEブロック内のコードが実行されます。

CASE文

CASE D10 OF
    1 : Y71 := FALSE;
    2, 3 : Y72 := FALSE;
    4..9 : Y73 := FALSE;
ELSE
    Y71 := TRUE;
END_CASE;

CASE文は複数の条件に応じて処理を分岐させるための命令です。与えられた変数の値に応じて、異なる処理を実行します。CASE文には、条件にマッチするパターンごとに処理を指定できます。

FOR文

FOR D10 := 1 TO 10 BY 2 DO 
    D20 := D20 + 1;
END_FOR;

FOR文は、指定された回数だけ繰り返し処理を行うための命令です。指定された変数を初期値から終了値まで、指定されたステップで増減させながら、繰り返し処理を行います。

WHILE文

WHILE D10 <= 50 DO
    D10 := D10 + 5;
END_WHILE;

WHILE文は、指定された条件が満たされる間、繰り返し処理を行うための命令です。条件が満たされなくなると、処理を終了します。

REPEAT文

D10 := 50;
REPEAT
    D10 := D10 / 2;
UNTIL D50 < 0;
END_REPEAT;

REPEAT文は、条件が満たされるまで、繰り返し処理を行うための命令です。条件が満たされた場合、処理を終了します。

EXIT文

(* FOR, WHILE などのループ処理開始 *)

    (* ループ内での強制終了 *)
    IF X1 := TRUE THEN
        EXIT;
    END_IF;
    
(* END_ ループ処理の終端 *)

ループ内での強制終了を行うための命令です。特定の条件が満たされた場合に、ループから脱出します。

RETURN文

(* プログラムの終了。ファンクションブロックの場合は呼び出した処理に戻る *)
RETURN;

プログラムの終了を行うための命令です。プログラムの実行を終了し、ファンクションブロックの場合は呼び出し元に戻ります。

さいごに

このように、各命令の構文と使用方法を理解して、効果的にプログラミングに活用しましょう。

総括すると、GX Works 2で使える命令とST言語の規格上定められている命令文との主な差は、プラットフォーム依存性、機能の制約、開発環境の違いにあります。開発者は、プロジェクトの要件や目標に応じて、適切なプログラミング言語や開発ツールを選択する必要があります。

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?