顏世佳 朱香佳 劉茗中 劉彩云 朱桂明
摘要:根據(jù)工廠及辦公場所對電能數(shù)據(jù)監(jiān)測的需求,設(shè)計(jì)了一種基于智能電表的電能監(jiān)測系統(tǒng),介紹了智能電表與串口服務(wù)器的硬件構(gòu)成及Modbus協(xié)議部分內(nèi)容,并給出了監(jiān)測系統(tǒng)的軟件設(shè)計(jì)。該系統(tǒng)為設(shè)備的電能監(jiān)測提供了一種聯(lián)網(wǎng)技術(shù)方案,經(jīng)測試,其能夠以低成本實(shí)現(xiàn)電能數(shù)據(jù)監(jiān)測,保證監(jiān)測的可靠性與實(shí)時(shí)性,對電能監(jiān)測系統(tǒng)的發(fā)展起到了一定的推動作用。
關(guān)鍵詞:串口服務(wù)器;智能電表;Modbus協(xié)議;電能監(jiān)測系統(tǒng)
0 ? ?引言
企業(yè)生產(chǎn)過程中存在電能浪費(fèi)情況,不符合節(jié)能要求。為此,新工廠常采用自帶電能監(jiān)測功能的生產(chǎn)設(shè)備,并配有網(wǎng)絡(luò)環(huán)境用于數(shù)據(jù)傳輸,實(shí)現(xiàn)電能的監(jiān)測。但多數(shù)工廠由于設(shè)備老舊與環(huán)境問題,未配備電能采集裝置,且不具備重新布置線纜的能力。因此建立一種利用智能電表組成的電能監(jiān)測系統(tǒng)對設(shè)備進(jìn)行實(shí)時(shí)監(jiān)測,為能源管理提供數(shù)據(jù)支持。
1 ? ?監(jiān)測系統(tǒng)硬件構(gòu)成
1.1 ? ?智能電表
由于電壓等級不同,為方便表示,智能電表硬件框圖以單相智能電表為例,如圖1所示。
在待測設(shè)備的電源加裝智能電表,電流采樣模塊采用串聯(lián)接入方式計(jì)量電流數(shù)據(jù),電壓采樣模塊采用并聯(lián)方式接入待測電路計(jì)量電壓數(shù)據(jù),電源模塊通過交直流變換為各模塊供電。同時(shí),電壓、電流數(shù)據(jù)經(jīng)過內(nèi)部總線傳輸至電功率測量芯片進(jìn)行計(jì)算,得出實(shí)時(shí)電壓、電流、功率以及電能等相關(guān)電參數(shù),數(shù)據(jù)同步至控制模塊,再由控制模塊完成數(shù)據(jù)的存儲、顯示與通信等功能。
1.2 ? ?串口服務(wù)器
由于智能電表采用串行通信接口,協(xié)議為Modbus RTU,不能通過以太網(wǎng)與主機(jī)交互,因此加裝串口服務(wù)器,將串口信號轉(zhuǎn)成網(wǎng)口信號,實(shí)現(xiàn)電能數(shù)據(jù)在電表與主機(jī)間的雙向傳輸,使電表具備以太網(wǎng)傳輸能力[1]。此外,串口服務(wù)器在配置完成后無需改動,波特率、IP地址及端口模式均為固定值。如果需要新增電能表,僅需設(shè)置電能表波特率與站號,即可使新增智能電表入網(wǎng),實(shí)現(xiàn)設(shè)備的快速添加,減少了配置過程[2]。串口服務(wù)器硬件框圖如圖2所示。
2 ? ?監(jiān)測系統(tǒng)部分軟件功能設(shè)計(jì)
本監(jiān)測系統(tǒng)軟件具備Modbus協(xié)議的識別與通信功能[3]。使用微軟VS2017進(jìn)行開發(fā),調(diào)用網(wǎng)絡(luò)通信及日志組件的Modbus協(xié)議程序集,減少開發(fā)時(shí)間,增加系統(tǒng)穩(wěn)定性。數(shù)據(jù)庫則采用SQL Server管理系統(tǒng)進(jìn)行電能數(shù)據(jù)的存儲[4]。通過對電能監(jiān)測系統(tǒng)的功能需求分析,主要實(shí)現(xiàn)功能的程序?yàn)橹鳈C(jī)、從機(jī)指令的收發(fā)。部分功能代碼如下:
private void timer1_Tick(object sender, EventArgs e)//利用定時(shí)器,每秒發(fā)送一次報(bào)文
{byte[] data = null;
data = new byte[] { 0x01, 0x03, 0x00, 0x00, 0x00, 0x12, 0xC5, 0xC7 };
newclient.Send(data); }
void RecMsg()
{while (true)
{ byte[] arrMsgRec = new byte[1024];//將接收到的數(shù)據(jù)存入到輸入arrMsgRec中;
int length = -1;
try
{length = newclient.Receive(arrMsgRec); //接收數(shù)據(jù),并返回?cái)?shù)據(jù)的長度;
string msg = "";
for (int i = 0; i < length; i++)
{msg += arrMsgRec[i].ToString("X2");}
ShowMsgDelegate(msg.Trim());}
catch (SocketException se)
{ShowMsg("異常;" + se.Message); return;}
catch (Exception e)
{ShowMsg("異常:" + e.Message);
return;}}}
3 ? ?測試結(jié)果
本系統(tǒng)需要讀取電能表寄存器中的電能參數(shù),以一號電能表為例,主機(jī)發(fā)送的指令如表1所示。從機(jī)返回36個(gè)字節(jié)的寄存器數(shù)據(jù),按照通信規(guī)則解析后如表2所示。
電能監(jiān)測系統(tǒng)運(yùn)行界面如圖3所示。
4 ? ?結(jié)語
本次設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)成本較低,對車間、辦公場所的改動和生產(chǎn)工作的影響較小,可以基于電能監(jiān)測系統(tǒng)快速獲取每臺設(shè)備及區(qū)域的電能數(shù)據(jù),解決老舊設(shè)備設(shè)施電能數(shù)據(jù)獲取困難和無法利用網(wǎng)絡(luò)傳輸?shù)膯栴}。該系統(tǒng)實(shí)現(xiàn)了對生產(chǎn)區(qū)域的電能信息統(tǒng)計(jì)與實(shí)時(shí)監(jiān)控,可為企業(yè)提供管理服務(wù),如對樓層用電與設(shè)備用電的情況統(tǒng)計(jì);可監(jiān)測設(shè)備的運(yùn)行狀態(tài),發(fā)現(xiàn)未工作設(shè)備等;有利于促進(jìn)企業(yè)優(yōu)化生產(chǎn)工藝,提升產(chǎn)品附加值。
[參考文獻(xiàn)]
[1] 葛明.多路串口服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2011.
[2] 劉姝黎,史健芳,楊靜.串口服務(wù)器在單點(diǎn)交通信號控制系統(tǒng)中的應(yīng)用與設(shè)計(jì)[J].微電子學(xué)與計(jì)算機(jī),2018,35(2):67-70.
[3] 賀洪江,程琳.基于STM32和Modbus的電參數(shù)采集系統(tǒng)[J].自動化與儀表,2014,29(6):26-29.
[4] 徐鵬鵬.基于S7-300/200 PLC和Modbus協(xié)議的電力參數(shù)采集系統(tǒng)[J].工礦自動化,2011,37(12):104-107.
收稿日期:2020-07-02
作者簡介:顏世佳(1995—),男,江蘇連云港人,助理工程師,主要從事數(shù)據(jù)采集、智能儀表、智能船舶等方面的工作。