• 
    

    
    

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

      圖書館在館人數(shù)顯示部分軟件設(shè)計(jì)與實(shí)現(xiàn)

      2009-09-29 08:58:18劉慶武付美艷王黎明
      新媒體研究 2009年14期
      關(guān)鍵詞:多線程

      劉慶武 付美艷 王黎明

      [摘要]圖書館在館人數(shù)檢測(cè)與顯示系統(tǒng)為圖書館管理員實(shí)時(shí)掌握?qǐng)D書館的在館人數(shù)提供了有力地支持。它主要有信號(hào)檢測(cè)與信息顯示兩大模塊組成。從系統(tǒng)結(jié)構(gòu)、人機(jī)界面、技術(shù)難點(diǎn)及性能改善四個(gè)方面介紹其顯示部分軟件部分的設(shè)計(jì)與實(shí)現(xiàn)。

      [關(guān)鍵詞]PLC通訊 系統(tǒng)服務(wù) 進(jìn)程通訊 LED控件 多線程

      中圖分類號(hào):TP3 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2009)0720058-01

      一、引言

      圖書館人數(shù)檢測(cè)與顯示系統(tǒng)主要由信號(hào)檢測(cè)、信息顯示兩大模塊組成。信號(hào)檢測(cè)模塊主要由光電傳感器檢測(cè)信號(hào)并傳輸給PLC,PLC完成進(jìn)出人數(shù)的計(jì)數(shù),并通過RS232接口傳輸給計(jì)算機(jī);顯示模塊主要由計(jì)算機(jī)讀取PLC的進(jìn)出人數(shù),并使用7段數(shù)碼管控件在計(jì)算機(jī)屏幕上輸出顯示。本文從系統(tǒng)結(jié)構(gòu)、人機(jī)界面的設(shè)計(jì)、技術(shù)難點(diǎn)及性能改善四個(gè)方面總結(jié)系統(tǒng)顯示部分軟件的設(shè)計(jì)與實(shí)現(xiàn)。

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

      顯示部分主要功能包括:保持與PLC的通訊并讀取PLC中的進(jìn)出人數(shù)、計(jì)算當(dāng)前在館人數(shù)、顯示在館人數(shù)三部分功能。由于計(jì)算當(dāng)前在館人數(shù)操作較為簡(jiǎn)單,軟件部分采用兩層體系結(jié)構(gòu):通信層和顯示層。

      通訊層采用Windows系統(tǒng)服務(wù)的實(shí)現(xiàn)方式,通訊服務(wù)開機(jī)自啟動(dòng),無需用戶干預(yù),保持與PLC的實(shí)時(shí)通訊。通過發(fā)送命令字的方式取得進(jìn)出人數(shù),分別將進(jìn)出人數(shù)寫入共享內(nèi)存,如此往復(fù),直到服務(wù)程序終止運(yùn)行為止。

      顯示層采用窗口程序方式,它主要功能是計(jì)算在館人數(shù),并使用自主開發(fā)的七段數(shù)碼管控件在屏幕上顯示輸出,同時(shí)包含了對(duì)通訊服務(wù)程序的啟動(dòng)和關(guān)閉功能。程序執(zhí)行流程如下如所示:

      采用兩層的系統(tǒng)結(jié)構(gòu),一方面可以降低層次之間的耦合便于系統(tǒng)的維護(hù)和升級(jí);另一方面有利于分工合作,從而提高開發(fā)效率。

      三、人機(jī)界面及性能改善

      應(yīng)用程序能否得到用戶的滿意,操作方便、界面友好的人機(jī)界面是一個(gè)不容忽視的重要因素。本系統(tǒng)主要采用系統(tǒng)托盤、右鍵菜單以及自主開發(fā)七段數(shù)碼管的方式,盡可能減少用戶的操作的步驟,方便用戶的日常使用。

      1.托盤程序。越來越多的程序都做成托盤程序,這類程序具有不占屏幕,后臺(tái)運(yùn)行,便于控制等優(yōu)點(diǎn)。當(dāng)顯示窗口程序關(guān)閉時(shí),程序以圖標(biāo)的方式放到系統(tǒng)托盤中,并未真正關(guān)閉。這樣用戶將不用每次打開程序都要尋找程序的位置,而且也避免不小心將程序關(guān)閉。

      2.右鍵菜單。使用.NET提供的ServiceController類,實(shí)現(xiàn)對(duì)通訊服務(wù)程序的啟動(dòng)、關(guān)閉等控制功能,并以右鍵菜單的方式集成到顯示程序的窗口中。

      3.LED顯示。七段數(shù)碼管在工業(yè)控制中有著十分廣泛的應(yīng)用,具有顯示醒目、直觀等優(yōu)點(diǎn)。使用自主開發(fā)LED控件不僅會(huì)解決系統(tǒng)的移植性問題,而且也為系統(tǒng)以后的維護(hù)變更帶來了方便。

      4.多線程。為提高系統(tǒng)的實(shí)時(shí)性,減少系統(tǒng)資源的浪費(fèi),可將SerialPort的類的對(duì)象添加到了一個(gè)線程中,服務(wù)啟動(dòng)時(shí)開啟這個(gè)線程,這樣不影響主線程的運(yùn)轉(zhuǎn)。在顯示程序中,顯示控件的頻繁刷新也有可能影響顯示效果,所以將其也寫到一個(gè)線程中,以防止影響顯示窗口出現(xiàn)瞬間刷新速度跟不上而出現(xiàn)拖影的現(xiàn)象。

      四、技術(shù)難點(diǎn)

      系統(tǒng)的開發(fā)環(huán)境為.NET Framework,使用的開發(fā)語(yǔ)言是C#程序設(shè)計(jì)語(yǔ)言,開發(fā)工具為Microsoft Visual Studio2005。在程序?qū)崿F(xiàn)過程中系統(tǒng)主要的技術(shù)難點(diǎn)有:一是在通訊服務(wù)程序中實(shí)現(xiàn)上位機(jī)與PLC的通信;二是通訊服務(wù)程序與顯示程序通過共享內(nèi)存的方式實(shí)現(xiàn)進(jìn)程間的通信。

      1.通訊服務(wù)程序。PLC與計(jì)算機(jī)以“幀”為單位進(jìn)行通信。計(jì)算機(jī)通過RS232串行通訊端口向PLC發(fā)命令幀,PLC收到后解析命令,若是請(qǐng)求進(jìn)人數(shù)命令,則將進(jìn)人數(shù)包裝成響應(yīng)幀通過端口再返回給計(jì)算機(jī),若是請(qǐng)求出人數(shù)命令,則將出人數(shù)包裝成響應(yīng)幀返回給計(jì)算機(jī)。計(jì)算機(jī)在接到響應(yīng)幀后,從中提取出人數(shù)。

      2.進(jìn)程通訊。在Windows中提供了多種使應(yīng)用程序能夠迅速而方便地共享數(shù)據(jù)和信息的機(jī)制,包括窗口消息、郵箱、管道和共享內(nèi)存等等。在本系統(tǒng)中主要使用共享內(nèi)存的方式實(shí)現(xiàn)進(jìn)程通信。

      內(nèi)存由操作系統(tǒng)管理,操作系統(tǒng)已將其以動(dòng)態(tài)鏈接庫(kù)的方式給用戶程序調(diào)用。具體實(shí)現(xiàn)中主要用到方法CreateFileMapping,MapViewOfFile,OpenFileMapping等,它們的具體用法請(qǐng)參照MSDN。

      五、總結(jié)

      通過實(shí)際的測(cè)試運(yùn)行良好,方便了工作人員實(shí)時(shí)掌握?qǐng)D書館在館人數(shù)。但是系統(tǒng)仍有一些不足之處,比如:在進(jìn)出頻繁的時(shí)候,加載背景圖片后占用CPU資源較多,這有待進(jìn)一步完善。該系統(tǒng)完全可以運(yùn)用在其他需要人數(shù)檢測(cè)的場(chǎng)所,如超市、醫(yī)院等。如對(duì)信號(hào)檢測(cè)端進(jìn)行改造的話,可用于對(duì)汽車等物體的檢測(cè)。

      猜你喜歡
      多線程
      Java多線程同步機(jī)制在網(wǎng)絡(luò)售票系統(tǒng)中的應(yīng)用
      科技資訊(2016年29期)2017-02-28 09:30:34
      Java并發(fā)工具包對(duì)并發(fā)編程的優(yōu)化
      基于多線程文件傳輸關(guān)鍵技術(shù)研究與實(shí)現(xiàn)
      網(wǎng)頁(yè)爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
      一種基于多線程的高速磁盤鏡像算法
      iOS并發(fā)程序設(shè)計(jì)中幾種方法的特點(diǎn)及使用技巧研究
      HTM L5 Web WOrker技術(shù)及應(yīng)用研究
      電站鍋爐煤粉參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計(jì)與實(shí)現(xiàn)
      一種高并發(fā)認(rèn)證服務(wù)器的實(shí)現(xiàn)
      一種低開銷的并行重復(fù)數(shù)據(jù)刪除算法
      泗洪县| 民勤县| 凤冈县| 梅州市| 关岭| 秀山| 深圳市| 景德镇市| 上饶市| 沙坪坝区| 西乌珠穆沁旗| 平顺县| 张家界市| 土默特右旗| 福清市| 湖北省| 龙岩市| 南投市| 天长市| 莱州市| 华坪县| 昌江| 泾阳县| 儋州市| 韶山市| 陕西省| 双城市| 西城区| 元江| 江安县| 巴东县| 普兰县| 绥化市| 丹寨县| 巴南区| 砀山县| 喜德县| 永定县| 永清县| 荣昌县| 宣武区|