版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于Windows的Powerlink主從站通信一、設(shè)計(jì)任務(wù)(要求)二、總體方案三、硬件原理圖四、軟件框圖五、設(shè)計(jì)總結(jié)參考文獻(xiàn)一、設(shè)計(jì)任務(wù)(要求)1、設(shè)計(jì)要求兩人一組,一人作為主站(MN),一人作為從站(CN),實(shí)現(xiàn)Windows下的Powerlink主從站通信,在兩臺(tái)PC的控制臺(tái)分別顯示MN:姓名和學(xué)號(hào)CN:姓名和學(xué)號(hào)2、課程設(shè)計(jì)任務(wù)及工作量的要求根據(jù)任務(wù)書要求,完成以下設(shè)計(jì)任務(wù):參考學(xué)習(xí)《Powerlink實(shí)現(xiàn)以太網(wǎng)教程》相關(guān)部分,學(xué)習(xí)怎樣修改openPowerlink源代碼,怎樣使用openConfigurator配置從站網(wǎng)絡(luò)參數(shù)和映射參數(shù)掌握Powerlink工作原理2.在Windows系統(tǒng)下安裝VisualStudio2008,編譯openPowerlink開源代碼3.利用開源配置工具openConfigurator配置網(wǎng)絡(luò)參數(shù)和映射參數(shù),將產(chǎn)生的mnobd.cdc和xap.h文件放置正確的目錄下4.根據(jù)配置參數(shù),修改源代碼相關(guān)部分,,重新編譯源代碼,完成主從站通信功能,并在控制臺(tái)顯示各自的姓名和學(xué)號(hào)5.通過wireshark進(jìn)行功能演示。Powerlink工作原理
)。
)、應(yīng)用層(
等),不依
模式)。
)、一往(),就
總體實(shí)現(xiàn)方案流程1.所需軟件和硬件:需要準(zhǔn)備兩臺(tái)電腦,一臺(tái)作為主站,一臺(tái)作為從站;操作系統(tǒng)為WindowsXP;需要安裝VS2008開發(fā)環(huán)境;需要安裝WinPcap或者Wireshark。2.將POWERLINK的源碼分拷貝到要作為主站和從站的電腦上,隨便選哪臺(tái)電腦做主站都可以,主站和從站上的程序有所不同。3.打開主站\Examples\X86\Windows\VC9\demo_pcap下的工程,使用VS2008打開,此外為了能在Windows上運(yùn)行openPOWERLINK,你需要安裝winpcap或wireshark軟件,因?yàn)閛penPOWERLINK將pcaplib作為網(wǎng)卡驅(qū)動(dòng)程序。4.修改主站上的網(wǎng)絡(luò)參數(shù)和映射參數(shù),假定我們要通信2個(gè)參數(shù),一個(gè)參數(shù)是主站發(fā)送給從站,另一個(gè)是主站接收來自從站的數(shù)據(jù)。打開objdict.h文件。首先確定要把哪個(gè)object作為主站發(fā)送給從站的參數(shù),我們注意到源碼里有一個(gè)Object0X2000/01,可以將該object作為主站發(fā)送給從站的參數(shù)。因此我們配置發(fā)送的網(wǎng)絡(luò)參數(shù)和映射參數(shù):將0x1801/0x01的值設(shè)為1,即發(fā)送數(shù)據(jù)給1號(hào)節(jié)點(diǎn):將0x1A01的參數(shù)設(shè)置為如下的值:5.修改主站上的源程序。打開demo_main.c文件,將NODEID改為:#defineNODEID0xF0//=>MN,主站的nodeid為240即16進(jìn)制的FO6.定義一個(gè)變量(BYTEoutput8),與0X2000/01link起來。POWERLINK實(shí)時(shí)以太網(wǎng)教程59在main.c中,將與0x2000/0x01連接的代碼修改如下:至此,我們就映射了一個(gè)object,并把他和我們自己定義的一個(gè)變量link起來。接下來我們?cè)儆成湟粋€(gè)object,用來接收數(shù)據(jù)。7.接收的網(wǎng)絡(luò)參數(shù)和映射參數(shù):我們注意到源碼中有索引為0x2200的對(duì)象字典,可以將0x2200/02作為接收的objcet。將0x1402作為接收1號(hào)節(jié)點(diǎn)的網(wǎng)絡(luò)參數(shù)。將0x1402/0x01的值設(shè)為1,即接收來自1號(hào)節(jié)點(diǎn)的數(shù)據(jù)。相應(yīng)的映射參數(shù)為0x1602,將0x1602的參數(shù)設(shè)置為如下的值:8.定義一個(gè)變量(BYTEinput8),與0X2200/02link起來。POWERLINK實(shí)時(shí)以太網(wǎng)教程60在main.c中,在main.c中,將與0x2200/0x02連接的代碼修改如下:至此,我們映射了一個(gè)object,并把他和我們自己定義的一個(gè)變量link起來。接下來我們將AppCbSync修改如下,這段代碼的意思是我們把主站要發(fā)給從站的數(shù)據(jù)不斷的累加,同時(shí)打印出來自從站的數(shù)據(jù)。6.1.2設(shè)置從站的參數(shù)設(shè)設(shè)置置從從站站的的參參數(shù)數(shù)設(shè)置從站的參數(shù)1.從站需要2個(gè)參數(shù),一個(gè)參數(shù)用來接收來自主站的數(shù)據(jù),另一個(gè)參數(shù)發(fā)送給主站。打開objdict.h文件。首先確定我們要把哪個(gè)object作為發(fā)送給主站的參數(shù),我們注意到源碼里有一個(gè)Object0X6000/01,可以將該object作為從站發(fā)送給主站的參數(shù)。因此我們配置發(fā)送的網(wǎng)絡(luò)參數(shù)和映射參數(shù):將0x1800/0x01的值設(shè)為0。POWERLINK實(shí)時(shí)以太網(wǎng)教程61將0x1A00的參數(shù)設(shè)置為如下的值:2.修改從站上的源程序。打開demo_main.c文件,將NODEID改為:#defineNODEID0x01//=>從站的nodeid取值范圍1-2393.定義一個(gè)變量(BYTEoutput8),與0X6000/01link起來。在main.c中,將與0x6000/0x01連接的代碼修改如下:ObdSize=sizeof(output8);uiVarEntries=1;EplRet=EplApiLinkObject(0x6000,&output8,&uiVarEntries,&ObdSize,0x01);if(EplRet!=kEplSuccessful){GotoExitShutdown;}至此,我們就映射了一個(gè)object,并把他和我們自己定義的一個(gè)變量link起來。接下來我們?cè)儆成湟粋€(gè)object,用來接收數(shù)據(jù)。4.接收的網(wǎng)絡(luò)參數(shù)和映射參數(shù)。我們注意到源碼中有索引為0x6200的對(duì)象字典,可以將006200/01作為接收的objcet。POWERLINK實(shí)時(shí)以太網(wǎng)教程62將0x1400作為接收來自主站的網(wǎng)絡(luò)參數(shù)。將0x1400/0x01的值設(shè)為0。相應(yīng)的映射參數(shù)為0x1600,將0x1600/01的參數(shù)設(shè)置為如下的值:5.定義一個(gè)變量(BYTEinput8),與0X6200/01link起來。在main.c中,將與0x6200/0x01連接的代碼修改如下:ObdSize=sizeof(input8);uiVarEntries=1;EplRet=EplApiLinkObject(0x6200,&input8,&uiVarEntries,&ObdSize,0x01);if(EplRet!=kEplSuccessful){gotoExitShutdown;}接下來我們將AppCbSync修改如下,這段代碼的意思是我們把從站要發(fā)給主站的數(shù)據(jù)不斷的累加10,同時(shí)打印出來自主站的數(shù)據(jù)。完成上述步驟,我們就完成了主站和從站的配置。先將兩臺(tái)電腦用網(wǎng)線連接起來,接下POWERLINK實(shí)時(shí)以太網(wǎng)教程63來將從站先運(yùn)行起來,最后再把主站運(yùn)行起來。當(dāng)把主站或從站運(yùn)行起來時(shí),出現(xiàn)如下界面來選擇使用哪個(gè)網(wǎng)口作為POWERLINK口。在這里我使用第三個(gè)網(wǎng)口(MarvellYukonEthernetController),因此我輸入3,然后回車。
,在
集成了對(duì)象字典,那么用戶如何得到對(duì)象字典中的對(duì)象的值呢?可以調(diào)用函數(shù)
用戶應(yīng)用
)。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省十校聯(lián)考2026屆高三上學(xué)期1月期末階段性作業(yè)語文試卷(含答案)
- 鋼結(jié)構(gòu)技術(shù)標(biāo)準(zhǔn)體系建設(shè)
- 2026石嘴山市大武口區(qū)審計(jì)局聘請(qǐng)2名專業(yè)人員輔助審計(jì)工作參考考試題庫及答案解析
- 2026山東事業(yè)單位統(tǒng)考昌邑市招聘58人備考考試題庫及答案解析
- 龍山龍蝦活動(dòng)策劃方案(3篇)
- 建筑公司門衛(wèi)房管理制度(3篇)
- 山地水管施工方案(3篇)
- 修復(fù)道路施工方案(3篇)
- 2026北京大學(xué)對(duì)外漢語教育學(xué)院招聘全職博士后研究人員備考考試題庫及答案解析
- 2026貴州貴陽市觀山湖區(qū)第二幼兒園第二分園招聘3人考試備考題庫及答案解析
- 云南省2026年普通高中學(xué)業(yè)水平選擇性考試調(diào)研測(cè)試歷史試題(含答案詳解)
- 廣東省花都亞熱帶型巖溶地區(qū)地基處理與樁基礎(chǔ)施工技術(shù):難題破解與方案優(yōu)化
- 家里辦公制度規(guī)范
- 基于知識(shí)圖譜的高校學(xué)生崗位智能匹配平臺(tái)設(shè)計(jì)研究
- GB 4053.3-2025固定式金屬梯及平臺(tái)安全要求第3部分:工業(yè)防護(hù)欄桿及平臺(tái)
- 環(huán)氧拋砂防滑坡道施工組織設(shè)計(jì)
- 2026中央廣播電視總臺(tái)招聘124人參考筆試題庫及答案解析
- DB15∕T 3725-2024 煤矸石路基設(shè)計(jì)與施工技術(shù)規(guī)范
- 鋼結(jié)構(gòu)屋架拆除與安裝工程施工方案
- 動(dòng)力電池儲(chǔ)能車間事故應(yīng)急處置預(yù)案
- 醫(yī)生合理用藥知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論