APP下载

基于MCGS的开关柜母线温度隔离监测系统的研究与设计

2014-11-05周伟

电子技术与软件工程 2014年18期
关键词:开关柜温度

周伟

摘 要

本设计综合运用现代测量技术,通过无线测温的方式,实现了高压开关柜内温度数据的自动化测量,很好的解决了在高电压大磁场环境下,开关温度在线检测困难的问题;开发的适用于特殊工况下的温度测量装置能够以红外无线传输方式实现了高压侧与低压侧的电气隔离。

【关键词】MCGS 开关柜 母线 温度

在整个供配电系统中,开关柜是最重要的环节之一,其运行的安全性直接关系着整个电力系统的安全。由于开关柜一般为密闭装置,散热条件差,再加上用电设备长期满负荷甚至超负荷运行,导致发热量过大,热积累加剧,从而引发破坏柜内设备绝缘部件甚至短路、火灾等重大安全生产事故。如何便捷、有效地实时监测开关柜内母线温度便成了电力工程技术人员所共同面临的时代课题。

1 系统的工作原理

本系统中采用接触式安装温度传感器用以测量母线发热点温度,温度测量部分安装在母排上,负责采集对应测温点的温度值,温度数据从测温单电机的串口发送端(P3.1)送到红外编码/译码器MCP2120,由它将信号编码调制后送低功率红外收发模块TFDU4100通过红外光传给系统下位机模块中的TFDU4100,系统下位机模块中的TFDU4100接收到红外信号后将其送过与之相连接的红外编码/译码器MCP2120,解调译码后送给下位机进行数据处理。系统下位机模块能够同时接收多个温度数据,它通过无线方式收集各测温点的温度数值,并采用RS-485总线的主从结构方式接受上位机轮询,将数据上传给作为主机的上位PC机,接受上位机的控制命令及温度限值;同时又能够处理接受的红外无线温度数据、显示母线温度并能够进行现场报警。上位机采用MCGS组态软件开发监控系统,通过RS—485总线集中监管整个系统、发布控制命令、轮询温度值、处理保存并打印数据等。其工作过程如图1所示。

2 系统的硬件部分

从系统所实现的功能的角度将硬件部分划分为几个具有相对完整功能的模块:测温及传输模块、数据处理模块、通信模块。其中测温及传输模块由以底层单片机、红外编码/译码器、红外收发模块构成,完成温度的接触式采集和红外无线传输功能;数据处理和通信模块则是由上位机、RS-485总线网络和下位单片机共同组成的主从分布式结构系统。

2.1 测温及传输模块

测温及传输模块硬件结构如图2所示。主要用来检测结点温度并通过红外方式无线发送给通讯层中数据处理模块。所用主要元器件有DS18B20、红外收发装置、AT89C52单片机及外围电路配套的电阻、电容等。其中,红外收发装置硬件接口方式如图2所示。

2.2 通讯层硬件设计

通讯层的核心处理器是AT89C52单片机系统,它通过RS—485总线与上位机通信,同时通过红外方式收集对应底层采集设备的温度数值。在硬件设计上,该层中单片机与红外收发设备的硬件联接方式与测温及传输模块中类似,与上位机通过485总线实现通信。

2.3 上位机串口通信的硬件设计

为了配合本系统测温装置和上位PC机之间进行数据传输设计中选择无源转换器MWE485C,实现RS-232/RS-485信号转换。该产品是由武汉鸿伟光电技术有限公司研发生产的一款性价比较高的信号转换器,使用时将标准DB9孔串口与计算机的串口直接连接,接线端子中A+和B-与RS485中对应连线即可。

3 系统软件设计

本系统的软件设计主要包括用于测温传输模块和数据处理模块的单片机软件设计及用户监控软件设计两大部分。

3.1 单片机软件的设计

由于本系统中最底层和通讯层所选用的均为AT89C52单片机,所以软件设计部分的主要子程序包括温度测量、信号发射、信号接收、串口通信等内容。其中最底层单片机承担的主要是温度测量和无线发送温度数值的功能,程序编写比较简单,不再赘述,下面主要介绍一下通信层单片机的程序设计。

