Transmission / reception management device, transmission / reception management system, network system, transmission / reception management method, and program

The transmission/reception management device and method address the issue of punctuality and packet loss in industrial networks by managing transmission timings and using buffering units to ensure reliable communication across multiple PLCs connected to a general-purpose server.

WO2026003985A1PCT designated stage Publication Date: 2026-01-02NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/023126
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-06-26
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Conventional industrial network protocols fail to ensure punctuality and prevent packet loss when multiple Programmable Logic Controllers (PLCs) are aggregated, particularly in systems using isochronous real-time communication.

Method used

A transmission/reception management device and method that determines and manages transmission timings for each device within a control period, using buffering units and scheduled transmission units to ensure timely data exchange, even when multiple PLCs are connected to a general-purpose server computer.

Benefits of technology

Ensures punctuality and prevents packet loss in industrial networks by managing transmission and reception timings, allowing for reliable communication across multiple PLCs connected to a general-purpose server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024023126_02012026_PF_FP_ABST
    Figure JP2024023126_02012026_PF_FP_ABST
Patent Text Reader

Abstract

A transmission timing determination unit (29, 89) determines a first transmission timing at which transmission data is to be transmitted to external device apparatuses (201), for each device apparatus within a control cycle, and determines, for each device apparatus within the control cycle, a second transmission timing at which, when reception data has been received from the device apparatus, the received reception data is to be transmitted to a control program (112, 312) corresponding to the device apparatus. A first buffering unit (22, 53) buffers the transmission data passed from the control program for each device apparatus to which the transmission data is to be transmitted. On the basis of the first transmission timing reported from the transmission timing determination unit, a first fixed time transmission unit (23, 54) extracts the transmission data from the first buffering unit and transmits the transmission data to the device apparatus. A transmission source identification unit (25, 72) identifies the device apparatus that transmitted the received reception data. A second buffering unit (27, 74) buffers the reception data for each identified device apparatus. On the basis of the second transmission timing reported from the transmission timing determination unit, a second fixed time transmission unit (29, 75) extracts the reception data from the second buffering unit and transmits the reception data to the control program corresponding to the device apparatus.
Need to check novelty before this filing date? Find Prior Art

Description

Transmission / reception management device, transmission / reception management system, network system, transmission / reception management method, and program

[0001] The present invention relates to a transmission / reception management device, a transmission / reception management system, a network system, a transmission / reception management method, and a program.

[0002] Industrial networks have strict requirements for punctuality and simultaneity. Therefore, communications that require real-time performance are performed using cyclic communication. In conventional technology, this communication was achieved using industrial network protocols and dedicated hardware (PLC: Programmable Logic Controller). Many PLCs manage up to 16 terminals. Examples of industrial networks include PROFINET and EtherCAT.

[0003] Non-Patent Document 1 describes the technology of PROFINET, which is an example of an industrial network. PROFINET is an Ethernet-based industrial network.

[0004] PROFINET System Description - Technology and Application (Japanese version), Version June 2011, Order number 4.132, NPO Japan PROFIBUS Association, September 2011, http: / / www.profibus.jp / download / doc / PROFINET_JP_v0_85.pdf

[0005] Conventional industrial network protocols do not take into consideration the aggregation of multiple PLCs.

[0006] To achieve an economical hardware configuration, it is possible to aggregate multiple PLCs and perform software control on a general-purpose server computer. However, in this case, multiple application programs communicate using the same port on the server computer, which can result in communication timeliness being lost or packet loss.

[0007] PROFINET, as described in Non-Patent Document 1, provides isochronous real-time (IRT) communication as a method for communicating periodic data, but even when IRT is used, the above-mentioned problems occur, for example, when multiple IRT networks are superimposed. In other words, the above-mentioned issues cannot be resolved with PROFINET's IRT.

[0008] The present invention has been made to solve the above-mentioned problems, and aims to provide a transmission / reception management device, a transmission / reception management system, a network system, a transmission / reception management method, and a program that can ensure the punctuality of communication and prevent packet loss even when PLCs are aggregated (superimposed).

[0009] [1] In order to solve the above problem, a transmission / reception management device according to one aspect of the present invention comprises a transmission timing determination unit that determines, for each device within a control period, a first transmission timing for transmitting transmission data to an external device, and determines, for each device within the control period, a second transmission timing for transmitting the received reception data to a control program corresponding to the device when receiving reception data from the device; a first buffering unit that buffers the transmission data passed from the control program for each of the device devices that is the destination; a first scheduled transmission unit that retrieves the transmission data from the first buffering unit and transmits it to the device device based on the first transmission timing notified by the transmission timing determination unit; a source determination unit that determines the device device that is the source of the received reception data; a second buffering unit that buffers the reception data for each of the determined device devices; and a second scheduled transmission unit that retrieves the reception data from the second buffering unit and transmits it to the control program corresponding to the device device based on the second transmission timing notified by the transmission timing determination unit.

[0010] [2] Also, in one aspect, the transmission / reception management device of [1] above further comprises a bandwidth measurement unit that measures the bandwidth of the received data for each of the device devices, and the transmission timing determination unit determines a second transmission timing for each of the device devices according to the measured bandwidth.

[0011] [3] Also, one aspect is a network system including the transmission / reception management device of [1] above, and a plurality of device devices that receive the transmission data transmitted from the transmission / reception management device, and generate the received data and transmit it to the transmission / reception management device.

[0012] [4] Also, according to one aspect, a transmission / reception management system includes a first server device, a second server device, and a support device, wherein the support device includes a transmission timing determination unit that determines, for each device within a control period, a first transmission timing for transmitting transmission data to an external device, and determines, for each device within the control period, a second transmission timing for transmitting the received data to a control program corresponding to the device when receiving the received data from the device, and the first server device buffers the transmission data passed from the control program for each of the device destinations. The second server device comprises a first buffering unit and a first scheduled transmission unit that retrieves the transmission data from the first buffering unit and transmits it to the device device based on the first transmission timing notified by the transmission timing determination unit, and the second server device comprises a source determination unit that determines the device device that is the sender of the received data, a second buffering unit that buffers the received data for each of the determined device devices, and a second scheduled transmission unit that retrieves the received data from the second buffering unit and transmits it to the control program corresponding to the device device based on the second transmission timing notified by the transmission timing determination unit.

[0013] [5] Also, in one aspect, in the transmission / reception management system of [4] above, the second server device further includes a bandwidth measurement unit that measures the bandwidth of the received data for each device, and the transmission timing determination unit included in the support device determines the second transmission timing for each device according to the bandwidth measured by the bandwidth measurement unit.

[0014] [6] Also, one aspect is a network system including the transmission / reception management system of [4] above, and a plurality of device devices that receive the transmission data transmitted from the first server device and generate the received data and transmit it to the second server device.

[0015] [7] Also, one aspect of the present invention is a transmission / reception management method for managing the transmission and reception of data in a network system, in which a transmission timing determination unit determines, for each device within a control period, a first transmission timing for transmitting transmission data to an external device, and determines, for each device within the control period, a second transmission timing for transmitting the received data to a control program corresponding to the device when receiving the received data from the device; a first buffering unit buffers the transmission data passed from the control program for each of the device destinations; a first scheduled transmission unit retrieves the transmission data from the first buffering unit and transmits it to the device based on the first transmission timing notified by the transmission timing determination unit; a transmission source determination unit determines the device that is the source of the received data; a second buffering unit buffers the received data for each of the determined device; and a second scheduled transmission unit retrieves the received data from the second buffering unit and transmits it to the control program corresponding to the device based on the second transmission timing notified by the transmission timing determination unit.

[0016] [8] Also, one aspect of the present invention is a program for managing transmission and reception of data in a network system, the program including a process in which a transmission timing determination unit determines a first transmission timing for transmitting transmission data to an external device device within a control period for each of the devices, and determines a second transmission timing for transmitting received data received from the device device to a control program corresponding to the device device within the control period for each of the devices; a first buffering unit buffers the transmission data passed from the control program for each of the devices as a destination; and a first scheduled transmission unit determines the The program causes a computer to execute the following processes: a step of retrieving the transmission data from the first buffering unit and transmitting it to the device device based on the first transmission timing notified by the transmission timing determination unit; a step of a transmission source determination unit determining the device device that is the sender of the received data; a step of a second buffering unit buffering the received data for each of the determined device devices; and a step of a second scheduled transmission unit retrieving the received data from the second buffering unit and transmitting it to the control program corresponding to the device device based on the second transmission timing notified by the transmission timing determination unit.

