摘要介紹了基于mvIEw實現紡織檢測系統串口通信的一種方法,包括通信協議、硬件電路及軟件設計等方面。該通信系統上位機的Pc機程序采用LabvlEw編寫其圖形化編程功能,使用靈活方便;下位機選用Micmchip生產的PIc系列單片機,并采用匯編語言編程。上、下位機的通信采用傳統的Rs一232通信協議,開發周期短,成本低。將該通信系統應用于煮繭機溫度測量系統,成功實現了上、下位機的數據傳遞,菜單式操作,簡潔明了。該通信系統在便攜式紡織檢測系統中有廣闊的應用前景。
現代電子技術、計算機技術和新型傳感器技術的不斷更新使紡織檢測技術得到迅速發展¨。。人們通過由傳感器和單片機組成的檢測系統會得到大量的數據信息。由于單片機的局限性,需要將數據有效準確地傳遞到計算機上,利用計算機強大的軟件資源對數據進行分析、處理,從而指導紡織生產。hbvIEw是實驗室虛擬儀器集成環境(1abomtoryvinual instnlment en如neering workbench)的簡稱,是美國NI公司推出的虛擬儀器軟件開發平臺,其基于圖形化編程語言的開發環境,集合了GPIB、VxI、Rs.232和Rs一485以及數據采集卡等硬件通信的全部功能怛o。PIC是美國Micmchip公司生產的一種cMOs工藝單片機∞1,其功耗極低,是一種非常適合在各種便攜式設備中使用的高性價比的單片機,得到了越來越廣泛的應用。本文將介紹在IJabvIEw平臺上開發Pc機和PIc單片機的串口通信軟件,實現紡織檢測系統的數據傳遞。
1紡織檢測系統組成
紡織檢測系統一般由單片機、數據檢測部分(傳感器)、人機交換部分(鍵盤、顯示等)、數據存儲部分(E2PROM)、數據傳遞部分(接口電路)和PC機組成,如圖1所示。單片機是下位機,負責協調系統各部分的工作、實現現場高速數據的采集,并將數據通過串口通信傳給Pc機,同時從PC機接受指令。Pc機是上位機,主要是利用良好的用戶圖形界面,顯示、分析從單片機傳來的數據信息,以下著重介紹Pc機與PIc單片機的數據傳遞。
2通信協議與硬件電路
Pc機與PIC單片機之間采用Rs.232的異步串行通信方式,Rs.232協議可以說是一種最為簡單的通訊標準,若不使用硬件流量控制,只需利用3根線就可實現全雙工的傳輸作業。
由于Rs.232采用的是負邏輯,即邏輯“1”為一5~一15 V,邏輯“O”為+5~+15 V,而CM0s電平的邏輯“1”為4.99 v,邏輯“O”為0.01 v;因此,在用Rs.232進行串口通信時需外接電路實現電平轉換。在發送端用驅動器將cMOs電平轉換為RS一232電平,在接收端用接收器將RS一232電平再轉換為CMOS電平H。。本系統選用了Maxim公司的通用串口接收/發送驅動器芯片——MAx232A來實現電平轉換,其外圍電路簡單。PIc單片機與Pc機的連接電路如圖2所示。
3 LabVIEW的串口通信編程
3.1 LabV皿W通信流程圖
針對Pc機的Rs一232口,【abVIEw提供了1個子模板,共包括6個vISA節點,分別實現初始化串,口(VIsA configure serial port)、串口寫(VIsA write)、串口讀(VIsA read)、檢測串口緩存(VIsA bytes at serialport)、中斷(VIsA serial break)以及關閉串口(VIsAclose)等功能,這些節點位于Functions模板一址1Functions子模板一hstmment I,O子模板一Serial子模板中‘51。用戶通過對這幾個節點的配置和連接可以很方便地開發出符合要求的LabVIEw串口通信軟件。
IbVIEw串口通信的程序流程圖如圖3所示。通信過程通過Pc機發送傳送命令來啟動,之后Pc機檢測緩存區是否有數據,有數據則讀取數據并處理,沒有數據則延遲一段時間后再檢測。在這個過程中要保證Pc機程序與PIc單片機程序在時間上密切配合,如果延時過短,PIc單片機數據來不及傳給Pc機,造成Pc機讀不到數據;如果延時過長.Pc機還未取走緩存區舊的數據,新的數據又傳進來,導致緩存區數據被覆蓋。
3.2 LabVIEW通信的實現
IbvIEw串口通信的框圖程序如圖4所示,框圖的上半部分實現打開串口、對串口進行初始化設置以及清空接收緩存區等功能。程序采用的通信格式為19 200的波特率、8位數據位、1位停止位、無奇偶校驗位;下半部分則通過順序結構完成Pc機與PIc單片機的握手以及數據的傳遞:首先由Pc機發出要求PIc單片機發送數據的命令(發送數據命令為一個回車符),PIc單片機接收到命令之后,檢查是否是發送數據的命令,如果是,則將相關數據傳給PC機,否則不予響應。
值得注意的是,在通信過程中,數據格式是以字符串的格式組成的,字符串中的每個字符實際上對應AscII字符,即計算機能夠識別的數據代碼是AscH代碼,所以在傳送到串口發送數據之前要經過代碼轉換,這就意味著以二進制、十進制、十六進制表示的數據必須轉化為AscII字符串才能進行傳送和接收,而實際采集的數據一般都帶有小數位,遠遠超過了AscII碼所能表示的范圍,通常將數據進行適當分割后再進行傳輸№-。
[1][2][3]下一頁>>
相關信息 







推薦企業
推薦企業
推薦企業