JP7063292B2 - 制御システム、設定装置、および設定プログラム - Google Patents

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

Info

Publication number
JP7063292B2
JP7063292B2 JP2019049105A JP2019049105A JP7063292B2 JP 7063292 B2 JP7063292 B2 JP 7063292B2 JP 2019049105 A JP2019049105 A JP 2019049105A JP 2019049105 A JP2019049105 A JP 2019049105A JP 7063292 B2 JP7063292 B2 JP 7063292B2
Authority
JP
Japan
Prior art keywords
process data
data
communication
controller
program
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.)
Active
Application number
JP2019049105A
Other languages
English (en)
Other versions
JP2020149630A (ja
Inventor
雄大 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
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 Omron Corp filed Critical Omron Corp
Priority to JP2019049105A priority Critical patent/JP7063292B2/ja
Priority to CN202080017199.2A priority patent/CN113544601B/zh
Priority to US17/434,183 priority patent/US11886170B2/en
Priority to EP20773713.1A priority patent/EP3940477B1/en
Priority to PCT/JP2020/004845 priority patent/WO2020189086A1/ja
Publication of JP2020149630A publication Critical patent/JP2020149630A/ja
Application granted granted Critical
Publication of JP7063292B2 publication Critical patent/JP7063292B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • 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
    • G05B19/056Programming the PLC
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/41855Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by local area network [LAN], network structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Programmable Controllers (AREA)

Description

本発明は、制御装置と、制御装置が送信した通信データを利用する1または複数のアプリケーションを実行する情報処理装置との間の通信環境の設定を支援する機能に関する。
様々な製造現場において、PLC(Programmable Logic Controller)などの制御装置が導入されている。このような制御装置は、一種のコンピュータであり、製造装置または製造設備などに応じて設計された制御プログラムが実行される。このような制御装置は、HMI(Human Machine Interface)などの情報処理装置と通信可能に接続される。
情報処理装置は、たとえば、制御装置からの情報を利用して、制御装置の制御対象の稼働状況などをグラフィカルに表示したり、あるいは、制御装置からの情報を利用して、表示するアプリケーションとは異なるアプリケーションを実行したりする。
たとえば、特開2017-146803号公報(特許文献1)は、PLCと接続される情報処理装置の一例としてプログラム表示器を開示する。このプログラム表示器は、表示画面に表示される一画面を一ページとした場合に、ページ単位で当該ページに表示される機能部品のレイアウト、および、機能の割り当て等がされている。
特開2017-146803号公報
特許文献1には、各ページに割り当てられた機能を実現するために必要な情報を具体的にどのように取得するかについて言及されていない。この機能を実現するためのアプリケーションには、PLCである制御装置の情報(以下、「プロセスデータ」とする。)が利用される。ユーザは、アプリケーションに利用されるプロセスデータが送信されるような送信設定を制御装置に対して行う必要がある。
本願発明は、アプリケーションの実行に必要なプロセスデータが制御装置から情報処理装置に向けて送信されるような送信設定を容易に行うことを一つの目的とする。
本開示の一例によれば、制御装置と、1または複数の情報処理装置と、演算手段とを含む制御システムが提供される。制御装置は、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する。制御装置は、予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有する。通信処理部が送信する各データセットは、複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含む。1または複数の情報処理装置の各々は、制御装置から送信される1または複数のデータセットに含まれるプロセスデータの値を利用して、1または複数のアプリケーションを実行する。演算手段は、制御装置の通信処理部によるデータセットの送信設定を決定する。演算手段は、取得手段と、決定手段とを含む。取得手段は、1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する。決定手段は、取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する。
この開示によれば、アプリケーションの実行に必要なプロセスデータが制御装置から情報処理装置に向けて送信されるような送信設定を容易に行うことができる。さらに、通信負荷に関する評価基準に従って、データセットの数、および、各データセットに含ませるべきプロセスデータが決定されるため、アプリケーションに応じて、通信負荷を考慮した適当な送信設定が設計される。
上述の開示において、評価基準は、通信処理部が1または複数のデータセットを生成するとともに、当該1または複数のデータセットの各々を周期的に送信することにより制御装置にかかる負荷を評価する通信負荷指標を含んでもよい。
この開示によれば、評価基準に制御装置にかかる負荷を評価する通信負荷指標が含まれるため、制御装置にかかる負荷が小さくなるような送信設定を設計できる。
上述の開示において、評価基準は、情報処理装置が所定期間の間に受信可能な前記プロセスデータの種類を評価する通信性能指標を含んでもよい。
この開示によれば、プロセスデータの値が更新されるタイミングと、アプリケーションで利用されるタイミングとの間で生じるタイムラグを小さくすることのできる送信設定を設計することができる。
上述の開示において、評価基準は、制御装置と1または複数の情報処理装置との間の通信効率を評価する通信効率指標を含んでもよい。
この開示によれば、通信効率の良い送信設定を設計することができる。
上述の開示において、決定手段は、取得手段が取得したプロセスデータの各々について、当該プロセスデータの価値を決定する価値決定手段を有してもよい。評価基準は、各データセットに含めるプロセスデータの価値を評価する指標を含んでもよい。
この開示によれば、価値の高いプロセスデータを優先して送信することができるような送信設定を設計できる。
上述の開示において、価値決定手段は、プロセスデータを利用する情報処理装置の重要度に応じて、プロセスデータの価値を決定してもよい。制御システムは、情報処理装置の重要度を受け付ける手段をさらに含んでもよい。
この開示によれば、たとえば、任意の情報処理装置が実行するアプリケーションで利用されるプロセスデータが優先して送信されるような送信設定を設計できる。
上述の開示において、制御システムは、1または複数の情報処理装置において実行されているアプリケーションに応じて、通信処理部が送信可能な1または複数のデータセットのうち送信を有効化するデータセットを決定する管理手段をさらに含んでもよい。評価基準は、1または複数のデータセットの各々の有効化の決定を管理することによる管理手段にかかる負荷を評価する管理負荷指標を含んでもよい。
この開示によれば、実行されているアプリケーションに応じて、送信されるデータセットを制限できるため、実行されていないアプリケーションに利用されるプロセスデータを含むデータセットが送信されることを防止することができる。また、このような制御システムにおいては、管理手段に処理負担がかかるものの、当該処理負担を評価基準に含めることで、利用されないデータセットの送信を防止しつつ、そのような送信を防止するためにかかる処理負担を小さくすることができる。その結果、制御システム全体にかかる処理負荷を低減させることのできる送信設定を設計できる。
上述の開示において、評価基準は、複数の評価指標を含んでもよい。制御システムは、複数の評価指標各々の重要度を受け付ける手段をさらに含んでもよい。
この開示によれば、評価指標各々の重要度を変えることで、任意の送信設定を設計することができる。
上述の開示において、制御システムは、通信負荷を監視する監視装置をさらに含んでもよい。監視装置が、演算手段を有してもよい。さらに、監視装置は、通信負荷を監視した結果に従って、評価基準を更新する更新手段を有してもよい。決定手段は、更新手段によって更新された評価基準に従って、通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定してもよい。
この開示によれば、制御装置と情報処理装置との間の実際のデータの遣り取りを送信設定に反映することができる。
本開示の別の一例によれば、制御装置と、1または複数の情報処理装置との間の通信環境の設定を支援する設定装置が提供される。制御装置は、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する。制御装置は、予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有する。通信処理部が送信する各データセットは、複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含む。設定装置は、取得手段と決定手段とを含む。1または複数の情報処理装置の各々は、制御装置から送信される1または複数のデータセットに含まれるプロセスデータの値を利用して、1または複数のアプリケーションを実行する。取得手段は、1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する。決定手段は、取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する。
この開示によれば、アプリケーションの実行に必要なプロセスデータが制御装置から情報処理装置に向けて送信されるような送信設定を容易に行うことができる。さらに、通信負荷に関する評価基準に従って、データセットの数、および、各データセットに含ませるべきプロセスデータが決定されるため、アプリケーションに応じて、通信負荷を考慮した適当な送信設定が設計される。
本開示の別の一例によれば、制御装置と、1または複数の情報処理装置との間の通信環境の設定を支援する設定プログラムが提供される。制御装置は、制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する。制御装置は、予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有する。通信処理部が送信する各データセットは、複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含む。設定装置は、取得手段と決定手段とを含む。1または複数の情報処理装置の各々は、制御装置から送信される1または複数のデータセットに含まれるプロセスデータの値を利用して、1または複数のアプリケーションを実行する。設定プログラムは、コンピュータに、1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得するステップと、取得するステップにおいて取得されたアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定するステップとを実行させる。
この開示によれば、アプリケーションの実行に必要なプロセスデータが制御装置から情報処理装置に向けて送信されるような送信設定を容易に行うことができる。さらに、通信負荷に関する評価基準に従って、データセットの数、および、各データセットに含ませるべきプロセスデータが決定されるため、アプリケーションに応じて、通信負荷を考慮した適当な送信設定が設計される。
本開示の一例によれば、アプリケーションの実行に必要なプロセスデータが制御装置から情報処理装置に向けて送信されるような送信設定を容易に行うことができる。
制御システム1の適用場面を示す模式図である。 演算手段300の機能構成の概要を示す図である。 PubSub通信の概要を説明するための図である。 サブスクライバーとして機能するHMI200-1の概要を説明するための図である。 パブリッシャーとして機能するコントローラ100の概要を説明するための図である。 決定手段340が実行する演算の一例を示す図である。 HMI情報350を受け付けるユーザインターフェイス700の一例を示す図である。 優先度情報358を受け付けるユーザインターフェイス900の一例を示す図である。 演算手段300が演算結果の出力例を説明するための図である。 演算手段300の実装例を説明するための図である。 設定装置20のハードウェア構成の一例を示す図である。 監視装置40を含む制御システム1aの概要を示す図である。 監視装置40のハードウェア構成である。 中継装置60の機能構成の一例を示す図である。 中継装置60のハードウェア構成の一例を示す模式図である。 HMI200のハードウェア構成の一例を示す模式図である。 コントローラ100のハードウェア構成の一例を示す模式図である。 変形例における制御システム1cの概略を示す図である。
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わせてもよい。
<A.適用例>
図1は、制御システム1の適用場面を示す模式図である。制御システム1は、コントローラ100とHMI200との間の通信環境の設定を支援する機能を提供するための、演算手段300を備える。
制御システム1は、コントローラ100と、HMI(Human Machine Interface)200とを含む。コントローラ100は、情報系ネットワーク2を介してHMI200と通信可能に接続される。情報系ネットワーク2は、たとえば、ベンダやOS(Operating System)の種類などに依存することなくデータ交換を実現することができる通信規格に従ったネットワークである。このような通信規格としては、たとえば、OPC UA(Object Linking and Embedding for Process Control Unified Architecture)などが知られている。
なお、情報系ネットワーク2に採用される通信規格は、OPC UAに限定されるわけではない。たとえば、情報系ネットワーク2は、特定のベンダまたはOS特有の通信規格に従ったネットワークであってもよく、また、Ethernet(登録商標)上に制御用プロトコルを実装した産業用オープンネットワークであるEtherNet/IP(登録商標)に従ったネットワークであってもよい。
図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に対して2つのHMI200(HMI200-1,200-2)が通信可能に接続された構成である。以下では、複数のHMI200を互いに区別する場合に、HMI200-1,200-2と称する。
コントローラ100は、本願発明の制御装置の一例であって、制御対象を制御するための制御プログラム120を実行し、制御システム1において中心的な処理を実行する。図1に示す例において、コントローラ100は、制御系ネットワーク4を介して、制御対象であるフィールドデバイス500と通信可能に接続される。制御系ネットワーク4には、データの到達時間が保証される、定周期通信を行うネットワークを採用することが好ましい。このような定周期通信を行うネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。
フィールドデバイス500は、生産工程を自動化するための種々の産業用機器を含み、製造装置や生産ラインなど(以下、「フィールド」とも総称する。)に対して何らかの物理的な作用を与える装置と、フィールドとの間で情報を遣り取りする入出力装置とを含む。たとえば、フィールドデバイス500は、サーボモータを制御するサーボドライバ、ロボットを制御するロボットコントローラ、データを収集する装置であるセンサ、コンベヤを動かすアクチュエータ、または、リモートI/O(Input/Output)装置などを含む。
コントローラ100は、制御プログラム120を実行することでフィールドデバイス500を制御する。また、コントローラ100は、制御プログラム120の実行に伴って参照または更新される複数のプロセスデータ52を管理する。
本明細書において、「プロセスデータ」は、制御手段(典型的にはコントローラ100として具現化される)またはアプリケーション実行手段(典型的にはHMI200として具現化される)が参照可能な任意のデータを包含する用語である。より具体的には、「プロセスデータ」は、フィールドデバイスから取得する入力データ、制御演算によって算出されてフィールドデバイスへ与えられる出力データ(指令値)、制御演算を実行するための一時的に算出されるデータ、ユーザによる操作内容を示すデータなどを含み得る。
プロセスデータ52は、フィールドデバイス500からコントローラ100に入力されるデータと、コントローラ100からフィールドデバイス500に出力されるデータと、制御プログラム120の実行またはコントローラ100の状態管理に用いられるデータとを含む。プロセスデータ52は、制御プログラム120の実行に伴って、周期的に更新される。
コントローラ100は、1または複数のデータセット50を周期的に送信するための通信処理部80を備える。各データセット50は、コントローラ100が管理する複数のプロセスデータ52のうち、予め定められた1または複数のプロセスデータ52の値を含む。通信処理部80は、演算手段300により決定される送信設定400に従い、データセット50を生成して送信する。
HMI200は、本願発明の情報処理装置の一例であって、コントローラ100が送信したデータセット50に含まれるプロセスデータ52の値を利用してアプリケーション220を実行する。なお、以下では、プロセスデータ52の値を単に「プロセスデータ52」と称することもある。HMI200は、アプリケーション220を実行することで、制御プログラム120の実行によって得られる各種情報をオペレータへ提示する。
HMI200は、コントローラ100が送信したデータセット50をコントローラ100から直接受信してもよく、中継装置など、別のデバイスを介して受信してもよい。
なお、コントローラ100が管理するプロセスデータ52を利用してアプリケーション220を実行する情報処理装置は、HMI200に限られない。たとえば、情報処理装置は、制御対象であるフィールドデバイス500から計測されたトレーサビリティに関する情報などを収集するデータベースや、プロセス制御と集中監視とを行うSCADA(Supervisory Control And Data Acquisition)装置などであってもよい。
また、情報処理装置は、コントローラ100と情報系ネットワーク2を介して接続された装置に限られるものではなく、制御系ネットワーク4を介して接続されたロボットを制御するロボットコントローラ、アクチュエータ、他のコントローラなどであってもよい。すなわち、アプリケーション220は、情報の提示を目的としたものに限定されるものではなく、コントローラ100が管理するプロセスデータ52を利用する機能の実現を目的としたものであればよい。なお、以下では、アプリケーションは、情報の提示を目的としたものであって、表示部に画像を表示する機能を提供するプログラムとして説明する。
アプリケーション220の実行段階において、HMI200は、コントローラ100から配信されるデータセット50に含まれるプロセスデータ52の値を利用することで、アプリケーション220を実行する。アプリケーション220は、インストール可能な形式でメモリカードやデータベースに格納された状態で流通されるものであってもよく、また、ユーザによって作成されるものであってもよい。
図1に示す例では、HMI200-1は、プロセスデータ52A,52Bを利用するアプリケーション220-1aおよびプロセスデータ52B,52Cを利用するアプリケーション220-1bを実行する。HMI200-2は、プロセスデータ52C,52Dを利用するアプリケーション220-2aおよびプロセスデータ52A,52Dを利用するアプリケーション220-2bを実行する。
演算手段300は、コントローラ100の通信処理部80によるデータセットの送信設定400を決定する。演算手段300は、典型的には、アプリケーション220の開発環境を提供するサポート装置のプロセッサがサポートプログラムを実行することで実現される機能である。なお、演算手段300は、専用の設定機器によって実現されてもよい。また、HMI200とコントローラ100との間に中継装置を設け、演算手段300の機能を中継装置によって実現させてもよい。
図2は、演算手段300の機能構成の概要を示す図である。図2を参照して、演算手段300は、取得手段320と、決定手段340とを備える。取得手段320は、HMI200-1およびHMI200-2の各々について、HMI200で実行される1または複数のアプリケーション220ごとに必要なプロセスデータ52を取得する。
取得手段320は、アプリケーション220-1a,200-1b,200-2a,200-2bの各々について、アプリケーション220ごとに必要なプロセスデータ52を取得する。
具体的には、取得手段320は、コントローラ100が管理する複数のプロセスデータ52のうち、いずれのプロセスデータ52を情報系ネットワーク2上に出力すべきかを特定する。図1に示す例では、取得手段320は、アプリケーション220-1a,200-1b,200-2a,200-2bで利用されるプロセスデータ52が、プロセスデータ52A,52B,52C,52Dであることを特定する。
決定手段340は、各HMI200のアプリケーション220で利用されるプロセスデータ52の各々が、コントローラ100からHMI200の各々に向けて送信されるように、通信処理部80が送信するデータセット50の数、および、各データセット50に含ませるべきプロセスデータ52を決定する。決定手段340が決定した「通信処理部80が送信するデータセット50の数、および、各データセット50に含ませるべきプロセスデータ52」の候補は複数であってもよく、最終的な決定はユーザによってされてもよい。
すなわち、決定手段340は、各HMI200の各アプリケーション220で利用されるプロセスデータ52を、どのような組み合わせで送信するかを決定する。具体的には、決定手段340は、アプリケーション220-1a,200-1b,200-2a,200-2bで利用されるプロセスデータ52A,52B,52C,52Dをどのような組み合わせで送信するかを決定する。
たとえば、図2に示す例では、決定手段340は、通信処理部80が送信するデータセット50の数を2つに決定し、2つのデータセット50に含ませるべきプロセスデータ52をプロセスデータ52Aおよびプロセスデータ52D、ならびにプロセスデータ52Bおよびプロセスデータ52Cに決定する。すなわち、決定手段340は、送信設定400として、プロセスデータ52をプロセスデータ52Aの値およびプロセスデータ52Dの値を格納したデータセット50-1と、プロセスデータ52Bの値およびプロセスデータ52Cの値を格納したデータセット50-2とを生成して送信することを規定する送信設定400を生成する。
決定手段340は、送信するプロセスデータ52の組み合わせを、通信負荷に関する評価基準360に基づいて決定する。より具体的には、決定手段340は、「送信するプロセスデータ52の組み合わせを評価基準360に従って評価した結果を良くする」という最適化問題を解くことで、送信するプロセスデータ52の組み合わせを決定する。
最適化問題を解くためのアルゴリズムは、限定されるものではない。たとえば、動的計画法などのアルゴリズムを利用することができる。
評価基準360は、たとえば、コントローラ100の通信処理部80にかかる負荷、各HMI200にプロセスデータ52の値が送信される周期若しくは一度に送信されるデータ量に従って規定される通信性能、または情報系ネットワーク2にかかる負荷、システム全体における各プロセスデータ52の重要性などの観点を含む。また、評価基準360は、ユーザにより指定できるように構成されていてもよい。
「システム全体における各プロセスデータ52の重要性」とは、たとえば、当該プロセスデータ52がアプリケーション220で利用される頻度(使用頻度)、当該プロセスデータ52を用いたアプリケーション220を実行するHMI200のシステム全体における重要度、プロセスデータ52自体の価値を意味する。「システム全体における各プロセスデータ52の重要性」を評価基準360に反映することで、たとえば、重要なプロセスデータ52を優先的に送信するように送信設定400を設計できる。
このように、制御システム1は、通信負荷に関する評価基準360に基づいて送信するプロセスデータ52の組み合わせ(データセット)が決定されるため、アプリケーション220に応じて、通信負荷を考慮した適当な送信設定400を設計できる。
本実施の形態においては、説明を簡略にするため、制御システム1全体で利用されるプロセスデータの種類は、4種類であるとした。しかし、実際の生産現場においては、より多くの種類のプロセスデータがアプリケーションに利用されており、制御システム1全体の通信負荷を考慮した送信設定400をユーザが手動で行うことは困難である。本実施の形態に示すように、通信負荷に関する評価基準360に基づいて演算手段300が送信設定400を決定するため、容易に制御システム1全体の通信負荷を考慮した送信設定400でコントローラ100とHMI200との間の通信を行うことできる。
<B.PubSub通信>
図3は、PubSub通信の概要を説明するための図である。以下の説明では、データを配信する側を「パブリッシャー」と称し、パブリッシャーが配信したデータを購読する側を「サブスクライバー」と称する。本実施の形態に係る制御システム1において、コントローラ100は、データを配信するパブリッシャーに相当する。一方、HMI200は、コントローラ100が配信したデータを購読するサブスクライバーに相当する。
パブリッシャーは、1または複数のデータを格納したデータセットを生成して配信する。パブリッシャーは、送信先を特定することなく、パブリッシャーおよびサブスクライバーを含むネットワークにデータセットを送信する。この送信形態は、マルチキャストであってもよいし、ユニキャストであってもよい。状況によって、ブロードキャストであってもよい。
サブスクライバーは、サブスクライバーがアクセスすることのできるネットワーク上に配信されるデータセットのうち、いずれのデータセットを購読対象とするかを管理する。たとえば、図2に示す例では、サブスクライバーは、データセット1~データセット3のうち、データセット1およびデータセット3を購読対象としている。そのため、サブスクライバーは、パブリッシャーが配信するデータセット1~3のうち、データセット1およびデータセット3のみを受信する。サブスクライバーは、購読対象を変更すると、受信対象を変更する。
サブスクライバーは購読対象ではないデータセットを受信してもよく、この場合、サブスクライバーは、購読対象ではないデータセットを破棄する処理をしてもよい。
サブスクライバーが購読対象を管理する方法は、図3に示す方法に限られない。たとえば、データごとに購読するか否かを管理してもよい。その他の方法としては、データセットとは異なるデータの集合ごとに購読するか否かを管理してもよい。
図4および図5を参照して、HMI200とコントローラ100との間のPubSub通信の概要について説明する。図4は、サブスクライバーとして機能するHMI200-1の概要を説明するための図である。図5は、パブリッシャーとして機能するコントローラ100の概要を説明するための図である。図4においては、HMI200-1を例に説明するものとするが、HMI200-2においても、HMI200-1と同様の構成を備えているものとする。
図4を参照して、HMI200-1は、表示部242と、複数のアプリケーション220(220-1,220-1b…)と、OPC UAクライアントである通信処理部90とを備える。各アプリケーション220は、表示部242に特定のページを表示するためのプログラムである。図4には、表示部242にページ1を表示するためのアプリケーション1が実行されている例が示されている。
各ページは、複数のオブジェクト54を含む。たとえば、ページ1は、オブジェクト54a~オブジェクト54dを含む。オブジェクト54の表示は、プログラムに含まれる変数の値に応じて更新される。たとえば、オブジェクト54aの表示は、変数1の値に応じて更新される。同様に、オブジェクト54bの表示は変数2の値に、オブジェクト54cの表示は変数1の値に、オブジェクト54dの表示は変数2の値に応じて更新される。
アプリケーション220は、マッピング情報222を参照することで、変数の値を更新する。マッピング情報222は、変数とプロセスデータとを紐づけた情報である。たとえば、変数1の値は、プロセスデータ52Aの値に従って更新される。各プロセスデータの値が更新される周期は、アプリケーション220の作成に応じてユーザが設定してもよく、また、プロセスデータを管理するコントローラ100の更新周期に応じて決定されるものでもよい。
通信処理部90は、OPC UAクライアントであって、HMI200をサブスクライバーとして機能させる。通信処理部90は、購読管理手段92と通信ドライバ96とを備える。
購読管理手段92は、実行中のアプリケーション220に応じて購読対象を管理する。具体的には、購読管理手段92は、アプリケーション220とマッピング情報222に基づいて生成される購読管理情報94を参照して購読対象を特定し、通信ドライバ96に向けて、購読対象を通知する。通信ドライバ96は、購読対象のプロセスデータ52を含むデータセット50を受信し、アプリケーション220で利用されるプロセスデータ52の値を更新する。
購読管理情報94は、アプリケーション220と、当該アプリケーション220で利用されるプロセスデータ52とを対応付けた情報であって、アプリケーション220とマッピング情報222に基づいて生成される。
購読管理手段92は、たとえば、アプリケーション1を実行している場合、購読管理情報94を参照して、プロセスデータ52A,52Bがアプリケーション1の実行に利用されることを特定する。購読管理手段92は、プロセスデータ52A、52Bの購読開始を通信ドライバ96に向けて通知する。購読管理手段92は、アプリケーションの実行対象が切り替わった場合、購読を停止するプロセスデータ52に関する情報も、購読を開始するプロセスデータ52に関する情報とともに通信ドライバ96に向けて通知する。
通信ドライバ96は、コントローラ100が配信する複数のデータセット50の中から、購読対象のプロセスデータ52を含むデータセット50を読み取る。より具体的には、通信ドライバ96は、各データセット50に格納されたプロセスデータ52を特定するためのリンク情報98を参照して、コントローラ100が配信する複数のデータセット50の中から、購読対象のプロセスデータ52を含むデータセット50を特定する。
リンク情報98は、演算手段300によって送信設定400が生成されるタイミングで生成される。リンク情報98を参照する主体は、通信ドライバ96に限られない。たとえば、リンク情報98を参照する主体は、購読管理手段92であってもよい。この場合、アプリケーション220の実行に必要なプロセスデータ52の値を得るために必要なデータセット50を特定し、通信ドライバに向けて特定したデータセット50を購読対象として通知する。
図5を参照して、コントローラ100は、制御プログラム120と、制御系ネットワークインターフェイス(IF)191と、OPC UAサーバである通信処理部80とを備える。
コントローラ100は、制御プログラム120を実行することで、フィールドデバイス500を制御する。たとえば、制御プログラム120は、制御系ネットワークIF191を介して入力されたフィールドデバイス500の状態値を利用してプロセスデータ52の値を更新し、更新したプロセスデータ52の値を参照して制御演算を実行する。制御プログラム120は、実行した制御演算の結果に応じてプロセスデータ52の値を更新し、制御系ネットワークIF191を介してフィールドデバイス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の組み合わせを意味する。
すなわち、コントローラ100は、送信設定400に従ってデータセットを生成する。これにより、送信設定400が、特定の属性のプロセスデータを一のデータセットとするように規定するものである場合と比べて、コントローラ100の処理負担が軽減される。
送信設定400は、データセット50を生成する条件を規定する情報を含んでもよい。たとえば、制御プログラム120の実行に伴ってプロセスデータ52の値が更新される周期ごとにデータセット50が生成されるように、データセット50を生成する条件が規定されてもよい。なお、この場合、データセット50に含めるプロセスデータ52の組み合わせは、生成する条件を考慮して規定されることが好ましい。
通信ドライバ84は、データセット生成手段82が生成したデータセット50を、情報系ネットワーク2上に配信する。
図5を参照して、HMI200-1の購読対象がプロセスデータ52Bおよび52Cであり、HMII200-2の購読対象がプロセスデータ52Aおよび52Dであるときの、HMI200とコントローラ100との間のデータの遣り取りについて説明する。なお、図5中、プロセスデータ52A,52B,52,52C,52Dについて、一部、符号等を省略して記載している。
コントローラ100は、データセット1,2,3・・・と、複数のデータセット50の各々を周期的に生成して情報系ネットワーク2上に送信する。データセット1には、プロセスデータ52Aおよびプロセスデータ52が、データセット2には、プロセスデータ52Bおよびプロセスデータ52Cが、データセット3には、プロセスデータ52Xおよびプロセスデータ52Yが、格納されているものとする。
HMI200-1は、コントローラ100から配信される複数のデータセット50のうち、購読対象であるプロセスデータ52Bおよびプロセスデータ52Cの各々の値が格納されたデータセット2を取得する。データセット2は周期的に送信されるため、HMI200-1は、データセット2を周期的に取得する。これにより、HMI200-1は、プロセスデータ52Bおよびプロセスデータ52Cに対応する変数を周期的に更新することができ、当該変数更新に応じてオブジェクト54の表示も更新する。
HMI200-2は、コントローラ100から配信される複数のデータセット50のうち、購読対象であるプロセスデータ52Aおよびプロセスデータ52Dが格納されたデータセット1を取得する。データセット1は周期的に送信されるため、HMI200-2は、データセット1を周期的に取得する。これにより、HMI200-2は、プロセスデータ52Aおよびプロセスデータ52Dに対応する変数を周期的に更新することができ、当該変数更新に応じてオブジェクト54の表示も更新する。
実行対象のアプリケーションが変わると、HMI200の通信処理部90は、購読対象を変更して、読み取る対象のデータセット50を変更する。なお、以下では、購読対象を変更することを「購読要求を変更する」ともいう。
このように、PubSub通信は、実行対象のアプリケーションが変わったとしても、パブリッシャー側の処理を変更する必要がない。そのため、PubSub通信は、コマンドアンドレスポンド方式の通信に比べて、データを送信する側と、受信する側との間で行う遣り取りの回数を減らすことができる。
一方で、HMI200の通信処理部90は、実行対象のアプリケーション220の変更に応じて、購読要求も変更する。コントローラ100とHMI200との間でPubSub通信を実現しようとする場合、コントローラ100(パブリッシャー)側は、アプリケーション220の変更に応じて変わる各購読要求を満たすように、データセット50を生成する必要がある。すなわち、ユーザは、サブスクライバーであるHMI200が実行する全てのアプリケーション220毎に特化した購読要求を満たすようにコントローラ100の送信設定400を設計する必要がある。
コントローラ100が管理するプロセスデータ52を利用するアプリケーション220が複数ある場合に、アプリケーション220毎に当該アプリケーション220を利用されるプロセスデータ52を一のデータセット50に格納して送信する方法が考えられる。しかし、このような方法は、データセット50を送受信することによる、コントローラ100とHMI200とを含むネットワーク全体にかかる通信負荷が考慮されていない。そのため、コントローラ100とHMI200との間で遣り取りされるデータの量が少ない場合には問題ないものの、データの量が増えた場合に、データセット50の送信周期を確保できなかったり、あるいは、情報系ネットワーク2の通信性能の限界により伝送速度が極端に下がってしまったりする虞がある。
本実施の形態においては、制御システム1は、通信負荷に関する評価基準360に基づいて送信するプロセスデータ52の組み合わせ(データセット)が決定されるため、コントローラ100とHMI200とを含むネットワークと、アプリケーション220とを考慮した、適当な送信設定400を設計できる。
<C.決定手段の機能構成>
図6を参照して、決定手段340が実行する演算方法の一例を説明する。図6は、決定手段340が実行する演算の一例を示す図である。図6に示す例では、決定手段340は、プロセスデータ52の組み合わせを求めるための問題を「ナップサック問題」として送信するプロセスデータ52の組み合わせ候補を求める。決定手段340は、求めた候補が複数存在する場合に、各候補を「ナップサック問題」に組み込まれていない評価指標に従って評価する。
図6を参照して、決定手段340は、価値決定手段342と、候補算出手段344と、評価手段346と、判定手段348を備える。
価値決定手段342は、プロセスデータ52の価値を決定する。たとえば、価値決定手段342は、システム全体におけるプロセスデータ52の重要性を価値に変換する。具体的には、価値決定手段342は、取得手段320が取得したアプリケーション220毎に必要なプロセスデータの各々の価値を決定し、プロセスデータ52の各々の価値を示す価値情報370を生成する。価値決定手段342は、たとえば、プロセスデータ52が利用される頻度と、プロセスデータ52を利用するHMI200のシステムにおける重要性とからプロセスデータ52の価値を概算する。
プロセスデータ52を利用するHMI200のシステムにおける重要性は、たとえば、HMI情報350から算出される。HMI情報350は、たとえば、いずれのHMI200が親機として登録されており、いずれのHMI200が補機として登録されているかを特定可能な情報を含む。HMI情報350は、HMI200の利用頻度を示す稼働状況を含んでもよい。本実施の形態においては、HMI情報350は、親機と補機とを示す情報とする。
本実施の形態にかかるHMI200-1は、制御システム1において親機(メインで利用されるHMI)であり、HMI200-2は、制御システム1において補機(サブで利用されるHMI)である。当該情報が、HMI情報350として登録されている。HMI情報350は、たとえば、HMI200にアプリケーション220をインストールするとき、または、アプリケーション220を開発するとき等にユーザによって登録される。
たとえば、一のプロセスデータ52の価値pは、次の式(1)で算出される。
Figure 0007063292000001
ここで、iは、HMI200の種類を特定するものであって、i=1は、HMI200-1を示し、i=2は、HMI200-2を示す。αは、HMI情報350から得られるHMI200のシステムにおける重要性である。nは、HMI200で実行されるアプリケーション220において当該プロセスデータ52が利用される頻度を示す。たとえば、HMI200が5つのアプリケーション220を実行可能であり、その5つのアプリケーション220のうちの3つのアプリケーション220で特定のプロセスデータ52が利用される場合、当該プロセスデータ52が利用される頻度nは、3/5となる。なお、頻度nに、アプリケーションの利用頻度を反映させてもよい。
なお、価値の算出方法は一例であって、たとえば、上記式(1)に、さらに、プロセスデータ52そのものの価値を反映させてもよい。たとえば、エラーの発生の判定に利用されるプロセスデータ52へは高い価値を付与し、ロギングに利用されるプロセスデータ52へはエラーの発生の判定に利用されるプロセスデータ52よりも低い価値を付与してもよい。
図6中のpは、プロセスデータ52Aの価値を、pは、プロセスデータ52Aの価値を、pは、プロセスデータ52Cの価値を各々示しているものとする。
候補算出手段344は、プロセスデータ52のデータサイズを「重さ」、価値決定手段342が概算したプロセスデータ52の価値を「価値」、一のパケットのデータ容量を「ナップサックの容量」として、一のパケットに格納したプロセスデータ52の価値の和を最大化するプロセスデータ52の組み合わせを決定する。
パケットのデータ容量は、容量情報372として得られる。容量情報372は、情報系ネットワーク2の性能として予め定められた情報であってもよく、また、ユーザが仮の値として設定した情報であってもよい。また、プロセスデータ52のデータサイズは、プロセスデータ52ごとに予め定められている。
候補算出手段344は、決定した組み合わせを一のデータセットに含ませるべきプロセスデータ52として候補データ374に格納する。候補算出手段344は、パケットに格納するプロセスデータ52の候補の中から、候補データ374に格納したプロセスデータ52を除外して、再度、一のパケットに格納したプロセスデータ52の価値の和を最大化するプロセスデータ52の組み合わせを決定する。
すなわち、候補算出手段344は、評価基準として、データセットに含めるプロセスデータの価値を評価するための指標を含めて、プロセスデータ52の組み合わせを決定する。その結果、たとえば、価値の高いプロセスデータ52を優先して送信することができるような送信設定400を設計できる。
具体的には、決定した各データセット50の価値を、当該データセット50に含まれるプロセスデータ52の価値に基づいて決定し、価値の高いデータセット50を優先的に送信するような送信設定400を設計することができる。
候補算出手段344は、プロセスデータ52の組み合わせの決定、決定した組み合わせの候補データ374への格納、およびパケットに格納するプロセスデータ52の候補の中からの候補データ374に格納したプロセスデータ52の除外を、パケットに格納するプロセスデータ52の候補がなくなるまで繰り返す。
候補算出手段344は、パケットに格納するプロセスデータ52の候補がなくなるまでの一連の処理を複数回行い、複数の候補データ(第1候補データ374a,第2候補データ374b・・・)を取得してもよい。一連の処理を複数回行う場合に、候補算出手段344は、一のパケットに格納したプロセスデータ52の価値の和を最大化するプロセスデータ52の組み合わせを決定するアルゴリズムを都度変更してもよい。アルゴリズムは、特に限定されるものではないが、たとえば、動的計画法、貪欲法、遺伝アルゴリズムなどがあげられる。
また、同じアルゴリズムで一連の処理を実行した場合であっても、複数の解が得られたときには、複数の候補データが得られる。なお、一の候補データが得られた時点で、候補算出手段344の処理を終了するようにしてもよい。以下では、複数の候補データ374が得られたものとして説明する。
評価手段346は、複数の候補データ374の各々を予め定められた指標に基づいて評価する。図6に示す例では、評価手段346は、通信負荷指標352、通信性能指標354、および通信効率指標356の各々の指標に基づいて複数の候補データ374の各々を評価する。
通信負荷指標352は、コントローラ100がデータセット50を送信する際の負荷を評価するための指標である。たとえば、通信負荷指標352は、候補データ374に含まれるデータセットの数、一のデータセットに格納するプロセスデータの数、一のデータセットのデータサイズなどを指標とする。
候補データ374に含まれるデータセットの数が少ないと、コントローラ100がデータセット50を送信する回数を減らすことができ、データセットを送信する間隔を空けることができ、コントローラ100への通信負荷を減らすことができる。
すなわち、評価手段346は、通信負荷指標352に従って評価した場合、候補データ374に含まれるデータセットの数、一のデータセットに格納するプロセスデータの数、一のデータセットのデータサイズの各々が小さいほど、評価対象の候補データ374の評価を高くする。その結果、コントローラ100にかかる負荷が小さくなるような送信設定400を設計することができる。
通信性能指標354は、HMI200へデータを配信する性能を評価するための指標であって、所定期間の間にHMI200が受信可能な、当該HMI200において実行するアプリケーションにおいて利用するプロセスデータの種類を評価する指標である。たとえば、通信性能指標354は、HMI200に向けてデータセットが送付される周期、HMI200に向けて配信されるデータセット50に含まれるプロセスデータ52のうちのHMI200において実行されるアプリケーションで利用されるプロセスデータ52の種類などを指標とする。
評価手段346は、通信性能指標354に従って評価した場合、所定期間の間にHMI200に向けて配信されるデータセット50に含まれるプロセスデータ52の種類が多いほど、評価対象の候補データ374の評価を高くする。ただし、単に種類が多いのではなく、HMI200において利用されるプロセスデータ52の種類が多いほど評価対象の候補データ374の評価は高くなる。その結果、プロセスデータ52の値が更新されるタイミングと、アプリケーション220で利用されるタイミングとの間で生じるタイムラグを小さくすることのできる送信設定400を設計することができる。すなわち、コントローラ100の状態を正確にHMI200が把握することができる。
通信効率指標356は、コントローラ100とHMI200との間の通信効率を評価するための指標である。たとえば、通信効率指標356は、コントローラ100とHMI200とを通信可能に接続させる情報系ネットワーク2にかかる負荷として、所定期間に送付しなければならないデータ数(pps(packet per second)、bps(bit per second))などを指標とする。
評価手段346は、通信効率指標356に従って評価した場合、所定期間に送付しなければならないデータ数が少ないほど、評価対象の候補データ374の評価を高くする。その結果、通信効率の良い送信設定400を設計することができる。より具体的には、トラフィックを小さくすることができる。
判定手段348は、評価手段346が複数の指標に従って各々の候補データ374を評価した結果と優先度情報358とに基づいて、複数の候補データ374のうちのいずれの候補データ374が適当であるかを判定し、適当な候補データ374を決定結果とする。
優先度情報358は、ユーザにより入力される情報であって、通信負荷、通信性能、および通信効率の優先度(重みづけ)を規定する。評価手段346によって各々の指標に従って複数の候補データ374を評価した場合であっても、すべての指標が最適となる候補データが存在しない場合もある。その場合に、優先度情報358を用いて各指標の優先度が規定されることにより、すべての指標が最適となる候補データが存在しない場合であっても、最適と考えられる候補データを決定できる。
なお、図6に示した演算順序は一例であって、候補算出手段344は、評価手段346が参照する通信負荷指標352、通信性能指標354、および通信効率指標356のうちの少なくとも一の指標を考慮してプロセスデータ52の組み合わせを決定してもよい。すなわち、複数の候補データ374を算出して各候補データ374を評価して送信設定400を決定するという方法は一例であって、候補データ374を算出することなく、送信設定400を決定してもよい。
<D.ユーザインターフェイス>
(D1.HMI情報)
図7は、HMI情報350を受け付けるユーザインターフェイス700の一例を示す図である。ユーザインターフェイス700は、ネットワーク構成を示すネットワーク構成領域720と、HMI情報350を受け付ける受付領域740とを含む。ネットワーク構成領域720は、コントローラ100(図中のMaster)に接続されているHMI200を示す。
受付領域740は、コントローラ100に接続されているHMI200の優先度の指定を受け付ける。図7に示す例では、タブ742を操作することで「High」と「Low]とのうちのいずれか一方を選択可能である。これにより、コントローラ100の情報を表示可能な複数のHMI(HMI-1,HMI-2,HMI-3)のうちのいずれのHMIにプロセスデータ52を優先して送付するかを規定できる。たとえば、複数のHMIのうち、親機として機能するHMIの優先度を高くし、他のHMIの優先度は低くするようにして、親機と補機とを区別できるように登録してもよい。
このように、各HMIの重要度をプロセスデータ52の価値に反映することができ、たとえば、ユーザが指定した任意のHMI200が実行するアプリケーションで利用されるプロセスデータを優先して配信できるような送信設定400を設計できる。
(D2.優先度情報)
図8は、優先度情報358を受け付けるユーザインターフェイス900の一例を示す図である。図8に示すユーザインターフェイス900は、たとえば、評価手段346による評価が終え、優先度情報358が必要な場合に提示される。
ユーザインターフェイス900は、評価指標を示す指標領域920と、評価指標で評価した結果を示す結果表示領域940と、評価指標の優先度の入力を受け付ける優先度受付領域960と、評価の開始を指示する開始ボタン980とを備える。
優先度受付領域960のタブ962を操作して、評価指標の優先度を入力し、開始ボタン980を操作すると、入力された優先度に従って判定手段348が適当であると判定した候補データ374が選択された場合の評価結果が結果表示領域940に表示される。
すなわち、ユーザインターフェイス900は、評価指標が複数設けられている場合に、各評価指標の重要度を受け付ける手段として機能する。ユーザインターフェイス900により、ユーザは、各評価指標の重要度を変えることで、任意の送信設定400を設計できる。たとえば、コントローラ100が制御プログラム120を実行する処理速度を重要視するような場合には、コントローラ100への処理負荷に関する指標の重要度を高くすればよい。一方、コントローラ100の性能が十分に高く、コントローラ100への処理負荷を十分に考慮しなくとも、コントローラ100が制御プログラム120を十分に実行できるような場合、コントローラ100への処理負荷に関する指標の重要度を下げるようにしてもよい。
各評価指標の重要度を受け付けるユーザインターフェイスが、優先度情報358を必要な場合に提供されるものとして説明したが、任意のタイミングで提供されてもよい。すなわち、各評価指標の重要度を受け付けるユーザインターフェイスは、優先度情報358が必要な場合に限らず、送信設定400を決定するためのパラメータの一つとして、演算手段300による演算を開始する前に提供されてもよい。
<E.演算手段300の演算結果の出力>
図9は、演算手段300が演算結果の出力例を説明するための図である。演算手段300は、演算結果である候補データ374の内容を出力する。たとえば、演算手段300は、決定結果として選択された候補データ374の内容をコントローラ100にインストールする(図中の(1))。演算手段300は、設定情報として出力してもよい(図中の(2))。設定情報は、たとえば、CSV(Comma-Separated Values)形式または他のファイル形式、紙のレポート形式など、どのような形式で出力されてもよい。設定情報として出力されることで、コントローラ100に直接インストールできない場合であっても、設定情報に基づいて、コントローラ100の送信設定を行うことができる。
演算手段300は、候補データ374の内容を一覧で表示してもよい(図中の(3)。一覧で表示した上で、ユーザによる修正を受け付けるようにしてもよい。このようにすることで、ユーザは、演算手段300のアルゴリズムに組み込むことのできなかった評価指標を送信設定400に反映することができる。
<F.演算手段300の実装例>
本実施の形態にかかる演算手段300を搭載可能な装置および、当該装置に搭載したときのユースケースについて説明する。図10は、演算手段300の実装例を説明するための図である。
図10を参照して、演算手段300は、(1)送信設定を行うための設定装置20、(2)コントローラ100とHMI200とから構成されたネットワークを監視する監視装置40、または(3)コントローラ100とHMI200との間の通信を中継する中継装置60に搭載される。
(f1.設定装置)
設定装置20は、たとえば、コントローラ100とHMI200との接続を開始するタイミングに利用される。図11は、設定装置20のハードウェア構成の一例を示す図である。設定装置20は、HMI200が実行するアプリケーション220の開発環境、およびコントローラ100で実行される制御プログラム120の開発環境を提供するとともに、コントローラ100とHMI200との間の通信環境を設定するための環境を提供する。このような開発環境および設定環境は、設定装置20に、サポートプログラムがインストールされることで提供される。サポートプログラムは、たとえば、オムロン社製の「Sysmac Studio」である。
なお、制御プログラム120を開発するためのプログラムと、アプリケーション220を開発するためのプログラムと、送信設定400を生成するためのプログラムとは、パッケージ化されて一つのプログラムで提供される必要はなく、別々に提供されてもよい。
設定装置20は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。設定装置20は、据え置き型でもよいし、コントローラ100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
図11を参照して、設定装置20は、プロセッサ21と、入力部22と、表示部23と、揮発性メモリ24と、不揮発性メモリ25と、光学ドライブ26と、USB(Universal Serial Bus)コントローラ27A,27Bとを含む。これらのコンポーネントは、プロセッサバス28を介して接続されている。
プロセッサ21は、CPU(Central Processing Unit)やGPU(Graphical Processing Unit)などで構成され、不揮発性メモリ25に格納されたプログラムを読出して、揮発性メモリ24に展開して実行することで、制御プログラム120およびアプリケーション220の作成、デバッグ、並びにコントローラ100とHMI200との間の通信環境を設定するための機能をユーザに提供する。
揮発性メモリ24は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などで構成される。不揮発性メモリ25は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)などで構成される。
入力部22は、たとえば、マウス、キーボードから構成されている。入力部22は、HMI情報350または優先度情報358の入力などを受け付ける。具体的には、入力部22は、図7または図8に示したタブ742,962を操作するためのデバイスである。
表示部23は、ディスプレイであって、たとえば、図7または図8に示したユーザインターフェイス700,900または、図9に示したデータセットの一覧を表示する。
不揮発性メモリ25は、基本的な機能を実現するためのOS(図示省略)に加えて、コントローラ設定プログラム1110と、HMI設定プログラム1120と、表示プログラム1140と、評価情報1160と、性能情報1180とを格納する。なお、図11には示していないものの、不揮発性メモリ25は、制御プログラム120の開発環境を提供する制御プログラム用開発プログラムと、アプリケーション220の開発環境を提供するアプリケーション用開発プログラムとを格納する。
コントローラ設定プログラム1110は、送信設定を決定するためのプログラムであって、プロセッサ21により実行されることで、図2に示した演算手段300の機能を提供する。
HMI設定プログラム1120は、HMI200の通信に関する設定を決定するためのプログラムである。具体的には、コントローラ設定プログラム1110の実行により決定された送信設定400に応じて、リンク情報98(図4参照)を生成する。
表示プログラム1140は、図7または図8に示したユーザインターフェイス700,900または、図9に示したデータセットの一覧を表示部23に表示するためのプログラムである。
評価情報1160は、図6に示した通信負荷指標352、通信性能指標354、および通信効率指標356を含む。また、評価情報1160は、HMI情報350および優先度情報358を含んでもよい。すなわち、評価情報1160は、決定手段340が参照する評価基準360に関する情報である。
性能情報1180は、容量情報372を含む情報であって、コントローラ100、コントローラ100とHMI200とを接続する情報系ネットワーク2、およびHMI200の性能を示す情報である。
なお、プロセッサ21がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。また、設定装置20が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
設定装置20は、光学ドライブ26を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体26A(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて不揮発性メモリ25などにインストールされる。
設定装置20で実行されるプログラムなどは、コンピュータ読取可能な記録媒体26Aを介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。
USBコントローラ27A,27Bは、USB接続を介して、任意の情報処理装置との間のデータの遣り取りを担当する。具体的には、USBコントローラ27A,27Bは、コントローラ100またはHMI200とのデータの遣り取りを担当する。たとえば、USBコントローラ27Aを介して送信設定400がコントローラ100にインストールされ、USBコントローラ27Bを介してリンク情報98がコントローラ100にインストールされる。
設定装置20が利用される場面としては、たとえば、HMI200とコントローラ100とから構成されるネットワークの構築を始めるとき、新たにネットワークにHMI200を追加するとき、アプリケーション220を追加または修正するときなどが挙げられる。
(f2.監視装置)
監視装置40は、たとえば、コントローラ100とHMI200との接続を開始した後の運用時に利用される。図12は、監視装置40を含む制御システム1aの概要を示す図である。監視装置40は、情報系ネットワーク2に接続され、コントローラ100からのデータセット50の送信状況と、各HMI200におけるアプリケーション220の実行状況と、情報系ネットワーク2の通信帯域の利用状況とを監視する。
図12を参照して、監視装置40は、演算手段300と、監視手段420と、更新手段440とを備える。監視手段420は、情報系ネットワーク2に接続され、コントローラ100からのデータセット50の送信状況と、各HMI200におけるアプリケーション220の実行状況と、情報系ネットワーク2の通信帯域の利用状況とを監視する。
更新手段440は、監視手段420の監視結果に従い、評価基準360に関する情報を更新する。更新手段440は、評価基準360に関する情報に加えて、コントローラ100、情報系ネットワーク2、およびHMI200の性能などを更新してもよい。
決定手段340は、更新手段440によって更新された評価基準360に従って、再度、データセット50の数、および、各データセット50に含ませるべきプロセスデータ52を決定して、送信設定400を決定する。
監視装置40は、さらに、比較手段460を備えてもよい。比較手段460は、決定した送信設定400と、利用中の送信設定400とを比較し、比較結果をユーザに通知する。たとえば、比較手段460は、利用中の送信設定400を決定した送信設定400に変更することで得られる効果を比較結果として通知する。
このような構成によれば、コントローラ100とHMI200との間の実際のデータの遣り取りを考慮して送信設定を設計することができる。すなわち、コントローラ100とHMI200との接続を開始するときに決定した送信設定を、改善することができる。
監視装置40は、決定した送信設定400をコントローラ100にインストールしてもよく、この場合、リンク情報98も再度生成してHMI200にインストールする。監視装置40は、比較結果をユーザに通知することに留め、送信設定400のコントローラ100へのインストールは、ユーザの許可を得た上で開始するようにしてもよい。
図13は、監視装置40のハードウェア構成である。監視装置40は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。監視装置40は、据え置き型でもよいし、コントローラ100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。
図13を参照して、監視装置40は、プロセッサ41と、入力部42と、表示部43と、揮発性メモリ44と、不揮発性メモリ45と、光学ドライブ46と、通信IF47とを含む。これらのコンポーネントは、プロセッサバス48を介して接続されている。
プロセッサ41は、CPUやGPUなどで構成され、不揮発性メモリ45に格納されたプログラムを読出して、揮発性メモリ44に展開して実行することで、制御プログラム120およびアプリケーション220の作成、デバッグ、並びにコントローラ100とHMI200との間の通信環境を設定するための機能をユーザに提供する。
揮発性メモリ44は、DRAMやSRAMなどで構成される。不揮発性メモリ45は、例えば、HDDやSSDなどで構成される。
入力部42は、たとえば、マウス、キーボードから構成されている。たとえば、入力部42は、送信設定400のコントローラ100へのインストールの許可を受け付ける。表示部43は、ディスプレイであって、たとえば、比較結果、決定した送信設定400の詳細、更新した評価基準360に関する情報、ならびに、更新したコントローラ100、情報系ネットワーク2、およびHMI200の性能などを表示する。
不揮発性メモリ45は、基本的な機能を実現するためのOS(図示省略)に加えて、コントローラ設定プログラム1210と、HMI設定プログラム1220と、表示プログラム1240と、更新プログラム1260と、比較プログラム1280と、監視プログラム1290とを格納する。
コントローラ設定プログラム1210は、送信設定を決定するためのプログラムであって、プロセッサ41により実行されることで、演算手段300の機能が提供される。
HMI設定プログラム1220は、HMI200の通信に関する設定を決定するためのプログラムである。具体的には、コントローラ設定プログラム1210の実行により決定された送信設定400に応じて、リンク情報98(図4参照)を生成する。
表示プログラム1240は、比較結果、決定した送信設定400の詳細、更新した評価基準360に関する情報、ならびに、更新したコントローラ100、情報系ネットワーク2、およびHMI200の性能などを表示部43に表示するためのプログラムである。
更新プログラム1260は、監視結果に従って、評価基準360に関する情報を更新するためのプログラムであって、プロセッサ41により実行されることで、更新手段440の機能が提供される。たとえば、更新プログラム1260が実行されることにより、たとえば、アプリケーション220の実行状況に応じて実行頻度の高いアプリケーションのプロセスデータの価値が高くなるようにHMI情報350が更新されたり、監視結果に応じてHMI200、コントローラ100、情報系ネットワーク2のうち負荷の偏りが生じないように各指標が更新されたり、あるいは、優先度情報358が更新されたりする。
比較プログラム1280は、利用中の送信設定400と決定した送信設定400とを比較するためのプログラムであって、プロセッサ41により実行されることで、比較手段460の機能が提供される。比較プログラム1280が実行されることにより、利用中の送信設定400を決定した送信設定400に変更することで得られる効果が算出される。
監視プログラム1290は、コントローラ100からのデータセット50の送信状況と、各HMI200におけるアプリケーション220の実行状況と、情報系ネットワーク2の通信帯域の利用状況とを監視するためのプログラムであって、プロセッサ41により実行されることで、監視手段420の機能が提供される。
なお、プロセッサ41がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。また、監視装置40が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
監視装置40は、光学ドライブ46を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体46A(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読取られて不揮発性メモリ45などにインストールされる。
監視装置40で実行されるプログラムなどは、コンピュータ読取可能な記録媒体46Aを介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。
通信IF47は、コントローラ100からのデータセット50の送信状況、各HMI200におけるアプリケーション220の実行状況、および情報系ネットワーク2の通信帯域の利用状況を把握するための情報を情報系ネットワーク2に接続された各装置から収集するとともに、各装置との間のデータの遣り取りを担当する。
監視装置40が利用される場面としては、たとえば、設定装置20を利用して決定した送信設定400に従った通信をテストするとき、HMI200とコントローラ100とから構成されるネットワークの構築が終わったあとの運用時などが挙げられる。
(f3.中継装置)
中継装置60は、コントローラ100とHMI200との間の通信を中継する。図14は、中継装置60の機能構成の一例を示す図である。中継装置60は、1または複数のHMI200で実行されているアプリケーション220が変更されて購読対象が変更されると、制御システムにおいて実行されているアプリケーション220に応じた送信設定400を決定するための演算を行い、演算結果に従って送信設定400およびリンク情報98を更新する。
図14を参照して、中継装置60は、購読リスト管理手段610と、プロセスデータ管理手段620と、決定手段640と、通知手段660と、送受信管理手段680とを備える。
購読リスト管理手段610は、中継装置60に接続されているHMI200-1,200-2で実行されているアプリケーション220の情報を取得する。アプリケーション220の情報は、当該アプリケーション220に利用されるプロセスデータ52を特定可能な情報である。たとえば、購読リスト管理手段610は、HMI200からの購読要求を解析して、HMI200で実行されているアプリケーション220の情報を取得する。ここで、購読リスト管理手段610は、本願発明の取得手段の一例に相当する。
購読リスト管理手段610は、制御システム1において購読対象とされているプロセスデータ52と、当該プロセスデータを購読対象としているHMI200とを特定可能な購読リスト612を管理する。購読リスト管理手段610は、HMI200からの購読要求に基づいてHMI200で実行されているアプリケーション220に利用されるプロセスデータ52を特定し、当該プロセスデータを購読対象として購読リスト612に登録(更新)する。購読リスト管理手段610は、購読対象が変更された場合には、購読が停止されたプロセスデータを特定し、購読の停止を購読リスト612に反映(更新)する。購読リスト管理手段610は、購読リスト612を更新した場合に、決定手段640に通知する(図中の更新通知)。
プロセスデータ管理手段620は、プロセスデータ52と、プロセスデータ52を配信するコントローラ100との対応関係を規定するプロセスデータリスト622を管理する。プロセスデータ管理手段620は、中継装置60とコントローラ100との通信が確立すると、コントローラ100に対して、管理しているプロセスデータ52を示す情報の送信を要求する。プロセスデータ管理手段620は、プロセスデータ52を示す情報(図15中のプロセスデータ情報)を受けて、コントローラ100とコントローラ100が管理するプロセスデータ52との対応関係が、プロセスデータリスト622に登録されているか否かを確認し、登録されていなければ、コントローラ100とコントローラ100が管理するプロセスデータ52との対応関係をプロセスデータリスト622に登録(更新)する。
決定手段640は、購読リスト管理手段610からの更新通知を受けて、購読対象のプロセスデータ52を送信するための送信設定400を決定する。決定手段640は、購読リスト612に基づいて実行中のアプリケーション220に利用されるプロセスデータ52を特定する。決定手段640は、プロセスデータリスト622に基づいて特定したプロセスデータについて、当該プロセスデータを管理するコントローラ100ごとにグループ化する。決定手段640は、グループ化された一群のプロセスデータ52ごとに、一群のプロセスデータ52を管理するコントローラ100の送信設定400を決定する。送信設定400の決定方法は、上記で説明した方法を利用可能であるため、説明を省略する。
すなわち、決定手段640、購読リスト管理手段610、およびプロセスデータ管理手段620が協働して演算することにより送信設定400が決定される。つまり、決定手段640、購読リスト管理手段610、およびプロセスデータ管理手段620によって、送信設定400が決定するための演算手段300aが構成される。
決定手段640は、決定した各コントローラ100の送信設定400に基づいて各HMI200のリンク情報98を生成する。
通知手段660は、決定手段640により得られた送信設定400をコントローラ100に、リンク情報98をHMI200に通知する。なお、リンク情報98をHMI200ごとに生成した場合は、各リンク情報98を対応するHMI200に送信する。
通知手段660は、送信設定400および購読リスト612に基づいて、各データセット50の送信先を規定するトピックリスト682の情報を更新する。
送受信管理手段680は、トピックリスト682を参照して、コントローラ100から配信された各データセット50を、当該データセット50に含まれるプロセスデータ52を購読対象とするHMI200に送信する。
なお、決定手段640は、送信設定400を決定する場合に、既に設定されている送信設定400からの変更が少なくなるように決定してもよい。
図15は、中継装置60のハードウェア構成の一例を示す模式図である。図15を参照して、中継装置60は、プロセッサ61と、揮発性メモリ64と、不揮発性メモリ65と、通信IF67とを含む。これらのコンポーネントは、プロセッサバス68を介して接続されている。
プロセッサ61は、CPUやGPUなどで構成され、不揮発性メモリ65に格納されたプログラムを読出して、揮発性メモリ64に展開して実行することで、コントローラ100とHMI200との間の通信を中継するとともに、送信設定400を決定するための機能を提供する。
揮発性メモリ64は、DRAMやSRAMなどで構成される。不揮発性メモリ65は、例えば、HDDやSSDなどで構成される。
不揮発性メモリ65は、基本的な機能を実現するためのOSに加えて、中継プログラム1310、購読リスト612、プロセスデータリスト622およびトピックリスト682を格納する。
中継プログラム1310は、コントローラ100とHMI200との間の通信を中継するとともに、送信設定400を決定するためのプログラムであって、プロセッサ61により実行されることで、図14に示した各種手段の機能を提供する。中継プログラム1310は、送信設定400を決定するためのコントローラ設定プログラム1312と、決定した送信設定400に応じたHMI200のリンク情報98を生成するHMI設定プログラム1314とを含む。図14に示す例では、図面を簡略にするため、決定手段640がリンク情報98および送信設定400を生成しているように記載しているものの、送信設定400を生成する機能と、リンク情報98を生成する機能とを、別々に有していてもよい。
なお、プロセッサ61がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、中継装置60が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
不揮発性メモリ65に格納された各種プログラムは、コンピュータ読取可能な記録媒体を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。
通信IF67は、情報系ネットワーク2に接続された各装置(コントローラ100、HMI200)との間のデータの遣り取りを担当する。
以上のように、中継装置60は、あるタイミングにおける最適な送信設定400を暫定的に決定し、ネットワーク上で実行されるアプリケーション220の変更に応じて、送信設定400を変更する。なお、最適な送信設定400とは、決定手段640により求められた送信設定400であって、何を以て「最適な送信設定400」というかは、決定手段640が参照する評価基準360に応じて異なる。
なお、中継装置60は、言い換えると、コントローラ100とアプリケーション220を実行するHMI200との間で遣り取りされるデータセット50を調停していることから、調停手段であるともいえる。
中継装置60の利用場面は幅広く、中継装置60は、HMI200とコントローラ100との通信を開始するときから終了するときまで、一貫して利用可能され得る。
<F.HMIのハードウェア構成>
図16は、HMI200のハードウェア構成の一例を示す模式図である。HMI200は、一例として、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコン)を用いて実現される。HMI200は、据え置き型でもよいし、コントローラ100が配置される製造現場では可搬性に優れたノート型のパーソナルコンピュータの形態で提供されてもよい。図16を参照して、HMI200は、プロセッサ210と、タッチパネル240と、揮発性メモリ250と、不揮発性メモリ270と、通信IF292と、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は、HMI200をサブスクライバーとして機能させるためのプログラムであって、コントローラ100とHMI200との間で、OPC UAに従った通信を行うためのプログラムである。プロセッサ210がOPC UAプログラム260を実行することで、図4に示した通信処理部90に係る機能が提供される。OPC UAプログラム260は、たとえば、他の外部記憶媒体(たとえばメモリカード、ネットワーク上のサーバ装置)から、不揮発性メモリ270にインストールされる。
なお、プロセッサ210がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、HMI200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
タッチパネル240は、ディスプレイである表示部242と、ユーザの操作を受け付ける入力部244とを備える。なお、表示部242と入力部244とが別体で構成されていてもよい。
通信IF292は、コントローラ100とのデータの遣り取りを担当する。USBコントローラ294は、USB接続を介して、任意の情報処理装置との間のデータの遣り取りを担当する。
<G.コントローラ100のハードウェア構成>
図17は、コントローラ100のハードウェア構成の一例を示す模式図である。図17を参照して、コントローラ100は、主たるコンポーネントとして、プロセッサ110と、チップセット196と、不揮発性メモリ170と、揮発性メモリ150と、制御系ネットワークIF191と、情報系ネットワークIF192と、USBコントローラ193と、メモリカードIF194と、内部バスコントローラ195とを含む。
プロセッサ110は、CPUやGPUなどで構成され、不揮発性メモリ170に格納された各種プログラムを読み出して、揮発性メモリ150に展開して実行することで、フィールドデバイス500の制御および、パブリッシャーとしての機能を実現する。チップセット196は、プロセッサ110と各コンポーネントとの間のデータの遣り取りを仲介することで、コントローラ100全体としての処理を実現する。
不揮発性メモリ170には、制御プログラム120と、OPC UAプログラム180と、送信設定400とが格納される。
制御プログラム120は、典型的には、ユーザが設定装置20を操作して設計することで生成されるユーザプログラムと、コントローラ100の基本的な機能を提供するシステムプログラムとから構成される。ユーザプログラムとシステムプログラムとが協働してユーザにおける制御目的を実現することで、フィールドデバイス500が制御される。
OPC UAプログラム180は、コントローラ100をパブリッシャーとして機能させるためのプログラムであって、コントローラ100とHMI200との間で、OPC UAに従った通信を行うためのプログラムである。プロセッサ110が、OPC UAプログラム180を実行することで、図5に示した通信処理部80に係る機能が提供される。OPC UAプログラム180は、たとえば、システムプログラムの一種として予めコントローラ100にインストールされていてもよく、また、他の外部記憶媒体(たとえばメモリカード194A、ネットワーク上のサーバ装置)から、不揮発性メモリ170にインストールされてもよい。
なお、プロセッサ110がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(例えば、ASICまたはFPGAなど)を用いて実装してもよい。また、コントローラ100の主要部を、汎用的なアーキテクチャに従うハードウェア(例えば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSを並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
制御系ネットワークIF191は、フィールドデバイス500との間のデータの遣り取りを担当する。
情報系ネットワークIF192は、HMI200との間のデータの遣り取りを担当する。
USBコントローラ193は、USB接続を介して任意の情報処理装置との間のデータの遣り取りを担当する。
メモリカードIF194は、メモリカード194Aを着脱可能に構成されており、メモリカード194Aに対して制御プログラムや各種設定などのデータを書込み、あるいは、メモリカード194Aから制御プログラムや各種設定などのデータを読出すことが可能になっている。
内部バスコントローラ195は、コントローラ100に搭載される図示しないI/Oユニットなどとの間でデータを遣り取りするインターフェイスである。内部バスには、メーカ固有の通信プロトコルを用いてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルを用いてもよい。
<G.制御システムの変形例>
上記実施の形態においては、コントローラ100は、予め定められた送信設定400に従い、予め定められた組み合わせのデータセット50を生成して送信するものとした。なお、コントローラ100は、コントローラ100のプロセスデータ52を利用してアプリケーション220を実行する1または複数のHMI200が実行するアプリケーション220に応じて、各データセット50を送信したり、あるいは送信しなかったりしてもよい。
図18は、変形例における制御システム1cの概略を示す図である。図18を参照して、制御システム1cは、図1に示した制御システム1と比較して管理手段10を備える点、コントローラ100の代わりにコントローラ100cを備える点で異なる。
コントローラ100cは、コントローラ100と比較して通信処理部80の代わりに通信処理部80cを備える点で異なる。通信処理部80cは、送信設定400に従い複数のプロセスデータの値を含む複数のデータセット50を生成して送信可能である。
管理手段10は、コントローラ100cからのデータセット50の配信を受けてアプリケーション220を実行する複数のHMI200-1,200-2の各々で実行されるアプリケーションに応じて、通信処理部80cが送信可能なデータセット50のうち、送信を有効化するデータセット50を決定する。
すなわち、管理手段10は、予め定められたプロセスデータ52の組み合わせで生成されるデータセットのうち、送信を有効にするデータセットを実行されているアプリケーションに応じて決定する。
たとえば、管理手段10は、コントローラ100がデータセット1~データセット5を送信可能であり、実行中のアプリケーション220に必要なプロセスデータ52が、データセット1およびデータセット2の配信により、コントローラ100cからHMI200に向けて提供されるのであれば、データセット1およびデータセット2の送信を有効にし、データセット3~5の送信を無効にする。
これにより、アプリケーションの実行に利用されないデータセットが配信されることを防止でき、コントローラ100にかかる処理負担を軽減することができる。
また、この場合に、演算手段300は、管理手段10が制御システム1cに設けられていることを考慮して送信設定400を決定してもよい。すなわち、演算手段300は、管理手段10にかかる負荷を評価する管理負荷指標353を含む評価基準に従って、データセットの数と、各データセットに含めるべきプロセスデータ52を決定するようにしてもよい。
管理負荷指標353を含む評価基準に従って、データセット50に格納するプロセスデータ52の組み合わせが決定される場合、たとえば、同時に実行されることのない各アプリケーション220に含まれるプロセスデータ52は、各々別のデータセットに格納されるように決定される。
このような制御システム1cにおいては、制御システム1と比較して、管理手段10を備えることにより、新たに管理手段を機能させるための処理負荷が制御システム1cにかかる。しかし、管理手段を機能させるための処理負荷を評価基準に含めることで、利用されないデータセットの送信を防止しつつ、そのような送信を防止するためにかかる処理負荷も小さくすることができ、その結果、制御システム1c全体にかかる処理負荷を低減させることができる。
<その他の変形例>
上記実施の形態においては、HMIがサブスクライバー、コントローラがパブリッシャーであるとして説明した。HMIおよびコントローラの各々がサブスクライバーとパブリッシャーとの機能両方を備えていてもよい。
この場合、制御プログラムは、HMIから配信されるデータを利用可能に構成される。HMIの送信設定は、制御プログラムに応じて、演算手段が決定してもよい。HMIの送信設定の決定方法には、上記で説明した、コントローラ100の送信設定400の決定方法を利用できる。
一のデータセット50に含まれるすべてのプロセスデータ52を一のアプリケーションが利用するように送信設定400を生成する必要はない。この場合、評価基準360に、データセット50の中からアプリケーション220に利用するプロセスデータ52を仕分けるための処理にかかる負荷に関する指標を含めてもよい。
また、上記実施の形態において、説明を簡略化するために、アプリケーションで利用されるプロセスデータ52は、すべて一のコントローラ100が送信するものとしたが、アプリケーション220で利用される複数のプロセスデータ52が各々、別のコントローラ100から送信されるものであってもよい。
この場合、演算手段300は、取得手段320が取得した複数のプロセスデータ52を送信するコントローラごとにグループ化し、グループごとに決定手段340により送信設定を生成させるようにしてもよい。
また、プロセスデータ52がコントローラ100で更新される周期、および、アプリケーション220において利用される周期を考慮して送信設定400を生成してもよい。
<G.付記>
以上のように、上記の実施の形態は以下のような開示を含む。
(構成1)
制御対象(500)を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御装置(100,100c)を備え、前記制御装置は、予め定められた1または複数のデータセット(50)を周期的に送信するための通信処理部(80,80c)を有しており、各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含み、
前記制御装置から送信される前記1または複数のデータセットに含まれるプロセスデータの値を利用して、1または複数のアプリケーション(220)を実行する1または複数の情報処理装置(200)と、
前記制御装置の通信処理部によるデータセットの送信設定を決定する演算手段(300,300a,300b)とを備え、
前記演算手段は、
前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する取得手段(320,610)と、
前記取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準(360)に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する決定手段(340,640)とを含む、制御システム(100,1a,1c)。
(構成2)
前記評価基準は、前記通信処理部が前記1または複数のデータセットを生成するとともに、当該1または複数のデータセットの各々を周期的に送信することにより前記制御装置にかかる負荷を評価する通信負荷指標(352)を含む、構成1に記載の制御システム。
(構成3)
前記評価基準は、前記情報処理装置が所定期間の間に受信可能な前記プロセスデータの種類を評価する通信性能指標(354)を含む、構成1または構成2に記載の制御システム。
(構成4)
前記評価基準は、前記制御装置と前記1または複数の情報処理装置との間の通信効率を評価する通信効率指標(356)を含む、構成1~構成3のうちいずれかに記載の制御システム。
(構成5)
前記決定手段は、前記取得手段が取得したプロセスデータの各々について、当該プロセスデータの価値を決定する価値決定手段(342)を有し、
前記評価基準は、各データセットに含める前記プロセスデータの価値を評価する指標を含む、構成1~構成4のうちいずれかに記載の制御システム。
(構成6)
前記価値決定手段は、前記プロセスデータを利用する情報処理装置の重要度(350)に応じて、前記プロセスデータの価値を決定し、
前記情報処理装置の重要度を受け付ける手段(700,740,742)をさらに備える、構成5に記載の制御システム。
(構成7)
前記1または複数の情報処理装置において実行されているアプリケーションに応じて、前記通信処理部が送信可能な1または複数のデータセットのうち送信を有効化するデータセットを決定する管理手段(10)をさらに備え、
前記評価基準は、前記1または複数のデータセットの各々の有効化の決定を管理することによる前記管理手段にかかる負荷を評価する管理負荷指標(353)を含む、構成1~構成6のうちいずれかに記載の制御システム。
(構成8)
前記評価基準は、複数の評価指標(352,354)を含み、
前記複数の評価指標各々の重要度を受け付ける手段(900,960,962)をさらに備える、構成1~構成7のうちいずれかに記載の制御システム。
(構成9)
通信負荷を監視する監視装置(40)をさらに備え、
前記監視装置は、
前記演算手段(300)と、
前記通信負荷を監視した結果に従って、前記評価基準を更新する更新手段(440)とを備え、
前記決定手段は、前記更新手段によって更新された前記評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する、構成1~構成7のうちいずれかに記載の制御システム(1a)。
(構成10)
制御対象(500)を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御装置(100,100c)と、前記複数のプロセスデータのうち指定された1または複数のプロセスデータの値を利用して1または複数のアプリケーション(220)を実行する1または複数の情報処理装置(200)との間の通信環境の設定を支援する設定装置(20,40,60)であって、
前記制御装置は、予め定められた1または複数のデータセット(50)を周期的に送信するための通信処理部(80,80c)を有し、各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含むように構成されており、
前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する取得手段(320,610)と、
前記取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する決定手段(340,640)とを備える、設定装置。
(構成11)
制御対象(500)を制御するための制御プログラム(120)を実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータ(52)を管理する制御装置(100,100c)と、前記複数のプロセスデータのうち指定された1または複数のプロセスデータの値を利用して1または複数のアプリケーション(220)を実行する1または複数の情報処理装置(200)との間の通信環境の設定を支援する設定プログラム(1110,1210,1312)であって、
前記制御装置は、
予め定められた1または複数のデータセット(50)を周期的に送信するための通信処理部(80,80c)を有し、
各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含み、
前記設定プログラムは、コンピュータ(20,40,60)に、
前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得するステップ(320,610)と、
前記取得するステップにおいて取得されたアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定するステップ(340,640)とを実行させる、設定プログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組み合わせても、実施することが意図される。
1,1a,1c 制御システム、2 情報系ネットワーク、4 制御系ネットワーク、10 管理手段、20 設定装置、21,41,61,110,210 プロセッサ、22,42,244 入力部、23,43,242 表示部、24,44,64,150,250 揮発性メモリ、25,45,65,170,270 不揮発性メモリ、26,46 光学ドライブ、26A,46A 記録媒体、27A,27B,193,294 USBコントローラ、28,48,68,296 プロセッサバス、40 監視装置、47,67,292 通信IF、50 データセット、52 プロセスデータ、54 オブジェクト、60 中継装置、80,80c,90 通信処理部、82 データセット生成手段、84,96 通信ドライバ、92 購読管理手段、94 購読管理情報、98 リンク情報、100,100c コントローラ、120 制御プログラム、180,260 OPC UAプログラム、191 制御系ネットワークIF、192 情報系ネットワークIF、194 メモリカードIF、194A メモリカード、195 内部バスコントローラ、196 チップセット、200 HMI、220 アプリケーション、222 マッピング情報、240 タッチパネル、300,300a 演算手段、320 取得手段、340,640 決定手段、342 価値決定手段、344 候補算出手段、346 評価手段、348 判定手段、350 HMI情報、352 通信負荷指標、353 管理負荷指標、354 通信性能指標、356 通信効率指標、358 優先度情報、360 評価基準、370 価値情報、372 容量情報、374 候補データ、400 送信設定、420 監視手段、440 更新手段、460 比較手段、500 フィールドデバイス、610 購読リスト管理手段、612 購読リスト、620 プロセスデータ管理手段、622 プロセスデータリスト、660 通知手段、680 送受信管理手段、682 トピックリスト、700,900 ユーザインターフェイス、720 ネットワーク構成領域、740 受付領域、742,962 タブ、920 指標領域、940 結果表示領域、960 優先度受付領域、980 開始ボタン、1110,1210,1312 コントローラ設定プログラム、1120,1220,1314 HMI設定プログラム、1140,1240 表示プログラム、1160 評価情報、1180 性能情報、1260 更新プログラム、1280 比較プログラム、1290 監視プログラム、1310 中継プログラム。

Claims (11)

  1. 制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御装置を備え、前記制御装置は、予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有しており、各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含み、
    前記制御装置から送信される前記1または複数のデータセットに含まれるプロセスデータの値を利用して、1または複数のアプリケーションを実行する1または複数の情報処理装置と、
    前記制御装置の通信処理部によるデータセットの送信設定を決定する演算手段とを備え、
    前記演算手段は、
    前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する取得手段と、
    前記取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する決定手段とを含み、
    通信負荷を監視する監視装置をさらに備え、
    前記監視装置は、
    前記演算手段と、
    前記通信負荷を監視した結果に従って、前記評価基準を更新する更新手段とを含み、
    前記決定手段は、前記更新手段によって更新された前記評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する、制御システム。
  2. 前記評価基準は、前記通信処理部が前記1または複数のデータセットを生成するとともに、当該1または複数のデータセットの各々を周期的に送信することにより前記制御装置にかかる負荷を評価する通信負荷指標を含む、請求項1に記載の制御システム。
  3. 前記評価基準は、前記情報処理装置が所定期間の間に受信可能な前記プロセスデータの種類を評価する通信性能指標を含む、請求項1または請求項2に記載の制御システム。
  4. 前記評価基準は、前記制御装置と前記1または複数の情報処理装置との間の通信効率を評価する通信効率指標を含む、請求項1~請求項3のうちいずれかに記載の制御システム。
  5. 前記決定手段は、前記取得手段が取得したプロセスデータの各々について、当該プロセスデータの価値を決定する価値決定手段を有し、
    前記評価基準は、各データセットに含める前記プロセスデータの価値を評価する指標を含む、請求項1~請求項4のうちいずれかに記載の制御システム。
  6. 前記価値決定手段は、前記プロセスデータを利用する情報処理装置の重要度に応じて、前記プロセスデータの価値を決定し、
    前記情報処理装置の重要度を受け付ける手段をさらに備える、請求項5に記載の制御システム。
  7. 前記1または複数の情報処理装置において実行されているアプリケーションに応じて、前記通信処理部が送信可能な1または複数のデータセットのうち送信を有効化するデータセットを決定する管理手段をさらに備え、
    前記評価基準は、前記1または複数のデータセットの各々の有効化の決定を管理することによる前記管理手段にかかる負荷を評価する管理負荷指標を含む、請求項1~請求項6のうちいずれかに記載の制御システム。
  8. 前記評価基準は、複数の評価指標を含み、
    前記複数の評価指標各々の重要度を受け付ける手段をさらに備える、請求項1~請求項7のうちいずれかに記載の制御システム。
  9. 前記監視装置は、更新された前記評価基準に従って新たに決定された送信設定と、利用中の送信設定とを比較し、比較結果をユーザに通知する比較手段をさらに含む、請求項1~請求項8のうちいずれかに記載の制御システム。
  10. 制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御装置と、前記複数のプロセスデータのうち指定された1または複数のプロセスデータの値を利用して1または複数のアプリケーションを実行する1または複数の情報処理装置との間の通信環境の設定を支援する設定装置であって、
    前記制御装置は、予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有し、各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含むように構成されており、
    前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得する取得手段と、
    前記取得手段が取得したアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する決定手段と、
    通信負荷に従って、前記評価基準を更新する更新手段とを備え、
    前記決定手段は、前記更新手段によって更新された前記評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する、設定装置。
  11. 制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御装置と、前記複数のプロセスデータのうち指定された1または複数のプロセスデータの値を利用して1または複数のアプリケーションを実行する1または複数の情報処理装置との間の通信環境の設定を支援する設定プログラムであって、
    前記制御装置は、
    予め定められた1または複数のデータセットを周期的に送信するための通信処理部を有し、
    各データセットは前記複数のプロセスデータのうち予め定められた1または複数のプロセスデータの値を含み、
    前記設定プログラムは、コンピュータに、
    前記1または複数の情報処理装置の各々について、当該情報処理装置において実行される1または複数のアプリケーション毎に必要なプロセスデータを取得するステップと、
    前記取得するステップにおいて取得されたアプリケーション毎に必要なプロセスデータに基づいて、通信負荷に関する予め定められた評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定するステップと、
    通信負荷に従って、前記評価基準を更新するステップとを実行させ、
    前記決定するステップは、前記更新するステップによって更新された前記評価基準に従って、前記通信処理部が送信するデータセットの数、および、各データセットに含ませるべきプロセスデータを決定する、設定プログラム。
JP2019049105A 2019-03-15 2019-03-15 制御システム、設定装置、および設定プログラム Active JP7063292B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019049105A JP7063292B2 (ja) 2019-03-15 2019-03-15 制御システム、設定装置、および設定プログラム
CN202080017199.2A CN113544601B (zh) 2019-03-15 2020-02-07 控制系统、设定装置以及记录介质
US17/434,183 US11886170B2 (en) 2019-03-15 2020-02-07 Control system, setting device and setting program
EP20773713.1A EP3940477B1 (en) 2019-03-15 2020-02-07 Control system, setting device and setting program
PCT/JP2020/004845 WO2020189086A1 (ja) 2019-03-15 2020-02-07 制御システム、設定装置、および設定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019049105A JP7063292B2 (ja) 2019-03-15 2019-03-15 制御システム、設定装置、および設定プログラム

Publications (2)

Publication Number Publication Date
JP2020149630A JP2020149630A (ja) 2020-09-17
JP7063292B2 true JP7063292B2 (ja) 2022-05-09

Family

ID=72430650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019049105A Active JP7063292B2 (ja) 2019-03-15 2019-03-15 制御システム、設定装置、および設定プログラム

Country Status (5)

Country Link
US (1) US11886170B2 (ja)
EP (1) EP3940477B1 (ja)
JP (1) JP7063292B2 (ja)
CN (1) CN113544601B (ja)
WO (1) WO2020189086A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3800864B1 (de) * 2019-10-01 2022-11-23 Siemens Aktiengesellschaft Verfahren zum konfigurieren eines opc ua pubsub teilnehmers, automatisierungssystem, computerprogramm und computerlesbares medium
WO2021130983A1 (ja) * 2019-12-26 2021-07-01 三菱電機株式会社 データ収集分析システム、データ収集分析装置、機械学習装置およびデータ収集分析方法
CN115257878B (zh) * 2022-08-18 2024-03-08 北京协同创新轨道交通研究院有限公司 一种综合监控系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077200A (ja) 2000-09-01 2002-03-15 Omron Corp 管理局及び機器並びにネットワークシステム
JP2015207170A (ja) 2014-04-21 2015-11-19 株式会社東芝 監視制御システム、監視制御装置、およびコントローラ装置
JP2016100846A (ja) 2014-11-25 2016-05-30 富士電機株式会社 コントロールシステム、そのコントローラ、表示装置
JP2018090007A (ja) 2016-11-30 2018-06-14 トヨタ自動車株式会社 車両通信システム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110850A (ja) 1992-09-30 1994-04-22 Hitachi Ltd オンラインシステムの負荷分散方式
JP3144613B2 (ja) * 1994-08-31 2001-03-12 日本電信電話株式会社 データ端末装置におけるデータ通信処理方法及びデータ端末装置
JP3717680B2 (ja) * 1998-10-20 2005-11-16 株式会社エヌ・ティ・ティ・ドコモ 疑似呼試験方法および疑似呼試験プログラムを記録した記録媒体
JP2001034321A (ja) * 1999-07-23 2001-02-09 Matsushita Electric Ind Co Ltd 最適生産計画作成方法及び装置
DE29914463U1 (de) * 1999-08-20 2000-09-28 Siemens AG, 80333 München Projektierungseinheit für korrespondierende Diagnosedatensätze eines Systems mit Steuerungseinheit und Bedien- und/oder Beobachtungseinheit, und System mit Mitteln zum Versionsvergleich von zugeordneten Diagnosedatensätzen
AU2003216451A1 (en) * 2002-03-01 2003-09-16 Fisher-Rosemount Systems, Inc. Integrated alert generation in a process plant
JP2003271232A (ja) * 2002-03-12 2003-09-26 Tokyo Electron Ltd 製造装置の遠隔保守・診断用データを収集する方法及びシステム
DE10223966A1 (de) * 2002-05-29 2003-12-18 Siemens Ag Verfahren und Anordnung zur Aktualisierung einer an ein Automatisierungssystem angeschlossenen Bedienstation
CN101228544A (zh) * 2005-07-27 2008-07-23 松下电器产业株式会社 评价装置、评价方法、评价程序和集成电路
TW200841189A (en) 2006-12-27 2008-10-16 Ibm Technique for accurately detecting system failure
JP4383476B2 (ja) * 2007-10-05 2009-12-16 新日本製鐵株式会社 プラント制御システム及び方法
CN101750992B (zh) * 2008-12-02 2012-06-06 杨成 一种应用于可编程序控制器的通用顺序控制算法
JP2012118715A (ja) * 2010-11-30 2012-06-21 Fuji Electric Co Ltd Plcシステム、その開発支援装置、プログラム
JP5284402B2 (ja) * 2011-03-28 2013-09-11 株式会社東芝 遠隔情報収集装置およびプログラム
DE102011081796A1 (de) * 2011-08-30 2013-02-28 Endress + Hauser Gmbh + Co. Kg Verfahren zum Bedienen eines Feldgerätes
EP2946252B1 (en) * 2013-01-16 2020-08-26 Siemens Aktiengesellschaft Automated input simulation for simulated programmable logic controller
CN104049575B (zh) * 2013-03-14 2018-10-26 费希尔-罗斯蒙特系统公司 在过程控制系统中收集并且向大数据机器递送数据
US10372107B2 (en) * 2014-10-15 2019-08-06 Rockwell Automation Technologies, Inc. Custom properties in an application environment
JP6052265B2 (ja) * 2014-10-21 2016-12-27 横河電機株式会社 I/oモジュール、設定装置、及びプロセス制御システムの構築方法
WO2016157467A1 (ja) 2015-03-31 2016-10-06 株式会社Ubic データ分析システム、データ分析方法、データ分析プログラム、および、記録媒体
JP6443190B2 (ja) * 2015-04-06 2018-12-26 オムロン株式会社 プログラマブルロジックコントローラ、プログラマブルロジックコントローラの制御方法、及び、制御プログラム
JP6590726B2 (ja) 2016-02-17 2019-10-16 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の設計装置、プログラマブル表示器の設計方法、プログラマブル表示器の操作方法、プログラマブル表示器の設計プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器
US10118292B2 (en) * 2016-08-18 2018-11-06 Saudi Arabian Oil Company Systems and methods for configuring field devices using a configuration device
US10976714B2 (en) * 2016-10-08 2021-04-13 People Power Company Systems and methods for evaluating sensor data of internet-of-things (IoT) devices and responsively controlling control devices
JP6927089B2 (ja) * 2018-03-05 2021-08-25 オムロン株式会社 制御装置、システムプログラム、制御方法
JP7010185B2 (ja) * 2018-09-21 2022-01-26 オムロン株式会社 マスタ装置、マスタ装置の制御方法、情報処理プログラム、および記録媒体
JP6757385B2 (ja) * 2018-10-23 2020-09-16 株式会社キーエンス プログラマブルロジックコントローラおよびメインユニット
US11599081B2 (en) * 2018-11-13 2023-03-07 Rockwell Automation Technologies, Inc. Method and apparatus for proxy execution and computation with an industrial controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077200A (ja) 2000-09-01 2002-03-15 Omron Corp 管理局及び機器並びにネットワークシステム
JP2015207170A (ja) 2014-04-21 2015-11-19 株式会社東芝 監視制御システム、監視制御装置、およびコントローラ装置
JP2016100846A (ja) 2014-11-25 2016-05-30 富士電機株式会社 コントロールシステム、そのコントローラ、表示装置
JP2018090007A (ja) 2016-11-30 2018-06-14 トヨタ自動車株式会社 車両通信システム

Also Published As

Publication number Publication date
JP2020149630A (ja) 2020-09-17
CN113544601A (zh) 2021-10-22
EP3940477B1 (en) 2024-09-25
CN113544601B (zh) 2024-06-04
US11886170B2 (en) 2024-01-30
WO2020189086A1 (ja) 2020-09-24
EP3940477A1 (en) 2022-01-19
EP3940477A4 (en) 2022-12-07
US20220147021A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
JP7063292B2 (ja) 制御システム、設定装置、および設定プログラム
JP6768262B2 (ja) プロセス制御システムにおけるビッグデータ
EP3931790A1 (en) Systems, devices, and methods for internet of things integrated automation and control architectures
CN101315558B (zh) 用于存取与过程控制系统有关的信息的设备及方法
US10712731B2 (en) Control device, control method, and non-transitory computer-readable recording medium
US10466686B2 (en) System and method for automatic configuration of a data collection system and schedule for control system monitoring
JP2018055565A (ja) アプリケーション開発環境提供システム、アプリケーション開発環境提供方法、アプリケーション開発環境提供プログラム、および情報処理装置
WO2020163120A1 (en) Efficient scaling of a container-based application in a distributed computing system
JP2020149439A (ja) 制御システム、サポート装置およびサポート装置用のプログラム
WO2020189204A1 (ja) 制御システム、中継装置、および中継プログラム
JP7036069B2 (ja) 制御システム、中継装置、および中継プログラム
JP7040484B2 (ja) 制御システム、サポート装置、およびサポートプログラム
WO2017203556A1 (ja) 管理計算機及びシステムのパラメータの最適値算出方法
EP4325795A1 (en) Background discovery agent orchestration
JPWO2014076951A1 (ja) プログラム設定装置、及び、プログラム設定方法
EP4332705A1 (en) Industrial automation system topology with point to point representation paths
US20240020741A1 (en) Catalog service replication
CN113678422B (zh) 用于转发节点数据的方法和聚合服务器
US20240295871A1 (en) Systems and methods for recurring industrial automation project design validation
US20240295872A1 (en) Container orchestration based on industrial design environment control architecture
CN115767664A (zh) 一种数据传输方法及装置、设备、存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220404

R150 Certificate of patent or registration of utility model

Ref document number: 7063292

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150