シーメンス#S7-1500とCC712でAws IOT CoreからMessageをPublishしましょう

前回はCC712からS7-1500データをMQTTでAWS IOT CoreにMessageをPublishする手順など説明しました。こちらのリングは先回のものです↓

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

今回はAWSからPublishしS7-1500の変数の現在値を書き込みたいと考えています。

Data points設定

まずCC712のWeb serverアクセスし、Data points>Data pointsをクリックします。

下にあるData pointsのAddressを0と2にします。

なので、アクセスするのはDB1.DBW0とDB1.DBW2になります。

AccessはWriteにします。

Subscriber設定

次はSubscriberの設定になります。

Cloud Configuration>Subscriberにします。

Add topicにところにTopicを追加します。

今回はtest/siemens/db1にします。

Topc settingsのUser data formatはSubscriberからきたMessage Formatを定義します。

下にはUser data exampleのボタンがあります。

ちなみに、MessageはJSON Formatです。

ここでUser data はどんなFormat必要になるかが示しています。

次はData pointsをどこのTopicになってるのかをせってします。Set for all をクリックします。

先追加したTopicを入れて、Saveします。

もちろんConnectionの接続確認もします。


テスト

AWS IOT CORE Consoleを開いて、Testをクリックします。

前回これを使ってS7-1500のTopicをSubscribeし、通信確認しましたね。

今回はPublish To a Topicをクリックし、AWS IOT Core側からMessageをPublishしてみます。

Topic Nameは先設定したTopicを入れてください。

ちなみに、Message payloadの右下にText inputのSizeを変更できます。

Message payloadは先のExampleをそのまま貼り付けて、変数を少し修正すればよいです。

こちらはMessage payloadです。

{
    “Timestamp”: “2019-07-02T09:19:37.000000000+00:00”,
    “DataItems”:
    [
        {
            “Variable”: “int1”,
            “Value”: “33”,
            “Type”: “int”,
            “QualityCode”: “GOOD”
        },
        {
            “Variable”: “int2”,
            “Value”: “44”,
            “Type”: “int”,
            “QualityCode”: “GOOD”
        }
    ]
}

うん…CC712 側がInt Unknown data Typeのエラーが出ましたね。

そういえば先のExampleでTypeはINTではなく、INT16ですね。

今度int16に変更してやってみましょう。

{
    “Timestamp”: “2019-07-02T09:19:37.000000000+00:00”,
    “DataItems”:
    [
        {
            “Variable”: “int1”,
            “Value”: “33”,
            “Type”: “int16”,
            “QualityCode”: “GOOD”
        },
        {
            “Variable”: “int2”,
            “Value”: “44”,
            “Type”: “int16”,
            “QualityCode”: “GOOD”
        }
    ]
}

int16のデータが未明のエラーが出てます。

もしかして大文字と小文字のせいですか…?

{
    “Timestamp”: “2019-07-02T09:19:37.000000000+00:00”,
    “DataItems”:
    [
        {
            “Variable”: “int1”,
            “Value”: “33”,
            “Type”: “INT16”,
            “QualityCode”: “GOOD”
        },
        {
            “Variable”: “int2”,
            “Value”: “44”,
            “Type”: “INT16”,
            “QualityCode”: “GOOD”
        }
    ]
}

よし!!!できたと思ったら…Variable名とTopic名が設定していません…??もう一度見てみましょう。

Cloud configuration>Subscriberします。

Topicのところをtest/siemens/db1を入れて、Saveしもう一回やってみます。

できました!それでAWS IOT CoreからにもMessageをPublishすることがちゃんとCC712が受けれることも確認できました。

実際はこんな感じですね。

はーい、お疲れ様です。

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

Twitterのご相談:@3threes2

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

Footer_Basic

Please Support some devices for my blog

Amazon Gift List

Find ME

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

シェアする

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

フォローする