Controller Objects
Within
the Motion Console program, Controller objects occupy the highest
level on the motion control tree. This prominent software position
reflects the hardware reality: each controller represents a
separate, physical piece of
hardware (i.e., an XMP card) having local control. Moreover,
each controller is capable of operating multiple motion supervisors,
each with its own subordinate array of axes, motors, SERCOS
nodes, etc.
If you
have not already added a Controller, please see the Add
Controller section.
Controller-Client
Configuration
A
Controller is physically connected with a host computer via
PCI bus. Hosts may be linked to clients, which allows virtually
unlimited configuration combinations.
Each
controller in a machine is assigned a unique device identification
number by the operating system. Motion Console uses this number
to communicate with the controller. When all controllers reside
within a single host computer, Motion Console requires only
Controller numbers (0, 1, 2, etc.) to differentiate
between them. When controllers reside in separate client computers
linked through a network to the Motion Console host, each
controller must also be assigned a unique IP address
and Port Number.
XMP
Controller Placement on PCI Buses
PCI
bus architecture imposes constraints which must be observed
during card installation. When adding controllers to Motion
Console, each XMP board is assigned a physical location on
the PCI bus in the form of a Controller Number. This
is a device index number beginning at "0," which
indexes with each new addition of a controller board, and
which ignores non-MEI devices. Motion Console uses the device
index number to associate configuration/status information
with a particular controller.
Adding,
removing or rearranging PCI devices can cause a motion controller
device number to change. For systems with only a single controller,
this is not a problem. For systems with multiple controllers,
Motion Console will not know whether the device index to the
physical controller map has changed. This is because some
data is stored in the Motion Console initialization file and
is associated with the device number. The following data will
be associated with the wrong controller in Motion Console
if the device number changes:
- Controller
name
- Summary
object list configuration
- Axis
attributes:
Position
1
Position
2
Velocity
Acceleration
Deceleration
Jerk
Percent
WARNING!
When using Motion Console with multiple controller systems,
make sure you know exactly which physical controller is associated
with which device index. Be sure to always verify controller-to-device
index relationships before commanding any motion.
The
Controller Summary window lists Controller attributes
in four tab pages: Actions, Config, Version, and Stats.
Configuration Attributes: "Actions" Tab Page
"Config"
Filter attributes include configurations for standard and
custom filter features.
- Reset--
Resets the controller to the power-up configuration saved
in flash memory.
- Refresh--
Refreshes display to reflect any external modifications.
- FW
Upload-- Uploads Flash memory to the firmware file.
See the Uploading Firmware
section earlier in this chapter for more information.
- FW
Download-- Downloads the firmware file to Flash memory.
See the Downloading Firmware
section earlier in this chapter for more information.
- Remove--
Removes controller from Motion Console controller list.
Controller
Configuration Attributes: "Config" Tab Page
- Save
to Flash-- Pre-selects current Controller settings
for saving to flash memory. For more information on using
Save to Flash, see the description
in the first part of this chapter.
- View
Sub-objects -- Shows all sub-objects for the Controller.
For more information, see the View
Sub-object section.
- User
Version -- User defined version.*
- Sample
Rate -- Sample Rate (samples/sec).*
- MS
Count-- Number of enabled Motion Supervisor objects.*
- Axis
Count -- Number of enabled Axis objects.*
- Filter
Count -- Number of enabled Filter objects.*
- Motor
Count-- Number of enabled Motor objects.*
- Adc
Count-- Number of enabled Adc objects.*
- Capture
Count -- Number of enabled Capture objects. (Not configurable.)
*
- Compare
Count-- Number of enabled Compare objects. (Not configurable.)
*
- DAC
Count -- Number of enabled DAC objects.*
- Aux
DAC Count -- Number of enabled Auxiliary DAC objects.*
- Record
Count-- Number of enabled Record objects.*
- Sequence
Count -- Number of enabled Program Sequence objects.*
- SERCOS
Count -- Number of initialized SERCOS rings.*
This is a read-only attribute.
- Available
Memory -- The amount of external memory available on
the controller. The maximum value for Record Count and Axis
Count is limited by the available memory.