国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

串口編程在物探儀器中的應(yīng)用

2012-03-29 02:50:10陳萬勝
陜西科技大學(xué)學(xué)報 2012年2期
關(guān)鍵詞:控件物探串口

陳萬勝

(中煤科工集團(tuán)西安研究院, 陜西 西安 710077)

0 引 言

在很多情況下,遠(yuǎn)程監(jiān)控和工業(yè)自動化領(lǐng)域系統(tǒng)常見的通信編程多為串口通信編程.計算機串口和并口編程在通信[1-5]軟件中有著十分廣泛的應(yīng)用,如電話、傳真、視頻和控制等.過去的物探儀器,在采集數(shù)據(jù)后,僅僅把數(shù)據(jù)存入自身的或外部擴(kuò)展的存儲器,有的甚至沒有存儲器,而是需要人手工記錄,再把記錄的數(shù)據(jù)輸入計算機進(jìn)行相應(yīng)的資料處理.在這個過程中,可能由于人為的失誤造成數(shù)據(jù)的錯位,導(dǎo)致處理資料的偏差.為了解決便攜式物探儀器與計算機數(shù)據(jù)傳輸問題,我們在計算機中選擇Visual Basic作為開發(fā)工具,下位機選擇C51做為開發(fā)工具.

1 串行通訊控件MSComm

串口是常用的計算機與外部設(shè)備之間的數(shù)據(jù)通道.由于串行通信方便易行,所以應(yīng)用廣泛.依據(jù)不同的條件實現(xiàn)對串口的靈活編程控制是我們所需求的.串口九針定義如表1所示.

表1 9針串口定義

Windows下串行通信與以往的DOS下串行通信程序不同的是Windows不提倡應(yīng)用程序直接控制硬件,而是通過Windows操作系統(tǒng)提供的設(shè)備驅(qū)動程序來進(jìn)行數(shù)據(jù)傳遞.在此結(jié)合實例,敘述在Visual Basic中實現(xiàn)PC機與單片機串口的通信過程.

在可視化程序中實現(xiàn)串口通信,可以利用Windows提供的API函數(shù)通過查詢方式來實現(xiàn),也可以通過控件以事件的方式來實現(xiàn).對于多數(shù)用戶,控件是最好的選擇.因為只要了解他的部分屬性,通過在事件中加入合適的處理程序,便可完成對串口的編程.由于Mscomm控件不是常用的控件,因此需要把該控件添加到工具欄中.在工具欄中右擊鼠標(biāo),在彈出的菜單欄中選擇部件,選中Microsoft Comm Control6.0,便可把Mscomm控件添加到工具欄中,通過對Mscomm控件進(jìn)行相應(yīng)的處理便可完成上位機的串口程序.現(xiàn)把Mscomm控件的常用屬性敘述如表2所示.

表2 Mscomm屬性含義

表3 MSComm的Oncomm事件

以下是通過設(shè)置控件屬性對串口進(jìn)行初始化的實例.

設(shè)置串口端口

MSComm1.CommPort=1

設(shè)置串口通信波特率及相關(guān)參數(shù)

MSComm1.Settings=“9600,n,8,1”

設(shè)置串口通訊模式,0(comInputModeBinary)為二進(jìn)制傳輸,1(comInputModeText)為文本方式傳輸

MSComm1.InputMode=comInputModeBinary

打開端口

MSComm1.PortOpen=True

‘打開串口’

打開對應(yīng)串口后,需要考慮串口通信的過程中串口的一些事件.在接收或發(fā)送數(shù)據(jù)過程中,可能需要監(jiān)視并響應(yīng)一些事件和錯誤,所以事件驅(qū)動是處理串行端口交互作用的一種非常有效的方法.使用OnComm事件和CommEvent屬性捕獲并檢查通信事件和錯誤的值.發(fā)生通信事件或錯誤時,將觸發(fā)Oncomm事件,CommEvent屬性的值將被改變,應(yīng)用程序檢查CommEvent屬性值并作出相應(yīng)的反應(yīng)來完成串口通訊.在Oncomm事件中根據(jù)相應(yīng)的事件添加相應(yīng)的處理程序即可.Oncomm事件(屬性)名稱及對應(yīng)的關(guān)系如表3所示.

2 串口通信在物探儀器中的應(yīng)用

需要說明的是,計算機和單片機直接傳輸數(shù)據(jù)需要有數(shù)據(jù)協(xié)議約定,以保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性.協(xié)議約定為每組數(shù)據(jù)前兩字節(jié)為開始標(biāo)志,第三字節(jié)為本組數(shù)據(jù)長度,最后再加上結(jié)束標(biāo)志.以流量儀為例來論述.

2.1 計算機部分程序?qū)崿F(xiàn)

