Robot control device

The robot control device addresses Ethernet congestion by transitioning to polling processing when packet loss exceeds a threshold, preventing interruptions and maintaining system stability.

JP7862553B2Active Publication Date: 2026-05-19FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2022-06-15
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing robot control devices face processing interruptions due to high packet volumes during Ethernet communication congestion, affecting other Ethernet ports and disrupting overall system operations.

Method used

The robot control device incorporates a detection unit to monitor packet loss and transition from interrupt to polling processing when congestion exceeds a threshold, ensuring uninterrupted processing on other Ethernet ports.

Benefits of technology

This approach prevents interference with other Ethernet ports during congestion, maintaining continuous communication with teaching control panels and network devices, ensuring operational stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862553000001
    Figure 0007862553000001
  • Figure 0007862553000002
    Figure 0007862553000002
  • Figure 0007862553000003
    Figure 0007862553000003
Patent Text Reader

Abstract

The objective of the present invention is to enable processing of another Ethernet port to be executed without interference resulting from interrupt processing of an Ethernet port in which Ethernet communication congestion has occurred. This robot control device can be connected to at least one appliance via Ethernet, and comprises a control unit and a plurality of Ethernet ports, the control unit comprising: a detecting unit for detecting a packet loss state in at least one Ethernet port among the plurality of Ethernet ports; and a transitioning unit which, if interrupt processing is performed with respect to a packet from the at least one Ethernet port among the plurality of Ethernet ports, and the packet loss exceeds a predetermined threshold, transitions the interrupt processing to polling processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot control device.

Background Art

[0002] There is known a technique in which when an instruction operation panel is operated, operation information is sent to a robot control device and the operation information is processed by the robot control device. For example, see Patent Document 1. Ethernet (registered trademark) communication is used between the instruction operation panel and the robot control device, and data is transmitted and received in small portions in the form of packets. If Ethernet communication between the instruction operation panel and the robot control device is possible, the instruction operation panel can be operated. For example, when the instruction screen displayed on the instruction operation panel changes (transitions), instruction screen information is sequentially sent from the robot control device to the instruction operation panel.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] By the way, a robot control device includes a plurality of Ethernet ports for Ethernet communication with devices such as an instruction operation panel. The robot control device performs processing related to the plurality of Ethernet ports using one processor (for example, a CPU). For this reason, the processor has a function called interrupt processing, and by interrupt processing, the processing that has been performed so far is stopped and processing with a higher priority is performed. When Ethernet communication is congested, there is a problem that the processor receives a large number of packets and performs interrupt processing many times, making it impossible to perform other processing.

[0005] Therefore, it is desirable that interrupt handling on an Ethernet port experiencing Ethernet communication congestion can be performed without interfering with the processing of other Ethernet ports. [Means for solving the problem]

[0006] One embodiment of the robot control device of the present disclosure is a robot control device that can be connected to at least one device by Ethernet, comprising a control unit and a plurality of Ethernet ports, wherein the control unit comprises a detection unit for detecting the status of packet loss in at least one of the plurality of Ethernet ports, and a transition unit for transitioning the interrupt processing to polling processing when interrupt processing is performed for a packet from at least one of the plurality of Ethernet ports and the packet loss exceeds a preset threshold. [Effects of the Invention]

[0007] According to one embodiment, interrupt processing on an Ethernet port experiencing Ethernet communication congestion can be performed without interfering with processing on other Ethernet ports. [Brief explanation of the drawing]

[0008] [Figure 1] This is a diagram showing the functional block configuration of a robot control system according to one embodiment. [Figure 2] This is a diagram showing the functional block configuration of the teaching control panel. [Figure 3] This is a flowchart explaining the transition process for robot control devices. [Modes for carrying out the invention]

[0009] A robot control device according to one embodiment will be described in detail below with reference to the figures. <One Embodiment> Figure 1 is a diagram showing the functional block configuration of a robot control system according to one embodiment. As shown in Figure 1, the robot control system SYS comprises a robot control device 1, a teaching control panel 2, and network devices 3-1 to 3-2. The robot control device 1, the teaching control panel 2, and the network devices 3-1 to 3-2 are interconnected via a network (not shown), such as a LAN (Local Area Network) or the Internet, and communicate via Ethernet. In this case, the robot control device 1, the teaching control panel 2, and the network devices 3-1 to 3-2 are equipped with a communication unit (not shown) for communicating with each other via Ethernet through such connection.

[0010] <Teaching Control Panel 2> The teaching control panel 2 may be connected to the robot control device 1, allowing the user to operate a robot (not shown) and create a robot program. Figure 2 shows the functional block configuration of the teaching control panel 2. As shown in Figure 2, the teaching control panel 2 has a control unit 210 and a storage unit 220. The control unit 210 also has a packet transmission / reception unit 211.

[0011] The storage unit 220 is, for example, an SSD (Solid State Drive) or an HDD (Hard Disk Drive), and stores the OS and various software.

[0012] The Ethernet port 230 is connected to the robot control device 1 (described later) by a LAN cable, and transmits and receives Ethernet communication signals between the control unit 210 and the robot control device 1.

[0013] The control unit 210 includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to communicate with each other via a bus, and are known to those skilled in the art. The CPU is the processor that controls the teaching control panel 2 as a whole. The CPU reads the system program and application programs stored in ROM via the bus and controls the entire teaching control panel 2 according to the system program and application programs. As a result, as shown in Figure 2, the control unit 210 is configured to realize the functions of the packet transmission / reception unit 211. Various data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its memory state even when the power to the teaching control panel 2 is turned off.

[0014] The packet transmission / reception unit 211 generates a packet containing data including operation information based on the Ethernet communication standard in order to perform Ethernet communication with the robot control device 1, which will be described later. It then transmits the generated packet to the robot control device 1, causing the robot control device 1 to execute an interrupt process. The packet transmission / reception unit 211 also receives a packet from the robot control device 1 and extracts data from the received packet. Furthermore, when the packet transmission / reception unit 211 receives notification that the robot control device 1 (described later) will perform polling, it sends a packet to the robot control device 1 each time it receives a polling request from the robot control device 1.

[0015] <Network equipment 3-1~3-2> Network devices 3-1 to 3-2 are, for example, servers, which collect data indicating the operating status of the robot control device 1 and robots (not shown), and store robot programs and configuration data executed by the robot control device 1. Network devices 3-1 to 3-2 may have the same functions as the instruction control panel 2 in Figure 2.

[0016] <Robot control device 1> The robot control device 1 is a robot control device known to those skilled in the art and may be directly connected to a robot (not shown) via a connection interface not shown. Further, the robot control device 1 may be connected to a robot (not shown) via a network not shown such as a LAN (Local Area Network) or the Internet. The robot control device 1 generates commands based on, for example, a robot program created using a teaching operation panel 2 or the like, and transmits the generated commands to a robot (not shown). Thereby, the robot control device 1 controls the operation of a robot (not shown).

[0017] As shown in FIG. 1, the robot control device 1 includes a control unit 10, a storage unit 20, and three Ethernet ports 30-1 to 30-3. Further, the control unit 10 includes a detection unit 110 and a transition unit 120.

[0018] The storage unit 20 is, for example, an SSD (Solid State Drive), an HDD (Hard Disk Drive), or the like, and stores an OS, various software, and various setting files. The OS is, for example, an operating system (OS) or a system program executed on the robot control device 1. The various software is, for example, software such as an operation program of a robot (not shown) or an application program that realizes various functions such as control of a cache line of the robot control device 1. The various setting files are, for example, setting files for software stored in the various software.

[0019] As shown in FIG. 1, the Ethernet ports 30-1 to 30-3 are each connected to the teaching operation panel 2 and the network devices 3-1 to 3-2 by LAN cables, and transmit and receive Ethernet communication packets between the control unit 10 and the teaching operation panel 2 and the network devices 3-1 to 3-2, respectively. In the following, when it is not necessary to distinguish between Ethernet ports 30-1 to 30-3 individually, they will be collectively referred to as "Ethernet port 30". Furthermore, the robot control device 1 may have two or more Ethernet ports 30 other than the three.

[0020] The control unit 10 includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to communicate with each other via a bus, and is known to those skilled in the art. The CPU is the processor that controls the robot control device 1 as a whole. The CPU reads the system program and application program stored in ROM via the bus and controls the entire robot control device 1 according to the system program and application program. As a result, as shown in Figure 1, the control unit 10 is configured to realize the functions of the detection unit 110 and the transition unit 120. Various data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its memory state even when the power to the robot control device 1 is turned off. Furthermore, when the CPU, which is the processor of the robot control device, receives more than a predetermined value of packets from the Ethernet port 30, it executes an interrupt process for the packets from the Ethernet port 30.

