IEC61131-3「ST言語」:PLCの国際標準プログラミング
IEC61131-3準拠 「ST言語」について。
ラダーでは煩雑な演算処理も、数式をそのまま記述できる。
デバイスの一時格納先が不要でプログラム工数を圧倒的に削減できる。
何かの「前」(pre-)に付けられる記号のこと。 反意語はsuffix(接尾辞、サフィックス)。
IEC61131-3基礎
識別子 (IndentifierIndentifier)は変数名、データ型、ファンクション等に割り当てた個々の名前。
- 識別子は 「アルファベット」 (a~z , A~Z) か「アンダースコア」 ( _ ) で始まる
- 2文字目以降は数字、アルファベットあるいはアンダースコアを使用できる。
- 大文字・小の区別は行われない。
(注) 以下は使用できない。
- 特殊文字 (!, “, §, $, など )
- スペース
- 2文字以上連続するアンダースコア
ビット、ビット列
| 型 | 最小値 | 最大値 | サイズ | Prefix |
|---|---|---|---|---|
| BOOL (ビット) | FALSE(0) | TRUE(1) | x b | |
| BYTE | 8bit | by | ||
| WORD | 16bit | w | ||
| DWORD | 32bit | dw |
Prefix:プリフィックス
何かの「前」(pre-)に付けられる記号のこと。 反意語はsuffix(接尾辞、サフィックス)。
8bitで1BYTE
16bitで1WORD
整数
| 型 | 最小値 | 最大値 | サイズ | Prefix |
|---|---|---|---|---|
| SINT | -127(-2^7) | 127(2^7-1) | 8bit | si |
| USINT | 0 | 255(2^8-1) | 8bit | usi |
| INT (1ワード符号あり整数) | -32768(-2^15) | 32,767(2^15-1) | 16bit | i |
| UINT (1ワード符号なし整数) | 0 | 65,535 | 16bit | ui |
| DINT (2ワード符号あり整数) | -134217728 | 134,217,727 | 32bit | di |
| UDINT (2ワード符号なし整数) | 0 | 4,294,967,295 | 32bit | udi |
| LINT | -2^63 | 2^63-1 | 64bit | li |
| ULINT | 0 | 2^64-1 | 64bit | uli |
浮動小数点
| 型 | 最小値 | 最大値 | サイズ | Prefix |
|---|---|---|---|---|
| REAL (単精度浮動小数点型) | 1.0E-44 | 3.402823E + 38 | 32bit | r |
| LREAL (倍精度浮動小数点型) | 4.94065645841247E-324 | 1.7976931348623157E + 308 | 64bit | lr |
日付、時間
| 型 | 最小値 | 最大値 | サイズ | Prefix |
|---|---|---|---|---|
| TIME_OF_DAY | TOD#0:0:0 | TOD#23:59:59 | 32bit | tod |
| DATE | D#1970:01:01 | D#2106??? | 32bit | date |
| DATE_AND_TIME | DT#1970:01:01:00:00:00:00 | DT#2106??? | 32bit | dt |
| TIME | T#0s | T#49d17h2m47s295ms | 32bit | tim |
文字列_STRING
| 型 | 説明 | 例 | サイズ | Prefix |
|---|---|---|---|---|
| STRING | ASCIIコードの文字列。標準で80文字。終端文字コードは0x00 | ‘1234ABCDE’ ‘ABCDE$R$L’ ‘ABCDE$0D$0A’ | 80+1 | s |
文字列の使用
| 宣言例 | 代入式 | SIZEOFの結果 | LENの結果 |
|---|---|---|---|
| sVar:STRING; | sVar :=’ABC’; | 81 | 3 |
| sVar1:STRING(1) | sVar :=’X’; | 2 | 1 |
| sVar:STRING(255); | sVar:=’ABC’; | 256 | 3 |
定数
| $<2 桁16 進数値 > | ASCIIコード |
|---|---|
| $0D | CR |
| $R | CR |
| $L | Line Feed |
| $N | New Line |
| $T | Tab |
Structured Text (ST) 演算子
| 演算 | シンボル |
|---|---|
| 累乗 | EXPT |
| 負 | – |
| 補数 | NOT |
| 掛算 | * |
| 除算 | / |
| 剰余 | MOD |
| 加算 | + |
| 減算 | – |
| 比較 | <,>,<=,>= |
| 等値 | = |
| 非等値 | <> |
| 論理 | AND AND |
| 論理 | XOR XOR |
| 論理OR | OR |
| (代入 ):= | PosWert := 10; |
| RETURN | RETURN; |
| CASE | |
| FOR | |
| WHILE | |
| REPEAT | |
| EXIT | |
| (文の終わり ) | ; |

