WO2022190431A1 - 制御システムおよびデータ送信方法 - Google Patents

制御システムおよびデータ送信方法 Download PDF

Info

Publication number
WO2022190431A1
WO2022190431A1 PCT/JP2021/034684 JP2021034684W WO2022190431A1 WO 2022190431 A1 WO2022190431 A1 WO 2022190431A1 JP 2021034684 W JP2021034684 W JP 2021034684W WO 2022190431 A1 WO2022190431 A1 WO 2022190431A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control system
network
plc
network controller
Prior art date
Application number
PCT/JP2021/034684
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 WO2022190431A1 publication Critical patent/WO2022190431A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Definitions

  • This technology relates to a control system and a data transmission method including a network that conforms to TSN (Time Sensitive Networking).
  • TSN Time Sensitive Networking
  • Ethernet registered trademark
  • IEEE Institute of Electrical and Electronic Engineers 802.1 TSN (hereinafter simply referred to as "TSN"
  • TSN IEEE 802.1 TSN
  • real-time communication can be realized more easily using general-purpose hardware such as Ethernet (registered trademark).
  • Patent Document 1 European Patent No. 03357218 discloses an industrial network using a network conforming to the TSN standard.
  • This technology provides a mechanism that facilitates data tracing in a control system that includes one or more control devices.
  • a control system includes a network conforming to TSN, one or more control devices connected to the network for controlling controlled objects, and a network controller connected to the network.
  • the control device includes a transmission unit that periodically transmits data registered in accordance with a user's operation using Publish/Subscriber communication of OPC UA (OPC Unified Architecture).
  • OPC UA OPC Unified Architecture
  • the data can be collected within a predetermined time, so data tracing can be easily performed.
  • the control device may include means for publishing, in the address space, internal variables referenced in control operations for controlling the controlled object in order to register data in response to requests from the outside. According to this configuration, even internal variables that are not open to the public can be targeted for data tracing.
  • the control device may stop the periodic transmission of data using Publish/Subscriber communication in response to an external request. According to this configuration, it is possible to periodically transmit data only during a period in which data tracing is required.
  • the control system may further include an information processing device that is connected to the network and that collects data periodically transmitted by the control device.
  • the network controller may calculate the schedule in such a way that the arrival time of the stream to the information processing device is guaranteed. According to this configuration, the data can be transmitted within a predetermined time to the information processing device that collects the data.
  • the network controller may set a new stream if there is no stream containing newly registered data. According to this configuration, a stream required for data tracing can be set.
  • the network controller may set the switch on the route so that the existing stream is also transferred to the information processing device. According to this configuration, if an existing stream can be used, there is no need to set a new stream, so an increase in traffic can be suppressed.
  • the control system may further include means for providing a user interface screen prompting change of registered data when the network cannot calculate a schedule of streams containing new data. According to this configuration, when there is not enough communication band left for data tracing, the operation of registering data within the available communication band can be facilitated.
  • the control device may include a processing unit that processes data registration instructions from the outside. According to this configuration, arbitrary data can be registered in response to an instruction from an external device such as an information processing device.
  • a control comprising a network conforming to TSN, one or more control devices connected to the network for controlling controlled objects, and a network controller connected to the network
  • a method for transmitting data in a system comprises a step in which the control device periodically transmits data registered according to a user operation using Publish/Subscriber communication of OPC UA; calculating a schedule such that arrival times of streams containing such data are guaranteed.
  • 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 a hardware configuration example of a PLC that configures 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. FIG. 2 is a block diagram showing a hardware configuration example of an information processing device 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; 3 is a schematic diagram outlining a data trace provided by the control system according to the present embodiment;
  • FIG. 1 is a schematic diagram showing a configuration example of OPC UA client-server communication;
  • FIG. 4 is a schematic diagram showing an example configuration of Pub/Sub communication of OPC UA;
  • 4 is a flow chart showing a processing procedure for data tracing in the control system according to the embodiment;
  • FIG. 3 is a schematic diagram showing an example of a functional configuration for realizing data tracing in the PLC of the control system according to the present embodiment;
  • FIG. 5 is a schematic diagram showing an example of a processing procedure for data trace setting in the PLC of the control system according to the present embodiment
  • FIG. 5 is a schematic diagram showing an example of a user interface screen for data trace setting in the PLC of the control system according to the present embodiment
  • FIG. 5 is a schematic diagram showing an example of a processing procedure during data tracing in the PLC of the control system according to the present embodiment
  • FIG. 7 is a schematic diagram showing an example of a processing procedure for ending data tracing in the PLC of the control system according to the present embodiment
  • FIG. 4 is a diagram for explaining a stream of Pub/Sub communication in the control system according to the present embodiment
  • FIG. FIG. 4 is a diagram for explaining stream scheduling for Pub/Sub communication in the control system according to the present embodiment
  • FIG. 9 is a schematic diagram showing another example of a user interface screen for data trace setting in the PLC of the control system according to the present embodiment;
  • the control system 1 employs a network conforming to 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.
  • the IEEE 802.1 TSN standard includes several sub-standards.
  • FIG. 1 is a schematic diagram showing an example of the overall configuration of a control system 1 according to this embodiment.
  • the control system 1 includes PLCs (Programmable Logic Controllers) 100-1, 100-2 (also collectively referred to as "PLC 100"), switches 200-1, 200-2 (“switches 200”), a network controller 300, and an information processing device 400. All of these devices are connected to the TSN.
  • 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 PLC 100-1 is connected via the link 20 to the switch 200-1.
  • PLC 100-2 is connected via link 24 to switch 200-2.
  • a link 22 is connected between the switch 200-1 and the switch 200-2.
  • Network controller 300 is connected via link 26 to switch 200-1.
  • the information processing device 400 is connected to the switch 200-2 via the link 28.
  • the one or more PLCs 100 that make up the control system 1 are typical examples of control devices for controlling controlled objects.
  • Each of the PLCs 100-1 and 100-2 has a field bus 30.
  • FIG. One or more field devices 40 are connected to the fieldbus 30 .
  • One or more field devices 40 include input devices that collect field signals and output devices or actuators that perform some action on the field according to instructions from PLC 100 .
  • the term “device” includes any device connected to a network conforming to IEEE 802.1 TSN.
  • devices may include the PLC 100 and the switch 200.
  • FIG. 1 the control system 1 shown in FIG. 1, “devices” may include the PLC 100 and the switch 200.
  • stream schedule means a definition for realizing scheduling according to IEEE 802.1 Qbv, and is also referred to as “Qbv schedule” below.
  • Qbv schedule The process of determining the "Qbv schedule” by calculation is also called “scheduling".
  • IO or "IO data” is a generic term for input data and output data used in control calculations for controlling controlled objects.
  • the network controller 300 is the entity that manages frame transfer in the TSN, and schedules streams (traffic) by calculating resource allocation and availability. Typically, the network controller 300 schedules streams according to IEEE 802.1 Qcc, which is a lower standard of IEEE 802.1 TSN.
  • 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 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 OPC Unified Architecture
  • OPC UA consists of multiple layers such as an information model and a communication model.
  • OPC UA is mainly implemented in the PLC 100. 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.
  • a plurality of PLCs 100 perform distributed synchronization control.
  • the control system 1 provides a method of easily realizing data tracing for a plurality of PLCs 100 that perform distributed synchronization control. That is, time synchronization is performed among the plurality of PLCs 100, and data designated by each PLC 100 is transmitted according to a predetermined schedule. The data from each PLC 100 enables data tracing.
  • FIG. 3 is a block diagram showing a hardware configuration example of the PLC 100 configuring the control system 1 according to this embodiment.
  • PLC 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 PLC 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 the Qbv schedule given in advance from 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 the functions of the PLC and a user program 124 that defines control logic to be executed by the PLC.
  • the internal bus interface 130 exchanges data with the IO unit 140 mounted on the PLC 100 .
  • the fieldbus interface 132 exchanges data with field devices via the fieldbus.
  • 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 programs, sampled data, etc.) can be read from the memory card 136. It's becoming
  • FIG. 3 shows a configuration example in which necessary functions are provided by the processor 102 executing a program.
  • the main part of the PLC 100 may be realized using hardware conforming to a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • the processing performed and functions provided by PLC 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 switch 200 configuring 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 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. 4 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 Qbv schedule given in advance from 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. 5 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 control device.
  • 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. 5 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.
  • FIG. 6 is a block diagram showing a hardware configuration example of the information processing device 400 that configures the control system 1 according to this embodiment.
  • information processing apparatus 400 includes processor 402, main memory 404, optical drive 406, secondary storage device 408, USB controller 412, network interface 414, input unit 416, display It includes a unit 418 and a storage 420 . These components are connected via bus 438 .
  • the processor 402 is composed of a CPU, MPU, GPU, etc., and reads various programs stored in the storage 420, develops them in the main memory 404, and executes them, thereby realizing processing as a support device.
  • the storage 420 typically stores an OS 422 for implementing basic processing and a development program 424 capable of processing such as data tracing.
  • Storage 420 may store logging data 426 collected by data tracing as described below.
  • the information processing apparatus 400 has an optical drive 406, and from a recording medium 407 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that stores a computer-readable program non-transitory. is read and installed in the storage 420 or the like.
  • a recording medium 407 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • DVD Digital Versatile Disc
  • Various programs executed by the information processing device 400 may be installed via the computer-readable recording medium 407, or may be installed by downloading from a server device on the network. Also, the functions provided by the information processing apparatus 400 according to this embodiment may be realized by using some of the modules provided by the OS 422 .
  • the USB controller 412 controls data exchange with the network controller 300 via a USB connection.
  • Network interface 414 controls the exchange of data with other devices over any network.
  • the input unit 416 is composed of a keyboard, mouse, etc., and receives user operations.
  • a display unit 418 includes a display, various indicators, a printer, and the like, and outputs processing results from the processor 402 and the like.
  • FIG. 6 shows a configuration example in which necessary functions are provided by the processor 402 executing a program.
  • the processing executed by the information processing device 400 and the functions provided by the information processing device 400 may be implemented by processing circuits including processors, ASICs, FPGAs, and the like.
  • ⁇ C Realization of Stream Scheduling According to TSN>
  • a stream ID is assigned (a stream is reserved) for each stream (data path) according to IEEE 802.1 Qcc, and streams are scheduled according to IEEE 802.1 Qbv.
  • a queue and gate configuration as shown below is 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 sent from the transmission circuit 214 of its own port, it stores the frame in the queue 220 corresponding to 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.
  • 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 When the gate 222 is opened, the frame stored in the associated queue 220 is sent 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, the timing control circuit 226 sequentially opens and closes the gate 222 according to the Qbv schedule 228 . This allows you to control the stream.
  • the port of PLC 100 (network interface 110) and the port of network controller 300 (network interface 310) also have the same configuration as in FIG.
  • each of the PLC 100 and the switch 200 opens and closes the gate 222 of the queue 220 provided according to the traffic class (priority) according to IEEE 802.1 Qbv at pre-calculated timing. This makes it possible to guarantee the required arrival times (Deadline, Latency, etc.) for each stream (data path through which frames are transferred).
  • a PLC when controlling a production line, etc., a PLC is selected according to the scale of control calculation (number of IOs, complexity of processing, etc.), and a user program to be executed by the selected PLC is created. be done.
  • the scale of control calculation number of IOs, complexity of processing, etc.
  • distributed synchronous control that combines multiple PLCs of the same type, it is possible to build a highly flexible production line.
  • distributed synchronous control a user can create a user program without being aware of the PLC that executes each process.
  • a user program created by a user is divided into arbitrary units and assigned to each PLC.
  • each PLC can execute the user program as a whole by executing the part in charge of the user program.
  • Data trace is a function of sampling specified data among data that can be referred to by the PLC. Normally, the sampled variables (data) are stored in the information processing device 400 and can be saved and output as files. Data tracing can basically be implemented without a program.
  • Data traces typically include trigger traces and continuous traces.
  • Trigger trace is used, for example, to confirm changes in processing when an arbitrary value changes, or to investigate the cause of unintended changes in values. More specifically, the trigger trace collects data before and after the trigger condition occurs when a preset trigger condition is met. Data collection ends when the data of the predetermined number of samplings are collected. The information processing device 400 or the PLC 100 may collect data in response to the fulfillment of the trigger condition. When the PLC 100 collects data, the data collected from the PLC 100 can also be transmitted to the information processing device 400 .
  • a continuous trace collects arbitrary data continuously without setting trigger conditions.
  • the collected data may be temporarily buffered in the PLC 100 and then transmitted to the information processing device 400, or the data periodically transmitted from the PLC 100 may be collected by the information processing device 400. .
  • control system 1 utilizes OPC UA Publish/Subscriber communication (hereinafter also referred to as "Pub/Sub communication”) to transmit data necessary for data tracing, Reduce communication band and PLC load.
  • Pub/Sub communication Publish/Subscriber communication
  • processing can be made more efficient even when the same data needs to be collected by a plurality of devices.
  • a TSN that is time-synchronized with high accuracy is used, and by guaranteeing the arrival time of the Pub/Sub communication stream related to the data trace, information processing Data collected in the device 400 can be displayed in real time.
  • the information processing device 400 collects data periodically transmitted by one or more PLCs 100 .
  • FIG. 8 is a schematic diagram outlining the data trace provided by the control system 1 according to the present embodiment.
  • information processing device 400 is connected to PLC 100, and data 51 and 52 (variable A and variable B) to be traced, which are internal data of PLC 100, ).
  • the information processing device 400 displays temporal changes in the collected data 51 and 52 .
  • data 51 and 52 are transmitted to information processing device 400 from a plurality of PLCs 100-1 and 100-2, respectively. At this time, the data 51 and 52 are transmitted in a stream whose arrival time is guaranteed. Data trace results can be displayed.
  • FIG. 9 is a schematic diagram showing a configuration example of OPC UA client-server communication.
  • FIG. 9A shows a configuration example of normal client-server communication
  • FIG. 9B shows a configuration example of a subscription function of client-server communication.
  • client-server communication is a 1:1 communication service between a client and a server.
  • a client requests a server to read/write a node or execute a method service each time. Since it is used when needed (on demand), there is no need to secure a predetermined communication band or server resource. On the other hand, since a predetermined communication band and server resources are not secured, the arrival time cannot be guaranteed, and it is not suitable for data tracing as described above.
  • the subscription function of client-server communication is still a communication service performed on a 1:1 basis between the client and the server. It is a process of registering a node to be used and reading the value (data) of the registered node from the server at a predetermined cycle.
  • the subscription function as described above may be adopted for the data communication of the data trace, but it is preferable to adopt the Pub/Sub communication described below.
  • FIG. 10 is a schematic diagram showing a configuration example of Pub/Sub communication of OPC UA.
  • FIG. 10A shows a configuration example of the broker format
  • FIG. 10B shows a configuration example of the brokerless format.
  • OPC UA Pub/Sub communication is a technology that enables m:n communication.
  • the broker format is suitable for high-level communication and cloud communication, and the brokerless format is suitable for real-time communication.
  • information modeled according to OPC UA is transmitted via the broker by Pub/Sub communication using MQTT/AMQP, which is a protocol that supports clouds as standard. sent and received.
  • information modeled according to OPC UA is transmitted and received by multicast communication.
  • OPC UA secure real-time communication is also possible, and since modeled information can be accessed online, network settings can be made easily.
  • data tracing is basically realized using OPC UA brokerless Pub/Sub communication.
  • FIG. 11 is a flowchart showing a processing procedure for data tracing in the control system 1 according to this embodiment.
  • FIG. 11 shows the processing procedure of the data transmission method in the control system 1. As shown in FIG.
  • target PLC 100 publishes the internal variables included in the OPC UA address space (step S102). ).
  • the information processing device 400 displays to the user the address space of the OPC UA that the PLC 100 opens to the public, receives the selection of variables to be data traced from the user (step S104), and instructs the selected variables to the PLC 100 ( step S106).
  • the PLC 100 registers the variables selected from the information processing device 400 in the OPC UA address space (step S108), and sets them as periodic transmission targets by Pub/Sub communication (step S110).
  • the network controller 300 performs scheduling such that the data including the variable newly set as the object of periodic transmission by Pub/Sub communication reaches the information processing device 400 from the PLC 100 within a predetermined time. (step S112). That is, when new data is registered as a data trace target, the network controller 300 calculates the Qbv schedule so as to guarantee the arrival time of the stream containing the new data.
  • step S114 If the scheduling fails (NO in step S114), the network controller 300 notifies the information processing device 400 of the circumstances and reasons for the scheduling failure (step S116).
  • the information processing apparatus 400 displays to the user the situation and reason for the scheduling failure (step S118), and accepts changes to the selected variables (step S120). Then, the processing from step S106 is executed.
  • the network controller 300 transmits the Qbv schedule to each device (PLC 100 and switch 200) that make up the control system 1 (step S122). Each device starts transferring frames according to the Qbv schedule from the network controller 300 .
  • the information processing device 400 When the information processing device 400 receives an instruction to start data tracing from the user (YES in step S124), it instructs the PLC 100 to start data tracing (step S126). PLC 100 periodically transmits data including the selected variable by Pub/Sub communication according to an instruction from information processing device 400 (step S128). That is, the PLC 100 periodically transmits the data registered according to the user's operation using Pub/Sub communication. On the other hand, the information processing device 400 collects data periodically transmitted from the PLC 100 (step S130).
  • the information processing device 400 When the information processing device 400 receives an instruction to end the data trace from the user (YES in step S132), it instructs the PLC 100 to end the data trace (step S134). PLC 100 stops periodic transmission of data including the selected variable through Pub/Sub communication according to an instruction from information processing device 400 (step S136). The PLC 100 deletes the selected variable from the OPC UA address space as necessary (step S138).
  • FIG. 12 is a schematic diagram showing an example of a functional configuration for realizing data tracing in the PLC 100 of the control system 1 according to this embodiment.
  • the PLC 100 includes a PLC engine 150, a memory space 152, an OPC UA server processing unit 160, an OPC UAPub/Sub processing unit 162, and It includes a data trace manager 164 and an address space 170 .
  • the PLC engine 150 cyclically executes control operations defined by the user program 124 .
  • the results of control operations executed by PLC engine 150 are reflected in memory space 152 .
  • the memory space 152 holds input data collected from the field, output data including command values calculated by control calculation, internal data used in the process of control calculation, system data used for system management of the PLC 100, and the like.
  • data is managed in the form of variables, including public variables 154 that allow access from the outside and internal variables 156 that are used only for processing in the PLC engine 150. That is, the data held by the memory space 152 is typically classified into either a public variable 154 or an internal variable 156 according to the set public attribute. Note that there may be data that is always treated as the public variable 154 or the internal variable 156 .
  • the OPC UA server processing unit 160 is in charge of command processing (method execution, etc.) according to OPC UA. More specifically, when the OPC UA server processing unit 160 receives a request to execute command processing from the outside, it executes the requested command processing and responds with the execution result. Regarding data tracing, the OPC UA server processing unit 160 processes instructions for registering variables (data) from the outside.
  • the OPC UAP Pub/Sub processing unit 162 is in charge of OPC UA Pub/Sub communication. More specifically, the OPC UAPub/Sub processing unit 162 transmits data registered as a publish target at a predetermined cycle, and receives data registered as a subscribe target. Regarding data tracing, the OPC UAP Pub/Sub processing unit 162 periodically transmits data registered according to user operations using Pub/Sub communication.
  • the data trace management unit 164 is in charge of data trace processing. More specifically, when the data trace management unit 164 receives a data trace start request, it refers to the OPC UA model definition 166 to reconfigure the address space 170 and transmit (Publish) the designated or registered data. to start. Further, upon receiving a data trace stop request, the data trace management unit 164 stops the transmission (Publish) of the specified or registered data. Data trace manager 164 reconfigures address space 170 as necessary.
  • the address space 170 manages objects defined according to the OPC UA information model. More specifically, address space 170 includes method objects 172 , public variable objects 174 , internal variable objects 176 and Pub/Sub configuration information objects 178 .
  • the method object 172 includes objects related to instructions (methods) according to the PC UA.
  • Public variable objects 174 contain objects for referencing public variables 154 in memory space 152 .
  • Internal variable object 176 includes objects for referencing internal variables 156 in memory space 152 .
  • the Pub/Sub setting information object 178 includes objects for referring to methods and properties related to Pub/Sub communication.
  • FIG. 13 is a schematic diagram showing an example of a processing procedure for data trace setting in the PLC 100 of the control system 1 according to the present embodiment.
  • the user operates information processing apparatus 400 to instruct data trace setting ((1) setting instruction).
  • the OPC UA server processing unit 160 of the PLC 100 sends a data trace setting instruction to the data trace management unit 164 ((2) setting instruction).
  • the data trace management unit 164 reconfigures the address space 170 including the internal variable object 176 by referring to the OPC UA model definition 166 according to the data trace setting instructions ((3) reconfiguration). Then, the contents of the public variable 154 and the internal variable 156 in the memory space 152 are temporarily reflected in the internal variable object 176 in the address space 170 ((4) temporary registration). Then, the OPC UA server processing unit 160 responds to the information processing device 400 with the content of the address space 170 that temporarily reflects the content of the memory space 152 ((5) address space response).
  • the PLC 100 stores the internal variables 156 referenced in the control operation for controlling the controlled object in order to register the variables (data) to be data traced in the address space. 170 can be published.
  • the user operates the information processing device 400 to select a variable to be data traced from among the variables (objects) included in the address space 170 ((6) variable selection). Then, the OPC UA server processing unit 160 of the PLC 100 transmits the target variable selection to the data trace management unit 164 ((7) variable selection).
  • the data trace management unit 164 reconfigures the address space 170 including the internal variable object 176 by referring to the OPC UA model definition 166 according to the selection of the target variable ((8) reconfiguration). Then, among the internal variables 156 in the memory space 152, the variables selected as data trace targets are registered in the internal variable object 176 ((9) registration).
  • FIG. 14 is a schematic diagram showing an example of a user interface screen 450 for setting data trace in PLC 100 of control system 1 according to the present embodiment.
  • user interface screen 450 includes variable list column 452 , variable setting column 458 , and data trace display column 460 .
  • variable list column 452 public variables 454 and internal variables 456 are displayed corresponding to objects included in the address space 170 of the PLC 100.
  • the user operates the user interface screen 450 to set the variable to be targeted for data tracing in the variable setting column 458 .
  • variable setting field 458 For setting variables in the variable setting field 458, operations such as drag-and-drop using a mouse and direct selection using a keyboard can be used.
  • the data trace display column 460 displays the data trace results. Data trace results may be displayed in real time.
  • variables to be published or subscribed in OPC UA Pub/Sub communication are selected from public variables, but internal variables of the PLC 100 are often subject to data tracing, so as described above , the contents of public variables 154 and internal variables 156 in memory space 152 are preferably reflected in address space 170 and displayed on user interface screen 450 .
  • variables (objects) selected by the user are registered in the address space 170 and can be collected through Pub/Sub communication.
  • FIG. 15 is a schematic diagram showing an example of a processing procedure during data tracing in the PLC 100 of the control system 1 according to this embodiment.
  • PLC engine 150 of PLC 100 cyclically executes control operations defined by user program 124 .
  • the result of the control operation executed by the PLC engine 150 is reflected in the memory space 152 ((1) control operation).
  • the contents of the memory space 152 are reflected in the address space 170 ((2) refresh).
  • the address space 170 Of the data held in the memory space 152, only data corresponding to objects registered in the address space 170 are reflected.
  • the OPC UAP Pub/Sub processing unit 162 refers to the memory space 152, constructs a data set (variables to be traced) including the registered variables, and transmits it via Pub/Sub communication ((3 ) Pub/Sub communication).
  • the information processing apparatus 400 sequentially stores data transmitted by Pub/Sub communication.
  • FIG. 16 is a schematic diagram showing an example of a processing procedure for ending data tracing in PLC 100 of control system 1 according to the present embodiment.
  • the user operates the information processing device 400 to instruct the end of the data trace (see FIG. 16).
  • (1) End instruction the OPC UA server processing unit 160 of the PLC 100 transmits a data trace end instruction to the data trace management unit 164 ((2) end instruction).
  • the data trace management unit 164 stops the process of reflecting the contents of the memory space 152 in the address space 170, and also stops Pub/Sub communication by the OPC UAPub/Sub processing unit 162 ((3) Publish stop). Then, the OPC UA server processing unit 160 provides the current registered content to the information processing device 400 ((4) registered content).
  • the PLC 100 stops periodic transmission of data related to data trace using Pub/Sub communication in response to an external request.
  • the user operates the information processing device 400 to delete the registered variable for data tracing ((5) Delete instruction). Then, the OPC UA server processing unit 160 of the PLC 100 transmits the variable to be deleted to the data trace management unit 164 ((6) Delete variable).
  • the data trace management unit 164 refers to the OPC UA model definition 166 to reconfigure the address space 170 including the internal variable object 176 ((7) reconfiguration). Objects corresponding to the variables to be deleted are deleted in the reconfigured address space 170 .
  • Data tracing is stopped by the above procedure.
  • the processing related to data tracing has been described by focusing on one PLC 100, but when collecting data from a plurality of PLCs 100, the above-described processing is performed on each PLC 100 in parallel. may be executed.
  • FIG. 17 is a diagram for explaining a Pub/Sub communication stream in the control system 1 according to the present embodiment.
  • the control system 1 evaluates whether or not variables (data) targeted for data tracing are being transmitted by existing Pub/Sub communication. If the variable to be data traced is transmitted by existing Pub/Sub communication, the stream of the Pub/Sub communication is changed so that it is also transferred to the information processing device 400 .
  • FIG. 17(A) shows an example in which the existing Pub/Sub communication stream exchanged between the PLC 100-1 and the PLC 100-2 includes variables to be data traced.
  • the switch 200-2 transfers the frame corresponding to the target stream not only to the PLC 100-2 but also to the information processing device 400.
  • the switch 200 or the like is set so as to transfer the data exchange stream to the information processing device 400 as well. change. That is, when a stream containing newly registered data exists, the network controller 300 sets the switch 200 on the path so as to transfer the existing stream to the information processing device 400 as well.
  • FIG. 17(B) shows an example in which the existing Pub/Sub communication stream exchanged between the PLC 100-1 and the PLC 100-2 does not include variables to be data traced.
  • a stream from PLC 100-1 to information processing device 400 and a stream from PLC 100-2 to information processing device 400 are added.
  • Target data is stored in each added stream.
  • the QoS of TSN is used to allocate a predetermined communication band to streams related to Pub/Sub communication, thereby guaranteeing the arrival time.
  • the variables to be data traced can be monitored in real time.
  • FIG. 18 is a diagram for explaining the scheduling of Pub/Sub communication streams in the control system 1 according to the present embodiment. Referring to FIG. 18, in control system 1, QoS is achieved by scheduling streams for Pub/Sub communication.
  • the network controller 300 calculates the data path and communication band necessary for data tracing based on the data tracing target set in the information processing device 400 ((1) Required resource calculation). Then, the network controller 300 collects information such as available communication bands and delay times between adjacent nodes from the devices constituting the control system 1 ((2) current resource collection). The time stamp of each device may be used to calculate the delay time between adjacent nodes.
  • the network controller 300 secures the data path and communication band necessary for data tracing, and calculates the Qbv schedule ((3) scheduling).
  • the communication band is secured according to RAP in the Distributed Model defined in IEEE 802.1 Qcc, which is a lower standard of IEEE 802.1 TSN.
  • the stream is also transferred to the information processing apparatus 400.
  • the setting of switch 200 may be changed.
  • the network controller 300 distributes the calculated Qbv schedule to each device ((4) Qbv schedule).
  • Each device upon receiving the Qbv schedule from the network controller 300, updates the existing Qbv schedule at arbitrary timing. Once all devices have updated their Qbv schedules, communication services are resumed, including Pub/Sub communication for data tracing.
  • the network controller 300 calculates the Qbv schedule so as to guarantee the arrival time of the stream containing the new data. As described above, when the information processing device 400 collects data, the network controller 300 implements the Qbv schedule so that the arrival time of the stream containing the data to be traced to the information processing device 400 is guaranteed. to calculate
  • the user may be notified to that effect and encouraged to change the variables targeted for data tracing.
  • FIG. 19 is a schematic diagram showing another example of the user interface screen 450 for data trace setting in the PLC 100 of the control system 1 according to the present embodiment.
  • message 462 is displayed on user interface screen 450.
  • the message 462 may include an effect (for example, display delay) on the data trace in the selected variable, and may include a message prompting deletion of the data trace target variable.
  • the user refers to the message 462 and adjusts the number of variables to be traced. Adjustments by the user may be repeated until the communication bandwidth necessary for data tracing can be secured.
  • control system 1 information processing device 400
  • the control system 1 provides a user interface screen that prompts the user to change the registered variables when the network controller 300 cannot calculate the Qbv schedule of a stream that includes new variables (data). do.
  • each process may be executed by any device.
  • the process of providing a user interface for setting variables related to data tracing may be performed by the PLC 100 or the network controller 300, or may be performed by any other device.
  • the processing of collecting data related to data tracing may be handled by a computing resource on the cloud via the information processing device 400 or a gateway.
  • the data trace function provided by the control system 1 according to the present embodiment may be realized using any hardware.
  • a network (20, 22, 24) according to TSN (Time Sensitive Networking); one or more control devices (100) for controlling controlled objects, connected to the network; a network controller (300) connected to the network;
  • the control device includes a transmission unit (162) that periodically transmits data registered according to a user operation using Publish/Subscriber communication of OPC UA (OPC Unified Architecture), A control system, wherein when new data is registered, the network controller calculates a schedule to ensure arrival times of streams containing the new data.
  • OPC UA OPC Unified Architecture
  • control device In response to an external request, the control device has means (160, 162, 164, 170).
  • Configuration 4 further comprising an information processing device (400) connected to the network and collecting data periodically transmitted by the control device; 4.
  • the control system according to any one of the configurations 1-3, wherein the network controller calculates the schedule such that arrival time of the stream to the information processing device is guaranteed.
  • Control device includes a processing unit (160) that processes a data registration instruction from the outside.
  • a data transmission method in a control system (1) comprising: a step (S128) in which the control device periodically transmits data registered according to a user operation using Publish/Subscriber communication of OPC UA (OPC Unified Architecture); and the network controller, when new data is registered, calculates a schedule (S112) so as to guarantee the arrival time of the stream containing the new data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Programmable Controllers (AREA)
  • Small-Scale Networks (AREA)

