Communication control device and control communication system

By designing a communication control device with an operation unit, a communication unit and a data storage unit in the control system, the RAM capacity limitation and consistency problems in data transmission in the control system are solved, and efficient communication and computing performance are achieved.

CN119497985APending Publication Date: 2025-02-21HITACHI HIGH TECH CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380024127.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-16
Publication Date
2025-02-21

AI Technical Summary

Technical Problem

In large-scale and complex control systems, there are built-in RAM capacity limitations and data consistency problems in the data transmission between the control device and the input and output device, resulting in limited communication performance and computing performance.

Method used

A communication control device is designed, including an operation unit, a communication unit and a data storage unit. Through the cooperation with the communication unit and the data storage unit, the operation unit establishes the location and attribute correlation of the data, and realizes efficient data access and management.

Benefits of technology

Through this solution, communication performance and computing performance are improved, and data capacity can be increased, ensuring consistency and efficient transmission of data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119497985A_ABST
    Figure CN119497985A_ABST
Patent Text Reader

Abstract

The invention provides a communication control device and a control communication system which can improve communication performance and operation performance and can cope with an increase in data capacity. To this end, the present invention is provided with: a calculation unit for processing control data; a communication unit that transmits a packet including the control data; and a data storage unit having an exclusive control function. The calculation unit associates the position occupied by each of two or more pieces of partial data constituting the control data in the control data with an attribute related to a packet communicated by the communication unit, and transmits and receives the partial data via the data storage unit and the communication unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to technologies of a control communication system, a communication control device, a control data processing method, and a control data processing program. Background Art

[0002] Patent document 1 shows a communication node, which has a communication controller and a data processing device in order to increase the processing performance regardless of the processing performance of the CPU. The communication controller sends the information to be sent to the transmission path, and stores the information received from the transmission path in the storage device. The data processing device calculates the transmission time of the communication node based on the received information and the information pre-set in the communication node, counts the calculated transmission time from the time point when the writing by the communication controller is detected to the end, and notifies the communication controller of the transmission command.

[0003] In Non-Patent Document 1, in a control system based on Ethernet, elements and rules for describing both a profile of a communication network and a profile of a device are defined.

[0004] Prior Art Literature

[0005] Patent Literature

[0006] Patent Document 1: Japanese Patent Application Publication No. 2000-76163

[0007] Non-patent literature

[0008] Non-patent document 1: ISO14745-4 "Industrial Automation Systems and integrationOpen systems application integration frameworks Part 4Reference description for Ethernet-based control systems" Summary of the invention

[0009] -Problems to be solved by the invention-

[0010] The control system that supports social infrastructure is composed of sensors, controllers, and actuators. The sensor obtains the state of the physical object and inputs it to the controller. The controller calculates the control command value used to instruct the actuator, and the actuator works on the physical object based on the control command value. The control system performs the desired control by, for example, periodically repeating such a series of processes.

[0011] Examples of such control systems include Factory Automation (FA) in factories, Process Automation (PA) in chemical plants, semiconductor manufacturing equipment, semiconductor inspection equipment, etc. Further examples include medical equipment, distributed control systems, control systems for power systems or power plants, water treatment systems, and steel control systems.

[0012] In large-scale and complex control systems, multiple sensors, controllers, and actuators are connected via a network. In such a network, in order to meet the time constraints (e.g., maximum delay), cost, reliability, and application-specific requirements that are requirements of the control system, the technology of the control network has been developed.

[0013] In particular, driven by the large-scale and sophisticated control systems and the recent progress of industrial IoT, the control networks that constitute the control systems require faster communications, shorter control communication cycles, and larger communication volumes. Furthermore, in addition to improved communication performance, the realization of industrial IoT requires advanced data processing such as AI (Artificial Intelligence) processing and statistical processing in the control system itself.

[0014] As a method for responding to such a demand, it is known that in order to achieve large-capacity communication, a control system in which Ethernet is introduced into the control network, represented by industrial Ethernet (registered trademark). Furthermore, in such a control system, based on the high speed and high performance of embedded processors, sometimes not only the control device side is equipped with an embedded processor, but also the input and output device side is equipped with a high-performance embedded processor.

[0015] However, when focusing on the structure of such a control system, even if the communication capacity between the control device and the input / output device is increased, there are still problems in the exchange of data between the communication interface on the input / output device and the computing function (processor, etc.) as described below.

[0016] <Issues of built-in RAM capacity limitations>

[0017] Generally, data between the control device and the input / output device is transferred via a data buffer on the input / output device. That is, the command value from the control device is stored in the data buffer via communication and extracted by the computing function (processor, etc.) of the input / output device. Similarly, the sensor data of the input / output device is stored in the data buffer and transmitted to the control device via communication. At this time, it is necessary to maintain the consistency of the data on the data buffer when storing and retrieving data in the data buffer.

[0018] On the other hand, simultaneous access to the same address may make the storage or reading of data uncertain depending on the device. In addition, sometimes consistency must be maintained for a meaningful area rather than an element of the data buffer. Based on such a requirement, for example, the following situation is envisioned: access to a given area of ​​the data buffer by the communication and computing functions occurs almost simultaneously, and due to the different access speeds, one side exceeds the other from the point of view of the accessed address. In this case, since the side that is exceeded has updated the data midway, it means that the consistency of the data is lost.

[0019] Such a problem becomes more prominent due to the improvement of the performance of the control system, that is, the shortening and speeding up of the communication cycle of the control device and the control cycle of the input and output devices. In order to solve such a problem, a special mechanism for exclusive control is required in the data buffer. In addition, in order to cope with the improvement of the performance of the control system, high-speed processing is required.

[0020] According to these requirements, the application of external RAM (Random Access Memory) and non-volatile storage media has become difficult, and the application of built-in RAM with special mechanisms has been pointed out. However, as a problem of such built-in RAM, it is generally difficult to increase the data capacity, and it is difficult to cope with the increase in input and output data as other requirements of the control system.

[0021] <Requirement for separation of computing functions (processors)>

[0022] In addition, as another issue, the control system is required not only to have higher performance in control but also to diversify the application of AI processing, etc. In order to meet such requirements, a structure is desired in which the communication function and the calculation function are separated in the input / output device.

[0023] It is difficult to solve the above-mentioned problems with the transfer memory method disclosed in Patent Document 1 and Non-Patent Document 1. An object of the present invention is to solve the above-mentioned problems, for example.

[0024] The above-mentioned contents and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.

[0025] -Methods for solving the problem-

[0026] In one embodiment, in order to solve the above-mentioned problem, a communication control device is provided, which includes: a computing unit for processing control data; a communication unit for sending a packet containing the control data; and a data storage unit having an exclusive control function. The computing unit associates the positions of two or more partial data constituting the control data in the control data with the attributes involved in the packet communicated by the communication unit, and transmits and receives the partial data to and from the communication unit via the data storage unit.

[0027] -Effects of the Invention-

[0028] According to one embodiment, communication performance and calculation performance can be improved, and increase in data capacity can be accommodated. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 This is a schematic diagram showing a configuration example of a control communication system according to an embodiment.

[0030] Figure 2 It is shown Figure 1 A block diagram of an example of the hardware structure of a control device in FIG.

[0031] Figure 3 It is shown Figure 1 A block diagram of an example of the functional structure of a control device in FIG.

[0032] Figure 4 It is shown Figure 1 A block diagram of an example of the hardware configuration of a control target device.

[0033] Figure 5 It is shown Figure 4 A block diagram of an example of the functional structure of a communication control IC for a control target device in FIG.

[0034] Figure 6 It is shown Figure 5 A block diagram of an example of the functional structure of the communication processing unit in FIG.

[0035] Figure 7 It is shown by Figure 3 A flowchart of an example of a sending step performed by a control device in FIG.

[0036] Figure 8 It is shown in Figure 5 as well as Figure 6 A flowchart of an example of a receiving step performed by a controlled object device.

[0037] Fig. 9 It is shown in Figure 6A flowchart of an example of the comprehensive management steps of received data performed by the control object device.

[0038] Fig.10 It is shown in Figure 5 as well as Figure 6 A flowchart of an example of a sending step performed by a controlled object device.

[0039] Fig.11 This is a flowchart showing an example of a comprehensive management procedure of transmission data performed by a control target device.

[0040] Fig.12 It is shown by Figure 3 A flowchart of an example of a receiving step performed by a control device.

[0041] Fig.13 It is shown in Figure 3 A flowchart of an example of a procedure in which a communication schedule configuration unit determines a communication schedule.

[0042] Fig.14A It is shown by Fig.13 A schematic diagram of a specific example of a communication schedule determined by the process shown.

[0043] Fig. 14B It is shown by Fig.13 A schematic diagram of a specific example of a communication schedule determined by the process shown.

[0044] Fig. 14C is shown with Fig. 14B Schematic diagrams of different specific examples.

[0045] Fig.14D is shown with Fig. 14B A schematic diagram of a further different specific example.

[0046] Fig.15A Yes Fig. 9 A diagram illustrating a specific example of operation of a control target device.

[0047] Fig. 15B It shows that Fig.15A The figure shows the allocation of logical addresses of each control target device and the setting example of FMMU for the control target device.

[0048] Fig. 15C It is shown in Fig.15A FIG. 1 is a diagram showing an example of allocation of each area in the data storage unit and setting of the SyncManager in the control target device shown.

[0049] Fig.15D It is shown in Fig.15AFIG. 1 is a diagram showing an example of data allocation to the integrated data storage unit by the data integration management unit in the control target device shown.

[0050] Fig.16 This is a schematic diagram showing an example of a problem when an error occurs in time management in the control device and the controlled device.

[0051] Fig.17A This is based on the premise that time synchronization is performed. Figure 6 This is a timing diagram of an operation example when the data integrated management unit in the embodiment writes input data to the data storage unit.

[0052] Fig. 17B This indicates that the time synchronization is not performed. Figure 6 This is a timing diagram of an operation example when the data integrated management unit in the embodiment writes input data to the data storage unit.

[0053] Fig.18 It shows Fig. 17B This is a timing diagram of a modified operation example.

[0054] Fig.19 This shows that retransmission and path redundancy communication are the premise. Figure 6 This is a timing diagram of an operation example when the data integrated management unit in the embodiment writes input data to the data storage unit.

[0055] Fig. 20A This is a schematic diagram showing an example of a situation in which a path abnormality occurs between a control target device and a control target device.

[0056] Fig. 20B is shown with Fig. 20A Schematic diagram of an example of different situations.

[0057] Fig.21 It is shown Figure 6 A schematic diagram of an example of the structure of the integrated data storage unit in FIG.

[0058] Fig.22A It shows Figure 4 A block diagram of a configuration example in which the hardware configuration of the control target device shown is modified.

[0059] Fig. 22B is shown with Fig.22A Block diagrams of different configuration examples.

[0060] Fig.23 It shows Figure 1 A schematic diagram of a modified configuration example of the control communication system shown.

[0061] Fig.24 It shows Figure 6 A block diagram of a configuration example in which the functional configuration of the communication processing unit shown is modified. DETAILED DESCRIPTION

[0062] Hereinafter, the embodiment of the present invention will be described in detail based on the drawings. In addition, in all the drawings for describing the embodiment, the same reference numerals are given to the same components in principle, and their repeated descriptions are omitted.

[0063] <Overview of Control Communication System>

[0064] Figure 1 FIG. 1 is a schematic diagram showing a configuration example of a control communication system according to an embodiment of the present invention. Figure 1 In the embodiment, the control device (first communication control device) 120 communicates with the control target devices (second communication control devices) 121a-121d via the control network 122 and controls them. In the specification, the control target devices 121a-121d are collectively referred to as the control target devices 121. In detail, the control device 120 sends and receives communication packets to the control target devices 121, thereby transmitting control instruction values ​​to the control target devices 121 such as sensors and actuators, and obtaining measurement values, sensor information, etc. from the control target devices 121, and also executing various settings for the control target devices 121.

[0065] The control device 120 is a device that exchanges sampled data, control instructions, and status signals in various control systems, such as a controller in a semiconductor manufacturing device, a semiconductor inspection device, a central control device of a DCS (Distributed Control System), a protection control device of an electric power system, etc. The control device 120 may also store multiple data in the same control system in a group.

[0066] In addition, the control device 120 may also be able to support software virtualization technology and software container technology, and virtualize applications or OS (Operating System) to manage them as containers.

[0067] Specific examples of the control device 120 include dedicated controllers, industrial personal computers, control computers, DCS controllers, MEC (Multi-access Edge Computing) devices, computer clouds or servers, SCADA (Supervisory Control and Data Acquisition) servers, etc. Further, PLC (Programmable Logic Controller), IED (Intelligent Electronic Device), protection control devices, cloud servers, etc. can be listed.

[0068] The controlled device 121 is a device such as a sensor or an actuator, and performs device control and device settings according to a control command received from the control device 120 via the control network 122. In addition, the controlled device 121 obtains the state and information of the device and transmits it to the control device 120 via the control network 122. The controlled device 121 may have only a function of inputting information like a sensor, only a function of outputting information like an actuator, or both input and output functions.

[0069] Specific examples of the controlled object device 121 include mobile robots or humanoid robots, industrial robots such as robot arms, AGVs (Automated Guided Vehicles), AMRs (Autonomous Mobile Robots), etc. In addition, autonomous mobile objects or remote-controlled mobile objects, chip mounters, machine tool tables, processing equipment, machine tools, semiconductor manufacturing equipment, semiconductor inspection equipment, etc. may be listed.

[0070] Furthermore, specific examples of the controlled device 121 include medical equipment such as clinical examination equipment, or motors, inverters, servo amplifiers, servo motors, disconnectors, circuit breakers and other power equipment in manufacturing equipment, various sensors (encoders, temperature sensors, pressure sensors, etc.), etc. Alternatively, dedicated controllers, industrial personal computers, control computers, DCS controllers, SCADA devices, PLCs, smartphones or communication devices with wireless communication interfaces, IEDs (Intelligent Electronic Devices), MUs (Merging Units), protection control devices, etc. may be listed.

[0071] The control network 122 is a network that connects the control device 120 and the controlled device 121. Specific examples of the control network 122 include networks based on IEEE802.3 (Ethernet), including control networks such as EtherCAT (registered trademark), IEC61784, and TSN (Time Sensitive Networking). IEEE802.3 includes standards corresponding to communication speeds such as 100 Mbps, 1 Gbps, multi-gigabit Ethernet, and 10 Gbps, and the use of jumbo frames.

[0072] In addition, as specific examples of the control network 122, core networks in wireless networks such as 5G, 6G, and 4G can be cited. Furthermore, wired networks such as CAN (Controller Area Network: registered trademark), RS-232C, USB (Universal Serial Bus: registered trademark), and various wireless networks such as Bluetooth (registered trademark) can be exemplified.

[0073] In addition, as the upper protocol in the protocol stack, the communication protocol based on OPC UA (Uniifed Architecture), DDS (Data Distribution Service), and service-based interface SBI (Service Based Interface) can be exemplified. Alternatively, REST API, HTTP / 2, OpenAPI, JSON (JavaScript Object Notation) data, IEC61850, etc. can be exemplified. The above protocols can also be layered. For example, an example of applying the OPC UA standard to the content of the data area on TSN can be exemplified.

[0074] In the embodiment, EtherCAT is used as an example for description. The network of EtherCAT mainly has the following features (a) to (c).

[0075] (a) The control device 120 and the controlled device 121 are connected, and the control packets sent from the control device 120 circulate through one or more controlled devices 121 in sequence and return to the control device 120. Examples of topology include linear, ring, star, etc. A relay device adapted to EtherCAT is used as needed.

[0076] (b) One control packet can include control data for each of the plurality of control target devices 121. This allows the control device 120 to transmit and receive only a smaller number of packets than when transmitting and receiving packets individually for each of the plurality of control target devices 121.

[0077] (c) When a control packet including control commands for each of the plurality of control target devices 121 is sent out from the control device 120, it is sequentially forwarded to each of the control target devices 121 in the order of network connection and then returned to the control device 120 from which it was sent out.

[0078] The control system 123 is composed of a control device 120, a controlled device 121, and a control network 122. Specific examples of the control system 123 include medical equipment such as semiconductor manufacturing equipment, semiconductor inspection equipment, and clinical inspection equipment, FA (Factory Automation), PA (Process Automation) DCS and other control systems, etc. In addition, examples include remote control systems via wireless networks, monitoring control / protection control systems in the power field, industrial machinery, vehicle-mounted systems, control systems in construction machinery or railway vehicles, railway ground signal systems, and control systems in aircraft.

[0079] Alternatively, the control system 123 may be a component of these devices and systems, for example, a chamber of an etching device or a sputtering device of a semiconductor manufacturing device, a manufacturing line of an FA system, a device constituting a DCS, an on-board system, or a partial element of an aviation control system.

[0080] The control system management device 124 is a device that is connected to the control device 120 and controls and manages the control device 120. The control system management device 124, for example, sets and acquires control parameters and control strategies for the control device 120 to perform control. In addition, the control system management device 124 can perform functional division of the control device 120 from the perspective of time resolution. That is, for the control cycle performed by the control device 120, the control system management device 124 can control the control parameters, target values, etc. of the control device 120 with a relatively long control cycle. In another embodiment, the control device 120 performs automatic control, and on the other hand, the control system management device 124 can perform manual control by a system operator.

[0081] Alternatively, the control system management device 124 can set the configuration of the control system 123. Specifically, the configuration can include the settings of parameters and operation modes in the control device 120 and the control target device 121. Alternatively, the configuration can include address allocation when mapping the control target device 121 to a logical address and the settings of the control target device 121 related to the settings of the logical address.

[0082] When setting these, the control system management device 124 may determine a datagram for setting, and forward the determined information to the control device 120 to send it to the control device 120. These may also be performed as generation, editing, and management of EtherCAT Slave Information (ESI) and EtherCAT Network Information (ENI) in EtherCAT.

[0083] In this way, when the control system management device 124 is used as the setting of the control system 123, it can be set not only in the online state to operate the control system 123, but also in the offline state before the control system 123 is operated. In these settings, the connection between the control system management device 124 and the control device 120, or the control system management device 124 and the control target device 121 can also be performed only during the setting period. In addition, the control system management device 124 can also be directly connected to the control target device 121 without passing through the control device 120. In addition, the connection described here includes not only the physical connection realized by the control network 122 and the network cable, but also includes the logical connection such as the communication protocol and the software used for setting.

[0084] As a specific example of the control system management device 124, the same implementation as the control device 120 can be exemplified. The control system management device 124 may be connected to the control device 120 via the control network 122 or via a network independent of the control network 122.

[0085] In addition, as Figure 1 Specific examples of the control communication system shown include, in addition to the control system 123 having the above-mentioned various installation methods, an IoT system that uses artificial intelligence to analyze information collected via the control network 122 on the cloud or computer to improve the performance of the control system 123. These installation methods can include local 5G, private 5G, and public 5G.

[0086] <Hardware Configuration of Control Device 120>

[0087] Figure 2 It is shown Figure 1A block diagram of an example of a hardware configuration of the control device 120 in FIG. Figure 2 In the embodiment, the CPU 101 transfers the program from the nonvolatile storage medium 105 to the memory 104 and executes it. As the execution processing program, an operating system (hereinafter referred to as an OS) and an application program running on the OS can be exemplified. The program running on the CPU 101 obtains the operation setting and status information of the communication control IC 102.

[0088] The communication control IC 102 receives a transmission request and transmits data from software running on the CPU 101, and transmits the transmission data to the control network 122 using the PHY 103. In addition, the communication control IC 102 forwards the data received from the control network 122 via the PHY 103 to the CPU 101, the memory 104, and the nonvolatile storage medium 105 via the bus 106.

[0089] Examples of implementation of the communication control IC 102 include FPGA (Field Programmable Gate Array), CPLD (Complex Programmable Logic Device), ASIC (Application Specific Integrated Circuit), gate array, etc. Alternatively, the communication control IC 102 may be integrated with the CPU 101 .

[0090] In addition, the communication control IC 102 may be composed of an IEEE802.3 communication device including a MAC layer and a PHY layer. In this case, the function of PHY 103 may also be included in the communication control IC 102. That is, as an installation example of the communication control IC 102, a MAC (Media Access Control) chip, a PHY (physical layer) chip, and a composite chip of MAC and PHY according to the IEEE802.3 standard may be included. In addition, the communication control IC 102 may also be included in the CPU 101 or a chipset that controls the information path inside the computer. In addition, in Figure 2 Although one communication control IC 102 is shown in the structure, the number of communication control ICs 102 may be plural.

[0091] PHY103 is a transceiver IC equipped with a communication function with the control network 122. As a communication standard provided by PHY103, a PHY (physical layer) chip of IEEE802.3 can be exemplified. Figure 2In the structure, since the communication control IC102 is connected to the PHY103, the processing of the MAC (Media Access Control) layer of IEEE802.3 is included in the communication control IC102.

[0092] However, a configuration in which an IC providing a MAC function is disposed between the communication control IC 102 and the PHY 103 or a communication IC combining an IC providing a MAC function and the PHY 103 is connected to the communication control IC 102 may be used. The PHY 103 may also be included in the communication control IC 102. Figure 2 In the structure of FIG. 1 , one PHY 103 is shown. Regarding the relationship between the number of communication control ICs 102 and PHYs 103 , one or more PHYs 103 may be provided for one communication control IC 102 .

[0093] The memory 104 is a temporary storage area for the CPU 101 to perform operations, and stores the OS, application programs, etc. forwarded from the non-volatile storage medium 105. The non-volatile storage medium 105 is a storage medium for information, and is used to store programs such as the OS, application programs, and device drivers for operating the CPU 101, and to store the execution results of the programs. Examples of the non-volatile storage medium 105 include a hard disk drive (HDD), a solid-state drive (SSD), and a flash memory. In addition, as an easily removable external storage medium, examples include a floppy disk (FD), a CD, a DVD, a Blu-ray (registered trademark), a USB memory, a compact flash memory, and the like.

[0094] The bus 106 connects the CPU 101, the communication control IC 102, the memory 104, and the nonvolatile storage medium 105. Examples of the bus 106 include a PCI bus, an ISA bus, a PCI Express bus, an on-chip bus, a system bus, and a memory bus.

[0095] <Functional Structure of Control Device 120>

[0096] Figure 3 It is shown Figure 1 A block diagram of an example of the functional configuration of the control device 120 in FIG. Figure 3 In the example of the control operation, the operation unit 160 performs control operation, information processing operation, etc. As an example of such operation, an operation of a control instruction for processing sensor information received from the control target device 121 based on a given control rule and driving the control target device 121 can be exemplified. Alternatively, filtering processing or statistical processing applied to sensor values, statistical processing of a set of sensor values ​​within a given period in the past, etc. can be exemplified.

[0097] The given control rule may exemplify control processing based on control engineering theory and AI, such as feedback control and feedforward control. For example, control methods that can change the state by relying on past information, such as I (integral) control and control by a state machine, may be exemplified. Alternatively, statistical processing such as state management (fault and dangerous state detection), machine management or asset management (software version management, update, etc.), preventive maintenance, CBM (Condition Based Maintenance: maintenance based on state), AI for the purpose of remaining life prediction, and machine learning processing may be exemplified for the control object device 121.

[0098] In addition, if the control object device 121 is a mobile body, the given control rule can be exemplified as determination of the moving direction or target moving position, speed control, acceleration control, stop, deceleration, etc. If the control object device 121 is an industrial robot arm, it can be exemplified as control instructions for motors of each joint joint, control of the front end position of the robot arm, or trajectory control of the robot arm. In this way, since the control object device 121 is diverse and can be not only an actuator but also a simple sensor, the operation unit 160 performs control corresponding to the type of the control object device 121. The operation unit 160 can be exemplified as being composed of the CPU 101 or an application that operates on the CPU 101.

[0099] The transmission data storage unit 161 is a functional unit that stores data for transmission. The transmission data storage unit 161 stores data generated by the operation unit 160 on the basis of executing a given control or information processing for a single or multiple control target devices 121. The stored data is extracted by the communication scheduling unit 162. The transmission data storage unit 161 may also manage data using a communication cycle or a control cycle determined in the control or information processing executed by the operation unit 160 and the control target device 121 as a unit. The transmission data storage unit 161 may be exemplified as being installed on either or both of the memory 104 and the non-volatile storage medium 105.

[0100] The communication scheduling unit 162 extracts data from the transmission data storage unit 161 at a given timing, processes the data as needed, and forwards it to the transmission unit 167. As processing of the data, shaping into a communication format specified by the communication protocol of the control network 122 can be exemplified. The shaping of the communication format can be exemplified by the addition of a header and FCS. At this time, the communication scheduling unit 162 may also store information required for shaping into the communication format. Such information includes parameters of the header specified in the communication format, etc.

[0101] The communication schedule may be notified from the communication schedule forming unit 164 to the communication schedule unit 162, and the communication schedule unit 162 may divide or synthesize the data extracted from the transmission data storage unit 161 according to the communication schedule. Furthermore, the communication schedule unit 162 may determine parameters such as the header according to the communication schedule formed by the communication schedule forming unit 164. Therefore, the structural unit of the data stored in the transmission data storage unit 161 may be different from the structural unit of the data forwarded by the communication schedule unit 162 to the transmission unit 167.

[0102] In addition, the communication scheduler 162 may determine the timing of forwarding the shaped data to the transmitter 167 according to the communication schedule formed by the communication schedule forming unit 164. The communication scheduler 162 is composed of any one or more of the CPU 101 or an application running on the CPU 101, the communication control IC 102, and the PHY 103.

[0103] The control system information storage unit 163 stores information of the control system 123. Specifically, the stored information may include processing elements of control processing and information processing executed in the control system 123, or components in the control device 120 and the controlled device 121. Such elements may include a control cycle, a communication cycle, and an input / output capacity of the controlled device 121.

[0104] In addition, as processing requirements and constituent elements, the number of control devices 120 and controlled devices 121, the specifications or performance of computer resources, communication performance, and the structure of the communication network can be exemplified. Further, the frequency, number of cores, bit width, and architecture of the CPU 101, the storage capacity or communication throughput of the memory 104 or the non-volatile storage medium 105, the forwarding throughput of the bus 106, the communication band and connection distance of the control network 122, and the like can be exemplified. Computer resources such as CPUs, memories, and non-volatile storage media include both the control device 120 and the controlled device 121. When the control network 122 includes a relay device, the computer resources and communication performance of the relay device are included.

[0105] The control system information storage unit 163 can be manually input with the stored information by a system operator or the like, or can dynamically collect information of the control device 120, the controlled device 121, and the control network 122 using information collection software and a given communication protocol. Examples of such communication protocols include SNMP (Simple Network Management Protocol) and access to a given register (for example, a register indicating the model of the auxiliary IC) in EtherCAT. The control system information storage unit 163 is configured by combining the memory 104 or the non-volatile storage medium 105 with either or both of the CPU 101 or the application running on the CPU 101.

[0106] The communication schedule forming unit 164 forms a communication schedule based on the information stored in the control system information storage unit 163, and notifies the communication schedule unit 162. The communication schedule forming unit 164 cooperates with the logical address determination unit 165 and the datagram structure determination unit 166 to form the communication schedule.

[0107] The communication schedule formed by the communication schedule forming unit 164 includes the following information: allocation information of the address space of each control target device 121 which is also a logical address space of a virtual area, information on the size of a datagram, information on the logical address or command of the access destination, and information on the transmission timing or communication cycle. The communication schedule forming unit 164 is formed by any one or more of the CPU 101 or an application running on the CPU 101, the communication control IC 102, and the PHY 103.

[0108] The logical address determination unit 165 determines the allocation of the address space of each control target device 121 to the logical address space based on the information stored in the control system information storage unit 163. The allocation of the address space can be performed multiple times based on the request and feedback from the communication scheduling configuration unit 164 and the datagram structure determination unit 166.

[0109] The method of using the logical address space is a method of allocating the input and output of the actuator and sensor on a given address space. In the method of using the logical address space, any data area (i.e., physical input and output) of each auxiliary device is allocated to a single virtual logical address space. The size of the area and the allocation method can be freely set. The logical address determination unit 165 is composed of any one or more of the CPU 101 or an application running on the CPU 101, the communication control IC 102, and the PHY 103.

[0110] The datagram structure determination unit 166 determines the structure of the datagram sent by the communication scheduling unit 162 based on the information stored in the control system information storage unit 163 and the allocation of the logical address space determined by the logical address determination unit 165. As examples of the structure of the datagram determined by the datagram structure determination unit 166, the size of each datagram and the parameters on the header (logical address space of the access destination, etc.) can be exemplified.

[0111] The logical address space to which the physical address space of a certain control target device 121 is allocated can be accessed not only by a single datagram but also by datagrams divided into multiple datagrams. The datagram structure determination unit 166 is composed of one or more of the CPU 101 or an application running on the CPU 101, the communication control IC 102, and the PHY 103.

[0112] The transmission unit 167 is a transmission function unit, and transmits a packet from the control device 120 to the control network 122. The transmission unit 167 can be constituted by one or both of the communication control IC 102 and the PHY 103, for example.

[0113] The receiving unit 168 is a receiving functional unit that receives packets from the control network 122. The receiving unit 168 can verify the FCS (Frame Check Sequence) to determine the legitimacy of the received packet, or discard the received packet determined to be abnormal. The receiving unit 168 can be exemplified as being composed of either or both of the communication control IC 102 and the PHY 103.

[0114] The received data integrated management unit 169 determines the location where the received data forwarded from the receiving unit 168 is stored in the received data storage unit 170, and forwards it to the received data storage unit 170. At this time, since the received packet is in a format specified by the communication protocol of the control network 122, the received data integrated management unit 169 can also extract the required header and data parts. The received data integrated management unit 169 is composed of any one or more of the CPU 101 or an application running on the CPU 101, the communication control IC 102, and the PHY 103.

[0115] The received data storage unit 170 is a functional unit for storing received data. The received data storage unit 170 receives the result of executing a given control or information processing from a single or multiple control target devices 121, and stores it as data. The stored data is extracted by the operation unit 160. The received data storage unit 170 can also manage data using the communication cycle or control cycle determined in the control or information processing executed by the operation unit 160 and the control target device 121 as a unit. The received data storage unit 170 can be illustrated as being installed on either or both of the memory 104 and the non-volatile storage medium 105.

[0116] The timer unit 171 is a functional unit for managing the passage of time. Figure 3 The time of events in each functional unit or between functional units is measured to time the time when a specific event occurs. The time at this time can be an absolute time based on GPS (Global Positioning System), etc., or it can be the time of the control device 120 itself, or it can be a synchronized time based on the reference time in the control system 123. For example, in EtherCAT, sometimes among the control object devices 121, the control object device 121 that corresponds to the distributed clock protocol (DC) and is closest to the control device 120 is set as the reference time.

[0117] The events that become the measurement objects of the timing unit 171 are given communication frames, the sending time of datagrams, the receiving time, the data forwarding time between functional units, the data processing time within the functional unit, or the data retention period. Alternatively, the timing unit 171 generates an interrupt according to the passage of a specified time or the arrival of a specified time, and notifies other functional units. At this time, the timing unit 171 can also generate interrupts and notify periodically. As an installation example of the timing unit 171, a timing device (crystal oscillator, timer device) of the CPU 101 or the communication control IC 102 can be exemplified, and a memory 104 or a non-volatile storage medium 105 can also be used as a storage unit for measuring the time.

[0118] exist Figure 3 In the figure, one transmission unit 167 and one reception unit 168 are shown respectively. However, when a plurality of communication control ICs 102 and PHYs 103 are provided, a plurality of transmission units 167 and a plurality of reception units 168 may be included respectively.

[0119] <Hardware Configuration of Control Target Device 121>

[0120] Figure 4 It is shown Figure 1 1 is a block diagram of a hardware configuration example of a control target device 121 in FIG. Here, a control target device 121 conforming to the EtherCAT standard defined in Communication Profile Family 12 of Part 2 of IEC61158 and IEC61784 is described as an example. However, the control target device 121 is not limited to the EtherCAT standard.

[0121] exist Figure 4In the embodiment, the CPU 101 controls the communication control IC 130 for the control target device via the bus 106. Although not shown in the figure, the CPU 101 may control the sensor and the actuator via the peripheral devices connected to the CPU 101.

[0122] The communication control IC 130 for the control target device communicates with the control network 122 through the plurality of PHYs 103a-103d. In the specification, the plurality of PHYs 103a-103d are collectively referred to as PHYs 103. The communication control IC 130 for the control target device is a dedicated IC that complies with the EtherCAT specification defined in Communication Profile Family 12 of Part 2 of IEC 61158 and IEC 61784. The communication control IC 130 for the control target device may also use the nonvolatile storage medium 105 for storing and referencing information required for communication.

[0123] The communication control IC 130 for the control target device is connected to the CPU 101 via the bus 106, but may be directly connected to the CPU 101 using a dedicated bus. In addition, either or both of a memory 104 and a non-volatile storage medium 105 dedicated to the communication control IC 130 for the control target device may be separately provided to store information required for processing by the communication control IC 130 for the control target device.

[0124] The input / output device 131 is an input / output interface for acquiring sensor values ​​from sensors constituting the control target device 121 and controlling actuators constituting the control target device 121. Examples of the input / output device 131 include various actuators such as motors, various sensors (encoders, temperature sensors, pressure sensors, image sensors, cameras, etc.), various digital input / output or analog input / output ICs, and driver ICs.

[0125] exist Figure 4 , one signal line from the input / output device 131 is shown, but it may be multiple depending on the structure of the control target device 121. In addition, it may be a structure including multiple input / output devices 131 themselves. The input / output device 131 may input information only to the sensor of the connection destination, or may output information only to the actuator of the connection destination, or may have both input and output functions. In addition, any one or more of the CPU 101, the memory 104, and the non-volatile storage medium 105 may be included in the communication control IC 130 for the control target device and set as a single-chip communication control IC.

[0126] <Functional Structure of Communication Control IC 130 for Controlled Device>

[0127] Figure 5 It is shown Figure 4 A block diagram showing an example of the functional configuration of a communication control IC 130 for a control target device in FIG. Figure 5 In the embodiment, four groups of communication port functions are provided by combining a plurality of communication forwarding control units 141a-141d and a plurality of communication units 142a-142d. In the specification, the plurality of communication forwarding control units 141a-141d are collectively referred to as the communication forwarding control unit 141, and the plurality of communication units 142a-142d are collectively referred to as the communication unit 142. In addition, the number of communication ports is not limited to four groups.

[0128] The communication processing unit 140 is connected between the communication forwarding control unit 141a and the communication forwarding control unit 141d involved in the two communication port functions. The communication processing unit 140 is an IC that performs communication processing in accordance with the EtherCAT specification, and an EtherCAT processing unit (Processor Unit) (EPU) can be exemplified as an implementation. In addition, the communication processing unit 140 can also be connected to other computing functions and input / output functions.

[0129] The communication forwarding control unit 141 is a functional unit that forwards received packets to an adjacent communication forwarding control unit 141 or a communication unit 142 that is paired with the adjacent communication forwarding control unit 141. The forwarding direction between the communication forwarding control units 141 is fixed in the communication control IC 130 for the control target device, and the order is communication forwarding control units 141a, 141b, 141c, and 141d. In addition, the communication forwarding control unit 141 forwards packets to the communication unit 142 or to the adjacent communication forwarding control unit 141 according to the setting from the communication processing unit 140 and the connection state of the communication path to which the communication unit 142 is connected.

[0130] The communication unit 142 is a functional unit connected to the control network 122 and used to communicate according to the communication protocol of the control network 122. Figure 3 In the same manner as in the case of FIG. 1 , the communication unit 142 is composed of the transmission unit 167 and the reception unit 168. The communication unit 142 can be exemplified as being composed of either or both of the communication control IC 130 for the control target device and the PHY 103.

[0131] The input / output unit 143 is an input / output function for acquiring sensor values ​​from sensors constituting the control target device 121 and controlling actuators constituting the control target device 121. The input / output unit 143 can be exemplified as being constituted by the input / output device 131. The bus 144 can be exemplified as being constituted by a communication line for connecting to any one or more of the CPU 101, the memory 104, the nonvolatile storage medium 105, and the input / output device 131, namely, the bus 106.

[0132] Figure 6 It is shown Figure 5 A block diagram of an example of the functional configuration of the communication processing unit 140 in FIG. Figure 6 In FIG. 1 , the communication connection unit 150 is a functional unit for connecting the communication processing unit 140 and the communication forwarding control unit 141. Figure 6 In the figure, one line is shown as a communication line to the external communication forwarding control unit 141, but a group of communication lines equal to the number of connected communication forwarding control units 141 is provided. On the other hand, the communication connection unit 150 is internally connected to the address conversion unit 151 and the access exclusive control unit 152. In addition, the communication connection unit 150 can also directly access the data storage unit 153. The communication connection unit 150 can be exemplified as being composed of the bus 106.

[0133] The address conversion unit 151 is a functional unit that converts addresses between two different address systems. For example, in EtherCAT, the conversion between a logical address and a physical address can be exemplified. The address conversion unit 151 is connected to the communication connection unit 150 and the access exclusive control unit 152, and refers to the EtherCAT datagram on the communication packet transmitted from the communication connection unit 150. The address conversion unit 151 converts the logical addresses on the LRD (Logical Memory Read), LWR (Logical Memory Write), and LRW (Logical Memory ReadWrite) commands that specify the logical addresses in the datagram into physical addresses on the data storage unit 153.

[0134] The conversion rule between the logical address and the physical address is set in advance, for example, by communication via the control network 122 or by an application running on the CPU 101 on the control target device 121. In addition, the address conversion unit 151 may directly access the data storage unit 153. The address conversion unit 151 may be constituted by the control target device communication control IC 130, for example.

[0135] The exclusive access control unit 152 is connected to the communication connection unit 150, the address conversion unit 151, the data storage unit 153, and the data integrated management unit 154, and performs exclusive control between the access to the input (write) and output (read) of the data storage unit 153. As an example of the exclusive access control unit 152, the SyncManager in EtherCAT can be exemplified. The exclusive access control unit 152 specifically manages multiple areas on the data storage unit 153, and automatically converts input access and output access to access to exclusive areas, so that simultaneous access to input and output becomes possible. As a result, simultaneous access to the input and output of the data storage unit 153 can be performed without delay.

[0136] The exclusive access control unit 152 performs exclusive control not on one entry specified by one address in the data storage unit 153, but on an area consisting of a plurality of entries. In addition, the exclusive access control unit 152 may directly access the operation unit 160. For example, the exclusive access control unit 152 may also have a notification means such as interruption to the operation unit 160 and the data integrated management unit 154 for each event including completion of input or output. The exclusive access control unit 152 may be constituted by the communication control IC 130 for the control target device.

[0137] The data storage unit 153 is a functional unit that stores given settings and data. Examples of information stored in the data storage unit 153 include setting information and status information of the operation of the communication control IC 130 and the communication processing unit 140 for the control target device, and information exchanged between the control device 120 and the control target device 121 (for example, control command values, sensor information acquired by the input device, etc.). The data storage unit 153 can be exemplified as being composed of any one or more of the communication control IC 130 for the control target device, the memory 104, and the non-volatile storage medium 105.

[0138] The data integrated management unit 154 is connected to the operation unit 160, the access exclusive control unit 152, and the integrated data storage unit 155, and integratedly manages the data acquired from the data storage unit 153 via the access exclusive control unit 152 or the data acquired from the operation unit 160 in the integrated data storage unit 155. Furthermore, as a reverse process, the data integrated management unit 154 outputs the data acquired from the integrated data storage unit 155 to the operation unit 160 or the data storage unit 153.

[0139] The data integration management unit 154 can be illustrated as being composed of any one or more of the CPU 101 or an application running on the CPU 101, the memory 104, the non-volatile storage medium 105, and the communication control IC 130 for the control object device. In addition, when the data integration management unit 154 is composed of an application on the CPU 101, it can also be composed of interrupt tasks and general tasks. This includes delayed tasks and periodic tasks that are started due to interrupts. Alternatively, it is also possible to include an IC (bus controller, ASIC or FPGA, CPLD, etc.) not shown in the figure Figure 4 In the hardware structure of the control object device 121, a data integrated management unit 154 is formed in the IC.

[0140] The integrated data storage unit 155 is a functional unit connected to the data integrated management unit 154 and stores data integratedly managed by the data integrated management unit 154. The integrated data storage unit 155 can be constituted by one or both of the memory 104 and the nonvolatile storage medium 105, for example.

[0141] The time synchronization unit 156 executes a time synchronization step to synchronize the time of the control target device 121 with a given reference time. As the time synchronization means to be executed, the distributed clock protocol of EtherCAT, IEEE802.1AS, IEEE 1588 or wireless time synchronization methods such as NTP, SNTP, GPS, and 5G can be listed. The time synchronization unit 156 can be exemplified as being composed of any one or more of the CPU 101 or an application running on the CPU 101, the PHY 103, and the communication control IC 130 for the control target device.

[0142] <Sending Steps of Control Device 120>

[0143] Figure 7 It is shown by Figure 3 A flowchart of an example of the sending steps performed by the control device 120 in FIG. Figure 7 In the embodiment of the present invention, first, the operation unit 160 waits for the start timing of the operation processing of the application (step S001). The execution start timing of the operation processing can be a timing started at a given cycle, or a timing periodically notified by the timing unit 171. Alternatively, it can be a timing based on an interrupt notification from the communication control IC 102 to the CPU 101.

[0144] In terms of the functional units, any one or more of the transmission data storage unit 161, the communication scheduling unit 162, the control system information storage unit 163, the communication scheduling component 164, the transmission unit 167, the reception unit 168, the reception data integrated management unit 169, the reception data storage unit 170, and the timing unit 171 notify the operation unit 160 of the interrupt. Accordingly, an example is given in which the operation unit 160 starts to control the application. The following example shows an interrupt from the communication control IC 102 to the CPU 101, or from Figure 3 The functional unit of the computer 160 sends an interrupt timing to the computing unit 160.

[0145] When the timer 171 is interrupted in a given cycle, when a given time is reached, or when a given period has passed

[0146] When updating or extracting the information stored in the data storage unit 161

[0147] When the communication schedule is updated by the communication scheduler 162, and when the forwarding of communication data is started and completed

[0148] When the storage information is updated by the control system information storage unit 163

[0149] When the communication schedule configuration unit 164 determines the communication schedule, and when the communication schedule configuration unit 164 completes the notification to the communication schedule unit 162

[0150] When the transmission of communication data by the transmission unit 167 starts and ends

[0151] When the receiving unit 168 starts receiving data and when it completes receiving data

[0152] The start and completion of datagram extraction by the reception data integrated management unit 169, the start and completion of forwarding of reception data from the reception unit 168, and the start and completion of forwarding to the reception data storage unit 170

[0153] When the information stored in the receiving data storage unit 170 is updated or extracted

[0154] In addition, each functional unit may also generate an interrupt based on a given communication data. The limitation may include, for example, an additional condition based on a given communication partner (control object device 121), an additional condition based on a given type of operation, an additional condition for data size (for example, comparison with a given threshold value), and an additional condition based on processing timing and processing time.

[0155] If the start timing of the calculation process is reached in step S001 (yes in step S001), the calculation unit 160 executes the calculation process (step S002). Examples of such calculation processes include calculation of output command values ​​based on sensor information acquired by the input / output device 131 and the input / output unit 143 of the control target device 121, statistical processing of AI etc. for applying IoT, and determination of setting information for the control target device 121.

[0156] Next, the operation unit 160 writes the transmission data determined and generated in step S002 into the transmission data storage unit 161 (step S003). After that, the communication scheduling unit 162 waits for the transmission timing (step S004). The transmission timing is in accordance with the communication schedule determined by the communication scheduling component 164. If the transmission timing is reached in step S004 (yes in step S004), the communication scheduling unit 162 sends the transmission data to the control network 122 via the transmission unit 167 (step S005).

[0157] After that, the communication scheduling unit 162 determines whether the transmission of the given group has been completed (step S006). When determining whether the transmission of the given group has been completed, the communication scheduling unit 162 can determine that it has been completed based on the repetition of a given number of transmissions, or can determine that it has been completed when the total transmission data size has become greater than a given value. Alternatively, the communication scheduling unit 162 can also determine that it has been completed when a given communication content has been transmitted.

[0158] If it is determined in step S006 that the transmission of the given group is completed (Yes in step S006), the control device 120 determines whether the end condition is satisfied (step S007). If the end condition is satisfied (Yes in step S007), the control device 120 ends the processing. The end condition can be exemplified by reaching a given time, passing a given time, executing a given number of transmissions, or the number of transmissions of a given group reaching a threshold.

[0159] Alternatively, the termination condition may be exemplified as the control system 123 having completed the execution of a given control step and achieving a given control performance. In addition, the termination may be explicitly instructed by a system operator or the like. Alternatively, the termination may be determined based on an abnormality or change occurring in any one or more of the control device 120, the controlled device 121, the control network 122, and the control system 123. For example, a major abnormality or accident that makes it difficult to continue to execute the control system 123 may be exemplified, and a safe stop may be exemplified.

[0160] If it is determined in step S006 that the transmission of the given group is not completed (No in step S006), the process returns to step S004. In addition, in step S007, if the end condition is not satisfied, the process returns to step S001. In addition, from step S001 to step S003, the operation unit 160 mainly acts as the action subject, and from step S004 to step S006, the communication scheduling unit 162 acts as the action subject. Therefore, steps S001 to S003 and steps S004 to S006 may be executed in parallel or in parallel.

[0161] <Receiving Step of Controlled Device 121>

[0162] Figure 8 It is shown in Figure 5 as well as Figure 6 14. First, the communication unit 142 and the communication forwarding control unit 141 wait for the reception of a packet via the control network 122 (step S010). If a packet is received in step S010 (yes in step S010), the communication connection unit 150 extracts the datagram constituting the received packet (step S011).

[0163] Next, the communication connection unit 150 determines whether the address in the header of the datagram extracted by step S011 is a conversion object address (step S012). The so-called conversion object address is, for example, a logical address. In addition to the logical address, the communication connection unit 150 can also independently determine the rule for converting a given address into a physical address on the control object device 121, and determine whether it is a conversion object address based on whether it is its object address.

[0164] In step S012, if the address in the header of the datagram is the conversion object address (step S012 is yes), the address conversion unit 151 converts the address (step S013). As an example of this conversion, the conversion from a logical address to a physical address can be cited. After step S013, or if the address in the header of the datagram is not the conversion object address in step S012 (step S012 is no), the access exclusive control unit 152 performs exclusive control on the access to the data storage unit 153, and writes the data of the received datagram into the data storage unit 153 (step S014).

[0165] Furthermore, the exclusive access control unit 152 notifies the data integration management unit 154 that the writing to the data storage unit 153 is completed (step S015). The notification of the completion of writing can be an interrupt signal or a change of a given register to a given value. In the latter case, the data integration management unit 154 can detect that the exclusive access control unit 152 has completed writing to the data storage unit 153 by polling the register.

[0166] After that, the control target device 121 determines whether the processing of all datagrams in the received group has been completed (step S016). At this time, the control target device 121 can make a determination based on whether there is still residual received data, or it can be determined that the processing of all datagrams has been completed if the MORE bit on the header of the datagram that has been written to the data storage unit 153 becomes 0 (that is, the last datagram).

