国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

劉慶武 付美艷 王黎明

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

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

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

一、引言

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

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

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

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

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

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

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

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

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

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

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

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

四、技術(shù)難點

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

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

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

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

五、總結(jié)

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

猜你喜歡
多線程
Java多線程同步機(jī)制在網(wǎng)絡(luò)售票系統(tǒng)中的應(yīng)用
科技資訊(2016年29期)2017-02-28 09:30:34
Java并發(fā)工具包對并發(fā)編程的優(yōu)化
基于多線程文件傳輸關(guān)鍵技術(shù)研究與實現(xiàn)
網(wǎng)頁爬蟲技術(shù)的關(guān)鍵技術(shù)研究探索
一種基于多線程的高速磁盤鏡像算法
iOS并發(fā)程序設(shè)計中幾種方法的特點及使用技巧研究
HTM L5 Web WOrker技術(shù)及應(yīng)用研究
電站鍋爐煤粉參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)的軟件設(shè)計與實現(xiàn)
一種高并發(fā)認(rèn)證服務(wù)器的實現(xiàn)
一種低開銷的并行重復(fù)數(shù)據(jù)刪除算法
乳山市| 红安县| 临西县| 诏安县| 和平县| 莱西市| 繁峙县| 乃东县| 高邮市| 宾川县| 仙居县| 万山特区| 巴彦淖尔市| 白银市| 济源市| 咸宁市| 长宁县| 三都| 阳城县| 政和县| 六安市| 大石桥市| 安阳市| 普宁市| 珠海市| 新乡市| 黄山市| 睢宁县| 右玉县| 大兴区| 乌恰县| 沙坪坝区| 中江县| 福州市| 伊宁市| 仙桃市| 肃北| 宁国市| 临桂县| 修文县| 阳山县|