ST(ストラクチャーテキスト)言語のメリットとしては、複雑な演算式を見やすくすることが可能となり、可読性が良くなります。
C言語で使用しているような演算方法が使用できるのもST(ストラクチャーテキスト)言語のメリットです。
ST言語内で使用できるビットのON/OFF判定は以前の記事で紹介しました命令文 IFで使用することができます。
GX Works3 ST言語 ビットON/OFF判定
www.niwakafa.com
ST言語 条件分岐 IF
ビットのON/OFFを判定するにはIF <ビット条件> THENのビット条件にデバイスを入れることで判定することができます。
また、ELSIFで上記の条件が全て偽であるなら判定を行い、真ならば命令を実行します。
全て偽なら、ELSEの命令を実行します。
あまりST言語はラダー言語を使用する人からすると敷居が高いように感じられてしまいますが、使用できるようになればファンクションブロックのように使用することができ、演算用デバイスを割り振っておき、そこに数値を代入すれば引数が返ってくる。
このようなC言語やファンクションブロックのような使い方もできるようになります。
今回はビット判定で使われるIF文とELSIFについて紹介します。
広告
GX Works3 ST言語記述方法
インラインST挿入 STB
GX Works3 IF ビットON/OFF判定
Point.ELSEIFではなくELSIFと記述する
ST言語 IF ビットM999:OFF/ M998:OFF
D0に1が格納される
ST言語 IF ビットM999:ON/ M998:OFF
D0に100が格納される
ST言語 IF ビットM999:OFF/ M998:ON
D0に2が格納される
ST言語 IF ビットM999:ON/ M998:ON
D0に100が格納される
まとめ
・ELSEIFではなくELSIFと記述する
・ELSIFで上記の条件式全てが偽ならば判定し、真ならば命令を実行
・ELSEで全ての条件が偽ならば命令を実行