組態軟件基礎及應用(組態王KingView)第2版 課件 第七章 組態王數據庫訪問_第1頁
組態軟件基礎及應用(組態王KingView)第2版 課件 第七章 組態王數據庫訪問_第2頁
組態軟件基礎及應用(組態王KingView)第2版 課件 第七章 組態王數據庫訪問_第3頁
組態軟件基礎及應用(組態王KingView)第2版 課件 第七章 組態王數據庫訪問_第4頁
組態軟件基礎及應用(組態王KingView)第2版 課件 第七章 組態王數據庫訪問_第5頁
已閱讀5頁,還剩60頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

我們畢業啦其實是答辯的標題地方工控組態及應用7.2組態王SQL訪問管理器7.4數據庫查詢工程實例7.5數據庫與XY曲線結合工程實例7.6關系數據庫多表聯合工程實例第七章組態王數據庫訪問7.3如何配置與數據連接7.7報警存儲與查詢工程實例7.8本章小結7.1本章導學第七章組態王數據庫訪問

組態王SQL訪問管理器用來建立數據庫列和組態王變量之間的聯系。通過表格模板在數據庫中創建表格,表格模板信息存儲在SQL.DEF文件中;通過記錄體建立數據庫表格列和組態王之間的聯系,允許組態王通過記錄體直接操縱數據庫中的數據。這種聯系存儲在BIND.DEF文件中。”7.2

組態王SQL訪問管理器

組態王SQL訪問功能包括組態王SQL訪問管理器、如何配置與各種數據庫的連接、組態王與數據庫連接實例和SQL函數的使用,此功能可以實現組態王和其他ODBC數據庫之間的數據傳輸。7.2.1表格模板

在工程瀏覽器中選擇“SQL訪問管理器文件\表格模板”,雙擊“新建”,彈出“創建表格模板”對話框,如圖7-1所示。該對話框用于建立新的表格模板。7.1本章導學第七章組態王數據庫訪問

”圖7-1創建表格模板

模板名稱:表格模板的名稱字段名稱:使用表格模板創建數據庫表格中字段的名稱,長度不超過32個字符,如果數據庫中的字段名稱以數字開頭,如“3Name”,在定義表格模板時,名稱須以大括號包含,寫為“[3Name]”。

變量類型:表格模板創建數據庫表格中字段的類型。單擊下拉列表框按鈕,其中有四種類型供選擇,整型、浮點型、定長字符串型、變長字符串型。第七章組態王數據庫訪問

字段長度:當變量類型中選擇“定長字符串型”或“變長字符串型”時,該項文本框由“灰色”(無效)變為“黑色”(有效)。

索引類型:單擊下拉列表框按鈕,其中有三種類型供選擇,有(唯一)、有(不唯一)、無。索引功能是數據庫用于加速字段中搜索及排序的速度,但可能會使更新變慢。允許為空值:選中該項,將在前面的方框中出現“?”標志,表示數據記錄到數據庫的表格中該字段可以有空值。不選中該項則表示該字段的數據不能為空值。另外還有“增加字段”、“刪除字段”、“修改字段”、“上移一行”、“下移一行”這幾按鍵,可對已填入字段進行編輯和選擇。7.2.2記錄體

記錄體用來連接表格的列和組態王數據詞典中的變量。選擇工程瀏覽器中的“SQL訪問管理器文件\記錄體”,雙擊“新建”,彈出“創建記錄體”對話框,如圖7-2所示。該對話框用于建立新的記錄體。第七章組態王數據庫訪問

”圖7-2創建記錄體

在“創建記錄體”窗口中,包含記錄體名稱(記錄體的名稱)、字段名稱(數據庫表格中的列名)、組態王變量(與數據庫表格中指定列相關聯的組態王變量名稱)、增加字段(把定義好的字段增加到顯示框中)、刪除字段(把定義好的字段從顯示框中刪除)、修改字段(把定義好的字段在顯示框中進行修改)、上移一行(把選中的字段向上移動一行)、下移一行(把選中的字段向下移動一行)、復制記錄體(對已選中定義的記錄體進行復制)。第七章組態王數據庫訪問

組態王SQL訪問功能能夠和其他外部數據庫(支持ODBC訪問接口)之間的數據傳輸。實現數據傳輸必須在系統ODBC數據源中定義相應數據庫。進入計算機“控制面板”中的“管理工具”,用鼠標雙擊“數據源(ODBC)”選項,彈出“ODBC數據源管理器”對話框,如圖7-3所示。”7.3

