PASCALっぽいなにか。計算に便利。というかラダーで計算なんてするもんではない。
計算が必要になるたびに使って言っていいくらいの代物。
ラダー上に直接STを書けるインラインSTが使えるのならそれで、使えない場合はラダー上にFBを置いて中身をSTで書けばよい。
テキスト記述なので、PLCが別会社に変わっても流用できる。
IF分岐が多くなると条件分岐でのラダーの優秀さに気が付くだろう。
使用例(STライブラリ)
基礎的な話は以下の記事が読みやすいのでそちらへ
ソフテックだよりへ
計算が必要になるたびに使って言っていいくらいの代物。
ラダー上に直接STを書けるインラインSTが使えるのならそれで、使えない場合はラダー上にFBを置いて中身をSTで書けばよい。
テキスト記述なので、PLCが別会社に変わっても流用できる。
IF分岐が多くなると条件分岐でのラダーの優秀さに気が付くだろう。
使用例(STライブラリ)
基礎的な話は以下の記事が読みやすいのでそちらへ
ソフテックだよりへ
下で書いてるように代入が:=であることを除いて、数式を書く間隔で記述できるので楽。
インラインSTがあるなら、四則演算は全部ST言語で書いたほうがいいくらいのわかりやすさ。
math := (data1 + data2) * data3 / data4 - data5;
End_if;
データ型が一致していないといけないのが面倒
インラインSTがあるなら、四則演算は全部ST言語で書いたほうがいいくらいのわかりやすさ。
- 例
math := (data1 + data2) * data3 / data4 - data5;
End_if;
データ型が一致していないといけないのが面倒
VAR
(変数):(データ型);
END_VER
データ型のあとに":="で代入も一緒にできる。
だいたいのソフトでは変数リストがあってそちらで宣言するほうが楽だと思う。エクセルからコピーできるし。
キーワード"AT"でメモリ番地の指定もできるが、自動割り当てのほうが便利だから多分使わない。
EXAMPLE : BOOL; (*EXAMPLEはBit*)
END_VER
(変数):(データ型);
END_VER
データ型のあとに":="で代入も一緒にできる。
だいたいのソフトでは変数リストがあってそちらで宣言するほうが楽だと思う。エクセルからコピーできるし。
キーワード"AT"でメモリ番地の指定もできるが、自動割り当てのほうが便利だから多分使わない。
- 例
EXAMPLE : BOOL; (*EXAMPLEはBit*)
END_VER
ラベルに移動
変数宣言時に"(変数)[0..*]"で*までの数の配列になる。
たぶん0スタートは固定。多次元配列も可能だけど使うのは2次元までだと思う。次元は","で区切る。[0..1,0..2]みたいな感じ。
たぶん0スタートは固定。多次元配列も可能だけど使うのは2次元までだと思う。次元は","で区切る。[0..1,0..2]みたいな感じ。
IfとCaseが使える。
" IF (条件) THEN (命令) ELSE (例外時命令) END_IF; " ごく普通。
条件分岐を増やしたい場合"ELSE_IF (条件) THEN (命令)を間に入れる。ふつう。
Caseは同じ式で比較を繰り返す際に便利。
条件が複雑になったらラダーで書いたほうがいいです。
ForとRepeatがある。ぶっちゃけどっちでも好きな方を覚えればよい。
For (式) To (数値) by
(繰り返し命令)
END_For;
条件分岐とは違って繰り返しはST言語のほうが使いやすい。
For (式) To (数値) by
(繰り返し命令)
END_For;
条件分岐とは違って繰り返しはST言語のほうが使いやすい。
コメントをかく