[0017] According to the transmission / reception management device of the present invention, the transmission timing determination unit determines the transmission timing for each device, thereby ensuring the punctuality of communication.

[0018] FIG. 1 is a block diagram showing a schematic functional configuration of a network system according to a first embodiment. FIG. 1 is a block diagram showing one aspect of the configuration of specific devices and a network of the network system according to the first embodiment. FIG. 2 is a block diagram showing another aspect of the configuration of specific devices and a network of the network system according to the first embodiment. FIG. 3 is a block diagram showing yet another aspect of the configuration of specific devices and a network of the network system according to the first embodiment. FIG. 4 is a block diagram showing yet another aspect of the configuration of specific devices and a network of the network system according to the first embodiment. FIG. 5 is a timing chart showing an example of the timing at which the server device according to the first embodiment passes received data to a control program when the server device receives data from the device device side. FIG. 6 is a timing chart showing another example of the timing at which the server device according to the first embodiment passes received data to a control program when the server device according to the first embodiment receives data from the device device side. FIG. 7 is a timing chart showing an example of the timing at which the server device according to the first embodiment passes received data to a control program when the server device according to the first embodiment receives data from the device device side (timing determined based on a measured bandwidth). FIG. 8 is a flowchart showing the procedure of processing by a transmission / reception management unit when the server device receives data from the device device side in the first embodiment. FIG. 9 is a block diagram showing a schematic functional configuration of a network system according to a second embodiment. FIG. 10 is a block diagram showing one aspect of the configuration of specific devices and a network of the network system according to the second embodiment. FIG. 11 is a block diagram showing another aspect of the configuration of specific devices and a network of the network system according to the second embodiment. Fig. 10 is a block diagram showing yet another aspect of the configuration of specific devices and a network in the network system according to the second embodiment. Fig. 11 is a block diagram showing yet another aspect of the configuration of specific devices and a network in the network system according to the second embodiment. Fig. 12 is a block diagram showing yet another aspect of the configuration of specific devices and a network in the network system according to the second embodiment. Fig. 13 is a block diagram showing an example of the internal configuration of a device (computer) that constitutes the network system in the first embodiment, the second embodiment, etc.

[0019] Several embodiments will be described below with reference to the drawings. The problems solved by the embodiments described below are as follows. Specifically, in an industrial network where punctuality is required, when a control program controls a device, the present embodiments solve the problem that the timing of transmission and reception is not consistent because multiple control programs use the same port, making it impossible to ensure punctuality. In the following embodiments, punctuality is ensured by a transmission and reception management device (server device) managing the timing of transmission to the device and the control program. In other words, when implementing the functions of a PLC (programmable logic controller) using a general-purpose server computer device, the server device is equipped with a rectification function.

[0020] By using the following embodiment, scheduled communication under software control can be achieved using a general-purpose server computer in an industrial network to which multiple (possibly many) device devices are connected.

[0021] First Embodiment FIG. 1 is a block diagram showing a schematic functional configuration of a network system according to a first embodiment. As shown in the figure, a network system 901 includes a server device 1, a device 201, and a communication network 401. The server device 1 can be implemented, for example, by a computer and a program. Furthermore, at least some of the functions of the device 201 may be implemented by a computer and a program. The functions of each device include storage means as needed. The storage means may be, for example, program variables or memory allocated by program execution. Furthermore, non-volatile storage means such as a magnetic hard disk drive or a solid-state drive (SSD) may be used as needed. Furthermore, at least some of the functions may be implemented as dedicated electronic circuits rather than programs.

[0022] The server device 1 is a device that reads sensor values ​​transmitted from the device devices 201, performs control calculations based on the read data, and transmits control values ​​to the device devices 201. In other words, the server device 1 operates as a controller for the device devices 201. In other words, the server device 1 executes the transmission / reception management method of this embodiment. The server device 1 can be realized using a general-purpose server-type computer. The server device 1 may also be called a "transmission / reception management device."

[0023] The device 201 is a device controlled by the server device 1. Specifically, the device 201 receives control values ​​or control commands from the server device 1 and operates based on them. The device 201 also transmits sensor values ​​and data representing detected events to the server device 1. The device 201 may be, for example, industrial equipment such as a sensor, a motor, an inverter, or a robot.

[0024] In other words, each of the multiple device devices 201 receives transmission data sent from the server device 1 (transmission / reception management device), and generates reception data for reception by the server device 1 (transmission / reception management device) and sends it to the server device 1 (transmission / reception management device).

[0025] The communication network 401 is a network that enables communication (data communication, etc.) between the server device 1 and the device 201. The communication network 401 may perform communication using a general-purpose communication protocol.

[0026] In other words, the network system 901 functions so that a predetermined industrial purpose or the like is achieved by the operation of a plurality of devices 201 under the control of the server device 1 .

[0027] The server device 1 includes a transmission / reception management unit 11, a control program execution unit 111, and a port 31 therein.

[0028] The transmission / reception management unit 11 manages the transmission and reception of data between the control program on the server device 1 and the device 201. The transmission / reception management unit 11 particularly manages the transmission timing in the transmission and reception of data.

[0029] The control program execution unit 111 is an environment for executing a control program. The control program execution unit 111 includes, for example, a calculation unit such as a CPU (Central Processing Unit), a memory space, various resources for executing the control program, and a function for managing the execution of the control program (typically, an "operating system"). The control program execution unit 111 can execute multiple programs simultaneously in parallel.

[0030] The control program execution unit 111 executes one or more control programs 112. In this embodiment, there may be various types of control programs 112. For example, a control program 112 may exist for each device 201. One control program 112 controls one device 201 or multiple devices 201. It may be predetermined that a specific control program 112 controls a specific device 201.

[0031] The port 31 functions as a gateway for communication between the server device 1 and other devices (for example, the device 201, etc.) The port 31 is also called a "communication port."

[0032] The detailed configuration of the transmission / reception management unit 11 is as follows: That is, the transmission / reception management unit 11 is configured to include a control value receiving unit 21, a buffering unit 22, a scheduled transmission unit 23, a packet transmission / reception unit 24, a source determination unit 25, a bandwidth measurement unit 26, a buffering unit 27, a scheduled transmission unit 28, and a transmission timing determination unit 29. The function of each unit is as follows:

[0033] The control value receiving unit 21 receives data to be transmitted to the device 201 from the control program 112 running on the control program executing unit 111. This data is data such as control values ​​for controlling the device 201.

[0034] The buffering unit 22 has an internal buffer storage area and temporarily stores data to be transmitted to the device 201. The buffer is managed individually for each control program 112. The buffering unit 22 stores data passed from the control value receiving unit 21 in the buffer. The data stored in the buffer can be retrieved in order by the scheduled transmission unit 23. The buffer held by the buffering unit 22 may be a FIFO (First In, First Out) buffer.

[0035] That is, the buffering unit 22 buffers the transmission data passed from the control program 112 for each destination device 201. The buffering unit 22 is also called a "first buffering unit."

[0036] The scheduled transmission unit 23 transmits the data retrieved from the buffering unit 22 to the device 201 at the transmission timing instructed by the transmission timing determination unit 29. When transmitting data, the scheduled transmission unit 23 requests the packet transmission / reception unit 24 to transmit the data. Note that the control program 112 that is the source of the data and the device 201 that is the destination of the data are associated in advance. In other words, it is predetermined which control program 112 the data passed to should be transmitted to and to which device 201.

[0037] That is, the scheduled transmission unit 23 retrieves the transmission data from the buffering unit 22 and transmits it to the device 201 based on the first transmission timing notified by the transmission timing determination unit 29. The scheduled transmission unit 23 is also called a "first scheduled transmission unit."

[0038] The packet transmitter / receiver 24 transmits and receives data in the form of packets. The packet transmitter / receiver 24 transmits data to devices external to the server device 1 (such as the device equipment 201) and receives data transmitted from devices external to the server device 1. When the packet transmitter / receiver 24 transmits and receives data, it communicates via the port 31. Packets transmitted and received by the packet transmitter / receiver 24 include a source address and a destination address. These address information allow the packet to be forwarded to the desired device. In this embodiment, the packet transmitter / receiver 24 is requested to transmit data by the scheduled transmitter 23. Furthermore, the packet transmitter / receiver 24 passes data received from external devices to the source determiner 25.

[0039] The sender determination unit 25 determines the sender device of data received from the outside by the packet transmission / reception unit 24. The sender determination unit 25 can determine the sender device based on the sender address information contained in the packet. In other words, the sender determination unit 25 determines the device 201 that is the sender of the received data.

[0040] The bandwidth measurement unit 26 measures the bandwidth of the data. Specifically, the bandwidth measurement unit 26 measures the bandwidth for each source device 201. The bandwidth of the measurement result is expressed as a numerical value of the amount of data per unit time. When there is a one-to-one correspondence between the source device 201 and the control program 112 to which the data is passed, the bandwidth for each device 201 is equal to the bandwidth for each control program 112. Note that the bandwidth may vary depending on the functions, roles, and usage methods of the device 201. The bandwidth measurement unit 26 notifies the transmission timing determination unit 29 of the bandwidth information, which is the measurement result, for each device 201. In other words, the bandwidth measurement unit 26 measures the bandwidth of the received data for each device 201.

[0041] The buffering unit 27 has an internal buffer storage area and temporarily stores data to be transmitted (handed over) to the control program 112. The buffer is managed individually for each control program 112. The buffering unit 27 stores data handed over from the bandwidth measurement unit 26 in the buffer. The data stored in the buffer can be retrieved in order by the scheduled transmission unit 28. The buffer held by the buffering unit 27 may be a FIFO.

[0042] That is, the buffering unit 27 buffers the received data for each device 201 identified by the transmission source identifying unit 25. The buffering unit 27 is also called a "second buffering unit."

[0043] The scheduled transmission unit 28 passes the data retrieved from the buffering unit 27 to the control program 112 running on the control program execution unit 111 at the transmission timing instructed by the transmission timing determination unit 29. The device 201 that is the data transmission source and the control program 112 on the receiving side are associated in advance. In other words, it is predetermined which device 201 the data received from should be passed to which control program 112.

[0044] That is, the scheduled transmission unit 28 retrieves the received data from the buffering unit 27 based on the second transmission timing notified by the transmission timing determination unit 29, and transmits (passes) the data to the control program 112 corresponding to the source device 201. The scheduled transmission unit 28 is also called a "second scheduled transmission unit."

[0045] The transmission timing determination unit 29 determines, for each device device 201, the timing (first transmission timing) at which the scheduled transmission unit 23 transmits data (control values, etc.) to the device device 201. The transmission timing determination unit 29 also determines, for each device device 201, the timing (second transmission timing) at which data (sensor values, etc.) received from the device device 201 is transmitted (passed) to the control program 112. Here, the transmission timing refers to timing within a control cycle. In this embodiment, the transmission timing determination unit 29 determines the transmission timing as follows. That is, the timing (first transmission timing) at which the scheduled transmission unit 23 transmits data (control values, etc.) to a specific device device 201 is constant within the control cycle. Furthermore, the timing (second transmission timing) at which the scheduled transmission unit 28 transmits (passes) data received from a specific device device 201 to the control program 112 is constant within the control cycle. Here, there is a one-to-one correspondence between the control program 112 and the device device 201.

[0046] In other words, the transmission timing determination unit 29 determines, for each device device 201 within a control period, a first transmission timing for transmitting transmission data (control values, etc.) to an external device device 201, and also determines, for each device device 201 within the control period, a second transmission timing for transmitting received data (sensor values, etc.) received from the device device 201 to the control program 112 corresponding to the device device 201 when the received data is received.

[0047] The transmission timing determiner 29 can receive bandwidth information, which is the measurement result, from the bandwidth measurement unit 26 for each device 201. The transmission timing determiner 29 can then determine the second transmission timing for each device 201 in accordance with the bandwidth measured by the bandwidth measurement unit 26. For example, the transmission timing determiner 29 can determine the first transmission timing and the second transmission timing so that the larger the data bandwidth of a device 201, the more time is allocated to transmission and reception.

[0048] Examples of the transmission timing determined by the transmission timing determination unit 29 will be further described later with reference to the timing charts of FIGS.

[0049] Next, the operation of the server apparatus 1 shown in Fig. 1 will be described. As described above, each control program 112 has the function of controlling the device 201 through communication. The transmission timing determination unit 29 manages all the control programs 112, and assigns a number (identification information) to each control program 112 in advance.

[0050] When transmitting control values ​​and the like from the control program 112 to the device 201, the control program 112 requests transmission from the transmission / reception management unit 11. The control value receiving unit 21 receives the control values ​​from the control program 112 and passes the control values ​​to the buffering unit 22. The buffering unit 22 temporarily stores the control values ​​for buffering the transmission data.

[0051] The transmission timing determination unit 29 holds information about the control period of the control program 112. The transmission timing determination unit 29 determines the timing for transmitting the control values ​​stored in the buffering unit 22 to the device equipment 201 based on the control period for each control program 112. At this time, the transmission timing determination unit 29 manages the transmission order of the control values ​​for each control program 112. After being determined at the time of initial setup, the transmission order of the control values ​​basically does not change. In other words, the transmission timing for each control period to the device equipment 201 is constant. Note that the transmission timing may be set so that the transmission timings of device equipment 201 that are close to each other are close to each other. The transmission timing determination unit 29 instructs the scheduled transmission unit 23 on the transmission timing of the control values.

[0052] The scheduled transmission unit 23 retrieves the control value from the buffering unit 22 based on the determined transmission timing, i.e., based on an instruction from the transmission timing determination unit 29, and instructs the packet transmission / reception unit 24 to transmit the control value. The packet transmission / reception unit 24 transmits the control value to the destination device 201 based on the instruction from the scheduled transmission unit 23. The destination device 201 receives this control value.

[0053] On the other hand, the operation when the server device 1 receives data from the device 201 is as follows: The packet transmitting / receiving unit 24 receives the data transmitted from the device 201. The data transmitted from the device 201 is a sensor value detected by the device 201, etc. The packet transmitting / receiving unit 24 passes the received data to the transmission source determining unit 25.

[0054] The source determination unit 25 determines the source device 201 for each piece of data passed from the packet transmission / reception unit 24. Specifically, the source determination unit 25 determines the source device 201 based on the source address (e.g., MAC address (Media Access Control address)) of the received data. The source determination unit 25 passes the received data to the bandwidth measurement unit 26 together with information about the identified source.

[0055] The bandwidth measurement unit 26 measures the reception bandwidth for each device 201 based on the data passed from the transmission source determination unit 25. The reception bandwidth is expressed as a numerical value representing the amount of data received per unit time (e.g., the number of bytes). The bandwidth measurement unit 26 notifies the transmission timing determination unit 29 of information about the measured reception bandwidth. The bandwidth measurement unit 26 also passes the received data to the buffering unit 27. The buffering unit 27 receives the received data passed from the bandwidth measurement unit 26 and stores it in an individual buffer for each device 201 that is the transmission source.

[0056] The transmission timing determination unit 29 determines the timing of delivery of received data stored in the buffering unit 27 to the control program 112 for each device 201. The order in which data is sent to the control program 112 is managed in association with the number of the control program 112. The order in which data is sent to the control program 112 is determined at the time of initial setup and basically does not change thereafter. Note that data is delivered to the control program 112 at each predetermined control cycle. In other words, the timing of sending data to the control program 112 is constant for each control cycle. The transmission timing determination unit 29 instructs the scheduled transmission unit 28 of the determined transmission timing for each piece of received data.

[0057] The scheduled transmission unit 28 retrieves the received data (sensor values, etc.) from the buffering unit 27 based on the transmission timing instructed by the transmission timing determination unit 29 and passes the received data to the target control program 112 .

[0058] By the above operating procedure, data such as sensor values ​​received by the server device 1 from the device equipment 201 can be sent to the control program 112 without being affected by jitter in the communication network 401 or the reception timing at port 31.

[0059] The transmission timing determination unit 29 may use the bandwidth information for each device 201 measured by the bandwidth measurement unit 26 to determine the transmission timing to be instructed to the scheduled transmission unit 28, using a predetermined algorithm. The transmission timing determination unit 29 may also instruct the scheduled transmission unit 23 about the transmission timing determined using the bandwidth information.

