WO2024034211A1 - モータ制御装置および方法 - Google Patents

モータ制御装置および方法 Download PDF

Info

Publication number
WO2024034211A1
WO2024034211A1 PCT/JP2023/018479 JP2023018479W WO2024034211A1 WO 2024034211 A1 WO2024034211 A1 WO 2024034211A1 JP 2023018479 W JP2023018479 W JP 2023018479W WO 2024034211 A1 WO2024034211 A1 WO 2024034211A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
controller
motor
gain
servo
Prior art date
Application number
PCT/JP2023/018479
Other languages
English (en)
French (fr)
Inventor
輝朋 近藤
雄介 上井
裕理 高野
Original Assignee
株式会社日立産機システム
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 株式会社日立産機システム filed Critical 株式会社日立産機システム
Publication of WO2024034211A1 publication Critical patent/WO2024034211A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors

Definitions

  • the present disclosure relates to a motor control device that drives and controls a motor, and particularly to a technology for a servo amplifier and the like that performs servo control.
  • a servo amplifier (in other words, a servo driver, etc.), which is a motor control device connected to a motor, has a function of performing servo control of the motor.
  • a system or device including a motor and a servo amplifier may be referred to as a servo motor, a servo motor system, or the like.
  • Patent Document 1 An example of prior art related to adjustment of control parameters regarding a servo motor is JP-A-2003-204689 (Patent Document 1).
  • Patent Document 1 describes a servo motor control device that ⁇ shortens the positioning time even during auto-tuning'' and ⁇ changes the control gain according to the operating status of the servo motor when the motor speed is less than a certain set speed.'' It is stated that the position proportional gain Kp, the speed proportional gain Kv, and the estimated load inertia J are set so that they have the relationship Kp ⁇ (Kv/J)/4.
  • Patent Document 1 an example is described in which a servo motor system estimates and adjusts control parameters only within its own system, but there is a case where the servo motor system estimates and adjusts control parameters only within its own system. There is no description of how to estimate and adjust control parameters between the two.
  • the servo motor system i.e. motor and servo amplifier
  • a lower system or lower device
  • the application, controller, etc. that uses and controls the servo motor system will be referred to as a higher system (or higher device).
  • An entire system is constructed by connecting a lower system to a higher system.
  • a controller in a higher-level system issues a command to a servo amplifier in a lower-level system, and the servo amplifier drives and controls the motor in accordance with the command.
  • the unit system of control parameters may be different between the controller of the upper system and the servo amplifier of the lower system.
  • the servo motor system which is a lower-level system, to adjust control parameters that have different unit systems. Tuning of parameters as in the method of the prior art example is only possible when the upper system and lower system are linked, in other words, when the upper system can also be operated, and when their unit systems are the same. , is an effective method.
  • An object of the present disclosure is to provide a technology that can realize adjustment of control parameters even between an upper system and a lower system that have different jurisdictions regarding a servo amplifier of a servo motor system, in other words, a motor control device.
  • a motor control device is a motor control device that drives and controls a motor based on a servo control command from a higher-level system, and the higher-level system has a first control gain set for servo control.
  • a controller inputs an upper control deviation based on a calculation of an upper control command and an upper control response based on a signal from the motor into the first controller, and inputs the upper control deviation based on the first control gain to the first controller;
  • the motor control device outputs the servo control command, and the motor control device includes a second controller for the servo control, a power converter that generates a signal for driving the motor, and the first controller of the first controller.
  • a control gain estimator for estimating a control gain
  • the motor control device inputs a signal based on the servo control command and the higher-level control response to the second controller; a signal output from the power converter is input to the power converter, a signal output from the power converter is supplied to the motor, and the control gain estimator inputs the servo control command, the upper control deviation A higher control command is input, the first control gain is estimated, and the estimated first control gain is output as the estimated result.
  • adjustment of control parameters can be realized even between an upper system and a lower system that have different jurisdictions regarding the servo amplifier of the servo motor system, in other words, the motor control device. Problems, configurations, effects, etc. other than those described above are shown in the detailed description.
  • 1 shows the configuration of a system including the motor control device of Embodiment 1.
  • 1 shows an example of the configuration of the motor control device according to the first embodiment as a computer system.
  • 2 shows an example of the configuration of a user interface regarding the motor control device according to the first embodiment.
  • 5 shows another example of the configuration of the user interface regarding the motor control device of the first embodiment.
  • 5 shows another example of the configuration of the user interface regarding the motor control device of the first embodiment.
  • 3 shows an example of a screen display of a graphical user interface (GUI) regarding the motor control device of the first embodiment.
  • GUI graphical user interface
  • FIG. An example of the functional block configuration in the case of position control as the first control mode in the motor control device of the first embodiment is shown.
  • An example of the functional block configuration in the case of speed control as the second control mode (particularly when the controller has only a speed controller) in the motor control device of the first embodiment is shown.
  • An example of the functional block configuration in the case of speed control as the second control mode (particularly when the controller has a position controller and a speed controller) in the motor control device according to the first embodiment is shown.
  • 5 shows a processing flow related to control gain estimation when position control is P control in the motor control device of the first embodiment.
  • 5 shows a processing flow related to control gain estimation in the case of PI control for position control in the motor control device according to the first embodiment.
  • a configuration example of full closed loop control will be shown.
  • As a modification of the first embodiment a configuration example of sensorless control will be shown.
  • FIG. 2 shows the configuration of a system including a motor control device according to a second embodiment.
  • 7 shows a processing flow related to control gain estimation when position control is P control in the motor control device according to the second embodiment.
  • An example of a functional block configuration in a pseudo driving mode in a modification of the second embodiment is shown.
  • the main body for these is the processor or the controller made up of the processor, etc. , equipment, computers, systems, etc.
  • a computer executes processing according to a program read onto a memory, using resources such as a memory and a communication interface as appropriate by a processor. Thereby, predetermined functions, processing units, etc. are realized.
  • the processor is composed of, for example, a semiconductor device such as a CPU/MPU or a GPU.
  • the processing is not limited to software program processing, but can also be implemented using a dedicated circuit. As the dedicated circuit, FPGA, ASIC, CPLD, etc. can be applied.
  • the program may be installed in advance as data on the target computer, or may be distributed as data from the program source to the target computer.
  • the program source may be a program distribution server on a communication network or a non-transitory computer-readable storage medium such as a memory card or disk.
  • a program may be composed of multiple modules.
  • a computer system may be configured by multiple devices.
  • the computer system may be configured with a client/server system, a cloud computing system, an IoT system, etc.
  • Various types of data and information are configured, for example, in a structure such as a table or a list, but are not limited thereto. Expressions such as identification information, identifier, ID, name, number, etc. can be replaced with each other.
  • Embodiment 1 A motor control device and the like according to Embodiment 1 of the present disclosure will be described using FIG. 1 and the like.
  • the entire system 100 is configured by, for example, connecting a controller 10, which is a higher-level system 1, and a servo amplifier 20 (in other words, a motor control device) of a servo motor system, which is a lower-level system 2.
  • the system 100 includes, for example, a power conversion system or a manufacturing system that realizes operations such as a manufacturing process using motor-driven power.
  • the controller 10 of the host system 1 generates the host control command A1.
  • the controller 10 generates a servo control command A3 based on the upper control command A1, and outputs and transmits it to the servo amplifier 20.
  • the servo amplifier 20 receives and inputs the servo control command A3 to drive the motor 30. Control.
  • the controller 10 receives and inputs a response representing the position and speed of the motor 30 as a feedback signal from the lower system 2 as the upper control response A4.
  • the servo amplifier 20 generates and outputs a signal representing the position and speed of the motor 30 as an upper control response A4, based on a signal output from an encoder 31 attached to the motor 30, for example.
  • the controller 10 generates the higher control deviation A2 by calculating the higher level control command A1 and the higher level control response A4 using the calculator 11.
  • the controller 10 includes a first controller 51 to which a first control gain is set, and the first controller 51 generates and outputs a servo control command A3 based on the upper control deviation A2.
  • the servo amplifier 20 has a power converter 23 that performs power conversion to drive the motor 30 based on the servo control command A3. Furthermore, the servo amplifier 20 includes a second controller 52 for providing a signal to the power converter 23 based on the servo control command A3. The servo amplifier 20 also includes a differentiator 26 that differentiates the signal from the motor 30. The servo amplifier 20 inputs the signal A5, which is the result of calculating the servo control command A3 and the signal A8, which is the result of differentiating the signal from the motor 30 (upper control response A4), using the calculator 21, to the second controller 52. do. The signal A6 output from the second controller 52 is input to the power converter 23, and the power-converted signal A7 is supplied to the motor 30.
  • the servo amplifier 20 includes a control gain estimator 27 that estimates the first control gain of the first controller 51 based on the upper control deviation A2 and the servo control command A3.
  • the servo amplifier 20 obtains the upper control deviation A2 or the upper control command A1.
  • the control gain estimator 27 estimates the first control gain of the first controller 51 based on the upper control deviation A2 or the upper control command A1 and the servo control command A3, and outputs a signal of the estimated control gain A10 as the estimation result. Store and output.
  • the inventor has devised a new mechanism in which the control gain in the controller 10 of the upper system 1 is estimated from the servo amplifier 20 of the lower system 2.
  • the motor control device of the first embodiment is the servo amplifier 20 of the lower system 2 and estimates the control gain of the first controller 51 as a control parameter in the controller 10 of the higher system 1.
  • the motor control device of the first embodiment and the user U1 use the estimated control gain A10 to adjust the control parameters in the servo amplifier 20 or the control parameters of the entire system 100 including the upper system 1 and the lower system 2. It can be carried out.
  • FIG. 1 shows the configuration of an entire system including a motor control device according to a first embodiment.
  • the system 100 in FIG. 1 includes a higher-level system 1, a lower-level system 2, and a controlled system 3.
  • the host system 1 has a controller 10 .
  • the lower system 2 includes a servo amplifier 20, which is the motor control device of the first embodiment, and a motor 30 electrically connected to the servo amplifier 20.
  • the controlled system 3 includes a controlled device 35 electrically connected to the motor 30.
  • Controller 10 of the upper system 1 and the servo amplifier 20 of the lower system 2 are realized by software program processing.
  • Controller 10 can be implemented, for example, as a programmable logic controller.
  • the controlled device 35 is a driving body driven by the motor 30.
  • the controlled device 35 may be, for example, industrial equipment installed in a customer's factory.
  • the motor 30 is equipped with an encoder 31 such as a rotary encoder as a sensor.
  • the controlled device 35 may also be equipped with a sensor such as an encoder (a modification described later).
  • the upper system 1 and the lower system 2 have different jurisdictions, and the customer manages the upper system 1 and the operator manages the lower system 2.
  • the business entity manufactures, sells, and maintains the servo amplifier 20.
  • the user U1 of the business operator adjusts the control parameters of the servo amplifier 20 and the like. In principle, the business operator cannot operate the controller 10 or the like of the customer's host system 1.
  • the controller 10 of the host system 1 is a host control device.
  • the controller 10 corresponds to a control section of a system 100 in which a servo amplifier 20 and a motor 30 are incorporated, and provides a servo control command A3 to the servo amplifier 20.
  • the servo amplifier 20 is a motor control device that servo-controls the motor 30 based on a servo control command A3 from the controller 10, and also converts power from a commercial power supply (not shown) to power supplied to the motor 30. Corresponds to a conversion device.
  • the motor 30 only needs to be a motor whose speed can be adjusted by the servo amplifier 20, which is a power conversion device, and can be applied regardless of the detailed type or structure.
  • a motor whose speed can be adjusted by the servo amplifier 20, which is a power conversion device, and can be applied regardless of the detailed type or structure.
  • an induction motor a PM motor, a linear motor, etc. Applicable.
  • the servo amplifier 20 and the motor 30 have mutually compatible configurations.
  • the servo amplifier 20 has control parameter settings according to the configuration of the motor 30.
  • the control parameters set inside the servo amplifier 20 are parameters necessary for driving and controlling the motor 30.
  • the business operator may provide customers with only the servo amplifier 20 as a product, or may provide the servo amplifier system with the servo amplifier 20 and motor 30 as an integrated product.
  • the lower system 2 in the system 100 in FIG. 1 corresponds to a motor control system with a semi-closed control configuration.
  • the semi-closed control configuration is a configuration in which the motor 30 is controlled by receiving a signal from the motor 30 (upper control response A4 in FIG. 1, for example, a signal from the encoder 31).
  • the full-closed control configuration is a configuration in which the motor 30 is controlled by obtaining a signal from the controlled device 35 instead of the motor 30.
  • the present invention is not limited to the semi-closed control configuration as shown in FIG. 1, but can be similarly applied to a fully closed control configuration as in a modification described later.
  • FIG. 1 a three-phase AC configuration is used between the servo amplifier 20 and the motor 30 regarding power conversion, but if feedback control is adopted to control the motor 30, this power conversion It is not limited to AC configurations.
  • the controller 10 may have a position control function (see FIG. 7 described later) or a speed control function (see FIGS. 8 and 9 described later).
  • the servo amplifier 20 has a function that can handle either case.
  • a system 100 including this servo amplifier 20 has a user interface 40.
  • the user interface 40 has a function of monitoring a predetermined target object of the system 100 and target information (at least the upper control deviation A2 and the estimated control gain A10). Further, the user interface 40 has a function that allows setting of the control gain estimator 27 based on operations by the user U1.
  • the user interface 40 is a part that serves as an interface for the user U1 who uses the servo amplifier 20.
  • the user U1 is, for example, a person in the business who maintains and manages the servo amplifier 20, particularly a person who fits and adjusts the control parameters of the servo amplifier 20 in accordance with the customer's controller 10 and the entire system 100. , can be mentioned.
  • the controller 10 has a computing unit 11 and a first controller 51 as a feedback controller.
  • the controller 10 includes a processor, a memory, a communication interface device, etc., and realizes the arithmetic unit 11 and the first controller 51 through program processing by the processor.
  • the servo amplifier 20 includes a control gain estimator 27 in the motor control system, that is, in the arithmetic unit 21, the second controller 52, and the power converter 23. It has an additional configuration.
  • the control gain estimator 27 is a part that has a function of estimating the control gain set in the first controller 51 of the controller 10 of the host system 1.
  • the controller 10 generates a higher-level control command A1.
  • the upper control command A1 is, for example, a command for positioning the motor 30 in position control of the motor 30.
  • the controller 10 receives the upper control response A4 from the servo amplifier 20.
  • the upper control response A4 is a response signal based on the signal from the encoder 31 and representing the current position, speed, etc. of the motor 30.
  • the controller 10 uses an arithmetic unit 11 to calculate the upper control command A1 and the upper control response A4.
  • the computing unit 11 performs an operation of adding the upper control response A4, which is indicated by a "-" (negative) input, to the upper control command A1, which is indicated by a "+" (positive) input in the drawing, and the operation result is Output the upper control deviation A2.
  • Upper control deviation A2 is a signal representing an error in feedback control.
  • the controller 10 receives the upper control deviation A2 as an input value through the first controller 51, and outputs the servo control command A3 as an output value.
  • the servo control command A3 is generated by multiplying the upper control deviation A2 by the control gain (in other words, feedback gain) of the first controller 51.
  • the servo control command A3 output from the first controller 51 of the controller 10 is transmitted to the servo amplifier 20 and input into the servo amplifier 20.
  • a servo control command A3 is outputted from an output terminal N3 of the controller 10 and inputted to an input terminal N6 of the servo amplifier 20.
  • the servo amplifier 20 inputs the servo control command A3 received from the controller 10.
  • the servo amplifier 20 obtains a signal A8 as a result of differentiating the upper control response A4 with the differentiator 26.
  • the servo amplifier 20 calculates the servo control command A3 and the signal A8 using the calculator 21, and inputs the signal A5 as a result of the calculation as a command to the second controller 52.
  • the computing unit 21 performs an operation of adding a signal A8 indicated by a "-" (negative) input to the servo control command A3 indicated by a "+" (positive) input in the drawing, and outputs a signal A5 as the operation result. do.
  • the second controller 52 outputs a signal A6 as a result of control based on the input of the signal A5.
  • the power converter 23 generates and outputs a three-phase AC signal A7 for driving the motor 30 based on the signal A6 and the supplied power.
  • the motor 30 is driven based on the signal A7.
  • a feedback signal from the motor 30 to the controller 10 and servo amplifier 20 is generated using the encoder 31 of the motor 30 and the differentiator 26.
  • Differentiator 26 corresponds to a speed detector.
  • the upper control response A4 is output from the output terminal N7 of the servo amplifier 20 and input from the input terminal N8 of the controller 10.
  • the control gain estimator 27 receives the servo control command A3, and in the example of FIG. 1, receives the upper control deviation A2 or the upper control command A1.
  • the control gain estimator 27 performs a calculation to estimate the control gain of the first controller 51 based on, for example, the upper control deviation A2 and the servo control command A3, and outputs a signal of the estimated control gain as the calculation result.
  • Estimated control gain A10 is output.
  • the estimated control gain will be referred to as an estimated control gain.
  • the control gain estimator 27 stores the estimated control gain A10 in memory resources within the servo amplifier 20.
  • the user interface 40 also monitors the estimated control gain A10 by the control gain estimator 27.
  • the application 41 in FIG. 3 which will be described later, obtains the estimated control gain A10 output from the control gain estimator 27 and stores it in the memory resource of the computer 42.
  • the user interface 40 may monitor the higher-level control deviation A2 or higher-level control command A1 of the controller 10.
  • the application 41 in FIG. 3, which will be described later may acquire the upper control deviation A2 from the output terminal N2 of the controller 10.
  • the user interface 40 (for example, the application 41) may transmit and pass the upper control deviation A2 obtained by the monitor to the control gain estimator 27.
  • the user interface 40 may obtain the upper control deviation A2 obtained by the control gain estimator 27 from the control gain estimator 27.
  • FIG. 2 shows an example of the configuration of the servo amplifier 20 as a computer system.
  • the servo amplifier 20 includes a processor 201, a memory 202, a communication interface device 203, a bus 204, and the like.
  • the power converter 23 in FIG. 1 is realized by program processing and an electric circuit, and other parts are realized by program processing.
  • the processor 201 executes processing according to the control program 221 of the memory 202, in other words, software program processing and arithmetic processing. Thereby, each part (excluding the electric circuit of the power converter 23) such as the arithmetic unit 21, the second controller 52, and the control gain estimator 27 in the servo amplifier 20 of FIG. 1 is realized. In other words, by executing the program processing, each part of the servo amplifier 20, such as the control gain estimator 27, is configured as an execution module.
  • the memory 202 stores a control program 221, setting information 222, processing data 223, etc.
  • the control program 221 is a computer program that causes the servo amplifier 20 to execute predetermined processing in order to realize a predetermined function.
  • the setting information 222 is setting information regarding the control program 221 and setting information regarding the control parameters of the servo amplifier 20 (for example, the control gain of the speed controller).
  • the processing data 223 is data/information that the processor 201 handles in appropriate processing.
  • the communication interface device 203 is a part in which a communication interface with the controller 10, a communication interface with the user interface 40, etc. are implemented.
  • the servo amplifier 20 in the first embodiment includes each program (control program 221 in FIG. 2) for each function, and executes the processing of the program corresponding to the selected function.
  • each program may be installed in the servo amplifier 20 in advance, or may be read as appropriate from outside the servo amplifier 20, for example, from an external storage medium or an external server device.
  • the servo control method and feedback control method in the motor control system including the first controller 51 of the controller 10 and the second controller 52 of the servo amplifier 20 are set in advance.
  • the servo control method here refers to general classifications and types of control such as position control and speed control, and the feedback control method refers to methods such as P control and PI control (described later).
  • the feedback control method of the first controller 51 etc. which is a premise is that the user U1 uses the user interface 40 to A feedback control method (control mode to be described later) is selected and set.
  • the application 41 (described later in FIG. 3) of the user interface 40 also has a function of setting a feedback control method.
  • the control gain estimator 27 has a function of estimating the control gain of the first controller 51 in the set feedback control method.
  • FIG. 3 shows an example configuration of the user interface 40.
  • the user interface 40 includes an application 41 for the servo amplifier 20.
  • This application 41 is an application program that provides a graphical user interface (GUI) etc. for the user U1 who uses the servo amplifier 20, in other words, it is a servo amplifier application.
  • This application 41 is built in and installed in a computer 42 such as a PC connected to the servo amplifier 20, for example.
  • This application 41 corresponds to an application program equipped with a GUI that has a function of setting control parameters for the servo amplifier 20.
  • the application 41 constituting the user interface 40 in FIG. 3 provides a screen with a GUI based on the operation by the user U1, and has functions for setting and monitoring the control gain estimator 27 and performing estimation through the screen. It has a function to input instructions etc.
  • the user U1 can perform various instructions and settings on a GUI screen (FIG. 6, which will be described later) provided by the application 41.
  • the application 41 of the user interface 40 has a function of monitoring the signal of the upper control deviation A2 of the controller 10 and a function of outputting and monitoring the estimated control gain A10 of the control gain estimator 27 of the servo amplifier 20. Further, the application 41 of the user interface 40 has a function of displaying and confirming various parameter values regarding the servo amplifier 20 and the motor 30. Furthermore, it is more preferable that the application 41 of the user interface 40 has a function of monitoring the control state and abnormality of the motor 30, for example, a function of monitoring signals such as the upper control response A4.
  • the configuration example shown in FIG. 3 includes a computer 42 such as a PC, and the computer 42 includes a processor 301, a memory 302, a communication interface device 303, an input/output interface device 304, a bus 305, and the like.
  • Processor 301 executes processing according to control program 321 in memory 302 .
  • the application 41 is realized.
  • the application 41 operates as an execution module.
  • the memory 302 stores a control program 321, setting information 322, screen data 323, etc.
  • the control program 321 is a computer program that causes the computer 42 to execute a predetermined process in order to realize a predetermined function, and includes the program of the application 41.
  • the setting information 322 is setting information regarding the control program 321 and user setting information.
  • the screen data 323 is data/information such as a GUI screen that the application 41 provides to the user U1.
  • the communication interface device 303 is a part in which a communication interface with the servo amplifier 20, a communication interface with the controller 10 when communicating with the controller 10, etc. are implemented.
  • An input device 306 and an output device 307 are externally connected to the input/output interface device 304 .
  • the input device 306 is, for example, a keyboard, mouse, microphone, or the like.
  • the output device 307 is, for example, a display, a printer, a speaker, or the like.
  • the computer 42 may have a built-in input/output device.
  • the computer 42 in FIG. 3 is connected to the servo amplifier 20 by communication, it may be placed nearby or remotely. Further, a client terminal device used by the user U1 may be further connected to the computer 42 via communication. That is, the user interface 40 may be configured as a client-server system using the computer 42 as a server device and between the computer 42 serving as the server and the client terminal device of the user U1. In that case, the user U1 operates the client terminal device to access the computer 42, which is the server, and uses the application 41 provided by the computer 42.
  • the computer 42 which is a server, generates a screen by the application 41 and transmits screen data etc. (for example, a web page) to a client terminal device.
  • the client terminal device displays a GUI screen on the display based on the received screen data and the like.
  • the application 41 shown in FIG. 3 may be built into and integrated into the servo amplifier 20.
  • FIG. 4 shows another configuration example regarding the user interface 40.
  • the user interface 40 may be implemented with a dedicated digital operator 43 attached to or built into the servo amplifier 20.
  • the digital operator 43 is provided as an input/output interface and an operation interface for the servo amplifier 20, and includes an operation panel, operation buttons, and the like.
  • the digital operator 43 includes devices such as a liquid crystal display screen, buttons, and LED lamps. Note that the digital operator 43 may include a touch panel or the like.
  • the functions of the user interface 40 described above are implemented in the digital operator 43.
  • the digital operator 43 is connected to the components of the servo amplifier 20 shown in FIGS. 1 and 2.
  • the digital operator 43 may display a GUI or information on a liquid crystal display screen or a touch panel screen. For example, monitor values such as the upper control deviation A2 and output information such as the estimated control gain A10 are displayed on the screen of the digital operator 43, and the user U1 can view and confirm such information.
  • FIG. 5 shows another configuration example regarding the user interface 40.
  • the controller 10 of the host system 1 may be provided with a user interface 40 that is externally connected or built-in.
  • a computer 44 is externally connected to the controller 10 of the host system 1 via a communication network 45.
  • the communication network 45 may be a LAN or a WAN.
  • An application 46 is installed on a computer 44 managed by a business operator or a customer. Similar to the computer 42 in FIG. 3, the configuration of the computer 44 can be implemented using a PC or the like, and includes a processor 441, a memory 442, a communication interface device 443, etc., and detailed illustration thereof is omitted.
  • the application 46 of the computer 44 communicates with the controller 10 to monitor information from the controller 10, such as the upper control deviation A2.
  • controller 10 may obtain information, for example, the estimated control gain A10, from the servo amplifier 20 via communication and transmit it to the computer 44.
  • a similar application may be implemented in a computer that is communicatively connected to both the controller 10 and the servo amplifier 20.
  • FIG. 6 shows a display example of a GUI screen provided to user U1 by application 41 of user interface 40 (eg, FIG. 3).
  • the screen in FIG. 6 is provided in the form of a web page, for example, but is not limited thereto.
  • the example screen in FIG. 6 includes items 601, 602, 603, button 604, items 605, 606, button 607, and items 608, 609.
  • the control can be selected from position control and speed control (described later).
  • Item 603 allows selection of a control gain to be estimated (described later). For example, as shown in the figure, when the user U1 operates the cursor, a list box is displayed as a pull-down in item 603, and P control and PI control are displayed as options in the list box, and the user can select and input from these.
  • Button 604 is an estimation start button that allows input of an instruction to execute control gain estimation using a specified form, control, and control gain.
  • Item 605 and item 606 are items that display the estimation result of the control gain by the control gain estimator 27 (that is, estimated control gain A10), item 605 displays the estimated P gain, and item 606 displays the estimated I gain. is displayed (described later).
  • the button 607 is a button that allows transition to a screen for setting and adjusting control parameters of the servo amplifier 20. For example, if the user U1 wants to adjust the control parameters by looking at the control gain estimation results, the user U1 presses the button 607 and displays the control parameters of the servo amplifier 20 (for example, the control gain of the speed controller) on a transitioned screen (not shown). etc.) can be checked and adjusted.
  • Item 608 and item 609 are items that display monitor values by the monitor function, item 608 displays the value of servo control command A3, and item 609 displays the value of upper control deviation A2.
  • the monitor value may be displayed directly as a value at each point in time, or may be displayed as a graph in time series.
  • the servo amplifier 20 automatically monitors the upper control deviation A2 and only stores it in the memory resource, and the monitor value is sent to the user U1.
  • the upper control deviation A2 flowing through the node before the input of the first controller 51 on the output side of the arithmetic unit 11 of the controller 10 is output from the output terminal N2, and the signal of the upper control deviation A2 is sent to the servo controller.
  • the signal of the upper control deviation A2 is input to the input terminal N5 of the amplifier 20, and the signal of the upper control deviation A2 is input to the control gain estimator 27.
  • the control gain estimator 27 (processor 201 in FIG. 2 as an implementation entity) temporarily stores the signal of the upper control deviation A2 in a memory resource (memory 202 in FIG. 2), and then uses it for estimation calculation.
  • the monitored value of the upper control deviation A2 may be output to the user U1.
  • the application 41 of the user interface 40 of FIG. 3 monitors the signal of the upper control deviation A2 of the controller 10 through the output terminal N2.
  • the application 41 of the user interface 40 may send the monitored and acquired signal of the upper control deviation A2 to the control gain estimator 27 of the servo amplifier 20.
  • the control gain estimator 27 receives and inputs the signal of the upper control deviation A2, and uses it for estimation calculation.
  • the application 41 of the user interface 40 displays the value of the monitored signal of the upper control deviation A2 on the GUI screen (FIG. 6) for the user U1.
  • the information input to the control gain estimator 27, in other words, the signals and parameter values, are basically two pieces of information: the aforementioned servo control command A3 and the upper control deviation A2.
  • servo control command A3 is obtained directly as an output from controller 10.
  • the servo control command A3 outputted from the output terminal N3 of the controller 10 is inputted from the input terminal N6 of the servo amplifier 20, and the inputted servo control command A3 is inputted to the control gain estimator 27.
  • the upper control deviation A2 can be obtained, for example, by inputting the output from the output terminal N2 of the controller 10 from the input terminal N5.
  • the upper control deviation A2 may be obtained via monitoring by the user interface 40, as described above.
  • a modification regarding the input of the control gain estimator 27 may be as follows.
  • one of the pieces of information that the servo amplifier 20 or the user interface 40 monitors and inputs from the controller 10 is the higher level control command A1 instead of the higher level control deviation A2.
  • the servo amplifier 20 obtains the upper control command A1 output from the output terminal N1 of the controller 10 by inputting it from the input terminal N4.
  • the control gain estimator 27 receives the upper control command A1 input from the input terminal N4 and stores it in the memory resource.
  • the application 41 of the user interface 40 once monitors and acquires the upper control command A1 from the controller 10, and sends the upper control command A1 to the servo amplifier 20. Then, the control gain estimator 27 may obtain the upper control command A1.
  • the upper control response A4 is also obtained within the servo amplifier 20 as an output/input from the encoder 31 of the motor 30.
  • the control gain estimator 27 obtains the signal of the upper control response A4.
  • the servo amplifier 20, especially the control gain estimator 27, calculates the obtained upper control command A1 and the upper control response A4 (the same calculation as the calculator 11), thereby obtaining a value similar to the upper control deviation A2 ( For the purpose of explanation, it is possible to obtain the upper control deviation calculation value.
  • the control gain estimator 27 can similarly perform the control gain estimation calculation using the upper control deviation calculation value and the servo control command A3 as inputs.
  • FIG. 1 shows a configuration example in which both the upper control deviation A2 and the upper control command A1 can be output/input between the controller 10 and the servo amplifier 20, as described above, only one of them can be output/input. It may be output/input.
  • communication 48 between the controller 10 and the servo amplifier 20 is illustrated as communication including connection with a communication cable via input/output terminals (output terminal N3, input terminal N6, etc.). However, it is not limited to this. Further, the input/output terminals for various signals shown in FIG. 1 may be combined into a smaller number of communication terminals according to the communication interface.
  • Embodiment 1 deals with position control and speed control in a broad sense.
  • Position control in a broad sense is control of the position, speed, and current of the motor 30.
  • Speed control in a broad sense is control of the speed and current of the motor 30.
  • the controller 10 has position control in a narrow sense (position controller), and the servo amplifier 20 has speed control (speed control).
  • a first case in which the controller 10 has speed control in a narrow sense (speed controller) and a servo amplifier 20 has current control handle with. Further, in the second case, the controller 10 has only speed control (speed controller) (see FIG.
  • controller 10 has position control (position controller) and speed control (speed controller). ) (described later in FIG. 9), and either one is acceptable. They depend on the configuration of the host system 1. 7 and 9 correspond to position control in a broad sense, and FIG. 8 corresponds to speed control in a broad sense.
  • the servo amplifier 20 has a function that can be used selectively from position control and speed control as control contents provided in the controller 10.
  • the functionality is implemented, for example, in an application 41 (FIG. 3) of the user interface 40.
  • the servo amplifier 20 and the user interface 40 have a first control mode corresponding to position control and a second control mode corresponding to speed control as control modes.
  • the user U1 can select and set a first control mode corresponding to position control and a second control mode corresponding to speed control on the GUI screen (item 602 in FIG. 6).
  • these control modes are modes for selecting control contents and controllers (position controller and speed controller) included in the controller 10.
  • the first control mode corresponding to position control is a mode applied when the controller 10 has position control (position controller 51A in FIG. 7), and the second control mode corresponding to speed control is: This mode is applied when the controller 10 has speed control (speed controller 51B in FIGS. 8 and 9).
  • the servo amplifier 20 switches and executes program processing corresponding to the instructed/set control mode.
  • the configuration in FIG. 1 can be used as the configuration of the execution module, for example, in the position control configuration in FIG. or, for example, the speed control configuration shown in FIG. 8 (corresponding to the second case where the controller 10 includes only the speed controller 51B, the servo amplifier 20 includes a current controller 52C).
  • P control and PI control are used as feedback control methods regarding servo control of motor 30 by controller 10 and servo amplifier 20.
  • P control is a proportional control (P: abbreviation for Proportion) of PID control, and is control that performs an operation proportional to the error.
  • the error is the difference between the higher-level control command A1 and the higher-level control response A4 in FIG. 1, and the higher-level control deviation A2.
  • the operation is an operation in which the operation amount is the error multiplied by the control gain of the first controller 51.
  • PI control is proportional-integral control that combines P control and I control (I: abbreviation for Integral) of PID control.
  • the I control is a control that performs an operation of integrating errors.
  • the operation is an operation in which the manipulated variable is obtained by integrating the error (upper control deviation A2) and multiplying it by the control gain.
  • FIG. 7 shows a functional block configuration when the controller 10 has position control as the first control mode, based on the configuration of FIG. 1. Note that, in FIG. 7, illustrations of the motor 30, encoder 31, controlled device 35, user interface 40, etc. of FIG. 1 are omitted.
  • FIG. 7 shows a case where the controller 10 of the host system 1 controls the position of the motor 30, and the first controller 51 is configured as a position controller 51A.
  • the servo amplifier 20 of the lower system 2 performs speed and current control after position control among the overall position control (position, speed, and current control).
  • the second controller 52 is configured as a speed controller 52B.
  • Power converter 23 includes current control. Also, current control is general vector control.
  • the overall position control mainly includes two elements: a position controller 51A and a speed control system (including the speed controller 52B), and control with these elements is performed in order.
  • the controller 10 outputs a servo control command A3 as a result of position control by the position controller 52A based on the upper control deviation A2 from the upper control command A1 and the upper control response A4, and inputs it to the servo amplifier 20.
  • a signal A8 is obtained as a result of differentiating the upper control response A4 based on the signal from the encoder 31 of the motor 30 using the differentiator 26.
  • a signal A5 resulting from calculation of the servo control command A3 and the signal A8 by the calculator 21 is input to the speed controller 52B.
  • the speed controller 52B obtains a signal A12 (current command value) as a result of calculations including speed control and torque conversion based on the signal A5.
  • the control gain estimator 27 inputs the servo control command A3 and the upper control deviation A2, estimates the P gain of the position controller 51A, and stores it as an estimated P gain (estimated control gain A10). Output.
  • FIG. 8 shows a first example of a functional block configuration when the controller 10 has speed control as the second control mode.
  • FIG. 8 shows, as a first example corresponding to the second control mode, a control configuration in which the controller 10 has only speed control (speed controller 51B) without a position controller in the controller 10. ing.
  • the second control mode may include a position/speed control system (position controller 51A and speed controller 51B) within the controller 10 as a second example.
  • the first controller 51 becomes the speed controller 51B
  • the second controller 52 becomes the current controller 52C of the current control system 80. Since the functions related to the second control mode are essentially the same in the case of FIG. 8 and the case of FIG. 9, the following description will mainly be made using FIG. 8.
  • the gain estimation in the second control mode is the estimation of the gain of the speed controller 51B of the controller 10.
  • the controller configuration below speed control includes two elements: a speed controller 51B and a current control system 80.
  • the current control system 80 includes a computing unit 22, a current controller 52C, and a power converter 23.
  • the current control system 80 has a current control loop, is configured with general vector control, and performs calculations such as orthogonal coordinate transformation and two-phase three-phase transformation. In FIG. 8, only the loop is illustrated, and processes such as orthogonal coordinate transformation and two-phase three-phase transformation are omitted.
  • the first controller 51 in the controller 10 is illustrated as a speed controller 51B.
  • the inside of the servo amplifier 20 is configured as a current control system 80 that controls current.
  • the aforementioned second controller 52 is illustrated as a current controller 52C.
  • the signal A4a from the encoder 31 of the motor 30 is differentiated by the differentiator 26 (26C) in the controller 10 to become a signal A4b representing the position and speed of the motor 30, and that signal A4b is the upper control response.
  • the signal is input to the arithmetic unit 11 of the controller 10 as a signal.
  • the computing unit 11 computes the upper control command A21 and the signal A4b, and as a result of the computation, a signal A22 corresponding to the upper control deviation is input to the speed controller 51B.
  • the speed controller 51B calculates speed control based on the signal A22 and outputs it as a servo control command A11.
  • the servo control command A11 is input to the current control system 80.
  • Servo control command A11 corresponds to a current command value.
  • the calculator 22 calculates the signal A11 and the signal A7b, and generates a signal A12 as a result of the calculation, which is input to the current controller 52C.
  • the current controller 52C obtains a signal A13 as a result of current control based on the signal A12, and inputs it to the power converter 23.
  • Current controller 52C includes torque conversion.
  • the signal A7b output by the power converter 23 corresponds to the current response value after three-phase/two-phase conversion.
  • control gain estimator 27 In the second control mode, the control gain estimator 27 outputs a signal A22 corresponding to the upper control deviation of the previous stage of the speed controller 51B and a signal A11 (servo control command) resulting from speed control by the speed controller 51B. input. Control gain estimator 27 estimates the control gain of speed controller 51B using signal A22 and signal A11.
  • the signal A22 and the signal A11 are input to the control gain estimator 27, but the invention is not limited to this.
  • the signal A21 may be monitored using the user interface 40 described above, The signal A21 acquired by the monitor may be transmitted to the control gain estimator 27.
  • control gain estimator 27 inputs the signal A22 and the signal A11, estimates the control gain of the speed controller 51B, and stores and outputs the estimated control gain A10.
  • the controller 10 includes, in order from the input side, a computing unit 11A, a position controller 51A, a computing unit 11B, and a speed controller 51B.
  • the arithmetic unit 11A calculates the upper control command A21 and the upper control response A4a, and sets it as an upper control deviation A22.
  • the position controller 51A inputs the upper control deviation A22 and outputs a signal A23 as a result of position control calculation.
  • the calculator 11B calculates the signal A23 output from the position controller 51A and the signal A4b obtained by differentiating the signal A4b with the differentiator 26 (26C) to obtain a signal A24.
  • the speed controller 51B inputs the signal A24 and outputs a signal resulting from speed control calculation as a servo control command A11.
  • the control gain estimator 27 receives the signal A24 and the servo control command A11, and estimates the control gain of the speed controller 51B.
  • the control gain estimator 27 reads the servo control command A3 and the upper control deviation A2 from a memory resource (for example, the memory 202 in FIG. 2), and executes calculation processing for estimating the control gain of the first controller 51. .
  • the user U1 selects position control, which is the first control mode, on the GUI screen as shown in FIG. 6 (item 602), and selects the control gain of the estimation target corresponding to the feedback control method.
  • P gain is selected as (item 603).
  • the control gain estimator 27 performs a process of estimating the P gain of the position controller 51A (FIG. 7).
  • FIG. 10 shows, as an example of the processing flow of the control gain estimator 27, a processing flow for estimating and deriving the P gain in the case of P control for positional control.
  • the processing flow in FIG. 10 shows an example of some of the possible processing operations by the control gain estimator 27 (actually the processor 201 in FIG. 2), and includes steps S11 to S15.
  • step S11 the control selection function (part of the application 41 of the user interface 40) of the servo amplifier 20 selects position control and P control, for example, through the GUI screen of FIG. 6 based on the operation of the user U1.
  • An instruction/input to start execution of the estimation process is made (button 604).
  • step S12 the controller 10 generates and inputs the higher-level control command A1, and obtains the higher-level control deviation A2 as a result of calculation of the higher-level control command A1 and the higher-level control response A4 (here, position response).
  • the upper control command A1 here corresponds to a position command value.
  • the upper control response A4 here corresponds to the position response value.
  • the upper control deviation A2 here corresponds to the positional deviation value.
  • the controller 10 outputs a servo control command A3 from the upper control deviation A2 using the position controller 51A.
  • the servo control command A3 here corresponds to a speed control command.
  • a speed command value is generated by applying a P gain to the position deviation value by the position controller 51A.
  • step S13 the control gain estimator 27 of the servo amplifier 20 acquires and inputs the upper control deviation A2 (position deviation value) and the servo control command A3 (speed command value) from the controller 10, and stores them in memory resources. save.
  • the position deviation value and speed command value here may be acquired by the monitor using the user interface 40, as in FIG. 1, etc., or such information may be output to the user U1.
  • step S14 the control gain estimator 27 estimates the P gain of the position controller 51A by dividing the servo control command A3 (speed command value) by the upper control deviation A2 (position deviation value), and uses the estimation result.
  • a certain estimated P gain is stored and output as an estimated control gain A10.
  • the estimated P gain is obtained as a value of the ratio [speed command value]/[position deviation value] as a calculation formula.
  • the servo amplifier 20 and the user U1 can use the estimated P gain as desired.
  • the user U1 can check the estimated P gain on the GUI screen (FIG. 6) (item 605), and can adjust the control parameters within the servo amplifier 20 using the estimated P gain (button 607).
  • the parameters of the speed controller 52B and current control in FIG. 7 can be set to suitable values.
  • the user U1 can suitably adjust the control parameters of the servo amplifier 20 by using the estimated P gain.
  • FIG. 11 shows, as an example of the processing flow of the control gain estimator 27, a processing flow for estimating and deriving a PI gain in the case of PI control for positional control.
  • the flow in FIG. 11 shows an example of some of the possible processing operations by the control gain estimator 27 (actually the processor 201 in FIG. 2), and includes steps S21 to S28.
  • step S21 the control selection function of the servo amplifier 20 selects PI control for position control, and inputs an instruction to start execution of the estimation process.
  • step S22 the controller 10 obtains a position deviation value as the upper control deviation A2 from the position command value as the upper control command A1 and the position response value as the upper control response A4, as described above. Based on the position deviation value, the controller 10 outputs a speed command value as a servo control command value A3 using a position controller 51A.
  • the servo amplifier 20 inputs and acquires a positional deviation value as an upper control deviation A2 and a speed command value as a servo control command value A3 from the controller 10, and stores them in memory resources.
  • the above timing and cycle are time units for feedback control.
  • the mechanism for storing the upper control deviation and servo control command in the memory resource is not limited in detail, and may be stored in the RAM within the servo amplifier 20, for example.
  • Equation 2 which will be described later, shows an example of the relationship between the position deviation value and the speed command value obtained up to step S25.
  • step S26 the control gain estimator 27 calculates the upper control deviations [0] to [n] and servo control commands [1] to [n], which are the values saved up to step S24, as described below.
  • the I gain (Ci in Equation 3) is estimated.
  • step S27 the control gain estimator 27 uses the upper control deviation [1] and the servo control command [1] to apply the estimated I gain obtained in step S26 to Equation 4, which will be described later. (Cp in Equation 3) is estimated.
  • step S28 the servo amplifier 20 stores the estimated P gain and estimated I gain obtained above in the memory resource and outputs them as the estimated control gain A10.
  • the servo amplifier 20 displays the estimated P gain and estimated I gain to the user U1 on the GUI screen (FIG. 6), for example (items 605 and 606).
  • control gain estimator 27 may be performed at the beginning of the servo control operation of the system 100 including the servo amplifier 20, or during the operation, as the start point of the estimation process. In either case, estimation is possible based on the same calculation formula and other mechanisms.
  • Equation 1 shows the relationship between the position deviation value (Perr) and the speed command value (v * ).
  • Equation 3 shows a calculation formula for estimating I gain (Ci).
  • Equation 4 shows a calculation formula for estimating P gain (Cp).
  • the I gain (Ci) is determined from the position deviation value and the speed command value.
  • the I gain (Ci) After deriving the I gain (Ci), by substituting Ci into [1] in Equation 6, the P gain (Cp) can be derived.
  • the PI gain can be estimated as described above.
  • the information on the estimated control gain A10 obtained in the first embodiment can be used as desired.
  • An example of usage is below.
  • the estimated control gain is used for setting and adjusting parameters of the entire system 100 in FIG. 1 .
  • the user U1 may use the estimated control gain to set and adjust the control gain of the first controller 51 of the controller 10. Further, the user U1 may use the estimated control gain to set and adjust the control gain of the second controller 52 (for example, the speed controller 52B) of the servo amplifier 20.
  • the second example uses the estimated control gain for another control.
  • Another example of control is vibration damping control of the motor 30.
  • the servo amplifier 20 of the lower system 2 can estimate the control gain of the first controller 51 of the controller 10 of the higher system 1.
  • the servo amplifier 20 or the user U1 can use the estimated control gain A10 to adjust the control parameters of the system 100 including the servo amplifier 20 more easily than before, and can adjust the control parameters more favorably than before. It can be adjusted to As a result of the adjustment, it becomes easier to achieve high efficiency and high response of the system 100 including the servo amplifier 20.
  • control gain can be estimated, even if the unit system regarding the control parameters is different between the controller 10 etc. of the upper system 1 and the servo amplifier 20 of the lower system 2, the control parameters can be adjusted. This can help reduce the need for manual adjustments.
  • the control gain in the controller 10 of the upper system 1 is estimated from the servo amplifier 20 of the lower system 2.
  • the servo amplifier 20 of the lower system 2 can estimate the control gain in the controller 10 of the higher system 1.
  • the control gain of the first control section 51 of the controller 10 is not known. Therefore, it is difficult to adjust suitable control parameters to match the host system 1 side. According to the first embodiment, it is possible to adjust control parameters suitable for the host system 1 side using the estimated control gain.
  • FIG. 12 shows a fully closed control configuration as a modification of the first embodiment.
  • the servo amplifier 20 obtains the output signal A36 from the external encoder 36 provided in the controlled device 35 of the controlled system 3.
  • Servo amplifier 20 has a synthesizer 1101.
  • the synthesizer 1101 synthesizes the signal A31 output from the encoder 31 of the motor 30 and the signal A36 output from the external encoder 36, and outputs the synthesized signal as the upper control response A4.
  • the combined signal is, for example, the content obtained by calculating the position response of the motor 30 and the position response of the controlled device 35.
  • the controller 10 receives the synthesized higher-level control response A4f as a feedback signal, and generates the higher-level control deviation A2 in the same manner as described above.
  • the control gain estimator 27 estimates the control gain of the first controller 51 using the servo control command A3 and, for example, the upper control deviation A2, as described above. Even in the modified example shown in FIG. 12, the same effects as in the first embodiment can be obtained.
  • Embodiment 1 shown in FIG. 1 shows an encoder-equipped control configuration in which the motor 30 is equipped with an encoder 31.
  • the present invention is not limited to this, and as a modification, a configuration in which the encoder 31 is not attached to the motor 30 may be used, that is, a so-called sensorless control configuration.
  • FIG. 13 shows a sensorless control configuration as a modification of the first embodiment. In this configuration, neither the motor 30 nor the controlled device 35 is provided with an encoder.
  • servo amplifier 20 includes sensorless controller 1201 in addition to the aforementioned components. The sensorless controller 1201 calculates the position response of the motor 30, and outputs a signal representing the position response, which is the calculation result, as an upper control response A4g.
  • the controller 10 receives this upper control response A4g as a feedback signal, and generates the upper control deviation A2 in the same manner as described above.
  • the servo amplifier 20 generates a signal A8 as a result of differentiating the higher-level control response A4g with a differentiator 26, and inputs a signal A5 as a result of the calculation of the servo control command A3 and the signal A8 to the second controller 52.
  • the control gain estimator 27 estimates the control gain of the first controller 51 using the servo control command A3 and, for example, the upper control deviation A2, as described above. Even in the modified example shown in FIG. 13, the same effects as in the first embodiment can be obtained.
  • Embodiment 2 The motor control device and the like of Embodiment 2 will be explained using FIG. 14 and the like.
  • the basic configuration of Embodiment 2 is the same as Embodiment 1, and below, the components of Embodiment 2 that are different from Embodiment 1 will be mainly described.
  • the second embodiment mainly differs from the first embodiment in the following components.
  • the higher-level control command A1 for example, position control command
  • the servo amplifier 20 arbitrarily operates the higher-level control response A4.
  • the higher level control command A1 that has been set to zero is set as the higher level control command A1c.
  • the operated higher level control response A4 is defined as the operated higher level control response A4c.
  • the higher level control command A1 set to zero is a signal that always has a zero value (or an off signal) as a time-series value. Further, this zero value may be a constant value such as a predetermined reference value or an offset value.
  • Embodiment 2 an example will be described in which the control gain of the first controller 51 of the controller 10 is estimated when performing P control in position control in a semi-closed control configuration as in Embodiment 1.
  • FIG. 14 shows the configuration of a system 100 including a servo amplifier 20, which is a motor control device according to the second embodiment.
  • a higher order response controller 28 is provided in the servo amplifier 20.
  • the higher-level response operation device 28 arbitrarily manipulates the value of the higher-level control response A4, which is a signal output from the encoder 31 of the motor 30, to generate an operation higher-level control response A4c, and performs processing for outputting it to the controller 10. It is a part.
  • the second embodiment has a predetermined control mode in which the value of the higher-level control command A1 is set to zero and the higher-level control response A4 is arbitrarily operated.
  • the value of the upper control command A1 is set to zero.
  • the servo amplifier 20 or the application 41 of the user interface 40 may request the controller 10 to set the value of the upper control command A1 to zero.
  • the controller 10 sets the upper control command A1 to zero.
  • the system 100 may have such an information processing mechanism.
  • the user U1 of the business may request the administrator of the controller 10 of the host system 1 to set the value of the host control command A1 to zero.
  • the administrator performs an operation on the controller 10 to set the value of the upper control command A1 to zero. In this way, it may be realized by human work.
  • a command similar to the command input from the servo amplifier 20 to the motor 30 is input to the higher-order response controller 28.
  • the servo amplifier 20 inputs the signal A6 output from the speed controller 52B as the second controller 52 to the higher-order response controller 28.
  • the higher-level response operating device 28 Based on this signal A6, the higher-level response operating device 28 performs an operation regarding the higher-level control response A4, which is the output of the motor 30, and outputs it as an operation higher-level control response A4c.
  • Arbitrary operations by the higher-level response operator 28 may be defined in advance by program processing, or may be defined as instructions and settings by the user U1 via the application 41 of the user interface 40. Further, the application 41 of the user interface 40 may monitor the state of the operation of the upper level control response A4c on the higher level response operator 28.
  • the upper level response operator 28 generates an operation upper level control response A4c that is arbitrarily operated within a possible range. Note that the actual higher-level control response A4 from the motor 30 is used in the function and control mode in the first embodiment.
  • the operation upper control response A4c can be obtained as a value equivalent to the signal A8 of the output of the differentiator 26.
  • the controller 10 inputs the operation upper control response A4c, and the calculator 11 calculates the upper control command A1c set to zero and the operation upper control response A4c, and outputs the upper control deviation A2c as the calculation result.
  • the first controller 51 for example, the position controller 51A outputs a servo control command A3 based on the upper control deviation A2c.
  • the servo amplifier 20 inputs the servo control command A3, and the differentiator 26 outputs a signal A8 as a result of differentiating the operation upper control command A4c.
  • the computing unit 21 computes the servo control command A3 and the signal A8, and outputs a signal A5 as a result of the computation.
  • the second controller 52 for example the speed controller 52B, outputs a signal A6 based on the signal A5. Signal A6 is input to the higher order response controller 28.
  • the control gain estimator 27 receives the operation upper control response A4c in addition to the servo control command A3, and stores it in the memory resource.
  • the control gain estimator 27 does not need to input and acquire the upper control deviation A2. This is because the operation higher level control response A4c corresponds to the content of the higher level control deviation A2.
  • the control gain estimator 27 estimates the control gain of the first controller 51 of the controller 10 using the operation upper control response A4c and the servo control command A3, and stores and outputs the estimated control gain A10.
  • the servo amplifier 20 can estimate the control gain of the first controller 51 without the need to monitor and acquire the upper control deviation A2 from the controller 10.
  • FIG. 15 shows an example of a processing flow in which the control gain is estimated by the control gain estimator 27 in the above control mode in the second embodiment.
  • This example shows an example of estimating the P gain in the case of P control in position control.
  • step S32 the servo amplifier 20 (or user U1) sets the position control command value, which is the upper control command A1 of the controller 10, to 0 (zero).
  • step S33 the servo amplifier 20 generates and sets a manipulated higher control response A4c as a value for arbitrarily manipulating the higher level control response A4 (for example, position response) using the higher level response operator 28 based on the signal A6, Output.
  • a manipulated higher control response A4c as a value for arbitrarily manipulating the higher level control response A4 (for example, position response) using the higher level response operator 28 based on the signal A6, Output.
  • step S34 the controller 10 calculates the higher level control command A1, which is zero, and the operation higher level control response A4c using the calculator 11, outputs the higher level control deviation A2, and outputs the higher level control deviation A2 from the higher level control deviation A2 to the first controller 51.
  • Servo control command A3 is output by position controller 51A.
  • the control gain estimator 27 of the servo amplifier 20 receives the operation upper control response A4c and the servo control command A3 and stores them in memory resources.
  • step S35 the control gain estimator 27 successively compares the servo control command A3 and the operation higher control response A4c.
  • the control gain estimator 27 calculates the estimated P gain based on the compared operation higher control response A4c and the magnification of the servo control command A3.
  • the magnification is divided by [value of A4c]/[value of A3]. This magnification or ratio is obtained as the estimated P gain.
  • step S36 the servo amplifier 20 stores and outputs the estimated P gain.
  • the control gain of the controller 10 of the host system 1 can be estimated using only the servo amplifier 20 by arbitrarily operating the host control response A4.
  • the controller 10 side of the host system 1 it is only necessary to set the value of the host control command A1 to zero, and no other operations or work are necessary. Therefore, the number of man-hours required for estimating the control gain can be reduced.
  • the servo amplifier 20 is provided with a simulated operation module (in other words, a simulated motor section) that performs processing corresponding to such simulated operation of the motor 30.
  • This pseudo operation module is a part that simulates the input and output of the motor 30, and is a part that obtains a pseudo output of the motor 30 (in other words, a pseudo upper control response).
  • This pseudo operation module is realized by calculation and program processing by the processor of the servo amplifier 20.
  • one of the control modes includes a mode (for example, described as "pseudo operation mode") in which the motor 30 is operated in a simulated manner.
  • FIG. 16 shows an example of the functional block configuration in the case of the pseudo operation mode in a modification of the second embodiment.
  • the example in FIG. 16 shows a case of P control in position control.
  • the first controller 51 of the controller 10 is configured as a position controller 51A
  • the second controller 52 of the servo amplifier 20 is configured as a speed controller 52B.
  • the servo amplifier 20 has a monitor 1501 and a pseudo operation module 1502.
  • the monitor 1501 monitors the upper control deviation A2 in the controller 10 and the output servo control command A3.
  • the upper control deviation A2 outputted from the output terminal N2 of the controller 10 is inputted from the input terminal N5 and inputted to the monitor 1501.
  • the servo control command A3 outputted from the output terminal N3 of the controller 10 is inputted from the input terminal N6 and inputted to the monitor device 1501.
  • the monitor device 1501 stores the upper control deviation A2 and the servo control command A3 acquired as a monitor in a memory resource, and provides them to the control gain estimator 27.
  • the control gain estimator 27 estimates the control gain of the first controller 51 of the controller 10, for example, the control gain of the position controller 51A, using the monitored upper control deviation A2 and the servo control command A3, and calculates the estimated control gain A10. Store and output.
  • a pseudo operation module 1502 is used to simulate the operation of the motor 30. control.
  • the simulated operation module 1502 is realized by simulating the operation of the motor 20 by a processor.
  • the simulated operation module 1502 inputs the signal A6 of the output of the second controller 52, for example, the speed controller 52A, based on the servo control command A3, and calculates the response from the motor 30 based on the calculation of the simulated operation of the motor 30. As an output that imitates the output (higher level control response A4), a pseudo higher level control response A4 (referred to as a pseudo higher level control response A4d) is generated and output.
  • a pseudo higher level control response A4 referred to as a pseudo higher level control response A4d
  • the controller 10 inputs the pseudo-upper control response A4d, and the calculator 11 calculates the upper-level control command A1 and the pseudo-upper-level control response A4d, and calculates the pseudo-upper-level control deviation A2 (pseudo-upper control deviation A2d and ).
  • the first controller 51 for example, the position controller 51A outputs a pseudo servo control command A3 (referred to as a pseudo servo control command A3d) based on the pseudo upper control deviation A2d.
  • the servo amplifier 20 generates a signal A8 as a result of differentiating the pseudo upper control response A4d with the differentiator 26, calculates the pseudo servo control command A3d and the signal A8 with the arithmetic unit 21, and generates the signal A5 as a result of the calculation. get.
  • the second controller 52 for example, the speed controller 52B, outputs a signal A6 as a result of speed control.
  • the simulated operation of the motor 30 and the corresponding servo control are performed in time series via the simulated operation module 1502.
  • the servo amplifier 20 turns off the signal A7 in program processing, or turns off a switch in processing after the arithmetic unit 22.
  • the control gain estimator 27 estimates the control gain of the first controller 51, for example, the control gain of the position controller 51A.
  • the user interface 40 and the like are not shown in FIG. 16, the monitor value, estimated control gain A10, etc. are output to the user U1 using the application 41 of the user interface 40, as described above. It is possible. Further, the application 41 of the user interface 40 may be used to set the simulated operation module 1502 and output the status.
  • control gain of the controller 10 can be estimated based on the simulated operation of the motor 30 without the need to drive the motor 30.
  • the higher-level response controller 28 in the second embodiment in FIG. 14 may have a built-in pseudo operation module 1502 in the modified example in FIG. 16. In that case, the higher-level response controller 28 generates the operation higher-level control response A4c based on the simulated operation of the simulated operation module 1502.
  • the user interface 40 in FIG. 1 and the application 41 in FIG. 3 may be built into the servo amplifier 20 or partially built into the host system 10.
  • a business operator installs a monitor program for monitoring information/signals (for example, upper control deviation A2 and upper control command A1) into the controller 10 with the consent of the customer.
  • the monitor program functions as a monitor device through processing by the processor.
  • the monitor device monitors the signal of the upper control deviation A2, for example, and transmits it to the servo amplifier 20 or the application 41.
  • the servo amplifier 20 or the application 41 can monitor and acquire the signal of the upper control deviation A2, for example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

モータ制御装置に関して、上位システムと下位システムとの間でも制御パラメータの調整を実現できる技術を提供する。上位システム1のコントローラ10は、上位制御指令A1と、上位制御応答A4との演算に基づいた上位制御偏差A2を、第1制御器51に入力して、第1制御ゲインに基づいたサーボ制御指令A3を出力する。モータ制御装置であるサーボアンプ20は、第2制御器52と、電力変換器23と、制御ゲイン推定器27とを有する。モータ制御装置は、サーボ制御指令A3と、上位制御応答A4とに基づいた信号を第2制御器52に入力し、第2制御器52から出力された信号を電力変換器23に入力し、電力変換器23から出力された信号をモータ30に供給する。制御ゲイン推定器27は、サーボ制御指令A3と、上位制御偏差A2または上位制御指令A1とを入力し、第1制御ゲインを推定する。

Description

モータ制御装置および方法
 本開示は、モータを駆動制御するモータ制御装置、特に、サーボ制御を行うサーボアンプ等の技術に関する。
 モータに接続されるモータ制御装置であるサーボアンプ(言い換えるとサーボドライバ等)は、モータのサーボ制御を行う機能を有する。なお、モータとサーボアンプとを含むシステムや装置を、サーボモータ、サーボモータシステム等と記載する場合もある。
 サーボモータが組み込まれるアプリケーションやシステムは数多く存在する。多くのアプリケーションでは、制御パラメータのフィッティングがされることにより、高効率や高応答にすることが図られる。しかし、制御パラメータのフィッティング(言い換えると調整や設定)には、専門の知識および経験を必要とする。また、専門の知識や経験を有する者がフィッティングを行っても、時間が長くかかる場合がある。
 サーボモータに関する制御パラメータの調整に関する先行技術例として、特開2003-204689号公報(特許文献1)が挙げられる。特許文献1には、サーボモータの制御装置として、「オートチューニング中にも位置決め時間を短くする」旨や、「サーボモータの動作状況に応じて制御ゲインを、モータ速度がある設定速度未満のとき位置比例ゲインKpと速度比例ゲインKvと推定負荷イナーシャJとがKp<(Kv/J)/4なる関係をもつように設定」する旨等が記載されている。
特開2003-204689号公報
 モータ制御装置であるサーボアンプについて、制御パラメータのフィッティングや調整などを、より容易に行うことができるようにして、システムの高効率や高応答を実現することが求められる。
 特許文献1のような先行技術例では、サーボモータシステムが自システム内のみで制御パラメータの推定・調整を行う例については記載されているが、サーボモータシステムとアプリケーションやコントローラ等の上位システムとの間で制御パラメータの推定・調整を行う方法については記載されていない。
 説明上、サーボモータシステム(すなわちモータとサーボアンプ)、もしくはサーボアンプを下位システム(あるいは下位装置)とし、サーボモータシステムを使用・制御するアプリケーションやコントローラ等を上位システム(あるいは上位装置)とする。上位システムに下位システムが接続されることで、あるシステムの全体が構成される。このシステムでは、上位システムのコントローラなどは、下位システムのサーボアンプに指令を与え、その指令に従ってサーボアンプがモータを駆動制御する。
 しかしながら、上位システムと下位システムとで管轄が異なり、主に下位システムのみが操作可能である場合がある。その場合、下位システムであるサーボモータシステムによる制御パラメータの調整の有効範囲は、下位システム内のみに限られる。先行技術例のような方法の場合、下位システムであるサーボモータシステムが、上位システムとの間で制御パラメータの調整を行うことは難しい。管轄の例として、事業者は、サーボアンプを製造・販売し、保守などを行う。事業者に対し、顧客は、上位システム、例えば工場の製造システム等におけるアプリケーションやコントローラ(例えばプログラマブル・ロジック・コントローラ)などを管理する。
 また、上位システムのコントローラなどと、下位システムのサーボアンプとにおいて、制御パラメータの単位系が異なる場合もある。その場合、下位システムであるサーボモータシステムは、単位系が異なる制御パラメータについての調整は難しい。先行技術例の方法のようなパラメータのチューニングは、上位システムと下位システムとが連動する場合、言い換えると、上位システムも操作可能である場合で、かつ、それらの単位系が同じである場合のみに、有効な方法である。
 そのため、サーボアンプの制御パラメータの調整について、上位システムと下位システムとの管轄が別で、主に下位システムのみが操作可能である場合、下位システム内での調整に限られ、上位システムを考慮した範囲での制御パラメータの調整はできない。また、上位システムと下位システムとで単位系が不一致の場合、その不一致を解消するためには、制御パラメータの手動調整が必要になる場合があり、効率が良くない。
 本開示の目的は、サーボモータシステムのサーボアンプ、言い換えるとモータ制御装置に関して、管轄が異なる上位システムと下位システムとの間でも、制御パラメータの調整を実現できる技術を提供することである。
 本開示のうち代表的な実施の形態は以下に示す構成を有する。実施の形態のモータ制御装置は、上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置であって、前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、前記モータ制御装置は、前記サーボ制御のための第2制御器と、前記モータを駆動する信号を生成する電力変換器と、前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、前記モータ制御装置は、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給し、前記制御ゲイン推定器は、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力する。
 本開示のうち代表的な実施の形態によれば、サーボモータシステムのサーボアンプ、言い換えるとモータ制御装置に関して、管轄が異なる上位システムと下位システムとの間でも、制御パラメータの調整を実現できる。上記した以外の課題、構成および効果等については、発明を実施するための形態において示される。
実施の形態1のモータ制御装置を含んだシステムの構成を示す。 実施の形態1のモータ制御装置のコンピュータシステムとしての構成例を示す。 実施の形態1のモータ制御装置に関するユーザ・インタフェースの構成例を示す。 実施の形態1のモータ制御装置に関するユーザ・インタフェースの他の構成例を示す。 実施の形態1のモータ制御装置に関するユーザ・インタフェースの他の構成例を示す。 実施の形態1のモータ制御装置に関するグラフィカル・ユーザ・インタフェース(GUI)の画面表示例を示す。 実施の形態1のモータ制御装置における、第1制御モードとして位置の制御の場合の機能ブロック構成例を示す。 実施の形態1のモータ制御装置における、第2制御モードとして速度の制御の場合(特にコントローラに速度制御器のみ有する場合)の機能ブロック構成例を示す。 実施の形態1のモータ制御装置における、第2制御モードとして速度の制御の場合(特にコントローラに位置制御器と速度制御器とを有する場合)の機能ブロック構成例を示す。 実施の形態1のモータ制御装置における、位置の制御でP制御の場合の、制御ゲイン推定に関する処理フローを示す。 実施の形態1のモータ制御装置における、位置の制御でPI制御の場合の、制御ゲイン推定に関する処理フローを示す。 実施の形態1の変形例として、フルクローズド制御の構成例を示す。 実施の形態1の変形例として、センサレス制御の構成例を示す。 実施の形態2のモータ制御装置を含んだシステムの構成を示す。 実施の形態2のモータ制御装置における、位置の制御でP制御の場合の、制御ゲイン推定に関する処理フローを示す。 実施の形態2の変形例における、疑似運転モードの場合の機能ブロック構成例を示す。
 以下、図面を参照しながら本開示の実施の形態を詳細に説明する。図面において、同一部には原則として同一符号を付し、繰り返しの説明を省略する。図面において、構成要素の表現は、発明の理解を容易にするために、実際の位置、大きさ、形状、範囲等を表していない場合がある。
 説明上、プログラムによる処理について説明する場合に、プログラムや機能や処理部等を主体として説明する場合があるが、それらについてのハードウェアとしての主体は、プロセッサ、あるいはそのプロセッサ等で構成されるコントローラ、装置、計算機、システム等である。計算機は、プロセッサによって、適宜にメモリや通信インタフェース等の資源を用いながら、メモリ上に読み出されたプログラムに従った処理を実行する。これにより、所定の機能や処理部等が実現される。プロセッサは、例えばCPU/MPUやGPU等の半導体デバイス等で構成される。処理は、ソフトウェアプログラム処理に限らず、専用回路でも実装可能である。専用回路は、FPGA、ASIC、CPLD等が適用可能である。
 プログラムは、対象計算機に予めデータとしてインストールされていてもよいし、プログラムソースから対象計算機にデータとして配布されてもよい。プログラムソースは、通信網上のプログラム配布サーバでもよいし、非一過性のコンピュータ読み取り可能な記憶媒体、例えばメモリカードやディスクでもよい。プログラムは、複数のモジュールから構成されてもよい。コンピュータシステムは、複数台の装置によって構成されてもよい。コンピュータシステムは、クライアント・サーバシステム、クラウドコンピューティングシステム、IoTシステム等で構成されてもよい。各種のデータや情報は、例えばテーブルやリスト等の構造で構成されるが、これに限定されない。識別情報、識別子、ID、名前、番号等の表現は互いに置換可能である。
 <実施の形態1>
 図1等を用いて、本開示の実施の形態1のモータ制御装置などについて説明する。
 [概要等]
 図1のように、システム100の全体は、例えば、上位システム1であるコントローラ10と、下位システム2であるサーボモータシステムのサーボアンプ20(言い換えるとモータ制御装置)とが接続されて構成される。システム100は、例えば、モータ駆動の動力により製造プロセスなどの動作を実現する、電力変換システムや製造システムなどがある。
 上位システム1のコントローラ10は、上位制御指令A1を生成する。コントローラ10は、上位制御指令A1に基づいて、サーボ制御指令A3を生成し、サーボアンプ20に出力・送信し、サーボアンプ20は、そのサーボ制御指令A3を受信・入力して、モータ30を駆動制御する。
 より具体的には、コントローラ10は、下位システム2から、上位制御応答A4として、モータ30の位置や速度を表す応答を、フィードバック信号として受信・入力する。サーボアンプ20は、例えばモータ30に付いたエンコーダ31からの出力の信号に基づいて、モータ30の位置や速度を表す信号を、上位制御応答A4として生成・出力する。コントローラ10は、上位制御指令A1と上位制御応答A4とを演算器11で演算することで、上位制御偏差A2を生成する。コントローラ10は、第1制御ゲインが設定されている第1制御器51を有し、上位制御偏差A2に基づいて、第1制御器51によって、サーボ制御指令A3を生成・出力する。
 サーボアンプ20は、サーボ制御指令A3に基づいて、モータ30を駆動させるための電力変換を行う電力変換器23を有する。また、サーボアンプ20は、サーボ制御指令A3に基づいて、電力変換器23に信号を与えるための第2制御器52を有する。また、サーボアンプ20は、モータ30からの信号を微分する微分器26を有する。サーボアンプ20は、サーボ制御指令A3と、モータ30からの信号(上位制御応答A4)を微分した結果の信号A8とを演算器21で演算した結果の信号A5を、第2制御器52に入力する。第2制御器52から出力された信号A6が、電力変換器23に入力され、電力変換された信号A7が、モータ30に供給される。
 そして、サーボアンプ20は、上位制御偏差A2とサーボ制御指令A3とに基づいて、第1制御器51の第1制御ゲインを推定する、制御ゲイン推定器27を有する。サーボアンプ20は、上位制御偏差A2、または上位制御指令A1を取得する。制御ゲイン推定器27は、上位制御偏差A2または上位制御指令A1と、サーボ制御指令A3とに基づいて、第1制御器51の第1制御ゲインを推定し、推定結果として推定制御ゲインA10の信号を記憶・出力する。
 本発明者は、下位システム2のサーボアンプ20から、上位システム1のコントローラ10内の制御ゲインを推定するという新しい仕組みを考えた。実施の形態1のモータ制御装置は、下位システム2のサーボアンプ20であり、上位システム1のコントローラ10内の制御パラメータとして第1制御器51の制御ゲインを推定する。実施の形態1のモータ制御装置およびユーザU1は、推定制御ゲインA10を用いて、サーボアンプ20内の制御パラメータ、あるいは、上位システム1と下位システム2とを含むシステム100全体の制御パラメータの調整を行うことができる。
 [モータ制御装置を含むシステム]
 図1は、実施の形態1のモータ制御装置を含んだシステム全体の構成を示す。図1のシステム100は、上位システム1と、下位システム2と、制御対象システム3とを有する。上位システム1は、コントローラ10を有する。下位システム2は、実施の形態1のモータ制御装置であるサーボアンプ20と、そのサーボアンプ20に電気的に接続されたモータ30とを有する。制御対象システム3は、モータ30に電気的に接続された制御対象装置35を有する。
 上位システム1のコントローラ10および下位システム2のサーボアンプ20は、殆どの部分がソフトウェアプログラム処理で実現される。コントローラ10は例えばプログラマブル・ロジック・コントローラで実装できる。
 制御対象装置35は、モータ30により駆動される駆動体である。制御対象装置35は、例えば顧客の工場に設置された産業機器が挙げられる。図1では、モータ30には、ロータリーエンコーダなどのエンコーダ31がセンサとして具備されている。なお、制御対象装置35にも、エンコーダなどのセンサが具備されてもよい(後述の変形例)。
 実施の形態1で、上位システム1と下位システム2とは、管轄が別であり、顧客は上位システム1を管理し、事業者は下位システム2を管理する。事業者は、サーボアンプ20の製造・販売、保守等を行う。事業者のユーザU1は、サーボアンプ20の制御パラメータの調整などを行う。事業者は、原則的に、顧客の上位システム1のコントローラ10等を操作できない。
 上位システム1のコントローラ10は、言い換えると上位制御装置である。コントローラ10は、サーボアンプ20およびモータ30が組み込まれるシステム100の制御部に相当し、サーボアンプ20にサーボ制御指令A3を与える。
 サーボアンプ20は、コントローラ10からのサーボ制御指令A3に基づいてモータ30をサーボ制御するモータ制御装置であるとともに、図示しない商用電源の供給電力からモータ30への供給電力への電力変換を行う電力変換装置に相当する。
 モータ30は、電力変換装置であるサーボアンプ20によって速度が調整可能であるモータであればよく、詳細な種類や構造を問わずに適用可能であり、例えば誘導モータ、PMモータ、リニアモータなどが適用可能である。
 サーボアンプ20とモータ30は、相互に対応する構成を有する。サーボアンプ20は、モータ30の構成に応じた制御パラメータの設定を有する。サーボアンプ20の内部に設定される制御パラメータは、モータ30を駆動および制御するために必要なパラメータである。
 なお、事業者は、サーボアンプ20のみを製品として顧客に提供してもよいし、サーボアンプ20とモータ30とを一体とした製品としてサーボアンプシステムを顧客に提供してもよい。
 図1のシステム100における下位システム2は、セミクローズド制御構成のモータ制御系に相当する。セミクローズド制御構成は、モータ30から信号(図1での上位制御応答A4。例えばエンコーダ31からの信号。)を得てモータ30の制御を行う構成である。それに対し、フルクローズド制御構成とは、モータ30ではなく制御対象装置35から信号を得てモータ30の制御を行う構成である。図1のようなセミクローズド制御構成に限定されず、後述する変形例のように、フルクローズド制御構成にも同様に適用可能である。
 また、図1では、電力変換に関して、サーボアンプ20とモータ30との間を三相交流の構成としているが、モータ30の制御にフィードバック制御を採用している場合、この電力変換は、三相交流の構成に限定されない。
 コントローラ10は、詳細には、位置の制御の機能を有する場合(後述の図7)と、速度の制御を有する場合(後述の図8や図9)とがあり、どちらでもよい。サーボアンプ20は、どちらの場合にも対応できる機能を有する。
 このサーボアンプ20を含むシステム100には、ユーザ・インタフェース40を有する。ユーザ・インタフェース40は、システム100の所定の対象物および対象情報(少なくとも上位制御偏差A2および推定制御ゲインA10)をモニタする機能などを有する。また、ユーザ・インタフェース40は、ユーザU1による操作に基づいて、制御ゲイン推定器27の設定を行うことができる機能を有する。
 ユーザ・インタフェース40は、サーボアンプ20を利用するユーザU1に対するインタフェースとなる部分である。ユーザU1は、例えば事業者のうちのサーボアンプ20の保守管理等を行う人、特に、顧客のコントローラ10、および全体のシステム100に合わせて、サーボアンプ20の制御パラメータのフィッティング・調整を行う人、が挙げられる。
 コントローラ10は、演算器11と、フィードバック制御器として第1制御器51とを有する。コントローラ10は、図示しないが、プロセッサ、メモリ、通信インタフェース装置などを備え、プロセッサによるプログラム処理によって、演算器11および第1制御器51を実現する。
 図1のように、実施の形態1でのサーボアンプ20は、概要としては、モータ制御系に、すなわち演算器21、第2制御器52、および電力変換器23に、制御ゲイン推定器27が追加で具備されている構成を有する。制御ゲイン推定器27は、上位システム1のコントローラ10の第1制御器51に設定されている制御ゲインを推定する機能を有する部分である。
 図1中の各信号について説明する。コントローラ10は、上位制御指令A1を生成する。上位制御指令A1は、例えばモータ30の位置制御におけるモータ30の位置決めのための指令である。
 コントローラ10は、サーボアンプ20から、上位制御応答A4を入力する。上位制御応答A4は、エンコーダ31からの信号に基づいて、モータ30の現在の位置や速度などを表す応答信号である。コントローラ10は、演算器11によって、上位制御指令A1と上位制御応答A4との演算を行う。例えば、演算器11は、図面で「+」(正)の入力で示す上位制御指令A1に対し、「-」(負)の入力で示す上位制御応答A4を加算する演算を行い、演算結果として上位制御偏差A2を出力する。上位制御偏差A2は、フィードバック制御における誤差を表す信号である。
 コントローラ10は、第1制御器51によって、入力値として上位制御偏差A2を入力し、出力値としてサーボ制御指令A3を出力する。上位制御偏差A2に、第1制御器51の制御ゲイン(言い換えるとフィードバックゲイン)がかけられることで、サーボ制御指令A3が生成される。コントローラ10の第1制御器51から出力されたサーボ制御指令A3は、サーボアンプ20へ送信され、サーボアンプ20内に入力される。図1では、サーボ制御指令A3がコントローラ10の出力端子N3から出力され、サーボアンプ20の入力端子N6に入力される。
 サーボアンプ20は、コントローラ10から受信したサーボ制御指令A3を入力する。サーボアンプ20は、上位制御応答A4を微分器26で微分した結果の信号A8を得る。サーボアンプ20は、サーボ制御指令A3と信号A8とを演算器21で演算し、演算結果の信号A5を、第2制御器52への指令として入力する。演算器21は、図面で「+」(正)の入力で示すサーボ制御指令A3に対し、「-」(負)の入力で示す信号A8を加算する演算を行い、演算結果として信号A5を出力する。第2制御器52は、信号A5の入力に基づいて、制御した結果の信号A6を出力する。電力変換器23は、信号A6および供給電力に基づいて、モータ30を駆動させるための三相交流の信号A7を生成・出力する。その信号A7に基づいて、モータ30が駆動される。
 モータ30からコントローラ10およびサーボアンプ20へのフィードバック信号は、モータ30のエンコーダ31と微分器26とを用いて生成される。微分器26は、速度検出器に相当する。図1では、上位制御応答A4がサーボアンプ20の出力端子N7から出力されて、コントローラ10の入力端子N8から入力される。
 制御ゲイン推定器27は、サーボ制御指令A3を入力し、また、図1の例では、上位制御偏差A2または上位制御指令A1を入力する。制御ゲイン推定器27は、例えば、上位制御偏差A2とサーボ制御指令A3とに基づいて、第1制御器51の制御ゲインを推定する演算を行い、演算結果として、推定された制御ゲインの信号として推定制御ゲインA10を出力する。説明上、推定された制御ゲインを、推定制御ゲインと記載する。制御ゲイン推定器27は、サーボアンプ20内のメモリ資源に、推定制御ゲインA10を記憶する。
 また、ユーザ・インタフェース40は、制御ゲイン推定器27による推定制御ゲインA10をモニタする。例えば後述の図3のアプリケーション41は、制御ゲイン推定器27から出力された推定制御ゲインA10を取得し、計算機42のメモリ資源に記憶する。
 また、ユーザ・インタフェース40は、コントローラ10の上位制御偏差A2または上位制御指令A1をモニタしてもよい。例えば後述の図3のアプリケーション41は、コントローラ10の出力端子N2から上位制御偏差A2を取得してもよい。また、ユーザ・インタフェース40(例えばアプリケーション41)は、モニタによって取得した上位制御偏差A2を、制御ゲイン推定器27に送信して渡してもよい。あるいは、ユーザ・インタフェース40は、制御ゲイン推定器27が取得した上位制御偏差A2を、制御ゲイン推定器27から取得してもよい。
 [サーボアンプのコンピュータシステム]
 図2は、サーボアンプ20のコンピュータシステムとしての構成例を示す。サーボアンプ20は、プロセッサ201、メモリ202、通信インタフェース装置203、バス204等を備えている。図1の電力変換器23は、プログラム処理および電気回路で実現され、他の部分はプログラム処理で実現される。
 プロセッサ201は、メモリ202の制御プログラム221に従った処理、言い換えるとソフトウェアプログラム処理や演算処理を実行する。これにより、図1のサーボアンプ20内の演算器21、第2制御器52、および制御ゲイン推定器27などの各部(電力変換器23の電気回路を除く)が実現される。言い換えると、プログラム処理の実行により、サーボアンプ20内には、制御ゲイン推定器27などの各部が、実行モジュールとして構成される。
 メモリ202には、制御プログラム221、設定情報222、処理データ223などが格納されている。制御プログラム221は、サーボアンプ20に所定の機能を実現させるために所定の処理を実行させるコンピュータプログラムである。設定情報222は、制御プログラム221に関する設定情報や、サーボアンプ20の制御パラメータ(例えば速度制御器の制御ゲイン)に関する設定情報である。処理データ223は、プロセッサ201が適宜に処理で扱うデータ・情報である。
 通信インタフェース装置203は、コントローラ10との通信インタフェースや、ユーザ・インタフェース40との通信インタフェースなどが実装された部分である。
 実施の形態1でのサーボアンプ20は、各機能のための各プログラム(図2での制御プログラム221)を備えており、選択される機能に対応したプログラムの処理を実行する。なお、各プログラムは、予めサーボアンプ20にインストールされていてもよいし、サーボアンプ20の外部から、例えば外部記憶媒体や外部サーバ装置などから、適宜に読み込まれてもよい。
 [フィードバック制御方法(サーボ制御)]
 図1のシステム100において、コントローラ10の第1制御器51、およびサーボアンプ20の第2制御器52を含むモータ制御系における、サーボ制御方法やフィードバック制御方法は、予め設定される。ここでのサーボ制御方法とは、一般的な、位置制御、速度制御などの制御の区分、種類であり、フィードバック制御方法は、P制御やPI制御などの方法である(後述)。
 制御ゲイン推定器27での制御ゲインの推定に関して、前提となる、第1制御器51等のフィードバック制御方法は、実施の形態1の例では、ユーザ・インタフェース40を用いて、予めユーザU1により当該フィードバック制御方法(後述の制御モード)が選択されて設定される。ユーザ・インタフェース40のアプリケーション41(後述の図3)は、フィードバック制御方法を設定する機能も有している。それに対応して、制御ゲイン推定器27は、設定されたフィードバック制御方法での、第1制御器51の制御ゲインを推定する機能を有している。
 [ユーザ・インタフェース]
 図3は、ユーザ・インタフェース40に関する構成例を示す。実施の形態1の例では、ユーザ・インタフェース40として、サーボアンプ20のアプリケーション41を有する。このアプリケーション41は、サーボアンプ20を利用するユーザU1のためにグラフィカル・ユーザ・インタフェース(GUI)等を提供するアプリケーションプログラム、言い換えるとサーボアンプ・アプリケーションである。このアプリケーション41は、例えばサーボアンプ20に接続されるPC等の計算機42に、内蔵、インストールされる。このアプリケーション41は、サーボアンプ20に制御パラメータを設定する機能を有するGUIを実装したアプリケーションプログラムに相当する。
 図3のユーザ・インタフェース40を構成するアプリケーション41は、ユーザU1による操作に基づいて、GUIを伴う画面を提供し、その画面を通じて、制御ゲイン推定器27の設定やモニタを行う機能、および推定実行指示などを入力する機能を有している。ユーザU1は、アプリケーション41によって提供されるGUI画面(後述の図6)で、各種の指示や設定の操作をすることができる。
 ユーザ・インタフェース40のアプリケーション41は、コントローラ10の上位制御偏差A2の信号をモニタする機能や、サーボアンプ20の制御ゲイン推定器27の推定制御ゲインA10を出力・モニタする機能を有する。また、ユーザ・インタフェース40のアプリケーション41は、サーボアンプ20およびモータ30に関する各種のパラメータ値を表示して確認できる機能を有する。さらに、ユーザ・インタフェース40のアプリケーション41は、モータ30の制御状態や異常などについてモニタする機能、例えば上位制御応答A4などの信号をモニタする機能を有すると、より好ましい。
 図3の構成例では、PC等による計算機42を有し、計算機42は、プロセッサ301、メモリ302、通信インタフェース装置303、入出力インタフェース装置304、バス305等を備える。プロセッサ301は、メモリ302の制御プログラム321に従った処理を実行する。これにより、アプリケーション41が実現される。アプリケーション41は、実行モジュールとして稼働する。
 メモリ302には、制御プログラム321、設定情報322、画面データ323などが格納されている。制御プログラム321は、計算機42に所定の機能を実現させるために所定の処理を実行させるコンピュータプログラムであり、アプリケーション41のプログラムを含む。設定情報322は、制御プログラム321に関する設定情報や、ユーザ設定情報である。画面データ323は、アプリケーション41がユーザU1に対し提供するGUI画面などのデータ・情報である。
 通信インタフェース装置303は、サーボアンプ20との通信インタフェースや、コントローラ10と通信する場合にはコントローラ10との通信インタフェースなどが実装された部分である。入出力インタフェース装置304には、入力装置306や出力装置307が外部接続されている。入力装置306は例えばキーボード、マウス、マイク等である。出力装置307は例えばディスプレイ、プリンタ、スピーカ等である。なお、計算機42に入出力装置が内蔵されていてもよい。
 図3の計算機42は、サーボアンプ20に対し、通信で接続されているが、近接配置でもよいし、遠隔配置でもよい。また、計算機42に対し、さらに、ユーザU1の使用するクライアント端末装置が通信で接続されてもよい。すなわち、ユーザ・インタフェース40は、計算機42をサーバ装置として、そのサーバである計算機42と、ユーザU1のクライアント端末装置との間での、クライアント・サーバシステムとして構成されてもよい。その場合、ユーザU1は、クライアント端末装置を操作して、サーバである計算機42にアクセスし、計算機42によるアプリケーション41を利用する。サーバである計算機42は、アプリケーション41による画面を生成し、画面データ等(例えばWebページ)をクライアント端末装置に送信する。クライアント端末装置は、受信した画面データ等に基づいて、ディスプレイにGUI画面を表示する。
 なお、図3のアプリケーション41がサーボアンプ20に内蔵、一体化された形態としてもよい。
 図4は、ユーザ・インタフェース40に関する他の構成例を示す。図4の例のように、ユーザ・インタフェース40は、サーボアンプ20に付属または内蔵する専用のデジタルオペレータ43で実装されてもよい。デジタルオペレータ43は、サーボアンプ20の入出力インタフェース、操作インタフェースとして設けられており、操作パネル、操作ボタン等を備える。デジタルオペレータ43は、例えば液晶表示画面、ボタン、LEDランプなどのデバイスを備える。なお、デジタルオペレータ43は、タッチパネル等を備えていてもよい。図4の例では、デジタルオペレータ43に、前述のユーザ・インタフェース40の機能が実装されている。デジタルオペレータ43は、図1や図2のサーボアンプ20の構成要素と接続されている。
 デジタルオペレータ43は、液晶表示画面またはタッチパネルの画面にGUIや情報を表示してもよい。例えば、デジタルオペレータ43の画面に、上位制御偏差A2などのモニタ値や、推定制御ゲインA10などの出力情報が表示され、ユーザU1はそのような情報を見て確認できる。
 図5は、ユーザ・インタフェース40に関する他の構成例を示す。図5の例のように、上位システム1のコントローラ10に対し、外部接続または内蔵されるユーザ・インタフェース40が設けられてもよい。図5の例では、上位システム1のコントローラ10に対し、通信網45を介して外部接続される計算機44を有する。通信網45はLANでもよいしWANでもよい。事業者または顧客が管理する計算機44に、アプリケーション46がインストールされている。計算機44の構成は、図3の計算機42と同様に、PC等で実装でき、プロセッサ441、メモリ442、通信インタフェース装置443等を有し、詳細の図示を省略している。図5の例では、計算機44のアプリケーション46は、コントローラ10と通信して、コントローラ10から情報、例えば上位制御偏差A2をモニタする。
 また、コントローラ10がサーボアンプ20から通信で情報、例えば推定制御ゲインA10を取得し、計算機44に送信してもよい。
 また、ユーザ・インタフェース40の他の構成例としては、コントローラ10とサーボアンプ20との両方にそれぞれ通信で接続される計算機に、同様のアプリケーションが実装されてもよい。
 [GUI画面表示例]
 図6は、ユーザ・インタフェース40のアプリケーション41(例えば図3)によってユーザU1に対し提供される、GUI画面の表示例を示す。図6の画面は、例えばWebページの態様で構成されて提供されるが、これに限定されない。図6の画面例では、項目601,602,603、ボタン604、項目605,606、ボタン607、項目608,609を有する。項目601では、制御モードの一種である「形態」が選択可能であり、ここでの「形態」は、実施の形態1の機能と後述する実施の形態2の機能とに相当する。本例では「形態=1」が選択されている。
 項目602は、制御として、位置の制御と速度の制御とから選択できる(後述)。項目603は、推定対象の制御ゲインを選択できる(後述)。例えば、図示のように、ユーザU1がカーソルを操作すると、項目603でリストボックスがプルダウン表示されて、リストボックスに選択肢としてP制御とPI制御とが表示され、それらから選択して入力できる。ボタン604は、指定された形態、制御、および制御ゲインで、制御ゲイン推定を実行させる指示を入力できる推定開始ボタンである。
 項目605および項目606は、制御ゲイン推定器27による制御ゲインの推定結果(すなわち推定制御ゲインA10)を表示する項目であり、項目605には推定Pゲインが表示され、項目606には推定Iゲインが表示される(後述)。また、ボタン607は、サーボアンプ20の制御パラメータを設定・調整する場合にそのための画面へ遷移できるボタンである。例えば、ユーザU1は、制御ゲイン推定結果を見て、制御パラメータを調整する場合には、ボタン607を押し、遷移された図示しない画面で、サーボアンプ20の制御パラメータ(例えば速度制御器の制御ゲイン等)を確認・調整することができる。
 項目608および項目609は、モニタ機能によるモニタ値を表示する項目であり、項目608には、サーボ制御指令A3の値が表示され、項目609には、上位制御偏差A2の値が表示される。モニタ値の表示は、各時点の値の直接的な表示としてもよいし、時系列でのグラフの表示などとしてもよい。
 [上位制御偏差A2のモニタ機能]
 上位制御偏差A2をモニタする機能について、第1実装例としては、サーボアンプ20が自動的に上位制御偏差A2をモニタしてメモリ資源に記憶するのみの構成とし、モニタ値をユーザU1に対しては出力しない構成としてもよい。図1の例では、コントローラ10の演算器11の出力側で第1制御器51の入力前のノードを流れる上位制御偏差A2を、出力端子N2から出力し、その上位制御偏差A2の信号をサーボアンプ20の入力端子N5に入力し、その上位制御偏差A2の信号を制御ゲイン推定器27に入力する。制御ゲイン推定器27(実装上の実体としては図2のプロセッサ201)は、その上位制御偏差A2の信号を一旦メモリ資源(図2のメモリ202)に記憶し、その後に推定演算に利用する。
 第2実装例としては、上位制御偏差A2のモニタ値をユーザU1に対し出力してもよい。例えば図3のユーザ・インタフェース40のアプリケーション41が、コントローラ10の上位制御偏差A2の信号を、出力端子N2を通じてモニタする。ユーザ・インタフェース40のアプリケーション41は、モニタして取得した上位制御偏差A2の信号を、サーボアンプ20の制御ゲイン推定器27に送信してもよい。制御ゲイン推定器27は、その上位制御偏差A2の信号を受信・入力し、推定演算に利用する。また、ユーザ・インタフェース40のアプリケーション41は、モニタした上位制御偏差A2の信号の値を、ユーザU1に対するGUI画面(図6)に表示する。
 [制御ゲイン推定器の入力情報]
 制御ゲイン推定器27に入力する情報、言い換えると信号やパラメータ値は、基本として、前述のサーボ制御指令A3と上位制御偏差A2との2つの情報である。図1では、サーボ制御指令A3は、コントローラ10からの出力として直接的に得られる。例えばコントローラ10の出力端子N3から出力されたサーボ制御指令A3が、サーボアンプ20の入力端子N6から入力され、入力されたサーボ制御指令A3が、制御ゲイン推定器27に入力される。上位制御偏差A2は、上述したように例えばコントローラ10の出力端子N2からの出力を、入力端子N5から入力することで得られる。あるいは、上述したように、上位制御偏差A2は、ユーザ・インタフェース40によるモニタを介して得られてもよい。
 制御ゲイン推定器27の入力に関する変形例としては以下としてもよい。変形例では、サーボアンプ20またはユーザ・インタフェース40がコントローラ10からモニタ・入力する情報の1つを、上位制御偏差A2の代わりに、上位制御指令A1とする。例えば、サーボアンプ20は、コントローラ10の出力端子N1から出力される上位制御指令A1を、入力端子N4から入力して取得する。例えば、制御ゲイン推定器27は、入力端子N4から入力された上位制御指令A1を入力し、メモリ資源に記憶する。あるいは、上位制御偏差A2の場合と同様に、ユーザ・インタフェース40のアプリケーション41が、一旦、コントローラ10から上位制御指令A1をモニタして取得し、その上位制御指令A1を、サーボアンプ20に送信して、制御ゲイン推定器27がその上位制御指令A1を取得してもよい。
 一方、上位制御応答A4は、サーボアンプ20内でも、モータ30のエンコーダ31からの出力・入力として得られている。制御ゲイン推定器27は、その上位制御応答A4の信号を得る。サーボアンプ20、特に制御ゲイン推定器27は、取得した上位制御指令A1と、上位制御応答A4との演算(演算器11と同様の演算)を行うことで、上位制御偏差A2と同様の値(説明上、上位制御偏差計算値とする)を得ることができる。そして、制御ゲイン推定器27は、その上位制御偏差計算値と、サーボ制御指令A3との2つを入力として用いて、制御ゲインの推定演算を同様に行うことができる。
 図1では、コントローラ10とサーボアンプ20との間で、上位制御偏差A2と上位制御指令A1との両方を出力・入力できる構成例を図示しているが、上述したように、それらの一方のみの出力・入力でもよい。また、図1では、コントローラ10とサーボアンプ20との間の通信48は、入出力端子(出力端子N3や入力端子N6など)を介した、通信ケーブルでの接続を含む通信として図示しているが、これに限定されない。また、図1の各種の信号の入出力端子は、通信インタフェースに応じた通信端子として、より少ない数の端子にまとめられてもよい。
 [サーボ制御]
 以降では、実施の形態1のモータ制御装置であるサーボアンプ20でのサーボ制御に関して、位置の制御でのP制御、およびPI制御の例について順に説明する。位置の制御の場合(後述の図7)、第1制御器51は、位置制御器に相当し、位置の制御での制御ゲインが設定される。以降で説明する制御ゲイン推定計算の方法は、速度の制御の場合(後述の図8等)においても、同様に適用可能である。
 [位置制御と速度制御]
 実施の形態1では、広義の位置制御と速度制御とを扱う。広義の位置制御とは、モータ30の位置、速度、および電流の制御である。広義の速度制御とは、モータ30の速度および電流の制御である。言い換えると、実施の形態1では、コントローラ10とサーボアンプ20によるモータ30のサーボ制御に関して、コントローラ10が狭義の位置の制御(位置制御器)を有し、サーボアンプ20が速度の制御(速度制御器)および電流の制御を有する第1の場合(後述の図7)と、コントローラ10が狭義の速度の制御(速度制御器)を有し、サーボアンプ20が電流の制御を有する第2の場合とを扱う。さらに、第2の場合は、コントローラ10が速度の制御(速度制御器)のみを有する場合(後述の図8)と、コントローラ10が位置の制御(位置制御器)および速度の制御(速度制御器)を有する場合(後述の図9)との二通りがあり、いずれであってもよい。それらは上位システム1の構成次第である。図7や図9は広義の位置制御に該当し、図8は広義の速度制御に該当する。
 実施の形態1では、サーボアンプ20は、コントローラ10に有する制御内容として位置の制御と速度の制御とから選択して利用可能である機能を有する。その機能は、例えばユーザ・インタフェース40のアプリケーション41(図3)で実装されている。実施の形態1では、サーボアンプ20およびユーザ・インタフェース40は、制御モードとして、位置の制御に対応した第1制御モードと、速度の制御に対応した第2制御モードとを有する。ユーザU1は、GUI画面で、位置の制御に対応した第1制御モードと速度の制御に対応した第2制御モードとから選択して設定できる(図6の項目602)。これらの制御モードは、言い換えると、コントローラ10に有する制御内容や制御器(位置制御器や速度制御器)を選択するモードである。位置の制御に対応した第1制御モードは、コントローラ10が位置の制御(図7での位置制御器51A)を有する場合に適用するモードであり、速度の制御に対応した第2制御モードは、コントローラ10が速度の制御(図8や図9での速度制御器51B)を有する場合に適用するモードである。
 実施の形態1では、サーボアンプ20は、指示・設定された制御モードに対応したプログラム処理を切り替えて実行する。これにより、図1の構成は、実行モジュールの構成として、例えば図7の位置制御の構成(コントローラ10に位置制御器51Aを有する第1の場合に対応して、サーボアンプ20に速度制御器52Bを有する構成)、または、例えば図8の速度制御の構成(コントローラ10に速度制御器51Bのみを有する第2の場合に対応して、サーボアンプ20に電流制御器52Cを有する構成)となる。
 [P制御とPI制御]
 また、実施の形態1では、コントローラ10とサーボアンプ20によるモータ30のサーボ制御に関するフィードバック制御方法として、P制御とPI制御とを扱う。
 P制御は、PID制御のうちの比例制御(P:Proportionの略)であり、誤差に比例した操作を行う制御である。誤差は、図1での上位制御指令A1と上位制御応答A4との差分、上位制御偏差A2である。操作は、誤差に第1制御器51の制御ゲインをかけたものを操作量とする操作である。
 PI制御は、PID制御のうちのP制御とI制御(I:Integralの略)とを合わせた比例積分制御である。I制御は、誤差を積分する操作を行う制御である。操作は、誤差(上位制御偏差A2)を積分して制御ゲインをかけたものを操作量とする操作である。
 [第1制御モード:位置の制御]
 図7は、図1の構成に基づいて、第1制御モードとしてコントローラ10が位置の制御を有する場合の機能ブロック構成を示す。なお、図7では、図1のモータ30、エンコーダ31、制御対象装置35、ユーザ・インタフェース40等の図示を省略している。図7は、上位システム1のコントローラ10がモータ30に関する位置の制御を行う場合であり、第1制御器51は位置制御器51Aとして構成されている。下位システム2のサーボアンプ20は、全体の位置制御(位置、速度および電流の制御)のうち、位置の制御以降の、速度および電流の制御を行う。そのために、サーボアンプ20では、第2制御器52が、速度制御器52Bとして構成されている。電力変換器23は電流制御を含んでいる。また電流制御は、一般的なベクトル制御とする。
 図7で、全体の位置制御は、主に位置制御器51A、速度制御系(速度制御器52Bを含む)の2つの要素を有し、これらの要素での制御が順に行われる。
 コントローラ10では、上位制御指令A1と上位制御応答A4とからの上位制御偏差A2に基づいて、位置制御器52Aで位置制御された結果のサーボ制御指令A3が出力され、サーボアンプ20に入力される。サーボアンプ20では、モータ30のエンコーダ31からの信号に基づいた上位制御応答A4を微分器26で微分した結果の信号A8が得られる。サーボアンプ20では、サーボ制御指令A3と、信号A8とが演算器21で演算された結果の信号A5が、速度制御器52Bに入力される。速度制御器52Bでは、信号A5に基づいて、速度制御およびトルク変換を含めた演算がされた結果の信号A12(電流指令値)が得られる。
 第1制御モードで、制御ゲイン推定器27は、サーボ制御指令A3と上位制御偏差A2とを入力し、位置制御器51AのPゲインを推定し、推定Pゲイン(推定制御ゲインA10)として記憶・出力する。
 [第2制御モード:速度の制御]
 図8は、第2制御モードとしてコントローラ10が速度の制御を有する場合の機能ブロック構成の第1例を示す。図8では、第2制御モードに該当する第1例として、コントローラ10内に位置制御器を有さずに、コントローラ10が速度の制御(速度制御器51B)のみを有する場合の制御構成を示している。
 また、図9のように、第2制御モードは、第2例として、コントローラ10内に位置・速度制御系(位置制御器51Aおよび速度制御器51B)を有する場合もある。この第2例の場合の第1制御器51は速度制御器51Bとなり、第2制御器52は電流制御系80の電流制御器52Cになる。第2制御モードに関する機能は、図8の場合と図9の場合とで本質的に同様であるため、以下では主に図8を用いて説明する。
 第2制御モードにおけるゲイン推定は、コントローラ10の速度制御器51Bのゲインの推定である。速度制御以下の制御器構成としては、速度制御器51Bと電流制御系80との2つの要素を有する。電流制御系80は、演算器22、電流制御器52C、電力変換器23を有する。電流制御系80は、電流制御ループを有しており、一般的なベクトル制御で構成され、直交座標変換および2相3相変換等の演算が行われる。図8ではループのみを図示しており、直交座標変換や2相3相変換等の処理については省略している。第2制御モードでは、コントローラ10内の第1制御器51は、速度制御器51Bとして図示している。第2制御モードでは、サーボアンプ20内は、電流の制御を行う電流制御系80として構成されている。前述の第2制御器52は電流制御器52Cとして図示している。
 サーボアンプ20では、モータ30のエンコーダ31からの信号A4aは、コントローラ10内の微分器26(26C)で微分されて、モータ30の位置・速度を表す信号A4bとなり、その信号A4bが上位制御応答としてコントローラ10の演算器11に入力される。演算器11は、上位制御指令A21と信号A4bとを演算し、演算結果として上位制御偏差に相当する信号A22が、速度制御器51Bへ入力される。速度制御器51Bでは、信号A22に基づいた速度制御が演算されて、サーボ制御指令A11として出力される。
 サーボアンプ20では、サーボ制御指令A11が、電流制御系80に入力される。サーボ制御指令A11は電流指令値に相当する。電流制御系80では、演算器22は、信号A11と、信号A7bとを演算し、演算結果の信号A12が生成され、電流制御器52Cに入力される。電流制御器52Cでは、信号A12に基づいて、電流制御された結果の信号A13が得られ、電力変換器23に入力される。電流制御器52Cは、トルク変換を含む。電力変換器23が出力する信号A7bは、3相/2相変換後の電流応答値に相当する。
 第2制御モードでは、制御ゲイン推定器27は、速度制御器51Bの前段の上位制御偏差に相当する信号A22と、速度制御器51Bで速度制御された結果の信号A11(サーボ制御指令)とを入力する。制御ゲイン推定器27は、信号A22および信号A11を用いて、速度制御器51Bの制御ゲインを推定する。
 なお、図8では、信号A22と信号A11とを制御ゲイン推定器27に入力しているが、これに限らず可能であり、前述のユーザ・インタフェース40を用いて、例えば信号A21をモニタし、モニタにより取得した信号A21を、制御ゲイン推定器27に送信してもよい。
 第2制御モードで、制御ゲイン推定器27は、信号A22と信号A11とを入力し、速度制御器51Bの制御ゲインを推定し、推定制御ゲインA10として記憶・出力する。
 なお、図9では、コントローラ10は、入力側から順に、演算器11A、位置制御器51A、演算器11B、速度制御器51Bを有する。演算器11Aは、上位制御指令A21と、上位制御応答A4aとを演算し、上位制御偏差A22とする。位置制御器51Aは、上位制御偏差A22を入力し、位置制御が演算された結果の信号A23を出力する。演算器11Bは、位置制御器51Aの出力の信号A23と、微分器26(26C)で微分した結果の信号A4bとを演算し、信号A24とする。速度制御器51Bは、信号A24を入力し、速度制御が演算された結果の信号をサーボ制御指令A11として出力する。制御ゲイン推定器27は、信号A24とサーボ制御指令A11とを入力して、速度制御器51Bの制御ゲインを推定する。
 [P制御の場合の処理フロー]
 位置の制御におけるP制御の場合について説明する。図7で第1制御器51が位置制御器51Aであり、かつ、P制御である例を説明する。制御ゲイン推定器27は、メモリ資源(例えば図2のメモリ202)から、サーボ制御指令A3と上位制御偏差A2とを読み出し、第1制御器51の制御ゲインの推定のための計算処理を実行する。
 ユーザU1は、ユーザ・インタフェース40のアプリケーション41により、図6のようなGUI画面で、第1制御モードである位置の制御を選択し(項目602)、フィードバック制御方法に対応した推定対象の制御ゲインとしてPゲインを選択する(項目603)。これに従い、制御ゲイン推定器27は、位置制御器51A(図7)のPゲインを推定する処理を行う。
 図10は、制御ゲイン推定器27の処理フロー例として、位置の制御でP制御の場合に、Pゲインを推定計算、導出する場合の処理フローを示す。図10の処理フローは、制御ゲイン推定器27(実体としては図2のプロセッサ201)による可能な処理動作のうちの一部の処理動作の例を示し、ステップS11~S15を有する。
 ステップS11で、サーボアンプ20の制御選択機能(ユーザ・インタフェース40のアプリケーション41の一部)により、例えばユーザU1の操作に基づいて図6のGUI画面を通じて、位置の制御かつP制御が選択され、推定処理実行開始が指示・入力される(ボタン604)。
 ステップS12で、コントローラ10は、上位制御指令A1を生成・入力し、上位制御指令A1と上位制御応答A4(ここでは位置応答)との演算の結果として上位制御偏差A2を得る。上位制御指令A1は、ここでは位置指令値に相当する。上位制御応答A4は、ここでは位置応答値に相当する。上位制御偏差A2は、ここでは位置偏差値に相当する。
 コントローラ10は、上位制御偏差A2から位置制御器51Aによってサーボ制御指令A3を出力する。サーボ制御指令A3は、ここでは速度制御指令に相当する。位置偏差値に、位置制御器51AでPゲインがかけられることで、速度指令値が生成されている。
 ステップS13で、サーボアンプ20の制御ゲイン推定器27は、コントローラ10から、上位制御偏差A2(位置偏差値)と、サーボ制御指令A3(速度指令値)とを取得・入力して、メモリ資源に保存する。なお、ここでの位置偏差値や速度指令値は、図1等と同様に、ユーザ・インタフェース40によるモニタによって取得されてもよいし、それらの情報がユーザU1に対し出力されてもよい。
 ステップS14で、制御ゲイン推定器27は、サーボ制御指令A3(速度指令値)を上位制御偏差A2(位置偏差値)によって除算することで、位置制御器51AのPゲインを推定し、推定結果である推定Pゲインを、推定制御ゲインA10として記憶・出力する。言い換えると、推定Pゲインは、計算式として、[速度指令値]/[位置偏差値]という比率の値として得られる。
 その後、サーボアンプ20およびユーザU1は、推定Pゲインを任意に利用できる。特に、ユーザU1は、GUI画面(図6)で、推定Pゲインを確認でき(項目605)、推定Pゲインを利用して、サーボアンプ20内の制御パラメータを調整できる(ボタン607)。例えば、推定Pゲインに基づいて、図7の速度制御器52B、および電流制御のパラメータを好適な値に設定可能である。ユーザU1は、上位システム1のコントローラ10内の実際の位置制御器51AのPゲインがわからなくても、推定Pゲインを利用することで、サーボアンプ20の制御パラメータを好適に調整できる。
 [PI制御の場合の処理フロー]
 位置の制御におけるPI制御の場合について説明する。図7の第1制御器51が位置制御器51Aであり、かつ、PI制御である例を説明する。ユーザU1は、ユーザ・インタフェース40のアプリケーション41により、図6のような画面で、第1制御モードである位置の制御を選択し(項目602)、フィードバック制御方法に対応した推定対象の制御ゲインとしてPIゲインを選択する(項目603)。なお、PIゲインは、PゲインとIゲインとを有する。制御ゲイン推定器27は、このPIゲインを推定する。図7では、Pゲインと推定Pゲインの場合を図示しているが、PI制御の場合には、位置制御器51Aには、PIゲイン(PゲインおよびIゲイン)が設定されており、制御ゲイン推定器27は、このPIゲイン(PゲインおよびIゲイン)を推定する。
 図11は、制御ゲイン推定器27の処理フロー例として、位置の制御でPI制御の場合に、PIゲインを推定計算、導出する場合の処理フローを示す。図11のフローは、制御ゲイン推定器27(実体は図2のプロセッサ201)による可能な処理動作のうちの一部の処理動作の例を示し、ステップS21~S28を有する。
 ステップS21で、サーボアンプ20の制御選択機能により、位置の制御でPI制御が選択され、推定処理実行開始が指示入力される。
 ステップS22で、コントローラ10は、前述と同様に、上位制御指令A1としての位置指令値と上位制御応答A4としての位置応答値とから、上位制御偏差A2としての位置偏差値を得る。コントローラ10は、その位置偏差値に基づいて、位置制御器51Aによって、サーボ制御指令値A3として速度指令値を出力する。サーボアンプ20は、コントローラ10から、上位制御偏差A2としての位置偏差値と、サーボ制御指令値A3としての速度指令値とを入力・取得し、メモリ資源に保存する。ステップS22では、特に、最初のタイミング、周期(T=[0]とする)で、制御ゲイン推定器27は、上位制御偏差[0](=位置偏差値[0])と、サーボ制御指令[0](=速度指令値[0])とを入力・保存する。上記タイミング、周期は、フィードバック制御上の時間単位である。
 ステップS23では、制御ゲイン推定器27は、次の周期(T=[1]とする)で更新された、上位制御偏差[1](=位置偏差値[1])と、サーボ制御指令[1](=速度指令値[1])とを入力・保存する。
 ステップS24およびステップS25のループでは、同様に、制御ゲイン推定器27は、各周期(T=[2],……,[n]とする)での上位制御偏差(=位置偏差値)とサーボ制御指令(=速度指令値)とを入力・保存する。ステップS25は、ループの終了の条件であり、最後の周期(T=[n])での、上位制御偏差[n]が、最初の上位制御偏差[0]と同じになったかどうかの判断である。ステップS25の条件を満たした場合(YES)、ステップS26に遷移する。
 なお、上記上位制御偏差およびサーボ制御指令をメモリ資源に保存する仕組みは、詳細を限定せず、例えば、サーボアンプ20内のRAMへの格納でもよい。
 なお、後述の式2には、ステップS25までで取得した位置偏差値と速度指令値との関係の一例を示している。
 次に、ステップS26では、制御ゲイン推定器27は、ステップS24までに保存した値である、上位制御偏差[0]~[n]、およびサーボ制御指令[1]~[n]を、後述の式3に適用することで、Iゲイン(式3でのCi)を推定する。
 ステップS27では、制御ゲイン推定器27は、上位制御偏差[1]およびサーボ制御指令[1]を用いて、ステップS26で得た推定Iゲインを、後述の式4に適用することで、Pゲイン(式3でのCp)を推定する。
 ステップS28では、サーボアンプ20は、上記で得た推定Pゲインおよび推定Iゲインを、推定制御ゲインA10として、メモリ資源に記憶し、出力する。サーボアンプ20は、例えば、GUI画面(図6)で、ユーザU1に対し、推定Pゲインおよび推定Iゲインを表示する(項目605,606)。
 なお、上記制御ゲイン推定器27による制御ゲインの推定は、推定処理の開始の時点として、サーボアンプ20を含むシステム100のサーボ制御の動作の開始時としてもよいし、動作途中としてもよいし、いずれであっても、同じ計算式などの仕組みに基づいて、推定が可能である。
 [制御ゲイン推定に関する計算式]
 上記制御ゲイン推定としてPI制御の場合に関する計算式を以下に示す。下記の式1~式4は、PIゲインの推定に関する計算式である。式1は、位置偏差値(Perr)と速度指令値(v)との関係を示す。式2は、式1に基づいて、各周期(T=[1]等)の関係を示す。式3は、Iゲイン(Ci)の推定の計算式を示す。式4は、Pゲイン(Cp)の推定の計算式を示す。
Figure JPOXMLDOC01-appb-M000001
 
Figure JPOXMLDOC01-appb-M000002
 
Figure JPOXMLDOC01-appb-M000003
 
Figure JPOXMLDOC01-appb-M000004
 
 Iゲイン(Ci)は、位置偏差値と速度指令値とから求められる。式2において、前回値を0の状態にして、1周期目(T=[1])に適当なPerr1の値が入力される。すると、下記の式5となる。Perr1=Perrnのとき、[1]-[n]とすると、式3は式6のようになる。入力値Perrmと出力値vnを保存することで、Iゲイン(Ci)の導出が可能である。Iゲイン(Ci)の導出後、式6で[1]にCiを代入することで、Pゲイン(Cp)の導出が可能である。上記のようにしてPIゲインが推定可能である。
Figure JPOXMLDOC01-appb-M000005
 
Figure JPOXMLDOC01-appb-M000006
 
 [推定制御ゲインの利用]
 実施の形態1により得られた推定制御ゲインA10の情報は、任意に利用できる。利用例は以下である。第1例は、推定制御ゲインを、図1のシステム100の全体のパラメータ設定・調整に利用するものである。ユーザU1は、推定制御ゲインを、コントローラ10の第1制御器51の制御ゲインの設定・調整に利用してもよい。また、ユーザU1は、推定制御ゲインを、サーボアンプ20の第2制御器52(例えば速度制御器52B)の制御ゲインなどの設定・調整に利用してもよい。
 第2例は、推定制御ゲインを、別の制御に利用するものである。別の制御の例は、モータ30の制振制御が挙げられる。
 [実施の形態1の効果等]
 以上説明したように、実施の形態1によれば、サーボアンプ20に関して、管轄が異なる上位システム1と下位システム2との間でも、制御パラメータの調整を実現できる。実施の形態1によれば、下位システム2のサーボアンプ20が、上位システム1のコントローラ10の第1制御器51の制御ゲインを推定することができる。これにより、サーボアンプ20またはユーザU1は、推定制御ゲインA10を用いて、サーボアンプ20を含むシステム100の制御パラメータの調整を、従来よりも容易に行うことができ、従来よりも好適な制御パラメータに調整可能となる。調整の結果、サーボアンプ20を含むシステム100の高効率や高応答を実現しやすくなる。また、実施の形態1によれば、制御ゲインを推定できるので、上位システム1のコントローラ10等と下位システム2のサーボアンプ20との間で制御パラメータに関する単位系が異なる場合でも、制御パラメータの調整を補助でき、手動調整などの手間を削減できる。
 上述したように、実施の形態1では、下位システム2のサーボアンプ20から、上位システム1のコントローラ10内の制御ゲインを推定するという新しい仕組みについて説明した。従来では、下位システム2から上位システム1のコントローラ10内の制御ゲインなどの情報を参照することは、難しい場合、または手間がかかる場合がある。実施の形態1によれば、下位システム2のサーボアンプ20が、上位システム1のコントローラ10内の制御ゲインを推定できる。また、下位システム2のサーボアンプ20が、サーボアンプ20の制御パラメータ(例えば第2制御部52の制御ゲイン)を設定する際に、従来では、コントローラ10の第1制御部51の制御ゲインがわからないので、上位システム1側に合わせた好適な制御パラメータの調整は難しい。実施の形態1によれば、推定制御ゲインを用いて、上位システム1側に合わせた好適な制御パラメータの調整が可能となる。
 [変形例:フルクローズド制御構成]
 図12は、実施の形態1の変形例として、フルクローズド制御構成の場合を示す。フルクローズド制御構成の場合、サーボアンプ20は、制御対象システム3の制御対象装置35に設けられた外部エンコーダ36からの出力の信号A36を得る。サーボアンプ20は、合成器1101を有する。合成器1101は、モータ30のエンコーダ31からの出力の信号A31と、外部エンコーダ36からの出力の信号A36とを合成し、合成後の信号を、上位制御応答A4として出力する。合成後の信号は、例えばモータ30の位置応答と制御対象装置35の位置応答とを演算した内容となる。コントローラ10は、この合成後による上位制御応答A4fをフィードバック信号として入力し、前述と同様に、上位制御偏差A2を生成する。制御ゲイン推定器27は、前述と同様に、サーボ制御指令A3と例えば上位制御偏差A2とを用いて、第1制御器51の制御ゲインを推定する。図12のような変形例でも、実施の形態1と同様の効果が得られる。
 [変形例:センサレス制御]
 図1の実施の形態1では、モータ30にエンコーダ31が付いている、エンコーダ付き制御の構成の場合を示した。これに限らず、変形例として、モータ30にエンコーダ31が付いていない構成、いわゆるセンサレス制御の構成としてもよい。図13は、実施の形態1の変形例として、センサレス制御構成の場合を示す。この構成では、モータ30にも、制御対象装置35にも、エンコーダは設けられていない。この構成では、サーボアンプ20は、前述の構成要素に加え、センサレス制御器1201を有する。センサレス制御器1201は、モータ30の位置応答を演算し、演算結果である位置応答を表す信号を、上位制御応答A4gとして出力する。コントローラ10は、この上位制御応答A4gをフィードバック信号として入力し、前述と同様に、上位制御偏差A2を生成する。サーボアンプ20は、上位制御応答A4gを微分器26で微分した結果の信号A8を生成し、サーボ制御指令A3と信号A8との演算結果の信号A5を第2制御器52に入力する。制御ゲイン推定器27は、前述と同様に、サーボ制御指令A3と例えば上位制御偏差A2とを用いて、第1制御器51の制御ゲインを推定する。図13のような変形例でも、実施の形態1と同様の効果が得られる。
 <実施の形態2>
 図14等を用いて、実施の形態2のモータ制御装置等について説明する。実施の形態2の基本的な構成は実施の形態1と同様であり、以下では実施の形態2における実施の形態1とは異なる構成部分について主に説明する。
 実施の形態2は、実施の形態1に対し主に異なる構成部分としては以下を有する。実施の形態2では、コントローラ10内の上位制御指令A1(例えば位置制御指令)を意図的に0(ゼロ)にし、サーボアンプ20が上位制御応答A4を任意に操作する。ゼロにされた上位制御指令A1を、上位制御指令A1cとする。操作された上位制御応答A4を、操作上位制御応答A4cとする。ゼロにされた上位制御指令A1とは、言い換えると、時系列上の値として常にゼロ値(あるいはオフ信号)を有する信号である。また、このゼロ値は、所定の基準値やオフセット値などの一定値としてもよい。
 実施の形態2では、実施の形態1と同様にセミクローズド制御構成において、位置の制御におけるP制御を行う場合に、コントローラ10の第1制御器51の制御ゲインを推定する例について説明する。
 [モータ制御装置を含むシステム]
 図14は、実施の形態2のモータ制御装置であるサーボアンプ20を含んだシステム100の構成を示す。図14の構成では、サーボアンプ20内には、実施の形態1と同様の構成要素の他に、上位応答操作器28が設けられている。
 上位応答操作器28は、モータ30のエンコーダ31から出力される信号である上位制御応答A4に関して、値を任意に操作して、操作上位制御応答A4cを生成し、コントローラ10に出力する処理を行う部分である。
 実施の形態2では、上位制御指令A1の値をゼロにし、かつ上位制御応答A4を任意に操作する、所定の制御モードを有する。ユーザU1は、ユーザ・インタフェース40のアプリケーション41で、GUI画面(図6の項目601)を通じて、この制御モード(「形態=2」)を選択できる。実施の形態1での機能を、「形態=1」とすると、実施の形態2での制御モードを、「形態=2」として設定できる。「形態=2」の制御モードの名前は、「ゼロ指令モード」「応答操作モード」など、任意に決めてもよい。
 実施の形態2でのこの制御モードでは、まず、上位制御指令A1の値がゼロにされる。上位制御指令A1の値をゼロにする手段は、各種があるが、例えば以下が適用できる。サーボアンプ20、またはユーザ・インタフェース40のアプリケーション41から、コントローラ10に、上位制御指令A1の値をゼロにするように要求してもよい。コントローラ10は、その要求を受けて、上位制御指令A1をゼロにする。システム100にこのような情報処理上の仕組みを有してもよい。あるいは、上位システム1のコントローラ10の管理者の人に対し、事業者のユーザU1から、上位制御指令A1の値をゼロにするように要求してもよい。管理者の人は、要求を受けて、コントローラ10に対し、上位制御指令A1の値をゼロにする操作を行う。このように、人の作業で実現してもよい。
 また、この制御モードでは、サーボアンプ20からモータ30に入力する指令と同様の指令を、上位応答操作器28に入力する。例えば、サーボアンプ20は、第2制御器52として速度制御器52Bの出力の信号A6を、上位応答操作器28に入力する。この信号A6に基づいて、上位応答操作器28は、モータ30の出力である上位制御応答A4に関する操作を行い、操作上位制御応答A4cとして出力する。
 上位応答操作器28による任意の操作は、予めプログラム処理で規定されてもよいし、ユーザ・インタフェース40のアプリケーション41を介して、ユーザU1による指示・設定として規定されてもよい。また、ユーザ・インタフェース40のアプリケーション41が、上位応答操作器28での操作上位制御応答A4cの操作の状態をモニタしてもよい。
 上位応答操作器28は、可能な範囲内で任意に操作された操作上位制御応答A4cを生成する。なお、モータ30からの実際の上位制御応答A4は、実施の形態1での機能、制御モードで利用される。
 なお、サーボアンプ20内において、操作上位制御応答A4cは、微分器26の出力の信号A8と同等値として得ることができる。
 コントローラ10は、操作上位制御応答A4cを入力し、演算器11は、ゼロとされた上位制御指令A1cと、操作上位制御応答A4cとを演算し、演算結果として上位制御偏差A2cを出力する。第1制御器51、例えば位置制御器51Aは、上位制御偏差A2cに基づいて、サーボ制御指令A3を出力する。サーボアンプ20は、サーボ制御指令A3を入力し、微分器26は、操作上位制御指令A4cを微分した結果の信号A8を出力する。演算器21は、サーボ制御指令A3と、信号A8とを演算し、演算結果の信号A5を出力する。第2制御器52、例えば速度制御器52Bは、信号A5に基づいて、信号A6を出力する。信号A6が上位応答操作器28に入力される。
 一方、制御ゲイン推定器27は、サーボ制御指令A3の他に、操作上位制御応答A4cを入力し、メモリ資源に記憶する。実施の形態2では、制御ゲイン推定器27は、上位制御偏差A2を入力・取得する必要は無い。それは、操作上位制御応答A4cが、上位制御偏差A2の内容と対応しているからである。制御ゲイン推定器27は、操作上位制御応答A4cとサーボ制御指令A3とを用いて、コントローラ10の第1制御器51の制御ゲインを推定し、推定制御ゲインA10を記憶・出力する。これにより、実施の形態2では、サーボアンプ20は、コントローラ10から上位制御偏差A2をモニタ、取得する必要無く、第1制御器51の制御ゲインを推定できる。
 [実施の形態2の処理フロー]
 図15は、実施の形態2で、上記制御モードの場合に、制御ゲイン推定器27により制御ゲインを推定する処理フロー例を示す。本例は、位置の制御におけるP制御の場合にPゲインを推定する例を示す。
 まず、ステップS31で、「形態=2」の制御モードが選択され、また例えば位置の制御におけるP制御が選択され、推定処理実行開始が入力される。
 ステップS32で、サーボアンプ20(あるいはユーザU1)は、コントローラ10の上位制御指令A1である位置制御指令値を0(ゼロ)にする。
 ステップS33で、サーボアンプ20は、信号A6に基づいて、上位応答操作器28により、上位制御応答A4(例えば位置応答)を任意に操作する値として、操作上位制御応答A4cを生成・設定し、出力する。
 ステップS34で、コントローラ10は、ゼロである上位制御指令A1と操作上位制御応答A4cとを演算器11で演算して上位制御偏差A2を出力し、上位制御偏差A2から第1制御器51である位置制御器51Aによってサーボ制御指令A3を出力する。サーボアンプ20の制御ゲイン推定器27は、操作上位制御応答A4cと、サーボ制御指令A3とを入力し、メモリ資源に保存する。
 ステップS35で、制御ゲイン推定器27は、サーボ制御指令A3と操作上位制御応答A4cとを逐次比較する。制御ゲイン推定器27は、比較した操作上位制御応答A4cとサーボ制御指令A3の倍率により、推定Pゲインを計算する。倍率は、割り算として、[A4cの値]/[A3の値]である。この倍率ないし比率が推定Pゲインとして得られる。
 ステップS36で、サーボアンプ20は、推定Pゲインを記憶・出力する。
 [実施の形態2の効果等]
 実施の形態2によれば、上位制御応答A4に関して任意に操作し、サーボアンプ20のみによって上位システム1のコントローラ10の制御ゲインを推定できる。上位システム1のコントローラ10側では、上位制御指令A1の値をゼロにするのみでよく、他の操作・作業は不要である。そのため、制御ゲインの推定に要する工数が削減できる。
 なお、実施の形態2は、実施の形態1の機能に「形態=2」の制御モードの機能が追加されている場合として説明したが、これに限定されず、この制御モードの機能のみが実装されている形態も勿論可能である。
 [変形例:疑似運転モード]
 上記実施の形態2での上位制御応答A4の任意の操作に関して、例えばモータ30の疑似運転に対応した操作として行うことが考えられる。実施の形態2の変形例では、サーボアンプ20に、このようなモータ30の疑似運転に対応した処理を行う疑似運転モジュール(言い換えると疑似モータ部)が設けられる。この疑似運転モジュールは、モータ30の入出力を模した部分であり、モータ30の疑似的な出力(言い換えると疑似的な上位制御応答)を得る部分である。この疑似運転モジュールは、サーボアンプ20のプロセッサによる計算、プログラム処理により実現される。変形例では、制御モードの1つとして、モータ30の疑似運転を行うモード(例えば「疑似運転モード」と記載)を有する。
 図16は、実施の形態2の変形例における、疑似運転モードの場合の機能ブロック構成例を示す。図16の例では、位置の制御におけるP制御の場合を示す。コントローラ10の第1制御器51は位置制御器51Aとして構成され、サーボアンプ20の第2制御器52は速度制御器52Bとして構成されている。
 サーボアンプ20は、モニタ器1501、疑似運転モジュール1502を有する。モニタ器1501は、コントローラ10内の上位制御偏差A2と、出力のサーボ制御指令A3とをモニタする。例えば、コントローラ10の出力端子N2から出力された上位制御偏差A2が、入力端子N5から入力され、モニタ器1501に入力される。また、コントローラ10の出力端子N3から出力されたサーボ制御指令A3が、入力端子N6から入力され、モニタ器1501に入力される。モニタ器1501は、モニタとして取得した上位制御偏差A2およびサーボ制御指令A3をメモリ資源に保存し、制御ゲイン推定器27に提供する。制御ゲイン推定器27は、モニタによる上位制御偏差A2およびサーボ制御指令A3を用いて、コントローラ10の第1制御器51の制御ゲイン、例えば位置制御器51Aの制御ゲインを推定し、推定制御ゲインA10を記憶、出力する。
 また、この変形例では、制御モードの1つである疑似運転モードで、モータ30からの応答出力(上位制御応答A4)を用いるのではなく、疑似運転モジュール1502を用いて、モータ30の疑似運転による制御を行う。疑似運転モジュール1502は、プロセッサによるモータ20の動作のシミュレーションで実現される。
 疑似運転モジュール1502は、サーボ制御指令A3に基づいた、第2制御器52、例えば速度制御器52Aの出力の信号A6を入力し、モータ30の疑似運転の計算に基づいて、モータ30からの応答出力(上位制御応答A4)を模した出力として、疑似的な上位制御応答A4(疑似上位制御応答A4dとする)を生成し出力する。
 コントローラ10は、疑似上位制御応答A4dを入力し、演算器11は、上位制御指令A1と疑似上位制御応答A4dとを演算し、演算結果として疑似的な上位制御偏差A2(疑似上位制御偏差A2dとする)を生成する。第1制御器51、例えば位置制御器51Aは、疑似上位制御偏差A2dに基づいて疑似的なサーボ制御指令A3(疑似サーボ制御指令A3dとする)を出力する。
 一方、サーボアンプ20は、疑似上位制御応答A4dを微分器26で微分した結果の信号A8を生成し、演算器21で、疑似サーボ制御指令A3dと信号A8とを演算し、演算結果の信号A5を得る。信号A5に基づいて、第2制御器52、例えば速度制御器52Bは、速度制御された結果の信号A6を出力する。以降同様に、時系列上で、疑似運転モジュール1502を介して、モータ30の疑似運転と、それに対応したサーボ制御とが行われる。
 なお、疑似運転モードでは、モータ30を実際に駆動させる必要は無い。そのため、実際にモータ30へ信号A7を供給する必要は無い。例えば、サーボアンプ20は、プログラム処理上で、信号A7をオフとする、あるいは、演算器22以降の処理上のスイッチをオフにする。
 上記疑似運転中に、制御ゲイン推定器27は、第1制御器51の制御ゲイン、例えば位置制御器51Aの制御ゲインを推定する。なお、図16では、ユーザ・インタフェース40等の図示を省略しているが、前述と同様に、ユーザ・インタフェース40のアプリケーション41を用いて、モニタ値や推定制御ゲインA10などをユーザU1に対し出力可能である。また、ユーザ・インタフェース40のアプリケーション41を用いて、疑似運転モジュール1502の設定や状態出力を行ってもよい。
 この変形例によれば、モータ30を駆動させる必要無く、モータ30の疑似運転に基づいて、コントローラ10の制御ゲインを推定できる。
 なお、図14の実施の形態2での上位応答操作器28に、図16の変形例の疑似運転モジュール1502を内蔵した構成としてもよい。その場合、上位応答操作器28は、疑似運転モジュール1502の疑似運転に基づいて、操作上位制御応答A4cを生成する。
 <他の変形例>
 他の変形例として以下も可能である。図1のユーザ・インタフェース40、図3のアプリケーション41について、サーボアンプ20に内蔵された形態としてもよいし、一部が上位システム10内に内蔵された形態としてもよい。例えば、事業者が顧客に了承をもらって、コントローラ10内に、情報・信号(例えば上位制御偏差A2や上位制御指令A1)のモニタのためのモニタプログラムをインストールする。モニタプログラムは、プロセッサによる処理によりモニタ器として機能する。モニタ器は、例えば上位制御偏差A2の信号をモニタし、サーボアンプ20あるいはアプリケーション41に送信する。これにより、サーボアンプ20あるいはアプリケーション41は、例えば上位制御偏差A2の信号をモニタ、取得できる。
 以上、本開示の実施の形態について具体的に説明したが、前述の実施の形態に限定されず、要旨を逸脱しない範囲で種々変更可能である。各実施の形態は、必須構成要素を除き、構成要素の追加・削除・置換などが可能である。特に限定しない場合、各構成要素は、単数でも複数でもよい。各実施の形態を組み合わせた形態も可能である。
 1…上位システム、2…下位システム、3…制御対象システム、10…コントローラ、11…演算器、20…サーボアンプ、21…演算器、23…電力変換器、26…微分器、27…制御ゲイン推定器、30…モータ、31…エンコーダ、35…制御対象装置、40…ユーザ・インタフェース、51…第1制御器、52…第2制御器、U1…ユーザ,A1…上位制御指令、A2…上位制御偏差、A3…サーボ制御指令、A4…上位制御応答、A10…推定制御ゲイン。

Claims (12)

  1.  上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置であって、
     前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、
     前記モータ制御装置は、
     前記サーボ制御のための第2制御器と、
     前記モータを駆動する信号を生成する電力変換器と、
     前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、
     前記モータ制御装置は、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給し、
     前記制御ゲイン推定器は、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力する、
     モータ制御装置。
  2.  請求項1記載のモータ制御装置において、
     ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
     前記アプリケーションは、前記推定第1制御ゲインをユーザに対し出力する、
     モータ制御装置。
  3.  請求項1記載のモータ制御装置において、
     ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
     前記アプリケーションは、前記上位システムから前記上位制御偏差または前記上位制御指令をモニタし、モニタした前記上位制御偏差または前記上位制御指令をユーザに対し出力する、
     モータ制御装置。
  4.  請求項1記載のモータ制御装置において、
     前記サーボ制御は、前記上位システムに位置の制御を有する場合と、速度の制御を有する場合とがあり、
     ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
     前記アプリケーションは、ユーザの操作に基づいて、前記サーボ制御として前記位置の制御と前記速度の制御とから選択して設定し、
     前記制御ゲイン推定器は、選択されたサーボ制御に対応した前記第1制御ゲインを推定する、
     モータ制御装置。
  5.  請求項1記載のモータ制御装置において、
     前記サーボ制御のフィードバック制御方法は、P制御(比例制御)と、PI制御(比例積分制御)とを有し、
     ユーザ・インタフェースとして、前記モータ制御装置に接続または内蔵される計算機によって実現されるアプリケーションを備え、
     前記アプリケーションは、ユーザの操作に基づいて、前記サーボ制御のフィードバック制御方法として前記P制御と前記PI制御とから選択して設定し、
     前記制御ゲイン推定器は、選択されたサーボ制御に対応した前記第1制御ゲインを推定する、
     モータ制御装置。
  6.  請求項1記載のモータ制御装置において、
     前記サーボ制御は、前記上位システムに位置の制御を有する場合であり、
     前記第1制御器は、位置制御器であり、
     前記第2制御器は、速度制御器である、
     モータ制御装置。
  7.  請求項1記載のモータ制御装置において、
     前記サーボ制御は、前記上位システムに速度の制御を有する場合であり、
     前記第1制御器は、速度制御器であり、
     前記第2制御器は、電流制御器である、
     モータ制御装置。
  8.  請求項1記載のモータ制御装置において、
     前記サーボ制御のフィードバック制御方法は、P制御(比例制御)であり、
     前記制御ゲイン推定器は、前記P制御に対応した処理として、前記サーボ制御指令の値を前記上位制御偏差の値によって除算して得られる比率により、前記第1制御ゲインとしてPゲインを推定する、
     モータ制御装置。
  9.  請求項1記載のモータ制御装置において、
     前記サーボ制御のフィードバック制御方法は、PI制御(比例積分制御)であり、
     前記制御ゲイン推定器は、前記PI制御に対応した処理として、
      周期ごとに、前記サーボ制御指令と前記上位制御偏差とを保存して、逐次に比較し、
      現在の周期の前記上位制御偏差の値が、最初の周期の前記上位制御偏差に等しくなるまで保存し続け、
      等しくなった周期までの前記サーボ制御指令および前記上位制御偏差に基づいて、前記第1制御ゲインを構成するIゲインを推定し、
      推定されたIゲインに基づいて、前記第1制御ゲインを構成するPゲインを推定する、
     モータ制御装置。
  10.  請求項1記載のモータ制御装置において、
     前記上位制御指令の値をゼロにし、
     前記上位制御応答を操作する上位応答操作器を有し、
     前記上位応答操作器は、前記第2制御器から出力された信号に基づいて、前記上位制御応答の代わりに、操作された上位制御応答を生成し、操作上位制御応答として前記上位システムに出力し、
     前記上位システムは、前記操作上位制御応答に基づいて、前記サーボ制御指令を出力し、
     前記制御ゲイン推定器は、前記サーボ制御指令と前記操作上位制御応答とに基づいて、前記第1制御ゲインを推定する、
     モータ制御装置。
  11.  請求項1記載のモータ制御装置において、
     前記モータの入出力に関する疑似運転を計算する疑似運転モジュールを有し、
     前記疑似運転モジュールは、前記第2制御器から出力された信号に基づいて、前記上位制御応答の代わりに、前記疑似運転による上位制御応答を生成し、疑似上位制御応答として前記上位システムに出力し、
     前記上位システムは、前記疑似上位制御応答に基づいて、疑似上位制御偏差から、前記サーボ制御指令を出力し、
     前記制御ゲイン推定器は、前記サーボ制御指令と前記疑似上位制御偏差とに基づいて、前記第1制御ゲインを推定する、
     モータ制御装置。
  12.  上位システムからのサーボ制御指令に基づいてモータを駆動制御するモータ制御装置によって実行されるモータ制御方法であって、
     前記上位システムは、サーボ制御の第1制御ゲインが設定されている第1制御器を有し、上位制御指令と、前記モータからの信号に基づいた上位制御応答との演算に基づいた上位制御偏差を、前記第1制御器に入力して、前記第1制御ゲインに基づいた前記サーボ制御指令を出力し、
     前記モータ制御装置は、
     前記サーボ制御のための第2制御器と、
     前記モータを駆動する信号を生成する電力変換器と、
     前記第1制御器の前記第1制御ゲインを推定する制御ゲイン推定器と、を有し、
     前記モータ制御方法は、
     前記モータ制御装置が、前記サーボ制御指令と、前記上位制御応答とに基づいた信号を前記第2制御器に入力し、前記第2制御器から出力された信号を前記電力変換器に入力し、前記電力変換器から出力された信号を前記モータに供給するステップと、
     前記制御ゲイン推定器が、前記サーボ制御指令と、前記上位制御偏差または前記上位制御指令とを入力し、前記第1制御ゲインを推定し、推定された結果として推定第1制御ゲインを出力するステップと、
     を有する、モータ制御方法。
PCT/JP2023/018479 2022-08-08 2023-05-17 モータ制御装置および方法 WO2024034211A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022126614A JP2024023060A (ja) 2022-08-08 2022-08-08 モータ制御装置および方法
JP2022-126614 2022-08-08

Publications (1)

Publication Number Publication Date
WO2024034211A1 true WO2024034211A1 (ja) 2024-02-15

Family

ID=89851467

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/018479 WO2024034211A1 (ja) 2022-08-08 2023-05-17 モータ制御装置および方法

Country Status (3)

Country Link
JP (1) JP2024023060A (ja)
TW (1) TW202408147A (ja)
WO (1) WO2024034211A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119833A (ja) * 1997-10-14 1999-04-30 Fuji Electric Co Ltd 位置調節器のゲイン調整装置
JP2008048570A (ja) * 2006-08-21 2008-02-28 Yaskawa Electric Corp 交流モータ制御装置とその制御方法
WO2020003738A1 (ja) * 2018-06-26 2020-01-02 日本電産株式会社 制御パラメータ調整方法および制御パラメータ調整装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11119833A (ja) * 1997-10-14 1999-04-30 Fuji Electric Co Ltd 位置調節器のゲイン調整装置
JP2008048570A (ja) * 2006-08-21 2008-02-28 Yaskawa Electric Corp 交流モータ制御装置とその制御方法
WO2020003738A1 (ja) * 2018-06-26 2020-01-02 日本電産株式会社 制御パラメータ調整方法および制御パラメータ調整装置

Also Published As

Publication number Publication date
TW202408147A (zh) 2024-02-16
JP2024023060A (ja) 2024-02-21

Similar Documents

Publication Publication Date Title
EP3379349B1 (en) Control device, control program, and control system
JP5273575B2 (ja) 電動機制御装置
JP4478584B2 (ja) 位置制御装置、測定装置および加工装置
CN107921964B (zh) 确定牵引系统是否处于故障状况的诊断监督程序
JP3178202B2 (ja) サーボモータの制御パラメータ調整装置及び調整方法
JP6860540B2 (ja) 出力装置、制御装置、及び学習パラメータの出力方法
JP6409803B2 (ja) シミュレーション装置、シミュレーション方法、制御プログラム、および記録媒体
JP5723582B2 (ja) スライディング・モード制御方式において、制御器を構成する方法、プログラム及びシステム
JP5652678B2 (ja) 電動機制御装置
JP2006340480A (ja) モータの制御装置及び制御方法
JP2010187464A (ja) 電動機制御装置の選定装置、電動機制御装置の選定方法、該方法を実現するコンピュータプログラム、及びその記憶媒体
US11137728B2 (en) Processing device, control parameter determination method, and non-transitory recording medium storing a control parameter determination program
Anatolii et al. The comparative analysis of modelling of simscape physical plant system design and armature-controlled system design of DC motor
WO2024034211A1 (ja) モータ制御装置および方法
JP2019168777A (ja) 制御系設計支援装置、制御系設計支援方法、及び制御系設計支援プログラム
US11121660B2 (en) System and method for improving drive efficiency in an industrial automation system
JP6930868B2 (ja) サーボ制御装置、サーボ制御方法及びシステム
JP6316518B1 (ja) 仮想検証システムおよび駆動制御器
JP2009038942A (ja) 負荷イナーシャ同定方法及びサーボモータ制御装置
JP5851941B2 (ja) 制御系設計支援装置及び方法並びにプログラム
US20190243318A1 (en) Machine learning device, servo motor controller, servo motor control system, and machine learning method
JP4906456B2 (ja) 模擬レゾルバ、模擬レゾルバの調整方法
CN109213002B (zh) 一种非线性动态逆控制的变幅调速系统仿真模型及方法
CN113497577A (zh) 电机控制器的pi参数整定方法、控制系统、存储装置
JP2020067739A (ja) 産業機器の制御装置、産業機器の制御システム、及び産業機器の制御方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23852196

Country of ref document: EP

Kind code of ref document: A1