組態王連線Accesss資料庫與歷史曲線顯示

2023-02-07 09:42:05 字數 3035 閱讀 9161

我是依據組態王幫助檔案裡面的案例,不過我寫的會更詳細!

以某工業現場應用為例,需要對原料進行稱量,並記錄原料的生產廠家、原料編號、稱量日期、稱量時間,值班人員、原料重量。針對這種關係資料,使用組態王的歷史庫是無法記錄的,因此我們使用關聯式資料庫access 進行記錄。下面就以此為例來演示完成這一現場需求的設定步驟。

操作步驟:

1、新建資料庫以及表:

1.1)在access 中新建乙個空資料庫,例如建立路徑為:d:\資料庫儲存例程\資料.mdb。

1.2)在資料庫d:\資料庫儲存例程\資料.

mdb 中建立乙個資料表:表的名稱為:原料資料。

欄位為:稱量日期、稱量時間、原料重量、原料廠家、原料編號、值班人員、datetime(這個變數是我自己需要歷史曲線用的)。如下圖所示:

(下面的值是我測試的)

其中原料重量字段型別為「數字」設定為「單精度」,datetime設定為日期/時間預設值改為now()。其餘為「文字」型別。(這裡預設的檢視是資料表檢視,要切換到設計檢視,如圖所示:)

在這下面設定字段大小為單精度型,小數字數為2(這個按自己需求設定位數)。

2、設定odbc 資料來源:

2.1) 在「控制面板」-----「管理工具」----「odbc 資料來源」 中建立odbc 資料來源,點選「odbc資料來源」彈出「odbc 資料來源管理器」,如下圖所示:(這裡注意的是如果系統是64位系統的話,則開啟c:

\windows\syswow64\

2.2) 在「使用者dsn」中點選「新增」,彈出「選擇資料來源驅動程式」視窗,如下圖所示:選擇「microsoft access driver (*.

mdb)」驅動,點選「完成」。彈出如圖所示視窗,填寫odbc資料來源的名稱,根據需要對資料來源進行命名,如「資料」,點選「選擇(s)」,如圖所示,選擇我們前面定義的資料庫檔案「d:\資料庫儲存例程\資料.

mdb」。點選「確定」完成odbc 資料來源的定義,如圖所示。其他資料庫如sqlserver 的odbc 定義請參考相關文件。

3.組態王中定義變數:

3.1) 定義變數:

在組態王中定義四個變數:原料廠家(記憶體字串)、原料編號(記憶體字串)、原料重量(記憶體實數)、deviceid(記憶體整數),其中原料重量是從稱重儀表裝置中採集的。deviceid變數是使用組態王sql 函式時需要用到的變數。

其他需要記錄的稱量日期、稱量時間為系統的日期、時間,值班人員為組態王登入的使用者。

稱重儀表的判穩可以通過儀表上傳穩定訊號也可以通過操作人員來判斷,因為此例程中需要輸入原料廠家以及編號,因此有操作人員進行重量穩定的判斷,並有操作人員確定後記入資料庫。

4.組態王中定義記錄體:

記錄體是用來連線資料庫的**的字段和組態王資料詞典中的變數。

建立記錄體:如圖七所示:記錄體名:

bind,欄位名稱為資料庫中表的欄位名稱,變數名稱為組態王資料詞典中的變數。字段型別與變數型別需要一致。欄位名稱要與資料庫中表的欄位名稱一致。

變數名稱與欄位名稱可以不同。

圖七定義記錄體

5.建立組態王與資料庫的關聯:

組態王與資料庫建立與斷開關聯主要是通過 sql 函式來實現。

通過 sqlconnect()函式建立組態王與資料庫的連線。

通過 sqldisconnect()函式斷開組態王與資料庫的連線。

對於本例程用到的函式的詳細說明請參考函式手冊或者幫助文件。

本例程中資料庫無使用者名稱和密碼,具體用法如下:

sqlconnect( deviceid, "dsn=資料;uid=;pwd=");