[0060] Next, a more specific configuration of the network system 901 will be described with reference to FIGS.

[0061] 2 is a block diagram showing one embodiment of the configuration of specific devices and a network of a network system 901. As shown in the figure, the network system 901 includes a server device 1, a switch 801, and a plurality of devices 201.

[0062] As already explained, the server device 1 is a device that reads sensor values ​​from the device 201 , performs control calculations, and transmits control values ​​to the device 201 .

[0063] The device 201 is industrial equipment such as a sensor, a motor, an inverter, a robot, etc. The device 201 transmits sensor data to the server device 1 and, conversely, performs operations based on control commands received from the server device 1.

[0064] The switch 801 is one of the devices that make up the communication network 401 described above, and is a device that transfers data between devices. In the configuration shown in the figure, a plurality of devices 201 are connected under the switch 801. The switch 801 transfers data, thereby realizing transmission and reception of data between the server device 1 and the devices 201.

[0065] FIG. 3 is a block diagram showing another embodiment of the specific devices and network configuration of a network system 901. As shown in the figure, the network system 901 includes a server device 1, switches 801 and 802, and a plurality of devices 201. The functions of each device have been described above. The differences between the embodiment shown in FIG. 2 and the embodiment shown in FIG. 3 are as follows: In the configuration shown in FIG. 3, two switches (switches 801 and 802) are connected in sequence between the server device 1 and the devices 201. In this manner, a configuration can be adopted in which the switch 802 is connected under the switch 801. The switches 801 and 802 transfer data, respectively, thereby enabling data transmission and reception between the server device 1 and the devices 201.

[0066] 4 is a block diagram showing yet another embodiment of the specific devices and network configuration of the network system 901. As shown in the figure, the network system 901 can be configured across multiple bases. In the example shown, a server device 1 is located at a first base, and a switch 801 and multiple device devices 201 are located at a second base. In other words, the network system 901 spanning the first and second bases is configured to include the server device 1, the switch 801, and multiple device devices 201. As already explained, multiple devices may be connected under the switch 801. The functions of each device are as already explained.

[0067] In general, the server device 1, the switch 801, and the device equipment 201 do not necessarily have to be located at the same base. Remote bases may be connected by communication. The communication means between the bases may be an electrical line or an optical line. The transmission method for communication between the bases may be Ethernet or a PON (Passive Optical Network), etc.

[0068] FIG. 5 is a block diagram showing another embodiment of the specific devices and network configuration of the network system 901. In the illustrated example, the network system 901 spans four bases, from the first base to the fourth base. In this example, the network system 901 includes a server device 1, switches 801, 802, 803, and multiple devices 201. The server device 1 and the switch 801 are located at the first base. The switch 802 and multiple devices 201 are located at the second base. The switch 803 and multiple devices 201 are located at the third base. Although the interior of the fourth base is not shown, switches and devices may also be located at the fourth base. In this configuration, the server device 1 can communicate with the devices 201 located at multiple bases by transferring data via the switches 801, 802, 803, and the like. In other words, the server device 1 can manage the devices 201 at multiple bases.

[0069] The network system 901 is not limited to the examples shown in FIGS. 2 to 5, and may be realized using other network topologies.

[0070] FIG. 6 is a timing chart showing an example of the timing at which the server device 1 passes received data to the control program 112 when receiving data from the device devices 201. In the figure, the horizontal axis represents time, with the left side representing the past and the right side representing the future. The illustrated example is a timing chart for passing data transmitted from eight device devices 201 to eight control programs 112, respectively. In other words, there is a one-to-one correspondence between the device devices 201 and the control programs 112. Numbers 1 through 8 are assigned to the control programs 112 to which data is passed. Each control program 112 can be identified by these numbers. In the example shown in this figure, the timing at which received data is passed to the control program 112 is allocated at equal intervals. In other words, in this figure, number 1 corresponds to the next number 1, and one control cycle is divided into eight equal time intervals. In other words, the interval between the transmission timings of adjacent control programs is all equal, T0, which is 1 / 8 of one control cycle. For example, the interval between timing number 1 and timing number 2 is equal to the interval between timing number 2 and timing number 3, and so on.

[0071] The transmission timing determination unit 29 may determine transmission timings at even intervals, as shown in FIG. 6, based on the length of one control cycle and the number of timings at which data is passed during one control cycle (i.e., the number of control programs 112 in operation).

[0072] 7 is a timing chart showing another example of the timing at which the server apparatus 1 passes received data to the control program 112 when receiving data from the device devices 201. In this diagram, the horizontal axis also represents time. The illustrated example is a timing chart for passing data transmitted from eight device devices 201 to eight control programs 112, respectively. In other words, there is a one-to-one correspondence between the device devices 201 and the control programs 112. Numbers from 1 to 8 are assigned to the control programs 112 to which data is passed. Each control program 112 can be identified by this number. In the example shown in this diagram, the timing at which received data is passed to the control program 112 is not allocated at equal intervals as in FIG. 6.

[0073] In the example shown in FIG. 7 , grouping of control programs 112 is introduced. That is, the control programs 112 numbered 1, 2, and 3 belong to group A. The control programs 112 numbered 4, 5, and 6 belong to group B. The control programs 112 numbered 7 and 8 do not belong to any group and are treated individually. In this example, the timing of data transmission (transfer) to control programs 112 belonging to the same group is made as close as possible. That is, the transmission timings to the three control programs 112 (numbered 1, 2, and 3) belonging to group A are close to each other and are distinguished from the control programs 112 outside the group (numbered 4 through 8). The transmission timings to the three control programs 112 (numbered 4, 5, and 6) belonging to group B are close to each other and are distinguished from the control programs 112 outside the group (numbered 1 through 3, 7, and 8). More specifically, this is as follows. That is, the order of transmission timing within one control cycle is arranged in numerical order from the first control program 112 to the eighth control program 112. The interval between the transmission timing to the first control program 112 and the second control program 112 is T1, and the interval between the transmission timing to the second control program 112 and the third control program 112 is T1. The interval between the transmission timing to the fourth control program 112 and the fifth control program 112 is T1, and the interval between the transmission timing to the fifth control program 112 and the sixth control program 112 is T1. On the other hand, the interval between the transmission timing to the third control program 112 and the fourth control program 112 is T2, the interval between the transmission timing to the sixth control program 112 and the sixth control program 112 is T2, and the interval between the transmission timing to the sixth control program 112 and the sixth control program 112 is T3. Note that T2>T1.

[0074] The start of one control cycle is the timing of transmission to the first control program 112. After the timing of transmission to the eighth control program 112, there is a gap (time T3) until the timing of transmission to the first control program 112 in the next control cycle.

[0075] 7, the transmission timing determination unit 29 may group specific control programs 112. Furthermore, the transmission timing determination unit 29 may set the intervals between transmission timings to control programs 112 within a group to be shorter than the intervals between control programs 112 outside the group.

[0076] FIG. 8 is a timing chart showing yet another example of the timing at which the server device 1 passes received data to the control program 112 when receiving the data from the device 201. In FIG.

[0077] 8, the length of the interval between transmission timings to the control program 112 is determined based on the bandwidth of the data to the control program 112. Here, the bandwidth is the amount of data transmitted per unit time from the device 201 to the corresponding control program 112. The bandwidth can be expressed as a numerical value in units such as bytes per second or bytes per cycle (or bytes per control cycle). In this example, too, eight control programs 112 are fixedly associated one-to-one with eight device devices 201.

[0078] The transmission timing determination unit 29 receives information on the bandwidth for each control program 112 measured by the bandwidth measurement unit 26, and determines the timing (transmission timing) for passing the received data to the control program 112 according to the bandwidth information.

[0079] More specifically, the transmission timing determination unit 29 determines the transmission timing so that the larger the bandwidth, the more transmission time is available for the combination of the device 201 and the control program 112. In other words, the larger the bandwidth, the longer the interval between the transmission timing to that control program 112 and the transmission timing to the next control program 112 in the sequence.

[0080] As an example, the transmission timing determination unit 29 may allocate time for each combination of device equipment 201 and control program 112 so that the bandwidth is proportional (or nearly proportional) to the length of the interval from the transmission timing to that control program 112 to the transmission timing to the next control program 112 in the sequence. In other words, the transmission timing determination unit 29 may divide one control cycle in proportion to the bandwidth, and determine the timing of transmission to each control program 112 as a result of that division. As a result, as shown in FIG. 8, the intervals between the transmission timing to a control program 112 with a certain number and the transmission timing to the next control program 112 may all be different within one control cycle.

[0081] The bandwidth measurement unit 26 measures the bandwidth of data from each device 201, for example, during a sampling period. Here, the sampling period may be one control period or multiple control periods. Once the measurement is performed, the transmission timing determination unit 29 determines the transmission timing for each control program 112 based on the measurement results of the bandwidth measurement unit 26 during that sampling period. Once the transmission timing is determined, the transmission timing is not reallocated in subsequent control periods, and data transfer is controlled using fixed transmission timing (phase within the control period).

[0082] However, as a modified example, even after the transmission timing has been determined, the bandwidth may be re-measured and the transmission timing may be re-determined as appropriate.

[0083] Three types of timing determination methods have been described above with reference to Figures 6, 7, and 8. As in Figures 6 and 7, the transmission timing determination unit 29 may determine the transmission timing without basing it on the results of bandwidth measurement. Alternatively, as in Figure 8, the transmission timing determination unit 29 may determine the transmission timing in accordance with the size of the measured bandwidth.

[0084] 6, 7, and 8, an example of a method for determining the timing at which the scheduled transmission unit 28 transmits data to the control program 112 has been described. Note that the transmission timing determination unit 29 may determine the transmission timing to be instructed to the scheduled transmission unit 23 by a method similar to those shown in FIGS.

[0085] 9 is a flowchart showing the processing procedure of the transmission / reception management unit 11 when the server device 1 receives data from the device 201. The following description will be given with reference to this flowchart.

[0086] In step S1, the transmission / reception management unit 11 determines whether the system termination conditions are met. If the termination conditions are met (step S1: YES), the entire process of this flowchart ends. If the termination conditions are not met (step S1: NO), the process proceeds to the next step S2.

[0087] In step S2, the packet transmitting / receiving unit 24 receives data from the device 201. The packet transmitting / receiving unit 24 passes the received packet data to the source determining unit 25 together with the MAC address of the source device 201 (information for identifying the source device 201) and the like.

[0088] In step S3, the source determination unit 25 determines the device 201 that is the source of the received data based on the received MAC address, etc. The source determination unit 25 passes the data to the bandwidth measurement unit 26.

[0089] In step S4, the bandwidth measurement unit 26 buffers the received data. That is, the bandwidth measurement unit 26 passes the data to the buffering unit 27, where it stores the data in a buffer area of ​​the buffering unit 27.

[0090] In step S5, the transmission / reception management unit 11 determines whether the timing for passing data to the control program 112 has been determined. If it has been determined (step S5: YES), the processing of steps S6 and S7 is skipped and the process proceeds to step S8. If it has not been determined (step S5: NO), the process proceeds to steps S6 to S7.

[0091] When the process proceeds to step S6, in this step the bandwidth measurement unit 26 measures the bandwidth for each device 201. The bandwidth measurement unit 26 passes information on the measured bandwidth to the transmission timing determination unit 29. Next, the process proceeds to step S7.

[0092] In step S7, the transmission timing determination unit 29 determines the data transfer timing (the timing at which data is transferred to the control program 112) for each device 201 in accordance with the bandwidth measured for the device 201. The transmission timing determination unit 29 instructs the scheduled transmission unit 28 of the data transfer timing determined for each device.

[0093] In step S8, the scheduled transmission unit 28 passes the data received from the device 201 to the control program 112 at a predetermined timing. When the process of step S8 ends, the process returns to step S1 to process the next data.

[0094] As described above, according to this embodiment, the transmission timing determination unit 29 determines, for each device device 201, the timing at which data is transmitted from the server apparatus 1 to the device device 201 within a control period. Furthermore, the transmission timing determination unit 29 determines, for each device device 201, the timing at which data received by the server apparatus 1 from the device device 201 is passed to the control program 112. This ensures punctuality of communication. Furthermore, when the transmission timing determination unit 29 determines the transmission timing for each device device 201 based on the timing measured for each device device 201 by the bandwidth measurement unit 26, the time used for transmitting and receiving data can be set to a length that corresponds to the bandwidth of each device device 201.

[0095] [Second Embodiment] Next, a second embodiment will be described. Note that the matters already explained in the previous embodiment may not be explained below. Here, the explanation will focus on matters unique to this embodiment. In the second embodiment, a network system is configured so that the functions held by the server device 1 in the first embodiment are distributed across multiple devices.

[0096] FIG. 10 is a block diagram showing a schematic functional configuration of a network system according to this embodiment. As shown in the figure, the network system 902 includes a server device 2, a server device 3, a support device 8, and a plurality of device devices 201. The network system 902 is configured to enable bidirectional communication between the server device 2, the server device 3, the support device 8, and the device devices 201. The configuration consisting of the server device 2, the server device 3, and the support device 8 may be referred to as a "transmission / reception management system." This transmission / reception management system manages the transmission and reception of data between the server side and the device devices 201. The server device 2, the server device 3, and the support device 8 may each be implemented by, for example, a computer and a program. Furthermore, at least some of the functions of the device devices 201 may also be implemented by a computer and a program. The functions of each device include storage means as necessary. The storage means may be, for example, program variables or memory allocated by program execution. Furthermore, non-volatile storage means such as a magnetic hard disk drive or solid-state drive may also be used as necessary. Furthermore, at least a part of each function may be realized as a dedicated electronic circuit rather than a program.

[0097] The server device 2 buffers data (control values, etc.) to be transmitted from the control program 312 to the device 201, and transmits the data at a predetermined transmission timing. The server device 2 may also be called a "first server device."

[0098] The server device 2 is configured to include a first transmission / reception management unit 41. The first transmission / reception management unit 41 receives data to be transmitted to the device 201 from the second transmission / reception management unit 61 of the server device 3, buffers the data, and transmits it according to the timing notified by the transmission timing determination unit 89 of the support device 8. A more detailed configuration of the first transmission / reception management unit 41 will be described later.

[0099] The server device 3 receives data (sensor values, etc.) from the device 201, buffers the data, and transmits (passes) the data to the control program 312 at a predetermined timing. The server device 3 may also be called a "second server device."

[0100] The server device 3 includes a second transmission / reception management unit 61 and a control program execution unit 311 .

[0101] The second transmission / reception management unit 61 receives data from the device 201 from the first transmission / reception management unit 41 of the server apparatus 2, buffers the data, and passes it to the control program 312 according to the timing notified by the transmission timing determination unit 89 of the support apparatus 8. A more detailed configuration of the second transmission / reception management unit 61 will be described later.

[0102] The control program execution unit 311 is an environment for executing a control program, similar to the control program execution unit 111 in the first embodiment. The control program execution unit 311 includes, for example, a calculation device such as a CPU, a memory space, various resources for executing the control program, and a function for managing the execution of the control program. The control program execution unit 311 can execute multiple programs simultaneously in parallel. Specifically, the control program execution unit 311 executes multiple control programs 312.

[0103] Similar to the control program 112 in the first embodiment, the control program 312 controls each device 201. Specifically, the control program 312 transmits data (control values, etc.) to the corresponding device 201 and receives data (sensor values, etc.) from the corresponding device 201.

[0104] The support device 8 supports the operations of the server device 2 and the server device 3. Specifically, the support device 8 includes a transmission timing determination unit 89. As described above, the support device 8 can communicate with each of the server device 2 and the server device 3.

[0105] The device 201 is a device controlled by the server apparatus 2 or 3. Specifically, the device 201 receives control values ​​or control commands from a control program 312 running on the server apparatus 3 and operates based on these. The device 201 also transmits sensor values ​​and data representing detected events to the control program 312 running on the server apparatus 3. As in the first embodiment, the device 201 may be industrial equipment such as a sensor, a motor, an inverter, or a robot.

[0106] In other words, each of the multiple device devices 201 receives transmission data sent from server device 2 (first server device), generates reception data for reception by server device 3 (second server device), and transmits it to server device 3 (second server device).

[0107] Next, the detailed functional configurations of the first transmission / reception management unit 41 of the server device 2, the second transmission / reception management unit 61 of the server device 3, and the transmission timing determination unit 89 of the support device 8 will be described.

