throbber

`
`United States Patent [:91
`
`Toke et a1.
`
`[11]
`
`[45]
`
`4,138,718
`
`Feb. 6, 1979
`
`Bensaude et n].—“Host Processor Control of Satellite
`Disk Storage".
`
`Primary Examiner—Harvey E. Springborn
`Attorney. Agent, wfi‘m—erles 5: Brady
`
`[75]
`
`[56]
`
`3.310.104
`
`ABSTRACT
`[57]
`A numerical control system which employs a pro-
`grnmmed numerical control processor to perform the
`numerical control functions is coupled to a bulk storage
`device by . W mpum_ The bulk storage device
`stores a download Iibnry which includes not only part
`programs, but also system software programs and diag-
`nostlc programs which my be downloaded to the nu-
`maria! control system upon request By domdoadins II
`system software program the numerical control capabil-
`.
`.
`.
`mes ol' the syotem can be comoletely reconfigured to. In
`mono met, Prowde I new mint-
`
`-
`
`Reform Cited
`U.s. PATENT DOCUMENTS
`1
`............................. .. 3
`lgizj;
`flag! .I_ _
`
`5/1914 Lunacy
`OTHER PUBLICATIONS
`
`IBM TDD-vol. 14. No. II, Apr. 1972. pp. 3418-3419—
`
`9 Gal-I, 22 [howling figures
`
`[S4] NUMERICAL CONTROL SYSTEM WITH
`DOWNLOADING CAPABILITY
`Inventors: Ronald J. Toke. Bralenahl Village;
`Willi" *- M Memo“ both or
`Ohio
`[73] Assignee: Allen-Bradley Conway. Milwaukeo
`“’1'-
`[2}] App" No“ “50"”
`[22] Fund;
`Nov. :4, 1m
`C(lfi1 ......................... Goa? 3/132:
`[58] ml}! m 364/200 MS We. 9w Ms File
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 1
`
`

`

`
`
`Sheet 1 of 21
`
`4,138,718
`
`U.S. Patent
`
`Feb. 6, 1979
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 2
`
`

`

`
`
`Sheet 2 of 21
`
`4,138,718
`
`US. Patent
`
`Feb. 6, 1979
`
`‘34:; 2
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 3
`
`

`

`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 3 of 21
`
`4,138,718
`
`0*-
`
`
`
`
`y.
`4
`_J
`t—
`a.
`a:
`U 0‘!
`_.
`
`D_
`
`g
`
`e
`w
`x
`
`.1
`< .J
`u 0
`_ I:
`c:
`:—
`m z
`2 O
`D U
`z
`
`:5
`
`J.)
`N
`
`r“
`n1
`
`Ewi—z:
`
`H.
`
`u
`m
`a. n “ 2%
`
`— .-
`— ‘-
`
`oN
`
`\“=l.ff
`
`W!
`
`3%
`
`550
`
`55!
`
`
`
`r—
`
`READ/WRITE
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 4
`
`

`

`t
`
`.m
`
`9
`
`1
`
`.fl.5528Sonm¢_o:.5.m.4mg4%5MIIIIIIIIIIllU<¢.mwm.llllllllllI-P.mu.>595.
`
`
`
`mSign?
`
`.szan...\zuooozuIfi.\|||||||||||I-M..Efl
`
`F3
`
`man
`
`6.lllllllllllI-
`
`t.flJInmGIlllllllllllI-EIwoamehMIsEIMIIII
`rm\mn"ngofi55832..»
`
`
`2mRIIuIHmwmmammummbmtno.
`
`4.kmIIIIIIIIIIIIII.2.
`
`
`
`4.56mIIIIxmplmwwIWleI-
`“mun—mg.
`
`4,298352723:«53E05:
`
`5.5.3..
`
`0m.35xx?3558:
`...ED.m\mamE3«8385.cAw3xm11...amno
`
`|
`
`mmmmmv.n.”P.mmmXD.0
`C05
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 5
`
`
`
`
`

`

`US. Patent
`
`Feb. 6, 1979
`
`Sheet 5 of 21
`
`Smmmoomn.
`
`Orruiztmd
`
`45.xV.‘s?any
`
`.
`
`cuxudfiaz
`
`Kuhn—Guma);
`
`s?
`
`c8309:
`
`x030
`
`#5050
`
`Om_
`
`m9
`
`INSTRUCTION
`REGISTER
`
`gOO¢m|O¢0§
`
`
`
`>1.acuadum
`
`5.02m!
`
`
`
`4,138,718
`
`
`
`mam«Go5330:...
`
`..\\
`
`
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 6
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 6
`
`
`
`
`
`
`
`

`

`U.S.
`
`Patent
`
`Feb. 6. 1979
`
`Sheet 6 of 21
`
`4,138,718
`
`3
`
`mEm.
`
`
`mmE55.3.".aE?
`
`$7
`:92...as
`
`inhmauia
`
`muhmammZ".
`
`:vi
`
`0*-
`\0
`
`,2
`
`.1...y
`a?
`
`3.2
`
`56030W1|“WEfl
`
` L REGISTER
`
`m<mwxuudmths.
`
`1.3.011
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 7
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 7
`
`
`
`
`
`
`
`

`

`
`
`US. Patent
`
`Feb. 6. 1979
`
`ADDRESS
`
`Sheet 7 of 21
`
`4,138,718
`
`REGISTER
`
`lUT/OUTPU DATA BUS
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 8
`
`

`

`
`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 3 of21
`
`4,138,718
`
`I2?
`
`M0
`
` BINARY
`
`is.7
`
`BO
`
`JG
`
`h!fl§:2ra
`
`
`
`
`i
`
`
`1'28
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 9
`
`

`

`
`
`U.S. Patent
`
`Feb. 6. 1979
`
`Sheet 9 of 21
`
`4,138,718
`
`3 C
`
`'13-‘43. 8A
`
`5”
`
`525
`
`526
`
`DISABLE
`INTEHRUPTS cc
`TURN-OFF
`OUTPUTS
`
`SU BROUTINE
`
`F ETC H DOWN-
`LOAD REQUEST
`wono {JUMP
`TO TRANSMIT
`
`FETCH VERSION
`1.0. CHARACTERG
`JUMP TO
`TRANSMIT
`SUBROUTINE
`
`
`
`
`
`5
`
`27
`
`JUMP TO
`RECEIVE
`SUBROUTINE
`
`NEGATE6
`STORE RECORD
`SIZE AT
`
`“COUNT”
`
` lNlTiALIZE
`CHECKSUM
`
`IN
`B REGISTER
`
`
`
`
`
`
`52?
`
`5.30
`
`535
`
`JUMP TO
`RECEIVE
`SUBROUTINE
`
`T0
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 10
`
`

`

`US. Patent
`
`Feb. 6. 1979
`
`Sheet no of21
`
`4,138,718
`
` $18. SB
`
`5:51
`
`
`
`
`
`
`
`STORE STARTING
`ADDRESS OF
`DOWNLOADED
`RECORD AT
`"ADDR"
`
`
`
` 536
`
`
`
` CHECK “ADDR”
`TO DETERMINE
`
`IF WITHIN
`
`COM MUNICATIONS
`
`PROGRAM
`
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 11
`
` INDICATE
`
`
`
`“ADDRESS ERRCIR'I
`ON CRT 9
`
` JUMP TO
`
`RECEIVE
`
`SUBROUTINE
`
`
`
` STORE
`INSTRUCTION IN
`
`MEMORY 30
`
`AT LOCATION
`INDICATED BY
`“ADDR'I
`
`
`
`535
`
`INCRE ME NT
`
`"A DDR" G“COUNT"
`
`‘- UPDATE
`
`CHECKSUM
`AC CUMMULATOR
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 11
`
`

`

`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 11 of 21
`
`4,138,718
`
`
`
`INDICATE
`"CHECKSUM
`
`ERROR"
`
`ON CRT 9
`
`
`
`
`
`‘F-ig. 8c
`
`JUMP TO
`
`REC EIVE
`SUBROUTINE
`
`COMPARE
`
`CHECKSUM WORD
`WITH
`CHECKSUM
`ACCUMMULATOR
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 12
`
`

`

`US. Patent
`
`Feb. 6, 1979
`
`Sheet 12 of 21
`
`
`
`hazy—cut:
`
`29.5.09.
`
`to
`
`oxgurux
`
`mar—50¢
`
`Panto—uh:—
`
`29.501
`
`«.0
`
`
`
`mun—(mmundk
`
`u2that
`
`.5
`
`u0.>¢wm
`
`mztbom
`
`2m.2¢:om!0:¢um
`
`
`
`nabsrmPanz—
`
`“.0
`
`
`
`mwutfiawzwmzum
`
`hz<nzumuo
`
`
`
`2:101!.uhaouxu
`
`.9.
`
`02
`
`1m—
`
`
`
`mt
`
`
`
`0230:exudm
`
`mmESOm
`
`ban—PDQ wadihuOm
`
`muu_>un_
`
`02.95.20to
`
`nabs—h
`
`zeta-5933.2.
`
`mar—bocnam
`
` 4,138,718
`
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 13
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 13
`
`
`
`
`
`
`
`
`

`

`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 13 of 21
`
`4,138,718
`
`@113. 10 INITIALIZE
`
`
`
`FOR NEW
`PROGRAH
`
`UPDATE
`
`CRT
`
`DISPLAY
`
`
`MODE
`
`?
`
`MANUAL
`
`
`
`
`CALL BLOCK
`
`
`
`EXECUTE
`ROUTINE
`
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 14
`
`
`
`DECODE
`
`AND SET UP
`
`
`
`
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 14
`
`

`

`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 14 of21
`
`4,138,718
`
`‘3‘1'65. 11A
`
`
`
` BLOCK
`EXECUTE
`
`ROUTINE
`
`SET UP
`BLOCK
`EXECUTION
`FLAGS
`
`
`
`NSC II DATA
`
`INITIALIZ
`
`BUFFERS
`
`YES
`
`BLOCK
`'DELETE
`
`?
`
`R ES ET
`
`EXCHANGE
`
`
`
`
`
`
`
`
`STATE OF
`pREwou3
`BLOCK
`
`
`
`ICT IVE AND
`TEMPORARY
`BUFFER POINT 3‘
`
`
`
`
`
`EXECUTE
`PRELUDE
`FUNCTIONS AND
`WE aLocx
`ACTIVE
`
`
`
`UPDATE
`POINTERS
`T0 NEXT
`BLOCK
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 15
`
`
`
`A36 11 DATA
`
`BLOCK
`
`RELEASE
`
`ENABLE
`INTERPOLATION
`
`SET UP
`
`NEXT
`
`BLOCK
`
`
`
` INITIATE
`TAPE REMER
`
`IF STORAGE
`AVAILABLE
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 15
`
`

`

`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 15 of 21
`
`4,138,718
`
`@
`
`%Ic3. llB
`
`
`
`UPDATE
`
`CRT
`CRT
`
`DISPLAY
`DISPLAY
`
`
`
`
`
`UPDATE
`
`
`
`BLOCK END
`POINT
`
`YES
`
`YES
`
`60¢
`MODE
`?
`
`no
`
`EXECUTE
`
`POSTLUDE
`
`FUNCTIONS
`
`
`
` UPDATE
`
`
`
`CRT
`
`DISPLhY
`
` OFFSETS
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 16
`
`

`

`US. Patent
`
`Feb. 6, 1979
`
`Sheet 16 of 21
`
`4,138,718
`
`$1.5. 12A
`
`
` l0.24
`MSEC.
`INTERRUPT
`
`
`ALL
`
`REGISTERS
`
` IO USE
`INTERRUPT
`
`
`
`NO
`
`RESET
`PRELUDE fl
`POSTLIJDE
`
`FLAGS
`
`
`
`I56
`STATU 3 OF
`
`
`SENS I N6
`DEVICES
`FLAG S EXECUTE
`
`IE?
`
`INHIBIT
`
`INTERPOLATION
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 17
`
`
`SERVO-
`HECHANISM
`
`
`SERVICE
`
`
`
`I64-
`
`Il CODE
`
`CLEAR
`VARIOUS
`BLOCK DATA
`
`MACHINE
`DEPENDQNT
`SOFTWARE
`ROUTINE
`
`
` OUTPUT
`STATUS OF
`
`
`OPERATING
`
`DEVICES
`
`
`
`194
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 17
`
`

`

`
`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 17 of 21
`
`4,138,718
`
`‘313. 123
`
`
`
`
`INHIBIT INTER-
`
`I66
`
`SUBROUTINE
`
`TURN on
`PROGRhI
`STOP FLAG
`
`
`
`Eon
`STOP
`
`?
`
`nor BUSY
`
`YES
`
`ANY
`STOP
`COD?ES
`YES
`
`REG U E ST
`
`CYCLE
`
`STOP
`
`"53
`
`
`
`YES
`
`EMERGENCY
`57,9"
`‘uo
`EMERGENCY
`
`STOP
`FROG ESSOR
`
`EN D
`0F Bil—00"
`
`no
`
`RESET
`
`POSTLUDE
`
`FL”
`
`
`
`5""
`
`RESTORE
`
`REGISTERS
`
`SET TIMED
`INTERRUPT
`FLAG T0
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 18
`
`

`

`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 13 of 21
`
`4,138,718
`
`$13. 13A
`
`SIB
`
`5L3
`
`514
`
`
`

`
`DISSABLE
`INTERRUF’TS
`TUFIN OF
`OUT PUT DEV ICES
`
`
`
`
`
`
`
`FE"?
`
` RECEIVE
`
`REPLY FROM
`HOST COMPUTER
`AND DISPLAY ON
`CHT 9
`
`
`
`DISPLAY
`“READY”
`
`0N CRT 9
`
`
`
`INPUT COMMAND
`TRANSMIT
`'
`FROM
`COMMAND
`KEYBOARD 7
`TO HOST
`
`COM PUTER
`
`
`
`
`
`
`
` "SIGN ON"
`COMMAND ?
`
`5|?
`
`
`
`
`'SIGN OFF"
`COMMAND?
`
`
`
`
`DOW NLOAD
`
`
`*-
`COMMAND 7!
`
`ON CRT 9
`
`YES
`
`DISPLAY
`(I.
`
`
`
`
`SEI
`
`TRANSMIT
`DOWNLOAD
`COMMAND TO
`
`HOST COMFUT ER
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 19
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 19
`
`

`

`
`
`US. Patent
`
`Feb. 5, 1979
`
`Sheet 19 0:21
`
`4,138,718
`
`522.
`
`REPLY FROM
`
`HOST COMPUTER
`AND DISPLAY
`
`
`
` RECBVE
`
`
`IT ON CRTS
`
`
`
`5.7.3
`
`
`
`TYPE "1"
`
`
`
`CODE
`
`REPLY
`
`
` JUMP To
`
`
`‘10A02" OF
`
`RESIDENT
`
`?
`
`
`
`COMMUMCATIONS
`PROGRAM
`
`$13. 133
`
`
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 20
`
`

`

`
`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 20 of 21
`
`4,138,718
`
`‘3‘1g. M-
`
`REQUEST
`
`FROM NC
`
`ACHINE
`
`
`
`REC EIVE AND
`
`STORE MACHINE
`
`
`IDENTIFICATION
`
`
`
`
`TRANSMIT
`
`I
`ll
`'BUSV
`RECEIVE AND
`
`STORE FILE
`“55’5ng
`
`NAM AND TYPE
`
`MACHINE
`
`
`
`
`
`TRANSMIT
`ERROR
`
`
`
`
`
`
`SECURITY
`CLE?RED
`MESSAGE TO
`
`NC MACHINE
`
`ANY
`REQUEST
`FROM NC
`MACHINE
`
`E
`
`
`
`TRANSMIT
`
`
`
`
`READ DATA
`DATA RECORD
`RECORD FROM
`TO NC
`DOWNLOAD
`MACHINE
`
`LIBRARY
`
`
`
`CONV ERT
`
`DATA RECORD
`
`
`TO ASCII
`
`C HARAC T ERS
`
`554-
`
`550
`
`
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 21
`
`

`

`US. Patent
`
`Feb. 6, 1979
`
`Sheet 21 of 21
`
`4,138,718
`
`.
`$13. 15
`
`
`
`
`
`RESlDENT
`COMMUNICATIONS
`PROGRAM (I28 LINES}
`
`HIGHEST 4K MEMORY ADDRESS
`
`00000
`
`551
`
`READ/WRITE
`
`MEMORY
`
`31:5. 16
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 22
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 22
`
`

`

`
`
`4,133,718
`
`1
`
`NUMERICAL CONTROL srsrm WITH
`DOWNLOADING CAPABILITY
`
`BACKGROUND OF THE INVENTION
`
`
`
`The field of the invention is numerical control sys-
`tems, and particularly. numerical control systems of the
`type which employ programmed processors as the
`means for carrying out the numerical control functions.
`Such a numerical control system is known in the art
`as a computer numerical control or “CNC” and they
`are characterized generally by their use of a pro-
`grammed minicomputer or microprocessor in lieu of
`hardwired logic circuitry. Such a system which em-
`ploys a programmed processor is disclosed in 1.7.5. Pat.
`No. 4,038,533 which issued on July 26, 1977 and is
`entitled “Industrial Control Processor System." Al-
`though CNC systems are programmable and do there-
`fore ofl‘er a certain amount of flexibility, as a practical
`matter the system program which determines the basic
`operational characteristics of the system is seldom ai-
`tered once the system is attached to a specific machine
`tool. For example,
`the CNC system may be pro-
`grammed to provide full contouring for a three-axis
`milling machine without automatic tool changer and
`with certain “canned cycles." That software system is
`usually not altered during the life of the machine despite
`the fact that for much of the time the machine tool may
`not require contouring capability and could make better
`use of the memory space occupied by the circular and
`linear interpolation programs.
`The flexibility afforded by the use ofa programmable
`processor in a numerical control system has thus never
`been fully realized in prior systems.
`SUMMARY OF THE INVENTION
`
`The present invention relates to a numerical control
`system in which a system program may be readily
`downloaded from a library stored in a bull: storage
`device. More specifically. the invented numerical con-
`trol system includes a main memory. a processor, a
`read-only memory which stores a resident communica-
`tion program. means for transferring the resident com-
`munications program from the read-only memory to the
`main memory and for initiating the execution of said
`program by the numerical control system processor. a
`storage device for storing a plurality of programs in-
`cluding a system program for the numerical control
`system, and a host processor coupled to said storage
`device and said numerical control system processor and
`being responsive to a download command generated by
`said numerical control system processor during its exe-
`cution of the resident communications program to
`download said system program to the main memory.
`wherein the numerical control system processor jumps
`from the resident communications program to said
`downloaded system program after the download has
`been completed.
`A general object of the invention is to download a
`system program to the memory of a CNC system. If the
`main memory is completely empty. as for example, after
`a prolonged power failure or a malfunctiOn which
`erases part or all of the system program, a new system
`program can be downloaded from the download library
`in the storage device by initiating the execution of the
`resident communications program.
`Another object of the invention is to enable the oper-
`star to select a system program from the download
`
`10
`
`15
`
`2.0
`
`25
`
`35
`
`45
`
`55
`
`60
`
`65
`
`2
`library. A manual data entry means such as a keyboard
`is associated with the numerical control processor and
`the download command is selected by the operator to
`identify a specific program in the download library. In
`this manner different system programs may be down-
`loaded to alter the capabilities of the numerical control
`system to meet the requirements of the machine tool to
`which it is attached and the part being machined.
`The foregoing and other objects and advantages of
`the invention will appear from the following descrip-
`tion. In the description reference is made to the accom-
`panying drawings which form a part hereof. and in
`which there is shown by way of illustration a preferred
`embodiment of the invention. Such embodiment does
`not necessarily represent the full scope of the invention,
`however, and reference is made to the claims herein for
`interpreting the breadth of the invention.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`I. is a perspective View of the system of the
`FIG.
`present invention connected to a machine tool;
`FIG. 2 is a perspective view of the numerical control
`system which forms part of the system of FIG. 1 with
`the enclosure door open;
`FIG. 3 is a block diagram of the system of FIG. 1;
`FIGS. 4a and 4b are a block diagram of the industrial
`control processor which forms part of the system of
`FIG. 3;
`FIG. 5 is a block diagram of the arithmetic and logic
`processor which forms part of the industrial control
`processor of FIG. 46;
`FIG. 6 is a block diagram of the input/output cir-
`cuitry which forms a part of the industrial control pro-
`cessor of FIG. 4b,-
`FIG. 7 is a schematic diagram of the priority encoder
`circuit which forms part of the industrial control pro-
`cessor of FIG. 40:
`FIGS. Ina—c are a flow chart of the resident communi-
`cations program whieh forms part of the industrial con-
`trol processor of FIG. 4;
`FIG. 9 is a flow chart of a system program which
`may be stored in the numerical control processor mem-
`cry;
`FIG. 10 is a flow chart of the main controller routine
`which forms part of the software system of FIG. 9;
`FIGS. 11:: and 11b is a flow chart of the block exe-
`cute routine which forms part of the software system of
`FIG. 9,
`FIGS. 12:! and 125 is a flow chart of the ten millisec-
`ond timed interrupt routine which forms part of the
`software system of FIG. 9;
`FIGS. 13a and 13b is a flow chart of a program called
`COMPAC which is stored in the download library;
`FIG. 14 is a flow chart of the download program
`(DNLDNC) stored in the host computer memory of
`FIG. 3;
`FIG. 15 is a representation of the contents of the
`numerical control system memory at one stage of the
`download procedure; and
`FIG. 16 is a block diagram of the host computer of
`FIG. 1.
`
`DESCRIPTION OF THE PREFERRED
`EMBODIMENT
`
`Referring to FIG. 1, a numerical control system is
`housed in a cabinet 1 and connected through a cable 2 to
`a multi-function machine tool with automatic tool
`changer 3. The numerical control system controls the
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 23
`
`

`

`
`
`3
`motion of a cutting tool 4 along two or more axes of
`motion in response to a part program which is read
`from a tape reader 5. In addition, the numerical control
`system operates in response to commands read from the
`tape reader 5 to control auxiliary functions on the ma-
`chine tool 3, such as autOmatic tool selection and chang-
`ing from a tool magazine 6. pallet selection and chang-
`ing. spindle speed and coolant operation. The imple-
`mentation of such auxiliary functions involves the sens-
`ing of one-bit signals generated by numerous input de-
`vices such as limit switches, selector switches. and
`photo-electric cells. which are mounted to the machine
`tool 3, and the operation of numerous output devices
`such as solenoids. lights, relays and motor starters. The
`numbers and types of such input and output devices. as
`well as the manner in which they are operated. will
`vary considerably from machine to machine.
`The numerical control system includes a programma-
`ble interface which allows it to be easily interfaced with
`machine tools of any make and model. This interface is
`accomplished by entering a control program comprised
`of programmable controller-type instructions through a
`keyboard 7. When this control program is executed the
`system operates as a programmable controller to selec-
`tively sense the status of the particular input devices on
`the machine tool to be controlled and to selectively
`operate the output devices thereon to provide the de-
`sired manner of operation.
`Mounted to the door of the cabinet 1 immediately
`above the keyboard 7 is an amociated cathode ray tube
`(CRT) display 9. Mounted to the right of the keyboard
`7 and CRT display 9 is a main control panel III which
`includes a variety of pushbuttons and selector switches
`for providing standard operator controls such as mode
`selection. feedrate override. spindle speed override. jog
`select. axis select. etc. One of the pushbuttons enables
`the keyboard 7 to enter data.
`Referring particularly to FIGS. 2 and 3. the elements
`of the numerical control system are mounted within the
`cabinet 1 to allow easy access for inspection. testing and
`maintenanceThekeMd'lismounIedtothecabinet
`door 11 along with the tape reader 5. CRT display 9 and
`main control panel 10. A secondary control panel 12
`mounts immediately above the tape reader 5 and all of
`these system 1/0 devices are connected to a numerical 45
`control processor 13 which is housed at the bottom of
`the cabinet I. More specifically. the tape reader 5 con-
`nects through a cable 14. the secondary control panel 12
`connects through a cable 15. the keyboard 1 connects
`through a cable 25. the CRT display 9 connects through
`a cable 1‘1, and the main control panel 10 connects
`through a cable 18 to a wire harness 19 which leads to
`the processor 13. A processor Front panel 26 provides a
`number of manually operable pualtbuttons and visual
`indicators which relate to the operation ofthe procmor
`l3 and which are connected thereto through a bus 21.
`Two input/output (1/0) interface racks 20 and 21 are
`mounted in the cabinet 1 above the processor 13 and are
`connected thereto by a wiring barn 22 which extends
`upward along their left-hand side. A main power supply
`23 mounts above the 1/0 interface rack 21 and a mem—
`
`IO
`
`15
`
`25
`
`35
`
`55
`
`ory power supply 24 mounts on the left side wall of the
`cabinet 1.
`The 1/0 interface racks 20 and 21 mount a variety of
`inth circuits and output circuits on closely spaced,
`vertically disposed printed circuit boards (not shown in
`the drawings}. These input and output circuits serve to
`couple the industrial control processor 13 with the
`
`65
`
`4,138,718
`
`4
`cable 2 that leads to the machine tool 3 and may include
`input circuits for sensing the status of limit, selector and
`pushbutton switches such as that disclosed in U.S. Pat.
`No. 3,643,115 entitled "Interface Circuit for Industrial
`Control Systems." and output circuits for driving sole-
`noids and motors such as that disclosed in U.S. Pat. No.
`3.745.546 entitled "Controller Output Circuit." The
`input circuits also include position feedback accumula-
`tors which receive feedback data from the position
`transducers on the machine tool 3 and the output cir-
`cuits include registers for prOViding axis motion com-
`mand words to the machine tool servo mechanisms.
`Referring particularly to FIGS. 1-3, the numerical
`control system 1 is connected to a host computer 500
`through a cable 301 in what is known in the art as a
`DNC configuration. The cable 50] connects to a uni-
`versal asynchronous receiver/transmitter (UAR/T) 8
`which is mounted within the numerical control preces-
`sor housing 13 and it in tum is connected to the numeri-
`cal control processor 13 through the wire harness 19.
`The UAR/T 8 is treated as another input/output device
`by the processor 13 as will be described in more detail
`hereinafter.
`The host computer 500 is a general purpose digital
`computer such as the Model 7/32 manufactured by
`lnterdata. Inc. As will be described in more detail here-
`inafter. it is coupled to the cable 50! by a UAR/l" 502
`which connects to an 1/0 port on a coniputer processor
`550. The processor 550 is coupled to a read/write mem—
`ory 551 through a bus 552 and a bulk storage device 507
`in the form of a disc couples to the memory 551 and it
`serves to store not only a large number of part pro-
`grams. but also. a variety of numerical control system
`software packages which may be downloaded to the
`numerical control system 1. Programs stored in the host
`computer memory 331 enable the computer to commu-
`nicate with the numerical control system 1 and to man-
`age the library of programs stored in the bulk storage
`507.
`As will be described in more detail hereinafter. an
`Operator at the numerical control system 1 can call up a
`particular part program or a particular numerical con-
`trol software system by generating commands through
`the keyboard 7. Referring particularly to FIG. 3. a
`communications package stored in a numerical control
`system memory 34 couples these commands to the host
`computer sun. which in turn reads the selected part
`program or numerical control system software package
`out of the bulk storage 501 and downloads it to the
`numerical control system 1. The downloaded program
`is stored in the memory 34 at a location determined by
`the communications package. To better understand the
`nature of a numerical control sofiware system package
`which can be downloaded from the bulk storage 507 to
`the memory 3‘, a description of a preferred numerical
`control system — both hardware and software — will
`now be made. This preferred numerical control system
`is sold commercially by the Allen-Bradley Company as
`the Model 13111 B and it is described in detail in U.S.
`Pat. No. 4,038,533.
`Referring particularly to FIGS. 4:: and 4b, the numer-
`ical control processor 13 is organized around a sixteen-
`bit bidirectional processor data bus 30. Data is moved
`from one element of the procmsor to another through
`this data bus 3|) in response to the execution of a micro-
`instruction which is held in a 24—bit micro-instruction
`register 31. Each such micro-instruction indicates the
`source of the data to be applied to the data bus 30. the
`
`
`
`PMC Exhibit 2123
`
`Apple v. PMC
`|PR2016-01520
`
`Page 24
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 24
`
`

`

