基于Modbus协议的电能监控系统的实现

2024-01-15 02:49王海祥王庆燕
金陵科技学院学报 2023年3期
关键词:PC机控件电能

王海祥,刘 莎,王庆燕

(金陵科技学院机电工程学院,江苏 南京 211169)

随着社会的发展,越来越多的家用电器、电动汽车进入人们的生活,用电负荷产生了较大的变化。如何对这些用电负荷进行监控,优化使用方式,节约能源成为急需解决的重要课题。

传统的电能表能够显示电能的基本信息,如电压、电流、功率等,但是数据只能在现场进行查询,用户统计起来比较麻烦。智能电表的网络化便于数据的传输、统计分析和加工管理。近年来,研究人员对智能电表进行了大量的研究和设计[1-3],推进了仪表数字化的进程。在智能仪表领域,常见的通信协议有HART协议、Modbus协议、Profibus协议等。HART通信协议是美国Rosemount公司提出的过渡性协议,为可寻址远程传感器高速通道的开放通信协议[4-5]。Profibus协议是一种基于串口的工业通信协议,支持多种设备进行直接的数据交换,常用于过程控制[6-7]。Modbus协议具有更加完备的通信规则,保证了数据传递的安全性和实时性[8-9],该协议广泛应用于电网电能检测[10-11]、工业设备检测与监控[12-13]。Modbus协议是一种串行通信协议,其中的RTU协议信息帧由地址码、功能码、数据区、CRC校验码构成。当从机计算的CRC码与主机发来的CRC码比较一致时,说明接收的数据完整正确。本文基于Modbus协议设计电能监控系统,以保证数据传输的安全可靠,并使测量数据便于存储、统计分析和管理。

1 系统构成

图1是本文设计的电能监控系统,分为上位机和下位机,上位机采用PC机通过485网络或无线模块与下位机连接,实现上、下位机的数据通信。

图1 电能监控系统

通常情况下,智能电表多采用单片机加计量芯片的方案[14-15],单片机用于读取计量芯片中的电能参数。本文的从机也采用STM32单片机加电能计量芯片的方案,通过采用SP3485芯片将TTL电平信号转换成RS485电平信号在RS485网络上传输。

主机采用PC机,通过RS232转RS485模块与从机连接,用于信号传输。 主机监控系统界面由VB语言编写,主要用于显示各从机的三相电流、电压、功率等信息,同时储存现场数据至后台数据库。

上位机与下位机的数据交换遵守Modbus RTU协议,上位机通过VB语言解析该协议数据,下位机通过C语言解析该协议传送的数据。Modbus RTU协议有完整的地址查找、数据校验功能,因此不会出现数据传送混乱和丢失的情况。上位机根据下位机的地址确定测量的电压、电流、功率等信息对应的线路。

485网络最大传输标准距离为4 000英尺(约1 219 m),实际距离可达3 000 m,所以本文电能监控系统可以在变电所、中小型企业、生活小区等进行测量监控。

2 下位机硬件设计

2.1 总体设计

下位机主要实现数据的采样、AD转换、数据显示、数据通信等功能,其测量装置(下位从机)硬件系统如图2所示。从机系统由电源模块、电流互感器、电压互感器、HT7132电能测量芯片、STM32F103主控芯片、LCD液晶模块和485模块构成。电源模块的作用主要是将输入电压220 V转换成3.3 V,用作HT7132、STM32F103、LCD液晶模块、485转化芯片的电源和接地。HT7132芯片与STM32F103芯片采用SPI总线相连。

图2 测量装置硬件框图

2.2 局部设计方案

目前智能电表多通过计量芯片实现电流、电压模数的转换[15-17],计量芯片将转换好的数据存放在一定的地址空间供主控芯片读取。借鉴这一设计思路,本文采用HT7132芯片实现电能的计量,HT7132芯片将调理后的电流、电压转换为数据,加工计算后得出相关的有功功率、无功功率等,存放在相应地址供STM32F103芯片访问读取。

图3是计量芯片HT7132与主控芯片STM32F103的连接图。HT7132芯片的CS管脚串联一个10 Ω的电阻与PA6管脚相连,靠近CS侧用10 pF的电容接地以减少干扰,该连接用于芯片STM32F103对HT7132进行片选;SCLK管脚串联一个10 Ω的电阻与PA7管脚相连,靠近SCLK侧用10 pF的电容接地以减少干扰,该连接用于控制时钟;DIN管脚串联一个10 Ω的电阻与PB1管脚相连,靠近DIN侧用10 pF的电容接地以减少干扰,该连接用于芯片STM32F103对HT7132进行数据输出,主要用来传送寄存器的地址,以便读出HT7132芯片相关寄存器的数据;DOUT管脚串联一个10 Ω的电阻与PB2管脚相连,靠近PB2侧用10 pF的电容接地以减少干扰。

图3 HT7132与STM32F103的连接图

从机实现数据读取的关键点在于SPI总线上数据的传输,从机的主控芯片与HT7132芯片的数据通信要符合SPI总线数据的时序要求。图4为SPI总线的示波器测量结果。图4(a)是SCLK输入波形,该信号用来提供同步时钟脉冲;图4(b)是DIN线上的波形,即主控芯片要读取的数据地址所呈现的波形;图4(c)是DOUT端口的信号波形,即HT7132芯片输出的参数数据。

