Page 2
The material in this manual is subject to change without notice. Despite every effort, in a manual of this scope errors and omissions may occur. Therefore Trio cannot be held responsible for any malfunc- tions or loss of data as a result.
Page 3
SAFETY WARNING During the installation or use of a control system, users of Trio products must ensure there is no possibility of injury to any person, or damage to machinery. Control systems, especially during installation, can malfunction or behave unexpectedly. Bearing this in mind, users must ensure that even in the event of a malfunction or unexpected behaviour the safety of an operator or programmer is never compromised.
Page 13
Up to fifteen masters can be networked together using the Trio fibre optic network allowing up to 180 axes of control. The controller is programmed using the Trio BASIC programming language. This may be used to build stand-alone programs or commands can be sent from an external computer.
IBM PC or 100% compatible microcomputer running Windows. Motion Perfect Once connected to the Motion Coordinator, the user has direct access to Trio BASIC, which provides an easy, rapid way to develop control programs. All the standard program constructs are provided; variables, loops, input/output, maths and conditions.
Multi-tasking Trio BASIC. I/O expansion is via CAN bus. P150 Euro 205 For OEM applications, Trio offer a 3U Eurocard format controller featuring 4 onboard axes plus the option for a further axis via a standard Trio daughter board. 16 Opto-isolated Inputs and 8 Opto-isolated Output channels are built in.
Page 16
Trio Motion Technology Daughter Boards The Daughter Board concept is a one of the key features which give the Motion Coordinator system enormous flexibility in its configuration. The Daughter Boards provide the interface to many types of Servo or Stepper Axes, plus a number of advanced communications options as well.
Page 17
Trio Motion Technology Product Name Description Code: P240 Stepper Open-collector Step, Direction, Boost and Enable out- Encoder puts plus Differential Encoder Input. The stepper daughter board with position verification has all the features of the simpler stepper daughter board. Position verification is added to a stepper axis by providing encoder feedback to check the position of the motor.
Page 18
Motion Coordinator, it is possible to con- nect to external devices using the Profibus protocol. * (Available for use with MC206 and MC224 only) Custom Daughter Boards Trio can produce custom daughter boards for specific customer applications where required. Introduction Products...
Page 19
Trio Motion Technology I/O Expansion options Prod. Name Description Code P315 CAN 16 IO DIN Rail mounted 24v I/O expander module pro- vides 16 opto-isolated channels each of which may be used as an Input or an Output. P325 CAN Analog Inputs DIN Rail mounted +/- 10v Analog Input module pro- vides 8 opto-isolated channels.
Page 20
Trio Motion Technology Operator Interfaces Name Name Description P502 Mini-Membrane Compact operator keypad/display Keypad P503 Membrane Keypad High performance general purpose operator key- pad/display 1-10 Introduction Products...
Trio Motion Technology System Examples Example 1 Simplest Possible System - Single MC202 9 10 11 Input/Outputs • 1½ Axis Servo (Servo + reference encoder) Trio or 2 Axis Stepper MC202 Motion P165 Coordinator • 8 Channels of 24v I/O on board...
Page 23
0v A 0 0v 24v 8 9 10 11 12 13 14 15 E- A /A B /B Z /Z V- V0 V1 V2 V3 Trio STATUS MC206 axes, an optional servo daughter board and 5 4 3 2 1...
Page 24
Trio Motion Technology Example 5 MC216 - 16 axis system with maximum I/O expansion The example system illustrated below shows an MC216 controller with the maximum possible I/O expansion. Applications for a system of this complexity might include collating or packaging machinery where there are multiple opera- tions performed on a product and many I/O are used for sensors etc.
Motion Coordinator Technical Reference Manual Features and Typical Applications Trio BASIC contains accurate motion control functions for the generation of complex movements of various types, including: • Linear interpolation of up to 24 axes • Circular and helical interpolation • Variable speed and acceleration profiles •...
Trio Motion Technology The Trio Motion Technology Website The Trio website contains up to the minute news, information and support for the Motion Coordinator product range. Website Features • Latest News • Product Information • Manuals • Support Software • System Software Updates •...
The Multi-tasking ability of the MC202 allows parts of a complex application to be developed, tested and run independently, although the tasks can share data and motion control hardware. On the MC202 up to 3 Trio BASIC programs can be run simultaneously.
This is a 5 way 3.81mm pitch connector. The connector is used both to provide the 24 volt power to the MC202 and provide connections for I/O expansion via Trio's P315 and P325 CAN I/O expanders. 24 volts must be provided as this powers the unit.
Page 31
Motion Coordinator Technical Reference Manual Top 14 Way Connector: This is a 14 way 3.81 pitch connector. The connector provides for the +/-10volt analog output, the enable relay contacts, and the I/O connections. Vout - Vout + Amplifier Enable A Amplifier Enable B I/O 0 Volts I/O 24 Volts...
Page 32
They are numbered from 8 to 11 for greater com- patibility with other Trio Motion Coordinators. The inputs channels 0 to 3 are not bi-directional. Inputs 0 and input 1 can be used as registration inputs for axes 0 and 1 for use with the command.
Pins 1, 2, 6, 7, and 8 are required to connect to an external fibre-optic adapter. Serial Cables Trio recommend the use of their pre-made serial cables (product code P350). If cables need to be made to connect to a PC serial port the following connections...
Interpolation modes Linear 1-3 axes, circular, helical, CAM Profiles, speed control, electronic gearboxes. Programming Multi-tasking Trio BASIC system, maximum 3 simulta- neous Trio BASIC programs. Speed Resolution 32 bit. Speed may be changed at any time. Moves may be merged.
Multi- tasking Trio BASIC using a PC, and then may be set to run “standalone” if an external computer is not required for the final system. The Multi-tasking version...
5%. Built-in CAN Connector The Euro205(X) features a built-in CAN channel. This is pri- CAN_L marily intended for Input/Output expansion via Trio's P315 and P325 modules. It may be used for other purposes when SCREEN I/O expansion is not required.
Motion Coordinator Technical Reference Manual Euro 205(X) Backplane Connector Most connections to the Euro205 and Euro205X are made via the 96 Way DIN41612 backplane Connector. Signals marked * are Euro205X only. IO GND OP13 OP10 OP12 OP15 OP11 OP14 IO 24v IN0 / R0* IN1 / R1* IN2 / R2*...
Page 40
Trio Motion Technology Amplifier Enable (Watchdog) Relay Output An internal relay contact is used to enable external amplifiers when the control- ler has powered up correctly and the system and application software is ready. The amplifier enable is a single pole relay on the Euro205 and a solid-state relay on the Euro205X with normally open contacts.
Page 41
Motion Coordinator Technical Reference Manual 24v Input Channels The Motion Coordinator has 16 24v Input channels built into the master unit. These may be expanded to 256 Inputs by the addition of CAN-16 I/O modules. IO 24v 6k8 Ohms Input Pin IO GND 24v Output Channels 8 output channels are provided.
Page 42
Trio Motion Technology Open Collector Stepper Driver Outputs The STEP, DIR, BOOST and ENABLE signals use open-collector outputs. These out- puts are NOT opto-isolated from the processor logic. The open-collector outputs may be pulled up to any voltage in the range 5v..24v as required but a current limiting resistor MUST be provided externally to the Euro205(X) to limit the cur- rent in the output channel.
Page 43
Motion Coordinator Technical Reference Manual Registration Inputs The registration inputs are 24 volt non-isolated inputs referenced to 0v. The Euro205(X) can be programmed to capture the position of an encoder axis in hardware when a transition occurs on the registration input. Differential Encoder Inputs The encoder inputs on the Euro205 and Euro205X are designed to be directly con- nected to 5 volt differential output encoders.
Page 44
Euro205 only: The external Fibre Optic adapter (P435) is on port #4 Network Interconnection The Euro 205(X) supports Trio’s fibre-optic network with the optional P435 serial to fibre-optic adaptor connected to the appropriate serial connector. The software for the network supports interconnection of up to 15 nodes in a token-ring network format.
Position Resolution Interpolation modes linear 1-5 axes, circular, helical, CAM Profiles, speed control, electronic gearboxes. Programming Multi-tasking Trio BASIC system, maximum 5 user tasks. 32 bits. Speed may be changed at any time. Moves Speed Resolution may be merged. Servo Cycle...
32 bit position count Interpolation modes linear 1-5 axes, circular, helical, CAM Profiles, speed control, electronic gearboxes. Programming Multi-tasking Trio BASIC system, maximum 7 user tasks. 32 bits. Speed may be changed at any time. Moves Speed Resolution may be merged.
The MC206 is based on Trio’s high-performance 32-bit DSP technology and pro- vides up to 4 axes of servo or stepper control, plus a master encoder axis. Trio uses advanced FPGA techniques to reduce the size and fit 4 axes of stepper and servo circuitry in a compact DIN-rail mounted package.
Page 49
RS-485 port, a TTL serial port, a USB port and a CAN channel as standard. Adapters are available to convert the TTL port to Trio’s fibre-optic network. RS-232 port #1, or RS-485 port #2 may be configured to run the MODBUS protocol for PLC or HMI interfacing.
Page 50
Trio Motion Technology EPROM Request OFF EPROM Request ON Programs will be transferred Programs will be transferred POWER_UP=0 from the FlashStick to the con- from the FlashStick to the con- troller ram on power up. troller ram on power up. The...
This is a 5 way 3.81mm pitch connector. The connector is used both to provide the 24 volt power to the MC206 and provide connections for I/O expansion via Trio's P315 and P325 CAN I/O expanders. 24 volts must be provided as this powers the unit.
The USB port provides a high-speed Universal Serial Bus link to a PC or other device supporting USB. This port can be used for a high speed connection to Motion Perfect, or to a user program on the PC via Trio’s ActiveX component. Hardware Overview 2-29...
Trio Motion Technology MC206 - Stepper Outputs / Encoder Inputs The MC206 controller is designed to support any combination of servo and step- per motors on the standard controller hardware. Each of the first four axes (0-3) can be enabled as either servo or stepper according to the users requirements.
Interpolation modes linear 1-5 axes, circular, helical, CAM Profiles, speed control, electronic gearboxes. Programming Multi-tasking Trio BASIC system, maximum 8 tasks. Speed Resolution 32 bits. Speed/Accel/Decel may be changed at any time. Moves may be merged for continuous motion. Servo Cycle 250 µs minimum for all axes, 1 mS default...
V+ V- R 0v 5 4 3 2 1 The Multi-tasking version of Trio BASIC for 9 8 7 6 the MC216 allows up to 14 Trio BASIC pro- grams to be run simultaneously on the con- troller using pre-emptive multi-tasking. IO10...
Page 60
The motion control generation software receives instructions to move an axis or Functions axes from the Trio BASIC language which is running concurrently on the same processor. The motion generation software provides control during operation to ensure smooth, coordinated movements, velocity profiled as specified by the controlling program.
USB with the optional (P295) USB Daughter Board Serial Cables Trio recommend the use of their pre-made serial cables (product code P350). If cables need to be made to connect to a PC serial port the following connections...
Page 62
The software for the network supports interconnection of up to 15 nodes in a token-ring network format. The nodes may consist of any combination of com- patible master controllers and Trio Membrane Keypads. Note: Any membrane keypads connected must have software version 2.01 or higher.
Page 63
The amplifier enable relay may, for example, be incorporated within a hold-up circuit or chain that must be intact before a 3-phase power input is made live. Note: ALL STEPPER AND SERVO AMPLIFIERS MUST BE INHIBITED WHEN THE AMPLIFIER ENABLE OUTPUT IS OPEN CIRCUIT Hardware Overview 2-37 Motion Coordinator MC216...
Page 64
Amplifier Enable Output CAN Bus: The MC216 features a built-in CAN channel. This is primarily intended for Input/Output expansion via Trio's P315 and P325 modules. It may be used for other purposes when I/O expansion is not required. 2-38 Hardware Overview...
Page 65
Care should be taken to ensure that the 250mA limit for the output circuit is not exceeded, and that the total load for the group of 8 outputs does not exceed 1 amp. IO 24V Optical Output Control Signal Protected Switch Input/Output Pin Optical Input Signal IO GND Hardware Overview 2-39 Motion Coordinator MC216...
32 bit position count. Interpolation modes Linear 1-16 axes, circular, helical, CAM Profiles, speed control, electronic gearboxes. Programming Multi-tasking TRIO BASIC system, maximum 15 tasks. Speed Resolution 32 bits. Speed may be changed at any time. Moves may be merged. Servo Cycle Programmable - Default is 1ms.
The Multi-tasking version of Trio BASIC for the MC224 allows up to 14 Trio BASIC pro- grams to be run simultaneously on the con- troller using pre-emptive multi-tasking.
Page 68
The motion control generation software receives instructions to move an axis or Functions axes from the Trio BASIC language which is running concurrently on the same processor. The motion generation software provides control during operation to ensure smooth, coordinated movements with the velocity profiled as specified by the controlling program.
PC running Motion Perfect for programming. As an option, Motion Perfect may be connected via USB. Serial Cables Trio recommend the use of their pre-made serial cables (product code P350). If cables need to be made to connect to a PC serial port the following connections are required:...
Page 70
The software for the network supports interconnection of up to 15 nodes in a token-ring network format. The nodes may consist of any combination of com- patible master controllers and Trio Membrane Keypads. Note: Any membrane keypads connected must have software version 2.01 or higher.
Page 71
Motion Coordinator Technical Reference Manual FlashStick Socket Analog Inputs 0..1 CAN Bus Drive Enable A Drive Enable B I 0 I 1 24v Input Channels I 2 I 3 24v I/O Channels 0 .. 7 IO10 I 4 IO11 I 5 8 .. 15 IO12 I 6 I 7 IO13 IO14...
Page 72
CAN Bus: The MC224 features a built-in CAN channel. This is primarily intended for Input/Output expansion via Trio's P315 and P325 modules. It may be used for other purposes when I/O expansion is not required. The CANbus port is electrically equivalent to a DeviceNet node.
Page 73
Motion Coordinator Technical Reference Manual 24v Input Channels The Motion Coordinator has 16 24v Input channels built into the master unit. These may be expanded to 256 Inputs by the addition of CAN-16 I/O modules. All of the 24v input channels have the same circuit although 8 on the master unit have 24v Output channels connected to the same pin.
Flash EPROM program storage. Memory Stick Socket for plug-in “Nexflash Mediastick”. Used for stor- ing programs and/or data. Programming Multi-tasking TRIO BASIC system, maximum 14 user tasks. Servo Cycle Programmable: 1 ms, 500 usec or 250 usec. Position Resolution 32 bit position count.
Care should be taken to ensure that there is a free flow of air vertically around the unit. The dimensions are as shown below. 94mm 9 10 11 Input/Outputs Trio 101mm MC202 Motion P165 Coordinator...
Page 78
Trio Motion Technology Connection To Other Trio Products The MC202 may be connected to other Motion Coordinator modules on the CAN bus only. Environmental Considerations Ensure that the area around the ventilation holes and top of the module are kept clear. Avoid violent shocks to, or vibration of, the system modules whilst in use or storage.
For this reason the Euro205 is not considered by Trio to be a product for which we can offer qualification to known EMC standards. It is therefore only suitable to be taken into service on machines where the whole system fulfils the necessary EMC requirements.
Trio Motion Technology Motion Coordinator MC216 The Motion Coordinator MC216 modules are supplied with the same exterior packaging which has been specifically designed for ease of use and flexibility of mounting. The MC216 dimensions are given below. Installation Motion Coordinator MC216...
Page 81
The appropriate length of ribbon cable will be supplied ready assembled and tested by TRIO. With the power off the ribbon cable can be inserted and the cable locked with the ears on each connector. The power may...
Including the disconnect terminal, the unit is 48mm deep. When the serial connector is fitted, around 60mm more depth is required. Connection To Other TRIO Products The MC206 may be connected to other Motion Coordinators on the CAN bus or fibre-optic network only.
Motion Coordinator Technical Reference Manual EMC Considerations Most pieces of electrical equipment will emit noise either by radiated emissions or conducted emissions along the connecting wires. This noise can cause interfer- ence with other equipment near by which could lead to that equipment malfunc- tioning.
Page 84
EMC directive. The low voltage directive (LVD) which took effect from 1st January 1997 does not apply to current Trio products as they are all powered from 24V which is below the voltage range that the LVD applies to.
4) Connection to the serial ports should be made with a Trio supplied cable. When a Motion Coordinator is not connected to a PC the serial cable must be removed as it will act as an antenna for electrical noise if it is left unterminated.
4) Connection to the serial ports should be made with a Trio supplied cable. When a Motion Coordinator is not connected to a PC the serial cable must be removed as it will act as an antenna for electrical noise if it is left untermi- nated.
D-type shell of the encoder connector. 4) Connection to the serial ports should be made with a Trio supplied cable. When a Motion Coordinator is not connected to a PC the serial cable must be removed as it will act as an antenna for electrical noise if it is left unterminated.
Page 91
Motion Coordinator Technical Reference Manual Description The axis daughter boards give the Motion Coordinator system enormous flexibil- ity in its configuration. The number of daughter boards which may be fitted is dependant on the control- ler type. The MC216 and MC224 master units can hold up to 4 daughter boards in any com- bination.
P296 Ethernet * P297 Profibus For volume / OEM applications, Trio can produce custom daughter boards for Note: specific customer applications where required. Daughter boards marked * are for use with MC206 and MC224 only. Fitting and Handling Daughter Boards The axis daughter boards are normally supplied fitted into a Motion Coordina- tor system.
Page 93
Motion Coordinator Technical Reference Manual Fitting Daughter Boards to the MC216 / Axis Expander • Check there is no power on the module • Unscrew the 2 Allen screws which secure the front moulding cover and remove the cover • Unscrew the top ribbon cable bus cover. If the ribbon cable is connected, remove this by pushing the retaining levers outwards.
Trio Motion Technology MC216 + Axis Expander Slot Sequence The slot number of any daughter board is fixed by its position in the MC216/ MC224 module. For standard axis daughter boards, this also fixes the axis number as shown. Location...
Motion Coordinator Technical Reference Manual Fitting Daughter Boards to the Euro205 The Motion Coordinator Euro205 can use a single daughter board with an optional P445 Euro 205 Daughter Board Mounting Kit, which consists of a replacement (double width) front panel and 90º header connector. Installation Procedure •...
Page 96
Trio Motion Technology Note: Some daughter boards, such as the CANBus and Profibus communications boards, feature a longer connector and so the adaptor features a full- length socket to accommodate these. On an axis Daughter Board with the standard (shorter) connector the...
Motion Coordinator Technical Reference Manual Fitting Daughter Boards to the MC206 The Motion Coordinator MC206 can use a single daughter board. This is fitted internally, and connected via the optional P399 MC206 Daugh- ter Board Adaptor (shown right). The axis daughter boards are supplied in an anti-static bag or box.
Page 98
Trio Motion Technology Rear of MC206 showing P399 daughter board adaptor Note: Some daughter boards, such as the CANBus and Profibus communications boards, feature a longer connector and so the adaptor features a full-length socket to accommodate these. On an axis Daughter Board with the standard...
Motion Coordinator Technical Reference Manual Servo Encoder Daughter Board Trio Product Code P200 ENCODER - R 0v 9 8 7 6 Description: The servo daughter board provides the interface to a DC or Brushless servo motor fitted with an encoder or encoder emulation.
Page 100
Trio Motion Technology Connections: Encoder Connections: The encoder is connected via a 9 pin 'D' type socket mounted on the front panel. The plug supplied should be cable mounted and wired as shown below. The encoder port is designed for use with differential output 5 volt encoders.
Page 101
Motion Coordinator Technical Reference Manual the V- pins should not be referenced to different external voltages. Screened cable should be used for the voltage output connection and the screen connected to the metal case or backplate. Do not connect screens to the registration 0V terminal.
Trio Motion Technology Servo Resolver Daughter Board Trio Product Code P210 RESOLVER V+ V- R 0v 5 4 3 2 1 9 8 7 6 parameter for Servo Resolver Daughter Board = 5 Description: ATYPE The resolver daughter board provides the interface to a DC or Brushless servo motor fitted with a resolver.
Page 103
Motion Coordinator Technical Reference Manual Registration Input The registration input is a 24v dc input connected through high-speed opto-isola- tion into the resolver circuit. An alternative 5v input pin is available on the encoder port. The internal circuitry can be used to capture the position at which the registration input makes a transition from low to high or vice-versa.
Trio Motion Technology Reference Encoder Daughter Board Trio Product Code P220 ENCODER R 0v 9 8 7 6 parameter for Encoder Daughter Board = 3 Description: ATYPE The encoder daughter board provides an encoder input without a servo feed- back facility for measurement, registration and synchronization functions on conveyors, drums, flying shears, etc.
Page 105
Motion Coordinator Technical Reference Manual Pin. function marker (Z) complement +5V (150 mA max) - This output is short circuit protected Registration Input 5v Input pin shell protective ground The encoder may be powered from the +5V supply output on the daughter board, provided it requires less than 150mA supply current.
Trio Motion Technology Stepper Daughter Board Trio Product Code P230 B D S E 0v Description ATYPE parameter for Stepper Daughter Board = 1 The stepper daughter board generates pulses to drive an external stepper motor amplifier. Single step, half step and micro-stepping drives can be used with the board.
Trio Motion Technology Stepper Encoder Daughter Trio Product Code P240 ENCODER B D S E 0v 5 4 3 2 1 9 8 7 6 Description: ATYPE parameter for Stepper Encoder Daughter Board = 4 The stepper daughter board with position verification has all the features of the standard stepper daughter board.
Page 109
Motion Coordinator Technical Reference Manual Reference Encoder Input The encoder is connected via a 9 pin 'D' type socket mounted on the front panel. The plug supplied should be cable mounted and wired as shown below. The encoder port is designed for use with differential output 5 volt encoders. Pin.
Page 110
Trio Motion Technology Choosing an encoder for position verification: Stepper encoder daughter boards generate fewer pulses than the number of steps the controller considers the axis to be moving. The daughter board divides the number of steps the controller according to the axis parameter...
Motion Coordinator Technical Reference Manual Hardware PSWITCH Daughter Board Trio Product Code P242 ENCODER B D S E 0v 5 4 3 2 1 9 8 7 6 Description: The Hardware PSWITCH Daughter Board is recognised with ATYPE of 10 The hardware PSWITCH daughter board allows 4 open-collector outputs to be switched ON and OFF at programmed positions.
Page 112
The position at which output is set, in user units setpos: The position at which output is reset, in user units rspos: For full details, see the PSWITCH description in the Trio BASIC reference sec- tion. 4-24 Daughter Boards Hardware PSWITCH Daughter Board...
Motion Coordinator Technical Reference Manual Analog Output Daughter Board Trio Product Code P260 Description: The voltage output daughter board returns axis parameter of 6. ATYPE The Analog Output Daughter board provides a 12 bit +/-10v voltage output for driving inverters and other devices. The board is a simplified servo daughter board and the connections are similar.
Trio Motion Technology SSI Servo Encoder Daughter Board Trio Product Code P270 ENCODER - R 0v 9 8 7 6 parameter for Absolute Servo (SSI) Daughter Board = 7 Description: ATYPE The SSI daughter board provides the interface to a DC or Brushless servo motor fitted with an absolute SSI Gray Code encoder or encoder emulation.
Page 115
Motion Coordinator Technical Reference Manual Pin. function 5 4 3 2 1 9 8 7 6 data true data complement clock true clock complement 0V- must be connected even if an external PSU is used to power the encoder. marker (Z) true - can be used as a second general purpose regist input. marker (Z) complement - can be used as a second general purpose reg- ist input.
Page 116
Trio Motion Technology Software: The number of bits to be shifted in from the encoder attached to the SSI port is set using the axis parameter. This parameter defaults to 0 on SSI_BITS power up and this disables the reading of the encoder position into the MPOS parameter.
Motion Coordinator Technical Reference Manual Differential Stepper Daughter Board Trio Product Code P280 STEPPER 8 7 6 5 4 3 2 1 parameter for Differential Stepper Daughter Board = 4 Description: ATYPE The differential stepper daughter board is a stepper daughter board with the out- put signals provided as differential 5 volt signals on a 15 way 'D' connector.
Page 118
Trio Motion Technology All outputs are RS422 differential lines without terminating resistors. A 26LS31 line driver is employed. The fault input and registration inputs are single ended opto-isolated inputs that sink approximately 8mA. WARNING: The Fault input and Registration input are designed for 5volt operation. Apply- ing 24 volts will damage the input circuit.
2 and 7 if at the end of the CAN network. The daughter board CAN channel can be controlled using the Trio BASIC CAN com- mand. Trio are also building into the system software dedicated communication software to support particular communication protocols, such as that for INFRANOR SMT-BD CANbus drives and some CANopen drives.
Trio Motion Technology SERCOS Daughter Board Trio Product Code P291 parameter for CAN Daughter Board = 24 Description: ATYPE The SERCOS daughter board is designed to control up to 8 servo amplifiers using the standard SERCOS fibre-optic ring. It has the benefit of full isolation from the drives and greatly reduces the wiring required.
Motion Coordinator Technical Reference Manual SLM Daughter Board Trio Product Code P292 DrivelinK A+ A- R0 R1 R2 0V Description: ATYPE parameter for SLM Daughter Board = 22 The SLM daughter board is aimed at providing digital control channels for servo drives utilising the SLM protocol of Control Techniques.
Page 122
Trio Motion Technology A 6-way terminal is provided for power and registration inputs. Function 24V supply for SLM 0V supply for SLM Axis 0 24V registration capture input Axis 1 24V registration capture input Axis 2 24V registration capture input...
The USB daughter board provides a very high speed Universal Serial Bus link between the Motion Coordinator and a host PC fitted with a USB port. Support for this high speed interface is included in Trio's Motion Perfect 2 appli- cation and an ActiveX (OCX) software library is available which allows developers to include direct access to the Motion Coordinator within their own programs.
Modbus master to read and write integer or floating point values to the glo- bal VRs and to access the I/O. Support for Ethernet is included in Trio's Motion Perfect 2 application and an Software Support ActiveX (OCX) software library is available which allows developers to include direct access to the Motion Coordinator within their own programs.
+5v Output Not Connected Data Line A Not Connected Example: A example Trio BASIC Profibus driver for cyclic data transfer is available from the Trio Web Site (in the DOWNLOADS section, under Applica- www.triomotion.com tion Notes). This program sets up the SPC3 chip for transfer of 16 integers from the master and 16 integers to the master on a cyclic basis as determined by master unit.
A third option is for machine manufacturers to build a dedicated operator interface for their application. Dedicated operator interfaces can be easily connected to the Trio fibre-optic network by building in a flexible interface board: FO-VFKB.
Page 131
100m, with drop lines or spurs of up to 6m in length. At both ends of the net- work, 120 Ohm terminating resistors are required between the CAN_H and CAN_L connections. The resistor should be 1/4 watt, 1% metal film. Trio STATUS ENCODER...
Page 132
LENZE drives. The DIP switch marked “PR” selects the protocol to be used. Switched right it selects the TRIO protocol, switched left it selects the module to act as a LENZE drive expansion I/O.
Page 133
Motion Coordinator Technical Reference Manual TRIO Protocol: The switch marked PR is set ON to select the standard TRIO protocol. The top 6 DIP switches on the CAN 16-I/O set the module address. Only addresses 0 - 15 are valid for CAN 16-I/O modules.
Page 134
Trio Motion Technology LED Indicators When NS is ON LEDs marked 0 - 15 represent the input channels 0 - 15 of the module. The actual input as seen by the Motion Coordinator software will depends on the I/O modules address:...
Page 135
• CAN I/O channels 16 - 64 have the next fastest operation <2mS • CAN I/O channels 64 - 191 have the next fastest operation <8mS It is not possible to mix the CAN 16-I/O module which is running the TRIO I/O pro- tocol with DeviceNet equipment on the same network.
Page 136
Trio Motion Technology Specification Inputs: 16 24volt inputs channels with 2500v isolation Outputs: 16 24volt output channels with 2500v isolation Configuration: 16 bi-directional channels Outputs are rated at 250mA/channel. (1 Amp total/ Output Capacity: bank of 8 I/O's) Protection: Outputs are overcurrent and over temperature pro-...
The CAN Analog Input Module has 3 disconnect terminal connectors: Input Bank 0..7 with DeviceNet physical format 0v reference and earth 5 way CAN connector 0v 24v Trio CAN Analog P325 Inputs NODE ADDRESS The lower 10 way connector is unused...
Page 138
Trio Motion Technology DIP Switch Settings The switch marked “PR” selects the protocol, but is currently unused as only the TRIO protocol is available. The switch marked DR sets 125kHz or 500kHz. Only 500Khz is valid with the TRIO protocol.
Page 139
AIN0, AIN1, AIN2, and AIN3. This allows these values to be seen using the SCOPE function. The P325 works “single ended” and does not return differential values. It is not possible to mix the P325 module which is running the TRIO I/O protocol with DeviceNet equipment on the same network. Troubleshooting...
Page 140
Trio Motion Technology Specification Analog Inputs: 8+/-10 volt inputs with 500v isolation from CAN bus Resolution: 12 bit Protection: Inputs are protected against 24v over voltage. Via DIP switches Address Setting: 24V dc, Class 2 transformer or power source. Power Supply: 18 ...
Motion Coordinator’s serial ports. Using the Trio Fibre-Optic Network Trio supply a range of operator interfaces which are designed to connect via the Motion Coordinator’s fibre-optic network connection. these are: • P502 - Membrane Keypad •...
The only other connection neces- sary is a 24 Volts DC power supply input. The TRIO fibre optic network has been designed to link up to fifteen Motion Coordinator modules and membrane keypads. Any number of either type of module can be on the network up to the maximum of fifteen but at least one must be a Motion Coordinator.
Page 144
Trio Motion Technology Mounting the Membrane Keypad To mount the Membrane Keypad a rectangular cutout and four holes are required, as shown below. The Keypad is offered up to the front of the panel and fixed with the four studs in the corners of the Keypad. A depth of 50mm behind the front panel is needed to mount the Keypad, with an extra 50mm clearance for the fibre optic connector on the back.
Motion Coordinator Technical Reference Manual Mini-Membrane Keypad (P502) Trio MotionTechnology Trio MotionTechnology The Mini-Membrane Keypad is a lower cost alternative to the full membrane key- pad. The keypad has 25 tactile keys. Incorporated into the keypad is a two line by twenty character vacuum fluorescent display.
The connections are identical to the membrane keypad. Programming the Membrane Keypad The Keypads make use of standard Trio BASIC commands to write to the dis- play and read from the keypad. The output /input device should be specified as 4 or 3 in any PRINT, GET, or KEY statement E.G.
Page 147
Motion Coordinator Technical Reference Manual Writing to the Membrane and Mini-Membrane Display The Trio BASIC command is used to write to the display. By using the PRINT command with the it is possible to send control codes to the display to...
Page 148
Trio Motion Technology Reading from the Membrane Keypad/Mini-Membrane Keypad Use the KEY command to test if a key has been pressed and the GET command to read which key has been pressed. For simplicity and consistency it is rec- ommended to use KEY and GET with the #4 channel number. It is also pos- sible to use the #3 channel number, in which case the numbers returned can be modified using DEFKEY.
Page 149
Trio Motion Technology Key # Get #4 Get #3 Value Value <enter> *Menu Select 4 (Bottom Left) *Menu Select 3 Menu Select 2 Menu Select 1 (Top Left) Menu Select 5 (Top Right) Menu Select 6 *Menu Select 7 *Menu Select 8 (Bottom...
GET#3. This is because the KEY RELEASED character (31) is not included in the DEFKEY table used with GET#3. This character sequence is formatted as a Trio network message (type 4). It is designed to work only when there is one keypad and one Motion Coordinator OR where the keypad is the next node in the network.
Page 151
Trio Motion Technology Summary of Features P503 Membrane Keypad P502 Mini-Membrane Material Polyester top layer resistant Polyester top layer resistant to most solvents to most solvents Data Output 8 bit serial, no parity 8 bit serial, no parity 5-25 Expansion Modules...
Trio Motion Technology FO-VFKB Fibre Optic Keypad/Display Interface This is not packaged as a module like the rest of the TRIO range. Instead it is a single PCB designed to fix directly on to the back of a Vacuum Fluorescent dis- play to allow customers to easily build their own design of membrane keypad on the Trio fibre-optic network.
Page 153
Trio Motion Technology gram to accept run-time data from an operator or scroll through a menu for example. Connection to the keypad is made via a short ribbon cable between the 16 way IDC plug on the back of the FO-VFKB module and the similar con- nector on the back of the keypad.
Serial to RS485 Adapter: (P348) The Serial to RS485 adapter is designed to buffer the logic level serial port connections on Trio Euro205, MC202 and MC216 Motion Coordinators. It con- tains an opto-isolated RS485 full-duplex buffer. This gives 4 wire RS485 output.
Page 155
Trio Motion Technology Motion Coordinator Side Pins: 9 Way Male ‘D’ Connector: +5v input to power adapter RS232 Receive pass-through RS232 Transmit pass-through 0v input to power adapter RS232 Pass-through 0v no connection Transmit enable input Logic level receive Logic level transmit RS485 Side Pins: 25 Way Female ‘D’...
Trio Motion Technology P349 - Serial to RS485 adapter to an MC202: The following cable connections should be used for connecting an MC202 to the RS485 adapter: 9 Way Function Pin: 5 volts 0 volts RS232 transmit RS232 0v RS232 receive...
Connector The P435 Fibre Optic Adapter may be connected to the MC202, Euro205 or MC206 controllers to enable the connection of the Trio Mini-membrane, Membrane Key- pad and the FO-VFKB. The adapter provides a pass-through connector for the RS-232 serial port.
Motion Coordinator Technical Reference Manual Preliminary Concepts: Host Computer A Windows PC running Motion Perfect 2. Motor A tuned servo drive / motor configuration for a servo axis or a stepper motor and drive combination Prompt When the controller is ready to receive a new command, the prompt >>...
Trio Motion Technology Preliminary checks All wiring should be checked for possible misconnection and integrity before any power is applied. • Disconnect all external connectors from the system, apart from the CANBus and ribbon cable bus (only required if using an Axis Expander module) •...
Page 163
Motion Coordinator Technical Reference Manual Example: This message would be produced by a Motion Coordinator MC216 with the follow- ing configuration: • System Software version 1.48 • Two servo daughter boards in axis slots 0 and 1. • A encoder daughter board in axis slot 2.
Trio Motion Technology Input/Output Connections: • Check each of the 24v input connections with a meter then connect them to the controller. • Test each of the input channels being used for correct operation in turn. These may be easily viewed in the I/O window. Use “IO Status” under the “Tools”...
Page 165
Motion Coordinator Technical Reference Manual Swap BOTH motor terminals and tacho terminals (DC motors only!) On many • digital brushless motors the direction can be reversed by a drive setting, or If the drive has differential inputs, reverse the voltage as it enters the •...
Trio Motion Technology Setting Servo Gains The servo system controls the motor by constantly adjusting the voltage out- put which gives a speed demand to the servo drive. The speed demand is worked out by looking at the measured position of the axis from the encoder comparing it with the demand position generated by the Motion Coordinator.
Page 167
Motion Coordinator Technical Reference Manual The editor built into Motion Perfect may be used to enter the test program. Click on Program, New from the pull down menus and enter a program name, replacing the name . Now click on the EDIT button and an edit window will be UNTITLEDx opened where the program shown above may be typed in.
Trio Motion Technology Proportional Gain Description The proportional gain creates an output voltage, Op that is proportional to the following error E. Op = Kp x E Axis parameter is called P_GAIN Syntax: P_GAIN=0.8 All practical systems use proportional gain, many use this gain parameter Note: alone.
Motion Coordinator Technical Reference Manual Output Velocity Gain Description This increases the system damping, creating an output that is proportional to the change in measured position. Oov = Kov x DPm. This parameter can be useful for smoothing motions but will generate high fol- lowing errors.
Page 170
Trio Motion Technology Servo Loop Diagram Trio BASIC Command Interpreter Velocity Profile / Interpolation Demand Position Demand Speed DPOS Measured Following Position Error MPOS Proportional Derivitive Integral Velocity Gain Gain Gain FeedForward P_GAIN D_GAIN I_GAIN V F F _ G A I N...
Trio Motion Technology Diagnostic Checklists Problem Potential reasons No Status LEDs on any mod- • Power Supply LEDs lit on Master but not • Ribbon cable / Bank select switch on other modules OK LED ON & • Following error on at least one axis. The axis...
Page 172
Trio Motion Technology Problem Potential reasons Axis losing position • encoder coupling • encoder signal (wire length, differential/single ended encoder) • mechanics Motion Perfect cannot • Controller running a program which transmits “connect” with the control- on serial port 0. If this prevents Motion Perfect...
Statements in your program must be written using a set of rules known as 'Syntax'. You must follow these rules if you are to write Trio BASIC programs. Trio BASIC instructions are divided into the following types: • Instructions Program Flow •...
Trio Motion Technology Sequence The ability to process a series of instructions, in a logical order, and to control the flow by branching to another part of the program. Normally, a program executes statements in sequence starting at the top. In order to branch between different sections of the program we need to be able to identify specific sections of the code.
Example: IF we have made a complete batch stop the machine THEN Trio BASIC Instructions: IF … THEN … ELSE … ENDIF ON ... GOTO ON ... GOSUB Iteration To repeatedly execute one or more commands automatically, either for a specified number of times, or until a certain condition is met or event occurs.
Page 178
Trio Motion Technology The program would set the variable to a value of 1 and then go to the next line to . After the print, the command would return the program to PRINT NEXT command and increment the value of T to make it 2. When the PRINT command is used again, the value of T has changed and a new value is printed.
Each instruction will be assigned its own reserved word in the language. For example the instruction in Trio BASIC is used to display a message or PRINT numeric value on the computer screen or another output device, such as a printer.
Motion Coordinator Technical Reference Manual Trio BASIC has three different variable types: named variables These are LOCAL variables - i.e. they are only valid within the task they are defined. Each process can define up to 256 named variables (1024 on MC206).
Page 182
Example 2: you could use an expression directly: (MOVE is a Trio BASIC instruction) MOVE(widget_length+10) ‘ Example 3: Sometimes an expression is used to make a decision.. IF batch_count = batch_size THEN GOTO batch_done 7-10 Programming...
32 bit integer. The parameters are all set to default values on every power up. Parameters are read from and written to like variables. The Trio BASIC assumes the current BASE axis is the required axis unless the AXIS modifier is used: >>P_GAIN=2...
Page 184
Trio Motion Technology Forcing priority of program execution When a user program is running, it is known as a 'task', or a 'process'. The number of simultaneous processes available is dependant on the controller type. When a program is started, the Motion Coordinator will allocate it to a process automatically to make the system easier to use.
Page 185
Motion Coordinator Technical Reference Manual The two highest numbered processes (14 and 13 in our example MC216) are allocated a fixed time slot. These are referred to as the “fast” tasks. They should be used for processes which require: • Guaranteed processing every servo cycle •...
Page 186
Trio Motion Technology Examples: No fast tasks, two normal / slow tasks Table 2: No fast tasks, three normal / slow tasks Table 3: Two fast tasks, two normal / slow tasks Table 4: One fast task, two normal / slow tasks This example shows the case where there is one fast task only.
“Terminal” window in Motion Perfect. The command line interface always uses channel 0. Typing Commands for Immediate Execution When the controller is waiting for a Trio BASIC command to be typed in it prints the prompt >> Example: >>PRINT “HELLO”...
Page 188
Trio Motion Technology Limitations of the command line The command line interface is intended to execute single commands. It is not possible to process multiple-statement lines or those commands which control the sequence or 'flow' of a program. For example, the following type of commands are not available on the command line: •...
Page 189
Motion Coordinator Technical Reference Manual Example Programs Example 1 start: TICKS=0 PRINT "Press a key" WAIT UNTIL KEY GET k PRINT "You took ";-TICKS/1000;" seconds" GOTO start Example 2 'Set speed then move forward then back: PRINT "EXAMPLE PROGRAM 2" SPEED=100 ACCEL=1000 DECEL=1000...
Page 190
Trio Motion Technology 7-18 Programming Command Line Interface...
Syntax: ACC(rate of acc) Note: This command is provided to aid compatibility with older Trio controllers. Accelera- tion rate and deceleration rate are recommended to be set with the ACCEL and DECEL axis parameters. Sets both the acceleration and deceleration rate simultaneously...
' Superimpose axis 2 profile on axis 1 ADDAX Type: Command Syntax: ADDAX(axis) Description: The ADDAX command is used to superimpose 2 or more movements to build up a more complex movement profile: 8-12 Trio BASIC Commands Motion and Axis Commands...
Page 203
REPEAT GOSUB getoffset' Get offset to apply MOVE(offset) AXIS(2) UNTIL IN(2)=ON Axis 0 in this example executes a continuous FORWARD and a superimposed MOVE on axis 2 is used to apply offsets Trio BASIC Commands 8-13 Motion and Axis Commands...
Description: If it is required to change every subsequent command the BASE command should be Note: used instead. Parameters: Expression: Any valid Trio BASIC expression. The expression should be an axis number. Example 1: >>PRINT MPOS AXIS(3) Example 2: MOVE(300) AXIS(2)
Each process has its own BASE group of axes and each program can set values independently. The Trio BASIC program is separate from the MOTION GENERATOR program which controls motion in the axes. The motion generator has separate functions for each axis, so each axis is capable of being programmed with its own speed, acceleration, etc.
TABLE command. The movement may be defined with any number of points from 2 to 16000 (8000 on MC202). The controller interpolates between the values in the table to allow small numbers of points to define a smooth profile. 8-16 Trio BASIC Commands Motion and Axis Commands...
Page 207
To load the table and cycle it continuously the pro- gram would be: GOSUB camtable loop: CAM (1,19,1,200) GOTO loop Note: The subroutine camtable loads the data into the cam TABLE, as shown in the graph below. Trio BASIC Commands 8-17 Motion and Axis Commands...
Page 208
21160 23396 24500 24396 23160 21000 18236 15263 12500 10340 9103 9000 Note 2: When the CAM command is executing the ENDMOVE parameter is set to the end of the PREVIOUS move 8-18 Trio BASIC Commands Motion and Axis Commands...
This parameter specifies the axis to link to. It should be set to link axis: 0..7 (MC206), 0..15 (MC216), 0..7 (Euro205), 0..2 (MC202) Trio BASIC Commands 8-19 Motion and Axis Commands...
Page 210
' Subroutine to generate a SIN shape speed profile ' Uses: p is loop counter ' num_p is number of points stored in tables pos 0..num_p ' scale is distance travelled scale factor FOR p=0 TO num_p TABLE(p,((-SIN(PI*2*p/num_p)/(PI*2))+p/num_p)*scale) NEXT p 8-20 Trio BASIC Commands Motion and Axis Commands...
Page 211
“start”. This example uses the table points 0.30 generated in Example 1: CAMBOX(0,30,800,80,15,2,start) Note: The start of the profile shape in the TABLE The end of the profile shape in the TABLE Trio BASIC Commands 8-21 Motion and Axis Commands...
Page 212
The system software resets bit 1 of REP_OPTION to 0 when the mode has been can- Note: celled. Axis 0 Position Axis 3 forward with auto-looping CAMBOX Shape from TABLE values Axis 3 Position Axis 3 in reverse auto-looping CAMBOX 8-22 Trio BASIC Commands Motion and Axis Commands...
Page 213
Therefore in this mode only there are 3 independently positioned blocks TABLE used to define the required motion: This is directly pointed to by the command as in any SHAPE BLOCK CAMBOX CAMBOX Trio BASIC Commands 8-23 Motion and Axis Commands...
Page 214
Alternatively a new control block pointer can be used to point to a further control block. Note: READ/WRITE values can be written to by the user program during the pattern CAM- BOX execution. 8-24 Trio BASIC Commands Motion and Axis Commands...
Page 215
CAMBOX is loaded, not on transitions from CONTROL BLOCK to CONTROL BLOCK. This effect can easily be compensated for either by increasing the required number of repeats, or setting the initial value of REPEAT POSITION to 1. Trio BASIC Commands 8-25 Motion and Axis Commands...
WA(10000) CANCEL' stop movement after 10 seconds Example 2: MOVE(1000) MOVEABS(3000) ' now change your mind: ’ move to 4000 not 3000 CANCEL(1) MOVEABS(4000) ’ MOVEMODIFY would be better for this ! 8-26 Trio BASIC Commands Motion and Axis Commands...
SERVO AXIS(1)=OFF ' This axis is used to monitor the conveyor SERVO=ON CONNECT(0.25,1) Note 2: To achieve an exact connection of fractional ratio’s of values such as 1024/3072. The MOVELINK command can be used with the continuous repeat link option set Trio BASIC Commands 8-27 Motion and Axis Commands...
The axis then moves at creep speed forward until the datum switch is reset. The Demand position is then reset to zero and the Meas- ured position corrected so as to maintain the following error. 8-28 Trio BASIC Commands Motion and Axis Commands...
The units of the parameter are dependant on the unit conversion fac- rate: tor. The deceleration factor is entered in UNITS/SEC/SEC. Note: ACC() sets both the acceleration and deceleration rates. DEC() sets only the decel- eration rate. Trio BASIC Commands 8-29 Motion and Axis Commands...
DEFPOS statements are internally converted into OFFPOS position offsets which pro- vide an easy way to avoid the problem described: DEFPOS(100) WAIT UNTIL OFFPOS=0' Ensures DEFPOS is complete before next line MOVEABS(0) 8-30 Trio BASIC Commands Motion and Axis Commands...
Address where pattern to use for comparison has been recorded. See also: REGIST and RECORD Example: dec_dist=SPEED*SPEED*0.5/DECEL length=10 REP_DIST=100*length DEFPOS(0) REGIST(5,length) MOVE(2*length) WAIT UNTIL MARK IF TRANSITIONS>4 AND TRANSITIONS<12 THEN MATCH(8,10) IF REG_MATCH>0.8 THEN Trio BASIC Commands 8-31 Motion and Axis Commands...
The parameter is set to 0 or 1. See MOVECIRC. The distance to move on the third axis in the BASE array axis in distance3: user units 8-32 Trio BASIC Commands Motion and Axis Commands...
A system is working with a unit conversion factor of 1 and has a 1000 line encoder. It is therefore necessary to give the instruction MOVE(40000) to incrementally move 10 turns on the motor. (A 1000 line encoder gives 4000 edges/turn) Trio BASIC Commands 8-33 Motion and Axis Commands...
3 pos: position to move to on next axis in BASE array. n pos: position to move to on next axis in BASE array Note: The MOVEABS command can interpolate up to the full number of axes available on the controller. 8-34 Trio BASIC Commands Motion and Axis Commands...
Page 225
FOR x=0 TO 5 FOR y=0 TO 7 'MOVE TO PICK UP POINT: MOVEABS(-340,-516.5) 'PICK UP SUBROUTINE: GOSUB pick PRINT “MOVE TO POSITION: “;x*6+y+1 MOVEABS(x*85,y*85) 'PLACE DOWN SUBROUTINE: GOSUB place NEXT y NEXT x Trio BASIC Commands 8-35 Motion and Axis Commands...
If the end point specified is not on the cir- Specified End Point Actual cular arc. The arc will end at the angle End Point specified by a line between the centre and the end point. Start 8-36 Trio BASIC Commands Motion and Axis Commands...
“link” axis to result in the motion on the base axis. positive incremental distance in user units on the input axis link acc: over which the base axis accelerates. Trio BASIC Commands 8-37 Motion and Axis Commands...
Page 228
The “link” axis may move in either direction to drive the output motion. The link distances specified are always positive. Parameters 6 and 7 are optional. Note 2: MOVELINK(75,100,0,0,link axis) Input Axis Measured Position 8-38 Trio BASIC Commands Motion and Axis Commands...
Page 229
Rule 1: In an acceleration phase to a matching speed the link distance should be twice the movement distance. The acceleration phase could therefore be specified alone as: MOVELINK(0.4,0.8,0.8,0,1)' move is all accel Trio BASIC Commands 8-39 Motion and Axis Commands...
Page 230
MOVELINK(50,25). If it were desired to accelerate up over the first spindle revolu- tion and decelerate over the final 3 the command would be MOVELINK(50,25,1,3). MOVELINK and CAMBOX can be programmed to commence automatically relative to an absolute position on the link axis. 8-40 Trio BASIC Commands Motion and Axis Commands...
MARK parameter is set TRUE and the posi- tion is stored in REG_POS. On the MC206 built-in axes 2 registration registers are provided for each axis. This allows 2 registration sources to be captured simultane- 8-42 Trio BASIC Commands Motion and Axis Commands...
Page 233
Less than OPEN_WIN or Greater than CLOSE_WIN The REGIST command must be re-issued for each position capture. Note: Example: REGIST(3+256) WAIT UNTIL MARK PRINT "Registration Input Seen at:";REG_POS Trio BASIC Commands 8-43 Motion and Axis Commands...
Note: The reverse motion can only be stopped by issuing a CANCEL or by hitting the reverse, inhibit or datum limits. Example: back: REVERSE 'Wait for stop signal: WAIT UNTIL IN(0)=ON CANCEL 8-44 Trio BASIC Commands Motion and Axis Commands...
This is to allow for any noise on the incoming signal which could make the value negative and cause an error because a negative speed is not valid for any move type except FORWARD or REVERSE. Trio BASIC Commands 8-45 Input / Output Commands...
CURSOR Type: Command The CURSOR command is used in a print statement to position the cursor on the Trio Description: membrane keypad and mini-membrane keypad. CURSOR(0), CURSOR(20), CUR- SOR(40),CURSOR(60) are the start of the 4 lines of the 4 line display. CURSOR(0) and CURSOR(20) are the start of the 2 line display.
GET#4 sequence. A GET#4 sequence does not use the DEFKEY table. In this example a number representing which key has been pressed is put in the variable k: GET#4,k Trio BASIC Commands 8-47 Input / Output Commands...
With two parameters specified the given flag is set to the value of the second parameter. The FLAG command is provided to aid compatibility with earlier controllers and is not recommended for new programs. 8-48 Trio BASIC Commands Input / Output Commands...
Waits for the arrival of a single character on the default serial port 0. The ASCII value of the character is assigned to the variable specified. The user program will wait until a character is available. Example: Trio BASIC Commands 8-49 Input / Output Commands...
Page 240
Get a key in a user menu routine g_edit: PRINT #kpd,CHR(12);CHR(14);CHR(20); PRINT #kpd,CURSOR(00);"<=|General Setup1|=>"; PRINT #kpd,CURSOR(20);"Cut Length : ";VR(clength) GET #kpd,option IF option=lastmenu OR option=f1 THEN RETURN IF option=menu_l2 THEN GOSUB set_cut_length GOTO g_edit 8-50 Trio BASIC Commands Input / Output Commands...
GOTO moveloop Note how the move command is constructed: Step 1: IN(4,7) will get a number 0..15 Step 2: multiply by 1.5467 to get required distance Step 3: absolute MOVE by this distance Trio BASIC Commands 8-51 Input / Output Commands...
0 as the command line process will remove the charac- ters. Programs needing a “terminal” style interface should use one of the channel 6 to channel 7 ports if using Motion Perfect. 8-52 Trio BASIC Commands Input / Output Commands...
A true result will be reset when the char- acter is read with GET. The KEY command checks the channel specified by INDEVICE or by a # channel number. Trio BASIC Commands 8-53 Input / Output Commands...
The string must be terminated with a carriage return <CR> which is also stored. The string is not echoed by the control- ler. Parameters: None. Example: LINPUT VR(0) 8-54 Trio BASIC Commands Input / Output Commands...
Page 245
This sets the bit pattern 10010 on the first 5 physical outputs, outputs 13-31 would be cleared. Note how the bit pattern is shifted 8 bits by multiplying by 256 to set the first available outputs as 0 to7 do not exist. Trio BASIC Commands 8-55 Input / Output Commands...
Command. Description: The PRINT command allows the Trio BASIC program to output a series of characters to either the serial ports or to the fibre optic port (if fitted). The PRINT command can output parameters, fixed ascii strings, and single ascii characters. Multiple items to be printed can be put on the same PRINT line provided they are separated by a comma or semi-colon.
Page 247
OUTDEVICE. Parameters: Output device:- Serial port 0 Serial port 1 Serial port 2 Fibre optic port Fibre optic port duplicate RS-232 port A - channel 5 RS-232 port A - channel 6 Trio BASIC Commands 8-57 Input / Output Commands...
0..number of axes on the controller. For a hardware PSWITCH it should be set to the axis slot number. opno: Selects the physical output to set, should be in range 8..31. For a hard- ware PSWITCH it should be set to 0..3. 8-58 Trio BASIC Commands Input / Output Commands...
Page 249
The output is to be on for a period of 120° after 80° therefore it goes rspos off at 200°. So the reset position is 200. This can all be put together to form the two lines of Trio BASIC code that set up the position switch: switch: UNITS AXIS(0)=10' Set unit conversion factor (°)
RECORD(count, table address) Description: The RECORD command is part of the pattern recognition system built into the Motion Coordinator. Following the recording of a sequence of transitions the RECORD com- mand is used to: 8-60 Trio BASIC Commands Input / Output Commands...
Motion Coordinator jumping to a subroutine determined by the variable value. The program on the controlling Motion Coordinator would have the following send routine: SEND(10,1,100,value)' Set vr(100) on dest. to value Trio BASIC Commands 8-61 Input / Output Commands...
Description: Permits the serial communications parameters to be set by the user. By default the controller set the RS232-C port to 9600 baud, 7 data bits, 2 stop bits and even parity. 8-62 Trio BASIC Commands Input / Output Commands...
Page 253
4. The ADDRESS parameter must also be set before the Modbus protocol is activated. ‘ set up RS485 port at 19200 baud, 8 data, 1 stop, even parity ‘ and enable the MODBUS comms protocol ADDRESS=1 SETCOM(19200,8,1,2,2,4) Trio BASIC Commands 8-63 Input / Output Commands...
This command may only be used as part of an ON... GOSUB or ON... GOTO com- mand. When used in this context it defines a routine to be run when an error occurs in a Trio BASIC command. Example: ON BASICERROR GOTO error_routine ..(rest of program)
Page 256
TRUE it executes the commands specified, otherwise the commands are skipped. MC206 and MC224 only. Parameters: condition(s): Any logical expression. Any valid Trio BASIC commands including further IF..THEN commands: ..{ELSEIF}..{ELSE} ENDIF sequences Example 1: IF IN(stop)=ON THEN...
Once the variable is greater than the end value the program drops out of the FOR..NEXT loop. Parameters: A valid Trio BASIC variable. Either a global VR variable, or a local variable: variable may be used. A valid Trio BASIC expression.
Trio Motion Technology A valid Trio BASIC expression. end: A valid Trio BASIC expression. (Optional) increment: Example 1: FOR opnum=10 TO 18 OP(opnum,ON) NEXT opnum This loop sets outputs 10 to 18 ON. Example 2: loop: FOR dist=5 TO -5 STEP -0.25...
PRINT "Measured Position=";MPOS;CHR(13); WA(1000) GOTO loop Note: Labels may be character strings of any length. Only the first 15 characters are sig- nificant. Alternatively line numbers may be used as labels. Trio BASIC Commands 8-69 Program Loops and Structures...
If the condition is false and an ELSE command sequence is specified then this command sequence is executed. Parameters: condition: Any logical expression. Any valid Trio BASIC commands including further IF..THEN commands: {ELSE} ENDIF sequences Note: IF.THEN {ELSE} ENDIF sequences can be nested without limit other than program...
If the value of the expression is less than 1 or greater than the number of labels then an error occurs. Once the label is selected a GOSUB is performed. Example: REPEAT GET #3,char UNTIL 1<=char AND char<=3 ON char GOSUB mover,stopper,change Trio BASIC Commands 8-71 Program Loops and Structures...
A conveyor is to index 100mm at a speed of 1000mm/s wait for 0.5s and then repeat the cycle until an external counter signals to stop by setting input 4 on. cycle: SPEED=1000 REPEAT MOVE(100) WAIT IDLE WA(500) UNTIL IN(4)=ON 8-72 Trio BASIC Commands Program Loops and Structures...
MOVEABS(x) AXIS(9) NEXT x STOP Type: Command Description: Stops one program at the current line. A particular program may be specified or the selected program will be assumed. Example 1: >>STOP progname Trio BASIC Commands 8-73 Program Loops and Structures...
REPEAT statement. REPEAT..UNTIL loops can be nested without limit. Example: ' This loop loads a CAMBOX move each time Input 0 comes on. ' It continues until Input 6 is switched OFF. 8-74 Trio BASIC Commands Program Loops and Structures...
Suspends program execution until the base axis has finished executing its current move and any further buffered move. This does not necessarily imply that the axis is stationary in a servo motor system. Note: Example: MOVE(100) WAIT IDLE PRINT "Move Done" Trio BASIC Commands 8-75 Program Loops and Structures...
WAIT UNTIL condition Description: Repeatedly evaluates the condition until it is true then program execution contin- ues. Parameters: A valid Trio BASIC logic expression. condition: Example 1: WAIT UNTIL MPOS AXIS(0)>150 MOVE(100) AXIS(7) In this example the program waits until the measured position on axis 0 exceeds 150 then starts a movement on axis 7.
Syntax: WHILE condition Description: The commands contained in the WHILE..WEND loop are continuously executed until the condition becomes FALSE. Execution then continues after the WEND. Parameters: Any valid logical Trio BASIC expression condition: Example: WHILE IN(12)=OFF MOVE(200) WAIT IDLE OP(10,OFF)
The text, enclosed in quotation marks, that is to be appended to the string: program AUTORUN Type: System Command Description: Starts running all the programs that have been set to run at power up. See Also: RUNTYPE. 8-78 Trio BASIC Commands System Parameters and Commands...
Used by Motion Perfect to read axis parameters. Reads banks of axis parameters. There are 2 banks of parameters for each axis, bank 0 displays the data that is only changed by the Trio BASIC, bank 1 displays the data that is changed by the motion generator.
Page 270
Daughter Slot 3 1 Mhz In addition to using the CAN command to control CAN channels, Trio is introducing specific protocol functions into the system software. These functions are dedicated software modules which interface to particular devices. The built-in CAN channel will automatically scan for Trio I/O modules if the system parameter CANIO_ADDRESS is set to its default value of 32.
The CANIO_ADDRESS holds the address used to identify the Motion Coordinator when using the Trio CAN I/O networking. The value is held in flash eprom in the con- troller and for most systems does not need to be set from the default value of 32.
This allows users to program their own protocols in Trio BASIC using the CAN command. The system software will set CANIO_ENABLE to ON on power up if the CANIO_ADDRESS is set to 32 and any P315 CAN I/O or P325 CAN analog modules have been detected, otherwise it will be set to OFF.
Sets all global (numbered) variables to 0 and sets local variables on the process on Description which command is run to 0. Trio BASIC does not clear the global variables automatically following a RUN com- Note: mand. This allows the global variables, which are all battery-backed to be used to hold information between program runs.
Port 2 Rx data ready Port 2 Rx Overrun Port 2 Parity Error Port 2 Rx Frame Error Error FO Network port Error FO Network port Error FO Network port Error FO Network port 8-84 Trio BASIC Commands System Parameters and Commands...
Description: Controller CONTROL MC202: Euro205 Euro205X MC206 PCI208 MC216: MC224: Note: When the Motion Coordinator is LOCKED, 1000 is added to the above num- bers. eg a locked MC206 will return 1206. Trio BASIC Commands 8-85 System Parameters and Commands...
This prints the number representing the current day. This number is the number of days since 1st January 1900, with 1 Jan. 1900 as 1. Trio has issued a year 2000 com- pliance statement which describes the year 2000 issue in relation to all Trio prod- ucts.
Allows the user to delete a program from memory. The command may be used with- Description: out a program name to delete a currently selected program. Motion Perfect users should use “Delete program...” on Program menu. Example: >>DEL "oldprog" Trio BASIC Commands 8-87 System Parameters and Commands...
To PLC from [TABLE(poll_base + poll_in_len + 1) -> TABLE(poll_base + poll_in_len + poll_out_len)] Example 1: ‘ Start the DeviceNet protocol on the built-in CAN port DEVICENET(-1,0,500,30,0,4,2) Example 2: ‘ Stop the DeviceNet protocol on the CAN board in slot 2 DEVICENET(2,1) 8-88 Trio BASIC Commands System Parameters and Commands...
3 ASICs. The master ASIC is 0, the first slave is 1 and the sec- ond slave is 2. The number of the register to be read. Register Example: >>PRINT DLINK(0,0,0,3) 117.0000 >> Write a register on the SLM™ ASIC. 8-90 Trio BASIC Commands System Parameters and Commands...
Page 281
The communications slot in which the interface daughter board Slot is inserted. The number of the ASIC to be used. ASIC Example: >>? DLINK(3,0,0) 0.0000 >> Assign a Motion Coordinator axis to a SLM channel. Trio BASIC Commands 8-91 System Parameters and Commands...
Page 282
The number of the SLM parameter to be read. See Function 4 Parameter The value to be set. Value Example: >>DLINK(6,0,0,0) >> Write an SLM command. If command is successful this function returns a TRUE, oth- erwise it returns FALSE 8-92 Trio BASIC Commands System Parameters and Commands...
Page 283
Return slot and asic number associated with an axis Parameters: Function Axis number. Axis 10 x slot number + ASIC number. Returns Example: >>PRINT DLINK(9,2) >>11.0000 This example is for slot 1, asic 1 Read an EEPROM parameter Parameters: Function Trio BASIC Commands 8-93 System Parameters and Commands...
Note - you should NOT enclose the string in quotes unless they need to be inserted into the program. &Z,<progname> Print the CRC checksum of the specified program. This uses the standard CCITT 16 bit generator polyno- mial 8-94 Trio BASIC Commands System Parameters and Commands...
System Command Description: Stores the Trio BASIC programs in the controller in the FLASH EPROM. This informa- tion is be retrieved on power up if the POWER_UP parameter has been set to 1. The EPROM(n) functions are only usable on an MC206 and MC224..
1 = Write to Flash EPROM 2 = Write to RAM The daughter board slot where the Ethernet port has been slot number: installed. On the MC206 this is always slot 0. 8-96 Trio BASIC Commands System Parameters and Commands...
Page 287
• The base axis array is reset to 0,1,2... on all processes • Axis following errors are cleared • Watchdog is set OFF • Programs may be run depending on POWER_UP and RUNTYPE settings • ALL axis parameters are reset. Trio BASIC Commands 8-97 System Parameters and Commands...
Note: To add servo axes to a EURO205 stepper base card the DAC chip must be added to the Euro205 in addition to enabling the feature. 8-98 Trio BASIC Commands System Parameters and Commands...
Page 289
To obtain a feature enable code, the feature must be ordered and the security code FAXed to Trio or a distributor. Example 2: In example one axes 0 and 1 are enabled for stepper operation. If axis 2 was required to operate as a stepper axis it would be necessary to obtain the password.
Parameters: variable number: The variable to be stored into flash Example 1: VR(25)=k FLASHVR(25) Example 2: FOR v=1 to 10 FLASHVR(v) NEXT v Example 3: FLASHVR(-1)’ Store TABLE memory to flash eprom 8-100 Trio BASIC Commands System Parameters and Commands...
Frame transformations to perform functions such as these need to be compiled from “C” language source and loaded into the controller system software. Contact Trio if you need to do this. A machine system can be specified with several different “frames”. The currently active FRAME is specified with the FRAME system parameter.
Page 292
NUMBER TOKEN 32 bit floating number END OF EXPRESSION TOKEN ) TOKEN ASSIGNMENT TOKEN IN TOKEN NUMBER TOKEN 32 bit floating point number END OF NUMBER TOKEN AND TOKEN END OF LINE 8-102 Trio BASIC Commands System Parameters and Commands...
This axis number is held in the system parameter LAST_AXIS. Axes higher than LAST_AXIS are not processed. LAST_AXIS is set automatically by the system software when an axis command is used. Trio BASIC Commands 8-103 System Parameters and Commands...
To re-load the system software you will need the system software on disk supplied by TRIO in COFF format. (Files have a.OUT suffix, for example C140.OUT) The download sequence: Run Motion Perfect in the usual way. Under the “Controller” menu select “Load sys- tem software...”.
Jnnn.OUT MC216 Cnnn.OUT MC224 Innn.OUT Updates can be obtained from Trio's website at WWW.TRIOMOTION.COM Note 2: Application programs should be stored on disk prior to a system software load and MUST be reloaded following a system software load. LOCK Type:...
Motion Perfect program, but can be used for user applica- tions. There are 4 valid settings Parameters channel type: Any valid Trio BASIC expression No channel handshaking, XON/XOFF controlled by the port. When the cur- rent output channel is changed then nothing is sent to the serial port. When...
This parameter returns the number of CAN analog input channels connected on the IO expansion CAN bus. For example an MC216 will return 8 if there is 1 x P325 CAN Module connected as it has 8 analog input channels. Trio BASIC Commands 8-107 System Parameters and Commands...
NEW "TABLE" must be in quotes) System Parameter (Read Only) Type: This parameter returns the number of inputs/outputs fitted to the system, or con- Description: nected on the IO expansion CAN bus. 8-108 Trio BASIC Commands System Parameters and Commands...
The POKE command allows a value to be entered into a memory location of the con- Description: troller. The POKE command can prevent normal operation of the controller and should only be used if instructed by Trio Motion Technology. POWER_UP Flash EPROM stored System Parameter...
PROFIBUS(slot,function<,register><,value>) Description: The command PROFIBUS provides access to the registers of the SPC3 ASIC used on the Profibus daughter board. Trio can supply sample programs using this command to setup and control a Profibus daughter board. 8-110 Trio BASIC Commands...
Transfers control of a process to the remote computer via a USB interface and the Trio OCX control. The REMOTE command is normally inserted automatically on to a process by the system software. When a process is performing the REMOTE function execution of BASIC statements is suspended.
1 to run automatically, autorun 0 for manual running optional to force process number <process number> Example: >>RUNTYPE progname,1,10 - Sets program “progeny” to run automatically on power up on process 10 8-112 Trio BASIC Commands System Parameters and Commands...
5 every 10 milliseconds. The MPOS will be stored in table values 0..499, the DPOS in table values 500 to 999. The sampling does not start until the TRIGGER com- mand is executed. Trio BASIC Commands 8-113 System Parameters and Commands...
When a program is selected any previously selected program is compiled. The SELECTed program cannot be changed when programs are running. Note: Motion Perfect automatically SELECTs programs when you click on their entry in the Note 2: list in the control panel. 8-114 Trio BASIC Commands System Parameters and Commands...
System Function Syntax: SERCOS(function#,slot,{parameters}) This function allows the SERCOS ring to be controlled from the Trio BASIC program- Description: ming system. A SERCOS ring consists of a single master and 1 or more slaves daisy- chained together using fibre-optic cable. During initialisation the ring passes through several ‘communication phases’...
The Motion Coordinator must be reset using the EX command before the new servo period will be applied. On the MC206 the servo period may be set to 1000,500 or 250 usec. 8-116 Trio BASIC Commands System Parameters and Commands...
Copy one block of 128 values from a sector on the FlashStick to TABLE memory. The function returns TRUE (-1) if the STICK_READ was successful and FALSE (0) if the command failed, if for example the FlashStick is not present. Trio BASIC Commands 8-117 System Parameters and Commands...
System Command Description: Stores an update to the system software into FLASH EPROM. This should only be necessary following loading an update to the system software supplied by TRIO. See also LOADSYSTEM. Warning: Removing the controller power during a STORE sequence can lead to the controller having to be returned to Trio for re-initialization.
Total number of points to be returned Format for the list format: Note: TABLEVALUES is provided mainly for Motion Perfect to allow for fast access to banks of TABLE values. 8-120 Trio BASIC Commands System Parameters and Commands...
System Command Description: Suspends the trace facility at the current line and resumes normal program execu- tion. A program name can be specified or the selected program will be assumed. Example: >>TROFF "lines" Trio BASIC Commands 8-121 System Parameters and Commands...
TSIZE can be reset using >>DEL “TABLE” UNLOCK System Command Type: Syntax: UNLOCK(code) Description: Enables full access to a Motion Coordinator which has a security lock code applied via the LOCK() command. 8-122 Trio BASIC Commands System Parameters and Commands...
USB of the MC206 or the slot number of an MC216/ Euro205. Specifies the function to be performed. function: 0: read register 1: write register The register number to read or write register: The value to write into a register value: Trio BASIC Commands 8-123 System Parameters and Commands...
10746: 15 00 00 00 Object code: from yyy to yyy 10750: 01 00 29 92 95 00 20 03 91 93 9A 64 95 00 00 7F 07 8E 91 9B 10771: 8-124 Trio BASIC Commands System Parameters and Commands...
Page 315
0 to 250, except on the MC206 which has 1024 VR’s numbered from 0..1023. The numbered variables are used for several purposes in Trio BASIC. If these requirements are not necessary it is better to use a named variable: The numbered variables are BATTERY BACKED (except on MC202) and are not cleared between power ups.- The numbered variables are globally shared between...
Labels may be character strings of any length. (The first 15 characters are signifi- cant) Alternatively line numbers can be used. Labels must be the first item on a line and should have no leading spaces. 8-126 Trio BASIC Commands System Parameters and Commands...
Page 317
Motion Coordinator Technical Reference Manual Example: start: The colon is also used to separate Trio BASIC statements on a multi-statement line. The only limit to the number of statements on a line is the maximum of 79 charac- ters per line.
Page 318
Description: The $ symbol is used to specify that the number that follows is in hexadecimal for- mat. Note: Only the MC206 and MC224 controllers support hexadecimal format. Example 1: VR(10)=$8F3B OP($CC00) 8-128 Trio BASIC Commands System Parameters and Commands...
ERROR_LINE Process Parameter (Read Only) Type: Description: Stores the number of the line which caused the last Trio BASIC error. This value is only valid when the BASICERROR is TRUE. This parameter is held independently for each process. Example: >>PRINT ERROR_LINE PROC(14)
“next move buffer” of the required axes if these are available. When this second transfer is complete the PMOVE parameter is cleared to 0. Each process has its own PMOVE parameter. 8-130 Trio BASIC Commands Process Parameters and Commands...
Example: PRINT PROC_LINE PROC(2) PROCNUMBER Process Parameter Type: Returns the process on which a Trio BASIC program is running. This is normally Description: required when multiple copies of a program are running on different processes. Example: MOVE(length) AXIS(PROCNUMBER) PROC_STATUS...
Trio Motion Technology RESET Process Command Type: Sets the value of all the local named variables of a Trio BASIC process to 0. Description: RUN_ERROR Type: Process Parameter Modifier: PROC Contains the number of the last program error that occurred on the specified proc- Description: ess.
Expression1: Any valid Trio BASIC expression Expression2: Any valid Trio BASIC expression Example: result=10+(2.1*9) Trio BASIC evaluates the parentheses first giving the value 18.9 and then adds the two expressions. Therefore result holds the value 28.9 - Subtract Type: Arithmetic operation Syntax <expression1>...
Expression1: Any valid Trio BASIC expression Expression2: Any valid Trio BASIC expression Example: factor=10*(2.1+9) Trio BASIC evaluates the brackets first giving the value 11.1 and then multiplies this by 10. Therefore factor holds the value 111 / Divide Type: Arithmetic operation Syntax <expression1>...
Returns TRUE if expression1 is equal to expression2, otherwise returns false. Note: TRUE is defined as -1, and FALSE as 0 Parameters: Expression1: Any valid Trio BASIC expression Expression2: Any valid Trio BASIC expression Example: IF IN(7)=ON THEN GOTO label If input 7 is ON then program execution will continue at line starting “label:”...
Returns TRUE if expression1 is greater than expression2, otherwise returns false. Note: TRUE is defined as -1, and FALSE as 0 Parameters: Expression1: Any valid Trio BASIC expression Expression2: Any valid Trio BASIC expression Example 1: WAIT UNTIL MPOS>200 The program will wait until the measured position is greater than 200 Example 2: VR(0)=1>0...
Description: Returns TRUE if expression1 is less than expression2, otherwise returns false. Note: TRUE is defined as -1, and FALSE as 0 Parameters: Any valid Trio BASIC expression Expression1: Any valid Trio BASIC expression Expression2: Example: IF AIN(1)<10 THEN GOSUB rollup If the value returned from analog input 1 is less than 10 then execute subroutine “rollup”...
Type: Syntax: ABS(expression) Description: The ABS function converts a negative number into its positive equal. Positive num- bers are unaltered. Parameters: Expression: Any valid Trio BASIC expression Example: IF ABS(AIN(0))>100 THEN PRINT "Analog Input Outside +/-100" ENDIF ACOS Type: Function...
IF (IN(6)=ON) AND (DPOS>100) THEN tap=ON Example 2: VR(0)=10 AND (2.1*9) Trio BASIC evaluates the parentheses first giving the value 18.9, but as was speci- fied earlier, only the integer part of the number is used for the operation, therefore this expression is equivalent to:...
ATAN2(expression1,expression 2) The ATAN2 function returns the arc-tangent of the ratio expression1/expression 2. Description: The result in radians is in the range -PI.. +PI Parameters: Expressions: Any valid Trio BASIC expression. Example: >>PRINT ATAN2(0,1) 0.0000 8-140 Trio BASIC Commands Mathematical Operations and Commands...
The program containing the CONSTANT definition must be run before the name is used in other programs. For fast startup the program should also be the ONLY proc- ess running at power-up. A maximum of 128 CONSTANTs can be declared. Trio BASIC Commands 8-141 Mathematical Operations and Commands...
Trio Motion Technology Mathematical Function Type: Syntax: COS(expression) Description: Returns the COSINE of an expression. Will work for any value. Input values are in radians. Parameters: Any valid Trio BASIC expression. Expression: Example: >>PRINT COS(0)[3] 1.000 >> Type: Mathematical Function Syntax:...
Modbus. MC206 and MC224 only. Parameters: Any combination of 8 bit values that represents a valid IEEE byte0 - 3: floating point number. Trio BASIC Commands 8-143 Mathematical Operations and Commands...
Page 334
Mathematical Function Type: Syntax: INT(expression) Description: The INT function returns the integer part of a number. Parameters: Any valid Trio BASIC expression. expression: Example: >>PRINT INT(1.79) 1.0000 >> Note: To round a positive number to the nearest integer value take the INT function of the (number + 0.5)
Page 335
Motion Coordinator Technical Reference Manual Mathematical Function Type: Syntax: LN(expression) Description: Returns the natural logarithm of the expression. Parameter: Any valid Trio BASIC expression. Mathematical Function Type: Syntax: MOD(expression) Description: Returns the integer modulus of an expression. Example: >>PRINT 122 MOD(13) 5.0000...
Page 336
Logical and bitwise operator Type: This performs an OR function between corresponding bits of the integer part of two Description: valid Trio BASIC expressions. The OR function between two bits is defined as follows: Parameters: Expression1: Any valid Trio BASIC expression...
Page 337
Bit number within the VR. Valid range is 0 to 23 bit # VR() number to use Example: SET_BIT(3,7) Will set bit 3 of VR(7) to 1. See also READ_BIT, CLEAR_BIT Type: Mathematical Function Syntax: SGN(expression) Trio BASIC Commands 8-147 Mathematical Operations and Commands...
Page 338
Any valid Trio BASIC expression. expression: Example: >>PRINT SIN(0) 0.0000 Mathematical Function Type: Syntax: SQR(number) Description: Returns the square root of a number. Parameters: Any valid Trio BASIC number or variable. number: Example: >>PRINT SQR(4) 2.0000 8-148 Trio BASIC Commands Mathematical Operations and Commands...
Page 339
Description: This performs and XOR function between corresponding bits of the integer part of two valid Trio BASIC expressions. It may therefore be used as either a bitwise or log- ical condition. The XOR function between two bits is defined as follows:...
OFF returns the value 0 Example: IF IN(56)=OFF THEN GOTO label ‘Branch if input 56 is off. Type: Constant Description: ON returns the value 1. Example: OP(lever,ON)’ This sets the output named lever to ON. 8-150 Trio BASIC Commands Constants...
Page 341
The constant TRUE takes the numerical value of -1. Description: Example: t=IN(0)=ON AND IN(2)=ON IF t=TRUE THEN PRINT "Inputs are on" ENDIF Type: Constant Description: PI is the circumference/diameter constant of approximately 3.14159 Example: circum=100 PRINT "Radius=";circum/(2*PI) Trio BASIC Commands 8-151 Constants...
Enabled Features on that Motion Coordinator. The ATYPE of Remote Axes must be set during initialisation in a suitable Trio BASIC program. e.g. STARTUP.BAS. On the MC202 the ATYPE parameter must be set to a value between 1 and 4 to select the axis function.
Page 343
Encoder power supply overload (MC206) 4096 Set on SSI axis after initialisation 8192 The AXISSTATUS axis parameter is set by the system software is read-only.. Example: IF (AXISSTATUS AND 16)>0 THEN PRINT "In forward limit" ENDIF Trio BASIC Commands 8-153 Axis Parameters...
Page 344
Description: The CAN_ENABLE axis parameter is used when control is being made of the remote servo drives with CAN communications. The CAN_ENABLE is used to control the ena- ble on the remote servo drive. 8-154 Trio BASIC Commands Axis Parameters...
Page 345
The creep speed is entered in units/sec programmed using the unit conversion fac- tor. For example, if the unit conversion factor is set to the number of encoder edges/inch the speed is programmed in INCHES/SEC. Example: BASE(2) CREEP=10 SPEED=500 DATUM(4) Trio BASIC Commands 8-155 Axis Parameters...
Page 346
The SERVO DAUGHTER BOARD/MC202 hardware inverts the signal compared to the number. Example: To force a square wave of amplitude +/-5V and period of approximately 500ms on axis 0. WDOG=ON SERVO AXIS(0)=OFF square: DAC AXIS(0)=1024 WA(250) DAC AXIS(0)=-1024 WA(250) GOTO square 8-156 Trio BASIC Commands Axis Parameters...
Page 347
DAC parameter. The polarity is still reversed however by DAC_SCALE. When a Servo Daughter Board is used in an MC206 the default DAC_SCALE parameter for that axis will be 1. Example: >>DAC_SCALE AXIS(3)=-16 >> Trio BASIC Commands 8-157 Axis Parameters...
Page 348
Example: DECEL=100' Set deceleration rate PRINT " Decel is ";DECEL;" mm/sec/sec" DEMAND_EDGES Type: Axis Parameter (Read Only) Allows the user to read back the current DPOS in encoder edges. Description: Example: >>PRINT DEMAND_EDGES AXIS(4) 8-158 Trio BASIC Commands Axis Parameters...
Page 349
The derivative gain is a constant which is multiplied by the change in following error. Adding derivative gain to a system is likely to produce a smoother response and allow the use of a higher proportional gain than could otherwise be used. Trio BASIC Commands 8-159 Axis Parameters...
Page 350
(WDOG) relay. If the result of the AND operation is not zero the enable relay is switched OFF. 8-160 Trio BASIC Commands Axis Parameters...
Page 351
The FASTDEC axis parameter is a reserved word, but is not currently used in the motion generator program. Type: Axis Parameter (Read Only) Description: This parameter is the position error, which is equal to the demand position(DPOS)- measured position(MPOS). The parameter is returned in user units. Trio BASIC Commands 8-161 Axis Parameters...
Page 352
Axis Parameter Syntax: FEGRAD=value Description: Following error limit gradient. Specifies the allowable increase in following error per unit increase in velocity profile speed. The parameter is not currently used in the motion generator program. 8-162 Trio BASIC Commands Axis Parameters...
Page 353
To do this the FHSPEED parameter is set to a non zero value. The value is in user units/ sec. Trio BASIC Commands 8-163 Axis Parameters...
Page 354
0..31. If FWD_JOG is set to -1 (default) then no input is used as a forward jog. Example: FWD_JOG=7 Feedhold, forward, reverse, datum and jog inputs are ACTIVE LOW. Note: 8-164 Trio BASIC Commands Axis Parameters...
Page 355
The jog will be at the JOGSPEED provided the FAST_JOG input has not be declared and is set low. Two separate jog inputs are available for each axis FWD_JOG and REV_JOG. Trio BASIC Commands 8-165 Axis Parameters...
Page 356
Only usable on MC206 built-in axes. MARKB returns TRUE when the Z registration position has been latched. This is set to FALSE by the REGIST command and set to true when the registration event occurs. When TRUE the REG_POSB is valid. See REGIST() and REG_POSB. 8-166 Trio BASIC Commands Axis Parameters...
Page 357
On these controllers the stepper pulse circuit contains a circuit which places the step pulses more evenly in time by dividing the pulse rate by 2 or 16: MICROSTEP=OFF (DEFAULT) 62.5 kHz Maximum 500 kHz Maximum MICROSTEP=ON Trio BASIC Commands 8-167 Axis Parameters...
Page 358
This value represents a snapshot of the speed and significant fluctuations can occur, particularly at low speeds. It can be worthwhile to average several readings if a stable value is required at low speeds. 8-168 Trio BASIC Commands Axis Parameters...
Page 359
This parameter holds the type of the next buffered move. The values held are as for Description: MTYPE. If no move is buffered zero will be returned. The NTYPE parameter is read only but the NTYPE can be cleared using CANCEL(1) Trio BASIC Commands 8-169 Axis Parameters...
Page 360
OFFPOS = -REG_POS ‘ Leading edge of box is now zero Note: The OFFPOS adjustment is executed on the next servo period. Several Trio BASIC instructions may occur prior to the next servo period. Care must be taken to ensure these instructions do not assume the position shift has occurred.
Page 361
High values may lead to oscillation and produce high following errors. For an output velocity term Kov and change in position ∆Pm, the contribution to the output signal is: ∆ Oov=Kov x Trio BASIC Commands 8-171 Axis Parameters...
Page 362
PP_STEP parameter must be an integer. Both X and Y axes must therefore be set to give 150 edges/mm: PP_STEP AXIS(0)=3 PP_STEP AXIS(1)=2 UNITS AXIS(0)=150 UNITS AXIS(1)=150 If used in a Servo axis, increasing PP_STEP will require a proportionate decrease of Note: loop gain. 8-172 Trio BASIC Commands Axis Parameters...
Page 363
This mark is detected and the length of the next sheet is adjusted by scaling the CAM profile with the third parameter of the CAM command: Example Registration Program using CAM stretching: ' Set window open and close: Trio BASIC Commands 8-173 Axis Parameters...
Page 364
REG_POSB Type: Axis Parameter (Read Only) Description: Useable only on MC206 built-in axes. REG_POSB returns the position at which a reg- istration Z mark was seen on an axis. See REGIST() for more details. 8-174 Trio BASIC Commands Axis Parameters...
Page 365
-REPEAT DISTANCE to +REPEAT DIS- TANCE (Assuming REP_OPTION=OFF). The Motion Coordinator will adjust its absolute position without affecting the move in progress or the servo algorithm. Trio BASIC Commands 8-175 Axis Parameters...
Page 366
When the input is asserted then the axis is moved forward at the JOGSPEED or axis SPEED depending on the status of the FAST_JOG input. Note: Feedhold, forward, reverse and datum inputs are ACTIVE LOW. 8-176 Trio BASIC Commands Axis Parameters...
Page 367
PP_STEP. Axis Command - Use the SPEED axis parameter for new applications. Type: Description: This format is only provided to simplify compatibility with earlier controllers. Sets demand speed of the current or base axis. Trio BASIC Commands 8-177 Axis Parameters...
Page 368
SSI encoder, users MUST therefore set a value depending on the encoder type. If the number of SSI_BITS is to be changed, the parameter must first be set to zero before entering the new value. Example: SSI_BITS AXIS(3)=12 SSI_BITS AXIS(7)=21 8-178 Trio BASIC Commands Axis Parameters...
Page 369
Frame transformations have to be specially written in the “C” language and downloaded into the controller. It is essential to contact Trio if you want to install frame transformations. Note: See also FRAME...
Page 370
STEP and DIRECTION signals hard wired to the encoder A and B inputs. If VERIFY=ON, the encoder circuit is configured for the usual quadrature input. Take care that the encoder inputs do not exceed 5 volts. Example: VERIFY AXIS(3)=ON VFF_GAIN Type: Axis Parameter 8-180 Trio BASIC Commands Axis Parameters...
Page 371
The velocity profile speed is an internal speed which is ramped up and down as the Description: movement is velocity profiled. It is reported in user units/sec. Example: Wait until command speed is achieved: MOVE(100) WAIT UNTIL SPEED=VP_SPEED Trio BASIC Commands 8-181 Axis Parameters...
Motion Coordinator Technical Reference Manual Example Programs 1 - Fetching an Integer Value from the Membrane Keypad The subroutine “getnum” fetches an integer value from the membrane keypad in variable “num”. The routine prints the number on the display bottom line at cur- sor position 70, although this can be set to other values.
Page 376
Trio Motion Technology GET#5,k IF k=72 AND dpoint=0 THEN dpoint=1 IF k=70 THEN negative=-negative IF k=69 THEN GOTO getnum IF k>=59 AND k<=61 THEN k=k-7 IF k>=66 AND k<=68 THEN k=k-17 IF k=71 THEN k=48 IF k>47 AND k<58 THEN k=k-48 IF dpoint>0 THEN...
Page 377
Motion Coordinator Technical Reference Manual The operation of the machine is quite simple, the cards are printed at a known fixed-pitch. Each cycle, the draw rolls must feed the card into position, an out- put is then fired to operate the punch. An input signals that the punch is clear of the cards and the cycle can repeat.
Page 378
Trio Motion Technology The above example shows only the simplest form of the main loop. It allows for a fixed offset value of 20, but there is no provision for error handling etc. An example where the code might be expanded to check for registration errors...
Page 379
Motion Coordinator Technical Reference Manual A vacuum operated pick-up mechanism collects objects from a conveyor and fills each of the boxes in turn. Product Sensor Infeed Conveyor Additional Information: Whist the palette size is fixed at the maximum size of 1.2m square, the program should be flexible enough to allow for a user-defined number of boxes on the pal- lette.
Page 380
Trio Motion Technology Structuring the program This example can be solved with a very simple structure using two nested loops. FOR..NEXT Firstly we create a loop to step through each row (Y) in turn: FOR y=0 to ydiv-1 NEXT y ‘ydiv’...
Page 381
Motion Coordinator Technical Reference Manual Calculating the box positions So now we have a sequence which steps sequentially through each row, and then through each position on that row in turn. We can use the absolute move ) command to position the axes at an absolute position in our X/Y MOVEABS coordinate system in the form MOVEABS(x,y)
Page 382
Trio Motion Technology constants: nozzle=8 ‘ output - nozzle raise/lower vacuum=9 ‘ output - vacuum on / off xdiv=6 ydiv=6 start: xscale=1200/xdiv xmid=xscale/2 yscale=1200/ydiv ymid=yscale/2 FOR y=0 TO xdiv-1 FOR y=0 TO ydiv-1 GOSUB pick MOVEABS((x*xscale)+xmid,(y*yscale)+ymid) WAIT IDLE GOSUB place...
Page 383
Motion Coordinator Technical Reference Manual Example 5 - Rotating Print Head with Registration Description A rotating print head prints a number on a conveyor mounted product. During printing the print head must be synchronized with the conveyor. The print posi- tion must be registered to be relative to a registration mark.
Page 384
Trio Motion Technology ’ Limit adjust to 10mm r_adj=REG_POS*0.5' Apply 50% of error IF ABS(r_adj)>10 THEN r_adj=SGN(r_adj)*10 OP(8,OFF) ELSE ’ mark not seen last cycle: Set Zero adjust r_adj=0 OP(8,ON)' light "no register" warning lamp ENDIF BASE(3)' Correction on axis 3 MOVELINK(75-r_adj,150,25,25,1) ‘...
Page 385
Motion Coordinator Technical Reference Manual Example 6 - Motion Coordinator programs sharing data Description These two programs run multi-tasking on a Motion Coordinator. The Motion Cycle program performs a movement. The Operator Interface program communi- cates with a membrane keypad to control the Motion Cycle program. In this sim- ple example of multi-tasking the two tasks communicate via two global variables.
Page 386
Trio Motion Technology pos=40 num=0 PRINT#4,CHR(20); REPEAT PRINT#4,CURSOR(pos);num[6,0]; GET#4,k IF k=69 THEN GOTO getnum IF k>=59 AND k<=61 THEN k=k-7 IF k>=66 AND k<=68 THEN k=k-17 IF k=71 THEN k=48 IF k>47 AND k<58 THEN k=k-48 num=num*10+k ENDIF UNTIL k=73...
Page 388
Trio Motion Technology Example 7 - Handling Axis Errors The Motion Coordinator controllers are designed to trap error conditions in hardware, and if required to automatically open the drive enable relay (watchdog) and to disable the output to the drives.
Page 391
Motion Coordinator Technical Reference Manual Motion Perfect 2 Motion Perfect 2 is an application for the PC, designed to be used in conjunction with the Motion Coordinator range of multi tasking motion controllers. Motion Perfect provides the user with an easy to use Windows based interface for controller configuration, rapid application development, and run-time diagnos- tics of processes running on the Motion Coordinator.
Note: You should always try to use the most recent version of Motion Perfect. Updates are available from your local distributor or you can download the latest version from the Trio Web site: WWW.TRIOMOTION.COM 10-4 Support Software Motion Perfect 2...
• Full Windows 32 bit Application • Designed for 32 Bit Windows (Windows 95,98, ME, and Windows 2000) • Full Support for Latest Trio Products • Supports controller locking for project security • Supports Feature Enable Codes for the Euro 205 and MC206 •...
USB if fitted to the controller. A suitable serial cable can be supplied by Trio Motion Technology. Motion Perfect may use either of the standard serial ports on a PC, COM1 or COM2, but it will connect quicker to your system if COM1 is used as this is the first port it tries.
Motion Coordinator Technical Reference Manual Motion Perfect 2 Projects One of the keys to using Motion Perfect is to understand its concept of a "Project". The project facilitates the application design and development proc- ess, by providing a disk based copy of the multiple controller programs, parame- ters and data which may be used for a single motion application.
Trio Motion Technology Project Check Options Save the controller contents to disk. Save If you have never connected with this controller before, and therefore do not have the project on your PC, or if there in an inconsistency in the project check and you are sure that the project on the controller is the correct version, then select SAVE to copy the programs on the con- troller to disk.
Page 397
Motion Coordinator Technical Reference Manual Create a new project The controller contents will be erased and a new project created on the PC. You will be prompted to select a directory and project name. When you create a new project, Motion Perfect will make a new direc- tory with the project name, and within that directory a project file with the same name (the .PRJ extension is added to the filename).
Page 398
Trio Motion Technology Resolve This option should be used when you have the correct project selected, but one or more of the files differ between the controller and PC ver- sion, or do not exist in one of the copies.
Motion Coordinator Technical Reference Manual The Motion Perfect Desktop Standard Windows menu to access all features of the Main Menu Motion Perfect application. Shortcut buttons to access the Motion Perfect tools Toolbar Displays the current controller contents and provides Control Panel controls for interrogating the controller status, running / editing programs This area is used to display the user windows and tools...
Trio Motion Technology Main Menu Options for Creating, Loading & Saving Motion Perfect Projects, Project Loading/Saving program files and Table data Controller Options relating to the controller hardware, including connect- ing/disconnecting and checking configuration information. Program specific options, including creating, editing and run- Program ning controller tasks.
Motion Coordinator Technical Reference Manual Controller Menu The controller menu contains the following items: Connect using serial communications to the controller and start Connect the project manager. This is only available if Motion Perfect is currently disconnected from the controller. Disconnect the serial communications, and stop using the Disconnect project tools.
Trio Motion Technology Controller Configuration This screen interrogates the hardware and displays the configuration information reported back by the controller. Looking at the example screen shown here from top to bottom: We are connected to a Motion Coordinator MC202 Controller: The controller is running version 1.51 of the system software.
To obtain a Feature Enable Code, you will need to specify the feature required and the security code for the specific controller to be updated. The order for the required codes should be FAXed to Trio or an authorised Trio distributor.
Page 404
Trio Motion Technology A dialog similar to the following example will appear. Each feature requested has a feature number. Enter the relevant code for each feature number, being careful to enter the characters in upper case. Take care to check that 0 (zero) is not confused with O and 1 (one) is not confused with the letter I.
We do not advise that you load a new version of the system software unless you are specifically advised to do so by your distributor or by Trio. When you select the 'Load System Software' option from the controller menu, you will first be presented with a warning dialog to ensure you have saved your project and are sure you wish to continue.
Page 406
Trio Motion Technology You must ensure that you load only software designed for your specific controller, other versions will not work When you have chosen the appropriate file you will be prompted once again to check that you wish to continue. Press OK to start the download process.
Motion Coordinator Technical Reference Manual Flashstick support This only applies to controllers which are fitted with a flashstick socket (eg MC206). When a controller with flashstick sup- port is powered on with a flashstick inserted, then the controller will auto- matically load the programs from the flashstick into the controller RAM.
If you forget the lock code there is no way to unlock the controller. You will WARNING: need to return it to Trio or a distributor to have the lock removed. Unlock Controller In order to unlock the controller you need to enter the same numeric code which was used to lock it.
Motion Coordinator Technical Reference Manual Motion Perfect Tools The Motion Perfect tools can be accessed from either the Tools Menu or the Tool- bar buttons Support Software 10-21 Motion Perfect Tools...
Trio Motion Technology Terminal The terminal window provides a direct connection to the Motion Coordinator. Most of the functions that must be performed during the installation, program- ming and commissioning of a system with a Motion Coordinator have been auto- mated by the options available in the Motion Perfect menu options.
Bank 2. that cannot be changed by the user, as these values are set by the system software of the Motion Coordinator as it processes the Trio BASIC motion commands and monitors the status of the external inputs. The black dividing bar that separates the two...
Page 412
Trio Motion Technology In the Motion Perfect parameter screen the parameter is displayed as a series AXISSTATUS of characters, ocyxehdrfmaw These characters represent bits in AXISSTATUS order, as follows:- char status bit Warning FE Range Drive Comms Error Remote Drive Error...
Page 413
Motion Coordinator Technical Reference Manual Note If there is any possibility that a program has changed any of the parameters then you should ensure that your refresh the display before making changes. Support Software 10-25 Motion Perfect Tools...
Trio Motion Technology Oscilloscope The software oscilloscope can be used to trace axis and motion parameters, aid- ing program development and machine commissioning. There are four channels, each capable of recording at up to 1000 samples/sec, with manual cycling or program linked triggering.
Page 415
Motion Coordinator Technical Reference Manual Oscilloscope Channel Controls Each oscilloscope channel has the following channel spe- cific controls organised in each of four ‘channel control blocks’ surrounded by a coloured border which indicates the colour of this channels trace on the display. There are parameter list box / axis list box / vertical scale up-down buttons/ ver- tical offset scrollbar/ vertical offset reset button and cursor bars on-off button controls per scope channel.
Page 416
Trio Motion Technology The vertical scale is changed by pressing the up/down scale buttons either side of the current scale text box (left hand side button decreases the scale, and the right hand side button increases the scale value.) To return to the automatic scal- ing mode, continue pressing the left hand side button (decreasing the scale value) until the word ‘AUTO’...
Page 417
Motion Coordinator Technical Reference Manual Oscilloscope General Controls The oscilloscope general controls appear at the bottom left of the oscilloscope window. From here you can con- trol such aspect as the time base, triggering modes and memory used for the captured data. Time Base The required time base is selected using the up/down scale buttons either side of the current time base scale...
Page 418
Trio Motion Technology One Shot / Continuous Trigger Mode Button Raised = One Shot Trigger Mode: In one-shot mode, the oscilloscope runs until it has been triggered and one set of data recorded by the controller, retrieved and displayed. Button Pressed = Continuous Trigger Mode: In continuous mode the oscilloscope continues running and retrieving data from the controller each time it is re-triggered and new data is recorded.
Page 419
Motion Coordinator Technical Reference Manual Trigger Button When the trigger button is pressed the oscilloscope is enabled. If it is manual mode the controller immediately commences recording data. If it is in program mode then it waits until it encounters a trigger command in a running program.
Page 420
Trio Motion Technology Advanced Oscilloscope Configuration Options When the options button is pressed the advanced oscilloscope configuration set- tings dialog is displayed, as shown below. Click the mouse button over the various controls to reveal further information. Samples per division The oscilloscope defaults to recording five points per horizontal (time base) grid division.
Page 421
Motion Coordinator Technical Reference Manual It should be noted that the trace might not be plotted completely to the right hand side of the display, depending upon the time base scale and number of sam- ples per grid division. Oscilloscope Table Values The controller records the required parameter data values in the controller as table data prior to uploading these values to the scope.
Page 422
Trio Motion Technology General Oscilloscope Information Displaying Controller Table Points - If the oscilloscope is configured for both table and motion parameters, then the number of points plotted across the display is determined by the time base (and samples per division). If the number of points to be plotted for the table parame-...
Once a channel has been reserved then the keypad will be shown. In the Trio BASIC program the channel definition for the com- mands that are associated with the Keypad must be changed from 3 (or 4) to the channel that corresponds with the channel selected for the emulation.
Page 424
Trio Motion Technology Key Functions menu keys This is a keypad menu key. Normally it is associated with a message on the display. This button can only be pressed by clicking the mouse over it. function keys This is the keypad function key 1. Normally it has an associated user label.
Motion Coordinator Technical Reference Manual Table / VR Editor The Table and VR Editor tools are very similar. You are presented with a spreadsheet style interface to view and modify a range of values in memory. To modify a value, click on the existing value with the mouse and type in the new value and press return.
Trio Motion Technology Jog Axes This window allows the user to move the axes on the Motion Coordinator. This window takes advantage of the bi-directional I/O channels on the Motion Coordinator to set the jog inputs. The forward, reverse and fast jog inputs are identified by writing to the corresponding axis parameters and are expected to be connected to NC switches.
Page 427
Motion Coordinator Technical Reference Manual Jog Reverse This button will initiate a reverse jog. In order to do this, the following check sequence is performed: • If this is a SERVO or RESOLVER axis and the servo is off then set the warning message •...
Page 428
Trio Motion Technology Jog Speed This is the speed at which the jog will be performed. This win- dow limits this value to the range from zero to the demand speed for this axis, where the demand speed is given by the axis parameter.
Page 429
Motion Coordinator Technical Reference Manual Axes This displays an axis selector box which enables the user to select the axis to include in the jog axes display. By default, the physical axes fitted to the controller will be displayed. Support Software 10-41 Motion Perfect Tools...
Trio Motion Technology Digital IO Status This window allows the user to view the status of all the IO channels and toggle the status of the output chan- nels. It also optionally allows the user to enter a description for each I/O line.
Page 431
Motion Coordinator Technical Reference Manual If the LED is clicked with the mouse the status corresponding output channel is toggled, i.e. if the LED is white then the output will be turned on, if the LED is yellow then the output channel will be turned off. Checking the Show Descrip- tion check box will toggle between dsecriptions on, and...
Trio Motion Technology Analogue Input Viewer The analogue input viewer is only available if the system has analogue inputs. It dis- plays the input values of all analogue inputs in the system using a bar-graph with numeric display. All inputs have the range -2048 to 2047.
DocMaker. Further information on these applications is given at the end of this chapter. Note: Cad2Motion and DocMaker are available to download from the Trio Website www.triomotion.com. Configuring Items on the External menu Clicking on the Configure item will bring up a list of all installed applications and from here we can add or delete items from this list.
Page 434
Trio Motion Technology You can either directly enter the path and program file name in the "File" box, or use the "Browse" option to open up a standard windows file selector box which you can use to locate the file on your computer.
Motion Coordinator Technical Reference Manual Control Panel The control panel appears on the left hand side of the main Motion Perfect window. It provides direct links to many of the frequently used operations within Motion Perfect, in particu- lar the file and directory functions. Please Note: Certain Control Panel Features behave differently on controller without a battery backup.
Page 436
Trio Motion Technology Control Panel Features Fixed/Editable radio buttons When the project is “fixed”, the programs are cop- ied to the Flash EPROM on the Motion Coordinator, the Motion Coordinator is set to run from EPROM and the programs cannot be modified by Motion Perfect.
Page 437
Motion Coordinator Technical Reference Manual Program directory This is a scrollable list of the programs on the con- troller. The list shows the program name followed by two optional indicators. The first is a number which specifies which process that program is run- ning on.
Page 438
Trio Motion Technology Run buttons The run buttons provide short cut keys for run- ning, stopping and single stepping programs. They can be in one of three states, red, green or yellow. Click on the red button to start the corresponding program running.
Page 439
Motion Coordinator Technical Reference Manual Selected Program The text box displays the currently selected pro- gram and the buttons below, the operations which can be performed on that program. From left to right they are: Run, Step, Stop, Edit and Power Up Mode Free Memory Shows the total free memory available on the controller...
Trio Motion Technology Creating and Running a program In order to create a new program on the controller, you must first have an active project. If you have already connected to the controller then you can use the default project which was created at this time.
Motion Coordinator Technical Reference Manual The Motion Perfect Editor You can start the Editor from the main Program Menu, the Edit button in the program section of the control panel or by right clicking in an entry in the control panel program list and selecting Edit from the pop-up menu.
Page 442
Trio Motion Technology • Comment Text • Constant Text - text making up a constant value (number). • Strings • Label Defenition - where a program label is defined. • Label Reference - where a jump or branch (GOTO, GOSUB etc.) in program execution is required.
Page 443
Motion Coordinator Technical Reference Manual Support Software 10-55 Creating and Running a program...
Trio Motion Technology Editor Menus Program Save Normally the program is only saved to disk when the editor is closed or a program is run, however if you have modified the program the Save Button will be available and will force Motion Perfect to save the file immediately.
Page 445
Motion Coordinator Technical Reference Manual Find/Replace The options for the find & replace dialogs are very similar and feature many of the same options You should enter the text to search for in the “Find What” box, and if using find and replace, the text to replace it with in the “Replace With”...
Trio Motion Technology Program Debugger The Motion Perfect debugger allows you to run a program directly from the editor window in a special 'trace mode, executing one line at a time (known as stepping) whilst viewing the line in the window. It is also possible to set breakpoints in the program, and run it at normal speed until it reaches the breakpoint where it will stop, and this line of code will be highlighted in the debug window.
Page 447
To insert a breakpoint, first position the text cursor on the line at which you want the break to occur, then use either Ctrl-B or the menu item to insert the break- point. The Trio BASIC instruction TRON is used to mark a breakpoint and TROFF to termi- nate a 'traced' block. Note: It is not possible to add or remove breakpoints whilst any programs are running.
Page 448
Trio Motion Technology Running to a breakpoint A program can be run to the next break point by: • using the mouse to press the red button alongside the program name in the list box on the control panel. • if it is the currently selected program on the...
Motion Coordinator Technical Reference Manual Running Programs You can start/stop programs running in one of four ways: From the control panel If the program is currently selected (highlighted in the control panel), you can press the green start arrow in the "selected program" box. From the program list Pressing the red button to the left of the program name in the list will start it running, the button...
Trio Motion Technology Making programs run automatically Set Powerup Mode It is possible to make the programs on the controller run automatically when the system first starts up. From the Program Menu, select “Set Powerup Mode” to open the following dialog.
Motion Coordinator Technical Reference Manual Storing Programs in the Flash EPROM This is accomplished by selecting the “Fixed” option in the controller status section of the con- trol panel, or the “Fix Program Into EPROM” option from the controller menu. When the controller is fixed into eprom, the pro- grams actually still run from RAM.
Trio Motion Technology Configuring The Motion Perfect 2 Desktop There are a number of ways in which you can configure Motion Perfect 2 to suit your requirements. The Options menu provides a number of choices:- Communications Set up the default communications device for Motion Perfect 2 to use.
In order to avoid this your controller will need to set the comms parameters within an auto-running program. See the instruction in the Trio SETCOM BASIC reference for further information. Support Software 10-65...
Page 454
Trio Motion Technology Setting the Default Port You can change the order in which the ports are scanned by the program by selecting the port in the list and using the up/down arrows to move the items as required. Packet Based Communications...
Motion Coordinator Technical Reference Manual Editor Options The Editor sub-menu allow you to modify the appearance of the Motion Perfect 2 editor to suit your own personal taste. You can change both the default font used and the colours used by the syntax highlighting feature.
Trio Motion Technology Restore desktop on reconnect If this option is selected, the program will attempt to automatically save the desktop layout when disconnecting from the controller. When you reconnect, Motion Perfect 2 will automatically restore the last desktop layout saved.
Motion Coordinator Technical Reference Manual Running Motion Perfect 2 Without a Controller Normally you will run Motion Perfect 2 on-line, that is connected to a controller. In fact Motion Perfect 2 is designed to operate in this manner and has little func- tionality without the connection.
Page 458
Trio Motion Technology Use the Add Port option to select a new port and choose "Simulation" as the Port Type. The new device will normally appear at the end of the list. Use the "move up" button to make it the default option.
Page 459
Motion Coordinator Technical Reference Manual Limitations of MC Simulation The MCSimulation program does not yet cover all the functionality present in a real controller. It does allow connection to Motion Perfect for program editing and the running of programs in the simulated environment. There are some unsupported TrioBASIC commands (mainly those related to communications busses such as CAN).
DXF file. The DXF file (layer with motion path only) is read into CAD2Motion to create a program to follow the motion path. The motion path can be manipulated and edited before being saved as a Trio BASIC program file which can be loaded on to a Motion Coordinator.
Motion Coordinator Technical Reference Manual DocMaker DocMaker is a Windows application designed to assist in documenting a Trio BASIC project created with Motion Perfect. DocMaker analyses the content of the program files in the project. It can be used to print program listings and to report on the programs (variables, labels, I/O and VR’s) and on overall I/O and VR usage.
Trio Motion Technology Project Autoloader Trio Project Autoloader is a stand alone program to load projects created using Motion Perfect 2 onto a Trio Motion Coordinator. The program is small enough to fit onto a 1.44MByte floppy disk and is intended for easy loading of projects onto controllers without the need to run Motion Per- fect and so allows OEM manufacturers to update customers equipment easily.
Motion Coordinator Technical Reference Manual Files The autoloader is designed to work with the following file structure (fixed names are shown in bold type). Base Directory AutoLoader.exe LoaderFiles AutoLoader.tas Table1.lst ExtProg1.bas Project Project.prj Prog1.bas Prog2.bas Where: Base Directory is normally the root directory on a floppy disk (A:\), but can be any directory.
Trio Motion Technology Running the program The program can be started in the same way as any other Windows program. Start Dialog The start dialog displays a message specified in the script and has continue and cancel buttons so that the user can exit from the program without running the script.
Motion Coordinator Technical Reference Manual Script Commands The following commands are available for use in script files COMMLINK CHECKTYPE CHECKVERSION CHECKUNLOCKED LOADPROGRAM LOADPROJECT EPROM SETRUNFROMEPROM LOADTABLE Comment All commands return a result of OK or Fail. An OK result allows script execution to continue, a Fail result will make script execution terminate at that point.
Page 466
Trio Motion Technology CHECKTYPE Purpose: To check the controller type. Syntax: CHECKTYPE <Controller List> Where <Controller List> is a comma separated list of one or more valid controller ID numbers. i.e. 206,216 Examples: CHECKTYPE 206 CHECKTYPE 202,216,206 Controller ID Numbers Each type of controller returns a different ID number in response to the TrioBASIC command ?CONTROL[0] .
Page 467
Motion Coordinator Technical Reference Manual CHECKVERSION Purpose: To check the version of the controller system code. Syntax: CHECKVERSION <Operator><Version> CHECKVERSION <LowVersion>-<HighVersion> Examples: CHECVERSION >1.49 CHECKVERSION >= 1.51 CHECKVERSION 1.42-1.50 CHECKUNLOCKED Purpose: To check that the controller is not locked. Syntax: CHECKUNLOCKED Support Software 10-79 Project Autoloader...
Page 468
Trio Motion Technology LOADPROJECT Purpose: To load a project from disk onto the controller. Syntax: LOADPROJECT <ProjectName> Where <ProjectName> is the path of the project directory. If the project direc- tory is in the LoaderFiles directory then it is just the name of the of the project directory.
Page 469
Motion Coordinator Technical Reference Manual EPROM Purpose: To store the project currently in controller RAM into EPROM Syntax: EPROM SETRUNFROMEPROM To set the controller to use the programs stored in its EPROM. (It actually copies Purpose: the programs from EPROM into RAM at startup). Syntax: SETRUNFROMEPROM <State>...
Sample Script ' Test Script ' ************** ' Startup Message # *** # This autoloader was set up by TRIO to load a test project # onto a controller of fixed type. # *** COMMLINK COM1:9600,7,e,2 CHECKTYPE 206 CHECKVERSION > 1.45...
Page 471
Motion Coordinator Technical Reference Manual Creating an AutoLoader floppy disk To create an AutoLoader floppy disk follow the steps below: • Take a blank floppy disk and copy the AutoLoader.exe program file into the root directory. • Create a sub-directory called LoaderFiles in the root directory. •...
Page 472
Trio Motion Technology 10-84 Support Software Project Autoloader...
Motion Coordinator Technical Reference Manual General Description The TRIO fibre optic network has been designed to link up to fifteen Motion Coordinator modules and membrane keypads. Any number of either type of mod- ule can be on the network up to the maximum of fifteen but at least one must be a Motion Coordinator.
This can be a particular problem if one of the nodes re-transmitting is a membrane keypad as this can cause poor response to key presses. Fibre-optic cables Trio can supply a fibre-optic connection kit (P570 Simplex Cable Kit) comprising a length of fibre-optic cable, connectors and assembly components. 11-4 Fibre-Optic Network...
Page 477
The addresses are in the range 10, denoting a message for the next node along the ring, to 24, denoting a message for the fifteenth node along the ring from the sender. Trio Motion Technology Trio Trio Trio...
Trio Motion Technology Network Programming Trio BASIC Commands The transmission and reception of messages on the network is performed by four Trio BASIC commands. GET #n Type: Command. Syntax: GET#n,VR(x) Description: Waits for the arrival of a single character on the specified input device. The ASCII value of the received character is stored in the chosen variable.
Page 479
Motion Coordinator Technical Reference Manual PRINT#n, Command. Type: Syntax: PRINT #11, CURSOR(20);"Printed on Keypad 2" Description: command allows the program to output a series of characters to the PRINT# specified output device. The command can output parameters, variables, PRINT# fixed ASCII strings and single ASCII characters. Multiple items to be printed can be put on the same line provided they are separated by a comma or semi- PRINT...
Trio Motion Technology Examples of network programming Consider a four axis machine which is 30m long. The operator has need to make Example 1 machine adjustments at either end of the machine, thus requiring two stations for operator input. This can be achieved using a Motion Coordinator, four Servo Daughter Boards and two membrane keypads.
Page 481
Motion Coordinator. In this example our system uses two MC216 control- lers. Our network will consist of the two Motion Coordinators and the membrane key- pad. It should be connected as shown in below. Trio Trio Motion Technology Trio STATUS STATUS ENCODER...
Page 482
Trio Motion Technology As there are now two Motion Coordinators in the network it is necessary to have a program on each. For the purposes of this example the three axis node will act as the master and issue instructions to the two axis node. The three axis node will also receive all input from the keypad.
Page 483
Trio Motion Technology readkey: WAIT UNTIL KEY#3 GET #3,VR(100) IF VR(100)<>20 THEN GOTO readkey PRINT #10,"G"; WAIT UNTIL VR(200)=999 moves: 'Main motion routine initax: 'Initialisation routine The program on the two axis node could be as follows: readinit: IF NOT(KEY#4) THEN GOTO readinit GET #4, VR(100) IF VR(100)<>73 THEN GOTO readinit...
Note: • Address of receiver is in the range 1 (for next node) to 15 (15th node on network). This is different to the node addressing used by Trio BASIC and is for internal use only. • The number of message bytes (n) is determined by the message type as described below •...
Page 485
Motion Coordinator. This is 256 bytes long and is used to store the message characters only. The header and end of message bytes are stripped off as they are received so it is not necessary to do this through the Trio BASIC pro- gram.
• Windows 98, ME, 2000 or XP (Windows 2000 or XP only for PCI connection) • TrioUSB driver - for USB connection • Trio PCI driver - for PCI connection (Windows 2000 and XP systems only) • TrioPC OCX • Knowledge of the Trio Motion Coordinator to which the TrioPC ActiveX controls will connect.
Motion Coordinator. If the connection is not successfully established this method will return FALSE Example Rem Open a USB connection and refresh the TrioPC indicator TrioPC_Status = TrioPC1.Open(0, 0) frmMain.Refresh 12-4 Using the Trio ActiveX Control Connection Commands...
Page 491
Return Value: TRUE if port is open, FALSE if it is closed Example Rem Close the connection when form unloads Private Sub Form_Unload(Cancel As Integer) If TrioPC1.IsOpen(0) Then TrioPC1.Close(0) End If frmMain.Refresh End Sub Using the Trio ActiveX Control 12-5 Connection Commands...
Page 492
-1: No Connection, 0: USB, 1:N/A, 2: Ethernet, 3: PCI Example Rem Open a Synchronous connection ConnectError = False TrioPC_Status = TrioPC1.Open(0, 0) ConnectionType = TrioPC1.GetConnectionType() If ConnectionType <> 0 Then ConnectError = True frmMain.Refresh 12-6 Using the Trio ActiveX Control Connection Commands...
Access Read / Write Default Value “192.168.0.250” Example Rem Open a Ethernet connection and refresh the TrioPC indicator if TrioPC.HostAddress <> “192.168.0.111” Then TrioPC.HostAddress = “192.168.0.111” End If TrioPC_Status = TrioPC1.Open(2, 0) frmMain.Refresh Using the Trio ActiveX Control 12-7 Properties...
Page 494
Default Value Example Rem Set ethernet protocol for firmware 1.0.4.0 TrioPC.CmdProtocol = 0 Note: Users of older daughterboards will need to update their programs to set the value of this proporty to 0. 12-8 Using the Trio ActiveX Control Properties...
A single numeric value or an array of numeric values that VARIANT Order: contain at least Axes values that specify the axis ordering for the subsequent motion commands. Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-9 Motion Commands...
Page 496
Optional parameters that must be a single numeric VARIANT Axis: value that specifies the base axis for this move Return Value: TrioPC STATUS 12-10 Using the Trio ActiveX Control Motion Commands...
Page 497
The absolute position on the link axis where the cam will start. double LinkPos: Optional parameters that must be a single numeric value that VARIANT Axis: specifies the base axis for this move Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-11 Motion Commands...
Page 498
Mode: cancels the buffered move on the base axis VARIANT Axis: Optional parameters that must be a single numeric value that specifies the base axis for this move Return Value: TrioPC STATUS 12-12 Using the Trio ActiveX Control Motion Commands...
Page 499
The axis then moves backwards at creep speed until the datum switch is reset. The Demand position is then reset to zero and the Measured position corrected so as to maintain the following error. Using the Trio ActiveX Control 12-13 Motion Commands...
Page 500
Motion Coordi- REVERSE(…) AXIS(…) nator Syntax: Reverse([Axis]) Parameters: Optional parameters that must be a single numeric value VARIANT Axis: that specifies the base axis for this move Return Value: TrioPC STATUS 12-14 Using the Trio ActiveX Control Motion Commands...
Page 501
MOVELINK(…) AXIS(…) dinator Syntax: MoveLink(Distance, LinkDistance, LinkAcc, LinkDec, LinkAxis, LinkOptions, LinkPosn, [Axis]) Parameters: Total distance to move on the base axis double Distance: Distance to be moved on the driving axis double LinkDistance: Using the Trio ActiveX Control 12-15 Motion Commands...
Page 502
Absolute position of the end of move for the base axis. double Position: Optional parameters that must be a single numeric value that VARIANT Axis: specifies the base axis for this move Return Value: TrioPC STATUS 12-16 Using the Trio ActiveX Control Motion Commands...
Page 503
Motion Coordinator Technical Reference Manual RapidStop Performs the corresponding command on the Motion Coordinator Description: RAPIDSTOP(…) None Parameters: Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-17 Motion Commands...
String that specifies the name of the program to be BSTR Program: stopped. Optional parameter that must be a single numeric value VARIANT Process: that specifies the process on which the program is run- ning. Return Value: TrioPC STATUS 12-18 Using the Trio ActiveX Control Process Control Commands...
BASE Syntax: GetVariable(Variable, Value) Parameters Name of the system variable to read BSTR Variable: Variable in which to store the value read double *Value: Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-19 Variable Commands...
Page 506
BASE Syntax: SetVariable(Variable, Value Name of the system variable to write Parameters BSTR Variable: Variable in which the value to write is stored. double Value: Return Value: TrioPC STATUS 12-20 Using the Trio ActiveX Control Variable Commands...
Page 507
Sets the value of the specified Global variable. Syntax: SetVr(Variable, Value) Number of the VR variable to write Parameters: BSTR Variable: Variable in which the value to write is stored. double Value: Return Value: TrioPC STATUS 12-21 Using the Trio ActiveX Control Variable Commands...
In(StartChannel, StopChannel, Value) First digital I/O channel to be checked. Parameters: short StartChannel: Last digital I/O channel to be checked. short StopChannel: Variable to store the value read. long *Value: 12-22 Using the Trio ActiveX Control Input / Output Commands...
Page 509
Linput(Channel, Startvr) Parameters: Comms channel to be read short Channel: Number of the VR variable into which to store the first short StartVr: key press read. Return Value: TrioPC STATUS 12-23 Using the Trio ActiveX Control Input / Output Commands...
Page 510
Optional numeric value that specifies the desired VARIANT State: status of the output, 0 implies off, not-0 implies on. Return Value: TrioPC STATUS 12-24 Using the Trio ActiveX Control Input / Output Commands...
Page 511
Number of the first variable to receive values read short StartVr: from the comms port. Number of variables to receive. short NumberVr: Numeric format in which the numbers will arrive short Format: Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-25 Input / Output Commands...
Page 512
Axis absolute position when Registration Input Falling Sets pattern recognition mode double Dist: Only used in pattern recognition mode and specifies the dis- tance over which to record the transitions. Return Value: TrioPC STATUS 12-26 Using the Trio ActiveX Control Input / Output Commands...
Page 513
Optional numeric value that specifies the port to set VARIANT Port: (0..3) Optional numeric value that specifies whether to ena- VARIANT Control: ble or disable handshaking on this port Return Value: TrioPC STATUS Using the Trio ActiveX Control 12-27 Input / Output Commands...
Motion Coordinator. EXECUTE … Syntax: Execute(Command) Parameters String that contains a valid Trio BASIC command BSTR Command: Return Value: TrioPC STATUS: TRUE if the command was sent successfully to the Motion Coor- dinator and the command on the Motion Coordinator was completed...
Page 515
Motion Coordinator VARIANT data: Return Value: TrioPC STATUS: TRUE - if the given channel is valid, the connection open, and the data written out correctly. Using the Trio ActiveX Control 12-29 General commands...
Motion Coordinator sent the data. It is the responsibility of the user application to call the GetData() method to retrieve the data received. Syntax: OnReceiveChannelx() Parameters: None Return Value: None 12-30 Using the Trio ActiveX Control Events...
TRUE Motion Coordinator and the command on the Motion Coordinator was completed successfully. It will be if it was not processed correctly, or there was a FALSE communications error. Using the Trio ActiveX Control 12-31 Events...
Page 518
Trio Motion Technology 12-32 Using the Trio ActiveX Control Events...
Page 519
C H A P T E R OMMUNICATIONS HAPTER ROTOCOLS...
1 for RS232 and port 2 for RS485. Port 0 is the main programming port and does not have the Modbus option. Baud rate and slave address can be set in the Trio BASIC program during serial port initialisation. Initialisation and Set-up The Modbus protocol is initialised by setting the mode parameter of the SETCOM instruction to 4.
Trio Motion Technology Example The following shows a typical set-up for a HMI panel running a Modbus Link. All references below are to the programming software supplied by the HMI manufac- turer and are not specific to any individual programming environment. See your HMI programming instructions for the actual set-up sequence.
Page 523
Motion Coordinator Technical Reference Manual (1 and 2) Read Coil Status / Read Input Status Modbus Function Code 1 & 2 Mapped Trio Function Read input word: IN(nn,mm) Starting Address Range 0 to NIO-1 (NIO = Number of Input/Output Bits on...
Page 524
Motion Coordinator Technical Reference Manual (16) Preset Multiple Registers Modbus Function Code Mapped Trio Function Set VR() Global Variables: VR(addr)=data …… VR(addr+n)=data Starting Address Range 0 to 250 Number of Points Range 1 to 127 Data to Data -32768 to 32767 (16 bit signed)
Motion Coordinator Technical Reference Manual Glossary Human – Machine Interface A communications protocol developed by Modicon, part of MODBUS Groupe Schneider. One of two serial transmission modes used by Modbus, the other being ASCII. A read/write variable as defined for Modicon PLC. Holding Register A programmable output as defined for Modicon PLC.
In order to include the Motion Coordinator in a Profibus network the following components are required: 1. Trio BASIC program P297DRxxx.bas (where xxx is the version number of the program) 2. Profibus GSD file; TRIO0595.GSD. (Electronic Data Sheet for COM PROFIBUS) 3.
Page 527
Motion Coordinator Technical Reference Manual 1. Launch the window shown below and click on “Others”. 2. Add the Box Icon to the network on the left and the Slave Parameters dialogue will open. Choose Motion Coordinator P297 from the list as shown here: Communications Protocols 13-9 Profibus...
Page 528
Motion Coordinator Technical Reference Manual 3. Add your own description in the text box like this: 4. Click OK and the Motion Coordinator will appear on the diagram like this: Now add any other nodes to the network that are required and close the window. Finally export the file in the required format, usually Binary, for use by the PLC or other Profibus Master.
Page 529
' Revision: 1.05 ' Rev Date: 25 May 2003 '------------------------------------------------------------------------- Copyright (c) 2002-2003 Trio Motion Technology Ltd ========================================================================= ' DESCRIPTION: Profibus driver for Cyclic Data Transfer This program sets up the SPC3 chip for transfer of 16 integers from master and 16 intergers to master on a cylcic basis as determined by master unit.
IF CANIO_ADDRESS<>33 THEN CANIO_ADDRESS = 33 DEVICENET(slot, 0, baudrate, macid, pollbase, pollin, pollout) DeviceNet Information This Section contains DeviceNet information for the multi-axis Trio Motion Coor- dinator model MC206 and MC224. The Motion Coordinator operates as a slave device on the DeviceNet network and supports Explicit Messages of the predefined master/slave connection set and Polled I/O.
Motion Coordinator Technical Reference Manual Connection Types Implemented There are 3 independent connection channels in this DeviceNet implementation: Group 2 predefined master/slave connection This connection will only handle Master/Slave Allocate/Release messages. The maximum message length for this connection is 8 bytes. Explicit message connection This connection will handle explicit messaging for the DeviceNet objects defined below.
Page 533
Ony bit 0 (owned) is implemented Serial Number UDINT The MC Serial Number Product Name Structure of: String Length USINT "Trio MC_<product ASCII String1 STRING(30) code>", where <product code> is the same as defined for attribute 3. DeviceNet Object Class Code: 0x03 Class Services...
Page 534
Motion Coordinator Technical Reference Manual Class Attributes DeviceNet Data Attribute ID Access Rule Name Data Value Type Revision UINT Number of Instances: 1 Instance Services Service Description 0x0E Get Attribute Single Used to read the instance attributes 0x10 Set Attribute Single Used to write the instance attributes 0x4B Allocate Master/ Requests the use of the Predefined Master/Slave...
Page 535
Motion Coordinator Technical Reference Manual Assembly Object Class Code: 0x04 Number of Instances: 2 There are 2 instances implemented. Instance 100 is a static input object, associ- ated with the I/O poll producer. Instance 101 is a static output object, associated with the I/O poll consumer.
Page 536
Motion Coordinator Technical Reference Manual Instance Attributes (Instance 1) Instance Type : Explicit Message Attribute Access DeviceNet Name Data Value Rule Data Type State USINT 0 = nonexistent 1 = configuring 3 = established 4 = timed out Instance Type USINT 0 = explicit message Transport Class Trigger...
Page 537
Motion Coordinator Technical Reference Manual Instance Attributes (Instance 2) Instance Type : Polled I/O Attribute Access DeviceNet Name Data Value Rule Data Type State USINT 0 = nonexistent 1 = configuring 3 = established 4 = timed out Instance Type USINT 1 = Polled I/O Transport Class Trigger...
Motion Coordinator Technical Reference Manual MC Object Class Code: 0x8A Instance Services Service Description 0x05 Reset Performs EX on the Motion Coordinator. This will reset the DeviceNet as well. 0x33 Read Word - TABLE Reads the specified number of TABLE entries and sends their values in 16 bit 2s complement format 0x34 Read Word - VR...
Page 539
Motion Coordinator Technical Reference Manual Read word format Request bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 byte 0 Service code = 0x33, or 0x34 byte 1 Class ID = 0x8A byte 2 Instance ID = 0x01 (this is the only instance supported) byte 3 bits 15-8 of Source Address...
Page 540
Motion Coordinator Technical Reference Manual Write word format Request bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 byte 0 Service code = 0x37, or 0x38 byte 1 Class ID = 0x8A byte 2 Instance ID = 0x01 (this is the only instance supported) byte 3 bits 15-8 of Source Address...
Page 541
Motion Coordinator Technical Reference Manual Read IEEE format Request bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 byte 0 Service code = 0x35, or 0x36 byte 1 Class ID = 0x8A byte 2 Instance ID = 0x01 (this is the only instance supported) byte 3 bits 15-8 of Source Address...
Page 542
Trio Motion Technology Write IEEE format Request bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 byte 0 Service code = 0x39, or 0x3A byte 1 Class ID = 0x8A byte 2 Instance ID = 0x01 (this is the only instance supported)
Motion Coordinator Technical Reference Manual DeviceNet Status LEDs To see the DeviceNet status on the Motion Coordinator’s LEDs, you must set the DISPLAY system parameter to 8. (See the DISPLAY system variable in chapter 8) The Motion Coordinator’s I/O status LEDs are now read from 0 to 7 as follows: Function 0 - Amber Module Status - DeviceNet GREEN LED...
IP addresses can be one of several classes, each determining how many bits represent the network number and how many represent the host number. IP addresses are grouped by classes A,B,C, D and E. The Trio ethernet board is set up for a Class C address.
"Don't look." Using a mask saves the router having to handle the entire 32-bit address; it can simply look at the bits selected by the mask. Using the Trio default IP address, the combined network number and subnet number occupy 24 bits or three of the quads. The default subnet mask carried along with the packet is: 255.255.255.000...
192.168.000.250 Subnet: 255.255.255.000 If leaving the Trio's IP address as default, proceed to step 6 to test communica- tions. 2. Connecting the Trio to Network through an ethernet hub/switch When connecting the Trio MC controller to an existing ethernet network on a hub, no swap in the data cable is required since the hub or router will handle the data inversion.
Page 547
Motion Coordinator Technical Reference Manual The IP address of the Trio ethernet board can be set to the match the network address. The Trio's default subnet (255.255.255.000) is generic and allows any host PC to communicate with the controller regardless of a specific sub-network mask.
Page 548
6. Test the Communications The easiest way to test the ethernet link is to "ping" the Trio MC controller. This can be done using the ping command at a DOS prompt. From the START button in Windows, select Accessories and then Command Prompt utility.
Page 549
Daughter Board and allows the Motion Coordinator acts as a Modbus/TCP Slave device. Its functionality is similar to the existing Trio Modbus RTU Slave (over RS- 232 or RS-485), except an Ethernet connection is used and there are 3 extensions to the basic serial Modbus functionality.
Page 550
Trio Motion Technology 2. Table memory can be read and written to instead of the VR() variables. 3. Function number 23 (17 Hex) “Read / Write 4x Registers” is supported. Modbus TCP connects via Ethernet Port 502. The following ETHERNET command is used to set which data type, integer or floating point, is used for communications.
Trio Motion Technology Communications Errors Value RX Buffer overrun on Network channel Re-transmit buffer overrun on Network channel RX structure error on Network channel TX structure error on Network channel Port 0 Rx data ready Port 0 Rx overrun Port 0 parity error...
Trio Motion Technology Data Formats and Floating-Point Operations The TMS320C3x processor used by the Motion Coordinator features several dif- ferent data types. In the Motion Coordinator we use two main formats. The fol- lowing descriptions are taken directly from the TI documentation.
Need help?
Do you have a question about the Motion Coordinator MC216 and is the answer not in the manual?
Questions and answers