業務でPLCを用いた製品計測の簡易化・コストダウンに取り組んでおり、その関係でST言語について勉強し始めています。
ST言語はC言語ライクに数値を扱えるので、外部から取り込んだデータを数値計算、数値判定させる用途に適しています。
従来はPCやテスタに取り付けたAD変換ボードでセンサの出力を取り込み、PC上で数値計算・良否判定してPLCに良否判定結果を出力というフローでしたが、これを活用すればすべてをPLC上でクローズさせることができるので構成の簡易化とコストダウンに大いに効果がありそう。
ラズパイをCodesysでPLC化して、ブレッドボード上でいろいろと試行しています。
元々、ラダーはほぼ初心者なのですが、Cはそれなりに経験を積んでいますので、STについてはすっと理解できました。
簡単な自己保持回路等はラダーで組むほうが簡易ですが、少し複雑な処理はSTのほうが見やすく書ける上に再利用が容易なようです。
回路の骨子(メインフロー)はラダーで記述し、個々のブロックは必要に応じてST(インラインST、FB)を組み合わせて記述するのが効率よさそうです。
例 X001のプッシュ毎にY001のON/OFFを切り替える回路(自己保持付き)
ラダー
ST