CM592ReadOutput (FB)

FUNCTION_BLOCK PUBLIC CM592ReadOutput EXTENDS AC500_StateMachine.AbbETrig

Read output data of a slave even if this slave is not configured by this master.

If not clear with how much output data referenced slave device will reply, define buffer with maximum size of PROFIBUS output data instead (244) and use this size as DataLen.

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

AC500_IoDrvCm592Profibus.IDeviceCM592Profibus

0

Reference to coupler device instance

SlaveAddr

USINT

0

Address of PROFIBUS slave device (0 - 126)

DataLen

USINT

0

Length of data to be read as maximum in number of bytes - has to correspond to reply of slave device and size of buffer used as Data

Data

POINTER TO BYTE

0

Address of buffer where to put received data into

Output

ErrorID

ERROR_ID

ERROR_ID.NO_ERROR

Error code description

AddErrorID

UDINT

CM592Const.CM592_ADD_ERROR_NONE

Additional error info, in case ErrorID shows “REQUEST_FAILED”

DataLenRead

USINT

0

Length of data read