Control system and control device

A control system (1) according to the present invention comprises: a control device (100) that monitors the operation of a plurality of moving parts for machining a workpiece (155), and controls the operation of the plurality of moving parts in each control cycle by issuing command values to the plurality of moving parts; and an inspection device (200) for inspecting the workpiece (155). The control device (100) comprises: an identification unit (160) for identifying, based on inspection results of the inspection device (200) and the command values issued to the plurality of moving parts, which moving part from among the plurality of moving parts has caused an abnormality in the inspection results; and a storage unit (170) for collecting and storing data on the moving part that has been identified by the identification unit (160) and caused the abnormality in the inspection results.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a 371 application of the International PCT application serial no. PCT/JP2019/029848, filed on Jul. 30, 2019, which claims the priority benefit of Japan Patent Application No. 2018-147368, filed on Aug. 6, 2018. The entirety of each of the above-mentioned patent applications is hereby incorporated by reference herein and made a part of this specification.

TECHNICAL FIELD

The present invention relates to a control system that monitors operations of a plurality of moving parts for performing predetermined processing on an object and a control device that controls the operations of the plurality of moving parts for performing the predetermined processing on the object in each control cycle by issuing command values and monitors the operations.

BACKGROUND ART

Recently in a variety of production sites, there has been a need for improving facility working rates through predictive maintenance on machines and devices such as robots. Predictive maintenance is a form of protection of performing repair work including maintenance, replacement, and the like by detecting a sign of any abnormality occurring in a machine or a device before a facility needs to be stopped.

In a case in which such predictive maintenance is to be realized relying on the experience and knowledge of managers of production sites, the degrees of the predictive maintenance realized according to the capabilities of the managers vary.

In addition, as mechanisms to realize predictive maintenance without relying on the experience and knowledge of managers, techniques of detecting a sign of an abnormality in a machine or a device by collecting data on the machine or the device have been proposed.

For example, Japanese Patent Laid-Open No. Hei 07-043352 (Patent Literature 1) discloses a method in which values of a plurality of diagnosis parameters of a group of diagnosis targets having properties divided into normal and abnormal properties are measured, the measured values are statistically processed, valid parameters and predicted diagnosis parameters are extracted from the processing results, determination levels are made based on the measured values of the extracted valid diagnosis parameters, and further a combination of the valid parameters and the determination levels are sequentially updated until a target correct answer rate is obtained.

CITATION LIST

Patent Literature

SUMMARY OF INVENTION

In the technique disclosed in Japanese Patent Laid-Open No. Hei 07-043352 described above, although a correct answer rate at which normality and abnormality are determined can be raised by statistically processing the measured values of the group of diagnosis targets, a large amount of resources are required to perform the statistical processing.

An objective of the present invention is to provide a technique to realize predictive maintenance with comparatively little resources.

According to an example of the present disclosure, a control system that monitors an operation of a plurality of moving parts for performing predetermined processing on an object is provided. The control system includes a control device that controls an operation of the plurality of moving parts in each control cycle by issuing command values to the plurality of moving parts and an inspection device that inspects the object, and the control device includes an identification unit that identifies, among the plurality of moving parts, a moving part that has caused an abnormality in inspection results of the inspection device based on the inspection results and the command values issued to the plurality of moving parts, and a storage unit that collects and stores data on the moving part that has been identified by the identification unit and caused the abnormality in the inspection results.

According to this disclosure, because data on all of the plurality of moving parts is not collected and only data on a moving part that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the plurality of moving parts is collected.

In the above-described disclosure, the identification unit identifies a moving part that has caused an abnormality in the inspection results in addition to an operation period of the moving part, and the storage unit collects and stores data on the moving part that has caused an abnormality in the inspection results in the operation period identified by the identification unit.

According to this disclosure, because data on all operation periods of the plurality of moving parts is not collected and only data on an operation period of the moving part that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on operation periods of all of the plurality of moving parts is collected.

In the above-described disclosure, the plurality of moving parts includes a moving shaft included in any of a plurality of robots, the identification unit identifies a robot that has caused the abnormality in the inspection results among the plurality of robots, and the storage unit collects and stores data on the moving shaft included in the robot that has been identified by the identification unit and caused the abnormality in the inspection results.

According to this disclosure, because data on all of the plurality of robots is not collected and only data on a robot that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore. the predictive maintenance can be more efficiently realized compared to a case in which data on all of the plurality of robots is collected.

In the above-described disclosure, the storage unit collects and stores data on a moving shaft whose torque value is abnormal among the moving shafts included in the robot that has caused the abnormality in the inspection results.

According to this disclosure, because data on all of the plurality of moving shafts included in the robot that has caused the abnormality is not collected and only data on a moving shaft that has an abnormal torque value is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the moving shafts included in the robot that has caused the abnormality is collected.

In the above-described disclosure, the plurality of moving parts includes an end effector included in any of the plurality of robots, the identification unit identifies a robot that has caused the abnormality in the inspection results among the plurality of robots. and the storage unit collects and stores data on the end effector included in the robot that has been identified by the identification unit and caused the abnormality in the inspection results.

According to this disclosure, because data on the end effectors of all of a plurality of robots is not collected and only data on an end effector of the robot that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on the end effectors of all of the plurality of robots is collected.

