ThingWorxのチュートリアルを試してみよう!~前半~

こんにちは、三谷です。
今回は、以下のチュートリアルを実際に操作しながらやってみました。
https://developer.thingworx.com/ja/resources/guides/thingworx-foundation-quickstart

気軽に始められますので、皆様も試してみてください!

このチュートリアルを始める前に、ThingWorxの無料ダウンロードが必要になります。
産業系のIoT(IIoT)プラットフォーム「ThingWorx」の無料体験版ダウンロードのご案内
https://fusion360.3dworks.co.jp/2019/02/15/thingworx-freedl/
こちらからダウンロードをしてみてください。

STEP1

このチュートリアルでは、サーモスタットと電気メーターを想定して、それらの情報をThingWorxで一元管理して可視化する住宅用のアプリケーションを作ってみます。
センサーデータは、仮想でシミュレータを作ります。

STEP2 モデルタグを作成する

まず始めに「モデルタグ」というものを設定します。実はこの作業は、必須ではないのですが、これから作るいろいろなThingに対して、「これらは関連するものだよ」という目印になるタグですので、作成してつけておくことは重要です。
あとからまとめてエクスポートしたり、移行したりする際にもモデルタグでまとめることができます。

1 フォルダーアイコンを選択し、「Model Tags」の[ + ]ボタンをクリックします。

2 「Name」 にFoundationQuickstartと入力し、で保存します。
3 「Vocablary Terms」を選択し、<+Add>を選択します。右側に表示されるNew Term画面の「Term
にHome Applicationと入力し、<✔>で完了、で保存します。
モデルタグの中に複数のVocablary Termsを登録しておくことで、より細かいタグ管理ができます。

4 モデルタグが使用できるように、ブラウザをリフレッシュしておきます。

STEP3 Thing Shapeを作成する

電気メーターとサーモスタット用の2つのThing Shapesを作成します。Thing Shapeは、そのものの特徴を表した、いわば部品のようなものです。
まずは電気メーターのThing Shapeを作成します。
1 フォルダーアイコンを選択し、「Thing Shapes」の[ + ]ボタンをクリックします。

2 「Name」にMeterShapeと入力し、「Tags」で<+>ボタンを押して「FoundationQuickstart :Home Application」を選択し、で保存します。

3「Properties and Alarts」を選択し、<+Add>を選択します。右側に表示されるNew Property画面 の「Name 6 にmeterIDと入力し、「Base Type」を、「Persistant」の✔をON、「Logged」の✔を OFFに設定し、< +> ✔ で完了と同時に新しいプロパティを作成します。

4 同様の操作で、以下のプロパティを追加します。 Basic TypeはSTRING(文字列)か、Number(数値)かを設定します。 PersistantのチェックがONになっていると、システムが再起動された際にプロパティの値が保 持され、OFFになっているとシステムが再起動された際にリセットされます。 LoggedのチェックがONになっていると、すべての値がValue Streamに保存され、OFFになっ ていると値に変更があった場合のみValue Streamに保存されます。

Name Basic Type Persistant Logged
meterID STRING
currentPower Number
costPerKWh Number
currentCost Number

5 以下のように登録ができたらで保存します。

6 続いて、サーモスタットのThing Shapeを作成します。 1 フォルダーアイコンを選択し、「Thing Shapes」の[ + ]ボタンをクリックします。

7「Name」にThermostatShapeと入力し、「Tags」で<+>ボタンを押して「FoundationQuickstart :Home Application」を選択し、で保存します。

8 「Properties and Alarts」を選択し、<+Add>を選択します。先ほどと同様の操作で、以下のプロパティを登録します。

Name Basic Type Persistant Logged
thermostatID STRING
temperature Number
setTemperature Number
message STRING

9 以下のように登録ができたらで保存します。

STEP4 テンプレートを作成する

次に、プロパティを定義するThing Templateを作成します。Thing TemplateとしてThing Shapeをま とめておくことで、例えば、同じサーモスタットと電気メーターを使う一般住宅、賃貸住宅、商用ビル など 数の物を作成するために使用できます。

1 フォルダーアイコンを選択し、「Thing Templates」の[ + ]ボタンをクリックします。

