Control device , control method, and control program

The control device dynamically adjusts network priorities based on execution and communication statuses to enhance the responsiveness of the information network, addressing the prioritization issues in existing systems.

WO2026140068A1PCT designated stage Publication Date: 2026-07-02FANUC LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2024-12-24
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Existing control devices for industrial machines prioritize the control network over the information network, leading to decreased responsiveness of the information network when the processing of the control network is not performed or not very important.

Method used

A control device that dynamically adjusts the priority of communication between the control and information networks based on the execution status of the control program and the communication status of the control network, ensuring that high-load commands and network communications are prioritized accordingly.

Benefits of technology

Enhances the responsiveness of the information network by prioritizing high-load commands and network communications, preventing interference and ensuring smooth information display on higher-level servers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024045649_02072026_PF_FP_ABST
    Figure JP2024045649_02072026_PF_FP_ABST
Patent Text Reader

Abstract

A control device according to the present invention, which is connected to an industrial machine, comprises at least one processor, wherein the at least one processor: acquires a communication state through a control network for performing function control and an execution state of a control program for causing the industrial machine to operate; and determines the relative priorities of communication through the control network and communication through an information network that performs state output, on the basis of the acquired communication state through the control network and the acquired execution state of the control program.
Need to check novelty before this filing date? Find Prior Art

Description

Control Device, Control Method, and Control Program

[0001] The present disclosure relates to a control device, a control method, and a control program.

[0002] The control device of an industrial machine has two major types of networks (see, for example, Patent Document 1). The two networks are a network mainly used for function control of the control device (hereinafter, control network) and a network mainly used for information display on the screen (hereinafter, information network).

[0003] In the control device, the priority of the control network for controlling the industrial machine is set higher than the priority of the information network. Also, the network function in the control device needs to not affect functions such as program execution in the industrial machine.

[0004] Japanese Patent Application Laid-Open No. 2015-176191

[0005] However, if the priority of the information network is always set lower than the priority of the control network, the responsiveness of the information network decreases even when the processing of the control network is not performed or when it is not very important. Therefore, it is desired to improve the responsiveness of the information network while prioritizing the control network function in the industrial machine.

[0006] One aspect of the present disclosure is a control device connected to an industrial machine, comprising at least one processor, the processor acquiring a communication state by a control network for performing function control and an execution state of a control program for operating the industrial machine, and determining a relative priority between communication by the control network and communication by an information network for performing state output based on the acquired communication state by the control network and the execution state of the control program.

[0007] This is a side view showing a control system including a control device according to one embodiment of the present disclosure. This is a diagram showing an example of the control program stored in the memory of the control device of Figure 1 and the priority of the control network. This is a flowchart showing the procedure for determining the priority of communication by the information network in a control method using the control device of Figure 1. This is a flowchart showing a modified example of Figure 3. This is a flowchart showing another modified example of Figure 3.

[0008] A control device 1, control method, and control program according to one embodiment of the present disclosure will be described below with reference to the drawings. As shown in Figure 1, the control device 1 according to this embodiment is a control device connected to an industrial machine 100 such as a robot or a machine tool, and comprises at least one processor 2, at least one memory 3, and a storage unit 4. The control device 1 also comprises a control network communication unit 5 that performs communication for function control via a control network, and an information network communication unit 6 that performs communication for status output via an information network. The control device 1 also comprises an interface 7 that outputs commands from the processor 2 to the industrial machine 100.

[0009] Processor 2 consists of a CPU or quantum processor, etc. Memory 3 consists of DRAM, etc., and temporarily stores data necessary for processor 2 to perform processing. Storage unit 4 consists of a hard disk, SSD, flash memory, etc. Storage unit 4 stores operation programs and control programs that cause processor 2 to perform the operations described later, as well as data necessary for those operations.

[0010] The control network communication unit 5 is an interface that is connected to, for example, an external PLC (Programmable Logic Controller) 20 via the control network. The PLC 20 is connected to, for example, an external sensor 30 and a switch 40, and acquires status signals such as temperature and pressure detected by the sensor 30, and operates the external switch 40. The control network communication unit 5 outputs commands to the PLC 20 via the control network to acquire signals from the sensor 30 or to operate the switch 40.

