前回はCC712からS7-1500データをMQTTでAWS IOT CoreにMessageをPublishする手順など説明しました。こちらのリングは先回のものです↓
今回は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 (*を@に)