ProCon说明 快速入门 运动控制 EtherCAT 实时程序 API函数 控件库 硬件说明 问题排查 示例代码 |
ProEn中设置PDO/SDO,以及读写PDO数据时U/G编号对应的编号设置具体详情请见:ProEn过程数据
ProCon软件和从站的关联是读写PDO数据,数据表达的物理意义与从站有关,如果需要理解具体的物理意义建议咨询从站厂家
函数 | YK_API YKM_WritePDO(UINT32 uIndex, UINT32 gIndex, UINT16 *ptr, UINT32 len); YK_API YKM_WritePDOEx(YKM_NODE master, UINT32 uIndex, UINT32 gIndex, UINT16 *ptr, UINT32 len); YK_API YKM_WritePDOObject(YKM_NODE master, UINT32 uIndex, UINT32 mainIndex,UINT32 subIndex, UINT16 *ptr, UINT32 len); |
|
功能 | 写PDO数据 | |
参数 | master uIndex gIndex *ptr len mainIndex subIndex |
[IN] 主站选择 [IN] 站点编号:可在ProEn总线配置中的过程数据部分中查看 [IN] G索引号:可在ProEn总线配置中的过程数据部分中查看 [IN] 写入的数据 [IN] 数据长度,16bit单位,取值范围:1代表16位,2代表32位(如果PDO为8位,输入参数也选1, 系统会自动将8位扩展成16位) [IN]对象字典主索引 [IN]对象字典子索引 |
返回值 | 错误代码 | |
说明 | 调用后立即生效 | |
注意事项 | 运动控制相关PDO(0x6040,0x6060,0x0607A)被系统占用,请勿修改,否则会造成不可预知的错误。 一般用于写模拟量从站,写通讯模块等特殊模块 |
函数 | YK_API YKM_ReadPDO(UINT32 uIndex, UINT32 gIndex, UINT16 *ptr, UINT32 len) YK_API YKM_ReadPDOEx(YKM_NODE master, UINT32 uIndex, UINT32 gIndex, UINT16 *ptr, UINT32 len); YK_API YKM_ReadPDOObject(YKM_NODE master, UINT32 uIndex, UINT32 mainIndex, UInt32 subIndex, UINT16 *ptr, UINT32 len); |
|
功能 | 读PDO数据 | |
参数 | master uIndex gIndex *ptr len mainIndex subIndex |
[IN] 主站选择 [IN] 站点编号:可在ProEn总线配置中的过程数据部分中查看 [IN] G索引号:可在ProEn总线配置中的过程数据部分中查看 [IN] 读取到的值存放位置 [IN] 数据长度,16bit单位,取值范围:1代表16位,2代表32位(如果PDO为8位,输入参数也选1,系统会自动将8位扩展成16位) [IN]对象字典主索引 [IN]对象字典子索引 |
返回值 | 错误代码 | |
说明 | 调用后立即生效 | |
注意事项 | 一般用于读模拟量从站,读通讯模块等特殊模块 |
函数 | YK_API YKM_WriteSDOCmd(UINT32 uIndex, UINT32 mainIndex, UINT32 subIndex, UINT32 byteNum, UINT32 val, UINT32 *sdoIndex); YK_API YKM_WriteSDOCmdEx(YKM_NODE master, UINT32 uIndex, UINT32 mainIndex, UINT32 subIndex, UINT32 byteNum, UINT32 val, UINT32* sdoIndex);; |
|
功能 | 启动SDO写命令 | |
参数 | master uIndex mainIndex subIndex byteNum Val sdoIndex |
[IN] 主站选择 [IN] 站点编号 [IN] 对象主索引 [IN] 对象子索引 [IN] 字节数量 [IN] 写入的值 [IN] 返回的sdo队列索引,可用YKM_ReadSDOStatus指令进行查看是否完成 |
返回值 | 错误代码 | |
说明 | 缓存区指令,指令执行后会生成一个sdoIndex索引,使用YKM_ReadSDOStatus指令判断指令是否完成 | |
注意事项 | 指令返回后不代表已经马上写入成功了,写入成功标志需要通过调用YKM_ReadSDOStatus判断 |
函数 | YK_API YKM_ReadSDOCmd(UINT32 uIndex, UINT32 mainIndex, UINT32 subIndex, UINT32 byteNum, UINT32 *sdoIndex) YK_API YKM_ReadSDOCmdEx(YKM_NODE master, UINT32 uIndex, UINT32 mainIndex, UINT32 subIndex, UINT32 byteNum, UINT32* sdoIndex); |
|
功能 | 启动SDO读命令 | |
参数 | master uIndex mainIndex subIndex byteNum sdoIndex |
[IN] 主站选择 [IN] 站点编号 [IN] 对象主索引 [IN] 对象子索引 [IN] 字节数量 [IN] 返回的sdo队列索引,可用YKM_ReadSDOStatus指令进行查看是否完成 |
返回值 | 错误代码 | |
说明 | 缓存区指令,指令执行后会生成一个sdoIndex索引,使用YKM_ReadSDOStatus指令判断指令是否完成,读出的值放在YKM_ReadSDOStatus的val参数。 | |
注意事项 | 指令返回后不代表已经马上读取成功了,读取成功标志需要通过调用YKM_ReadSDOStatus判断 |
函数 | YK_API YKM_ReadSDOStatus(UINT32 sdoIndex, UINT32* valid, UINT32* val) YK_API YKM_ReadSDOStatusEx(YKM_NODE master, UINT32 sdoIndex, UINT32* valid, UINT32* val); | |
功能 | 读SDO队列状态 | |
参数 | master sdoIndex valid val |
[IN] 主站选择 [IN] sdo队列索引 [IN] 返回状态 1=有效 0=无效 [IN] 返回值 |
返回值 | 错误代码 | |
说明 | 缓存区指令 | |
注意事项 |
函数 | YK_API YKM_GetSDOIdel(UINT32* num); YK_API YKM_GetSDOIdelEx(YKM_NODE master, UINT32* num); |
|
功能 | 获得SDO队列空闲数量 | |
参数 |
master num |
[IN] 主站选择 [IN] 返回的空闲数量 |
返回值 | 错误代码 | |
说明 | 缓存区指令 | |
注意事项 | SDO读写缓冲区大小为256,如果有大批量数据读写,调用前先用本函数查看缓冲区状态。 |
Copyright © 2015 深圳市优易控软件有限公司 www.proutech.com |