APP下载

基于Modbus通信协议的臭氧发生器监控系统

2018-07-05周恒辉

上海电机学院学报 2018年3期
关键词:通信协议触摸屏臭氧

周恒辉, 焦 斌

(上海电机学院 电气学院,上海 201306)

臭氧因其强氧化还原能力和极易分解为氧的不稳定性,具备了很强的杀菌消毒能力,并且在应用的过程中不会造成二次污染。臭氧自身性质上所具备的优越性使其在包括水处理、医疗保健、食品加工保鲜、农业等各个领域得到广泛应用。目前,在国内外介质阻挡放电(Dielectric Barrier Discharge,DBD)法是大量制备臭氧的主流方法[1]。

当前生产中,在保证臭氧发生器自身高效率与低成本的基础上[2],已逐步向生产和管理自动化转变。本文设计的控制系统主要以C2000微控制器(Micro Controller Unit, MCU)为核心,实现上位机对臭氧发生器系统的监控功能,进而保证臭氧发生器高效、平稳地运行。其控制电路结构如图1所示。其中,上位机监控的实现是通过触摸屏来对臭氧电源的运行状况进行实时监控。以RS-485为通信接口,通过Modbus通信协议来连接MCU和触摸屏,从而实现良好的人机交互界面,并具有操作便捷、价格低廉和可靠性高等特点。系统的安全运行对更大规模的臭氧发生器系统具有重要意义。

图1 控制电路结构框图

1 臭氧电源控制系统通信模块的设计

本文的主要工作是对臭氧发生器开关电源的整体结构及其控制系统的通信模块进行设计与完善。以控制芯片TMS320F28335为核心,对系统实时测量获得的重要参数经A/D采样处理后,通过电源上的RS-485通信接口,使用AB两根线在Modbus协议下与上位机MCGS软件相接,通过触摸屏实现对整个电源系统运行状态及检测信号的监测与控制。

1.1 臭氧电源的主电路设计

臭氧发生器开关电源主电路框图如图2所示。针对臭氧发生器的负载特性[3-5],本文采用了负载串联谐振电源的设计,研制出了一种高效、低成本且稳定性高的高频智能电源。主电路包括了前后两级,分别为维也纳有源功率因数校正整流电路和电压型移相全桥逆变器。

图2 臭氧发生器开关电源主电路框图

1.2 Modbus通信协议功能概述

Modbus通信协议是由Modicon公司最先倡导的一种应用在电子控制器上的通用语言。不同厂商生产的控制设备都可以连接成一个工业网络进行集中监控[6],使得成千上万的自动化设备都能进行通信,已成为一通用工业标准。该协议用于主从站通信,采用通用异步收发(Universal Asynchronous Receiver/Transmitter, UART)接口完成通信,物理层采用RS-485总线。目前,Modbus通信协议的常用传输速率为1 200~19 200 bit/s,且理论上一台主机可与至多247台从机进行通信,但实际上由于受到线路与设备的限制最多只能与32台从机进行通信。通信模块结构框图如图3所示。

图3 通信模块结构框图(RS-485总线)

Modbus通信协议的传输方式有两种:远程终端单元(Remote Terminal Unit, RTU)模式和美国标准信息交换代码(American Standard Code for Information Interchange, ASCII)模式。ASCII模式是将1个字节分成2个ASCII字符进行传输(2个16进制字符),而RTU模式是以16进制对数据进行传送,且1个字节就是1帧,因此它的传输效率远大于ASCII模式,目前在大多数工业应用上都采用RTU模式对数据进行传输[7-8]。RTU传输模式的特性如表1所示。8位2进制编码(16进制数0~9,A~F):1个起始位,8个数据位(最小的有效位先发送),1个奇偶校验位或无,1个停止位(有校验时)或2个停止位(无校验时),错误检测域为循环冗长检测(Cyclic Redundancy Check, CRC)。

表1 RTU传输模式的特性 bit

