WO2022185587A1 - 通信方法、通信システムおよびスイッチ - Google Patents

通信方法、通信システムおよびスイッチ Download PDF

Info

Publication number
WO2022185587A1
WO2022185587A1 PCT/JP2021/034676 JP2021034676W WO2022185587A1 WO 2022185587 A1 WO2022185587 A1 WO 2022185587A1 JP 2021034676 W JP2021034676 W JP 2021034676W WO 2022185587 A1 WO2022185587 A1 WO 2022185587A1
Authority
WO
WIPO (PCT)
Prior art keywords
priority
network
frame
switch
communication
Prior art date
Application number
PCT/JP2021/034676
Other languages
English (en)
French (fr)
Inventor
成憲 澤田
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2022185587A1 publication Critical patent/WO2022185587A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks

Definitions

  • This technology relates to a communication method, a communication system, and a switch related to a network that conforms to TSN (Time Sensitive Networking).
  • TSN Time Sensitive Networking
  • Ethernet registered trademark
  • IEEE 802.1 TSN Time Sensitive Networking
  • TSN Time Sensitive Networking
  • real-time communication can be realized more easily using general-purpose hardware such as Ethernet (registered trademark).
  • OPC Unified Architecture which has been internationally standardized as IEC62541, is attracting attention as a communication stack for data communication between devices.
  • Patent Document 1 European Patent No. 03357218 discloses data communication between a client device and a server device according to the OPC-UA protocol in a network by a stream according to the TSN standard according to IEEE 802.1. .
  • TSN traffic is scheduled in consideration of streams corresponding to frame transfer paths, traffic classes that are the priority of each stream, and available bandwidth.
  • QoS Quality of Service
  • OPC UA one-to-many data communication is also possible, but QoS (Quality of Service) is basically defined for each data communication unit. Therefore, when data is transmitted to a plurality of destinations, QoS is uniformly set for the plurality of destinations. As a result, data may be transmitted with a higher priority than requested by the destination, and there is a risk that efficient bandwidth allocation cannot be achieved.
  • This technology provides a mechanism for optimizing bandwidth allocation according to priority in a network that combines TSN and OPC UA.
  • a communication method in a TSN compliant network is provided. At least some of the devices connected to the network are configured to perform data communication using a communication protocol that conforms to OPC UA.
  • the communication method includes the steps of preparing a priority definition that defines the priority of a stream in association with the ports of the switches that constitute the network, identifying the stream of frames to be transferred, and referring to the priority definition. changing the priority of the frame and transferring it to the subsequent stage.
  • the step of providing priority definitions may include determining segments of a data path for frames destined for multiple devices for which priority may be reduced in response to a request at the destination device. good. According to this configuration, it is possible to lower the priority of a specific section according to the request of the destination device, so that the band can be allocated more efficiently.
  • the step of preparing the priority definition may be executed in response to a setting change to perform data communication with a new device in addition to a state in which data communication is being performed between a plurality of devices. . According to this configuration, efficient bandwidth allocation can be realized even when the number of devices related to existing data communication increases.
  • the communication method may further include the step of providing a user interface screen for accepting settings for a new device that performs data communication. According to this configuration, even a user with poor technical knowledge can realize efficient bandwidth allocation in the network.
  • the step of preparing the priority definition may include generating the priority definition based on the selected assurance method for the device newly receiving the data. According to this configuration, efficient bandwidth allocation can be achieved according to the guarantee method requested by the device that newly receives data.
  • the switch may include multiple queues prepared for each priority and multiple gates that sequentially output the data stored in the multiple queues according to the schedule. According to this configuration, each frame can be transferred according to the priority according to the schedule.
  • the communication method may further include the step of the network controller sending the priority definition and schedule to the switch.
  • the network controller can manage the network including both TSN and OPU UA.
  • the priority definition may include stream identification information, identification information included in the frame, and the priority to be set for the frame. According to this configuration, by referring to the priority definition, it is possible to easily identify the frame whose priority should be changed.
  • a communication system including a network conforming to TSN.
  • a communication system includes a network controller, a switch, and one or more devices connected to a network. At least part of the one or more devices are configured to perform data communication using a communication protocol that conforms to OPC UA.
  • a communication system refers to means for generating a priority definition specifying the priority of a stream, means for specifying a stream of frames to be transferred, and referring to the priority definition in association with the ports of the switches constituting the network. means for changing the priority of the frame and transferring it to the subsequent stage.
  • a switch configuring a network according to TSN is provided. At least some of the one or more devices connected to the network are configured to perform data communication using a communication protocol conforming to OPC UA.
  • the switch changes the priority of the frame by referring to the priority definition that specifies the priority of the stream in association with the means for identifying the stream of the frame to be transferred and the port of the switch that constitutes the network. and a means for transferring to a later stage.
  • FIG. 1 is a schematic diagram showing an example of the overall configuration of a control system according to an embodiment
  • FIG. It is a figure which shows an example of the communication model which the control system which concerns on this Embodiment employ
  • 2 is a block diagram showing an example hardware configuration of an end device that constitutes the control system according to the present embodiment
  • FIG. 2 is a block diagram showing an example hardware configuration of an end device that constitutes the control system according to the present embodiment
  • FIG. 3 is a block diagram showing an example hardware configuration of a switch that constitutes the control system according to the present embodiment
  • FIG. 2 is a block diagram showing an example hardware configuration of a network controller that configures the control system according to the present embodiment
  • FIG. 3 is a schematic diagram showing a more detailed configuration of one port of a switch that configures the control system according to the present embodiment
  • 1 is a schematic diagram showing a network configuration example of a control system according to an embodiment
  • FIG. FIG. 5 is a schematic diagram showing an example of changing the priority of frames in the control system according to the present embodiment
  • FIG. 4 is a schematic diagram showing a structural example of a frame in the control system according to the embodiment
  • It is a schematic diagram showing an application example of the control system according to the present embodiment.
  • FIG. 12 is a schematic diagram showing an example of changing the priority of frames in the network configuration example shown in FIG. 11
  • FIG. 2 is a schematic diagram showing an example of a user interface for implementing a communication method in the control system according to the present embodiment
  • FIG. 4 is a flow chart showing a processing procedure for preparing setting parameters in the control system according to the present embodiment
  • 7 is a flow chart showing a processing procedure relating to frame transfer processing of the switch of the control system according to
  • FIG. 1 is a schematic diagram showing an example of the overall configuration of a control system 1 according to this embodiment.
  • a control system 1 shown in FIG. 1 is an example of a communication system including a control device such as a PLC (Programmable Controller) and an HMI (Human Machine Interface).
  • a control device such as a PLC (Programmable Controller) and an HMI (Human Machine Interface).
  • control device is collectively called “end device 100”
  • HMI is collectively called “end device 150”.
  • end devices are not limited to controllers and HMIs, and may include any device.
  • the control system 1 further includes a switch 200 and a network controller 300.
  • the end device 100-1 corresponding to the control device is connected to the switch 200 via the link 20.
  • the end device 100-2 corresponding to the control device is connected to the switch 200 via the link 22.
  • An end device 100 - 3 corresponding to a control device is connected to the switch 200 via a link 24 .
  • An end device 150 corresponding to the HMI is connected to the switch 200 via the link 26.
  • a network controller 300 is connected to the switch 200 via the link 28 .
  • the control system 1 includes a network conforming to IEEE 802.1 TSN. Therefore, in control system 1 according to the present embodiment, a communication method in a network conforming to TSN is executed. Also, the end device 100, the end device 150, the switch 200, and the network controller 300 that configure the control system 1 are time-synchronized with each other by a time synchronization subject (not shown). Time synchronization is realized according to IEEE 802.1 AS-2020, which is a lower standard of IEEE 802.1 TSN, and IEEE 1588, which is a precision time protocol (PTP).
  • IEEE 802.1 AS-2020 which is a lower standard of IEEE 802.1 TSN
  • IEEE 1588 which is a precision time protocol (PTP).
  • the network controller 300 is the entity that manages frame transfer in the TSN, and schedules traffic (streams) by calculating resource allocation and availability. Typically, the network controller 300 schedules traffic according to IEEE 802.1 Qcc, which is a substandard of IEEE 802.1 TSN.
  • TSN simply refers to networks conforming to IEEE 802.1 TSN.
  • IEEE 802.1 TSN mainly defines the data link layer, and protocols such as TCP/IP or UDP/IP can be used for the network layer and transport layer. As will be described later, the IEEE 802.1 TSN standard includes several sub-standards.
  • device includes any device connected to a network conforming to IEEE 802.1 TSN.
  • Devices may typically include end devices, switches, and network controllers.
  • configuration parameters include configuration information required to operate the network.
  • Setting parameters include, for example, various setting values, traffic schedules and priority definitions.
  • network controller 300 sends configuration parameters to each of end device 100 and switch 200 .
  • priority definition includes information that defines the priority set for each frame identified as a stream.
  • the data structure of “priority definition” may be of any type.
  • a “priority definition” is typically set for each port of a switch. Details of the “priority definition” will be described later.
  • FIG. 2 is a diagram showing an example of a communication model adopted by the control system 1 according to this embodiment.
  • FIG. 2 shows a communication model adopted by the control system 1 according to the OSI hierarchical model.
  • Ethernet registered trademark
  • IEEE 802.1 TSN Ethernet (registered trademark) extended according to IEEE 802.1 TSN is implemented as a data link layer on any physical layer.
  • IP protocol is implemented as the network layer and the TCP or UDP protocol as the transport layer.
  • OPC UA is adopted as the session layer, presentation layer, and application layer.
  • OPC UA consists of multiple layers such as an information model and a communication model.
  • OPC UA is mainly implemented in the end device 100 and the end device 150. Therefore, at least some of the devices connected to the TSN are configured to perform data communication using a communication protocol conforming to OPC UA.
  • data communication that satisfies OPC UA requirements is realized by dynamically changing the priority of frame transfer in TSN according to the state of OPC UA. .
  • each of the end devices 100 has a field bus 30 independent of the TSN.
  • One or more field devices 40 are connected to the fieldbus 30 .
  • One or more field devices 40 include input devices that obtain field signals and output devices or actuators that perform some action on the field according to instructions from the end device 100 .
  • FIG. 3 is a block diagram showing a hardware configuration example of the end device 100 configuring the control system 1 according to this embodiment.
  • end device 100 includes processor 102 , main memory 104 , network interface 110 , storage 120 , internal bus interface 130 , fieldbus interface 132 and memory card interface 134 . Each component is electrically connected via bus 138 .
  • the processor 102 is composed of a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphical Processing Unit), etc., reads various programs stored in the storage 120, expands them in the main memory 104, and executes them. By doing so, processing as a control device is realized.
  • CPU Central Processing Unit
  • MPU Micro-Processing Unit
  • GPU Graphics Processing Unit
  • the network interface 110 is responsible for frame transfer via TSN. More specifically, network interface 110 includes transmission/reception control circuitry 112 , transmission circuitry 114 , and reception circuitry 116 .
  • the transmission/reception control circuit 112 controls the transmission circuit 114 and the reception circuit 116 according to a traffic schedule given in advance by the network controller 300 .
  • the transmission circuit 114 transmits frames on the TSN according to instructions from the transmission/reception control circuit 112 .
  • Receive circuit 116 receives incoming frames via TSN.
  • the storage 120 typically stores a system program 122 for realizing functions as a control device and a user program 124 that defines control logic to be executed by the control device.
  • the internal bus interface 130 exchanges data with the I/O unit 140 mounted on the end device 100 .
  • the fieldbus interface 132 exchanges data with field devices via the fieldbus 30 .
  • the memory card interface 134 is configured such that a memory card 136 can be attached/detached, and data can be written to the memory card 136, and various data (user program, trace data, etc.) can be read from the memory card 136. ing.
  • FIG. 3 shows a configuration example in which necessary functions are provided by the processor 102 executing a program.
  • the main part of the end device 100 may be implemented using hardware following a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • the processing performed and functions provided by end device 100 may be implemented in processing circuitry including processors, ASICs, FPGAs, and the like.
  • FIG. 4 is a block diagram showing a hardware configuration example of the end device 150 configuring the control system 1 according to this embodiment.
  • end device 150 includes processor 152 , main memory 154 , network interface 160 , storage 170 , display 180 , input section 182 and memory card interface 184 . Each component is electrically connected via bus 188 .
  • the processor 152 is composed of a CPU, MPU, GPU, etc., reads various programs stored in the storage 170, develops them in the main memory 104, and executes them, thereby realizing processing as an HMI.
  • the network interface 160 is in charge of frame transfer via TSN. More specifically, network interface 160 includes transmission/reception control circuitry 162 , transmission circuitry 164 , and reception circuitry 166 .
  • the transmission/reception control circuit 112 controls the transmission circuit 164 and the reception circuit 166 according to a traffic schedule given in advance by the network controller 300 .
  • the transmission circuit 164 transmits frames on the TSN according to instructions from the transmission/reception control circuit 162 .
  • Receive circuit 166 receives incoming frames via TSN.
  • the storage 170 typically stores a system program 172 for realizing functions as an HMI, and a user program 174 that defines control logic executed by the control device.
  • the display 180 displays the results of calculations by the processor 152 and the like.
  • Input unit 182 receives a user operation and outputs the content of the received user operation to processor 152 .
  • display 180 and input unit 182 may be implemented in the form of a touch panel.
  • the memory card interface 184 is configured such that a memory card 186 can be attached/detached, and data can be written to the memory card 186, and various data (user program, trace data, etc.) can be read from the memory card 186. ing.
  • FIG. 4 shows a configuration example in which necessary functions are provided by the processor 152 executing a program. , FPGA, etc.).
  • the main part of the end device 100 may be implemented using hardware following a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • the processing performed and functions provided by the end device 100 may be implemented in processing circuitry including processors, ASICs, FPGAs, and the like.
  • FIG. 5 is a block diagram showing a hardware configuration example of the switch 200 that configures the control system 1 according to this embodiment.
  • switch 200 includes transmission/reception control circuit 212 and transmission circuits 214-1, 214-2, 214-3, and 214-4 (hereinafter also collectively referred to as "transmission circuit 214"). , and receiving circuits 216-1, 216-2, 216-3, and 216-4 (hereinafter also collectively referred to as “receiving circuits 216”).
  • a set of the transmission circuit 214 and the reception circuit 216 forms one port. Note that FIG. 3 illustrates the switch 200 having four ports, but the number of ports is not particularly limited.
  • the transmission/reception control circuit 212 controls the transmission circuit 114 and the reception circuit 116 according to the traffic schedule given in advance by the network controller 300 . More specifically, the transmit/receive control circuit 212 includes a transfer engine 218 and a queue 220 .
  • the transmission/reception control circuit 212 may be implemented by a processor executing firmware, or may be implemented using a hardwired circuit such as an ASIC or FPGA. Also, not only the transmission/reception control circuit 212 but also the entirety including the transmission circuit 114 and the reception circuit 116 may be implemented in a single chip. As such, the processing performed and functions provided by switch 200 may be implemented in processing circuitry including processors, ASICs, FPGAs, and the like.
  • FIG. 6 is a block diagram showing a hardware configuration example of the network controller 300 that configures the control system 1 according to this embodiment.
  • network controller 300 includes processor 302 , main memory 304 , network interface 310 and storage 320 . Each component is electrically connected via bus 338 .
  • the processor 302 is composed of a CPU, MPU, GPU, etc., and reads various programs stored in the storage 320, develops them in the main memory 304, and executes them, thereby realizing processing as a network controller.
  • the network interface 310 is responsible for frame transfer via TSN. More specifically, network interface 310 includes transmit/receive control circuitry 312 , transmit circuitry 314 , and receive circuitry 316 .
  • the storage 320 typically stores an OS 322 for implementing basic processing and a network setting program 324 for implementing processing as described later.
  • FIG. 6 shows a configuration example in which necessary functions are provided by the processor 302 executing a program.
  • the processing performed and the functions provided by the network controller 300 may be implemented by processing circuits including processors, ASICs, FPGAs, and the like.
  • TSN Realization of traffic scheduling according to the TSN standard>
  • a stream ID is assigned (a stream is reserved) for each data path according to IEEE 802.1 Qcc, and traffic is scheduled according to IEEE 802.1 Qbv.
  • the following queue and gate configurations are employed.
  • FIG. 7 is a schematic diagram showing a more detailed configuration of one port of switch 200 that configures control system 1 according to the present embodiment.
  • each port consists of a set of a transmitter circuit 214 and a receiver circuit 216 .
  • Transfer engine 218 and queue 220 are provided between transmit circuit 214 and receive circuit 216 .
  • the transfer engine 218 includes a distribution circuit 224 and a timing control circuit 226.
  • Queue 220 also includes a plurality of queues 220-1 to 220-M associated with each traffic class value.
  • Distribution circuit 224 stores the frame in one of queues 220-1 to 220-M according to the header information of the frame received via reception circuit 216, or distributes the frame to distribution circuit 224 of another port. transfer to Also, the sorting circuit 224 performs similar determination and processing for frames received from the sorting circuit 224 of another port.
  • the distribution circuit 224 When the distribution circuit 224 receives a frame to be transmitted from the transmission circuit 214 of its own port, it stores the frame in the queue 220 associated with the traffic class of the frame. By such processing in the distribution circuit 224, the queues 220-1 to 220-M sequentially store frames classified by traffic class. For example, if the traffic class is 8, then 8 queues 220 are provided.
  • the sorting circuit 224 has a priority changing section 230 for changing the priority set for the frame.
  • the priority changing unit 230 changes the priority of a target frame among incoming frames according to a predetermined setting (priority definition described later), and transfers the frame to the subsequent stage. The details of changing the priority of frames will be described later.
  • Gates 222-1 to 222-M are provided on the output sides of the queues 220-1 to 220-M, respectively.
  • Each of gates 222 - 1 to 222 -M (hereinafter collectively referred to as “gates 222 ”) opens and closes according to instructions from timing control circuit 226 .
  • the gate 222 opens, the frame stored in the associated queue 220 is transmitted from the transmission circuit 214 .
  • Timing control circuit 226 does not give open commands to a plurality of gates 222 at the same time. That is, timing control circuit 226 sequentially opens and closes gates 222 according to traffic schedule 228 . This allows traffic to be controlled according to scheduling.
  • the switch 200 includes a plurality of queues 220 prepared for each traffic class (priority) and a plurality of gates 222 that sequentially output data stored in the plurality of queues 220 according to the traffic schedule. .
  • the port of the end device 100 (network interface 110), the port of the end device 150 (network interface 160), and the port of the network controller 300 (network interface 310) also have the same configuration as in FIG. .
  • Publish/Subscriber communication (hereinafter also abbreviated as “Pub/Sub communication”) is defined as one form for realizing data communication between devices in OPC UA.
  • Pub/Sub communication the receiving side becomes the Subscriber, and the transmitting side publishes data.
  • one-to-one data communication may be adopted, or one-to-N data communication may be adopted.
  • the user also arbitrarily sets the period of data communication, target data, and the like.
  • FIG. 8 is a schematic diagram showing a network configuration example of the control system 1 according to this embodiment. Referring to FIG. 8, it is assumed that arbitrary data is transmitted from end device 100-1 to end devices 100-2, 100-3, and 100-4. In the data communication example shown in FIG. 8, the end device 100-1 multicasts frames destined for the end devices 100-2, 100-3, and 100-4. The switch 200 transmits frames received from the end device 100-1 from ports connected to the end devices 100-2, 100-3, and 100-4. The switch 200 copies the received frame and transmits it from each of the three ports.
  • the end device 100-2 and the end device 100-3 which are control devices, need to receive the data transmitted by the end device 100-1 in a state in which synchronization or delay is guaranteed.
  • 100-4 does not need to receive the data transmitted by end device 100-1 with synchronization or delay guaranteed. That is, the priority of data communication between end device 100-1 and end devices 100-2 and 100-3 is high, but the priority of data communication between end device 100-1 and end device 100-4 is high. is low.
  • the end device 100-1 should transmit the frame by multicast instead of unicasting the frame from the end device 100-1 to the end devices 100-2, 100-3, and 100-4. and the switch 200 can be reduced. Therefore, data communication may be performed with a frame corresponding to the highest priority among the destinations.
  • control system 1 is configured so that the priority of frames can be arbitrarily changed during transfer according to the situation.
  • FIG. 9 is a schematic diagram showing an example of changing the priority of frames in the control system 1 according to the present embodiment.
  • port 201 of switch 200 receives frame 51 from end device 100-1.
  • the priority of frame 51 is set to "7".
  • frame 51 is copied and forwarded to ports 202, 203 and 204, respectively.
  • frame 52 which is a copy of frame 51
  • frame 53 which is a copy of frame 51
  • Frame 54 which is a copy of frame 51
  • port 204 is forwarded to port 204 and from port 204 to end device 100-4.
  • the priority of the frame 54 transferred to the port 204 is changed from "7" of the frame 51 received at the port 201 to "3". That is, the priority of the frame 54 transmitted to the end device 100-4 is changed to a lower value than the priority of the frames transmitted to the other end devices 100-2 and 100-3. By changing the priority in this way, it is possible to secure the bandwidth between the switch 200 and the end device 100-4.
  • the switch 200 has priority definitions 62, 63, 64 for each port.
  • Priority definition 62 associated with port 202 includes VLAN ID 622 and priority 623 associated with stream ID 621 .
  • the switch 200 refers to the priority definition 62, identifies the frames whose priority should be changed based on the stream ID 621 and/or the VLAN ID 622, and sets the priority of the frame identified as the priority to be changed. to the specified value.
  • the priority definition 63 associated with port 203 includes VLAN ID 632 and priority 633 associated with stream ID 631 .
  • the priority definition 64 associated with the port 204 includes a VLAN ID 642 and a priority 643 associated with the stream ID 641 .
  • the priority definitions 62, 63, 64 are typically a stream ID that is stream identification information, a VLAN ID that is identification information contained in a frame, and a priority to be set in the frame. including priority.
  • priority definition 64 associated with port 204
  • the priority associated with the same stream ID and VLAN ID is set to "3", which is different from other priority definitions.
  • priority definition 64 frames 54 forwarded to end device 100-4 have their priority changed to "4.”
  • FIG. 10 is a schematic diagram showing a structural example of a frame in the control system 1 according to this embodiment.
  • the frame consists of a destination MAC address field 81, a source MAC address field 82, a TPID field 83, a Priority field 84, a CF field 85, a VLAN ID field 86, and an EtherType field 87. , a Data field 88 and an FCS field 89 .
  • the destination MAC address field 81 stores the MAC address indicating the transfer destination of the frame.
  • the source MAC address field 82 stores a MAC address indicating the transfer source of the frame.
  • the TPID field 83 stores a value indicating that the IEEE 802.1Q VLAN-Tag follows.
  • the Priority field 84 stores the priority of the frame.
  • a CF field 85 stores a value indicating whether the MAC address conforms to the standard format.
  • the VLAN ID field 86 stores the identification information of the belonging VLAN (Virtual Local Area Network).
  • the EtherType field 87 stores identification information indicating the upper layer protocol of the data stored in the Data field 88 .
  • Data field 88 stores any data to be transmitted.
  • the FCS field 89 stores a CRC value for error detection.
  • the switch 200 when the switch 200 changes the priority, it rewrites the value of the Priority field 84 in the frame.
  • a stream ID is assigned to each data path.
  • a stream ID is determined based on the values of one or more fields included in the frame.
  • the stream ID may be determined by referring to the destination IP address, source IP address, transfer destination port number, transfer source port number, and the like.
  • FIG. 11 is a schematic diagram showing an application example of the control system 1 according to this embodiment.
  • end devices 100-1, 100-2 and 100-3 as controllers and end device 100-4 as HMI are connected via two switches 200-1 and 200-2.
  • switches 200-1 and 200-2 Assume a network configuration example in which
  • the end device 100-4 which is an HMI, needs to refer to the data transmitted by the end device 100-1 to the end devices 100-2 and 100-3, respectively. That is, it is assumed that the end device 100-4 is a Subscriber for data published by the end device 100-1.
  • the frame transmitted from the end device 100-1 is changed from unicast to multicast. That is, the frame transferred from the end device 100-1 to the end device 100-2 is changed so that it is also transferred to the end device 100-4. Similarly, a frame transferred from end device 100-1 to end device 100-3 is modified so that it is also transferred to end device 100-4.
  • the network controller 300 (FIG. 1) newly designs the allocation of stream IDs and recalculates the traffic schedule according to the data path of the modified frame transmitted from the end device 100-1. At this time, the level of QoS on the receiving side (for example, synchronization guarantee, delay guarantee, non-guarantee, etc.) is specified. The network controller 300 generates priority definitions according to the specified QoS level.
  • the network controller 300 sets configuration parameters, including traffic schedules and priority definitions, for the end devices 100 and switches 200 connected to the network.
  • the setting including the priority definition is changed according to the setting change to perform data communication with a new end device 100 as well. Parameters may be provided.
  • FIG. 12 is a schematic diagram showing an example of changing the priority of frames in the network configuration example shown in FIG. Referring to FIG. 12, assume that port 201 of switch 200-1 receives frame 71 from end device 100-1. Frame 71 has a priority set to "7" and is transferred to end device 100-2 and end device 100-4.
  • frame 72 which is a copy of frame 71, is forwarded to port 202 and forwarded from port 202 to end device 100-2. At this time, according to the priority definition 65 for the port 202, the priority of the frame 72 remains "7".
  • the port 201 of the switch 200-1 receives the frame 76 from the end device 100-1.
  • Frame 76 has a priority of "7" and is forwarded to end device 100-3 and end device 100-4.
  • frame 77 which is a copy of frame 76, is forwarded to port 202 and from port 202 to switch 200-2.
  • the priority of the frame 76 remains "7".
  • Switch 200-2 processes frames 73 and 74 from switch 200-1. More specifically, when switch 200-2 receives frame 73 at port 205 to be forwarded to end device 100-4, it transmits frame 74, which is a copy of frame 73, from port 207 to end device 100-4. . At this time, according to the priority definition 68 for the port 207, the priority of the frame 74 is maintained as "3" after the change.
  • the switch 200-2 receives the frame 77 to be transferred to the end device 100-3 at the port 205, it transmits a frame 78, which is a copy of the frame 77, from the port 206 to the end device 100-3.
  • the priority of the frame 78 remains "7".
  • switch 200-2 transmits frame 79, which is a copy of frame 77, from port 207 to end device 100-4.
  • frame 79 which is a copy of frame 77, from port 207 to end device 100-4.
  • the priority of the frame 79 is changed from "7" to "3".
  • the switch 200-2 receives the frame 73 to be transferred to the end device 100-4 at the port 205, it transmits a frame 74, which is a copy of the frame 73, from the port 207 to the end device 100-4.
  • the priority of the frame 78 is maintained as "3" after the change.
  • a high priority is set for frames transferred from the end device 100-1 to the end devices 100-2 and 100-3, while the frames transferred from the end device 100-1 to the end device 100-3 For frames forwarded to -4, the priority is lowered.
  • FIG. 13 is a schematic diagram showing an example of a user interface for realizing the communication method in the control system 1 according to this embodiment.
  • the user interface shown in FIG. 13 may be provided by the network controller 300 or may be provided by a support device connected to the network controller 300.
  • FIG. 13 is a schematic diagram showing an example of a user interface for realizing the communication method in the control system 1 according to this embodiment.
  • the user interface shown in FIG. 13 may be provided by the network controller 300 or may be provided by a support device connected to the network controller 300.
  • FIG. 13 is a schematic diagram showing an example of a user interface for realizing the communication method in the control system 1 according to this embodiment.
  • the user interface shown in FIG. 13 may be provided by the network controller 300 or may be provided by a support device connected to the network controller 300.
  • FIG. 13 is a schematic diagram showing an example of a user interface for realizing the communication method in the control system 1 according to this embodiment.
  • the user interface shown in FIG. 13 may be provided by the network controller 300
  • the user selects a new device to transmit data via the user interface screen 400 shown in FIG. 13(A). That is, a new device for data communication is selected or added.
  • user interface screen 400 shows the current network configuration and allows the user to select devices for the network in any manner.
  • the user selects target data via the user interface screen 402 shown in FIG. 13(B). Further, the user selects the priority on the data receiving side (destination) via the user interface screen 404 shown in FIG. 13(C). That is, the user selects a guarantee method (synchronization guarantee, delay guarantee, no guarantee) on the new data receiving side. In addition to the assurance method, a communication protocol (OPC UA Pub/Sub communication, security communication, etc.), communication cycle, etc. may be selected.
  • OPC UA Pub/Sub communication, security communication, etc. may be selected.
  • the network controller 300 or support device calculates the necessary traffic schedule and prepares transfer parameters including the calculated traffic schedule, various setting values, and priority definitions. do.
  • the user may be provided with a user interface screen for accepting settings for the new end device 100 that performs data communication.
  • the priority definition may be generated based on the guarantee method (synchronization guarantee, delay guarantee, no guarantee) selected for the end device 100 that newly receives data. .
  • the network controller 300 or support device provides transfer parameters to the target end device 100 and switch 200 .
  • the setting parameters may be provided to the network controller 300 once, and then provided from the network controller 300 to the target end device 100 and switch 200 .
  • the end device 100 and the switch 200 are activated according to the setting parameters provided by the network controller 300 or support equipment, and perform data communication and frame transfer according to the designated setting parameters.
  • the data path and bandwidth are calculated in consideration of the request of the guarantee method on the data receiving side in addition to the priority set for each stream. Furthermore, for sections in which the priority can be lowered, a priority definition is calculated so that the priority of the frame can be changed by a switch arranged in the preceding stage of the section.
  • the user interface is not limited to the one shown in FIG. 13, and any method may be used to set the request of each end device 100 in the network. Further, for example, at startup, each end device 100 may notify the network controller 300 of the guarantee method for data received by the device, and the network controller 300 may calculate the necessary configuration parameters.
  • FIG. 14 is a flowchart showing a processing procedure for preparing setting parameters in the control system 1 according to this embodiment.
  • Each step shown in FIG. 14 is typically implemented by processor 302 of network controller 300 executing network setting program 324 . However, it may be implemented by a support device connected to the network controller 300 executing a network setting program.
  • network controller 300 acquires current network setting information (step S100), and also acquires setting information related to new data transmission (step S102).
  • Current network setting information includes network topology, OPC UA Pub/Sub communication settings, priority settings for each data communication, and so on.
  • the setting information related to new data transmission includes the type of data to be newly transmitted, the device to receive new data, the required assurance method, the communication cycle, and the like.
  • the network controller 300 calculates a stream ID assignment and a traffic schedule based on the current network setting information and setting information related to new data transmission (step S104). Then, the network controller 300 determines whether or not there is a section in which the priority can be changed in the data path of each stream (step S106). At this time, requirements such as QoS at the destination device are considered. That is, the network controller 300 executes a process of determining a section in the data path of frames directed to a plurality of devices for which the priority can be lowered according to a request from the destination device.
  • network controller 300 If there is a section for which the priority of the data path can be changed for any stream (YES in step S106), network controller 300 generates a priority definition corresponding to the section whose priority should be changed (step S108). ). Note that the priority definition is generated in association with the port of the switch 200 corresponding to the section whose priority should be changed.
  • the network controller 300 or the support device executes a process of preparing priority definitions that define stream priorities in association with the ports of the switches 200 that make up the network.
  • step S108 if there is no section in which the priority of the data path can be changed for any stream (NO in step S106), the process of step S108 is skipped.
  • the network controller 300 then provides configuration parameters including the calculated stream schedule and priority definition to each of the end devices 100 and switches 200 (step S108). Thus, the network controller 300 takes care of sending stream schedules and priority definitions to the switches.
  • Each of the end device 100 and the switch 200 starts up according to the setting parameters from the network controller 300.
  • FIG. 15 is a flow chart showing a processing procedure relating to frame transfer processing of the switch 200 of the control system 1 according to this embodiment. Each step shown in FIG. 15 is typically executed by the transmission/reception control circuit 212 of the switch 200 .
  • switch 200 when switch 200 receives a frame at any port (YES in step S200), it specifies a stream based on the header information of the frame (step S202). That is, the switch 200 performs processing to identify the stream of frames to be transferred.
  • the switch 200 refers to the priority definition, acquires the priority associated with the identified stream (step S204), and determines whether the priority of the target frame matches the acquired priority. (step S206).
  • step S206 If the priority of the target frame does not match the acquired priority (NO in step S206), the switch 200 changes the priority of the target frame to the acquired priority (step S208). If the priority of the target frame matches the acquired priority (YES in step S206), the process of step S208 is skipped.
  • the switch 200 identifies the port corresponding to the transfer destination of the target frame (step S210), and stores it in the queue 220 (FIG. 5) corresponding to the priority (traffic class) of the identified port (step S212). ). Then, the switch 200 transmits the frames stored in the queue 220 to the transfer destination according to a given traffic schedule (step S214).
  • the switch 200 refers to the priority definition, changes the priority of the frame, and then transfers the frame to the subsequent stage.
  • TSN Time Sensitive Networking
  • OPC UA OPC Unified Architecture
  • the step of preparing the priority definition includes a step of determining a section in a data path of frames directed to a plurality of devices, in which the priority can be lowered according to a request from the destination device (S106).
  • the communication method of configuration 1, comprising:
  • Configuration 5 Any one of configurations 1 to 4, wherein the step of preparing the priority definition includes the step of generating the priority definition (S108) based on a selected assurance method for a device newly receiving data. communication method described in .
  • the switch includes a plurality of queues (220) prepared for each priority and a plurality of gates (222) for sequentially outputting data stored in the plurality of queues according to a schedule A communication method according to any one of the preceding items.
  • the priority definition includes stream identification information (621, 631, 641), identification information (622, 632, 642) contained in frames, and priority levels (623, 633, 643) to be set in frames.
  • the communication method according to any one of configurations 1-7, comprising:
  • a communication system (1) including a network according to TSN (Time Sensitive Networking), a network controller (300); a switch (200); and one or more devices (100) connected to the network, at least part of the one or more devices being configured to perform data communication using a communication protocol conforming to OPC UA (OPC Unified Architecture).
  • TSN Time Sensitive Networking
  • OPC UA OPC Unified Architecture
  • the communication system comprises: Means (S100 to S106) for generating a priority definition that defines the priority of a stream in association with the ports of the switches that make up the network; means for identifying a stream of frames to be transferred (S202); means (S204 to S212) for transferring the frames (54, 73, 79) to a subsequent stage after changing the priority of the frames (54, 73, 79) by referring to the priority definition.
  • the switch is means for identifying a stream of frames to be transferred (S202); Means ( S204 to S212).
  • optimization of bandwidth allocation according to priority can be realized in a network combining TSN and OPC UA.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

