Software Architecture

Introduction #

This manual describes the Wafer Transfer control software. The document includes description of the controller architecture, host communication protocol, robot operations and command reference.

Software Architecture #


The Wafer Transfer control software is based on the Motion Control Framework (MCF). This application is designed to execute real-time control of industrial automation equipment including robots with different kinematic structures.
The MCF is highly configurable software that can be adapted to wide range of electromechanical systems. The software supports various communication protocols that interface the embedded robot controller with motion control modules on one side and the with a host computer on the other.

ATMRobot.INI #

Wafer Transfer Configuration File
The mechanical parameters and the communication settings are defined in a dedicated configuration file called ATMRobot.INI. This file contains the specification of the communication interfaces; the mechanical parameters as well as the control loops gain coefficients.
The communication interface between the Wafer Transfer embedded controller and the individual motion control modules is based on a bus topology.
The mechanical parameters include the type of each joint and the gear ratio between the motor shaft and the end of the joint.
The control parameters include the PID control gains as well as the rate of the position loop control.
The system parameters configure global setting related to the resource allocation and the performance of the control system.

ATMRobot.MAC #

Application Macro File
The application macro file contains collection of macros that define the control command set. Each macro name is considered command that the host computer can invoke. The command syntax, operation and possible error codes are documented in detail in the Command Reference chapter of this manual.

CPARS.DAT #

Calibration File
The robot manufacturing process allows tolerances during the assembly of the different joints and their range of operation. In order to deliver absolute position accuracy, the robots are calibrated by software as a last step of their production.
The calibration parameters are specific for each individual robot. The calibration files are not compatible between different robots. Still, an old calibration file can be used as a starting point when a new robot has to be calibrated from scratch.
File format should follow these guidelines:

aparam[robotParameter][axis] = value

robotParamter - can be from specific movement flags to working speed. axis - Has to be one of the axises specified within the robot hardware(T R Z)

Example of how the calibration file should look

; ------------------------ Axis T ------------------------
; Homing mode: 0 = Abs.Enc, 1 = Index, 2 = Sensor, 3 = Sensor+Index, 4 = HardStop, 5 = HardStop+Index
aparam[aHomingMode][T]=2
; Home offset [ec]
aparam[aHomeOffs][T]=-315665
; Custom home position
aparam[aHomeCust][T]=0
; Home speed
aparam[aHomeSpeed][T]=500
aparam[aHomeAccel][T]=2000
; Max error during homing on hard stop
aparam[aHomeMaxErr][T]=0
; Work speed
aparam[aWorkSpeed][T]=22000
aparam[aWorkAccel][T]=88000
aparam[aWorkDecel][T]=88000
aparam[aStopDecel][T]=88000
...

SPARTS.DAT #

Station Parameter File
The robot teaching is based on the concept of recoding coordinates, specific to the locations where material handling is supposed to take place. These locations are called ‘Stations’ and include attributes that go beyond the coordinates alone. There are more than 20 parameters per each station that are saved in a dedicated file called SPARTS.DAT.
The file format of the station paramater file should follow this guide line:

sparam[stationParam][stationName]=value

stationParam - can be from current position of station to scanning position. stationName - represented as ASCII number that corresponds to letters from A..Z and a..z

;--------------------- Station A
...
sparam[sPickPosT][0]=-20000
sparam[sPickPosR][0]=5000
sparam[sPickPosZ][0]=1000
sparam[sPickOffs][0]=30
sparam[sDelay][0]=0
sparam[sEENumber][0]=0
sparam[sEEOrient][0]=0
sparam[sTimeOutVS][0]=50
sparam[sTimeOutVC][0]=0
...

The Station Parameter file stores the result of the robot teaching to operate inside specific setup.
Once the Station parameters are set they may be moved from one robot to another with a high degree of confidence that they will be compatible.
The Station parameters reflect the specifics of each application and can vary from one machine to the other.

MPARS.DAT #

Motion Parameters File
The Motion parameters reflect the specifics of each application and can vary from one machine to the other.

HISTORY.DAT #

Command History File
The MCF software keeps track of all commands issued from the host computer. Once an exceptional condition occurs the buffer with the last 50 commands are stored in a file called HISTORY.DAT. The purpose of this file is post-mortem analysis of a failure.
The format of the history file when opened:

Timer 0.008     Macro           STARTUP
Timer 0.008     Macro           READP
Timer 0.016     Macro           RSA 3
Timer 0.064     Macro           READS
Timer 10.784    Macro           SERVOON NA
Timer 17.296    Macro           HOME NA
Timer 23.848    Macro           RCP NA
Timer 29.448    Macro           HISTORY