System and method for controlling multiple movement mechanisms - Patents.com

JP7631922B2Active Publication Date: 2025-02-19OMRON CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021039468
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-03-11
Publication Date
2025-02-19
Estimated Expiration
2041-03-11

AI Technical Summary

Benefits of technology

【0014】 本開示に係るシステムまたは方法によれば、統合制御装置が第1指令に基づいて特定移動機構に対応する第2指令を生成することにより、拡張性を向上させることができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007631922000001
    Figure 0007631922000001
  • Figure 0007631922000002
    Figure 0007631922000002
  • Figure 0007631922000003
    Figure 0007631922000003
Patent Text Reader

Abstract

To increase the expandability of a system and a method for controlling a plurality of moving mechanisms.SOLUTION: An operational terminal 400 outputs a first command Cm1 for a specific moving mechanism 200 to an integrated controller 100. The integrated controller 100 generates a second command Cm2 for the specific moving mechanism 200 on the basis of the first command Cm1 and outputs the second command Cm2 to a specific controller 250. One of the integrated controller 100 and the specific controller 250 generates an operation profile that defines the change in the operation with time of the specific moving mechanism 200 on the basis of the second command Cm2. The specific controller 250 controls the specific moving mechanism 200 on the basis of the operation profile.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to systems and methods for controlling multiple movement mechanisms. [Background technology]

[0002] Conventionally, a control system for controlling a plurality of moving mechanisms is known. For example, JP 2019-79344 A (Patent Document 1) discloses a control system that can simultaneously teach the operations of corresponding control targets to a plurality of moving machines connected via a network using a single teaching device. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2019-79344 A Summary of the Invention [Problem to be solved by the invention]

[0004] In Patent Document 1, when a drive device to be controlled that has a command system different from the command system of the teaching device is added to the control system, the teaching device cannot operate the control device. The expandability of the control system disclosed in Patent Document 1 leaves room for improvement.

[0005] The present disclosure has been made to solve the above-mentioned problems, and has an object to improve the scalability of a system and method for controlling multiple moving mechanisms. [Means for solving the problem]

[0006] A system according to an aspect of the present disclosure includes a plurality of control devices, an integrated control device, and an operation terminal. The plurality of control devices respectively control a plurality of moving mechanisms. The integrated control device outputs a command for each of the plurality of moving mechanisms to a control device that controls the moving mechanism. The operation terminal outputs a first command for a specific moving mechanism, which is one of the plurality of moving mechanisms, to the integrated control device. The integrated control device generates a second command corresponding to the specific moving mechanism based on the first command, and outputs the second command to the specific control device that controls the specific moving mechanism. The integrated control device or the specific control device generates an operation profile that specifies the time change in operation of the specific moving mechanism based on the second command. The specific control device controls the specific moving mechanism based on the operation profile.

[0007] According to this disclosure, an operation command from an operation terminal for any moving mechanism is converted into a command corresponding to the moving mechanism in the integrated control device. As a result, even if a moving mechanism having a command system different from that of the operation terminal is added to the control targets of the system, the moving mechanism can be operated by the operation terminal without changing the command system of the operation terminal. According to the above system, it is possible to improve the scalability of a system that controls multiple moving mechanisms.

[0008] In the above disclosure, a particular control device may generate a motion profile. According to this disclosure, the computational load required to generate an operation profile can be distributed to multiple control devices, thereby improving the processing efficiency of the integrated control device when operating via an operation terminal.

[0009] In the above disclosure, the integrated control device may generate an operating profile. According to this disclosure, an integrated control device having control information regarding a plurality of moving mechanisms generates an operation profile corresponding to an operation command from an operation terminal, so that when the operation command specifies that the plurality of moving mechanisms are to operate in coordination with each other, it is possible to prevent a moving mechanism in operation from interfering with the operation of another moving mechanism. Also, since each of the plurality of control devices does not need to generate an operation profile when operated by an operation terminal, the calculation load of the control device to be operated can be reduced. As a result, the processing efficiency of the control device can be improved.

[0010] In the above disclosure, the plurality of moving mechanisms may include a first type moving mechanism and a second type moving mechanism. The operation terminal may switch a GUI (Graphical User Interface) for setting parameters of the moving mechanism to be operated according to the type of the moving mechanism to be operated.

[0011] According to this disclosure, the GUI changes according to the type of moving mechanism selected by the user, so that the user can know the parameters required to operate the moving mechanism. Since the user does not need to know the parameters specific to the type of moving mechanism in advance, the operability of multiple moving mechanisms via the operation terminal can be improved.

[0012] A method according to another aspect of the present disclosure is a method for controlling a plurality of moving mechanisms, the method including the steps of outputting a first command for a specific moving mechanism that is one of the plurality of moving mechanisms to an integrated control device, generating a second command corresponding to the specific moving mechanism based on the first command, outputting the second command to a specific control device that controls the specific moving mechanism, generating an operation profile that specifies a time change in operation of the specific moving mechanism based on the second command, and controlling the specific moving mechanism based on the operation profile. The integrated control device or the specific control device generates the operation profile.