TSNに従うネットワークにおける通信方法が提供される。ネットワークに接続されるデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成されている。通信方法は、ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を用意するステップと、転送されるフレームのストリームを特定するステップと、優先度定義を参照してフレームの優先度を変更した上で後段に転送するステップとを含む。

Description

通信方法、通信システムおよびスイッチ
 本技術は、TSN(Time Sensitive Networking)に従うネットワークに係る通信方法、通信システムおよびスイッチに関する。
 一般的な情報系ネットワークに採用されている標準的なネットワーク(例えば、イーサネット(登録商標))を産業分野のネットワークでも利用できるように拡張する取り組みが進行しつつある。より具体的には、イーサネット(登録商標)をベースにして、ネットワークが決定性のある挙動をするように改良されたIEEE(Institute of Electrical and Electronic Engineers) 802.1 TSN(Time Sensitive Networking)(以下、単に「TSN」とも称す。)が知られている。TSNによれば、例えば、イーサネット(登録商標)などの汎用的なハードウェアを用いて、リアルタイム通信をより容易に実現できる。
 また、デバイス間でデータ通信を行うための通信スタックとして、IEC62541として国際標準化されているOPC UA(OPC Unified Architecture)が注目されている。
 TSNとOPC UAとの組み合わせは、「OPC UA over TSN」などとも称される。例えば、特許文献1(欧州特許第03357218号明細書)は、IEEE 802.1に従うTSN規格に従うストリームによるネットワークにおける、OPC-UAプロトコルに従うクライエントデバイスおよびサーバデバイスとの間のデータ通信などを開示する。
