一、軟硬件描述
二、需要使用的軟件。
- 西門子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(例如目前我設置的PLCIP為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 ClientOne上線狀態”紅燈亮起,表示已經與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"//平臺下行報文標識}
發布評論請先 登錄
相關推薦
評論