[0013] According to this disclosure, an operation command from an operation terminal for any moving mechanism is converted into a command corresponding to the moving mechanism in the integrated control device. As a result, even if a moving mechanism having a command system different from the command system of the operation command is added to the controlled object, the moving mechanism can be operated by the above method without changing the command system of the operation command. According to the above method, it is possible to improve the scalability of the method for controlling multiple moving mechanisms. Effect of the Invention

[0014] According to the system or method of the present disclosure, the integrated control device generates a second command corresponding to a specific movement mechanism based on a first command, thereby improving scalability. [Brief description of the drawings]

[0015] [Figure 1] 1 is a block diagram showing a configuration of a control system according to a first embodiment and a flow of control information. [Diagram 2] 2 is a flowchart showing an example of the flow of a command transmission process performed in the teaching pendant of FIG. 1. [Diagram 3] 4 is a flowchart showing an example of the flow of a command conversion process performed in the integrated control device when the logic control unit in FIG. 1 receives an operation command from a teaching pendant. [Figure 4] 2 is a flowchart showing an example of a flow of processes performed in a plurality of control devices when each of the control devices receives a command from the integrated control device of FIG. 1. [Diagram 5] 2 is a block diagram showing an example of a network configuration of the control system of FIG. 1. [Figure 6] 2 is a block diagram showing an example of a hardware configuration of the integrated control device shown in FIG. 1. [Figure 7] 2 is a block diagram showing an example of a hardware configuration of the robot control device in FIG. 1. [Figure 8] 2 is a block diagram showing an example of a hardware configuration of the servo control device shown in FIG. 1. [Figure 9]2 is a block diagram showing an example of a hardware configuration of the teaching pendant in FIG. 1. [Figure 10] 10 is a diagram showing an example of an operation dialog displayed on the touch panel of FIG. 9. [Figure 11] FIG. 11 is a diagram showing the combo box in FIG. 10 after it has been pressed and expanded. [Figure 12] FIG. 12 is a diagram showing an operation dialog when a robot is selected in the combo box of FIG. [Figure 13] FIG. 12 is a diagram showing an operation dialog when a robot is selected in the combo box of FIG. [Figure 14] FIG. 12 is a diagram showing an operation dialog when a servo is selected in the combo box of FIG. [Figure 15] FIG. 11 is a block diagram showing the configuration of a control system according to a second embodiment and the flow of control information. [Figure 16] 16 is a flowchart showing an example of the flow of a command conversion process performed in the integrated control device when the logic control unit in FIG. 15 receives an operation command from the teaching pendant. [Figure 17] 16 is a flowchart showing an example of a flow of processes performed in a plurality of control devices when each of the control devices receives a command from the integrated control device of FIG. 15. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] Hereinafter, the embodiments will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference characters and, in principle, the description thereof will not be repeated.

[0017] [Embodiment 1] <Application Examples> 1 is a block diagram showing the configuration of a control system 1 according to embodiment 1 and the flow of control information. As shown in FIG. 1, the control system 1 includes an integrated control device 100, a robot control device 250, a servo control device 350, and a teaching pendant 400.

[0018] The integrated control device 100 is connected to a robot control device 250, a servo control device 350, and a teaching pendant 400 (operation terminal) via a field network 20. The integrated control device 100 outputs commands to the robot control device 250 and the servo control device 350, respectively, for the moving mechanisms to which the control devices are connected.

[0019] It is preferable that the field network 20 employs a bus or network that performs periodic communication. Known examples of such buses or networks that perform periodic communication include EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), and CompoNet (registered trademark). EtherCAT (registered trademark) is preferable because it guarantees the arrival time of data.

[0020] The robot controller 250 is connected to the robot 200 (movement mechanism). The robot controller 250 controls the robot 200 based on commands from the integrated controller 100.

[0021] A custom robot having one or more axes or joints created according to an application may be used as the robot 200. Furthermore, any general-purpose robot such as a horizontal articulated (SCARA) robot, a vertical articulated robot, a parallel link robot, or an orthogonal robot may be used as the robot 200.

[0022] The servo control device 350 is connected to at least one servo 300 (movement mechanism). The servo control device 350 controls the at least one servo 300 based on a command from the integrated control device 100.

[0023] The teaching pendant 400 receives an input from the user Us. Based on the input, the teaching pendant 400 generates an operation command Cm1 (first command) for a moving mechanism (specific moving mechanism) designated by the user Us among a plurality of moving mechanisms controlled by the control system 1, and outputs the operation command Cm1 to the integrated control device 100. The operation command Cm1 includes an identifier of the teaching pendant 400, a desired operation for the moving mechanism, a target position after the operation, and a network node identifier of a control device that controls the moving mechanism. In FIG. 1, the operation command Cm1 is assumed to be a command for the robot 200.

[0024] The integrated control device 100 includes a logic control unit 110, a command generating unit 120, and a communication unit 130. When the logic control unit 110 receives an operation command Cm1 from the teaching pendant 400, it interprets the operation command Cm1 and outputs a control instruction Isp corresponding to the operation command Cm1 to the command generating unit 120.

[0025] The command generating unit 120 interprets a control program corresponding to the robot 200 based on the control instruction Isp, generates a command Cm2 for the robot 200, and outputs the command Cm2 to the communication unit 130. The command Cm2 includes information indicating that the command Cm2 is based on an operation command from the teaching pendant 400. In FIG. 1, the robot program Prb and the servo program Psv are control programs corresponding to the robot 200 and the servo 300, respectively. Each of the robot program Prb and the servo program Psv may be written using, for example, a control programming language such as the V+ language, or a programming language related to NC (Numerical Control) control such as G-code.