通信单片机作为PC机的下位机,它承担了两个方面的工作:一是采集监测点单片机通过红外传送过来的数据并保存在片内自建的存储区;二是将这些数据通过串行口,用中断的方式发送个PC机。

通信单片机向采集器要数的发送数据格式为:“!”+ID+数据长度+“#”,接收数据格式为“!”+ID+温度数据(6字节)+“#” ,其中6字节温度数据依次为A相温度值低字节、A相温度值高字节、B相温度值低字节、B相温度值高字节、C相温度值低字节、C相温度值高字节。通信单片机按发送格式通过红外循环发送,采集器接收到后先验证ID号,通过验证的采集器向通信单片机按“!”+ID+温度数据(6字节)+“#”的格式发送数据。

通信单片机接收后先验证开始符是“!”还是“*”(因为PC机的发送开始符是“*” ,采集器发送开始符是“!” ),然后再进行数据处理。程序流程图如图3和图4所示。

3.2 监控软件

温度监测系统的主机软件采用MCGS组态软件。系统的设计组态设计思想,从最大程度地方便用户的角度开发设计,在保证功能全面实用、性能安全可靠的基础上,尽可能做到智能式操作要求。监控软件功能结构图如图5所示。

对上述功能加以区分整合,从功能角度将用户监控软件设计分解为两块内容:以现场监控、数据处理、数据记录、监控报警及现场记录为开发目标的组态设计和以获取下位机温度数据、向下位机发送命令及温度限值为开发目标的单片机驱动构件开发。

3.2.1 组态设计

为实现友好的人机交互,本系统将界面设计成多窗口模式,分别为:封面、监控界面窗口、温度记录窗口、报警记录窗口、历史温度曲线窗口及历史温度表格窗口等6个功能性窗口,同时根据对系统工艺流程的分析,我们在MCGS 的实时数据库中创建了78个变量对象,其中开关量8个,数值量62个,字符量7个,组对象1个。endprint

(1)监控界面。

该界面显示了高压开关柜中的母线连接情况,主要用来监控多台开关柜中母线实时温度情况以及所有监测点中各相温度超上限报警情况,如果检测到的温度高于设定的报警上限,该相对应的报警指示灯将由绿色变成红色警示用户。如图6所示。

(2)温度记录。

由于温度是大惯性量变化缓慢,普遍设定轮询时间为5S,但是在组态环境中,这个值用户可以进行修改,修改范围为1~30S。每一次轮询得到的温度值直接进入数据库中,由实时数据库发布到各界面显示。本系统提供了对每个站点中每相温度的“历史温度报表”、“历史温度曲线”和“实时温度曲线”三种查询功能。

(3)报警记录。

本系统的报警设计分为三个部分:报警输出、实时报警信息及历史报警记录。

其中报警上限值系统初始化时默认设定为35,用户可以根据实际情况自行设定,点击图中“完成”按钮即可。实现这一功能的方法是在MCGS运行策略中的循环策略中添加如下脚本程序:

!SetAlmValue(ad01,设定值,3 )

…………

!SetAlmValue(cd14,设定值,3 )

其中:ad1,ad2,……,cd14是报警对象,“设定值”是定义在实时数据库中的数值型对象,3是设定的报警类型为上限报警。语句的含义是将对应报警对象的报警上限值修改为设定值。

3.2.2 单片机驱动构件的开发

进行MCGS设备驱动开发的过程,就是依据设备特性及含义设定5个属性并对8个方法功能的编程过程。

(1)属性接口的设定。

属性:DevType=1 表示设备的类型为子设备

属性:DevStyle=1表示设备的类别串口父设备对应的子设备

属性:DevChannel=42表示设备的通道个数42个

属性:DevBaseIO=0表示设备所用IO的基地址为0

属性:DevIONumber=0 表示设备所用IO地址的个数为0

(2)串口函数设计。

通用串口父设备提供的标准串口读写函数有以下三个:

ComOutDat //把数据写入串行端口并输出到子设备

ComInDat//从串行端口中读取数据

Comoutindat//通过串口发送读数据的命令, 并接收返回数据。

程序编写如下:

Public Function FetchDataFormComm ( By VallngCheck Flag As Long,ob jCommParent As Object, strMcgsOrder As String, strMcgsData As String) As Long

Dim bytExdata( 0 To 1023 )As Byte

lngReadLen = objCommParent. comoutindat(bytExdata ( ) , Len ( strMcgsOrder) , 0, 86, 35, 1000)

For lngIndex = 0 To lngReadLen - 1

strMcgsData= strMcgsData+ Chr(bytExdata ( lngIndex) )

Next lngIndex

(3)接口函数设计。

数据的通讯格式为:开始符 “*” + 通道号+ 数据+ 结束符“!”,部分程序如下:

Dim strMcgsOrder As String

strMcgsOrder= CStr(lngDevChannel) + CStr(asngDataValue (lngDevChannel) ) + "! " //以字符串形式存放打包后的数据, 用于串口函数中调用,并规定字符串格式;

调用串口通讯函数:

lngReturn = FetchDataFormComm(0, m _ ob jCommParen t, strMcgsOrder, strMcgsData) //把从串口读取的数据进行解包存放到通道中;

For i = 0 To 5

asngDataValue(i)=Left(Str(ExdataByte(3+2i)*16+ExdataByte(2+2i)/16+(ExdataByte(2+2i)Mod 16)$0.0625),5)∥转换读取的温度值,i为通道号;

4 总结

本系统设计上硬件结构简单、运行稳定、精确度高、实时性好、价格成本合理,能够实现从监控室到工作现场的无障碍对接,同时,其高安全性的上位机监控系统内所特有的数据曲线记录分析功能对系统运行故障的预测预防有着十分重要的现实意义。

参考文献

[1]刘全越,萧宝谨,高文海.电力线路温度采集及数据无线传输系统的设计[J].科技情报开发与经济,2008.

[2]费万民等.高压开关触点和母线温度在线检测及监视系统[J].电力系统自动化,2004.

[3]张文明.组态软件控制技术[M].北京:清华大学出版社,2006.

[4]王晓光,郑萍,马巧娟,王玉飞,张建刚.基于MCGS的51系列单片机通用驱动程序设计[J].仪器与传感器技术,2010.

作者单位

江苏农林职业技术学院 信息工程系 江苏省句容市 212400endprint

(1)监控界面。

该界面显示了高压开关柜中的母线连接情况,主要用来监控多台开关柜中母线实时温度情况以及所有监测点中各相温度超上限报警情况,如果检测到的温度高于设定的报警上限,该相对应的报警指示灯将由绿色变成红色警示用户。如图6所示。

(2)温度记录。

由于温度是大惯性量变化缓慢,普遍设定轮询时间为5S,但是在组态环境中,这个值用户可以进行修改,修改范围为1~30S。每一次轮询得到的温度值直接进入数据库中,由实时数据库发布到各界面显示。本系统提供了对每个站点中每相温度的“历史温度报表”、“历史温度曲线”和“实时温度曲线”三种查询功能。

(3)报警记录。

本系统的报警设计分为三个部分:报警输出、实时报警信息及历史报警记录。

其中报警上限值系统初始化时默认设定为35,用户可以根据实际情况自行设定,点击图中“完成”按钮即可。实现这一功能的方法是在MCGS运行策略中的循环策略中添加如下脚本程序:

!SetAlmValue(ad01,设定值,3 )

…………

!SetAlmValue(cd14,设定值,3 )

其中:ad1,ad2,……,cd14是报警对象,“设定值”是定义在实时数据库中的数值型对象,3是设定的报警类型为上限报警。语句的含义是将对应报警对象的报警上限值修改为设定值。

3.2.2 单片机驱动构件的开发

进行MCGS设备驱动开发的过程,就是依据设备特性及含义设定5个属性并对8个方法功能的编程过程。

(1)属性接口的设定。

属性:DevType=1 表示设备的类型为子设备

属性:DevStyle=1表示设备的类别串口父设备对应的子设备

属性:DevChannel=42表示设备的通道个数42个

属性:DevBaseIO=0表示设备所用IO的基地址为0

属性:DevIONumber=0 表示设备所用IO地址的个数为0

(2)串口函数设计。

通用串口父设备提供的标准串口读写函数有以下三个:

ComOutDat //把数据写入串行端口并输出到子设备

ComInDat//从串行端口中读取数据

Comoutindat//通过串口发送读数据的命令, 并接收返回数据。

程序编写如下:

Public Function FetchDataFormComm ( By VallngCheck Flag As Long,ob jCommParent As Object, strMcgsOrder As String, strMcgsData As String) As Long

Dim bytExdata( 0 To 1023 )As Byte

lngReadLen = objCommParent. comoutindat(bytExdata ( ) , Len ( strMcgsOrder) , 0, 86, 35, 1000)

For lngIndex = 0 To lngReadLen - 1

strMcgsData= strMcgsData+ Chr(bytExdata ( lngIndex) )

Next lngIndex

(3)接口函数设计。

数据的通讯格式为:开始符 “*” + 通道号+ 数据+ 结束符“!”,部分程序如下:

Dim strMcgsOrder As String

strMcgsOrder= CStr(lngDevChannel) + CStr(asngDataValue (lngDevChannel) ) + "! " //以字符串形式存放打包后的数据, 用于串口函数中调用,并规定字符串格式;

调用串口通讯函数:

lngReturn = FetchDataFormComm(0, m _ ob jCommParen t, strMcgsOrder, strMcgsData) //把从串口读取的数据进行解包存放到通道中;

For i = 0 To 5

asngDataValue(i)=Left(Str(ExdataByte(3+2i)*16+ExdataByte(2+2i)/16+(ExdataByte(2+2i)Mod 16)$0.0625),5)∥转换读取的温度值,i为通道号;

4 总结

本系统设计上硬件结构简单、运行稳定、精确度高、实时性好、价格成本合理,能够实现从监控室到工作现场的无障碍对接,同时,其高安全性的上位机监控系统内所特有的数据曲线记录分析功能对系统运行故障的预测预防有着十分重要的现实意义。

参考文献

[1]刘全越,萧宝谨,高文海.电力线路温度采集及数据无线传输系统的设计[J].科技情报开发与经济,2008.

[2]费万民等.高压开关触点和母线温度在线检测及监视系统[J].电力系统自动化,2004.

[3]张文明.组态软件控制技术[M].北京:清华大学出版社,2006.

[4]王晓光,郑萍,马巧娟,王玉飞,张建刚.基于MCGS的51系列单片机通用驱动程序设计[J].仪器与传感器技术,2010.

作者单位

江苏农林职业技术学院 信息工程系 江苏省句容市 212400endprint

(1)监控界面。

该界面显示了高压开关柜中的母线连接情况,主要用来监控多台开关柜中母线实时温度情况以及所有监测点中各相温度超上限报警情况,如果检测到的温度高于设定的报警上限,该相对应的报警指示灯将由绿色变成红色警示用户。如图6所示。

(2)温度记录。

由于温度是大惯性量变化缓慢,普遍设定轮询时间为5S,但是在组态环境中,这个值用户可以进行修改,修改范围为1~30S。每一次轮询得到的温度值直接进入数据库中,由实时数据库发布到各界面显示。本系统提供了对每个站点中每相温度的“历史温度报表”、“历史温度曲线”和“实时温度曲线”三种查询功能。

(3)报警记录。

本系统的报警设计分为三个部分:报警输出、实时报警信息及历史报警记录。