In the above-described disclosure, the plurality of moving parts includes a peripheral device of the robot that performs predetermined processing on the object, the identification unit identifies the peripheral device that has caused an abnormality in the inspection results, and the storage unit collects and stores data on the peripheral device that has been identified by the identification unit and caused the abnormality in the inspection results.

According to this disclosure, because data on all of the robots and the peripheral device is not collected and only data on a peripheral device that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the robots and the peripheral device is collected.

According to another example of the present disclosure, a control device that controls an operation of a plurality of moving parts for performing predetermined processing on an object in each control cycle by issuing command values to the plurality of moving parts and monitors the operation is provided. The control device includes an identification unit that identifies, among the plurality of moving parts, a moving part that has caused an abnormality in inspection results of an inspection device that inspects the object based on the inspection results and the command values issued to the plurality of moving parts, and a storage unit that collects and stores data on the moving part that has been identified by the identification unit and caused the abnormality in the inspection results.

According to this disclosure, because data on all of the plurality of moving parts is not collected and only data on a moving part that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the plurality of moving parts is collected.

The present invention can realize predictive maintenance with comparatively little resources.

DESCRIPTION OF EMBODIMENTS

Embodiments for implementing the present invention will be described in detail below with reference to the drawings. In addition, the same reference numerals will be given to the same or equivalent parts in the drawing, and description thereof will not be repeated.

First, an example of a situation in which the present invention is applied will be described with reference toFIGS.1and2.FIG.1is a schematic diagram for describing an application example of a control system1according to the present embodiment.FIG.2is a schematic diagram for describing a specific example of processing details of the control system1according to the present embodiment.

The control system1according to the present embodiment is applied to production sites of industrial products to monitor operations of a plurality of moving parts for performing predetermined processing on objects. In the present embodiment, a workpiece155is exemplified as an object as illustrated inFIG.1. As the plurality of moving parts, a plurality of moving shafts of each of a robot550a(which will be referred to as a robot a) and a robot550b(which will be referred to as a robot b) and end effectors provided at the tips of arms of the robots a and b are exemplified. In addition, a plurality of moving parts is not limited to moving shafts and end effectors of robots, and may include any part that operates based on a command value from a control device. such as a peripheral device (e.g., an XY stage) of robots. The plurality of moving shafts and end effectors will be described below withFIG.3. Further, an example of the peripheral device (e.g., an XY stage) will be described below withFIG.10.

As the predetermined processing performed on an object, at least a part of processing or an operation performed when a product is manufactured may be exemplified. For example, processing performed by a robot to machine a workpiece155may be exemplified as the predetermined processing inFIG.1. Further, the predetermined processing is not limited to machining, and may be assembly of a finished product or parts. An example of assembly will be described below withFIG.11.

The control system1includes a control device100that controls operations of the plurality of moving parts of each of the robot a and the robot b in each control cycle by issuing command values to the plurality of moving parts and an inspection device200that inspects the workpiece155. In the present embodiment, a programmable controller (PLC) is exemplified as the control device100. As the inspection device200, an image sensor that images the workpiece155using a camera150to inspect the workpiece155using a camera image acquired from the imaging is exemplified. Further, the inspection device200is not limited to an image sensor, and may be a device that allows inspection of the workpiece155based on any detection data, such as an optical sensor that allows inspection of the workpiece155by detecting light, a temperature sensor that inspects the workpiece155by detecting a temperature, a current sensor that inspects the workpiece155by detecting a current or a resistance value, or the like.

The workpiece155before cutting is transported by a conveyor800and then cut by the robot a and the robot b based on control of the control device100as illustrated inFIG.1. A cross-shaped convex part is formed by cutting the workpiece155. Then, the cut workpiece155is transported by the conveyor800again and the cut portion is imaged by the camera150. A camera image acquired from imaging of the camera150is imported by the inspection device200.

The inspection device200compares the acquired camera image with a model image registered in advance through pattern matching, or the like to inspect the external appearance of the cut portion (e.g., the cross-shaped convex part) of the workpiece155. Then, the inspection device200extracts the score in a workpiece coordinate system as the result of the external appearance inspection and transmits the data to the control device100.

The extraction of the score will be described with reference toFIG.2. The surface of the cut workpiece155is shown in the camera image as illustrated in (a) ofFIG.2. On the other hand, a target surface of a workpiece to be obtained from cutting is shown in a model image registered in advance as illustrated in (b) ofFIG.2. In this example, the shape of a part A of the cut portion (the cross-shaped convex part) shown in the camera image is distinctly different from the shape of a part B of the cut portion (the cross-shaped convex part) shown in the model image.

The inspection device200compares the camera image with the model image through image processing such as pattern matching, or the like to calculate a degree of matching of the cut portions between the two images. Accordingly, a score is calculated as an index indicating a degree of matching at each set of coordinates in a camera coordinate system. Further, the camera coordinate system is a coordinate system uniquely defined in the camera image. In addition, the inspection device200converts the score at each set of coordinates in the camera coordinate system into a score at each set of coordinates in the workpiece coordinate system and thereby extracts the score in the workpiece coordinate system as illustrated in (c) ofFIG.2. Further, the workpiece coordinate system is a coordinate system uniquely defined in the workpiece155.

