謝磊
摘 要:我國電力企業(yè)正在不斷進(jìn)行深入改革,電力系統(tǒng)正在不斷進(jìn)行革新,走向智能化、自動化。通過抄表工作對電量進(jìn)行監(jiān)控是電力系統(tǒng)最基本的工作之一,智能抄表能夠使工人的工作強(qiáng)度降低,并且能夠提高抄表效率,且近幾年電表數(shù)量呈現(xiàn)幾何級增長,對抄表工人造成了很大的壓力因此使用智能化的抄表系統(tǒng)是很有必要的。
關(guān)鍵詞:智能抄表系統(tǒng);Modbus協(xié)議;電力企業(yè)
1.智能抄表相關(guān)技術(shù)概要
1.1 Modbus協(xié)議介紹
智能抄表系統(tǒng)是基于RS485的Modbus通信協(xié)議,Modbus協(xié)議是在電子控制器上運(yùn)用的一種通用語言。通過Modbus協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以實(shí)現(xiàn)通信。Modbus通信協(xié)議已經(jīng)成為一種當(dāng)代通用工業(yè)標(biāo)準(zhǔn)。通過Modbus協(xié)議,控制設(shè)備就算在不同廠商下也能夠連成工業(yè)網(wǎng)絡(luò),進(jìn)行數(shù)據(jù)采集、集中監(jiān)控。Modbus協(xié)議定義了一個控制器能辨識并且使用的消息結(jié)構(gòu),而不管它們是經(jīng)過哪種網(wǎng)絡(luò)通信方式進(jìn)行通信的。它描述了一控制器對其它設(shè)備發(fā)出請求進(jìn)行訪問的過程,如何接收并且回應(yīng)來自其它設(shè)備的請求,以及怎樣偵測錯誤并記錄。
1.2 SQL數(shù)據(jù)庫的基本介紹
SQL數(shù)據(jù)庫是基于Windows操作系統(tǒng)下的集成開發(fā)環(huán)境該環(huán)境集成了各種向?qū)Ш蜕善鞴ぞ?,使使用人員增加了工作效率。建立數(shù)據(jù)庫連接、設(shè)計用戶使用的表、創(chuàng)建數(shù)據(jù)表、數(shù)據(jù)庫按用戶需要查詢、報警與故障記錄等功能能夠高效率實(shí)現(xiàn)。運(yùn)用SQL數(shù)據(jù)庫,能夠?qū)崟r存取所獲得的儀表數(shù)據(jù),并能夠?qū)⒔涌诔绦虻倪\(yùn)行狀態(tài)以及操作日志,以統(tǒng)一的格式存入后臺數(shù)據(jù)庫中。
2智能抄表系統(tǒng)總體設(shè)計
2.1通信網(wǎng)絡(luò)的硬件
畫出整個通信硬件圖(圖3-1),用戶如果需訪問智能電表必須先通過TCP/IP網(wǎng)絡(luò),向WEB服務(wù)器發(fā)出一條請求指令,當(dāng)指令通過時會向服務(wù)器發(fā)出一條命令,服務(wù)器將會通過RS485通訊線對電表設(shè)備進(jìn)行訪問,用戶如何在服務(wù)器上通RS485訪問電表是我所研究的內(nèi)容。訪問電表可以使用ASCII碼傳輸模式或者RTU傳輸模式。RTU模式當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以RTU(遠(yuǎn)程終端單元)模式通信時,在消息中的每個8Bit字節(jié)包含兩個4Bit的十六進(jìn)制字符。RTU傳輸模式的主要優(yōu)點(diǎn)在于:在同樣的波特率下,可比ASCII方式傳送有更大的數(shù)據(jù)吞吐量。代碼系統(tǒng):8位二進(jìn)制,十六進(jìn)制數(shù)0到9,A到F、消息中的每個8位域都是一個兩個十六進(jìn)制字符組成、每個字節(jié)的位:1個起始位、8個數(shù)據(jù)位,有效值中最小的先發(fā)送、1個奇偶校驗(yàn)位,無校驗(yàn)則無。1個停止位(有校驗(yàn)時),2個bit(無校驗(yàn)時)采用CRC(循環(huán)冗余校驗(yàn))。
2.2 智能抄表系統(tǒng)狀態(tài)
通過掌握基于RS485的ModBus網(wǎng)絡(luò)通訊協(xié)議,并以框圖建模的形式對ModBus的常用數(shù)據(jù)通信邏輯建立狀態(tài)模型(圖3-2),使設(shè)計的ModBus接口界面具有一定的協(xié)議兼容性,能夠?qū)崿F(xiàn)ModBus基本協(xié)議數(shù)據(jù)包的接收與發(fā)送。狀態(tài)圖描述:用戶進(jìn)入窗體時進(jìn)入初始化狀態(tài)程序進(jìn)行實(shí)時檢測并記錄在線電表數(shù)目,將其顯示在窗體上。檢測完畢后啟動實(shí)時查詢定時器T1(用來實(shí)時刷新查詢電表的數(shù)據(jù)變化)后,根據(jù)用戶的要求查詢指定的電表數(shù)據(jù),查詢數(shù)據(jù)的同時數(shù)據(jù)庫將記錄每次查詢請求的操作記錄,如果所查詢的電表不在線,將會生成電表設(shè)備異常報告后進(jìn)入空閑狀態(tài),如果查詢的電表檢測通過則機(jī)器會處理電表通訊請求并將其返回值發(fā)送回窗體,窗體接收通訊數(shù)據(jù)完畢后經(jīng)過簡單的計算生成電量數(shù)據(jù)表后在用戶界面上顯示指定電表數(shù)據(jù),進(jìn)入空閑狀態(tài)。在空閑狀態(tài)定時器T1將根據(jù)定時的時長對采集的電表數(shù)據(jù)進(jìn)行刷新,并實(shí)時存儲各電表數(shù)據(jù)將其放入數(shù)據(jù)庫中,處理完畢后進(jìn)入空閑狀態(tài)。
2.3 RTU傳輸模式狀態(tài)
RTU傳輸模式的狀態(tài)圖說明:
(1)從“初始”狀態(tài)過渡到“空閑”狀態(tài)需要經(jīng)過t3.5超時達(dá)限,這樣才能夠保證幀間延遲。
(2)沒有接收和發(fā)送報文要處理的時候?qū)M(jìn)入“空閑”狀態(tài)。
(3)在RTU模式中,當(dāng)至少3.5個字符的時間間隔沒有被傳輸激活,即判定通信鏈路為“空閑”狀態(tài)。
(4)當(dāng)通信線路處于“空閑”狀態(tài)時,在線路路上檢測到的任何傳輸?shù)淖址灰暈閹鹗?。?dāng)通信線路處于“激活”狀態(tài)。然后,當(dāng)時間間隔t3.5之后鏈路上還沒有傳輸字符時,視為幀結(jié)束。
(5)檢測到幀結(jié)束之后,開始執(zhí)行CRC計算和使用CRC進(jìn)行校驗(yàn)。分析地址字段用來判斷幀是否送往此設(shè)備。如果不是送往該設(shè)備,則丟棄這個幀。為了減少接收處理時間,在接收到地址字段而不需要等到整個幀結(jié)束,就可以分析地址字段。這樣,CRC計算和校驗(yàn)只需要在幀尋址到該節(jié)點(diǎn)時進(jìn)行。
3、智能抄表程序流程圖
Modbus協(xié)議03(0x03)功能碼的描述:發(fā)送請求時,功能碼占一個字節(jié)、起始地址占兩個字節(jié)(0x0000到0xFFFF)、寄存器數(shù)量占兩個字節(jié)(1到125)。響應(yīng)時,功能碼占一個字節(jié)、字節(jié)數(shù)占1個字節(jié)(2*寄存器的數(shù)量)、寄存器值占寄存器數(shù)量*2字節(jié)。錯誤時異常碼1字節(jié)(01或02或03或04)。讀寄存器時,如請求發(fā)送11 03 006B 0003 7687,11為設(shè)備地址、03為功能碼、00為寄存器起始地址高位、6B為寄存器起始地址低位、00為寄存器數(shù)量高位、03為寄存器數(shù)量低位、76為CRC校驗(yàn)低位、87為CRC校驗(yàn)高位。響應(yīng)時返回值如為11 03 06 AE41 5652 4340 49AD。11位設(shè)備地址、03為功能碼、06為字節(jié)計數(shù)、AE為寄存器值高位、41為寄存器值低位、56為寄存器值高位、52為寄存器值低位、43為寄存器值高位、40為寄存器值低位、49為CRC校驗(yàn)低位、AD為CRC校驗(yàn)低位。功能碼03H中地址與數(shù)字對照:地址0000(U0、IO)低八位為電流量程、高八位乘2后為電壓量程,0001與0002為電壓量程和電流量程,0005到0007為ABC三相電壓(Ua、Ub、Uc)、000B到000D為ABC三相電流(Ia、Ib、Ic)、0012為頻率F。
結(jié)論
智能抄表系統(tǒng)在電力系統(tǒng)與電力企業(yè)中是非常重要的部分,對電力系統(tǒng)經(jīng)濟(jì)安全發(fā)展和經(jīng)濟(jì)收益都具有很大的影響。由于此次課題的設(shè)計、實(shí)現(xiàn)時間有限,對智能抄表系統(tǒng)的功能擴(kuò)展做的不夠徹底。如在接口界面上遠(yuǎn)程設(shè)置電表參數(shù)(如電壓、電流變比)、ASCII碼傳輸方式及LRC校驗(yàn)方式,已有基本的構(gòu)思但還未實(shí)現(xiàn),對智能抄表的多功能有一定的影響。在以后的優(yōu)化設(shè)計中可以在一下方面進(jìn)行提高:第一,實(shí)現(xiàn)在界面上遠(yuǎn)程設(shè)置參數(shù)及ASCII碼傳輸方式及LRC校驗(yàn)方式。第二,本系統(tǒng)的操作界面較少且色調(diào)較為單一。第三,數(shù)據(jù)庫功能較少,應(yīng)加入故障報警查詢功能。對智能電表的后續(xù)優(yōu)化中將對以上幾點(diǎn)進(jìn)行進(jìn)一步的研究。
參考文獻(xiàn):
[1] 華镕.從Modbus到透明就緒——施耐德電氣工業(yè)網(wǎng)絡(luò)的協(xié)議設(shè)計安裝和應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2009.6-85.
[2] 何波.C#網(wǎng)絡(luò)程序開發(fā)[M].北京:清華大學(xué)出版社,2014.4-47.
[3] 范逸之.Visual BASIC.NET自動化系統(tǒng)監(jiān)控RS-232串行通信[M].北京清華大學(xué)出版社,2006.35-37.
[4] 丁志華.智能化小區(qū)電網(wǎng)遠(yuǎn)程抄表系統(tǒng)設(shè)計[N].江蘇大學(xué)學(xué)報,2003-2-24(2).
[5] 李川.智能化遠(yuǎn)程抄表系統(tǒng)的研制[N].武漢:武漢理工大學(xué)學(xué)報(信息與管理工程版),2008-06-30(6).
[6] Christian Nagel.Professional C# 2012and.Net4.5[M].New York:Wrox,2012.7-23.