一种染色自动化控制器的设计和实现

时间:2011-07-11

 

  -染色工序在纺织品生产中占有重要地位,染色质量直接决定了纺织品的色泽、外观,甚至还会影响纺织品的生产成本。在染色工序中,影响染色的因素主要有染液浓度、温度、液位等,其中温度控制是一个很重要而又复杂的控制过程。每个工艺对染色的温度、升降温过程都有严格的要求,如果不按照温度要求执行,织物容易产生色差、缸差、条痕等疵点,造成复染率上升,企业生产成本增加。图1所示为实际生产中的一个典型阶梯升温工艺示意图。该工艺分为3段:第1段保温温度为80 ℃,保温时需要正反转的次数(道数)为1道;第2段保温温度为90 ℃,道数为1道;第3段保温温度为135 ℃,道数为2道。

 

 

  长期以来,染色工艺过程都是由通用型温度控制器配合人工操作来完成。这种基于通用型温度控制器的人工控制染色方式很难保证工艺上所要求的严格的升、降温变化速率,而且不同的工人在操作同一种工艺要求时也会产生差异,从而影响产品的质量和产量。同时染色车间温度高、湿度大,操作人员的劳动条件十分恶劣,也在一定程度上影响了产品的质量。为了提高产品的质量并降低工人劳动强度,设计了一套染色自动化控制器,主要用于实现染色工艺的单机控制,完成阶梯升温染色工艺的设置和显示、自动化控制等功能,并为接入现场总线控制系统预留接口。

  1 方案设计

  在染色工艺过程中,染缸内、外缸的温度检测采用PT100温度传感器;阶梯升温工艺采用PID算法控制电磁阀对染液实现温度的控制;在保温阶段,利用固态继电器控制卷筒直流电机正反转动,实现布料的均匀染色。

  CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品着称的德国BOSCH公司开发了的,并终成为国际标准(ISO118?8)。是国际上应用广泛的现场总线之一。 在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境

  染色自动化控制器采用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 ℃,完全满足温度控制要求。其控制过程完全符合染色工艺要求。

 


  
上一篇:远程心电医疗信号监测系统的设计与实现
下一篇:一种CCD图像采集系统的设计和实现

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料