李毓英
(撫順職業(yè)技術(shù)學(xué)院, 遼寧 撫順 113122)
工業(yè)智能網(wǎng)關(guān)也叫工業(yè)物聯(lián)網(wǎng)智能網(wǎng)關(guān)、無線數(shù)據(jù)采集網(wǎng)關(guān)、通信采集網(wǎng)關(guān),或PLC無線網(wǎng)關(guān)、工業(yè)通信網(wǎng)關(guān),屬于無線傳感器網(wǎng)絡(luò)產(chǎn)品。工業(yè)智能網(wǎng)關(guān)是一款具備挖掘工業(yè)設(shè)備數(shù)據(jù)并接入自主開發(fā)的云平臺(tái)的智能嵌入式網(wǎng)絡(luò)設(shè)備。它具備數(shù)據(jù)采集、協(xié)議解析、邊緣計(jì)算、4G/3G/WiFi數(shù)據(jù)傳輸和接入工業(yè)云平臺(tái)[1]等功能,支持采集PLC、傳感器、儀器儀表和各種控制器,適合作為大規(guī)模的分布式設(shè)備的接入節(jié)點(diǎn)。工業(yè)網(wǎng)關(guān)是為滿足工業(yè)級(jí)標(biāo)準(zhǔn)和工業(yè)用戶需求而設(shè)計(jì)的工業(yè)級(jí)智能網(wǎng)關(guān)。
根據(jù)2017年國(guó)務(wù)院發(fā)表《國(guó)務(wù)院關(guān)于深化“互聯(lián)網(wǎng)+先進(jìn)制造業(yè)”發(fā)展工業(yè)互聯(lián)網(wǎng)的指導(dǎo)意見》可以看出[2],國(guó)內(nèi)工業(yè)互聯(lián)網(wǎng)最近幾年蓬勃發(fā)展,各種互聯(lián)網(wǎng)產(chǎn)品如雨后春筍不斷涌現(xiàn)。又據(jù)互聯(lián)網(wǎng)資料和搜索同類產(chǎn)品可以發(fā)現(xiàn),目前大多數(shù)廠家產(chǎn)品集中在工業(yè)DTU范圍,智能網(wǎng)關(guān)產(chǎn)品數(shù)量不多,且產(chǎn)品的優(yōu)勢(shì)和劣勢(shì)比較明顯。
目前國(guó)內(nèi)宏電和研華的相關(guān)網(wǎng)關(guān)產(chǎn)品代表國(guó)內(nèi)一線水平,尤其在華為5G工業(yè)模組技術(shù)加持下發(fā)展迅猛,但是畢竟是大公司、領(lǐng)頭羊式的發(fā)展模式,5G工業(yè)模組獲取不到,幾家大公司的產(chǎn)品覆蓋面畢竟有限。對(duì)于國(guó)內(nèi)大部分中小企業(yè)來說,鉆研并研發(fā)自己的相關(guān)產(chǎn)品,并找準(zhǔn)切入點(diǎn),占用對(duì)應(yīng)的市場(chǎng)份額,研發(fā)對(duì)應(yīng)產(chǎn)品,滿足相應(yīng)的市場(chǎng)需求,還是有相當(dāng)廣闊的市場(chǎng)空間。
智能網(wǎng)關(guān)以串口連結(jié)工業(yè)設(shè)備[3],通過網(wǎng)口或WiFi連接Internet,網(wǎng)絡(luò)如圖1所示。
圖1 智能網(wǎng)關(guān)網(wǎng)絡(luò)
智能網(wǎng)關(guān)北向接口連接組態(tài)網(wǎng)軟件、串口服務(wù)器、MQTT服務(wù)器等,南向接口連接工業(yè)設(shè)備,如PLC等。南向接口將支持modbus rtu master,can bus,zigbee物聯(lián)網(wǎng)設(shè)備等,模型設(shè)計(jì)如圖2所示。
圖2 系統(tǒng)模型設(shè)計(jì)
網(wǎng)關(guān)的內(nèi)存分配采用slab分配器,針對(duì)嵌入式系統(tǒng)優(yōu)化的內(nèi)存分配算法,去掉了其中的對(duì)象構(gòu)造及析構(gòu)過程,只保留了純粹的緩沖型的內(nèi)存池算法。slab分配器會(huì)根據(jù)對(duì)象的大小分成多個(gè)區(qū)(zone),也可以看成每類對(duì)象有一個(gè)內(nèi)存池。一個(gè)zone的大小在32 K到128 K字節(jié)之間,數(shù)據(jù)緩存主要有以下幾個(gè)操作。
假設(shè)分配一個(gè)32字節(jié)的內(nèi)存,slab內(nèi)存分配器會(huì)先按照32字節(jié)的值,從zone array鏈表表頭數(shù)組中找到相應(yīng)的zone鏈表。如果這個(gè)鏈表是空的,則向頁分配器分配一個(gè)新的zone,然后從zone中返回第一個(gè)空閑內(nèi)存塊。如果鏈表非空,則這個(gè)zone鏈表中的第一個(gè)zone節(jié)點(diǎn)必然有空閑塊存在(否則它就不應(yīng)該放在這個(gè)鏈表中),那么就取相應(yīng)的空閑塊。如果分配完成后zone中所有空閑內(nèi)存塊都使用完畢,那么分配器需要把這個(gè)zone節(jié)點(diǎn)從鏈表中刪除。
uint8_t cmd;//[Cmd]:命令,所有設(shè)備參考modbus,設(shè)備地址通過Mqtt設(shè)置,需要保存
自主研發(fā)嵌入式RBB(Ring Block Buffer)技術(shù),實(shí)現(xiàn)多客戶端實(shí)時(shí)通信,不占用串口資源,且RBB自身支持modbus rtu協(xié)議所有功能,RBB自身智能占用串口通信,進(jìn)行數(shù)據(jù)的更新與備份,重啟后根據(jù)北向報(bào)文存儲(chǔ)有效數(shù)據(jù),實(shí)時(shí)遵循設(shè)置優(yōu)先原則,100萬發(fā)包量錯(cuò)誤率為0,mqtt協(xié)議配置支持嵌入式數(shù)據(jù)庫存儲(chǔ),配置進(jìn)行保存,重啟自動(dòng)調(diào)用配置,強(qiáng)大無與倫比。
目前市面不少類似的DTU產(chǎn)品,可以提供部分協(xié)議轉(zhuǎn)換功能,但是主要缺點(diǎn)在于只能進(jìn)行單一協(xié)議的透?jìng)?,且只能支持一路接入,?dāng)大于一路接入的時(shí)候,就會(huì)出現(xiàn)串口搶占,馬上報(bào)文出錯(cuò),通信失敗,在工業(yè)控制中這是無法解決的矛盾。
工業(yè)互聯(lián)網(wǎng)智能網(wǎng)關(guān)適用于工業(yè)互聯(lián)網(wǎng)相關(guān)應(yīng)用,可用于連接供熱控制系統(tǒng),石油和天然氣,醫(yī)療保健和電力公用事業(yè)等行業(yè)中的機(jī)器和設(shè)備。工業(yè)網(wǎng)關(guān)是物聯(lián)網(wǎng)和工控系統(tǒng)的核心組成器件,產(chǎn)品前景廣大,在系統(tǒng)穩(wěn)定性、緩存技術(shù)方面有獨(dú)特創(chuàng)新的產(chǎn)品,在目前市場(chǎng)中有很強(qiáng)的技術(shù)優(yōu)勢(shì),市場(chǎng)前景良好。工業(yè)物聯(lián)網(wǎng)智能網(wǎng)關(guān)有非常大的經(jīng)濟(jì)效益,在工業(yè)控制中應(yīng)用量巨大,基本所有帶串口的設(shè)備,如PLC、工業(yè)儀表、流量壓力溫度計(jì)以及嵌入式設(shè)備等,都可以相連,真正實(shí)現(xiàn)萬物互聯(lián)。