?

某型瞄準線穩定測試系統RS232串行通信的研究

2017-05-24 14:45王辛望沈小林劉新生
計算機測量與控制 2017年5期
關鍵詞:下位單軸上位

王辛望,沈小林,劉新生

(1.中北大學 計算機與控制工程學院,太原 030051; 2.江蘇曙光光電有限公司,江蘇 揚州 225009)

某型瞄準線穩定測試系統RS232串行通信的研究

王辛望1,沈小林1,劉新生2

(1.中北大學 計算機與控制工程學院,太原 030051; 2.江蘇曙光光電有限公司,江蘇 揚州 225009)

某型瞄準線穩定測試系統是用于測試和檢驗班組武器系統、輕型低空反導轉管機槍等武器系統中的光電跟蹤子系統瞄準線獨立性能的專用設備;介紹利用LabWindows/CVI實現上位機與下位機之間的通信,設計了瞄準線穩定測試系統,分析了下位機需要實時檢測的物理量信息;為了提高系統的可視性和實現對下位機的控制,通過RS232串行通信技術向上位機傳輸數據;對上位機利用LabWindows/CVI的控件實現數據采集,數據顯示和存儲進行了研究;實驗結果表明,基于LabWindows/CVI的RS232串行通信的上位機數據采集與顯示系統具有可視性強、操作簡單等特性。

虛擬儀器;LabWindows/CVI;串行通信;RS232;單軸轉臺

0 引言

在現代武器控制系統中,經常使用瞄準線來搜索和跟蹤目標。在目標搜索和跟蹤過程中,瞄準線的空間穩定性十分重要,它可以有效地消除各種誤差影響,便于人工捕捉,也可以使跟蹤更加平穩跟蹤精度更高。根據班組武器系統、輕型低空反導轉管機槍武器系統的結構特點,設計了一種新型的瞄準線穩定測試系統,通過上位機對下位機發送指令,下位機接收指令后實現轉臺上光電瞄具系統的運動,并采集下位機的運行數據[1]。該系統可以完全模擬武器隨動系統在水平面上的運動,其中上位機與下位機的通信方式是該模擬系統運行的關鍵。該文重點介紹了串行通信的連接方法以及通過LabWindows/CVI實現串行通信,最終應用于瞄準線穩定測試系統上位機與下位機的通信,實現數據發送、采集、存儲和處理,并驗證了該通信方案的可靠性[2]。

1 控制系統的整體設計

1.1 瞄準線穩定測試系統的組成

瞄準線穩定測試系統總體組成如圖1所示。其主要由單軸轉臺系統、目標模擬裝置(平行光管及四自由度臺架)和數據處理計算機系統以及交流穩壓器等四大部分組成[3]。其中數據處理計算機系統作為上位機,單軸轉臺作為下位機,數據處理計算機系統與單軸轉臺的通信方式是研究的重點。

圖1 瞄準線穩定測試系統總體框圖

1.2 串行通信

串行通信是把數據的每一位,用一條1位寬的傳輸線依次分時傳輸,即通信雙方一次僅傳輸一個二進制位,并且每次以一個二進制的0、1為最小單位逐位進行傳輸。串行數據傳輸的特點是:數據按位順序進行傳輸,僅通過一根傳輸線便可實現,能夠節約傳輸線。串行通信還具有并行通信無法比擬地優勢:傳輸距離長,可以從幾米到幾千米;在較長距離范圍內串行數據傳輸速率優于并行數據傳輸速率;而且串行通信的通信時鐘頻率便于改變;另外串行通信的抗干擾能力很強,其信號間的相互干擾能夠徹底消除[4]。正是由于串行通信具有上述優點,所以廣泛應用于數據采集、傳輸及控制系統中。

串行通信中經常使用9針串口(DB9M),9針串口的針腳定義如表1所示[5]。

表1 9針串口的針腳功能

實際應用中一般采用5線進行信號傳輸,即TXD,RXD,RTS,CTS,GND。5線信號傳輸連接圖示如圖2所示。

圖2 5線信號傳輸連接圖

