APP下载

远程实验中的多功能中继器的研制

2018-06-05黄国辉姜周曙

实验技术与管理 2018年5期
关键词:中继器数据包远程

潘 广, 黄国辉, 姜周曙

(杭州电子科技大学 能量利用系统与控制研究所, 浙江 杭州 310018)

近几年,国内高校实验室建设投入巨大,取得了丰硕的成果,但是在传统实验系统的实际应用中还存在一些问题,例如缺少对实验室现场数据的监测和管理。因此,有必要设计一套应用于远程实验的多功能中继器,将实验室现场数据通过网络传输到数据中心,便于实时了解实验室情况,分析和评价实验系统的效率和效益。

本文提出了一种以自主研发的三容水箱实验台为对象、内嵌uCos-ii实时操作系统的远程实验多功能中继器。uCos-ii系统以线程为基本单位进行工作,很好地对系统资源和多线程进行管理,应用也更加灵活,能够满足开放性实验对实时性与可靠性的要求。

1 总体方案设计

多功能中继器主控制模块采用基于ARM内核的高性能处理器作为处理芯片,内嵌uCos-ii嵌入式实时操作系统和FatFs文件系统。如图1所示,系统硬件电路分为中继器和采集控制模块两部分。中继器主要由电源模块、单片机最小系统模块、RS485通信模块、网络通信模块、SD卡本地存储模块等构成[1]。三容水箱采集控制模块的核心部分为A/D采样电路,辅以外围隔离、滤波与放大电路模块。硬件电路采用模块化设计思想,既能提高硬件电路的整体可靠性,也便于硬件电路的维护和升级。

2 系统硬件设计

2.1 电源模块

稳定、可靠的电源模块是多功能中继器正常工作的必要前提。在进行电源模块的设计时,需重点考虑电压、功率和数模隔离。

电压的稳定可靠是有源器件工作的必要条件。作为数模转换的参考基准,电压是否稳定将直接影响采集精度。采用24 V—5 V—3.3 V三级降压模式,其中24 V—5 V采用LM2575集成稳压电路,5V—3.3 V采用LM1117集成稳压电路,最大限度地确保稳压值偏差较小[2]。

图1 系统总体硬件框图

对于功率匹配的设计,首先需要分析所有有源器件的工作功率,按照瞬时最大工作电流求得有源器件瞬时最大工作功率,再给予部分冗余和考虑电源转换效率等因素。

硬件电路中数字电路在电平转折处近似于突变,造成电压和电流变化速率快,易对模拟电路产生影响。因此,将隔离元件(磁珠、电容、电感、0 Ω电阻)单点接地,使模拟电路和数字电路相互隔离。

2.2 单片机最小系统模块

选用ARM Cortex-M3内核的stm32f103vet6系列处理器芯片作为主控制芯片。该芯片具有高主频、低功耗、资源丰富等优点,并且具有多种外部设备接口,方便外围硬件模块的设计,也为嵌入uCos-ii实时操作系统与FatFs文件系统提供了硬件平台。

最小系统主要由时钟源电路、启动模式选择引脚、复位电路、下载仿真电路和RTC钟源组成。其电原理图如图2所示。

图2 单片机最小系统模块电路图

2.3 RS485通信模块

数据中继器有2个RS485总线接口,通过接口与现场多台数据采集器串行通信。本文选用隔离型RS485收发器ADM2483作为通信芯片,降低了硬件电路设计难度,提高了硬件电路的安全性。为达到最佳数据通信效果,在ADM2483的通信端口之间接入匹配电阻R,匹配电阻R主要用于匹配传输线的特性阻抗,阻止高速差分电信号在传输线中反射[3]。RS485普遍采用双绞线进行数据传输,因此,选用120 Ω电阻作为RS485传输总线的终端并联匹配电阻。通信模块电路如图3所示。

图3 RS485通信模块电路图

2.4 网络通信模块