欧州特許第03357218号明細書
 TSNにおいては、フレーム転送の経路に相当するストリームと、各ストリームの優先度であるトラフィッククラスと、利用可能な帯域とを考慮して、トラフィックがスケジューリングされる。一方、OPC UAにおいては、1対複数でのデータ通信も可能であるが、QoS(Quality of Service)については、基本的にはデータ通信単位で定義される。そのため、データを複数の送信先に送信する場合などには、当該複数の送信先に対してQoSが一律に設定される。そのため、送信先の要求以上に高い優先度でデータが送信されることもあり、効率的な帯域割り当てが実現できないおそれがあった。
 本技術は、TSNとOPC UAを組み合わせたネットワークにおいて、優先度に応じた帯域割り当ての最適化を実現するための仕組みを提供する。
 本技術のある実施の形態に従えば、TSNに従うネットワークにおける通信方法が提供される。ネットワークに接続されるデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成されている。通信方法は、ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を用意するステップと、転送されるフレームのストリームを特定するステップと、優先度定義を参照してフレームの優先度を変更した上で後段に転送するステップとを含む。
 この構成によれば、例えば、複数のデバイスに同一のデータを送信する場合などにおいて、特定のデバイスについては、データを受信する優先度を下げても問題ないときには、当該特定のデバイスのみが通過する区間のフレームについては、優先度を下げることができる。このような局所的な優先度の変更を利用することで、帯域割り当ての最適化を実現できる。
 優先度定義を用意するステップは、複数のデバイスに向けられたフレームのデータパスのうち、宛先のデバイスでの要求に応じて、優先度を下げることができる区間を決定するステップを含んでいてもよい。この構成によれば、宛先のデバイスでの要求に応じて、特定の区間について優先度を下げることができるので、より効率的に帯域を割り当てることができる。
 優先度定義を用意するステップは、複数のデバイス間でデータ通信が行われている状態に加えて、新たなデバイスとの間でもデータ通信を行うとの設定変更に応じて、実行されてもよい。この構成によれば、既存のデータ通信に関連するデバイスが増加した場合であっても、効率的な帯域割り当てを実現できる。
 通信方法は、データ通信を行う新たなデバイスの設定を受け付けるためのユーザインターフェイス画面を提供するステップをさらに含んでいてもよい。この構成によれば、専門知識の乏しいユーザであっても、ネットワークにおける効率的な帯域割り当てを実現できる。
 優先度定義を用意するステップは、新たにデータを受信するデバイスについて選択された保証方法に基づいて、優先度定義を生成するステップを含んでいてもよい。この構成によれば、新たにデータを受信するデバイスが要求する保証方法に応じて、効率的な帯域割り当てを実現できる。
 スイッチは、優先度毎に用意された複数のキューと、スケジュールに従って、複数のキューに格納されたデータを順次出力する複数のゲートとを含んでいてもよい。この構成によれば、スケジュールに沿って、各フレームを優先度に応じて転送できる。
 通信方法は、ネットワークコントローラが優先度定義およびスケジュールをスイッチへ送信するステップをさらに含んでいてもよい。この構成によれば、ネットワークコントローラがTSNおよびOPU UAの両方を含めたネットワーク管理を行うことができる。
 優先度定義は、ストリームの識別情報と、フレームに含まれる識別情報と、フレームに設定すべき優先度とを含んでいてもよい。この構成によれば、優先度定義を参照することで、優先度を変更すべきフレームを容易に特定できる。
 本技術の別の実施の形態に従えば、TSNに従うネットワークを含む通信システムが提供される。通信システムは、ネットワークコントローラと、スイッチと、ネットワークに接続される1または複数のデバイスとを含む。1または複数のデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成されている。通信システムは、ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を生成する手段と、転送されるフレームのストリームを特定する手段と、優先度定義を参照してフレームの優先度を変更した上で後段に転送する手段とを含む。
 本技術のさらに別の実施の形態に従えば、TSNに従うネットワークを構成するスイッチが提供される。ネットワークに接続される1または複数のデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成されている。スイッチは、転送されるフレームのストリームを特定する手段と、ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を参照して、フレームの優先度を変更した上で後段に転送する手段とを含む。
 本技術によれば、TSNとOPC UAを組み合わせたネットワークにおいて、優先度に応じた帯域割り当ての最適化を実現するための仕組みを提供できる。
