周進群,卞正軍
?
基于MongoDB的文件系統和簽廢軟件的設計與開發
周進群1,卞正軍2
(1.深南電路股份有限公司,深圳 518000;2.無錫深南電路股份有限公司,江蘇 無錫 214000)
文章主要闡述基于一個分布式文件數據庫(MongoDB數據庫),解決現條件下工廠內文件管理不規范、查詢不方便、數據利用率低等原因提出的一個解決方案;使用WebService技術對工廠內文件數據采集、處理、保存及傳遞,做到了文件的規范管理,繼而開發出相關上位機軟件,對過程中文件的數據進行處理,提高了文件數據的利用率以及工廠的生產效率,對企業產生了較好的效益。
MongoDB數據庫;WebService;文件數據
一塊PCB板從下料到成品,過程中需要經過諸多廠家種類各異的設備,而由不同設備產生的文件廢點數據也十分重要,需要從上一工序的設備傳遞給下一工序設備,以提高設備的加工效率。在現有情況下,廢點文件數據的傳遞主要是由員工在局域網內設置共享盤,把上一工序產生的數據拷貝到共享盤中,并由下一工序的員工把共享盤中的數據拷貝到本工序的設備中,再進行加工生產。由于是人員手動拷貝數據,經常會發生網路不穩定和人員操作不規范導致文件數據丟失,延誤生產等情況發生。本文根據對工廠現有模式下操作流程的不足和以提高數據的規范性為目標,構建了以MongoDB為基礎,采用WebService技術管理不同設備的廢點數據并把廢點數據結構化存儲到數據庫中,保證了數據的安全性和完整性,繼而開發出以C/S為架構的上位機軟件處理過程中的廢點數據。做到了數據的采集,結構化存儲和傳遞,提高了工廠的加工效率,降低了生產成本。
基于MongoDB的文件系統和過程簽廢軟件的主體架構如圖1所示。底層為工廠內不同的加工設備,中間層為WebService和MongoDB組成的數據采集、傳遞和存儲的服務層,最上層為過程簽廢上位機軟件。系統運行時設備首先請求下載所需要的廢點數據再進行加工,設備加工完成后把產生廢點數據與請求下載的廢點數據進行整合,然后再通過WebService接口把整合好的廢點數據進行上傳,在WebSer -vice服務中把上傳的廢點數據以文件結構的形式保存到MongoDB數據庫中;過程簽廢軟件是為了解決不是在檢驗設備上產生的報廢數據,需要人員根據板件情況手動輸入報廢數據,之后調用WebService服務把報廢數據更新到數據庫中。

圖1 系統總體架構圖
本文創建的WebService服務是基于Net Framework4.0,采用C#語言編寫的WebService服務,在此服務中提供廢點數據的上傳和下載接口,為設備之間的廢點數據傳遞起到了橋梁的作用。
通過Net Framework4.0框架中的System.ServiceModel的引用接口,就可以利用C#的特性使用WebService服務,在服務類上標注[ServiceBehavior]特性。在服務類創建好之后還需創建具體的服務方法,創建服務的方法也是利用C#特性,在服務方法上標注[OperationContract]特性,就可以在服務類中實現具體的方法,服務方法返回的消息通過引用System.Runtime.Serialization接口的[DataContract]特性標注的消息類返回給客戶端,在消息類中通過 [DataMember]特性標注消息類需要保存的信息。經過上述步驟就完成了WebService服務框架的搭建,之后只需在服務方法中具體實現業務邏輯即可。
WebService接口具體如下所示:
[OperationContract]
WebResponse upLoadFile(string filename,object file);
[OperationContract]
WebResponse downLoadFile(string filename);
其中WebResponse為具體的消息類,upLoadFile為上傳接口,實現數據的采集、處理和存儲工作,downLoadFile為請求下載接口,實現把數據庫中的數據的下發到設備。
最后把寫好的WebService服務類注冊到ServiceHost主機中,并且打開這個主機服務,客戶端就可以根據服務端的設置的IP地址訪問這個服務,并調用提供的接口實現廢點文件數據上傳和下載功能。
過程簽廢軟件首先根據二維碼信息查找MongoDB數據庫中的相關數據,并在簽廢軟件界面上顯示二維碼對應板件的Mapping圖,員工可以在Mapping界面上選擇Strip或者Panel進行報廢,并輸入報廢的缺陷代碼,申報工序及申報站點,上位機軟件自動整合這些數據,并按照指定格式更新到數據庫中;
根據業務部門對過程簽廢軟件的需求本文設計的過程簽廢軟件主要實現了以下功能:
(1)掃描板件二維碼時,顯示料號/批號等信息,并顯示該Panel/Strip的Mapping圖。
(2)可在Mapping圖界面中點選Panel或Strip,實現Panel或Strip的報廢,并且可以得到報廢Panel或者Strip的二維碼。
(3)可在界面上輸入缺陷的代碼,并在界面上顯示代碼的中文說明。
(4)把報廢的相關數據更新到數據庫中。
在簽廢軟件的運行界面中,員工使用掃碼槍掃描板件的二維碼,軟件根據二維碼信息自動去數據庫中查詢該板件的廢點數據,并根據工單號自動生成該板件的Mapping圖,如圖2所示,在Mapping圖簽廢界面中,人員手動點擊可以選擇Panel或者Strip,在輸入框中選擇具體的報廢代碼并點擊報廢按鈕就可以實現Panel或者Strip的報廢,報廢時把人員手動點擊的報廢數據按照規定的格式更新到數據庫中,做到報廢數據的更新。