[0026] The communication unit 130 refers to the network configuration information set Sn and transmits the command Cm2 to the control device that controls the mobile mechanism specified in the command Cm2. In Fig. 1, the communication unit 130 transmits the command Cm2 to the control device 250. The network configuration information set Sn includes information on a plurality of mobile mechanisms connected to the field network 20. For example, the network configuration information set Sn includes the type of a certain mobile mechanism, the network node identifier of the control device that controls the mobile mechanism, and information specific to the type.

[0027] In an example of the network configuration information set Sn shown in Fig. 1, a section is provided for each of the teaching pendant 400 and a plurality of moving mechanisms. In the section of the teaching pendant 400, the network configuration information of the teaching pendant 400 is determined such that the type of the teaching pendant 400 is a teaching pendant type, and the network node identifier of the teaching pendant 400 is 1. In the section of the robot 200, the network configuration information of the robot 200 is determined such that the type of the robot 200 is a robot type 1 (first type), the network node identifier of the robot control device 250 is 2, the number of axes is 4, and other axis variables. In the section of the servo 300, the network configuration information of the servo 300 is determined such that the type of the servo 300 is a servo type (second type), the network node identifier of the servo control device 350 is 3, and servo variables.

[0028] The robot control device 250 includes a communication unit 251, a command generation unit 252, and a profile generation unit 253. The communication unit 251 receives a command from the integrated control device 100 and outputs the command to the command generation unit 252.

[0029] The command generating unit 252 refers to the network configuration information Tn2 related to the robot 200, and when the network node identifier specified in the command is 2, instructs the profile generating unit 253 to generate an operation profile (target trajectory) corresponding to the command. The network configuration information Tn2 is included in the section of the robot 200 in the network configuration information set Sn. In the operation profile, a change in the TCP (Tool Center Point) of the robot 200 according to the time lapse from the start of the operation corresponding to the command to the end of the operation is specified. For example, the operation profile of the robot 200 typically includes the position of the tip part (TCP) of the robot 200 at each time (change in position with respect to time), the speed of the tip part of the robot 200 at each time (change in speed with respect to time), and / or the acceleration of the tip part of the robot 200 at each time (change in acceleration with respect to time).

[0030] The profile generating unit 253 generates a motion profile based on the kinematics of the robot 200. The profile generating unit 253 calculates a command value Pc2 (for example, the position of each of a plurality of joints included in the robot 200) based on the motion profile, and outputs the command value Pc2 to the robot 200. Note that an axis of a robot may also constitute a joint, and therefore in the following description, it is also referred to as an "axis or joint" of the robot. That is, in this specification, the term "axis" of a robot is used to mean both an axis and a joint.

[0031] The servo control device 350 controls the servo 300. The servo control device 350 includes a communication unit 351, a command generation unit 352, and a profile generation unit 353. The communication unit 351 receives a command from the integrated control device 100 and outputs the command to the command generation unit 352.

[0032] The command generating unit 352 refers to the network configuration information Tn3 related to the servo 300, and when the network node identifier specified in the command is 3, instructs the profile generating unit 353 to generate an operation profile corresponding to the command. The network configuration information Tn3 is included in the section of the servo 300 in the network configuration information set Sn. In the operation profile, a change in the operation of the servo 300 according to the lapse of time from the start of the operation corresponding to the command to the end of the operation is specified. For example, the operation profile of the servo 300 typically includes the angle of the servo 300 per time (change in the rotation angle with respect to time), the angular velocity of the servo 300 per time (change in the angular velocity with respect to time), and / or the angular acceleration of the servo 300 per time (change in the angular acceleration with respect to time).

[0033] The profile generating unit 353 calculates a command value (for example, a rotation angle of the servo 300) based on the generated motion profile, and outputs the command value to the servo 300.

[0034] The teaching pendant 400 includes a communication unit 451, a command generation unit 452, and an input / output unit 453. The input / output unit 453 displays a GUI (Graphical User Interface) of a system operation application to the user Us. The input / output unit 453 outputs input information of the user Us to the input / output unit 453 to the command generation unit 452. The input / output unit 453 includes, for example, a display, a touch panel, and an operation button. The command generation unit 452 refers to the network configuration information set Sn, generates an operation command Cm1 based on the input information from the input / output unit 453, and outputs the operation command Cm1 to the communication unit 451. The communication unit 451 transmits the operation command Cm1 to the integrated control device 100.

[0035] The teaching pendant 400 may have an IDE (Integrated Development Environment) function for simulating the entire control system 1. The teaching pendant 400 may be capable of checking the state of each of a plurality of moving mechanisms in real time (every network cycle). The teaching pendant 400 may have a function for creating and displaying each of an NC program, a robot program, and a program for input / output / motion control.

[0036] The network configuration information set Sn may be set in each of the integrated control device 100 and the teaching pendant 400, for example, in an initialization process of the control system 1. Information included in the network configuration information referenced by each of the multiple mobile mechanisms may be transmitted to the mobile mechanism together with a command Cm2 based on the network configuration information set Sn.

