Step1 解説編 (工事現場ユースケース)

概要

本レポートでは、Things Cloudをよりよく知っていただくために、デバイスの位置に焦点をあてたユースケースを用いた画面の構築方法等について解説します。
概念や機能の大枠は理解しているが、実現したいことに対し、Things Cloudでどのような設定をするかのイメージを持っていただくことを目的としています。
また、本レポートではプリセットのシミュレーターを利用していますので、一緒に手を動かし同じようなダッシュボードを構築することもできます。
本レポートを読まれた後には、ぜひStep2 機器監視ユースケース もお読みいただくことをお勧めいたします。

本レポートの構成は以下の通りです。

IoTシステム導入により実現したいこと

工事現場で重機の位置を把握したい

以下は実現したいユースケースのイメージ図です。このイメージ図を元にシステムを構築していきましょう。 usecase

完成イメージ

本レポート完了時に、以下のようなダッシュボードが完成します。

大まかなシステム構成を考える

Things Cloudでの実現方法検討に入る前に、IoTシステム導入により実現したいことを実現するための大まかなシステム構成(全体アーキテクチャ)を考えます。

例えば以下のような要素を洗い出しておくと良いでしょう。

上記について洗い出し、実現したいことの全体像を明らかにしていきます。以下のような一枚絵が描ける程度の詳細度で問題ありません。 システム構成例

アセット管理についての詳細は以下ををご参照ください。

Things Cloudでの実現方法を検討する

次に、要件をもとにデータモデルを定義し、Things Cloudの機能を使って、どのように実現できるか考えます。

データモデルを考える

利用する機能を選定する

要件を基にデータモデルを考えた後、要件を実現するための機能、またその用途、各機能で表示対象となるデータ、設定値は何かを考えます。
要件に完全に当てはまる機能がない場合でも、標準機能の組み合わせによって実現できないか考えてみると良いです。

ダッシュボード

グループをどのような構成にするか?
ウィジェットは何を使うか?

デバイスデータのタイプ別に可視化に適したものをグルーピングした下記の標準ウィジェット一覧から考えます。



参考: デバイスデータのタイプ別に可視化に適したものをグルーピング 標準ウィジェット一覧1 標準ウィジェット一覧2 標準ウィジェット一覧3 標準ウィジェット一覧4 標準ウィジェットプロパティ

スマートルール

どのスマートルールを利用するか?
グローバルなスマートルールと、グループ上 または デバイスに紐づけられるスマートルールがあるが、どちらを設定するか?
アラーム の type は何を設定するか?

スマートルールの詳細に関してはスマートルールをご参照ください。

デバイスを準備する

  1. 地図上にデバイスのピン(位置)を表示するには、デバイスの位置を設定する

  2. 地図上にデバイスの移動軌跡を表示するには、トラッキングデータをイベントデータで送信する

  3. デバイス管理画面で地図に関する表示のまとめとして、デバイス管理画面での表示を確認する

参考 上記にはシミュレーターを利用できます。

詳細は、シミュレーターの操作をご参照ください。

デバイスの位置を設定する

デバイスの位置は、マネージドオブジェクトのフラグメントc8y_Positionとして地理的な位置を緯度、経度および高度として管理します。
※ シミュレーターにはデフォルトで設定されてます。

デバイスのマネージドオブジェクトにフラグメントc8y_Positionを追加します。

PUT <<url>>/inventory/managedObjects/<<deviceId>>
{
    "c8y_Position": {
        "alt": 67,
        "lng": 6.15173,
        "lat": 51.211977
    }
}    

詳細は、位置確認特性をご参照ください。

トラッキングデータをイベントデータで送信する

タイプc8y_LocationUpdateの位置更新イベントを作成し、デバイスの位置を追跡します。現在のデバイスの位置も更新する必要があります。

POST <<url>>/event/events
{
    "c8y_Position": {
        "alt": 67,
        "lng": 6.75933,
        "lat": 51.224464
    },
    "time": "<<作成日時>>",
    "source": { "id": "<<deviceId>>" },
    "type": "c8y_LocationUpdate"
}

デバイス管理画面での表示を確認する

デバイス管理画面でも位置の設定や、追跡ができます。

対象デバイスのデバイス詳細を表示し、右メニューの参照から「位置を追加」をクリックすると c8y_Positionフラグメントが、マネージドオブジェクトに追加され位置タブと追跡タブが表示します。(位置の値はデフォルト値が設定されます。)
情報タブのデバイスデータの編集からもフラグメントを追加することができます。 位置を追加

デバイス詳細の位置タブを表示し、「位置を編集」から位置を更新します。 位置を更新

デバイス詳細の追跡タブを表示し、イベントの追跡を確認します。イベントの追跡は時系列データのため、日付での絞り込みが可能です。 経路を確認

詳細は、デバイス詳細の位置をご参照ください。

コックピットを設定する

業務オペレーター向けにデバイスからのデータを可視化するために、コックピットを設定します。

コックピットの詳細についてはコックピットをご参照ください。

グループを設定する

大まかなシステム構成を考えるで検討したアセット構成を元に作成します。 以下の構成と想定した上で、グループを作成し、グループへデバイスを所属させます。デバイスグループは任意で設定可能です。