圖2 簽廢軟件主界面
通過新技術(MongoDB)對工廠內廢點文件數據的統一管理,極大的提高了數據的安全性、完整性和規范性,并在檢驗過程中設置簽廢站點,對廢點數據進行人員的處理,減少了數據冗余,避免了設備重復檢驗。最終做到了廢點數據在各種設備間的高效傳遞,提高了設備的生產率,實現了產能的提升,為企業帶來了良好的效益。
[1] 李紀偉,段中帥,王順曄.非結構化數據庫MongoDB的數據存儲[J].電腦知識與技術,2018,14(27):7-9.
[2] 劉德軍.C#調用WebService實現區域衛生平臺數據接口上傳[J].科學與財富,2018,(36):232-233.
[3] 喻紅蘭.WebService在校園信息系統中的應用[J].電腦知識與技 術,2018,14(20):243-245.
[4] 蔣仕龍,林斌,陳劍雄,等.PCB缺陷檢測上下料系統的應用研究[J].機電工程技術,2018,47(8):97-100,252. DOI:10.3969/j.issn.1009- 9492.2018.08.029.
[5] 劉鵬.基于XML序列化技術的分布式數據庫同步實現[J].安徽電子信息職業技術學院學報,2018,17(1):22-25. DOI:10.3969/j.issn. 1671-802X.2018.01.007.
[6] 戴傳飛,馬明棟.MongoDB分頁技術優化研究[J].計算機技術與發展,2018,28(6):97-101. DOI:10.3969/j.issn.1673-629X.2018.06.022.
[7] 牛倩.MongoDB數據庫中自動分片技術應用研究[J].數字技術與應用,2016,(6):112.
Design and development of file system and sign-off software based on MongoDB
Zhou Jinqun1, Bian Zhengjun2
(1.Shennan Circuits co. LTD, Shenzhen 518000; 2.Wuxi Shennan Circuits co. LTD, Jiangsu Wuxi 214000)
This paper mainly describes a solution based on a distributed file database (MongoDB database), which solves the problems of unregulated file management, inconvenient query and low data utilization under the current conditions; using WebService technology for in-plant files Data collection, processing, storage and transfer, to achieve the standardized management of documents, and then develop the relevant PC software, process the data of the files in the process, improve the utilization of file data and the production efficiency of the factory, resulting in the enterprise Better efficiency.
MongoDB database; WebService; File data
TP311
A
1671-7988(2019)08-191-03
TP311
A
1671-7988(2019)08-191-03
周進群,就職于深南電路股份有限公司。卞正軍,就職于無錫深南電路股份有限公司。
10.16638/j.cnki.1671-7988.2019.08.059