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

        ?

        基于VB6.0的無線數(shù)據(jù)通信上位機設(shè)計與實現(xiàn)

        2018-01-25 10:52:38邊曉鋆徐玲玲王穎曹世華
        物聯(lián)網(wǎng)技術(shù) 2018年1期
        關(guān)鍵詞:數(shù)據(jù)庫

        邊曉鋆 徐玲玲 王穎 曹世華

        摘 要:在現(xiàn)代控制系統(tǒng)中,上位機負責管理整個系統(tǒng)及各部分功能的實現(xiàn)、調(diào)節(jié)調(diào)度、信息處理等工作。Visual Basic是一款由微軟公司開發(fā),用于協(xié)助開發(fā)環(huán)境事件驅(qū)動的編程語言。VB擁有圖形用戶界面(GUI)和快速應用程序開發(fā)(RAD)系統(tǒng),可以輕易使用DAO、RDO、ADO連接數(shù)據(jù)庫,或輕松創(chuàng)建ActiveX控件。文中針對上位機開發(fā)過程中VB與藍牙4.0通信以及VB與數(shù)據(jù)庫如何傳輸數(shù)據(jù)的問題,采用VB語言編寫了上位機與PLC的通信程序、界面程序以及上位機與數(shù)據(jù)庫的通信程序。實現(xiàn)了將電腦接收到的藍牙傳輸文件內(nèi)容顯示在VB窗口,并將數(shù)據(jù)寫入MySQL數(shù)據(jù)庫并存儲,及查詢MySQL數(shù)據(jù)庫已存儲數(shù)據(jù)等功能。

        關(guān)鍵詞:VB;數(shù)據(jù)庫;上位機;通信

        中圖分類號:TP311 文獻標識碼:A 文章編號:2095-1302(2018)01-00-03

        0 引 言

        上位機又稱PC機或Host Computer,是可以發(fā)送控制命令的主機或計算機。下位機是指具有數(shù)據(jù)采集、數(shù)據(jù)存儲、傳輸控制等功能,可以直接獲取硬件設(shè)備運行狀態(tài)數(shù)據(jù)的主機,一般由PLC和單片機組成。上位機與下位機之間是從屬關(guān)系,上位機是控制者,利用軟件程序發(fā)送相關(guān)指令給下位機;下位機是受控制者,將該指令翻譯成相應的時序信號,然后直接控制對應設(shè)備完成用戶需要的對應操作,同時下位機在完成對數(shù)據(jù)和硬件設(shè)備的讀取操作后,再將數(shù)據(jù)編碼傳回上位機[1,2]??傮w而言,上位機主要負責系統(tǒng)管理、調(diào)配、狀態(tài)監(jiān)控、信息處理和分析等工作,下位機主要在現(xiàn)場進行數(shù)據(jù)采集和和控制。在某些特殊場合,上位機和下位機的控制和被控制角色可以互換。上位機和下位機之間的通信是整個控制系統(tǒng)的關(guān)鍵。

        Visual Basic(VB) 6.0是微軟公司開發(fā)的可視化編程語言,是基于Windows環(huán)境面向?qū)ο蟮膽贸绦?。VB6.0擁有強大的可視化用戶界面設(shè)計功能,可開發(fā)數(shù)據(jù)庫系統(tǒng)、多媒體應用系統(tǒng)和網(wǎng)絡(luò)應用系統(tǒng),被廣泛應用在控制應用領(lǐng)域,也是使用最廣泛的編程語言之一[3]。

        1 底層通信設(shè)計

        在本文介紹的上位機程序設(shè)計中,底層需與藍牙4.0匹配,并實現(xiàn)接收數(shù)據(jù),使其在可視界面上顯示等功能(VB可調(diào)用.exe,.text等可執(zhí)行文件,由于VB中提供了多種對文件進行操作的關(guān)鍵字,如本程序中用到的open關(guān)鍵字可對文件進行訪問或創(chuàng)建操作,但僅限于文本格式,因此可對藍牙4.0接收的電腦中的數(shù)據(jù)文本進行讀寫操作)。

        Visual Basic還提供了shell函數(shù),該函數(shù)具有執(zhí)行.exe, .com,.bat等可執(zhí)行文件,打開文件夾、網(wǎng)址、任務(wù)管理器等,調(diào)用系統(tǒng)軟件(計算器、筆記本、畫圖等程序),實現(xiàn)用戶注銷、關(guān)閉系統(tǒng)、重啟系統(tǒng)等功能。在本文底層程序設(shè)計中需要考慮如何使用VB實現(xiàn)與藍牙4.0的匹配通信,當前大部分筆記本電腦都自帶藍牙功能,但由于這些藍牙設(shè)備是硬件系統(tǒng),而VB只能調(diào)用軟件程序,因此VB無法直接調(diào)用電腦自帶的藍牙設(shè)備。為解決該問題,我們決定在電腦上外接一個藍牙模塊,通過VB調(diào)用外設(shè)藍牙驅(qū)動與上位機連接的遠程硬件。本程序利用shell函數(shù)執(zhí)行外設(shè)藍牙在電腦上自動安裝的exe驅(qū)動,并在可視界面上顯示藍牙配對窗口。

        2 界面設(shè)計

        用戶界面是應用程序的重要組成部分,應具有非常友好的人機界面,既方便使用,又能體現(xiàn)出絕大部分程序功能。Visual Basic為用戶提供了如窗體、菜單、各種命令按鈕等大量控件,用戶只需使用鼠標將這些控件拖動到窗體相應位置,并對其外觀屬性進行簡單設(shè)置,便能設(shè)計出用戶所需的應用程序界面[4]。

        窗體是應用程序的重要組成部分。在程序運行時,每個窗體都對應一個窗口。窗體是用戶和應用程序之間的交互接口,是VB中的重要對象,可作為其他控件的“父對象”。即窗體除具有自身的屬性、方法外,還可以作為其他控件的容器,在其中仿真除窗體之外的其他控件,如文本框、圖片框、按鈕等。窗體文件的擴展名為.frm,根據(jù)其功能的不同,可以分為SDI窗體(單文檔窗體)和MDI窗體(多文檔窗體)。該程序的界面設(shè)計采用多文檔窗體,可對用戶登錄界面和數(shù)據(jù)可視化界面進行窗體操作,使得該程序更人性化和商業(yè)化。該程序界面設(shè)計如圖1,圖2所示。

        3 數(shù)據(jù)庫通信設(shè)計

        數(shù)據(jù)庫訪問技術(shù)在上位機應用控制系統(tǒng)中占有非常重要的地位,是上位機應用程序連接訪問后臺數(shù)據(jù)庫的橋梁。Visual Basic作為一種功能強大的桌面開發(fā)軟件,為用戶提供了多種訪問數(shù)據(jù)庫的方法。

        3.1 Visual Basic訪問數(shù)據(jù)庫的基本原理

        Visual Basic設(shè)計了多種訪問數(shù)據(jù)庫的方法,其中接口對象法和數(shù)據(jù)控件法是最基本的兩種方式。DAO、RDO和ADO是最常用的訪問數(shù)據(jù)庫的方法。DAO是利用JET數(shù)據(jù)庫引擎面向?qū)ο蟮慕涌冢籖DO是用于訪問ODBC的面向?qū)ο蟮慕涌?;ADO是基于面向?qū)ο竽P偷脑L問技術(shù),這三種方式均通過JET數(shù)據(jù)庫引擎完成[5]。主要過程為VB通過用戶界面向數(shù)據(jù)庫發(fā)送連接請求,成功連接后,數(shù)據(jù)庫對VB發(fā)來的數(shù)據(jù)進行分析處理和儲存,最后將數(shù)據(jù)處理結(jié)果返回給VB并顯示。

        3.2 關(guān)于數(shù)據(jù)庫

        數(shù)據(jù)庫是計算機應用系統(tǒng)中一種專門管理數(shù)據(jù)資源的系統(tǒng)。MySQL是一個快速、健壯的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。MySQL數(shù)據(jù)庫在數(shù)據(jù)存儲、處理、安全、功能等方面優(yōu)勢明顯,如MySQL的每個表可以處理多達5千萬條記錄;MySQL數(shù)據(jù)寫入速度相比SQLServe、Access提高了約99%,并優(yōu)化了查詢算法,減少了數(shù)據(jù)查詢用時;MySQL設(shè)置了嚴格的訪問權(quán)限,以保證已存儲數(shù)據(jù)的安全;MySQL提供了TCP/IP,ODBC和JDBC等多種數(shù)據(jù)庫連接方式。

        此外,MySQL占用磁盤空間較少,僅100多兆,安裝、啟動與執(zhí)行較為方便。對于一般用戶和中小企業(yè)而言,得益于MySQL的開源性,大大降低了軟件開發(fā)成本,受到了廣大使用者的歡迎[6]。

        3.3 SQL語言

        SQL語言是結(jié)構(gòu)化查詢語言的簡稱。SQL語言是當前應用最廣泛的數(shù)據(jù)庫查詢和程序設(shè)計語言,主要用于存取數(shù)據(jù)及查詢、管理和更新關(guān)聯(lián)數(shù)據(jù)庫系統(tǒng)[7]。

        SQL語言是高級的非過程化編程語言,可運行在許多具有完全不同底層結(jié)構(gòu)的數(shù)據(jù)庫系統(tǒng)之間。SQL語言具有優(yōu)秀的可移植性,基本上獨立于數(shù)據(jù)庫本身,可在不同的操作系統(tǒng)、網(wǎng)絡(luò)結(jié)構(gòu)和計算機硬件系統(tǒng)上運行。SQL語句可嵌套使用,具有極大地靈活性。

        3.4 關(guān)鍵程序設(shè)計

        通過用戶界面與數(shù)據(jù)庫的交流和通信,實現(xiàn)了數(shù)據(jù)傳輸和轉(zhuǎn)化的功能。在本程序設(shè)計過程中直接操作MySQL數(shù)據(jù)庫源碼,可實現(xiàn)上位機與數(shù)據(jù)庫引擎的鏈接,將接收的多組數(shù)據(jù)打包發(fā)送到數(shù)據(jù)庫中不同表的相應位置。因VB只能將數(shù)據(jù)追加至SQL源碼,或?qū)υ创a進行覆蓋,故在程序設(shè)計中用到了堆棧操作。堆棧采用先進后出(FILO)的方式處理數(shù)據(jù),因為僅讀取上一條發(fā)送的數(shù)據(jù),故使用堆棧相對于RAM更加高效。

        程序運行流程如圖 3所示。啟動上位機后,在用戶交互界面上點擊藍牙并成功配對后,VB會調(diào)用shell函數(shù)(shell“Bluetooth.exe”,1)啟動電腦上的Bluetooth設(shè)備界面,程序先判斷電腦藍牙是否已與外部收集數(shù)據(jù)的硬件中的內(nèi)部藍牙完成連接,若未成功連接,則需先啟動電腦上自帶的驅(qū)動藍牙。藍牙連接成功后,點擊測量,上位機通過藍牙接收外部硬件發(fā)送的數(shù)據(jù),然后保存在堆棧與數(shù)據(jù)庫中,并顯示在交互界面的顯示屏上。上位機讀取數(shù)據(jù)后用戶將會進行兩種操作,其一,將數(shù)據(jù)傳送到數(shù)據(jù)庫對應表格進行存儲和整理分析操作;其二,用戶調(diào)用上一條已傳送到數(shù)據(jù)庫中的數(shù)據(jù)并查看。

        最終效果如圖 4所示。圖(a)所示為數(shù)據(jù)庫源碼中已存儲的數(shù)據(jù),圖(b)是用戶點擊“測量”后,將上位機接收到的數(shù)據(jù)顯示在用戶交互界面上,圖(c)是用戶點擊“發(fā)送”后,上位機將新接收的數(shù)據(jù)發(fā)送到數(shù)據(jù)庫對應表格存儲區(qū)域的狀態(tài)。在程序運行中圖(a)和圖(c)不可見。

        從上位機發(fā)送數(shù)據(jù)到數(shù)據(jù)庫MySQL源碼中特定表格位置的程序代碼如下(利用堆棧):

        Dim s1 As String

        Open “F:\host\Miscellaneous\start.txt” For Binary As #1

        s1 = Input(LOF(1), #1)

        Close #1

        Dim s2 As String

        Open “F:\host\Miscellaneous\end.txt” For Binary As #1

        s2 = Input(LOF(1), #1)

        Close #1

        Open “F:\host\Stack\interimDate.txt” For Append As #1 //上位機存儲數(shù)據(jù)文件

        Print #1, “(“ + Text3.Text + “,” + Text3.Text + “,” + Text2.Text + “,” + Text1.Text + “),”

        Close #1

        Open “F:\host\Stack\last.txt” For Output As #1 //My SQL源碼文件

        Print #1, “(“ + Text3.Text + “,” + Text3.Text + “,” + Text2.Text + “,” + Text1.Text + “),”

        Close #1

        Dim s3 As String

        Open “F:\host\Stack\interimDate.txt” For Binary As #1

        s3 = Input(LOF(1), #1)

        Close #1

        Open “F:\host\Datebase\newyak.sql” For Output As #1

        Print #1, s1 + s3 + s2

        Close #1

        4 結(jié) 語

        Visual Basic功能強大,用戶界面設(shè)計方便、簡潔,被廣泛應用在數(shù)據(jù)庫應用系統(tǒng)的開發(fā)中[7]。相比WiFi等無線通信技術(shù),藍牙作為一種短距離無線通信技術(shù),具有低成本、低功耗和低輻射等特點,成為設(shè)計上位機短距離無線數(shù)據(jù)傳輸?shù)氖走x。在上位機與數(shù)據(jù)庫連接和傳輸數(shù)據(jù)的過程中,本文將VB6.0與MySQL結(jié)合,利用堆棧原理,將數(shù)據(jù)直接傳輸?shù)綌?shù)據(jù)庫MySQL語言源碼中的特定位置,以實現(xiàn)數(shù)據(jù)庫中數(shù)據(jù)的調(diào)用。

        參考文獻

        [1]關(guān)琳琳.試論VB編程語言在軟件開發(fā)中的應用[J].河南科技,2003(2):3.

        [2]李霞.基于WIFI網(wǎng)絡(luò)通信遠程控制上位機界面編程設(shè)計[D].呼和浩特:內(nèi)蒙古大學, 2011.

        [3]郭圣路,張榮圣.Visual Basic 從入門到精通[M].北京:清華大學出版社,2008.

        [4]高興,劉芳.VB訪問數(shù)據(jù)庫的原理與方法比較及發(fā)展前景[J].科協(xié)論壇(下半月),2008(4):80.

        [5]孟小峰,周龍驤,王珊.數(shù)據(jù)庫技術(shù)發(fā)展趨勢[J].軟件學報,2004,15(12):1822-1836.

        [6]楊姝,路遙,馬紅霞.SQL查詢語句的優(yōu)化方法研究[J].硅谷,2011(2):95.

        [7]高天哲.淺析VB中的數(shù)據(jù)庫技術(shù)[J].電腦知識與技術(shù):學術(shù)交流,2009,5(33):9450-9451.

        [8]翁祖泉,張琪.基于物聯(lián)網(wǎng)海量數(shù)據(jù)處理的數(shù)據(jù)庫技術(shù)分析與研究[J].物聯(lián)網(wǎng)技術(shù),2014,4(6):88-90.

        猜你喜歡
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        財經(jīng)(2017年15期)2017-07-03 22:40:49
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        兩種新的非確定數(shù)據(jù)庫上的Top-K查詢
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        數(shù)據(jù)庫
        財經(jīng)(2015年3期)2015-06-09 17:41:31
        數(shù)據(jù)庫
        財經(jīng)(2014年21期)2014-08-18 01:50:18
        數(shù)據(jù)庫
        財經(jīng)(2014年6期)2014-03-12 08:28:19
        數(shù)據(jù)庫
        財經(jīng)(2013年6期)2013-04-29 17:59:30
        亚洲av男人电影天堂热app| 丰满少妇被爽的高潮喷水呻吟| 神马不卡影院在线播放| 美女视频在线观看一区二区三区| 99久久免费视频色老| 真多人做人爱视频高清免费| 午夜福利电影| 久久88综合| 99精品视频69v精品视频免费| 国产男女猛烈无遮挡免费视频网址| 日本视频一区二区三区三州| 久久综合激情的五月天| 久久红精品一区二区三区| 亚洲成熟女人毛毛耸耸多| 性刺激的大陆三级视频| 日韩a毛片免费观看| 国产精品久久1024| 一本久道在线视频播放| 狠狠躁夜夜躁av网站中文字幕| 国产一卡2卡3卡四卡国色天香| 中文字幕+乱码+中文字幕无忧| 国产亚洲精选美女久久久久| 日本二区三区视频在线观看| 我和丰满妇女激情视频| 东北老女人高潮大喊舒服死了| 成人区人妻精品一区二区不卡网站| 久久狠狠爱亚洲综合影院| 亚洲乱码av中文一区二区第八页| 亚洲中文字幕在线一区| 开心五月激情综合婷婷色 | 亚洲日韩精品一区二区三区| 精产国品一二三产品蜜桃| аⅴ天堂国产最新版在线中文| 中文字幕一区二区人妻痴汉电车| 在线观看国产自拍视频| 人妻久久一区二区三区蜜桃| 国产精品爽黄69天堂a| 精品综合久久久久久8888| 国内精品毛片av在线播放| 狠狠躁夜夜躁人人爽超碰97香蕉| 日韩人妻无码精品久久久不卡|