本実施の形態に係る制御システムの全体構成の一例を示す模式図である。 本実施の形態に係る制御システムが採用する通信モデルの一例を示す図である。 本実施の形態に係る制御システムを構成するエンドデバイスのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するエンドデバイスのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するスイッチのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するネットワークコントローラのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するスイッチの1つのポートに関するより詳細な構成を示す模式図である。 本実施の形態に係る制御システムのネットワーク構成例を示す模式図である。 本実施の形態に係る制御システムにおけるフレームの優先度の変更例を示す模式図である。 本実施の形態に係る制御システムにおけるフレームの構造例を示す模式図である。 本実施の形態に係る制御システムの応用例を示す模式図である。 図11に示すネットワーク構成例におけるフレームの優先度の変更例を示す模式図である。 本実施の形態に係る制御システムにおける通信方法を実現するためのユーザインターフェイスの一例を示す模式図である。 本実施の形態に係る制御システムにおける設定パラメータの用意に係る処理手順を示すフローチャートである。 本実施の形態に係る制御システムのスイッチのフレーム転送処理に係る処理手順を示すフローチャートである。
 本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 <A.適用例>
 まず、本実施の形態に係る制御システム1の全体構成の一例について説明する。
 図1は、本実施の形態に係る制御システム1の全体構成の一例を示す模式図である。図1に示す制御システム1は、PLC(プログラマブルコントローラ)などの制御装置と、HMI(ヒューマンマシーンインターフェイス)とを含む通信システムの一例である。
 以下では、制御装置を「エンドデバイス100」と総称し、HMIを「エンドデバイス150」と総称する。但し、「エンドデバイス」は、制御装置およびHMIに限られず、任意の装置を含み得る。
 制御システム1は、スイッチ200と、ネットワークコントローラ300とをさらに含む。
 より具体的には、制御装置に相当するエンドデバイス100-1は、リンク20を介して、スイッチ200と接続されている。
 制御装置に相当するエンドデバイス100-2は、リンク22を介して、スイッチ200と接続されている。制御装置に相当するエンドデバイス100-3は、リンク24を介して、スイッチ200と接続されている。HMIに相当するエンドデバイス150は、リンク26を介して、スイッチ200と接続されている。
 スイッチ200には、リンク28を介して、ネットワークコントローラ300が接続されている。
 本実施の形態に係る制御システム1は、IEEE 802.1 TSNに従うネットワークを含んでいる。そのため、本実施の形態に係る制御システム1においては、TSNに従うネットワークにおける通信方法が実行される。また、制御システム1を構成するエンドデバイス100、エンドデバイス150、スイッチ200、およびネットワークコントローラ300は、図示しない時間同期主体によって、互いに時間同期している。なお、時間同期については、IEEE 802.1 TSNの下位規格であるIEEE 802.1 AS-2020や、高精度時間プロトコル(PTP:Precision Time Protocol)であるIEEE 1588などに従って実現される。
 ネットワークコントローラ300は、TSNにおけるフレーム転送を管理する主体であり、リソース割り当ておよび可用性を計算することで、トラフィック(ストリーム)がスケジューリングされる。典型的には、ネットワークコントローラ300は、IEEE 802.1 TSNの下位規格であるIEEE 802.1 Qccの規定に従って、トラフィックをスケジューリングする。
 本明細書において、特段の断りがない限り、単に「TSN」との用語は、IEEE 802.1 TSNに従うネットワークを総称する。
 なお、IEEE 802.1 TSNは、主として、データリンク層を規定するものであり、ネットワーク層およびトランスポート層については、例えば、TCP/IPあるいはUDP/IPなどのプロトコルを用いることができる。後述するように、IEEE 802.1 TSN規格は、いくつかの下位規格を含む。
 本明細書において、「デバイス」は、IEEE 802.1 TSNに従うネットワークに接続される任意のデバイスを包含する。「デバイス」は、典型的には、エンドデバイスと、スイッチと、ネットワークコントローラとを含み得る。
 本明細書において、「設定パラメータ」は、ネットワークを動作させるために必要な設定情報を包含する。「設定パラメータ」は、例えば、各種の設定値、トラフィックのスケジュールおよび優先度定義などを含む。典型的には、ネットワークコントローラ300がエンドデバイス100およびスイッチ200の各々に対して、設定パラメータを送信する。
 本明細書において、「優先度定義」は、ストリームとして特定されるフレームの各々に対して設定される優先度を規定した情報を包含する。「優先度定義」のデータ構造は、どのようなものであってもよい。「優先度定義」は、典型的には、スイッチのポート毎に設定される。「優先度定義」の詳細については後述する。
 図2は、本実施の形態に係る制御システム1が採用する通信モデルの一例を示す図である。図2には、OSI階層モデルに従って、制御システム1が採用する通信モデルを示す。
 図2を参照して、制御システム1は、任意の物理層の上に、IEEE 802.1 TSNに従って拡張されたイーサネット(登録商標)がデータリンク層として実装される。さらに、ネットワーク層としてIPプロトコル、および、トランスポート層としてTCPプロトコルあるいはUDPプロトコルが実装される。さらに、セッション層、プレゼンテーション層、アプリケーション層として、OPC UAが採用される。OPC UAは、情報モデルおよび通信モデルなどの複数階層から構成される。
 なお、スイッチには、OPC UAを実装する必要はなく、OPC UAは、主として、エンドデバイス100およびエンドデバイス150に実装される。そのため、TSNに接続されるデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成される。
 本実施の形態に係る制御システム1においては、OPC UAの状態に応じて、TSNにおけるフレーム転送の優先度などを動的に変更することで、OPC UAの要求を満たすようなデータ通信を実現する。
 再度図1を参照して、エンドデバイス100の各々は、TSNとは独立したフィールドバス30を有している。フィールドバス30には、1または複数のフィールドデバイス40が接続される。1または複数のフィールドデバイス40は、フィールド信号を取得する入力デバイス、および、エンドデバイス100からの指示に従ってフィールドに対して何らかのアクションを行う出力デバイスあるいはアクチュエータを含む。
 <B.ハードウェア構成例>
 次に、制御システム1に含まれる各装置のハードウェア構成の一例について説明する。
 (b1:エンドデバイス100(制御装置))
 図3は、本実施の形態に係る制御システム1を構成するエンドデバイス100のハードウェア構成例を示すブロック図である。図3を参照して、エンドデバイス100は、プロセッサ102と、主メモリ104と、ネットワークインターフェイス110と、ストレージ120と、内部バスインターフェイス130と、フィールドバスインターフェイス132と、メモリカードインターフェイス134とを含む。各コンポーネントは、バス138を介して電気的に接続されている。
 プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphical Processing Unit)などで構成され、ストレージ120に格納された各種プログラムを読み出して、主メモリ104に展開して実行することで、制御装置としての処理を実現する。
 ネットワークインターフェイス110は、TSNを介したフレーム転送を担当する。より具体的には、ネットワークインターフェイス110は、送受信制御回路112と、送信回路114と、受信回路116とを含む。送受信制御回路112は、ネットワークコントローラ300から予め与えられたトラフィックのスケジュールに従って、送信回路114および受信回路116を制御する。送信回路114は、送受信制御回路112からの指示に従って、TSN上にフレームを送信する。受信回路116は、TSNを介して入来したフレームを受信する。
 ストレージ120には、典型的には、制御装置としての機能を実現するためのシステムプログラム122と、制御装置が実行する制御ロジックを規定したユーザプログラム124とが格納される。
 内部バスインターフェイス130は、エンドデバイス100に搭載されるI/Oユニット140との間でデータをやり取りする。
 フィールドバスインターフェイス132は、フィールドバス30を介したフィールドデバイスとの間でデータをやり取りする。
 メモリカードインターフェイス134は、メモリカード136を着脱可能に構成されており、メモリカード136に対してデータを書込み、メモリカード136から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
 図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、エンドデバイス100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。このように、エンドデバイス100で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路(processing circuitry)で実現してもよい。
 (b2:エンドデバイス150(HMI))
 図4は、本実施の形態に係る制御システム1を構成するエンドデバイス150のハードウェア構成例を示すブロック図である。図4を参照して、エンドデバイス150は、プロセッサ152と、主メモリ154と、ネットワークインターフェイス160と、ストレージ170と、ディスプレイ180と、入力部182と、メモリカードインターフェイス184とを含む。各コンポーネントは、バス188を介して電気的に接続されている。
 プロセッサ152は、CPU、MPU、GPUなどで構成され、ストレージ170に格納された各種プログラムを読み出して、主メモリ104に展開して実行することで、HMIとしての処理を実現する。
 ネットワークインターフェイス160は、TSNを介したフレーム転送を担当する。より具体的には、ネットワークインターフェイス160は、送受信制御回路162と、送信回路164と、受信回路166とを含む。送受信制御回路112は、ネットワークコントローラ300から予め与えられたトラフィックのスケジュールに従って、送信回路164および受信回路166を制御する。送信回路164は、送受信制御回路162からの指示に従って、TSN上にフレームを送信する。受信回路166は、TSNを介して入来したフレームを受信する。
 ストレージ170には、典型的には、HMIとしての機能を実現するためのシステムプログラム172と、制御装置が実行する制御ロジックを規定したユーザプログラム174とが格納される。
 ディスプレイ180は、プロセッサ152による演算結果などを表示する。入力部182は、ユーザ操作を受け付けて、当該受け付けたユーザ操作の内容をプロセッサ152へ出力する。典型的には、ディスプレイ180および入力部182は、タッチパネルの形で実装されてもよい。
 メモリカードインターフェイス184は、メモリカード186を着脱可能に構成されており、メモリカード186に対してデータを書込み、メモリカード186から各種データ(ユーザプログラムやトレースデータなど)を読出すことが可能になっている。
 図4には、プロセッサ152がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASICやFPGAなど)を用いて実装してもよい。あるいは、エンドデバイス100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。このように、エンドデバイス100で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 (b3:スイッチ200)
 図5は、本実施の形態に係る制御システム1を構成するスイッチ200のハードウェア構成例を示すブロック図である。図5を参照して、スイッチ200は、送受信制御回路212と、送信回路214-1,214-2,214-3,214-4(以下、「送信回路214」と総称することもある。)と、受信回路216-1,216-2,216-3,216-4(以下、「受信回路216」と総称することもある。)とを含む。送信回路214と受信回路216との組で1つのポートを形成する。なお、図3には、4つのポートを有するスイッチ200を例示するが、ポート数については、特に制限はない。
 送受信制御回路212は、ネットワークコントローラ300から予め与えられたトラフィックのスケジュールに従って、送信回路114および受信回路116を制御する。より具体的には、送受信制御回路212は、転送エンジン218と、キュー220とを含む。
 送受信制御回路212は、プロセッサがファームウェアを実行することで実現してもよいし、ASICやFPGAなどのハードワイヤード回路を用いて実現してもよい。また、送受信制御回路212だけではなく、送信回路114および受信回路116を含む全体を単一のチップで実現してもよい。このように、スイッチ200で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 (b4:ネットワークコントローラ300)
 図6は、本実施の形態に係る制御システム1を構成するネットワークコントローラ300のハードウェア構成例を示すブロック図である。図6を参照して、ネットワークコントローラ300は、プロセッサ302と、主メモリ304と、ネットワークインターフェイス310と、ストレージ320とを含む。各コンポーネントは、バス338を介して電気的に接続されている。
 プロセッサ302は、CPU、MPU、GPUなどで構成され、ストレージ320に格納された各種プログラムを読み出して、主メモリ304に展開して実行することで、ネットワークコントローラとしての処理を実現する。
 ネットワークインターフェイス310は、TSNを介したフレーム転送を担当する。より具体的には、ネットワークインターフェイス310は、送受信制御回路312と、送信回路314と、受信回路316とを含む。
 ストレージ320には、典型的には、基本的な処理を実現するためのOS322と、後述するような処理を実現するためのネットワーク設定プログラム324とが格納される。
 図6には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASICやFPGAを用いて実装してもよい。このように、ネットワークコントローラ300で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 <C.TSN規格に従うトラフィックのスケジューリングの実現>
 TSNにおいては、IEEE 802.1 Qccに従って、データパス毎にストリームIDが割り当てられ(ストリームが予約され)、IEEE 802.1 Qbvに従って、トラフィックがスケジューリングされる。スケジューリングに従ってトラフィックを制御するために、以下に示すようなキューおよびゲートの構成が採用される。
 図7は、本実施の形態に係る制御システム1を構成するスイッチ200の1つのポートに関するより詳細な構成を示す模式図である。図7を参照して、各ポートは、送信回路214と受信回路216との組からなる。送信回路214と受信回路216との間には、転送エンジン218およびキュー220が設けられる。
 より具体的には、転送エンジン218は、振分回路224と、タイミング制御回路226とを含む。また、キュー220は、トラフィッククラスの各値に対応付けられた複数のキュー220-1~220-Mを含む。
 振分回路224は、受信回路216を介して受信したフレームのヘッダ情報などに従って、当該フレームをキュー220-1~220-Mのうちいずれかに格納し、あるいは、別のポートの振分回路224に転送する。また、振分回路224は、別のポートの振分回路224から受信したフレームについても同様の判断および処理を行う。
 振分回路224は、自ポートの送信回路214から送信すべきフレームを受信すると、当該フレームを当該フレームのトラフィッククラスに対応付けられたキュー220へ格納する。このような振分回路224での処理によって、キュー220-1~220-Mには、トラフィッククラス別に分類されたフレームが順次格納されることになる。例えば、トラフィッククラスが8である場合には、8個のキュー220が設けられる。
 振分回路224は、フレームに設定されている優先度(priority)を変更するための優先度変更部230を有している。優先度変更部230は、予め定められた設定(後述する優先度定義)に従って、入来したフレームのうち対象のフレームについて優先度(priority)を変更し、後段に転送する。フレームの優先度の変更については、後に詳細する。
 キュー220-1~220-Mの出力側には、ゲート222-1~222-Mがそれぞれ設けられている。ゲート222-1~222-M(以下、「ゲート222」と総称することもある。)の各々は、タイミング制御回路226からの指令に従って開閉する。ゲート222が開くと、対応付けられているキュー220に格納されているフレームが送信回路214から送信される。タイミング制御回路226から複数のゲート222に対して同時に開指令が与えられることはない。すなわち、タイミング制御回路226は、トラフィックのスケジュール228に従って、ゲート222を順次開閉する。これによって、スケジューリングに沿ってトラフィックを制御できる。
 このように、スイッチ200は、トラフィッククラス(優先度)毎に用意された複数のキュー220と、トラフィックのスケジュールに従って、複数のキュー220に格納されたデータを順次出力する複数のゲート222とを含む。
 なお、エンドデバイス100のポート(ネットワークインターフェイス110)、エンドデバイス150のポート(ネットワークインターフェイス160)、および、ネットワークコントローラ300のポート(ネットワークインターフェイス310)についても、図7と同様の構成を有している。
 <D.OPU UA>
 次に、OPU UAに関していくつかの説明を行う。OPC UAにおいてデバイス間のデータ通信を実現するための一形態として、Publish/Subscriber通信(以下、「Pub/Sub通信」とも略称する。)が規定されている。Pub/Sub通信においては、受信側がSubscriberとなり、送信側がデータをPublishすることになる。
 Pub/Sub通信においては、1対1でデータ通信を行う形態を採用してもよいし、1対Nでデータ通信を行う形態を採用してもよい。データ通信の周期および対象のデータなどについても、ユーザが任意に設定することになる。
 <E.概要>
 次に、本実施の形態に係る制御システム1における通信方法の概要について説明する。
 図8は、本実施の形態に係る制御システム1のネットワーク構成例を示す模式図である。図8を参照して、エンドデバイス100-1からエンドデバイス100-2,100-3,100-4に対して、任意のデータを送信する場合を想定する。図8に示すデータ通信の例において、エンドデバイス100-1は、エンドデバイス100-2,100-3,100-4を宛先とするフレームをマルチキャストで送信する。スイッチ200は、エンドデバイス100-1から受信したフレームをエンドデバイス100-2,100-3,100-4にそれぞれ接続されたポートから送信する。スイッチ200は、受信したフレームをコピーして3つのポートからそれぞれ送信する。
 例えば、制御装置であるエンドデバイス100-2およびエンドデバイス100-3は、エンドデバイス100-1が送信するデータを同期保証または遅延保証された状態で受信する必要があるが、HMIであるエンドデバイス100-4は、エンドデバイス100-1が送信するデータを同期保証または遅延保証された状態で受信する必要性は低いとする。すなわち、エンドデバイス100-1とエンドデバイス100-2,100-3との間のデータ通信の優先度は高いが、エンドデバイス100-1とエンドデバイス100-4との間のデータ通信の優先度は低いとする。
 図8に示すように、宛先のエンドデバイス100毎に優先度が異なっている場合であっても、エンドデバイス100-1からエンドデバイス100-2,100-3,100-4に同一のデータを送信するときには、エンドデバイス100-1からエンドデバイス100-2,100-3,100-4にそれぞれユニキャストでフレームを送信するのではなく、マルチキャストでフレームを送信する方が、エンドデバイス100-1とスイッチ200との間のトラフィックを低減できる場合がある。そのため、宛先のうち最も高い優先度に対応したフレームでデータ通信が行われる場合がある。
 しかしながら、スイッチ200とエンドデバイス100-4とのリンクにおいては、宛先をエンドデバイス100-4とするフレームのみが転送されるので、優先度を下げても問題はない。むしろ、エンドデバイス100-4が他のエンドデバイス100とデータ通信するための帯域を確保する必要がある場合も想定される。
 そこで、本実施の形態に係る制御システム1は、フレームの優先度を、転送途中で、状況に応じて任意に変更できるように構成される。
 図9は、本実施の形態に係る制御システム1におけるフレームの優先度の変更例を示す模式図である。図9を参照して、スイッチ200のポート201でエンドデバイス100-1からのフレーム51が受信されたとする。フレーム51の優先度は「7」に設定されているとする。スイッチ200の内部で、フレーム51は、コピーされて、ポート202,203,204のそれぞれに転送される。
 より具体的には、フレーム51のコピーであるフレーム52は、ポート202に転送されるとともに、ポート202からエンドデバイス100-2に転送される。フレーム51のコピーであるフレーム53は、ポート203に転送されるとともに、ポート203からエンドデバイス100-3に転送される。フレーム51のコピーであるフレーム54は、ポート204に転送されるとともに、ポート204からエンドデバイス100-4に転送される。
 このとき、ポート204に転送されるフレーム54の優先度は、ポート201で受信されたフレーム51の「7」から「3」に変更される。すなわち、エンドデバイス100-4へ送信されるフレーム54の優先度は、他のエンドデバイス100-2,100-3へ送信されるフレームの優先度より低い値に変更される。このような優先度の変更によって、スイッチ200とエンドデバイス100-4との間の帯域を確保できる。
 スイッチ200は、各ポートについて優先度定義62,63,64を有している。ポート202に対応付けられた優先度定義62は、ストリームID621に対応付けて、VLAN ID622と、優先度623とを含む。スイッチ200は、優先度定義62を参照して、ストリームID621および/またはVLAN ID622に基づいて、優先度を変更すべきフレームを特定するとともに、優先度を変更すべきとして特定されたフレームの優先度を指定された値に変更する。
 同様に、ポート203に対応付けられた優先度定義63は、ストリームID631に対応付けて、VLAN ID632と、優先度633とを含む。また、ポート204に対応付けられた優先度定義64は、ストリームID641に対応付けて、VLAN ID642と、優先度643とを含む。
 このように、優先度定義62,63,64は、典型的には、ストリームの識別情報であるストリームIDと、フレームに含まれる識別情報であるVLAN IDと、フレームに設定すべき優先度である優先度(priority)とを含む。
 図9に示すように、ポート204に対応付けられた優先度定義64において、同一のストリームIDおよびVLAN IDに対応付けられる優先度は、他の優先度定義とは異なる「3」に設定されている。優先度定義64によって、エンドデバイス100-4に転送されるフレーム54は、優先度が「4」に変更される。
 図10は、本実施の形態に係る制御システム1におけるフレームの構造例を示す模式図である。図10を参照して、フレームは、宛先MACアドレスフィールド81と、送信元MACアドレスフィールド82と、TPIDフィールド83と、Priorityフィールド84と、CFフィールド85と、VLAN IDフィールド86と、EtherTypeフィールド87と、Dataフィールド88と、FCSフィールド89とを含む。
 宛先MACアドレスフィールド81には、フレームの転送先を示すMACアドレスが格納される。送信元MACアドレスフィールド82には、フレームの転送元を示すMACアドレスが格納される。TPIDフィールド83には、IEEE 802.1Q VLAN-Tagが続くことを示す値が格納される。Priorityフィールド84には、フレームの優先度(priority)が格納される。CFフィールド85には、MACアドレスが標準フォーマットに従っているか否かを示す値が格納される。VLAN IDフィールド86には、所属しているVLAN(Virtual Local Area Network)の識別情報が格納される。EtherTypeフィールド87には、Dataフィールド88に格納されたデータの上位レイヤプロトコルを示す識別情報が格納される。Dataフィールド88には、送信される任意のデータが格納される。FCSフィールド89には、誤り検出のためのCRC値が格納される。
 上述したように、スイッチ200が優先度を変更する場合には、フレーム内のPriorityフィールド84の値を書き換える。
 なお、TSNにおいては、データパス毎にストリームIDが割り当てられている。フレームに含まれる1または複数のフィールドの値に基づいて、ストリームIDが判断される。
 例えば、宛先MACアドレスフィールド81の値とVLAN IDフィールド86の値との組み合わせで、いずれのストリームIDであるかを判断できる。あるいは、送信元MACアドレスフィールド82の値とVLAN IDフィールド86の値との組み合わせで、いずれのストリームIDであるかを判断できる。さらに、宛先IPアドレス、送信元IPアドレス、転送先ポート番号、転送元ポート番号などを参照して、ストリームIDが判断されてもよい。
 <F.応用例>
 次に、上述したようなスイッチ200における優先度の変更の応用例について説明する。
 図11は、本実施の形態に係る制御システム1の応用例を示す模式図である。図11を参照して、制御装置であるエンドデバイス100-1,100-2,100-3と、HMIであるエンドデバイス100-4とが、2個のスイッチ200-1,200-2を介して接続されているネットワーク構成例を想定する。
 初期段階では、エンドデバイス100-1からエンドデバイス100-2に対して、Pub/Sub通信によりデータが周期的に送信されているとする。また、エンドデバイス100-1からエンドデバイス100-3に対して、Pub/Sub通信によりデータが周期的に送信されているとする。これらのデータは、制御装置の処理に用いられるデータであり、対応するフレームには高い優先度が設定されている。
 エンドデバイス100-1がエンドデバイス100-2およびエンドデバイス100-3にそれぞれ送信するデータをHMIであるエンドデバイス100-4でも参照する必要が生じた場合を想定する。すなわち、エンドデバイス100-1がPublishするデータに対して、エンドデバイス100-4がSubscriberとなり場合を想定する。
 まず、エンドデバイス100-1から送信されるフレームは、ユニキャストからマルチキャストに変更される。すなわち、エンドデバイス100-1からエンドデバイス100-2に転送されるフレームは、エンドデバイス100-4へも転送されるように変更される。同様に、エンドデバイス100-1からエンドデバイス100-3に転送されるフレームは、エンドデバイス100-4へも転送されるように変更される。
 ネットワークコントローラ300(図1)は、エンドデバイス100-1から送信される変更後のフレームにデータパスに応じて、ストリームIDの割り当てを新たに設計するとともに、トラフィックのスケジュールを再計算する。このとき、受信側のQoSのレベル(例えば、同期保証、遅延保証、保証無など)が指定される。ネットワークコントローラ300は、指定されたQoSのレベルに応じて、優先度定義を生成する。
 最終的に、ネットワークコントローラ300は、ネットワークに接続されているエンドデバイス100およびスイッチ200に対して、トラフィックのスケジュールおよび優先度定義などを含む設定パラメータを設定する。
 このように、複数のエンドデバイス100間でデータ通信が行われている状態に加えて、新たなエンドデバイス100との間でもデータ通信を行うとの設定変更に応じて、優先度定義を含む設定パラメータが用意されてもよい。
 図12は、図11に示すネットワーク構成例におけるフレームの優先度の変更例を示す模式図である。図12を参照して、スイッチ200-1のポート201でエンドデバイス100-1からのフレーム71が受信されたとする。フレーム71は、優先度が「7」に設定されており、エンドデバイス100-2およびエンドデバイス100-4へ転送される。
 より具体的には、スイッチ200-1において、フレーム71のコピーであるフレーム72は、ポート202に転送されるとともに、ポート202からエンドデバイス100-2に転送される。このとき、ポート202についての優先度定義65に従って、フレーム72の優先度は「7」のまま維持される。
 一方、フレーム71の別のコピーであるフレーム73は、ポート203に転送されるとともに、ポート203からスイッチ200-2およびエンドデバイス100-4に転送される。このとき、ポート203についての優先度定義66に従って、フレーム73の優先度は「7」から「3」に変更される。
 また、スイッチ200-1のポート201でエンドデバイス100-1からのフレーム76が受信されたとする。フレーム76は、優先度が「7」に設定されており、エンドデバイス100-3およびエンドデバイス100-4へ転送される。スイッチ200-1において、フレーム76のコピーであるフレーム77は、ポート202に転送されるとともに、ポート202からスイッチ200-2に転送される。このとき、ポート202についての優先度定義65に従って、フレーム76の優先度は「7」のまま維持される。
 スイッチ200-2は、スイッチ200-1からのフレーム73,74を処理する。
 より具体的には、スイッチ200-2は、エンドデバイス100-4に転送すべきフレーム73をポート205で受信すると、フレーム73のコピーであるフレーム74をポート207からエンドデバイス100-4に送信する。このとき、ポート207についての優先度定義68に従って、フレーム74の優先度は、変更後の「3」のまま維持される。
 一方、スイッチ200-2は、エンドデバイス100-3に転送すべきフレーム77をポート205で受信すると、フレーム77のコピーであるフレーム78をポート206からエンドデバイス100-3に送信する。このとき、ポート207についての優先度定義67に従って、フレーム78の優先度は「7」のまま維持される。
 並行して、スイッチ200-2は、フレーム77のコピーであるフレーム79をポート207からエンドデバイス100-4に送信する。このとき、ポート207についての優先度定義67に従って、フレーム79の優先度は「7」から「3」に変更される。
 また、スイッチ200-2は、エンドデバイス100-4に転送すべきフレーム73をポート205で受信すると、フレーム73のコピーであるフレーム74をポート207からエンドデバイス100-4に送信する。このとき、ポート207についての優先度定義67に従って、フレーム78の優先度は、変更後の「3」のまま維持される。
 以上のような転送処理によって、エンドデバイス100-1からエンドデバイス100-2,100-3へ転送されるフレームについては、高い優先度が設定される一方で、エンドデバイス100-1からエンドデバイス100-4へ転送されるフレームについては、優先度が下げられる。
 <G.ユーザインターフェイス例>
 次に、本実施の形態に係る制御システム1における通信方法を実現するためのユーザインターフェイスの一例について説明する。
 図13は、本実施の形態に係る制御システム1における通信方法を実現するためのユーザインターフェイスの一例を示す模式図である。図13に示すユーザインターフェイスは、ネットワークコントローラ300が提供してもよいし、ネットワークコントローラ300に接続されるサポート装置が提供してもよい。
 まず、ユーザは、図13(A)に示すユーザインターフェイス画面400などを介して、新たにデータを送信するデバイスを選択する。すなわち、新たなデータ通信の対象となるデバイスを選択あるいは追加する。例えば、ユーザインターフェイス画面400には、現在のネットワーク構成が示されており、ユーザは、任意の方法でネットワークのデバイスを選択する。
 次に、ユーザは、図13(B)に示すユーザインターフェイス画面402などを介して、対象のデータを選択する。さらに、ユーザは、図13(C)に示すユーザインターフェイス画面404などを介して、データの受信側(送信先)での優先度を選択する。すなわち、ユーザは、新たなにデータを受信する側での保証方法(同期保証、遅延保証、保証無し)を選択する。なお、保証方法に加えて、通信プロトコル(OPC UAのPub/Sub通信やセキュリティ通信など)や、通信周期などを選択してもよい。
 以上のようなユーザ設定を受けて、ネットワークコントローラ300あるいはサポート装置は、必要なトラフィックのスケジュールを計算するとともに、計算したトラフィックのスケジュール、各種の設定値、および優先度定義などを含む転送パラメータを用意する。
 このように、データ通信を行う新たなエンドデバイス100の設定を受け付けるためのユーザインターフェイス画面をユーザに提供するようにしてもよい。また、優先度定義を用意する処理においては、新たにデータを受信するエンドデバイス100について選択された保証方法(同期保証、遅延保証、保証無し)に基づいて、優先度定義が生成されてもよい。
 そして、ネットワークコントローラ300あるいはサポート装置は、転送パラメータを対象のエンドデバイス100およびスイッチ200へ提供する。なお、サポート装置で設定パラメータを用意した場合には、設定パラメータはネットワークコントローラ300へ一旦提供され、ネットワークコントローラ300から対象のエンドデバイス100およびスイッチ200へ提供されてもよい。
 エンドデバイス100およびスイッチ200は、ネットワークコントローラ300あるいはサポート装置から提供された設定パラメータに従って起動し、指定された設定パラメータに従って、データ通信およびフレーム転送を行う。
 設定パラメータを用意する過程においては、ストリームの各々に設定される優先度に加えて、データの受信側での保証方法の要求も考慮して、データパスおよび帯域が計算される。さらに、優先度を下げることのできる区間については、当該区間の前段に配置されたスイッチにて、フレームの優先度を変更できるように、優先度定義が計算される。
 なお、図13に示すようなユーザインターフェイスに限られず、任意の方法でネットワーク内の各エンドデバイス100の要求を設定するようにしてもよい。さらに、例えば、起動時などにおいて、各エンドデバイス100が自デバイスで受信するデータについての保証方法をネットワークコントローラ300に通知し、ネットワークコントローラ300が必要な設定パラメータを計算するようにしてもよい。
 <H.処理手順>
 次に、本実施の形態に係る制御システム1における処理手順について説明する。
 (h1:設定パラメータの用意)
 図14は、本実施の形態に係る制御システム1における設定パラメータの用意に係る処理手順を示すフローチャートである。図14に示す各ステップは、典型的には、ネットワークコントローラ300のプロセッサ302がネットワーク設定プログラム324を実行することで実現される。但し、ネットワークコントローラ300に接続されるサポート装置がネットワーク設定プログラムを実行することで実現されてもよい。
 図14を参照して、ネットワークコントローラ300は、現在のネットワークの設定情報を取得する(ステップS100)とともに、新たなデータ送信に係る設定情報を取得する(ステップS102)。
 現在のネットワークの設定情報は、ネットワークトポロジ、OPC UAのPub/Sub通信の設定、各データ通信の優先度の設定などを含む。新たなデータ送信に係る設定情報は、新たに送信するデータの種類、新たにデータを受信するデバイス、要求される保証方法、通信周期などを含む。
 そして、ネットワークコントローラ300は、現在のネットワークの設定情報および新たなデータ送信に係る設定情報に基づいて、ストリームIDの割り当ておよびトラフィックのスケジュールを計算する(ステップS104)。そして、ネットワークコントローラ300は、各ストリームのデータパスについて、優先度を変更できる区間が存在するか否かを判断する(ステップS106)。このとき、宛先のデバイスでのQoSなどの要求が考慮される。すなわち、ネットワークコントローラ300は、複数のデバイスに向けられたフレームのデータパスのうち、宛先のデバイスでの要求に応じて、優先度を下げることができる区間を決定する処理を実行する。
 いずれかのストリームについて、データパスの優先度を変更できる区間が存在すれば(ステップS106においてYES)、ネットワークコントローラ300は、優先度を変更すべき区間に対応する優先度定義を生成する(ステップS108)。なお、優先度定義は、優先度を変更すべき区間に対応するスイッチ200のポートに対応付けて生成される。
 このように、ネットワークコントローラ300またはサポート装置は、ネットワークを構成するスイッチ200のポートに対応付けて、ストリームの優先度を規定した優先度定義を用意する処理を実行する。
 一方、いずれかのストリームについてもデータパスの優先度を変更できる区間が存在しなければ(ステップS106においてNO)、ステップS108の処理はスキップされる。
 そして、ネットワークコントローラ300は、計算されたストリームのスケジュールおよび優先度定義を含む設定パラメータをエンドデバイス100およびスイッチ200の各々に提供する(ステップS108)。このように、ネットワークコントローラ300は、ストリームスケジュールおよび優先度定義をスイッチへ送信する処理を実行する。
 エンドデバイス100およびスイッチ200の各々は、ネットワークコントローラ300からの設定パラメータに従って起動する。
 以上のような処理手順によって、本実施の形態に係る通信方法は実現される。
 (h2:フレーム転送処理)
 図15は、本実施の形態に係る制御システム1のスイッチ200のフレーム転送処理に係る処理手順を示すフローチャートである。図15に示す各ステップは、典型的には、スイッチ200の送受信制御回路212によって実行される。図15を参照して、スイッチ200は、いずれかのポートでフレームを受信すると(ステップS200においてYES)、フレームのヘッダ情報に基づいてストリームを特定する(ステップS202)。すなわち、スイッチ200は、転送されるフレームのストリームを特定する処理を実行する。
 スイッチ200は、優先度定義を参照して、特定したストリームに対応付けられた優先度を取得し(ステップS204)、対象のフレームの優先度が取得した優先度と一致しているか否かを判断する(ステップS206)。
 対象のフレームの優先度が取得した優先度と一致していなければ(ステップS206においてNO)、スイッチ200は、対象のフレームの優先度を取得した優先度に変更する(ステップS208)。対象のフレームの優先度が取得した優先度と一致していれば(ステップS206においてYES)、ステップS208の処理はスキップされる。
 続いて、スイッチ200は、対象のフレームの転送先に対応するポートを特定し(ステップS210)、特定したポートの優先度(トラフィッククラス)に対応するキュー220(図5)に格納する(ステップS212)。そして、スイッチ200は、予め与えられたトラフィックのスケジュールに従って、キュー220に格納したフレームを転送先に送信する(ステップS214)。
 このように、スイッチ200は、優先度定義を参照してフレームの優先度を変更した上で後段に転送する処理を実行する。
 スイッチ200においては、上述したようなフレームの転送処理が繰返される。
 <I.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
 [構成1]
 TSN(Time Sensitive Networking)に従うネットワーク(1)における通信方法であって、前記ネットワークに接続されるデバイス(100)の少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、
 前記ネットワークを構成するスイッチ(200)のポートに対応付けて、ストリームの優先度を規定した優先度定義を用意するステップ(S100~S106)と、
 転送されるフレームのストリームを特定するステップ(S202)と、
 前記優先度定義を参照してフレーム(54,73,79)の優先度を変更した上で後段に転送するステップ(S204~S212)とを備える、通信方法。
 [構成2]
 前記優先度定義を用意するステップは、複数のデバイスに向けられたフレームのデータパスのうち、宛先のデバイスでの要求に応じて、優先度を下げることができる区間を決定するステップ(S106)を含む、構成1に記載の通信方法。
 [構成3]
 前記優先度定義を用意するステップは、複数のデバイス間でデータ通信が行われている状態に加えて、新たなデバイスとの間でもデータ通信を行うとの設定変更に応じて、実行される、構成1または2に記載の通信方法。
 [構成4]
 データ通信を行う新たなデバイスの設定を受け付けるためのユーザインターフェイス画面(400,402,404)を提供するステップをさらに備える、構成3に記載の通信方法。
 [構成5]
 前記優先度定義を用意するステップは、新たにデータを受信するデバイスについて選択された保証方法に基づいて、前記優先度定義を生成するステップ(S108)を含む、構成1~4のいずれか1項に記載の通信方法。
 [構成6]
 前記スイッチは、優先度毎に用意された複数のキュー(220)と、スケジュールに従って、前記複数のキューに格納されたデータを順次出力する複数のゲート(222)とを含む、構成1~5のいずれか1項に記載の通信方法。
 [構成7]
 ネットワークコントローラが前記優先度定義および前記スケジュールをスイッチへ送信するステップ(S108)をさらに備える、構成6に記載の通信方法。
 [構成8]
 前記優先度定義は、ストリームの識別情報(621,631,641)と、フレームに含まれる識別情報(622,632,642)と、フレームに設定すべき優先度(623,633,643)とを含む、構成1~7のいずれか1項に記載の通信方法。
 [構成9]
 TSN(Time Sensitive Networking)に従うネットワークを含む通信システム(1)であって、
 ネットワークコントローラ(300)と、
 スイッチ(200)と、
 前記ネットワークに接続される1または複数のデバイス(100)とを備え、前記1または複数のデバイスの少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、前記通信システムは、
 前記ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を生成する手段(S100~S106)と、
 転送されるフレームのストリームを特定する手段(S202)と、
 前記優先度定義を参照してフレーム(54,73,79)の優先度を変更した上で後段に転送する手段(S204~S212)とを備える、通信システム。
 [構成10]
 TSN(Time Sensitive Networking)に従うネットワーク(1)を構成するスイッチ(200)であって、前記ネットワークに接続される1または複数のデバイス(100)の少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、
 前記スイッチは、
 転送されるフレームのストリームを特定する手段(S202)と、
 前記ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を参照して、フレーム(54,73,79)の優先度を変更した上で後段に転送する手段(S204~S212)とを備える、スイッチ。
 <J.利点>
 本実施の形態に係る制御システムによれば、TSNとOPC UAを組み合わせたネットワークにおいて、優先度に応じた帯域割り当ての最適化を実現できる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、20,22,24,26,28 リンク、30 フィールドバス、40 フィールドデバイス、51,52,53,54,71,72,73,74,76,77,78,79 フレーム、62,63,64,65,66,67,68 優先度定義、81 宛先MACアドレスフィールド、82 送信元MACアドレスフィールド、83 TPIDフィールド、84 Priorityフィールド、85 CFフィールド、86 VLAN IDフィールド、87 EtherTypeフィールド、88 Dataフィールド、89 FCSフィールド、100,150 エンドデバイス、102,152,302 プロセッサ、104,154,304 主メモリ、110,160,310 ネットワークインターフェイス、112,162,212,312 送受信制御回路、114,164,214,314 送信回路、116,166,216,316 受信回路、120,170,320 ストレージ、122,172 システムプログラム、124,174 ユーザプログラム、130 内部バスインターフェイス、132 フィールドバスインターフェイス、134,184 メモリカードインターフェイス、136,186 メモリカード、138,188,338 バス、140 I/Oユニット、180 ディスプレイ、182 入力部、200 スイッチ、201,202,203,204,205,206,207 ポート、218 転送エンジン、220 キュー、222 ゲート、224 振分回路、226 タイミング制御回路、228 スケジュール、230 優先度変更部、300 ネットワークコントローラ、322 OS、324 ネットワーク設定プログラム、400,402,404 ユーザインターフェイス画面、621,631,641 ストリームID、623,633,643 優先度。