网络通信模块集成无线GPRS网络通信和有线以太网网络通信两种通信方式,适用于不同的应用场合。有线以太网网络通信选用Boccn公司的W5100以太网接口芯片,芯片内部采用硬件逻辑电路实现TCP/IP协议栈,有效降低主控制芯片的处理负担。片内集成100 Mbit/s以太网控制器,能降低实时通信网络延时、提高数据传输稳定性,满足远程控制实验的实时性要求[4]。

2.5 采集控制模块

采集控制模块是指底层数据采集板(又称为下位机),以ADμC834单片机为核心控制器,其外围电路的设计如图4所示。采集控制模块通过传感器采集液位、温度、压力等模拟量并进行A/D转换,最后把数字量按字节发送给中继器。底层采集板通过RS485串口设备与中继器通信,中继器连接上位机,根据实验类型选择控制算法,将控制信号通过中继器转发至下位机并实时发送数据采集命令,实现运行状态监控[5]。下位机在接收到中继器的指令后进行分析并作出响应。

3 软件设计

3.1 软件整体架构

为满足上位机与底层采集板间的高实时性数据传输的要求,中继器不仅在硬件设计上使用高性能的ARM Cortex-M3内核芯片,而且在主控制芯片内移植嵌入uCos-ii系统来实现系统任务线程的管理与实时调度[6]。同时,系统还移植嵌入FatFs文件系统[7],方便在上位机和下位机之间进行数据交换与数据查看。

图4 采集控制模块电路图

系统上电启动后,其初始化工作是首要工作。初始化包括系统变量初始化,uCos-ii实时操作系统初始化,相关消息队列、信号量集以及信号量初始化,MCU外设初始化和动态内存管理初始化。系统总体软件流程图如图5所示。

图5 系统总体软件流程图

3.2 数据传输设计

数据传输是通过数据接收线程和数据发送线程来完成的。为保证数据的安全,中继器的数据包均采用AES(advanced encryption standard)加密算法加密,再传输给数据中心服务器;而数据中心发送的数据包,中继器通过解密、过滤,再将数据发送给采集控制板进行控制。在数据传输设计中,通信协议是准确进行数据传输的重要保障。该协议在遵循数据传输协议国家标准的前提下,结合本系统的需求进行设计。数据包由起始符、时间戳、包编号、包体长度、中继器编号、数据类型、包体和校验位组成。起始符为固定的“@@”,表示数据包的开始;包体长度为4字节,是除起始符和校验位外的总长度[8]。请求数据包格式如表1所示。

表1 请求数据包格式

注:数据类型的具体定义如下:0—连接请求;1—身份验证;2—验证实验台开关;3—实验数据;A—心跳包数据。

根据数据类型,上位机可以显示实验台是空闲,还是进行实验中。控制指令数据包的数据类型为固定值“K”,格式与请求数据包完全一样,而包体内写明具体的控制指令,如采集温度、控制水箱液位等。

3.3 心跳保活设计

为了保证及时、有效地检测到一方的非正常断开,保证连接的资源被有效利用,保活机制就成为必要[9]。通常有两种保活处理方式:(1)利用TCP协议层实现的Keepalive;(2)自己在应用层实现心跳包。由于应用层实现心跳包具有很好的灵活性,本系统选用该种方法来保证实验的实时有效性。心跳包数据以固定时间间隔发送,判断正确的回复,确定网络连接是否正常。

4 功能实现

4.1 远程实验实现

实验用户进入登录界面,发送建立连接的请求。上位机启动后一直在等待接收中继器的请求信号,建立会话连接。当连接成功后,中继器将向多台下位机发送验证实验台开关数据,验证成功后,开始进行远程实验。

实验开始时,上位机把用户设置的实验参数及控制指令发送到中继器,进行解析处理后发送到对应的实验台进行实验;下位机则根据实验类型进行相应的操作,通过串口与采集控制板进行通信。下位机会实时把液位、温度、流量、压力等信息通过串口发给服务器端,并把数据存入数据库。在另外一个线程中,通过网络发给客户机并以flash的方式显示给用户,如图6所示。

图6 远程实验flash效果图

通过中继器能够有效地利用计算机资源来进行更多的实验,不仅节约成本,而且方便管理,使远程实验更加有序的进行[10]。

4.2 算法实现

利用良好的硬件平台和uCos-ii实时操作系统,将模糊自适应PID控制算法嵌入到中继器中,不仅能够避免每台上位机都进行Matlab编程,而且使远程实验更加准确、有效地进行。中继器接收到上位机的Kp、Ki、Kd值,对众多实验台进行模糊自适应PID控制[11],将得到精准值再转发给下位机,控制三容水箱实验台进行实验,二阶液位控制运行效果图如图7所示。

图7 二阶液位控制运行效果图

部分程序如下:

/*******模糊规则表*********/

int kp[7][7]={{PB,PB,PM,PM,PS,ZO,ZO},

{PB,PB,PM,PS,PS,ZO,ZO},

{PM,PM,PM,PS,ZO,NS,NS},

{PM,PM,PS,ZO,NS,NM,NM},

{PS,PS,ZO,NS,NS,NM,NM},

{PS,ZO,NS,NM,NM,NM,NB},

{ZO,ZO,NM,NM,NM,NB,NB}};

/****模糊推理规则的可信度*****/

float form[7][7];

int i,j;

for(i=0;i<7;i++)

{

float w,h,r;

for(j=0;j<7;j++)

{ h=es[i];

r=ecs[j];

w=fand(h,r);

form[i][j]=w;

}

}

/**求得的最大值赋给form[a][b]**/

int a=0,b=0;

for(i=0;i<7;i++)

{

for(j=0;j<7;j++)

{

if(form[a][b]

{

a=i; b=j;

}

}

}

5 结语

远程实验是开放实验室的重要组成部分,而中继器又是远程实验不可或缺的[12]。以stm32f103vet6为主控制芯片设计的基于uCos-ii的多功能中继器不仅能够完成远程实验,而且嵌入了模糊自适应PID控制算法,实时性更强、实验效果更佳。目前,该多功能中继器在以三容水箱为控制对象的实验室中取得了良好效果,并成为远程数据监测系统核心部分。

参考文献(References)

[1] 许向东,黄国辉,姜周曙,等.太阳能热水工程数据采集系统的研制[J].测控技术,2017,36(3):37-40.

[2] 封位,黄国辉,姜周曙.远程实验数据监控系统设计与应用[J].实验技术与管理,2017,34(9):142-145.

[3] 孙银山,尹军华,寇新民,等.SF6密度继电器RS-485通信终端电阻匹配方法研究[J].电气自动化,2015(1):46-48.

[4] 王海民,王宏志.STM32以太网控制系统[J].长春工业大学学报(自然科学版),2014(1):60-65.

[5] 牛勇超,姜周曙,黄国辉,等.基于JavaEE的开放实验管理系统的设计与实现[J].实验技术与管理,2017,34(1):153-156,193.

[6] 廉小亲,张阳伟.基于UcosII系统的电气火灾远程监控系统[J].测控计算,2015,34(12):70-73.

[7] 李世奇,董浩斌.基于FatFs文件系统的SD卡存储器设计[J].测控技术,2011,30(12):79-81.

[8] 全国工业过程测量和控制标准化技术委员会第四分技术委员会.基于Modbus协议的工业自动化网络规范第1部分:Modbus应用协议:GB/T 19582.1—2008[S].北京:中国标准出版社,2009.

[9] 周凤石.基于Windows Socket的网络通信中的心跳机制原理及其实现[J].沙洲职业工学院学报,2009,12(3):17-21.

[10] 蒋帅.远程网络实验管理平台的研究与设计[D].上海:东华大学,2014.

[11] 郭平.基于模糊PID的三容水箱液位控制的设计[D].南宁:广西大学,2011.

[12] 崔贯勋.基于物联网技术的实验室安全管理系统的设计[J].实验室研究与探索,2015,34(3):287-290.

猜你喜欢

中继器数据包远程
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
基于Jpcap的网络数据包的监听与分析
我国科学家率先实现全光量子中继
SmartSniff
远程诈骗
基于光伏发电的物联网中继器的设计
对利用轨间交叉环线进行列车定位的几点思考
移动IPV6在改进数据包发送路径模型下性能分析
一次神奇的远程渗透破袭战