2021-4-9 | 通信技術
近年來計算機技術發展迅速,一些相關的計算機輔助技術也隨著其發展而發展迅速,并且很多的技術已經被逐步地使用到了國民生產生活的各個領域中。伴隨著計算機技術在工業控制領域應用,計算機與外圍設備之間的通信控制得到廣泛的應用的同時,其作用顯得越來越重要。本文成功地利用VB建立了基于MSComm控件的兩PC機之間的串行通訊。本文所作主要工作如下幾點:比較詳細地研究了有關串行通訊的原理與設計的問題;設計了利用串行通訊實現兩PC間的數據傳輸的系統圖;學習了MSComm控件,并且利用VB開發出了實現兩PC間串行通信的程序。本文建立的程序完成了預定的目標,從而為企業局域網內的工業控制流的傳遞、信息的交換提供了一個較為成熟和完善的平臺,對于相關技術人員和程序開發人員提供了一定的指導作用。
1基于WIN32API的串行通訊技術原理
1.1串行口的創建與打開
RS232串行口在WIN32系統可以類比為磁盤上的文件。在WIN32API中可以通過一個函數CreateFile()創建一個新文件或者打開已有的系統文件,有所區別的是函數的參數,當“創建方式”這一參數的值應為OPEN_EXISTING表示打開文件。另一方面值得注意的是在串行口文件使用的問題,當串行口文件“共享模式”的參數值為0時,串行口為獨占使用方式,在串口獨立使用的時候,其他的應用程序不能夠并行,要并行,只有等到串行口的文件使用結束以后,才能關閉以便其他的應用程序共同使用這個串口。
1.2串行口的設置
串行口打開后就會產生一個串行口的句子,這個句子一般是HANDLE類型的變量hComm中存放起來的,而且對于hComm對該串行口實時操作時必須注意串行口的設置要進行初始化,否則很難實現串口行的操作。這些串口行的操作中要設置CommProp、CommConfig結構、串口狀態、串口超時、標志等這些內容,而且這些設置中,以CommProp結構最大最復雜,其設置往往要包含最大發送序列和最大接受序列,所以這個結構的設置也是串口配置中最為關鍵的環節,而且是串口配置的核心部分內容,決定著關鍵的結構設置。
一般而言,將DCB結構進行初始化的過程主要是數據位數的定義過程,首先是對于每個字符的數據位數的奇偶、事件字符,停止位數,以及流量控制的方式以及串口發送的波特率進行校驗和設置,然后再是關注設置的一些方法,比如在此串口的設置中,要預先得到缺省的配置再去修改參數部分,而且這樣才能夠令下個環節立刻可以將串口當前的狀態進行反應,基帶協議中帶有分組頭信息,包括了HFC信息與CRC信息,這些信息對于分組和傳輸過程中的錯誤都能夠有效地進行檢驗,并得到充分的結果,而且在該基帶協議中,出于有效載荷正確與否,可以將循環冗余校驗碼進行加載,加載的信息進行分組,然后在ARQ的方案基礎上,對分組的荷載進行工作和分析。而話音在系統中,因為有效的分組頭沒有保護措施,所以藍牙可以得到快速和沒有編號的確認,而且在應答前,還要進行一次分組,返回過程一般使用ACK(ARQN=1)或者NAK(ARQN=0)程序,在程序形成的過程中,還是要進行ACK/NACK域的組成,這種組成可以在某個區域里才能了解負載接收,這種接受能夠在區域里的編碼是不是對的,并且便于根據實際情況,決定是否重新發送或者發送到下一個分組。
MSComm控件提供了使RS-232進行數據通信的所有協議,它有兩種處理通信的方式,即事件驅動和查詢方式,本文利用了事件驅動方式,可以滿足工業用實時性的要求。但是這里特別指出的是一個MSComm控件只能對應一個串口。假如程序中要用到多個串口,那么相應的就有同等數量的MSComm控件,但是MSComm控件的數量并非沒有限制,一個程序中對多只能有16個MSComm控件。這點是需要注意的。MSComm控件的屬性較多,但是常用的并且與本文設計有關的幾個重要屬性如表1所示。利用MSComm控件進行串口通信的一般步驟為:(1)設置通信對象、通信端口以及其它屬性;(2)設定通信協議;(3)打開通信端口,進行數據的傳送;(4)關閉通信端口。
2線程同步技術及應用實例
2.1線程同步技術簡介
內存調動程序開始運行之后其身份即變為Windows系統中的一個進程,每個進程需要占據高達4G的獨立的一個內存空間,各個內存空間之間無法越界存取,以免造成保護性錯誤被通知非法操作。一個進程的執行效率較低,因此通常分為幾個線程開展執行。藍牙從一定方面來說,是一種近距離數據通訊技術,采用無線的傳輸形式,然而和紅外通訊技術點對點的傳輸方式相比,藍牙可以在10米的距離之內實現一點對多點的聲音與數據傳輸,它的傳輸帶寬能夠達到1Mbps。目前,這一技術在進行無線通訊時是免費的,可以大大簡化筆記本電腦及手機等終端設備與互聯網之間的通信,它采用低能耗的無線成功實現諸如視頻、語音及數據等傳輸,可以實現同時發送與接收信號的雙加工,傳輸距離范圍一般在0.1到10米之間,假如采用功率放大器,傳輸的距離最大可以達到100米。總的來說,藍牙可以實現一點對多點的數據傳輸,同時還具有傳輸耗能低、傳輸速率較快、組網簡單方便及安全性好等優點,此外,藍牙最為突出的一個特點就是能夠在一定的傳輸距離內穿透建筑物,且沒有關于通訊方向與視角的要求,目前,紅外通訊技術不僅被廣泛應用到臺式電腦、筆記本電腦及打印機等外圍設備上,同時也廣泛應用于電話、相機、游戲機、網絡接入設備及醫療工業設備等方面。然而藍牙雖然是一種比較流行的新興的短距離無線通訊技術,但是目前還沒有得到廣泛的應用,從某種方面來說,很多藍牙設備目前仍然處在實驗室試驗的階段,由于藍牙具有紅外通訊技術有的特點,換句話來說,具有紅外通訊功能的設備能夠使用藍牙來成功實現無線連接,此外,藍牙還具有紅外通訊技術所沒有的一些獨具特色的功能,比如,藍牙傳輸距離最大可以達到100米,可以穿透建筑物,可以實現一點對多點的傳輸,可以傳輸語音與視頻等數據。
2.2多線程通訊技術應用實例