楊奉偉,劉燕卿,徐伯俊,謝春萍,蘇旭中
(江南大學(xué) 生態(tài)紡織教育部重點實驗室,無錫 214122)
當(dāng)前紡織工業(yè)的發(fā)展已進入新時代,面臨著由勞動密集型產(chǎn)業(yè)向技術(shù)密集型產(chǎn)業(yè)轉(zhuǎn)型,借助于物聯(lián)網(wǎng)技術(shù)的發(fā)展,紡織行業(yè)信息化水平也不斷提高。物聯(lián)網(wǎng)技術(shù)通過將紡織設(shè)備與人相連,設(shè)備與設(shè)備相連,借助對應(yīng)的執(zhí)行系統(tǒng),對生產(chǎn)過程中數(shù)據(jù)進行采集、傳輸與應(yīng)用,有利于加快紡織行業(yè)的數(shù)字化、智能化進程[1]。
竹節(jié)紗是花式紗線的重要品種之一,即在單紗的長度方向上分布有粗細節(jié)狀態(tài),其產(chǎn)品應(yīng)用廣泛,如窗簾,牛仔布,裝飾用品等。竹節(jié)紗生產(chǎn)參數(shù)主要包括基紗號數(shù),竹節(jié)號數(shù),節(jié)距及節(jié)長等,影響竹節(jié)紗表面竹節(jié)分布及粗細分布[2,3]??紤]到竹節(jié)紗工藝參數(shù)設(shè)置的方面快捷,竹節(jié)長度,竹節(jié)倍率等重要工藝參數(shù)的快速設(shè)置及竹節(jié)紗生產(chǎn)設(shè)備的在線監(jiān)控,基于微信公眾品臺,開發(fā)一種在線生產(chǎn)監(jiān)控系統(tǒng)以降低勞動強度,提高生產(chǎn)效率。
將微信作為智能硬件的入口,第三方硬件廠商也可通過該平臺提供的接口與微信用戶交互[4]。相比于自主開發(fā)竹節(jié)紗智能控制系統(tǒng)終端,利用微信公眾品平臺開發(fā)該終端更加方便快捷,同時該平臺具有技術(shù)穩(wěn)定成熟,用戶群體龐大,開發(fā)成本低等優(yōu)點,這也是自主開發(fā)所無法比擬的。因此本文利用微信公眾平臺、.NET語言、Internet網(wǎng)絡(luò)以及工業(yè)PLC開發(fā)了竹節(jié)紗智能控制系統(tǒng),該系統(tǒng)可遠程控制生產(chǎn)機器的運行狀態(tài)、修改及監(jiān)控生產(chǎn)工藝參數(shù)等功能。該系統(tǒng)設(shè)計成本低,且終端穩(wěn)定,用戶無需安裝第三方軟件即可遠程控制生產(chǎn)設(shè)備。
該系統(tǒng)主要分為三部分,用戶應(yīng)用層、網(wǎng)絡(luò)層與控制層,如圖1所示,控制層由.Net平臺開發(fā)的竹節(jié)紗在線監(jiān)控系統(tǒng)的窗口應(yīng)用程序構(gòu)成,該程序通過將計算機與工業(yè)PLC進行交互來獲取和傳輸相應(yīng)數(shù)據(jù),并將數(shù)據(jù)存儲到本地MYSQL數(shù)據(jù)庫中供用戶調(diào)用。工業(yè)PLC作為竹節(jié)紗生產(chǎn)設(shè)備的控制中樞存儲著大量生產(chǎn)數(shù)據(jù),包括機器運行狀態(tài),竹節(jié)紗生產(chǎn)工藝參數(shù)如長度與倍率、生產(chǎn)批次、竹節(jié)紗模糊方式等重要數(shù)據(jù)[5]。利用.Net平臺開發(fā)竹節(jié)紗在線監(jiān)控系統(tǒng)的窗口應(yīng)用程序,該程序通過向PLC對應(yīng)地址中發(fā)送數(shù)據(jù)可修改生產(chǎn)工藝參數(shù)及機器運行狀態(tài),并將監(jiān)控得到的數(shù)據(jù)上傳到本地數(shù)據(jù)庫。
網(wǎng)絡(luò)層基于.Net平臺開發(fā)本地服務(wù)器作為搭建整個系統(tǒng)的中繼站,并利用NAT穿透技術(shù)將外網(wǎng)與本地計算機節(jié)點相連接,主要功能是將控制層與用戶應(yīng)用層互聯(lián)成網(wǎng)以訪問本地數(shù)據(jù)庫,負責(zé)接受用戶的命令,并將命令轉(zhuǎn)發(fā)給控制層,并將控制層中相應(yīng)的數(shù)據(jù)傳輸給用戶,用戶可實時遠程監(jiān)控生產(chǎn)設(shè)備的生產(chǎn)數(shù)據(jù)。
用戶應(yīng)用層作為系統(tǒng)終端,負責(zé)與用戶交互,利用微信公眾平臺用戶可在手機、平板或PC發(fā)送命令,從而實現(xiàn)如竹節(jié)紗工藝參數(shù)收發(fā)、機器運行狀態(tài)查看、控制機器啟停等功能,同時作為服務(wù)于工廠實際生產(chǎn)的輔助控制系數(shù),以保證生產(chǎn)數(shù)據(jù)安全及機器運行穩(wěn)定。
圖1 系統(tǒng)整體框架
在竹節(jié)紗生產(chǎn)設(shè)備中,PLC內(nèi)部存儲的數(shù)據(jù)可分為六類參數(shù),包括生產(chǎn)狀態(tài)監(jiān)控參數(shù)、參數(shù)設(shè)置、運轉(zhuǎn)產(chǎn)量管理參數(shù)、機臺性能監(jiān)測參數(shù)、系統(tǒng)調(diào)試參數(shù)及報警信息參數(shù)。每個分類下面又分多個參數(shù),每個參數(shù)在PLC內(nèi)部都有一個唯一的地址,可通過讀取該地址寄存器的值來獲取對應(yīng)參數(shù)的當(dāng)前值,表1為主要參數(shù)分類及其詳細參數(shù)舉例。
Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議PC設(shè)備按照對應(yīng)的通訊格式編寫數(shù)據(jù)即可實現(xiàn)與PLC的相互通信,該協(xié)議分為Modbus-RTU模式與Modbus-ASCII模式,本系統(tǒng)采用Modbus-RTU模式實現(xiàn)與PC端與PLC的交互,在.Net環(huán)境中按照對應(yīng)的信息格式編寫Modbus通信協(xié)議,利用串口進行數(shù)據(jù)的傳遞。
表2為讀取前羅拉轉(zhuǎn)速時Modbus通訊信息,其中前羅拉的轉(zhuǎn)速值的存儲地址為HD500在PLC內(nèi)部的Modbus地址為A274H,此時讀出的為0200H,即表示前羅拉轉(zhuǎn)速為512r/min。按照此種方法,參考用戶手冊給出的Modbus地址即可獲取PLC內(nèi)部全部數(shù)據(jù)。
竹節(jié)紗設(shè)備的生產(chǎn)數(shù)據(jù)大部分存儲在PLC內(nèi)部數(shù)據(jù)寄存器(D、HD)及輔助繼電器(M、HM)中,其中數(shù)據(jù)寄存器中主要存儲各項生產(chǎn)參數(shù)及機器運行參數(shù),輔助繼電器由PLC內(nèi)部軟元件的觸點驅(qū)動,存儲生產(chǎn)過程中機器的運行狀態(tài),紗線種類等,只有打開與關(guān)閉兩種狀態(tài)[6]。無論寄存器還是繼電器都可通過Modbus通信協(xié)議讀取及修改PLC內(nèi)部對應(yīng)地址的數(shù)據(jù),表3為該系統(tǒng)生產(chǎn)監(jiān)控模塊主要參數(shù)地址及Modbus地址,此外還有其他多個模塊的參數(shù)地址,因篇幅限制,不在此列出。
系統(tǒng)本地應(yīng)用程序及用戶終端的Web頁面分別利用.NET下的WinForm與WebForm技術(shù)進行開發(fā),在一般情況下Web界面是無法直接向WinForm應(yīng)用程序發(fā)送消息,本系統(tǒng)利用Web Service實現(xiàn)遠程終端利用本地應(yīng)用程序中的MSComm控件讀取PLC內(nèi)部數(shù)據(jù),并將數(shù)據(jù)返回到Web界面,從而實現(xiàn)用戶終端與本地應(yīng)用的交互,進而使終端用戶通過點擊Web界面即可直接獲取到PLC內(nèi)部數(shù)據(jù),無需經(jīng)過數(shù)據(jù)庫,減少了用戶訪問延遲,十分適合與讀取一些不需要存儲到數(shù)據(jù)庫,而又必須要監(jiān)控的數(shù)據(jù),如羅拉轉(zhuǎn)速,當(dāng)前紡紗長度等數(shù)據(jù)。圖2為Web Service服務(wù)在終端與本地程序中的作用。
表3 生產(chǎn)監(jiān)控模塊參數(shù)地址
圖2 Web Service服務(wù)作用圖
微信公眾平臺與服務(wù)器之間的交互流程可簡單概括為:用戶發(fā)送消息或單擊公眾號自定義菜單,服務(wù)器收到用戶請求,微信服務(wù)器根據(jù)業(yè)務(wù)邏輯回復(fù)給用戶對應(yīng)的消息,如視頻、文本、語音、地理位置等。這種工作流程與HTTP協(xié)議類似,即客戶端發(fā)送HTTP請求到服務(wù)器,如圖3所示,服務(wù)器端發(fā)送對應(yīng)HTTP響應(yīng)用戶請求[7,8]。本系統(tǒng)需要根據(jù)官方提供的接口來定制自己的公眾平臺,因此在開發(fā)過程中其交互方式略有不同,如圖4所示,當(dāng)用戶在微信里給公眾號發(fā)送消息或者單擊微信自定義菜單時,微信手機客戶端將這條消息發(fā)送到微信服務(wù)器。其次,微信服務(wù)器收到用戶的請求后,根據(jù)具體的業(yè)務(wù)邏輯再將消息推送給開發(fā)者設(shè)置的服務(wù)器地址(URL),這個服務(wù)器地址對于微信服務(wù)器來說就是一個服務(wù)器,微信服務(wù)器此時充當(dāng)?shù)氖强蛻舳说慕巧玔9]。開發(fā)者的服務(wù)器收到微信服務(wù)器推送過來的請求后,根據(jù)微信提供的規(guī)則解析出用戶發(fā)送的消息內(nèi)容,然后再根據(jù)具體的業(yè)務(wù)邏輯將響應(yīng)的內(nèi)容回復(fù)給微信服務(wù)器,微信服務(wù)器再返回給用戶。
圖3 http協(xié)議收發(fā)原理
圖4 本系統(tǒng)信息收發(fā)原理
一般微信公眾平臺其服務(wù)器對于用戶是透明的,關(guān)注此公眾號的用戶可以獲得微信后臺的全部數(shù)據(jù)[10]。但是作為服務(wù)于工廠實際生產(chǎn)的系統(tǒng),必須保證生產(chǎn)數(shù)據(jù)的安全性,并且針對不同的關(guān)注用戶需要具有不同的權(quán)限,因此需要針對不同的用戶進行分類。本分類方式基于微信公眾平臺后臺的用戶數(shù)據(jù),每個關(guān)注公眾號的用戶在后臺都具有一個唯一的ID,將這個ID進行分類后分別存儲在不同的數(shù)據(jù)表中,系統(tǒng)根據(jù)對應(yīng)數(shù)據(jù)表中的ID賦予用戶不同的權(quán)限,從而保證了數(shù)據(jù)安全性,如圖5所示。
圖5 用戶權(quán)限關(guān)系圖
對于已經(jīng)通過驗證的新用戶,公眾號后臺會自動識別用戶ID并回復(fù)對應(yīng)的信息,圖6為最高權(quán)限管理員所具有的權(quán)限及用戶回復(fù)1后得到的生產(chǎn)數(shù)據(jù)。新用戶通過回復(fù)對應(yīng)的字段即可查看對應(yīng)的數(shù)據(jù),如用戶回復(fù)1即可查看當(dāng)前設(shè)備的生產(chǎn)狀態(tài)參數(shù),回復(fù)6即可查看設(shè)備所有關(guān)鍵數(shù)據(jù),圖7為用戶回復(fù)1后對應(yīng)生產(chǎn)狀態(tài)監(jiān)控數(shù)據(jù)表中的數(shù)據(jù),該公眾號回復(fù)的數(shù)據(jù)為當(dāng)前設(shè)備最新上傳的數(shù)據(jù)。
圖6 公眾平臺操作指南
根據(jù)公眾號自動回復(fù)的操作指南來獲取數(shù)據(jù)對于新授權(quán)的用戶來說是個比較有效的解決辦法,但是對于老用戶或者是比較熟悉該公眾平臺的用戶來說,根據(jù)提示來操作就顯得有些繁瑣,因此用戶也可直接回復(fù)對應(yīng)的命令來直接獲取對應(yīng)的數(shù)據(jù)。
針對生產(chǎn)數(shù)據(jù)的分類不同,向用戶采取不同的呈現(xiàn)形式,如生產(chǎn)設(shè)備的錠速這一數(shù)據(jù)采用曲線的方式呈現(xiàn)給用戶,更加的簡單明了,如圖8所示,用戶可直接在回復(fù)錠速曲線來獲取當(dāng)前生產(chǎn)設(shè)備的錠速曲線的圖文消息,通過點擊該圖文消息,即可跳轉(zhuǎn)到錠速曲線界面,也可在線修改錠速曲線。
圖7 機器生產(chǎn)狀態(tài)數(shù)據(jù)表
圖8 錠速曲線
用戶也可通過在微信端回復(fù)竹節(jié)紗生產(chǎn)參數(shù)來查看及修改當(dāng)前設(shè)備竹節(jié)紗生產(chǎn)參數(shù),用戶通過點擊對應(yīng)的圖文消息跳轉(zhuǎn)到對應(yīng)的竹節(jié)紗生產(chǎn)參數(shù)界面,如圖9所示,用戶點擊確認按鈕后新的竹節(jié)紗生產(chǎn)參數(shù)上傳到本地數(shù)據(jù)庫,然后本地應(yīng)用程序讀取數(shù)據(jù)庫中的信息上傳到PLC中繼而實現(xiàn)生產(chǎn)參數(shù)的變化,圖10為監(jiān)測到的PLC內(nèi)部數(shù)據(jù)的變化,可以看到與用戶端修改數(shù)據(jù)是對應(yīng)的,說明生產(chǎn)參數(shù)修改成功。
圖9 竹節(jié)紗生產(chǎn)參數(shù)修改界面
通過對微信公眾平臺的二次開發(fā),將用戶的移動終端與竹節(jié)紗生產(chǎn)設(shè)備相連,最終實現(xiàn)多用戶遠程實時監(jiān)控竹節(jié)紗生產(chǎn)。由實驗結(jié)果可知,用戶利用該系統(tǒng)可實現(xiàn)對竹節(jié)紗生產(chǎn)狀態(tài)的遠程監(jiān)控、參數(shù)設(shè)置,遠程調(diào)試機器等功能并且一線工人,維修人員,管理人員根據(jù)職責(zé)分工不同可通過該系統(tǒng)獲得相應(yīng)的數(shù)據(jù)及管理權(quán)限,無關(guān)人員即使關(guān)注了該公眾號也無法獲得生產(chǎn)數(shù)據(jù),保證了數(shù)據(jù)的安全性。
圖10 PLC內(nèi)部竹節(jié)紗生產(chǎn)參數(shù)變化對比圖
采用此種物聯(lián)網(wǎng)與微信公眾平臺相結(jié)合的開發(fā)模式,開發(fā)者無需開發(fā)其他APP即可實現(xiàn)將移動終端與實際生產(chǎn)設(shè)備相連,實現(xiàn)用戶與機器的遠程交互,提高了紡織機械的智能化程度,有利于提高紡織企業(yè)生產(chǎn)及管理效率,同時對紡織企業(yè)的智能化轉(zhuǎn)型也具有一定的借鑒價值。