WO2020189204A1 - 制御システム、中継装置、および中継プログラム - Google Patents

制御システム、中継装置、および中継プログラム Download PDF

Info

Publication number
WO2020189204A1
WO2020189204A1 PCT/JP2020/007781 JP2020007781W WO2020189204A1 WO 2020189204 A1 WO2020189204 A1 WO 2020189204A1 JP 2020007781 W JP2020007781 W JP 2020007781W WO 2020189204 A1 WO2020189204 A1 WO 2020189204A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control
data set
transmission
process data
Prior art date
Application number
PCT/JP2020/007781
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 CN202080017364.4A priority Critical patent/CN113544602A/zh
Priority to EP20773044.1A priority patent/EP3940475A4/en
Priority to US17/434,787 priority patent/US20220140888A1/en
Publication of WO2020189204A1 publication Critical patent/WO2020189204A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/12Plc mp multi processor system
    • G05B2219/1214Real-time communication between plc, Ethernet for configuration, monitor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15026Detection of data transmission faults

Definitions

  • the present invention relates to a control system to which one or more data sets including process data values are transmitted, a relay device included in the control system, and a relay process executed by the relay device.
  • Control devices such as PLC (Programmable Logic Controller) have been introduced at various manufacturing sites.
  • a control device is a kind of computer, and a control program designed according to a manufacturing device, a manufacturing facility, or the like is executed.
  • Such a control device is communicably connected to an information processing device such as an HMI (Human Machine Interface).
  • HMI Human Machine Interface
  • the information processing device is, for example, an application that graphically displays the operating status of the controlled object of the control device by using the information from the control device, or displays by using the information from the control device. Run different applications.
  • Patent Document 1 discloses a programmable display as an example of an information processing device connected to a PLC.
  • the programmable display displays the information held by the PLC.
  • a programmable display as disclosed in Patent Document 1 updates and displays the information held by the PLC at predetermined intervals.
  • a programmable display is connected to the PLC via a network, data is transmitted over the network at predetermined intervals.
  • One object of the present invention is to provide a technique for suppressing an increase in communication load due to an increase in the amount of transmitted data.
  • a control system executes a control program for controlling a controlled object, controls a plurality of process data referenced or updated in the control program, and a plurality of control means managed by the control means. It includes a transmission means capable of transmitting a plurality of data sets including values of process data. Each of the datasets contains a predetermined value of one or more process data.
  • the control system sends, depending on the application execution means that executes one or more applications using the value of the process data contained in the dataset transmitted by the transmission means, and the application that is being executed by the application execution means. Includes a management means for determining which of the plurality of datasets the means can transmit to enable transmission.
  • the present disclosure it is possible to transmit only the necessary data set out of a plurality of data sets according to the application executed by the application execution means, and it is possible to suppress an increase in communication load.
  • the management means when an unnecessary data set is generated among the data sets transmitted by the transmitting means according to the application executed by the application executing means, the management means causes the transmitting means to use the unnecessary data set. You may instruct to stop the transmission. With this configuration, the transmission of data sets that are no longer needed can be explicitly stopped.
  • the application execution means may change the application to be executed according to the user operation and notify the management means of the data set required for the changed application.
  • the data set to be transmitted can be determined according to the explicit request by the application execution means.
  • the management means may instruct the transmission means to stop the transmission of the data set that is no longer received by the application execution means. According to this configuration, transmission of unnecessary data sets can be stopped without an explicit request from the application execution means.
  • control system includes a control device and a display device.
  • the control means and the transmission means may be mounted on the control device, and the application execution means may be mounted on the display device.
  • the management means may be implemented independently of the control device and the display device. According to this configuration, the management means can appropriately determine the data set to be transmitted according to the respective situations of the control device and the display device.
  • control system includes a control device and a display device.
  • the control means, the transmission means and the management means may be implemented in the control device, and the application execution means may be implemented in the control device.
  • the data set to be transmitted can be managed only by the control device and the display device, so that it is not necessary to provide an extra device.
  • control system further includes determinants that determine a plurality of datasets based on process data used by each of the one or more applications executed by the application execution means. According to this configuration, an appropriate data set can be determined according to the application executed by the application execution means.
  • a relay device arranged in a control system executes a control program for controlling a controlled object, and controls a control means that manages a plurality of process data that is referenced or updated in the control program, and a value of a plurality of process data managed by the control means.
  • Each of the datasets contains a predetermined value of one or more process data.
  • the control system includes application execution means for executing one or more applications by utilizing the values of process data contained in the dataset transmitted by the transmission means.
  • the relay device determines the data set for which transmission is enabled among the plurality of data sets that can be transmitted by the transmission means, depending on the application being executed by the application execution means.
  • a relay program executed by an information processing device arranged in a control system executes a control program for controlling a controlled object, and controls a control means that manages a plurality of process data that is referenced or updated in the control program, and a value of a plurality of process data managed by the control means.
  • Each of the datasets contains a predetermined value of one or more process data.
  • the control system includes application execution means for executing one or more applications by utilizing the values of process data contained in the dataset transmitted by the transmission means.
  • the relay program has a step of managing the information of a plurality of data sets that can be transmitted by the transmitting means to the information processing device, and a plurality of data sets that can be transmitted by the transmitting means depending on the application being executed by the application executing means. To execute the step of determining the data set for which transmission is enabled.
  • FIG. 1 is a schematic diagram showing an application scene of the control system 1.
  • the control system 1 includes a controller 100 which is an example of a control device, an HMI 200 which is an example of a display device, and a management means 10.
  • the HMI 200 and the controller 100 are communicably connected by the information network 2 in the example shown in FIG.
  • the information system network 2 is, for example, a network according to a communication standard capable of realizing data exchange without depending on a vendor, an OS (Operating System), or the like.
  • a communication standard for example, OPC UA (Object Linking and Embedding for Process Control Unified Architecture) is known.
  • the communication standard adopted for the information system network 2 is not limited to OPC UA.
  • the information system network 2 may be a network according to a communication standard specific to a specific vendor or OS, and is an industrial open network in which a control protocol is implemented on Ethernet®. It may be a network according to IP (registered trademark). Communication between the HMI 200 and the controller 100 does not have to be performed directly, and a relay device may be provided between the HMI 200 and the controller 100.
  • the communication between the HMI 200 and the controller 100 is performed by the publish-subscribe type communication method of OPC UA.
  • communication to which the publish-subscribe type communication method of OPC-UA is applied is also referred to as PubSub communication.
  • the control system 1 may be configured to include a plurality of controllers 100. Further, the control system 1 may be configured to include a plurality of HMI 200s. Further, the control system 1 may have a configuration in which one HMI 200 is communicably connected to one controller 100, or one HMI 200 may be communicably connected to a plurality of controllers 100. A plurality of HMIs 200 may be communicably connected to the controller 100, or a plurality of HMIs 200 may be communicably connected to the plurality of controllers 100. In the example shown in FIG. 1, the control system 1 has a configuration in which one HMI 200 is communicably connected to one controller 100.
  • the controller 100 includes a control means 102 and a communication processing unit 80.
  • the control means 102 executes the control program 120 for controlling the field device 500 and the like to be controlled, and manages a plurality of process data 52 referenced or updated in the control program 120.
  • process data is a term including arbitrary data that can be referred to by the controller 100 or the HMI 200. More specifically, the "process data” is input data acquired from the field device, output data (command value) calculated by the control operation and given to the field device, and temporarily calculated for executing the control operation. Data, data indicating the operation contents by the user, and the like may be included.
  • the control means 102 is realized, for example, by the processor 110 (see FIG. 9) executing a system program 172 for realizing the basic functions of the controller 100.
  • the field device 500 includes various industrial devices for automating a production process, and includes a device that exerts some physical action on a manufacturing device, a production line, or the like (hereinafter, also collectively referred to as a “field”). Includes input / output devices that exchange information with and from fields.
  • the field device 500 includes a servo driver that controls a servo motor, a robot controller that controls a robot, a sensor that is a device for collecting data, an actuator that moves a conveyor, a remote I / O (Input / Output) device, and the like. Including.
  • the controller 100 and the field device 500 are communicably connected by the control system network 4.
  • the control system network 4 it is preferable to adopt a network that performs constant periodic communication with a guaranteed data arrival time.
  • EtherCAT registered trademark
  • EtherNet / IP registered trademark
  • DeviceNet registered trademark
  • CompoNet registered trademark
  • the communication processing unit 80 is an embodiment of the transmission means, and is configured to be capable of transmitting a plurality of data sets 50 including the values of the plurality of process data 52 managed by the control means 102. Specifically, the communication processing unit 80 transmits the data set 50 with reference to the transmission setting 400 that defines the combination of the process data 52 stored in each data set 50. That is, each of the datasets 50 contains a predetermined value of one or more process data.
  • the process data 52 includes data input from the field device 500 to the controller 100, data output from the controller 100 to the field device 500, and data used for executing the control program 120 or managing the state of the controller 100.
  • the process data 52 is periodically updated with the execution of the control program 120.
  • the HMI 200 is an example of embodying the application execution means, and executes one or a plurality of applications 220.
  • the application execution means may be composed of a plurality of HMIs. That is, the application execution means may include the entire execution subject of the application that can be executed in the control system 1.
  • Each application 220 uses the value of the process data 52 included in the data set 50 transmitted by the controller 100. That is, the HMI 200 executes one or more applications by utilizing the value of the process data 52 included in the data set 50 transmitted by the controller 100. In the following, the value of the process data 52 may be simply referred to as "process data 52". By executing the application 220, the HMI 200 presents various information obtained by executing the control program 120 to the operator.
  • page 1 is generated by executing application 220-a
  • page 2 is generated by executing application 220-b
  • the application 220-a displays the object 54 on the page 1 by using the values of the process data A, B, C, and D.
  • the application 220-b displays the object 54 on the page 2 by using the value of the process data X.
  • the HMI 200 changes the application 220 to be executed, for example, when it receives a page switching operation by the user. It is assumed that the alphabet shown below the application in FIG. 1 indicates the process data used in the application.
  • the management means 10 determines the data set 50 for which transmission is enabled among the data sets 50 that can be transmitted by the communication processing unit 80 according to the application executed by the HMI 200. For example, the management means 10 enables the process data 52 used by the application 220 being executed to be distributed from the controller 100 to the HMI 200 based on the execution status of the application 220 that can be executed by the HMI 200. The data set 50 to be used is determined.
  • the management means 10 when the application 220-a using the values of the process data A, B, C, and D is executed, the management means 10 enables the transmission of the data set 1 and the data set 2. To become.
  • the management means 10 invalidates the transmission of the data set 1 and the data set 2 and disables the transmission. Enable the transmission of dataset 3.
  • the management means 10 can specify whether the transmission of the data set 50 is valid or invalid depending on the application 220 being executed, the data set including the process data used by the application not being executed is transmitted. It can be prevented from being done.
  • the information processing device that executes the application 220 using the process data 52 managed by the controller 100 is not limited to the HMI 200.
  • the information processing device may be a database that collects information on traceability measured from a field device 500 that is a control target, or a SCADA (Supervisory Control And Data Acquisition) device that performs process control and centralized monitoring. Good.
  • SCADA Supervisory Control And Data Acquisition
  • the information processing device is not limited to the device connected to the controller 100 via the information system network 2, but is a robot controller, an actuator, or another controller that controls a robot connected to the control system network 4. And so on. That is, the application 220 is not limited to the one intended to present information, but may be the one intended to realize a function of using the process data 52 managed by the controller 100. In the following, the application 220 will be described as a program for the purpose of presenting information and providing a function of displaying an image on a display unit.
  • the management means 10 defines whether the transmission of the data set 50 is valid or invalid according to the application 220 being executed, thereby reducing the load on each device and applying the application.
  • the process data 52 required by the 220 can be delivered.
  • FIG. 2 is a diagram for explaining an outline of PubSub communication.
  • the side that distributes the data is referred to as a "publisher”
  • the side that subscribes to the data distributed by the publisher is referred to as a "subscriber”.
  • the controller 100 corresponds to a publisher that distributes data.
  • the HMI 200 corresponds to a subscriber who subscribes to the data distributed by the controller 100.
  • the publisher creates and distributes a dataset that stores one or more data.
  • the publisher sends the dataset to the network that contains the publisher and subscribers without specifying the destination.
  • This transmission form may be multicast or unicast. Depending on the circumstances, this transmission form may be broadcast.
  • the subscriber manages which of the datasets distributed on the network that the subscriber can access is to be subscribed. For example, in the example shown in FIG. 2, the subscriber subscribes to the data set 1 and the data set 3 among the data sets 1 to 3. Therefore, the subscriber receives only the data set 1 and the data set 3 among the data sets 1 to 3 distributed by the publisher.
  • the reception target changes.
  • the subscriber may receive a data set that is not a subscription target, and in this case, the subscriber may process to discard the data set that is not a subscription target.
  • the method by which the subscriber manages the subscription target is not limited to the method shown in FIG. For example, it may be managed whether or not to subscribe for each data. As another method, it may be managed whether or not to subscribe to each set of data different from the data set.
  • FIG. 3 is a diagram for explaining an outline of the HMI 200 functioning as a subscriber.
  • FIG. 4 is a diagram for explaining an outline of the controller 100 that functions as a publisher.
  • the HMI 200 includes a display unit 242, a plurality of applications 220 (220-a, 220-b 7), And a communication processing unit 90 which is an OPC UA client.
  • Each application 220 is a program for displaying a specific page on the display unit 242.
  • FIG. 3 shows an example in which the application 1 for displaying the page 1 is executed on the display unit 242.
  • Each page contains a plurality of objects 54.
  • page 1 includes objects 54a to 54d.
  • the display of the object 54 is updated according to the value of the variable included in the program.
  • the display of the object 54a is updated according to the value of the variable 2.
  • the display of the object 54b is updated according to the value of the variable 1
  • the display of the object 54c is updated according to the value of the variable 4
  • the display of the object 54d is updated according to the value of the variable 3.
  • the application 220 updates the value of the variable by referring to the mapping information 222.
  • the mapping information 222 is information in which the variable and the process data 52 are associated with each other. For example, the value of variable 1 is updated according to the value of process data 52A.
  • the cycle in which the value of each process data is updated may be set by the user according to the creation of the application 220, or may be determined according to the update cycle of the controller 100 that manages the process data.
  • the communication processing unit 90 is an OPC UA client and causes the HMI 200 to function as a subscriber.
  • the communication processing unit 90 includes a subscription management means 92 and a communication driver 96.
  • the subscription management means 92 manages the subscription target according to the running application 220. Specifically, the subscription management means 92 identifies the subscription target with reference to the subscription management information 94 generated based on the application 220 and the mapping information 222, and notifies the communication driver 96 of the subscription target.
  • the subscription management information 94 is information in which the application 220 and the process data 52 used in the application 220 are associated with each other, and is generated based on the application 220 and the mapping information 222.
  • the subscription management means 92 refers to the subscription management information 94 and specifies that the process data A, B, C, and D are used for the execution of the application 1.
  • the subscription management means 92 notifies the communication driver 96 of the start of subscription of the process data A, B, C, and D.
  • the subscription management means 92 notifies the communication driver 96 of the information regarding the process data 52 for stopping the subscription and the information regarding the process data 52 for starting the subscription.
  • the communication driver 96 notifies the management means 10 of identifiable information of the process data 52 for starting the subscription and the process data 52 for stopping the subscription notified from the subscription management means 92.
  • suspending the subscription is also referred to as “requesting the suspension of the subscription”
  • starting the subscription is also referred to as “requesting the start of the subscription”.
  • Management means 10 enables transmission based on a subscription stop request and a start request, and a dataset list 14 that can identify the type of process data 52 contained in each dataset 50. , Determine the data set 50 to stop transmission. The processing of the management means 10 will be described later.
  • the communication driver 96 receives the data set 50 including the process data 52 to be subscribed, and updates the value of the process data 52 used by the application 220.
  • the communication driver 96 reads the data set 50 including the process data 52 to be subscribed from the plurality of data sets 50 distributed by the controller 100. More specifically, the communication driver 96 subscribes from the plurality of data sets 50 distributed by the controller 100 with reference to the link information 98 for identifying the process data 52 stored in each data set 50. Identify the dataset 50 that contains the target process data 52.
  • the link information 98 is generated at the timing when the transmission setting 400 is generated.
  • the subject that refers to the link information 98 is not limited to the communication driver 96.
  • the entity that refers to the link information 98 may be the subscription management means 92.
  • the subscription management means 92 specifies the data set 50 required to obtain the value of the process data 52 required to execute the application 220, and notifies the communication driver of the specified data set 50 as a subscription target. You may.
  • the controller 100 includes a control means 102, a control system network interface (IF) 191 and a communication processing unit 80 which is an OPC UA server.
  • IF control system network interface
  • the control means 102 controls the field device 500 by executing the control program 120.
  • the control program 120 updates the value of the process data 52 by using the state value of the field device 500 input via the control system network IF191, and performs a control operation with reference to the updated value of the process data 52.
  • the control program 120 updates the value of the process data 52 according to the result of the executed control operation, and outputs the updated value of the process data 52 as a control value to the field device 500 via the control system network IF191. ..
  • the communication processing unit 80 is an OPC UA server, and causes the controller 100 to function as a publisher.
  • the communication processing unit 80 includes a data set generation means 82 for generating the data set 50 and a communication driver 84 for transmitting the data set 50.
  • the data set generation means 82 generates the data set 50 for which the transmission determined by the management means 10 is valid with reference to the transmission setting 400.
  • the data set 50 may refer to a set of process data 52, or may refer to a data set 50 in a format that can be output on the information network 2.
  • the transmission setting 400 is information that identifies the process data 52 stored in one data set 50. It should be noted that one data set 50 may be specified to store only one process data 52, or may be specified to store a plurality of process data 52. That is, the term "data set” means a combination of one or more process data 52 stored in the data set 50.
  • the controller 100 generates a data set according to the transmission setting 400.
  • the processing load on the controller 100 is reduced as compared with the case where the transmission setting 400 specifies that the process data of a specific attribute is set as one data set.
  • the transmission setting 400 may include information that defines the conditions for generating the data set 50.
  • a condition for generating the data set 50 may be specified so that the data set 50 is generated every cycle in which the value of the process data 52 is updated with the execution of the control program 120.
  • the combination of the process data 52 to be included in the data set 50 is preferably defined in consideration of the conditions for generation.
  • the communication driver 84 distributes the data set 50 generated by the data set generation means 82 on the information system network 2.
  • the HMI 200 uses process data A, B, C, and D when the application 1 is being executed.
  • the management means 10 updates the valid / invalid information 12 according to the execution of the application 1. Specifically, the transmission of the data set 1 in which the process data A and D are stored and the data set 2 in which the process data B and C are stored is enabled, and the transmission of other data sets is invalidated.
  • the management means 10 requests the controller 100 to start and stop the transmission of the data set 50 in response to updating the valid / invalid information 12. In the following, transmitting the data set 50 from the controller 100 is also referred to as "publishing".
  • the controller 100 periodically generates each of the data sets 1 and 2 and transmits them on the information system network 2 according to the request from the management means 10 and the transmission setting 400.
  • Process data A and process data D are stored in the data set 1
  • process data B and process data C are stored in the data set 2.
  • the HMI 200 acquires the data sets 1 and 2 in which the values of the process data A, B, C, and D to be subscribed are stored among the plurality of data sets 50 distributed from the controller 100. Since each of the data sets 1 and 2 is transmitted periodically, the HMI 200 periodically acquires each of the data sets 1 and 2. As a result, the HMI 200 can periodically update the variables corresponding to the process data A, B, C, and D, and also updates the display of the object 54 in accordance with the update of the variables.
  • FIG. 5 is a sequence diagram showing a series of management flows by the management means 10. Hereinafter, the step is simply referred to as "S".
  • the communication processing unit 80 registers information indicating the transmittable data set 50 and the process data 52 stored in each data set 50.
  • the management means 10 generates the data set list 14 based on the information registered by the communication processing unit 80.
  • the communication processing unit 90 of the HMI 200 refers to the subscription management information 94 and specifies the process data 52 necessary for executing the application 220-a (subscription target). specific).
  • the communication processing unit 90 of the HMI 200 notifies the management means 10 of the start of the subscription (subscription start request).
  • the subscription start request in S108 includes information that can identify the process data 52 to be subscribed. In the example shown in FIG. 5, a notification is given to start subscribing to the process data A, B, C, and D.
  • the management means 10 updates the valid / invalid information 12 based on the subscription start request. Specifically, the management means 10 refers to the data set list 14, identifies the data set 50 including at least one of the process data A, B, C, and D, and all the process data 52 are Determine the dataset 50 for which transmission is enabled to be transmitted.
  • the management means 10 may determine the data set 50 for which transmission is enabled according to the evaluation criteria regarding the communication load. For example, the management means 10 reduces the load when transmitting the data set 50 of the communication processing unit 80, and increases the amount of process data 52 used by the HMI 200 during a predetermined period. Also, the data set 50 for enabling transmission is determined so that the communication efficiency between the controller 100 and the HMI 200 is improved.
  • the management means 10 enables transmission of the data set 1 in which the process data A and D are stored and the data set 2 in which the process data B and C are stored, and transmits the other data set 50. Leaves invalid.
  • the management means 10 notifies the communication processing unit 80 of the controller 100 that the transmission of the data set 1 and the data set 2 is enabled (publish start request).
  • the communication processing unit 80 starts transmitting (publishing) the data set 1 and the data set 2.
  • Data set 1 and data set 2 are transmitted periodically, for example, respectively.
  • the management means 10 transmits each of the data set 1 and the data set 2 transmitted from the communication processing unit 80 toward the HMI 200.
  • the data set 1 and the data set 2 do not need to be transmitted by relaying the management means 10.
  • the communication processing unit 80 may transmit the data set 1 and the data set 2 to multicast, and the communication processing unit 90 of the HMI 200 may receive each of the multicast data set 1 and the data set 2.
  • the communication processing unit 90 of the HMI 200 subscribes to the process data 52 for stopping the subscription and the process data 52 for starting the subscription when the execution of the application 220-a is stopped and the execution of the application 220-b is started. Specify by referring to the management information 94 (identification of subscription target).
  • the communication processing unit 90 of the HMI 200 notifies the management means 10 of the suspension of the subscription (subscription suspension request).
  • the subscription suspension request in S122 includes information that can identify the process data 52 for suspending the subscription. In the example shown in FIG. 5, a notification is given to stop subscribing to the process data A, B, C, and D.
  • the communication processing unit 90 of the HMI 200 may specify the data set 50 for suspending the subscription and the data set 50 for starting the subscription with reference to the subscription management information 94 and the link information 98.
  • the communication processing unit 90 of the HMI 200 may include information that can identify the data set 50 for which the subscription is to be stopped in the subscription suspension request.
  • the HMI 200 may change the application to be executed according to the user operation, and may notify the management means 10 of the process data required for the changed application.
  • the management means 10 updates the valid / invalid information 12 based on the subscription suspension request. Specifically, in the example shown in FIG. 5, the management means 10 invalidates the transmission of the data set 1 and the data set 2.
  • the management means 10 may manage the process data 52 (A, B, C, D) for which the subscription start request has been made in association with the type of the enabled data set 50. Good. This facilitates processing of subscription suspension requests.
  • the management means 10 notifies the communication processing unit 80 of the controller 100 that the transmission of the data set 1 and the data set 2 has been invalidated (publish stop request).
  • the communication processing unit 80 stops the transmission of the data set 1 and the data set 2 started from S114 in accordance with the publish stop request of S124.
  • the management means 10 communicates with the controller 100 when an unnecessary data set 50 out of the data sets 50 transmitted by the communication processing unit 80 of the controller 100 is generated according to the application executed by the HMI 200. Instruct the processing unit 80 to stop the transmission of the unnecessary data set.
  • the communication processing unit 90 of the HMI 200 notifies the management means 10 of the start of the subscription (subscription start request).
  • the subscription start request in S128 includes information that can identify the process data 52 to be subscribed. In the example shown in FIG. 5, a notification is given to start subscribing to the process data X.
  • the management means 10 updates the valid / invalid information 12 based on the subscription start request. Specifically, the management means 10 refers to the data set list 14 to determine the data set 50 for which transmission is enabled so that the process data X is transmitted. In the example shown in FIG. 5, the management means 10 enables transmission of the data set 3 in which the process data X is stored, and leaves the transmission of the other data set 50 disabled.
  • the management means 10 notifies the communication processing unit 80 of the controller 100 that the transmission of the data set 3 is enabled (publish start request).
  • the communication processing unit 80 starts transmitting (publishing) the data set 3.
  • Data set 3 is transmitted periodically, for example.
  • the management means 10 transmits the data set 3 transmitted from the communication processing unit 80 toward the HMI 200.
  • the management means 10 updates the valid / invalid information 12 based on the detection of the timeout. Specifically, in the example shown in FIG. 5, the management means 10 invalidates the transmission of the data set 3. That is, the management means 10 determines that the communication with the communication processing unit 90 has been interrupted due to the detection of the timeout, and determines that the subscription request from the communication processing unit 90 has stopped.
  • the management means 10 notifies the communication processing unit 80 of the controller 100 that the transmission of the data set 3 has been invalidated (publish stop request).
  • the communication processing unit 80 stops the transmission of the data set 3 started from S134 in accordance with the publish stop request of S140.
  • the management means 10 instructs the communication processing unit 80 of the controller 100 to stop the transmission of the data set 50 that is no longer received by the HMI 200. As a result, the transmission of the unnecessary data set 50 is stopped.
  • FIG. 6 is a diagram for explaining an example of a device on which the management means 10 can be mounted.
  • the management means 10 is mounted on (1) a relay device 60 that relays communication between the controller 100 and the HMI 200, (2) the HMI 200b, or (3) the controller 100c.
  • the management means 10 may be implemented independently of the controller 100 and the HMI 200. Alternatively, as shown in (2), the management means 10 may be mounted on the HMI 200b. Further, as shown in (3), the management means 10 may be mounted on the controller 100c.
  • HMI 200b the HMI in which the function of the management means 10 is executed
  • controller 100c the controller in which the function of the management means 10 is executed
  • the HMI 200b or the controller 100c may be used.
  • the HMI 200b it is preferable to mount the function of the management means 10 on each of the plurality of HMIs.
  • the controller 100c it is preferable to mount the function of the management means 10 on each of the plurality of controllers.
  • FIG. 7 is a diagram showing a functional configuration of the relay device 60 when the management means is mounted on the relay device 60.
  • the relay device 60 shown in FIG. 7 can be connected to a plurality of controllers 100 (controllers a, controllers b ...) And a plurality of HMI 200s (HMI-1, HMI-2, HMI-3 ).
  • controllers 100 and HMI 200 When it is not necessary to distinguish each of the plurality of controllers 100 and the plurality of HMI 200s, they are simply referred to as controllers 100 and HMI 200.
  • the relay device 60 includes a management means 10a and a transmission / reception management means 680.
  • the management means 10a is an example of the management means 10, and includes a data set list management means 612, a subscription list management means 614, a valid / invalid information management means 616, a valid / invalid notification means 617, and a topic list management means. It is equipped with 618.
  • the data set list management means 612 manages a data set list 14 capable of specifying the type of process data 52 stored in each data set 50.
  • the data set list management means 612 manages the data set list 14 for each controller 100.
  • the subscription list management means 614 manages the subscription list 16 that can specify the process data 52 to be subscribed to in each HMI 200. Specifically, the subscription list management means 614 updates the subscription list 16 in response to the subscription start request and the subscription suspension request from each HMI 200.
  • the valid / invalid information management means 616 manages the valid / invalid information 12.
  • the valid / invalid information management means 616 manages the valid / invalid information 12 based on the data set list 14 and the subscription list 16.
  • the valid / invalid information management means 616 determines whether or not to update the valid / invalid information 12 in response to the subscription list management means 614 updating the subscription list 16.
  • the valid / invalid information management means 616 is valid for transmission when a new subscription start request is received and the types of process data 52 to be subscribed increase or the number of HMI 200s that subscribe to the process data 52 increases. It is determined whether or not the newly received subscription start request can be met by the data set 50.
  • the valid / invalid information management means 616 enables transmission when the number of types of process data 52 to be subscribed is reduced or the number of HMI 200s that subscribe to the process data 52 is reduced in response to the subscription suspension request. It is determined whether or not there is an unnecessary data set 50 among the data sets 50.
  • the valid / invalid information management means 616 determines to update the valid / invalid information 12.
  • the valid / invalid information management means 616 decides to update the valid / invalid information 12, it newly enables the transmission of the data set 50 so as to respond to the subscription start request, and invalidates the transmission of the unnecessary data set 50. To.
  • the valid / invalid information management means 616 may determine the data set 50 for enabling transmission and the data set 50 for disabling transmission according to the evaluation criteria regarding the communication load. For example, the valid / invalid information management means 616 may update the valid / invalid information 12 in consideration of the balance between the efficiency of transmission and the degree of change in the setting regarding the valid / invalid transmission.
  • the valid / invalid notification means 617 makes a publish start request and a publish stop request to each controller 100 in response to the update of the valid / invalid information 12.
  • the topic list management means 618 manages a topic list 682 that can identify the HMI 200 that transmits each data set 50.
  • the topic list management means 618 updates the topic list 682 in response to the determination result of the valid / invalid information management means 616.
  • the valid / invalid information management means 616 refers to the subscription list 16 to determine whether or not the subscription request of each HMI 200 is satisfied, and updates the valid / invalid information 12 if it is not satisfied.
  • the valid / invalid information management means 616 determines the data set 50 to be transmitted to each HMI 200 in order to satisfy the subscription request of each HMI 200.
  • the topic list management means 618 manages the types of data sets 50 to be transmitted to the HMI 200 determined by the valid / invalid information management means 616 as the topic list 682 for each HMI 200.
  • the transmission / reception management means 680 refers to the topic list 682 and transmits each data set 50 distributed from the controller 100 to the HMI 200 to which the process data 52 included in the data set 50 is subscribed. In this case, each controller 100 distributes the data set 50 according to the valid / invalid information 12.
  • HMI-1 subscribes to datasets 1a and 2a.
  • HMI-2 subscribes to datasets 2a and 2b.
  • HMI-3 subscribes to dataset 2b.
  • the transmission / reception management means 680 sets the data set 1a transmitted from the controller a to the HMI-1, the data set 2a transmitted from the controller a to the HMI-1 and the HMI-2, and the data set 2b transmitted from the controller b. It is transmitted to HMI-2 and HMI-3, respectively.
  • the transmission / reception management means 680 monitors the communication with the HMI 200, and when the communication with the HMI 200 is interrupted for a predetermined period or more, notifies the subscription list management means 614 of a timeout. Upon receiving the notification of the timeout, the subscription list management means 614 updates the subscription list 16 of the HMI 200, assuming that the subscription request has not been received from the time-out HMI 200. According to this update, the valid / invalid information 12 and the topic list 682 are updated.
  • FIG. 8 is a schematic diagram showing an example of the hardware configuration of the HMI 200.
  • the HMI 200 is realized by using hardware that follows a general-purpose architecture (for example, a general-purpose personal computer).
  • the HMI 200 may be a stationary type, or may be provided in the form of a notebook type personal computer having excellent portability at the manufacturing site where the controller 100 is arranged.
  • the HMI 200 includes a processor 210, a touch panel 240, a volatile memory 250, a non-volatile memory 270, a communication IF 292, and a USB (Universal Serial Bus) controller 294. These components are connected via the processor bus 296.
  • a USB Universal Serial Bus
  • the processor 210 is composed of a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), etc., and is a control program by reading a program stored in the non-volatile memory 270, expanding the program in the volatile memory 250, and executing the program. Various information obtained by executing 120 is output to the touch panel 240.
  • CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the volatile memory 250 is composed of a DRAM (Dynamic Random Access Memory), a SRAM (Static Random Access Memory), or the like.
  • the non-volatile memory 270 is composed of, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the non-volatile memory 270 maps the OPC UA program 260, the subscription management information 94, the link information 98, and one or more applications 220, in addition to the OS (not shown) for realizing the basic functions. Information 222 and is stored.
  • the OPC UA program 260 is a program for making the HMI 200 function as a subscriber, and is a program for performing communication according to the OPC UA between the controller 100 and the HMI 200.
  • the processor 210 executes the OPC UA program 260, the function related to the communication processing unit 90 shown in FIG. 3 is provided.
  • the OPC UA program 260 is installed in the non-volatile memory 270 from, for example, another external storage medium (for example, a memory card or a server device on a network).
  • the processor 210 executing the program
  • some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC (Application Specific)). It may be implemented using an integrated circuit) or FPGA (Field-Programmable Gate Array).
  • the function provided by the HMI 200 may be realized by using a part of the module provided by the OS.
  • the touch panel 240 includes a display unit 242, which is a display, and an input unit 244, which receives an operation of a player.
  • the display unit 242 and the input unit 244 may be formed separately.
  • the communication IF 292 is in charge of exchanging data with another device (for example, a relay device 60) connected to the information system network 2.
  • the USB controller 294 is in charge of exchanging data with an arbitrary information processing device via a USB connection.
  • FIG. 9 is a schematic diagram showing an example of the hardware configuration of the controller 100.
  • the controller 100 has a processor 110, a chipset 196, a non-volatile memory 170, a volatile memory 150, a control system network IF191, an information system network IF192, and a USB controller as main components. It includes 193, a memory card IF 194, and an internal bus controller 195.
  • the processor 110 is composed of a CPU, a GPU, or the like, and reads various programs stored in the non-volatile memory 170, expands them in the volatile memory 150, and executes them to control the field device 500 and function as a publisher. To realize.
  • the chipset 196 realizes the processing of the controller 100 as a whole by mediating the exchange of data between the processor 110 and each component.
  • the system program 172, the control program 120, the OPC UA program 180, and the transmission setting 400 are stored in the non-volatile memory 170.
  • the system program 172 is a program that provides the basic functions of the controller 100.
  • the control program 120 is typically a user program generated by operating and designing a support device that assists the user in program development.
  • the field device 500 is controlled by the control program 120 and the system program 172 collaborating to realize the control purpose in the user.
  • the processor 110 By executing the system program 172, the processor 110 provides the function of the control means 102, executes the control program 120, and updates the process data 52 accompanying the execution of the control program 120.
  • the OPC UA program 180 is a program for making the controller 100 function as a publisher, and is a program for performing communication according to the OPC UA between the controller 100 and the HMI 200.
  • the OPC UA program 180 may be pre-installed in the controller 100 as a kind of system program, for example, or from another external storage medium (for example, a memory card 194A, a server device on the network) to the non-volatile memory 170. It may be installed.
  • controller 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • virtualization technology may be used to execute a plurality of OSs having different uses in parallel, and to execute necessary applications on each OS.
  • the control network IF191 is in charge of exchanging data with the field device 500.
  • the information system network IF192 is in charge of exchanging data with another device (for example, a relay device 60) connected to the information system network 2.
  • another device for example, a relay device 60
  • the USB controller 193 is in charge of exchanging data with an arbitrary information processing device (support device) via a USB connection.
  • the memory card IF 194 is configured so that the memory card 194A can be attached and detached, and data such as a control program and various settings can be written to the memory card 194A, or data such as a control program and various settings can be read from the memory card 194A. It is possible to put it out.
  • the internal bus controller 195 is an interface for exchanging data with an I / O unit (not shown) mounted on the controller 100.
  • a manufacturer-specific communication protocol may be used, or a communication protocol that is the same as or compliant with any industrial network protocol may be used.
  • FIG. 10 is a schematic diagram showing an example of the hardware configuration of the relay device 60.
  • the relay device 60 is an arbitrary information processing device, and includes a processor 61, a volatile memory 64, a non-volatile memory 65, and a communication IF 67. These components are connected via the processor bus 68.
  • the processor 61 is composed of a CPU, a GPU, or the like, reads a program stored in the non-volatile memory 65, expands the program in the volatile memory 64, and executes the program to relay communication between the controller 100 and the HMI 200. At the same time, it provides a function for determining the transmission setting 400.
  • the volatile memory 64 is composed of DRAM, SRAM, or the like.
  • the non-volatile memory 65 is composed of, for example, an HDD or an SSD.
  • the non-volatile memory 65 stores the relay program 1310, the valid / invalid information 12, the dataset list 14, the subscription list 16, and the topic list 682 in addition to the OS for realizing the basic functions.
  • the relay program 1310 is a program for relaying communication between the controller 100 and the HMI 200 and determining the transmission setting 400, and is executed by the processor 61 to function as various means shown in FIG. 7. I will provide a.
  • the relay program 1310 realizes a management program 1312 for realizing the management means 10a for determining the validity of transmission of the data set 50, and a transmission / reception management means 680 for transmitting the data set 50 sent from the controller 100 to each HMI 200. Includes communication program 1314 for.
  • the configuration example in which the necessary functions are provided by the processor 61 executing the program is shown, some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC or FPGA). ) May be used. Further, the function provided by the relay device 60 may be realized by using a part of the modules provided by the OS.
  • the various programs stored in the non-volatile memory 65 may be installed via a computer-readable recording medium, but may also be installed by downloading from a server device or the like on the network.
  • the communication IF67 is in charge of exchanging data with each device (controller 100, HMI200) connected to the information system network 2.
  • FIG. 11 is a schematic diagram showing an example of the hardware configuration of the HMI 200b on which the management means 10 is mounted.
  • the HMI 200b differs from the HMI 200 in that it includes a management program 1320 and valid / invalid information 12b.
  • the processor 210 executes the management program 1320, the functions related to the management means are realized.
  • the processor 210 identifies the process data 52 to be subscribed by executing the OPC UA program 260 program.
  • the processor 210 executes the management program 1320 and refers to the link information 98 for identifying the process data 52 stored in each data set 50, so that the data set required to obtain the subscribed process data 52 is obtained. 50 is specified and the valid / invalid information 12b is updated.
  • the processor 210 notifies the controller 100 of the updated valid / invalid information 12b by executing the management program 1320.
  • the HMI 200 may transmit the valid / invalid information 12b by multicast, or may transmit only to the controller 100 that transmits the data set 50 whose validity or invalidity has been changed.
  • the controller included in the control system including a plurality of HMI 200b may have a function of arbitrating valid / invalid information from each HMI 200b. For example, if a controller is instructed by one HMI to disable transmission and another HMI is instructed to enable transmission for one data set, each controller gives priority to the valid instruction. Instructions from the HMI may be arbitrated.
  • FIG. 12 is a schematic diagram showing an example of the hardware configuration of the controller 100c on which the management means 10 is mounted. The controller 100c differs from the controller 100 in that it includes a management program 1330.
  • the function related to the management means is realized by the processor 110 executing the management program 1330.
  • the processor 110 executes the management program 1330 in response to the subscription start request or the subscription stop request from the HMI 200.
  • the processor 210 executes the management program 1320, refers to the transmission setting 400, and determines whether the transmission of each data set 50 is enabled or disabled so as to satisfy the subscription start request or the subscription stop request.
  • the processor 210 transmits the data set 50 to be transmitted determined by executing the management program 1320 by executing the OPC UA program 180.
  • the controller 100c executes the management program 1320 every time the application 220 executed by the HMI 200 is switched, a new HMI 200 is connected, or the connection of the HMI 200 is disconnected.
  • the management program 1320 is frequently executed in a system in which HMI200 joins and leaves the network frequently, and in a field where page switching of HMI200 occurs frequently, which may impose a heavy load on the processor 110. is there.
  • the function of the management program 1330 can be arbitrarily restricted.
  • the function of the management program 1330 may be stopped by operating the support device connected via the USB controller 193.
  • FIG. 13 is a diagram showing an example of the functional configuration of the support device 300.
  • the support device 300 is an embodiment of the determination means, and determines a plurality of data sets based on the process data used by each of the one or a plurality of applications executed by the application execution means.
  • the support device 300 is used, for example, at the timing of starting the connection between the controller 100 and the HMI 200.
  • the support device 300 provides a development environment for the application 220 executed by the HMI 200 and a development environment for the control program 120 executed by the controller 100, and also provides an environment for setting a communication environment between the controller 100 and the HMI 200. provide.
  • Such a development environment and a setting environment are provided by installing a support program on the support device 300.
  • the support program is, for example, "Sysmac Studio" manufactured by OMRON Corporation.
  • the determination means may be implemented in the relay device 60, the monitoring device that monitors the network composed of the controller 100 and the HMI 200, or the data set generation means 82 of the controller 100.
  • the support device 300 includes acquisition means 320 and determination means 340.
  • the acquisition means 320 acquires the process data 52 required for each one or a plurality of applications 220 executed by each HMI 200.
  • each of the process data 52 used in each application 220 is transferred from the controller 100 to the HMI 200 based on the information indicating the process data 52 required for each one or a plurality of applications 220 acquired by the acquisition means 320.
  • the number of data sets 50 to be transmitted by the communication processing unit 80 and the process data 52 to be included in each data set 50 are determined so as to be transmitted toward the user.
  • the determination means 340 can identify the controller that manages each process data. With reference to Listing 330, the process data 52 may be grouped by the controller that manages it. The determination means 340 determines the number of data sets 50 transmitted by the communication processing unit 80 for each grouped process data, and the process data 52 to be included in each data set 50.
  • the determination means 340 determines the process data 52 to be included in each data set 50 according to the management load index 353.
  • the management load index 353 is an index for evaluating the load applied to the management means 10. More specifically, the determination means 340 is provided in each data set 50 so that the management means 10 can easily manage the validity / invalidity of the data set 50 based on the fact that the control system includes the management means 10. Determine the process data 52 to be included.
  • the determination means 340 generates the link information 98 at the timing when the process data 52 to be included in each data set 50 is determined.
  • the determination means 340 sends the link information 98 to the HMI 200 and the transmission setting 400 to the controller 100.
  • the support device 300 includes a USB controller and is communicably connected to the controller 100 or the HMI 200 by a USB connection, and the determination means 340 sends information to each of the controller 100 and the HMI 200 via the USB cable. ..
  • FIG. 14 is a diagram showing a modified example of a subscription request for a subscription.
  • the HMI 200d may specify the required data set 50 and the unnecessary data set 50 as the application starts or stops executing.
  • the communication processing unit 90d may notify the management means 10d of the specified data set 50 together with the subscription request of the subscription.
  • the HMI 200d changes the application to be executed according to the user operation, and notifies the management means 10d of the data set 50 required for the changed application. Therefore, the management means 10d can determine the data set to be transmitted in response to an explicit request from the HMI 200d.
  • a method in which the communication processing unit 90d identifies the data set 50 required for the application when the application 220 changes according to the user operation is, for example, the HMI 200d corresponds to the application and the data set 50 required for the application.
  • the attached application information 93 may be provided and the determination may be made based on the application information 93. Further, the communication processing unit 90d may determine based on the link information 98 indicating the process data 52 stored in each data set 50 and the subscription management information 94.
  • the application information 93 is generated at the timing shown in FIG. 13, for example, when the transmission setting 400 is generated.
  • the HMI is a subscriber and the controller is a publisher.
  • Each of the HMI and controller may have both subscriber and publisher functionality.
  • control program is configured to make available the data delivered from the HMI. Whether to enable or disable the transmission of the data set from the HMI may be determined according to the control program executed in the controller or the state of the controller. As a method for determining whether the transmission of the data set from the HMI is valid or invalid, the method for determining whether the data set 50 from the controller 100 is valid or invalid can be used.
  • all the process data 52 used in the application are transmitted by one controller 100, but the plurality of process data 52 used in the application 220 are transmitted. May be transmitted from different controllers 100, respectively.
  • the management means 10 groups the process data or data set included in the subscription request for each controller that transmits the process data or data set, and each process data or each data included in the group for each group. You may decide to enable or disable the transmission of the set.
  • a control means (102) that executes a control program (120) for controlling a control target and manages a plurality of process data (52) that are referenced or updated in the control program.
  • a transmission means (80) capable of transmitting a plurality of data sets (50) including the values of the plurality of process data managed by the control means is provided, and each of the plurality of data sets is one or a plurality of predetermined values.
  • An application execution means (200) that executes one or more applications by using the value of the process data included in the data set transmitted by the transmission means
  • a control system including a management means (10) for determining a data set for which transmission is enabled among the plurality of data sets that can be transmitted by the transmission means according to an application executed by the application execution means.
  • the application execution means changes the application to be executed according to a user operation, and notifies the management means of a data set required for the changed application (S122, 90d), according to the configuration 1 or 2. Control system.
  • the control system (1) includes a control device (100) and a display device (200).
  • the control means and the transmission means are mounted on the control device.
  • the application execution means is mounted on the display device.
  • the control system according to any one of configurations 1 to 4, wherein the management means is mounted independently of the control device and the display device.
  • the control system (1) includes a control device (100) and a display device (200).
  • the control means, the transmission means, and the management means are mounted on the control device.
  • the control system according to any one of configurations 1 to 4, wherein the application execution means is mounted on the control device.
  • the control system A control means (102) that executes a control program (120) for controlling a control target and manages a plurality of process data (52) that are referenced or updated in the control program.
  • a transmission means (80) capable of transmitting a plurality of data sets (50) including the values of the plurality of process data managed by the control means is provided, and each of the plurality of data sets is one or a plurality of predetermined values.
  • the application execution means (200) for executing one or more applications by utilizing the value of the process data included in the data set transmitted by the transmission means is provided.
  • the relay device is a relay device that determines, among the plurality of data sets that the transmission means can transmit, a data set for which transmission is enabled, depending on an application being executed by the application execution means.
  • a relay program (1310) executed by an information processing device (60) arranged in a control system.
  • the control system A control means (102) that executes a control program (120) for controlling a control target and manages a plurality of process data (52) that are referenced or updated in the control program.
  • a transmission means (80) capable of transmitting a plurality of data sets (50) including the values of the plurality of process data managed by the control means is provided, and each of the plurality of data sets is one or a plurality of predetermined values.
  • Including the value of the process data of The application execution means (200) for executing one or more applications by utilizing the value of the process data included in the data set transmitted by the transmission means is provided.
  • the relay program is applied to the information processing device.
  • a step (S110, S130) of managing information on the plurality of data sets that can be transmitted by the transmission means, and A step (S112, S126, S132, S140) of determining a data set for which transmission is enabled among the plurality of data sets that can be transmitted by the transmission means is performed according to the application being executed by the application execution means.
  • 1,1a control system 2 information system network, 4 control system network, 10,10a, 10d management means, 12,12b valid / invalid information, 14 data set list, 16 subscription list, 20 setting device, 50 data set, 52 Process data, 54 objects, 60 relay devices, 616 valid / invalid information management means, 61,110,210 processors, 64,150,250 volatile memory, 65,170,270 non-volatile memory, 67,292 communication IF, 68 , 296 processor bus, 80, 90, 90d communication processing unit, 82 data set generation means, 84, 96 communication driver, 92 subscription management means, 94 subscription management information, 98 link information, 100, 100c controller, 102 control means, 120 Control program, 172 system program, 180, 260 OPC UA program, 191 control system network IF, 192 information system network IF, 193,294 USB controller, 194 memory card IF, 194A memory card, 195 internal bus controller, 196 chipset, 220 application, 222 mapping information, 240 touch panel, 24

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

