Programmed digital sequence controller
United States Patent [1 1 Thuruoka et a1.  
 [ll] 3,875,564 [451 Apr. 1, 1975 1 PROGRAMMED DIGITAL SEQUENCE trix Controller, Allen-Bradley Company, April 1971.  
 CONTROLLER [75] inventors: Hisashi Thuruoka, Ome; Takashi Primary Examiner-Gareth D. Shaw Kogawa, Narashino, both of Japan Assistant Examiner-James D. Thomas Assignee: Hitachi, Ltd. Tokyo, Japan Attorney, Agent, or Frrm-Cratg &amp; Antonellr [22] Filed: Mar. 20, 1973 57 ABSTRACT [211 Appl. No.: 343,035 l A digital control apparatus, for performing the control according to programs selected according to the kind [30] Forelgn Apphcahon Pnonty Data of controlled object, comprising a plurality of read Mar.2l. I972 Japan 47-27382 only memories each storing at least one program; wherein required contents are selectively read from [52] U.S. Cl. 340/1715, 235/l5l.l l the program stored in the first one of the plurality of [51] Int. Cl G06t 15/46, GOSb 15/00 read only memories, so that an output Signal is [58] Fleld of Search 340/1725; 235/15 l .l l duced on Completion of reading so as to terminate the operation of a program counter attached to the first [56] Relerences cued read only memory; immediately after the termination UNITED STATES PATENTS of the operation of the program counter, the selection 3,275,988 9/1966 Yetter A. 340/1725 nd ading f required contents from the program 3,646,521 2/1972 Porter 340/1725 stored in the second read only memory begins; and re- 3.65l.3l4 /1 ose a /l quired contents are thus successively read from the 7 7/[973 Erwin 340/1715 programs stored in the other read only memories in 3,753.23? 3/1973 Koontz.................... 340/1725 mm in a predetermined order OTHER PUBLlCATlONS Descriptive Bulletin 1750, PMC, Programmable Ma- 9 Claims, 11 Drawing Figures I-TYTEiJTrIE H975 SEXY 2 BF 7 (\J a Ca b b m m ml]; @mrib READ ONLY READ ONLY READ ONLY MEMORY MEMORY MEMORY IQ lb -J m s Q J 7 J smnommr sEQUEMcE Cu C Cm INT SYC 8 i v M ufnfllt-llfllflfl 9G CONTROL g gg M &#39;T UNIT M MOTOR CONTROL UN 1 T IEIIIEIII II 1% ,875,564  
 if] 3 U? 7 F l G. 5  
 2- COUNTER READ ONLY I H MEMORY ONE SHOT M L S I MULTI- 23 VIBRATOR LIMIT LIMIT SWITCH SWITCH IOo Idb INT 62 G;  
 I y Gqf SYC PROGRAMMED DIGITAL SEQUENCE CONTROLLER BACKGROUND OF THE INVENTION l. Field of the Invention This invention relates to a digital control apparatus for use in control of automobile transportation or the like. and. more particularly. to a digital control apparatus in which various kinds of control programs are stored in plurality of read only memories and. when the apparatus is practically used in control of a desired automobile or the like. only the programs required for the control are selectively read to perform the control.  
 2. Description of the Prior Art In a conventional digital control apparatus. the contents of programs or data are stored in read only memories when the contents to be stored need no variation. This is because the use of read only memories is advantageous in respect of the reliability and cost of the apparatus.  
  However. it often happens that variation is required in the contents to be stored according to the kind or construction of the whole system comprising a digital control apparatus. For example. in the control of processes. railroad. air. sea and automobile transportation. and industrial robots. the contents to be stored are variant according to the kind of the controlled object. Namely. for use in automobiles. the contents to be stored are variant according to the kind of car or the type of engine thereof. and further, for use in industrial robots. according to the layout of the environment of the robots. Therefore. for example for use in an automobile. a plurality of read only memories are respectivcly required for storing variant kinds of contents predetermined according to the kind of car or the type of engine thereof. or the like. so that a great number of read only memories are required in the control apparatus usually. In addition. even ifthe model of an automobile is slightly changed. the read only memories utilized in the control apparatus are required to be reformed so as to store the suitable contents for the automobile of changed model.  
  Meanwhile. the most advantageous read only memory in respect of the cost and reliability is usually composed of a semiconductor integrated circuit by a mask technique. However. the most expensive part of the cost of the integrated circuit is occupied by the expence for making a mask having a suitable pattern according to the contents to be stored. Accordingly. it becomes very expensive to make masks respectively suitable for various kinds of read only memories according to the kind of car or the type ofengine thereof. or the like. as discussed above.  
 SUMMARY OF THE INVENTION Accordingly. an object of the present invention is to provide a digital control apparatus in which read only memories may be used in common for various kinds of controlled objects. for example automobiles or the like. while the respective designs thereof are somewhat different from one another.  
  Another object ofthc present invention is to provide a digital control apparatus comprising read only memorics which may be produced at a lower cost than the conventional read only memories.  
  To perform the above-mentioned objects. the digital control apparatus according to the present invention has a feature in that various kinds of programs determined according to. for example. the kind of car or the type of engine thereof. or the like. are stored in common read only memories and. when the control apparatus is used in control of a desired automobile. the suitable programs corresponding to the kind of the car and the type of engine thereof are selectively read out.  
  The other objects and features of the present invention will be apparatus from the following detailed description when read in conjunction with the attached drawings.  
 BRIEF DESCRIPTION OF THE DRAWING FIG. 1 is a diagram for illustrating the state of the storage of programs in the read only memories.  
  FIG. 2 is a diagram for illustrating the process of reading the stored programs from the respective read only memories.  
  FIG. 3 is a block diagram showing the structure of an embodiment of the present invention.  
  FIG. 4 is a diagram showing the structure of a machine hand system.  
  FIG. 5 is a diagram showing the connection of the control portion of the machine hand system of FIG. 4.  
  FIG. 6 is a diagram for illustrating a three-axes machine hand system.  
  FIG. 7 is a diagram for illustrating the operation sequence of the machine hand of FIG. 6.  
  FIG. 8 is a diagram for illustrating a six-axes machine hand system.  
  FIG. 9 is a diagram for illustrating the operation sequence of the machine hand system of FIG. 8.  
  FIG. 10 is a diagram showing the circuitry ofthe control portion of the machine hand system of FIG. 8.  
  FIG. II is a diagram showing the state of control by utilizing two read only memories in the control shown in FIG. 9.  
 GENERAL PART OF THE INVENTION Assume that a processing corresponding to a controlled object is performed by selecting Z programs one after another in a certain order. In this case. it is re quired to be careful not to perform any other programs provided for other controlled objects.  
  Above-mentioned Z programs are stored in advance. for example. in m read only memories as shown in FIG. 1. When those Z programs are provided for use in control of automobiles. they include various kinds of programs required for control of various kinds of automobiles.  
  In this case. a read only memory 1.. stores a program P-l consisting of plural kinds of contents from Pl, through Pl,., and a program P-(M I) consisting of plural kinds of contents from P-(M I), through P-(M 1). a read only memory 1,. stores a program P2 consisting of plural kinds of contents from P-Z, through P2.. and a program P-(M 2) consisting of plural kinds of contents from P-(M 2) through P-(M 2), and a read only memory I. stores a program PM consisting of plural kinds of contents from P-M, through PM,.,, and a program P-Z consisting of plural kinds of contents from P-Z, through mq&#39; Using the thus arranged read only memories. re quired contents are chosen from the programs P-I. P2. P-Z by selecting one after another. Such selection is performed according to the order of the programs Pl, PZ, PZ, without repeatedly using any one of the programs and also without changing the predetermined order. As aforementioned, unnecessary programs may, of course, be skipped over not to be used.  
  In the read only memories, the programs are arranged according to the order to be used. For example, in FIG. 1, since the program P(M +1) is utilized prior to the program P( M 2), the former is stored in the address of smaller number than the latter. FIG. 2 illustrates the order of the selection of the respective programs.  
  As is obvious from FIG. l, n n and m kinds of stored contents are included in the programs Pl, P2, and PZ respectively, and the stored contents of each of the programs are different one another according to the construction or kind of the controlled object. Therefore, only one kind of stored contents which is determined according to the construction or kind of the controlled object is selected from each of the programs. For example, the stored contents P l2 PL, PZ are selected from the programs P l, P--2. PZ respectively.  
  According to the present invention, a large number of combination of programs, for example it, x in; X .r n m, .r m &#39;11,, combinations, are available using m read only memories. If each of read only memories stored a single program, lots of read only memories of the same number as the above-mentioned combination of programs were required.  
 PREFERRED EMBODIMENTS OF THE INVENTION In FIG. 3 illustrating an embodiment of the present invention. program counters 2a, 2b, 2m are connected to read only memories la, lb, l/n respectively. Whenever each ofthe program counters 2a, 2b, 2m receives a pulse through the corresponding one of gates Ga, Gb, Gm the contents thereof is added by one.  
 Each of the read only memories la, lb lm produces a displacement signal 1, hereinafter to be referred to as a jump bit, on completion of reading the required contents ofa program, for example the program Pl, P-M or the like. Such jump bit J is applied to a program counter 4 through an OR gate G so that the address of the contents of the counter 4 is added by one. A stationary sequencer 5 produces control signals Cu. Cb, Cm in a predetermined manner according to the contents of the program counter 4.  
  Now. an explanation will be given about the operation of the above-mentioned apparatus embodied in FIG. 3. At first, the gate Ga is rendered open by being applied with a control signal Ca produced by the stationary sequencer 5 as well as a clock pulse t so as to set an address corresponding to the program Pl in the program counter 2a. Thus, the program Pl is read so that the control corresponding to the program P] is performed. On completion of execution of the program PI, a jump bit 1 is produced by the read only memory la to be applied to the program counter 4 through the OR gate G so that the contents of the counter 4 is added by one.  
  Then, a control signal Cb is produced by the stationary sequencer 5 to be led to the program counter 2b through the gate Gb, so that the address of the program PZ is set therein and, thus, the program PZ is read to be performed. On completion of execution of the program P2, the read only memory lb produces a jump bit .I so that this jump bit 1 is also led to the program counter 4 through the OR gate G, and therefore the contents of the counter 4 is added by one. Thus, the respective programs Pl, P2, PZ are selected to be performed in turn. Accordingly, the employment of m read only memories enables the control apparatus to perform It, n .r m kinds of control.  
  The order of the control may be determined by the stationary sequencer 5 which has m bits at most. The stationary sequencer may be composed of diode matrix or the like, and further it may also be composed oflogic circuits when the order of the control is required to follow a certain regulation, as mentioned later,  
  Next, an explanation will be given about another embodiment in which the present invention is applied to a machine hand controller.  
  FIGS. 4, 5 and 6 show the scheme of a machine or mechanized hand system. In FIG. 4, the output of a control unit 6 is applied to a motor control unit 7 so that a desired motor 8 drives corresponding control axis in response to the output of the motor control unit 7 to thereby move a movable member 9b mounted on the control axis 90 in the direction of the desired allow. Limit switches 10a and 10b which respectively indicate the stop point and the deceleration point of the machine hand are suitably mounted on the control axis 9a and the signals from the respective switches 10a and 10b are transmitted to the control unit 6. While, the control unit 6 sends out a synchronizing signal SYC undermentioned to a controlled object (not shown) and is also applied with a interlock signal INT undermentioned from the above controlled object.  
  FIG. 5 shows an example of the construction of the control unit 6 in which the orders or instruction commands read from a read only memory I are classified to be separately stored in the output fields M, L, S, and I of an output register 23. For example, the output fields M, L, S, and I respectively store orders read out which give instructions of driving or stopping the control axis 9a of FIG. 4, orders read out which give instructions of the deceleration by the limit switch 10b, orders read out which give instructions of sending out a synchronizing signal SYC, and orders read out which give instructions of pause.  
  A signal which has been read to be stored in the field M is applied to the motor control unit 7 so that the controlled axis 9a is rotated in the ordered direction to thereby displace the movable member 9b, for example in the direction of the left arrow shown in FIG. 4. If it is desired to reduce the speed of the displacement of the movable member 9b when it reaches the limit switch 10b, the deceleration order has been previously read from the read only memory 1 and stored in the field L of the output register 23. Thus, when the movable member 9b reaches the limit switch 10b, the limit switch l0b produces a signal to be applied to an AND gate G3 along with the signal from the field L of the output register 23, so that the AND gate G3 produces an output signal to be applied to the motor control unit 7. Then, the motor control unit 7 controls a desired motor 8 to be decelerated in response to the output signal of the AND gate G3. The movable member 9b continues to displace at the decelerated speed until it reaches the limit switch 10a, so that the limit switch 10a produces a signal. Thus the output signal of the limit switch a is applied to the motor control unit 7 through a gate G2 to thereby stop the revolution of the motor 8. The output signal of the gate G which orders the motor to stop its revolution is applied to an AND gate G, along with the signal from the field l of the output register 23 which stores a waiting order. Under these circumstances. if a control signal INT which orders the next control operation is applied to the gate (3, from the controlled object, an output signal NS (next signal) of the gate G, is led to a one-shot multivibrator 11 so that an output signal of the multivibrator II is applied to a program counter 2. This results in that the contents of the counter 2 is added by one to thereby read the next order from the read only memory I. In the same manner, the orders stored in the read only memory 1 are performed one after another. If it is de sired to apply a synchronizing signal SYC to the controlled object during an order being performed or after an order has been performed, a synchronizing order is read to be led into the field 8 of the output register 23.  
  Now, a particular example, wherein a machine hand is controlled by the thus arranged control apparatus. will he explained in detail.  
  FIG. 6 shows a three-axes machine hand, in which an arm 12 is controlled by three control axes. In the drawings. the reference characters A and A designate control operations to move t he arm 12 downward and upward respectively. B and B to grasp parts 14 by a grasping mechanism 13 provided at the end of the arrr i l2 and to release the same respectively, and C and C to move the arm 12 to the left and to the right respectively.  
  These control operations A, A and the like correspond to the programs Pl, P2 and the like shown in FIG. I respectively. Further, these control operation A. A and the like are performed by the respective orders which have been read to be stored in the field M of the register 23 shown in FIG. 5.  
  FIG. 7 shows the operation sequence of the arm 12 and the grasping mechanism 13 of FIG. 6.  
  Referring to FIGSv 6 and 7, the arm ]2 controlled so that it moves downward from the state shown in FIG. 6 (operation A), grasps the parts 14 on a stand 15a (operation B), comes up (operation A), moves to the left (operation C), moves downward again (operation A), puts the parts 14 on a stand 15b (operation B), comes up again (operation A) to indicate the completion of the transport of the p arts (state S and moves to the right (operation C) to indicate the state waiting next parts (state I The above sequence may be repeated according to orders. Further, the reference characters A S designate the order to send a synchronizing signal SYC to the controlled ob ect on completion of performing the control operation A, and C -I, the order to begin the next control upon receiving a control signal INT when the control operation has been completed.  
  In the machine hand control, such a reciprocating motion of a three-axes machine hand as abovementioned in a fundamental operation and a complicate operation by a machine hand having more than three axes is considered to be composed by adding some other operations to the above fundamental operation by a three-axes machine hand.  
  Referring to FIGS. 8 to 11, an explanation will be made about a six-axes machine hand system. In FIG. 8, assume that parts 14 on a stand 15a are transported to attach to a machine tool in the left side by a right arm 12a, pressed left by an auxiliary arm 12a, and detached from the machine tool 15c by the left arm 12b on completion of processing. The above control operation may be illustrated by such a sequence as shown in FIG. 9. Further, divided in two groups of operations, the sequence of the above-mentioned control operation may be illustrated as FIG. Il. Although the respective operations corresponding to the deceleration order L, the waiting order I, and the synchronizing order S are not shown in FIG. 11, such control operation may be added optionally according to the construction or layout of the controlled object. The orders L, I, and S are adapted to be stored in the above-mentioned fields L, I, and S of the output register 23 respectively.  
  If the progran 1 s correspogding to the control operations A, A, E, B, C, and C and the programs corresponding to the waiting order I, deceleration order L, and synchronizing order S are stored in one read only memory, and the programs corresponding to the control operations D, E, E, E, F, and F and the programs corresponding to the waiting order I, deceleration order L, and synchronizing order S are stored in another read only memory, such the sequence as shown in FIG. 9 may be controlled by using two read only memories. In FIG. 10, a read only memory la shows the above-mentioned one read only memory and lb the above-mentioned another read only memory. In such the read only memories la and lb, one word is composed of eight bits and two words constitute one sequence of program. The respective first words of the programs stored in the read only memory Ia include t he orders corresponding to the control operations A, A, B, B, C, and C and the deceleration orders L, and L and the respective second words of the same include the synchronizing orders 5,, S S and 5,, Waiting orders Land I and jump bit order J. These first and second words are read out to be stored in the registers 16a and 16b respectively. In the same manner, the respective first words of the programs stored in the read only memory lb include the orders corresponding to the control operations D, E, E, E, F. and F and the deceleration orders L and L and the respective second words of the same include the synchronizing orders 8,, S S and S waiting orders I and I and jump bit order .I. In this case, the first and second words are read to be stored in the registers 17a and 17b respectively.  
  In the drawings, first, a reset signal GC resets program counters 2a and 2b as well as output registers 16a, 16b, 17a and 17b.  
  When a one shot multivibrator 20 is actuated to produce a pulse in response to a step-going signal NS, the contents of the program counter 20 is added by one, while the contents of the program counter 2b is not added because of the 0&#34; level of the output Q of an operation mode flip-flop 18. At the same time, the output of the one shot multivibrator 20 is applied to a word change-over flip-flop 19 which is adapted to be inverted twice per one input pulse so as to produce two output pulses V. The output pulses V are applied to the read only memories la and 1b as well as output register change-over circuits 21 and 22. In response to the first one of the abovc-mentioned two output pulses V, the first word of program is read from the read only memory la or lb to be stored in the output registers 16a or 170, respectively, and, in response to the second pulse of the same, the second word of program is read from the read only memory la or 1 b to be stored in the output register 16b or 17]). respectively.  
  When. therefore. such an operation control as shown in FIG. 9 is aimed to be performed. the order corresponding to the control operation A is stored first of all in the register l6a in response to the first pulse of the above-mentioned output signal V. Nothing is read in response to the second pulse of the output signal because no order to be stored in the register 16h has been included in the first step. The control operation for the mortor will be then effected according to the contents of the register 16:: in the same manner as explained in conjunction with FIG. 5, and therefore the detailed explanation of which is omitted here. Thus. whenever one clock pulse is given. the program counter 2a is added by one. the flip-flop 19 produces two pulses. and the orders corresponding to the respective control operations B and A are read out so as to perform such cont ol operations in turn. On completion of the operation A. the output register 16b produces a jump bit J to set the operation flip-flop 18. This results in that the pro gram counter 2a is held in the address by Whitil the order corresponding to the control operation A has been read out. so that the program counter 2b is enabled. Thus, the control operation jumps into the sequence of the control operations D and E as shown in FIG. ll.  
  On completion of the control operation E. a jump bit J is sent out again to thereby reset the operation flipflop [8, resulting in that the programs stored in the read only memory 2a are read out to be performed. Namely, the execution of the control operation C begines.  
  As described above. the control is effected successively by utilizing the read only memories 2a and 21) alternatively whenever a jump bit .l is sent out.  
  Thus. a machine hand controller including from three to six control axes may be constructed by utilizing mere two read only memories. as shown in FIG. 10.  
  Assuming that a read only memory is provided for storing each control sequence required for each control axis without arranging programs to combine into some groups. quite a lot of read only memories will be required in this case.  
  As explained above in detail. so many control sequences can be performed by combining the contents of each program stored in a few read only memories. so that a digital control apparatus according to the present invention shows an excellent effect.  
 We claim:  
  1. Programmed digital sequence controller comprising:  
 a plurality of read only memories. each of said memories storing a plurality of programs. each of the programs including a plurality of different instruction commands which are selectively utilized to control an object.  
 a plurality of first program counters. each of said first program counters being connected to a respective read only memory for indicating the address of at least one instruction command of a predetermined program stored within said read only memory so as to read out the at least one instruction command indicated:  
 a plurality of input means. each of said input means being connected to a respective first program counter for setting the address of the at least one instruction command of the predetermined pro gram to be selected into said program counter;  
 output means connected to said read only memories for producing at least one output signal in response to the completion of reading out of at least a prede termined instruction command indicated by said first program counter; and  
 a stationary sequencer responsive to the output signal from said output means for producing signals for application to said input means and for selecting said read only memory to be addressed one after another.  
  2. Programmed digital sequence controller according to claim 1, wherein said output means includes a second program counter connected to all of the read only memories for producing an output signal upon completion of the reading out of the indicated instruction command from a respective read only memory.  
  3. Programmed digital sequence controller according to claim 1, further comprising a plurality of output reg isters. each of said output registers being connected to a respective read only memory for storing the at least one instruction command read out from the associated read only memory. and means for controlling the object in accordance with the contents of said output registers.  
  4. Programmed digital sequence controller according to claim 3, wherein said output registers are connected to said output means for providing a signal thereto upon completion of reading out of a predetermined instruction command from the associated read only memory.  
  5. Programmed digital sequence controller according to claim 3. wherein each said output registers includes a plurality of fields. each of said fields receiving at least a predetermined one of the instruction commands read out from the associated read only memory.  
  6. Programmed digital sequence controller according to claim 1, further comprising a plurality of first and second output registers. each of said first and second output registers being connected to a respective read only memory for storing predetermined instruction commands read out from the associated read only memory. and means for controlling the object in accor dance with the contents of said first and second output registers.  
  7. Programmed digital sequence controller according to claim 6, wherein each of said first and second output registers includes a plurality of fiEiLlS, each of said fields arranged for storing at least one predetermined instruction command read out from the associated read only memory.  
  8. Programmed digital sequence controller according to claim 7, further comprising switching means connected to respective first and second output registers. said switching means being responsive to said input means for selectively actuating said first and second output registers for storing the at least one instruction command read out from the associated read only memory.  
  9. Programmed digital sequence controller according to claim 8. wherein two read only memories are provided and said stationary sequencer includes a flip-flop responsive to an output signal to one of said first and second registers associated with a respective read only memory.