RS232總線是一種當今最普遍的通信方式,早期的儀器、PLC等都通過串口與計算機進行數據通信。把具有RS232總線接口的儀器作為I/O接口設備并通過RS232串口總線與上位機構成完整的虛擬儀器系統,依然是當今應用最廣的虛擬儀器組成方式之一。該系統上位機與下位機的實際距離較短,并且根據對系統傳輸速度的要求,所以通過RS232總線連接是最佳的方案。

1.3 串行通信的選擇

串行通信需要保證雙方按照RS-232標準通信協議實行數據交換。在Windows操作系統的LabWindows/CVI軟件平臺下編寫串行通信程序,可以采用下面幾種方式[6]:

(1)利用開發工具自帶的函數,LabWindows/CVI的RS-232函數庫列出了相對完整的串口通信函數,能夠調用此類函數來控制。

(2)利用Windows API函數,API是Windows的應用程序編程接口,它給出了完整的應用程序接口函數,調用其通信函數能夠達到系統需要的通信功能。

(3)使用MSComm控件。

(4)使用動態鏈接庫。

使用MSCoom控件控制串口通信的程序設計方法給出了標準的事件處理函數、過程,并且可以方便地實現大部分通信功能,算法簡單,易操作;但其編程的靈活性受限,傳輸速率不高;API是Windows的應用程序編程接口,它列出了完整的應用程序接口函數,功能強大、靈活性好、應用廣泛,調用它的通信函數完成系統要求的通信功能,但其原理復雜,無法達到該系統的設計要求[7]。在瞄準線穩定測試系統中,為了滿足大數據量傳輸的要求,增強系統的靈活性,并且滿足上位機與單軸轉臺之間的距離要求。通過大量實驗,選擇LabWindows/CVI自帶的RS-232函數庫。當今絕大部分的軟件中還沒有RS232串口通信專用的函數庫,而LabWindows/CVI具有這樣的函數庫,讓繁瑣的串口通信便于操作[8]。

1.4 通信方案

為了實現該系統串行通信的功能,根據串行通信的特點,首先在進行串行通信之前,要驗證串口是否處于通的狀態,對串口進行初始化,并且設置串口的波特率、校驗位、數據位等參數,然后測試串口的屬性。當串口一切準備就緒,通過RS232接口從上位機向單軸轉臺發送的指令,單軸轉臺接收指令后按照指令實現單軸轉臺的運動,并將測試數采集收實現其通信功能。該瞄準線穩定測試系統的程序流程圖如圖3所示。

圖3 瞄準線穩定測試系統程序流程圖

上位機的LabWindows/CVI程序設計主要是完成對串口的設置、發送指令、接收指令和對采集到的數據進行整理、顯示[9]。該系統針對RS232的設置有,采用串口COM2;傳輸速率為9600bps;數據格式為8位數據位,1位停止位,無奇偶校驗位;通過上位機向單軸轉臺發送指令;單軸轉臺接收指令后產生運動并獲得測試數據,將數據通過串口讀取。接收到的數據經過適當的運算和操作后利用LabWindows/CVI顯示控件顯示[10]。

2 程序設計

LabWindows/CVI是美國NI公司推出的32位面向計算機測控方面的虛擬儀器軟件開發平臺,能夠在多操作系統下運行。它將功能強大的C語言與測試、控制有機結合,具有靈活的交互式編程方法、豐富的庫函數、完善的兼容性、多種不同的函數調用手段等優勢,為開發人員提供了可靠的軟件開發環境[11]。利用LabWindows/CVI提供的開發環境和控件,編寫上位機程序,實現通過RS232串口對單軸轉臺進行控制,上位機程序的部分代碼如下所示。

2.1 串口設置程序

根據通信方案,設計的代碼主要實現數據的發送、采集和處理。首先要在主函數中打開串口,并對波特率等參數進行設置,其代碼如下所示:

OpenComConfig(2,””,9600,0,8,1,512,512);//打開并設置串口,此調用語句打開串口2,波特率為9600,沒有校驗,8個數據位,一個停止位,最大的輸入和輸出隊列長度都為512

