EtherCAT Product Family

Similar documents
EtherCAT Product Family

Commissioning the 9400 Highline TA CiA402 with EtherCAT and Beckhoff NC

PLCopen Motion Control Function Block Reference -MR-JE-C

EtherCAT User Manual. For STF EtherCAT

PLCopen Motion Control Function Block Reference

Manual. NC PTP: Quick Starting Guide. TwinCAT 3. Version: Date: Order No.: TF5000

STF-EtherCAT User Manual

Positioning Controllers. Communication Guide. Document ID: rel4896

EtherCAT User Manual. For SS EtherCAT

Click & Move Tutorial. Create a Project from Scratch

Multi-Axis Position Control by EtherCAT Real-time Networking

Release Notes for MP2000iec controller firmware

Hexapod Motion Controller with EtherCAT

HITACHI PROGRAMMABLE AUTOMATION CONTROLLER

AN100 v1.4. EtherCAT network synchronization. Distributed clocks

Release Notes for MPiec controller firmware

IPC Machine Controller Industrial Panel PC / Industrial Box PC

CPU Unit Motion Control

4 Interpolated Position Mode

Application about Drive Technology

Keypad Lay-out. Copyright 2008 Optimal Engineering Systems, Inc

Platinum Maestro Multi Axis Control. The Ultimate Machine Motion Controller

Positioning Controllers. Application Notes. Document ID: rel3986

PLC Lib: Tc3_MC2_AdvancedHoming

Product Demo Instructions. MP2600iec Demo Instructions: v03. Applicable Product: MP2600iec with MotionWorks IEC Pro

How to implement an EtherCAT Slave Device

MCD. Programming Reference. Programmable Positioning Controller. Documentation. maxon motor maxon motor control. EPOS P Positioning Controller

EtherCAT Master Stack

EtherCAT Master Adapter Board (pn7729)

We confirm that Panasonic AC Servo driver can run normally in KPA EtherCAT Master INtime.

Manual. TwinCAT MC Flying Saw. TwinCAT 3. Version: Date: Order No.: TF5055

Micro800 Programmable Controllers: Getting Started with Motion Control Using a Simulated Axis

Communications Manual

Motion-Logic. Drive based IndraMotion MLD

EtherCAT Connection Guide With Omron NJ Series


Application for Drive Technology

Rexroth PLCopen Function Blocks For Field Bus Drives

imot17xb TM-CAN INTELLIGENT SERVO MOTOR SIZE 17

Positioning Controller

TF5xxx TwinCAT 3 Motion Control

Courtesy of CMA/Flodyne/Hydradyne Motion Control Hydraulic Pneumatic Electrical Mechanical (800)

EtherCAT SoE Interface User Manual

SIMATIC TECHNOLOGY NEWS. Siemens AG All Rights Reserved.

Manual. PLC Lib: Tc2_MC2. TwinCAT 3. Version: Date:

PLCopen for efficiency in automation

PLCopen Standardization in Industrial Control Programming

Service & Support. How can a Simple Palletizer be realized with the FB 488 MC_MovePath Technology Function? Technology CPU.

Motor controllers CMMP-AS, for servo motors

Input/output Data type Description

DS402 Implementation on Roboteq Motor Controllers

SERCOS III Universal Real-Time Communication for Automation

Selection of controllers and integrated systems

PLCopen: changing the world of industrial automation. Overview of the current activities and working groups

Servo press kit YJKP - Host interface

NX1P2 CPU Unit. Built-in I/O and Option Board User s Manual. Machine Automation Controller NX-series

Oct Karl. A. Meier

Master Classes. Document: ETG.1500 D (R) Nomenclature: ETG-Number ETG.1500 D (Directive) Version Created by:

New Automation Technology. TwinCAT 3. TwinCAT 3 extended Automation Technology

FAST Application Software. Technology module. Basic Motion Reference Manual EN. Ä.V2)ä

Decentralized positioning drives

Technical Manual. Linear Flying Shear Application Solution Package. for MPiec Controllers

Drive Technology \ Drive Automation \ System Integration \ Services. MPLCTec.._MX Libraries. Manual. Edition 04/ / EN

CANopen based systems

How to Easily Implement Siemens Motion Control Solution in the Real World? Presented by Craig Nelson and Kevin Wu Manufacturing in America March

Manual. Libraries MPLCTec..._MDX, MPLCTecVirtualEncoder for MOVI-PLC. Edition 07/ / EN

EPOS2 Positioning Controllers

Release Notes for MP2000iec controller firmware

Class 6 Industrial Ethernet

Application Note. Rotary Knife Application Solution Package for MPiec Series Controllers

Motion-Logic system. IndraMotion MLC Controller based

PLCopen Plus Function Blocks for Motion Control - Rev K: 03/25/2011

Motion Coordinator Technical Reference Manual CHAPTER CHAPTER 0INTRODUCTION. Introduction 1-1

C x Hexapod Motion Controller

Application Note. ESI File Usage. Applicable Products: Yaskawa SERVOPACKs with CANopen over EtherCAT

Motion logic. Drive based IndraMotion MLD

No. FST-ZTH13079B. Machine Automation Controller NJ-series. EtherCAT Connection Guide. Kollmorgen Corporation Servo Drive (AKD )

FAST Application Software. Technology module. Cross Cutter _ Reference Manual EN. Ä.V2+ä

L-force 9400 StateLine Servo Drives

Yaskawa America. EtherCAT Road Show October, 2011

Class 6 Industrial Ethernet

Axis Positioning and Synchronization Commands for Drive Engineering

FAST Application Software. Technology module. Virtual Master _ Reference Manual EN. Ä.V2Uä


POWERED BY CUSTOM ELECTRONICS DEVELOPMENT HIGH PERFORMANCE MULTI AXIS DRIVES SPECIAL IPC CONTROLLERS MOTOINVERTERS

Drive inverter for asynchronous AC motors without encoder feedback. The units are not option capable.

How to setup Travel to fixed stop with CMMT-AS-PN by using the SINA_POS / telegram 111

The probe unit is controlled via an AX5000 configuration dialog. In multi-channel devices a probe unit is available for each channel.

for Simulink & Sysmac Studio

Copley Indexer 2 Program User Guide

Introduction to the TIA Portal V13, S7-1500, and Startdrive

CANopen MANUAL. TMCM axis stepper controller/driver board 2.8A RMS / 24V DC Encoder interface

Options for ABB drives, converters and inverters. User s manual FECA-01 EtherCAT adapter module

Technological Data. How Can the Technological Data Coupling Be Used with the Drive? (Available for SIMOTION SCOUT V3.2 or later)

PLCopen: changing the world of industrial automation - status, structuring tools, activities and libraries

Platinum Maestro Multi Axis Control. The Ultimate Machine Motion Controller

MP2000 Series Function Block Details

Industrial Ethernet. JVL Industrial Ethernet in 1 hour

Application C/C++ Master Core. Class A or Class B. Windows (32/64 Bit) Linux (32/64 Bit) Windows CE/EC. OnTime RTOS-32

One Machine Network. Machine Automation Solutions SERVO INVERTER VISION I/O CONTROLLER

Transcription:

EtherCAT Product Family Motion Control Library in C++ Controlling Drives based on CiA 402 or SERCOS device profile 9. August 2016 V2.1 1

Content Introduction to PLCopen and CiA 402 EC-Motion Library Architecture Administrative Functions Blocks Single Axis Motion Functions Blocks Camming Function Blocks Examples Highlights V2.1 2

Introduction Most available drives with EtherCAT slave interface are based on the CiA 402 standard, e. g., Yaskawa, Copley, Omron, CiA 402 organizes parameters in a so called object dictionary and a drive state machine Based on this definitions it shall be possible to run drives from different manufacturers with the same application EtherCAT Technology Group (ETG) document ETG6010_V1i0i0_D_R_CiA402_ImplDirective gives additional implementation hints for using CiA 402 with EtherCAT The organization PLCopen has defined Functions Blocks for Motion Control to simplify usage of motion functions within a PLC program V2.1 3

Introduction Standards PLCopen Functions Blocks for Motion Control (MCFB) Master EtherCAT Technology Group ETG.6010 Implementation Directive for CiA 402 Drive Profile Slave CiA 402: CANopen device profile for drives and motion control V2.1 4

Introduction CANopen device profile for drives and motion control CiA 402 organizes parameters in a so called object dictionary. Each parameter has a defined number (index + subindex) and meaning Object 0x6040: Control Word Object 0x6041: Status Word Object 0x607A: Target Position Object 0x6064: Actual Position. CiA 402 drive state machine CiA 402: CANopen device profile for drives and motion control V2.1 5

Introduction ETG Implementation Directive for CiA 402 Drive Profile ETG Implementation Directive for CiA 402 Drive Profile The drive has to support at least on of the cyclic operation modes: CSP or CSV or CST V2.1 6

Introduction ETG Implementation Directive for CiA 402 Drive Profile CSP: Cyclic Synchronous Position Mode Application has to set a new Target position in every cycle (trajectory generator) Position, Velocity and Torque are controlled by the drive ETG Implementation Directive for CiA 402 Drive Profile V2.1 7

