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

?

某型瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)RS232串行通信的研究

2017-05-24 14:45:32王辛望沈小林劉新生
關(guān)鍵詞:下位單軸上位

王辛望,沈小林,劉新生

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

某型瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)RS232串行通信的研究

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

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

某型瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)是用于測(cè)試和檢驗(yàn)班組武器系統(tǒng)、輕型低空反導(dǎo)轉(zhuǎn)管機(jī)槍等武器系統(tǒng)中的光電跟蹤子系統(tǒng)瞄準(zhǔn)線獨(dú)立性能的專用設(shè)備;介紹利用LabWindows/CVI實(shí)現(xiàn)上位機(jī)與下位機(jī)之間的通信,設(shè)計(jì)了瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng),分析了下位機(jī)需要實(shí)時(shí)檢測(cè)的物理量信息;為了提高系統(tǒng)的可視性和實(shí)現(xiàn)對(duì)下位機(jī)的控制,通過RS232串行通信技術(shù)向上位機(jī)傳輸數(shù)據(jù);對(duì)上位機(jī)利用LabWindows/CVI的控件實(shí)現(xiàn)數(shù)據(jù)采集,數(shù)據(jù)顯示和存儲(chǔ)進(jìn)行了研究;實(shí)驗(yàn)結(jié)果表明,基于LabWindows/CVI的RS232串行通信的上位機(jī)數(shù)據(jù)采集與顯示系統(tǒng)具有可視性強(qiáng)、操作簡(jiǎn)單等特性。

虛擬儀器;LabWindows/CVI;串行通信;RS232;單軸轉(zhuǎn)臺(tái)

0 引言

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

1 控制系統(tǒng)的整體設(shè)計(jì)

1.1 瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)的組成

瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)總體組成如圖1所示。其主要由單軸轉(zhuǎn)臺(tái)系統(tǒng)、目標(biāo)模擬裝置(平行光管及四自由度臺(tái)架)和數(shù)據(jù)處理計(jì)算機(jī)系統(tǒng)以及交流穩(wěn)壓器等四大部分組成[3]。其中數(shù)據(jù)處理計(jì)算機(jī)系統(tǒng)作為上位機(jī),單軸轉(zhuǎn)臺(tái)作為下位機(jī),數(shù)據(jù)處理計(jì)算機(jī)系統(tǒng)與單軸轉(zhuǎn)臺(tái)的通信方式是研究的重點(diǎn)。

圖1 瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)總體框圖

1.2 串行通信

串行通信是把數(shù)據(jù)的每一位,用一條1位寬的傳輸線依次分時(shí)傳輸,即通信雙方一次僅傳輸一個(gè)二進(jìn)制位,并且每次以一個(gè)二進(jìn)制的0、1為最小單位逐位進(jìn)行傳輸。串行數(shù)據(jù)傳輸?shù)奶攸c(diǎn)是:數(shù)據(jù)按位順序進(jìn)行傳輸,僅通過一根傳輸線便可實(shí)現(xiàn),能夠節(jié)約傳輸線。串行通信還具有并行通信無法比擬地優(yōu)勢(shì):傳輸距離長(zhǎng),可以從幾米到幾千米;在較長(zhǎng)距離范圍內(nèi)串行數(shù)據(jù)傳輸速率優(yōu)于并行數(shù)據(jù)傳輸速率;而且串行通信的通信時(shí)鐘頻率便于改變;另外串行通信的抗干擾能力很強(qiáng),其信號(hào)間的相互干擾能夠徹底消除[4]。正是由于串行通信具有上述優(yōu)點(diǎn),所以廣泛應(yīng)用于數(shù)據(jù)采集、傳輸及控制系統(tǒng)中。

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

表1 9針串口的針腳功能

實(shí)際應(yīng)用中一般采用5線進(jìn)行信號(hào)傳輸,即TXD,RXD,RTS,CTS,GND。5線信號(hào)傳輸連接圖示如圖2所示。

圖2 5線信號(hào)傳輸連接圖

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

1.3 串行通信的選擇

串行通信需要保證雙方按照RS-232標(biāo)準(zhǔn)通信協(xié)議實(shí)行數(shù)據(jù)交換。在Windows操作系統(tǒng)的LabWindows/CVI軟件平臺(tái)下編寫串行通信程序,可以采用下面幾種方式[6]:

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

(2)利用Windows API函數(shù),API是Windows的應(yīng)用程序編程接口,它給出了完整的應(yīng)用程序接口函數(shù),調(diào)用其通信函數(shù)能夠達(dá)到系統(tǒng)需要的通信功能。

(3)使用MSComm控件。

(4)使用動(dòng)態(tài)鏈接庫。

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

1.4 通信方案

