林业科学  2014, Vol. 50 Issue (4): 115-120   PDF    
DOI: 10.11707/j.1001-7488.20140417
0

文章信息

闫承琳, 周玉成, 张星梅, 侯晓鹏, 苗虎
Yan Chenglin, Zhou Yucheng, Zhang Xingmei, Hou Xiaopeng, Miao Hu
人造板连续平压机分时多任务温度控制系统的软件设计
Software Design of Time-Sharing and Multitask Temperature Control System for Wood-Based Panel Continuous Press
林业科学, 2014, 50(4): 115-120
Scientia Silvae Sinicae, 2014, 50(4): 115-120.
DOI: 10.11707/j.1001-7488.20140417

文章历史

收稿日期:2013-07-17
修回日期:2014-01-04

作者相关文章

闫承琳
周玉成
张星梅
侯晓鹏
苗虎

人造板连续平压机分时多任务温度控制系统的软件设计
闫承琳1, 3, 周玉成2, 张星梅2, 3, 侯晓鹏2, 苗虎2    
1. 国家林业局北京林业机械研究所北京 100029;
2. 中国林业科学研究院木材工业研究所北京 100091;
3. 中国林业科学研究院林业新技术研究所北京 100091
摘要:针对连续平压机加热系统温度控制的多任务特征,通过引入基于Windows的消息调度机制,从4个中断及其涉及任务模块调用出发,开发出基于单片机控制器的多任务分时温度控制系统,保证了系统的实时性和稳定性,实现了热压温差在±2℃以内的精确控制。
关键词连续平压机    温度控制    单片机    消息机制    分时技术    多任务    
Software Design of Time-Sharing and Multitask Temperature Control System for Wood-Based Panel Continuous Press
Yan Chenglin1, 3, Zhou Yucheng2, Zhang Xingmei2, 3, Hou Xiaopeng2, Miao Hu2     
1. Beijing Forestry Machinery Research Institute of State Forestry Administration Beijing 100029;
2. Research Institute of Wood Industry, CAF Beijing 100091;
3. Research Institute of New Technology, CAF Beijing 100091
Abstract: The microcontroller-based time-sharing temperature control system was developed by using Windows message mechanism, from the calling of four interupts and related modules, according to the multitask characteristic of continuous press heating system temperature control. The real-time capability and stability were assured, and the precise control within ±2℃ for hot press temperature difference was achieved.
Key words: continuous press    temperature control    signal-chip    message mechanism    time-sharing    multitask    

连续平压机是国内外新上大规模人造板生产线的首选热压机,其先进的连续加热加压方式使得生产线效率高、能耗低、产品品质稳定(张荣其等,2010),但这种热压工艺方式对设备的控制系统提出了更多、更高的要求,主要是热压温度、油缸位移、热压压力和钢带运行速度四大工艺参数及其相关因素的高精度检测与监控,生产现场大量实时数据的分析、处理和管理,故障及时处理,以及各运行部件的逻辑和连锁控制等(胡广斌等,2009;刘波,2005)。相对后3个工艺参数的深入研究,目前国内对连续平压机加热系统中热压温度参数及其相关因素的控制研究主要体现在针对每台压机加热系统监测故障的问题解决、系统改造(兰从荣,2007)等;而涉及热压温度及其控制系统的深入研究则偏少(张荣其,2006)。加热系统高低温热压方式的选择、每个区域的温度设定、相邻加热区域温差控制、热压板温度的平稳控制与稳定输出、热压板升温降温速度控制等对热压板本身寿命、压制板坯表面质量、内结合强度、横截面纵向密度分布和厚度偏差等都会产生一定影响(Pereira et al.,2006)。热压温度及其相关因素的实时监测与精确控制直接或间接地对整个热压工艺起着非常关键的作用(欧阳琳,1998),因此研究设计连续平压机温度控制系统非常必要。

