999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

區(qū)域溫度定時(shí)網(wǎng)站更新系統(tǒng)設(shè)計(jì)

2015-01-04 08:51:16史永哲
電子設(shè)計(jì)工程 2015年12期
關(guān)鍵詞:頁面系統(tǒng)

史永哲

(西安廣播電視大學(xué) 理工部,陜西 西安 710002)

隨著信息技術(shù)的快速發(fā)展,計(jì)算機(jī)的應(yīng)用越來越廣泛。在我國,目前很多單位都擁有了自己的門戶網(wǎng)站,一些網(wǎng)站通常在網(wǎng)站主頁或其它網(wǎng)頁上顯示當(dāng)?shù)貧鉁亍5鄶?shù)網(wǎng)站頁面顯示的氣溫都是對氣象網(wǎng)站或其它網(wǎng)站數(shù)據(jù)的引用,所顯示的溫度并不等于單位所在區(qū)域內(nèi)的實(shí)際溫度,因此實(shí)際參考意義降低。為改進(jìn)這個(gè)問題,本文提供了一種從區(qū)域內(nèi)放置的溫度傳感器直接讀取溫度并自動(dòng)顯示在網(wǎng)站頁面上的方法。采用這種方法,可以實(shí)現(xiàn)計(jì)算機(jī)定時(shí)讀取傳感器傳回的實(shí)時(shí)溫度,寫入到相應(yīng)的文件;網(wǎng)頁從文件中讀取數(shù)據(jù),定時(shí)將溫度更新到頁面上。整個(gè)過程不需要人為管理,達(dá)到了無伺服的效果。

1 系統(tǒng)概述

本系統(tǒng)是一個(gè)無伺服自動(dòng)接收傳感器數(shù)據(jù),并存儲文件,同時(shí)自動(dòng)更新頁面數(shù)據(jù)顯示的計(jì)算機(jī)應(yīng)用系統(tǒng)。本系統(tǒng)由硬件和軟件兩部分構(gòu)成,硬件部分主要由溫度傳感器以及相應(yīng)的接口設(shè)備和接入線路構(gòu)成。軟件部分可分為兩方面,一方面是通過VB6.0高級編程語言實(shí)現(xiàn)將溫度傳感器傳回的溫度實(shí)時(shí)讀取,并將數(shù)據(jù)存儲到文件;另一方面是通過網(wǎng)站上的ajax的異步通信技術(shù),不用刷新網(wǎng)頁,定時(shí)將文件中的數(shù)據(jù)定時(shí)讀出,用來更新網(wǎng)頁上特定元素的數(shù)據(jù)顯示,達(dá)到自動(dòng)定時(shí)更新網(wǎng)頁上數(shù)據(jù)顯示的效果。下面我們來具體介紹。

2 硬件構(gòu)成

圖1 硬件結(jié)構(gòu)圖Fig.1 The hardware structure diagram

系統(tǒng)的硬件結(jié)構(gòu)如圖1所示,其中,計(jì)算機(jī)可以是服務(wù)器,或通過局域網(wǎng)連接起來的別的計(jì)算機(jī)。要求計(jì)算機(jī)上能夠運(yùn)行VB6.0的編程開發(fā)環(huán)境,并具有標(biāo)準(zhǔn)的RS232串口或者RS485接口,通過該接口要實(shí)現(xiàn)的主要功能是數(shù)據(jù)采集處理和系統(tǒng)控制。ADAM4521是接口轉(zhuǎn)換模塊,是一款智能RS-422/485到RS-232轉(zhuǎn)換器,能夠?qū)S485或者RS422信號轉(zhuǎn)換為RS232信號[1]。ADAM4521模塊具有如下特點(diǎn):可尋址,信號傳輸速度為115.2 kbps,內(nèi)置微處理器,不需要中間的握手信號。ADAM4013是熱敏電阻輸入模塊,能夠把熱敏電阻的模擬信號轉(zhuǎn)換為RS485的數(shù)字信號。ADAM4013模塊能利用自身的微處理器控制A/D轉(zhuǎn)換器,把電流、電壓或者熱敏電阻的模擬信號轉(zhuǎn)化為數(shù)字信號。該模塊可提供信號調(diào)整、測量范圍調(diào)整、A/D轉(zhuǎn)換等功能。該模塊的主要特點(diǎn)有:內(nèi)置看門狗、采樣率10次/秒、高壓隔離、誤差小于0.05%。這些參數(shù)基本能滿足絕大多數(shù)場合的應(yīng)用。溫度傳感器可選用鉑電阻Pt100,來測量-100℃到+100℃的溫度[2]。在使用時(shí),可以將ADAM4013模塊的測量溫度系數(shù)a設(shè)為0.003 85。我們可以根據(jù)測量范圍和測量精度的不同要求選擇不同的溫度傳感器。