Introduction PLCopen PLCopen, as an organization active in Industrial Control, is creating a higher efficiency in your application software development and lowering your lifecycle costs. As such it is based on standard available tools to which extensions are and will be defined. With results like Motion Control Library, Safety, XML specification, Reusability Level and Conformity Level, PLCopen made solid contributions to the community, extending the hardware independence from the software code, as well as reusability of the code and coupling to external software tools. http://www.plcopen.org/ PLCopen Motion Control Specifications PLCopen motion standard provide a way to have standard application libraries that are reusable for multiple hardware platforms. Part 1 and 2: Function blocks for motion control V2.0 http://www.plcopen.org/pages/tc2_motion_control/ PLCopen Functions Blocks for Motion Control V2.1 8

Introduction PLCopen: Motion state machine PLCopen Functions Blocks for Motion Control V2.1 9

EC-Motion Control Library Architecture Motion Blocks Administrative Blocks MC_Move Relative MC_Move Velocity MC_Power. MC_Read AxisInfo Block Queue Trajectory Generator Axis Data Axis Mode Layer CSP and CSV Process Data (Inputs/Outputs) V2.1 10

EC-Motion Product Overview EC-Motion is a motion control solution for drives operating in a cyclic mode (CSP or CSV). The heart of EC-Motion is a C++ class library that implements the PLCopen Function blocks for motion control specification in version 2.0. EC-Motion is targeted to work in conjunction with the EC-Master (EtherCAT Master Stack). But EC-Master is not mandatory. Simulation only mode is supported as well. EC-Motion provides a Programmable Logic Controller (PLC) style interface. It is designed to be easy integrating in a PLC for controlling EtherCAT connected servo drives. The following EtherCAT drive profiles are supported: CiA 402: CANopen device profile for drives and motion control SERCOS / Servo over EtherCAT V2.1 11

System Architecture Remote Control Application RAS Client (TCP) TCP/IP Application RAS Server (TCP) Master Real-Time Kernel/OS V2.1 12

Software Architecture Motion Demo Configuration EC-Motion Motion Logfile.XML XML Parser Motion Demo Application C++.CSV EC-Motion Control Library MCFB based with C API Process Data (PD) Image description.xml XML Parser Process Data Image Mailbox Services EtherCAT Network Information (ENI) File cyclic commands req. acyclic commands resp. EtherCAT Master Core V2.1 13

Administrative Functions Blocks (1) MC_POWER_T: This Function Block controls the power stage (On or Off). MC_HOME_T: This Function Block commands the axis to perform the «search home» sequence. MC_SETPOSITION_T: This Function Block shifts the coordinate system MC_READPARAMETER_T, MC_READBOOLPARAMETER_T: Returns the value of a parameter MC_WRITEPARAMETER_T, MC_WRITEBOOLPARAMETER_T: Modifies the value of a parameter MC_READDIGITALINPUT_T, MC_READDIGITALOUTPUT_T, MC_WRITEDIGITALOUTPUT_T: Function Block gives access to the value of the input and outputs V2.1 14

Administrative Functions Blocks (2) MC_READACTUALPOSITION_T: This Function Block returns the actual position. MC_READACTUALVELOCITY_T: This Function Block returns the actual velocity. MC_READMOTIONSTATE_T: This Function Block returns the actual velocity. MC_READAXISINFO_T: This Function Block reads information concerning an axis MC_READ_ERROR_T: This Function Block presents general axis errors not relating to the Function Blocks MC_RESET_T: This Function Block makes the transition from the state ErrorStop to Standstill by resetting all internal axis-related errors V2.1 15

Single Axis Motion Functions Blocks (1) MC_STOP_T: Commands a controlled motion stop and transfers the axis to the state Stopping. MC_HALT_T: Commands a controlled motion stop and transfers the axis to the state Standstill. MC_MOVEABSOLUTE_T: Commands a controlled motion to a specified absolute position. MC_MOVERELATIVE_T: Commands a controlled motion of a specified distance relative to the set position at the time of the execution. MC_MOVEVELOCITY_T: Commands a never ending controlled motion at a specified velocity. MC_MOVE_CONT_ABSOLUTE_T: Commands a controlled motion to a specified absolute position ending with the specified velocity. MC_MOVE_CONT_RELATIVE_T: Commands a controlled motion of a specified relative distance ending with the specified velocity. AMC_CHECK_TARGETPOS_REACHED_T: Check if the actual position has reached the commanded position. V2.1 16

Single Axis Motion Functions Blocks (2) MC_CalcMoveProfile, MC_CalcMoveProfileBuffered: Calculate move times and segment distances for a specific movement without moving the axis. MC_CalcMoveTimeAtPos: Calculate time until a certain position is reached. MC MC_DriveSetTargetStep: Set velocity without using build-in trajectory generator. V2.1 17