グループについてはアセット管理をご参照ください。

ダッシュボードを作成する

ダッシュボードの作成についてはダッシュボードをご参照ください。

ウィジェットを作成する

ウィジェットの一覧についてはウィジェットコレクションをご参照ください。

地図

  1. 「ウィジェットを追加」から「地図」をクリックします
  2. タイトル: 地図
  3. 対象のアセットもしくはデバイス: 千代田区丸の内二丁目
地図上のピンをクリックすると?

アラームリスト

  1. 「ウィジェットを追加」から「アラームリスト」をクリックします
  2. タイトル: アラームリスト
  3. 対象のアセットもしくはデバイス: 千代田区丸の内二丁目
  4. ステータス
    • クリアしたアラームは表示させない想定とします
    • クリア済みのチェックを外す
  5. タイプ: 記載なし
  6. 重大度
    • 警告アラームは表示させないと想定します
    • 警告のチェックを外す
    • 設定後は下図のようになります アラームリストのフィルタ

アセットプロパティ

  1. 「ウィジェットを追加」から「アセットプロパティ」をクリックします
  2. タイトル: アセットプロパティ
  3. 対象のアセットもしくはデバイス: 千代田区丸の内二丁目
  4. プロパティ
    • 以下を設定します プロパティ

アセットテーブル

  1. 「ウィジェットを追加」から「アセットテーブル」をクリックします
  2. タイトル: アセットテーブル
  3. 対象のアセットもしくはデバイス: 千代田区丸の内二丁目
  4. プロパティ
    • 以下を設定します プロパティ
アクションの追加

詳細は アセットプロパティ > アクションの追加 をご参照ください。

データポイントグラフ

  1. ホイールローダのダッシュボードへ移動します
  2. 「ウィジェットを追加」から「データポイントグラフ」をクリックします
  3. タイトル: ガソリン消費量
  4. データポイント: com_GasConsumption => G
データポイントの設定

イメージウィジェット

  1. 「ウィジェットを追加」から「画像」をクリックします
  2. ウィジェット上に表示したい画像をアップロードします
  3. イメージウィジェットを作成する際にファイルをアップロードしますが、ファイル自体はファイルリポジトリへ保存されます。

ファイルリポジトリについてはデータ管理 > ファイルリポジトリ内のファイルの管理をご参照ください。

スマートルールを設定する

一定の範囲外に出てしまった場合にアラームを生成する設定を行わなければならないので、スマートルールを使用します。

ジオフェンスアラームを生成する

ジオフェンスアラームを生成するスマートルールに関してはスマートルールコレクションをご参照ください。

ダッシュボードをコピーする

工事現場が増えて管理対象を増やしたい時、どのようにグループやダッシュボードを追加していけば良いでしょうか。このような場合に活用できる2つの機能があります。

機能1:グループからグループへダッシュボードをコピーする機能

「千代田区大手町一丁目」で新たに工事が開始し、管理対象として加えるとしましょう。 新たに「千代田区大手町一丁目」グループを作成し、その配下に必要なデバイスを割り当てます。 「千代田区丸の内二丁目」のダッシュボードをコピーし、「千代田区大手町一丁目」グループに貼り付けます。

大手町グループ追加

このように、本機能を利用することで管理対象のアセットが増えた場合でも、グループのダッシュボードを新たに作ることなく既存のダッシュボードを流用できます。

詳細は ダッシュボードを一つのオブジェクトから別のオブジェクトへコピー をご参照ください。

機能2:同じデバイスタイプ間でダッシュボードを共有する機能

デバイス(ManagedObject)のタイプ(type)が同じ場合、ダッシュボードを共有することができます。 「千代田区丸の内二丁目」のホイールローダのデバイスタイプを「c8y_WheelDevice」に変更し、ホイールローダに作成されているダッシュボードの編集画面より、「すべてのデバイス タイプにダッシュボードを適用」にチェックを入れます。

「千代田区大手町一丁目」でも「ホイールローダ2」が使用されると想定し、「千代田区丸の内二丁目」のホイールローダと 同じデバイスタイプ「c8y_WheelDevice」を設定しましょう。 設定後、自動的に既に設定してあるダッシュボードが反映されていると思います。

デバイスタイプ変更 デバイスタイプによる共有

詳細は以下をご参照ください。

機能1と機能2を活用することにより、グループやデバイスの数が増えた時でも既存の設定を活用できます。

注意点

  • 機能1では、ウィジェット設定画面の「対象のアセットもしくはデバイス」の項目が現在のグループ(コピー元ダッシュボードが作成されているグループ)の場合のみ利用可能です。
  • 機能2では、既にデバイスダッシュボードを作成している場合にデバイスタイプを変更すると、変更後のデバイスタイプのダッシュボードに上書きされます。

Step2 問題編 (機器監視ユースケース)

概要

