BACKGROUND ART

The present disclosure relates to a method for transmitting information from a controller and a method for detecting a fault in an encoder, the controller and the encoder being included in an operating device such as a robot.

BACKGROUND ART

There has been a technique of detecting a fault in an encoder used to detect the rotational position of a motor for driving the output shaft of an operating device such as a robot.

Patent Literature 1 discloses an encoder system that includes a first encoder for detecting the rotation of the input shaft of the motor, and a second encoder for detecting the rotation of the output shaft of the motor. Patent Literature 1 further discloses a technique of determining that either of the two encoders is faulty when the position measurement values detected by these encoders have a difference of not less than a given value.

Patent Literature 2 discloses s servo system including a safety unit for monitoring the proper control of the motor. According to the servo system, the safety unit receives a command value and a feedback value from the servo driver, which controls the motor. If there is a fault in these values, the safety unit generates a stop signal to be sent to the servo driver.

CITATION LIST

Patent Literature

PTL 1: Japanese Patent No. 5675761

PTL 2: Japanese Patent No. 5367623

SUMMARY

Technical Problem

However, many of the drive systems (motors) of general-purpose operating devices include a single encoder. Therefore, the technique of Patent Literature 1 cannot be applied to these general-purpose motors. Moreover, if the system according to Patent Literature 1 is newly produced, the system requires a plurality of sensors, which increases the cost.

Similarly, if the technique of Patent Literature 2 is applied to a general-purpose system not including a fault detection function, the servo driver requires the new function. As a result, it is necessary to develop both the servo driver and the safety unit. This increases man-hours.

FIG. 17is a block diagram of the structure of the robot control unit according to the related art disclosed in Patent Literature 2. In the robot control unit shown inFIG. 17, controller7sends servo driver10a command signal. Servo driver10generates a current value for driving motor4based on the command signal from controller7and the detection signal from encoder5, and then controls motor4based on the current value.

Servo driver10further generates a command value (motor command value), which is used for comparison and concerns the rotational position of motor4based on the command signal from controller7, and then sends the generated command value to safety unit9. Servo driver10further generates a value indicating the rotational position of motor4(motor detection value) based on the following information: the output signal of encoder5; the reduction gear ratios of the shafts of motor4; the point-of-origin information of motor4(hereinafter, simply “point-of origin information”); and other information. Servo driver10then sends the generated value to safety unit9. Safety unit9compares the motor command value with the motor detection value both from servo driver10, and determines the presence or absence of a fault in encoder5based on the comparison result.

Assume that the structure shown inFIG. 17is applied to a general-purpose robot not including a fault detection unit for detecting a fault in encoder5. The servo driver10of such a robot does not usually have the function of generating the motor command value and the motor detection value, or the function of outputting the generated motor command value and motor detection value.

This makes it necessary to provide the general-purpose robot with a newly designed circuit or program having the above-mentioned generation function and output function. The robot further needs a mechanism (e.g., a circuit, a program, a display) indicating whether the newly designed circuit or program is working properly. This takes time and complicates the process.

In the case of welding a workpiece using the above-mentioned robot, heat deformation during the welding may cause displacement of the position to be welded or displacement of the position of the workpiece itself. This results in unsuccessful welding even when the robot is operated as programed in the controller before the start of welding. Such problems are often avoided by using a sensor for detecting the displacement of the position of the workpiece and allowing the servo driver to control the motor on its own based on the information from the sensor.

However, when such control is carried out in the above conventional structure, the controller is not informed of the control information generated by the servo driver on its own to drive the motor. This can cause the safety unit to fail to properly detect a fault in the encoder. A similar problem can be caused when the controller sends the servo driver a speed command for fast response, and the servo driver controls the motor on its own based on the speed command.

To overcome the above problem, an object of the present disclosure is to provide a method for transmitting information from the controller and a method for detecting a fault in the encoder, both of which make the safety unit less likely to cause fault misdetection in the encoder when the servo driver controls the motor on its own.

Solution to Problem

To achieve the object, the method for transmitting information from the controller according to the present disclosure is carried out as follows. When controlling the motor based on other information than the main speed command from the controller and the output signal of the encoder, the servo driver sends the controller either the other information or control information about the motor generated by the servo driver. The controller generates new commanded-position information based on either the other information or the control information thus received and sends the new commanded-position information to the safety unit. This can prevent the safety unit from causing fault misdetection in the encoder. Meanwhile, in the method for detecting a fault in the encoder according to the present disclosure, the encoder is determined to be faulty when there is a difference of not less than a predetermined value between the detected-position information calculated based on the output signal of the encoder and the commanded-position information from the controller.

More specifically, the first method according to the present disclosure is a method for transmitting information from a controller included in an operating device, the operating device being configured to machine a workpiece and further including:a robot arm having an output shaft;a motor connected to the output shaft;an encoder configured to detect a rotational position of the motor;a position sensor configured to output, as a differential signal, the amount of displacement of the position of the workpiece from a predetermined position;a driver configured to receivea speed command from the controller,an output signal from the encoder, andthe differential signal from the position sensor,the driver being further configured to control driving of the motor at least based on the speed command and the output signal; anda fault detection unit configured to detect a fault in the encoder,the controller being configured to outputthe speed command indicating the rotational position of the motor, andcommanded-position information showing the rotational position indicated by the speed command,the method including, when the driver controls the motor based on the speed command, the output signal, and the differential signal:transmitting the differential signal from the driver to the controller; andgenerating, by the controller, new commanded-position information, the new commanded-position information being a sum of the commanded-position information and a correction value, the correction value being converted from the differential signal so as to transmit the new commanded-position information from the controller to the fault detection unit.

According to the first method, the commanded-position information to be sent from the controller to the safety unit contains the correction value that is based on the amount of displacement of the position of the workpiece. This enables the control information of the motor generated by the servo driver on its own to be reflected on the commanded-position information, thereby facilitating the prevention of fault misdetection in the encoder by the fault detection unit.

The second method according to the present disclosure is a method for transmitting information from a controller included in an operating device, the operating device being configured to machine a workpiece and further including:a robot arm having an output shaft;a motor connected to the output shaft;an encoder configured to detect a rotational position of the motor;a position sensor configured to output, as a differential signal, the amount of displacement of the position of the workpiece from a predetermined position;a driver configured to receivea speed command from the controller,an output signal from the encoder, andthe differential signal from the position sensor,the driver being further configured to control driving of the motor at least based on the speed command and the output signal; anda fault detection unit configured to detect a fault in the encoder, the controller being configured to outputthe speed command indicating the rotational position of the motor, andcommanded-position information showing the rotational position indicated by the speed command,the method including, when the driver controls the motor based on the speed command, the output signal, and the differential signal:generating, by the driver, target position information based on the differential signal and the speed command so as to transmit the target position information from the driver to the controller; andtransmitting the target position information as new commanded-position information from the controller to the fault detection unit.

According to the second method, the target position information generated by the servo driver is defined as the commanded-position information. This enables the control information of the motor generated by the servo driver on its own to be reflected on the commanded-position information, thereby facilitating the prevention of fault misdetection in the encoder by the fault detection unit.

The third method according to the present disclosure is a method for transmitting information from a controller included in an operating device, the operating device further including:a robot arm having an output shaft;a motor connected to the output shaft;an encoder configured to detect a rotational position of the motor;a driver configured to receivefirst and second speed commands from the controller, andan output signal from the encoder,the driver being configured to control driving of the motor based on the output signal and at least one of the first and second speed commands; anda fault detection unit configured to detect a fault in the encoder,the controller being configured to outputthe first and second speed commands indicating the rotational position of the motor andcommanded-position information showing the rotational position indicated by the first and second speed commands,the method including, when the driver controls the motor based on the first and second speed commands and the output signal of the encoder:transmitting control information based on the second speed command from the driver to the controller; andgenerating, by the controller, new commanded-position information, the new commanded-position information being a sum of the commanded-position information and a correction value, the correction value being converted from the control information based on the second speed command so as to transmit the new commanded-position information from the controller to the fault detection unit.

According to the third method, the commanded-position information to be sent from the controller to the safety unit contains the correction value into which the control information based on the second speed command has been converted. This enable the control information of the motor generated by the servo driver on its own to be reflected on the commanded-position information, thereby facilitating the prevention of fault misdetection in the encoder by the fault detection unit.

The fourth method according to the present disclosure is a method for transmitting information from a controller included in an operating device, the operating device further including:a robot arm having an output shaft;a motor connected to the output shaft;an encoder configured to detect the rotational position of the motor;a driver configured to receivefirst and second speed commands from the controller, andan output signal from the encoder,the driver being configured to control driving of the motor based on the output signal and at least one of the first and second speed commands; anda fault detection unit configured to detect a fault in the encoder, the controller being configured to outputthe first and second speed commands indicating the rotational position of the motor andcommanded-position information showing the rotational position indicated by the first and second speed commands,the method including, when the driver controls the motor based on the first and second speed commands and the output signal of the encoder:generating, by the driver, target position information based on the first and second speed commands so as to transmit the target position information from the driver to the controller; andgenerating, by the controller, new commanded-position information based on the target position information so as to transmit the new commanded-position information from the controller to the fault detection unit.

According to the fourth method, the controller generates new commanded-position information based on the target position information generated by the servo driver and sends the new commanded-position information to the fault detection unit. This enables the control information of the motor generated by the servo driver on its own to be reflected on the commanded-position information, thereby facilitating the prevention of fault misdetection in the encoder by the fault detection unit.

The method according to the present disclosure is a method for detecting a fault in an encoder, the encoder being configured to detect the rotational position of a motor, the motor being configured to drive the output shaft of an operating device including the encoder and the motor, the operating device further including:a fault detection unit configured to detect the fault in the encoder;a controller configuredto output a speed command indicating the rotational position of the motor, andto transmit commanded-position information to the fault detection unit by using the method for transmitting the information according to one of claims1to4, the commanded-position information showing the rotational position indicated by the speed command; anda driver configuredto receive the speed command from the controller and an output signal from the encoder andto control driving of the motor based on the speed command and the output signal,the method for detecting the fault in the encoder, including:receiving, by the fault detection unit, the commanded-position information from the controller and the output signal from the encoder, respectively;calculating, by the fault detection unit, detected-position information of the motor based on the output signal;comparing, by the fault detection unit, the commanded-position information with the detected-position information; anddetermining, by the fault detection unit, that the encoder is faulty when the difference between the commanded-position information and the detected-position information is not less than a predetermined value.

According to this method, the fault detection unit determines the presence or absence of a fault in the encoder based on the comparison result between the commanded-position information from the controller and the detected-position information calculated based on the output signal of the encoder. This achieves fault detection in the encoder without providing the driver with an additional structure or function for the fault detection in the encoder. In other words, fault detection in the encoder can be performed while minimizing the influence on, for example, the existing structure or circuit of a general operating device (e.g., robot or external shafts).

It is preferable that in the determining step, the fault detection unit should compensate the commanded-position information received from the controller for a time delay caused by a delay in drive control of the motor, and should determine the presence or absence of the fault in the encoder based on the comparison result between the detected-position information and the commanded-position information compensated for the time delay.

Thus, delaying the commanded-position information used for the fault determination of the encoder can eliminate the time lag due to the delay in the motor drive control, thereby improving the accuracy in the fault detection in the encoder.

It is preferable that in the determining step, the fault detection unit should determine the presence or absence of the fault in the encoder based on the comparison result between the detected-position information and a sum of the commanded-position information and an integrated value of the amount of change of the commanded-position information.

Thus, adding the integrated value to the commanded-position information used for the fault determination of the encoder increases the margin in the fault determination. This prevents the fault detection unit from erroneously determining that the encoder is faulty in spite that the encoder is operating properly.

It is preferable that in the determining step, the fault detection unit should determine the presence or absence of the fault in the encoder based on the comparison result between the detected-position information and a value obtained by adding a predetermined threshold to the sum of the integrated value and the commanded-position information.

According to this method, the threshold is added to the sum of the integrated value and the commanded-position information, and the resulting value is compared with the detected-position information. As a result, even if the operating device that is not operating performs an unintended operation while there is no change in the commanded-position information for a certain period of time, the fault detection unit can detect a fault in the encoder.

It is preferable that the operating device should further include a safety circuit configured to emergency-stop the operating device; that the controller should be configured to send the safety circuit an emergency stop signal in case of an emergency; and that in the determining step, when detecting the emergency stop signal sent from the controller, the fault detection unit should not determine that the encoder is faulty even if the difference between the commanded-position information and the detected-position information is not less than the predetermined value.

According to this method, even when there is a difference of not less than the predetermined value between the commanded-position information and the detected-position information after the controller outputs the emergency stop signal, the encoder is not determined to be faulty. For example, when the controller outputs an emergency stop signal and then stops outputting the speed command and the commanded-position information, the encoder that is operating properly can be easily prevented from being determined to be faulty.

Advantageous Effects of the Invention

As described above, according to the method for transmitting information from the controller in the present disclosure, when the servo driver controls the motor based on other information than the main speed command from the controller and the output signal of the encoder, the fault detection unit can be prevented from causing fault misdetection in the encoder. Furthermore, according to the method for detecting a fault in the encoder in the present disclosure, even in the case of using a general-purpose encoder, the presence or absence of a fault in the encoder can be detected with minimum influence on the existing functions and existing devices.