データ量の増大に伴う通信負荷の増大を抑制することを目的とする。制御システム(1)は、制御対象(500)を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御手段(102)と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセット(50)を送信可能な送信手段(80)とを含む。複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーション(120)を実行するアプリケーション実行手段(200)と、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する管理手段(10)とを含む。

Description

制御システム、中継装置、および中継プログラム
 本発明は、プロセスデータの値を含む1または複数のデータセットが送信される制御システム、当該制御システムに含まれる中継装置、ならびに、当該中継装置で実行される中継プロセスに関する。
 様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置または製造設備などに応じて設計された制御プログラムが実行される。このような制御装置は、HMI(Human Machine Interface)などの情報処理装置と通信可能に接続される。
 情報処理装置は、たとえば、制御装置からの情報を利用して、制御装置の制御対象の稼働状況などをグラフィカルに表示したり、あるいは、制御装置からの情報を利用して、表示するアプリケーションとは異なるアプリケーションを実行したりする。
 たとえば、特開2017-146803号公報(特許文献1)は、PLCと接続される情報処理装置の一例としてプログラマブル表示器を開示する。プログラマブル表示器は、PLCが保持する情報を表示する。
特開2017-146803号公報
 特許文献1に開示されるようなプログラマブル表示器はPLCが保持する情報を所定周期毎に更新して表示する。このようなプログラマブル表示器をPLCとネットワーク接続した場合には、ネットワーク上を所定周期毎にデータが送信されることになる。
 このような所定周期毎に送信されるデータが増大すると通信負荷が大きくなる。本発明は、このような送信されるデータ量の増大に伴う通信負荷の増大を抑制する技術を提供することを一つの目的とする。
 本開示の一例に従う制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段と、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とを含む。
 本開示によれば、アプリケーション実行手段により実行されるアプリケーションに応じて、複数のデータセットのうち必要なデータセットのみを送信することが可能になり、通信負荷の増大を抑制できる。
 上述の開示において、管理手段は、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信しているデータセットのうち不要なデータセットが発生すると、送信手段に当該不要なデータセットの送信の停止を指示するようにしてもよい。この構成によれば、不要となったデータセットの送信を明示的に停止できる。
 上述の開示において、アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを管理手段に通知するようにしてもよい。この構成によれば、アプリケーション実行手段での明示的な要求に応じて、送信すべきデータセットを決定できる。
 上述の開示において、管理手段は、アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を送信手段に指示するようにしてもよい。この構成によれば、アプリケーション実行手段からの明示的な要求がなくても、不要なデータセットの送信を停止できる。
 上述の開示において、制御システムは、制御装置および表示装置を含む。制御手段および送信手段は制御装置に実装され、アプリケーション実行手段は表示装置に実装されてもよい。管理手段は、制御装置および表示装置とは独立して実装されてもよい。この構成によれば、管理手段は、制御装置および表示装置のそれぞれの状況に応じて、送信すべきデータセットを適切に決定できる。
 上述の開示において、制御システムは、制御装置および表示装置を含む。制御手段、送信手段および管理手段は制御装置に実装され、アプリケーション実行手段は制御装置に実装されてもよい。この構成によれば、制御装置および表示装置だけで送信すべきデータセットの管理ができるので、余分な装置を設ける必要がない。
 上述の開示において、制御システムは、アプリケーション実行手段により実行される1または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、複数のデータセットを決定する決定手段をさらに含む。この構成によれば、アプリケーション実行手段により実行されるアプリケーションに応じて、適切なデータセットを決定できる。
 本開示の別の一例によれば、制御システムに配置された中継装置が提供される。制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段を含む。中継装置は、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定する。
 本開示のさらに別の一例によれば、制御システムに配置された情報処理装置で実行される中継プログラムが提供される。制御システムは、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、制御手段が管理する複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを含む。複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含む。制御システムは、送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段を含む。中継プログラムは、情報処理装置に、送信手段が送信可能な複数のデータセットの情報を管理するステップと、アプリケーション実行手段により実行されているアプリケーションに応じて、送信手段が送信可能な複数のデータセットのうち送信を有効化するデータセットを決定するステップとを実行させる。
 本発明によれば、データ量の増大に伴う通信負荷の増大を抑制できる。
制御システム1の適用場面を示す模式図である。 PubSub通信の概要を説明するための図である。 サブスクライバーとして機能するHMI200の概要を説明するための図である。 パブリッシャーとして機能するコントローラ100の概要を説明するための図である。 管理手段10による一連の管理の流れを示すシーケンス図である。 管理手段10を実装可能な装置の例を説明するための図である。 中継装置60に管理手段を実装した場合の中継装置60の機能構成を示す図である。 HMI200のハードウェア構成の一例を示す模式図である。 コントローラ100のハードウェア構成の一例を示す模式図である。 中継装置60のハードウェア構成の一例を示す模式図である。 管理手段10を実装したHMI200bのハードウェア構成の一例を示す模式図である。 管理手段10を実装したコントローラ100cのハードウェア構成の一例を示す模式図である。 サポート装置300の機能構成の一例を示す図である。 サブスクリプションの購読要求の変形例を示す図である。
 以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
 <A.適用例>
 図1は、制御システム1の適用場面を示す模式図である。制御システム1は、制御装置の一例であるコントローラ100と、表示装置の一例であるHMI200と、管理手段10とを備える。
 HMI200とコントローラ100とは、図1に示す例において、情報系ネットワーク2により通信可能に接続される。情報系ネットワーク2は、たとえば、ベンダやOS(Operating System)の種類などに依存することなくデータ交換を実現することができる通信規格に従ったネットワークである。このような通信規格としては、たとえば、OPC UA(Object Linking and Embedding for Process Control Unified Architecture)などが知られている。
 なお、情報系ネットワーク2に採用される通信規格は、OPC UAに限定されるわけではない。たとえば、情報系ネットワーク2は、特定のベンダまたはOS特有の通信規格に従ったネットワークであってもよく、また、Ethernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)に従ったネットワークであってもよい。HMI200とコントローラ100との間の通信は、直接行われる必要はなく、HMI200とコントローラ100との間に中継装置が設けられていてもよい。
 図1に示す例では、HMI200とコントローラ100との間の通信は、OPC UAのパブリッシュ・サブスクライブ(Publish-Subscribe)型の通信方式により行われる。なお、以下、OPC-UAのパブリッシュ・サブスクライブ(Publish-Subscribe)型の通信方式が適用された通信をPubSub通信ともいう。
 制御システム1は、複数のコントローラ100を含む構成であってもよい。また、制御システム1は、複数のHMI200を含む構成であってもよい。また、制御システム1は、1のコントローラ100に対して1のHMI200が通信可能に接続された構成でもよく、複数のコントローラ100に対して1のHMI200が通信可能に接続された構成でもよく、1のコントローラ100に対して複数のHMI200が通信可能に接続された構成でもよく、また、複数のコントローラ100に対して複数のHMI200が通信可能に接続された構成でもよい。図1に示す例では、制御システム1は、1のコントローラ100に対して1つのHMI200が通信可能に接続された構成である。
 コントローラ100は、制御手段102と、通信処理部80とを備える。制御手段102は、制御対象であるフィールドデバイス500などを制御するための制御プログラム120を実行するとともに、当該制御プログラム120において参照または更新される複数のプロセスデータ52を管理する。
 本明細書において、「プロセスデータ」は、コントローラ100またはHMI200が参照可能な任意のデータを包含する用語である。より具体的には、「プロセスデータ」は、フィールドデバイスから取得する入力データ、制御演算によって算出されてフィールドデバイスへ与えられる出力データ(指令値)、制御演算を実行するための一時的に算出されるデータ、ユーザによる操作内容を示すデータなどを含み得る。
 制御手段102は、たとえば、コントローラ100の基本的な機能を実現するためのシステムプログラム172をプロセッサ110(いずれも図9参照)が実行することにより実現される。
 フィールドデバイス500は、生産工程を自動化するための種々の産業用機器を含み、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与える装置と、フィールドとの間で情報を遣り取りする入出力装置とを含む。たとえば、フィールドデバイス500は、サーボモータを制御するサーボドライバ、ロボットを制御するロボットコントローラ、データを収集する装置であるセンサ、コンベヤを動かすアクチュエータ、または、リモートI/O(Input/Output)装置などを含む。
 コントローラ100とフィールドデバイス500とは、図1に示す例において、制御系ネットワーク4により通信可能に接続される。制御系ネットワーク4には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
 通信処理部80は、送信手段の具現化例であって、制御手段102が管理する複数のプロセスデータ52の値を含む複数のデータセット50を送信可能に構成されている。具体的には、通信処理部80は、各データセット50に格納されるプロセスデータ52の組み合わせを規定する送信設定400を参照して、データセット50を送信する。すなわち、データセット50の各々は予め定められた1または複数のプロセスデータの値を含む。
 プロセスデータ52は、フィールドデバイス500からコントローラ100に入力されるデータと、コントローラ100からフィールドデバイス500に出力されるデータと、制御プログラム120の実行またはコントローラ100の状態管理に用いられるデータとを含む。プロセスデータ52は、制御プログラム120の実行に伴って、周期的に更新される。
 HMI200は、アプリケーション実行手段の具現化例であって、1または複数のアプリケーション220を実行する。なお、アプリケーション実行手段は、複数のHMIによって構成されてもよい。すなわち,アプリケーション実行手段は、制御システム1において実行可能なアプリケーションの実行主体全体を含み得る。
 各アプリケーション220は、コントローラ100が送信したデータセット50に含まれるプロセスデータ52の値を利用する。すなわち、HMI200は、コントローラ100により送信されるデータセット50に含まれるプロセスデータ52の値を利用して1または複数のアプリケーションを実行する。なお、以下では、プロセスデータ52の値を単に「プロセスデータ52」と称することもある。HMI200は、アプリケーション220を実行することで、制御プログラム120の実行によって得られる各種情報をオペレータへ提示する。
 たとえば、図1に示す例では、アプリケーション220-aが実行されることで、ページ1が生成され、アプリケーション220-bが実行されることで、ページ2が生成される。また、アプリケーション220-aは、プロセスデータA,B,C,Dの値を利用してページ1にオブジェクト54を表示する。一方、アプリケーション220-bは、プロセスデータXの値を利用してページ2にオブジェクト54を表示する。HMI200は、たとえば、ユーザによるページの切り替え操作を受け付けると、実行するアプリケーション220を変更する。図1中のアプリケーションの下に示したアルファベットが、当該アプリケーションで利用されるプロセスデータを示しているものとする。
 管理手段10は、HMI200により実行されているアプリケーションに応じて、通信処理部80が送信可能なデータセット50のうち、送信を有効化するデータセット50を決定する。たとえば、管理手段10は、HMI200が実行可能なアプリケーション220の実行状況に基づいて、実行されているアプリケーション220に利用されるプロセスデータ52がコントローラ100からHMI200に向けて配信されるように、有効化するデータセット50を決定する。
 たとえば、図1に示す例では、プロセスデータA,B,C,Dの値を利用するアプリケーション220-aが実行されている場合、管理手段10は、データセット1およびデータセット2の送信を有効化する。ユーザによるページの切り替え操作などが受け付けられて、実行するアプリケーション220が、アプリケーション220-aからアプリケーション220-bに切り替わると、管理手段10は、データセット1およびデータセット2の送信を無効化して、データセット3の送信を有効化する。
 このように、管理手段10が、実行されているアプリケーション220に応じて、データセット50の送信の有効、無効を規定できるため、実行されていないアプリケーションに利用されるプロセスデータを含むデータセットが送信されることを防止することができる。
 コントローラ100が管理するプロセスデータ52を利用してアプリケーション220を実行する情報処理装置は、HMI200に限られない。たとえば、情報処理装置は、制御対象であるフィールドデバイス500から計測されたトレーサビリティに関する情報などを収集するデータベースや、プロセス制御と集中監視とを行うSCADA(Supervisory Control And Data Acquisition)装置などであってもよい。
 また、情報処理装置は、コントローラ100と情報系ネットワーク2を介して接続された装置に限られるものではなく、制御系ネットワーク4を介して接続されたロボットを制御するロボットコントローラ、アクチュエータ、他のコントローラなどであってもよい。すなわち、アプリケーション220は、情報の提示を目的としたものに限定されるものではなく、コントローラ100が管理するプロセスデータ52を利用する機能の実現を目的としたものであればよい。なお、以下では、アプリケーション220は、情報の提示を目的としたものであって、表示部に画像を表示する機能を提供するプログラムとして説明する。
 本実施の形態においては、説明を簡略にするため、制御システム1全体で利用されるプロセスデータの種類は、4種類であるとした。しかし、実際の生産現場においては、より多くの種類のプロセスデータがアプリケーションに利用されている。そのため、実行され得るすべてのアプリケーション220に利用されるプロセスデータ52をすべて配信すると、制御システム1に含まれる各装置にかかる負荷は大きくなる。
 そこで、本実施の形態のように、管理手段10が、実行されているアプリケーション220に応じて、データセット50の送信の有効、無効を規定することで、各装置への負荷を下げつつ、アプリケーション220が必要とするプロセスデータ52の配信を行うことができる。
 <B.PubSub通信>
 図2は、PubSub通信の概要を説明するための図である。以下の説明では、データを配信する側を「パブリッシャー」と称し、パブリッシャーが配信したデータを購読する側を「サブスクライバー」と称する。本実施の形態に係る制御システム1において、コントローラ100は、データを配信するパブリッシャーに相当する。一方、HMI200は、コントローラ100が配信したデータを購読するサブスクライバーに相当する。
 パブリッシャーは、1または複数のデータを格納したデータセットを生成して配信する。パブリッシャーは、送信先を特定することなく、パブリッシャーおよびサブスクライバーを含むネットワークにデータセットを送信する。この送信形態は、マルチキャストであってもよいし、ユニキャストであってもよい。状況によって、この送信形態は、ブロードキャストであってもよい。
 サブスクライバーは、サブスクライバーがアクセスすることのできるネットワーク上に配信されるデータセットのうち、いずれのデータセットを購読対象とするかを管理する。たとえば、図2に示す例では、サブスクライバーは、データセット1~データセット3のうち、データセット1およびデータセット3を購読対象としている。そのため、サブスクライバーは、パブリッシャーが配信するデータセット1~3のうち、データセット1およびデータセット3のみを受信する。サブスクライバーは、購読対象を変更すると、受信対象を変更する。
 サブスクライバーは購読対象ではないデータセットを受信してもよく、この場合、サブスクライバーは、購読対象ではないデータセットを破棄する処理をしてもよい。
 サブスクライバーが購読対象を管理する方法は、図2に示す方法に限られない。たとえば、データ毎に購読するか否かを管理してもよい。その他の方法としては、データセットとは異なるデータの集合毎に購読するか否かを管理してもよい。
 図3および図4を参照して、HMI200とコントローラ100との間のPubSub通信の概要について説明する。図3は、サブスクライバーとして機能するHMI200の概要を説明するための図である。図4は、パブリッシャーとして機能するコントローラ100の概要を説明するための図である。
 図3を参照して、HMI200は、表示部242と、複数のアプリケーション220(220-a,220-b…)と、OPC UAクライアントである通信処理部90とを備える。各アプリケーション220は、表示部242に特定のページを表示するためのプログラムである。図3には、表示部242にページ1を表示するためのアプリケーション1が実行されている例が示されている。
 各ページは、複数のオブジェクト54を含む。たとえば、ページ1は、オブジェクト54a~オブジェクト54dを含む。オブジェクト54の表示は、プログラムに含まれる変数の値に応じて更新される。たとえば、オブジェクト54aの表示は、変数2の値に応じて更新される。同様に、オブジェクト54bの表示は変数1の値に、オブジェクト54cの表示は変数4の値に、オブジェクト54dの表示は変数3の値に応じて更新される。
 アプリケーション220は、マッピング情報222を参照することで、変数の値を更新する。マッピング情報222は、変数とプロセスデータ52とを紐づけた情報である。たとえば、変数1の値は、プロセスデータ52Aの値に従って更新される。各プロセスデータの値が更新される周期は、アプリケーション220の作成に応じてユーザが設定してもよく、また、プロセスデータを管理するコントローラ100の更新周期に応じて決定されるものでもよい。
 通信処理部90は、OPC UAクライアントであって、HMI200をサブスクライバーとして機能させる。通信処理部90は、購読管理手段92と通信ドライバ96とを備える。
 購読管理手段92は、実行中のアプリケーション220に応じて購読対象を管理する。具体的には、購読管理手段92は、アプリケーション220とマッピング情報222に基づいて生成される購読管理情報94を参照して購読対象を特定し、通信ドライバ96に向けて、購読対象を通知する。
 購読管理情報94は、アプリケーション220と、当該アプリケーション220で利用されるプロセスデータ52とを対応付けた情報であって、アプリケーション220とマッピング情報222とに基づいて生成される。
 たとえば、アプリケーション1を実行している場合、購読管理手段92は、購読管理情報94を参照して、プロセスデータA,B,C,Dがアプリケーション1の実行に利用されることを特定する。購読管理手段92は、プロセスデータA,B,C,Dの購読開始を通信ドライバ96に向けて通知する。購読管理手段92は、アプリケーションの実行対象が切り替わった場合、購読を停止するプロセスデータ52に関する情報も、購読を開始するプロセスデータ52に関する情報とともに通信ドライバ96に向けて通知する。
 通信ドライバ96は、購読管理手段92から通知された購読を開始するプロセスデータ52と、購読を停止するプロセスデータ52とを特定可能情報を管理手段10に通知する。なお、以下では、購読を停止することを、「サブスクリプションの停止を要求する」ともいい、購読を開始することを、「サブスクリプションの開始を要求する」ともいう。
 管理手段10は、サブスクリプションの停止要求、および開始要求、ならびに、各データセット50に含まれるプロセスデータ52の種類を特定可能なデータセットリスト14に基づいて、送信を有効にするデータセット50および、送信を停止するデータセット50を決定する。なお、管理手段10の処理については、後述する。
 通信ドライバ96は、購読対象のプロセスデータ52を含むデータセット50を受信し、アプリケーション220で利用されるプロセスデータ52の値を更新する。
 通信ドライバ96は、コントローラ100が配信する複数のデータセット50の中から、購読対象のプロセスデータ52を含むデータセット50を読み取る。より具体的には、通信ドライバ96は、各データセット50に格納されたプロセスデータ52を特定するためのリンク情報98を参照して、コントローラ100が配信する複数のデータセット50の中から、購読対象のプロセスデータ52を含むデータセット50を特定する。
 リンク情報98は、送信設定400が生成されるタイミングで生成される。リンク情報98を参照する主体は、通信ドライバ96に限られない。たとえば、リンク情報98を参照する主体は、購読管理手段92であってもよい。この場合、購読管理手段92は、アプリケーション220の実行に必要なプロセスデータ52の値を得るために必要なデータセット50を特定し、通信ドライバに向けて特定したデータセット50を購読対象として通知してもよい。
 図4を参照して、コントローラ100は、制御手段102と、制御系ネットワークインターフェイス(IF)191と、OPC UAサーバである通信処理部80とを備える。
 制御手段102は、制御プログラム120を実行することで、フィールドデバイス500を制御する。たとえば、制御プログラム120は、制御系ネットワークIF191を介して入力されたフィールドデバイス500の状態値を利用してプロセスデータ52の値を更新し、更新したプロセスデータ52の値を参照して制御演算を実行する。制御プログラム120は、実行した制御演算の結果に応じてプロセスデータ52の値を更新し、制御系ネットワークIF191を介してフィールドデバイス500に向けて、更新したプロセスデータ52の値を制御値として出力する。
 通信処理部80は、OPC UAサーバであって、コントローラ100をパブリッシャーとして機能させる。通信処理部80は、データセット50を生成するデータセット生成手段82と、データセット50を送信する通信ドライバ84とを備える。
 データセット生成手段82は、送信設定400を参照して、管理手段10が決定した送信が有効なデータセット50を生成する。データセット50は、プロセスデータ52の集合をいうこともあれば、情報系ネットワーク2上に出力することが可能な形式にしたものをいうこともある。
 送信設定400は、一のデータセット50に格納されるプロセスデータ52を特定する情報である。なお、一のデータセット50には、1のプロセスデータ52だけが格納されるように規定されていてもよく、また、複数のプロセスデータ52が格納されるように規定されていてもよい。すなわち、「データセット」という用語は、データセット50に格納される1または複数のプロセスデータ52の組み合わせを意味する。
 すなわち、コントローラ100は、送信設定400に従ってデータセットを生成する。これにより、送信設定400が、特定の属性のプロセスデータを一のデータセットとするように規定するものである場合と比べて、コントローラ100の処理負担が軽減される。
 送信設定400は、データセット50を生成する条件を規定する情報を含んでもよい。たとえば、制御プログラム120の実行に伴ってプロセスデータ52の値が更新される周期毎にデータセット50が生成されるように、データセット50を生成する条件が規定されてもよい。なお、この場合、データセット50に含めるプロセスデータ52の組み合わせは、生成する条件を考慮して規定されることが好ましい。
 通信ドライバ84は、データセット生成手段82が生成したデータセット50を、情報系ネットワーク2上に配信する。
 図3および図4を参照して、HMI200がアプリケーション1を実行しているときの、HMI200とコントローラ100との間のデータの遣り取りについて説明する。
 HMI200は、アプリケーション1を実行している場合、プロセスデータA,B,C,Dを利用する。管理手段10は、アプリケーション1の実行に応じて、有効/無効情報12を更新する。具体的には、プロセスデータA,Dが格納されるデータセット1とプロセスデータB,Cが格納されるデータセット2の送信を有効にし、他のデータセットの送信を無効にする。管理手段10は、有効/無効情報12を更新したことに応じて、コントローラ100にデータセット50の送信の開始と停止とを要求する。なお、以下では、コントローラ100からデータセット50を送信することを「パブリッシュする」ともいう。
 コントローラ100は、管理手段10からの要求と、送信設定400とに従い、データセット1,2の各々を周期的に生成して情報系ネットワーク2上に送信する。データセット1には、プロセスデータAおよびプロセスデータDが、データセット2には、プロセスデータBおよびプロセスデータCが格納されている。
 HMI200は、コントローラ100から配信される複数のデータセット50のうち、購読対象であるプロセスデータA,B,C,Dの各々の値が格納されたデータセット1,2を取得する。データセット1,2の各々は、周期的に送信されるため、HMI200は、データセット1,2の各々を周期的に取得する。これにより、HMI200は、プロセスデータA,B,C,Dに対応する変数を周期的に更新することができ、当該変数の更新に応じてオブジェクト54の表示も更新する。
 <C.シーケンス>
 図5は、管理手段10による一連の管理の流れを示すシーケンス図である。以下、ステップを単に「S」と示す。
 S100において、通信処理部80は、送信可能なデータセット50および各データセット50に格納されるプロセスデータ52を示す情報の登録を行う。
 S102において、管理手段10は、通信処理部80によって登録された情報に基づいて、データセットリスト14を生成する。
 S104において、アプリケーション220-aの実行が開始されたとする。
 S106において、アプリケーション220-aの実行開始に伴って、HMI200の通信処理部90は、購読管理情報94を参照して、アプリケーション220-aの実行に必要なプロセスデータ52を特定する(購読対象の特定)。
 S108において、HMI200の通信処理部90は、購読の開始を管理手段10に向けて通知する(サブスクリプション開始要求)。S108におけるサブスクリプション開始要求には、購読対象のプロセスデータ52を特定可能な情報が含まれる。図5に示す例では、プロセスデータA,B,C,およびDの購読を開始する旨の通知がされる。
 S110において、管理手段10は、サブスクリプション開始要求に基づいて、有効/無効情報12を更新する。具体的には、管理手段10は、データセットリスト14を参照して、プロセスデータA,B,C,およびDのうちの少なくともいずれかを含むデータセット50を特定し、すべてのプロセスデータ52が送信されるように送信を有効にするデータセット50を決定する。
 管理手段10は、通信負荷に関する評価基準に従って、送信を有効にするデータセット50を決定してもよい。たとえば、管理手段10は、通信処理部80のデータセット50を送信する際の負荷が小さくなるように、また、所定期間の間にHMI200で利用されるプロセスデータ52の受信量が多くなるように、また、コントローラ100とHMI200との間の通信効率が良くなるように、送信を有効にするデータセット50を決定する。
 図5に示す例では、管理手段10は、プロセスデータA,Dが格納されるデータセット1およびプロセスデータB,Cが格納されるデータセット2の送信を有効にし、他のデータセット50の送信は無効のままとする。
 S112において、管理手段10は、データセット1およびデータセット2の送信を有効にした旨をコントローラ100の通信処理部80に通知する(パブリッシュの開始要求)。
 S114において、通信処理部80は、データセット1およびデータセット2の送信(パブリッシュ)を開始する。データセット1およびデータセット2は、たとえば、各々、周期的に送信される。また、S114において、管理手段10は、通信処理部80から送信されたデータセット1およびデータセット2の各々をHMI200に向けて送信する。なお、データセット1およびデータセット2は、管理手段10を中継して送信される必要はない。たとえば、通信処理部80は、データセット1およびデータセット2をマルチキャストに送信し、HMI200の通信処理部90がマルチキャストされたデータセット1およびデータセット2の各々を受信してもよい。
 ページの切り替えが行われ、S116において、アプリケーション220-aの実行が停止され、S118において、アプリケーション220-bの実行が開始されたとする。
 S120において、HMI200の通信処理部90は、アプリケーション220-aの実行停止およびアプリケーション220-bの実行開始に伴って、購読を停止するプロセスデータ52と、購読を開始するプロセスデータ52とを、購読管理情報94を参照して特定する(購読対象の特定)。
 S122において、HMI200の通信処理部90は、購読の停止を管理手段10に向けて通知する(サブスクリプション停止要求)。S122におけるサブスクリプション停止要求には、購読を停止するプロセスデータ52を特定可能な情報が含まれる。図5に示す例では、プロセスデータA,B,C,およびDの購読を停止する旨の通知がされる。
 さらに、HMI200の通信処理部90は、購読を停止するデータセット50と、購読を開始するデータセット50とを、購読管理情報94およびリンク情報98を参照して特定してもよい。この場合、HMI200の通信処理部90は、サブスクリプション停止要求に、購読を停止するデータセット50を特定可能な情報が含めてもよい。
 このように、HMI200は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なプロセスデータを管理手段10に通知してもよい。
 S124において、管理手段10は、サブスクリプション停止要求に基づいて、有効/無効情報12を更新する。具体的には、図5に示す例では、管理手段10は、データセット1およびデータセット2の送信を無効にする。
 なお、管理手段10は、S108、110において、サブスクリプション開始要求がされたプロセスデータ52(A,B,C,D)と、有効にしたデータセット50の種類とを対応付けて管理してもよい。これにより、サブスクリプション停止要求に対しての処理が容易になる。
 S126において、管理手段10は、データセット1およびデータセット2の送信を無効にした旨をコントローラ100の通信処理部80に通知する(パブリッシュの停止要求)。通信処理部80は、S124のパブリッシュの停止要求に従い、S114から開始したデータセット1およびデータセット2の送信を停止する。
 このように、管理手段10は、HMI200により実行されているアプリケーションに応じて、コントローラ100の通信処理部80が送信しているデータセット50のうち不要なデータセット50が発生すると、コントローラ100の通信処理部80に当該不要なデータセットの送信の停止を指示する。
 S128において、HMI200の通信処理部90は、購読の開始を管理手段10に向けて通知する(サブスクリプション開始要求)。S128におけるサブスクリプション開始要求には、購読対象のプロセスデータ52を特定可能な情報が含まれる。図5に示す例では、プロセスデータXの購読を開始する旨の通知がされる。
 S130において、管理手段10は、サブスクリプション開始要求に基づいて、有効/無効情報12を更新する。具体的には、管理手段10は、データセットリスト14を参照して、プロセスデータXが送信されるように送信を有効にするデータセット50を決定する。図5に示す例では、管理手段10は、プロセスデータXが格納されるデータセット3の送信を有効にし、他のデータセット50の送信は無効のままとする。
 S132において、管理手段10は、データセット3の送信を有効にした旨をコントローラ100の通信処理部80に通知する(パブリッシュの開始要求)。
 S134において、通信処理部80は、データセット3の送信(パブリッシュ)を開始する。データセット3は、たとえば、周期的に送信される。また、S134において、管理手段10は、通信処理部80から送信されたデータセット3をHMI200に向けて送信する。
 S136において、管理手段10は、通信処理部90へのデータセット3の送信ができなくなった旨(タイムアウト)を検知したとする。
 S138において、管理手段10は、タイムアウトの検知に基づいて、有効/無効情報12を更新する。具体的には、図5に示す例では、管理手段10は、データセット3の送信を無効にする。すなわち、管理手段10は、タイムアウトの検知により、通信処理部90との通信が途切れたと判断し、通信処理部90からのサブスクリプション要求が停止したものと判断する。
 S140において、管理手段10は、データセット3の送信を無効にした旨をコントローラ100の通信処理部80に通知する(パブリッシュの停止要求)。通信処理部80は、S140のパブリッシュの停止要求に従い、S134から開始したデータセット3の送信を停止する。
 このように、管理手段10は、HMI200により受信されなくなったデータセット50について、送信の停止をコントローラ100の通信処理部80に指示する。これにより、不要なデータセット50の送信が停止される。
 <D.管理手段の実装例>
 本実施の形態に係る管理手段10を実装可能な装置および、当該装置に実装したときの処理について説明する。図6は、管理手段10を実装可能な装置の例を説明するための図である。
 図6を参照して、管理手段10は、(1)コントローラ100とHMI200との間の通信を中継する中継装置60、(2)HMI200b、または(3)コントローラ100cに実装される。
 すなわち、(1)に示すように、管理手段10をコントローラ100およびHMI200とは独立して実装されてもよい。あるいは、(2)に示すように、管理手段10をHMI200bに実装してもよい。さらにあるいは、(3)に示すように、管理手段10をコントローラ100cに実装してもよい。
 以下では、管理手段10の機能が実行されたHMIをHMI200bとし、管理手段10の機能が実行されたコントローラをコントローラ100cとする。
 コントローラ100が管理するプロセスデータ52が複数のHMI200に利用され、かつ、HMI200が実行する1または複数のアプリケーション220において、互いに異なるコントローラ100によって管理される複数のプロセスデータ52が利用されるような場合(N対N)は、中継装置60に管理手段10の機能を実装させることが効果的である。
 なお、N対Nの場合に、HMI200bまたはコントローラ100cを利用してもよい。HMI200bを利用する場合は、複数のHMIの各々に管理手段10の機能を実装させることが好ましい。コントローラ100cを利用する場合は、複数のコントローラの各々に管理手段10の機能を実装させることが好ましい。
 (d1.中継装置)
 図7は、中継装置60に管理手段を実装した場合の中継装置60の機能構成を示す図である。図7に示す中継装置60は、複数のコントローラ100(コントローラa,コントローラb…)と、複数のHMI200(HMI-1,HMI-2,HMI-3…)と接続可能である。複数のコントローラ100および複数のHMI200の各々を特に区別する必要のない場合、単にコントローラ100、HMI200と称する。
 図7を参照して、中継装置60は、管理手段10aと、送受信管理手段680とを備える。管理手段10aは、管理手段10の一例であって、データセットリスト管理手段612と、購読リスト管理手段614と、有効/無効情報管理手段616と、有効/無効通知手段617と、トピックリスト管理手段618とを備える。
 データセットリスト管理手段612は、各データセット50に格納されるプロセスデータ52の種類を特定可能なデータセットリスト14を管理する。データセットリスト管理手段612は、コントローラ100毎にデータセットリスト14を管理する。
 購読リスト管理手段614は、各HMI200において購読対象としているプロセスデータ52を特定可能な購読リスト16を管理する。具体的には、購読リスト管理手段614は、各HMI200からのサブスクリプション開始要求、およびサブスクリプション停止要求を受けて購読リスト16を更新する。
 有効/無効情報管理手段616は、有効/無効情報12を管理する。有効/無効情報管理手段616は、データセットリスト14および購読リスト16に基づいて、有効/無効情報12を管理する。有効/無効情報管理手段616は、購読リスト管理手段614が購読リスト16を更新したことを受けて、有効/無効情報12を更新するか否かを判断する。
 有効/無効情報管理手段616は、新たなサブスクリプション開始要求を受けて、購読対象のプロセスデータ52の種類が増えるか、あるいは、プロセスデータ52を購読するHMI200が増えるかした場合に、送信が有効になっているデータセット50により、新たに受けたサブスクリプション開始要求に応えられるか否かを判定する。
 有効/無効情報管理手段616は、サブスクリプション停止要求を受けて、購読対象のプロセスデータ52の種類が減るか、あるいは、プロセスデータ52を購読するHMI200が減るかした場合に、送信が有効になっているデータセット50のうち、不要なデータセット50があるか否かを判定する。
 サブスクリプション開始要求に応えられない、または、不要なデータセット50がある場合に、有効/無効情報管理手段616は、有効/無効情報12を更新すると決定する。
 有効/無効情報管理手段616は、有効/無効情報12を更新すると決定した場合、サブスクリプション開始要求に応えられるように新たにデータセット50の送信を有効にし、不要なデータセット50の送信を無効にする。
 なお、有効/無効情報管理手段616は、通信負荷に関する評価基準に従って、送信を有効にするデータセット50、および、送信を無効にするデータセット50を決定してもよい。たとえば、有効/無効情報管理手段616は、送信の効率と、送信の有効/無効に関する設定の変更度合いとのバランスを鑑みて、有効/無効情報12を更新してもよい。
 有効/無効通知手段617は、有効/無効情報12が更新されたことを受けて、各コントローラ100に対して、パブリッシュの開始要求と、パブリッシュの停止要求とを行う。
 トピックリスト管理手段618は、各データセット50を送信するHMI200を特定可能なトピックリスト682を管理する。トピックリスト管理手段618は、有効/無効情報管理手段616の判断結果を受けて、トピックリスト682を更新する。具体的には、有効/無効情報管理手段616は、購読リスト16を参照して、各HMI200の購読要求を満たすか否かを判断するとともに、満たさない場合に有効/無効情報12を更新する。言い換えると、有効/無効情報管理手段616は、各HMI200の購読要求を満たすために、各HMI200に送信するべきデータセット50を決定している。
 トピックリスト管理手段618は、有効/無効情報管理手段616が決定したHMI200に送信するべきデータセット50の種類を、HMI200毎にトピックリスト682として管理する。
 送受信管理手段680は、トピックリスト682を参照して、コントローラ100から配信された各データセット50を、当該データセット50に含まれるプロセスデータ52を購読対象とするHMI200に送信する。この場合、各コントローラ100は、有効/無効情報12に従ってデータセット50を配信している。
 図7に示す例では、コントローラaから送信可能なデータセット1a,2aの送信が有効に、コントローラbから送信可能なデータセット2bの送信が有効に設定されている。HMI-1は、データセット1a,2aを購読対象としている。HMI-2は、データセット2a,2bを購読対象としている。HMI-3は、データセット2bを購読対象としている。
 送受信管理手段680は、コントローラaから送信されたデータセット1aをHMI-1に、コントローラaから送信されたデータセット2aをHMI-1およびHMI-2に、コントローラbから送信されたデータセット2bをHMI-2およびHMI-3に、各々送信する。
 また、送受信管理手段680は、HMI200との通信を監視し、HMI200との通信が所定期間以上途切れた場合に、購読リスト管理手段614に向けて、タイムアウトの通知を行う。購読リスト管理手段614は、タイムアウトの通知を受けて、タイムアウトしたHMI200から購読要求を受けていないものとして、当該HMI200の購読リスト16を更新する。この更新に従って、有効/無効情報12およびトピックリスト682が更新される。
 図8は、HMI200のハードウェア構成の一例を示す模式図である。HMI200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。HMI200は、据え置き型でもよいし、コントローラ100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。図8を参照して、HMI200は、プロセッサ210と、タッチパネル240と、揮発性メモリ250と、不揮発性メモリ270と、通信IF292と、USB(Universal Serial Bus)コントローラ294とを備える。これらのコンポーネントは、プロセッサバス296を介して接続されている。
 プロセッサ210は、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などで構成され、不揮発性メモリ270に格納されたプログラムを読み出して、揮発性メモリ250に展開して実行することで、制御プログラム120の実行によって得られる各種情報をタッチパネル240に出力する。
 揮発性メモリ250は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などで構成される。不揮発性メモリ270は、たとえば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成される。
 不揮発性メモリ270は、基本的な機能を実現するためのOS(図示省略)に加えて、OPC UAプログラム260と、購読管理情報94と、リンク情報98と、1または複数のアプリケーション220と、マッピング情報222とを格納する。
 OPC UAプログラム260は、HMI200をサブスクライバーとして機能させるためのプログラムであって、コントローラ100とHMI200との間で、OPC UAに従った通信を行うためのプログラムである。プロセッサ210がOPC UAプログラム260を実行することで、図3に示した通信処理部90に係る機能が提供される。OPC UAプログラム260は、たとえば、他の外部記憶媒体(たとえばメモリカード、ネットワーク上のサーバ装置)から、不揮発性メモリ270にインストールされる。
 なお、プロセッサ210がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。また、HMI200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 タッチパネル240は、ディスプレイである表示部242と、遊技者の操作を受け付ける入力部244とを備える。なお、表示部242と入力部244とが別体で構成されていてもよい。
 通信IF292は、情報系ネットワーク2に接続された他の装置(たとえば、中継装置60)との間のデータの遣り取りを担当する。USBコントローラ294は、USB接続を介して、任意の情報処理装置との間のデータの遣り取りを担当する。
 図9は、コントローラ100のハードウェア構成の一例を示す模式図である。図9を参照して、コントローラ100は、主たるコンポーネントとして、プロセッサ110と、チップセット196と、不揮発性メモリ170と、揮発性メモリ150と、制御系ネットワークIF191と、情報系ネットワークIF192と、USBコントローラ193と、メモリカードIF194と、内部バスコントローラ195とを含む。
 プロセッサ110は、CPUやGPUなどで構成され、不揮発性メモリ170に格納された各種プログラムを読み出して、揮発性メモリ150に展開して実行することで、フィールドデバイス500の制御および、パブリッシャーとしての機能を実現する。チップセット196は、プロセッサ110と各コンポーネントとの間のデータの遣り取りを仲介することで、コントローラ100全体としての処理を実現する。
 不揮発性メモリ170には、システムプログラム172と、制御プログラム120と、OPC UAプログラム180と、送信設定400とが格納される。
 システムプログラム172は、コントローラ100の基本的な機能を提供するプログラムである。制御プログラム120は、典型的には、ユーザがプログラム開発を支援する支援装置を操作して設計することで生成されるユーザプログラムである。制御プログラム120とシステムプログラム172とが協働してユーザにおける制御目的を実現することで、フィールドデバイス500が制御される。プロセッサ110が、システムプログラム172を実行することで、制御手段102の機能が提供され、制御プログラム120の実行と、制御プログラム120の実行に伴うプロセスデータ52の更新を行う。
 OPC UAプログラム180は、コントローラ100をパブリッシャーとして機能させるためのプログラムであって、コントローラ100とHMI200との間で、OPC UAに従った通信を行うためのプログラムである。プロセッサ110が、OPC UAプログラム180を実行することで、図4に示した通信処理部80に係る機能が提供される。OPC UAプログラム180は、たとえば、システムプログラムの一種として予めコントローラ100にインストールされていてもよく、また、他の外部記憶媒体(たとえばメモリカード194A、ネットワーク上のサーバ装置)から、不揮発性メモリ170にインストールされてもよい。
 なお、プロセッサ110がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、コントローラ100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 制御系ネットワークIF191は、フィールドデバイス500との間のデータの遣り取りを担当する。
 情報系ネットワークIF192は、情報系ネットワーク2に接続された他の装置(たとえば、中継装置60)との間のデータの遣り取りを担当する。
 USBコントローラ193は、USB接続を介して任意の情報処理装置(サポート装置)との間のデータの遣り取りを担当する。
 メモリカードIF194は、メモリカード194Aを着脱可能に構成されており、メモリカード194Aに対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード194Aから制御プログラムや各種設定などのデータを読出すことが可能になっている。
 内部バスコントローラ195は、コントローラ100に搭載される図示しないI/Oユニットなどとの間でデータを遣り取りするインターフェイスである。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
 図10は、中継装置60のハードウェア構成の一例を示す模式図である。図10を参照して、中継装置60は、任意の情報処理装置であり、プロセッサ61と、揮発性メモリ64と、不揮発性メモリ65と、通信IF67とを含む。これらのコンポーネントは、プロセッサバス68を介して接続されている。
 プロセッサ61は、CPUやGPUなどで構成され、不揮発性メモリ65に格納されたプログラムを読出して、揮発性メモリ64に展開して実行することで、コントローラ100とHMI200との間の通信を中継するとともに、送信設定400を決定するための機能を提供する。
 揮発性メモリ64は、DRAMやSRAMなどで構成される。不揮発性メモリ65は、たとえば、HDDやSSDなどで構成される。
 不揮発性メモリ65は、基本的な機能を実現するためのOSに加えて、中継プログラム1310、有効/無効情報12、データセットリスト14、購読リスト16、およびトピックリスト682を格納する。
 中継プログラム1310は、コントローラ100とHMI200との間の通信を中継するとともに、送信設定400を決定するためのプログラムであって、プロセッサ61により実行されることで、図7に示した各種手段の機能を提供する。中継プログラム1310は、データセット50の送信の有効を決定する管理手段10aを実現するための管理プログラム1312と、コントローラ100から送られたデータセット50を各HMI200に送信する送受信管理手段680を実現するための通信プログラム1314とを含む。
 なお、プロセッサ61がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、中継装置60が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 不揮発性メモリ65に格納された各種プログラムは、コンピュータ読取可能な記録媒体を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。
 通信IF67は、情報系ネットワーク2に接続された各装置(コントローラ100、HMI200)との間のデータの遣り取りを担当する。
 (d2.HMI)
 図11は、管理手段10を実装したHMI200bのハードウェア構成の一例を示す模式図である。HMI200bは、HMI200と比較して、管理プログラム1320および有効/無効情報12bを備える点で異なる。
 プロセッサ210が管理プログラム1320を実行することで管理手段に係る機能が実現される。プロセッサ210は、OPC UAプログラム260プログラムを実行することで、購読対象のプロセスデータ52を特定する。
 プロセッサ210は、管理プログラム1320を実行し、各データセット50に格納されたプロセスデータ52を特定するためのリンク情報98を参照することで、購読対象のプロセスデータ52を得るために必要なデータセット50を特定し、有効/無効情報12bを更新する。
 プロセッサ210は、管理プログラム1320を実行することで、更新した有効/無効情報12bをコントローラ100に向けて通知する。なお、HMI200は、有効/無効情報12bをマルチキャストで送信してもよく、また、有効または無効の変更がされたデータセット50を送信するコントローラ100にだけ送信をしてもよい。
 さらに、HMI200bを複数備える制御システムに含まれるコントローラは、各HMI200bからの有効/無効情報を調停する機能を備えてもよい。たとえば、コントローラは、一のデータセットに対して、一のHMIからは送信の無効を指示され、他のHMIからは送信の有効を指示された場合に、有効の指示を優先するように、各HMIからの指示を調停してもよい。
(d3.コントローラ)
 図12は、管理手段10を実装したコントローラ100cのハードウェア構成の一例を示す模式図である。コントローラ100cは、コントローラ100と比較して、管理プログラム1330を備える点で異なる。
 プロセッサ110が管理プログラム1330を実行することで管理手段に係る機能が実現される。プロセッサ110は、HMI200からのサブスクリプション開始要求、またはサブスクリプション停止要求を受けて、管理プログラム1330を実行する。
 プロセッサ210は、管理プログラム1320を実行し、送信設定400を参照して、サブスクリプション開始要求、またはサブスクリプション停止要求を満たすように、各データセット50の送信の有効、無効を決定する。
 プロセッサ210は、管理プログラム1320の実行に伴い決定した送信対象のデータセット50を、OPC UAプログラム180を実行することで送信する。
 ここで、コントローラ100cは、HMI200が実行するアプリケーション220が切り替わったり、新たなHMI200が接続されたり、または、HMI200の接続が切れたりする度に管理プログラム1320を実行することとなる。
 そのため、ネットワークへのHMI200の加入、離脱が頻繁に起こるシステムや、HMI200のページ切り替えが頻繁に起こる現場などでは、管理プログラム1320が頻繁に実行されることとなり、プロセッサ110に大きな負荷をかける虞がある。
 そこで、管理プログラム1330の機能は、任意に制限可能である。たとえば、USBコントローラ193を介して接続されるサポート装置を操作することで、管理プログラム1330の機能を停止させてもよい。
 <E.送信設定の決定>
 送信設定400の決定方法について、図13を参照して説明する。送信設定400を決定するための機能は、たとえば、サポート装置300によって提供される。図13は、サポート装置300の機能構成の一例を示す図である。サポート装置300は、決定手段の具現化例であって、アプリケーション実行手段により実行される1または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、複数のデータセットを決定する。
 サポート装置300は、たとえば、コントローラ100とHMI200との接続を開始するタイミングに利用される。サポート装置300は、HMI200が実行するアプリケーション220の開発環境、およびコントローラ100で実行される制御プログラム120の開発環境を提供するとともに、コントローラ100とHMI200との間の通信環境を設定するための環境を提供する。このような開発環境および設定環境は、サポート装置300に、サポートプログラムがインストールされることで提供される。サポートプログラムは、たとえば、オムロン社製の「Sysmac Studio」である。
 なお、決定手段は、中継装置60、または、コントローラ100とHMI200とから構成されたネットワークを監視する監視装置、またはコントローラ100のデータセット生成手段82に実装されてもよい。
 図13を参照して、サポート装置300は、取得手段320と、決定手段340とを備える。取得手段320は、各HMI200で実行される1または複数のアプリケーション220ごとに必要なプロセスデータ52を取得する。
 決定手段340は、取得手段320が取得した1または複数のアプリケーション220ごとに必要なプロセスデータ52を示す情報に基づいて、各アプリケーション220で利用されるプロセスデータ52の各々が、コントローラ100からHMI200に向けて送信されるように、通信処理部80が送信するデータセット50の数、および、各データセット50に含ませるべきプロセスデータ52を決定する。
 取得手段320が取得した1または複数のアプリケーション220ごとに必要なプロセスデータ52の各々が、互いに異なるコントローラによって管理される場合、決定手段340は、各プロセスデータを管理するコントローラを特定可能なプロセスデータリスト330を参照して、プロセスデータ52を管理するコントローラごとにグループ化してもよい。決定手段340は、グループ化したプロセスデータごとに通信処理部80が送信するデータセット50の数、および、各データセット50に含ませるべきプロセスデータ52を決定する。
 さらに、決定手段340は、管理負荷指標353に従って、各データセット50に含ませるべきプロセスデータ52を決定する。管理負荷指標353は、管理手段10にかかる負荷を評価する指標である。より具体的には、決定手段340は、制御システムが管理手段10を備えていることを踏まえて、当該管理手段10がデータセット50の有効/無効を管理しやすいように、各データセット50に含ませるべきプロセスデータ52を決定する。
 さらに、決定手段340は、各データセット50に含ませるべきプロセスデータ52を決定したタイミングでリンク情報98を生成する。決定手段340は、リンク情報98をHMI200に、送信設定400をコントローラ100に送る。より具体的には、サポート装置300は、USBコントローラを備え、USB接続によりコントローラ100またはHMI200と通信可能に接続され、USBケーブルを介して決定手段340は、コントローラ100およびHMI200の各々に情報を送る。
 <F.サブスクリプションの購読要求の変形例>
 上記実施の形態において、HMI200は、サブスクリプションの購読要求において、購読を停止または開始するプロセスデータ52を通知するものとした。図14は、サブスクリプションの購読要求の変形例を示す図である。
 HMI200dは、アプリケーションの実行の開始または停止に伴い、必要なデータセット50と不要なデータセット50とを特定してもよい。通信処理部90dは、特定したデータセット50をサブスクリプションの購読要求とともに管理手段10dに通知してもよい。
 すなわち、HMI200dは、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセット50を管理手段10dに通知する。そのため、管理手段10dは、HMI200dからの明示的な要求に応じて、送信すべきデータセットを決定できる。
 ユーザ操作に応じてアプリケーション220が変更した場合に、通信処理部90dがアプリケーションに必要なデータセット50を特定する方法は、たとえば、HMI200dは、アプリケーションと、当該アプリケーションに必要なデータセット50とを対応付けたアプリケーション情報93を備え、アプリケーション情報93に基づいて決定してもよい。また、通信処理部90dは、各データセット50に格納されるプロセスデータ52を示すリンク情報98と、購読管理情報94とに基づいて決定してもよい。
 さらに、アプリケーション情報93は、たとえば、送信設定400が生成される、上記図13に示したタイミングで生成される。
 <G.その他の変形例>
 上記実施の形態においては、HMIがサブスクライバー、コントローラがパブリッシャーであるとして説明した。HMIおよびコントローラの各々がサブスクライバーとパブリッシャーとの機能両方を備えていてもよい。
 この場合、制御プログラムは、HMIから配信されるデータを利用可能に構成される。HMIからのデータセットの送信の有効、無効は、コントローラにおいて実行されている制御プログラム、または、コントローラの状態に応じて決定してもよい。HMIからのデータセットの送信の有効、無効を決定する方法は、上記で説明した、コントローラ100からのデータセット50の有効、無効を決定する方法を利用できる。
 また、上記実施の形態において、説明を簡略化するために、アプリケーションで利用されるプロセスデータ52は、すべて一のコントローラ100が送信するものとしたが、アプリケーション220で利用される複数のプロセスデータ52が各々、別のコントローラ100から送信されるものであってもよい。
 この場合、管理手段10は、サブスクリプション要求に含まれたプロセスデータまたはデータセットを、当該プロセスデータまたはデータセットを送信するコントローラごとにグループ化し、グループごとにグループに含まれる各プロセスデータまたは各データセットの送信の有効または無効を決定してもよい。
 <H.付記>
 以上のように、上記の実施の形態は以下のような開示を含む。
 (構成1)
 制御対象を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御手段(102)と、
 前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット(50)を送信可能な送信手段(80)とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
 前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段(200)と、
 前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する管理手段(10)とを備える、制御システム。
 (構成2)
 前記管理手段は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信しているデータセットのうち不要なデータセットが発生すると、前記送信手段に当該不要なデータセットの送信の停止を指示する(S126)、構成1に記載の制御システム。
 (構成3)
 前記アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを前記管理手段に通知する(S122、90d)、構成1または2に記載の制御システム。
 (構成4)
 前記管理手段は、前記アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を前記送信手段に指示する(S136,S138,S140)、構成1~3のいずれか1項に記載の制御システム。
 (構成5)
 前記制御システム(1)は、制御装置(100)および表示装置(200)を備え、
 前記制御手段および前記送信手段は前記制御装置に実装され、
 前記アプリケーション実行手段は前記表示装置に実装され、
 前記管理手段は、前記制御装置および前記表示装置とは独立して実装される、構成1~4のいずれか1項に記載の制御システム。
 (構成6)
 前記制御システム(1)は、制御装置(100)および表示装置(200)を備え、
 前記制御手段、前記送信手段および前記管理手段は前記制御装置に実装され、
 前記アプリケーション実行手段は前記制御装置に実装される、構成1~4のいずれか1項に記載の制御システム。
 (構成7)
 前記アプリケーション実行手段により実行される1または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、前記複数のデータセットを決定する決定手段(340)をさらに備える、構成1~6のいずれか1項に記載の制御システム。
 (構成8)
 制御システムに配置された中継装置(60)であって、
 前記制御システムは、
  制御対象を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御手段(102)と、
  前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット(50)を送信可能な送信手段(80)とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
  前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段(200)を備え、
 前記中継装置は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する、中継装置。
 (構成9)
 制御システムに配置された情報処理装置(60)で実行される中継プログラム(1310)であって、
 前記制御システムは、
  制御対象を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御手段(102)と、
  前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセット(50)を送信可能な送信手段(80)とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
  前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段(200)を備え、
 前記中継プログラムは、前記情報処理装置に、
  前記送信手段が送信可能な前記複数のデータセットの情報を管理するステップ(S110,S130)と、
  前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定するステップ(S112,S126,S132,S140)とを実行させる、中継プログラム。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
 1,1a 制御システム、2 情報系ネットワーク、4 制御系ネットワーク、10,10a,10d 管理手段、12,12b 有効/無効情報、14 データセットリスト、16 購読リスト、20 設定装置、50 データセット、52 プロセスデータ、54 オブジェクト、60 中継装置、616 有効/無効情報管理手段、61,110,210 プロセッサ、64,150,250 揮発性メモリ、65,170,270 不揮発性メモリ、67,292 通信IF、68,296 プロセッサバス、80,90,90d 通信処理部、82 データセット生成手段、84,96 通信ドライバ、92 購読管理手段、94 購読管理情報、98 リンク情報、100,100c コントローラ、102 制御手段、120 制御プログラム、172 システムプログラム、180,260 OPC UAプログラム、191 制御系ネットワークIF、192 情報系ネットワークIF、193,294 USBコントローラ、194 メモリカードIF、194A メモリカード、195 内部バスコントローラ、196 チップセット、220 アプリケーション、222 マッピング情報、240 タッチパネル、242 表示部、244 入力部、300 サポート装置、320 取得手段、340 決定手段、400 送信設定、500 フィールドデバイス、612 データセットリスト管理手段、614 購読リスト管理手段、617 有効/無効通知手段、618 トピックリスト管理手段、680 送受信管理手段、682 トピックリスト、1310 中継プログラム、1312,1320,1330 管理プログラム、1314 通信プログラム。

Claims (9)

  1.  制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
     前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
     前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段と、
     前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とを備える、制御システム。
  2.  前記管理手段は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信しているデータセットのうち不要なデータセットが発生すると、前記送信手段に当該不要なデータセットの送信の停止を指示する、請求項1に記載の制御システム。
  3.  前記アプリケーション実行手段は、ユーザ操作に応じて、実行するアプリケーションを変更するとともに、当該変更後のアプリケーションに必要なデータセットを前記管理手段に通知する、請求項1または2に記載の制御システム。
  4.  前記管理手段は、前記アプリケーション実行手段により受信されなくなったデータセットについて、送信の停止を前記送信手段に指示する、請求項1~3のいずれか1項に記載の制御システム。
  5.  前記制御システムは、制御装置および表示装置を備え、
     前記制御手段および前記送信手段は前記制御装置に実装され、
     前記アプリケーション実行手段は前記表示装置に実装され、
     前記管理手段は、前記制御装置および前記表示装置とは独立して実装される、請求項1~4のいずれか1項に記載の制御システム。
  6.  前記制御システムは、制御装置および表示装置を備え、
     前記制御手段、前記送信手段および前記管理手段は前記制御装置に実装され、
     前記アプリケーション実行手段は前記制御装置に実装される、請求項1~4のいずれか1項に記載の制御システム。
  7.  前記アプリケーション実行手段により実行される1または複数のアプリケーションの各々で利用されるプロセスデータに基づいて、前記複数のデータセットを決定する決定手段をさらに備える、請求項1~6のいずれか1項に記載の制御システム。
  8.  制御システムに配置された中継装置であって、
     前記制御システムは、
      制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
      前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
      前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段を備え、
     前記中継装置は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する、中継装置。
  9.  制御システムに配置された情報処理装置で実行される中継プログラムであって、
     前記制御システムは、
      制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
      前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
      前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段を備え、
     前記中継プログラムは、前記情報処理装置に、
      前記送信手段が送信可能な前記複数のデータセットの情報を管理するステップと、
      前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定するステップとを実行させる、中継プログラム。
PCT/JP2020/007781 2019-03-15 2020-02-26 制御システム、中継装置、および中継プログラム WO2020189204A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080017364.4A CN113544602A (zh) 2019-03-15 2020-02-26 控制系统、中继装置以及中继程序
EP20773044.1A EP3940475A4 (en) 2019-03-15 2020-02-26 CONTROL SYSTEM, RELAY DEVICE AND RELAY PROGRAM
US17/434,787 US20220140888A1 (en) 2019-03-15 2020-02-26 Control system, relay device, and relay program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-049106 2019-03-15
JP2019049106A JP7111038B2 (ja) 2019-03-15 2019-03-15 制御システム、中継装置、および中継プログラム

Publications (1)

Publication Number Publication Date
WO2020189204A1 true WO2020189204A1 (ja) 2020-09-24

Family

ID=72430655

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/007781 WO2020189204A1 (ja) 2019-03-15 2020-02-26 制御システム、中継装置、および中継プログラム

Country Status (5)

Country Link
US (1) US20220140888A1 (ja)
EP (1) EP3940475A4 (ja)
JP (1) JP7111038B2 (ja)
CN (1) CN113544602A (ja)
WO (1) WO2020189204A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022114753A (ja) * 2021-01-27 2022-08-08 オムロン株式会社 制御システム、ロボットコントローラおよび制御方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410107A (ja) * 1990-04-27 1992-01-14 Nissan Motor Co Ltd シーケンス制御のモニタ方法
JP2000242326A (ja) * 1999-02-23 2000-09-08 Keyence Corp 表示中継装置
JP2002358105A (ja) * 2001-05-31 2002-12-13 Digital Electronics Corp 制御用コンピュータ、そのプログラム、および、それが記録された記録媒体
JP2016012173A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 プログラマブル表示器
JP2016126495A (ja) * 2014-12-26 2016-07-11 株式会社キーエンス 組込機器設定システム
JP2017146803A (ja) 2016-02-17 2017-08-24 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の設計装置、プログラマブル表示器の設計方法、プログラマブル表示器の操作方法、プログラマブル表示器の設計プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738159B2 (en) * 2004-03-15 2014-05-27 Siemens Industry, Inc. System and method for accessing PLC data on demand
JP4752984B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
CN104049575B (zh) * 2013-03-14 2018-10-26 费希尔-罗斯蒙特系统公司 在过程控制系统中收集并且向大数据机器递送数据
JP5975964B2 (ja) * 2013-10-18 2016-08-23 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
GB2543900B (en) 2014-03-14 2020-12-23 Fisher Rosemount Systems Inc Distributed big data in a process control system
JP6424884B2 (ja) 2016-12-27 2018-11-21 オムロン株式会社 データフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラム
JP6451820B1 (ja) * 2017-08-09 2019-01-16 オムロン株式会社 センサ管理ユニット、センサ装置、センサ管理方法及びセンサ管理プログラム
JP6919404B2 (ja) * 2017-08-10 2021-08-18 オムロン株式会社 制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0410107A (ja) * 1990-04-27 1992-01-14 Nissan Motor Co Ltd シーケンス制御のモニタ方法
JP2000242326A (ja) * 1999-02-23 2000-09-08 Keyence Corp 表示中継装置
JP2002358105A (ja) * 2001-05-31 2002-12-13 Digital Electronics Corp 制御用コンピュータ、そのプログラム、および、それが記録された記録媒体
JP2016012173A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 プログラマブル表示器
JP2016126495A (ja) * 2014-12-26 2016-07-11 株式会社キーエンス 組込機器設定システム
JP2017146803A (ja) 2016-02-17 2017-08-24 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の設計装置、プログラマブル表示器の設計方法、プログラマブル表示器の操作方法、プログラマブル表示器の設計プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器

Also Published As

Publication number Publication date
US20220140888A1 (en) 2022-05-05
CN113544602A (zh) 2021-10-22
EP3940475A4 (en) 2022-12-07
JP2020149631A (ja) 2020-09-17
EP3940475A1 (en) 2022-01-19
JP7111038B2 (ja) 2022-08-02

Similar Documents

Publication Publication Date Title
JP6870568B2 (ja) 通信システム、制御装置、設定装置、設定方法およびプログラム
JP6012727B2 (ja) 設備管理システム、設備管理装置、設備管理方法及びプログラム
WO2020189086A1 (ja) 制御システム、設定装置、および設定プログラム
EP1890238A1 (en) Network equipment system
JP2015079486A (ja) フィールドデバイスを設定するためのシステムおよび方法
US8249100B2 (en) Method and arrangement for providing duplex communications between a client application and a service using an http request/reply channel
US7032071B2 (en) Method, system, and program for using buffers to provide property value information for a device
JP6996257B2 (ja) 制御装置、制御方法、およびプログラム
WO2020189204A1 (ja) 制御システム、中継装置、および中継プログラム
US7111304B2 (en) Method, system, and program for accessing information from devices
EP3662330B1 (en) Fault tolerant services for integrated building automation systems
US11640149B2 (en) Managing certificates in a building management system
Lutes et al. VOLTTRON: User guide
CN113544601B (zh) 控制系统、设定装置以及记录介质
JP7036069B2 (ja) 制御システム、中継装置、および中継プログラム
JP7077840B2 (ja) メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法
US20220137584A1 (en) Control system, support device, and support program
JP5530878B2 (ja) 分散システムにおけるデータレプリケーション管理方法
Lutes et al. VOLTTRON 3.0: User guide
US11044320B2 (en) Data distribution method for a process automation and internet of things system
JP2022528548A (ja) ノードデータを転送するための集約サーバおよび方法
JP2018180592A (ja) 監視システム、デバイス及びエンジニアリングツール

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020773044

Country of ref document: EP