基于Windows的Powerlink主从站通信_第1页
基于Windows的Powerlink主从站通信_第2页
基于Windows的Powerlink主从站通信_第3页
基于Windows的Powerlink主从站通信_第4页
基于Windows的Powerlink主从站通信_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Windows的Powerlink主从站通信一、设计任务(要求)二、总体方案三、硬件原理图四、软件框图五、设计总结参考文献一、设计任务(要求)1、设计要求两人一组,一人作为主站(MN),一人作为从站(CN),实现Windows下的Powerlink主从站通信,在两台PC的控制台分别显示MN:姓名和学号CN:姓名和学号2、课程设计任务及工作量的要求根据任务书要求,完成以下设计任务:参考学习《Powerlink实现以太网教程》相关部分,学习怎样修改openPowerlink源代码,怎样使用openConfigurator配置从站网络参数和映射参数掌握Powerlink工作原理2.在Windows系统下安装VisualStudio2008,编译openPowerlink开源代码3.利用开源配置工具openConfigurator配置网络参数和映射参数,将产生的mnobd.cdc和xap.h文件放置正确的目录下4.根据配置参数,修改源代码相关部分,,重新编译源代码,完成主从站通信功能,并在控制台显示各自的姓名和学号5.通过wireshark进行功能演示。Powerlink工作原理

)。

)、应用层(

等),不依

模式)。

)、一往(),就

总体实现方案流程1.所需软件和硬件:需要准备两台电脑,一台作为主站,一台作为从站;操作系统为WindowsXP;需要安装VS2008开发环境;需要安装WinPcap或者Wireshark。2.将POWERLINK的源码分拷贝到要作为主站和从站的电脑上,随便选哪台电脑做主站都可以,主站和从站上的程序有所不同。3.打开主站\Examples\X86\Windows\VC9\demo_pcap下的工程,使用VS2008打开,此外为了能在Windows上运行openPOWERLINK,你需要安装winpcap或wireshark软件,因为openPOWERLINK将pcaplib作为网卡驱动程序。4.修改主站上的网络参数和映射参数,假定我们要通信2个参数,一个参数是主站发送给从站,另一个是主站接收来自从站的数据。打开objdict.h文件。首先确定要把哪个object作为主站发送给从站的参数,我们注意到源码里有一个Object0X2000/01,可以将该object作为主站发送给从站的参数。因此我们配置发送的网络参数和映射参数:将0x1801/0x01的值设为1,即发送数据给1号节点:将0x1A01的参数设置为如下的值:5.修改主站上的源程序。打开demo_main.c文件,将NODEID改为:#defineNODEID0xF0//=>MN,主站的nodeid为240即16进制的FO6.定义一个变量(BYTEoutput8),与0X2000/01link起来。POWERLINK实时以太网教程59在main.c中,将与0x2000/0x01连接的代码修改如下:至此,我们就映射了一个object,并把他和我们自己定义的一个变量link起来。接下来我们再映射一个object,用来接收数据。7.接收的网络参数和映射参数:我们注意到源码中有索引为0x2200的对象字典,可以将0x2200/02作为接收的objcet。将0x1402作为接收1号节点的网络参数。将0x1402/0x01的值设为1,即接收来自1号节点的数据。相应的映射参数为0x1602,将0x1602的参数设置为如下的值:8.定义一个变量(BYTEinput8),与0X2200/02link起来。POWERLINK实时以太网教程60在main.c中,在main.c中,将与0x2200/0x02连接的代码修改如下:至此,我们映射了一个object,并把他和我们自己定义的一个变量link起来。接下来我们将AppCbSync修改如下,这段代码的意思是我们把主站要发给从站的数据不断的累加,同时打印出来自从站的数据。6.1.2设置从站的参数设设置置从从站站的的参参数数设置从站的参数1.从站需要2个参数,一个参数用来接收来自主站的数据,另一个参数发送给主站。打开objdict.h文件。首先确定我们要把哪个object作为发送给主站的参数,我们注意到源码里有一个Object0X6000/01,可以将该object作为从站发送给主站的参数。因此我们配置发送的网络参数和映射参数:将0x1800/0x01的值设为0。POWERLINK实时以太网教程61将0x1A00的参数设置为如下的值:2.修改从站上的源程序。打开demo_main.c文件,将NODEID改为:#defineNODEID0x01//=>从站的nodeid取值范围1-2393.定义一个变量(BYTEoutput8),与0X6000/01link起来。在main.c中,将与0x6000/0x01连接的代码修改如下:ObdSize=sizeof(output8);uiVarEntries=1;EplRet=EplApiLinkObject(0x6000,&output8,&uiVarEntries,&ObdSize,0x01);if(EplRet!=kEplSuccessful){GotoExitShutdown;}至此,我们就映射了一个object,并把他和我们自己定义的一个变量link起来。接下来我们再映射一个object,用来接收数据。4.接收的网络参数和映射参数。我们注意到源码中有索引为0x6200的对象字典,可以将006200/01作为接收的objcet。POWERLINK实时以太网教程62将0x1400作为接收来自主站的网络参数。将0x1400/0x01的值设为0。相应的映射参数为0x1600,将0x1600/01的参数设置为如下的值:5.定义一个变量(BYTEinput8),与0X6200/01link起来。在main.c中,将与0x6200/0x01连接的代码修改如下:ObdSize=sizeof(input8);uiVarEntries=1;EplRet=EplApiLinkObject(0x6200,&input8,&uiVarEntries,&ObdSize,0x01);if(EplRet!=kEplSuccessful){gotoExitShutdown;}接下来我们将AppCbSync修改如下,这段代码的意思是我们把从站要发给主站的数据不断的累加10,同时打印出来自主站的数据。完成上述步骤,我们就完成了主站和从站的配置。先将两台电脑用网线连接起来,接下POWERLINK实时以太网教程63来将从站先运行起来,最后再把主站运行起来。当把主站或从站运行起来时,出现如下界面来选择使用哪个网口作为POWERLINK口。在这里我使用第三个网口(MarvellYukonEthernetController),因此我输入3,然后回车。

,在

集成了对象字典,那么用户如何得到对象字典中的对象的值呢?可以调用函数

用户应用

)。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论