本レポートでは、Things Cloudをよりよく知っていただくために、ユースケースを用いた画面の構築方法等について解説します。
概念や機能の大枠は理解しているが、実現したいことに対し、Things Cloudでどのような設定をするかのイメージを持っていただくことを目的としています。
本レポートは問題編のため、本文には設定例が記載されていますが、設定内容は自由であり、記載のある設定例にならない場合もあります。
また、本レポートを読まれる際には、事前にStep1 工事現場ユースケース をお読みいただくことを推奨します。

本レポートの構成は以下の通りです。

IoTシステム導入により実現したいこと

工場に設置されている機器の遠隔監視を行いたい

以下は実現したいユースケースのイメージ図となります。このイメージ図を元にシステムを構築していきましょう。 イメージ図

大まかなシステム構成を考える

Step1の考え方を参考に取り組んでみましょう。 以下は一例です。

システム構成例

Things Cloudでの実現方法を検討する

Step1の考え方を参考に取り組んでみましょう。 以下は一例です。

  1. まず、IoTシステム導入により実現したいこと で記載した事項をThings Cloud内のどの機能を使えば良いか調査します。
    以下は一例です。

    • データを可視化したい
      • 生産数や不良品数の情報をデータポイントグラフ・データポイントテーブルで表示
      • 温湿度やCO2の情報を放射状ゲージで表示
    • 工場内の現在の機器の状況を知りたい
      • SCADAウィジェットで工場内マップを表示
      • 機器の情報をアセットテーブルで表示
    • センサーデータの異常なことの検知したい
      • 異常値になった場合はスマートルールでアラーム生成
      • アラームリストで表示
    • 機器稼働状況をレポートで表示したい
      • レポート機能を使用し、CSVで出力
    • 機器の稼働開始・停止を表現したい
      • イベントで開始停止を送信し、イベントリストウィジェットで表示
    • 工場内の環境状態(CO2や温度など)で、段階的に表現する
      • 信号機ウィジェットを使用し、総合的に判断し表示
    • 工場の内観や外観の写真を表示する
      • 画像ウィジェットで表示
    1. より、今回使用するウィジェット及びレポートをリスト化します。以下は一例です。
    • SCADAウィジェット

    SCADAウィジェットの詳細やSVG画像の作成方法についてはSCADA ウィジェットによるデータ可視化をご参照ください。

    • アラームリストウィジェット
    • イベントリストウィジェット
    • 信号機ウィジェット
    • データポイントグラフウィジェット
    • データポイントテーブルウィジェット
    • 放射状ゲージウィジェット
    • アセットテーブルウィジェット
    • 画像ウィジェット
    • 機器稼働状態を出力するレポート
      • レポート作成時に「フィールド」の「管理対象オブジェクト」を有効にして、「事前定義を追加」でID・タイプ等、カスタムプロパティを選択できます。
      • レポート機能は、エクスポート設定に自動で毎年、毎週、毎日等でエクスポートのスケジュールを設定することが可能です。

    レポート機能に関する詳細はレポートの管理とエクスポートをご参照ください。

デバイスを準備する

Step1の考え方を参考に取り組んでみましょう。

以下は一例です。

  1. 以下のデバイスを作成します。

    • ラインAの機器1
    • ラインAの機器2
    • ラインAの環境センサー
    • ラインAの製品検査センサー
    • ラインBの機器1
    • ラインBの機器2
    • ラインBの環境センサー
    • ラインBの製品検査センサー
  2. デバイスのデータをThings Cloudへアップロードします。以下はデータモデルの一例となります。

    • 機器(event) 機器稼働開始,機器稼働停止
    {
        "type": "com_OperationStatus",
        "time": (時間),
        "text": "機器が稼働開始しました。",
    }
    
    • 環境センサー(Measurement) 温度,二酸化炭素,騒音
    {
        "type": "com_FactoryEnvironment",
        "time": (時間),
        "c8y_Temperature": {
            "T": {
                "unit": "℃",
                "value": (数値)
            }
        },
        "c8y_Carbondioxide": {
            "co2": {
                "unit": "ppm",
                "value": (数値)
            }
        },
        "c8y_Noise": {
            "db": {
                "unit": "db",
                "value": (数値)
            }
        }
    }
    
    • 製品検査センサー(Measurement) 生産数,不良品数
    {
        "type": "com_FactoryProduction",
        "time": (時間),
        "c8y_PartsProduction": {
            "P1": {
                "unit": "count",
                "value": (数値)
            }
        },
        "c8y_PartsDefect": {
            "D1": {
                "unit": "count",
                "value": (数値)
            }
        }
    }
    

各機能を設定する

Step1の考え方を参考に取り組んでみましょう。

グループを設定する

グループを作成してみましょう。 以下は一例です。



ダッシュボードを作成する

ダッシュボードを作成してみましょう。 以下は一例です。

ウィジェットを作成する

ダッシュボード内へウィジェットを作成してみましょう。
Things Cloudでの実現方法を検討する でリスト化したウィジェットを作成します。
以下はウィジェット作成内容の一例です。

スマートルールを設定する

スマートルールを作成してみましょう。 以下は一例です。

レポートを設定する

レポートを設定してみましょう。 以下は一例です。

Things Cloudでの実現例

以下はこれまでの工程で実現できる画面の一例です。 ダッシュボード画面(工場全体)

ダッシュボード画面(ライン)