IoTおよびGPS ViaLatMサービス-スクリプト言語(部3)

記事のこの部分では、オブジェクトアイコンと新しい(言語に追加された)演算子および関数を操作するためのスクリプト言語の使用について説明します。







論理演算子



これで、式では論理演算子&(AND)、|を使用できます。 (OR)および^(XOR)。

例:

アラーム=センサー1およびセンサー2。

GROUP_STATE = UNIT( "12345")X1 | ユニット(「67890」)X2;

これらの演算子は、変数値をビットごとに処理します。



BOOL関数



BOOL関数-渡された引数が0より大きい場合は1を返し、0以下の場合は0を返します。IFSET関数を使用できますが、BOOLを使用すると、より短いレコードが得られます。



HEX、BIN関数



値を16進数で設定するのに便利なように、HEXおよびBIN関数を使用できます。

HEX( "FE")-254を返します

BIN( "10110")-22を返します

関数は、ビット文字列として送信されるオブジェクトの属性を操作するときに役立ちます。



MAPVALUE関数



形式:MAPVALUE(VAL0、RET0、VAL1、RET1、...、VALN、RETN、PARAM);

この関数は、パラメーターVAL0、VAL1、... VALNに対してPARAMパラメーター(関数の最後のパラメーター)の値をチェックします。 条件PARAM> VALXが満たされるものを見つけ、対応するRETXパラメーターを返します。 条件を満たすすべてのパラメーターのうち、最も高いVAL値を持つパラメーター、つまりPARAMに最も近いパラメーターが選択されます。 これにより、VALでソートされていない順序で引数を渡すことができます。つまり、変数、オブジェクトの属性-たとえば、スクリプトの実行時に計算される特定の場所までのデバイスの距離をVAL引数として設定できます。 そのようなパラメーターが見つからない場合、RET値が常に返されます。これは、すべてのVALパラメーターの最小値に対応します。

例:

X1 = MAPVALUE(10、100、20、200、30,300,23);

X1の値は200に設定されます。



MAPVALUESTR関数



形式:MAPVALUESTR(VAL0、RET0、VAL1、RET1、...、VALN、RETN、PARAM);

この関数は関数MAPVALUEに似ていますが、文字列データはRET変数として指定され、関数は文字列を返します。 画像の動的インストールとオブジェクトのアイコンの色を説明する際に、この関数の適用例を以下に示します。



スクリプトでアイコンを使用して作業を説明する前に、追加の説明をします。 サービス内のアイコンの操作に関する情報:



カスタムアイコンをアップロードする



「プロファイル」サービスのメインメニューで、「カスタムアイテム」サブメニューを選択すると、オブジェクトの画像をアップロードできます。







オブジェクトへのアイコンの割り当て



コンテキストメニューで[編集]を選択して、オブジェクトごとに、オブジェクトにアイコンを割り当てることができます。 アイコンは、事前定義されたグループまたは「カスタムアイコン」グループから選択されます。 アイコンの色とサイズを変更できます。 次に、スクリプト言語を使用してこれを動的に行う方法を説明します。







スクリプト言語でアイコンを操作する



この場合、オブジェクトからメッセージを受信するときにアイコンの色と画像を変更する例を示します。 これを行うには、オブジェクトのコンテキストメニューから次の演算子をスクリプトに追加します。



UNIT.ICON.COLOR = MAPVALUESTR(0、 "FF6A00"、10、 "B6FF00"、20、 "00FFFF"、40、 "0094FF"、60、 "0026FF"、80、 "B200FF"、100、 "FF006E"、 UNIT.V);

UNIT.ICON.IMAGE = MAPVALUESTR(0、 "car5pack.png"、50、 "car5.png"、100、 "car5sign.png"、UNIT.V);



最初の演算子を使用すると、オブジェクトのアイコンの色は現在の速度に応じて変化し、2番目の演算子を使用すると、アイコンの画像はオブジェクトの現在の速度に基づいて変化します。 次のオブジェクト属性は、アイコンを操作するために使用されます。

UNIT.ICON.COLOR

UNIT.ICON.IMAGE

UNIT.ICON.SIZE

最後の属性を使用すると、スクリプトを使用してオブジェクトのアイコンのサイズを変更できます。



1つのオブジェクトのスクリプトの一部として、他のオブジェクトのアイコンを変更できます(それらが同じフォルダーにある場合、またはスクリプトが実行されているオブジェクトを所有する同じユーザーに属している場合)。

画像は、オブジェクトのアイコンが選択されているグループ内に存在する必要があります。 つまり、物事のインターネットグループで最初に選択された場合、スクリプト内でBusグループのオブジェクトにアイコンを割り当てることはできません。



このシナリオの操作の例は、デモアクセスのViaLatM サービスの 「バルセロナ」オブジェクトの例で見ることができます。



All Articles