本文选择单片机主控制器及其级联温度采集控制模块作为核心控制单元,代替目前常用的可编程控制器(PLC)实现对温度信号的控制输出,利用连接的主控机与WINCE触摸屏实现系统参数和运行状态的监控,开发出了基于消息机制的连续平压机分时多任务温度控制系统,旨为连续平压机加热系统及其工艺参数的监控提供了一种新的监测方法与控制系统,为人造板机械制造企业提供参考。

1 系统分析 1.1 加热系统的控制原理

本文所研究连续平压机加热系统在长度方向设计有4个独立的加热区域,每个区域的热压板上都预留了1个传感器插口。各区域温度的精准控制主要取决于热油的二级循环系统(一次循环系统和二次循环系统),一次循环系统利用热油炉设备不间断的循环提供温度控制在一定范围的高温热油;二次循环系统根据压机各个加热区域所需油温,结合自身内循环温度同步从一次循环系统补充一定量的高温热油,以实现对热压温度的控制(Thoemen,2000)。因此,二次循环系统中温度参数控制至关重要。本文利用4个基于单片机的温度控制单元分别对相应4个独立加热区域的热压温度等参数进行设定与控制。

1.2 温度控制系统的控制要求

在温度控制的过程中,按热压工艺要求对热压板温度、进油温度和出油温度3个模拟量输入点进行实时监测,并根据温度曲线设置该区域热压板温度,根据控制算法进行控制输出,实现在系统运行过程中电动三通比例调节阀开度的自动调整。其中,当热压板温度到达100 ℃后,需要实现每个热压区域的压板每分钟上升1 ℃的升温要求(5 min上升5 ℃),先升到区段设定温度的区域系统发出指令关闭相应阀门等待,等所有区域温度到位后继续再以1 ℃·min-1的速度缓慢升温,直至全部区域温度升到工艺参数设定值为止,当压机准备停止工作时,在热压板温度高于100 ℃时,系统以1 ℃·min-1的速度缓慢降温(刘云龙,2000;薛建利等,2008)。最终在压机正常压制板坯工作中,实现热压板温差在±2 ℃以内,在热压板纵向各段温度满足理想的温度曲线,且进油温度与出油温度差值控制在50 ℃以内(景林,2000)。以实现对不同板厚的热压工艺中温度变化和加热过程的精确控制,并减少温度变化对热压板的损耗,同时在每个温度控制单元的人机交互界面上实时显示模拟量输入输出数值以及控制状态等信息。

2 硬件实现

热压板温度模拟量使用-200 ~+200 ℃的铂热电阻PT100检测,热油温度模拟量使用适宜液体介质且测量范围在0 ~+300 ℃的双金属温度计检测。将4个铂热电阻分别插装在4个加热区域的热压板预留插口内,入口油温的金属温度计置于每个二次循环系统靠近油泵的热油入口处,出口油温的金属温度计置于每个二次循环系统的靠近调节阀处,实现对相应热压板温度、进油温度和出油温度3个模拟量输入点的实时监测。

模拟量采集处理由主控制器与温度采集扩展控制器模块共同实现(侯晓鹏,2010),传感器将信号输送给数显变送器,数显变送器将采集得到的电流信号变送输出为对应的0~5 V电压信号,在滤波与放大电路中进行信号处理后(邱琳等,2008),送入A/D转换器进行模数转化,而后送到ATmega16,利用RS485总线输入到主控制器。主控制器外接AD7396数模转换器实现数字信号的D/A转化,再通过具有增益放大作用的LM358双重运算放大器,完成模拟量输出等,从而控制调节阀中执行器的运动,进而控制二次循环系统两路出油量的大小。主控制器再利用开关量输入输出模块完成总停、自动和手动等开关的动作,以及油泵、电机等的工作状态。利用通信模块完成主控制器分别与级联温度采集控制模块、触摸屏和主控机的通信(赵静,2007)。利用外扩EEPROM存储模块将模拟量数据进行存储。

3 软件设计 3.1 系统软件实现功能

