Communication resource planning method, communication resource planning device, and control network system

CN122935899APending Publication Date: 2026-10-16HITACHI HIGH TECH CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202580016877.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-03
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

然而,在使用Ethernet的控制系统中,随着子控制器的数量增加,通信分组的管理变得复杂,要求高效的数据管理

Benefits of technology

[0018] According to the present invention, a communication resource planning method, a communication resource planning apparatus, and a control network system can be provided, which can improve communication performance by increasing communication efficiency and suppressing communication overhead, and can cope with changes in apparatus structure and maintain or improve operating rate, or ensure reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122935899A_ABST
    Figure CN122935899A_ABST
Patent Text Reader

Abstract

Provided are a communication resource planning method, a communication resource planning device, and a control network system, which can improve communication performance through improvement of communication efficiency and suppression of communication overhead, and can cope with changes in device structure and maintain or improve operation rates or ensure reliability. A communication object structure indicating a combination of two or more communication objects is specified for each of a plurality of control modes indicating a series of action modes of one or more control devices. In all of the communication object structures, one communication object is selected from all of the communication objects included in the communication object structure based on a given reference, the selected communication object is arranged in a logical address space, each of all of the communication objects other than the arranged communication object is sequentially selected based on a given reference, and is arranged in the logical address space so that the arranged communication object is located at approximately the center, thereby planning arrangement in the logical address space of the plurality of communication objects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a communication resource planning method, a communication resource planning apparatus, and a control network system. Background Technology

[0002] Control systems supporting social infrastructure consist of sensors, controllers, and actuators. Sensors acquire the state of physical objects and input it into the controller. The controller calculates control command values ​​to instruct the actuators, which then act on the physical objects based on these command values. This process is thus completed. For example, the desired control is executed by periodically repeating such a series of processes.

[0003] Such control systems are widely used in various industrial fields, including factory automation (FA), process automation (PA) in chemical equipment, semiconductor manufacturing equipment, inspection equipment, medical equipment, distributed control systems (DCS), power system control systems, power plants, water treatment systems, and steel control systems.

[0004] The increasing scale and sophistication of control systems, along with advancements in industrial IoT (Internet of Things), necessitate higher communication speeds, shorter control communication cycles, and larger communication capacities. Furthermore, flexible modifications to the system architecture are sometimes required to address changing demands and performance improvements after system operation.

[0005] As a solution to these needs, Ethernet (registered trademark) is introduced into the control network to achieve a high-capacity, high-speed, and flexible network structure for communication. However, in control systems using Ethernet, as the number of sub-controllers increases, the management of communication packets becomes more complex, requiring efficient data management. In particular, improper allocation of control data to each sub-controller or inappropriate configuration of communication objects within communication packets can lead to a reduction in overall system performance. Therefore, technologies are needed to address both the requirements for improved communication performance and changes in system architecture.

[0006] As a technology related to such technology, for example, Patent Document 1 discloses a communication device that "is a substation connected to a controlled object, or a master station that controls a controlled object device by communicating with a substation, and includes: a parameter holding unit that holds pre-defined communication parameters based on the action state that the controlled object device can take; and a transmitting unit and a receiving unit that determine the action state of the controlled object device based on the content of the previous communication with the peer communication device, and communicates with the peer communication device using the communication parameters corresponding to the determined action state."

[0007] Prior art literature

[0008] Patent documents

[0009] Patent Document 1: Japanese Patent Application Publication No. 2009-17206 Summary of the Invention

[0010] -The problem the invention aims to solve-

[0011] As described above, one approach is to adjust the communication resource allocation of the sub-controllers by adjusting the length and period of the communication frames. In this case, the data transmission and reception capacity is determined based on the length and period of the communication frames forwarded on the network, as well as the time-division multiplexing (TDM) bandwidth. The communication frame is divided into portions that the communication resources of each sub-controller can handle, and a correspondence is established with each allocation destination, thereby achieving the allocation of communication resources.

[0012] However, challenges remain in balancing improved communication performance with adaptation to changes in system architecture. Specifically, the fixed allocation method for communication resources makes dynamic resource allocation difficult to consider network transmission capacity limitations. Consequently, the system suffers from a lack of scalability and flexibility, particularly when the structures of multiple control devices change, hindering efficient communication management.

[0013] To cope with changes in system architecture, communication resources typically need to be reallocated. However, in this approach, communication performance degrades due to the increased complexity of dynamic management and control of communication resources, as well as the reduced real-time performance caused by the planning and updating of communication resources.

[0014] The present invention was made in view of such a problem, and its object is to provide a communication resource planning method, a communication resource planning device, and a control network system that can improve communication performance by increasing communication efficiency and suppressing communication overhead, and can cope with changes in device structure and maintain or improve operating rate or ensure reliability.

[0015] -Methods for solving problems-

[0016] This application includes at least some of the means to solve the above-mentioned problems, but one example is described below. Specifically, a communication resource planning method plans the configuration in the logical address space of multiple communication objects, which are defined for each of multiple control devices controlled by each of multiple sub-controllers connected to a main controller. This is used when each of the sub-controllers and the main controller communicates control data related to each of the control devices. Based on a communication object structure representing a combination of two or more communication objects, defined by each of multiple control methods representing a series of actions of one or more control devices, from all the communication objects included in the entire communication object structure, one communication object is selected based on a given criterion, and the selected communication object is configured in the logical address space. Then, based on the given criterion, each of all the communication objects except the selected communication object is sequentially selected, and each of the sequentially selected communication objects is configured in the logical address space such that the selected communication object is located approximately in the center.

[0017] -Invention Effects-

[0018] According to the present invention, a communication resource planning method, a communication resource planning apparatus, and a control network system can be provided, which can improve communication performance by increasing communication efficiency and suppressing communication overhead, and can cope with changes in apparatus structure and maintain or improve operating rate, or ensure reliability.

[0019] Other issues, structures, and effects not described above will become clear through the following examples. Attached Figure Description

[0020] Figure 1 This is a diagram illustrating an example of the structure of the control network system in Embodiment 1.

[0021] Figure 2 This is a diagram illustrating an example of the structure of the communication resource planning device in Embodiment 1.

[0022] Figure 3 This is a diagram illustrating an example of the structure of the main controller in Embodiment 1.

[0023] Figure 4 This is a diagram illustrating an example of the structure of the sub-controller in Embodiment 1.

[0024] Figure 5 This is a diagram illustrating an example of the structure of a communication packet in Embodiment 1.

[0025] Figure 6 This is a flowchart illustrating an example of the planning process of the communication resource planning device in Embodiment 1.

[0026] Figure 7 This is a diagram illustrating an example of system structure information in Embodiment 1.

[0027] Figure 8 This is a diagram illustrating an example of the communication object structure for the control method in Embodiment 1.

[0028] Figure 9 This is a diagram illustrating an example of the input data in Example 1.

[0029] Figure 10 This is a diagram illustrating a configuration example of the communication object of the resource planning department in Embodiment 1.

[0030] Figure 11 This is a diagram illustrating other configuration examples of the communication objects of the resource planning department in Embodiment 1.

[0031] Figure 12 This is a flowchart illustrating an example of the executable file sending process performed by the main controller and the communication resource update process performed by the sub-controller in Embodiment 1.

[0032] Figure 13 This is a diagram illustrating an example of the structure of the control system in Embodiment 2.

[0033] Figure 14 This diagram illustrates an example of a change in the communication object used in the control method when the sub-controller is removed in Embodiment 2.

[0034] Figure 15 This is a diagram illustrating an example of the structural information of the sub-controller in Embodiment 3. Detailed Implementation

[0035] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. These embodiments are illustrative of the invention, and appropriate omissions and simplifications have been made for clarity of description. The invention can also be implemented in various other ways. Unless otherwise specified, each structural element can be single or multiple.

[0036] In order to facilitate understanding of the invention, the positions, sizes, shapes, and extents of the structural elements shown in the accompanying drawings are sometimes not representations of their actual positions, sizes, shapes, and extents. Therefore, the present invention is not necessarily limited to the positions, sizes, shapes, and extents disclosed in the accompanying drawings. When there are multiple structural elements with the same or identical functions, different subscripts are sometimes used to describe the same reference numerals. Furthermore, when it is not necessary to distinguish these multiple structural elements, subscripts are sometimes omitted in the description.

[0037] In the embodiments, the processing performed by executing the program is sometimes described. Here, the computer executes the program using a processor (e.g., CPU, GPU), and performs program-determined processing while using storage resources (e.g., memory), interface devices (e.g., communication ports), etc. Therefore, the processor can also be considered as the subject of the processing performed by executing the program. Similarly, the subject of the processing performed by executing the program can also be a controller, device, system, computer, or node that has a processor.

[0038] The main body that performs the processing by executing the program can be the arithmetic unit, or it can include dedicated circuits that perform specific processing. Here, dedicated circuits include, for example, FPGA (Field Programmable Gate Array), ASIC (Application Specific Integrated Circuit), CPLD (Complex Programmable Logic Device), etc.

[0039] The program can also be installed onto the computer from a program source. A program source can be, for example, a program distribution server or a computer-readable storage medium. When the program source is a program distribution server, the program distribution server may include a processor and storage resources for storing the programs to be distributed. The processor of the program distribution server distributes the programs to other computers. Furthermore, in embodiments, two or more programs can be implemented as one program, or one program can be implemented as two or more programs.

