|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention is used in the control of heavy machinery used in the
fabrication of machined parts and more specifically pertains to the
numerical control of such machinery through the use of microcomputers.
Control systems for machine shop machinery are available in several basic
configurations. The conventional approach is to have gangs of relays used
to control the machine. When an operator pushes a button, a relay is
closed to supply power to the appropriate machine function. Other relays
controlled by sensors, such as limit switches, would also be employed to
control the machine or drive a display on the operator's control panel.
Since these relay circuits are specific to the machine, each different
kind of machine tool requires the design of a unique set of relay
controls.
Machines under numerical control are used to simplify the duty of the
operator in that a paper tape containing machine instructions is used to
program the machine through an entire machining process. Thus, by
implementing simple logic circuits with relays, by providing instructions
through a paper tape and reader, and by relying on various internal
sensors and solenoids, a machine can be controlled to complete entire
sequences of operations without manual assistance. However, to customize a
numerical control system to a particular machine tool or specific use, the
relay controls must be redesigned.
More recently, control systems have been implemented on printed circuit
boards containing logic implemented from integrated circuit devices. Power
amplifiers are provided to drive motors and solenoids in the machine, and
operator panel lights. This is a significant improvement since integrated
circuits are more reliable and less costly than relay logic.
Regardless of the technology used to implement the machine tool system,
there usually are specific characteristics of the machine tool, or the use
to which it will be put, which necessitate a certain amount of
modification. If the control system is implemented in hardware the result
will be a redesign for each installation.
A computer may also be used to implement the logic functions required to
control the machine tool. Here, inputs to the computer, such as switch
closures on either the operator panel or the machine tool, are digitized
and sensed by the computer. Likewise, outputs are generated to drive
operator panel displays and machine functions such as interlocks, coolant
flow, tool indexes, remote functions, alarms and other system dependent
functions. In this case the computer numerical control system software is
used to customize the system to the particular end use.
A problem associated with a computed used for this purpose is that the
computer programs written for each machine are necessarily different,
resulting in the necessity of modifying the basic program for each new
use. For example, the programs for controlling turret latches would be
different from programs controlling milling machines. Beyond that,
however, even identical machines used under differing circumstances would
require individual programs.
These computer programs are usually written by computer specialists who may
not be coveniently available at the machine shop. Additionally, a computer
specialist brought in to do the programming may not be expert on the
particular machine tool, and the use to which it is to be put.
In consideration of the above problem it is clear that what is needed is a
numerical control system, under computer control, which can be used for
controlling any machine tool and which can be modified by a resident
machine designer who is not necessarily skilled in computer technology.
SUMMARY OF THE INVENTION
The numerical control system described herein comprises a tape reader, a
control display panel and three microcomputers connected to a common main
memory or common data memory. This apparatus implements a numerical
control system which may be used to control any kind of machine tool
including turret lathes, drill presses, milling machines and machining
centers. This system is tailored to each individual machine by
implementing in one microcomputer control memory an equivalent of the
entire relay logic structure that would be required to control the
particular machine, while those operations specific to the particular part
being machined are input to the system through a paper tape loaded onto
the taper reader. The result is a system whose hardware may be used to
control any machine tool and whose machining system-dependent functions
(customizations) may be implemented by a machine designer rather than a
computer specialist.
The basic system is designed so that only a small portion of the control
needs to be reprogrammed to customize the control to specific
requirements, and this only to provide special operational
characteristics.
The first microcomputer in the system is used as an input/output
controller. A logic equivalent of the relay structure of the machine is
simulated in part of the control memory of this microcomputer, and the
state of each hypothetical relay, i.e., whether the simulated relay
contacts are closed or open, is contained in an associated bit of the
common data memory as either a 1 or a 0 respectively. Further functions of
the input/output controller are to control and receive information from
the paper tape reader, to provide information to be displayed on the
control display panel, to receive information from sensors and switches in
the machine tool, and to provide power to the various functions of the
machine tool. This input/output controller also may receive or transmit
any of its data to the common data memory.
The second microcomputer is used to compute tool and part paths. For
example, a command received by the system from the tape reader to cut a
circular groove in a part must be converted into hundreds of discrete tool
repositioning instructions so that the sum of these operations will result
in a smooth curve. The generation of these smooth motion instructions is
accomplished in this interpolator.
The third microcomputer is used as an axis controller, to provide
appropriate position command signals to control the machine tool in as
many as six axes of tool or part motion in accordance with the tool or
part paths computed by the interpolator. These signals are used to control
a servo circuit for each axis.
The resultant numerical control system is low in cost since almost all
functions are implemented either in firmware or hardware in the form of
integrated circuits which are inherently reliable and low in cost. The
system is adaptable since the same hardware may be used to control any
machine tool. Finally, this system is conveniently used by machine shop
operators since the numerical control system is customized to a particular
machine tool through the writing of programs which are equivalent to relay
diagrams.
It is thus an object of this invention to provide a computer numerical
control system which can be used on any machine tool and which can be
programmed as though it were controlled by relays by a machine designer
unskilled in the computer art.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a pictorial diagram of the computer numerical control system.
FIG. 1B is a functional diagram of the numerical control system.
FIG. 2 is a section of a typical ladder diagram.
FIG. 3A is a decision tree based on the ladder diagram of FIG. 2.
FIG. 3B is a simplified schematic of a data debouncing circuit.
FIG. 4 is a flow chart of the data processed by the input/output
controller.
FIGS. 5, 6A, 6B, 6C and 7 are schematic diagrams of the microcomputer.
FIGS. 8, 9A and 9B are schematic diagrams of the common data memory.
FIGS. 10A, 10B and 11 are schematic diagrams of the input/output controller
logic board.
FIGS. 12, 13, 14A and 14B are schematic diagrams of the magnetics panel.
FIGS 15, 16A and 16B are schematic diagrams of the LED display board.
FIGS. 17A, 17B and 18 are schematic diagrams of the switch logic board.
FIG. 19 is a block diagram of the numerical control system.
FIGS. 20A, 20B, 20C and 21 are schematic diagrams of the system analyzer
and its associated circuits.
FIG. 22 is a system flow chart showing the data paths.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1A is a pictorial diagram of this computer numerical control system
showing its main components. Computer 100, the input/output controller,
and its associated logic 102 controls the flow of information between the
control display panel 104, the tape reader 106, the common data memory
108, and a machine tool 110. Numerical data for the machining of
particular parts are read in from a tape 112, paper or magnetic, through
the tape reader 106. This information is received by the input/output
controller 100 and loaded into common data memory 108. Likewise,
particular bits of information are received from the control display panel
representing the status of various switches set by the operator, and
various bits of information set by the machine tool such as the status of
overlimit switches, temperature gauges, etc. Output from the input/output
controller 100 is fed out to the control display panel to drive certain
indicators and display lights, and other data is output to the machine
tool to control various machine functions.
Computer 114 is an interpolator. It receives basic part shaping data from
the paper tape reader 106 through the input/output controller 100 and from
these simple commands representing curves of various kinds, generates
detailed machine instructions in real time. As described above, a simple
radius is comprised of a large number of discrete machine tool movements.
The particular piece-by-piece movements are calculated in the interpolator
114 and output through the common data memory 108 to the axis controller
118.
Computer 119, the axis controller, controls up to six servo circuits
corresponding to six axes of machine tool motion.
As shown in FIG. 1A, common data memory 108 is available to all three
microcomputers, and all transfers of information from one computer to
another comprise the loading of the particular information by one computer
into common data memory 108 and the reading of that data from common data
memory by the using computer. In addition to common data memory 108, each
computer has its own control memory implemented from read only memory
devices for permanent data storage and storage of control memory programs.
As a general rule, programs and data stored in the control memory of the
input/output controller 100 tailors the system to the particular machine
tool while the data pertaining to the machining of a particular part is
typically loaded in from tape 112 through the tape reader 106 and through
the input/output controller to the common data memory 108 where it will be
used by the interpolator to produce instructions for the machining of the
particular part.
FIG. 1B is a more detailed functional block diagram of the system showing
the three microcomputers.
In this diagram the flow of motion data, that is, the data used to control
the motion of the part or tool in up to six axes of rotation, generally
follows the path represented as a dotted line. The digital codes
representing the tool or part motion for each axis are read from the tape
reader through the input/output controller and loaded temporarily into the
common data memory. These codes are similar or identical to codes that are
normally received from the tape reader in prior art systems and define the
beginning and end point of a part or tool and the path that the part or
tool should take in going from the starting point to the end point. Tape
reader data is stored in the 16 bit random access memory section of the
common data memory.
The interpolator, which is the computer used to calculate the instantaneous
tool and part positions, will access this data from common data memory and
will compute the step by step motions in real time that will lead the tool
or part through from the beginning point to the end point along the path
designated by the tape reader data. These smooth motion data packets are
then loaded back into common data memory where they are available to the
axis controller computer for providing positioning information to six sets
of servo circuits, each controlling an axis. The servo circuits provide an
analog axis speed command to the motor driving each machine axis and
receive an axis position feedback signal, closing the loop.
A second main channel of information transfer is used to control the
digital functions of the machine tool. These functions are the turning on
of coolant flow, the providing of power through interlock systems, the
indexing of tools, and the turning on and subsequent speed selection of
the spindle motor, for example. Data for controlling these discrete
functions is read in from the tape reader through the input/output
controller and are fed directly through the machine interface logic to
control the machine. The I/O controller also collects data from the other
microprocessors to output to the machine. The machine may likewise receive
instructional data from the operator through the activation of various
switches and push buttons on the control panel. The flow of this data is
from the control panel through the switch logic, through the I/O
controller and through the machine interface logic to the machine.
Finally, data available at the I/O controller either from the tape reader
or from the machine may be transmitted through the display board to the
control panel for display to the operator.
The apparatus for controlling the on/off functions of the machine through
information read from the tape reader or received from the control panel
may be broadly referred to as the programmable machine interface since
this apparatus serves the function of the various relays and circuits
required in the prior art systems to control the machine functions as a
result of information received from the tape reader. Since this machine
interface is implemented, not from hardware but from a programmable
computer, the reconfiguration of the system is accomplished by
reprogramming the input/output controller. Specifically,, the symbolic
relay diagram required to tailor the numerical control system to the
particular machine tool and to the particular use to which the machine
tool will be put is referred to as programmable machine interface (PMI)
data and is loaded into one part of the memory of the input/output
controller which is implemented from programmable read only memory (PROM)
devices. The remainder of the memory, comprising read only memory (ROM)
devices is used to store the operating programs or instructions for the
computer. Thus, the contents of the PROM and ROM memory provide operating
instructions and data for the microcomputer. Given this configuration the
input/output controller accomplishes the discrete inputs and outputs to
and from the machine tool, tape reader control data input, data display,
implements the programmable machine interface and drives the analog to
digital converter. These functions will be discussed in more detail below.
The PMI data is in the form of symbolic relays to control all the functions
of the machine tool, the relay implementations actually being one bit for
each symbolic relay contact. The relay section of the common data memory
therefore comprises a one bit by one thousand word random access memory,
where each bit will either be on or off to symbolically represent whether
the contact of each relay is closed or open. Using this system, the PMI
data in the PROM of the input/output controller, therefore, is simply a
collection of addresses of bits in the common data memory and
corresponding functions. Since the "relays" are contained within the
common data memory and input/output controller memory, it is programmable
since any combination of relay functions may be implemented simply by
reprogramming the PMI PROM's on the input/output controller.
The common data memory also contains a 16 bit RAM for temporary storage of
the motion data received from the tape reader and an 8 bit .times.1K
programmable read only memory for storing pertinent machine configuration
data.
The interpolator comprises a microcomputer and programs stored in a read
only memory. The interpolator receives motion commands from the tape
reader through the common data memory and generates smooth motions in real
time which are reloaded into common data memory for reference by the axis
controller. One input to the interpolator is spindle speed and position
information which is received through a circuit board containing
tachometer and position detector from a position transducer attached to
the spindle. In addition, a timer circuit provides a real time reference.
The axis controller is also a microcomputer comprising a read only memory.
The function of this computer is to drive six servo circuits. The axis
controller receives actual position information from the machine tool
indicating the actual position of the axis to be controlled, receives
motion commands from the interpolator through the common data memory as to
the desired position, and outputs to the servo circuits a speed command
proportional to the difference.
FIG. 1B, then, is an overall functional diagram of the system. Each
particular part of the system will now be discussed in more detail.
The input/output controller contains within its control memory a digital
representation of a relay ladder diagram which defines the control system
for the machine tool. A part of a typical ladder diagram is shown in FIG.
2 and shows the typical relay control system required to stop motion in
all axes (called a "feed hold"). In a machine controlled by relays, a
relay, here specified as F61, will be provided to stop the motion of the
axes. This relay will be thrown if a problem is detected by the servo
monitoring system. In this case, a Q71 relay contact indicating a servo
problem may be closed activating relay F61. The axis will be secured until
the servo problem is cleared up. Likewise, if a slide overtravel is
detected, contact I41 will be closed, also enabling the feed hold and this
also will inhibit motion of the appropriate axis until the slide
overtravel switch has been opened. S102 is a feed hold switch on the
control display panel. Perhaps the operator saw something and momentarily
depressed the switch, enabling the feed hold. The last rung of the ladder
diagram shows a reset switch S90, a cycle start switch S14 and a contact
F61 of the feed hold relay itself. Thus, whenever the feed hold relay is
thrown, the contact F61 will lock the feed hold relay in until either the
cycle start switch or the reset switch, both typically on the control
display panel, are depressed. Thus, once there is a feed hold, the
operator must affirmatively restart the system, presumably after clearing
the malfunction that necessitated a feed hold in the first place, before
operation may normally resume.
A relay controlled machine would be implemented exactly in this fashion.
However, in the preferred embodiment of this invention no relays are used
to control the machine. In fact, the entire relay structure is implemented
in read-only memory devices in the control memory of the input/output
controller. Each relay, as for example F61, is actually an address stored
in the input/output controller 100 control memory, that address specifying
a bit of RAM memory in the common data memory, which bit represents, by a
1 or 0, whether the "relay contact" is closed or open. LIkewise, the state
of Q71, I41, S102, etc., are also states of bits in the common data
memory. Thus, the operation of the relay circuit shown in FIG. 2 actually
is accomplished in the input/output controller by serially inspecting each
required bit of information in the common data memory and threading a
decision tree according to the states of the bits accessed.
FIG. 3A is a flow chart of the program execution that corresponds to the
relay circuit of FIG. 2. As shown, to solve for the status of F61, first
the Q71 bit in common data memory is inspected. If it is true, F61 is
turned on and the program is finished. However, if Q71 is false then I41
is inspected. The program continues on through S102, F61, etc., until a
decision is made as to the status of F61. The program then goes on to the
first rung of the next ladder.
The program corresponding to this flow chart is as follows:
Q71 on next
I41 on next
S102 on next
F61 next off
S14 off next
S90 off on
This high level language program is fed into an off line assembler where
the relays are interpreted as addresses of bits of memory in common data
memory and where the decisions as to whether to turn on or off F61 (which
is itself a bit), or to go to the next decision, are assembled. This
program is then encoded onto PROM memory devices and becomes the PMI data
processed by one of the control memory programs of the input/output
controller 100. In this way, the input/output controller is customized to
the particular machine in that the relay structure required by the machine
and by an individual user can be encoded into the input/output controller.
Thus, the same system hardware may be used to control a wide variety of
machines and can be used in a variety of applications; since the system is
programmed by the above process to the particular use of each machine.
It can now be seen that a computer programmer is not required to customize
the control system to the machine since the entire program is written in
relay language which is easily understandable by machine designers. Thus,
the user can customize his system to his own particular use rather than be
required to rely on computer programmers. For instance, any additional
switches on the machine or lights on the operator panel are simply
designated by an S or L number and are written into the ladder diagram
allowing the machine designer to define the circumstances under which the
switches will be read and the lights will be lit.
A problem that arises in numerical control machinery is that signals
received from the machine tool switches are inherently noisy, subject as
they are to vibration, dirt, contact bounce and noise pickup. Therefore,
not only must the system input these signals but must also debounce the
data to get it into usable form and filter out the spurious noise
generated in the process of these switch closures. Also, since information
is received from the machine tool in 16 bit words, some method of
debouncing this information in parallel is required. The logical equation
developed for this purpose is written as follows,
Q.sub.t =(I.sub.t .multidot.(Q.sub.t-1 +I.sub.t-1))+(Q.sub.t-1
.multidot.I.sub.t-1),
where
Q.sub.t ="debounced" input state at time t and
I.sub.t =input state at time t,
and may be implemented either in hardware or software, since the equation
fully describes both implementations. In the preferred embodiment, it was
implemented in the firmware as a control memory subroutine. The equivalent
hardware circuit for one switch bit implemented from AND gates, OR gates
and Flip Flops is shown in FIG. 3B.
The algorithm operates an the entire 16 bit word in parallel and may be
verbally described as a vote taking algorithm where the immediate input,
the last input and the result of the previous iteration of this algorithm
are inspected. If the input status of a bit is the same this time and last
time then it is decided that is the correct input. If the inputs this time
and last time are different, then the result of the previous iteration of
this algorithm is used. In effect is is a vote taking mechanism where two
votes out of three are required to decide the status of the particular
bit. Notice also that this algorithm, as shown in the logical equation,
may be used to operate on entire 16 bit words in parallel and will yield
the proper result for each bit. This algorithm is implemented 20 times a
second so that the input/output controller is always supplied with the
current status but where enough time is allowed between iterations to
allow for switch settling time. This algorithm is used to operate on data
received from the machine tool as well as data received from the control
display panel. However, information received from the common data memory
need not be debounced since it is already in "clean" binary form.
FIG. 4 shows the overall flow diagram used by the input/output controller
in receiving information solving the ladder diagrams and outputting the
results to the machine. First, all inputs are received and debounced.
There are a total of 160 S bits corresponding to various switch positions
on the operator's panel, and an additional 64 I bits available to specify
the machine status. Operator panel switch functions include cycle start
and feed hold while machine status information represents overtravel,
alarms, etc. Next, the input/output controller receives status information
from other numerical control system processors. These 200 "Q bits" are
used as flags to represent information developed by other programs, such
as servo error and cycle on codes.
Next, the input/output controller services all of the ladder diagrams.
Finally, the input/output controller outputs various command functions to
the rest of the system. Two hundred F bits command machine functions such
as jog, cycle start, and feed hold, 40 "L bits" are used to specify lights
on the operator panel corresponding to various machine functions, and 64
"O bits" are output to the machine which controls coolant flow, spindle
speed, etc.
In addition to Q, L, F, I, S and O bits, a relay diagram may also have
relays and corresponding contacts that are designated by the letter C.
These relays are used where a logical function is required to implement
the equivalent of a one shot, a flip-flop, or a shift register, and where
a functional relay cannot be used for this purpose. In other words, C
relays are supplied so that the machine operator writing the program may
design into the system certain logical functions that he may find
convenient. These C relays will then appear in the ladder diagrams but
will have no corresponding system function.
As shown in FIG. 4, the system will collect information, solve all the
ladder rungs and output various commands at a rate of 10 iterations per
second. The data is input 20 times per second but the ladder is solved 10
times per second. The data is input twice as often to allow debouncing at
a higher rate. All inputs and outputs are at logic power levels, except
for the O bits which need to run machine tool functions and are output at
a voltage of 115 volts at two to three amperes.
The input/output controller, the interpolator and the axis controller
computers, including control memory are identical and are shown in
schematic form in FIGS. 5, 6 and 7.
In FIG. 5, devices U1 through U4 are 8 bit by 1K programmable read-only
memory (PROM) devices. The computer contains 14 of these devices but only
four are shown because the remaining circuits are identical. In the
input/output controller anywhere from two to eight of these PROM's are
used to contain the ladder diagrams which normally will consist of
hundreds of rungs, containing several contacts per rung. The ladder
diagrams are housed in the first two to eight PROM's and the remaining
PROM's contain the control memory programs. The devices receive their
addressing information on address lines MARO through MAR9 and the 8 bit
data words are output on lines CUMO through CUM7. Since the computer is
organized around a 16 bit word length, these PROM's are always used in
pairs with the second PROM of each pair supplying the other 8 bits of the
data word, CUM8 through CUM15. The devices are selected through select
lines AZERO, A1K, etc. Addressing information is received on lines ML0
through ML15 and is temporarily stored in registers U11, U12, and U13
during the PROM read and write cycle. Decoder U28 decodes the high order
address bits into device select bits AZERO through A6K. The addresses
received at lines ML0 through ML15 are received from the circuits shown on
FIGS. 6A, 6B and 6C. The 16 bit output data words are buffered through
devices U58, U59, and U60 of FIG. 5 and are output on lines ML0 through
ML15, which is a bi-directional data bus between the schematic shown in
FIG. 6 and this control memory.
The bi-directional ML address and data bus is shown on FIGS. 6A, B and C as
lines ML00 through ML15. Tri state devices U51 through U73 are used to
direct either address data out to the control memory or to direct data or
instructions back from the control memory.
This data and instruction information is received by the computer, which is
a 3 chip set of U40 of FIG. 6C and U41, and U42 of FIG. 6B on lines AM00
through AM15 and CM0 through CM7. Device U40 is an instruction controller
and decoder and devices U41 and U42 are each 8 bit arithmetic logic units
(ALU). The entire 3 chip set therefore comprises a 16 bit microcomputer.
In a typical operation, instruction information is received from the
control memory at the decoder U40 instruction decoder at lines CM0 through
AM15 where they will be interpreted. The appropriate control lines from
decoder U40, TC1 through TC4, direct ALU U41 and U42 to operate on the
data being received at data lines AM00 through AM15 or instruct arithmetic
logic units U41 and U42 to output certain data on lines AM00 through AM15.
A second set of 16 data input/output lines are provided to the arithmetic
logic units U41 and U42 through lines X0 through X15. As will be described
below this is the data link between the computer unit and the machine tool
interface. The 3 chip set comprising this microcomputer U40, U41 and U42
are typical instruction decoder and arithmetic logic units, similar to
Motorola Part No. 6800.
At the bottom of FIG. 6C is a diagnostic switch which, when depressed,
generates a discrete signal activating the execution of a diagnostic
subroutine contained within the control memory. The results of this
diagnostic routine are transmitted to device U23 of FIG. 6A through data
lines ML0 through ML2 and result in a coded pattern of lights displayed by
lamps DS1 through DS3. The remainder of the logic in FIGS. 6A, B, and C
generates miscellaneous logical functions.
FIG. 7 is a schematic of the remainder of the data bus structure. Because
of the redundant nature of the circuits only six in each set of 16 address
lines are shown. The common data memory board receives its addressing
information on MADR0 through MADR15 through register U14 from the ML line
of the microcomputer data bus. In a similar fashion the common data memory
board data bus is driven by lines MBUS0 through MBUS15 through register
U16 from the same ML lines. Finally, data from the common data memory is
received through lines MBUS0 through MBUS15 and are transmitted through
register U21 to the ML lines of the computer. Some memory cycle logic is
also shown in this diagram. The logic provides that when a computer
requests a memory cycle, it is put into a hold state until that memory
cycle has been granted. At the conclusion of the memory cycle the data
will either have been rated out of or read into the common data memory.
FIGS. 8, 9A and 9B are schematics of the common data memory. FIG. 8 is a
schematic of the memory devices themselves. There are 16 1K (1024) by 1
bit RAM devices identified as U24 through U39. Because of the redundant
nature of this memory, only devices U24, U25, U32 and U33 are shown. Since
the 16 bit devices are used in parallel the capacity of this random access
memory is 1K .times. 16 bit words. The devices are addressed in parallel
through addressing lines MADR0 through MADR9 which are received from the
computer unit. Each device contributes one bit and an assembled 16 bit
word is output on lines MBUS0 through MBUS15. Pin 11 of the device is both
an input and an output and therefore the MBUS lines constitute a
bi-directional 16 bit data bus communicating with the computer unit as
shown in FIG. 7.
An additional two memory devices, U18 and U17, are also provided in this
common data memory schematic. U18 is a 1K by one bit RAM containing the
status of all the "relays" of the system. This is the RAM which contains
the zero and one bits corresponding to the closed or open relay contacts
of the ladder diagrams stored in the permanent memory of the input/output
controller. This device is also addressed by addressing lines MADR0
through 9 and the 1 bit input/output is communicated to the input/output
controller on line MBUS15.
ERASABLE PROM U17 is a 1K by 8 bit device erasable and programmable by the
user to store various parameters of the individual machine that are
relatively permanent but may change from machine to machine. Examples of
these parameters are data format and servo stiffness slopes and
breakpoints. These are values that remain fixed for long periods of time
but may be changed by the user from time to time to accommodate machine
wear or a different mode of use. In its real time computations the axis
controller 114 will need this data to compute tool speed and position.
This device is also addressed through lines MADR0 through MADR9 and its
output is supplied to the bi-directional data lines MBUS0 through MBUS7.
FIGS. 9A and B are a schematic of the time sharing logic associated with
this memory. Eight ports enable the honoring of memory requests of up to 8
microcomputers on request lines AXMREQ through MREQ8/. Only one computer
at a time is actually accessing memory, the others are put on hold until
the accessing becomes possible. If a request line is honored by an
enabling signal on any one of lines P1 through P8, an acknowledge signal
is returned to the computer on lines AXMACK/ through MACK8. The memory
transaction will be executed and a finish signal will be received by the
computer on one of lines AXFIN/ through FIN8/ to release the bus for some
other computer.
A three megacycle clock is generated by oscillator U16 of FIG. 9B and
various clock phases and synchronizing signals are generated in the
associated logic.
The input/output controller logic board, shown in schematic form in FIGS.
10A, 10B and 11 operates in partnership with the input/output controller
computer. Address selection of various devices, and tape reader control is
accomplished by using the address bus from the microcomputer selecting the
device address which is decoded to direct signals through the logic to
specific devices. Devices U5, U15, U24 of FIG. 10A and their associated
circuits receive addressing information from the input/output controller
and generate signals on appropriate addressing lines to address specific
devices such as the operator display panel, the tape reader, and the D to
A converter. Device U26 to FIG. 10B generates logic signals to drive the
tape reader stepping motion through control lines ABASE, BBASE and CBASE.
Device U8 generates rewind and fast forward signals which are sent to the
tape reader, and the circuit associated with devices U25 and U49 comprise
the tape reader interrupt logic.
FIG. 11 is that part of the input/output controller logic board that
directs data between the X bus of the input/output controller and the
control display panel and the machine tool. The operator panel is that
collection of switches and lights on the operator display panel available
to the operator. The magnetics panel is an interface board between the
system and the motors and switches constituting the electrical power
devices on the machine tool. As shown in FIG. 11, the X bus communicates
through lines IOX00 through IOX11 and through tri state devices to lines
D0 through D11 which is a bi-directional data coupler to the magnetics
panel. In the other direction, information is received from the magnetics
panel from lines D0 through D7 and driven through tri state devices U20
and U14 to the X register lines IOX00 through IOX07. Finally, 8 bit words
from the tape reader are received in parallel on lines TDATA0 through
TDATA7 and through tri state devices U10, U7 and U28 to be sent to the X
register of the input/output controller through lines IOX00 through IOX09.
Thus, information may be transmitted in both directions between the
input/output controller, the tape reader and the magnetics panel of the
machine tool.
FIGS. 12, 13, 14A and 14B are a schematic of the magnetics panel which
interfaces between the input/output controller logic board and the machine
tool. FIG. 12 shows two devices for changing the levels from 115 AC used
at the machine to logic levels used in the remainder of the system.
Sixty-four of these level converters are supplied in the system but
because of the redundant nature of the schematic only two are shown. The
input to K1 is a 115 volt ac signal applied to pins 5 and 6 and the output
is taken from pin 3 and is wired through line INP64 to the input/output
controller logic board.
Similarly, in FIG. 13, a logic level to 115 volt ac converter is shown.
Sixty-four of these converters are supplied with the system but only one
is shown due to the reduntant nature of the schematic. The input digital
level is applied at pin 2 and the ac voltage to the machine tool function
is supplied through pins 3 and 4.
The remainder of the magnetics panel is shown in FIGS. 14A and B. I bits
from the machine tool are supplied through the K lines to multiplexer U10
of FIG. 14B. Four identical circuits are contained in this system but only
one is shown due to the redundant nature of this circuit. Each of the four
| | |