APP下载

MODBUS协议在中子发生器控制台中的应用

2018-04-03兴,乔

关键词:波特率通信协议中子

鲁 兴,乔 双

(东北师范大学物理学院,吉林 长春 130024)

随着工业技术的发展,传统的大型核反应堆越来越不适合民用生产.中子发生器以其小型化、价格低、产额高、产生与关闭的可控性的优势,在工业、国防、医疗等领域得到广泛应用.它主要由中子管和控制台组成,中子管是把离子源、加速系统、靶、气压调节系统密封在陶瓷管内组成的电真空器件,配合中子发生器控制台给予的低、中、高三路电压,才能产生稳定的中子.[1]传统的控制台使用电压表、电流或者使用简单的串口通信触摸屏监测中子管的三路电压、电流情况.由于有高压的存在,放电不可避免,因此会对电路及通信和控制造成干扰,使传输的数据不精确,传输不稳定.MODBUS作为一种开放式现场总线通信协议,以其支持较多类型的电气接口,具有透明通信、帧结构简单、紧促、格式规范、易于传输、通俗易懂的优点,而广泛应用于电子控制装置上.[2]本文将MODBUS协议移植到中子发生器控制台中,实现现场设备与控制设备之间的双向、串行通信,使得PC机、中子发生器控制台对中子管的工作状态的监测与控制更加可靠和稳定,最终实现中子发生器的长期稳定工作.

1 MODBUS通信协议简介

1.1 MODBUS协议通信方式

MODBUS采用主从通信方式,在同一主设备下可控制多达255个从设备.标准MODBUS协议可以配合RS232、RS485物理接口使用.通信以帧为单位,一次有效的通信由若干帧组成.MODBUS通信一般有ASCII模式和RTU模式.当控制器设定在MODBUS网络上时以ASCII模式通信,消息中的每个8 B字节都作为一个ASCII码发送.这种方式的主要优点是字符发送的时间间隔可达到1 s而不产生错误.当控制器设在MODBUS网络上时以RTU模式通信,在消息中的每个8 B字节包含2个4 B的 十六进制字符.[3]这种方式的主要优点:在同样的波特率下,比ASCII方式传送更多的数据.现在工业上多数采用RTU模式,因为它传输速率更快.

1.2 MODBUS协议数据传输格式

RTU模式下通信的数据帧格式见表1.

MODBUS的RTU模式规定不同数据帧之间的间隔是3.5个字节以上.如果在一帧数据完成之前有超过3.5个字节时间的停顿,接收设备将刷新当前的消息并假定下一个字节是一个新的数据帧的开始.同样,如果一个新消息在小于3.5个字节时间内接着前边一个数据开始,接收设备将会认为它是前一帧数据的延续.这将会导致一个错误,因此RTU数据帧最后还有16 B的CRC校验.[4-6]所以真正的第一帧数据是从机地址,第二帧为功能码,数据的帧数是根据功能码来确定的,最后的CRC校验码是由一种特定的数据算法所得的值,接收方在接收到数据后进行CRC计算,把得到的值与计算的值比较.如果正确,则接收.否则这帧数据将被丢弃.RTU模式的每个字节的位分布:1个起始位、8个数据位(最小有效位先发送)、1个奇偶校验位(如果无校验则没有此位)、1个停止位(有校验位时)或者2个停止位(无校验位时).所以MODBUS编程时不仅要选好通信模式,而且要设置好一些串口参数,如波特率、停止位等,MODBUS常用功能码见表2.

表2 MODBUS常用功能码

2 基于MODBUS协议控制台硬件设计

中子发生器控制台的总体结构如图1所示.上位机监控界面通过基于MODBUS协议的串口将控制指令发给控制台中的主控制器,主控制器按照该协议调节离子源电路、储存器电路、高压源电路的状态,产生用户所需要的中子.同时通过A/D采样通道实时监测中子管工作情况,防止发生意外.

图1 中子发生器控制台的总体框图结构

3 基于MODBUS协议控制台软件设计

本文采用MODBUS RTU通信模式,主站利用LabVIEW人机交互界面实现,从站使用DSP TMS320F2812实现,主站与从站之间通过串口通信.过去普通的串口通信运用在中子发生器控制台中,常常发生通信错误,造成通信中断或数据堆积等现象.在普通串口通信中添加MODBUS通信协议,控制台的主站会先给从站发送一个从机地址位,从站对此进行判断,一旦从机地址位错误,即丢弃所有接收到的数据.并且在控制台里的从站接收完一个指令的数据后,计算出CRC码并与主站传输的CRC码对比,如果正确,则根据相应的功能码对中子发生器进行控制.而且MODBUS协议还规定了一帧数据间传输时间,对数据的正确性进行了判断,并且相较于普通串口通信,控制台中MODBUS协议对数据传输错误有很多的处理机制,这使中子发生器在高压放电干扰的环境下通信不会中断,不会因为错误的数据传输而对中子发生器进行错误的调控,从而导致设备的损坏.

