コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

デバイス協調と共有先

デバイス共有により、他の Edge-EMS Builder ノードのデータをローカルの計算や制御ロジックに利用できます。現在の共有先は「ローカル → 1 台の対象デバイス」という方向モデルで、集約、双方向、多段階の協調を構成できます。

オブジェクト 役割
デバイス情報 一意のデバイスコードでノードを識別し、ネットワークアドレスとローカルかどうかを記録
共有設定 ローカルポイントと共有周期を選択
共有先 受信デバイスを 1 台指定し、1 つ以上の共有設定を関連付け

共有先はローカルから設定するため、スレーブデバイス一覧の入力は不要です。複数デバイスへ送信する場合は複数の共有先を作成します。複数ノードから同じ集約ノードへ送信する場合は、各ノードに共有先を設定します。

  1. 参加デバイスのデバイス情報を管理し、ローカル指定と一意のデバイスコードを確認します。
  2. 送信側で共有設定を作成し、ポイントと CRON 周期を指定します。
  3. 受信側を指す共有先を作成し、送信する設定を関連付けます。
  4. 受信側で共有ポイント、送信元デバイス、最新値を確認します。

双方向共有が必要な場合は両側で設定します。多段階の集約では、受信データからローカルの集約指標を計算し、さらに上位へ共有できます。

操作の詳細は デバイス協調設定、フィールドの説明は 共有先リファレンス を参照してください。

共有データは名前、エイリアス、単位を含みます。同じ dataKey が異なるデバイスから届くことがあるため、照会時にはデバイスコードも指定し、キャッシュキーを手動で連結しないでください。

-- demo_edge と demo_power は実際のコードへ置き換えてください
local localPower = tonumber(${demo_power})
local remotePower = tonumber(${[demo_edge]demo_power})
if not localPower or not remotePower then return "__Null__" end
return localPower + remotePower

履歴照会、グループマッピング、制御ログでも、同じ送信元識別情報を保持してください。

トリガーアクションはデバイスコードを指定し、遠隔の書き込み可能ポイントへ指令を送信できます。対象データ型には遠隔側の実際の型を設定します。収集ポイントなら Collection です。

return {buildSlaveWriteMap("demo_edge", "Collection", "demo_setpoint", 10, nil, nil, false)}

要求の送信は、デバイスでの実行完了を意味しません。権限、デバイス応答、実行側ログ、ポイントの読み戻しを確認してください。デバイス制御ログ を参照してください。

デバイス状態は制御判断に使用できます。遠隔値を使用する場合は通信状態とデータの鮮度も確認してください。デバイス共有にはノード間のネットワーク到達性が必要です。デバイスコードは識別、IP は接続に使用します。

対応する Linux ネットワーク環境では、ローカルの外部ネットワークが使用できないときに、オンラインの別デバイスのネットワークを利用できます。直接接続が復旧するとローカルへ切り戻します。同じ NIC を使う共有にも対応します。この機能は現場のルーティングと権限に依存するため、実デバイスで検証してください。

受信ノードを交換する場合は、共有先の対象デバイスコードを更新します。アドレスだけが変わる場合は、そのデバイス情報を更新し、接続と関連付けを確認します。同種デバイスの設定は UDE で生成するか、デバイス共有 Skill を使用できます。