一种带控制组态的智能温控器设计
2019-10-09王利恒朱志峰李鹏程
王利恒,朱志峰,李鹏程
(武汉工程大学 电气信息学院,武汉430205)
温度控制器广泛应用于工业生产和日常生活中,大到工业生产中的复杂温度控制,小到家用空调的室温控制,都离不开温控器。 温控器的工作原理类似,但用在不同被控对象上,其控制算法和控制输出的逻辑也不同。 本文设计一个带控制组态的通用智能温控器,用户通过人机界面的组态可以灵活实现不同温控的要求。
1 温控器硬件设计
温控器的通用性设计体现在输入信号的多样性、控制算法的多样性和逻辑输出的可组合性几个方面,其中输入信号的多样性和逻辑输出的可组合性需要得到硬件的支持,系统的硬件结构如图1所示。
图1 系统的硬件结构Fig.1 System hardware structure
(1)温度输入支持热电阻(RTD)、热电偶(TC)和4~20 mA 的标准变送器信号[1]。 3 路热电阻/热电偶采用TI 公司的24 位温度传感器适用的AD 转换芯片ADS1248 采集温度信号,该芯片提供SPI 接口,CPU 可以通过SPI 接口直接控制并获取采样数据;4~20 mA 标准变送器信号通过IV 变换成0~2.5[2],直接接入STM32F103 的AD,通过STM32 的AD 程序获得采样数据。
(2)为了获得较好的逻辑控制功能,系统设计了8 路通用DI 信号,如图2 所示。 每路DI 采用光电隔离,通过跳线选择可以支持有源或无源的开关量信号输入。
图2 DI 输入Fig.2 DI input
(3)硬件提供2 种形式的调节或变送输出。 一种是PWM 输出,可以用来直接控制SSR。 另一种是4~20 mA 输出,可以控制标准调节器,也可以作为某一个模拟量的变送输出。
(4)系统提供7 路继电器输出,用户可以根据实际需要来组态。 7 路继电器使用一片ULN2003 驱动,如图3 所示。
(5)HMI 使用带触屏的串口屏, 用户的功能组态和操作都通过触摸屏完成,不需要实体按键。 如果应用有实体按键的需求,可以通过通用输入接入按键,并在组态中实现实体按键的功能。
图3 DO 输出Fig.3 DO output
(6)硬件提供一路RS485 通信接口,通过软件实现Modbus 协议。 可以作为一个标准的Modbus 设备接入到现场总线系统中。
2 控制器数据结构
设计出合理的数据结构是实现灵活组态的前提,借鉴PLC 工作原理,本文设计的控制器数据结构主要包含3 类:设备数据表、内部数据表、参数表[3]。
设备数据表与输入输出通道的数据一一对应。该数据表是通过对应外设的驱动程序来实现数据的实时更新。 设备驱动程序采用中断或定时的方式,实时读取输入通道数据至设备数据表,同时根据设备数据表进行实时更新输出通道状态。
内部数据表是系统定义的内部可组态变量表。内部数据表包含8 组IS 信号,8 组TS 信号,8 路报警信号,8 路EVT(事件)信号、7 路继电器逻辑信号和4 路输出控制量信号。
用户通过HMI 进行组态的逻辑关系以参数表形式保存起来。 这部分内容是用户可设置的。 系统监控和扫描程序按照用户组态的参数对逻辑运算进行更新。
系统的数据结构关系如图4 所示。 设备驱动程序负责更新设备数据表;用户组态界面负责更新参数表;系统监控和扫描程序负责按照参数表和设备数据表来更新内部数据表。 控制算法库暂时提供常规PID、模糊控制器2 种可选。 设备数据表、内部数据表、 参数表都映射到Modbus 数据区, 可以使用Modbus 总线通过上位机scada 软件实现监控组态。
3 功能组态原理及实现
温控器的组态可分为控制回路组态和逻辑控制组态两部分。
3.1 控制组态回路
控制回路组态结构原理如图5 所示。
图4 系统的数据结构关系Fig.4 System data structure relationship
图5 控制回路组态结构原理Fig.5 Control loop configuration structure principle
系统提供4 组可组态控制回路,一个控制回路用户通过组态来选择输入通道,控制类型(定值、程序或随动控制),选择控制算法以及输出通道。 组态完成的回路可以独立完成单回路控制系统。 通过对控制类型及控制输出通道的扩充,后期可以实现串级控制结构。
3.2 逻辑控制组态
对象的控制除了有回路调节控制外,往往还需要一些设备的启停等开关逻辑控制。 而使用普通温度控制器往往还需要增加小型PLC 来作为系统程序工作流程的控制。 本文设计的控制器为了方便完成整个对象的控制,特设计了逻辑控制组态功能[4]。该部分功能相当于简化的可编程逻辑控制器,主要通过可组态的内部数据表来实现。
内部数据变量输出是一个布尔变量(ON/OFF),其输出是根据设计好的数据结构,通过用户组态的参数来更新变量状态。 各种内部变量的输出逻辑会有不同,但设计的思路类似,这里以TS 信号和EVT信号的设计与组态为例说明: 一个TS 信号会根据用户组态的参数以及过程变量来实时更新自己状态(ON/OFF),其组态与逻辑关系如图6 所示。
图6 TS 信号组态与逻辑关系Fig.6 TS signal configuration and logic relationship
IS、TS、AL 可以完成大多数的单变量逻辑运算功能。 为了方便实现多个变量的联合运算,设计了EVT 信号:
EVT 信号可以实现3 个信号的逻辑运算功能。
EVT 信号会根据用户组态的参数以及过程变量来实时更新自己状态(ON/OFF),其组态与逻辑关系如下式所示:EVT=<!><SIG1><OP1><!><SIG2><OP2><!><SIG3>
SIGx 是3 个参与逻辑运算的变量,用户可以在DI、IS、TS、AL 和EVT 信号中选择。 每个变量可以按照用户组态选择用原变量还是反变量参与预算。OPx 是3 个变量之间的逻辑运算符,可以选择AND、OR,运算优先级按左到右。
各种内部变量的状态可以通过继电器组态在数字输出通道中输出。 7 组继电器可以和所有的内部变量表变量连接。 所有变量的逻辑运算结果都可以反应在继电器的状态的ON/OFF 上。
通过以上组态可以实现灵活的逻辑控制功能。
4 控制器软件实现
由于控制器的功能比较复杂, 设计中使用了μC/OS-Ⅲ嵌入式操作系统来开发控制软件[5]。 软件采用模块化设计,与硬件操作直接相关的写成驱动程序,作为操作系统的板级支持层(BSP)。 系统的软件结构如图7 所示。
μC/OS-Ⅲ是一个实时多任务操作系统,除了设备驱动程序外,其他的工作分成4 个任务来完成。
HMI 任务 人机交互的所有工作在该任务完成,用户通过显示屏查看信息,并通过触摸屏输入信息。 交互生成的数据以参数表的形式保存起来。作为组态控制的数据结构参与控制。
图7 系统的软件结构Fig.7 System software structure
控制回路算法任务 按照用户组态的参数,按照当前的输入量(PV)和设定量(SV)以及回路使用的控制算法,完成每一个采样周期的控制输出量的计算,该任务主要完成回路控制任务[6]。
参数扫描和状态更新任务 系统参数可以被用户在HMI 界面更改, 也可以通过Modbus 接口更改,系统状态值也时刻在变化。 该任务就是通过当前的各状态值和参数值来计算并更新各内部变量的状态,该任务主要完成逻辑控制任务。
Modbus 通信任务 该任务实现设备支持Modbus 总线功能,可以通过总线远程控制设备。
由于本控制器功能复杂,可组态的功能一般是设备制造厂家使用,设备使用厂家只需要做一些简单操作。 为了安全设置两级权限,一级权限是操作权限, 主要做一些温度设定值的常规参数改变;二级权限是组态权限,可以完成复杂功能的重组态。
5 可组态控制器在恒温箱中的应用
在恒温箱中除了温度的模拟量回路控制外,还有设备的启停控制,压缩机的启停控制。 如果用普通的温控器,设备的启停控制需要单独使用PLC 或是复杂的继电器硬连接来实现。 而使用本文设计的控制器就非常方便的完成所有的控制功能。
5.1 温度的回路控制
输入设置成热电阻,采用定值控制(定值可以由操作人员修改),采用PID 控制算法。 控制输出位PWM,通过PWM 控制SSR 来加热。使用第一控制回路。 这样控制回路任务就根据以上设置完成控制输出计算,并且只扫描第一回路,从而减少扫描时间。
5.2 设备启停控制
设备启动控制是一个简单的逻辑控制,设定继电器K1 作为控制动力接触器DO 输出[7]。 DI1 作为启动按钮(常开),DI2 作为停止按钮(常开)。则按梯形图实现该逻辑方式如图8 所示。
图8 设备启停控制Fig.8 Device start and stop control
该功能可以通过本控制器的EVT 信号组态实现(注意本控制器逻辑优先级是从左到右);
EVT1=<DI1><OR><EVT><AND><! ><DI2>
在继电器组态中将继电器K1 关联到EVT1 信号上,则可以通过启停按钮来启动恒温箱的动力电源电路。
5.3 压缩机启停控制
在低温段,由于温度的热惯性,系统很容易超调,因此有必要在在PV 值接近SV 值时启动压缩机进行制冷,以实现快速稳定。 这时候可以通过TS 信号的组态来实现。 根据前述TS 信号的逻辑图,组态设定TS1 低点-20 ℃,中点60 ℃,高点120 ℃,上下偏差都为5 ℃。 则根据TS 的逻辑,当SV 小于60 ℃时,PV>SV-5 时,TS1 信号为ON;当SV 大于于60 ℃时,PV>SV+5 时,TS1 信号为ON; 将压缩机的启动继电器K2 与TS1 关联, 则可以实现当在低温段,PV>SV-5 时,启动压缩机,减少系统超调量。当在高温度,PV>SV+5 时,启动压缩机,增快回调时间。
5.4 实物设备运行状态
组态控制器的实际运行画面如图9 所示。 图9(a)为系统组态设置界面,图9(b)为系统的过程运行监控画面。
图9 组态控制器的运行界面Fig.9 Configuration interface of the controller
6 结语
本文主要研究的是通过该控制器的组态可以适应不同温控对象的要求。 通过控制算法的选择和参数的整定,系统可以很快地稳定到目标值。 使用该温控器实现了一个恒温箱系统的设计,测试结果表明,系统组态灵活,控制精度和功能达到设计要求。