位置:51电子网 » 技术资料 » 电源技术

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

发布时间:2008/5/28 0:00:00 访问次数:473


1 引 言

  随着环保和消防要求的提高,柴油发电机逐渐失去优势,而由于逆变技术的成熟发展,新型无公害、高可靠性、动力型的大型应急电源eps(emergency power supply)逐步成为代替柴油发电机组的“绿色电源”,目前已经在建筑领域得到大面积推广。同时,随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已经扩展到了几乎所有的工业领域。将所有的功能集成于统一开放的平台上,通过人机界面可以使复杂的控制和数据处理变得更加简单。

2 监控系统设计

  美国电子工业协会(eia)制定的rs 485标准作为一种多点差分数据传输的电气规范,现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信。平衡发送、平衡接收,具有传输距离远、通信速率高、抗干扰能力强、软硬件支持丰富与现场仪表接口简单、易于实现和扩展等特点。接口总线上可连接32个设备,加中继器后最多可达255个设备。因此,许多领域都采用rs 485作为数据传输链路,例如汽车电子、电信设备、局域网、蜂窝基站、工业控制仪器仪表等。

  上位机的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方式直到读取指定的字节数或超时的时候才返回,这样很容易长


1 引 言

  随着环保和消防要求的提高,柴油发电机逐渐失去优势,而由于逆变技术的成熟发展,新型无公害、高可靠性、动力型的大型应急电源eps(emergency power supply)逐步成为代替柴油发电机组的“绿色电源”,目前已经在建筑领域得到大面积推广。同时,随着微处理器、计算机和数字通信技术的飞速发展,计算机控制已经扩展到了几乎所有的工业领域。将所有的功能集成于统一开放的平台上,通过人机界面可以使复杂的控制和数据处理变得更加简单。

2 监控系统设计

  美国电子工业协会(eia)制定的rs 485标准作为一种多点差分数据传输的电气规范,现已成为业界应用最为广泛的标准通信接口之一。这种通信接口允许在简单的一对双绞线上进行多点、双向通信。平衡发送、平衡接收,具有传输距离远、通信速率高、抗干扰能力强、软硬件支持丰富与现场仪表接口简单、易于实现和扩展等特点。接口总线上可连接32个设备,加中继器后最多可达255个设备。因此,许多领域都采用rs 485作为数据传输链路,例如汽车电子、电信设备、局域网、蜂窝基站、工业控制仪器仪表等。

  上位机的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方式直到读取指定的字节数或超时的时候才返回,这样很容易长

相关IC型号

热门点击

 

推荐技术资料

Seeed Studio
    Seeed Studio绐我们的印象总是和绘画脱离不了... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!