根据温度控制系统的需求分析及其硬件实现,温度控制系统软件的设计主要是每个温度控制单元的监控系统设计。而从通信网络的角度上看,单个温度控制单元的监控系统特点是主控制器通过串口0、串口1和串口2分别与触摸屏、主控机、温度采集扩展模块的通信,实现温度等信号的实时采集、控制比例调节阀的稳定输出以及实时数据的上传等功能,再利用Timer3中断,计算完成温度控制算法,实现加热系统温度的合理控制等。系统既具有多任务特征,又有实时性和稳定性要求,因此本文围绕上述4个中断,将分时操作系统的原理引入单片机的多任务控制系统,并利用Windows消息驱动机制实现对任务的调度。

3.2 多任务分时系统及其消息调度机制

针对系统的多任务特征,把系统实现功能细化为多个任务模块,并规定其优先级别,由一个任务调度程序模块,即任务调度器,来统一控制执行的顺序,微处理器的控制权按不同优先级别分配给不同的任务模块(Kopetz et al.,2003)。分时系统的构建,主要是将微处理器的运行时间划分成一些时间间隔很短的时间片,每个时间片对应一个具体的任务模块。由于系统中每个任务模块占用微处理器运行时间可根据系统应用场合估算,因此可以实现时间片合理划分,使得各个模块分别在自己的执行时间内访问微处理器,形成微观上依次循环判断运行、宏观上并发运行的实时多任务控制,进而完成分时多任务调度。在整个设计过程中完成任务模块的有效划分和基于消息的调度机制是2个关键性的技术(马潮,2004)。

本文把系统任务模块划分为功能模块和实时模块2种。功能任务模块,指可在程序中独立运行的模块,如数据存储、状态灯显示、部分控制算法等任务模块;实时任务模块,如模拟量的实时采集、串行通信等,其主要功能是将实时任务转为非实时的消息与数据。

本文的系统调度机制借鉴了Windows面向对象编程原理,编程中引入“消息”的概念,将模块的执行条件转化为消息,根据消息驱动多任务的调度(沈文等,2003)。此处“消息”可定义为:当某个事件(如中断)发生时,事件处理程序(如中断服务程序)设置相应的标志位,不同的标志位即代表不同的消息。因此任务模块之间状态的变化、任务模块内部因为状态改变请求而设置的相应标志位也可看作为消息(Zhou et al.,2010;杨光友等,2002)。系统的多任务调度依靠“消息”完成,首先建立每个任务模块与任务调度器的联系,即调度器在对应任务模块的每个时间片的开始取得控制,在给定的时间片有消息时,相应的功能模块会执行,无消息时则任务模块会跳过。其次使得任务模块间能够开始具有一定的联系,任务模块的优先级在主程序循环中是平等的,中断任务模块在后台运行,用消息与具体处理模块联结(Pont,2002)。

3.3 系统软件设计 3.3.1 多任务分时温度控制系统架构设计

任务模块细化程度越深,系统实时性就会越强,系统功能具体划分为20个任务模块(图 1)。其中3个串口接收中断任务模块和Timer3定时中断(重载)任务模块共4个中断为实时任务模块,在后台运行。其他为功能模块,需要在消息激活的前提下执行。实时任务模块在给定的时间片要完全执行,当其时间片取得控制,立即执行相应任务模块。因此在系统设计时,利用串口中断产生的标志位作为消息,而具体的数据处理则放在相应的任务模块中进行,这样通过中断服务程序长度的减少,而使响应中断速度得到了提高,又不影响数据的处理,有效地解决了快速获取数据和数据处理耗时之间的矛盾,从而提高了系统的实时性。

图 1 多任务分时温度控制系统架构 Fig. 1 The construction of multitask and time-sharing control system