[0108] As shown in the figure, the first transmission / reception management unit 41 includes a packet transmission / reception unit 51 , a control value reception unit 52 , a buffering unit 53 , a scheduled transmission unit 54 , and a packet transmission / reception unit 55 .

[0109] The packet transmitter / receiver 51 transmits and receives packets that store data. Specifically, the packet transmitter / receiver 51 receives packets from the packet transmitter / receiver 71 on the server device 3 and passes packets to the packet transmitter / receiver 71. The packet transmitter / receiver 51 also passes data to be sent to the device 201 to the control value receiver 52. The packet transmitter / receiver 51 also receives packets received from the device 201 side from the packet transmitter / receiver 55.

[0110] Similar to the control value receiving unit 21 in the first embodiment, the control value receiving unit 52 receives data to be transmitted to the device 201 from the control program 312. The control value receiving unit 52 also passes the data to the buffering unit 53.

[0111] The buffering unit 53, like the buffering unit 22 in the first embodiment, has a buffer storage area and temporarily stores data to be transmitted to the device 201. The buffer is managed individually for each control program 312, that is, for each device 201. The buffer may be a FIFO.

[0112] That is, the buffering unit 53 buffers the transmission data passed from the control program 312 for each destination device 201. The buffering unit 53 is also called a "first buffering unit."

[0113] Similar to the scheduled transmission unit 23 in the first embodiment, the scheduled transmission unit 54 transmits the data retrieved from the buffering unit 53 to the device equipment 201 at the transmission timing instructed by the transmission timing determination unit 89. The scheduled transmission unit 54 requests the packet transmission / reception unit 55 to transmit the data.

[0114] That is, the scheduled transmission unit 54 retrieves the transmission data from the buffering unit 53 and transmits it to the device 201 based on the first transmission timing notified by the transmission timing determination unit 89. The scheduled transmission unit 54 is also called a "first scheduled transmission unit."

[0115] The packet transmitting / receiving unit 55 transmits and receives packets that store data. Specifically, the packet transmitting / receiving unit 55 transmits packets requested by the scheduled transmitting unit 54 to the device 201. The packet transmitting / receiving unit 55 also transmits packets received from the device 201 to the packet transmitting / receiving unit 51 to deliver them to the server device 3.

[0116] The second transmission / reception management unit 61 includes a packet transmission / reception unit 71 , a transmission source determination unit 72 , a bandwidth measurement unit 73 , a buffering unit 74 , and a scheduled transmission unit 75 .

[0117] The packet transmitting / receiving unit 71 transmits and receives packets that store data. Specifically, the packet transmitting / receiving unit 71 receives packets to be transmitted to the device 201 from the control program 312, and transmits the packets to the packet transmitting / receiving unit 51 on the server device 2. The packet transmitting / receiving unit 71 also receives packets received from the device 201 side from the packet transmitting / receiving unit 51, and passes them to the transmission source determining unit 72.

[0118] Similar to the sender discriminator 25 in the first embodiment, the sender discriminator 72 discriminates the sender device of the data passed from the packet transmitter / receiver 71 (data received from the device 201). The sender discriminator 72 can discriminate the sender device based on the sender address information contained in the packet. In other words, the sender discriminator 72 discriminates the sender device 201 of the received data.

[0119] The bandwidth measurement unit 73 measures the data bandwidth based on the received data, similar to the bandwidth measurement unit 26 in the first embodiment. Specifically, the bandwidth measurement unit 73 measures the bandwidth for each sending device 201. The bandwidth measurement unit 73 notifies the transmission timing determination unit 89 on the support device 8 of the bandwidth information, which is the measurement result, for each device 201. In other words, the bandwidth measurement unit 73 measures the bandwidth of the received data for each device 201.

[0120] The buffering unit 74, like the buffering unit 27 in the first embodiment, has a buffer storage area and temporarily stores data received from the device 201 to be transmitted to the control program 312. The buffer is managed individually for each control program 312, that is, for each device 201. The buffer may be a FIFO.

[0121] That is, the buffering unit 74 buffers the received data for each device 201 identified by the transmission source identifying unit 72. The buffering unit 74 is also called a "second buffering unit."

[0122] Similar to the scheduled transmission unit 28 in the first embodiment, the scheduled transmission unit 75 passes the data retrieved from the buffering unit 74 to the control program 312 at the transmission timing instructed by the transmission timing determination unit 89. It is to be noted that it is predetermined which device 201 the data received from is to be passed to which control program 112.

[0123] That is, the scheduled transmission unit 75 retrieves the received data from the buffering unit 74 based on the second transmission timing notified by the transmission timing determination unit 89, and transmits (passes) the data to the control program 312 corresponding to the source device 201. The scheduled transmission unit 75 is also called a "second scheduled transmission unit."

[0124] The transmission timing determination unit 89 included in the support device 8 determines the timing of data transmission in each of the server devices 2 and 3. In other words, the transmission timing determination unit 89 determines, for each device device 201, the timing (first transmission timing) at which the scheduled transmission unit 54 transmits data (control values, etc.) to the device device 201. The transmission timing determination unit 89 also determines, for each device device 201, the timing (second transmission timing) at which data received from the device device 201 (sensor values, etc.) is transmitted (passed) to the control program 312. Here, the transmission timing refers to a timing within a control cycle.

[0125] In other words, the transmission timing determination unit 89 determines, for each device device 201 within a control period, a first transmission timing for transmitting transmission data (control values, etc.) to an external device device 201, and also determines, for each device device 201 within a control period, a second transmission timing for transmitting received data (sensor values, etc.) from the device device 201 to the control program 112 corresponding to the device device 201 when the received data is received.

[0126] The transmission timing determiner 89 can receive bandwidth information, which is the measurement result, from the bandwidth measurement unit 73 for each device 201. Then, the transmission timing determiner 89 may determine the second transmission timing for each device 201 in accordance with the bandwidth measured by the bandwidth measurement unit 73. For example, the transmission timing determiner 89 may determine the first transmission timing and the second transmission timing so that the larger the data bandwidth of a device 201, the more time is allocated to transmission and reception.

[0127] Next, the operations of the server device 2, the server device 3, and the support device 8 shown in FIG. 10 will be described.

[0128] In this embodiment, the buffering function for data transmitted from the control program 312 to the device 201 and the buffering function for data transmitted from the device 201 to the control program 312 are distributed and exist on separate server devices. Specifically, the server device 2 has a function for buffering data transmitted from the control program 312 to the device 201. The server device 3 has a function for buffering data transmitted from the device 201 to the control program 312. The transmission timing determination unit 89 is separated from the server devices 2 and 3 and implemented on the support device 8.

[0129] In this embodiment, each control program 312 also has the function of communicating with the device 201 to control the device 201. The transmission timing determination unit 89 manages all the control programs 312, and assigns a number (identification information) to each control program 312 in advance.

[0130] The operation when transmitting data from the control program 312 to the device 201 is as follows: That is, the control program 312 running on the server device 3 requests the packet transmitting / receiving unit 71 of the second transmission / reception management unit 61 to transmit control value data (packets). The packet transmitting / receiving unit 71 passes the data to the packet transmitting / receiving unit 51 of the first transmission / reception management unit 41 on the server device 2.

[0131] The packet transmitting / receiving unit 51 passes the control value data to the control value receiving unit 52. The control value receiving unit 52 passes the control value data to the buffering unit 53. The buffering unit 53 temporarily stores the control value data in its own buffer.

[0132] The transmission timing determination unit 89 on the support device 8 determines the timing for transmitting the control values ​​stored in the buffering unit 53 to the device devices 201 based on the control cycle for each control program 312. At this time, the transmission timing determination unit 89 manages the transmission order of the control values ​​for each control program 312. After being determined at the time of initial setup, the transmission order of the control values ​​basically does not change. In other words, the transmission timing for each control cycle to the device devices 201 is constant. Note that the transmission timing may be set so that the transmission timings of device devices 201 that are close to each other are close to each other. The transmission timing determination unit 89 instructs the scheduled transmission unit 54 on the transmission timing of the control values.

[0133] The scheduled transmission unit 54 retrieves the control value data from the buffering unit 53 based on the transmission timing instructed by the transmission timing determination unit 89, and instructs the packet transmission / reception unit 55 to transmit it. Based on the instruction from the scheduled transmission unit 54, the packet transmission / reception unit 55 transmits the control value data to the destination device 201. The destination device 201 receives this control value data.

