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