图 1所示,本文在系统架构中添加了主控制器任务调度器,具体包括任务队列和周期性任务调度。基于消息机制的设计,每个任务模块的执行时间估算基本不超过7 ms(其中Timer3中的温度算法执行时间不超过10 ms,主控制器与扩展模块通信时间不超过15 ms);但为程序设计方便,时间片选等长时间片50 ms,保证系统进入主循环,每个任务模块在分配的时间内使用任务调度器依次通过消息触发执行相应程序,进而保证系统稳定性。系统设计单片机主控制器与温度采集扩展模块通过串行通信方式进行定时数据交换,进一步提高了系统实时性,其中主控制器负责多任务调度和管理以及功能模块执行,扩展控制模块则完成实时性强和费时的模拟量采集处理任务。

3.3.2 程序设计

将20个任务模块分别放在20个时间片内,利用定时器1作系统时钟,定时中断服务程序实现1 000 ms定时,产生定时消息,即置位标志位,在主循环中使用任务调度器控制任务模块依次基于消息触发机制运行,这样在1 s内将实现系统的多任务,达到控制系统的实时性和功能要求。以下为基于分时调度器的系统主程序基本结构。

……

{

  Init_dev();∥系统初始化任务模块,仅运行一次,结束后退出循环。

  …

  if((flag_time = = 1)&&(flag_f = = 1)

    {

    flag_time = 0;

  nbsp;if(flag_50ms = = 0)

    {

    mod_task[0];∥串口2 接受中断

    }

  if(flag_50ms = = 1)

    {

    mod_task[1];∥串口2 发送查询信息

    }

    …

  if(flag_50ms = = 3)

    {

      mod_task[3];∥读取系统设定参数

      flag_d = 0; ∥任务模块仅运行一次,结束后退出循环

    }

    …

      ∥Timer3 中断任务模块

      flag_tempter = 1;

      if(flag_50ms = = 9)&&(flag _tempter = =1)

      {

      mod_task[8]; ∥温度算法任务模块

    }

  }

  …

  …

  }

本文围绕上述4个中断来完成多任务分时系统的程序设计,即系统通过主控制器与外围设备的3路串行通信、1个定时器中断与其他功能模块协作实现了加热系统的温度控制。

串口2接受中断及其涉及任务模块的调用流程如图 2所示,主控制器通过串口2与扩展控制模块通信,在数据处理1模块中执行获取热压板温度、进油温度、出油温度等模拟量数据任务,而后在报警设置和输出任务模块中,执行进出口油温差、进油温度超限和热压板温度超限的判断,即当差值大于50、进油温度和热压板温度分别超过设置温度时产生报警,如此时油泵处于开启状态,则关闭油泵。主控制器与主控机的串口1通信如图 3所示,和与扩展模块的通信过程基本相同,只是主控制器是主控机的从机,每1 s接受一次主控机的查询,根据主控机需求,上传实时采集监控数据到主控机上进行输出显示。如图 4所示,利用串口0与触摸屏的通信,取得压板温度、采样时间、比例调节阀调整的步长等设置信息;并通过用户对二次循环加热系统启动的指令,打开Timer3中断。Timer3接受中断及其涉及任务模块的调用如图 5所示,在此完成温度控制算法,系统D/A转化等任务模块可以在该时刻进行了必要的功能实现。

图 2 串口2 接受中断及其涉及任务模块调用流程 Fig. 2 The calling of accept interrupt of USART2 and its involves tasks module
图 3 串口1 接受中断及其涉及任务模块调用流程 Fig. 3 The calling of accept interrupt of USART1 and its involves tasks modules
图 4 串口0 接受中断及其涉及任务模块调用流程 Fig. 4 The calling of accept interrupt of USART0 and its involves tasks modules
图 5 Timer3 接受中断及其涉及任务模块的调用流程 Fig. 5 The calling of accept interrupt of Timer3 and its involves tasks modules
4 结语

1)本文在单片机有限资源下实现了多任务并行处理,保证了系统的实时性与稳定性;提供了一个良好的开发框架,结构清晰合理、易于扩展,各任务模块功能独立、明确;基于消息机制的分时技术的采用降低了软件设计成本。