其中deviceid 是使用者在資料詞典中建立的記憶體整型變數,用來儲存sqlconnect()為每個資料庫連線分配的乙個數值。

建議將建立資料庫連線的命令函式放在組態王的應用程式命令語言的啟動時執行,這樣當組態王進入執行系統後自動連線資料庫。如下圖八所示:

圖八建議將斷開資料庫連線的命令函式放在組態王的應用程式命令語言的停止時執行,這樣當組態王退出執行系統時自動斷開資料庫的連線。如下圖圖九所示:

圖九注意:此函式在組態王執行中只須進行一次連線,不要把此語句寫入「執行時」,多次執行此命令而造成錯誤。

6.記錄資料到資料庫:

資料庫連線成功後,我們就可以通過執行 sqlinsert()函式插入資料到建立好的access資料庫的**中。

首先利用組態王提供的畫圖工具新建乙個組態王畫面,如下圖所示:

日期、時間、值班人員動畫連線為字串輸出,連線的變數為\\本站點\$日期、\\本站點\$時間、\\本站點\$使用者名稱。原料廠家、原料編號動畫連線為字串輸入、字串輸出,連線的變數為\\本站點\原料廠家、\\本站點\原料編號。原料重量動畫連線為模擬值輸出,連線的變數為\\本站點\原料重量。

「使用者登入」按鈕的彈起時命令語言為登入函式:logon();

「使用者登出」按鈕的彈起時命令語言為登出函式:logoff();

「稱量確認」按鈕的彈起時命令語言為sql 插入函式:sqlinsert( deviceid, "原料資料",

"bind" ); 其中「原料資料」為資料庫的表的名稱,「bind」為記錄體的名稱。

「稱量確認」的優先順序設定為300,這樣就要求值班人員必須登入並且許可權大於300 才可以進行稱量確認。

「系統退出」按鈕的彈起時命令語言為系統退出函式:exit( 0 );

關於使用到的函式的詳細使用方法請參考函式使用手冊或者幫助文件。

7.進入執行系統:

畫面開發完成後儲存畫面,在工程瀏覽器的「系統設定」-「設定執行系統」-「主畫面配置」中,將新建的畫面設定為主畫面。確認後點選工程瀏覽器的「view」按鈕切換到執行系統。

系統執行後會將主畫面開啟,如下圖所示:

如果操作人員不進行登入則「稱量確認」按鈕為灰色,不允許進行「稱量確認」操作。

只有值班人員以自己的使用者名稱、密碼登入後此按鈕才處於啟用狀態,操作人員才可以操作。其中「原料廠家」、「原料編號」可以有操作人員手動輸入,原料重量來自於稱量儀表採集的資料。

當值班人員確認本次稱量有效時可以執行「稱量確認」,點選「稱量確認」後會將資料存入access資料庫「資料.mdb」的資料表「原料資料」中。我們可以開啟資料庫看資料是否寫入資料表中。

歷史曲線顯示

正常的新增控制項,時間選擇datetime,毫秒選擇id即可。

ORACLE BPM如何連線資料庫

資訊科技最佳實踐 oracle核心應用技術 business process management oracle bpm如何連線資料庫 author sunny.zhang 張財華 creation date april 9,2009 last updated april 9,2009 docume...

Android開發連線伺服器呼叫資料庫

建立regactivity 客戶端建立 url位址 string requesturl 引數,跟資料庫傳入資料結合,藍色字相當於雜湊表索引,可以隨便定義,無實際意義,但要和客戶端介面實現相同命名 map requestparams new hashmap username loginname use...

使用Http通道,遠端連線資料庫技術說明

資料庫http遠端連線技術說明 7 28 2013 本人通過半年的努力,開發完成了此項技術 在當前流行的web瀏覽模式的情況下,仍然需要對客戶端的個性化體驗以及大批量資料的處理採用非web模式。資料庫http連線技術打包封裝了internet資料庫操作的各項功能,採用多層防護保護資料庫,同時客戶端相...