Motor control device, numerical control device, robot control and integrated control system

The motor control device with a scalable architecture using serial communication interfaces addresses the challenge of controlling a high number of axes by reusing standard ASICs, achieving efficient and cost-effective control.

DE102020130130B4Active Publication Date: 2026-06-11FANUC LTD

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2020-11-16
Publication Date
2026-06-11

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Engine control device (1), comprising a main CPU (11) that outputs position command values ​​to multiple motors; multiple integrated circuits (12) configured according to the number of multiple motors and connected to the main CPU (11); and multiple sub-CPUs (13) connected according to the respective multiple integrated circuits (12), wherein each of the multiple integrated circuits (12) has a motor interface control unit (21) which outputs a drive command value to an amplifier which drives a motor such that the motor moves to the position of the position command value, a serial main CPU interface (22) that performs communication between the main CPU (11) and the motor interface control unit (21), a serial sub-CPU interface (23) that performs communication between the sub-CPUs (13) connected to the integrated circuits (12) and the motor interface control unit (21), an internal bus (24) that connects the main serial CPU interface (22) and the motor interface control unit (21), and a serial optional unit interface (25) connected to the internal bus (24), wherein each of the several sub-CPUs (13) controls the output of the drive command value by the motor interface control unit (21) in the integrated circuit (12) connected to the respective sub-CPU (13) on the basis of the position command value read via the integrated circuit (12) connected to the respective sub-CPU (13) and a position feedback value from the motor, wherein the motor interface control units (21) of the respective multiple integrated circuits (12) are interconnected via the serial optional unit interface (25).
Need to check novelty before this filing date? Find Prior Art

Description

General state of the art 1. Field of invention

[0001] The present invention relates to a motor control device, a numerical control device, a robot control system and an integrated control system. 2. Description of the state of the art

[0002] In recent years, the development of multi-core processors has been advanced. Furthermore, some communication between integrated circuits has shifted from traditional parallel to serial communication. Motor control devices that utilize such multi-core processors and serial interfaces meet the specifications required by control devices that manage machines such as machine tools, forging presses, injection molding machines, industrial machinery, and the like, or robot controllers that manage robots, have been implemented. Consequently, integrated circuits will be referred to as "ICs" and interfaces as "I / Fs".

[0003] A numerical control device (NCD) is used to control motors in machines such as machine tools, injection molding machines, industrial machines, and the like. A robot controller is used to control motors in robots and has a structure similar to that of a NCD. Both a NCD and a robot controller handle motor control and input / output (I / O) control. Since the number of motors as control objects in a motor control device implemented in a NCD or a robot controller varies depending on the number of axes controlled and the specifications, it is desirable to implement the motor interface control unit using separate integrated circuits (ICs) and to vary the number of connected ICs according to the specifications.In particular, for numerical control devices and robot controls, the implementation of a design that can adequately meet the required specifications while taking costs into account is required, but a scalable implementation is desired that also takes into account improvements in the properties of the components used, changes with regard to the offer structure and the like.

[0004] In the manufacture of a numerical control device or a robot controller, general-purpose products are generally used for the CPU, which forms the main control unit and the PLC (programmable logic controller), and the DSP, which is usually used as the motor control unit. Since reducing the number of components is effective in lowering costs, components other than the CPU and DSP, namely the motor interface control unit, are implemented using a single IC. Such an IC, which implements the motor interface control unit, is generally implemented as an ASIC (integrated circuit designed for the specific application).When designing a motor interface control IC consisting of an ASIC, it is possible to implement only a motor interface control unit, or to achieve multifunctionality of the motor interface control IC through a combined design with other functional units. If the motor control device implemented in the numerical control device or robot controller is formed using a CPU, a DSP, and an ASIC, the CPU and the ASIC are connected by a communication line, and the ASIC and the DSP are also connected by a communication line.

[0005] For example, as described in JP 2017 - 97 474 A, a numerical control device is known which is characterized in that it includes a CPU that outputs a position control value for a servo motor; an integrated circuit that includes a servo control unit for outputting a current command to an amplifier that drives the servo motor and an I / O unit that performs input and output of external signals; a DSP that reads the position command value and performs a control to move the servo motor to the position of the position command value;and has a device communication path between the CPU and the integrated circuit, wherein the integrated circuit comprises an internal bus connected to a communication interface connected to the device communication path and the I / O unit, and an internal communication path that transmits signals without pathing over the internal bus directly between the servo control unit and the I / O unit.

[0006] For example, as described in JP 2003 - 288 120 A, a synchronous start device for a position determination module is known, characterized in that it is designed to include an external synchronous start input fin which, in the state of a high impedance of an external synchronous start output signal from several ASICs formed from logic circuits, receives an input of an external synchronous start input signal in an H state from the outside and performs a synchronous start.

[0007] From JP 2016 - 101 643 A, a brake diagnostic device is known which diagnoses a brake of an engine with a brake and a brake control unit that applies or releases the brake, and diagnoses whether an anomaly is present in the brake when the brake is applied by the brake control unit, wherein the brake diagnostic device comprises a diagnostic unit and a signal output unit that outputs a signal relating to a brake anomaly after the brake control unit has released the brake, if the diagnostic unit diagnoses that the brake has an anomaly. Brief description of the invention

[0008] Since the number of axes driven by motors in a machine such as a general-purpose machine tool or a robot is typically between three and thirty-two, the maximum number of control axes of a motor control device is often set at around thirty-two. However, since there are also machine tools or robots with an extremely high number of control axes, far exceeding thirty-two, there is also a need for a motor control device with an extremely high maximum number of control axes. For example, the number of control axes is extremely high in a specialized machine tool (an indexing machine) optimized for machining a range of workpieces, where several component machining processes are integrated.

[0009] Implementing a motor control device requires design modifications, such as further improving the performance of the CPU and integrated circuit, or adding various interface types, compared to the basic design of the motor control device with a standard number of control axes (for example, approximately three to thirty-two). However, it is not easy to accommodate a motor control device with an extremely high number of control axes simply by modifying the basic design of the motor control device with a standard number of control axes. For example, if, in addition to an ASIC designed for a standard number of control axes, a new ASIC is developed that handles an extremely high number of control axes, the development costs increase.Or, for example, if an ASIC designed for an extremely high number of control axes is also used for the purposes of an ASIC designed for a standard number of control axes, a high-priced ASIC, over-engineered for a motor control device with a standard number of control axes, is used, thus increasing the price of the motor control device itself. Or, for example, if an extremely high number of control axes is accommodated by using multiple motor control devices with a standard number of control axes, controlled together via a network, the synchronization and interpolation of the control axes between the motor control devices becomes more complex. Therefore, an improvement in the scalability of the number of control axes of a motor control device is desired.

