Servo control device and servo control method
The integration of a safety sequence control unit within the servo control device addresses the need for external safety PLCs, providing a simplified and reliable servo control system with immediate and noise-resistant safe shutdowns.
Patent Information
- Application Number
- PCT/JP2024/012453
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-27
- Publication Date
- 2025-10-02
AI Technical Summary
Existing servo control systems require wiring and communication protocols for safety PLCs, which can lead to communication delays and instability, potentially causing unsafe shutdowns due to noise or environmental factors.
A servo control device and method that integrates a safety sequence control unit within the servo control device, eliminating the need for external safety PLCs and communication protocols, allowing safe and immediate shutdown or slowdown of servos based on internal safety determinations.
Enables a simplified configuration without external wiring or communication, ensuring safe and timely shutdowns, reducing system delays and noise interference, and enhancing operational reliability.
Smart Images

Figure JP2024012453_02102025_PF_FP_ABST
Abstract
Description
Servo control device and servo control method
[0001] The present disclosure relates to a servo control device and a servo control method, and more particularly to a servo control device and a servo control method that realize functional safety of a machine.
[0002] Devices for controlling motors to ensure safe operation are described, for example, in Patent Documents 1, 2, and 3. Patent Document 1 describes a speed monitoring device capable of monitoring the speeds of multiple servo motors with a single speed monitoring unit. Specifically, in Patent Document 1, a servo controller in a motor mechanism sends request information to an encoder requesting motor position information. The servo controller then sends a speed command generated based on a control command from a numerical control device to a safety control device. The servo controller assigns unique ID information to the request information and the speed command. The safety control device intercepts communication between the servo controller and the encoder and determines whether the unique ID information assigned to the speed command from the servo controller matches the unique ID information assigned to the position information returned by the encoder. If there is a mismatch, the safety control device outputs an STO command to stop driving the motor. Because a servo system can detect abnormalities in the communication partner, a single safety control device can monitor the speeds of multiple motors.
[0003] Patent Literature 2 describes an intelligent robot system with an autonomous control function that can reliably avoid danger when remotely controlled. Specifically, Patent Literature 2 describes that the intelligent robot system includes a robot having driving units such as hands, arms, and motors, and various sensors, a control unit that controls the robot according to command information, and a remote operation control unit. The intelligent robot system also includes a first control configuration that uses limit sensors to detect a dangerous state due to a change in the robot's mechanical state and directly controls the driving units to avoid the danger, a second control configuration that controls the driving units to avoid the danger when the control unit determines that the robot is in a dangerous state based on detection information from sensors such as a television camera and temperature, and a third control configuration that sends danger avoidance command information to the control unit when the remote operation control unit receives detection information from the various sensors via the control unit and determines that the robot is in a dangerous state.
[0004] Patent Document 3 describes a motor control device that, in an industrial machine that uses multiple axes to machine a workpiece with a tool, quickly ensures a safe state in which the workpiece and the tool do not come into contact when an abnormality occurs. Specifically, Patent Document 3 describes a motor control device for an industrial machine having multiple axes that includes: multiple motor control units that control motors provided for driving the axes; an abnormality detection unit provided in at least one of the multiple motor control units that outputs an abnormality detection signal when it detects an abnormality in an axis driven by a motor controlled by the motor control unit provided with the abnormality detection unit; a safety operation control unit that is provided in a motor control unit different from the motor control unit provided with the abnormality detection unit and that controls the motor so that the tool does not come into contact with the workpiece when it receives the abnormality detection signal; and a communication unit that transmits the abnormality detection signal output from the abnormality detection unit to the safety operation control unit.
[0005] JP 2017-167704 A JP 6-320457 A JP 2018-63585 A
[0006] When a safety control device such as a safety PLC is installed outside a servo control device, a wired connection is required for communication between the safety control device and the servo control device. For this safe communication, both the safety control device and the servo control device must support a communication protocol that supports functional safety. A safety PLC (also known as a safety sequencer or safety controller) is a device that implements logic for safely stopping a machine based on various information from sensors and other sources, with the aim of ensuring operator safety. Communication delays between the safety control device and the servo control device can reduce the servo control device's responsiveness to signals from the safety control device. If communication between the safety control device and the servo control device becomes unstable due to noise or other factors, a communication error can occur, potentially resulting in a judgment that the servo control device is unsafe, regardless of its actual safety status, resulting in a safe shutdown of the servo control device.
[0007] Therefore, what is desired is a servo control device and a servo control method that simplify the configuration of a motion control system including a servo control device, eliminate the need for wiring to connect to a safety PLC, and eliminate the need for a communication protocol for safety communication. Also, what is desired is a servo control device and a servo control method that realizes a motion control system that can safely stop the servo without delay and is not affected by noise and the like from the external environment.
[0008] A first representative aspect of the present disclosure is a servo control device that controls the servo of one or more axes of a machine based on a control command from a higher-level control device, comprising: a communication control unit that receives the control command from the higher-level control device; a servo control unit that controls the servo based on the received control command; and a safety sequence control unit that determines the safety state of the machine, and if it determines that the machine is unsafe, inputs a command to the servo control unit to slow down or stop the servo, or to cut off power, wherein the servo control unit slows down or stops the servo, or cuts off power, based on a command from the safety sequence control unit.
[0009] A second representative aspect of the present disclosure is a servo control method in which a computer as a servo control device that controls the servos of one or more axes of a machine based on control commands from a host control device executes the following processes: a process of receiving the control commands from the host control device; a process of controlling the servos based on the received control commands; and a process of determining the safety state of the machine, and, if it is determined that the machine is unsafe, slowing down or stopping the servos, or cutting off power.
[0010] FIG. 1 is a block diagram showing an example configuration of a motion control system including a servo control device according to a first embodiment of the present disclosure. FIG. 2 is a block diagram showing an example configuration of a servo control unit. FIG. 3 is a flowchart showing an example operation of a servo control device. FIG. 4 is a block diagram showing an example configuration of a motion control system including a servo control device according to a first example of the present disclosure. FIG. 5 is a block diagram showing an example configuration of a motion control system including a servo control device according to a second example of the present disclosure. FIG. 6 is a block diagram showing an example configuration of a motion control system including a servo control device according to a third example of the present disclosure. FIG. 7 is a block diagram showing an example configuration of a motion control system including a servo control device according to a second embodiment of the present disclosure. FIG. 8 is a block diagram showing an example configuration of a motion control system including a modified example of the servo control device according to the second embodiment of the present disclosure.
[0011]
[0023] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. (First Embodiment) Fig. 1 is a block diagram showing an example of the configuration of a motion control system including a servo control device according to a first embodiment of the present disclosure. As shown in Fig. 1, the motion control system 10 includes a motion control device 100, a servo control device 200, and a motor 300.
[0012] The motion control device 100 generates a control command for controlling the motor 300 and transmits it to the servo control device 200. The motion control device 100 is a higher-level control device relative to the servo control device 200.
[0013] Servo control device 200 controls the servo of one or more axes of the machine based on a control command received from motion control device 100. Servo control device 200 servo-controls motor 300 based on the control command, and determines the safety state of the machine driven by motor 300 based on safety input information, servo state information, or safety state monitoring result information, and if it determines that the machine cannot operate safely, it slows down or stops the servo without using a control command, or cuts off the power, or simultaneously requests activation of a brake by a safety output command.
[0014] The safety input information is, for example, sensor information from a safety sensor such as a light curtain. The safety input information and safety output command become safety I / O information. The servo status information is, for example, servo position information such as position feedback, and servo speed information such as speed feedback. The safety status monitoring result information is information that is generated when the safety status is monitored based on the servo status information and the servo status is determined to be unsafe. If the axis driven by the motor 300 is a gravity axis, the brake serves to prevent the axis from falling due to gravity. The configuration of the servo control device 200 will be described later.
[0015] The motor 300 is servo-controlled by the servo control device 200 and drives a mechanical part of a machine such as a robot or industrial machine. The industrial machine includes a machine tool. The motor 300 is a motor having a rotating shaft. A linear motor may be used as the motor 300. The motor 300 may be provided as a part of a machine such as a robot or industrial machine.
[0016] The following describes the configuration of the servo control device 200. As shown in FIG.
[0017] The communication control unit 210 receives control commands from the motion control device 100 , which is the upper control device, and outputs them to the servo control unit 220 .
[0018] The servo control unit 220 performs servo control of the motor 300 based on a control command, and also decelerates or stops the servo, or cuts off power, based on a safety function command from the safety sequence control unit 230 without using a control command.
[0019] FIG. 2 is a block diagram showing an example of the configuration of the servo control unit 220. In the configuration of the servo control unit 220 shown in FIG. 2, the control command received from the motion control device 100 is a position command. The control command is not limited to a position command and may be, for example, a velocity command or a torque command. When the control command is a velocity command, the subtractor 2202 and the position control unit 2203 are not provided, and the velocity command is input to the command generation unit 2201 and input from the command generation unit 2201 to the subtractor 2204 instead of the output of the position control unit 2203. When the control command is a torque command, the subtractor 2202, the position control unit 2203, the subtractor 2204, and the velocity control unit 2205 are not provided, and the torque command is input to the command generation unit 2201 and input from the command generation unit 2201 to the subtractor 2206 instead of the output of the velocity control unit 2205.
[0020] As shown in FIG. 2, the servo control unit 220 includes a command generation unit 2201, a subtractor 2202, a position control unit 2203, a subtractor 2204, a speed control unit 2205, a subtractor 2206, a current control unit 2207, an amplifier 2208, a differentiator 2209, a safety monitoring unit 2210, and a safety control unit 2211.
[0021] When a command to decelerate or stop the servo (hereinafter referred to as a deceleration command) is input from the safety control unit 2211, the command generation unit 2201 does not use the position command output from the motion control device 100, and instead outputs a position command based on the deceleration command output from the safety control unit 2211 to the subtractor 2202 instead of this position command. Unless the command generation unit 2201 receives a deceleration command from the safety control unit 2211, the command generation unit 2201 inputs the position command output from the motion control device 100 to the subtractor 2202. The command generation unit 2201 may also receive a command to move to a predetermined position from the safety control unit 2211 instead of the deceleration command, and output a position command based on this command to the subtractor 2202.
[0022] When a position command is input, the subtractor 2202 calculates the difference between the input position command and the detected position that is fed back, and outputs this difference to the position control unit 2203 as a position deviation.
[0023] Position control unit 2203 outputs a value obtained by multiplying the position deviation by position gain Kp as a speed command to subtractor 2204. When a speed command is input, subtractor 2204 calculates the difference between the input speed command and the detected speed that is fed back, and outputs this difference to speed control unit 2205 as a speed deviation.
[0024] The speed control unit 2205 performs PI control (Proportional-Integral Control), adds together the value obtained by multiplying the speed deviation by an integral gain K1v and integrating the result, and the value obtained by multiplying the speed deviation by a proportional gain K2v, and outputs the result as a torque command to the subtractor 2206. The speed control unit 2205 is not particularly limited to PI control, and may use other control, for example, PID control (Proportional-Integral-Differential Control).
[0025] The subtractor 2206 calculates the difference between the torque command output from the speed control unit 2205 and the detected current fed back, and outputs this difference to the current control unit 2207 as a current deviation.
[0026] The current control unit 2207 calculates the value of the current (current value) to be passed through the motor 300 based on the current deviation and outputs this to the amplifier 2208. The amplifier 2208 calculates the power based on the current value output from the current control unit 2207 and inputs this power to the motor 300. The amplifier 2208 is equipped with a current detector, and the current detected by the current detector is fed back to the subtractor 2206.
[0027] The rotational angle position of the motor 300 is detected by a rotary encoder (not shown) provided on the motor 300, and the detected position is input as position feedback to the subtractor 2202 and the safety monitoring unit 2210, and is also input as servo position information to the safety sequence control unit 230. The detected position is also input to a differentiator 2209. The rotary encoder serves as a position sensor.
[0028] The differentiator 2209 differentiates the detected position to obtain the detected speed, which is input to the subtractor 2204 and the safety monitor unit 2210 as speed feedback, and is also input to the safety sequence control unit 230 as servo speed information.
[0029] The safety monitoring unit 2210 monitors the safety state based on servo state information such as position feedback and / or velocity feedback, and outputs safety state monitoring result information to the safety sequence control unit 230 and the safety control unit 2211. For example, when the servo position based on the position feedback is outside a certain range, the safety monitoring unit 2210 determines that the servo state is unsafe and outputs the safety state monitoring result information to the safety sequence control unit 230 or the safety control unit 2211. The safety monitoring unit 2210 outputs position feedback (detected position) to the safety control unit 2211 for generating a deceleration command. The position feedback may be output to the safety control unit 2211 from a rotary encoder provided in the motor 300, without going through the safety monitoring unit 2210.
[0030] When the safety control unit 2211 receives safety state monitoring result information from the safety monitoring unit 2210, it determines that the machine cannot operate safely, and generates a deceleration command based on position feedback and outputs it to the command generating unit 2201. When the safety control unit 2211 receives a safety function command from the safety sequence control unit 230, it also generates a deceleration command based on position feedback and outputs it to the command generating unit 2201. The safety control unit 2211 may generate the deceleration command based on position information from the position command generated by the command generating unit 2201, instead of generating the deceleration command based on position feedback.
[0031] When the safety control unit 2211 receives the safety state monitoring result information or the safety function command, it may generate a deceleration command to decelerate or stop the servo, and instead may cut off the power to the amplifier 2208, thereby cutting off the power of the motor 300. To cut off the power to the amplifier 2208, a changeover switch (not shown in FIG. 2) may be provided on the output side of the amplifier 2208. The safety function defined by IEC 61800-5-2 is realized by the safety monitoring unit 2210 and the safety control unit 2211. The servo control unit 220 has been described above.
[0032] The safety sequence control unit 230 determines the safety state of the machine driven by the motor 300 based on the safety input information, or the servo state information or the safe state monitoring result information. If the safety sequence control unit 230 determines that the machine cannot operate safely, it sends a safety function command to the safety control unit 2211, and also requests activation of the brake by a safety output command.
[0033] It is desirable that data be transmitted and received between the servo control unit 220 and the safety sequence control unit 230 via a safety-related data interface (referred to as safety data I / F in FIG. 1) according to the safety level.
[0034] Next, the servo control method of this embodiment will be described using a flowchart. In the following description, an example will be described in which the servo control method is executed by the servo control device 200 shown in Fig. 1, but the servo control method of this embodiment is not limited to the configuration of the servo control device 200 shown in Fig. 1. The following operation will describe an example in which the safety sequence control unit 230 acquires safety input information, or servo status information (servo position information and / or servo speed information), or safety status monitoring result information (hereinafter referred to as servo status information, etc.), and determines the safety status of the machine driven by the motor 300 based on the safety input information or the servo status information, etc.
[0035] 3 is a flowchart showing an example of the operation of the servo control device. In step S11, the communication control unit 210 receives a control command from the motion control device 100 and outputs it to the servo control unit 220. The servo control unit 220 servo-controls the motor 300 based on the control command.
[0036] In step S12, the safety sequence control unit 230 acquires safety input information, servo status information, etc., and determines the safety status of the machine driven by the motor 300 based on the safety input information, servo status information, etc. If the safety sequence control unit 230 determines that it is not safe, it proceeds to step S13, and if it determines that it is safe, it returns to step S11. Although not shown in FIG. 3 , steps S11 and S12 are repeated, and when processing of the machine controlled by the motion control system 10 is completed, processing of the servo control device in steps S11 and S12 is terminated.
[0037] In step S13, the safety sequence control unit 230 sends a safety function command to the safety control unit 2211, or simultaneously requests activation of the brake by a safety output command. When the safety control unit 2211 receives the safety function command from the safety sequence control unit 230, it generates a deceleration command based on position feedback and outputs the deceleration command to the command generation unit 2201. When the safety control unit 2211 receives the safety function command, it may cut off the power of the motor instead of outputting the deceleration command to the command generation unit 2201. Instead of generating the deceleration command based on position feedback, the safety control unit 2211 may generate the deceleration command based on position information from the position command generated by the command generation unit 2201.
[0038] In step S14, the safety sequence control unit 230 acquires safety input information, servo state information, etc., and determines the safety state of the machine driven by the motor 300 based on the safety input information, servo state information, etc. If the safety sequence control unit 230 determines that it is not safe, it performs the process of step S14 again, and if it determines that it is safe, it proceeds to step S15.
[0039] In step S15, the servo control device 200 determines whether or not to continue the process. If the servo control device 200 determines to continue the process, it returns to step S11, and if the servo control device 200 determines not to continue the process, it ends the process.
[0040] According to the servo control device and servo control method of the present embodiment described above, by incorporating a safety sequence control unit into the servo control device, a safety PLC is not required, allowing for a simple configuration. Furthermore, according to the servo control device and servo control method of the present embodiment, wiring for connection to a safety PLC is not required, and compatibility with a communication protocol for safety communication is not required. Furthermore, according to the servo control device and servo control method of the present embodiment, since no external communication is required, the servo can be safely stopped without delay in an emergency. Since no external communication is required, the system is not affected by noise from the external environment, and unnecessary system safety shutdowns are eliminated.
[0041] Depending on the communication protocol and network topology, the elimination of safety PLC communication can shorten the motion communication cycle by reducing the communication load in the motion control device, and shorten the control task execution cycle by reducing the processing load.Furthermore, since there is no safety communication, the execution cycle can be determined solely by the circumstances of the safety sequence program.
[0042] 4 is a block diagram showing an example of the configuration of a motion control system including a servo control device according to a first embodiment of the present disclosure. As shown in FIG. 4, in this embodiment, a safety sequence control unit 230A determines the safety state of a machine driven by a motor 300 based on safety input information from a light curtain 400 serving as a safety sensor.
[0043] In the motion control system 11 of this embodiment, the servo control device 200 equipped with the servo control unit 220 and the safety sequence control unit 230 in FIG. 1 is replaced with a servo control device 200A equipped with the servo control unit 220A and the safety sequence control unit 230A.
[0044] The configuration of servo control unit 220A is the same as that of servo control unit 220, but differs from servo control unit 220 in that servo status information (servo position information and / or servo speed information) is not output to safety sequence control unit 230A.
[0045] When a safety signal, such as a light beam interruption, is input from the light curtain 400 serving as a safety sensor, the safety sequence control unit 230A issues a safety function command defined by IEC 61800-5-2 to the safety control unit 2211 of the servo control unit 220 in accordance with the safety sequence program. When the safety control unit 2211 receives the safety function command, it outputs a deceleration command (a command to decelerate or stop the servo) to the command generation unit 2201 based on position feedback. Instead of decelerating or stopping the servo based on the safety function command, the safety control unit 2211 may shut off the power to the motor 300 by shutting off the power to the amplifier 2208. Instead of generating the deceleration command based on position feedback, the safety control unit 2211 may generate the deceleration command based on position information from the position command generated by the command generation unit 2201. This also applies to the second and third embodiments described below.
[0046] Furthermore, when a safety signal is input, the safety sequence control unit 230A outputs a command to activate the brake to the brake 500. The safety sequence control unit 230A may perform only the process of decelerating or stopping the servo or the process of cutting off the power, rather than performing both the process of decelerating or stopping the servo or the process of cutting off the power and the process of activating the brake.
[0047] The motion control system 11 of this embodiment can be used, for example, as a system for controlling a press machine, which is an industrial machine. When the motor 300 drives the press machine, which is an industrial machine, the safety sequence control unit 230A detects the interruption of the light beam from the light curtain 400 during press operation, and in accordance with the safety sequence program, sends a safety function command to the servo control unit 220A requesting that the servo be slowed down or stopped or that the power to the motor be cut off as a safety function, and also requests activation of the brake as a safety output command, thereby safely stopping the press machine. The safety sequence control unit 230A may only perform the process of slowing down or stopping the servo or cutting off the power.
[0048] According to this embodiment, functional safety operation can be performed by a safety signal from a safety sensor that is not related to the operation of the servo control device.
[0049] Second Embodiment Fig. 5 is a block diagram showing an example of the configuration of a motion control system including a servo control device according to a second embodiment of the present disclosure. As shown in Fig. 5, in this embodiment, a safety sequence control unit 230B determines the safety state of a machine driven by a motor 300 based on servo state information (servo speed information and / or servo position information) or safety state monitoring result information output from a servo control unit 220.
[0050] In the motion control system 12 of this embodiment, the servo control device 200 equipped with the safety sequence control section 230 in FIG. 1 is replaced with a servo control device 200B equipped with a safety sequence control section 230B.
[0051] When the safety sequence control unit 230B acquires servo status information or safety status monitoring result information output from the servo control unit 220 and determines that the machine cannot operate safely, it issues a safety function command defined in IEC 61800-5-2 to the safety control unit 2211 of the servo control unit 220 in accordance with the safety sequence program. When the safety control unit 2211 receives the safety function command, it generates a deceleration command based on position feedback and outputs it to the command generation unit 2201. Instead of slowing down or stopping the servo based on the safety function command, the safety control unit 2211 may cut off the power to the motor by cutting off the power to the amplifier 2208.
[0052] Furthermore, if the safety sequence control unit 230B determines that the machine cannot operate safely, it outputs a command to activate the brake to the brake 500. The safety sequence control unit 230B may only perform the process of decelerating or stopping the servo or the process of cutting off the power, without performing both the process of decelerating or stopping the servo and the process of activating the brake.
[0053] The motion control system 12 of this embodiment can be used, for example, as a system for controlling a press machine, which is an industrial machine. When the motor 300 drives a press machine, which is an industrial machine, the safety sequence control unit 230B detects abnormal servo operation from servo status information from the servo control unit 220 during press operation, and sends a safety function command to the servo control unit 220 in accordance with a safety sequence program, requesting that the servo be slowed down or stopped or that power to the motor be cut off, as a safety function, and also requests activation of the brake as a safety output command, thereby safely stopping the press machine. The safety sequence control unit 230B may only perform the process of slowing down or stopping the servo or cutting off power.
[0054] Examples of abnormal operations include the following: (1) The position is outside a certain range when it should have stopped at top dead center. The fact that the position is outside a certain range can be detected using servo position information. (2) The speed is accelerating when it should have stopped at top dead center. The speed acceleration can be detected using servo speed information. (3) The speed is decelerating when it should have moved from bottom dead center to top dead center. The speed deceleration can be detected using servo speed information. When moving from bottom dead center to top dead center, the slide of the press moves upward, so the worker will not be caught in the press, but the deceleration can be determined to be an abnormality and a downward force is being applied.
[0055] According to this embodiment, functional safety operation can be performed based on the servo state information of the servo control unit in the servo control device.
[0056] Third Embodiment Fig. 6 is a block diagram showing an example configuration of a motion control system including a servo control device according to a third embodiment of the present disclosure. In this embodiment, a servo control unit 220C drives one axis controlled by a safety function command and two axes not controlled by a safety function command. The axis controlled by the safety function command includes motor 300A in Fig. 6, and the two axes not controlled by the safety function command include motors 300B and 300C, respectively.
[0057] In the motion control system 13 of this embodiment, the servo control device 200 in Figure 1, which is equipped with a servo control unit 220 and a safety sequence control unit 230, is replaced with a servo control device 200C, which is equipped with a servo control unit 220C and a safety sequence control unit 230C.
[0058] The servo control unit 220C controls the servos of multiple axes based on control commands for multiple axes output from the motion control device 100. In FIG. 6, the servo control unit 220C coordinates and controls the servos of the axis driven by motor 300A, the axis driven by motor 300B, and the axis driven by motor 300C. The servo control unit 220C has the configuration of the dashed line portion of the servo control unit 220 shown in FIG. 2 for each of the three axes. The command generation unit 2201, safety monitoring unit 2210, and safety control unit 2211 other than the dashed line portion are common to all three axes. In the following description, the dashed line portion of the servo control unit controlling the axis driven by motor 300A will be referred to as servo axis control unit 220C1, the dashed line portion of the servo control unit controlling the axis driven by motor 300B will be referred to as servo axis control unit 220C2, and the dashed line portion of the servo control unit controlling the axis driven by motor 300C will be referred to as servo axis control unit 220C3.
[0059] The safety sequence control unit 230C acquires servo status information output from each of the servo axis control units 220C1, 220C2, and 220C3. If the safety sequence control unit 230C determines based on this servo status information that, for example, the drive of the motor 300A controlled by the servo axis control unit 220C1 cannot safely operate the machine, the safety sequence control unit 230C issues a safety function command defined by IEC 61800-5-2 to the safety control unit 2211 of the servo control unit 220C that should be controlled by the safety function, in accordance with the safety sequence program. When the safety control unit 2211 receives the safety function command, it generates a deceleration command based on the position feedback of the servo axis control unit 220C1 and outputs the command to the command generation unit 2201. The command generation unit 2201 does not use the position command of the axis driven by the motor 300A output from the motion control device 100, but instead outputs a position command based on the deceleration command to the subtractor 2202 of the servo axis control unit 220C1.
[0060] Furthermore, if the safety sequence control unit 230C determines that the machine cannot operate safely, it outputs a command to the brake 500 to activate the brake.
[0061] The safety control unit 2211 generates a predetermined operation command, such as a command to move the other servo axis control units 220C2 and 220C3, which do not have a safety function command, to a safe position in response to a safety function command for the axis for which a safety function command has been issued, or a movement command synchronized with the position of the axis for which a safety function command has been issued, and outputs the generated command to the command generation unit 2201. Instead of the position commands for the axis driven by motor 300B and the axis driven by motor 300C output from the motion control device 100, the command generation unit 2201 outputs position commands for each axis based on the command received from the safety control unit 2211 to the subtractors 2202 of the servo axis control units 220C2 and 220C3. In other words, the command generating unit 2201 controls the axis driven by motor 300B and the axis driven by motor 300C in conjunction with the axis driven by motor 300A, without using position commands for the axis driven by motor 300B and the axis driven by motor 300C.
[0062] The command output from the command generating unit 2201 is not limited to a position command, and may be, for example, a speed command or a torque command. If the command is a speed command, the speed command is input to a subtractor 2204. If the command is a torque command, the torque command is input to a subtractor 2206.
[0063] The safety sequence control unit 230C may only perform the process of decelerating or stopping the servo or cutting off the power, rather than performing both the process of decelerating or stopping the servo or cutting off the power and the process of activating the brake. Also, the safety sequence control unit 230C may control multiple servo axis control units among the servo axis control units 220C1-200C3 using the safety function.
[0064] The motion control system 13 of this embodiment can be used as a system for controlling, for example, a press machine as an industrial machine and a press transfer that transports a workpiece.
[0065] When motor 300A drives a press, which is an industrial machine, and motors 300B and 300C drive press transfers, safety sequence control unit 230C detects abnormal operation of the servo from servo status information from servo axis control unit 220C1 while the press is operating, and in accordance with the safety sequence program, sends a safety function command to servo axis control unit 220C1 as a safety function, for example, requesting power cut-off to the motor, and also requests activation of the brake as a safety output command, thereby safely stopping the press.
[0066] To control the press transfer, it is necessary to operate in synchronization with the operation of the press machine, so the motion control device 100 controls the servo axis control units 220C2 and 200C3 so that the motors 300B and 300C operate in synchronization with the operation of the motor 300A. If the safety sequence control unit 230C safely stops the motor 300A using the servo axis control unit 220C1 due to an abnormality, and the servo axis control units 220C2 and 220C3 continue to operate the motors 300B and 300C in accordance with commands from the motion control device 100, problems such as a machine collision may occur.
[0067] Therefore, the command generation unit 2201 controls the servo axis control units 220C2 and C3 to stop motors 300B and 300C at the timing of the safe stop in order to prevent damage to the machine, in accordance with the safe stop of motor 300A, or to move them to a safe position.
[0068] According to this embodiment, when servo controlling multiple axes, if there is a problem with one axis, the multi-axis control of multiple servo control units makes it possible to safely control (stop) the other multiple axes in conjunction with the axis with the problem, without going through a motion control device.In addition, when stopping axes other than the axis with the problem, safe stopping is possible without delay.
[0069] Second Embodiment Fig. 7 is a block diagram showing an example configuration of a motion control system including a servo control device according to a second embodiment of the present disclosure. The servo control device 200 shown in Fig. 1 can operate the communication control unit 210, servo control unit 220, and safety sequence control unit 230 by a program using a single CPU. In the motion control system 14 of this embodiment, the servo control device 200 including the communication control unit 210, servo control unit 220, and safety sequence control unit 230 of Fig. 1 is replaced with a servo control device 200D including a CPU 240 implementing the communication control unit 210 and the servo control unit 220, and a safety function CPU 250 implementing the safety sequence control unit 230.
[0070] According to this embodiment, the safety sequence control unit 230 is implemented in a safety function CPU 250 separate from the CPU 240 which implements the communication control unit 210 and the servo control unit 220, so the safety sequence control unit 230 operates stably without being affected by other processing.
[0071] Fig. 8 is a block diagram showing an example of the configuration of a motion control system including a modified example of the servo control device according to the second embodiment of the present disclosure. In the modified motion control system 15 shown in Fig. 8, the safety sequence control unit of the servo control device 200D in Fig. 7 is made redundant, resulting in a servo control device 200E equipped with a safety function CPU 250-1 equipped with a safety sequence control unit 230-1 and a safety function CPU 250-2 equipped with a safety sequence control unit 230-2.
[0072] In functional safety, ISO13849-1 defines safety categories as classifications based on structure. In this safety category, the following requirements are stipulated for a structure that achieves a high level of functional safety: (1) A single fault must not cause the loss of the safety function. (2) A single fault must be detectable. In this modification, the safety category can be met by monitoring and cross-checking with two CPUs. In this modification, three or more safety function CPUs equipped with a safety sequence control unit may be provided.
[0073] According to this modification, redundancy of the safety sequence control unit can be ensured, and a high level of functional safety can be achieved.
[0074] In order to realize the functional blocks or safety sequence control unit included in the servo control device in each embodiment including the examples and modifications, the servo control device or safety sequence control unit can be realized by hardware, software, or a combination of these. The servo control method can also be realized by hardware, software, or a combination of these. Here, "realized by software" means that it is realized by a computer reading and executing a program.
[0075] To realize the components or safety sequence control unit included in the servo control device by software or a combination thereof, the servo control device or safety sequence control unit includes a central processing unit (CPU) or other such device that functions as an execution unit. The servo control device or safety sequence control unit also includes a secondary storage device such as a hard disk drive (HDD) that stores various control programs such as application software or an operating system (OS), and a main storage device such as a random access memory (RAM) that stores data temporarily required for the processor to execute the programs.
[0076] The servo control device or the safety sequence control unit then performs calculations based on the application software or OS, with the arithmetic processing unit reading the application software or OS from the auxiliary storage device and expanding the loaded application software or OS into the main storage device. Based on the results of this calculation, the servo control device or the safety sequence control unit controls various hardware components. This achieves the functional blocks of this embodiment. The servo control method can also be achieved with a configuration similar to that of the servo control device.
[0077] The components included in the servo control device can be realized by hardware including electronic circuits, etc. When the servo control device is configured by hardware, some or all of the functions of the components included in the servo control device can be configured by an integrated circuit (IC), such as an ASIC (Application Specific Integrated Circuit), a gate array, an FPGA (Field Programmable Gate Array), or a CPLD (Complex Programmable Logic Device).
[0078] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs (Random Access Memory)). The program may also be supplied to the computer by various types of transient computer readable media.
[0079] According to the servo control device and servo control method disclosed herein, including the above-described embodiments and modified examples, the motion control system can be configured more simply than when the safety PLC is provided outside the servo control device. Furthermore, wiring for connection to the safety PLC is not required, and compatibility with a communication protocol for safety communication is not required. Furthermore, since no external communication is required, the servo can be safely stopped without delay in an emergency. Since no external communication is required, the system is not affected by noise from the external environment, eliminating unnecessary system safety shutdowns.
[0080] Although the above-described embodiments are preferred embodiments of the present invention, the scope of the present invention is not limited to the above-described embodiments, and the present invention can be implemented in various modified forms within the scope that does not deviate from the gist of the present invention.
[0081] The following supplementary note is further disclosed regarding the above embodiment: (Supplementary note 1) A servo control device (200, 200A, 200B, 200C, 200D, 200E) that controls servos for one or more axes of a machine based on control commands from a host control device (100), comprising: a communication control unit (210) that receives the control commands from the host control device, a servo control unit (220, 220A, 220C) that controls the servos based on the received control commands, and a safety sequence control unit (230, 230A, 230B, 230C, 230-1, 230-2) that determines a safety state of the machine, and inputs a command to the servo control unit to slow down or stop the servos or cut off power when determining that the machine is unsafe, wherein the servo control unit slows down or stops the servos or cuts off power based on the command from the safety sequence control unit.
[0082] (Supplementary Note 2) The servo control device according to Supplementary Note 1, wherein the safety sequence control section (230, 230B, 230C, 230-1, 230-2) determines the safety state of the machine based on servo state information of the servo control section (220, 220C).
[0083] (Supplementary Note 3) The servo control device according to Supplementary Note 1, wherein the safety sequence control unit (230A) determines a safety state of the machine based on sensor information from a safety sensor (400).
[0084] (Supplementary Note 4) The servo control device according to Supplementary Note 1, further comprising a safety data I / F between the servo control unit (220, 220A, 220C) and the safety sequence control unit (230, 230A, 230B, 230C, 230-1, 230-2).
[0085] (Supplementary Note 5) The servo control device according to Supplementary Note 1, wherein the servo control unit (200, 200A, 200B, 200C, 200D, 200E) determines a safety state of the machine based on servo state information.
[0086] (Supplementary Note 6) The servo control device according to Supplementary Note 1, wherein the safety sequence control unit (230, 230A, 230B, 230C, 230-1, 230-2) determines the safety state of the machine from safety state monitoring result information output from the servo control unit.
[0087] (Supplementary Note 7) The servo control device according to any one of Supplementary Notes 1 to 6, wherein the safety sequence control unit (230A, 230B, 230C) activates a brake (500) for the machine when it determines that the machine is unsafe.
[0088] (Appendix 8) The servo control device according to any one of Appendices 1 to 6, wherein the communication control unit and the servo control unit (220) are implemented in a CPU (240), and the safety sequence control units (230, 230-1, 230-2) are implemented in safety function CPUs (250, 250-1, 250-2).
[0089] (Appendix 9) A servo control device according to any one of Appendices 1 to 6, wherein the communication control unit (210) receives control commands for multiple axes from the upper control device (100), the servo control unit (220C) controls the servos of multiple axes based on the control commands for the multiple axes, and when a command to slow down or stop the servo for a certain axis or to cut off the power is input to the servo control unit from the safety sequence control unit (230C), the servo control unit controls the other axis in conjunction with the certain axis without using the received control command for axes other than the certain axis.
[0090] (Supplementary Note 10) A servo control method in which a computer as a servo control device (200, 200A, 200B, 200C, 200D, 200E) that controls the servo of one or more axes of a machine based on a control command from a host control device (100) executes the following processes: a process of receiving the control command from the host control device (100); a process of controlling the servo based on the received control command; and a process of determining the safety state of the machine, and, if it is determined that the machine is unsafe, slowing down or stopping the servo, or cutting off power.
[0091] 10, 11, 12, 13, 14, 15 Motion control system 100 Motion control device 200, 200A, 200B, 200C, 200D, 200E Servo control device 210 Communication control unit 220, 220A, 220C Servo control unit 2201 Command generation unit 2202 Subtractor 2203 Position control unit 2204 Subtractor 2205 Speed control unit 2206 Subtractor 2207 Current control unit 2208 Amplifier 2209 Differentiator 2210 Safety monitoring unit 2211 Safety control unit 230, 230A, 230B, 230C, 230-1, 230-2 Safety sequence control unit 300, 300A, 300B, 300C Motor 400 Light curtain 500 brake
Claims
1. A servo control device that controls the servo of one or more axes of a machine based on control commands from a host control device, comprising: a communication control unit that receives the control commands from the host control device; a servo control unit that controls the servo based on the received control commands; and a safety sequence control unit that determines the safety state of the machine, and if it determines that the machine is unsafe, inputs a command to the servo control unit to slow down or stop the servo, or to cut off the power, wherein the servo control unit slows down or stops the servo, or cuts off the power, based on the command from the safety sequence control unit.
2. The servo control device according to claim 1, wherein the safety sequence control unit determines the safety state of the machine based on servo state information of the servo control unit.
3. The servo control device according to claim 1, wherein the safety sequence control unit determines the safety state of the machine based on sensor information from a safety sensor.
4. The servo control device according to claim 1, further comprising a safety data I / F between said servo control section and said safety sequence control section.
5. The servo control device according to claim 1, wherein the servo control unit determines the safety state of the machine based on servo state information.
6. The servo control device according to claim 1, wherein the safety sequence control section determines the safety state of the machine from the safety state monitoring result information output from the servo control section.
7. A servo control device as claimed in any one of claims 1 to 6, wherein the safety sequence control unit activates a brake on the machine when it determines that the machine is unsafe.
8. A servo control device according to any one of claims 1 to 6, wherein the communication control unit and the servo control unit are implemented in a CPU, and the safety sequence control unit is implemented in a safety function CPU.
9. A servo control device as described in any one of claims 1 to 6, wherein the communication control unit receives control commands for multiple axes from the higher-level control device, the servo control unit controls the servos of multiple axes based on the control commands for multiple axes, and when a command to slow down or stop the servo for a certain axis or to cut off the power is input to the servo control unit from the safety sequence control unit, the servo control unit controls the other axis in conjunction with the certain axis without using the received control command for axes other than the certain axis.
10. A servo control method in which a computer as a servo control device that controls the servo of one or more axes of a machine based on control commands from a host control device performs the following processes: receiving the control commands from the host control device; controlling the servo based on the received control commands; and determining the safety state of the machine, and if it is determined that the machine is unsafe, slowing down or stopping the servo, or cutting off power.
Citation Information
Patent Citations
Safety control system and processor for the same
JP2014048849A
Servo motor controller and production system comprising the same
JP2015142489A
Motor controller
JP2018136708A
Motor control device
JP2018136712A
Motor controller and motor control system
JP2022166340A