張 光
(陜西工業(yè)職業(yè)技術(shù)學(xué)院汽車與物流學(xué)院 咸陽 712000)
?
基于物聯(lián)網(wǎng)與計(jì)算機(jī)技術(shù)的工業(yè)設(shè)備監(jiān)控系統(tǒng)*
張光
(陜西工業(yè)職業(yè)技術(shù)學(xué)院汽車與物流學(xué)院咸陽712000)
為了解決當(dāng)前工業(yè)監(jiān)控系統(tǒng)通信硬件昂貴、人力監(jiān)控效率低下的不足,提出基于物聯(lián)網(wǎng)與計(jì)算機(jī)技術(shù)的工業(yè)設(shè)備系統(tǒng)。首先,設(shè)計(jì)了具有智能監(jiān)控的工業(yè)設(shè)備監(jiān)控系統(tǒng),采用C#語言Winform框架開發(fā)設(shè)備端軟件,采用ASP.NET語言MVC框架開發(fā)服務(wù)器端網(wǎng)站系統(tǒng);然后基于遠(yuǎn)程數(shù)據(jù)庫技術(shù)完成信息監(jiān)控,基于Socket通信完成遠(yuǎn)程控制;最后,采用FTP協(xié)議,實(shí)現(xiàn)設(shè)備端軟件與服務(wù)器端網(wǎng)站的界面映射,提供良好的用戶體驗(yàn)。實(shí)驗(yàn)數(shù)據(jù)顯示:所提系統(tǒng)功能達(dá)到了設(shè)備監(jiān)控的工程要求,能夠?qū)υO(shè)備運(yùn)行狀態(tài)進(jìn)行準(zhǔn)確監(jiān)控。
物聯(lián)網(wǎng); 設(shè)備監(jiān)控; MVC框架; 遠(yuǎn)程數(shù)據(jù)庫; Socket通信
Class NumberTP391
隨著“工業(yè)4.0”、“中國制造2025”、“智慧工廠”等新穎概念的不斷深化與落實(shí),工業(yè)制造領(lǐng)域向智能集成化方向發(fā)展已經(jīng)成為不可逆轉(zhuǎn)的趨勢,從微觀上說,提高設(shè)備自動(dòng)化、智能化程度,從宏觀上說,將所有設(shè)備與服務(wù)器連接,提高集成程度[1~2]。設(shè)備聯(lián)網(wǎng),做到每個(gè)設(shè)備之間有交互,直接決定工廠的智慧程度,而設(shè)備聯(lián)網(wǎng)的核心是服務(wù)器對設(shè)備的智能監(jiān)控,即監(jiān)視設(shè)備實(shí)時(shí)信息,并實(shí)時(shí)自動(dòng)控制設(shè)備狀態(tài)[3~4]。本文主要研究如何以高效率低成本的技術(shù)實(shí)現(xiàn)設(shè)備聯(lián)網(wǎng)、智能監(jiān)控系統(tǒng)。
對此,國內(nèi)專家學(xué)者設(shè)計(jì)了諸多設(shè)備監(jiān)控系統(tǒng)。如陳海明[5]設(shè)計(jì)實(shí)現(xiàn)了基于物聯(lián)網(wǎng)的室內(nèi)設(shè)備監(jiān)管系統(tǒng), 通過結(jié)合以太網(wǎng)通信、以太網(wǎng)供電(POE)和無線傳感器網(wǎng)絡(luò)技術(shù)實(shí)現(xiàn),該系統(tǒng)由終端節(jié)點(diǎn)、參考節(jié)點(diǎn)、POE交換機(jī)和服務(wù)端四部分組成。通過終端節(jié)點(diǎn)與被監(jiān)控設(shè)備綁定,利用加速度傳感器、溫度傳感器實(shí)現(xiàn)對被監(jiān)管設(shè)備的信息采集,利用無線傳感網(wǎng)傳輸前端感知數(shù)據(jù),并使用以太網(wǎng)作為主干網(wǎng)進(jìn)行數(shù)據(jù)傳輸和供電,最終由服務(wù)端完成數(shù)據(jù)的存儲(chǔ)、處理和呈現(xiàn),達(dá)到了設(shè)備監(jiān)控的目的[5]。如陳維興[6]設(shè)計(jì)了基于物聯(lián)網(wǎng)的機(jī)場橋載設(shè)備監(jiān)控網(wǎng)絡(luò),采用改進(jìn)截?cái)喽笖?shù)退避算法ITBEB,根據(jù)網(wǎng)絡(luò)環(huán)境的多方面因素,對CSMA/CA的退避指數(shù)BE進(jìn)行動(dòng)態(tài)調(diào)節(jié),使網(wǎng)絡(luò)節(jié)點(diǎn)合理設(shè)置隨機(jī)退避時(shí)間,減少退避飽和,充分利用空閑信道, 達(dá)到了設(shè)備監(jiān)控的目的。
雖然以上方法可以實(shí)現(xiàn)設(shè)備監(jiān)控,但是所用到的通信硬件多且昂貴,高成本帶來的負(fù)面影響將直接決定企業(yè)的興衰。而如果放棄以上監(jiān)控系統(tǒng),仍采用人力監(jiān)控,不但效率低下而且由主觀個(gè)體差異帶來的錯(cuò)誤也將頻發(fā),直接影響產(chǎn)品的質(zhì)量。
對此,本文提出了基于物聯(lián)網(wǎng)與計(jì)算機(jī)技術(shù)的工業(yè)設(shè)備監(jiān)控系統(tǒng)。本文分析實(shí)際需求,設(shè)計(jì)了整個(gè)系統(tǒng)架構(gòu),并編程實(shí)現(xiàn)、搭建落實(shí)。最后實(shí)驗(yàn)驗(yàn)證,從功能的效果與穩(wěn)定性兩方面對本文系統(tǒng)進(jìn)行了工程評價(jià)。
本文目的: 1) 服務(wù)器可以實(shí)時(shí)監(jiān)視設(shè)備端軟件的作業(yè)信息; 2) 服務(wù)器根據(jù)設(shè)備端狀態(tài)可以實(shí)時(shí)控制設(shè)備端軟件,進(jìn)而控制設(shè)備; 3) 設(shè)備端實(shí)時(shí)界面共享至服務(wù)器系統(tǒng)界面,提供良好的用戶體驗(yàn)。本文硬件系統(tǒng)為一臺(tái)服務(wù)器PC、一臺(tái)帶視覺檢查與光源的設(shè)備PC,如圖1所示,以對一臺(tái)設(shè)備PC的監(jiān)控為討論研究對象,多臺(tái)設(shè)備PC的監(jiān)控機(jī)制同理。
軟件架構(gòu)分為服務(wù)器網(wǎng)站系統(tǒng)、設(shè)備端視覺檢查軟件。
圖1本文硬件主要結(jié)構(gòu)
該軟件機(jī)制的流程見圖2,其主要分為:首先,設(shè)備端的視覺軟件正常作業(yè),對產(chǎn)品的標(biāo)簽有無進(jìn)行檢查,檢查結(jié)果即設(shè)備信息,實(shí)時(shí)的傳輸給遠(yuǎn)程服務(wù)器的數(shù)據(jù)庫,同時(shí)將UI截圖以圖像文件的形式通過FTP協(xié)議傳輸給遠(yuǎn)程服務(wù)器。然后,服務(wù)器PC對本地?cái)?shù)據(jù)庫和FTP目錄文件實(shí)時(shí)刷新,將設(shè)備信息與設(shè)備軟件UI體現(xiàn)在網(wǎng)站界面上,從而實(shí)現(xiàn)對設(shè)備的監(jiān)視。最后,服務(wù)器網(wǎng)站根據(jù)得到的設(shè)備信息正常與否,對設(shè)備進(jìn)行遠(yuǎn)程自動(dòng)控制,NG信號(hào)代表產(chǎn)品無標(biāo)簽,服務(wù)器遠(yuǎn)程自動(dòng)觸發(fā)設(shè)備軟件打開光源,達(dá)到報(bào)警作用,OK信號(hào)代表產(chǎn)品有標(biāo)簽,則服務(wù)器無需觸發(fā)設(shè)備端光源報(bào)警。由此,實(shí)現(xiàn)了遠(yuǎn)程服務(wù)器對設(shè)備的實(shí)時(shí)狀態(tài)監(jiān)視、實(shí)時(shí)遠(yuǎn)程控制、界面共享功能。
圖2 本文機(jī)制架構(gòu)
首先實(shí)現(xiàn)的功能是通過服務(wù)器網(wǎng)站可以實(shí)時(shí)看到設(shè)備端軟件檢查信息、軟件UI,達(dá)到監(jiān)視目的。服務(wù)器端網(wǎng)頁采用因特網(wǎng)服務(wù)器執(zhí)行的腳本語言ASP.NET開發(fā),通過HTTP請求文檔在服務(wù)器上動(dòng)態(tài)創(chuàng)建[7];設(shè)備端軟件采用C#開發(fā),界面圖如圖3所示,對產(chǎn)品進(jìn)行拍照處理,負(fù)責(zé)對產(chǎn)品的標(biāo)簽有無進(jìn)行視覺檢查,結(jié)果發(fā)送至服務(wù)器數(shù)據(jù)庫,同時(shí)軟件帶有控制光源功能,當(dāng)檢查到無標(biāo)簽產(chǎn)品時(shí),觸發(fā)光源開關(guān)以報(bào)警,設(shè)備端視覺軟件的功能實(shí)現(xiàn)屬圖像處理領(lǐng)域內(nèi)容,非本文重點(diǎn),在此不贅述。本文出于系統(tǒng)整合耦合性、后期可擴(kuò)展可維護(hù)性角度考慮,設(shè)備端、服務(wù)器端軟件都基于.NET平臺(tái)開發(fā)完成。
圖3 設(shè)備端軟件界面圖
本系統(tǒng)設(shè)備端PC與服務(wù)器端PC由局域網(wǎng)網(wǎng)線連接,服務(wù)器端數(shù)據(jù)庫開啟遠(yuǎn)程讀寫允許配置,設(shè)備端軟件通過sql語句向特定IP、端口的遠(yuǎn)程數(shù)據(jù)庫進(jìn)行數(shù)據(jù)插入,如圖4所示,為遠(yuǎn)程數(shù)據(jù)庫記錄明細(xì),可見設(shè)備端插入成功,服務(wù)器網(wǎng)站每隔2s撈取數(shù)據(jù)庫信息并顯示,如圖5所示,可見網(wǎng)站實(shí)時(shí)顯示設(shè)備端軟件作業(yè)信息。同時(shí)設(shè)備端軟件每次檢查完產(chǎn)品,自動(dòng)對軟件當(dāng)前界面進(jìn)行截圖保存,并通過FTP協(xié)議發(fā)送至服務(wù)器FTP目錄,同理,網(wǎng)站實(shí)時(shí)撈取目錄圖像文件并顯示,從而達(dá)到設(shè)備端與服務(wù)器端的界面一一映射,增強(qiáng)兩端的同步感,達(dá)到提高用戶體驗(yàn)的目的。
圖4 服務(wù)器數(shù)據(jù)庫記錄明細(xì)圖
圖5 服務(wù)器端網(wǎng)站界面圖
部分關(guān)鍵代碼:
stringsource=@"server=109.120.0.15;database=SIDB;uid=sa;pwd=12345";
SqlConnection conn = new SqlConnection(source);
conn.Open();
DateTime t = new DateTime();
t = DateTime.Now;
string time = t.ToString();
string id = "001";
string jieguo = "OK";
string tt = "30";
string strSQL = "Insert into VIT (ID,Result,TT,DataTime) values ('" + id + "','" + jieguo + "','" + tt + "','" + t + "')";
SqlCommand sql = new SqlCommand(strSQL, conn);
SqlDataReader sqlexe = sql.ExecuteReader();
conn.Close();
using (SqlConnection con = new SqlConnection("Data Source=SK-PC;uid=sa;pwd=12345;Database=SIDB")){
string strSQL = "select * from VIT";
SqlDataAdapter adapter = new SqlDataAdapter(strSQL, con);
DataSet ds = new DataSet();
adapter.Fill(ds);
foreach(DataRowView drv in ds.Tables[0].DefaultView){
Response.Write(drv["ID"] + "|" + drv["Result"] + "|" + drv["TT"] + "|" + drv["DataTime"]);
Response.Write("
");}}
完成對設(shè)備端檢查作業(yè)數(shù)據(jù)信息監(jiān)視后,需要對NG數(shù)據(jù)做出自動(dòng)反應(yīng),反應(yīng)動(dòng)作是由服務(wù)器網(wǎng)站通過Socket通信發(fā)信號(hào)至設(shè)備端軟件,觸發(fā)光源控制按鈕,打開按鈕以報(bào)警提示,達(dá)到無人值守、自動(dòng)閉環(huán)反饋地目的。Socket稱為套接字,用于描述IP地址和端口,是一個(gè)通信鏈的句柄,用來實(shí)現(xiàn)不同虛擬機(jī)或不同計(jì)算機(jī)之間的通信,服務(wù)器和設(shè)備端主機(jī)一般運(yùn)行多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù),每種服務(wù)打開一個(gè)Socket,并綁定在一個(gè)端口上,不同Socket對應(yīng)不同服務(wù)不同端口[8]。本系統(tǒng)的連接通信過程是: 1) 設(shè)備端監(jiān)聽,處于等待連接,實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài); 2) 服務(wù)器請求,基于IP與端口,由服務(wù)器的套接字提出連接請求后,連接目標(biāo)是設(shè)備端套接字; 3) 連接確認(rèn),設(shè)備端響應(yīng)連接請求,建立新線程,于是設(shè)備端處于持續(xù)監(jiān)聽狀態(tài),繼續(xù)接收服務(wù)器的命令信息,根據(jù)命令信息做出響應(yīng)的動(dòng)作[9~10]。
關(guān)鍵代碼:
IPAddress ip = IPAddress.Parse("109.120.0.20");
Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try{clientSocket.Connect(new IPEndPoint(ip, 8885));}
catch{return;}
try{stringsendMessage="1"; clientSocket.Send(Encoding.ASCII.GetBytes(sendMessage));}
catch{clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();}
OPTController = new OPTControllerAPI();
SN = "AA53017465";//F530694762
OPTController.CreateEtheConnectionBySN(SN);
state = true;
IPAddress ip = IPAddress.Parse("109.120.0.20");
serverSocket=newSocket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);
serverSocket.Bind(newIPEndPoint(ip,myProt)); serverSocket.Listen(10); myThread = new Thread(ListenClientConnect);
myThread.Start();
WebClient webClient = new WebClient(); webClient.UploadFile("ftp://admin:admin@109.120.0.15/ui.jpg", @"D:Imageui.jpg");
由于當(dāng)前的工業(yè)監(jiān)控設(shè)備的通信硬件非常昂貴,為了節(jié)省成本,本文主要驗(yàn)證所提監(jiān)控系統(tǒng)的功能性。
如圖6所示,設(shè)備端軟件檢出NG產(chǎn)品,即無標(biāo)簽產(chǎn)品。如圖7所示,設(shè)備端軟件將NG信息傳輸至遠(yuǎn)程數(shù)據(jù)庫,服務(wù)器實(shí)時(shí)撈取刷新至網(wǎng)站界面,網(wǎng)頁界面與設(shè)備端軟件一一映射。如圖8所示,服務(wù)器收到NG信號(hào),基于Socket通信向設(shè)備端軟件發(fā)出打開光源命令信號(hào),設(shè)備端軟件收到信號(hào),光源自動(dòng)打開。實(shí)驗(yàn)驗(yàn)證,本文系統(tǒng)達(dá)到了服務(wù)器對設(shè)備端軟件監(jiān)視、控制、界面映射的工程目的,與人力監(jiān)控相比,具有明顯的高效率優(yōu)勢,與文獻(xiàn)[5~6]相比具有明顯的成本優(yōu)勢。
圖6 設(shè)備端軟件NG產(chǎn)品界面
圖7 服務(wù)器網(wǎng)站界面圖
圖8 設(shè)備端軟件打開光源報(bào)警
本文解決的問題:主流監(jiān)控系統(tǒng)通信設(shè)備過于昂貴,人力監(jiān)控效率低下容易出錯(cuò),本文提出了一個(gè)基于物聯(lián)網(wǎng)與計(jì)算機(jī)技術(shù)的工業(yè)設(shè)備監(jiān)控系統(tǒng),并編程實(shí)現(xiàn)。首先建立系統(tǒng)架構(gòu),分別開發(fā)設(shè)備端檢查軟件、服務(wù)器端網(wǎng)站。然后基于遠(yuǎn)程數(shù)據(jù)庫實(shí)現(xiàn)設(shè)備信息監(jiān)視,基于FTP實(shí)現(xiàn)設(shè)備端與服務(wù)器端的界面映射,基于Socket實(shí)現(xiàn)遠(yuǎn)程控制。最后進(jìn)行實(shí)驗(yàn)評價(jià),本文系統(tǒng)達(dá)到了預(yù)期工程目標(biāo),且具有低成本、高效率的優(yōu)勢,彌補(bǔ)了主流監(jiān)控系統(tǒng)和人力監(jiān)控的不足。
[1] Damith C. Ranasinghe, Mark Harrison, Duncan McFarlane. Adding sense to the Internet of Things[J]. Personal and Ubiquitous Computing,2012,22(3):311-316.
[2] Fahim Kawsar, Vasughi Sundramoorthy, Daniel Fitton. Smart objects as building blocks for the internet of things[J]. IEEE Internet Computing,2010(5):231-236.
[3] 劉峰.基于物聯(lián)網(wǎng)的公路網(wǎng)傳感設(shè)備故障信息系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2016,32(5):12-17.
LIU Feng. Design of fault information system for highway network sensing equipment based on Internet of things[J]. Computer Measurement and Control,2016,32(5):12-17.
[4] 劉貴生.基于物聯(lián)網(wǎng)的室內(nèi)設(shè)備監(jiān)管系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀器儀表,2015,14(22):147-150.
LIU Guisheng. Design of indoor equipment supervision system based on Internet of things[J]. Automation and Instrumentation,2015,14(22):147-150.
[5] 陳海明.面向服務(wù)的物聯(lián)網(wǎng)軟件體系結(jié)構(gòu)設(shè)計(jì)與模型檢測[J].計(jì)算機(jī)學(xué)報(bào),2015,18(33):183-187.
CHEN Haiming. Service oriented software architecture design and model checking for Internet of things[J]. Journal of Computer Science,2015,18(33):183-187.[6] 陳維興.基于物聯(lián)網(wǎng)的機(jī)場橋載設(shè)備監(jiān)控網(wǎng)絡(luò)優(yōu)化設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2015,21(17):196-199.
CHEN Weixing. Optimization design of monitoring network for airport bridge equipment based on Internet of things[J]. Computer Engineering and Design,2015,21(17):196-199.
[7] 何福.基于物聯(lián)網(wǎng)的涉密設(shè)備出入管控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2015,33(53):86-90.
HE Fu. The design of access control system based on Internet of things classified equipment[J]. Computer Measurement and Control,2015,33(53):86-90.
[8] 李玲玉.語義物聯(lián)網(wǎng)中一種基于QoS的動(dòng)態(tài)服務(wù)組合方法[J].計(jì)算機(jī)應(yīng)用研究,2015,6(4):121-125.
LI Lingyu. A dynamic service composition method based on QoS in the semantic Internet of things[J]. Computer Application Research,2015,6(4):121-125.
[9] GUINARDD, TRIFAV, etal. Interacting with the based internet of things: Discovery, query, selection, and on-demand provisioning of web services[J]. IEEE Transactions on Services Computing,2010,12(1):146-149.
[10] 丁治明.面向物聯(lián)網(wǎng)海量傳感器采樣數(shù)據(jù)管理的數(shù)據(jù)庫集群系統(tǒng)框架[J].計(jì)算機(jī)學(xué)報(bào),2013,14(17):216-219
DING Zhiming. Database cluster system framework for data management of mass sensor sampling data in Internet of things[J]. Journal of Computer Science,2013,14(17):216-219
Industrial Equipment Monitor System Based on Internet of Things and Computer Technology
ZHANG Guang
(College of Automobile and Logistics, Shaanxi Polytechnic College, Xianyang712000)
In order to solve the fact that current monitoring system of communication hardware is expensive and inefficient human monitoring, this paper puts forward and implements the industrial equipment system based on internet and computer technology. First of all, the intelligent monitoring of industrial equipment monitoring and control system has been designed, C# language Winform framework development equipment software is used, server side web site ASP.NET MVC framework language development system is used. Then based on the remote database technology to complete information monitoring, based on Socket communication complete remote control. Finally, using the FTP protocol, the equipment software and server side web site interface mapping are realized, a good user experience is provided. Experimental data shows that the system function to the equipment to monitor the engineering requirement, compared with human monitoring, have higher efficiency.
internet of things, equipment monitoring, MVC framework, remote database, Socket communication
2016年4月19日,
2016年5月23日
陜西省自然科學(xué)基金項(xiàng)目(編號(hào):14KCGG-054)資助。
張光,男,碩士,講師,研究方向:計(jì)算機(jī)應(yīng)用、圖像處理、信息安全。
TP391
10.3969/j.issn.1672-9722.2016.10.017