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

        ?

        基于串口通信的控制系統(tǒng)設計

        2016-09-23 17:17:23李志偉姚江敏
        科技與創(chuàng)新 2016年16期

        李志偉 姚江敏

        摘 要:串口通信是計算機應用中最常用的通信方式之一。針對常用的系統(tǒng)控制和數(shù)據(jù)傳輸問題,研究了VB環(huán)境下通信連接和信號控制的基本原理,提出了利用單向信號傳輸,通過MSComm控件實現(xiàn)計算機系統(tǒng)控制的設計思想。實踐應用表明,軟件控制穩(wěn)定、可靠,具有很強的擴展應用價值。

        關鍵詞:串口通信;計算機系統(tǒng)控制;MSComm控件;單向信號

        中圖分類號:TP274.2 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.16.102

        在數(shù)據(jù)通信中,計算機系統(tǒng)之間的相互控制是計算機應用的常見方式之一。雖然現(xiàn)代網(wǎng)絡技術、接口技術的飛速發(fā)展為數(shù)據(jù)通信提供了更加快捷、便利的途徑,但是,由于串口通信具有硬件成本低、協(xié)議透明、編程簡單等優(yōu)點,所以,在計算機通信,尤其是數(shù)據(jù)采集、監(jiān)視及控制等領域,仍然具有很大的應用潛力。

        1 VB環(huán)境下的串口通信

        1.1 串口通信

        在VB環(huán)境中,利用串口可以實現(xiàn)計算機設備之間的相互通信。通常情況下,主要有2種通信方式:①利用Windows提供的API函數(shù);②利用VB提供的MSComm控件。雖然前者實現(xiàn)方法簡單,但設計過程相對復雜,工作量比較大,對程序員有較高的要求。盡管后者實現(xiàn)過程比較復雜,但由于微軟對其處理過程進行了封裝,并向用戶提供了方便的接口,因此,使用操作比較簡單,只需簡單地嵌入就能完成復雜的串口通信任務,設計工作量比較小,效率較高,是程序設計比較理想的方法。

        1.2 MSComm控件

        MSComm是一種串行通信控件,它提供事件驅(qū)動和檢查CommEvent屬性兩種處理通信的方式。在VB 6.0系統(tǒng)中,通過部件設置可以將該控件添加到工具箱中,以便在設計界面中引用,通過屬性設置和操作實現(xiàn)串口數(shù)據(jù)的發(fā)送和接收。

        在數(shù)據(jù)傳輸和控制應用中,MSComm控件常用的屬性有以下幾點:①CommPort,設置并返回通信端口號;②Settings, 以字符串的形式設置并返回波特率、奇偶校驗、數(shù)據(jù)位和停止位;③PortOpen,設置并返回通信端口的狀態(tài)——打開或關閉;④Input,從接收緩沖區(qū)返回并刪除字符;⑤Output,向傳輸緩沖區(qū)寫一個字符串。

        2 串口通信的信號連接

        在臺式計算機后部面板上,通常有一兩個串行通信接口,其外部形狀為梯形公插頭結構,根據(jù)插針的數(shù)量可以分為25針和9針2種。前者多見于早期的AT架構計算機。目前,ATX架構計算機的串口均采用9針接口,其結構如圖1所示。

        9針串口各引腳的功能分別為:載波檢測(DCD)、接收數(shù)據(jù)(RXD)、發(fā)送數(shù)據(jù)(TXD)、數(shù)據(jù)終端準備好(DTR)、信號地(GND)、數(shù)據(jù)準備好(DSR)、發(fā)送請求(RTS)、發(fā)送清除(CTS)、振鈴指示(RI)。

        通常情況下,在計算機之間進行一般的數(shù)據(jù)傳輸時,如果沒有特別要求,只要正確連接2,3,5引腳便可。其連接方法是:2臺計算機對應串口的2,3引腳相互交叉,5引腳直接連通,具體如圖2所示。

        3 控制系統(tǒng)設計

        3.1 設計方法

        在設計控制系統(tǒng)時,可以通過串口實現(xiàn)計算機之間的相互控制,其具體方法是:①從市場上購買一對如圖1所示的9針串口梯形母插頭,按照圖2所示的連接方法用信號線連接2個插頭;②選擇2臺需要互聯(lián)的計算機的空閑串口,用做好的串口連線連接;③選擇其中一臺計算機作為主控機,另一臺作為被控機;④在主控機上安裝并運行主控程序,選擇連接的串行端口,由對應的串口向被控機發(fā)送控制指令;⑤在被控機上安裝并運行被控程序,選擇連接的串行端口,經(jīng)由對應的串口等待并接收來自主控機的控制指令;⑥當被控機串口接收到主控機發(fā)來的控制指令后,根據(jù)預設的指令功能執(zhí)行控制操作,實現(xiàn)系統(tǒng)控制。

        3.2 主控端程序設計

        假設需要通過主控機對被控機完成下列3項控制功能:打開媒體播放器、打開記事本、關閉計算機,則主控機的控制指令可以通過2臺計算機的串口實現(xiàn)傳遞。因此,要先通過用戶界面選擇所使用的串行端口號,設計界面如圖3所示。

        為了實現(xiàn)串行通信的數(shù)據(jù)傳輸和端口控制,程序設計時需要在界面中添加一個MSComm控件,通過界面選擇通信用“串口號”,通過“打開串口”按鈕,打開對應的串行端口。設MSComm控件的實例名為MSComm1,選擇的串口號為1,則相應的設置語句為:MSComm1.CommPort=1,MSComm1.PortOpen = True.

        在圖3所示的樣例中,如果要“打開媒體播放器”,則點擊相應的按鈕,通過執(zhí)行下列語句便可實現(xiàn)控制指令由主控機向被控機的發(fā)送:MSComm1.Output = "MediaPlayer".

        3.3 被控端程序設計

        被控端程序與主控端程序一樣,運行時也要通過MSComm控件對端口進行初始化操作——選擇端口、打開端口,然后定時檢測對應串口的工作狀態(tài)。

        為了實現(xiàn)對端口狀態(tài)的檢測,需要增加一個定時器控件,定時檢測相應串口是否有新的數(shù)據(jù)到達,以便及時處理。定時時間可根據(jù)用戶需要設置。

        設程序中添加的定時器控件實例名為Timer1,則相應的被控程序部分代碼如下:

        Private Sub Timer1_Timer()

        Dim Input_Data As String

        Input_Data = Trim(MSComm1.Input)

        Select Case Input_Data

        Case "MediaPlayer"

        Shell " C:\Program Files\Windows Media Player\wmplayer. exe", vbNormalNoFocus

        ……

        Case Else

        Exit Sub

        End Select

        End Sub

        在該程序運行的過程中,當接收到來自串口的一組數(shù)據(jù)時,系統(tǒng)便自動分析判斷。如果是一條預設的控制指令,則執(zhí)行對應的功能,否則不予處理。在本例中,如果接收到的是一個字符串“MediaPlayer”,則程序通過shell語句直接調(diào)用,并執(zhí)行本機中的wmplayer.exe程序,打開媒體播放器。

        3.4 控制測試

        按照上述方法,用串行線連接好主控計算機和被控計算機相應的串口1端口,打開2臺計算機,在主控計算機上運行測試程序,進入圖3所示的控制界面,點擊“打開串口”按鈕。此時,便建立了2臺計算機的通信連接。然后點擊“打開媒體播放器”按鈕,此時,在被控計算機上便可自動播放Windows系統(tǒng)自帶的媒體播放程序。同樣,在圖3界面中點擊“打開記事本”按鈕,也可以迅速控制被控計算機運行記事本程序,實現(xiàn)預期的控制效果。

        多次試驗表明,該程序運行穩(wěn)定、可靠,在遠程控制系統(tǒng)設計中既簡單又實用,具有較高的應用價值。

        3.5 說明

        采用串口通信實現(xiàn)計算機控制的關鍵是正確設置串口通信控件MSComm。在具體工作中,需要重點注意以下幾個方面的問題:①根據(jù)控制信號的物理連接,正確選擇并打開相應的串行端口。②針對不同的終端設備,采用控件的Settings屬性正確設置數(shù)據(jù)傳輸?shù)牟ㄌ芈?、奇偶校驗、?shù)據(jù)位、停止位。在缺省的情況下,控件按默認參數(shù)自動設置。③當系統(tǒng)需要通過串口傳輸大量數(shù)據(jù)時,為了保證在緩沖區(qū)過載時數(shù)據(jù)不會丟失,需要通過控MSComm件的Handshaking屬性設置相應的通信協(xié)議(即握手協(xié)議),通過控件的OnComm事件捕獲并處理相關的通信事件,檢查設備連接和通信是否正確,確保控制系統(tǒng)的穩(wěn)定、可靠。此時,圖2所示連接的串行線已經(jīng)不能滿足需要,還需要正確連接RTS、CTS、DSR、DTR等信號線。

        4 結束語

        由此實例可知,利用串口通信的數(shù)據(jù)傳輸功能可以方便地實現(xiàn)計算機之間的系統(tǒng)控制。由于該方法硬件連接簡單,軟件設計靈活,可靠性高,因此,將其應用于工業(yè)、家用電器、辦公等自動化和嵌入式應用中,可以快速實現(xiàn)數(shù)據(jù)采集和設備控制,具有廣闊的應用前景。

        參考文獻

        [1]杜正杰,王衛(wèi)鋒.基于串口實現(xiàn)DCS數(shù)據(jù)的安全采集[J].測控技術,2014,33(3):45-48.

        [2]劉建河,趙玉丹,張玉強.基于LABVIEW串口通信的電機控制技術[J].制造業(yè)自動化,2013,35(11):135-137.

        [3]李志偉,鐵躍煥,楊茂興.基于串行指令的紅外探測遠程控制系統(tǒng)設計[J].計算機工程與設計,2014,35(4):1486-1490.

        [4]黃斌.基于串口通信的電腦遙控系統(tǒng)設計[J].測控技術,2013,32(6):72-75.

        作者簡介:李志偉(1964—),男,河南宜陽人,副教授,CCF高級會員,主要研究方向為計算機及其在航空武器裝備中的應用。

        〔編輯:白潔〕

        一区二区三区四区免费国产视频| 成年女人午夜特黄特色毛片免| 都市激情亚洲综合一区| 日韩国产有码精品一区二在线 | 欧美老妇交乱视频在线观看| 波多野42部无码喷潮在线| 国产午夜精品理论片| 欧美白人最猛性xxxxx| 精品一精品国产一级毛片| 色婷婷一区二区三区四区| 久久亚洲一区二区三区四区五| 国产精品成人av大片| 日韩精品 在线 国产 丝袜| 东京道一本热中文字幕| 日本a片大尺度高潮无码| 精品人妻无码视频中文字幕一区二区三区 | 老熟女重囗味hdxx70星空| 精品欧美一区二区在线观看| 日韩成人无码v清免费| 国品精品一区二区在线观看| 大陆啪啪福利视频| 99久久精品人妻一区| 欧美a级毛欧美1级a大片| 蜜芽亚洲av无码精品色午夜| 国产精品www夜色视频| 一本大道色婷婷在线| 囯产精品无码va一区二区| 久久精品国产亚洲av成人擦边 | 偷拍综合在线视频二区| 久久久久成人精品无码| 99久久精品国产成人综合| 亚洲AV秘 无码二区在线| 久久久久久无码AV成人影院| 我的极品小姨在线观看| 新中文字幕一区二区三区| 无码国内精品久久人妻| 亚洲中文字幕无码一区| 97人妻视频妓女网| 亚洲免费福利视频网站| 青青手机在线观看视频| 女人张开腿让男桶喷水高潮|