Claims (10)

  1.  TSN(Time Sensitive Networking)に従うネットワークにおける通信方法であって、前記ネットワークに接続されるデバイスの少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、
     前記ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を用意するステップと、
     転送されるフレームのストリームを特定するステップと、
     前記優先度定義を参照してフレームの優先度を変更した上で後段に転送するステップとを備える、通信方法。
  2.  前記優先度定義を用意するステップは、複数のデバイスに向けられたフレームのデータパスのうち、宛先のデバイスでの要求に応じて、優先度を下げることができる区間を決定するステップを含む、請求項1に記載の通信方法。
  3.  前記優先度定義を用意するステップは、複数のデバイス間でデータ通信が行われている状態に加えて、新たなデバイスとの間でもデータ通信を行うとの設定変更に応じて、実行される、請求項1または2に記載の通信方法。
  4.  データ通信を行う新たなデバイスの設定を受け付けるためのユーザインターフェイス画面を提供するステップをさらに備える、請求項3に記載の通信方法。
  5.  前記優先度定義を用意するステップは、新たにデータを受信するデバイスについて選択された保証方法に基づいて、前記優先度定義を生成するステップを含む、請求項1~4のいずれか1項に記載の通信方法。
  6.  前記スイッチは、優先度毎に用意された複数のキューと、スケジュールに従って、前記複数のキューに格納されたデータを順次出力する複数のゲートとを含む、請求項1~5のいずれか1項に記載の通信方法。
  7.  ネットワークコントローラが前記優先度定義および前記スケジュールをスイッチへ送信するステップをさらに備える、請求項6に記載の通信方法。
  8.  前記優先度定義は、ストリームの識別情報と、フレームに含まれる識別情報と、フレームに設定すべき優先度とを含む、請求項1~7のいずれか1項に記載の通信方法。
  9.  TSN(Time Sensitive Networking)に従うネットワークを含む通信システムであって、
     ネットワークコントローラと、
     スイッチと、
     前記ネットワークに接続される1または複数のデバイスとを備え、前記1または複数のデバイスの少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、前記通信システムは、
     前記ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を生成する手段と、
     転送されるフレームのストリームを特定する手段と、
     前記優先度定義を参照してフレームの優先度を変更した上で後段に転送する手段とを備える、通信システム。
  10.  TSN(Time Sensitive Networking)に従うネットワークを構成するスイッチであって、前記ネットワークに接続される1または複数のデバイスの少なくとも一部は、OPC UA(OPC Unified Architecture)に従う通信プロトコルでデータ通信を行うように構成されており、
     前記スイッチは、
     転送されるフレームのストリームを特定する手段と、
     前記ネットワークを構成するスイッチのポートに対応付けて、ストリームの優先度を規定した優先度定義を参照して、フレームの優先度を変更した上で後段に転送する手段とを備える、スイッチ。
