999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

組態王的SQL訪問功能在某艦船模擬器中的應用

2007-09-20 05:49:20孫宏林
船海工程 2007年4期
關鍵詞:數據庫

孫宏林,巫 影

(海軍工程大學 船舶與動力學院,武漢430033)

組態王6.5以前的版本,雖然支持最快的數據采集和處理的速率為毫秒級的,但是組態王自帶的數據庫存儲速率仍然是秒級的,存儲速率往往達不到實際的需要,而且數據存儲所占的磁盤空間較大,不適合長時間、大規模的數據存儲及訪問。雖然在組態王6.5以后的版本中采用了新的數據壓縮和搜索技術,數據庫壓縮比低于20%,大大節約了壓縮空間,提高了訪問速度,支持毫秒級存儲和查詢,但是數據庫中的數據仍是以二進制文件的形式存儲的,引用不夠直觀,方便,數據的存儲和查詢方面的能力還偏弱。為此在某型艦船模擬器的研制中利用組態王6.5的SQL訪問功能,連接到Access 2000數據庫,實現了數據的時時存儲和查詢。*.REC文件中存放的數據,不能用Excel直接打開,可以在VBA中調用動態連接庫來訪問[1-2]。

1 功能原理

組態王SQL訪問功能是為了實現組態王和其它ODBC數據庫之間的數據傳輸,它由組態王的SQL訪問管理器來實現與數據庫的通信。組態王SQL訪問管理器用來建立數據庫列和組態王變量之間的聯系。通過表格模板在數據庫中創建表格,表格模板信息存儲在SQL.DEF文件中;通過記錄體建立數據庫表格列和組態王變量之間的聯系,允許組態王通過記錄體直接操縱數據庫中的數據。這種聯系存儲在BIND.DEF文件中。組態王可以與其它外部數據庫(支持ODBC訪問接口,例如Microsoft Access數據庫,Oracle數據庫,SQLServer數據庫,dBase數據庫等等)進行數據傳輸,這里選用Access2000數據庫。

2 實現方法

2.1 連接數據庫

在D盤根目錄下建立一個名為“模擬器數據庫.mdb”的Access空數據庫。然后在本機上的ODBC數據源中建立一個基于Micrisoft Access Driver(*.mdl)的數據源名——“模擬器數據庫”。在組態王中創建一個內存整型變量DeviceID,用來保存SQLConnect()函數為每個數據庫連接分配的數值。在組態王的應用程序命令語言對話框中,選擇啟動時使用下述命令連接數據庫:

SQLConnect(DeviceID,“dsn=模擬器數據庫;uid=;pwd=”);用戶名和密碼可以根據需要而定。

2.2 創建表格模板

在組態王中創建表格模板“經航模板”、“主推模板”、“輔推模板”、“發電機模板”和“柴油機模板”。定義各個字段名稱,變量類型、變量長度和索引類型。經航電機的表格模板見圖1。

使用下述命令創建Access數據庫表格,取名為“經航電機”:

SQLCreateTable(DeviceID,“經航電機”,“經航模板”);

“經航電機”表格中的各列與“經航模板”中的字段一一對應。

2.3 數據存入數據庫

在組態王中創建記錄體“經航記錄”、“主推記錄”、“輔推記錄”、“發電機記錄”和“柴油機記錄”。記錄體中的字段名稱、順序等要與表格模板中定義的一致。經航電機的記錄體見圖2。

這樣就建立了組態王變量與Access數據庫表格中的各列之間一一對應的聯系。在組態王的應用程序命令語言中選擇運行時,時間間隔設為55ms。使用下述命令可以將經航電機的數據時時地存入經航電機表格中:

SQLInsert(DeviceID,“經航電機”,“經航記錄”);

圖2 經航記錄

另外還可以根據需要,在組態王的數據改變命令語言中選擇經航電機變量,使用上述命令,只要數據發生改變就可以將經航電機的數據存入經航電機表格,甚至于可以在畫面命令語言中使用上述的命令將經航電機的數據按照需要存入到數據庫表格中。

該命令使用記錄體“經航記錄”中定義的連接,在表格“經航電機”中插入一個新的記錄。該命令執行后,組態王運行系統會將經航電機變量的當前值添加到Access數據庫表格“經航電機”中最后一條記錄。

2.4 查詢數據庫

在組態王中創建記錄體“經航查詢”、“主推查詢”、“輔推查詢”、“發電機查詢”和“柴油機查詢”,用于定義查詢時的連接。圖3是經航電機查詢記錄體。這里“經航查詢”記錄體的字段名稱和順序要與“經航記錄”和“經航模板”中的一致。

圖3 經航查詢

使用下列命令查詢數據庫:

SQLSelect(DeviceID,“經航電機”,“經航查詢”,“”,“”);

該命令選擇表格“經航電機”中所有符合條件的記錄,并以記錄體“經航查詢”中定義的連接返回選擇集中的第一條記錄。可以設置查詢的條件和選擇集的排列順序,此處沒有設定條件,將返回該表格中所有記錄。執行該命令后,運行系統會把得到的選擇集的第一條記錄的各個字段的值,賦給記錄體經航查詢中定義的與其連接的各組態王變量。

同時還有其他的一些命令語言可配合使用,例如:

SQLFirst(DeviceID);返回第一條記錄;

SQLprev(DeviceID);返回前一條記錄;

SQLNext(DeviceID);向后移動一條記錄;

SQLLast(DeviceID);移到最后一條記錄;

SQLGetRecord(DeviceID,RecordNumber);返回指定序號記錄;

