基于Modbus的应急电源监控系统的研究

1 引 言
随着环保和消防要求的提高,柴油发电机逐渐失去优势,而由于逆变技术的成熟发展,新型无公害、高可靠性、动力型的大型应急电源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可能的从设备地址是0~247(十进制),单个设备的地址范围是1~247。可能的功能代码范围是十进制的1~255。其中有些代码适用于所有的控制器,有些是针对某种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)在切换大功率感性负载、闪电等过程中,都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。
6 结 语
本文提出的主从分布式多机通信系统硬件电路简单、控制灵活。用vc语言实现上位机数据传送的优点是可有效地实现通信的底层控制。由于rs 485总线通信方式仍属于串行通信方式,通信速度偏低,若要提高通信速度,还需对控制系统做进一步的改进。

电池分选机是什么,它有什么作用
VCSEL出货量将从2018年的7.38亿美元增长至2024年的37.75亿美元
有源增益控制时钟控制双极性步进电机驱动器
LM317集成可调稳压器的电源电路图和简介
缓冲器反馈路径中的电阻器:问问为什么!
基于Modbus的应急电源监控系统的研究
如何加快推动5G和工业互联网的融合发展
大彩串口屏4G应用-HTTP下载文件
世界最快机械硬盘:1GB缓存、400MB/s写入!
采用DSP+MCU方案实现实时监测电力参数的监测仪表的设计
Resonac将在美国建立半导体封装研发中心
一年多鸿蒙系统仍没问世,华为是否在“哄骗”消费者?
数码相机摄像机充电电池选购与使用中的一些注意事项
全方位解决方案:OLED拼接屏服务如何确保数字展示成功
麒麟950、联发科Helio X25、骁龙820性能混战
基于ARM微处理器的MPEG-2解复用器设计方案
国产智能驾驶传感器系统龙头募资4亿开拓产能,豪恩气电开启申购
山西水电气暖能源可视化管理, 电力能源管理系统
BCM设计与开发的全面详解
华为P30 Pro对比苹果iPhone XS Max究竟谁更强