こんにちは。
AI・BI・IoT 案件を担当しております今泉です。
今回は、工場などの製造現場の生産設備で一般的に使用されている PLC (Programable Logic Controller) をIoT 化する例として、IoT Core Connect (ICC) と CONTEC 社 CONPROSYS コンパクトタイプの接続方法をご紹介したいと思います。
弊社 SBテクノロジーがパブリッククラウド環境 Microsoft Azure をベースにして独自開発した SaaS 型のIoT プラットフォームです。
詳細はこちらをご参照下さい。
IoT Core Connect :https://www.softbanktech.co.jp/service/list/azure-iot/iot-core-connect/
CONTEC 社が開発製造する PLC のシリーズです。
PLC とゲートウェイの機能をコンパクトにしたコンパクトタイプ、機能拡張が行えるスタックタイプがラインナップされております。
今回はコンパクトタイプについて、ご紹介したいと思います。
特徴は LAN×2、RS-485、DI (デジタル入力)、DO (デジタル出力)、AI (電流アナログ入力)等がコンパクトに纏まっています。
Modbus、OPC UA、MT Connect など、工場などの生産設備で利用される通信プロトコルに対応している機種もあり、多数のメーカーの PLC と接続する事が出来ます。
また、CONPROSYS VTC という開発環境でフローチャートを描くようなイメージでプログラミンが行え、PLC のデータを簡単に IoT 化する事が出来ます。
CONTEC CONPROSYS から 3G/4G LTE 回線を利用して直接インターネットに接続する事が出来る機種も販売されており、工場やプラントなどの設備の IoT 化の場面で大変便利です。
詳細な対応型式はリンクをご参照下さい。
各種機能が割り当てられたアイコンをツールボックスからグリッドエリアにドラッグ&ドロップする事で開発が簡単に行えます。
デバイスとの入出力、演算、フロー制御、文字列操作、クラウドデータ送信、ファイル操作などをWebブラウザ上からフローチャートを書くイメージで簡単に設定できる機能です。
直感的に開発ができるため、プログラム言語の知識や特別な開発環境は必要ありません。
以下、CONPROSYS VTC の開発イメージです。
ICC で受信できるデータの形式は以下の形式となります。
デバイス to クラウド (D2C) メッセージの JSON 例 (非配列) を例として記載します。
JSON 形式は 1階層のデータのみを対象とします。
[
"DI0": "1",
"DI1": "0",
"DI2": "1",
"DI3": "0",
]
※ICC をご契約いただいた事を前提とした手順のご紹介となります。
本手順は、CONTEC CONPROSYS の
[テクニカルガイド | CONPROSYS VTC Azure IoT データ送信手順 (ファームウェア 3.0以降) [日本語]
を基に作成しております。
CONTEC VTC(Visual Task Control)を使用したデバイスの制御方法、Modbus 機器との接続方法などの詳細は、CONTEC CONPROSYS リファレンスマニュアル (ソフトウェア編) を参照下さい。
まず、CONPROSYS から ICC の Azure IoTHub へデータを送信する準備をします。
Azure IoT Hub 送受信設定は、[メニュー] → [設定] → [Azure IoT Hub] をクリックし、設定画面を開きます。
ICC契約後に、弊社からご連絡する接続文字列を赤枠内 [CONNECTION_STRING] へ貼り付け、青枠内 [確定] をクリックします。設定後、緑枠内 [保存] を実行します。
Azure IoTHub へデータを送信するための VTC の編集を行います。
メニューバーの赤枠内 [タスク編集] をクリックします。
以下の様な画面が開きますので、タスクを記述していきます。
なお、SBT では CONTEC CONPROSYS と組み合わせての ICC をご利用される場合、以下の様なサンプルの VTC 専用ファイルをご用意しております。
サンプルファイルを開くと以下の様に表示されます。
※サンプルファイルはご契約後にご希望に応じてご案内致します。
実際の開発に際しまして、サンプルファイルは動作の保証外となりますので、ご了承下さい。
緑枠内は、TAG00,01,02,03 へ DI0,DI1,DI2,DI3 の状態を取り込んでいます。
※DI 入力にスイッチ等を接続する場合は適宜チャタリング対策等行って下さい。
赤枠内は、JSON の Key として、
tenantId,DeviceType,DeviceTypeVersion,entryDateTime
を入力しています。
青枠内は、ICC の固定領域を JSON の Value として、格納しています。
紫枠内は、JSON の Value として、ICC 用のDI0,DI1,DI2,DI3 を JSON の Key として格納しています。
橙枠内 [Azure IoT送信] で、CSV データを作成後、JSON 形式に変換し、IoTHub への送信を行っています。
※Azure IoT 送信タグ内で CSV⇒JSON 変換は自動で行われます。
以下、VTC による CSV 作成時のイメージとなります
作成例では File00.csv へ送信したいデータを以下の形式で入力します。
JSON 変換後のイメージとなります。
[
"DI0": "1",
"DI1": "0",
"DI2": "1",
"DI3": "0",
]
紫枠内 [タグ編集] 画面へ遷移します。
緑枠内 [タグ種類] を STAG (文字列型) として、STAG を表示する様に検索し STAG を表示します。
赤枠内は JSON 形式の Key になる部分を編集しています。
紫枠内 [タグ編集] 画面へ遷移します。
緑枠内 [タグ種類] を TAG (数値型) として、TAG を表示する様に検索し TAG を表示します。
赤枠内は JSON 形式の Value になる部分を編集しています。
保存と再起動しますと、設定が有効化され、再起動時に TASK が動作開始します。
ICC の Web ページへアクセスすると以下の様に画面上に、カード、グラフ、リストで DI0 から DI3 の入力状態が表示されています。
※1分周期でデータの取り込みを行っておりますので、1分周期でデータが更新されています。
※ICC の WebUI のアドレスなども契約後にご連絡致します。
アカウント設定や受信するデータの設定は記事の都合上割愛させて頂きます。
ICC と CONTEC CONPROSYS を使用する事により簡単に IoT データの可視化を行う事ができます。
また、東京エレクトロンデバイス株式会社では ICC と CONTEC CONPROSYS をセットにした販売もしており、簡単に IoT によるデバイスの可視化の PoC が始められます。
東京エレクトロンデバイス株式会社
データ可視化・異常検知パッケージ :https://esg.teldevice.co.jp/iot/azure/solution/detail/cloud/detail-18.html