N3uronをMQTTおよびModbus対応デバイスと接続する
はじめに
産業オートメーションにおいて、Modbusは最も一般的なプロトコルの一つとして際立っています。MQTTは、多くの特性により産業オートメーションにおけるIoTの主要プロトコルとして登場しました。軽量設計、効率性、スケーラビリティ、および非同期メッセージングのサポートが注目されています。MQTTでは、デバイスは報告可能なイベントがある場合にのみ通信し、これは常時更新チェックとは対照的です。このイベント駆動型アプローチは、例外による報告(データが標準から逸脱した場合や特定のトリガーでのみデータを送信)と組み合わされ、帯域幅とリソースを節約し、重要なIoTアプリケーションのデータ伝送を最適化します。
reTerminal DMとN3uron Duoの強力な組み合わせは、堅牢な接続性とデータ操作機能を提供することで、効率的なプラント管理を促進します。このWikiは、産業環境におけるModbus TCPの重要性を強調し、接続性をさらに向上させるためのMQTTデバイスのシームレスな統合をハイライトしています。
前提条件
ハードウェア
reTerminal DM |
---|
![]() |
ソフトウェア
N3uronを始めるガイドを学習することを強く推奨します。このガイドでは、N3uron Webインターフェースのナビゲーション、Web UIやWeb Visionモジュールなどの概念の理解、タグの概念の把握、基本的なダッシュボードの作成に関する重要な洞察を提供しています。これらの基礎をまだ探索していない場合は、さらに進む前に学習することをお勧めします。提供されたリンクからガイドにアクセスできます。
イーサネット設定の構成
PLCのIPドメインがワイヤレス設定と異なるため、IP設定を手動で変更する必要がある場合があります。そのために、
- ステップ01: 以下のコマンドを実行します:
sudo nano /etc/dhcpcd.conf
- Step 02: 次に、PLCネットワークドメインに応じてイーサネットポート設定を構成し、'metric'コマンドを使用して優先度を設定します。最も低いメトリックが最も高い優先度を持ちます。
Modbusモジュールの作成と設定
N3uronのWebUIインターフェース内でモジュールインスタンスを作成する
- Step 01: ナビゲーションパネルでConfigを選択します。
- Step 02: エクスプローラーパネルでModulesを選択します。
- Step 03: Modelメニューをクリックし、New Moduleを選択します。
- Step 04: インスタンスには任意の名前を付けることができますが、この例ではModbusClientを使用します。
- Step 05: Module TypeプロパティをModbusClientに設定します。残りのプロパティはデフォルト値のままにして、Saveをクリックします。
チャンネルの作成と設定
- Step 01: 作成したModbusクライアントとモデルの下で、New Channelを選択します。チャンネル名をClientとします。
- Step 02: 次に、Modbus TCPを使用してPLCと通信します。PLCのIPアドレスとポートアドレスを提供してください。
Modbus RTUを使用している場合、考慮すべき様々な設定があります。そのためには、COMポート、ボーレートなどの詳細を提供する必要があります。N3uronでのModbus RTUとTCPプロトコルの両方の設定に関する詳細情報については、提供されたガイドを参照してください。
- Step 03: デバイスを追加する:各チャンネルは1つ以上のデバイスを持つことができます。デバイスの名前を設定し、設定を続行します。この場合、デバイス名はPLCです。
- Step 04: このインターフェースを通じて調整できるいくつかの設定があります。詳細はこのリンクから確認できます。ただし、この場合はそのままにしておきます。
タグ設定
- Step 01: WebUIに移動し、Configを選択してからTagをクリックします。Modelセクションでメニューをクリックし、New Tagを選択します。Q1と名前を付けます。通常、Qは出力コイルを示すために使用されます。
- Step 02: 次に、以下の設定を行う必要があります。
- Source : Enabled/Yes
- Module Type : ModbusClient
- ModuleName: ModbusClient
- Config: Device: Client/PLC
- Modbus address: 008931
- Data type: Boolean そしてSaveします。
Modbusアドレスに関しては、PLCまたはデバイスメーカーのデータシートを参照することをお勧めします。そこには、入力、出力、保持アドレスに関する詳細が記載されています。これらの仕様に従って、タグ設定のModbusアドレス行で調整を行う必要があります。例えば、メーカーが出力コイルQ1を8193と表記している場合、アドレスは008193として設定する必要があります。同様に、ネットワーク入力が1と表記され、それがコイルタイプの場合、アドレスは000001として設定する必要があります。
- Step 03: リアルタイムシミュレーション
システムに接続すると、出力コイルと入力コイルのリアルタイムステータスを表示できます。
N3uronインターフェースを介したPLCとの相互作用には、読み取りと書き込みの両方の機能を含む適切なアクセス許可が必要です。
N3uronのWebUIインターフェース内でMQTTモジュールインスタンスを作成する
- ステップ01: ナビゲーションパネルでConfigを選択します。
- ステップ02: エクスプローラーパネルでModulesを選択します。
- ステップ03: Modelメニューをクリックし、New Moduleを選択します。
- ステップ04: インスタンスには任意の名前を付けることができますが、この例ではMQTTを使用します。
- ステップ05: Module TypeプロパティをMqttClientに設定します。その他のプロパティはデフォルト値のままにして、Saveをクリックします。
N3uronのMQTTモジュールを設定する
-
ステップ01: エクスプローラーパネルで、先ほど作成したMQTTインスタンスを選択します。
-
ステップ02: Modelメニューボタンをクリックし、New Connectionを選択します。
-
ステップ03: 新しい接続に名前を付けます。この例ではMqttClientと名付けています:
- Destination broker : Custom
- Authentication mode: Password
- Username : Your Broker Username
- Password: Your Broker Password
- Protocol:MQTT
- Broker URL:Broker ip 設定をSaveします
N3uronのMQTTモジュールを使用してトピックを購読する
- ステップ01: Modelパネルで、AWS接続を右クリックし、New Subscriberを選択して名前を付けます。この例では、単純にSubscriberを使用します。
- ステップ02: それをクリックし、Topicフィールドに名前を追加します。この例では、device/dataを使用しています。
テストと実践的な体験のために、XIAOで実行できるArduinoコードを提供しています。さらに、アップロードする前に、このコードに独自の認証情報を入力する必要があります。
-
ステップ03: 以下に示す値を使用して次のプロパティを設定し、残りはデフォルト値のままにします:
- Qos: Qos 0.
- Encoding: UTF8
- Compression: None
- Serialization: JSON
- Data parser/Type: MqttClient JSON そしてSaveします。
ここでは、MQTTClient JSON形式用に設定されたデータパーサーを使用します。XIAOデバイスはこの形式でブローカーにデータを公開します。デバイスがこの特定の形式でデータを公開しない場合は、使用している形式を特定し、デバイスに応じて処理するカスタムJavaScriptコードスニペットを作成する必要があります。詳細なガイダンスについては、提供されているガイドラインを参照してください。
タグを作成する
- ステップ01: エクスプローラーパネル内で、Tagsを選択します。
- ステップ02: Modelメニューで、フォルダーアイコンを右クリックし、New Tagを選択して名前を付けます。この例では、testを使用します。
-
ステップ03: Configurationパネルで、以下に示す値を使用して次のプロパティを設定し、残りはデフォルト値のままにします:
- Type: Number.
- Source/Enabled: Yes
- Module Type: MqttClient
- Module name: MQTT
- Config/Subscriber: MqttClient/Subscriber Saveをクリックします。
- ステップ04: リアルタイムシミュレーション システムに接続すると、MQTTブローカーからの出力のリアルタイムステータスを表示できます。
ボーナス:AWSでファクトリーのステータスを公開しよう
AWSクラウドをreTerminal DMデバイスに接続する方法について、ステップバイステップの手順を提供しています。このwikiが初めての場合は、このリンクを参照してください。
- ステップ01:Explorerパネルで、作成したばかりのMQTTインスタンスを選択します。
- ステップ02:Modelメニューボタンをクリックし、New Connectionを選択します。
- ステップ03:新しい接続に名前を付けます。この例では、MqttPublisherと名付けています。
-
ステップ04:接続プロパティを設定します:
- A:Destination BrokerドロップダウンメニューからAmazon Web Servicesを選択します。Authentication modeはCertificateになります。また、この例ではClient IdはN3uronです。
- B:AWS IoTコンソールでThingを作成した際にダウンロードして保存したCertificate、Private key、CA certificateを読み込みます。
- C:AWS IoTコンソールの左側メニューでSettingsに移動し、Device Data Endpointをコピーします。N3uronに戻り、Broker URLフィールドに貼り付けます。
- D:残りのプロパティはデフォルト値のままにして、Saveをクリックします。
- ステップ05:Modelパネル内で、設定したばかりのMqttPublisher Connectionを右クリックし、New Publisherを選択して名前を付けます。この例では、単純にAWSを使用します。
-
ステップ06:それをクリックし、Topicフィールドに名前を追加します。この例では、N3uronを使用しています。
-
ステップ07:Tag Filterボタンをクリックし、New Tag Filterを選択して、デフォルト名を変更します。この例ではTagFilterを使用しています。Mode、Path、Regex patternはデフォルト値のままにします。この設定により、N3uronで設定されたすべてのタグがAWS Brokerに公開されます。
- ステップ08:AWS IoTコンソールに移動し、左側メニューでMQTT test clientを選択します。Subscribe to a topicタブをクリックし、Topic filterにN3uronと入力してすべてを購読し、Subscribeをクリックします。
技術サポート & 製品ディスカッション
弊社製品をお選びいただき、ありがとうございます!弊社製品での体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルを提供しています。