[0134] On the other hand, the operation when the server device 3 receives data from the device device 201 is as follows. First, the packet transmitting / receiving unit 55 in the first transmission / reception management unit 41 on the server device 2 receives the data transmitted from the device device 201. The data transmitted from the device device 201 is, for example, a sensor value detected by the device device 201. The packet transmitting / receiving unit 55 passes the received data to the packet transmitting / receiving unit 55. Furthermore, the packet transmitting / receiving unit 55 passes the data to the packet transmitting / receiving unit 71 in the second transmission / reception management unit 61 on the server device 3. Having received this data, the packet transmitting / receiving unit 71 passes the received data to the transmission source determination unit 72.

[0135] The source determination unit 72 determines the source device 201 for each piece of data passed from the packet transmission / reception unit 71. The method for determining the source is the same as that described in the first embodiment. That is, the source determination unit 72 determines the source device 201 based on, for example, the address (MAC address, etc.) of the source of the received data. The source determination unit 72 passes the received data to the bandwidth measurement unit 73 together with information about the identified source.

[0136] The bandwidth measurement unit 73 measures the reception bandwidth for each device 201 based on the data passed from the transmission source determination unit 72. The reception bandwidth is expressed as a numerical value representing the amount of data received per unit time (for example, the number of bytes). The bandwidth measurement unit 73 notifies the transmission timing determination unit 89 on the support device 8 of information about the measured reception bandwidth. The bandwidth measurement unit 73 also passes the received data to the buffering unit 74. The buffering unit 74 receives the received data passed from the bandwidth measurement unit 73 and stores it in an individual buffer for each device 201 that is the transmission source.

[0137] The transmission timing determination unit 89 of the support device 8 determines the timing of delivery of received data stored in the buffering unit 74 to the control program 312 for each device 201. The order in which data is sent to the control program 312 is managed in association with the number of the control program 312. The order in which data is sent to the control program 312 is determined at the time of initial setup and basically does not change thereafter. Note that data is delivered to the control program 312 at each predetermined control cycle. In other words, the timing of sending data to the control program 312 is constant for each control cycle. The transmission timing determination unit 89 instructs the scheduled transmission unit 75 of the determined transmission timing for each piece of received data.

[0138] The scheduled transmission unit 75 retrieves the received data from the buffering unit 74 based on the transmission timing instructed by the transmission timing determination unit 89 , and passes the received data to the target control program 312 .

[0139] By the above operating procedure, data such as sensor values ​​received by the server device 1 from the device equipment 201 can be sent to the control program 112 without being affected by jitter in the communication network 401 or the reception timing at port 31.

[0140] The transmission timing determination unit 89 may use the bandwidth information for each device 201 measured by the bandwidth measurement unit 73 to determine the transmission timing to be instructed to the scheduled transmission unit 75, using a predetermined algorithm. The transmission timing determination unit 89 may also instruct the scheduled transmission unit 54 about the transmission timing determined using the bandwidth information.

[0141] Next, a more specific configuration of the network system 902 will be described with reference to FIGS.

[0142] FIG. 11 is a block diagram showing one embodiment of the specific device and network configuration of a network system 902. As shown in the figure, the network system 902 includes server devices 2 and 3, a support device 8, multiple device devices 201, and switches 804 and 805. The server device 2 buffers data (e.g., control values) received from the server device 3 and transmits it to the device devices 201. The server device 3 buffers data (e.g., sensor values) received from the device devices 201 via the server device 2 and passes it to a control program 312 running on the server device 3. The control program 312 reads the sensor values ​​and performs control calculations. The support device 8 notifies the server devices 2 and 3 of buffering times, transmission timings, and the like. Each device device 201 is industrial equipment such as a sensor, motor, inverter, or robot. The device devices 201 transmit sensor data and the like to the server device 3, which functions as a controller. Furthermore, the device 201 operates in accordance with control values ​​and control commands sent from the server 3, which functions as a controller. The switch 804 transfers data between the server 2, the server 3, and the support device 8. The switch 805 transfers data between the server 2 and multiple device 201. Note that multiple device 201 and switches may be connected under a switch.

[0143] 12 is a block diagram showing another embodiment of the configuration of specific devices and a network of a network system 902. As shown in the figure, in this embodiment, the network system 902 is configured to include server devices 2 and 3, a support device 8, a plurality of device devices 201, and switches 806, 807, 808, and 809.

[0144] As in this embodiment, data may be transferred via multiple switches. Specifically, data sent by switch 806 may be received by switch 807, and switch 807 may then send the data. The same applies to data transfer in the opposite direction between switches 806 and 807. Furthermore, data sent by switch 808 may be received by switch 809, and switch 809 may then send the data. The same applies to data transfer in the opposite direction between switches 808 and 809.

[0145] 13 is a block diagram showing yet another embodiment of the specific devices and network configuration of a network system 902. As shown in the figure, the network system 902 can be configured across multiple bases. In the example shown, a server device 3, a support device 8, and a switch 810 are located at a first base. A server device 2, a switch 811, and multiple device devices 201 are located at a second base. In other words, the network system 902 spanning the first and second bases is configured to include the server devices 2 and 3, the support device 8, the switches 810 and 811, and multiple device devices 201. As already described, multiple devices may be connected under the control of the switch 810 or the switch 811. The functions of each device are as already described.

[0146] 13, the first and second locations may be connected by an electrical line or an optical line. Furthermore, Ethernet, PON, or the like may be used as a communication transmission means between the locations. A plurality of devices 201 and switches may be connected under a switch.

[0147] Fig. 14 is a block diagram showing yet another embodiment of the configuration of specific devices and a network of the network system 902. The configuration shown in Fig. 14 is a variation of the configuration shown in Fig. 13. In the configuration shown in Fig. 14, the support device 8 is located at a different location from the server device 3. That is, the server device 3 and a switch 812 are located at the first location. The server device 2, a switch 813, and multiple devices 201 are located at the second location. The support device 8 is located at the third location. In this example, the server device 3, the server device 2, and the support device 8, which are located at different locations, manage the multiple devices 201 while coordinating with each other through communication.

[0148] FIG. 15 is a block diagram showing yet another embodiment of the specific device and network configuration of the network system 902. The configuration shown in FIG. 15 is a further modification of the configuration shown in FIG. 14. That is, in the configuration shown in FIG. 15, the switch 814 not only transfers data between the device at the first location, the device at the second location, and the device at the third location, but is also connected to the fourth and fifth locations. Although not shown, each of the fourth and fifth locations may have a switch and multiple devices 201. In the configuration shown in FIG. 15, the server device 3 at the first location, the server device 2 at the second location, and the support device 8 at the third location cooperate to manage the multiple devices 201 located at the second, fourth, and fifth locations.

[0149] As described above, according to this embodiment, the same effects as those of the first embodiment can be obtained. In other words, the punctuality of communication in the network system 902 is guaranteed. Furthermore, according to this embodiment, the transmission and reception management function can be distributed to multiple devices (server device 2, server device 3, and support device 8).

[0150] As described above, according to this embodiment, the transmission timing determination unit 29 determines, for each device device 201, the timing at which data is transmitted from the server apparatus 1 to the device device 201 within a control period. Furthermore, the transmission timing determination unit 29 determines, for each device device 201, the timing at which data received by the server apparatus 1 from the device device 201 is passed to the control program 112. This ensures punctuality of communication. Furthermore, when the transmission timing determination unit 29 determines the transmission timing for each device device 201 based on the timing measured for each device device 201 by the bandwidth measurement unit 26, the time used for transmitting and receiving data can be set to a length that corresponds to the bandwidth of each device device 201.

[0151] FIG. 16 is a block diagram showing an example of the internal configuration of devices constituting a network system in the first embodiment, second embodiment, etc. In other words, server devices 1, 2, and 3 and support device 8 can be implemented using a computer. Furthermore, part or all of device equipment 201 can also be implemented using a computer. As shown in the figure, the computer includes a central processing unit 1001, RAM 1002, input / output port 1003, input / output devices 1004 and 1005, etc., and bus 1006. The computer itself can be implemented using existing technology. The central processing unit 1001 executes instructions contained in a program read from RAM 1002, etc. In accordance with each instruction, the central processing unit 1001 writes data to RAM 1002, reads data from RAM 1002, and performs arithmetic and logical operations. RAM 1002 stores data and programs. Each element in RAM 1002 has an address and can be accessed using the address. Note that RAM is an abbreviation for "random access memory." The input / output port 1003 is a port through which the central processing unit 1001 exchanges data with external input / output devices, etc. The input / output devices 1004 and 1005 exchange data with the central processing unit 1001 via the input / output port 1003. The bus 1006 is a common communication path used within the computer. For example, the central processing unit 1001 reads and writes data from the RAM 1002 via the bus 1006. Also, for example, the central processing unit 1001 accesses the input / output port 1003 via the bus 1006.

