TechCraft – エンジニアのためのスキルアップメモ

エンジニアのスキルアップを少しでも加速する技術ブログ

第5回 ST言語 IoTとPLCの連携

〜実践的なPLCプログラミングを学ぼう〜 第5回: IoTとPLCの連携

1. はじめに

前回の第4回: HMIとの連携とデータ可視化では、HMIを活用したデータの可視化と操作パネルの構築について学びました。

今回は、PLCとIoTの連携 に焦点を当て、クラウドとのデータ連携、リモート監視、データ解析の手法について解説します。


2. IoTとPLCの連携とは?

(1) IoT(Internet of Things)とは?

IoT(モノのインターネット) は、機器やセンサーをインターネットに接続し、データをクラウド経由で送受信する技術です。

PLCとIoTを組み合わせることで、以下のような機能を実現できます。

リモート監視(工場や設備の稼働状況をクラウドから確認)
異常検知とアラート通知(異常が発生したらスマホやメールに通知)
データ収集と分析(生産データをクラウドに蓄積し、AI分析を実施)
エネルギー管理(電力使用量をリアルタイムでモニタリング)


(2) PLCとIoTの接続方法

PLCとクラウドを接続するには、主に以下の方法があります。

接続方法 概要
MQTT通信 軽量なプロトコルでPLCとクラウド間の通信を実現
OPC UA 産業用IoTの標準規格として、PLCデータを統一フォーマットで送信
REST API Webサービスを利用してPLCデータをクラウドに送信
Modbus TCP 既存の産業用機器との接続に活用可能

3. MQTTを活用したPLCとクラウドの接続

(1) MQTTとは?

MQTT(Message Queuing Telemetry Transport) は、IoTデバイス向けの軽量な通信プロトコルです。
PLCのデータをクラウドに送信する際に、低遅延で効率的なデータ転送 が可能です。

軽量でシンプルなプロトコル(産業用機器でも負荷が少ない)
パブリッシュ / サブスクライブ方式(データ送受信をリアルタイムに実行)
クラウド連携が容易AWS IoT、Azure IoT Hub、Google Cloud IoT などと接続可能)


(2) MQTTを使ったPLCのデータ送信

ここでは、CODESYSを使い、PLCデータをMQTTブローカーに送信する方法 を紹介します。

① CODESYSのMQTTライブラリをインストール

  1. CODESYS Store から MQTT Client Library をダウンロード
  2. プロジェクトにMQTTライブラリを追加

② ST言語でMQTTの送信プログラムを作成

PROGRAM MQTT_PLC
    VAR
        MQTTClient : MQTT.MQTTClient;
        Message : STRING := 'Temperature: 25.3°C';
    END_VAR

    BEGIN
        (* MQTTクライアントを初期化 *)
        MQTTClient.Hostname := 'broker.hivemq.com'; (* MQTTブローカーのアドレス *)
        MQTTClient.Port := 1883; (* MQTTのデフォルトポート *)
        MQTTClient.Connect();

        (* メッセージを送信 *)
        IF MQTTClient.IsConnected THEN
            MQTTClient.Publish('factory/temperature', Message);
        END_IF;
    END_PROGRAM

温度データをリアルタイムでクラウドへ送信
MQTTブローカー(HiveMQ, Mosquitto)を利用して通信


4. OPC UAを活用したクラウドとのデータ連携

(1) OPC UAとは?

OPC UA(Open Platform Communications Unified Architecture) は、産業用システムの標準通信プロトコルであり、
PLCやHMI、SCADAとクラウドを統合する際に使用されます。

産業界の標準規格として広く採用
セキュリティが強固で、データ通信の信頼性が高い
複数のPLCや異なるメーカーの機器を統合できる


(2) CODESYSでのOPC UA設定

  1. CODESYSでOPC UA Serverを有効化
  2. クラウドAWS IoT, Azure IoT)と接続
  3. データをリアルタイムで送信

5. データの可視化とリモート監視

PLCとクラウドが接続できたら、次はデータの可視化を行います。

(1) 可視化ツール

ツール名 特徴
Grafana MQTT/OPC UAデータをリアルタイムでグラフ化
Node-RED ノーコードでIoTデータを可視化
AWS IoT Analytics クラウドで大規模なデータ分析が可能
Power BI ビジネスインテリジェンス向けの可視化ツール

(2) Grafanaでの可視化

  1. Grafanaをインストール
  2. MQTT / OPC UAデータを取得
  3. 温度・稼働時間・アラームをリアルタイム表示

6. 実践課題:IoTとPLCを組み合わせた予知保全

予知保全(Predictive Maintenance) は、IoTとPLCの活用で最も期待される分野の1つです。

(1) 予知保全の基本概念

  • リアルタイムで機器の状態を監視
  • 異常な振動や温度変化を検出
  • メンテナンスを最適なタイミングで実施

(2) PLCとIoTの組み合わせ

  1. PLCがセンサーデータを収集(温度、振動、電流)
  2. MQTTを使ってクラウドに送信
  3. クラウドAIが異常検知を行い、アラートを送信
  4. HMI上に「メンテナンス推奨」の通知を表示

ダウンタイムを削減し、生産性を向上!


7. まとめ

今回は、PLCとIoTを連携し、クラウドとのデータ通信、リモート監視、可視化 について解説しました。

学んだ内容 概要
IoTの基本概念 PLCとクラウドの連携によるメリット
通信プロトコル MQTT / OPC UA を使ったデータ送信
データの可視化 Grafana / Node-RED でのリアルタイム監視
予知保全の実装 IoTとPLCを組み合わせた異常検知

クラウドとPLCを連携することで、スマートファクトリーや生産性向上 を実現できます。
次回は、「PLCを活用したAI制御」 について解説します!


8. 次回予告

📌 第6回: AIを活用したPLC制御と最適化

次回は、PLCとAI(機械学習)を組み合わせた高度な制御技術 を学びます!
お楽しみに!