CANopenSDOWrite8()

<< 点击显示目录 >>

主页  贝加莱CANopen通信使用助手 > 通过编程实现CANopen通讯 > 功能块与函数说明  > AsCANopen - Function blocks >

CANopenSDOWrite8()

当使用在后台持续运行的SDO传输时,该功能块用于写入一个节点的对象条目。

要写入的对象条目的各个字节需要用data0到data7元素指定。"datalen "输入指定了有效数据字节的数量(从data0开始)。网络层在任何时候都只支持PLC程序的一次SDO传输。通过设置 "enable = TRUE "来启动SDO传输,使这个SDO通道不能被其他功能块所使用。这种锁定状态一直保持到数据传输发生后再次以 "enable = FALSE "调用SDO功能块。

在 "节点=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

data0

USINT

被写入条目的数据字节。

IN

data1

USINT

IN

data2

USINT

IN

data3

USINT

IN

data4

USINT

IN

data5

USINT

IN

data6

USINT

IN

data7

USINT

IN

datalen

USINT

被写入的条目的长度。

OUT

status

UINT

错误编号 (0=无错误)。

OUT

error

UINT

根据CIA405_CANopen_KERNEL_ERROR 数据类型的错误代码  。

OUT

errorinfo

UDINT

CIA405_SDO_ERROR "数据类型用于SDO功能块的ERRORINFO参数,返回通信伙伴的SDO中止代码。一般的中止代码在CiA标准草案301中定义;它们也可以根据需要进行扩展。

 

调用语法

CANopenSDOWrite8 (enable, adr(Device), node, index, subindex, data0, data1, data2, data3, data4, data5, data6, data7, datalen, status, error, errorinfo)