《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于S12X雙核微控制器的染色自動(dòng)化控制器
基于S12X雙核微控制器的染色自動(dòng)化控制器
來源:電子技術(shù)應(yīng)用2010年第11期
周怡君,毛玉良
東南大學(xué) 機(jī)械工程學(xué)院,江蘇 南京211189
摘要: 提出了基于S12X雙核微控制器的染色自動(dòng)化控制器的設(shè)計(jì)方案,重點(diǎn)介紹了XGATE協(xié)處理的編程方法以及在染色控制流程中的應(yīng)用。通過實(shí)例驗(yàn)證了該方案完全能滿足染色工藝過程的控制需要。
中圖分類號(hào): TP273+.5
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2010)11-0042-03
A dyeing automation controller based on dual-core S12X MCU
ZHOU Yi Jun,MAO Yu Liang
School of Mechanical Engineering, Southeast University, Nanjing 211189,China
Abstract: This paper proposes the design of a dyeing automation controller based on dual-core S12X MCU, focusing on XGATE co-processing programming and its implementation in dyeing control process. The design is verified to be able to meet the needs in dyeing process control by an application instance.
Key words : CAN;XGATE;dyeing technology

    在紡織工業(yè)中,染色工藝過程是紡織品上色的一個(gè)重要生產(chǎn)環(huán)節(jié)。布料染色要求在不同的升溫、降溫過程中嚴(yán)格按照一定的升溫速率或降溫速率進(jìn)行,而且對(duì)于不同的染料、不同的紡織品,所要求的染液溫度變化曲線也不同[1]。圖1所示為實(shí)際生產(chǎn)中的一個(gè)典型階梯升溫工藝示意圖。該工藝分為3段:第1段保溫溫度為80 ℃,保溫時(shí)需要正反轉(zhuǎn)的次數(shù)(道數(shù))為1道;第2段保溫溫度為90 ℃,道數(shù)為1道;第3段保溫溫度為135 ℃,道數(shù)為2道。

    長(zhǎng)期以來,染色工藝過程都是由通用型溫度控制器配合人工操作來完成。這種基于通用型溫度控制器的人工控制染色方式很難保證工藝上所要求的嚴(yán)格的升、降溫變化速率,而且不同的工人在操作同一種工藝要求時(shí)也會(huì)產(chǎn)生差異,從而影響產(chǎn)品的質(zhì)量和產(chǎn)量。同時(shí)染色車間溫度高、濕度大,操作人員的勞動(dòng)條件十分惡劣,也在一定程度上影響了產(chǎn)品的質(zhì)量。為了提高產(chǎn)品的質(zhì)量并降低工人勞動(dòng)強(qiáng)度,設(shè)計(jì)了一套染色自動(dòng)化控制器,主要用于實(shí)現(xiàn)染色工藝的單機(jī)控制,完成階梯升溫染色工藝的設(shè)置和顯示、自動(dòng)化控制等功能,并為接入現(xiàn)場(chǎng)總線控制系統(tǒng)預(yù)留接口。
1 方案設(shè)計(jì)
    在染色工藝過程中,染缸內(nèi)、外缸的溫度檢測(cè)采用PT100溫度傳感器;階梯升溫工藝采用PID算法控制電磁閥對(duì)染液實(shí)現(xiàn)溫度的控制;在保溫階段,利用固態(tài)繼電器控制卷筒直流電機(jī)正反轉(zhuǎn)動(dòng),實(shí)現(xiàn)布料的均勻染色。
    染色自動(dòng)化控制器采用MC9S12XDP512微控制器作為控制核心,其系統(tǒng)框圖如圖2所示。該系統(tǒng)分為人機(jī)交互單元、現(xiàn)場(chǎng)控制單元和CAN總線單元三部分。其中,人機(jī)交互單元由數(shù)碼顯示、LED顯示和鍵盤輸入部分組成,用于染色工藝的設(shè)置、顯示以及運(yùn)行狀態(tài)的顯示、報(bào)警。現(xiàn)場(chǎng)控制單元采用并行總線,擴(kuò)展了12位高精度A/D轉(zhuǎn)換器,采樣由PT100檢測(cè)、經(jīng)過調(diào)理過的溫度信號(hào),采用PID算法控制染液溫度;同時(shí)完成織物正反轉(zhuǎn),實(shí)現(xiàn)染色工藝過程自動(dòng)化控制。CAN總線單元采用MC9S12XDP512內(nèi)置CAN模塊,實(shí)現(xiàn)了現(xiàn)場(chǎng)總線控制系統(tǒng)的構(gòu)架。