如何配置與數據連接

7.3.1定義ODBC數據源圖7-3ODBC數據源管理器第七章組態王數據庫訪問

以MicrosoftAccess數據庫為例建立ODBC數據源的大致步驟。1.假設計算機中已經存在一個MicrosoftAccess數據庫,名為數據.mdb。2.雙擊“數據源(ODBC)”,彈出“ODBC數據源管理器”對話框,選擇“用戶DSN”屬性頁,單擊右側“添加”按鈕,彈出“創建新數據源”窗口,從列表中選擇“MicrosoftAccessDriver(*.mdb)”驅動程序。3.單擊“完成”,進入“ODBCMicrosoftAccess安裝”對話框4.在“數據源名”處編輯數據源名稱,單擊“選擇”,彈出“選擇數據庫”對話框,選擇數據庫文件所在目錄,單擊數據庫名,單擊“確定”,再單擊“確定”,完成ODBC數據源的定義。第七章組態王數據庫訪問

1.SyBase或MSSQLServer數據庫SyBase或MicrosoftSQLServer通信需要進行如下設置:(1)配置Windows的數據庫用戶;(2)使用SQLConnect()函數連接。配置數據庫的步驟:1)打開Windows控制面板的32位ODBC數據源管理器。單擊添加,選擇SQLServer,彈出ODBCSQLServer配置畫面;2)在DataSourceName欄填寫數據源名稱。在Server欄填寫數據庫Server名稱。

2.dBase數據庫

為了和dBASE連接,必須執行SQLConnect()函數。其格式如下:SQLConnect(ConnectionID,“<attribute>=<value>;<attribute>=<value>;…”);SQL管理器支持dBASE的三種數據類型。char類型包含定長的字符串,對應組態王中的字符串變量。數據庫dBASE最大支持254個字符。numeric類型和float類型對應組態王中整型或實型變量。必須設定變量長度。格式為十進制寬度。”7.3.2組態王支持的數據庫及配置

第七章組態王數據庫訪問

1功能概述在現實的生產生活中,很多場合需要對關系數據庫的數據按照不同的條件進行查詢處理,本例程介紹了在圖書館管理方面對關系數據庫按日期查詢數據信息,利用組態王的SQL函數實現對和KVADODBGird控件實現對數據庫的查詢處理。

2操作步驟

(1)數據庫以及表在工程文件夾中存在一個“圖書館.mdb”的Access的數據庫,在此數據庫中有一個名為“借書記錄”的數據表。數據表中有如下字段:借書日期、借書時間、管理人員、還書日期、借書學生、圖書編號、學生學號、是否歸還。字段的類型均為文本類型。”7.4

數據庫查詢工程實例

第七章組態王數據庫訪問

(2)設置ODBC數據源1.在計算機的“控制面板”—“管理工具”—“ODBC數據源”中建立ODBC數據源,雙擊“ODBC數據源”彈出“ODBC數據源管理器”,如圖7-4所示。”

圖7-4ODBC數據源管理器第七章組態王數據庫訪問

2.在“用戶DSN”選項卡中單擊“添加”,彈出“選擇數據源驅動程序”窗口,如圖7-5所示。”

圖7-5選擇數據源的驅動程序第七章組態王數據庫訪問

選擇“MicrosoftAccessDriver(*.mdb)”驅動,單擊“完成”。彈出如圖7-6所示窗口,根據需要填寫ODBC數據源名。”

圖7-6數據源定義第七章組態王數據庫訪問

單擊“選擇(S)”,如圖7-7所示,選擇工程路徑下的數據庫“圖書館.mdb”。”

圖7-7選擇數據庫第七章組態王數據庫訪問

單擊“確定”完成ODBC數據源定義,如圖7-8所示。”

圖7-8ODBC數據源定義第七章組態王數據庫訪問

3利用SQL函數進行查詢利用組態王的SQL函數可以實現對數據庫的數據進行查詢、插入、刪除等操作,在本例程中只介紹數據查詢的方法,其他的使用可以參考組態王的幫助手冊。組態王利用SQL函數進行查詢時必須首先建立記錄體。

(1)新建工程在組態王工程管理器中,新建“數據庫存儲與查詢工程”,并將此工程設為當前工程。