In the workpiece coordinate system, the horizontal axis is defined as an X axis. and the vertical axis is defined as a Y axis. On the X axis. X1. X2. X3 . . . . . and Xn are determined from the left to the right of the workpiece coordinate system at equal intervals. On the Y axis, Y1, Y2, Y3 . . . . , and Yn are determined from the top to the bottom of the workpiece coordinate system at equal intervals. The score calculated based on the comparison of the camera image with the model image is extracted at each set of coordinates in the workpiece coordinate system. In this example, as the score becomes lower, the degree of matching between the camera image and the model image becomes higher, and on the other hand, as the score becomes higher, the degree of matching between the camera image and the model image becomes lower.

For example, the score at coordinates (X1. Y1) is 0. the score at coordinates (X1. Y2) is 0, the score at coordinates (Xn, Y1) is 0, and the score at coordinates (Xn, Yn) is 0. and the camera image completely matches the model image at these coordinates. In addition, the score at coordinates (Xa, Ya) is 1, and the camera image almost matches the model image at the coordinates.

Meanwhile, the score at coordinates (Xb, Yb) is 4, the score at coordinates (Xc, Yc) is 8, and the score at coordinates (Xd, Yd) is 6, and the degrees of match of the camera image and the model image at these coordinates are low. The reason for this is that the shape of the part A of the cut portion shown in the camera image is distinctly different from the shape of the part B of the cut portion shown in the model image as described above. The inspection device200calculates a score exceeding a threshold value among the scores at those coordinates as an abnormal value. For example, if the threshold value of scores is set to 3, each of the score4at coordinates (Xb, Yb), the score8at coordinates (Xc, Yc), and the score6at coordinates (Xd, Yd) are abnormal values.

Returning toFIG.1. the scores in the workpiece coordinate system extracted as described above are transmitted from the inspection device200to the control device100. The control device100includes an identification unit160that identifies a moving part that has caused an abnormality in inspection results among the plurality of moving parts based on the inspection results of the inspection device200and the command values issued to the plurality of moving parts. The above-described scores in the workpiece coordinate system are exemplified as the inspection results. In addition, as the command values issued to the plurality of moving parts, simulation values defining movement paths of the moving parts of each of the robots a and b may be exemplified. The simulation values are registered by the manager of the production site, or the like in advance.

The identification unit160of the control device100compares each score in the workpiece coordinate system acquired from the inspection device200with the simulation values to identify a moving part that was performing machining at a position on the workpiece155corresponding to the sets of coordinates at which the score has an abnormal value.

Furthermore, the control device100includes a storage unit170that collects and stores data on a moving part that has been identified by the identification unit160and caused an abnormality in the inspection results.

The storage of the data will be described again with reference toFIG.2. The control device100identifies a moving part that has caused an abnormality in the inspection results by comparing the scores in the workpiece coordinate system illustrated in (c) ofFIG.2and the simulation values illustrated in (d) ofFIG.2. For example, the control device100may identify a moving part of the robot a among the plurality of robots a and b as being abnormal and further identify the operation period of this moving part of the robot a.

For example, the control device100identifies the period from t2to t3as operation periods of a moving part1to a moving part6of the robot a that have caused the abnormality as illustrated in (e) ofFIG.2. Then, the control device100acquires data on the operations of the moving part1to the moving part6of the robot a in the period from t2to t3in each control cycle after the operation periods are identified and stores the data in a memory or the like.

The data collected as described above is used to realize predictive maintenance. For example, when there is a sign of an abnormality in the machined workpiece product, the manager of the production site, or the like can identify a moving part that has caused an abnormality based on the collected data, without relying on his or her own experience and knowledge as far as possible. In addition, the manager or the like can perform predictive maintenance including maintenance, replacement, and the like before the facilities need to be stopped by studying the cause of the sign of the abnormality based on the collected data.

In addition, because data on all of the plurality of moving parts is not collected and only data on a moving part that has caused an abnormality is collected, the amount of resources required for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the plurality of moving parts is collected.

<B. Overall Configuration Example of Control System>

Next, an overall configuration example of the control system1including the control device100according to the present embodiment will be described.FIG.3is a schematic diagram for describing an overall configuration example of the control system1according to the present embodiment.

The control device100corresponds to an industrial controller that controls control targets such as various facilities and devices. The control device100is a type of computer that executes control arithmetic operations and is typically embodied as a programmable controller (PLC). The control device100is connected to field devices500via a field network2. The control device100exchanges data with one or a plurality of field devices500via the field network2.

The control computational operations executed by the control device100includes processing of collecting data (input data) collected or generated by the field devices500(input processing), processing of generating data (output data) such as a command value or the like to be issued to the field device500(arithmetic operation processing), processing of transmitting the generated output data to the target field device500(output processing), and the like.

The field network2preferably employs a bus or a network for performing fixed cycle communication. As such a bus or a network for performing fixed cycle communication, EtherCAT (registered trademark). EtherNet/IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), and the like are known. EtherCAT (registered trademark) is preferred in that the arrival time of data is guaranteed.

