KingSCADA初級(jí)教程第八章與數(shù)據(jù)庫(kù)連接.doc
《KingSCADA初級(jí)教程第八章與數(shù)據(jù)庫(kù)連接.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《KingSCADA初級(jí)教程第八章與數(shù)據(jù)庫(kù)連接.doc(7頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第八章 與數(shù)據(jù)庫(kù)連接 本章內(nèi)容 & 創(chuàng)建數(shù)據(jù)源及數(shù)據(jù)庫(kù) & 創(chuàng)建表格模板 & 創(chuàng)建記錄體 & 對(duì)數(shù)據(jù)庫(kù)的操作 概述 本章我們將講解如何將閥門(mén)的狀態(tài)變化記錄到數(shù)據(jù)庫(kù)中并進(jìn)行查詢。數(shù)據(jù)庫(kù)我們選擇Access數(shù)據(jù)庫(kù),記錄的內(nèi)容包括:日期、時(shí)間、閥門(mén)描述、閥門(mén)狀態(tài)四個(gè)字段。我們利用KingSCADA3.1的SQL訪問(wèn)功能來(lái)實(shí)現(xiàn)。 KingSCADA3.1 SQL訪問(wèn)功能主要實(shí)現(xiàn)KingSCADA3.1和其他外部數(shù)據(jù)庫(kù)(通過(guò)ODBC訪問(wèn)接口)之間的數(shù)據(jù)傳輸,它包括SQL訪問(wèn)管理器和相關(guān)的SQL函數(shù)。 SQL訪問(wèn)管理器用來(lái)建立數(shù)據(jù)庫(kù)字段和組態(tài)王變量之間的聯(lián)系,包括“表格模板”和“記錄體”兩部分。通過(guò)表格模板在數(shù)據(jù)庫(kù)表中建立相應(yīng)的數(shù)據(jù)表;通過(guò)記錄體建立數(shù)據(jù)庫(kù)字段和組態(tài)王變量之間的聯(lián)系。同時(shí)允許組態(tài)王通過(guò)記錄體直接操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 第一節(jié) 創(chuàng)建數(shù)據(jù)源及數(shù)據(jù)庫(kù) 首先外建一個(gè)數(shù)據(jù)庫(kù),這里我們選用Access數(shù)據(jù)庫(kù)(路徑:d:\培訓(xùn),數(shù)據(jù)庫(kù)名為:mydb.mdb)。 然后,用Windows控制面板中自帶的ODBC Data Sources (32bit)管理工具新建一個(gè)Microsoft Access Driver(*.mdb)驅(qū)動(dòng)的數(shù)據(jù)源,名為:mine,然后配置該數(shù)據(jù)源,指向剛才建立的Access數(shù)據(jù)庫(kù)(即mydb.mdb),如圖8-1所示: 圖8-1ODBC數(shù)據(jù)源的建立 第二節(jié) 創(chuàng)建表格模板及記錄體 創(chuàng)建表格模板 表格模板是在數(shù)據(jù)庫(kù)表中創(chuàng)建數(shù)據(jù)表的模板,利用此模板在數(shù)據(jù)庫(kù)中創(chuàng)建我們需要的數(shù)據(jù)表。 第一步:在KingSCADA3.1開(kāi)發(fā)環(huán)境樹(shù)型目錄中選擇“通用數(shù)據(jù)源”→“表格模板”選型,在右側(cè)內(nèi)容顯示區(qū)中單擊“新建”按鈕,在彈出的創(chuàng)建表格模板對(duì)話框中建立四個(gè)字段,如圖8-2所示: 圖8-2創(chuàng)建表格模板對(duì)話框 四個(gè)字段的數(shù)據(jù)類型都為字符串/文本類型。 第二步:?jiǎn)螕簟按_認(rèn)”按鈕完成表格模板的創(chuàng)建。 建立表格模板的目的是定義數(shù)據(jù)庫(kù)格式,在后面用到SQLCreatTable()函數(shù)時(shí)以此格式在Access數(shù)據(jù)庫(kù)中自動(dòng)建立表格。 如果我們?cè)跀?shù)據(jù)庫(kù)中只需要建一次表就可以,那么可以直接在數(shù)據(jù)庫(kù)中創(chuàng)建表即可,而無(wú)需利用表格模板創(chuàng)建表,也就是說(shuō)在使用KingSCADA的數(shù)據(jù)庫(kù)功能的時(shí)候表格模板并不是一定要用的。 創(chuàng)建記錄體 記錄體是建立數(shù)據(jù)庫(kù)中數(shù)據(jù)表的字段和KingSCADA的變量之間的聯(lián)系。 我們?cè)诮⒂涗涹w之前先在數(shù)據(jù)庫(kù)中定義兩個(gè)字符串變量:閥門(mén)描述、閥門(mén)狀態(tài)。定義完成后我們?cè)龠M(jìn)行記錄體的定義。 第一步:在KingSCADA3.1開(kāi)發(fā)環(huán)境樹(shù)型目錄中選擇“通用數(shù)據(jù)源”→“記錄體”選型,在右側(cè)內(nèi)容顯示區(qū)中單擊“新建”按鈕,彈出創(chuàng)建記錄體對(duì)話框,對(duì)話框設(shè)置如下: 圖8-3創(chuàng)建記錄體對(duì)話框 記錄體中定義了Access數(shù)據(jù)庫(kù)數(shù)據(jù)表字段與組態(tài)王變量之間的對(duì)應(yīng)關(guān)系,對(duì)應(yīng)關(guān)系如下所示: Access數(shù)據(jù)庫(kù)表格字段 組態(tài)王變量 日期 \\local\$Date 時(shí)間 \\local\$Time 閥門(mén)描述 \\local\閥門(mén)描述 閥門(mén)狀態(tài) \\local\閥門(mén)狀態(tài) 即:將KingSCADA3.1中\(zhòng)\local\$Date變量值寫(xiě)到Access數(shù)據(jù)庫(kù)表格日期字段中;將\\local\$Time變量值寫(xiě)到Access數(shù)據(jù)庫(kù)表格時(shí)間字段中;將\\local\閥門(mén)描述值寫(xiě)到Access數(shù)據(jù)庫(kù)表格閥門(mén)描述字段中;將\\local\閥門(mén)狀態(tài)值寫(xiě)到Access數(shù)據(jù)庫(kù)表格閥門(mén)狀態(tài)字段中。 \\local\$Date、\\local\$Time變量為系統(tǒng)變量,表示計(jì)算機(jī)系統(tǒng)當(dāng)前的日期和時(shí)間。 第二步:?jiǎn)螕簟按_認(rèn)”按鈕完成記錄體的創(chuàng)建。 注:記錄體中的字段名稱必須與表格模板中的字段名稱保持一致,記錄體中字段對(duì)應(yīng)的變量數(shù)據(jù)類型必須和表格模板中相同字段對(duì)應(yīng)的數(shù)據(jù)類型相同。 第三節(jié) 對(duì)數(shù)據(jù)庫(kù)的操作 1、連接數(shù)據(jù)庫(kù) 第一步:在KingSCADA3.1開(kāi)發(fā)環(huán)境數(shù)據(jù)詞典中定義一個(gè)內(nèi)存整型變量 變量名:DeviceID 變量類型:內(nèi)存整型 第二步:在圖形編輯器中新建一畫(huà)面,名稱為:數(shù)據(jù)庫(kù)操作畫(huà)面,并在畫(huà)面上添加一按鈕,按鈕屬性設(shè)置如下: 按鈕文本:數(shù)據(jù)庫(kù)連接 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接設(shè)置如下: 圖8-4數(shù)據(jù)連接腳本程序 上述命令語(yǔ)言的作用是使組態(tài)王與mine數(shù)據(jù)源建立了連接(即與mydb.mdb數(shù)據(jù)庫(kù)建立了連接)。 在實(shí)際工程中將此命令寫(xiě)入:開(kāi)發(fā)環(huán)境樹(shù)型目錄 → 腳本 → 系統(tǒng)腳本 → 應(yīng)用程序腳本→應(yīng)用程序啟動(dòng)時(shí),即系統(tǒng)開(kāi)始運(yùn)行就連接到數(shù)據(jù)庫(kù)上。 2、斷開(kāi)數(shù)據(jù)庫(kù)的連接 在數(shù)據(jù)庫(kù)操作畫(huà)面中添加一按鈕,按鈕屬性設(shè)置如下: 按鈕文本:斷開(kāi)連接 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接設(shè)置如下: 圖8-5斷開(kāi)數(shù)據(jù)庫(kù)連接腳本程序 在實(shí)際工程中將此命令寫(xiě)入:開(kāi)發(fā)環(huán)境樹(shù)型目錄 → 腳本 →應(yīng)用程序腳本→應(yīng)用程序關(guān)閉時(shí),即系統(tǒng)退出后斷開(kāi)與數(shù)據(jù)庫(kù)的連接。 3、創(chuàng)建數(shù)據(jù)庫(kù)表格 在數(shù)據(jù)庫(kù)操作畫(huà)面上添加一按鈕,按鈕屬性設(shè)置如下: 按鈕文本:創(chuàng)建數(shù)據(jù)表 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接設(shè)置如下: 圖8-6創(chuàng)建數(shù)據(jù)表格腳本程序 上述命令語(yǔ)言的作用是以表格模板“Table1”的格式在數(shù)據(jù)庫(kù)中建立名為“KingTable”的表格。在生成的KingTable表格中,將生成三個(gè)字段,字段名稱分別為:日期,時(shí)間,原料油液位值,每個(gè)字段的變量類型、變量長(zhǎng)度及索引類型與表格模板“Table1”中的定義一致。 此命令語(yǔ)言只需執(zhí)行一次即可,如果表格摸板有改動(dòng),需要用戶先將數(shù)據(jù)庫(kù)中的表格刪除才能重新創(chuàng)建。如果只需要建立一次數(shù)據(jù)表就可以,建議直接在數(shù)據(jù)庫(kù)中建立或者在調(diào)試時(shí)將此函數(shù)執(zhí)行一次建立成功后將腳本程序刪除即可。 4、插入記錄 我們要將閥門(mén)的狀態(tài)變化記錄到數(shù)據(jù)庫(kù)中,因此利用數(shù)據(jù)改變命令語(yǔ)言編寫(xiě)腳本程序即可。 新建一個(gè)數(shù)據(jù)改變命令語(yǔ)言,選擇變量:\\local\液位.Value,編寫(xiě)腳本程序如下: 圖8-7插入記錄腳本程序 上述命令語(yǔ)言作用是當(dāng)變量\\local\液位.Value改變時(shí)在數(shù)據(jù)表KingTable中插入一條新的記錄。 同樣的方式我們可以通過(guò)數(shù)據(jù)改變命令語(yǔ)言將其他閥門(mén)變量的狀態(tài)變化信息記錄到數(shù)據(jù)庫(kù)中。 5、查詢記錄 用戶如果需要將數(shù)據(jù)庫(kù)中的數(shù)據(jù)調(diào)入到KingSCADA3.1中來(lái)顯示,需要另外建立一個(gè)記錄體,此記錄體的字段名稱要和數(shù)據(jù)庫(kù)表格中的字段名稱一致,連接的變量類型與數(shù)據(jù)庫(kù)中字段的類型一致,操作過(guò)程如下: 第一步:在KingSCADA3.1開(kāi)發(fā)環(huán)境的數(shù)據(jù)詞典中定義四個(gè)內(nèi)存字符串變量: a、變量名:記錄日期 變量類型:內(nèi)存字符串 b、變量名:記錄時(shí)間 變量類型:內(nèi)存字符串 c、變量名:閥門(mén)描述1 變量類型:內(nèi)存字符串 c、變量名:閥門(mén)狀態(tài)1 變量類型:內(nèi)存字符串 第二步:在數(shù)據(jù)庫(kù)操作畫(huà)面上添加四個(gè)文本框,在文本框的“字符串輸出”動(dòng)畫(huà)中分別連接變量記錄日期、記錄時(shí)間、閥門(mén)描述1、閥門(mén)狀態(tài)1,用來(lái)顯示查詢出來(lái)的結(jié)果。 第三步:在KingSCADA3.1開(kāi)發(fā)環(huán)境中定義一個(gè)記錄體,記錄體窗口屬性設(shè)置如圖8-8所示: 圖8-8記錄體屬性設(shè)置對(duì)話框 第四步:在畫(huà)面中添加一按鈕,按鈕屬性設(shè)置如下: 按鈕文本:全部查詢 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接設(shè)置如下: 圖8-9記錄查詢腳本程序 此命令語(yǔ)言的作用是:以記錄體Bind2中定義的格式返回KingTable表格中第一條數(shù)據(jù)記錄。 進(jìn)入運(yùn)行系統(tǒng),運(yùn)行此畫(huà)面,單擊“全部查詢”按鈕數(shù)據(jù)庫(kù)中的數(shù)據(jù)記錄顯示在文本框中。 第五步:在畫(huà)面上添加四個(gè)按鈕,按鈕屬性設(shè)置如下: a、按鈕文本:第一條記錄 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接:SQLFirst( DeviceID ); b、按鈕文本:下一條記錄 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接:SQLNext( DeviceID ); c、按鈕文本:上一條記錄 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接:SQLPrev( DeviceID ); d、按鈕文本:最后一條記錄 “按鈕左鍵彈起”動(dòng)畫(huà)鏈接:SQLLast( DeviceID ); 上述命令語(yǔ)言的作用分別為查詢數(shù)據(jù)中第一條記錄、下一條記錄、上一條記錄和最后一條記錄從而達(dá)到了數(shù)據(jù)查詢的目的。 課后練習(xí): 1、 熟悉KingSCADA3.0其他SQL函數(shù),并動(dòng)手練習(xí)這些函數(shù)的使用。 2、 將其他閥門(mén)、水泵的狀態(tài)變化存儲(chǔ)到數(shù)據(jù)庫(kù)中。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- KingSCADA 初級(jí)教程 第八 數(shù)據(jù)庫(kù)連接
鏈接地址:http://m.appdesigncorp.com/p-8505332.html