CM579PnioImplicitRead (FB)

FUNCTION_BLOCK CM579PnioImplicitRead EXTENDS CM579PnioBase

Function block that implements acyclic read service. It has to be considered that the execution of the function block could take a few seconds when devices are not existing or not reachable.

InOut:

Scope

Name

Type

Initial

Comment

Inherited from

Input

Execute

BOOL

FALSE

A rising edge starts a single 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. For executing another operation the Execute input needs to be retriggered by another rising edge!

AbbETrig3

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

AbbETrig3

Busy

BOOL

FALSE

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

AbbETrig3

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.

AbbETrig3

Input

Device

AC500_IoDrvCM579Profinet.IDeviceCM579Profinet

instance of CM579-PNIO device

CM579PnioBase

Output

ErrorID

ERROR_ID

error code that describes occurred error

CM579PnioBase

AddErrorID

UDINT

additional description of error, meaning depends on value of output ErrorID

CM579PnioBase

Input

DevIPAddr

UDINT

IP address of device

DevVendorID

UINT

Vendor ID of device

DevDeviceID

UINT

Device ID of device

DevInstanceID

UINT

Instance ID of device

DevApi

UDINT

API of submodule from which the data object is to be read

DevSlot

UINT

slot of submodule from which the data object is to be read

DevSubSlot

UINT

subslot of submodule from which the data object is to be read

DevIdx

UINT

index of data object to read

Data

POINTER TO BYTE

pointer to buffer where the read data will be copied to

DataMax

UINT

size of buffer provided at input Data

Output

StatusCode

UDINT

PROFINET status code of read service according to PROFINET specification

AddVal1

UINT

additional value 1 returned from PROFINET IO Device

AddVal2

UINT

additional value 2 returned from PROFINET IO Device

DataLen

UDINT

number of bytes that was read