夏 棟,蔣高明
(江南大學教育部針織技術工程研究中心,江蘇無錫 214122)
進入21世紀以來,經編生產的規(guī)模日益擴大,經編企業(yè)經編機持有量、員工數量、產品訂單量和產品產量等都大幅增加,傳統的生產管理模式已不再適用于現今的經編生產環(huán)境,信息化應用已成為當今行業(yè)制勝的不二選擇,因此,制造執(zhí)行系統(MES)在經編行業(yè)的應用已成為急需落實的課題。
經編制造執(zhí)行系統作為一種新型的生產管理手段,能有效地將經編車間現場與企業(yè)管理層連接起來,順利完成生產指令的及時下達和生產數據的實時反饋,并根據反饋的生產數據作出統計分析,方便企業(yè)及時作出生產調整,因此,數據采集和數據分析是經編制造執(zhí)行系統的關鍵[1-2]。目前,在經編生產過程中,生產計劃的下達和車間現場數據的采集大都基于工作袋、卡片記錄和工控機等方式,這些方式存在數據安全性低、不準確、不易管理等問題[3-4],本文針對這一現狀,提出一種基于 ARM 的經編生產數據實時采集系統,旨在建立一種適用于經編制造執(zhí)行系統的數據采集方式,加強經編制造執(zhí)行系統的現場車間適用性,推動經編制造執(zhí)行系統在企業(yè)的應用。
經編生產數據實時采集系統在本質上就是一個基于ARM的嵌入式系統。在國內,普遍認同的嵌入式系統的定義就是以應用為中心,并以計算機技術為基礎,對軟硬件可裁剪,適應應用系統對可靠性、成本、體積、功能、功耗等有嚴格要求的專用計算機系統。
根據嵌入式的定義,經編生產數據實時采集系統是一個面向用戶、面向產品、面向應用的計算機系統。系統框架原理如圖1所示。
圖1 系統結構示意圖Fig.1 Schematic diagram of system
系統主要由硬件層、中間層、軟件層構成。硬件層包括了嵌入式微處理器、存儲器(SDRAM、ROM、Flash等)、通用設備接口和I/O接口等,其中,嵌入式微處理器是硬件層的核心。在硬件層與軟件層之間為中間層,中間層也稱為硬件抽象層或板級支持包,它將上層軟件與底層硬件分離開來,使得這2部分具有各自的相關性。軟件層由實時多任務操作系統、文件系統、圖形用戶接口和網絡系統及通用組件模塊組成,其中操作系統是軟件層的操作核心[5-6]。
經編生產數據實時采集系統的主要工作原理就在于數據的采集、顯示和傳輸。在系統中,由增量式編碼器完成對經編機機速的直接采集,部分觀測數據和定量由擋車工手動輸入,通過圖形用戶接口在LCD液晶屏上進行直觀的顯示,以方便擋車工的實時查看,最后,本系統需要與上位機進行通信,將所采集到的數據實時準確地傳送到上位機,為上位機數據統計分析提供參考來源。
在經編生產數據實時采集系統中,嵌入式微處理器和實時多任務操作系統是整個數據采集系統的核心。這2部分在板級支持包的支撐下,具有各自的獨立性和相關性,即這2個部分在設計的過程中無需互相聯系,如上層軟件開發(fā)無需關心底層硬件的具體情況,但這并非意味二者就是完全獨立的,最終系統的運行成功與否取決于實時操作系統是否有效地移植于微處理器上。所以,本文將著重分析這2個部分的體系結構和移植過程。
鑒于數據采集系統需要在每臺經編機上進行安裝,成本問題是系統開發(fā)過程中首先需要考慮的問題,因此,對微處理器的選擇需要充分考慮性價比。目前,全世界現有的嵌入式微處理器已超過1000多種,體系結構有30多種,但主流體系一般為ARM、PowerPC、X86和 MIPS等,其中 ARM 體系的微處理器占據了絕大多數的市場。ARM Cortex-M3體系的微處理器針對性能要求較高、成本敏感的場合,非常適用于本系統的應用層次,而意法半導體公司出品的STM32F系列就是基于這一體系的[7-8]。
綜上所述,STM32F系列內部主要擁有3條總線,分別為ARM高速總線矩陣、ARM高速外設總線和ARM低速外設總線,其簡明結構如圖2所示。
圖2 STM32F系列簡明結構Fig.2 Concise structure of STM32F
盡管STM32F系列具有多重總線,但其存儲區(qū)仍為一個線性的4 GB地址空間,存儲區(qū)開始的1 GB空間分別為Code區(qū)(代碼)和SRAM區(qū)(靜態(tài)內存)。代碼區(qū)使用經過優(yōu)化的I-Code總線來連接,靜態(tài)內存區(qū)使用D-Code總線連接。接下來的0.5 GB存儲空間為片上外設區(qū),所有微控制器的用戶設備的基地址都存放在這個區(qū)域內。隨后的2 GB地址空間是拓展外部SRAM和外部設備用的,而最后的0.5 GB是處理器內部設備區(qū),為增加特殊功能而留。存儲區(qū)空間如圖3所示。
圖3 系統存儲區(qū)Fig.3 Memory block of system
目前市場上已經涌現了大量實用的操作系統,主要分為免費型和商用型2種,其中免費型的主要有Linux和μC/OS,考慮到成本與應用水平,經編生產數據實時采集系統完全可基于μC/OS。
μC/OS-II是一款源碼公開的實時操作系統,以小內核、多任務、實時性好、豐富的系統服務、易使用等特點受到開發(fā)者的歡迎[9]。圖4示出μC/OS-II的簡要文件結構。其系統主要部分包含任務調度與管理、任務通信與同步、內存管理、CPU移植性等部分。要使μC/OS-II在STM32F系列處理器上正常運行,就必須經過移植這個步驟,其移植的主要工作就是編寫圖4中的 OS_CPU.H、OS_CPU_C.C和OS_CPU_A.SM[10]這3 個文件。
在OS_CPU.H文件中,包含了與處理器相關的常量、宏以及結構體定義。由于μC/OS-II不使用int、short、long等數據類型,但在編譯器編譯過程中需要使用到這些數據類型,因此為確保移植實施,需要定義與編譯器相關的數據類型。其次,對于進入和退出臨界區(qū)的2個宏,也需要重新定義。在這個文件之中,在完成徹底的修改之前,還需要注釋與系統時鐘有關的幾個函數。
圖4 C/OS-II文件結構Fig.4 File structure of C/OS-II
在OS_CPU_C.C文件中,需要編寫幾個簡單的C函數,其中一個為任務堆棧初始化函數OSTaskStkInit(),另外幾個函數是鉤子函數,它們?yōu)橄到y對外的接口函數,如 OSTaskCreateHook()、OsTaskDelHook()、OSTaskSwHook()等。其中,對于任務堆棧初始化函數,需要對棧空間逐次進行地址的分配,來完成這一函數的編寫。
在OS_CPU_A.SM文件中,主要寫幾個與硬件有關的代碼,因此在移植過程中,需要對處理器相關的幾個函數進行說明,在此之前需要先對相關變量進行說明。其中,與處理器相關的幾個函數分別為OSStartHignRdy()、OSIntCtxSw()、OSTickISR()、OSCtxSw()、PendSVC 等。
對這些函數依次進行說明后,也就完成了μC/OS-II在STM32F系列處理器上的移植,再經過簡單代碼的測試驗證,如正常工作,便證明移植成功。
在本系統中,針對系統所要實現的功能,將其分為3個部分,即數據采集部分、液晶顯示部分和通信傳輸部分。本系統直接采集的數據來自增量式編碼器所測得的經編機當前機速,通過機速和其他手動輸入的一級數據,再由理論公式的推導便可得到較為精準的二級數據。數據采集系統所產生的數據分別為:機速 V,r/min;縱密 PB,橫列/cm;當班產量AL,m;生產效率 η,%;落布米數 LL,m;當前生產米數 LD,m;擋車工工號;停車記錄;時間 T 等[11]。其中機速V、縱密PB、落布米數LL、擋車工工號、停車記錄等屬于一級數據。通過它們進行推導得到其他數據,主要推導如下。
假設,已落完一卷布匹,時間T從新的一卷布匹開始計時,當前生產米數用下式計算:
當班產量AL是通過累加的方式得到的,設上一位擋車工交接工作時的當前生產米數為LD1,當前擋車工交接工作時的當前生產米數為LD2,在當前這位擋車工擋車期間共落布N次,則可對當班產量進行計算:AL=(LL-LD1)+LD2+NLL。
在對生產效率的考量中,本文主要以停車時間與開車時間來進行計算,設停車時間為t1,開車時間為t2,則生產效率η =10t2/(t1+t2)。
對于停車記錄,考慮到停車原因的種類較多,綜合實際生產的情況,本文對較為常見的停車種類進行了歸納總結。主要分為以下10種:換軸、斷紗、張力異常、漏針、橫豎條痕、織針故障、落布、工藝調試、電氣故障、其他,分別用0~9這10個數字對其進行編號,針對不同的停車原因,落實到具體的經軸與梳櫛。這些都需要人工手動輸入,但也是及時得到的一級數據。
在經編生產數據實時采集系統上配備液晶顯示屏,旨在使數據的顯示更為直觀實時。同時為方便一線生產工人的操作,就必須從使用的簡便性和耐勞性進行思考,再者,還需要考慮到成本問題。綜上所述,本系統采用的是非觸摸屏,這很好地避免了觸摸屏在車間環(huán)境下不夠耐用和價格偏高的問題。由于部分數據仍需要擋車工手動輸入,所以數據的輸入方式要盡可能地簡單,在設計過程中,也盡量用幾個簡單的數字鍵和方向鍵來完成整個輸入的動作。經過設計,經編生產數據實時采集系統的界面主要分為生產狀態(tài)界面、停車記錄界面、工藝參數界面、生產設置界面和初始調試界面等5個界面。
在采集到經編生產數據實時采集系統將需要的生產數據以后,需要配合上位機的工作,實時將數據發(fā)送到上位機,這里就涉及到二者間的通信問題。數據采集終端與上位機終端通過zigbee無線模塊進行數據的交換,在數據交換過程中,需要對其通信協議進行了嚴格的定義,對數據格式、同步方式、傳送速度、傳送步驟、檢錯糾錯方式以及控制字符定義等問題做出統一規(guī)定。
本系統所遵守的串行通信協議為起止式異步協議。它的特點就是一個字符一個字符傳輸,并且傳送一個字符總是以起始位開始,以停止位結束,而且在字符之間沒有固定的時間間隔要求。表1示出本系統所設計的通信協議示例。通過規(guī)定同步碼、幀頭、有效數據、校驗位和幀結束碼檢驗通信數據的準確性,并通過定義有效數據的偏移量實現了數據的基本加密,使得通信過程更加安全,抗干擾能力得以加強。對機器速度、停車次數及產量字段分別采用不同的數據格式,以縮短每幀數據的內存量,減少傳輸的誤碼率[12]。
表1 通信協議Tab.1 Communication protocol
為驗證數據采集系統的穩(wěn)定可靠,已將系統投入于無錫某經編企業(yè)進行測試使用?,F抽取進行經編絨布生產的4個班,將系統采集的班產量和機速與Kamcos工控機的數據進行對比,結果如表2所示。
由表可知:系統終端所采集的機器速度與Kamcos所測的機速在數據上是一致的,不存在誤差;而系統終端所測得的班產量與Kamcos所測的班產量相比,存在較小的可控誤差,總體誤差都未超過1%。通過這組數據來看,數據采集系統所采集的數據與原機器數據相比,相對合理可靠,系統總體采集情況比較穩(wěn)定,因此,本系統可嘗試進行更大范圍的試用,以推動MES的快速應用。
本文在了解經編生產實際的基礎上,深入研究嵌入式系統的工作原理,得出如下結論。
1)通過對經編生產數據實時采集系統硬件核心與軟件核心的研究,采用通用的移植方法,實現了實時多任務操作系統在嵌入式微處理器上的成功移植。
表2 數據對比Tab.2 Comparison of data
2)通過對經編生產實際和數據采集系統原理的研究,分析設計了系統數據采集模塊、液晶顯示模塊和通信傳輸模塊等幾個主要模塊。
3)通過實際應用與數據對比,驗證了經編生產數據實時采集系統的可靠性。
此外,鑒于本階段的研究水平還未達到全面的自動化,仍需要在后續(xù)的研究中進行解決。
[1] 王琦峰.面向離散制造業(yè)的制造執(zhí)行系統研究[J].成組技術與生產現代化,2008(1):9-12.WANG Qifeng.The study of manufacturing execution system faced to the discrete manufacturing industry[J].Group Technology & Production Modernization,2008(1):9-12.
[2] 邱佳龍,張佑才.信息化條件下生產型企業(yè)實時數據采集系統設計與實現[J].軟件導刊,2013(5):112-113.QIU Jialong, ZHANG Youcai. The design and implementation of real-time data acquisition systems for enterprises in the information age[J].Software Guide,2013(5),112-113.
[3] 朱啟.經編MES系統的開發(fā)[D].無錫:江南大學,2012:1-6.ZHU Qi.The development of manufacturing execution system of warp knitting[D].Wuxi:Jiangnan University,2012:1-6.
[4] 朱啟,蔣高明,叢紅蓮,等.基于B/S結構的經編MES系統[J].紡織學報,2013,34(1):128-132.ZHU Qi,JIANG Gaoming,CONG Honglian,et al.Development of manufacturing execution system of warp knitting based on B/S mode[J].Journal of Textile Research,2013,34(1):128 -132.
[5] 沈國華.基于ARM和μC/OS-II的嵌入式數據采集系統的研究[D].太原:中北大學,2009:10-30.SHEN Guohua.The study of the embedded data acquisition system based on ARM and μC/OS-II[D].Taiyuan:North University of China,2009:10-30.
[6] LEE Seung Woo,NAM So Jeong,LEE Jai-Kyung.Real-time data acquisition system and HMI for MES[J]. Journal of Mechanical Science and Technology,2012,26(8):2381-2388.
[7] 喻金錢,喻斌.STM32F系列ARMCortex-M3核微控制器開發(fā)與應用[M].北京:清華大學出版社,2011:1-201.YU Jinqian,YU Bin.The Development and Application of STM32 based on ARM Cortex-M3[M].Beijing:Tsinghua University Press,2011:1 -201.
[8] 王曉蓉,何小松,朱永榮.基于ARM的數據采集系統硬件部分實現[J].微計算機信息雜志,2008(23):161-162,199.WANG Xiaorong,HE Xiaosong,ZHU Yongrong.The hardware implementation of data acquisition systems based on ARM [J]. Micro Computer Information Magazine,2008(23):161-162,199.
[9] 趙憲龍.基于ARM與μC/OS-II的數據采集平臺應用研究[D].北京:中國石油大學,2012:23-33.ZHAO Xianlong.The study of data acquisition platform based on ARM and μC/OS-II[D].Beijing:China University of Petroleum,2012:23-33.
[10] 吳侃.基于ARM的嵌入式操作系統μC/OS-II的移植和應用研究[D].成都:電子科技大學,2009:25-45.WU Kan.The study and transplant of embedded operating system μC/OS-IIbased onARM[D].Chengdu:University of Electronic Science and Technology of China,2009:25 -45.
[11] 蔣高明.經編針織物生產技術—經編理論與典型產品[M].北京:中國紡織出版社,2010:134-138.JIANG Gaoming.Production Technology of Warp Knitted Fabric-Warp Knitting Theory and Typical Products[M].Beijing:China Textile & Apparel Press,2010:134-138.
[12] 劉書智,李琳娜.Visual C++實踐與提高:串口通信與工程應用篇[M].北京:中國鐵道出版社,2009:230-272.LIU Shuzhi,LI Linna.Practice and Improvement of Visual C++:Serial Port Communication and Engineering Application[M].Beijing:China Railway Publishing House,2009:230-272.