[go: up one dir, main page]

EP0099733A2 - Method and apparatus for creating NC programs - Google Patents

Method and apparatus for creating NC programs Download PDF

Info

Publication number
EP0099733A2
EP0099733A2 EP83304101A EP83304101A EP0099733A2 EP 0099733 A2 EP0099733 A2 EP 0099733A2 EP 83304101 A EP83304101 A EP 83304101A EP 83304101 A EP83304101 A EP 83304101A EP 0099733 A2 EP0099733 A2 EP 0099733A2
Authority
EP
European Patent Office
Prior art keywords
numerical control
machine element
movable machine
control program
control data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP83304101A
Other languages
German (de)
French (fr)
Other versions
EP0099733A3 (en
EP0099733B1 (en
Inventor
Ryoichiro Nozawa
Kiya Nobuyuki
Motoaki Yoshino
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of EP0099733A2 publication Critical patent/EP0099733A2/en
Publication of EP0099733A3 publication Critical patent/EP0099733A3/en
Application granted granted Critical
Publication of EP0099733B1 publication Critical patent/EP0099733B1/en
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35262Macro instruction, canned cycles, subroutines, subprogram
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36043Correction or modification of program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50048Jogging

Definitions

  • This invention relates to a method and apparatus for creating numerical control (NC) programs.
  • a known method of creating an NC program includes steps of placing an NC device in a playback mode (teach mode), transporting a movable machine element such as a table or tool to a desired position by a manual operation, keying in an address word X, Y or Z at said position for specifying an axis (the address word being a letter of the alphabet for specifying the nature of a numerical value which follows the address word), subsequently pressing an INSERT key for creating NC data XPx, YPy, ZPz using the present position (Px, P y, Pz) of the movable machine element, namely the position at which the element is located when the key is pressed, storing the NC data in an NC program (part program) storage area, and repeating the foregoing steps to create an NC program comprising plural items of NC data.
  • NC data created by the conventional method is primarily position command data. Accordingly, when it is desired to bore equidistantly spaced bolt holes at (n+l)-number of positions Ao, Al,..., An on a prescribed straight line Ln, as shown in Fig. 1, the operator must undertake the troublesome task of teaching each one of the positions Ao, Al,..., An. Even more work is required when the pattern shown in Fig. 1 is included in a single NC program at several locations, for the operator must then teach the aforementioned positions each time.
  • a user macro (also referred to as a custom macro) is a function, composed of a group of instructions, that is previously registered in memory just as a subprogram would be.
  • the registered function is represented by a single instruction inserted in the NC program in advance, and the operation specified by the function is executed when the instruction, referred to as a macro call instruction, is eventually read from the numerical control program.
  • the chief advantages of the user macro are (a) variables can be used in the macro, (b) arithmetic operations among the variables are possible, these being referred to as inter-variable calculations, and (c) the variables can be set to actual numerical values.
  • Fig. 2 is an explantory view useful in describing the relation between an ordinary NC prqgram, indicated at numeral 1, and a user macro shown at numeral 2.
  • a user macro call instruction has been inserted in the NC program at a suitable location.
  • the instruction is given by:
  • the user macro 2 having the user macro identification P ⁇ is programmed to have an instruction for forming bolt holes in a workpiece at (n+1)-number of equidistantly spaced positions Ao, Al, A2,...
  • An instruction M99 is inserted at the end of the user macro to effect the return to the NC program 1.
  • the numerical control device calls the user macro 2 corresponding to the macro identification P c c ⁇ and executes processing for the machining of the bolt holes shown in Fig. 1 by setting the variables #100, #101, #102, #103, #104 in the user macro to values specified in the call instruction.
  • the NC device reads M99 and returns to processing based on the NC program 1.
  • NC machining processing conforming to predetermined patterns can be executed by previously registering a number of user macros in a memory, and inserting the user macro call instruction G65 in the NC program, followed by the user macro identification and the values which specify the variables.
  • the above-described user macro function is extremely useful because a machine tool can be made to perform operations tailored to the particular needs of the user, and because programming is simplified.
  • the conventional NC data creating method using a playback (teach) mode is basically confined to the creation of position command data, so that it has not been possible with this method to incorporate a pattern playback function, using the increasingly popular subprograms and user macros, in an NC program. Consequently, there is a limitation upon processing efficiency in the conventional method of creating an NC program using the playback (teach) mode.
  • NC data can be modified simply and new NC data inserted in a playback (teach) mode, and in which a pattern playback function can be readily incorported in an NC program.
  • An embodiment of the present invention can be made to provide a method and apparatus for creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program.
  • the method includes transporting the movable.machine element to a prescribed position on the basis of numerical control program data already created, selecting a teach mode, positioning the movable machine element manually at a newly taught position, and either modifying the numerical control program data based on the present position of the movable machine element, or inserting new numerial control data,-by pressing a key corresponding to at least one of the address words X, Y, Z indicating axes of movement, followed by pressing a modification key, or by pressing the key corresponding to the address word followed by pressing a numerical data insertion key.
  • a central processor CPU for executing NC data creation processing, described later, when a mode selection switch on an operator's panel OPN is set to the playback (teach) mode.
  • Jog feed buttons PJX, NJX, PJY, NJY are provided on the operator's pendant OPN for performing a jog-feed along the X axis in the positive and negative directions and along the Y axis in the positive and negative directions, respectively.
  • Pressing a jog button in the playback mode causes a corresponding AND gate PGX, NGX, PGY, or NGY to open, so that pulses Ps generated by a pulse generator PGC are delivered as +X, -X, +Y, -Y manual feed pulses PX, NX, PY, NY, respectively.
  • the pulses PX, NX enter an adder CPX and a reversible counter RCX
  • the pulses PY, NY enter an adder CPY and a reversible counter RCY.
  • the adder CPX adds the pulses PX, NX and applies the resulting pulse train to an X-axis servo unit XSU for driving an X-axis motor XM.
  • the adder CPY adds the pulses PY, NY and applies the resulting pulse train to a Y-axis servo unit YSU for driving a Y-axis motor YM.
  • a pulse coders PCX, PCY issue a single feedback pulse PFX, PFY, respectively, these being fed back to the respective X-and Y-axis servo units XSU, YSU.
  • Each servo unit controls the corresponding motor in such a manner that the difference between the number of pulses input thereto and the number of feedback pulses approaches zero.
  • the manual pulses are applied to the reversible counters RCX, RCY, which serve as X- and Y-axis present position counters, respectively.
  • the +X and -X manual pulses PX, NX are applied to the upcount (+) and downcount (-) terminals, respectively, of the reversible counter RCX
  • the +Y and -Y manual pulses PY, NY are applied to the upcount (+) and downcount (-) terminals, respectively, of the reversible counter RCY.
  • the reversible counter RCX is counted up each time a +X manual pulse PX is generated, and is counted down each time a -X manual pulse NX is generated, so that the contents of the counter will always indicate the present position along the X axis.
  • the reversible counter RCY is counted up each time a +Y manual pulse PY is generated, and is counted down each time a -Y manual pulse NY is generated, so that the contents of the counter will always indicate the present position along the Y axis.
  • a movable machine element is manually positioned at a desired position Pl, the coordinates whereof are x l , y l .
  • the operator goes to the manual data input unit MDI (Fig. 4) and presses the following keys in the order mentioned: "X”, “INSRT”, “Y”, “INSRT”, “;”.
  • the central processor CPU responds by using the present position (x l , y 1 ), stored in the reversible counters RCX, RCY, to create the NC data Xx 1 , Yy l , the latter then being stored in a part program memory PPM.
  • the operator uses the manual data input unit MDI to produce n-number of equidistantly spaced bolt holes on the straight line Ln.
  • the operator enters G65 P ⁇ ⁇ , causing the CRT of the MDI unit to display the user macro variables indicated by the macro identification P ⁇ , and in addition, to display the particular pattern as shown in Fig. 4 whenevever necessary.
  • the operator selects the variable #100 for which a value is to be set, and presses the "X" key and then the "INPUT” key on the MDI unit, whereby the variable having variable number #100 is specified by the present position along the X axis.
  • This is followed by selecting the variable number #101 and pressing the " Y " key and then the "INPUT” key to specify the variable having variable number #101 by the present position along the Y axis.
  • the movable machine element is manually positioned at the point Pe (Fig. 1).
  • the operator selects the variable number #102 for which a value is to be set, and presses the "X" key and then the "INPUT” key on the MDI unit, whereby the variable having variable number #102 is specified by the present position along the X axis.
  • This is followed by selecting the variable number #103 and pressing the "Y” key and then the "INPUT” key to specify the variable having variable number #102 by the present position along the Y axis.
  • the operator selects the variable number #104 and enters a partitioning number n. This creates a user macro for playing back the pattern shown in Fig. 1, and stores the user macro in the part program memory PPM.
  • an automatic running mode is selected by the mode changeover switch on the operator's panel OPN. This is followed by pressing a cycle start button, which will cause the central processor CPU to call instructions from the part program memory PPM one at a time and to execute numerical control processing based on these instructions.
  • a cycle start button which will cause the central processor CPU to call instructions from the part program memory PPM one at a time and to execute numerical control processing based on these instructions.
  • a X, pY are computed and applied to a pulse distributor PDC. The latter performs a pulse distribution computation based on ⁇ X and ⁇ Y, thereby producing distributed pulses XP, YP that are applied to the X- and Y-axis servo units XSU, YSU, respectively.
  • the servo units XSU, YSU drive the motors XM, YM into rotation, thereby transporting the movable machine element, such as the table or tool.
  • the central processor CPU reads a user macro call instruction out of the part program memory PPM
  • the processor goes to a user macro memory UMM and reads out the user macro specified by the user macro identification in the user macro call instruction.
  • the variable numbers #100 through #104 in the user macro are then replaced by the values indicated in the part program. NC processing thus is performed in accordance with the pattern shown in Fig. 1..
  • the movable machine element is moved along the solid-line path in Fig. 5 up to point C.
  • the operator selects the teach mode by the the mode changeover switch and then proceeds to position the element at point D' by manual feed.
  • the NC program shown in Fig. 6(A) is displayed on the CRT of the manual data input unit MDI.
  • the operator therefore positions a cursor at the portion (a) displayed on the CRT screen and presses keys "Y", "ALTER” in the order mentioned, these keys being located on the MDI unit.
  • This causes the NC data at sequence number N50 to be altered from "X6.0 Y6.0;” to "X6.0 Y8.0;", as shown in Fig. 8(B).
  • the commanded value along the Y axis is modified by replacing 6.0 with the Y-axis present position (Y coordinate) 8.0 stored in the reversible counter RCY.
  • the operator then positions the machine element at the point E' by the manual feed operation and brings the cursor to the portion (b) displayed on the CRT screen.
  • the operator keys in a sequence number, e.g, N55, and presses the "INSRT” key to enter sequence number. This is followed by pressing the keys "X”, “INSRT” (insert), "Y”, “INSRT”, “EOP” (end of block) and "INSRT” in the order mentioned, using the MDI unit.
  • NC data "N55 X8.0 Y6.0;” is created using the present position, i.e., coordinates, (8.0, 6.0) of the point E', and the data is inserted between sequence numbers N50 and N60, as shown in Fig. 6(B).
  • the operator positions the cursor at (c), selects the automatic mode by means of the mode changeover switch, and presses the cycle start button. This will cause the old NC program shown in Fig. 6(A) to be modified into the new NC program data shown in Fig. 6(B). Since NC data can thus be partially modified and supplemented according to a feature of the present invention, it is no longer necessary to teach all of the points A, B, C, D', E' and F, as opposed to the prior art.
  • an NC program can be partially modified and supplemented, and a pattern playback function can be inserted in the NC program. This makes it very simple to create an NC program in the playback or teach mode.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Disclosed are a method and apparatus for creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program. The method includes transporting the movable machine element to a prescribed position on the basis of numerical control program data already created, selecting a teach mode, positioning the movable machine element manually at a newly taught position, and either modifying the numerical control program data based on the present position of the movable machine element, or inserting new numerical control data, by pressing a key corresponding to at least one of the address words X, Y, Z indicating axes of movement, followed by pressing a modification key, or by pressing the key corresponding to the address word followed by pressing a numerical data insertion key.

Description

  • This invention relates to a method and apparatus for creating numerical control (NC) programs.
  • A known method of creating an NC program includes steps of placing an NC device in a playback mode (teach mode), transporting a movable machine element such as a table or tool to a desired position by a manual operation, keying in an address word X, Y or Z at said position for specifying an axis (the address word being a letter of the alphabet for specifying the nature of a numerical value which follows the address word), subsequently pressing an INSERT key for creating NC data XPx, YPy, ZPz using the present position (Px, Py, Pz) of the movable machine element, namely the position at which the element is located when the key is pressed, storing the NC data in an NC program (part program) storage area, and repeating the foregoing steps to create an NC program comprising plural items of NC data.
  • While the foregoing method is convenient in view of the fact that programming is unnecessary, difficulties are encountered when modifying a portion of the created NC data or when adding new NC data. Furthermore, NC data created by the conventional method is primarily position command data. Accordingly, when it is desired to bore equidistantly spaced bolt holes at (n+l)-number of positions Ao, Al,..., An on a prescribed straight line Ln, as shown in Fig. 1, the operator must undertake the troublesome task of teaching each one of the positions Ao, Al,..., An. Even more work is required when the pattern shown in Fig. 1 is included in a single NC program at several locations, for the operator must then teach the aforementioned positions each time.
  • The method adopted most widely for creating numerical control programs in recent numerical control systems relies upon a subprogram such as a user macro function. A user macro (also referred to as a custom macro) is a function, composed of a group of instructions, that is previously registered in memory just as a subprogram would be. The registered function is represented by a single instruction inserted in the NC program in advance, and the operation specified by the function is executed when the instruction, referred to as a macro call instruction, is eventually read from the numerical control program. The chief advantages of the user macro are (a) variables can be used in the macro, (b) arithmetic operations among the variables are possible, these being referred to as inter-variable calculations, and (c) the variables can be set to actual numerical values.
  • Fig. 2 is an explantory view useful in describing the relation between an ordinary NC prqgram, indicated at numeral 1, and a user macro shown at numeral 2. It will be seen that a user macro call instruction has been inserted in the NC program at a suitable location. The instruction is given by:
    Figure imgb0001
    The user macro 2 having the user macro identification P□□···□ is programmed to have an instruction for forming bolt holes in a workpiece at (n+1)-number of equidistantly spaced positions Ao, Al, A2,... An located on a straight line Ln connecting a starting point Ps(#100, #101) and an end point Pe(#102, #103), as shown in Fig. 1, the number n+1 being specified by a variable #104. An instruction M99 is inserted at the end of the user macro to effect the return to the NC program 1.
  • When the user macro call instruction given by (1) shown above is read during the course of processing executed based on the NC program, the numerical control device calls the user macro 2 corresponding to the macro identification Pc c □···□ and executes processing for the machining of the bolt holes shown in Fig. 1 by setting the variables #100, #101, #102, #103, #104 in the user macro to values specified in the call instruction. After completing the machining processing, the NC device reads M99 and returns to processing based on the NC program 1.
  • Thus, NC machining processing conforming to predetermined patterns can be executed by previously registering a number of user macros in a memory, and inserting the user macro call instruction G65 in the NC program, followed by the user macro identification and the values which specify the variables.
  • The above-described user macro function is extremely useful because a machine tool can be made to perform operations tailored to the particular needs of the user, and because programming is simplified.
  • As mentioned above, the conventional NC data creating method using a playback (teach) mode is basically confined to the creation of position command data, so that it has not been possible with this method to incorporate a pattern playback function, using the increasingly popular subprograms and user macros, in an NC program. Consequently, there is a limitation upon processing efficiency in the conventional method of creating an NC program using the playback (teach) mode.
  • It is desirable
    to provide a method and apparatus for creating an NC program in which NC data can be modified simply and new NC data inserted in a playback (teach) mode, and in which a pattern playback function can be readily incorported in an NC program.
  • An embodiment of the present invention can be made to provide a method and apparatus for creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program. The method includes transporting the movable.machine element to a prescribed position on the basis of numerical control program data already created, selecting a teach mode, positioning the movable machine element manually at a newly taught position, and either modifying the numerical control program data based on the present position of the movable machine element, or inserting new numerial control data,-by pressing a key corresponding to at least one of the address words X, Y, Z indicating axes of movement, followed by pressing a modification key, or by pressing the key corresponding to the address word followed by pressing a numerical data insertion key.
  • Reference will now be made, by way of example, to the accompanying drawings, in which:
    • Fig. 1 is a diagram of a pattern capable of being programmed by a subprogram or user macro;
    • Fig. 2 is an explanatory view for describing the relationship between an ordinary NC program and a user macro;
    • Fig. 3 is a block diagram illustrating an embodiment of an apparatus for creating an NC program according to the present invention;
    • Fig. 4 is a view useful in describing an manual data input (MDI) unit; and
    • Figs. 5 and 6 are views useful in describing the modification and addition of NC data according to the present invention.
  • With reference to Fig. 3 illustrating an embodiment of the present invention, there is shown a central processor CPU for executing NC data creation processing, described later, when a mode selection switch on an operator's panel OPN is set to the playback (teach) mode. Jog feed buttons PJX, NJX, PJY, NJY are provided on the operator's pendant OPN for performing a jog-feed along the X axis in the positive and negative directions and along the Y axis in the positive and negative directions, respectively. Pressing a jog button in the playback mode causes a corresponding AND gate PGX, NGX, PGY, or NGY to open, so that pulses Ps generated by a pulse generator PGC are delivered as +X, -X, +Y, -Y manual feed pulses PX, NX, PY, NY, respectively. The pulses PX, NX enter an adder CPX and a reversible counter RCX, and the pulses PY, NY enter an adder CPY and a reversible counter RCY. The adder CPX adds the pulses PX, NX and applies the resulting pulse train to an X-axis servo unit XSU for driving an X-axis motor XM. Likewise, the adder CPY adds the pulses PY, NY and applies the resulting pulse train to a Y-axis servo unit YSU for driving a Y-axis motor YM. Whenever the X- and Y-axis motors XM, YM rotate by a predetermined amount, corresponding pulse coders PCX, PCY issue a single feedback pulse PFX, PFY, respectively, these being fed back to the respective X-and Y-axis servo units XSU, YSU. Each servo unit controls the corresponding motor in such a manner that the difference between the number of pulses input thereto and the number of feedback pulses approaches zero.
  • Concurrently, as described above, the manual pulses are applied to the reversible counters RCX, RCY, which serve as X- and Y-axis present position counters, respectively. Specifically, the +X and -X manual pulses PX, NX are applied to the upcount (+) and downcount (-) terminals, respectively, of the reversible counter RCX, and the +Y and -Y manual pulses PY, NY are applied to the upcount (+) and downcount (-) terminals, respectively, of the reversible counter RCY. The reversible counter RCX is counted up each time a +X manual pulse PX is generated, and is counted down each time a -X manual pulse NX is generated, so that the contents of the counter will always indicate the present position along the X axis. Likewise, the reversible counter RCY is counted up each time a +Y manual pulse PY is generated, and is counted down each time a -Y manual pulse NY is generated, so that the contents of the counter will always indicate the present position along the Y axis.
  • Through the foregoing series of operations, a movable machine element is manually positioned at a desired position Pl, the coordinates whereof are xl, yl. Following positioning, the operator goes to the manual data input unit MDI (Fig. 4) and presses the following keys in the order mentioned: "X", "INSRT", "Y", "INSRT", ";". The central processor CPU responds by using the present position (xl, y1), stored in the reversible counters RCX, RCY, to create the NC data Xx1, Yyl, the latter then being stored in a part program memory PPM.
  • The foregoing steps are repeated in like fashion to create items of NC data and store the NC data in the part program memory. After the movable machine element is positioned at a prescribed point, such as the point Ps in Fig. 1, a user macro call instruction is inserted
  • for producing n-number of equidistantly spaced bolt holes on the straight line Ln. Specifically, using the manual data input unit MDI, the operator enters G65 P□ □···□, causing the CRT of the MDI unit to display the user macro variables indicated by the macro identification P□□···□, and in addition, to display the particular pattern as shown in Fig. 4 whenevever necessary. Next, the operator selects the variable #100 for which a value is to be set, and presses the "X" key and then the "INPUT" key on the MDI unit, whereby the variable having variable number #100 is specified by the present position along the X axis. This is followed by selecting the variable number #101 and pressing the "Y" key and then the "INPUT" key to specify the variable having variable number #101 by the present position along the Y axis.
  • Upon completing the foregoing steps, the movable machine element is manually positioned at the point Pe (Fig. 1). The operator then selects the variable number #102 for which a value is to be set, and presses the "X" key and then the "INPUT" key on the MDI unit, whereby the variable having variable number #102 is specified by the present position along the X axis. This is followed by selecting the variable number #103 and pressing the "Y" key and then the "INPUT" key to specify the variable having variable number #102 by the present position along the Y axis. Finally, the operator selects the variable number #104 and enters a partitioning number n. This creates a user macro for playing back the pattern shown in Fig. 1, and stores the user macro in the part program memory PPM.
  • Thus, unlike the conventional method which requires the teaching of n+1 points, only two points and the partitioning number need be commanded according to the present invention, thereby facilitating the operator's task.
  • The foregoing operations are repeated in the same manner to create and store the desired part program in the part program memory.
  • Following the completion of the part program, an automatic running mode is selected by the mode changeover switch on the operator's panel OPN. This is followed by pressing a cycle start button, which will cause the central processor CPU to call instructions from the part program memory PPM one at a time and to execute numerical control processing based on these instructions. When an item of position command data is encountered in the data read out of the memory PPM, incremental values AX, pY are computed and applied to a pulse distributor PDC. The latter performs a pulse distribution computation based on ΔX and ΔY, thereby producing distributed pulses XP, YP that are applied to the X- and Y-axis servo units XSU, YSU, respectively. (It should be noted that the lines for carrying these pulses from the pulse distributor to the servo units are not shown in the drawing.) The servo units XSU, YSU drive the motors XM, YM into rotation, thereby transporting the movable machine element, such as the table or tool.
  • When the central processor CPU reads a user macro call instruction out of the part program memory PPM, the processor goes to a user macro memory UMM and reads out the user macro specified by the user macro identification in the user macro call instruction. The variable numbers #100 through #104 in the user macro are then replaced by the values indicated in the part program. NC processing thus is performed in accordance with the pattern shown in Fig. 1..
  • The foregoing is an example wherein a user macro call instruction is inserted in an NC program in the playback (teach) mode. Described next will be the partial modification of an already created NC program, as well as the addition of new NC data to the program.
  • We will assume that an NC program for transporting a movable machine element such as a tool along the pattern ABCDFA indicated by the solid line in Fig. 5, has been stored in the part program memory PPM of Fig. 3. The following steps are performed to modify this NC program into an NC program for transporting the tool along the patch ABCD'E'FA: First, the operator, using the operator's panel, places a single block switch (not shown) in the ON position and presses the cycle start button. This causes the element to come to rest each time one block of movement is completed under the control of the processor CPU. This is referred to as single-block operation. When the element stops, the operator presses the cycle start button again to initiate movement based on the next block of data. In this manner the movable machine element is moved along the solid-line path in Fig. 5 up to point C. After the element is positioned at the point C, the operator selects the teach mode by the the mode changeover switch and then proceeds to position the element at point D' by manual feed.
  • As the foregoing steps are being performed, the NC program shown in Fig. 6(A) is displayed on the CRT of the manual data input unit MDI. The operator therefore positions a cursor at the portion (a) displayed on the CRT screen and presses keys "Y", "ALTER" in the order mentioned, these keys being located on the MDI unit. This causes the NC data at sequence number N50 to be altered from "X6.0 Y6.0;" to "X6.0 Y8.0;", as shown in Fig. 8(B). In other words, the commanded value along the Y axis is modified by replacing 6.0 with the Y-axis present position (Y coordinate) 8.0 stored in the reversible counter RCY. The operator then positions the machine element at the point E' by the manual feed operation and brings the cursor to the portion (b) displayed on the CRT screen. Next, using the MDI unit, the operator keys in a sequence number, e.g, N55, and presses the "INSRT" key to enter sequence number. This is followed by pressing the keys "X", "INSRT" (insert), "Y", "INSRT", "EOP" (end of block) and "INSRT" in the order mentioned, using the MDI unit. As a result, new NC data "N55 X8.0 Y6.0;" is created using the present position, i.e., coordinates, (8.0, 6.0) of the point E', and the data is inserted between sequence numbers N50 and N60, as shown in Fig. 6(B). Next, the operator positions the cursor at (c), selects the automatic mode by means of the mode changeover switch, and presses the cycle start button. This will cause the old NC program shown in Fig. 6(A) to be modified into the new NC program data shown in Fig. 6(B). Since NC data can thus be partially modified and supplemented according to a feature of the present invention, it is no longer necessary to teach all of the points A, B, C, D', E' and F, as opposed to the prior art.
  • In accordance with the present invention as described and illustrated hereinabove, an NC program can be partially modified and supplemented, and a pattern playback function can be inserted in the NC program. This makes it very simple to create an NC program in the playback or teach mode.
  • As many apparently widely different embodiments of the present invention can be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.

Claims (8)

1. A method of creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program, comprising the steps of:
transporting the movable machine element to a prescribed position on the basis of numerical control program data already created;
. selecting a teach mode;
positioning the movable machine element manually at a newly taught position; and
modifying the numerical control program data based on the present position of the movable machine element by pressing a key corresponding to at least one of address words X, Y, Z indicating axes of movement, followed by pressing a modification key.
2. The method according to claim 1, wherein the movable machine element is transported to said prescribed position by being moved one block at a time by a single-block operation based on the numerical control program data already created.
3. A method of creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program, comprising the steps of:
transporting the movable machine element to a prescribed position on the basis of numerical control program data already created;
selecting a teach mode;
positioning the movable machine element manually at a newly taught position; and
inserting new numerical control data by pressing a key corresponding to at least one of address words X, Y, Z indicating axes of movement, followed by pressing an insertion key.
4. The method according to claim 3, wherein the movable machine element is transported to said prescribed position by being moved one block at a time by a single-block operation based on the numerical control program data already created.
5. A method of creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program, comprising the steps of:
storing in memory one or more subprograms creating by using variables, and
inserting in the numerical control program numerical control data for controlling the movable machine element on the basis of a prescribed subprogram and specific values, by entering an identification of said subprogram and specifying variables, which are used in said subprogram, by the present position of the movable machine element.
6. The method according to claim 5, further comprising steps of entering a variable number assigned to a variable and sequentially pressing a key corresponding to an address word and an input key, thereby specifying the variable of said variable number by the present position of the movable machine element along an axis indicated by the address word.
7. An apparatus for creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program, said apparatus comprising:
mode selection means for selecting a mode of a numerical control device;
a key corresponding to at least one of address words X, Y, Z indicating axes of movement;
a key for modifying numerical control data;
means for transporting the movable machine element to a prescribed position on the basis of numerical control program data already created;
means responsive to said mode selection means for selecting a teach mode;
means for manually positioning the movable machine element at a newly taught position; and
means for modifying the numerical control program data based on the present position of the movable machine element by pressing the key corresponding to said word address followed by pressing said modification key.
8. An apparatus for creating a numerical control program containing plural items of numerical control data, wherein the present position of a movable machine element is stored in memory, the movable machine element is transported to a desired position, an item of numerical control data is created based on the present position of the movable machine element, and the foregoing sequence is repeated to create plural items of numerical control data constituting the numerical control program, said apparatus comprising:
mode selection means for selecting a mode of a numerical control device;
a key corresponding to at least one of address words X, Y, Z indicating axes of movement;
a key for inserting numerical control data;
means for transporting the movable machine element to a prescribed position on the basis of numerical control program data already created;
means responsive to said mode selection means for selecting a teach mode;
means for manually positioning the movable machine element at a newly taught position; and
means for inserting new numerical control data by pressing pressing the key corresponding to said address word, followed by pressing said insertion key.
EP19830304101 1982-07-15 1983-07-14 Method and apparatus for creating nc programs Expired EP0099733B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP12328682A JPS5914010A (en) 1982-07-15 1982-07-15 Nc program forming system
JP123286/82 1982-07-15

Publications (3)

Publication Number Publication Date
EP0099733A2 true EP0099733A2 (en) 1984-02-01
EP0099733A3 EP0099733A3 (en) 1986-06-25
EP0099733B1 EP0099733B1 (en) 1990-04-11

Family

ID=14856802

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19830304101 Expired EP0099733B1 (en) 1982-07-15 1983-07-14 Method and apparatus for creating nc programs

Country Status (3)

Country Link
EP (1) EP0099733B1 (en)
JP (1) JPS5914010A (en)
DE (1) DE3381448D1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0400154A1 (en) * 1988-12-12 1990-12-05 Fanuc Ltd. Robot operation method that can be manually corrected
EP0416123A1 (en) * 1989-03-20 1991-03-13 Fanuc Ltd. Manual intervention method for industrial robot
GB2242288A (en) * 1990-03-23 1991-09-25 Mitsubishi Electric Corp Method and apparatus for preparing machine pattern data

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60179803A (en) * 1984-02-28 1985-09-13 Amada Co Ltd Method for editing and correcting program in numerical control device
JPS62204310A (en) * 1986-03-04 1987-09-09 Fanuc Ltd Editing system for working program
JPH02242307A (en) * 1989-03-15 1990-09-26 Osaka Kiko Co Ltd Nc controller for machine tool having teaching playback function
JPH03136109A (en) * 1989-10-23 1991-06-10 Yamazaki Mazak Corp Working control method in numerically controlled machine tool
JP6216656B2 (en) * 2014-02-20 2017-10-18 株式会社アマダマシンツール Grinder

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3689892A (en) * 1970-03-18 1972-09-05 Electroglas Inc Electronic control apparatus having learn and automatic operate modes
US3790876A (en) * 1973-02-15 1974-02-05 Rockwell International Corp Paper cutting machine
EP0060039A1 (en) * 1981-03-06 1982-09-15 Kitamura Kikai Kabushiki Kaisha (Kitamura Machinery Co.,Ltd.) Numerically controlled machine tool system
EP0086848A1 (en) * 1981-08-31 1983-08-31 Fanuc Ltd. Robot operation teaching method
EP0092377A2 (en) * 1982-04-16 1983-10-26 Fanuc Ltd. Numerical control system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55140903A (en) * 1979-04-20 1980-11-04 Shin Meiwa Ind Co Ltd Position control method
JPS5631106A (en) * 1979-08-22 1981-03-28 Hitachi Ltd Teach-in information correcting system for play-back type nc machine tool

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3689892A (en) * 1970-03-18 1972-09-05 Electroglas Inc Electronic control apparatus having learn and automatic operate modes
US3790876A (en) * 1973-02-15 1974-02-05 Rockwell International Corp Paper cutting machine
EP0060039A1 (en) * 1981-03-06 1982-09-15 Kitamura Kikai Kabushiki Kaisha (Kitamura Machinery Co.,Ltd.) Numerically controlled machine tool system
EP0086848A1 (en) * 1981-08-31 1983-08-31 Fanuc Ltd. Robot operation teaching method
EP0092377A2 (en) * 1982-04-16 1983-10-26 Fanuc Ltd. Numerical control system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0400154A1 (en) * 1988-12-12 1990-12-05 Fanuc Ltd. Robot operation method that can be manually corrected
EP0400154A4 (en) * 1988-12-12 1993-04-14 Fanuc Ltd Robot operation method that can be manually corrected
EP0416123A1 (en) * 1989-03-20 1991-03-13 Fanuc Ltd. Manual intervention method for industrial robot
EP0416123A4 (en) * 1989-03-20 1992-10-07 Fanuc Ltd. Manual intervention method for industrial robot
GB2242288A (en) * 1990-03-23 1991-09-25 Mitsubishi Electric Corp Method and apparatus for preparing machine pattern data
US5473535A (en) * 1990-03-23 1995-12-05 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for preparing pattern data for machine tool

Also Published As

Publication number Publication date
JPS5914010A (en) 1984-01-24
EP0099733A3 (en) 1986-06-25
DE3381448D1 (en) 1990-05-17
EP0099733B1 (en) 1990-04-11

Similar Documents

Publication Publication Date Title
US5465215A (en) Numerical control method and apparatus
KR880002421B1 (en) Numerical control system
US5315523A (en) Numerical control apparatus having a work simulation function
EP0078856B1 (en) Numerical control device
US5315503A (en) Numerical control apparatus having a teaching function and a method of teaching a machining program thereby
EP0640900A1 (en) Apparatus and method for numeral control
US4627003A (en) Method and apparatus for creating numerical control data
EP0099733A2 (en) Method and apparatus for creating NC programs
KR890002435B1 (en) Numerical Control Method
US4697249A (en) Method and apparatus for creating part program data using a tablet
EP0060039B1 (en) Numerically controlled machine tool system
US5485552A (en) Method of creating a robot motion program
US5808434A (en) Numerical control apparatus
EP0509102A1 (en) Method of working simulation
JPH0563749U (en) Numerical control device with processing time calculation function
JPS5914009A (en) Nc program forming system
EP0515699B1 (en) Instruction method for robot operation program
KR890001355B1 (en) Numerical control device
EP0530364A1 (en) Interactive numerical controller
WO1990000765A1 (en) Numerical controller
JPH0729256B2 (en) Tool change position teaching method
JPS63709A (en) Interactive nc device
JPH053002B2 (en)
JP2942812B2 (en) Device for creating a variant and variable production program
JP2879383B2 (en) Electric discharge machining method and apparatus

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

AK Designated contracting states

Designated state(s): DE FR GB

PUAL Search report despatched

Free format text: ORIGINAL CODE: 0009013

AK Designated contracting states

Kind code of ref document: A3

Designated state(s): DE FR GB

17P Request for examination filed

Effective date: 19861029

17Q First examination report despatched

Effective date: 19880331

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): DE FR GB

REF Corresponds to:

Ref document number: 3381448

Country of ref document: DE

Date of ref document: 19900517

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed
PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 19930629

Year of fee payment: 11

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 19930709

Year of fee payment: 11

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Effective date: 19940714

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 19940714

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Effective date: 19950331

REG Reference to a national code

Ref country code: FR

Ref legal event code: ST

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 19990716

Year of fee payment: 17

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20010501