ThingWorx のよくある質問(IoT アプリケーション開発編)

執筆者: 豊福 泰斗
  • 7/31/2020
  • 読み込み時間 : 6min
faq-about-thingworx-02-jp-600x280

PTC がお客様と会話している中で頻繁にいただく質問と回答を紹介していく。
第 2 回は ThingWorx の IoT アプリケーション開発についてである。
※ 各回答は 2020 年 7 月現在の状況

【ThingWorx IoT アプリケーション開発編】

質問: ThingWorx ではどのように IoT アプリケーションを開発しますか?

回答: ThingWorx は生産設備や機器からデータを取得し、それを可視化するアプリケーションを短時間で簡単に作成することが出来る IoT アプリケーション開発プラットフォームです。

データは生産設備や機器の機種や IP アドレス、タグなどをウィザード形式で設定するだけで取得できます。これには ThingWorx の設備接続オプションの ThingWorx Kepware Server を使用します。
それらのデータは ThingWorx Foundation 上に連携されます。そしてモデル化して管理されます。
管理されたデータは ThingWorx Foundation のアプリケーション画面開発ツールで、ドラッグ&ドロップ操作と設定で IoT アプリケーション上に表現できます。

faq-about-thingworx-02-jp-01-900x450

このように ThingWorx ではプログラミングせずに IoT アプリケーションを開発することが可能です。
ただし、IoT アプリケーションの要件によってはプログラミングが必要となる場合があります。


質問: プログラミングが発生するのはどのようなケースですか?

回答: ThingWorx でプログラミングが必要となるのは以下のような開発を行うケースです。

  • 取得したデータをビジネスロジックや要件に従って成型する
       例: 生産数量は 4 月だけ総数から -5 して表示する
  • 取得したデータだけではなく、他システムと連携して表示する
       例: ERP のオーダー番号ごとに生産実績数を表示する
       例: 他のWebサービスのREST APIをコールして情報を取得する
  • ThingWorx Kepware Server のドライバーや標準プロトコル以外で通信する機器と接続する
  • IoT アプリケーションの開発において、標準のパーツでは表現しきれない画面の作成や、標準機能では用意されていない機能を実装する


質問: 取得したデータをビジネスロジックや要件に従って成型する必要があるケースではどのように開発するのですか?

回答: ThingWorx ではサービスという形でデータの成型や入出力などの定義を行います。サービスは JavaScript で記述します。ThingWorx にはコードの断片(スニペット)が用意されているため、1からプログラミングせずに開発が行えます。
特別な開発環境は不要で、ブラウザで ThingWorx にアクセスして開発します。


質問: 他システムと連携して表示するケースではどのように開発するのですか?

回答: ThingWorx では REST API による他システムとの連携や DB 接続が行えます。これらによってデータを取得し、モデル化して管理します。
REST API では HTTP コマンド、DB 接続では SQL クエリを使用します。
データの取得だけではなく、REST API および DB 接続により他システムへの書き込みも可能です。
特別な開発環境は不要で、ブラウザで ThingWorx にアクセスして開発します。
また、ThingWorx 8.4 から ThingWorx Flow という他システムとの連携及びワークフロー定義の機能がリリースされました。これにより個別の接続だけではなく、複数の他システムと業務の流れに従った連携フローが定義できます。


質問: ThingWorx Kepware Server のドライバーや標準プロトコル以外で通信する機器と接続するにはどのような開発が必要ですか?

回答: 機器側に ThingWorx へデータを連携するためのエージェントアプリケーションを配置する必要があります。
エージェントアプリケーションの開発を行うための ThingWorx SDK が無償で提供されています。下記のプラットフォームが利用可能です。

  • Java
  • C
  • .Net


質問: IoT アプリケーション画面で標準パーツ以外のウィジェット(カスタムパーツ)はどのように開発するのですか?

回答: ウィジェットは Extension(追加機能)という形で開発し、ThingWorx に取り込みます。この Extension を作成するためのライブラリは無償で提供されています。
Extension の開発は ThingWorx 上ではなく、Eclipse などの IDE 上で行い、開発言語としては JavaScript と CSSを使用します。


質問: IoT アプリケーションに置いて標準機能以外の機能の実装はどのように開発するのですか?