2 硬件設(shè)計(jì)
2.1 MC9S12XDP512

    MC9S12XDP512是Freescale公司生產(chǎn)的新一代16位微控制器,以增強(qiáng)型HCS12內(nèi)核為基礎(chǔ),集成了外設(shè)協(xié)處理器XGATE[2]。
    XGATE是一個(gè)獨(dú)立于HCS12X主CPU的可編程RISC內(nèi)核,可作為高效的DMA控制器,在外設(shè)與RAM之間自主地進(jìn)行高速數(shù)據(jù)傳送,并在數(shù)據(jù)傳送過程中進(jìn)行靈活的數(shù)據(jù)處理。
    XGATE精簡(jiǎn)指令集內(nèi)核中有8個(gè)16位通用寄存器R0~R7,1個(gè)程序計(jì)數(shù)器PC,1個(gè)4位的條件碼寄存器CCR。XGATE共有72條獨(dú)立指令,指令時(shí)鐘最高可達(dá)100 MHz,是HCS12X主CPU總線速度的2倍;可訪問64 KB的片內(nèi)空間,包括2 KB的片上外設(shè)寄存器、30 KB的片上FLASH和最大32 KB的片內(nèi)RAM。
2.2 XGATE的編程
    XGATE的代碼執(zhí)行是由事件(中斷)驅(qū)動(dòng)的,圖3所示為S12X系統(tǒng)微控制器的典型中斷處理過程。其中,中斷的配置寄存器INT_CFGDATAx決定了該中斷的處理內(nèi)核及中斷優(yōu)先級(jí)。如果RQST位置為1,則選擇XGTE協(xié)處理器處理當(dāng)前中斷;反之則選擇HCS12X主處理器。當(dāng)XGATE的中斷服務(wù)程序處理結(jié)束后通知HCS12X,并將處理結(jié)果提交給HCS12X。這樣HCS12X只需關(guān)注上層的控制算法,而與底層密切相關(guān)的硬件操作由XGATE處理,極大地提高了系統(tǒng)性能[3]。

3 軟件設(shè)計(jì)
      在染色工藝過程中,染缸內(nèi)、外缸階梯升溫工藝的PID控制以及工藝過程控制最為重要。同時(shí),人機(jī)交互單元需完成染色工藝參數(shù)的設(shè)置和運(yùn)行狀態(tài)的顯示,非常繁瑣。而CAN總線單元主要用于現(xiàn)場(chǎng)數(shù)據(jù)的上傳下達(dá),實(shí)現(xiàn)印染工藝、數(shù)據(jù)的集中管理控制。
    所以在本系統(tǒng)中,現(xiàn)場(chǎng)工藝控制與數(shù)據(jù)傳遞分別用兩個(gè)不同的內(nèi)核完成,從而保證了現(xiàn)場(chǎng)控制的實(shí)時(shí)性、準(zhǔn)確性和可靠性。其中,人機(jī)交互單元和現(xiàn)場(chǎng)控制單元由MC9S12XDP512中功能強(qiáng)大的HCS12X主處理器來實(shí)現(xiàn)。CAN總線單元由XGATE協(xié)處理器實(shí)現(xiàn),其中工藝參數(shù)的上傳由軟件中斷觸發(fā)XGATE中斷服務(wù)程序,而上位機(jī)的控制指令(如運(yùn)行狀態(tài)控制、工藝參數(shù)下傳)由CAN發(fā)送中斷觸發(fā)。
3.1 工藝流程控制
    在染色工藝過程中,各參數(shù)的變化過程比較緩慢,所以在控制過程中以100 ms為一個(gè)控制周期,其控制流程如圖4所示。


    在每個(gè)控制周期中,首先進(jìn)行溫度采樣,獲得內(nèi)、外缸的溫度,然后調(diào)用溫度控制子函數(shù)實(shí)現(xiàn)快速升溫或保溫;接著判斷織物是否已到頭,如到頭則一道工藝結(jié)束,置轉(zhuǎn)動(dòng)到位標(biāo)志,準(zhǔn)備反轉(zhuǎn);然后調(diào)用工藝過程子函數(shù),確定當(dāng)前工藝狀態(tài),完成工藝控制。上述流程由HCS12X完成,工藝過程中需上傳的工藝參數(shù)(如溫度、道數(shù)、電磁閥的狀態(tài)、轉(zhuǎn)動(dòng)方向、左右計(jì)數(shù)器的計(jì)數(shù)值)存儲(chǔ)在數(shù)據(jù)共享區(qū)。最后置軟件中斷位,觸發(fā)XGATE的軟件中斷。當(dāng)XGATE進(jìn)入軟件中斷服務(wù)程序后,首先初始化、清相關(guān)標(biāo)志位,然后將所有數(shù)據(jù)從共享區(qū)復(fù)制出來,再做數(shù)據(jù)解析,最后通過MC9S12XDP512內(nèi)置的CAN模塊將現(xiàn)場(chǎng)工藝參數(shù)發(fā)送到現(xiàn)場(chǎng)總線控制系統(tǒng)。
