劉昊
1 工業(yè)云的發(fā)展
云計算、大數(shù)據(jù)將成為未來10年乃至更長時間新一代信息技術(shù)和產(chǎn)業(yè)的關(guān)鍵和核心,其和移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)等其他新一代信息技術(shù)一起正驅(qū)動互聯(lián)網(wǎng)向傳統(tǒng)工業(yè)制造業(yè)滲透,推動互聯(lián)網(wǎng)企業(yè)和傳統(tǒng)工業(yè)企業(yè)融合發(fā)展,并作為現(xiàn)代服務(wù)業(yè)的有機組成部分,不斷與新業(yè)務(wù)形態(tài)、新商業(yè)模式互動融合,催生新產(chǎn)品、新技術(shù)、新模式。工業(yè)云通常指基于云計算架構(gòu)的工業(yè)云平臺和基于工業(yè)云平臺提供的工云服務(wù),涉及產(chǎn)品研發(fā)設(shè)計、實驗和仿真、工程計算、工藝設(shè)計、加工制造及運營管理等諸多環(huán)節(jié)。工業(yè)云基于云計算技術(shù)架構(gòu),使工業(yè)設(shè)計和制造、生產(chǎn)運營管理等工具大眾化、簡潔化、透明化,通過工業(yè)云計算服務(wù),可大幅提升工業(yè)企業(yè)全要素勞動生產(chǎn)率。
2 四容水箱的仿真系統(tǒng)在PCS7系統(tǒng)上的實現(xiàn)
本文所使用的控制器是西門子S7300 PLC,其配套的上位機軟件為STEP7,STEP7是一款用于SIMATIC 57300/40GPLC組態(tài)及編程的標準軟件,用戶可以使用梯形圖邏輯、功能塊圖、語句表進行程序的編譯。同時為用戶提供了在線診斷、實時在線監(jiān)測等功能。
首先要進行的是硬件組態(tài)。硬件組態(tài)就像是一座橋梁,連接上位機與S7300 PLC,進行硬件組態(tài)是要將CPU型號,數(shù)字量的輸入輸出、模擬量的輸入輸出、電源信息等進行配置,給模塊分配相應(yīng)的物理地址。在STEP7中進入硬件組態(tài),本文所用的S7300 PLC的CPU型號為“CPU 3152PN/DP”,PN/IO中的PLC的IP地址為192.168.2.4,模擬量輸入為AI8×12Bit,輸入為超聲波傳感器測量的液位值,因此參數(shù)配置時測量范圍為4~20mA,模擬量輸出為A08×12Bit,輸出為給電機的電壓信號,因此參數(shù)配置為1~5V。
基于PCS7控制仿真的基礎(chǔ)上,通過Profinet將PLC中的實時數(shù)據(jù)傳輸?shù)骄W(wǎng)關(guān)當中,并在網(wǎng)關(guān)中通過赫優(yōu)訊網(wǎng)關(guān)的NODERED工作區(qū)間對節(jié)點進行編程組態(tài),在通過MQTT協(xié)議與阿里云對接,最后在阿里云平臺上對數(shù)據(jù)做進一步的分析處理。
3 MQTT連接使用說明
首先注冊阿里云賬號開通物聯(lián)網(wǎng)套件項目,登錄控制臺創(chuàng)建項目。初步進入控制臺后,需要創(chuàng)建產(chǎn)品。點擊創(chuàng)建產(chǎn)品。產(chǎn)品相當于某一類設(shè)備的集合,用戶可以根據(jù)產(chǎn)品管理其設(shè)備等。
產(chǎn)品名稱:對產(chǎn)品命名,例如可以填寫產(chǎn)品型號。產(chǎn)品名稱在賬號內(nèi)保持唯一。
productKey:阿里云IoT為產(chǎn)品頒發(fā)的全局唯一標識符
設(shè)備:指不能掛載子設(shè)備的設(shè)備,這種設(shè)備可以直連IoT Hub,也可以作為網(wǎng)關(guān)的子設(shè)備連接。
網(wǎng)關(guān):指可以掛載子設(shè)備的直連設(shè)備,網(wǎng)關(guān)具有子設(shè)備管理模塊,維持子設(shè)備的拓撲關(guān)系,并且可以將拓撲關(guān)系同步到云端
創(chuàng)建完產(chǎn)品之后,可以為該產(chǎn)品添加設(shè)備。進入產(chǎn)品管理頁面下的設(shè)備管理,點擊“添加設(shè)備”。用戶可以自定義設(shè)備名稱,這個名稱即可作為設(shè)備唯一標識符,用戶可以基于該設(shè)備名稱與IoT Hub進行通信,需要指出的是,用戶需要保證設(shè)備名稱產(chǎn)品內(nèi)唯一。
設(shè)備證書:添加設(shè)備之后,物聯(lián)網(wǎng)套件為設(shè)備頒發(fā)的唯一標識符,設(shè)備證書用于設(shè)備認證以及設(shè)備通信。
基于TCP連接:阿里云使用MQTT基于TCP的連接方式有兩種:
(1)MQTT客戶端域名直連(資源受限設(shè)備推薦)
(2)先HTTPS發(fā)送授權(quán)后再連接MQTT(一些特殊增值服務(wù),比如設(shè)備級別的引流)
根據(jù)本課題的情況使用第一種連接方式進行通信。根據(jù)阿里云提供的官方文檔說明,需要設(shè)備的productKey、deviceName、deviceSecret、clientId。四種參數(shù)提供給MQTT以進行連接。
如果clientId = 12345,deviceName = device, productKey = pk, timestamp = 789,signmethod=hmacsha1,deviceSecret=secret,那么使用tcp方式提交給mqtt參數(shù)分別如下:
mqttclientId=12345|securemode=3,signmethod=hmacsha1,timestamp=789|
username=device&pk
Password=通過哈希加密算法計算出來的密碼。設(shè)備的productKey和用于加密的deviceSecret可以在控制臺的設(shè)備詳情中查看。productKey和deviceName在控制臺中創(chuàng)建項目時由阿里云自動提供以作為設(shè)備的唯一標識。
到此我們已經(jīng)得到了用于MQTT協(xié)議的所有參數(shù):
productKey:F7PdPm8hkHj 、deviceName:hilscherTIB100
deviceSecret:9GnITgl6AlxOa3M5uft1ztI1gYF5qRp8、clientId:12345、timestamp:隨便設(shè)置一個3位數(shù)
根據(jù)以上信息可以得到哈希加密算法的銘文是:
clientId12345deviceNamehilscherTIB100productKeyF7PdPm8hkHjtimestamp789
帶入到哈希加密計算公式中得到用于網(wǎng)關(guān)中的密碼為:
a025f3a1cd250027c4b3f899b7ba91af55dbf97b
將上述參數(shù)填入到赫優(yōu)訊網(wǎng)關(guān)的MQTT節(jié)點中。點擊連接,可以在阿里云控制臺端看到設(shè)備的上線日志。證明通信成功。
4 結(jié)語
(1)本文首先通過在西門子PCS軟件中對四容水箱的控制系統(tǒng)進行組態(tài)仿真,實現(xiàn)了對水箱水位的實時監(jiān)控和控制。
(2)通過阿里云平臺與物聯(lián)網(wǎng)通訊協(xié)議MQTT以及工業(yè)網(wǎng)關(guān)把PLC中的數(shù)據(jù)實時的傳輸?shù)搅嗽破脚_中,可以高效、便捷的對工業(yè)控制器的數(shù)據(jù)進行處理和分析。
參考文獻:
[1]趙丹丹,鄒志云,郭寧,馮文強.二階雙容水箱液位的串級控制[J].冶金自動化,2008:10011003.
[2]鄭長兵. 基于H_∞回路成形的四容水箱控制系統(tǒng)設(shè)計[D]. 北方工業(yè)大學,2015.
[3]關(guān)慶余,李鴻彬,于波.MQTT 協(xié)議在 Android 平臺上的應(yīng)用與研究.計算機系統(tǒng)應(yīng)用.