• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Qt和Web的工業(yè)遠程控制系統(tǒng)

      2015-06-23 16:27:42潘浩達秦會斌秦惠民
      無線電通信技術(shù) 2015年6期
      關(guān)鍵詞:后臺網(wǎng)頁頁面

      潘浩達,鄭 鵬,鄭 梁,秦會斌,秦惠民

      (1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018;2.嘉善福尼電子有限公司,浙江 嘉善 314100)

      基于Qt和Web的工業(yè)遠程控制系統(tǒng)

      潘浩達1,鄭 鵬1,鄭 梁1,秦會斌1,秦惠民2

      (1.杭州電子科技大學(xué) 電子信息學(xué)院,浙江 杭州 310018;2.嘉善福尼電子有限公司,浙江 嘉善 314100)

      為解決基于Web的工業(yè)遠程控制中的無線傳輸短連接問題,設(shè)計了一種基于Qt和Web的工業(yè)遠程控制系統(tǒng)。該系統(tǒng)利用Qt中的信號和槽機制及socket通信套接字,使Qt后臺軟件與工業(yè)主控制器的WiFi通信模塊建立長連接數(shù)據(jù)收發(fā)功能;采用Web編程技術(shù)編寫網(wǎng)頁,以Ajax技術(shù)實現(xiàn)網(wǎng)頁的動態(tài)無刷新功能;將MySQL數(shù)據(jù)庫作為數(shù)據(jù)中轉(zhuǎn)站,為Web網(wǎng)頁提供數(shù)據(jù)顯示和控制功能。經(jīng)測試,整個遠程控制系統(tǒng)運行正常,能夠在無線傳輸中適應(yīng)頻繁的數(shù)據(jù)收發(fā)操作并保持長連接通信,實現(xiàn)了用戶通過瀏覽器對工業(yè)現(xiàn)場的遠程控制。

      遠程控制;Qt后臺;長連接;Web網(wǎng)頁;MySQL數(shù)據(jù)庫

      0 引言

      隨著現(xiàn)代生產(chǎn)力的快速發(fā)展,企業(yè)規(guī)模不斷壯大,簡單的現(xiàn)場控制已經(jīng)遠遠滿足不了工業(yè)自動化控制,企業(yè)對信息數(shù)據(jù)的需求量越來越大。為了解決企業(yè)在工業(yè)生產(chǎn)過程中的地域限制,方便企業(yè)管理控制和提高企業(yè)生產(chǎn)工藝水平,高效的遠程控制技術(shù)[1,2]成為當(dāng)今企業(yè)的普遍要求。

      基于Web的工業(yè)遠程控制是較常用的遠程控制技術(shù)。該遠程控制中工業(yè)設(shè)備和服務(wù)器大部分是通過有線連接的方式來通信的[3]。但是,由于有線連接方式往往會受到現(xiàn)場環(huán)境限制,基于無線網(wǎng)絡(luò)的Web遠程控制越來越受到人們的關(guān)注。然而,當(dāng)前基于無線網(wǎng)絡(luò)[4]的Web遠程控制在穩(wěn)定性和實時性方面還面臨著一些問題。因為,在單純的Web網(wǎng)頁控制中,客戶端瀏覽器訪問的服務(wù)器Web頁面只會執(zhí)行當(dāng)前頁面和其相關(guān)頁面程序,每個頁面執(zhí)行的是短連接過程,因此跳轉(zhuǎn)到其他頁面時都需重新連接無線通信模塊。此外,無線模塊的連接需要一定的時間,因此每次跳轉(zhuǎn)到其他Web頁面時都會產(chǎn)生連接延時,影響實時數(shù)據(jù)的收發(fā)。

      為了保證無線網(wǎng)絡(luò)下Web遠程控制的穩(wěn)定性和實時性,本文在原有的工業(yè)生產(chǎn)系統(tǒng)下,在服務(wù)器端開發(fā)一個可以和工業(yè)設(shè)備保持長連接的Qt后臺軟件,以實現(xiàn)其與工業(yè)設(shè)備的實時數(shù)據(jù)交換。再結(jié)合Web編程技術(shù)[5]編寫Web頁面,實現(xiàn)遠程客戶端對工業(yè)設(shè)備的控制,設(shè)計一個基于Qt和Web的工業(yè)遠程控制系統(tǒng)。

      1 系統(tǒng)結(jié)構(gòu)

      本系統(tǒng)采用LT232/485WiFi透傳模塊[6]來代替有線傳輸方式。遠程控制系統(tǒng)結(jié)構(gòu)如圖1所示。

      圖1 遠程控制系統(tǒng)結(jié)構(gòu)圖

      工業(yè)設(shè)備控制器經(jīng)WiFi透傳模塊與遠程控制系統(tǒng)通信,用戶通過Internet訪問遠程控制系統(tǒng),進而控制工業(yè)設(shè)備,實現(xiàn)遠程控制現(xiàn)場工業(yè)生產(chǎn)。

      2 遠程控制系統(tǒng)設(shè)計

      為了使工業(yè)設(shè)備控制器和外界進行數(shù)據(jù)交互,適應(yīng)頻繁的數(shù)據(jù)收發(fā),本系統(tǒng)通過WiFi模塊和服務(wù)器后臺軟件建立TCP長連接模式,以網(wǎng)絡(luò)通信套接字socket實現(xiàn)數(shù)據(jù)收發(fā)功能[7]。并將后臺軟件接收過來的數(shù)據(jù)存入MySQL數(shù)據(jù)庫,方便網(wǎng)頁數(shù)據(jù)的讀取和顯示??蛻舳藶g覽器將網(wǎng)頁的控制命令通過socket套接字寫入后臺軟件,經(jīng)后臺軟件將數(shù)據(jù)傳送到工業(yè)設(shè)備控制器,如圖2所示。

      圖2 遠程控制系統(tǒng)軟件模塊

      本系統(tǒng)選擇能夠跨平臺、易升級、支持多系統(tǒng)下的Qt開發(fā)環(huán)境開發(fā)后臺軟件,Qt以其特有的信號和槽機制方便了函數(shù)的中斷調(diào)用,而且擁有大量的庫函數(shù),方便開發(fā)人員邏輯代碼編寫[8]。由于遠程控制系統(tǒng)軟件模塊和服務(wù)器都是安裝在同一臺計算機上,為了減輕服務(wù)器壓力,選擇功能強大的輕量級MySQL數(shù)據(jù)庫[9]。網(wǎng)頁部分采用html(超文本標(biāo)記語言)嵌入php開源腳本語言的方式編寫,以Ajax技術(shù)實現(xiàn)網(wǎng)頁頁面的無刷新動態(tài)顯示[10]。

      2.1 Qt后臺軟件

      該軟件主要包括客戶端通信模塊、數(shù)據(jù)庫通信模塊、服務(wù)端通信模塊和自動連接WiFi模塊[11]??蛻舳四K和工業(yè)設(shè)備控制器連接通信,兩者通過WiFi透傳模塊接收和發(fā)送命令,控制設(shè)備的開機、關(guān)機,讀取現(xiàn)場數(shù)據(jù)到后臺界面軟件,然后存儲到數(shù)據(jù)庫;數(shù)據(jù)庫通信模塊是接收設(shè)備的數(shù)據(jù)信息去改變數(shù)據(jù)表中數(shù)據(jù),為Web網(wǎng)頁提供數(shù)據(jù);服務(wù)端通信模塊是接收來自網(wǎng)頁的消息,接收來自網(wǎng)頁的命令:如設(shè)備的開機、關(guān)機,連接、斷開網(wǎng)絡(luò),參數(shù)設(shè)置等,去控制現(xiàn)場工作;自動連接WiFi模塊是用來保證無線信號的長連接工作狀態(tài)。

      2.1.1 客戶端通信模塊

      作為WiFi模塊的客戶端,首先要和WiFi模塊建立TCP連接,利用Qt庫函數(shù)與WiFi連接后,使用tcpsocket與設(shè)備控制器進行通信。

      以顯示現(xiàn)場數(shù)據(jù)為例,函數(shù)執(zhí)行順序如圖3所示。

      圖3 客戶端通信過程圖

      ①首先為客戶端套接字tcpsocket寫入成批讀出軟元件命令

      其中,Read_Command(ReadType type,QString str,int n)是讀取寄存器數(shù)據(jù)函數(shù),參數(shù)分別表示讀取類型、寄存器名和讀取的個數(shù)。

      ②待寫入命令后,再執(zhí)行函數(shù)

      將之前讀取的數(shù)據(jù)放到字符串str中,其中handleStr函數(shù)表示將寄存器讀取出來的數(shù)據(jù)去除幀頭和幀尾;

      ③通過函數(shù)display(QString str)將數(shù)據(jù)顯示在Qt界面上。

      2.1.2 數(shù)據(jù)庫通信模塊

      在與數(shù)據(jù)庫通信之前,首先要和數(shù)據(jù)庫建立連接,Qt中的連接函數(shù)如下:

      代碼的主要意思依次為連接MySQL數(shù)據(jù)庫,配置好主機名、數(shù)據(jù)庫名、用戶名和登錄密碼,最后打開數(shù)據(jù)庫,就可以實現(xiàn)對數(shù)據(jù)庫的操作。

      2.1.3 服務(wù)器通信模塊

      作為Web網(wǎng)頁的服務(wù)端,服務(wù)端對象tcpserver監(jiān)聽網(wǎng)頁連接,并接收網(wǎng)頁傳輸過來的數(shù)據(jù),經(jīng)客戶端對象tcpsocket發(fā)送到設(shè)備控制器中,實現(xiàn)Web網(wǎng)頁控制工業(yè)設(shè)備。部分代碼如下:

      以接收Web頁面控制命令為例,通信流程如圖4所示。

      圖4 后臺軟件服務(wù)器模塊

      當(dāng)接收到網(wǎng)頁的socket消息時,Qt后臺軟件執(zhí)行tcpserver信號所綁定的receiveFromWeb函數(shù),進而控制設(shè)備。

      2.1.4 自動連接WiFi模塊

      由于現(xiàn)場工作環(huán)境惡劣,大功率設(shè)備上電瞬間會產(chǎn)生電流干擾和磁場干擾,WiFi模塊可能因此和后臺軟件斷開連接。就以上原因,利用Qt中的信號和槽機制,將tcpsocket的斷開連接信號綁定到連接WiFi模塊函數(shù)上,主要代碼如下:

      在tcpsocket和WiFi模塊斷開瞬間執(zhí)行l(wèi)ink()函數(shù),重新連接WiFi模塊。

      2.2 MySQL數(shù)據(jù)庫

      根據(jù)所要設(shè)計的數(shù)據(jù)表字段名的不同類型來設(shè)計數(shù)據(jù)表,不同數(shù)據(jù)類型所占的字節(jié)和空間是不同的,盡量以高效分配存儲空間的原則來設(shè)計[12]。由工業(yè)控制系統(tǒng)現(xiàn)場工作需求,在數(shù)據(jù)庫中設(shè)計數(shù)據(jù)表,用來存儲設(shè)備數(shù)據(jù)。主要的數(shù)據(jù)表分別為:工藝曲線表(cruve)、溫度設(shè)定表(temset)、壓力設(shè)定表(preset)、開關(guān)表(switch)、控制表(onoff)和數(shù)據(jù)顯示表(display)。

      例如對工藝曲線表(cruve)的創(chuàng)建如下:

      create table cruve(date Time,microsecond Mediu-mint,data Float(M,D));//時間,毫秒數(shù),數(shù)據(jù)其中字段Time表示當(dāng)前時間,字段Mediumint表示存取的毫秒數(shù),字段Float(M,D)表示一共顯示M位整數(shù),D表示小數(shù)點后面的位數(shù)。這樣即保證了精確度,又節(jié)省了存儲空間,減輕服務(wù)器壓力。

      2.3 Web網(wǎng)頁

      2.3.1 安全登錄頁面

      為了保證登錄數(shù)據(jù)信息的安全性,同時為防止用戶在沒有經(jīng)過登錄系統(tǒng)的情況下非法登錄系統(tǒng)而采用session技術(shù)[13]。

      在每個網(wǎng)頁頁面中加入session判斷語句,檢查服務(wù)器保存文件中有沒有客戶端相對應(yīng)的session記錄,若有則通過身份認證,若沒有,則將網(wǎng)頁跳到登錄首頁面,需要客戶端重新登錄。部分代碼如下:

      2.3.2 數(shù)據(jù)采集頁面

      現(xiàn)場數(shù)據(jù)采集頁面采用Ajax技術(shù)實現(xiàn)頁面數(shù)據(jù)的無閃爍更新顯示,執(zhí)行代碼為:

      其中,display()函數(shù)的執(zhí)行過程為:采用Ajax技術(shù)將數(shù)據(jù)命令以POST的形式提交到后臺處理頁面showprocess.php,該頁面從數(shù)據(jù)庫中取出數(shù)據(jù),返回到顯示頁面show.php,實現(xiàn)無刷新顯示。其工作模式如圖5所示。

      圖5 Ajax工作模式

      用戶發(fā)送請求給Ajax引擎,Ajax引擎向服務(wù)器發(fā)送HTTP請求,此時Web服務(wù)器運算操作Ajax引擎發(fā)送過來的請求。由于Ajax的異步操作特性,在此期間客戶端可以對其他邏輯事物進行操作,等到服務(wù)器端運算結(jié)束后,服務(wù)器將數(shù)據(jù)以Json格式響應(yīng)到Ajax引擎,Ajax引擎將響應(yīng)的結(jié)果返回給用戶。

      2.3.3 控制頁面

      控制頁面以下拉列表的方式實現(xiàn)現(xiàn)場設(shè)備的開和關(guān),在html代碼中嵌入onchange事件,當(dāng)下拉列表改變狀態(tài)時觸發(fā)onchange事件,執(zhí)行javascript代碼,將命令傳到Qt后臺軟件,同圖5。

      2.3.4 工藝設(shè)定頁面

      工藝設(shè)定頁面首先讀取設(shè)備控制器原始設(shè)定數(shù)據(jù),將數(shù)據(jù)顯示在表格中。若生產(chǎn)中需要更改參數(shù)設(shè)定,經(jīng)更改按回車后觸發(fā)onchange事件,跳轉(zhuǎn)到后臺process.php執(zhí)行代碼,經(jīng)socket將數(shù)據(jù)傳送到Qt后臺軟件為設(shè)備控制器提供數(shù)據(jù),如圖5所示。

      3 測試及分析

      在網(wǎng)頁短連接方式和Qt長連接方式下操作網(wǎng)頁,程序中分別以1 s、100 ms和10 ms的采樣周期采集時間,對采集時間的連續(xù)性作對比。圖6、圖7和圖8中的縱坐標(biāo)0代表無采集點,1代表有采集點,在不同的采樣周期下,可以表明采集點是否具有連續(xù)性。

      采樣周期為1 s時得出的時間對比如圖6所示,從圖中看出短連接和長連接得到的時間都具有良好的連續(xù)性。

      圖6 采樣周期1s的采集對比圖

      采樣周期為100 ms時得出的時間對比如圖7所示,從圖中看出長連接得到的時間具有連續(xù)性,短連接下丟失了1個時間數(shù)據(jù),并且丟失點后面的時間數(shù)據(jù)有一定的延時。

      圖7 采樣周期100 ms的采集對比圖

      采樣周期為10 ms時得出的時間對比如圖8所示,從圖中看出長連接得到的時間具有連續(xù)性,短連接下丟失了7個時間數(shù)據(jù),丟失點后面的時間數(shù)據(jù)有一定的延時。

      圖8 采樣周期10 ms的采集對比圖

      經(jīng)Comm View測試,本系統(tǒng)服務(wù)器與WiFi模塊連接的平均時間為70 ms。在短連接情況下,從圖7和圖8可以看出,跳轉(zhuǎn)到其他頁面時,需重新連接WiFi通信模塊(即經(jīng)過70 ms)后才能取得數(shù)據(jù),而且取得的數(shù)據(jù)有一定的延時,采樣周期為10 ms時丟失的數(shù)據(jù)多于100 ms下丟失的數(shù)據(jù);在長連接情況下,從圖6、圖7和圖8可以看出,服務(wù)器端的Qt后臺軟件與WiFi模塊處于長時間連接狀態(tài),操作其他頁面時沒有數(shù)據(jù)丟失。從中可以看出,當(dāng)采樣周期遠遠大于WiFi模塊的連接時間時,在相同情況下短連接和長連接得到的數(shù)據(jù)都具有良好的連續(xù)性,采樣周期會忽略WiFi模塊的毫秒級連接時間,不會影響數(shù)據(jù)的采集。

      當(dāng)采樣周期與WiFi模塊連接時間在同一數(shù)量級時,短連接情況下會丟失采集點,并且會隨著采樣周期的減小而丟失更多數(shù)據(jù),而長連接情況下不會丟失采集點。因此Qt長連接方式不會因為采集周期的長短而失去采集點,能使服務(wù)器和工業(yè)設(shè)備建立長連接數(shù)據(jù)收發(fā)功能。

      4 結(jié)束語

      基于Qt和Web的工業(yè)遠程控制系統(tǒng)中的Qt后臺軟件實現(xiàn)了與工業(yè)設(shè)備的頻繁數(shù)據(jù)收發(fā)功能,并與數(shù)據(jù)中轉(zhuǎn)站MySQL數(shù)據(jù)庫協(xié)同操作,為網(wǎng)頁模塊提供數(shù)據(jù)顯示功能,最后通過網(wǎng)頁模塊與Qt后臺軟件通信,實現(xiàn)遠程控制系統(tǒng)人機交互功能。總體來說,該系統(tǒng)解決了基于Web的工業(yè)遠程控制中服務(wù)器與工業(yè)設(shè)備短連接的問題,測試數(shù)據(jù)體現(xiàn)了良好的數(shù)據(jù)連續(xù)性和長連接功能,表明Qt后臺長連接數(shù)據(jù)收發(fā)和Web網(wǎng)頁操作的可行性。

      [1]ZHANG Teng-fei,LI Qin-xiao,MA Fumin.Remote Control System of Smart Appliances based on Wireless Sensor Network[C]∥Control and Decision Conference,2013(25):3704-3709.

      [2]LIU Wen-sheng,YU Guo.The Development of Web Service-Based Remote Control and Monitoring System[C]∥Computational Intelligence and Software Engineer- ing,2009:1-4.

      [3]李 瑾.有線通信與無線通信對比分析[J].信息通信,2014(6):191-191.

      [4]ZHENG Ze-yu,WANG Jian-ping,WANG Jin.A Study of Network Throughput Gain in Optical-Wireless Networks Subject to Peer-to-Peer Communications[C]∥Communi-cations,2009:1-6.

      [5]Turto T.Building Blocks for a Web Programming Language[C]∥Software Engineering and Advanced Applications,2008:310-317.

      [6]馬 捷.基于近場通信的WiFi傳輸連接方案[J].計算機工程,2013(6):1-6.

      [7]王云亮,王光林.基于Socket的Linux與Windows下WiFi模塊間通信的實現(xiàn)[J].微型機與應(yīng)用,2014(2):57-59.

      [8]殷立峰.Qt C++跨平臺圖形界面程序設(shè)計基礎(chǔ)[M].北京:清華大學(xué)出版社,2014.

      [9]Yu Xiao-sheng,Yi Cai.Design and Implementation of the Website based on PHP&MYSQL[C]∥E-Product E-service and E-entertainment,2010:1-4.

      [10]唐四薪.PHP Web程序設(shè)計與Ajax技術(shù)[M].北京:清華大學(xué)出版社,2014.

      [11]倪紅波,周興社,谷建華.基于QT/E的嵌入式圖形支持系統(tǒng)[J].計算機工程,2007(20):256-258.

      [12]趙鶴芹.設(shè)計動態(tài)網(wǎng)站的最佳方案:Apache+PHP+MySQL[J].計算機工程與設(shè)計,2007(4):933-938.

      [13]Li Yue,Zhou Meng,Chen De-hua.Automatically Identify the Website′s Key-cookies for Merging Sessions[C]∥Natural Computation,2013(9):782-786.

      Industrial Remote Control System Based on Qt and Web

      PAN Hao-da1,ZHENG Peng1,ZHENG Liang1,QIN Hui-bin1,QIN Hui-min2
      (1.School of Electronic&Information,Hangzhou Dianzi University,Hangzhou Zhejiang 310018,China;2.Jiashan Funi Electronics Co.,Ltd.,Jiashan Zhejiang 314100,China)

      In order to solve the problem of short connection of wireless transmission in industrial remote control based on Web,an industrial remote control system based on Qt and Web is designed.The system uses the mechanism of signal and slot in Qt and socket communication to make the Qt software and the WiFi module of the main controller establish a long connection of data transmitting and receiving;the system uses Web programming to write the Web page and uses Ajax to achieve the dynamic function without refreshing;It uses MySQL database as the data transfer station for the function of data display and control in Web page.It is indicated by test that the remote control system is in normal operation.It can adapt to the frequent operations of data transfer and maintain long connection communication in wireless transmission,and it allows users to control the industrial site by a browser.

      remote control;Qt backstage;long connection;Web page;MySQL database

      TN108.4

      A

      1003-3114(2015)06-88-4

      10.3969/j.issn.1003-3114.2015.06.23

      潘浩達,鄭 鵬,鄭 梁,等.基于Qt和Web的工業(yè)遠程控制系統(tǒng)[J].無線電通信技術(shù),2015,41(6):88-91,96.

      2015-06-04

      浙江省科技計劃公益性項目(2013C31064)

      潘浩達(1988—),男,碩士研究生,主要研究方向:網(wǎng)絡(luò)通信。秦會斌(1961—),男,教授,主要研究方向:新型電子器件設(shè)計與系統(tǒng)應(yīng)用。

      猜你喜歡
      后臺網(wǎng)頁頁面
      大狗熊在睡覺
      刷新生活的頁面
      基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計
      電子制作(2018年10期)2018-08-04 03:24:38
      后臺暗戀
      基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
      電子制作(2017年2期)2017-05-17 03:54:56
      前臺、后臺精彩花絮停不了
      網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
      電子測試(2015年18期)2016-01-14 01:22:58
      10個必知的網(wǎng)頁設(shè)計術(shù)語
      電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:10:03
      后臺
      中國攝影(2013年6期)2013-04-29 21:58:19
      确山县| 长岛县| 界首市| 大埔区| 遵义市| 九寨沟县| 虞城县| 许昌县| 元阳县| 城市| 长沙县| 万源市| 马尔康县| 宁阳县| 梅州市| 元谋县| 汉中市| 西充县| 上思县| 青州市| 新密市| 湖州市| 栖霞市| 成武县| 右玉县| 黄山市| 台中市| 文昌市| 苏尼特左旗| 临安市| 仙游县| 南陵县| 桑植县| 化州市| 新化县| 汉川市| 三门峡市| 沛县| 四子王旗| 石柱| 峨眉山市|