CANopenSDOWriteData()

<< 点击显示目录 >>

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中定义;它们也可以根据需要进行扩展。

 

调用语法(Automation Basic)

CANopenSDOWriteData (enable, adr(pDevice), node, index, subindex, pTxData, txlength, status, error, errorinfo)