RTU数据帧的标准结构如表2所示,包括了从机地址域、被执行命令形式的功能码、被请求传输的数据域、错误校验域。通信首先是由主机向从机发送地址,所有从机都会接收该地址与本机进行比对,只有地址相同的从机才会继续接收该数据包的其他帧,否则不作处理。当从机成功接收了数据之后会生成相应的CRC校验码来和主机传输过来的CRC校验码进行比对。若相同则正确,从机便会在执行了功能码所需命令后将生成的数据包回送给主机;若不同则出错,从机就会将错误的数据包(功能码的最高位置位)回送给主机。主机发出的两个RTU数据包的间隙需大于3.5帧,因从机检测线路上的空闲时间要大于3.5帧才会默认当前主机发送的数据帧已传输完毕。并且在同一个RTU数据包中,帧与帧的间隔也不能超过3.5帧,否则下一帧数据会被默认为地址帧,所有从机都会对其进行接收而产生通信错误。通信程序流程如图4所示。该协议采用CRC16校验作为串行检测纠错的一种手段,在软件中引入定时器解决传输中响应帧丢失,发送方不断重发,无休止等待接收方确认的问题。因此,本系统约定若重发的次数超过3次,则认为串行通信出现了故障,上位机进行通信故障报警。

表2 RTU数据帧的标准结构

图4 通信程序流程图

2 RS-485总线在系统中的设计

目前,常见的串行通信方式主要有RS-485和RS-232总线标准[9]。但由于RS-232通信总线传输数据速率低、距离短且易受外部环境的干扰,可靠性不高。而RS-485总线通信模式具有数据传输速率高、距离远且结构简单、价格低廉等优点,被广泛用于工业控制。RS-485总线以双绞线为物理介质,总线接口标准以差分平衡方式对信号进行传输,具有很强的抗干扰能力,允许双绞线上一个主机可对多个从机设备进行控制。

2.1 TMS320F28335控制芯片串行通信接口模块的特点

串行通信接口(Serial Communication Interface, SCI)接收与发送有各自独立的信号线,且支持16级的接收与发送先进先出队列(First Input First Output, FIFO),从而减小了串口通信时CPU的开销。此外,该模块的收发线并不是用的同一时钟,即可看作是UART接口。当此模块不作FIFO缓冲使用时,SCI收发器可使用双级缓冲来对数据进行传输且具有各自独立的中断和使能位,可实现双工通信。为减轻软件的负担,SCI还采用了硬件对通信数据进行极性和数据格式上的检查。此外,为配置不同的SCI通信速率,可通过对16位的波特率控制寄存器进行编程[10-11]。

TMS320F28335控制芯片的SCI模块拥有中断和查询这两种串行通信方式。本文选用较为简单、易实现的查询方式。MCU通信初始化程序如下:

{

SciaRegs.SCIFFTX.all=0xE040;

SciaRegs.SCIFFRX.all=0x204F;

SciaRegs.SCIFFCT.all=0x0000;

//禁用发送FIFO,使能接收FIFO

SciaRegs.SCICCR.all=0x0007;

//1位停止位,无奇偶检验位,8个数据位

SciaRegs.SCICTL1.all=0x0003;

SciaRegs.SCICTL2.all=0x0000;

//通信使能,通信中断禁止,关闭睡眠模式,关闭接受纠错

SciaRegs.SCIHBAUD=0x0001;

SciaRegs.SCILBAUD=0x00E7;

//波特率设置为9600

SciaRegs.SCICTL1.all=0x0023;

//复位,使能发送与接收

}

SCI模块接收与发送数据的方式相类似,接收数据的程序流程如图5所示。MCU在接收数据时,要先使能FIFO,再对SCI接收状态寄存器SCIRXST的RXRDY位进行查询。当有新的数据可以从SCIRXBUF寄存器读取的时候,该位置1,直至接收完毕。

图5 接收数据程序流程图

2.2 RS-485通信转换电路设计

在实际应用中,MCU与上位机在进行通信时需进行电平转换[12-13]。因为MCU芯片输出与接收的是晶体管-晶体管逻辑(Transistor-Transistor Logic, TTL)电平,所以要通过RS-485转换芯片实现TTL电平到RS-485差分电平的转换,从而能使MCU与上位机之间成功进行通信,实现数据的传输。

MAXIM公司生产的MAX3483E系列收发器芯片适用于RS-422/RS-485通信标准。本文采用的是MAX3491E转换芯片,引脚配置如图6所示。该芯片主要有如下特点:3.3 V单电源供电,±15 kV静电释放(Electro-Static discharge, ESD)保护,12 Mb/s数据传输率,2 nA低电流关断模式,-7~+12 V共模输入电压,驱动器过载保护等。

图6 MAX3491E转换芯片引脚图

MCU到上位机之间的RS-485通信转换电路如图7所示。MAX3491E转换芯片的收发使能是由MCU芯片的XR/W接口实现的。当RS-485通信距离大于20 m时,为了消除通信线路中的信号反射,需在总线两头各跨接120 Ω的电阻来匹配总线阻抗。