Abstract

制御システムは、TSNに従うネットワークと、ネットワークに接続された、制御対象を制御するための1または複数の制御装置と、ネットワークに接続されたネットワークコントローラとを含む。制御装置は、ユーザ操作に従って登録されたデータをOPC UAのPublish/Subscriber通信を用いて周期的に送信する送信部を含み、ネットワークコントローラは、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算する。

Description

制御システムおよびデータ送信方法
 本技術は、TSN(Time Sensitive Networking)に従うネットワークを含む制御システムおよびデータ送信方法に関する。
 一般的な情報系ネットワークに採用されている標準的なネットワーク(例えば、イーサネット(登録商標))を産業分野のネットワークでも利用できるように拡張する取り組みが進行しつつある。より具体的には、イーサネット(登録商標)をベースにして、ネットワークが決定性のある挙動をするように改良されたIEEE(Institute of Electrical and Electronic Engineers) 802.1 TSN(以下、単に「TSN」とも称す。)が知られている。TSNによれば、例えば、イーサネット(登録商標)などの汎用的なハードウェアを用いて、リアルタイム通信をより容易に実現できる。
 例えば、特許文献1(欧州特許第03357218号明細書)は、TSN規格に従うネットワークを利用した産業用ネットワークなどを開示する。
欧州特許第03357218号明細書
 上述したようなTSNに従うネットワークを採用することで、複数の制御装置が分散して配置されることになる。このように複数の制御装置が分散した配置された制御システムにおいては、デバッグなどのために制御装置からデータを収集することが難しくなる。
 本技術は、1または複数の制御装置を含む制御システムにおいて、データトレースを容易化する仕組みを提供する。
 本技術のある実施の形態に従う制御システムは、TSNに従うネットワークと、ネットワークに接続された、制御対象を制御するための1または複数の制御装置と、ネットワークに接続されたネットワークコントローラとを含む。制御装置は、ユーザ操作に従って登録されたデータをOPC UA(OPC Unified Architecture)のPublish/Subscriber通信を用いて周期的に送信する送信部を含む。ネットワークコントローラは、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算する。
 この構成によれば、対象となるデータを登録すれば、当該データを所定時間内に収集できるので、データトレースを容易に行うことができる。
 制御装置は、外部からの要求に応じて、データの登録のために、制御対象を制御するための制御演算において参照される内部変数をアドレス空間で公開するための手段を含んでいてもよい。この構成によれば、公開されていない内部変数であっても、データトレースの対象とすることができる。
 制御装置は、外部からの要求に応じて、Publish/Subscriber通信を用いたデータの周期的な送信を停止するようにしてもよい。この構成によれば、データトレースが必要な期間のみデータを周期的に送信させることができる。
 制御システムは、ネットワークに接続された、制御装置が周期的に送信するデータを収集する情報処理装置をさらに含んでいてもよい。ネットワークコントローラは、ストリームの情報処理装置への到達時間が保証されるようにスケジュールを計算するようにしてもよい。この構成によれば、データを収集する情報処理装置に対して、所定時間内にデータを送信することができる。
 ネットワークコントローラは、新たに登録されたデータを含むストリームが存在しなければ、新たなストリームを設定するようにしてもよい。この構成によれば、データトレースに必要なストリームを設定できる。
 ネットワークコントローラは、新たに登録されたデータを含むストリームが存在する場合には、当該存在するストリームを情報処理装置へも転送するように、経路上のスイッチを設定するようにしてもよい。この構成によれば、既存のストリームを利用できる場合には、新たなストリームを設定する必要がないので、トラフィックの増加を抑制できる。
 制御システムは、ネットワークが新たなデータを含むストリームのスケジュールを計算できないときに、登録されたデータの変更を促すユーザインターフェイス画面を提供する手段をさらに含んでいてもよい。この構成によれば、データトレースのために十分に通信帯域が残っていないような場合には、利用できる通信帯域の範囲でデータを登録するような運用を容易化できる。
 制御装置は、外部からのデータの登録の指示を処理する処理部を含んでいてもよい。この構成によれば、情報処理装置などの外部装置からの指示に応答して、任意のデータを登録できる。
 本技術の別の実施の形態に従えば、TSNに従うネットワークと、ネットワークに接続された、制御対象を制御するための1または複数の制御装置と、ネットワークに接続されたネットワークコントローラとを備えた制御システムにおけるデータ送信方法が提供される。データ送信方法は、制御装置が、ユーザ操作に従って登録されたデータをOPC UAのPublish/Subscriber通信を用いて周期的に送信するステップと、ネットワークコントローラが、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算するステップとを含む。
 本技術によれば、1または複数の制御装置を含む制御システムにおいて、データトレースを容易化する仕組みを実現できる。
