Robot control device
By introducing a detection unit and a transfer unit into the robot control device and converting interrupt processing into polling processing, the problem of frequent interrupt processing by the processor when Ethernet communication is congested is solved, and the protection of other Ethernet port processing is achieved, maintaining system stability. stability and performance.
Patent Information
- Application Number
- CN202280096757.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-15
- Publication Date
- 2025-01-14
AI Technical Summary
When the robot control device is congested with Ethernet communication, the processor needs to frequently perform interrupt processing, resulting in the inability to perform other processing, affecting the overall performance of the system.
By introducing a detection part and a transfer part into the robot control device, the data packet loss in multiple Ethernet ports is detected, and when the data packet loss exceeds the preset threshold, the interrupt processing is converted into polling processing to avoid Causes interference with the processing of other Ethernet ports.
It effectively avoids interference with the processing of other Ethernet ports when Ethernet communication is congested, ensuring that the robot control device can still process data packets of other Ethernet ports normally when communication is busy, maintaining the stability and performance of the system.
Smart Images

Figure CN119317524A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a robot control device. Background Art
[0002] There is known a technique in which, when a teaching pendant is operated, operation information is sent to a robot control device, and the operation information is processed in the robot control device. For example, refer to Patent Document 1.
[0003] The teaching pendant communicates with the robot control device using Ethernet (registered trademark), and data is divided into packets and sent and received. If Ethernet communication between the teaching pendant and the robot control device is possible, the teaching pendant can be operated. For example, when the teaching screen displayed on the teaching pendant is changed (transitioned), the teaching screen information is sent from the robot control device to the teaching pendant in sequence.
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Publication No. 2006-142480 Summary of the invention
[0007] Problems to be solved by the invention
[0008] However, the robot control device has multiple Ethernet ports for Ethernet communication with devices such as a teaching pendant. The robot control device uses one processor (for example, a CPU) to perform processing related to multiple Ethernet ports. Therefore, the processor has an interrupt processing function, which stops the processing that has been in progress so far and starts from the processing with a higher priority.
[0009] When Ethernet traffic is congested, the following problem occurs: the processor receives a large number of data packets and performs interrupt processing multiple times, thus being unable to perform other processing.
[0010] Therefore, it is desirable that by interrupting the processing of the Ethernet port where Ethernet communication congestion has occurred, the processing of other Ethernet ports can be performed without being hindered.
[0011] Means for solving problems
[0012] One method of the robot control device disclosed in the present invention is to be able to connect the robot control device to at least one device via Ethernet, and the robot control device includes a control unit and multiple Ethernet ports, and the control unit includes: a detection unit, which detects the loss of data packets from at least one of the multiple Ethernet ports; and a transfer unit, which interrupts the data packets from at least one of the multiple Ethernet ports, and when the loss of the data packets exceeds a preset threshold, transfers the interrupt processing to the polling processing.
[0013] Effects of the Invention
[0014] According to one aspect, by interrupting the processing of the Ethernet port where Ethernet communication congestion has occurred, the processing of other Ethernet ports can be performed without being hindered. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 This is a diagram showing a functional block configuration of a robot control system according to one embodiment.
[0016] Figure 2 This is a diagram showing the functional block configuration of the teaching operation panel.
[0017] Figure 3 This is a flowchart for explaining the transfer processing of the robot control device. DETAILED DESCRIPTION
[0018] Hereinafter, a robot control device according to an embodiment will be described in detail with reference to the drawings.
[0019] <One embodiment>
[0020] Figure 1 This is a diagram showing a functional block configuration of a robot control system according to one embodiment.
[0021] like Figure 1 As shown, the robot control system SYS includes a robot control device 1, a teaching operation panel 2, and network devices 3-1 to 3-2.
[0022] The robot control device 1, the teaching operation panel 2, and the network devices 3-1 to 3-2 are connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet to perform Ethernet communication. In this case, the robot control device 1, the teaching operation panel 2, and the network devices 3-1 to 3-2 are equipped with a communication unit (not shown) for performing Ethernet communication with each other through the connection.
[0023] <Teaching operation panel 2>
[0024] The teaching pendant 2 may be connected to the robot control device 1 so that a user can operate a robot (not shown) to create a robot program.
[0025] Figure 2 This is a diagram showing the functional block configuration of the teaching pendant 2.
[0026] like Figure 2 As shown, the teaching pendant 2 includes a control unit 210 and a storage unit 220. In addition, the control unit 210 includes a packet transceiver 211.
[0027] The storage unit 220 is, for example, an SSD (Solid State Drive) or an HDD (Hard Disk Drive), and stores an OS and various software.
[0028] The Ethernet port 230 is connected to a robot control device 1 described later via a LAN cable, and transmits and receives Ethernet communication signals between the control unit 210 and the robot control device 1 .
[0029] The control unit 210 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, and is configured so that these can communicate with each other via a bus, which is well known to those skilled in the art.
[0030] The CPU is a processor that controls the teaching operation panel 2 as a whole. The CPU reads the system program and application program stored in the ROM via the bus, and controls the teaching operation panel 2 as a whole according to the system program and application program. Figure 2 As shown, the control unit 210 is configured to realize the function of the data packet transceiver 211. Various data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is configured as a non-volatile memory, which is backed up by a battery (not shown) and can maintain the storage state even if the power supply of the teaching operation panel 2 is turned off.
[0031] The packet transceiver 211 generates a packet storing data including operation information based on the Ethernet communication specification in order to perform Ethernet communication with the robot control device 1 described later, and transmits the generated packet to the robot control device 1 so that the robot control device 1 performs interrupt processing. In addition, the packet transceiver 211 receives a packet from the robot control device 1 and extracts data from the received packet.
[0032] Furthermore, when receiving a notification that the robot controller 1 is executing polling processing, which will be described later, the packet transceiver 211 transmits a packet to the robot controller 1 every time it receives a polling processing inquiry from the robot controller 1 .
[0033] <Network Devices 3-1 to 3-2>
[0034] The network devices 3 - 1 and 3 - 2 are, for example, servers, etc., and collect data indicating the operating states of the robot control device 1 or a robot (not shown), or store robot programs and setting data executed by the robot control device 1 .
[0035] In addition, the network devices 3-1 to 3-2 may also have Figure 2 The same function as the teaching operation panel 2.
[0036] <Robot control device 1>
[0037] The robot control device 1 is a well-known robot control device for those skilled in the art, and can be directly connected to a robot (not shown) via a connection interface (not shown). In addition, the robot control device 1 can also be connected to a robot (not shown) via a network (not shown) such as a LAN (Local Area Network) or the Internet.
[0038] The robot control device 1 generates commands based on a robot program created using the teaching pendant 2 or the like, for example, and sends the generated commands to a robot (not shown). Thus, the robot control device 1 controls the operation of the robot (not shown).
[0039] like Figure 1 As shown, the robot control device 1 includes a control unit 10 , a storage unit 20 , and three Ethernet ports 30 - 1 to 30 - 3 . In addition, the control unit 10 includes a detection unit 110 and a transfer unit 120 .
[0040] The storage unit 20 is, for example, an SSD (Solid State Drive) or an HDD (Hard Disk Drive), and stores an OS, various software, and various setting files.
[0041] The OS is, for example, an operating system (OS) or a system program executed in the robot controller 1 .
[0042] The various software includes, for example, a robot operation program (not shown) and an application program that realizes various functions such as control of a cache line of the robot control device 1 .
[0043] The various setting files are, for example, setting files for software stored in various software.
[0044] like Figure 1 As shown, the Ethernet ports 30-1 to 30-3 are connected to the teaching pendant 2 and each network device 3-1 to 3-2 via a LAN cable, and Ethernet communication data packets are sent and received between the control unit 10 and the teaching pendant 2 and each network device 3-1 to 3-2.
[0045] In addition, when there is no need to distinguish each of the Ethernet ports 30 - 1 to 30 - 3 individually, these will also be referred to as “Ethernet ports 30 ” below.
[0046] Furthermore, the robot control device 1 may include a plurality of Ethernet ports 30 other than three, such as two or more.
[0047] The control unit 10 includes a CPU, a ROM, a RAM, a CMOS memory, and the like, and these are configured to be able to communicate with each other via a bus, which is well known to those skilled in the art.
[0048] The CPU is a processor that controls the robot control device 1 as a whole. The CPU reads the system program and application program stored in the ROM via the bus, and controls the robot control device 1 as a whole according to the system program and application program. Figure 1 As shown, the control unit 10 is configured to realize the functions of the detection unit 110 and the transfer unit 120. Various data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is configured as a non-volatile memory, which is backed up by a battery (not shown) and can maintain the storage state even if the power supply of the robot control device 1 is turned off.
[0049] Furthermore, when receiving a number of packets exceeding a predetermined value set in advance from the Ethernet port 30 , the CPU as a processor of the robot control device executes an interrupt process for the packets from the Ethernet port 30 .
[0050] The detection unit 110 detects a packet loss condition of at least one of the Ethernet ports 30 - 1 to 30 - 3 .
[0051] Specifically, the detection unit 110 detects the amount of packets lost in a certain period of time (eg, 500 msec or 1 second) in the Ethernet port 30. The packet loss may include packets that cannot be received from the teaching pendant 2 or the network devices 3-1 to 3-2.
[0052] When the interruption process is performed on 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, the transfer unit 120 transfers the interruption process to the polling process.
[0053] Specifically, the transfer unit 120, for example, transfers the processing of the data packet from the Ethernet port 30 where the loss of the data packet exceeds the threshold value from the interrupt processing to the polling processing, and sends a signal of notification of the execution of the polling processing to the device connected to the Ethernet port 30. Then, the transfer unit 120 sets the polling cycle at the time of transfer to a low cycle (e.g., 100 msec, etc.) as the first cycle so that the time for processing the data packet can ensure a predetermined time (e.g., 1 second, etc.). When the predetermined time (e.g., 1 second, etc.) has passed, the transfer unit 120 shortens the polling cycle from the first cycle (e.g., 100 msec, etc.) to the second cycle (e.g., 50 msec, etc.). Then, every time the predetermined time has passed, the transfer unit 120 gradually shortens the second cycle to the upper limit value (e.g., 1 msec, etc.). Then, when the loss of the data packet of the Ethernet port 30 transferred to the polling processing becomes less than the threshold, the transfer unit 120 returns from the polling processing to the interrupt processing. In this case, the transfer unit 120 may transmit a signal notifying the end of the polling process to the device connected to the Ethernet port 30 .
[0054] In this way, the robot control device 1 can interrupt the reception of the Ethernet port 30 where Ethernet communication congestion occurs, without hindering the processing of other Ethernet ports 30, and the communication with the teaching operation panel 2 or the network devices 3-1 to 3-2 will not be stopped. As a result, the robot control device 1 can receive the operation information of the teaching operation panel 2, appropriately process it and send it back to the teaching operation panel 2, and can always operate the teaching operation panel 2.
[0055] <Transfer Processing of Robot Controller 1>
[0056] Next, refer to Figure 3 The flow of the transfer process of the robot controller 1 will be described.
[0057] Figure 3 1 is a flowchart for explaining the transfer process of the robot controller 1. The flow shown here is executed every time a predetermined number of packets are received from the Ethernet port 30 and an interrupt process is executed for the packets from the Ethernet port 30.
[0058] In step S11, the detection unit 110 determines whether the loss of data packets detected in a certain period of time (e.g., 500 msec or 1 second) in the Ethernet port 30 exceeds a preset threshold. When the loss of data packets exceeds the threshold, the process proceeds to step S12. On the other hand, when the loss of data packets is less than the threshold, the process waits in step S11.
[0059] In step S12, the transfer unit 120 transfers the processing for the Ethernet port 30 that detects that the packet loss exceeds the threshold from the interrupt processing to the polling processing, and sets the polling cycle during the transfer to the first cycle (for example, 100 msec).
[0060] In step S13, the transfer unit 120 shortens the polling cycle every time a predetermined time (eg, 1 second) elapses. When the polling cycle reaches an upper limit value (eg, 1 msec), the transfer unit 120 maintains the upper limit value.
[0061] In step S14, the transfer unit 120 determines whether the packet loss detected by the detection unit 110 is below a threshold. If the packet loss is 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.
[0062] In step S15 , the transfer unit 120 causes the Ethernet port 30 whose packet loss is below the threshold to transfer from the polling process to the interrupt process.
[0063] As described above, the robot control device 1 of one embodiment shifts the processing of the Ethernet port 30 where the loss of the detected data packet exceeds the preset threshold from the interrupt processing to the polling processing. As a result, the robot control device 1 can execute the processing of other Ethernet ports 30 without interfering with the interrupt processing of the Ethernet port 30 where the Ethernet communication congestion occurs.
[0064] In addition, the robot control device 1 can interrupt the reception of the Ethernet port 30 where congestion occurs without hindering the processing of other Ethernet ports 30, and the communication with the teaching operation panel 2 or the network devices 3-1 to 3-2 will not be stopped. Therefore, the robot control device 1 can receive the operation information of the teaching operation panel 2, appropriately process it and send it back to the teaching operation panel 2, and can always operate the teaching operation panel 2.
[0065] Although one embodiment has been described above, the robot control device 1 is not limited to the above embodiment, and includes modifications, improvements, and the like within a range that can achieve the purpose.
[0066] In addition, each function included in the robot control device 1 in one embodiment can be realized by hardware, software, or a combination of these. Here, realization by software means that the computer reads and executes the program to realize.
[0067] The program can be stored and supplied to the computer using various types of non-transitory computer readable media (Non-transitory computer readable medium). Non-transitory computer readable media include various types of tangible recording media (Tangible storage medium). Examples of non-transitory computer readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), optical magnetic recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs). In addition, the program can also be supplied to the computer via various types of transient computer readable media (Transitory computer readable medium). Examples of transient computer readable media include electrical signals, optical signals, and electromagnetic waves. Transitory computer readable media can supply the program to the computer via wired communication paths such as wires and optical fibers, or via wireless communication paths.
[0068] Furthermore, the steps described in the program recorded in the recording medium naturally include processing performed in time series according to the order, but are not necessarily processed in time series and also include processing executed in parallel or individually.
[0069] To put the above in other words, the robot control device of the present disclosure can take various embodiments having the following configurations.
[0070] (1) The robot control device 1 of the present invention is a robot control device that can be connected to at least one device via Ethernet. The robot control device 1 includes a control unit 10 and multiple Ethernet ports 30. The control unit 10 includes: a detection unit 110, which detects the loss of data packets from at least one of the multiple Ethernet ports 30; and a transfer unit 120, which performs interrupt processing on data packets from at least one of the multiple Ethernet ports 30, and when the loss of data packets exceeds a preset threshold, causes the interrupt processing to be transferred to the polling processing.
[0071] According to the robot control device 1, by interrupting the Ethernet port where Ethernet communication congestion has occurred, the processing of other Ethernet ports can be executed without being hindered.
[0072] (2) In the robot control device 1 described in (1), when the loss of a packet detected by the detection unit 110 becomes equal to or less than a threshold value, the transfer unit 120 transfers the polling process to the interrupt process.
[0073] (3) In the robot control device 1 described in (1) or (2), when receiving a predetermined number of data packets from the connected Ethernet port, the control unit 10 executes an interrupt process.
[0074] (4) In the robot control device 1 described in any one of (1) to (3), the polling process is executed in a first cycle during a predetermined time, and after the predetermined time has elapsed, the polling process is executed in a second cycle shorter than the first cycle.
[0075] (5) In the robot control device 1 described in (4), the second cycle is shortened step by step.
[0076] (6) In the robot controller 1 described in any one of (1) to (5), the loss of the data packet includes a data packet that cannot be received from the device.
[0077] Packet loss can also include packets that cannot be received from the machine.
[0078] (7) In the robot control device 1 described in any one of (1) to (6), the device is a teaching pendant 2 .
[0079] Explanation of symbols
[0080] 1Robot control device
[0081] 2Teaching operation panel
[0082] 3-1~3-2 Network Equipment
[0083] 10.210 Control Department
[0084] 110 Inspection Department
[0085] 120 Transfer Department
[0086] 20, 220 storage unit
[0087] 30-1~30-3, 230 Ethernet ports
[0088] SYS robot control system.
Claims
1. A robot control device, which can be connected to at least one device via Ethernet, characterized in that: The robot control device comprises: Control Unit; and Multiple Ethernet ports, The control unit comprises: a detection unit configured to detect a loss of a data packet of at least one of the plurality of Ethernet ports; and The transfer unit performs interrupt processing on a data packet from at least one of the plurality of Ethernet ports and, when a loss of the data packet exceeds a preset threshold, transfers the interrupt processing to a polling processing.
2. The robot control device according to claim 1, characterized in that: The transfer unit transfers the polling process to the interrupt process when the loss of the packet detected by the detection unit becomes equal to or less than the threshold.
3. The robot control device according to claim 1 or 2, characterized in that: The control section executes interrupt processing when receiving a predetermined number of packets from the connected Ethernet port.
4. The robot control device according to any one of claims 1 to 3, characterized in that: The polling process is executed at a first cycle during a predetermined time, and after the predetermined time has elapsed, the polling process is executed at a second cycle that is shorter than the first cycle.
5. The robot control device according to claim 4, characterized in that: The second cycle is shortened in stages.
6. The robot control device according to any one of claims 1 to 5, characterized in that: The loss of data packets includes data packets that cannot be received from the device.
7. The robot control device according to any one of claims 1 to 6, characterized in that: The device is a teaching operation panel.
Citation Information
Patent Citations
Teaching operation panel of robot
JP2006142480A
Serial interface number dynamically adjustable Ethernet serial interface server and data transmission method thereof
CN108667706A
Data receiving and sending method and device and data receiving and sending system
CN110177035A
Anomaly monitoring device
CN111975766A
Method, device and system for acquiring cache allocation model in real network environment
CN112446501A