文獻標識碼: B
文章編號: 0258-7998(2010)11-0042-03
在紡織工業中,染色工藝過程是紡織品上色的一個重要生產環節。布料染色要求在不同的升溫、降溫過程中嚴格按照一定的升溫速率或降溫速率進行,而且對于不同的染料、不同的紡織品,所要求的染液溫度變化曲線也不同[1]。圖1所示為實際生產中的一個典型階梯升溫工藝示意圖。該工藝分為3段:第1段保溫溫度為80 ℃,保溫時需要正反轉的次數(道數)為1道;第2段保溫溫度為90 ℃,道數為1道;第3段保溫溫度為135 ℃,道數為2道。
長期以來,染色工藝過程都是由通用型溫度控制器配合人工操作來完成。這種基于通用型溫度控制器的人工控制染色方式很難保證工藝上所要求的嚴格的升、降溫變化速率,而且不同的工人在操作同一種工藝要求時也會產生差異,從而影響產品的質量和產量。同時染色車間溫度高、濕度大,操作人員的勞動條件十分惡劣,也在一定程度上影響了產品的質量。為了提高產品的質量并降低工人勞動強度,設計了一套染色自動化控制器,主要用于實現染色工藝的單機控制,完成階梯升溫染色工藝的設置和顯示、自動化控制等功能,并為接入現場總線控制系統預留接口。
1 方案設計
在染色工藝過程中,染缸內、外缸的溫度檢測采用PT100溫度傳感器;階梯升溫工藝采用PID算法控制電磁閥對染液實現溫度的控制;在保溫階段,利用固態繼電器控制卷筒直流電機正反轉動,實現布料的均勻染色。
染色自動化控制器采用MC9S12XDP512微控制器作為控制核心,其系統框圖如圖2所示。該系統分為人機交互單元、現場控制單元和CAN總線單元三部分。其中,人機交互單元由數碼顯示、LED顯示和鍵盤輸入部分組成,用于染色工藝的設置、顯示以及運行狀態的顯示、報警。現場控制單元采用并行總線,擴展了12位高精度A/D轉換器,采樣由PT100檢測、經過調理過的溫度信號,采用PID算法控制染液溫度;同時完成織物正反轉,實現染色工藝過程自動化控制。CAN總線單元采用MC9S12XDP512內置CAN模塊,實現了現場總線控制系統的構架。
2 硬件設計
2.1 MC9S12XDP512
MC9S12XDP512是Freescale公司生產的新一代16位微控制器,以增強型HCS12內核為基礎,集成了外設協處理器XGATE[2]。
XGATE是一個獨立于HCS12X主CPU的可編程RISC內核,可作為高效的DMA控制器,在外設與RAM之間自主地進行高速數據傳送,并在數據傳送過程中進行靈活的數據處理。
XGATE精簡指令集內核中有8個16位通用寄存器R0~R7,1個程序計數器PC,1個4位的條件碼寄存器CCR。XGATE共有72條獨立指令,指令時鐘最高可達100 MHz,是HCS12X主CPU總線速度的2倍;可訪問64 KB的片內空間,包括2 KB的片上外設寄存器、30 KB的片上FLASH和最大32 KB的片內RAM。
2.2 XGATE的編程
XGATE的代碼執行是由事件(中斷)驅動的,圖3所示為S12X系統微控制器的典型中斷處理過程。其中,中斷的配置寄存器INT_CFGDATAx決定了該中斷的處理內核及中斷優先級。如果RQST位置為1,則選擇XGTE協處理器處理當前中斷;反之則選擇HCS12X主處理器。當XGATE的中斷服務程序處理結束后通知HCS12X,并將處理結果提交給HCS12X。這樣HCS12X只需關注上層的控制算法,而與底層密切相關的硬件操作由XGATE處理,極大地提高了系統性能[3]。
3 軟件設計
在染色工藝過程中,染缸內、外缸階梯升溫工藝的PID控制以及工藝過程控制最為重要。同時,人機交互單元需完成染色工藝參數的設置和運行狀態的顯示,非常繁瑣。而CAN總線單元主要用于現場數據的上傳下達,實現印染工藝、數據的集中管理控制。
所以在本系統中,現場工藝控制與數據傳遞分別用兩個不同的內核完成,從而保證了現場控制的實時性、準確性和可靠性。其中,人機交互單元和現場控制單元由MC9S12XDP512中功能強大的HCS12X主處理器來實現。CAN總線單元由XGATE協處理器實現,其中工藝參數的上傳由軟件中斷觸發XGATE中斷服務程序,而上位機的控制指令(如運行狀態控制、工藝參數下傳)由CAN發送中斷觸發。
3.1 工藝流程控制
在染色工藝過程中,各參數的變化過程比較緩慢,所以在控制過程中以100 ms為一個控制周期,其控制流程如圖4所示。
在每個控制周期中,首先進行溫度采樣,獲得內、外缸的溫度,然后調用溫度控制子函數實現快速升溫或保溫;接著判斷織物是否已到頭,如到頭則一道工藝結束,置轉動到位標志,準備反轉;然后調用工藝過程子函數,確定當前工藝狀態,完成工藝控制。上述流程由HCS12X完成,工藝過程中需上傳的工藝參數(如溫度、道數、電磁閥的狀態、轉動方向、左右計數器的計數值)存儲在數據共享區。最后置軟件中斷位,觸發XGATE的軟件中斷。當XGATE進入軟件中斷服務程序后,首先初始化、清相關標志位,然后將所有數據從共享區復制出來,再做數據解析,最后通過MC9S12XDP512內置的CAN模塊將現場工藝參數發送到現場總線控制系統。
3.2 數據共享的實現
本系統基于雙核處理方式,HCS12X與XGATE之間需進行數據通信,其最基本的方式是內存空間的數據共享。由于兩個內核都能獨立異步地訪問該共享空間,所以必須保證共享數據的完整性。S12X雙核微控制器集成了8個硬件互斥信號量,在訪問共享數據時,首先必須將特定信號量鎖定后才能操作,訪問結束時必須釋放該信號量。
(1)數據定義
工藝過程中需上傳的工藝參數有溫度(內、外缸)、道數、電磁閥的狀態、轉動方向、左右計數器的計數值。本系統將所有工藝參數定義在如下結構體中:
struct TechPara{
float VatTemp,DyeTemp;//內、外缸溫度
unsigned char TempNum;//道數
unsigned char Status;//電磁閥的狀態、轉動方向
unsigned int LeftCout,RightCount;//左右計數
};
(2)互斥信號的處理
XGATE用SSEM指令加上一個3位立即數來鎖定該信號量;若鎖定成功則XGATE的進位標志C置位,否則C被清零。同時XGATE用CSEM指令加上一個3位立即數來釋放該信號量。其具體操作宏定義如下:
#define SET_SEM(x) (XGATE.XGSEM=0x0101<<(x))
//鎖定互斥信號
#define TST_SEM(x) (XGATE.XGSEM & 0x0001<<(x))
//測試鎖定是否成功
#define REL_SEM(x) (XGATE XGSEM = 0x0100<<(x))
//解鎖互斥信號
階梯升溫染色工藝的控制過程分快速加熱過程和保溫過程。考慮到染缸系統的特性,通過設定低于保溫溫度下的某個閥值將一段快速升溫和保溫分為3段,即快速升溫的前期、后期、保溫期。對每個升溫期分別采取不同的控制策略:(1)染缸快速升溫的前期實行數字PD控制;(2)染缸快速升溫的后期和保溫期間運用數字PI控制。
某印染廠染色車間采用自動化控制器完成印染生產,經3個月實際運行后發現,在設定溫度低于100 ℃時,快速升溫階段有微量過沖,過沖量小于2 ℃;在保溫階段溫度控制得比較好,控制精度小于±0.5 ℃;設定溫度高于100 ℃時,其控制精度小于±0.5 ℃,完全滿足溫度控制要求。其控制過程完全符合染色工藝要求。
參考文獻
[1] 江楓.基于CAN的印染機分布式控制系統的實現和算法研究.東南大學碩士論文,2005.
[2] MC9S12XDP512 Data Sheet[EB/OL].http://www.freescale.com,2006.
[3] 高磊.S12X MCU外設協處理器的配置及編程[J].電子產品世界,2008(1):107-109.