[0040] [Example 1]

[0041] (System example)

[0042] Figure 1 This is a diagram illustrating an example of the structure of the control network system in Embodiment 1. Hereinafter, it will be used... Figure 1 An overview of the control network system 10 is provided. Figure 1 In this system, the control network system 10 includes a control system 100 and a communication resource planning device 101. The control system 100 includes a main controller 102 and one or more sub-controllers 103 (sub-controllers 103-1, 103-2, ..., 103-n). The communication resource planning device 101 is connected to the main controller 102 via a network 105, and each sub-controller 103 is daisy-chained (beaded) with the main controller 102 via a control network 104 (control networks 104-1, 104-2, ..., 104-n).

[0043] exist Figure 1The diagram shows an example of a control network system 10 having only one control system 100, but the control network system 10 can also have multiple control systems 100. In this case, the communication resource planning device 101 can be connected to multiple master controllers 102 in multiple control systems 100 via network 105, or multiple communication resource planning devices 101 can be connected to the master controller 102 of each control system 100 respectively.

[0044] Furthermore, the connection between the communication resource planning device 101, the main controller 102, and the multiple sub-controllers 103 includes not only physical connections based on the control network 104 and network 105, but also logical connections such as communication protocols and software used for configuration. As an example of a logical connection, the communication resource planning device 101 can be integrated as a software component into the main controller 102 and the sub-controllers 103. Other examples include connections based on USB cables, JTAG (Joint Test Action Group) specifications, and wireless communication such as wireless LAN.

[0045] Furthermore, the communication resource planning device 101 may not be physically connected to the control system 100, the main controller 102, or the sub-controllers 103. Instead, the outputs and products of the communication resource planning device 101 can be stored in a removable external storage medium. This external storage medium can be installed in target devices such as the main controller 102 and the sub-controllers 103, and the outputs and products can be transmitted. Such external storage media can be, for example, USB memory, CD, DVD, Blu-ray (registered trademark), flash memory (registered trademark), floppy disk (FD), etc.

[0046] Control system 100 can be, for example, a semiconductor manufacturing apparatus, a semiconductor inspection apparatus, a medical device such as a clinical examination apparatus, a DCS (Distributed Control System) for FA (Factory Automation) and PA (Power Automation), a remote control system via a wireless network, a monitoring and control / protection control system in the power sector, industrial equipment, vehicle-mounted systems, construction machinery, control systems in railway vehicles, railway ground signaling systems, and control systems in aircraft. Alternatively, control system 100 can also be a structural element of these apparatuses or systems. For example, it can be an etching apparatus or sputtering apparatus in a semiconductor manufacturing apparatus, a production line in a FA system, an apparatus constituting a DCS, a vehicle-mounted system, or a component of an aviation control system.

[0047] The communication resource planning device 101, based on an externally input control method, plans the allocation of one or more communication objects for each of the more than one communication resource possessed by each sub-controller 103, so as to satisfy the required requirements. These required requirements include, for example, the number of usable communication resources and whether communication resources can be reallocated during system operation. The aforementioned requirements and control method are predetermined based on the structure of the control system 100, and are input, for example, via input units provided by the communication resource planning device 101, through users of the control system 100, or from a host device connected to the communication resource planning device 101 via network 105 or other connection units. The allocation of communication resources for the communication objects is planned by a planning algorithm executed by the communication resource planning device 101 to satisfy the input requirements. Furthermore, the communication objects, control methods, and specific planning processes (steps) will be described later.

[0048] The communication resource planning device 101 is configured, for example, by installing software (or software installed on an information processing device) on a general-purpose information processing device such as a personal computer (PC) or a server, necessary for implementing the processing, functions, and operations (such as the aforementioned communication resource allocation plan) of the communication resource planning device 101. The communication resource planning device 101 does not need to be constantly connected to the main controller 102; it can be connected only during the period when the main controller 102 reflects the planning results to each sub-controller 103. Furthermore, the communication resource planning device 101 can operate not only in an online state to enable the control system 100 but also in an offline state before enabling the control system 100.

[0049] As described above, the main controller 102 is connected to multiple sub-controllers 103 via the control network 104, and is responsible for sending and receiving control data with each sub-controller 103 and controlling the operation of each sub-controller 103. The control data includes, for example, control command values ​​for devices controlled by each sub-controller 103 such as sensors and actuators, measurement values ​​of the sub-controller 103, I / O information such as sensors, and various setting values ​​of the sub-controller 103, as described later.

[0050] Furthermore, to optimize the overall communication resources of the system, the main controller 102 allocates one or more communication objects to one or more communication resources of each sub-controller 103 according to the allocation planned by the communication resource planning device 101. Specifically, the main controller 102 sends control data including the set values ​​of each communication resource of each sub-controller 103 based on the allocation planned by the communication resource planning device 101. When each sub-controller 103 receives the control data including the set values ​​of each communication resource, it updates the allocation for each communication resource by setting the received set values. The specific update process (steps) will be described later.

[0051] The main controller 102 exchanges control data such as sampling data, control commands, and status signals with each sub-controller 103 as described above. It can also connect to a host device (not shown), and exchange control data within each control system with a host device, similar to controllers in semiconductor manufacturing equipment, semiconductor inspection equipment, the central control device of a DCS (Distributed Control System), or the protection control device of a power system. Alternatively, it can exchange control data with other main controllers 102 within other control systems 100 via a host device. In this case, multiple data sets within the same control system can be stored in communication packets. Furthermore, the main controller 102 can support software virtualization and software container technologies, enabling applications or operating systems (OS) to be virtualized and managed as containers.

[0052] As the main controller 102, it can be, for example, a dedicated controller, an industrial PC, a control computer, a DCS controller, an MEC (Multi-access Edge Computing) device, a computer cloud, a server, a SCADA (Supervisory Control and Data Acquisition) server, a PLC (Programmable Logic Controller), an IED (Intelligent Electronic Device), a protection and control device, etc., but is not limited to these. It can also be any information processing device capable of performing the above-mentioned processing, functions, actions, etc., or software installed on any information processing device.

[0053] Each sub-controller 103 is connected to, mounted on, or installed (hereinafter referred to as installation) the control system 100 or devices, machinery, etc. constituting the control system 100. It is connected to one or more sensors, actuators, or other devices (hereinafter referred to as control devices) included in the control system 100 or the devices. Based on control commands received from the main controller 102 via the control network 104, it executes control and settings of its own communication resources. Furthermore, each sub-controller 103 also has the function of acquiring the status and information of each control device and sending it to the main controller 102 via the control network 104. The control devices that connect to (control) each sub-controller 103 (hereinafter, the control devices that connect to and control one or more sub-controllers 103 are referred to as the control devices of the sub-controllers 103) may have only the function of inputting information, like sensors; or only the function of outputting information, like actuators; or both input and output functions.

[0054] The sub-controller 103 is configured as software installed on dedicated hardware (such as ICs, ASICs, FPGAs, and other electronic components) or general-purpose information processing devices. For example, it can be installed as a control system 100 or device, and in addition to the devices, systems, or structural elements exemplified above, it can also be installed on industrial robots such as mobile robots, humanoid robots, and robotic arms, AGVs (Automated Guided Vehicles), AMRs (Autonomous Mobile Robots), autonomous mobile objects or remotely controlled mobile objects, pick-and-place machines, processing equipment, and machine tools. Furthermore, as a control device, the sub-controller 103 can be connected to, for example, electrical equipment such as motors, inverters, servo amplifiers, servo motors, cutters, and circuit breakers within a manufacturing apparatus, as well as various sensors (encoders, temperature sensors, pressure sensors, etc.) for control. However, it is not limited to this; it can be various other devices or control devices.

[0055] Furthermore, when the sub-controller 103 is configured as an independent device (for example, when it is installed in a different device than the control system 100 or the device described above, using dedicated hardware or software), the sub-controller 103 can be, for example, a dedicated controller, an industrial PC, a control computer, a DCS controller, a SCADA device, a PLC, a smartphone or communication device with a wireless communication interface, an IED (Intelligent Electronic Device), a MU (Merging Unit), a protection control device, etc., but is not limited to these, and can also be any information processing device capable of performing the above-mentioned processing, functions, actions, etc.

[0056] The control network 104 is a network connecting the main controller 102 and the sub-controller 103. In this embodiment, it is primarily an industrial network (also known as a field network or fieldbus). The control network 104 can utilize, for example, control networks based on IEEE 802.3 (Ethernet), including EtherCAT, IEC 61784, and TSN (Time Sensitive Networking), as well as core networks in wireless networks such as 4G, 5G, and 6G. Furthermore, the communication method (also known as a communication standard or protocol) for the control network 104 can utilize various wired communication methods such as CAN (Controller Area Network), RS-232C, and USB (Universal Serial Bus), and various wireless communication methods such as Bluetooth. Regarding IEEE 802.3, standards corresponding to communication speeds such as 100Mbps, 1Gbps, multi-gigabit Ethernet, and 10Gbps, as well as jumbo frames, can be used.

[0057] Furthermore, as a higher-level protocol in the protocol stack, it can use communication protocols based on OPC UA (Unified Architecture), DDS (Data Distribution Service), Service Based Interface (SBI), REST API, HTTP / 2, OpenAPI, JSON (JavaScript Object Notation) data, IEC61850, etc. Moreover, these protocols can also be layered. For example, the content of the data area on TSN can apply the OPC UA standard.

[0058] (EtherCAT application example)

[0059] In the following description of this embodiment, an example of using EtherCAT as the control network 104 will be described.

[0060] EtherCAT refers to an industrial network based on Ethernet, which has the following characteristics.

[0061] • The main controller 102 is the master device of EtherCAT, and each sub-controller 103 is a sub-device of EtherCAT.

[0062] Communication packets sent from the main controller 102 sequentially circulate around each sub-controller 103 and return to the main controller 102.

[0063] • The connection between the main controller 102 and each sub-controller 103 (also known as the network topology) except Figure 1 Besides the linear (daisy-chain) connection shown, star or ring topologies are also possible. In a star topology, a relay device suitable for EtherCAT is appropriately used, through which the sub-controllers 103 are connected. In a ring topology, the sub-controllers 103 are connected in a ring shape.

[0064] In the control system 100 (also known as the EtherCAT system) that uses the above-described EtherCAT, the main controller 102 manages the EtherCAT communication with each sub-controller 103 and controls the overall operation of the system. For example, it performs tasks such as sequence control, motion control, and data collection in production lines and process automation.

[0065] Each sub-controller 103 is a device that receives control commands from the main controller 102 and executes specific control tasks, such as power supply control and temperature sensor data collection. It collects data from the control device in real time and performs control based on this data. Each sub-controller 103 sends and receives necessary control data through EtherCAT communication with the main controller 102 via the control network 104.

[0066] In addition, Figure 1 In the EtherCAT system, only the main controller 102 and multiple sub-controllers 103 are shown, but other EtherCAT corresponding devices can also be connected via the control network 104.

[0067] In the EtherCAT system, the communication resources of each sub-controller 103 refer to various management functions in communication with the main controller 102, including the FMMU (Fieldbus Memory Management Unit) and the synchronization manager. The FMMU, in order to efficiently manage control data in EtherCAT communication, plays a role in logically configuring (hereinafter referred to as mapping) communication objects into a logical address space. Similar to the logical address space in a general information processing device, the logical address space is a mechanism that merges or connects the storage spaces of multiple memories (physical memories) of the main controller 102 and each sub-controller 103 in the control system 106 into a single contiguous storage space, enabling efficient data access between the main controller 102 and each sub-controller 103. Furthermore, the synchronization manager controls the synchronization and access of communication objects mapped to the logical address space between the main controller 102 and each sub-controller 103.

[0068] Here, a communication object defines the data unit exchanged between the main controller 102 and each sub-controller 103 regarding the control devices of each sub-controller 103. That is, it defines the data (including control data) exchanged between the main controller 102 and each sub-controller 103 through a single communication, with the data size varying for each control device. For example, in a device such as one equipped with sub-controllers 103 that includes sensors and actuators as control devices, and where the sub-controllers 103 are connected to and controlled by them, communication objects (denoted as communication objects X and Y) are defined for each sensor and actuator. The main controller 102 uses these communication objects X and Y to send respective control data (control commands, setpoints (various parameters), etc.) for the sensors and actuators to the sub-controllers 103. Based on the control commands, the sub-controllers 103 use these communication objects X and Y to send control data (sensor measurements, actuator status information, etc.) related to the sensors and actuators to the main controller 102. In this way, communication (exchange) of control data related to each control device using each communication object occurs between the main controller 102 and the sub-controllers 103. In addition, communication objects are allocated to communication resources in a one-to-one or many-to-one relationship (i.e., more than one communication object is assigned to a communication resource).

[0069] Therefore, the FMMU configures the communication objects allocated to itself from the more than one communication objects defined by the control device of each sub-controller 103 (hereinafter, the more than one communication object defined by the control device of each sub-controller 103 is referred to as the communication object corresponding to the sub-controller 103) in the logical address space, maintaining the correspondence between the storage location (physical address) in the physical memory of the sub-controller 103 that actually stores the communication object and the configuration location (logical address) in the logical address space (hereinafter referred to as mapping information). As a result, the main controller 102 can specify the communication object in the control instructions using the logical address, and on the other hand, by transforming the logical address specified by the FMMU into a physical address, the sub-controller 103 can perform processing related to the specified communication object on the physical memory.

[0070] The number of control devices (the number of control devices in a device, such as a device equipped with a sub-controller 103) varies for each sub-controller 103. Therefore, the number of communication objects corresponding to each sub-controller 103 also varies for each sub-controller 103. On the other hand, the number of communication resources possessed by each sub-controller 103 also varies for each sub-controller 103 (although there are cases where the number is the same). Therefore, the communication resource planning device 101 plans the configuration of each communication object corresponding to each sub-controller 103 in the logical address space, and the allocation of communication resources possessed by each sub-controller 103 to the corresponding communication objects (allocating which communication object to which communication resource). Based on the planned configuration and allocation, the parameters and operating mode settings (hereinafter referred to as setting parameters) for each communication resource are determined. The setting parameters are input from the communication resource planning device 101 to the main controller 102 via the network 105, and the main controller 102 sets each communication resource of each sub-controller 103 as described later. Furthermore, the above-mentioned plans of the communication resource planning device 101 can also be executed as the generation, editing, and management of EtherCAT Subdevice Information (ESI) and EtherCAT Network Information (ENI) in EtherCAT.

[0071] (Structure of the communication resource planning device)

[0072] Figure 2 This is a diagram illustrating an example of the structure of the communication resource planning device in Embodiment 1. Figure 2 In this communication resource planning device 101, there are system structure information 201, request object selection unit 202, input coordination unit 203, resource planning unit 204 and execution processing generation unit 205.

[0073] System structure information 201 is a database that maintains the structural information of multiple sub-controllers 103 connected to the control network 104. For example, it includes information such as network topology, types of control devices, connection status, and corresponding communication objects. When the control network system 10 is pre-built, or when the communication resource planning device 101 is connected to the control system 100, this information is databaseed (or input / set in the system structure information 201) by users or higher-level devices. Alternatively, system structure information 201 can also be configured as a dedicated database system that can connect to the communication resource planning device 101, or as a data storage device in the cloud. Or, system structure information 201 can be stored as a system file in the memory of the main controller 102 or the sub-controllers 103.

[0074] The request object selection unit 202 selects multiple communication objects required for the plan based on the control method input from the outside. In addition, it selects and extracts information of each communication object from the system structure information 201.

[0075] Here, "control mode" refers to a series of operating methods of one or more control devices used to implement specific operations or actions of the control system 100 or the device, etc. It specifies a combination of a series (two or more) control commands (control data) provided from the main controller 102 to one or more sub-controllers 103 for one or more control devices, i.e., a combination of a series (two or more) communication objects (hereinafter referred to as communication object structure). Control modes vary depending on the various operating modes of the control system 100 or the device, specific scripts (a series of processes of system actions), device structures, etc. For example, different control modes, i.e., different communication object structures, are set for each different operating mode, such as normal operation mode, emergency stop mode, maintenance mode, etc., or for each action in the device, such as handling, positioning, processing, etc. in a processing device. These control modes are preset by the user or a higher-level device and input to the communication resource planning device 101 during planned execution or at appropriate time intervals.

[0076] The input coordination unit 203 generates the input data required for the plan based on information related to multiple communication objects selected by the request object selection unit 202 from the system structure information 201. The input data includes, for example, the correspondence between each selected communication object and each sub-controller 103, the number of shared functions for each communication object, the data size of each communication object, the category of each communication object (defining the category of the control device for each communication object), and the input / output direction of each communication object (defining the direction in which the control device for each communication object can perform information input and output). The number of shared functions refers to data that indicates how many control methods use (share) the same communication object; the number of control methods using the same communication object is set as the number of shared functions.

[0077] Resource planning unit 204 executes a plan based on input data generated by input coordination unit 203, and determines and outputs setting parameters based on the plan results. The plan considers factors such as bandwidth, latency, and reliability of control network 104 to achieve efficient resource allocation. Furthermore, a single resource planning unit 204 can manage the allocation of multiple communication resources, or a single resource planning unit 204 can manage the allocation of at least one communication resource; multiple resource planning units 204 may be provided. For example, Figure 2 This example illustrates that the communication resource planning device 101 is equipped with two resource planning units 204-1 and 204-2.

[0078] The execution processing generation unit 205 generates the execution files required to configure the communication resources of each sub-controller 103 based on the setting parameters output from the resource planning unit 204. The generated execution files are input to the main controller 102 and sent to each sub-controller 103.

[0079] In addition, the execution processing generation unit 205 is installed in the communication resource planning device 101 as dedicated hardware or as a software component. However, it is not limited to this; for example, the dedicated hardware or software component of the execution processing generation unit 205 may also be installed in the main controller 102 or each of the sub-controllers 103.

[0080] (Structure of communication packets)

[0081] In the EtherCAT system, the master controller 102 communicates with each sub-controller 103 via EtherCAT. Figure 5 The communication packets shown are used for this purpose. Figure 5 This is a diagram illustrating an example of the structure of a communication packet in Embodiment 1. Figure 5 In this communication packet 501, the Ethernet header 502, Ethernet data 503, and FCS (Frame Check Sequence) 504 are composed of an Ethernet header 505 and multiple datagrams 506 (datagrams 506-1, 506-2, ..., 506-n). Each datagram 506 consists of a datagram header 507, a data area 508, and WKC (Working Counter) 509.

[0082] The Ethernet header 502, Ethernet data 503, and FCS (Frame Check Sequence) 504 are the same as those in a typical Ethernet frame, and their descriptions are omitted. The EtherCAT header 505 includes information related to the overall length of the multiple datagrams 506. Each datagram 506 is the basic unit of data transmitted and received between the master controller 102 and each sub-controller 103. The datagram header 507 includes information related to the type of control command from the master controller 102, the specified address information, and the length of the data area 508. The data area 508 includes the control data transmitted and received by the master controller 102. WKC 509 is a value (numerical value) indicating whether control data processing (success) has been performed (successfully) in each sub-controller 103. Based on the execution status of the control data processing (success or failure, completion / incomplete), the value is changed (updated) by each sub-controller 103 according to given rules.

[0083] In this embodiment, the following communication is performed as EtherCAT communication using the communication group 501 described above: the main controller 102 designates each sub-controller 103, and exchanges are performed between the main controller 102 and the designated sub-controller 103 (hereinafter referred to as sub-controller communication); and the main controller 102 designates a specific region in the logical address space, and exchanges are performed between the main controller 102 and one or more sub-controllers 103 corresponding to the designated communication object using one or more communication objects configured in the designated specific region (hereinafter referred to as logical address communication).

[0084] In sub-controller communication, each datagram 506 in communication group 501 establishes a correspondence with each designated sub-controller 103. The address of the corresponding sub-controller 103 is specified in the datagram header 507 of each datagram 506, and the control data sent and received by the sub-controller 103 is stored in the data area 508.

[0085] On the other hand, in logical address communication, the header 507 of a datagram 506 in communication packet 501 specifies a logical address representing a specific region in the logical address space, and the data area 508 stores control data for using one or more communication objects configured in that specific region. Therefore, in this case, the datagram 506 is common to all sub-controllers 103.

[0086] (Example of the main controller structure)

[0087] Figure 3 This is a diagram illustrating an example of the structure of the main controller in Embodiment 1. Figure 3In this configuration, the main controller 102 includes an arithmetic unit 301, a datagram information storage unit 302, a communication packet generation unit 303, a transmission unit 304, a communication frame decomposition unit 305, and a receiving unit 306. Furthermore, the following description will use the example of the main controller 102 setting the planning results (execution files) of the communication resource planning device 101 in each sub-controller 103 as an example.

[0088] The arithmetic unit 301 generates a data packet 506, which is a structural element of the communication packet 501, based on the executable file input by the execution processing generation unit 205.

[0089] The datagram information storage unit 302 stores the datagrams 506 generated by the arithmetic unit 301. This datagram information storage unit 302 serves to improve the efficiency of managing and reusing the datagrams 506.

[0090] The communication packet generation unit 303 uses data packets 506 stored in the data packet information storage unit 302 to generate communication packets 501. In the data area 508 of the data packet 506 in the communication packet 501, there are instructions for setting or updating communication parameters of each sub-controller 103, and the set execution file.

[0091] The sending unit 304 sends the communication packets 501 generated by the communication packet generation unit 303 to each sub-controller 103 via the control network 104.

[0092] The receiving unit 306 receives communication packets 501 that update datagrams 506 in each sub-controller 103 as response data.

[0093] The communication frame decomposition unit 305 parses the communication packet 501 received by the receiving unit 306, decomposing the Ethernet data 503 portion of the communication packet 501 into datagrams 506. Then, the datagrams 506 decomposed by the communication frame decomposition unit 305 are stored in the datagram information storage unit 302, and the arithmetic unit 301 confirms and compares the datagrams 506. Thus, the arithmetic unit 301 can receive feedback from each sub-controller 10, that is, it can obtain or determine whether the setting of the executable file in each sub-controller 103 was successful. If the setting fails in all or one of the sub-controllers 103, the arithmetic unit 301 sends a retransmission instruction for the communication packet 501 to the communication packet generation unit 303, and retransmits the communication packet 501. At this time, the datagrams 506 stored in the datagram information storage unit 302 are reused.

[0094] Furthermore, outside of the planned outcome settings described above, the arithmetic unit 301 autonomously or based on instructions from a higher-level device periodically performs the same operations at specific or arbitrary time intervals. Simultaneously, the data packet storage unit 302, communication packet generation unit 303, transmission unit 304, reception unit 306, and communication frame decomposition unit 305 also perform the same operations. In this case, the arithmetic unit 301, referring to one or more data packets 506 decomposed by the communication frame decomposition unit 305, obtains feedback from each or a specific sub-controller 103, the status of devices equipped with each or a specific sub-controller 103, and information related to the connection status of each or a specific sub-controller 103 to the control network 104.

[0095] Furthermore, when each sub-controller 103 is functioning normally (e.g., the execution file status described above is correctly set in the sub-controller 103), if it is sub-controller communication, then as described above, each datagram 506 corresponding to each sub-controller 103 in communication packet 501 is updated and returned; if it is logical address communication, then the content of a datagram 506 is updated (specifically, the content of data area 508 and the value of WKC 509) and returned. On the other hand, if a sub-controller 103 malfunctions (e.g., the execution file described above is not set in the sub-controller 103 (setting failure)), if it is sub-controller communication, then the datagram 506 corresponding to the malfunctioning sub-controller 103 in communication packet 501 is updated and returned; if it is logical address communication, then the content of a datagram 506 is not updated for the malfunctioning sub-controller 103 (specifically, neither the content of data area 508 nor the value of WKC 509 is updated) and returned. By referring to the data report 506, if a specific sub-controller 103 is found to be abnormal, the arithmetic unit 301 issues a command to the communication packet generation unit 303 to resend the communication packet 501, and the transmission unit 304 resends the communication packet 501.

[0096] Furthermore, in addition to the usual communication described above, the main controller 102 may also periodically or irregularly send communication packets 501 (hereinafter referred to as status confirmation packets) to confirm the status of each sub-controller 103. The status of each sub-controller 103 can also be obtained and determined through these status confirmation data packets.

[0097] (Example of a sub-controller structure)

[0098] Figure 4 This is a diagram illustrating an example of the structure of the sub-controller in Embodiment 1. Figure 4 The structural example shown is in Figure 1 The sub-controllers 103 are common to each other. Figure 4In this configuration, the sub-controller 103 includes a receiving unit 401, a transmitting unit 402, one or more communication resources 403, a sub-controller control unit 404, and a sub-controller startup information storage unit 405. Figure 4 The example shown is of a sub-controller 103 having four communication resources 403, but it is not limited to this.

[0099] The receiving unit 401 receives the communication packet 501 from the main controller 102 and forwards it to the sub-controller control unit 404.

[0100] The transmitting unit 402 sends a communication packet 501, whose content has been updated by the sub-controller control unit 404, to the main controller 102 or other sub-controllers 103 as response data.

[0101] As described above, each communication resource 403 consists of an FMMU and a synchronization manager.

[0102] The sub-controller control unit 404 executes processing of control data included in the data area 508 based on the data packet 506 (or the data packet 506 corresponding to the sub-controller 103 if it is sub-controller communication, or the specific data packet 506 if it is logical address communication) received by the receiving unit 401. For example, as described above, if the data area 508 includes setting or updating instructions and execution files for communication resources 403, the sub-controller control unit 404 executes the execution file to set or update the parameters of each communication resource 403 stored in the sub-controller startup information storage unit 405, and updates each running communication resource 403. Furthermore, if the control data includes control instructions for the control device, such as requests for sensor data or actuator command values, the sub-controller control unit 404 obtains data from the sensor of the control device of the sub-controller 103 that is the object of the control instruction, or causes the actuator of the object of the control instruction to operate according to the command value. After performing such processing, the sub-controller control unit 404 updates the contents of the data packet 506. Specifically, the sub-controller control unit 404 updates the contents of the data area 508, for example, by including the acquired data in the control data. Furthermore, the value of WKC 509 is also changed based on a given rule. The sub-controller control unit 404 updates the contents of the data packet 506 in this way and sends the communication packet 501 to the sending unit 402. As described above, the sending unit 402 sends the communication packet 501 to the main controller 102 or other sub-controllers 103.

[0103] As described above, the sub-controller startup information storage unit 405 stores the parameters of each communication resource 403. Therefore, when the sub-controller 103 is restarted, the settings of the communication resources 403 before the restart can be restored.

[0104] (Example of planning processing in communication resource planning device 101)

[0105] use Figures 6 to 11 right Figure 2 A specific example of the planning process (planning algorithm) of the communication resource planning device 101 shown will be explained. Figure 6 This is a flowchart illustrating an example of the planning process of the communication resource planning device in Embodiment 1. Figure 7 This is a diagram illustrating an example of system structure information in Embodiment 1. Figure 8 This is a diagram illustrating an example of the communication object structure for the control method in Embodiment 1. Figure 9 This is a diagram illustrating an example of the input data in Example 1. Figure 10 This is a diagram illustrating a configuration example of the communication objects in the resource planning department of Embodiment 1. Figure 11 This is a diagram illustrating other configuration examples of the communication objects of the resource planning department in Embodiment 1.

[0106] exist Figure 6 First, multiple control modes are input to the request object selection unit 202 from the outside. In S601, the request object selection unit 202 selects the information of the communication object used in each control mode from the information of the communication object corresponding to each sub-controller 103 stored with the system structure information 201.