[0167] If it is determined in step S016 that the processing of all datagrams has been completed (step S016 is yes), the processing ends. If it is determined in step S016 that the processing of all datagrams has not been completed (step S016 is no), the process returns to step S011. In addition, each time a packet is received, the process is executed. Figure 8 In addition, the writing completion in step S015 may be notified in datagram units but in packet units.

[0168] <Comprehensive Management Procedure at the Time of Receiving Control Target Device 121>

[0169] Fig. 9It is shown in Figure 6 1 is a flowchart of an example of the integrated management steps of received data performed by the control object device 121 in FIG. First, the data integrated management unit 154 waits until the data of the data storage unit 153 is updated (step S020). If the data of the data storage unit 153 is updated (yes in step S020), the data integrated management unit 154 determines whether the update is valid (step S021).

[0170] In step S021, the data integration management unit 154 determines whether the update data accompanying a packet is valid based on information on the packet, communication timing of the packet, etc. Specifically, for example, the data integration management unit 154 makes a determination based on the following determination criteria A1 or A2, or a combination thereof.

[0171] Judgment criterion A1: When the communication cycle of the control device 120 is fixed, whether the reception time in the control target device 121 has passed too much from the last reception time compared to the communication cycle amount. For example, when the communication cycle of the control device 120 is 100 microseconds and the reception time in the control target device 121 has passed 200 microseconds compared to the last reception time, it is considered that there are packets that have not been received due to packet loss or the like. On the other hand, if the elapsed time is 100 microseconds, it can be determined that data can be received continuously and the updated data is valid. When there are fluctuations in the processing time of the control device 120 and the control target device 121 and the communication time of the control network 122, it can be illustrated that a given margin is added to the threshold of the elapsed time.

[0172] Judgment criterion A2: When the received data is provided with a sequence number and the transmission time in the control device 120, whether it matches the value in the last received data. For example, when the sequence number is discontinuous or the difference in the transmission time exceeds a given value, the updated data is considered invalid. Otherwise, the updated data can be determined to be valid. The time here can be either a synchronization time using a synchronization protocol such as DC or a time in the control device 120.

[0173] When the update data is determined to be valid in step S021 (Yes in step S021), the data integration management unit 154 determines the allocation position on the integrated data storage unit 155 (step S023). Then, the data integration management unit 154 allocates the received data to the position determined in step S023 on the integrated data storage unit 155 (step S024).

[0174] After this, the data integrated management unit 154 determines whether the integrated data area of ​​the integrated data storage unit 155, in other words, the control data on the integrated data area is valid (step S025). At this time, the data integrated management unit 154 can determine whether the integrated data area is valid based on whether the number of datagrams or the number of repetitions of packet reception has become a given value or more, or it can determine based on whether the total received data size has become a given value or more. Alternatively, the data integrated management unit 154 can also determine that it is completed when a given communication content is received. If the integrated data area is valid in step S025 (yes in step S025), the data integrated management unit 154 will validate the integrated data area of ​​the integrated data storage unit 155 (step S026).

[0175] In addition, when the update data is determined to be invalid in step S021 (No in step S021), the data integration management unit 154 performs a response process (step S022). As a response process, it can be illustrated that the update data is invalid to the operation unit 160 or the access exclusive control unit 152 or the communication connection unit 150 (the connection with the data integration management unit 154 is not shown) of the control target device 121. As a notification means, an interruption can be illustrated.

[0176] Alternatively, as a countermeasure, the area that has been received and allocated to the integrated data storage unit 155 is invalidated, and even if the data scheduled to be received later is received, it is invalidated. That is, the criterion for determining whether the updated data in step S021 is valid includes whether the invalidation process in step S022 is performed. Specifically, if the next packet is received after the integrated data storage unit 155 is updated based on the initial packet, if the update of the data storage unit 153 accompanying the next packet is invalid, the update based on the initial packet is also retroactively invalidated.

[0177] In addition, it is possible to exemplify that after receiving a given number of packets or datagrams, or after a given time or period, the invalidation process itself is invalidated. Such a process is also included in the response process of step S022 and the subsequent steps. Alternatively, it is also possible to Fig. 9 The steps shown perform the invalidation process independently or in parallel.

[0178] After steps S026 and S022, or when the integrated data area is not valid in step S025 (No in step S025), the control target device 121 determines the end of the processing (step S027). Figure 7 The same is true for step S007 in. In addition, it can also be determined to be completed based on the processing result in step S022. For example, it can also be determined to be completed when the number of invalidations exceeds a given value.

[0179] In addition, the response process in step S022 (invalidation of the area of ​​the integrated data storage unit 155, etc.) is executed starting from the data update in step S020. However, considering the possibility of communication abnormality in the control network 122, the response process may be executed after a given time (timeout) has passed since the event such as data update, packet reception, allocation to the area of ​​the integrated data storage unit 155, etc. that was just performed.

[0180] In addition, in step S023, the data integration management unit 154 may determine the allocation position by the order of reception or by the reception time. For example, the communication cycle, in other words, the communication timing of the grouping, is shared in advance between the control device 120 and the control object device 121, so that the control object device 121 can determine which periodic communication it is from the reception time. At this time, the start time may be shared between the control device 120 and the control object device 121, or the time when the control object device 121 first receives the information from the start of the processing may be used as the start time and stored in the control object device 121. In addition, in the information sharing between the control device 120 and the control object device 121, the use of mailbox communication can be exemplified.

[0181] Alternatively, the data transmission source, in this case, for example, the control device 120, may also pre-store information on the communication number and the designated allocation position in the communication data. This may utilize information such as the header, or the data area on the packet or datagram. Alternatively, the data transmission source may also pre-store address information indicating the allocation position on the integrated data storage unit 155 in the data area on the packet or datagram. In this case, the physical address of the built-in RAM of the EtherCAT slave device is 16 bits (64 kB). In the case of expecting the effect of setting a space wider than the built-in RAM as the integrated data area, the bit width of the address needs to be set to be larger than 16 bits.

[0182] Furthermore, in step S025, when the integrated data area of ​​the integrated data storage unit 155 is validated, the data integrated management unit 154 may notify the operation unit 160 of the validation through an interruption or the like, or may forward the validated data to the operation unit 160. Therefore, the integrated data storage unit 155 may also have a plurality of integrated data areas for the received data. Thus, in step S025, the integrated data area may be switched before or after the integrated data area is determined to be valid.

[0183] In addition, a plurality of integrated data areas can be formed by, for example, a ring buffer. Fig.21 It is shown Figure 6 A schematic diagram of an example of the structure of the integrated data storage unit 155 in FIG. Fig.21As shown, when the integrated data storage unit 155 is formed by a ring buffer, the data integrated management unit 154 manages the write position and the read position for a plurality of integrated data areas.

[0184] In addition, in steps S025 and S026, the data integration management unit 154 may validate only a part of the area and invalidate the unreceived area instead of validating all the necessary data. In this case, for example, if the calculation unit 160 accesses the unreceived area, it can be set as an error.

[0185] <Sending Action of Controlled Device 121>

[0186] Fig.10 It is shown in Figure 5 as well as Figure 6 A flowchart of an example of a sending procedure performed by the control object device 121. Fig.10 In the process, the operation unit 160 first waits for the start timing of the operation processing of the application (step S030). The execution start timing of the operation processing can be a timing started at a given period, or a timing notified periodically by the time synchronization unit 156, a timer (not shown), etc. Alternatively, it can be a timing started at a given period, or a timing notified periodically by the time synchronization unit 156, a timer (not shown), etc. Figure 6 The timing at which the computing unit 160 is activated by notification from each functional unit is shown (the connection between some functional units and the computing unit 160 is not shown).

[0187] As Figure 6 The timing of notification from the functional unit to the calculation unit 160 can be exemplified as follows.

[0188] ·When receiving, sending, and forwarding packets in the communication connection unit 150

[0189] When address conversion by the address conversion unit 151 is started or completed

[0190] When the exclusive access control unit 152 writes or reads data to the data storage unit 153, or when the exclusive access control unit 152 starts or completes data transfer with the data integration management unit 154

[0191] When updating or extracting the stored data in the data storage unit 153

[0192] ·When data transfer between the data integration management unit 154 and the access exclusive control unit 152 or the calculation unit 160 is started or completed

[0193] When the data integration management unit 154 writes data to the integrated data storage unit 155, reads data from the integrated data storage unit 155, or validates or invalidates the integrated data area in the integrated data storage unit 155

[0194] When the time synchronization unit 156 is interrupted in a given cycle, when a given time is reached, or when a given period has passed

[0195] also, Figure 6 Each functional unit in can also generate notifications based on given data. When limiting, for example, conditions based on given operation types, conditions for data size (for example, comparison with given thresholds), and conditions based on processing timing and processing time can be listed.

[0196] If the start timing of the operation processing is reached in step S030 (yes in step S030), the operation unit 160 obtains data from the integrated data storage unit 155 via the data integration management unit 154 (step S031). Next, the operation unit 160 performs operation processing based on the acquired data (step S032). And, when the operation unit 160 calculates an output value through the operation processing, it outputs the output value (step S033). This output value is used, for example, in the control of an actuator, etc.

[0197] Next, the calculation unit 160 receives data from the input / output device 131 such as a sensor via the bus 144. Figure 5 The input / output unit 143 shown acquires input information (step S034). The operation unit 160 transfers the acquired input information to the data integration management unit 154, and the data integration management unit 154 writes the transferred data into the integrated data storage unit 155 (step S035). The process ends.

[0198] In addition, Fig.10 In the embodiment, a series of processes are performed in sequence, but a part or more of steps S031, S032, S033, S034, and S035 may be performed in parallel. In addition, if the control object device 121 does not have an output device such as an actuator, step S033 may not be performed. Similarly, if the control object device 121 does not have an input device such as a sensor, step S034 may not be performed.

[0199] <Comprehensive Management Procedure for Controlling Transmission of the Target Device 121>

[0200] Fig.11 It is shown in Figure 6 A flowchart showing an example of the integrated management procedure of the transmission data performed by the control target device 121. Fig.11In the process, first, the data integration management unit 154 waits until the data of the integrated data storage unit 155 is updated (step S040). If the data of the integrated data storage unit 155 is updated (yes in step S040), the data integration management unit 154 divides the data (step S041).

[0201] Next, the data integration management unit 154 waits for the forwarding timing of the data divided in step S041 (step S042). If the forwarding timing is reached in step S042 (yes in step S042), the data integration management unit 154 forwards the divided data to the exclusive access control unit 152 (step S043).

[0202] After that, the data integration management unit 154 determines whether the forwarding of the given group of segmented data has been completed (step S044). If it is determined in step S044 that the forwarding of the given group of segmented data has been completed (step S044: Yes), the control object device 121 determines whether the end condition is satisfied (step S045). If the end condition is satisfied (step S045: Yes), the processing ends. The determination of the end condition is the same as Figure 7 The same is true for step S007 in .

[0203] The data forwarded to the exclusive access control unit 152 in step S043 can be acquired by the control device 120 through communication based on the read command from the control device 120. If it is determined in step S044 that the forwarding of the divided data of the given group is not completed (No in step S044), the process returns to step S042. In addition, if the end condition is not satisfied in step S045 (No in step S045), the process returns to step S040.

[0204] In addition, the data integration management unit 154 may also determine whether the updated data of the operation unit 160 to the integrated data storage unit 155 is valid by monitoring and comparing the forwarding timing of the data after step S040. If it is not valid, the data integration management unit 154 may also make an interrupt notification to the operation unit 160, a notification to the control device 120, or other external notifications.

[0205] The data division in step S041 can be illustrated as equal division with a predetermined number. In addition, the data integration management unit 154 can also associate the attribute of each segmented data with each data divided in step S041. As such attributes, the position of the segmented data in the whole, the size of the segmented data, an identifier for identifying the segmented data, and a sequence number can be illustrated. In addition, an area can be set on the segmented data to maintain the attribute.

[0206] In addition, in steps S043 and S044, the data integration management unit 154 may notify the operation unit 160 by using interruption or the like according to the start of data forwarding, completion of forwarding, and completion of a given group.

[0207] <Receiving Operation of Control Device 120>

[0208] Fig.12 It is shown by Figure 3 A flowchart of an example of a receiving step performed by the control device 120 in FIG. Fig.12 In the embodiment of the present invention, first, the receiving unit 168 waits for the reception of a packet (step S050). If a packet is received in step S050 (yes in step S050), the received data integrated management unit 169 determines whether the received data is valid (step S051). The received data integrated management unit 169 determines whether the received data is valid, for example, based on any one or a combination of multiple of the following determination criteria B1 to B5.

[0209] Judgment criterion B1: When the communication cycle of the control device 120 is fixed, whether the reception time in the control device 120 has passed too much from the last reception time compared to the communication cycle amount. For example, when the communication cycle of the control device 120 is 100 microseconds, and the reception time in the control device 120 has passed 200 microseconds compared to the last reception time, it is considered that there are packets that have not been received due to packet loss or the like. On the other hand, if the elapsed time is 100 microseconds, it can be determined that data can be received continuously and the received data is valid. In the case where there are fluctuations in the processing time of the control device 120, the controlled device 121, and the communication time of the control network 122, it can be illustrated that a given margin is added to the threshold of the elapsed time.

[0210] Criteria B2: When the received data is provided with a sequence number and a transmission time in the control device 120, whether the sequence number matches the value in the previous received data. For example, when the sequence number is discontinuous or the difference in the transmission time exceeds a given value, the received data is considered invalid. Otherwise, the received data can be considered valid.

[0211] Judgment criterion B3: When the transmission time in the control device 120 is recorded, whether it matches the reception time of the received data. When the difference between the reception time and the transmission time (that is, the communication time) exceeds a given value, the received data is considered invalid, and in other cases, the received data can be determined to be valid. When a real-time network with high time certainty is used in the control network 122, the given value for determining the validity of the received data can be determined according to the specifications of the control network 122. In addition, the transmission time can also be stored in the packet.

[0212] Criteria B4: Whether an error is detected by an error detection code on a packet. An example of an error detection code is a cyclic redundancy check (CRC).

[0213] Judgment criterion B5: whether the value of a given position on a packet is a given value. In this case, a method of judging that the value of a given position on a packet is a given value may be used, or a method of judging that the value is invalid may be used. For example, the judgment may be made using data updated by the control target device 121, IRQ of the EtherCAT datagram header, or the value of WKC.

[0214] If it is determined that the received data is valid (Yes in step S051), the received data integrated management unit 169 determines the allocation position of the received data in the received data storage unit 170 (step S052). And, the received data integrated management unit 169 allocates the received data to the position determined in step S052 (step S053). Thereafter, the received data integrated management unit 169 determines whether the group of received data is valid (step S054). If it is determined in step S054 that the group of received data is valid (Yes in step S054), the received data integrated management unit 169 validates the received data in the received data storage unit 170 (step S055).

[0215] On the other hand, in step S051, if it is determined that the received data is not valid (step S051: No), the received data integrated management unit 169 performs a response process (step S057). The response process may include an external notification such as an interruption to the computing unit 160 of the control device 120.

[0216] Alternatively, as a response process, it can be illustrated that the area that has been received and allocated to the received data storage unit 170 is invalidated, and even if the data scheduled to be received is received, it is invalidated. That is, the criterion for determining whether the received data in step S051 is valid includes the presence or absence of the invalidation process in step S057. In addition, it can be illustrated that the invalidation process itself is invalidated after a given number of packets or datagrams are received, or after a given time or period has passed. Such processing is also included in the response process of step S057 and the subsequent steps. Alternatively, it can also be combined with Fig.12 The steps shown perform the invalidation process independently or in parallel.

[0217] After the processing of step S055, after the processing of step S057, or when it is determined in step S054 that the received data group is not valid (No in step S054), the control device 120 determines whether the end condition is satisfied (step S056). If the end condition is satisfied (Yes in step S056), the processing ends. Fig. 9 The same is true for step S027 in. In addition, it can also be determined to be completed based on the processing result in step S057. For example, it can also be determined to be completed when the number of invalidations exceeds a given value.

