水電站電表數(shù)據(jù)的PLC采集
摘 要:就宏沅水電站電度表脈沖采集問題,提出了一種利用PLC進(jìn)行采集的方法,此方法不僅使問題得到解決,而且使數(shù)據(jù)采集過程簡化。
關(guān)鍵詞:監(jiān)控系統(tǒng);可編程控制器;RS232通訊
一、引言
在宏沅電站,運(yùn)行值班人員每天必須完成電度日報(bào)表的填報(bào)打印工作,以統(tǒng)計(jì)全站發(fā)、供電量,提供可靠性數(shù)據(jù)。因而運(yùn)行值班人員需頻繁地從現(xiàn)場各電度表盤讀取數(shù)據(jù),再手工錄入。這顯然增加了運(yùn)行值班人員的工作負(fù)擔(dān),也與水電站提倡的“無人值班”很不相稱,為此我們采用PLC統(tǒng)一進(jìn)行采集。
二、系統(tǒng)框圖及硬件配置
系統(tǒng)框圖如下圖1:
系統(tǒng)采用三菱FX2N-64MT微型可編程控制器作為基本模塊,輸入輸出各32點(diǎn),共64點(diǎn)。FX2N系列PLC具有極高的掃描速度(0.08μS/基本指令),內(nèi)附大容量存儲器,是一款高性能的小型可編程控制器。PLC與脈沖電度表連接見圖1,脈沖電度表無源光耦輸出直接接入PLC輸入點(diǎn),一個光耦接一個輸入點(diǎn),由PLC掃描實(shí)現(xiàn)脈沖累加。
為了實(shí)現(xiàn)串行通訊,采用了一個FX2N-232-BDRS232通訊模塊,因本裝置中RS232只用3根線RD、SD、SG(地),對于9針RS232口定義為:RD(3腳)、SG(5腳)、對于25針RS232口定義為:RD(2腳)、SD(3腳)、SG(7腳)。
裝置還采用一個數(shù)據(jù)存取單元FX-10DU,可讀、寫PLC中所有數(shù)據(jù),從而很方便地修改數(shù)據(jù)。
三、軟件設(shè)計(jì)
1、數(shù)據(jù)存放位置
FX2NPLC中數(shù)據(jù)寄存器均為16 bit二進(jìn)制數(shù),用D表示,一個D表示數(shù)值為-32 768~+32 767,可用相鄰兩個D表示32 bit二進(jìn)制數(shù),表示范圍:-2.147×109~2.147×109,足夠表示電度表讀數(shù)。采用D200-D511停電保持用寄存器,電度表讀數(shù)按以下存放。
(D203,D202)——第1個電度表的讀數(shù)
(D205,D204)——第2個電度表的讀數(shù)
依此類推,第30個電度表的讀數(shù)存放在(D261,D260)。
2、程序指令基本說明
PLC指令功能強(qiáng)大,使用方便,如16位指令:ADD D50 D60 D100表示D50+D60→(D101,D100);當(dāng)指令前加個D時(shí)為32位指令,如DADDD5 D10 D100表示(D6,D5)+(D11,D10)→(D101,D100);當(dāng)指令后加P時(shí)為脈沖執(zhí)行型。
3、脈沖采集程序
脈沖采集程序見圖2。當(dāng)X0閉合上升沿時(shí),計(jì)數(shù)器C101(增計(jì)數(shù)器)加1,計(jì)數(shù)器的預(yù)置值為18,當(dāng)C101=18時(shí)其觸點(diǎn)閉合,上升沿時(shí)(D203,D202)數(shù)值加1;當(dāng)(D203,D202)>9 999 999時(shí),電度表讀數(shù)為0,(D203,D202)清零,C101清零,預(yù)置數(shù)18不變,C101又從零開始累計(jì)。
程序中常數(shù)K值取決于使用電度表情況,如本廠電度表計(jì)數(shù)有5位整數(shù),一位小數(shù),再一位小格,即ABCDE.FG。但在PLC中只用整數(shù)表示,即ABCDEFG,比實(shí)際值放大100倍。如1 800個脈沖為1 kW·h(可從電度表參數(shù)得到),則18個脈沖時(shí)應(yīng)在G位加1,所以常數(shù)K值應(yīng)為18。各電度表就按這種方法設(shè)置參數(shù),從而保證程序計(jì)數(shù)精度。其它電度表持續(xù)與此相似,只要設(shè)相應(yīng)的常數(shù)K,至于電度表個數(shù)按實(shí)際情況增刪程序即可。
實(shí)際運(yùn)用中可能還會遇到K為小數(shù)的情況,如1650個脈沖為1度,則變?yōu)橛?jì)數(shù)器C101應(yīng)取K16.5,但在PLC中K只能是整數(shù)?紤]到1 650×2=3 300,即33個脈沖加0.02度,程序可作如下處理:(C101 K18)改為(C101 K33),〔DINCPD202〕改為〔DADDPD202 K2 D202〕,即當(dāng)計(jì)數(shù)器C101=33時(shí),(D203,D202)數(shù)值加2,結(jié)果存(D203,D202)。
4、RS232通訊程序
(1)參數(shù)初始化
采用標(biāo)準(zhǔn)RS232通訊,在FX系列的RS指令中,具體參數(shù)由設(shè)置D8 120的值確定,D8 120存放通訊的參數(shù),設(shè)定(D8 120)=H0 361,表示波特率為2 400 bps,無奇偶效驗(yàn),8位數(shù)據(jù)位,1位起始位,1位停止位,無握手信號。
(2)數(shù)據(jù)格式
數(shù)據(jù)格式依次為:起始字符(D199),數(shù)據(jù)頭,第1塊電表讀數(shù),第2塊電表讀數(shù),……,第30塊電表讀數(shù),效驗(yàn)和,結(jié)束字符(D264)。數(shù)據(jù)頭“FF00FF00”存入(D201,D200),數(shù)據(jù)頭取值可從RS指令說明得到;每個電度表值為32 bit二進(jìn)制數(shù),分4個字節(jié)上傳,接收方將這4字節(jié)拼成一個32 bit二進(jìn)制數(shù)即可。一次共傳送5+4N+3=4N+8字節(jié)(N為電度表個數(shù)),因RS指令中傳送字節(jié)數(shù)不計(jì)起始、結(jié)束字符,所以一次傳送字節(jié)數(shù)為4N+6。該電站有30塊表,則一次傳送字節(jié)數(shù)為126;效驗(yàn)和占兩個字節(jié),值為n塊電度表讀數(shù)各字節(jié)值的和,存入一個未占用寄存器D中即可,用一個D存效驗(yàn)和可用于多于40塊表的情況,效驗(yàn)和計(jì)算由程序中CCD指令實(shí)現(xiàn)。
(3)程序設(shè)計(jì)
①初始化程序:
下面程序(見圖3)完成初始化工作:M8002在第一個掃描周期時(shí)閉合,閉合后將數(shù)據(jù)頭“FF00FF00”存入(D201,D200),并設(shè)定D8120的值,即設(shè)定通訊參數(shù),同時(shí)將M8161復(fù)位,M8161決定8 bit還是16 bit操作模式,M8 164=0表示16bit操作模式,即一個D存放2個字符。
②數(shù)據(jù)校驗(yàn)及傳送程序
程序完成數(shù)據(jù)效驗(yàn)和數(shù)據(jù)傳送見圖4。
M8000在PLC運(yùn)行時(shí)一直閉合,閉合后把從D202-D261的120個字節(jié)(30×4)的效驗(yàn)和存入(D263,D262);RS指令表示傳送的首地址為D200,K26表示一次傳送的數(shù)據(jù)總字節(jié)數(shù)為126,D360表示接收數(shù)據(jù)首地址,K0表示接收字節(jié)數(shù)為0,即不接收數(shù)據(jù)(本程序中不需要接收數(shù)據(jù));采用定時(shí)上傳一次的辦法,每次按上述數(shù)據(jù)格式傳送一次,程序中1 min上傳一次,T0為0.1 min定時(shí)器,可改K值改變傳送數(shù)據(jù)間隔;每隔1 s觸發(fā)一次M8122,送出一次數(shù)據(jù),M8122為數(shù)據(jù)傳送標(biāo)識,M8122=1則開始發(fā)送數(shù)據(jù),一旦發(fā)送完畢將自動復(fù)位,等待下一次觸發(fā)。
四、結(jié)束語
在現(xiàn)場投入運(yùn)行時(shí),上位機(jī)(PC)用VC++編制了一個數(shù)據(jù)接收通訊程序,完成數(shù)據(jù)的接收和處理工作,從而實(shí)現(xiàn)了電度表數(shù)據(jù)采集的自動化。測量結(jié)果證明,本裝置具有很好的采集精度,且運(yùn)行穩(wěn)定,是行之有效的電表數(shù)據(jù)采集系統(tǒng)。
- 上一篇:繼電保護(hù)仿真程序的設(shè)計(jì)構(gòu)想 [2017-03-05]
- 下一篇:某污水處理廠自控系統(tǒng)介紹 [2017-02-24]