(2)定義變量進入組態王工程瀏覽器,在數據詞典中新建所需變量,定義變量分別為:借書日期(內存字符串)、借書時間(內存字符串)、管理(內存字符串)、還書日期(內存字符串)、借書學生(內存字符串)、圖書編號(內存字符串)、學生學號(內存字符串)、是否歸還(內存字符串)、查詢日期(內存字符串)、DeviceID(內存整數)。”

第七章組態王數據庫訪問

(3)定義記錄體在組態王中利用數據庫來連接數據庫的表格的字段和組態王數據詞典中的變量。創建記錄體:如圖7-9所示,可根據需要設置記錄體名稱,寫入字段名稱,并與對應的變量相關聯,單擊“添加字段”即可。字段名稱為數據庫中表的字段名稱,變量名稱為組態王數據詞典中的變量,字段類型與變量類型需一致,字段名稱需與數據庫中表的字段名稱一致,變量名稱可以與字段名稱不同。”

圖7-9創建記錄體第七章組態王數據庫訪問

(4)建立組態王與數據庫的關聯組態王中通過SQL函數實現與數據庫的建立與斷開連接。通過SQLConnect()函數建立組態王與數據庫的連接,通過SQLConnect()函數斷開連接。本歷程中數據庫無用戶名和密碼,具體用法如下:SQLConnect(DeviceID,"dsn=圖書館;uid=;pwd=");其中DeviceID是用戶創建的內存整形變量,用來保存SQLConnect()為每個數據庫連接分配的一個數值。編輯腳本程序。建議將建立數據庫連接的命令函數放在應用程序命令語言的啟動時執行,執行語句如下”:SQLConnect(DeviceID,”dsn=圖書館;uid=;pwd”);將斷開數據庫連接的命令函數放在應用程序命令語言的停止時執行,執行語句如下:SQLDisconnect(DeviceID);這樣當組態王進入運行系統后自動連接數據庫,當組態王退出運行系統時自動斷開數據庫的連接。”

第七章組態王數據庫訪問

注意:此函數在組態王運行中只需進行一次連接,不要把此語句寫入“運行時”,否則會多次執行此命令造成錯誤。(5)新建畫面查詢數據庫主要用到的SQL函數有SQLSelect()、SQLLast、SQLFirst、SQLPre、SQLNext()等。詳細的函數使用方法可以參考函數使用手冊。新建畫面“數據庫信息查詢”,利用工具欄中的畫圖工具和控件創建如圖7-10所示畫面。”

圖7-10數據庫信息查詢畫面第七章組態王數據庫訪問

查詢日期后的“##”動畫連接設置是在字符串輸入和字符串輸出處與變量\\local\查詢日期相關聯,借書日期、借書時間、管理人員、還書日期、借書學生、圖書編號、學生學號、是否歸還動畫連接為字符串輸出,分別關聯的變量為:\\local\借書日期、\\local\借書時間、\\local\管理人員、\\local\還書日期、\\local\借書學生、\\local\圖書編號、\\local\學生學號、\\local\是否歸還。“信息查詢”按鈕的彈起時命令語言為SQL查詢函數,進行數據庫信息查詢:stringwhe;whe="借書日期='"+\\local\查詢日期+"'";

\\local\查詢日期1=whe;

SQLSelect(DeviceID,"借書記錄","Bind1",whe,"");

“畫面切換”按鈕彈起時命令語言如下:ShowPicture("數據庫查表");向上箭頭按鈕的彈起時命令語言為SQL查詢函數,選擇上一條記錄查詢:SQLPrev(DeviceID);”

第七章組態王數據庫訪問

向下箭頭按鈕的彈起時命令語言為SQL查詢函數,選擇下一條記錄查詢:

SQLNext(DeviceID);“首記錄”按鈕的彈起時命令語言為SQL查詢函數,進行首記錄信息查詢:SQLFirst(DeviceID);“末記錄”按鈕的彈起時命令語言為SQL查詢函數,進行末記錄信息查詢:SQLLast(DeviceID);4利用KVADODBGird控件查詢數據

1控件介紹在實際工程中常常需要訪問開放型數據庫中的大量數據,如果通過SQL函數編程查詢,由于同一個條件下的數據較多,無法同時瀏覽所有的記錄,并且無法形成報表進行打印,使用不方便。因此組態王提供一個通過ADO訪問開放型數據庫中數據的ActiveX控件—KVADODBGird。”

