/* 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相关推荐

  1. EtherCAT主站SOEM源码解析----分布时钟DC

    分布时钟(DC,Dsitributed Clock)可以使所有EtherCAT设备使用相同的系统时间,从而控制各设备任务的同步执行. 1.DC从站 支持分布式时钟的从站称为DC从站,同步原理如下所示: ...

  2. EtherCAT主站SOEM源码解析----ecx_siiPDO()

    1.从站EEPROM的PDO信息 从站EEPROM存储的PDO信息如下如所示: TxPDO的类型名为50(0x0032),RxPDO的类型名为51(0x0033). 每个PDO占用的EEPROM字节数 ...

  3. SOEM 源码解析 ecx_FPWRw

    /* FPWR "configured address write" primitive. Blocking.* 配置的地址物理写(FPWR) Configured address ...

  4. SOEM 源码解析 ecx_LWR

    /* LWR "logical memory write" primitive. Blocking.* 逻辑写(LWR) Logical write 原语 阻塞* @param[i ...

  5. SOEM 源码解析 ecx_LRD

    /* LRD "logical memory read" primitive. Blocking.* 逻辑读(LRD) Logical read 原语 阻塞* @param[in] ...

  6. SOEM 源码解析 ecx_FRMW

    /* FPRMW "configured address read, multiple write" primitive. Blocking.* 配置的地址物理读多次写(FRMW) ...

  7. SOEM 源码解析 ecx_set_slaves_to_default

    寄存器0x0101 寄存器0x0200 寄存器0x0300 寄存器0x0600 寄存器0x0800 寄存器0x0981 寄存器0x0910 寄存器0x0930 寄存器0x0934 寄存器0x0103 ...

  8. SOEM 源码解析 ecx_map_sii

    /* find SII mapping of slave* 查找从站的 SII 映射* @param[in] context = context struct* 上下文结构体* @param[in] ...

  9. SOEM 源码解析 ecx_lookup_prev_sii

    /* 通过SII[从站信息接口(Slave Information Interface)]查找从站* If slave has SII and same slave ID done before, u ...

最新文章

  1. 华3r2900g3服务器配置信息,H3C UniServer R2900 G3
  2. 浅析ITIL在银行中的方案
  3. sublime golang 开发的时候(go get)第三方包没办法自动提示问题
  4. AHOI2005航线规划 bzoj1969(LCT缩点)
  5. Think in Java读书笔记--隐藏实施过程
  6. mysql 作业调度及问题解决
  7. [转载] python将图片进行base64编码, 解码
  8. 在线英文翻译中文比较
  9. 如何免费制作支付宝微信合并收款二维码?
  10. 分布式日志收集(ELK)
  11. 基于java宿舍管理系统的开题报告_基于Java的学生宿舍管理系统开题报告
  12. 计算机装系统找不到硬盘分区,如果U盘安装系统找不到硬盘分区,该怎么办?...
  13. 智能电视大战背后的秘密
  14. 六十星系之46廉贞独坐寅申
  15. 学习Vue3 第二十五章(TSX)
  16. 计算机策略编辑器,组策略及组策略编辑器基础知识
  17. 宽带连接怎么修改服务器名称地址,宽带连接怎么修改服务器名称地址
  18. ACM省赛及蓝桥总结,且随疾风前行,身后亦须留心
  19. 电脑正在更新计算机一直是,win10电脑一直不停更新怎么办啊
  20. txt文件读取(已解决中文乱码)

热门文章

  1. vscode 注释多行代码_如何在Visual Studio Code中注释多行?
  2. mysql攻城掠地_攻城掠地单机武将修改造出自己心目中大神.doc
  3. smaba(跨平台文件共享)
  4. 30005 rust_RUSTJKD超级防锈涂料
  5. matlab绘图——根据方程组绘图和心形图绘制
  6. BZOJ 1216 优先队列
  7. 吉首 - 超超的自闭意思(素筛+暴力)
  8. Access-VBA
  9. 2021-09-21
  10. 安邦金融:99%的人都不知道,原来保险还可以这样配置