-
Setup EtherCAT VFD and Run Motion with PLCopen library
| Version Number |
Description |
| 1.0
|
Initial version
|
1. Supported Components
| Component Name |
Version |
| iC92xx series
|
≥ 2024.3
|
| iCube Engineer
|
≥ 2024.3
|
| JOHB-SMP3
|
≥ S8206
|
| SI-ES3
|
≥ S4202
|
- Start a new project
- Make sure the project contains the following library
- PLCopenPart1_Toolbox_XXXX_XX_XX
- Add the VFD to the project
- For the SMP3 Card (Multi-Protocol)
- Import the ESI file for the Drive that will be used.
- Go to iCube Engineer File --> Import --> Import ESI File(s)...
- Load the modified ESI file from the computer.
- Select the Drive model that should be added to the project.
- Banner will appear when file is imported
- In the Plant add the Drive/VFD to the EtherCAT network
- EtherCAT bus scan can be used to add the EtherCAT VFD to the project
- Go to the PDO Data tab and select Objects 0x1A05 and 0x1605
- PDO Items are available for the VFD by double-clicking on the VFD in the Plant and going to the Data List tab
- Add an "AXIS" component, for each VFD, from the Components/Network window to the Motion Axes section in the plant.
-
-
- In the PLC variable list initialize the AXIS'x' variable
- AxisNum.UINT#x
- AxisNum.DriverType = EtherCAT
- Create
Variables
for the newly created axis and map them to the Process Data Items in the PLC data list.
-
Create a variable named '
g_PE_VFD_AxisData' of type 'Yt_PE_VFD_AxisStructure' in the PLC data list.
- Initialize the following data in the "g_PE_VFD_AxisData" structure in the PLC Variable list
- AxisArray[1].AxisInfo.Number = 1
-
AxisArray[1].AxisInfo.Node = 1
-
AxisArray[1].AxisInfo.AxisType = VFD
-
AxisArray[1].AxisInfo.DriveConversion.PosScale = 2 (Rotations per second)
-
AxisArray[1].AxisInfo.SoftLimit.Velocity.Enabled = TRUE
-
AxisArray[1].AxisInfo.SoftLimit.Velocity.Maximum = 100.0
-
AxisArray[1].AxisInfo.SoftLimit.Acceleration.Enabled = TRUE
-
AxisArray[1].AxisInfo.SoftLimit.Acceleration.Maximum = 100.0
-
AxisArray[1].AxisInfo.SoftLimit.Deceleration.Enabled = TRUE
-
AxisArray[1].AxisInfo.SoftLimit.Deceleration.Maximum = 100.0
-
AxisArray[1].PE_VFD_AxisInfo.NodeID = 1
-
AxisArray[1].PE_VFD_AxisInfo.MaxOutputFrequency = 60.0
-
AxisArray[1].PE_VFD_AxisInfo.MaxMotorVelocity = 1800.0
- Create 3 Cyclic
POUs
in a 8ms or less task, (Create links between the VFD global variable and the PDO variable)
- VFD_Inputs.
- VFD_Outputs.
- VFD_Operation
- Run Motion
- Add the following function blocks to the VFD_Operation POU
- Connect the above blocks to the VFD motion Axis
- Download the project to the controller
- Enable the Driver FB
- Takes a second or two to become active
- Enable the
MC_ReadStatus
and
MC_Power
FB
- Disabled output on the
MC_ReadStatus
FB turns on
-
MC_Power
becomes active, run light starts to blink on the VFD
- Set the Velocity, Acceleration and Deceleration on the
MC_MoveVelocity
block
- Execute the MoveVelocity function block
- Set the Deceleration input on the
MC_Stop
FB
- Execute the
MC_Stop
FB.
- VFD velocity will slow down to 0.