亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        組態(tài)王的SQL訪問功能在某艦船模擬器中的應(yīng)用

        2007-09-20 05:49:20孫宏林
        船海工程 2007年4期
        關(guān)鍵詞:組態(tài)王航電模擬器

        孫宏林,巫 影

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

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

        1 功能原理

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

        2 實現(xiàn)方法

        2.1 連接數(shù)據(jù)庫

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

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

        2.2 創(chuàng)建表格模板

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

        使用下述命令創(chuàng)建Access數(shù)據(jù)庫表格,取名為“經(jīng)航電機”:

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

        “經(jīng)航電機”表格中的各列與“經(jīng)航模板”中的字段一一對應(yīng)。

        2.3 數(shù)據(jù)存入數(shù)據(jù)庫

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

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

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

        圖2 經(jīng)航記錄

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

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

        2.4 查詢數(shù)據(jù)庫

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

        圖3 經(jīng)航查詢

        使用下列命令查詢數(shù)據(jù)庫:

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

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

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

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

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

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

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

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

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

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

        s1=“勵磁電流調(diào)節(jié)<1”;

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

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

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

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

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

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

        NumRows=SQLNumRows(DeviceID);

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

        SQLEndSelect(DeviceID);

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

        SQLLast(DeviceID);

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

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

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

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

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

        SQLEndSelect(DeviceID)。

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

        2.5 斷開數(shù)據(jù)庫

        在組態(tài)王的應(yīng)用程序命令語言中,退出時使用SQLDisconnect(DeviceID);命令,可以斷開組態(tài)王與數(shù)據(jù)庫的連接。

        3 結(jié)束語

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

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

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

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

        猜你喜歡
        組態(tài)王航電模擬器
        了不起的安檢模擬器
        盲盒模擬器
        劃船模擬器
        民用飛機航電系統(tǒng)虛擬教學(xué)資源建設(shè)
        電子制作(2019年7期)2019-04-25 13:18:30
        基于組態(tài)王軟件和泓格PIO-D64 板卡的流水燈控制
        電子制作(2017年23期)2017-02-02 07:17:16
        某型無人直升機航電艙熱設(shè)計優(yōu)化
        航電樞紐清污系統(tǒng)改造
        MATLAB實現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
        基于PLC與組態(tài)王煤礦壓風機的設(shè)計研究
        河南科技(2015年8期)2015-03-11 16:23:55
        動態(tài)飛行模擬器及其發(fā)展概述
        国产精品毛片毛片av一区二区| 亚洲av第一页国产精品| 国产亚洲视频在线播放| 久久久中文久久久无码| 久久综合九色综合欧美狠狠 | 少妇人妻无奈的跪趴翘起| 欧美激情乱人伦| 亚洲va无码手机在线电影| 久久久噜噜噜久久中文字幕色伊伊| 白白视频在线免费观看| 国产精品髙潮呻吟久久av| 国产精品久久久福利| 巨胸喷奶水www视频网站| 国产精品99久久精品爆乳| 久久熟女乱一区二区三区四区| 免费在线亚洲视频观看| 久久久久成人精品免费播放动漫| 漂亮人妻被中出中文字幕久久| 大陆一级毛片免费播放| 国产精品一区二区三区蜜臀| 中文字幕综合一区二区三区| 国产激情视频在线观看的 | 激情97综合亚洲色婷婷五| 亚洲乱色视频在线观看| 一区二区三区国产精品麻豆| 亚洲av无码一区东京热久久| 亚洲av综合日韩| 欧美成人高清手机在线视频| 亚洲一区二区三区精彩视频| 国产免费三级av在线| 99久久伊人精品综合观看| 日韩欧美国产自由二区| 免费毛片一区二区三区女同 | 久久久亚洲欧洲日产国产成人无码 | 日本中文字幕有码在线播放| 男人添女人囗交做爰视频| 久久99精品国产麻豆| 亚洲AV无码AV色| 久久91精品国产一区二区| 欧美激情肉欲高潮视频| a级毛片在线观看|