第七章組態王數據庫訪問2操作步驟(1)新建畫面在組態王中新建畫面“數據庫查表”,單擊工具箱中的“插入通用控件”按鈕,在“插入控件”對話框的列表中選擇“KVADODBGird

Class”控件,拖動鼠標在畫面中畫出此控件,雙擊控件,將控件命名為“Lib”,保存畫面。選中控件,單擊鼠標右鍵,選擇“控件屬性”,彈出控件屬性對話框,如圖7-11所示。”

圖7-11控件屬性設置第七章組態王數據庫訪問

在“數據源”選項卡中單擊“瀏覽”按鈕,彈出“數據鏈接屬性”對話框,如圖7-12所示。”

圖7-12數據鏈接屬性第七章組態王數據庫訪問

選擇“連接”選項卡,在“指定數據源”處選擇“使用數據源名稱”選項,單擊“刷新”,在下拉列表中選擇數據源“圖書館”,單擊測試連接,顯示測試連接成功,如圖7-13所示,單擊“確定”,完成數據源的連接。”

圖7-13連接數據源第七章組態王數據庫訪問

在表名稱處選擇“借書記錄”,將“有效字段”處的字段按照數據表中的字段順序依次添加在右側顯示框內,單擊“應用”,再單擊“確定”即可完成對控件的配置。具體設置如圖7-14所示。”

圖7-14控件屬性設置第七章組態王數據庫訪問設置完成后,有效字段可應用在控件列表中,同時按下鍵盤的“Ctrl”+“Alt”+“O”,可以對控件的行高和列寬進行設置,設置完成后的畫面如圖7-15所示。”

圖7-15數據庫查表畫面第七章組態王數據庫訪問

對畫面中查詢日期后的“##”進行動畫連接,在字符串輸入和字符串輸出處與\\local\查詢日期相關聯。在畫面中插入“信息查詢”按鈕,對控件的記錄進行查詢,彈起時的命令語言如下:stringwhe;whe="借書日期='"+\\local\查詢日期+"'";Lib.Where=whe;Lib.FetchData();Lib.FetchEnd();控件.Where屬性:設置查詢條件,若不需任何條件,則可以設置為空。控件.FetchData方法:執行數據查詢,并將查詢到的數據集填充到控件中。控件.FetchEnd方法:結束查詢。“打印”按鈕用于對控件的查詢記錄進行打印操作,彈起時的命令語言如下:Lib.Print();“畫面切換”按鈕彈起時命令如下:ShowPicture("數據庫信息查詢");“數據庫查表”畫面設置完成后,保存畫面。”

第七章組態王數據庫訪問

3運行畫面

保存畫面后單擊鼠標右鍵選中“切換到View”,將畫面切換到運行系統,打開“數據庫信息查詢”畫面,在“查詢日期后”設置需要查詢的日期,然后單擊“信息查詢”按鈕,即可顯示出查詢到的結果,單擊向下箭頭按鈕可以查詢下一條記錄,單擊“首記錄”和“末記錄”按鈕即可查詢該日期內的第一條記錄和最后一條記錄,查詢結果如圖7-16所示。”

圖7-16數據庫信息查詢畫面運行結果第七章組態王數據庫訪問

單擊“畫面切換”按鈕,即可直接切換至“數據庫查表”按鈕,查詢日期可以顯示之前所設置的日期,單擊“信息查詢”按鈕,即可在控件中顯示該日期內的所有記錄數據,單擊“打印”按鈕,可對記錄結果進行打印。記過如圖7-17所示。”

圖7-17數據庫查表畫面運行結果第七章組態王數據庫訪問

1功能概述在組態王中利用報表SQL函數實現對數據庫的查詢,并將查詢出來的數據用超級XY曲線顯示。

2操作步驟

