国产强伦姧在线观看无码,中文字幕99久久亚洲精品,国产精品乱码在线观看,色桃花亚洲天堂视频久久,日韩精品无码观看视频免费

      您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>組態(tài)王環(huán)境下數(shù)據(jù)庫(kù)訪問技術(shù)及其應(yīng)用

      直播推薦

      更多>

      企業(yè)動(dòng)態(tài)

      更多>

      推薦展會(huì)

      更多>

      組態(tài)王環(huán)境下數(shù)據(jù)庫(kù)訪問技術(shù)及其應(yīng)用

      2009年03月09日 18:51:45人氣:2637來源:煙臺(tái)勾股通信技術(shù)有限公司

      1. 引言
        隨著工控組態(tài)軟件功能的不斷完善以及可靠性的不斷提高,其在工業(yè)中得到了非常廣泛的應(yīng)用。但是,盡管組態(tài)軟件具有強(qiáng)大的實(shí)時(shí)數(shù)據(jù)庫(kù)功能,其數(shù)據(jù)分析能力卻十分薄弱,這一點(diǎn)在一定程度上限制了其在一些領(lǐng)域尤其是在實(shí)驗(yàn)室中的應(yīng)用。本文針對(duì)這種情況,以組態(tài)王為例,提出利用組態(tài)軟件數(shù)據(jù)庫(kù)訪問的技術(shù)將數(shù)據(jù)庫(kù)中數(shù)據(jù)取出,送到其他具有數(shù)據(jù)分析能力的軟件(如MATLAB)中去,從而彌補(bǔ)了組態(tài)軟件在數(shù)據(jù)分析方面的不足,為其在更大范圍內(nèi)的應(yīng)用提供了切實(shí)可行的方法。
      2. 訪問組態(tài)王數(shù)據(jù)庫(kù)的兩種方法
        在本文中主要介紹和使用了兩種方法訪問組態(tài)王數(shù)據(jù)庫(kù):FileWriteFields函數(shù)訪問和SQL訪問。通過應(yīng)用這兩種方法,將組態(tài)王實(shí)時(shí)數(shù)據(jù)庫(kù)中的實(shí)時(shí)數(shù)據(jù)直接取出,從而使其他軟件可以對(duì)數(shù)據(jù)進(jìn)行分析。這兩種方法是并行的,任何一種都可以完成對(duì)組態(tài)王數(shù)據(jù)庫(kù)的訪問。
        下面對(duì)FileWriteFields函數(shù)和SQL分別予以介紹。
        2.1 FileWriteFields()函數(shù)簡(jiǎn)介[2]
        該函數(shù)的功能是往文件寫入csv(逗號(hào)分隔變量)記錄。其調(diào)用格式為:
        FileWriteFields(Filename, FileOffset, StartTag, NumberOfFields);
        其中,F(xiàn)ilename為要寫的文件,若文件不存在,則創(chuàng)建它;FileOffset為寫文件的起始位置(若FileOffset為0,此函數(shù)將寫到文件末尾;若為1,則寫到開頭);StartTag*個(gè)數(shù)據(jù)項(xiàng)的變量名稱(此變量名必須以一個(gè)數(shù)字結(jié)尾),此參數(shù)必須是一個(gè)表明變量名的字符串(而非實(shí)際的變量本身,比如變量名為MyTag1,就需要給出“MyTag1”或MyTag1.name,而不僅僅是MyTag1);NumberOfFields要寫的字段數(shù)目(此文件的每條記錄中以逗號(hào)隔開的字段的字段數(shù)目)。
        2.2 SQL簡(jiǎn)介
        SQL(Structured Query Language)是一個(gè)通用的、功能*的關(guān)系數(shù)據(jù)庫(kù)語言,由于其功能豐富、語言簡(jiǎn)單、使用方法靈活,已經(jīng)成為關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言[3]。
        組態(tài)王SQL訪問功能是為了實(shí)現(xiàn)組態(tài)王和其他ODBC數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳輸。它包括組態(tài)王SQL訪問管理器和SQL函數(shù):SQL訪問管理器用來建立數(shù)據(jù)庫(kù)列和組態(tài)王變量之間的,通過表格模板在數(shù)據(jù)庫(kù)中建立表格,通過記錄體建立數(shù)據(jù)庫(kù)表格列和組態(tài)王之間的;SQL函數(shù)可以在組態(tài)王的任意一種語言命令中調(diào)用,這些函數(shù)用來創(chuàng)建表格、插入刪除記錄等。[1]
        下面介紹一下幾個(gè)主要的SQL函數(shù)[2]:
       ?。?)SQLConnect()
        SQLConnect用于連接組態(tài)王和數(shù)據(jù)庫(kù),其格式為:
        SQLConnect( ConnectionID, “ConnectString”);
        其中:ConnectionID為SQLConnect()產(chǎn)生的連接號(hào),ConnectString為連接語句。連接語句格式如下:“DSN=data source name [; attribute= value [;attribute= value]…]”。
       ?。?)SQLInsert()
        SQLInert用于使用記錄體中定義的連接在表格中插入一個(gè)新的記錄,其格式為:
        SQLInsert( ConnectionID, TableName, BindList);
        其中:ConnectionID為SQLConnect()產(chǎn)生的連接號(hào),TableName為表格名,BindList為記錄體。
       ?。?)SQLDisconnect()
        SQLDisconnect用于從使用的數(shù)據(jù)庫(kù)中斷開連接,其格式為:
        SQLDisconnect( ConnectionID);
        其中:ConnectionID為SQLConnect()產(chǎn)生的連接號(hào),
        2.3 兩種方法之間的比較
        相比較而言,F(xiàn)ileWriteFields函數(shù)方法相對(duì)簡(jiǎn)單,只要安裝了“組態(tài)王”即可,但需要占用軟件相當(dāng)?shù)狞c(diǎn)數(shù);利用SQL方法相對(duì)復(fù)雜一點(diǎn),而且需要安裝如Access等支持SQL的數(shù)據(jù)庫(kù)軟件,但不占用組態(tài)軟件的點(diǎn)數(shù),在具體應(yīng)用當(dāng)中可根據(jù)需要和實(shí)際情況進(jìn)行選擇。
      3. 一個(gè)例子
        下面通過一個(gè)例子來介紹這兩種方法的具體應(yīng)用。該例子的目的是將現(xiàn)場(chǎng)的壓力信號(hào)采集到MATLAB中對(duì)該信號(hào)進(jìn)行分析。為簡(jiǎn)單起見,本文僅畫出壓力信號(hào)的變化趨勢(shì),表明可以在MATLAB中進(jìn)行分析即可。
        *步:將組態(tài)王實(shí)時(shí)數(shù)據(jù)庫(kù)采集到的壓力信號(hào)存到*.txt文件中。
        為了方便隨時(shí)記錄,本文定義了一個(gè)內(nèi)存離散型變量record,通過按鈕“開始記錄”和“停止記錄”將該變量置1和置0。
        下面分別具體介紹利用FileWriteFields函數(shù)和SQL方法對(duì)組態(tài)王實(shí)時(shí)數(shù)據(jù)庫(kù)進(jìn)行訪問。
       ?。?) 利用FileWriteFields函數(shù)
        本文利用FileWriteFields函數(shù)訪問組態(tài)王數(shù)據(jù)庫(kù)是在應(yīng)用程序命令語言運(yùn)行時(shí)窗口中編程實(shí)現(xiàn)的,具體腳本如下:
        //數(shù)據(jù)記錄
        if (本站點(diǎn)\record==1)
        {
        Tag1=本站點(diǎn)\$日期;
        Tag2=本站點(diǎn)\$時(shí)間;
        Tag3=本站點(diǎn)\壓力;
        FileWriteFields(“f:\DATA\Record.txt”, 0, "Tag1", 3 );
       ?。?
       ?。?) 利用SQL實(shí)現(xiàn)
        建立一個(gè)SQL應(yīng)按如下步驟:
        1先在access中建立一個(gè)庫(kù)名為”SQL數(shù)據(jù)庫(kù)”的數(shù)據(jù)庫(kù)將其保存為:f:\DATA\SQL數(shù)據(jù)庫(kù).mdb,并在SQL數(shù)據(jù)庫(kù)中建立一個(gè)表名為“監(jiān)控表”的表,在字段名稱處分別鍵入“日期”,“時(shí)間”,“壓力”,數(shù)據(jù)類型前兩個(gè)為“文本”,zui后一個(gè)為“數(shù)字”,保存該表。然后在打開的控制面板中的“32bit ODBC”中增加(ADD)一個(gè)Microsoft Access Driver數(shù)據(jù)源,其源名為“SQL數(shù)據(jù)庫(kù)”。所指向(select)數(shù)據(jù)庫(kù)的路徑為:f:\DATA\SQL數(shù)據(jù)庫(kù).mdb。
        2在組態(tài)王工程瀏覽器中建立一個(gè)名為BIND的記錄體,把組態(tài)王中的變量和數(shù)據(jù)庫(kù)“監(jiān)控表”中所對(duì)應(yīng)字段名稱增加到記錄體中,如表1所示。

        表1 所創(chuàng)建記錄體BIND
      3使用下列指令建立組態(tài)王和源名為“SQL數(shù)據(jù)庫(kù)”的數(shù)據(jù)源的連接,此例中為在應(yīng)用程序命令語言中啟動(dòng)時(shí)的命令:
        //建立SQL連接
        SQLConnect(DeviceID, "dsn= SQL數(shù)據(jù)庫(kù)");
        4在“監(jiān)控表”中不斷插入記錄,此例中為在應(yīng)用程序命令語言運(yùn)行時(shí)的命令:
        //SQL插入記錄
        if (本站點(diǎn)\record==1)
        {
        SQLInsert( DeviceID, "監(jiān)控表", "BIND" );
       ?。?
        5在退出程序時(shí)斷開連接,此例中在應(yīng)用程序命令語言停止時(shí)實(shí)現(xiàn):
        //斷開SQL連接
        SQLDisconnect( DeviceID);
        6在數(shù)據(jù)記錄結(jié)束后,將該文件另存為txt文件。
        第二步:將*.txt文件中的數(shù)據(jù)導(dǎo)入到MATLAB中,并存為*.mat文件。
        本步驟比較簡(jiǎn)單,利用MATLAB中File菜單下Import Data…命令利用向?qū)Ъ纯蓪?shí)現(xiàn),因此不再詳述。
        第三步:對(duì)壓力信號(hào)進(jìn)行分析。


      圖1 MATLAB中繪制的壓力曲線
        為簡(jiǎn)單起見,本文僅利用plot命令繪出壓力的變化趨勢(shì),所得結(jié)果如圖1所示。
      4. 總結(jié)
        本文首先介紹了組態(tài)王環(huán)境下訪問其數(shù)據(jù)庫(kù)的兩種方法:FileWriteFields函數(shù)訪問和SQL訪問,并對(duì)二者進(jìn)行了比較;然后針對(duì)組態(tài)軟件數(shù)據(jù)分析能力相當(dāng)薄弱的不足,提出利用以上兩種方法將組態(tài)王數(shù)據(jù)庫(kù)中數(shù)據(jù)取出,送到其他具有強(qiáng)大數(shù)據(jù)分析能力的軟件如MATLAB中進(jìn)行分析;zui后,本文利用一個(gè)例子說明本方法切實(shí)可行,確實(shí)彌補(bǔ)了組態(tài)軟件在數(shù)據(jù)分析方面的不足,為其在更大范圍內(nèi)得以廣泛應(yīng)用打下了基礎(chǔ)。
      全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

      免責(zé)聲明

      • 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
      • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
      • 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
      • 如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

      <
      更多 >

      工控網(wǎng)機(jī)器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機(jī)械包裝機(jī)械印刷機(jī)械農(nóng)業(yè)機(jī)械食品加工設(shè)備制藥設(shè)備倉(cāng)儲(chǔ)物流環(huán)保設(shè)備造紙機(jī)械工程機(jī)械紡織機(jī)械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機(jī)械印染機(jī)械制鞋機(jī)械玻璃機(jī)械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


      我要投稿
      • 投稿請(qǐng)發(fā)送郵件至:(郵件標(biāo)題請(qǐng)備注“投稿”)1271141964.qq.com
      • 聯(lián)系電話0571-89719789
      工業(yè)4.0時(shí)代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺(tái)
      智能制造網(wǎng)APP

      功能豐富 實(shí)時(shí)交流

      智能制造網(wǎng)小程序

      訂閱獲取更多服務(wù)

      微信公眾號(hào)

      關(guān)注我們

      抖音

      智能制造網(wǎng)

      抖音號(hào):gkzhan

      打開抖音 搜索頁(yè)掃一掃

      視頻號(hào)

      智能制造網(wǎng)

      公眾號(hào):智能制造網(wǎng)

      打開微信掃碼關(guān)注視頻號(hào)

      快手

      智能制造網(wǎng)

      快手ID:gkzhan2006

      打開快手 掃一掃關(guān)注
      意見反饋
      關(guān)閉
      企業(yè)未開通此功能
      詳詢客服 : 0571-87858618