Servo Network General Information

1.  Overview

The Precise Servo Network permits multiple Guidance Controllers (G1xxx's/G2xxx's/G3xxx's) and Guidance Slave Boards (GSB's) to logically function as though they were a single large controller.  The axes from various networked devices can be arbitrarily grouped into robots from a control point-of-view.  Once grouped, local and remote axes can be programmed to perform either tightly coupled coordinated motions or independent motions.

The Servo Network allows a remote controller or servo board with amplifiers and other electronics to be mounted close to motors, which reduces the number of wires that must be routed between a robot's axes.  This hardware simplification reduces the size of the system wire harness and can significantly reduce the overall system cost.  In addition, if a system contains motors with different voltage and power requirements, different controller types can be mixed and matched to produce the most cost effectively motion control solution.

This network approach also permits applications to be addressed that require more axes than are available in a single Guidance Controller.

Within the Precise Servo Network, one Guidance Controller must be selected to serve as the master controller for all operations.  As in a single controller system, the master controller executes the high-level user programs, manages the cell input and output signals, computes the trajectories for all axes and executes the servo code for its local motor drives.  All other networked controllers and servo boards are slaves to the master controller.  In general, slave controllers and servo boards only execute servo and motor control algorithms for their local motor drives and communicate the state of their local servos and any local digital input and output signals to the master controller.

Most digital I/O channels on remote slave controllers and servo boards are automatically accessible on the master controller as remote I/O. In addition, optional networked Guidance I/O boards (GIO's) allow even more remote I/O points to be added to a Servo Network.

1.1.  Network Nodes

Each controller or servo board or GIO in a Servo Network must be assigned a node number. The master controller is always node 1. The slave controllers, servo boards and GIO's are assigned sequential node numbers (starting from 2) according to where their identifier appears in the "Servo network node identifier" (DataID 151) that is stored in the parameter database array on the master controller. The node number must be specified when assigning a motor to a robot axis, when accessing digital I/O on a slave node, or when accessing certain database information that is stored on a per-node basis.

1.2.  Axis Mapping

In order for the master controller to know how to control each axis of each robot, the node number of the controller or servo board that is responsible for servoing each axis must be specified. This assignment is defined by the "Axis map nodes" (DataID 2010) array for each robot.  For non-networked systems, all of the elements of this DataID should be set to "1" to indicate the master controller is responsible for all axes.  For a Servo Network system, the node number of the controller or servo board assigned to each axis must be placed in the appropriate array element.

For example, if a 6-axis robot has its final two axes controlled by the first slave controller, the axis node mapping would be:

DataID 2010: 1, 1, 1, 1, 2, 2

If instead, the 6-axis robot has its first two axes controlled by the first slave controller, the axis node mapping would be:

DataID 2010: 2, 2, 1, 1, 1, 1

Since all of the axis-related servo parameters pass through this map, you must define the map first before accessing these parameters. If you change this map, you will need to restart your controller and manually edit your robotnn.pac file to rearrange the order of axis-related data. Or use the Guidance Configuration Utility to create and modify your .pac files.

1.3.  Remote I/O

The general-purpose digital input and output signals on slave controllers, slave servo boards (GSB's), and Guidance I/O boards (GIO's) are available for use from the master controller as remote I/O signals.  Only the master controller can access the digital I/O on a slave unit, i.e. one slave controller cannot access the general-purpose I/O on another slave controller.  The update period for these signal values is the same as the trajectory period set by ”Trajectory Generator update period in sec" (DataID 600) on the master controller.

To specify a slave unit's general-purpose digital I/O signal from the master controller, multiply the slave unit's network node number by 100000 and add the I/O signal’s number.  The first slave unit has a node number of 2.  For example, to access the first slave controller's general-purpose digital I/O signals, add 200000 to the signal number.

Node Signal Offset Slave Controller or GIO Slave Servo Board (GSB)
Outputs (8)* Inputs (12)* Outputs (3) Inputs (3)

2

200000

200013-200020

210001-210012

200013-200015

210001-210003

n

100000*n

n00013-n00020

n10001-n10012

n00013-n00015

n10001-n10003

* Some controllers have fewer digital I/O. Consult the hardware specification for your specific controller.