Cm598CanopenSdoRead (FB)

FUNCTION_BLOCK PUBLIC FINAL Cm598CanopenSdoRead EXTENDS Cm598Base

The Function Block used to read object data with SDO protocol Its behavior is implemented according to the ETrig Function Block.

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

Execute

BOOL

FALSE

A rising edge starts the operation, the output Busy goes to TRUE. In the first cycle all other inputs are read and stored, afterwards they are ignored. A falling edge does not stop the operation. After Done = TRUE or Error = TRUE and Execute = FALSE all outputs will be reset.

AbbETrig

Output

Done

BOOL

FALSE

Operation is completed without error (while outputs Busy and Error are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE

AbbETrig

Busy

BOOL

FALSE

Operation is running (while outputs Done and Error are FALSE)

AbbETrig

Error

BOOL

FALSE

Operation is stopped with error (while outputs Busy and Done are FALSE). This output is TRUE for at least one cycle or until Execute is set to FALSE. The output ErrorID gives more details about the error.

AbbETrig

Input

Device

IDeviceCM598Can

0

Instance of CM598Can device

Cm598Base

Output

ErrorID

ERROR_ID

ERROR_ID.NO_ERROR

Error code that describes the occured error

Cm598Base

Input

NodeId

UDINT

0

Node ID (1..127)

ObjIndex

UDINT

0

Object index (0..65535)

ObjSubIndex

UDINT

0

Object SubIndex (0..255)

ObjData

POINTER TO BYTE

0

Pointer to Object data

ObjLength

UDINT

0

Length of Object data to be read (1..512)

Output

AddErrorID

UDINT

CM598Defines.CM598_ADD_ERROR_NONE

Additional description of error, when ErrorID is “REQUEST_FAILED”

SdoError

UDINT

0

SDO tranfer error

DataLength

UDINT

0

Length of received Object data (1..512)