陳昊,程亮
(杭州華電下沙熱電有限公司,杭州 310018)
自主開發(fā)Excel數(shù)據(jù)采集系統(tǒng)用于LED顯示屏分析
陳昊,程亮
(杭州華電下沙熱電有限公司,杭州 310018)
介紹了LED同步顯示技術(shù)以及自主開發(fā)的使用Excel VBA與NT6000 DCS進行實時通信的數(shù)據(jù)采集系統(tǒng),分析了具體實現(xiàn)過程。該技術(shù)用于電廠中央集控室LED顯示屏,實現(xiàn)了多樣化顯示,而且運行穩(wěn)定、可靠。
Excel;VBA;NT6000;LED顯示屏;數(shù)據(jù)采集系統(tǒng)
發(fā)電廠集控室工業(yè)參數(shù)發(fā)光二極管(LED)顯示屏一般安裝在集控室背景墻上端。通常的顯示內(nèi)容是若干重要的工業(yè)生產(chǎn)和設(shè)備運行參數(shù)、日歷時鐘等信息,有時也用來顯示一些歡迎詞、標語等,需要顯示的所有工業(yè)參數(shù)均采集自分散控制系統(tǒng)(DCS)。
LED顯示屏廠家一般會提供LED的驅(qū)動及配套顯示程序,但因各家技術(shù)的差異及數(shù)據(jù)格式的不同,使得有的地方LED顯示效果不理想。筆者所在單位因采用自主開發(fā)的Excel數(shù)據(jù)采集系統(tǒng)和廠商提供的同步顯示卡配合,使得顯示可以豐富多彩,同時保證了運行人員對重要參數(shù)的實時監(jiān)控,本文主要介紹自主開發(fā)過程。
LED顯示屏是集光電子技術(shù)、微電子技術(shù)、計算機技術(shù)、視頻技術(shù)為一體的高科技產(chǎn)品,它的發(fā)光部分由LED拼裝組成,其特點是耗電量少、亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配、驅(qū)動簡單、壽命長、耐沖擊、性能穩(wěn)定。
LED顯示屏分為同步顯示屏和異步顯示屏。同步顯示是指LED顯示屏的顯示內(nèi)容能實時、同步地反映電腦顯示器上的顯示內(nèi)容。異步顯示是指計算機將編輯好的內(nèi)容,通過通信程序發(fā)送到顯示屏的接收卡內(nèi),接收卡(帶存儲器)將內(nèi)容保存后,再按計算機編輯好的順序、顯示方式、停留時間等循環(huán)播放。
同步和異步2種方式,屏體表面完全相同,基本顯示功能相同。二者的主要差別在于:異步顯示屏平時無需連接計算機,顯示屏有內(nèi)置CPU,能掉電保存多幅畫面,可脫離計算機獨立運行;而同步顯示屏則必須連接1臺計算機才能工作。
為了讓LED顯示內(nèi)容豐富多彩,決定使用同步顯示方式。LED顯示屏以至少30幀/s的更新速度映射后臺控制電腦的部分圖像,并具有多灰度的顏色顯示能力,可充分展現(xiàn)多媒體效果。
2.1 Excel的功能
微軟公司Office軟件的Excel組件,是一款功能強大的電子表格處理組件。它具有強大的圖文排版功能,不僅可以設(shè)計出各種樣式的表格,還可以自由插入圖形,讓顯示的內(nèi)容圖文并茂,同時具有數(shù)據(jù)處理和VBA編程兩大重要功能。本文著重說明使用VBA和NT6000進行通信并采集所需數(shù)據(jù)的方法。
2.2 VBA簡介
VBA是Visual Basic的一種宏語言,是微軟公司開發(fā)出來在其桌面應(yīng)用程序中執(zhí)行通用自動化(OLE)任務(wù)的編程語言,主要用來擴展Windows的應(yīng)用程式功能,特別是Microsoft Office軟件,也可以說是一種應(yīng)用程式視覺化的Basic腳本。由于微軟公司的VBA功能過于強大,以至于可以用來編寫任何能夠想到的程序,當然也包括數(shù)據(jù)采集功能。
通常的Excel表格中含有VBA程序,打開就會顯示如圖1所示的對話框。出現(xiàn)該對話框表示此文件中包含VBA代碼,進入Excel后按ALT+F11鍵,就能切換到編寫VBA的IDE中,進入編程環(huán)境后就可以自由編寫想要的程序了。
2.3 MSComm控件
圖1 對話框
VB6.0的MSComm通信控件提供了一系列標準通信命令接口,它允許建立串口連接,可以連接到其他通信設(shè)備(如Modem),還可以發(fā)送命令、進行數(shù)據(jù)交換以及監(jiān)視和響應(yīng)在通信過程中可能發(fā)生的各種錯誤和事件,從而可以用它創(chuàng)建全雙工、事件驅(qū)動的、高效實用的通信程序。
本文將在Excel VBA中調(diào)用VB6.0的MSComm控件,從而使Excel也具有串口通信功能。
3.1 通信卡件KM621S/C
KM621S/C為 MODBUS主站通信模件,通過MODBUS總線與多種MODBUS從站設(shè)備通信。他有2個獨立的通信通道,每個通道可連接4個MODBUS從站。
3.2 DPU組態(tài)的設(shè)計
組態(tài)邏輯如圖2所示。作者把需要發(fā)送的模擬量點都連接到FMAO模塊,該模塊的作用是向外系統(tǒng)發(fā)送DCS數(shù)據(jù),需要設(shè)置以下幾個模塊屬性。
圖2 組態(tài)邏輯圖
(1)BusID:卡件實際安裝的總線地址,一般設(shè)為1,2或3。
(2)Addr:卡件實際安裝的支線及位置由2位數(shù)字表示,第1位是支線號,第2位是該支線下的卡件位置。
(3)Channel:虛擬的主站編號,一般只有1個就設(shè)置為1。
(4)SlaveID:現(xiàn)場從站的地址,本例通信的是臺計算機,可以任意設(shè)置,本例設(shè)置為5。
(5)Offset:偏移值,如果每個模塊8個浮點變量都用的話,每個模塊順序偏移量是32,那么第1個FMAO模塊設(shè)置為0,第2個設(shè)置為32,第3個設(shè)置為64,以此類推。
(6)Number:接入變量的個數(shù),本例都設(shè)為8。(7)DataType:傳輸數(shù)據(jù)的類型,本例設(shè)置為float32。
(8)ComType:數(shù)據(jù)的通信類型,默認為 CYCLE,表示循環(huán)IO通信;DIAG表示診斷數(shù)據(jù)通信;NON_CYCLE表示非循環(huán)數(shù)據(jù)通信。
3.3 KM621S的配置
KM621S配置使用科遠公司的一款通信配置軟件,配置方法如圖3所示。在需要配置的端口點擊鼠標右鍵,選擇“添加數(shù)據(jù)塊”就會出現(xiàn)一個對話框,里面的“Block名稱”可以任意填寫想要的字符,“功能碼”選擇“寫多寄存器”,數(shù)據(jù)長度根據(jù)要傳送的數(shù)據(jù)總和及配合組態(tài)情況來定。例如,本例使用了7個FMAO模塊,每個模塊32個字節(jié),那么一共是224個字節(jié),如果想傳輸開關(guān)量,可以自己規(guī)定好最后2個FMAO傳輸Int16的整數(shù),并使用BTOW模塊,該模塊輸入端可以接入16個開關(guān)量,輸出是個16位的整數(shù),就可以把BTOW的輸出接入到FMAO的輸入,這樣,在接收端計算好數(shù)據(jù)位置就可以正確接收了。
圖3 通信配置軟件界面
4.1 硬件的連接
在計算機的串口接入RS232轉(zhuǎn)485的轉(zhuǎn)換接頭,然后把2根485的線接入KM621S的26,27端子,即完成了硬件接線。
4.2 通信數(shù)據(jù)包的截取與分析
通過在計算機上運行串口調(diào)試軟件,取得了如圖4所示的數(shù)據(jù)包。
通過對照幾次發(fā)送的數(shù)據(jù)包及MODBUS RTU報文規(guī)范,其中第7個E0代表數(shù)據(jù)包長度,真正的報文數(shù)據(jù)解析要從第8個16進制開始,每4個一組往后解析,最后兩位04 CC是校驗碼不需解析,但可用作通信數(shù)據(jù)的校對,在干擾比較大的場合對數(shù)據(jù)的準確度要求又比較高,可以加上校驗碼運算,以提高數(shù)據(jù)的準確度。
圖4 數(shù)據(jù)包
4.3 IEEE754浮點數(shù)表示法的解析
IEEE754浮點數(shù)表示法有3種類型,分別是32位實數(shù)、64位實數(shù)及80位實數(shù),常用的是32位實數(shù)。
(1)32位實數(shù)的分段。4個字節(jié)表示一個數(shù),4個字節(jié)共32 bit,分段含義如下:第1位,符號位0代表正數(shù),1代表負數(shù);第2位到第9位,階碼-127-126;第10位到第32位,尾數(shù)<1的數(shù)。
最后可按公式計算出數(shù)據(jù):(尾數(shù)+1)*2^e,如果最高位為1,則結(jié)果再乘以-1,變成負數(shù)。
(2)4字節(jié)轉(zhuǎn)實數(shù)的VBA代碼。
5.1 數(shù)據(jù)表的設(shè)計
在Excel中建立data表(見表1),把測點名字和通信數(shù)據(jù)對齊,在其他顯示表格中利用Excel單元格引用功能就能調(diào)用data表中的數(shù)據(jù)了,在調(diào)用時還可以輸入格式化公式,例如在某個單元格中輸入“=FIXED(data!B31,1,TRUE)&“r/m””,表示引用data表中B列31行的數(shù)據(jù),并保留1位小數(shù)。另外,為了在LED上顯示時間并和DCS保持一致,時間也是從DCS通信過來的。
表1 Excel中測點、測點名字和通信數(shù)據(jù)
5.2 控制窗口的設(shè)計
控制窗口界面設(shè)計如圖5所示,MODBUS通信代碼如下。
圖5 控制窗口界面設(shè)計
數(shù)據(jù)響應(yīng)事件:
部分顯示畫面均由Excel排版完成,示范圖如圖6、圖7所示。
圖6 示范圖A
圖7 示范圖B
自主開發(fā)的數(shù)據(jù)采集系統(tǒng)用于LED顯示屏,不僅方便了運行人員監(jiān)視機組運行的主重要參數(shù),同時由于自主開發(fā),掌握了系統(tǒng)原理及NT6000的通信方式,方便維護和升級,為以后與其他控制系統(tǒng)進行數(shù)據(jù)交換提供了有利的技術(shù)條件。目前,該系統(tǒng)已在杭州華電下沙熱電有限公司正式投用近1年,運行穩(wěn)定、可靠。
[1]羅剛君.Excel VBA程序開發(fā)自學寶典[M].北京:電子工業(yè)出版社,2009.
(本文責編:白銀雷)
TM 621.6
:A
:1674-1951(2015)04-0032-04
陳昊(1980—)男,浙江杭州人,助理工程師,從事發(fā)電廠熱控 DCS及附屬控制系統(tǒng)管理方面的工作(E-mail:hzylf163@163.com)。
2014-09-09;
2015-02-28