基于Modbus的EPS应急电源监控系统的研究.doc_第1页
基于Modbus的EPS应急电源监控系统的研究.doc_第2页
基于Modbus的EPS应急电源监控系统的研究.doc_第3页
基于Modbus的EPS应急电源监控系统的研究.doc_第4页
基于Modbus的EPS应急电源监控系统的研究.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Modbus的EPS应急电源监控系统的研究随着环保和消防要求的提高,柴油发电机逐渐失去优势,而由于逆变技术的成熟发展,新型无公害、高可靠性、动力型的大型应急电源EPS(Emergency Power Supply)逐步成为代替柴油发电机组的“绿色电源”,目前已经在建筑领域得到大面积推广。同时,随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已经扩展到了几乎所有的工业领域。将所有的功能集成于统一开放的平台上,通过人机界面可以使复杂的控制和数据处理变得更加简单。2 监控系统设计 美国电子工业协会(EIA)制定的RS 485标准作为一种多点差分数据传输的电气规范,现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信。平衡发送、平衡接收,具有传输距离远、通信速率高、抗干扰能力强、软硬件支持丰富与现场仪表接口简单、易于实现和扩展等特点。接口总线上可连接32个设备,加中继器后最多可达255个设备。因此,许多领域都采用RS 485作为数据传输链路,例如汽车电子、电信设备、局域网、蜂窝基站、工业控制仪器仪表等。本系统采用一台PC作为上位机,下位机由若干台P89C51单片机担任,监控系统结构图如图1所示。 上位机的RS 232串行口通过RS 232/RS 485转换器转换为RS 485总线,各下位机通过MAX485芯片连接到总线上。各个下位机设有自己惟一的地址,且下位机之间不能通信,一切通信受上位机控制。开始时,所有下位机都处于监听状态,等待上位机发出指令。当上位机发出指令时,所有下位机都接收并且将其中的地址帧与自己的地址比较,如果相同则继续接收后面的指令或数据,若不同则不予理睬。3 通信协议Modbus Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络和其他设备之间可以通信。他已经成为一通用工业标准,不同厂商生产的控制设备利用其可以连成工业网络,进行集中监控。 Modbus协议定义了消息域格式和内容的公共格式,如表1和表2所示,使控制器能认识和使用消息结构,而无需考虑通信网络的拓扑结构。他描述了一个控制器访问其他设备的过程,当采用Modbus协议通信时,此协议规定每个控制器需要知道自己的设备地址,识别按地址发来的消息,如何响应来自其他设备的请求,如何侦测错误并记录。 系统通信采用主从技术,即只有主设备能发出查询,从设备响应消息。主设备可单独和从设备通信,从设备返回一个消息。如果采用广播方式(地址为零)查询,从设备不作任何回应。 Modbus协议有两种模式:ASCII和RTU模式。一个Modbus通信系统中只能选择一种模式,不允许两种模式混合使用。本系统采用RTU模式,消息的起始位以至少3.5个字符传输时间的停顿开始(一般采用4个),在传输完最后一个字符后,有一个至少3.5个字符传输时间的停顿来标识结束。一个新的消息可在此停顿后开始。在接收期间,如果等待接收下一个字符的时间超过1.5个字符传输时间,则认为是下一个消息的开始。校验码采用CRC16方式,只对设备地址、功能代码和数据段进行。整个消息帧必须作为一连续的流传输,传输速率较ASCII模式高。 Modbus可能的从设备地址是0247(十进制),单个设备的地址范围是1247。可能的功能代码范围是十进制的1255。其中有些代码适用于所有的控制器,有些是针对某种Modicon控制器,有些是为用户保留或备用。4 软件设计 本系统上位机软件采用VC 6.0开发,操作系统为Windows 98,上位机向串口读写数据,通过485总线将控制信息送到现场的每台EPS设备,就可以监控网络上任何一台EPS设备,同时现场采集到的电压、电流等信号实时显示在上位机的界面上。 (1) 人机界面子程序 包括实时信息动态更新及数字显示,异常判断及报警声音提示。 (2) 串口通信子程序 在Windows 98中将串行口和文件的操作统一起来。对他们打开、读、写、关闭等操作都使用相同的API函数,但是又是有区别的,比如串行口不能像文件一样被删除,这些差别体现在API函数中部分的参数设置上。在VC中设计串行通信程序时要用到一些通信的API函数,如CreateFile(),CloseHandle(),ReadFile(),WriteFile(),SetupComm(),WaitCommEvent()等。除上述几个函数外,还要经常用到一个重要的记录DCB(设备控制块)。DCB中记录有可定义的串行口参数,设置串行口参数时必须先用GetCommState函数将系统默认值填入DCB控制块,然后才可把用户想改变的自定义值设定。 PC机串行通信从调用CreateFile()函数开始,接着设置串行口波特率、数据位、校验位、停止位等参数和超时参数,最后选择一种工作方式来读写串行口。在Windows环境下,串行通信有4种方式可供选择:查询方式、同步I/O、异步I/O和事件驱动方式。这几种方式各有自己的优缺点: 查询方式比较直接,但要占用大量的CPU时间; 同步I/O方式直到读取指定的字节数或超时的时候才返回,这样很容易长时间地阻塞线程; 异步I/O可以在后台读写数据,而在前台做其他的事情; 事件驱动方式是由Windows通知应用程序某些事件什么时候发生,然后根据所发生的事情来对串口进行操作。 在监测系统中,由于事件的偶然性和要求传送的实时性,计算机常采用事件驱动I/O方式来进行现场监测。事件驱动I/O方式是指线程通过监视通信资源中的一组事件来进行I/O操作,这种方式类似于MSDOS下的中断方式,效率比较高。在实际项目应用和开发过程中,大多用的这种工作方式来实现PC机和下位机的通信。 上位机部分通信程序的实现过程如下: 5 系统抗干扰问题 实时监控系统在工业中的应用越来越多,由于现场的电气环境比较复杂,容易形成各种干扰源,特别是在较恶劣的工业环境中,因此研究解决系统抗干扰问题对确保系统的稳定运行非常重要。RS 485本身具有较强的抗电磁干扰能力,但实际应用中仍然会出现一些问题,为此应注意以下几个方面: (1)RS 485支持半双工或全双工模式网络拓扑,一般采用终端匹配的总线型结构,不支持环形或星型网络。最好采用一条总线将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。 (2)采用双绞线作为RS 485传输线时,虽然对电磁感应噪声有较强的抑制能力,但对静电感应引起噪声的抑制能力较差,因此应选用带屏蔽的双绞线,同时双绞线的屏蔽层要正确接地。 (3)通过在总线两端A,B加入匹配电阻的方法,解决信号反射问题。 (4)对于RS 485网络,合理的接地系统对系统的可靠性很重要。基于共模干扰和EMI问题,选择集中供电方式,可基本消除各处参考电位不等的情况。 (5)在切换大功率感性负载、闪电等过程中,都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论