[0010] According to one form of the present disclosure, a motor control device comprises a main CPU that outputs position command values ​​to several motors; several integrated circuits configured according to the number of multiple motors and connected to the main CPU;and several sub-CPUs connected to the respective multiple integrated circuits, each of the multiple integrated circuits having a motor interface control unit which outputs a drive command value to an amplifier which drives a motor so that the motor moves to the position of the position command value, a main serial CPU interface (22) which performs the communication between the main CPU (11) and the motor interface control unit (21), a sub-serial CPU interface (23) which performs the communication between the sub-CPUs (13) connected to the integrated circuits (12) and the motor interface control unit (21);and an internal bus (24) connecting the main serial CPU interface (22) and the motor interface control unit (21), and a serial optional unit interface (25) connected to the internal bus (24), wherein each of the multiple sub-CPUs controls the output of the drive command value by the motor interface control unit in the integrated circuit connected to the respective sub-CPU based on the position command value read via the integrated circuit connected to the respective sub-CPU and a position feedback value from the motor, wherein the motor interface control units (21) of the respective multiple integrated circuits (12) are interconnected via the serial optional unit interface (25).

[0011] According to one form of the present disclosure, a numerical control device that controls a machine comprises the motor control device described above, wherein each of several groups of an integrated circuit and sub-CPUs connected accordingly to that integrated circuit controls at least one motor corresponding to the group in question among the motors in the machine.

[0012] According to one form of the present disclosure, a robot controller that controls at least one robot comprises the motor control device described above, wherein each of several groups of an integrated circuit and sub-CPUs connected accordingly to that integrated circuit controls at least one motor that represents a drive source of the robot.

[0013] According to one form of the present disclosure, an integrated control system that controls both at least one machine and at least one robot comprises the motor control device described above, wherein at least one group among several groups of an integrated circuit and sub-CPUs connected accordingly to this integrated circuit controls at least one motor corresponding to the group in question among the motors in the machine, and a group that differs from the at least one group among the several groups controls at least one motor that represents a drive source of the robot. Simple explanation of the drawings

[0014] The present invention will be understood more clearly by reference to the accompanying drawings below. Fig. Figure 1 is a diagram showing an engine control device according to an embodiment of the present disclosure. Fig. Figure 2 is a diagram showing an example in which, in the motor control device according to the embodiment of the present disclosure, an input / output control unit is formed in an m-th integrated circuit. Fig. Figure 3 is a diagram showing an example in which integrated circuits are interconnected in the motor control device according to the embodiment of the present disclosure. Fig. Figure 4 is a diagram showing a numerical control device equipped with the motor control device according to the embodiment of the present disclosure. Fig. Figure 5 is a diagram showing a robot controller equipped with the motor control device according to the embodiment of the present disclosure. Fig. Figure 6 is a diagram showing an integrated control system equipped with the motor control device according to the embodiment of the present disclosure. Detailed explanation

[0015] With reference to the drawings, a motor control device, a numerical control device, a robot controller, and an integrated control system are explained below. In each drawing, identical elements are designated with the same reference numerals. For ease of understanding, the scale of these drawings has been arbitrarily changed. The shapes shown in the drawings are examples of possible designs, but there is no limitation to the shapes shown in the drawings. Furthermore, in the following explanation, the "position" and "position command value" of the motor mean the "position of the rotor" and the "position command value to the rotor" of the motor, and the "position control of the motor" means the "position control with respect to the rotor" of the motor.Since differentiating the "position" yields the "speed" (rotational speed), the "position" of the motor in the embodiment of the present disclosure includes the "speed" of the motor. The "position command value" of the motor includes the "speed command value" of the motor, and the "position feedback value" of the motor includes the "speed feedback value" of the motor. The "speed" and the "speed command value" of the motor mean the "speed of the rotor" and the "speed feedback value with respect to the rotor" of the motor. The "speed control" of the motor means the "speed control with respect to the rotor" of the motor.

[0016] Fig. Figure 1 is a diagram showing an engine control device according to the embodiment of the present disclosure.

[0017] The motor control device 1 according to the embodiment of the present disclosure is used, as will be described later, for a numerical control device of a machine (for example, a machine tool) or a robot controller or the like. A motor controlled by the motor control device 1 (not shown) is used, for example, in a machine tool as a drive source for a machining axis or a peripheral axis, or in a robot controller as a drive source for an arm or the like, or as a drive source for moving the robot itself.

[0018] The motor control device 1 according to the embodiment of the present disclosure comprises a main CPU 11, integrated circuits (ICs) 12, and sub-CPUs 13. The main CPU 11 is connected to the integrated circuits 12 via serial communication units 41. The sub-CPUs 13 are connected to the integrated circuits 12 via serial communication units 42. Furthermore, the motor control device 1 includes, for example, a DRAM 31 connected to the main CPU 11 and memory devices 32, storage class memories (SCMs) 33, and display interfaces (display I / Fs) 34 connected to the integrated circuits 12.

[0019] The main CPU 11, for example, is implemented by a CPU with multiple cores (multiple threads). The main CPU 11 comprises a main control unit (not shown), a PLC unit (programmable logic controller) (not shown), and a peripheral unit (not shown) for communication with peripheral devices, these units generally being implemented in software.

[0020] The main CPU 11 outputs position command values ​​to several motors (not shown). As described above, in the embodiment of the present disclosure, the "position command values" of the motors include "speed command values" of the motors; that is, the "position command values" can be interpreted as "speed command values".

