KEMBAR78
Trajexia Training - My First Application PDF | PDF | Process (Computing) | Control Flow
0% found this document useful (0 votes)
336 views302 pages

Trajexia Training - My First Application PDF

This document provides an overview of the TrajeXia motion control system from Omron. It describes what TrajeXia is, its key concepts of flexibility, its typical system architecture involving Ethernet communication and MECHATROLINK motion bus, and some common applications in packaging machinery. It also lists available documentation and the TrajeXia website for more information.

Uploaded by

jorge1
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
336 views302 pages

Trajexia Training - My First Application PDF

This document provides an overview of the TrajeXia motion control system from Omron. It describes what TrajeXia is, its key concepts of flexibility, its typical system architecture involving Ethernet communication and MECHATROLINK motion bus, and some common applications in packaging machinery. It also lists available documentation and the TrajeXia website for more information.

Uploaded by

jorge1
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 302

TrajeXia Training

Carlos Ruiz, Application engineer

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia 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

TrajeXia Overview: What is TrajeXia


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: Key concept. Freedom


FREEDOM 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. Freedom


FREEDOM 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. Freedom


FREEDOM TO CONTROL: Trajexia allows perfect control of up to 16 axes with independent or synchronized control of the Position Speed Torque

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. Freedom


FREEDOM 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. Freedom


FREEDOM 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. Freedom


FREEDOM TO CHOOSE:

CPU Power supply

Profibus Flexible Slave Axis Mechatrolink DeviceNet Bus Master Slave Terminator

TrajeXia Overview: Key concept. Freedom


FREEDOM 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. Freedom


FREEDOM 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. Freedom


FREEDOM 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 Architecture


A system based in TrajeXia may contain the next elements
ETHERNET PLC HMI Remote acces for programming and monitoring Supervisory system (SCADA or similar)

TrajeXia

ANALOGUE INTERFACE Third party drives Other factory PLC DEVICE-NET PROFIBUS

Servodrives MECHATROLINK INTERFACE Inverter Digital & Analogue IO modules

TrajeXia Overview: TrajeXia System Architecture


The system is Open but with Omron Smart Platform integrated technology (FINS, Routing, Software,) you get the maximum performance.
One Motion Core One software One connection One source, many targets

EtherNet EtherNet

MECHATROLINK MECHATROLINK

Exclusive NEW High Performance MOTION BUS (It is not PC21 based).
Slice Slice I/Os I/Os

TrajeXia Overview: TrajeXia System Architecture


Smart Platform integration:

EtherNet EtherNet

One Motion Core One software One connection One source, many targets

Programming via Ethernet CX-Supervisor supports TrajeXia. Software Tool integrated in CX-One. TrajeXia can be FINS client to communicate with a PLC.

HMI Supports TrajeXia (System version 6.71 or newer)

There exists Function Blocks to communicate with TrajeXia.

TrajeXia Overview: TrajeXia System Architecture


Smart Platform integration.

EtherNet EtherNet

One Motion Core One software One connection One source, many targets

FINS Routing via MECHATROLINK.

MECHATROLINK MECHATROLINK

CX-Drive is embedded in TrajeXia Tools. Full access to the Mechatrolink drives from Ethernet.

Slice Slice I/Os I/Os

TrajeXia Overview: Typical application


TrajeXia 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 application


The 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 Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia 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


MODEL CJ1W-PA202 CJ1W-PA205R CJ1W-PD022 CJ1W-PD025 SUPPLY 85-264 Vac 85-264 Vac 24 Vdc 24 Vdc POWER 14 W 25 W 16.6 W 25 W

Omrons standard CJ1 family Power supply can be used. We recommend to use CJ1W-PA202 (because it is enough for nearly all configuration).
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
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.

TJ1-MC04
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


Those are the general specification of the CPU UNITS

And TJ1-MC04

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

TrajeXia Hardware: CPU Unit


I.P. scroll Indicator

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.

RJ45 Ethernet connector with embedded LEDs for diagnostics.

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

Use Trajexia tools to program your Trajexia device.

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.

TrajeXia Hardware: CPU Unit


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 STATUS INFORMATION OFF Drive disabled Run Drive enabled Err A<Axis Number> Axis error Err U<Unit Number > Unit error Err C<Error Number > Config. status

Display Mode/Text Notes

When you connect the Ethernet cable, the current IP Address of the TJ1MC16 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.

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.

TrajeXia Hardware: CPU Unit


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

Outputs are PNP

TrajeXia Hardware: CPU Unit

Serial Motion BUS

PA202

TJ1-MC__

TJ1-TER

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: Axes Module: TJ1-ML__


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

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__

TrajeXia Hardware: Axes Module: TJ1-ML__


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**

*Only for Sigma-III (W-Mechatrolink) drives **TJ1-ML04 supports only 4 nodes at any cycle time

TrajeXia Hardware: Axes Module: TJ1-ML__


LED indicator -RUN: Green lit means Unit OK -BF (Bus Failure): Red lit means Mechatrolink communication error. 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-FL02


The 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-FL02


This 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


LED indicators Encoder & pulse connector for both axes. Analogue output and auxiliary digital IOs for both axes.

Flexible Axis parts

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.

TrajeXia Hardware: Axes Module: TJ1-FL02

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

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 bus


SHORT: 32 bytes/node QUICK: 10Mb Bus. With this we get: 4 nodes@0.5ms, 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 bus


HARDWARE 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

TrajeXia Hardware: Mechatrolink nodes


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 INVERTER I/0s

Node n + 40h Node n + 20h Node n + 60h

TrajeXia Hardware: Mechatrolink nodes. Servodrive


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 ADDRESS AXIS NUMBER SERVO MODEL SERVO FIRMWARE

AXIS_NUMBER=node_number-1

TrajeXia Hardware: Mechatrolink nodes. Servodrive


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): 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.

TrajeXia Hardware: Mechatrolink nodes. Servodrive


The next information is sent cyclically every Mechatrolink cycle From TRAJEXIA Position command Speed command* or Torque command* Command information From SERVO Position feedback Selectable monitor Status word IO status word

*Junma-ML only accepts Position commands.

TrajeXia Hardware: Mechatrolink nodes. Servodrive


The next information is not cyclical. The response take some cycles From TRAJEXIA Run/BB command Reset alarms Read/write parameter From SERVO Response to those noncyclic commands.

TrajeXia Hardware: Mechatrolink nodes. Inverter


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.
STATION ADDRESS

TrajeXia Hardware: Mechatrolink nodes. Inverter