3.2 數(shù)據(jù)共享的實(shí)現(xiàn)
    本系統(tǒng)基于雙核處理方式,HCS12X與XGATE之間需進(jìn)行數(shù)據(jù)通信,其最基本的方式是內(nèi)存空間的數(shù)據(jù)共享。由于兩個(gè)內(nèi)核都能獨(dú)立異步地訪問該共享空間,所以必須保證共享數(shù)據(jù)的完整性。S12X雙核微控制器集成了8個(gè)硬件互斥信號(hào)量,在訪問共享數(shù)據(jù)時(shí),首先必須將特定信號(hào)量鎖定后才能操作,訪問結(jié)束時(shí)必須釋放該信號(hào)量。
    (1)數(shù)據(jù)定義
    工藝過程中需上傳的工藝參數(shù)有溫度(內(nèi)、外缸)、道數(shù)、電磁閥的狀態(tài)、轉(zhuǎn)動(dòng)方向、左右計(jì)數(shù)器的計(jì)數(shù)值。本系統(tǒng)將所有工藝參數(shù)定義在如下結(jié)構(gòu)體中:
    struct TechPara{
        float VatTemp,DyeTemp;//內(nèi)、外缸溫度
        unsigned char TempNum;//道數(shù)
        unsigned char Status;//電磁閥的狀態(tài)、轉(zhuǎn)動(dòng)方向
        unsigned int LeftCout,RightCount;//左右計(jì)數(shù)
    };
    (2)互斥信號(hào)的處理
    XGATE用SSEM指令加上一個(gè)3位立即數(shù)來鎖定該信號(hào)量;若鎖定成功則XGATE的進(jìn)位標(biāo)志C置位,否則C被清零。同時(shí)XGATE用CSEM指令加上一個(gè)3位立即數(shù)來釋放該信號(hào)量。其具體操作宏定義如下:
    #define SET_SEM(x)  (XGATE.XGSEM=0x0101<<(x))
//鎖定互斥信號(hào)
    #define TST_SEM(x)  (XGATE.XGSEM & 0x0001<<(x))
//測(cè)試鎖定是否成功
    #define REL_SEM(x)  (XGATE XGSEM = 0x0100<<(x))
//解鎖互斥信號(hào)
    階梯升溫染色工藝的控制過程分快速加熱過程和保溫過程??紤]到染缸系統(tǒng)的特性,通過設(shè)定低于保溫溫度下的某個(gè)閥值將一段快速升溫和保溫分為3段,即快速升溫的前期、后期、保溫期。對(duì)每個(gè)升溫期分別采取不同的控制策略:(1)染缸快速升溫的前期實(shí)行數(shù)字PD控制;(2)染缸快速升溫的后期和保溫期間運(yùn)用數(shù)字PI控制。
    某印染廠染色車間采用自動(dòng)化控制器完成印染生產(chǎn),經(jīng)3個(gè)月實(shí)際運(yùn)行后發(fā)現(xiàn),在設(shè)定溫度低于100 ℃時(shí),快速升溫階段有微量過沖,過沖量小于2 ℃;在保溫階段溫度控制得比較好,控制精度小于&plusmn;0.5 ℃;設(shè)定溫度高于100 ℃時(shí),其控制精度小于&plusmn;0.5 ℃,完全滿足溫度控制要求。其控制過程完全符合染色工藝要求。
參考文獻(xiàn)
[1] 江楓.基于CAN的印染機(jī)分布式控制系統(tǒng)的實(shí)現(xiàn)和算法研究.東南大學(xué)碩士論文,2005.
[2] MC9S12XDP512 Data Sheet[EB/OL].http://www.freescale.com,2006.
[3] 高磊.S12X MCU外設(shè)協(xié)處理器的配置及編程[J].電子產(chǎn)品世界,2008(1):107-109.
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。