[0037] In the control system 1, an operation command from the teaching pendant 400 for any moving mechanism is converted into a command corresponding to the moving mechanism in the integrated control device 100. As a result, even if a control device for a moving mechanism having a command system different from that of the teaching pendant 400 is added to the control system 1, the moving mechanism can be operated by the teaching pendant 400 without changing the command system of the teaching pendant 400. According to the control system 1, it is possible to improve the scalability of the system and method for controlling multiple moving mechanisms. Furthermore, according to the control system 1, the calculation load required to generate an operation profile can be distributed to multiple control devices, so that the processing efficiency of the integrated control device 100 during operation by the teaching pendant 400 can be improved.

[0038] Fig. 2 is a flowchart showing an example of the flow of a command transmission process performed in the teaching pendant 400 of Fig. 1. The process shown in Fig. 2 is called by a main routine (not shown) that comprehensively controls the teaching pendant 400. In the following, a step will simply be abbreviated as S.

[0039] 2, the command generating unit 120 generates an operation command Cm1 based on an input from a user Us in S101, and the process proceeds to S102. The command generating unit 120 outputs the operation command Cm1 to the communication unit 451 in S102. The communication unit 451 transmits the operation command Cm1 to the integrated control device 100 in S103.

[0040] Fig. 3 is a flowchart showing an example of the flow of a command conversion process performed in the integrated control device 100 when the logic control unit 110 in Fig. 1 receives an operation command Cm1 from the teaching pendant 400. The process shown in Fig. 3 is called by a main routine (not shown) that controls the integrated control device 100 in an integrated manner.

[0041] 3, the logic control unit 110 interprets the operation command Cm1 in S111, generates a control instruction Isp corresponding to the operation command Cm1, and proceeds to processing in S112. The logic control unit 110 outputs the control instruction Isp to the command generation unit 120 in S112. The command generation unit 120 generates a command Cm2 corresponding to the control instruction Isp in S113, and proceeds to processing in S114. The command generation unit 120 outputs the command Cm2 to the communication unit 130 in S114. The communication unit 130 outputs the command Cm2 to a control device (robot control device 250 in FIG. 1) that controls a moving mechanism (robot 200 in FIG. 1) corresponding to the command Cm2 in S115, and returns the processing to the main routine.

[0042] Fig. 4 is a flowchart showing an example of a flow of processing performed in each of the control devices 250 and 350 when a command from the integrated control device 100 in Fig. 1 is received by the control devices. The processing shown in Fig. 4 is called by a main routine (not shown) that controls the control devices in an integrated manner.

[0043] 4, in S211, the command generating unit 252 (352) instructs the profile generating unit 253 (353) to create an operation profile. In S212, the profile generating unit 253 (353) generates an operation profile corresponding to the command from the integrated control device 100, and proceeds to S213. In S213, the profile generating unit 253 (353) calculates a command value based on the operation profile of S212, and proceeds to S214. In S214, the profile generating unit 253 (353) outputs the command value of S213 to the moving mechanism, and returns the process to the main routine.

[0044] <Control system network configuration example> Fig. 5 is a block diagram showing an example of a network configuration of the control system 1 in Fig. 1. As shown in Fig. 5, the control system 1 is connected to a higher level network 12 and a support device 800 in addition to a field network 20.

[0045] The integrated control device 100 is also connected to other devices via a higher-level network 12. The higher-level network 12 is connected to the Internet, which is an external network, via a gateway 700. The higher-level network 12 may employ Ethernet (registered trademark) or EtherNet / IP (registered trademark), which are general network protocols. More specifically, at least one display device 500 and at least one server device 600 may be connected to the higher-level network 12.

[0046] The display device 500 receives operations from a user, outputs commands to the integrated control device 100 in response to the user operations, and also graphically displays the results of calculations performed by the integrated control device 100, etc.

[0047] The server device 600 may be a database system or a manufacturing execution system (MES). The manufacturing execution system acquires information from the manufacturing device or facility to be controlled, monitors and manages the entire production, and may handle order information, quality information, shipping information, and the like. In addition, a device that provides an information system service may be connected to the upper network 12. The information system service may be a process that acquires information from the manufacturing device or facility to be controlled and performs macro or micro analysis. For example, the information system service may be data mining that extracts some characteristic tendency contained in the information from the manufacturing device or facility to be controlled, or a machine learning tool that performs machine learning based on the information from the facility or machine to be controlled.

[0048] The integrated control device 100 is configured to be connectable to a support device 800. The support device 800 is a device that supports the preparations required for the integrated control device 100 to control the moving mechanism. Specifically, the support device 800 provides a development environment (program creation and editing tools, a parser, a compiler, etc.) for the program executed by the integrated control device 100, a setting environment for setting configuration information (configuration) for the integrated control device 100 and various devices connected to the integrated control device 100, a function for outputting the generated program to the integrated control device 100, and a function for correcting and changing the program executed on the integrated control device 100 online.

[0049] In the control system 1, the integrated control device 100, the support device 800, and the display device 500 are configured as separate entities, but a configuration in which all or part of these functions are integrated into a single device may be adopted.

[0050] The integrated control device 100 may be used not only at one production site but also at other production sites, and may also be used at a plurality of different lines at one production site.

