EcatScanTopology (FB)

FUNCTION_BLOCK EcatScanTopology EXTENDS CM579EcatScanTopology

Function block to scan the EtherCAT bus topology Constraint: Can be executed in OFF and INIT only, otherwise error UNEXPECTED_BUS_STATE is returned.

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

IDeviceCM579EtherCAT

CM579-ECAT coupler device

CM579EcatBase

Output

ErrorID

ERROR_ID

Error code describing error condition

CM579EcatBase

AddErrNo

UDINT

Additional error code for detailed error description, will be set if ErrorID = ERROR_ID.ADDITIONAL_ERROR_INFO.

CM579EcatBase

Input

MaxNumOfDevices

UINT

0

max. number of devices to scan, needs to match the size of the array

CM579EcatScanTopology

Devices

POINTER TO EcatDeviceInfoData

pointer to the first member within an array where the device information shall be stored

CM579EcatScanTopology

CheckTopology

BOOL

FALSE

perform extended topology checks, e.g. for mixed up IN/OUT ports. Note: This will increase scanning time and may switch off ports!

CM579EcatScanTopology

StopScan

BOOL

TRUE

Stops scan automatically, if set to TRUE (default). If this is not wanted, set this to FALSE and instead use EcatScanTopologyStop for explicit stopping of bus scan

CM579EcatScanTopology

Output

NoOfDevices

UINT

0

no of devices found by scanning

CM579EcatScanTopology

ReversedPortsDetected

BOOL

FALSE

topology checks have detected at least one device with reversed cabling of IN/OUT ports, please check cabling

CM579EcatScanTopology

ReversedPortsPosition

ARRAY [0..4] OF UINT

topological position of devices with reversed port cabling, starting with 0 for the first device after the EtherCAT master

CM579EcatScanTopology