為了實(shí)現(xiàn)該系統(tǒng)串行通信的功能,根據(jù)串行通信的特點(diǎn),首先在進(jìn)行串行通信之前,要驗(yàn)證串口是否處于通的狀態(tài),對(duì)串口進(jìn)行初始化,并且設(shè)置串口的波特率、校驗(yàn)位、數(shù)據(jù)位等參數(shù),然后測(cè)試串口的屬性。當(dāng)串口一切準(zhǔn)備就緒,通過RS232接口從上位機(jī)向單軸轉(zhuǎn)臺(tái)發(fā)送的指令,單軸轉(zhuǎn)臺(tái)接收指令后按照指令實(shí)現(xiàn)單軸轉(zhuǎn)臺(tái)的運(yùn)動(dòng),并將測(cè)試數(shù)采集收實(shí)現(xiàn)其通信功能。該瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)的程序流程圖如圖3所示。

圖3 瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)程序流程圖

上位機(jī)的LabWindows/CVI程序設(shè)計(jì)主要是完成對(duì)串口的設(shè)置、發(fā)送指令、接收指令和對(duì)采集到的數(shù)據(jù)進(jìn)行整理、顯示[9]。該系統(tǒng)針對(duì)RS232的設(shè)置有,采用串口COM2;傳輸速率為9600bps;數(shù)據(jù)格式為8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位;通過上位機(jī)向單軸轉(zhuǎn)臺(tái)發(fā)送指令;單軸轉(zhuǎn)臺(tái)接收指令后產(chǎn)生運(yùn)動(dòng)并獲得測(cè)試數(shù)據(jù),將數(shù)據(jù)通過串口讀取。接收到的數(shù)據(jù)經(jīng)過適當(dāng)?shù)倪\(yùn)算和操作后利用LabWindows/CVI顯示控件顯示[10]。

2 程序設(shè)計(jì)

LabWindows/CVI是美國NI公司推出的32位面向計(jì)算機(jī)測(cè)控方面的虛擬儀器軟件開發(fā)平臺(tái),能夠在多操作系統(tǒng)下運(yùn)行。它將功能強(qiáng)大的C語言與測(cè)試、控制有機(jī)結(jié)合,具有靈活的交互式編程方法、豐富的庫函數(shù)、完善的兼容性、多種不同的函數(shù)調(diào)用手段等優(yōu)勢(shì),為開發(fā)人員提供了可靠的軟件開發(fā)環(huán)境[11]。利用LabWindows/CVI提供的開發(fā)環(huán)境和控件,編寫上位機(jī)程序,實(shí)現(xiàn)通過RS232串口對(duì)單軸轉(zhuǎn)臺(tái)進(jìn)行控制,上位機(jī)程序的部分代碼如下所示。

2.1 串口設(shè)置程序

根據(jù)通信方案,設(shè)計(jì)的代碼主要實(shí)現(xiàn)數(shù)據(jù)的發(fā)送、采集和處理。首先要在主函數(shù)中打開串口,并對(duì)波特率等參數(shù)進(jìn)行設(shè)置,其代碼如下所示:

OpenComConfig(2,””,9600,0,8,1,512,512);//打開并設(shè)置串口,此調(diào)用語句打開串口2,波特率為9600,沒有校驗(yàn),8個(gè)數(shù)據(jù)位,一個(gè)停止位,最大的輸入和輸出隊(duì)列長(zhǎng)度都為512

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

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

FlushOutQ(2);//清空發(fā)送隊(duì)列

…….

CloseCom(2);//在整個(gè)程序結(jié)束后關(guān)閉串口

2.2 數(shù)據(jù)保存程序

通過串口將數(shù)據(jù)傳輸?shù)絾屋S轉(zhuǎn)臺(tái),通過上位機(jī)對(duì)單軸轉(zhuǎn)臺(tái)的控制,將單軸轉(zhuǎn)臺(tái)運(yùn)動(dòng)的一系列數(shù)據(jù)再通過串口傳輸給上位機(jī),并保存到上位機(jī)中用于記錄和比較誤差,其代碼如下所示:

int stat;

char filePath[MAX_PATHNAME_LEN]; //數(shù)據(jù)保存路徑

FILE *fp=NULL;

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

2.3 數(shù)據(jù)圖像繪制程序

根據(jù)通信方案所要實(shí)現(xiàn)的功能,通過上位機(jī)的計(jì)算,將返回的數(shù)據(jù)通過圖像繪制出來,使得實(shí)驗(yàn)結(jié)果更加直觀的呈現(xiàn)出來,其代碼如下所示:

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);//設(shè)置測(cè)試數(shù)據(jù)保存路徑,點(diǎn)擊開始采集后,采集測(cè)試數(shù)據(jù)

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

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

if(fp==NULL)

return -1 ;//讀取數(shù)據(jù)文件的第一行數(shù)據(jù)

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

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

{

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

}

//采集數(shù)據(jù)長(zhǎng)度,方案1

while(!feof(fp))

{

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

data_length++;

}

data_length-=1; //采集數(shù)據(jù)長(zhǎng)度

//采集數(shù)據(jù)長(zhǎng)度,方案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) //判斷是否到達(dá)文件尾