2)图 6为控制系统在实验室连接模拟装置的运行效果图,主要包含系统4个前端机与1个主控机,以及连续平压机加热系统的模拟装置,4个前端机与连续平压机加热系统的模拟装置连接,采集温度信号、控制比例调节阀输出,1个主控机与前端机连接接收显示实时数据。图 7是控制系统在实验室模拟装置上运行的温度变化历史曲线,从模拟结果看,系统运行稳定,实现了热压板温差±2 ℃以内的精度要求;且系统采用WINCE触摸屏进行实时监控,使整个加热系统更具直观效果,主控机保存了大量有价值的生产数据,方便用户后期使用。

图 6 控制系统整体运行效果 Fig. 6 System running effect
图 7 温度变化历史曲线 Fig. 7 Historical curve of temperature
参考文献(References)
[1] 侯晓鹏. 2010. 木材干燥智能控制系统的研究.北京:中国林业科学研究院博士学位论文, 42-44.(1)
[2] 胡广斌, 肖小兵.2009.我国纤维板生产线的压机装备水平.林产工业, 36(5):7-8.(1)
[3] 景林. 2000.纤维板连续平压热压机SINEC L2的网络通信.福建林学院学报, 20(4):37-40.(1)
[4] 兰从荣. 2007.连续平压法热压机热油二次循环系统温度控制技术的研究.福建林业科技, 34(3):173-175, 190.(1)
[5] 刘波.2005.连续平压热压机的发展.人造板通讯, 12(11):5-7. (1)
[6] 刘云龙. 2000. 带远程站的PLC在连续压机系统中的应用.林业机械与木工设备, 28(9):23-24.(1)
[7] 马潮. 2004. 高档8位单片机ATmege128原理与开发应用指南(上).北京:北京航空航天大学出版社, 12-45.(1)
[8] 欧阳琳. 1998. 连续平压热压机(之六).木材工业, 12(1):42-44.(1)
[9] 邱琳, 游雨云. 2008. 单片机系统抗干扰措施.技术与研发, (1):47-49.(1)
[10] 沈文, Eagle lee, 詹卫前. 2003. AVR单片机C语言开发入门指导.北京:清华大学出版社, 11-36.(1)
[11] 薛建利, 朱瑞华, 曾明. 2008. 国产中型MDF生产线控制系统的设计实现.木材工业, 22(4):33-35, 38.(1)
[12] 杨光友, 张道德, 周国柱, 等. 2002. 一种基于分时操作系统原理的单片机控制系统.湖北工学院学报, 17(1):4-7.(1)
[13] 张荣其, 罗丽萍.2010.我国现有人造板连续压机的调查与分析.中国人造板, (9):7-10.(1)
[14] 张荣其.2006.双钢带连续压机的结构、工作原理与计算.中国人造板, 13(12):23-36.(1)
[15] 赵静. 2007. 基于触摸屏和单片机共同控制的定位系统.自动化技术与应用, 26(12):103-105.(1)
[16] Kopetz H, Bauer G. 2003.The time triggered architecture.Proceedings of the IEEE, 251-259.(1)
[17] Pereira C, Carvalho L M H, Costa C A V. 2006. Modeling the continuous hot-pressing of MDF. Wood Science and Technology, 40(4): 308-326.(1)
[18] Pont M J. 2002. Patterns for time triggered embedded system:building reliable applications with the 8051 family of microcontrollers.Addison Wesley, 135-136.(1)
[19] Thoemen H. 2000. Modelling the physical processes in natural fiber composites during batch and continuous pressing. PhD Thesis, Oregon State University, 5-14.(1)
[20] Zhou Yucheng, Xu Jiahe, Jing Yuanwei. 2010.Ensemble Kalman filtering for nonlinear systems with multiple delayed measurements. Proceedings of 2010 Chinese Control and Decision Conference, Xuzhou, China, 3314-3319.(1)