日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

當(dāng)前位置:機(jī)電之家首頁(yè) >> PLC技術(shù)>> PLC文案資料 >> PLC論文 >> 如何在組態(tài)軟件RSView32中用VBA實(shí)現(xiàn)報(bào)表
如何在組態(tài)軟件RSView32中用VBA實(shí)現(xiàn)報(bào)表

1 引言
在PLC——計(jì)算機(jī)監(jiān)控系統(tǒng)中,界面設(shè)計(jì)通常組態(tài)軟件來(lái)實(shí)現(xiàn)。作為組態(tài)軟件,羅克韋爾RSView32提供了強(qiáng)大的數(shù)據(jù)監(jiān)控能力,方便用戶進(jìn)行上位機(jī)的畫(huà)面組態(tài)。由于RSView32并沒(méi)有提供強(qiáng)大的報(bào)表功能,如果只進(jìn)行簡(jiǎn)單的數(shù)據(jù)分析,報(bào)表變化不是很復(fù)雜,并且對(duì)數(shù)據(jù)可移動(dòng)性無(wú)太高要求,組態(tài)軟件可實(shí)現(xiàn)。然而一旦涉及到復(fù)雜的數(shù)據(jù)處理,組態(tài)軟件往往表現(xiàn)得力不從心。但是RSView32內(nèi)嵌有VBA,VBA是Visual Basic for Application的簡(jiǎn)寫(xiě),它以VB語(yǔ)言為基礎(chǔ),經(jīng)過(guò)修改并運(yùn)行在Microsoft Office的應(yīng)用程序。只要使用VBA進(jìn)行簡(jiǎn)單的編程便可以實(shí)現(xiàn)大多數(shù)報(bào)表功能了。

2 開(kāi)發(fā)環(huán)境及數(shù)據(jù)記錄格式簡(jiǎn)介
RSView32是RockWell SoftWare公司的組態(tài)軟件,它提供集成的、組態(tài)化的人機(jī)接口,廣泛的用來(lái)監(jiān)視和控制自動(dòng)化設(shè)備和過(guò)程。它除了可以方便的與ALLEN -BRADLEY PLC進(jìn)行無(wú)縫的結(jié)合應(yīng)用,也可以通過(guò)使用OPC的通訊方式與其它公司的設(shè)備進(jìn)行連接。
ODBC(Open Database Connectivity開(kāi)放式數(shù)據(jù)庫(kù)互連)是由微軟推出的工業(yè)標(biāo)準(zhǔn),一種開(kāi)放的獨(dú)立于廠商的API應(yīng)用程序接口,可以跨平臺(tái)訪問(wèn)各種個(gè)人計(jì)算機(jī)、小型機(jī)以及主機(jī)系統(tǒng)。ODBC作為一個(gè)工業(yè)標(biāo)準(zhǔn),絕大多數(shù)數(shù)據(jù)庫(kù)廠商都為自己的產(chǎn)品提供了ODBC接口或提供了ODBC支持,這其中就包括常用的SQL SERVER、ORACLE、INbbbbIX等,當(dāng)然也包括了Access。
RSView32的數(shù)據(jù)記錄是一個(gè)在特定條件下保存指定的標(biāo)記數(shù)值或數(shù)據(jù)的過(guò)程。在“數(shù)據(jù)記錄設(shè)置”編輯器里,可以創(chuàng)建定義不同條件的數(shù)據(jù)記錄模式,本文將數(shù)據(jù)通過(guò)ODBC接口存儲(chǔ)到數(shù)據(jù)庫(kù)Access里,即將標(biāo)記值被記錄到用ODBC接口連接到的數(shù)據(jù)庫(kù)Access的三個(gè)表格里:
標(biāo)記表格(TagTable):把標(biāo)記名存儲(chǔ)到一個(gè)索引里;
符點(diǎn)數(shù)表格(FloatTable):存儲(chǔ)模擬量和開(kāi)關(guān)量標(biāo)記數(shù)值;
字符串表格(bbbbbbTable):存儲(chǔ)字符串?dāng)?shù)值。
本文中關(guān)心的是符點(diǎn)數(shù)表格(FloatTable),但在符點(diǎn)數(shù)表格中(FloatTable)沒(méi)有代表標(biāo)記名稱的Tagname字段,代替它的是標(biāo)記索引號(hào)TagIndex字段,這樣在分析報(bào)表時(shí)很不方便,而在本文中將使用VBA解決表格帶來(lái)的不便。

3 實(shí)現(xiàn)原理
RSView32從PLC采集的實(shí)時(shí)數(shù)據(jù),通過(guò)ODBC接口存儲(chǔ)到數(shù)據(jù)庫(kù)Access中,在利用RSView32自帶的VBA開(kāi)發(fā),訪問(wèn)Access數(shù)據(jù)庫(kù),對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行復(fù)雜的操作,可以通過(guò)VBA調(diào)用Excel,顯示和打印出美觀復(fù)雜的報(bào)表;也可以在通過(guò)VBA的窗體,表格控件,回顯在RSView32的人機(jī)界面上,作到無(wú)縫連接;本文介紹前一種方法。
通過(guò)Excel可以用VBA程序生成Excel報(bào)表及圖表,并利用Excel的功能完成打印預(yù)覽、打印等功能;Excel對(duì)象封裝了微軟Excel的全部元素,例如Application對(duì)象表示Excel應(yīng)用程序,Worksheet對(duì)象表示Excel工作表等,利用Excel對(duì)象提供的屬性、方法和事件,在應(yīng)用程序中生成Excel報(bào)表及圖表Excel對(duì)象模型描述了Excel中對(duì)象之間的結(jié)構(gòu)關(guān)系,如圖1所示。

圖1 EXCEL對(duì)象模型


(1) Application對(duì)象表示Excel應(yīng)用程序,在Excel對(duì)象模型中該對(duì)象處于模型的頂端,通過(guò)使用可以訪問(wèn)模型中其它對(duì)象,從而控制Excel應(yīng)用程序的外觀或功能。
(2) Workbook對(duì)象表示Excel中的工作簿,即對(duì)應(yīng)一個(gè)Excel文件,通過(guò)使用該對(duì)象可以實(shí)現(xiàn)對(duì)Excel工作簿的各種控制。
(3) Worksheet對(duì)象表示Excel中的工作表,通過(guò)使用該對(duì)象可以實(shí)現(xiàn)對(duì)Excel工作表的各種控制。
(4) Range對(duì)象表示Excel中的區(qū)間,可以表示Excel的單元格、幾個(gè)單元格、行、列或一個(gè)選中的區(qū)域,使用Range對(duì)象可以實(shí)現(xiàn)對(duì)Excel單元格或選中區(qū)域的各種控制。 應(yīng)用實(shí)例
Microsoft Office EXCEL有十分強(qiáng)大報(bào)表功能,使用VBA便可以非常方便地調(diào)用EXCEL的功能來(lái)生成我們所需的報(bào)表。下面將詳細(xì)介紹如何使用VBA通過(guò)EXCEL來(lái)生成當(dāng)日的報(bào)表。
解決方案框圖如圖2所示。

圖2 解決方案框圖


