黃歡 徐坦



摘要:為解決現有飛行模擬訓練設備數據管理人工成本高、效率低的問題,設計了基于python的數據自動化統(tǒng)計程序,利用win32com和openpyxl庫對Access數據庫和Excel文檔的進行操作和處理,完成對飛行模擬訓練設備運行保障數據的自動統(tǒng)計和文檔的自動保存。通過多次測試,能快速完整的生成選定時間的特定格式數據文檔,極大地提高工作效率。
關鍵詞:飛行模擬訓練設備;自動化統(tǒng)計;python;win32com庫;openpyxl庫
中圖分類號:TP317.1 文獻標識碼:A
文章編號:1009-3044(2020)21-0203-03
開放科學(資源服務)標識碼(OSID):
1 引言
迅猛發(fā)展的計算機技術正加速影響企事業(yè)工作辦公方式。自動化辦公是一種利用計算機技術替代傳統(tǒng)辦公模式的一種現代化辦公模式[1]。使用大量的先進機器來代替?zhèn)鹘y(tǒng)中的紙記錄和筆書寫方式,極大提高工作效率。通過新型網絡辦公方式,加強成員的協(xié)同工作能力,改變了傳統(tǒng)辦公環(huán)境[2]。
2 概述
飛行模擬訓練設備是在飛行員訓練中常用的輔助訓練設備,它能模擬特定飛機(如空客A320、波音737NG等)在飛行過程中所產生的視覺、聽覺和觸覺感受,為飛行員帶來真實的沉浸感。各航空公司廣泛使用飛行模擬訓練設備,以提升飛行員培養(yǎng)的安全性及高效性,提高飛行員培訓質量,降低飛行安全風險[3][4]。
為保障飛行模擬訓練設備運行質量,以某模擬機訓練中心(以下簡稱“中心”)為例,其飛行模擬訓練設備分布在兩個不同的機房。為保障設備正常運行,設立兩組維護人員分別管理各個機房設備,并建立了一套基于web的B/S模式飛行模擬訓練設備維護管理系統(tǒng),它記錄著飛行模擬訓練設備運行狀態(tài)、巡視檢查情況、故障情況和訓練完成后的飛行器檢查。通過網絡管理方式,加強維護人員對飛行模擬訓練設備運行情況的掌握,實時跟蹤飛行模擬訓練設備的運行故障,并加強維護人員的相互溝通協(xié)助。
為保存飛行模擬訓練設備運行質量的記錄文檔,采用人工采集數據的記錄方式。每個月將由專人對設備維護管理系統(tǒng)中的相關數據(如訓練前后飛行模擬訓練設備狀態(tài)檢查、巡視檢查、飛行模擬訓練設備值班保障等)進行統(tǒng)計,形成新的Ex-cel文檔以供保存。但這種方式存在人工成本高、工作效率低等問題。
因此,基于Python編程語言設計飛行模擬訓練設備保障數據的自動化統(tǒng)計工作,以飛行模擬訓練設備值班保障為例,完成飛行模擬訓練設備數據的記錄,方便快捷地完成相關記錄的文檔統(tǒng)計保存。
3 總體設計
3.1 原理分析
分析基于Web的B/S模式飛行模擬訓練設備維護管理系統(tǒng),發(fā)現它通過.Net語言設計維護管理網站結構,利用Access數據庫建立相應的數據庫表單(如值班安排數據表單、i故障維護數據表單等),保存著飛行模擬訓練設備的運行保障數據。提取Access數據庫相應數據表單,自動收集相關行列數據,根據現有Excel數據保存模板,建立最終的Excel電子保存文檔。
Python作為新型的解釋型語言,其具有豐富的第三方庫[1],且語法簡單直觀,容易上手等優(yōu)點,在數據處理、人工智能等方面擁有廣泛的應用。而對于Access數據庫和Excel文檔的處理,python擁有win32com庫和openpyxl庫來對Access和Excel進行相關數據的讀取、修改等處理功能[5][6]。因此可使用python語言建立自動化數據統(tǒng)計程序。
3.2 方案設計
根據現有飛行模擬訓練設備值班保障的Excel保存模板,所需記錄的信息包括選擇的日期段,星期,機型,不同機房的值班人、時間、內容,內容標題模板如圖l所示。
為建立相關數據的Excel模板,利用python語言完成三個方面:建立Access數據庫的通信、相關數據處理、Excel模板數據保存。
3.2.1建立Access數據庫通信
首先定義飛行模擬訓練設備數據庫保存路徑字符串,利用win32com.client庫對Access數據庫進行定位并建立連接,利用類似于VB語言的MoveFirst和MoveNext函數進行讀取,提取相關所需的記錄數據,最后利用文檔末尾標記進行剩余信息檢測,以完成對數據庫的數據處理工作。該步驟的流程圖如圖2所示。
3.2.1數據處理
該中心的相關保存記錄是以月份為單位的,因此使用date-time庫對所需要的月份進行選擇;由于該中心的飛行模擬訓練設備分布在兩個不同的區(qū)域,在數據統(tǒng)計時,需要對不同區(qū)域的飛行模擬訓練設備狀態(tài)數據進行區(qū)分。分析數據庫中的數據發(fā)現,在數據中會出現不同區(qū)域中的飛行模擬訓練設備型號,因此通過對特征數據的檢測完成數據不同區(qū)域的區(qū)分。并采用數據庫處理語句select完成數據選擇和篩選功能。流程圖如圖3所示。
3.2.3 數據保存
Python擁有豐富的第三方庫,如openpyxl庫[7],它能對Excel文檔進行數據修改和寫入等操作,并可通過自定義相關的單元格合并、字體等要求,完成相關模板格式的設置。再將讀取出來的數據依次的按照順序保存到Excel模板中,完成保存。流程圖如圖4所示。
4 功能實現
為實現數據的提取與保存,設計三個相關類對象完成數據庫通信、數據處理及數據保存功能。
4.1 數據庫通信類
該類用于操作Access數據庫,提取相關數據用于后續(xù)處理。其UML圖[8]如圖5所示。
4.2 數據處理類
數據處理類用于完成對選擇時間段數據的提取及數據定位,它的UML圖[8]如圖6所示。
4.3 數據保存類
它用于完成對所選擇數據的Excel存儲。其UML功能圖如圖7[8]所示。
5 測試
運行python程序時,首先輸入需要統(tǒng)計的時間段,以2018年9月為例,輸入開始時間:“2018-09-1”,結束時間:“2018-09-31”,等待程序運行完成,然后在data文件夾下面會生成一個名為2018年9月值班安排計劃表的Excel文檔,文檔中會自動保存了模板中要求的相關要求數據,生成選擇數據的Excel文檔。
通過多次不同時段的測試運行后發(fā)現,該程序運行能在20s內生成一個月所需數據的Excel文檔,能極大地縮短人工數據采集時間,提高工作效率。
6 總結
本文介紹了基于python的飛行模擬訓練設備相關數據的自動統(tǒng)計開發(fā),通過利用python豐富第三方庫文件,完成飛行模擬訓練設備保障數據統(tǒng)計表單的自動生成,提高了工作效率,節(jié)約了人工成本,建立了飛行模擬訓練設備數據自動化管理的基礎,將辦公自動化理念引入了飛行模擬訓練設備數據的管理。
參考文獻:
[1]嚴莉娜.辦公自動化中計算機技術的應用[J].信息通信,2019(8):291-292.
[2]張園園,袁煜婧.關于辦公自動化中計算機技術應用研究[Jl-信息與電腦(理論版),2019(13):19-20.
[3]萬羽.基于網絡的飛行模擬訓練設備維護辦公自動化系統(tǒng)[J].科技經濟導刊,2018,26(29):56,58
[4]陳又軍.現代飛行模擬機技術發(fā)展概述[Jl.中國民航飛行學院學報,2011,22(2):25-27,32.
[5] Allen B.Downey, Think Python[M], CA:0 'Reilly Media,2012;
[6] Albert Sweigart, Automate the Boring Stuff with Python. NoStarch Press,2015;
[7] Eric Gazoni. Charlie Clark, openpyxl manual[EB/OLl, 2020,https://openpyxl.readthedocs.io/en/s table/;
[8]劉振安.面向對象技術與UML[M].北京:機械工業(yè)出版社,2007.
【通聯編輯:梁書】
基金項目:中國民用航空飛行學院科研創(chuàng)新團隊項目(JG2019-03-02)
作者簡介:黃歡(1988-),男,四川廣漢人,工程師,碩士,研究方向:模擬機維護、飛行仿真及軟件開發(fā);徐坦(1985-),男,四川廣漢人,助理研究員,學士,研究方向:行政管理。