Any field device500can be connected to the field network2. Each field device500includes an actuator that applies a certain physical effect to the robots. conveyors, and the like placed on the field side, an input/output device that exchanges information with the field side, and the like.

Although data is exchanged between the control device100and the field device500via the field network2, the exchanged data is updated using a very short cycle time in an order of several hundreds of usec to several tens of msec.

In the configuration example illustrated inFIG.3, the control device100controls a robot550. The robot550corresponds to the robot a or the robot b illustrated inFIG.1described above.

The robot550is a processing device that performs cutting in the present embodiment as described above. Specifically, the robot550includes an arm constituted by a first arm551, a second arm552, a third arm553, and a fourth arm554, an end effector555provided at the tip of the arm, and a drill556attached to the end effector555.

The first arm551is connected to a base557via a moving shaft550_1and moves around the axis of rotation of the moving shaft550_1with respect to the base557. The second arm552is connected to the first arm551via a moving shaft550_2and moves around the axis of rotation of the moving shaft550_2with respect to the first arm551. The third arm553is connected to the second arm552via a moving shaft550_3and moves around the axis of rotation of the moving shaft550_3with respect to the second arm552. The fourth arm554is connected to the third arm553via a moving shaft550_4and moves around the axis of rotation of the moving shaft550_4with respect to the third arm553. The end effector555is connected to the fourth arm554via a moving shaft550_5and moves around the axis of rotation of the moving shaft550_5with respect to the fourth arm554. The drill556is connected to the end effector555via a moving shaft550_6and moves around the axis of rotation of the moving shaft550_6with respect to the end effector555.

The robot550is driven according to command values from the control device100. In the configuration example illustrated inFIG.3, each field device500includes a plurality of servo drivers520_1to520_6and a plurality of servo motors522_1to522_6connected to the plurality of servo drivers520_1to520_6, respectively.

The servo drivers520_1to520_6drive a corresponding servo motor among the servo motors522_1to522_6according to command values (e.g., a position command value, a speed command value, and the like) from the control device100. When the servo motor522_1is driven, the moving shaft550_1rotates. When the servo motor522_2is driven, the moving shaft550_2rotates. When the servo motor522_3is driven. the moving shaft550_3rotates. When the servo motor522_4is driven, the moving shaft550_4rotates. When the servo motor522_5is driven, the moving shaft550_5rotates. When the servo motor522_6is driven, the moving shaft550_6rotates.

When each of the moving shafts550_1to550_5of the robot550configured as described above rotates, the arm constituted by the arms551to554operates within a predetermined operation range, and accordingly, the end effector555provided at the tip of the arm moves to a machining position of the workpiece155. Then, when the moving shaft550_6rotates, the drill556attached to the tip of the end effector555rotates to cut the workpiece155.

The above-described moving shafts550_1to550_6and end effector555are an example of the “moving part.”

Further, the robot550is not limited to a device that performs cutting, and may be any machining device that performs lathe machining, milling machining, electrical discharge machining, or the like. In addition, the robot550may be an assembling device that assembles parts to the transported workpiece155.

The control device100is connected to the inspection device200via the field network2.

The inspection device200is connected to the camera150that images continuously transported workpieces155. The camera150includes an optical system including a lens, a diaphragm, and the like, a light receiving sensor such as a charge coupled device (CCD) image sensor, a complementary metal oxide semiconductor (CMOS) image sensor, or the like, as main constituent components. The inspection device200is an image sensor that images the workpiece155with the camera150while illuminating the workpiece under control of the control device100in a production line for industrial products, or the like, and inspects the external appearance of the workpiece155using the obtained image.

The control device100is also connected to another device via an upper network6. For the upper network6, Ethernet (registered trademark) that is a general network protocol or EtherNet/IP (registered trademark) may be employed. More specifically, the upper network6may be connected to one or a plurality of server devices300and one or a plurality of display devices400.

The server device300is assumed as a database system, a manufacturing execution system (MES), or the like. The manufacturing execution system is a system that acquires information from a manufacturing device or facility to be controlled and monitors and manages the entire production, and can handle order information, quality information, and shipping information, and the like. The configuration is not limited thereto, and a device that provides an information-based service may be connected to the upper network6. The information-based service is assumed as processing of acquiring information from the manufacturing device or facility to be controlled and performing macro or micro analysis thereon, or the like. For example, a machine learning tool for performing data mining for extracting a certain trend in characteristics included in information from a manufacturing device or facility to be controlled or machine learning based on information from a facility or machine to be controlled, or the like may be assumed.

The display device400receives an operation from a user and outputs a command or the like according to the user operation to the control device100, and graphically displays the arithmetic operation result of the control device100.

A support device600can be connected to the control device100. The support device600is a device that supports preparation required for the control device100to control a control target. Specifically, the support device600provides a development environment of a control program30executed by the control device100(a program creation/editing tool, a parser, a compiler, or the like), a configuration environment for setting configuration information (configuration) of the control device100and various devices connected to the control device100, a function of outputting the generated control program30to the control device100, a function of modifying and changing the control program30or the like executed by the control device100online, and the like. In the present embodiment, the manager, or the like can register a simulation value defining a movement path of a moving part of the robot550using the support device600.

