Language selection

Search

Patent 1102434 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 1102434
(21) Application Number: 1102434
(54) English Title: INTERACTIVE MACHINING SYSTEM
(54) French Title: TRADUCTION NON-DISPONIBLE
Status: Term Expired - Post Grant
Bibliographic Data
(51) International Patent Classification (IPC):
  • G05B 19/12 (2006.01)
  • G05B 19/414 (2006.01)
(72) Inventors :
  • ROCH, GERALD V. (United States of America)
  • WILES, JAMES P. (United States of America)
  • HADLEY, CHRIS L. (United States of America)
(73) Owners :
  • HURCO MANUFACTURING COMPANY, INC.
(71) Applicants :
  • HURCO MANUFACTURING COMPANY, INC.
(74) Agent: SMART & BIGGAR LP
(74) Associate agent:
(45) Issued: 1981-06-02
(22) Filed Date: 1977-06-21
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
702,569 (United States of America) 1976-07-06

Abstracts

English Abstract


ABSTRACT
A microprocessor numerical control for a milling machine
including means for programming part features by the machine
operator as the machine location. The control apparatus includes
a CRT display which provides an inquiry system and a keyboard
for entry of data by the machine operator. The control system
further includes a tape cassette deck operable to read or write
data or program material into or out of the processor memory.
The control system regulates motion in the X, Y and Z directions
for the milling machine ant also includes an external feed rate
adjustment for either the XY plane or the Z axis direction which
may be utilized by the machine operator to effect the programmed
feed rates. There is further provided automatic tool length
calibration and cutter diameter compensation for milling operations.


Claims

Note: Claims are shown in the official language in which they were submitted.


Having thus described the invention, what is desired to be
claimed and secured by Letters Patent is:
1. A programmable microcomputer control apparatus for con-
trolling the relative motion between a tool and a workpiece
comprising:
indicator means for providing at an output digital signals
indicative of the relative position between the tool and the
workpiece;
an alterable memory operable to retain a control program
and control parameters;
a microprocessor unit coupled to the output of the indicator
means and to the memory and operable to produce control signals
dependent upon said indicator means output and said control para-
meters according to said control program;
control means for directing said control signals from the
microprocessor unit to appropriate motion-providing means;
interface means for transferring a control program and
control parameters from an external medium into said alterable
memory and for recording the control parameter contents of said
memory onto an external medium; and
data entry means for loading control parameters into said
memory through externally accessible data inputs independently
of said interface means.
2. The apparatus of claim 1 in which said interface means
includes means for reading from and writing onto a magentic stored
information input.
3. The apparatus of claim 2 in which said means for reading
and writing comprises a tape cassette transport.
4. The apparatus of claim 1 in which said interface means and
said data entry means comprise a pendently mounted control panel,
and further comprising a cabinet and a mounting arm extending upwardly
and outwardly from the top of said cabinet, the control panel being
attached to the end of said arm further from the cabinet.
-28-

5. The apparatus of claim 4 which further comprises a machine bear-
ing said tool and said workpiece and including motion-providing means re-
ceiving said control signals, said cabinet being positioned on one side of
said machine and said arm extending over a portion of the machine such that
the control panel is pendently mounted on the other side of the machine,
whereby the machine operator may have convenient access to the control panel.
6. The apparatus of claim 1 which further comprises display means
for displaying control parameters, said control program being operable to
display control parameter inquiries on the display means, whereby an operator
may load control parameters into said memory through said data entry means in
response to the inquiries.
7. The apparatus of claim 6 in which the display means comprises a
CRT display.
8. The apparatus of claim 1 which further comprises feed rate adjust
means externally settable independent of said control parameters for altering
said control signals to vary the rate of relative motion between the tool and
the workpiece.
9. The apparatus of claim 8 in which the programmed rate of relative
motion between the tool and the workpiece dependent upon said control param-
eters is reduced by the feed rate adjust means through effecting a multipli-
cation of the programmed rate by a fraction less than unity and said pro-
grammed rate is increased through adding a proportionate rate increment be-
tween two preset values.
29

Description

Note: Descriptions are shown in the official language in which they were submitted.


