throbber
United States Patent [191
`Toke et al.
`
`[54] NIJMIERICAL CONTROL SYSTEM WITH
`DOWNLOADING CAPABIIJTV
`
`[75]
`
`Inventors: Ronald J. Toke. Bratenahl Village;
`William A. Donne, Mentor, both of
`Ohio
`
`glen-Bradley Coupuy. Milwaukee,
`[73] Assignee:
`13.
`[21] Appl. No.: 350,927
`
`[22] Filed:
`
`Nov. 14, I977
`
`Int. Cl} ......................... GGIEF 3/02'. G06F I3/00
`[51]
`[52] us. cl. .................................................. .. 354/200
`[58] Field of Search
`364/200 MS File. 960 MS File
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`3,626,385
`3.14-4.03l
`3.810.104
`
`Bournnn ............................. .. 364/2111
`12/19?]
`7/1913 Avery et al.
`.
`366/2|!)
`
`5/1914 Merkley
`3602!!)
`OTHER PUBLICATIONS
`
`[1 11
`
`[45]
`
`4,138,718
`
`Feb. 6, 1979
`
`Bensaude et al.—"Host Processor Control of Satellite
`
`Disk Storage".
`
`Primary £.'xam:'ner—I-(srvey E. Springborn
`Attorney. Agent, orFt‘nn—-Queries dt Brady
`
`[57]
`
`ABSTRACT
`
`A numerical control system which employs a pro-
`grammed numerical control processor to perform the
`numerical control functions is coupled to a bulk storage
`device by s host computer. The bulk storage device
`stores a download library which includes not only part
`programs, but also system software programs and diag-
`nostic programs which may be downloaded to the nu-
`merical control system upon request. By downloading a
`system software program the numerical control capabil-
`ities of the system can be completely reconfigured to. in
`essence, provide I new mnchine.
`
`IBM TDB—voI. 14. No. II, Apr. 1972, pp. 34l8-3419-
`
`9Cl.|lns,22Ih-urln¢Fisures
`
`
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 1
`
`

`
`U.S. Patent
`
`Feb. 5, 1979
`
`Sheet 1 of 21
`
`4,138,718
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 2
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 2 of 21
`
`4,138,718
`
`‘S43. 2
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 3
`
`

`
`tmt
`
`.m
`
`hmu9...omN
`
`
`SmWEN!“S.<E:o.u.....<mo._mU.m.
`I.x.D..><.Em_oE.....uu_>uo
`
`
`nd9r
`
`
`
`«mm
`
`R._<u_mm::z
`
`
`
`
`
`,m.Wm...»\m<3pxxqawfifimmommuuommwufim
`
`
`
`
`
`
`
`._oEzouH._<u:..n._s_:z.__._=
`
`s_u.$...m.
`
`.,an7..E%NJ.wuhh.4....£O.2uS_fl22:2:.
`Nen
`
`4
`
`_%m__O_m
`
`
`own9.mom.@um
`
`,22§3
`
`
`
`
` .m2H...w...m,_.»S_.
`
`u.:¢2<n<mm
`
`>¢O_2M.2
`
`Gm
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 4
`
`
`
`

`
`m
`
`9
`
`4,138,718
`
`..fiuu.E.w:.__
`
`
`.2.E......_,3VAn::::::::::IuU<.¢mwm.
`
`..mu.t.Eo_..._._._..om.—zoo
`/:.\||III|iIIII11S8....¢
`
`..\fio8zu...ex.\:::::::::::!MEm3,....a_..........--
`
`Fem.
`
`Man
`
`6.:::::::::::l
`
`"I
`
`sM“
`..a_-LMIAmm"...........2w0EIhHRUm&__
`1a“u..uxmmmmuwzalu-
`cm\mm".wow.....:.»1._m»._,mswom_,m.__m
`
`
`2m_.I..«Hm.mgmmfimms3.
`
`
`
`S“mudfl4.5.0
`
`
`
`.x..man«.59mommuuomn.
`
`5?
`
`zo_.8_..¢._.uz...o¢o<:
`
`ES.3...
`
`
`
`cup».oum
`
`4.5.0Eoamz
`
`PMC Exhibit 2075
`
`Apple v PMC
`|PR2016-00755
`
`Page 5
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 5
`
`
`
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 5 of 21
`
`4,138,718
`
`o_.5:_,:.E<
`
`commuooma
`
`4:...‘\5/any
`
`¢uxu._.__h5._.
`
`\w//
`
`cu.5_uuzma.»
`
`Ex
`
`man«:3momauuofi
`
`..\\
`
`INSTRUCTKJN
`REGISTER
`
`:<moo¢.Tozo_:
`
`>4zoéqum
`
`Eozm:
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 6
`
`
`
`
`
`
`
`

`
`U.S. Patent
`
`Feb. 6. 1979
`
`Sheet 5 of 21
`
`4,138,718
`
`+____a
`E?
`
`:._<
`
`mmoouuoW_.m
`m.mE:m
`
`L REGISTER
`
`m....._m.
`
`as
`
`mu.5_.uuu(
`
`55
`cum9
`
`xuhfloum1
`
`
`
`mu._.m_.umm_m_
`
`:3.
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 7
`
`
`
`
`
`
`
`

`
`U.S. Patent
`
`Feb. 6. 1979
`
`Sheet 7 of 21
`
`4,138,718
`
`IUT/OPU DATA _ BUS
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 8
`
`

`
`U.S. Patent
`
`Feb. 5, 1979
`
`Sheet 3 of2l
`
`4,138,718
`
`I29
`
`M0
`
`JG
`
`
`
`BINARY
`
`1:5.7
`
`B0
`
`h!fl§:2ra
`
`
`
`i
`
`I28
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 9
`
`

`
`U.S. Patent
`
`Feb. 6. 1979
`
`Sheet 9 of 21
`
`4,138,718
`
`FROM
`
`ST RT
`
`'-S-iig. BA
`
`DISABLE
`INTEFIRUPTS &
`TURN-OFF
`OUTPUTS
`
`F ETC H DOWN-
`LOAD REQUEST
`wono aauup
`T0 TRANSMIT
`SU BHOUTINE
`
`
`
`FETCH VERSION
`1.0. CHARACTER&
`JUMP TO
`TRANSMIT
`SUBROUTINE
`
`
`
`5”
`
`535
`
`526
`
`5
`
`27
`
`JUMP TO
`RECEIVE
`SUBROUTINE
`
`NEGATEG
`STORE RECORD
`SIZE AT
`"counr"
`
` lN|T1AL|ZE
`CHECKSUM
`
`IN
`B REGISTER
`
`
`
`
`
`
`52?
`
`5.30
`
`535
`
`JUMP TO
`RECEIVE
`suanourunc
`
`T0
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 10
`
`

`
`U.S. Patent
`
`Feb. 6. 1979
`
`Sheet no of 21
`
`4,138,718
`
` "3‘~ig. SB
`
`55l
`
`
`
`
`
`STORESTAHHNG
`ADDRESS or
`DOWNLOADED
`necono AT
`“ADDR"
`
`
`
`
`
` CHECK “ADDR"
`TO DETERMINE
`
`IF WITHIN
`
`COM MUNICATIONS
`PROGRAM
`
`
` INDICATE
`
`
`
`"ADDRESS ERROR"
`ON CRT 9
`
` JUMP TO
`
`RECEIVE
`
`SUBROUTINE
`
`
`
`STORE
`
`INSTRUCTION m
`
`
`MEMORY so
`
`AT LOCATION
`mnzcarco av
`“ADDR"
`
`
`
`535
`INCRE ME NT
`
`
`"A DDR" G"COUNT"
`
`£- UPDATE
`
`CHECKSUM
`AC CUMMULATOR
`
` 536
`
`PMC Exhibit 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 11
`
`
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 11
`
`

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

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 12 or 21
`
`4,138,718
`
`.E:...Eu..z_
`
`ZO_.—.¢On_
`
`no
`
`oxaonrux
`
`uz_._._..o¢
`
`..._:m¢m.—z_
`
`zo_....__o..
`
`no
`
`munquzmach
`
`u2_._.30¢
`
`.5
`
`uo.>cum
`
`M2330:
`
`zezqzomaopmum
`
`
`
`m=»<.E.:..._z_
`
`no
`
`
`
`.o.mo.>uaozmzum
`
`pzcnzumuo
`
`u¢<;._Lom
`
`
`
`uz.:u.iEbouxu
`
`muoiua
`
`oz_._.<¢u..._omo
`
`
`
`«:55._.:oE.3O
`
`zo_»«._o._¢u.:.._
`
`uz..5o¢n:m
`
`3..
`
`92
`
`#9
`
`
`
`mt
`
`
`
`02301oxoqm
`
`mmzzbom
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 13
`
`
`
`
`
`
`
`

`
`
`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 13 of 21
`
`4,138,718
`
`‘$13. 10
`
`
`
`INITIALIZE
`FOR NEW
`PROGRAHI
`
`
`
`
`
`MODE
`
`?
`
`MRNUAL
`
`UPDATE
`
`CRT
`
`DISPLAY
`
`PMC Exhibit 2075
`
`
`
`EXECUTE
`ROUTINE
`
`
`CALL BLOCK
`
`
`
`DECODE
`
`AND SET UP
`
`
`
`
`
`
`
`Apple v. PMC
`|PR2016-00755
`
`Page 14
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 14
`
`

`
`US. Patent
`
`Feb-. 6, 1979
`
`Sheet 14 of21
`
`4,138,718
`
`
`
`
`
` BLOCK
`EXECUTE
`
`ROUTINE
`
`SET UP
`BLOCK
`EXECUTION
`FLAGS
`
`YES
`
`
`
`INITIAUZ
`
`#56 II DATA
`
`BUFFERS
`
`BLOCK
`‘DELETE
`
`?
`
`R ES ET
`
`EXCHANGE
`
`STATE OF
`pggwoug
`amcx
`
`
`
`-ICTIVE AND
`TEMPORARY
`BUFFER POINT =‘
`
`
`
`
`
`PMC Exhibit 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 15
`
`‘5~1'c5. HA
`
`
`
`#436 II DATA
`
`BLOCK
`
`RELEASE
`
`
`
`
`
`
`
`
`
`
`EXECUTE
`PRELUDE
`Fuucnous AND
`flA|(E BLOCK
`ACTIVE
`
`
`
`UPDATE
`POINTERS
`TO NEXT
`BLOCK
`
`ENABLE
`INTERPOLATION
`
`SET UP
`
`NEXT
`
`BLOCK
`
`
`
` INITIATE
`TAPE REQDER
`IF STORAGE
`AVAILABLE
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 15
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 15 of 21
`
`4,138,718
`
`@
`
`%Ic_-5. 11B
`
`
`
`UPDATE
`
`CRT
`CRT
`
`DISPLAY
`DISPLAY
`
`
`
`
`
`UPDATE
`
`
`
`BLOCK END
`POINT
`
`YES
`
`YES
`
`60¢
`MODE
`?
`
`NO
`
`
`
`E X EC UTE
`
`POST LU DE
`
`
`
`FUNCTIONS
`
`
`OFFSETS
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 16
`
`

`
`US. Patent
`
`Feb. 6, 1979
`
`Sheet 16 of 21
`
`4,138,718
`
`
`
`|O.24
`MSEC.
`INTERRUPT
`
`
`'5-2.5. 12A
`
`SAVE
`
`ALL
`
`INTERRUPT
`
`'
`
`I
`
`YES
`
`REGISTERS
` IO IISE
`
`NO
`
`RESET
`PRELUDE B
`POSTLUDE
`FLAGS
`
`
`SERVO‘
`IIECHANISN
`
`
`SERVICE
`
`
`
`I64-
`
`Il CODE
`I56
`FLAG S EXECUTE
`
`STATUS OF
`SENSING
`DEVICES
`
`
`CLEAR
`VARIOUS
`BLOCK DATA
`
`IE7
`
`MACHINE
`DEPENDQNT
`SOFTWARE
`ROUTINE
`
`INTERPOLATION
`
`
` OUTPUT
`
`STATUS OF
`OPERATING
`DEVICES
`
`
`
`I94
`
`
`
`PMC Exhibit 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 17
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 17
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 17 of 21
`
`4,138,718
`
`@
`
`‘Sig. 123
`
`END
`OF B;.OCK
`
`"0
`
`'55
`
`
`
`RESET
`POSTLUDE
`FL$
`
`ANY
`STOP
`CODES
`? YES
`
`REQUEST
`
`CYCLE
`
`STOP
`
`V53
`
`EMERGENCY
`STOP
`?
`
`
`
` TURN ON
`
`PROGRhH
`
`STOP FLAG
` EMERGENCY
`STOP
`PROC ESSOR
`
`
`
`
`Eon
`STOP
`
`?
`
`SUBROUTINE
`
`EXIT REGISTERS
`
`SET TIMED
`INTERRUPT
`FLAG T0
`NOT BUSY
`
`RESTORE
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 18
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 18 of 21
`
`4,138,718
`
`‘Sig. ISA
`
`5|B
`
`5L5
`
`514
`
`5'2-
`
`Fgogw
`
`
`
`ab
`
`DISSABLE
`INTERRUPTS
`TUFIN OF
`OUT PUT DEV ICES
`
`
`
`
`
`
`
` RECEIVE
`
`REPLY FROM
`HOST COMPUTER
`AND DISPLAY ON
`CRT 9
`
`
`
`DISPLAY
`“READY”
`
`ON CRT 9
`
`
`
`INPUT COMMAND
`TRANSMIT
`'
`FROM
`COMMAND
`KEYBOARD 7
`TO HOST
`
`COM PUTER
`
`
`
`
`
`
`
` "suauon"
`COMMAND?
`
`5|?’
`
`
`
`
`'mGNoFF"
`COMMAND?
`
`
`
`
`
`DISPLAY
`
` DOW NLOAD
`COMMAND 7.’
`
` ON CRT 9
`
`YES
`
`PMC Exhibit 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 19
`
`
`
`SZI
`
`TRANSMIT
`DOWNLOAD
`COMMAND TO
`
`HOST COMPUT ER
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 19
`
`

`
`U.S. Patent
`
`Feb. 5, 1979
`
`Sheet 19 of 21
`
`4,138,718
`
`REPLY FROM
`
`HOST COMPUTER
`AND DISPLAY
`
`
`
` RECBVE
` 522.
`
`
`IT ON CRT9
`
`
`
`'5."-‘.3
`
`
`
`
`
`TYPE "1"
`
`
`
`CODE
`
`REPLY
`
`
` JUMP TO
`
`
`‘1oAo2" OF
`
`RESIDENT
`
`?
`
`
`
`
`
`commumcnrnous
`PROGRAM
`
`"5~I<5. 13B
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 20
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 20 of 21
`
`4,138,718
`
`‘$13. 14-
`
`REQUEST
`FROM NC
`ACHINE
`
`
`
`
`
`REC EIVE AND
`
`STORE MACHINE
`
`
`IDENTIFICATION
`
`
`
`
`TRANSMIT
`
`
`"BUSV"
`nscawg AND
`
`'*"555“‘5E
`STORE FILE
`
`T0 NC
`N
`no TYPE
`
`AME A
`MACHINE
`
`
`
`
`
`
`
` TRANSMIT
`
`ANY
`
`SECURITY
`ERROR
`REQUEST
`FROM NC
`CLE)?\FIED
`MESSAGE TO
`
`MACHINE
`NC MACHINE
`
`
`
`
`
`
`
`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 2075
`Apple v. PMC
`IPR2016-00755
`Page 21
`
`

`
`U.S. Patent
`
`Feb. 6, 1979
`
`Sheet 21 of 21
`
`4,138,718
`
`.
`$13‘ 15
`
`RESHDENT
`COMMUNICATIONS
`PROGRAM (I28 LINES}
`
`HIGHEST 4K MEMORY ADDRESS
`
`00000
`
`551
`
`
`
`READ/WRITE
`
`MEMORY
`
`G-lg. 16
`
`PMC Exhibit 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 22
`
`
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 22
`
`

`
`1
`
`4,133,718
`
`NIJMERICAL CONTROL SYSTEIVI WITH
`DOWNLOADING CAPABILITY
`
`BACKGROUND OF 'I'I-[E 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 U.S. 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 otter 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 ma.cl1i.ne
`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-
`ator to select a system program from the download
`
`15
`
`2.0
`
`25
`
`45
`
`60
`
`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 advantagw 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 :1 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
`
`FIG. I is a perspective View of the system of the
`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. -to;
`FIG. 7 is a schematic diagram of the priority encoder
`circuit which forms part of the industrial control pro-
`cessor of FIG. 40;
`FIGS. 811-: are a flow chart of the resident communi-
`cations program which 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-
`0173
`FIG. II] is a flow chart of the main controller routine
`which forms part of the software system of FIG. 9;
`FIGS. 11a and uh is a flow chart of the block exe-
`cute routine which forms part of the software system of
`FIG. 9,
`FIGS. 12:! and 12b is a flow chart of the ten millisec-
`ond timed interrupt routine which forms pa.rt of the
`software system of FIG. 9;
`FIGS. 13:: 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
`s multi-function machine tool with automatic tool
`changer 3. The numerical control system controls the
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`Page 23
`
`

`
`4,138,718
`
`10
`
`3
`motion of a cutting tool 4 along two or more sites 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 instnictions through a
`keyboard 7. When this control program is executed the
`systeln operates as a programmable controller to selec-
`tively sense the status of the particular input device 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 amociatcd cathode ray tube
`(CRT) display 9. Mounted to the right of the keyboard
`7 and CRT display 9 is a main control panel 10 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 pushhuttons 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
`maint-enance.Thckcyboard7ismountcdtothecabinet
`door 11 along with the tape reader 5. CRT display 9 and
`main control panel 10. A secondary control panel 12
`mounts inmtcdiately above the tape reader 5 and all of
`these system I./0 devices are connected to a numerical -15
`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 7 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 pusltbuttons and visual
`indicators which relate to the operation ofthe procmor
`I3 and which are connected thereto through a bus 21.
`Two input/output (l/O) interface racks 20 and 21 are
`mounted in the cabinet 1 above the processor 13 and are
`oonncctcd thereto by a wiring harn 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-
`
`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
`input 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
`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 fcedback 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 501 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 proces-
`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/'1" 502
`which connects to an I/O port on a computer processor
`550. The processor 550 is coupled to a read.’write mem-
`ory 551 through a bus 552 and a bull: 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 551 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 Sill. which in turn reads the selected part
`program or numerical control system software package
`out of the bulk storage 50'! 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 nuinerical control aottware system package
`which can be downloaded from the bulk storage 507 to
`the memory 34, 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 7360 B and it is described in detail in U.S.
`Pat. No. 4,038,533.
`Referring particularly to FIGS. Ga 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 processor to another through
`this data bus 30 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 2075
`
`Apple v. PMC
`|PR2016-00755
`
`Page 24
`
`
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`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 nano-seconds through a bus 33
`to the micro-instruction register 31. The read-only
`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 -1-K by 1 dy-
`namic MOS RAMS which are organized to store up to
`32.000 I6-bit words. Macro-instructions and data are
`read out of and written into the main memory 34
`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 34, an
`address is first loaded into the memory sddras register
`36 by applying a logic high voltage to its clock lead 29.
`The data to be loaded appears on the processor data bus
`3|] and is gated through the memory data register by
`applying a logic high voltage to its data in clock lead 21.
`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—in-struction is read from the main memory 34
`and coupled to a 16-bit macro-instruction 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 ooupied through an instruction register bus
`39 to a macro-decoder circuit 38, and other instructions
`also include a bit pointer code which is coupled through
`the same instruction register bus 39 to a bit pointer
`circuit 40. 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 respective 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 processor data bus 30 to a logic low voltage.
`The bit pointer circuit 40 facilitates the execution of
`certain programmable controller type macro-instruo
`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
`
`6
`the mapper proms -62-45 stores a twelve-bit rnicr0-rou-
`tine starting address, which when read out, is coupled
`through a micro-program address bus 46 to preset a
`twelve-bit micro-program sequencer 47. The sequencer
`47 is a presettable counter which includes a load tenni-
`nal 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 I6. Each time a logic high clock pulse is
`applied to the terminal 54 on the micro-program se-
`quencer 47, it is either preset to an address which ap-
`pears on the bus 46 or it is incremented one count. Con-
`currently. the micro-instruction register 31 is clocked
`through a line 8! and AND gate 88' to read and store
`the micro-instruction which is addressed by the micro-
`program sequencer 41'. The AND gates 86 and 88 can
`be disabled in response to selected codes in a micro-
`instruction to decouple the 5 ml-Iz 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-instruction 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 fipplied 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 or the processor elements.
`Each micro-routine stored in the micro-program
`read-only memory 32 is tenninated with a special mi-
`cro-instruction which includes a code, or micro-order,
`identified hereiuafier 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 49 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 47 through the bus 46. The n1icro-
`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-
`instruclion 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. 46, mathematical and logical oper-
`ations are performed by the industrial control processor
`13 in an arithmetic and logic processor 55 which con-
`nects to the processor data bus 30 and to the micro-
`
`5
`
`10
`
`I5
`
`20
`
`25
`
`30
`
`35
`
`4-0
`
`45
`
`50
`
`55
`
`60
`
`65
`
`PMC Exhibit 2075
`Apple v. PMC
`IPR2016-00755
`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 "13" inputs ofa I6-bit arithmetic
`and logic unit (ALU) 59. Data on the bus 31] is clocked
`into the L register 51 when a logic high is applied to a
`lead 60 and the L register 51' 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 comprised 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
`processor 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 sliifter 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 temiinal 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 the micro-
`

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