(a)SCLK端口输入波形

(c)DOUT端口输出波形

图5 RS485电平转化电路图

HT7132与电流互感器的连接电路如图6所示。电流互感器两脚间并联20 Ω的采样电阻,可以根据量程的不同更改电阻的大小,同时并联0.22 μF的电容,用于滤波。HT7132的V1P和V1N引出点分别与1.2 kΩ的电阻串联,然后分别连接由20 Ω电阻和0.22 μF电容组成的并联电路,串联的1.2 kΩ的电阻主要用于减少流入HT7132的电流。为减少干扰,V1P和V1N引出点需要加10 nF的电容作为去耦电容。V1P和V1N测量A相的电流,类似的,V3P、V3N测量B相的电流,V5P、V5N测量C相的电流,电路图与图6一致。

图6 HT7132与电流互感器的连接图

图7是计量芯片HT7132与电压互感器的连接图。电压互感器输入电压侧串接了110 kΩ电阻,用于减少输入的电流;输出电压侧并联250 Ω的测量电阻和0.22 μF的滤波电容。HT7132芯片的V2P、V2N分别与1.2 kΩ电阻串联,再与0.22 μF电容、250 Ω电阻并联回路相连。为了减少干扰,V2P和V2N引出点需要加10 nF的电容作为去耦电容。V2P和V2N测量A相的电压,类似的,V4P、V4N测量B相的电压,V6P、V6N测量C相的电压,电路图与图7一致。

图7 HT7132与电压互感器的连接图

2.3 样机

图8为测试从机的样机,前端有LCD用于现场显示,后部接线端子用于接电流互感器与电压互感器,同时有RS485接线端子用于构建RS485网络,电源模块端子用于接220 V交流电作为设备电源。

图8 从机样机

3 软件设计

软件设计包括从机软件的设计和上位PC机监控程序的设计。

3.1 从机软件

从机的主要任务是在现场读取电流、电压等参数信息,并进行显示,便于读取;另外一项任务是接收主机指令,根据指令将数据按照Modbus协议传送到RS485网络。从机软件的流程如图9所示。

图9 从机软件流程

从机收到发来的数据后进行处理的子程序如图10所示。

图10 执行功能码子程序流程

Modbus的数据格式为“地址码+功能码+数据区+校验码”,这些数据准备齐全后才能进行回复。

3.2 上位PC机监控程序

上位机的主要任务是监控电流、电压、有功功率等的变化。上位机采用轮询的方式查询各子机的电流、电压等信息,同时将数据存入相应的数据库中。当有功功率超过上限时,可以提醒控制人员在操控界面断开三级负荷的断路器,保证一、二级负荷可靠供电。

图11是PC机监控初始化的程序。监控窗体的初始化首先是监视界面的初始化,主要是监控界面的一些控件的属性初始化;然后是定时器中断的初始化,该定时器主要用来每隔一段时间向从机发送查询命令;最后是MSComm控件的初始化,该控件用来与RS485网络进行通信。初始化的过程需要设置波特率、停止位等,硬件上用RS232转RS485模块实现与PC机连接[15]。

图11 PC机监控初始化流程

图12是PC机定时器控件定时的程序。该程序的主要作用是定时向从机发送查询命令,并根据规约组织发送数据。

图12 PC机定时器控件定时流程

图13是PC机MSComm控件接收事件程序流程图。MSComm控件的主要作用是接收数据后进行校验和地址核对,然后将数据翻译成相应的电流、电压及其他参数,并显示在窗体的相应控件上,如text控件,最后将这些电力参数插入到SQL Server表格中,实现数据的存储。

图13 PC机MSComm控件接收事件流程

图14是VB语言编写的监控界面,该界面能实时监控电流、电压、有功功率、电能等,并且可以利用数据库里的信息进一步分析电流变化、负荷变化等,便于进行节能管理。

图14 监控界面

图15是本文设计的基于Modbus协议的电能监控系统采集、存储、提取的某小区某天单相视在功率数据。从图中可以看出,该小区8:30左右达到上午的负荷高峰,21:00~21:30达到全天负荷高峰。为了避免出现“峰上加峰”的现象,可以对洗衣机、电热水壶等可调负荷的使用时间进行调整[22],对电动汽车、电瓶车利用收费差异转移充电时间,最终达到削峰填谷的目的,同时减少用电费用,增加变压器等电力设备的使用寿命。

图15 基于Modbus协议的电能监控系统的某小区某天单相视在功率

5 结 语

本文对智能电表从机和上位机监控系统进行设计,利用RS485网络和Modbus协议进行数字通信,完成了数据的采集、存储和利用,能够对现场电力负荷及运行情况进行有效监控,可以在数据库中存储海量数据。本设计整体运算速度较快,数据的完整性、安全性较高,实现了网络化运行,便于第三方软件的衔接,为大数据分析和利用提供了基础,为进一步利用智能技术开展负荷节能管理工作提供了技术支持。

猜你喜欢
PC机控件电能
苹果皮可以产生电能
电能的生产和运输
海风吹来的电能
关于.net控件数组的探讨
澎湃电能 助力“四大攻坚”
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
ASP.NET服务器端验证控件的使用