2~3~
Various types of machine control systems are known, such as
for milling machines, utilizing various metal-working tools.
Typically, such numerical controls provide signals to servo motors
associated with each o the X, Y and Z axes of the machine and are
programmed from a punched paper tape. If modifications are to be
made in a particular program, a new tape mus~ be made, generally at
a location remote from the milling machine, thereby causing a delay
in machine usage.
Other larger computer controls have been devised for control-
ling various types of machines with attendant higher cost, 1arger
size, etc. An exampl~ of such a numerical con~rol system is shown
in U. S. Patent No. 3,746,845 to Henegar et al.
The presently disclosed machine control system includes a
servo apparatus associated with each axis of the three axes o~ a
milling machine and a control module coupled to the servos by
appropriate wiring. The control module includes a cabinet containing
a microprocessor and its related supporting circuitry, servo
amplifiers, etc. A control panel is pendently mounted above and
extending outwardly from the cabinet. The control panel includes
~arious operator controls, a CRT display screen, a data entry key-
board and a cassette tape deck.
The presently disclosed apparatus further includes a Z axis
carriage and frame for spindle motion specially designed to increase
rigidity of the Z axis spindle during an operation such as drilling.
Also utilized is a feed rate adjust control for the operator or the
machine with a unique interaction with the program feed rates of
the controller.
It should be noted that while the present apparatus
described in conjunction with ~he presently disclosed control
system is a milling machine, other types of equipment wherein
motion may be controlled in a programmed fashion may be controlled
by the presently described control system.
~`,,i~
--1--

3~
According to a broad aspect of the present invention~ there is
provided a programma~le m~crocomputer control apparatus for controlling the
relative motion between a tool and a workpiece comprising: indicator means
for providing at an output digital signals indicative of the relative
position between the tool and the workpiece; an alterable memory operable
to retain a control program and control parameters; a microprocessor unit
coupled to the output of the indicator means and to the memory and operable
to produce control signals dependent upon said indicator means output and
said control parameters according to said control program; control means
for directing said control signals from the microprocessor unit to appropriate
motion-providing means; interface means for transferring a control program
and control parameters from an external medium into said alterable memory
and for recording the control parameter contents of said memory onto an
external medium; and data entry means for loading control parameters into
said memory through externally accessible data inputs independently of said
interface means.
. . .
;
.
~ , -la-

3~
Fur~her features and advantages of the present lnvention
shall be apparent from the following detailed description and
accompanying figures, wherein:
Fig. 1 is a front view of a three axis mill adapted for
operation with a controller according to the present invention,
- shown with the control cabinet and pendently mounted control panel.Fig. 2 is a block diagram of the hardware associated with
the controller.
Figs. 3-8 are more detailed illustrations of the peripheral
interface adaptors of Fig. 2 shown in conjunction with external
apparatus with which they interface.
Fig. 9 is an enlarged front view of the control panel of
Fig. 1.
Fig. lG is a sectional view of the Z axis servo apparatus
of Fig. 1 shown on its side.
Fig. 11 is a top view of the Z axis servo apparatus of
Figs. 1 and 10.
Fig. 12 is a circuit diagram of the feed rate adjust
- circuitry.
Fig. 13A is a chart showing the effect of the feed rate
adjust potentiometers when the controller is in the AUTO mode.
Fig. 13B is a chart similar to that of Fig. 13A for the
controller in the JOG mode.
Figs. 14-43 are the various elements of a flow chart
illustrating the operation of ~he software associated with the
presently disclosed control system.
.

~3~ ~t~
Z~3~L
.
For ~he purposes of promoting an understanding of the
principles of the invention, reference will now be made to
~ the embodimen~ illustrated in the drawings and specific
- language will be used to describe the same. It will never-
theless be understood that no limitation o~ the scope of the
in~.Tention is thereby intended, such alterati.ons an~ further
modifications in the illustrated device, an~ such further
applica~ions of the principles of the invention as illustra~ed
therein being contemplated as would normally occur to one
skilled in the art to which the invention relates.
Referring in particular to FIG, 1, there is shown a
control cabinet and control panel together wlth a 3 axis
mill adapted for operation therewith. Cabinet 11 contains
the electronic hardware for ~he control system and is mounted
, ~ on casters 12 so as to be locatable beside or behind the 3
axis mill 13. Arm 14 extends upwardly and outwardly from
the top of cabinet 11 to provide pendent mounting for a
con~rol panel 15 conveniently positloned for easy access by
the operator of tbe mill. Control panel lS shall be discussed
in more detail hereinafter.
The movement control signals and position informa~ion
signals are coupled between the servo motor assemblies and
the control ci.rcuitry by cables 22, 23 & 24 as shown. An enclosed
X axis servo assembly 16 and an enclosed Y axis servo assembly
17 are shown in their appropriate locations Oll the mill.
The Z axis servo assembly is sho~l generally at 18 Witllout
its normal casing, and ~urther showing limit switch subassembly
~'' .
., ' ' .
.
.
.. ... . . . ~ .. ... . _ . .... .. _ .. _ _ . . ..

2~ 3 ~
19 which includes the encoder and limit switches as shall be
described more particularly hereinafter. The servo motors
for all three axes are essentially the same, and a limit
: switch subassembly such as 19 is associated with each servo.
:.~ As-is known, table 20 o~ the milling machine is moved
-. in the XY plane by screw drives, which in this case are
. powered by servos 16 and 17. A Z axis spindle assembly 21
- . is rotated by a spindle motor and also moved in the Z direction
.~ by servo 18.
. Referring now to FIGS. 2A and 2B there is shown a block
diagram of the control.system electronic hardware. As
5hown in FlG. 2, a microprocesser 31 receives clocking
pulses rom a twv phase, non-overla-pping, clock 32. The
. ~ microprocessor is, in the exemplary embodiment, a Motorola
`.- 6800 MPU. The microprocessor 31 is coupled to both an 8 bit
~: . data bus and a 16.bit address bus. Address lines from
; microprocessor 31 are coupled through line drivers 33 and an
.. . .
address decoder 34 to the address bus 35.
The address.information on bus 35 is actually divided
; . 20 into eight 3K decoder segments~ For example, two segments
: might be assigned to R~ 36 and an additional segment or
: segments assigned to the balance ol the peripheral interface
adapters (PIA's) or additional memory~
~: : The PROM 37 is utiLized for boot strapping the micro-
- processor 31 under initial start-up conditions~ For example,
the information stored in PROM 37 enables the microprocessor
unit 31 to appropriately load a program into ~M 36 I`rom a
. magnetic tape cassette input. The primary unctioning of
-. the microprocessor and related circuitry is dictated by the
control program~resident in RAM 36 after.initial set up. A
: ' ' ,
',

-
~ Z~3~ ;
further address decoder 38 is used to provide addressing oE
`the RA~ in the most economical fashion possi~le. Similar
address decoding is utili~ed for PROM 37.
MUX 39 multiplexes 6~L external indications down to 8 to
accommodate the 8 bit data bus lines. The particular set o~
8 switches addressed is selected by the address from the
address bus on line 40 and the appropriate data-out indications
are provided on line 41~ Transceiver, or line driver-
receiver, 42 provides amplification and directionality for
the data bus line branch serving MUX 39 and display PIA 43.
Transceiver 42 is of the same type as line driver-receiver
44 adjacent the microprocessor unlt 31 and transceiver 45
between R~M 36 and the data bus line. The decoder and
transceiver associated with PROM 37 are also similar to
decoder 38 and transceiver 45 of RAM 36.
As shown in FIG. 7, one o eight binary addresses is
provided on lines A0 through A2 from the address bus, and an
address signal is received at the CE input~ to ~IUX 39 with
decoder 34 address;ng one of the 8 series of 8 switches as
shown dia~rammatlcally at 46. An appropriate data word~i
dependent upon the settings of switches 46 is placed as an
output from the Z terminal of MUX 39 to the transceiver 42.
These switch settings may be limlt switches on the machine,
pushbuttons etc.
Display PIA 43, as indicated above, may receive informa-
tion from the data bus 47. There are two sections, an A
section and a B section, for PIA 43, as well as the other
PIA's disclosed herein. An address line 48 is operable to
address either the A or B section of PIA 43. If section A
of PIA 43 is addressed, the data from data bus 47 is coupled
through transceiver 42 to the PIA 43, and the ~ bit word is
--5--
'
. .. . . , . ~ . , .. i

2~ 3 ~ :
coupled to a lamp display indicated at 49 in FIG. 3. In
FIG. 3, an exemplary lamp 50 is shown coupled from lamp
display 49. For an appropriate address through section A o~
PIA 43, a lamp such as 50 may be activated in response to
the required level of the addressed data bit. With the
approprlate addresses on line 4g, cRr display 51 is addressed
through section B of the PIA 43. Over an ensuing interval,
data is sequentially provided io the PIA and interrupted by
internal circui.try o display circuit 51 to produce alpha-
nurneric charaaters on the screen of CRT 52.
Another ~IA 53 is addressed on llne 54 and interfaceswith the X axis drive of the mill. The Y axis PI~ 55
is similarly addressed on line 56 and PIA 57 for the Z axis
is addressed on line 58. Since these three axis controls
' J operate essentially in the same manner, only the X axis PIA
and its associated motor, ampli~ier etc., shall be described
in detail herein. As sho~l in FIG. 4, PIA 53 has an A and a
B section, and it is addressable by the above-mentioned
addresses for each section A and B. If the A section is
addressed, an 8 bit word is coupled on line 59 to the PIA,
which word is indicative oE relative position. This position
indication is an output of an upldown couni~er coinprising the
lower portion of servo interace 60
The upper, or B; portion of PIA 53 is an output to
servo interface 60. A properly addressed command from the
processor 31 is coupled to servo interface 60, which generates
an analog voltage and couples it to the input oE amplifier
61. Amplifier 61 runs motor 62 al an appropriate speed for
the data information received. Feed back is provided by
tachometer 63 to insure accurate motor speed control by
--6--
.

f ~ rf~
2~3
amplifier 61. Appropriate encoding is done by encoder 64,
whlch detects changes in position in the X direction oE the .-
milling table, and this encoded in~ormation is provided to
the up/down counter in servo interface 60. In the case of
the Z axis movernent, the encoder detects the position of the
tool head rather than a rectilinear table position.
Feed rate override PIA 65 is also connected between
transceiver 66 and address bus 35. As shown in FIG. 6, PIA
65 has an A section and a B section, each oE wllich is
addressable by a 2 byte address and each o~ which are
coupled from ~ata bus 47. A multiplexer 69 rece.ives a
selection indication from the microprocessor at a given time
to select the output from either potentiometer 67 or potentiometer
68. The analog voltage indication ~rom the selected pot is
coupled on line 70 to the analog-to-digital converter 66.
Potentiometer 67 is a spindle feed rate adjustment, and
potentiometer 68 is a feed rate adjustment for the mill
table. The digital output from converter 66 is ulitized by
the microprocessor to aEfect programmed speeds for the mill
table and the mill spindle. A 100 hertz cloclc initiates
inquiries to the feed rate override circuitry as shall be
. explained in more detail hereinafter. The feed rate modi~ica-
tion information from potentiometer 67 and 68 is ultimately
coupled to the relay drivers and machine control relays as
shown.
A tool change PIA 71 may optionally also be provided
and is addressed and coupled to the data bus in the same
fashion as those previously described, through a transceiver
72. The A section of PIA 71, as shown in l~IG. 5, receives
an 8 bit word indicative of various limit switch conditions
frorn a limit sw~tch conditioner 73. The B section of PIA 7l
-7-

~ 3 ~ ,
provides commands rom ~he microprocessor unit 31 affectin~
solenold drivers 74 and ai.r-operated solenoid 75, powered by
air from air source 76. The solenoid drivers and solenoids
would position the appropriate tool requested by the processor
unit in the working position in the mill head. The particular
tool selected would then be detected through the limi-t
swi~ch conditioners 73.
A tape cassette PIA 77 is couplecl between address bus
35 and data bus 47 throu~h transceiver 78. PIA 77 provides
the interfacing with a tape cassetLe which is utilized to
load RAM 36. Also, a subsequently inserted cassette may be
utilized to record stored RA~I program data through PIA 77.
Cassette control data is coupled through PIA 77 to the
cassette on lines 79 as shown in FIG. 8A. Front panel
switches shown generally at 80 provide inputs by way of a
multiplexer 39 as described above to direct the cassette
operation. The processor is also abie to read data from the
tape cassette 81 on a read command.
A spindle speed PIA 82 may also optionally be provided
between the address bus and the data bus through transceiver
83. PIA 82 interfaces between the microprocessor and the
motor driving the spindle of the tool head such as for a
drilling operation. The amplifier and motor control operation
for Z axis spindle speed control would be essentially the
same as that shown earlier in regard to the motor control in -
FIG. 4.
Referring now to FIG. 9, there is sho~l the front panel
of the control. The control panel includes a power switch
201 for providing electrical power to the control system and
a key-lock inch-millimeter selector 202. A machine mode
positioning control 203 has six positions for determining
__ _ , , , . .. ~ _~ ._ . . ...... . . .

the X, Y or Z direction (plus or minus) for motion in JOG
mode Additionally control 203 may be placed in the auto
mode for automatically positioning the X, Y and Z a~es
according to programmed inEormation, or in one of two
- tape modes for energizing the tape cassette. In the tape
manual mode the cassette switches ON and REl~IND 226 and 227
are enabled. Depressing switch 226 causes the tape transport
to operate in the forward direction while depressing button
227 causes the transport to operate in the rewind direction.
The tape auta position permits operation o~ the cassette under
control of the stored program. In the digital readout mode,
the X, Y and Z axis positi.ons are dLsplayed. In this mode,
the servos for the three axes are disabled, and the machine
may be manually operated and the control used as a digital-`
readout device only.
In regard to spindle mode switch 204, when control 204
is ln the off position, only the mill table moves in the X
and Y direction and there ,is no Z direction movement for the
spindle. In the auto position, the spindle is moved in the
- 20 Z direction normally per program instructions. In the
manual-on position the spindle is on and rotatin~, and a
first depression of the spindle down push button 205 will
cause the spindle to move to its Z down position, and a
subsequent depression of push button 205 will result in the
spindle returning to ull up position. In the manual-off
position for control 204, the spindle motor is deenergized
and the Z axis feed is per program only ater the spindle
down button 205 has~been pushed, except Z moves to Z up
dimension and remains until pushbutton 205 is depressed again.
The spindle then retracts to its ull up position.
Push button 206 is a motion hold button which stops all

2~
sérvo motion. Button 207 is operable while de~ressed to
provide coolant for the tool being utilized in the vicinity
of the workpiece. Button 208 starts operation o~ the mill
when the control is in the operate or single cycle mode.
Button 209 is an emergency stop button which removes power
from the control and motors, etc.
Two feed rate override controls are provided. Knob 210
lS . the table feed rate override control, and when it is set
at P (program) positi.on no alteration of programmed table
eed rate is obtained. S~indle control knob 211 is similarl.y
set at P for no eEfect on the feed rate in the Z direction
for the mill spindle. The manner in which these control
settings effect programmed feed rates as they are moved to
the left or right of P is discussed in more detail herein-
after. Spindle knob 211 and table knob 210 are coupled to
potentiometers 67 and 68 of FIG. 6, respectively.
A GRT screen 212 is provided for dlsplaying data blocks
etc. A clata entry keyboard 213 is supplied for placing data
into the control memory in response to inq~iries on the CRT
2Q 212. Program keys 214 through Z17 are provided for various
functions involving entry of data into memory for execu~ion
of the program. Next block key 214 advances the data block
displayed on the CRT. Advance key 215 advances the current
inquiry displayed at the bottom of the CRT screen to the
, next data item for that data block. I a number from keyboard
213 is entered through advance key 215, the GRT display
will advance to the da~a block having a corresponding number.
Erase key 216 erases an entry made in response to the particular
item o inquiry at the bottom of the CRT (unless the data
block number is at the bottom of the CRT, in which case all
data is erased from that data block). Increment key 217
- indicates, in response to an inquiry, tha~ a dimension
.
-10-

2~3~ :~
entered into a data bloclc is to be measured E~-om tlle last
position rather than the initial ~e~erence positi.on o~ the
table or spindle. The sequence of inquiries on the ~CRT
screen for a data block ollows the sequence: data block
: number, machine mode, control mode, X dimension, Y ~imensi.on,
Z dimension, feed rate, peclc rate an~ tool number. In
addition, ~or step-repeat blocks, ~he X ancl ~ dimcnsions are
requested as well as the number o repetitions in the X and
Y directions. Xn a milling block, an inquiry is made as to
whe.ther or not the milling is inside or-outside frame milling.
Therefore, the operator of the machine has control of
~he selection of number entries from the keyboard to identi~y
various parameters in a data block. The operator makes the
type selections by number keys on tbe keyboard, such as for
:- Drill, Mill, etc. By a~propriate digit entries through the
.
. keyboard, the operator lias control of ttle machine operating
mode, control operating mode and part program coordinates.
There are four mode or control keys provlded. Key 218
places the program in the enter mode. Key 219 is Eor check
mo~e, key 220 for single cycle operation and key 221 for
' operate mode. These modes are explained in further detail
in regard to the program ~low chart and description thereo~.
Push buttons 222 tllrough 224 a~fect various items in
the memory o~ the co~ntrol. Table zero 222 instructs the
.: processor, in the operate mode, to look for marker switches
to obtain a zero position. When the progralll is in data
block zero the table zero may be establisl-ed over tlle full
range of table travel by pushing table zero.222 when
the table is in the desired location. Programmed coor-
30 dinates are t.hen measured from that point. Bu~ton
223 controls tool calibration ln a similar fashlon. In data
-11-

~ ~Q2~39~ :
block zero, pushing tool calibration establishes individual
tool length calibration for the respective tool number on
the display. Tool length calibraticn may be established by
manually lowering the Z axis with the tool in place in the
spindle until it reaches a desired zero reference plane then
depressing tool calibration button 223. These calibration
operations are disclosed in further detail in the program
flow chart for the processor.
Master clear push button 224 clears the machine set up
information when the controller is in data block zero. When
master clear is depressed with the processor at any other
- data block, all data is cleared from data blocks 1-99. A
tape cassette transport apparatus is sho~ generally at 225
or receiving a magnetic tape cassette operable to read or
write data to or from the R~M memory. With mode switch 203
` in the tape auto mode, the da~a block entries may be recorded
- onto a tape cassette. In addition, previously recorded data
may be read from the cassette and placed into the memory of
the con~roller in order to duplicate a program established
for operating on a workpiece to provide a desired part
Push button 226 turns on the tape cassette deck and push
button 227 is available to rewind the tape after play or
record. Read, write and search-for-data functions are
controlled by data entry keys, when control 203 is in the
TAPE auto mode. As indicated above in the tape manual mode
the cassette switches ON and REWIND are enabled.
Reerring now to FIGS. 10 and 11, there is shown the Z
axis drive and positioning apparatus. The Z axis drive
provides a vertical servo motor-controlled feed drive system
for the mill spindle and also provides a mechanical link for
accurate linear positioning and feed rate control for vertical
machining functions.

r
`~ ~ 4391
Tlle drive for the spindle ver~i.cal ~ee~ is provided by
a servo motor 241 which is mounted on a motor nlounting plate
242. The motor mounting pLate is adjustable relative to the
Z axis spindle. The servo motor 241 drives a baLl screw 243
tllrough a pair of timing belt pulleys 24~ and a timing belt
2~6. The ball screw is securely retained by a preloaded
double race baLl bearing 247 which allows rotation of ~he
screw withou~ any shaft end play. The l.nner race of the
bearing is secured by a lock nut 248 and adjacent lock
washer. The outer race is secured to the main ~rame 251 by
a re~ainer cap 252 with cap screws 253. The main frame 251
is in turn rigidly secured to the mill he~d through a retainer
plate 254 with cap screws 256.
Vertical motion of the spindle is obtained b~ rotation
of the ball screw 243 driving a preloaded ball nut assembly
257 which is affixed to the Z axis carriage 258, which moves
vertically on a set of '!V" groove ways 259 via a mating set`
of four "V'` rollers 261. Rollers 261 are mounted on the
carriage by carriage adjusting studs in carriage portions
262 and by loclc nuts 263. The adjusting studs have an
2q eccentric shank upon which the "V" rollers 261 are mounted.
Tightness of the carriage is adjusted by the eccentric
moving the "V" rollers 261 in or out untll the desi.red
tightness i.s obtained.
The actual driving link between the mill spindle and
the Z axis carriage 258 is a shank rod 264-, which is attached
to the carriage 258 by a pair of ball bearings 266 moun~ed
in a preloaded state by coml)ression of the flexlble inner
races with a bearing lock nut 267 and lock washer 268. The
sh~nk rod 264 is rigidly mounted in the mill spindle in
tension by utilizing ~he existing spinclle shank rod bearing
and a tool adaptor (not shownj threaded to the shank rod.
-13-

~ "."1 f~
3~ ;
Essentially, servo motor 241 drives ball scre~ 243 via
a timing bel~ drive, driving preloaded ball nut 257. 13all
nut 257 is mounted to the carriage 258,-causitlg the carriage
to travel vertically (in the FIG. to the right), trapped in
"V" ways 259 by "~" rollers 261, driving the shank rod 264
which is mounted to carriage 258 by ball bearings 266. The
bearings allow spindle rota~ion to be isola~ed rom verticle
drive. Thus the mill spindle is driven by being retained by
a tool adapter ~not sllown) allowing accura~e vertical sl)in(lle
. 10 control wllen used with the limit switch assembly explained
- hereinater.
In order to provide a method o:~ mounting limit switches
and an enco~er on an lsolated mount tllat ~ill provide accu~ate
measuring of long distances in less space, the present limit
switch assembly has been utilized. It provi~es a stable,
end-play free, mount for the encoder The main frame 2~9 of
the limi~ swi~ch assembly is mounted to the motor mounting
bracket 242 by a slloulder screw 271 and a lock nut 272.
This provides an adjustable mount for timing belt tensioning.
Set screw and lock nut 273 and 274 provide a positive stop
after the desired setting is made. The driven belt 276 is
.
driven by a pulley on tlle motor shaEt extension and drives
the driven shaft 277 which is mounted in compression between
two bearings 278 and 279 in the main frame 269 by retainer
281 on the outer race of the ~ront bearing 279 and a snap
rin~ at 282 on the outer ring of the rear bearing 278. A
shoulder on tlle driven sllaft 277 provldes the compression
member, and nut 283 provi~es the adjustmell~ for beaLill~, 27~.
~ The driven sha~t 277 is threa~ed with an extra-fine tllread
so tha~ a ratio is obtained between`the actual travel (rotation
of motor shaft) and the travel o~the L.S. DOG 284. L.S.
DOG 284 is kept from rotating by guide bar 286 whlch is
.. .. .

~' ~r~
mounted on the main frame with cap screws 287. As the screw
277 rotates, L.S. DO~ 284 moves linearly actuating the
appropriate limit switch 288. The limit switches may be
' mechanical as shown, or also, for example, ~hotoelectric.
Adjustment of the limit switch loca~ion is made by Ioosening
screw and washer 289 and 291 and sliding limit switch bracket
292 in the keyway in the main frame 269. An alternate
setting method is to remove the guide bar 286 and rotate the
l,.S. DOG 284 to the desired setting and replace the guide
bar, The encoder 293 is mounted to the main frame 269 with
its encoding disc (not sho~) rigidly mounted to the driven
shaft 277,
Referring now to FIG. 12, there is shown a simpliEied'
schematic diagram of the feed rate override control of the
present system. Analog,values from zero through ~5 volts
~rom potentiometer 301 (for table feed rate adjustment) or '
from potentiometer 302 ~for splndle feed rate adjustment)
are switched by means of an analog multiplexer 303. Potentiometers
301 and 302 are lO K ohms each and correspond to the potentio-
meters 68 and 67j respectively, shown diagrammatically inFIG. 6.
The A0 and Al outputs of PIA 304 are connected to the
control pins of multiplexer 303 and select either the table
potentiometer or spindle potentiometer voltage value to be
encoded into an 8 bit code by analog to digital converter
306. Eight parallel bits are output from t,he analog-to-
' : digital converter along the 0 through 7 bit outputs and
connected to PIA number 6 inputs B0 through B7, respectively.
The system program scans'the data output of PIA 304 to
determine if a data-valid condition exists wherein the
inputs of B0 through B7 may be coupled to the data outputs
- D0 through D7. The valid data output from analog to digital
converter 306 is connected to the A7 input of PIA
304. Potentiometer 307 sets the full scale 8
-15.

j~ r r
2~34
blt output fo~ a particular lnput volta~e for the converter
306. Thus, when the output from multiplexer 303 is at its '
full five volt value, the output ~rom potentlometer 3~7
to the input of the analog-to-digital converter 306 is se~
to produce all high outputs on bit outputs 0 through 7 of
analog-to-digital converter 306. Potentiometer 309 sets
the zero value for zero volts input. The ends of potentiome~er
309 are at ~5 volts and -5 volts respectively., The OUtp~lt o
potentiometer 309 is coupled through a 100 K resistor to the
, zero adjust input of converter 306 on line 311. ,Line 311
is also coupled to ground through a lK resistor, providing a
voltage divider network for the ze'ro adjust.
The various other inputs utilized, such as voltage
supplies and current references, are supplied to converter
306 as necessary. Analog-to-digital converter 306 may be,
for example, an 8700 CN type, manufacturered by Teledyne. A
lO0 hertz clock 312 couples pulses to the input of the
analog-~o-digital converter 306 which initiates an output on
output lines 0 through 7., The clock output is also coupled
to the CBl input o~ PIA 304'as a system interrupt. This
20~ interrupt causes a program factor to service the X, Y and Z
servo routines. This is an interrupt operation described
hereina~ter in regard to the flow chart for the system
program. In the course of servicing the X, Y and Z servo
'routines, changes in the settings for table feed rate or
spindle feed rate at potentiometers 301 and 302 are noted by
the program and the rates are recalculated. As generally
shown in FIG. 12, the data'outpu~s are coupled to the data
bus at 313 and the various timing and addressing outputs of
PIA 304 are coupled as shown,at 314 to'the address decoding
-16-

and timing portion of the microcomputer.
As sho~l in FIG. 13a, the outputs on data lines 7
through 0 (most significant bit through least significant
blt) effect different changes in feed rate. If only the
most significant bit is high7 indicating a mid range (two
and one half volt) potentiometer output, the progra~ned feed
rate value wilL be utilized. If the potentiometer is se~
between 0 and two and one half volts, less than half of the
total bit weight of lines 7 through 0 will be present and
the program value of feed rate will be multi.plied by a
fraction comprising t.he bit rate di.vided by 128. The
figure 128 is 2 to the 7th power and represents half of the
bit rate of lines 0 through 7 or all of the bit weight of
lines 0 through 6.
If the potentiometer is set between two and one half
- and 5 volts, more than half of the bit wei~ht will be applied, '
and in the two exemplary conditions shown, i~ the potentio-
meter is at 5 volts all~bits are high and the feed rate will
be the programmed value plus 6 inches per minute. I three
quarters of the bit rate is applied, with bits 6 and 7 high,
the feed rate will be the programmed value plus 3 inches per
' minute.
As shown in FIG. 13b, when the control is in a JOG
mode, the two and one half volt, or half weight, feed rate
is set at 50 inches per minute, for example. For voltages
between zero and two and one half vol'ts, this 50 inches per
minute rate is multiplied by a fraction of bit weight divided
by 128. For voltages between two and one half and ive
volts, the'feed rate becomes 150 inches per minute mult:iplied
by a fraction consisting of a bit rate divided by 256. 256
is two to the eighth power, or the full bit weight for lines
7 through 0.
.,
-17-
,3 ~ , ~

~r
3g~
Referring now ~o FIGS. 14-42, there is shc~wn a 10w
chart o~ the basic operations of the`software associated
with the control system. These software operations are
broken down into a plurality of subroutines with each step
which is underlined within a block in the figures being
further explained in a subsequent Figure as to its various
substeps~
In general, the software in the memory o~ the micro-
computer controls all of the basic functions of the machine.
The software monitors the keyboard and the control switches
on the control panel. Sotware also generates display
messages on the CRT screen and operates the magnetic tape
cassette unit. The operation of t.he cassette unit allows
parts progra~s to be loaded on to tape and from tape. The
software further controls the three servo axes, X, Y and Z"
and controls ~he machine sequence and motion as it executes
parts programs.
Referring now to FIG. 14, when power ~s applied ~o the
system at the control panel, the program begins executing at
BEGIN. This places the PIA's in proper state, clears the
variable memory to start rom.the zero condition and enables
the system interrupts.
As sho~l in FIG. 15~ the INTERRUPT program, which is
the heart of the servo positioning system, is executed 100
times per second by command of an external clock. Regardless
o what the main program is doing, the INTERRUPT ~rogram is
executed from beginning to end each time one of these 100
hertz clock pulses is received. The program checks for any
keys pushed on a polling basis and stores ~heir values to be
retrieved by the ~nain program at a later time. In the servo
portion of the interrupt program, the desired position is
. ,
-18-

2~34L
compared ~o actual positlon and forms an output error signal
to a digital-to-analog-converter. The program then determines
the deslred position by taking move commands from a command
bu~fer and adding them to an error signal. The change in
- encoder reading for the par~icular axis motion being cal-
culated is adcled to determi.ne any motion taken place during
the last interval. The resultant error slgnal then is the
difference between desired posi.tion and actual posi~ion.
This is applied to the velocity command of the rnotor control
and adjusts the axis velocity to obtain the desired position.
On each 100 hertz clock pulse, the X, Y and Z axis movements
are checked.
In order to~cause motion i.n any of the axes, it is only
necessary to supply MOVE values to the command buffer.
, These MOVE values are the distance desired to move in one
one hundredth of a second for each axis. If a continuous
stream of MOVE values are loaded into the command bufer,
each interrupt will remove one of the values and execute it.
The axis will move along at the rate proportional to the
size of MOVE values,
As further shown in FIG. 14, after BEGIN~the SETMODE
program is executed. This program is also execu~ed each
time a new mode is selected by the machine operator, This
program sets the initial conditlons and then jumps to one of
the modes (ENTER, CHECK, SINGLE, OPERATE or EMERGE~CY STOP).
Reerring now~to FIG. 16 the first of the 5 available
modes reached Erom the SLT~ODE program is discussed. Eor
ENTER mode, the ENTER pxogram is executed. The program
starts with data block one, displays values in that data
block, and then sets up the inquiry scheme for each item in
.
that data block. By pushing various keys on the control
.
- ' -19- .
. , . . .. . , ~ .... _ ..

3~ ;~
panel, the operato~ can advance to the ne~ item withi.n a
data block or modlfy or enter values for the particular item
being displayed. In ENTER,-all oE the items are displayed
on the CRT and sequentially an inquiry is placed at ~he
bottom o~ the CRT display for each item of the da~a block.
The opera~or makes keyboard data and mode selection entries
through the keyboard for each in~uiry. The data block
advance key and inquiry item advance key are located on the
control panel as shown in FIG. 9. When the operator i9
satisfied with a particular data block, pushing ~he data
block advance key increments the data block number and the
next data block is displayed on the CRT. If the next data
block has not yet been programmed, it is created by transferring
forward data from the previous data block. This allows
:- unchanged values to be carried forward and they do not need
to be entered again on the keyboard by the operator. If
data block zero is requested, a separate ENTER program is
executed which allows X and Y offsets and tool data to be
entered. The tool calibration length can be entered by
actually moving the Z axis to a position and recording this
point.
FIG. 17 shows the E~TER DBO routine and FIG. 1~ shows
the DISPLAY CURRENT D~TA BLK routine from the ENT~R PGM of
FIG. 16.
Referring now to FIG. 19, CHE-CK ~IODE, the second of the
five available modes, is shown. CHECK MODE can be entered
through the SE~rMODE program and allows consecutive display
gf all of the data blocks which have been programmed. This
CIIECK MODE is for operator convenience ln veriying that a
proper program has been entered into the memory.
FIGS. 20 and 21 illustrate the next two modes enterable
by the program. The SINGLE MODE program sets the single
.
.

3~ .
\
step flag and goes to the OPE~ATE program, to be discussed
hereinafter. The EMERGENCY STOP program is entered whenever
the emer~ency stop switch is activated on the control panel.
It stops all motion and waits until the machine operator
puts the machine in CI~ECK MODE. Then the emer~ency stop
condition is released.
The fifth mode, and the principle mode in which the
automatic mach~.ning of parts is done, is the OPEr~TE MODE.
As shown in FIG. 22, the OPERAT~ PROGRAM allows manual
jogging of the Z axis spindle and table calibration as well
as data block parts program execution. When the start key
is pushed, in JOG MODE, a displacement is entered in and the
feed rate is set to 50 inches per minute and the DOMOVE
program is executed.
The DOMOVE program is shown in FIG. 38. The DOMOVE
program calculates the move increments which are fed to the
INTERRUPT program which actually drive the three axis
servos. The program determines whether a Z move is desired
or an X~ move. If an XY move is desired, the program obtains
eed rate and modifies lt according to the feed rate pot.
It then calculates the distance that X needs to move by
taking XD (X desired) minus X position (present location of
X?. It does the same for Y and then calculates DL (total
length to be moved, taking the square of the sum of the
squares of DX and DY). Next the number o~ iterations required
- to move this distance at the proper feed rate is calculated.
NNN equals the length requlred to move rnultiplie~ by tlle
steps per minute, which in this case is 6,000, based on the
one hundred times per second execution of the-INTERRUPT
~ program.
Now that the number of steps have been calculated, the
-21-
, . . . _._ __ . . ... ~ .

`~?
243~ ;
size of each step (for example, X INCREMENT) is calculated
by taking the X distance to be moved divided by the number
of steps. Also, Y INCREMENT equals the total Y movement to
be made divided by the number of steps. This X INCREMENT
and Y INCREMENT will be added to the X and Y position NNN
tin~es. This is done by the INTERPOLATE prograrn. If a Z
move is required, a similar calculation is made to détermine
NNN and Z i.ncrement.
The INTERPOLATE program calls the Lh'AD SCREW COMPENSATION
program five times a second. The INTERPOLATE program
- checks to see whe~her the ~eed rate pot has changed. If the
JOG mode is being executed the progr~m returns whenever the
start button is released by the operator.
After doing these things, the INTERPOLATE program counts ~ down NNN. If this quantity is equal to zero, the move is
completed and the program goes to FINISH MOVE. Otherwise,
it adds the increment calculated earlier to the actual
position and updates the position for each of the three
axes. It then calculates a MOVE value and when the command
buffer has an opening, places the three MOVE values in this
buffer. Command bu~fer values are being used by the INTERRUPT
program so it may be necessary to wait until a value has
been moved by the INTERRUPT program. This:allows the INTERPOLATE
program to calculate several move values ahead and guarantees
that data~ will always be available to t.he INTERPOI,ATE program.
The INTERPOLATE program also displays on the CRT screen
the present instantaneous X, Y and Z values. 1~ then loops,
calculates the next move value, and waits again to place it
into the command buf~er. When NNN has reached zero, the
move is complete and X position has reached the X desired
.
-22-

34
value. FINISI~ MOVE (FIG. 41) sets them precisely equal and
returns to the calling program. It can be seen that if X~, .
YD or ZD is set to a desired location, the DOMOVE program
will take care of moving ~he servos at the proper feed rate
to that location. The Fl~ATE and LEAD SCREW COMP subroutines
are shown in FIGS. 39 and 40, respectively.
Returnin~ to the OPERATE program (~IG. 22), if the A~TO
position mode is selected and start button is pushed, the
- AUTO program is then called to execute a parts program
stored as data blocks. The XYCAL, ZTCAL, ZZERO and XYMARKER
subroutines cited in the OPEl~ATE program are shown in FIGS.
23, 24, 25 and 26, respectively.
As shown in FIG. 24, the Z axis spindle calibration ls
carried out by adding the Z offset saved from the previous
tool to the Z position to arrive temporarily at an "absolute"
Z position. Then the current tool calibration length for a
new tool is entered as a current Z offset distance which is
- subtracted from~the "absolute" Z ~osition to arrive at a new
Z position for the current tool. Then the new Z offset is
saved for subsequent Z calibration routines. The CALLENGTH
is obtained as a step in the calibration operations oE DBZERO
as shown in FIG, 17. As di.scussed above, when the Z axis is
manually moved to a desired zero reference plane, the tool
length calibration may be entered ~hrough the TOOL CAL
button 223. Generally, the ~ool length calibration for each
tool to be used is entered and stored in the memory of the
microcomputer and recalled as each tool is utilized.
The AUTO program reads the data bloclc and decides on
the type or mode (POSITION, MILL, DI~ILL or BORE). Each of
these modes i5 a sequence of operations to ~ake the milling
machine through the deslred action. The AUTO SEQI)ENCE,
- beginning with NEXTDB, is shown in FIG. 27
-23~

~2~39L
;
IE the selected function or mode is POSITION (FIG. 28)
a retract is executed, bringing the Z spindle up. This is
accomplished by setting the Z desired to ten inches, setting
RAPID and execu~ing the DOMOVE program until the Z up limit
switch is actua~ed. After Z is up, POSITION reads the XY
values from the data block, sets R~PID and executes DOMOVE.
This brings the tab:Le to the XY position called out in the
data block~ WAIT ERROR S~LL delays the program until the
servos are in position within several ~housandths. After
this, the portion o~ the program NEXTDB is executed (FIG.
27).
NEXTDB checks for data block stop, which returns to the
OPERATE program or it increments to the next data block. If
the program is in single cycle, or if a tool is to be changed,
control is returned to the OPERATE program, otherwise, the
loop is repeated, which jumps to the proper program type and
that data block is executed.
MILL (FIG. 29) goes through the sequence of lowering
the spindle to the Z down dimension, getting the XY data
from the data block, and executing DOMOVE. Therefore, the
table will move at the program feed rate to the XY value.
After DOMOVE, a WAIT ERROR SMALL subroutine is executed, and
then a check of the next data block is made. If the next
data block is not also a MILL mode, a Z retract is performed,
' bringing the spindle up. This completes the data block of
MILL and the next data block is executed.
In a MILL operation, before the DOMOVE step, ir an
inside or outside frame milling operation has been entered
in the data block the program goes to FR~. The operator
will have chosen either inside, outside or none ~or possible
.
-24-

Z~L3~
frame milling ~or the ~I1.L da~a block. As ~sho~m in ~IG. 29,
iE ei~her inside or outside milling is selected, ~he 1l~M~.
milling subroutine is execu~ed (FIG 43~. ~
For an inside :Erame millin~ opera~ion, for example, a
first ~ata block would position the tool at t-he proper
location on the workpiece T,O begin the ~rame m:L]ling operation.
The next data block would be ~he MILL data block wherein the
- operator inserts the clesired inside frame mill:ing and enters
the X and Y (1istances for the tool to travel. As shown in
the F1~AME milling subroutine of FIG 43, the Z axis i.s lnoved
in the four directions necessary to comple~e the frame
milling and then the spindle is retracted. As indicated in
DRILL in FIG. 30, in the middle block after ~A1T ERROR
SMALL, if T he next data block contains an inside or outside
frame milling step, the X and Y positi.ons are offset by one
half the current tool diameter. This enables the operator to
program X and Y dimensions for the frame milling actually
desired to be accomplished rather than having to take into
consideration the ~ool diameter. After the~ZR~TKACT operation
of FIG. 43, the XY offset is removed so tha~ the XY posi.tioning
returns to its true vaLue for subse~uent opera~ions.
- BORE mode sets the bore 1ag and ~hetl proceeds as iE i~
were a DRILL mode.
DRILL moc1e execution is as ~ollows. The spi.ndle is
re~racted. The XY values are obtained from the data block.
A move is made in I~PID to those XY values, and a WAIT ERROR
S~ALL subroutine is performed. ~ R~PID move ~o the Z up
position is made with a WAIT 1.RROR SMA],L subrou~ e:~ If
P~CK mode is set, a separate DOP~C~ program is then executed.
Otherwise, Z is moved ~o the ~own position at the program
-25-
_, . . . ~-

,
feed rate. A delay of three tenths oE a second takes place
and then a check of the next data block type is made.
If it is a MILL, that data block is then executed
without retracting tbe spindle. Or if the bore flag is set,
, the spindle i~ retracted slowly at the programmed feed rate .
to Z up. Otherwise, Z retract is executed, which brings the
spindle back up to the top position and the next data block
in sequence is then executed.
The subroutines for Z RETRACT GET XY FKOM DATA BLK,
~o WAIT ERROR S~UiLL, Z TO DOWN, RAPID TO Z UP and SLOW TO Z U~'
are set forth in FIGS. 31, 32, 33, 34, 35 and 36, respecti.~Ly.
During all motions, lead screw compensation is bein~
calculated and applied to the move. This takes the positlon
times the lead screw error which-is entered into ~he program
,~ through jumper wires and calculates a lead screw correction,
which is added to the desired position when it is fed to the
INTERRUPT program.
The DOPECK program, which is an option of the DRILL
mode, divides the drill stroke, or distance between ZUP and
ZDOWN, by the desired number of pecks. This distance ZD is
then used to carry the Z desired position into the workpiece
N peck times, with a retract to ZUP between each peck. This
enables chips to be cleared when drilling a large hole. The
` DOPECK subroutine is shown in FIG. 37~
As shown in FIG. 42, the REPEAT pro~ram allows execution
of nested step and repeats. This allows a pattern to be
repeated N times at various X or Y offset distances. When a
step and repeat is started, certain conditions are stored
onto a STP/~EP stack. When the REPEAT BLOCK is encountered,
the number of times NX and NY are stored onto the stack and
a loop is made back to the beginning data block. ~ach time
-26-

h '~
3~ :
the REPEAT is encountered in t~his loop, the X or Y positions
arP modified by the step values and the counters are decremented.
When both X and Y counters have reached zero, the pattern is
repeated the proper number of times, and the next data block
is executed.
The REP~AT program may be devised, for example, to
permit nesting up to three loops deep. The beginning data
bl.ock of a loop is flagged by being selected by the operator
as a STP/REP block as indicated in the AUTO program of FIG.
10 27. This STP/REP-indicated data block further contains ~he
usual information such as for a MILL, DRILL, etc. This
flagged block may then be followed by one or more data
blocks containing the balance of the steps of the operation
to be repeated, and this series of blocks is concluded with
a repeat block. The repeat block contains an incremental X
dimension and a count of the number of X operations, an
incremental Y dimension and a number of counts for Y dlrection
operations. The program operates to perform all of the X
repeats for a given Y dimension and then moves to the next Y
20 dimension for another series of operations in the X direction.
An example of a simple ~ype of repeat program whlch may be
prepared by the operator of the machine would be a pattern
of drilled holes in a workpiece in an~array such as two by
three, four hy five, etc.
The utilization of a repeat block to eliminate the need
for reentering data in a data block for identical operations
-- and the use of the frame milling operations described above
are exemplary programming tools for the operator of the
- machine.
While there have been described above the principles of
this invention in connection with specific apparatus, it is to
be clearly understood that this description is made only by way
of example and not as a limitation in the scope of the invention.
-27-

Representative Drawing

Sorry, the representative drawing for patent document number 1102434 was not found.

Administrative Status

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC from MCD 2006-03-11
Inactive: First IPC assigned 2000-09-15
Inactive: Expired (old Act Patent) latest possible expiry date 1998-06-02
Grant by Issuance 1981-06-02

Abandonment History

There is no abandonment history.

Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
HURCO MANUFACTURING COMPANY, INC.
Past Owners on Record
CHRIS L. HADLEY
GERALD V. ROCH
JAMES P. WILES
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1994-03-11 17 420
Cover Page 1994-03-11 1 19
Claims 1994-03-11 2 79
Abstract 1994-03-11 1 24
Descriptions 1994-03-11 28 1,188