[0051] <Example of hardware configuration for integrated control device> Fig. 6 is a block diagram showing an example of a hardware configuration of the integrated control device 100 of Fig. 1. As shown in Fig. 6, the integrated control device 100 includes a processor 102, a main memory 104, a storage 160, a memory card interface 112, a host network controller 106, a field network controller 108, a local bus controller 116, and a USB controller 170 that provides a USB (Universal Serial Bus) interface. These components are connected via a processor bus 118.

[0052] The processor 102 corresponds to a calculation processing unit that executes control calculations, and is composed of a CPU (Central Processing Unit) and / or a GPU (Graphics Processing Unit), etc. Specifically, the processor 102 reads out a program stored in the storage 160, expands it in the main memory 104, and executes it to realize control calculations for the moving mechanism.

[0053] The main memory 104 is configured with a volatile storage device such as a dynamic random access memory (DRAM) and / or a static random access memory (SRAM). The storage 160 is configured with a non-volatile storage device such as a solid state drive (SSD) and / or a hard disk drive (HDD).

[0054] The storage 160 stores a system program Psc, a mobile mechanism program Pm, and a network configuration information set Sn. The system program Psc includes a program (e.g., a user program) for controlling the integrated control device 100 in an integrated manner and realizing each function of the integrated control device 100. That is, the processor 102 that executes the system program Psc corresponds to the logic control unit 110, the command generating unit 120, and the communication unit 130 in Fig. 1. The mobile mechanism program Pm includes the robot program Prb and the servo program Psv in Fig. 1.

[0055] The memory card interface 112 accepts a memory card 114, which is an example of a removable storage medium. The memory card interface 112 is capable of reading and writing any data from and to the memory card 114.

[0056] The host network controller 106 exchanges data with any information processing device connected to the host network 12 (eg, a local area network) via the host network 12.

[0057] The field network controller 108 exchanges data with any devices such as the robot 200, the servo 300, the teaching pendant 400, etc. via the field network 20.

[0058] The local bus controller 116 transmits and receives data to and from any of the functional units 180 constituting the integrated control device 100 via the local bus 122. The functional units 180 include, for example, an analog I / O unit responsible for input and / or output of analog signals, a digital I / O unit responsible for input and / or output of digital signals, and a counter unit that receives pulses from an encoder or the like.

[0059] The USB controller 170 exchanges data with any information processing device via a USB connection. To the USB controller 170, for example, a support device 800 is connected.

[0060] <Example of control device hardware configuration> Fig. 7 is a block diagram showing an example of a hardware configuration of the robot control device 250 in Fig. 1. As shown in Fig. 7, the robot control device 250 includes a field network controller 270 and a control processing circuit 260.

[0061] The field network controller 270 mainly exchanges data with the integrated control device 100 via the field network 20 .

[0062] The control processing circuit 260 executes calculation processing necessary to drive the robot 200. As an example, the control processing circuit 260 includes a processor 262, a main memory 264, a storage 266, and an interface circuit 268.

[0063] The processor 262 executes control calculations for driving the robot 200. The main memory 264 is composed of, for example, a volatile storage device such as a DRAM and / or an SRAM. The storage 266 is composed of, for example, a non-volatile storage device such as an SSD and / or an HDD. The processor 262 realizes control calculations for the robot 200 by reading out a program stored in the storage 266, expanding it in the main memory 264, and executing it.

[0064] The storage 266 stores a robot control program Pcr and network configuration information Tn2. The robot control program Pcr includes a program for comprehensively controlling the robot control device 250 and realizing each function of the robot control device 250. That is, the processor 262 that executes the robot control program Pcr corresponds to the communication unit 251, the command generation unit 252, and the profile generation unit 253 in FIG.

[0065] The interface circuit 268 outputs the command value output from the processor 262 to the robot 200 .

[0066] Fig. 8 is a block diagram showing an example of a hardware configuration of the servo control device 350 of Fig. 1. As shown in Fig. 8, the servo control device 350 includes a field network controller 370 and a control processing circuit 360.

[0067] The field network controller 370 mainly exchanges data with the integrated control device 100 via the field network 20 .

[0068] The control processing circuit 360 executes calculations necessary to drive the servo 300. As an example, the control processing circuit 360 includes a processor 362, a main memory 364, a storage 366, and an interface circuit 368.

[0069] The processor 362 executes control calculations for driving the servo 300. The main memory 364 is composed of a volatile storage device such as a DRAM and / or an SRAM. The storage 366 is composed of a non-volatile storage device such as an SSD and / or an HDD. The processor 362 realizes control calculations for the servo 300 by reading out a program stored in the storage 366, expanding it in the main memory 364, and executing it.

[0070] The storage 366 stores a servo control program Pcs and network configuration information Tn3. The servo control program Pcs includes a program for comprehensively controlling the servo control device 350 and realizing each function of the servo control device 350. That is, the processor 362 that executes the servo control program Pcs corresponds to the communication unit 351, the command generation unit 352, and the profile generation unit 353 in FIG.

[0071] The interface circuit 368 outputs the command value output from the processor 362 to the servo 300 .

[0072] <Teach pendant hardware configuration example> Fig. 9 is a block diagram showing an example of a hardware configuration of the teaching pendant 400 of Fig. 1. As shown in Fig. 9, the teaching pendant 400 includes a field network controller 470, a control processing circuit 460, a group of operation keys 481, and a touch panel 482.

