【公式】HULFT IoT EdgeStreaming ファーストステップガイド_2020年5月1日_第2版発行
共通の機能制限
HULFT IoT EdgeStreamingには、以下の共通の機能制限があります。
(1) 浮動小数点型の扱い
浮動小数点型の値は、演算または他システムへの書き込みによって、値の誤差(桁落ち、情報落ち)が発生する場合があります。
例)
-
Mapperの「数値」-「演算」-「足し算」ロジックに「0.05」と「0.01」を入力すると、出力データは「0.060000000000000005」となります。
-
Mapperの「数値」-「演算」-「足し算」ロジックに「1.2345678901234567」と「100000000」を入力すると、出力データは「1.000000012345679e+08」となります。
- SQL Server のBEGIN型のカラムに浮動小数点型の「9223372036854775000.0」を書き込みした場合、HULFT IoT EdgeStreamingは処理によって、値は「9223372036854774784」となります。
-
SQL Server のMoney型のカラムに浮動小数点型の「922337203685477.5807」を書き込みした場合、以下のエラーが発生し書き込むことができません。
could not exec statement: mssql: 値 = 922337203685477.620000 は型 money では算術オーバーフロー エラーになります。
-
PostgreSQL のMoney型のカラムに浮動小数点型の「92233720368547758.07」を書き込みした場合、以下のエラーが発生し書き込むことができません。
pq: value \"92233720368547760\" is out of range for type money
-
MySQL のBEGINT型のカラムに浮動小数点型の「9223372036854775000.0」を書き込みした場合、HULFT IoT EdgeStreamingは処理によって、値は「9223372036854774784」となります。
また、浮動小数点型の「9223372036854776000.0」を書き込みした場合、値は「9223372036854775807」となります。
(2) 整数型の最大値と最小値
整数型の最大値と最小値は以下になります。
最大値:9223372036854775807
最小値:-9223372036854775808
Mapperによる演算結果が最大値を超える場合、演算結果の値はオーバーフローします。
また、演算結果が最小値を下回る場合は、演算結果の値はアンダーフローします。
(3) 浮動小数点型の最大値と最小値
浮動小数点型の最大値と最小値は以下になります。
最大値:1.7976931348623157e+308
最小値:-1.7976931348623157e+308
Mapperによる演算結果が最大値を超える場合、演算結果の値はオーバーフローします。
また、演算結果が最小値を下回る場合は、演算結果の値はアンダーフローします。
なお、演算によって値の誤差(桁落ち、情報落ち)が発生する場合があります。
(4) グローバルリソースの設定
デザイナ画面でスクリプトを開いた状態で、コントロールパネルの「グローバルリソースの設定」を変更した場合、開いていたスクリプトを実行しても「クローバルリロースの設定」の変更は反映されません。
「クローバルリソースの設定」を変更した場合は、必ずデザイナ画面を開きなおしてからスクリプトを実行してください。
(5) 特定の単語の設定
デザイナ画面の以下の「対象の項目名」に、特定の単語を設定してスクリプトを実行した場合、エラーが発生します。
このため、「対象の項目名」には特定の単語を設定しないでください。
対象の項目名
-
スクリプト名
-
スクリプトの変数名
-
アイコン名
-
入出力スキーマのノード名
特定の単語とは、EdgeStreaming Engineが採用しているSensorBeeの予約語に相当します。
予約語については、下記URLを参照してください。
URL : https://github.com/sensorbee/sensorbee/blob/cb8d31dd3c56218f25dcf95fb6643bd3ac4f5e62/core/reservedwords.go
(6) 「デバック情報」ビュー
以下の設定でデバッグ実行を実施した場合、「デバッグ情報」ビューに「スクリプト変数の値」は表示されません。
-
デザイナ画面ーSSHーリモートデバイスメニューを選択
(7) スクリプト変数の使用(アダプタ全般)
各アダプタのプロパティ画面では、入力可能なすべてのフィールドに、スクリプト変数を指定することはできません。
(8) 標準出力への出力
標準出力処理を実施した際、入力データが以下のいずれかの場合、標準出力には「null」と出力されます。
入力データ
-
浮動小数点数の正の無限大(+Inf)
-
浮動小数点数の負の無限大(-Inf)
(9) 浮動小数点数のゼロ埋め
以下のロジックの入力データに浮動小数点の値を指定した場合、小数点以下の値が切り捨てられ、整数部のみがゼロ埋めされます。
-
Mapperの「文字列」-「演算」-「ゼロ埋め」ロジック
【公式】HULFT IoT EdgeStreaming ファーストステップガイド_2020年5月1日_第2版発行