当前位置: 首页 > news >正文

j2b描述ethercat

参考用JSON 定义二进制结构j2b.csdnMAC,PHY,变压器,RJ45.csdnSOEM.githubSOEM.gitcodemailbox_8h_source.etherlabethercat.j2b.json5{remark:ethercat.j2b.json,agreement:[1. macFrame_length 长度范围[64,1500) (eth→fcs不含phy),2. acq和ctrl根据EtherCatCommandType区分],schema:{Ethertype:enum:U16:{0x0806:ARP;地址解析协议,0x0800:IPv4;,0x86DD:IPv6;,0x88A4:EtherCAT;工业实时总线,0x8100:VLAN;802.1Q VLAN,0x88F7:PTP;精密时钟同步},EthernetHeader:u8[14];以太网帧头:{dst::u8[6];目标MAC,src::u8[6];源MAC,ethertype:0x88A4:Ethertype:U16;以太网协议类型},EtherCatType:enum:u4;EtherCat类型:{0x0:Reserved;保留/未使用,0x1:Datagram数据报文帧(最常用APRD/FPWR/LRD等命令),0x2:Reserved;保留,0x3:Reserved;保留,0x4:NV;网络变量帧(极少使用),0x5:Mailbox;邮箱数据帧(CoE/SoE/FoE配置用),0x6:Reserved;保留,0x7:Reserved;保留,0x8~0xF:Reserved;保留},EtherCatCmd:enum:u8;EtherCAT数据报命令:{0x01:APRD;Auto Increment Physical Read;按链路顺序自动寻址读取slave主要用于扫描从站和读取ESC寄存器,0x02:APWR;Auto Increment Physical Write;按链路顺序自动寻址写slave主要用于初始化和分配Station Address,0x03:APRW;Auto Increment Read Write;按链路顺序自动寻址同时读写slave主要用于初始化阶段特殊配置,0x04:FPRD;Fixed Physical Read;按固定Station Address精确读取指定slave主要用于读取PDO、DC和ESC寄存器,0x05:FPWR;Fixed Physical Write;按固定Station Address精确写指定slave主要用于配置PDO、DC、FMMU和输出数据,0x06:FPRW;Fixed Physical Read Write;按固定Station Address同时读写指定slave用于特殊ESC访问场景,0x07:BRD;Broadcast Read;广播读取所有slave主要用于部分状态统计和诊断,0x08:BWR;Broadcast Write;广播写所有slave主要用于切换AL状态和全网同步配置,0x09:BRW;Broadcast Read Write;广播同时读写所有slave工程中较少使用,0x0A:LRD;Logical Read;读取逻辑PDO地址空间主站一次Datagram可读取多个slave输入数据,0x0B:LWR;Logical Write;写逻辑PDO地址空间主站一次Datagram可控制多个slave输出数据,0x0C:LRW;Logical Read Write;同时读写逻辑PDO地址空间EtherCAT最核心的实时周期通信命令},EtherCatHeader(x,y):u8[2];EtherCAT协议头:{length:x:u11;长度,reserved:0:u1;保留,type:y:EtherCatType:u4;EtherCAT类型},EtherCatDatagramHeader(x):u8[10];EtherCAT数据报头:{cmd:x:EtherCatCmd:u8;EtherCAT命令,idx::u8;数据报索引编号,address:u32:{adp::u16;【物理寻址用】从站地址/【逻辑寻址用】逻辑地址高16位,ado::u16;【物理寻址用】从站内偏移地址/【逻辑寻址用】逻辑地址低16位},length:u16:{len::u11;低11位真实长度,reserved::u3;保留,m:...u1;后面还有更datagram,c:...u1;绕回标志,它已经经过所有从站,最后一个从站写1},irq::u16;IRQ字段/中断请求},MailboxType:u4;EtherCAT邮箱协议类型:{0x0:Error;邮箱错误报文,0x1:AoE;ADS over EtherCAT,0x2:EoE;Ethernet over EtherCAT,0x3:CoE;CANopen over EtherCAT,0x4:FoE;File over EtherCAT,0x5:SoE;Servo over EtherCAT,0x6:VoE;Vendor over EtherCAT,0xF:Reserved/Specific;保留或厂商扩展},MailboxHeader(x):u8[6];EtherCAT邮箱报文头:{length::u16;小端;邮箱数据长度(不包含这6字节MailboxHeader),address::u16;小端;ESC邮箱缓冲区地址/目标Mailbox地址,chprio:u8:{channel:u6:邮箱通道号(Channel),priority:u2:优先级(0~3)},typecnt:u8:{type:u4:x:MailboxType;邮箱协议类型(CoE/FoE/SoE/EoE/AoE/VoE),counter:u3:Mailbox计数器(1~7循环,0通常无效),reserved:u1:保留位}},EtherCatDatagram;EtherCatDatagram数据包:{header::EtherCatDatagramHeader:u8[10];数据报头,data::u8[length];数据区,wkc::u16;工作计数器},CoEService:u4:{0x0:Emergency,0x1:SDO Request,0x2:SDO Response,0x3:TxPDO,0x4:RxPDO,0x5:TxPDO Remote Request,0x6:RxPDO Remote Request,0x7:SDO Information,0x8~0xF:Reserved},CoEHeader:u8[2];CANopen over EtherCAT协议头:{service::CoEService:u4;CoE服务类型,reserved::u1;保留位,number::u11;分片编号/服务编号(Fragment Number)},EtherPhyPrefix:u8[8];前导同步:{preamble:u8[7]:0x55;PHY clock sync pattern,sfd:u8[1]:0xD5;Start Frame Delimiter},Z8CtrlGram:u32[16]:u8[64];控制:{seq::u32;序号,do::u32;,df0::u32;,df1::u32;,df2::u32;,df3::u32;,da16_0::u32;,da16_1::u32;,da16_2::u32;,da16_3::u32;,reserved::u32[6];},Z8AcqGram:u32[16]:u8[64];采集:{seq::u32;序号,di::u32;,ad0::u32;,ad1::u32;,ad2::u32;,ad3::u32;,ic0::u32;,ic1::u32;,ic2::u32;,ic3::u32;,ac0::u32;,ac1::u32;,ac2::u32;,ac3::u32;,reserved::u32[2];保留},Z8CtrlAcqGram:u8[128]:{ctrl::Z8CtrlGram;控制,acq::Z8AcqGram;采集},EscIdentity:u8[16];ESC身份寄存器(addr0x0000):{type::u8;ESC芯片类型(如0x04ET1100),revision::u8;ESC版本号,build::u16;ESC构建号,fmmu_count::u8;支持的FMMU数量,sm_count::u8;支持的SyncManager数量,ram_size::u8;内部RAM大小(KB),port_desc::u8;端口描述(bit[1:0]Port0类型,bit[3:2]Port1类型…),features::u16;特性标志(bit0FMMU位操作,bit1DC支持…),reserved::u8[6];},DiscoveryDatagram:u8[28];设备发现:{header::EtherCatDatagramHeader(0x01):u8[10],data::EscIdentity:u8[16];从站身份区,由链路上第一个adp0的从站填写,wkc::u16;成功响应的从站数,主站据此判断在线从站总数},PdoDatagram:u8[524];实时控制采集帧:{header::EtherCatDatagramHeader(0x0C):u8[10],data:u8[512]:{slave0::Z8CtrlAcqGram:u8[128],slave1::Z8CtrlAcqGram:u8[128],slave2::Z8CtrlAcqGram:u8[128],slave3::Z8CtrlAcqGram:u8[128]},wkc::u16;工作计数器},FpwrAlCtrlDatagram:u8[14];AL状态切换(FPWR,逐站精确写):{header::EtherCatDatagramHeader(0x05):u8[10];cmdFPWR,adp目标站地址,ado0x0120,data::AlControlReg:u8[2];目标AL状态,wkc::u16;1成功,0站地址不存在},SmCfgDatagram:u8[44];SyncManager配置(FPWR):{header::EtherCatDatagramHeader(0x05):u8[10];cmdFPWR,adp目标站地址,ado0x0800,data:u8[32]:{sm0::SmEntry:u8[8];MailboxOut,sm1::SmEntry:u8[8];MailboxIn,sm2::SmEntry:u8[8];PDO输出,sm3::SmEntry:u8[8];PDO输入},wkc::u16},FmmuCfgDatagram:u8[44];FMMU映射配置(FPWR):{header::EtherCatDatagramHeader(0x05):u8[10];cmdFPWR,adp目标站地址,ado0x0600,data:u8[32]:{fmmu0::FmmuEntry:u8[16];Output映射,fmmu1::FmmuEntry:u8[16];Input映射},wkc::u16},DcCfgDatagram:u8[24];DC分布时钟配置(FPWR):{header::EtherCatDatagramHeader(0x05):u8[10];cmdFPWR,adp目标站地址,ado0x0980,data::DcSyncConfig:u8[12],wkc::u16}},generalContent;通用帧:{phy::EtherPhyPrefix:u8[8];前导同步,macFrame:u8[64~1518]:{eth::EthernetHeader:u8[14],ecat::EtherCatHeader:u8[2],datagrams:...EtherCatDatagram[?];变长包,pad:u8[0~46]:;最小帧补齐,fcs::u32;CRC32校验}},discover_content;发现帧(APRD):{phy::EtherPhyPrefix:u8[8];前导同步,macFrame:u8[540]:{eth::EthernetHeader:u8[14],ecat::EtherCatHeader(28,1):u8[2],datagrams::DiscoveryDatagram:u8[28],fcs::u32;CRC32校验}},config_content;配置帧(以AL状态切换为例):{phy::EtherPhyPrefix:u8[8];前导同步,macFrame:u8[540]:{eth::EthernetHeader:u8[14],ecat::EtherCatHeader(14,1):u8[2],datagrams::FpwrAlCtrlDatagram:u8[14],fcs::u32;CRC32校验}},pdo_content;实时控制数据流(LRW):{phy::EtherPhyPrefix:u8[8];前导同步,macFrame:u8[540]:{eth::EthernetHeader:u8[14],ecat::EtherCatHeader(524,1):u8[2],datagrams::PdoDatagram:u8[524],fcs::u32;CRC32校验}}}
http://www.zskr.cn/news/1404892.html

相关文章:

  • 基础模型如何驱动材料实验室自动化革新
  • AI 浪潮下小程序行业洗牌,技术与服务成核心壁垒
  • 基于SDR的可重构MIMO空间调制发射机:架构、性能与工程实现
  • 【C语言】什么是C语言
  • 深度拆解 LLM 训练三阶段:为什么 AI 能像人一样对话?
  • PDF补丁丁:免费开源PDF工具箱,轻松解决5大常见文档处理难题
  • 怎样快速配置Arduino ESP32开发环境:3步完成物联网项目搭建
  • 155、运动控制中的上位机开发:参数配置与存储
  • SDIOS:操作系统级传感器欺骗防御,用AI守护移动设备物理安全
  • 告别英文困扰:3步打造全中文Obsidian工作环境
  • 10分钟掌握:免费在线法线贴图生成器终极指南
  • 20种Git操作一键撤销:ugit让你的开发效率提升300%的终极指南
  • 工具2:相关模板
  • 从经验到模型:同步加速器磁场高精度测量与不确定性分析实践
  • SmartNIC与XDP混合架构:下一代DDoS防御的性能优化实战
  • 烫染受损发质救星:TOP8修护发膜排行榜 - 资讯速览
  • 你的ChatGPT用对了吗?:从0到1搭建可审计、可复盘、可追溯的绩效考核SOP(附ISO/AI-2024适配模板)
  • 华为员工:我的人生很失败,赚了1000多万,买房赔了;孩子成绩全班倒数;媳妇每天不停的抱怨……
  • 在Taotoken平台试用最新旗舰模型Qwen37的实际体验与响应速度
  • 基于拉格朗日规划神经网络的TOA多源联合定位原理与实现
  • 2026年河南标识标牌厂推荐:前期标识一站式解决医院商场痛点 - 资讯速览
  • 2026广东、佛山五大二手手表回收推荐:2026最新排名出炉,玩表世家以全产业链实力领先 - 十大品牌榜
  • 基于YOLO模型的实时目标检测与告警系统:Python实现与SQLite存储
  • STM32F407 USART高效数据流处理:DMA循环模式与空闲中断的实战解析
  • 智能合约安全实践对AI系统安全的启示:基于林迪效应的韧性架构设计
  • ChatGPT用户手册编写全链路拆解(含ISO/GB/T文档规范适配版):政务、金融、教育三大高合规场景实操指南
  • 国企晋升新捷径:CSPM证书含金量揭秘
  • 发膜真实用户报告:大数据揭秘哪款卖最好 - 资讯速览
  • 绵阳黄金回收门店怎么选靠谱商家看这篇长悦领跑 优选长悦 - 专业黄金回收
  • ChatGPT谜题解答成功率暴跌预警(2024Q2实测数据:未结构化提问导致47.6%失败率)