一、軟硬件描述
鋇錸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
+關注
關注
5016文章
13387瀏覽量
465380 -
西門子
+關注
關注
95文章
3062瀏覽量
116443 -
網關
+關注
關注
9文章
4586瀏覽量
51493 -
服務器
+關注
關注
12文章
9303瀏覽量
86060 -
MQTT
+關注
關注
5文章
653瀏覽量
22691
發布評論請先 登錄
相關推薦
評論