[0073] The field network controller 470 mainly exchanges data with the integrated control device 100 via the field network 20 .

[0074] The control processing circuit 460 includes a processor 462 , a main memory 464 , storage 466 , and an interface circuit 468 .

[0075] The processor 462 executes control calculations for driving the robot 200. The main memory 464 is composed of, for example, a volatile storage device such as a DRAM and / or an SRAM. The storage 466 is composed of, for example, a non-volatile storage device such as an SSD and / or an HDD. The processor 462 realizes various functions of the teaching pendant 400 by reading out programs stored in the storage 466, expanding them in the main memory 464, and executing them.

[0076] The storage 466 stores a firmware program Pfm, a system operation program Pop, and a network configuration information set Sn. The firmware program Pfm includes a program for controlling the teaching pendant 400 in an integrated manner to realize each function of the teaching pendant 400. The system operation program Pop is executed by the processor 462 to display a GUI on the touch panel 482 for the user to input information regarding the operation of each moving mechanism. The system operation program Pop generates an operation command for the moving mechanism designated by the user based on the information input to the GUI, and transmits the operation command to the integrated control device 100. That is, the processor 462 that executes the system operation program Pop corresponds to the communication unit 451 and the command generation unit 452 in FIG. 1.

[0077] The interface circuit 468 exchanges signals between an operation key group 481 and a touch panel 482. The operation key group 481 is an input device that accepts user operations. The operation key group 480 may include an indicator that indicates an input state, a keyboard, and the like. The touch panel 482 functions as a display that displays the GUI of the system operation program Pop, and also receives a user's touch operation on the GUI.

[0078] Fig. 10 is a diagram showing an example of the operation dialog Dg displayed on the touch panel 482 of Fig. 9. As shown in Fig. 10, the operation dialog Dg includes a combo box Cb for selecting the moving mechanism to be operated.

[0079] Fig. 11 is a diagram showing a state in which the combo box Cb in Fig. 10 is pressed and expanded. As shown in Fig. 11, ROBOT_SCARA, ROBOT_ARTICULAR, and SERVO are shown in the combo box Cb as operation targets that the user can select. Note that the type of ROBOT_SCARA is ROBOT 1 type, and the type of ROBOT_ARTICULAR is ROBOT 2 type.

[0080] Fig. 12 is a diagram showing the operation dialog Dg when ROBOT_SCARA is selected in the combo box Cb in Fig. 11. As shown in Fig. 12, for ROBOT_SCARA, operations can be set for the four joints J1, J2, J3, and J4. Robot type 1 is a type of robot that has four joints.

[0081] Fig. 13 is a diagram showing the operation dialog Dg when ROBOT_ARTICULAR is selected in the combo box Cb in Fig. 11. As shown in Fig. 12, for ROBOT_ARTICULAR, operations can be set for six joints J1, J2, J3, J4, J5, and J6. Robot type 2 is a type of robot that has six joints.

[0082] Fig. 14 is a diagram showing the operation dialog Dg when servo is selected in the combo box Cb in Fig. 11. As shown in Fig. 14, for the servo, operations related to the servo driver can be set.

[0083] The GUI of the operation dialogue changes according to the type of moving mechanism selected by the user, so that the user can know the parameters required to operate the moving mechanism. Since the user does not need to know the parameters specific to the type of moving mechanism in advance, the operability of multiple moving mechanisms using the teaching pendant 400 can be improved.

[0084] As described above, according to the system and method according to the first embodiment, it is possible to improve scalability.

[0085] [Embodiment 2] In the first embodiment, a configuration was described in which, when an operation is performed on a certain moving mechanism by an operation terminal, a control device that controls the moving mechanism generates an operation profile. In the second embodiment, a configuration was described in which, when an operation is performed on a certain moving mechanism by an operation terminal, an integrated control device generates an operation profile. According to the system and method of the second embodiment, since an integrated control device having control information on a plurality of moving mechanisms generates an operation profile corresponding to an operation command from an operation terminal, when the operation command specifies that the plurality of moving mechanisms operate in cooperation with each other, it is possible to prevent a certain moving mechanism in operation from interfering with the operation of another moving mechanism. Also, according to the system and method of the second embodiment, since each of the plurality of control devices does not need to generate an operation profile when operating the plurality of moving mechanisms by an operation terminal, it is possible to reduce the calculation load of the control device to be operated. As a result, it is possible to improve the processing efficiency of the control device.

[0086] Fig. 15 is a block diagram showing the configuration of a control system 2 according to embodiment 2 and the flow of control information. In the configuration of control system 2, command generation units 120, 252, 352 and communication unit 130 in Fig. 1 are replaced with command generation units 120B, 252B, 352B and communication unit 130B, respectively, and a profile generation unit 140 is added. Other than this, the configuration of control system 2 is similar to that of control system 1, and therefore description of the similar configuration will not be repeated.

[0087] As shown in FIG. 15, the command generating unit 120B outputs a command Cm2 to the communication unit 130 in the same manner as in the first embodiment, and instructs the profile generating unit 140 to generate an operation profile corresponding to the command Cm2.

