AeroScript Equivalents of AeroBasic Commands for the A3200
If you are not new to Aerotech controllers, you might want to convert AeroBasic programs to AeroScript. The tables that follow list all the AeroBasic commands for
I/O
AeroBasic Command | AeroScript Equivalent |
---|---|
$AO |
Replaced by AnalogOutputGet() and AnalogOutputSet(). |
$AI |
Replaced by AnalogInputGet(). |
$DO |
Replaced by DigitalOutputGet() and DigitalOutputSet(). |
$DI |
Replaced by DigitalInputGet(). |
$BO |
Replaced by VirtualBinaryOutputGet() and VirtualBinaryOutputSet(). |
$BI |
Replaced by VirtualBinaryInputGet() and VirtualBinaryInputSet(). |
$RO |
Replaced by VirtualRegisterOutputGet() and VirtualRegisterOutputSet(). |
$RI |
Replaced by VirtualRegisterInputGet() and VirtualRegisterInputSet(). |
$WO |
Removed. To read output bits, use DigitalOutputGet(). To retrieve the outputs as a 32-bit bitmask, use StatusGetAxisItem() with AxisStatusItem.DigitalOutput. To set outputs as individual bits, use DigitalOutputSet(). |
$WI |
Removed. To read individual input bits, use DigitalInputGet(). To retrieve the inputs as a 32-bit bitmask, use StatusGetAxisItem() with AxisStatusItem.DigitalInput. |
$PORT |
Removed. This command was used to set and get the bidirectional I/O on the Nservo. Automation1 drives do not have bidirectional I/O. |
PORT |
Removed. This command was used to configure the bidirectional I/O on the Npaq, Nservo, and Nstep. Automation1 drives do not have bidirectional I/O. |
Parameter (get/set)
AeroBasic Command | AeroScript Equivalent |
---|---|
APPLYDEFAULTS |
Removed. This AeroBasic command changed all axis or task settings back to the values stored in the Default axis or task parameters. Default parameters have names that start with Default, such as DefaultCoordinatedRampRate. You can use Default parameters to configure the default motion settings that will have an effect on a controller after you reset that controller. Thus, Aerotech recommends that you use Automation1 Studio to change the values of Default parameters. Do not change the values of these parameters from your AeroScript program. In AeroScript, you can do functionality that is almost the same as the APPLYDEFAULTS command on the A3200. During runtime, when the controller is running, you can call the ParameterGetAxisValue() or ParameterGetTaskValue() function to get the active Default parameter value of a specified axis or task. Then you can call a corresponding motion configuration function in AeroScript to set the active value at runtime. For example, to change the active value on the controller to the value stored in the DefaultAxisRampRate Parameter, you must do the steps that follow. First, use the ParameterGetAxisValue() function to retrieve the value of the DefaultAxisRampRate Parameter. Then call the SetupAxisRampValue() function in AeroScript to set the active value that the motion will use. For information about which configuration functions correspond to the Default parameter settings, see Motion Setup Functions. |
GETPARMSTRING |
Replaced by ParameterGetAxisStringValue(). See Parameter Functions. |
Getting parameters by name (For example - $abortRate = AbortDecelRate.X) |
Replaced by ParameterGetAxisValue(), ParameterGetTaskValue(), and ParameterGetSystemValue(). See Parameter Functions. |
READPARM |
You cannot read parameters from a configuration file on the controller. Use Machine Setup to examine the parameter configuration of the controller. To read the active value of a parameter during runtime, use the ParameterGet*() functions. See Parameter Functions. |
READPARMSTRING |
You cannot read parameters from a configuration file on the controller. Use Machine Setup to examine the parameter configuration of the controller. To read the active value of a parameter during runtime, use the ParameterGet*() functions. See Parameter Functions. |
SETCLAMPI |
Removed. AeroScript does not have an equivalent. To set the maximum current clamp, see MaxCurrentClamp Parameter. |
SETPARM |
Replaced by ParameterSetAxisValue() and ParameterSetAxisStringValue(). See Parameter Functions. |
Setting parameters by name (For example - MotionUpdateRate = 1) |
Replaced by ParameterSetAxisValue(), ParameterSetTaskValue(), and ParameterSetSystemValue(). See Parameter Functions. |
WRITEPARM |
You cannot write parameters to a configuration file on the controller. Use Machine Setup to change the parameter configuration of the controller. To change the active value of a parameter during runtime, use the ParameterSet*() functions. See Parameter Functions. |
WRITEPARMSTRING |
You cannot write parameters to a configuration file on the controller. Use Machine Setup to change the parameter configuration of the controller. To change the active value of a parameter during runtime, use the ParameterSet*() functions. See Parameter Functions. |
Program Flow
AeroBasic Command | AeroScript Equivalent |
---|---|
DVAR |
Replaced by var keyword. You can declare single variables and arrays of variables. Each array can have a maximum of three dimensions. If you do not specify the variable type, then the variable uses the default type. The default variable type is real. Refer to the example that follows: Code Example
// Single variables for all the fundamental variable types. var $oneReal as real var $oneInt as integer var $oneHandle as handle var $oneString as string // Arrays of variables. // Each array can have a maximum of three dimensions. var $oneDimArray[7] as axis var $twoDimArray[4][2] as integer var $threeDimArray[3][2][2] as real |
GOTO |
Renamed to goto. |
CALL/CLS |
Removed. You can declare functions using the function keyword and then call them by name. |
FARCALL |
Removed. You can use libraries to package code and make it usable by other programs. See Libraries example program. |
FARGOTO |
Removed. You can use libraries to package code and make it usable by other programs. See Libraries example program. |
ONGOSUB |
Replaced by the onerror() statement. See Error Handling example program. |
ON command |
Removed. As an alternative, you can write a dedicated AeroScript program that monitors your conditions. Refer to the example that follows: Code Example
CriticalSectionStart() while (true) // AeroBasic: ON $global[0] == 1.0 SET $global[1], 5.0, -5.0 if ($rglobal[0] == 1.0) $rglobal[1] = 5.0 else $rglobal[1] = -5.0 end // Dwell to prevent a task starvation and to make sure // that the conditions are monitored once per millisecond. Dwell(0.001) end CriticalSectionEnd() |
RETURN |
Renamed to return. |
IF |
Renamed to if. |
WHILE |
Renamed to while. |
FOR |
Renamed to for. |
REPEAT |
Renamed to repeat. |
NEXT |
Replaced by end keyword. |
EXECCANNEDFUNCTION |
Removed. For an equivalent functionality, you can use the sync keyword to do a synchronized function call. |
SETCANNEDFUNCTION |
Removed. For an equivalent functionality, you can use the sync keyword to do a synchronized function call. |
DFS |
Replaced by function keyword. |
ENDIF/ENDRPT/ENDWHILE/ENDDFS |
Replaced by end keyword. |
SYNCCALL |
Replaced by sync keyword. The sync keyword does a synchronized function call. |
PUSHMODES |
Removed. As an alternative, you can write AeroScript functions or AeroScript libraries that save a copy of the modes or settings of a task and restore them. For information about how to retrieve task settings that you want to restore, refer to the StatusGetTaskItem() function in Controller Status Functions. To restore a setting, you can issue the corresponding AeroScript function that enables or disables the setting. |
POPMODES |
Removed. Refer to the PUSHMODES section of this table for more information. |
Program Execution
AeroBasic Command | AeroScript Equivalent |
---|---|
PROGRAM START |
Renamed to ProgramStart(). See Task and Program Functions. |
PROGRAM STOP |
Renamed to ProgramStop(). See Task and Program Functions. |
PROGRAM PAUSE |
Renamed to ProgramPause(). See Task and Program Functions. |
PROGRAM STEPINTO |
Replaced with ProgramStepInto(), ProgramStepOver(), and ProgramStepOut(). See Task and Program Functions. |
PROGRAM STEPOVER |
Replaced with ProgramStepInto(), ProgramStepOver(), and ProgramStepOut(). See Task and Program Functions. |
PROGRAM ASSOCIATE |
Removed. To load a program from the controller file system onto a task, use the ProgramLoad() function. See Task and Program Functions. |
PROGRAM LOAD |
Replaced with the ProgramLoad() function. This function operates only on a compiled version of an AeroScript program. The AeroBasic command, PROGRAM LOAD, did the operations that follow: Compiled an AeroBasic program from the Windows file system, loaded the program into controller memory, and associated it with a task. In Automation1, you cannot compile programs from an AeroScript command. But you can do the options that follow:
|
PROGRAM RUN |
Replaced with the ProgramRun() function. This function operates only on a compiled version of an AeroScript program. The AeroBasic command, PROGRAM RUN, did the operations that follow: Compiled an AeroBasic program from the Windows file system, loaded the program into controller memory, and ran the program on a task. In Automation1, you cannot compile programs from an AeroScript command. But you can do the options that follow:
|
PROGRAM BUFFEREDRUN |
In Automation1, Command Queue has almost the same functionality. Refer to the Executing Custom AeroScript From a File section in the Command Queue in the .NET API or the Command Queue in the C API page to learn how to run a large AeroScript program using the Command Queue. |
ADDPROGRAM |
Removed. This AeroBasic command compiled an AeroBasic program from the Windows file system and loaded it into controller memory. In Automation1, you cannot compile programs from an AeroScript command. But you can do the options that follow:
|
REMOVEPROGRAM |
Removed. In Studio or the .NET or C API, you can remove compiled programs from the controller file system. When you reset the controller, it clears all the AeroScript programs that were previously loaded into memory. |
END PROGRAM |
Replaced with AeroScript equivalents. You can use the program and end keywords to define your program in AeroScript. If you want your program to exit early, you can issue the ProgramExit() function. |
CRITICAL START |
Replaced with the CriticalSectionStart() function. |
CRITICAL END |
Replaced with the CriticalSectionEnd() and CriticalSectionEndAll() functions. See Task and Program Functions for more information. |
CHECKPASSWORD |
Removed. |
Moves
AeroBasic Command | AeroScript Equivalent |
---|---|
RAPID |
Renamed to MoveRapid(). You can also use G0 syntax. |
LINEAR |
Renamed to MoveLinear(). You can also use G1 syntax. |
CW |
Renamed to MoveCw(). You can also use G2 syntax. |
CCW |
Renamed to MoveCcw(). You can also use G3 syntax. |
PT |
Renamed to MovePt(). |
PVT |
Renamed to MovePvt(). |
MOVEABS |
Renamed to MoveAbsolute(). |
MOVEINC |
Renamed to MoveIncremental(). |
BEZIER |
Currently not available. If you generate your motion programs with CADFusion or a different CAD/CAM tool that is compatible with the Automation1 controller, you can configure CADFusion or the CAD/CAM tool to approximate BEZIER curves. To do this, you must use the MoveLinear(), MoveCw(), and MoveCcw() functions. |
FREERUN |
Renamed to MoveFreerun(). |
MOVETOLIM |
Renamed to MoveToLimitCcw() and MoveToLimitCw(). |
MOVEOUTLIM |
Renamed to MoveOutOfLimit(). |
OSCILLATE |
Removed. As an alternative, you can generate your own oscillation profile by using AeroScript math functions to calculate the positions and velocities. Then issue the MovePvt() function in a while, for, or repeat loop. See the PVT Motion AeroScript example program. |
Delays (Waits)
AeroBasic Command | AeroScript Equivalent |
---|---|
DWELL |
Renamed to Dwell(). |
MOVEDELAY |
Renamed to MoveDelay(). |
WAIT (conditional/time) |
Replaced by wait keyword. |
WAIT MOVEDONE |
Replaced by WaitForMotionDone(). |
WAIT INPOS |
Replaced by WaitForInPosition(). |
Motion Modifiers
AeroBasic Command | AeroScript Equivalent |
---|---|
BACKLASH ON/OFF |
Removed. You can change the BacklashDistance Parameter to get the same functionality. Set the parameter to 0 to turn the feature off for that axis. |
FORCEDDECEL |
Removed. Available as G9. |
INSTANTACCEL |
Removed. Available as G8. |
RAMP commands |
|
SCURVE |
Task Mode Sets
AeroBasic Command | AeroScript Equivalent |
---|---|
ABSOLUTE |
Replaced by SetupTaskTargetMode(). Pass TargetMode.Absolute or TargetMode.Incremental. |
INCREMENTAL |
|
MINUTES |
Replaced by SetupTaskTimeUnits(). Pass TimeUnits.Seconds or TimeUnits.Minutes. |
SECONDS |
|
OVERRIDEASYNC ON/OFF |
Removed. Available as G120/G121. |
VELOCITY ON |
Renamed to VelocityBlendingOn(). |
VELOCITY OFF |
Renamed to VelocityBlendingOff(). |
Units
AeroBasic Command | AeroScript Equivalent |
---|---|
ENGLISH |
Removed. Available as G70. As an alternative, you can use the SetupTaskDistanceUnits() function to set the distance units to primary or secondary mode. |
METRIC |
Removed. Available as G71. As an alternative, you can use the SetupTaskDistanceUnits() function to set the distance units to primary or secondary mode. |
PRIMARY |
Replaced by SetupTaskDistanceUnits(). Use DistanceUnits.Primary. |
SECONDARY |
Replaced by SetupTaskDistanceUnits(). Use DistanceUnits.Secondary. |
Callbacks
AeroBasic Command | AeroScript Equivalent |
---|---|
CALLBACK |
Renamed to Callback(). |
CALLDLL |
Removed. This AeroBasic command let you call into a Windows DLL from the controller. Because of security precautions with Automation1, you cannot access the Windows file system or execute Windows DLL and EXE files from AeroScript. But you can do the options that follow:
|
CLOSEDLL |
Removed. This AeroBasic command let you close a Windows DLL file that was previously opened with the OPENDLL AeroBasic command. |
COMMINIT |
Removed. |
COMMSETTIMEOUT |
Removed. |
DATACOLLECT ITEM |
Replaced by DataCollectionAddAxisSignal(), DataCollectionAddTaskSignal(), and DataCollectionAddSystemSignal(). |
DATACOLLECT ITEM RESET |
Renamed to DataCollectionReset(). |
DATACOLLECT START |
Renamed to DataCollectionStart(). |
DATACOLLECT STOP |
Renamed to DataCollectionStop(). |
ERRORDECODE |
Removed. |
EXE |
Removed. This AeroBasic command let you execute a Windows EXE file from the controller. Because of security precautions with Automation1, you cannot access the Windows file system or execute Windows DLL and EXE files from AeroScript. But you can do the options that follow:
|
EXEMODAL |
Removed. This AeroBasic command let you execute a Windows EXE file from the controller. Because of security precautions with Automation1, you cannot access the Windows file system or execute Windows DLL and EXE files from AeroScript. But you can do the options that follow:
|
FILECLOSE |
Renamed to FileClose(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEEXISTS |
Renamed to DirectoryFileExists(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEOPEN |
Renamed to FileOpenBinary() and FileOpenText(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEREAD |
Replaced by FileTextReadLine(), FileTextReadString(), and FileBinaryRead*() functions. In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEREADARRAYBINARY |
Replaced by the FileBinaryRead*Array() functions. In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEREADINI |
Replaced by In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILESIZE |
Renamed to FileSize(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEWRITE |
Replaced by the FileTextWriteString() and FileBinaryWrite* functions. To specify a new-line character to a text string, append "\n" to the text string before you call FileTextWriteString(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEWRITEARRAY |
Removed. You can get functionality that is almost the same by calling FileTextWriteString() in a while, for, or repeat loop. In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEWRITEARRAYBINARY |
Replaced by FileBinaryWrite*Array(). In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEWRITEINI |
Replaced by In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
FILEWRITENOTERM |
Removed. To prevent a new-line character from being written to file, make sure to not specify "\n" in your text strings. In Automation1, the File and Directory Functions operate directly on the controller file system. You cannot specify Windows directories from within AeroScript. To configure the controller file system, use the Controller Files module of the Configure workspace from within Studio. |
IMMEDIATE EXECUTE |
Removed. This command let you compile and execute an immediate command on a task by passing the AeroBasic command as a text string. But you cannot compile text strings in AeroScript. To do functionality that is almost the same, specify a synchronized function in your AeroScript program or in an AeroScript library. Then use the sync keyword to execute a synchronized function call on a different task. |
LOADCALFILE |
Replaced by CalibrationLoad(). |
NETWORK ACCEPT |
Renamed to SocketTcpServerAccept(). |
NETWORK AUTOFLUSH |
Removed. In Automation1, SocketWrite*() functions automatically flush all data that you write. See Socket Functions. |
NETWORK CLOSE |
Renamed to SocketClose(). |
NETWORK CONNECT |
Renamed to SocketTcpClientCreate(). |
NETWORK FLUSH |
Removed. In Automation1, SocketWrite*() functions automatically flush all data that you write. See Socket Functions. |
NETWORK LISTEN |
Renamed to SocketTcpServerCreate(). |
NETWORK PENDING CLIENT |
Renamed to SocketTcpServerIsClientPending(). |
NETWORK PENDING OCTETS |
Renamed to SocketGetReadBytesAvailable(). |
NETWORK READ |
Replaced by SocketRead*(). |
NETWORK TIMEOUT |
Renamed to SocketSetDataReadTimeout() and SocketSetDataWriteTimeout(). |
NETWORK WRITE |
Replaced by SocketWrite*(). |
OPENDLL |
Removed. This AeroBasic command let you open a Windows DLL file. Because of security precautions with Automation1, you cannot access the Windows file system or execute Windows DLL and EXE files from AeroScript. But you can do the options that follow:
|
READCONFIGSTRING |
Removed. Controller configurations, such as parameter and calibration files, are stored internally on the controller at this time. They are not available for you to access in the Windows file system. To save a copy of the active controller configuration, download a Machine Controller Definition file (MCD file) from Studio or the .NET API. You can also overwrite the configuration on the controller. To overwrite the configuration, find an MCD file that is stored in Windows. Then upload it to the controller from Studio or the .NET API. In AeroScript, you can see the active values of all the parameters. See Parameter Functions. In AeroScript, you can see the active state of calibration or power correction on an axis:
|
SCOPELTTRIG |
You can trigger a Frequency Response directly from Studio. See Application Frequency Response Functions. |
SCOPEOPEN |
Removed. This AeroBasic command launched the Digital Scope application. In Automation1, you can open Studio from Windows and then use the AppDataCollectionSnapshot() and AppDataCollectionStop() functions to trigger data collection. |
Math Operations
AeroBasic Command | AeroScript Equivalent |
---|---|
ABS |
See Math Functions. |
FRAC |
|
INT |
|
EXP |
|
LOG |
|
SQRT |
|
ACOS |
|
ASIN |
|
ATAN2 |
|
ATAN |
|
COS |
|
SIN |
|
TAN |
|
CEIL |
|
FLOOR |
|
ROUND |
|
INDEXTOMASK |
Removed. You can get this functionality by left-shifting 0x1 by the index: function IndexToMask($index as integer) as integer return 0x1 << $index end |
MASKTOINDEX |
Removed. You can get this functionality by right-shifting the mask to compute the index: function MaskToIndex($mask as integer) as integer var $index as integer = -1 var $testMask = $mask while ($testMask != 0) $index = $index + 1 $testMask = $testMask >> 1 end return $index end |
MASKTODBL |
Removed. To change an axis variable to its integer whole number that represents the axis index, use the AxisToInteger() function. |
RAND |
|
COUNTSTOUNITS |
|
UNITSTOCOUNTS |
|
TIMER |
String Operations
AeroBasic Command | AeroScript Equivalent |
---|---|
MAKESTRING |
See String Functions. |
DBLTOSTR |
|
STRCHAR |
|
STRCMP |
|
STRFIND |
|
STRLEN |
|
STRLWR |
|
STRMID |
|
STRTOASCII |
|
STRTODBL |
|
STRUPR |
Geometry Modifications and Transforms
AeroBasic Command | AeroScript Equivalent |
---|---|
ROUNDING AXES |
Renamed to CornerRoundingSetAxes(). |
ROUNDING ON |
Renamed to CornerRoundingOn(). |
ROUNDING OFF |
Renamed to CornerRoundingOff(). |
ROUNDING TOLERANCE |
Renamed to CornerRoundingSetTolerance(). |
MIRROR |
|
ROTATION |
|
TRANSFORM POSITION RESET |
|
QCOMMAND READ |
|
QCOMMAND WRITE |
|
QCOMMAND RESET |
Axis Control
AeroBasic Command | AeroScript Equivalent |
---|---|
ABORT |
Renamed to Abort(). |
ANALOG CONTROL ON/OFF |
Currently not available. You can do functionality that is almost the same by reading an analog input signal at 1 kHz from AeroScript. Then you can generate motion each millisecond by using the MovePvt() or MovePt() function with a 1 millisecond update time. When you use this method, an approximate 10 milliseconds of latency occurs between analog input changes and the corresponding position that is sent to the servo loop. Make sure that the latency does not prevent you from using this method correctly based on your project requirements. |
AUTOFOCUS |
Replaced by AutofocusOn() and AutofocusOff(). |
BLOCKMOTION |
Removed. To prevent motion from entering a dangerous area, you can use safe zones. See Safe Zone Functions. |
BRAKE |
Replaced by DriveBrakeOn() and DriveBrakeOff(). |
CAMSYNC |
Replaced by CammingOn() and CammingOff(). |
DISABLE |
Renamed to Disable(). |
ENABLE |
Renamed to Enable(). |
GEAR MASTERCONFIG |
Renamed to GearingSetLeaderAxis(). |
GEAR ON |
Renamed to GearingOn(). |
GEAR OFF |
Renamed to GearingOff(). |
GEAR RATIO |
Renamed to GearingSetRatio(). |
HANDWHEEL ON |
Removed. You can use Gearing functions to get an equivalent functionality. See Camming and Gearing Functions. |
HANDWHEEL OFF |
Removed. You can use Gearing functions to get an equivalent functionality. See Camming and Gearing Functions. |
HOME |
Renamed to Home(). |
HOME CONDITIONAL |
Removed. To get this functionality, write an AeroScript function that homes axes that are not already homed. function HomeConditional($axes[] as axis) CriticalSectionStart() foreach var $axis in $axes if (StatusGetAxisItem($axis, AxisStatusItem.AxisStatus, AxisStatus.Homed) != AxisStatus.Homed) HomeAsync($axis) end end CriticalSectionEnd() WaitForMotionDone($axes) end |
HOMEASYNC |
Renamed to HomeAsync(). |
JOYSTICK 2D/3D AXISGROUP |
Renamed to JoystickAxisGroupAdd(). |
JOYSTICK ON |
Renamed to JoystickRun(). |
JOYSTICK RESET |
Renamed to JoystickAxisGroupRemoveAll(). |
SLAVEADVANCE |
Removed. This AeroBasic command tried to compensate for the 5 - 10 millisecond communication delay that occurred between the leader axis and follower axis when the GearingSource or CammingSource is set to PositionFeedback or AuxiliaryFeedback. You can prevent the communication delay by setting the GearingSource or CammingSource to PositionCommand. |
SLAVEOFFSET |
Replaced with the $tableOffset argument to the CammingLoadTableFromArray() function. |
TARGETTRACK |
Removed. As an alternative, you can issue the MoveAbsolute() function. This function does target tracking by changing the endpoint of a MoveAbsolute() function that the controller is currently executing. |
Galvo
AeroBasic Command | AeroScript Equivalent |
---|---|
GALVO LASEROVERRIDE ON/OFF/AUTO |
Replaced by GalvoLaserOutput(). |
GALVO WOBBLE CONFIGURE |
Renamed to GalvoWobbleSetConfiguration(). |
GALVO WOBBLE ON/OFF |
Replaced by GalvoWobbleOn() and GalvoWobbleOff(). |
GALVO LASERMODE |
Renamed to GalvoConfigureLaserMode(). |
GALVO LASERONDELAY |
Replaced by GalvoConfigureLaserDelays(). |
GALVO LASEROFFDELAY |
Replaced by GalvoConfigureLaserDelays(). |
GALVO LASEROUTPUTPERIOD |
Renamed to GalvoConfigureLaserOutputPeriod(). |
GALVO LASER1PULSEWIDTH |
Renamed to GalvoConfigureLaser1PulseWidth(). |
GALVO LASER2PULSEWIDTH |
Renamed to GalvoConfigureLaser2PulseWidth(). |
GALVO STANDBYPERIOD |
Renamed to GalvoConfigureStandbyPeriod(). |
GALVO STANDBYPULSEWIDTH |
Renamed to GalvoConfigureStandbyPulseWidth(). |
GALVO SUPPRESSIONPULSEWIDTH |
Renamed to GalvoConfigureSuppressionPulseWidth(). |
GALVO ENCODERSCALEFACTOR |
Renamed to GalvoEncoderScaleFactorSet(). |
GALVO PROJECTION ON/OFF |
Replaced by GalvoProjectionOn() and GalvoProjectionOff(). |
GALVO PROJECTION COEFFICIENTS |
Renamed to GalvoProjectionSetCoefficients(). |
GALVO ROTATION |
Renamed to GalvoRotationSet(). |
IFOV
AeroBasic Command | AeroScript Equivalent |
---|---|
IFOV AXISPAIR |
Renamed to IfovSetAxisPairs(). |
IFOV ON/OFF |
Replaced by IfovOn() and IfovOff(). |
IFOV SIZE |
Renamed to IfovSetSize(). |
IFOV SYNCAXES |
Renamed to IfovSetSyncAxes(). |
IFOV TIME |
Renamed to IfovSetTime(). |
IFOV TRACKINGACCEL |
Renamed to IfovSetTrackingAcceleration(). |
IFOV TRACKINGSPEED |
Renamed to IfovSetTrackingSpeed(). |
PSO
AeroBasic Command | AeroScript Equivalent |
---|---|
PSOANALOG ON/OFF/ARRAY/TRIGGER/OUTPUT |
The PSO API was reorganized. See More PSO Functions. |
PSOCONTROL ON PSOCONTROL OFF PSOCONTROL ARM [PWM/GALVO] PSOCONTROL FIRE [CONTINUOUS] PSOCONTROL PULSE DISABLE |
|
PSOCONTROL RESET |
|
PSODISTANCE* commands |
|
PSOHALT ENABLE/DISABLE/LATCH |
|
PSOOUTPUT* commands |
|
PSOPULSE* commands |
|
PSOTRACK SCALE |
|
PSOTRACK DIRECTION/INPUT/RESET |
|
PSOWINDOW ON/OFF/RANGE/LOAD |
|
PSOWINDOW CONTROL/INPUT/RESET |
|
POSOFFSET SET |
Renamed to PositionOffsetSet(). |
POSOFFSET CLEAR |
Renamed to PositionOffsetClear(). |
ARRAY WRITE/ARRAY READ [FAST] |
Replaced by DriveArrayWrite(), DriveArrayRead(), and DriveArrayReadFast(). |
DATAACQ |
Replaced by Drive Data Capture. See the Drive Data Capture section of Device Functions for more information. |
Overrides
AeroBasic Command | AeroScript Equivalent |
---|---|
EXECUTEMODE |
Removed. To operate in step mode, you can use Studio to step through your AeroScript program. As an alternative, you can use the ProgramStep*() functions. |
FEEDHOLD |
Replaced by TaskFeedholdOn() and TaskFeedholdOff(). |
MFO |
Renamed to TaskMfo(). |
MSO |
Renamed to TaskMso(). |
INTERRUPTMOTION ON/OFF |
Replaced by TaskInterruptMotionOn() and TaskInterruptMotionOff(). |
INTERRUPTMOTION RETURNTYPE |
Replaced by TaskInterruptMotionOff(). |
RETRACE ON/OFF |
Replaced by TaskRetraceOn() and TaskRetraceOff(). |
TRACE END |
Renamed to TaskRetraceClearHistory(). |
Faults, Errors, and Warnings
AeroBasic Command | AeroScript Equivalent |
---|---|
ACKNOWLEDGEALL |
Renamed to AcknowledgeAll(). |
FAULTACK |
Renamed to FaultAcknowledge(). |
AXISFAULT |
Renamed to FaultThrow(). |
TASKERROR |
Renamed to TaskSetError(). |
TASKWARNING |
Renamed to TaskSetWarning(). |
USERTASKERROR |
Currently not available. As an alternative, you can use the AppMessageDisplay() function and use MessageSeverity.Error for the severity. The message that you specify shows in Studio but does not cause a task error and does not stop the task from executing. See Application Message Functions for more information. If you must stop the program, you can use this method with the ProgramExit() function. |
USERTASKWARNING |
Currently not available. As an alternative, you can use the AppMessageDisplay() function and use MessageSeverity.Information or MessageSeverity.Warning for the severity. The message that you specify shows in Studio but does not cause a task warning. See Application Message Functions for more information. |
Message Display
AeroBasic Command | AeroScript Equivalent |
---|---|
MSGSHOW |
Removed. |
MSGHIDE |
Removed. |
MSGLAMP |
Removed. |
MSGDISPLAY |
Replaced by the AppMessageDisplay() function. |
MSGCLEAR |
Replaced by the AppMessageDisplayDismiss() function. |
MSGFILESELECT |
Replaced by the AppMessageFileOpen() and AppMessageFileSave() functions. |
MSGINPUT |
Renamed to AppMessageInputBox(). |
MSGBOX |
Renamed to AppMessageBox(). |
MSGMENU |
Renamed to AppMessageMenu(). |
Other
AeroBasic Command | AeroScript Equivalent |
---|---|
ANALOG ON/OFF |
Replaced by AnalogOutputConfigureVectorTrackingMode(). |
ANALOG SET |
Replaced by AnalogOutputConfigureVectorTrackingMode(). |
ANALOG TIME |
Removed. |
ANALOG TRACK |
Replaced by AnalogOutputConfigureAxisTrackingMode(). |
AXCALPARM |
Removed. AeroScript does not have an equivalent. For information about how to use temperature compensation, see ThermoComp™ Functions. |
BARCODE DATAMATRIX |
Removed. If you generate your motion program with CADFusion or a different CAD/CAM tool that is compatible with the Automation1 controller, you can also use these tools to generate barcodes. |
CALENABLE/CALDISABLE |
Removed. To enable or disable 1D Axis Calibration, 2D Axis Calibration, Galvo 2D Axis Calibration, or Galvo Power Correction, use the Calibration module of the Configure workspace from within Studio. |
CURRENTCOMMAND |
Removed. |
DRIVEINFO |
Renamed to DriveGetItem(). |
ENCODER OUT ON/OFF/DIVIDER |
Replaced by DriveEncoderOutputConfigureInput(), DriveEncoderOutputOn(), DriveEncoderOutputOff(), and DriveEncoderOutputConfigureDivider(). |
FIBER commands |
Currently not available. As an alternative, you can do Fiber Alignment routines in AeroScript by reading an analog input signal and issuing the necessary MoveLinear(), MoveCw(), and MoveCcw() moves in velocity blending mode (which is VelocityBlendingOn()). |
FREECAMTABLE |
Renamed to CammingFreeTable(). |
LOADCAMVAR |
Renamed to CammingLoadTableFromArray(). |
LOADCAMTABLE |
Removed. At this time, the controller does not specify a camming table file format. As an alternative, you can use the File* functions to read from a file that contains the camming data and then pass that data to the CammingLoadTableFromArray() function. |
LOOKAHEAD FAST/NORMAL |
Removed. This AeroBasic command was removed because when lookahead is active, the controller always operates in a fast lookahead mode. |
MC |
Renamed to TuningSetMotorCurrent(). |
MSET |
Renamed to TuningSetMotorAngle(). |
INITCOMMUTATION |
Renamed to TuningCommutationInitialize(). |
NORMALCY OFF/LEFT/RIGHT (G20/G21/G22) |
Replaced by NormalcyOn() and NormalcyOff(). |
NORMALCY AXES/TOLERANCE |
Replaced by NormalcySetAxes() and NormalcySetTolerance(). |
PCI OPEN/CLOSE |
Removed. |
PCI READ/WRITE |
Removed. |
PROBE INPUT/MODE |
Removed. As an alternative, you can use Drive Data Capture to do functionality that is almost the same. See the Drive Data Capture section of Device Functions for more information. After the position is captured, you can issue the Abort() function. |
PROBE ON |
Removed. As an alternative, you can use Drive Data Capture to do functionality that is almost the same. See the Drive Data Capture section of Device Functions for more information. After the position is captured, you can issue the Abort() function. |
PROBE OFF |
Removed. As an alternative, you can use Drive Data Capture to do functionality that is almost the same. See the Drive Data Capture section of Device Functions for more information. After the position is captured, you can issue the Abort() function. |
PROGRAMCONTROL |
Currently not available. You can try to prevent a background AeroScript program from being stopped. To do this, set the TaskTerminationAxes parameter to a value of 0. You must set the parameter that is on the task. |
SAFEZONE ON/OFF |
Replaced by SafeZoneOn() and SafeZoneOff(). |
SAFEZONE SET |
Replaced by SafeZoneBoundaryAdd(). |
SAFEZONE TYPE |
Renamed to SafeZoneSetType(). |
SAFEZONE CLEAR |
Replaced by SafeZoneBoundaryRemove() and SafeZoneBoundaryRemoveAll(). |
SCOPETRIG |
Replaced by AppDataCollectionSnapshot() and AppDataCollectionStop(). |
SERVO ON/OFF |
Currently not available. To set the servo on or servo off state of a piezo axis, set the PiezoInitialServoState axis parameter from Studio. Then reset the controller. |
SET GAIN |
Replaced by TuningSetServoLoopGains() and TuningSetFeedforwardGains(). |
SETEXTPOS |
Renamed to DriveSetAuxiliaryFeedback(). |
SETPOSCMD |
Renamed to DriveSetPositionCommand(). |
SETPOSFBK |
Renamed to DriveSetPositionFeedback(). |
SIGNALLOG TRIGGER |
Renamed to SignalLogTrigger(). |
SLICE |
Removed. You can do a raster scan with the Move functions in AeroScript. For example, you can command the two axes of motion (X and Y) directly. For the scan move, issue one or more MoveLinear(), MoveCw(), or MoveCcw() moves in velocity blending mode (which is VelocityBlendingOn()). For the step move, use the MoveRapid(), MoveLinear(), MoveCw(), or MoveCcw() function before the next scan. |
TIMER |
Replaced by TimerRead() and TimerClear(). |
VME READ/WRITE |
Removed. |
WAIT MODE ... |
Renamed to SetupTaskWaitMode(). |
PULSE |
Replaced by DrivePulseStreamConfigure(), DrivePulseStreamOn(), and DrivePulseStreamOff(). |
THERMOCOMP |
Replaced by ThermoCompOn() and ThermoCompOff(). |
Fieldbus mapping variables (Modbus, EtherCAT, PROFINET) |
Currently not available. |
AXISSTATUS |
Renamed to StatusGetAxisItem(). |
TASKSTATUS |
Renamed to StatusGetTaskItem(). |
SYSTEMSTATUS |
Renamed to StatusGetSystemItem(). |
AXISSTATUSFAST |
Renamed to StatusGetAxisItemFast(). |
TASKSTATUSFAST |
Renamed to StatusGetTaskItemFast(). |
G-Code and M-Code Commands
AeroBasic Command | AeroScript Equivalent |
---|---|
G4 |
When you pass arguments to the G4 G-code in Automation1, Aerotech recommends that you use the P command. For backward compatibility to the A3200, you can continue to use the F command. But the documentation on the G-Code Programming page shows the P command as the only applicable command for the G4 G-code. |
G43 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G45 |
Removed. In A3200, this G-code disabled polar coordinates. For information about transformations, refer to Transformation Functions. |
G46 |
Removed. In A3200, this G-code enabled polar coordinates. For information about transformations, refer to Transformation Functions. |
G47 |
Removed. In A3200, this G-code specified the axes that were used with polar coordinates. For information about transformations, refer to Transformation Functions. |
G51 |
Removed. In A3200, this G-code enabled touch-probe monitoring. |
G52 |
Removed. In A3200, this G-code specified the polar and cylindrical axes. For information about transformations, refer to Transformation Functions. |
G54 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G55 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G56 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G57 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G58 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G59 |
When you pass arguments to this G-code in Automation1, you must specify axes. In A3200, you can specify axis points (pairs consisting of an axis and a numeric expression). For more information about work offsets, refer to Motion Functions. |
G60 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G61 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G65 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G66 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G83 |
Removed. In A3200, this G-code enabled the mirror-image transformation. For information about transformations, refer to Transformation Functions. |
G84 |
Removed. In A3200, this G-code enabled the parts rotation transformation. For information about transformations, refer to Transformation Functions. |
G110 |
Removed. In A3200, this G-code set the circular interpolation mode (G2/G3/G12/G13) to normal interpolation. |
G111 |
Removed. In A3200, this G-code set the circular interpolation mode (G2/G3/G12/G13) to inverse interpolation. |
G112 |
Removed. In A3200, this G-code enabled block delete mode. |
G113 |
Removed. In A3200, this G-code disabled block delete mode. |
G143 |
Cutter offsets and tool tables are not available in Automation1 at this time. |
G144 |
Cutter offsets and tool tables are not available in Automation1 at this time. |
G149 |
Cutter offsets and tool tables are not available in Automation1 at this time. |
G165 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G166 |
When you pass arguments to this G-code in Automation1, you must use the P command. In A3200, you can pass arguments with the F or P command. |
G212 |
Removed. In A3200, this G-code enabled block delete 2 mode. |
G213 |
Removed. In A3200, this G-code disabled block delete 2 mode. |
G295 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G95 G-code. |
G296 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G96 G-code. |
G297 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G97 G-code. |
G395 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G95 G-code. |
G396 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G96 G-code. |
G397 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G97 G-code. |
G495 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G95 G-code. |
G496 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G96 G-code. |
G497 |
Removed. In A3200, this G-code configured Automation1 supports one spindle per task. Use the G97 G-code. |
M19 |
Removed. In A3200, this M-code moved |
M23 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M3 M-code. |
M24 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M4 M-code. |
M25 |
Removed. In A3200, this M-code disabled Automation1 supports one spindle per task. Use the M5 M-code. |
M33 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M3 M-code. |
M34 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M4 M-code. |
M35 |
Removed. In A3200, this M-code disabled Automation1 supports one spindle per task. Use the M5 M-code. |
M43 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M3 M-code. |
M44 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M4 M-code. |
M45 |
Removed. In A3200, this M-code disabled Automation1 supports one spindle per task. Use the M5 M-code. |
M46 |
Removed. In A3200, this M-code stopped a critical section. (The CRITICAL END command is the AeroBasic equivalent.) In Automation1, you can use the function CriticalSectionEnd() or function CriticalSectionEndAll() function to stop a critical section. |
M97 |
Removed. In A3200, this M-code let you specify the number of times that you called a local function. In Automation1, you can do this by using a repeat loop that contains a local function call. |
M98 |
Removed. In A3200, this M-code let you specify the number of times that you called a function from a different program. In Automation1, you can do this by using a repeat loop that contains a dynamic function call. |
M123 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M103 M-code. |
M124 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M104 M-code. |
M133 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M103 M-code. |
M134 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M104 M-code. |
M143 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M103 M-code. |
M144 |
Removed. In A3200, this M-code enabled Automation1 supports one spindle per task. Use the M104 M-code. |
M146 |
Removed. In A3200, this M-code started a critical section. (The CRITICAL START command is the AeroBasic equivalent.) In Automation1, you can use the CriticalSectionStart() function to start a critical section. |
M219 |
Removed. In A3200, this M-code moved |
M319 |
Removed. In A3200, this M-code moved |
M419 |
Removed. In A3200, this M-code moved |
T |
Tool tables are not available in Automation1 at this time. |