[0011] The information network communication unit 6 is an interface and is connected via the information network to a display unit 50 that displays information such as that of a higher-level server or a user's terminal. The information network communication unit 6 outputs information such as monitoring of operating status or production status, progress information of the next process or processing, operating time, position information of the motor of the industrial machine 100 controlled by the control device 1, and the execution line of the program.

[0012] The processor 2 reads the control program stored in the memory unit 4, temporarily stores it in the memory 3, executes the stored control program, and outputs commands to the industrial machine 100 via the interface 7. Therefore, the processor 2 constitutes the control program execution unit.

[0013] Before executing the control program, processor 2 sets the priorities for executing the control program and for communication via the control network. For example, as shown in Figure 2, the priorities are set in descending order: execution of the control program (priority 20), and communication via the control network (priority 30). Here, a smaller number indicates a higher priority.

[0014] Next, the control method by the control device 1 according to this embodiment will be described below. According to the control method according to this embodiment, the processor 2 sets the priority of communication by the information network at a predetermined sampling period as follows.

[0015] As shown in Figure 3, the processor 2 first sets the priority of the information network to the same priority as the execution priority of the control program (priority 20) (step S1). Next, the processor 2 obtains the execution status of the control program (step S2). Then, the processor 2 determines from the obtained execution status whether or not the control program is currently running (step S3).

[0016] If a control program is running, the processor 2 determines whether the command it is executing is a high-load command (step S4). Whether the command being executed is high-load can be determined by the type of G-code in the control program being executed. Generally, if the command being executed is a G-code for operating a motor, it is determined to be a high-load command. The types of G-codes that are determined to be high-load commands are determined based on a list stored in memory 3.

[0017] If the command being executed by processor 2 is high-load, it sets the priority of communication via the information network to the same level as the priority of communication via the control network (priority 30) (step S5). When the control program is not being executed, and the command being executed is not high-load, processor 2 maintains the priority of communication via the information network (priority 20).

[0018] Next, the processor 2 obtains the communication status of the control network from the control network communication unit 5 (step S6). The processor 2 determines from the obtained communication status whether or not communication by the control network is currently in progress (step S7).

[0019] If communication via the control network is in progress, processor 2 sets the priority of communication via the information network to a lower priority (priority 40) than that of communication via the control network (step S8). If communication via the control network is not in progress, processor 2 maintains the priority of communication via the information network (priority 20 or priority 30).

[0020] Thus, according to this embodiment, the priority of executing the control program is always set higher than the priority of communication via the control network. Furthermore, when the processor 2 is executing a high-load command to the industrial machine 100, the priority of executing the control program is set higher than the priority of communication via the information network. Moreover, when communication via the control network is in progress, the priority of communication via the control network is set higher than the priority of communication via the information network.

[0021] As a result, when the control program execution unit is executing a high-load command, the control program is executed with priority over communication on the control network and information network. Also, when communication by the control network communication unit 5 is being performed, communication by the control network is executed with priority over communication on the information network. In other words, high-load commands by the control program execution unit and communication by the control network communication unit 5 can be executed without being interfered with by communication on the information network communication unit 6.

[0022] On the other hand, if the control program execution unit is not executing high-load commands, communication via the information network takes precedence over execution by the control program. Furthermore, if communication via the control network is not being performed, communication via the information network takes precedence over communication via the control network. Thus, the priority of communication via the information network is determined according to the execution status of the control program and the communication status of the control network.

[0023] In other words, if the control program execution unit is not running or is performing a relatively unimportant operation, communication via the information network is prioritized over the execution of the control program. Similarly, if communication via the control network is not in progress, communication via the information network is also prioritized over control network communication. This allows information to be displayed smoothly on higher-level servers, etc.

[0024] Furthermore, in this embodiment, before determining the priority of communication via the information network, the priority of communication via the information network was set to the same priority 20 as the priority of execution of the control program. That is, when the control program execution unit is not running or is not executing high-load commands, communication via the information network and execution of the control program are executed with the same priority.

[0025] If the priority of communication via the information network is set higher than the priority of execution of the control program, communication via the information network will always take precedence. In other words, even when a high-load command from the control program is executed during the sampling period, communication via the information network will take precedence. On the other hand, by setting them to the same priority, it is possible to prevent the inconvenience of high-load commands being left waiting without being executed.

[0026] Similarly, when the control program execution unit is executing a high-load command, the priority of communication via the information network is set to the same priority 30 as the priority of communication via the control network. In other words, when the control program execution unit is executing a high-load command and communication via the control network is not being performed, communication via the information network and the control network are performed with the same priority.

[0027] If the priority of communication via the information network is set higher than that of communication via the control network, then communication via the information network will always take precedence. In other words, even if communication via the control network is performed during the sampling period, communication via the information network will take precedence. On the other hand, by setting them to the same priority, it is possible to prevent the inconvenience of control network communication being kept waiting without being performed.

[0028] In this embodiment, priority is indicated by a numerical value, but this is merely an example and not limited to this value. Also, while a smaller numerical value indicates higher priority, the reverse is also possible. Furthermore, in this embodiment, whether or not the control program is executing a high-load command is determined by the type of G-code. Alternatively, it may be determined that a command is high-load if the number of program blocks executed per unit time by the control program execution unit is greater than a predetermined threshold. Or, it may be determined that a command is high-load if the number of program blocks pre-read by the control program execution unit is greater than a predetermined threshold.

[0029] Furthermore, in this embodiment, the priority of communication via the information network was adjusted according to the execution status of the control program and the communication via the control network. Alternatively, the priority of the execution of the control program and the communication via the control network may be adjusted according to the execution status of the communication via the information network.

[0030] Furthermore, in this embodiment, the execution status of the control program and the execution status of communication via the control network were always acquired. Alternatively, decision information to select whether or not to use the execution status of the control program or the execution status of communication via the control network as a condition may be stored in memory 3.

[0031] For example, as shown in Figure 4, it may be determined whether or not decision information is stored that is conditional on the control program being executed (step S10). In this case, the processor 2 only needs to execute the steps from step S2 if the condition is that the control program is being executed.

[0032] Alternatively, it may be determined whether or not decision information is stored that is conditional on communication via the control network being performed (step S11). In this case, the processor 2 only needs to execute the steps from step S6 if communication via the control network is being performed.

[0033] Furthermore, in this embodiment, the priority of communication via the information network is set to a level lower than the priority of the control program execution, but it may be possible to set it to a higher priority than the control program execution priority. For example, this could be the case if the user wants to prioritize the quality of the screen on the terminal. In such cases, if the frequency of communication via the information network is low and it does not affect the execution of the control program, there is no problem in prioritizing communication via the information network.

[0034] For example, regardless of the execution status of the control program, decision information prioritizing communication via the information network can be stored in memory 3. As shown in Figure 5, the processor 2 determines whether or not this decision information is stored (step S12). If this decision information is stored, the processor 2 sets the priority of communication via the information network to a higher priority than the execution priority of the control program, for example, priority 15 (step S13).

[0035] Furthermore, in this embodiment, when communication via the control network is in progress, the priority of communication via the information network is set lower than the priority of communication via the control network. Alternatively, even when communication via the control network is in progress, the priority of communication via the information network may be set higher than the priority of communication via the control network. For example, this might be the case if the user wants to prioritize the quality of the screen on the terminal over communication via the control network.

[0036] In this case, regardless of the communication status of the control network, it is sufficient to store decision information in memory 3 that prioritizes communication via the information network. As shown in Figure 5, the processor 2 determines whether or not this decision information is stored (step S14). If this decision information is stored, the processor 2 sets the priority of communication via the information network to a higher level than the priority of communication via the control network, for example, to priority 25 (step S15).

[0037] In this embodiment, the processor 2 acquires the execution status of the control program and the communication status of the control network, and determines the priority of the information network based on the acquired execution status and communication status. Alternatively, operational information may be generated based on the acquired execution status of the control program and the communication status of the control network. The execution status of the control program and other information may include unnecessary information. It is also preferable in some cases to allow the user to specify which information to use. Therefore, generating operational information that extracts only the necessary information has the advantage of making the determination easier.

[0038] In this case, the execution status of the control program or the communication status of the control network that constitutes the operational information can be associated with a priority and stored in memory 3. In step S13 or step S15, the processor 2 can refer to memory 3, read the priority corresponding to the execution status of the control program or the communication status of the control network from memory 3, and apply it.

[0039] Although embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of the invention or from the spirit and intent of the invention derived from the claims and their equivalents. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto.

[0040] The following additional information is disclosed with respect to the above embodiments and modifications. (Addendum 1) A control device connected to an industrial machine, comprising at least one processor, wherein the processor acquires the communication state of a control network that performs function control and the execution state of a control program that operates the industrial machine, and determines the relative priority between communication by the control network and communication by an information network that performs state output based on the acquired communication state of the control network and the execution state of the control program.

[0041] (Supplementary Note 2) The control device according to Supplementary Note 1, wherein the processor generates operation information based on at least one of the communication state by the control network or the execution state of the control program, and determines the priority based on the operation information.

[0042] (Supplementary Note 3) A control device comprising at least one memory, the memory storing determination information for determining the priority, and the processor determining the operation information used for determining the priority based on the determination information stored in the memory.

[0043] (Supplementary Note 4) The control device according to Supplementary Note 3, wherein the determination information associates the operation information used for determining the priority with the value of the priority.

[0044] (Supplementary Note 5) The control device according to any one of Supplementary Notes 1 to 4, wherein the execution state of the control program is G-code included in the control program.

[0045] (Supplementary Note 6) The control device according to any one of Supplementary Notes 1 to 4, wherein the execution state of the control program is the number of blocks of the control program executed per unit time.

[0046] (Supplementary Note 7) The control device according to any one of Supplementary Notes 1 to 4, wherein the execution state of the control program is the number of blocks pre-read in the control program.

[0047] (Supplementary Note 8) A control method by a control device connected to an industrial machine, the method including obtaining a communication state by a control network for performing function control and an execution state of a control program for operating the industrial machine, and determining a relative priority between communication by the control network and communication by an information network for performing state output based on the obtained communication state by the control network and the execution state of the control program.

[0048] (Appendix 9) A control method by a control device connected to an industrial machine, comprising: obtaining a communication state by a control network that performs function control and an execution state of a control program that operates the industrial machine; and determining a relative priority between communication by the control network and communication by an information network that performs state output based on the obtained communication state by the control network and the execution state of the control program, and causing a computer to execute the determination. A control program.

[0049] 1 Control device 2 Processor 3 Memory 100 Industrial machine

Claims

1. A control device connected to an industrial machine, comprising at least one processor, wherein the processor acquires the communication status of a control network that performs function control and the execution status of a control program that operates the industrial machine, and determines the relative priority between communication by the control network and communication by an information network that performs status output based on the acquired communication status of the control network and the execution status of the control program.

2. The control device according to claim 1, wherein the processor generates operational information based on at least one of the communication status of the control network or the execution status of the control program, and determines the priority based on the operational information.

3. The control device according to claim 2, comprising at least one memory, the memory storing decision information for determining the priority, and the processor determining the operational information to be used for determining the priority based on the decision information stored in the memory.

4. The control device according to claim 3, wherein the determination information is a correspondence between the operational information used to determine the priority and the value of the priority.

5. The control device according to any one of claims 1 to 4, wherein the execution state of the control program is a G code included in the control program.

6. The control device according to any one of claims 1 to 4, wherein the execution state of the control program is the number of blocks of the control program executed per unit time.

7. The control device according to any one of claims 1 to 4, wherein the execution state of the control program is the number of blocks that have been pre-read in the control program.

8. A control method using a control device connected to an industrial machine, comprising: acquiring the communication status of a control network that performs function control and the execution status of a control program that operates the industrial machine; and determining the relative priority between communication by the control network and communication by an information network that outputs status, based on the acquired communication status of the control network and the execution status of the control program.

9. A control method using a control device connected to an industrial machine, the control program comprising: causing a computer to perform the following actions: acquiring the communication status of a control network that performs function control and the execution status of a control program that operates the industrial machine; and determining the relative priority between communication by the control network and communication by an information network that performs status output, based on the acquired communication status of the control network and the execution status of the control program.