PI pursues a platform-independent and hardware-independent concept in the design of the motion control software. This approach has proven its worth and is even flexible for future enhancements. The following points distinguish this concept:
- Simple installation of the software
- A uniform, graphical interface for all connected controllers and axes
- Simple handling of parameters for all stages
- Standardized command language, General Command Set (GCS), for all controllers
- Standardized programming interfaces (API) for all common programming languages
- Simple implementation of customer-specific requirements
General Command Set (GCS)
The General Command Set (GCS) ensures a maximum compatibility between all PI positioning systems as well as smooth (trouble-free) updates and upgrades. GCS offers a standardized set of commands which is independent of the connected controller or the drive principle used.
Starting up and programming, therefore, becomes much easier: Various positioning systems can be operated at the same time and new systems can be integrated with minimal programming effort. Thanks to GCS, the development of customer-specific applications is also simplified while being less prone to errors since the commands are identical in syntax and function for all supported devices.
The currently available version of GCS is GCS2.
The GCS concept comprises the following points:
- Standardized, human-readable command syntax
- Standardized error codes
- Standardized parameter names
- A single NI LabVIEW driver set for all systems
- A single programming library for all text-based languages
- Standardized user programs
- One parameter database for all supported axes
Preset Parameters for Startup
All necessary parameters to operate a system made of a stage and a controller are determined at the factory.
- With all controllers for motor drives, the mechanical and servo-control parameters are stored in a parameter database. For operation, the mechanics for the appropriate controller just has to be selected from a list.
- With piezo systems, the controller and the mechanics are only delivered in pairs, or the properties are stored in an ID chip. The controller recognizes the mechanics and automatically uses the settings stored in the database for it.
Automation of Procedures Using Macros
Many applications require automated motion sequence. The user can specify the appropriate sequence of motion commands using macros.
- Commands, included in the General Command Set (GCS), are used for commanding the motions.
- A series of GCS commands can be stored as a macro on the PC as well as on most controllers.
- The processing or the stopping of a macro can be subject to conditions. In addition, loops can be realized for example.
- Macros can call up themselves or other macros at several nesting levels.
- Variables can be used in macros and input signals can be evaluated for conditions and variables.
- For the standalone operation any macro can be defined as the autostart macro. This macro will automatically start with every switch-on or reboot of the controller.
The following example, where Axis X is initialized after the controller is switched on and two positions are approached, shows how simple this is. The "STRATUP" macro is automatically initialized when starting the controller.
Examples for using GCS macros
"STARTUP" Macro | Initialize the Axis |
---|---|
SVO X 1 | Switch on the servo mode for axis X |
FRF X | Start a reference move for axis X |
WAC ONT? X = 1 | Wait, until the reference move of the X axis has been completed |
VAR LEFT 5 VAR RIGHT 15 | Use variables to define the left and right target position |
MAC START MOVLR | Start "MOVLR" macro |
"MOVLR" Macro | Moving the axis to the left or right target position |
---|---|
MAC START MOVWAI $ {LEFT} | Start "MOVWAI" macro with the value for the "LEFT" variable |
MAC START MOVWAI ${RIGHT} | Start "MOVWAI" macro with the value for the "RIGHT" variable |