前言
Ethercat协议是工业以太网重要组成部分,了解Ethercat协议开发在自动化设备中十分重要,这篇博客主要是对githup上开源的SOEM库文件说明
-
SOEM目录:实现主从站功能的主要文件和源文件(头文件和源文件)
ethercatbase.c:基于ether功能函数,将数据封装成ethercat帧
ethercatmain.c:ethercat的初始化,从站数据的读取!
定义ec_slave[],所有从站信息都在这个结构体内。
ethercatcoe.c:CoE模块,应用层CoE协议
ethercatfoe.c:FoE模块
ethercateoe.c:EoE模块(设置、获取IP函数,发送、接收以太网帧)
ethercatdc.c:EtherCat分布式时钟,实现主从站之间时针同步 -
OSAL/OSHW目录:操作系统接口文件
oshw.c:网卡管理模块
nicdrv.c:EtherCat原始套接字驱动
osal.c:定时器,延时函数 -
TEST目录
运行一些demo程序,可以用wireshark工具监控ethercat帧
SOEM的API接口:
- 初始化SOEM接口
ec_init(); //套接字绑定到单个网卡
ec_init_redundant(); //绑定双网卡
- 发送过程数据
ec_send_processdata(); //给从站发数据
- 接收数据
ec_receive_processdata(); //指定时间内,从站接收一个有效的数据过程
- 关闭SOEM接口
ec_close();