[0088] The profile generator 140 generates a motion profile corresponding to the command Cm2 based on the kinematics of the moving mechanism (robot 200 in FIG. 15) specified in the command Cm2. The profile generator 140 calculates a command value Pc2 for the moving mechanism based on the motion profile, and outputs the command value Pc2 to the communication unit 130B.

[0089] The communication unit 130B transmits the command Cm2 and the command value Pc2 to the movement mechanism specified in the command Cm2.

[0090] The command generation unit 252B refers to the network configuration information Tn2 regarding the robot 200, and if the network node identifier specified in the command is 2 and the command is based on an operation command from the teaching pendant 400, it outputs the command value received along with the command to the robot 200.

[0091] The command generation unit 352B refers to the network configuration information Tn3 regarding the servo 300, and if the network node identifier specified in the command is 3 and the command is based on an operation command from the teaching pendant 400, it outputs the command value received along with the command to the servo 300.

[0092] Fig. 16 is a flowchart showing an example of the flow of command conversion processing performed in the integrated control device 100 when the logic control unit 110 in Fig. 15 receives an operation command Cm1 from the teaching pendant 400. The flowchart shown in Fig. 16 is a flowchart in which S124 and S130 are added between S113 and S114 in Fig. 3, and S125 to S129 are added between S124 and "return".

[0093] 16, similarly to the first embodiment, the logic control unit 110 executes S111 and S112, and the command generating unit 120B executes S113. In S124, the command generating unit 120B determines whether or not an operation profile is created in the integrated control device 100. Whether or not an operation profile is created in the integrated control device 100 is determined, for example, depending on whether or not the operation corresponding to the command is a cooperative operation in which multiple moving mechanisms need to cooperate with each other. The cooperative operation includes, for example, a synchronous stop in which multiple moving mechanisms stop in synchronization with each other.

[0094] If an operation profile is not created in the integrated control device 100 (NO in S124), the command generation unit 120B adds a profile creation instruction to the command in S130, and the process proceeds to S114. In S114, the command generation unit 120B outputs the command of S130 to the communication unit 130. In S115, the communication unit 130 outputs the command to the control device that controls the moving mechanism specified in the command, and returns the process to the main routine.

[0095] When an operation profile is created in the integrated control device 100 (YES in S124), the command generation unit 120B outputs the command to the communication unit 130 and the profile generation unit 140 in S125. The profile generation unit 140 generates an operation profile corresponding to the command in S126, and proceeds to S127. The profile generation unit 140 calculates a command value based on the operation profile in S127, and proceeds to S128. The profile generation unit 140 outputs the command value to the communication unit 130 in S128. The communication unit 130 outputs the command and the command value to a control device that controls a moving mechanism specified in the command in S129, and returns the process to the main routine.

[0096] Fig. 17 is a flowchart showing an example of a flow of processing performed in each of the control devices 250 and 350 when a command from the integrated control device 100 in Fig. 15 is received by the control devices 250 and 350. The flowchart shown in Fig. 17 is a flowchart in which S221 and S222 are added to the processing shown in Fig. 4.

[0097] 17, the command generating unit 252B (352B) determines in S221 whether or not the command from the integrated control device 100 includes a profile creation instruction. If the command does not include a profile creation instruction (NO in S221), the command generating unit 120B outputs the command value from the integrated control device 100 to the moving mechanism to be operated in S222, and returns the process to the main routine. If the command includes a profile creation instruction (YES in S221), the command generating unit 252B (352B) and the profile generating unit 253 (353) execute S211 to S214 in the same manner as in the first embodiment, and return the process to the main routine.

[0098] As described above, according to the system and method according to the second embodiment, it is possible to improve scalability.

[0099] <Additional Notes> The present embodiment as described above includes the following technical idea.

[0100] [Configuration 1] A plurality of control devices (250, 350) for controlling the plurality of moving mechanisms (200, 300), respectively; an integrated control device (100) that outputs commands for each of the plurality of moving mechanisms (200, 300) to a control device that controls the moving mechanisms; an operation terminal (400) that outputs a first command (Cm1) for a specific movement mechanism (200) that is one of the plurality of movement mechanisms (200, 300) to the integrated control device (100); the integrated control device (100) generates a second command (Cm2) corresponding to the specific movement mechanism (200) based on the first command (Cm1), and outputs the second command (Cm2) to a specific control device (250) that controls the specific movement mechanism (200); the integrated control device (100) or the specific control device (250) generates an operation profile that specifies the time change of the operation of the specific moving mechanism (200) based on the second command (Cm2); The specific control device (250) controls the specific movement mechanism (200) based on the motion profile.

[0101] [Configuration 2] 2. The system (1) of configuration 1, wherein the specific control device (250) generates the motion profile.

[0102] [Configuration 3] The system (2) according to configuration 1, wherein the integrated control device (100) generates the operation profile.

[0103] [Configuration 4] The plurality of moving mechanisms (200, 300) include a first type moving mechanism (200) and a second type moving mechanism (300), The system (1, 2) according to any one of configurations 1 to 3, wherein the operation terminal (400) switches a GUI (Graphical User Interface) for setting parameters of the moving mechanism to be operated depending on the type of the moving mechanism to be operated.