PCT/JP2021/034676 2021-03-01 2021-09-22 通信方法、通信システムおよびスイッチ WO2022185587A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021031573A JP2022132866A (ja) 2021-03-01 2021-03-01 通信方法、通信システムおよびスイッチ
JP2021-031573 2021-03-01

Publications (1)

Publication Number Publication Date
WO2022185587A1 true WO2022185587A1 (ja) 2022-09-09

Family

ID=83155265

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034676 WO2022185587A1 (ja) 2021-03-01 2021-09-22 通信方法、通信システムおよびスイッチ

Country Status (2)

Country Link
JP (1) JP2022132866A (ja)
WO (1) WO2022185587A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006186888A (ja) * 2004-12-28 2006-07-13 Nippon Telegr & Teleph Corp <Ntt> ユーザ受信優先度対応データ配信システム
JP2020136753A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 通信制御装置及び通信制御方法並びに通信システム
CN111970212A (zh) * 2020-08-27 2020-11-20 重庆邮电大学 一种基于tsn网络和opc ua架构的确定性通信系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006186888A (ja) * 2004-12-28 2006-07-13 Nippon Telegr & Teleph Corp <Ntt> ユーザ受信優先度対応データ配信システム
JP2020136753A (ja) * 2019-02-14 2020-08-31 株式会社日立製作所 通信制御装置及び通信制御方法並びに通信システム
CN111970212A (zh) * 2020-08-27 2020-11-20 重庆邮电大学 一种基于tsn网络和opc ua架构的确定性通信系统

