色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當(dāng)前位置: 首頁(yè) >應(yīng)用方案 >技術(shù)應(yīng)用 >

西門(mén)子PLC利用函數(shù)塊連接MQTT服務(wù)器的教程

MQTT低協(xié)議消耗數(shù)據(jù)安全性高等優(yōu)點(diǎn),在物聯(lián)網(wǎng)領(lǐng)域已經(jīng)發(fā)展很多年,網(wǎng)絡(luò)上有很多資料可以學(xué)習(xí),并且有很多的服務(wù)器運(yùn)營(yíng)商在不斷降低云開(kāi)發(fā)難度,之前需要前端工程師開(kāi)發(fā)的網(wǎng)頁(yè),現(xiàn)在只要你對(duì)界面美觀沒(méi)有要求只是想實(shí)現(xiàn)功能,服務(wù)器運(yùn)營(yíng)商都有對(duì)應(yīng)的可視化開(kāi)發(fā)工具支持,比如下文使用的阿里云飛燕平臺(tái)的“人機(jī)交互”設(shè)計(jì)就可以快速設(shè)置手機(jī)控制界面。

1 PLC利用函數(shù)塊連接MQTT服務(wù)器

同樣的騰訊有騰訊連連小程序可視化界面設(shè)計(jì),OneNET有可視化Web Server界面設(shè)計(jì),幾乎所有的服務(wù)器運(yùn)營(yíng)商都在降低開(kāi)發(fā)難度。

最近幾年PLC廠家也在提供MQTT函數(shù)功能塊,只要設(shè)備支持TCP客戶端并且可以發(fā)送16進(jìn)制透明數(shù)據(jù),就可以通過(guò)數(shù)據(jù)組合的方式實(shí)現(xiàn)MQTT服務(wù)器連接,并根據(jù)協(xié)議要求發(fā)送對(duì)應(yīng)的數(shù)據(jù)包就可以實(shí)現(xiàn)MQTT通訊,之前小編就利用組態(tài)屏搭配串口服務(wù)器接入MQTT服務(wù)器,通過(guò)腳本編程實(shí)現(xiàn)TCP客戶端連接MQTT服務(wù)器,下面介紹一種直接通過(guò)PLC連接MQTT服務(wù)器的方法;


下面是MQTT常用的報(bào)文列舉

CONNECT報(bào)文

