<< 点击显示目录 >> CANopenSDOWriteData() |
当使用在后台持续运行的SDO传输时,该功能块用于写入一个节点的对象条目。
写入的数据应该在pTxData中传输。输入的 "txlength "指定了有效数据字节的数量。网络层在任何时候都只支持PLC程序的一次SDO传输。通过设置 "enable = TRUE "来启动SDO传输,使这个SDO通道不能被其他功能块所使用。在SDO功能块返回ERR_FUB_BUSY以外的状态之前,它一直被锁定。在 "节点=0 "的情况下调用功能块可以访问PLC上的本地对象字典。这也允许将数值写入一个单独的OD。
异步处理导致该功能块返回 ERR_FUB_BUSY ,直到FBK成功完成或发生错误。
这个功能块 不能 用于 冗余
输入/输出 |
参数 |
数据类型 |
说明 |
IN |
enable |
BOOL |
只有当 enable 为<>0时才会执行此功能块 。 |
IN |
pDevice |
UDINT (transmitted as a pointer to STRING) |
设备名称(语法:SL<x>.SS<y>.IF<z>) |
IN |
node |
USINT |
要写入的节点的地址(1-127或0为本地OD)。 |
IN |
index |
UINT |
要写入的索引条目的编号。 |
IN |
subindex |
USINT |
要写入的子索引项的编号。 |
IN |
transfer type |
USINT |
传输模式(见 SDO传输模式) |
IN |
pTxData |
UDINT (transmitted as a pointer to STRING) |
被写入的条目的数据 |
IN |
txlength |
UDINT |
被写入的条目的长度。 |
OUT |
status |
UINT |
错误编号 (0=无错误)。 |
OUT |
error |
UINT |
根据CIA405_CANopen_KERNEL_ERROR 数据类型的错误代码 。 |
OUT |
errorinfo |
UDINT |
CIA405_SDO_ERROR "数据类型用于SDO功能块的ERRORINFO参数,返回通信伙伴的SDO中止代码。一般的中止代码在CiA标准草案301中定义;它们也可以根据需要进行扩展。 |
CANopenSDOWriteData (enable, adr(pDevice), node, index, subindex, pTxData, txlength, status, error, errorinfo)