1.數據庫說明(1)將Access數據庫放入工程文件夾中,數據庫為“data.mdb”。(2)在數據庫“數據.mdb”中有一個數據表:表的名稱為:食物中脂肪含量檢測。字段為:日期,時間,食物名稱,編號,檢測序號,檢測結果。檢測結果為數字類型(檢測序號為數字類型(整數)其余為文本類型。(3)在數據庫的食物中脂肪含量數據表中已存儲了數據。

2.計算機ODBC數據源建立根據本書7.3節建立一個名為“表數據”的數據源。”

7.5

數據庫與XY曲線結合工程實例第七章組態王數據庫訪問

3.定義變量根據ACCESS表的字段建立變量新建工程,然后定義變量,變量為內存變量。在組態王中定義四個內存字符串變量:日期,時間,食物名稱,編號;以及檢測序號(內存整型),檢測結果(內存整數)、DeviceID(內存整數)這三個變量。

4.創建記錄體記錄體名:bind1,字段名稱為數據庫中表的字段名稱。字段類型與變量類型需要一致。字段名稱要與數據庫中表的字段名稱一致。變量名稱與字段名稱可以不同。記錄體名稱可以根據需要命名。如圖7-18。”

圖7-18創建記錄體第七章組態王數據庫訪問

5.應用命令語言寫入建立數據庫連接的命令函數放在組態王的應用程序命令語言的啟動時執行。SQLConnect(DeviceID,"dsn=表數據;uid=;pwd=");建議將斷開數據庫連接的命令函數放在組態王的應用程序命令語言的停止時執行。SQLDisconnect(DeviceID);

6.組態王畫面實現繪制如圖7-19畫面,并進行變量關聯及將變量關聯到報表中。注意:關聯到報表中的變量前需加“=”號,即“=“變量”。”

圖7-19組態王畫面第七章組態王數據庫訪問

選中超級XY曲線控件,單擊右鍵,選擇“控件屬性”,彈出“XY屬性”界面,單擊“坐標”,在坐標界面中對X、Y軸的坐標進行設置,選中“X軸標題”并設置為“檢測序號”,最大值為30,最小值設為0。網格數為5,小數位為0。在Y軸信息區域中,首先設置YAxis0,選中“顯示Y軸”,將Y軸標題設為“檢測結果”,最大值為100,最小值為0。刻度數為10,小數位為0。在曲線畫圖區水平位置選擇“左邊”,將其設為畫圖區邊界的第0條縱軸,單擊更新Y軸信息,曲線控件上即可顯示坐標軸信息。在查詢按鈕下彈起時寫入以下程序:string

whe;whe="編號='"+\\local\編號+"'";SQLSelect(

DeviceID,

"食物中脂肪含量檢測",

"bind1",

Whe,

""

);Ctrl0.AddNewPoint(檢測序號,檢測結果,0)”

第七章組態王數據庫訪問

7.運行系統調試分別輸入不同的編號,可查詢數據庫中對應的數據,且超級XY曲線上可把對應的點顯示出來。如圖7-20。”

圖7-20

運行畫面第七章組態王數據庫訪問

1功能概述利用組態王中的KVADODBGrid控件和數據庫的視圖功能實現在組態王頁面多個表中聯合查詢數據。注:數據庫的視圖中就是數據庫對象里的“查詢”。在此說明,不同的Access數據庫,以下操作步驟會有所不同,本次以McrosoftofficeAccess2010版示例。

2操作步驟(1)建立數據查詢表1)打開Access,新建如圖7-21和圖7-22兩個表。”

7.6

關系數據庫多表聯合工程實例圖7-21

示例表1第七章組態王數據庫訪問

2)建立查詢表,單擊“創建”—“查詢設計”,彈出如圖7-23窗口。”

圖7-22

示例表2圖7-23

建立查詢表第七章組態王數據庫訪問

注:中間的關聯線可以右鍵刪除,若要再次添加只需要把左邊的“水表編號”鼠標左鍵點住拉到右邊的“水表編號”上。選擇要聯合查詢的字段,如圖7-25。”

圖7-24關聯數據表圖7-25

聯合查詢字段選擇

3)將已建立的兩個表添加,并建立關聯。如圖7-24。第七章組態王數據庫訪問保存好后,雙擊生成的“水表信息”,即可看到做好的查詢表,如圖7-27。”

圖7-26

保存查詢表圖7-27

已完成的查詢表

4)單擊“保存”,彈出保存查詢,保存建好的查詢表。如圖7-26。第七章組態王數據庫訪問

注:在添加創建新數據源時,選擇MicrosoftAccessDriver(*.mdb,*accdb)

在組態王中新建工程,并新建一個畫面,畫面插入KVADODBGrid控件。右鍵控件,選擇控件屬性,完成KVADODBGrid控件的設置,如圖7-29及圖7-30。”

圖7-28

數據源建立

