基于485的耐压绝缘测试系统设计
2011-03-06蔡祥,江冰
蔡 祥,江 冰
(河海大学 常州校区计算机与信息学院,江苏 常州 213022)
0 引言
在工业生产中,为检验产品在实际工作状态下的电气安全性能,必须进行交/直流耐压试验、绝缘电阻测量、泄漏电流测量、接地电阻测量等电气测试。目前市场上所见的耐压测试仪采用GB4706(等同IEC1010)标准,使用较多的是台式结构的单项测试指标测试仪器,不能满足用户同时进行多指标综合测试的需求,因此设计符合用户需求能够进行多指标综合测试的测试系统网络具有重要意义。由于在实际测量环境中存在高压等复杂电磁环境,因此系统排除了易受干扰的无线网络组网方案,采用了基于RS485的有线组网方案。基于RS485组建的半双工网络具有传输可靠、通讯距离远、抗干扰能力强等优点,能够满足系统的设计需求。
1 系统硬件框图
图1是测试系统的硬件设计方案框图。系统由PC机、中控机和各组测试设备组成。PC机与中控机通过232联机,操作员在PC机上通过上位机软件设置工作参数、并通过观察窗口实时观察各组测试设备的工作情况,在PC机和中控机无法直接相连时通过USB存储设备向中控机传递参数和数据,PC机上位机软件可以将各种数据保存在数据库中。下位机是多台带有485接口芯片的程控耐压绝缘测试设备,下位机通过485总线[1]与中控机联机组成半双工网络[2],中控机通过485总线直接控制各组测试设备,操作人员可以通过中控机设置工作参数,同时通过液晶屏实时观察测试设备的工作状态,并通过外接U盘保存测量数据。用于联机的电缆使用普通的双绞线,也可以使用具有较好电磁兼容性能的屏蔽双绞线以增加网络的抗干扰性。
图1 基于485网络的耐压绝缘测试系统框
2 硬件原理图
图2是程控耐压绝缘测试设备原理图,图3是耐压绝缘测试系统中控机原理图。测试设备和中控机的CPU均采用了Cygnal公司的一种混合信号系统级高速单片机C8051F020芯片[3]。芯片内有两个独立的 UART 串行接口分别实现 232通信和485通信。C8051F020单片机比一般的51单片机增加了许多功能,同时其可靠性和速度也有很大提高。
图2 程控耐压绝缘测试设备原理
串行接口 RS485[4]采用了 Maxim公司一种 RS-485芯片MAX485。MAX485是用于RS-485的低功耗收发器,在器件中具有一个驱动器和一个接收器。MAX485的驱动器摆率不受限制,可以实现最高 2.5 Mb/s的传输速率。在一条总线上最多可挂接32台收发器。
图3 耐压绝缘测试系统中控机原理
3 软件设计和技术实现
3.1 通信协议设计
系统中控机和下位机多台测试设备之间建立485通信网络,但 485串行通信标准只规定定义了电压,阻抗等,没用对软件通信协议给予定义。目前在工业控制[5]中常用的通用工业标准是Modbus标准通信协议。Modbus标准通信协议可以将基于它的不同厂商的控制设备连成工业网络。而使用标准通信协议设计复杂度和成本均要提高,并不适用项目中搭建的测试系统。因此系统参考OSI模型设计了实现简单能可靠传输的通信协议[6]。
在开放系统互连(OSI,Open System Interconnection)七层模型中,层次化的结构模型使不同的系统不同的网络之间实现可靠通信,在测试系统设计中规定:传输的数据量较小时,对传输错误的信息采取重发;传输的信息由测量参数组成,不需要进行额外的编译码和加密过程;数据的传输只传输一个数据包,因此不考虑传输层、会话层、表示层协议。应用层协议根据系统功能需求编写,系统中物理层协议由485标准接口协议实现。
由上述分析可以获得如图4所示的OSI简化模型,根据简化的通信系统模型,可以编写出简单易实现的通信协议。MAX485芯片的性能使系统中的组网设备连接数限制在32以内,因此在系统的通信协议中网络层即地址位只需要设置成一位。
表1是根据OSI简化模型编写的通信协议,该协议由起始位、地址、数据位、校验位和结束位组成。当接收端接收到起始字符时,接收过程开始,当接收端接收到结束字符时,一次接收过程完成。
图4 OSI简化模型
表1 基于四层OSI模型的通信协议
在该通信协议下,发送数据必须避免与起始字符和结束字符相同,解决办法是采用增加起始位和结束位长度的方法,以减小冲突误判可能,但在这种情况下依然有很小概率产生冲突误判。另一种解决方案采用在高级数据链路控制协议中能实现透明传输的“0比特插入法”,但该方法会增加数据传输量,在最坏情况下会增加一倍数据传输量[7]。
以上两种方案均存在不足,因此系统对表1中的通信协议进行了改进,在数据接收的起始位和结束位增加判断条件,判断的依据是起始位和结束位在本帧数据中的实际位置,实现方法是在起始位后增加数据长度位,用一个字节表示。如表2所示。
表2 基于四层OSI模型改进的通信协议
协议中数据长度位包括了在通信过程中发送的数据总长度,假设数据长度为N,则起始位是第1个字符,结束位是第N个字符,当接收端接收到起始位字符并且该字符是第1位时,判断一次数据接收开始,当接收端接收到结束字符并且该字符是第N位时,判断一次数据接收结束。在应用中,实际每次传送的数据总长度不超过251位,不会产生数据分段传输的现象,新的协议不会产生误判,数据传输量只增加一位,能实现数据的正确传输。
3.2 系统工作流程
根据上节设计的通信协议,中控机和测试设备间可组成半双工网络。系统工作步骤如下:
①中控机通过 RS485网络同时对多台测试设备工作参数进行设定;
②在中控机发送完参数后,测试设备根据本机所接收到的指令进行应答以及执行操作指令,各测试设备在操作结束后向中控机返回结果;
③中控机将数据结果保存到存储器中。系统工作流程如图5所示。
图5 耐压绝缘测试系统控制流程
3.3 用户界面设计
为方便用户的操作,设计了人机交互软件[8],软件的主要功能是远程设置系统工作参数,保存用户历史设置参数,保存用户操作记录以及设备工作记录。软件的界面设计参照了原设备的界面,操作方便,易于掌握。软件添加的数据库功能可以将历史数据和历史参数保存,便于查询对比。
图6是参数设置界面,用户可以输入用于测试的相关参数,同时可以在参数设置栏下读取系统默认的设置参数,软件在编写时已经将各参数值的范围限定,因此用户设定参数时,系统默认将超过范围的值修改到指定范围内,减少人为操作失误。
图6 演示系统参数设置界面
4 结语
这里介绍了耐压绝缘测试系统的工作原理,说明了基于485网络的耐压绝缘测试系统的设计方法,比较了几种通信协议的设计方法,设计了适合该系统的通信协议,同时给出了中控机和下位机数据通信的流程图。
系统设计满足了当前耐压绝缘阻抗测试仪的升级需求,能有效解决测试的安全性问题,简化测试操作员的工作流程,具有相当的市场价值。
[1] 李正军.现场总线及其应用技术[M].北京:机械工业出版社,2005.
[2] 陈斌.基于RS-485的单片机多机通信技术[J].电子产品世界,2005(14):91-94.
[3] 童长飞.C8051F系列单片机开发与C语言编程[M].北京:航空航天大学出版社,2005.
[4] RS422/485 Application Note.B&B Electr- onics,October 1997.[EB/OL](2009-07-16)[2010-08-11].http://download.csdn.net/s ource/1495291.
[5] 徐功伟,戴学丰,刘树东,等.嵌入式以太网控制器设计[J].通信技术,2009,42(05):183-187.
[6] 姚学礼.网络通信协议一致性测试研究[J].通信技术,2009,42(05):172-176.
[7] DRUMEA A, VASILE A.Aspects of Serial Communication in a Network of Medical Devices, Andrei Drumea[C].USA:IEEE,2006:377-381.
[8] 李廷军,邱丽波,李卫华,等.一种串口通信程序的设计[J].通信技术,2003(07):84-85.