Although the control device100, the support device600, and the display device400are configured as separate parts in the control system1illustrated inFIG.3, a configuration in which all or some of the functions are combined in a single device may be employed.

<C. Hardware Configuration Example of Control Device100>

Next, a hardware configuration example of the control device100according to the present embodiment will be described.FIG.4is a block diagram for describing a hardware configuration example of the control device100according to the present embodiment.

As illustrated inFIG.4, the control device100is an arithmetic operation processing part that is called a CPU unit, and includes a processor102, a chipset104, a main memory106, a storage108, an upper network controller110, an inspection device interface112, a support device interface117, a memory card interface114, an internal bus controller120, and a field network controller130.

The processor102is constituted by a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), or the like. As the processor102, a configuration with a plurality of cores may be employed, or a plurality of processors102may be disposed. The chipset104realizes overall processing of the control device100by controlling the processor102and peripheral elements.

The main memory106is constituted by a volatile storage device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The main memory106is typically designated as a data storage destination of the storage unit170illustrated inFIG.1.

The storage108is constituted by a non-volatile storage device, for example, a hard disk drive (HDD), a solid state drive (SSD), or the like. The processor102reads various programs stored in the storage108, loads and executes the programs in the main memory106, and thereby realizes control and various types of processing in accordance with control targets. The storage108stores the control program30created according to a manufacturing device or facility to be controlled in addition to a system program34for realizing basic functions.

The upper network controller110controls exchange of data with the server device300, the display device400, and the like via the upper network6. The inspection device interface112controls exchange of data with the inspection device200. The support device interface117controls exchange of data with the support device600. Further, the support device600may be able to communicate with the control device100via a USB connection or through EtherNet communication.

The memory card interface114is configured to have a memory card116be detachable therefrom, and can write data into the memory card116and read various types of data (user program, trace data, and the like) from the memory card116.

The internal bus controller120controls exchange of data with an I/O unit122mounted on the control device100. The field network controller130controls exchange of data with the field devices via the field network2.

Although a configuration example in which necessary functions are provided by the processor102executing programs is introduced inFIG.4, some or all of the provided functions may be implemented using a dedicated hardware circuit (e.g., an ASIC, an FPGA, or the like). Alternatively, main units of the control device100may be realized using hardware following a generic architecture (e.g., an industrial PC based on a generic PC). In this case, a plurality of operating systems (OSs) for different uses may be executed in parallel, and at the same time, a necessary application may be executed on each OS using a virtualization technology.

<C. Hardware configuration example of inspection device200>

Next, a hardware configuration example of the inspection device200according to the present embodiment will be described.FIG.5is a block diagram for describing a hardware configuration example of the inspection device200according to the present embodiment.

As illustrated inFIG.5, the inspection device200includes a processor210, a memory212, a system controller216, an input/output (I/O) controller218, a hard disk220, a camera interface222, a control device interface226, and a memory card interface230. These units are connected so as to communicate data with each other having the system controller216at the center.

The processor210is constituted by a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), or the like. The processor210realizes desired arithmetic operation processing by exchanging programs (codes) with the system controller216and executing them in a predetermined order.

The system controller216is connected to the processor210, the memory212. and the I/O controller218via buses, respectively, to perform data exchange with each of the units, and the like and control processing of the entire inspection device200.

The memory212is constituted by a volatile storage device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM). The memory212retains programs read from the hard disk220, data of camera image acquired by the camera150, or the like. In addition, the memory212retains data of the model image used in the inspection of the external appearance, or the like.

The I/O controller218controls exchange of data with a recording medium connected to the control device100or an external apparatus. More specifically, the I/O controller218is connected to the hard disk220, the camera interface222, the control device interface226, and the memory card interface230.

The hard disk220is a typical non-volatile magnetic storage device, and stores various set values, and the like in addition to a control program such as an algorithm executed by the processor210. In the present embodiment, as control programs installed in the hard disk220, a program executed when the camera150is controlled to acquire a captured image of the workpiece155and a program executed when the external appearance of the workpiece155is inspected using the acquired captured image are exemplified. These control programs are distributed in a state in which the control programs are stored in the memory card236, or the like. Further, instead of the hard disk220, a semiconductor storage device such as a flash memory or an optical storage device such as a digital versatile disk random access memory (DVD-RAM) may be employed.

The camera interface222acquires camera images by imaging the workpiece155and mediates data transmission between the processor210and the camera150. The camera interface222includes an image buffer222afor temporarily accumulating data of the camera images from the camera150.

The control device interface226mediates data transmission between the processor210and the control device100.

The memory card interface230mediates data transmission between the processor210and the memory card236that is a recording medium. A program to be executed by the inspection device200, or the like is distributed in a state in which the program is stored in the memory card236, and the memory card interface230reads the program from the memory card236. The memory card236includes a generic semiconductor storage device such as Secure Digital (SD), a magnetic recording medium such as a flexible disk, an optical recording medium such as a compact disk read only memory (CD-ROM), or the like. Alternatively, a program downloaded from a distribution server may be installed in the inspection device200. Alternatively, some or all of functions provided through execution of a program may be implemented as a dedicated hardware circuit.

<E. Simulation Processing of Control Device100>

