水位測控裝置是水電廠的重要測控設備,水電廠的上下遊水位是防汛的重要數據,攔污柵壓差影響機組出力、水工建築,水頭值影響調速器協聯曲線,進而影響機組效率甚至穩定運行,因此水位測控裝置需滿足長期穩定可靠運行。目前的水電廠水位測控裝置普遍採用定制儀表採集前端水位傳感器的格雷碼值,換算柵差、水頭等,輸出開關信號報警,輸出出4~20ma信號至監控、遠動、調速器。在運行維護中存在以下問題:採用電纜長距離輸送格雷碼信號,防雷、抗幹擾能力差,儀表、傳感器易損壞;4個24位格雷碼傳感器需100芯電纜維護困難;定制的儀表擴展性差,輸入、輸出校準,參數整定操作復雜;價格高,備品備件採購困難。因此開發基於通用硬件設備的水位測控裝置意義重大。
根據水電廠水位測控具體要求,我們自主設計了基於plc的水位測控係統,具有高可靠性、配置靈活、安裝維護簡單方便特點。
聯係人:吳巧燕
電話:0592-5085207
手機:18030132585
QQ:2851195467
2 係統功能結構
水東水電站裝設有上遊、#1攔污柵後、#2攔污柵後、下遊四個水位測量井,配置浮子式水位測量裝置,採用值光電編碼器將水位信息轉換成數字信號。壩上傳感器距離中控室500m,下遊傳感器距離中控室30m,為提高係統的防雷、抗幹擾能力,壩上傳感器通信採用光纖傳輸。水位測控裝置plc通過rs485串行口採集編碼器水位數據,經過換算處理模擬量輸出模塊輸出4∼20ma的上遊、下遊海拔值信號至遠動rtu裝置,輸出4∼20ma的水頭信號至機組調速器電氣調節裝置。計算機監控係統通過網絡連接水位測控裝置plc,採集所有水位信息,故障報警信號等,並可遠程設置相關參數、定值,係統功能結構如圖1所示。
圖1 係統功能結構圖
3 實現原理
3.1 浮子式水位測量裝置
該裝置安裝在測井口上方,當液位變化時,浮子隨之上升或下降,測繩帶動線輪做旋轉運動,與線輪同軸連接的多圈值編碼器就輸出與液位對應的數字信號(見圖2)。裝置具有結構簡單、合理,可靠性高、適應性強等優點,能夠長期用於液位測量。
圖2 浮子式水位測量裝置
3.2 編碼器
根據現場實際需求,編碼器選用現場總線型輸出的多圈值編碼器。
值編碼器由機械位置確定編碼,每個編碼不重復,它不受停電、幹擾的影響,無需記憶,無需找參考點,而且不用一直計數,什麼時候需要知道位置,什麼時候就去讀取,這樣,編碼器的抗幹擾特性、數據的可靠性大大提高了。多圈值編碼器另一個優點是由於測量範圍大,實際使用往往富餘較多,這樣在安裝調試時不必費勁找零點,將在測量範圍內的某一中間位置作為起始點就可以了,從而大大簡化了安裝調試難度。
編碼器信號輸出主要有並行格雷碼輸出、串行ssi輸出、總線型輸出、模擬量4~20ma輸出。並行格雷碼和模擬量輸出信號讀取簡單但不適合長距離傳輸,串行ssi輸出大部分是與西門子plc的ssi模塊配套成本較高。現場總線型編碼器用通訊方式傳輸信號,信號遵循rs485的物理格式,連接線少,傳輸距離遠,對於編碼器的保護和可靠性就提高了。信號的接收設備只需一個接口,就可以讀多個編碼器信號,多個編碼器集中控制的情況下可以大大節省成本。
3.3 水位測控裝置plc
plc選用m340模塊化plc,它是施耐德公司生產的性能價格比很高的可編程控制器,已廣泛應用於工業控制的各個領域。cpu模塊選用、大內存的bmx p34 2020,帶一個100m以太網、一個485串行口;輸入、輸出模塊可根據現場實際需求靈活配置。
4 軟件設計
4.1 編程步驟
plc的硬件配置、控制程序採用施奈德的編程軟件包unity pro完成,pc通過網絡或usb與m340 plc進行程序傳送。首先進行plc硬件組態,含底版、電源、cpu、輸入輸出模塊等。通過電源模塊屬性可查看電源使用情況,應保留餘量,否則需更換容量更大的電源模塊;在cpu模塊的serialport口配置串行鏈路參數如:485 modbus主站、波特率9600、幀延時4ms、數據位8位、停止位1位、偶校驗;創建網絡鏈路ethernet1並配置ip地址等網絡通信參數,將cpu模塊的ethernet口鏈接到網絡鏈路ethernet1;根據現場模擬量信號要求配置模擬量輸出模塊參數;定義相關變量等。
4.2 plc程序設計
(1)程序結構。程序採用模塊化設計,具有較高可讀性、可維護性其程序結構如圖3所示。
圖3 程序結構圖
(2)程序注釋。plc上電掃描執行初始化init()子程序,初始化通信參數,上、下遊海拔預置值,各個傳感器調零值,攔污柵壓差整定值等。
傳感器通信comm()子程序,分時讀取傳感器水位值,通信故障時水位保持原值。
計算calc()子程序,計算出上、下遊,攔污柵後的實際海拔值,攔污柵壓差、各機組有效水頭等。
信號輸出out()子程序,攔污柵壓差過大報警、通信故障報警、裝置故障報警、4∼20ma模擬量輸出等。
數據上送sent()子程序,根據監控上位機通信規約,組織上送數據信文,含各實際海拔值、有效水頭、詳細故障信息、攔污柵壓差報警定值等。
4.3 水位信號讀取
m340 plc和編碼器串行rs485通信採用modbus rtu通信規約,這個通訊協議已廣泛被國內外各行業作為係統集成的一種通用工業標準協議,有利於係統的維護和擴展。plc為主站,編碼器為從站。
查編碼器技術手冊,水位測值的modbus地址是4x0000,根據modbus通信規約信息幀結構讀取地址 1 傳感器的水位測量值,應發送以下通信碼:m340 plc讀取水位信息主要用read_var功能模塊:
01 03 0000 0001 840a
站地址 功能碼 首地址 個數 crc校驗碼
功能模塊說明〔1〕
adr
通信地址:語法為 addm (`r.m.c.node`機架號.模塊號.通道號.站地址) 類型。
obj 要讀取的對象類型
’%m’:內部位
’%mw’:內部字
’%s’:係統位
’%sw’:係統字
num 讀取的第一個對象的索引。
nb 要讀取的對象的數量。
recp輸出參數包含所讀取對象的值的字表。
gest交換管理表:4個字的數組。
表1 交換管理表
圖4 read_var功能模塊
圖4中read_var功能模塊實現將地址1傳感器水位值送入%mw1,交換管理表置於%mw400:4,%mw401==0,說明通信成功,非零值記錄故障代碼。通信過程需佔用時間,保證通信可靠,防止通信阻塞,4個傳感器通信分時進行,用上升沿觸發。讀取交換管理表確認通信是否成功,通信失敗應將故障代碼上送上位機並報警,將水位值保持為上一次正確通信時讀取的值。
4.4 上位機監控軟件設計
上位機係統與plc之間通過以太網連接,水東電廠的計算機監控係統採用南瑞集團公司的nc2000係統。nari nc2000計算機監控係統是南瑞集團面向水利水電領域的新一代計算機監控係統軟件〔2〕。nc2000具有良好的人機界面和網絡功能,與施耐德plc網絡通信採用tcp/ip modbus規約。在組態環境下,設計人員對plc進行驅動配置,運行環境以圖形畫面形式的人機界面監控水位信息、故障報警,對有關數據存儲歷史庫,生成報表,同時利用web功能使係統具有在線監控功能,即在授權的情況下在任何一臺聯網的計算機上用標準的瀏覽器可遠程監控。限於篇幅,上位機程序不再詳述。
5 結束語
係統的設計結構合理,採用多圈值編碼器採集水位,以可編程控制器為控制核心,提高了係統的自動化程度,保證了係統運行的可靠性;硬件、軟件模塊化設計具有良好的擴展性和靈活性,可根據現場實際需求更改係統的配置規模。該係統在福建水東電站現場運行表明工作穩定,在監視報警、綜合計算、信號輸出等各方面滿足電站的運行要求,取得了很好的效果,有較高的推廣價值。
Siemens P4A221AA0ZC09
Siemens 6FX2007-1AC04
KEBA HT401-232-4/0
BIZERBA 10370777
Siemens 6ES5390-0UA11
Siemens 6FC5203-0AC00-0AA2
Siemens 6FC5203-0AD10-0AA0
Siemens 6FC5203-0AB20-0AA1
Siemens 6AV6542-0CC10-0AX0
Flatman FB170SBOED0SG
Lauer LCA200.102.1
Lauer LCA200.202.2
Jakob MMD-A1-717
Beijer 0809-013
Siemens 6FC5303-1AF02-1AK0
Danfoss 17520401
Lenze 00417192
Weber DIALOG165V
Siemens 6AV6642-0AA11-0AX0
Yaskawa JZNC-XPP02B
B&R 5PP320-0571-39
Siemens 6AV3637-1LL00-0BX0
Siemens 6FM2805-4AS31
Siemens 6AV3637-1LL00-0BX0
Telemecanique XBTGT6330
FANUC A05B-2301-C305
ABB 3HNE00026
SIEMENS 6FC5203-0AD10-1AA0
B+R 5AP920.1505-01
Siemens 6FC5203-0AB20-1AA0
ABB 3HNE00313-1
Siemens 6AV5020-1AC11-1AA0
ADM LCD10L-CACS-REIS
LCD PG320240WRTMNNI10Q
Atlas Copco 1900071103
Siemens 6FC5203-0AC00-0AA0
Siemens 6FC5203-0AD10-0AA0
Siemens 6FC5203-0AD10-0AA0
Siemens 6FC5303-1AF02-0AK0
SAIA 09911701
SAE MT-50-RS-232
Siemens 6ES5336-0AB11
ABB 3HNE003131
Carl 608426-9930
MSC 6367074-1
Bosch 1070920627-102
Siemens 3RX9401-0AA00
Siemens 6SE6400-0BP00-0AA0
Siemens 6ES7272-0AA20-0YA0
Siemens 6AV6545-0BB15-2AX0
Bedienfeld ZBE-701
Siemens TASC300
Siemens G34924-J2000
Siemens 6FC5203-0AC00-0AA2
Siemens 6FC5203-0AB20-0AA1
KUKA 69-000-398
Siemens 6FM1496-1BB22
Siemens TXM1.8U-ML
Siemens 6AV3627-1LK00-1AX0
Siemens 6AV6542-0CA10-0AX0
KUKA 69-000-398
Siemens 6AV6542-0CC10-0AX0
Siemens 6AV3627-1JK00-0AX0
Siemens 6AV6542-0CC10-0AX0
Siemens 6AV6643-0DD01-1AX1
ABB 3HNE00311-1
ABB 3HNE00312-1
Datalux LMV10R3
Siemens 6FC5403-0AA00-0AA1
Rittal SM6450.020
EBERLE 051494100000
Siemens 6AB6124-0BA
LAUER PG090.207.D
LAUER PG090.208.E
LAUER PG090.208.E
Sony LT10-205B
Honeywell DCP1021100100000
Suetron 81324
SIKO MA55-0001
Raychem VIA-DU-20
Siemens 6SE6406-0AP00-0AA0
Siemens 6EP7000-0GA00-0AA0
DANFOSS 175N0131
Siemens 6AV3017-1NE30-0AX0
ADVANTECH SPC-64
Beckhoff CP65310002
Siemens 6DD1670-0AF0
Lauer 960.202.2
Siemens 6AV6542-0BB15-2AX0
Siemens 6DD1670-0AF0
Siemens 6DD1670-0AF0
BOSCH PNLCC100M
Emhart Z010007
Emhart Z010012
Siemens 6AV3515-1EB01-Z
GS DA13-NS60/P1R
Siemens 6AV6647-0AH11-3AX0
Allen Bradley 2711-T9C1
Siemens 6AW5457-0BA
IBES HP-ECB-AB1600
SIEMENS 6AV3515-1MA20-1AA0
RaPoTronic 90020009011
SIEMENS 6AV3515-1MA20-1AA0
Siemens 6AV3535-1TA41-0BX0
Siemens 6AV6542-0CA10-0AX0
Siemens 6AV3515-1EB30-1AA0
KEB 00.F5.060-1000
MONDIAL SLC-45-11
Siemens 6SE7090-0XX84-2FF0
Siemens 6AP1161-0BV00
Siemens 6ES7642-2AA00
PROMESS 14215 110/220V
Siemens 6SE6406-0AP00
NORDAC SIY991H0342
SEW DBG11B-08
Siemens 6AV6545-5AD00-0BP0
SIEMENS 6AV3627-1JK00-0AX0
Siemens 6AV3515-1EB30-1AA0
SIEMENS 6AV3505-1FB12
SIEMENS 6AV3515-1MA30
SIEMENS 6AV3515-1MA32
KUHSE 2180000316
KUHSE KABT9410
SIMATIC 6AV6618-7BB01-1AB0
SIEMENS 6AV3627-1JK00-0AX0
KUHSE 2KMCHMIF00
SIEMENS 6AV6643-1DD01-1AX0
ABB 3BSE000460R1
ega UTV2.2TFT
KEYENCE LS3100W
HARTMANN E984101265
SIEMENS 6AV3505-1FB12
SIEMENS 6ES7626-2AG00-0AE3
Siemens 6AV3520-1EL00
SIEMENS 6AW4810-1AJ10
SIEMENS 6AW4810-1AJ10
SIEMENS 6AV3535-1TA01-0AX0
Siemens 6AV3615-1MA20-1AA0
Siemens 6AV3617-1JC30-0AX1
Siemens 6AV3617-1JC20-0AX1
Endress+Hauser DXF351
Lauer 950.000.5
Siemens 6AV6542-0AD15-2AX0
Siemens 6AV3505-1FB01
KEBA HT4-222
KEBA HT4-222/54001
Omron F150-M05L
Sauter EYT240F001
Siemens 6AV7804-0BC21-0AA0
Siemens 6AV3515-1MA2
Siemens 6AV3515-1MA2
MESA 18915050009
B&R 5PP120.1043-37
W?hrle BCA-150-103R
Siemens 6SE6400-0BP00-0AA1
UCP 2RML78F32X00F
Sasse 1360.9915201
Biviator TE608
unipo? 2SPL02XGAN15
unipo? 2STF01XCAN02
unipo? 2RML78F32X01
unipo? 2RML78F32X01F
unipo? 2IBT9UXT0001
unipo? 2RCLX2X03001
unipo? 2RCLX2X03005
Unipo? 2IB751223201
Unipo? 2IB961223215
SMA 03F-00:311811
SMA 03F-00:3118110
Siemens Coros 6AV3515-1EB01
Siemens 6AV3515-1MA22-1AA0
SIEMENS 3UF7200-1AA00-0
W?hrle MV3-220-06-102
Siemens 6AV3515-1MA32-1AA0
Siemens 6AV3515-1MA22-1AA0
Allen Bradley 2711P-T6C20D
Siemens 6SE6406-0AP00-0AA0
BR 4D1166.00-590
Siemens 6AV7725-3BA00-0AD0
Siemens 6AV7803-0AB10-0AB0
Siemens 3SB4003-0AB40-5
Johnson DX-9100-8004
Kl?ckner XV-101-K84
SMC Dig. ZSE60F-A2-62L
Yamatake SDC10
Atlas Copco 1900-0590-93
RKC F900F801-8*HJ-8NN-NN
UniOP? MD00R020045
Siemens 3UF1202-1AA00-2
EH RSG20-31BA1AA
Siemens 6AV3515-1EB01
EH RSG20-61BA1AA
Telemecanique XBT-C825002
B&R 5AP920.1505-K28
LAUER PCS090
elrest 010730107
MEGATRON M105
Siemens 6SE9590-0XX87-8BF0
SIEMENS 6AV6643-0CD01-1AX0
Pro-face 3280007-01
Kontron 2A09A0016
Siemens 6AV7 615-0AB32-0AG0
ESA 056-473-00047
Siemens 6AV3637-1TP00-0XA0
GEL 8310AAE0000000S
Siemens A5E00160017
SIEMENS 6AV6 640-0CA11-0AX0
Siemens 6ES5685-0UA11
Siemens 6ES5605-0UA11
Siemens 6AV3515-1MA22-1AA0
Siemens 6ES5393-0UA12
Fanuc A05B2301C335
Sasse 1360.9915201
Siemens 6SE7090-0XX84-2FK0
Siemens 6ES5393-0UA13
Siemens 6AV3627-1LK00-1AX0
Siemens 3RX9400-0AA00
ADVANTECH AWS842TPB
NOVAR E30164155VNLBAA
SIEMENS 6AV3535-1FA01-0XA0
Hartmann&Braun 61424-0-1100801
ABB 61422-0-1100502