Control system
The control system addresses the challenge of flexible application usage on specific communication ports by integrating a communication information holding unit that allows applications to manage and control their sessions, enhancing port usage flexibility and communication management.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2024-12-06
- Publication Date
- 2026-06-11
AI Technical Summary
Existing control systems for industrial machines face challenges in enabling flexible application usage on specific communication ports while maintaining real-time control, leading to difficulties in developing applications that can dynamically adjust communication settings based on conditions.
A control system with a communication information holding unit that manages and associates application information with communication information, allowing applications to determine and control their communication sessions, including features like continuation, termination, and cycle changes.
Enables flexible control of application usage on specific communication ports, allowing applications to restrict connections and manage communication loads effectively without requiring additional control devices.
Smart Images

Figure JP2024043302_11062026_PF_FP_ABST
Abstract
Description
Control system
[0001] The present disclosure relates to a control system.
[0002] In a manufacturing site such as a factory, an application is operated on an external computer or a portable terminal connected to a control device that controls industrial machines such as robots and machine tools, and the state display and operation of the industrial machines are performed (for example, Patent Document 1). There are cases where the control device desires to enable the use of a specific application only on a specific communication port. For example, when it is desired to allow the use of a specific application only on an integrated display incorporated in the control device, it is desired to enable the use of the application only on the communication port internally connected to the integrated display. Further, when there is an application known to impose a large load on the control device, it is desired to enable the use of the application on a communication port different from the industrial communication that requires real-time control.
[0003] Japanese Patent Application Laid-Open No. 2019-028769
[0004] When attempting to enable the use of a specific application only on a specific communication port on the control device side, it is necessary for the control device side to respond for each type of application. When attempting to respond on the control device side in this way, it becomes difficult to develop an application that performs flexible control, such as limiting to a specific communication port under specific conditions or解除 the limitation by clearing specific conditions. At the site, a mechanism that allows the application developer side to flexibly control the usage situation is desired.
[0005] The control system according to the present disclosure provides a communication information holding unit on the control device side that manages by associating communication information with application information, allows the application information managed by the control device to be confirmed on the application side, and enables the application itself to determine communication control such as the continuation of a communication session, thereby solving the above problems.
[0006] Furthermore, one aspect of the present disclosure is a control system comprising: a control device for controlling an industrial machine; an execution device connected to the control device via a communication line for executing an application; and a communication information holding unit for holding communication information relating to the application provided by the execution device and information relating to the communication at the time of said provision, wherein the execution device comprises: a providing unit for providing the application information relating to the application; an acquisition unit for acquiring communication information associated with the application from the communication information holding unit; and a communication control determination unit for making a decision on controlling the communication relating to the application based on the communication information acquired by the acquisition unit.
[0007] This is a hardware configuration diagram of each device constituting the control system according to the first embodiment. This is a block diagram showing the functions of each device constituting the control system according to the first embodiment. This is a schematic diagram showing an example of communication information. This is a schematic diagram showing an example of a communication control rule. This is a schematic diagram showing another example of a communication control rule. This is a schematic diagram showing another example of a communication control rule. This is a schematic diagram showing another example of a communication control rule. This is a block diagram showing the functions of each device constituting the control system according to other embodiments. This is a block diagram showing the functions of each device constituting the sub-execution device according to other embodiments.
[0008] The embodiments of this disclosure will be described below with reference to the drawings. [First Embodiment] Figure 1 is a schematic hardware configuration diagram showing the main parts of each device constituting the control system according to the first embodiment of this disclosure. The control system 1 of this disclosure is configured such that a control device 10 for controlling an industrial machine 3 and at least one execution device 30 for executing an application related to the industrial machine 3 are connected via a wired / wireless communication line 5.
[0009] The CPU 11 in the control device 10 according to this embodiment is a processor that controls the control device 10 as a whole. The CPU 11 reads the system program stored in the ROM 12 via the bus 19 and controls the entire control device 10 according to the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from external sources.
[0010] The non-volatile memory 14 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and its stored state is maintained even when the power to the control device 10 is turned off. The non-volatile memory 14 stores programs and data read from external devices 22 via the interface 15, and programs and data input via the input device 21. The data stored in the non-volatile memory 14 may be expanded into the RAM 13 during execution / use. In addition, various system programs, such as known analysis programs, are pre-written in the ROM 12.
[0011] Interface 15 is an interface for connecting the CPU 11 of the control device 10 to an external device 22 such as a USB device. From the external device 22, for example, programs and data that have been stored in advance can be read. In addition, programs and data edited within the control device 10 can be stored in an external storage means via the external device 22.
[0012] Interface 18 is an interface for connecting the CPU 11 of the control device 10 to at least one wired or wireless communication line 5. The communication line 5 can be, for example, Ethernet, optical fiber, bus line, or radio waves. The control device 10 is connected to at least one execution device 30 via the communication line 5. The control device 10 and the execution device 30 exchange data with each other using TCP communication, UDP communication, DCCP communication, SCTP communication, bus communication, etc., depending on the type of communication line 5. The control device 10 may be connected to multiple communication lines 5. In such a case, at least one execution device 30 may be connected to the end of each communication line 5.
[0013] The display device 20 displays data read into memory, data obtained as a result of executing programs, etc., which are output via interface 16. The input device 21, consisting of a keyboard and pointing device, transmits commands and data based on operator operations to the CPU 11 via interface 17.
[0014] The control device 10 controls industrial machinery 3, such as robots and machine tools. The control device 10 is connected to the industrial machinery 3 via servo amplifiers, spindle amplifiers, PLCs (programmable logic controllers), etc. (not shown), and controls the industrial machinery 3 by sending and receiving control signals through these devices.
[0015] On the other hand, the CPU 31 in the execution device 30 is a processor that controls the execution device 30 as a whole. The CPU 31 reads the system program stored in the ROM 32 via the bus 39 and controls the entire execution device 30 according to the system program. The RAM 33 temporarily stores temporary calculation data, display data, and various data input from external sources.
[0016] The non-volatile memory 34 is composed of, for example, a memory backed up by a battery (not shown) or an SSD (Solid State Drive), and its stored state is maintained even when the power to the execution device 30 is turned off. The non-volatile memory 34 stores programs and data read from external devices 42 via the interface 35, and programs and data input via the input device 41. The data stored in the non-volatile memory 34 may be expanded into the RAM 33 during execution / use. In addition, various known system programs are pre-written into the ROM 32.
[0017] Interface 35 is an interface for connecting the CPU 31 of the execution device 30 to an external device 42 such as a USB device. From the external device 42, for example, programs and data that have been stored in advance can be read. In addition, programs and data edited within the execution device 30 can be stored in an external storage means via the external device 42.
[0018] Interface 38 is an interface for connecting the CPU 31 of the execution device 30 to a wired or wireless communication line 5. The execution device 30 exchanges data with the control device 10 via the communication line 5.
[0019] The display device 40 displays data read into memory, data obtained as a result of executing programs, etc., which are output via interface 36. The input device 41, which consists of a keyboard and a pointing device, transmits commands and data based on operations by the operator to the CPU 31 via interface 37.
[0020] Figure 2 is a schematic block diagram showing the functions of each device constituting the control system 1 according to the first embodiment of this disclosure. The functions of each device according to this embodiment are realized by the CPU 11 of the control device 10 and the CPU 31 of the execution device 30, respectively, executing a system program and controlling the operation of each part of the control device 10 and the execution device 30.
[0021] On the execution device 30 according to this embodiment, application software related to the industrial machine 3 (hereinafter referred to as "application") operates. This application 300 operates by establishing a communication connection with the control device 10 via a communication line 5 and exchanging predetermined data. The application 300 may be, for example, an application 300 that periodically acquires and displays data indicating the operating status of the industrial machine 3. Alternatively, it may be an application 300 that accepts operations to instruct the operation of the industrial machine 3 and transmits them to the control device 10. Each function of the execution device 30 according to this embodiment is implemented on top of the application 300. When multiple applications are running on the execution device 30, each application has each function of the execution device 30 according to this embodiment.
[0022] The control device 10 constituting the control system 1 according to this embodiment includes a communication information holding unit 100. The execution device 30 constituting the control system 1 according to this embodiment includes a providing unit 310, an acquisition unit 320, and a communication control determination unit 330. Furthermore, the RAM 33 to non-volatile memory 34 of the execution device 30 is provided with an application information storage unit 380, which is an area that stores information related to the application running on the execution device 30, and a communication control rule storage unit 390, which is an area that stores rules for controlling communication between the application and the control device 10 in advance.
[0023] The provisioning unit 310 of the execution device 30 reads application information, which is information related to the application 300, from the application information storage unit 380 and provides it to the control device 10 via the communication line 5 when the application 300 is executed on the execution device 30 and communication with the control device 10 is established. The application information provided by the provisioning unit 310 may include the process name, process ID, executable file name, version information, product name, etc. of the application 300. The application information may also be encrypted using a predetermined encryption algorithm such as a one-way function. It is desirable that the application information provided by the provisioning unit 310 includes at least information that can uniquely identify the application 300 running on the execution device 30.
[0024] The communication information holding unit 100 of the control device 10 holds communication information that associates application information provided by the providing unit 310 with information related to the communication when the application information was provided. The communication information included in the communication information may include a communication connector identifier, communication connector name, communication connector number, MAC address, IP address, port number, etc. It is desirable that the communication information includes information that can uniquely identify the communication path through which each application 300 communicates with the control device 10.
[0025] The format of the communication information held by the communication information holding unit 100 can be anything. For example, the communication information can be held in JSON format, XML format, binary format, etc. Figure 3 is a schematic diagram showing an example of holding communication information in JSON format. In the example in Figure 3, the key "process" is the process name of the application information. The key "connector" is the name of the communication connector for the communication information. Furthermore, the key "ip" is the IP address for the communication information. In the example in Figure 3, there are three pieces of communication information held by the communication information holding unit 100. The first is that an application 300 called "appX" is communicating with the communication connector name "eth1" from an execution device with the IP address "192.168.123.1". The second is that an application 300 called "appY" is communicating with the communication connector name "eth2" from an execution device with the IP address "192.168.127.7". The third point indicates that application 300, named "appZ," is communicating from an execution device connected to the communication connector named "USB1."
[0026] Meanwhile, the acquisition unit 320 of the execution device 30 requests that the communication information storage unit 100 transmit the communication information it holds when the application 300 connects to the control device 10. In response to the request from the acquisition unit 320 of the execution device 30, the communication information storage unit 100 transmits the communication information it holds. The communication information storage unit 100 may transmit all the communication information it currently holds to the execution device 30. The acquisition unit 320 acquires the communication information transmitted from the communication information storage unit 100. It then outputs the acquired communication information to the communication control determination unit 330.
[0027] The communication control determination unit 330 controls communication between the application 300 and the control device 10 based on the communication information acquired by the acquisition unit 320. The communication control determination unit 330 reads the communication control rules for the application 300 and the control device 10 by referring to the communication control rule storage unit 390. If the communication information satisfies the conditions of the communication control rule, it executes the communication control indicated by that communication control rule. Examples of communication controls executed by the communication control determination unit 330 include continuing communication, discarding communication, changing the communication cycle, changing the communication frequency, changing the communication data size, encrypting communication, and synchronous control of communication.
[0028] Figure 4 is a schematic diagram illustrating an example of a communication control rule. A communication control rule associates a condition related to communication information with a communication control process to be executed when that condition is met. In the example in Figure 4, the communication control rule defines that, by referring to the communication information, if the conditions "communication by the same application exists" or "the communication connector name is not "eth1"" are met, the communication by application 300 will be disconnected. When such a communication control rule is defined, application 300 will disconnect communication with the control device 10 if the same application is already connected to the control device 10. This condition is satisfied if there are two or more pieces of communication information that contain the same process name. Also, application 300 will disconnect communication with the control device 10 if the communication connector name included in its own communication information is not "eth1". By defining communication control rules in this way, it becomes possible to control communication so that only one application 300 can connect to the control device 10 by connecting to the communication connector name "eth1".
[0029] Figure 5 is a schematic diagram illustrating another example of a communication control rule. In the example in Figure 5, a communication control rule is defined that, by referring to the communication information, if the condition "the communication connector name is not "eth2"" is met, the communication by application 300 is disconnected. When such a communication control rule is defined, application 300 disconnects communication with the control device 10 if the communication connector name included in its own communication information is not "eth2". By defining a communication control rule in this way, it becomes possible to control communication so that multiple applications 300 that have connected to the communication connector named "eth2" can connect to the control device 10.
[0030] Figure 6 is a schematic diagram showing another example of a communication control rule. In the example in Figure 6, the communication control rule is defined to disconnect the communication by application 300 when the following condition is met by referring to the communication information: "The communication connector name is "eth1", and there is communication by an application whose process name is "appX" or "appY" connected to the same communication connector "eth1". When such a communication control rule is defined, application 300 disconnects communication with the control device 10 if the communication connector name included in its own communication information is "eth1", and there is also a connection by another application whose communication connector name is "eth1" and whose process name is "appX" or "appY" in the communication information. By defining the communication control rule in this way, mutual exclusion control of applications "appX" and "appY" for connections to the communication connector name "eth1" can be performed.
[0031] Figure 7 is a schematic diagram showing another example of a communication control rule. In the example in Figure 7, the communication control rule is defined to reduce the communication cycle of application 300 by half when the conditions are met by referring to the communication information and finding that "the communication connector name is "eth1" and there is communication from an application with the process name "appX" connected to the same communication connector "eth1". When such a communication control rule is defined, application 300 will reduce the communication cycle with the control device 10 by half if the communication connector name included in its own communication information is "eth1" and there is also a connection from another application with the communication connector name "eth1" and the process name "appX" in the communication information. By defining the communication control rule in this way, when multiple applications "appX" are connected to the communication connector name "eth1", the amount of communication from the second and subsequent applications can be reduced, thereby reducing the communication load.
[0032] Communication control rules may be pre-embedded in application 300 using predetermined program code, or they may be defined using the application 300's configuration function or similar.
[0033] Furthermore, when communication between the application 300 and the control device 10 is interrupted, the provisioning unit 310 requests the control device 10 to discard its own communication information held by the communication information holding unit 100. In response to this request, the communication information holding unit 100 discards the communication information related to the application 300. In addition, the communication information holding unit 100 monitors the status of communication with the application 300 running on each execution device 30, and discards the communication information related to the communication if it determines that the communication has been interrupted.
[0034] The control system 1 according to this embodiment, with the above configuration, allows applications to restrict connections to the control device without requiring additional control devices. This enables applications to determine whether to restrict an application to operate only on a specific Ethernet port or to limit the number of applications with the same name that can be simultaneously connected to a specific Ethernet port. Furthermore, because applications can make these decisions, they can easily add restriction settings other than Ethernet ports, increasing the flexibility of the application.
[0035] [Other Embodiments] In the embodiments described above, the control device 10 is shown to be equipped with a communication information holding unit 100. However, as shown in Figure 8, for example, if the control system is configured with at least one sub-executor 50 connected to the execution device 30, the communication information holding unit 100 can also be provided on the execution device 30. In this configuration, the sub-executor 50 is connected to the control device 10 via the execution device 30. Furthermore, the sub-executor 50 has the same configuration as the execution device according to the first embodiment, as illustrated in Figure 9. In this case, the communication information holding unit 100 holds communication information related to communication between the execution device 30 and the sub-executor 50. With this configuration, it becomes possible to perform flexible application communication control even in hierarchically connected execution devices 30 and sub-executor 50.
[0036] While 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 spirit of the invention or from the idea and intent of this disclosure 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. The same applies when numerical values or mathematical formulas are used in the description of the embodiments described above.
[0037] The following are annotations relating to embodiments of the present disclosure. (Annotation 1) A control system (1) according to one aspect of the present disclosure includes a control device (10) for controlling an industrial machine (3), an execution device (30) connected to the control device (10) via a communication line (5) for executing an application (300), and a communication information holding unit (100) that holds communication information relating to application information related to the application (300) provided by the execution device (30) and information relating to the communication at the time of said provision. The execution device (30) includes a providing unit (310) for providing application information related to the application (300), an acquisition unit (320) for acquiring communication information associated with the application (300) from the communication information holding unit (100), and a communication control determination unit (330) for determining whether to control the communication related to the application (300) based on the communication information acquired by the acquisition unit (320).
[0038] (Note 2) The communication information holding unit (100) in the control system (1) according to another aspect of the present disclosure operates on the control device (10), and the communication information is information relating to communication between the control device (10) and the execution device (30). (Note 3) The communication information holding unit (100) in the control system (1) according to another aspect of the present disclosure operates on the execution device (30), and further includes at least one sub-execution device (50) connected to the execution device (30) via a communication line and each executing an application (300), and the communication information is information relating to communication between the execution device (30) and the sub-execution device (50). (Note 4) The communication information holding unit (100) in the control system (1) according to another aspect of the present disclosure monitors the status of the communication and discards the communication information relating to the communication when it is determined that the communication has been interrupted.
[0039] (Note 5) The communication via the communication line (5) in the control system (1) in other embodiments of the present disclosure is any of TCP communication, UDP communication, DCCP communication, SCTP communication, and bus communication via Ethernet. (Note 6) The communication information held by the control system (1) in other embodiments of the present disclosure includes at least one of a communication connector identifier, a communication connector name, a communication connector number, a MAC address, an IP address, and a port number.
[0040] (Note 7) The application information used by the control system (1) in other aspects of the present disclosure includes at least one of a process name, process ID, executable file name, version information, and product name. (Note 8) The control of the communication performed by the control system (1) in other aspects of the present disclosure is to control at least one of the following: continuation of communication, termination of communication, change of communication cycle, change of communication frequency, change of communication data size, encryption of communication, and synchronization control of communication.
[0041] 1 Control system 3 Industrial machine 5 Communication line 10 Control device 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15-18 Interface 19 Bus 20 Display device 21 Input device 22 External device 30 Execution device 31 CPU 32 ROM 33 RAM 34 Non-volatile memory 35-38 Interface 39 Bus 40 Display device 41 Input device 42 External device 50 Sub-execution device 100 Communication information storage unit 300 Application 310 Provision unit 320 Acquisition unit 330 Communication control judgment unit 380 Application information storage unit 390 Communication control rule storage unit
Claims
1. A control system comprising: a control device for controlling industrial machinery; an execution device connected to the control device via a communication line for executing an application; and a communication information holding unit that holds communication information relating to the application provided by the execution device and information relating to the communication at the time of said provision, wherein the execution device comprises: a providing unit for providing the application information relating to the application; an acquisition unit for acquiring communication information associated with the application from the communication information holding unit; and a communication control determination unit for making a decision on controlling the communication relating to the application based on the communication information acquired by the acquisition unit.
2. The control system according to claim 1, wherein the communication information holding unit operates on the control device, and the communication information is information relating to communication between the control device and the execution device.
3. The control system according to claim 1, wherein the communication information holding unit operates on the execution device, and further comprises at least one sub-execution device connected to the execution device via a communication line and each executing an application, and the communication information is information relating to communication between the execution device and the sub-execution device.
4. The control system according to claim 1, wherein the communication information holding unit monitors the status of the communication and discards the communication information related to the communication when it determines that the communication has been terminated.
5. The control system according to claim 1, wherein the communication via the communication line is one of TCP communication, UDP communication, DCCP communication, SCTP communication, and bus communication via Ethernet.
6. The control system according to claim 1, wherein the communication information includes at least one of a communication connector identifier, a communication connector name, a communication connector number, a MAC address, an IP address, and a port number.
7. The control system according to claim 1, wherein the application information includes at least one of a process name, a process ID, an executable file name, version information, and a product name.
8. The control system according to claim 1, wherein the control of the communication is to control at least one of the following: continuation of communication, termination of communication, change of communication period, change of communication frequency, change of communication data size, encryption of communication, and synchronization control of communication.