 |
 |
ABOUT MACRO
Expand All | Collapse
All
|
|
|
|
MACRO is an acronym for "Motion and Control Ring Optical". This is a
non-proprietary digital interface developed by Delta Tau Data Systems for
connection of multi-axis motion controllers, amplifiers, and I/O.
MACRO is an Ethernet style protocol that uses a multi-mode fiber optic (FDDI-PMD
ISO/IEC 9314-3) or twisted pair copper (CAT5) which is called 100BASEFX and
100BASETX.
|
|
|
|
|
Single-plug connections between controls and amps minimize the wiring complexity in large systems. A single fiber optic strand can provide a controller with: position feedback, flag status (limits, home flag, registration prox status), amp status, and machine input status. This same strand can communicate to the amplifier and other devices on the MACRO network. (Amp enable & amp command signals, machine outputs, commands to D/A converters, all can be implemented with a single plug connection.) Setup and initialization information for amps and other devices also can be transmitted through the strand, eliminating in many cases the need for separate RS232 cables. Less wiring translates into faster machine assembly, lower assembly costs, fewer errors, and easier trouble-shooting in the field.
Noise Immunity. Fiber-optic cable transmits light, not electricity. Unlike electricity, light is immune to electromagnetic noise, capacitive coupling, ground loops, and other wiring nightmares. The copper based system is transformer isolated for better noise immunity.
Speed. One of MACRO's most impressive features is it's 125 Mbits/Sec rate of data transmission. This is at least 25 times faster than most other digital motion control interfaces. What good is all this speed? Well, take the case of a system with 16 amplifiers and two 8-axis controllers. Updates to each amplifier and controller can occur at less than 25 m sec intervals (>40kHz). This is more than fast enough to close high performance servo loops across the MACRO ring, allowing the flexibility to choose distributed intelligence or centralized control!
Digital communications allows the ability to "tie it all together". In a motion control application there are a number of different tasks: trajectory planning, position loop closure, velocity loop closure, current loop closure, and commutation (if the motor is Brushless or AC Induction - flux-vector controlled). Controllers have always performed trajectory planning and position loop closure digitally. Today, many controllers are also closing the velocity loops digitally as well. Amplifiers are also changing with the times. AC Servo and Vector amplifiers have always performed their commutation functions digitally; however several amplifiers now close their current loops digitally as well. Digital communications allows the ability to tie all these tasks together without conversion to the analog realm. This can improve system performance by minimizing error in D-to-A, and A-to-D conversion, eliminating ground loops and voltage offset/shift problems. It also allows adaptive control techniques, enhances the ability to analyze & critique system performance using techniques like data-gathering, and even provides the potential to auto-diagnose a system problem from a central or supervisory control.
One ring, multiple masters. In a ring topology, a central control serially transmits information to several nodes (see illustration). Today's multi-axis controls typically support only 4 to 8 axes. In machines with more than 8 axes, having a ring for each control is sometimes not desirable. In these cases MACRO will support the ability to put several of these controllers ("masters") together on one ring, further simplifying the system complexity.
Simplicity. Transmission across the MACRO ring requires no software intervention. The information to be sent from one node to another is merely written to a memory location, and the MACRO hardware takes care of the rest. A programmer does not need to worry about slipping "telegrams" into the timing of the ring communications, or interrupting a task to update the ring.
What
industries/applications does MACRO support?
MACRO lends itself well to large multi-axis applications where the amplifiers and I/O are spread out in several cabinets around the machine. Packaging, converting, processing, and textiles machinery as well as robotics systems, and automated assembly lines all can benefit from MACRO's advantages.
|
|
|
|
|
MACRO lends itself well to large multi-axis applications where the
amplifiers and I/O are spread out in several cabinets around the
machine. Packaging, converting, processing, and textiles machinery
as well as robotics systems, and automated assembly lines all can
benefit from MACRO's advantages.
|
|
|
|
|
Schematically, what does a MACRO network look like?
MACRO operates in a ring topology (see above sketch). Data is transmitted serially. Each station on the ring has an "in" port for receiving data and an "out" port for transmitting data. Nodes, residing at a station, can be amplifier axes, I/O banks, or communication interfaces to other devices. A station can have one or several nodes, allowing for multi-axis amplifiers with a single "in" and single "out" port. Data packets, (groups of 96 bits of serial data), sent out by a motion controller or, master node, are earmarked for a specific amplifier, or slave node. If the data packet is not for an amplifier, it passes it on, unchanged. If it is for the node, it copies the contents of the data packet (typically commands), places feedback data into the packet in place of the command data, and transmits the data packet.
What happens at a node?
The operation of MACRO is based on standard FDDI (Fiber Direct Digital Interface) networking technology. In the illustration below, data written to MACRO from a processor, is shifted out via byte wide shift registers. These shift registers (typically embedded in an
ASIC) send bytes of data to a Network Interface Driver IC which serializes the bytes of data, and outputs a serial stream at 125
Mbits/sec. The network driver adds 2 bits of error detection to the byte and puts out the data in a 4B/5B coding scheme. This serialized digital data is then routed through an optical or electrical driver for transmission to remote nodes.
At the receiving node, essentially the reverse process happens. An optical or electrical receiver receives the data stream and funnels it into a network interface receiver IC. Here, the data is de-serialized and clocked into shift registers in 4B/5B protocol.
An address specifier at the beginning of data packets indicates whether or not the data following in the packet is intended for the node. If it is not, it is put right back onto the ring via the process just described and graphically illustrated as Case 1 below. If however, the data is for the node, a simultaneous "copy and replace" process is performed as shown in Case 2.
Transparent ring interface.
Since the MACRO shift registers manage the communications (shifting data out and in to the ring at the appropriate times), the network transmission is transparent to the controller software. If information is required, a register is simply read. If there is a need to transmit information, it is merely written to a register... MACRO hardware does the rest! This parallel register interaction makes MACRO quick, simple and efficient for a processor to interact with the MACRO ring.
|
|
|
|
|
As with any type of communications, both the transmitting device and the receiving device must "speak the same language". However, MACRO has the ability to support different protocols for different devices. For example, a controller can communicate to several amplifiers, each of which expects a different type of command. The only requirement is that the controller and amp be preset to respectively deliver and accept the same type of data. (This too can be done over the ring.) The charts below illustrate the TYPE 1 protocol for different types of amplifier interfaces and I/O equipment interfaces.
Register 0 is a 24-bit (3-byte) register. Registers 1, 2, and 3 are 16-bit (2-byte) registers.
|
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit)
|
|
Master
Command
|
Real-Time Register 0
|
Real-Time Register 1
|
Real-Time Register 2
|
Real-Time Register 3
|
|
Slave
Feedback
|
Real-Time Register 0
|
Real-Time Register 1
|
Real-Time Register 2
|
Real-Time Register 3
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit)
|
|
Torque
Drive
|
Master Command
|
Torque Cmd.
|
|
|
Motor Flag Command
|
| |
Slave Feedback
|
Position Feedback
|
|
|
Motor Flag Status
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit) |
|
Velocity
Drive
|
Master Command
|
Velocity Cmd.
|
|
|
Motor Flag Command
|
| |
Slave Feedback
|
Position Feedback
|
|
|
Motor Flag Status
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit)
|
|
Direct
PWM
|
Master Command
|
Phase A Voltage Cmd
|
Phase B
Voltage Cmd
|
Phase C Voltage Cmd
|
Motor Flag Command
|
|
Drive
|
Slave Feedback
|
Position Feedback
|
Phase A Current
|
Phase B Current
|
Motor Flag Status
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit)
|
|
Phase
Current
|
Master Command
|
Phase A Current Cmd
|
Phase B Current Cmd.
|
|
Motor Flag Command
|
|
Drive
|
Slave Feedback
|
Position Feedback
|
|
|
Motor Flag Status
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit) |
|
Position
Drive
|
Master Command
|
Bit Position Command
(24 LSBs)
|
Bit Position Command
(16 MSBs)
|
|
Motor Flag Command
|
| |
Slave Feedback
|
Position Feedback
(24 LSBs)
|
Position Feedback
(16 MSBs)
|
|
Motor Flag Status
|
| |
Reg #
|
0 (24-bit)
|
1 (16-bit)
|
2 (16-bit)
|
3 (16-bit)
|
|
I/O Devices
|
Master Command
|
Bits 0-23
|
Bits 24-39
|
Bits 40-55
|
Bits 56-71
|
| |
Slave Feedback
|
Bits 0-23
|
Bits 24-39
|
Bits 40-55
|
Bits 56-71
|
|
As shown above, each packet of data for a node contains 4 registers: 0, 1, 2, and 3. Register 0 is a 24-bit register for real time data. Registers 1, 2, and 3 are 16-bit registers for real-time data. Each node has a command packet of 4 registers and a feedback packet of 4 registers. The command and feedback packets slip into the same data packet for the node (upon entering the addressed node, the data packet is a command packet, upon exiting it is a feedback packet).
|
|
|
|
|
MACRO has the ability to pass commands of different types from a controller to an amplifier. Position, Velocity, Torque, Phase Current, and PWM value commands are all supported by MACRO. Due to the high rate of data transmission over the ring (125Mbits/sec) , MACRO facilitates closure of high performance servo loops across the ring, allowing the controller and amplifier to split the motion control tasks between themselves at any level.
|
|
|
|
|
Up to 256 nodes are supported by the MACRO protocol. Sixteen (16) nodes can be interfaced to one master, and up to 16 masters can reside on the ring. This type of multi-mastering capability is unique to MACRO.
When TYPE 1 MACRO is used, there may be up to 14 slave nodes contained in 16 masters. This allows for up to 224 nodes to be contained in a single MACRO Ring.
|
|
|
|
|
Yes. The information transmitted across the ring is merely digital bits. These bits can represent information of many different types, such as commands from supervisory controls to a device, or feedback from I/O nodes (discrete, analog, or specialized). For example, the following protocol exists for Discrete I/O transmission.
|
|
|
|
|
The chart below shows MACRO specifications:
|
MACRO
|
| Data Transmission
Rate |
125 Mbps (Mbits/sec) |
| Data Update Rate
(16 Nodes) |
40 KHz |
| Flexibility |
Centralized or
Distributed Control |
| Network Protocol
/ Communications Management |
Transparent to CPU.
Direct read/write to remote registers.
Ring management performed by hardware.
|
| Media supported |
Fiber Optic, RJ-45
Twisted Pair |
| Nodes Supported |
256 |
| Masters Supported |
16 |
The architecture used with MACRO that connects a controller to a motor drive
uses previously established interface nomenclature (Torque drive, velocity
drive, PWM drive, sinusoidal commutation). The attachment of a MACRO adapter or
circuit to existing controllers and drives requires learning very little new
technology on the part of the system designer to add high bandwidth state of the
art fiber technology to new products.
|
|
|
|
|
|
Qty of Slave Nodes
|
Min # of Master Controllers
|
Ring Cycle Transmission Time
|
Ring Update Rate
|
|
4
|
1
|
5 µS
|
200 KHz
|
|
8
|
1
|
9 µS
|
111 KHz
|
|
16
|
1
|
16 µS
|
62 KHz
|
|
32
|
2
|
33 µS
|
31 KHz
|
|
48
|
3
|
49 µS
|
20 KHz
|
|
64
|
4
|
66 µS
|
15 KHz
|
|
128
|
8
|
131 µS
|
7.63 KHz
|
|
256
|
16
|
262 µS
|
3.8 KHz
|
The specifications for ring speed actually depend upon several
factors:
1. Each master controller is expected to add 1µS of data
throughput latency.
2. Extremely long fiber runs may affect the maximum ring
speed.
3. Ring cycle transmission time is rounded to the nearest
higher whole number.
4. The timings shown in this table are approximate values and
are intended to illustrate the maximum performance that a MACRO ring system
may achieve.
The above table shows the maximum update rate for a MACRO ring. A typical MACRO installation may operate with a ring rate of approximately 10 KHz. This rate only needs to be changed when then speed of the ring update needs to be faster or the number of nodes used exceeds approximately 52.
|
|
|
|
|
The distance between nodes depends on the transmission medium being used. MACRO supports transmission at the speed of light over glass fiber optic strands, as well as electrical transmission through RJ-45 twisted pair mediums. The chart below shows how the media affects the transmission distance.
|
Medium
|
Max DBN
|
Max TTD
|
|
Glass Fiber
|
3000 m (~ 10,000 ft)
|
768 km (~ 485 miles)
|
|
RJ-45 twisted pair
|
30 m (~ 100 ft)
|
7680 m (~ 5 miles
|
|
Max DBN = Maximum Distance between nodes
Max TTD = Maximum Total Transmission Distance (assuming a max of 256
nodes spaced a t Max DBN)
|
The signal is retransmitted to each station down the line on the MACRO ring. This allows the packets to be signal conditioned by each station that it passes through.
|
|
|
|
|
The only requirement for a MACRO communication system is that each component (amplifier, control, I/O device, etc.) that is to communicate together, be equipped with a MACRO interface. This interface is either built into the component by the manufacturer or an adapter, which can be included with a component, to facilitate a MACRO link.
|
|
|
|
|
The answer to this question depends on the transmission media which one chooses. 125MBit fiber optic transceiver circuits cost approx. $65.00 today. The RJ45 transceiver cost is significantly less at around $50. (Remember that multiple nodes may exist within a station, which can further reduce the overall cost.)
Costs on fiber optic transceivers and network interface devices have been to dropping as technology improves and competition in the communications industry drives down costs. It is not unrealistic to expect the cost per station on a fiber optic MACRO system to fall another 25% within the next year or so!
An important consideration which should be remembered is the savings in wiring costs, including labor time and troubleshooting time. These costs alone will exceed any additional cost that implementing MACRO hardware may induce.
|
|
|
|
|
The list of MACRO compatible equipment suppliers is growing by the month. As of November 2000 the following companies have produced, or committed to
produce, MACRO compatible components. Other manufacturers are considering
producing compatible components but are looking for customer interest before
proceeding. The best policy is to inquire with your current equipment supplier
or use the contact names and numbers listed below to secure further details on
compatible componentry.
Design MACRO into your product. Contact Delta Tau for a developers kit.
|
|
|
|
|
Currently the gate array is available from Delta Tau Data Systems in a 144 pin PQFP package. This new low cost version of the MACRO gate array will accommodate 8, 16, or 24 bit data busses directly (selectable at the chip), and has dedicated I/O pins. The MACRO gate array when used with Hot-link Taxi® (Cypress Corp.) supports complete CRC checking, Ring break detection, and serial framing error detection.
|
|
|
|
|
 |