一、軟硬件描述
鋇錸BL102網關
mosquitto MQTT服務器(騰訊云上搭建)
可以上網的路由器一套
二、需要使用的軟件。
西門子Portal v15.1 (西門子PLC編程軟件)
鋇錸BL102調試軟件及說明書。
說明書下載鏈接: http://rtu-m2m.com/Download/Manual/中文/BL102_中文說明書_V1.0.zip
調試軟件下載鏈接: http://rtu-m2m.com/Download/Software/中文/BL10x_中文配置軟件.zip
Mqtt.fx MQTT服務器調試工具
騰訊云服務器(各種云服務器都可以,不限騰訊云)
三、網絡構架及需實現功能描述

1.BL102網關將S7-1200 PLC中的數據上傳入云服務器中的mosquitto MQTT服務器,云上的后臺軟件可以截取相關數據。然后發送給前端顯示。
后臺軟件如何截取,見B站視頻"Django物聯網后臺開發"`https://www.bilibili.com/video/BV1qL4y1b7nU?spm_id_from=333.337.search-card.all.click `
2.前端接受到信息后,將信息傳送給后臺軟件,后臺軟件通過mosquitto服務器將信息發送到BL102上,BL102網關修改PLC中是數據。
四、在騰訊云上安裝mosquitto MQTT服務器以及MQTT mqtt.fx軟件的使用。
具體操作詳見我的博客:
https://www.cnblogs.com/zhangming82/p/16122210.html
五、BL102連接西門子S7-1200 PLC。
1.將24V直流電源接入BL102網關以及PLC的供電端子。 2.將網線一端插入BL102 WAN網口,一端插入PLC網口。 3.取另外一根網線,一端插入BL102 LAN網口,一端插入電腦網口。并且將電腦IP設置成192.168.3.**(除192.168.3.1以外的IP) 4.打開BL102調試軟件,點擊軟件上的"設備搜索"。開始搜索到設備。搜索到設備后進入主界面。 5.鼠標雙擊界面上的“WAN”,在彈出界面中,將WAN口改成與PLC同一個域的IP(例如目前我設置的PLC IP為192.168.1.250,而BL102 WAN口IP改為了192.168.1.254)。子網掩碼和網關同樣填寫,DNS不做要求。填寫后,點擊“寫入配置”將信息寫入BL102網關。 6.拔下BL102 LAN口網線,將網線插到路由器上,使電腦和路由器連接。將電腦和路由器IP改為同一個域。(比如我的電腦IP改為 192.168.1.22//路由器IP改為 192.168.1.20)。 7.再取第三根網線,一段插在路由器上,一段插在PLC的網口上。 8.打開西門子PORTAL V15.1軟件,在硬件組態中設置好PLC的屬性。特別要注意的是因為BL102可以通過S7通訊協議直接讀取PLC中的數據,因此必須在PORTAL軟件中“連接機制”里的“允許來自遠程對象的PUT/GET通訊訪問”打開。否則BL102將無法與PLC進行通訊。然后將改好的配置程序下載到PLC中。

9.打開BL102調試軟件,在界面“WAN”點擊鼠標右鍵后,選擇添加。在彈出的設備信息上,填寫西門子PLC的IP端口號等。填寫后點擊確定。(端口號為102)

10.點擊確定后,在界面右側灰色區域點擊鼠標右鍵,選擇添加。加入需要監控的PLC數據。然后將修改好的配置下載入BL102網關中。(注意,可以對PLC的 I/Q/M/DB等進行監控,但是如果要監控DB塊的內容。必須在PORTAL軟件中選擇DB塊的屬性,取消“優化塊的訪問”)。


11.進入BL102調試界面,當界面上“WAN”紅燈亮起,表示已經與PLC連接。

六、BL102網關連接mosquitto MQTT服務器。
1.打開BL102網關調試界面,雙擊云平臺-->MQTT Client One,進入界面。在界面中設置好IP,端,用戶名,密碼口等信息,并且數據模板選擇“KingPigeon”,以及填寫好訂閱主題和發布主題,以及上傳周期。(之所以選擇KingPiageon是因為這個模板比較簡單,說明書寫的內容也比較多一點)
2.在右側灰色界面中,點擊鼠標右鍵,選擇添加。加入需要通訊的PLC變量點(PLC變量點如何設置見上面),選擇完畢后,將數據下載到BL102中。

特此強調:訂閱主題,必須在主題內容的后面,增加"/+"。

3.進入BL102調試界面,當界面上“MQTT Client One上線狀態”紅燈亮起,表示已經與MQTT服務器連接正常。

4.將修改的配置下載如BL102中后,可以通過MQTT.fx軟件對BL102進行MQTT發布,訂閱信息的驗證。
七、BL102網關訂閱、發布信息格式---KingPigeon模板
1.BL102網關訂閱格式
{
"sensorDatas": [
{
//布爾量
"flag": "Y0", //讀寫標識
"switcher": 1 //數據類型及值
},
{
//數值型
"flag": "VW0", //讀寫標識
"value": 8 //數據類型及值
}
],
}
2.BL102網關發布格式
注意1:BL102網關發布 必須增加/傳感器ID.如果是自己建立的MQTT服務器,傳感器ID可以寫隨意的值(例如發布主題為"topic",傳感器ID為100. 發布主題必須寫成 topic/100) 注意2:“value”以及"switch"值必須加引號。
{
"sensorDatas":
[
{
"sensorsId": 100, //平臺傳感器 ID (必須
"value":74.3, //數據類型及值
"flag":"VW0" //讀寫標識
}
],
"down":"down" //平臺下行報文標識
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
plc
+關注
關注
5051文章
14592瀏覽量
486858 -
西門子
+關注
關注
98文章
3310瀏覽量
120365 -
網關
+關注
關注
9文章
6767瀏覽量
56249 -
服務器
+關注
關注
14文章
10251瀏覽量
91478 -
MQTT
+關注
關注
5文章
733瀏覽量
25064
發布評論請先 登錄
相關推薦
熱點推薦
利用Modbus采集網關采集西門子S7-1200plc數據
Modbus是一種通用的工業通信協議,可用于連接不同類型的設備,如計算機、PLC、儀表等,它可以實現多種設備之間的數據采集和控制。本文將介紹如何利用Modbus采集網關
如何選擇合適的西門子S7-1200 PLC
為您的項目選擇合適的西門子 S7-1200 PLC 可能具有挑戰性,但有了正確的指南,這一切就會變得很容易。
發表于 07-26 09:50
?2839次閱讀
PLC西門子S7-200smart和S7-1200的區別?
PLC西門子S7-200smart和S7-1200的區別? 西門子S7-200 smart和
西門子S7-1200 PLC的基本功能
西門子S7-1200 PLC(Programmable Logic Controller)是一款緊湊型、模塊化的可編程邏輯控制器,專為滿足各種自動化應用需求而設計。其強大的功能、靈活的
西門子S7-1200 PLC的優缺點分析
西門子S7-1200 PLC作為自動化控制系統中的核心組件,自推出以來就受到了廣泛關注。其緊湊的模塊化設計、強大的功能以及靈活的擴展性,使得它在工業自動化領域占據了重要的地位。然而,任何產品都不是
西門子S7-1200 PLC的指令介紹
西門子S7-1200 PLC,作為西門子自動化控制產品中的一款緊湊型控制器,憑借其強大的功能和易用性,在工業控制領域得到了廣泛的應用。
PLC網關采集西門子S7-1200對接MQTT服務器的操作步驟詳解
評論