2 「Name」にBuildingTemplateと入力し、「Tags」で<+>ボタンを押して「FoundationQuickstart :Home Application」を選択し、「Base Thing Template」でを選択し、 「Implemented Shapes」で「MeterShape」と「ThermostatShape」を続けて選択し、 で保存します。

3 「Properties and Alarts」を選択し、<+Add>を選択します。右側に表示されるNew Property画面 で、先ほどと同様の操作で以下のプロパティを追加します。

Name Basic Type Persistant Logged
thermostatID STRING
watts LOCATION

4 以下のように登録ができたらで保存します。

STEP5 Thingを作成する

Thingとは、現実世界における一つの「モノ」を表します。Thing Templateで紹介した、同じサーモ スタットと電気メーターを使う一般住宅、賃貸住宅、商用ビル、それぞれの建物に当たるのがThing です。
1 フォルダーアイコンを選択し、「Things」の[ + ]ボタンをクリックします。

2 「Name」にMyHouseと入力し、「Tags」で<+>ボタンを押して「FoundationQuickstart :Home Application」を選択し、「Base Thing Template」でを選択し、で 保存します。

STEP6 Value Streamの作成

Value Streamは、ThingWorxの中にデータを保存するストレージの役割を持っています。Value Streamを作成し、Thing Templateと繋ぐ作業を行います。
1 フォルダーアイコンを選択し、「Things」の[ + ]ボタンをクリックします。

2 「Value Stream」を選択し、で確定します。

3 「Name」にFoundation_Quickstart_ValueStreamと入力し、「Tags」で<+>ボタンを押して 「FoundationQuickstart :Home Application」を選択し、で保存します。

4 BuildingTemplateを編集します。

5 「Value Stream」に「Foundation_Quickstart_ValueStream」を選択し、で保存します。

STEP7 カスタムServiceを作成する

収集したデータは活用しないと意味がありません。ここでは、電気メーターから収集された生の データと、モデルに保存された電気料金を用いて、1時間あたりの電気料金を計算するカスタム サービスを作成します。
1 フォルダーアイコンを選択し、「Thing Shapes」を選択し、一覧から「MeterShape」を選択します。

2 「Services」を選択し、<+Add>を選択、を選択します。

3「Name」にcalculateCostと入力します。

4 「Me/Entities」を選択、「Properties」を選択後、「#currentCost」の右側にある「→」を選択します。 JavaScriptのコードが右側のフィールドに挿入されます。

5 続けて他のプロパティを挿入しながら、以下のような数式を記述します。 me.currentCost = me.costPerKWh * me.currentPower; を押し、で保存します。

STEP8 AlertsとSubscriptionsを作成する

Thingによって収集、整理された情報をうまく活用するために、今回はアラートを作成します。ア ラートを定義することで、メーターの値が特定の値を超えた場合や、正常でない挙動を示したときに 注意喚起がなされ、例えば作業者に通知を送ったり、遠隔操作で機械を停止したりなどの行動を 起こすことができます。

1 Alertsを作成します。フォルダーアイコンを選択し、「Thing Shapes」を選択し、一覧から 「ThermostatShape」を選択します。

2 「Properties and Alerts」を選択し、「#temperature」の横の「+」マークを選択します。右側に表示 されるNew Alert画面で、「Name」freezeWarningと入力し、「Alert Type」を「Below」に設定し、「Limit」で「32」を入力します。<✔ >で完了し、で保存します。

3 続いて、「Building Template」を編集します。「Subscriptions」を選択肢、<+Add>を選択します。

4 「Name」にfreezeWarningSubscriptionを入力します。

5 「Subscription Info」の「Enabled」にチェックをいれます。

6 「Inputs」タブを選択し、「Event」をに、「Property」をに変更し、スクリプトテ キストボックスに以下のコードを入力します。 me.message = “Warning: Below Freezing”;

7 スクリプトテキストボックスで改行し、「Snippets」タブの検索フィールドで「warn」を入力し、 「Logger」下の「warn」右側にある「→」を選択します。

8 ダブルクォーテーションマークの間に「The freezeWarning subscription was triggered」を入力し、 < Done> ✔ 、で保存します。 logger.warn(“The freezeWarning subscription was triggered”);

前半はここまでです。 後半は、これらの設定を生かして、実際にデータを見える化する、ダッシュボードを作成していきま す。メーターやグラフ、地図表示などを簡単に行なえますので楽しみにしておいてくださいね!

シェアする

フォローする