通過使用微軟的Mscomm控件來完成計算機部分的接收程序和發(fā)送程序.編程簡單,效率高,通訊準(zhǔn)確性高.發(fā)送部分程序的實現(xiàn),首先要把發(fā)送部分的數(shù)據(jù)放入發(fā)送隊列,打開串口,對串口進(jìn)行初始化,設(shè)置相應(yīng)的參數(shù),然后設(shè)置合適Sthreshold參數(shù),把發(fā)送的數(shù)據(jù)寫入串口緩沖區(qū),完成發(fā)送任務(wù).接收部分程序的實現(xiàn),判斷數(shù)據(jù)開始標(biāo)志位,把數(shù)據(jù)存入接收隊列,當(dāng)讀到一組數(shù)據(jù)的結(jié)束標(biāo)志時,數(shù)據(jù)存入相應(yīng)的數(shù)組,為后面計算做準(zhǔn)備.接收和發(fā)送流程圖如圖1和圖2所示.

圖1 接收流程圖 圖2 發(fā)送流程圖 圖3 下位機電路原理圖

2.2 下位機程序?qū)崿F(xiàn)及電路設(shè)計

下位機是把現(xiàn)場采集到的數(shù)據(jù)存入數(shù)據(jù)存儲器,從現(xiàn)場帶回之后,再把數(shù)據(jù)通過串口上傳給計算機,單片機外接MAX232直接把數(shù)據(jù)上傳給計算機.MAX232的輸入端T1IN接單片機的TXD(發(fā)送端),R1OUT接單片機的RXD(接收端),T1OUT接9針插頭的RXD(接收),R1IN接9針插頭的TXD(發(fā)送),其原理電路圖如圖3所示.這樣就可以完成計算機與單片機通訊的硬件電路搭建.通訊協(xié)議相對簡單,所需要的就是把現(xiàn)場采集到的數(shù)據(jù)準(zhǔn)確無誤的上傳計算機,協(xié)議開始標(biāo)志,EB,4D,中間數(shù)據(jù)位,結(jié)束標(biāo)志0D,0A,因為傳輸距離比較近,所以沒有加校驗位.計算機開始接收數(shù)據(jù)之前,發(fā)送一組開始數(shù)據(jù)傳輸標(biāo)志,然后下位機把數(shù)據(jù)存貯器中的數(shù)據(jù)按通訊協(xié)議的方式上傳計算機,完成數(shù)據(jù)的通訊.我們已經(jīng)將此應(yīng)用到便攜式磁電流量儀、礦業(yè)直流電法儀、礦用水壓自動記錄儀、礦用測井儀等物探儀器中,取得了很好的應(yīng)用效果.

3 結(jié)束語

詳細(xì)論述了串口編程的原理、方法、以及如何實現(xiàn),給出了上位機(計算機)、下位機(單片機)部分的程序流程圖,電路原理圖.以及串口控件如何使用,如何快速的完成程序設(shè)計.對串口進(jìn)行操作大大提高了編程的效率,使監(jiān)測與監(jiān)控實現(xiàn)變得不那么復(fù)雜.同時給出了在物探儀器中的典型應(yīng)用,把現(xiàn)場采集的數(shù)據(jù)準(zhǔn)確、高速的上傳給計算機,為工程技術(shù)人員進(jìn)行資料處理提供了可靠的依據(jù).大大的提高了工作效率,減少了抄錄數(shù)據(jù)的錯誤,為工程技術(shù)人員節(jié)約了更多的時間來分析資料,提出可靠的預(yù)防措施,受到現(xiàn)場工程技術(shù)人員的一致好評.

參考文獻(xiàn)

[1] 李現(xiàn)勇.VisualC++串口通信技術(shù)與工程實踐[M].北京:人民郵電出版社,2002.

[2] 凌志浩.智能儀表原理與設(shè)計技術(shù)[M].上海:華東理工大學(xué)出版社,2003.

[3] 秋育橋.基于MSComm的PC機與單片機串行通信程序設(shè)計[J].科技信息,2009,(2):76-79.

[4] 岳志高.MSComm控件在VC++6.0串口通信中的應(yīng)用[J].長春工程學(xué)院學(xué)報,2009,(1): 51-54.

[5] 張自強.基于VC++MSCcomm控件的串行通信[J].河南科技大學(xué)學(xué)報,2004,(1):33-40.

猜你喜歡
控件物探串口
《石油物探》 2022年總目次
石油物探(2022年6期)2022-12-03 08:22:42
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
《物探化探計算技術(shù)》2016年1~6期總要目
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機與AutoCAD的實時無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
兩種物探方法在觀音巖隧道勘察中的應(yīng)用
基于并行控制的FPGA多串口拓展實現(xiàn)
綜合物探在找黃鐵礦中的應(yīng)用
河南科技(2014年1期)2014-02-27 14:04:09
就這樣玩會VBA中常見的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
万源市| 九龙坡区| 西和县| 无棣县| 南投市| 洪湖市| 桐庐县| 门头沟区| 凉城县| 揭东县| 宁乡县| 淳安县| 岐山县| 光泽县| 密云县| 黄梅县| 连江县| 德令哈市| 班玛县| 桐乡市| 彝良县| 容城县| 浠水县| 纳雍县| 缙云县| 肥东县| 岢岚县| 西贡区| 东乌| 岳池县| 潞西市| 壤塘县| 云梦县| 揭东县| 诸城市| 维西| 遂宁市| 贵溪市| 昌宁县| 榆社县| 六枝特区|