The next information is sent cyclically every Mechatrolink cycle From TRAJEXIA Command information Speed command or Torque command From SERVO Status information Speed feedback or Torque feedback

TrajeXia Hardware: Mechatrolink nodes. Inverter


The next information is sent cyclically every Mechatrolink cycle From TRAJEXIA Read/write parameter Reset alarm From SERVO Response to those commands.

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

TrajeXia Hardware: Mechatrolink nodes. IOs


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 ADDRESS I/O MODEL I/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

16 Virtual I/Os

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

8 Outputs

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 embedded I/Os

TrajeXia Hardware: TJ1-PRT


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.

Data Data

Profibus connector

Node Selection

TrajeXia Hardware: TJ1-PRT


Tens Units

Node Selection

Profibus connector

TrajeXia Hardware: TJ1-PRT

LED Status

TrajeXia Hardware: TJ1-DRT


Device-Net slave Unit
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

Node Selection Tens Units DeviceNet connector

TrajeXia Hardware: TJ1-DRT


SPECIFICATION LED Status

TrajeXia Hardware: Connection Rules

-1

Unit Number

PA202 TJ1-MC__ First unit from the left must be the PSU Second 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).

TrajeXia Hardware: Connection Rules

-1

PA202 TJ1-MC16

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

TrajeXia Hardware: Connection Rules


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)
ATYPE Mechatrolink Master Module Flexible Axis Module Profibus Module DeviceNet Module COMMSTYPE number 31 32 33 34 35 Name TJ1-ML16 For the future TJ1-FL02 TJ1-PRT TJ1-DRT

TrajeXia Hardware: Connection Rules


MECHATROLINK-II cycle depends on the number of nodes/network: 0.5 miliseconds 4 nodes 1 2 milisecond 8 nodes 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

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.

TrajeXia Hardware: Connection Rules


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

Example considering only mechatrolink axes (no Flexible axes and no non-axis mechatrolink nodes).
Axis Cycle 1 2 0.5 ms 1* 1* 1 ms 1 1 2 ms 1 1 TJ1-ML masters required for axes 3 4 5 6 7 8 9 10 11 12 13 1* 1* 2* 2* 2* 2* - - - - 1 1 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1

14 2 1

15 2 1

16 2 1

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

TrajeXia Hardware: System autoconfiguration


At power-up, the system check all the hardware attached and make an autoconfiguration in the next order: 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

TrajeXia Hardware: System autoconfiguration


The axes are allocated in the next sequence
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.

TrajeXia Hardware: System autoconfiguration


DIGITAL IO
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 Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories

CONTENTS: TrajeXia Tools


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

Trajexia Tools
Trajexia 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 Tools
TrajeXia 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 software


HANDS 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.

3 1

Trajexia Tools: Software Tool overview.


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

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories Application discussion

CONTENTS: Trajexia Architecture


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

Trajexia Architecture: Processing architecture


TRAJEXIA GENERAL BLOCK DIAGRAM TJ1-MC__
Program Buffer Buffer & profile gererator AXIS CONTROL LOOP AXIS TYPE Position Loop ML_POSITION ML_SPEED ML_TORQUE

Motion command
BASIC PROGRAMS
Task 1 Task 2 Task 3 Task 14 Comms

ENC

Servo drive.

TJ1-ML__
ML command

Position Loop Speed Loop Torque Loop

MOTOR

MC I/O

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.

Trajexia Architecture: Processing architecture

CPU Motion Loop: 0.5/1/2 ms

MECHATROLINK-II 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.

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 controller When 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 timesharing strategy. In TrajeXia, every action you do corresponds with one program command.

Trajexia Architecture: Processing architecture


SERVO_PERIOD=500
Task Interrupts In Detail: 250 s

-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.

Loop time time = =1 1 ms ms Loop

Trajexia Architecture: Processing architecture


SERVO_PERIOD=1000
Task Interrupts In Detail: 250 s

-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.

Loop time time = =1 1 ms ms Loop

Trajexia Architecture: Processing architecture


SERVO_PERIOD=2000
Task Interrupts In Detail: 500 s

-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.

Loop time time = =2 2 ms ms Loop

Trajexia Architecture: Task and Multitasking

Each Process (running Program) is executed in a CPU Task. TrajeXias processor cycle time consists of 1 ms with four interruptions each 250 microseconds. Processes Motion loops are updated according SERVO_PERIOD
Profile & Loops each SERVO_PERIOD

1ms
Low TASK High TASK #1 High TASK #2 COMS

Trajexia Architecture: Task and Multitasking


Low Priority Processes are executed in Low TASK 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

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

Low TASK

High TASK #1

High TASK #2

COMS

Example:
14

Trajexia Architecture: Task and Multitasking


13 14 13 14 13 14 13

14

14

14

14

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.

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: Block diagram

TJ1-ML16
Program Buffer Buffer & profile gererator

AXIS CONTROL LOOP AXIS TYPE Position Loop ML_POSITION ML_SPEED ML_TORQUE

Motion command
BASIC PROGRAMS
Task 1 Task 2 Task 3 Task 14 Comms

ENC

Servo drive.

TJ1-ML16
ML command

Position Loop Speed Loop Torque Loop

MOTOR

MC I/O

Trajexia Architecture: Axes


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)

AXIS PARAMETER
Position loop +

OFF Speed loop Torque loop

Profile generator
Demanded position Measured position

Following error Speed command

ON

Trajexia Architecture: Axes


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.
CYCLE
BASIC PROGRAM ....... ....... MOVE(1000) ....... .......

DPOS 0 25 100 225 9875 9975 10000 10000

Profile generator

DEMAND POSITION

0 1 2 3 97 98 99 100

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

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
0.40.41.42.43.44.45.46.47.48.-

DESCRIPTION
Virtual axis Mechatrolink position Mechatrolink speed Mechatrolink Torque Flex axis Step-Direction Pulses Output Flex axis servo (Analogue speed out, encoder input) Flex axis Line Driver encoder output Flex axis SSI encoder Flex axis EnDat encoder 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

MEASURED POSITION

DEMAND POSITION

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).

Trajexia Architecture: Axes


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 1 ATYPE=1

MEASURED POSITION

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.
TJ1-MC__
Position loop +

TJ1-FL02

+-10v

Drive

Profile generator

M
Following error Speed command

Demanded position Measured position

E
Encoder Signal

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

TJ1-FL02

TJ1-MC__

MEASURED POSITION

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

Trajexia Architecture: Axes


ATYPE=41 Mechatrolink speed TJ1-MC__
SERVO
Position loop +

S_REF
SERVO

TJ1-ML__