[0152] At least some of the functions of the server device 1, 2, or 3, the support device 8, and the device 201 in the above-described embodiments can be implemented by a computer and a program. In this case, the program for implementing this function may be recorded on a computer-readable recording medium and then loaded and executed by a computer system. The program causes a central processing unit to execute a specific process. Note that the term "computer system" here includes hardware such as an OS and peripheral devices. Furthermore, the term "computer-readable recording medium" refers to portable media such as flexible disks, optical magnetic disks, ROMs, CD-ROMs, DVD-ROMs, and USB memory, as well as storage devices such as hard disks built into computer systems. In other words, a "computer-readable recording medium" may be a non-transitory computer-readable recording medium. Furthermore, the term "computer-readable recording medium" may also include media that temporarily and dynamically store programs, such as communication lines when transmitting programs via networks such as the Internet or telephone lines, or media that store programs for a certain period of time, such as volatile memory within the computer systems that serve as the server or client in such cases. Furthermore, the above program may be one that realizes part of the functions described above, or may be one that can realize the functions described above in combination with a program already recorded in the computer system.

[0153] Although a number of embodiments have been described above, the present invention can also be embodied in the following modified examples.

[0154] [First Modification] In the above embodiment, the source determination unit (25, 72) determines the source device 201 based on the address (source address) of the packet source device. As a modification, the source determination unit (25, 72) may read identification information of each device 201 other than the communication address from within the packet, and determine the source device 201 based on the identification information.

[0155] [Second Modification] In the above embodiment, the bandwidth measurement unit (26, 73) measured the bandwidth of data received from the device 201. Then, the transmission timing determination unit (29, 89) was able to determine the timing of transmitting data for each device 201 based on the measured bandwidth (see FIG. 8). As a modification, a configuration may be adopted in which the bandwidth measurement unit (26, 73) is not present. Even in this case, the transmission timing determination unit (29, 89) can determine the timing of transmitting data independently of the bandwidth of each device 201 (examples shown in FIGS. 6 and 7).

[0156] It should be noted that multiple embodiments and modifications may be combined to the extent possible.

[0157] The present invention can be used, for example, in an industrial network including a plurality of device devices, although the scope of use of the present invention is not limited to this.

[0158] DESCRIPTION OF SYMBOLS 1 Server device (transmission / reception management device) 2 Server device (first server device) 3 Server device (second server device) 8 Support device 11 Transmission / reception management unit 21 Control value receiving unit 22 Buffering unit (first buffering unit) 23 Scheduled transmission unit (first scheduled transmission unit) 24 Packet transmission / reception unit 25 Transmission source determining unit 26 Bandwidth measuring unit 27 Buffering unit (second buffering unit) 28 Scheduled transmission unit (second scheduled transmission unit) 29 Transmission timing determining unit 31 Port 41 First transmission / reception management unit 51 Packet transmission / reception unit 52 Control value receiving unit 53 Buffering unit (first buffering unit) 54 Scheduled transmission unit (first scheduled transmission unit) 55 Packet transmission / reception unit 61 Second transmission / reception management unit 71 Packet transmission / reception unit 72 Transmission source determining unit 73 Bandwidth measuring unit 74 Buffering unit (second buffering unit) 75 Regular transmission unit (second regular transmission unit) 89 Transmission timing determination unit 111 Control program execution unit 112 Control program 201 Device equipment 311 Control program execution unit 312 Control program 401 Communication network 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815 Switches 901, 902 Network system 1001 Central processing unit 1002 RAM 1003 Input / output port 1004, 1005 Input / output device 1006 Bus

Claims

1. A transmission / reception management device comprising: a transmission timing determination unit that determines, within a control period, for each device, a first transmission timing for transmitting transmission data to an external device, and that determines, within the control period, for each device, a second transmission timing for transmitting the received data to a control program corresponding to the device when receiving the received data from the device; a first buffering unit that buffers the transmission data passed from the control program for each of the device destinations; a first scheduled transmission unit that retrieves the transmission data from the first buffering unit and transmits it to the device based on the first transmission timing notified by the transmission timing determination unit; a transmission source determination unit that identifies the device that is the sender of the received data; a second buffering unit that buffers the received data for each of the identified device; and a second scheduled transmission unit that retrieves the received data from the second buffering unit and transmits it to the control program corresponding to the device based on the second transmission timing notified by the transmission timing determination unit.

2. The transmission / reception management device of claim 1, further comprising a bandwidth measurement unit that measures the bandwidth of the received data for each device, and the transmission timing determination unit determines a second transmission timing for each device according to the measured bandwidth.

3. A network system comprising: the transmission / reception management device according to claim 1; and a plurality of devices that receive the transmission data transmitted from the transmission / reception management device, and generate and transmit the reception data to the transmission / reception management device.

4. A transmission / reception management system including a first server device, a second server device, and a support device, wherein the support device comprises a transmission timing determination unit that determines, within a control period, for each device device, a first transmission timing for transmitting transmission data to an external device, and that determines, within the control period, for each device device, a second transmission timing for transmitting the received data to a control program corresponding to the device device when receiving the received data from the device device; the first server device comprises: a first buffering unit that buffers the transmission data passed from the control program for each destination device device; and a first scheduled transmission unit that retrieves the transmission data from the first buffering unit and transmits it to the device device based on the first transmission timing notified by the transmission timing determination unit; and the second server device comprises: a transmission source determination unit that determines the device device that is the source of the received data; and a second buffering unit that buffers the received data for each determined device device. a second scheduled transmission unit that retrieves the received data from the second buffering unit and transmits the data to the control program corresponding to the device based on the second transmission timing notified by the transmission timing determination unit.

5. The transmission / reception management system described in claim 4, wherein the second server device further comprises a bandwidth measurement unit that measures the bandwidth of the received data for each device, and the transmission timing determination unit provided in the support device determines the second transmission timing for each device according to the bandwidth measured by the bandwidth measurement unit.

6. A network system comprising: the transmission / reception management system according to claim 4; and a plurality of devices that receive the transmission data transmitted from the first server device, and generate and transmit the reception data to the second server device.

7. A transmission and reception management method for managing the transmission and reception of data in a network system, wherein a transmission timing determination unit determines, for each device within a control period, a first transmission timing for transmitting transmission data to an external device, and determines, for each device within the control period, a second transmission timing for transmitting the received data to a control program corresponding to the device when receiving the received data from the device; a first buffering unit buffers the transmission data passed from the control program for each of the device destinations; a first scheduled transmission unit retrieves the transmission data from the first buffering unit and transmits it to the device based on the first transmission timing notified by the transmission timing determination unit; a transmission source determination unit determines the device that is the source of the received data; a second buffering unit buffers the received data for each of the determined device; and a second scheduled transmission unit retrieves the received data from the second buffering unit and transmits it to the control program corresponding to the device based on the second transmission timing notified by the transmission timing determination unit.

8. A program for managing transmission and reception of data in a network system, comprising: a transmission timing determination unit determining, for each device within a control period, a first transmission timing for transmitting transmission data to an external device, and determining, for each device within the control period, a second transmission timing for transmitting the received data to a control program corresponding to the device when receiving the received data from the device; a first buffering unit buffering the transmission data passed from the control program for each device as a destination; a first scheduled transmission unit retrieving the transmission data from the first buffering unit and transmitting it to the device based on the first transmission timing notified by the transmission timing determination unit; a transmission source determination unit determining the device as the source of the received data; a second buffering unit buffering the received data for each determined device; and a second scheduled transmission unit retrieving the received data from the second buffering unit and transmitting it to the control program corresponding to the device based on the second transmission timing notified by the transmission timing determination unit. A program that causes a computer to perform certain processing.

Citation Information

Patent Citations

  • Management apparatus and data collection apparatus

    JP2012175376A

  • Relay apparatus and relay method

    WO2014132350A1