Programming
U600 User’s Guide
3-6
Aerotech, Inc.
Version 1.4
One disadvantage of the CNC interface is that, the axis processor, unlike the PC
processor, does not have virtual memory, so there is a strict limit to the size of a CNC
program that can be run. However, there is a circular program buffer available, for
programs exceeding the size of the available memory in the controller. This buffer allows
execution of programs of infinite size by having the PC download new lines as the old
ones execute. However, there are important restrictions on a program executed in such a
fashion: it must not contain any GOTOs or jumps (it must run strictly sequentially
through the lines in the program).
Another disadvantage is neither axis configuration nor CNC program control functions
are available from the CNC language. However, Aerotech has created an application
program that serves as the Man-Machine Interface (MMI600-NT) used to configure axes
and control/monitor CNC program execution. This functionality is available from the line
interface AerDebug utility.
3.3.1. CNC Tasks and Programs
The CNC engine running on the axis processor runs four execution threads concurrently,
each of which can be running a CNC program independently. In addition, each task can
execute a single immediate command, while running its CNC program (however, the
command set available for immediate commands is limited to those that do not reference
other program locations, or use program variables). The concurrent execution is
accomplished by polling through the tasks sequentially, once for each poll cycle.
Many CNC commands take significant fixed time periods to execute (like a G4 or
DWELL), in these cases, the task gives up its execution time to the next task, until the
allotted time passed. Therefore, time consuming statements in one task do not slow down
processing of the other tasks.
Tasks can run any program regardless of what programs are being run by other tasks. Two
tasks can even run the same program at the same time. Programs can freely call other
programs by using the FARCALL CNC command and there is no limit to the nesting of
such calls. Also allowed is recursion, where programs can call themselves or any program
that called it. The axis processor can contain up to 100 programs at one time.
The programmer can use global variables or I/O to coordinate execution between the
tasks. Global variables and I/O, as well as all parameters, have global scope. Meaning,
they are equally accessible to all programs. For example, one task may run a program that
begins by looping forever, waiting for a particular output to be set. Another program
might run motion, and only set the output bit after that motion is done. In this way the two
programs are coordinated, so that the first program cannot proceed until the second
program completes its motion. The user need not worry about semaphores to arbitrate
simultaneous access to globally scoped objects, the CNC engine ensures that no task can
read or write a global scoped value while another task is writing or reading it.
Each task has a set of task variables that are not available to the other tasks. Task variable
1, for example, is a different variable for each of the four tasks. Task variables are shared
among all programs running on that task. That is, task variable 1 is the same variable for
any program running on task 1, but refers to a different variable for any program running
on task 2.
Program variables have the lowest scope, existing only in the particular program running
on a particular task. Even programs called by that program cannot access these variables.
Содержание UNIDEX 600 Series
Страница 19: ...Table of Contents U600 User s Guide xviii Aerotech Inc Version 1 4...
Страница 27: ...Preface U600 User s Guide xxvi Aerotech Inc Version 1 4...
Страница 163: ...AerPlot U600 User s Guide 6 6 Aerotech Inc Version 1 4...
Страница 169: ...AerReg U600 User s Guide 8 4 Aerotech Inc Version 1 4...
Страница 177: ...AerPlotIO U600 User s Guide 10 4 Aerotech Inc Version 1 4...
Страница 179: ...Filter U600 User s Guide 11 2 Aerotech Inc Version 1 4...
Страница 219: ...PrmSetup U600 User s Guide 13 2 Aerotech Inc Version 1 4...
Страница 223: ...Glossary of Terms U600 User s Guide A 4 Aerotech Inc Version 1 4...
Страница 353: ......