本実施の形態に係る制御システムの全体構成の一例を示す模式図である。 本実施の形態に係る制御システムが採用する通信モデルの一例を示す図である。 本実施の形態に係る制御システムを構成するPLCのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するスイッチのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するネットワークコントローラのハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成する情報処理装置のハードウェア構成例を示すブロック図である。 本実施の形態に係る制御システムを構成するスイッチの1つのポートに関するより詳細な構成を示す模式図である。 本実施の形態に係る制御システムが提供するデータトレースを概略する模式図である。 OPC UAのクライアント・サーバ通信の構成例を示す模式図である。 OPC UAのPub/Sub通信の構成例を示す模式図である。 本実施の形態に係る制御システムにおけるデータトレースに係る処理手順を示すフローチャートである。 本実施の形態に係る制御システムのPLCにおけるデータトレースを実現するための機能構成の一例を示す模式図である。 本実施の形態に係る制御システムのPLCにおけるデータトレースの設定に係る処理手順の一例を示す模式図である。 本実施の形態に係る制御システムのPLCにおけるデータトレースの設定に係るユーザインターフェイス画面の一例を示す模式図である。 本実施の形態に係る制御システムのPLCにおけるデータトレース中の処理手順の一例を示す模式図である。 本実施の形態に係る制御システムのPLCにおけるデータトレースの終了に係る処理手順の一例を示す模式図である。 本実施の形態に係る制御システムにおけるPub/Sub通信のストリームについて説明するための図である。 本実施の形態に係る制御システムにおけるPub/Sub通信のストリームのスケジューリングについて説明するための図である。 本実施の形態に係る制御システムのPLCにおけるデータトレースの設定に係るユーザインターフェイス画面の別の一例を示す模式図である。
 本技術の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
 <A.適用例>
 まず、本実施の形態に係る制御システム1の全体構成の一例について説明する。
 本実施の形態に係る制御システム1は、IEEE 802.1 TSNに従うネットワークを採用している。以下の説明においては、特段の断りがない限り、単に「TSN」との用語は、IEEE 802.1 TSNに従うネットワークを総称する。なお、IEEE 802.1 TSNは、主として、データリンク層を規定するものであり、ネットワーク層およびトランスポート層については、例えば、TCP/IPあるいはUDP/IPなどのプロトコルを用いることができる。後述するように、IEEE 802.1 TSN規格は、いくつかの下位規格を含む。
 図1は、本実施の形態に係る制御システム1の全体構成の一例を示す模式図である。図1を参照して、制御システム1は、PLC(Programmable Logic Controller)100-1,100-2(「PLC100」と総称することもある。)と、スイッチ200-1,200-2(「スイッチ200」と総称することもある。)と、ネットワークコントローラ300と、情報処理装置400とを含む。これらの装置は、いずれもTSNに接続されている。
 制御システム1を構成するPLC100、スイッチ200、ネットワークコントローラ300、および情報処理装置400は、図示しない時間同期主体によって、互いに時間同期している。なお、時間同期については、IEEE 802.1 TSNの下位規格であるIEEE 802.1 AS-2020や、高精度時間プロトコル(PTP:Precision Time Protocol)であるIEEE 1588などに従って実現される。
 図1に示す制御システム1においては、PLC100-1は、リンク20を介して、スイッチ200-1と接続されている。PLC100-2は、リンク24を介して、スイッチ200-2と接続されている。スイッチ200-1とスイッチ200-2との間は、リンク22を介して接続されている。ネットワークコントローラ300は、リンク26を介して、スイッチ200-1と接続されている。情報処理装置400は、リンク28を介して、スイッチ200-2と接続されている。
 図1に示す制御システム1においては、少なくとも、PLC100およびスイッチ200との間では、後述するようなIEEE 802.1 TSNに従うフレーム転送が実現される。すなわち、PLC100およびスイッチ200が接続されるネットワークがTSNに相当する。リンク20,22,24がTSNの少なくとも一部を構成する。さらに、リンク28もTSNを構成してもよい。
 制御システム1を構成する1または複数のPLC100は、制御対象を制御するための制御装置の典型例である。PLC100-1,100-2の各々は、フィールドバス30を有している。フィールドバス30には、1または複数のフィールドデバイス40が接続される。1または複数のフィールドデバイス40は、フィールド信号を収集する入力デバイス、および、PLC100からの指示に従ってフィールドに対して何らかのアクションを行う出力デバイスあるいはアクチュエータを含む。
 本明細書において、「デバイス」との用語は、IEEE 802.1 TSNに従うネットワークに接続される任意のデバイスを包含する。図1に示す制御システム1において、「デバイス」は、PLC100およびスイッチ200を含み得る。
 本明細書において、「ストリームのスケジュール」は、IEEE 802.1 Qbvに従うスケジューリングを実現するための定義を意味し、以下では「Qbvスケジュール」とも称す。「Qbvスケジュール」を計算によって決定する処理を「スケジューリング」とも称す。
 本明細書において、「IO」あるいは「IOデータ」は、制御対象を制御するための制御演算で用いられる入力データおよび出力データを総称する用語である。
 ネットワークコントローラ300は、TSNにおけるフレーム転送を管理する主体であり、リソース割り当ておよび可用性を計算することで、ストリーム(トラフィック)をスケジューリングする。典型的には、ネットワークコントローラ300は、IEEE 802.1 TSNの下位規格であるIEEE 802.1 Qccの規定に従って、ストリームがスケジューリングされる。
 図2は、本実施の形態に係る制御システム1が採用する通信モデルの一例を示す図である。図2には、OSI階層モデルに従って、制御システム1が採用する通信モデルを示す。
 図2を参照して、制御システム1は、任意の物理層の上に、IEEE 802.1 TSNに従って拡張されたイーサネット(登録商標)がデータリンク層として実装される。さらに、ネットワーク層としてIPプロトコル、および、トランスポート層としてTCPプロトコルあるいはUDPプロトコルが実装される。さらに、セッション層、プレゼンテーション層、アプリケーション層として、OPC UA(OPC Unified Architecture)が採用される。OPC UAは、情報モデルおよび通信モデルなどの複数階層から構成される。
 なお、スイッチ200には、OPC UAを実装する必要はなく、OPC UAは、主として、PLC100に実装される。そのため、TSNに接続されるデバイスの少なくとも一部は、OPC UAに従う通信プロトコルでデータ通信を行うように構成される。
 再度図1を参照して、本実施の形態に係る制御システム1においては、複数のPLC100で分散同期制御が行われる。制御システム1においては、分散同期制御を行う複数のPLC100に対してデータトレースを容易に実現する方法を提供する。すなわち、複数のPLC100の間で時刻同期するとともに、各PLC100が指定されたデータを予め定められたスケジュールで送信する。それぞれのPLC100からのデータによって、データトレースを実現できる。
 <B.ハードウェア構成例>
 次に、制御システム1に含まれる各装置のハードウェア構成の一例について説明する。
 (b1:PLC100)
 図3は、本実施の形態に係る制御システム1を構成するPLC100のハードウェア構成例を示すブロック図である。図3を参照して、PLC100は、プロセッサ102と、主メモリ104と、ネットワークインターフェイス110と、ストレージ120と、内部バスインターフェイス130と、フィールドバスインターフェイス132と、メモリカードインターフェイス134とを含む。各コンポーネントは、バス138を介して電気的に接続されている。
 プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphical Processing Unit)などで構成され、ストレージ120に格納された各種プログラムを読み出して、主メモリ104に展開して実行することで、PLCとしての処理を実現する。
 ネットワークインターフェイス110は、TSNを介したフレーム転送を担当する。より具体的には、ネットワークインターフェイス110は、送受信制御回路112と、送信回路114と、受信回路116とを含む。送受信制御回路112は、ネットワークコントローラ300から予め与えられたQbvスケジュールに従って、送信回路114および受信回路116を制御する。送信回路114は、送受信制御回路112からの指示に従って、TSN上にフレームを送出する。受信回路116は、TSNを介して入来したフレームを受信する。
 ストレージ120には、典型的には、PLCとしての機能を実現するためのシステムプログラム122と、PLCが実行する制御ロジックを規定したユーザプログラム124とが格納される。
 内部バスインターフェイス130は、PLC100に搭載されるIOユニット140との間でデータをやり取りする。
 フィールドバスインターフェイス132は、フィールドバスを介したフィールドデバイスとの間でデータをやり取りする。
 メモリカードインターフェイス134は、メモリカード136を着脱可能に構成されており、メモリカード136に対してデータを書込み、メモリカード136から各種データ(ユーザプログラムやサンプリングされたデータなど)を読み出すことが可能になっている。
 図3には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。あるいは、PLC100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。このように、PLC100で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路(processing circuitry)で実現してもよい。
 (b2:スイッチ200)
 図4は、本実施の形態に係る制御システム1を構成するスイッチ200のハードウェア構成例を示すブロック図である。図4を参照して、スイッチ200は、送受信制御回路212と、送信回路214-1,214-2,214-3,214-4(以下、「送信回路214」と総称することもある。)と、受信回路216-1,216-2,216-3,216-4(以下、「受信回路216」と総称することもある。)とを含む。送信回路214と受信回路216との組で1つのポートを形成する。なお、図4には、4つのポートを有するスイッチ200を例示するが、ポート数については、特に制限はない。
 送受信制御回路212は、ネットワークコントローラ300から予め与えられたQbvスケジュールに従って、送信回路114および受信回路116を制御する。より具体的には、送受信制御回路212は、転送エンジン218と、キュー220とを含む。
 送受信制御回路212は、プロセッサがファームウェアを実行することで実現してもよいし、ASICやFPGAなどのハードワイヤード回路を用いて実現してもよい。また、送受信制御回路212だけではなく、送信回路114および受信回路116を含む全体を単一のチップで実現してもよい。このように、スイッチ200で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 (b3:ネットワークコントローラ300)
 図5は、本実施の形態に係る制御システム1を構成するネットワークコントローラ300のハードウェア構成例を示すブロック図である。図5を参照して、ネットワークコントローラ300は、プロセッサ302と、主メモリ304と、ネットワークインターフェイス310と、ストレージ320とを含む。各コンポーネントは、バス338を介して電気的に接続されている。
 プロセッサ302は、CPU、MPU、GPUなどで構成され、ストレージ320に格納された各種プログラムを読み出して、主メモリ304に展開して実行することで、制御装置としての処理を実現する。
 ネットワークインターフェイス310は、TSNを介したフレーム転送を担当する。より具体的には、ネットワークインターフェイス310は、送受信制御回路312と、送信回路314と、受信回路316とを含む。
 ストレージ320には、典型的には、基本的な処理を実現するためのOS322と、後述するような処理を実現するためのネットワーク設定プログラム324とが格納される。
 図5には、プロセッサ302がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASICやFPGAを用いて実装してもよい。このように、ネットワークコントローラ300で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 (b4:情報処理装置400)
 図6は、本実施の形態に係る制御システム1を構成する情報処理装置400のハードウェア構成例を示すブロック図である。図6を参照して、情報処理装置400は、プロセッサ402と、主メモリ404と、光学ドライブ406と、二次記憶装置408と、USBコントローラ412と、ネットワークインターフェイス414と、入力部416と、表示部418と、ストレージ420とを含む。これらのコンポーネントはバス438を介して接続される。
 プロセッサ402は、CPU、MPU、GPUなどで構成され、ストレージ420に格納された各種プログラムを読み出して、主メモリ404に展開して実行することで、サポート装置としての処理を実現する。
 ストレージ420には、典型的には、基本的な処理を実現するためのOS422と、データトレースなどの処理も可能な開発プログラム424とが格納される。ストレージ420には、後述するようなデータトレースによって収集されたロギングデータ426が格納されてもよい。
 情報処理装置400は、光学ドライブ406を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体407(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られてストレージ420などにインストールされる。
 情報処理装置400で実行される各種プログラムは、コンピュータ読取可能な記録媒体407を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係る情報処理装置400が提供する機能は、OS422が提供するモジュールの一部を利用する形で実現される場合もある。
 USBコントローラ412は、USB接続を介してネットワークコントローラ300との間のデータの遣り取りを制御する。ネットワークインターフェイス414は、任意のネットワークを介した他の装置との間のデータの遣り取りを制御する。
 入力部416は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部418は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ402からの処理結果などを出力する。
 図6には、プロセッサ402がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASICやFPGAを用いて実装してもよい。このように、情報処理装置400で実行される処理および提供する機能は、プロセッサ、ASIC、FPGAなどを含む処理回路で実現してもよい。
 <C.TSNに従うストリームのスケジューリングの実現>
 TSNにおいては、IEEE 802.1 Qccに従って、ストリーム(データパス)毎にストリームIDが割り当てられ(ストリームが予約され)、IEEE 802.1 Qbvに従って、ストリームがスケジューリングされる。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が設けられる。
 キュー220-1~220-Mの出力側には、ゲート222-1~222-Mがそれぞれ設けられている。ゲート222-1~222-M(以下、「ゲート222」と総称することもある。)の各々は、タイミング制御回路226からの指令に従って開閉する。ゲート222が開くと、対応付けられているキュー220に格納されているフレームが送信回路214から送出される。タイミング制御回路226から複数のゲート222に対して同時に開指令が与えられることはない。すなわち、タイミング制御回路226は、Qbvスケジュール228に従って、ゲート222を順次開閉する。これによって、ストリームを制御できる。
 なお、PLC100のポート(ネットワークインターフェイス110)、および、ネットワークコントローラ300のポート(ネットワークインターフェイス310)についても、図7と同様の構成を有している。
 このように、PLC100およびスイッチ200の各々は、IEEE 802.1 Qbvに従って、トラフィッククラス(優先度)に応じて設けられたキュー220のゲート222を予め計算されたタイミングで開閉する。これによって、各ストリーム(フレームが転送されるデータパス)について要求される到達時間(Deadline,Latencyなど)を保証できる。
 <D.分散同期制御およびデータトレース>
 次に、複数のPLC100を用いた分散同期制御および分散同期制御におけるデータトレースについて説明する。
 一般的に、生産ラインなどの制御を行う場合には、制御演算の規模(IO数や処理の複雑さなど)に応じたPLCが選択され、当該選択されたPLCで実行されるユーザプログラムが作成される。このように構成された場合、事後的に生産ラインを増強しようとした場合に、PLCの性能限界によって実現できないことも生じ得る。このような場合には、より性能の高いPLCに置き換えるなどの措置が必要となる。
 これに対して、同一種類のPLCを複数台組み合わせた分散同期制御を採用することで、柔軟性の高い生産ラインの構築を可能にできる。分散同期制御においては、ユーザは、各処理を実行するPLCを意識することなくユーザプログラムを作成することができる。ユーザが作成したユーザプログラムは、任意の単位で分割されて、それぞれのPLCに割り当てられることになる。
 PLC間は時刻同期されているので、PLCの各々は、ユーザプログラムの担当する部分を実行することで、全体としてユーザプログラムを実行できる。
 このような分散同期制御を採用することで、生産ラインの規模の拡大および縮小に対して柔軟に対応できるとともに、PLCメーカ側としても、複数種類のPLCをラインナップする必要性を低減できる。
 ここで、データトレースについて説明する。データトレースは、PLCで参照可能なデータのうち指定されたデータをサンプリングする機能である。通常、サンプリングされた変数(データ)は、情報処理装置400に格納されて、ファイルとして保存および出力が可能である。データトレースは、基本的には、プログラムレスで実現可能になっている。
 データトレースは、典型的には、トリガトレースおよび連続トレースを含む。
 トリガトレースは、例えば、任意の値が変化したときの処理の変化などを確認する場合や、意図しない値の変化などの原因を調査する場合などに用いられる。より具体的には、トリガトレースは、予め設定されたトリガ条件が成立すると、当該トリガ条件が発生した前後のデータを収集するものである。予め定められたサンプリング数のデータが収集されると、データ収集は終了する。なお、トリガ条件が成立に応じたデータの収集は、情報処理装置400が行ってもよいし、PLC100が行ってもよい。PLC100がデータを収集した場合には、PLC100から収集されたデータを情報処理装置400へ送信することもできる。
 連続トレースは、トリガ条件を設定せずに、任意のデータを連続的に収集するものである。収集されるデータは、PLC100で一旦バッファリングされた上で、情報処理装置400へ送信されてもよいし、PLC100から周期的に送信されるデータを情報処理装置400が収集するようにしてもよい。
 上述したような分散同期制御を実装した場合のデータトレースを考えると、それぞれのPLC100が収集したデータを情報処理装置400へそれぞれ送信し、情報処理装置400において統合する必要があり、リアルタイムでデータトレースを行うことができない。
 そこで、本実施の形態に係る制御システム1は、OPC UAのPublish/Subscriber通信(以下、「Pub/Sub通信」とも称す。)を利用して、データトレースに必要なデータを送信することで、通信帯域およびPLCの負荷を低減する。Pub/Sub通信を利用することで、同一のデータを複数のデバイスで収集する必要がある場合などにも処理を効率化できる。
 また、本実施の形態に係る制御システム1においては、高精度に時刻同期されたTSNを用いており、データトレースに係るPub/Sub通信のストリームについても、到達時間を保証することで、情報処理装置400において収集されたデータをリアルタイムに表示できる。情報処理装置400は、1または複数のPLC100が周期的に送信するデータを収集する。
 図8は、本実施の形態に係る制御システム1が提供するデータトレースを概略する模式図である。図8(A)を参照して、一般的なデータトレースの方法としては、PLC100に情報処理装置400を接続し、PLC100の内部データであるデータトレース対象のデータ51,52(変数Aおよび変数B)を収集する。情報処理装置400は、収集されたデータ51,52の時間的変化を表示等する。
 図8(B)を参照して、本実施の形態に係る制御システム1においては、複数のPLC100-1,100-2からそれぞれデータ51,52が情報処理装置400へ送信される。このとき、データ51,52は、到達時間が保証されたストリームで送信されるため、情報処理装置400においては、複数のPLC100-1,100-2から収集されたデータであっても、リアルタイムでデータトレース結果を表示等できる。
 ここで、OPC UAに従うデータ通信について説明する。
 図9は、OPC UAのクライアント・サーバ通信の構成例を示す模式図である。図9(A)には、通常のクライアント・サーバ通信の構成例を示し、図9(B)には、クライアント・サーバ通信のサブスクリプション機能の構成例を示す。
 図9(A)を参照して、クライアント・サーバ通信は、クライアントとサーバとの1:1で行われる通信サービスである。通常、クライアントからサーバに対して、ノードの読み書きやメソッドサービスの実行などが都度依頼される。必要なときに(オンデマンドで)利用されるため、予め定められた通信帯域やサーバのリソースを確保する必要がない。一方で、予め定められた通信帯域やサーバのリソースが確保されないため、到達時間が保証されず、上述したようなデータトレースには不向きである。
 図9(B)を参照して、クライアント・サーバ通信のサブスクリプション機能は、クライアントとサーバとの1:1で行われる通信サービスであることには変わりがないが、クライアントからサーバに対してモニタしたいノードを登録するとともに、登録されたノードの値(データ)を予め指定された周期でサーバから読み出す処理である。
 サブスクリプション機能においては、読み出し対象のノード(データ)を都度指定しなくてもよいので、全体的な通信量を低減できるとともに、一定周期でのデータトレースを実現できる。但し、一定周期でデータが送信されるので、通信帯域やサーバのリソースを確保しておく必要がある。
 本実施の形態に係る制御システム1において、データトレースのデータ通信には、上述したようなサブスクリプション機能を採用してもよいが、以下に説明するPub/Sub通信を採用することが好ましい。
 図10は、OPC UAのPub/Sub通信の構成例を示す模式図である。図10(A)には、ブローカ形式の構成例を示し、図10(B)には、ブローカレス形式の構成例を示す。
 OPC UAのPub/Sub通信は、m:n通信を可能にする技術である。ブローカ形式は、上位通信やクラウド通信に適しており、ブローカレス形式は、リアルタイム性通信に適している。
 図10(A)を参照して、ブローカ形式においては、OPC UAに従ってモデル化された情報が、クラウドを標準的にサポートするプロトコルであるMQTT/AMQPを用いたPub/Sub通信によりブローカを経由して送受信される。
 Publishされたデータは、ブローカが一定期間保持するため、Subscriberは、保持されたデータを任意に取得可能である。但し、ブローカがデータを一旦保持するため、リアルタイム性通信には不向きである。
 図10(B)を参照して、ブローカレス形式においては、OPC UAに従ってモデル化された情報が、マルチキャスト通信により送受信される。OPC UAによれば、セキュアなリアルタイム通信も可能であり、また、モデル化された情報に対してオンラインでアクセスできるため、ネットワーク設定を容易に行うこともできる。
 本実施の形態に係る制御システム1においては、基本的には、OPC UAのブローカレス形式のPub/Sub通信を用いて、データトレースを実現する。
 <E.処理手順>
 次に、本実施の形態に係る制御システム1におけるデータトレースに係る処理手順について説明する。
 図11は、本実施の形態に係る制御システム1におけるデータトレースに係る処理手順を示すフローチャートである。図11には、制御システム1におけるデータ送信方法の処理手順を示す。
 図11を参照して、情報処理装置400は、データトレースの要求をユーザから受けると(ステップS100においてYES)、対象のPLC100は、内部変数をOPC UAのアドレス空間に含めて公開する(ステップS102)。
 情報処理装置400は、PLC100が公開するOPC UAのアドレス空間をユーザに表示するとともに、ユーザからデータトレースの対象となる変数の選択を受け付け(ステップS104)、選択された変数をPLC100に指示する(ステップS106)。
 PLC100は、情報処理装置400から選択された変数をOPC UAのアドレス空間を登録する(ステップS108)とともに、Pub/Sub通信による周期的な送信対象として設定する(ステップS110)。
 続いて、ネットワークコントローラ300は、新たにPub/Sub通信による周期的な送信対象として設定された変数を含むデータが予め定められた時間内にPLC100から情報処理装置400に到達するように、スケジューリングを行う(ステップS112)。すなわち、ネットワークコントローラ300は、データトレースの対象として新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにQbvスケジュールを計算する。
 スケジューリングが失敗すると(ステップS114においてNO)、ネットワークコントローラ300は、スケジュールが失敗した状況および理由などを情報処理装置400へ通知する(ステップS116)。情報処理装置400は、スケジュールが失敗した状況および理由などをユーザに表示する(ステップS118)とともに、選択された変数の変更などを受け付ける(ステップS120)。そして、ステップS106以下の処理が実行される。
 スケジューリングが成功すると(ステップS114においてYES)、ネットワークコントローラ300は、制御システム1を構成する各デバイス(PLC100およびスイッチ200)に対して、Qbvスケジュールを送信する(ステップS122)。各デバイスは、ネットワークコントローラ300からのQbvスケジュールに従って、フレームの転送を開始する。
 情報処理装置400は、ユーザからデータトレースの開始の指示を受けると(ステップS124においてYES)、PLC100に対してデータトレースの開始を指示する(ステップS126)。PLC100は、情報処理装置400からの指示に従って、選択された変数を含むデータをPub/Sub通信による周期的に送信する(ステップS128)。すなわち、PLC100は、ユーザ操作に従って登録されたデータをPub/Sub通信を用いて周期的に送信する。一方、情報処理装置400は、PLC100から周期的に送信されるデータを収集する(ステップS130)。
 情報処理装置400は、ユーザからデータトレースの終了の指示を受けると(ステップS132においてYES)、PLC100に対してデータトレースの終了を指示する(ステップS134)。PLC100は、情報処理装置400からの指示に従って、選択された変数を含むデータのPub/Sub通信による周期的な送信を停止する(ステップS136)。PLC100は、必要に応じて、選択されていた変数をOPC UAのアドレス空間から削除する(ステップS138)。
 以上のような手順によって、データトレースに関する一連の処理が行われる。
 <F.PLCの機能構成例>
 次に、本実施の形態に係る制御システム1におけるデータトレースを実現するためのPLC100の機能構成の一例について説明する。
 図12は、本実施の形態に係る制御システム1のPLC100におけるデータトレースを実現するための機能構成の一例を示す模式図である。図12を参照して、PLC100は、データトレースを実現するための主要な機能構成として、PLCエンジン150と、メモリ空間152と、OPC UAサーバ処理部160と、OPC UAPub/Sub処理部162と、データトレース管理部164と、アドレス空間170とを含む。
 PLCエンジン150は、ユーザプログラム124により規定された制御演算をサイクリック実行する。PLCエンジン150が実行する制御演算の結果は、メモリ空間152に反映される。
 メモリ空間152は、フィールドから収集された入力データ、制御演算によって算出される指令値を含む出力データ、制御演算の過程で用いられる内部データ、PLC100のシステム管理に用いられるシステムデータなどを保持する。
 メモリ空間152においては、データが変数の形で管理されており、外部からのアクセスを許容する公開変数154と、PLCエンジン150での処理のみに用いられる内部変数156とを含む。すなわち、メモリ空間152が保持するデータは、典型的には、設定される公開属性に応じて、公開変数154および内部変数156のいずれかに分類される。なお、常に公開変数154あるいは内部変数156として取り扱われるデータが存在していてもよい。
 OPC UAサーバ処理部160は、OPC UAに従う命令処理(メソッドの実行など)を担当する。より具体的には、OPC UAサーバ処理部160は、外部から命令処理の実行などの要求を受けると、要求された命令処理を実行するとともに、実行結果を応答する。データトレースに関して、OPC UAサーバ処理部160は、外部からの変数(データ)の登録の指示を処理する。
 OPC UAPub/Sub処理部162は、OPC UAのPub/Sub通信を担当する。より具体的には、OPC UAPub/Sub処理部162は、Publish対象として登録されたデータを予め定められた周期で送信するとともに、Subscribe対象として登録されたデータを受信する。データトレースに関して、OPC UAPub/Sub処理部162は、ユーザ操作に従って登録されたデータをPub/Sub通信を用いて周期的に送信する。
 データトレース管理部164は、データトレースに関する処理を担当する。より具体的には、データトレース管理部164は、データトレースの開始要求を受けると、OPC UAモデル定義166を参照してアドレス空間170を再構成し、指定あるいは登録されたデータの送信(Publish)を開始する。また、データトレース管理部164は、データトレースの停止要求を受けると、指定あるいは登録されたデータの送信(Publish)を停止する。データトレース管理部164は、必要に応じて、アドレス空間170を再構成する。
 アドレス空間170は、OPC UAの情報モデルに従って定義されたオブジェクトを管理する。より具体的には、アドレス空間170は、メソッドオブジェクト172と、公開変数オブジェクト174と、内部変数オブジェクト176と、Pub/Sub設定情報オブジェクト178とを含む。
 メソッドオブジェクト172は、PC UAに従う命令(メソッド)に係るオブジェクトを含む。公開変数オブジェクト174は、メモリ空間152の公開変数154を参照するためのオブジェクトを含む。内部変数オブジェクト176は、メモリ空間152の内部変数156を参照するためのオブジェクトを含む。Pub/Sub設定情報オブジェクト178は、Pub/Sub通信に係るメソッドおよびプロパティを参照するためのオブジェクトを含む。
 図13は、本実施の形態に係る制御システム1のPLC100におけるデータトレースの設定に係る処理手順の一例を示す模式図である。図13を参照して、まず、ユーザは、情報処理装置400を操作してデータトレースの設定を指示する((1)設定指示)。すると、PLC100のOPC UAサーバ処理部160は、データトレースの設定の指示をデータトレース管理部164へ送信する((2)設定指示)。
 データトレース管理部164は、データトレースの設定の指示に従って、OPC UAモデル定義166を参照して、内部変数オブジェクト176を含むアドレス空間170を再構成する((3)再構成)。すると、メモリ空間152の公開変数154および内部変数156の内容がアドレス空間170の内部変数オブジェクト176に暫定的に反映される((4)仮登録)。そして、OPC UAサーバ処理部160は、メモリ空間152の内容を暫定的に反映したアドレス空間170の内容を情報処理装置400へ応答する((5)アドレス空間応答)。
 このように、PLC100は、外部からの要求に応じて、データトレースの対象となる変数(データ)の登録のために、制御対象を制御するための制御演算において参照される内部変数156をアドレス空間170で公開できる。
 ユーザは、情報処理装置400を操作して、応答されたアドレス空間170に含まれる変数(オブジェクト)のうちデータトレースの対象となる変数を選択する((6)変数選択)。すると、PLC100のOPC UAサーバ処理部160は、対象となる変数の選択をデータトレース管理部164へ送信する((7)変数選択)。
 データトレース管理部164は、対象となる変数の選択に従って、OPC UAモデル定義166を参照して、内部変数オブジェクト176を含むアドレス空間170を再構成する((8)再構成)。すると、メモリ空間152の内部変数156のうち、データトレースの対象として選択された変数が内部変数オブジェクト176に登録される((9)登録)。
 以上の処理手順によって、データトレースの設定が完了する。
 図14は、本実施の形態に係る制御システム1のPLC100におけるデータトレースの設定に係るユーザインターフェイス画面450の一例を示す模式図である。図14を参照して、ユーザインターフェイス画面450は、変数リスト欄452と、変数設定欄458と、データトレース表示欄460とを含む。変数リスト欄452には、PLC100のアドレス空間170に含まれるオブジェクトに対応して、公開変数454と、内部変数456とが表示される。
 ユーザは、ユーザインターフェイス画面450を操作して、データトレースの対象としたい変数を変数設定欄458に設定する。
 変数設定欄458への変数の設定には、マウスを使ったドラッグアンドドロップや、キーボードを使った直接的な選択などの操作を用いることができる。
 データトレース表示欄460には、データトレース結果が表示される。データトレース結果はリアルタイムで表示されてもよい。
 一般的に、OPC UAのPub/Sub通信においてPublishまたはSubscribeする変数は、公開変数から選択されることになるが、PLC100の内部変数もデータトレースの対象となることが多いので、上述したように、メモリ空間152の公開変数154および内部変数156の内容をアドレス空間170に反映した結果をユーザインターフェイス画面450上に表示することが好ましい。
 ユーザが選択した変数(オブジェクト)は、アドレス空間170に登録されることで、Pub/Sub通信により収集することができる。
 図15は、本実施の形態に係る制御システム1のPLC100におけるデータトレース中の処理手順の一例を示す模式図である。図15を参照して、データトレースが開始されると、PLC100のPLCエンジン150は、ユーザプログラム124により規定された制御演算をサイクリック実行する。PLCエンジン150が実行する制御演算の結果は、メモリ空間152に反映される((1)制御演算)。続いて、メモリ空間152の内容がアドレス空間170に反映される((2)リフレッシュ)。なお、メモリ空間152に保持されるデータのうち、アドレス空間170に登録されたオブジェクトに対応するデータのみが反映される。
 そして、OPC UAPub/Sub処理部162は、メモリ空間152を参照して、登録された変数を含むデータセット(トレースの対象となる変数)を構成し、Pub/Sub通信にて送信する((3)Pub/Sub通信)。情報処理装置400は、Pub/Sub通信にて送信されるデータを順次格納する。
 データトレース中には、上述の処理が繰り返し実行される。
 図16は、本実施の形態に係る制御システム1のPLC100におけるデータトレースの終了に係る処理手順の一例を示す模式図である。図16を参照して、データトレースに係る条件が未成立になると、あるいは、所定の時間に亘るデータトレースが完了すると、ユーザは、情報処理装置400を操作してデータトレースの終了を指示する((1)終了指示)。すると、PLC100のOPC UAサーバ処理部160は、データトレースの終了の指示をデータトレース管理部164へ送信する((2)終了指示)。
 データトレース管理部164は、メモリ空間152の内容をアドレス空間170に反映する処理を停止するとともに、OPC UAPub/Sub処理部162によるPub/Sub通信を停止する((3)Publish停止)。そして、OPC UAサーバ処理部160は、現在の登録内容を情報処理装置400へ提供する((4)登録内容)。
 このように、PLC100は、外部からの要求に応じて、Pub/Sub通信を用いたデータトレースに係るデータの周期的な送信を停止する。
 ユーザは、情報処理装置400を操作して、登録されたデータトレース対象の変数を削除する((5)削除指示)。すると、PLC100のOPC UAサーバ処理部160は、削除対象となる変数をデータトレース管理部164へ送信する((6)変数削除)。データトレース管理部164は、削除対象となる変数に対応して、OPC UAモデル定義166を参照して、内部変数オブジェクト176を含むアドレス空間170を再構成する((7)再構成)。再構成されたアドレス空間170において、削除対象の変数に対応するオブジェクトが削除される。
 以上の処理手順によって、データトレースが停止される。
 なお、説明の便宜上、1つのPLC100に着目してデータトレースに係る処理について説明したが、複数のPLC100からデータを収集する場合には、それぞれのPLC100に対して上述したような処理が並列的に実行されてもよい。
 <G.Pub/Sub通信ストリームおよびTSNスケジューリング>
 上述したように、データトレース対象のデータをPub/Sub通信によりPLC100から情報処理装置400へ送信する処理について説明したが、以下では、Pub/Sub通信によりデータを送信するためのストリーム、および、ストリームのTSNスケジューリングについて説明する。
 図17は、本実施の形態に係る制御システム1におけるPub/Sub通信のストリームについて説明するための図である。
 本実施の形態に係る制御システム1は、データトレースの対象となる変数(データ)が既存のPub/Sub通信で送信されているか否かを評価する。データトレースの対象となる変数が既存のPub/Sub通信で送信されている場合には、当該Pub/Sub通信のストリームを情報処理装置400へも転送されるように変更する。
 図17(A)には、PLC100-1とPLC100-2との間でやり取りされる既存のPub/Sub通信のストリームにデータトレースの対象となる変数が含まれている場合の例を示す。この例においては、スイッチ200-2において、対象のストリームに対応するフレームをPLC100-2だけではなく、情報処理装置400へも転送する。すなわち、データトレースの対象となる変数を含むストリームについて、情報処理装置400へのデータパスを追加する。
 このように、Pub/Sub通信でやり取りされているデータがデータトレースの対象として選択された場合には、当該データをやり取りするストリームを情報処理装置400へも転送するようにスイッチ200などの設定を変更する。すなわち、ネットワークコントローラ300は、新たに登録されたデータを含むストリームが存在する場合には、当該存在するストリームを情報処理装置400へも転送するように、経路上のスイッチ200を設定する。
 一方、データトレースの対象となる変数が既存のPub/Sub通信で送信されていない場合には、Pub/Sub通信のストリームを新たに規定する。
 図17(B)には、PLC100-1とPLC100-2との間でやり取りされる既存のPub/Sub通信のストリームにデータトレースの対象となる変数が含まれていない場合の例を示す。この例においては、PLC100-1から情報処理装置400へのストリーム、および、PLC100-2から情報処理装置400へのストリームがそれぞれ追加される。それぞれ追加されたストリームに対象のデータが格納されることになる。
 このように、Pub/Sub通信でやり取りされているデータ以外がデータトレースの対象として選択された場合には、新たにストリームを設定して、当該新たに設定されたストリームにデータトレースの対象として選択された変数を含めるようにする。すなわち、ネットワークコントローラ300は、新たに登録されたデータを含むストリームが存在しなければ、新たなストリームを設定する。
 さらに、本実施の形態に係る制御システム1においては、TSNのQoSを利用して、Pub/Sub通信に係るストリームに対して所定の通信帯域を割り当てることで、到達時間を保証する。これによって、情報処理装置400においては、データトレースの対象の変数をリアルタイムでモニタすることもできる。
 図18は、本実施の形態に係る制御システム1におけるPub/Sub通信のストリームのスケジューリングについて説明するための図である。図18を参照して、制御システム1においては、Pub/Sub通信に係るストリームのスケジューリングを行うことで、QoSを実現する。
 まず、ネットワークコントローラ300は、情報処理装置400において設定されたデータトレース対象に基づいて、データトレースに必要なデータパスおよび通信帯域などを算出する((1)必要リソース計算)。そして、ネットワークコントローラ300は、制御システム1を構成するデバイスから利用可能な通信帯域および隣接ノード間の遅延時間などの情報を収集する((2)現状リソース収集)。各デバイスのタイムスタンプを利用することで、隣接ノード間の遅延時間を算出するようにしてもよい。
 さらに、ネットワークコントローラ300は、データトレースに必要なデータパスおよび通信帯域を確保し、Qbvスケジュールを計算する((3)スケジューリング)。通信帯域の確保は、IEEE 802.1 TSNの下位規格であるIEEE 802.1 Qccにおいて規定されたDistributed ModelにあるRAPに従って行われる。
 なお、図17(A)に示すように、既存のPub/Sub通信のストリームにデータトレースの対象となる変数が含まれている場合には、当該ストリームを情報処理装置400へも転送するようにスイッチ200の設定を変更してもよい。
 そして、ネットワークコントローラ300は、計算されたQbvスケジュールを各デバイスに配布する((4)Qbvスケジュール)。各デバイスは、ネットワークコントローラ300からのQbvスケジュールを受信すると、任意のタイミングで既存のQbvスケジュールを更新する。すべてのデバイスがQbvスケジュールを更新すると、データトレース用のPub/Sub通信を含む通信サービスが再開される。
 このように、ネットワークコントローラ300は、データトレースの対象として新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにQbvスケジュールを計算する。上述したように、情報処理装置400がデータを収集する場合には、ネットワークコントローラ300は、データトレースの対象となるデータを含むストリームの情報処理装置400への到達時間が保証されるようにQbvスケジュールを計算する。
 なお、データトレースに必要なデータパスおよび通信帯域を確保できない場合には、ユーザにその旨を通知するとともに、データトレースの対象となる変数の変更を促してもよい。
 図19は、本実施の形態に係る制御システム1のPLC100におけるデータトレースの設定に係るユーザインターフェイス画面450の別の一例を示す模式図である。図19を参照して、ユーザがデータトレースの対象となる変数を選択した後、ネットワークコントローラ300での計算によって通信帯域を確保できないと判断されると、ユーザインターフェイス画面450にメッセージ462を表示するようにしてもよい。
 メッセージ462は、選択された変数におけるデータトレースに生じる影響(例えば、表示遅延)を含むとともに、データトレースの対象となる変数の削除などを促すメッセージを含んでいてもよい。
 ユーザは、メッセージ462を参照しながら、データトレースの対象となる変数の数などを調整する。ユーザによる調整は、データトレースに必要な通信帯域を確保できるようになるまで繰り返されてもよい。
 以上のようなメッセージ462がユーザに提示されることで、制約のある範囲で、データトレースを実現できる。このように、制御システム1(情報処理装置400)は、ネットワークコントローラ300が新たな変数(データ)を含むストリームのQbvスケジュールを計算できないときに、登録された変数の変更を促すユーザインターフェイス画面を提供する。
 <H.その他の形態>
 上述の説明においては、データトレースに係る変数の設定を行うためのユーザインターフェイスを提供する処理、および、データトレースに係るデータを収集する処理がいずれも情報処理装置400に実装された構成例を示すが、これに限らず、それぞれの処理は任意の装置で実行されてもよい。例えば、データトレースに係る変数の設定を行うためのユーザインターフェイスを提供する処理は、PLC100またはネットワークコントローラ300が実行してもよいし、その他の任意の装置が実行してもよい。また、データトレースに係るデータを収集する処理は、情報処理装置400またはゲートウェイを介して、クラウド上のコンピューティングリソースが担当してもよい。
 すなわち、本実施の形態に係る制御システム1が提供するデータトレースの機能は、どのようなハードウェアを用いて実現してもよい。
 <I.付記>
 上述したような本実施の形態は、以下のような技術思想を含む。
 [構成1]
 TSN(Time Sensitive Networking)に従うネットワーク(20,22,24)と、
 前記ネットワークに接続された、制御対象を制御するための1または複数の制御装置(100)と、
 前記ネットワークに接続されたネットワークコントローラ(300)とを備え、
 前記制御装置は、ユーザ操作に従って登録されたデータをOPC UA(OPC Unified Architecture)のPublish/Subscriber通信を用いて周期的に送信する送信部(162)を含み、
 前記ネットワークコントローラは、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算する、制御システム。
 [構成2]
 前記制御装置は、外部からの要求に応じて、データの登録のために、前記制御対象を制御するための制御演算において参照される内部変数をアドレス空間で公開するための手段(160,162,164,170)を含む、構成1に記載の制御システム。
 [構成3]
 前記制御装置は、外部からの要求に応じて、Publish/Subscriber通信を用いたデータの周期的な送信を停止する、構成1または2に記載の制御システム。
 [構成4]
 前記ネットワークに接続された、前記制御装置が周期的に送信するデータを収集する情報処理装置(400)をさらに備え、
 前記ネットワークコントローラは、前記ストリームの前記情報処理装置への到達時間が保証されるように前記スケジュールを計算する、構成1~3のいずれか1項に記載の制御システム。
 [構成5]
 前記ネットワークコントローラは、前記新たに登録されたデータを含むストリームが存在しなければ、新たなストリームを設定する、構成1~4のいずれか1項に記載の制御システム。
 [構成6]
 前記ネットワークコントローラは、前記新たに登録されたデータを含むストリームが存在する場合には、当該存在するストリームを前記情報処理装置へも転送するように、経路上のスイッチ(200)を設定する、構成1~5のいずれか1項に記載の制御システム。
 [構成7]
 前記ネットワークが前記新たなデータを含むストリームのスケジュールを計算できないときに、登録されたデータの変更を促すユーザインターフェイス画面を提供する手段(400,424)をさらに備える、構成1~6のいずれか1項に記載の制御システム。
 [構成8]
 前記制御装置は、外部からのデータの登録の指示を処理する処理部(160)を含む、構成1~7のいずれか1項に記載の制御システム。
 [構成9]
 TSN(Time Sensitive Networking)に従うネットワーク(20,22,24)と、前記ネットワークに接続された、制御対象を制御するための1または複数の制御装置(100)と、前記ネットワークに接続されたネットワークコントローラ(300)とを備えた制御システム(1)におけるデータ送信方法であって、
 前記制御装置が、ユーザ操作に従って登録されたデータをOPC UA(OPC Unified Architecture)のPublish/Subscriber通信を用いて周期的に送信するステップ(S128)と、
 前記ネットワークコントローラが、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算するステップ(S112)とを備える、データ送信方法。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、20,22,24,26,28 リンク、30 フィールドバス、40 フィールドデバイス、51,52 データ、100 PLC、102,302,402 プロセッサ、104,304,404 主メモリ、110,310,414 ネットワークインターフェイス、112,212,312 送受信制御回路、114,214,314 送信回路、116,216,316 受信回路、120,320,420 ストレージ、122 システムプログラム、124 ユーザプログラム、130 内部バスインターフェイス、132 フィールドバスインターフェイス、134 メモリカードインターフェイス、136 メモリカード、138,338,438 バス、140 IOユニット、150 PLCエンジン、152 メモリ空間、154,454 公開変数、156,456 内部変数、160 OPC UAサーバ処理部、162 OPC UAPub/Sub処理部、164 データトレース管理部、166 モデル定義、170 アドレス空間、172 メソッドオブジェクト、174 公開変数オブジェクト、176 内部変数オブジェクト、178 設定情報オブジェクト、200 スイッチ、218 転送エンジン、220 キュー、222 ゲート、224 振分回路、226 タイミング制御回路、228 スケジュール、300 ネットワークコントローラ、322,422 OS、324 ネットワーク設定プログラム、400 情報処理装置、406 光学ドライブ、407 記録媒体、408 二次記憶装置、412 USBコントローラ、416 入力部、418 表示部、424 開発プログラム、426 ロギングデータ、450 ユーザインターフェイス画面、452 変数リスト欄、458 変数設定欄、460 データトレース表示欄、462 メッセージ。

Claims (9)

  1.  TSN(Time Sensitive Networking)に従うネットワークと、
     前記ネットワークに接続された、制御対象を制御するための1または複数の制御装置と、
     前記ネットワークに接続されたネットワークコントローラとを備え、
     前記制御装置は、ユーザ操作に従って登録されたデータをOPC UA(OPC Unified Architecture)のPublish/Subscriber通信を用いて周期的に送信する送信部を含み、
     前記ネットワークコントローラは、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算する、制御システム。
  2.  前記制御装置は、外部からの要求に応じて、データの登録のために、前記制御対象を制御するための制御演算において参照される内部変数をアドレス空間で公開するための手段を含む、請求項1に記載の制御システム。
  3.  前記制御装置は、外部からの要求に応じて、Publish/Subscriber通信を用いたデータの周期的な送信を停止する、請求項1または2に記載の制御システム。
  4.  前記ネットワークに接続された、前記制御装置が周期的に送信するデータを収集する情報処理装置をさらに備え、
     前記ネットワークコントローラは、前記ストリームの前記情報処理装置への到達時間が保証されるように前記スケジュールを計算する、請求項1~3のいずれか1項に記載の制御システム。
  5.  前記ネットワークコントローラは、前記新たに登録されたデータを含むストリームが存在しなければ、新たなストリームを設定する、請求項1~4のいずれか1項に記載の制御システム。
  6.  前記ネットワークコントローラは、前記新たに登録されたデータを含むストリームが存在する場合には、当該存在するストリームを前記情報処理装置へも転送するように、経路上のスイッチを設定する、請求項1~5のいずれか1項に記載の制御システム。
  7.  前記ネットワークが前記新たなデータを含むストリームのスケジュールを計算できないときに、登録されたデータの変更を促すユーザインターフェイス画面を提供する手段をさらに備える、請求項1~6のいずれか1項に記載の制御システム。
  8.  前記制御装置は、外部からのデータの登録の指示を処理する処理部を含む、請求項1~7のいずれか1項に記載の制御システム。
  9.  TSN(Time Sensitive Networking)に従うネットワークと、前記ネットワークに接続された、制御対象を制御するための1または複数の制御装置と、前記ネットワークに接続されたネットワークコントローラとを備えた制御システムにおけるデータ送信方法であって、
     前記制御装置が、ユーザ操作に従って登録されたデータをOPC UA(OPC Unified Architecture)のPublish/Subscriber通信を用いて周期的に送信するステップと、
     前記ネットワークコントローラが、新たなデータが登録されると、当該新たなデータを含むストリームの到達時間が保証されるようにスケジュールを計算するステップとを備える、データ送信方法。
PCT/JP2021/034684 2021-03-09 2021-09-22 制御システムおよびデータ送信方法 WO2022190431A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-037252 2021-03-09
JP2021037252A JP2022137663A (ja) 2021-03-09 2021-03-09 制御システムおよびデータ送信方法

Publications (1)

Publication Number Publication Date
WO2022190431A1 true WO2022190431A1 (ja) 2022-09-15

Family

ID=83227800

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034684 WO2022190431A1 (ja) 2021-03-09 2021-09-22 制御システムおよびデータ送信方法

Country Status (2)

Country Link
JP (1) JP2022137663A (ja)
WO (1) WO2022190431A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020039538A1 (ja) * 2018-08-23 2020-02-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム
WO2020038820A1 (de) * 2018-08-20 2020-02-27 Siemens Aktiengesellschaft Verfahren zum einrichten eines streams, verfahren zur bereitstellung von stream-kennungs-informationen, verwendung eines dns-servers, gerät, computerprogramm und computerlesbares medium
JP2021012405A (ja) * 2019-07-03 2021-02-04 オムロン株式会社 制御システム、設定装置およびコンピュータプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020038820A1 (de) * 2018-08-20 2020-02-27 Siemens Aktiengesellschaft Verfahren zum einrichten eines streams, verfahren zur bereitstellung von stream-kennungs-informationen, verwendung eines dns-servers, gerät, computerprogramm und computerlesbares medium
WO2020039538A1 (ja) * 2018-08-23 2020-02-27 三菱電機株式会社 通信装置、通信方法及び通信プログラム
JP2021012405A (ja) * 2019-07-03 2021-02-04 オムロン株式会社 制御システム、設定装置およびコンピュータプログラム

Also Published As

Publication number Publication date
JP2022137663A (ja) 2022-09-22

Similar Documents

Publication Publication Date Title
Mekikis et al. NFV-enabled experimental platform for 5G tactile Internet support in industrial environments
JP6549351B2 (ja) プロセス制御システム内におけるデータの収集およびビッグデータ機械への配信
US9270527B2 (en) Methods, systems, and computer readable media for enabling real-time guarantees in publish-subscribe middleware using dynamically reconfigurable networks
EP3001613A1 (en) Network configuration and operation visualization device
CN109150559B (zh) 时间触发以太网仿真系统
WO2018070518A1 (ja) 通信装置、制御装置および通信方法
JP4876138B2 (ja) 制御用計算機および制御システム
JP6449430B2 (ja) ネットワーク装置用の時刻同期方法、装置及び時刻同期サーバ
Kiani A survey on management frameworks and open challenges in IoT
Garbugli et al. End-to-end qos management in self-configuring tsn networks
JP3956786B2 (ja) 記憶装置の帯域制御装置、方法及びプログラム
Mendoza et al. An SDN based testbed for dynamic network slicing in satellite-terrestrial networks
EP3417582B1 (en) Time-guarded flow rule installation
US20070003023A1 (en) System and method for autonomously configuring a reporting network
Hagos Software-defined networking for scalable cloud-based services to improve system performance of hadoop-based big data applications
WO2022190431A1 (ja) 制御システムおよびデータ送信方法
US11556100B2 (en) Control method, related device, and system
WO2022185585A1 (ja) 通信方法、通信システムおよび通信装置
US20180176872A1 (en) Metered interface
Shih et al. Data alignment for multiple temporal data streams without synchronized clocks on iot fusion gateway
JP6963086B2 (ja) 時間で保護されたフロールールの設定
WO2022185586A1 (ja) 通信方法、通信システムおよびネットワークコントローラ
Liu et al. Netwatch: End-to-end network performance measurement as a service for cloud
CN108712458B (zh) 支持内容控制的软件定义网络控制器
Kurtz et al. Software-defined networking driven time-sensitive networking for mixed-criticality control applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21930279

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21930279

Country of ref document: EP

Kind code of ref document: A1