4.1 打開(kāi)EXCEL
為了使用EXCEL為我們生成報(bào)表,我們必須事先打開(kāi)EXCEL,下面的VBA語(yǔ)句顯示了如何在RSView中打開(kāi)EXCEL。
‘ 創(chuàng)建 EXCEL對(duì)象
Set objExcel = Createbbbbbb("Excel.Application")
‘ 設(shè)置EXCEL的屬性
With objExcel
‘顯示EXCEL
.Application.Visible = True
‘創(chuàng)建新的工作簿
. Application.Workbooks.Add
‘EXCEL生成報(bào)表后全屏顯示
. Application.bbbbbbState=-4137
‘激活一個(gè)第一個(gè)工作表
.Worksheets("Sheet1").Activate
‘定義列寬
. Columns(1).ColumnWidth = 23
.Columns(2).ColumnWidth = 15
. Columns(3).ColumnWidth = 17
.Columns(4).ColumnWidth = 15
.Columns(5).ColumnWidth = 17
‘每列的內(nèi)容居中顯示
For nColumn = 1 To 5
objExcel.Columns(nColumn).HorizontalAlignment= -4108 '-4108=xlCenter
Next nColumn
定義EXCEL表的列名
.Rows(1).Font.Bold = True
.cells(1, 1).Value = "Data and Time"
.cells(1, 2).Value = "Ingred1/pv"
.cells(1, 3).Value = "Ingred1/sup_pv"
.cells(1, 4).Value = "Ingred2/pv"
.cells(1, 5).Value = "Ingred2/sup_pv"
End With
4.2 數(shù)據(jù)讀出的步驟
建立與數(shù)據(jù)庫(kù)的連接,從中讀出我們所需要的數(shù)據(jù)來(lái)填充我們的報(bào)表,下面的代碼實(shí)現(xiàn)了這樣的功能,把采集到的時(shí)間寫(xiě)入EXCEL的第一列中; "Ingred1/pv"、"Ingred1/sup_pv"、"Ingred2/pv"和"Ingred2/sup_pv"的數(shù)據(jù)寫(xiě)入EXCEL的第二、三、四和五列中。
(1) 建立與數(shù)據(jù)庫(kù)的連接
Set conn = New ADODB.Connection
str = "FileDSN=db.dsn;;;"
conn.Open str
Set rs = New ADODB.Recordset
‘采集當(dāng)日的數(shù)據(jù)
SQL=”select DateAndTime, Millitm from FloatTable where datediff(‘d’,DateAndTime,date())=0”
rs.Open SQL, conn
(2) 讀取符點(diǎn)數(shù)表格(FloatTable)中的數(shù)據(jù)
Do While Not rs.EOF
nColumn = 0 '表中的第1列
b(i) = Trim(rs.Fields(nColumn).Value)
nColumn = 1 '表中的第2列
a(i) = Trim(rs.Fields(nColumn).Value)
i = i + 1
rs.MoveNext
irow = irow + 1
Loop
(3) 將數(shù)據(jù)寫(xiě)到EXCEL表中
j = 2
y = 1
Do While y <> i
nColumn_excel = 1 'EXCEL的列
objExcel.cells(j, nColumn_excel).Value = b(y)
objExcel.cells(j, nColumn_excel).numberbbbbatLocal = "yyyy-m-d h:mm:ss"
For nColumn_excel = 2 To 5
objExcel.cells(j, nColumn_excel).Value = a(y)
y = y + 1
Next nColumn_excel
j = j + 1
Loop
最后在RSView32中通過(guò)RSView32函數(shù)調(diào)用VBA程序,利用VBA與EXCEL結(jié)合編程,實(shí)現(xiàn)了生成當(dāng)日?qǐng)?bào)表的功能。

5 結(jié)束語(yǔ)
本文例中將RSView32采集的數(shù)據(jù)通過(guò)ODBC接口存儲(chǔ)到數(shù)據(jù)庫(kù)Microsoft Access中,并利用RSView32自帶的VBA編輯器導(dǎo)入到EXCEL中,并給出表單形式的數(shù)據(jù)報(bào)表;用同樣的方法,也可生成柱狀圖等形式的報(bào)表,可根據(jù)具體需要編制相應(yīng)的程序來(lái)實(shí)現(xiàn),可作為低成本的報(bào)表實(shí)現(xiàn)方法,方便了操作與生產(chǎn)。

作者:未知 點(diǎn)擊:967次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:如何在組態(tài)軟件RSView32中用VBA實(shí)現(xiàn)報(bào)表
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《如何在組態(tài)軟件RSView32中用VBA實(shí)現(xiàn)報(bào)表》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

孫晉文 【求購(gòu)】  排氣閥  2025-12-30
馬經(jīng)理 【求購(gòu)】  信號(hào)集成端...  2025-12-30
李總 【求購(gòu)】  電動(dòng)升降車  2025-12-30
于蓬 【求購(gòu)】  HPV-S...  2025-12-29
張俊杰 【求購(gòu)】  縫紉線自動(dòng)...  2025-12-25
易賽群 【求購(gòu)】  NANOC...  2025-12-25
張經(jīng)理 【求購(gòu)】  浪涌保護(hù)器  2025-12-25
陳蓮 【求購(gòu)】  日本住友閥  2025-12-24
VIP公司推薦