FP-e、FP0のみ:割り込みプログラム内にREAL命令を使用することはできません。
「123」などの整数リテラルは暗黙的にREALに変換されます。
REAL型の変数の値は、IEEE754に準拠した32ビットの実数です。仮数部は23ビットで、指数部は8ビットです。
REAL型変数で扱える範囲: |
-3.402823466*E38~-1.175494351*E-38 |
0.0 |
|
+1.175494351*E-38~+3.402823466*E38 |
|
例えば、POUヘッダーの変数やグローバル変数リストのデフォルト値: |
0.0 |
次の形式でREAL値を入力できます。[+-] 整数値.整数値 [(Ee) [+-] 整数値]
5.983e-7
-33.876e12
3.876e3
0.000123
123.0
問題:
浮動小数点命令を使用するには、実数値が有効である必要があります。
REAL型変数で扱える範囲: |
-3.402823466*E38~-1.175494351*E-38 |
0.0 |
|
+1.175494351*E-38~+3.402823466*E38 |
実数の値が-3.402823466*E38未満、あるいは+3.402823466*E38を超える場合、エラーフラグsys_bIsOperationErrorHold とsys_bIsOperationErrorNonHold がONになります。また、システムレジスタNo. 26が「停止」に設定されている場合は、動作を停止します。
この条件は、IsValidRealおよびIsValidReal2のユーザー定義ファンクションでチェックされます。
実数の範囲が-1.175494351*E-38~+1.175494351*E-38の場合、PLCは、値を0.0とみなし、エラーフラグはONになりません。
FP1やFP-Mのような古いPLC機種には、実数をサポートしないものがあります。
この例では、ファンクションIsValidRealとIsValidReal2は、ラダーダイアグラム(LD)およびインストラクションリスト(IL)でプログラムされています。POUヘッダは全プログラム言語で使用できます。
POUヘッダ
POUヘッダには、このファンクションのプログラミングに使用するすべての入出力変数を宣言します。
LDボディ: IsValidReal
LDボディ: IsValidReal2