如何编程读取智能电表的数据?

如何编程读取智能电表的数据?,第1张

方 法:
/// <summary>
/// 只能通过CreateInstance方法来创建类的实例。单例模式
/// </summary>
public static ElectricityMeter CreateInstance()
{
return _instance;
}
/// <summary>
/// 打开设备
/// </summary>
/// <param name="portName">串口号</param>
/// <param name="frm">调用这个类的窗体。</param>
public void Open( string portName, Form frm )
{
try
{
// 初始化窗体对象
_frm = frm;
_frmFormClosing += new FormClosingEventHandler( _frm_FormClosing );
//初始化SerialPort对象
_serialPortPortName = portName;
_serialPortBaudRate = 2400; // 请将设备的波特率设置为此。
_serialPortDataBits = 8;
_serialPortStopBits = StopBitsOne;
_serialPortParity = ParityEven;
_serialPortOpen();
}
catch( Exception e )
{
MessageBoxShow( eMessage );
}
}
/// <summary>
/// 关闭设备。
/// </summary>
public void Close()
{
if( _serialPortIsOpen == true )
{
_serialPortClose();
_serialPortDispose();
}
}
/// <summary>
/// 获取耗电量
/// </summary>
public Decimal GetPowerConsumption()
{
if( _serialPortIsOpen == true )
{
// 十六进制的命令字符串
string strCmd = "68 AA AA AA AA AA AA 68 11 04 33 33 33 33 AD 16";
// 转换为十六进制的字节数组
string[] strs = strCmdSplit( new char[] { ' ' } ); // 空格分组
byte[] cmdBytes = new byte[ strsLength ];
// 转换为十进制的字节数组
for( int i = 0; i < cmdBytesLength; i++ ) {
cmdBytes[ i ] = ConvertToByte( strs[ i ], 16 ); // 16进制转换为10进制
}
_serialPortWrite( cmdBytes, 0, cmdBytesLength );
SystemThreadingThreadSleep( 500 ); // 500ms内应当有响应
byte[] resultBytes = new byte[ 21 ]; // 容量为21的字节数组
_serialPortRead( resultBytes, 0, resultBytesLength );
string n1 = ConvertToString( resultBytes[ 18 ] - 51, 16 ); // 将十进制转成16进制的字符串
string n2 = ConvertToString( resultBytes[ 17 ] - 51, 16 ); // 将十进制转成16进制的字符串
string n3 = ConvertToString( resultBytes[ 16 ] - 51, 16 ); // 将十进制转成16进制的字符串
string n4 = ConvertToString( resultBytes[ 15 ] - 51, 16 ); // 将十进制转成16进制的字符串
string resultString = n1 + n2 + n3 + "" + n4;
return DecimalParse( resultString );
}
else
{
throw new Exception( "串口没有打开" );
}
}
/// <summary>
/// 在窗体关闭的时候关闭串口连接。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void _frm_FormClosing( object sender, FormClosingEventArgs e )
{
thisClose();
}
}

智能电表会每5秒更新一次页面,使用过的电表度数会显示在页面上。如果你想自己查看度数,按下仪表下面的白色按钮,每次按下都会有新的数据出现。每按一次按钮,你就会进入下一个屏幕。当前页面是当前用电量。智能电表是智能电网数据采集的基础设备之一,承担着采集、测量和传输电能原始数据的任务。
智能电表可以为用户提供更加准确及时的会计信息;利用准确的用电记录,让用户更好地参与电力市场,并从灵活的电力需求中受益;用户能耗信息反馈及能源自动化系统;通过更好的电能质量和故障管理增强人身和设备安全。
基于智能电表的智能计量系统可以为计量、结算、客户服务、状态估计、故障管理和电能质量等商业应用提供简单高效的解决方案。
它可以受益于配电网的电能质量、潮流和故障监测以及负荷管理。通过该系统可以及时发现和解决存在的问题,提高停电管理和客户服务的效率,避免低压配电变压器因临时过载而损坏,并为ems等系统提供能耗数据。

智能电表和普通电表的工作原理是一样(建议百度,更详细),无非是多了数显和其他的一些功能罢了,至于远程控制就是后台系统利用控制电源(一般是直流)增加控制电路,实现对当前智能电表的基本控制和后台读数、记录台账等等,也是非常简单的

智能电表区别于传统电表,IC卡电表就是它能联网,可以远程抄表。远程抄表是智能电表最跟本意义。至于怎么实现远程抄表,智能电表在具体实施花样比较多。

一、

最大量的国电采用的电力载波表,通过电线连到采集器,采集器通过GPRS上传读数到远抄服务器,所以国家电网居民用户基本上可通过掌上电力查看自己家每一天的用电量。提供这解决方案与产品的厂家大都直接跟国电合作。

二、

