Download Magnavox W-10CR Installation guide

Transcript
ble Read-Only Memory), or a BBRAM (Battery Backed
RAM). The electrical codes stored in this type of memory
are not lost when external power is removed from the Controller. The Controller uses a battery backed RAM for
storing NVR variables (1-2048). The controller stores the
operating system as well as user programs in Flash memory. This memory is located on the DSP Controller card.
A program in your Controller can have hundreds, or
even thousands of program lines. Because of the
wide variety of program commands, and the variable
line lengths allowed, it is impossible to state how
many lines of code can be stored in the controller.
However, the user memory available is 2044 sectors
of 128 bytes per sector, for a total of 261,632 bytes
of program space. The FREE command may be
used to determine how much memory is available;
see Section 7 for details on using this.
6.1.4 - References
Newcomers to programming are encouraged to obtain a
copy of an elementary text on computer programming.
Since your Controller uses a modified form of the familiar
"BASIC" computer language, you may refer to a book on
using BASIC. There are a great number of such books
available in the technical or computer section of your local
library or bookstore. We have found that books by
SAM's, Microsoft Press particularly ΑRunning MS DOS
QBASIC,≅ by Michael
Haverson & David Rygmyr, and those by the Waite Group
are among the most helpful.
Section 6.2 - Multi-Tasking Operations
A single computer can only do one thing at a time. However, a complex motion control system needs to have
many tasks done, all at once. An effective way to do this
is with a very fast microprocessor (or DSP), running a preemptive multi-tasking operating system. This causes a
single computer to appear to be doing several things simultaneously. The computer works on one program for a
while, then switches to another program for a while, and
after all programs have been serviced, goes back to the
first, and repeats the cycle.
The Controller uses this approach to give the user up to 7
"virtual" motion controllers in a single package. An additional advantage of multi-tasking is that information can
be easily shared among the 7 virtual controllers. The Controller runs 1 system task and up to 7 user tasks. Task 0 is
a system task, which always runs. It processes commands
received over the Host serial port. Up to 7 user, SEBASIC,
BASIC programs (Task 1 - Task 7) may be running in addition to Task 0.
Every 256 microseconds, task execution is interrupted in
order to perform the time-critical functions associated with
motion control. Execution of the next task is resumed
upon completion of the interrupt routine. The execution
sequences for a 1-user-task system and for a 7-user-task
system are shown below.
If an application uses 7 tasks, then each task will be serviced once every 2.048 ms. If fewer tasks are used, then the
service time decreases. A one-task system would be
serviced every 512 us. The service time can be calculated
by the following formula:
Tservice = (n + 1) x 256 microseconds
where n is the number of user tasks.
Large, complicated applications typically consist of several independent operations occurring simultaneously.
Multi-tasking allows the user to program the application
as a collection of several smaller and hence simpler applications.
A typical example of the use of tasks is to break up the
system functions into logical groups. For example, control
of a large machine might assign functions to tasks as follows:
Task 1 - Motion on axes 1 and 2
Task 2 - Handling all inputs and outputs
Task 3 - Communicating with operator interface panel
Using tasks and multi-tasking allows programs to be more
modular, hence they are easier to write, debug, and maintain.
Interrupt
Task 0
With a fast computer, the time slice for each program can
be small and the outward appearance is that a separate
computer is running each program.
Interrupt Interrupt
Task 0
Task 1
Interrupt Interrupt Interrupt Interrupt Interrupt Interrupt Interrupt Interrupt
Task Interface
0 Task 1
Motion Controller Programming
Task 2
Task 3
Task 4
Task 5
Task 6
Task 7
49