【新閣教育】這樣玩PLC,是不是有意思多了


01 前言

        近幾年,在工控自動化領域,物聯網必然是最熱門的話題之一。

        然而,對於很多PLC工程師來說,物聯網似乎仍然是一個很遙遠的概念。

        今天,主要分享一下如何基於阿里雲的物聯網平台,實現PLC控制系統數據遠程上雲,這里以西門子1500PLC為例,其他品牌PLC開發思路是一樣的。

 

02 Iot平台

1、Iot平台選擇的是阿里雲的物聯網平台,阿里雲物聯網平台鏈接:https://www.aliyun.com/product/iot/iot_instc_public_cn
2、點擊進入控制台,並登錄阿里雲賬號

 

3、選擇公共實例進入,如果沒有開通,需要開通一下。

4、在設備管理 >> 產品 ,右側點擊創建產品,按照下圖進行設置:

 

 5、產品創建成功后,按照提示添加設備,點擊前往添加按鈕即可。

 

 6、點擊添加設備按鈕,在彈出的窗體中,輸入DeviceName,名字可以自己定義,這里設置為S7-1500。

 

 7、設備添加完成后,點擊設備詳情,可以進入下列界面,我們可以看到相關的信息,會自動分配一個ProductKey,點擊查看,可以看到詳細信息,如下圖所示:

 

 8、詳細信息包含ProductKey、DeviceName和DeviceSecret,阿里雲稱之為三元組,這三個信息要注意保密,可以點擊一鍵復制,把這三個信息復制到記事本中,下一步會用到。

 

9、MQTT連接最終需要的是域名、用戶名、密碼之類的信息,所以我們需要將三元組轉換成我們需要的信息,這里使用一個在線轉換工具:https://www.nnhpiot.com/aliyunmqtt.html,輸入相關信息,其中timestamp和clientId可以自己定義,然后點擊Generate生成即可:

 

 10、至此,一個阿里雲的MQTT服務器設備就創建好了,我們需要進行測試,這里采用MQTT工具——MQTT.fx,打開MQTT.fx,將生成的相關信息輸入進去,然后點擊Connect:

 

 11、刷新阿里雲物聯網平台,查看設備狀態,設備狀態由未激活變成了在線,說明MQTT連接成功:

 

 12、添加一個Topic主題,平台默認已經有了一些Topic,所以可以使用現成的,也可以自己添加自定義Topic,如下圖所示:

 

 

03 PLC采集

        當我們准備好MQTT服務器之后,如果要實現數據遠程上傳,接下來就要實現PLC數據采集,針對西門子PLC,我們可以采用開源的通信庫S7.NET。1、首先確定一下需要遠程上傳的數據        本案例采集8組溫度傳感器和流量傳感器數據,因此創建了16個浮點型變量,如下所示:

 

 

2、PLC連接及MQTT連接

        這里主要涉及到與PLC的連接以及與MQTT服務器的連接,其中PLC連接采用S7.Net,MQTT連接采用MqttNet。

 

 

 

3、實現PLC數據讀取及解析及數據遠傳

        由於本案例數據是連續的64個字節,並且都是浮點型數據,因此直接讀取之后轉換成浮點數組,然后通過索引賦值即可。

 

 

04 上位機開發

1、上位機UI界面設計
        上位機部分的UI界面設計主要是根據功能來做的,包括功能菜單、導航菜單及設備狀態、系統報警顯示,以及實時監控界面。2、上位機監控實現

        運行上位機監控界面,可以看到上位機系統正確讀取到PLC數據,並進行實時顯示,同時上位機將數據遠傳到阿里雲物聯網平台,我們設置的上傳周期為五秒。

 

 

05 平台監控

1、平台數據監控
        在阿里雲物聯網平台的日志服務中,可以看到每隔五秒收到一組來自設備端的數據,通過查看消息內容判斷與PLC中的數據保持一致。

 

 2、平台數據處理

        由於一組設備三元組信息只能支持一個MQTT連接,所以上傳到雲端的數據,是無法通過開啟其他MQTT客戶端再獲取的,如果想要獲取平台數據,有以下三種方案:

  • 如果是實物模型數據,可以直接通過調用雲端api來獲取。

  • 如果要實時訂閱,也可以使用amqp服務端訂閱。

  • 如果要存儲,可以通過規則引擎流轉到想存儲的數據目的地。

 

06 寫在后面

        近幾年, 隨着越來越多的設備開始加入IIoT 網絡(Industrial Internet of Things,工業物聯網簡稱IIoT),IT與OT之間的界限將逐漸消失,直到成為一個或相同的系統為止。

        所以,越來越多的電氣工程師開始轉型上位機開發。因為在已有電氣技能的基礎上,如果掌握了上位機開發技能,薪資達到20K,甚至30K,將會變得很容易。

        為了便於大家更好地學習這個項目,避免踩坑,浪費自己的寶貴時間,我們特意准備了一次免費的直播課,帶大家一步一步實現整個過程。想要學習的童鞋,可以掃描下方二維碼加入學習群。

PS:名額有限,微信群僅限200人,先到先得,僅限當天。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM