US20200089197A1 - Numerical controller - Google Patents

Numerical controller Download PDF

Info

Publication number
US20200089197A1
US20200089197A1 US16/568,584 US201916568584A US2020089197A1 US 20200089197 A1 US20200089197 A1 US 20200089197A1 US 201916568584 A US201916568584 A US 201916568584A US 2020089197 A1 US2020089197 A1 US 2020089197A1
Authority
US
United States
Prior art keywords
memory map
task
numerical controller
memory
control unit
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
US16/568,584
Other versions
US11550296B2 (en
Inventor
Yuuki Sakayori
Akira KANEMARU
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
Assigned to FANUC CORPORATION reassignment FANUC CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KANEMARU, AKIRA, Sakayori, Yuuki
Publication of US20200089197A1 publication Critical patent/US20200089197A1/en
Application granted granted Critical
Publication of US11550296B2 publication Critical patent/US11550296B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

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/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4147Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using a programmable interface controller [PIC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • 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
    • 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/4093Numerical 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 part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4145Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using same processor to execute programmable controller and numerical controller function [CNC] and PC controlled NC [PCNC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a numerical controller, and more particularly to a numerical controller having a function of safely reconstructing a memory map.
  • most information processing apparatuses in which embedded software is installed determine a software configuration, a code area, sizes and addresses of a work area according to preset parameters and options. These memory locations are referred to as a memory map. It is designed to improve reliability and stability by fixing the memory map.
  • the invention is intended to solve such problems, and it is an object to provide a numerical controller having a function of safely reconstructing a memory map.
  • a numerical controller includes an activation unit that builds a memory map according to settings when the numerical controller is powered on; a change detection unit that detects an operation requiring reconstructing of the memory map; a task control unit that, when the operation is detected, performs a stopping process of a task being operated; and a memory map control unit that, after the task has stopped, acquires a backup of the memory map, reconstructs the memory map according to the setting, and compares the reconstructed memory map and the backed-up memory map, and resets information required for operating the task again such as a program counter.
  • the task control unit restarts the stopped task after the completion of the processing by the memory map control unit.
  • the numerical controller further includes a peripheral device communication unit that performs communication with peripheral devices while the memory map control unit reconstructs the memory map, in which the communication is executed by arranging the backed-up memory map in a memory area different from a memory area of the memory map being reconstructed and further developing a program for executing the communication.
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of a numerical controller
  • FIG. 2 is a diagram showing an example of a functional configuration of the numerical controller
  • FIG. 3 is a flowchart showing an operation example of the numerical controller
  • FIG. 4 is a diagram showing a problem in the related art
  • FIG. 5 is a diagram showing a problem in the related art.
  • FIG. 6 is a diagram showing a problem in the related art.
  • FIG. 1 is a schematic hardware configuration diagram showing a main part of the numerical controller 1 according to the first embodiment.
  • the numerical controller 1 is a device that controls an industrial machine including a machine tool.
  • the numerical controller 1 includes a CPU 11 , a ROM 12 , a RAM 13 , a non-volatile memory 14 , a bus 10 , an axis control circuit 16 , a servo amplifier 17 , an interface 18 , and an interface 19 .
  • a servomotor 50 , an input/output device 60 , and one or more peripheral devices 70 are connected to the numerical controller 1 .
  • the CPU 11 is a processor that controls the numerical controller 1 as a whole.
  • the CPU 11 reads the system program stored in the ROM 12 via the bus 10 , and controls the entire numerical controller 1 according to the system program.
  • the ROM 12 stores, for example, a system program for executing various controls of the machine.
  • the RAM 13 temporarily stores temporary calculation data and display data, data and programs input by the operator via the input/output device 60 , and the like.
  • the non-volatile memory 14 is backed up by, for example, a battery, not shown, and retains the stored state even if the power of the numerical controller 1 is shut off.
  • the non-volatile memory 14 stores data, programs, and the like input from the input/output device 60 .
  • the program and data stored in the non-volatile memory 14 may be expanded on the RAM 13 at the time of execution and use.
  • the axis control circuit 16 controls the operating axis of the machine.
  • the axis control circuit 16 receives an axis movement command amount output from the CPU 11 , and outputs an operation axis movement command to the servo amplifier 17 .
  • the servo amplifier 17 drives the servomotor 50 in response to an axis movement command output from the axis control circuit 16 .
  • the servomotor 50 is driven by the servo amplifier 17 to move the operating axis of the machine.
  • the servomotor 50 typically incorporates a position/speed detector.
  • the position/speed detector outputs a position/speed feedback signal, which is fed back to the axis control circuit 16 to perform position/speed feedback control.
  • FIG. 1 Although only one axis control circuit 16 , one servo amplifier 17 , and one servomotor 50 are shown in FIG. 1 , in actually, these are prepared by the same number as the number of axes to be controlled provided in the machine.
  • the input/output device 60 is a data input/output device provided with a display, a hardware key and the like, and is typically an MDI or a control panel.
  • the input/output device 60 displays the information received from the CPU 11 via the interface 18 on the display.
  • the input/output device 60 passes a command, data, etc. input from a hardware key or the like to the CPU 11 via the interface 18 .
  • the peripheral device 70 is one or more peripheral devices connected to the numerical controller or the machine tool, and includes, for example, various sensors, timers, robots, and the like.
  • the peripheral device 70 receives information from the CPU 11 via the interface 19 .
  • Information output by the peripheral device 70 is passed to the CPU 11 via the interface 19 .
  • FIG. 2 is a block diagram showing a characteristic functional configuration of the numerical controller 1 .
  • the typical numerical controller 1 includes an activation unit 101 , a task control unit 102 , a change detection unit 103 , a peripheral device communication unit 104 , and a memory map control unit 105 .
  • a combination of these is a component enabled by the unique technology of the invention.
  • each processing unit of the numerical controller 1 will be described in sequence with reference to the flowchart of FIG. 3 .
  • the flowchart in FIG. 3 can be roughly classified into processing in a left rectangle surrounded by the dashed dotted line and processing in a right rectangle surrounded by the dashed dotted line.
  • the processing in the rectangle on the right side particularly includes the novel processing unique to the invention.
  • the activation unit 101 performs processing necessary when the numerical controller 1 is powered on (S 101 ). For example, parameters and options stored in advance in the non-volatile memory 14 are read, software is loaded according to the settings, and a memory map of a code area and a work area is created. Furthermore, initialization of tasks and initialization of communication between the CPU 11 and the peripheral devices 70 are performed. After that, the activation unit 101 notifies the task control unit 102 of the completion of the processing to be executed at the time of power-on.
  • the task control unit 102 executes processing for activating the task (S 102 ) or stopping the task according to the cycle and priority of the task. To stop the task, make sure that the active task is not performing critical processing and then stop it. If there is a task that is performing critical processing, it is stopped after the processing of the task is completed (S 104 to S 105 ). When the operator performs an operation requiring a restart (detected and notified by the change detection unit 103 described later), the task control unit 102 notifies the memory map control unit 105 that all tasks have stopped, and then asks to reconstruct the memory map.
  • the change detection unit 103 detects an operation by an operator that needs to be restarted (S 103 ).
  • An operation requiring a restart is an operation requiring a reconstruct of the memory map, and includes, for example, software installation. If an operation requiring restart is detected, the change detection unit 103 requests the task control unit 102 to stop all tasks in operation. When all tasks in operation stop, access to the memory area to be reconstructed by the CPU 11 is stopped, and safe reconstruction of the memory map is enabled.
  • the peripheral device communication unit 104 substitutes communication (handshake) between the peripheral device 70 and the numerical controller 1 (S 106 ). For example, there are a process of invalidating a watchdog timer monitoring the state of the numerical controller 1 and a process of returning a response when a request or feedback is transmitted from the servo motor to the numerical controller 1 . As a result, the peripheral device 70 can continue to operate while the numerical controller 1 is reconstructing the memory map without false recognition that the numerical controller 1 has stopped operating or the like.
  • the peripheral device communication unit 104 can execute this process using a memory area other than the memory area under reconstruction. That is, the peripheral device communication unit 104 secures a temporary memory map including a program and a work area for performing handshake processing with the peripheral device 70 in an area different from the memory map to be reconstructed. While the memory map control unit 105 is reconstructing the memory map, the peripheral device communication unit 104 performs handshake processing with the peripheral device 70 using the above-described temporary memory map.
  • the memory map control unit 105 controls the memory map.
  • the memory map control unit 105 acquires a backup of the memory map before starting reconstructing the memory map (S 107 ).
  • the memory map control unit 105 reads parameters and options again, executes known pre-check processing (whether the memory map after reconstructing exceeds the usable memory size, etc.), and then loads software according to setting of the parameters and he options to reconstruct the memory map of the code area and the work area (S 108 ).
  • the memory map control unit 105 After reconstructing the memory map, the memory map control unit 105 compares the backed up memory map with the reconstructed memory map, and the information necessary for causing the task or the CPU 11 to operate the task again such as an appropriate program counter are reset (S 109 ). This makes it possible to operate the task safely. After that, the memory map control unit 105 requests the task control unit 102 to start the task (S 102 ).
  • the memory map can be reconstructed while maintaining the connection with the peripheral device 70 without requiring the restart.
  • the time required for restarting the numerical controller 1 (including the time required for restarting the peripheral devices, and the like) can be reduced, so that the burden on the operator can be reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manufacturing & Machinery (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Numerical Control (AREA)
  • Memory System (AREA)

Abstract

A numerical controller includes an activation unit that builds a memory map according to settings when the power is on; a change detection unit that detects an operation requiring reconstructing of the memory map; a task control unit that, when the operation is detected, performs a stopping process of a task being operated; and a memory map control unit that, after the task has stopped, acquires a backed up memory, reconstructs the memory map according to the setting, and compares the reconstructed memory map and the backed-up memory map, and resets information required for operating the task again such as a program counter.

Description

    RELATED APPLICATION
  • The present application claims priority to Japanese Application Number 2018-174185 filed Sep. 18, 2018, the disclosure of which is hereby incorporated by reference herein in its entirety.
  • BACKGROUND OF THE INVENTION 1. Field of the Invention
  • The present invention relates to a numerical controller, and more particularly to a numerical controller having a function of safely reconstructing a memory map.
  • 2. Description of the Related Art
  • At the time of power-on, most information processing apparatuses in which embedded software is installed determine a software configuration, a code area, sizes and addresses of a work area according to preset parameters and options. These memory locations are referred to as a memory map. It is designed to improve reliability and stability by fixing the memory map.
  • Similarly to the above information processing apparatuses, improvement of reliability and stability is improved by fixing the numerical controller that controls an industrial machine including a machine tool (hereinafter simply referred to as a machine) is achieved by fixing the memory map such as a code area and a work area. (see, for example, Japanese Patent Application Laid-Open No. 08-137513). In the method of acquiring memory dynamically without fixing the memory map, for example, a lot of memory is secured by one function, and even if you an attempt is made to acquire the memory by another function, acquisition of memory fails or the like depending on the state of the numerical controller, and consequently, unintended behavior may occur. In addition, when the operation becomes unstable, the same result is not always obtained even if the same processing program is operated, and the reproducibility is reduced.
  • However, when the memory map is fixed, it is necessary to restart the numerical controller in order to reconstruct the memory map each time the parameter or option setting is changed during the operation of the numerical controller. For example, since the setting needs to be changed frequently when the machine tool is started, the numerical controller is repeatedly restarted, which places a burden on the operator. Furthermore, when restarting the numerical controller, it is also necessary to restart the peripheral devices connected to the numerical controller or the machine tool at the same time. At this time, it often takes much time for all peripheral devices to start up.
  • Currently, it is common to determine the memory map when the numerical controller is powered on, but in order to avoid the problems described above, it is sufficient to reflect changes in parameters and options without restarting the numerical controller. In order to reconstruct the memory map during operation of the numerical controller, it is necessary to stop the memory access of a CPU. If the memory map is reconstructed without stopping the memory access by the CPU, the program counter (FIG. 4(a)) to which the CPU points immediately before the repartition becomes an abnormal value at the next moment (FIG. 4(b)), which may cause a failure.
  • It takes a considerable amount of time to stop the memory access of the CPU and perform the same processing as when the power is on during operation of the numerical controller. During that time, processing that requires a response in real time and responses to connected peripheral devices cannot be performed at all (FIG. 5). If there is no response from the numerical controller, for example, there is a possibility that the peripheral devices may view the numerical controller to have an abnormality or the like and stop the operation (FIG. 6).
  • SUMMARY OF THE INVENTION
  • The invention is intended to solve such problems, and it is an object to provide a numerical controller having a function of safely reconstructing a memory map.
  • A numerical controller according to an embodiment of the invention includes an activation unit that builds a memory map according to settings when the numerical controller is powered on; a change detection unit that detects an operation requiring reconstructing of the memory map; a task control unit that, when the operation is detected, performs a stopping process of a task being operated; and a memory map control unit that, after the task has stopped, acquires a backup of the memory map, reconstructs the memory map according to the setting, and compares the reconstructed memory map and the backed-up memory map, and resets information required for operating the task again such as a program counter.
  • In the numerical controller according to an embodiment of the invention, the task control unit restarts the stopped task after the completion of the processing by the memory map control unit.
  • The numerical controller according to an embodiment of the invention further includes a peripheral device communication unit that performs communication with peripheral devices while the memory map control unit reconstructs the memory map, in which the communication is executed by arranging the backed-up memory map in a memory area different from a memory area of the memory map being reconstructed and further developing a program for executing the communication.
  • According to the invention, it is possible to provide a numerical controller having a function of safely reconstructing a memory map.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other objects and features of the invention will be apparent from the following description of embodiments with reference to the accompanying drawings. Of those figures:
  • FIG. 1 is a diagram illustrating an example of a hardware configuration of a numerical controller;
  • FIG. 2 is a diagram showing an example of a functional configuration of the numerical controller;
  • FIG. 3 is a flowchart showing an operation example of the numerical controller;
  • FIG. 4 is a diagram showing a problem in the related art;
  • FIG. 5 is a diagram showing a problem in the related art; and
  • FIG. 6 is a diagram showing a problem in the related art.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 is a schematic hardware configuration diagram showing a main part of the numerical controller 1 according to the first embodiment. The numerical controller 1 is a device that controls an industrial machine including a machine tool. The numerical controller 1 includes a CPU 11, a ROM 12, a RAM 13, a non-volatile memory 14, a bus 10, an axis control circuit 16, a servo amplifier 17, an interface 18, and an interface 19. A servomotor 50, an input/output device 60, and one or more peripheral devices 70 are connected to the numerical controller 1.
  • The CPU 11 is a processor that controls the numerical controller 1 as a whole. The CPU 11 reads the system program stored in the ROM 12 via the bus 10, and controls the entire numerical controller 1 according to the system program.
  • The ROM 12 stores, for example, a system program for executing various controls of the machine.
  • The RAM 13 temporarily stores temporary calculation data and display data, data and programs input by the operator via the input/output device 60, and the like.
  • The non-volatile memory 14 is backed up by, for example, a battery, not shown, and retains the stored state even if the power of the numerical controller 1 is shut off. The non-volatile memory 14 stores data, programs, and the like input from the input/output device 60. The program and data stored in the non-volatile memory 14 may be expanded on the RAM 13 at the time of execution and use.
  • The axis control circuit 16 controls the operating axis of the machine. The axis control circuit 16 receives an axis movement command amount output from the CPU 11, and outputs an operation axis movement command to the servo amplifier 17.
  • The servo amplifier 17 drives the servomotor 50 in response to an axis movement command output from the axis control circuit 16.
  • The servomotor 50 is driven by the servo amplifier 17 to move the operating axis of the machine. The servomotor 50 typically incorporates a position/speed detector. The position/speed detector outputs a position/speed feedback signal, which is fed back to the axis control circuit 16 to perform position/speed feedback control.
  • Although only one axis control circuit 16, one servo amplifier 17, and one servomotor 50 are shown in FIG. 1, in actually, these are prepared by the same number as the number of axes to be controlled provided in the machine.
  • The input/output device 60 is a data input/output device provided with a display, a hardware key and the like, and is typically an MDI or a control panel. The input/output device 60 displays the information received from the CPU 11 via the interface 18 on the display. The input/output device 60 passes a command, data, etc. input from a hardware key or the like to the CPU 11 via the interface 18.
  • The peripheral device 70 is one or more peripheral devices connected to the numerical controller or the machine tool, and includes, for example, various sensors, timers, robots, and the like. The peripheral device 70 receives information from the CPU 11 via the interface 19. Information output by the peripheral device 70 is passed to the CPU 11 via the interface 19.
  • FIG. 2 is a block diagram showing a characteristic functional configuration of the numerical controller 1. The typical numerical controller 1 includes an activation unit 101, a task control unit 102, a change detection unit 103, a peripheral device communication unit 104, and a memory map control unit 105. A combination of these is a component enabled by the unique technology of the invention.
  • The operation of each processing unit of the numerical controller 1 will be described in sequence with reference to the flowchart of FIG. 3. The flowchart in FIG. 3 can be roughly classified into processing in a left rectangle surrounded by the dashed dotted line and processing in a right rectangle surrounded by the dashed dotted line. Among these, the processing in the rectangle on the right side particularly includes the novel processing unique to the invention.
  • The activation unit 101 performs processing necessary when the numerical controller 1 is powered on (S101). For example, parameters and options stored in advance in the non-volatile memory 14 are read, software is loaded according to the settings, and a memory map of a code area and a work area is created. Furthermore, initialization of tasks and initialization of communication between the CPU 11 and the peripheral devices 70 are performed. After that, the activation unit 101 notifies the task control unit 102 of the completion of the processing to be executed at the time of power-on.
  • After the completion of the processing to be executed at the time of power-on, the task control unit 102 executes processing for activating the task (S102) or stopping the task according to the cycle and priority of the task. To stop the task, make sure that the active task is not performing critical processing and then stop it. If there is a task that is performing critical processing, it is stopped after the processing of the task is completed (S104 to S105). When the operator performs an operation requiring a restart (detected and notified by the change detection unit 103 described later), the task control unit 102 notifies the memory map control unit 105 that all tasks have stopped, and then asks to reconstruct the memory map.
  • The change detection unit 103 detects an operation by an operator that needs to be restarted (S103). An operation requiring a restart is an operation requiring a reconstruct of the memory map, and includes, for example, software installation. If an operation requiring restart is detected, the change detection unit 103 requests the task control unit 102 to stop all tasks in operation. When all tasks in operation stop, access to the memory area to be reconstructed by the CPU 11 is stopped, and safe reconstruction of the memory map is enabled.
  • While the memory map control unit 105 reconstructs the memory map, that is, while the CPU 11 stops the memory access to the memory area being reconstructed, the peripheral device communication unit 104 substitutes communication (handshake) between the peripheral device 70 and the numerical controller 1 (S106). For example, there are a process of invalidating a watchdog timer monitoring the state of the numerical controller 1 and a process of returning a response when a request or feedback is transmitted from the servo motor to the numerical controller 1. As a result, the peripheral device 70 can continue to operate while the numerical controller 1 is reconstructing the memory map without false recognition that the numerical controller 1 has stopped operating or the like.
  • The peripheral device communication unit 104 can execute this process using a memory area other than the memory area under reconstruction. That is, the peripheral device communication unit 104 secures a temporary memory map including a program and a work area for performing handshake processing with the peripheral device 70 in an area different from the memory map to be reconstructed. While the memory map control unit 105 is reconstructing the memory map, the peripheral device communication unit 104 performs handshake processing with the peripheral device 70 using the above-described temporary memory map.
  • The memory map control unit 105 controls the memory map. When requested by the task control unit 102 to reconstruct the memory map, the memory map control unit 105 acquires a backup of the memory map before starting reconstructing the memory map (S107). After that, the memory map control unit 105 reads parameters and options again, executes known pre-check processing (whether the memory map after reconstructing exceeds the usable memory size, etc.), and then loads software according to setting of the parameters and he options to reconstruct the memory map of the code area and the work area (S108).
  • After reconstructing the memory map, the memory map control unit 105 compares the backed up memory map with the reconstructed memory map, and the information necessary for causing the task or the CPU 11 to operate the task again such as an appropriate program counter are reset (S109). This makes it possible to operate the task safely. After that, the memory map control unit 105 requests the task control unit 102 to start the task (S102).
  • According to the present embodiment, even when an operation that requires the restart of the numerical controller 1 in the related art, that is, an operation that requires reconstruction of the memory map is performed, the memory map can be reconstructed while maintaining the connection with the peripheral device 70 without requiring the restart. As a result, the time required for restarting the numerical controller 1 (including the time required for restarting the peripheral devices, and the like) can be reduced, so that the burden on the operator can be reduced. In addition, it is possible to reduce the power consumption and the like accompanied with the restart.
  • Furthermore, according to the present embodiment, it is easy to attach and remove software and functions (such as dynamic download). In addition, since it is not necessary to restart the numerical controller 1 when performing fault handling, debugging, and the like or when updating software, it is possible to realize a more flexible usage form than in the related art.
  • As mentioned above, although the embodiment of the invention has been described, the invention can be implemented in another aspect by adding an appropriate change without being limited to the example of embodiment mentioned above.

Claims (3)

1. A numerical controller comprising:
an activation unit that builds a memory map according to settings when the numerical controller is powered on;
a change detection unit that detects an operation requiring reconstructing of the memory map;
a task control unit that, when the operation is detected, performs a stopping process of a task being operated; and
a memory map control unit that, after the task has stopped, acquires a backup of the memory map, reconstructs the memory map according to the setting, and compares the reconstructed memory map and the backed-up memory map, and resets information required for operating the task again such as a program counter.
2. The numerical controller according to claim 1, wherein the task control unit restarts the stopped task after the completion of the processing by the memory map control unit.
3. The numerical controller according to claim 1, further comprising
a peripheral device communication unit that performs communication with a peripheral device while the memory map control unit reconstructs the memory map, wherein
the communication is executed by arranging the backed-up memory map in a memory area different from a memory area of the memory map being reconstructed and further developing a program for executing the communication.
US16/568,584 2018-09-18 2019-09-12 Numerical controller Active 2041-04-02 US11550296B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018174185A JP6823027B2 (en) 2018-09-18 2018-09-18 Numerical control device
JPJP2018-174185 2018-09-18
JP2018-174185 2018-09-18

Publications (2)

Publication Number Publication Date
US20200089197A1 true US20200089197A1 (en) 2020-03-19
US11550296B2 US11550296B2 (en) 2023-01-10

Family

ID=69647128

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/568,584 Active 2041-04-02 US11550296B2 (en) 2018-09-18 2019-09-12 Numerical controller

Country Status (4)

Country Link
US (1) US11550296B2 (en)
JP (1) JP6823027B2 (en)
CN (1) CN110908339B (en)
DE (1) DE102019006412A1 (en)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3054783B2 (en) * 1991-06-04 2000-06-19 三菱電機株式会社 Numerical control unit
JPH05224729A (en) * 1992-02-07 1993-09-03 Okuma Mach Works Ltd Numerical controller containing control program changing function
JPH08137513A (en) 1994-11-10 1996-05-31 Fanuc Ltd Memory management system
JPH09212226A (en) 1996-02-05 1997-08-15 Fanuc Ltd Method for setting parameter in cnc device
US7461144B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with enhanced security
JP2005204397A (en) * 2004-01-15 2005-07-28 Matsushita Electric Ind Co Ltd Motor control system
JP4185142B2 (en) * 2007-02-06 2008-11-26 ファナック株式会社 Numerical controller
JP5743469B2 (en) * 2010-09-22 2015-07-01 キヤノン株式会社 Information processing apparatus, control method thereof, and control program
CN103294406B (en) * 2012-03-05 2016-08-17 联想(北京)有限公司 Control method, control device, storage device and electronic equipment
EP2993780A4 (en) * 2013-04-30 2017-01-11 Fuji Electric Co., Ltd. Controller and map file conversion device
JP5905532B2 (en) * 2014-07-09 2016-04-20 ファナック株式会社 Control system including a control device for controlling a machine having a plurality of axes
EP3118696B1 (en) * 2015-04-06 2020-07-22 Mitsubishi Electric Corporation Programmable controller system
US10268503B2 (en) * 2015-06-24 2019-04-23 International Business Machines Corporation Performance of virtual machine fault tolerance micro-checkpointing using transactional memory
JP2017041182A (en) * 2015-08-21 2017-02-23 ファナック株式会社 Numerical control device
JP6609199B2 (en) * 2016-03-01 2019-11-20 ルネサスエレクトロニクス株式会社 Embedded equipment
JP6444938B2 (en) * 2016-05-12 2018-12-26 ファナック株式会社 Numerical control device equipped with a function for pre-reading machining programs by specifying conditions
JP6768430B2 (en) * 2016-09-23 2020-10-14 キヤノン株式会社 Image forming device, information processing device, control method of information processing device

Also Published As

Publication number Publication date
US11550296B2 (en) 2023-01-10
DE102019006412A1 (en) 2020-03-19
CN110908339B (en) 2024-03-15
CN110908339A (en) 2020-03-24
JP6823027B2 (en) 2021-01-27
JP2020046874A (en) 2020-03-26

Similar Documents

Publication Publication Date Title
US10102045B2 (en) Control device, control method and program
CN107885305B (en) Control device, control method, and recording medium
JP3886539B2 (en) How to load the operating system
US5170109A (en) Method of controlling robot in event of a power failure
JP5041290B2 (en) PROGRAMMABLE CONTROLLER AND ITS ERROR RECOVERY METHOD
US11550296B2 (en) Numerical controller
EP3540533B1 (en) Controller and data storage method
JP4131078B2 (en) Robot controller
US20030140082A1 (en) Patch processing system and method
JP6810630B2 (en) Robot control device, robot system and robot control method
JPS5941027A (en) Computer system
JP2002312076A (en) Power supply control device for computer system
JPH09259004A (en) Debugging method
JP3785844B2 (en) Programmable controller and activation method thereof
JP3473002B2 (en) Data processing device and data processing method
JP2684966B2 (en) I / O processor debug device
JP3126473B2 (en) How to set up a computer system
JPS62209627A (en) Data processor
JPH02138638A (en) Load control system for service processor
JPS62212865A (en) Multiprocessor control system
JPH0823815B2 (en) Configuration control method
JPH02310634A (en) System for supervising runaway of program
JPH0316656B2 (en)
JPH0233610A (en) Data processing system
JPH0720166B2 (en) Control device

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: FANUC CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SAKAYORI, YUUKI;KANEMARU, AKIRA;REEL/FRAME:050613/0236

Effective date: 20190528

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE