【中級編】PLC(シーケンサ)によるGX Works3のST(ストラクチャーテキスト)言語 条件分岐ーCASEー

f:id:vv_6ong_3ka_cp:20210120060649p:plain

GX Works3にはST言語があり、C言語のような記述ができます。

ラダー言語では演算式を記述する時、1つの演算しかできず、大量の演算がある場合大量のステップ数を使用し見ずらいラダープログラムが完成してしまいます。

GX Works3のST言語はそのような複雑な演算式の可読性を上げることができる記述方式ですので、複雑な演算を用いる場合は使用すると便利です。

今回は条件分岐CASEの命令について紹介します。
ST言語 CASE命令
f:id:vv_6ong_3ka_cp:20210120050057p:plain

Point.CASEは数値を指定できる。IFとの違いは数値していか真偽で確かめるか。

広告


GX Works3 ST言語 CASE命令記述方法

インラインST挿入 STB
f:id:vv_6ong_3ka_cp:20210113062323p:plain

ST言語 CASEプログラム例
f:id:vv_6ong_3ka_cp:20210120053803p:plain

Point.CASE プログラム例
CASE D0 OF
0 : D1 := 1;
1..8 : D1 := D0 + 1;
ELSE D1 := 11;
END_CASE;

範囲指定する場合は1..8のように.を2つ並べれば良いです。

ST言語 CASEプログラム例 D0=0
f:id:vv_6ong_3ka_cp:20210120054246p:plain
演算結果 D1 = 1

ST言語 CASEプログラム例 D0=1
f:id:vv_6ong_3ka_cp:20210120054258p:plain
演算結果 D1 = 2

ST言語 CASEプログラム例 D0=3
f:id:vv_6ong_3ka_cp:20210120054309p:plain
演算結果 D1 = 4

ST言語 CASEプログラム例 D0=9
f:id:vv_6ong_3ka_cp:20210120054453p:plain
演算結果 D1 = 11

まとめ
・CASEは数値で比較、IFは真偽で比較する
・数値の範囲指定は〇..×で〇~×の数値範囲となる
・D1 = D0 + 1のように演算結果を格納することも可能



www.niwakafa.com

www.niwakafa.com

www.niwakafa.com