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

        ?

        基于VB的RS-485 串口通信方法

        2016-08-09 07:23:32王香菊范興亮鄔聰明
        中國新通信 2016年11期
        關(guān)鍵詞:工控機(jī)傳輸速率控件

        王香菊 范興亮 鄔聰明

        【摘要】 在VB(Visual Basic)語言編程中,使用串口通信MSComm控件,可以方便地實(shí)現(xiàn)串口通信編程。RS-485總線接口是一種常用的串口總線,具有連接方便、抗干擾性能好、傳輸距離遠(yuǎn)等優(yōu)點(diǎn)。本文介紹了在VB環(huán)境下,使用微軟公司提供的MSComm控件實(shí)現(xiàn)RS-485串口通信的方法。

        【關(guān)鍵字】 MSComm控件 VB 串行接口 RS-485

        引言

        在工業(yè)控制領(lǐng)域,工控機(jī)經(jīng)常需要與智能儀器或其它設(shè)備通過串口進(jìn)行通信。串口通信方便易行,應(yīng)用廣泛。Visual Basic(簡稱VB)是Windows系統(tǒng)開發(fā)的主要語言之一,以其高效、簡單易學(xué)及功能強(qiáng)大的特點(diǎn)被廣大程序設(shè)計(jì)人員所青睞。VB支持面向?qū)ο蟮某绦蛟O(shè)計(jì),具有結(jié)構(gòu)化的事件驅(qū)動(dòng)編程模式并可以使用功能強(qiáng)大的控件。

        一、串口通信標(biāo)準(zhǔn)

        串行接口(Serial Interface)是指數(shù)據(jù)按位順序傳送,其特點(diǎn)是通信線路簡單,只要一對(duì)傳輸線就可以實(shí)現(xiàn)雙向通信,并可以利用電話線,從而降低了成本,適用于遠(yuǎn)距離通信,但傳送速度較慢。串行接口按電氣標(biāo)準(zhǔn)及協(xié)議來分包括RS-232-C、RS-422、RS485等。

        RS-232也稱標(biāo)準(zhǔn)串口,最常用的一種串行通訊接口。RS-232是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,適合本地設(shè)備之間的通信。其傳送距離最大為約15米,最高速率為20kb/s。RS-422標(biāo)準(zhǔn)是一系列的規(guī)定采用4線,全雙工,差分傳輸,多點(diǎn)通信的數(shù)據(jù)傳輸協(xié)議。RS-422支持點(diǎn)對(duì)多的雙向通信,其最大傳輸距離為1219米,最大傳輸速率為10Mb/s。在100kb/s速率以下,才可能達(dá)到最大傳輸距離。只有在很短的距離下才能獲得最高速率傳輸。一般100米長的雙絞線上所能獲得的最大傳輸速率僅為1Mb/s。

        RS-485是從RS-422基礎(chǔ)上發(fā)展而來的,所以RS-485許多電氣規(guī)定與RS-422相仿。RS-485可以采用二線與四線方式,二線制可實(shí)現(xiàn)真正的多點(diǎn)雙向通信,而采用四線連接時(shí),能實(shí)現(xiàn)點(diǎn)對(duì)多的通信,它比RS-422有改進(jìn),無論四線還是二線連接方式總線上可多接到32個(gè)設(shè)備。RS-485與RS-422一樣,其最大傳輸距離約為1219米,最大傳輸速率為10Mb/s,但只有在很短的距離下才能獲得最高速率傳輸。PC機(jī)默認(rèn)的串口是RS-232標(biāo)準(zhǔn),但RS-485總線接口具有網(wǎng)絡(luò)連接方便、抗干擾性能好、傳輸距離遠(yuǎn)等優(yōu)點(diǎn),它彌補(bǔ)了RS-232 通訊距離短,不能進(jìn)行多臺(tái)設(shè)備同時(shí)互聯(lián)的缺點(diǎn)。

        二、MSComm 控件介紹

        MSComm控件通過串行端口發(fā)送和接收數(shù)據(jù),為應(yīng)用程序提供串行通訊功能。使用MSComm控件時(shí),程序員不必花時(shí)間去了解復(fù)雜的API函數(shù),而且多個(gè)平臺(tái)均可使用。Microsoft Communications Control(以下簡稱MSComm)是Microsoft公司提供的用于實(shí)現(xiàn)Windows下串行通信的ActiveX控件。它提供了兩種實(shí)現(xiàn)串口通信的方法:事件驅(qū)動(dòng)方法和查詢法。

        VB中的MSComm控件提供了功能完善的串口數(shù)據(jù)的發(fā)送和接收功能。 Mscomm控件通信功能的具體實(shí)現(xiàn),實(shí)際上是調(diào)用了API函數(shù)。對(duì)于VB程序開發(fā)者只需知道Mscomm控件的屬性和用法即可以實(shí)現(xiàn)串口的操作。Mscomm控件的主要屬性和用法如下表1。

        三、VB中使用MSComm控件實(shí)現(xiàn)串口通信的過程

        在工程應(yīng)用編程過程中,使用工控機(jī)作為上位機(jī),通過串口對(duì)自己的下位機(jī)進(jìn)行控制。在控制界面中首先插入Mscomm控件,其名稱可以通過它的屬性進(jìn)行設(shè)置,如不設(shè)置默認(rèn)為Mscomm1。編程代碼如下:

        (1)串口初始化

        MSComm1.CommPort = COM1 ‘采用COM1端口

        MSComm1.Settings = “9600,n,8,1” ‘對(duì)串口通信設(shè)置

        MSComm1.InputMode = 1 ‘采用二進(jìn)傳輸

        MSComm1.InBufferCount = 0 ‘清空接受緩沖區(qū)

        MSComm1.OutBufferCount = 0 ‘清空傳輸緩沖區(qū)

        MSComm1.RThreshold = 9 ‘接收緩沖區(qū)收到9字符都會(huì)使控件產(chǎn)生 OnComm 事件

        MSComm1.InBufferSize = InBufferSize ‘接收緩沖區(qū)默認(rèn)為1024個(gè)字節(jié)MSComm1.OutBufferSize = OutBufferSize ‘發(fā)送緩沖區(qū)默認(rèn)為512個(gè)字節(jié)

        MSComm1.PortOpen = True ‘打開端口

        (2)串口發(fā)送數(shù)據(jù)

        Dim send_data(0 to 1) As Byte

        MSComm1.RTSEnable = True

        MSComm1.DTREnable = True

        send_data(0)=&HA1;

        send_data(1)=&HB1;

        MSComm1.Output=send_data

        MSComm1.OutBufferCount = 0

        (3)串口接收數(shù)據(jù)

        Dim dd(100) As Byte

        Dim buffer As Variant

        Private Sub MSComm1_OnComm()

        Select Case MSComm1.CommEvent

        Case 2

        MSComm1.InputLen = 9 ‘一次從接收緩沖區(qū)讀取的字節(jié)數(shù)

        buffer = MSComm1.Input

        for i = 0 To UBound(buffer)

        dd(i) = buffer(i)

        next i

        ……對(duì)所收到的數(shù)據(jù)處理成所需的數(shù)據(jù)類型

        End Select

        MSComm1.InBufferCount = 0

        End Sub

        (4)關(guān)閉串口

        MSComm1.PortOpen=False ‘關(guān)閉通信口

        在程序設(shè)計(jì)過程中,將上述程序代碼添加到設(shè)計(jì)好的程序界面中就可以實(shí)現(xiàn)串口通信,可以用定時(shí)器或線程對(duì)串口的收發(fā)數(shù)據(jù)進(jìn)行靈活控制。在控制系統(tǒng)設(shè)計(jì)中,一般上位機(jī)(工控機(jī))串口默認(rèn)只有RS-232口,要實(shí)現(xiàn)RS-485串口通信,需要在硬件電路的連接中使用”RS-232轉(zhuǎn)RS-485”轉(zhuǎn)換器。

        四、結(jié)束語

        在VB集成開發(fā)環(huán)境中,利用MSComm控件實(shí)現(xiàn)RS-485串口通信,通過軟件的實(shí)際運(yùn)行效果證明這種編程方法簡單,通信可靠。對(duì)于許多編程者來說,MSComm控件使用方便,容易掌握,利用此控件可以輕松地實(shí)現(xiàn)串口通信。

        參 考 文 獻(xiàn)

        [1] 錢雪忠. 新編Visual Basic程序設(shè)計(jì)教程,北京:機(jī)械工業(yè)出版社, 2007.5

        [2]劉長征,張榮華.Visual v++ 串口通信及測控應(yīng)用實(shí)例詳解[M].北京:電子工業(yè)出版社,2014.1

        猜你喜歡
        工控機(jī)傳輸速率控件
        定制工控機(jī)在老舊線路計(jì)算機(jī)聯(lián)鎖設(shè)備中的應(yīng)用
        中壓電子束焊工控機(jī)Windows NT系統(tǒng)文件丟失故障的修復(fù)方法
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        跨山通信中頻段選擇與傳輸速率的分析
        黑龍江電力(2017年1期)2017-05-17 04:25:16
        數(shù)據(jù)傳輸速率
        CHIP新電腦(2016年9期)2016-09-21 10:31:09
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        新一代全球衛(wèi)星通信網(wǎng)絡(luò)將百倍提升傳輸速率
        中國工控機(jī)市場新Style
        新漢 前插拔CoreTM-i系列無風(fēng)扇工控機(jī)
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        国产农村乱子伦精品视频| 亚洲av午夜福利精品一区不卡 | 无码少妇一区二区浪潮av| 亚洲中文av一区二区三区| 精品人妻一区二区久久| 日本a级特级黄色免费| 国产h视频在线观看| 在线免费观看国产精品| 亚洲国产日韩综一区二区在性色| 国产亚洲精品精品综合伦理| 欧美亚洲国产一区二区三区| 亚洲一区中文字幕在线电影网| 亚洲女同同性少妇熟女| 日本在线一区二区三区视频观看| 久久99精品久久久久久9蜜桃| 欧美日韩国产成人高清视| 亚洲一区极品美女写真在线看| 亚洲国产中文字幕在线视频综合| 麻豆精品国产精华精华液好用吗| 四虎精品影视| 天天综合色中文字幕在线视频| 久久久久99精品成人片欧美| 亚洲精品黑牛一区二区三区| 阿v视频在线| av在线不卡免费中文网| 少女韩国电视剧在线观看完整| 亚洲白白色无码在线观看| 中文字幕一区二区va| 成人日韩精品人妻久久一区| 最新高清无码专区| 日韩精品久久久中文字幕人妻 | av天堂精品久久综合网| 天天做天天爱天天爽综合网| 亚洲国产成人精品激情资源9| 国产乱人伦偷精品视频还看的| 国产精品 亚洲 无码 在线| 国产A√无码专区| 女同性恋一区二区三区四区| 国内永久福利在线视频图片| 最好看的最新高清中文视频| 欧美综合自拍亚洲综合百度|