break;

}

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

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

{

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

}

3 實(shí)驗(yàn)結(jié)果與分析

通過瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)對(duì)目標(biāo)進(jìn)行檢測(cè)和追蹤,根據(jù)不同的目標(biāo)設(shè)計(jì)出位置方式、速度方式、搖擺方式、外控方式等四種不同的控制單軸轉(zhuǎn)臺(tái)運(yùn)動(dòng)的方式,可以對(duì)轉(zhuǎn)臺(tái)的運(yùn)動(dòng)位置、速度、加速度等參數(shù)進(jìn)行設(shè)置[12]。當(dāng)瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)工作時(shí),對(duì)上位機(jī)輸入不同的指令,通過RS232串口將指令傳輸給轉(zhuǎn)臺(tái)。根據(jù)從上位機(jī)接收的指令,控制單軸轉(zhuǎn)臺(tái)不同的運(yùn)動(dòng)方式,其運(yùn)動(dòng)數(shù)據(jù)經(jīng)過適當(dāng)?shù)姆治龊陀?jì)算以圖像的形式呈現(xiàn)出來[13]。待轉(zhuǎn)臺(tái)完成上位機(jī)發(fā)送的指令后,將轉(zhuǎn)臺(tái)運(yùn)動(dòng)的數(shù)據(jù)收集起來,并通過設(shè)計(jì)的程序?qū)?shù)據(jù)如圖4的形式存儲(chǔ)到上位機(jī)中,便于以后查看。

圖4 數(shù)據(jù)在上位機(jī)中的存儲(chǔ)

4 結(jié)論

介紹了基于RS232串口的某瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng),利用LabWindows/CVI作為開發(fā)平臺(tái),設(shè)計(jì)出GUI界面通過RS232串口控制下位機(jī)的運(yùn)動(dòng)[14],并實(shí)現(xiàn)了數(shù)據(jù)的發(fā)送、采集、存儲(chǔ)及處理等功能,達(dá)到了該瞄準(zhǔn)線穩(wěn)定測(cè)試系統(tǒng)的設(shè)計(jì)要求,在軍事中具有一定的應(yīng)用價(jià)值。

[1] 雷 霖. 瞄準(zhǔn)線獨(dú)立測(cè)試系統(tǒng)設(shè)計(jì)[D]. 太原:中北大學(xué), 2016.

[2] 張鳳均. LabWindows/CVI開發(fā)入門和進(jìn)階[M]. 北京:北京航空航天大學(xué)出版社, 2001.

[3] 黃金波. 雙35自行高炮獨(dú)立瞄準(zhǔn)線控制系統(tǒng)研究[D]. 南京:南京理工大學(xué), 2003.

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

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

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

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

[8] 趙長(zhǎng)德, 徐 力, 陳 旻. 用于瞄準(zhǔn)線穩(wěn)定和跟蹤的計(jì)算機(jī)控制系統(tǒng)[J]. 電光與控制, 1997(3):20-25.

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

[10] 王海濤. 基于RS232串口的數(shù)控機(jī)床程序傳輸及狀態(tài)監(jiān)控系統(tǒng)的研究[D]. 長(zhǎng)春:長(zhǎng)春理工大學(xué), 2012.

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

[12] 楊曉強(qiáng), 齊 媛, 史雷蕾,等. 基于Matlab和ADAMS的光電穩(wěn)瞄系統(tǒng)結(jié)構(gòu)控制聯(lián)合仿真[J]. 應(yīng)用光學(xué), 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串口通信的雙余度無刷直流電動(dòng)機(jī)控制系統(tǒng)[J]. 微特電機(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-),男,碩士研究生,主要從事控制理論與控制工程,導(dǎo)航、制導(dǎo)與控制方向的研究。

1671-4598(2017)05-0123-03

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

TP274

A

猜你喜歡
下位單軸上位
單軸壓縮條件下巖石峰后第Ⅱ種類型應(yīng)力——應(yīng)變曲線的新解釋
CFRP-鋼復(fù)合板的單軸拉伸力學(xué)性能
發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
單軸應(yīng)變Si NMOS電流模型研究
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
斜單軸跟蹤式光伏組件的安裝傾角優(yōu)化設(shè)計(jì)
景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
圍觀黨“下位”,吐槽帝“登基”
沙雅县| 龙川县| 蓝山县| 沙河市| 孟州市| 蓬莱市| 临湘市| 偃师市| 冀州市| 永顺县| 布尔津县| 凯里市| 东安县| 灌阳县| 沁水县| 遵化市| 印江| 诏安县| 札达县| 兰州市| 延边| 勐海县| 滕州市| 岳阳县| 敦化市| 肃南| 安远县| 甘孜| 弋阳县| 开化县| 城步| 海宁市| 贺州市| 山丹县| 崇义县| 中山市| 阳曲县| 阳新县| 上栗县| 和顺县| 伊吾县|