夏 棟,蔣高明
(江南大學(xué)教育部針織技術(shù)工程研究中心,江蘇無錫 214122)
進(jìn)入21世紀(jì)以來,經(jīng)編生產(chǎn)的規(guī)模日益擴(kuò)大,經(jīng)編企業(yè)經(jīng)編機(jī)持有量、員工數(shù)量、產(chǎn)品訂單量和產(chǎn)品產(chǎn)量等都大幅增加,傳統(tǒng)的生產(chǎn)管理模式已不再適用于現(xiàn)今的經(jīng)編生產(chǎn)環(huán)境,信息化應(yīng)用已成為當(dāng)今行業(yè)制勝的不二選擇,因此,制造執(zhí)行系統(tǒng)(MES)在經(jīng)編行業(yè)的應(yīng)用已成為急需落實(shí)的課題。
經(jīng)編制造執(zhí)行系統(tǒng)作為一種新型的生產(chǎn)管理手段,能有效地將經(jīng)編車間現(xiàn)場(chǎng)與企業(yè)管理層連接起來,順利完成生產(chǎn)指令的及時(shí)下達(dá)和生產(chǎn)數(shù)據(jù)的實(shí)時(shí)反饋,并根據(jù)反饋的生產(chǎn)數(shù)據(jù)作出統(tǒng)計(jì)分析,方便企業(yè)及時(shí)作出生產(chǎn)調(diào)整,因此,數(shù)據(jù)采集和數(shù)據(jù)分析是經(jīng)編制造執(zhí)行系統(tǒng)的關(guān)鍵[1-2]。目前,在經(jīng)編生產(chǎn)過程中,生產(chǎn)計(jì)劃的下達(dá)和車間現(xiàn)場(chǎng)數(shù)據(jù)的采集大都基于工作袋、卡片記錄和工控機(jī)等方式,這些方式存在數(shù)據(jù)安全性低、不準(zhǔn)確、不易管理等問題[3-4],本文針對(duì)這一現(xiàn)狀,提出一種基于 ARM 的經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng),旨在建立一種適用于經(jīng)編制造執(zhí)行系統(tǒng)的數(shù)據(jù)采集方式,加強(qiáng)經(jīng)編制造執(zhí)行系統(tǒng)的現(xiàn)場(chǎng)車間適用性,推動(dòng)經(jīng)編制造執(zhí)行系統(tǒng)在企業(yè)的應(yīng)用。
經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)在本質(zhì)上就是一個(gè)基于ARM的嵌入式系統(tǒng)。在國(guó)內(nèi),普遍認(rèn)同的嵌入式系統(tǒng)的定義就是以應(yīng)用為中心,并以計(jì)算機(jī)技術(shù)為基礎(chǔ),對(duì)軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì)可靠性、成本、體積、功能、功耗等有嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。
根據(jù)嵌入式的定義,經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)是一個(gè)面向用戶、面向產(chǎn)品、面向應(yīng)用的計(jì)算機(jī)系統(tǒng)。系統(tǒng)框架原理如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)示意圖Fig.1 Schematic diagram of system
系統(tǒng)主要由硬件層、中間層、軟件層構(gòu)成。硬件層包括了嵌入式微處理器、存儲(chǔ)器(SDRAM、ROM、Flash等)、通用設(shè)備接口和I/O接口等,其中,嵌入式微處理器是硬件層的核心。在硬件層與軟件層之間為中間層,中間層也稱為硬件抽象層或板級(jí)支持包,它將上層軟件與底層硬件分離開來,使得這2部分具有各自的相關(guān)性。軟件層由實(shí)時(shí)多任務(wù)操作系統(tǒng)、文件系統(tǒng)、圖形用戶接口和網(wǎng)絡(luò)系統(tǒng)及通用組件模塊組成,其中操作系統(tǒng)是軟件層的操作核心[5-6]。
經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)的主要工作原理就在于數(shù)據(jù)的采集、顯示和傳輸。在系統(tǒng)中,由增量式編碼器完成對(duì)經(jīng)編機(jī)機(jī)速的直接采集,部分觀測(cè)數(shù)據(jù)和定量由擋車工手動(dòng)輸入,通過圖形用戶接口在LCD液晶屏上進(jìn)行直觀的顯示,以方便擋車工的實(shí)時(shí)查看,最后,本系統(tǒng)需要與上位機(jī)進(jìn)行通信,將所采集到的數(shù)據(jù)實(shí)時(shí)準(zhǔn)確地傳送到上位機(jī),為上位機(jī)數(shù)據(jù)統(tǒng)計(jì)分析提供參考來源。
在經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)中,嵌入式微處理器和實(shí)時(shí)多任務(wù)操作系統(tǒng)是整個(gè)數(shù)據(jù)采集系統(tǒng)的核心。這2部分在板級(jí)支持包的支撐下,具有各自的獨(dú)立性和相關(guān)性,即這2個(gè)部分在設(shè)計(jì)的過程中無需互相聯(lián)系,如上層軟件開發(fā)無需關(guān)心底層硬件的具體情況,但這并非意味二者就是完全獨(dú)立的,最終系統(tǒng)的運(yùn)行成功與否取決于實(shí)時(shí)操作系統(tǒng)是否有效地移植于微處理器上。所以,本文將著重分析這2個(gè)部分的體系結(jié)構(gòu)和移植過程。
鑒于數(shù)據(jù)采集系統(tǒng)需要在每臺(tái)經(jīng)編機(jī)上進(jìn)行安裝,成本問題是系統(tǒng)開發(fā)過程中首先需要考慮的問題,因此,對(duì)微處理器的選擇需要充分考慮性價(jià)比。目前,全世界現(xiàn)有的嵌入式微處理器已超過1000多種,體系結(jié)構(gòu)有30多種,但主流體系一般為ARM、PowerPC、X86和 MIPS等,其中 ARM 體系的微處理器占據(jù)了絕大多數(shù)的市場(chǎng)。ARM Cortex-M3體系的微處理器針對(duì)性能要求較高、成本敏感的場(chǎng)合,非常適用于本系統(tǒng)的應(yīng)用層次,而意法半導(dǎo)體公司出品的STM32F系列就是基于這一體系的[7-8]。
綜上所述,STM32F系列內(nèi)部主要擁有3條總線,分別為ARM高速總線矩陣、ARM高速外設(shè)總線和ARM低速外設(shè)總線,其簡(jiǎn)明結(jié)構(gòu)如圖2所示。
圖2 STM32F系列簡(jiǎn)明結(jié)構(gòu)Fig.2 Concise structure of STM32F
盡管STM32F系列具有多重總線,但其存儲(chǔ)區(qū)仍為一個(gè)線性的4 GB地址空間,存儲(chǔ)區(qū)開始的1 GB空間分別為Code區(qū)(代碼)和SRAM區(qū)(靜態(tài)內(nèi)存)。代碼區(qū)使用經(jīng)過優(yōu)化的I-Code總線來連接,靜態(tài)內(nèi)存區(qū)使用D-Code總線連接。接下來的0.5 GB存儲(chǔ)空間為片上外設(shè)區(qū),所有微控制器的用戶設(shè)備的基地址都存放在這個(gè)區(qū)域內(nèi)。隨后的2 GB地址空間是拓展外部SRAM和外部設(shè)備用的,而最后的0.5 GB是處理器內(nèi)部設(shè)備區(qū),為增加特殊功能而留。存儲(chǔ)區(qū)空間如圖3所示。
圖3 系統(tǒng)存儲(chǔ)區(qū)Fig.3 Memory block of system
目前市場(chǎng)上已經(jīng)涌現(xiàn)了大量實(shí)用的操作系統(tǒng),主要分為免費(fèi)型和商用型2種,其中免費(fèi)型的主要有Linux和μC/OS,考慮到成本與應(yīng)用水平,經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)完全可基于μC/OS。
μC/OS-II是一款源碼公開的實(shí)時(shí)操作系統(tǒng),以小內(nèi)核、多任務(wù)、實(shí)時(shí)性好、豐富的系統(tǒng)服務(wù)、易使用等特點(diǎn)受到開發(fā)者的歡迎[9]。圖4示出μC/OS-II的簡(jiǎn)要文件結(jié)構(gòu)。其系統(tǒng)主要部分包含任務(wù)調(diào)度與管理、任務(wù)通信與同步、內(nèi)存管理、CPU移植性等部分。要使μC/OS-II在STM32F系列處理器上正常運(yùn)行,就必須經(jīng)過移植這個(gè)步驟,其移植的主要工作就是編寫圖4中的 OS_CPU.H、OS_CPU_C.C和OS_CPU_A.SM[10]這3 個(gè)文件。
在OS_CPU.H文件中,包含了與處理器相關(guān)的常量、宏以及結(jié)構(gòu)體定義。由于μC/OS-II不使用int、short、long等數(shù)據(jù)類型,但在編譯器編譯過程中需要使用到這些數(shù)據(jù)類型,因此為確保移植實(shí)施,需要定義與編譯器相關(guān)的數(shù)據(jù)類型。其次,對(duì)于進(jìn)入和退出臨界區(qū)的2個(gè)宏,也需要重新定義。在這個(gè)文件之中,在完成徹底的修改之前,還需要注釋與系統(tǒng)時(shí)鐘有關(guān)的幾個(gè)函數(shù)。
圖4 C/OS-II文件結(jié)構(gòu)Fig.4 File structure of C/OS-II
在OS_CPU_C.C文件中,需要編寫幾個(gè)簡(jiǎn)單的C函數(shù),其中一個(gè)為任務(wù)堆棧初始化函數(shù)OSTaskStkInit(),另外幾個(gè)函數(shù)是鉤子函數(shù),它們?yōu)橄到y(tǒng)對(duì)外的接口函數(shù),如 OSTaskCreateHook()、OsTaskDelHook()、OSTaskSwHook()等。其中,對(duì)于任務(wù)堆棧初始化函數(shù),需要對(duì)??臻g逐次進(jìn)行地址的分配,來完成這一函數(shù)的編寫。
在OS_CPU_A.SM文件中,主要寫幾個(gè)與硬件有關(guān)的代碼,因此在移植過程中,需要對(duì)處理器相關(guān)的幾個(gè)函數(shù)進(jìn)行說明,在此之前需要先對(duì)相關(guān)變量進(jìn)行說明。其中,與處理器相關(guān)的幾個(gè)函數(shù)分別為OSStartHignRdy()、OSIntCtxSw()、OSTickISR()、OSCtxSw()、PendSVC 等。
對(duì)這些函數(shù)依次進(jìn)行說明后,也就完成了μC/OS-II在STM32F系列處理器上的移植,再經(jīng)過簡(jiǎn)單代碼的測(cè)試驗(yàn)證,如正常工作,便證明移植成功。
在本系統(tǒng)中,針對(duì)系統(tǒng)所要實(shí)現(xiàn)的功能,將其分為3個(gè)部分,即數(shù)據(jù)采集部分、液晶顯示部分和通信傳輸部分。本系統(tǒng)直接采集的數(shù)據(jù)來自增量式編碼器所測(cè)得的經(jīng)編機(jī)當(dāng)前機(jī)速,通過機(jī)速和其他手動(dòng)輸入的一級(jí)數(shù)據(jù),再由理論公式的推導(dǎo)便可得到較為精準(zhǔn)的二級(jí)數(shù)據(jù)。數(shù)據(jù)采集系統(tǒng)所產(chǎn)生的數(shù)據(jù)分別為:機(jī)速 V,r/min;縱密 PB,橫列/cm;當(dāng)班產(chǎn)量AL,m;生產(chǎn)效率 η,%;落布米數(shù) LL,m;當(dāng)前生產(chǎn)米數(shù) LD,m;擋車工工號(hào);停車記錄;時(shí)間 T 等[11]。其中機(jī)速V、縱密PB、落布米數(shù)LL、擋車工工號(hào)、停車記錄等屬于一級(jí)數(shù)據(jù)。通過它們進(jìn)行推導(dǎo)得到其他數(shù)據(jù),主要推導(dǎo)如下。
假設(shè),已落完一卷布匹,時(shí)間T從新的一卷布匹開始計(jì)時(shí),當(dāng)前生產(chǎn)米數(shù)用下式計(jì)算:
當(dāng)班產(chǎn)量AL是通過累加的方式得到的,設(shè)上一位擋車工交接工作時(shí)的當(dāng)前生產(chǎn)米數(shù)為L(zhǎng)D1,當(dāng)前擋車工交接工作時(shí)的當(dāng)前生產(chǎn)米數(shù)為L(zhǎng)D2,在當(dāng)前這位擋車工擋車期間共落布N次,則可對(duì)當(dāng)班產(chǎn)量進(jìn)行計(jì)算:AL=(LL-LD1)+LD2+NLL。
在對(duì)生產(chǎn)效率的考量中,本文主要以停車時(shí)間與開車時(shí)間來進(jìn)行計(jì)算,設(shè)停車時(shí)間為t1,開車時(shí)間為t2,則生產(chǎn)效率η =10t2/(t1+t2)。
對(duì)于停車記錄,考慮到停車原因的種類較多,綜合實(shí)際生產(chǎn)的情況,本文對(duì)較為常見的停車種類進(jìn)行了歸納總結(jié)。主要分為以下10種:換軸、斷紗、張力異常、漏針、橫豎條痕、織針故障、落布、工藝調(diào)試、電氣故障、其他,分別用0~9這10個(gè)數(shù)字對(duì)其進(jìn)行編號(hào),針對(duì)不同的停車原因,落實(shí)到具體的經(jīng)軸與梳櫛。這些都需要人工手動(dòng)輸入,但也是及時(shí)得到的一級(jí)數(shù)據(jù)。
在經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)上配備液晶顯示屏,旨在使數(shù)據(jù)的顯示更為直觀實(shí)時(shí)。同時(shí)為方便一線生產(chǎn)工人的操作,就必須從使用的簡(jiǎn)便性和耐勞性進(jìn)行思考,再者,還需要考慮到成本問題。綜上所述,本系統(tǒng)采用的是非觸摸屏,這很好地避免了觸摸屏在車間環(huán)境下不夠耐用和價(jià)格偏高的問題。由于部分?jǐn)?shù)據(jù)仍需要擋車工手動(dòng)輸入,所以數(shù)據(jù)的輸入方式要盡可能地簡(jiǎn)單,在設(shè)計(jì)過程中,也盡量用幾個(gè)簡(jiǎn)單的數(shù)字鍵和方向鍵來完成整個(gè)輸入的動(dòng)作。經(jīng)過設(shè)計(jì),經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)的界面主要分為生產(chǎn)狀態(tài)界面、停車記錄界面、工藝參數(shù)界面、生產(chǎn)設(shè)置界面和初始調(diào)試界面等5個(gè)界面。
在采集到經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)將需要的生產(chǎn)數(shù)據(jù)以后,需要配合上位機(jī)的工作,實(shí)時(shí)將數(shù)據(jù)發(fā)送到上位機(jī),這里就涉及到二者間的通信問題。數(shù)據(jù)采集終端與上位機(jī)終端通過zigbee無線模塊進(jìn)行數(shù)據(jù)的交換,在數(shù)據(jù)交換過程中,需要對(duì)其通信協(xié)議進(jìn)行了嚴(yán)格的定義,對(duì)數(shù)據(jù)格式、同步方式、傳送速度、傳送步驟、檢錯(cuò)糾錯(cuò)方式以及控制字符定義等問題做出統(tǒng)一規(guī)定。
本系統(tǒng)所遵守的串行通信協(xié)議為起止式異步協(xié)議。它的特點(diǎn)就是一個(gè)字符一個(gè)字符傳輸,并且傳送一個(gè)字符總是以起始位開始,以停止位結(jié)束,而且在字符之間沒有固定的時(shí)間間隔要求。表1示出本系統(tǒng)所設(shè)計(jì)的通信協(xié)議示例。通過規(guī)定同步碼、幀頭、有效數(shù)據(jù)、校驗(yàn)位和幀結(jié)束碼檢驗(yàn)通信數(shù)據(jù)的準(zhǔn)確性,并通過定義有效數(shù)據(jù)的偏移量實(shí)現(xiàn)了數(shù)據(jù)的基本加密,使得通信過程更加安全,抗干擾能力得以加強(qiáng)。對(duì)機(jī)器速度、停車次數(shù)及產(chǎn)量字段分別采用不同的數(shù)據(jù)格式,以縮短每幀數(shù)據(jù)的內(nèi)存量,減少傳輸?shù)恼`碼率[12]。
表1 通信協(xié)議Tab.1 Communication protocol
為驗(yàn)證數(shù)據(jù)采集系統(tǒng)的穩(wěn)定可靠,已將系統(tǒng)投入于無錫某經(jīng)編企業(yè)進(jìn)行測(cè)試使用?,F(xiàn)抽取進(jìn)行經(jīng)編絨布生產(chǎn)的4個(gè)班,將系統(tǒng)采集的班產(chǎn)量和機(jī)速與Kamcos工控機(jī)的數(shù)據(jù)進(jìn)行對(duì)比,結(jié)果如表2所示。
由表可知:系統(tǒng)終端所采集的機(jī)器速度與Kamcos所測(cè)的機(jī)速在數(shù)據(jù)上是一致的,不存在誤差;而系統(tǒng)終端所測(cè)得的班產(chǎn)量與Kamcos所測(cè)的班產(chǎn)量相比,存在較小的可控誤差,總體誤差都未超過1%。通過這組數(shù)據(jù)來看,數(shù)據(jù)采集系統(tǒng)所采集的數(shù)據(jù)與原機(jī)器數(shù)據(jù)相比,相對(duì)合理可靠,系統(tǒng)總體采集情況比較穩(wěn)定,因此,本系統(tǒng)可嘗試進(jìn)行更大范圍的試用,以推動(dòng)MES的快速應(yīng)用。
本文在了解經(jīng)編生產(chǎn)實(shí)際的基礎(chǔ)上,深入研究嵌入式系統(tǒng)的工作原理,得出如下結(jié)論。
1)通過對(duì)經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)硬件核心與軟件核心的研究,采用通用的移植方法,實(shí)現(xiàn)了實(shí)時(shí)多任務(wù)操作系統(tǒng)在嵌入式微處理器上的成功移植。
表2 數(shù)據(jù)對(duì)比Tab.2 Comparison of data
2)通過對(duì)經(jīng)編生產(chǎn)實(shí)際和數(shù)據(jù)采集系統(tǒng)原理的研究,分析設(shè)計(jì)了系統(tǒng)數(shù)據(jù)采集模塊、液晶顯示模塊和通信傳輸模塊等幾個(gè)主要模塊。
3)通過實(shí)際應(yīng)用與數(shù)據(jù)對(duì)比,驗(yàn)證了經(jīng)編生產(chǎn)數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)的可靠性。
此外,鑒于本階段的研究水平還未達(dá)到全面的自動(dòng)化,仍需要在后續(xù)的研究中進(jìn)行解決。
[1] 王琦峰.面向離散制造業(yè)的制造執(zhí)行系統(tǒng)研究[J].成組技術(shù)與生產(chǎn)現(xiàn)代化,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] 邱佳龍,張佑才.信息化條件下生產(chǎn)型企業(yè)實(shí)時(shí)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件導(dǎo)刊,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] 朱啟.經(jīng)編MES系統(tǒng)的開發(fā)[D].無錫:江南大學(xué),2012:1-6.ZHU Qi.The development of manufacturing execution system of warp knitting[D].Wuxi:Jiangnan University,2012:1-6.
[4] 朱啟,蔣高明,叢紅蓮,等.基于B/S結(jié)構(gòu)的經(jīng)編MES系統(tǒng)[J].紡織學(xué)報(bào),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] 沈國(guó)華.基于ARM和μC/OS-II的嵌入式數(shù)據(jù)采集系統(tǒng)的研究[D].太原:中北大學(xué),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ā)與應(yīng)用[M].北京:清華大學(xué)出版社,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的數(shù)據(jù)采集系統(tǒng)硬件部分實(shí)現(xiàn)[J].微計(jì)算機(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的數(shù)據(jù)采集平臺(tái)應(yīng)用研究[D].北京:中國(guó)石油大學(xué),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的嵌入式操作系統(tǒng)μC/OS-II的移植和應(yīng)用研究[D].成都:電子科技大學(xué),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] 蔣高明.經(jīng)編針織物生產(chǎn)技術(shù)—經(jīng)編理論與典型產(chǎn)品[M].北京:中國(guó)紡織出版社,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++實(shí)踐與提高:串口通信與工程應(yīng)用篇[M].北京:中國(guó)鐵道出版社,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.