3 軟件實(shí)現(xiàn)

本系統(tǒng)的軟件實(shí)現(xiàn)分為兩部分,一部分是用VB6.0對硬件模塊的溫度采集功能進(jìn)行編程,實(shí)現(xiàn)定時(shí)采集數(shù)據(jù),并將采集到的數(shù)據(jù)存儲到數(shù)據(jù)文件中。另一部分利用Ajax技術(shù),通過異步通信功能來定時(shí)在后臺讀取文件中數(shù)據(jù),并顯示在指定的頁面位置,達(dá)到頁面數(shù)據(jù)自動(dòng)更新的效果。

3.1 溫度數(shù)據(jù)采集功能的程序設(shè)計(jì)

系統(tǒng)軟件主要采用VB6.0對RS232的串口編程,實(shí)現(xiàn)各硬件之間的通訊。軟件框圖流程如圖2所示。

圖2 程序流程圖Fig.2 Program flow chart

VB6.0對RS232的串口編程主要通過它的MSComm控件來實(shí)現(xiàn)。MSComm的英文全稱是Microsoft Communications Control,是微軟公司提供的簡化Windows下串行通信編程的ActiveX控件,它為應(yīng)用程序提供了串行接口收發(fā)數(shù)據(jù)的簡便方法,可為我們編寫的應(yīng)用程序提供串行通訊功能。MSComm控件提供了兩種處理通訊的方式:事件驅(qū)動(dòng)方式及查詢方式。我們可以利用MSComm控件的OnComm事件來捕獲并處理這些通訊事件。當(dāng)MSComm對象的CommEvent屬性的值發(fā)生變化時(shí),就會(huì)產(chǎn)生一個(gè)OnComm事件,即表示發(fā)生了一個(gè)通訊事件,或者產(chǎn)生了一個(gè)錯(cuò)誤。每個(gè)被使用的MSComm控件都對應(yīng)著一個(gè)串行端口,程序如果需要訪問多個(gè)串行端口,就必須要使用多個(gè)MSComm控件[3]。

MSComm控件的主要屬性有:CommPort:設(shè)置并返回端口號;Settings:以字符串形式設(shè)置并返回波特率、數(shù)據(jù)位、奇偶校驗(yàn)、停止位;PortOpen:設(shè)置或者返回通訊端口的狀態(tài),也可用來打開和關(guān)閉一個(gè)端口;Input:從接收緩沖區(qū)中返回和刪除字符;Output:給緩沖區(qū)內(nèi)寫入一個(gè)字符串。ADAM模塊是通過使用一定的約定字符來實(shí)現(xiàn)相應(yīng)的操作,經(jīng)常會(huì)用到的有:"%0101210600":設(shè)置端口;"#01":讀串口 1的數(shù)據(jù);"#02":讀串口 2 的數(shù)據(jù);"$010":模塊自動(dòng)校準(zhǔn);"$011":偏移量校準(zhǔn);"$012":讀端口信息;"$01M":讀模塊名稱。本軟件中用到的核心VB程序代碼有:

Const Cmdconfig="%0101210600"‘設(shè)置端口命令字符

Const CmddataIn1="#01"‘讀串口1的數(shù)據(jù)命令字符

Const CmddataIn2="#02"‘讀串口2的數(shù)據(jù)命令字符

Const CmdspanCalibration="$010"‘‘校準(zhǔn)命令字符

Const CmdoffsetCalibration="$011"‘偏移量校準(zhǔn)命令字符

Const CmdconfigStatus="$012"‘讀端口信息的命令字符

Const CmdmoduleName="$01M"‘讀模塊名的命令字符

Private Sub MSComm1_OnComm()‘CommEvent值變化時(shí)運(yùn)行的事件子程序

Select Case MSComm1.CommEvent‘判斷MSComm1通訊事件的類型

Case ComEvReceive‘如果收到Rthreshold個(gè)字節(jié)產(chǎn)生的接收事件

MSComm1.Rthreshold=0‘關(guān)閉對OnComm事件的接收

Timedelay 500‘延時(shí) 500ms

temperatureStr1=Right(MSComm1.Input, 7)‘讀取 BCD 碼的高位字節(jié)