FIG.6is a flowchart showing simulation processing executed by the control device100according to the present embodiment. The control device100stores a simulation value defining a movement path of a moving part of the robot550by executing simulation processing based on an operation of the manager, or the like.

As shown inFIG.6. the control device100starts simulation based on an operation of the manager, or the like (S2). The control device100first sets a movement start position of a moving part when simulation starts (S4). The movement start position of the moving part is designated by the manager, or the like. Then, the control device100sets the set movement start position of the moving part as a calculation start position (S6).

Next, the control device100sets a target position (S8). The target position of the moving part is designated by the manager, or the like. The control device100sets a movement method of the moving part and a parameter (S10). The movement method of the moving part and the parameter are designated by the manager, or the like. The control device100calculates a movement path between the calculation start position set in S6and the target position set in S8based on the movement method and the parameter set in S10(S12).

The control device100determines whether the movement path has been confirmed with an operation of the manager, or the like (S14). The control device100executes the processing from S8again if the movement path has not been confirmed (NO in S14). The control device100converts the confirmed movement path into coordinate values in the workpiece coordinate system (S16) if the movement path has been confirmed (YES in S14). Then, the control device100stores the movement path that has been converted into the coordinate values in the workpiece coordinate system as simulation values (S18).

The control device100sets an allowable range of the simulation values (S20). That is, the control device100adds a margin to the simulation values, considering that there can be a deviation in the movement path due to a change in the speed of the robot550or fine adjustment of a teaching point for the robot550to make the range covered by the robot550. The allowable range of the simulation values is designated by the manager, or the like. Then, the control device100ends the simulation (S22), and ends the present processing.

<F. Score Calculation Processing of Inspection Device200>

FIG.7is a flowchart showing score calculation processing executed by the inspection device200according to the present embodiment. The inspection device200calculates a score in the workpiece coordinate system as a result of the external appearance inspection by executing score calculation processing each time the workpiece155is imaged.

As shown inFIG.7, the inspection device200acquires a camera image by imaging the cut portion of the workpiece155with the camera150(S32). The inspection device200compares the acquired camera image with the pre-registered model image (S34).

The inspection device200calculates the score in the workpiece coordinate system based on the comparison of the camera image with the model image (S36). The inspection device200outputs the calculated score in the workpiece coordinate system to the control device100(S38). Then, the inspection device200ends the present processing.

<G. Cause Location Identification Processing of Control Device100>

FIG.8is a flowchart showing cause location identification processing executed by the control device100according to the present embodiment. The control device100identifies a moving part that has caused an abnormality in the result of the external appearance inspection by executing cause location identification processing.

As shown inFIG.8, the control device100acquires a score in the workpiece coordinate system output from the inspection device200(S52). The control device100compares the acquired score in the workpiece coordinate system with a simulation value (S54).

The control device100identifies the robot that has machined the workpiece155at the location corresponding to the coordinates at which the score matches the abnormal value and the operation period of the robot (S56). For example, the control device100identifies the robot550that has caused the abnormality among the plurality of robots550. Furthermore, the control device100identifies the operation period of the robot550that has caused the abnormality. Then, the control device100ends the present processing.

<H. Data Storage Processing of Control Device100>

FIG.9is a flowchart showing data storage processing executed by the control device100according to the present embodiment. The control device100determines target data to be stored by executing data storage processing.

The control device100retrieves data on the robot550that has caused the abnormality as shown inFIG.9(S72). The control device100compares a current value of the end effector555included in the robot550that has caused the abnormality with a pre-registered ideal value (S74).

The control device100determines whether the current value of the end effector555is abnormal based on the comparison of the current value of the end effector555with the ideal value (S76). If the current value of the end effector555is abnormal (YES in S76), the control device100registers the current value of the end effector555as target data to be stored from the next time (S78). Then, in each control cycle thereafter. the current value of the end effector555in the operation period identified in S56ofFIG.8described above is stored in the main memory106, or the like.

On the other hand, if the current value of the end effector555is not abnormal (NO in S76), the control device100selects one moving shaft among all of the moving shafts550_1to550_6included in the robot550that has caused the abnormality (S80). The control device100compares the torque value of the selected one moving shaft with a pre-registered ideal value (S82).

The control device100determines whether torque values of all of the moving shafts550_1to550_6have been compared with ideal values (S84). If the torque values of all of the moving shafts550_1to550_6have not been compared with the ideal values yet (NO in S84), the control device100executes the processing from S80again.

On the other hand, if the torque values of all of the moving shafts550_1to550_6have been compared with the ideal values (YES in S84), the control device100determines whether the torque value of any moving shaft is abnormal based on the comparison results (S86). If the torque value of any moving shaft is abnormal (YES in S86), the control device100registers the torque value of the moving shaft with the abnormality as target data to be stored from the next time (S88). Thus, in each control cycle thereafter, the torque value of the moving shaft in the operation period identified in S56ofFIG.8described above is stored in the main memory106, or the like.

On the other hand, if the torque value of any moving shaft is not abnormal (NO in S86), the control device100determines whether another configuration included in the robot550that has caused the abnormality is abnormal (S90). As the other configuration, each of the arms551to554, the drill556, each of the servo motors522_1to522_6, and the like are exemplified. For example, the control device100determines whether abrasion of a brake of each of the servo motors522_1to522_6is abnormal.