3.1 下位机MODBUS协议程序设计

(1) 编写超时定时器初始化函数、定时器中断函数.

在超时定时器初始化函数里设置3.5个字节以上通信时间.保证不同数据帧之间的良好区分.部分代码如下:

void init_eva_timer2(void);

{ EvaRegs.T2PR = 0x5160 // Period;

EvaRegs.EVAIMRB.bit.T2PINT = 1;

EvaRegs.EVAIFRB.bit.T2PINT = 1;

EvaRegs.T2CNT = 0x0000;

EvaRegs.T2CON.all = 0x1040 // Clear the counter for GP timer 2}.

(2) 串口函数的编写.

设置好串口的一些波特率、字节的位数,奇偶校验位、停止位的个数等参数,以及串口字节数据的发送接收函数的编写.

(3) 校验函数(CRC)等的编写.

(4) 应用层函数的编写.

对保持寄存器的回函数、输入寄存器回函数等进行编写,根据外部功能码进行功能操作,打开TMS320F2812芯片的AD采集功能,采集中子管此刻的电压、电流值等[7-8],返回响应数据.

3.2 上位机MODBUS协议程序设计

上位机界面是由LabVIEW软件进行编写的[9].在基于MODBUS的设计中遵循LabVIEW串口编写思路:(1)串口初始化组件的配置,设置好波特率、停止位等参数;(2)发送和接收模块制作时严格按照MODBUS协议数据发送、接收格式,加上CRC校验子函数(如图2所示);(3)关闭串口通信.

图2 CRC校验模块

4 基于MODBUS协议的通信实验与分析

4.1 上位机与下位机的通信实验

将中子发生器控制台里面的DSP下载,基于MODBUS协议下的程序与PC机上位机界面通过串口相连,选定好波特率、从机地址等参数,进行通信测试.监控中子发生器的运行情况(如图3所示).

4.2 中子发生器运行测试

为了验证MODBUS协议对解决高压放电等强干扰的有效性,本文将移植与没移植MODBUS协议的控制台带到工业现场分别进行测试.保证离子源电流工作在400 μA,高压源为110 kV的条件下,连续工作8 h,进行对比实验,具体实验数据见表3.

表3 控制台实验数据

将嵌入MODBUS协议的中子发生器控制台用于工业物料实时在线元素分析现场[10],经过长期使用证明控制台相较于普通串口控制台通信更加稳定、可靠,表现出比较高的抗干扰性和可靠性,能有效快速控制中子发生器,完全满足实际需要.

5 结语

MODBUS通信协议已经广泛地应用于工业生产上,特别是在以嵌入式微处理器为核心的监控系统,它的可靠性和稳定性经过长期的验证,在中子发生器控制台的通信编程过程中运用到MODBUS协议,代替传统的通信方式,传输的数据更加可靠、稳定,使中子发生器控制的精确度、可靠性大幅提升,为中子发生器的产业化奠定了坚实的基础.

[参考文献]

[1]周大立,张洋,乔双.蓝牙技术在中子发生器控制台中的应用[J].东北师大学报(自然科学版),2015,47(2):72-74.

[2]朱小襄.MODBUS通信协议及编程[J].电子工程师,2005,31(7):42-44.

[3]彭道刚,张浩,李辉,等.基于MODBUS协议的ARM嵌入式监控平台设计与实现[J].电力自动化设备,2009,29(1):115-123.

[4]岳洋,张春光,袁爱进.一种基于MODBUS的嵌入式人际界面的设计与实现[J].工业控制计算机,2006,19(1):8-10.

[5]袁臣虎,王臻,李秀艳,等.基于MODBUS协议的触摸屏与TMS320F2812串行通信研究[J].天津工业大学学报,2010,29(2):63-67.

[6]封亚斌.采用串口通信技术实现MODBUS数据通信[J].自动化仪表,2004,25(10):56- 58.

[7]顾卫钢.手把手教你学DSP[M].北京:北京航空航天大学出版社,2011:315-351.

[8]高翠云,江朝晖,孙冰.基于TMS320F2812的DSP最小系统设计[J].电气电子教学学报,2009,31(1):83-85.

[9]谢启,顾启民,涂水林,等.基于LabVIEW的MODBUS RTU通信协议的实现[J].煤矿机械,2006,27(12):95-96.

[10]BACH P,CLUZEAU S,LAMBERMONT C.Application of nuclear analytical techniques using long-life sealed-tube neutron generators[J].Biological Trace Element Research,1994,45:131-139.

猜你喜欢

波特率通信协议中子
CAN 总线波特率自适应程序设计
3D打印抗中子辐照钢研究取得新进展
基于FPGA的异步串行通信波特率容错设计
基于Z-Stack通信协议栈的红外地温采集电路设计
基于DMX512通信协议的多路转发器设计与研究
基于PLC控制的中子束窗更换维护系统开发与研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
DORT 程序进行RPV 中子注量率计算的可靠性验证
中子深度定量分析的相对分析法
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介