SERVO

Profile generator
Demanded position Measured position Following error Speed command

ML-II Speed command

Speed Loop Torque Loop

SERVO

SERVO_AXIS (n) = ON/OFF

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).
S_REF
SERVO

Speed_Command

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

Trajexia Architecture: Axes


ATYPE=40 Mechatrolink position TJ1-MC16
NOP

TJ1-ML16

SERVO

SERVO

Profile generator

SERVO

ML-II Position command

Position Loop Speed Loop Torque Loop

Position loop

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

Following error Speed command

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 TJ1-MC16
SERVO
+

T_REF

TJ1-ML16

SERVO

Position loop

Profile generator
Demanded position Measured position Following error Torque command

SERVO

ML-II Torque command

Torque Loop

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

WDOG OFF ON

SERVO -0 1 0 1 0 1 --

ATYPE

CONTROL MODE Servo in BB Position lock Recommended for Positioning Recommended for Speed control Possible for Positioning Recommended for Torque control Not recommended

ML-POSITION ML-POSITION ML-SPEED ML-SPEED ML-TORQUE ML-TORQUE

Trajexia Architecture: Axes

HANDS ON Lets check the different ATYPEs

Trajexia Architecture: Buffers


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

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

AXIS BUFFER (two per axis) CONNECT(1,1) AXIS(2) PROGRAM BUFFER (one per task)

NTYPE MTYPE

Waiting to be executed MOTION COMMAND

Currently executed MOTION COMMAND

DEMAND POSITION

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 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7
Program Buffer Program Buffer Program Buffer Program Buffer Program Program Program Buffer Buffer Buffer

WAITING

EXECUTING MTYPE MTYPE MTYPE MTYPE

Axis 0 Axis 1 Axis 2 Axis 3

NTYPE NTYPE NTYPE NTYPE

Axis 15
Task 14
Program Buffer

NTYPE

MTYPE

Each Task (14) has its own Program Buffer

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:
PROFILE GENERATOR

BASIC PROGRAM
...
MOVE (1000) IF IN(3) THEN MOVELINK (100,20,30,1) OP(3,0N) ENDIF MOVEABS(home) MOVEABS(end)

Profile generator

1 2 3

MTYPE: MOVE(1000)
When MOVE(100) is finished

NTYPE: MOVELINK ()

(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


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

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

MOVE -500

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

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

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

MOVE -500

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

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

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

MOVE -500

Trajexia Architecture: Buffers


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

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

MOVE -500

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

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

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

DATUM (3) MOVE -500

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

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

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

DATUM (3) MOVE 200 MOVE -500

MOVE 1000

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

Trajexia Architecture: Buffers

HANDS ON Lets check the buffer behaviour

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia 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

Programming TrajeXia: Loops and sequence


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

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.

Programming TrajeXia: Loops and sequence


REPEAT/UNTIL
REPEAT ... Do something ... OP(8,ON) ... UNTIL IN(8)=1

1) UNTIL checks the condition at the end of the REPEAT/UNTIL block. Note that the condition is reversed comparing with the WHILE/WEND loop 2) 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.

Programming TrajeXia: Loops and sequence


FOR/STEP/NEXT

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

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 IN(8) = 1 THEN OP(8,1) ... ELSE OP(8,0) ... ENDIF IF IN(8) = 1 THEN OP(8,1)

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 necessary

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: bla bla bla 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
ON variable GOSUB one,two,other one: .... RETURN two: .... RETURN other: .... RETURN

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.

Programming TrajeXia: Loops and sequence

WAIT UNTIL condition

Stops the program execution until the condition is TRUE. 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).

WAIT IDLE/LOADED

WA(1000)

Programming TrajeXia: Motion commands


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)

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.

SERVO=ON

DEFPOS(value)

Programming TrajeXia: Motion commands

P_GAIN, UNITS, Etc...

Set the Axis dynamics and behaviour.

MTYPE, MPOS, Etc...

Monitor the Axis status, position and others.

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:
Pos=50 Speed Pos=100 Pos=150

MOVE(100)
Incremental movement using trapezoidal speed profile . profile.
Time

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

Speed

Time

Programming TrajeXia: Motion commands


Pos=50 Pos=100 Pos=150

BASIC COMMANDS: MOVEMODIFY(150)


Modifies the end position for a MOVE or MOVEABS movement currently executing.

Speed

Time

FORWARD/REVERSE
Executes a continuous and neverending movement in the forward or reverse direction.

Speed

Time

CANCEL
Cancel the currently executed movement following the ramps. The next movement in the buffer is loaded.
Speed

CANCEL

Time

Programming TrajeXia: Motion commands


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

It is not an origin search instruction . Reset an axis instruction. error.


Movement Sequence

DATUM(1) DATUM(2) DATUM(3) DATUM(4) DATUM(5) DATUM(6)

Forward + Z phase Reverse + Z phase Forward + Origin =OFF + Reverse + Origin =ON Origin=OFF Origin=ON Reverse + Origin =OFF + Forward + Origin =ON Origin=OFF Origin=ON Forward + Origin =OFF +Reverse + Z phase Origin=OFF Reverse + Origin =OFF + Forward + Z phase Origin=OFF

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
DPOS=0 After this the axis moves during deceleration

Example for DATUM(3)

Speed

Datum sequence is finished

Time Switch

Time

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 MOVELINK CAM CAMBOX ADDAX Synchronisation in position with a master axis. Synchronisation instruction that defines areas for acceleration, following and deceleration. Synchronisation instruction that follows an arbitrary profile being the master a timebase. Synchronisation instruction that follows an arbitrary profile being the master another axis. Superimpose to one axis the movement of another axis.

Programming TrajeXia: Motion commands


Slave position

CONNECT ( RATIO, DRIVING_AXIS) RATIO is the number of counts of the slave axis per every count in the master axis . axis. MASTER_AXIS is the number to define the master axis . axis.

2:1

1:1

1:2

Master Position

1:1

1:2

2:1

CONNECT(1,1)

