Login
升级VIP 登录 注册 安全退出
当前位置: 首页 > word文档 > 合同模板 > ethercat通讯协议例程,ethercat通讯协议

ethercat通讯协议例程,ethercat通讯协议

收藏

本作品内容为ethercat通讯协议例程,格式为 docx ,大小 1091847 KB ,页数为 7页

ethercat通讯协议例程


('ethercat通讯协议例程本例程介绍了如何在基础例程(SAMPLE_APPLICATION)的基础上添加新的过程数据。。默认的基础例程提供了一下的过程数据:32Bit的InputCounter(0x6000)32Bit的OutputCounter(0x7010)当OutputCounter为0时,InputCounter每个cycle自加1;否则InputCounter等于OutputCounter+1。本例程中新增的过程数据:32Bit的InputCounter(0x6000)32Bit的Result(0x6010)OutputValue(0x7010)----SI1:Value1(32Bit)----Sl2:Value2(32Bit)Result(0x6010)是Sl1(0x7010.1)和Sl2(0x7010.2)之和。InputCounter(0x6000)每个cycle自加1。1.创建基础例程这一节简单介绍一下如何在倍福EL9800评估板上创建基础例程。当然,也可以在已有的其他类似的例程上进行新增过程数据的修改。按照章节3.1"SSCTool”中的步骤1~7进行操作(这里的章节3.1是指《ApplicationNoteET9300SSC》的3.1)。选择"EL98008BitDigitalI/O,16BitAnalogInput"的配置。在"Application"组下将"EL9800APPLICATION"设置为0,将"SAMPLE_APPLICATION"设置为1。保存工程并创建新的文件(Project->"CreatenewSlaveFiles")。基于已创建的ESI文件,编辑从站EEPROM。基于生成的源文件创建MPLAB工程。SSC可以创建基础例程,具体的创建步骤,在《ApplicationNoteET9300》其他章节也介绍,后面单独列一章来介绍SSC。这里重点关注如何新增过程数据。2.新增过程数据2.1在sampleappl.h中新增Result对象创建为过程数据"32BitResult"创建入口描述(EntryDescription),对象名和对象实例。要在EtherCAT中新增过程数据,首先就需要在代码中新增对象。关于”对象字典“可以参考我的另一篇博客。2.2在sampleappl.h中修改OutputValue对象在对象0x7010(32BitOutputCounter)的基础上进行修改,将对象0x7010修改成Record型对象,Record型对象可以操作超过1个的过程数据(译者注:原有的OutputCounter是Var型对象,只能有1个子项;Record型对象类似于结构体,一个对象中可以有多个子项)。OuputCounter原本只有一个子项(类似与0x6010的结构),现在需要2个子项,同时还需要增加SubIndex0的参数。对象名称需要与Entry相对应(每个子名称以"\\000"结尾,整个对象名称以"\\377"结尾)。还需要根据对象的参数定义一个结构体,使其包含SubIndex0以及2个过程数据。更多的细节信息请参见章节11。2.3在sampleappl.h中修改PDO-map对象在PDO-Mapping对象中,为新增的过程数据添加信息。修改的代码被标注为红色。2.4在sampleappl.h中更新对象字典的参考2.5在sampleappl.c中更新过程数据大小更新过程数据大小(过程数据大小应该与对应的SM大小一致)。注:如果某一个变量与ESI文件中记录的信息不一致,从站状态无法从PreOP转入SafeOP,并会发送0x1E~0x1D的错误码。译者注:APPL_GenerateMapping用于计算输入过程数据和输出过程数据的长度,后面进行内存拷贝的时候,会根据这里计算出的长度来进行拷贝。2.6在sampleappl.c中修改InputMapping()函数更新输入过程数据映射函数,将新增的过程数据本地拷贝到ESC内存中。Result(0x6010)对象是输入过程数据,这里使用MEMCPY,将本地内存中的ResultObj6010拷贝到ESC中(pData是ESC的地址)。2.7在sampleappl.c中修改OutputMapping()函数更新输出过程数据映射函数,将新增的过程数据从ESC内存中拷贝到本地。2.8在sampleappl.c中更新应用程式修改应用程序,使Result=Output.value1+Output.value2,InputCounter++。2.9更新ESI文件根据步骤3,更新ESI中RxPdo和TxPdo的Entry。主站会使用ESI文件中的信息来计算SM的长度(SM长度应该与步骤5中的长度一致),并会将过程数据展示给用户(图11:EtherCAT从站RxPdo的数据)。2.10更新ESI文件根据RxPdo/TxPdoEntry的位宽更新SM的默认位宽。2.11更新ESI文件更新离线对象字典(元素:”Profile/Dictionary“)。a.新增对象0x6010(此对象无需结构体定义,因为此对象仅包含了一个基础数据类型的变量)。b.为对象0x7010新增结构体定义c.更新对象0x7010d.更新PDO映射对象结构体注:对象0x1601和对象0x1A00都可以使用"DT1601"的定义,因为这两个对象的结构体是一致的。e.更新PDO映射对象对象字典在SSC和ESI上是一式两份,SSC和ESI上都需要对对象的结构体定义,对象名称,对象映射关系等进行修改。',)


  • 编号:1700665941
  • 分类:合同模板
  • 软件: wps,office word
  • 大小:7页
  • 格式:docx
  • 风格:商务
  • PPT页数:1091847 KB
  • 标签:

广告位推荐

相关合同模板更多>