(2)在組態王中使用KVADODBGrid控件完成多表聯合查詢1)建立數據源“水表信息”關聯到工程文件夾下的“水表信息.accdb”數據庫文件。如圖7-28。第七章組態王數據庫訪問”

圖7-29

數據連接屬性設置第七章組態王數據庫訪問”

圖7-30

數據連接測試連接第七章組態王數據庫訪問”

圖7-31

KVADODBGrid控件屬性設置2)將“水表信息”表中的字段添加。如圖7-31。第七章組態王數據庫訪問”

圖7-32

設置完成后的組態王畫面3)完成屬性設置后畫面中的表格變化如圖7-32。第七章組態王數據庫訪問”

圖7-33

運行系統效果圖

“全部查詢”按鈕命令語言:stringWhe;Ctrl0.Where=Whe;Ctrl0.FetchData();Where屬性:設置查詢條件,如果不需要任何條件,則可以設置為空。FetchData():執行數據查詢,并將查詢到的數據集填充到控件中。切換至運行系統,單擊全部查詢按鈕,實現效果如圖7-33。第七章組態王數據庫訪問

1功能概述在現代信息化時代,很多工業現場及監控系統都需要將變量的報警信息進行存儲,并且可以靈活地進行歷史報警的查詢、打印,以實現歷史數據的查詢。組態王中的實現方法:組態王支持通過ODBC接口將數據存儲到關系數據庫中,并且提供KVADODBGrid控件對存儲的歷史報警信息進行條件查詢,并可以對查詢結果進行打印。

2操作步驟

(1)實時報警

1)新建連接設備創建一個名為“報警存儲與查詢”的工程,并將其指定為當前工程。在設備處新建設備,定義一個仿真PLC的設備,設備名稱為“PLC”。此仿真PLC可以作為虛擬設備與組態王進行通信。仿真PLC主要有如下的寄存器:自動加1寄存器INCREA,自動減1寄存器DECREA,隨機寄存器RADOM,常量寄存器STATIC,常量字符串寄存器STRING,CommErr寄存器。具體的寄存器的使用請參考組態王IO驅動幫助。”

7.7

報警存儲與查詢工程實例第七章組態王數據庫訪問”

圖7-34報警組定義

2)定義變量在新建好的工程中定義兩個變量,一個為“液位”,數據類型為“I/O實數”,連接設備為“PLC”,寄存器選擇“INCREA100”,數據類型為“SHORT”。另一個為“溫度”,數據類型為“I/O實數”,連接設備為“PLC”,寄存器選擇“DECREA100”,數據類型為“SHORT”,還有一個內存字符串的變量“選擇日期”。

3)定義報警定義報警組:在工程瀏覽器界面系統中找到“數據庫”欄,選擇“報警組”,雙擊添加“液位報警”、“溫度報警”,兩個報警組,添加后單擊確定,如此便定義了兩個報警組。完成報警組定義如圖7-34。第七章組態王數據庫訪問”

圖7-35

變量報警定義

報警組定義完成后,回到變量定義界面,在變量定義的“報警定義”選項中我們對液位和溫度兩個變量進行報警的定義。“液位”變量的報警組名選擇“液位報警”,報警界限為低低、低、高、高高,界限值分別為0、10、90、100,單擊確定。“溫度”變量報警組名選擇“溫度報警”,報警界限與液位相同,設置如圖7-35。第七章組態王數據庫訪問”

圖7-36

新建畫面

4)編輯畫面變量的報警定義完成后,新建一個“實時報警”畫面,在工具箱中選擇報警窗口,然后在畫面上完成報警窗口的制作,雙擊畫面上的報警窗口,在通用屬性界面,將報警窗口命名為“報警”,選擇“歷史報警窗”,如果報警窗口沒有名字,則此報警窗口無效,顯示不了報警數據。在畫面上寫入文本“溫度”、“液位”,并關聯對應變量,即可使界面在運行時顯示溫度及液位數值變化。制作兩個按鈕,分別為“畫面切換”、“退出”。畫面切換按鈕命令語言為:ShowPicture("報警查詢");退出按鈕命令語言為:exit(0),畫面設置如圖7-36。第七章組態王數據庫訪問”