CONNECT(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.

Programming TrajeXia: Motion commands


MOVELINK MOVELINK ( (DIST DIST ,LINK_DIST, ,LINK_DIST, ACC, ACC, DEC, DEC, LINK_AXIS, 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.
Slave Speed

DIST
Master Speed

Time

ACC LINK_DIST

DEC

Time

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

Programming TrajeXia: Motion commands


MOVELINK (DIST ,LINK_DIST, ACC, DEC, LINK_AXIS, <mode>,<distance>)

The next optional parameters give different possibilities to start this movement giving more power to the function.
Slave Speed Master 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 <distance> 4 Movelink is repeated continuously and bidirectionally 5 Is the combination of 1&4 6 Is the combination of 2&4

Time MARK Slave Speed Master Speed distance Slave Speed Time Master Speed Time Time

Time

Programming TrajeXia: Motion commands


EXAMPLE:
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) = =
Slave Speed Master Speed

10 20

Time

Time

Slave Speed Master Speed Slave Speed Master Speed Slave Speed

100
Time

100 20 40 130

Time

Time

Time

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

Time

20

160

40
Time

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 Value 0 0 1 25 2 100 3 225 97 9875 98 9975 99 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
Slave Position

DISTANCE

Master Position

0 1 2 3 97 98 99 100

0 25 100 225 9875 9975 10000 10000

Programming TrajeXia: Motion commands


mode>,<distance>) CAMBOX ( START_POINT,END_POINT,K,DISTANCE,MASTER, < <mode>,<distance>

< mode> and < distance> Those optional parameters have the same options <mode> <distance> and meaning that the equivalent ones in MOVELINK command . command.
Slave Position

EXAMPLE:

FOR a=0 to 360 STEP 1 TABLE(a,500*SIN(a*2*PI/360)) NEXT a ..... BASE(0) CAMBOX(0,360,1,1000,1,2,400)

500 1400 400 Master Position

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

Programming TrajeXia: Motion commands


Registration Input

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.

Programming TrajeXia: Motion commands

REGIST(x)

Hardware registration mode

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.

Programming TrajeXia: Variables


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 communication. registers in Profibus and DeviceNet

- 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 VARIABLES
It 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 VALUES
It 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).

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

Programming TrajeXia: Variables


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: Good programming practices


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

APPLICATION PROGRAM 1

STARTUP

SHELL

APPLICATION PROGRAM 2

Proper Initialization of the system.

Monitoring the integrity of the system. START/STOP/ RESET the application

APPLICATION PROGRAM n

Programming TrajeXia: Good programming practices


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

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.

Programming TrajeXia: Good programming practices


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.

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

Programming TrajeXia: Good programming practices


SHELL PROGRAM FLOWCHART

Flowchart for the Shell program Stop Application programs and movements.

Start_application Alarm?

N o VR(0)bit0 Start?

Yes Start Application programs

Main_loop N o VR(0)bit2 Alarm or Stop?

Yes

Alarm?

Yes Store status for diagnostics N o

Stop Application programs and movements.

Alarm?

N o

Yes VR(0)bit1 Reset? N o

Yes Reset Sequence

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories Application 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,<data>)
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 <data> is the new IP address

How I do with TrajeXia?: Ethernet configuration


ETHERNET 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?: Axis configuration.


MECHATROLINK() COMMAND

MECHATROLINK(<Unit>,<function>,[<data>,])

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.

How I do with TrajeXia?: Axis configuration.


