OSP(オークマ) - 分岐、数値の扱い方
OSPで使用する無条件分岐(GOTO)、条件分岐(IF)と、数値の扱い方について解説します。
分岐機能
- 分岐機能には、無条件にジャンプするGOTO文と、条件を設定しジャンプするか否か制御するIF文があります。
- ジャンプ先にはシーケンス名(N_)が使用され、プログラム内に無ければアラームになります。また、ジャンプ先のシーケンス名が2か所以上にある場合はプログラムの先頭に近いシーケンス名にジャンプします。
- 分岐指令はジャンプ先のシーケンス名をプログラムの先頭から検索するため、ジャンプ先がプログラムの先頭から離れているほど、実行に時間がかかります。
- パラメーターで運転方式Aが選択されている場合、分岐のジャンプ先にシーケンスラベル(アルファベットを含むシーケンス名)を使用すると、実行速度が高速になります。分岐が高速になるシーケンスラベルの数は、プログラムの先頭から30個までで、31個目からは通常通りの速度になります。
無条件分岐|GOTO
「GOTO N_」の形式で、「N_」はジャンプ先のシーケンス名になります。「GOTO」と「N」の間には必ずスペースが必要です。
条件分岐|IF
「IF [条件式] N_」または「IF [条件式] GOTO N_」の形式で、条件が満たされた場合は指定したシーケンス名にジャンプし、条件が満たされない場合には次のプロックへ進みます。「GOTO」と「N」の間には必ずスペースが必要です。
条件式には比較演算子を使用します。比較演算子の前後には必ずスペースが必要です。
「IF [VC1 LT 10] N200」の場合は、「VC1」が「10」より小さいとき「N200」へジャンプします。
| NCコード | 意味 |
|---|---|
| EQ | 左辺と右辺が等しい (=) |
| NE | 左辺と右辺が等しくない (≠) |
| LT | 左辺が右辺より小さい (<) |
| LE | 左辺が右辺以下である (<=) |
| GT | 左辺が右辺より大きい (>) |
| GE | 左辺が右辺以上である (>=) |
お知らせ
当サイトのPDF版を作成しました。教育資料やリファレンスとして使用して頂ければと思います。
上級編も作成しました。