`
`
`4,138,718
`
`5
`destination of the data, and any operations that are to be
`performed on that data. The micro-instructions are
`stored in a micro-program read—only memory 32, and
`one is read out every 200 hand-seconds through a bus 33
`to the micro-instruction register. 31. The readronly
`memory 32 stores a large number of separately address-
`able, or selectable, micro-routines, each of which is
`comprised of a set of micro-instructions. To enable the
`processor 13 to perform a desired function, the appro-
`priate micro-routine is stored in the read-only memory
`32 and it is selected for execution by a 16-bit macro-
`instruction which is stored in a read/write main mem-
`ory 34.
`The main memory 34 is comprised of 4K by l dy—
`namic MOS RAMs which are organized to store up to
`32,000 16-bit words. Macro-instructions and data are
`read out of and written into the main memory 3‘
`through a l6—bit memory data register 35 which con-
`nects to the processor data bus 30. The memory words
`are selected, or addressed, through a 15-bit ory
`address register 36 which also connects to the processor
`data bus 30. To write into the main memory 3‘, an
`address is first loaded into the memory address register
`36 by applying a logic high voltage to its clock lead 29.
`The data to be loaded appears on the processor data bus
`30 and is gated through the memory data register by
`applying a logic high voltage to its data in clack lead 2‘7.
`A logic high voltage is then applied to a read/write
`control line 34’ on the memory 34 to complete the load-
`ing operation. Data or a macro-instruction is read out of
`an addressed line of the main memory 34 when a
`READ micro-instruction is executed. A logic low volt-
`age is applied to the read/write control line 34' and a
`logic high voltage is applied to a data out enable line 28
`on the memory data register 35. The data word is mo-
`mentarily stored in the register 35 and is subsequently
`transferred through the processor data bus 30 to the
`desired destination.
`
`In response to the execution ofa micro-routine called
`FETCH, which includes the READ micro-instruction,
`a macro-hastruction is read from the main memory 34
`and coupled to a 16-bit macro-imitruction register 37
`through the data bus 30. The macro-instruction is stored
`in the register 37 by a logic high voltage which is ap-
`plied to a macro-instruction register clock line 37'. Cer-
`tain of the macro-instructions include operation codes
`which are coupied through an instructiOn register bus
`39 to a macro-decoder circuit 38, and other instmctions
`also include a bit pointer code which is coupled through
`the same instruction register bus 39 to a bit pointer
`circuit 4-0. The bit pointer circuit 10 is a binary decoder
`having four inputs connected to the least significant
`digit outputs of the macro—instruction register 37 and
`having a set of 16 outputs connected to mpective leads
`in the processor data bus 30. In response to the execu-
`tion of a selected micro-instruction (MASK), a logic
`high voltage is applied to a terminal 41, and the bit
`pointer circuit 40 drives a selected one of the sixteen
`leads in the prooessor data bus 30 to a logic low voltage.
`The bit pointer circuit 40 facilitates the execution of
`certain programmable controller type macro-instruc-
`tions.
`In response to an Operation code in a macro-instruc-
`tion stored in the register 37, one of the micro-routines
`in the read-only memory 32 is selected. The operation
`code is applied to the macro-decoder circuit 38 which
`enables one of four mapper proms 42-45 and addresses
`a selected line in the enabled mapper prom. Each line of
`
`nects to the prooessor data bus 30 and to the micro-
`
`6
`the mapper proms I‘ll—45 stores a twelve-bit nucro-rou-
`tine starting addresa. which when read out, is coupled
`through a anew-program address bus 46 to preset a
`twelve-bit micro-program sequencer 47. The sequencer
`47 is a presenable counter which includes a load tenni-
`md 52, an increment terminal 53 and a clock terminal 54.
`The clock terminal 54 is driven by a five-megahertz
`clock signal which is generated by a processor clock
`circuit 85 that is coupled to the sequencer 47 through an
`AND gate 86. Each time a logic high clock pulse is
`applied to the terminal 54 on the micro-program se-
`quencer 4'7, it is either preset to an address which ap-
`pears on the bus 46 or it is incremented one count. Con-
`currently, the micro-histruction register 31 is clocked
`through a line 88 and AND gate 88' to read and store
`the micro-instructiou which is addressed by the micro-
`program sequencer 47. The AND gates 86 and 88 can
`be disabled in response to selected codes in a micro-
`instruction to decouple the 5 mHz clock. Such decou-
`pling of the clock 85 from the sequencer 47 occurs. for
`example, during input and output operatiOns to allow
`data one micro-second to propagate.
`Each micro-second which is read out of the read-only
`memory 32 to the micro-instruction register 31 is cou-
`pled through a micro-nonunion bus 31a to a micro-
`instruction decoder circuit 18 which is also coupled to
`the clock line 88. The micro-instructions are decoded
`and executed before the next clock pulse is applied to
`the terminal 54 on the micro-program sequencer 47.
`Each micro-instruction is comprised of a plurality of
`separate codes called micro-orders which are each sepa-
`rately decoded to enable one of the processor elements.
`Each micro-routine stored in the micro-program
`read-Only memory 32 is terminated with a special mi-
`cro-instruction which includes a code, or micro-order,
`identified hereinafier by the mnemonic BOX or EOXS.
`When coupled to the micro-instruction decoder circuit
`48, this code causes a logic high voltage to be generated
`on an BOX line ‘9 to a priority mapper prom 50. If the
`industrial control processor 13 is in the RUN mode. the
`starting address of the FETCH micro-routine is read
`from the priority mapper prom 50 and is applied to the
`micro-sequencer 1!? through the bus 46. The micro-
`instruction decoder circuit 48 also generates a logic
`high voltage on a preset line 51 which connects to the
`load terminal 52 on the micro-program sequencer 47 to
`preset the sequencer 47 to the starting address of the
`FETCH micro-routine.
`As indicated above, the FETCH micro-routine func-
`tions to read the next macro-instruction to be executed
`from the main memory 34, couple it to the macro-
`instruction register 37, and initiate the execution of that
`macro-instruction. The last micro-instruction in the
`FETCH micro-routine includes a code which is identi—
`fied hereinafter by the mnemonic MAP. This micro-
`instrucu'on code causes the micro-instruction decoder
`circuit 48 to generate a logic high voltage to the macro-
`decoder circuit 38 through a MAP line 52 and to
`thereby initiate decoding of
`the macro-instruction
`which is stored in the macro-instruction register 37. A
`logic high voltage is also generated on the preset line 51
`to load the micro-program sequencer 4'7 with the start-
`ing address of the micro-routine called for by the de-
`coded macro-instruction.
`As shown in FIG. db, mathematical and logical oper-
`ations are performed by the industrial control processor
`13 in an arithmetic and logic processor 55 which con—
`
`5
`
`IO
`
`[5
`
`20
`
`25
`
`30
`
`35
`
`4O
`
`45
`
`50
`
`55
`
`60
`
`65
`
`PMC Exhibit 2123
`Apple v. PMC
`IPR2016-01520
`Page 25
`
`

`

`
`
`4,138,718
`
`7
`instruction decoder circuit 48 through a bus 56. Refer-
`ring particularly to FIG. 5. the arithmetic and logic
`processor 55 includes a 16-bit "L" register 57 which has
`inputs that connect to the leads in the processor data bus
`30 and a corresponding set of outputs which connect
`through a bus 58 to the “B” inputs ofa 16-bit arithmetic
`and logic unit (ALU) 59. Data on the bus 30 is clocked
`into the L register 51 when a logic high is applied to a
`lead 60 and the L register 57 is cleared when a logic
`high is applied to a lead 61. The leads 60 and 61 connect
`to the micro-instruction decoder circuit 48 through the
`bus 56 and are thus controlled by selected micro-
`instructions.
`The ALU 59 is campfised of four commercially
`available arithmetic logic units combined with a com-
`mercially available full carry look-ahead circuit to per-
`form high speed functions such as add, substract. decre-
`ment and straight transfer. The ALU 59 has a set of 16
`“A” inputs which connect directly to the leads in the
`prooessor data bus 30 and a set of four function-select
`lines 62 which connect to the micro-instruction decoder
`circuit 48 through the bus 56. In response to selected
`micro-instructions. the ALU 59 performs functions on
`data applied to its A and 8 inputs and generates the
`16-bit results to a shifter circuit 63 through a bus 64.
`Also, the ALU 59 generates signals to an ALU de-
`coder 114 which indicate when the result of a logical or
`arithmetic function is zero. all “ones,” odd, negative or
`when it causes an overflow or a carry. The existence of
`such a condition is separately tested by micro-orders, or
`codes in micro-instructions which enable the ALU de-
`coder 114 through the bus 56. The existence of the
`tested condition results in the generation of a logic high
`on a skip line 115 which connects to the decoder 48.
`The existence of an overflow condition in the ALU
`59 can also be stored in an overflow flip-flop 116 when
`a logic high is applied to its clock terminal through a
`line 117 by the decoder circuit 48. The Q output on the
`flip-flop 116 connects to the ALU decoder 114 and its
`condition can be tested by an appropriate micro-order.
`A system flag flip-flop 118 connects to the ALU de-
`coder 114 and it can be clocked in response to an appro-
`priate micro-order through a line 119 from. th

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket