CN113544600A - 控制系统、中继装置以及中继程序 - Google Patents
控制系统、中继装置以及中继程序 Download PDFInfo
- Publication number
- CN113544600A CN113544600A CN202080017180.8A CN202080017180A CN113544600A CN 113544600 A CN113544600 A CN 113544600A CN 202080017180 A CN202080017180 A CN 202080017180A CN 113544600 A CN113544600 A CN 113544600A
- Authority
- CN
- China
- Prior art keywords
- unit
- process data
- data
- application
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 405
- 230000008569 process Effects 0.000 claims abstract description 385
- 230000005540 biological transmission Effects 0.000 claims abstract description 132
- 238000004891 communication Methods 0.000 claims description 112
- 238000011156 evaluation Methods 0.000 claims description 45
- 230000010365 information processing Effects 0.000 claims description 14
- 238000012545 processing Methods 0.000 description 52
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 23
- 238000009825 accumulation Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000000704 physical effect Effects 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/058—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0216—Human interface functionality, e.g. monitoring system providing help to the user in the selection of tests or in its configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/12—Plc mp multi processor system
- G05B2219/1214—Real-time communication between plc, Ethernet for configuration, monitor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/15—Plc structure of the system
- G05B2219/15079—Multitasking, real time multitasking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Programmable Controllers (AREA)
- Computer And Data Communications (AREA)
Abstract
控制系统(1a)包含控制单元(102a)、发送单元(80a)、应用程序执行单元(200a)、对在发送单元与应用程序执行单元之间交换的数据集进行调停的调停单元(300a)。调停单元包含:第1取得单元(330a),其取得与控制单元管理的多个过程数据(52)相关的信息(622a);第2取得单元(320a),其取得由应用程序执行单元执行的应用程序(220a)的信息(612a);决定单元(340a),其基于第1取得单元取得的与多个过程数据相关的信息和第2取得单元取得的执行的应用程序的信息,决定应包含在数据集中的过程数据(50);以及通知单元(350a),其将决定单元决定的应包含在数据集中的过程数据的内容分别通知给发送单元和应用程序执行单元。
Description
技术领域
本发明涉及发送包含过程数据的值的数据集的控制系统、该控制系统中包含的中继装置以及由该中继装置执行的中继过程。
背景技术
在各种制造现场,导入有PLC(Programmable Logic Controller:可编程逻辑控制器)等控制装置。这样的控制装置是一种计算机,执行根据制造装置或制造设备等而设计的控制程序。这样的控制装置以能够通信的方式与HMI(Human Machine Interface:人机界面)等信息处理装置连接。
信息处理装置例如利用来自控制装置的信息,对控制装置的控制对象的运行状况等进行图形显示,或者利用来自控制装置的信息,执行与所显示的应用程序不同的应用程序。
例如,日本特开2017-146803号公报(专利文献1)公开了可编程显示器,作为与PLC连接的信息处理装置的一例。该可编程显示器在将显示画面所显示的一个画面作为一页的情况下,以页面为单位进行该页面所显示的功能部件的布局、以及功能的分配等。
现有技术文献
专利文献
专利文献1:日本特开2017-146803号公报
发明内容
发明所要解决的课题
专利文献1所公开的可编程显示器每隔规定周期更新并显示PLC所保持的信息。在将这样的可编程显示器与PLC进行网络连接的情况下,在网络上每隔规定周期发送数据。
当这样的每隔规定周期发送的数据增大时,通信负荷变大。本发明的一个目的在于提供一种技术,抑制这样的伴随发送的数据量增大的通信负荷增大。
用于解决课题的手段
本公开一例的控制系统包含:控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;发送单元,其生成并发送包含控制单元管理的多个过程数据中的至少一部分过程数据的值的数据集;应用程序执行单元,其参照由发送单元发送的数据集来执行应用程序;以及调停单元,其对在发送单元与应用程序执行单元之间交换的数据集进行调停。调停单元包含:第1取得单元,其取得与控制单元管理的多个过程数据相关的信息;第2取得单元,其取得由应用程序执行单元执行的应用程序的信息;决定单元,其基于第1取得单元取得的与多个过程数据相关的信息和第2取得单元取得的执行的应用程序的信息,决定应包含在数据集中的过程数据;以及通知单元,其将决定单元决定的应包含在数据集中的过程数据的内容分别通知给发送单元和应用程序执行单元。
根据本公开,由于基于与多个过程数据相关的信息以及所执行的应用程序的信息来决定应包含在数据集中的过程数据,因此根据状况生成并发送包含适当的过程数据的数据集。由此,能够抑制通信负荷的增大。
在上述公开中,第2取得单元也可以在由应用程序执行单元执行的应用程序每次被变更时,取得用于确定变更后的应用程序所利用的过程数据的信息。根据该结构,能够确定在各应用程序中利用的过程数据,根据这些信息,能够高效地决定数据集。
在上述公开中,决定单元也可以基于由第2取得单元取得的应用程序的信息,按照与通信负荷相关的预先确定的评价基准,决定应包含在数据集中的过程数据。根据该结构,能够基于评价基准,从通信负荷的观点出发决定最佳的数据集。
在上述公开中,评价基准也可以基于多个过程数据各自在应用程序执行单元所执行的应用程序中被利用的频度、以及针对多个过程数据分别设定的重要度中的至少一方。根据该结构,能够考虑在应用程序中被利用的频度以及针对多个过程数据分别设定的重要度这些对通信负荷造成影响的因素,从通信负荷的观点出发决定最佳的数据集。
在上述公开中,决定单元也可以每次决定应包含在数据集中的过程数据。根据该结构,能够根据状况动态地决定最佳的过程数据。
在上述公开中,决定单元也可以从预先确定的多个数据集中,选择与被决定为应包含在数据集中的过程数据对应的数据集。根据该结构,即使在状况发生了变化的情况下,也无需每次计算应包含于数据集的过程数据,因此能够减轻与计算相关的处理负荷。
在上述公开中,也可以是,控制系统包含控制装置和显示装置,调停单元与控制装置以及显示装置独立地配置。根据该结构,即使在存在多个控制装置以及显示装置的情况下,也能够根据状况来决定包含适当的过程数据的数据集。
在上述公开中,也可以是,控制系统包含多个应用程序执行单元,多个所述应用程序执行单元包含第1应用程序执行单元和第2应用程序执行单元,通知单元将决定单元基于从第1应用程序执行单元取得的信息而新决定的过程数据的内容也通知给第2应用程序执行单元。根据该结构,在存在多个应用程序执行单元的结构中,也能够应用本公开的数据集的发送方式。
根据本公开的另一例,提供一种配置于控制系统的中继装置。控制系统包含:控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;发送单元,其生成并发送包含控制单元管理的多个过程数据中的至少一部分过程数据的值的数据集;以及应用程序执行单元,其参照由发送单元发送的数据集来执行应用程序。中继装置构成为对在发送单元与应用程序执行单元之间交换的数据集进行调停。中继装置包含:第1取得单元,其取得与控制单元管理的多个过程数据相关的信息;第2取得单元,其取得由应用程序执行单元执行的应用程序的信息;决定单元,其基于第1取得单元取得的与多个过程数据相关的信息和第2取得单元取得的执行的应用程序的信息,决定应包含在数据集中的过程数据;以及通知单元,其将决定单元决定的应包含在数据集中的过程数据的内容分别通知给发送单元和应用程序执行单元。
根据本公开的又一例,提供一种由配置于控制系统的信息处理装置执行的中继程序。控制系统包含:控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;发送单元,其生成并发送包含控制单元管理的多个过程数据中的至少一部分过程数据的值的数据集;以及应用程序执行单元,其参照由发送单元发送的数据集来执行应用程序。中继程序使信息处理装置作为对在发送单元与应用程序执行单元之间交换的数据集进行调停的中继装置发挥功能。中继程序使信息处理装置执行以下步骤:取得与控制单元管理的多个过程数据相关的信息;取得由应用程序执行单元执行的应用程序的信息;基于取得的与多个过程数据相关的信息和取得的执行的应用程序的信息,决定应包含在数据集中的过程数据;以及将所决定的应包含在数据集中的过程数据的内容分别通知给发送单元和应用程序执行单元。
发明的效果
根据本发明,能够抑制伴随数据量增大的通信负荷增大。
附图说明
图1是表示控制系统1a的应用场景的示意图。
图2是表示本实施方式的控制系统1的概要的图。
图3是用于说明PubSub通信的概要的图。
图4是用于说明作为订阅者发挥功能的HMI 200-1的概要的图。
图5是用于说明作为发布者发挥功能的控制器100的概要的图。
图6是表示中继装置60的功能结构的图。
图7是表示决定单元340执行的运算的一例的图。
图8是表示受理HMI信息376的用户界面700的一例的图。
图9是表示受理优先级信息358的用户界面900的一例的图。
图10是表示中继装置60的一系列处理的流程的序列图。
图11是表示中继装置60的一系列处理的流程的序列图。
图12是表示中继装置60的一系列处理的流程的序列图。
图13是表示中继装置60的硬件结构的一例的示意图。
图14是表示HMI 200的硬件结构的一例的示意图。
图15是表示控制器100的硬件结构的一例的示意图。
图16是表示变形例中的中继装置60a的功能结构的图。
图17是表示变形例中的控制系统1b的概要的图。
具体实施方式
以下,参照附图说明本发明的各实施方式。在以下的说明中,对相同的部件和结构要素标注相同标号。它们的名称和功能也相同。因此,不重复对它们的详细说明。另外,以下说明的各实施方式以及各变形例也可以适当地选择性地组合。
§1.应用例
图1是表示控制系统1a的应用场景的示意图。控制系统1a包含控制单元102a、通信处理部80a、应用程序执行单元200a和调停单元300a。
控制单元102a执行用于对控制对象进行控制的控制程序120a,并且对在控制程序120a中参照或更新的多个过程数据52进行管理。控制单元102a例如通过在制造现场中利用的PLC以及机器控制器这样的控制器来实现。
控制对象包含用于使生产工序自动化的各种工业用设备,包含对制造装置、生产线等(以下,也统称为“现场”。)提供某种物理性的作用的装置、和与现场之间交换信息的输入输出装置。在图1所示的例子中,作为控制对象,例示了现场设备500。
在本说明书中,“过程数据”是包含控制单元102a(如后所述,典型地作为控制器100而具体化)或者应用程序执行单元200a(如后所述,典型地作为HMI 200而具体化)能够参照的任意的数据的用词。更具体而言,“过程数据”可包含从现场设备取得的输入数据、通过控制运算计算并提供给现场设备的输出数据(指令值)、用于执行控制运算的临时计算的数据、表示用户的操作内容的数据等。
过程数据52包含从现场设备500输入到控制单元102a的数据、从控制单元102a输出到现场设备500的数据、和用于控制程序120a的执行或搭载有控制单元102a的控制器的状态管理的数据。过程数据52伴随控制程序120a的执行而周期性地被更新。
通信处理部80a是发送单元的具体例,周期性地发送1个或多个数据集50。各数据集50包含控制单元102a管理的多个过程数据52中的至少一部分过程数据52的值。通信处理部80按照由调停单元300决定的发送设定400a,生成数据集50并发送。
应用程序执行单元200a执行1个或多个应用程序220a。应用程序220a参照由通信处理部80a发送的数据集50(数据集50所包含的过程数据52)来执行。
应用程序执行单元200a由向操作人员提示通过控制程序120的执行而得到的各种信息的HMI、进行过程控制和集中监视的SCADA(Supervisory Control And DataAcquisition:监督控制和数据采集)装置、控制机器人的机器人控制器、致动器以及其他控制器等来实现。此外,应用程序执行单元200a可包含能够在控制系统1a中执行的应用程序的执行主体整体。例如,应用程序执行单元200a也可以由多个HMI构成。
在图1所示的例子中,应用程序执行单元200a能够执行应用程序A、B、C、D。应用程序A~D各自所使用的过程数据的类型是预先指定的。
在图1中,在应用程序的名称下,用字母记载在各应用程序中利用的过程数据的种类。具体而言,应用程序A利用过程数据A、B。应用程序B利用过程数据C、D。应用程序C利用过程数据X。应用程序D利用过程数据A、D。
调停单元300a对在应用程序执行单元200a与通信处理部80a之间交换的数据集50进行调停。具体而言,调停单元300a决定应包含于数据集50的过程数据52的种类,并作为发送设定400a通知给通信处理部80a,使得从通信处理部80a发送应用程序执行单元200a所执行的应用程序220a中要利用的过程数据52。另外,调停单元300a将与发送的数据相关的信息作为链接信息98a朝向应用程序执行单元200a进行通知,使得从通信处理部80a发送的数据集50中,读出应用程序执行单元200a在作为执行对象的应用程序220a中利用的过程数据52的值。
调停单元300a包含应用程序信息取得单元320a、过程数据取得单元330a、决定单元340a和通知单元350a。
应用程序信息取得单元320a取得由应用程序执行单元200a执行的应用程序220a的信息(应用程序信息612a)。具体而言,应用程序信息取得单元320a确定在应用程序执行单元200a中执行的应用程序220a所利用的过程数据52。
应用程序信息取得单元320a只要能够确定在控制系统1a中执行的应用程序220a所利用的过程数据52即可,例如,在按照每个应用程序220a具有要利用的过程数据52的信息的情况下,取得能够确定由应用程序执行单元200a执行的应用程序220a的信息即可。
在能够执行多个应用程序220a的情况下,应用程序信息取得单元320a也可以在每次由应用程序执行单元200a执行的应用程序被变更时,取得用于确定变更后的应用程序所利用的过程数据的信息(应用程序信息612a)。
在图1所示的例子中,假设应用程序执行单元200a执行应用程序A和应用程序D。作为应用程序信息612a,应用程序信息取得单元320a确定为应用程序执行单元200a所请求的过程数据是过程数据A、B、D。
过程数据取得单元330a取得与控制单元102a管理的多个过程数据52相关的信息(过程数据列表622a)。具体而言,过程数据取得单元330a确定控制单元102a管理的过程数据52的种类。
决定单元340a基于应用程序信息取得单元320a取得的应用程序信息612a和过程数据取得单元330a取得的过程数据列表622a,决定应包含在数据集50中的过程数据52。具体而言,基于应用程序信息612a,确定需要从通信处理部80a发送的过程数据52的种类,并决定将所确定的所需过程数据52分配给哪个数据集进行发送。
决定单元340a使用后述的评价指标来决定数据集的数量以及对数据集分配的过程数据52的种类。决定单元340a可以每次决定应包含在数据集中的过程数据(动态决定)。或者,决定单元340a也可以事先准备多个数据集,根据需要的过程数据选择适当的数据集(静态设定)。即,决定单元340a也可以从预先确定的多个数据集中,选择与被决定为应包含在数据集中的过程数据对应的数据集。
通知单元350a将决定单元340a决定的应包含在数据集50中的过程数据52的内容作为发送设定400a通知给通信处理部80a,并作为链接信息98a通知给应用程序执行单元200a。
由此,基于与多个过程数据相关的信息以及所执行的应用程序的信息,决定应包含在数据集中的过程数据,因此根据状况生成并发送包含适当的过程数据的数据集。由此,能够抑制通信负荷的增大。
§2.具体例
以下,对在上述应用例中说明的控制系统1的具体例进行说明。
<A.系统结构>
图2是表示本实施方式的控制系统1的概要的图。控制系统1包含作为控制装置的一例的1个控制器100、作为显示装置的一例的多个HMI 200(200-1、200-2)、中继装置60。
中继装置60是对控制器100与HMI 200之间的通信进行中继的装置,是调停单元的具体例。在本实施方式中,控制器100与中继装置60、以及中继装置60与各HMI 200通过信息系统网络2以能够相互通信的方式连接。即,实现调停单元的中继装置60也可以与控制器100以及HMI 200独立地配置。另外,如后所述,也可以将与中继装置60相应的功能并入到控制器100以及HMI 200中的任意一个。
信息系统网络2例如是遵循能够不依赖于供应商或OS(Operating System:操作系统)的种类等而实现数据交换的通信标准的网络。作为这样的通信标准,已知有例如OPC UA(Object Linking and Embedding for Process Control Unified Architecture:用于过程控制统一架构的对象链接和嵌入)等。
此外,信息系统网络2所采用的通信标准并不限定于OPC UA。例如,信息系统网络2可以是遵循特定的供应商或OS特有的通信标准的网络,另外,也可以是遵循作为在Ethernet(注册商标)上安装了控制用协议的工业用开放式网络的EtherNet/IP(注册商标)的网络。
在图2所示的例子中,HMI 200与控制器100之间的通信虽然由中继装置60中继来进行,但通过OPC UA的发布/订阅(Publish-Subscribe)型的通信方式来进行。另外,以下,也将应用了OPC UA的发布/订阅(Publish-Subscribe)型的通信方式的通信称为PubSub通信。
控制系统1也可以是包含多个控制器100的结构。另外,控制系统1也可以是包含多个HMI 200的结构。另外,控制系统1既可以是1个HMI 200以能够通信的方式与1个控制器100连接的结构,也可以是1个HMI 200以能够通信的方式与多个控制器100连接的结构,也可以是多个HMI 200以能够通信的方式与1个控制器100连接的结构,另外,还可以是多个HMI 200以能够通信的方式与多个控制器100连接的结构。在图2所示的例子中,控制系统1是相对于1个控制器100以能够通信的方式连接有2个HMI 200(HMI 200-1、200-2)的结构。以下,在相互区分多个HMI200的情况下,称为HMI 200-1、200-2。
控制器100包含控制单元102和通信处理部80。控制单元102执行用于对作为控制对象的现场设备500进行控制的控制程序120,并且对在该控制程序120中参照或更新的多个过程数据52进行管理。控制单元102例如通过处理器执行用于实现控制器100的基本功能的系统程序来实现。
现场设备500包含用于使生产工序自动化的各种工业用设备,包含对制造装置、生产线等(以下,也统称为“现场”。)提供某种物理性的作用的装置、和与现场之间交换信息的输入输出装置。例如,现场设备500包含控制伺服电机的伺服驱动器、控制机器人的机器人控制器、作为收集数据的装置的传感器、移动输送机的致动器或者远程I/O(Input/Output:输入输出)装置等。
在图2所示的例子中,控制器100和现场设备500通过控制系统网络4可通信地连接。控制系统网络4优选采用保证数据的到达时间的、进行恒定周期通信的网络。作为进行这样的恒定周期通信的网络,已知EtherCAT(注册商标)、EtherNet/IP(注册商标)、DeviceNet(注册商标)、CompoNet(注册商标)等。
过程数据52包含从现场设备500输入到控制器100的数据、从控制器100输出到现场设备500的数据、以及用于控制程序120的执行或控制器100的状态管理的数据。过程数据52伴随控制程序120的执行而周期性地被更新。
通信处理部80构成为能够发送包含控制单元102所管理的多个过程数据52的值在内的多个数据集50。具体而言,通信处理部80参照规定各数据集50中保存的过程数据52的组合的发送设定400,发送数据集50。
各HMI 200利用通信处理部80发送的数据集50所包含的过程数据52,执行各应用程序220。在图1所示的例子中,HMI 200-1能够执行利用过程数据52A、52B的应用程序220-1a和利用过程数据52X的应用程序220-1b。HMI 200-2能够执行利用过程数据52A、52D的应用程序220-2a和利用过程数据52C的应用程序220-2b。
<B.PubSub通信>
图3是用于说明PubSub通信的概要的图。在以下的说明中,将分发数据的一侧称为“发布者”,将订购发布者分发的数据的一侧称为“订阅者”。在本实施方式的控制系统1中,控制器100相当于分发数据的发布者。另一方面,HMI 200相当于订购控制器100分发的数据的订阅者。
发布者生成并分发保存有1个或多个数据的数据集。发布者不确定发送目的地,而向包含发布者和订阅者的网络发送数据集。该发送方式可以是多播,也可以是单播。根据状况,该发送方式还可以是广播。
订阅者管理将被分发到能够由订阅者访问的网络上的数据集中的哪些数据集作为订购对象。例如,在图3所示的例子中,订阅者将数据集1~数据集3中的数据集1以及数据集3作为订购对象。因此,订阅者仅接收发布者发布的数据集1~3中的数据集1和数据集3。订阅者在变更订购对象时,变更接收对象。
订阅者也可以接收不是订购对象的数据集,在该情况下,订阅者可以进行舍弃不是订购对象的数据集的处理。
订阅者管理订购对象的方法不限于图3所示的方法。例如,也可以按照每个数据管理是否进行订购。作为其他方法,也可以按照与数据集不同的数据的每个集合管理是否进行订购。
参照图4和图5,对HMI 200与控制器100之间的PubSub通信的概要进行说明。图4是用于说明作为订阅者发挥功能的HMI 200-1的概要的图。图5是用于说明作为发布者发挥功能的控制器100的概要的图。在图4中,以HMI 200-1为例进行说明,但在HMI 200-2中也具有与HMI 200-1同样的结构。
参照图4,HMI 200-1具有显示部242、多个应用程序220(220-1a、220-1b……)、作为OPC UA客户端的通信处理部90。各应用程序220是用于在显示部242上显示特定页面的程序。在图4中,示出了正执行用于在显示部242上显示页面1的应用程序1的例子。
各页面包含多个对象54。例如,页面1包含对象54a~对象54d。对象54的显示根据程序所包含的变量的值而被更新。例如,对象54a的显示根据变量2的值而被更新。同样地,对象54b的显示根据变量1的值而被更新,对象54c的显示根据变量2的值而被更新,对象54d的显示根据变量1的值而被更新。
应用程序220通过参照映射信息222来更新变量的值。映射信息222是将变量与过程数据进行了关联的信息。例如,变量1的值根据过程数据52A的值而被更新。各过程数据的值被更新的周期可以根据应用程序220的创建而由用户设定,另外,也可以根据管理过程数据的控制器100的更新周期来决定。
通信处理部90是OPC UA客户端,使HMI 200作为订阅者发挥功能。通信处理部90包含订购管理单元92和通信驱动器96。
订购管理单元92根据正在执行的应用程序220管理订购对象。具体而言,订购管理单元92参照基于应用程序220和映射信息222生成的订购管理信息94来确定订购对象,并向通信驱动器96通知订购对象。通信驱动器96接收包含作为订购对象的过程数据52的数据集50,对在应用程序220中利用的过程数据52的值进行更新。
订购管理信息94是将应用程序220和在该应用程序220中利用的过程数据52对应起来的信息,基于应用程序220和映射信息222生成。
订购管理单元92例如在正在执行应用程序1的情况下,参照订购管理信息94,确定在应用程序1的执行中利用过程数据52A、52B。订购管理单元92向通信驱动器96通知过程数据52A、52B的订购开始。订购管理单元92在应用程序的执行对象切换的情况下,将停止订购的过程数据52的相关信息也与开始订购的过程数据52的相关信息一起向通信驱动器96通知。
通信驱动器96从控制器100分发的多个数据集50中,读取包含作为订购对象的过程数据52的数据集50。更具体而言,通信驱动器96参照用于确定保存在各数据集50中的过程数据52的链接信息98,从控制器100利用中继装置60中继分发的多个数据集50中,确定包含作为订购对象的过程数据52的数据集50。
在本实施方式中,从HMI 200向中继装置60进行订购对象的请求,中继装置60接收该请求而生成发送设定400并向控制器100通知。另外,中继装置60与发送设定400的生成一起生成链接信息98,并通知给各HMI 200。
参照图5,控制器100包含控制单元102、控制系统网络接口(IF)191、作为OPC UA服务器的通信处理部80。
控制单元102通过执行控制程序120来控制现场设备500。例如,控制程序120利用经由控制系统网络IF 191输入的现场设备500的状态值来更新过程数据52的值,并参照更新后的过程数据52的值来执行控制运算。控制程序120根据执行的控制运算的结果更新过程数据52的值,并经由控制系统网络IF 191向现场设备500输出更新后的过程数据52的值作为控制值。
通信处理部80是OPC UA服务器,使控制器100作为发布者发挥功能。通信处理部80包含生成数据集50的数据集生成单元82和发送数据集50的通信驱动器84。
数据集生成单元82参照发送设定400,生成保存有1个或多个过程数据52的数据集50。数据集50既是指过程数据52的集合,也是指成为了能够输出到信息系统网络2上的形式的数据集。
发送设定400是对保存在一个数据集50中的过程数据52进行确定的信息。另外,在一个数据集50中,既可以规定为只保存1个过程数据52,另外,也可以规定为保存多个过程数据52。即,“数据集”这一用词是指保存在数据集50中的1个或多个过程数据52的组合。该发送设定400是由中继装置60接收来自HMI 200的请求而生成并通知给控制器100的发送设定。
通信驱动器84将数据集生成单元82生成的数据集50发送至中继装置60。中继装置60向各HMI 200送出被发送的数据集50。
参照图5,对HMI 200-1的订购对象为过程数据52A及52B、HMI 200-2的订购对象为过程数据52A及52D时的HMI 200与控制器100之间的数据交换进行说明。另外,在图5中,关于过程数据52A、52B、52D,省略一部分、标号等而进行记载。另外,以下,将过程数据52A、52B、52D、42X简称为过程数据A、B、D、X。
在图5所示的例子中,通过发送设定400规定了在数据集1中保存过程数据A、B、D。控制器100周期性地生成数据集1并发送至中继装置60。
HMI 200-1取得从控制器100利用中继装置60中继分发的数据集1。由于数据集1周期性地被发送,因此HMI 200-1周期性地取得数据集1。由此,HMI 200-1能够周期性地更新与过程数据52A以及过程数据52B对应的变量,还对应于该变量的更新来更新对象54的显示。
HMI 200-2取得从控制器100利用中继装置60中继分发的数据集1。由于数据集1周期性地被发送,因此HMI 200-2周期性地取得数据集1。由此,HMI 200-2能够周期性地更新与过程数据52A以及过程数据52D对应的变量,还对应于该变量的更新来更新对象54的显示。
<C.中继装置的功能结构>
参照图6,对作为调停单元发挥功能的中继装置60所执行的处理的一例进行说明。图6是表示中继装置60的功能结构的图。另外,在图6中,将HMI 200-1以及HMI 200-2统称为HMI 200。
参照图6,中继装置60包含调停单元300和收发管理单元680。调停单元300对在控制器100与HMI 200之间交换的数据集50进行调停。收发管理单元680将从控制器100发送的数据集50向各HMI 200-1、200-2发送。从控制器100发送的数据集50中保存的过程数据52的种类由调停单元300决定。另外,从控制器100发送的各数据集50的发送目的地也由调停单元300决定。
调停单元300包含订购列表管理单元320、过程数据取得单元330、决定单元340和通知单元350。
订购列表管理单元320取得由与中继装置60连接的HMI 200-1、200-2的各个执行的应用程序220的信息。应用程序220的信息是能够确定该应用程序220中利用的过程数据52的信息。例如,订购列表管理单元320分析来自HMI 200的订购请求,取得由HMI 200执行的应用程序220的信息。在此,订购列表管理单元320相当于取得单元的具体例。
HMI 200在执行的应用程序220发生了变更的情况下,向中继装置60进行订购请求。订购请求包含开始订购的订阅开始请求和停止订购的订阅停止请求。在作为执行对象的应用程序220被切换的定时,从通信处理部90输出订阅开始请求和订阅停止请求。
订购列表管理单元320对订购列表612进行管理,该订购列表612能够确定在控制系统1中作为订购对象的过程数据52和将该过程数据52作为订购对象的HMI 200。订购列表管理单元320基于来自HMI 200的订购请求,确定在HMI 200中执行的应用程序220所利用的过程数据52,并将该过程数据作为订购对象登记(更新)到订购列表612中。订购列表管理单元320基于来自HMI 200的订购请求,确定停止订购的过程数据52,并将订购的停止反映(更新)到订购列表612中。订购列表管理单元320在更新了订购列表612的情况下,通知给决定单元340(图中的更新通知)。
过程数据取得单元330管理规定过程数据52与分发过程数据52的控制器100之间的对应关系的过程数据列表622。过程数据取得单元330在中继装置60与控制器100的通信建立时,对控制器100请求发送表示所管理的过程数据52的信息。过程数据取得单元330接收表示过程数据52的信息(图6中的过程数据信息),确认控制器100与控制器100管理的过程数据52之间的对应关系是否登记在过程数据列表622中,如果没有登记,则将控制器100与控制器100管理的过程数据52之间的对应关系登记(更新)到过程数据列表622中。
决定单元340接收来自订购列表管理单元320的更新通知,决定用于发送作为订购对象的过程数据52的发送设定400。决定单元340基于订购列表612来确定执行中的应用程序220所利用的过程数据52。决定单元340针对基于过程数据列表622确定的过程数据,按照管理该过程数据的每个控制器100进行分组。决定单元340针对分组而成的每一组过程数据52,决定对一组过程数据52进行管理的控制器100的发送设定400。发送设定400规定应包含在各数据集50中的过程数据52。发送设定400的决定方法将在后面叙述。另外,决定单元340也可以在已经生成了发送设定400以及链路信息98的情况下,进一步参照到决定发送设定400的定时为止所蓄积的蓄积信息623,来规定应包含在各数据集50中的过程数据52。
决定单元340基于所决定的各控制器100的发送设定400来生成各HMI 200的链接信息98。如上所述,链接信息98是用于确定保存在各数据集50中的过程数据52的信息。另外,链接信息98只要是HMI 200的通信处理部90能够确定HMI 200的通信处理部90能够接收的数据中的、保存有作为订购对象的过程数据52的数据,以及在该数据的哪个保存目的地保存有作为订购对象的过程数据52的信息即可。例如,在中继装置60变更控制器100发送的数据集50的标题(名称)的情况下,将由中继装置60变更后的标题和在该标题的数据中保存的过程数据52的种类建立了对应的信息成为链接信息98。
决定单元340也可以将决定的发送设定400以及链接信息98作为蓄积信息623保存。另外,也可以是,决定单元340除了发送设定400以外,还将决定了该发送设定400时的订购列表612一并作为蓄积信息623进行保存。即,蓄积信息623是将作为订购对象的过程数据与用于分发该过程数据的发送设定建立了关联的信息。
通过增加蓄积信息623,决定单元340的运算变得容易,并且还能够设计与利用状况相应的适当的发送设定400。
通知单元350将由决定单元340得到的发送设定400通知给控制器100,并将链接信息98通知给HMI 200。另外,在按每个HMI 200生成了链接信息98的情况下,向对应的HMI200发送各链接信息98。
通知单元350基于发送设定400和订购列表612,对规定各数据集50的发送目的地的主题列表682的信息进行更新。
收发管理单元680参照主题列表682,将从控制器100分发的各数据集50发送到以该数据集50中包含的过程数据52为订购对象的HMI 200。
<D.决定单元340的功能结构>
参照图7,说明决定单元340执行的运算方法的一例。图7是表示决定单元340执行的运算的一例的图。在图7所示的例子中,决定单元340求出将用于求出过程数据52的组合的问题作为“背包问题(knapsack problem)”而发送的过程数据52的组合候选。决定单元340在存在多个所求出的候选的情况下,按照未将各候选并入“背包问题”的评价指标进行评价。
在本实施方式中,作为典型例,决定单元340按照与通信负荷相关的预先确定的评价基准,决定应包含在数据集50中的过程数据52。
参照图7,决定单元340包含价值决定单元342、候选计算单元344、评价单元346、判定单元348。
价值决定单元342决定过程数据52的价值。例如,价值决定单元342将系统整体中的过程数据52的重要性转换为价值。具体而言,价值决定单元342参照订购列表612,确定在各HMI 200中执行的每个应用程序220所需的过程数据52,决定各过程数据52的价值,生成表示过程数据52各自的价值的价值信息370。
价值决定单元342例如根据利用过程数据52的频度和利用过程数据52的HMI200在系统中的重要性来估算过程数据52的价值。也可以使用基于多个过程数据52各自在各应用程序中被利用的频度、以及针对多个过程数据52分别设定的重要度中的至少一方的评价基准。
利用过程数据52的HMI 200在系统中的重要性例如根据HMI信息376来计算。HMI信息376例如包含能够确定哪个HMI 200作为主设备而被登记、哪个HMI 200作为辅设备而被登记的信息。HMI信息376也可以包含表示HMI 200的利用频度的运行状况。在本实施方式中,HMI信息376是表示主设备和辅设备的信息。
本实施方式的HMI 200-1在控制系统1中是主设备(主要利用的HMI),HMI200-2在控制系统1中是辅设备(辅助利用的HMI)。该信息被登记为HMI信息376。HMI信息376例如在向HMI 200安装应用程序220时、或者开发应用程序220时等由用户登记。
例如,一个过程数据52的价值p由下式(1)算出。
[数式1]
在此,i用于确定HMI 200的种类,i=1表示HMI 200-1,i=2表示HMI 200-2。α是根据HMI信息376得到的HMI 200在系统中的重要性。n表示在由HMI 200执行的应用程序220中利用该过程数据52的频度。例如,在HMI 200能够执行5个应用程序220,在该5个应用程序220中的3个应用程序220中利用特定的过程数据52的情况下,利用该过程数据52的频度n成为3/5。此外,也可以在频度n中反映应用程序的利用频度的实测值。
另外,价值的计算方法是一个例子,例如,也可以使上述式(1)进一步反映过程数据52自身的价值。例如,也可以对在错误的发生判定中利用的过程数据52赋予高的价值,对登录所利用的过程数据52赋予比在错误的发生判定中利用的过程数据52低的价值。
图7中的pA表示过程数据52A的价值,pB表示过程数据52B的价值,pC表示过程数据52C的价值。此外,价值信息370也可以是预先确定的。即,价值决定单元342也可以基于预先确定的价值信息370,决定订购列表管理单元320所取得的在各HMI 200中执行的每个应用程序220所需的过程数据各自的价值。
候选计算单元344将过程数据52的数据大小设为“权重”,将价值决定单元342估算出的过程数据52的价值设为“价值”,将一个分组的数据容量设为“背包的容量”,决定使保存于一个分组的过程数据52的价值之和最大化的过程数据52的组合。
过程数据52的数据大小被预先确定。例如,与数据大小相关的信息包含在控制器100发送的过程数据信息中。
分组的数据容量作为容量信息372而得到。容量信息372可以是作为信息系统网络2的性能而预先确定的信息,另外,也可以是用户设定为临时的值的信息。
候选计算单元344将决定的组合作为应包含在一个数据集中的过程数据52保存在候选数据374中。候选计算单元344从分组所保存的过程数据52的候选中,将保存在候选数据374中的过程数据52排除,再次决定使保存于一个分组的过程数据52的价值之和最大化的过程数据52的组合。
即,候选计算单元344包含用于评价数据集所包含的过程数据的价值的指标,作为评价基准,来决定过程数据52的组合。其结果,例如能够设计可使得优发送价值高的过程数据52的发送设定400。
具体而言,能够根据所决定的各数据集50所包含的过程数据52的价值来决定该数据集50的价值,并设计使得优先发送价值高的数据集50的发送设定400。
候选计算单元344反复进行过程数据52的组合决定、向候选数据374保存所决定的组合、以及从保存于分组的过程数据52的候选中排除候选数据374所保存的过程数据52,直到保存于分组的过程数据52的候选不再存在为止。
候选计算单元344也可以多次进行直到保存于分组的过程数据52的候选不再存在为止的一系列的处理,取得多个候选数据(第1候选数据374a、第2候选数据374b……)。在进行多次一系列的处理的情况下,候选计算单元344也可以每次变更算法,该算法用于决定使保存于一个分组的过程数据52的价值之和最大化的过程数据52的组合。算法并无特别限定,例如可列举动态规划法、贪心法、遗传算法等。
另外,即使在以相同的算法执行了一系列的处理的情况下,在得到了多个解时,也能够得到多个候选数据。另外,也可以在得到一个候选数据的时刻,结束候选计算单元344的处理。以下,对得到多个候选数据374的情况进行说明。
评价单元346基于预先确定的指标对多个候选数据374分别进行评价。在图7所示的例子中,评价单元346基于通信负荷指标352、通信性能指标354、通信效率指标356以及变更负荷指标357的各个指标来分别评价多个候选数据374。
通信负荷指标352是用于评价控制器100发送数据集50时的负荷的指标。例如,通信负荷指标352将候选数据374中包含的数据集的数量、一个数据集所保存的过程数据的数量、一个数据集的数据大小等作为指标。
如果候选数据374中包含的数据集的数量少,则能够减少控制器100发送数据集50的次数,能够将发送数据集的间隔隔开,能够减少控制器100中的通信负荷。
即,评价单元346在按照通信负荷指标352进行了评价的情况下,候选数据374中包含的数据集的数量、一个数据集所保存的过程数据的数量、一个数据集的数据大小各自越小,则越提高对作为评价对象的候选数据374的评价。其结果,能够设计给控制器100带来的负荷减小的发送设定400。
通信性能指标354是用于评价向HMI 200分发数据的性能的指标,是评价在规定期间内HMI 200能够接收的、在该HMI 200中执行的应用程序所利用的过程数据的种类的指标。例如,通信性能指标354将向HMI 200发送数据集的周期、向HMI 200分发的数据集50所包含的过程数据52中的在HMI 200中执行的应用程序所利用的过程数据52的种类等作为指标。
评价单元346在按照通信性能指标354进行了评价的情况下,在规定期间内向HMI200分发的数据集50所包含的过程数据52的种类越多,则越提高对作为评价对象的候选数据374的评价。其中,不是单纯地种类多,而是在HMI 200中利用的过程数据52的种类越多,对作为评价对象的候选数据374的评价越高。其结果,能够设计可减小在过程数据52的值被更新的定时与在应用程序220中被利用的定时之间产生的时滞的发送设定400。即,HMI 200能够准确地掌握控制器100的状态。
通信效率指标356是用于评价控制器100与HMI 200之间的通信效率的指标。例如,作为施加于使控制器100和HMI 200可通信地连接的信息系统网络2的负荷,通信效率指标356将必须在规定期间发送的数据数(即,pps(packet per second:每秒分组)、bps(bitper second:每秒比特))等作为指标。
评价单元346在按照通信效率指标356进行了评价的情况下,必须在规定期间内发送的数据数越少,则越提高对作为评价对象的候选数据374的评价。其结果,能够设计通信效率良好的发送设定400。更具体而言,能够减小通信量。
变更负荷指标357是用于评价与变更作为执行对象的应用程序220、变更发送设定400相伴的通信处理部80的处理负担、各HMI 200的处理负担以及调停单元300的处理负担的指标。
判定单元348基于评价单元346按照多个指标对各个候选数据374进行评价后的结果和优先级信息358,判定多个候选数据374中的哪个候选数据374是适当的,并将适当的候选数据374设为决定结果。
优先级信息358是由用户输入的信息,规定通信负荷、通信性能以及通信效率的优先级(加权)。即使在通过评价单元346按照各个指标对多个候选数据374进行了评价的情况下,也有时不存在所有指标都成为最佳的候选数据。在该情况下,通过使用优先级信息358规定各指标的优先级,即使在不存在所有指标都成为最佳的候选数据的情况下,判定单元348也能够决定被认为是最佳的候选数据。
另外,图7所示的运算顺序是一个例子,候选计算单元344也可以考虑评价单元346参照的通信负荷指标352、通信性能指标354以及通信效率指标356中的至少一个指标来决定过程数据52的组合。即,计算多个候选数据374并评价各候选数据374来决定发送设定400的方法是一个例子,也可以不计算候选数据374而决定发送设定400。
在图7所示的例子中,说明了能够发送由订购列表管理单元320取得的作为订购对象的各过程数据52的通信处理部80是1个。另外,在从互不相同的通信处理部80发送作为订购对象的各过程数据52的情况下,基于由过程数据取得单元330得到的信息,按照通信处理部80的每个种类对作为订购对象的各过程数据52进行分组。决定单元340按照每个组,决定应包含在数据集中的过程数据的种类。
<E.用户界面>
(E1.HMI信息)
图8是表示受理HMI信息376的用户界面700的一例的图。用户界面700包含表示网络结构的网络结构区域720和受理HMI信息376的受理区域740。网络结构区域720表示与控制器100(图中的Master)连接的HMI 200。
受理区域740受理与控制器100连接的HMI 200的优先级的指定。在图8所示的例子中,能够通过操作选项卡742选择“High”和“Low”中的任意一方。由此,能够规定将过程数据52优先发送给能够显示控制器100的信息的多个HMI(HMI-1、HMI-2、HMI-3)中的哪一个HMI。例如,在多个HMI中,提高作为主设备发挥功能的HMI的优先级,并降低其他HMI的优先级,以能够区分主设备和辅设备的方式进行登记。
这样,能够将各HMI的重要度反映到过程数据52的价值中,例如,能够设计发送设定400,使得能够优先分发在由用户指定的任意的HMI 200所执行的应用程序中利用的过程数据。
(E2.优先级信息)
图9是表示受理优先级信息358的用户界面900的一例的图。用户界面900作为用于决定发送设定400的参数之一,在开始通信处理部80与HMI 200的通信之前,在设计管理单元的参数的阶段被提供。
用户界面900包含表示评价指标的指标区域920和受理评价指标的优先级的输入的优先级受理区域960。操作优先级受理区域960的选项卡962,输入各评价指标的优先级。
即,在设置有多个评价指标的情况下,用户界面900作为受理各评价指标的重要度的单元而发挥功能。用户通过用户界面900来改变各评价指标的重要度,由此能够设计任意的发送设定400。例如,在控制器100重视执行控制程序120的处理速度的情况下,提高与控制器100中的处理负荷相关的指标的重要度即可。另一方面,在控制器100的性能足够高,从而即使不充分考虑控制器100中的处理负荷,控制器100也能够充分执行控制程序120的情况下,也可以降低与控制器100中的处理负荷相关的指标的重要度。
<F.序列>
图10至图12是示出由中继装置60执行的一系列处理的流程的序列图。以下,将步骤简单表示为“S”。
在S102中,控制器100登记表示控制单元102管理的过程数据52的种类的信息。
在S104中,中继装置60基于由控制器100登记的信息,生成或更新过程数据列表622。
在S106中,假设HMI 200-1开始了应用程序220-1a的执行。
在S108中,HMI 200-1伴随应用程序220-1a的执行开始,参照订购管理信息94,确定应用程序220-1a的执行所需的过程数据52(订购对象的确定)。
在S110中,HMI 200-1向中继装置60通知订购的开始(订阅开始请求)。在S110的订阅开始请求中包含能够确定作为订购对象的过程数据52的信息。在图10所示的例子中,进行表示开始过程数据A、B的订购的通知。
在S111中,中继装置60基于订阅开始请求,更新订购列表612。
在S112中,中继装置60进行用于决定发送设定400的运算。具体而言,中继装置60参照订购列表612和过程数据列表622,针对过程数据A、B的每一个,决定要保存在数据集50中的过程数据的种类,以分别发送过程数据A、B。
在图10所示的例子中,在S112中,决定在数据集1中保存过程数据A、B。
在S113中,中继装置60生成链接信息98。具体而言,中继装置60决定应该在数据集的标题和该标题的附加数据内的哪个位置保存哪个种类的过程数据52。数据内的各位置能够通过标签名确定。例如,中继装置60生成能够确定标题名、标签名、和保存在该标签名的保存目的地的过程数据的种类的链接信息98。
在S114中,中继装置60向控制器100规定将过程数据A、B保存在数据集1中的发送设定400发送。
在S116中,控制器100登记所发送的发送设定400。
在S118中,中继装置60将链接信息98发送至HMI 200-1。
在S120中,HMI 200-1更新链接信息98。在图10所示的例子中,将如下情况登记为链接信息98:在标题名为数据集1的数据集中,在标签1中保存的数据是过程数据A,在标签2中保存的数据是过程数据B。
在S121中,中继装置60更新主题列表682。进而,中继装置60也可以将决定的发送设定400以及该发送设定400的决定时的订购列表612保存为蓄积信息623。
在S122中,控制器100按照发送设定400,保存过程数据A的值和过程数据B的值来生成数据集1,并且开始所生成的数据集1的发送(发布)。数据集1例如周期性地被发送。
在S124中,中继装置60参照主题列表682向HMI 200-1发送从控制器100发送的数据集1。
在S126中,HMI 200-1读入所发送的数据集1,取得过程数据A和过程数据B的值,并利用于应用程序220-1a的执行。
周期性地反复S122~S126的处理(设为S1220),直到与数据集1相关的发送设定400被变更为止。
参照图11,对新开始执行应用程序时的处理进行说明。在图11所示的例子中,设为在HMI 200-2中新开始应用程序220-2a的执行。另外,图11的处理是图10的处理的后续处理。
在S128中,假设HMI 200-2开始了应用程序220-2a的执行。
在S130中,HMI 200-2伴随应用程序220-2a的执行开始,参照订购管理信息94,确定应用程序220-2a的执行所需的过程数据52(订购对象的确定)。
在S132中,HMI 200-2向中继装置60通知订购的开始(订阅开始请求)。在S132的订阅开始请求中,包含能够确定作为订购对象的过程数据52的信息。在图11所示的例子中,进行表示开始过程数据A、D的订购的通知。
在S133中,中继装置60基于订阅开始请求更新订购列表612。
在S134中,中继装置60进行用于决定发送设定400的运算。具体而言,中继装置60参照订购列表612、过程数据列表622和蓄积信息623,决定用于从控制器100发送作为订购对象的过程数据52的发送设定400。中继装置60基于HMI 200-1继续进行过程数据A、B的订购以及当前的发送设定400,进行用于决定发送设定400的运算。即,中继装置60决定发送设定400,使得能够将过程数据A、B发送给HMI200-1,将过程数据A、D发送给HMI 200-2。
在图11所示的例子中,在S134中,决定在数据集1中保存过程数据A、B、D。
在S135中,中继装置60生成链接信息98。
在S136中,中继装置60将规定在数据集1中保存过程数据A、B、D的发送设定400发送到控制器100。
在S138中,控制器100登记所发送的发送设定400。
在S140中,中继装置60将链接信息98发送至HMI 200-1。
在S142中,HMI 200-1更新链接信息98。在图11所示的例子中,将如下情况登记为链接信息98:在标题名为数据集1的数据集中,在标签1中保存的数据是过程数据A,在标签2中保存的数据是过程数据B,在标签3中保存的数据是虚拟数据。在此,虚拟数据是指HMI200-1未作为订购对象的过程数据。
在S144中,中继装置60将链接信息98发送至HMI 200-2。
在S146中,HMI 200-2更新链接信息98。在图11所示的例子中,将如下情况登记为链接信息98:在标题名为数据集1的数据集中,在标签1中保存的数据是过程数据A,在标签2中保存的数据是虚拟数据,在标签3中保存的数据是过程数据D。
在步骤S147中,中继装置60更新主题列表682。进而,中继装置60也可以将决定的发送设定400以及该发送设定400的决定时的订购列表612保存为蓄积信息623。
在S148中,控制器100按照发送设定400,保存过程数据A的值、过程数据B的值以及过程数据D的值来生成数据集1,并且开始所生成的数据集1的发送(发布)。数据集1例如周期性地被发送。
在S150中,中继装置60参照主题列表682向HMI 200-1发送从控制器100发送的数据集1。
在S152中,HMI 200-1读入所发送的数据集1,取得过程数据A和过程数据B的值,并利用于应用程序220-1a的执行。
在S154中,中继装置60参照主题列表682向HMI 200-2发送从控制器100发送的数据集1。
在S156中,HMI 200-2读入所发送的数据集1,取得过程数据A和过程数据D的值,并利用于应用程序220-2a的执行。
这样,中继装置60基于从HMI 200-2取得到的用于确定由HMI 200-2执行的应用程序所利用的过程数据的信息,不仅将新决定的过程数据的内容通知给HMI200-2,还通知给HMI 200-1。由此,HMI 200-1和HMI 200-2能够取得各自所执行的应用程序所需的过程数据。
周期性地反复S148~S156的处理(设为S1480),直到与数据集1相关的发送设定400被变更为止。即,当在S138中更新发送设定400时,不执行S1220中的处理。
参照图12,对切换作为执行对象的应用程序220时的处理进行说明。在图12所示的例子中,假设在HMI 200-1中进行页面的切换,而将作为执行对象的应用程序220从应用程序220-1a切换为了应用程序220-1b。图12的处理是图11的处理的后续处理。
在S160中,HMI 200-1停止应用程序220-1a的执行,在S162中,开始应用程序220-1b的执行。
在S164中,HMI 200-1参照订购管理信息94来确定伴随应用程序220-1a的执行停止及应用程序220-1b的执行开始而停止订购的过程数据52和开始订购的过程数据52(订购对象的确定)。
在S166中,HMI 200-1向中继装置60通知订购的停止(订阅停止请求)。在S166的订阅停止请求中包含能够确定停止订购的过程数据52的信息。在图12所示的例子中,进行表示停止过程数据A、B的订购的通知。
在S168中,HMI 200-1向中继装置60通知订购的开始(订阅开始请求)。在图12所示的例子中,进行表示开始过程数据X的订购的通知。
在S169中,中继装置60基于订阅停止请求和订阅开始请求来更新订购列表612。
在S170中,中继装置60进行用于决定发送设定400的运算。具体而言,中继装置60参照订购列表612、过程数据列表622和蓄积信息623,决定用于从控制器100发送作为订购对象的过程数据52的发送设定400。中继装置60基于HMI 200-2继续进行过程数据A、D的订购以及当前的发送设定400,进行用于决定发送设定400的运算。即,中继装置60决定发送设定400,使得能够将过程数据X发送给HMI 200-1,将过程数据A、D发送给HMI 200-2。
在图12所示的例子中,在S170中,决定在数据集1中保存过程数据A、B、D,在数据集2中保存过程数据X。即,中继装置60决定不变更数据集1中保存的过程数据52的种类而重新开始数据集2的发送。
在步骤S171中,中继装置60生成链接信息98。另外,在图12所示的例子中,通过变更发送设定400,停止对HMI 200-1发送数据集1,仅对开始向HMI 200-1新发送数据集2进行变更,而不对向HMI 200-2发送数据集1进行变更。因此,中继装置60在S171中生成针对HMI200-1的链接信息98。
在S172中,中继装置60向控制器100通知新发送保存了过程数据X的数据集2(发送设定)。
在S174中,控制器100登记所发送的发送设定。具体而言,不变更针对数据集1的设定,而是将表示新生成数据集2的内容登记为发送设定400。
在S176中,中继装置60将链接信息98发送至HMI 200-1。在S178中,HMI 200-1更新链接信息98。在图12所示的例子中,将如下情况登记为链接信息98:在标题名为数据集2的数据集中,在标签1中保存的数据是过程数据X。在此,由于HMI 200-1不将保存于数据集1的过程数据52用于应用程序220-1b的执行,因此也可以舍弃与已经登记的数据集1相关的信息。
另外,中继装置60也可以不向HMI 200-2新发送链接信息98。HMI 200-2不对用于生成在应用程序220-2b的执行中利用的数据集1的设定进行变更。另外,HMI200-2不将新生成的数据集2中保存的过程数据X用于应用程序220-2a的执行。即,HMI 200-2无需新取得与数据集2相关的信息,只要能够确定数据集1,就能够执行应用程序220-2a。
在S179中,中继装置60更新主题列表682。另外,中继装置60将所决定的发送设定400以及该发送设定400的决定时的订购列表612保存为蓄积信息623。
在S180中,控制器100按照发送设定400,保存过程数据A的值、过程数据B的值以及过程数据D的值,生成数据集1,并且进行所生成的数据集1的发送(发布)。
在S182中,中继装置60将从控制器100发送的数据集1向HMI 200-2发送。
在S184中,HMI 200-2读入所发送的数据集1,取得过程数据A及过程数据D的值,并利用于应用程序220-2a的执行。
在S186中,控制器100按照发送设定400,保存过程数据X的值,生成数据集2,并且进行所生成的数据集2的发送(发布)。
在S188中,中继装置60向HMI 200-1发送从控制器100发送的数据集2。
在S190中,HMI 200-1读入所发送的数据集2,取得过程数据X的值,并利用于应用程序220-1b的执行。
在此,将S180~S184的处理设为S1800,与图11所示的S1480的处理进行比较。当对S1800和S1480进行比较时,除了在S1800中不进行中继装置60向HMI 200-1发送数据集1的处理(S150)、以及读入HMI 200-1发送的数据集1的数据的处理(S152)这一点以外,其余的处理相同。
即,仅变更中继装置60的处理,而不对控制器100以及HMI 200-2的处理进行变更。
<G.硬件结构>
以下,说明控制系统1所包含的各装置的硬件结构的一例。
(G1.中继装置60的硬件结构)
图13是表示中继装置60的硬件结构的一例的示意图。参照图13,中继装置60包含处理器61、易失性存储器64、非易失性存储器65以及通信IF 67。这些组件经由处理器总线68连接。
处理器61由CPU(Central Processing Unit:中央处理单元)或GPU(GraphicalProcessing Unit:图形处理单元)等构成,读出保存于非易失性存储器65的程序,并在易失性存储器64中展开并执行,由此对控制器100与HMI 200之间的通信进行中继,并且提供用于决定发送设定400的功能。
易失性存储器64由DRAM(Dynamic Random Access Memory:动态随机存取存储器)、SRAM(Static Random Access Memory:静态随机存取存储器)等构成。非易失性存储器65例如由HDD(Hard Disk Drive:硬盘驱动器)、SSD(Solid State Drive:固态驱动器)等构成。
非易失性存储器65除了用于实现基本功能的OS(省略图示)以外,还保存有中继程序1310、订购列表612、过程数据列表622、蓄积信息623、主题列表682、评价信息1320以及性能信息1340。
中继程序1310是用于对控制器100与HMI 200之间的通信进行中继并且决定发送设定400的程序,通过由处理器61执行,提供图6以及图7所示的各种单元的功能。中继程序1310包含作为调停单元300发挥功能的调停程序1312和作为收发管理单元680发挥功能的通信程序1314。
评价信息1320包含图7所示的通信负荷指标352、通信性能指标354、通信效率指标356以及变更负荷指标357。评价信息1320也可以包含HMI信息376以及优先级信息358。即,评价信息1320是与决定单元340参照的评价基准360相关的信息。
性能信息1340是包含容量信息372,且表示控制器100、信息系统网络2以及HMI200的性能的信息。
另外,示出了通过处理器61执行程序而提供所需的功能的结构例,但也可以使用专用的硬件电路(例如,ASIC(Application Specific Integrated Circuit:专用集成电路)或FPGA(Field-Programmable Gate Array:现场可编程门阵列)等)来安装这些所提供的功能的一部分或全部。另外,中继装置60所提供的功能有时也以利用OS所提供的模块的一部分的形式实现。
保存在非易失性存储器65中的各种程序可以经由计算机可读取的记录介质安装,也可以以从网络上的服务器装置等下载的形式安装。
通信IF 67负责与连接于信息系统网络2的各装置(控制器100、HMI 200)之间的数据交换。
如上所述,中继装置60暂时决定某个定时的最佳的发送设定400,根据在网络上执行的应用程序220的变更,变更发送设定400。另外,最佳的发送设定400是由决定单元340求出的发送设定400,根据决定单元340参照的评价基准360,依据什么称为“最佳的发送设定400”是不同的。
中继装置60的利用场景广泛,从HMI 200与控制器100的通信开始时起至结束时为止,中继装置60能够一直被利用。
(G2.HMI的硬件结构)
图14是表示HMI 200的硬件结构的一例的示意图。作为一例,HMI 200使用遵循通用架构的硬件(例如,通用个人计算机)来实现。HMI 200既可以是固定式,也可以在配置有控制器100的制造现场以便携性优异的笔记本型的个人计算机的方式提供。参照图14,HMI200包含处理器210、触摸面板240、易失性存储器250、非易失性存储器270、通信IF 292以及USB控制器294。这些组件经由处理器总线296连接。
处理器210由CPU、GPU等构成,读出保存在非易失性存储器270中的程序,在易失性存储器250中展开并执行,由此将通过控制程序120的执行而得到的各种信息输出到触摸面板240。
易失性存储器250由DRAM、SRAM等构成。非易失性存储器270例如由HDD、SSD等构成。
非易失性存储器270除了用于实现基本功能的OS(省略图示)以外,还保存OPC UA程序260、订购管理信息94、链接信息98、1个或多个应用程序220、映射信息222。
OPC UA程序260是用于使HMI 200作为订阅者发挥功能、且用于在控制器100与HMI200之间进行遵循OPC UA的通信的程序。处理器210执行OPC UA程序260,由此提供图4所示的通信处理部90的功能。OPC UA程序260例如从其他外部存储介质(例如存储卡、网络上的服务器装置)被安装到非易失性存储器270。
另外,示出了通过处理器210执行程序来提供所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。另外,HMI200提供的功能也有时以利用OS提供的模块的一部分的形式实现。
触摸面板240包含作为显示器的显示部242和受理用户操作的输入部244。另外,显示部242和输入部244也可以分体构成。
通信IF 292负责与中继装置60的数据交换。USB控制器294经由USB连接负责与任意的信息处理装置之间的数据交换。
(G3.控制器100的硬件结构)
图15是表示控制器100的硬件结构的一例的示意图。参照图15,控制器100包含处理器110、芯片组196、非易失性存储器170、易失性存储器150、控制系统网络IF 191、信息系统网络IF 192、USB控制器193、存储卡IF 194和内部总线控制器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与HMI 200之间进行遵循OPC UA的通信的程序。处理器110通过执行OPC UA程序180,提供图5所示的通信处理部80的功能。OPC UA程序180例如可以作为系统程序的一种预先安装于控制器100,另外,也可以从其他外部存储介质(例如存储卡194A、网络上的服务器装置)安装到非易失性存储器170。
另外,示出了通过处理器110执行程序来提供所需的功能的结构例,但也可以使用专用的硬件电路(例如ASIC或FPGA等)来安装这些所提供的功能的一部分或全部。另外,也可以使用遵循通用架构的硬件(例如,以通用个人计算机为基础的工业用个人计算机)来实现控制器100的主要部分。在该情况下,也可以使用虚拟化技术并行地执行用途不同的多个OS,并且在各OS上执行所需的应用程序。
控制系统网络IF 191负责与现场设备500之间的数据交换。
信息系统网络IF 192负责与中继装置60之间的数据交换。
USB控制器193经由USB连接负责与任意的信息处理装置(支持装置)之间的数据交换。
存储卡IF 194构成为能够装卸存储卡194A,能够对存储卡194A写入控制程序、各种设定等数据,或者从存储卡194A读出控制程序、各种设定等数据。
内部总线控制器195是搭载于控制器100的与未图示的I/O单元等之间交换数据的接口。内部总线可以使用厂商固有的通信协议,也可以使用与任意的工业用网络协议相同或遵循任意的工业用网络协议的通信协议。
<H.中继装置的变形例>
对于上述实施方式的中继装置60,假设评价基准360不变动的情况来进行了说明。也可以根据应用程序的利用频度、信息系统网络2的通信频带的利用状况、施加于控制器100的处理器110的负荷的状况等来更新评价基准360a。
图16是表示变形例中的中继装置60a的功能结构的图。在图16中,仅示出与上述实施方式的中继装置60的功能不同的部分。
中继装置60a还包含监视单元362、更新单元364。监视单元362对应用程序的利用频度、信息系统网络2的通信频带的利用状况、以及施加于控制器100的负荷的状况进行监视。另外,监视单元362也可以基于蓄积信息623来确定应用程序220的利用频度。
更新单元364根据监视单元362的监视结果来更新与评价基准360a相关的信息。更新单元364除了与评价基准360a相关的信息以外,还可以更新控制器100、信息系统网络2以及HMI 200的性能等。
决定单元340按照由更新单元364更新后的评价基准360a,决定应包含在各数据集50中的过程数据52,决定发送设定400。
<I.控制系统的变形例>
在上述实施方式中,控制系统1通过中继装置60来安装调停单元。另外,调停单元也可以通过控制器来安装。图17是表示变形例中的控制系统1b的概要的图。
控制系统1b包含控制器100b和多个HMI 200。控制器100b与各HMI 200相互经由信息系统网络2以能够通信的方式连接。
控制器100b在包含调停单元300b这一点上与控制器100不同。调停单元300b包含订购列表管理单元320b、决定单元340b、通知单元350b。控制器100b所包含的控制单元102为了管理过程数据52而发挥上述实施方式中的过程数据取得单元330的功能。
订购列表管理单元320b基于来自各HMI 200的订阅停止请求和订阅开始请求来更新订购列表612b。订购列表612b不需要使HMI 200与该HMI 200作为订购对象的过程数据52对应地存储,只要是能够在整个控制系统1b中确定作为订购对象的过程数据52的信息即可。
决定单元340b基于控制单元102管理的过程数据52的种类和订购列表612b,决定发送设定400。另外,决定单元340b按照发送设定400,生成能够确定各数据集50的标题名、标签名、和保存于该标签名的保存目的地的过程数据的种类的链接信息98b。
通知单元350b通过多播向各HMI 200分发所生成的链接信息98b。
控制器100b的通信处理部80按照决定单元340b决定的发送设定400生成数据集50,并通过多播向各HMI 200发送。
各HMI 200基于链接信息98,从所分发的数据集50中取得作为订购对象的过程数据52的值。
此外,控制系统1b也可以包含多个控制器100c。各控制器100c在订购列表612b的作为订购对象的过程数据52中,确定在该控制器100c中管理的过程数据52,基于用于发送该过程数据52的发送设定400的决定、以及所决定的发送设定400,生成链接信息98b。各HMI200具有各控制器100c的链接信息98b,基于各链接信息98b,从所分发的数据集50中,取得作为订购对象的过程数据52的值。
<J.其他变形例>
(J1.HMI 200发送的信息)
HMI 200将订购开始或停止的过程数据作为订阅开始请求和订阅停止请求,向中继装置60通知。
另外,在中继装置具有各HMI的订购管理信息94的情况下,从各HMI 200向中继装置通知能够确定开始执行的应用程序220和停止执行的应用程序220的信息即可。
在中继装置具有订购管理信息94的情况下,每当反复发送设定400的生成时,为了执行各应用程序而应该生成的数据集就被决定,能够容易地进行发送设定400的生成所需的运算。
(J2.调停单元的安装方法的变形例)
在上述实施方式中,说明了调停单元具有对控制器100与HMI 200之间的数据交换进行中继的中继装置60。另外,调停单元也可以作为仅具有调停单元的设定装置而被安装。设定装置只要与各控制器100、各HMI 200能够通信地连接即可。
例如,也可以是,设定装置不对控制器100与HMI 200之间的数据交换进行中继,因此向控制器100通知发送设定400,在从该控制器100接收到表示控制器100生成的数据集所附加的标题以及在该标题内的哪个位置保存哪个过程数据的信息之后,生成链接信息98。
另外,HMI可以具有调停单元的功能。由发布者和订阅者构成的网络上的装置中的任意装置也可以具有调停单元的功能。例如,在存在多个作为订阅者发挥功能的装置的情况下,也可以是仅该多个装置中的一个装置具有调停单元的功能。另外,在存在多个作为发布者发挥功能的装置的情况下,也可以是仅该多个装置中的一个装置具有调停单元的功能。
(J3.HMI和控制器的变形例)
在上述实施方式中,设为HMI是订阅者、控制器是发布者的情况进行了说明。HMI和控制器各自可以包含订阅者和发布者的功能双方。
在该情况下,控制程序构成为能够利用从HMI分发的数据。HMI的发送设定也可以由调停单元根据控制程序来决定。HMI的发送设定的决定方法能够利用以上说明的控制器100的发送设定400的决定方法。另外,在该情况下,HMI也可以具有调停单元。
(J4.与发送设定的决定方法相关的变形例)
不需要以一个应用程序利用一个数据集50所包含的所有过程数据52的方式生成发送设定400。在该情况下,也可以在评价基准360中包含如下指标,该指标与用于从数据集50中区分应用程序220所利用的过程数据52的处理负荷相关。
另外,也可以考虑过程数据52被控制器100更新的周期、以及应用程序220中利用的周期来生成发送设定400。
§3.附记
如上所述,上述实施方式包含以下的公开。
<结构1>
一种控制系统,其具有:
控制单元(102a),其执行用于对控制对象进行控制的控制程序(120a),并且对在该控制程序中参照或更新的多个过程数据(52)进行管理;
发送单元(80a),其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集(50);
应用程序执行单元(200a),其参照由所述发送单元发送的数据集来执行应用程序;以及
调停单元(300a),其对在所述发送单元与所述应用程序执行单元之间交换的数据集进行调停,
所述调停单元包含:
第1取得单元(320a),其取得与所述控制单元管理的所述多个过程数据相关的信息;
第2取得单元(330a),其取得由所述应用程序执行单元执行的应用程序的信息;
决定单元(340a),其基于所述第1取得单元取得的与所述多个过程数据相关的信息和所述第2取得单元取得的所述执行的应用程序的信息,决定应包含在所述数据集中的过程数据;以及
通知单元(350a),其将所述决定单元决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元。
<结构2>
在结构1所记载的控制系统中,
所述第2取得单元在由所述应用程序执行单元执行的应用程序每次被变更时,取得用于确定变更后的应用程序所利用的过程数据的信息(S106~S110;S128~S132)。
<结构3>
在结构1或2所记载的控制系统中,
所述决定单元基于由所述第2取得单元取得的应用程序的信息,按照与通信负荷相关的预先确定的评价基准(360),决定应包含在所述数据集中的过程数据。
<结构4>
在结构3所记载的控制系统中,
所述评价基准基于所述多个过程数据各自在所述应用程序执行单元所执行的应用程序中被利用的频度、以及针对所述多个过程数据分别设定的重要度中的至少一方。
<结构5>
在结构1~4中的任意一项所记载的控制系统中,
所述决定单元每次决定应包含在所述数据集中的过程数据。
<结构6>
在结构1~4中的任意一项所记载的控制系统中,
所述决定单元从预先确定的多个数据集中,选择与被决定为应包含在数据集中的过程数据对应的数据集。
<结构7>
在结构1~6中的任意一项所记载的控制系统中,
所述控制系统具有控制装置(100)和显示装置(200),
所述调停单元与所述控制装置以及所述显示装置独立地配置。
<结构8>
在结构1~7中的任意一项所记载的控制系统中,
所述控制系统具有多个所述应用程序执行单元,多个所述应用程序执行单元包含第1应用程序执行单元和第2应用程序执行单元,
所述通知单元将所述决定单元基于从所述第1应用程序执行单元取得的信息而新决定的过程数据的内容也通知给所述第2应用程序执行单元(S140、S144)。
<结构9>
一种中继装置(60),其配置于控制系统(1),其中,
所述控制系统具有:
控制单元(102a),其执行用于对控制对象进行控制的控制程序(120a),并且对在该控制程序中参照或更新的多个过程数据进行管理;
发送单元(80a),其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集(50);以及
应用程序执行单元(200a),其参照由所述发送单元发送的数据集来执行应用程序,
所述中继装置构成为对在发送单元与所述应用程序执行单元之间交换的数据集进行调停,
所述中继装置包含:
第1取得单元(320a),其取得与所述控制单元管理的所述多个过程数据相关的信息;
第2取得单元(330a),其取得由所述应用程序执行单元执行的应用程序的信息;
决定单元(340a),其基于所述第1取得单元取得的与所述多个过程数据相关的信息和所述第2取得单元取得的所述执行的应用程序的信息,决定应包含在所述数据集中的过程数据;以及
通知单元(350a),其将所述决定单元决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元。
<结构10>
一种中继程序(1310),其由配置于控制系统的信息处理装置执行,其中,
所述控制系统具有:
控制单元(102a),其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;
发送单元(80a),其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集(50);以及
应用程序执行单元(200a),其参照由所述发送单元发送的数据集来执行应用程序,
所述中继程序使所述信息处理装置作为对在所述发送单元与所述应用程序执行单元之间交换的数据集进行调停的中继装置发挥功能,
所述中继程序使所述信息处理装置执行以下步骤:
取得与所述控制单元管理的所述多个过程数据相关的信息;
取得由所述应用程序执行单元执行的应用程序的信息(S110);
基于所述取得的与多个过程数据相关的信息和所述取得的执行的应用程序的信息,决定应包含在所述数据集中的过程数据(S111~S113);以及
将所述决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元(S114、S118)。
应该认为本次公开的实施方式在所有方面都是例示而不是限制性的。本发明的范围由权利要求书、而不由上述的说明来表示,意在包含与权利要求书等同的意思以及范围内的所有变更。另外,在实施方式以及各变形例中说明的发明只要可能,可以单独也可以组合实施。
标号说明
1、1a、1b:控制系统;2:信息系统网络;4:控制系统网络、50:数据集;52:过程数据;54:对象;60、60a:中继装置;61、110、210:处理器;64、150、250:易失性存储器;65、170、270:非易失性存储器;68、296:处理器总线;80、80a、90:通信处理部;82:数据集生成单元;84、96:通信驱动器;92:订购管理单元;94:订购管理信息;98、98a:链接信息;100、100b、100c:控制器;102、102a:控制单元;120、120a:控制程序;172:系统程序;180、260:OPC UA程序;191:控制系统网络IF;192:信息系统网络IF;193、294:USB控制器;194:存储卡IF;194A:存储卡;195:内部总线控制器;196:芯片组;200:HMI;200a:应用程序执行单元;220:应用程序;222:映射信息;240:触摸面板;242:显示部;244:输入部;300、300a、300b:调停单元;320、320b:订购列表管理单元;320a:应用程序信息取得单元;330、330a:过程数据取得单元;340、340a、340b:决定单元、342:价值决定单元;344:候选计算单元;346:评价单元;348:判定单元;350、350a、350b:通知单元;352:通信负荷指标;354:通信性能指标;356:通信效率指标;357:变更负荷指标;358:优先级信息;360、360a:评价标准;362:监测单元;364:更新单元;370:价值信息;372:容量信息;374:候选数据;376:HMI信息;400:发送设定;500:现场设备;612、612b:订购列表;612a:应用程序信息;622、622a:过程数据列表;623:蓄积信息;680:收发管理单元;682:主题列表;700、900:用户界面;720:网络结构区域;740:受理区域;742、962:选项卡;920:指标区域;960:优先级受理区域;1310:中继程序;1312:调停程序;1314:通信程序;1320:评价信息;1340:性能信息。
Claims (10)
1.一种控制系统,其中,该控制系统具有:
控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;
发送单元,其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集;
应用程序执行单元,其参照由所述发送单元发送的数据集来执行应用程序;以及
调停单元,其对在所述发送单元与所述应用程序执行单元之间交换的数据集进行调停,
所述调停单元包含:
第1取得单元,其取得与所述控制单元管理的所述多个过程数据相关的信息;
第2取得单元,其取得由所述应用程序执行单元执行的应用程序的信息;
决定单元,其基于所述第1取得单元取得的与所述多个过程数据相关的信息和所述第2取得单元取得的所述执行的应用程序的信息,决定应包含在所述数据集中的过程数据;以及
通知单元,其将所述决定单元决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元。
2.根据权利要求1所述的控制系统,其中,
所述第2取得单元在由所述应用程序执行单元执行的应用程序每次被变更时,取得用于确定变更后的应用程序所利用的过程数据的信息。
3.根据权利要求1或2所述的控制系统,其中,
所述决定单元基于由所述第2取得单元取得的应用程序的信息,按照与通信负荷相关的预先确定的评价基准,决定应包含在所述数据集中的过程数据。
4.根据权利要求3所述的控制系统,其中,
所述评价基准基于所述多个过程数据各自在所述应用程序执行单元所执行的应用程序中被利用的频度、以及针对所述多个过程数据分别设定的重要度中的至少一方。
5.根据权利要求1~4中的任意一项所述的控制系统,其中,
所述决定单元每次决定应包含在所述数据集中的过程数据。
6.根据权利要求1~4中的任意一项所述的控制系统,其中,
所述决定单元从预先确定的多个数据集中,选择与被决定为应包含在数据集中的过程数据对应的数据集。
7.根据权利要求1~6中的任意一项所述的控制系统,其中,
所述控制系统具有控制装置和显示装置,
所述调停单元与所述控制装置以及所述显示装置独立地配置。
8.根据权利要求1~7中的任意一项所述的控制系统,其中,
所述控制系统具有多个所述应用程序执行单元,多个所述应用程序执行单元包含第1应用程序执行单元和第2应用程序执行单元,
所述通知单元将所述决定单元基于从所述第1应用程序执行单元取得的信息而新决定的过程数据的内容也通知给所述第2应用程序执行单元。
9.一种中继装置,其配置于控制系统,其中,
所述控制系统具有:
控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;
发送单元,其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集;以及
应用程序执行单元,其参照由所述发送单元发送的数据集来执行应用程序,
所述中继装置构成为对在发送单元与所述应用程序执行单元之间交换的数据集进行调停,
所述中继装置包含:
第1取得单元,其取得与所述控制单元管理的所述多个过程数据相关的信息;
第2取得单元,其取得由所述应用程序执行单元执行的应用程序的信息;
决定单元,其基于所述第1取得单元取得的与所述多个过程数据相关的信息和所述第2取得单元取得的所述执行的应用程序的信息,决定应包含在所述数据集中的过程数据;以及
通知单元,其将所述决定单元决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元。
10.一种中继程序,其由配置于控制系统的信息处理装置执行,其中,
所述控制系统具有:
控制单元,其执行用于对控制对象进行控制的控制程序,并且对在该控制程序中参照或更新的多个过程数据进行管理;
发送单元,其生成并发送包含所述控制单元管理的所述多个过程数据中的至少一部分过程数据的值的数据集;以及
应用程序执行单元,其参照由所述发送单元发送的数据集来执行应用程序,
所述中继程序使所述信息处理装置作为对在所述发送单元与所述应用程序执行单元之间交换的数据集进行调停的中继装置发挥功能,
所述中继程序使所述信息处理装置执行以下步骤:
取得与所述控制单元管理的所述多个过程数据相关的信息;
取得由所述应用程序执行单元执行的应用程序的信息;
基于所述取得的与多个过程数据相关的信息和所述取得的执行的应用程序的信息,决定应包含在所述数据集中的过程数据;以及
将所述决定的应包含在所述数据集中的过程数据的内容分别通知给所述发送单元和所述应用程序执行单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019049107A JP7036069B2 (ja) | 2019-03-15 | 2019-03-15 | 制御システム、中継装置、および中継プログラム |
JP2019-049107 | 2019-03-15 | ||
PCT/JP2020/007799 WO2020189206A1 (ja) | 2019-03-15 | 2020-02-26 | 制御システム、中継装置、および中継プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113544600A true CN113544600A (zh) | 2021-10-22 |
CN113544600B CN113544600B (zh) | 2024-04-05 |
Family
ID=72430652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080017180.8A Active CN113544600B (zh) | 2019-03-15 | 2020-02-26 | 控制系统、中继装置以及记录介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US12228904B2 (zh) |
EP (1) | EP3940479A4 (zh) |
JP (1) | JP7036069B2 (zh) |
CN (1) | CN113544600B (zh) |
WO (1) | WO2020189206A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7148000B2 (ja) * | 2020-06-01 | 2022-10-05 | 東芝三菱電機産業システム株式会社 | Scadaウェブhmiシステムおよびhmiクライアント |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100045477A1 (en) * | 2008-08-25 | 2010-02-25 | Anywire Corporation | Control/monitor signal transmission system |
JP2010079369A (ja) * | 2008-09-24 | 2010-04-08 | Renesas Technology Corp | データ処理システム、データプロセッサ及びバス調停方法 |
JP2012027728A (ja) * | 2010-07-23 | 2012-02-09 | Mitsubishi Electric Corp | プログラマブルコントローラおよびバス変換器 |
CN103430111A (zh) * | 2011-03-15 | 2013-12-04 | 欧姆龙株式会社 | 控制装置、控制系统、工具装置以及收集指示程序 |
CN103858117A (zh) * | 2012-08-13 | 2014-06-11 | 松下电器产业株式会社 | 访问控制装置、中继装置、访问控制方法、计算机程序 |
CN104079734A (zh) * | 2013-03-29 | 2014-10-01 | 兄弟工业株式会社 | 中继设备和控制中继设备的方法 |
JP2016110458A (ja) * | 2014-12-08 | 2016-06-20 | 株式会社キーエンス | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
CN106020094A (zh) * | 2015-03-31 | 2016-10-12 | 欧姆龙株式会社 | 信息处理装置、信息处理程序及信息处理方法 |
CN106796421A (zh) * | 2014-12-03 | 2017-05-31 | 富士电机株式会社 | Plc功能内置型驱动控制装置 |
CN108572612A (zh) * | 2017-03-10 | 2018-09-25 | 欧姆龙株式会社 | 控制装置以及非易失性存储媒体 |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2525068B2 (ja) * | 1990-04-27 | 1996-08-14 | 日産自動車株式会社 | シ―ケンス制御のモニタ方法 |
JPH08147007A (ja) * | 1994-11-21 | 1996-06-07 | Yaskawa Electric Corp | コントローラとプログラマブル表示装置との間のデータ伝送方法 |
JP4347445B2 (ja) * | 1999-02-23 | 2009-10-21 | 株式会社キーエンス | 表示中継装置 |
JP2002358105A (ja) * | 2001-05-31 | 2002-12-13 | Digital Electronics Corp | 制御用コンピュータ、そのプログラム、および、それが記録された記録媒体 |
AU2003216451A1 (en) * | 2002-03-01 | 2003-09-16 | Fisher-Rosemount Systems, Inc. | Integrated alert generation in a process plant |
JP6481267B2 (ja) | 2014-06-27 | 2019-03-13 | オムロン株式会社 | プログラマブル表示器 |
JP2016126495A (ja) * | 2014-12-26 | 2016-07-11 | 株式会社キーエンス | 組込機器設定システム |
JP6590726B2 (ja) | 2016-02-17 | 2019-10-16 | 株式会社キーエンス | プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の設計装置、プログラマブル表示器の設計方法、プログラマブル表示器の操作方法、プログラマブル表示器の設計プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器 |
US10545470B2 (en) * | 2017-11-10 | 2020-01-28 | Rockwell Automation Technologies, Inc. | Configurable mode model |
-
2019
- 2019-03-15 JP JP2019049107A patent/JP7036069B2/ja active Active
-
2020
- 2020-02-26 WO PCT/JP2020/007799 patent/WO2020189206A1/ja active Application Filing
- 2020-02-26 CN CN202080017180.8A patent/CN113544600B/zh active Active
- 2020-02-26 EP EP20774588.6A patent/EP3940479A4/en active Pending
- 2020-02-26 US US17/434,634 patent/US12228904B2/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100045477A1 (en) * | 2008-08-25 | 2010-02-25 | Anywire Corporation | Control/monitor signal transmission system |
JP2010079369A (ja) * | 2008-09-24 | 2010-04-08 | Renesas Technology Corp | データ処理システム、データプロセッサ及びバス調停方法 |
JP2012027728A (ja) * | 2010-07-23 | 2012-02-09 | Mitsubishi Electric Corp | プログラマブルコントローラおよびバス変換器 |
CN103430111A (zh) * | 2011-03-15 | 2013-12-04 | 欧姆龙株式会社 | 控制装置、控制系统、工具装置以及收集指示程序 |
CN103858117A (zh) * | 2012-08-13 | 2014-06-11 | 松下电器产业株式会社 | 访问控制装置、中继装置、访问控制方法、计算机程序 |
CN104079734A (zh) * | 2013-03-29 | 2014-10-01 | 兄弟工业株式会社 | 中继设备和控制中继设备的方法 |
CN106796421A (zh) * | 2014-12-03 | 2017-05-31 | 富士电机株式会社 | Plc功能内置型驱动控制装置 |
JP2016110458A (ja) * | 2014-12-08 | 2016-06-20 | 株式会社キーエンス | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム |
CN106020094A (zh) * | 2015-03-31 | 2016-10-12 | 欧姆龙株式会社 | 信息处理装置、信息处理程序及信息处理方法 |
CN108572612A (zh) * | 2017-03-10 | 2018-09-25 | 欧姆龙株式会社 | 控制装置以及非易失性存储媒体 |
CN109388107A (zh) * | 2017-08-10 | 2019-02-26 | 欧姆龙株式会社 | 控制装置 |
Also Published As
Publication number | Publication date |
---|---|
US12228904B2 (en) | 2025-02-18 |
US20220171361A1 (en) | 2022-06-02 |
EP3940479A4 (en) | 2022-12-28 |
WO2020189206A1 (ja) | 2020-09-24 |
JP7036069B2 (ja) | 2022-03-15 |
CN113544600B (zh) | 2024-04-05 |
JP2020149632A (ja) | 2020-09-17 |
EP3940479A1 (en) | 2022-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5684911B2 (ja) | クラウドロボットシステムおよびその実現方法 | |
CN109936473B (zh) | 基于深度学习预测的分布计算系统及其运行方法 | |
WO2017027179A1 (en) | Automation and control distributed data management systems | |
WO2015147913A1 (en) | System and methods for collaborative query processing for large scale data processing with software defined networking | |
JP6261079B2 (ja) | ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラム | |
JP2010541077A (ja) | 同期データおよびメタデータの交換 | |
US11886170B2 (en) | Control system, setting device and setting program | |
US7962650B2 (en) | Dynamic component placement in an event-driven component-oriented network data processing system | |
CN113544600A (zh) | 控制系统、中继装置以及中继程序 | |
JP2017182221A (ja) | 自動負荷分散情報処理システム | |
US10817512B2 (en) | Standing queries in memory | |
Liu et al. | Rethinking machine learning collective communication as a multi-commodity flow problem | |
CN113544602B (zh) | 控制系统、中继装置以及记录介质 | |
US20130042034A1 (en) | Synchronisation of data processing systems | |
JP5530878B2 (ja) | 分散システムにおけるデータレプリケーション管理方法 | |
WO2018235124A1 (ja) | 分散配置装置、分散配置システム、および、分散配置方法 | |
US20110230979A1 (en) | Scalable and flexible control system having symmetrical control units | |
CN113508345B (zh) | 控制系统、支持装置以及记录介质 | |
US12276956B2 (en) | Control system, support device and support program that communicates grouped process data | |
CN107615247A (zh) | 分布式系统 | |
JP2022020837A (ja) | コントローラ、制御方法およびプログラム | |
JP2013149069A (ja) | 負荷分散方法、分散処理システム、分散処理装置、および、コンピュータ・プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |