freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

視頻會(huì)議系統(tǒng)h323與sip互通網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-06-28 16:51本頁(yè)面
  

【正文】 界面,為了節(jié)約系統(tǒng)資源,在其它界面上的線程只有在該界面打開時(shí)才會(huì)啟動(dòng)線程,切換到別的界面時(shí),線程自動(dòng)停止。例如在儀表盤界面,使用了一個(gè)Timer來(lái)刷新儀表盤的值和報(bào)警燈的顏色,但在別的界面這個(gè)Timer是停止?fàn)顟B(tài),到了儀表盤界面才會(huì)被啟動(dòng),從而節(jié)約系統(tǒng)資源,防止界面出現(xiàn)卡頓現(xiàn)象。而在報(bào)警列表界面則采用了事件機(jī)制,在報(bào)警列表內(nèi)部定義了報(bào)警插入和報(bào)警刪除兩個(gè)事件。當(dāng)出現(xiàn)一條報(bào)警信息時(shí),自動(dòng)調(diào)用函數(shù)將報(bào)警信息插入報(bào)警列表最上端,而當(dāng)某一條報(bào)警信息被確認(rèn)后,則自動(dòng)將其從報(bào)警列表中刪除。使用事件處理就可以節(jié)約資源,避免開啟一條線程來(lái)時(shí)刻監(jiān)聽(tīng)。因?yàn)檫@兩個(gè)事件只是在報(bào)警列表界面進(jìn)行了注冊(cè),因此只有當(dāng)報(bào)警列表界面開啟時(shí)才會(huì)處理。 系統(tǒng)的具體實(shí)現(xiàn)監(jiān)控報(bào)警系統(tǒng)基于Windows平臺(tái),使用C進(jìn)行開發(fā),它的具體實(shí)現(xiàn)基于監(jiān)測(cè)點(diǎn)研究和數(shù)據(jù)的傳輸解析,本節(jié)將詳細(xì)描述。 監(jiān)測(cè)點(diǎn)研究監(jiān)測(cè)系統(tǒng)最大的難點(diǎn)是對(duì)被監(jiān)測(cè)對(duì)象的數(shù)量、種類、門限參數(shù)、該監(jiān)測(cè)點(diǎn)的功能等系列知識(shí)的了解,為此筆者進(jìn)行了大量的調(diào)研和學(xué)習(xí)。監(jiān)測(cè)點(diǎn)明細(xì)表是進(jìn)行機(jī)艙測(cè)報(bào)警系統(tǒng)設(shè)計(jì)的基礎(chǔ),必須保證絕對(duì)準(zhǔn)確和全面。機(jī)艙內(nèi)需要采集的設(shè)備主要有主機(jī)系統(tǒng)、電站系統(tǒng)、輔機(jī)系統(tǒng)、舵機(jī)系統(tǒng)等。主機(jī)系統(tǒng)需要監(jiān)測(cè)的點(diǎn)主要包括柴油機(jī)滑油壓力、滑油溫度、燃油壓力、燃油溫度、轉(zhuǎn)速、冷卻水溫度、曲軸箱壓力和溫度、排氣溫度等;電站系統(tǒng)需要采集的參數(shù)主要包括柴油發(fā)電機(jī)油溫、冷卻水溫度、滑油壓力、轉(zhuǎn)速等,24V電源故障、220V絕緣低等;輔機(jī)系統(tǒng)需要采集的參數(shù)主要包括淡水裝置故障、冷藏機(jī)組故障、空調(diào)故障、焚燒爐故障等;舵機(jī)系統(tǒng)需要采集的參數(shù)主要包括舵機(jī)泵失電、過(guò)載、泵油溫、泵濾器堵塞等。機(jī)艙內(nèi)各種設(shè)備待監(jiān)測(cè)點(diǎn)數(shù)量多、種類不一,在監(jiān)測(cè)報(bào)警系統(tǒng)設(shè)計(jì)時(shí)需要統(tǒng)計(jì)各監(jiān)測(cè)點(diǎn)的信息,如名稱、是否需要延伸報(bào)警、是否需要在燈板上指示、是否需要打印、信號(hào)來(lái)源、信號(hào)種類等信息,根據(jù)這些信息制定詳細(xì)的系統(tǒng)監(jiān)測(cè)表。根據(jù)得到的監(jiān)測(cè)點(diǎn)的信息,軟件系統(tǒng)采用xml的形式保存所有監(jiān)測(cè)點(diǎn)的信息。根據(jù)監(jiān)測(cè)點(diǎn)的采集位置等信息將其分類存儲(chǔ)。 監(jiān)測(cè)點(diǎn)在xml中的存儲(chǔ)方式,監(jiān)測(cè)點(diǎn)信息的存儲(chǔ)分為三級(jí)結(jié)構(gòu),第一級(jí)主域?yàn)楸O(jiān)測(cè)點(diǎn)的分組,第二級(jí)子域用于保留擴(kuò)展,第三級(jí)即為具體的節(jié)點(diǎn)。三級(jí)結(jié)構(gòu)呈樹狀分叉,如圖中這個(gè)監(jiān)測(cè)點(diǎn)為駕駛臺(tái)控制狀態(tài),它的主域?yàn)橹鳈C(jī)控制系統(tǒng),項(xiàng)目1為監(jiān)測(cè)點(diǎn)的子域。在xml文件中保存了監(jiān)測(cè)點(diǎn)的所有信息,包括所有主域子域和節(jié)點(diǎn)的中英文名稱(用于系統(tǒng)中的中英文切換功能),監(jiān)測(cè)點(diǎn)的報(bào)警狀態(tài)(用于控制檢測(cè)監(jiān)測(cè)點(diǎn)是否報(bào)警),監(jiān)測(cè)點(diǎn)具體數(shù)值的單位,監(jiān)測(cè)點(diǎn)是否閉鎖,監(jiān)測(cè)點(diǎn)的類型(開關(guān)量還是模擬量),監(jiān)測(cè)點(diǎn)模塊的類型號(hào)、地址號(hào)和端口號(hào)(這3個(gè)數(shù)字可以唯一確定一個(gè)監(jiān)測(cè)點(diǎn)),監(jiān)測(cè)點(diǎn)的最大最小值和報(bào)警值,監(jiān)測(cè)點(diǎn)的圖形域(用于控制儀表圖和柱狀圖的監(jiān)測(cè)點(diǎn)分組)以及是否支持故障報(bào)警。在初始化監(jiān)測(cè)點(diǎn)時(shí),監(jiān)控報(bào)警系統(tǒng)首先會(huì)讀取所有配置好的xml文件,在系統(tǒng)中建立一個(gè)主域的列表和數(shù)據(jù)結(jié)構(gòu),將每一個(gè)xml文件作為一條信息插入列表。主域的數(shù)據(jù)結(jié)構(gòu)比較簡(jiǎn)單,包括主域的中英文名,用于保存主域的xml文件名,主域中報(bào)警的數(shù)量以及報(bào)警確認(rèn)的數(shù)據(jù)。在主域中還建立了一個(gè)子域的列表,用于保存主域中所有的子域,監(jiān)控報(bào)警系統(tǒng)中子域主要作為保留結(jié)構(gòu)擴(kuò)展所用,在當(dāng)前系統(tǒng)中以項(xiàng)目1出現(xiàn)。因此其數(shù)據(jù)結(jié)構(gòu)和主域基本相同,包括中英文名和報(bào)警數(shù)量。子域中也建立了一個(gè)監(jiān)測(cè)點(diǎn)的列表,用于插入子域中的每個(gè)監(jiān)測(cè)點(diǎn)的信息。監(jiān)測(cè)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)包括中英文名稱,監(jiān)測(cè)點(diǎn)的報(bào)警狀態(tài),監(jiān)測(cè)點(diǎn)的單位,是否閉鎖,監(jiān)測(cè)點(diǎn)類型,監(jiān)測(cè)模塊的類型號(hào)、地址號(hào)和端口號(hào),監(jiān)測(cè)點(diǎn)的最大最小值,報(bào)警值,圖形域以及是否支持故障報(bào)警。所有監(jiān)測(cè)點(diǎn)的管理在本系統(tǒng)中使用類MonitorManager來(lái)進(jìn)行管理。主要操作包括監(jiān)測(cè)點(diǎn)的數(shù)據(jù)和狀態(tài)更新,底層數(shù)據(jù)解析,監(jiān)測(cè)點(diǎn)報(bào)警和確認(rèn)的事件處理,對(duì)xml文件的增刪改查,監(jiān)測(cè)點(diǎn)信息的增刪改查,閉鎖,對(duì)子域和主域的增刪改查,報(bào)警信息和報(bào)警確認(rèn)數(shù)量的統(tǒng)計(jì)等。 幀的傳輸、接收和解析系統(tǒng)啟動(dòng)時(shí)打開CAN,并進(jìn)行波特率等方面的初始化配置工作,然后開啟接收數(shù)據(jù)幀的線程。因?yàn)槭褂秒pCAN備份的關(guān)系,底層傳輸一幀數(shù)據(jù),在系統(tǒng)上會(huì)出現(xiàn)兩幀數(shù)據(jù)。因此,接收到一幀數(shù)據(jù)后,使用過(guò)濾器進(jìn)行過(guò)濾,若是過(guò)濾器發(fā)現(xiàn)這一幀已經(jīng)被處理過(guò),則不再存儲(chǔ)。新數(shù)據(jù)存儲(chǔ)在DataMsg的數(shù)據(jù)結(jié)構(gòu)中,DataMsg的數(shù)據(jù)結(jié)構(gòu)不僅包含了一幀數(shù)據(jù)的所有信息單元,還包含了一個(gè)標(biāo)識(shí),用于標(biāo)記這一幀數(shù)據(jù)是否被解析過(guò)。系統(tǒng)中用于解析數(shù)據(jù)的線程每100ms監(jiān)聽(tīng)一次,如果有新的幀進(jìn)入,通過(guò)判斷這幀數(shù)據(jù)的不同數(shù)據(jù)類型進(jìn)行相關(guān)的解析工作。這個(gè)解析線程并沒(méi)有直接將幀數(shù)據(jù)解析成監(jiān)測(cè)點(diǎn)和其值,而是將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成一串十進(jìn)制的浮點(diǎn)數(shù),這個(gè)浮點(diǎn)數(shù)包含了改幀信息的唯一標(biāo)識(shí)符和具體數(shù)據(jù),存放在DataUnit的數(shù)據(jù)結(jié)構(gòu)中等待上層界面的調(diào)用。在MonitorManager中,定義了一個(gè)Timer來(lái)調(diào)用函數(shù)定時(shí)更新監(jiān)測(cè)點(diǎn)的信息,Timer中通過(guò)每秒一次調(diào)用的數(shù)據(jù)更新函數(shù),實(shí)時(shí)的更新了人機(jī)界面上報(bào)警列表、組員明細(xì)、儀表盤和柱狀圖等界面的數(shù)據(jù)。數(shù)據(jù)更新函數(shù)通過(guò)監(jiān)測(cè)點(diǎn)的唯一標(biāo)識(shí)符去讀取存儲(chǔ)在DataUnit中的數(shù)據(jù),然后根據(jù)監(jiān)測(cè)點(diǎn)的類型來(lái)進(jìn)行二次解析:如果是開關(guān)量則讀取其狀態(tài),如果是模擬量則解析其數(shù)值。最后更新監(jiān)測(cè)點(diǎn)的信息,并判斷報(bào)警情況。報(bào)警情況的判斷交由報(bào)警流程,報(bào)警值則記錄在監(jiān)測(cè)點(diǎn)信息中。 幀的傳輸和解析流程 報(bào)警信息的發(fā)送在系統(tǒng)啟動(dòng)之初,就新建了一個(gè)線程用于給延伸報(bào)警板以100ms/次的速率發(fā)送報(bào)警信息。CAN總線上的信息龐大復(fù)雜,而延伸報(bào)警板的需求相對(duì)比較簡(jiǎn)單,只接收?qǐng)?bào)警信息,因此將主系統(tǒng)和延伸報(bào)警板約定一個(gè)唯一標(biāo)識(shí)符,延伸報(bào)警板只接收帶有這個(gè)唯一標(biāo)識(shí)符的信息。系統(tǒng)發(fā)送的信息是一個(gè)標(biāo)準(zhǔn)幀,共有8位的數(shù)據(jù)位,而延伸報(bào)警板只需要知道是哪個(gè)監(jiān)測(cè)點(diǎn)報(bào)警,而不用具體的報(bào)警數(shù)值。每一個(gè)模塊地址只需要占用3位數(shù)據(jù)位,再加上使用1位數(shù)據(jù)位來(lái)表示監(jiān)測(cè)點(diǎn)的狀態(tài)(報(bào)警或損壞),一條報(bào)警信息只需要占用4位的數(shù)據(jù)位。因此為了節(jié)約帶寬,提高效率,每一幀數(shù)據(jù)都保存了兩條報(bào)警信息。發(fā)送以后會(huì)有一個(gè)信息的反饋,因?yàn)橛袃陕稢AN都在收和發(fā),反饋信息就包括四種狀態(tài):兩路CAN都發(fā)送失敗、只有第一路CAN發(fā)送成功、只有第二路CAN發(fā)送成功、兩路CAN都發(fā)送成功。延伸報(bào)警板接收到信息后會(huì)進(jìn)行解析處理顯示,若是相同信息則合并處理。 本章小結(jié)本章對(duì)監(jiān)控報(bào)警系統(tǒng)整體進(jìn)行了自上而下的解構(gòu)和分析,通過(guò)描述船舶工業(yè)對(duì)船舶監(jiān)控報(bào)警系統(tǒng)的行業(yè)要求和功能技術(shù)指標(biāo),明確了本系統(tǒng)的需求分析和軟硬件架構(gòu),并對(duì)系統(tǒng)進(jìn)行了模塊化的設(shè)計(jì)。系統(tǒng)的工作流程和報(bào)警處理流程是系統(tǒng)具體實(shí)現(xiàn)時(shí)的關(guān)鍵點(diǎn),需要仔細(xì)設(shè)計(jì)整個(gè)流程來(lái)保障系統(tǒng)的安全性和可靠性。對(duì)監(jiān)測(cè)點(diǎn)和通信機(jī)制的研究是系統(tǒng)實(shí)現(xiàn)的具體細(xì)節(jié),保證了系統(tǒng)的準(zhǔn)確性和實(shí)時(shí)性。監(jiān)控報(bào)警系統(tǒng)的安全機(jī)制主要在于如何保證報(bào)警信息的正確及時(shí)送達(dá)以及報(bào)警處理流程的合理,本章通過(guò)對(duì)整個(gè)系統(tǒng)的分析,解構(gòu)了整個(gè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),模塊化的設(shè)計(jì)簡(jiǎn)化了系統(tǒng)的維護(hù)和搭建。在下一章中將詳細(xì)描述監(jiān)控報(bào)警系統(tǒng)的UI設(shè)計(jì)和控件庫(kù)的開發(fā)。第四章 系統(tǒng)界面設(shè)計(jì)和控件庫(kù)的開發(fā)監(jiān)控報(bào)警系統(tǒng)人機(jī)界面主要包括主界面(啟動(dòng)界面)、組員明細(xì)(每個(gè)監(jiān)測(cè)點(diǎn)分組的運(yùn)行和報(bào)警狀態(tài)顯示)、柱狀圖(包括多個(gè)柱狀圖在一塊比較,例如各個(gè)缸的排氣溫度等)、儀表圖(顯示模擬量監(jiān)測(cè)點(diǎn)的監(jiān)測(cè)值)、報(bào)警列表、監(jiān)控報(bào)警系統(tǒng)圖(實(shí)時(shí)監(jiān)測(cè)CAN和各個(gè)模塊的連接情況)、監(jiān)測(cè)點(diǎn)配置(包括配置各個(gè)監(jiān)測(cè)點(diǎn)的參數(shù)以及自定義組)、系統(tǒng)設(shè)置(包括中英文切換等與系統(tǒng)相關(guān)的設(shè)置)、權(quán)限管理界面(包括登錄界面、系統(tǒng)退出界面、密碼修改界面)、打印界面(歷史打印和當(dāng)前報(bào)警列表的間隔打?。?、當(dāng)前監(jiān)測(cè)點(diǎn)數(shù)據(jù)曲線、歷史曲線等。監(jiān)控報(bào)警系統(tǒng)的人機(jī)界面是用戶與系統(tǒng)交互的窗口,用戶通過(guò)人機(jī)界面向系統(tǒng)輸入信息進(jìn)行控制,查詢或操作,因此界面是用戶最直接了解系統(tǒng)的地方。如果界面設(shè)計(jì)不當(dāng),用戶很容易在繁多的報(bào)警信息和復(fù)雜的操作中失去耐心,更甚者錯(cuò)失報(bào)警信息從而造成安全事故,而清爽、簡(jiǎn)潔易操作的界面既容易獲得用戶的好感,又能使用戶更容易獲得重要的報(bào)警信息,提高了船舶的安全性。因此,本章具體闡述系統(tǒng)界面的設(shè)計(jì)和控件庫(kù)的開發(fā)。 UI設(shè)計(jì)思路船舶監(jiān)控報(bào)警系統(tǒng)的定位就是用于船舶上,其目標(biāo)用戶主要是輪機(jī)員,考慮船員長(zhǎng)期在海上,對(duì)計(jì)算機(jī)知識(shí)可能掌握不夠,軟件的整體風(fēng)格以界面清爽,操作簡(jiǎn)單為主。界面風(fēng)格一致,使用藍(lán)色為底圖主基調(diào),白色和灰色的漸變?yōu)榭丶骰{(diào)。WinForm在不同界面切換時(shí)會(huì)導(dǎo)致屏幕閃爍的情況,極大的影響了用戶使用的感受,因此,本系統(tǒng)采用一體式的界面,即只有一個(gè)主界面,而不同的界面只是控件的不同顯示。報(bào)警方面,還是采用通用的紅色報(bào)警綠色正常來(lái)顯示。整個(gè)系統(tǒng)只有3層結(jié)構(gòu),大部分功能都在第二層,在主界面上有大部分界面的導(dǎo)航,能夠非??焖俚倪M(jìn)入想要觀察的界面,并且每個(gè)界面都有回到主界面的按鈕,便于操作。整個(gè)系統(tǒng)UI結(jié)構(gòu)如下圖所示。 系統(tǒng)UI結(jié)構(gòu)圖 UI展示與描述監(jiān)控報(bào)警系統(tǒng)在系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)啟動(dòng),檢測(cè)CAN通信是否通暢,并彈出主界面。 監(jiān)控報(bào)警系統(tǒng)主界面從主界面中可以看到,最上面是一個(gè)標(biāo)題欄,正中間有“監(jiān)控報(bào)警系統(tǒng)”的標(biāo)題,標(biāo)題左側(cè)用于顯示登錄信息和CAN的通信狀態(tài),標(biāo)題右側(cè)顯示當(dāng)前的時(shí)間日期信息和是否存在報(bào)警的情況。標(biāo)題下面是一排二級(jí)界面的導(dǎo)航功能按鈕,按鈕的最左邊是顯示當(dāng)前處于哪個(gè)頁(yè)面的狀態(tài)欄,通過(guò)按鈕能夠進(jìn)入監(jiān)測(cè)點(diǎn)信息相關(guān)的所有頁(yè)面,在按鈕的最右邊添加了主界面的按鈕,使得能夠在任何頁(yè)面都方便的回到主界面。導(dǎo)航按鈕的下面是各個(gè)詳細(xì)分組,每個(gè)分組都在正中間顯示組的名稱,并通過(guò)報(bào)警燈來(lái)顯示各個(gè)分組的組員中是否存在報(bào)警,點(diǎn)擊分組可以進(jìn)入詳細(xì)的分組信息界面。在主界面的最下面是一排功能按鈕,主要有登錄、消音、報(bào)警確認(rèn)、打印、系統(tǒng)設(shè)置和中英文切換等。這些功能按鈕在所有界面都會(huì)存在,使得管理員在任何界面都能夠最快速的處理報(bào)警情況。通過(guò)點(diǎn)擊主界面中的監(jiān)測(cè)點(diǎn)分組,可以進(jìn)入分組的詳細(xì)信息界面。 組員明細(xì)界面從組員明細(xì)界面可以看到一個(gè)組中不同監(jiān)測(cè)點(diǎn)的詳細(xì)情況,監(jiān)測(cè)點(diǎn)分為模擬量和開關(guān)量,如圖中有單位,有值的量即為模擬量,雙擊某個(gè)模擬量就可以看到它的趨勢(shì)圖,監(jiān)測(cè)點(diǎn)除了用趨勢(shì)圖顯示以外,還可以使用柱狀圖和儀表圖來(lái)顯示其狀態(tài),,柱狀圖和儀表圖。 監(jiān)控報(bào)警系統(tǒng)趨勢(shì)圖界面 監(jiān)控報(bào)警系統(tǒng)柱狀圖界面 監(jiān)控報(bào)警系統(tǒng)儀表圖界面趨勢(shì)圖中的儀表圖和柱狀圖為單個(gè)監(jiān)測(cè)點(diǎn)的圖,通過(guò)主界面導(dǎo)航的為所有模擬量監(jiān)測(cè)點(diǎn)的集中顯示,為了方便尋找某個(gè)特定的監(jiān)測(cè)點(diǎn),在儀表圖和柱狀圖中配備了搜索的功能,能夠根據(jù)監(jiān)測(cè)點(diǎn)的名字搜索到特定的監(jiān)測(cè)點(diǎn)。在儀表圖和柱狀圖中均有報(bào)警燈來(lái)顯示此監(jiān)測(cè)點(diǎn)是否超過(guò)臨界值,從而產(chǎn)生報(bào)警。監(jiān)控報(bào)警系統(tǒng)中的監(jiān)測(cè)點(diǎn)配置按鈕可以直接導(dǎo)航到配置監(jiān)測(cè)點(diǎn)的頁(yè)面,可以根據(jù)不同船舶的具體情況配置需要監(jiān)測(cè)的點(diǎn)。配置監(jiān)測(cè)點(diǎn)需要管理員權(quán)限,配置監(jiān)測(cè)點(diǎn)也需要一定的專業(yè)知識(shí)。配置完監(jiān)測(cè)點(diǎn)后,監(jiān)測(cè)點(diǎn)的信息將會(huì)被保存,系統(tǒng)管理員可以根據(jù)需要進(jìn)行添加,刪除,閉鎖,修改,刷新,保存等操作。監(jiān)測(cè)點(diǎn)配置界面左邊為樹狀圖顯示的所有監(jiān)測(cè)點(diǎn)所在的組,可以根據(jù)某個(gè)分組很快的找到需要的監(jiān)測(cè)點(diǎn)進(jìn)行修改或刪除等工作。右邊顯示某個(gè)監(jiān)測(cè)點(diǎn)的具體信息,包括它的信號(hào)類型,所在分組,中英文描述,是否閉鎖,上下限,單位,報(bào)警值,模塊地址,模塊端口等。無(wú)論新建或者修改都是補(bǔ)完這些既定格式的信息,系統(tǒng)會(huì)將其保存并影響具體的監(jiān)測(cè)報(bào)警過(guò)程。 監(jiān)測(cè)點(diǎn)配置界面 控件庫(kù)微軟的Visual Stdio提供比較簡(jiǎn)易的開發(fā)控件的方式,而對(duì)于像監(jiān)控報(bào)警系統(tǒng)這樣的工業(yè)控制軟件Visual Stdio自帶的控件無(wú)法滿足開發(fā)的需求。因此本論文重新開發(fā)控件庫(kù),再用控件庫(kù)中的控件搭建人機(jī)界面的方式開發(fā)整個(gè)UI系統(tǒng)。 報(bào)警燈報(bào)警燈的繪制比較簡(jiǎn)單,主要屬性有報(bào)警燈顏色,燈半徑,邊框樣式等,在主界面上的每個(gè)監(jiān)測(cè)點(diǎn)分組上都有一個(gè)報(bào)警燈,燈總共有3種狀態(tài),紅色為該組有監(jiān)測(cè)點(diǎn)報(bào)警,綠色為一切正常,黃色為該報(bào)警已經(jīng)確認(rèn),但未正常。報(bào)警燈的邊框需要設(shè)置樣式及漸變色等讓其顯示的具有一定的3D效果。如下圖就是報(bào)警燈控件。 報(bào)警燈控件報(bào)警燈的事件處理也比較簡(jiǎn)單,底層分組報(bào)警管理的列表會(huì)判斷當(dāng)前組是否有監(jiān)測(cè)點(diǎn)報(bào)警,根據(jù)不同的情況變化燈的顏色。 儀表盤儀表盤比較復(fù)雜,隨著監(jiān)測(cè)點(diǎn)每時(shí)每刻值的變化,儀表盤的指針和數(shù)值需要不斷變化,整個(gè)儀表盤的繪制也需要運(yùn)用到平面運(yùn)算和圖像旋轉(zhuǎn)等方面的計(jì)算。因?yàn)槊總€(gè)監(jiān)測(cè)點(diǎn)都有不同的值域范圍,因此儀表盤需要可設(shè)置的最大和最小值以及正常范圍。在監(jiān)測(cè)點(diǎn)中,有的是高報(bào)警,比如馬達(dá)溫度高于一定的值就會(huì)報(bào)警,有的是低報(bào)警,比如主機(jī)燃油壓力低于一定的值時(shí)會(huì)報(bào)警,還有的是高低報(bào)警,比如缸排氣溫度偏差,高于或低于既定的值均會(huì)報(bào)警。在繪制儀表盤的時(shí)候,也考慮到這些因素,需要加入控制臨界點(diǎn)的幾個(gè)變量,方便用戶配置不同的監(jiān)測(cè)點(diǎn)。儀表盤的事件處理主要是指針的改變和顯示數(shù)值的變化。當(dāng)一個(gè)新采集的數(shù)值更新原有數(shù)值的時(shí)候,指針相應(yīng)指向數(shù)值所在區(qū)域,數(shù)值顯示的地方顯示新數(shù)值,所有的操作通過(guò)重繪來(lái)解決。因?yàn)閮x表盤繪圖復(fù)雜,每當(dāng)刷新數(shù)值時(shí)候,如果整個(gè)儀表盤都刷新,占用系統(tǒng)資源嚴(yán)重,拖慢圖形顯示,并且會(huì)造成閃爍的情況??紤]到儀表盤的大部分都不需要變化,因此將指針,數(shù)值顯示等地方和整個(gè)儀表盤的繪制放在不同的圖層,這樣每次刷新的時(shí)候只是刷新了需要的地方,節(jié)約了資源,解決了閃爍的問(wèn)題。下圖為儀表盤控件。 儀表盤控件儀表盤最上面為標(biāo)題,用于顯示儀表盤所代表的監(jiān)測(cè)點(diǎn)。標(biāo)題下面為一個(gè)報(bào)警燈,綠色代表正常,紅色代表報(bào)警。整個(gè)儀表盤的刻度,報(bào)警區(qū)域,最大最小值均可定制,使用綠色弧形代表監(jiān)測(cè)點(diǎn)正常區(qū)域,紅色弧形代表監(jiān)測(cè)點(diǎn)報(bào)警區(qū)域。在指針下方為數(shù)值的單位,可定制,單位下方為具體數(shù)值。最下方標(biāo)明了此監(jiān)測(cè)點(diǎn)的報(bào)警區(qū)域,用紅色顯示。 柱狀圖柱狀圖和儀表圖類似,可以根據(jù)監(jiān)測(cè)點(diǎn)的不同情況具體定制。有一些監(jiān)測(cè)點(diǎn)具有非常類似的屬性,它們的最大最小值,報(bào)警區(qū)域,甚至名字都相同,在柱狀圖中可以將它們放在一起觀察。因此,除了單個(gè)的柱狀圖,還開發(fā)了聯(lián)合柱狀圖的控件,將那些幾乎一樣的監(jiān)測(cè)點(diǎn)放置在一起觀察。柱狀圖的底色是灰白漸變色,正常狀態(tài)填充色是綠白漸變,報(bào)警時(shí)的
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1