If the other configuration is abnormal (YES in S92), the control device100registers the data related to the other configuration with the abnormality as target data to be stored from the next time (S94). Thus, in each control cycle thereafter, the data related to the other configuration in the operation period identified in S56ofFIG.8described above is stored in the main memory106, or the like.

If the other configuration is not abnormal (NO in S92), the control device100ends the present processing after S78, S88, or S94.

As described above, in the control system1according to the present embodiment, the control device100identifies the robot550that has caused the abnormality based on the result of the external appearance inspection performed by the inspection device200, and identifies the moving part that has caused the abnormality among the moving parts (e.g., the moving shafts550_1to550_6and the end effector555) included in the identified robot550. In addition, the control device100collects, in each control cycle from the next time, only data on the moving part that has caused the abnormality of the robot550that has caused the abnormality, instead of collecting data on all of the moving parts of all of the plurality of robots550. Thus, resources for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data on all of the plurality of moving parts is collected.

In the control system1according to the present embodiment, the control device100identifies the operation period of the robot550that has caused the abnormality based on the result of the external appearance inspection performed by the inspection device200. In addition, the control device100collects, in each control cycle from the next time, data only in the operation period of the robot550that has caused the abnormality, instead of collecting data in all of the operation periods of the robot550that has caused the abnormality. Thus, resources for realizing predictive maintenance can be reduced. Furthermore, the predictive maintenance can be more efficiently realized compared to a case in which data in all of the operation periods of the plurality of moving parts is collected.

As described above, since the control device100identifies the robot550that has caused the abnormality and the moving part thereof and collects only data on the identified moving part based on the result of the external appearance inspection performed by the inspection device200, predictive maintenance can be realized without relying on the experience and knowledge of the manager of the production site, or the like, as far as possible, and moreover, resources for the predictive maintenance can be comparatively reduced.

J. Modification Example

Although the inspection device200converts a score in the camera coordinate system into a score in the workpiece coordinate system and then outputs the score in the workpiece coordinate system to the control device100, the inspection device200may output a score in the camera coordinate system to the control device100and the control device100may convert the score in the camera coordinate system into a score in the workpiece coordinate system in the present embodiment.

Although a score at the coordinates in the workpiece coordinate system is output to the control device100, only a score in the workpiece coordinate system that has been determined as exceeding a threshold value and as an abnormality may be output to the control device100in the present embodiment.

Although the control device100may collect, in each control cycle from the next time, data on all of the moving parts included in the robot550that has caused an abnormality, resources for realizing predictive maintenance can of course be more reduced when collecting only data on the moving part that has caused an abnormality in each control cycle from the next time among the moving parts included in the robot550that has caused the abnormality, without collecting data on all of the moving parts of all of the plurality of robots550as in the present embodiment.

Although the robot550operates on the path according to the pre-registered simulation values in the present embodiment, the robot550may operate according to dynamically changing command values issued to the robot550in each control cycle based on a pre-set parameter. In this case, as a target to compare with a score in the workpiece coordinate system, the control device100may use operation data on the robot550calculated based on the path on which the robot550has operated, instead of a pre-registered simulation value.

The control device100may limit an operation speed or stop an operation of the robot550that has caused an identified abnormality and a moving part of the robot550based on the cause of the abnormality. For example, when a torque value of the moving shaft550_1among the moving shafts550_1to550_6is abnormal, the operation speed of the moving shaft550_1may be limited or the operation thereof may be stopped based on the torque value. Alternatively, when a current value of the end effector555is abnormal, the operation speed of the end effector555may be limited or the operation thereof may be stopped based on the current value.

Although the camera150is a separate body from the robot550in the present embodiment, the camera150may be attached at the hand of the robot550, for example, the end effector555, or the like.

The control device100is set to determine whether the end effector555is abnormal in preference to the moving shafts or other configurations as target data to be stored and sets only the end effector555as target data to be stored if the end effector is abnormal in the data storage processing illustrated inFIG.9in the present embodiment. The reason for this is that the end effector555is more likely to cause an abnormality than the moving shafts or other configurations. However, the embodiment is not limited thereto, and the control device100may determine whether a moving shaft or another configuration is abnormal in preference to the end effector555, and if the moving shaft or the other configuration is abnormal, only the moving shaft or the other configuration may be set as target data to be stored. Alternatively, the control device100may determine whether any of the end effector555, the moving shafts, and the other configurations is abnormal, and if any one is abnormal, data on the portion determined as being abnormal may be set as target data to be stored.

FIG.10is a schematic diagram for describing an application example of a control system1000according to a first modification example. The control system1000includes peripheral devices that support processing of robots a and b as moving parts in addition to the robots a and b as illustrated inFIG.10. As a peripheral device. for example, an XY stage810for changing a position of a workpiece155as the stage moves in an X direction and a Y direction is exemplified in the example illustrated inFIG.10. The workpiece155that has been transported by a conveyor800ais machined by the robots a and b while the XY stage810changes the position of the workpiece, and then the workpiece is transported to the camera150side by a conveyor800b.

