您現(xiàn)在的位置:機(jī)床商務(wù)網(wǎng)>企業(yè)庫(kù)>案例報(bào)道
基于反射內(nèi)存的實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)
0 引言
在半實(shí)物仿真系統(tǒng)中需要實(shí)時(shí)地傳輸、操作和分析數(shù)據(jù),并在此基礎(chǔ)上作出相應(yīng)的控制,實(shí)時(shí)網(wǎng)絡(luò)技術(shù)是半實(shí)物仿真系統(tǒng)中*技術(shù)之一。基于反射內(nèi)存的實(shí)時(shí)網(wǎng)絡(luò)技術(shù)目前已發(fā)展較為成熟的一種性能優(yōu)異、概念新穎的實(shí)時(shí)網(wǎng)絡(luò)技術(shù)[1]。相對(duì)于以往基于TCP/IP或UDP/IP實(shí)時(shí)網(wǎng)絡(luò)技術(shù)來(lái)說(shuō),它*的提高了系統(tǒng)實(shí)時(shí)通訊、數(shù)據(jù)反射和信號(hào)調(diào)試的能力,使分布式仿真系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)及實(shí)現(xiàn)更為簡(jiǎn)單。本文介紹了基于VMI-5565反射內(nèi)存卡組建實(shí)時(shí)網(wǎng)絡(luò)的方法,并就利用VC++6.0實(shí)現(xiàn)實(shí)時(shí)網(wǎng)絡(luò)通訊進(jìn)行了研究。
1反射內(nèi)存通訊原理及實(shí)時(shí)網(wǎng)絡(luò)構(gòu)建
1.1 反射內(nèi)存通訊原理
反射內(nèi)存光纖網(wǎng)絡(luò)采用了*特殊的技術(shù),具備了很強(qiáng)的支持分布實(shí)時(shí)系統(tǒng)的數(shù)據(jù)傳輸能力[2]。在每個(gè)需要實(shí)時(shí)通訊的節(jié)點(diǎn)上插入反射內(nèi)存網(wǎng)卡(節(jié)點(diǎn)卡),每塊節(jié)點(diǎn)卡都有自己獨(dú)立的局部?jī)?nèi)存,它通過(guò)局部?jī)?nèi)存映射將網(wǎng)卡上的局部?jī)?nèi)存映射到主機(jī)內(nèi)存,用戶讀寫(xiě)網(wǎng)卡上的數(shù)據(jù)就如同讀寫(xiě)主機(jī)內(nèi)存上的數(shù)據(jù)一樣快速方便。另外,每塊反射內(nèi)存網(wǎng)卡又通過(guò)網(wǎng)絡(luò)內(nèi)存映射,將分布節(jié)點(diǎn)卡上的局部?jī)?nèi)存映射到一個(gè)虛擬的全局內(nèi)存,即每個(gè)節(jié)點(diǎn)在寫(xiě)入本地節(jié)點(diǎn)卡的數(shù)據(jù)同時(shí)也寫(xiě)入所有其他節(jié)點(diǎn)卡的內(nèi)存。這樣,用戶對(duì)本地節(jié)點(diǎn)內(nèi)存的讀寫(xiě)相當(dāng)于對(duì)全局內(nèi)存進(jìn)行讀寫(xiě),而這個(gè)全局內(nèi)存是所有分布節(jié)點(diǎn)都可見(jiàn)反射的,從而實(shí)現(xiàn)分布節(jié)點(diǎn)間的數(shù)據(jù)通訊[3]。通過(guò)這種方式,所有的節(jié)點(diǎn)能透明并確定地傳送中斷、消息或者數(shù)據(jù)塊到其他的節(jié)點(diǎn)。
1.2 VMI-5565實(shí)時(shí)網(wǎng)絡(luò)產(chǎn)品簡(jiǎn)介
VMI-5565反射內(nèi)存產(chǎn)品是美國(guó)VMIC公司于本世紀(jì)初推出的網(wǎng)絡(luò)通訊產(chǎn)品系列。其特點(diǎn)是通過(guò)驅(qū)動(dòng)軟件寫(xiě)到某一個(gè)節(jié)點(diǎn)反射內(nèi)存板上某一地址單元的數(shù)據(jù),可同時(shí)通過(guò)HUB自動(dòng)映射寫(xiě)到實(shí)時(shí)網(wǎng)絡(luò)上所有節(jié)點(diǎn)的反射內(nèi)存板上的對(duì)應(yīng)地址單元。同時(shí),也支持直接內(nèi)存訪問(wèn)(DMA)方式的數(shù)據(jù)塊傳輸。每塊反射內(nèi)存板通過(guò)卡上跳線設(shè)置在網(wǎng)絡(luò)上的ID號(hào)。其技術(shù)性能指標(biāo)如下:
(1).實(shí)時(shí)性能:數(shù)據(jù)傳輸率可達(dá)47.1Mbyte/s到174Mbyte/s;
(2). 負(fù)載能力:通過(guò)選用兩種不同型號(hào)的反射內(nèi)存板,具有64M字節(jié)至128M字節(jié)的可選負(fù)載能力;
(3). 傳輸距離:支持10km長(zhǎng)度的単模光纖300m長(zhǎng)度的多模光纖;
(4). 擴(kuò)展性:単個(gè)HUB支持8個(gè)節(jié)點(diǎn)。通過(guò)級(jí)聯(lián)HUB,多可支持256個(gè)節(jié)點(diǎn)。
1.3 基于反射內(nèi)存的實(shí)時(shí)網(wǎng)絡(luò)構(gòu)建
實(shí)時(shí)網(wǎng)絡(luò)現(xiàn)行的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)主要有環(huán)型、星型結(jié)構(gòu)等幾種結(jié)構(gòu)。一般來(lái)說(shuō),環(huán)形結(jié)構(gòu)組網(wǎng)簡(jiǎn)單。下面以三個(gè)節(jié)點(diǎn)為例,簡(jiǎn)單說(shuō)明環(huán)形結(jié)構(gòu)組網(wǎng)過(guò)程。三個(gè)節(jié)點(diǎn)需要三塊VMI5565卡及3根單股光纖。首先將三塊卡進(jìn)行統(tǒng)一編址,分別為節(jié)點(diǎn)0、節(jié)點(diǎn)1、節(jié)點(diǎn)2,并將其插入到對(duì)應(yīng)的計(jì)算機(jī)中,具體編址方式見(jiàn)2.1節(jié)。將節(jié)點(diǎn)0的反射內(nèi)存卡的RX端與將節(jié)點(diǎn)1的反射內(nèi)存卡的TX端連接,同時(shí)將節(jié)點(diǎn)1的RX端與T節(jié)點(diǎn)2的TX端連接,節(jié)點(diǎn)2的RX與節(jié)點(diǎn)0的TX連接,如圖1所示:
圖1環(huán)形拓?fù)鋵?shí)時(shí)網(wǎng)絡(luò)示意圖
環(huán)形結(jié)構(gòu)組網(wǎng)簡(jiǎn)單,但是在使用的時(shí)候,必須將所有的節(jié)點(diǎn)計(jì)算機(jī)全部打開(kāi)才能進(jìn)行通訊,在節(jié)點(diǎn)較多時(shí),使用不方便,且容易造成因人為失誤而導(dǎo)致仿真試驗(yàn)失敗的情況。
星型實(shí)時(shí)網(wǎng)絡(luò)由一個(gè)實(shí)時(shí)網(wǎng)絡(luò)HUB和實(shí)時(shí)節(jié)點(diǎn)卡組成。安裝了實(shí)時(shí)網(wǎng)絡(luò)節(jié)點(diǎn)卡的計(jì)算機(jī)通過(guò)光纖連接在HUB上。HUB提供了一個(gè)共享內(nèi)存空間,每個(gè)節(jié)點(diǎn)在本地都有一個(gè)該共享內(nèi)存空間的映射。當(dāng)任意一個(gè)實(shí)時(shí)處理機(jī)在本地節(jié)點(diǎn)卡的內(nèi)存空間中操作時(shí),HUB內(nèi)共享內(nèi)存空間的數(shù)據(jù)就會(huì)被更新。同時(shí),其它節(jié)點(diǎn)上的共享內(nèi)存映射空間中的對(duì)應(yīng)數(shù)據(jù)會(huì)被立即更新。這種實(shí)時(shí)網(wǎng)絡(luò)具有低延遲、高傳輸率的優(yōu)點(diǎn),確保所有節(jié)點(diǎn)數(shù)據(jù)快速更新。仍以三個(gè)節(jié)點(diǎn)為例,說(shuō)明其結(jié)構(gòu)。其結(jié)構(gòu)圖如圖2所示:
圖2 星型拓?fù)浣Y(jié)構(gòu)實(shí)時(shí)網(wǎng)示意圖
星型結(jié)構(gòu)則使用時(shí)比較方便,只需打開(kāi)需用的節(jié)點(diǎn)計(jì)算機(jī)并給HUB加電即可,工作穩(wěn)定、可靠,但相對(duì)環(huán)形拓?fù)浣Y(jié)構(gòu)來(lái)說(shuō),增加了一個(gè)實(shí)時(shí)網(wǎng)絡(luò)HUB,相同節(jié)點(diǎn)數(shù),需要的光纖也增加了一倍,增加了成本。
在具體使用中,可根據(jù)節(jié)點(diǎn)數(shù)量來(lái)進(jìn)行實(shí)時(shí)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)選擇。節(jié)點(diǎn)較少時(shí)選擇環(huán)形拓?fù)洌捎行У毓?jié)省成本,節(jié)點(diǎn)較多時(shí),可選擇星型拓?fù)洌褂酶鼮榉奖恪?/p>
筆者參與設(shè)計(jì)并投入使用的仿真系統(tǒng)采用了星型拓?fù)浣Y(jié)構(gòu),該系統(tǒng)共有8個(gè)節(jié)點(diǎn),分別對(duì)應(yīng)控制臺(tái)計(jì)算機(jī)、視景計(jì)算機(jī)、程序解算計(jì)算機(jī)、設(shè)備控制計(jì)算機(jī)等計(jì)算機(jī)。該系統(tǒng)目前已經(jīng)成功應(yīng)與于某半實(shí)物仿真系統(tǒng)中。由于該半實(shí)物仿真系統(tǒng)不是本文重點(diǎn)內(nèi)容,在此不做進(jìn)一步說(shuō)明。
2 反射內(nèi)存存儲(chǔ)空間分配
2.1 反射內(nèi)存編址
在組網(wǎng)前,需要對(duì)每塊反射內(nèi)存卡進(jìn)行統(tǒng)一編址,以便反射內(nèi)存網(wǎng)絡(luò)形成一致的連續(xù)的共享空間而不會(huì)發(fā)生沖突。在VMI5565反射內(nèi)存卡上,有一排8個(gè)小開(kāi)關(guān),用這些開(kāi)關(guān)即可完成統(tǒng)一編址。8個(gè)小開(kāi)關(guān)全部打開(kāi)時(shí),內(nèi)部地址為00000000,對(duì)應(yīng)的反射內(nèi)存卡為節(jié)點(diǎn)0,僅第1個(gè)打開(kāi)時(shí),內(nèi)部地址為00000001,對(duì)應(yīng)的反射內(nèi)存卡為節(jié)點(diǎn)1,第二個(gè)打開(kāi)為節(jié)點(diǎn)2,依次類推,按照二進(jìn)制編碼方式排列,依次為0,1,2,4,8,16,32,單個(gè)HUB支持8個(gè)節(jié)點(diǎn)。
2.2反射內(nèi)存地址空間分配
由于實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng)的內(nèi)存地址空間有限,所以每個(gè)節(jié)點(diǎn)計(jì)算機(jī)寫(xiě)入內(nèi)存的數(shù)據(jù)需科學(xué)、合理和嚴(yán)格規(guī)劃。常用的數(shù)據(jù)寫(xiě)入方式有兩種,種是不進(jìn)行地址空間分配,而按照具體節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通訊,即將數(shù)據(jù)發(fā)送端直接將所需的數(shù)據(jù)打包發(fā)送到對(duì)應(yīng)的數(shù)據(jù)接收端。例如,0號(hào)節(jié)點(diǎn)需要將名為ff的數(shù)據(jù)傳遞給1號(hào)節(jié)點(diǎn),其語(yǔ)法如下(VC++6.0下):
發(fā)送方(0號(hào)節(jié)點(diǎn)):
……
retstatus=RFM2gWrite(rh,1,(void *)ff,sizeof(float)*9);
……
接收方(1號(hào)節(jié)點(diǎn)):
……
retstatus=RFM2gRead(rh,1,(void *)ff,sizeof(float)*9);
……
此種方式在數(shù)據(jù)量大的時(shí)候,會(huì)引起溢出,無(wú)法保證同一幀數(shù)據(jù)的完整性,另外,當(dāng)一段數(shù)據(jù)為多個(gè)節(jié)點(diǎn)同時(shí)需要時(shí),此種方法就不夠方便。因此,目前常用的方式是將反射內(nèi)存空間進(jìn)行分配。
反射內(nèi)存地址空間分配是通過(guò)軟件接口控制文件定義好所有須使用內(nèi)存空間的數(shù)據(jù)變量地址,同類數(shù)據(jù)連續(xù)分配地址單元,以便其它節(jié)點(diǎn)的計(jì)算機(jī)可以用直接內(nèi)存訪問(wèn)方式一次性快速讀取大量數(shù)據(jù)。同時(shí),由于節(jié)點(diǎn)上的計(jì)算機(jī)在某個(gè)時(shí)刻寫(xiě)到某一內(nèi)存地址段的多個(gè)數(shù)據(jù)會(huì)在下一仿真周期以新的結(jié)果刷新此段數(shù)據(jù),為了保證其它計(jì)算機(jī)節(jié)點(diǎn)讀到該地址段幀的數(shù)據(jù)是同一幀的數(shù)據(jù),需為這段數(shù)據(jù)定義專門(mén)的地址單元標(biāo)志該段數(shù)據(jù)的讀寫(xiě)狀態(tài)。用此種方式時(shí),可利用如下句子進(jìn)行操作(VC++6.0下):
數(shù)據(jù)寫(xiě)入節(jié)點(diǎn):
……
retstatus=RFM2gWrite(rh,0x500, (void *)ff,sizeof(float)*9);
……
數(shù)據(jù)讀取節(jié)點(diǎn):
……
retstatus=RFM2gRead(rh,0x500,
(void *)ff,sizeof(float)*9);
……
數(shù)據(jù)寫(xiě)入節(jié)點(diǎn)只需將ff數(shù)據(jù)寫(xiě)入到固定的地址(0X500),需要用到此段數(shù)據(jù)的節(jié)點(diǎn)均可到該地址進(jìn)行讀寫(xiě),此種方式下,發(fā)送法不需關(guān)注接受方,而只需按照事先約好的數(shù)據(jù)存儲(chǔ)地址寫(xiě)入即可,同樣,接受方也是如此。
2.3 地址空間分配時(shí)的注意事項(xiàng)
在反射內(nèi)存空間地址分配時(shí),須注意所分配的空間應(yīng)大于所需傳遞的數(shù)據(jù)長(zhǎng)度并有一定的余量,應(yīng)按照單個(gè)數(shù)據(jù)的字節(jié)數(shù)和數(shù)據(jù)段的數(shù)據(jù)個(gè)數(shù)來(lái)進(jìn)行仔細(xì)計(jì)算所需的存儲(chǔ)空間。
在地址空間分配及實(shí)時(shí)通訊過(guò)程中,應(yīng)有的數(shù)據(jù)記錄空間和節(jié)點(diǎn),做好試驗(yàn)狀態(tài)和實(shí)驗(yàn)結(jié)果的記錄。同時(shí)在每次仿真開(kāi)始前應(yīng)清空射內(nèi)存中原有的數(shù)據(jù),以防造成誤操作,從而對(duì)仿真設(shè)備造成損壞。
3 在VC++下的實(shí)時(shí)通訊協(xié)議設(shè)計(jì)
在VC++下利用反射內(nèi)存網(wǎng)實(shí)現(xiàn)實(shí)時(shí)通訊之前,要進(jìn)行驅(qū)動(dòng)安裝與環(huán)境變量設(shè)置。具體內(nèi)容見(jiàn)參考文獻(xiàn)[4]。設(shè)置完成后,方可進(jìn)行相關(guān)操作。在筆者完成的實(shí)時(shí)系統(tǒng)中,采用VC環(huán)消息Message方式進(jìn)行傳遞進(jìn)行。首先是完成頭文件加載與反射內(nèi)存卡打開(kāi)并使之處于使能狀態(tài),隨后是等待觸發(fā)。按照反射內(nèi)存統(tǒng)一編址方式進(jìn)行通訊協(xié)議設(shè)計(jì),具體如下。
3.1 反射內(nèi)存卡初始化及使能
在VC++環(huán)境下,首先要完成反射內(nèi)存卡的頭文家加載與發(fā)射內(nèi)存卡打開(kāi)及使能,參考代碼如下:
#Include "rfm2g.h"http://反射內(nèi)存頭文件;
……
Main()
{
……
If((retstatus=RFM2gOpen(rfmFn,&rh))!= RFM2G_SUCCESS)
{
printf("Cannot open RFM2G\n");
exit(0);
}
if(rh == (RFM2GHANDLE) NULL){
printf( "%s> rh = %x ", me, rh );
} //判斷是否打開(kāi)成功
retstatus=RFM2gEnableEvent(rh,RFM2GEVENT_INTR1); //使能反射內(nèi)存卡,等待時(shí)間觸發(fā);
……
}
3.2 發(fā)送接受協(xié)議
初始化完成后,通訊開(kāi)始。為了確保數(shù)據(jù)實(shí)時(shí)傳輸?shù)恼_性,數(shù)據(jù)的發(fā)送、接收雙方需要握手協(xié)議。這一點(diǎn)在牽扯到仿真設(shè)備初始化的半實(shí)物仿真過(guò)程中尤為重要。設(shè)發(fā)送方在0X500地址處寫(xiě)入TX=1,等待接受方應(yīng)答信號(hào)。接受方在0X500處讀到TX并確定TX=1,完成準(zhǔn)備工作后在0X1000處寫(xiě)入RX=1。當(dāng)發(fā)送方收到RX并確認(rèn)為RX=1時(shí),正式數(shù)據(jù)開(kāi)始發(fā)送,實(shí)時(shí)仿真開(kāi)始。雙方具體操作如下。
3.2.1發(fā)送操作
發(fā)送方首*行握手信號(hào)發(fā)送,等待應(yīng)答成功后,開(kāi)始發(fā)送數(shù)據(jù)。仿真過(guò)程結(jié)束后發(fā)送TX=2,通知接收方通訊完成,待到對(duì)方應(yīng)答后,關(guān)閉反射內(nèi)存,實(shí)時(shí)通訊結(jié)束。
以發(fā)送名為ff數(shù)據(jù)至0X500為例,整個(gè)通訊過(guò)程參考代碼如下:
……
RFM2gClear(&rh);
TX=1;
retstatus=RFM2gWrite(rh,0x500, (void *)TX,sizeof(float)*9);//發(fā)送TX
retstatus=RFM2gSendEvent(rh,32,
RFM2GEVENT_INTR1,0x0);//發(fā)送消息事件;
while(1){
retstatus=RFM2gRead(rh,0x51, (void *)RX,sizeof(float)*9);
if(fabs(RX-1)<0.000001 )
break;
printf("wait RX…%lf\n",fabs(RX-1));
}
printf("RX Readly...\n");//握手成功
retstatus=RFM2gWrite(rh,0x500,(void *)ff,sizeof(float)*9);//發(fā)送ff
retstatus=RFM2gSendEvent(rh,32,RFM2GEVENT_INTR1,0x0);//發(fā)送消息
……
If(stop=start)//仿真完成
{
TX=2;
retstatus=RFM2gWrite(rh,0x500,(void *)TX,sizeof(float)*9);//發(fā)送TX
retstatus=RFM2gSendEvent(rh,32,RFM2GEVENT_INTR1,0x0);//發(fā)送消息事件;
while(1){ retstatus=RFM2gRead(rh,0x510,(void *)RX,sizeof(float)*9);
if(fabs(RX-2)<0.000001 )
break;
printf("wait RX…%lf\n",fabs(RX-1));
}
printf("Retaime TR over...\n");
retstatus=RFM2gDisableEvent(rh,
RFM2GEVENT_INTR1);//關(guān)閉使能反射內(nèi)存;
RFM2gClose(&rh);//關(guān)閉反射內(nèi)存;
}//仿真過(guò)程結(jié)束,關(guān)閉反射內(nèi)存
……
3.2.2 接受操作
接受操作類似于發(fā)送操作,只需要在初始化完成后,有一個(gè)等待事件觸發(fā)的命令即可。當(dāng)收到事件觸發(fā)后,即從0X500處讀入數(shù)據(jù)并判斷數(shù)據(jù),當(dāng)收到的數(shù)據(jù)同預(yù)設(shè)一致時(shí),發(fā)送應(yīng)答信號(hào)至0X510,并準(zhǔn)備接受數(shù)據(jù)。當(dāng)接受到數(shù)據(jù)為T(mén)x=2時(shí),即返回RX=2并停止使能反射內(nèi)存卡,關(guān)閉反射內(nèi)存卡,通訊結(jié)束。等待觸發(fā)的代碼如下,其他類似于發(fā)送方。
……
RFM2gClear(&rh);
retstatus=RFM2gWaitForEvent(rh,&info);
……
retstatus=RFM2gDisableEvent(rh,RFM2GEVENT_INTR1);//關(guān)閉使能反射內(nèi)存;
RFM2gClose(&rh);//關(guān)閉反射內(nèi)存;
}//仿真過(guò)程結(jié)束,關(guān)閉反射內(nèi)存
……
利用上述方法即可實(shí)現(xiàn)實(shí)時(shí)通訊過(guò)程。
4 在Windows下實(shí)現(xiàn)實(shí)時(shí)通訊
由于Windows是多任務(wù)操作系統(tǒng),因此常見(jiàn)的實(shí)時(shí)系統(tǒng)常采用DOS等單任務(wù)系統(tǒng),或者是購(gòu)買(mǎi)RTW模塊并實(shí)現(xiàn)Windows下的實(shí)時(shí)性設(shè)計(jì)。但是,在實(shí)時(shí)性要求不是很高的情況下(仿真步長(zhǎng)>0.5ms)時(shí),可以通過(guò)提高進(jìn)程優(yōu)先級(jí)并強(qiáng)制關(guān)閉其他進(jìn)程的方法來(lái)實(shí)現(xiàn)強(qiáng)實(shí)時(shí)計(jì)算。同時(shí),可以通過(guò)獲取計(jì)算機(jī)機(jī)器時(shí)間并以此來(lái)進(jìn)行仿真步長(zhǎng)的準(zhǔn)確定時(shí)。采用此方法,可有效地實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)的時(shí)間統(tǒng)一管理,可有效地提高系統(tǒng)的實(shí)時(shí)性。在實(shí)際使用過(guò)程中,仿真步長(zhǎng)可根據(jù)整個(gè)系統(tǒng)的單步計(jì)算、控制的耗時(shí)情況以及仿真對(duì)象的實(shí)際情況進(jìn)行選擇,并選擇合適的方式(中斷、查詢)來(lái)實(shí)現(xiàn)仿真周期的準(zhǔn)確定時(shí)。
筆者完成的實(shí)時(shí)系統(tǒng)設(shè)計(jì)中,通過(guò)查詢方式并采用死循環(huán)的形式,實(shí)現(xiàn)了仿真周期為0.5毫秒的半實(shí)物仿真。實(shí)際測(cè)試(測(cè)試環(huán)境:CPUP4 2.8GHZ 512M)統(tǒng)計(jì)結(jié)果表明,在采用實(shí)時(shí)處理以后,完成一步計(jì)算幀周期定時(shí)誤差大為1.2毫秒,采用實(shí)時(shí)處理以后,平均幀誤差在30微妙,大為130微妙。采用實(shí)時(shí)處理后的反射內(nèi)存網(wǎng)兩個(gè)節(jié)點(diǎn)之間的數(shù)據(jù)傳輸時(shí)間誤差均值小于80微妙,大值小于200微妙。經(jīng)過(guò)任務(wù)優(yōu)先級(jí)調(diào)整后的仿真進(jìn)程受操作系統(tǒng)影響較小,在所得到的測(cè)試結(jié)果中,99%在40-50微妙以內(nèi),大值不超過(guò)130微妙,實(shí)時(shí)網(wǎng)數(shù)據(jù)延時(shí)大值不超過(guò)150微妙,*仿真步長(zhǎng)在0.5毫秒以上的系統(tǒng)仿真任務(wù)。
5 小結(jié)
本文主要介紹了基于反射內(nèi)存卡的實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)方法,并給出了具體的通訊協(xié)議及注意事項(xiàng),同時(shí),就如何在Windows系統(tǒng)下實(shí)現(xiàn)實(shí)時(shí)通訊進(jìn)行了簡(jiǎn)要介紹。利用該方法設(shè)計(jì)的實(shí)時(shí)系統(tǒng)已在某半實(shí)物仿真實(shí)驗(yàn)室中應(yīng)用,經(jīng)驗(yàn)證,該系統(tǒng)具有通信實(shí)時(shí)性好,數(shù)據(jù)傳輸速度快,傳輸可靠性高的特點(diǎn),滿足實(shí)時(shí)仿真需要,取得了良好的效果,被實(shí)踐證明是一種成熟、有效的方法。
參考文獻(xiàn):
[1] 胡小江, 錢(qián)志博.基于LabVIEW的實(shí)時(shí)網(wǎng)絡(luò)接口開(kāi)發(fā)[J].電子技術(shù)應(yīng)用,2005(3):28~29.
[2] 楊滌,楊旭,系統(tǒng)實(shí)時(shí)仿真開(kāi)發(fā)環(huán)境與應(yīng)用[M].北京:請(qǐng)華大學(xué)出版社,2002,5~8.
[3] VMICPCI-5565 REFLECTIVE MEMORY BOARD PRODUCT MANUAL, VME Microsystems International Corporation.
[4 David .J.Kruglinski, Scot Wingo,George Shepherd著,希望圖書(shū)創(chuàng)作室 譯. Visual C++6.0技術(shù)(第五版)[M].北京:北京希望電子出版社,2000,395~402
- 凡本網(wǎng)注明"來(lái)源:機(jī)床商務(wù)網(wǎng)"的所有作品,版權(quán)均屬于機(jī)床商務(wù)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明機(jī)床商務(wù)網(wǎng),//www.wzmyfl.com/。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 紐威數(shù)控裝備獲批“江蘇省級(jí)大學(xué)生企業(yè)實(shí)習(xí)實(shí)訓(xùn)基地”
- 以智聚力,工業(yè)母機(jī)行業(yè)研討會(huì)順利召開(kāi)!
- 暢爾開(kāi)展2025年數(shù)控銑工技能等級(jí)認(rèn)定
- 5月中旬流通領(lǐng)域重要生產(chǎn)資料市場(chǎng)價(jià)格變動(dòng)情況
- 2026中部(鄭州)裝備制造業(yè)博覽會(huì)暨第28屆好博鄭州工業(yè)展覽會(huì)
- 2026第47屆無(wú)錫太湖國(guó)際機(jī)床及智能工業(yè)裝備產(chǎn)業(yè)博覽會(huì)
- 2026上海國(guó)際磁性材料與應(yīng)用產(chǎn)業(yè)鏈展覽會(huì)
- 中國(guó)國(guó)際先進(jìn)制造技術(shù)博覽會(huì)
- 2020年“立嘉杯-中國(guó)好機(jī)床”企業(yè)品牌評(píng)選活動(dòng)
- 2019年第22屆青島國(guó)際機(jī)床展覽會(huì)會(huì)專題
- 第十六屆中國(guó)國(guó)際機(jī)床展覽會(huì)(CIMT2019)專題
- 浙江興旺寶明通成立十五周年