2.3 基于MCGS组态软件的触摸屏

早期的工业控制计算机系统软件功能都是靠编程实现的,工作量大,软件通用性差以及易产生错误等缺点。随着工业控制技术不断发展,专用于工业控制的组态软件应运而生。本文采用的是北京昆仑通态的MCGS组态软件作为上位机操作系统。此软件对现场数据进行采样处理,融合了图像显示、数据处理、流程控制和报表输出等功能,便于解决实际工程问题[14-15]。针对MCGS组态软件配套选用了一体化触摸屏TPC1162Hi。作为一套以先进的Cortex-A8 CPU为核心(主频600 MHz)的高性能嵌入式一体化触摸屏,采用10.4 in(1 in=25.44 mm)高亮度TFT液晶显示屏(分辨率800600),4线电阻式触摸屏(分辨率4096×4096)。同时,还预装了MCGS嵌入式组态软件(运行版)。

图7 RS-485通信转换电路

RS-485通信接线如图8所示。触摸屏上COM2串口默认的通信方式为RS-485。引脚7为数据接收引脚,引脚8为数据发送引脚,引脚5为接地引脚。当RS-485通信距离大于20 m且出现通信干扰现象时,可通过拨码开关对终端匹配电阻进行设置,从而成功实现上位机与下位机之间的通信。再通过以太网接口(RJ45)将计算机与触摸屏连接,选择TCP/IP网络通信协议并输入TPC的IP地址。这样不仅可在当前触摸屏上直接进行监控,还实现了远程控制,通过网络接入其他屏幕,显示设备运行状况,对臭氧发生器系统的运行状态进行实时监控。该设计满足显示和操作的要求,有功耗低、性能可靠、接线简单和拆装方便等优点。

图8 RS-485通信接线图

当MCU与触摸屏实现连接时,触摸屏按键所对应的指令代码就会通过串口发送给MCU,再由MCU生成对外部电路的控制信号及触摸屏的显示信号。此外,为了保证臭氧发生器系统的正常运行,需根据触摸屏要实现的功能编写相应的子程序模块,在控制程序中设定相应的保护,从而在硬件保护失败的情况下实现软件的二次保护。另外,还设定了一个合理的故障(被监测的参数瞬时值在额定值的15%范围以外)检测次数来避免干扰信号造成的误操作,只有当次数超过了设定值才会停止采样,停止脉冲宽度调制(Pulse Width Modulation, PWM)发送等操作指令并报警,检测故障类型并显示在触摸屏上,程序进入空循环。若为干扰信号的话,程序就会将故障信号清零继续工作。触摸屏系统通信控制流程如图9所示。

图9 触摸屏系统通信控制流程图

3 实验结果与分析

为对臭氧发生器的工作状态进行实时监控并实现对电源的软件保护功能,相应的信号采样调整电路对交流侧电网输入相电压、输入相电流等重要参数进行测量,并将采集到的电压、电流等信号转化成模/数转换器(Analog-to-Digital Converter, ADC)模块可以处理的0~3V信号[16]。此外,为使采样输入电压维持在安全范围内,A/D的输入引脚需外接电平调整电路对其实现保护,从而大大地增强数据采集系统的可靠性。连接到模拟输入通道(ADCINxx 引脚)的信号要尽可能地远离数字电路信号线,确保ADC模块的供电电源与数字电源隔离,避免数字电源的高频干扰。本文设计的ADC采样中断为CPU timer0定时器的触发方式,从而对采样中断服务子程序进行调用。ADC模块中的结果寄存器用来存放模数转换结果,将10进制的模拟量A转换成12位数字量D,则有

(1)

式中:ADCLO为ADC模块参考电压值(一般设为0)。

本文采用集成开发环境(Code Composer Studio, CCS) 7.4.0版本来实现编程。一方面,通过CCS编程软件使用C语言编写程序来实现A/D采样。此模块的编程包括了ADC工作时钟设置、ADC初始化与其工作方式设置以及A/D采样信号程序等部分。采样频率等于系统闭环控制频率,且转换成的数字量需进行ADC模块电压基准校正,从而达到减小误差提高精度的目的。另一方面,对MCU通信程序进行编写,实现下位机MCU与上位机触摸屏之间的通信。

TMS320F28335控制芯片与触摸屏之间成功地实现了通信,可对整个系统运行过程实时监控,当系统发生故障时能及时报警以便实时做出调整。通过参数设定MCU对主电路整流模块的电压环、电流环PI参数及电压指令值等进行的调整策略,使得输入电压与电流相位几乎完全相同,且输入电流总谐波畸变率很小,即功率因数接近于1,达到了理想的运行效果。示波器显示的电网侧输入电压电流波形如图10所示,验证了运行效果。

