VB.NET通信程序基礎(chǔ)概念詳解
VB.NET中有一個非常重要的概念,就是通信程序。在這里我們會這對VB.NET通信程序的基本概念進(jìn)行一個詳細(xì)的介紹。希望對大家有所幫助。1992年crescent software inc.公司專為vb設(shè)計(jì)mscomm.vbx用戶通信控件。#t#
VB.NET通信程序提供了通過串口發(fā)送和接收數(shù)據(jù)的串行通信能力,不但包括了全部windows api中關(guān)于串行通信的16個函數(shù)所完成的功能,而且開拓了更多的使用戶設(shè)計(jì)方便的對象屬性來滿足不同用戶不同業(yè)務(wù)的需求。目前國內(nèi)眾多的vb資料中很少涉及該通信控件的介紹,本文將詳細(xì)介紹mscomm.vbx通信控件及編程方法,并結(jié)合工作中的一個實(shí)例給出基本通信程序。
mscomm.vbx通信控件描述
mscomm.vbx通信控件可直接從vb的toolbox中加入窗體form,即可用其進(jìn)行通信。若toolbox中無此控件,則用tools的custom controls 將mscomm.vbx從windows的system子目錄中加入vb的toolbox中。
1、信方式
mscomm.vbx有2種不同的方式來處理和解決各類通信軟件的開發(fā)和設(shè)計(jì)問題
1)事件驅(qū)動。它與c/c++寫windows 軟件時(shí)的窗口回調(diào)函數(shù)類似,是1種功能強(qiáng)大的處理問題的方法。在實(shí)際工作中,往往要處理許多通信中的相關(guān)事件,例如:當(dāng)線路數(shù)據(jù)到達(dá)本端或cd線和rts信號線狀態(tài)發(fā)生變化時(shí),要求我們使用相應(yīng)的事件來跟蹤和處理,該控件是使用oncomm事件來實(shí)現(xiàn)的,它也包括檢測和處理通信錯誤等方面的問題,commevent 值返回最近的通信事件或錯誤的數(shù)字代碼。VB.NET通信程序中詳細(xì)的錯誤和事件舉例有:
- mscomm-er-break
收到1個break signal- mscomm-er-cdto cd 信號超時(shí)
- ……
- mscomm-ev-cd cd信號改變
- ……
2)查詢方式。由程序設(shè)計(jì)者負(fù)責(zé)讀取commevent的值并處理所發(fā)生的錯誤或事件。通常簡單的應(yīng)用程序設(shè)計(jì)可采用這種辦法。
2、信控件的屬性
利用通信控件編制VB.NET通信程序,關(guān)鍵是準(zhǔn)確理解設(shè)置通信控件的屬性。mscomm.vbx提供了27個關(guān)于通信控件方面的屬性,例如:
- commport:設(shè)置或返回通信口編號。
- settings:設(shè)置或返回以字符串
形式出現(xiàn)的數(shù)據(jù)通信格式:波特率、
校驗(yàn)、數(shù)據(jù)位和停 止位。- portopen:設(shè)置或返回通信口狀態(tài)
(包括打開和關(guān)閉1個通信口)- ……