SQLEndSelect(DeviceID);結束選擇集,釋放資源。

下面是在某畫面命令中使用的部分程序:

s1=“勵磁電流調節<1”;

s2=“首電樞接通指示燈=1”;

s3=“尾電樞接通指示燈=1”;

s4=“運行2指示燈=0”;

s5=“運行1指示燈=0”;

s=s1+“and”+s2+“and”+s3+“and”+s4+“and”+s5;

SQLSelect(DeviceID,“經航電機”,“經航查詢”,s,“”);

NumRows=SQLNumRows(DeviceID);

if(NumRows==0)\本站點\經航扣分=40;

SQLEndSelect(DeviceID);

SQLSelect(DeviceID,“經航電機”,“經航查詢”,“”,“”);

SQLLast(DeviceID);

if(JHDJ1_06R==1)\本站點\經航扣分=\本站點\經航扣分+15;

else if(JHDJ1_07R==1)\本站點\經航扣分=\本站點\經航扣分+15;

else if(JHDJ1_09R==1)\本站點\經航扣分=\本站點\經航扣分+10;

else if(JHDJ1_12R==0)\本站點\經航扣分=\本站點\經航扣分+10;

else if(JHDJ1_14R==0)\本站點\經航扣分=\本站點\經航扣分+10;

SQLEndSelect(DeviceID)。

在組態王的畫面命令中,可以編制條件更為復雜的查詢,非常靈活。

2.5 斷開數據庫

在組態王的應用程序命令語言中,退出時使用SQLDisconnect(DeviceID);命令,可以斷開組態王與數據庫的連接。

3 結束語

組態王共提供了200多種函數可供用戶調用,其中數據庫操作函數就有40多種,上面提到的只是很小的一部分,同時組態王支持用戶自定義函數,用戶可以根據需要自己編制合適的函數。另外組態王的命令語言是類似于C語言的,靈活,方便,易于用戶編制程序。

利用組態王的數據庫訪問功能,可以建立組態王與Access數據庫的聯系,組態王提供了豐富的數據庫操作函數,可以在任意一種命令語言中調用,可以方便地進行創建表格,插入、刪除記錄,編輯已有的表格,清空、刪除表格,查詢記錄等操作。Access數據庫可以不必打開,只在后臺執行就行了。數據庫中的數據可以根據需要隨時進行轉存,大大節省了應用程序所占的磁盤空間,在某型艦船模擬器中應用該方法效果良好。

[1]王成志.工控軟件“組態王”的數據處理和Excel報表自動生成程序設計[J].微計算機信息,2002,18(4):63-65.

[2]李衛中.用access擴展組態王的功能[J].化工自動化及儀表,2002,29(4):82-84.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 黄色网址手机国内免费在线观看| 国产精品无码AV片在线观看播放| 一本色道久久88| 一本视频精品中文字幕| 欧美亚洲日韩中文| 99视频在线精品免费观看6| 天天色天天操综合网| 99re这里只有国产中文精品国产精品| 亚洲欧美一区二区三区图片| 亚洲视频无码| 欧美精品H在线播放| 亚洲精品自在线拍| 亚洲欧洲天堂色AV| 中文纯内无码H| 一级爆乳无码av| 99热国产这里只有精品无卡顿"| 亚洲第一成年免费网站| 一级一毛片a级毛片| 久久久久无码精品| 尤物精品国产福利网站| 国产成年女人特黄特色毛片免| 一级香蕉人体视频| 亚洲精品波多野结衣| 国产在线无码av完整版在线观看| 国产免费看久久久| 尤物亚洲最大AV无码网站| 国产精品视频猛进猛出| 久久综合九九亚洲一区| 四虎亚洲精品| 久久青草免费91观看| 一本大道无码高清| 国内精品视频区在线2021| 国产精品免费福利久久播放| 九一九色国产| 久久精品人人做人人爽电影蜜月| 91在线中文| 亚洲乱码在线播放| 又爽又黄又无遮挡网站| 无码中字出轨中文人妻中文中| 免费午夜无码18禁无码影院| 伊人成人在线| 在线欧美a| 97se亚洲综合在线天天| 国产高清在线丝袜精品一区| 狠狠亚洲婷婷综合色香| 无码高潮喷水在线观看| 毛片视频网| 国产成人亚洲无吗淙合青草| 欧美成人影院亚洲综合图| 人妻无码一区二区视频| 亚洲一区二区黄色| 国产小视频在线高清播放| 国产精品亚洲一区二区三区在线观看 | 国产精品欧美日本韩免费一区二区三区不卡 | 国产乱人乱偷精品视频a人人澡 | 国产精品漂亮美女在线观看| 欧美成人第一页| 天天综合色天天综合网| 日韩在线成年视频人网站观看| 香蕉视频在线精品| 成人一级黄色毛片| 国产亚洲欧美在线中文bt天堂 | 操美女免费网站| 污视频日本| 国产精品伦视频观看免费| 伊人激情综合网| 国产网站免费| 日韩精品高清自在线| 免费又黄又爽又猛大片午夜| 永久免费AⅤ无码网站在线观看| 真人高潮娇喘嗯啊在线观看| 一本大道视频精品人妻| 制服丝袜无码每日更新| 亚洲国内精品自在自线官| 久久精品嫩草研究院| 国产精品播放| 国产91全国探花系列在线播放 | 在线精品视频成人网| 国产91高清视频| 国产一区二区三区在线观看免费| 国产一级精品毛片基地| 亚洲动漫h|