+ All Categories
Home > Documents > Trajexia Training - My First Application.pdf

Trajexia Training - My First Application.pdf

Date post: 19-Oct-2015
Category:
Upload: jorge1
View: 40 times
Download: 1 times
Share this document with a friend
302
TrajeXia Training Carlos Ruiz, Application engineer
Transcript
  • TrajeXia TrainingCarlos Ruiz, Application engineer

  • CONTENTS

    TrajeXia OverviewHardware and general specification TrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success histories

  • CONTENTS: TrajeXia Overview

    -What is Trajexia?-Key concept. Freedom-TrajeXia system Architecture-Some typical application.-Available documentation-TrajeXia Minisite

  • TrajeXia Overview: What is TrajeXia

    TRAJEXIA DESIGN TOPICS Trajexia is the ultimate StandAlone General Purpose Motion

    controller from OMRON. Is an Omron European development in collaboration with a third

    party company (Trio Motion). It is a modular system that allows maximum flexibility and

    scalability with a very competitive price.

    Mechatrolink-II is the motion Bus.

  • TrajeXia Overview: What is TrajeXia

    TRAJEXIA DESIGN TOPICS

    It fits in the same CJ1 case (But keying is different)

    TrajeXia is NOT a PLC. But has been designed to be integrated with the most popular PLCs in the market.

    Ethernet is the future so there is an embedded Ethernet port.

    Must be seamless integrated in the Smart Platform. So FINS are implemented.

  • TrajeXia Overview: What is TrajeXia

    Designed to support, in the same application, pulse, analog and Networked axes. (Up to 16 axes)

    Can control up to 8 Inverter and IO modules via Mechatrolink-II motion network.

    We propose the MECHATROLINK-II motion bus, that obtains the maximum axis performance and control with the minimum wiring.

    We can control up to 8 axes at 0.5ms cycle time and 16 axes at 1ms cycle time

  • Trajexias software tool includes: Programming environtment. MechatroLink Drive support (embedded

    CX-Drive technology). Advanced system diagnostics and

    configuration.Programming language is a simple BASIC

    style with dedicated motion commands. Multi tasking program is possible (several

    programs running in parallel).Motion commands are buffered then the

    basic program can be executed at the same time than the movements.

    TrajeXia Overview: What is TrajeXia

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO DESIGN:

    Trajexia is a standalone motion controller that do not tie you to an specific machine architecture so, you can choose

    Freedom to communicate

    Freedom to control

    Freedom to built

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO COMMUNICATE:

    Trajexia has a built in Ethernet port and provide the most common fieldbus capability so you can easily conmunicate Trajexia to your upper controller (PC, HMI, PLC, )

    Freedom to communicate

    Ethernet FINS, TELNET, DeviceNet, ProfiBus, Serial (RS232 & RS485), ModbusTCP, CANOpen, Ethernet-IP, and ready to implement new ones as the market demands it.

    Of course Communication with Omron are enhanced.

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO CONTROL:

    Trajexia allows perfect control of up to 16 axes with independent or synchronized control of the

    PositionSpeedTorque

    Freedom to control

    Powerful instruction set and intuitive and easy programming language.

    You can approach your application following your own techniques.

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO BUILT:

    You can select between the widest choice of best rotary, linear and torque servos in the market. You can control inverter and IO modules also.

    And all this connected via a single cable over the MECHATROLINK-II motion network.

    You can also control any third party motors via the traditional Analogue-Output/Encoder-feedback or pulse output interfaces (Eg, stepper motors, hollow shaft, )

    Freedom to built

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO CHOOSE:TrajeXia is a Modular and Scalable system.

    You can choose between:- Different CPU units- Different communication units- Different motion units- Different Servos, Inverter and IO units

    At the end you pay what you need.

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO CHOOSE:

    Power supply

    CPUMechatrolink

    Master

    Flexible Axis

    DeviceNet Slave

    Profibus Slave

    Bus Terminator

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO PERFORM:

    The most complex Motion application can be solved with TrajeXia. At the moment we have not faced one application that could not be solved

    But we keep the simplicity. The learning curve is extremelly fast. You can become expert in a few days.

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO CREATE:

    All the information from down the servo to up the supervision system is available. You can create from the most simple to the most complex application.

    And you have the tools to do this.

  • TrajeXia Overview: Key concept. FreedomFREEDOM TO CREATE:

    Although there are some good programming practices to follow, the system is very flexible, you can create your application following your own approach to the problem.

    So, the know-how belongs to the OEM, not to the supplier.

  • TrajeXia Overview: TrajeXia System ArchitectureA system based in TrajeXia may contain the next elements

    Supervisory system (SCADA or similar)

    Remote acces for programming and

    monitoringHMIPLC

    TrajeXia

    Servodrives

    InverterDigital & Analogue

    IO modules

    Other factory PLC

    MECHATROLINK INTERFACE

    Third party drives

    ANALOGUE INTERFACE

    ETHERNET

    DEVICE-NET PROFIBUS

  • The system is Open but with Omron Smart Platform integrated technology (FINS, Routing, Software,) you get the maximum performance.

    MECHATROLINKMECHATROLINK

    One Motion Core

    One connection One software

    One source, many targets EtherNetEtherNet

    Slice I/OsSlice I/Os

    Exclusive NEW High Performance MOTION BUS (It is not PC21 based).

    TrajeXia Overview: TrajeXia System Architecture

  • Smart Platform integration:

    One Motion Core

    One connection One software

    One source, many targets EtherNetEtherNet

    TrajeXia Overview: TrajeXia System Architecture

    Programming via Ethernet

    CX-Supervisor supports TrajeXia.

    Software Tool integrated in CX-One.

    HMI Supports TrajeXia (System version 6.71 or newer)

    There exists Function Blocks to communicate with TrajeXia.

    TrajeXia can be FINS client to communicate with a PLC.

  • Smart Platform integration.

    MECHATROLINKMECHATROLINK

    One Motion Core

    One connection One software

    One source, many targets EtherNetEtherNet

    Slice I/OsSlice I/Os

    TrajeXia Overview: TrajeXia System Architecture

    FINS Routing via MECHATROLINK.

    CX-Drive is embedded in TrajeXia Tools.

    Full access to the Mechatrolink drives from Ethernet.

  • TrajeXia Overview: Typical applicationTrajeXia is a General Purpose advanced motion controller. Designed to solve any simple or complex motion application of Up to 16 axes.

    TrajeXia is NOT a dedicated motion controller, like CNC or robotic controller. Do not waste your energy trying to enter in those application.

    TrajeXia is NOT a PLC. Although it can control a number of I/Os, when the amount of IO to control is large, sometimes is easier to install a small PLC for this.

  • TrajeXia Overview: Typical applicationThe natural Omron market in Europe, for historical reasons, has been packaging.

    HORIZONTAL FLOW WRAPPER:

  • TrajeXia Overview: Typical application

    HORIZONTAL FF&S SACHET MACHINE:

  • TrajeXia Overview: Typical application

    END LOAD CARTONER:

  • TrajeXia Overview: Available documentation

    To support you in the sales and commisioning of the product we have next documentation available:

    TrajeXia Combi: Commercial information based in TrajeXia you decide.

    Contains the Datasheet also

    TrajeXia Datasheet: Product specification and ordering information

    in a quick and easy way.

  • TrajeXia Overview: Available documentation

    Manuals are splitted in 3. Landscape format to fit in a PC screen.

    Quick reference guide: Just the information to connect and move a Trajexia system in 10 minutes

    Hardware reference: All the necessary hardware information plus

    the Trajexia internal architecture.

    Programming reference: All what you need to program an application: Command and program reference. Communication protocols. Examples

  • TrajeXia Overview: TrajeXia Minisite

    www.trajexia.com

    It is the second Omron Minisite, after the one from the NSs

  • CONTENTS

    TrajeXia OverviewHardware and general specificationTrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success histories

  • CONTENTS: Hardware and general specification

    -Power supply-CPU Modules-Axes Modules-Communication modules-Mechatrolink bus overview-Mechatrolink nodes-Unit connection rules-System Autoconfiguration

  • TrajeXia Hardware: TrajeXia General Specification

    TrajeXia Hardware is manufactured in Omron Europe facilities and follows the OMRON quality standards and specification.

    General specification and testing are same that for our PLCs

  • TrajeXia Hardware: TrajeXia General Specification

  • TrajeXia Hardware: Power supply

    Omrons standard CJ1 family Power supply can be used. We recommend to use CJ1W-PA202 (because it is enough for nearly all configuration).

    MODEL SUPPLY POWER

    CJ1W-PA202 85-264 Vac 14 WCJ1W-PA205R 85-264 Vac 25 WCJ1W-PD022 24 Vdc 16.6 WCJ1W-PD025 24 Vdc 25 W

    NOTE: If you are using the 5V encoder supply in more than 3 FlexAxis at the same time, maybe you have to use the biggest PSU.

  • TrajeXia Hardware: CPU Unit

    The CPU Unit is the Brain of the system. You need one CPU Unit in your system.

    All the intelligence of the system is here. For making the system working you need to make and execute programs in the CPU.

    We have two CPU Models:

    - TJ1-MC16

    - TJ1-MC04

    The only difference is the number of supported real axes.

  • TrajeXia Hardware: CPU Unit

    TJ1-MC16

    TJ1-MC04

    16 AXES. According to the hardware configuration, any axis can be:

    Mechatrolink axis if the node exists

    Analogue axis if the Flexible-Axis card is installed

    Virtual axis if there is no hardware associated.

    16 AXES. According to the hardware configuration, the limitation are:

    Up to 4 Mechatrolink or Analogue axis depending on the hardware

    A 5th Analogue axis is possible if you install the necessary Flex-Axis.

    The rest of the axes are only Virtual.

  • TrajeXia Hardware: CPU Unit

    And TJ1-MC04

    Those are the general specification of the CPU UNITS

  • TrajeXia Hardware: CPU Unit

    Very important information!!!

    The TJ1-MC__ can control:

    - Up to 8 AXES at 0.5ms cycle time

    - Up to 16 AXES at 1ms cycle time

  • TrajeXia Hardware: CPU Unit

  • Ethernet is the way to program Trajexia.Ethernet is Standard in all new

    computers, Open, Cheap and Affordable wordwide.

    Standard RJ45 Ethernet cable (crossed or direct Trajexia autodetects physical media) is the only cable required to program Trajexia.

    I.P. scroll Indicator

    RJ45 Ethernet connector with embedded LEDs for diagnostics.

    Plug&Play: a) Connect the cable (LED display will show Trajexias IP addressb) Be sure that Computer and Trajexia are in the same IP range.

    Use Trajexia tools to program your Trajexia device.

    TrajeXia Hardware: CPU Unit

  • TrajeXia Hardware: CPU Unit

    ETHERNET IS THE PRESENT

    Trajexia has been designed with a separated PCB for the Ethernet communication (protocol board). This gives more potential to develop any Ethernet protocol that the market request.

    IMPLEMENTED PROTOCOLS

    TELNET for the programming tool

    FINS SERVER (for general data transfer)

    FINS CLIENT (for general data transfer)

    MODBUS-TCP

    ETHERNET-IP UNDER DEVELOPMENT

  • TrajeXia Hardware: CPU Unit

    EMBEDDED SERIAL PORTS

    When simple low cost communication is required. Both ports are independent.

  • RS232/485

    Serial Port Conmector (CN2)

    The serial port uses a 9 pin D connector, to access both physic ports RS232 & RS485

    RS485 Switches.

    Set left Set right

    Top switch Termination ON Termination OFF

    Bottom switch RS485 Multi-drop RS422 Point to Point

    TrajeXia Hardware: CPU Unit

  • Alphanumeric Display

    Display Mode/Text Notes

    When you connect the Ethernet cable, the current IP Address of the TJ1- MC16 is displayed. The display cycles through each of the four parts of the address in sequence. The default address would display as follows: 192 168 000 250 blank (first time after power on, it displays the subnet mask also.)

    After this sequence Display will show: STATUS INFORMATION. Check Error description in case of Err xxx appears in the display.

    STATUS INFORMATIONOFF Drive disabledRun Drive enabledErr A Axis errorErr U Unit errorErr C Config. status

    TrajeXia Hardware: CPU Unit

  • Hardware Overview: TJ1-MC16 (Processor)I/O LEDs

    I/O LEDs can be configured by user (DISPLAY command) according to the following table:

    Example: DISPLAY = 5, see the programming guide for details.

    1

  • Backup battery

    CJ1W-BAT01

    Same model than in the PLCs

    The backup battery keeps- Programs- Global variables

    Programs and Global variables can be stored in EEPROM memory also for permanent storage (Recommended for finished applications).

    TrajeXia Hardware: CPU Unit

  • I/O Connector (CN-3)The 28 pin connector is a screwless Weidmuller connector.

    TrajeXia Hardware: CPU Unit

  • I/O Connector (CN-3)Inputs are both PNP or NPN

    TrajeXia Hardware: CPU Unit

    Outputs are PNP

  • PA202 TJ1-MC__ TJ1-TER

    Serial Motion BUS

    A TrajeXia system must finish with a Bus terminator. No functions are associated with the TJ1-TER Terminator other than to ensure the correct operation of TrajeXia's internal Serial Motion BUS bus.

    The Serial Synchronous Motion BUS is exclusive design for Motion Control systems.

    TrajeXia Hardware: CPU Unit

  • FROM THE BOX:

    When you order a TJ1-MC__ In the box it is included the next hardware:

    - TJ1-MC__ Unit

    - DB-9 male connector

    - IO connector

    - TJ1-TER

    - White clip (to substitute the Yellow one in the PSU)

    - 2 x Metal DIN rail clip.

    TrajeXia Hardware: CPU Unit

  • The TJ1-ML__ is a Mechatrolink master interface.

    It translate messages from and to the CPU to the different Mechatrolink nodes.

    Mechatrolink is an open bus designed by Yaskawa specifically to control Motion.

    The Mechatrolink bus is transparent for the TrajeXia programmer. You have access to the different devices connected to the bus in a transparent manner.

    TrajeXia Hardware: Axes Module: TJ1-ML__

  • The TJ1-ML__ MECHATROLINK-II Interface Unit is a digital multi axis network that is able to control up to 16 devices (or nodes) in real time. A single interface cable is connected to the the first drive with a daisy chain to the other nodes, the network finishes with a Terminator resistor.

    TrajeXia Hardware: Axes Module: TJ1-ML__

  • There are two Mechatrolink Interfaces

    TJ1-ML16 can support up to 16 Mechatrolink nodes

    TJ1-ML04 can support up to 4 Mechatrolink nodes

    TrajeXia Hardware: Axes Module: TJ1-ML__

    One Mechatrolink node can be:

    Servodrive: This is considered an Axis in TJ1-MC__

    Inverter: Handled via special Basic commands in the TJ1-MC__

    IO unit: The Digital and Analogue IOs are mapped transparently in the TJ1-MC__

  • Each Mechatrolink Interface Unit constitutes a network controlling up to 16 nodes. All Mechatrolink nodes have an unique address selected by a switch on the node. In case of ServoDrive, the address selected determine the axis number. Mechatrolink axes can be run in three modes: Speed, Position and Torque modes, depending on the servodrive model. There can be up to 8 non-servo Mechatrolink devices attached.

    TrajeXia Hardware: Axes Module: TJ1-ML__

  • Also Junma-ML and the Omron versions (W and W-Mechatrolink),

    in the future Sigma-V (now is supported as it was a Sigma-III)

    TrajeXia Hardware: Axes Module: TJ1-ML__

  • Very important information!!!

    The TJ1-ML__ can control:

    - Up to 4 NODES at 0.5ms cycle time*

    - Up to 8 NODES at 1ms cycle time**

    - Up to 16 NODES at 2ms cycle time**

    TrajeXia Hardware: Axes Module: TJ1-ML__

    *Only for Sigma-III (W-Mechatrolink) drives

    **TJ1-ML04 supports only 4 nodes at any cycle time

  • LED indicator-RUN: Green lit means Unit OK-BF (Bus Failure): Red lit means Mechatrolink communication error.

    TrajeXia Hardware: Axes Module: TJ1-ML__

    Mechatrolink Bus connector.USB type. The bus terminator is embedded.

    The TJ1-ML__ does not need any setting from the TJ1-MC__At power-up, the TJ1-ML__ autodetect all the nodes in the Mechatrolink network.

  • TrajeXia Hardware: Axes Module: TJ1-FL02The Flexible Axes Module is an Axes interface that allows to control 2 axes with an analogue interface, that is:

    +/- 10V analogue speed reference + incremental encoder feedback (line Driver).

    Line-driver encoder output.

    Stepper pulse output.

    +/- 10V analogue speed reference + absolute encoder feedback (SSI, EnDat and Tamagawa protocols are supported).

  • TrajeXia Hardware: Axes Module: TJ1-FL02This allows to control any kind of actuator like:

    Inverter in position control

    Stepper motors

    Competitor servodrives

    Hydraulic actuators (Proportional valves)

    External master encoders

  • TrajeXia Hardware: Axes Module: TJ1-FL02

    Flexible Axis parts

    LED indicators

    Encoder & pulse connector for both axes.

    Analogue output and auxiliary digital IOs for both axes.

  • TrajeXia Hardware: Axes Module: TJ1-FL02

    The meaning of the LEDs can be configured by the AXIS_DISPLAY parameter as follows

  • TrajeXia Hardware: Axes Module: TJ1-FL02

    ENCODER CONNECTOR (High density DB-15)

    The meaning of the Pins change depending on the Axis mode.

  • TrajeXia Hardware: Axes Module: TJ1-FL02

    ANALOGUE OUTPUT CONNECTOR (High density DB-15)

    The Inputs and outputs can be used as general purpose also.

  • The TJ1-FL02 supports cycle times of 0.5, 1 & 2 ms

    TrajeXia Hardware: Axes Module: TJ1-FL02

  • TrajeXia Hardware: Mechatrolink bus

    MECHATROLINK-II is an open communication bus specially designed for motion control.

    Although the bus is transparent to the user (you do not have to take care about how it is working) it is good to know a few data.

    One bus for motion must be:

    - Short message.

    - Very quick.

    - Deterministic.

  • TrajeXia Hardware: Mechatrolink busSHORT:

    32 bytes/node

    QUICK:

    10Mb Bus. With this we get:

    4 [email protected], 8 nodes@1ms, 16 nodes@2ms

    DETERMINISTIC:

    Broadcast messaging assures that the relevant information (position usually) is captured and executed at the same time in all nodes. Jitter of about a few ns

    Broadcast: Latch current position

    Read Ax1 position Read Ax2 position ... Read Axn position

    ... Write Ax1 target Write Ax2 target ... Write Axn target Broadcast: Execute position loop

  • TrajeXia Hardware: Mechatrolink busHARDWARE CHARACTERISTICS:

    Daisy chain topography terminated with a resistor. If one node breaks-down, the communication with the rest is not stopped.

    50m maximum distance (+ 50m using a repeater).

    Cheap compared to others.

    Node address by switches in the nodes.

  • TrajeXia Hardware: Mechatrolink nodes

    Three kind of Mechatrolink nodes:

    - Servodrives

    - Inverter

    - IO Modules

  • A node (or device or station) is a MECHATROLINK-II slave connected to a TJ1-ML__. There are three types of nodes.

    Every node is defined by its Node number (selected in the slave by the rotary and dip switches) and node type.

    Node Type Mechatrolink node addres

    SERVO Node n + 40h

    INVERTER Node n + 20h

    I/0s Node n + 60h

    TrajeXia Hardware: Mechatrolink nodes

  • SUPPORTED SERVODRIVES:

    Sigma-II + NS115 (or OMRON W-Series

    Sigma-III with embedded ML-II (W-Mechatrolink)

    Junma-ML

    Possible node number 1 to 16 (station address 41h to 50h)

    Every SERVO is considered a TrajeXia AXIS. STATION

    ADDRESSAXIS NUMBER

    SERVO MODELSERVO FIRMWARE

    AXIS_NUMBER=node_number-1

    TrajeXia Hardware: Mechatrolink nodes. Servodrive

  • Position mode. The TJ1-ML sends position command to the servodrive every cycle. The position loop is closed in the servodrive.

    Speed mode. The Mechatrolink Unit will issue a speed command to the drive. The feedback is received from the motor via the drive.

    Torque mode. The Mechatrolink Unit will directly control the torque on the motor. The drive control the motor in torque mode.

    A mechatrolink Servodrive is one TrajeXia axis and uses certain processing time.

    A servodrive via TJ1-ML__ can be controlled in the next modes (Junma-ML supports only Position mode):

    TrajeXia Hardware: Mechatrolink nodes. Servodrive

  • The next information is sent cyclically every Mechatrolink cycle

    TrajeXia Hardware: Mechatrolink nodes. Servodrive

    Position command

    Speed command* or

    Torque command*

    Command information

    Position feedback

    Selectable monitor

    Status word

    IO status word

    From TRAJEXIA From SERVO

    *Junma-ML only accepts Position commands.

  • The next information is not cyclical. The response take some cycles

    TrajeXia Hardware: Mechatrolink nodes. Servodrive

    Run/BB command

    Reset alarms

    Read/write parameter

    Response to those non- cyclic commands.

    From TRAJEXIA From SERVO

  • SUPPORTED INVERTER:

    V7 (MV) inverter with SI-T/V7, F7 or G7 with SI-T

    Possible node number 0 to 31(Station 20h to 3Fh)

    Inverter is NOT an AXIS one inverter do not use CPU time but uses a mechatrolink node.

    TrajeXia Hardware: Mechatrolink nodes. Inverter

    STATION

    ADDRESS

  • The next information is sent cyclically every Mechatrolink cycle

    TrajeXia Hardware: Mechatrolink nodes. Inverter

    Command information

    Speed command or

    Torque command

    Status information

    Speed feedback or

    Torque feedback

    From TRAJEXIA From SERVO

  • The next information is sent cyclically every Mechatrolink cycle

    TrajeXia Hardware: Mechatrolink nodes. Inverter

    Read/write parameter

    Reset alarm

    Response to those commands.

    From TRAJEXIA From SERVO

    The mechatrolink interface is, in fact, a gateway from Mechatrolink to Modbus through the inverter DPRAM, that is asyncronously updated every 5ms.

  • AVAILABLE DEVICES:

    Yaskawa digital IO 64In/64Out (JEPMC-IO2310)

    Yaskawa 4 analogue output (JEPMC-AN2900)

    Yaskawa 2 analogue input (JEPMC-AN2910)

    Possible node number 0 to 31(Station 60h to 7Fh)

    The I/O devices are automatically mapped as TrajeXia I/Os according to the Station address.

    STATION ADDRESSI/O MODELI/O FIRMWARE

    TrajeXia Hardware: Mechatrolink nodes. IOs

  • AVAILABLE DEVICES:

    OMRON Slice IO coupler (GRT1-ML2) supporting :

    All digital IO slices models

    All analogue IO slices models

    Automatic allocation of the Digital and Analogue IOs

    Diagnostic & status.

    TrajeXia Hardware: Mechatrolink nodes. IOs

  • Those are the I/Os in the TJ1-MC16

    16 Inputs

    8 Outputs

    16 Virtual I/Os

    Tip:

    Virtual I/Os are not related to real devices. Can be used as internal flags.

    TrajeXia Hardware: Mechatrolink nodes. IOs

  • I/Os: When any I/O Station is attached, more I/Os are automatically added, continuing from the last one.

    Additional

    I/Os

    TrajeXia Hardware: Mechatrolink nodes. IOs

    TrajeXia embedded

    I/Os

  • The TJ1-PRT is a PROFIBUS slave unit. It provides the Trajexia system with an interface to a PROFIBUS master. The TJ1-PRT exchanges the contents global variables with the PROFIBUS master.

    N

    o

    d

    e

    S

    e

    l

    e

    c

    t

    i

    o

    n

    P

    r

    o

    f

    i

    b

    u

    s

    c

    o

    n

    n

    e

    c

    t

    o

    r

    Data

    Data

    TrajeXia Hardware: TJ1-PRT

  • Node Selection

    Profibus connector

    Units

    Tens

    TrajeXia Hardware: TJ1-PRT

  • LED Status

    TrajeXia Hardware: TJ1-PRT

  • Technical specs are similar to the Profibus Slave module

    TARGET: Customer will need MINIMUM converting Trajexia projects from/to Profibus to/from DeviceNet

    TrajeXia Hardware: TJ1-DRT

    Device-Net slave Unit

  • Node Selection

    DeviceNet connectorUnits

    Tens

    TrajeXia Hardware: TJ1-DRT

  • LED StatusTrajeXia Hardware: TJ1-DRT

    SPECIFICATION

  • 0 1 2 3 4 5 6PA202 TJ1-MC__

    First unit from the left must be the PSUSecond unit must be a CPU Unit (TJ1-MC__)Last unit must be the bus terminator (TJ1-TER)Up to 7 expansion units (slots 0-6) can be inserted after TJ1-MC__.

    Units can be arranged in any order, TJ1 CPU will autodetect all units by its order (Rotary switch for Unit No. is not needed in Trajexia BUS).

    -1

    TrajeXia Hardware: Connection Rules

    Unit Number

  • 0 1 2 3 4 5 6PA202 TJ1-MC16

    -1

    TrajeXia Hardware: Connection Rules

    0 to 4 TJ1-ML16 units can be included.0 to 7 TJ1-FA2 units can be included (14 axes).0 to 1 TJ1-PRT or TJ1-DRT units can be included

  • Unit number is assigned automatically according to its position respect on the CPU. CPU number is 1, the next one is 0, next is 1, etc.

    The UNIT configuration can be checked using the command:

    PRINT COMMSTYPE SLOT(unit_number)

    TrajeXia Hardware: Connection Rules

    ATYPE COMMSTYPE number NameMechatrolink Master Module 31 TJ1-ML16- 32 For the futureFlexible Axis Module 33 TJ1-FL02Profibus Module 34 TJ1-PRTDeviceNet Module 35 TJ1-DRT

  • MECHATROLINK-II cycle depends on the number of nodes/network:

    0.5 miliseconds 4 nodes

    1 milisecond 8 nodes

    2 miliseconds 16 nodes

    CPU cycle depends on the number of axes. Nodes that are not servos do not affect to the CPU cycle. FlexAxis axes affect to the CPU cycle

    0.5 miliseconds 8 axes

    1 milisecond 16 axes

    TrajeXia Hardware: Connection Rules

    At the end, the cycle time must be the biggest value of both, Mechatrolink and CPU time. It is set by the reserved command

    SERVO_PERIOD

    An uncorrect setting may deal to a configuration error.

  • Axis TJ1-ML masters required for axesCycle 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 160.5 ms 1* 1* 1* 1* 2* 2* 2* 2* - - - - - - - -1 ms 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 22 ms 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

    Using several MECHATROLINK-II masters allows you to achieve Maximum cycle performance by adding MECHATROLINK-II units while keeping minimum cycle times.

    *Only for Sigma-III (W-Mechatrolink) drives

    TrajeXia Hardware: Connection Rules

    Example considering only mechatrolink axes (no Flexible axes and no non-axis mechatrolink nodes).

  • At power-up, the system check all the hardware attached and make an autoconfiguration in the next order:

    TrajeXia Hardware: System autoconfiguration

    Power Up

    Bus consistency

    Unit detection

    In TJ1-ML__ make Mechatrolink network scan detection.

    Axis allocation

    Digital IO allocation

    Analogue input/output allocation.

    It is possible to force a CPU initialisation by issuing an EX command.

    It is possible to force a TJ1-ML__ initialisation by issuing MECHATROLINK(UNIT,0) command

  • The axes are allocated in the next sequence

    TrajeXia Hardware: System autoconfiguration

    First the Mechatrolink servos are allocated according to:

    Axis_number=ML-switch address-1

    Second, the Flexible axes are allocated in the free axes in ascending order starting from the unit more on the left.

    The non allocated axes up to 16 remain as virtual axes.

    Axes number are from 0 to 15.

    When SERVO_PERIOD=500 (0.5ms) only axes 0 to 7 are considered.

  • DIGITAL IO

    TrajeXia Hardware: System autoconfiguration

    The MECHATROLINK Digital IOs are mapped in ascending order according to the Mechatrolink node number as:

    IN(Input_number)

    OP(Output_number,ON/OFF)

    ANALOGUE IO

    The MECHATROLINK Analogue IOs are mapped in ascending order according to the Mechatrolink node number as:

    AIN(Input_number)

    AOUT(Output_number)=value

  • CONTENTS

    TrajeXia OverviewHardware and general specification TrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success histories

  • CONTENTS: TrajeXia Tools

    -Installing the software-Connecting to TrajeXia-Software tool overview

  • Trajexia ToolsTrajexia Software Tools include all necessary tools to develop & work with Trajexia in same Installation Software. Stand Alone system is fully supported.

    Motion Perfect 2 (Trajexia Edition).

    Encryptor (Trajexia Edition)

    CX-Server

    CX-Drive (full)

  • Trajexia ToolsTrajeXia Tools is part of the CX-One software platform.

    TrajeXia Tools share the same license with the CX-Drive.

    If you have CX-Drive already installed in your computer you do not need a new license.

  • Trajexia Tools: Installing the softwareHANDS ON

    LETS INSTALL TrajeXia TOOLS

  • Trajexia Tools: Connecting with TrajeXia

    HANDS ON: LETS CONNECT WITH TrajeXia

  • Trajexia Tools: Software Tool overview.Motion Perfect 2 (Trajexia Edition) Includes Parameter Upload/Download wizard that allows MECHATROLINK-II servodrives setup & maintenance.

    ServoParameters are saved within Trajexia project.

    This feature is only available in ONLINE mode.

    1

    2

    3

  • When other CX-Drive functionalities (like direct drive monitor, test run, tune, offline configuration...) are needed then CX-Drive software may be launched from the Parameter window

    CX-Drive will be opened.

    Notice CX-Drive & Motion Perfect Parameter window will work as separate tools, therefore Values need to be updated separately.

    Example: Pn202 is modified from Motion Perfect while CX-Drive is also running in the computer. Pn202 shown in both softwares will be different unless you refresh parameter information from Drive to CX-Drive.

    Trajexia Tools: Software Tool overview.

  • Drive RUN mode and COMMISSIONING mode:Each axis separately can be set to Run or Commissioning Mode some CX-Drive features will be disabled in Run Mode.

    Run Mode CX-Drive is not allowed to alterate motion status because Trajexia CPUs is owning the axis.

    Commissioning Mode: CX-Drive has full control of the axis. (Warning: Also Axis Motion). In this mode ATYPE becomes 0 (Virtual Axis)

    Trajexia Tools: Software Tool overview.

  • HANDS ON

    CHECK YOUR TrajeXia configuration

    Trajexia Tools: Software Tool overview.

  • After power ON or a reset (EX Command), the TrajeXia prints the detected configuration to the terminal

    Trajexia Tools: Software Tool overview.

  • CONTENTS

    TrajeXia OverviewHardware and general specification TrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success historiesApplication discussion

  • CONTENTS: Trajexia Architecture

    -TrajeXia processing architecture-Program execution. Tasks and multitasking-Axes in TrajeXia-Motion buffers & Task buffer

  • Program BufferProgram Buffer

    BASIC PROGRAMSTask 1

    Task 2

    Task 3

    Task 14

    Comms

    BASIC PROGRAMSTask 1

    Task 2

    Task 3

    Task 14

    Comms

    TJ1-MC__

    MC I/O

    AXIS TYPEAXIS TYPE

    ML_POSITION

    TJ1-ML__TJ1-ML__ML command

    Servo drive.

    MOTOR

    ENC

    ML_SPEED

    ML_TORQUE

    AXIS CONTROL LOOPAXIS CONTROL LOOP

    Position Loop

    Position Loop

    Motion command

    Position Loop

    Position Loop

    Speed LoopSpeed Loop

    Torque Loop

    Torque Loop

    Buffer & profile

    gererator

    Buffer & profile

    gererator

    Trajexia Architecture: Processing architecture

    TRAJEXIA GENERAL BLOCK DIAGRAM

  • Trajexia Architecture: Processing architecture

    There are three main concepts to have clear in TrajeXia:

    1.- Programs and multi-tasking.

    2.- Concept of Axis

    3.- Buffer system

    All this working around a system of interruptions based on the SERVO_PERIOD.

  • CPU Motion Loop:

    0.5/1/2 ms

    TJ1-MC16 CPU and Trajexia BUS are Synchronous ( 0.5 ms /1 ms/ 2 ms)

    TJ1-ML16 updates MECHATROLINK-II Network ( 0.5 ms/ 1ms / 2 ms)

    The cycle time for the CPU and the ML-II is same and fixed with the SERVO_PERIOD command. You must set it manually and cycle power to become effective.

    MECHATROLINK-II

    0.5/1/2 ms

    Systems with Sigma-II and Junma-ML servodrives cant be set to 0.5 ms servo_period !

    Trajexia Architecture: Processing architecture

  • Trajexia TJ1 is able to handle up to 14 programs

    A program is a piece BASIC commands language arranged to be executed by the Trajexia controllerWhen program starts to RUN then becomes a Process (or Task).

    Priority (0-14) is assigned to each process. (0-12) Low, (13-14) High.

    Trajexia Architecture: Processing architecture

  • But TrajeXia has only one microprocessor so, the multitasking is, in reality, a time- sharing strategy.

    In TrajeXia, every action you do corresponds with one program command.

    Trajexia Architecture: Processing architecture

  • -Motion sequence

    -Low priority Task execution (0,1,2,3,..).

    -Internal communication.

    -High priority Task execution (13,14).

    -Motion sequence

    -Led update.

    -High priority Task execution (13,14).

    - Communication & other background tasks.

    1

    2

    3

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    Task Interrupts In Detail: 250 s

    4

    Trajexia Architecture: Processing architectureSERVO_PERIOD=500

  • -Motion sequence

    -Low priority Task execution (0,1,2,3,..).

    -Internal communication.

    -High priority Task execution (13,14).

    -Led update.

    -High priority Task execution (13,14).

    - Communication & other background tasks.

    1

    2

    3

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    1

    m

    s

    Task Interrupts In Detail: 250 s

    4

    Trajexia Architecture: Processing architectureSERVO_PERIOD=1000

  • -Motion sequence

    -Low priority Task execution (0,1,2,3,..).

    -Internal communication.

    -High priority Task execution (13,14).

    -Led update.

    -High priority Task execution (13,14).

    - Communication & other background tasks.

    1

    2

    3

    L

    o

    o

    p

    t

    i

    m

    e

    =

    2

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    2

    m

    s

    L

    o

    o

    p

    t

    i

    m

    e

    =

    2

    m

    s

    Task Interrupts In Detail: 500 s

    4

    Trajexia Architecture: Processing architectureSERVO_PERIOD=2000

  • Each Process (running Program) is executed in a CPU Task.

    TrajeXias processor cycle time consists of 1 ms with four interruptions each 250 microseconds.

    Motion loops are updated according SERVO_PERIOD

    High TASK #1 High TASK #2Low TASK COMS

    1ms

    Profile & Loops each SERVO_PERIOD

    Processes

    Trajexia Architecture: Task and Multitasking

  • High TASK #1 High TASK #2Low TASK COMS

    ALL cycle=1ms

    Low Priority Processes are executed in Low TASK

    Motion Loops and BUS

    In High TASKS #1 and #2 High Priority Processes are executed. If there are no High Priority Processes in Stack then Low Priority Processes are executed

    General Communications (not related to Motion Networks) are updated each cycle = 1ms)

    Trajexia Architecture: Task and Multitasking

  • This is the task assignment. A task is a container

    where a Basic program is executed (Process)

    Task 13 & 14 are high priority.Task 0 is for the PC communication (terminal window).Task 1, 2, ..,12 are low priority tasks.

    13 13 13 1314 14 14 14

    14 14 14 14

    Example:Trajexia Architecture: Task and Multitasking

  • You can store up to 14 programs and run up to 14 tasks (14 programs running at the same time) in the TrajeXia.

    RUN Application, 2 IF DPOS>10000 THEN STOP Conveyor

    Programs can be stored in Flash EPROM using TrajeXia tool. Battery for backup is available.

    Programs are edited in a Pseudo-Basic language with some specialised Motion instructions.

    Trajexia Architecture: Task and Multitasking

  • HANDS ON

    Lets test the Tasks priority

    Trajexia Architecture: Task and Multitasking

  • Program BufferProgram Buffer

    BASIC PROGRAMSTask 1

    Task 2

    Task 3

    Task 14

    Comms

    BASIC PROGRAMSTask 1

    Task 2

    Task 3

    Task 14

    Comms

    TJ1-ML16

    MC I/O

    AXIS TYPEAXIS TYPE

    ML_POSITION

    TJ1-ML16TJ1-ML16ML command

    Servo drive.

    MOTOR

    ENC

    ML_SPEED

    ML_TORQUE

    AXIS CONTROL LOOPAXIS CONTROL LOOP

    Position Loop

    Position Loop

    Motion command

    Position Loop

    Position Loop

    Speed LoopSpeed Loop

    Torque Loop

    Torque Loop

    Buffer & profile

    gererator

    Buffer & profile

    gererator

    Trajexia Architecture: Block diagram

  • One Axis is one structure with the next general (and simplified) block diagram.

    The specific block diagram and behaviour depends on the Axis Parameter and the Axis Type. (ATYPE)

    Profile generator

    +

    -

    Position loop

    Demandedposition

    Measuredposition

    Followingerror

    Speedcommand

    Speed loop

    ON

    OFFTorque

    loopM

    E

    AXIS PARAMETER

    Trajexia Architecture: Axes

  • Profile generator

    DEMANDPOSITION

    BASIC PROGRAM

    .......

    .......MOVE(1000)..............

    CYCLE DPOS 0 01 252 1003 225 97 987598 997599 10000

    100 10000

    The profile generator is a mathematical block responsible to calculate each Servo Cycle the target position (DPOS) for each axis.

    The position profile is generated according to the motion instructions that are commanded via Basic Programs.

    Trajexia Architecture: Axes

  • AXIS PARAMETER: define the behaviour of this axis.SERVO=ON enables the position loop.

    AXIS MONITORING: gives information about the status of this axis. Updated countinuously

    AXIS MONITORING: gives information about the status of this axis. Updated countinuously

    Trajexia Architecture: Axes

  • Trajexia has several kinds of axis depending on its purpose and the hardware attached. The axes is selected with ATYPE

    Axis Type DESCRIPTION0.- Virtual axis

    40.- Mechatrolink position

    41.- Mechatrolink speed

    42.- Mechatrolink Torque

    43.- Flex axis Step-Direction Pulses Output

    44.- Flex axis servo (Analogue speed out, encoder input)

    45.- Flex axis Line Driver encoder output

    46.- Flex axis SSI encoder

    47.- Flex axis EnDat encoder

    48.- Flex axis Tamagawa encoder

    Trajexia Architecture: Axes

  • ATYPE=0, Virtual A virtual axis is similar than the encoder output axis but

    without any external signal. No position loop is used, then, MPOS=DPOS and FE=0

    Profile generator

    MEASUREDPOSITION

    DEMANDPOSITION

    =

    Trajexia Architecture: Axes

    It is useful to have an internal perfect master and to split a complicated profile in two more simple and sum later (see ADDAX command).

  • ATYPE=43 or 45, Encoder Output In axis 1 position profile is generated and outputted to the external world.

    The difference between 43 & 45 is the type of pulses No position loop is used, then, MPOS=DPOS and FE=0

    Profile generator

    AXIS 1ATYPE=1

    MEASUREDPOSITION TJ1-FL02

    This axis type can be used just in the Flex Axis module. This is useful to control a motor via pulses or as a reference for another motion controller

    Trajexia Architecture: Axes

  • ATYPE= 44 FLEX Servo Axis,Analogue speed output and encoder feedback input. The axis position is updated every cycle from the Flexible Module. Flexible Module updates servo values in a negligible time ( 0 micros) Position loop is executed and the resultant speed reference sent to the

    servo driver via D/A converter in the Flex Ax module.

    +

    -Profile generator

    Position loop

    Demandedposition

    Measuredposition

    Followingerror

    Speedcommand

    Drive

    M

    E

    +-10v

    Encoder Signal

    TJ1-FL02TJ1-MC__

    Trajexia Architecture: Axes

  • ATYPE=44, Encoder input in flex axis Position information from an external encoder for its use for

    linked movements. No Profile generator or Position loop is associated to this axis

    Is same than Flex servo axis with SERVO=0 DPOS=MPOS and FE=0

    MEASUREDPOSITION

    TJ1-FL02 TJ1-MC__

    Trajexia Architecture: Axes

  • ATYPE=41 Mechatrolink speed

    Profile generator+

    -

    Position loop

    Demandedposition

    Measuredposition

    Followingerror

    Speedcommand

    S_REF

    ML-II Speed

    command

    Speed Loop

    Torque Loop

    ME

    TJ1-MC__ TJ1-ML__ SERVO

    SERVO_AXIS (n) = ON/OFF

    SERVOSERVO

    SERVO

    Trajexia Architecture: Axes

  • ATYPE=41 Mechatrolink speed With SERVO=ON The position loop is closed in the CPU.

    Note that there is one cycle delay in the loop (we compare DPOSn with MPOSn-1).

    We send speed reference to the servodrive.

    With SERVO=OFF we send directly speed reference via S_REF command (40000000h means Maximum Speed).

    NOTE: To enable the axis we have to execute WDOG=ON (common for all axes)

    S_REF

    SERVO

    Speed_Command

    Trajexia Architecture: Axes

  • ATYPE=40 Mechatrolink position

    Profile generator

    +

    -

    Position loop

    Demandedposition

    Measuredposition

    Followingerror

    Speedcommand

    NOP

    ML-II Position

    command Speed Loop

    Torque Loop

    ME

    TJ1-MC16 TJ1-ML16 SERVO

    Position LoopSERVO

    SERVO

    Trajexia Position Loop is desactivated. (Gains are not used!)

    Trajexia Architecture: Axes

  • ATYPE=40 Mechatrolink position With SERVO=ON The position loop is closed in the Servodrive. The gains in the CPU have no effect.

    We send position reference to the servodrive. (Calculated Profile)

    Note that although MPOS and FE are updated, the real value is the one in the servodrive (you can monitor it via DRIVE_MONITOR)

    With SERVO=OFF we keep the position, not possible to send speed reference

    NOTE: To monitor the following error in DRIVE_MONITOR, set DRIVE_CONTROL=2

    Trajexia Architecture: Axes

  • ATYPE=42 Mechatrolink Torque

    Profile generator+

    -

    Position loop

    Demandedposition

    Measuredposition

    Followingerror

    Torquecommand

    T_REF

    ML-II Torque

    command

    Torque Loop

    ME

    TJ1-MC16 TJ1-ML16 SERVO

    SERVO

    SERVO

    Trajexia Architecture: Axes

  • ATYPE=42 Mechatrolink Torque

    With SERVO=ON The position loop is closed in the CPU. The torque reference in the servodrive depends on the FE and the gains.

    With SERVO=OFF we send directly torque reference using T_REF. 40000000h=Maximum torque.

    NOTE: To monitor the Torque in the servo in DRIVE_MONITOR, set DRIVE_CONTROL=11

    Trajexia Architecture: Axes

  • Summary of Mechatrolink modes

    Trajexia Architecture: Axes

    WDOG SERVO ATYPE CONTROL MODE

    OFF -- -- Servo in BB

    ON 0 ML-POSITION Position lock

    1 ML-POSITION Recommended for Positioning

    0 ML-SPEED Recommended for Speed control

    1 ML-SPEED Possible for Positioning

    0 ML-TORQUE Recommended for Torque control

    1 ML-TORQUE Not recommended

  • HANDS ON

    Lets check the different ATYPEs

    Trajexia Architecture: Axes

  • The link between programs and axis movement is the Buffer.The buffer is a temporary store of the motion instruction so the basic

    program can continue its execution while the instruction is waiting in the buffer

    DEMANDPOSITION

    .......

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......CONNECT(1,1)

    CONNECT(1,1) AXIS(2)

    PROGRAM BUFFER (one per task)

    NTYPE

    MTYPE

    Waiting to be executed MOTION COMMAND

    Currently executed MOTION COMMAND

    AXIS BUFFER (two per axis)

    Profile generator

    Trajexia Architecture: Buffers

  • There are three Buffer with a FIFO structure: MTYPE: Is the currently executed movement. NTYPE: Is the new movement waiting for its execution. Task buffer: Is a third buffered movement that can not be

    monitored. This third buffer is related to the task, not to the axis.

    Once the instruction has been executed, it is loaded into the buffer in the next cycle.

    If a fourth movement instruction has to be executed and the three buffers are full, the basic program stops its execution until the buffer is free.

    Trajexia Architecture: Buffers

  • Task 1 Program Buffer Axis 0

    NTYPE MTYPE

    WAITING EXECUTING

    Each Task (14) has its own Program Buffer

    Program Buffer Task 2

    Task 3 Program Buffer

    Program Buffer Task 4

    Task 5 Program Buffer

    Program Buffer Task 6

    Task 7 Program Buffer

    Task 14 Program Buffer

    Axis 1NTYPE MTYPE

    Axis 2NTYPE MTYPE

    Axis 3NTYPE MTYPE

    NTYPE MTYPEAxis 15

    Each Axis (16) has its own 2 buffers: NTYPE & MTYPE

    Trajexia Architecture: Buffers

  • The concept of Buffered movements is the system used to command movements from the Basic program to the Profile generator:

    When MOVE(100) is finished

    BASIC PROGRAM. . .MOVE (1000)

    IF IN(3) THEN

    MOVELINK (100,20,30,1)

    OP(3,0N)

    ENDIF

    MOVEABS(home)

    MOVEABS(end)

    PROFILE GENERATOR

    MTYPE: MOVE(1000)

    NTYPE: MOVELINK ()3

    2

    1Profile generator

    (1) The movement is loaded in the MTYPE (currently executed movement), the profile generator start executing the movement.(2) If MTYPE is not empty the next movement is loaded in NTYPE waiting to be executed.(3) A third movement waits in the task buffer if there is another movement cannot be loaded and the program stops until NTYPE is empty.

    Trajexia Architecture: Buffers

  • BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    - - - ----------------------------------NTYPE IDLE---------------------------------MTYPE MOVE(-500)

    BUFFER

    MOVE -500

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    - - - ----------------------------------NTYPE MOVE(1000)---------------------------------MTYPE MOVE(-500)

    BUFFER

    MOVE -500

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    DATUM(3)---------------------------------NTYPE MOVE(1000)---------------------------------MTYPE MOVE(-500)

    BUFFER

    MOVE -500

    2.- Second movement is loaded while the first one is still not finished. The new movement wait in the second buffer.

    3.- A third movement can still be stored. If the basic program reach MOVE(200) it will wait

    1.- All buffers are empty and a movement is loaded. The movement start to execute.

    EXAMPLE:EXAMPLE:EXAMPLE:Trajexia Architecture: Buffers

  • 5.- As the sended movements are finished, the buffer is becoming empty.

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    - - - - - ----------------------------------NTYPE MOVE(200)---------------------------------MTYPE DATUM(3)

    BUFFER

    MOVE -500

    MOVE 1000

    DATUM (3)

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    - - - - - ----------------------------------NTYPE IDLE---------------------------------MTYPE MOVE(200)

    BUFFER

    MOVE -500

    MOVE 1000

    DATUM (3) MOVE 200

    6.- If no new movements are ordered, finally, the buffer will become empty and the profile generator will remain inactive.

    4.- The first movement has finished and the buffer is switched by one position. The next movement start to execute.

    BASIC PROGRAM.......MOVE(-500).......MOVE(1000).......DATUM(3).......MOVE(200).......

    MOVE(200)---------------------------------NTYPE DATUM(3)---------------------------------MTYPE MOVE(1000)

    BUFFER

    MOVE -500

    MOVE 1000

    Trajexia Architecture: Buffers

  • HANDS ON

    Lets check the buffer behaviour

    Trajexia Architecture: Buffers

  • CONTENTS

    TrajeXia OverviewHardware and general specification TrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success histories

  • CONTENTS: Programming TrajeXia

    -Program/project handling-Loops and sequence commands-Motion commands-Variables-Good programming practices

  • Programming TrajeXia: Project Handling

    A TrajeXia project consist in the next files:

    - A projectname.prj project file. Contains the information of the project.

    - Several programname.bas that are the programs.

    - One projectname.mdpd file. Contains the saved mechatrolink & inverter parameters

  • Programming TrajeXia: Project Handling

    All the project files must be in a folder with the same project name

    Every time you close TrajeXia Tools, a backup folder with a copy of the project is saved for possible project recoveries in case of problems.

    The project does not contain information about the system configuration so this is not known when you work offline.

  • Programming TrajeXia: Project Handling

    At the end, in TrajeXia, everything is done by executing commands in Basic programs

  • WHILE/WEND

    WHILE IN(8) = 0...Do something...OP(8,ON)...

    WEND

    Programming TrajeXia: Loops and sequence

    1) WHILE checks the condition at the beginning of the WHILE/WEND block.2) If the condition is not satisfied, the contents of the block is not executed.3) If the condition is true, the program loops the WHILE/WEND block until the condition becomes false.

  • REPEAT/UNTIL

    REPEAT...Do something...OP(8,ON)...

    UNTIL IN(8)=1

    Programming TrajeXia: Loops and sequence

    1) UNTIL checks the condition at the end of the REPEAT/UNTIL block. Note that the condition is reversed comparing with the WHILE/WEND loop2) The block is executed at least once, even if the condition is not satisfied.3) If the condition is false, the program loops the REPEAT/UNTIL block until the condition becomes true.

  • FOR a=8 TO 15 STEP 1...Do something...OP(a,ON)...

    NEXT a

    FOR/STEP/NEXT

    1) The loop FOR/STEP/NEXT is unconditional.2) The block is executed a specified number of times determined by the initial and final values and the step

    Programming TrajeXia: Loops and sequence

  • IF..THEN/ELSE/ENDIF

    If the condition is matched the program execute the code after the THEN. If not, the code after the ELSE is executed.

    The ELSE statement is optional, in this case, if the condition is not matched, no code inside the IF/THEN is executed.

    If there is only one code line in the IF/THEN, the ENDIF is not necessaryIF IN(8) = 1 THEN OP(8,1)

    IF IN(8) = 1 THEN

    OP(8,1)

    ...

    ELSE

    OP(8,0)

    ...

    ENDIF

    Programming TrajeXia: Loops and sequence

  • Label/GOTO

    Basic language uses labels instead of the traditional line numbers.

    A label consist on any non-reserved name followed by :

    GOTO is an unconditional jump to a label.

    Using GOTO is a bad programming practice because easily makes programs unreadable. Avoid this instruction as much as possible.

    label:blablabla

    GOTO label

    Programming TrajeXia: Loops and sequence

  • GOSUB/RETURN A GOSUB jumps to a label but stores the original jump line in a stack.

    The code after the label is executed until the RETURN instruction is found.

    The RETURN instruction jumps back to the line after the original GOSUB.

    Subroutines can be nested up to 8 levels.

    Take care to not reach a RETURN instruction without a previous GOSUB.

    ....GOSUB subroutine....

    ....subroutine:........

    RETURN

    Programming TrajeXia: Loops and sequence

  • ON/GOSUB

    If variable=1, the first subroutine (one) is called, if variable=2 the second subroutine (two) is called, etc.

    If the variable value is bigger than the number of labels, no jump is performed.

    ON ... GOTO, the unconditional version of this structure is available too.

    ON variable GOSUB one,two,other

    one:....RETURN

    two:....RETURN

    other:....RETURN

    Programming TrajeXia: Loops and sequence

  • WAIT UNTIL condition

    WA(1000)

    WAIT IDLE/LOADED

    Stops the program execution until the condition is TRUE. Stops the program execution Stops the program execution until the condition isuntil the condition is TRUE.TRUE.

    Stops the program execution until all the movements in the selected axis are finished (movement buffer is empty).

    Stops the program execution until all the movements in the selected axis are finished (movement buffer is empty).

    Stops the program execution during the specified time (in ms). Stops the program execution during the specified time (in ms).

    Programming TrajeXia: Loops and sequence

  • To control the position and performance of the different axis we have two different kind of commands:

    Axis parameters: Used to select, adjust and monitor the different axis

    Motion commands: Used, together with the profile generator, to create a

    motion profile in one or more axes. We can divide the motion instruction in two types:

    Interpollated movements.Linked movements.

    Programming TrajeXia: Motion commands

  • BASE(1)

    SERVO=ON

    DEFPOS(value)

    Selects the axis which the motion instructions and parameters are referred to.

    Closes the position loop. In a servo axis, the output of the position loop is written automatically as the speed reference to the servodriver. If SERVO=OFF, then, DPOS is automatically made equal to MPOS and you can command the speed using S_REF=value

    Defines the current position as the specified value.

    Programming TrajeXia: Motion commands

  • Set the Axis dynamics and behaviour.

    Monitor the Axis status, position and others.

    P_GAIN, UNITS,Etc...

    MTYPE, MPOS,Etc...

    Programming TrajeXia: Motion commands

  • An interpolated movement is a predictible movement. In the moment you launch the instruction you already know the future position profile.

    BASIC COMMANDS:

    MOVE(100)Incremental movement using trapezoidal speed profile.

    MOVE(100)MOVE(100)Incremental movement usingIncremental movement using trapezoidal trapezoidal speed profilespeed profile..

    MOVEABS(100)Absolute movement using trapezoidal speed profile.

    MOVEABS(100)MOVEABS(100)Absolute movement usingAbsolute movement using trapezoidal trapezoidal speed profilespeed profile..

    Speed

    Time

    Speed

    Time

    Pos=50 Pos=100 Pos=150

    Programming TrajeXia: Motion commands

  • BASIC COMMANDS:MOVEMODIFY(150)Modifies the end position for a MOVE or MOVEABS movement currently executing.

    FORWARD/REVERSEExecutes a continuous and never- ending movement in the forward or reverse direction.

    CANCELCancel the currently executed movement following the ramps. The next movement in the buffer is loaded.

    Speed

    Time

    Speed

    Time

    Pos=50 Pos=100 Pos=150

    Speed

    Time

    CANCEL

    Programming TrajeXia: Motion commands

  • DATUM(0)DATUM(0DATUM(0)) It is not an origin search instruction. Reset an axis error. It is not an origin search instructionIt is not an origin search instruction. . Reset an axisReset an axis error.error.

    Command Movement Sequence

    DATUM(1) Forward + Z phaseDATUM(2) Reverse + Z phase

    DATUM(3) Forward + Origin=OFF + Reverse + Origin=ONDATUM(4) Reverse + Origin=OFF + Forward + Origin=ON

    DATUM(5) Forward + Origin=OFF +Reverse + Z phaseDATUM(6) Reverse + Origin=OFF + Forward + Z phase

    Command Movement Sequence

    DATUM(1) ForwardForward + Z + Z phasephaseDATUM(2) Reverse + Z Reverse + Z phasephase

    DATUM(3) ForwardForward + + OriginOrigin=OFF + Reverse + =OFF + Reverse + OriginOrigin=ON=ONDATUM(4) Reverse + Reverse + OriginOrigin=OFF + =OFF + ForwardForward + + OriginOrigin=ON=ON

    DATUM(5) ForwardForward + + OriginOrigin=OFF +Reverse + Z =OFF +Reverse + Z phasephaseDATUM(6) Reverse + Reverse + OriginOrigin=OFF + =OFF + ForwardForward + Z + Z phasephase

    Most machines needs to establish an absolute position referred to the mechanical system before start to work. This the related instruction for this purpose:

    Programming TrajeXia: Motion commands

  • When the origin search sequence is finish, the current position is automatically set to zero. After that, the axis move during the deceleration ramp so, the stop position is not exactly zero

    For DATUM(3) to DATUM(6) it is necessary to program one MC input as ORIGIN switch using:

    DAT_IN=input_number

    Example for

    DATUM(3)

    Example forExample for

    DATUM(3)DATUM(3)

    DPOS=0

    Datum sequence is finished

    Speed

    Time

    Switch

    Time

    After this the axis moves during deceleration

    Programming TrajeXia: Motion commands

  • A linked movement is a movement that depends on the position of another axis.

    The difficulty for this kind of movements is that the future position profile can not be predicted because depends on the master axis position. So, when they are cancelled, the movement stops abruptely without ramps.

    The basic available instructions are:

    CONNECT Synchronisation in position with a master axis. MOVELINK Synchronisation instruction that defines areas for

    acceleration, following and deceleration. CAM Synchronisation instruction that follows an arbitrary

    profile being the master a timebase. CAMBOX Synchronisation instruction that follows an arbitrary

    profile being the master another axis. ADDAX Superimpose to one axis the movement of another

    axis.

    Programming TrajeXia: Motion commands

  • CONNECT ( RATIO, DRIVING_AXIS)

    RATIO is the number of counts of the slave axis per every count in the master axis.

    MASTER_AXIS is the number to define the master axis.

    CONNECT ( RATIO, DRIVING_AXIS)CONNECT ( RATIO, DRIVING_AXIS)

    RATIORATIO is the number of counts of the slave is the number of counts of the slave axis per every countaxis per every count in in thethe master axisaxis..

    MASTER_AXISMASTER_AXIS is the number tois the number to define define thethe master master axisaxis..

    1:1

    1:2

    2:1

    Master Position

    Slave position

    1:1

    CONNECT(1,1)

    1:2

    CONNECT(2,1)

    2:1

    CONNECT(0.5,1)

    CLUTCH_RATE Defines a rate of change in the connection rate to make a ramp in the start and cancel of a CONNECT instruction. Note that this instruction is not deterministic in position.

    CLUTCH_RATE Defines a rate of change in the connection rate to make a ramp in the start and cancel of a CONNECT instruction. Note that this instruction is not deterministic in position.

    Programming TrajeXia: Motion commands

  • MOVELINK (DIST ,LINK_DIST, ACC, DEC, LINK_AXIS, ...)MOVELINK (DIST ,LINK_DIST, ACC, DEC, LINK_AXIS, ...)

    DIST Total distance to move the slave axis.LINK_DIST Total distance to move the master axis.ACC and DEC mDistance made by the master while the slave is accelerating / decelerating. LINK_AXIS Master axis number.

    DIST Total distance to move the slave axis.LINK_DIST Total distance to move the master axis.ACC and DEC mDistance made by the master while the slave is accelerating / decelerating.LINK_AXIS Master axis number.

    Slave Speed

    Time

    Master Speed

    Time

    DIST

    LINK_DIST

    ACC DEC

    The previous information is enough to fully determine the movement above. The previous information is enough to fully determine the movement above.

    Programming TrajeXia: Motion commands

  • MOVELINK (DIST ,LINK_DIST, ACC, DEC, LINK_AXIS, ,)MOVELINK (DIST ,LINK_DIST, ACC, DEC, LINK_AXIS, ,)

    The next optional parameters give different possibilities to start this movement giving more power to the function. The next optional parameters give different possibilities to start this movement giving more power to the function.

    Slave Speed

    TimeMaster Speed

    TimeMARK

    Slave Speed

    TimeMaster Speed

    Timedistance

    Slave Speed

    TimeMaster Speed

    Time

    Mode:1 The movement starts exactly in the

    point where the registration mark in the master axis is detected.

    2 The movement starts exactly when the master axis reachs the absolute position defined in

    4 Movelink is repeated continuously and bidirectionally

    5 Is the combination of 1&46 Is the combination of 2&4

    Programming TrajeXia: Motion commands

  • MOVELINK (10,20,20,0,1)

    +

    MOVELINK (100,100,0,0,1)

    +

    MOVELINK (20,40,0,40,1)

    =

    MOVELINK (130,160,20,40,1)

    MOVELINK (MOVELINK (10,20,20,0,1)10,20,20,0,1)

    ++

    MOVELINK (MOVELINK (100,100,0,0,1)100,100,0,0,1)

    ++

    MOVELINK (MOVELINK (20,40,0,40,1)20,40,0,40,1)

    ==

    MOVELINK (MOVELINK (130,160,20,40,1)130,160,20,40,1)

    Slave Speed

    Time

    Time

    EXAMPLE:EXAMPLE:EXAMPLE:Slave Speed

    Master Speed

    10

    20

    Slave Speed

    Master Speed

    Time

    Time100

    100

    Master Speed

    Time

    Time20

    40

    Slave Speed

    TimeMaster Speed

    Time

    130

    20 40160

    Programming TrajeXia: Motion commands

  • CAM ( START_POINT, END_POINT, K, DISTANCE)

    START_POINT END_POINT The position profile is stored in TABLE variables (like it was an array), those parameters define the first and last point of the profile in the TABLE.K Scaling factor. As the profile works in counts, you can use this factor to work in your desired units or to scale your movement.DISTANCE Defines the time to execute the CAM together with SPEED: TIME=DISTANCE/SPEED

    Slave Position

    TIME

    Table N. Table Value0 01 252 1003 225 97 987598 997599 10000

    100 10000

    Programming TrajeXia: Motion commands

  • CAMBOX ( START_POINT,END_POINT,K,DISTANCE,MASTER,...)START_POINT END_POINT The position profile is stored in TABLE variables, those parameters define the first and last point of the profile in the TABLE.K Scaling factor. As the profile works in counts, you can use this factor to work in your desired units or to scale your movement.DISTANCE Defines the master incremental position to execute the position profile.MASTER Defines the master axis. Table N. Table Value

    0 01 252 1003 225 97 987598 997599 10000

    100 10000

    Slave Position

    DISTANCE Master Position

    Programming TrajeXia: Motion commands

  • CAMBOX ( START_POINT,END_POINT,K,DISTANCE,MASTER, ,)CAMBOXCAMBOX ( ( START_POINT,END_POINT,K,DISTANCE,MASTER,START_POINT,END_POINT,K,DISTANCE,MASTER, ))

    and Those optional parameters have the same options and meaning that the equivalent ones in MOVELINK command. andand Those optional parameters have the same options Those optional parameters have the same options and meaning that the equivalent onesand meaning that the equivalent ones in MOVELINK in MOVELINK commandcommand..

    EXAMPLE:EXAMPLE:

    FOR a=0 to 360 STEP 1TABLE(a,500*SIN(a*2*PI/360))

    NEXT a.....BASE(0)CAMBOX(0,360,1,1000,1,2,400)

    The programmed profile is a complete (360) SINUS.The profile will be performed by axis 0 (slave), the profile will start when axis 1 (master) will reach position 400 and will last for 1000 master units.

    The programmed profile isThe programmed profile is a complete (360a complete (360) SINUS.) SINUS.The profile willThe profile will be be performedperformed by by axisaxis 0 (0 (slaveslave), ), the profile will start when the profile will start when axisaxis 1 (master) 1 (master) will reach positionwill reach position 400 400 and will last forand will last for 1000 master 1000 master unitsunits. .

    Slave Position

    Master Position

    500

    400

    1400

    Programming TrajeXia: Motion commands

  • The hardware registration input allows to store the axis position exactly in the moment that an event occurs. This even can be:Rising or lowering edge of a registration input (fast input).Encoder Z marker occurence

    The key point of this facility is that the position is captured in real time (not depending of the servo loop time or any other delay) and processed later.

    Registration Input

    Programming TrajeXia: Motion commands

  • This instruction is the trigger for the registration input. Defines which is the event that will be used to latch the position and prepares the latch for the capture.

    In a mechatrolink axis the registration is taken from a fast input in the servodrive. In a Flex-Axes axis, we have two registration inputs per axis.

    More details in the next section of this presentation.

    REGIST(x)REGIST(x) Hardware registration modeHardware registration mode

    Programming TrajeXia: Motion commands

  • GLOBAL VARIABLES

    - VR Memory area is 1024 elements size (static memory)

    -TABLE Memory area is up to 64000 elements size (dynamic memory, one TABLE variable exists only from the moment it is used).

    Eg. >>TABLE(2450,27) Allocate in memory TABLE(0) to TABLE(2450)

    Programming TrajeXia: Variables

  • VARIABLE DATA FORMAT

    There are two data formats in TrajeXia

    - Position data (MPOS, DPOS, ) is 32 bit signed integer

    - The rest of the data is 32 bit floating point format (24 bit mantissa & 8 bit exponent)

    Precaution should be taken with the resolution of the mathematical operation and the conversion to 32 bit integer!!!

    Programming TrajeXia: Variables

  • VR Memory

    - Used as global variables in programs.

    - Used as Input/output registers in Profibus and DeviceNet communication.

    - Used as communication registers with FINS communication.

    - Used for data transfer in some mechatrolink axes command (like reading parameter.

    - The value is kept at power-off by the battery. It can be saved in EEPROM on request.

    Programming TrajeXia: Variables

  • Table Memory

    - Used as global variables in programs.

    - Used as communication registers with FINS communication.

    - Used as profile data in CAM and CAMBOX .

    - Used as data storage in the data trace (oscilloscope)

    - The value is kept at power-off by the battery. It can be saved in EEPROM on request.

    Programming TrajeXia: Variables

  • ASSIGNING NAMES TO VR VARIABLESIt is possible to assign names to VR variables and to use those names in all the programs. This makes the project much more readable.

    GLOBAL name, VR_number

    Eg.: you execute next command in one program (it is recommended to do it in the STARTUP program just after power up)

    GLOBAL product_length,24

    From now on you can use the name product_length instead of VR(24) in any other program in your project (not valid for the terminal window).

    The use of VR(24) is still valid.

    Programming TrajeXia: Variables

  • ASSIGNING NAMES TO CONSTANT VALUESIt is possible to assign names to constant values and to use those names in all the programs. This makes the project much more readable.

    CONSTANT name, Value

    Eg.: you execute next command in one program (it is recommended to do it in the STARTUP program just after power up)

    CONSTANT end_position,2000

    From now on you can use the name end_position instead of 2000 in any other program in your project (not valid for the terminal window).

    Programming TrajeXia: Variables

    Note: when you assign CONSTANT and GLOBAL in a program, no other program can be running.

  • Local Variables

    A local variable is only existing in a particular program. It is not necessary to declare a global variable in TrajeXia, just using it for the first time allocates this variable. The variables can have any name but only the first 16 characters are significant. The variable do not have a definite value so, it is wise to initialize it to a known value

    Myvariable=0

    Programming TrajeXia: Variables

  • Our recommendation is to structure your project in the next way:

    Programming TrajeXia: Good programming practices

    STARTUP SHELL

    APPLICATIONPROGRAM 1

    APPLICATIONPROGRAM 2

    APPLICATIONPROGRAM n

    Proper Initialization of

    the system.

    Monitoring the integrity of the

    system.

    START/STOP/ RESET the application

  • STARTUP PROGRAM The STARTUP program is a BASIC program automatically generated by the TrajeXia tool. Its mission is to generate a program that checks at startup than the detected configuration is the right one and to initialise the axes with the right settings:

    Programming TrajeXia: Good programming practices

  • STARTUP PROGRAM In addition, we recommend that you set here the necessary intitialization of your particular system like:- Axes parameter- Servodrive parameters- GLOBAL/CONSTANT definition- Variable initialization

    Programming TrajeXia: Good programming practices

    At the end of the STARTUP program you have to start the SHELL program.You have to set the STARTUP as the only program that runs at power-on.

  • SHELL PROGRAM The Shell program is one program that takes care of the integrity of the system, that is:- Stop all programs and movements at power-up- Run/stop the suitable application programs properly- Monitoring the system integrity (errors and alarms) and stopping the programs and movements in case of alarm.- Ensuring a proper reset after correcting the cause of the alarm.- Report the necessary diagnostics.

    Programming TrajeXia: Good programming practices

    The Shell program must be running in a low priority task.The Shell program must not run any axis directly.

  • SHELL PROGRAM FLOWCHART

    Programming TrajeXia: Good programming practices

    Stop Application programs and movements.

    Yes

    N o

    Start Application programs

    Alarm?

    Start?

    N o

    Yes

    Start_application

    Alarm or Stop?

    N o

    Yes

    Main_loop

    Alarm?

    Store status for diagnostics

    Stop Application programs and movements.

    Yes

    N o

    Alarm?

    Reset Sequence

    Reset?

    Flowchart for the Shell program

    VR(0)bit0

    VR(0)bit1

    VR(0)bit2

    N o

    Yes

  • CONTENTS

    TrajeXia OverviewHardware and general specification TrajeXia ToolsTrajexia ArchitectureProgramming TrajeXiaHow I do with TrajeXia?CommunicationTrajeXia success historiesApplication discussion

  • CONTENTS: How I do with TrajeXia?

    -Axis configuration, initialization and tuning-Axes handling-Fault handling-Unit setting according to your application-Homing-Registration-Inverter handling-Using inverter in position control

  • How I do with TrajeXia?: Ethernet configuration

    ETHERNET(Read/write,Slot,function,)

    Read=0 Write=1

    Slot=-1 Means the TJ1-MC16 ethernet (only this option is valid)

    Function= 0 IP address

    2 Subnet mask

    3 MAC address

    8 Gateway IP

    is the new IP address

  • ETHERNET COMMAND EXAMPLESETHERNET COMMAND EXAMPLES

    ETHERNET(0,-1,0)

    Display TJ1-MC16 IP address

    ETHERNET(1,-1,2,255,255,240,0)

    Set 255.255.240.0 as new subnet mask

    Note: it is necessary to power cycle for those commands have effect.

    How I do with TrajeXia?: Ethernet configuration

  • MECHATROLINK() COMMAND

    The MECHATROLINK command has been designed to handle with the Mechatrolink master unit and its slaves.

    Most of the Mechatrolink commands are handled internally by the system so you do not have to take care.

    MECHATROLINK(,,[,])

    How I do with TrajeXia?: Axis configuration.

  • MECHATROLINK(,0)

    The selected unit performs an autodetection of the Mechatrolink nodes connected.

    This command is executed automatically after a power on or a CPU reset.

    This command prints in the terminal the detected devices.

    The detected servos are allocated in the corresponding axis number and the corresponding axis parameter set to default.

    How I do with TrajeXia?: Axis configuration.

    NOTE: That this command does not initialize the FLEX-AXES or other Mechatrolink networks.

  • How I do with TrajeXia?: Axis initializationAt power On, CPU Reset or MECHATROLINK(unit,0) (for Mechatrolink axes), the axis parameter return to its initial value.

    If this default value is not the desired one (and for some parameter normally is not), you have to change them by program.

    Usually the STARTUP program is the right place for this.

  • To read a servodrive parameter. In most cases Size is 2 bytes. The read value is stored in VR_num

    DRIVE_READ ($Param_num, Size(bytes), VR_num)

    DRIVE_WRITE($Param_num,Size(bytes),Value,[In_Eprom])To write a servodrive parameter.

    In_Eprom =0 or not used means in RAM, =1 means in EPROM

    How I do with TrajeXia?: Axis initialization

    The Mechatrolink servodrive and inverter do not change its parameter automatically because they are connected to TrajeXia.

    So, the necessary parameter must be changed by program. Again, the STARTUP program is the right place for this.

    Those commands returns 0 if command failed or -1 if command is succesful.

  • How I do with TrajeXia?: Axis initialization

    Code example for checking if one servodrive parameter is OK and changing it if necessary.

    Reading/writing parameter takes several cycles and the program execution pauses until the command is executed so, do not mix with time crytical operation.

  • How I do with TrajeXia?: Axis tuning

    It is necessary to adjust the gains in TrajeXia and/or the servodrive depending on:

    Servodrive model

    Axis Type.

    We develop different documents guiding about how to tune the system

    - Gain setting in TrajeXia (valid for Mechatrolink axes)

    - Tuning the W servodrive (generic for servo)

    - Tuning the MC402 (valid concept for analogue Flex-Axes.

  • When making positioning when the servodrive is ATYPE=41 (speed mode), the position gains are set in the TrajeXia CPU. The values in those parameter are very high due to the big value of the DAC (40 000 000H means Max. Speed)

    Note that the default value is ok for 13 bit encoders but too high for 17bit encoder or more or for linear motor.

    Nevertheless, for position control you expect better dynamics with ATYPE=40. WE STRONGLY RECOMMEND THIS MODE FOR POSITION CONTROL

    P_GAINVFF_GAIN

    How I do with TrajeXia?: Tuning

  • To disable one individual servodrive. This parameter makes a logical AND with the WDOG. Default value is ON

    AXIS_ENABLE AXIS(n)= ON/OFF

    How I do with TrajeXia?: Axes handling

    WDOG AXIS_ENABLE DRIVE STATEOFF OFF BBOFF ON BBON OFF BBON ON RUN

    WDOG = ON/OFFGlobal RUN. Set all the axes to RUN at the same time.

  • How I do with TrajeXia?: Axes handling

    REMEMBER:

    To start moving one axis you need.WDOG=ONAXIS_ENABLE=ON

    And, if you want to control position, in addition:SERVO=ON

  • When one axis has one alarm (FE, for example), WDOG=OFF, SERVO=OFF and the movements are cancelled in all axes.

    DISABLE_GROUP allows to have this behaviour for group of axes. In one axis of one group has one alarm, the axes of this group are disabled but the other continues normally)

    DISABLE_GROUP(-1) breaks all grouping

    This is very useful for big machines with different functional parts.

    DISABLE_GROUP(ax1, ax2, .. , axn)

    How I do with TrajeXia?: Axes handling

  • Every mechatrolink cycle you receive two monitors from the servodrive. One is fixed to the feedback position and the other can be set and read with those commands

    In DRIVE_CONTROL you select the data to be monitored in DRIVE_MONITOR. This value can be traced in the oscilloscope function.

    DRIVE_CONTROL AXIS(n) / DRIVE_MONITOR AXIS(n)

    How I do with TrajeXia?: Axes handling

  • The next monitors can be selected:CODE DESCRIPTION 0 Position reference in the reference coordinate system 1 Position reference in mechanical coordinate system 2 Following error (this is the real FE when ATYPE=40 is used) 3 Feedback position in the mechanical coordinate system 4 Latch position in the mechanical coordinate system 5 Position reference in the reference coordinate (before filtering) 6 Target position in the reference coordinate system 7 Not used 8 Feedback speed (With Atype=41 Units=Max Speed/40000000H, with other

    Atype Units= reference units/s 9 Command speed (units same than in Feedback Speed) 10 Target speed (units same than in Feedback Speed) 11 Torque (Force) reference (With Atype=42 Units=Max Torque/40000000H,

    with other Atype Units= % over nominal Torque 12 Not used 13 Not used 14 Monitor selected with Pn813.0 15 Monitor selected with Pn813.1

    How I do with TrajeXia?: Axes handling

    For Sigma-II (W-Series) servodrive

  • BIT n DESCRIPTION0 P_OT1 N_OT2 DEC Signal (selected with Pn511.0)3 Encoder Phase A4 Encoder Phase B5 Encoder Phase C6 EXT1 Signal (selected with Pn511.1)7 EXT2 Signal (selected with Pn511.2)8 EXT3 Signal (selected with Pn511.3)9 BRK Brake output10 Reserved11 Reserved12 IO12 (CN1 input signal selected in Pn81E.0)13 IO13 (CN1 input signal selected in Pn81E.1)14 IO14 (CN1 input signal selected in Pn81E.2)15 IO15 (CN1 input signal selected inPn81E.3)

    DRIVE_INPUTS AXIS(n)

    How I do with TrajeXia?: Axes handling

    For Sigma-II (W-Series) servodrive

  • DRIVE_INPUTS AXIS(n)

    The recommendation to monitor all input in this word is to set: Pn81E=4321 & Pn511=654x

    Pn511=654x

    Pn81E=4321 CN1-40 DRIVE_INPUTS bit 12

    CN1-41 DRIVE_INPUTS bit 13

    CN1-42 DRIVE_INPUTS bit 14

    CN1-43 DRIVE_INPUTS bit 15CN1-44 DRIVE_INPUTS bit 06

    CN1-45 DRIVE_INPUTS bit 07

    CN1-46 DRIVE_INPUTS bit 08

    How I do with TrajeXia?: Axes handling

    For Sigma-II (W-Series) servodrive

  • Pn511 SETTINGS

    Pn511 assigns Physical inputs to the logical signals EXT1, EXT2 & EXT3, used in the registration. Only the fast inputs in CN1-44,-45 & -46 can be used.

    Pn511.0 DEC (Not used by TrajeXia)

    Pn511.1 EXT1

    Pn511.2 EXT2

    Pn511.3 EXT3

    See the command description for details.

    How I do with TrajeXia?: Axes handling

    For Sigma-II (W-Series) servodrive

  • Pn81E SETTINGS

    Pn81E assigns Physical inputs to the logical signals in bits 12 to 15 of the DRIVE_INPUTS, any input can be assigned

    Pn81E.0Bit 12 in DRIVE_INPUTS

    Pn81E.1 Bit 13 in DRIVE_INPUTS

    Pn81E.2 Bit 14 in DRIVE_INPUTS

    Pn81E.3 Bit 15 in DRIVE_INPUTS

    See the command description for details.

    For Sigma-II (W-Series) servodrive

    How I do with TrajeXia?: Axes handling

  • DRIVE_STATUS AXIS(n)BIT n DESCRIPTION 0 In Alarm 1 Warning active 2 Command ready 3 Servo On 4 Main power On 5 Machine lock (always 0) 6 In Zero point 7 Positioning Completed (position mode) / Speed coincidence (speed mode) 8 Output completion (position mode) / Zero speed (speed mode) 9 Torque limit 10 Latch completed 11 Position proximity (position mode) / Speed limit (torque mode) 12 Software positive limit 13 Software negative limit 14 Reserved 15 Reserved

    How I do with TrajeXia?: Axes handling

    For Sigma-II (W-Series) servodrive

  • MAPING MECHATROLINK SERVO INPUTS (Sigma-II)Following Inputs can be mapped if you need it in Trajexia:FWD_IN ( Servo Forward Overtravel Input)REV_IN ( Servo Reverse Overtravel Input)DAT_IN ( Servo External Home Switch Input)Feed_Hold (Servo Feed_Hold Signal Input).In the Axis Properties windows, select: 28,29,30 and 31 for each case. Those virtual inputs (28 to 31) match with the bits 12 to 15 in the DRIVE_INPUTS AXIS(n) respectivelly

    1: Monitor SI0 (CN1-40) input terminal2: Monitor SI1 (CN1-41) input terminal3: Monitor SI2 (CN1-42) input terminal4: Monitor SI3 (CN1-43) input terminal

    FW_INREV_INDAT_INFH_IN

    Pn81E.0 IO12 mappingPn81E.1 IO13 mappingPn81E.2 IO14 mappingPn81E.3 IO15 mapping

    Fixed relation

    28293031

    Config. in Servo Config in TJ1

    How I do with TrajeXia?: Axes handling

  • DAC AXIS(n) / S_REF AXIS(n)DAC AXIS(n) / S_REF AXIS(n)

    Used to set the speed reference when we are in speed mode (ATYPE=41). The range is 40000000h = Max. Speed

    T_REF AXIS(n)T_REF AXIS(n)

    Used to set the torque reference when we are in torque mode (ATYPE=42). The range is 40000000h = Max. Torque

    S_REF

    SERVO

    Speed_Command

    T_REF

    SERVO

    Torque_Command

    How I do with TrajeXia?: Axes handling

  • AXIS_STATUS AXIS(n)

    It is a bitwise word that shows the status of the axis

    How I do with TrajeXia?: Fault handling

  • AXIS_STATUS AXIS(n)

    BIT 8= Following error error (E)Is set to 1 if there is any network error in a mechatrolink axisBIT 2=Network drive error (A)Is set to 1 if there is any network error in a mechatrolink axisBIT3=Remote drive error (M)Is set to 1 if there is any error in a mechatrolink axis (overspeed-A.51, drive disconnected,

    In this situation, there is an Axis error in the CPU, then:- The movement is cancelled- Servo is set to OFF- WDOG is set to OFF

    In ALL the axes belonging to the same group

    How I do with TrajeXia?: Fault handling

  • ERRORMASK AXIS(n)This word is a masked with the AXISSTATUS word in order to decide which bits generates one axis error. The default value is 268. This selects the bits explained before.

    How I do with TrajeXia?: Fault handling

    MOTION_ERROR

    ERROR_AXIS

    Contains a flag indicating if an axis error occurs

    Contains the axis number that generated the error

    DRIVE_ALARM(VR_number)Returns in VR(VR_number) the Mechatrolink Servodrive alarm code. Returns -1 if the command is executed succesfully and 0 if could not be executed.

  • DRIVE_CLEAR AXIS(n)Reset a Mechatrolink servodrive alarm (M)

    DRIVE_RESET AXIS(n)

    MECHATROLINK(,0)

    DATUM(0)

    Makes a software power off-on in the servodrive. Servodrive must be in bb.

    Resets a network alarm and make a new scan of the mechatrolink (A). Note that the axis parameter are reset to default values.

    Resets an axis alarm (from the TrajeXia point of view)

    How I do with TrajeXia?: Fault handling

  • How I do with TrajeXia?: Unit Setting

    In TrajeXia, the next parameter are used for setting your coordinate system according to your mechanical configuration.

    UNITS AXIS(n)

    REP_DIST AXIS(n)

    REP_OPTION AXIS(n)

    Scaling factor: x User_units x*UNITS Encoder_counts

    Selects the value at wich your position counter overflows.

    =0 the position counter goes from REP_DIST to +REP_DIST=1 the position counter goes from 0 to +REP_DIST

  • With a mechatrolink axis, the Servodrive gear ratio is affecting to the units as follows:

    1Unit command = 1 UNITS * Pn202 / Pn203 for the Sigma-II (WT)1Unit command = 1 UNITS * Pn20E / Pn210 for the Junma and Sigma-

    III (WN)

    So now it is possible to work with Gear ratio with infinite decimals like 1 : 27/3

    Note that factory parameter of Pn202=4!!!

    Note that the encoder resolution seen from Trajexia changes according to Pn202 and Pn203 so, it is not recommended to set values where: Pn202>>Pn203

    How I do with TrajeXia?: Unit setting

  • With a Flexible axis, use ENCODER_RATIO(Num,Den) instead of Pn202 and Pn203

    1Unit command = 1 UNITS * Num / Den

    And you obtain similar results than for the Mechatrolink axes.

    How I do with TrajeXia?: Unit setting

  • When an absolute encoder is used in an axis with a limited running distance, simply set Pn205 (Multiturn limit setting) and REP_DIST to a value higher than the running distance of the motor.

    When the axis is running always in the same direction (like feeders), we have to set the parameter in such a way that the overflow occurs exactly in the same position in the servodrive and in the TrajeXia.

    How I do with TrajeXia?: Unit setting

  • HANDS ON

    SETUP demo Units

    How I do with TrajeXia?: Unit setting

  • DATUM

    For most of the homing sequences you need an external homing switch. The logical approach is to use one input in the servodrive.You can set the virtual inputs 28 to 31 that corresponds with the bits 12 to 15 in the DRIVE_INPUTS AXIS(n) respectivelly

    By inserting value 30 for DAT_IN , CN-42 is selected for DATUM INPUT (Sigma-II)

    How I do with TrajeXia?: Homing

  • REGISTREGIST(signal) AXIS(n)(signal) AXIS(n)

    The registration is done in the servodrive because it must be close to the encoder. There are 3 fast inputs capable to handle the registration (CN1-44, CN1-45 and CN1-46 in the Sigma-II)

    How I do with TrajeXia?: Registration

  • REGISTREGIST(signal) AXIS(n)(signal) AXIS(n)

    Activate the registration with the next inputs (f


Recommended