temperature=Val(temperatureStr1)‘得到溫度的數(shù)值

Open “wendu.txt” for random as#1 len=len(temperature)‘給wendu.txt中寫入數(shù)據(jù)。

Put#1,1,temperature‘將采集到的溫度數(shù)據(jù)寫入wendu.txt的第一行。

Close#1‘關(guān)閉文件

MSComm1.Output=CStr(CmddataIn) &vbCr‘發(fā)送讀數(shù)據(jù)命令

MSComm1.InBufferCount=0‘清空緩存

MSComm1.Rthreshold=1‘關(guān)閉OnComm的事件接收

Case Else

End Select

End Sub

上述程序代碼得到的temperature變量即是待測介質(zhì)的實(shí)際溫度。我們通過VB的定時(shí)器(可以每10分鐘)以覆蓋方式將其值定時(shí)保存到wendu.txt文件的第一行 (定時(shí)器代碼略)。下面我們來通過ajax的異步通信功能實(shí)現(xiàn)網(wǎng)頁定時(shí)讀取wendu.txt中的溫度數(shù)據(jù)。

3.2 通過ajax實(shí)現(xiàn)頁面數(shù)據(jù)的異步更新

Ajax的英文全稱是 Asynchronous JavaScript And XML,意思即是異步的JavaScript和XML,是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁的技術(shù)[4]。Ajax在后臺通過與服務(wù)器進(jìn)行少量的數(shù)據(jù)交換,可以實(shí)現(xiàn)網(wǎng)頁的異步更新,這意味著它可以在不重新加載整個(gè)頁面的情況下,對網(wǎng)頁的某個(gè)部分進(jìn)行更新。該方法可以讓W(xué)eb頁面不用打斷交互流程以及重新加裁,就可以進(jìn)行動(dòng)態(tài)地更新。在Ajax中的應(yīng)用中,起關(guān)鍵作用的是XmlHttpRequest對象。XMLHttpRequest對象在大部分瀏覽器上已經(jīng)實(shí)現(xiàn)且擁有一個(gè)簡單的接口,允許數(shù)據(jù)從客戶端傳遞到服務(wù)器端,但不會(huì)打斷用戶當(dāng)前的操作。從名稱上看,XMLHttpRequest傳遞的數(shù)據(jù)格式是XML格式的數(shù)據(jù),但實(shí)際上,使用XMLHttpRequest可以傳送任何格式的數(shù)據(jù)[5]。本系統(tǒng)的頁面和數(shù)據(jù)文件之間的訪問關(guān)系如圖3所示,Index.htm通過使用XMLHttpRequest對象訪問Read.asp,達(dá)到對Wendu.txt文件中數(shù)據(jù)的訪問。

在Index.htm頁面中我們設(shè)計(jì)的核心代碼如下:

<script language="javascript">

var myrequest=false;//給myrequest對象賦初值為false

try{//嘗試在不同的瀏覽器版本建立XmlHttpRequest對象

myrequest=new XMLHttpRequest (); //嘗 試 創(chuàng) 建XMLHttpRequest對象

}catch (trymicrosoft) {//如果失敗

try{

myrequest=new ActiveXObject("Msxml2.XMLHTTP"); //

圖3 文件訪問結(jié)構(gòu)圖Fig.3 File access structure

嘗試建立較新版本的兼容對象

}catch (othermicrosoft) {//如果還失敗

try{

myrequest=new ActiveXObject("Microsoft.XMLHTTP");

//嘗試建立較老版本的兼容對象。

}catch (failed) {//如果還失敗

myrequest=false; //給myrequest變量賦值為 false

}

}

}

function getCustomerInfo(){//建立定時(shí)自動(dòng)運(yùn)行的函數(shù)getCustomerInfo()

myrequest.open ("GET",”Read.asp”, true); //定時(shí)訪問Read.asp動(dòng)態(tài)網(wǎng)頁

myrequest.onreadystatechange=updatePage (); //獲取當(dāng)前HTML的就緒狀態(tài)

myrequest.send (null); //發(fā)送請求,null表示不發(fā)送額外數(shù)據(jù)

window.setTimeout ("getCustomerInfo ()",600000); //每10分鐘執(zhí)行一次本函數(shù)

}

function updatePage(){//判斷網(wǎng)頁的就緒狀態(tài)函數(shù)

if(myrequest.readyState==4) {//如果服務(wù)器完成發(fā)送響應(yīng)

if(myrequest.status==200) //如果處理的狀態(tài)是正常的

document.getElementById ("wd").value =myrequest.responseText;//在頁面顯示傳回的數(shù)據(jù)

}

}

