SOEM 源码解析 ecx_FPWR
/* FPWR "configured address write" primitive. Blocking.* 配置的地址物理写(FPWR) Configured address physical write 原语 阻塞* @param[in] port = port context struct* 端口(port)结构体* @param[in] ADP = Address Position, slave that has address writes.* 地址位置,具有地址写入功能的从站* @param[in] ADO = Address Offset, slave memory address* 地址偏移,从站物理内存地址* @param[in] length = length of databuffer* 数据缓冲区的长度* DATA 数据区域的长度* @param[in] data = databuffer to write to slave.* 要写入从站的数据缓冲区* @param[in] timeout = timeout in us, standard is EC_TIMEOUTRET* 超时时间[单位:us(微秒)],标准是EC_TIMEOUTRET[=2000us(微秒)]* @return Workcounter or EC_NOFRAME* 返回值 工作计数器 或 EC_NOFRAME(无数据帧返回=-1)*/
int ecx_FPWR(ecx_portt *port, uint16 ADP, uint16 ADO, uint16 length, void *data, int timeout)
{int wkc;/* 工作计数器 */uint8 idx;/* IDX 索引 *//* get fresh index *//* 获取最新索引 */idx =/* IDX 索引 */ecx_getindex(//获取新的帧标识符索引并分配相应的发送缓存区port);/* 端口(port)结构体 *//* setup datagram *//*设置数据报*/ecx_setupdatagram(//在标准以太网帧中生成和设置 EtherCAT 数据报port,/* 端口(port)结构体 */&(port->txbuf/* 发送缓存区 */[idx/* IDX 索引 */]),EC_CMD_FPWR, /* 配置的地址物理写(FPWR) *//* Configured address physical write */idx, /* IDX 索引 */ADP, /* 地址位置 */ADO, /* 地址偏移 */length,/* 数据缓冲区的长度 */data);/* send data and wait for answer *//* 发送数据并等待应答 */wkc = /* 工作计数器 */ecx_srconfirm(// 发送和接收帧(阻塞)port,/* 端口(port)结构体 */idx,/* IDX 索引 */timeout); /* 超时时间[单位:us(微秒)] *//* clear buffer status *//* 清除缓冲区状态 */ecx_setbufstat(// 设置发送缓存区(rx buffer)状态port,/* 端口(port)结构体 */idx, /* IDX 索引 */EC_BUF_EMPTY);/* 缓存区状态:空=0 */return wkc;/* 工作计数器 */
}
SOEM 源码解析 ecx_FPWR相关推荐
- EtherCAT主站SOEM源码解析----分布时钟DC
分布时钟(DC,Dsitributed Clock)可以使所有EtherCAT设备使用相同的系统时间,从而控制各设备任务的同步执行. 1.DC从站 支持分布式时钟的从站称为DC从站,同步原理如下所示: ...
- EtherCAT主站SOEM源码解析----ecx_siiPDO()
1.从站EEPROM的PDO信息 从站EEPROM存储的PDO信息如下如所示: TxPDO的类型名为50(0x0032),RxPDO的类型名为51(0x0033). 每个PDO占用的EEPROM字节数 ...
- SOEM 源码解析 ecx_FPWRw
/* FPWR "configured address write" primitive. Blocking.* 配置的地址物理写(FPWR) Configured address ...
- SOEM 源码解析 ecx_LWR
/* LWR "logical memory write" primitive. Blocking.* 逻辑写(LWR) Logical write 原语 阻塞* @param[i ...
- SOEM 源码解析 ecx_LRD
/* LRD "logical memory read" primitive. Blocking.* 逻辑读(LRD) Logical read 原语 阻塞* @param[in] ...
- SOEM 源码解析 ecx_FRMW
/* FPRMW "configured address read, multiple write" primitive. Blocking.* 配置的地址物理读多次写(FRMW) ...
- SOEM 源码解析 ecx_set_slaves_to_default
寄存器0x0101 寄存器0x0200 寄存器0x0300 寄存器0x0600 寄存器0x0800 寄存器0x0981 寄存器0x0910 寄存器0x0930 寄存器0x0934 寄存器0x0103 ...
- SOEM 源码解析 ecx_map_sii
/* find SII mapping of slave* 查找从站的 SII 映射* @param[in] context = context struct* 上下文结构体* @param[in] ...
- SOEM 源码解析 ecx_lookup_prev_sii
/* 通过SII[从站信息接口(Slave Information Interface)]查找从站* If slave has SII and same slave ID done before, u ...
最新文章
- 华3r2900g3服务器配置信息,H3C UniServer R2900 G3
- 浅析ITIL在银行中的方案
- sublime golang 开发的时候(go get)第三方包没办法自动提示问题
- AHOI2005航线规划 bzoj1969(LCT缩点)
- Think in Java读书笔记--隐藏实施过程
- mysql 作业调度及问题解决
- [转载] python将图片进行base64编码, 解码
- 在线英文翻译中文比较
- 如何免费制作支付宝微信合并收款二维码?
- 分布式日志收集(ELK)
- 基于java宿舍管理系统的开题报告_基于Java的学生宿舍管理系统开题报告
- 计算机装系统找不到硬盘分区,如果U盘安装系统找不到硬盘分区,该怎么办?...
- 智能电视大战背后的秘密
- 六十星系之46廉贞独坐寅申
- 学习Vue3 第二十五章(TSX)
- 计算机策略编辑器,组策略及组策略编辑器基础知识
- 宽带连接怎么修改服务器名称地址,宽带连接怎么修改服务器名称地址
- ACM省赛及蓝桥总结,且随疾风前行,身后亦须留心
- 电脑正在更新计算机一直是,win10电脑一直不停更新怎么办啊
- txt文件读取(已解决中文乱码)