MECHATROLINK(<Unit>,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.

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

How I do with TrajeXia?: Axis initialization


At 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.

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.

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


To read a servodrive parameter. In most cases Size is 2 bytes. The read value is stored in 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 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.

How I do with TrajeXia?: Tuning


P_GAIN VFF_GAIN
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

How I do with TrajeXia?: Axes handling


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

AXIS_ENABLE AXIS(n)= ON/OFF


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

WDOG OFF OFF ON ON

AXIS_ENABLE OFF ON OFF ON

DRIVE STATE BB BB BB RUN

How I do with TrajeXia?: Axes handling


REMEMBER:
To start moving one axis you need. WDOG=ON AXIS_ENABLE=ON And, if you want to control position, in addition: SERVO=ON

How I do with TrajeXia?: Axes handling


DISABLE_GROUP(ax1, ax2, .. , axn)
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.

How I do with TrajeXia?: Axes handling


DRIVE_CONTROL AXIS(n) / DRIVE_MONITOR AXIS(n)
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.

How I do with TrajeXia?: Axes handling


The next monitors can be selected:
CODE 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DESCRIPTION Position reference in the reference coordinate system Position reference in mechanical coordinate system Following error (this is the real FE when ATYPE=40 is used) Feedback position in the mechanical coordinate system Latch position in the mechanical coordinate system Position reference in the reference coordinate (before filtering) Target position in the reference coordinate system Not used Feedback speed (With Atype=41 Units=Max Speed/40000000H, with other Atype Units= reference units/s Command speed (units same than in Feedback Speed) Target speed (units same than in Feedback Speed) Torque (Force) reference (With Atype=42 Units=Max Torque/40000000H, with other Atype Units= % over nominal Torque Not used Not used Monitor selected with Pn813.0 Monitor selected with Pn813.1

For Sigma-II (W-Series) servodrive

How I do with TrajeXia?: Axes handling


DRIVE_INPUTS AXIS(n)
BIT n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DESCRIPTION P_OT N_OT DEC Signal (selected with Pn511.0) Encoder Phase A Encoder Phase B Encoder Phase C EXT1 Signal (selected with Pn511.1) EXT2 Signal (selected with Pn511.2) EXT3 Signal (selected with Pn511.3) BRK Brake output Reserved Reserved IO12 (CN1 input signal selected in Pn81E.0) IO13 (CN1 input signal selected in Pn81E.1) IO14 (CN1 input signal selected in Pn81E.2) IO15 (CN1 input signal selected inPn81E.3)

For Sigma-II (W-Series) servodrive

How I do with TrajeXia?: Axes handling


DRIVE_INPUTS AXIS(n)
The recommendation to monitor all input in this word is to set: Pn81E=4321 & Pn511=654x Pn81E=4321 CN1-40 CN1-41 CN1-42 CN1-43 CN1-44 CN1-45 CN1-46 DRIVE_INPUTS bit 12 DRIVE_INPUTS bit 13 DRIVE_INPUTS bit 14 DRIVE_INPUTS bit 15 DRIVE_INPUTS bit 06 DRIVE_INPUTS bit 07 DRIVE_INPUTS bit 08

Pn511=654x

For Sigma-II (W-Series) servodrive

How I do with TrajeXia?: Axes handling


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 Pn511.1 EXT1 Pn511.2 EXT2 Pn511.3 EXT3 (Not used by TrajeXia)

See the command description for details.

For Sigma-II (W-Series) servodrive

How I do with TrajeXia?: Axes handling


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.0 Bit 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 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 DESCRIPTION In Alarm Warning active Command ready Servo On Main power On Machine lock (always 0) In Zero point Positioning Completed (position mode) / Speed coincidence (speed mode) Output completion (position mode) / Zero speed (speed mode) Torque limit Latch completed Position proximity (position mode) / Speed limit (torque mode) Software positive limit Software negative limit Reserved Reserved

For Sigma-II (W-Series) servodrive

How I do with TrajeXia?: Axes handling


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

Pn81E.0 Pn81E.1 Pn81E.2 Pn81E.3

IO12 mapping IO13 mapping IO14 mapping IO15 mapping

28 29 30 31

1: Monitor SI0 (CN1-40) input terminal FW_IN 2: Monitor SI1 (CN1-41) input terminal REV_IN 3: Monitor SI2 (CN1-42) input terminal DAT_IN 4: Monitor SI3 (CN1-43) input terminal FH_IN Config. in Servo Config in TJ1

Fixed relation

How I do with TrajeXia?: Axes handling


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
S_REF
SERVO

T_REF AXIS(n)

Speed_Command

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

Torque_Command

How I do with TrajeXia?: Fault 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 axis BIT 2=Network drive error (A) Is set to 1 if there is any network error in a mechatrolink axis BIT3=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.

MOTION_ERROR
Contains a flag indicating if an axis error occurs

ERROR_AXIS
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.

How I do with TrajeXia?: Fault handling


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

DRIVE_RESET AXIS(n)
Makes a software power off-on in the servodrive. Servodrive must be in bb.

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

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

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)
Scaling factor: x User_units x*UNITS Encoder_counts

REP_DIST AXIS(n)
Selects the value at wich your position counter overflows.

REP_OPTION AXIS(n)
=0 the position counter goes from REP_DIST to +REP_DIST =1 the position counter goes from 0 to +REP_DIST

How I do with TrajeXia?: Unit setting


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 SigmaIII (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?: Homing


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?: Registration


REGIST(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


REGIST(signal) AXIS(n)
Activate the registration with the next inputs (for Sigma-II): -1 Release the registration 0 Encoder Z signal 1 EXT1 (Selected with Pn511.1) 2 EXT2 (Selected with Pn511.2) 3 EXT3 (Selected with Pn511.3) When the registration is triggered MARK=0 and, once the registration is detected, MARK=-1. Then we can read the value captured in REG_POS. While MARK=0 it is not possible to read/write servo parameter

How I do with TrajeXia?: Registration


REGIST(signal) AXIS(n)
The delays involved in the registration are: SIGMA-II (W-T)(1ms cycle time) (3.5 ms) - Delay in triggering the latch: 0.625 to 4 ms (not critical) - Delay in receiving the LATCH: *up to 3.5ms (influent) - Delay in capturing the LATCH: 3s (not critical) SIGMA-III (W-N) (0.6-1.1 ms) - Delay in triggering the latch: - Delay in receiving the LATCH:

0.425 (not critical) 0.575(0.5ms_cycle) (influent) 1.075 (1ms cycle) - Delay in capturing the LATCH: 3s (not critical)

*=Sigma-II internal loop+ Dualport_RAM+MechatroLink (1ms) Same as MC151 + MechatroLink-II cycle

How I do with TrajeXia?: Registration


REGIST(signal+256) / REGIST(signal+768) OPEN_WIN /CLOSE_WIN
The windowing checking is done in the CPU so the sequence is
- Receive the latch information. - If the position is outside (inside) the window trigger the latch again. - Wait for the next latch.

WINDOW

OPEN_WIN=20
OUTSIDE OUTSIDE THE THE WINDOW WINDOW

CLOSE_WIN=40
INSIDE INSIDE THE THE WINDOW WINDOW OUTSIDE OUTSIDE

10

20

30 MARK=TRUE MARK=TRUE REG_POS=27 REG_POS=27

40

How I do with TrajeXia?: Registration

How I do with TrajeXia?: Registration in the FlexAx


REGIST(signal) AXIS(n)
The registration is done in the Flexible axis. There are Two independent registration that can be used at the same time.

How I do with TrajeXia?: Registration in the FlexAx


REGIST(signal) AXIS(n)

How I do with TrajeXia?: Registration in the FlexAx

In addition, you have the next commands to handle with the Registration functionality:

REGPOS REGPOSB MARK MARKB

How I do with TrajeXia?: Inverter control


A MECHATROLINK-II connected inverter is not considered one axis. Inverter is a MECHATROLINK-II device. Then is not possible to control an inverter in a deterministic way. Just read/write parameter and command speed and torque. The inverter supported are: V7 (MV) with the SI-T/V7 board G7/F7 with the SI-T board The necessary settings are to set the command and the reference via Bus communication:
INVERTER MV/V7 F7/G7 SETTING N4=1 (for CX-D test run) N3=3 N4=9 B1-01=3 B1-02=3

How I do with TrajeXia?: Inverter control


Next commands have been implemented to easy the inverter usage:

INVERTER_READ(<unit>, <station>, <function>, ) INVERTER_WRITE(<unit>, <station>, <function>, ) INVERTER_COMMAND(<unit>, <station>, <function>, )


During run mode INVERTER_COMMAND is controlled by Trajexia basic program and during commisioning it is controlled via FINS (user by software mainly)

How I do with TrajeXia?: Inverter control


INVERTER_READ(<unit>, <station>, <function>, )
Read parameter: INVERTER_READ(<unit>,<station>,0,<p_num>,<p_size>,<vr>) Read Alarm: INVERTER_READ(<unit>,<station>,1,<Alarm_num,<vr>) Read Speed: INVERTER_READ(<unit>,<station>,2,<vr>) Read Torque: INVERTER_READ(<unit>,<station>,3,<vr>) Read inverter inputs: INVERTER_READ(<unit>,<station>,4,<from>,<length>,<vr>)

How I do with TrajeXia?: Inverter control


INVERTER_WRITE(<unit>, <station>, <function>, )
Write parameter: INVERTER_WRITE(<unit>,<station>,0,<p_num>,<p_size>,<vr>,<mode>) where <mode>=0 Just write <mode>=1 Write + enter <mode>=2 Write + enter + config Write Speed: INVERTER_WRITE(<unit>,<station>,2,<value>) Write Torque: INVERTER_WRITE(<unit>,<station>,3,<value>) Note: the parameter address are same than the MODBUS addresses

How I do with TrajeXia?: Inverter control


INVERTER_COMMAND(<unit>, <station>, <function>, )
Alarm Clear: INVERTER_COMMAND(<unit>,<station>,1,<alarm number>) Inverter control: INVERTER_COMMAND(<unit>,<station>,7,<operation signals>)
BIT 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 VALUE 0001H 0002H 0004H 0008H 0010H 0020H 0040H 0080H 0100H 0200H 0400H 0800H 1000H 2000H 4000H 8000H COMMAND DESCRIPTION Run Forward Run Reverse Inverter multifunction Input 3 Inverter multifunction Input 4 Inverter multifunction Input 5 Inverter multifunction Input 6 Inverter multifunction Input 7 Inverter multifunction Input 8 (Only G7) External fault Fault reset Inverter multifunction Input 9 (Only G7) Inverter multifunction Input 10 (Only G7) Inverter multifunction Input 11 (Only G7) Inverter multifunction Input 12 (Only G7) Fault history data clear External BB command

How I do with TrajeXia?: Inverter control


It is possible to use a Mechatrolink inverter as one TrajeXia Axis Initial implementation already done TJ1-MC16
Position loop in TJ1-MC
SERVO

SI-T

Inverter

Position loop +

Gains (Prop and feedforward)

INV_CTL
-

Profile generator
MPOS

Speed Loop Torque Loop

error

Speed & direction command PG Counter 16bit value

PG Counter 32bit value

How I do with TrajeXia?: Inverter control


INVERTER_COMMAND(<unit>,<station_address>,8,1) Allocates the inverter as: Axis (station_address-21Hex) (node 26Hex will be axis 5) Inverter as axis is ATYPE=49

Note: INVERTER_COMMAND(0,$26,8,0) Will revert to the normal inverter mode

How I do with TrajeXia?: Inverter control


The latest TrajeXia Firmware already makes a basic support of this feature. The performance is limited. The loop is refreshed every Mechatrolink cycle, but the DPRAM is only asynchronously updated every 5ms. So, we have in practice 5ms cycle time with 1ms jitter.

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories

CONTENTS: Communication
-Integration in Omron Smart Platform -FINS Server -FINS Client -Integration in Third party architecture -Profibus -DeviceNet -Ethernet Telnet -Serial communication -New implementations

Communication: Integration in Smart Platform

Ethernet FINS Serial Protocol Profibus Slave DeviceNet Slave(In 2006) MECHATROLINK-II

Communication: Integration in Smart Platform


Remote Programming Computer

Trajexia is designed to interface with OMRONs PLC by using Ethernet FINS commands, also supports standard UDP protocols.

Coorporative I.T. Network

Industrial EtherNet Switch

NS HMI CJ1 PLC with Ethernet

Programming Computer

Communication: Integration in Smart Platform


Trajexia can communicate directly (Ethernet) to PCs, HMIs, PLCs Industrial Switches are recommended to allow multiple access points in Industrial enviroment. Programming Computer
Industrial EtherNet Switch

NS HMI

CJ1 PLC with Ethernet

Communication: Integration in Smart Platform


Some EtherNet FINS commands are implemented in Trajexia

User Application Command Description NS Terminal/ PLC 101 Read memory (e.g. TABLE or VR memory) NS Terminal/ PLC 102 Write memory (e.g. TABLE or VR memory) NS Terminal/ PLC 501 Retrieve name and version of the MCX controller Not to be Disclosed Others *Other implemented Ethernet FINS commands should not be used by End User without OMRON supervision .

Communication: Integration in Smart Platform


FINS 0101 Read memory command

01

01
var type start address

00
fixed number of elements

command code
var type

start address number of elements

82 TABLE memory in 16-bit integer format C2 TABLE memory in 32-bit IEEE floating point format B0 VR memory in 16-bit integer format 0 start variable (amount of variables - 1) 0xFFFF 1 number (amount of variables - start address)

Communication: Integration in Smart Platform


FINS 0101 Read memory response (16 bit format)

01

01

00

00
1 word elelement
st

command code

response code

2 word element

nd

FINS 0101 Read memory response (32 bit format)

01

01

00

00
1 dword elelement
st

command code

response code

FINS 0101 Read memory response codes


0000OK 1101Var type invalid 1103Start address invalid 1104 Number of elements invalid

Communication: Integration in Smart Platform


FINS 0102 Write memory command
01 02 82
var type start address

00
fixed total words 1 word element
st

command code

st

2 word element
nd

nd

01

02

B0
var type start address

00
fixed total words 1 word element 2 word element

command code

01

02

C2
var type start address

00
fixed total dwords 1 dword element
st

command code

01

02

30
var type start address bit num total bits bit 0/1

command code

Communication: Integration in Smart Platform


FINS 0102 Write memory command
var type 82 TABLE memory in 16-bit integer format C2 TABLE memory in 32-bit IEEE floating point format B0 VR memory in 16-bit integer format 30 VR memory in bit format 0 start variable (amount of variables 1) 0xFFFF 0 bit number 0x0F 1 total words (memory size start address + 1) 1 total dwords (TABLE memory size start address + 1) 00, 01 1

start address bit num total words total dwords bit total bits

Communication: Integration in Smart Platform

FINS 0102 Write memory response


01 02 00 00

command code

response code

FINS 0101 Read memory response codes


0000OK 1101Var type invalid 1102 Start address invalid 1003 Bit number invalid 1004 Number of elements invalid

Communication: Integration in Smart Platform


FINS 0501 Read id

05

01
opt. par

command code
Option parameter codes
0 1 2

Controller name and version Controller name Controller version Axis configuration

Communication: Integration in Smart Platform


FINS 0501 Read id response (no parameter)
05 01 00 00
command response 20 bytes controller name 20 bytes controller code code padded with spaces version, padded With parameter 0 responds with the name only, with parameter 1 responds with the version only.

FINS 0501 Read id response (parameter 2)


05 01 00 00
1 axis
st

command code

response code

nd

axis

FINS 0501 Read id response codes


0000OK 110C Parameter error

Communication: Integration in Smart Platform


IEEE 32 BIT FLOATING POINT FORMAT
We choose this format mainly because it is a WorlWide international standard. For details about the conversion, check the next link: http://babbage.cs.qc.edu/courses/cs341/IEEE-754hex32.html

Communication: Integration in Smart Platform


FINS Ethernet

The new firmware version of the HMI and new software version of the CX-Designer supports already TrajeXia. CX-Designer V2.1 or newer HMI System V6.71 or newer Already included in the latest CX-One

HANDS ON: Lets Try the FINS via HMI

Communication: Integration in Smart Platform


Defining TrajeXia as a node in the HMI
Create a new HMI Project for the HMI. Click in PT Communication Settings

Communication: Integration in Smart Platform


Introduce the IP and subnet of the HMI

And Click in Add node

Communication: Integration in Smart Platform


Introduce the IP and Node address for TrajeXia and Click OK

And Click in Add Host using the right button from Ethernet port

Communication: Integration in Smart Platform


And define the node as a TrajeXia with the previously defined node number.

Communication: Integration in Smart Platform


And use in similar way that you do with a PLC (using TABLE and VR as memory areas)

Communication: Integration in Smart Platform

Ethernet FINS & with

PLCs

Communication: Integration in Smart Platform


Basic PLC CJ1W-ETN21 EtherNet Unit SETUP

In this sample: Node 68 is the node number for Trajexia (IP 10.83.50.68)

Communication: Integration in Smart Platform


PLC has 8 logic ports, Monitored by the following A memory areas:
Starting Adress Flag Description A202 Busy OFF: Ready *Bit description ON: Busy A219 Error OFF: Execution without error *Bit description ON: Error in command execution A203 - Error code in execution instruction port A204 - Error code in execution instruction port A205 - Error code in execution instruction port A206 - Error code in execution instruction port A207 - Error code in execution instruction port A208 - Error code in execution instruction port A209 - Error code in execution instruction port A210 - Error code in execution instruction port *Bit description Bit 7: Port 7 Bit 6: Port 6 Bit 5: Port 5 Bit 4: Port 4 Bit 3: Port 3 Bit 2: Port 2 Bit 1: Port 1 Bit 0: Port 0

0 1 2 3 4 5 6 7

Communication: Integration in Smart Platform

Instruction: CMND(490).
This instruction can be used to handle PLC-TJ communications.

CMND(490)

S D C
S (Command): PLCTJ1 FINS command. D (Response): PLCTJ1 Response to FINS command C (Control): CMND Control data.

Communication: Integration in Smart Platform


S (Command): This is the FINS command sent to TJ1 Device. Typical FINS commands are:
CMND(490)

FINS 0101 Read Memory (TJ1PLC)

S D C

01

01

00
fixed number of elements

command var start FINS 0102 Write Memory address (PLCTJ1) code type

01

02

B0
var type start address

00
fixed total words 1 word element
st

command code

2 word element

nd

Communication: Integration in Smart Platform

Command Word in details: FINS 0101 (Read Memory)

CMND(490)

S D C

15 S+0:

0101 Hex (Read Memory)

Communication: Integration in Smart Platform


Command Word in details: FINS 0101 (Read Memory)
15 S+1:
Var Type Var Type
CMND(490)

HB Add.

HB Add

D C

82 TABLE memory in 16-bit integer format C2 TABLE memory in 32-bit IEEE floating point B0 VR memory in 16-bit integer format

Trajexias First element (VR or TABLE) to be read. (HighByte) Address value is split in S+1 & S+2
00 00

15 S+2:
LB Add. LB Add.

Trajexias First element (VR or TABLE) to be read. (LowByte) Address value is split in S+0 & S+1

Always 0

Communication: Integration in Smart Platform

Command Word in details: FINS 0101 (Read Memory)

CMND(490)

S D C

15 S+3:

Number of elements to be read


1 number (amount of variables - start address)

Communication: Integration in Smart Platform

Command Word in details: FINS 0102 (Write Memory)

CMND(490)

S D C

15 S+0:

0102 Hex (Write Memory)

Communication: Integration in Smart Platform


Command Word in details: FINS 0102 (Write Memory)
15 S+1:
Var Type Var Type
CMND(490)

HB Add.

HB Add

D C

82 TABLE memory in 16-bit integer format C2 TABLE memory in 32-bit IEEE floating point B0 VR memory in 16-bit integer format

Trajexias First element (VR or TABLE) to be read. (HighByte) Address value is split in S+1 & S+2
00 00

15 S+2:
LB Add. LB Add.

Trajexias First element (VR or TABLE) to be read. (LowByte) Address value is split in S+0 & S+1

Always 0

Communication: Integration in Smart Platform


Command Word in details: FINS 0102 (Write Memory)
15 S+1:
Var Type Var Type

CMND(490)

HB Add.

HB Add

D C

30 VR memory in Bit format

Trajexias First element (VR) to be read. (HighByte) Address value is split in S+1 & S+2
LB Add. BitNum BitNum

15 S+2:
LB Add.

Trajexias First element (VR) to be read. (LowByte) Address value is split in S+1 & S+2

Bit Num

Communication: Integration in Smart Platform

Command Word in details: FINS 0102 (Write Memory)

CMND(490)

S D C

15 S+3

Number of words/dwords/bits to be sent.

Communication: Integration in Smart Platform

Command Word in details: FINS 0102 (Write Memory)


Data to be sent to TJ1

CMND(490)

S D C

15 S+4 S+5

S+n

Communication: Integration in Smart Platform

D (Receive): Whenever a FINS message is sent to TJ1 an answer is expected containing:

CMND(490)

FINS code Response Code (Hex) Response Data (if required)

S D C

Condition All elements valid Var type invalid Start address invalid Number of elements invalid

Response Code (hex) 0000: OK 1101: no area type 1103: address range designation error 1104: address range over

Communication: Integration in Smart Platform


C (Control): Is used to setup the CMND instruction. Control estructure is made of 6 words:
CMND(490)

S D C

C+0 C+1 C+2 C+3 C+4 C+5


0

Command length (bytes) Response length (bytes) 0 Target Node port Timeout Target Network Target Unit No. Retr.

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 0.

CMND(490)

S D C

15 C+0:

Number of bytes is set to 8. To read memory areas from TJ1 Number of bytes is set to 8 + Data elements (in bytes). To Write in TJ1

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 1.

CMND(490)

S D C

15 C+1:

Response size (Bytes). Allowed range:0001 to 07C6 (hex.): 1 to 1990 bytes.

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 2.

CMND(490)

S D C

15 C+2:
0

11
0

Target Network: 00 : Local. 01 to 7F (hex): 1 to 127

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 3.

CMND(490)

S D C

C+3: (Target Node Number)


Target Node Number:

(Target Unit Number)


Target Unit Number:

00 to 7E (hex.): 0 to 254 (ETN). FF (hex.): broadcast.

Allways: 00.

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 4.

CMND(490)

S D C

15 C+4:
0

10

8 7
0

Number of Retries PLC Com port Number Range: 0 a 7 Answer: 0 Required. 1 Not required.

Communication: Integration in Smart Platform

Control Word in details:


Control Channel: C + 5.

CMND(490)

S D C

15 C+5:

Time Out value: 0000 (hex.): 2 sec. 0001 to FFFF (hex.): 0.1 to 6553.5 sec.

Communication: Integration in Smart Platform

Sample for FINS Read S Structure:

CMND(490)

S D C

VR(0) #0101 means FINS READ Command # B000 # 0000 # 0032 Hbyte (B0 VR Datatype) Lbyte (Address High part 00) Hbyte (Address Low part) 50 elements to be read. Lbyte (00)

Communication: Integration in Smart Platform

Sample for FINS Read C Structure:

CMND(490)

S D C

VR(0) #0008 Total Size for FINS Read message to be Sent to TJ1 = 8 bytes (see previous slide TJ1_R_S_0 TJ1_R_S_3 (4 words= 8 bytes) # 0068 (68 Hex = 104 Dec) Received Bytes in TJ1_R_D_0 TJ1_R_D_51 # 0000 00 High Byte 00. Low Byte Local Network # 4400 Node (44 Hex68 Dec) 00. Low Byte fixed to 00 for TJ1 # 0201 02 Com Port. 01 Retries # 0000 TimeOut value

Communication: Integration in Smart Platform

Sample for FINS Write S Structure:


FINS Command

CMND(490)

S D C

VR Data (10 words) PLCTJ1 VR(0) #0102 means FINS Write Command # B000 Hbyte (B0 VR Datatype) Lbyte (Address High part 00) # 0000 Hbyte (Address Low part) Lbyte (00) # 000A 10 elements to be written # 0003 First value to be written is (0003 Hex) etc

Communication: Integration in Smart Platform

Sample for FINS Write C Structure:

CMND(490)

S D C

#001C Total Size for FINS Write message to be Sent to TJ1 = (1C Hex=28 Dec bytes TJ1_W_S_0 TJ1_W_S_14 (4 Command words + 10 Data word) # 0004 (04 Hex = 04 Dec) Received Bytes in TJ1_R_D_0 TJ1_R_D_1 # 0000 00 High Byte 00. Low Byte Local Network # 4400 Node (44 Hex68 Dec) 00. Low Byte fixed to 00 for TJ1 # 0201 02 Com Port. 01 Retries # 0000 TimeOut value

Communication: Integration in Smart Platform

RW_Toogle is a Bi-stable triggered by Port 2 Busy bit Falling edge. This way Read & Write permission for CMND is swapped when Port is not busy.

Communication: Integration in Smart Platform

READ FINS Both CMND use same port, (2), but sequentially, never at the same time.

WRITE FINS

Communication: Integration in Smart Platform


Function Blocks for CJ1 v.3.0 are in test phase. (Release: 2006) TJ1_FINS_WRITE TJ1_FINS_READ
Network, Node, Port Execution bit

CIO Area VR/TABLE 1st word VR 16 bit / TABLE 16/32 bit Number of elements to be sent

Communication: Integration in Smart Platform


HANDS ON Lets Try FINS via PLC

Communication: FINS CLIENT


TrajeXia is able to initiate a FINS communication. For this, a new FINSCOMMS command has been implemented:

This is ideal to optimize the communication flow when The event to be communicate is generated by TrajeXia The supported FINS are Read Variable and Write Variable

Communication: Serial Protocol


SERIAL PORT IN TrajeXia
For cheap and slow communication, the TJ1-MC16 has two embedded serial ports to a single DB9 connector with the next possibilities:

RS-232 & RS-422


Hostlink Master Hostlink Slave User defined protocol

RS-485
User defined protocol The specification are same than those for the MCW151.

Communication: Serial Protocol


Communication commands
SETCOM (baud_rate, data_bits, stop_bits, parity, port_number, mode)

Communication: Serial Protocol


HOSTLINK MASTER COMMANDS

USER DEFINED PROTOCOL COMMANDS PRINT #port, GET #port KEY #port

Communication: Serial Protocol


HANDS ON Lets Try to communicate two TrajeXia via the Serial port

Integration in 3rd Party Arquitectures.


Trajexia is NOT a PLC (though shape and size is similar to CJ1). Trajexia MC system is designed and full dedicated to achieve HIGH performance in Motion Control. Trajexia OUTSTANDS when compared to traditional Motion solutions based on PLC. Trajexia is a valuable product even for non OMRON PLC customers who need RELIABLE MOTION SOLUTION. Trajexia is designed to be integrated in 3rd Party architectures, so will interface with Profibus & DeviceNet as a Slave Device.

Integration in 3rd Party Arquitectures.


Network Integration: ONE Connection

Ethernet physic layer (Same cable used for 3rd party installed PLCs)
EtherNet IP ProfiNet

TCPIP / FINS

MECHATROLINK-II PROFIBUS (as Slave Device) DeviceNet (as Slave Device)

Communication: Profibus
Profibus IN TrajeXia
Profibus communication with TrajeXia supports PROFIBUS V0, that is, just polling information. - You select the number of inputs and output words in the master and those words are transmitted from/to VR variables to/from registers in the Profibus Master.

LEDs
RUN ERC ERH COMM BF

Communication: Profibus
Those are the commands you have to program from TrajeXia to make the Profibus working. The best place is the STARTUP program

We created a guide to setup the profibus connection with an Omron profibus master

Communication: Profibus
HANDS ON Lets communicate TJ1-PRT with CJ1-PRM

Communication: DeviceNet
The DeviceNet board has been designed in order to be as similar as possible to the Profibus. So, if one customer uses TrajeXia in his machine and changes the PLC according to the customer requeriments (EG. Siemens with Profibus in Europe and Rockwell with DeviceNet in USA), the changes in Trajexia program are minimum.

Communication: New implementations


The next new communication protocols are being implemented:

MODBUS-TCP (Slave) Already implemented in firmware 1.6627. Uses the embedded Ethernet port in the CPU

ETHERNET-IP UNDER DEVELOPMENT

CANOPEN First prototypes of TJ1-CORT already available. IO profile (not for motion).

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories

TrajeXia success histories


Target application with TrajeXia
TrajeXia is a general purpose Motion Controller. Has not been designed to fit an specific application (Unlike CNCs or Robot Control) If you understand the TrajeXia philosophy, you can apply this Motion controller in a lot of different application

Nevertheless, we expect TrajeXia to be very succesful in the packaging market.

TrajeXia success histories


FLOW WRAPPER MACHINE

Some Ideas about using TrajeXia in Packaging industry: HORIZONTAL CARTONER MACHINE

TrajeXia success histories


Sleeve wrapping machine 12 axes working at 1 ms cycle time

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories

CONTENTS
TrajeXia Overview Hardware and general specification TrajeXia Tools Trajexia Architecture Programming TrajeXia How I do with TrajeXia? Communication TrajeXia success histories

You might also like