[0218] In addition, in step S052, the received data integrated management unit 169 can determine the allocation position by the order of reception or by the reception time. Since the control device 120 knows the start time and the communication cycle, it can determine which cycle communication is. Alternatively, the data transmission source, in this case, for example, the control device 120 or the controlled device 121, can also store the information of which communication number and the designated allocation position in the communication data. At this time, the information such as the header can be used, and the data area on the packet or datagram can be used.

[0219] Alternatively, the data transmission source may store address information indicating the allocation position on the received data storage unit 170 in the data area on the packet or datagram. In this case, the physical address of the built-in RAM of the EtherCAT slave device is 16 bits (64 kB). If the effect of setting a space wider than the built-in RAM as the integrated data area is expected, the bit width of the address needs to be set larger than 16 bits.

[0220] Furthermore, since the information indicating the allocation position on the received data storage unit 170 is originally determined by the control device 120, it is also possible to store it in association with the identifier of the packet and the allocation position on the received data storage unit 170 instead of storing it in the packet. In this case, the received data integrated management unit 169 can determine the allocation position on the received data storage unit 170 based on the identifier of the received packet. This method can also be applied to Fig. 9 The data integrated management unit 154.

[0221] In addition, the response process in step S057 (invalidation of the area of ​​the received data storage unit 170, etc.) is executed starting from the packet reception in step S050. However, considering the possibility of communication abnormality in the control network 122, the response process may be executed after a given time (timeout) has passed since the event of the packet reception, distribution of received data, validation of the received data group, etc. that was just performed.

[0222] <Operation Example of Communication Scheduling Unit 162 and Communication Scheduling Configuration Unit 164>

[0223] Fig.13 It is shown in Figure 3 The flowchart is a flowchart of an example of the procedure for the communication schedule configuration unit 164 to determine the communication schedule. Fig.14A , Fig. 14B , Fig. 14C as well as Fig.14D It is shown by Fig.13 A schematic diagram of a specific example of a communication schedule determined by the process shown. Fig.13 In the embodiment, first, the communication scheduling component 164 obtains information related to the control system 123 from the control system information storage unit 163 (step S060). Fig.14A As shown, the acquired information includes the effective data capacity, input / output size, and control cycle in the data storage unit 153 of each controlled device 121 .

[0224] The effective data capacity indicates the size of data that can be allocated to control communication in the data storage unit 153. In the case of EtherCAT, if there is capacity allocated to mailbox communication, etc., the capacity of the built-in RAM that can be allocated to process data communication equivalent to control communication is subtracted from the capacity, and further, in order to enable the SyncManager that manages exclusive control of the built-in RAM to function, it is reduced to one-third. For example, if the data storage unit 153 (built-in RAM) is 8kB and 2kB is allocated to mailbox communication, the effective data capacity becomes (8kB-2kB) / 3=2kB.

[0225] The input / output size is the data size that should be updated by the control device 120 in each control cycle. Here, it is set to input / output, but it can be only input or only output. In addition, if the LRW command of EtherCAT is used, input (reading from the perspective of the control device 120) and output (writing from the perspective of the control device 120) can be communicated simultaneously, so there is no need to measure the input size and output size one by one and sum them up. For example, even if the input size (for example, sensor value) and the output size (for example, command value) each require 2kB, the input / output size can be set to 2kB instead of 4kB.

[0226] Here, the case of using the LRW command for communication is taken as an example. However, the input and output can also be communicated through the LRD command and the LWR command respectively. In addition, the input size and the output size may not be equal. In this case, the input and output can be communicated through the LRD command and the LWR command respectively, or the LRW can be used for the smaller size, and the remaining amount can be communicated through either the LRD command (when the input size is larger) or the LWR command (when the output size is larger).

[0227] Furthermore, the information acquired by the communication scheduling component 164 from the control system information storage unit 163 includes the number of FMMUs (Fieldbus Memory Management Units) installed in each control target device 121, the restrictions on the number of utilization, and the requirements. The restrictions on the number of utilization and the requirements may also be for each control target device 121. In addition, the same information may be included for the SyncManager.

[0228] After executing step S060, the datagram structure determination unit 166 determines the structure of the datagram sent from the control device 120 to the control target device 121 (step S061). For example, the number of datagrams in the control cycle can be calculated by dividing the input and output size by the effective data capacity. Furthermore, if communication is performed at equal intervals, the communication cycle can be calculated based on the number of datagrams.

[0229] exist Fig.14A In this case, the number of datagrams and the communication cycle of each control object device 121 are calculated by the following (A) to (C).

[0230] (A) Case of Control Target Device 121A

[0231] Number of datagrams: 1000B / 500B=2

[0232] Communication cycle: 1ms / 2=500μs

[0233] (B) Case of Control Target Device 121B

[0234] Number of datagrams: 5000B / 500B=10

[0235] Communication cycle: 10ms / 10=1ms

[0236] (C) Case of Control Target Device 121C

[0237] Number of datagrams: 1000B / 1000B=1

[0238] Communication cycle: 1ms / 1=1ms

[0239] The datagram structure determination unit 166 determines the structure of the datagram based on the calculated number of datagrams in the control cycle and the communication cycle. At this time, it is necessary to consider the maximum permissible data size that can be communicated as specified by the protocol of the control network 122. For example, in IEEE802.3, the maximum permissible data size is 1500 bytes (excluding the header and FCS), and in the case of EtherCAT, one datagram is 1486 bytes. In the case of EtherCAT, since the overhead such as the header increases every time the datagram increases, the maximum permissible data size of each datagram and the total number of datagrams decreases.

[0240] exist Fig.14A In the example shown, the effective data capacity of the control object devices 121A, 121B, and 121C is respectively less than the maximum allowable data size of EtherCAT, so they can also constitute datagrams independently. Alternatively, even if the control object devices 121A and 121B are merged, it is only (500B+500B=1000B), which is less than the maximum allowable data size of EtherCAT, so the control object devices 121A and 121B can be combined. On the other hand, when the control object devices 121A and 121C are merged, it is (500B+1000B=1500B), which exceeds the maximum allowable data size of EtherCAT, so the control object devices 121A and 121C cannot be combined. The same applies to the combination of the control object devices 121B and 121C.

[0241] In this way, the datagram structure determination unit 166 determines the structure of the datagram in consideration of the effective data capacity and the maximum permissible data size (permissible size of the communication packet and permissible size in the datagram unit) in the control network 122. At this time, the communication cycle and the number of divisions of the partial area when integrated in the data integration management unit 154 may be different for each control target device 121. Regarding the number of divisions of the partial area, in the above example, the control target device 121A is 2, the control target device 121B is 10, and the control target device 121C is 1.

[0242] Next, considering the datagram structure determined in step S061, the logical address determination unit 165 determines the allocation of the data storage unit 153 of each control target device 121 to the logical address (step S062). Fig.14A In the case of datagrams communicated by the control object devices 121A, 121B, and 121C shown in FIG. 1 , there is no restriction on the allocation of logical addresses, so they can be allocated freely. As an example, the logical address determination unit 165 may also perform the following steps: Fig. 14C Assignment of logical addresses as shown.

[0243] On the other hand, when the control target devices 121A and 121B are combined, it is necessary to allocate the data storage units 153 of the control target devices 121A and 121B to continuous areas. In this case, the logical address determination unit 165 performs the following operations, for example: Fig. 14B The logical addresses can be allocated as shown.

[0244] Next, the communication scheduling component 164 determines the transmission timing of each datagram (step S063). As the transmission timing determined by the communication scheduling component 164, an offset between the communication cycle and the transmission timing of each control target device 121 can be exemplified. The transmission timing is determined to satisfy requirements such as the control cycle, input / output size, and the communication cycle calculated in step S061.

[0245] exist Fig. 14B as well as Fig. 14C An example of the transmission timing determined by step S063 is shown in FIG. Fig. 14B as well as Fig. 14C In the example, the communication cycles of the control target devices 121A, 121B, and 121C are determined to be 500 μs, 1 ms, and 1 ms, respectively. In addition, the offset of the transmission timing for the control target device 121C is determined to be 250 μs. Fig. 14C In this case, an offset in the sending timing is also set for the control object device 121B.

[0246] like Fig. 14B as well as Fig. 14C As shown, for example, when 1 ms is used as the unit time, the number of datagrams of the control target device 121A per unit time is 2, and the size of each datagram is 500 bytes. The number of datagrams of the control target device 121B per unit time is 1, and the size of the datagram is 500 bytes. The number of datagrams of the control target device 121C per unit time is 1, and the size of the datagram is 1000 bytes.

[0247] After step S063, the communication scheduling component 164 determines whether a given condition is satisfied (step S064). For example, the determination may be made based on whether each or more of steps S061 to S063 are executed a given number of times. Alternatively, the determination may be made based on whether any one or more of the number of datagrams, number of packets, and communication bandwidth utilization per given unit time satisfies a required value.

[0248] As the given unit time, the maximum communication cycle calculated in step S061 can be exemplified. Fig. 14B as well as Fig. 14CIn the case of , the communication cycle of the control target devices 121B and 121C is 1 ms, which becomes the maximum value among the control target devices 121A, 121B, and 121C, and is therefore regarded as the unit time.

[0249] In addition, the required values ​​of the number of datagrams, the number of packets, and the communication bandwidth utilization rate can be stored in advance in the control system information storage unit 163. The communication bandwidth utilization rate is the ratio of the data communication time per unit time in the control network 122. The data communication time includes, for example, the communication time of the preamble, SFD (Start Frame Delimiter), FCS, IFG (Inter frame Gap), etc. in addition to the communication time of the packet (communication frame) itself.

[0250] Alternatively, in step S064, the communication scheduling component 164 may also determine whether the number of datagrams or the number of packets has reached an ideal value. For example, in the number of packets, the maximum value of either the minimum number of packets required based on datagram segmentation or the minimum number of packets required based on the maximum allowable size becomes an ideal value. In this case, the maximum communication cycle calculated in step S061 may be used as the unit time.

[0251] For example, in Fig. 14B as well as Fig. 14C In the example, the unit time of the maximum communication cycle is 1 ms, and the number of datagrams required for the control target device 121A in the unit time is 2. On the other hand, the number of datagrams required for the control target devices 121B and 121C in the unit time is both 1. Therefore, the minimum number of packets required by datagram segmentation is limited to 2 by the control target device 121A.

[0252] On the other hand, when the total effective data capacity per unit time in the control object devices 121A, 121B, and 121C is divided by the maximum allowable size of the EtherCAT datagram and rounded up to an integer value, Ceil() is used as the rounding function, and Ceil((500B×2+500B+1000B) / 1486B)=2. As a result, the minimum number of packets required based on datagram segmentation and the minimum number of packets required based on the maximum allowable size are both 2, so the maximum value of the number of packets becomes 2. The ideal value of the number of datagrams is the same as the ideal value of the number of packets. Therefore, the ideal value of the number of datagrams becomes 2.

[0253] In addition, Fig.14D, an example of determining the datagram structure, the allocation of logical addresses, and the transmission timing so as to minimize the number of packets and the number of datagrams is shown. In this example, the access to the control target device 121C is divided into a plurality of packets, and the divided access to the control target device 121C and the access to the control target device 121A are made continuous. Therefore, the data storage unit 153 of the control target device 121A is allocated to two logical addresses (A, A').

[0254] In this way, the communication scheduling component 164 determines the datagram structure, the allocation of logical addresses, and the transmission timing based on the effective data capacity, the input / output size, and the control cycle.

[0255] With such a configuration, the number of packets and datagrams can be minimized, and the communication overhead associated with the header and IFG can be minimized. As a result, the remaining communication band can be used to perform other communications such as setting and status acquisition signals, and can be used for visualization of the control target device 121 and the control system 123, and maintenance and diagnosis based on the utilization of IoT. Therefore, the operation of the control system 123 can be advanced, and the performance and operation rate as a control system can be improved.

[0256] As a solution to the above communication scheduling determination method, the area of ​​the data storage unit 153 of each control target device 121 is allocated to a continuous logical address space. In addition, the data storage unit 153 of the control target device 121 that sends multiple datagrams per unit time (the maximum value among the maximum communication cycles of each control target device 121 calculated in step S061) can also be allocated to multiple logical addresses. In this case, Fig.14D As in the case of the control target device 121A in FIG. 1 , the data storage units 153 of the same control target device 121 are not assigned to consecutive logical addresses.

[0257] This method is used in the following situations: Fig.14D If datagrams are sent while each control target device 121 is continuously assigned to a logical address, a situation occurs in which all datagrams cannot be stored in a single datagram. Fig.14D In the example, assuming that the effective data capacity of the control target device 121C is as small as 500B, if the logical addresses are allocated in the order of the control target devices 121B, 121A, and 121C, the number of packets and the number of datagrams can be minimized.

[0258] Specifically, the LRW command of the control target devices 121B and 121A is accessed by the first datagram, and the LRW command of the control target devices 121A and 121C is accessed by the next datagram every 500 μs. In this case, since a plurality of data sent to the control target device 121A can be stored in a single datagram, it is not necessary to allocate a plurality of logical addresses of the control target devices 121A.

[0259] In addition, Fig.14D In the case of , in the control object device 121A, two FMMUs are used to allocate multiple logical addresses, and four are used in the case of both input and output. When the number of FMMUs is set to one as a restriction on the use of FMMUs, the allocation of the logical address of the data storage unit 153 of the control object device 121A may be set to one.

[0260] Thus, the number of datagrams becomes 3. That is, since the logical addresses of the control target device 121A and the divided control target device 121C are not continuous, Fig.14D The second packet in becomes two datagrams. On the other hand, since the number of communication packets is maintained at two, the increased overhead is the amount of one datagram, and in detail, the size of the datagram header and WKC can be limited. As a specific method, a method of setting the priority relationship and weight of the communication requirements and the resource (FMMU) requirements in the communication scheduling component 164 and determining based on this information can be exemplified.

[0261] If the condition is satisfied in step S064 (Yes in step S064 ), the communication schedule configuration unit 164 notifies the communication scheduler 162 of the determined communication schedule (step S065 ). The communication scheduler 162 determines the transmission timing of the packet based on the communication schedule notified from the communication schedule configuration unit 164 .

[0262] In addition, when steps S061 to S063 are executed multiple times and multiple communication schedules are planned, the optimal plan can be notified to the communication scheduler 162 based on a given evaluation index. The evaluation index can be a value with a weight added to any one or more of the number of packets, the number of datagrams, and the communication band utilization rate. The priority and weight of these evaluation indicators can be set in the communication schedule configuration unit 164.

[0263] If the condition is not satisfied in step S064 (No in step S064), the process returns to step S061. In this case, the step to be returned to may be steps S062 or S063 instead of S061, and the process may be changed each time when returning from step S064. The decision of the return destination may also be based on the determination result of step S064. For example, when the number of packets or the number of datagrams reaches an ideal value, the process returns to a step other than S061.

[0264] In addition, the communication scheduling component 164 may determine the datagram of logical address allocation (FMMU settings) to be sent to each controlled device 121 based on the determined logical address structure. In this case, when initializing, the control device 120 may include the FMMU settings in the datagram group and send it to the controlled device 121.

[0265] <Search techniques, optimization techniques>

[0266] In addition, any one or more of the datagram structure by the datagram structure determination unit 166 in step S061, the allocation of logical addresses by the logical address determination unit 165 in step S062, and the transmission timing by the communication scheduling configuration unit 164 in step S063 may also be determined using a search technique or an optimization technique. These methods include full search, genetic algorithm, meta-heuristics such as particle swarm optimization, and combinatorial optimization algorithms.

[0267] When using these search techniques and optimization techniques, the ideal values ​​of the number of datagrams and the number of packets can be used as the termination condition, or any one or more of the number of datagrams, the number of packets, and the communication band utilization rate set by the system operator can be used as the termination condition. When multiple conditions are used, the situation where any one, multiple, or all of the multiple conditions are satisfied can be used as the termination condition.

[0268] <Specific example of memory integration>

[0269] Fig.15A Yes Fig. 9 Here, the allocation of logical addresses refers to Fig. 14B .exist Fig.15A , a configuration example of a control system 123 including a control device 120 and control target devices 121A, 121B, and 121C is shown. Fig.15A In the embodiment, when focusing on the control target device 121A, the capacity of the data storage unit 153 is set to 4000 bytes, and the details are as follows.

[0270] For input data: 500 bytes × 3 = 1500 bytes

[0271] Output data: 500 bytes × 3 = 1500 bytes

[0272] · For email communication: 1000 bytes

[0273] Input data is, for example, sensor information and status information acquired by the controlled device 121A, and is data sent from the controlled device 121A to the control device 120. Output data is, for example, control command information and setting update information for actuator output in the controlled device 121A, and is data sent from the control device 120 to the controlled device 121A. Due to exclusive control by SyncManager, the capacity for input data and output data is three times the data capacity that is originally required.

[0274] Regarding input data and output data, the LRW command is used as both input data and output data, and the communication data size is set to 500 bytes. Fig. 15B It shows that Fig.15A 1 and 121A. These settings are executed in the initialization command for the control target device 121. Thus, the 500-byte space from the logical address 0x00010000 to 0x0001_01F3 is allocated to the input and output of the control target device 121A.

[0275] Fig. 15C It is shown in Fig.15A 1 is a diagram showing an example of allocation of each area in the data storage unit 153 and setting of the SyncManager in the control target device 121A shown in FIG. Here, the setting for mailbox communication is not shown. Since the setting is required for input data and output data respectively, two SyncManagers for input data and output data are used. For registers and bits not shown, appropriate settings are made.

[0276] Fig.15D It is shown in Fig.15A FIG. 1 is a diagram showing an example of data allocation to the integrated data storage unit 155 by the data integrated management unit 154 in the control target device 121A. Fig.14AAs shown in FIG. 1 , the input / output size of the control target device 121A is 1000 bytes. Therefore, when processing output data, in other words, control data, the data integration management unit 154 needs to integrate communication data twice, which is obtained by dividing the size of the output data (1000 bytes) notified from the control device 120 to the control target device 121A by 500 bytes, which is the size of the output data of the data storage unit 153.

[0277] Similarly, when processing input data, in other words, control data, the data integration management unit 154 needs to integrate the communication data twice, which is obtained by dividing the size of the input data (1000 bytes) notified from the control target device 121A to the control device 120 by 500 bytes, which is the size of the input data of the data storage unit 153. In this way, if the input size of the control target device 121A is divided by the input data size allocated in the data storage unit 153, the number of times the input data is integrated can be calculated. Similarly, if the output size of the control target device 121A is divided by the output data size allocated in the data storage unit 153, the number of times the output data is integrated can be calculated.

[0278] Furthermore, when the communication data size of each of the input data and the output data is equal to or larger than the input data size and the output data size allocated in the data storage unit 153, the number of times the integrated management is performed is equal to the number of times of communication. On the other hand, when the data for the control target device 121 is dispersed in a plurality of datagrams of a plurality of packets, and when the communication data size of each of the input data and the output data is smaller than the input data size and the output data size allocated in the data storage unit 153, the number of times of communication increases. Therefore, the number of times the integrated management is performed is not equal to the number of times of communication.

[0279] The data integration management unit 154 needs to manage the data update of the communication and data storage unit 153 until the required input size and output size are complete. Assuming that the communication data size of the datagram for communicating output data is 1000 bytes and the output data size allocated to the data storage unit 153 is 2000 bytes, the output data size of 2000 bytes is complete through two communications (2000 bytes / 1000 bytes=2).

[0280] Here, if Fig.15DAs shown, in the control object device 121A, two memories 110a and 110b are prepared to form a comprehensive memory area of ​​the comprehensive data storage unit 155. As a result, the operation unit 160 can, for example, use the memory 110a in which the required partial areas 111a and 111b are fully prepared to perform operation processing until the required partial areas 111c and 111d in the memory 110b are fully prepared. In the specification, the memories 110a and 110b are collectively referred to as memories 110, and the partial areas 111a-111d are collectively referred to as partial areas 111. The number of memories 110 may be more than 3. In addition, two-sided memories 110 may be prepared in each of the input data and the output data.

[0281] For example, the control device 120 controls the control target device 121A. Fig. 14B At the time point when the time offset is 0 in the first 1 ms communication cycle (T[0]), the control target device 121A receives the datagram 180a (equivalent to the LRW command 180b) containing 1000 bytes of data for the control target devices 121A and 121B. Fig. 9 The data integration management unit 154 stores the data corresponding to itself in the datagram 180a in the partial area 111a of the memory 110a (equivalent to Fig. 9 Steps S023, S024 in the process).

[0282] Next, at a time point offset by 500 μs in the same communication cycle T[0], the controlled device 121A receives a datagram 180c having an LRW command for 500 bytes of data for the controlled device 121A. The data integration management unit 154 stores the datagram 180c in the partial area 111b of the memory 110a.

[0283] At this time point, all partial areas 111a and 111b of the memory 110a are ready (equivalent to Fig. 9 In other words, by writing partial data into the partial areas 111a and 111b, control data is prepared in the memory 110a, which is equivalent to the integrated memory area integrating the partial areas 111a and 111b. The data integration management unit 154 notifies the operation unit 160 and grants the operation unit 160 access rights to the memory 110a (equivalent to Fig. 9 The operation unit 160 accesses the memory 110a to obtain the required information and executes a given operation process.

[0284] Then, at the time point when the time offset is 0 in the next communication cycle of 1 ms (referred to as T[1]), the control target device 121A receives the datagram 180a and stores the required portion in the partial area 111c of the memory 110b. Next, at the time point when the time offset is 500 μs in the same communication cycle T[1], the control target device 121A receives the datagram 180c and stores it in the partial area 111d of the memory 110b.

[0285] At this point in time, since all the partial areas 111c and 111d of the memory 110b are ready, the data integration management unit 154 notifies the operation unit 160 and grants the operation unit 160 access to the memory 110b. In addition, the data integration management unit 154 invalidates the memory 110a or disables access from the operation unit 160, and waits for the reception of output data in the next cycle communication. Thereafter, this series of operations is repeatedly performed.

[0286] Furthermore, from a software perspective, the memory 110 can be represented by the following virtual code.

[0287] unsigned char memory[2]

[1000] ; / / memory 110a, 110b

[0288] The data integration management unit 154 grants the appropriate access rights to the memory 110 to the operation unit 160, for example, by processing such as pointers in C language and encapsulation in object-oriented language. When switching between memories 110a and 110b, appropriate exclusive control (semaphore, mutex, etc.) can be performed. In addition, this is a case where access to the memories 110a and 110b is managed by software, but the management of the memories 110a and 110b can also be configured by hardware such as IC and FPGA, and hidden from the software.

[0289] Which part of the area 111 of the memory 110 the received output data corresponds to can be determined by the order of reception or the reception time. The control device 120 and the control target device 121 share the communication cycle in advance, so that the control target device 121 can determine which communication cycle it is from the reception time. In this case, the start time can be shared between the control device 120 and the control target device 121, or the time when the control target device 121 first receives from the start of processing can be used as the start time and stored in the control target device 121.

[0290] In addition, in information sharing between the control device 120 and the controlled device 121, mailbox communication can be used as an example. Alternatively, information on the communication number, information on the designated memory 110, or information on the partial area 111, or both, can be stored in the communication data. In this case, information such as a header can be used, and a data area on a packet or datagram can be used.

[0291] Alternatively, the address information indicating the position of the partial area 111 in the memory 110 may be stored in the data area on the packet or datagram. In this case, the physical address of the built-in RAM of the EtherCAT slave device is 16 bits (64 kB). If the effect of setting a space wider than the built-in RAM as the comprehensive data area is desired, the bit width of the address needs to be set larger than 16 bits.

[0292] Furthermore, at the time of receiving the data of the partial area 111, the data integration management unit 154 may validate only the partial area 111 and enable the operation unit 160 to access it. For example, when the data of the partial area 111a is received but the data of the partial area 111b is not received, the operation unit 160 may be configured to use the data of the partial area 111a.

[0293] In this case, when the operation unit 160 accesses the partial area 111b, the data integration management unit 154 or the integrated data storage unit 155 may be configured to return an error to the operation unit 160. In addition, the data integration management unit 154 or the integrated data storage unit 155 may notify the operation unit 160 that the partial area 111a is valid and the partial area 111b is invalid. In the case of such a configuration, the memory 110 may be only one surface.

[0294] The communication of input data such as sensor data acquired by the control target device 121 also operates as follows. The memories 110a and 110b used in the following description are for input data and are provided separately from the memories 110a and 110b for output data described above.

[0295] First, when the input data required in the initial 1MS communication cycle is prepared, the operation unit 160 forwards it to the data integration management unit 154 (equivalent to Fig.10 The data integration management unit 154 writes the forwarded input data into the memory 110a (equivalent to step S035 in FIG. 110 ). Fig.11 The data integration management unit 154 forwards the input data written in the partial area 111a of the memory 110a to the access exclusive control unit 152 so that the data can be read in Fig. 14BWhen the time offset in is 0, the received LRW command datagram 180a stores the input data (equivalent to Fig.11 The exclusive access control unit 152 writes the forwarded input data into the data storage unit 153.

[0296] Similarly, the data integration management unit 154 forwards the input data written into the partial area 111b of the memory 110a to the access exclusive control unit 152 so that it can be Fig. 14B When the time offset in is 500 μs, the input data is stored in the datagram 180 c of the received LRW command. The exclusive access control unit 152 writes the forwarded input data into the data storage unit 153 .

[0297] In parallel, when the input data required in the next 1 ms communication cycle is ready, the operation unit 160 forwards it to the data integration management unit 154. In order to maintain the consistency of the memory 110a, the data integration management unit 154 writes the new input data forwarded from the operation unit 160 into the memory 110b. In the subsequent periodic operation, the data integration management unit 154 writes the input data forwarded from the operation unit 160 alternately into the memory 110a and the memory 110b.

[0298] In the next 1 ms communication cycle, the data integration management unit 154 forwards the input data written in the partial area 111 c of the memory 110 b to the exclusive access control unit 152 so that the input data can be stored in the datagram 180 a of the LRW command received when the time offset is 0. The exclusive access control unit 152 writes the forwarded input data into the data storage unit 153 .

[0299] Next, the data integration management unit 154 forwards the input data written in the partial area 111d of the memory 110b to the access exclusive control unit 152 so that the input data can be stored in the datagram 180c of the LRW command received with a time offset of 500 μs. The access exclusive control unit 152 writes the forwarded input data into the data storage unit 153. Thereafter, this series of actions is repeatedly performed.

[0300] By configuring as described above, even if the storage capacity of the data storage unit 153 is limited in the forwarding of output data from the control device 120 to the control target device 121 and the forwarding of input data from the control target device 121 to the control device 120, it is possible to communicate data with a larger size in the communication with the operation unit 160. That is, in this example, the storage capacity of the data storage unit 153 is limited to 500 bytes for input data and 500 bytes for output data, respectively, but the operation unit 160 can virtually communicate 1000 bytes of data using the memories 110a and 110b constituting the integrated data storage unit 155.

[0301] <About Specific Operations of Control Device 120>

[0302] The above-described integration and division of the output data and input data in the control target device 121 are also the same in the control device 120. In the transmission process from the control device 120 to the control target device 121, the integrated data calculated and updated by the calculation unit 160 is written to the transmission data storage unit 161. The communication scheduling unit 162 divides and transmits the integrated data written in the transmission data storage unit 161 according to the communication schedule determined by the communication schedule configuration unit 164.

[0303] On the other hand, in the reception process from the control target device 121 to the control device 120, the reception data integration management unit 169 writes the sequentially received information into the reception data storage unit 170, and after integrating the information, notifies the update of the reception data to the calculation unit 160. At this time, either or both of the transmission data storage unit 161 and the reception data storage unit 170 may have a function of performing exclusive control of writing and reading at the same time, similar to the access exclusive control unit 152 in the control target device 121.

[0304] <Writing Timing of Input Data to Data Storage Section 153>

[0305] When periodic communication is performed from the control device 120, Fig.11 When the step S042 in step S042 is Y, the input data is asynchronously written from the data integration management unit 154 to the data storage unit 153 via the access exclusive control unit 152. At this time, the communication cycle of the control device 120 is shared with the control target device 121, and the control target device 121 manages the communication cycle for each communication cycle. Fig.11 The timing structure of step S042 in .

[0306] However, in such a structure, due to the error in the time management function (crystal oscillator, software timer) of the control device 120 and the controlled device 121, problems such as non-updating of data and duplicate updating of data in the same cycle may occur. In the time management function of the control device 120 and the controlled device 121, for example, due to the individual difference of the crystal oscillator, the error will accumulate even if the same cycle is timed.

[0307] Fig.16 1 is a schematic diagram showing an example of a problem when an error occurs in time management between the control device 120 and the controlled device 121. Fig.16 As shown in FIG. 1 , if the cumulative error of the time management becomes large, it will cause a cycle deviation, so that the input data on the data storage unit 153 is repeatedly updated in the same communication cycle, and the input data is not updated in a certain communication cycle. When the input data on the data storage unit 153 is repeatedly updated in the communication cycle, the input data updated first is overwritten and is invalid.

[0308] In such a situation, since appropriate sensor data is not transmitted to the control device 120, control processing is not performed appropriately, and as a result, the control performance of the control system 123 is reduced. In order to prevent such a period deviation, a configuration can be exemplified in which periodic communication from the control device 120 and writing of input data to the data storage unit 153 by the data integration management unit 154 are synchronized.

[0309] <When performing time synchronization based on DC>

[0310] For example, by Figure 6 The DC time synchronization protocol executed by the time synchronization unit 156 in the control target device 121 shown in FIG. 1 can synchronize the control device 120 and the control target device 121. In addition, the data integration management unit 154 controls the writing of input data to the data storage unit 153 based on the synchronized time ( Fig.11 Step S042 in the process becomes the timing of yes).

[0311] Fig.17A This is based on the premise that time synchronization is performed. Figure 6 This is a timing diagram of an operation example when the data integration management unit 154 in FIG. 1 writes input data to the data storage unit 153. Fig.17A In the description, a control target device 121 is focused on.

[0312] exist Fig.17AIn the example, Tp0 and Tp1 are the periodic transmission timings from the control device 120. Dc is the communication delay from the control device 120 to the control target device 121. In the case of a real-time network such as EtherCAT, Dc can be determined with high accuracy and certainty. Di is the writing time of input data to the data storage unit 153 by the data integration management unit 154. Di may also include a maximum value margin that takes into account the fluctuation of the processing time of the data integration management unit 154 and the access exclusive control unit 152.

[0313] The data integration management unit 154 starts writing input data at time TiN (N is a cycle identifier), that is, Fig.11 The timing at which step S042 in the above equation becomes yes can be determined by equation (1).

[0314] TiN=TpN+Dc-Di…(1)

[0315] In order to calculate the mathematical formula (1), it is possible to share TpN or a method capable of determining TpN in advance between the control device 120 and the controlled device 121. Specifically, for example, when the communication cycle of the control device 120 is 1 ms, the following rule may be determined: when the end of the DC-based synchronization time (in ns) is a multiple of 1000000 ns, the control device 120 starts communication.

[0316] Alternatively, in order to calculate the mathematical formula (1), the next scheduled transmission time may be included in the communication from the control device 120. In this case, it is not limited to periodic communication, and the transmission timing of the control device 120 and the writing timing of the input data by the data integration management unit 154 can be determined by any communication timing. If the control device 120 and the controlled device 121 are synchronized in time, the time when the data integration management unit 154 starts writing the input data can be determined in this way.

[0317] In addition, it can be illustrated that the data integrated management unit 154 cannot be started before the writing timing of the input data due to the installation constraints of the software, etc. (when it is too late before the writing timing of the input data), and the input data is not written. In addition, the fact that it is too late to write the input data can also be notified to the outside through a given notification means. Through this notification, the system operator and the like take measures such as modifying the installation of the control object device 121, thereby improving the reliability of the operation of the control system 123. As a notification means to the outside, interruptions by EtherCAT (using the IRQ on the datagram header), the use of visual means such as LEDs on the control object device 121 and the control device 120, and the HumanMachine Interface can be illustrated.

[0318] <When time synchronization is not performed>

[0319] Fig. 17B This indicates that the time synchronization is not performed. Figure 6 154 in the data integration management unit 154 writes input data to the data storage unit 153. In the case where the DC timing synchronization is not performed due to the corresponding function restrictions of the control device 120 and the control target device 121 or the operation reasons of the control system 123, the input data writing timing performed by the data integration management unit 154 may be as follows: Fig. 17B As shown, this is decided.

[0320] exist Fig. 17B In the data integration management unit 154, the timer function is used (in Figure 6 (not shown in the figure), and each time a packet accompanying periodic communication is received from the control device 120, a timer is started to determine the writing timing of the input data. Fig. 17B In the example, P is the communication cycle of the control device 120. Dint is the delay time from when the control target device 121 starts receiving the packet from the control device 120 until the data integrated management unit 154 is notified. For this notification, an interrupt is generally used. When an interrupt is used, an interrupt is generated by receiving a packet or writing to the built-in RAM via the SyncManager. Dw is the setting time of the timer.

[0321] At time TiN, due to the interruption activation caused by the timeout of the timer setting time, the data integration management unit 154 starts writing the input data to the data storage unit 153. At this time, the timeout period of the timer can be determined by equation (2).

[0322] Dw=P-Dc-Dint-(Di-Dc)

[0323] =P-Dint-Di…(2)

[0324] In general, Dint is often smaller than other parameters, and may be ignored or included in the margin of other parameters.

[0325] Thus, if the writing of input data by the data integrated management unit 154 is controlled synchronously with the periodic communication from the control device 120, the problem of period deviation can be avoided. In addition, this structure is based on the following premise: the error between the time management functions of the control device 120 and the controlled device 121 is small enough, and the period deviation will not occur during the period until the timer times out, and the problem that the update of the input data cannot catch up with the reception of the periodic packet from the control device 120 due to the time error will not occur.

[0326] Furthermore, the data integration management unit 154 may not set a timer, but write input data in response to periodic packet reception from the control device 120. Alternatively, the data integration management unit 154 may not start the timer by interruption each time a packet is received, but after starting the timer by interruption due to packet reception, the timer may be operated cyclically during a period when there is no influence of the accumulated error of the time management function.

[0327] <Synchronization method when packet loss occurs>

[0328] Fig.18 It shows Fig. 17B The timing diagram of the modified operation example. Fig. 17B As shown in FIG. 1 , when the timer is started based on the communication from the control device 120, packet loss may occur in the communication from the control device 120. In such a case, Fig.18 As shown, the set time of the timer can also be updated.

[0329] exist Fig.18 In the example, the data integration management unit 154 sets the cycle P at the time point of Ti1 and starts the timer, so that when Ti1 is started due to the timer interrupt (for example, timeout), a timeout interrupt is generated at Ti2. In addition, considering that the packet loss is continuous, the data integration management unit 154 sets the cycle P at the time point of Ti2 and starts the timer, so that a timer interrupt is further generated at Ti3. In this way, it is possible to exemplify re-updating every time the timer is interrupted.

[0330] Alternatively, the data integration management unit 154 may observe the elapsed time and update the input data each time the period has passed cumulatively. However, in this case, since the time error is accumulated due to the error of the time management function, the data integration management unit 154 may correct the updated timeout period from the period P based on the accuracy of the time management function.

[0331] For example, when the accuracy error of the oscillators of the control device 120 and the control target device 121 is set to 50ppm and the period P is 1ms, a maximum error of 100ns (100ns=1ms×(50ppm×2)) occurs in the control device 120 and the control target device 121 every time the period passes. Therefore, when updating the set time of the timer, the value obtained by subtracting the error 100ns from the period 1ms may be set as the timeout value. By generating the timer interrupt in advance in consideration of the time error, the data integration management unit 154 can update the input data before the communication from the control device 120.

[0332] In addition, if packet loss continues and it is predicted that the cumulative error of the time management function cannot be ignored, the timer setting can be stopped and the abnormal state can be notified to the outside. As a means of notifying the outside, interruption by EtherCAT (using IRQ on the datagram header), LED on the control target device 121, the control device 120, human machine interface and other visual means can be exemplified.

[0333] In addition, the data integration management unit 154 may also Fig.18 The timer is set to a period P as a timeout value at the timing of Ti1 in the control device 120, and then, at the timing of receiving a packet from the control device 120 (for example, Fig.18 Tr2 in the example above interrupts the timer and changes the timer's set time (timeout time) back to Dw.

[0334] <Synchronization method for retransmission and redundancy>

[0335] Fig.19 This shows that retransmission and path redundancy communication are the premise. Figure 6 The timing diagram of the operation example when the data integration management unit 154 in the control object 121 writes the input data to the data storage unit 153. The control device 120 sometimes performs retransmission and path redundancy communication to improve the reliability of communication. In this case, the reception timing of the packet in the control object device 121 may be delayed. Fig.19 In the example shown, the reception timing Tr2 is delayed to Tr2'. The following describes the response to this case.

[0336] Generally, when the control device 120 cannot confirm regular communication before a given period (timeout) has passed (for example, when a normal packet cannot be received), it determines that an abnormality has occurred and retransmits the transmission packet. In this case, the reception timing is delayed by the timeout time. In addition, since multiple retransmissions can be performed, a delay equivalent to the timeout time of the number of retransmissions may occur. In addition, when path redundancy communication is performed, since the communication path of the packet can change, in this case, the reception timing in the control object device 121 will also change. At this time, the reception timing may not only be delayed, but also advanced.

[0337] Fig. 20A as well as Fig. 20B 1 is a schematic diagram showing an example of a situation in which a path abnormality occurs between the control target device 121b and the control target device 121c. Fig. 20A In the example, the control device 120 sends packets from both of the two communication ports formed by the transmission units 167a and 167b. When focusing on the reception timing of the control target device 121c, when the path is normal, the control target device 121c receives the packet after passing through the control target devices 121a and 121b. On the other hand, when the path is abnormal, the control target device 121c receives the packet sent from the transmission unit 167b as the first and only packet. In this case, the reception timing of the packet can be earlier than in the normal case.

[0338] exist Fig. 20B In the case of path abnormality, the control device 120 transmits a packet from the transmission unit 167a, and forwards it to the transmission unit 167b after the reception unit 168a receives it. When focusing on the reception timing of the control target device 121c, the reception timing of the packet in the control target device 121c is delayed because the communication path becomes longer.

[0339] To this end, first, the control object device 121 determines whether the received packet is a retransmission or path redundant packet. At this time, the control object device 121 may also compare the reception timing of the packet without abnormality with the reception timing of the judgment object packet, and make a judgment by comparing the time difference with a given threshold. The reception timing of the packet without abnormality may also be set to the time obtained by adding the period P to the reception timing of the last normal time. In addition, the reception timing may be a time synchronized by a synchronization protocol such as DC, or a time of the control object device 121 itself. Since there is no need to compare the time with the control device 120 or other control object devices 121, the time of the control object device 121 itself can be used.

[0340] Alternatively, the control device 120 may also indicate the retransmission information in the parameters of the packet (e.g., the index of the EtherCAT datagram header, etc.) when retransmitting. Furthermore, it may also indicate which retransmission is in the same cycle. Fig. 20B As shown, the control device 120 may reflect redundant communication information in the parameters on the packet when forwarding the packet from the transmission unit 167b. When the controlled device 121 detects these parameter values ​​for the received packet, it may determine that retransmission or path redundancy is required.

[0341] When receiving packets accompanying retransmission or path redundancy communication, the control target device 121 may not update the timer interrupt of these received packets, but may Fig.18 As shown, the timeout value obtained by adding the period P is used to control the update timing of the input data. Alternatively, when the delay time of the reception timing is clear, the control object device 121 can also use this value to change the timeout time of the timer. For example, in the case of retransmission, since the control device 120 retransmits after the timeout, the delay time is known.

[0342] More specifically, it can be illustrated that the timeout time To is shared between the control device 120 and the controlled device 121, and when the controlled device 121 receives a retransmission packet, it corrects the timeout time according to equation (3) and sets the timer.

[0343] Dw'=Dw-To×Cr…(3)

[0344] Here, Cr is the number of retransmissions, and the control device 120 reflects the number of retransmissions in the parameters on the packet, so that the controlled device 121 can recognize it.

[0345] Even in the case of path redundancy, as long as the change in communication delay caused by the change in the communication path of the packet is known, the timeout time can be calculated by replacing To×Cr in mathematical formula (3). Fig. 20B In the illustrated configuration, it can be illustrated that when the control device 120 transfers the packet to the transmission unit 167b, the control device 120 reflects the path abnormality on the parameters on the packet.

[0346] At this time, the control device 120 includes the datagram (for example, BRD command) for all the control target devices 121 to respond and update the WKC in the packet. When the receiving unit 168a receives the packet when the path is abnormal, the path abnormality portion can be determined by observing the value of WKC. If the control target device 121 knows the path abnormality occurrence portion, it can calculate the delay variation of the path redundancy communication based on the packet forwarding time of each control target device 121, the packet forwarding time of the control device 120, the cable length between the control target devices 121, and the like.

[0347] According to the above method, the problem of non-updating of data due to cycle deviation and repeated updating of data in the same cycle can be solved. In addition, the above structure is not limited to the structure based on EtherCAT, for example, it can also be applied to the structure of the communication method with a larger frame size such as the IEEE802.3 communication standard with a communication frequency band of more than 1Gbps and the jumbo frame.

[0348] <Assignment of the Same Logical Address to Multiple Slave Devices>

[0349] The same logical address may be assigned to different control object devices 121. With such a configuration, the data integrated management unit 154 and the integrated data storage unit 155 of each control object device 121 manage data in an integrated manner, and high reliability can be achieved through redundancy of processing. For example, by connecting a physically common input / output device to a plurality of control object devices 121, input / output control can be made highly reliable.

[0350] <Dynamic Changes in the Number of Divisions and Communication Scheduling>

[0351] The number of divisions of the partial area when integrating in the data integration management unit 154 and the integrated data storage unit 155, the received data integration management unit 169 and the received data storage unit 170 can be changed according to the state of the control system 123 and the controlled device 121. This includes changing the control plan in the control system 123.

[0352] That is, the control cycle and input / output size of the control object device 121 can be changed by changing the state and the control scheme. Alternatively, the control system 123 or the control object device 121 is a mobile body, and the execution action can be changed according to its position. For example, when a mobile picking robot simply moves and when a picking action is performed near a conveyor or other robot, the required control cycle and input / output size may sometimes change. In this way, the number of divisions of a partial area can also be changed.

[0353] When the control device 120 changes the number of divisions of a partial area in the control target device 121, the control cycle, the input / output size, etc., it only needs to notify the control target device 121 of the changed information. In this notification, either mailbox communication or a dedicated format can be used. As an example of a dedicated format, any one or more of information change, the type of changed information, and the changed value can be exemplified.

[0354] In this case, you can re-execute Fig.13 , Figures 14A-14D The communication scheduling configuration shown is performed by the communication scheduling configuration unit 164. Specifically, the communication scheduling configuration unit 164 may perform re-execution when the state changes, or may perform re-execution in advance before the state changes and store the execution result.

[0355] In this way, the communication schedule forming unit 164 re-performs the communication schedule due to the change of the state of the control system 123 or the change of the control scheme. As a result, the allocation of the address space of each control target device 121 to the logical address space, the size of the datagram, the logical address or command of the access destination, the transmission timing or the communication cycle, which are the components of the communication schedule, can be dynamically changed.

[0356] <Unfixed number of divisions>

[0357] The number of divisions of the partial area when integrating in the data integration management unit 154 and the integrated data storage unit 155, the received data integration management unit 169 and the received data storage unit 170 may not be the same number of cycles for each group. For example, the following operation may be mentioned: the partial area is integrated with data of one cycle in the first group, the partial area is integrated with data of three cycles in the next group, and the partial area is integrated with data of five cycles in the next group, and thereafter, the group of one cycle, the group of three cycles, and the group of five cycles are repeated.

[0358] Such an operation is effective when the control system 123 repeats a fixed process and the pattern operation accompanying the repetition is appropriate. To achieve this, a periodic pattern may be stored in the control target device 121 in advance and notified from the control device 120 to the control target device 121.

[0359] <Discontinuous Partial Area>

[0360] The partial areas integrated in the data integration management unit 154 and the integrated data storage unit 155, the received data integration management unit 169 and the received data storage unit 170 do not necessarily need to be continuous in the order of reception, and may be in a different order. This is because the receiving side may not be able to receive data in order due to discontinuity in the order that the sending side can prepare, packet loss, retransmission, etc.

[0361] By dealing with discontinuous partial areas, the transmission order does not need to be continuous, so the transmission side can have freedom in the data to be transmitted, and the freedom of the application of the transmission side can also be improved. In addition, as a specific method of dealing with it, it can be illustrated that information indicating the order of data is included in the discontinuous transmission data.

[0362] <Function sharing based on multi-CPU and multi-core utilization>

[0363] Fig.22A as well as Fig. 22B It shows Figure 4 FIG. 1 is a block diagram of a configuration example in which the hardware configuration of the control target device 121 shown in FIG. Fig.22A In, replace Figure 4 In addition to the CPU 101 shown in the figure, a multi-CPU composed of a plurality of CPUs 101a and 101b is provided. Fig. 22B In, replace Figure 4 Instead of the CPU 101 shown, a multi-core CPU 190 having a plurality of CPU cores 191 is provided.

[0364] In such a structure, Figure 6 The data integrated management unit 154 and the integrated data storage unit 155 shown may be provided for each of the plurality of CPUs 101a and 101b, or for each of the plurality of CPU cores 191. When the integrated data storage unit 155 is constituted by using the memory 104 and the nonvolatile storage medium 105, a plurality of memories 104 and the nonvolatile storage medium 105 may be physically provided, or the recording area of ​​the memory 104 and the nonvolatile storage medium 105 may be divided for each of the plurality of CPUs 101a and 101b, or for each of the plurality of CPU cores 191.

[0365] In the data storage unit 153 of the communication control IC 130 for the control target device, the same storage area may be shared by the plurality of CPUs 101a, 101b or the plurality of CPU cores 191, or the storage area may be shared by each of the plurality of CPUs 101a, 101b or the plurality of CPU cores 191. In addition, the communication scheduling component 164 in the control device 120 may determine the communication scheduling by regarding the plurality of CPUs 101a, 101b or the plurality of multi-core CPUs 190 in the control target device 121 as one communication destination, or may determine the communication scheduling by regarding them as individual communication destinations.

[0366] If configured in this way, each CPU 101a, 101b or each CPU core 191 can respectively perform dedicated functions (e.g., control, repair, diagnosis, preventive maintenance, etc.). As a result, it is possible to perform multiple computing functions, improve the function and performance of the controlled device 121, and make the control system 123 more high-performance and sophisticated.

[0367] <Multiple Control Devices 120>

[0368] Fig.23 It shows Figure 1 The control communication system shown in FIG. Fig.23 In, with Figure 1 Unlike the case of , the plurality of control devices 120a and 120b control the group of control target devices 121 via the integrated network 200. In the specification, the plurality of control devices 120a and 120b are collectively referred to as control devices 120. Fig.23 The control communication system shown includes a plurality of control target device 121 groups, namely, a control target device 121 group consisting of control target devices 121a to 121d and a control target device 121 group consisting of control target devices 121e to 121g, but may also include separate control target device 121 groups.

[0369] The integrated network 200 is a network that can control one or more control target devices 121 groups by multiple control devices 120 on the basis of satisfying the constraints when constructing the control network 122. TSN can be exemplified as the integrated network 200. In this case, different control target devices 121 can be controlled (input and output data can be sent and received) by each individual control device 120, or the same control target device 121 can be controlled by multiple control devices 120.

[0370] As a case where a plurality of control devices 120 control the same controlled device 121, a case where distributed control of the same controlled device 121 is performed among the plurality of control devices 120 can be exemplified. In this case, when the data comprehensive management unit 154 of the controlled device 121 comprehensively manages the input / output data to / from the comprehensive data storage unit 155, it can also control the allocation position of the received data to the comprehensive data storage unit 155 or the transmitted data to the control device 120 based on the identification of the control device 120. When identifying the control device 120, either the source address on the group (such as the Source MAC address in the header of the IEEE802.3 frame) can be used, or the identifier of the control device 120 can be included in the packet (such as the index in the EtherCAT datagram header).

[0371] In addition, a certain control device 120 can also adjust the transmission timing with other control devices 120 to stagger the transmission timing. Alternatively, it can be configured such that communication packets from the control device 120 and the controlled device 121 can be received by other control devices 120.

[0372] With the above structure, comprehensive management of the received data in the received data comprehensive management unit 169 of the control device 120 can be performed. In addition, through distributed control by a plurality of control devices 120, the load can be dispersed. Further, in the event of a failure of the control device 120, by having other control devices 120 perform the processing instead, the operation rate of the control system 123 can be increased and high reliability can be achieved. Or, from the viewpoints of device cost, energy consumption, etc., by adjusting the number of control devices 120 according to the performance requirements of the control system 123, the control system 123 can be optimally executed. That is, the number of control devices 120 can also be dynamically changed according to the operating conditions of the control system 123.

[0373] <SyncManager and Access to the Target>

[0374] For example, consider a case where mailbox communication, process data communication such as CoE (CAN application protocol over EtherCAT) is performed in EtherCAT. In this case, the following method is used: the built-in RAM (data storage unit 153) of the controlled device 121 is divided, and each divided area is managed and accessed via the SyncManager (access exclusive control unit 152) to access the target.

[0375] In the embodiment, the effective data capacity of the built-in RAM accessible by the SyncManager can be virtually increased by providing the data integration management unit 154 and the integrated data storage unit 155. As a method of associating such virtually increased effective data capacity with a target, a method of newly defining a mediation target can be exemplified.

[0376] The intermediate target manages the correspondence between the partial area included in the received datagram and the location where the target to be accessed is stored in the integrated data storage unit 155. Therefore, as a constituent element of the intermediate target, a combination of an index of a target having more than one access target and a location in the integrated data storage unit 155 can be exemplified.

[0377] When a datagram is received and the area on the data storage unit 153 mapped by the intermediate object is updated, the intermediate object acquires the data of the updated area and identifies the received data, thereby updating the data of the corresponding object in the integrated data storage unit 155. Therefore, the actual action of the intermediate object can be called an action based on the function of the data integrated management unit 154. Thus, the application operating in the operation unit 160 can access the target object by acquiring the data of the required object from the area of ​​the integrated data storage unit 155.

[0378] On the other hand, when the control target device 121 transmits data to the control device 120, the received data integrated management unit 169 and the received data storage unit 170 operate in the same manner as the data integrated management unit 154 and the integrated data storage unit 155, respectively. That is, the received data integrated management unit 169 identifies the received data, determines that the corresponding target is established, and stores the received data at the location on the received data storage unit 170 where the target target is stored. In addition, in identifying the received data, any one or more of the following methods can be used: a method of identifying which cycle is received, a method based on the reception time, and a method of including identification information in the information on the received data.

[0379] The above operations can be performed by either or both of SDO (Service Data Object) and PDO (Process Data Object).

[0380] In addition, the relationship between the intermediate target and the single or multiple target objects managed by the intermediate target can also be defined as a vendor-specific tag in ESI or ENI. In this case, the identification information of the received data and the information (index, etc.) of the target corresponding to the received data can be exemplified as the information defined as the unique tag. In addition, through this definition, it can be exemplified that the control device 120 sends the relationship of the target objects managed by the intermediate target to the control target device 121 as an initialization command defined in ENI.

[0381] Similarly, an index of an intermediate object associated with SyncManager may be defined in ESI or ENI. Alternatively, the relationship between the target objects managed by the intermediate object may be defined by a unique method other than ESI or ENI.

[0382] As another method of associating the virtually increased effective data capacity with the target, it is also possible to manage the data integrated management unit 154 (in the case of input data, the received data integrated management unit 169) without providing an intermediate target. That is, when a datagram is received and an area on the data storage unit 153 is updated, the data integrated management unit 154 acquires the data of the updated area and identifies the received data, thereby updating the data of the corresponding target in the integrated data storage unit 155.

[0383] In addition, as is clear from the association established with the target, the data integration management unit 154 may also use a portion of the area (an area managed by a SyncManager) of the data storage unit 153 (built-in RAM) as a partial area and integrate it as an integrated data area on the integrated data storage unit 155.

[0384] <Hierarchicalization and parallelization>

[0385] Fig.24 It shows Figure 6 1 is a block diagram of a modified structure example of the functional structure of the communication processing unit 140 shown in FIG. So far, the integration performed by the data integration management unit 154 and the integrated data storage unit 155 in the control object device 121 and the received data integration management unit 169 and the received data storage unit 170 in the control device 120 has been described. The partial areas used at this time can also be managed hierarchically or in parallel. That is, Fig.24 As shown, a plurality of data integration management units 154a-154c and a plurality of integrated data storage units 155a, 155b may be provided hierarchically and in parallel, and each of the data integration management units 154a-154c may integrate a partial area.

[0386] exist Fig.24In the embodiment, the data integration management units 154b and 154c are parallel to each other and form a hierarchical structure relative to the data integration management unit 154a. The data integration management unit 154a uses the integrated data storage unit 155a to integrate the partial areas 111a and 111b into the integrated data area 112a. Specifically, the data integration management unit 154a, for example, collects two amounts of received data in one integrated data area 112a. And, when the integrated data area 112a becomes valid, the data integration management unit 154a forwards the data of the integrated data area 112a to the data integration management units 154b and 154c.

[0387] The data integration management units 154b and 154c perform further integration by setting the integrated data area 112a as a partial area. For example, the data integration management unit 154b generates data in the integrated data area 112d for the operation unit 160a by writing the data of the two integrated data areas 112a from the data integration management unit 154a into the integrated data areas 112b and 112c and integrating them. Similarly, the data integration management unit 154c generates data in the integrated data area 112i for the operation unit 160b by writing the data of the four integrated data areas 112a from the data integration management unit 154a into the integrated data areas 112e-112h and integrating them.

[0388] Therefore, the integrated data area 112d is composed of a total of 4 received data, and the integrated data area 112i is composed of a total of 8 received data. Fig.24 In the embodiment, the integrated data storage unit 155b is shared between the data integrated management units 154b and 154c. However, the integrated data storage unit 155 may be provided in each of the data integrated management units 154b and 154c.

[0389] By using Fig.24 The structure shown can provide applications that utilize different amounts of data, and can further provide comprehensive data suitable for the operation unit 160. For example, the operation unit 160a executes a control application, and in parallel, the operation unit 160b can execute a diagnostic application or an AI application that analyzes and diagnoses the input and output data and the controlled device 121.

[0390] In addition, when the control system 123 or the elements are changed, the size of the comprehensive data can be easily changed by adopting a hierarchical structure or a parallel structure. In addition, the size of the comprehensive data of each operation unit 160 can be changed without affecting other operation units 160. The hierarchical structure or the parallel structure can be composed of one device (for example, a CPU) or a plurality of devices (for example, a CPU, an ASIC, or an FPGA).

[0391] <Deviation of the beginning data>

[0392] In addition, when the control system 123 is started or restarted after an interruption, if the received partial area is not the head data, the received data can be discarded until the head data is received. As a method for determining whether it is the head data, a method of determining based on the reception time of the received data and information on the received data can be exemplified. In this way, even if the start timing of the control device 120 and the control target device 121 are inconsistent, the timing can be matched.

[0393] <Effect of being able to use a space wider than the logical address space>

[0394] By using the method of the embodiment, the data received by the command accessing the logical address space can be set as a partial area, and a plurality of partial areas can be integrated, so that a data area wider than the logical address space can be used.

[0395] <Effects of reinstallation, suspension of manufacturing, suspension of sales, and suspension of supply>

[0396] In addition, in the implementation method, a partial area is integrated into a comprehensive data area by a data integration management unit 154 and a comprehensive data storage unit 155 that are independent of the access exclusive control unit 152 (SyncManager) and the data storage unit 153 (built-in RAM). Therefore, an IC different from the EtherCAT auxiliary IC can be used as the data integration management unit 154 and the comprehensive data storage unit 155. As a result, since the freedom of choice of IC is improved, for example, a high-performance CPU, a CPU dedicated to specific processing, and a GPU can be used. In addition, when reinstalling the CPU used, it can be replaced with a different CPU, and reinstallation can also be flexibly handled.

[0397] <Overall Effect>

[0398] By using the embodiment, even if there is a limit on the available area of ​​the data storage unit 153 via the exclusive access control unit 152, high-speed and large-capacity communication can be performed between the control device 120 and the controlled device 121 by the integrated management of the data area by the data integrated management unit 154 and the integrated data storage unit 155. In addition, since high-speed and large-capacity communication can be performed without increasing the effective data capacity (built-in RAM capacity) of special hardware such as the exclusive access control unit 152 (SyncManager), the component cost can be reduced.

[0399] Furthermore, by determining the datagram structure and allocating it to the logical address through the communication scheduling component 164 including the logical address determination unit 165 and the datagram structure determination unit 166, it is possible to suppress the increase in the number of packets and datagrams, and reduce the communication overhead associated with the header and IFG. As a result, the communication band can be effectively utilized. The remaining communication band can be utilized to perform other communications such as setting and status acquisition, and can be used for visualization of the control object device 121 and the control system 123, and maintenance and diagnosis based on IoT utilization. As a result, the operation of the control system 123 can be advanced, and the performance and operation rate of the control system 123 can be improved.

[0400] The invention made by the inventors is specifically described above based on the embodiments, but the present invention is not limited to the embodiments, and various changes can be made within the scope of the main purpose. For example, the above-mentioned embodiments are contents described in detail in order to easily understand the present invention, and are not necessarily limited to all the structures described. In addition, a part of the structure of a certain embodiment can be replaced with the structure of other embodiments, and in addition, the structure of another embodiment can be added to the structure of a certain embodiment. In addition, other structures can be added / deleted / replaced to a part of the structure of each embodiment.

[0401] For example, the various programs described above can be provided to a computer on the basis of being stored in a non-temporary tangible computer-readable recording medium. Examples of such recording media include magnetic recording media represented by hard disk drives, optical recording media represented by DVDs (Digital Versatile Discs) and Blu-ray Discs, and semiconductor memories represented by flash memories and SSDs (Solid State Drives).

[0402] -Description of Reference Numerals-

[0403] 110: memory (comprehensive data area), 111: partial area, 120: control device, 121: controlled device, 123: control system, 152: access exclusive control unit, 153: data storage unit, 154: data comprehensive management unit, 155: comprehensive data storage unit, 160: operation unit, 164: communication scheduling unit, 165: logical address determination unit, 166: datagram structure determination unit, 169: received data comprehensive management unit, 170: received data storage unit.

Claims

1. A communication control device, characterized in that: have: The computing unit processes the control data; a communication unit that sends a packet including the control data; and The data storage unit has an exclusive control function. The computing unit performs the following processing: associating the positions of two or more partial data constituting the control data in the control data with the attributes related to the packet communicated by the communication unit, The partial data is transmitted and received via the data storage unit and the communication unit.

2. The communication control device according to claim 1, characterized in that: The attribute related to the packet is either one or both of the communication timing of the packet and the information indicating the position of the partial data stored in the packet.

3. The communication control device according to claim 1, characterized in that: The computing unit performs the following processing: Taking a received first packet as an object, determining whether the first packet is valid based on any one or more of information on the packet, communication timing of the packet, and validity determination of a second packet received subsequent to the first packet, If it is determined that the first packet is not valid, the partial packet included in the first packet is not included in the control data.

4. The communication control device according to claim 1, characterized in that: The calculation unit validates the partial data as the control data and performs processing based on any one or more of the number, total size, and content of the partial data.

5. The communication control device according to claim 4, characterized in that: The computing unit includes an area for storing first control data and an area for storing second control data, and processes the validated second control data until the first control data is validated.

6. The communication control device according to claim 1, characterized in that: The calculation unit writes the partial data to the data storage unit in synchronization with communication of the packet in the communication unit.

7. A control communication system comprising a first communication control device and a second communication control device controlled by the first communication control device, characterized in that: The first communication control device and the second communication control device each include: The computing unit processes the control data; a communication unit that sends a packet including the control data; and The data storage unit has an exclusive control function. The computing unit performs the following processing: associating the positions of two or more partial data constituting the control data in the control data with the attributes related to the packet communicated by the communication unit, The data storage unit and the communication unit transmit and receive the partial data, The first communication control device determines the communication scheduling based on the control cycle in the second communication control device, the required data capacity of each control cycle, and the capacity of the data storage unit, wherein the communication scheduling includes the datagram structure constituting the packet, the communication timing of the packet, the access destination address of the data storage unit of the second communication control device specified in the packet, and the allocation of a virtual area to the data storage unit of the second communication control device.

8. The control communication system according to claim 7, characterized in that: having a plurality of said second communication control devices, The first communication control device performs the following processing: The number of datagrams per control cycle is calculated based on the required data capacity per control cycle of the second communication control device and the capacity of the data storage unit. The communication period of each datagram is calculated based on the control period, The maximum value among the communication cycles of the plurality of second communication control devices is set as a basic communication cycle, and the concatenation of datagrams is determined so that the number of packets in the basic communication cycle becomes less than the allowable amount. Based on the structure of the linked datagram, allocation of the data storage unit of the second communication control device to the virtual area is determined.

9. The control communication system according to claim 7, characterized in that: The first communication control device determines the communication schedule using a search method.

10. The control communication system according to claim 8, characterized in that: The first communication control device uses the maximum value of the number of sending datagrams required for each of the multiple second communication control devices in each basic communication cycle, and the number of packets calculated based on the total of the required data capacity of each basic communication cycle in the multiple second communication control devices and the maximum allowable size of each packet, and determines the communication scheduling plan when the number of packets in each basic communication cycle is consistent with the larger of the number of packets calculated based on the maximum value of the number of sending datagrams or the maximum allowable size of each packet.

11. The control communication system according to claim 7, characterized in that: The first communication control device allocates the data storage unit of the second communication control device to a plurality of areas on the virtual area.

12. The control communication system according to claim 7, characterized in that: The first communication control device is synchronized with the second communication control device at all times, The first communication control device transmits the packet based on a synchronized time. The second communication control device writes the partial data in the data storage unit based on the synchronized timing.

13. The control communication system according to claim 7, characterized in that: The calculation unit in the second communication control device writes the partial data to the data storage unit after a waiting time determined based on the transmission timing of the first communication control device has elapsed from the time when the communication unit received the packet.

14. The control communication system according to claim 13, characterized in that: The calculation unit in the second communication control device changes the waiting time based on any one of packet loss, retransmission, and forwarding to a redundant path of the packet.

15. The control communication system according to claim 7, characterized in that: The control communication system distributes the control data to a given data structure, The allocation of the data structure is shared between the first communication control device and the second communication control device.

16. The control communication system according to claim 7, characterized in that: The calculation unit in the second communication control device associates the position of the partial data in the control data based on the identifier of the first communication control device.

Citation Information

Patent Citations

  • Herbicidal aqueous compositions of imidazolinone herbicides

    IE61158B1

  • Real time communication device and system

    JP2000076163A