System Architecture
The A3200 is a layered software product. Each layer gets instructions from the next higher layer, and after processing, sends commands down to the next lower layer. Real-time activities such as the servo loop are handled at the lower levels. Less time-critical activities such as program display are handled at the higher levels. The following software components are listed from highest to lowest layer. Refer to Figure: System Architecture Diagram.
Layer 4. Windows Applications
Layer 3. Programming Interfaces
Layer 2. Real-time Execution
Layer 1. Drive Hardware and Fieldbus Devices
The basic software package that is supplied with the A3200 controller includes the .NET Library, C Library, and Aerotech utility programs. You can use C Library to make a custom application in C or C++. You can use .NET Library to make a custom application in C#, VB.NET, or any other .NET language. Use the utility programs to configure, troubleshoot, and operate the controller.
Motion Composer, Aerotech utility programs, and custom applications can run on the PC at the same time.
Figure: System Architecture Diagram
Table: Layer 4 — Windows Applications
Application | Description |
---|---|
Custom Application | A user-written application that uses one or more of the supplied software interfaces. |
Console | Debug your programs with this low-level command line debug utility. |
Motion Composer | Develop AeroBasic programs, jog axes, and view status. |
Configuration Manager | Edit parameters and change system settings. |
Digital Scope | Collect and analyze data and create one and two-dimensional plots. |
Motion Designer | Graphically generate motion profiles that are executed on the controller. |
CNC Operator Interface | Run programs, jog axes, view status, and operate the machine. |
Firmware Loader | Load new firmware onto connected hardware. |
Status Utility | See the status of all 32 axes and all four controller tasks. If you purchased the Professional Option, Status Utility shows the status of all 32 axes and all 32 tasks. |
Table: Layer 3 — Programming Interfaces
Application | Description |
---|---|
MATLAB Library | Use MATLAB libraries to control motion and data acquisition from MATLAB or Simulink. Refer to the MATLAB section of the A3200 Programming Help file for more information. |
Internal Callback Service | The Internal Callback Service handles callbacks that do not require a graphical interface. Examples of callbacks that are handled by this service include EXE, EXEMODAL, CALLDLL, DATACOLLECT, and FILEREAD. |
LabVIEW (LabVIEW VI's) | Use LabVIEW compatible VIs to command simple motion sequences, read status, and run programs. Refer to the LabVIEW section of the A3200 Programming Help file for more information. |
C Library | Use the C language to develop custom applications for the A3200. Refer to the C Library section of the A3200 Programming Help file for more information. |
System Library | The System Library contains the core library functionality of the A3200. |
.NET Library | Use .NET languages to develop custom applications for the A3200. Refer to the .NET Library section of the A3200 Programming Help file for more information. |
Communication Service | The Communication Service handles all communication between the Windows software layers and the real-time layer. If you configure the A3200 as Remote Server and Client, the Communication Service that is running on the client PC communicates through Ethernet to the Communication Service that is running on the server PC. |
Shared Memory | The A3200 uses shared memory to communicate between the Windows programming environment and the real-time kernel of the A3200. |
Table: Layer 2 — Real-Time Execution
Application | Description |
---|---|
Library Task | The Library Task executes immediate (non-task-based) library commands. |
SMC Tasks | SMC tasks do a round robin program execution of AeroBasic programs. |
Events | Events signal the SMC to notify the software library of events such as call-backs. |
SMC Process | The SMC process is a deterministic real-time process that is responsible for executing AeroBasic programs, generating motion trajectories, and communicating with all network drives. The SMC controller, which runs under a real-time environment on the PC, communicates to the drives through the FireWire or HyperWire. The SMC process has priority over all Windows processes that run on the PC. |
Modbus TCP | The modbus TCP module that accesses Modbus enabled devices from the SMC. |
EtherCAT | The fieldbus module that accesses EtherCAT enabled devices from the SMC. This requires the EtherCAT license option. |
PROFINET | The fieldbus module that accesses PROFINET enabled devices from the SMC. This requires the PROFINET license option. |
Fieldbus Driver | A real-time process that coordinates all Fieldbus communication from the SMC. |
FireWire | This is the standard 1394 OHCI compliant FireWire interface. |
HyperWire™ | The Aerotech HyperWire fiber optic communication interface. |
Table: Layer 1 — Drive Hardware and Fieldbus Devices
Application | Description |
---|---|
Drive 1 - Drive 32 | A combination of FireWire drives or a combination of HyperWire drives. This firmware is typically pre-installed on the hardware. |
Fieldbus Device 1 - Fieldbus Device N | A combination of EtherCAT or Modbus devices that are connected through Ethernet. |
Motor | Motors include Brushless Servo, DC Brush Servo, and stepping motors. |