SetCTSMode(2,LWRS_HWHANDSHAKE_OFF);//禁止硬件握手

FlushInQ(2);//清空接收隊列

FlushOutQ(2);//清空發送隊列

…….

CloseCom(2);//在整個程序結束后關閉串口

2.2 數據保存程序

通過串口將數據傳輸到單軸轉臺,通過上位機對單軸轉臺的控制,將單軸轉臺運動的一系列數據再通過串口傳輸給上位機,并保存到上位機中用于記錄和比較誤差,其代碼如下所示:

int stat;

char filePath[MAX_PATHNAME_LEN]; //數據保存路徑

FILE *fp=NULL;

stat = FileSelectPopup ("", "*.txt", "","測試數據保存為……", VAL_OK_BUTTON,0, 0, 1, 0, filePath);//數據保存

2.3 數據圖像繪制程序

根據通信方案所要實現的功能,通過上位機的計算,將返回的數據通過圖像繪制出來,使得實驗結果更加直觀的呈現出來,其代碼如下所示:

GetCtrlVal(data_show_panel,DATA_PAN_CMDTORQUE,&view_torque_cmd);

GetCtrlVal(data_show_panel,DATA_PAN_ACTTORQUE,&view_torque_act);

GetCtrlVal(data_show_panel,DATA_PAN_CMDPOS,&view_pos_cmd);

GetCtrlVal(data_show_panel,DATA_PAN_ACTPOS,&view_pos_act);

GetCtrlVal(data_show_panel,DATA_PAN_CMDSPEED,&view_speed_cmd); GetCtrlVal(data_show_panel,DATA_PAN_ACTSPEED,&view_speed_act);//設置測試數據保存路徑,點擊開始采集后,采集測試數據

fp=fopen(SystemTestFile.dataPath,"r");

fp=fopen("testdata111.txt","r");

if(fp==NULL)

return -1 ;//讀取數據文件的第一行數據

fscanf(fp,"%d%d%d%d%d",&loadSimuTest.style,&loadSimuTest.rudderAngel,&loadSimuTest.grad,&loadSimuTest.freq,&loadSimuTest.keepCycle); //讀取文件數據

for(int j=0;j<5;j++)

{

fscanf(fp,"%s",str); //去除標題

}

//采集數據長度,方案1

while(!feof(fp))

{

if((fgetc(fp))==' ')

data_length++;

}

data_length-=1; //采集數據長度

//采集數據長度,方案2

for(data_length=0;;data_length++)

{

fscanf(fp,"%f%f%f%f%f" ,

&test_1,&test_1,&test_1,&test_1,&test_1);

if((fgetc(fp))==EOF) //判斷是否到達文件尾

break;

}

fseek(fp,0,SEEK_SET); //回到文件開頭處

for(int i=0;i<5;i++)

{

fscanf(fp,"%d",&test); //去除標志位

}

3 實驗結果與分析

通過瞄準線穩定測試系統對目標進行檢測和追蹤,根據不同的目標設計出位置方式、速度方式、搖擺方式、外控方式等四種不同的控制單軸轉臺運動的方式,可以對轉臺的運動位置、速度、加速度等參數進行設置[12]。當瞄準線穩定測試系統工作時,對上位機輸入不同的指令,通過RS232串口將指令傳輸給轉臺。根據從上位機接收的指令,控制單軸轉臺不同的運動方式,其運動數據經過適當的分析和計算以圖像的形式呈現出來[13]。待轉臺完成上位機發送的指令后,將轉臺運動的數據收集起來,并通過設計的程序將數據如圖4的形式存儲到上位機中,便于以后查看。

圖4 數據在上位機中的存儲

4 結論

介紹了基于RS232串口的某瞄準線穩定測試系統,利用LabWindows/CVI作為開發平臺,設計出GUI界面通過RS232串口控制下位機的運動[14],并實現了數據的發送、采集、存儲及處理等功能,達到了該瞄準線穩定測試系統的設計要求,在軍事中具有一定的應用價值。

[1] 雷 霖. 瞄準線獨立測試系統設計[D]. 太原:中北大學, 2016.

[2] 張鳳均. LabWindows/CVI開發入門和進階[M]. 北京:北京航空航天大學出版社, 2001.

[3] 黃金波. 雙35自行高炮獨立瞄準線控制系統研究[D]. 南京:南京理工大學, 2003.

[4] 高志華, 孫秀霞. LabWindows/CVI開發環境下實現串口通訊的方法[J]. 現代電子技術, 2004, 27(2):62-64.

[5] 劉君華. 虛擬儀器編程語言LabWindows/CVI教程[M]. 北京:電子工業出版社, 2001.

[6] 吳松齡.LabWindows/CVI下測控串行通信的實現方法[J].測控技術,2012,31(9):88-91.

[7] 葛磊蛟, 毛一之, 李 歧,等. 基于C語言的RS232串行接口通信實現[J]. 河北工業大學學報, 2008, 37(6):11-16.

[8] 趙長德, 徐 力, 陳 旻. 用于瞄準線穩定和跟蹤的計算機控制系統[J]. 電光與控制, 1997(3):20-25.

[9] 陶小亮, 牛 振. LabWindows/CVI多線程技術在舵機測試軟件中的應用[J]. 中國測試, 2011, 37(1):81-83.

[10] 王海濤. 基于RS232串口的數控機床程序傳輸及狀態監控系統的研究[D]. 長春:長春理工大學, 2012.

[11] 王建新,楊世鳳.LABWINDOWS/CVI測試技術及工程應用(附光盤)[M].北京:化學工業出版社,2006.

[12] 楊曉強, 齊 媛, 史雷蕾,等. 基于Matlab和ADAMS的光電穩瞄系統結構控制聯合仿真[J]. 應用光學, 2016(5).:657-662

[13] Szabo R, Gontean A. Creating an RS-232 microchip for controlling the Lynxmotion AL5 type robotic arms[A]. IEEE, International Symposium for Design and Technology in Electronic Packaging[C]. 2015.

[14] 皇甫宜耿, 馬瑞卿, 楊永亮. 基于RS232串口通信的雙余度無刷直流電動機控制系統[J]. 微特電機, 2007, 35(5):43-45.

Research on RS232 Serial Communication of a Certain Type of Aiming Line Stability Test System

Wang Xinwang1, Shen Xiaolin1,Liu Xinsheng2

(1.School of Computer and Control Engineering,North University of China,Taiyuan 030051,China; 2.Jiangsu Shuguang opto-electronics Co.,LTD,Yangzhou 225009,China)

The stability test system of a certain type of aiming line is a special equipment used to test the independent performance of the photoelectric tracking subsystem of the team, such as the group weapon system, the lightlow altitude anti missile gun and so on. Introduces the realization of communication between PC and single axis turntable by using LabWindows/CVI, designs a line of sight stabilization test system, analysises the single axis turntable to physical quantity information of real-time detection.In order to improve the visibility and to achieve the control of the single axis turntable, data transmission through the RS232 serial communication technology. PC use LabWindows/CVI to control the widget to achieve data reception, data displaying and analysing. The experimental results show that the data acquisition and display system of RS232 serial communication based on LabWindows/CVI has the characteristics of strong visibility, simple operation and so on.

virtual instrument;LabWindows/CVI;serial communication;RS232;single-axis turnable

2016-11-21;

2017-01-05。

王辛望(1991-),男,碩士研究生,主要從事控制理論與控制工程,導航、制導與控制方向的研究。

1671-4598(2017)05-0123-03

10.16526/j.cnki.11-4762/tp.2017.05.034

TP274

A

猜你喜歡
下位單軸上位
低功率單軸超聲駐波懸浮原理與實驗實現
基于UDS協議的CAN BootLoader的開發與驗證
基于STM32和Zigbee的mini寵物智能喂養系統的設計
發射機房監控系統之下位機
特斯拉 風云之老阿姨上位
基于ZigBee和VC上位機的教室智能監測管理系統
圍觀黨“下位”,吐槽帝“登基”
中通公交客車單軸并聯式氣電混合動力系統
基于VC的PLC數據采集管理系統
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合