[0107] System structure information 201, for example, Figure 7 As shown, for each sub-controller 103, the number of communication resources, the corresponding communication object, the type of each communication object, the input / output direction of each communication object, the data size of each communication object, and other information are maintained, although not shown. The network topology, the connection order of each sub-controller 103, the connection status, and other structural information are maintained.

[0108] As mentioned above, a communication object structure is set for each control method, for example... Figure 8 An example is shown. The request object selection unit 202 follows... Figure 8 The communication object structure 801 of the control method shown selects and extracts information about each communication object used in each control method from the system structure information 201. For example, in Figure 8 In the case of the communication object structure 801 of the control method shown, the request object selection unit 202 selects from... Figure 7 The system structure information 201 shown can be used to select and extract information about each communication object (communication objects A, B, D, etc. used in control mode 1) used for control mode 1 to control mode 3 respectively.

[0109] In addition, regarding the multiple control modes input to the request object selection unit 202, all control modes related to the control system 100 or the device can be input, or the control modes required by the plan can be pre-selected or filtered by the user or host device of the control system 100.

[0110] In step S602, the input collaboration unit 203 obtains the information required for the plan based on information related to multiple communication objects selected by the request object selection unit 202 from the system structure information 201, and generates input data.

[0111] The information required for the plan includes, for example, the number of shares of each communication object, the correspondence between the communication object and the sub-controller 103, the data size of the communication object, the type of the communication object, and the input / output direction of the communication object.

[0112] The number of shares for each communication object is calculated based on the communication object structure of multiple input control methods. For example, in... Figure 8 In the case of the communication object structure 801 of the control method shown, communication object A is used in all of control methods 1 to 3. Therefore, the number of control methods using communication object A, i.e., the number of shares of communication object A, is 3. Similarly, if the number of shares of communication objects B to I is calculated, then information related to the above multiple communication objects can be obtained as follows: Figure 9 The column for shared data shows the correspondence between the communication object and the sub-controller 103, the data size of the communication object, the type of the communication object, and the input / output direction of the communication object.

[0113] The input collaboration unit 203 generates, for example, based on the information obtained and calculated above. Figure 9 The required input data for the plan shown is 901.

[0114] exist Figure 6 In this process, S603 to S613 will be executed by Resource Planning Department 204. Additionally, as... Figure 2 As shown, when multiple resource planning units 204 are provided (e.g., resource planning units 204-1, 204-2), each resource planning unit 204 can execute S603 to S613 in parallel, or each resource planning unit 204 can execute in any order. In the following description, it is assumed that only one resource planning unit 204 is provided.

[0115] Resource planning unit 204 first plans the configuration of each communication object in the logical address space based on the input data generated by input coordination unit 203, through steps S603 to S612. Specifically, in step S603, resource planning unit 204 selects all communication objects from a plurality of communication objects that conform to a given reference (hereinafter referred to as the first reference) based on the input data. The first reference is, for example, as follows: Figure 6 As shown, the resource planning department 204 selects all communication objects with the largest shared number in this case. For example, in... Figure 9 Given the input data 901 shown, the maximum value of the shared number is "3", so the resource planning department 204 selects communication objects A and B with a shared number of "3".

