【中級編】PLC(シーケンサ)によるGX Works3のST(ストラクチャーテキスト)言語 FOR~NEXT

f:id:vv_6ong_3ka_cp:20210124060406p:plain

ST言語にはラダー言語同様にFOR~NEXTがあります。

ラダー言語のFOR~NEXTは独特ですが、ST言語のFOR~NEXTはC言語に近い型となっています。

ST言語を使用するメリットとして3つ挙げられます。
1.可読性があがる
2.余計な演算用デバイスが減る
3.一つ一つ演算するのではなく、数式のようにまとめて演算できる

ST言語のメリットを紹介したので次に、ST言語のFOR~NEXTを説明していきます。

ST言語 FOR~NEXT説明1
f:id:vv_6ong_3ka_cp:20210124052132p:plain

ST言語 FOR~NEXT説明2
f:id:vv_6ong_3ka_cp:20210124052147p:plain
Point.宣言の手順は、①初期化 ②範囲指定 ③増加分の指定

ラダーとST言語のFOR~NEXTの違いは強制宣言でしょう。

ラダーはFOR~NEXTを指定された回数繰り返すのにたいし、ST言語のFOR~NEXTは最初に初期化と範囲と増加分を指定します。

FOR~NEXTで比較するのはサーボモータdegree座標演算プログラムにしました。

若干複雑な演算式もあるためこちらが良いと判断しました。

下記が過去記事と参考プログラムです。

サーボモータdegree座標検索演算方法
www.niwakafa.com

サーボモータdegree座標検索
f:id:vv_6ong_3ka_cp:20210124045751p:plain

サーボモータdegree座標検索演算方法プログラム1
f:id:vv_6ong_3ka_cp:20210124045450p:plain

サーボモータdegree座標検索演算方法プログラム2
f:id:vv_6ong_3ka_cp:20210124045501p:plain

サーボモータdegree座標検索演算方法プログラム3
f:id:vv_6ong_3ka_cp:20210124045514p:plain

サーボモータdegree座標検索演算方法プログラム4
f:id:vv_6ong_3ka_cp:20210124045528p:plain

サーボモータdegree座標検索演算方法プログラム5
f:id:vv_6ong_3ka_cp:20210124045539p:plain

それでは実際にST言語で記述するとどのようになるか説明していきます。

広告


GX Works3 ST言語 FOR~NEXT

ST言語でのFOR~NEXTを記述していきます。

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

ST言語 データ型式指定 ダブルワードD0:D

ST言語 データ型式ダブルワード指定
f:id:vv_6ong_3ka_cp:20210124052505p:plain
Point.ダブルワードを指定する場合は:Dと指定デバイスのあとに付け加える

参考プログラム

FOR~NEXTプログラム1
f:id:vv_6ong_3ka_cp:20210124054742p:plain

FOR~NEXTプログラム2
f:id:vv_6ong_3ka_cp:20210124054814p:plain
Point.ラダープログラムと比較するとST言語の方が見やすくなるが、ステップ数は多くなってしまう

まとめ
・宣言の手順は①初期化 ②範囲指定 ③増加分の指定
・ダブルワードの型は:D
・可読性はST言語が良い



www.niwakafa.com

www.niwakafa.com

www.niwakafa.com

www.niwakafa.com

www.niwakafa.com

www.niwakafa.com