亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Snap7的盾構(gòu)實(shí)時(shí)監(jiān)控系統(tǒng)設(shè)計(jì)

        2020-02-01 03:24:06焦敬波王昆謝榮燦孟祥波
        電子技術(shù)與軟件工程 2020年9期
        關(guān)鍵詞:界面數(shù)據(jù)庫效率

        焦敬波 王昆 謝榮燦 孟祥波

        (中國中鐵工程裝備集團(tuán)有限公司 河南省鄭州市 450016)

        伴隨著我國經(jīng)濟(jì)快速高質(zhì)量的發(fā)展,隧道施工工程在全國得到了大規(guī)模的開發(fā)和推廣,越來越多的大型隧道工程開工建設(shè),盾構(gòu)機(jī)被廣泛應(yīng)用在當(dāng)前各種隧道工程中。在盾構(gòu)施工過程中,無論是施工單位(業(yè)主)還是項(xiàng)目監(jiān)理或者是開發(fā)商他們都非常關(guān)注盾構(gòu)掘進(jìn)過程中的所有掘進(jìn)狀態(tài),如實(shí)時(shí)的監(jiān)控各項(xiàng)指標(biāo)、跟蹤工程進(jìn)度、查詢歷史記錄、實(shí)時(shí)預(yù)警等相關(guān)信息。由于盾構(gòu)掘進(jìn)監(jiān)控系統(tǒng)有著眾多的字段信息,施工單位在不同的時(shí)刻所關(guān)心的字段信息并不完全相同,他們都非??释谥鞑僮鹘缑婺軌蜢`活配置相關(guān)字段信息并將繁蕪復(fù)雜的數(shù)據(jù)條理化、形象化,同時(shí)將產(chǎn)生的數(shù)據(jù)存檔以便對(duì)后續(xù)的施工積累經(jīng)驗(yàn)。目前比較著名的國內(nèi)外盾構(gòu)機(jī)生產(chǎn)商(上海隧道、海瑞克、羅威特等)都有自主研發(fā)的盾構(gòu)掘進(jìn)管理監(jiān)控系統(tǒng),文獻(xiàn)[1]所開發(fā)的盾構(gòu)監(jiān)控系統(tǒng),其研究的重點(diǎn)在于用算法優(yōu)化相關(guān)施工數(shù)據(jù)。文獻(xiàn)[2]介紹的盾構(gòu)監(jiān)控系統(tǒng),其獲取數(shù)據(jù)是從采集板卡得到并且需要依賴SimaticNE,成本較高且操作部署較為繁瑣。文獻(xiàn)[3]是基于組態(tài)軟件開發(fā)的盾構(gòu)監(jiān)控系統(tǒng),該系統(tǒng)在安裝、調(diào)試、以及后期維護(hù)擴(kuò)展都比較繁瑣。文獻(xiàn)[4-6]介紹了基于互聯(lián)網(wǎng)的盾構(gòu)遠(yuǎn)程實(shí)時(shí)監(jiān)控系統(tǒng),其部署較為繁瑣,后期維護(hù)也較為繁雜且界面配置不夠靈活。文獻(xiàn)[7]所代表的盾構(gòu)監(jiān)控系統(tǒng)在界面配置依然不夠靈活,而且在獲取PLC 數(shù)據(jù)時(shí)需要依賴SimaticNE。盾構(gòu)機(jī)作為一種大型的機(jī)械設(shè)備產(chǎn)品,其研發(fā)制造不是一蹴而就的,需要長期積累。在盾構(gòu)施工過程中如何最大化的滿足施工者要求且能實(shí)時(shí)獲取施工信息進(jìn)度成為必要。

        1 總體方案設(shè)計(jì)

        1.1 總體框架設(shè)計(jì)

        本文盾構(gòu)掘進(jìn)管理監(jiān)控系統(tǒng)(IRIS)的設(shè)計(jì)分成了地下數(shù)據(jù)采集服務(wù)模塊、以及地上數(shù)據(jù)展示模塊為主的兩大模塊進(jìn)行開發(fā),開發(fā)該系統(tǒng)主要目的是為了在與PLC 通信時(shí)能夠脫離SimaticNE,使其方便安裝部署以及后期維護(hù)擴(kuò)展,同時(shí)支持按照時(shí)間、環(huán)號(hào)、位移、里程四種維度查詢。該系統(tǒng)能夠滿足用戶差異化需求,提高使用者或者施工者對(duì)盾構(gòu)掘進(jìn)中的各項(xiàng)指標(biāo)的實(shí)時(shí)監(jiān)控水平,如圖1所示功能模塊示意圖。

        1.2 系統(tǒng)流程

        整個(gè)系統(tǒng)主要圍繞著地下采集CollectSys 系統(tǒng)和地上監(jiān)控MonitorSys 系統(tǒng)來設(shè)計(jì),通過中間件WebSocket 的推送方式實(shí)現(xiàn)兩個(gè)系統(tǒng)的信息通信,具體的系統(tǒng)流程圖如圖2所示。

        圖1:功能模塊示意圖

        CollectSys 和MontiorSys 既可以部署在同一臺(tái)電腦上,也可以安裝在不同的電腦上。CollectSys 使用Snap7 方式與PLC 通信,并將讀取的PLC 數(shù)據(jù)按照一定邏輯進(jìn)行數(shù)據(jù)存儲(chǔ)。CollectSys 通過WebSocket 方式把從PLC 采集來的各項(xiàng)數(shù)據(jù),如推進(jìn)位移、環(huán)號(hào)、掘進(jìn)里程等序列化后推送給MontiorSys。MontiorSys 根據(jù)預(yù)先定義好的配置信息,進(jìn)行數(shù)據(jù)分析和數(shù)據(jù)篩選,最終展示到圖形展示模塊上。

        1.3 使用技術(shù)及開發(fā)環(huán)境

        (1)Windows Service:一種能夠創(chuàng)建在它們自己的 Windows會(huì)話中并且可長時(shí)間運(yùn)行的可執(zhí)行應(yīng)用程序。采集系統(tǒng)做成windows service 方式,通過Snap7 與PLC 通信,從而避免傳統(tǒng)的監(jiān)控軟件需要安裝SimaticNE,極大簡化開發(fā)者和技服工作人員部署安裝流程。

        (2)SqlServer: Microsoft 公司推出的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。該數(shù)據(jù)庫具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)。

        (3)WPF: Windows Presentation Foundation 是Microsoft 公司推出基于Vista 的用戶界面框架。該框架具有硬件加速技術(shù)、聲明式編程、與分辨率無關(guān)、統(tǒng)一的編程模型等優(yōu)點(diǎn),同時(shí)做到了分離前端界面與后端開發(fā)人員的工作。

        圖2:系統(tǒng)流程框圖

        圖3:主界面展示

        監(jiān)控系統(tǒng)如果采用組態(tài)軟件開發(fā)較為困難,且后期維護(hù)及不方便。目前在軟件行業(yè)中存在兩大軟件體系結(jié)構(gòu):C/S、B/S,其中C/S 想比較于B/S 能夠更好的滿足用戶差異化需求。在軟件設(shè)計(jì)中,面向?qū)ο箝_發(fā)為現(xiàn)階段主流趨勢,其中C#語言具有跨平臺(tái)使用、面向?qū)ο?、類型安全、版本控制、代碼安全管理等優(yōu)點(diǎn)。結(jié)合上述所述及實(shí)際工程需要,我們使用開發(fā)語言C#及系統(tǒng)架構(gòu)C/S。

        2 采集系統(tǒng)設(shè)計(jì)

        采集系統(tǒng)以Windows 服務(wù)方式運(yùn)行,主要涉及數(shù)據(jù)采集、數(shù)數(shù)據(jù)推送以及數(shù)據(jù)存儲(chǔ)三部分。

        2.1 數(shù)據(jù)采集

        采集系統(tǒng)啟動(dòng)時(shí)讀取所屬盾構(gòu)機(jī)的相關(guān)xml 文件,同時(shí)動(dòng)態(tài)序列化每個(gè)字段對(duì)象。系統(tǒng)每隔1 秒讀取PLC 數(shù)據(jù),將采集到的數(shù)據(jù)通過Websocket 方式實(shí)時(shí)推送到監(jiān)控系統(tǒng)用于實(shí)時(shí)顯示數(shù)據(jù),同時(shí)根據(jù)序列化出來的字段對(duì)象動(dòng)態(tài)寫入數(shù)據(jù)庫結(jié)構(gòu)里,寫入操作與推送客戶端操作是單獨(dú)分開的線程處理,彼此之間互不影響。采集系統(tǒng)使用Snap7 方式讀取PLC 數(shù)據(jù),有效避免傳統(tǒng)的盾構(gòu)監(jiān)控系統(tǒng)與PLC 通信時(shí)需要依賴SimaticNE 方式,使其部署大大簡化。

        2.2 數(shù)據(jù)推送

        采集系統(tǒng)和監(jiān)控端采用Websocket 的通信方式,實(shí)現(xiàn)了服務(wù)器與客戶端之間的物理連接,并進(jìn)行數(shù)據(jù)傳輸。該通信方式保證了數(shù)據(jù)的傳輸效率、穩(wěn)定性、準(zhǔn)確性以及安全性;面向連接的協(xié)議,穩(wěn)定可靠,當(dāng)客戶和服務(wù)器彼此交換數(shù)據(jù)前,必須先在雙方之間建立一個(gè)連接,之后才能傳輸數(shù)據(jù)。

        2.3 數(shù)據(jù)庫設(shè)計(jì)

        數(shù)據(jù)庫存儲(chǔ)是采集系統(tǒng)模塊的核心設(shè)計(jì),根據(jù)序列化的字段對(duì)象動(dòng)態(tài)生成每天的詳情結(jié)構(gòu)、掘進(jìn)里程、推進(jìn)位移以及環(huán)號(hào)詳情的表結(jié)構(gòu)。數(shù)據(jù)詳情表每天生成一張新的表結(jié)構(gòu),掘進(jìn)里程、推進(jìn)位移、環(huán)號(hào)詳情每個(gè)月生成一張新的表結(jié)構(gòu),其中環(huán)號(hào)詳情表中每一份表結(jié)構(gòu)包含三張統(tǒng)計(jì)數(shù)據(jù)表,包括最大值、最小值以及平均值。由于盾構(gòu)機(jī)所涉及的PLC 字段對(duì)象較多,在數(shù)據(jù)庫存儲(chǔ)中需要牽涉到分表處理,同時(shí)為了降低系統(tǒng)CPU 資源利用率,在數(shù)據(jù)庫存儲(chǔ)時(shí)采用緩存隊(duì)列,將每秒讀到的PLC 數(shù)據(jù)緩存到隊(duì)列,每隔一分鐘存儲(chǔ)一次。數(shù)據(jù)庫表結(jié)構(gòu)及存儲(chǔ)過程設(shè)計(jì)如表1所示。

        表1:數(shù)據(jù)庫表名及存儲(chǔ)過程

        圖4:系統(tǒng)報(bào)警界面

        2.4 性能處理

        (1)采用websocket 通信方式建立長連接,實(shí)時(shí)推送數(shù)據(jù),該通信協(xié)議鑒于持久化的協(xié)議,傳輸數(shù)據(jù)量比較小,傳輸時(shí)間短,這樣就大大提高了服務(wù)端與客戶端的傳輸效率。

        (2)采用多線程的方式,把數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)推送分別建立在不同的線程上,這樣二者之間互不影響,從一定程度上也提高了數(shù)據(jù)的傳輸效率。

        圖5:歷史曲線界面

        圖6:時(shí)間維度查詢

        (3)如果發(fā)生鏈接斷開或者數(shù)據(jù)讀取不到的情況,程序會(huì)自動(dòng)把上一秒的數(shù)據(jù)推送給客戶端以及存儲(chǔ)到數(shù)據(jù)庫里。該策略保證了數(shù)據(jù)的完整性與準(zhǔn)確性。

        (4)數(shù)據(jù)庫表結(jié)構(gòu)創(chuàng)建,在創(chuàng)建當(dāng)天數(shù)據(jù)詳情的時(shí)候,會(huì)自動(dòng)為前一天的數(shù)據(jù)詳情表添加索引,這樣就大大提高了數(shù)據(jù)的查詢效率,當(dāng)天的表結(jié)構(gòu)不加索引,這樣保證了數(shù)據(jù)寫入效率。

        (5)開發(fā)框架采用dapper,該框架是.Net 中比較流行的輕量級(jí)的開源ORM 框架,占用內(nèi)存資源小,提高開發(fā)效率,降低開發(fā)成本,使開發(fā)更加對(duì)象化,操作更加靈活多變,易于維護(hù)擴(kuò)展。

        (6)采集系統(tǒng)采用windows 服務(wù)的方式運(yùn)行,可以手動(dòng)進(jìn)行安裝及卸載,安裝之后程序自動(dòng)運(yùn)行,實(shí)時(shí)推送以及存儲(chǔ)數(shù)據(jù)。

        (7)經(jīng)過測試,服務(wù)器端對(duì)本機(jī)的CPU、內(nèi)存以及其它資源占用比較小,不會(huì)對(duì)本機(jī)系統(tǒng)造成卡頓情況。

        3 監(jiān)控系統(tǒng)設(shè)計(jì)

        3.1 設(shè)計(jì)架構(gòu)

        盾構(gòu)系統(tǒng)有多達(dá)2000 多個(gè)數(shù)據(jù)字段信息,且系統(tǒng)顯示的有效字段一般多達(dá)700 個(gè),具有顯示字段多,字段展示形式多樣,如:數(shù)值展示、圖表展示、數(shù)據(jù)導(dǎo)出、PDF 打印等。對(duì)于多字段、多形式數(shù)據(jù)展示的客戶端,采用Microsoft 的WPF 客戶端框架具有很大優(yōu)勢。MVVM(Model-View-Model)框架的由來便是MVP 模式與WPF 結(jié)合的應(yīng)用方式時(shí)發(fā)展演變過來的一種新型架構(gòu)框架。MVVM 具有雙向通知的特性,ViewModel 的屬性變更時(shí)能夠及時(shí)通知更新界面顯示,而且界面的操作的變化也能即時(shí)通知變更ViewModel 數(shù)據(jù)的改變。主界面如圖3所示。

        3.2 圖表實(shí)現(xiàn)

        DynamicDataDisplay 是.Net 下開源的圖表庫,可實(shí)現(xiàn)折線圖、梯形圖、條形圖、散點(diǎn)圖。對(duì)于折線圖、梯形圖、散點(diǎn)圖DynamicDataDisplay 采用基本元素繪制線和點(diǎn),具有較高的效率,條形圖采用繪制矩形和色彩渲染,效率相對(duì)低。圖表同時(shí)還實(shí)現(xiàn)了游標(biāo)線經(jīng)過的點(diǎn)的數(shù)據(jù)動(dòng)態(tài)顯示。利用DynamicDataDisplay,實(shí)現(xiàn)了圖表的x 軸縮放及y 軸多個(gè)標(biāo)尺分段的特性。

        3.3 環(huán)報(bào)表的PDF打印

        MigraDoc 是.Net 版本的 PDF 生成庫,利用MigraDoc 實(shí)現(xiàn)了環(huán)數(shù)據(jù)、環(huán)圖表PDF 文件的預(yù)覽和生成。MigraDoc 具有較完善的PDF 控件,對(duì)整體生成一個(gè)PDF 有較全面的框架結(jié)構(gòu)。

        3.4 性能處理

        (1)MVVM 模式下采用動(dòng)態(tài)類型作為ViewModel 的實(shí)例實(shí)現(xiàn)了UI 界面的雙向綁定。但動(dòng)態(tài)類型Dynamic 或ExpandoObject 通過反射查找屬性,效率較低。對(duì)于Dynamic 或ExpandoObject 類型,其實(shí)質(zhì)基于IDictionart接口實(shí)現(xiàn),將其直接替換成IDictionart接口類型,效率高出原先動(dòng)態(tài)類型幾倍。

        (2)盾構(gòu)機(jī)有效字段一般多達(dá)700 多個(gè),如果全部綁定在一個(gè)ViewModel 上,相較于一個(gè)ViewModel 具有較少屬性的情況,前者太耗費(fèi)資源,并且不便于于系統(tǒng)的靈活擴(kuò)展。我們采用后者,每個(gè)字段對(duì)應(yīng)一個(gè)ViewModel,如此依賴,700 多個(gè)字段將產(chǎn)生700 多個(gè)ViewModel。每次更新數(shù)據(jù),分別更新所有ViewModel,但執(zhí)行效率相較于前者更高。

        (3)對(duì)數(shù)據(jù)因PLC 讀取超時(shí)而造成缺失的緩沖機(jī)制。采用等間隔時(shí)鐘通知數(shù)據(jù)采集,保證穩(wěn)定的間隔頻率。正常情況下從數(shù)據(jù)采集到推送時(shí)間不超過1 秒,如果超過900ms 數(shù)據(jù)未返回,將采用上一次的數(shù)據(jù)做為當(dāng)前秒時(shí)刻的數(shù)據(jù),并標(biāo)記放棄此次推送回的數(shù)據(jù)。時(shí)鐘到下一秒,繼續(xù)進(jìn)行正常的通知和等待數(shù)據(jù)推送回來。

        (4)使用MigraDoc 生成PDF 效率較低,但由于MigraDoc 具有較完善的PDF 控件采用DynamicDataDisplay 生成圖表圖片后加載進(jìn)MigraDoc 生成的PDF 文件里,大大提升了生成效率,而且保證了生成圖表的樣式和美觀。

        3.5 報(bào)警、歷史、時(shí)間查詢界面展示

        任何一款監(jiān)控系統(tǒng)軟件中都應(yīng)包含報(bào)警功能,有效的報(bào)警信息能夠幫助施工人員及時(shí)發(fā)現(xiàn)故障信息、減少財(cái)產(chǎn)損失。報(bào)警界面如圖4所示。

        歷史曲線界面根據(jù)所選擇的日期及字段可以直觀顯示數(shù)據(jù)歷史趨勢,曲線界面如圖5所示。

        本次設(shè)計(jì)的另一大創(chuàng)新點(diǎn)是查詢數(shù)據(jù)時(shí)除了可以按照時(shí)間查詢還可以按照推進(jìn)位移、環(huán)號(hào)、掘進(jìn)里程查詢,同時(shí)可以將查詢結(jié)果形象化展示,圖6 為按照時(shí)間查詢界面示意。其他統(tǒng)計(jì)分析界面如系統(tǒng)參數(shù)設(shè)置、報(bào)表、數(shù)據(jù)維護(hù)、數(shù)據(jù)導(dǎo)出、PDF 打印以及查詢數(shù)據(jù)按照環(huán)號(hào)、掘進(jìn)里程、推進(jìn)位移等限于篇幅,不再贅述。

        4 結(jié)語

        該系統(tǒng)結(jié)合計(jì)算機(jī)控制技術(shù)、通信技術(shù)、圖形顯示技術(shù)包含數(shù)據(jù)采集軟件和數(shù)據(jù)監(jiān)視軟件兩大部分,并將兩部分在形式上采取了相互獨(dú)立的方式,做到了采集存儲(chǔ)和界面顯示分離。用戶可以根據(jù)自己所關(guān)心的字段信息靈活配置界面,同時(shí)該系統(tǒng)以Snap7 方式與PLC 通信脫離SimaticNE,使部署更加靈活。結(jié)合分布式系統(tǒng)思想,在結(jié)構(gòu)上將數(shù)據(jù)監(jiān)控、實(shí)時(shí)預(yù)警、數(shù)據(jù)存儲(chǔ)等模塊微服務(wù)化,再通過通信中間件技術(shù)將不同的服務(wù)連接起來,組成一個(gè)整體。既可以實(shí)現(xiàn)單機(jī)一對(duì)一部署,又能夠分布式同時(shí)部署多臺(tái)計(jì)算機(jī),具有良好的應(yīng)用推廣價(jià)值。目前存在的主要問題,對(duì)于大盾構(gòu)中如果超過1000 個(gè)字段,由于字段信息較多每隔1 秒采集一次PLC 數(shù)據(jù),會(huì)導(dǎo)致讀取PLC 數(shù)據(jù)不穩(wěn)定,這有待進(jìn)一步的研究和討論。

        猜你喜歡
        界面數(shù)據(jù)庫效率
        提升朗讀教學(xué)效率的幾點(diǎn)思考
        甘肅教育(2020年14期)2020-09-11 07:57:42
        國企黨委前置研究的“四個(gè)界面”
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        數(shù)據(jù)庫
        人機(jī)交互界面發(fā)展趨勢研究
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        手機(jī)界面中圖形符號(hào)的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        跟蹤導(dǎo)練(一)2
        欧洲日韩视频二区在线| 国产xxx69麻豆国语对白| 亚洲av无码潮喷在线观看| 免费在线视频一区| 国产亚洲精品成人av在线| 亚洲中文字幕久久精品色老板| 免费女人高潮流视频在线观看| 国产精品福利自产拍久久| 人妻有码中文字幕在线不卡| 国产日本精品一区二区免费 | aa片在线观看视频在线播放| 精品性高朝久久久久久久| 麻豆国产AV网站| 国产精品一区二区三区在线观看| 精品人妻av区乱码| 亚洲综合无码一区二区三区| 亚洲 美腿 欧美 偷拍| 国产不卡在线观看视频| 成年女人黄小视频| 亚洲色图+国产精品| 精品蜜桃一区二区三区| 国产精品妇女一区二区三区| 欧美日韩精品| 亚洲国产一区二区三区最新| 草青青视频手机免费观看| 亚洲亚洲人成综合丝袜图片| 国产偷国产偷亚洲清高| 精品亚洲人伦一区二区三区| 国产av一级黄一区二区三区| 亚洲日韩国产精品乱-久| 成黄色片视频日本秘书丝袜| 免费黄网站一区二区三区| 国产精品无码素人福利| 天天做天天躁天天躁| 强d漂亮少妇高潮在线观看| 美女人妻中出日本人妻| 99精品人妻少妇一区二区| 久久久久亚洲精品天堂| 亚洲av成熟国产精品一区二区| 男女性杂交内射妇女bbwxz| 国产麻豆精品一区二区三区v视界|