Also Published As

Publication number Publication date
JP2022132866A (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
CN112073388B (zh) 一种工业控制系统的时间敏感异构网络系统及管理方法
CN111684776B (zh) 用于网络中的数据通信的方法、控制方法和通信系统
CN108777633B (zh) 支持数据调度的意图型工业sdn北向接口系统及交互方法
JP2012518928A (ja) パケット交換通信網におけるスケジューリング方法、エンドノード及びコアネットワークスイッチ
US11316654B2 (en) Communication device and method for operating a communication system for transmitting time critical data
KR20190084315A (ko) 네트워크 장치 및 네트워크 장치의 전송 선택 방법
US10819535B2 (en) Method for data packet transmission and/or reception
Amari et al. AeroRing: Avionics full duplex ethernet ring with high availability and QoS management
US20230090803A1 (en) Network Infrastructure Device, Communication Terminal and Method for Synchronizing Control Applications via a Communication Network for Transferring Time-Critical Data
WO2022185587A1 (ja) 通信方法、通信システムおよびスイッチ
KR100772189B1 (ko) 근거리 통신 네트워크에서 가상 동기화를 이용한 단대단프레임 전달 방법과 그 네트워크 구성 장치
WO2022185585A1 (ja) 通信方法、通信システムおよび通信装置
US20230353422A1 (en) Network Switch, Communication System and Method for Operating a Communication System for Transmitting Time-Critical Data
Cavalieri Modelling and analysing congestion in KNXnet/IP
US11522762B2 (en) Coordination device and method for providing control applications via a communication network for transmitting time-critical data
CN114884811A (zh) 一种时间敏感网络集中用户配置实现方法
WO2022185586A1 (ja) 通信方法、通信システムおよびネットワークコントローラ
CN107835109B (zh) 一种测试软件定义的分组传送网网络的方法及系统
CN112753206A (zh) 工业通信网络内数据传输的方法和通信设备
US20230283560A1 (en) Converged avionics data network
CN117596200B (zh) 一种时间敏感网络路由调度方法、电子设备、介质
WO2022190430A1 (ja) 制御システム、設定方法およびネットワークコントローラ
Steiner et al. IEEE 802.1 Audio/Video Bridging and Time-Sensitive Networking
WO2022190431A1 (ja) 制御システムおよびデータ送信方法
US11973667B2 (en) Data transmission processing networking method and apparatus in a host supporting quality assurance of hyper-precision communication services

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21929150

Country of ref document: EP

Kind code of ref document: A1