其中报警上限值系统初始化时默认设定为35,用户可以根据实际情况自行设定,点击图中“完成”按钮即可。实现这一功能的方法是在MCGS运行策略中的循环策略中添加如下脚本程序:

!SetAlmValue(ad01,设定值,3 )

…………

!SetAlmValue(cd14,设定值,3 )

其中:ad1,ad2,……,cd14是报警对象,“设定值”是定义在实时数据库中的数值型对象,3是设定的报警类型为上限报警。语句的含义是将对应报警对象的报警上限值修改为设定值。

3.2.2 单片机驱动构件的开发

进行MCGS设备驱动开发的过程,就是依据设备特性及含义设定5个属性并对8个方法功能的编程过程。

(1)属性接口的设定。

属性:DevType=1 表示设备的类型为子设备

属性:DevStyle=1表示设备的类别串口父设备对应的子设备

属性:DevChannel=42表示设备的通道个数42个

属性:DevBaseIO=0表示设备所用IO的基地址为0

属性:DevIONumber=0 表示设备所用IO地址的个数为0

(2)串口函数设计。

通用串口父设备提供的标准串口读写函数有以下三个:

ComOutDat //把数据写入串行端口并输出到子设备

ComInDat//从串行端口中读取数据

Comoutindat//通过串口发送读数据的命令, 并接收返回数据。

程序编写如下:

Public Function FetchDataFormComm ( By VallngCheck Flag As Long,ob jCommParent As Object, strMcgsOrder As String, strMcgsData As String) As Long

Dim bytExdata( 0 To 1023 )As Byte

lngReadLen = objCommParent. comoutindat(bytExdata ( ) , Len ( strMcgsOrder) , 0, 86, 35, 1000)

For lngIndex = 0 To lngReadLen - 1

strMcgsData= strMcgsData+ Chr(bytExdata ( lngIndex) )

Next lngIndex

(3)接口函数设计。

数据的通讯格式为:开始符 “*” + 通道号+ 数据+ 结束符“!”,部分程序如下:

Dim strMcgsOrder As String

strMcgsOrder= CStr(lngDevChannel) + CStr(asngDataValue (lngDevChannel) ) + "! " //以字符串形式存放打包后的数据, 用于串口函数中调用,并规定字符串格式;

调用串口通讯函数:

lngReturn = FetchDataFormComm(0, m _ ob jCommParen t, strMcgsOrder, strMcgsData) //把从串口读取的数据进行解包存放到通道中;

For i = 0 To 5

asngDataValue(i)=Left(Str(ExdataByte(3+2i)*16+ExdataByte(2+2i)/16+(ExdataByte(2+2i)Mod 16)$0.0625),5)∥转换读取的温度值,i为通道号;

4 总结

本系统设计上硬件结构简单、运行稳定、精确度高、实时性好、价格成本合理,能够实现从监控室到工作现场的无障碍对接,同时,其高安全性的上位机监控系统内所特有的数据曲线记录分析功能对系统运行故障的预测预防有着十分重要的现实意义。

参考文献

[1]刘全越,萧宝谨,高文海.电力线路温度采集及数据无线传输系统的设计[J].科技情报开发与经济,2008.

[2]费万民等.高压开关触点和母线温度在线检测及监视系统[J].电力系统自动化,2004.

[3]张文明.组态软件控制技术[M].北京:清华大学出版社,2006.

[4]王晓光,郑萍,马巧娟,王玉飞,张建刚.基于MCGS的51系列单片机通用驱动程序设计[J].仪器与传感器技术,2010.

作者单位

江苏农林职业技术学院 信息工程系 江苏省句容市 212400endprint

猜你喜欢

开关柜温度
一张票的温度
停留在心的温度
高低压开关柜安装时应注意的问题
浅析KYN61-40.5型开关柜安装施工过程中常见问题
一种用于低压开关柜“S”形型材的设计与运用
基于五防采码的开关柜闭锁装置设计
测个温度再盖被
开闭所开关柜排列方式对配网运行检修的影响
高压开关柜交接试验的完善方法