[0116] In S604, the resource planning department 204 determines whether the given condition—whether the communication object selected in S603 is only one—is met. If the given condition is not met in S604 (S604's "No"), proceed to S605. For example, in... Figure 9 In the case of input data 901 shown, as described above, since the resource planning unit 204 selects communication objects A and B, it is determined in S604 that the given conditions are not met, and proceeds to S605.

[0117] In S605, the resource planning unit 204 selects only one of the multiple communication objects with the largest shared number among a given benchmark (hereinafter referred to as the second benchmark). The second benchmark differs from the first benchmark; for example, if the second benchmark is set to have the smallest data size for the communication object, the resource planning unit 204 selects the communication object with the smallest data size among the multiple communication objects with the largest shared number. For example, in... Figure 9 In the case of input data 901 shown, the resource planning unit 204 selects the communication object B with the smallest data size among the two communication objects A and B with the largest number of shares. Furthermore, this second criterion is not limited to data size; for example, it could be communication frequency, the type of communication object, or the input / output direction.

[0118] If the given condition is met in S604 (S604's "Yes"), or if S605 has been executed, proceed to S606.

[0119] In S606, the resource planning unit 204 configures the communication objects selected in S603 or S605 in the logical address space. During this configuration, the resource planning unit 204 configures the communication objects in locations where sufficient areas exist (or can be ensured) both before and after the logical address space. The areas before the logical address space have smaller logical address numbers, and the areas after the logical address space have larger logical address numbers. For example, a sufficient area can exist to accommodate at least half of the communication objects other than those selected in S603 and S605, from all communication objects corresponding to all control modes input to the request object selection unit 202 in S601.

[0120] The following steps S607 to S612 are repeated (loop processing) until the number of communication objects not configured in the logical address space among the multiple communication objects in the input data becomes 0, that is, until all communication objects in the input data are configured in the logical address space. Furthermore, after S606, if there are no longer any unconfigured communication objects, the resource planning unit 204 does not need to execute S607 to S612.

[0121] In S608, the resource planning unit 204 selects all communication objects from the input data that are not configured in the logical address space and meet the first criterion, i.e., have the largest number of shared resources. For example, in Figure 9 In the case of input data 901 shown, during the first loop processing, the only unconfigured communication object with the largest shared number "3" is A, so the resource planning department 204 selects communication object A.

[0122] In S609, the resource planning department 204 will determine whether the given condition is met, taking as a given condition whether the communication object selected in S608 is only one.

[0123] If the given conditions are not met in S609 (S609 "No"), proceed to S610. In S610, the resource planning unit 204 selects only one of the multiple communication objects with the largest shared number among the multiple communication objects with the largest shared number in the second reference. If the second reference is set to the communication object with the smallest data size as described above, the resource planning unit 204 selects the communication object with the smallest data size among the multiple communication objects with the largest shared number. Alternatively, the reference in S610 may not be the same as the second reference in S605, and the resource planning unit 204 may use different references in S605 and S610 to select the communication object.

[0124] If the given condition is met in S609 ("Yes" in S609), or if S610 has been executed, proceed to S611. For example, in Figure 9 In the case of input data 901 shown, in the first loop process, as described above, in S608, the resource planning unit 204 selects only communication object A, so in S609 it is determined that the given conditions are met and proceeds to S611.

[0125] In S611, the resource planning unit 204 configures the communication object selected in S608 or S610 at a given location in the logical address space. A given location refers to a position adjacent to the communication object configured in S611 of the previous loop processing (S606) and without gaps between the communication objects in the logical address space. Furthermore, in each iteration of S611 of the loop processing, the resource planning unit 204 configures multiple other communication objects so that the position of the communication object configured in S606 is approximately central (also called the middle or center).

[0126] One method for configuring such communication objects is, for example, to alternately configure them before and after the given positions described above in S606 (hereinafter referred to as alternating configuration). In the case of this alternating configuration, in S611 of the first loop process, the resource planning unit 204 configures the communication object A selected in S608 at the given position before the communication object B configured in S606. For example, in Figure 9 In the case of input data 901 shown, since there are multiple unconfigured communication objects at that time, the resource planning unit 204 repeats S608 to S610. In S611 of the second loop process, the communication object F selected in S610 of the second loop process is configured at the given position behind the communication object B configured in S606. Similarly, in S611 of the third loop process, the resource planning unit 204 configures the communication object D selected in S608 of the third loop process at the given position in front of the already configured communication object A. In S611 of the fourth loop process, the resource planning unit 204 configures the communication object E selected in S610 of the fourth loop process at the given position behind the already configured communication object F.

[0127] In this way, the resource planning department 204 sequentially selects all communication objects with a shared number of 1 or more (i.e., those used in the multiple input control modes) in the loop processing from S607 to S612, and alternately configures them in the logical address space.

[0128] For example, Figure 10 Indicates based on Figure 9 The input data 901 shown is an example of alternatingly configuring all communication objects A to G with a shared address value of 1 or more in the logical address space. For example... Figure 10 As shown, other communication objects are configured in logical address space 1101 so that communication object B is located approximately in the center. Furthermore, in Figure 10 In the example shown, through the alternating configuration described above, adjacent elements are arranged in region a. Figure 8The communication objects A, B, and D used in control mode 1 are similarly configured adjacently in region b as the communication objects A, B, E, and F used in control mode 2, and adjacently in region c as the communication objects A, B, C, D, F, and G used in control mode 3. That is, according to... Figure 6 The planning algorithm shown can continuously (aggregate) configure each communication object used in each control mode in the logical address space 1101.

[0129] Furthermore, the configuration method for communication objects is not limited to the alternating configuration described above. Any other configuration method is also acceptable, as long as the position of the communication object configured in S606 is approximately central among the configurations of all communication objects.

[0130] Furthermore, the processing content of Resource Planning Department 204 is not limited to the configuration method. Figure 6 The example shown below. The following will describe a variation of the processing content of such a resource planning department 204. When using the above... Figure 6 In the description, the resource planning unit 204 performs the processing of S603 to S612 with all communication objects in the input data as the objects. However, for example, multiple communication objects in the input data can also be classified according to the input / output direction, with groups of communication objects whose input / output direction is input and groups of communication objects whose input / output direction is output as objects, and the resource planning unit 204 performs the processing of S603 to S612. For example, in Figure 9 In the case of the input data 901 shown, the communication objects A, B, D, F with the input / output direction being input and the communication objects C, E, G with the input / output direction being output can be separated, and the resource planning unit 204 can perform the processing of S603 to S612 with each communication object group as the object.

[0131] so, Figure 11 Indicates based on Figure 9 The input data 901 shown is an example of configuring each communication object in the logical address space. For example... Figure 11 As shown, communication objects A, B, D, and F, with input / output direction as input, are alternately configured in region d of logical address space 1101, with communication object B as approximately the center, through processing steps S603 to S612. Similarly, communication objects C, E, and G, with input / output direction as output, are alternately configured in region e, which is separate from (different from) region d, with communication object E as approximately the center. However, in this variant example, the configuration method of the communication objects is not limited to alternating configuration; it can also be any other arbitrary configuration method.

[0132] As described above, the resource planning unit 204 configures each communication object with a shared number of 1 or more according to the input data plan to the logical address space by executing S603 to S612. Next, in S613, the resource planning unit 204 plans the allocation of communication objects corresponding to each sub-controller 103 for each of the one or more communication resources 403 possessed by each sub-controller 103 based on the planned configuration. At this time, if the number of communication resources possessed by each sub-controller 103 is greater than the number of communication objects corresponding to each sub-controller 103, the resource planning unit 204 selects the same number of communication resources 403 as the number of communication objects and allocates each communication object to the selected communication resources 403. Furthermore, the selection of the communication resources 403 and the allocation of each communication object to the selected communication resources 403 can be arbitrary methods. Thus, each communication resource 403 possessed by each sub-controller 103 is allocated with its corresponding communication object and its configuration (position) in the logical address space. As described above, the resource planning unit 204 determines and outputs setting parameters based on the planning results, namely the configuration of each communication object and the allocation of each communication resource 403.

[0133] Finally, in S614, the execution processing generation unit 205 generates and outputs an execution file that reflects the setting parameters output by the resource planning unit 204 to each sub-controller 103. Regarding the execution file, a format that the main controller 102 or sub-controller 103 can execute is assumed, but as long as it can update the parameters of the communication resources 403 of each sub-controller 103, it can be any format. For example, the execution file can also be a definition file such as an ENI, an executable program, a setting file, etc. Furthermore, the execution file can be created for each sub-controller 103 (i.e., for individually updating the communication resources 403 possessed by each sub-controller 103), or it can be created jointly in each sub-controller 103. Additionally, as described above, if the execution processing generation unit 205 is installed, for example, on the main controller 102 or each sub-controller 103, S614 is not executed, and the planning processing performed by the communication resource planning device 101 ends at S613.

[0134] (Update steps for communication resource 403)

[0135] use Figure 12 illustrate Figure 3 The main controller 102 shown sends the executable file output from the communication resource planning device 101 as communication packet 501. Figure 4 The sub-controller 103 shown here updates the communication resource 403. Figure 12 This is a flowchart illustrating an example of the executable file sending process performed by the main controller and the communication resource update process performed by the sub-controller in Embodiment 1.

[0136] First, the processing of the main controller 102 will be explained. Figure 12 In step S1201, the execution file output by the execution processing generation unit 205 of the communication resource planning device 101 is input to the main controller 102. As described above, the execution file includes setting parameters related to the configuration and allocation of communication objects, and is used to reflect these setting parameters in each communication resource 403 of each sub-controller 103.

[0137] As in Figure 3 As specifically described in the explanation of the illustrated structural example, in S1202, the main controller 102 creates communication packets 501 based on the input execution file. When creating communication packets 501, as described above, when the execution file is created jointly for each sub-controller 103, the setting or updating instructions and execution file for each communication resource 403 are stored in the data area 508 of a data packet 506. On the other hand, when the execution file is created for each sub-controller 103, for example, the execution file and setting or updating instructions for each sub-controller 103 are stored in the data area 508 of each data packet 506 corresponding to each sub-controller 103. Thus, communication packets 501 comprising one or more data packets 506 are created. Alternatively, multiple communication packets 501, each comprising a data packet 506, may also be created.

[0138] In S1203, the main controller 102 sends one or more communication packets 501 to each sub-controller 103.

[0139] Next, the processing of each sub-controller 103 will be explained. In the following description, the processing of one sub-controller 103 will be explained, but the same applies to the other sub-controllers 103.

[0140] In S1204, the sub-controller 103 receives communication packet 501. The received communication packet 501 is forwarded from the receiving unit 401 to the sub-controller control unit 404.

[0141] Next, as in Figure 4As specifically described in the explanation of the illustrated structural example, in S1205, the sub-controller control unit 404 executes the executable file stored in the data area 508 of the data packet 506 of communication packet 501 (or the data packet 506 corresponding to the sub-controller 103), setting or updating the parameters of each communication resource 403 stored in the sub-controller startup information storage unit 405. After the update, the sub-controller control unit 404 changes the value of WKC 509, for example, based on a given rule. Alternatively, instead of changing WKC 509, the processing result and error status may be reflected in the data area 508 to update the data packet 506. If the restart of the sub-controller 103 becomes a condition for updating the parameters of the communication resource 403, the sub-controller 103 may also be restarted by methods such as power outage.

[0142] In S1206, the sub-controller 103 sends the communication packet 501 that updates the datagram 506 to the main controller 102 or other sub-controllers 103.

[0143] Next, the processing of the main controller 102 will be explained again. For example, in... Figure 3 As specifically described in the explanation of the illustrated structural example, in S1207, the main controller 102 receives one or more communication packets 501. In the case of one communication packet 501, each sub-controller 103 updates the content of one or more data packets 506 (specifically, the content of data area 508 and the value of WKC 509). In the case of multiple communication packets 501, the content of each data packet 506 is updated. These data packets 506 are decomposed by the communication frame decomposition unit 305 and confirmed by the arithmetic unit 301. At this time, the arithmetic unit 301, for example, compares WKC 509 to confirm whether the communication with each sub-controller 103 or the updating of parameters of each communication resource 403 in each sub-controller 103 is proceeding normally. The confirmation by the arithmetic unit 301 is not limited to WKC 509; it can also be a comparison of processing results stored in data area 508 or an confirmation of error status. Alternatively, in order to confirm the update results of the parameters of each communication resource 403 in each sub-controller 103, the main controller 102 may also create a communication packet 501 to read the parameters of each communication resource 403 and send it from the main controller 102 to each sub-controller 103.

[0144] In S1208, the main controller 102 determines, based on the confirmation result in S1207, whether the communication with each sub-controller 103 or the update of the parameters of each communication resource 403 in each sub-controller 103 was successful. If all are determined to be successful, the main controller 102 terminates the process. If any one is determined to be a failure, it returns to S1203 and resends one or more communication packets 501 to each sub-controller 103. Furthermore, the main controller 102 may also perform error handling along with the resending.

[0145] (Effect)

[0146] The effects of the planning process of the communication resource planning device 101 described above will be explained in detail. For example, when controlling the control system 100 or causing the control system 100 to operate according to a specific control method, the main controller 102 communicates via logical addresses, using logical addresses to specify the area of ​​the logical address space configured with multiple communication objects used in the control method (specifically, the logical address is specified in the header 507 of a datagram 506, and the control data of the multiple communication objects configured in that area is stored in the data area 508), and sends communication packets 501.

[0147] As a specific example, the communication objects C, D, E, and G used in a particular control method (control method 20 in this case) are, for example... Figure 10 When configured as shown in logical address space 1101, the main controller 102 uses logical addresses to specify... Figure 10 The area c shown is used as the area for configuring these communication objects. In this case, one or more sub-controllers 103 that receive the communication packet 501 and correspond to the communication objects C, D, E, and G process the control devices that define the communication objects C, D, E, and G respectively according to the control instructions included in the control data. For example, they obtain data from each sensor, store the data in the data area 508 of the communication packet 501, and send it.

[0148] However, if it is Figure 10In the example shown, in region c, communication objects A, B, and F, other than communication objects C, D, E, and G, are also configured between communication objects C and D and communication objects E and G. Communication objects A, B, and F are not used in control mode 20, therefore processing of the control devices for which communication objects A, B, and F are defined is not normally required. However, if region c is specified in communication group 501, one or more sub-controllers 103 corresponding to communication objects A, B, and F (sometimes the same as one or more sub-controllers 103 corresponding to communication objects C, D, E, and G, sometimes different) also process the control devices for which communication objects A, B, and F are defined according to the control instructions included in the control data. For example, they acquire data from each sensor, store this data in the data area 508 of communication group 501, and send it.

[0149] Therefore, in the data area 508 of the communication packet 501 that is finally sent back to the main controller 102, not only is data related to the control devices that define communication objects C, D, E, and G stored, but also data related to the control devices that define communication objects A, B, and F that are not originally needed (because the data size of the data area 508 is larger), the size of the communication packet 501 is larger, and the communication efficiency of the communication packet 501 in the control network 104 is reduced.

[0150] Furthermore, as described above, the main controller 102 can, for example, communicate with the sub-controllers to specify each sub-controller 103 corresponding to communication objects C, D, E, and G and send communication packets 501, so that the control devices that define communication objects A, B, and F that are not originally needed are not processed. However, in this case, it is necessary to send communication packets 501 including multiple datagrams 506 per sub-controller, or multiple communication packets 501 per sub-controller. In either case, the communication overhead associated with the processing of multiple datagram headers 507 and WKC 509 due to the increase in datagrams 506 will increase, or the communication overhead associated with the processing of Ethernet headers 502, FCS 504, and EtherCAT headers 505 in addition to the processing of datagrams 506 due to the increase in communication packets 501 will also increase.

[0151] In contrast, the communication resource planning device 101 according to Embodiment 1 can plan the configuration in the logical address space based on multiple control methods, using information such as the shared quantity and data size of multiple communication objects used in each control method, so as to enable the configuration to be achieved through, for example, Figure 6 The planning algorithm shown uses adjacent (continuous) configurations of communication objects in each control mode.

[0152] Thus, if the communication objects used in various control methods can be configured continuously (aggregated), even if a region is specified for each communication object used in a specific control method as in the above example, since communication objects not used in that control method are not included in that region, the data area 508 in the communication packet 501 sent back to the main controller 102 only stores data related to each control device for which each communication object is defined in the control method. Compared to the above example, the data size of the data area 508 becomes the necessary minimum, thereby improving communication efficiency. Furthermore, depending on the situation, sub-controller communication is not required as in the above example. Therefore, compared to the above example, the number of data packets 506 and communication packets 501 can be kept to the necessary minimum, suppressing the increase in communication overhead. In addition, this also achieves improved communication performance, such as increased utilization efficiency of the communication bandwidth and shortened communication cycle.

[0153] Furthermore, by shortening the communication cycle, the control cycle of the control system 100 is also shortened, resulting in improved control performance of the control system 100. In addition, the surplus communication bandwidth generated by the improved utilization efficiency of the communication bandwidth can be used for setting and acquiring status information of devices constituting the control system 100, thus enabling more efficient use of the control system 100 and improving its reliability and operating rate. Therefore, according to Embodiment 1, a high-performance and highly reliable control system 100 can be realized, achieving an overall improvement in the performance of the control system 100.

[0154] In addition, according to Figure 6 The planning algorithm shown may not be able to plan for all communication objects used in each control method to be configured consecutively (aggregated) in the logical address space, but even in this case, due to the fact that... Figure 6 The planning algorithm shown prioritizes configuring communication objects with smaller data sizes. Therefore, even if a communication object not needed in a specific control method is configured in an area where such communication objects are already configured, the data size of the unnecessary communication object is small, and the reduction in communication efficiency and increase in communication overhead caused by the presence of the unnecessary communication object are minimized. Thus, the same effect as described above can be obtained.

[0155] [Example 2]

[0156] (Handling of hot connections)

[0157] In Embodiment 1, changes to the structure of the devices constituting the control system 100 were not specifically considered. However, the EtherCAT system has a hot-connection function that allows arbitrary devices to be removed and connected during the operation of the control system 100. For example, for operational testing (experimentation, inspection) of various devices, this hot-connection is sometimes used to remove and connect these devices. In this case, the structure of the multiple sub-controllers 103 installed on the devices is also changed (removed and connected), and the control devices provided by the devices, i.e., the control devices of each sub-controller 103, are added or removed. Along with this, the communication objects defined for each control device are added or removed, and the correspondence between each control method and each communication object is changed. Therefore, in Embodiment 2, it is explained how the communication resource planning device responds when the structure of the devices in the control system is changed by utilizing hot-connection. In addition, in the following description, the content repeated in Embodiment 1 is omitted, and the different parts are described.

[0158] Figure 13 This is a diagram illustrating an example of the structure of the control system in Embodiment 2, for comparison with... Figure 1 The control system 100 shown has the same structure and is labeled with the same reference numerals. Furthermore, Figure 14 This diagram illustrates an example of a change in the communication object used in the control method when the sub-controller is removed, as shown in Embodiment 2.

[0159] First of all, Figure 13 In the middle, the control system 130 and Figure 1 Similarly, the control system 100 shown includes a main controller 102 and one or more sub-controllers 103 (sub-controllers 103-1, 103-2, 103-3), but the sub-controller 103-2 (more specifically, a device on which the sub-controller 103-2 is installed, etc.) is configured to be removed during the operation of the control system 130.

[0160] On the other hand, Figure 14 In the middle, the left side shows the same as Figure 8 The communication object structure 1401 is the same as the control method shown. For example, if the structure information of each sub-controller 103 in the control system 130 is the same as... Figure 7 If the structural information shown is the same, then the communication objects corresponding to sub-controller 103-2 become communication objects D, E, and F. However, by removing sub-controller 103-2, communication objects D, E, and F also become unnecessary (non-existent). Therefore, as Figure 14 As shown on the right, the communication object structure of the control method has changed, becoming the communication object structure 1402 of the control method, which has removed communication objects D, E, and F from the communication object structure of each control method.

[0161] Furthermore, as described above, changes to the communication object structure of the control method are determined by changes in the connection status of each sub-controller 103. Therefore, changes occur not only due to the removal of a specific sub-controller 103 but also due to the addition of a new sub-controller 103. Moreover, even if the connection status of each sub-controller 103 remains unchanged, changes in the connection status of sensors or actuators that serve as control devices for each sub-controller 103 will similarly alter the communication object structure of the control method. Furthermore, even if the connection status of the sub-controller 103 or control devices remains unchanged, changes in the communication object structure of the control method can still occur if communication using any single communication object becomes unnecessary due to operational parameters, etc.

[0162] When the communication object structure changes in the control method, it is necessary to use Figures 6 to 11 The reconfiguration of each communication object and the reallocation to communication resource 403 are described as follows. However, except in cases where the device is suddenly removed due to unexpected obstacles or malfunctions, the removal or reconnection of the sub-controller 103 is predetermined or planned as part of the operation method or plan of the control system 130. Therefore, the control mode for the removal or reconnection of the sub-controller 103 is also preset by the user or a higher-level device and input to the communication resource planning device 101 at appropriate timing, just like other control modes.

[0163] Therefore, the communication resource planning device 101 can... Figure 6 The planning algorithm shown includes the control method in cases of changes in the communication object structure, and pre-plans the configuration of each communication object and the allocation to the communication resource 403. Therefore, even when the communication object structure changes due to changes in the structure of the devices constituting the control system 130, there is no need for reconfiguration of each communication object or reallocation to the communication resource 403. Furthermore, in Figure 14 In the examples shown, the communication object structure is changed in each control method, but the change in communication object structure is the same in some control methods.

[0164] (Effect)

[0165] As explained above, according to Embodiment 2, even if the structure of devices in the control system is changed through the use of hot-connection, the communication resource planning device 101 can still cope. For example, it can cope with changes in the connection status of sensors and actuators that are removed, added, or connected to the sub-controller 103, as well as changes in operating parameters, which accompany changes in the structure of communication objects. That is, for control methods where the structure of communication objects is changed, the communication resource planning device 101 also plans in advance the reconfiguration of each communication object and the redistribution to the communication resource 403, so that even if changes to the device structure are required during the operation of the control system, the operation of the control system can continue without hindrance.

[0166] Typically, the reconfiguration of communication objects and the reallocation of communication resources 403 require expertise and time, resulting in downtime of the control system. However, reducing this downtime maintains and improves the operating efficiency of the devices constituting the control system. Furthermore, by pre-planning the reconfiguration of communication objects and the reallocation of communication resources 403 in the event of changes to the structure of communication objects, errors and malfunctions associated with the reconfiguration of communication objects and the reallocation of communication resources 403 can be prevented when the structure of devices in the control system changes. Thus, in addition to the same effects as in Embodiment 1, the operating efficiency of the control system can be maintained and improved, and reliability can be ensured.

[0167] [Example 3]

[0168] (Response to insufficient number of communication resources)

[0169] As described above, the number of communication resources possessed by each sub-controller 103 varies for each sub-controller 103, and is not limited to the number of communication resources 403 exceeding the number of control devices of each sub-controller 103, i.e., the number of communication objects corresponding to each sub-controller 103. There may also be cases where the number of communication resources is less than the number of communication objects. Therefore, in Embodiment 3, we will explain how the communication resource planning device responds when the number of communication resources possessed by a sub-controller is less than the number of communication objects corresponding to that sub-controller. Furthermore, in the following description, descriptions that are repeated in Embodiment 1 will be omitted, and descriptions will focus on the different parts.

[0170] Figure 15 This is a diagram illustrating an example of the structural information of the sub-controller in Embodiment 3. Figure 15 In the structure information 1501 shown on the left, sub-controllers 103-1 and 103-3 respectively show examples where the number of communication resources they have is less than the number of corresponding communication objects.

[0171] As a method for allocating communication objects from each sub-controller 103 to each communication resource 403 under such circumstances, a method of allocating two or more communication objects to one communication resource 403 is considered. However, there are cases where only one communication object is allocated to one communication resource 403, that is, there is a case where one communication object is configured in the logical address space and one communication resource 403 is consumed for its processing. In this case, when allocating communication objects to each communication resource 403 by the communication resource planning device 101, the number of communication resources is insufficient, and the allocation of communication objects cannot be performed. Therefore, it is required to increase the number of communication resources 403 in the sub-controller 103 or reduce the number of communication objects.

[0172] However, communication objects corresponding to the same sub-controller 103 can be merged, and after merging, they can be processed as a single communication object. As a specific example, according to... Figure 15 The structure information 1501, corresponding to sub-controller 103-1, consists of communication objects A, B, and C, which is more than the number of communication resources. However, for example, two communication objects A and B can be merged and processed as a single communication object α. Furthermore, the communication objects corresponding to sub-controller 103-3 are communication objects G, H, and I, which is still more than the number of communication resources. However, these communication objects G, H, and I can be merged and processed as a single communication object β. In the case of such communication object merging, such as... Figure 15 As shown in the structure information 1502 on the right, the communication objects corresponding to sub-controller 103-1 are communication objects α and C, which are the same as the number of communication resources. In addition, the communication object corresponding to sub-controller 103-3 is only communication object β, which is also the same as the number of communication resources.

[0173] Therefore, for example, when inputting and setting the structure information of communication objects into the system structure information 201, the user or a host device may, for each sub-controller 103, appropriately merge communication objects into one communication object if the number of communication resources is less than the number of communication objects, or perform the same processing through the request object selection unit 202, the input cooperation unit 203, or the resource planning unit 204, so that the number of communication objects is the same as or less than the number of communication resources.

[0174] Therefore, when the number of communication objects corresponding to each sub-controller 103 is the same as or less than the number of communication resources, the resource planning unit 204 can... Figure 6 The plan shows the configuration of each communication object and the allocation to communication resource 403.

[0175] Furthermore, as mentioned above, communication objects corresponding to different sub-controllers 103 cannot be merged. Therefore, in such cases, if possible, the connection between the control devices (sensors, actuators, etc.) that define these communication objects and each sub-controller 103 can be changed so that two or more communication objects to be merged correspond to the same sub-controller 103, thereby enabling the merging of communication objects.

[0176] (Effect)

[0177] As explained above, according to Embodiment 3, when the number of communication resources possessed by the sub-controller is less than the number of communication objects, by merging two or more communication objects corresponding to the same sub-controller, the insufficient communication resources during the allocation of each communication object to each communication resource by the communication resource planning device can be avoided. Therefore, without the need for adding communication resources, the communication resource planning device can plan the configuration of each communication object and the allocation to communication resources while maintaining the original number of communication resources. Thus, in addition to the same effects as in Embodiment 1, it is also possible to maintain or reduce the reliability and cost of the control system.

[0178] The embodiments of the present invention have been described in detail above, but the present invention is not limited to the above embodiments. Various design changes can be made without departing from the spirit of the invention as set forth in the claims. For example, the above embodiments are described in detail for the purpose of readily understanding the present invention and are not necessarily limited to having all the structures described. Furthermore, a part of the structure of one embodiment can be replaced with the structure of another embodiment, and the structure of another embodiment can be added to the structure of one embodiment. Moreover, with respect to a part of the structure of each embodiment, other structures can be added / deleted / replaced.

[0179] -Explanation of Figure Markers-

[0180] 10…Control Network System

[0181] 100… control system

[0182] 101…Communication Resource Planning Device

[0183] 102…Main Controller

[0184] 103… Sub-controller

[0185] 104…Control Network

[0186] 201…System Structure Information

[0187] 202… Request Object Selection Section

[0188] 203… Input Collaboration Department

[0189] 204…Resource Planning Department

[0190] 205…Execution Processing Generation Department

[0191] 301…Computation Department

[0192] 302… Datagram Information Storage Department

[0193] 303…Communication Packet Generation Department

[0194] 304…Sending Department

[0195] 305…Communication Frame Decomposition Section

[0196] 306…Receiving Department

[0197] 401…Receiving Department

[0198] 402…Sending Department

[0199] 403… Communication Resources

[0200] 404… Sub-controller control unit

[0201] 405… Sub-controller Startup Information Storage Unit

[0202] 502…Ethernet header

[0203] 503…Ethernet data

[0204] 504…FCS

[0205] 505…EtherCAT header

[0206] 506…data report

[0207] 507… Data header

[0208] 508… data area

[0209] 509…WKC.

Claims

1. A communication resource planning method, comprising planning the configuration in the logical address space of multiple communication objects, wherein each of multiple control devices controlled by each of multiple sub-controllers connected to a main controller is defined, and used when each of the sub-controllers and the main controller communicates control data related to each of the control devices. The communication resource planning method is characterized by including: The first step is to select one of the communication objects based on a given criterion, from all the communication objects included in all the communication object structures, according to a communication object structure that defines a combination of two or more communication objects, for each of a plurality of control modes that represent a series of action modes of one or more of the control devices. The second step is to configure one of the communication objects in the logical address space; The third step is to sequentially select each of all the communication objects except for the one mentioned above, based on the given benchmark. as well as The fourth step is to configure each of the sequentially selected communication objects in the logical address space such that the communication object is located approximately in the center.

2. The communication resource planning method according to claim 1, wherein, In the first step and the third step, the given benchmark is the benchmark with the largest number of control methods for each communication object in the communication object structure, i.e., the largest number of shared resources, and the communication object with the largest number of shared resources is selected.

3. The communication resource planning method according to claim 1, wherein, In the first step and the third step, the given reference is composed of a first reference and a second reference. The first benchmark is the benchmark that maximizes the number of control methods for each communication object in the communication object structure, i.e., the number of shared methods. The second reference is the reference with the smallest data size of the communication object. If there are multiple communication objects with the largest shared number selected in the first step or the third step, the communication object with the smallest data size among the multiple communication objects with the largest shared number is selected.

4. The communication resource planning method according to claim 3, wherein, The second criterion is the communication frequency of the communication object, or it defines the category of the control device of the communication object.

5. The communication resource planning method according to claim 1, wherein, In the fourth step, each of the sequentially selected communication objects is alternately arranged before and after the first of the communication objects.

6. The communication resource planning method according to claim 1, wherein, Each of the communication objects is divided into communication objects with input direction as input and communication objects with input direction as output. The input direction as input and output direction represents the direction in which information can be input and output by each of the control devices defined for each of the communication objects. The first step to the fourth step are performed on the plurality of communication objects with input direction as input and the plurality of communication objects with input direction as output respectively.

7. The communication resource planning method according to claim 1, wherein, The communication resource planning method further includes a fifth step, in which, after the fourth step is executed, each communication object defined for each control device controlled by each sub-controller is assigned to each of the more than one communication resources possessed by each sub-controller.

8. The communication resource planning method according to claim 7, wherein, The communication resource planning method further includes: a sixth step, generating an execution file that reflects the configuration of each of the communication objects in the logical address space and the allocation of each of the communication resources to each of the sub-controllers.

9. The communication resource planning method according to claim 1, wherein, The plurality of control methods include those in the case of removing any one of the plurality of sub-controllers or adding a new sub-controller to the plurality of sub-controllers.

10. The communication resource planning method according to claim 1, wherein, If the number of multiple communication objects defined for each control device controlled by each sub-controller is greater than the number of more than one communication resource possessed by each sub-controller, at least two of the multiple communication objects are merged into one communication object, and the first to fourth steps are executed.

11. A communication resource planning apparatus for planning the configuration in the logical address space of a plurality of communication objects, wherein the plurality of communication objects define each of a plurality of control devices controlled by each of a plurality of sub-controllers connected to a main controller, and is used when each of the sub-controllers and the main controller communicates control data related to each of the control devices. The communication resource planning device is characterized in that it includes a resource planning unit. The resource planning department performs the following processing: Based on a communication object structure defined by each of multiple control methods representing a series of action modes of one or more control devices, and representing a combination of two or more communication objects, one communication object is selected from all the communication objects included in the entire communication object structure based on a given criterion. Configure the one of the communication objects in the logical address space. Based on the given criteria, each of all the communication objects except for the first one of the communication objects is selected sequentially. Each of the sequentially selected communication objects is configured in the logical address space such that the communication object is located approximately in the center.

12. The communication resource planning apparatus according to claim 11, wherein, The resource planning department further performs the following processing: After configuring all of the communication objects in the logical address space, each communication object defined for each control device controlled by each sub-controller is assigned to each of the more than one communication resources possessed by each sub-controller.

13. The communication resource planning apparatus according to claim 12, wherein, The communication resource planning device further includes an execution processing generation unit that generates an execution file that reflects the configuration in the logical address space of each of the communication objects in the resource planning unit and the allocation results to each of the communication resources to each of the sub-controllers.

14. A control network system, comprising: The control system includes a main controller and multiple sub-controllers connected to the main controller; and A communication resource planning device plans the configuration of multiple communication objects in a logical address space. These multiple communication objects define each of the multiple control devices controlled by each of the multiple sub-controllers. This is used when each of the sub-controllers and the main controller communicates control data related to each of the control devices. The control network system shown is characterized by, The communication resource planning device includes a resource planning unit. The resource planning department performs the following processing: Based on a communication object structure defined by each of multiple control methods representing a series of action modes of one or more control devices, and representing a combination of two or more communication objects, one communication object is selected from all the communication objects included in the entire communication object structure based on a given criterion. Configure the one of the communication objects in the logical address space. Based on the given criteria, each of all the communication objects except for the first one of the communication objects is selected sequentially. Each of the sequentially selected communication objects is configured in the logical address space such that the communication object is located approximately in the center.

Citation Information

Patent Citations

  • Communication device and communication system

    JP2009017206A