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

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

Info

Publication number
JP7111038B2
JP7111038B2 JP2019049106A JP2019049106A JP7111038B2 JP 7111038 B2 JP7111038 B2 JP 7111038B2 JP 2019049106 A JP2019049106 A JP 2019049106A JP 2019049106 A JP2019049106 A JP 2019049106A JP 7111038 B2 JP7111038 B2 JP 7111038B2
Authority
JP
Japan
Prior art keywords
data
application
process data
transmission
data set
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
JP2019049106A
Other languages
English (en)
Other versions
JP2020149631A (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 JP2019049106A priority Critical patent/JP7111038B2/ja
Priority to EP20773044.1A priority patent/EP3940475A4/en
Priority to US17/434,787 priority patent/US20220140888A1/en
Priority to CN202080017364.4A priority patent/CN113544602A/zh
Priority to PCT/JP2020/007781 priority patent/WO2020189204A1/ja
Publication of JP2020149631A publication Critical patent/JP2020149631A/ja
Application granted granted Critical
Publication of JP7111038B2 publication Critical patent/JP7111038B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

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

Description

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

Claims (6)

  1. 制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
    前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、
    前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
    前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段と、
    前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定する管理手段とをさらに備え
    前記管理手段は、前記複数のデータセットと前記複数のプロセスデータとの関係を特定可能なデータセットリストを格納するメモリを含み、
    前記アプリケーション実行手段は、第1アプリケーションの実行に必要な第1プロセスデータの送信を前記管理手段に要求し、
    前記管理手段は、前記第1プロセスデータの送信の要求を受信した場合、前記データセットリストを参照して、前記第1プロセスデータに対応する第1データセットを決定し、前記第1データセットの送信を前記送信手段へ要求し、
    前記送信手段は、前記第1データセットを繰り返し前記アプリケーション実行手段へ送信する動作を開始し、
    前記アプリケーション実行手段は、実行するアプリケーションをユーザ操作に応じて前記第1アプリケーションから第2アプリケーションに変更するときに、前記第1プロセスデータの送信停止と、前記第2アプリケーションの実行に必要な第2プロセスデータの送信とを前記管理手段に要求し、
    前記管理手段は、前記第1プロセスデータの送信停止の要求を受信した場合、前記データセットリストを参照して、前記第1プロセスデータの送信停止の要求に対応する前記第1データセットを決定し、前記送信手段へ前記第1データセットの送信停止を要求し、
    前記管理手段は、前記第2プロセスデータの送信の要求を受信した場合、前記データセットリストを参照して、前記第2プロセスデータに対応する第2データセットを決定し、前記第2データセットの送信を前記送信手段へ要求し、
    前記送信手段は、前記第2データセットを繰り返し前記アプリケーション実行手段へ送信する動作を開始する、制御システム。
  2. 前記メモリには、前記アプリケーション実行手段において実行されるアプリケーションに応じて前記複数のデータセットの各々の有効および無効を特定するための有効/無効情報がさらに格納され、
    前記管理手段は、前記アプリケーション実行手段において実行されるアプリケーションに応じて、前記有効/無効情報を更新する、請求項1に記載の制御システム。
  3. 前記制御システムは、制御装置および表示装置を備え、
    前記制御手段および前記送信手段は前記制御装置に実装され、
    前記アプリケーション実行手段は前記表示装置に実装され、
    前記管理手段は、前記制御装置および前記表示装置とは独立して実装される、請求項1または請求項2に記載の制御システム。
  4. 前記制御システムは、制御装置および表示装置を備え、
    前記制御手段、前記送信手段および前記管理手段は前記制御装置に実装され、
    前記アプリケーション実行手段は前記制御装置に実装される、請求項1または請求項2に記載の制御システム。
  5. 制御システムに配置された中継装置であって、
    前記制御システムは、
    制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
    前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、
    前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み
    前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段をさらに備え、
    前記中継装置は、前記アプリケーション実行手段により実行されているアプリケーションに応じて、前記送信手段が送信可能な前記複数のデータセットのうち送信を有効化するデータセットを決定し、
    前記中継装置は、前記複数のデータセットと前記複数のプロセスデータとの関係を特定可能なデータセットリストを格納するメモリを含み、
    前記アプリケーション実行手段は、第1アプリケーションの実行に必要な第1プロセスデータの送信を前記中継装置に要求し、
    前記中継装置は、前記第1プロセスデータの送信の要求を受信した場合、前記データセットリストを参照して、前記第1プロセスデータに対応する第1データセットを決定し、前記第1データセットの送信を前記送信手段へ要求し、
    前記送信手段は、前記第1データセットを繰り返し前記アプリケーション実行手段へ送信する動作を開始し、
    前記アプリケーション実行手段は、実行するアプリケーションをユーザ操作に応じて前記第1アプリケーションから第2アプリケーションに変更するときに、前記第1プロセスデータの送信停止と、前記第2アプリケーションの実行に必要な第2プロセスデータの送信とを前記中継装置に要求し、
    前記中継装置は、前記第1プロセスデータの送信停止の要求を受信した場合、前記データセットリストを参照して、前記第1プロセスデータの送信停止の要求に対応する前記第1データセットを決定し、前記送信手段へ前記第1データセットの送信停止を要求し、
    前記中継装置は、前記第2プロセスデータの送信の要求を受信した場合、前記データセットリストを参照して、前記第2プロセスデータに対応する第2データセットを決定し、前記第2データセットの送信を前記送信手段へ要求し、
    前記送信手段は、前記第2データセットを繰り返し前記アプリケーション実行手段へ送信する動作を開始する、中継装置。
  6. 制御システムに配置された情報処理装置で実行される中継プログラムであって、
    前記制御システムは、
    制御対象を制御するための制御プログラムを実行するとともに、当該制御プログラムにおいて参照または更新される複数のプロセスデータを管理する制御手段と、
    前記制御手段が管理する前記複数のプロセスデータの値を含む複数のデータセットを送信可能な送信手段とを備え、
    前記複数のデータセットの各々は予め定められた1または複数のプロセスデータの値を含み、
    前記送信手段により送信されるデータセットに含まれるプロセスデータの値を利用して1または複数のアプリケーションを実行するアプリケーション実行手段をさらに備え、
    前記アプリケーション実行手段は、第1アプリケーションの実行に必要な第1プロセスデータの送信を前記情報処理装置に要求し、
    前記アプリケーション実行手段は、実行するアプリケーションをユーザ操作に応じて前記第1アプリケーションから第2アプリケーションに変更するときに、前記第1プロセスデータの送信停止と、前記第2アプリケーションの実行に必要な第2プロセスデータの送信とを前記情報処理装置に要求し、
    前記中継プログラムは、前記情報処理装置に、
    前記送信手段が送信可能な前記複数のデータセットの情報を管理するステップを含み、
    前記管理するステップは、
    前記第1プロセスデータの送信の要求を前記アプリケーション実行手段から受信した場合、前記複数のデータセットと前記複数のプロセスデータとの関係を特定可能なデータセットリストを参照して、前記第1プロセスデータに対応する第1データセットを決定し、前記アプリケーション実行手段への前記第1データセットの繰り返しの送信を前記送信手段へ要求するステップと、
    前記第1プロセスデータの送信停止の要求を受信した場合、前記データセットリストを参照して、前記第1プロセスデータの送信停止の要求に対応する前記第1データセットを決定し、前記送信手段へ前記第1データセットの送信停止を要求するステップと、
    前記第2プロセスデータの送信の要求を受信した場合、前記データセットリストを参照して、前記第2プロセスデータに対応する第2データセットを決定し、前記アプリケーション実行手段への前記第2データセットの繰り返しの送信を前記送信手段へ要求するステップとを含む、中継プログラム。
JP2019049106A 2019-03-15 2019-03-15 制御システム、中継装置、および中継プログラム Active JP7111038B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019049106A JP7111038B2 (ja) 2019-03-15 2019-03-15 制御システム、中継装置、および中継プログラム
EP20773044.1A EP3940475A4 (en) 2019-03-15 2020-02-26 CONTROL SYSTEM, RELAY DEVICE AND RELAY PROGRAM
US17/434,787 US20220140888A1 (en) 2019-03-15 2020-02-26 Control system, relay device, and relay program
CN202080017364.4A CN113544602A (zh) 2019-03-15 2020-02-26 控制系统、中继装置以及中继程序
PCT/JP2020/007781 WO2020189204A1 (ja) 2019-03-15 2020-02-26 制御システム、中継装置、および中継プログラム

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2020149631A JP2020149631A (ja) 2020-09-17
JP7111038B2 true JP7111038B2 (ja) 2022-08-02

Family

ID=72430655

Family Applications (1)

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

Country Status (5)

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

Families Citing this family (1)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017511942A (ja) 2014-03-14 2017-04-27 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセス制御システムにおける分散ビッグデータ、プロセス制御デバイス、分散ビッグデータの支援方法、プロセス制御デバイス
JP2018106493A (ja) 2016-12-27 2018-07-05 オムロン株式会社 データフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラム
JP6451820B1 (ja) 2017-08-09 2019-01-16 オムロン株式会社 センサ管理ユニット、センサ装置、センサ管理方法及びセンサ管理プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2525068B2 (ja) * 1990-04-27 1996-08-14 日産自動車株式会社 シ―ケンス制御のモニタ方法
DE19845764A1 (de) * 1998-10-05 2000-04-13 Siemens Ag Speicherprogrammierbare Steuerung mittels Datenverwaltung über Netzrechner und Verfahren zum Betrieb einer speicherprogrammierbaren Steuerung
JP4347445B2 (ja) * 1999-02-23 2009-10-21 株式会社キーエンス 表示中継装置
US7720727B2 (en) * 2001-03-01 2010-05-18 Fisher-Rosemount Systems, Inc. Economic calculations in process control system
JP2002358105A (ja) * 2001-05-31 2002-12-13 Digital Electronics Corp 制御用コンピュータ、そのプログラム、および、それが記録された記録媒体
US8738159B2 (en) * 2004-03-15 2014-05-27 Siemens Industry, Inc. System and method for accessing PLC data on demand
US8332499B2 (en) * 2008-12-04 2012-12-11 Sony Computer Entertainment Inc. Virtual space management system
JP4876138B2 (ja) * 2009-03-24 2012-02-15 株式会社日立産機システム 制御用計算機および制御システム
JP4752984B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
CN104049575B (zh) * 2013-03-14 2018-10-26 费希尔-罗斯蒙特系统公司 在过程控制系统中收集并且向大数据机器递送数据
JP5975964B2 (ja) * 2013-10-18 2016-08-23 富士通株式会社 情報処理プログラム、情報処理方法、情報処理装置、及び情報処理システム
JP6481267B2 (ja) * 2014-06-27 2019-03-13 オムロン株式会社 プログラマブル表示器
US10372107B2 (en) * 2014-10-15 2019-08-06 Rockwell Automation Technologies, Inc. Custom properties in an application environment
JP2016126495A (ja) * 2014-12-26 2016-07-11 株式会社キーエンス 組込機器設定システム
CN104834286B (zh) * 2015-03-30 2017-07-11 北京经纬恒润科技有限公司 一种重编程方法、系统、重编程设备及电子控制单元
JP6590726B2 (ja) 2016-02-17 2019-10-16 株式会社キーエンス プログラマブル表示器及びこれを備えるプログラマブルシステム、プログラマブル表示器の設計装置、プログラマブル表示器の設計方法、プログラマブル表示器の操作方法、プログラマブル表示器の設計プログラム及びコンピュータで読み取り可能な記録媒体並びに記憶した機器
JP6919404B2 (ja) * 2017-08-10 2021-08-18 オムロン株式会社 制御装置
JP7069962B2 (ja) * 2018-03-29 2022-05-18 株式会社リコー 情報処理装置、情報処理システム、制御方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017511942A (ja) 2014-03-14 2017-04-27 フィッシャー−ローズマウント システムズ,インコーポレイテッド プロセス制御システムにおける分散ビッグデータ、プロセス制御デバイス、分散ビッグデータの支援方法、プロセス制御デバイス
JP2018106493A (ja) 2016-12-27 2018-07-05 オムロン株式会社 データフロー制御指令発生装置、データフロー制御指令発生方法及びデータフロー制御指令発生プログラム
JP6451820B1 (ja) 2017-08-09 2019-01-16 オムロン株式会社 センサ管理ユニット、センサ装置、センサ管理方法及びセンサ管理プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6012727B2 (ja) 設備管理システム、設備管理装置、設備管理方法及びプログラム
KR102486704B1 (ko) 감시제어데이터수집시스템에서의 클라이언트 및 서버
US11886170B2 (en) Control system, setting device and setting program
JP2013542524A (ja) 分散制御システムのためのインテリジェントインタフェース
US8249100B2 (en) Method and arrangement for providing duplex communications between a client application and a service using an http request/reply channel
EP3489776B1 (en) Control device, control method, and program
JP7111038B2 (ja) 制御システム、中継装置、および中継プログラム
JP6575311B2 (ja) ネットワークシステムおよび制御装置
JP7080096B2 (ja) 機器制御装置、機器制御システム、機器制御方法および機器制御プログラム
JP6878697B2 (ja) データ処理装置、データ処理方法およびプログラム
JP7077840B2 (ja) メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法
JP7036069B2 (ja) 制御システム、中継装置、および中継プログラム
US20220137584A1 (en) Control system, support device, and support program
US11044320B2 (en) Data distribution method for a process automation and internet of things system
JP7499269B2 (ja) ノードデータを転送するための集約サーバおよび方法
EP2115619A2 (en) Communication socket state monitoring system and methods thereof
JP2017138847A (ja) サーバ管理システム、サーバ、サーバ管理方法およびサービスプロセッサ
GB2572744A (en) Data collection control apparatus
US20170289295A1 (en) Interface for a client of a network device

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R150 Certificate of patent or registration of utility model

Ref document number: 7111038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150