[0021] The detection unit 110 detects the packet loss status in at least one of the Ethernet ports 30-1 to 30-3. Specifically, the detection unit 110 detects, for example, the amount of packets lost in the Ethernet port 30 over a certain period of time (e.g., 500 msec or 1 second). Note that packet loss may also include packets that could not be received from the instruction control panel 2 or network devices 3-1 to 3-2.

[0022] The transition unit 120 transitions the interrupt processing to polling processing when an interrupt is performed for a packet from at least one of the Ethernet ports 30-1 to 30-3, and the packet loss detected by the detection unit 110 exceeds a preset threshold. Specifically, the transition unit 120, for example, shifts the processing of packets from an Ethernet port 30 where packet loss exceeding a threshold has been detected from interrupt processing to polling processing, and sends a notification signal to the device connected to the Ethernet port 30 indicating that polling processing will be performed. The transition unit 120 then sets the polling period at the time of transition to a first period, which is a low period (for example, 100 msec) so that a predetermined time (for example, 1 second) is secured for processing the packets. After a predetermined time (for example, 1 second) has elapsed, the transition unit 120 shortens the polling period from the first period (for example, 100 msec) to the second period (for example, 50 msec). The transition unit 120 then gradually shortens the second period to an upper limit (for example, 1 msec) at predetermined time intervals. Subsequently, if the packet loss from the Ethernet port 30 that has transitioned to polling processing falls below the threshold, the transition unit 120 returns from polling processing to interrupt processing. In this case, the transition unit 120 may send a notification signal to the device connected to the Ethernet port 30 indicating that the polling process has ended. By doing so, the robot control device 1 will no longer interfere with the processing of other Ethernet ports 30 due to interrupt processing for receiving data from Ethernet port 30 experiencing Ethernet communication congestion, and communication with the teaching control panel 2 and network devices 3-1 to 3-2 will not be interrupted. As a result, the robot control device 1 will be able to receive operation information from the teaching control panel 2, process it appropriately, and send it back to the teaching control panel 2, ensuring that the teaching control panel 2 is always operational.

[0023] <Transition process of robot control device 1> Next, referring to Figure 3, we will explain the transition process flow of the robot control device 1. Figure 3 is a flowchart illustrating the transition process of the robot control device 1. The flow shown here is executed each time a predetermined amount of packets are received from the Ethernet port 30 and an interrupt process is executed for the packets on the Ethernet port 30.

[0024] In step S11, the detection unit 110 determines whether the packet loss detected in the Ethernet port 30 over a certain period of time (e.g., 500 msec or 1 second) exceeds a preset threshold. If the packet loss exceeds the threshold, the process proceeds to step S12. On the other hand, if the packet loss is below the threshold, the process waits in step S11.

[0025] In step S12, the transition unit 120 changes the processing for the Ethernet port 30 where packet loss exceeding a threshold has been detected from interrupt processing to polling processing, and sets the polling period at the time of transition to a first period (for example, 100 msec).

[0026] In step S13, the transition unit 120 shortens the polling period at predetermined intervals (e.g., 1 second). However, if the polling period reaches an upper limit (e.g., 1 msec), the transition unit 120 keeps it at the upper limit.

[0027] In step S14, the transition unit 120 determines whether the packet loss detected by the detection unit 110 has fallen below a threshold. If the packet loss has fallen below the threshold, the process proceeds to step S15. On the other hand, if the packet loss exceeds the threshold, the process returns to step S13.

[0028] In step S15, the transition unit 120 switches from polling to interrupt processing for Ethernet ports 30 where packet loss has fallen below a threshold.

[0029] As described above, in one embodiment, the robot control device 1 switches the processing of Ethernet port 30 where the detected packet loss exceeds a preset threshold from interrupt processing to polling processing. This allows the robot control device 1 to execute processing on other Ethernet ports 30 without being hindered by interrupt processing on Ethernet port 30 where Ethernet communication congestion has occurred. Furthermore, the robot control device 1 will no longer interfere with the processing of other Ethernet ports 30 due to interruptions from receiving data on congested Ethernet port 30, and communication with the teaching control panel 2 and network devices 3-1 to 3-2 will not be interrupted. As a result, the robot control device 1 will be able to receive operation information from the teaching control panel 2, process it appropriately, and send it back to the teaching control panel 2, ensuring that the teaching control panel 2 is always operational.