第二大量的就是大型建筑里用的走485总线连网的智能电表,通过485总线连上采集器,采集器再转换成TCP/IP接网线直接上远抄服务器。提供这个系统的厂家比较多比如杭州古鸽信息,广州柏诚,直接面向建筑做集成。

三、

就是当前青年公寓,白领公寓,酒店式公寓采用比较多wifi电表,这种电表直接连上公寓里的wifi上远抄服务器,当然还有gprs电表,这种都使用在智能电表使用量不大的情况下。这种使用量直接可以网上买电表自己装上,再通过app就能直接使用。

第四就是未来真正的物联网智能电表,NB-IoT电表,这是华为与运营商正在主推还未成熟的产品。就是智能电表通过NB-IoT网络直接连远抄服务器。

当前发展更好的,有互联网企业介入这一块,比如杭州古鸽信息的租付通产品(>智能电表的各个内部模块并不完全相同,主要体现在以下几个方面:
一、测量模块。用于电能量测量与计算,不同规格电表采用不同精度的测量芯片或电路。高精度电表对测量模块技术要求更高。
二、通信模块。用于实现远程数据传输,不同类型电表采用不同的通信接口,如GPRS、NB-IoT、RF等。这决定了通信模块的差异。
三、存储模块。用于存储测量参数、测量历史数据、运行日志等信息。存储容量和类型会根据电表功能的不同而变化。
四、控制模块。负责电表整体功能运作,控制各部分的协同工作。不同规格电表的控制模块编程和性能会有差异。
五、显示模块。提供电表运行数据和状态显示接口。不同类型电表屏幕种类和信息显示内容会有差异。
六、时钟模块。提供精确的时钟信号,不同电表对时钟精度和稳定性的要求不同,模块性能会有差异。
七、防破坏模块。用于预防非法拆解或篡改,措施力度根据电表级别和用途不同而异。高级电表防破坏功能更强。
八、供电模块。向各功能模块提供稳定的工作电源。不同类型电表对供电模块的要求也不尽相同。
综上,智能电表虽然总体结构相似,但由于功能、应用和性能差异,其各内部模块在技术实现、选择配置和性能指标上存在较大差异。高级电表在精度、安全性和可靠性要求上较高,相关模块技术也较为复杂。但这些差异并不影响智能电表的通用设计思想,以模块化的方式构建系统功能。
对智能电表模块设计,可以提出以下建议:
1 应根据具体应用选择适当配置,避免低级电表采用高级模块,造成资源浪费。
2 统一通信接口和通讯协议,可实现不同级别电表间的数据交互与远程控制。
3 测量芯片应采用通用设计,通过参数配置实现不同精度,降低成本。
4 控制程序应采用通用框架结构,通过功能定义实现差异化,提高开发效率。
5 存储空间应留有一定冗余,以便功能升级和预留历史数据存储。
6 各模块应实现标准化接口设计,提高兼容性和可替换性。
7 可通过模块组合,定制多种规格电表,快速响应市场需求。
8 应加强防破坏模块设计,提高信息和技术保密性。
智能电表技术发展迅速,市场应用日益广泛,相关企业应不断加大研发投入,实现产品差异化定制,满足不同用途需求。但同时也应强化通用设计与标准化,提高生产效率与资源利用率。只有兼顾个性化与标准化,不断推陈出新,智能电表产业才能持续领先。

随着社会的不断进步,不知道你有没有发现,那些每个月都会光临的抄表员已经渐渐不见了,原来现在供电公司和物业都是用的远程抄表了,不再进行挨家挨户敲门查表了。

智能电表不同于传统电表。IC卡电表是可以连接到互联网,可以远程读取电表。远程抄表是智能仪表最基本的含义。对于如何实现远程抄表,实现智能抄表有多种方法。

最大量的国电采用的电力载波表,通过电线连到采集器,采集器通过GPRS上传读数到远抄服务器,所以国家电网居民用户基本上可通过掌上电力查看自己家每一天的用电量。提供这解决方案与产品的厂家大都直接跟国电合作。

其次第二大量的就是大型建筑里用的走485总线连网的智能电表,通过485总线连上采集器,采集器再转换成TCP/IP接网线直接上远抄服务器。提供这个系统的厂家比较多比如齐鑫跃直接面向建筑做集成。

第三就是当前青年公寓,白领公寓,酒店式公寓采用比较多wifi电表,这种电表直接联上公寓里的wifi上远抄服务器,当然还有GRPS电表,这种都使用在智能电表使用量不大的情况下。这种使用量直接可以网上买电表自己装上,再通过app就能直接使用。

第四就是未来真正的物联网智能电表,NB-IoT电表,这是华为与运营商正在主推还未成熟的产品。就是智能电表通过NB-IoT网络直接连远抄服务器。

通过以上的各种形式,就实现了远程控制,不

仅省了人力,也不用去打扰比人的生活,感叹社会的进步可真快。智能系统无论是对相关政府管理机构、相关公司、还是普通民众,这都是非常有益的事情。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12694075.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存