WO2004083975A1 - 数値制御システム - Google Patents

数値制御システム Download PDF

Info

Publication number
WO2004083975A1
WO2004083975A1 PCT/JP2003/003135 JP0303135W WO2004083975A1 WO 2004083975 A1 WO2004083975 A1 WO 2004083975A1 JP 0303135 W JP0303135 W JP 0303135W WO 2004083975 A1 WO2004083975 A1 WO 2004083975A1
Authority
WO
WIPO (PCT)
Prior art keywords
conversion
machining program
command
program
data
Prior art date
Application number
PCT/JP2003/003135
Other languages
English (en)
French (fr)
Inventor
Masakazu Sagasaki
Hirohusa Kamiya
Toru Takeyama
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
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 Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to US10/549,114 priority Critical patent/US7548795B2/en
Priority to JP2004569543A priority patent/JP4311349B2/ja
Priority to PCT/JP2003/003135 priority patent/WO2004083975A1/ja
Priority to DE10394189T priority patent/DE10394189T5/de
Priority to CN03826159A priority patent/CN100585525C/zh
Publication of WO2004083975A1 publication Critical patent/WO2004083975A1/ja

Links

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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/36095Inhibit or permit override by program instruction
    • 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/43Speed, acceleration, deceleration control ADC
    • G05B2219/43158Feedrate override
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use

Definitions

  • the present invention relates to a numerical control system, and more specifically, generates data for assigning a machining program command (G code, MSTB command, etc.) to an internal process (application program) of a numerical controller, and executes a machining program operation. At times, high-speed operation is performed by control operation.
  • G code machining program command
  • MSTB command etc.
  • the numerical control device executes a numerical control process based on a processing program instructed from a paper tape or the like, and drives a machine tool based on a result of the process to perform processing on a workpiece as instructed.
  • a numerical control device basically adopts a configuration of a Neumann computer using a microprocessor, and software for controlling this system adopts a time-sharing control method using a real-time operating system.
  • a sequential processing program which is a task associated with a hierarchical structure, is executed in a predetermined order by an interrupt signal (Interrupt, hereinafter referred to as IT) with a control unit time of 1 T (eg, 10 ms). Because the program is executed in a time-sharing manner, blank space may appear in the output of the operation result if the program analysis being executed is interrupted halfway.
  • Interrupt hereinafter referred to as IT
  • this system replaces the machining program with control data for performing positioning and interpolation feed according to the interpolation data.
  • control data for performing positioning and interpolation feed according to the interpolation data.
  • the present invention has been made to solve the above problems, and includes a means for generating data for allocating a command of the machining program to an internal process of a numerical control device before operating the machining program. And a conversion data executing means for directly and sequentially executing the internal processing based on the data generated by the comparing means during the operation of the machining program. Also, the present invention provides, when the command of the machining program is a G code and an MSTB command, the converting means, the command of the machining program is stored in a table provided in a memory, and an internal processing address of the numerical controller and an argument. Is to be set.
  • the present invention provides a method wherein a command of the machining program is a variable or offset command.
  • the converting means sets an internal processing address and a reference address of the numerical control device in a table provided in a memory.
  • the present invention provides a method in which, before operating the machining program, if the command of the machining program is a G code, an MS command, the command of the machining program is stored in a table provided in a memory, A processing program for setting a processing address and an argument.Internal processing conversion means. If the processing program command is a variable or offset command before operating the processing program, the processing program command is provided in a memory. Variables for setting the internal processing address and reference address of the numerical control device in the table, offset converting means, and directly execute the internal processing based on the data generated by each converting means during operation of the machining program. It has a configuration having conversion data execution means.
  • the analysis processing unit does not run during the operation of the machining program (because the analysis processing unit is not required), so that the calculation is not interrupted in the middle and no blank is generated in the output of the calculation result, and the numerical controller
  • the cycle time can be reduced without increasing the load on the CPU on the side, and productivity is improved.
  • the present invention is configured to have an I / O signal notification processing means for detecting a signal operated by an operator and notifying a condition to internal processing according to the content of the signal.
  • the present invention has a configuration having conversion data determination means for determining the presence of the conversion data during the operation of the machining program, and notifying the conversion data execution means to execute the conversion data when the conversion data exists.
  • the machining program that has the converted data always uses the converter data.
  • the present invention has a conversion target program determining unit that determines a component valid / invalid instruction described in the added program and notifies the converting unit to convert only a machining program having a valid component instruction. It is a composition.
  • the present invention also provides a conversion program selecting means for displaying a processing program list on a display, and selecting a conversion target program from the processing program list, and a conversion program selected by the conversion program selection means. And a conversion target program judging means for notifying the converting means to convert only a machining program having a conversion valid instruction.
  • the memory area (memory usage) for registering the conversion data can be reduced as compared with the case where all machining programs are converted at once.
  • the conversion results are displayed as a list on a display unit.
  • the display device has a configuration for displaying a list of the results of the components to be displayed.
  • the present invention also provides a converter for displaying detailed information of a conversion error on a display. This is a configuration having error display means.
  • the present invention provides a power supply that activates the conversion means when the power is turned on. It has a configuration that has a program-computer start-up means at the time of injection.
  • the present invention is configured to have a processing program conversion starting means for starting the converting means in response to the input of the PLC signal.
  • FIG. 1 is a main part block diagram of a numerical control device having a machining program comparison function according to a first embodiment of the present invention.
  • FIG. 2 is a flowchart showing a machining program conversion procedure according to Embodiment 1 of the present invention.
  • FIG. 3 is a flowchart showing a procedure for executing the converted data during the machining operation according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing details of the conversion process according to the first embodiment of the present invention.
  • FIG. 5 is a diagram showing an example of a machining program to be converted according to the first embodiment of the present invention.
  • FIG. 6 is a diagram showing a display example of a machining program list for selecting a conversion of the machining program according to the first embodiment of the present invention.
  • FIG. 7 is a diagram showing a display example of a conversion result list according to the first embodiment of the present invention.
  • FIG. 8 shows the details of the conversion error occurrence according to the first embodiment of the present invention. It is a figure showing an example of a display.
  • FIG. 9 is a diagram showing machining program control information according to the first embodiment of the present invention.
  • FIG. 10 is a diagram showing the internal information of the comparison result according to the first embodiment of the present invention.
  • FIG. 11 is a flowchart showing a procedure for executing the conversion data when the operator changes the operating conditions during the machining operation according to the first embodiment of the present invention.
  • FIG. 1 is a block diagram showing a main part of a numerical control device 101 having a machining program comparison function according to the first embodiment.
  • Fig. 2 is a flowchart showing the procedure for converting the machining program
  • Fig. 3 is a flowchart showing the procedure for executing the converted data during machining operation
  • Fig. 4 is the converted data registered in the memory 61.
  • Fig. 5 shows details of the data to be converted
  • Fig. 5 shows a description example of a machining program to be converted
  • Fig. 6 shows a setting example of programs to be converted / not processed
  • Fig. 7 shows the conversion results.
  • Fig. 8 shows a display example of the detailed contents when a conversion error occurs
  • Fig. 9 shows the control information of the machining program
  • Fig. 10 shows the internal detailed information of the conversion result.
  • FIG. 11 is a flow chart showing a procedure for executing a complete comparison when the operator changes the operating conditions during the machining operation.
  • reference numeral 101 denotes a numerical controller, and an analysis processing unit 103, an interpolation processing unit 104, a machine control signal processing unit 106, a PLC circuit 105, NC axis control section 180, spindle control section 110, data input / output circuit 120, memory 107, parameter setting section 108, screen processing section 10 9 and has.
  • the numerical controller 101 is coupled to the servo driver 201 via the data input / output circuit 120, and drives the NC axis 204. Further, it is coupled to the spindle drive device 301 via the data input / output circuit 120, and drives the spindle 304.
  • the machining program 102 read from a tape reader or the like is stored in the machining program area 601 of the memory 107.
  • the analysis processing unit 103 normally reads out the machining program stored in the machining program area 601 from the memory 107 one block at a time and analyzes it one block at a time.
  • the code analyzed for each block is passed to the interpolation processing unit 104, and performs interpolation control, spindle control, auxiliary function control, and the like for each block according to commands.
  • the NC axis controller 180 controls the NC axis 204 to perform position determination, interpolation feed, and the like according to the interpolation data.
  • the main spindle control unit 110 performs control for performing operations such as rotating, stopping, and orienting the main spindle at the commanded rotational speed on the commanded main spindle.
  • the servo drive unit 201 is coupled to the servomotor 202, and drives the NC shaft 204 via gears, ball screws, etc. by position control based on position feedback from the detector 205. I do.
  • the spindle drive unit 301 is coupled to the spindle motor 302 via gears and the like, and drives the spindle 304.
  • a detector 305 is attached to the spindle 304, and the spindle drive unit 301 controls the orientation operation of the spindle motor 302 based on the position data input from the detector 305. I do.
  • the configuration and operation described above are the configuration and operation of a general numerical controller.
  • the configuration described below for converting the machining program 102 is as follows: It has been added to the configuration of general numerical controllers. The details of each configuration described below will be described with reference to FIGS. That is, a conversion data determination unit 401 is added to the analysis processing unit 103.
  • the interpolation processing section 104 includes a conversion data execution means 900, a power-on machining program conversion start means 910, a G command processing group 902, an MSTB command processing group 903, a variable command processing. 904 and offset command processing 905 are added.
  • a machining program conversion processing unit 501 is added to the numerical controller 101, and the machining program conversion processing unit 501 is used to convert machining programs and internal processing. It comprises program determination means 503 and variable 'offset conversion means 504'.
  • a conversion data registration area 603 is added to the memory 107.
  • a conversion program selection means 701 is added to the parameter setting section 108.
  • the screen processing unit 109 is provided with a conversion result list means 801 and a conversion error display means 802.
  • machine control signal processing unit 106 is further provided with a machining program conversion starting unit 1002, an I / O signal notifying unit 1003, and an MSTB command executing unit 1004.
  • Embodiment 1 of the present invention each of the above-described components is added to the configuration of a general numerical control device.
  • control data obtained by interpolating a processed program as described in the specification of International Publication No. W0 01/44882 A1 It is not a convert to If the command of the machining program is a G code or MSTB command, the command of the machining program is set in a table provided in a memory with an internal processing address and an argument of the numerical control device, Also, when the command of the machining program is a variable or offset command, it indicates that the internal processing address and the reference address of the numerical control device are set in a table provided in the memory.
  • step 1 the power-on machining program conversion starting means 910 of the interpolation processing section 104 determines whether or not the power of the numerical controller 101 is being turned on. Whether the power is on or not is detected as follows. First, as a part of the initial processing of the interpolation processing section 104, the power-on machining program composite activation means 9101 is registered in advance. This initial processing is started as a subroutine from the operating system, and is started only once when the power of the numerical controller 101 is turned on. Therefore, when the power of the numerical controller 101 is turned on, the power-on machining program conversion starting means 901 is started only once. For this reason, whether or not the power is being turned on is detected based on whether or not the power-on machining program conversion starting means 901 is started.
  • the power-on conversion program conversion starting means 901 starts the machining program conversion processing section 501 and proceeds to step 4. If the power-on machining program conversion starting means 9 0 1 is not started, the power is not being turned on, and the process proceeds to step 2.
  • step 2 the processing program conversion activation means 1002 checks the conversion request signal from the PLC circuit 105.
  • This conversion request signal is defined as one of the 1/0 signals that are handled in the same way as the commonly used signals such as automatic start, NC reset, etc., and the PLC circuit 105 and the machine control signal processor 106 Are exchanged between
  • the machining program conversion starting means 1002 starts the machining program conversion processing section 501 and proceeds to step 4. In the case of off, that is, If the request signal has not been input, the process proceeds to step 3.
  • the conversion program selection means 701 checks a conversion request by the operation of the operator. Specifically, the following checks are performed.
  • the screen processing unit 109 displays the machining program 601 registered in the memory 107 on the display of the numerical controller 101, and displays a list of machining programs in a format as shown in FIG. Is displayed.
  • 0110 indicates the highest machining program number, and usually indicates a machining program automatically started by an operator, that is, a machining program for machining a product.
  • O900 and 0880 are machining programs called from 0110 and are called subprograms. Further, the subprogram 0.9010 called from 0900, and further the subprogram 09000 called from 0900 are sequentially displayed.
  • a check box is displayed in front of the machining program number (left end), and the operator activates the check box of the machining program to be converted (in Fig. 6, conversion is valid indicates the country). Operation—When the check box is enabled, the conversion program selection means 701 turns on the conversion control information of the machining program control information registered in the memory 107 as shown in FIG. 9 ( "1").
  • the additional program control information is composed of a machining program number, program editability, compound control information, and a pointer to the machining program area.
  • the program editability is used as information on whether the machining program can be edited. For example, if the program edit permission is on (bit information “1”), the processing program is in a state where both writing and reading are possible (editable).
  • conversion control information conversion effective flag
  • conversion program selection means 70 1 The conversion valid flag is turned on. That is, if the conversion valid flag is on (bit information “1”), the program is not converted. If the conversion valid flag is off (bit information “0”), the program is not converted.
  • the conversion program selection means 701 activates the machining program conversion processing unit 501 in response to the conversion request of the operator, and proceeds to step 4. If there is no conversion request from the operator, the process ends.
  • step 4 the machining program conversion processing unit 510 activated by the power-on machining program conversion activation means 910, the machining program conversion activation means 1002, or the conversion program selection means 701 Starts the conversion process of the machining program. More specifically, the conversion process is a loop process.
  • the conversion target program determination means 503 checks the end of the loop process. Specifically, the processing program registered in the memory 107 is read, and if there is no processing program to be read next, the process proceeds to step 9. If there is a machining program to be read next, proceed to step 5.
  • the conversion target program determination means 503 checks the above-described conversion control information or the contents of the machining program (the first block). Specifically, the above-described conversion control information is read, and it is checked whether the conversion valid flag is on (bit information “1”).
  • bit information “1” When checking the contents of the processing program, a character string “# CONVERT #” is described in advance in the first block of the processing program as shown in FIG. The character string is usually inserted at the beginning of the machining program using the editing function of the numerical controller 101.
  • the conversion target program determination means 503 reads the first block of the machining program and checks whether there is a character string “# CONVERT #”. Check if it is.
  • the conversion target program determination unit 503 notifies the conversion request to the machining program Go to 6. If the conversion valid flag is off or if the character string “# CONVERT #” does not exist in the first block of the machining program, go to step 4 and repeat the process.
  • step 6 the machining program 'internal processing conversion means 502 reads the machining program determined to be a conversion object in response to the notification from the conversion object program determination means 503, and converts the conversion data registration area 603 of the memory 107. Write the machining program number information into the
  • the conversion will be described with reference to FIG.
  • the left end of Fig. 4 shows the machining program to be compared.
  • the program number is “01 10”.
  • “G0X10.0;” is a positioning command and indicates movement of the X axis to 10.0mm.
  • Machining program ⁇ The internal processing conversion means 502 converts the pointer (head address) to the G 0 command processing of the G command processing group 902, which is an application program in the interpolation processing unit 104, into the conversion data setting area 60 Write to 3.
  • “XI 0.0” is written in the conversion data registration area 603 as an argument of the GO command processing.
  • the pointer (head address) to GO command processing is calculated as follows.
  • the symbol information of the application program (GO command processing, M command processing, variable command processing, etc.) of the numerical controller 101 is usually registered in the operating system.
  • the jump address of the application program that is, the head address of the application program is registered.
  • the operating system is provided with a process for reading this symbol information, and the machining program and internal processing conversion means 502 obtains the head address of the target application program by calling the process of the operating system. so Wear. In this way, the machining program'internal processing conversion means 502 can write the head address of the GO command processing acquired in the processing of the operating system into the conversion data registration area 603.
  • the “M3” command in FIG. 4 is a command to be notified to the PLC circuit 105 and is one of the commands related to the machine operation.
  • M3 usually indicates the forward rotation command of the spindle, and other M commands include ( ⁇ reverse rotation command of spindle, stop command, cutting oil on / off command, etc., and handle signals related to machine control.
  • the machining program 'internal processing conversion means 502 uses the start address and argument of the S command process, the start address and argument of the T command process, and the start address of the B command process. Write the argument in the conversion data registration area 603.
  • the S command is a command for the rotation speed of the spindle motor 302, for example, “S 100 ⁇ 0 '' means that the spindle motor is rotated at 100 rpm with respect to the spindle motor 302, and the calorie program.
  • the internal processing conversion means 502 converts this command to the S command processing address and argument ⁇ 1 ''. 0 00 ”is registered in the conversion data registration area 603.
  • the T command is a command related to tool change.
  • Machining program ⁇ Internal processing conversion means 502 registers this command in the address of command processing and the argument “10” in the conversion data registration area 603.
  • the ⁇ command is called the second auxiliary function command, which performs machine control in the same way as the ⁇ command.
  • the machining program and internal processing conversion means 502 converts this command into the ⁇ command processing address and argument. Is registered in the conversion data registration area 603.
  • Variable values are often rewritten in the machining program during the execution of the machining program, so the values set on the variable setting screen at the time of conversion are converted beforehand and converted. It is not possible to register in the registration area 603.
  • the address of the variable table in which the value of the variable is actually set is registered in the conversion data registration area 603.
  • Variables are often described together with operation and assignment instructions. Therefore, an area for describing the variable operation is provided in the conversion data registration area 603, and if there is an operation, the symbol of the operator is described.
  • the head address of variable command processing 904 is registered in the first table.
  • the reference variable address of # 105 registers the reference variable address of # 105.
  • variables handled by the numerical controller 101 are allocated to a fixed area of the memory 107.
  • the numerical controller 101 basically has two types of variables, # 100 to # 199 and # 500 to # 599, which are assigned to fixed areas in the memory 107.
  • the first address of the area of ⁇ # 100 to 199 '' that is, the address of # 100 is 0Xa806c000
  • the first address of the area of ⁇ # 500 to # 599 '' that is, the address of # 500 is 0xa806 d000. It is determined as follows. Therefore, the variable reference address can be calculated from the value of the variable number. Since the size of the variable is usually 4 by t e, for variable # 105,
  • variable 'offset conversion means 504 reads "T 1008".
  • the last two digits of the command “08” indicate the tool offset number as described above.
  • the tool offset value like the variable, is often rewritten in the machining program during execution of the machining program or the operator is rewritten, so the offset value set on the variable setting screen at the time of conversion is It cannot be converted in advance and registered in the conversion area 603. Therefore, the conversion of the tool offset is performed when the tool offset value is actually set.
  • the address of the tool offset table is registered in the conversion data registration area 603. That is, the variable.offset conversion means 504 writes the head address to the offset command processing 905 in the interpolation processing unit 104 in the conversion data overnight registration area 603, and then writes the reference destination offset address in the conversion data registration area. Write to 603.
  • the reference destination offset address is calculated as follows.
  • the tool offset data is basically assigned to a fixed area of the memory 107 of the numerical controller 101. For example, in the case of “T 8”, if the start address (address of “ ⁇ 1”) of the tool offset data is 0xa 806 e 000, the offset reference address can be calculated from the tool offset number.
  • the size of the offset is usually 4 byt e, so in this case
  • one machining program can be converted into an application program of the numerical controller 101.
  • step 7 if the conversion is completed normally, the machining program conversion processing unit 501 stores the machining program number and the comparison in the conversion result internal information shown in FIG. 10 in the conversion data registration area 603 of the memory 107. After writing “0” to the error flag, return to step 4 and repeat the process. Also, if there is a description error in the machining program, the conversion cannot be performed and the error will occur. In this case, the machining program conversion processing unit 501 writes “1” to the conversion error flag of the compact data registration area 603 of the memory 107, and further writes the contents of the conversion error to the conversion data registration area 603. Specifically, as shown in Fig.
  • the machining program number, the conversion error flag, the error number, the error occurrence sequence number, the error occurrence block number, and the contents of the error occurrence program are written. . Convert Era
  • the bit is bit information as described above. When it is “0”, it indicates normal completion, and when it is “1”, an error has occurred. If the conversion is completed normally, write the machining program number and the conversion error flag ("0").
  • the machining program number is 8800
  • the conversion error flag is "1”
  • the error number is "3 2”
  • the sequence number is "2 0”
  • the block number is Write “3” and the program content “M-1” in the conversion result internal information.
  • the error number “3 2” means an illegal address.
  • step 8 the conversion error display means 802 checks the conversion error flag in the conversion result internal report and displays it on the display in the format shown in FIG.
  • the error occurrence machining program number, error number, error occurrence sequence number, error occurrence block number, and error occurrence program content are displayed in order from the left.
  • an error of 0900 is displayed on the first, an error of 0900 on the second, and an error of 0880 on the third.
  • the conversion result list means 801 checks the conversion error flag of the conversion result internal information and displays it on the display in a format as shown in FIG.
  • the display format indicates whether the machining program number and conversion data are normal or error, or whether conversion is not performed.
  • 0 1 1 0 is normal
  • 0 0 0 0 0 0 is error
  • 0 0 0 1 0 is not subject to conversion
  • 0 0 0 0 0 0 0 is error
  • 0 0 8 0 0 is error Is displayed.
  • the conversion result can be confirmed from the two pieces of information (screen) in which the operating device is displayed on the display.
  • step 21 the conversion data judgment means 401 reads the machining program number from the memory 107 first.
  • step 22 the conversion data determining means 401 compares the machining program number in the conversion data recording area 603 with the machining program number read from the memory 107. If the machining program number does not exist in the conversion data overnight registration area 603, the process proceeds to step 31 to execute the normal machining program 601 registered in the memory 107 as usual. If the machining program number exists in the conversion data registration area 603, the compare data overnight judgment means 401 notifies the conversion data execution means 900 of the execution of the conversion data of the machining program number. Then go to step 23.
  • step 23 the conversion data execution means 900 checks the end of the conversion data execution of the machining program number. This is because the execution process is a loop process. The end of the execution is determined by whether or not the jump table of the complete data of the machining program number has been completely executed. If the execution has been completed, the process ends. If not, proceed to step 24. In step 24, if the jump table in the conversion data registration area 603 is an address to the G command processing group 902, the process proceeds to step 25, and if it is not an address to the G command processing group 902, Proceed to step 27.
  • step 25 the conversion data execution means 900 loads the argument to the G command processing group 902 on the stack, sets the address to the G command processing group 902 in the program counter, and executes the G command processing.
  • step 26 the GO command processing calculates the end point coordinates from the argument ("X10.0") and performs positioning.
  • the GO command processing since the information on the feed speed is set in the parameter (registered in the memory 107) in the case of GO, the GO command processing reads the feed speed data from the parameter.
  • the movement amount per unit time that is, the interpolation movement amount
  • the interpolation movement amount is generated with a value corresponding to the speed, and the interpolation movement amount is set in advance by a parameter.
  • the movement amount per unit time is calculated so as to draw a predetermined acceleration / deceleration pattern based on the pattern and the time constant.
  • the feed speed information is given as an argument in the conversion data registration area 603 as described above, so the G1 command processing uses the feed speed data of the argument.
  • the movement amount per unit time that is, the interpolation movement amount
  • the interpolation movement amount is generated with a value corresponding to the speed in the same manner as GO, and the interpolation movement amount is set so as to draw a predetermined acceleration / deceleration pattern based on a pattern and a time constant set in advance over time. It is calculated by the amount of movement per unit time. After the completion of the process, the process returns to step 23 to repeat the process.
  • step 27 if the jump table in the conversion data overnight registration area 603 has an address for the MSTB command processing, the process proceeds to step 28. If not, the process proceeds to step 30.
  • step 28 the conversion data execution means 900 loads an argument to the MSTB command processing group 903 on the stack, sets the address to the MSTB command processing group 903 in the program counter, and calls the MSTB command processing group 903.
  • step 29 as explained in the example of FIG. 4, in the case of the M3 command, the M command processing of the MSTB command processing group 903 starts the MSTB command of the machine control signal processing unit 106 from the argument “3” (M number 3).
  • An M number “3” and a strobe signal are set to the interface with the PLC circuit 105 via the execution means 1004.
  • the strobe signal is a signal for notifying the PLC circuit 105 of the M command, the S command, the T command, or the B command.
  • the PLC circuit 105 detects the strobe signal and recognizes that the M command has been analyzed. Then, a process corresponding to the M number set in the interface, that is, a machine sequence process is executed. For example, in the case of M3, since the spindle indicates forward rotation, the PLC circuit 105 determines whether the spindle is ready to rotate (for example, whether the check is closed) and the spindle rotates. If it is possible, complete the processing of the spindle normal rotation signal and M command. A completion signal is set in the interface to notify that the operation has been performed. Upon detecting the completion signal, the MSTB command execution means 1004 notifies the M command processing of the MSTB command processing group 903 of the information of the spindle normal rotation command.
  • a forward rotation signal for the spindle motor module 302 is sent to the spindle drive via the spindle control unit 110 and the data input / output circuit 120.
  • the main shaft motor 302 is rotated by outputting to the device 301.
  • the process returns to step 23 to repeat the processing.
  • the M command has been described, but other commands, that is, the B command, the S command, and the T command are processed in the same manner.
  • the conversion data execution means 9 0 0 In the case of an address to the offset command processing 9 05, the conversion data execution means 9 0 0 The following reference offset address is loaded on the stack as an argument to the offset command processing 9 05, and the offset command processing 9 0 5 is called. .
  • the actual offset value is read from the offset address of the offset number "08”, and the machine coordinate value is changed by the offset value. .
  • the process of step 30 returns to step 23 Repeat the process.
  • the I / O signal notifying means 1003 monitors a signal change from the PLC circuit 105. For example, if the operator operates the speed override dial, 1) The circuit 105 reads the dial value of the speed override dial, and sets it as the override value in the interface described above. When the operator turns on the MSTB lock switch, the PLC circuit 105 detects the state of the switch and sets the MSTB lock signal on the interface. The I / O signal notification means 1003 recognizes these as signal changes. In step 42, the I / O signal notifying means 1003 determines a signal related to the G command processing.
  • the signal determination related to the G command processing is performed by classifying the I / O signals in advance into the signals related to the G command processing, registering them in the memory 107, and referring to this information. If the signal is related to the G command processing, proceed to step 43; otherwise, proceed to step 45.
  • the I / O signal notification means 1003 notifies the target G command processing of the signal content. For example, referring to the example in Fig. 4, if the operator operates the speed override dial from 100% to 50% during G0X 10.0, the speed override value from the PLC circuit 105 will change from 100% to 50%. Changes to%.
  • the I / O signal notifying means 1003 inquires of the conversion execution section 900 about the currently executed processing.
  • the conversion data executing means 900 notifies the I / 0 signal notifying means 1003 of the process currently being executed. In this case, it notifies that it is GO command processing.
  • the I / O signal notification means 1003 receives the notification from the conversion data execution means 900 and notifies the GO command processing that the speed override value has changed from 100% to 50%. In the example of Fig. 4, The line arrow part corresponds.
  • the GO command processing sets the interpolation movement amount to the command speed (in this case, 50%, that is, 1/2 speed data).
  • the interpolation movement amount is calculated again based on the movement amount per unit time so as to draw a predetermined acceleration / deceleration pattern based on a pattern and a time constant set in advance in a parameter. .
  • the I / O signal notifying means 1003 notifies the target MSTB command processing of the signal content. For example, referring to the example of FIG. 4, when the operator turns on the operation switch of the MSTB lock, the MSTB lock signal is notified to the I / O signal notification means 1003 via the PLC circuit 105. Since the MS TB lock signal is a signal indicating that the MS TB command is not executed, the I / O signal notification means 1003 receives the MSTB lock signal for M command processing, S command processing, T command processing, and B command processing. Notify that
  • step 46 upon receiving the notification of the MSTB lock signal from the IZO signal notifying means 1003, the M command processing changes the internal state so as not to execute the signal processing from the next M command. 4, the signal for rotating the spindle is not notified to the spindle driving device 301 even if the M command is called by the M3 command which is the spindle normal rotation command.
  • Embodiment 2
  • the machining program conversion processing unit 501 is provided on a PC (personal computer), and the above-described conversion process is performed by the PC before the machining program is operated, and the converted data is registered in the conversion data of the numerical controller.
  • the data may be stored in the area 603 via a communication line.
  • the above-described conversion processing is performed by the PC before operating the machining program.
  • the converted data may be stored in the conversion data registration area 603 of the numerical controller via a two-port RAM.
  • a machining program conversion processing unit 501 and a conversion data overnight registration area 603 are provided on a PC. Before the machining program is operated on the PC, the above-described conversion process is performed.
  • the conversion data is stored in the conversion data registration area 603 provided on the PC side, and a buffer memory is prepared in the NC main body in advance, so that the conversion data can be registered on the PC side during the operation of the machining program.
  • the internal processing (application program) of the numerical control unit is executed. You may comprise.
  • the conversion program selection means 701, the conversion result list display means 801 and the conversion error display means 802 may be provided on the PC side as necessary.
  • the numerical control system according to the present invention is suitable for being used as a numerical control system that performs high-speed operation during a machining program operation.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Description

明 細 書 数値制御システム 技術分野
本発明は数値制御システムに関するものであり、 更に詳しくは加工プログラ ムの指令 (Gコード、 M S T B指令等) を数値制御装置の内部処理 (アプリケ ーシヨンプログラム) に割り付けるデータを生成し、 加工プログラム運転時に 制御動作で高速運転を行うようにするものである。 背景技術
数値制御装置は紙テープ等から指令された加工プログラムに基づいて数値制 御処理を実行し、 当該処理結果により工作機械を駆動してワークに指令どおり の加工を施すものである。
ところで、 一般的に数値制御装置は基本的にはマイクロプロセッサを用いた ノイマン型計算機の構成を採っており、 このシステムを制御するソフトウエア はリアルタイムオペレーティングシステムを用いた時分割制御方式を採用して いる。 これらのシステムに於いては階層構造に関連付けられたタスクである逐 次処理プログラムを、 制御単位時間 1 T (例えば 1 0 m s ) の割り込み信号 ( Interrupt,以下 I Tという)により予め決められた順番に時分割で実行する ために、 実行中のプログラム解析が途中で中断されると演算結果の出力に空白 が生じることがある。 これは数値制御装置の場合は機械 (工具) 位置制御情報 が無し、 つまり N u 1 1データが出力されるという現象となって現れ、 この中 断自体は殆どの場合に於いて加工面に影響を与えるものではないが、 微少時間 ながらこれが累積するとサイクルタイムが長くなる一因となる。
そこで、上記課題を解決する手段として、例えば国際公開番号: W0 01/44882 Alの明細書に記載されているような、 指定された加工プログラムを加工運転前 に予め N C軸に対しては補間データに従った位置決めや補間送り等を施すため の制御のデ一夕を、 主軸に対しては指令回転数で主軸を回転、 停止、 オリエン ト動作等の動作を施すための制御のデータにコンバ一トしておき、 加工運転時 には当該コンバートデータを使ってサ一ボモー夕または主軸モ一夕を制御する システムが存在する。
しかしながら、 当該システムは加工プログラムを補間データに従った位置決 めや補間送り等を施すための制御のデータに置き換えてしまうため、 オペレー 夕が速度オーバライ ド等によって送り速度を変更させたい場合や、 変数データ の内容によって機械動作を変更させたい場合や、 加工運転中にワークオフセッ トデ一夕をオペレー夕が変更させたい場合などに対応できない問題点がある。 さらにまた、 複数の加工プログラムを一括してコンバートできない問題点や 加工運転前には必ずオペレー夕がコンバート操作を行わなければならない問題 点があった。
発明の開示
本発明は上記のような問題点を解決するためのもので、 加工プログラムを運 転する前に、 前記加工プログラムの指令を数値制御装置の内部処理に割り付け るデータを生成するコンパ一ト手段と、 加工プログラム運転時に前記コンパ一 ト手段にて生成されたデータに基づいて当該内部処理を直接順次実行するコン バートデ—夕実行手段とを有する構成としたものである。 また本発明は、 前記加工プログラムの指令が Gコード、 M S T B指令である 場合、 前記コンバート手段を、 前記加工プログラムの指令を、 メモリに設けら れたテーブルに、 数値制御装置の内部処理アドレスと引数をセッ卜するものと したものである。
また本発明は、 前記加工プログラムの指令が変数、 オフセッ ト指令である場 合、 前記コンバート手段を、 メモリに設けられたテーブルに、 数値制御装置の 内部処理ァドレスと参照先ァドレスをセッ卜するものとしたものである。
また本発明は、 加工プログラムを運転する前に、 前記加工プログラムの指令 が Gコード、 M S Ϊ Β指令である場合、 前記加工プログラムの指令を、 メモリ に設けられたテーブルに、 数値制御装置の内部処理アドレスと引数をセットす る加工プログラム ·内部処理コンバート手段と、 加工プログラムを運転する前 に、 前記加工プログラムの指令が変数、 オフセット指令である場合、 前記加工 プログラムの指令を、 メモリに設けられたテーブルに、 数値制御装置の内部処 理ァドレスと参照ァドレスをセットする変数 ·オフセットコンバート手段と、 加工プログラム運転時に前記各コンバート手段にて生成されたデータに基づい て当該内部処理を直接順次実行するコンバートデータ実行手段とを有する構成 としたものである。
このため、 加工プログラムの運転時に解析処理部が走らないため (解析処理 部が不要のため) 、 途中で演算が中断されて演算結果の出力に空白が生じるこ とがなく、 かつ、 数値制御装置側の C P Uの負担を増やすことなしにサイクル タイムが短縮でき、 生産性が向上する。
また、 変数データの内容によって機械動作を変更させたい場合や、 加工運転 中にワークオフセットデータをオペレータが変更させたい場合などでも操作や データ変更がすぐに有効になる。 また、 変数、 工具オフセッ トを変更する度に 必ずオペレータがコンノ、"一ト操作を行う必要はなくなる。
また本発明は、 オペレータが操作した信号を検出し、 当該信号の内容に応じ て内部処理に条件を通知する I /O信号通知処理手段を有する構成としたもの である。
このため、 加工運転中においてもオペレータが速度オーバライ ド等によって 送り速度を変更させることができる。 即ち、 運転条件を簡単に変更することが できる。 また本発明は、 加工プログラム運転時にコンバートデータの存在を判定し、 存在する場合はコンバートデータを実行するようコンバートデータ実行手段に 通知するコンバートデータ判定手段を有する構成としたものである。
このため、 コンバートデータが存在する加工プログラムは必ずコンバータデ —夕が使用されることになる。
また本発明は、 加エブログラムに記述されたコンパ一ト有効/無効の命令を 判別し、 コンパ一ト有効の命令がある加工プログラムのみコンバートするよう 前記コンバート手段に通知するコンバート対象プログラム判定手段を有する構 成としたものである。
このため、 すべての加工プログラムを一括してコンバートする場合に比べコ ンバートデータを登録するメモリ領域 (メモリ使用量) を削減することができ る。
また本発明は、 表示器に加工プログラム一覧表を表示し、 この加工プログラ ム一覧表からコンバート対象のプログラムを選択するコンバートプログラム選 択手段と、このコンバートプログラム選択手段にて選択されたデ一夕を参照し、 コンバート有効の命令がある加工プログラムのみコンバートするよう前記コン バート手段に通知するコンバ一ト対象プログラム判定手段とを有する構成とし たものである。
このため、 すべての加工プログラムを一括してコンバートする場合に比べコ ンバートデータを登録するメモリ領域 (メモリ使用量) を削減することができ また本発明は、 コンバート結果を表示器に一覧表として表示するコンパ一ト 結果一覧表示手段を有する構成としたものである。
このため、 多数の加工プログラムを一括してコンバートした場合でも、 加工 プログラム毎のコンバート結果をオペレータが簡単に確認することができる。
'また本発明は、 コンバートエラーの詳細樯報を表示器に表示するコンバート エラー表示手段を有する構成としたものである。
このため、 多数の加工プログラムを一括してコンバートした場合でも、 加工 プロダラム毎のコンバートェラーをォペレ一夕が簡単に確認することができる o また本発明は、 電源投入時に前記コンバート手段を起動する電源投入時加工 プログラムコンパ一ト起動手段を有する構成としたものである。
このため、 オペレータはコンパ一ト操作をしなくてもすむ。
また本発明は、 P L C信号の入力で前記コンバート手段を起動する加工プロ グラムコンバート起動手段を有する構成としたものである。
このため、 ォペレ一夕はコンバート操作をしなくてもすむ。 図面の簡単な説明
第 1図は本発明の実施の形態 1による加工プログラムコンパ一ト機能を有す る数値制御装置の要部ブロック図である。
第 2図は本発明の実施の形態 1による加工プログラムコンバート手順を示す フローチャートである。
第 3図は本発明の実施の形態 1によるコンバートされたデータを加工運転時 に実行する手順を示すフローチャートである。
第 4図は本発明の実施の形態 1によるコンバートデ一夕の詳細を示す図であ o 、.
第 5図は本発明の実施の形態 1によるコンバート対象の加工プログラム例を 示す図である。
第 6図は本発明の実施の形態 1による加工プログラムのコンバートを選択す るための加工プログラム一覧表の表示例を示す図である。
第 7図は本発明の実施の形態 1によるコンバート結果一覧表の表示例を示す 図である。
第 8図は本発明の実施の形態 1によるコンバートエラ一発生時の詳細内容の 表示例を示す図である。
第 9図は本発明の実施の形態 1による加工プログラム制御情報を示す図であ る。
第 1 0図は本発明の実施の形態 1によるコンパ'一ト結果内部情報を示す図で ある。
第 1 1図は本発明の実施の形態 1による加工運転時にオペレータが運転条件 を変えた場合のコンバートデータ実行手順を示すフローチャートである。 発明を実施するための最良の形態
実施の形態 1 .
' 以下、 第 1図〜第 1 1図に基づいて本発明の実施の形態 1を説明する。
なお、 第 1図はこの実施の形態 1による加工プログラムコンパ一ト機能を有 する数値制御装置 1 0 1の要部を示すブロック図である。 第 2図は加工プログ ラムをコンバートする手順を示すフローチヤ一ト、 第 3図はコンバートされた データを加工運転時に実行する手順を示すフローチャート、 第 4図はメモリ 6 0 1に登録されたコンバートされたデータの詳細を示す図、 第 5図はコンパ一 ト対象の加工プログラムの記述例を示す図、 第 6図はコンバート対象/非対象 のプログラムの設定例を示す図、 第 7図はコンバート結果の表示例を示す図、 第 8図はコンバートエラー発生時の詳細内容の表示例を示す図、 第 9図は加工 プログラムの制御情報を示す図、 第 1 0図はコンバート結果の内部詳細情報を 示す図、 第 1 1図は加工運転時にオペレータが運転条件を変えた場合のコンパ —トデ一夕実行手順を示すフローチャートである。
第 1図において、 1 0 1は数値制御装置を表しており、解析処理部 1 0 3と、 補間処理部 1 0 4と、 機械制御信号処理部 1 0 6と、 P L C回路 1 0 5と、 N C軸制御部 1 8 0と、 主軸制御部 1 1 0と、 デ一夕入出力回路 1 2 0と、 メモ リ 1 0 7と、 パラメ一夕設定部 1 0 8と、 画面処理部 1 0 9とを有している。 また、 数値制御装置 1 0 1は、 データ入出力回路 1 2 0を介して、 サーボ駆 動装置 2 0 1と結合され、 N C軸 2 0 4を駆動せしめる。 また、 データ入出力 回路 1 2 0を介して、 主軸駆動装置 3 0 1と結合され、 主軸 3 0 4を駆動せし める。
テープリーダ等から読み込まれた加工プログラム 1 0 2は、 メモリ 1 0 7の 加工プログラムエリア 6 0 1に格納される。 次にメモリ 1 0 7から加工プログ ラムエリア 6 0 1に格納された加工プログラムを、 通常は解析処理部 1 0 3が 1ブロックずつ読み出し、 1ブロックずつ解析する。 1ブロック毎に解析され たコードは、 補間処理部 1 0 4に渡され、 指令に従い、 1ブロック毎の補間制 御、 主軸制御、 補助機能制御等を行う。
N C軸制御部 1 8 0は、 N C軸 2 0 4に対して、 補間デ一夕に従った位置決 めや補間送り等を施すための制御を行う。 主軸制御部 1 1 0は、 指令された主 軸に対して、 指令回転数で主軸を回転、 停止、 オリエント動作等の動作を施す ための制御を行う。
サ一ボ駆動装置 2 0 1は、 サーボモ一夕 2 0 2と結合され、 検出器 2 0 5か らの位置フィードバックによる位置制御により、ギヤ、 ボールネジ等を介して、 N C軸 2 0 4を駆動する。
また、主軸駆動装置 3 0 1は、主軸モータ 3 0 2とギヤ等を介して結合され、 主軸 3 0 4を駆動する。主軸 3 0 4には、検出器 3 0 5が取り付けられており、 主軸駆動装置 3 0 1は、 当該検出器 3 0 5より入力される位置データによって 主軸モー夕 3 0 2のオリエント動作を制御する。
以上説明した構成、 動作は、 一般的な数値制御装置の構成、 動作であるが、 本発明の実施の形態 1によれば、 加工プログラム 1 0 2をコンバートするため の次に説明する構成が、一般的な数値制御装置の構成に追加されている。なお、 次に説明する各構成の詳細については、 第 2図以降の図面を用いて説明する。 即ち、 解析処理部 1 0 3に、 コンバートデータ判定手段 4 0 1が追加されて いる。
また、 補間処理部 1 0 4には、 コンバートデータ実行手段 9 0 0、 電源投入 時加工プログラムコンバート起動手段 9 0 1、 G指令処理群 9 0 2、 M S T B 指令処理群 9 0 3、 変数指令処理 9 0 4、 及びオフセット指令処理 9 0 5が追 加されている。
また、 数値制御装置 1 0 1に、 加工プログラムコンバート処理部 5 0 1が追 加されており、 この加工プログラムコンバート処理部 5 0 1は、 加工プログラ ム ·内部処理コンバート手段 5 0 2 s コンバート対象プログラム判定手段 5 0 3、 及び変数 'オフセットコンバート手段 5 0 4から構成されている。
また、 メモリ 1 0 7には、 コンバートデータ登録エリア 6 0 3が追加されて いる。
また、 パラメ一夕設定部 1 0 8には、 コンバートプログラム選択手段 7 0 1 が追加されている。
また、 画面処理部 1 0 9には、 コンバート結果一覧表手段 8 0 1、 及びコン ' バートエラー表示手段 8 0 2が追加されている。
更にまた、 機械制御信号処理部 1 0 6には、 加工プログラムコンバート起動 手段 1 0 0 2、 I /O信号通知手段 1 0 0 3、 及び M S T B指令実行手段 1 0 0 4が追加されている。
本発明の実施の形態 1は、 一般的な数値制御装置の構成に、 前記各構成が追 加されている。
次に第 2図のフローチャートを使って加工プログラム 1 0 2をコンバートす る手順について説明する。
なお、 ここで言うコンバートとは、 後述の説明より明らかになるが、 例えば 国際公開番号: W0 01/44882 A1 の明細書に記載されているような、 加工プ 口グラムを補間処理後の制御データにコンバー卜するものではなく、 加工プロ グラムを解析し、 前記加工プログラムの指令が Gコード、 M S T B指令である 場合、 前記加工プログラムの指令を、 メモリに設けられたテーブルに、 数値制 御装置の内部処理アドレスと引数をセッ卜し、 また前記加工プログラムの指令 が変数、 オフセット指令である場合、 メモリに設けられたテーブルに、 数値制 御装置の内部処理ァドレスと参照先ァドレスをセットすることを指す。
ステップ 1では、 補間処理部 1 0 4の電源投入時加工プログラムコンバート 起動手段 9 0 1が、数値制御装置 1 0 1の電源投入中か否かを判断する。なお、 電源投入中か否かは以下のようにして検出する。 先ず、 補間処理部 1 0 4のィ 二シャル処理の一部として電源投入時加工プログラムコンパ一ト起動手段 9 0 1を予め登録しておく。 このイニシャル処理はオペレーティングシステムから サブルーチンとして起動されるもので、 数値制御装置 1 0 1の電源投入時に 1 回のみ起動される。 従って、 数値制御装置 1 0 1の電源投入時に 1回のみ電源 投入時加工プログラムコンバート起動手段 9 0 1が起動される。 このため、 電 源投入時加工プログラムコンバート起動手段 9 0 1が起動されるか否かにより、 電源投入中か否かを検出する。
そして電源投入中である場合、 電源投入時加ェプログラムコンバート起動手 段 9 0 1は加工プログラムコンバート処理部 5 0 1を起動し、 ステップ 4に移 行する。 また、 電源投入時加工プログラムコンバート起動手段 9 0 1が起動さ れない場合は電源投入中ではないので、 ステップ 2に移行する。
ステップ 2では、 P L C回路 1 0 5からのコンバート要求信号を加工プログ ラムコンバート起動手段 1 0 0 2がチェックする。 このコンバート要求信号は 自動起動、 N Cリセット等のような通常使用されている信号と同じ扱いの 1 / 0信号の一つとして定義され、 P L C回路 1 0 5と機械制御信号処理部 1 0 6 との間でやり取りされるものである。このコンバート要求信号がオンの場合は、 加工プログラムコンバート起動手段 1 0 0 2が加工プログラムコンパ'一ト処理 部 5 0 1を起動し、 ステップ 4に移行する。 また、 オフの場合、 即ち、 コンパ ート要求信号が入力されていない場合はステップ 3に移行する。
ステップ 3では、 コンバートプログラム選択手段 7 0 1がオペレータの操作 によるコンバート要求をチェックする。 具体的には次のようにチェックする。 先ず、 画面処理部 1 0 9が、 数値制御装置 1 0 1の表示器に、 メモリ 1 0 7に 登録された加工プログラム 6 0 1を、 第 6図に示したような形式の加工プログ ラム一覧を表示する。 なお、 第 6図において、 0 1 1 0は一番上位の加工プロ グラム番号を表しており、 通常、 オペレータが自動起動する加工プログラム、 即ち製品を加工するための加工プログラムを示している。 O 9 0 0 0と 0 8 8 0 0は 0 1 1 0から呼び出される加工プログラムで、 サブプログラムと呼ばれ る。 さらに、 0 9 0 0 0から呼び出されるサブプログラム 0 .9 0 1 0、 さらに は、 0 9 0 1 0から呼び出されるサブプログラム 0 9 0 2 0が順次番号表示さ れている。 また、 加工プログラム番号の前 (左端) にはチヱックボックスが表 示されており、 オペレータはコンバートさせたい加工プログラムのチェックボ ックスを有効にする (第 6図ではコンバート有効は國を示している) 。 ォペレ —夕がチェックボックスを有効にすると、 コンバートプログラム選択手段 7 0 1は、 第 9図に示したようなメモリ 1 0 7に登録されている加工プログラム制 御情報のコンバート制御情報をオンする ( 「1」 にする) 。 第 9図の例では加 ェプログラム制御情報は加工プログラム番号、 プログラム編集可否、 コンパ一 卜制御情報、 加工プログラム領域へのポインタから構成されている。 なお、 プ ログラム編集可否は加工プログラム編集が可能かどうかの情報として使われる。 例えばプログラム編集可否がオン (ビッ卜情報 「1」 ) の場合、 当該加工プロ グラムは書き込み ·読み出しの両方が可能な (編集可能な) 状態になる。 プロ グラム編集可否がオフ (ビット情報 「0」 ) の場合、 当該加工プログラムは読 み出しのみ可能なリードオンリ状態 (編集不可の状態) になる。 本実施の形態 1ではこの加工プログラム制御情報にコンバート制御情報 (コンバート有効フ ラグ) を付加し、 前述のコンバートプログラム選択手段 7 0 1によって、 この コンバート有効フラグがオンされる。 即ち、 コンバート有効フラグがオン (ビ ヅ ト情報 「1」 ) の場合はコンバート対象となり、 コンバート有効フラグがォ フ (ビット情報 「0」 ) の場合、 当該プログラムはコンバート対象とはならな い。 次にオペレータは第 6図の右下に表示されているコンパ一ト実行メニュー ポタンを押下する。 コンバートプログラム選択手段 7 0 1は、 オペレータのコ ンバート要求を受けて加工プログラムコンバート処理部 5 0 1を起動し、 ステ ヅプ 4に移行する。 また、 オペレータのコンバート要求がない場合は処理を終 了する。
ステップ 4では、 電源投入時加工プログラムコンバート起動手段 9 0 1、 ま たは加工プログラムコンバート起動手段 1 0 0 2、 またはコンバートプログラ ム選択手段 7 0 1によって起動された加工プログラムコンバート処理部 5 0 1 が、 加工プログラムのコンバート処理を開始する。 具体的にはコンバート処理 はループ処理になっており、 先ず、 コンバート対象プログラム判定手段 5 0 3 がこのループ処理の終了をチェックする。 具体的には、 メモリ 1 0 7に登録さ れた加工プログラムを読み出し、 次に読み出すべき加工プログラムがなくなつ た場合にステップ 9に進む。 次に読み出すべき加工プログラムがある場合には ステップ 5に進む。
ステップ 5では、 コンバート対象プログラム判定手段 5 0 3が、 前述のコン バート制御情報または加工プログラム内容 (先頭の 1ブロック) をチヱックす る。 具体的には前述のコンバート制御情報を読み出し、 コンバート有効フラグ がオン (ビット情報「1」 ) しているかどうかをチェックする。 また、 加工プ ログラム内容をチェックする場合は、 第 5図に示したように先ず加工プログラ ムの先頭ブロックに 「# C O N V E R T #」 なる文字列を予め記述しておく。 当該文字列は、 通常、 数値制御装置 1 0 1の編集機能を使って加工プログラム の先頭に挿入する。 コンバート対象プログラム判定手段 5 0 3は加工プログラ ムの先頭ブロックを読み出し、 「# C O N V E R T #」 なる文字列がないかど うかをチヱックする。 コンバート有効フラグがオン、 または加工プログラムの 先頭ブロックに 「#CONVERT#」 なる文字列がある場合は、 コンバート 対象プログラム判定手段 503が加工プログラム ·内部処理コンバート手段 5 02にコンバート要求を通知してステップ 6に進む。 コンバート有効フラグが オフ、 または加工プログラムの先頭ブロックに 「#CONVERT#」 なる文 字列がない場合は、 ステップ 4に進み、 処理を繰り返す。
ステップ 6では、 加工プログラム '内部処理コンバート手段 502が、 コン バート対象プログラム判定手段 503からの通知を受けてコンパ一ト対象と判 定された加工プログラムを読み出し、 メモリ 107のコンバートデータ登録ェ リア 603に加工プログラム番号の情報を書きこむ。
コンバートについては第 4図を用いて説明する。 第 4図の左端はコンパ一ト 対象の加工プログラムを示している。 プログラム番号は 「01 10」 である。 「G0X 10. 0 ;」 は位置決め指令で X軸の 10. 0mmへの移動を表して いる。 加工プログラム ·内部処理コンバート手段 502は、 当該指令を補間処 理部 104内のアプリケーションプログラムである G指令処理群 902の G 0 指令処理へのポインタ (先頭アドレス) を、 コンバートデ一夕登録エリア 60 3に書き込む。 また、 「X I 0. 0」 を GO指令処理の引数としてコンバート デ一夕登録エリア 603に書き込む。 なお、 GO指令処理へのポインタ (先頭 ァドレス)は次のようにして算出する。即ち、 オペレーティングシステムには、 通常、 数値制御装置 101のアプリケーションプログラム (GO指令処理、 M 指令処理、 変数指令処理など) のシンボル情報が登録されている。 このシンポ ル情報には、 アプリケーションプログラムの飛び先番地、 即ちアプリケーショ ンプログラムの先頭ァドレスが登録されている。 ォペレ一ティングシステムに はこのシンボル情報を読むための処理が準備されており、 加工プログラム ·内 部処理コンバート手段 502は、 このオペレーティングシステムの処理を呼び 出すことによって目的のアプリケーションプログラムの先頭ァドレスを取得で きる。 このようにして、 加工プログラム '内部処理コンバート手段 502は、 このオペレ一ティングシステムの処理で取得された GO指令処理の先頭ァドレ スを、 コンバートデータ登録エリア ·603に書き込むことができる。 ここでは GOについて説明したが、 他の指令、 例えば、 G 1 (切削送り指令) 、 G2 · G3 (円弧指令) 等も前述と同様にして処理の先頭アドレスを取得でき、 引数 とともにコンバートデータ登録エリア 603に書き込むことができる。 第 4図 の例では 「G0X20. 0」 指令が 「G0X 10. 0」 指令と同じ GO指令処 理の先頭ァドレスと引数 「X20. 0」 がコンバートデータ登録エリア 603 に書き込まれる。 ここで、 GOの場合、 送り速度の情報はパラメ一夕 (メモリ 107) に登録されているため、 加工プログラム '内部処理コンバート手段 5 02は送り速度の情報を引数としてコンバートデータ登録エリア 603には登 録しない。 また、 G l (G2、 G3等) の場合は、 送り速度の情報は加エブ口 グラム指令で与えられるため、 加工プログラム ·内部処理コンパ一ト手段 50 2は送り速度の情報を引数としてコンバートデータ登録ェリア 603には登録 する。
次に、 加工プログラム ·内部処理コンバート手段 502は 「M3」 指令を読 み込むと、 MS T B指令処理群 903中の M指令処理の先頭ァドレスと引数 「3」 がコンバートデータ登録エリア 603に書き込む。 なお、 第 4図の 「M 3」 指令は PLC回路 105に通知すべき指令で機械動作に関する指令の 1つ である。 M3は、 通常、 主軸の正転指令を表しており、 その他 M指令に (Ϊ主軸 の逆転指令、 停止指令、 切削油オン ·オフ指令などがあり、 機械制御に関する 信号を取り扱う。 以上、 M指令について説明したが、 他の STB指令について も同様に、 加工プログラム '内部処理コンバート手段 502が、 S指令処理の 先頭アドレスと引数、 T指令処理の先頭アドレスと引数、 B指令処理の先頭ァ ドレスと引数をコンバートデータ登録エリア 603に書き込む。 ここで S指令 とは主軸モー夕 302に対する回転速度を指令するもので、 例えば 「S 100 0」 は主軸モー夕 3 0 2に対して 1 0 0 0 r p mで回転させるという意味で、 カロェプログラム .内部処理コンバート手段 5 0 2は、 この指令を S指令処理へ のァドレスと引数 「1 0 0 0」 をコンバートデータ登録エリア 6 0 3に登録す る。 また、 T指令は工具交換に関する指令で、 例えば 「T 1 0 0 8」 は上 2桁 が工具番号を表しており、 この場合 1 0番工具を選択するという意味になる。 因みに下 2桁 「0 8」 は工具オフセット番号を示しており、 これについては後 述する。 加工プログラム ·内部処理コンバート手段 5 0 2は、 この指令を Τ指 令処理へのアドレスと引数 「1 0」 をコンバートデータ登録エリア 6 0 3に登 録する。 Β指令は第 2補助機能命令と呼ばれるもので、 Μ指令と同様に機械制 御を行うもので、 加工プログラム ·内部処理コンバート手段 5 0 2は、 この指 令を Β指令処理へのアドレスと引数をコンバートデータ登録エリア 6 0 3に登 録する。
次に、 「# 5 0 0 = # 1 0 5」 指令の場合は変数 ·オフセットコンバート手 段 5 0 4が読み込む。 # 5 0 0と # 1 0 5は変数指令を表しており、 # 5 0 0 = # 1 0 5は # 1 0 5の値を # 5 0 0に代入するという意味である。 変数の値 は、 加工プログラム実行中に加工プログラムの中で書き換えられるケースゃォ ペレ一夕が書き換えるケースが多いため、 コンバート時に変数設定画面で設定 されている値を、 予め、 コンバートしてコンバートデータ登録エリア 6 0 3に 登録することはできない。
従って、 変数のコンバートは、 変数の値が実際に設定されている変数テープ ルのアドレスをコンバートデータ登録エリア 6 0 3に登録する。 また、 変数は 演算、 代入命令と一緒に記述される場合が多い。 従って、 コンバートデータ登 録エリア 6 0 3には変数演算を記述するエリアを設け、 演算がある場合には演 箅子の記号を記述する。 例えば、 第 4図の例では 「# 5 0 0 = # 1 0 5」 の指 令に対して、 先ず変数指令処理 9 0 4の先頭アドレスを 1番目のテーブルに登 録する。 2番目のテーブルには # 1 0 5の参照先変数アドレスを登録する。 次 に # 500のコンバートについて説明する。 既に変数指令処理 904の先頭ァ ドレスが直前で登録されているため、 1番目のテーブルには何も登録しない。 次に 2番目のテーブルには演算子を登録する。この場合には代入文を示す「=」 が登録される。 3番目のテーブルには # 500の参照先変数ァドレスを登録す る。
次に参照先変数アドレスの計算について説明する。 数値制御装置 101で扱 われる変数はメモリ 107の固定領域に割り付けられている。 数値制御装置 1 0 1には基本的には 「# 100〜# 199」 と 「# 500~# 599」 の 2種 類の変数が存在するが、 これらはメモリ 107の固定の領域に割付けられてい る。 例えば 「# 100〜 199」 のエリアの先頭ァドレス、 即ち # 100のァ ドレスは 0 X a 806 c 000、 「# 500〜# 599」 のェリアの先頭ァド レス、 即ち #500のアドレスは 0xa806 d000のように決められてい る。 従って、 変数番号の値から変数参照先アドレスを計算することができる。 変数のサイズは通常 4by t eであるため、 変数 # 105の場合、
0xa806 c 000 + 4 x 5 = 0xa806 c 014
となり、
変数 # 500の場合、
0xa806d000 + 4 x 0 = 0xa806 d000
となる。
次に、 変数'オフセットコンバート手段 504は「T 1008」 を読み込む。 下 2桁の指令 「08」 は前述したように工具オフセット番号を表している。 ェ 具オフセットの値は、 変数と同様に、 加工プログラム実行中に加工プログラム の中で書き換えられるケースやオペレー夕が書き換えるケースが多いため、 コ ンバート時に変数設定画面で設定されているオフセット値を、 予めコンバート してコンバートデ一夕登録エリア 603に登録することはできない。 従って、 工具オフセッ卜のコンバートは、 工具オフセッ ト値が実際に設定されているェ 具オフセットテーブルのアドレスをコンバートデータ登録エリア 603に登録 する。 すなわち、 変数 .オフセットコンバート手段 504は、 当該指令を補間 処理部 104内のオフセット指令処理 905への先頭ァドレスをコンバートデ 一夕登録エリア 603に書き込み、 次に、 参照先オフセットアドレスをコンパ ートデータ登録エリア 603に書き込む。
参照先オフセットアドレスは次のようにして算出する。 工具オフセットデー 夕は基本的には数値制御装置 101のメモリ 107の固定領域に割付けられて いる。例えば「T 8」の場合は工具オフセットデ一夕の先頭ァドレス ( 「Τ 1」 のアドレス) を 0xa 806 e 000とすると、 工具オフセット番号からオフ セット参照先アドレスを計算することができる。 オフセットのサイズは通常 4 byt eであるため、 この場合、
0xa806e000 + 4 x ( 8 - 1 ) 二 0xa806 e01 c となり、 これをコンバートデータ登録エリア 603に登録する。
以上の処理を繰り返すことにより、 1本の加工プログラムを数値制御装置 1 01のアプリケーションプログラムにコンバートできる。
ステップ 7では、 コンバートが正常に終了した場合は、 加工プログラムコン バート処理部 501が、 メモリ 107のコンバートデータ登録エリア 603の 第 10図に示したコンバート結果内部情報に、 加工プログラム番号とコンパ一 トエラーフラグに 「0」 を書いた後、 ステップ 4に戻り、 処理を繰り返す。 ま た、加工プログラムに記述ミスがあった場合、 コンバートできずエラ一になる。 この場合、 加工プログラムコンバート処理部 501が、 メモリ 107のコンパ ートデータ登録エリア 603のコンバートエラーフラグに 「1」 を書き込み、 さらにコンバートエラー内容をコンバートデータ登録エリア 603に書き込む。 具体的には、 第 10図に示したように、 加工プログラム番号と、 コンバートェ ラーフラグと、 エラー番号と、 エラ一発生シーケンス番号と、 エラー発生プロ ック番号と、 エラー発生プログラム内容とを書き込む。 コンバートエラ一フラ グは前述のようにビット情報で、 「0」 のときは正常完了、 「 1」 のときがェ ラー発生を表している。 コンバートが正常に完了した場合は、 加工プログラム 番号とコンバートエラ一フラグ ( 「0」 ) を書き込む。 コンバートエラ一が発 生した場合、 第 1 0図の例では加工プログラム番号: 8 8 0 0、 コンバートェ ラ一フラグ 「 1」 、 エラー番号 「3 2」 、 シーケンス番号 「2 0」 、 ブロック 番号「3」、 プログラム内容「M— 1」 をコンバート結果内部情報に書き込む。 ここでエラ一番号 「3 2」 は不正ァドレスを意味している。
ステップ 8では、 コンバートエラ一表示手段 8 0 2が、 コンバート結果内部 倩報のコンバートエラ一フラグをチェックして、 第 8図に示したような形式で 表示器に表示する。 第 8図において、 左からエラー発生加工プログラム番号、 エラー番号、 エラー発生シーケンス番号、 エラ一発生ブロック番号、 エラ一発 生プログラム内容を順に表示している。 第 8図では 1番目には 0 9 0 0 0のェ ラーが、 2番目には 0 9 0 2 0のエラーが 3番目には 0 8 8 0 0のエラーが 各々表示されている。
ステップ 9では、 コンバート結果一覧表手段 8 0 1が、 コンバート結果内部 情報のコンパ一トエラーフラグをチエツクして、 第 7図に示したような形式で 表示器に表示する。 表示形式は、 加工プログラム番号とコンバートデータが正 常かエラーかまたはコンバート非対象を表示している。 第 7図では、 0 1 1 0 が正常、 0 9 0 0 0がエラ一、 0 9 0 1 0はコンバート非対象、 0 9 0 2 0は エラー、 0 8 8 0 0がエラ一であることを表示している。 オペレー夕が表示器 に表示された前記 2つ情報 (画面) からコンバート結果を確認することができ る。
次に第 3図のフローチャートを使ってコンバートされたデータを実行する手 順について説明する。
ステップ 2 1では、 コンバートデータ判定手段 4 0 1が先ず加工プログラム 番号をメモリ 1 0 7から読み出す。 ステップ 2 2では、 コンバートデータ判定手段 4 0 1が、 コンバートデ一夕 聱録エリア 6 0 3の加工プログラム番号と前述のメモリ 1 0 7から読み出され た加工プログラム番号とを比較する。 当該加工プログラム番号がコンバートデ 一夕登録エリア 6 0 3に存在しない場合はステップ 3 1に進み、 メモリ 1 0 7 に登録された通常の加工プログラム 6 0 1を従来通り実行する。 当該加工プロ グラム番号がコンバートデータ登録エリア 6 0 3に存在する場合は、 コンパ一 トデ一夕判定手段 4 0 1が、 コンバートデータ実行手段 9 0 0に当該加工プロ グラム番号のコンバートデータ実行を通知し、 ステップ 2 3に進む。
ステップ 2 3では、 コンバートデータ実行手段 9 0 0が当該加工プログラム 番号のコンバートデ一夕の実行終了をチェックする。 これは実行処理がループ 処理になっているためである。 実行終了は当該加工プログラム番号のコンパ一 トデ一夕の j u mpテーブルを最後まで実行した^うかで判断する。 実行完了 していれば処理を終了する。 実行完了していなければステップ 2 4に進む。 ステップ 2 4では、 コンバートデータ登録エリア 6 0 3の j u m pテーブル が、 G指令処理群 9 0 2へのアドレスであればステップ 2 5へ進み、 G指令処 理群 9 0 2へのアドレスでなければステップ 2 7に進む。
ステップ 2 5では、 コンバートデータ実行手段 9 0 0が、 G指令処理群 9 0 2への引数をスタックに積んで G指令処理群 9 0 2へのァドレスをプログラム カウン夕に設定し、 G指令処理群 9 0 2を呼びだす。
ステップ 2 6では、 第 4図の例で説明すると G O指令処理が引数(「X 1 0 . 0」 ) から終点座標を計算し、 位置決めを行う。 ここで、 送り速度に関する情 報は G Oの場合、 パラメ一夕 (メモリ 1 0 7に登録されている) で設定されて いるため、 G O指令処理が送り速度データをパラメ一夕から読み出す。 具体的 には制御軸 (X軸) の移動量と前述で読みだした送り速度データを用いて単位 時間当たりの移動量、 つまり補間移動量を求める。 当該補間移動量は速度に対 応した値で生成され、 さらに前記補間移動量は予めパラメータで設定されてい るパターンと時定数に基づいて所定の加減速パターンを描くように単位時間当 たりの移動量で算出される。 また、 G l (G2, G3等) 指令の場合は、 前述 のように送り速度に関する情報はコンバートデータ登録エリア 603の引数と して与えられているため、 G 1指令処理は引数の送り速度デ一夕から、 単位時 間当たりの移動量、 つまり補間移動量を求める。 当該補間移動量は GOと同様 に速度に対応した値で生成され、 さらに前記補間移動量は、 予めパラメ一夕で 設定されているパターンと時定数に基づいて所定の加減速パターンを描くよう に単位時間当たりの移動量で算出される。 当該処理完了後はステップ 23に戻 り処理を繰り返す。
ステップ 27では、 コンバートデ一夕登録エリア 603の j umpテーブル が、 MS TB指令処理へのアドレスであればステップ 28へ進み、 MSTB指 令処理へのアドレスでなければステップ 30に進む。
ステップ 28では、 コンバートデータ実行手段 900が、 MS TB指令処理 群 903への引数をスタックに積んで MSTB指令処理群 903へのァドレス をプログラムカウン夕に設定し、 MSTB指令処理群 903を呼びだす。 ステップ 29では、 第 4図の例で説明すると、 M3指令の場合、 MSTB指 令処理群 903の M指令処理が、 引数 「3」 (M番号 3) から機械制御信号処 理部 106の MSTB指令実行手段 1004を介して PLC回路 105とのィ ン夕フェースに M番号 「3」 とストローブ信号をセットする。 ストローブ信号 は、 M指令、 または S指令、 または T指令、 または B指令を、 PLC回路 10 5に通知するための信号である。 次に PLC回路 105が、 ストローブ信号を 検出して M指令が解析されたことを認識する。 そして、 イン夕フェースにセヅ 卜された M番号から対応した処理、 即ち機械シーケンス処理を実行する。 例え ば、 M3の場合は、 主軸正転を表しているので、 PLC回路 105は主軸が回 転できる状態であるか (たとえば、 チェック.が閉じられているかどうか等) を 判断し、 主軸が回転できる状態であれば、 主軸正転信号と M指令の処理を完了 したことを通知するための完了信号をインタフェースにセットする。 M S T B 指令実行手段 1 0 0 4は当該完了信号を検出すると、 M S T B指令処理群 9 0 3の M指令処理に主軸正転指令の情報を通知する。 M指令処理は M S T B指令 実行手段 1 0 0 4からの通知を受けると、 主軸モ一夕 3 0 2に対する正転信号 を主軸制御部 1 1 0、 データ入出力回路 1 2 0を介して主軸駆動装置 3 0 1に 出力することによって主軸モータ 3 0 2を回転させる。 処理を完了するとステ ップ 2 3に戻り、 処理を繰り返す。 本説明では M指令について説明したが、 他 の指令、 即ち B指令、 S指令、 T指令も同様に処理される。
ステップ 3 0では、 変数指令処理 9 0 4へのアドレスの場合は、 コンバート データ実行手段 9 0 0が、 それに続く参照先変数アドレスを変数指令処理 9 0 4への引数としてスタックに積む。 またさらに、 次の j u mpテーブルを読み 出して処理へのァドレスが空になっているときは、 さらにそれに続く演算子ま たは参照先変数ァドレスを変数指令処理 9 0 4への引数としてスタックに積む。 さらに次の j u mpテーブルを読み出して処理へのァドレスが空になっていな いときは、 1つ前の変数指令処理 9 0 4へのアドレスをプログラムカウン夕に セッ卜して変数指令処理 9 0 4を呼び出す。 第 4図の例で説明すると 「# 5 0 0 = # 1 0 5」 は、 変数指令処理 9 0 4の中で # 1 0 5への参照先変数ァドレ スから実際の変数値を読み出す。 次に演算子 「二」 と 「# 5 0 0」 から # 5 0 0への代入と判断して、 実際に読み出した # 1 0 5の変数値を # 5 0 0への参 照先変数アドレスから検索し # 5 0 0に書き込む。
オフセット指令処理 9 0 5へのアドレスの場合は、 コンバートデータ実行手 段 9 0 0それに続く参照先オフセットアドレスをオフセット指令処理 9 0 5へ の引数としてスタックに積み、 オフセット指令処理 9 0 5を呼び出す。 第 4図 の例で説明すると 「T 1 0 0 8」 の場合、 オフセヅト番号 「0 8」 の参照先ォ フセットアドレスから実際のオフセット値を読み出して機械座標値をオフセッ ト値分だけ変更する。 ステップ 3 0の処理が終了するとステップ 2 3に戻り処 理を繰り返す。
最後に第 11図のフローチャートを使って、 コンパ一トデ一夕を実行中にォ ペレ一夕の操作によって運転条件が変化した場合のコンバートデー夕実行手順 について説明する。
先ずステップ 41では、 I/O信号通知手段 1003が PLC回路 105か らの信号変化を監視する。 例えば、 オペレー夕が速度オーバライ ドダイヤルを 操作した場合は、 ?1〇回路105が速度オーバライ ドダイヤルのダイヤル値 を読み込んでオーバライ ド値として前述のイン夕フェースにセヅ卜する。また、 ォペレ一夕が MS TBロックスィツチをオンすると P L C回路 105が当該ス イッチの状態を検知して、 前述のイン夕フェースに MS TBロック信号をセッ 卜する。 これらを I/O信号通知手段 1003が信号変化としてとらえる。 ステップ 42では、 I/O信号通知手段 1003が G指令処理関連の信号を 判断する。 G指令処理関連の信号判定は I/O信号を予め G指令処理関連信号 を分類、 メモリ l 07に登録しておき、 この情報を参照することによって判定 する。 G指令処理関連の信号の場合はステップ 43に進み、 G指令処理関連の 信号でない場合はステップ 45に進む。
ステップ 43では、 I/O信号通知手段 1003が対象の G指令処理に信号 内容を通知する。 例えば、 第 4図の例で説明すると G0X 10. 0実行中にォ ペレ一夕が速度オーバライ ドダイヤルを 100%から 50%に操作した場合、 PLC回路 105からの速度オーバライ ド値が 100%から 50%へと変化す る。 I/O信号通知手段 1003は、 現在実行されている処理をコンバートデ —夕実行手段 900に問い合わせる。 コンバートデータ実行手段 900は、 I /0信号通知手段 1003に現在実行中の処理を通知する。 本ケースでは GO 指令処理であることを通知する。 I/O信号通知手段 1003は、 コンバート データ実行手段 900からの通知を受けて GO指令処理に対して速度オーバラ ィ ド値が 100%から 50%へと変化したことを通知する。 第 4図の例では点 線矢印部分が相当する。
ステップ 44では、 GO指令処理は I/O信号通知手段 1003からの速度 オーバライ ド値変更通知を受け取ると、 補間移動量を指令速度 (本ケースでは 50%即ち 1/2の速度データ) に対応した値で生成し直し、 さらに前記補間 移動量は予めパラメ一夕で設定されているパターンと時定数とに基づいて所定 の加減速パターンを描くように、 単位時間当たりの移動量で算出し直される。 ステップ 45では、 I/O信号通知手段 1003が対象の MS TB指令処理 に信号内容を通知する。 例えば、 第 4図の例で説明すると、 オペレータが MS TBロックの操作スィツチをオンした場合、 MSTBロック信号が PLC回路 105を介して I/O信号通知手段 1003に通知される。 MS TBロック信 号は MS TB指令を実行しないという意味の信号のため、 I/O信号通知手段 1003は M指令処理、 S指令処理、 T指令処理、 B指令処理各々に MSTB ロック信号が入力されたことを通知する。
ステップ 46では、 M指令処理は IZO信号通知手段 1003からの MS T Bロック信号の通知を受け取ると、 次の M指令からは信号処理を実行しないよ うに内部状態を変える。 第 4図の例で説明すると、 主軸正転指令である M3指 令で M指令処理が呼び出されても、 主軸を回転させるための信号を主軸駆動装 置 301に通知しないことになる。 実施の形態 2.
前記実施の形態 1においては、 全ての処理を数値制御装置で行うものについ て説明したが、 一部の処理を数値制御装置の外部で処理してもよい。
例えば、加工プログラムコンバート処理部 501を PC (パソコン) に設け、 この PCにて、 加工プログラム運転前に前記説明したコンパ一ト処理を行い、 このコンバートしたデータを、 数値制御装置本体のコンバートデータ登録エリ ァ 603に通信回線を介して格納するようにしてもよい。 また、 表示処理等の数値制御装置(N C )の一部処理が P Cにて処理される P C— N Cの場合には、 この P Cにて、 加工プログラム運転前に前記説明した コンバート処理を行い、 このコンバートしたデータを、 数値制御装置本体のコ ンバートデ一夕登録エリア 6 0 3に 2ポート R AMを介して格納するようにし てもよい。
また、 加工プログラムコンバート処理部 5 0 1及びコンバートデ一夕登録ェ リア 6 0 3を P Cに設け、 この P Cにて、 加工プログラム運転前に、 前記説明 したコンバート処理を行うとともに、 このコンバートしたデータを、 P C側に 設けたコンバートデ一夕登録エリア 6 0 3に格納しておき、 また N C本体側に バッファメモリを予め用意しておき、加工プログラムの運転時に、 P C側のコ ンバートデ一夕登録エリア 6 0 3に格納されたコンバートデータを、 通信回線 または 2ポート R A Mを介して N C本体側に設けたバッファメモリに送り込む ことにより、 数値制御装置本体の内部処理 (アプリケーションプログラム) を 実行するように構成してもよい。
更にまた、 コンバートプログラム選択手段 7 0 1、 コンバート結果一覧表示 手段 8 0 1、 コンバートエラ一表示手段 8 0 2等も、 必要に応じて P C側に設 けてもよい。
産業上の利用可能性
以上のように本発明に係る数値制御システムは、 加工プログラム運転時に高 速運転を行う数値制御システムとして用いられるのに適している。

Claims

請 求 の 範 囲
1 . 加工プログラムを運転する前に、 前記加工プログラムの指令を数値制御装 置の内部処理に割り付けるデータを生成するコンバート手段と、 加工プログラ ム運転時に前記コンバート手段にて生成されたデータに基づいて当該内部処理 を直接順次実行するコンバートデータ実行手段とを有することを特徴とする数 値制御システム。
2 . 前記加工プログラムの指令が Gコード、 M S T B指令である場合、 前記コンバート手段は、 前記加工プログラムの指令を、 メモリに設けられたテ 一ブルに、 数値制御装置の内部処理アドレスと引数をセットするものであるこ とを特徴とする請求の範囲第 1項に記載の数値制御システム。
3 . 前記加工プログラムの指令が変数、 オフセット指令である場合、 前記コン バート手段は、 メモリに設けられたテーブルに、 数値制御装置の内部処理ァド レスと参照先ァドレスをセッ卜するものであることを特徴とする請求の範囲第 1項に記載の数値制御システム。
4 . 加工プログラムを運転する前に、 前記加工プログラムの指令が Gコード、 M S T B指令である場合、 前記加工プログラムの指令を、 メモリに設けられた テーブルに、 数値制御装置の内部処理アドレスと引数をセットする加工プログ ラム '内部処理コンバート手段と、 加工プログラムを運転する前に、 前記加工 プログラムの指令が変数、 オフセット指令である場合、 前記加工プログラムの 指令を、 メモリに設けられたテーブルに、 数値制御装置の内部処理アドレスと 参照ァドレスをセッ卜する変数 ·オフセットコンバート手段と、 加工プログラ ム運転時に前記各コンバート手段にて生成されたデータに基づいて当該内部処 理を直接順次実行するコンバートデ一夕実行手段とを有することを特徴とする 数値制御システム。
5 . オペレータが操作した信号を検出し、 当該信号の内容に応じて内部処理に 条件を通知する I /O信号通知処理手段を有することを特徴とする請求の範囲 第 1項または第 4項に記載の数値制御システム。
6 . 加工プログラム運転時にコンバートデータの存在を判定し、 存在する場合 はコンバ一トデータを実行するようコンバートデ一夕実行手段に通知するコン バートデータ判定手段を有することを特徴とする請求の範囲第 1項、 第 4項及 び第 5項の何れかに記載の数値制御システム。
7 . 加工プログラムに記述されたコンバート有効/無効の命令を判別し、 コン ノ 一ト有効の命令がある加工プログラムのみコンバートするよう前記コンバー ト手段に通知するコンバート対象プログラム判定手段を有することを特徴とす る請求の範囲第 1項、 第 4項及び第 5項の何れかに記載の数値制御システム。
8 . 表示器に加工プログラム一覧表を表示し、 この加工プログラム一覧表から コンパ一ト対象のプログラムを選択するコンバートプログラム選択手段と、 こ のコンバ一トプログラム選択手段にて選択されたデ一夕を参照し、 コンバート 有効の命令がある加工プログラムのみコンバ一トするよう前記コンバート手段 に通知するコンバート対象プログラム判定手段とを有することを特徴とする請 求の範囲第 1項、 第 4項及び第 5項の何れかに記載の数値制御システム。
9 . コンバート結果を表示器に一覧表として表示するコンパ一ト結果一覧表示 手段を有することを特徴とする請求の範囲第 1項、 第 4項及び第 5項の何れか に記載の数値制御システム。
1 0 . コンバートエラーの羊細情報を表示器に表示するコンバートエラ一表示 手段を有することを特徴とする請求の範囲第 1項、 第 4項及び第 5項の何れか に記載の数値制御システム。
1 1 . 電源投入時に前記コンバート手段を起動する電源投入時加工プログラム コンバート起動手段を有することを特徴とする請求の範囲第 1項、 第 4項及び 第 5項の何れかに記載の数値制御システム。
1 2 . P L C信号の入力で前記コンバート手段を起動する加工プログラムコン パート起動手段を有することを特徴とする請求の範囲第 1項、 第 4項及び第 5 項の何れかに記載の数値制御システム。
PCT/JP2003/003135 2003-03-17 2003-03-17 数値制御システム WO2004083975A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/549,114 US7548795B2 (en) 2003-03-17 2003-03-17 Numerical control system
JP2004569543A JP4311349B2 (ja) 2003-03-17 2003-03-17 数値制御システム
PCT/JP2003/003135 WO2004083975A1 (ja) 2003-03-17 2003-03-17 数値制御システム
DE10394189T DE10394189T5 (de) 2003-03-17 2003-03-17 Numeriksteuersystem
CN03826159A CN100585525C (zh) 2003-03-17 2003-03-17 数控系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/003135 WO2004083975A1 (ja) 2003-03-17 2003-03-17 数値制御システム

Publications (1)

Publication Number Publication Date
WO2004083975A1 true WO2004083975A1 (ja) 2004-09-30

Family

ID=33018120

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/003135 WO2004083975A1 (ja) 2003-03-17 2003-03-17 数値制御システム

Country Status (5)

Country Link
US (1) US7548795B2 (ja)
JP (1) JP4311349B2 (ja)
CN (1) CN100585525C (ja)
DE (1) DE10394189T5 (ja)
WO (1) WO2004083975A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293744A (ja) * 2005-04-12 2006-10-26 Fanuc Ltd プログラム変換装置
DE112006000330T5 (de) * 2006-07-26 2009-06-04 Mitsubishi Electric Corp. Numerische Steuerungsvorrichtung
JP5280665B2 (ja) * 2007-10-26 2013-09-04 オークマ株式会社 手動シフト操作機能を備えた数値制御装置
US8688258B2 (en) 2008-09-11 2014-04-01 Rockwell Automation Technologies, Inc. Method of controlling a machine tool
EP2189861B1 (de) * 2008-11-24 2012-10-31 Siemens Aktiengesellschaft Verfahren zur Erstellung eines Teileprogramms
CN102365594B (zh) * 2009-03-25 2014-04-16 三菱电机株式会社 参数设定装置
US8498733B2 (en) * 2009-09-28 2013-07-30 Hurco Companies, Inc. Method and apparatus for reducing tool change operations
CN102789208A (zh) * 2011-05-18 2012-11-21 大连光洋科技工程有限公司 记录及利用操作信息的数控系统及其操作方法
KR101856198B1 (ko) * 2011-12-26 2018-05-11 두산공작기계 주식회사 공구 교환 제어 장치 및 그 방법
WO2014118918A1 (ja) * 2013-01-30 2014-08-07 三菱電機株式会社 数値制御装置
CN103197594A (zh) * 2013-02-27 2013-07-10 上海维宏电子科技股份有限公司 数控机床控制系统中实现双区域加工的方法
DE112013006799T5 (de) * 2013-04-08 2015-11-26 Mitsubishi Electric Corporation Numerische Steuerungsvorrichtung
US9207986B2 (en) * 2013-04-11 2015-12-08 Facebook, Inc. Identifying a next window of idle time to perform pre-generation tasks of content portions outside of the displayable region stored in a message queue
US9760964B2 (en) 2013-04-11 2017-09-12 Facebook, Inc. Application-tailored object re-use and recycling
US10126903B2 (en) 2013-04-15 2018-11-13 Facebook, Inc. Application-tailored object pre-inflation
JP5960189B2 (ja) * 2014-04-18 2016-08-02 ファナック株式会社 加工サイクル生成機能を有する数値制御装置およびプログラム編集方法
JP6088478B2 (ja) * 2014-10-27 2017-03-01 ファナック株式会社 テーブル形式データによる運転を行う数値制御装置
JP6026490B2 (ja) * 2014-11-07 2016-11-16 ファナック株式会社 パラメータ変更によりncプログラムの起動が可能な数値制御装置
EP3045993A1 (de) * 2015-01-15 2016-07-20 Siemens Aktiengesellschaft Fertigungssystem mit zusätzlicher Funktionalität und Betriebsverfahren
JP7372053B2 (ja) * 2019-05-20 2023-10-31 ファナック株式会社 演算装置
CN112147951B (zh) * 2020-09-28 2022-09-30 沈机(上海)智能系统研发设计有限公司 机加工设备热误差补偿方法及其装置、系统、介质、终端

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06318109A (ja) * 1993-12-27 1994-11-15 Fanuc Ltd 数値制御装置
JPH086623A (ja) * 1994-06-23 1996-01-12 Okuma Mach Works Ltd 手動割り込み軸移動機能を備えた数値制御装置
EP0816959A2 (en) * 1996-07-02 1998-01-07 Toyoda Koki Kabushiki Kaisha Compact numerical controller
JPH11149307A (ja) * 1997-11-17 1999-06-02 Yaskawa Electric Corp 2次記憶装置を備えたロボット制御装置
JP2001228905A (ja) * 2000-02-18 2001-08-24 Nisshinbo Ind Inc 運転訓練支援機能を有する数値制御装置
JP2002123306A (ja) * 2000-10-17 2002-04-26 Toshiba Mach Co Ltd 工作機械の監視システム
JP2003053688A (ja) * 2001-05-15 2003-02-26 Fanuc Robotics North America Inc 教示ペンダントを有するロボット・システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59172008A (ja) * 1983-03-22 1984-09-28 Mitsubishi Electric Corp 数値制御装置
US5600584A (en) * 1992-09-15 1997-02-04 Schlafly; Roger Interactive formula compiler and range estimator
GB2369456A (en) 1999-12-17 2002-05-29 Mitsubishi Electric Corp Method and system for numerical control of machine tool
US20030195642A1 (en) * 2002-04-12 2003-10-16 Ragnini Richard Raymond Portable hand-held CNC machine tool programming device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06318109A (ja) * 1993-12-27 1994-11-15 Fanuc Ltd 数値制御装置
JPH086623A (ja) * 1994-06-23 1996-01-12 Okuma Mach Works Ltd 手動割り込み軸移動機能を備えた数値制御装置
EP0816959A2 (en) * 1996-07-02 1998-01-07 Toyoda Koki Kabushiki Kaisha Compact numerical controller
JPH11149307A (ja) * 1997-11-17 1999-06-02 Yaskawa Electric Corp 2次記憶装置を備えたロボット制御装置
JP2001228905A (ja) * 2000-02-18 2001-08-24 Nisshinbo Ind Inc 運転訓練支援機能を有する数値制御装置
JP2002123306A (ja) * 2000-10-17 2002-04-26 Toshiba Mach Co Ltd 工作機械の監視システム
JP2003053688A (ja) * 2001-05-15 2003-02-26 Fanuc Robotics North America Inc 教示ペンダントを有するロボット・システム

Also Published As

Publication number Publication date
JPWO2004083975A1 (ja) 2006-06-22
CN1759357A (zh) 2006-04-12
DE10394189T5 (de) 2006-02-02
US20060173572A1 (en) 2006-08-03
JP4311349B2 (ja) 2009-08-12
CN100585525C (zh) 2010-01-27
US7548795B2 (en) 2009-06-16

Similar Documents

Publication Publication Date Title
WO2004083975A1 (ja) 数値制御システム
JP4388427B2 (ja) スクリプト言語で記述されたプログラムを呼出し可能な数値制御装置
US5321603A (en) Programming apparatus for an industrial controller using two-dimensional graphic behavior profiles
CN103676772A (zh) 具有系统间等待功能的数值控制装置
EP1710645B1 (en) Numerical control system
EP1918796A2 (en) Numerical controller with machining resume function
US20040236462A1 (en) Numerical control apparatus for machine tool
US20160062336A1 (en) Numerical controller for facilitating adjustment of machining motion
JP6638979B2 (ja) 加工工程管理機能付き数値制御装置および加工工程管理プログラム
US4328448A (en) Method for programmably controlling the sequence of execution of data blocks in a program
JP7448377B2 (ja) 加工プログラムの管理装置、管理システム、管理方法
US11360454B2 (en) Ladder display device for circuit generation using touch panel
JP4112433B2 (ja) 工作機械の数値制御装置と工作機械の数値制御方法
JP3764436B2 (ja) 機械の制御装置
JPS61160108A (ja) 数値制御工作機械における加工制御方法
JP2008211888A (ja) 電動機制御装置および電動機制御装置のパラメータ設定装置
JPH02151909A (ja) 産業用機械の制御装置
US20040176871A1 (en) Processing program creation apparatus
WO1988006751A1 (en) Processor for plc and plc
JP7473653B2 (ja) 制御対象物を制御する設定パラメータを所定のタイミングで変更する機能を有する数値制御装置及びその設定パラメータ変更方法
WO2023203724A1 (ja) 表示装置およびコンピュータ読み取り可能な記憶媒体
JP4208600B2 (ja) Nc工作機械
JP2503634B2 (ja) マイクロプログラム制御装置
JPH02114302A (ja) 数値制御装置
JPH11194808A (ja) 数値制御装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN DE JP US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2004569543

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 20038261596

Country of ref document: CN

RET De translation (de og part 6b)

Ref document number: 10394189

Country of ref document: DE

Date of ref document: 20060202

Kind code of ref document: P

WWE Wipo information: entry into national phase

Ref document number: 10394189

Country of ref document: DE

ENP Entry into the national phase

Ref document number: 2006173572

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10549114

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10549114

Country of ref document: US