在Read.asp頁面中我們設(shè)計(jì)的核心代碼如下:

<%

Set Fs=Server.CreateObject("Scripting.FileSystemObject")//建立文件系統(tǒng)對象

Set Rs=FS.OpenTextFile(Server.MapPath("wendu.txt"), 1,F(xiàn)alse)//以只讀模式打開文件

response.write(Rs.ReadLine)//讀取第一行的內(nèi)容,并將內(nèi)容寫到返回結(jié)果中

Rs.Close//關(guān)閉 wendu.txt

Set Rs=Nothing

Set Fs=Nothing

%>

在上述文件中,Index.htm是顯示并更新數(shù)據(jù)的頁面;Read.asp是數(shù)據(jù)處理頁面,即讀取wendu.txt中的數(shù)據(jù)并返回。函數(shù)getCustomerInfo()的功能是每10分鐘執(zhí)行一次自身包含的代碼,這些代碼主要包括定時(shí)訪問Read.asp頁面并返回?cái)?shù)據(jù),根據(jù)判斷Read.asp頁面是否就緒等。Update()函數(shù)的作用是判斷Read.asp網(wǎng)頁的就緒狀態(tài),在狀態(tài)就緒的情況下,才能執(zhí)行發(fā)送訪問請求,并用返回的數(shù)據(jù)來更新網(wǎng)頁中元素的屬性值[6]。通過這些代碼,可以定時(shí)將wendu.txt文件中第一行數(shù)據(jù)[7]定時(shí)讀取到index.htm中,并顯示在index.htm中ID為“wd”的標(biāo)簽上[8]。這樣,就實(shí)現(xiàn)了從文件數(shù)據(jù)到頁面數(shù)據(jù)的自動(dòng)定時(shí)更新。

4 結(jié) 論

本系統(tǒng)所需設(shè)備簡單,硬件的連接較為方便,易于實(shí)現(xiàn)。系統(tǒng)只占用了PC機(jī)的一個(gè)串口,占用資源較少。不需要數(shù)據(jù)采集卡以及硬件的驅(qū)動(dòng)程序,可使用VB程序設(shè)計(jì)語言中的串口控件對象來自己編寫數(shù)據(jù)采集程序,靈活性比較大。本系統(tǒng)的功能比較實(shí)用,不但可以在網(wǎng)站上應(yīng)用,亦可推廣至家庭電腦上使用。本系統(tǒng)涵蓋了計(jì)算機(jī)硬件和軟件兩方面的技術(shù)應(yīng)用[9],涉及到了設(shè)備連接、接口編程、網(wǎng)頁設(shè)計(jì)等,系統(tǒng)運(yùn)行結(jié)果可靠。讀者如果能親身實(shí)踐,必能品嘗到自己動(dòng)手設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)的樂趣,激發(fā)出學(xué)習(xí)和研究計(jì)算機(jī)應(yīng)用功能的興趣和動(dòng)力。

[1]蘭羽,白潔.基于pt100傳感器的溫度測量系統(tǒng)設(shè)計(jì)[J].機(jī)械與電子,2013(10):121-124.LAN Yu,BAI Jie.Design of temperature measurement system base on Pt100 sensor[J].Machinery&Electronics,2013(10):121-124.

[2]張修太,胡雪惠.基于PT100的高精度溫度采集系統(tǒng)設(shè)計(jì)與實(shí)驗(yàn)研究[J].傳感技術(shù)學(xué)報(bào)2013(6):93-97.ZHANG Xiu-tai,HU Xue-hui.The design and experimental study of high precise temperature acquisition system base on pt100[J].Chinese Journal of Sensors and Actuators,2013(6):93-97.

[3]李小亭,張琛.基于PLC的小型高精度多相流實(shí)驗(yàn)裝置測控系統(tǒng)設(shè)計(jì)[J].電子測量與儀器學(xué)報(bào),2014(6):70-74.LI Xiao-ting,ZHANG Chen.Design of measurement and control system of experimental apparatus for PLC-based small high-precision multiphase flow[J].Journal of Electronic Measurement and Instrument,2014(6):70-74.

[4]高鵬,徐小力.基于Ajax的四層架構(gòu)遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014(2):196-198.GAO Peng,XU Xiao-li.Design of four layer architecture remote monitoring system base on ajax[J].Computer Engineering and Design,2014(6):196-198.

[5]熊文,孫旭.Ajax技術(shù)在Web2.0網(wǎng)站設(shè)計(jì)中的應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012(3):142-145.XIONG Wen,SUM Xu.The application of ajax technology in web site design[J].Computer Technology and Development,2012(3):142-145.

[6]曹永鴻.基于.Web的學(xué)校網(wǎng)絡(luò)中心空調(diào)遠(yuǎn)程監(jiān)控[J].電腦編程技巧與維護(hù),2014(15):61-64.CAO Yong-hong.The school network center air-conditioning remote monitoring Based on web[J].Computer Program Skills and Maintenance,2014(15):61-64.

[7]王文龍,張少博,陳海峰.一種試驗(yàn)數(shù)據(jù)處理軟件設(shè)計(jì)[J].火箭推進(jìn) ,2012(1):76-80.WANG Wen-long,ZHANG Shao-bo,CHEN Hai-feng.Design of a test data processing software[J].Journal of Rocket Propulsion,2012(1):76-80.

[8]董冬,張少博,劉曉.試驗(yàn)狀態(tài)信息管理軟件設(shè)計(jì)[J].火箭推進(jìn),2013(6):72-77.DONG Dong,ZHANG Shao-bo,LIU Xiao.Design of information management software for test status[J].Journal of Rocket Propulsion,2013(6):72-77.

[9]許仁安,黃作兵,吳大珩.一種IRIG-B碼對時(shí)系統(tǒng)方案軟硬件設(shè)計(jì)的研究[J].陜西電力,2014(7):91-93.XU Ren-an,HUANG Zuo-bing,WU Da-heng.Study on software and hardware design scheme of IRIG-B code time synchronous system[J].Shaanxi Electric Power,2014(7):91-93.

猜你喜歡
頁面系統(tǒng)
微信群聊總是找不到,打開這個(gè)開關(guān)就好了
大狗熊在睡覺
Smartflower POP 一體式光伏系統(tǒng)
刷新生活的頁面
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 91美女视频在线| 久久人搡人人玩人妻精品| 成人在线亚洲| 国产毛片不卡| 欧洲在线免费视频| 国内精品伊人久久久久7777人| 国产精品久久久久无码网站| 亚洲国语自产一区第二页| 四虎永久免费在线| 亚洲系列无码专区偷窥无码| 欧美在线视频不卡| 国产激情无码一区二区三区免费| 久久精品人人做人人爽电影蜜月| 天天躁夜夜躁狠狠躁图片| 国产在线高清一级毛片| 色婷婷在线影院| 欧美三级不卡在线观看视频| 手机看片1024久久精品你懂的| 99re在线视频观看| a级毛片一区二区免费视频| 综合色88| 第九色区aⅴ天堂久久香| 成人字幕网视频在线观看| 老司机久久99久久精品播放 | 亚洲欧美在线综合一区二区三区| 尤物精品视频一区二区三区| 欧美97色| 中文成人在线视频| 久久男人视频| 在线国产你懂的| 亚洲欧洲日本在线| 精品国产成人a在线观看| 免费高清a毛片| 在线观看国产小视频| 成年A级毛片| 国产麻豆精品手机在线观看| 久久亚洲中文字幕精品一区 | 免费一级成人毛片| 色综合五月婷婷| 久久美女精品| 久久无码av一区二区三区| 午夜在线不卡| 国产精品久久久久久久久kt| 久久久久久高潮白浆| 欧洲亚洲一区| 免费看a毛片| 色婷婷色丁香| 免费一级无码在线网站 | 五月六月伊人狠狠丁香网| 亚洲香蕉在线| 五月天婷婷网亚洲综合在线| 日本免费精品| 免费观看无遮挡www的小视频| 亚洲人成网站色7777| 丝袜高跟美脚国产1区| 欧美人与性动交a欧美精品| 99精品国产电影| 精品福利视频导航| 亚洲午夜天堂| 伊人丁香五月天久久综合| 国产精品部在线观看| 亚洲综合狠狠| 久久久精品无码一区二区三区| 美女被狂躁www在线观看| 欧美日韩综合网| a毛片在线| 日韩精品久久久久久久电影蜜臀| 亚洲精品久综合蜜| 亚洲综合色吧| 精品国产91爱| 国产精品偷伦在线观看| 久久视精品| a毛片在线免费观看| 亚洲精品福利网站| 国产精品女主播| 久久黄色小视频| 国产情精品嫩草影院88av| 国产高清不卡| 国产麻豆精品久久一二三| 波多野吉衣一区二区三区av| 国产美女精品在线| 久久久久国产精品免费免费不卡|