Camming Functions Blocks With Multi-Axis Function Blocks a synchronized relationship exists between two or more axes. The synchronization can be related to time or position. Often this relationship is between a master axis and one or more slave axes. A master axis can be a virtual axis. From the state diagram point of view, the multi-axis Function Blocks related to Camming can be looked at as a master axis in one state (for instance: MC_MOVEVELOCITY_T) and the slave axis in a specific synchronized state, called SychronizedMotion. MC_CAMTABLE_SELECT_T: Selects the CAM tables by setting the connections to the relevant tables. MC_CAM_IN_T: Engages the CAM. MC_CAM_OUT_T : This Function Block disengages the Slave axis from the Master axis immediately. The Slave axis will be stopped if moving. V2.1 18

Example: MC_Power in PLCopen This Function Block controls the power stage and implements the CiA 402 drive state machine. V2.1 19

Example: MC_Power in C++ language class _MC_API MC_POWER_T : public MC_FB_T { public: // OUT's const MC_T_BOOL &Status; /* OUT(B): Effective state of the power stage */ const MC_T_BOOL &Valid; /* OUT(E): If TRUE a valid set of outputs is available */ // IN's MC_T_BOOL Enable; /* IN(B): As long as is true, power is on */ MC_T_BOOL EnablePositive; /* IN(E): As long as is true, permits motion in pos direction only */ MC_T_BOOL EnableNegative; /* IN(E): As long as is true, permits motion in neg direction only */ void _MC_THIS_API OnCycle(); } _MC_PACKED; /* application example */ { MC_T_AXIS_INIT MC_T_AXIS_REF MC_POWER_T oaxinit; *pmcaxis; *pmcfbpower; /* initialization */ pmcaxis = new MC_T_AXIS_REF(axInit); pmcfbpower = new MC_POWER_T(pMcAxis); /* cyclic part */ pmcfbpower->enable = MC_TRUE; pmcfbpower->pmcfbpower->oncycle(); V2.1 20

Example: MC_MoveRelative in PLCopen This Function Block commands a controlled motion of a specified distance relative to the set position at the time of the execution V2.1 21

Example: MC_MoveRelative in C++ language class _MC_API MC_MOVE_RELATIVE_T : public MC_BUFFERED_FB_T { public: // OUT's const MC_T_BOOL &Done; /* OUT(B): The axis is within a range close to the target position */ const MC_T_BOOL &Busy; /* OUT(E): The FB is not finished and new output values are to be expected */ // IN's MC_T_BOOL Execute; /* IN(B): Start the motion at rising edge */ MC_T_BOOL ContinuousUpdate; /* IN(E): Continuous Update (Trapezoid profile only) */ MC_T_REAL Distance; /* IN(B): Relative distance for the motion */ MC_T_REAL Velocity; /* IN(E): Value of the max velocity (always positive, not necessarily reached). */ MC_T_REAL Acceleration; /* IN(E): Value of the acc (always positive, increasing energy of the motor). */ MC_T_REAL Deceleration; /* IN(E): Value of the dec (always positive, decreasing energy of the motor). */ MC_T_REAL Jerk; /* IN(E): Value of the Jerk (always positive). */ MC_MOVE_RELATIVE_T(MC_T_AXIS_REF *paxis = MC_NULL); } void _MC_THIS_API OnCycle(); V2.1 22

Example MC_MoveRelative Buffermode = MC_BLENDING_LOW Sequence of three MC_MoveRelative without stop FB 1: MC_MoveRelative with Distance=5.0 and Velocity=3000 FB 1: MC_MoveRelative with Distance=3.0 and Velocity=1000 FB 1: MC_MoveRelative with Distance=4.0 and Velocity=2000 V2.1 23

Drill example jerk limited V2.1 24

Camming Example static MC_T_CAM_REF S_myCamTable; static MC_T_INT S_aCamPointsInt[][2] = \ {{0, 0}, {125,707}, {250,1000}, {375,707},\ {500,0}, {625,-707}, {750,-1000}, {875,-707}, {1000,0}}; S_myCamTable.eInterpolType = MC_CAM_INTERPOL_TYPE_CUB; S_myCamTable.nNumOfElements = sizeof(s_acampointsint)/2/sizeof(mc_t_int); S_myCamTable.eVarType = MC_CAM_VAR_TYPE_INT; S_myCamTable.pData = S_aCamPointsInt; V2.1 25

Remote Control with EC-STA DemoMotion tab to command functions V2.1 26

Highlights CiA402 and SERCOS Profile Independent from communication layer (EtherCAT, CAN) Jerk limited movements Changing parameters during movement (continuous update) Software limits Buffer modes (buffered, blending) Operating modes Cyclic Synchronous Position (CSP) Cyclic Synchronous Velocity (CSV) Profile Position (PP) Virtual axis Efficient implementation Low CPU load According to PLCopen Standard V2.0 Library includes source code V2.1 27