報警窗口定義完成后,如果此時進入運行系統,則當出現報警后,報警信息會在報警窗口中出現。需要注意的是,報警窗口顯示的信息在計算機的內存中,如果組態王退出后再進入運行系統則原來的報警并不存在了,歷史的報警信息并不會保存下來。(2)報警存儲1)我們進行報警配置中的數據庫配置。雙擊組態王工程瀏覽器的“系統配置”中的“報警配置”,彈出如圖7-37的“報警配置屬性頁”對話框。圖7-37

報警配置屬性頁第七章組態王數據庫訪問

”對話框中各項含義為:記錄報警事件:記錄報警數據庫時,是否包括報警事件。并配置報警事件存儲的類型:報警產生、報警確認、報警恢復。記錄操作事件:記錄報警數據庫時,是否包括操作事件。記錄登錄事件:記錄報警數據庫時,是否包括登錄事件。記錄工作站事件:記錄報警數據庫時,是否包括工作站事件。報警事件存儲參數:可以選擇單表保存,并配置數據保存天數,如1天,即清除之前的數據,保存最近1天的數據;也可以按月分表保存。使用默認數據源:在“報警配置屬性頁”,使“文件配置”中默認事件保存不選中,圖7-37中“使用默認數據源”是否有效,是由上面的四個記錄事件確定的。第七章組態王數據庫訪問

”2)在“報警配置屬性頁”對話框中,勾選使用默認數據源,組態王會自動在此工程文件下創建一個名為“AlarmData”的文件夾,然后在這個文件夾中創建報警存儲的數據庫,來自動保存報警觸發的數據。如下圖7-38所示:圖7-38報警儲存數據庫第七章組態王數據庫訪問”

圖7-39

運行畫面

3)運行系統畫面編輯完成后保存畫面,單擊“打開”中的“切換到view”,打開“實時報警”畫面,運行結果如下圖7-39。第七章組態王數據庫訪問”

圖7-40

報警信息存儲到數據庫中

當有報警產生后,會在報警畫面中顯示當前的報警信息,同時也會將報警信息存儲到Access數據庫中。我們可以打開組態王自己創建的數據庫,打開“Alarm”表,如下圖7-40所示:報警信息已經存儲到數據庫中。第七章組態王數據庫訪問”

圖7-41

kv屬性

(3)歷史報警數據查詢1)創建KVADODBGrid控件在工程中新建畫面“報警查詢”,單擊工具箱中的“插入通用控件”按鈕則彈出“插入控件”對話框。在“插入控件”對話框內選擇“KVADODBGrid

Class”控件,在畫面中放入此控件。雙擊此控件,為控件命名,控件名稱可以根據需要確定,我們命名為“KV”。單擊右鍵,選擇“控件屬性”,則會彈出如下圖7-41“KV屬性”對話框。第七章組態王數據庫訪問”

圖7-42

數據鏈接屬性

單擊“數據源”后面的“瀏覽”,出現“數據連接屬性”對話框,在“連接”頁面,“使用數據源名稱”選擇組態王自動創建的數據源“報警存儲與查詢工程實例_Alarm”,單擊測試連接成功后單擊確定回到屬性頁面進行設置。如圖7-42。第七章組態王數據庫訪問”

圖7-43

KV屬性設置

“表名稱”處應選擇“Alarm”表,將左邊需要查詢的“有效字段”分別添加到右邊,并在右側上修改名稱及格式,設置好后,單擊確定即可完成控件屬性設置,具體操作如下圖7-43所示:第七章組態王數據庫訪問”

圖7-44

控件動畫連接屬性

2)創建日歷控件我們按照日期進行歷史報警的查詢,使用微軟提供的通用控件“MicrosoftDateandTimePickerControl6.0(SP4)”進行查詢。單擊工具箱中的“插入通用控件”,選擇“MicrosoftDateandTimePickerControl6.0(SP4)”控件。如果微軟的通用控件用不了,就使用通用控件中“CalendarControl”控件,具體操作按照6.5章節的方法去實現。在畫面上插入控件后,雙擊控件,彈出“動畫連接屬性”對話框,在常規頁面中將其命名為“ADate”,保存后在“事件”頁面中選擇“CloseUp”如下圖7-44。第七章組態王數據庫訪問”

彈出控件事件函數編輯窗口,在函數聲明中為此函數命名:CloseUp1();在編輯窗口中編寫腳本程序,程序如下:floatAyear;floatAmonth;floatAday;stringtemp;Ayear=ADate.Year;Amonth=ADate.M

溫馨提示

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

評論

0/150

提交評論