Ethercat + SSC + Twincat3(PDO+SDO)

一、Ethercat简介

  • Ethercat(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统。是确定性的工业以太网。
  • Ethercat的主站与从站通信方式,理解起来就是从主站那发出一个火车,这个火车上拉着可以确定目标从站地址的信息、数据以及Ethercat报文的其他部分。当经过一个从站的时候,从站管理器(ESC)就会将Ethercat报文中和自己这一站有关的数据提取出来,同时会讲从站需要发给主站的数据插入上去,然后这个火车就会继续开往下个从站,直到最后一个从站。当发现到达最后一个从站后,这个火车就会顺着原路返回到主站,将从站的数据带给主站。
  • EtherCAT从站对数据帧的读取、解析、过程数据的提取与插入完全由硬件来实现,这使得数据帧的处理不受CPU的性能、软件的实现方式等影响,时间延迟极小、实时性很高。
  • 看起来好像硬件把所有事情都做了,软件需要做什么呢?软件只需要把从站管理器从报文中提取出来的数据(RxPDO)进行处理,然后将TxPDO传给从站管理器。对于SDO也是一样,对下发的SDO数据进行处理,然后对上送的SDO数据进行读取、传递。

二、SSC工具

  • 虽说硬件(ESC)帮我们干了大多数的事情,但对具体数据的处理还是得由软件来进行。比如当有数据更新时间发生时,ESC的同步管理器会以中断的方式告诉应用层,我们就需要在中断处理程序中对PDO数据以及SDO数据进行处理。这对于代码开发也是比较复杂的一块,还好倍福开发了一个SSC工具,根据你的设置以及导入的excel表来生成代码和XML文件,大大的缩短我们的开发时间。XML文件是主站和从站通信的关键,相当于是主站和从站会根据XML里面规定的通讯方式来进行通。可以利用主站程序如Twincat来讲xml文件烧录到从站中。
  • 另外一个点就是excel表的书写。我在这里面遇到了很多坑。话不多说,直接上示例。
    Excel表
    关于16位补齐:
  • RxPDO和TXPDO需要16位补齐,否则工具就会报错。
  • RxPDO Mapping和TxPDO Mapping 不需要16位补齐,但是需要8位补齐,如果有bit位的元素,则需要8位补齐。
  • SDO可以16位补齐,也可以不补齐,如果补齐的话,则在CoeRead和CoeWrite那一列不需要写,SSC工具会用生成的代码中的函数去读写。如果没有补齐的话,则需要在表中写上需要自己实现的函数名,生成的代码中会自动声明这两个函数,但是需要我们自己去找到该函数的定义,然后自己去实现它。

三、Twincat3

因为关于项目保密,我自己的电脑又没有安装Twincat,前面大多数操作网上都可以找得到,比如这位博主写的个人觉得比较易懂:https://blog.csdn.net/zhandouhu/article/details/104092545

  • 对于如果处于自由运行模式,那么PDO数据不用我们去管,Twincat会自己更新。
  • 对于SDO数据的读写:点击BOX,然后点击Coe_online那一栏,主站就会去跟从站通讯,读到所有的TXPDO数据以及可读的SDO数据。然后列在表格中,是根据索引列出来的。然后找到你定义的SDO的索引,展开,双击就可以对其进行设置下发。

写的略急,如果有问题可以联系2016510785@qq.com或者加qq 2016510785来进行交流。

四、软件下载及代码委托生成

若有着急编写excel或生成xml文件的,可以到下列网址店铺中下单
https://tinyurl.com/yc5fk75d

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

demons_000001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值