《电力监控仪与PC机串行通信的实现.pdf》由会员分享,可在线阅读,更多相关《电力监控仪与PC机串行通信的实现.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第30卷第2期Vol.30 No.2 2009青 岛 理 工 大 学 学 报Journal of Qingdao Technological University电力监控仪与PC机串行通信的实现周玉国1,王青山2(1.青岛理工大学 自动化工程学院,青岛266033;2.辽宁建筑职业技术学院,辽阳111000)摘 要:介绍了电力监控仪表与PC机之间串行通信的硬件实现和软件设计.采用单片机的电力监控仪表使用了RS485串口,应用Keil C语言实现通信软件;上位机应用VB6.0的ActiveX控件实现Windows环境下计算机与RS485接口的串行通信.该方法已应用于电力监控装置中,实现了电力监控
2、仪表与计算机间的通信,对用电设备实现了监视和控制.还介绍了串口调试工具的利用,测试通信规约和通信程序,结果表明,通信规约和编写的通信程序完全满足设计要求.关键词:串行通信;RS485;电力监控仪表;MSComm中图分类号:TM933 文献标志码:A 文章编号:16734602(2009)02007005The Realization of Serial Communication Between ElectricPower Monitoring Instrument and PC ComputerZHOU Yu2guo1,WANG Qing2shan2(1.School of Automati
3、on Engineering,Qingdao Technological University,Qingdao 266033,China;2.Liaoning Technological College of Construction,Liaoyang 111000,China)Abstract:The realization of hardware and software of serial communication between the elec2tric power monitoring instrument and PC computer are illustrated in t
4、his article.The electricpower monitoring instrument with RS485 interface is based on the microprocessor.Keil Clanguage is used to program.Active control component MSComm of the VB6.0 is adopted torealize the serial communication between RS485 interface and computer in the Windows sys2tem.The method
5、is used to communicate for the instrument and computer.The monitor andcontrol function are realized for the electric unites.And serial debugging tool is introduced inthe paper too,which is used to test the communication protocols and programs.The test re2sults show that the communication protocols a
6、nd programs can completely meet the demandsof design.Key words:serial communication;RS485;the electric powermonitoring instrument;MSComm收稿日期:20080910作者简介:周玉国(19672),男,黑龙江铁力人.博士,教授,主要从事计算机控制、过程控制方面的研究.E2mail:zhouyuguo .0 引言随着计算机技术的飞速发展和广泛应用,以单片机为核心的电力监控仪在工业生产中得到了广泛应第2期 周玉国,等:电力监控仪与PC机串行通信的实现用.在现代工业生产
7、中为对电力设备进行远程监控、测量,利用通信技术将电力监控仪与计算机监控系统连接,在计算机监控系统上直接对远方电力设备的运行进行实时监控,并根据设备运行情况对故障线路进行判断、切除和备用线路的投入是必然的趋势.笔者探讨了电力监控仪与上位计算机的通信技术及具体实现方法.1 通信模块硬件设计工业控制系统中,各个电力监控单元分布于现场的不同位置,相互之间有一定的距离,而且操作现场存在各种干扰,RS232标准难以满足要求125,因此选用RS485标准,RS485串行接口属于一种差分标准,具有传输距离远、抗共模干扰能力强、速度快、易于安装和扩展等优点.但是大多数PC机只有常用的RS232标准串行通信接口,
8、因此,为了实现RS485的串行通信,必须设置RS485/RS2326转换电路.为加强系统的稳定性,传输通道的两端均要对传输信号进行隔离,这样无论是PC机还是单片机都不会因传输线上的干扰而出现“死机”或烧毁器件的危险现象.系统通信硬件框图如图1所示.图1PC机与电力监控仪通信硬件框图2 通信模块软件设计电力监控仪表系统中,下位机独立完成数据采集、处理及控制继电器等功能,将得到的电能数据信息通过串行网络传送到上位PC机,并能随时接收上位PC机送来的控制信息,返回上位机需要的信息.下位机只能对上位PC机发送信息,下位机间不能独立互相通信.上位PC机主要是处理下位机传送来的数据,经过计算,再将相应的控
9、制指令传给下位机.2.1 通信协议规约在设计中,PC机和电力监控仪表间采用的是基于RS485总线的主从方式点对多点通信,采用异步通信,起始位1位,数据位8位,停止位1位,无校验.微机为主设备,下位机为从设备.在通信协议中建立了主设备查询格式和从设备回应消息格式,其中主设备发送查询的数据帧为固定的7字节,而从设备回应消息的数据帧因回复的字符不同,所以其长度不固定.通信协议的基本格式见表1和表2.表1 上位机发送数据帧格式序 号字节数格 式11帧起始位21从机地址31功能码41寄存器地址51数据长度或命令字62CRC校验表2 下位机应答数据帧格式序 号字节数格 式11帧起始位21从机地址31功能码
10、41数据长度5N数据区62CRC校验帧起始位“”,用于通知接收机,发送机发送了一帧数据,准备接收数据.从机地址是数据帧的设备地址描述,RS485总线上可挂接多个从设备,它表明该用户设置地址的从机将接收由主机发送过来的信息.每个从机都必须有唯一的地址,并且只有符合地址的从机才能响应主机.当从机回送消息时,相应的地址码表明该消息来自何处.功能码是控制标志码,上位机发送的功能码用于告知被选中的从机设备要执行何种功能,例如功能代17青 岛 理 工 大 学 学 报第30卷码03是要求从机设备根据数据帧中的寄存器地址读取相应的电量寄存器并返回它们的内容.下位机的功能码还用于通知上位机,下位机接收的上位机数
11、据帧中的命令或要读的寄存器地址出现错误.数据长度为上位机要查询的电量寄存器所包含的有效数据长度.命令字用于表示上位机对下位机进行的控制,例如当上位机要“遥控”继电器时(对应功能码为05),可通过命令字使继电器处于打开或闭合状态.数据区则为下位机按上位机功能码03的要求,传送的电能寄存器的数据值.CRC16是冗余循环码,包含2个字节,即16位二进制.CRC码由发送设备计算,置于发送信息的尾部.接收信息的设备接收到数据后,重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的CRC码相符,如果两者不相符,则表明出错.CRC校验码保证了主机或从机对传送过程中出错的信息不起作用,增加了系统
12、的安全和效率.2.2 单片机通信程序设计设计单片机通信程序时,由于单片机多应用于实时性较强的控制场合,因此应将及时响应控制对象的动作放在优先考虑的位置,以尽量减少通信等辅助性操作所占用的CPU时间.基于上述考虑,在设计单片机通信程序时,将通信程序分为接收中断处理程序、数据处理及数据发送程序两部分,并将这两部分程序进行组合,构成整个单片机的通信程序.接收中断处理程序负责接收计算机发送到单片机缓冲区的数据,但不对数据进行处理,以减少中断占用的时间.当接收到规定的字符数之后,置接收完毕标志,以表明接收缓冲区中有待处理数据,并请求数据处理程序对其进行处理.其流程如图2所示.数据处理及数据发送程序放在主
13、程序中执行,只有接收到上位机发送的正确数据帧(帧起始位、从机地址、帧字节数都正确),才能进入数据处理程序,否则不进行处理,在进入数据处理及数据发送程序后,首先对接收缓冲区中的内容进行CRC校验,校验正确后再根据协议规定对缓冲区的数据进行处理(包括内存数据的写入、读出及继电器控制),数据处理完成后,根据上位机要求发送相应数据,发送完成后重新打开接收中断,准备接收下一帧数据.数据处理及数据发送程序流程如图3所示.2.3 上位机通信程序设计图2 单片机串口接收中断流程上位机通信程序采用VB的串口控件MSComm来实现,该控件是Microsoft公司提供的ActiveX控件,目的是为了简化Window
14、s下串行通信编程,它既可以用来提供简单的串行端口通信功能,也可以用来创建功能完备的、事件驱动的高级通信工具7.MSComm控件的属性很多,下面介绍串口编程中经常用到的几个重要属性.(1)CommPort属性:可以设置为116之间的任何整数值(缺省值为1),表示串口COM1,COM2作用是设置或返回通信端口号.(2)Input属性:用于返回并删除接收缓冲区中的数据流,InputLen属性确定被Input属性读取的字符数.若设置InputLen为0,则In2put属性读取缓冲区中全部内容.(3)InputMode属性:设置或返回接收数据的类型,InputMode属性的Value值可以设置为0(通过
15、Input属性以文本方式取回传入的数据)和1(通过Input属性以二进制方式取回传入的数据).27第2期 周玉国,等:电力监控仪与PC机串行通信的实现图3 单片机数据处理及数据发送程序流程(4)OutPut属性:向传输缓冲区写数据流,OutPut属性可以传输文本数据或二进制数据.(5)Settings属性:设置并返回通信参数,Settings属性可以用来指定数据传输率、奇偶校验、数据位数和停止位数.(6)PortOpen属性:设置或返回通信端口的状态,设置PortOpen属性为True即打开端口,设置为False则关闭端口,并清除接收和传输缓冲区.当应用程序终 止时,MSComm控件自动关闭串
16、行端口.(7)OutBufferSize属性和In2BufferSize属性:指定了接收和发送缓冲区被分配的内存数量.这两个值设置得越大,应用程序可用的内存就越少,然而,如果缓冲区太小,就会出现缓冲区溢出的风险,除非采用握手信号.MSComm控件通过串行端口传输和接收数据,它提供两种通信方式,一种是事件驱动方式,一旦有事件发生即可自动执行该段程序,这种方法的优点是程序响应及时,可靠性高;第二种是查询方式,在程序的每个关键功能完成之后,可以通过检查CommEvent属性值来查询事件和错误.查询方式实质上还是事件驱动,在有些情况下,查询方式显得更为便捷.本系统采用查询方式来处理通信数据,上位机数据
17、查询流程如图4所示,上位机在调用数据发送程序后,通过查询MSComm的InBufferCount即接收缓冲区中的数据个数,来确认是否接收到下位机返回的数据,程序根据发送接收程序的返回值,根据对应的情况进行处理,当返回值为接收数据超时、接收数据格式不对、接收数据CRC校验错误的情况下,重发数据,直到发送次数大于3次后,退出发送并提示操作员;若返回值表示接收数据正确,则将数据显示出来.3 串行通信程序测试在调试过程中,采用串口调试工具能够加快开发过程.串行通信程序测试的目的是通过模拟上位机,来向下位机发送数据,检验通信协议的合理性及下位机通信处理程序的实时性.在测试中借助串口调试工具在波特率为9
18、600 bit/s,自动发送周期100 ms的条件下,向下位机发送带有乱码干扰的数据帧,试验结果如图5所示:测试中发送的数据帧为00 11 24 02 03 00 0C 99 F1 00十个十六进制数据,按照前面数据帧的定义,24 02 03 00 0C 99 F1为有效数据,其中24为帧起始位,02为从机地址,03为功能码,00为寄存器地址,0C为要求下位机传送的数据长度,99 F1为数据02 03 00 0C的CRC16校验码,数据开头的0011和结尾的00为干扰数据.数据接收区中24 02 03 0C 00 00 00 00 00 00 00 00 00 00 00 00 71 D0十八
19、位数据,为下位机回复给上位机的数据帧,24为帧起始位,02为从机地址,03为功能码,0C为下位机传送的37青 岛 理 工 大 学 学 报第30卷数据长度,71 D0为除帧起始位外其他数据的CRC16校验码,中间的数据00则为传送给上位机的数据.测试中发送数据1 300个即130个数据帧,接收到数据2 340个即130个数据帧,数据返回率100%.由此可见串行通信程序编写是成功的.图4 上位机通信程序流程图5 串行通信程序测试4 结束语单片机与上位机的通信在工业现场中应用的比较广泛,笔者以带有RS485接口的智能仪表为例,利用RS485总线与计算机的串口,应用VB6.0的Ac2tiveX控件实现
20、了Windows环境下计算机与多台带有RS485总线接口的电力监控仪表的串行通信.该设计方法已成功应用于电力监控装置中,实现电力监控仪表与计算机间的通信,对用电设备实现了控制和监视.(下转第88页)47青 岛 理 工 大 学 学 报第30卷参考文献(References):1 赵经成.虚拟仿真训练系统设计与实践M.北京:国防工业出版社,2008.ZHAO Jing2cheng.Virtual Simulation Training System Design and Practice M.Beijing:Defense Industry Publishing Company,2008.2Fre
21、derick Kuhl,Richard Weatherly,Judith Dahmann.计算机仿真中的HLA技术 M.付正军,王永红,译.北京:国防工业出版社,2003.Frederick Kuhl,Richard Weatherly,Judith Dahmann.HLA Technology in Simulation M.Translator:FU Zheng2jun,WANG Yong2hong.Beijing:Defense Industry Publishing Company,2003.3 李凌鹏,刘毅,范勇.基于HLA的地空对抗仿真系统方案设计J.系统仿真技术,2006,2(2
22、):69273.LI Ling2peng,LIU Yi,FAN Yong.Ground to Air Simulation System Scheme Design Based on HLAJ.Journal of System SimulationTechnology,2006,2(2):69273.4 周彦,戴剑伟.HLA仿真程序设计M.北京:电子工业出版社,2001.ZHOU Yan,DAI Jian2wei.HLA Simulation Program DesignM.Beijing:Electronic Industry Publishing Company,2001.5Paters
23、on,Daniel J,Eric Anschuetz,et al.An Approach to HLA Gateway/Middleware DevelopmentC/Simulation InteroperabilityWorkshop Proceedings,1998:21230.(英文校审 刘学云)(上接第74页)参考文献(References):1 张晶明,雷建和.CPM1A系列PLC与上位机的串行通信J.青岛建筑工程学院学报,2003,24(3):69272.ZHANGJing2ming,LEIJian2he.The Serial Communication Between the
24、Host Computer and CPM1A PLCJ.Journal of Qingdao In2stitute of Architecture and Engineering,2003,24(3):69272.2 赵闻蕾,付维胜.利用VB6.0实现PC机与PLC的串行通信J.微计算机信息,2004(1):89290.ZHAO Wen2lei,FU Wei2sheng.Applying VB6.0 to Realize the Serial Communication Between PC and PLCJ.Control&Automa2tion,2004(1):89290.3 王世畅,程
25、耕国.串口通信在工业控制中的应用J.武汉科技大学学报:自然科学版,2003(4):3872390.WANG Shi2chang,CHENG Geng2guo.Application of Serial Port Communication in Control SystemJ.Journal of Wuhan Universityof Science and Technology,2003(4):3872390.4 余建军,杨家军.PC机与单片机多机通信方法在工程中的应用J.液压与机床,2005(12):1382139.YU Jian2jun,YANGJia2jun.The Applicati
26、on of Multi2Drop Communication Method Between PC and MCU in EngineeringJ.Ma2chine Tool&Hydraulics,2005(12):1382139.5 王红蕾.基于CAN总线技术的PLC与上位机的通信J.计算机应用,2002(2):95296.WANG Hong2lei.The Communication Between PLC and Supervision Computer Based CAN BusJ.The Application of the Comput2er,2002(2):95296.6 李华.M
27、CS251系列单片机实用接口技术M.北京:北京航空航天大学出版社,1994:291.LI Hua.The Practical Interface Technology of the MCS251 Serial MicroprocessorM.Beijing:Beijing University of Aeronautics andAstronautics Press,1994:291.7 李江全,张丽,岑红蕾.Visual Basic串口通信与测控应用技术实战详解M.北京:人民邮电出版社,2007:1042105.LI Jiang2quan,ZNANGLi,CHEN Hong2lei.The Detail Expiations of the Actual Operations Serial Communication and MeasurementApplicationM.Beijing:The Press of the Public Post and Telecommunication,2007:1042105.(英文校审 刘学云)88