//Logo Image
作者:許博爾、劉宗翰、謝文惟、林耀謙 (2006-06-29);推薦:徐業良(2006-07-31)

以分散式資料伺服器連結多功能集合式電表DM2436AB

本文敘述如何以分散式資料伺服器(Distributed Data Server, DDS),對風力發電機之多功能集合式電表(DM2436AB)進行訊號讀取、傳輸、與儲存。本文首先介紹多功能集合式電表之規格和用途,接著說明如何以DDS為主控端,讀取多功能集合式電表之監測數據,並傳輸至遠端網頁上,同時將數據以MMC記憶卡紀錄。

1.     多功能集合式電表DM2436AB之簡介

DM2436AB(如圖1所示)是以16位元微處理器為計算核心,全數位式量測、顯示、校正、輸出的多功能集合式電表,因其微處理器之快速工作脈波(16MHz)及快速取樣,能夠提供高準確度的量測。DM2436AB除了能以單一表量測所有電力單位(W, A, V, PF, VAR, WH, VARH, Hz)外,還具有最大值、最小值量測,及設定值接點輸出等功能。

1. 多功能集合式電表DM2436AB

在通信介面上,DM2436AB有串列的RS-485可供選擇,並以全球工業界最常使用的自動化協定MODBUS來結合乙太網路及串列介面為其通信協定,提供使用者更方便的搭配。DM2436AB使用MODBUS中的RTU Mode模式,通訊方式是半雙工方式(Half- Duplex),可經由一台電腦連接1~30台電表,或經由訊號擴大器(Repeater)延伸至247台電表,如圖2

2. DM2436AB之連接方式

2.     多功能集合式電表DM2436AB之通訊介面

如前所述,DM2436AB使用MODBUS中的RTU Mode模式,MODBUS通訊傳送模式為獨立的訊息和發送編碼數據,當client端通訊指令發送至server端時,符合server端位址碼的設備接收指令後,除去位址碼並經過核對正確,即執行指令,之後便將執行結果以包含位址碼、執行動作之功能碼、結果數據、與錯誤校驗碼所組成的訊息回送給client端,本節將會以實際例子進行解說。

2.1    多功能集合式電表DM2436AB之通訊協定

多功能集合式電表DM2436AB是以RS-485為連接串列,因此在與DDS資料傳輸時必須透過RS-485/232雙向轉換器(Bi-directional Converter)1DM2436AB之指令格式結構,其中因為只有一部多功能集合式電表DM2436AB,所以Address File定為01HFunction Code則均為表示讀取的03H,而Start AddressNumber of Registers均可經由DM2436AB之暫存器附錄中查得。

1. DM2436AB之指令格式結構

指令格式結構

說明

1.START OF FRAME

Starting message marker

2.ADDRESS FILE

表示欲讀取的Meter位置(01~FFHex1Byte)

3.FUNCTION CODE

為讀取指令的03H

4.START ADDRESS

代表第一個暫存器之位置(2Byte)

5.NUMBER OF REGISTERS

為讀取之字數,最多到40個字

6.ERROR CHECK

CRC

7.END OF FRAME

End message marker

1CRC碼的計算方法是以欄位ADDRESS FILE至欄位NUMBER OF REGISTERS的數值進行計算,經由查表的方式得到CRC碼。若指令串中的CRC碼不符合DM2436AB的查表結果,則DM2436AB會將指令視為無效,因此CRC碼可為error check之用。而DM2436AB每接收到一個讀取之command後,就回傳一次DM2436AB量測數據資料,量測值傳輸格式結構如表2所示。

2. 量測值傳輸格式結構

指令格式結構

說明

1.START OF FRAME

Starting message marker

2.ADDRESS  FILE

表示欲讀取的Meter位置(01~FFHex1Byte)

3.FUNCTION CODE

為讀取指令的03H

4.Number of Data Byte Count

D0…D7Byte

5.D0…D7

為回傳的量測值

6.ERROR CHECK

CRC

7.END OF FRAME

End message marker

2.2  多功能集合式電表DM2436ABDDS讀取

根據以上的指令與接收格式,以下以實例配合說明執行讀取DM2436AB之監測數據的程式。表3是讀取R相電壓資料的指令格式結構,使用DDSPIC Servernic_putc之功能,傳送字串“0103000000044409”DM2436AB之多功能表頭,字串結構說明如表3

3. Query字串說明

使用PIC Servernic_getc之功能,接收DM2436AB多功能表頭之Response字串“01030800000000000186A0A60F字串結構說明如表4,並將此字串之data部份截取出來加以處理。此例中R相電壓V=100,000mV, 故回傳100,000(186A0 HEX)

4. Response字串說明

3DDS讀取DM2436AB量測值的程式碼,首先傳送commandDM2436AB讀取R相電壓(90~120行),再接收DM2436AB所回傳的數據,DDS即可讀取DM2436AB之量測數據,並利用DDS之網路傳輸功能將即時監測數據傳送至網頁上,使遠端HTTP用戶能夠進行即時的監測。

3. 讀取量測值的程式碼

3.     多功能集合式電表DM2436AB之監測數據儲存

除監測數據的讀取與傳輸外,DDS並能以MMC卡將監測數據儲存,遠端使用者也可藉由網路傳輸功能將儲存資料下載,以利後續分析。本節將就MMC卡的儲存格式、儲存規劃進行詳細說明。

3.1    MMC記憶卡儲存規劃

為便於使用者與VB介面讀取歷史監測資料,MMC記憶卡之儲存規劃為每日儲存一個.txt檔,檔名則以年//日為其格式。而檔案內儲存的資料則每隔10分鐘進行一次儲存。經過測試,每日的資料量為24KB,以容量128MB(實際可使用量約為122MB)MMC記憶卡來說可儲存長達14年的時間,符合長時間的監測需求。圖4MMC記憶卡之程式設定。

4. MMC記憶卡之程式設定

3.2    MMC記憶卡儲存資料規劃

DDS每隔30秒會讀取依次DM2436AB的監測數據,因此每10分鐘將有20筆的監測數據,MMC卡所儲存的資料便是此20筆的平均值。圖5是平均值處理的程式碼。

5. 處理平均值之程式碼