ST言語 (ストラクチャードテキスト)
STとは
-
ST(Structured Text)はプログラム言語のひとつでIEC61131-3で規定されているラダーと混在できる言語です
計算するときや、FOR文、IF文を使いたいときにST言語で記述すると書きやすく、見やすくなります
使用例
-
三角形を計算する
これをラダーで書くと計算途中の値を覚えるために一時的に格納する変数が必要になり見にくくなります
注意点
- IF文でフラグ処理するときの注意点
-
三角形の面積が10以上ならJudgeをONにするときのことを考えます
このようにしてしまいがちですが、これだと一度JudgeがONすると面積が10未満でもONしっぱなしになるので必ず下記のようにELSE文をいれて10未満ならJudgeをOFFにします
- インラインSTは起動条件がOFFで読み飛ばされる
-
インラインSTの起動条件のflgがOFFになるとインラインSTは実行されません
よって、インラインST内の変数は前回値を保持したままとなるので、Judgeは前回値のままになり前回値がONであればOFFに変わることがないので注意が必要です
この場合でflgがOFFのときにJudgeもOFFしたいときは、計算だけSTでやってIF文のところをインラインSTの外に出すのが簡単そうです(場面によってやり方は変えてください)