組態軟件操作指南 與數據庫連接_第1頁
組態軟件操作指南 與數據庫連接_第2頁
組態軟件操作指南 與數據庫連接_第3頁
組態軟件操作指南 與數據庫連接_第4頁
組態軟件操作指南 與數據庫連接_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

VIP免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第八章 與數據庫連接本章內容& 創建數據源及數據庫& 創建表格模板& 創建記錄體& 對數據庫的操作& 數據集函數在關系庫中的應用概述本章我們將講解如何將閥門的狀態變化記錄到數據庫中并進行查詢。數據庫我們選擇Access數據庫,記錄的內容包括:日期、時間、閥門描述、閥門狀態四個字段。我們利用KingSCADA的SQL訪問功能來實現。KingSCADA SQL訪問功能實現KingSCADA和其他外部數據庫之間的數據傳輸。提供2種訪問方式:一種是記錄體的方式,即變量和數據庫表中的字段建立綁定關系;一種是數據集方式。記錄體方式就是通過記錄體配置項,實現把數據庫里面的字段和KingSCADA的變量建立綁定關系。綁定后,可以通過SQL插入或更新函數將綁定變量插入或更新到數據庫的對應字段中;也可以通過SQL查詢函數將數據庫中對應字段數據查詢并保存到綁定變量中,實現KingSCADA和關系數據庫的數據交互。記錄體方式只能在KingSCADA服務器端應用。數據集方式就是通過KingSCADA提供的一系列數據集函數,執行標準SQL語句,實現KingSCADA與關系數據庫之間的增、查、刪、改等所有數據交互功能,尤其可以通過數據集函數,實現從數據庫內查詢出符合SQL語句的數據集合,并在報表、曲線中進行批量數據展示。數據集方式支持在KingSCADA服務器端、C/S客戶端、WEB上使用。在這里建議采用數據集方式,更加方便、靈活。下面具體介紹2種方式的具體使用第一節 記錄體方式在關系數據庫中的應用(僅參考)一、創建數據源及數據庫以KingSCADA帶的DEMO工程中的mine.mdb數據庫為例,首先將mine.mdb文件從DEMO工程中拷貝到我們新建的這個培訓工程中。然后,用Windows控制面板中自帶的ODBC Data Sources (32bit)管理工具新建一個Microsoft Access Driver(*.mdb)驅動的數據源,名為:mine,然后配置該數據源,指向剛才拷貝過來的Access數據庫(即mydb.mdb),如圖8-1所示:圖8-1ODBC數據源的建立二、創建表及記錄體創建表用ACCESS打開mine.mdb數據庫,在庫中新建表“KingTable”,在表中建立三個字段日期時間、液位、溫度,如圖8-2所示:圖8-2在mine數據庫中創建表日期時間字段為日期時間類型。液位和溫度字段為數字類型,并都設置為單精度浮點型。創建記錄體記錄體是建立數據庫中數據表的字段和KingSCADA的變量之間的聯系。第一步:在KingSCADA工程設計器中選擇“通用數據源”“記錄體”選型,在右側內容顯示區中單擊“新建”按鈕,彈出創建記錄體對話框,對話框設置如下:圖8-3創建記錄體對話框記錄體中定義了Access數據庫數據表字段與SCADA變量之間的對應關系,對應關系如下所示:Access數據庫表格字段SCADA變量日期時間local日期時間液位localliquid_level溫度localtemperature即:將KingSCADA中local日期時間變量值寫到Access數據庫表格日期時間字段中;將localliquid_level值寫到Access數據庫表格液位字段中;將localtemperature值寫到Access數據庫表格溫度字段中。local日期時間=local$Date+“ ”+local$Time;,表示計算機系統當前的日期和時間。第二步:單擊“確認”按鈕完成記錄體的創建。注:記錄體中的字段名稱必須與表格模板中的字段名稱保持一致,記錄體中字段對應的變量數據類型必須和表格模板中相同字段對應的數據類型相同。三、對數據庫的操作1、連接數據庫第一步:在KingSCADA工程設計器的數據詞典中定義一個內存整型變量變量名:DeviceID變量類型:內存整型第二步:在畫面編輯器中新建一畫面,名稱為:數據庫操作,并在畫面上添加一按鈕,按鈕屬性設置如下:按鈕文本:數據庫連接“按鈕左鍵彈起”動畫鏈接設置如下:圖8-4數據連接腳本程序上述腳本的作用是使SCADA與mine數據源建立了連接(即與mydb.mdb數據庫建立了連接)。在實際工程中將此命令寫入:樹型目錄 腳本 系統腳本 應用程序腳本應用程序啟動時,即系統開始運行就連接到數據庫上。2、斷開數據庫的連接在數據庫操作畫面中添加一按鈕,按鈕屬性設置如下:按鈕文本:斷開連接“按鈕左鍵彈起”動畫鏈接設置如下:圖8-5斷開數據庫連接腳本程序在實際應用中將此命令寫入:樹型目錄 腳本 應用程序腳本應用程序關閉時,即系統退出后斷開與數據庫的連接。4、插入記錄我們要將液位和溫度定時記錄到數據庫中,因此利用定時器腳本編寫腳本程序即可。新建一個定時器腳本“定時存儲”,每60000毫秒執行一次,編寫腳本程序如下:圖8-7插入記錄腳本程序上述腳本的作用是每分鐘在數據表KingTable中插入一條新的記錄。5、查詢記錄用戶如果需要將數據庫中的數據調入到KingSCADA中來顯示,需要另外建立一個記錄體,此記錄體的字段名稱要和數據庫表格中的字段名稱一致,連接的變量類型與數據庫中字段的類型一致,操作過程如下:第一步:在KingSCADA工程設計器的數據詞典中定義三個內存變量:a、變量名:日期時間記錄變量類型:內存字符串b、變量名:液位記錄變量類型:內存實型c、變量名:溫度記錄變量類型:內存實型第二步:在數據庫操作畫面上添加三個文本框,在文本框的“字符串輸出”動畫中分別連接變量日期時間記錄、液位記錄、溫度記錄,用來顯示查詢出來的結果。第三步:在KingSCADA的通用數據源中定義一個記錄體,記錄體窗口屬性設置如圖8-8所示:圖8-8記錄體屬性設置對話框第四步:在畫面中添加一按鈕,按鈕屬性設置如下:按鈕文本:全部查詢“按鈕左鍵按下”動畫鏈接設置如下:圖8-9記錄查詢腳本程序此腳本的作用是:以記錄體Bind2中定義的格式返回KingTable表格中第一條數據記錄。進入運行系統,運行此畫面,單擊“全部查詢”按鈕數據庫中的數據記錄顯示在文本框中。第五步:在畫面上添加四個按鈕,按鈕屬性設置如下:a、按鈕文本:第一條記錄“按鈕左鍵按下”動畫鏈接:SQLFirst( DeviceID );b、按鈕文本:下一條記錄“按鈕左鍵按下”動畫鏈接:SQLNext( DeviceID );c、按鈕文本:上一條記錄“按鈕左鍵按下”動畫鏈接:SQLPrev( DeviceID );d、按鈕文本:最后一條記錄“按鈕左鍵按下”動畫鏈接:SQLLast( DeviceID );上述腳本的作用分別為查詢數據中第一條記錄、下一條記錄、上一條記錄和最后一條記錄從而達到了數據查詢的目的。第二節 數據集函數在關系庫中的應用(重點推薦)KingSCADA提供一系列數據集函數,通過數據集函數使用標準SQL語句可以與關系數據庫進行數據交互,下面舉例說明通過數據集函數實現對關系數據庫進行簡單的增、查、刪、改操作。以上面的mine.mdb數據庫中的KingTable表為例進行實例說明。1、 保存數據到關系庫假如系統要求每10秒鐘將液位和溫度記錄到數據庫中,那么我們可以在定時器腳本中實現。新建一個定時器腳本“定時存儲”,每10000毫秒執行一次,編寫腳本程序如下:圖8-10插入記錄腳本程序詳細腳本如下,作用是每分鐘在數據表KingTable中插入一條新的記錄。string ConnectStr,SqlCommand;/通過OLEDB方式連接ACCESS數據庫的連接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:培訓培訓工程培訓工程mine.mdb;Persist Security Info=False;/將系統時間日期和時間合成一個包含日期和時間的字符串local日期時間記錄=local$Date+ +local$Time;/SQL語句,將日期時間、液位、溫度的數據值插入數據到數據庫的KingTable表中SqlCommand=insert into KingTable Values(+local日期時間記錄+,+localliquid_level+,+localtemperature+);/數據集函數,執行SQL語句KDBExecuteStatement(ConnectStr, SqlCommand);2、 查詢數據并顯示到報表在工程中新建畫面“數據集函數與關系庫”,在畫面上添加一個“查詢”按鈕,一個報表控件、兩個日期時間控件,如下圖所示。圖8-11數據集函數與關系庫畫面在查詢腳本里寫如下腳本:string ConnectStr;string SqlStr;/通過OLEDB方式連接ACCESS數據庫的連接字符串ConnectStr=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:培訓培訓工程培訓工程mine.mdb;Persist Security Info=False;/起始時間和結束時間從日期時間控件獲取string StartTime,EndTime;StartTime=UIDateTime1.Value;EndTime=UIDateTime2.Value;SqlStr=select 日期時間,液位,溫度 from KingTable where 日期時間=#+StartTime+#+ and 日期時間=#+StartTime+#+ and 日期時間=0;/Trace(SqlStr+SqlStr);/數據集函數,執行SQL語句,將溫度大于等于0的數據改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論