[0021] More precisely, the main control unit of the main CPU 11 performs a function that interprets operating commands issued by a machining program and a sequence program of the numerical control device, or a robot operating program of the robot controller, or the like, and calculates and outputs position command values ​​to all of the multiple motors; a function that interprets the operating commands and sends and receives ON / OFF signals to and from the machine; a sequence function that controls the input and output (I / O) of signals with respect to the machine; and the like. Furthermore, the main CPU 11 features functions such as a high-speed serial communication interface (for example, PCI Express (registered trademark)).Furthermore, the peripheral unit in the main CPU includes 11 interfaces for inputting and outputting data to an externally connected storage device such as an SD card, USB drive, or the like, and for inputting and outputting data through communication via RS232-C (232-C #1 and #2), and it communicates with externally connected devices.

[0022] DRAM 31 is main memory used by the main CPU 11 for processing tasks. In the example shown in Fig. As shown in Figure 1, the DRAM 31 is externally connected to the main CPU, but it can also be externally connected to the integrated circuits 12.

[0023] The main CPU 11 and the integrated circuits 12 are connected via serial communication units 41. An example of the serial communication units 41 is PCI Express (registered trademark).

[0024] The integrated circuits (ICs) 12 are implemented, for example, as application-specific integrated circuits (ASICs). Alternatively, the integrated circuits 12 can also be implemented using FPGAs or as elements for which several integrated circuits are mounted on a printed circuit board.

[0025] The multiple integrated circuits 12 are configured to correspond to the number of multiple motors as control objects of the motor control device 1. The motor control device 1 can be used to control different numbers of motors by changing the number of integrated circuits 12. Therefore, by connecting multiple integrated circuits 12, consisting of ASICs designed to control a standard number of axes (for example, three axes to thirty-three axes or the like), to the main CPU 11, it is possible to control an extremely large number of control axes (for example, about thirty-three to several hundred control axes). Thus, the embodiment of the present disclosure improves scalability with respect to the number of control axes. In the example described in Fig. As shown in Figure 1, the multiple integrated circuits 12 are represented by n (n is an integer of 2 or higher) integrated circuits, that is, as first integrated circuit 12-1, second integrated circuit 12-2, ... nth integrated circuit 12-n.

[0026] The integrated circuits 12 comprise a motor interface control unit (motor I / F control unit) 21, a main CPU serial interface (I / F) 22, a sub-CPU serial interface (I / F) 23, an internal bus 24, an optional serial unit interface (I / F) 25, an input / output control unit (I / O control unit) 26, and a peripheral unit (peripheral) 27. The integrated circuits 12 may also include RAM or the like in addition to the units shown. Fig. The serial optional unit interface (I / F) 25, the input / output control unit (I / O control unit) 26 and the peripheral unit (peripheral) 27 are shown only for the first integrated circuit 12-1 for the sake of simplicity, and no representation has been given for the second integrated circuit 12-2 and the nth integrated circuit 12-n.

[0027] The motor interface control unit 21, the main serial CPU interface 22, the optional serial unit interface 25, the input / output control unit 26 and the peripheral unit 27 are connected via the internal bus 24.

[0028] The main serial CPU interface 22 is connected to the main CPU 11 via a serial communication unit 41 and handles communication between the main CPU 11 and the motor interface control unit 21. Addresses are assigned to the individual main elements adjacent to the main serial CPU interface 22, which are connected via the internal bus. The main serial CPU interface 22 detects the receiver address contained in a serial signal sent by the main CPU 11 and, after conversion to parallel data, sends the data and the address via the internal bus 24 to the receiver element. Furthermore, the main serial CPU interface 22 performs a serial conversion of data output by the individual elements via the internal bus 24 that have the main CPU 11 as the receiver address and sends it to the main CPU 11.

[0029] It is possible for data transmissions from the main CPU 11 to the individual elements in an integrated circuit 12 and data transmissions from the main CPU serial interface 22 to the main CPU 11 to occur simultaneously. For this purpose, the main CPU serial interface 22 has an intermediary that determines the order of the transmitted data according to a priority level of the individual data communications, and a buffer memory that temporarily stores this data. Since the priority level of data signals related to motor control is high in the motor control device 1, and these data signals occur periodically, the transmission of data signals related to motor control takes precedence. However, there is no limit to this; a data communication with even higher urgency may have an even higher priority.

[0030] The integrated circuits 12 and the sub-CPUs 13 are connected via serial communication units 42. An example of the serial communication units 42 is PCI Express (registered trademark).

[0031] The serial sub-CPU interface 23 in each integrated circuit 12 is connected to sub-CPUs 13 via serial communication units 42 and handles communication between the sub-CPUs 13 and the motor interface control unit 21. The serial sub-CPU interface 23 and the serial communication units 42 are configured between the motor interface control unit 21 and the sub-CPUs 13 connected to this motor interface control unit 21.

[0032] The motor interface control unit 21 outputs a drive command value (for example, a current command value) to an amplifier, which drives a motor so that the motor moves to the position specified by the position command value (or so that the motor rotates at the speed specified by the motor speed value). The motor drive command output by the motor interface control unit 21 is sent to the amplifier via a motor interface (motor I / F) located outside the integrated circuit 12.To explain the sequence in more detail, the position command value is output from the main CPU 11 via the motor interface control unit 21 to the sub-CPUs 13, the sub-CPUs 13 generate a drive command value for the motor based on this position command value and output it to the motor interface control unit 21, and the motor interface control unit 21 outputs the drive command value to the amplifier via the motor interface.

[0033] The integrated circuit 12 comprises at least one motor interface control unit 21. Through the motor interface control unit 21, it has the capability to output multiple drive command values ​​to each of several motors. When several motors are controlled by a single integrated circuit 12, the integrated circuit in question can have a single motor interface control unit 21, or several motor interface control units 21 equal to the number of motors, or several motor interface control units 21 less than the number of motors. The number of motor interface control units 21 implemented in the integrated circuit 12 can be appropriately determined, for example, according to the control cycle or control accuracy of the motors, or similar factors.

[0034] The motor interface, which is externally connected to the motor interface control unit 21, is an interface for connecting an amplifier. The motor interface is used for amplifier control, managing the input and output of digital signals, managing the input and output of analog signals, controlling various sensors, and the like. Power lines to the motors that drive the individual control axes of the machine tool or robot, and feedback input signals, which transmit position feedback values ​​(detection values ​​of the positions of the individual motors), are connected to the amplifier. The number of motor interface control units 21 is equal to the number of motor interfaces. Multiple amplifiers, each configured to power multiple motors, can be connected in series to a single motor interface.

[0035] The processing operation of the motor interface control unit 21 is explained in more detail below. Position command values ​​from the main CPU 11 are written to a RAM area (not shown) in the motor interface control unit 21 via the serial communication unit 41, the main CPU serial interface 22, and the internal bus 24. The motor interface control unit 21 sends a drive command value (for example, a current command value) generated from the position command value to the amplifier via the motor interface. The processing required to generate the drive command value from the position command value requires numerous computational operations and must be performed at high speed. Therefore, as discussed below, multi-core DSPs are connected to the integrated circuit 12 as sub-CPUs 13.The sub-CPUs 13 consisting of multi-core DSPs read the position command value via the serial communication units 42 and perform the computational processing for the drive command value of the motor, which is necessary for the control to move the motor to the position of the position command value.

[0036] Based on the drive command value received via the motor interface, the amplifier, for example, performs current control using a PWM signal and sends the value from a current sensor integrated into the amplifier via the motor interface to the motor interface control unit 21. Additionally, a position feedback value detected at the motor is also sent via the motor interface to the motor interface control unit 21 and written to the motor interface control unit 21. The sub-CPUs 13 calculate a subsequent current control command value based on the current sensor value and the position feedback value received via the motor interface control unit 21 and send this current control command value to the motor interface control unit 21. The motor interface control unit 21 receives the current control command value from the sub-CPUs 13 and sends it to the amplifier via the motor interface.

[0037] The serial optional unit interface (I / F) 25 in the integrated circuit 12 is an interface used for connecting an external optional device such as an optional circuit board.

[0038] The input / output control unit (I / O control unit) 26 in the integrated circuit 12 controls the input and output communication (the I / O communication) and includes, for example, an I / O RAM (not shown) for storing input and output signal data (DI / DO). The input and output signal data are read / written by a program executed on the main CPU 11 via the internal bus 24, the main CPU serial interface 22, and the serial communication unit 41.

[0039] The peripheral unit 27 in the integrated circuit 12 has interfaces for a keyboard, signals such as an analog output, an input for sensor data (for example, an output signal to skip an executing program, the input of a touch sensor signal, or the like), and an RTC (real-time digital clock) (a clock signal from a clock circuit powered by a battery or capacitor, consisting of a crystal oscillator and a counter circuit). The peripheral unit 27 also has interfaces for a storage device 32, a storage class memory 33, and a display interface (I / F) 34.

[0040] Several sub-CPUs 13 are connected to each of the multiple integrated circuits 12. More precisely, several sub-CPUs 13 can be connected to a single motor interface control unit 21, and in a single integrated circuit 12, as described above, at least one motor interface control unit 21 is provided, corresponding to the number of motor interfaces. The motor interface control unit 21 and the sub-CPUs 13 are connected via a serial sub-CPU interface 23 and serial communication units 42. The number of sub-CPUs 13 connected to a motor interface control unit 21 can be appropriately determined according to the processing capacity of the sub-CPUs 13, the control cycle, and the like.For example, if it is necessary to control a very large number of motors (e.g., about 100 motors) or to control the motors with high precision, the amount of computational processing assigned to an integrated circuit 12 will be very large. If the amount of computational processing assigned to an integrated circuit 12 becomes very large, numerous sub-CPUs 13 can be connected and the computational processing distributed among the multiple sub-CPUs 13. Conversely, if, for example, a small number of motors (e.g., a few motors) are being controlled or no control precision is required for the motors, the amount of computational processing assigned to the integrated circuit 12 will be small.If the amount of computing work to be assigned to the integrated circuit 12 is small, one or a few sub-CPUs 13 can be connected and the computing work can be allocated to the one or a few sub-CPUs 13.

[0041] A sub-CPU 13 is implemented, for example, by a multi-core (multi-thread) DSP. Based on the position command values ​​and position feedback values ​​read via the integrated circuit 12 connected to it, the sub-CPU 13 controls the output of the motor drive signals by the motor interface control unit 21 in the integrated circuit 12. More precisely, the sub-CPU 13 reads the position command value and the position feedback value via the serial sub-CPU interface 23 and the serial communication unit 42 and performs the computational processing for the drive command value (for example, the current command value) of the motor, which is required to control the motor to move to the position specified by the position command value.The sub-CPU 13 sends the generated drive command value via the serial communication unit 42 and the serial sub-CPU interface 23 to the motor interface control unit 21, and the motor interface control unit 21 sends the drive command value via the motor interface to the amplifier. The sub-CPU 13 performs this calculation repeatedly.

[0042] The storage device 32 connected to the integrated circuit 12 stores the software (the program) required for the operation of the motor interface control unit 21 and controls its operation via the peripheral unit 27. Examples of the storage device 32 are an EMMC (registered trademark), an SD, an ESSD, or the like. Although a specific illustration has been omitted, a boot ROM containing bootloader software is connected to the integrated circuit 12. The integrated circuit 12 reads the bootloader software at startup, makes its own initialization settings and the like, and loads the software stored in the storage device and develops it into the DRAM 31 and an internal memory of the sub-CPU 13.

[0043] The storage-class memory 33 connected to the integrated circuit 12 acts as operating memory, storing computational values ​​and the like during the processing of the motor interface memory unit 21, and is a non-volatile memory. Examples of storage-class memory 33 include MRAM (magnetoresistive random access memory), ReRAM (resistive random access memory), FeRAM (ferroelectric random access memory), battery-backed SRAM, or the like.

[0044] The display interface 34 connected to the integrated circuit 12 is an interface that sends and receives data for generating image data by an external display device. Based on the data output by the display interface 34, the display device (not shown), such as a liquid crystal display (LCD), an organic electroluminescent (EL) device, or the like, generates and displays the image data. An example of the display interface 34 is Ethernet (registered trademark) or the like.

[0045] As explained above, in the embodiment of the present disclosure, several integrated circuits 12 are configured as control objects of the motor control device 1, corresponding to the number of multiple motors. By changing the number of integrated circuits 12, it becomes possible for the motor control device 1 to control different numbers of motors. Therefore, by connecting several integrated circuits 12 made up of ASICs designed for a standard number of control axes (for example, from about three to thirty-two axes) to the main CPU 11, it is possible to increase the processing resources for controlling multiple axes, and it also becomes possible to control an extremely high number of control axes (for example, from about thirty-three to several hundred axes).Therefore, the embodiment of the present disclosure can improve scalability with respect to the number of control axes. Since it is sufficient to increase the number of integrated circuits 12 (for example, application-specific integrated circuits designed for a standard number of control axes) connected to a single main CPU 11 (for example, a multi-core CPU) to construct a motor control device 1 for an extremely high number of control axes, it is not necessary to develop a new ASIC designed for an extremely high number of control axes.On the other hand, since for the construction of a motor control device 1 with a relatively small number of control axes it is sufficient to appropriately regulate the number of integrated circuits 12 (for example, application-specific integrated circuits designed for a standard number of control axes) connected to a single main CPU 11, the instances where overspecified, expensive integrated circuits are used can be reduced, and consequently, an increase in the cost of the motor control device itself can be suppressed. Because the multiple integrated circuits 12, each corresponding to one of several motors, are all connected to a single main CPU 11, it becomes possible to handle faults that may occur in any of the multiple motors uniformly within the main CPU 11.And since it is easy to define a separate control cycle for each integrated circuit, control can be optimized according to the intended use of the motors.

[0046] Depending on the intended use of the motor, other functions can be added to the integrated circuit corresponding to the motor in question, in addition to the serial optional unit interface 25, the input / output control unit 26 and the peripheral unit 27. Fig. Figure 2 is a diagram illustrating an example where an input / output control unit is configured in an m-th integrated circuit of the motor control device according to the embodiment of the present disclosure. For example, an input / output control unit (I / O control unit) 26 can be configured not only in the first integrated circuit 12-1, but also in an m-th integrated circuit 12-m (m being a natural number of at least 2) of the multiple integrated circuits 12. This allows the main CPU 11 to control the input and output communication via each of the input / output control units 26 of the first integrated circuit 12-1 and the m-th integrated circuit 12-m.

[0047] Fig. Figure 3 is a diagram illustrating an example where integrated circuits are interconnected in the motor control device according to the present disclosure. It is possible to interconnect all or some of the multiple integrated circuits 12 via a serial communication unit 43 and the optional serial unit interface 25. In the example of Fig. In Figure 3, the serial optional unit interface 25 in the first integrated circuit 12-1 and the serial optional unit interface 25 in the second integrated circuit 12-2 are connected via a serial communication unit 43. Since such a connection of integrated circuits 12 allows data to be exchanged directly between the respective integrated circuits 12 instead of via the main CPU 11, data transmission delays can be reduced and the workload on the main CPU 11 can be lessened. An example of the serial communication unit 43 is PCI Express (registered trademark).Integrated circuits 12 can be interconnected not only by means of a serial communication unit 43, but also, for example, by means of Ethernet (registered trademark), whereby in this case an Ethernet (registered trademark) corresponding interface is formed in the integrated circuits 12.

[0048] The motor control device 1 according to the embodiment of the present disclosure can be used in a numerical control device that controls a machine. The numerical control device that controls a machine comprises the motor control device 1 and controls, through each of several groups of an integrated circuit and sub-CPUs connected to the integrated circuit in question, at least one motor corresponding to the respective group among the motors in the machine. The machine is, for example, a machine tool, a forging press, an injection molding machine, an industrial machine, or the like. Here, by way of example, a case is described in which the motor control device 1 according to the embodiment of the present disclosure is used in a numerical control device that controls a machine tool equipped with a machining axis and a peripheral axis. Fig. Figure 4 is a diagram showing a numerical control device equipped with the motor control device according to the embodiment of the present disclosure.

[0049] A single motor, or multiple motors, can be controlled by a group consisting of an integrated circuit and sub-CPUs connected to that integrated circuit. The number of groups, consisting of an integrated circuit and sub-CPUs connected to it, can be appropriately determined based on the number of motors, the required control accuracy, the processing power of the sub-CPUs, the control cycle, or similar factors. The motors serve as the drive source for the machining axis and the peripheral axis of the machine tool (not shown).The numerical control device 100, which is equipped with the motor control device 1, controls at least one motor (not shown) among the motors in the machine tool, which drives the machining axis of the machine tool, by means of at least one group among several groups consisting of an integrated circuit 12 and sub-CPUs 13 connected to the integrated circuit 12, and controls at least one group among the several groups, which drives at least one motor (not shown) which drives a peripheral axis of the machine tool, by means of another group.

[0050] In the example that is in Fig. Figure 4 shows an example in which a numerical control device 100, equipped with the motor control device 1, controls a motor (not shown) that drives the machining axis of the machine tool and a motor (not shown) that drives a peripheral axis of the machine tool. An integrated circuit 12A for the machining axis and an integrated circuit 12B for the peripheral axis are connected to a main CPU 11 via serial communication units 41. The main CPU 11 outputs position command values ​​to several motors in the machine tool. The DRAM 31 connected to the main CPU 11 is not shown. Multiple integrated circuits 12A for the machining axis and / or integrated circuits 12B for the peripheral axis can also be configured.The integrated circuit 12A for the machining axis and the integrated circuit 12B for the peripheral axis are connected to sub-CPUs 13 via serial communication units 42. The integrated circuit 12A for the machining axis and the integrated circuit 12B for the peripheral axis each have a motor interface control unit 21, a serial main CPU interface 22, and a serial sub-CPU interface 23. Fig. 4 For the sake of simplicity, the drawing does not show the serial optional unit interface 25, the input / output control unit 26 and the peripheral unit 27, which are formed in the integrated circuit 12A for the machining axis and in the integrated circuit 12B for the peripheral axis, and the storage device 32, the storage class memory 33 and the display interface 34, which are connected to the integrated circuit 12A for the machining axis and to the integrated circuit 12B for the peripheral axis.

[0051] The integrated circuit 12B for the peripheral axis is not limited to the position control of a peripheral axis such as a loader or the like in the machine tool, but can, for example, also control the output power of a laser oscillator, the angle of a mirror used for laser light reflection, the pressing force of a press, the timing of a discharge pulse voltage, or the temperature correction of the machine, or the like. For example, in a case where at least one group (a first group containing the integrated circuit 12A for the machining axis) among the several groups of an integrated circuit and sub-CPUs 13 connected to the integrated circuit in question, at least one motor among the motors in the machine tool that drives the machining axis of the machine tool is controlled,by any group (a second group) among the other groups (the second and a third group, which contain the integrated circuit 12B for the peripheral axis) than this at least one group, at least one motor that drives the peripheral axis of the machine tool is driven, and by the other group (the third group) the control of the output power of a laser oscillator, the control of the angle of a mirror used for the reflection of laser light, the control of the pressing force of a press machine, the control of the timing of a discharge pulse voltage, or the control of the correction of the temperature of the machine, or the like, is carried out.

[0052] Since the numerical control device 100, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, can calculate position command values ​​of several axes of the machine tool by means of a main CPU 11, synchronization and interpolation of the position command values ​​of the several axes is possible without additional effort for data communication compared to a case in which the position command values ​​of the several axes are calculated by several CPUs.

[0053] Furthermore, since the numerical control device 100, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, allows for uniform handling of errors that may occur in any of the machining axis and the peripheral axis of the machine tool in the single main CPU 11, various retraction and stop operations of the machine tool can be performed rapidly, for example, when an anomaly occurs in any of the machining axis and the peripheral axis. A retraction operation is an operation in which, in a machine tool where a workpiece and a tool are synchronously numerically controlled, the workpiece and the tool are retracted to positions where they do not collide with each other when an error occurs, while maintaining their synchronicity.This prevents damage caused by a deviation in the synchronicity of the workpiece and the tool.

[0054] Furthermore, since it is possible to construct the numerical control device 100, which is provided with the motor control device 1 according to the embodiment of the present disclosure, simply by appropriately regulating the number of integrated circuits 12 (for example, application-specific integrated circuits for a standard number of control axes) connected to a main CPU 11, according to the number of machining axes and peripheral axes (i.e., the number of motors), the design of a numerical control device 100 corresponding to the number of control axes is easy and an increase in the cost of the numerical control device 100 itself can be suppressed.For example, during the mass production of numerical control devices 100 with a standard number of control axes, which are being mass-produced, production management can be implemented. This allows for a suitable increase in the number of integrated circuits 12 for a numerical control device 100 with a very high number of control axes, which is rarely available on the market. This, in turn, prevents an increase in the cost of the numerical control device 100 itself.

[0055] And since it is easy to set up separate control cycles for the integrated circuit 12A for the machining axis and the integrated circuit 12B for the peripheral axis in the numerical control device 100, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, and it is also easy to set up communication cycles for the motor interfaces of the motors that drive the machining axis and the peripheral axis respectively, efficient use of the processing capability and the communication bandwidth of the integrated circuit 12A for the machining axis and the integrated circuit 12B for the peripheral axis becomes possible.This enables, for example, appropriate use in which the integrated circuit 12A for the machining axis controls a small number of motors for the machining axis with a fast control cycle, and the integrated circuit 12B for the peripheral axis controls a large number of motors for the peripheral axis with a slow control cycle.

[0056] The motor control device 1 according to the embodiment of the present disclosure can be used in a robot controller that controls a robot. Fig. Figure 5 is a diagram showing a robot controller equipped with the motor control device according to the embodiment of the present disclosure.

[0057] As described above, a motor, or even multiple motors, can be controlled by a group consisting of an integrated circuit 12 and sub-CPUs 13 connected to this integrated circuit 12. Such a motor can be used as a drive source for an arm or the like of a robot (not shown) or as a drive source for moving the motor itself. A motor can also be used as a drive source in a robot performing cooperative operation. The robot controller 200, which is equipped with the motor control device 1, controls at least one motor (not shown), which forms a drive source for the robot, through each of several groups consisting of an integrated circuit 12 and sub-CPUs 13 connected to the respective integrated circuit 12.

[0058] In the example that is in Fig. Figure 5 shows a case in which two robots are controlled by the robot controller 200, which is equipped with the motor control device 1. An integrated circuit 12C for the first robot and an integrated circuit 12D for the second robot are connected to a main CPU 11 via serial communication units 41. The main CPU 11 outputs position command values ​​to several motors in the robots. The DRAM 31 connected to the main CPU 11 is not shown. Sub-CPUs 13 are connected to the integrated circuit 12C for the first robot and the integrated circuit 12D for the second robot via serial communication units 42. The integrated circuit 12C for the first robot and the integrated circuit 12D for the second robot each have a motor interface control unit 21, a serial main CPU interface 22, and a serial sub-CPU interface 23. Fig. Figure 5 simplifies the drawing by omitting a representation of the serial optional unit interface 25, the input / output control unit 26 and the peripheral unit 27, which are formed in the integrated circuit 12C for the first robot and in the integrated circuit 12D for the second robot, and the storage device 32, the storage class memory 33 and the display interface 34, which are connected to the integrated circuit 12C for the first robot and to the integrated circuit 12D for the second robot.

[0059] Since the robot controller 200, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, can calculate position command values ​​for several motors in at least one robot or position command values ​​for several motors in several robots by means of a main CPU 11, synchronization and interpolation of the position command values ​​of the several axes is possible without additional effort for data communication, compared to a case in which the position command values ​​for several motors in the robots are calculated by several CPUs.

[0060] Furthermore, since the robot controller 200, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, allows for a uniform handling of errors that may occur in any one of several robots in the single main CPU 11, for example, if an anomaly occurs in one of the several robots, different retreat and stop operations of the robots can be carried out quickly.

[0061] Furthermore, since it is possible to design the robot controller 200, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, simply by appropriately regulating the number of integrated circuits 12 (for example, application-specific integrated circuits for a standard number of control axes) connected to a main CPU 11, according to the number of robots and the number of motors formed in the robots, the design of a robot controller 200 corresponding to the number of motors (the number of control axes) is easy and an increase in the cost of the robot controller 200 itself can be suppressed.For example, during the mass production of robot controllers 200 with a standard number of control axes, which are being mass-produced, production management can be implemented. This allows for a suitable increase in the number of integrated circuits (12) for robot controllers 200 with a very high number of control axes, which are rarely available on the market. This, in turn, helps to mitigate the cost increase of the robot controller 200 itself.

[0062] And since it is easy to establish separate control cycles for the robots or the motors in the robots in the robot controller 200, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, and it is also easy to establish communication cycles for the motor interfaces of the motors that drive the respective robots, efficient use of the processing capability and the communication bandwidth of the integrated circuits 12 becomes possible. This makes it possible, for example, to use one integrated circuit 12 to control the motors in a high-speed robot with a fast control cycle and another integrated circuit 12 to control the motors in a low-speed robot with a slow control cycle.

[0063] The motor control device 1 according to the embodiment of the present disclosure can be used for an integrated control system that controls both at least one machine and at least one robot. The integrated control system comprises the motor control device 1 and controls, through at least one group of several groups consisting of an integrated circuit and sub-CPUs connected to this integrated circuit, at least one motor corresponding to this group among the motors in a machine, and through another group than this, at least one group among the several groups at least one motor that represents the drive source of a robot. The machine is, for example, a machine tool, a forging press, an injection molding machine, an industrial machine, or the like.Here, an example is explained in which the motor control device 1 according to the embodiment of the present disclosure is used in an integrated control system that controls both at least one machine tool, which is provided with a machining axis and a peripheral axis, and at least one robot. Fig. Figure 6 is a diagram showing an integrated control system 300 equipped with the motor control device according to the embodiment of the present disclosure.

[0064] The integrated control system 300, equipped with the motor control device 1 according to the embodiment of the present disclosure, controls both a machine tool and a robot. That is to say, the integrated control system 300 is a system in which the two functions of the numerical control device 100, which controls the machine tool, and the robot controller 200, which controls the robot, are combined via a main CPU 11. An integrated circuit 12-100 for the machine tool and sub-CPUs 13 connected thereto, which implement the function of the numerical control device 100, and an integrated circuit 12-200 for the robot and sub-CPUs 13 connected thereto, which implement the function of the robot controller 200, are connected to the main CPU 11.

[0065] As described above, a motor can be controlled by a group consisting of an integrated circuit and sub-CPUs 13 connected to this integrated circuit 12; however, controlling multiple motors is also possible. Motors are used as the drive source for the machining axis and the peripheral axis of the machine tool (not shown). Furthermore, motors are used as the drive source for an arm or similar component of the robot (not shown) or as the drive source for moving the robot itself. They can also be used as the drive source for the individual motors configured in a collaborative robot.In the numerical control device 100 of the integrated control system 300, at least one group of several groups consisting of an integrated circuit 12 and sub-CPUs 13 connected to the integrated circuit 12 controls a motor (not shown) among the motors in the machine tool, which drives at least one of the machining axis and the peripheral axis of the machine tool. Furthermore, in the robot controller 200 of the integrated control system 200, at least one group other than the aforementioned group controls at least one motor (not shown) as the drive source of the robot.

[0066] In the example that is in Fig. As shown in Figure 6, for example, the numerical control device 100 in the integrated control system 300 includes the integrated circuit 12-100 for the machine tool, and the robot controller 200 in the integrated control system 300 includes the integrated circuit 12-200 for the robot. Multiple integrated circuits 12-100 for the machine tool and / or integrated circuits 12-200 for the robot may also be configured. Furthermore, the integrated circuit 12-100 for the machine tool includes the integrated circuit 12-1 for the machining axis and the integrated circuit 12-2 for the peripheral axis, which are described with reference to Fig. As explained in section 4, the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot are connected to the main CPU 11 via serial communication units 41. The main CPU 11 outputs position command values ​​to the multiple motors in the machine tool and to the multiple motors in the robot. The DRAM 31 connected to the main CPU 11 is not shown. Sub-CPUs 13 are connected to the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot via serial communication units 42. The integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot each have a motor interface control unit 21, a serial main CPU interface 22, and a serial sub-CPU interface 23. Fig.Figure 6 simplifies the drawing by omitting a representation of the serial optional unit interface 25, the input / output control unit 26 and the peripheral unit 27, which are formed in the integrated circuit 12-100 for the machine tool and in the integrated circuit 12-200 for the robot, and the storage device 32, the storage class memory 33 and the display interface 34, which are connected to the integrated circuit 12-100 and to the integrated circuit 12-200 for the robot.

[0067] The 12-100 integrated circuit for machine tools is not limited to the position control of machine tool motors, but can also, for example, control the output power of a laser oscillator, control the angle of a mirror used for the reflection of laser light, control the pressing force of a press machine, control the timing of a discharge pulse voltage, control the temperature correction of the machine, or similar functions.For example, in at least one group (a first to third group containing an integrated circuit 12-100 for the machine tool) of several groups of an integrated circuit and sub-CPUs 13 connected to the integrated circuit in question, at least one motor driving the machining axis of the machine tool can be controlled by the first group, at least one motor driving the peripheral axis of the machine tool can be driven by the second group, and the third group can control the output power of a laser oscillator, the angle of a mirror used for the reflection of laser light, the pressing force of a press, the timing of a discharge pulse voltage, or the temperature correction of the machine, or the like.

[0068] Since the integrated control system 300, which is equipped with the numerical control device 1 according to the embodiment of the present disclosure, can calculate position command values ​​for a large number of motors for multiple motors in the machine tool and multiple motors in the robot by a main CPU 11, synchronization and interpolation of the position command values ​​of the multiple axes is possible without additional effort for data communication, compared to a case in which the position command values ​​for the multiple motors in the machine tool and in the robot are calculated by multiple CPUs.

[0069] Furthermore, since the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, allows for a uniform handling of errors that may occur in any of the machining axis and the peripheral axis of the machine tool as well as the robot, in the individual main CPU 11, for example, if an anomaly occurs in any of the machining axis and the peripheral axis as well as the robot, various retraction operations and stop operations of the machine tool and / or the robot can be carried out quickly.

[0070] Furthermore, since it is possible to design the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, simply by appropriately regulating the number of integrated circuits 12 (for example, application-specific integrated circuits for a standard number of control axes) connected to a main CPU 11, according to the number of machining axes and peripheral axes as well as the number of robots (i.e., the number of motors), the design of a numerical integrated control system 300 corresponding to the number of motors (control axes) is easy and an increase in the cost of the numerical control system 300 itself can be suppressed.For example, during the mass production of integrated control systems 300 with a standard number of control axes, which are being mass-produced and marketed, production management can be implemented. This allows for a suitable increase in the number of integrated circuits (e.g., 12) for an integrated control system 300 with a very high number of control axes, which is rarely available on the market. This prevents an increase in the cost of the integrated control system 300 itself.

[0071] And since it is easy to set up separate control cycles for the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot in the integrated control system 300, which is provided with the motor control device 1 according to the embodiment of the present disclosure, and it is also easy to set up communication cycles for the motor interfaces of the individual motors, each of which drives the machining axis and the peripheral axis as well as the robot, efficient use of the processing capability and the communication band of the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot becomes possible.This enables, for example, appropriate use in which the integrated circuit 12-100 for the machine tool controls the motor for driving the machining axis of the machine tool with a fast control cycle, and the integrated circuit 12-200 for the robot controls the motors in the robot for the peripheral axis with a slow control cycle.

[0072] Furthermore, in the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot are connected to the single main CPU 11. The execution of the various operations of the numerical control device is carried out by the integrated circuit 12-100 for the machine tool and the sub-CPUs 13 connected to it, and the execution of the various operations of the robot control 200 is carried out by the integrated circuit 12-200 for the robot and the sub-CPUs 13 connected to it. Since the main CPU 11 calculates the position command values ​​for all motors contained in the machine tool and the robot, the creation of the control software program for the main CPU 11 is simplified.This means that since it is not necessary to design separate control software programs for the machine tool and the robot, but rather one control software program can be designed according to an identical concept without distinguishing between the machine tool and the robot, program development efficiency is improved.

[0073] In general, efforts are made in the field of machine tools and robots to achieve cycle time reductions of a few milliseconds through improvements to software programs and the like. In the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, the main CPU 11 and the integrated circuit 12-100 for the machine tool, as well as the integrated circuit 12-200 for the robot, are connected by serial communication units 41. When PCI Express (registered trademark) is used for the serial communication units 41, their signal transmission delay is approximately a few tens of microseconds, which is extremely short compared to the signal transmission delay of a few tens to a few hundred milliseconds for Ethernet (registered trademark).Since the signal transmission delay through the serial communication units 41 and the serial communication units 42 in the integrated control system 300 is extremely short, as described above, there is a very significant effect on reducing the cycle time. In this context, specific examples regarding synchronicity and interpolation during continuous operation of the machine tool and the robot in the integrated control system 300 are given below.

[0074] For example, if a robot loads and unloads a machine tool, the robot performs a loading operation before the machine tool processes the workpiece and an unloading operation after the machine tool has processed the workpiece. A loading request signal is sent to the robot before and an unloading request signal, respectively, before and after the workpiece has been processed by the machine tool.Since conventional methods take into account that there is a comparatively large time delay (for example, a few tens to a few hundred milliseconds) in the transmission of the position information of the tool and the workpiece to the robot, and the robot is moved taking this time delay into account while avoiding a collision of the tool and the workpiece, it is difficult to have the robot wait near the workpiece during loading and unloading operations, and there is also a tendency to have the robot take a detour along its movement path.In contrast, in the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, the position information of the workpiece in the integrated control system 300 is transmitted instantaneously via the serial communication units 41 between the main CPU 11 and the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot, and instantaneously via the serial communication units 42 between the integrated circuit 12-100 for the machine tool and the integrated circuit 12-200 for the robot and the sub-CPUs 13.

[0075] And since the signal transmission delay in the serial communication units 41 and 42 is extremely short, as described above, the start times for machining by the machine tool, as well as the loading and unloading operations by the robot, can be determined based on "fresher" position information of the workpiece. Here, "fresher" means a shorter time difference between the time at which a sensor detects position information of a workpiece and the time at which the main CPU 11 has received the position information of the workpiece in question. The shorter this time difference, the "fresher" the position information.In the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, it is possible to carry out the loading and unloading operations by the robot even during machining by the machine tool, while taking into account the positional relationship between the tool on the machine tool and the workpiece, it is ensured that the two do not collide, so that the cycle time can be reduced.

[0076] For example, if the robot performs deburring while the workpiece is moving within the machine tool, it is conventionally necessary to reduce the workpiece's movement speed to maintain deburring accuracy, which increases the cycle time. However, in the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, the signal transmission delay in the serial communication units 41 and 42 is extremely short, as described above. This allows the main CPU 11 to obtain "fresher" position information of the workpiece for deburring, thus enabling high-precision deburring while tracking the workpiece's movement, even during movement. For example, it is also easy to deburr a workpiece on a rotary table from all directions.The faster the workpiece's movement speed becomes within the required accuracy, the more the cycle time is reduced.

[0077] For example, if a fault occurs in the machine tool, it will enter a stop or retract mode. If there is a long time between the fault occurring in the machine tool and the fault being reported to the robot controller, the robot will continue its movement during this time. This can lead to the problem of the robot colliding with the machine tool or the workpiece, or performing deburring in an unforeseen location.Since integrated management is possible in the main CPU 11 of the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, and since, moreover, the signal transmission delay in the serial communication units 41 and 42 is extremely short as described above, the main CPU 11 immediately reports an error message to the integrated circuit 12-200 for the robot, and the integrated circuit 12-200 for the robot controls the motors in the robot accordingly, so that the robot immediately performs a stop operation or a retraction operation, thereby preventing the robot from colliding with the tool of the machine tool or the workpiece.

[0078] For example, if a fault occurs in the machine tool during a retraction operation, the robot may initiate a movement in which the tool moves in a direction opposite to its normal approach. This is a sudden movement that is unpredictable for the robot, and there is a risk of the robot colliding with the machine tool or the workpiece.Since the integrated control system 300, which is equipped with the motor control device 1 according to the embodiment of the present disclosure, allows for integrated management in the main CPU 11, and moreover, the signal transmission delay in the serial communication units 41 and 42 is extremely short as described above, the main CPU 11 instantly reports fault information and workpiece position information to the integrated circuit 12-200 for the robot, and the integrated circuit 12-200 for the robot controls the motors in the robot accordingly, so that the robot instantly performs a stop operation or a retraction operation, thereby preventing the robot from colliding with the tool of the machine tool or the workpiece.

[0079] The foregoing described one embodiment of the present disclosure, but it goes without saying that various modifications are possible. For example, depending on the specifications, it can be appropriately determined which functional parts are integrated into which of the individual ICs, and accordingly, various modifications are possible.

[0080] According to one form of the present disclosure, a motor control device, a numerical control device, a robot control and an integrated control system can be implemented, in which the scalability with respect to the number of control axes is improved.

Claims

Motor control device (1) comprising a main CPU (11) that outputs position command values ​​to multiple motors; multiple integrated circuits (12) configured according to the number of multiple motors and connected to the main CPU (11); and multiple sub-CPUs (13) connected corresponding to the respective multiple integrated circuits (12), each of the multiple integrated circuits (12) having a motor interface control unit (21) that outputs a drive command value to an amplifier that drives a motor so that the motor moves to the position specified by the position command value, a main CPU serial interface (22) that facilitates communication between the main CPU (11) and the motor interface control unit (21), and a sub-CPU serial interface (23) that facilitates communication between the sub-CPUs (13) connected to the integrated circuits (12) and the motor interface control unit (21).an internal bus (24) connecting the main serial CPU interface (22) and the motor interface control unit (21), and an optional serial unit interface (25) connected to the internal bus (24), wherein each of the multiple sub-CPUs (13) controls the output of the drive command value by the motor interface control unit (21) in the integrated circuit (12) connected to the respective sub-CPU (13) based on the position command value read via the integrated circuit (12) connected to the respective sub-CPU (13) and a position feedback value from the motor, wherein the motor interface control units (21) of the respective multiple integrated circuits (12) are interconnected via the optional serial unit interface (25). Motor control device (1) according to claim 1 wherein each of the multiple integrated circuits (12) is connected to the internal bus (24) and has an input / output control unit (26) that performs input and output of external signals. Motor control device (1) according to one of claims 1 or 2, wherein the main CPU (11) is a CPU with multiple cores. Motor control device (1) according to one of claims 1 to 3, wherein the sub-CPUs (13) are multi-core DSPs. Motor control device (1) according to one of claims 1 to 4, wherein the integrated circuits (12) are application-specific integrated circuits. Numerical control device (100) controlling a machine, wherein the numerical control device (100) comprises the motor control device (1) according to any one of claims 1 to 5, wherein each of several groups of an integrated circuit (12) and sub-CPUs (13) connected accordingly to this integrated circuit (12) controls at least one motor among the motors in the machine, corresponding to the group in question. Numerical control device (100) according to claim 6, wherein the machine is a machine tool, at least one group among the several groups controls at least one motor driving a machining axis of the machine tool, among the motors in the machine tool, and another group than this controls at least one group among the several groups controlling at least one motor driving a peripheral axis of the machine tool, among the motors in the machine tool. Robot controller (200) controlling at least one robot, wherein the robot controller (200) comprises the motor control device (1) according to one of claims 1 to 5, wherein each of several groups of an integrated circuit (12) and sub-CPUs (13) connected accordingly to this integrated circuit controls at least one motor which represents a drive source of the robot. Integrated control system (300) that controls both a machine and a robot, wherein the integrated control system (300) comprises the motor control device (1) according to any one of claims 1 to 5, wherein at least one group among several groups of an integrated circuit (12) and sub-CPUs (13) connected accordingly to this integrated circuit (12) controls at least one motor corresponding to the group in question among the motors in the machine, and a group that differs from the at least one group among the several groups controls at least one motor that represents a drive source of the robot. Integrated control system (300) according to claim 9, wherein the machine is a machine tool, at least one group among the several groups controls at least one motor, which drives at least one of the motors in the machine tool, and another group than this controls at least one group among the several groups, which drives at least one motor, which represents a drive source of the robot.