シーメンス#S7-1500とCC712でAws IOT Coreを繋がりましょう

今回はSiemensのIndustrial IoT Gateways CC712を使って、S71500からデータを取ってAWSでMQTT経由データを上げました。大体2時間半くらいかかりました 汗…やっばりAWSは未知なエリアですね。ちなみにこっちらはCC712です↓


CC712とは?

Industrial IoT Gateway SIMATIC CloudConnect 7(だからCCから始まるのかな?CloudConnect)で簡単でS7ベースのデバイスからデータを吸い上げて、それらのデータをMQTT経由で各Cloudサビースに転送することが可能です。(Aws,MindSphere,Azure,IBM Cloud)。

使用可能なデバイス

  • S7-300
  • S7-400
  • S7-1200
  • S7-1500
  • S7-LOGO!

次は、CC712は2つのInterfaceに分かられています。Process StationとCloud Connectionです。Process Stationは英語通り、装置とつながる側でCloud ConnectionはAWSなどのCloudサビースに接続する側です。

使用可能な Process Stations Protocol

  • S7 Communication
  • Modbus/TCP
  • OPCUA

今回自分使ったのはCC712ですが、CC716のであればProfibus/MPIもSupportします。

使用可能なCloud Connection Protocol

  • MQTT(OASIS standard version 3.1 / 3.1.1)

Supportする Cloudサビース

  • MindSphere (Siemens)
    • Service: MindConnect IoT Extension
    • Function: Publisher
  • AWS (Amazon)
    • Service: IoT Core
    • Function: Publisher and Subscriber
  • Azure (Microsoft)
    • Service: IoT Hub
    • Function: Publisher and Subscriber
  • IBM Cloud (IBM)
    • Service: Watson IoT Platform
    • Function: Publisher and Subscriber
  • Other Cloud
    • Profile for another cloud system
    • Function: Publisher and Subscriber

Limits

CC712

  • S7最大接続数:1つ
  • OPCUA:Client1つ
  • Modbus/TCP:最大10Stations
  • HTTPS Connection:1つ
  • 変数:最大500個
  • MQTT Broker:1つ

CC716

  • S7最大接続数:7つ
  • OPCUA:Client7つ
  • Modbus/TCP:最大10Stations
  • HTTPS Connection:1つ
  • 変数:最大3500個
  • MQTT Broker:1つ

*注意するのはS7とOPCUAの接続数は”合計”です。つまり、S7+OPCUAの最大接続数で、CC712は1つになります。そしてCC716は7つになります。

外見

LAN Port

LAN Portが2つで、上のLAN PortはP1で下のLAN PortはP2になります。

P1はCloud Connection用です。

P2はProcess Stations用です。

24Vの電源供給コネクターあります。

SET Button

こちらのSET ButtonはCC712をFactory Resetできます。

  1. まずCC712の電源を落とします
  2. Set Buttonを押しながら電源を再投入します。
  3. 5秒くらい続きますと、”Diagnosis” LEDが点滅になります。
  4. Set Buttonを話して、LEDが点滅なくなるまで待ちます。
  5. LEDが点灯になったたらCC712がリセット終わりました。

CLP Slot

CC712/CC716の後ろにCLP スロットがあり、このCLPは本来Siemensのネットワーク機器にオプションで購入可能のC-Plugと似てる機能です。CC712/CC716は設定データをこのCLPに保存され、もしデバイスが故障になったとしても、新しいデバイスをそのPlugをいし戻れば、設定などはそのまま流用できます。

Installation Options

  • DIN Rail
  • S71500 標準Rail
  • S7300 標準Rail
  • 垂直・水平もOK

構成

こちらは今回の構成になります。

自分の手元には実機がありません、S7 PLCSIM Advancedを使ってTCP/IP Driverをシミュレーションし、CC712とS71500の間はS7-Protocolで通信します。

自分のパソコンにはCC712の設定用に繋がっています(Https)。

一方、P1はいえのルーターを繋がり、最終的にはMQTTからAWS IOT Coreに接続します。

複雑な構成ではありません。


AWS設定

次はAWSの設定します。

以下のLinkをクリックし、AWS IOT Coreを開きます。

(もしアカウントない人は申し込んでください)

https://console.aws.amazon.com

Things作成

次はThingsを作成します。ThingsはIOTのTだと思ってください。

右にあるCreate thingsをクリックします。

Create single thingを選び、Nextします。

Thing Nameのところにデバイス名をいれてください。

今回はNo shadowでも大丈夫です。

Nextします。

Certificateを作成します。このStepは非常に大事です。

Auto-Generatre a new certificateを選び、Nextします。

Policyを作成します。

このPolicyは該当するThingsはなにがAllowかなにかDenyかを決めます。

新しいWebが開きます。

Nameで新しいPolicy名を入れます。

Actionを*します。

Resource ARNを*します。

EffectはAllowのCheckbox入れます。

そしてCreateボタンでPolicyを作ります。

それで新しいPoliciesが作成されたとわかります。

Refreshのボタンを押してPoliciesを更新します。

そうすると先作ったPolicyが出てきます。

Checkboxを入れて、Create thingをクリックします。

Create thingを押したあとに、Certificates とKeysをダウンロードしてくださいと言われました。ここでPublic Key file・Private Key File・Root CA Certificatesダウンロードしましょう。

DownloadしたらKey Downloadedの緑文字に変わります。

少し言い忘れましたが、Root CA Certificatesはあとからダウンロードできますが、

デバイスのPublic Key file・Private Key Fileはダウンロードできるタイミングはいましかありません!

Root CA Certificatesダウンロードボタン押すと、新しいWeb開きます。右クリックでSave AS..してください。

それでCertificateとKeyが揃いました。

新しい”Things”も作りました。


Endpoint

次はEndpointを説明します。このEndpointはMQTTのBrokerだと思ってください(もちろんHTTPSなどもこのEndpoint使っていますが)

AWS IOT Core ConsoleでSettingsをクリックします。

Device data endpointのところにxxxxxx-iot-xxxx.amazonaws.comがあります。

となりのボタンをクリックしてLinkをCopyし、Notepadに貼り付けましょう。

CC712初期設定

Configurationを変更したあとにTitle barの右には黄色のCheck-markがあり”Click here to apply changes”のPopupが出てきます。

そのCheck-markのボタンを押すと変更した設定が反映されます。

接続

まず、自分のパソコンとCC712をP2でLANで繋がりましょう。

CC712/CC716 Port2に初期IPは192.168.0.55/24です。

自分のNetwork Portも同じにネットワーク入れるように設定します。

Pingしてみて、返事が変えてこればもうOKです。

BrowserからHttps://192.168.0.55をアクセスします。

Your connection is not privateだと言われています。

Processed to 192.168.0.55(unsafe)をクリックしましょう。

これでWeb上でLogin が画面出てきました!

Login

Manualにも書いていますが初LoginではUsernameとPassword両方もadminです。

UsernameとPasswordを入力し、Loginボタンをクリックします。

Current Passwordをadminします。

新しいUsernameとPasswordも設定しましょう。

注意!絶対忘れないでください。

あと大文字・小文字・特殊文字・数字も混在するPasswordが必要です。

このPopup出ればOKです!

System時間設定

これは意外と大事です。時間が合わなければLogみてもなにが問題出たのかわかりませんからね。Maintenance>System timeクリックします。

NTPServer使用かどうか、TimeとDateなど合わせましょう。

TIAプロジェクト設定

今回はS7-1500とS7-Protocolを使用しますと先の構成にも見せましたので、PLCではいくつの設定が必要です。

まずProtection & SecurityのところにPermit access with PUT/GET Communication from remote parnterのCheckbox入れます。

アクセスしたいDBにPropertiesを開いて、Optimized block accessにCheckbox外します。

そうするとDBにOffsetが出てきますね。その数字は後設定のとき使います。

Simulationを使用する場合Support simulation during block compilationのCheckbox入れましょう。

CC712接続設定

いよいよCC712の接続設定に入ります。Process Station PortとCloud Connection Portも必要になりますが、説明しますので大丈夫です。

Process Station Port

Ethernet設定

まずPort2のIPを設定しましょう。

Interface configuration>Ethernetをクリックします。

Process InterfaceとCloud Interfaceにも同じの画面で設定できます。

Defaultは192.168.0.55ですが、図面など合わせて設定しましょう。

今回はそのままにします。

Process access設定

となりのProcess accessをクリックします。

Station nameのところにわかりやすい名称入れてAddします。

このようなPopupが出てきます。OKします。

Select stationを先追加したStationを選び、ProtocolをS7 Ethernetを選択します。

次は隣のS7 Tabをクリックします。

Control FamilyはS7-1200/S7-1500にします。

Polling cycleはデータ量に合わせて調整しましょう。

Standard TSAPsでをCheckbox入れて基本OKです。

いまLocal TSAPはCC712/CC716のことでRemote TSAPはS7-1200/S7-1500のことを示しています。01.01はResource1でRack0Slot1の意味です。同じRemote TSAPの02.01はResource2でRack0Slot1のことです。

もしStandard TSAP使用しない場合はTIA Project上で自分でS7 Connectionを作る必要があります。そしてLocal TSAPとRemote TSAPを手で合わせます。

設定OKのであればSaveします。

通信確認するにはMaintenance>Diagnosticsをクリックします。

Connected to PLC:xxx.xxx.xxx.xxxが見えたら通信できるかを確認できます。

Data Point 設定

Connection設定が終わったら、次はどんなDataをCloudに上げたいのかを設定しましょう。

Data pointsのボタンをクリックします。

Select stationを先追加したStationを選び、Add data pointをクリックします。

もちろんDBからImportもできますが、今回は手入力で変数を一つ追加します。

TargetをCloud選択します。

Data point nameはわかりやすくようにします。

Data typeはIntです。

Operand areaはDBを選択します。

DB Numberは1します。

Addressは0します。

AccessはReadします。

つまりいまDB1.DBW0がCloudからReadできるの設定をしています。

Trigger設定

Trigger 1をNo triggerからCyclicに変換し、秒数を10sにします。

設定終わってAdd data pointしますと、以下のPopupが出てきます。

Cloud Connection Port設定

Ethernet設定99

Cloud configuration

次はCloud Connection Port設定します。

Profile

まずはProfileを作ります。Profinameを入力し、Addします。


Settings

次はCloud ConnectionでどこのCloud サビースと接続するかなどを設定します。

Cloud  ProviderはAWSします。

ProtocolはMQTTします。

Enable ProfileをCheck入れて、Saveします。

MQTT Configuration

次はMQTT Brokerの設定を行います。

MQTT VersionはV3.1します。

Broker addressは先AWS設定するときのEndpointです。

Broker Portは8883します。

Client IDはAWS設定するときのThings名です。

TLSを有効します。(そうするとBroker portも自動で8883に変更します。)

TLS VersionはV1.2します。

設定が終わればSaveします。

Certificates

最後は証明書の設定です。

MQTT Server certificate managerはAWS設定ダウンロードしたAmazonRootCA1.cerをUploadします。

Upload終わったら先入れた証明書の詳細が表示されます。

Use MQTT Client certificateをCheck入れます。

import client certificate はAWS設定でダウンロードした xxxx-certificate.pem.crtをUploadします。

import private certificateはAWS設定でダウンロードした xxxx-private.pem.keyをUploadします。

設定終わったらSaveします。

Publisher

最後はPublisherを作成します。

Add Topicでtest/siemensを入れます。(ここは自由です)

Select Stationを最初作ったStationを選択します。

Topicはtest/siemensします。

下にあるData pointをAll selectし、Set for allをクリックします。

最後はSaveです。

これでOKです!!!!


結果

まず診断から見ますと、Cloud connection status changed to CONNECTED.はみえますので、接続OKってことです。

AWS IOT CoreのConsole行きます。下にはTestという項目があり、クリックしてください。

Subscribe to a topic でtest/siemensを入れ、Subscribeボタンをクリックします。

そうすると、10秒1回CC712からデータ来てるとわかります。

最後に

S7-1500からデータを吸い上げ、AWSとつながりデータを上げるのStepをざっくり書きました。最後にいまのConfigurationのBackup方法を教えます。

Title BarのところMaintenance>Savingをクリックします。

Configuration BackupのところにExport configurationをクリックします。

注意のPopupが出てきます。

証明書・Private KeyなどはBackupできませんが、よろしいですか?って。

Yesします。

自分がChrome使っていますので、このFileはKeepしますか?ってChromeから聞かれます。Keepします。

.cfg のFileが出来上がりました。

はーい、お疲れ様でした。

もしなにか質問あれば、メール・コメント・Twitterなどでもどうぞ!

Twitterのご相談:@3threes2

メールのご相談:soup01threes*gmail.com (*を@に)

Footer_Basic

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする