WO2022176266A1 - 制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム - Google Patents

制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム Download PDF

Info

Publication number
WO2022176266A1
WO2022176266A1 PCT/JP2021/037729 JP2021037729W WO2022176266A1 WO 2022176266 A1 WO2022176266 A1 WO 2022176266A1 JP 2021037729 W JP2021037729 W JP 2021037729W WO 2022176266 A1 WO2022176266 A1 WO 2022176266A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication
control system
parameter
control
devices
Prior art date
Application number
PCT/JP2021/037729
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 三菱電機株式会社
Priority to JP2023500521A priority Critical patent/JP7387053B2/ja
Publication of WO2022176266A1 publication Critical patent/WO2022176266A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Definitions

  • the present disclosure relates to a method, device, program, and control system for optimizing the communication band of a network included in a control system.
  • Patent Document 1 discloses a method for data transmission over a network, in which, in order to increase the data transmission rate so as to meet predetermined requirements for data transmission, A method is disclosed in which the data packet size is adapted to network conditions.
  • the optimal packet size and optimal packet spacing are determined by a fuzzy logic analyzer or neural network analyzer.
  • a master device that comprehensively controls the control system communicates with the controlled object via a network such as Ethernet (registered trademark). is often connected to a control device that directly controls the The master device periodically (for example, every sampling time) transmits control system data including information necessary for controlling the control device and the controlled object to the control device via the network. The master device analyzes the data acquired from the controlled object and controls the controlled object.
  • control system data has the property of being transmitted at a fixed time (fixedness).
  • communication of data with regularity is also referred to as regular communication.
  • control system data In the network where control system data is communicated, information system data for monitoring the status of the control device, which is less punctual than control system data, is also communicated.
  • the communication band of the network fluctuates due to information system data.
  • the communication band of the network fluctuates due to delay caused by the communication function of the control device, congestion occurring in a relay device that relays communication between the master device and the control device, and the like.
  • the communication band of the transmission path used for communication of control system data also varies depending on the connection form of the devices included in the network.
  • the communication band of the network where control system data is communicated can dynamically fluctuate due to various factors. Therefore, in order to operate the control system normally while maintaining real-time performance, it is necessary to set the parameters of the control system appropriately considering various factors that dynamically fluctuate the communication band of the network. .
  • the present disclosure has been made to solve the above problems, and its purpose is to improve the real-time performance of control via a network.
  • a method according to one aspect of the present disclosure is performed in a control system that communicates control system data for at least one controlled object at predetermined intervals, and is formed by a plurality of devices included in the control system. is a method of optimizing communication parameters for The plurality of devices includes at least one master device, at least one control device, and at least one relay device. At least one master device transmits control system data. At least one controlled object is connected to at least one control device. At least one relay device relays between at least one master device and at least one control device.
  • a method of optimizing communication parameters relating to a communication band of a network includes a first parameter relating to the communication status of the network and a second parameter relating to the communication quality of the network when a control system in which initial values are set for the communication parameters is operated.
  • a device optimizes communication parameters related to the communication band of a network formed by multiple communication devices included in a control system.
  • control system data for at least one controlled object is communicated at predetermined intervals.
  • the plurality of communication devices includes at least one master device, at least one control device, and at least one relay device.
  • At least one master device transmits control system data.
  • At least one controlled object is connected to at least one control device.
  • At least one relay device relays between at least one master device and at least one control device.
  • the apparatus comprises a measuring unit, an estimating unit and a determining unit.
  • the measurement unit measures a first parameter relating to the communication status of the network and a second parameter relating to the communication quality of the network when the control system with initial values set for the communication parameters is operated.
  • the estimator estimates communication parameters from input parameters including first and second parameters.
  • the determination unit determines whether a communication band satisfies a target condition when the control system set with the estimated communication parameters is operated.
  • a program is executed by a processing circuit to optimize communication parameters regarding a communication band of a network formed by multiple devices included in a control system.
  • control system data for at least one controlled object is communicated at predetermined intervals.
  • the plurality of devices includes at least one master device, at least one control device, and at least one relay device.
  • At least one master device transmits control system data.
  • At least one controlled object is connected to at least one control device.
  • At least one relay device relays between at least one master device and at least one control device.
  • the program which is executed by the processing circuit, measures a first parameter related to network communication status and a second parameter related to network communication quality when the control system with initial values set for the communication parameters is operated.
  • a program executed by the processing circuitry estimates a communication parameter from input parameters including a first parameter and a second parameter.
  • the program executed by the processing circuit determines whether the communication band satisfies the target condition when the control system set with the estimated communication parameters is operated.
  • a control system communicates control system data for at least one controlled object at predetermined intervals.
  • the control system comprises multiple devices.
  • the plurality of devices includes at least one master device, at least one control device, and at least one relay device.
  • At least one master device transmits control system data.
  • At least one controlled object is connected to at least one control device.
  • At least one relay device relays between at least one master device and at least one control device.
  • a specific device which is one of the devices included in the plurality of devices, is a device that optimizes communication parameters related to the communication band of a network formed by the plurality of devices.
  • the identifying device includes a measuring section, an estimating section, and a determining section.
  • the measurement unit measures a first parameter relating to the communication status of the network and a second parameter relating to the communication quality of the network when the control system with initial values set for the communication parameters is operated.
  • the estimator estimates communication parameters from input parameters including first and second parameters.
  • the determination unit determines whether a communication band satisfies a target condition when the control system set with the estimated communication parameters is operated.
  • FIG. 1 is a block diagram showing the configuration of a control system according to Embodiment 1;
  • FIG. 2 is a block diagram showing the hardware configuration of the master device of FIG. 1;
  • FIG. FIG. 4 is a diagram showing an example of a communication frame used for periodic communication between the master device and the control device; 4 is a flowchart showing the flow of parameter setting processing performed in the control system;
  • FIG. 2 is a diagram for explaining a framework of reinforcement learning;
  • FIG. FIG. 4 is a diagram for explaining input parameters and output parameters (estimated parameters) of a machine learning device included in the master device;
  • 3 is a block diagram showing the functional configuration of a master device;
  • FIG. FIG. 5 is a flowchart obtained by embodying the flowchart of FIG. 4 according to an example of reinforcement learning;
  • FIG. 7 is a block diagram showing the configuration of a control system according to Embodiment 2;
  • FIG. FIG. 10 is a sequence diagram showing an example of a time synchronization procedure between the master device and the control device of FIG. 9;
  • FIG. 4 is a diagram showing how regular communication is repeatedly performed in a control period in a time-synchronized network;
  • 12 is an enlarged view of the control time slot of FIG. 11;
  • FIG. 10 is a diagram showing an example of a communication frame configuration of each time slot included in a control cycle of fixed-time communication performed in the control system according to each of Embodiments 2 and 3;
  • FIG. 1 is a block diagram showing the configuration of a control system 100 according to Embodiment 1.
  • the control system 100 includes a master device 1 (specific device), a plurality of control devices 21 to 2N (N is a natural number of 2 or more), and a relay device 3 .
  • Master device 1 includes communication unit 41 .
  • the plurality of control devices 21-2N include communication units 421-42N, respectively.
  • the relay device 3 includes a communication section 43 .
  • Each of the communication units 41, 421 to 42N, 43 has a network function corresponding to the Ethernet communication protocol.
  • FIG. 1 shows the case where the number of master devices 1 and the number of relay devices 3 included in control system 100 are both one, the number of master devices 1 and the number of relay devices 3 are 1. Each may be two or more.
  • the master device 1 is connected to a plurality of control devices 21 to 2N via a relay device 3.
  • the communication section 41 is connected to the communication section 43 via the transmission line 5 .
  • Each of the communication units 421 to 42N is connected to the communication unit 43 via the transmission line 5.
  • FIG. The master device 1, the plurality of control devices 21 to 2N, and the relay device 3 form a star-type (or tree-type) network with the relay device 3 as a hub (or root).
  • the control device 21 includes control points 611-618. Each of control points 611 to 618 is an interface for communicating with sensor 7 . Controller 22 includes control points 621-629. The control point 621 is an interface for communicating with the sensor 7 (controlled object). Each of the control points 622-629 is an interface for communicating with the actuator 8 (controlled object). The control device 2N includes control points 6N1 to 6NM (M is a natural number). Each of the control points 6N1-6NM is an interface for communicating with the actuator 8. FIG.
  • the master device 1 controls the sensors 7 connected to each of the control points 611-618.
  • the master device 1 controls the sensor 7 connected to the control point 621 and the actuator 8 connected to each of the control points 622-629.
  • Master device 1 controls actuator 8 connected to each of control points 6N1 to 6NM by controlling control device 2N.
  • the master device 1 acquires measurement data measured by the sensors 7 connected to each of the control points 611 to 618 via the control device 21.
  • the master device 1 analyzes the measurement data and determines a command (operation command) for operating the actuator 8 .
  • Master device 1 transmits to control device 22 an operation command for actuator 8 connected to each of control points 621-629.
  • Master device 1 transmits to control device 2N an operation command for actuator 8 connected to each of control points 6N1 to 6NM.
  • Control device 22 operates actuators 8 connected to control points 621 to 629 in accordance with operation commands from master device 1 .
  • the control device 2N operates actuators 8 connected to each of the control points 6N1 to 6NM according to the operation command from the master device 1.
  • the control system 100 acquires measurement data of the sensor 7 within a predetermined interval (eg control cycle or sampling time), and completes the operation of the actuator 8 according to the measurement data.
  • the master device 1 communicates with the control devices 21 to 2N in a regular communication cycle (fixed communication cycle) and controls the control devices 21 to 2N.
  • the control device 21 communicates with the sensors 7 connected to each of the control points 611 to 618 at regular communication cycles (data acquisition cycles) and acquires measurement data of the sensors 7 .
  • the control device 22 communicates with the sensor 7 connected to the control point 621 at the data acquisition cycle and acquires the measurement data of the sensor 7 .
  • the control device 22 communicates with the actuators 8 connected to each of the control points 622 to 629 at regular communication cycles (operation cycles) and operates the actuators 8 .
  • the control device 2N communicates with the actuators 8 connected to each of the control points 6N1 to 6NM in operation cycles to operate the actuators 8.
  • FIG. 2 is a block diagram showing the hardware configuration of the master device 1 of FIG. Master device 1, control devices 21 to 2N, and relay device 3 are typically network devices having similar hardware configurations.
  • the hardware configuration of the master device 1 will be described as a representative of the master device 1, the control devices 21 to 2N, and the relay device 3.
  • FIG. 2 is a block diagram showing the hardware configuration of the master device 1 of FIG. Master device 1, control devices 21 to 2N, and relay device 3 are typically network devices having similar hardware configurations.
  • the hardware configuration of the master device 1 will be described as a representative of the master device 1, the control devices 21 to 2N, and the relay device 3.
  • the master device 1 includes a communication section 41, a processing circuit 412, a storage device 413, and an input/output section 44.
  • Communication unit 41 , processing circuit 412 , storage device 413 and input/output unit 44 are coupled by bus 45 .
  • a wired or wireless transmission path 5 is connected to the communication unit 41 .
  • Master device 1 communicates with control devices 21 to 2N via communication unit 41, transmission line 5, and relay device 3.
  • FIG. 1 A wired or wireless transmission path 5 is connected to the communication unit 41 .
  • Master device 1 communicates with control devices 21 to 2N via communication unit 41, transmission line 5, and relay device 3.
  • the processing circuit 412 includes, for example, a CPU (Central Processing Unit).
  • the processing circuit 412 may include a GPU (Graphics Processing Unit).
  • the processing circuit 412 controls the operation of each part of the master device 1 by reading and executing the programs stored in the storage device 413 .
  • the programs include, for example, an OS (Operating System) program, a system control program, and a machine learning program.
  • the processing circuit 412 implements the functions of the master device 1, which will be described later, by executing the program. Note that the master device 1 may have a plurality of processing circuits 412 .
  • the storage device 413 is implemented by, for example, RAM (Random Access Memory), ROM (Read-Only Memory), flash memory, or the like.
  • the storage device 413 stores, for example, programs executed by the processing circuitry 412 or data used by the processing circuitry 412 .
  • the input/output unit 44 receives an operation from the user and outputs the processing result to the user.
  • the input/output unit 44 includes, for example, a mouse, keyboard, touch panel, display, and speaker.
  • FIG. 3 is a diagram showing an example of a communication frame CF1 used for periodic communication between the master device 1 and the control devices 21 to 2N.
  • the communication frame CF1 is a communication frame for control system data.
  • a communication frame CF1 includes a header 10, a plurality of control device data 11, and an FCS (Frame Check Sequence) 13.
  • a plurality of control device data 11 each contain information about the control devices 21 to 2N and are located between the header 10 and the FCS 13 .
  • the control device data 11 includes multiple control point data 12 .
  • the multiple control point data 12 each include information on multiple control points included in the corresponding control device.
  • the communication frame for control system data is not limited to the structure of the communication frame CF1 shown in FIG.
  • a communication frame of control system data may be divided into a plurality of frames.
  • the data size of the communication frame CF1 changes depending on the number N of the control devices 21 to 2N connected to the master device 1 and the number of control points (the number of controlled objects) included in the control devices 21 to 2N. Therefore, the time required for communication of the control system data changes depending on the data size of the communication frame CF1.
  • the time required for communication of the control system data changes depending on the communication band of the transmission line 5.
  • communication of information system data whose punctuality is lower than that of control system data for monitoring the states of the control devices 21 to 2N is also performed using the same line as that for control system data, in addition to communication of control system data.
  • the communication band of the transmission path 5 fluctuates depending on the amount of communication of information system data.
  • the communication band of the transmission line 5 fluctuates due to a processing delay that occurs within the communication unit 41, congestion that occurs in the relay device 3, or the like.
  • the communication band of the transmission path 5 varies depending on the connection mode between the master device 1 and the control devices 21 to 2N or the connection mode between the control devices 21 to 2N and the sensors and actuators.
  • FIG. 4 is a flow chart showing the flow of parameter setting processing performed in the control system 100. As shown in FIG. In the following, a step is simply described as S.
  • the control system 100 is run-in (test run), and a parameter (first parameter) regarding the communication status of the network formed in the control system 100 and the communication quality of the network is measured (second parameter).
  • the communication parameters of the control system 100 are set to predetermined initial values.
  • the communication parameters are parameters relating to the communication status of the network, parameters relating to the configuration of the network (third parameter), parameters relating to the configuration of the controllers 21 to 2N (fourth parameter), and control points 611 to 6NM of the controllers 21 to 2N.
  • a parameter regarding the communication status with the controlled object and a parameter regarding the communication quality with the controlled object may be measured.
  • Parameters related to the configuration of the network include the number of master devices 1, the number of control devices 21 to 2N, the number of relay devices 3, the total number of devices included in the network, the connection form of a plurality of devices in the network, and the number of the devices. Each includes at least one of a number of devices communicating over a network.
  • Parameters related to the configuration of the control devices 21 to 2N are the types of a plurality of controlled objects corresponding to the sensors 7 and the actuators 8, the number of each type of the plurality of controlled objects, the number of the control devices 21 to 2N, the control device 21 to 2N, the sensor 7 and the actuator 8, the number of controlled objects with which each of the control devices 21 to 2N communicates, the number of control points included in the control devices 21 to 2N, and the number of control points connected to each control point. the number of controlled objects, the number of transmission paths from the master device 1 to the control devices 21 to 2N via the relay device 3 in the network, the connection form between the control points and the controlled objects, and the transmission paths from the control points to the controlled objects. at least one of the number of
  • the parameters related to the communication status of the network are, for example, the type of data included in the communication frame, the communication speed of the network included in the control system 100, the amount of communication per unit time communicated in the network, including at least one of a time interval between two communication frames and an order in which the multiple communication frames are communicated.
  • the parameters related to the communication quality of the network include at least one of a communication frame loss amount in the network and a communication delay, which is the time interval from when a communication frame is transmitted to when it is received.
  • the parameters related to the communication status with the controlled object are the communication speed at each control point, the amount of communication per unit time communicated at each control point, and the time interval between two communication frames continuously communicated at the control point. , at least one of an order of a plurality of communication frames communicated at the control point.
  • the parameters related to the quality of communication with the controlled object include at least one of a communication frame loss amount at the control point and a communication delay, which is the time interval from when a communication frame is transmitted until it is received.
  • the optimum communication parameters for constant communication of the control system 100 are estimated by the estimation model optimized to the trained model by machine learning.
  • Machine learning includes supervised learning, unsupervised learning, and reinforcement learning.
  • a parameter regarding the communication status with the controlled object and a parameter regarding the communication quality with the controlled object may be estimated.
  • break-in operation using the parameters estimated in S2 is performed again, and the communication status and communication quality of the network included in control system 100 are measured.
  • a parameter regarding the communication status with the controlled object and a parameter regarding the communication quality with the controlled object may be measured.
  • the target condition is that the time required for the acquisition of measurement data of the controlled object by the master device 1 and the completion of the operation of the controlled object is within the control cycle.
  • the target condition is, for example, that the master device 1 acquires data from at least one controlled object within a control cycle under a communication band when the control system 100 set with the estimated parameters is operated, It includes a condition that transmission of control system data corresponding to the analysis result of the data to at least one controlled object is completed.
  • break-in operation is repeatedly attempted under different parameter settings.
  • optimal parameters are searched for realizing the real-time performance required of the control system 100 .
  • S1 to S3 in FIG. 4 are executed when the operation of the control system 100 is started, are executed periodically at a predetermined cycle, or are parameters related to the communication status of the network, parameters related to the configuration of the network, and It is executed when at least one of the parameters relating to the configuration of the controllers 21-2N is changed.
  • FIG. 5 is a diagram for explaining the framework of reinforcement learning.
  • the reinforcement learning framework consists of an agent Agt, an environment Env, and interactions between the agent Agt and the environment Env.
  • the agent Agt is the subject that decides the action at.
  • a machine learning device included in master device 1 corresponds to agent Agt.
  • the environment Env is the object with which the agent Agt interacts.
  • the control system 100 which is directly integratedly controlled by the master device 1 and whose state changes, corresponds to the environment Env.
  • agent Agt observes the state of the environment s t at time t. Agent Agt selects and executes action at based on the observed result of state st and past learning. Execution of the action at causes the environment state s t to change to the next state s t +1 . A reward r t+1 is given to the agent Agt in response to the change of state. The agent Agt advances learning using the state s t , the action a t , the reward r t+1 , and the results learned in the past, and converges action selection so as to obtain an optimal policy.
  • Agent Agt in the environment Env observes the current state and decides what action to take. Agent Agt obtains rewards from the environment Env by selecting actions, and learns policies that maximize rewards through a series of actions.
  • reinforcement learning for example, Q-learning and TD (Temporal Difference) learning are known.
  • Q-learning a general update formula for the action-value function Q(s, a) (action-value table) is represented by the following formula (1).
  • s t represents the state at time t.
  • a t represents the action at time t.
  • the action at causes the state to change from s t to s t +1 .
  • r t+1 represents the reward given by the environment for a change in state.
  • represents the discount rate.
  • represents a learning coefficient. Note that the range of the discount rate ⁇ is 0 ⁇ 1. The range of the learning rate ⁇ is 0 ⁇ 1.
  • the update formula represented by equation (1) increases the action value of action at if the action value of the best action at+1 at time t + 1 is greater than the action value of action at at time t . . If the action value of the best action at+1 at time t + 1 is less than the action value of the action att performed at time t , decrease the action value of action at. That is, the action value function Q(s, a) is updated by equation (1) so that the action value of action at at time t approaches the action value of the best action at at time t+ 1 . As a result, the best action value in the state at a certain time is successively propagated to the action value in the state before that time.
  • FIG. 6 is a diagram for explaining the input parameter s and the output parameter a (estimated parameter) of the estimation unit 20 as a machine learning device included in the master device 1.
  • the input parameter s is a state variable corresponding to the state of reinforcement learning.
  • the output parameter a is an action value corresponding to the action of reinforcement learning.
  • the input parameter s includes communication frame information (communication status) s_frm, communication quality s_qlt, network configuration s_ntw, and controller configuration s_cnt.
  • the output parameters a include information a_frm about the communication frame, network configuration a_ntw, and controller configuration a_cnt.
  • the communication frame information s_frm and a_frm includes the type of communication frame (for example, a flag indicating whether it is control system data or information system data), communication band (for example, network communication speed, or communication volume per unit time (packet data size)), and communication procedure (for example, the time interval between two communication frames transmitted consecutively, or the order in which multiple communication frames are communicated).
  • type of communication frame for example, a flag indicating whether it is control system data or information system data
  • communication band for example, network communication speed, or communication volume per unit time (packet data size)
  • communication procedure for example, the time interval between two communication frames transmitted consecutively, or the order in which multiple communication frames are communicated.
  • the communication quality s_qlt includes the loss amount of communication frames and the delay time of communication frames (the time interval from when a communication frame is transmitted until it is received). Control system data loss and delay cause control system 100 to malfunction. Loss and delay of information-related data cause deterioration of audio or image quality or distortion of audio or image.
  • the network configurations s_ntw and a_ntw include information on the master device 1, information on each of the plurality of control devices 21 to 2N, information on the relay device 3, the number of the master device 1, the number of the plurality of control devices 21 to 2N, and the relay devices. 3, the total number of devices included in control system 100, the topology of multiple devices in control system 100 (e.g., peer-to-peer, tree, or daisy chain), and the number of devices each device communicates with, depending on the topology. is included.
  • the controller configurations s_cnt and a_cnt include information on the sensors 7, information on the actuators 8, the number of the sensors 7, the number of the actuators 8, the number of the actuators 8, the number of the sensors 7, the number of the actuators 8, the number of the sensors 7, the number of the actuators 8, the number of the actuators 8, the number of the sensors 7, the number of the actuators 8, the number of the actuators 8, the number of the sensors 7, the number of the actuators 8, the number of the actuators 8, the number of the sensors 7, the number of the actuators 8, and the number of the actuators 8 controlled by the controllers 21 to 2N.
  • the type of connection between the sensors 7 and actuators 8 and the corresponding controller e.g., peer-to-peer, tree, or daisy chain
  • each of the sensors 7 and actuators 8 communicates includes the number of devices that
  • FIG. 7 is a block diagram showing the functional configuration of the master device 1.
  • master device 1 further includes estimation section 20 , user notification section 60 , measurement section 70 , determination section 71 , and parameter setting section 80 .
  • Estimation unit 20 includes learning unit 30 , state observation unit 31 , and action selection unit 40 .
  • the measurement unit 70 measures the quality of communication performed between the communication unit 41 and the relay device 3.
  • the state observation unit 31 observes the communication frame information s_frm, the communication quality s_qlt, the network configuration s_ntw, and the control device configuration s_cnt acquired from the measurement unit 70 as state variables.
  • the determination unit 71 determines whether the communication band satisfies the target condition when the control system 100 set with the communication parameters estimated by the estimation unit 20 is operated.
  • the determination section 71 outputs the determination result to the user notification section 60 .
  • the estimation unit 20 performs communication for optimizing the control system 100 according to a data set for machine learning created using the communication frame information s_frm, the communication quality s_qlt, the network configuration s_ntw, and the control device configuration s_cnt. It learns the situation, communication quality, network configuration, and controller configuration.
  • the estimation unit 20 includes a reward criterion setting unit 32 , a reward calculation unit 33 , a function update unit 34 and a learning result storage unit 35 .
  • the learning result storage unit 35 stores the estimation model M1 optimized by machine learning.
  • the learning result storage unit 35 stores the estimated model M1 as an action value function Q (Q table).
  • the action-value function Q(s, a) is the learning result of the estimation unit 20 . Note that the reward in the action value table is 0 in the initial state at the start of reinforcement learning.
  • the action selection unit 40 uses the action value function Q(s, a) stored in the learning result storage unit 35 to select the next action.
  • the action selection unit 40 randomly selects the classification information and the synchronization cycle of each group in the initial state.
  • the action selection unit 40 selects the next action using, for example, the ⁇ -greedy method in the intermediate learning stage.
  • the ⁇ -greedy method randomly selects one of the actions that can be taken in a certain environment with a certain probability ⁇ , and selects the action with the maximum Q value in a certain environment with a probability of (1- ⁇ ). It is a method to Note that other known action selection methods may be adopted.
  • the next action selected by the action selection unit 40 becomes the output (estimation) parameter of the estimation unit 20 .
  • the remuneration standard setting unit 32 sets a remuneration standard value that defines the criteria for increasing or decreasing the remuneration used for learning the estimation model M1.
  • the remuneration calculation unit 33 calculates remuneration using the remuneration reference value set by the remuneration reference setting unit 32 and the state variables observed by the state observation unit 31 .
  • the function updater 34 updates the function for determining the output parameters of the estimator 20 according to the reward calculated by the reward calculator 33 .
  • the function updating unit 34 updates the function by updating the action value table (estimation model M1) stored in the learning result storage unit 35 .
  • the action value table is a data set in which arbitrary actions are associated with the action value of the action and stored in the form of a table. For example, in the case of Q-learning, the action value function Q(s t , a t ) represented by Equation (1) is used as a function for obtaining output parameters.
  • the function updating unit 34 determines that the learning by the estimating unit 20 has ended. In this case, the action selection unit 40 selects the next action that gives the highest reward based on the converged action value function Q(s t , at ) .
  • the reward reference value differs depending on the viewpoint from which behavior is evaluated. In which aspect the control system 100 is to be optimized, or whether to optimize the control system by balancing various aspects can be selected in advance in the remuneration criterion setting unit 32 .
  • Table 1 is a table showing an example in which the remuneration reference value is determined from the viewpoint of whether or not the performance of the control system 100 is improved for each parameter (state variable) included in the communication frame information.
  • Table 1 shows, as state variables, the ratio of control system data and the ratio of information system data, communication speed, communication amount, communication frame interval, and communication order of communication frames.
  • the ratio of control system data is the ratio of the number of communication frames including control system data to the total number of communication frames per unit time.
  • the ratio of information system data is the ratio of the number of communication frames including information system data to the total number of communication frames per unit time.
  • the remuneration standard setting unit 32 assumes that the performance of the control system 100 improves when the ratio of control system data increases with respect to the ratio of information system data, and the ratio of control system data increases with respect to the ratio of information system data. Set the reward base value for the case to a value greater than the current value. On the other hand, the remuneration standard setting unit 32 assumes that the performance of the control system deteriorates when the ratio of control system data becomes smaller than that of information system data. Set the reward base value of to a value smaller than the current value. Similarly, when the communication speed increases, when the amount of communication increases, when the communication frame interval decreases, and when the communication frame interval is shortened, the remuneration standard setting unit 32 sets control data to be transmitted with priority over information data.
  • the remuneration standard setting unit 32 determines that when the communication speed is slow, when the amount of communication is low, when the communication frame interval is short, and when information system data is preferentially transmitted over control system data. Set the reward base value for the case to a value less than the current value.
  • Table 2 is a table showing an example in which the remuneration reference value is determined from the viewpoint of whether or not the communication quality of the control system 100 is improved for each parameter included in the communication frame information.
  • Table 2 shows the communication speed, communication amount, and communication frame interval shown in Table 1 as state variables.
  • the remuneration standard setting unit 32 assumes that the communication quality deteriorates as the communication speed increases, and sets the remuneration standard value when the communication speed increases to a value smaller than the current value. On the other hand, the remuneration standard setting unit 32 assumes that the communication quality improves as the communication speed slows down, and sets the remuneration standard value when the communication speed slows down to a value larger than the current value. Similarly, the remuneration standard setting unit 32 sets the remuneration standard value to be smaller than the current value when the communication traffic increases and when the communication frame interval decreases. Further, the remuneration standard setting unit 32 sets the remuneration standard value to be larger than the current value when the communication traffic decreases and when the communication frame interval increases.
  • Table 3 is a table showing an example in which a remuneration reference value is determined for each parameter related to communication quality.
  • the communication frame loss rate, the communication frame delay time, and the delay communication frame ratio are shown as state variables.
  • the communication frame delay time is the delay time with respect to the communication target time.
  • the ratio of delayed communication frames is the ratio of the number of communication frames delayed with respect to the communication target time to the total number of communication frames per unit time.
  • the remuneration standard setting unit 32 sets the remuneration standard value when the loss rate decreases to a value larger than the current value.
  • the remuneration standard setting unit 32 sets the remuneration standard value when the loss rate increases to a value smaller than the current value.
  • the remuneration standard setting unit 32 assumes that when the delay time of the communication frame is shortened, the congestion in the relay device 3 or the like decreases and the communication band increases, and the remuneration standard value in the case of shortening the delay time is set to the current value. Set to a value greater than the value.
  • the remuneration standard setting unit 32 assumes that congestion will increase and the communication band will decrease if the delay time is extended, and sets the remuneration standard value when the delay time is extended to a value smaller than the current value. Furthermore, the remuneration standard setting unit 32 assumes that the number of communication frames arriving within the communication target time increases when the ratio of delayed communication frames decreases, and sets the remuneration standard value when the ratio decreases to be greater than the current value. do. On the other hand, the remuneration standard setting unit 32 assumes that the number of communication frames arriving within the communication target time decreases as the ratio of delayed communication frames increases, and sets the remuneration standard value when the ratio increases to be smaller than the current value. do.
  • Table 4 is an example in which the remuneration reference value is determined from the viewpoint of whether or not the performance of the control system 100 is improved for each parameter related to the master device 1 and the control devices 21 to 2N forming a network in the control system 100. is a table showing
  • Remuneration standard setting unit 32 assumes that as the number of master devices 1 or the number of control devices 21 to 2N increases, the scale of the control system increases and the overall performance of control system 100 improves. Set the remuneration reference value when the number of devices 21 to 2N increases to a value larger than the current value. On the other hand, remuneration standard setting unit 32 assumes that if the number of master devices 1 or the number of control devices 21 to 2N decreases, the scale of control system 100 will decrease and the overall performance of control system 100 will decrease. Set the reward reference value when the number or the number of controllers 21-2N decreases to a value smaller than the current value.
  • master when it is possible to change the number of master devices 1 and the number of control devices 21 to 2N during communication like plug and play (PnP), master By detecting a change in each of the number of devices 1 and the number of control devices 21 to 2N and inputting information on each of the number of master devices 1 and the number of control devices 21 to 2N to the estimation unit 20, the master device Machine learning can proceed using the number of 1s and the number of control devices 21 to 2N as state variables. The same applies to Table 5 described below.
  • Table 5 is an example in which the remuneration reference value is determined from the viewpoint of whether or not to reduce the cost of the control system 100 for each parameter related to the master device 1 and the control devices 21 to 2N forming a network in the control system 100. is a table showing
  • Remuneration standard setting unit 32 increases the scale of control system 100 as the number of master devices 1 or the number of control devices 21 to 2N increases, increasing the cost of control system 100 (for example, the purchase cost of all devices and the maintenance cost of all devices). etc.) will increase, and the remuneration reference value when the number of master devices 1 or the number of control devices 21 to 2N increases is set to a value smaller than the current value.
  • the remuneration reference value when the number of master devices 1 or the number of control devices 21 to 2N increases is set to a value smaller than the current value.
  • the scale of control system 100 will decrease and the cost of control system 100 will decrease. Set the reward base value for decreasing numbers to a value greater than the current value.
  • Table 6 shows an example in which a reward criterion value is determined in terms of whether or not the performance of the control system 100 improves for each parameter associated with the sensors 7 and actuators 8 directly controlled by the controllers 21-2N. It is a table.
  • the reward standard setting unit 32 assumes that the scale of the control system 100 increases and the performance of the control system 100 improves as the number of sensors 7 or the number of actuators 8 increases, and the number of sensors 7 or the number of actuators 8 increases. Set the reward standard value when doing so to a value greater than the current value.
  • the remuneration standard setting unit 32 assumes that if the number of sensors 7 or the number of actuators 8 decreases, the scale of the control system 100 will decrease and the performance of the control system 100 will decrease. Set the reward base value when is decreasing to a value smaller than the current value.
  • the number of sensors 7 and the number of actuators 8 should be changed in the procedure of temporarily stopping the sensors 7 and actuators 8 and restarting the break-in operation.
  • Machine learning can proceed with each of the 8 numbers as a state variable.
  • the number of sensors 7 and the number of actuators 8 can be changed without stopping the running-in.
  • PnP plug and play
  • the number of sensors 7 and the number of actuators 8 can be changed without stopping the running-in.
  • Machine learning can be advanced as The same applies to Table 7 described below.
  • Table 7 is a table showing an example in which the remuneration reference value is determined from the viewpoint of whether or not the cost of the control system 100 is reduced for each parameter related to the controlled object directly controlled by the control devices 21 to 2N.
  • controlled objects include sensor 7 and actuator 8 .
  • the remuneration standard setting unit 32 assumes that if the number of sensors 7 or the number of actuators 8 increases, the scale of the control system 100 increases and the cost of the control system 100 increases, and the number of sensors 7 or the number of actuators 8 increases. Set the reward standard value when doing so to a value smaller than the current value. On the other hand, if the number of sensors 7 or the number of actuators 8 decreases, the remuneration standard setting unit 32 assumes that the scale of the control system 100 will decrease and the cost of the control system 100 will decrease. Set the reward base value for decreasing to a value greater than the current value.
  • Table 8 shows the control system for each parameter related to the topology of the master device 1 and the plurality of controllers 21 to 2N and the topology of the controlled objects directly connected by the controllers 21 to 2N and the controllers 21 to 2N.
  • 10 is a table showing an example in which a remuneration reference value is determined from the viewpoint of whether the performance of 100 is improved.
  • Various connection forms can be assumed in the network formed in the control system 100 .
  • the remuneration standard setting unit 32 assumes that the communication band can be increased as the number of peer-to-peer connected devices increases, and sets the remuneration standard value when the number of peer-to-peer connected devices increases to the current value Set to a value greater than On the other hand, if the number of peer-to-peer connected devices decreases, it is assumed that the communication bandwidth needs to be reduced, and the reward reference value when the number of peer-to-peer connected devices decreases is set to a value smaller than the current value. .
  • the remuneration standard setting unit 32 assumes that it is necessary to reduce the communication bandwidth per path when the number of devices connected by the tree increases, and the remuneration standard value when the number of devices connected by the tree increases to a value less than its current value.
  • the communication bandwidth per route can be increased if the number of devices connected by the tree decreases
  • the reward reference value when the number of devices connected by the tree decreases is set to be larger than the current value. set to a value.
  • the remuneration standard setting unit 32 assumes that it is necessary to reduce the communication bandwidth per route when the number of devices connected in a daisy chain increases, and the remuneration standard setting unit 32 assumes that the number of devices connected in a daisy chain increases Set the base value to a value less than the current value.
  • the communication bandwidth per route can be increased if the number of daisy-chained devices decreases, the reward standard value when the number of daisy-chained devices decreases is reduced from the current value. set to a higher value.
  • the remuneration standard setting unit 32 sets a remuneration standard value larger than the current value when the number of devices connected by the tree becomes larger than the number of devices connected by the daisy chain.
  • the number of devices connected by peer-to-peer is set as state variables.
  • Machine learning can be advanced.
  • Table 9 shows the control system for each parameter related to the topology of the master device 1 and the plurality of controllers 21-2N, and the topology of the controllers 21-2N and the controlled objects directly connected by the controllers 21-2N.
  • FIG. 11 is a table showing an example in which a reward reference value is determined in terms of whether or not the cost of 100 is reduced; FIG.
  • the number of cables required to connect the devices is often greater than the number of cables required for other connection forms such as trees or daisy chains. Therefore, the greater the number of peer-to-peer connected devices, the greater the cost of control system 100 (eg, the cost of purchasing all cables, the cost of installing all cables, etc.). Therefore, if the number of peer-to-peer connected devices increases, the reward criterion setting unit 32 assumes that the number of required cables increases and the cost of the control system 100 increases. Set the reward base value of to a value smaller than the current value.
  • the reward criteria setting unit 32 assumes that the number of required cables decreases and the cost of the control system 100 decreases. Set the reward base value of to a value greater than the current value.
  • a relay device 3 or the like is required in addition to the cable. Therefore, the remuneration reference value may be determined in consideration of the costs other than the cable in other connection forms.
  • the remuneration standard setting unit 32 assumes that the cost of the relay device 3 and the cost of the control system 100 increase as the number of devices connected in the tree increases, and the number of devices connected in the tree increases. Set the reward base value for the case to a value less than the current value. On the other hand, the remuneration standard setting unit 32 assumes that the cost of the relay device 3 and the cost of the control system 100 decrease when the number of devices connected in the tree decreases, and the number of devices connected in the tree decreases. Set the reward base value for the case to a value greater than the current value.
  • the remuneration standard setting unit 32 assumes that the cost of the control system 100 increases as the number of daisy-chained devices increases, and currently sets the remuneration standard value when the number of daisy-chained devices increases. set to a value less than the value of On the other hand, the remuneration standard setting unit 32 assumes that the cost of the control system 100 decreases when the number of daisy-chained devices decreases, and currently sets the remuneration standard value when the number of daisy-chained devices decreases. set to a value greater than the value of
  • remuneration reference values are not limited to the setting examples shown in Tables 1 to 9.
  • the remuneration reference value can be determined from any viewpoint regarding the performance of the control system 100, communication quality, and cost.
  • the remuneration reference value may be set from the viewpoint of reliability in addition to the viewpoint of performance and cost.
  • the reliability of communication can be improved by selecting whether or not to control retransmission of communication frames, or by increasing the number of retransmissions.
  • the communication band becomes larger, resulting in less control system data.
  • an action that does not satisfy the target required of the control system 100 has a small reward (or 0) so that it is learned that the priority is low (or lowest) in machine learning.
  • the goals of the control system 100 include, for example, the scale of the control system 100, including the number of master devices 1, the number of control devices 21 to 2N, the number of sensors 7, and the number of actuators 8 included in the control system 100.
  • the target also includes the required network communication cycle, sensor acquisition cycle, actuator operation cycle, and the like. Parameters related to the control system 100 other than these may also be added to the target. These required goals may be divided into goals that must be achieved and goals that are not necessarily achieved.
  • FIG. 8 is a flowchart that embodies the flowchart of FIG. 4 according to an example of reinforcement learning.
  • S1 includes S11, S12, and S13.
  • the master device 1 sets initial values to communication parameters relating to the communication units 41, 421 to 42N, 43 of the control system 100.
  • the master device 1 performs a break-in operation under the communication parameters whose initial values are set as an initial trial.
  • the measurement unit 70 measures the communication status and communication quality of the break-in run performed under the initial parameters.
  • the items measured in S13 are part of the state variables that serve as inputs for reinforcement learning performed in S21 and S22 described below.
  • S2 includes S21, S22, and S23.
  • the reward calculator 33 calculates a reward for the action selected by the action selector 40 .
  • the function update unit 34 updates the action value function using the update formula shown in formula (1).
  • the user notification unit 60 notifies the user of the estimated communication parameter (output parameter), which is the action selected by the action selection unit 40 .
  • the user may use the parameter setting unit 80 to change the communication parameters related to the control system 100 as necessary, or change the connection of the cable to a device included in the control system 100 (for example, the master device 1). , or the control device 2, etc.) may be changed.
  • S3 includes S31, S32, and S33.
  • the master device 1 refers to the result of the measurement unit 70 and automatically changes the communication parameters regarding the communication unit (for example, parameters regarding communication frames).
  • the master device 1 performs break-in operation under the estimated communication parameters.
  • the measurement unit 70 measures the communication status and communication quality of the break-in operation.
  • the determination unit 71 determines whether or not the target condition is satisfied by the estimated parameters. If the target condition is not satisfied (NO in S4), the master device 1 returns the process to S21. If the target condition is satisfied (YES in S4), the user notification unit 60 notifies the user of the optimal communication parameters in S5 and ends the process. After S5, full-scale operation of the control system 100 is started.
  • S2 is a process of estimating optimal communication parameters that satisfy the target required of the control system 100 by performing reinforcement learning with a reward reference value related to the performance, communication quality, cost, and reliability of the control system 100, or A process of performing reinforcement learning by fixing part of the communication parameters or limiting the range in which the communication parameters fluctuate may be included.
  • the reward reference value for the performance of control system 100 may include, for example, at least one of synchronization period, time slot width, communication speed, communication volume, and communication frame interval.
  • the reward reference value for the communication quality of the control system may include, for example, at least one of a communication frame loss rate, a communication frame delay time, and a delayed communication frame rate.
  • the remuneration reference value related to the cost of the control system 100 includes the number of master devices 1, the number of relay devices 3, the number of control devices 21 to 2N, the number of control points included in the control devices 21 to 2N, the number of controlled objects, the control At least one of the length of at least one cable forming the plurality of transmission paths included in system 100, the number of the at least one cable, and the installation cost of the at least one cable may be included.
  • the reward reference value related to the reliability of the control system 100 may include, for example, at least one of whether or not a CRC is attached to the communication frame, whether or not retransmission control is performed on the communication frame, and the number of retransmissions.
  • the measuring unit 70, the determining unit 71, the estimating unit 20, and the user notifying unit 60 do not need to be mounted in the master device 1. May be implemented.
  • the measuring unit 70, the determining unit 71, the estimating unit 20, and the user notifying unit 60 may be implemented in all devices included in the control system, or may be implemented in some devices. Depending on the range in which these are implemented, there is a difference in the amount of communication frame (or communication status) measurement information or communication quality measurement information. As a result, the measurement accuracy is degraded, affecting the accuracy of communication parameter estimation.
  • machine learning may be performed by fixing some of the input parameters, or by limiting the range in which the parameters fluctuate.
  • control system 100 includes devices that actually exist.
  • control system according to Embodiment 1 may be reproduced (simulated) as a virtual system in virtual space. If the control system according to the embodiment is a virtual system, the user does not need to manually change the configuration such as the number of control devices and the connection form according to the optimum communication parameters after S5.
  • Embodiment 2 a case will be described in which a control system uses a time synchronization protocol (for example, IEEE 1588) to highly accurately time-synchronize devices connected to a network.
  • a control system uses a time synchronization protocol (for example, IEEE 1588) to highly accurately time-synchronize devices connected to a network.
  • break-in is repeated to search for a control system having a communication band that satisfies the target condition. Measurement of the communication band of control system data is performed, and the optimum solution for each of the number of control devices, the number of control points, the connection form of the devices included in the network, the communication procedure, the communication band, and the time slot for control is It is obtained by an estimation model optimized by machine learning. As a result, the user can be notified of the optimum parameters that satisfy the target conditions.
  • a time synchronization protocol for example, IEEE 1588
  • FIG. 9 is a block diagram showing the configuration of the control system 200 according to the second embodiment.
  • the control system 200 includes a master device 1 , a control device 2 and a relay device 3 .
  • Master device 1 and relay device 3 correspond to master device 1 and relay device 3 in FIG. 1, respectively.
  • Control device 2 has the same configuration as each of control devices 21 to 2N in FIG.
  • the control system 200 has a configuration in which the number of controllers in the control system 100 of FIG. 1 is one. Since they are the same except for these, the description will not be repeated.
  • FIG. 10 is a sequence diagram showing an example of time synchronization procedures between the master device 1 and the control device 2 in FIG. Specifically, the procedure shown in FIG. 10 is a time synchronization procedure according to IEEE1588. Each process shown in FIG. 10 is mainly executed by the CPUs included in each of master device 1 and control device 2 . In the following, the sequence is simply referred to as SQ.
  • the master device 1 transmits the Sync message to the control device 2 and stores the transmission time t1 of the Sync message in the storage device of the master device 1.
  • the control device 2 receives the Sync message and stores the reception time t2 of the Sync message in the storage device of the control device 2.
  • the master device 1 reads the transmission time t1 of the Sync message from the storage device of the master device 1 and transmits a Follow_Up message containing the transmission time t1 to the control device 2.
  • the control device 2 stores the transmission time t1 stored in the received Follow_Up message in the storage device of the control device 2 in SQ4. Note that the master device 1 may transmit a Sync message in which the transmission time t1 is stored to the control device 2 .
  • the control device 2 transmits the Delay_Req message to the master device 1 and stores the transmission time t3 of the Delay_Req message in the storage device of the control device 2.
  • the master device 1 receives the Delay_Req message in SQ6 and stores the reception time t4 of the Delay_Req message in the storage device of the master device 1 .
  • the master device 1 transmits to the control device 2 a Delay_Resp message in which the reception time t4 of the Delay_Req message is stored.
  • the control device 2 receives the Delay_Resp message and stores the reception time t4 stored in the Delay_Resp message in the storage device of the control device 2.
  • Sync message transmission time t1, Delay_Req message transmission time t3, Sync message reception time t2, and Delay_Req message reception time t4 are stored in the storage device of control device 2 according to the sequence shown in FIG. .
  • the control device 2 determines that the master device 1 and the control device 2 obtain the sum of the time shift and the transmission path delay in each of
  • the sum of the time differences td2 and td1 corresponds to twice the transmission path delay.
  • the difference between the time differences td2 and td1 corresponds to twice the time difference between the time of the master device 1 (master time) and the time of the control device 2 (control device time).
  • the delay time td of the unidirectional transmission path is represented by the following equation (2).
  • the control device 2 performs time synchronization with the master device 1 by correcting the time of the control device 2 using the time difference tdiff as a time synchronization correction amount.
  • the round-trip delay of PTP (Precision Time Protocol) messages is equal, or even if there is a time difference in the round-trip delay, the time difference is known. assumed. However, due to factors such as jitter of the clock oscillator included in the communication unit of each device, switching from the relay device 3 to the clock in each device, or temperature changes in the surrounding environment where each device is used, the delay time td and the time The difference tdiff may vary each time measurement is performed. Therefore, in order to prevent the time lag between the master device time and the control device time and to ensure the accuracy of the time synchronization between the master device 1 and the control device 2, the master device 1 and the control device 2 should periodically communicate with each other. 10, it is necessary to execute a process related to time synchronization.
  • PTP Precision Time Protocol
  • FIG. 11 is a diagram showing how regular communication is repeatedly performed at the control period Prd in a time-synchronized network.
  • each device is precisely time-synchronized.
  • the control period Prd for fixed-time communication is divided into a plurality of time slots for each application. Since each device is time-synchronized, it is also precisely synchronized to the beginning and end of each time slot.
  • the control cycle Prd is divided into a control time slot Slt1, an image transmission time slot Slt2, and a diagnosis time slot Slt3.
  • the time slot requiring the highest punctuality is the control time slot Slt1.
  • Image data acquired by a camera or the like is transmitted in the image transmission time slot Slt2.
  • diagnostic time slot Slt3 data for diagnosing each device included in control system 200 is communicated.
  • FIG. 12 is an enlarged view of the control time slot Slt1 in FIG.
  • control system data is divided into communication frames CF21 and CF22, and a transmission interval Tint1 is provided between the communication frames CF21 and CF22.
  • a transmission interval Tint1 is provided between the communication frames CF21 and CF22.
  • Congestion or delay occurs while the communication frames CF21 and CF22 are being transmitted via the relay device 3, and the control system data is received by the control device 2 with a delay.
  • the time when the control system data is transmitted from the master device 1 may be delayed.
  • the communication time Tcom which is the time interval until the control system data is received by the control device 2, fluctuates without being constant.
  • the curve FL1 represents the amount of fluctuation in the time interval required for the master device 1 to transmit the control system data to the relay device 3 (the time interval of the mode value) on a coordinate plane in which the horizontal axis is time and the vertical axis is frequency. and the difference) distribution.
  • a curve FL2 schematically represents the distribution of the amount of fluctuation in the time interval required for the relay device 3 to transmit the control system data to the control device 2 on the same coordinate plane as the curve FL1.
  • a curve FL3 schematically represents the distribution of fluctuation amounts of time intervals required for the control device 2 to receive the control system data from the relay device 3 on the same coordinate plane as the curve FL1. Under a normal communication load, as shown in FIG.
  • each of the distributions FL1 to FL3 has a mode appearing near the center and becomes a mountainous shape symmetrical with respect to a straight line passing through the mode. Tend.
  • the communication load of the control device is always high, delays in communication between the relay device 3 and the control device 2 are likely to occur. frequency tends to be biased. Further, when the communication load of the control device is unstable, the shape of the distribution FL3 tends to be flat rather than mountain-shaped.
  • the control system data may overflow into the next image transmission time slot Slt2.
  • the control system data is received by the control device 2 in the image transmission time slot Slt2, a situation may arise in which the control device 2 cannot operate correctly.
  • PTP messages of time synchronization protocols such as IEEE 1588 (for example, Sync, Follow_Up, Delay_Req, Delay_Resp, etc.) are controlled.
  • System data CF22 is followed by transmission interval Tint2.
  • a PTP message (synchronization message) of a time synchronization protocol such as IEEE 1588 is used not only for time synchronization but also for measuring the communication band of control time slots.
  • the PTP message need not be transmitted in each control period of fixed communication, and may be transmitted in a period that can ensure the accuracy of time synchronization between devices.
  • the PTP message may be used to measure the communication band of time slots other than the control time slot.
  • the transmission interval Tint2 may be the same as the transmission interval Tint1.
  • the communication time Tcom from the start time ts1 of the control time slot Slt1 to the reception time tr1 until the control system data is received by the control device 2 is represented by the following equation (4).
  • Tcom tr1-ts1 (4)
  • the control time slot Slt1 is represented by the following equation (5).
  • Tmrg The optimum margin Tmrg is set so that the probability of communication of control system data across the control time slot Slt1 becomes almost zero, regardless of the distribution of the amount of fluctuation due to the individual differences in the performance of the control devices and the communication conditions. need to ask.
  • the control system 200 in order to accurately obtain the margin Tmrg, the control system 200 is run-in to measure the communication frames (or communication status) of the network that constitutes the control system 200 and the communication quality.
  • Communication time Tcom is added to the measurement items of the first embodiment as the communication frame (or communication status) measurement items.
  • the control device 2 has the same configuration as the master device 1 of the first embodiment (see FIG. 7).
  • the control device 2 uses a learned estimation model optimized by machine learning to estimate communication parameters related to the communication band of the network included in the control system 200.
  • the estimated communication parameters include the number of devices included in the network included in the control system 200, the number of sensors 7 and actuators 8, the connection form of devices connected to the network, the type of communication frame, the communication band, and the number of communication frames. Communication procedures and margin Tmrg are included.
  • the control system 200 searches for an optimum combination of communication parameters that maximizes the reward value for the action selected by the control device 2 . Using the estimated communication parameters, running-in is performed again, and the communication status and communication quality are measured.
  • the remuneration standard values shown in Table 10 below are added to the remuneration standard values set by the remuneration standard setting unit 32 included in the control device 2.
  • Table 10 is a table showing an example in which the remuneration reference value is determined from the viewpoint of whether or not the communication quality of the control system 200 improves with respect to the margin Tmrg.
  • the remuneration standard setting unit 32 assumes that if the margin Tmrg is extended, the possibility of completing the communication of the control system data in the control time slot Slt1 increases, and the remuneration standard value when the margin Tmrg is extended is set to the current value. Set to a value greater than On the other hand, the remuneration standard setting unit 32 assumes that if the margin Tmrg is shortened, the possibility of completing the communication of the control system data in the control time slot Slt1 decreases, and the remuneration standard value when the margin Tmrg is shortened is currently set to set to a value less than the value of
  • an appropriate communication band can be set for the control time slot according to the configuration of the control system 200.
  • the control system according to the second embodiment may also be a virtual system formed in virtual space.
  • Embodiment 3 In the second embodiment, it has been explained that the time slots included in the control period Prd differ in the degree (priority) of requests for periodic communication, and that the control time slot Slt1 has the highest priority. In order to maintain punctual communication, it is necessary to maintain the time interval (time slot width) of the control time slot Slt1. On the other hand, the priority of time slots (normal time slots) other than the control time slot, such as the image transmission time slot Slt2 and the diagnostic time slot Slt3, is lower than the priority of the control time slot Slt1. It is possible to change the time slot width of the time slots. That is, since time slots with relatively low priority rarely require punctuality, the time slots can be transmitted in the next control period by dividing the communication frame. As a result, the control period Prd of the control system can be changed. In Embodiment 3, a configuration will be described in which a communication frame of a time slot with a relatively low priority is divided and the control period Prd of the control system is changed.
  • FIG. 13 is a diagram showing an example of a communication frame configuration of each time slot included in the control cycle of fixed-time communication performed in the control system according to each of Embodiments 2 and 3.
  • FIG. FIG. 13 shows communication frames received by the control device 2 .
  • the control period Prd in Embodiment 2 is divided into a control time slot Slt1, an image transmission time slot Slt2, and a diagnosis time slot Slt3. Since the communication frame configuration of control time slot Slt1 is the same as the communication frame configuration of control time slot Slt1 shown in FIG. 12, description thereof will not be repeated.
  • the image transmission time slot Slt2 and diagnostic time slot Slt3 include communication frames CF31 and CF41, respectively.
  • the control cycle Prd1 is divided into a control time slot Slt31, an image transmission time slot Slt32, and a diagnosis time slot Slt33.
  • the communication frame configuration of the control time slot Slt31 in the preceding control period Prd1 is the same as the communication frame configuration of the control time slot Slt1.
  • a control time slot Slt31 in the subsequent control period Prd1 includes communication frames CF23 and CF24.
  • the time interval of the control time slot Slt31 is the same as the time interval of the control time slot Slt1.
  • the image transmission time slot Slt32 in the preceding control cycle Prd1 and the image transmission time slot Slt32 in the subsequent control cycle Prd1 are communication frames CF31A and CF31B obtained by dividing the communication frame CF31 included in the image transmission time slot Slt2 into two. Including each.
  • the time interval of the image transmission time slot Slt32 is shorter than the time interval of the image transmission time slot Slt2.
  • a diagnostic time slot Slt33 in the preceding control cycle Prd1 and a diagnostic time slot Slt33 in the subsequent control cycle Prd1 respectively include communication frames CF41A and CF41B obtained by dividing the communication frame CF41 included in the diagnostic time slot Slt3 into two.
  • the time interval of the diagnostic time slot Slt33 is shorter than the time interval of the diagnostic time slot Slt3.
  • the communication frame included in each of the image transmission time slot Slt2 and the diagnostic time slot Slt3 of the second embodiment is divided into two, and divided into two continuous control periods Prd1.
  • Each communication frame is communicated.
  • the control period Prd1 of the third embodiment can be made shorter than the control period Prd of the second embodiment.
  • FIG. 13 describes the case where the communication frame is divided into two, but the number of divisions of the communication frame is not limited to two. As the number of divisions increases, the control cycle can be shortened.
  • the number of control devices is one has been described, but when a plurality of control devices are connected to the network, the number of control devices and the number of divisions of the communication frame become enormous.
  • networks have various factors that change the communication band. Therefore, in the third embodiment, machine learning is used to search for the optimum solution of the control cycle.
  • the parameters relating to the communication status of the network include the division number of the communication frame. According to the flowcharts shown in FIGS. 4 and 8, an estimation model built by machine learning estimates the communication parameter of the number of divisions of the communication frame for each control device in the low-priority time slots.
  • a break-in operation is performed under the estimated communication parameters, and the communication status and communication quality are measured. It is determined whether or not the target condition (for example, the minimum control period) of the control period Prd of the control system has been achieved. When the target condition is achieved, the user is notified of the communication parameters used for the break-in. If the target condition is not achieved, machine learning and break-in are repeated again.
  • the target condition for example, the minimum control period
  • the master device 1 in FIG. 7 uses the communication unit 41 to change the combination of communication parameters in low-priority time slots and transmit communication frames. After transmitting the communication frame, the PTP message of the time synchronization protocol is transmitted to obtain the time slot width.
  • the measurement unit 70 measures the communication status and communication quality. It should be noted that it is not always necessary to transmit PTP messages in low-priority time slots to obtain low-priority time slot widths, and only the communication status and communication quality may be measured. In the estimating section 20, a large reward value is given when the control cycle is the shortest, and a smaller reward value is given as the control cycle becomes longer. Communication parameters are recorded in the estimation model and the best communication parameters are selected. In the communication unit 41, using the estimated communication parameters, break-in operation is performed again to measure the communication status and communication quality. By repeating these processes, it is possible to search for the optimum combination of communication parameters and obtain the optimum control cycle of the control system.
  • Embodiment 3 it is possible to divide communication frames of time slots with low priority and improve real-time control via a network.

Landscapes

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

Abstract

ネットワークを介した制御のリアルタイム性を向上させる。少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムにおいて行われる、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する方法は、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定するステップ(S2)と、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定するステップ(S3,S4)とを含む。

Description

制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム
 本開示は、制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システムに関する。
 従来、制御システムに含まれるネットワークの通信帯域を最適化する方法が知られている。たとえば、特表2004-533184号公報(特許文献1)には、ネットワークを介したデータ伝送のための方法であって、データ伝送の予め定められた要件を満たすようデータ伝送速度を高めるために、データ・パケット・サイズがネットワーク状況に適応される方法が開示されている。当該方法においては、ファジー・ロジック・アナライザまたはニューラル・ネットワーク・アナライザによって、最適なパケットサイズおよび最適なパケット間隔が決定される。
 制御対象(たとえば産業機器または車載機器)に対するリアルタイム処理が必要とされる制御システムにおいて、当該制御システムを統合的に制御するマスタ装置は、イーサネット(登録商標)等のネットワークを介して、当該制御対象を直接に制御する制御装置と接続されることが多い。マスタ装置は、当該ネットワークを介して、制御装置および制御対象に対する制御に必要な情報を含む制御系データを定時に(たとえばサンプリングタイム毎に)制御装置に送信する。マスタ装置は、制御対象から取得されたデータを解析して、当該制御対象を制御する。リアルタイム処理が必要とされる制御システムにおいて、制御系データは、定時に送信される性質(定時性)を有する。本開示においては、定時性を有するデータの通信を定時性通信とも呼ぶ。
特表2004-533184号公報
 制御系データの通信が行われるネットワークにおいては、制御系データよりも定時性が低い、制御装置の状態を監視するための情報系データの通信も行われる。その結果、当該ネットワークの通信帯域が情報系データに起因して変動する。また、制御装置の通信機能に起因する遅延、あるいはマスタ装置と制御装置との通信を中継する中継装置で発生する輻輳等によっても、当該ネットワークの通信帯域が変動する。さらに、当該ネットワークに含まれる装置の接続形態によっても制御系データの通信に使用される伝送路の通信帯域は変動する。
 制御系データの通信が行われるネットワークの通信帯域は、様々な要因によって動的に変動し得る。そのため、リアルタイム性を維持しながら制御システムを正常に稼働させるためには、当該ネットワークの通信帯域を動的に変動させる様々な要因を考慮して、制御システムのパラメータを適切に設定する必要がある。
 しかし、特許文献1に開示されている方法においては、制御系データの通信フレームが他のデータの通信フレームから識別されていないため、制御系データの通信が行われるネットワークの通信帯域を動的に変動させる要因を、定時性通信に関わるパラメータの設定に反映させることが困難である。また、特許文献1においてパケットサイズおよびパケット間隔の最適化のために測定されるパラメータは、接続の待ち時間および揺らぎのみである。そのため、特許文献1に開示されている方法によると、ネットワークの通信帯域を動的に変動させる、接続の待ち時間および揺らぎ以外の要因をパラメータ設定に反映させることが困難になり得る。その結果、制御系データの定時性通信を実現することが困難になり得る。
 本開示は、上記のような課題を解決するためになされたものであり、その目的は、ネットワークを介した制御のリアルタイム性を向上させることである。
 本開示の一局面に係る方法は、少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムにおいて行われる、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する方法である。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。ネットワークの通信帯域に関する通信パラメータを最適化する方法は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定するステップと、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定するステップと、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定するステップとを含む。
 本開示の他の局面に係る装置は、制御システムに含まれる複数の通信装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する。制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信される。複数の通信装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。装置は、測定部と、推定部と、判定部とを備える。測定部は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。推定部は、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。判定部は、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
 本開示の他の局面に係るプログラムは、処理回路によって実行されることにより、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する。制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信される。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。処理回路によって実行されることによりプログラムは、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。処理回路によって実行されることによりプログラムは、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。処理回路によって実行されることによりプログラムは、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
 本開示の他の局面に係る制御システムは、少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する。制御システムは、複数の装置を備える。複数の装置は、少なくとも1つのマスタ装置と、少なくとも1つの制御装置と、少なくとも1つの中継装置とを含む。少なくとも1つのマスタ装置は、制御系データを送信する。少なくとも1つの制御装置には、少なくとも1つの制御対象が接続される。少なくとも1つの中継装置は、少なくとも1つのマスタ装置と少なくとも1つの制御装置とを中継する。複数の装置に含まれる装置のいずれかである特定装置は、複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する装置である。特定装置は、測定部と、推定部と、判定部とを備える。測定部は、通信パラメータに初期値が設定された制御システムが運転された場合のネットワークの通信状況に関する第1パラメータとネットワークの通信品質に関する第2パラメータとを測定する。推定部は、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定する。判定部は、推定された通信パラメータが設定された制御システムが運転された場合の通信帯域が目標条件を充足するか否かを判定する。
 本開示に係る方法、装置、プログラム、および制御システムによれば、第1パラメータおよび第2パラメータを含む入力パラメータから通信パラメータを推定することにより、ネットワークを介した制御のリアルタイム性を向上させることができる。
実施の形態1に係る制御システムの構成を示すブロック図である。 図1のマスタ装置のハードウェア構成を示すブロック図である。 マスタ装置と制御装置との間で行われる定時性通信に用いられる通信フレームの一例を示す図である。 制御システムにおいて行われる、パラメータ設定処理の流れを示すフローチャートである。 強化学習のフレームワークを説明するための図である。 マスタ装置に含まれる機械学習器の入力パラメータおよび出力パラメータ(推定パラメータ)を説明するための図である。 マスタ装置の機能構成を示すブロック図である。 図4のフローチャートを強化学習の例に合わせて具体化したフローチャートである。 実施の形態2に係る制御システムの構成を示すブロック図である。 図9のマスタ装置と制御装置との間における時刻同期の手順の一例を示すシーケンス図である。 時刻同期されたネットワークにおいて、定時性通信が制御周期で繰り返し行われる様子を示す図である。 図11の制御用タイムスロットを拡大した図である。 実施の形態2,3の各々に係る制御システムにおいて行われる定時制通信の制御周期に含まれる各タイムスロットの通信フレーム構成の一例を示す図である。
 以下、本開示の実施の形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
 実施の形態1.
 図1は、実施の形態1に係る制御システム100の構成を示すブロック図である。制御システム100は、マスタ装置1(特定装置)と、複数の制御装置21~2N(Nは2以上の自然数)と、中継装置3とを備える。マスタ装置1は、通信部41を含む。複数の制御装置21~2Nは、通信部421~42Nをそれぞれ含む。中継装置3は、通信部43を含む。通信部41,421~42N,43の各々は、イーサネットの通信プロトコルに対応するネットワーク機能を有する。なお、図1においては、制御システム100に含まれるマスタ装置1の数および中継装置3の数がいずれも1である場合が示されているが、マスタ装置1の数および中継装置3の数の各々は2以上であってもよい。
 マスタ装置1は、中継装置3を介して、複数の制御装置21~2Nに接続されている。通信部41は、伝送路5を介して通信部43に接続されている。通信部421~42Nの各々は、伝送路5を介して、通信部43に接続されている。マスタ装置1、複数の制御装置21~2N、および中継装置3は、中継装置3をハブ(または、ルート)とするスター型(または、ツリー型)のネットワークを形成している。
 制御装置21は、制御点611~618を含む。制御点611~618の各々は、センサ7と通信を行うためのインターフェースである。制御装置22は、制御点621~629を含む。制御点621は、センサ7(制御対象)と通信を行うためのインターフェースである。制御点622~629の各々は、アクチュエータ8(制御対象)と通信を行うためのインターフェースである。制御装置2Nは、制御点6N1~6NM(Mは自然数)を含む。制御点6N1~6NMの各々は、アクチュエータ8と通信を行うためのインターフェースである。
 マスタ装置1は、制御装置21を制御することにより、制御点611~618の各々に接続されたセンサ7を制御する。マスタ装置1は、制御装置22を制御することにより、制御点621に接続されたセンサ7、および制御点622~629の各々に接続されたアクチュエータ8を制御する。マスタ装置1は、制御装置2Nを制御することにより、制御点6N1~6NMの各々に接続されたアクチュエータ8を制御する。
 マスタ装置1は、制御装置21を介して制御点611~618の各々に接続されたセンサ7によって測定された測定データを取得する。マスタ装置1は、当該測定データを解析して、アクチュエータ8を操作する指令(操作指令)を決定する。マスタ装置1は、制御点621~629の各々に接続されたアクチュエータ8への操作指令を制御装置22に送信する。マスタ装置1は、制御点6N1~6NMの各々に接続されたアクチュエータ8への操作指令を制御装置2Nに送信する。制御装置22は、マスタ装置1からの操作指令に従って、制御点621~629の各々に接続されたアクチュエータ8を操作する。制御装置2Nは、マスタ装置1からの操作指令に従って、制御点6N1~6NMの各々に接続されたアクチュエータ8を操作する。
 リアルタイム処理を実現するために、制御システム100は、予め定められた間隔(たとえば制御周期またはサンプリングタイム)内でセンサ7の測定データを取得して、当該測定データに応じてアクチュエータ8の操作を完了する必要がある。マスタ装置1は、制御装置21~2Nと定期的な通信周期(定時性通信周期)で通信し、制御装置21~2Nを制御する。制御装置21は、制御点611~618の各々に接続されたセンサ7と定期的な通信周期(データ取得周期)で通信し、センサ7の測定データを取得する。制御装置22は、制御点621に接続されたセンサ7とデータ取得周期で通信し、センサ7の測定データを取得する。制御装置22は、制御点622~629の各々に接続されたアクチュエータ8と定期的な通信周期(操作周期)で通信し、アクチュエータ8を操作する。制御装置2Nは、制御点6N1~6NMの各々に接続されたアクチュエータ8と操作周期で通信し、アクチュエータ8を操作する。
 図2は、図1のマスタ装置1のハードウェア構成を示すブロック図である。マスタ装置1、制御装置21~2N、および中継装置3は、典型的には同様のハードウェア構成を有するネットワーク機器である。ここでは、マスタ装置1、制御装置21~2N、および中継装置3を代表して、マスタ装置1のハードウェア構成について説明する。
 図2に示されるように、マスタ装置1は、通信部41と、処理回路412と、記憶装置413と、入出力部44とを含む。通信部41、処理回路412、記憶装置413、および入出力部44は、バス45によって結合されている。
 通信部41には、有線または無線で構成される伝送路5が接続されている。マスタ装置1は、通信部41、伝送路5、および中継装置3を介して、制御装置21~2Nと通信する。
 処理回路412は、たとえばCPU(Central Processing Unit)を含む。処理回路412は、GPU(Graphics Processing Unit)を含んでいてもよい。処理回路412は、記憶装置413に記憶されたプログラムを読み出して実行することにより、マスタ装置1の各部の動作を制御する。当該プログラムには、たとえばOS(Operating System)プログラム、システム制御プログラム、および機械学習プログラムが含まれる。処理回路412は、当該プログラムを実行することによって、後述するマスタ装置1の機能を実現する。なお、マスタ装置1は、複数の処理回路412を有していてもよい。
 記憶装置413は、たとえばRAM(Random Access Memory)、ROM(Read-Only Memory)、あるいはフラッシュメモリ等によって実装される。記憶装置413は、たとえば、処理回路412によって実行されるプログラム、あるいは処理回路412によって用いられるデータなどを記憶する。
 入出力部44は、ユーザからの操作を受けるとともに、処理結果をユーザに出力する。入出力部44は、たとえば、マウス、キーボード、タッチパネル、ディスプレイ、およびスピーカを含む。
 図3は、マスタ装置1と制御装置21~2Nとの間で行われる定時性通信に用いられる通信フレームCF1の一例を示す図である。通信フレームCF1は、制御系データの通信フレームである。通信フレームCF1は、ヘッダー10と、複数の制御装置データ11と、FCS(Frame Check Sequence)13とを含む。複数の制御装置データ11は、制御装置21~2Nに関する情報をそれぞれ含み、ヘッダー10とFCS13との間に配置されている。制御装置データ11は、複数の制御点データ12を含む。複数の制御点データ12は、対応する制御装置に含まれる複数の制御点に関する情報をそれぞれ含む。なお、制御系データの通信フレームは、図3に示される通信フレームCF1の構成に限定されない。制御系データの通信フレームは、複数のフレームに分かれていてもよい。
 マスタ装置1に接続する制御装置21~2Nの数N、および制御装置21~2Nに含まれる制御点の数(制御対象の数)によって、通信フレームCF1のデータサイズは変わる。そのため、通信フレームCF1のデータサイズによって制御系データの通信に要する時間が変化する。
 伝送路5を介して制御系データが送信されるとともに受信されるため、伝送路5の通信帯域によって制御系データの通信に要する時間が変化する。伝送路5においては、制御系データの通信以外に制御装置21~2Nの状態を監視するための、定時性が制御系データより低い情報系データの通信も制御系データと同じ回線を用いて行われる。そのため、情報系データの通信量によって伝送路5の通信帯域が変動する。また、通信部41内で発生する処理遅延、あるいは中継装置3で発生する輻輳等によっても、伝送路5の通信帯域が変動する。さらに、マスタ装置1と制御装置21~2Nとの接続態様、あるいは、制御装置21~2Nとセンサおよびアクチュエータとの接続態様によっても伝送路5の通信帯域は変動する。
 制御系データの通信帯域を変動させる要因には、上述のように動的な要因が多い。そのため、制御システム100の予め定められた構成に応じて、リアルタイム処理を実現するための最適な通信帯域を求めることは困難である場合が多い。動的に通信帯域を変動させる要因が制御系データの定時性通信に関する通信パラメータの設定に反映されない場合、制御システム100のリアルタイム性を実現することが困難になり得る。
 そこで、制御システム100においては、動的に通信帯域を変動させる要因を、機械学習を介して定時性通信に関する通信パラメータの設定に反映させる。図4は、制御システム100において行われる、パラメータ設定処理の流れを示すフローチャートである。以下では、ステップを単にSと記載する。
 図4に示されるように、S1において、制御システム100のならし運転(試運転)が行われ、制御システム100において形成されているネットワークの通信状況に関するパラメータ(第1パラメータ)および当該ネットワークの通信品質に関するパラメータ(第2パラメータ)が測定される。ならし運転において、制御システム100の通信パラメータは、予め定められた初期値に設定されている。通信パラメータは、ネットワークの通信状況に関するパラメータ、ネットワークの構成に関するパラメータ(第3パラメータ)、制御装置21~2Nの構成に関するパラメータ(第4パラメータ)、制御装置21~2Nの制御点611~6NMの各々と制御対象との通信状況に関するパラメータ(第5パラメータ)、および制御装置21~2Nの制御点611~6NMの各々と制御対象との通信品質に関するパラメータ(第6パラメータ)の少なくとも1つを含む。S1においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが測定されてもよい。
 ネットワークの構成に関するパラメータは、マスタ装置1の個数、制御装置21~2Nの個数、中継装置3の個数、ネットワークに含まれる装置の総数、ネットワークにおける複数の装置の接続形態、および当該複数の装置の各々がネットワークを介して通信する装置の数の少なくとも1つを含む。制御装置21~2Nの構成に関するパラメータは、センサ7およびアクチュエータ8のそれぞれに対応する複数の制御対象の種別、当該複数の制御対象の種別の各々の数、制御装置21~2Nの数、制御装置21~2Nとセンサ7およびアクチュエータ8との接続形態、ならびに制御装置21~2Nの各々が通信する制御対象の数、制御装置21~2Nに含まれる制御点の数、各制御点にそれぞれ接続された制御対象の数、ネットワークにおいてマスタ装置1から中継装置3を介して制御装置21~2Nに至る伝送路の数、制御点と制御対象との接続形態、および制御点から制御対象に至る伝送路の数の少なくとも1つを含む。
 ネットワークの通信状況に関するパラメータは、たとえば、通信フレームに含まれるデータの種別、制御システム100に含まれるネットワークの通信速度、当該ネットワークにおいて通信される単位時間当たりの通信量、連続して送信される2つの通信フレームの時間間隔、および複数の通信フレームが通信される順番の少なくとも1つを含む。ネットワークの通信品質に関するパラメータは、当該ネットワークにおける通信フレームの損失量、および通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む。
 制御対象との通信状況に関するパラメータは、制御点の各々における通信速度、制御点の各々において通信される単位時間当たりの通信量、当該制御点において連続して通信される2つの通信フレームの時間間隔、当該制御点において通信される複数の通信フレームの順番の少なくとも1つを含む。制御対象との通信品質に関するパラメータは、制御点における通信フレームの損失量、および通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む。
 S2において、機械学習によって学習済みモデルに最適化される推定モデルによって、制御システム100の定時性通信に最適な通信パラメータが推定される。なお、機械学習には、教師あり学習、教師なし学習、あるいは強化学習を挙げることができる。S1においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが推定されてもよい。
 S3において、S2で推定されたパラメータを用いるならし運転が再び行われ、制御システム100に含まれるネットワークの通信状況および通信品質が測定される。S3においては、制御対象との通信状況に関するパラメータおよび制御対象との通信品質に関するパラメータが測定されてもよい。
 S4において、S3で測定された通信品質が予め定められた目標条件を満たすか否かが判定される。当該目標条件は、マスタ装置1による制御対象の測定データの取得および制御対象の操作を完了するまでに要する時間が制御周期以内という条件である。当該目標条件は、たとえば、推定されたパラメータが設定された制御システム100が運転された場合の通信帯域の下で、制御周期以内に、マスタ装置1が少なくとも1つの制御対象からデータを取得し、当該データの解析結果に応じた制御系データを少なくとも1つの制御対象に送信することが完了するという条件を含む。
 当該目標条件が満たされていない場合(S4においてNO)、再びS2が行われる。当該条件が満たされた場合(S4においてYES)、S5において最適なパラメータがユーザに通知される。ユーザは、当該パラメータを用いて制御システム100の実際の運用を開始することができる。
 図4に示される処理において、異なるパラメータ設定の下でのならし運転が繰り返し試行される。ならし運転の繰り返しにより、制御システム100に求められるリアルタイム性を実現するために最適なパラメータが探索される。
 なお、図4のS1~S3は、制御システム100の運転開始時に実行されるか、予め定められた周期で定期的に実行されるか、またはネットワークの通信状況に関するパラメータ、ネットワークの構成に関するパラメータおよび制御装置21~2Nの構成に関するパラメータの少なくとも一方が変更された場合に実行される。
 以下では、図4のS2の機械学習が強化学習である場合について説明する。強化学習を用いることにより、教師あり学習と比較して、予め教師データを用意する必要がない。
 図5は、強化学習のフレームワークを説明するための図である。図5に示されるように、強化学習のフレームワークは、エージェントAgt、環境Env、およびエージェントAgtと環境Envとの間の相互作用から構成される。エージェントAgtは、行動aを決定する主体である。制御システム100においては、マスタ装置1に含まれる機械学習器がエージェントAgtに対応する。環境Envは、エージェントAgtが相互作用を行なう対象である。マスタ装置1によって直接的に統合制御されて状態が変化する制御システム100が環境Envに対応する。
 具体的には、エージェントAgtは、時刻tにおける環境の状態sを観測する。エージェントAgtは、状態sの観測結果と過去の学習に基づいて行動aを選択して行動aを実行する。行動aが実行されることで環境の状態sが次の状態st+1へと変化する。状態の変化に応じて、エージェントAgtに報酬rt+1が与えされる。エージェントAgtが状態s、行動a、報酬rt+1、および過去に学習した結果を用いて学習を進め、最適な方策が得られるように行動選択を収束させていく。
 強化学習においては、環境Env内におけるエージェントAgtが、現在の状態を観測し、取るべき行動を決定する。エージェントAgtは行動を選択することで環境Envから報酬を得て、一連の行動を通じて報酬が最も多く得られるような方策を学習する。強化学習の代表的な手法として、たとえば、Q学習、TD(Temporal Difference)学習が知られている。Q学習の場合、行動価値関数Q(s,a)(行動価値テーブル)の一般的な更新式は以下の式(1)で表される。
Figure JPOXMLDOC01-appb-M000001
 式(1)において、sは、時刻tにおける状態を表す。aは、時刻tにおける行動を表す。行動aにより、状態はsからst+1に変わる。rt+1は状態の変化によって環境から与えられる報酬を表す。γは、割引率を表す。αは、学習係数を表す。なお、割引率γの範囲は、0<γ≦1である。学習率αの範囲は、0<α≦1である。
 式(1)で表される更新式は、時刻t+1における最良の行動at+1の行動価値が時刻tにおいて実行された行動aの行動価値よりも大きければ、行動aの行動価値を増加させる。時刻t+1における最良の行動at+1の行動価値が、時刻tにおいて実行された行動aの行動価値よりも小さい場合、行動aの行動価値を減少させる。すなわち、時刻tにおける行動aの行動価値を、時刻t+1における最良の行動at+1の行動価値に近づけるように、行動価値関数Q(s,a)が式(1)によって更新される。その結果、或る時刻の状態における最良の行動価値が、当該時刻以前の状態における行動価値に順次伝播していく。
 図6は、マスタ装置1に含まれる機械学習器としての推定部20の入力パラメータsおよび出力パラメータa(推定パラメータ)を説明するための図である。入力パラメータsは、強化学習の状態に対応する状態変数である。出力パラメータaは、強化学習の行動に対応する行動値である。図6に示されるように、入力パラメータsには、通信フレームに関する情報(通信状況)s_frm、通信品質s_qlt、ネットワーク構成s_ntw、および制御装置構成s_cntが含まれる。出力パラメータaには、通信フレームに関する情報a_frm、ネットワーク構成a_ntw、および制御装置構成a_cntが含まれる。
 通信フレーム情報s_frm,a_frmには、通信フレームの種別(たとえば制御系データであるか、または情報系データであるかを示すフラグ)、通信帯域(たとえばネットワークの通信速度、または当該ネットワークにおいて通信される単位時間当たりの通信量(パケットデータサイズ))、および通信手順(たとえば、連続して送信される2つの通信フレームの時間間隔、または複数の通信フレームが通信される順番)が含まれる。
 通信品質s_qltには、通信フレームの損失量、および通信フレームの遅延時間(通信フレームが送信されてから受信されるまでの時間間隔)が含まれる。制御系データの損失および遅延は、制御システム100の誤動作を生じさせる。情報系データの損失および遅延は、音声または画像の品質の低下、あるいは音声または画像の乱れを生じさせる。
 ネットワーク構成s_ntw,a_ntwには、マスタ装置1に関する情報、複数の制御装置21~2Nの各々に関する情報、中継装置3に関する情報、マスタ装置1の個数、複数の制御装置21~2Nの個数、中継装置3の個数、制御システム100に含まれる総装置数、制御システム100における複数の装置の接続形態(たとえばピアツーピア、ツリー、あるいはデイジーチェーン等)、および接続形態に応じた、各装置が通信する装置数が含まれる。
 制御装置構成s_cnt,a_cntには、複数の制御装置21~2Nの各々について、当該制御装置によって制御される、センサ7に関する情報、アクチュエータ8に関する情報、センサ7の個数、アクチュエータ8の個数、センサ7およびアクチュエータ8の総数、センサ7およびアクチュエータ8と対応する制御装置との接続形態(たとえば、ピアツーピア、ツリー、あるいはデイジーチェーン等)、ならびに当該接続形態に応じた、センサ7およびアクチュエータ8の各々が通信する装置数が含まれる。
 図7は、マスタ装置1の機能構成を示すブロック図である。マスタ装置1は、通信部41に加えて、推定部20と、ユーザ通知部60と、測定部70と、判定部71と、パラメータ設定部80とをさらに含む。推定部20は、学習部30と、状態観測部31と、行動選択部40とを含む。
 測定部70は、通信部41と中継装置3との間で行われる通信の品質を測定する。状態観測部31は、測定部70から取得される、通信フレーム情報s_frmと、通信品質s_qltと、ネットワーク構成s_ntwと、制御装置構成s_cntとを状態変数として観測する。
 判定部71は、推定部20によって推定された通信パラメータが設定された制御システム100が運転された場合の通信帯域が目標条件を充足するか否かを判定する。判定部71は、判定結果をユーザ通知部60に出力する。
 推定部20は、通信フレーム情報s_frmと、通信品質s_qltと、ネットワーク構成s_ntwと、制御装置構成s_cntとを用いて作成される機械学習用のデータセットに従って、制御システム100を最適化するための通信状況と、通信品質と、ネットワーク構成と、制御装置構成とを学習する。推定部20は、報酬基準設定部32と、報酬計算部33と、関数更新部34と、学習結果記憶部35とを含む。
 学習結果記憶部35は、機械学習によって最適化される推定モデルM1を記憶する。強化学習においては、学習結果記憶部35は、推定モデルM1を行動価値関数Q(Qテーブル)として記憶する。行動価値関数Q(s,a)は、推定部20の学習結果である。なお、強化学習開始時の初期状態においては、行動価値テーブルの報酬は0である。
 行動選択部40は、学習結果記憶部35に記憶された行動価値関数Q(s,a)を用いて、次の行動を選択する。典型的には、行動選択部40は、初期状態においては、ランダムに分類情報および各グループの同期周期を選択する。行動選択部40は、学習途中段階においては、たとえば、ε-greedy法を用いて、次の行動を選択する。ε-greedy法とは、一定の確率εで、或る環境において取り得る行動のうち一つをランダムに選び、(1-ε)の確率で或る環境において最大のQ値を有する行動を選択する手法である。なお、その他の公知の行動選択方式が採用されてもよい。行動選択部40により選択された次の行動が、推定部20の出力(推定)パラメータとなる。
 報酬基準設定部32は、推定モデルM1の学習に用いられる報酬をどのような基準で増加または減少させるのかを規定する報酬基準値を設定する。報酬計算部33は、報酬基準設定部32により設定された報酬基準値と、状態観測部31により観測された状態変数とを用いて報酬を計算する。
 関数更新部34は、報酬計算部33によって計算された報酬に従って、推定部20の出力パラメータを決定するための関数を更新する。関数更新部34は、学習結果記憶部35に記憶された行動価値テーブル(推定モデルM1)を更新することにより当該関数を更新する。行動価値テーブルは、任意の行動と、当該行動の行動価値とを関連付けてテーブルの形式で記憶されたデータセットである。たとえば、Q学習の場合、式(1)で表される行動価値関数Q(s,a)が、出力パラメータを求めるための関数として用いられる。関数更新部34は、行動価値テーブルの更新が行われなくなり行動価値関数Q(s,a)が収束した場合、推定部20による学習は終了したと判定する。この場合、行動選択部40は、収束した行動価値関数Q(s,a)に基づいて報酬が最も多く得られる次の行動を選択する。
 以下では、報酬基準設定部32によって設定される報酬基準値の例について説明する。報酬基準値は、どのような観点から行動を評価するかで異なる。どの観点において制御システム100を最適化するか、あるいは様々な観点のバランスをとって制御システムを最適化するかは、報酬基準設定部32において予め選択することができる。
 表1は、通信フレーム情報に含まれる各パラメータ(状態変数)に対して、制御システム100の性能を向上させるか否かという観点で報酬基準値が決定される例を示す表である。表1においては、状態変数として、制御系データの比率と情報系データの比率、通信速度、通信量、通信フレーム間隔、および通信フレームの通信順番が示されている。制御系データの比率は、単位時間当たりの通信フレームの総数に対する、制御系データを含む通信フレームの数の比率である。情報系データの比率は、単位時間当たりの通信フレームの総数に対する、情報系データを含む通信フレームの数の比率である。
Figure JPOXMLDOC01-appb-T000002
 報酬基準設定部32は、制御系データの比率が情報系データの比率に対して大きくなると制御システム100の性能が向上すると仮定し、制御系データの比率が情報系データの比率に対して大きくなる場合の報酬基準値を、現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、制御系データの比率が情報系データに対して小さくなると制御システムの性能が劣化すると仮定し、制御系データの比率が情報系データの比率に対して小さくなる場合の報酬基準値を現在の値よりも小さい値に設定する。同様に、報酬基準設定部32は、通信速度が速くなる場合、通信量が多くなる場合、通信フレーム間隔が短くなる場合、および制御系データが情報系データよりも優先的に送信されるようになる場合の報酬基準値を現在の値よりも大きい値に設定する。また、報酬基準設定部32は、通信速度が遅くなる場合、通信量が少なくなる場合、通信フレーム間隔が短くなる場合、および情報系データが制御系データよりも優先的に送信されるようになる場合の報酬基準値を現在の値よりも小さい値に設定する。
 表2は、通信フレーム情報に含まれる各パラメータに対して、制御システム100の通信品質が向上するか否かという観点で報酬基準値が決定される例を示す表である。表2においては、表1に示される通信速度、通信量、および通信フレーム間隔が状態変数として示されている。
Figure JPOXMLDOC01-appb-T000003
 報酬基準設定部32は、通信速度が速くなると通信品質が劣化すると仮定し、通信速度が速くなる場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、通信速度が遅くなると通信品質が向上すると仮定し、通信速度が遅くなる場合の報酬基準値を現在の値よりも大きい値に設定する。同様に、報酬基準設定部32は、通信量が多くなる場合、および通信フレーム間隔が短くなる場合の報酬基準値を現在の値よりも小さい値に設定する。また、報酬基準設定部32は、通信量が少なくなる場合、および通信フレーム間隔が長くなる場合の報酬基準値を現在の値よりも大きい値に設定する。
 表3は、通信品質に関する各パラメータに対して、報酬基準値が決定される例を示す表である。表3においては、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレーム比率が状態変数として示されている。通信フレームの遅延時間は、通信目標時間に対する遅延時間である。遅延通信フレームの比率は、単位時間当たりの通信フレームの総数に対する、通信目標時間に対して遅延した通信フレームの数の比率である。
Figure JPOXMLDOC01-appb-T000004
 通信フレームの欠損率が減少すると通信品質が向上するため、報酬基準設定部32は、当該欠損率が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、通信フレームの欠損率が増加すると通信品質が低下するため、報酬基準設定部32は、当該欠損率が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。また、報酬基準設定部32は、通信フレームの遅延時間が短縮すると中継装置3等での輻輳が減少して通信帯域が上昇すると仮定し、当該遅延時間が短縮する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、遅延時間が延長すると輻輳が増加して通信帯域が低下すると仮定し、当該遅延時間が延長する場合の報酬基準値を現在の値よりも小さい値に設定する。さらに、報酬基準設定部32は、遅延通信フレームの比率が減少すると通信目標時間内に到達する通信フレームが増加すると仮定し、当該比率が減少する場合の報酬基準値を現在の値よりも大きく設定する。一方、報酬基準設定部32は、遅延通信フレームの比率が増加すると通信目標時間内に到達する通信フレームが少なくなると仮定し、当該比率が増加する場合の報酬基準値を現在の値よりも小さく設定する。
 表4は、制御システム100においてネットワークを形成するマスタ装置1および制御装置21~2Nに関する各パラメータに対して、制御システム100の性能を向上させるか否かという観点で報酬基準値が決定される例を示す表である。
Figure JPOXMLDOC01-appb-T000005
 報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が増加すると制御システムの規模が大きくなって制御システム100全体の性能が向上すると仮定し、マスタ装置1の数および制御装置21~2Nの数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が減少すると制御システム100の規模が小さくなって制御システム100全体の性能が低下すると仮定し、マスタ装置1の数または制御装置21~2Nの数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
 なお、マスタ装置1の数および制御装置21~2Nの数の各々の変化(増加または減少)については、一旦、マスタ装置1および制御装置21~2Nを停止して、ならし運転を再開させる手順において、マスタ装置1の数および制御装置21~2Nの数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にマスタ装置1の数および制御装置21~2Nの数を変化させることが可能な場合、ならし運転を停止させることなく、マスタ装置1の数および制御装置21~2Nの数の各々の変化を検知して、マスタ装置1の数および制御装置21~2Nの数の各々の情報も推定部20に入力することにより、マスタ装置1の数および制御装置21~2Nの数を状態変数として機械学習を進めることができる。以下で説明する表5に関しても同様である。
 表5は、制御システム100においてネットワークを形成するマスタ装置1および制御装置21~2Nに関する各パラメータに対して、制御システム100のコストを減少させるか否かという観点で報酬基準値が決定される例を示す表である。
Figure JPOXMLDOC01-appb-T000006
 報酬基準設定部32は、マスタ装置1の数または制御装置21~2Nの数が増加すると制御システム100の規模が大きくなって制御システム100のコスト(たとえば全装置の購入費用および全装置の維持費用等)が増加すると仮定し、マスタ装置1の数または制御装置21~2Nの数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、マスタ装置1の数または制御装置21~2Nの数が減少すると制御システム100の規模が小さくなって制御システム100のコストが減少すると仮定し、マスタ装置1の数または制御装置21~2Nの数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 表6は、制御装置21~2Nによって直接制御されるセンサ7およびアクチュエータ8に関する各パラメータに対して、制御システム100の性能が向上するか否かという観点で報酬基準値が決定される例を示す表である。
Figure JPOXMLDOC01-appb-T000007
 報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が増加すると制御システム100の規模が大きくなって制御システム100の性能が向上すると仮定し、センサ7の数またはアクチュエータ8の数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が減少すると制御システム100の規模が小さくなって制御システム100の性能が低下すると仮定し、センサ7の数またはアクチュエータ8の数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
 なお、センサ7の数およびアクチュエータ8の各々の数の変化(増加または減少)については、一旦、センサ7およびアクチュエータ8を停止して、ならし運転を再開させる手順において、センサ7の数またはアクチュエータ8の数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にセンサ7の数およびアクチュエータ8の数を変化させることが可能な場合、ならし運転を停止させることなく、センサ7の数およびアクチュエータ8の数の各々の変化を検知して、センサ7の数およびアクチュエータ8の数の各々の情報も推定部20に入力することにより、センサ7の数およびアクチュエータ8の数の各々を状態変数として機械学習を進めることができる。以下で説明する表7に関しても同様である。
 表7は、制御装置21~2Nによって直接制御される制御対象に関する各パラメータに対して、制御システム100のコストを減少させるか否かという観点で報酬基準値が決定される例を示す表である。制御システム100においては、制御対象は、センサ7およびアクチュエータ8を含む。
Figure JPOXMLDOC01-appb-T000008
 報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が増加すると制御システム100の規模が大きくなって制御システム100のコストが増加すると仮定し、センサ7の数またはアクチュエータ8の数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、センサ7の数またはアクチュエータ8の数が減少すると制御システム100の規模が小さくなって制御システム100のコストが減少すると仮定し、センサ7の数またはアクチュエータ8の数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 表8は、マスタ装置1および複数の制御装置21~2Nの接続形態、および制御装置21~2Nおよび制御装置21~2Nによって直接接続される制御対象の接続形態に関する各パラメータに対して、制御システム100の性能が向上するか否かの観点で報酬基準値が決定される例を示す表である。制御システム100において形成されるネットワークにおいては、様々な接続形態が想定され得る。
Figure JPOXMLDOC01-appb-T000009
 ピアツーピアで接続された装置間の通信においては、当該装置以外の他の装置との通信の輻輳が発生しない。そこで、報酬基準設定部32は、ピアツーピアで接続された装置数が増加すると通信帯域を増加させることができると仮定し、ピアツーピアで接続された装置数が増加する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、ピアツーピアで接続された装置数が減少すると通信帯域を減少させる必要があると仮定し、ピアツーピアで接続された装置数が減少する場合の報酬基準値を現在の値よりも小さい値に設定する。
 ツリーで接続された装置間の通信においては、ツリーのノードまたはルートに対応する中継装置3に通信が集中し易いため、中継装置3において輻輳が発生し易い。そこで、報酬基準設定部32は、ツリーで接続された装置数が増加すると1経路当たりの通信帯域を減少させる必要があると仮定し、ツリーで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、ツリーで接続された装置数が減少すると1経路当たりの通信帯域を増加させることができると仮定し、ツリーで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 デイジーチェーンで接続された装置の数が増加するほど、当該装置間に接続された中継装置3の数が増加し得るため、中継装置3において輻輳が発生し易い。そこで、報酬基準設定部32は、デイジーチェーンで接続された装置数が増加すると1経路当たりの通信帯域を減少させる必要があると仮定し、デイジーチェーンで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、デイジーチェーンで接続された装置数が減少すると1経路当たりの通信帯域を増加させることができると仮定し、デイジーチェーンで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 中継装置3において発生する輻輳による遅延はデイジーチェーンよりもツリーの方が短いことが、たとえば中継装置3の仕様、シミュレーション、または実機実験から予想されている場合、ツリーで接続された装置数がデイジーチェーンで接続された装置数よりも大きければ通信帯域を増加させることができる。そこで、報酬基準設定部32は、ツリーで接続された装置数がデイジーチェーンで接続された装置数より大きくなる場合の報酬基準値を現在の値よりも大きい値に設定する。
 なお、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の変化(増加または減少)については、一旦、マスタ装置1、制御装置21~2N、および制御対象を停止して、ならし運転を再開させる手順において、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を状態変数とする機械学習を進めることができる。また、プラグアンドプレイ(PnP:Plug and Play)のように通信中にピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を変化させることが可能な場合、ならし運転を停止させることなく、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の変化を検知して、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々の情報も推定部20に入力することにより、ピアツーピアで接続された装置数、ツリーで接続された装置数、およびデイジーチェーンで接続された装置数の各々を状態変数として機械学習を進めることができる。以下で説明する表9に関しても同様である。
 表9は、マスタ装置1および複数の制御装置21~2Nの接続形態、ならびに制御装置21~2Nおよび制御装置21~2Nによって直接接続される制御対象の接続形態に関する各パラメータに対して、制御システム100のコストが減少するか否かの観点で報酬基準値が決定される例を示す表である。
Figure JPOXMLDOC01-appb-T000010
 装置間のピアツーピアでの接続において、当該装置間の接続に必要なケーブル数は、ツリーまたはデイジーチェーン等の他の接続形態におけるケーブル数よりも多くなることが多い。そのため、ピアツーピアで接続された装置数が多いほど、制御システム100のコスト(たとえば全ケーブルの購入費用、および全ケーブルの敷設費用等)が増加する。そこで、報酬基準設定部32は、ピアツーピアで接続された装置数が増加すると必要なケーブル数が増加して制御システム100のコストが増加すると仮定して、ピアツーピアで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、ピアツーピアで接続された装置数が減少すると必要なケーブル数が減少して制御システム100のコストが減少すると仮定して、ピアツーピアで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。なお、実際には、ピアツーピア以外の接続形態においてはケーブル以外に中継装置3等も必要となる。そのため、他の接続形態でのケーブル以外に要するコストを加味して報酬基準値が決定されてもよい。
 ツリーで接続された装置数が増加すると、比較的多くのポートを有する中継装置3が必要になる場合がある。ポート数が多い程、中継装置3の購入コストは増加する場合が多い。そこで、報酬基準設定部32は、ツリーで接続された装置数が増加すると中継装置3のコストが増加して制御システム100のコストが増加すると仮定して、ツリーで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、ツリーで接続された装置数が減少すると中継装置3のコストが減少して制御システム100のコストが減少すると仮定して、ツリーで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 デイジーチェーンで接続された装置数が増加すると、全装置の購入コストが増加する。そこで、報酬基準設定部32は、デイジーチェーンで接続された装置数が増加すると制御システム100のコストが増加すると仮定して、デイジーチェーンで接続された装置数が増加する場合の報酬基準値を現在の値よりも小さい値に設定する。一方、報酬基準設定部32は、デイジーチェーンで接続された装置数が減少すると制御システム100のコストが減少すると仮定して、デイジーチェーンで接続された装置数が減少する場合の報酬基準値を現在の値よりも大きい値に設定する。
 なお、報酬基準値の設定例は、表1~表9に示される設定例に限定されない。たとえば、制御システム100の性能、通信品質、およびコストに関する観点であれば、どのような観点であっても報酬基準値を決定することができる。また、性能とコストという観点以外にも信頼性という観点で報酬基準値が設定されてもよい。
 たとえば、図2の通信フレームにCRC(Cyclic Redundancy Check)が付与される通信フレームの範囲と通信フレームのサイズとの間には、当該範囲を広くすれば、通信の信頼性は向上するが、通信フレームのデータサイズは増加するというトレードオフの関係が存在する。伝送路の品質によっては、CRCを付与せずとも通信の信頼性を確保することができる場合があるため、伝送路の品質に応じてCRCを付与する範囲を変更する必要がある。
 また、伝送路を多重化することによって、信頼性を向上させ得る。しかし、伝送路を多重化するほど、伝送路を形成するケーブルの数、および通信部の回路のコスト等が増加する。
 さらに、通信フレームの再送制御の有無の選択、あるいは、再送回数の増加によっても通信の信頼性を向上させ得る。しかし、再送回数を増やすほど、通信帯域が大きくなるため制御系データが少なくなるというトレードオフが存在する。
 上記のように各観点の間でも報酬基準を変更することによって、様々なトレードオフの関係が存在する。これらの観点およびパラメータの膨大の組合せを、機械学習によって最適な通信パラメータの推定に反映させることができる。
 なお、他の報酬基準の設定方法として、制御システム100に要求される目標を満たさない行動は、機械学習において優先度が低い(あるいは最低)と学習されるように報酬が小さく(あるいは0に)設定されてもよい。制御システム100の目標には、たとえば、制御システム100の規模として、制御システム100に含まれるマスタ装置1の数、制御装置21~2Nの数、センサ7の数、およびアクチュエータ8の数等が含まれる。また、要求されるネットワーク通信周期、センサ取得周期、およびアクチュエータ操作周期等も目標に含まれる。これら以外の制御システム100に関するパラメータも目標に加えられても良い。これらの要求される目標は、必ず達成する必要がある目標と、必ずしも達成する必要のない目標とに分けられてもよい。
 図8は、図4のフローチャートを強化学習の例に合わせて具体化したフローチャートである。図8に示されるように、S1は、S11、S12、およびS13を含む。S11において、マスタ装置1は、制御システム100の通信部41,421~42N,43に関する通信パラメータに初期値を設定する。S12において、マスタ装置1は、初期値が設定された通信パラメータの下でのならし運転を初期試行として実行する。S13において、測定部70は、初期パラメータの下で実行されたならし運転の通信状況および通信品質の測定を行う。S13において測定される項目は、以下で説明するS21,S22において行われる強化学習の入力となる状態変数の一部である。
 S2は、S21、S22、およびS23を含む。S21において、報酬計算部33は、行動選択部40によって選択された行動に対する報酬を計算する。S22において、関数更新部34は、式(1)に示される更新式を用いて行動価値関数を更新する。S23において、ユーザ通知部60は、行動選択部40によって選択された行動である推定された通信パラメータ(出力パラメータ)をユーザに通知する。ユーザは、必要に応じて、パラメータ設定部80を用いて制御システム100に関する通信パラメータを変更してもよいし、ケーブルの繋ぎ変え等を行って、制御システム100に含まれる装置(たとえばマスタ装置1、あるいは制御装置2等)の接続形態を変更してもよい。
 S3は、S31、S32、およびS33を含む。S31において、マスタ装置1は、測定部70の結果を参照して、自動的に通信部に関する通信パラメータ(たとえば通信フレームに関するパラメータ)を変更する。S32において、マスタ装置1は、推定された通信パラメータの下でのならし運転を実行する。S33において、測定部70は、当該ならし運転の通信状況および通信品質の測定を行う。
 S4において、判定部71は、推定パラメータによって目標条件が充足されるか否かを判定する。当該目標条件が充足されていない場合(S4においてNO)、マスタ装置1は、処理をS21に戻す。当該目標条件が充足された場合(S4においてYES)、ユーザ通知部60は、S5において、最適な通信パラメータをユーザに通知して処理を終了する。S5の後に、制御システム100の本格稼働が開始される。
 なお、S2は、制御システム100の性能、通信品質、コスト、および信頼性に関する報酬基準値によって強化学習を行って制御システム100に要求される目標を満たす最適な通信パラメータを推定する処理、または、通信パラメータの一部を固定化もしくは通信パラメータが変動する範囲を制限して強化学習をする処理を含んでもよい。制御システム100の性能に関する報酬基準値は、たとえば、同期周期、タイムスロット幅、通信速度、通信量、および通信フレーム間隔の少なくとも1つを含んでもよい。制御システムの通信品質に関する報酬基準値は、たとえば、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレームの比率の少なくとも1つを含んでもよい。制御システム100のコストに関する報酬基準値は、マスタ装置1の数、中継装置3の数、制御装置21~2Nの数、制御装置21~2Nに含まれる制御点の数、制御対象の数、制御システム100に含まれる複数の伝送路を形成する少なくとも1つのケーブルの長さ、当該少なくとも1つのケーブルの本数、および当該少なくとも1つのケーブルの敷設費用の少なくとも1つを含んでもよい。制御システム100の信頼性に関する報酬基準値は、たとえば、通信フレームへのCRCの付与の有無、通信フレームの再送制御の有無、および再送回数の少なくとも1つを含んでもよい。
 なお、測定部70、判定部71、推定部20、およびユーザ通知部60は、マスタ装置1に実装されている必要はなく、中継装置3、制御装置21~2N、センサ7、あるいはアクチュエータ8に実装されていてもよい。測定部70、判定部71、推定部20、およびユーザ通知部60は、制御システムに含まれる全装置に実装されてもよいし、あるいは或いは、一部の装置に実装されても良い。これらが実装される範囲に応じて、通信フレーム(または通信状況)の測定情報、あるいは通信品質の測定情報の量に差が生じる。その結果、測定精度が低下し、通信パラメータの推定の精度に影響が生じる。なお、入力パラメータの一部を固定したり、パラメータが変動する範囲を制限して機械学習が行われたりしてもよい。
 また、制御システム100には、実際に存在する装置が含まれる場合が想定されている。しかし、実施の形態1に係る制御システムは、仮想空間上に仮想システムとして再現(シミュレート)されてもよい。実施の形態に係る制御システムが仮想システムである場合、S5の後に、最適な通信パラメータに従って、ユーザが手動で、制御装置数および接続形態などの構成を変更する必要はない。
 以上、実施の形態1に係るネットワークの通信帯域に関する通信パラメータを最適化する方法、装置、プログラム、および制御システムによれば、ネットワークを介した制御のリアルタイム性を向上させることができる。
 実施の形態2.
 実施の形態2においては、制御システムが時刻同期プロトコル(たとえばIEEE1588)によって、ネットワークに接続された装置が高精度に時刻同期される場合について説明する。実施の形態2に係る制御システムにおいては、ならし運転が繰り返されて目標条件を充足する通信帯域を有する制御システムが探索される。制御系データの通信帯域の測定が行われて、制御装置の数、制御点の数、ネットワークに含まれる装置の接続形態、通信手順、通信帯域、および制御用タイムスロットの各々の最適解が、機械学習によって最適化された推定モデルによって求められる。その結果、目標条件を充足する最適パラメータを、ユーザに通知することができる。
 図9は、実施の形態2に係る制御システム200の構成を示すブロック図である。制御システム200は、マスタ装置1と、制御装置2と、中継装置3とを備える。マスタ装置1および中継装置3は、図1のマスタ装置1および中継装置3にそれぞれ対応する。制御装置2は、図1の制御装置21~2Nの各々と同様の構成を有する。制御システム200は、図1の制御システム100における制御装置の数が1とされた構成である。これら以外は同様であるため、説明を繰り返さない。
 次に、時刻同期プロトコルについて簡単に説明する。図10は、図9のマスタ装置1と制御装置2との間における時刻同期の手順の一例を示すシーケンス図である。具体的には、図10に示される手順は、IEEE1588に従う時刻同期手順である。図10に示される各処理は、主に、マスタ装置1および制御装置2の各々に含まれるCPUによって実行される。以下ではシーケンスを単にSQと記載する。
 マスタ装置1は、SQ2において、Syncメッセージを制御装置2に送信するとともに、Syncメッセージの送信時刻t1をマスタ装置1の記憶装置に記憶する。制御装置2は、SQ2において、Syncメッセージを受信するとともに、Syncメッセージの受信時刻t2を制御装置2の記憶装置に記憶する。
 マスタ装置1は、SQ4において、Syncメッセージの送信時刻t1をマスタ装置1の記憶装置から読み出して、送信時刻t1を格納したFollow_Upメッセージを制御装置2に送信する。制御装置2は、SQ4において、受信したFollow_Upメッセージに格納された送信時刻t1を制御装置2の記憶装置に記憶する。なお、マスタ装置1は、送信時刻t1が格納されたSyncメッセージを制御装置2に送信してもよい。
 制御装置2は、SQ6において、マスタ装置1にDelay_Reqメッセージを送信するとともに、Delay_Reqメッセージの送信時刻t3を制御装置2の記憶装置に記憶する。マスタ装置1は、SQ6においてDelay_Reqメッセージを受信するとともに、Delay_Reqメッセージの受信時刻t4をマスタ装置1の記憶装置に記憶する。
 マスタ装置1は、SQ8において、Delay_Reqメッセージの受信時刻t4が格納されたDelay_Respメッセージを制御装置2に送信する。制御装置2は、SQ8において、Delay_Respメッセージを受信して、Delay_Respメッセージに格納された受信時刻t4を制御装置2の記憶装置に記憶する。
 図10に示されるシーケンスにより、制御装置2の記憶装置には、Syncメッセージの送信時刻t1、Delay_Reqメッセージの送信時刻t3、Syncメッセージの受信時刻t2、およびDelay_Reqメッセージの受信時刻t4が記憶されている。制御装置2は、送信時刻t1と受信時刻t2との時刻差td1(=t2-t1)を計算することにより、マスタ装置1から制御装置2への伝送路5について、マスタ装置1および制御装置2の各々における時刻のずれと伝送路遅延との和を取得する。また、制御装置2は、送信時刻t3と受信時刻t4との時刻差td2(=t4-t3)を計算することにより、制御装置2からマスタ装置1への伝送路5について、マスタ装置1および制御装置2の各々における時刻のずれと伝送路遅延との和を取得する。
 また、時刻差td2とtd1との和は、伝送路遅延の2倍の時間に相当する。時刻差td2とtd1との差は、マスタ装置1の時刻(マスタ時刻)と制御装置2の時刻(制御装置時刻)とのずれの2倍の時間に相当する。ここで、IEEE1588プロトコルの伝送路5の遅延計算では、マスタ装置1と制御装置2との間の伝送遅延は、往路と復路とで等価であると仮定する。したがって、単一方向の伝送路の遅延時間tdは、以下の式(2)のように表わされる。
 td=(td2+td1)/2     …(2)
 また、マスタ時刻と制御装置時刻との時刻差tdiffは、以下の式(3)のように表わされる。
 tdiff=(td2-td1)/2      …(3)
 制御装置2は、時刻差tdiffを時刻同期の補正量として、制御装置2の時刻を補正することにより、マスタ装置1との時刻同期を実施する。
 マスタ装置1と制御装置2との間の時刻同期においては、PTP(Precision Time Protocol)メッセージの往復の遅延が等しいか、あるいは往復の遅延に時間差がある場合でも、当該時間差が既知であることが前提とされる。しかし、各装置の通信部に含まれるクロック発振器のジッタ、中継装置3から各装置内のクロックへの載せ替え、あるいは各装置を使用する周辺環境の温度変化等の要因により、遅延時間tdおよび時刻差tdiffは、測定を行なう度にバラツキが生じ得る。そのため、マスタ装置時刻と制御装置時刻とのずれを防ぎ、マスタ装置1と制御装置2との時刻同期の精度を確保するためには、定期的にマスタ装置1と制御装置2との間で図10に示される時刻同期に係る処理を実行する必要がある。
 図11は、時刻同期されたネットワークにおいて、定時性通信が制御周期Prdで繰り返し行われる様子を示す図である。IEEE1588によって時刻同期された制御システム200において、各装置は精度よく時刻同期されている。定時性通信の制御周期Prdは、用途毎に複数のタイムスロットに分割されている。各装置は、時刻同期されているので、各タイムスロットの開始および終了にも正確に同期している。
 図11に示されるように、制御周期Prdは、制御用タイムスロットSlt1、画像送信用タイムスロットSlt2、および診断用タイムスロットSlt3に分割されている。タイムスロットSlt1~Slt3の中で、最も定時性の要求が高いタイムスロットは、制御用タイムスロットSlt1である。画像送信用タイムスロットSlt2においては、カメラ等で取得した画像データが送信される。診断用タイムスロットSlt3においては、制御システム200に含まれる各装置を診断するためのデータが通信される。
 図12は、図11の制御用タイムスロットSlt1を拡大した図である。図12に示されるように、制御用タイムスロットSlt1においては、たとえば、制御系データが通信フレームCF21とCF22とに分割されて、通信フレームCF21とCF22とが送信間隔Tint1を空けて、マスタ装置1から、中継装置3を経由して、制御装置2に送信される。中継装置3を経由して通信フレームCF21,CF22が送信される間に、輻輳あるいは遅延が発生し、制御装置2には、制御系データが遅延して受信される。定時性通信の各制御周期に、同一サイズの制御系データを同じ送信間隔で送信したとしても、中継装置3などで発生する輻輳等によって、マスタ装置1から制御系データが送信された時刻から当該制御系データが制御装置2に受信されるまでの時間間隔である通信時間Tcomは、一定とならずに揺らぐ。
 曲線FL1は、横軸を時間とするとともに縦軸を頻度とする座標平面における、マスタ装置1が制御系データを中継装置3に送信するのに要する時間間隔の揺らぎ量(最頻値の時間間隔との差)の分布を模式的に表す。曲線FL2は、曲線FL1と同様の座標平面において、中継装置3が制御系データを制御装置2に送信するのに要する時間間隔の揺らぎ量の分布を模式的に表す。曲線FL3は、曲線FL1と同様の座標平面において、制御装置2が中継装置3から制御系データを受信するのに要する時間間隔の揺らぎ量の分布を模式的に表す。通常の通信負荷においては、図12に示されるように、分布FL1~FL3の各々は、中央付近に最頻値が現れ、最頻値を通過する直線に対して線対称な山なり形状になる傾向がある。しかし、制御装置の通信負荷が常時高い場合、中継装置3と制御装置2との通信に遅延が発生し易いため、通常の通信負荷における最頻値よりも時間間隔が長くなる領域に分布FL3における頻度が偏る傾向がある。また、制御装置の通信負荷が不安定である場合、分布FL3の形状が山なり形状とならずに平坦となる傾向がある。
 このように、制御装置の通信負荷は状況によって大きく変化し得るため、通信時間Tcomの揺らぎ量の予測は困難な場合が多い。当該揺らぎ量の予測が外れ、制御用タイムスロットSlt1が適切に設定されない場合、制御系データが次の画像送信用タイムスロットSlt2に溢れ得る。画像送信用タイムスロットSlt2において制御系データが制御装置2において受信される場合、制御装置2が正しく稼働することができない状況が発生し得る。
 そこで、実施の形態2においては、制御用タイムスロットSlt1に必要な通信帯域を正確に測定するために、IEEE1588等の時刻同期プロトコルのPTPメッセージ(たとえば、Sync,Follow_Up,Delay_Req,Delay_Resp等)を制御系データのCF22の後に送信間隔Tint2を空けて送信する。IEEE1588等の時刻同期プロトコルのPTPメッセージ(同期メッセージ)は、時刻同期のためだけではなく、制御用タイムスロットの通信帯域の測定にも利用される。なお、PTPメッセージは、定時性通信の制御周期毎に送信する必要はなく、装置間で時刻同期の精度を確保可能な周期で送信されてもよい。また、PTPメッセージは、制御用タイムスロット以外のタイムスロットの通信帯域の測定に利用されてもよい。また、送信間隔Tint2は、送信間隔Tint1と同じであってもよい。
 制御用タイムスロットSlt1の開始時刻ts1から、制御装置2によって制御系データが受信されるまでの受信時刻tr1までの通信時間Tcomは、以下の式(4)のように表される。
 Tcom=tr1-ts1  (4)
 通信時間Tcomの揺らぎ量の最大値をマージンTmrgとすると、制御用タイムスロットSlt1は、以下の式(5)のように表される。
 Slt1=Tcom+Tmrg     (5)
 制御装置の性能の個体差および通信状況に起因する揺らぎ量の分布によらず、制御用タイムスロットSlt1を跨いで制御系データの通信が行われる確率がほぼ0となるような最適なマージンTmrgを求める必要がある。
 実施の形態2においては、マージンTmrgを正確に求めるために、制御システム200のならし運転によって、制御システム200を構成するネットワークの通信フレーム(または通信状況)、および通信品質の測定を行う。通信フレーム(または通信状況)の測定項目には、実施の形態1の測定項目に、通信時間Tcomが加えられる。
 実施の形態2においては、制御装置2が実施の形態1のマスタ装置1と同様の構成(図7参照)を有する。制御装置2は、実施の形態1のマスタ装置1と同じように、機械学習によって最適化された学習済みの推定モデルを用いて、制御システム200に含まれるネットワークの通信帯域に関する通信パラメータを推定する。推定される通信パラメータには、制御システム200に含まれるネットワークに含まれる装置数、センサ7およびアクチュエータ8の数、ネットワークに接続される装置の接続形態、通信フレームの種別、通信帯域、通信フレームの通信手順、およびマージンTmrgが含まれる。制御システム200においては、制御装置2によって選択される行動に対する報酬値が最大となる、最適な通信パラメータの組合せが探索される。推定された通信パラメータが使用されて、再びならし運転が行われ、通信状況および通信品質の測定が行われる。
 実施の形態2においては、制御装置2に含まれる報酬基準設定部32で設定される報酬基準値に、以下の表10に示される報酬基準値が加えられる。表10は、マージンTmrgに対して、制御システム200の通信品質が向上するか否かという観点で報酬基準値が決定される例を示す表である。
Figure JPOXMLDOC01-appb-T000011
 報酬基準設定部32は、マージンTmrgが延長すると制御用タイムスロットSlt1内での制御系データの通信が完了する可能性が高まると仮定し、マージンTmrgが延長する場合の報酬基準値を現在の値よりも大きい値に設定する。一方、報酬基準設定部32は、マージンTmrgが短縮すると制御用タイムスロットSlt1内での制御系データの通信が完了する可能性が低下すると仮定し、マージンTmrgが短縮する場合の報酬基準値を現在の値よりも小さい値に設定する。
 表10に示される報酬基準値により、制御システム200の構成に応じて、制御用タイムスロットに適切な通信帯域を設定することができる。なお、実施の形態1に係る制御システムと同様に、実施の形態2に係る制御システムも仮想空間に形成された仮想システムであってもよい。
 以上、実施の形態2に係る方法、装置、プログラム、および制御システムによれば、ネットワークを介した制御のリアルタイム性を向上させることができる。
 実施の形態3.
 実施の形態2においては、制御周期Prdに含まれるタイムスロットには、定時性通信の要求の度合い(優先度)に違いがあり、制御用タイムスロットSlt1に対する優先度が最も高いことを説明した。定時性通信を維持するためには、制御用タイムスロットSlt1の時間間隔(タイムスロット幅)を維持する必要がある。一方で、画像送信用タイムスロットSlt2および診断用タイムスロットSlt3のような、制御用タイムスロット以外のタイムスロット(通常タイムスロット)の優先度は制御用タイムスロットSlt1の優先度よりも低いため、当該タイムスロットのタイムスロット幅を変更することが可能である。すなわち、優先度が相対的に低いタイムスロットは、定時性の要求がほとんどないため、通信フレームを分割することによって次の制御周期において当該タイムスロットを送信することができる。その結果、制御システムの制御周期Prdを変更することができる。実施の形態3においては、優先度が相対的に低いタイムスロットの通信フレームを分割し、制御システムの制御周期Prdを変更する構成について説明する。
 図13は、実施の形態2,3の各々に係る制御システムにおいて行われる定時制通信の制御周期に含まれる各タイムスロットの通信フレーム構成の一例を示す図である。図13においては、制御装置2に受信される通信フレームが示されている。図13に示されるように、実施の形態2における制御周期Prdは、制御用タイムスロットSlt1、画像送信用タイムスロットSlt2、および診断用タイムスロットSlt3に分割されている。制御用タイムスロットSlt1の通信フレーム構成は、図12に示される制御用タイムスロットSlt1の通信フレーム構成と同様であるため、説明を繰り返さない。画像送信用タイムスロットSlt2,診断用タイムスロットSlt3は、通信フレームCF31,CF41をそれぞれ含む。
 実施の形態3に関しては、連続する2つの制御周期Prd1(<Prd)が示されている。制御周期Prd1は、制御用タイムスロットSlt31、画像送信用タイムスロットSlt32、および診断用タイムスロットSlt33に分割されている。先行する制御周期Prd1における制御用タイムスロットSlt31の通信フレーム構成は、制御用タイムスロットSlt1の通信フレーム構成と同様である。後続する制御周期Prd1における制御用タイムスロットSlt31は、通信フレームCF23,CF24を含む。制御用タイムスロットSlt31の時間間隔は、制御用タイムスロットSlt1の時間間隔と同じである。
 先行する制御周期Prd1における画像送信用タイムスロットSlt32および後続する制御周期Prd1における画像送信用タイムスロットSlt32は、画像送信用タイムスロットSlt2に含まれる通信フレームCF31が2分割された通信フレームCF31A,CF31Bをそれぞれ含む。画像送信用タイムスロットSlt32の時間間隔は、画像送信用タイムスロットSlt2の時間間隔よりも短い。
 先行する制御周期Prd1における診断用タイムスロットSlt33および後続する制御周期Prd1における診断用タイムスロットSlt33は、診断用タイムスロットSlt3に含まれる通信フレームCF41が2分割された通信フレームCF41A,CF41Bをそれぞれ含む。診断用タイムスロットSlt33の時間間隔は、診断用タイムスロットSlt3の時間間隔よりも短い。
 実施の形態3においては、実施の形態2の画像送信用タイムスロットSlt2,診断用タイムスロットSlt3の各々に含まれる通信フレームが2分割されて、連続する2つの制御周期Prd1において分割された2つの通信フレームがそれぞれ通信される。このように定時性通信の優先度が低いタイムスロットに含まれる通信フレームを分割することにより、実施の形態3の制御周期Prd1を実施の形態2の制御周期Prdよりも短くすることができる。なお、図13においては、通信フレームを2分割する場合について説明したが、通信フレームの分割数は2に限定されない。分割数を増やすほど、制御周期を短縮することができる。
 図13においては、制御装置が1個の場合について説明したが、ネットワークに複数の制御装置が接続される場合には、制御装置の数と通信フレームの分割数との組合せは膨大となる。また、前述したように、ネットワークには通信帯域を変動させる様々な要因がある。そこで、実施の形態3においては、機械学習によって制御周期の最適解を探索する。実施の形態3においては、ネットワークの通信状況に関するパラメータに、通信フレームの分割数が含まれる。図4,図8に示されるフローチャートに従って、機械学習によって構築された推定モデルによって、優先度の低いタイムスロットの制御装置毎の通信フレームの分割数の通信パラメータが推定される。そして、推定された通信パラメータの下で、ならし運転が行われ、通信状況および通信品質の測定が行われる。制御システムの制御周期Prdの目標条件(たとえば、最小の制御周期)が達成されたか否かが判定される。当該目標条件が達成された場合には、ならし運転に使用された通信パラメータがユーザに通知される。当該目標条件が達成されない場合には、再度、機械学習とならし運転が繰り返される。
 具体的には、図7のマスタ装置1は、通信部41で、優先度の低いタイムスロットにおいて通信パラメータの組合せを変えて、通信フレームを送信する。通信フレームを送信した後、時刻同期プロトコルのPTPメッセージを送信しタイムスロット幅を求める。測定部70では通信状況および通信品質を測定する。なお、優先度の低いタイムスロットにおいて、必ずしもPTPメッセージを送信し、優先度の低いタイムスロット幅を求める必要はなく、通信状況および通信品質のみが測定されてもよい。推定部20においては、制御周期が最小となるときに大きな報酬値が与えられ、制御周期が大きくなる程、小さい報酬値が与えられる。通信パラメータが推定モデルに記録され、最良の通信パラメータが選択される。通信部41では、推定された通信パラメータを使用して、再び、ならし運転が行われ、通信状況および通信品質の測定が行われる。これらの処理を繰り返し行うことによって、最適な通信パラメータの組合せを探索し、制御システムの最適な制御周期を求めることができる。
 以上、実施の形態3に係る方法、装置、プログラム、および制御システムによれば、優先度の低いタイムスロットの通信フレームを分割し、ネットワークを介した制御のリアルタイム性を向上させることができる。
 今回開示された各実施の形態は、矛盾しない範囲で適宜組み合わせて実施することも予定されている。今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 マスタ装置、2,21,22,2N 制御装置、3 中継装置、5 伝送路、7 センサ、8 アクチュエータ、10 ヘッダー、11 制御装置データ、20 推定部、30 学習部、31 状態観測部、32 報酬基準設定部、33 報酬計算部、34 関数更新部、35 学習結果記憶部、40 行動選択部、41,421~42N,43 通信部、412 処理回路、413 記憶装置、44 入出力部、45 バス、60 ユーザ通知部、70 測定部、71 判定部、80 パラメータ設定部、100,200 制御システム、CF1,CF21~CF24,CF31,CF31A,CF31B,CF41,CF41A,CF41B 通信フレーム、M1 推定モデル。

Claims (18)

  1.  少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムにおいて行われる、前記制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する方法であって、
     前記複数の装置は、
     前記制御系データを送信する少なくとも1つのマスタ装置と、
     前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
     前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
     前記方法は、
     前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定するステップと、
     前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定するステップと、
     推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定するステップとを含む、方法。
  2.  前記目標条件が充足されるまで、前記推定するステップが反復される、請求項1に記載の方法。
  3.  前記目標条件は、前記通信帯域の下で、前記予め定められた間隔以内に、前記少なくとも1つのマスタ装置が前記少なくとも1つの制御対象から測定データを取得し、前記測定データの解析結果に応じた前記制御系データを前記少なくとも1つの制御対象に送信することが完了するという条件である、請求項1または2に記載の方法。
  4.  前記ネットワークにおいては、データを含む通信フレームが通信され、
     前記第1パラメータは、前記通信フレームに含まれるデータの種別、前記ネットワークの通信速度、前記ネットワークにおいて通信される単位時間当たりの通信量、連続して送信される2つの通信フレームの時間間隔、および複数の通信フレームが通信される順番の少なくとも1つを含み、
     前記第2パラメータは、前記ネットワークにおける通信フレームの損失量、および前記通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含み、
     前記通信パラメータは、前記第1パラメータ、前記ネットワークの構成に関する第3パラメータ、前記少なくとも1つの制御装置の構成に関する第4パラメータ、第5パラメータ、および第6パラメータの少なくとも1つを含み、
     前記測定するステップは、前記第5パラメータおよび前記第6パラメータをさらに測定し、
     前記推定するステップは、前記第5パラメータおよび前記第6パラメータをさらに推定し、
     前記第3パラメータは、前記少なくとも1つのマスタ装置の個数、前記少なくとも1つの制御装置の個数、前記少なくとも1つの中継装置の個数、前記ネットワークに含まれる装置の総数、前記ネットワークにおける前記複数の装置の接続形態、および前記複数の装置の各々が前記ネットワークを介して通信する装置の数の少なくとも1つを含み、
     前記第4パラメータは、前記少なくとも1つの制御対象のそれぞれに対応する少なくとも1つの種別、前記少なくとも1つの種別の各々の数、前記少なくとも1つの制御装置の数、前記少なくとも1つの制御装置と前記少なくとも1つの制御対象との接続形態、前記少なくとも1つの制御装置の各々が通信する制御対象の数、前記少なくとも1つの制御装置に含まれる少なくとも1つの制御点の数、前記少なくとも1つの制御点にそれぞれ接続された前記少なくとも1つの制御対象の数、前記ネットワークにおいて前記少なくとも1つのマスタ装置から前記少なくとも1つの中継装置を介して前記少なくとも1つの制御装置に至る伝送路の数、前記少なくとも1つの接続点と前記少なくとも1つの制御対象との接続形態、および前記少なくとも1つの制御点から前記少なくとも1つの制御対象にそれぞれ至る伝送路の数の少なくとも1つを含み、
     前記第5パラメータは、前記少なくとも1つの制御点の各々における通信速度、前記少なくとも1つの制御点の各々において通信される単位時間当たりの通信量、当該制御点において連続して通信される2つの通信フレームの時間間隔、当該制御点において通信される複数の通信フレームの順番の少なくとも1つを含み、
     前記第6パラメータは、前記少なくとも1つの制御点における通信フレームの損失量、および前記通信フレームが送信されてから受信されるまでの時間間隔である通信遅延の少なくとも1つを含む、請求項1~3のいずれか1項に記載の方法。
  5.  前記測定するステップおよび前記推定するステップは、前記制御システムの運転開始時に実行されるか、予め定められた周期で定期的に実行されるか、または前記第3パラメータおよび前記第4パラメータが変更された場合に実行される、請求項4に記載の方法。
  6.  前記推定するステップは、強化学習によって最適化される推定モデルを用いて前記入力パラメータから前記通信パラメータを推定し、
     前記測定するステップにおいて、前記第1パラメータ、前記第2パラメータ、前記第3パラメータ、前記第4パラメータ、前記第5パラメータ、および前記第6パラメータの各々は状態変数として測定され、
     前記推定するステップにおいて、前記通信パラメータは行動として推定される、請求項5に記載の方法。
  7.  前記推定するステップは、前記制御システムの性能、通信品質、コスト、および信頼性に関する報酬基準値によって前記強化学習を行って前記制御システムに要求される目標を満たす最適な通信パラメータを推定する処理、または、前記通信パラメータの一部を固定化もしくは前記通信パラメータが変動する範囲を制限して前記強化学習をする処理を含む、請求項6に記載の方法。
  8.  前記制御システムの性能に関する前記報酬基準値は、同期周期、タイムスロット幅、通信速度、通信量、および通信フレーム間隔の少なくとも1つを含む、請求項7に記載の方法。
  9.  前記制御システムの通信品質に関する前記報酬基準値は、通信フレームの欠損率、通信フレームの遅延時間、および遅延通信フレームの比率の少なくとも1つを含む、請求項7に記載の方法。
  10.  前記制御システムのコストに関する前記報酬基準値は、前記少なくとも1つのマスタ装置の数、前記少なくとも1つの中継装置の数、前記少なくとも1つの制御装置の数、前記少なくとも1つの制御点の数、前記制御対象の数、前記制御システムに含まれる少なくとも1つの伝送路を形成する少なくとも1つのケーブルの長さ、前記少なくとも1つのケーブルの本数、および前記少なくとも1つのケーブルの敷設費用の少なくとも1つを含む、請求項7に記載の方法。
  11.  前記制御システムの信頼性に関する前記報酬基準値は、通信フレームへのCRC(Cyclic Redundancy Check)の付与の有無、通信フレームの再送制御の有無、および再送回数の少なくとも1つを含む、請求項7に記載の方法。
  12.  前記複数の装置は、時刻同期プロトコルによって互いに同期され、
     前記予め定められた間隔には、前記制御系データの通信が行われる制御用タイムスロットが含まれ、
     前記制御用タイムスロットにおける通信帯域の測定に、前記時刻同期プロトコルの同期メッセージが用いられ、
     前記第1パラメータは、前記少なくとも1つのマスタ装置から前記制御系データが送信された時刻から前記制御系データが前記少なくとも1つの制御装置に受信されるまでの時間間隔である通信時間を含み、
     前記通信パラメータは、前記通信時間の揺らぎ量の最大値を含む、請求項1~11のいずれか1項に記載の方法。
  13.  前記複数の装置は、時刻同期プロトコルによって互いに同期され、
     前記予め定められた間隔には、前記制御系データの通信が行われる制御用タイムスロットと、前記制御用タイムスロットより定時性通信の要求の低い情報を送信する通常タイムスロットが含まれ、
     前記制御用タイムスロットにおける通信帯域の測定に、前記時刻同期プロトコルの同期メッセージが用いられ、
     前記第1パラメータは、前記通常タイムスロットの通信フレームの分割数を含む、請求項1~11のいずれか1項に記載の方法。
  14.  前記通常タイムスロットにおける通信帯域の測定にも、前記同期メッセージが用いられる、請求項13に記載の方法。
  15.  前記制御システムは、仮想システムとして1つのコンピュータにおいてモデル化されている、請求項1~14のいずれか1項に記載の方法。
  16.  制御システムに含まれる複数の通信装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する装置であって、
     前記制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信され、
     前記複数の通信装置は、
     前記制御系データを送信する少なくとも1つのマスタ装置と、
     前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
     前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
     前記装置は、
     前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定する測定部と、
     前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定する推定部と、
     推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定する判定部とを備える、装置。
  17.  処理回路によって実行されることにより、制御システムに含まれる複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化するプログラムであって、
     前記制御システムにおいては、少なくとも1つの制御対象に対する制御系データが予め定められた間隔で通信され、
     前記複数の装置は、
     前記制御系データを送信する少なくとも1つのマスタ装置と、
     前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
     前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
     前記処理回路によって実行されることにより前記プログラムは、
     前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定し、
     前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定し、
     推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定する、プログラム。
  18.  少なくとも1つの制御対象に対する制御系データを予め定められた間隔で通信する制御システムであって、
     前記制御システムは、複数の装置を備え、
     前記複数の装置は、
     前記制御系データを送信する少なくとも1つのマスタ装置と、
     前記少なくとも1つの制御対象が接続される少なくとも1つの制御装置と、
     前記少なくとも1つのマスタ装置と前記少なくとも1つの制御装置とを中継する少なくとも1つの中継装置とを含み、
     前記複数の装置に含まれる装置のいずれかである特定装置は、前記複数の装置によって形成されるネットワークの通信帯域に関する通信パラメータを最適化する装置であって、
     前記通信パラメータに初期値が設定された前記制御システムが運転された場合の前記ネットワークの通信状況に関する第1パラメータと前記ネットワークの通信品質に関する第2パラメータとを測定する測定部と、
     前記第1パラメータおよび前記第2パラメータを含む入力パラメータから前記通信パラメータを推定する推定部と、
     推定された前記通信パラメータが設定された前記制御システムが運転された場合の前記通信帯域が目標条件を充足するか否かを判定部とを備える、制御システム。
PCT/JP2021/037729 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム WO2022176266A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023500521A JP7387053B2 (ja) 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-022312 2021-02-16
JP2021022312 2021-02-16

Publications (1)

Publication Number Publication Date
WO2022176266A1 true WO2022176266A1 (ja) 2022-08-25

Family

ID=82931267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/037729 WO2022176266A1 (ja) 2021-02-16 2021-10-12 制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム

Country Status (2)

Country Link
JP (1) JP7387053B2 (ja)
WO (1) WO2022176266A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295516A (ja) * 2005-04-11 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> パケット発生方法及び装置
WO2012108194A1 (ja) * 2011-02-10 2012-08-16 パナソニック株式会社 通信システム及び通信方法
WO2016135821A1 (ja) * 2015-02-23 2016-09-01 三菱電機株式会社 検査装置、検査方法、及び、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006295516A (ja) * 2005-04-11 2006-10-26 Nippon Telegr & Teleph Corp <Ntt> パケット発生方法及び装置
WO2012108194A1 (ja) * 2011-02-10 2012-08-16 パナソニック株式会社 通信システム及び通信方法
WO2016135821A1 (ja) * 2015-02-23 2016-09-01 三菱電機株式会社 検査装置、検査方法、及び、プログラム

Also Published As

Publication number Publication date
JPWO2022176266A1 (ja) 2022-08-25
JP7387053B2 (ja) 2023-11-27

Similar Documents

Publication Publication Date Title
US8340790B2 (en) Methods and apparatus to adjust control loop timing in a process control system
EP3143721B1 (en) Probing technique for predictive routing in computer networks
CN112235194B (zh) 在线路由调度时延敏感流量的方法和装置
CN111865781B (zh) 用于路径优化的方法、设备和计算机程序产品
CN113114581A (zh) 基于多智能体深度强化学习的tcp拥塞控制方法及装置
US20090089139A1 (en) Scheduling processing tasks used in active network measurement
CN112887217B (zh) 控制数据包发送方法、模型训练方法、装置及系统
WO2013075489A1 (zh) 检测报文心跳周期的自适应方法和装置
CN107689919A (zh) Sdn网络的动态调整权重模糊选路方法
Ma et al. Efficient holistic control over industrial wireless sensor-actuator networks
Künzel et al. Weight adjustments in a routing algorithm for wireless sensor and actuator networks using Q-learning
CN114070448B (zh) 一种基于多属性决策的主时钟选取方法
WO2022176266A1 (ja) 制御システムに含まれるネットワークの通信帯域を最適化する方法、装置、プログラム、および制御システム
CN114423020A (zh) 一种LoRaWAN网络下行路由控制方法及系统
Grigorjew et al. ML-assisted latency assignments in time-sensitive networking
Patterson In-network leader selection for acyclic graphs
CN111901237B (zh) 源路由选路方法及系统、相关设备及计算机可读存储介质
Gabel et al. QoS-adaptive control in NCS with variable delays and packet losses-a heuristic approach
CN109787861A (zh) 网络数据延迟控制方法
CN116132353A (zh) 基于ddqn的tsn路由选择方法
Wang et al. Real-time performance evaluation of urgent aperiodic messages in FF communication and its improvement
Wei et al. Research on time triggered ethernet scheduling planning method
JPWO2022176266A5 (ja) 制御システムに含まれるネットワークの通信帯域を設定する方法、装置、プログラム、および制御システム
Orzen et al. Internet Time as Virtual Time for Real-Time Session Routing
EP4380132A1 (en) Network traffic flow control for time sensitive networking

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: 21926695

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500521

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21926695

Country of ref document: EP

Kind code of ref document: A1