鄧杰
(200093 上海市 上海理工大學 機械工程學院)
在工業(yè)4.0 的變革熱潮中,傳統(tǒng)制造業(yè)數(shù)字化生產(chǎn)已經(jīng)迫在眉睫。傳統(tǒng)制造業(yè)必須要抓住機遇,轉(zhuǎn)型升級[1]。用計算機技術輔助生產(chǎn),以智能制造為目標,從而提高企業(yè)的資源配置,優(yōu)化成本,提高效率。做到生產(chǎn)數(shù)字化,制造智能化,品質(zhì)可控化。
本文針對某汽車生產(chǎn)企業(yè)車身總裝車間提出的需求,開發(fā)了一套基于DRF 的車輛工藝管理系統(tǒng),使企業(yè)的生產(chǎn)數(shù)字信息化。通過對企業(yè)工藝部門的調(diào)研以及企業(yè)提供的需求文件,發(fā)現(xiàn)企業(yè)雖然在汽車制造方面大多采用現(xiàn)代化的工業(yè)機器人,但是在工藝管理方面依然采用手工工藝卡片記錄工藝信息,再一層層往上提交審核,造成生產(chǎn)效率低下,浪費大量人力,而且不便于生產(chǎn)信息管理和隨時追溯查看有關問題信息。
通過對企業(yè)的實地調(diào)查,分析企業(yè)的需求,明確軟件系統(tǒng)需要實現(xiàn)的主要功能。軟件系統(tǒng)在需求分析及模塊設計階段都充分參考了企業(yè)的實際生產(chǎn)工作,在保證系統(tǒng)的可靠性、安全性、可擴展性的基礎上,盡可能滿足用戶在使用中操作簡單便捷、流程效率高的需求。
基于需求,分解出四大系統(tǒng)模塊,分別為基礎信息模塊、問題信息模塊、工藝流程模塊、質(zhì)量檢測模塊。
(1)基礎信息模塊:主要負責存儲公司人員信息,相應的人員所屬的部門、職位,以及每個員工負責的工段與工位??墒股a(chǎn)信息追溯到具體的人員。
(2)問題信息模塊:用來記錄工藝流程中的各種問題,自動生成各種問題表單。提交者需要對問題進行相應的描述,如有必要可以提交問題所對應的實際圖片,然后通過上級審批,研究整改方案。整改表單會記錄整改的每一個參數(shù),以及整改后的實際情況,是否整改到位合格,整改后也需要上級領導審批。有的整改信息都會保存進數(shù)據(jù)庫,方便以后遇到同樣問題時進行借鑒。
(3)工藝流程模塊:主要處理焊接工藝、涂膠工藝、緊固工藝3 種工藝。包括工藝基本參數(shù),使用設備的基本參數(shù)。
(4)質(zhì)量檢測模塊:檢測質(zhì)量是否合格,以及質(zhì)量所對應的等級。分為焊接校對、涂膠校對、緊固校對,如果不合格需要具體明確不合格的缺陷類型。
工藝部門是制造業(yè)企業(yè)的核心部門,指導著整個企業(yè)的生產(chǎn)規(guī)劃,因此本工藝系統(tǒng)對系統(tǒng)運行的數(shù)據(jù)一致性與響應速度、穩(wěn)定性、兼容性、安全性有較高的要求。
(1)數(shù)據(jù)一致性與響應速度
在工藝系統(tǒng)運行的過程中,會涉及到多個子公司的工藝部門的生產(chǎn)數(shù)據(jù)和工藝數(shù)據(jù),如若系統(tǒng)不能保證有較快的響應速度,則會導致工作人員在操作時候看到的數(shù)據(jù)是滯后而不是時時的,若系統(tǒng)的響應速度快且數(shù)據(jù)一致,則下游部門也可以及時反饋有關數(shù)據(jù)問題。
(2)穩(wěn)定性
本工藝系統(tǒng)將會在公司內(nèi)長時間運行,如若系統(tǒng)的服務器不能正常工作,或者因為有關人員誤操作而導致宕機,將會對公司造成無法估量的經(jīng)濟損失,所以在系統(tǒng)設計的過程中要充分考慮系統(tǒng)架構(gòu)的影響,且盡量保證系統(tǒng)細節(jié)上的編碼具有魯棒性和可靠性[2]。
(3)兼容性
考慮到系統(tǒng)的兼容性,采用B/S 結(jié)構(gòu)模式,避免了系統(tǒng)在設備和操作系統(tǒng)兼容性問題,只需通過前端代碼解決瀏覽器兼容性的問題即可[3]。
(4)安全性
工藝部門涉及到大量的工藝數(shù)據(jù),這些數(shù)據(jù)可以說是零件制造的核心所在,所以系統(tǒng)的訪問安全性最為重要。由于B/S 網(wǎng)絡結(jié)構(gòu)模式在數(shù)據(jù)安全問題上有著天然的不足,因此需要更加注重系統(tǒng)在用戶登錄認證以及權(quán)限管理模塊的設計。
在整體需求基礎上,將各個模塊進行細化,拆分為如圖1 所示的系統(tǒng)模塊設計。
圖1 系統(tǒng)功能模塊設計圖Fig.1 System function module design
工藝系統(tǒng)目前共有4 個模塊,分別為基礎信息、問題處理、工藝流程、質(zhì)量檢測。
(1)基礎信息應用模塊包括公司部門信息、職位信息、工位信息、工段信息、員工的基本信息,以及部門、職位、工段、工位、員工所屬關系。
(2)問題處理應用模塊主要是記錄汽車缺陷類型以及相應的負責人、整改方法等問題的相關數(shù)據(jù)信息。
(3)工藝流程應用模塊首先要處理以前的數(shù)據(jù),通過用戶上傳工藝卡片將對應的字段數(shù)據(jù)自動讀入進MySQL 數(shù)據(jù)庫中。其次將采用工藝系統(tǒng)填寫參數(shù)的數(shù)據(jù)存進數(shù)據(jù)庫,方便以后進行操作。
(4)質(zhì)量檢測應用模塊負責記錄每次處理完之后的質(zhì)量情況,以及相對應的負責人等質(zhì)量信息。
系統(tǒng)服務于企業(yè)的工藝管理部門,使用者主要是工藝部門的工藝工程師以及質(zhì)檢部門的質(zhì)量檢測工程師,且根據(jù)工藝師的職能不同,系統(tǒng)需要設置各個部門組的管理人員。系統(tǒng)通過數(shù)據(jù)庫管理員賬號為每個員工創(chuàng)建賬戶,將每個用戶按照實際所在的組(工作部門)分配系統(tǒng)權(quán)限,即各個組管理員有權(quán)限可以將員工拉進自己的組中,不同的組對應著不同的權(quán)限,從而自由靈活地根據(jù)需求綁定權(quán)限,使人員效率利用最大化。
在本系統(tǒng)中的3 類用戶:
(1)Database Administrator(數(shù)據(jù)庫管理員),負責數(shù)據(jù)庫的數(shù)據(jù)管理,包括定期的數(shù)據(jù)維護、系統(tǒng)維護,以及創(chuàng)建新員工賬戶并初始化權(quán)限等。
(2)Manager 級別主要包括Product Manager(產(chǎn)品經(jīng)理,PM)和Engagement Manager (項目經(jīng)理,EM)
(3)Engineer 級別主要包括Process Engineer(工藝工程師,PE)和Quality Engineer(質(zhì)量工程師,QE)。
數(shù)據(jù)導入功能是指將工程師手動填寫的工藝卡片導入數(shù)據(jù)庫,并且能夠通過工藝編號自動判斷此工藝在原本的數(shù)據(jù)庫中是否已經(jīng)存在。如果存在,則將此類工藝的版本號進行自動升級加以操作;如果不存在,則在數(shù)據(jù)庫中新建此類工藝字段數(shù)據(jù)。
質(zhì)量檢測工程師需要上傳質(zhì)量檢測時存在的對應問題的圖片,以及重新整改過后合格零件的圖片。
數(shù)據(jù)導出功能是指將工藝卡片或者圖片導出,或者質(zhì)檢問題圖片方便現(xiàn)場實施,并可以在瀏覽器中直接打印。
導入與導出在工藝工程師和質(zhì)量檢測工程師的操作場合都有涉及,因此把這個功能剝離出來單獨設計封裝。系統(tǒng)通過前端頁面上傳文件,利用AJAX 框架技術進行異步上傳文件,導入文件數(shù)據(jù)以文件流的形式,要通過瀏覽器自身提供的FormData 將文件內(nèi)容插入進去,最后利用XMLHttpRequest 提交[5]。在后端,代碼程序通過文件后綴檢查如xlsx 以及常見的圖片格式進行簡單的文件過濾,判斷文件是否為系統(tǒng)支持的類型。最后系統(tǒng)通過后端編寫的解析代碼對文件流中的數(shù)據(jù)進行相對應的解析,將解析好的數(shù)據(jù)存儲在服務器的文件系統(tǒng)或?qū)懭胨鶎臄?shù)據(jù)庫表單中。
系統(tǒng)文件導出有2 種:一種是直接將頁面表單打印,另一種是生成Excel 導出。用戶點擊前端界面相應的按鈕組件,向后端發(fā)送對應的URL請求,則后端首先會將相應的數(shù)據(jù)內(nèi)容解析成文件流形式,然后保存在服務器的文件系統(tǒng)中,最后將文件的URI 通過AJAX 返回發(fā)送至前端瀏覽器[6],供用戶下載或者打印。導入導出模塊業(yè)務流程如圖2 所示。
圖2 導入導出模塊業(yè)務圖Fig.2 Import and export module service
系統(tǒng)界面參照了許多同類型管理系統(tǒng)布局,給出了如圖3 的設計,滿足企業(yè)對系統(tǒng)頁面的簡潔樸素的要求。
圖3 系統(tǒng)界面效果圖Fig.3 System interface
工藝管理系統(tǒng)界面主要分為3 個部分:導航欄、用戶區(qū)、信息區(qū)。上方導航欄采用二級導航,當鼠標移動或點擊每個模塊時候,每個模塊的子標題會顯示出來。簡單快捷幫助用戶導航;右上方用戶區(qū)顯示了登錄用戶賬戶的基本信息以及當前時間等;信息區(qū)展現(xiàn)了每個模塊所需要展現(xiàn)的相關信息。
系統(tǒng)登錄直接使用Django REST framework 自帶的登錄驗證組件。用戶在登錄界面中輸入用戶名和密碼,數(shù)據(jù)通過加密發(fā)送給后端,后端通過到用戶表中查詢驗證是否正確。登錄驗證流程如圖4 所示。
圖4 登錄驗證流程圖Fig.4 Login verification flow chart
由于自動和手動的文件格式不同,內(nèi)容也有所差距,這就給讀取數(shù)據(jù)造成些許麻煩,因此要求工程師需要在界面中選擇界面的相對應選項,然后上傳文件,填入界面如圖5 所示,后端會根據(jù)前端傳回來的參數(shù)選擇使用相對應的函數(shù),自動讀取文件中的數(shù)據(jù)并填入數(shù)據(jù)庫中。
圖5 數(shù)據(jù)導入頁面Fig.5 Data import page
Django Rest framework 作為簡單、快速開發(fā)的Web 框架代表,利用模塊化的思想降低系統(tǒng)耦合度,同時前后端分離開發(fā),采用Nginx 進行反向代理,提升系統(tǒng)開發(fā)速度。本系統(tǒng)的設計基本實現(xiàn)了企業(yè)的目前的需求。對車輛制造的工藝數(shù)據(jù)進行數(shù)字化、智能化管理,大大提升了企業(yè)的工藝部門的工作效率。