[0104] [Configuration 5] A method for controlling a plurality of moving mechanisms (200, 300), comprising the steps of: a step (S103) of outputting a first command (Cm1) for a specific moving mechanism (200) that is one of the plurality of moving mechanisms (200, 300) to an integrated control device (100); generating a second command (Cm2) corresponding to the specific moving mechanism (200) based on the first command (Cm1) (S113); a step (S115) of outputting the second command (Cm2) to a specific control device (250) that controls the specific movement mechanism (200); generating (S212) an operation profile that specifies a time change in the operation of the specific moving mechanism (200) based on the second command (Cm2); and controlling (S214) the specific moving mechanism (200) based on the motion profile; The integrated controller (100) or the specific controller (250) generates the motion profile.

[0105] The embodiments disclosed herein are intended to be combined appropriately within the scope of the present invention. The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the scope and meaning equivalent to the claims. [Explanation of symbols]

[0106] 1,2 Control system, 12 Upper network, 20 Field network, 100 Integrated control device, 102, 262, 362, 462 Processor, 104, 264, 364, 464 Main memory, 106 Upper network controller, 108, 270, 370, 470 Field network controller, 110 Logic control unit, 112 Memory card interface, 114 Memory card, 116 Local bus controller, 118 Processor bus, 120, 120B, 252, 252B, 352, 352B, 452 Command generation unit, 122 Local bus, 130, 130B, 251, 351, 451 Communication unit, 140, 253, 353 Profile generation unit, 160, 266, 366, 466 Storage, 170 USB controller, 180 Functional unit, 200 Robot, 250 robot control device, 260, 360, 460 control processing circuit, 268, 368, 468 interface circuit, 300 servo, 350 servo control device, 400 teaching pendant, 453 input / output section, 480, 481 operation key group, 482 touch panel, 500 display device, 600 server device, 700 gateway, 800 support device, Cb combo box, Cm1 operation command, Dg operation dialog, Isp control instruction, Pc2 command value, Pcr robot control program, Pcs servo control program, Pm moving mechanism program, Pop system operation program, Prb robot program, Psc system program, Psv servo program, Sn network configuration information set, Tn2, Tn3 network configuration information, Us user.

Claims

1. A plurality of control devices each controlling a plurality of moving mechanisms; an integrated control device that outputs a command for each of the plurality of moving mechanisms to a control device that controls the moving mechanisms; an operation terminal configured to output a first command for a specific moving mechanism that is any one of the plurality of moving mechanisms to the integrated control device; each of the plurality of moving mechanisms is an operation target of the operation terminal; the integrated control device generates a second command corresponding to the specific moving mechanism based on the first command, and outputs the second command to a specific control device that controls the specific moving mechanism; the integrated control device or the specific control device generates an operation profile that defines a time change in the operation of the specific moving mechanism based on the second command; The specific control device controls the specific movement mechanism based on the motion profile.

2. The system of claim 1 , wherein the specific controller generates the motion profile.

3. The system of claim 1 , wherein the integrated controller generates the motion profile.

4. A plurality of control devices each controlling a plurality of moving mechanisms; an integrated control device that outputs a command for each of the plurality of moving mechanisms to a control device that controls the moving mechanisms; an operation terminal configured to output a first command for a specific moving mechanism that is any one of the plurality of moving mechanisms to the integrated control device; the integrated control device generates a second command corresponding to the specific moving mechanism based on the first command, and outputs the second command to a specific control device that controls the specific moving mechanism; the integrated control device or the specific control device generates an operation profile that defines a time change in the operation of the specific moving mechanism based on the second command; The specific control device controls the specific movement mechanism based on the operation profile. the plurality of moving mechanisms include a first type moving mechanism and a second type moving mechanism; The operation terminal switches a GUI (Graphical User Interface) for setting parameters of the moving mechanism to be operated depending on the type of the moving mechanism to be operated.

5. 1. A method executed by at least one processor for controlling a plurality of movement mechanisms, comprising: an operation terminal outputting a first command for a specific movement mechanism, which is any one of the plurality of movement mechanisms, to an integrated control device; generating a second command corresponding to the specific moving mechanism based on the first command; outputting the second command to a specific control device that controls the specific movement mechanism; generating a motion profile that defines a time change in motion of the specific moving mechanism based on the second command; controlling the specific movement mechanism based on the motion profile; each of the plurality of moving mechanisms is an operation target of the operation terminal; The integrated controller or the specific controller generates the motion profile.

6. A method, executed by at least one processor, for controlling a plurality of movement mechanisms, comprising: an operation terminal outputting a first command for a specific movement mechanism, which is any one of the plurality of movement mechanisms, to an integrated control device; generating a second command corresponding to the specific moving mechanism based on the first command; outputting the second command to a specific control device that controls the specific movement mechanism; generating a motion profile that defines a time change in motion of the specific moving mechanism based on the second command; controlling the specific movement mechanism based on the motion profile; The integrated control device or the specific control device generates the operation profile; the plurality of moving mechanisms include a first type moving mechanism and a second type moving mechanism; The operation terminal switches a GUI (Graphical User Interface) for setting parameters of the moving mechanism to be operated, depending on a type of the moving mechanism to be operated.

Citation Information

Patent Citations

  • Positioning controller

    JP2000339036A

  • Cooperative operation control system

    JP2015039761A

  • Motor controller, robot device, motor control method, program, and recording medium

    JP2016032326A

  • Control system

    JP2019079344A