10+字符總長(zhǎng)度(遵循剩余字符算法)+00+04+4D 51 54 54+04+C2 +?;顣r(shí)間(120s:00 78+客戶端長(zhǎng)度(2字節(jié))+客戶端ID+用戶名長(zhǎng)度(2字節(jié))+用戶名+密碼長(zhǎng)度(2字節(jié))+PASSWORD

PUBLISH報(bào)文

30 +字符總長(zhǎng)度(遵循剩余字符算法)+發(fā)布地址長(zhǎng)度(2字節(jié))+發(fā)布地址+用戶數(shù)據(jù)

SUBSCRIBE報(bào)文

82 +字符總長(zhǎng)度(遵循剩余字符算法)+00 00+訂閱地址長(zhǎng)度(2字節(jié))+訂閱地址+服務(wù)等級(jí)(00、01、02

一、博圖開(kāi)發(fā)環(huán)境搭建

從零開(kāi)始編寫(xiě)程序,需要熟悉西門(mén)子SLC編程語(yǔ)言,現(xiàn)學(xué)可能比較困難也不符合寫(xiě)這篇文章的初衷,利用這篇文章只需要原來(lái)熟悉博圖的梯型圖編程和功能塊調(diào)用,就可以利用下文使用函數(shù)塊連接MQTT服務(wù)器。

西門(mén)子全球技術(shù)支持中心可以下載到一篇關(guān)于MQTT連接的實(shí)例,這里采用“國(guó)際版”下載MQTT實(shí)例講解,在“中文”技術(shù)支持中心也有一篇關(guān)于“MQTT連接”的實(shí)例(中文實(shí)例地址:SIMATIC CPU MQTT 發(fā)布服務(wù)器),但我們有沒(méi)有使用過(guò),有可能是同一實(shí)例,用什么實(shí)例本質(zhì)都是相同的(MQTT協(xié)議不變,最終與服務(wù)器通訊的數(shù)據(jù)不變),中間過(guò)程可能不同但變量描述與協(xié)議相同也相同,建議在開(kāi)發(fā)中變量名盡量與協(xié)議相同,方便程序閱讀。

使用的是“國(guó)際版”下載的實(shí)例(國(guó)際版實(shí)例下載地址:Use the SIMATIC controller as an MQTT client)。

后面會(huì)通過(guò)PLC仿真軟件仿真真實(shí)的S7-1500設(shè)備,例程提供了兩個(gè)PLC的連接的實(shí)例,其實(shí)都是一樣的,把S7-1200刪除仿真下載程序時(shí)報(bào)錯(cuò);

3 PLC利用函數(shù)塊連接MQTT服務(wù)器

之后會(huì)連接阿里云需要PLC接入外網(wǎng),需要連接可以上網(wǎng)的路由器并配置正確的IP地址;

4 PLC利用函數(shù)塊連接MQTT服務(wù)器

后面會(huì)使用域名連接,默認(rèn)的DNS可能無(wú)法解析,需要在“高級(jí)組態(tài)”的”DNS”下配置阿里云域名解析服務(wù)器(223.5.5.5),這可以解析域名可以忽略配置DNS服務(wù)器;

5 PLC利用函數(shù)塊連接MQTT服務(wù)器

二、西門(mén)子PLC仿真

手上沒(méi)有PLC也可以學(xué)習(xí)MQTT Client函數(shù)塊的使用,只需要使用“SIMATIC S7-PLCSIM Advanced V4.0”西門(mén)子PLC高級(jí)仿真器即可實(shí)現(xiàn)S7-1500PLC的仿真運(yùn)行。

1配置虛擬網(wǎng)卡,填寫(xiě)PLC參數(shù),如下圖所示:

6 PLC利用函數(shù)塊連接MQTT服務(wù)器

2切回博圖界面點(diǎn)擊“編譯”,忽略警告,點(diǎn)擊下載,按照下圖配置:

7 PLC利用函數(shù)塊連接MQTT服務(wù)器

3、再點(diǎn)擊“下載”,第一次使用會(huì)彈出幾個(gè)配置窗口,全部選“同意”或者“是”,經(jīng)過(guò)以上步驟后點(diǎn)擊“裝載”選擇同意,選擇啟動(dòng)設(shè)備:

8 PLC利用函數(shù)塊連接MQTT服務(wù)器

至此完成博圖仿真調(diào)試的全部說(shuō)明。

三、云平臺(tái)設(shè)備創(chuàng)建

1準(zhǔn)備云平臺(tái)賬號(hào),這里使用阿里云飛燕平臺(tái)進(jìn)行演示,你也可以OneNET、騰訊云、華為云、百度云等,方法基本類(lèi)似,這個(gè)函數(shù)庫(kù)也是使用標(biāo)準(zhǔn)MQTT3.1.1的三要素Client ID、UserName、Password,因此阿里云的三要素與標(biāo)準(zhǔn)MQTT3.1.1三要素不同也需要轉(zhuǎn)換,轉(zhuǎn)換規(guī)則可以通過(guò)云平臺(tái)使用手冊(cè)查詢(xún),不過(guò)阿里云在設(shè)備詳情下提供了標(biāo)準(zhǔn)MQTT3.1.1三要素的參數(shù)可以直接使用,使用其他平臺(tái)的應(yīng)當(dāng)根據(jù)對(duì)應(yīng)方法進(jìn)行轉(zhuǎn)換。

2、進(jìn)入飛燕物聯(lián)網(wǎng)平臺(tái),登錄自己的阿里云賬號(hào),沒(méi)有開(kāi)通該功能的點(diǎn)擊開(kāi)通(需要實(shí)名認(rèn)證),開(kāi)通的點(diǎn)擊進(jìn)入控制臺(tái);

9 PLC利用函數(shù)塊連接MQTT服務(wù)器

3、沒(méi)有項(xiàng)目的點(diǎn)擊“創(chuàng)建新項(xiàng)目”,輸入名稱(chēng)點(diǎn)擊“確定”即可,點(diǎn)擊“項(xiàng)目”進(jìn)入“項(xiàng)目詳情”,點(diǎn)擊“創(chuàng)建新產(chǎn)品”,輸入產(chǎn)品名,配置“功能定義”可以隨便選一個(gè)后面根據(jù)需求在重新定義,聯(lián)網(wǎng)方式一定不要選擇“WIFI接入”,通訊格式使用“ICA標(biāo)準(zhǔn)數(shù)據(jù)格式(Alink JSON”;

10 PLC利用函數(shù)塊連接MQTT服務(wù)器

4、進(jìn)入“產(chǎn)品詳情”,首先進(jìn)入的是“功能定義”,這里先講如何連接,直接跳過(guò)“功能定義”與“人機(jī)交互”,在“設(shè)備調(diào)試”,選擇開(kāi)發(fā)的模組,目前沒(méi)有與阿里云合作的模組,直接選擇未知模組即可;

11 PLC利用函數(shù)塊連接MQTT服務(wù)器
12 PLC利用函數(shù)塊連接MQTT服務(wù)器

5、點(diǎn)擊新增設(shè)備,創(chuàng)建PLC連接的認(rèn)證參數(shù),進(jìn)入創(chuàng)建設(shè)備的詳情界面,查詢(xún)連接MQTT3.1.1所需要的地址、端口、Client ID、UserName、Password,這里小編們不在飛燕平臺(tái)下查詢(xún),需要在“物聯(lián)網(wǎng)平臺(tái)”的設(shè)備列表下設(shè)備詳情查詢(xún),這樣就可不用自己去轉(zhuǎn)換三要素;

13 PLC利用函數(shù)塊連接MQTT服務(wù)器

四、配置MqttDB

1、修改MqttDB塊中的參數(shù),用于連接阿里云MQTT服務(wù)器,打開(kāi)變量組connparams”在展開(kāi)變量“mqttBrokerAddress”,配置參數(shù)“qdnAddress”為“a1pc9X6nd09.iot-as-mqtt.cn-shanghai.aliyuncs.com.”,配置“post”為1883。

【注意】輸入域名需要.“結(jié)束輸入。

14 PLC利用函數(shù)塊連接MQTT服務(wù)器

2、填入對(duì)應(yīng)的三要素

15 PLC利用函數(shù)塊連接MQTT服務(wù)器

3、再次點(diǎn)擊編譯下載

16 PLC利用函數(shù)塊連接MQTT服務(wù)器

五、仿真連接MQTT服務(wù)器

1、點(diǎn)擊在線監(jiān)控?cái)?shù)據(jù),需改connect“為”true“,函數(shù)塊自動(dòng)連接MQTT服務(wù)器;

17 PLC利用函數(shù)塊連接MQTT服務(wù)器

【注意】阿里云不支持20s的心跳請(qǐng)求,最少配置30s,這里使用120s

2、登錄平臺(tái)查詢(xún)MQTT狀態(tài)

18 PLC利用函數(shù)塊連接MQTT服務(wù)器

今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte進(jìn)行了解,也可以直接撥打400電話咨詢(xún)技術(shù)專(zhuān)員!

相關(guān)閱讀:

1、【教程】PLC利用函數(shù)塊連接MQTT訂閱消息(一)

2、【教程】PLC利用函數(shù)塊連接MQTT訂閱消息(二)

3、串口服務(wù)器快速接入MQTT3.1協(xié)議服務(wù)器鏈接配置教程

4、NB114單路串口服務(wù)器如何配置MQTT軟件教程

5、MQTT通信協(xié)議報(bào)文詳解


億佰特官網(wǎng) 4000-330-990

https://www.wjx.cn/jq/84863372.aspx