回答: ウィジェットと同様に Extension(追加機能)という形で開発し、ThingWorx に取り込みます。開発言語は Java を使用します。


質問: IoT アプリケーションは自社で開発できますか?
また、開発者用のトレーニングはありますか?
(概要編・システム構成編でも記述しましたが再掲します)

回答: IoT アプリケーションは自社で開発していただくことも、PTC や PTC のパートナーにご発注いただくこともできます。PTC で推奨させていただいているのは、PTC または PTC 認定パートナーのエンジニアがお客様に開発の支援をさせていただきながら初期のアプリケーションを作成し、その後の改修はお客様自身に実施していただくプランです。
支援と併せてトレーニングも実施していますので、そちらの受講もお勧めします。

「 IoT プラットフォーム ThingWorx 上のアプリケーション開発の基礎と実習(3日間)」
最新のトレーニングスケジュールや申し込みにつきましては、PTC University へお問い合わせください。

PTC University 窓口
  TEL: 0120-355-543
   E-mail: edujapan-customer@ptc.com

また、PTC の Developer Portal には自習用のコンテンツ(英文のみ)も用意されています。こちらも併せてご利用ください。
Developer Portal
https://developer.thingworx.com


質問: 開発で困ったときはどのようにサポートしてもらえますか?

回答: PTC ではライセンスに付帯する技術サポートを提供しています。このサポートでは ThingWorx のインストールとコンフィグレーションに関する質問や、開発環境の「ハウツー」の使用法についてサポートを提供します。ソースコードのレビューやお客様にて作成されたExtensionのサポートなどは含まれません。
なお、詳細なサポートの範囲につきましては「 PTC サポートサービス契約条件」をご参照ください。
サポートサイトでは上記の問い合わせ以外にもマニュアルのダウンロードやナレッジベースの検索が行えます。ナレッジベースではアーティクルやトピックなどの技術情報をご提供しています。

サポートサイト
https://www.ptc.com/ja/support/

ライセンス契約がない状況でもご覧いただける Web 上の情報サイトとしてコミュニティがあります。こちらでは実際に開発を行っているエンジニアが質問やノウハウの共有を行っています。

IoT コミュニティ(英語のみ)
https://community.ptc.com/t5/IoT/ct-p/IoTAR

ThingWorx Developers コミュニティ(英語のみ)
https://community.ptc.com/t5/ThingWorx-Developers/bd-p/twxdevs

また、個別の開発内容のサポートにつきましては PTC エンジニアによる有償コンサルディングとしてご提供しています。

まとめ

ThingWorx のIoT アプリケーション開発についてのよくある質問と回答を紹介した。
第 1 回 のまとめにて「次回は開発と PTC が提供するサービスなどについて紹介予定である。」と記述したが、開発についての内容が長くなったため、PTC が提供するサービスについては別途、紹介予定である。

今回紹介した質問以外にお聞きになりたいことがあれば下記へお問い合わせいただきたい。
https://www.ptc.com/ja/contact-us

Tags:
  • Industrial Connectivity
  • Industrial Internet of Things
  • Thingworx Developer
  • ThingWorx
  • By Industry
  • Academic
  • Additive Manufacturing
  • Connected Devices
  • Digital Thread
  • Digital Transformation
  • Digital Twin
  • Industry 4
  • Brochure
  • Data Sheet
  • Product Brief
  • Report
  • White Paper
  • Improve Service Efficiency
  • Increase Asset Efficiency
  • Maximize Revenue Growth
  • Reduce Operational Costs
  • Reduce Service Costs

執筆者について

豊福 泰斗

製品技術事業部 プラットフォーム技術本部
プリンシパル・テクニカル・スペシャリスト

アプリケーションビジネス20年、プリセールス業11年、IoT歴4年。
PTCには2018年4月に入社し、IoT / AR製品のプリセールスを担当。
主にプロモーション、パートナー様のビジネスのサポートを担当。

ThingWorx のよくある質問(IoT アプリケーション開発編)
我々がお客様と会話している中で様々なご質問をいただく。そこで、よくいただく質問について回答を紹介する。第 2 回目は ThingWorx での IoT アプリケーション開発についてである。