图10 电网输入电压电流波形(示波器显示)

触摸屏中显示的瞬时输入功率参数是通过对电网输入电压与输入电流的检测获得的。该触摸屏还对进口处的氧气压力、露点与流量及出口处的臭氧压力、温度与浓度,进出水温度等一系列参数进行实时监控,为臭氧发生器装置实现了一套完备的实时监控系统。

4 结 语

本文基于Modbus通信协议,对以C2000 MCU TMS320F28335为控制芯片的臭氧发生器监控系统进行了设计与实现。利用MCU芯片的SCI模块并通过RS-485总线实现触摸屏与多台MCU的串行通信,保证了数据有效可靠地传输。通过实验表明,本文设计的这套监控系统不仅实现了对臭氧发生器系统工作状态的实时监控,而且系统具有较高的灵活性、抗干扰能力以及运行的稳定性。本文对更大规模臭氧发生器系统的设计具有借鉴意义。

[1] 董润. DBD型高效臭氧发生器机理的研究[D]. 武汉: 武汉工程大学, 2014.

[2] KOUDRIAVTSEV O, WANG S P, KONISHI Y, et al. A novel pulse-density-modulated high-frequency inverter for silent-discharge-type ozonizer[J]. IEEE Transaction on Industry Applications, 2002, 38(2): 369-378.

[3] 唐雄民, 章云, 朱燕飞. 串联谐振式介质阻挡放电型臭氧发生器等效模型及电源特性分析[J]. 高电压技术, 2012, 38(5): 1051-1058.

[4] KINNARES V, HOTHONGKHAM P. Circuit analysis and modeling of a phase-shifted pulsewidth modulation full-bridge-inverter-fed ozone generator with constant applied electrode voltage[J]. IEEE Transactions on Power Electronics, 2010, 25(7): 1739-1752.

[5] 王子豪, 焦斌. 模糊PID参数自整定的电源移相控制策略及仿真[J]. 上海电机学院学报, 2017, 20(4): 220-225.

[6] 陈鑫, 孙苓生, 张明. 基于Modbus协议的SCADA系统构建[J]. 电力自动化设备, 2004, 24(5): 48-50.

[7] 许波. Modbus通信协议的研究与实现[D]. 安徽:安徽大学, 2010.

[8] 吕国芳, 唐海龙, 李进. 基于Modbus RTU的串口调试软件的实现[J]. 计算机技术与发展, 2009, 19(9): 236-238,241.

[9] 吕腾超, 李由, 李阳. 基于S3C2440的新型工业多协议转换器设计[J]. 仪表技术与传感器, 2017(10): 38-41.

[10] 张卿杰, 徐友, 左楠, 等. 手把手教你学DSP——基于TMS320F28335[M]. 北京: 北京航空航天大学出版社, 2015: 319-340.

[11] 杨家强. TMS320F2833xDSP原理与应用教程[M]. 北京: 清华大学出版社, 2014: 234-247.

[12] 海志华. DSP和串口触摸屏在CVT低校高现场测试仪的应用[J]. 自动化与仪器仪表, 2015(7): 45-47.

[13] 于镭, 田家彩, 亓玉刚. 基于Modbus协议的DSP与触摸屏串口通讯[J]. 微计算机信息, 2010, 26(11): 24-25.

[14] 包建华, 丁启胜, 张兴奎. 工控组态软件MCGS及其应用[J]. 工矿自动化, 2007(3): 92-94.

[15] 王传艳, 陈婧. MCGS触摸屏组态控制技术[M]. 北京: 北京师范大学出版社, 2015: 43-44.

[16] HU Haibing, SHI Wei, LU Ying, et al. Design Considerations for DSP-Controlled 400 Hz Shunt Active Power Filter in an Aircraft Power System[J]. IEEE Transactions on Industrial Electronics, 2012, 59(9): 3624-3634.

猜你喜欢

通信协议触摸屏臭氧
文印室内臭氧散发实测分析及模拟
PLC和触摸屏在卫生间控制系统的应用
浅析投射式多点触控电容触摸屏
皮肤“长”出触摸屏
基于Z-Stack通信协议栈的红外地温采集电路设计
看不见的污染源——臭氧
利用臭氧水防治韭菜迟眼蕈蚊
基于DMX512通信协议的多路转发器设计与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
臭氧分子如是说