CANopenSDORead8()

<< 点击显示目录 >>

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

CANopenSDORead8()

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

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

要读取的子索引项的编号。

OUT

status

UINT

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

OUT

error

UINT

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

OUT

errorinfo

UDINT

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

OUT

data0

USINT

读取条目的数据字节。

OUT

data1

USINT

OUT

data2

USINT

OUT

data3

USINT

OUT

data4

USINT

OUT

data5

USINT

OUT

data6

USINT

OUT

data7

USINT

OUT

datalen

USINT

读取条目的长度。

 

调用语法

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