EK9160は直接プログラムなしでEtherCAT I/OsをIot アプリケーション使用することができ、E-Bus 信号からMQTT/OPCUA に変換することできます。そしてすべての設定はWeb Browser上で設定完結し特別なソフトをインストールする必要がありません。もちろんDataをCloudに上げるのはセキュリティ面も大事で、EK9160はUser 認証・暗号化などの機能もSupportします。そのCouplerはDI/DO/AI/AOをTime-stampつけCloudにUploadできます。
自分は手元にEthernetのEL1008などのIO Card持っていませんので、このTutorialではOPCUA ServerとMQTTとの接続、セットアップまで説明いたします。
Support Protocol
現在はMQTTClientがSupportし、OPCUA Server も内蔵しています。
そしてMQTTではGeneral MQTT/AWS/AzureがSupportします。
Power Supply
使用するのはDC 24Vです。
DIP Switch
EK9160 CouplerではDIPスイッチがついており、IPをStaticで設定するか、DHCP Serverするかなどの機能があります。
以下は各DIPスイッチの意味です。
- DIP1-8 ON/ 9 OFF/ 10 OFF:IPアドレスはBeckhoff Device Manager(Web Server)に設定されます。
- DIP 9 OFF/10 OFF:DHCPサーバーを無効化し、IPが192.168.1.xxxになります。
- DIP 9 OFF/10 ON:DHCP は有効になりDIP1-8が機器に無視されます。
自分はDIPスイッチ1,2ONになってるので、IPは192.168.1.3なります。
Configuration
これから設定を行います。以下のLinkにアクセスします。
Advncedボタンをクリックします。
Processd to your IP(Unsafe)をクリック、Beckhoff Device Managerにアクセスすることできます、
UsernameとPasswordが要求されるDefaultは以下になります。
Username:Administrator
Password:1
よし、Beckhoff Device Managerに入りました。
Connection with OPC UA
先EK9160のIot CouplerがOPCUA内蔵してると書いていました。いまはServerにアクセスしています。今回使用するのはUaExpertという便利なソフトウェアです。
以下の記事でUaExpertのDownload Linkやインストール方法などを書いています。
UaExpertを起動します。
+ボタンでAdd serverします。
Custom Discoveryのところで+ボタンをクリックします。
URLは自分のデバイスIPに置き換えてください。
さらにServerをダブルクリックします。
Yesします。
2つのLogin 方法があります。
Signをクリックします。
証明書問題がありますと。
Trust Server certificate、Continue。
Serverと接続したら、Server StatusとVendorServerinfoを見てみましょう。
Current timeもずっと更新されてるのも見え、AmsNetIDも表示されています。
Connection with MQTT
最後はMQTTのBrokerと接続します。
Setup a Broker in Linux
今回はLinuxでBrokerを立ち上げますので以下の記事を参考にしてください。
Configuration
ConfigurationでIotのTabをクリックします。
Connection Type:Broker種類
MQTT Broker:Broker のIP
Tcp Port:BrokerのPort
Connection Status:Connectedが表示されたらBrokerと接続します。
Subscribe
mosquitto_sub -h 127.0.0.1 -d -t EK9160/# |
Result
BrokerからEK9160/EK-3ED7C0/Stream1/Desc…のようなメッセージがReturnしますね。
EK-3ED7C0はいま接続してるIot CouplerのSeries 番号です。
Client (null) sending CONNECT Client (null) received CONNACK (0) Client (null) sending SUBSCRIBE (Mid: 1, Topic: EK9160/#, QoS: 0, Options: 0x00) Client (null) received SUBACK Subscribed (mid: 1): 0 Client (null) received PUBLISH (d0, q0, r1, m0, ‘EK9160/EK-3ED7C0/Stream1/Desc’, … (17 bytes)) {“Online”:false} |