[0030] Although one embodiment has been described above, the robot control device 1 is not limited to the embodiment described above, and may include modifications, improvements, etc., to the extent that the objective can be achieved.

[0031] In one embodiment, each function included in the robot control device 1 can be realized by hardware, software, or a combination thereof. Here, realization by software means that it is realized by a computer reading and executing a program.

[0032] Programs can be stored and supplied to a computer using various types of non-transitory computer-readable medium. Non-transitory computer-readable mediums include various types of tangible storage mediums. Examples of non-transitory computer-readable mediums include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs). Programs may also be supplied to a computer using various types of transient computer-readable mediums. Examples of transient computer-readable mediums include electrical signals, optical signals, and electromagnetic waves. Transitory computer-readable mediums can be supplied to a computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0033] Furthermore, the step of writing the program to be recorded on the recording medium includes not only processes that are performed chronologically in that order, but also processes that are not necessarily performed chronologically, but are executed in parallel or individually.

[0034] In other words, the robot control device of this disclosure can take various forms having the following configurations.

[0035] (1) The robot control device 1 of the present disclosure is a robot control device that can be connected to at least one device by Ethernet, and comprises a control unit 10 and a plurality of Ethernet ports 30, wherein the control unit 10 comprises a detection unit 110 that detects the status of packet loss in at least one of the plurality of Ethernet ports 30, and a transition unit 120 that, when an interrupt is performed on a packet from at least one of the plurality of Ethernet ports 30 and the packet loss exceeds a preset threshold, transitions the interrupt processing to polling processing. According to this robot control device 1, interrupt processing on an Ethernet port experiencing Ethernet communication congestion can be performed without interfering with processing on other Ethernet ports.

[0036] (2) In the robot control device 1 described in (1), the transition unit 120 may switch the polling process to interrupt processing when the packet loss detected by the detection unit 110 falls below a threshold.

[0037] (3) In the robot control device 1 described in (1) or (2), the control unit 10 may perform interrupt processing when it receives a predetermined amount of packets from the connected Ethernet port.

[0038] (4) In the robot control device 1 described in any of (1) to (3), the polling process may be performed in a first cycle for a predetermined time, and after the predetermined time has elapsed, it may be performed in a second cycle that is shorter than the first cycle.

[0039] (5) In the robot control device 1 described in (4), the second period may be shortened in stages.

[0040] (6) In the robot control device 1 described in any of (1) to (5), packet loss may include packets that could not be received from the device.

[0041] (7) In the robot control device 1 described in any of (1) to (6), the equipment may be a teaching operation panel 2. [Explanation of symbols]

[0042] 1. Robot control device 2. Instruction and control panel 3-1~3-2 Network Equipment 10, 210 Control Unit 110 Detection unit 120 Transition Section 20, 220 storage section 30-1 to 30-3, 230 Ethernet ports SYS Robot Control System

Claims

1. A robot control device that can be connected to at least one device via Ethernet, Control unit and Equipped with multiple Ethernet ports, The control unit, A detection unit that detects the status of packet loss in at least one of the plurality of Ethernet ports, The system includes a transition unit that, when an interrupt is performed on a packet from at least one of the plurality of Ethernet ports, and the packet loss exceeds a preset threshold, transitions the interrupt process to a polling process. Robot control device.

2. The robot control device according to claim 1, wherein the transition unit transitions the polling process to the interrupt process when the packet loss detected by the detection unit falls below the threshold.

3. The robot control device according to claim 1 or 2, wherein the control unit performs interrupt processing when it receives a predetermined amount of packets from the connected Ethernet port.

4. The robot control device according to claim 1 or 2, wherein the polling process is performed in a first cycle for a predetermined time, and after the predetermined time has elapsed, it is performed in a second cycle shorter than the first cycle.

5. The robot control device according to claim 4, wherein the second period is shortened in stages.

6. The robot control device according to claim 1 or 2, wherein the packet loss includes packets that could not be received from the device.

7. The robot control device according to claim 1 or 2, wherein the device is a teaching control panel.