Communication setting device and robot control device
Patent Information
- Application Number
- CN202480089876.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-25
- Publication Date
- 2026-10-23
Smart Images

Figure CN122972012A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to communication setting devices and robot control devices. Background Technology
[0002] The robot control unit is connected to various external devices in a communicative manner. The communication cycle in the communication network between the robot control unit and the external devices needs to be pre-set.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 2011-215821 Summary of the Invention
[0006] The problem that the invention aims to solve
[0007] In robot control device communication, there is a desire for a technology that can automatically set the communication cycle of data packets.
[0008] Methods for solving problems
[0009] According to one aspect of this disclosure, the communication setting device includes: a data packet volume calculation unit that calculates the data packet volume in the connection between the robot control device and an external device; and a communication cycle setting unit that sets a communication cycle related to the connection in accordance with the data packet volume calculated by the data packet volume calculation unit. Attached Figure Description
[0010] Figure 1 This is a block diagram illustrating the structure of a communication setting device and a robot control device according to one embodiment of the present disclosure.
[0011] Figure 2 This is a flowchart (one of) illustrating the operation of a communication setting device according to one embodiment of the present disclosure.
[0012] Figure 3 This is a flowchart (second part) illustrating the operation of a communication setting device according to one embodiment of the present disclosure.
[0013] Figure 4 This is a flowchart (third one) illustrating the operation of a communication setting device according to one embodiment of the present disclosure. Detailed Implementation
[0014] Hereinafter, embodiments of the communication setting device and the robot control device will be described with reference to the accompanying drawings. In the following description, structures with the same or similar functions will be labeled with the same reference numerals. Furthermore, repeated descriptions of these structures will sometimes be omitted. For ease of understanding, the scale of the drawings has been appropriately changed.
[0015] In the following description, "connection" refers to a logical communication line used to send and receive a series of data sets between devices.
[0016] <Structure of a robot control device according to one embodiment of the present disclosure>
[0017] Figure 1 This is a block diagram illustrating the structure of a communication setting device and a robot control device according to one embodiment of the present disclosure.
[0018] According to one embodiment of this disclosure, a robot control device 100 controls a robot 200. A robot teaching pendant 300 and various external devices 400 are connected to the robot control device 100. The operator can use the robot teaching pendant 300 to register, edit, and configure various settings related to the robot 200's motion programs, display status, teach the robot, and perform manual operations. The external devices 400 include a PLC 31, an I / O module 32, and other circuits. In the illustrated example, one external device 400 is connected to the robot control device 100, but multiple devices may also be connected.
[0019] The robot control unit 100 and the external device 400 are connected, for example, via Internet / IP communication. The robot control unit 100 includes a communication setting device 1, a communication control unit 2, and other communication-related devices (not shown) for communicating with the external device 400. Furthermore, the robot control unit 100 also includes a processing unit, various control units, a storage device, a display device, an input device, sensors, a power supply, and other circuits, but these are not shown in the diagrams.
[0020] The communication control unit 2 controls the connection between the robot control device 100 and the external device 400. The communication control unit 2 can establish one connection with the robot control device 100 to one external device 400, or it can establish multiple connections. For example, high-speed communication connections and low-speed communication connections can be pre-established and used separately according to the characteristics of the data.
[0021] The communication setting device 1 sets the communication cycle in the connection between the robot control device 100 and the external device 400.
[0022] <Structure of a communication setting device according to one embodiment of this disclosure>
[0023] The communication setting device 1 includes a data packet volume calculation unit 11 and a communication cycle setting unit 12.
[0024] The data packet volume calculation unit 11 calculates the data packet volume in the connection between the robot control device 100 and the external device 400. If there are multiple connections between the robot control device 100 and the external device 400, it calculates the total data packet volume of the multiple connections.
[0025] The "data packet volume" calculated by the data packet volume calculation unit 11 refers to the number of data packets sent and received per second between the robot control device 100 and the external device 400 during a temporary communication cycle, and its unit is pps (packets per second). The "temporary communication cycle" refers to a provisional communication cycle set during a series of processes used to determine the final communication cycle. Details of the temporary communication cycle will be described later.
[0026] There are two methods for calculating the “data packet volume” used in the data packet volume calculation unit 11.
[0027] In the first calculation method, the number of data packets per second is calculated according to the formula "1000 / temporary communication period × 2". In this formula, "1000" is a coefficient that converts the temporary communication period of the data packets from milliseconds to seconds. In addition, "×2" is because the data packets will travel back and forth between the robot control device 100 and the external device 400.
[0028] In the second calculation method, data packets are actually sent and received between the robot control device 100 and the external device 400 during a temporary communication cycle. Data packets sent and received through the Ethernet port (Ethernet is a registered trademark) of the robot control device 100 are obtained in about 1 to 3 seconds, and their average value is calculated and used as the data packet volume.
[0029] The communication cycle setting unit 12 sets the communication cycle related to the connection in accordance with the data packet volume calculated by the data packet volume calculation unit 11. When there are multiple connections between the robot control device 100 and the external device 400, the communication cycle setting unit 12 sets the communication cycle for each of the multiple connections individually based on the total data packet volume of the multiple connections.
[0030] The following explanation uses the case where there are multiple connections between the robot control device 100 and the external device 400 as an example, but this explanation can also be applied to the case where there is only one connection between the robot control device 100 and the external device 400. In the case where there is only one connection between the robot control device 100 and the external device 400, in this explanation, "the total number of data packets calculated by the data packet quantity calculation unit 11" and similar expressions are replaced with "the number of data packets calculated by the data packet quantity calculation unit 11" and similar expressions, and "the setting of the communication cycle for each of the multiple connections" and similar expressions are replaced with "the setting of the communication cycle for the connection" and similar expressions.
[0031] Based on a comparison between a pre-defined allowable data packet volume and the total data packet volume calculated by the data packet volume calculation unit 11, the communication cycle is set according to the connection based on the communication cycle setting unit 12. The allowable data packet volume is specified in accordance with the CPU utilization rate of the arithmetic processing unit within the robot control device 100. That is, the higher the CPU utilization rate, the smaller the allowable data packet volume is set to. Details regarding the relationship between CPU utilization rate and the allowable data packet volume will be described later.
[0032] In the communication cycle setting process of one embodiment of this disclosure, a temporary communication cycle is first set based on a comparison between the data packet volume allowable value and the total data packet volume calculated by the data packet volume calculation unit 11. If the comparison between the data packet volume allowable value and the total data packet volume calculated by the data packet volume calculation unit 11 under the temporary communication cycle results in the total data packet volume calculated by the data packet volume calculation unit 11 under the temporary communication cycle exceeding the data packet volume allowable value, the temporary communication cycle is slightly reduced and reset according to the connection. If the total data packet volume calculated by the data packet volume calculation unit 11 does not exceed the data packet volume allowable value, the temporary communication cycle is slightly increased and reset according to the connection. By repeatedly executing the setting of the temporary communication cycle based on the comparison result and the calculation of the data packet volume, the optimal communication cycle is finally determined. To perform such a series of processes, the communication cycle setting unit 12 includes a storage unit 21, a first temporary setting unit 22, a second temporary setting unit 23, and a determination unit 24.
[0033] The storage unit 21 can store the initial value of the temporary communication cycle, the temporary communication cycle set by the first temporary setting unit, and the temporary communication cycle set by the second temporary setting unit.
[0034] If the total number of data packets calculated by the data packet quantity calculation unit 11 under the temporary communication cycle stored in the storage unit 21 does not exceed the data packet quantity allowable value, the first temporary setting unit 22 performs a first temporary setting process. This first temporary setting process sets a "further temporary communication cycle" obtained by reducing the temporary communication cycle stored in the storage unit 21 by a predetermined value and writes it to the storage unit 21. The first temporary setting process is repeatedly executed until the total number of data packets calculated by the data packet quantity calculation unit 11 under the temporary communication cycle stored in the storage unit 21 exceeds the data packet quantity allowable value. Furthermore, there is generally a lower limit value in the communication cycle for appropriate communication processing. Therefore, by setting a lower limit value for the settable temporary communication cycle, if a connection reaches the lower limit value of the temporary communication cycle during the first temporary setting process, the first temporary setting unit 22 maintains the temporary communication cycle for that connection and does not further reduce it.
[0035] If the total number of data packets calculated by the data packet quantity calculation unit 11 under the temporary communication cycle stored in the storage unit 21 exceeds the data packet quantity allowable value, the second temporary setting unit 23 performs a second temporary setting process. This second temporary setting process sets a "further temporary communication cycle" obtained by increasing the temporary communication cycle stored in the storage unit 21 by a predetermined value and writes it into the storage unit 21. The second temporary setting process is repeatedly executed until the total number of data packets calculated by the data packet quantity calculation unit 11 under the temporary communication cycle stored in the storage unit 21 does not exceed the data packet quantity allowable value.
[0036] After the second temporary setting process, if the total number of data packets calculated by the data packet quantity calculation unit 11 during the temporary communication cycle written to the storage unit 21 does not exceed the data packet quantity allowable value, the determination unit 24 determines the temporary communication cycle corresponding to the data packet quantity when it does not exceed the data packet quantity allowable value as the communication cycle to be set for the connection. The communication cycle is set according to the connection based on the communication cycle setting unit 12. The communication control unit 2 controls the connection between the robot control device 100 and the external device 400 during the communication cycle for the connection determined by the determination unit 24 in the communication setting device 1.
[0037] At least one CPU (processor) serving as an arithmetic processing unit is provided within the robot control device 100. The term "CPU" here includes concepts such as IC, LSI, MPU, and DSP. The arithmetic processing unit includes a data packet calculation unit 11, a first temporary setting unit 22, a second temporary setting unit 23, a determination unit 24, a communication control unit 2, and other processing units. These units are functional modules implemented, for example, by programs executed on the processor. For instance, when the data packet calculation unit 11, the first temporary setting unit 22, the second temporary setting unit 23, the determination unit 24, the communication control unit 2, and other processing units are constructed in program form, the functions of each unit can be realized by causing the arithmetic processing unit to operate according to the program. The programs used to execute the processing of each of the data packet calculation unit 11, the first temporary setting unit 22, the second temporary setting unit 23, the determination unit 24, the communication control unit 2, and other processing units can also be provided in the form of a computer-readable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium. Alternatively, the data packet calculation unit 11, the first temporary setting unit 22, the second temporary setting unit 23, the determination unit 24, the communication control unit 2, and other processing units can be implemented as a semiconductor integrated circuit, which is programmed with the functions of each unit.
[0038] In addition, at least one memory serving as a storage device is provided in the robot control device 100. The memory includes a storage unit 21. The memory further includes various storage units in the packet amount calculation unit 11, the first temporary setting unit 22, the second temporary setting unit 23, the determination unit 24, the communication control unit 2, and other processing units. Examples of the memory include a nonvolatile memory that can be electrically erased and recorded, such as EEPROM (registered trademark), or a random access memory that can be read and written at high speed, such as DRAM or SRAM. The storage device may also have a configuration such as an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like. The packet amount calculated by the packet amount calculation unit 11 can be stored in the memory. The temporary communication cycle and its initial value can be stored in the memory. The communication cycle determined by the determination unit 24 can be stored in the memory. A table representing the relationship between the CPU usage rate and the allowable packet amount value can be stored in the memory. The memory may also store programs and the like for causing the packet amount calculation unit 11, the first temporary setting unit 22, the second temporary setting unit 23, the determination unit 24, the communication control unit 2, and other processing units to operate. The memory may also store various programs and various data associated with the robot control device 100. The memory may also store various programs and various data associated with the robot 200 controlled by the robot control device 100. The memory may also store various programs and various data associated with the external device 400 connected to the robot control device 100.
[0039] <Relationship between CPU Usage Rate and Allowable Packet Amount Value>
[0040] The allowable packet amount value is defined in accordance with the CPU usage rate in the arithmetic processing device within the robot control device 100. The arithmetic processing device in the robot control device 100 allocates its resources to various arithmetic processes in addition to the communication process between the robot control device 100 and the external device 400. In particular, the processing related to robot control, which is the essential function of the robot control device 100, should be executed with the highest priority. The shorter the communication cycle in the connection between the robot control device 100 and the external device 400, the larger the packet amount, and as a result, the CPU usage rate related to the communication process also increases. If the CPU usage rate related to the communication process increases, adverse effects may be caused on other arithmetic processes other than the communication process. Therefore, in one embodiment of the present disclosure, the allowable packet amount value is set for the connection between the robot control device 100 and the external device 400, so that the CPU usage rate related to the communication process does not become excessively high.
[0041] In one embodiment of this disclosure, the higher the CPU utilization, the lower the allowable data packet volume. CPU utilization is expressed as a percentage from 0% to 100%. For example, CPU utilization is divided into multiple regions, and a data packet volume allowable value is specified for each region. For instance, if CPU utilization is above 90%, the allowable data packet volume is set to 300 pps; if CPU utilization is above 60% but below 90%, it is set to 500 pps; and if it is below 60%, the allowable data packet volume is set to 1500 pps. Furthermore, the values and CPU utilization division methods listed here are just one example; other values and CPU utilization division methods are also possible.
[0042] A table showing the relationship between CPU utilization and data packet volume tolerance is prepared in advance by the manufacturer or distributor of the robot control device 100 and pre-installed in the robot control device 100. During communication setting processing based on the communication setting device 1, the communication setting device 1 refers to this table and sets the data packet volume tolerance corresponding to the current CPU utilization.
[0043] Operation of a communication setting device according to one embodiment of the present disclosure
[0044] Figures 2-4 This is a flowchart illustrating the operation of a communication setting device according to one embodiment of the present disclosure. Figures 2-4 The flowchart shown is not limited to cases where there are multiple connections; it can also be applied to cases where there is only one connection.
[0045] Communication between the robot control device 100 and the external device 400 is initiated by changing the connection between the robot control device 100 and the external device 400 from invalid to valid. The connection can be changed from invalid to valid by the operator operating the robot teaching pendant 300 or by initiating a communication-related program through the robot control device 100. When multiple connections exist between the robot control device 100 and the external device 400, the operator can set each connection to be valid or invalid by operating the robot teaching pendant 300. Furthermore, before making a connection valid, the operator needs to use the robot teaching pendant 300 or various input devices to input the IP address configuration information for each connection into the robot control device 100.
[0046] When performing the communication cycle setting process, the initial value of the temporary communication cycle for each connection can be preset. For example, the initial value of the temporary communication cycle can be set low for high-speed communication connections and high for low-speed communication connections. When it is desired to intentionally set the initial value of the temporary communication cycle in this way, the operator uses the robot teaching pendant 300 or various input devices to input the desired initial value of the temporary communication cycle into the communication setting device 1. If there are no special restrictions or requirements on the communication speed of the connection, it is not necessary for the operator to input the initial value of the temporary communication cycle. In this case, for example, the standard value of the communication cycle specified in the instruction manual, specifications, etc., of the robot control device 100 can be set as the initial value of the temporary communication cycle.
[0047] In step S101, the communication setting device 1 confirms the settings of each connection.
[0048] Regarding the series of processes following step S101, steps S102 to S107, if there are multiple connections between the robot control device 100 and the external device 400, they are performed according to each connection; if there is only one connection between the robot control device 100 and the external device 400, they are performed for that single connection.
[0049] In step S102, the communication setting device 1 determines, for a given connection, whether a specific value has been input to the robot control device 100 as the initial value of the temporary communication cycle. The "specific value" referred to here is, for example, an initial value of the temporary communication cycle intentionally set by the operator, such as a lower initial value for a high-speed communication connection and a higher initial value for a low-speed communication connection.
[0050] If, in step S102, it is determined that a specific value has been input as the initial value for the temporary communication cycle, then in step S103, a setting process is performed to write the initial value to the storage unit 21. If, in step S102, it is not determined that a specific value has been input as the initial value for the temporary communication cycle, then the standard value of the communication cycle specified in the instruction manual, specifications, etc., of the robot control device 100 is used as the initial value for the temporary communication cycle. In this case, the standard value is also stored in the storage unit 21.
[0051] In step S104, the communication setting device 1 determines whether the connection is valid.
[0052] If the connection is determined to be valid in step S104, the communication control unit 2 establishes communication for that connection. "Communication establishment" refers to establishing a state where data packets indicating the start of communication can be exchanged with the communication partner at any time. In the next step S106, the data packet quantity calculation unit 11 calculates the number of data packets in the connection. After processing in step S106, the process proceeds to step S107.
[0053] If the connection is not determined to be valid in step S104 (i.e., it is determined to be invalid), proceed to step S107.
[0054] In step S107, the communication setting device 1 determines whether there is a next connection for which the data packet quantity should be calculated by the data packet quantity calculation unit 11.
[0055] If it is determined in step S107 that there is a next connection for which the data packet size should be calculated, the process returns to step S101. If it is not determined in step S107 that there is a next connection for which the data packet size should be calculated, the process proceeds to step S108. For example, if there is only one connection between the robot control device 100 and the external device 400, and if steps S101 to S107 are executed once, it will not be determined in step S107 that there is a next connection for which the data packet size should be calculated, therefore, the process proceeds to step S108. Alternatively, for example, if there are multiple connections between the robot control device 100 and the external device 400, steps S101 to S107 are executed repeatedly until the data packet size is calculated for all connections.
[0056] In step S108, the data packet volume calculation unit 11 calculates the total number of data packets in the connection based on the initial value of the temporary communication cycle stored in the storage unit 21. Furthermore, when there is only one connection between the robot control device 100 and the external device 400, the data packet volume calculation unit 11 calculates the number of data packets in that single connection based on the initial value of the temporary communication cycle stored in the storage unit 21.
[0057] In step S109, the communication setting device 1 determines whether there is an operation to start the communication cycle setting process. The communication cycle setting process is started by manual operation performed by the operator through the input device set on the robot control device 100. For example, the communication cycle setting process is started by the operator pressing the setting process start button, which is the input device, or by the operator using the input device to input the setting process start command.
[0058] If it is determined in step S109 that an operation to set the start of a communication cycle exists, proceed to step S110. If it is not determined in step S109 that an operation to set the start of a communication cycle exists, the process ends.
[0059] In step S110, the first temporary setting unit 22 and the second temporary setting unit 23 confirm the CPU utilization rate of the computing processing unit in the robot control device 100 at that time point. Then, the first temporary setting unit 22 and the second temporary setting unit 23 refer to a table that specifies the relationship between CPU utilization rate and data packet volume allowable value, and set the data packet volume allowable value corresponding to the CPU utilization rate at that time point.
[0060] In step S111, the first temporary setting unit 22 determines whether the total number of data packets calculated by the data packet quantity calculation unit 11 under the temporary communication cycle stored in the storage unit 21 exceeds the data packet quantity allowable value.
[0061] Regarding the series of processes in steps S112 to S116, if there are multiple connections between the robot control device 100 and the external device 400, they are performed according to each connection; if there is only one connection between the robot control device 100 and the external device 400, they are performed for that single connection.
[0062] If it is not determined in step S111 that the total number of data packets calculated by the data packet quantity calculation unit 11 exceeds the data packet quantity allowable value, in step S112, the first temporary setting unit 22 confirms the setting content of each connection.
[0063] In step S113, the first temporary setting unit 22 determines whether the connection is valid.
[0064] If the connection is not determined to be valid in step S113, proceed to step S115.
[0065] If the connection is determined to be valid in step S113, in step S114, the first temporary setting unit 22 performs a first temporary setting process, which sets a "further temporary communication cycle" obtained by reducing the temporary communication cycle stored in the storage unit 21 by a predetermined value and writes it into the storage unit 21.
[0066] In step S115, the first temporary setting unit 22 determines whether there is a next connection for which the first temporary setting process should be performed.
[0067] If it is determined in step S115 that there is a next connection for which the first temporary setting process should be performed, the process returns to step S112. If it is not determined in step S115 that there is a next connection for which the first temporary setting process should be performed, the process proceeds to step S116. For example, if there is only one connection between the robot control device 100 and the external device 400, and if steps S112 to S115 are performed once, then in step S117, it is not determined that there is a next connection for which the first temporary setting process should be performed, therefore, the process proceeds to step S116. Alternatively, for example, if there are multiple connections between the robot control device 100 and the external device 400, steps S112 to S115 are repeatedly performed until the data packet count is calculated for all connections.
[0068] In step S116, the data packet volume calculation unit 11 calculates the total number of data packets in the connection based on the initial value of the temporary communication cycle stored in the storage unit 21. Furthermore, if there is only one connection between the robot control device 100 and the external device 400, the data packet volume calculation unit 11 calculates the number of data packets in that single connection based on the initial value of the temporary communication cycle stored in the storage unit 21. Then, the process returns to step S111.
[0069] If it is determined in step S111 that the total number of data packets calculated by the data packet quantity calculation unit 11 exceeds the allowable value of data packet quantity, the process proceeds to step S117.
[0070] Regarding the series of processes in steps S117 to S120, if there are multiple connections between the robot control device 100 and the external device 400, the process is performed according to each connection; if there is only one connection between the robot control device 100 and the external device 400, the process is performed for that single connection.
[0071] In step S117, the second temporary setting unit 23 confirms the settings of each connection.
[0072] In step S118, the second temporary setting unit 23 determines whether the connection is valid.
[0073] If the connection is not determined to be valid in step S118, proceed to step S120.
[0074] If the connection is determined to be valid in step S118, in step S119, the second temporary setting unit 23 performs a second temporary setting process, which sets a "further temporary communication cycle" obtained by increasing the temporary communication cycle stored in the storage unit 21 by a predetermined value and writes it into the storage unit 21.
[0075] In step S120, the second temporary setting unit 23 determines whether there is a next connection for which a second temporary setting process should be performed.
[0076] If it is determined in step S120 that there is a next connection for which the second temporary setting process should be performed, the process returns to step S117. If it is not determined in step S120 that there is a next connection for which the second temporary setting process should be performed, the process proceeds to step S121. For example, if there is only one connection between the robot control device 100 and the external device 400, and if steps S117 to S120 are performed once, then it is not determined in step S120 that there is a next connection for which the second temporary setting process should be performed, therefore, the process proceeds to step S121. Alternatively, for example, if there are multiple connections between the robot control device 100 and the external device 400, steps S117 to S120 are repeatedly performed until the data packet count is calculated for all connections.
[0077] In step S121, the data packet volume calculation unit 11 calculates the total number of data packets in the connection during a temporary communication cycle stored in the storage unit 21. Furthermore, when there is only one connection between the robot control device 100 and the external device 400, the data packet volume calculation unit 11 calculates the number of data packets in that single connection during a temporary communication cycle stored in the storage unit 21.
[0078] In step S122, the second temporary setting unit 23 determines whether the total number of data packets calculated by the data packet quantity calculation unit 11 exceeds the data packet quantity allowable value during the temporary communication cycle stored in the storage unit 21.
[0079] If it is determined in step S122 that the total number of data packets calculated by the data packet quantity calculation unit 11 exceeds the data packet quantity allowable value, the process returns to step S117.
[0080] If in step S122 it is not determined that the total number of data packets calculated by the data packet quantity calculation unit 11 exceeds the data packet quantity allowable value, in step S123, the determination unit 24 determines the temporary communication period corresponding to the total number of data packets when the data packet quantity does not exceed the data packet quantity allowable value as the communication period that should be set for the connection, and then ends the process.
[0081] <Example of numerical values in the communication setting process according to one embodiment of this disclosure>
[0082] Reference Figures 2-4The flowchart illustrates two numerical examples of the communication setting process according to one embodiment of this disclosure. Furthermore, the values listed here are examples, and other values may also be used. Additionally, the temporary communication period has a lower limit value, which is set to 2 milliseconds in this example, but this is also an example, and other values may also be used.
[0083] As an example, we will illustrate an example where there are four connections—connection A, connection B, connection C, and connection D—between the robot control device 100 and the external device 400. The number of connections listed here is just one example; there could be other numbers. For example, connection B can be set as a high-speed communication connection, with its initial temporary communication period set to 8 milliseconds. Connection D can be set as a low-speed communication connection, with its initial temporary communication period set to 64 milliseconds. Connections A and C can be set as connections without specific limitations or requirements on communication speed. The standard value for the communication period specified in the robot control device 100's instruction manual, specifications, etc., can be set to 32 milliseconds.
[0084] (First numerical example)
[0085] In the first numerical example, the data packet size allowance is set to 1500pps.
[0086] Before performing the communication cycle setting process, the operator uses the robot teaching control panel 300 or various input devices to input "8 milliseconds" as the initial value of the temporary communication cycle of connection B for high-speed communication to the communication setting device 1, and inputs "64 milliseconds" as the initial value of the temporary communication cycle of connection D for low-speed communication to the communication setting device 1.
[0087] In step S102, it is determined that specific values (8 milliseconds, 64 milliseconds) have been input as the initial values for the temporary communication period of connections B and D. Therefore, in step S103, "8 milliseconds" is set as the initial value for the temporary communication period of connection B and written to the storage unit 21. Additionally, "64 milliseconds" is set as the initial value for the temporary communication period of connection D and written to the storage unit 21. Regarding connections A and C, it is determined in step S102 that no specific value has been input as the initial value for the temporary communication period. Therefore, the standard value for the communication period, "32 milliseconds," as specified in the user manual, specifications, etc., of the robot control device 100, is stored in the storage unit 21 as the initial value for the temporary communication period.
[0088] In step S105, the data packet calculation unit 11 calculates the data packet volume per second according to the formula "1000 / temporary communication period × 2". When calculating the data packet volume with an initial temporary communication period of "32 milliseconds" for connection A, it is 62.5 pps. When calculating the data packet volume with an initial temporary communication period of "8 milliseconds" for connection B, it is 250 pps. When calculating the data packet volume with an initial temporary communication period of "32 milliseconds" for connection C, it is 62.5 pps. When calculating the data packet volume with an initial temporary communication period of "64 milliseconds" for connection D, it is 31.25 pps.
[0089] In step S108, the total number of data packets connected to A~D is 406.25pps.
[0090] In step S111, it is determined that the total data packet volume of 406.25 pps does not exceed the allowable data packet volume value of 1500 pps. Therefore, in step S114, the first temporary setting unit 22 performs a "further temporary communication period" setting obtained by reducing the temporary communication period stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the first temporary setting process of the storage unit 21. In step S114, the temporary communication period of connection A is set to "30 milliseconds", the temporary communication period of connection B is set to "6 milliseconds", the temporary communication period of connection C is set to "30 milliseconds", and the temporary communication period of connection D is set to "62 milliseconds".
[0091] In step S116, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during a temporary communication period of 30 milliseconds for connection A, it is 66.67 pps. When calculating the data packet volume during a temporary communication period of 6 milliseconds for connection B, it is 333.33 pps. When calculating the data packet volume during a temporary communication period of 30 milliseconds for connection C, it is 66.67 pps. When calculating the data packet volume during a temporary communication period of 62 milliseconds for connection D, it is 32.26 pps. Therefore, the total number of data packets for connections A through D is 498.93 pps.
[0092] At this point in time, the data packet volume of connections A through D, at 498.93 pps, did not exceed the allowable data packet volume of 1500 pps (step S111). Therefore, in step S114 again, the first temporary setting unit 22 performs a first temporary setting process to set a "further temporary communication period" obtained by reducing the temporary communication period stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. When the first temporary setting process is repeated twice more, the temporary communication period of each connection is further reduced by "4 milliseconds". That is, the temporary communication period of connection A is set to "26 milliseconds", the temporary communication period of connection B is set to "2 milliseconds", the temporary communication period of connection C is set to "26 milliseconds", and the temporary communication period of connection D is set to "58 milliseconds".
[0093] In step S116, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume under a temporary communication period of "26 milliseconds" for connection A, it is 76.92 pps. When calculating the data packet volume under a temporary communication period of "2 milliseconds" for connection B, it is 1000 pps. When calculating the data packet volume under a temporary communication period of "26 milliseconds" for connection C, it is 76.92 pps. When calculating the data packet volume under a temporary communication period of "58 milliseconds" for connection D, it is 34.48 pps. Therefore, the total number of data packets for connections A through D is 1118 pps.
[0094] At this point in time, the data packet volume of connections A to D, 1118pps, did not exceed the allowable data packet volume value of 1500pps (step S111), but the temporary communication period of connection B, "2 milliseconds", reached the lower limit. Therefore, the temporary communication period of connections A, C, and D was subsequently reduced.
[0095] In step S114, the first temporary setting unit 22 performs a first temporary setting process to set a "further temporary communication cycle" obtained by reducing the temporary communication cycle stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. When the first temporary setting process is repeated 8 more times, the temporary communication cycles of connection A, connection C, and connection D are further reduced by "16 milliseconds". That is, the temporary communication cycle of connection A is set to "10 milliseconds", the temporary communication cycle of connection B is still set to "2 milliseconds", the temporary communication cycle of connection C is set to "10 milliseconds", and the temporary communication cycle of connection D is set to "42 milliseconds".
[0096] In step S116, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during a temporary communication period of 10 milliseconds for connection A, it is 200 pps. When calculating the data packet volume during a temporary communication period of 2 milliseconds for connection B, it is 1000 pps. When calculating the data packet volume during a temporary communication period of 10 milliseconds for connection C, it is 200 pps. When calculating the data packet volume during a temporary communication period of 42 milliseconds for connection D, it is 47.61 pps. Therefore, the total number of data packets for connections A through D is 1447.61 pps.
[0097] At this point in time, the data packet volume of connections A through D, at 1447.61 pps, does not exceed the allowable data packet volume of 1500 pps (step S111). Therefore, the temporary communication period of connections A, C, and D is further reduced by 2 milliseconds. Thus, the temporary communication period of connection A is set to "8 milliseconds", the temporary communication period of connection B is still set to "2 milliseconds", the temporary communication period of connection C is set to "8 milliseconds", and the temporary communication period of connection D is set to "40 milliseconds".
[0098] In step S116, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during the temporary communication period of connection A ("8 milliseconds"), it is 250 pps. When calculating the data packet volume during the temporary communication period of connection B ("2 milliseconds"), it is 1000 pps. When calculating the data packet volume during the temporary communication period of connection C ("8 milliseconds"), it is 250 pps. When calculating the data packet volume during the temporary communication period of connection D ("40 milliseconds"), it is 50 pps. Therefore, the total number of data packets for connections A through D is 1550 pps.
[0099] In step S111, it is determined that the total data packet volume of 1550pps exceeds the allowable data packet volume of 1500pps. Therefore, in step S119, the second temporary setting unit 23 performs a second temporary setting process to set a "further temporary communication cycle" obtained by increasing the temporary communication cycle stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. In step S119, the temporary communication cycle of connection A is set to "10 milliseconds", the temporary communication cycle of connection B is set to "4 milliseconds", the temporary communication cycle of connection C is set to "10 milliseconds", and the temporary communication cycle of connection D is set to "42 milliseconds". Here, for connection B, whose temporary communication cycle reaches the lower limit of "2 milliseconds", in order to simplify the calculation process and prioritize suppressing the CPU load, it is also increased by 2 milliseconds like other connections, and thus set to "4 milliseconds".
[0100] In step S121, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during a temporary communication period of 10 milliseconds for connection A, it is 200 pps. When calculating the data packet volume during a temporary communication period of 4 milliseconds for connection B, it is 500 pps. When calculating the data packet volume during a temporary communication period of 10 milliseconds for connection C, it is 200 pps. When calculating the data packet volume during a temporary communication period of 42 milliseconds for connection D, it is 47.61 pps. Therefore, the total number of data packets for connections A through D is 947.61 pps.
[0101] At this point in time, since the total data packet volume of 947.61 pps determined in step S122 does not exceed the allowable data packet volume of 1500 pps, in step S123, the determining unit 24 determines the temporary communication period corresponding to the total data packet volume of 947.61 pps when it does not exceed the allowable data packet volume as the communication period to be set for this connection. That is, in step S123, the determining unit 24 sets the communication period for connection A to "10 milliseconds", the communication period for connection B to "4 milliseconds", the communication period for connection C to "10 milliseconds", and the communication period for connection D to "42 milliseconds". After that, the process ends.
[0102] (Second numerical example)
[0103] In the second numerical example, the data packet volume tolerance is set to 300pps.
[0104] Before performing the communication cycle setting process, the operator uses the robot teaching control panel 300 or various input devices to input "8 milliseconds" as the initial value of the temporary communication cycle of connection B for high-speed communication to the communication setting device 1, and inputs "64 milliseconds" as the initial value of the temporary communication cycle of connection D for low-speed communication to the communication setting device 1.
[0105] In step S102, it is determined that specific values (8 milliseconds, 64 milliseconds) have been input as the initial values for the temporary communication period of connections B and D. Therefore, in step S103, "8 milliseconds" is set as the initial value for the temporary communication period of connection B and written to the storage unit 21. Additionally, "64 milliseconds" is set as the initial value for the temporary communication period of connection D and written to the storage unit 21. Regarding connections A and C, it is determined in step S102 that no specific value has been input as the initial value for the temporary communication period. Therefore, the standard value for the communication period, "32 milliseconds," as specified in the user manual, specifications, etc., of the robot control device 100, is stored in the storage unit 21 as the initial value for the temporary communication period.
[0106] In step S105, the data packet calculation unit 11 calculates the data packet volume per second according to the formula "1000 / temporary communication period × 2". When calculating the data packet volume with an initial temporary communication period of "32 milliseconds" for connection A, it is 62.5 pps. When calculating the data packet volume with an initial temporary communication period of "8 milliseconds" for connection B, it is 250 pps. When calculating the data packet volume with an initial temporary communication period of "32 milliseconds" for connection C, it is 62.5 pps. When calculating the data packet volume with an initial temporary communication period of "64 milliseconds" for connection D, it is 31.25 pps.
[0107] In step S108, the total number of data packets connected to A~D is 406.25pps.
[0108] In step S111, it is determined that the total data packet volume of 406.25 pps exceeds the allowable data packet volume of 300 pps. Therefore, in step S119, the second temporary setting unit 23 performs a second temporary setting process to set a "further temporary communication period" obtained by increasing the temporary communication period stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. In step S119, the temporary communication period of connection A is set to "34 milliseconds", the temporary communication period of connection B is set to "10 milliseconds", the temporary communication period of connection C is set to "34 milliseconds", and the temporary communication period of connection D is set to "66 milliseconds".
[0109] In step S121, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during the temporary communication period of connection A ("34 milliseconds"), it is 58.82 pps. When calculating the data packet volume during the temporary communication period of connection B ("10 milliseconds"), it is 200 pps. When calculating the data packet volume during the temporary communication period of connection C ("34 milliseconds"), it is 58.82 pps. When calculating the data packet volume during the temporary communication period of connection D ("66 milliseconds"), it is 30.3 pps. Therefore, the total number of data packets for connections A through D is 347.94 pps.
[0110] At this point in time, the data packet volume of connections A through D was 347.94 pps, exceeding the allowable data packet volume of 300 pps (step S122). Therefore, in step S119, the second temporary setting unit 23 performs a second temporary setting process to set a "further temporary communication period" by increasing the temporary communication period stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. As a result, the temporary communication period of each connection is further increased by "2 milliseconds". That is, the temporary communication period of connection A is set to "36 milliseconds", the temporary communication period of connection B is set to "12 milliseconds", the temporary communication period of connection C is set to "36 milliseconds", and the temporary communication period of connection D is set to "68 milliseconds".
[0111] In step S121, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during the temporary communication period of connection A ("36 milliseconds"), it is 55.55 pps. When calculating the data packet volume during the temporary communication period of connection B ("12 milliseconds"), it is 166.67 pps. When calculating the data packet volume during the temporary communication period of connection C ("36 milliseconds"), it is 55.55 pps. When calculating the data packet volume during the temporary communication period of connection D ("68 milliseconds"), it is 29.41 pps. Therefore, the total number of data packets for connections A through D is 307.18 pps.
[0112] At this point in time, the data packet volume of connections A through D is 307.18 pps, exceeding the allowable data packet volume of 300 pps (step S122). Therefore, in step S119, the second temporary setting unit 23 performs a second temporary setting process to set a "further temporary communication period" by increasing the temporary communication period stored in the storage unit 21 by a predetermined value (e.g., 2 milliseconds) and writes it to the storage unit 21. As a result, the temporary communication period of each connection is further increased by "2 milliseconds". That is, the temporary communication period of connection A is set to "38 milliseconds", the temporary communication period of connection B is set to "14 milliseconds", the temporary communication period of connection C is set to "38 milliseconds", and the temporary communication period of connection D is set to "70 milliseconds".
[0113] In step S121, the total number of data packets for connections A through D under this temporary communication period is calculated. When calculating the data packet volume during the temporary communication period of connection A ("38 milliseconds"), it is 52.63 pps. When calculating the data packet volume during the temporary communication period of connection B ("14 milliseconds"), it is 142.86 pps. When calculating the data packet volume during the temporary communication period of connection C ("38 milliseconds"), it is 52.63 pps. When calculating the data packet volume during the temporary communication period of connection D ("70 milliseconds"), it is 28.57 pps. Therefore, the total number of data packets for connections A through D is 276.69 pps.
[0114] At this point in time, since the total data packet volume of 276.69 pps determined in step S122 does not exceed the allowable data packet volume of 300 pps, in step S123, the determining unit 24 determines the temporary communication period corresponding to the total data packet volume of 276.69 pps when it does not exceed the allowable data packet volume as the communication period to be set for this connection. That is, in step S123, the determining unit 24 sets the communication period for connection A to "38 milliseconds", the communication period for connection B to "14 milliseconds", the communication period for connection C to "38 milliseconds", and the communication period for connection D to "70 milliseconds". After that, the process ends.
[0115] <Advantages of the embodiments and variations thereof disclosed herein>
[0116] According to embodiments and variations thereof, in communication between a robot control device and an external device, the communication cycle of data packets can be automatically set.
[0117] Previously, when initially setting the communication cycle between a robot control unit and external devices, it was sometimes impossible to estimate the appropriate value. Furthermore, when multiple communication connections existed between the robot control unit and external devices, setting the communication cycle was time-consuming. Additionally, various computational processes were performed within the robot control unit, thus requiring consideration of CPU load when setting the communication cycle in the communication network between the robot control unit and external devices, which also resulted in time consumption.
[0118] According to embodiments and variations thereof of this disclosure, the communication cycle for communication between the robot control device and external devices can be automatically set. Furthermore, according to embodiments and variations thereof of this disclosure, an appropriate communication cycle that takes into account the CPU load of the computing processing unit within the robot control device can be set.
[0119] The present disclosure has been described in detail above, but it is not limited to the various embodiments and modifications described above. These embodiments and modifications can be supplemented, substituted, modified, or partially deleted in various ways without departing from the spirit of the present disclosure or from the spirit of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments and modifications can also be implemented in combination. For example, in the embodiments and modifications described above, the order of each action and the order of each process are shown as an example, and are not limited thereto. The same applies to the use of numerical values or mathematical formulas in the description of the embodiments and modifications described above.
[0120] <Postscript>
[0121] The following notes further disclose the above-described embodiments and variations.
[0122] (Note 1)
[0123] A communication setting device, wherein:
[0124] The data packet volume calculation unit calculates the data packet volume in the connection between the robot control device and external devices;
[0125] The communication cycle setting unit sets the communication cycle related to the connection in accordance with the data packet quantity calculated by the data packet quantity calculation unit.
[0126] (Note 2)
[0127] According to the communication setting device described in Appendix 1, wherein...
[0128] The communication cycle setting unit sets the communication cycle based on the pre-defined data packet volume allowance and the data packet volume calculated by the data packet volume calculation unit.
[0129] (Note 3)
[0130] According to the communication setting device described in Appendix 2, wherein...
[0131] The communication cycle setting unit has:
[0132] The storage department, including its temporary communication cycle;
[0133] The first temporary setting unit repeatedly executes the first temporary setting process until the data packet quantity calculated by the previous data packet quantity calculation unit under the temporary communication cycle stored in the storage unit exceeds the data packet quantity allowable value. The first temporary setting process is to set a further temporary communication cycle obtained by reducing the temporary communication cycle stored in the storage unit by a predetermined value and write it into the storage unit.
[0134] The second temporary setting unit repeatedly executes the second temporary setting process when the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication cycle stored in the storage unit exceeds the data packet quantity allowable value, until the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication cycle stored in the storage unit does not exceed the data packet quantity allowable value. The second temporary setting process is to set a further temporary communication cycle obtained by increasing the temporary communication cycle stored in the storage unit by a predetermined value and write it into the storage unit.
[0135] The determination unit, after the second temporary setting process, determines the temporary communication period corresponding to the data packet quantity when the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication period written to the storage unit does not exceed the data packet quantity allowable value, as the communication period for the connection.
[0136] (Note 4)
[0137] According to the communication setting device described in Appendix 2, wherein...
[0138] The allowable data packet volume is specified in accordance with the CPU utilization rate of the computing processing unit within the robot control device.
[0139] (Note 5)
[0140] According to the communication setting device described in Appendix 4, wherein...
[0141] The higher the CPU utilization, the smaller the allowable data packet size is set to.
[0142] (Note 6)
[0143] The communication setting device according to any one of Appendices 1 to 5, wherein,
[0144] The data packet volume calculated by the data packet volume calculation unit is the sum of the data packet volumes in multiple connections between the robot control device and external devices.
[0145] The communication cycle setting unit sets the communication cycle for each of the multiple connections.
[0146] (Note 7)
[0147] A robot control device, wherein:
[0148] The communication setting device as described in any one of Appendix 1 to 5.
[0149] (Note 8)
[0150] A robot control device, wherein:
[0151] The communication setting device described in Appendix 6.
[0152] Explanation of reference numerals in the attached figures
[0153] 1. Communication setting device
[0154] 2. Communications Control Department
[0155] 11. Data Packet Calculation Department
[0156] 12 Communication Cycle Setting Department
[0157] 21 Storage Department
[0158] 22 First Temporary Setting Department
[0159] 23 Second Temporary Setting Department
[0160] 24. Determining the Department
[0161] 31 PLC
[0162] 32 I / O modules
[0163] 100 Robot Control Device
[0164] 200 robots
[0165] 300 Robot Teaching Control Panel
[0166] 400 External devices.
Claims
1. A communication setting device, characterized in that, have: The data packet volume calculation unit calculates the data packet volume in the connection between the robot control device and external devices; The communication cycle setting unit sets a communication cycle related to the connection in accordance with the data packet quantity calculated by the data packet quantity calculation unit.
2. The communication setting device according to claim 1, characterized in that, The communication cycle setting unit sets the communication cycle based on a pre-defined data packet volume tolerance value and the data packet volume calculated by the data packet volume calculation unit.
3. The communication setting device according to claim 2, characterized in that, The communication cycle setting unit has: The storage department, including its temporary communication cycle; The first temporary setting unit repeatedly executes the first temporary setting process until the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication cycle stored in the storage unit exceeds the data packet quantity allowable value. The first temporary setting process is to set a further temporary communication cycle obtained by reducing the temporary communication cycle stored in the storage unit by a predetermined value and write it into the storage unit. The second temporary setting unit repeatedly executes a second temporary setting process when the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication cycle stored in the storage unit exceeds the data packet quantity allowable value, until the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication cycle stored in the storage unit does not exceed the data packet quantity allowable value. The second temporary setting process is to set a further temporary communication cycle obtained by increasing the temporary communication cycle stored in the storage unit by a predetermined value and write it into the storage unit. The determining unit, after the second temporary setting process, determines the temporary communication period corresponding to the data packet quantity when the data packet quantity calculated by the data packet quantity calculation unit under the temporary communication period written to the storage unit does not exceed the data packet quantity allowable value, as the communication period for the connection.
4. The communication setting device according to claim 2, characterized in that, The allowable data packet volume is specified in accordance with the CPU utilization rate of the computing processing unit within the robot control device.
5. The communication setting device according to claim 4, characterized in that, The higher the CPU utilization, the smaller the data packet volume tolerance value is set to.
6. The communication setting device according to any one of claims 1 to 5, characterized in that, The data packet volume calculated by the data packet volume calculation unit is the sum of the data packet volumes in multiple connections between the robot control device and the external device. The communication cycle setting unit sets the communication cycle for each of the multiple connections.
7. A robot control device, characterized in that, have: The communication setting device according to any one of claims 1 to 5.
8. A robot control device, characterized in that, have: The communication setting device according to claim 6.
Citation Information
Patent Citations
Programmable controller, data communication method and computer program
JP2011215821A