ECATDeviceAction

PLCopen motion icon Pipe Network motion icon

 Function Block - Performs an action on an EtherCAT device.

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

When Execute is set to TRUE, an action is performed.

SlaveAddress

INT

-32768 to +32767

N/A

No default

The address of the device to perform an action on.

  • The first node usually has the value 1001.
  • The second node usually has the value 1002.

  • Use the members of the EtherCAT structure to specify a device's address to Create Variables.
       

Action

INT

-32768 to +32767

N/A

No default

The action to be performed. Action can be one of these values:

  • DEVICE_ACTION_CONNECT
    • Connects a slave into the EtherCAT network.
    • This action can only be executed when the motion engine is stopped.
  • DEVICE_ACTION_DISCONNECT
    • Disconnects a slave from the EtherCAT network.
    • This action can only be executed when the motion engine is stopped.

Outputs

Output

Data Type

Range

Unit

Description

Done

BOOL

FALSE, TRUE

N/A

Indicates whether this function block has completed without error.

Error

BOOL

FALSE, TRUE

N/A

Indicates whether this function block has completed with error.

ErrorID

DINT

No range

N/A

The ECATDeviceAction error result if Error is TRUE.

  • See Error Codes.
  • Upon success, Error is set to 0 (zero).

Remarks

  • This function returns immediately.
  • It can be called multiple times in one cycle.

Supported Actions

DEVICE_ACTION_DISCONNECT

  • The EtherCAT master is notified to expect the node to be removed from the EtherCAT when ECATDeviceAction is called with DEVICE_ACTION_DISCONNECT.
  • Any Axis/Axes mapped to a drive node is automatically simulated.
  • The last position from the physical drive is carried over to the simulation when the EtherCAT restarts.

DEVICE_ACTION_CONNECT

  • This action connects the already disconnected node to the EtherCAT Network.
  • The axis (or axes) that was acting as simulated axis becomes a normal axis when the drive node is connected.
  • The axis/axes position comes directly from the configured drive feedback.
    • The position is not automatically transferred from the simulated axis.

Usage

The EtherCAT network needs to be stopped to use this function block.

Error Codes

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

MLMotionStop(); 
MotionEngineStatus := MLMotionStatus(); 
On MotionEngineStatus = MLSTATUS_STOPPED Do 
   Inst_ECATDeviceAction(True, EtherCAT.AKD_3, DEVICE_ACTION_DISCONNECT); 
   If Inst_ECATDeviceAction.Error Then // Handle Error 
       // Error ID value is in Inst_ECATDeviceAction.ErrorEnd_If; 
End_Do;

See Also