The control system1000includes, in addition to the robots a and b, a control device1100that controls the moving parts of the robots by issuing a command value to the XY stage810, and an inspection device1200that inspects the workpiece155. The inspection device1200inspects the XY stage810and the external appearance of the workpiece155processed by the robots a and b. The control device1100identifies a moving part that has caused an abnormality in the inspection results based on the inspection results of the inspection device1200and the command values issued to the XY stage810and the robots a and b.

When a machining time slot in which an abnormality has occurred is ascertained based on a score in the workpiece coordinate system extracted by the inspection device1200and a simulation value, for example, if the XY stage810is not operating in the time slot, the control device1100can predict that the robot a or b has caused the abnormality. and if the XY stage810is operating in the time slot, the control device can predict that the cause of the abnormality is likely to be present in the XY stage810as well as the robots a and b. In addition, when a spot at which it is likely that the abnormality has caused is identified, the control device1100may collect and store data on the XY stage810or the robots a and b that have caused the abnormality to be able to be useful for predictive maintenance.

As described above, the control device1100may identify a peripheral device such as the XY stage810as the cause of the abnormality and collect data on the peripheral device. Further, the peripheral device is not limited to the XY stage810and may be a device that supports processing of the robots a and b.

FIG.11is a schematic diagram for describing an application example of a control system2000according to a second modification example. Although an example in which the robots a and b machine the workpiece155has been described in the above-described example, the present disclosure can be applied to an example in which the robots a and b assemble a finished product or parts.

In the control system2000, for example, the robot a takes a part155aand places the part on a conveyor800. Then, the robot b takes a part155band attaches the part to the part155a. In this manner, an assembly1550is assembled by attaching the part155bto the part155aby the robots a and b. The assembly1550is transported to the camera150side by the conveyor800.

The control system2000includes a control device2100that controls a plurality of moving parts by issuing command values to the robots a and b and an inspection device2200that inspects the assembly1550. The inspection device2200inspects the external appearance of the assembly1550processed by the robots a and b. The inspection device2200inspects, for example, an attachment state of the part155bor whether there is a scratch or dirt. The control device2100identifies a moving part that has caused an abnormality in the inspection results based on the inspection results of the inspection device2200and the command values issued to the robots a and b.

As described above, the assembly1550may be inspected by the inspection device2200and a moving part of the robot a or b that has assembled the assembly1550having an abnormality may be identified based on the inspection results.

The above-described embodiments include the following disclosure.

A control system (1) that monitors an operation of a plurality of moving parts (550_1to550_6and555) for machining an object (155), the control system includes a control device (100) that controls an operation of the plurality of moving parts in each control cycle by issuing command values to the plurality of moving parts, and an inspection device (200) that inspects the object, in which the control device includes an identification unit (160) that identifies, among the plurality of moving parts, a moving part that has caused an abnormality in inspection results of the inspection device based on the inspection results and the command values issued to the plurality of moving parts, and a storage unit (170) that collects and stores data on the moving part that has been identified by the identification unit and caused the abnormality in the inspection results.

The control system described in configuration 1, in which the identification unit identifies a moving part that has caused the abnormality in the inspection results in addition to an operation period of the moving part, and the storage unit collects and stores data on the moving part that has caused the abnormality in the inspection results in the operation period identified by the identification unit.

The control system described in configuration 1 or 2, in which the plurality of moving parts are moving shafts (550_1to550_6) included in any of a plurality of robots (550), the identification unit identifies a robot that has caused the abnormality in the inspection results among the plurality of robots, and the storage unit collects and stores data on the moving shaft included in the robot that has been identified by the identification unit and caused the abnormality in the inspection results.

The control system described in configuration 3, in which the storage unit collects and stores data on a moving shaft whose torque value is abnormal among the moving shafts included in the robot that has caused the abnormality in the inspection results.

The control system described in any of configurations 1 to 4, in which the plurality of moving parts includes an end effector (555) included in any of the plurality of robots, the identification unit identifies a robot that has caused the abnormality in the inspection results among the plurality of robots, and the storage unit collects and stores data on the end effector included in the robot that has been identified by the identification unit and caused the abnormality in the inspection results.

The control system described in any of configurations 1 to 5, in which the plurality of moving parts includes a peripheral device (810) of the robot that performs predetermined processing on the object, the identification unit identifies the peripheral device that has caused the abnormality in the inspection results, and the storage unit collects and stores data on the peripheral device that has been identified by the identification unit and caused the abnormality in the inspection results.

A control device (100) that controls an operation of a plurality of moving parts (550_1to550_6and555) for machining an object (155) in each control cycle by issuing command values to the plurality of moving parts and monitors the operation, in which the control device includes an identification unit (160) that identifies, among the plurality of moving parts, a moving part that has caused an abnormality in inspection results of an inspection device (200) that inspects the object based on the inspection results and the command values issued to the plurality of moving parts, and a storage unit (170) that collects and stores data on the moving part that has been identified by the identification unit and caused the abnormality in the inspection results.

Each of the embodiments disclosed this time should be considered as exemplary in all respects and not restrictive. The scope of the present invention is defined by the claims rather than the above description, and it is intended that all modifications within the meaning and scope equivalent to the claims are included. In addition, the inventions described in the embodiment and modification examples are intended to be implemented, either alone or in combination, wherever possible.