(58)【調査した分野】(Int.Cl.,DB名)
1以上の製造機械に関するデータを処理する第1のネットワークと、前記1以上の製造機械に接続された複数のプログラマブルロジックコントローラ(PLC)を管理する第2のネットワークとを含む製造現場システムにおける変化を、装置が検出する方法であって、
前記装置が、前記第2のネットワークを介して前記複数のPLCを監視し、前記複数のPLCの各PLCは、前記1以上の製造機械に関連付けられており、
前記装置が、前記監視が前記第2のネットワークにおける変化を示す場合に、前記第2のネットワークにおける変化に基づき前記製造現場システムの階層を更新し、
前記第2のネットワークにおける変化は、前記複数のPLCの1つに関連付けられた異なる1以上の製造機械を伴う変化、または前記複数のPLCの1つに関連付けられた前記1以上の製造機械の実行順序における変化を含み、
前記第2のネットワークを介して前記複数のPLCを監視することは、
オブジェクト識別子取得要求を前記複数のPLCに発行することにより、PLC状態挙動を監視し、
前記オブジェクト識別子取得要求に対する応答から、前記複数のPLC及び前記1以上の製造機械の識別子に関連付けられた情報を処理し、
前記複数のPLC及び前記1以上の製造機械の識別子に関連付けられた情報がPLC状態挙動に関する情報のリポジトリと比較して新しい情報を含む場合に、前記PLC状態挙動に関する情報のリポジトリを、前記複数のPLC及び前記1以上の製造機械の識別子に関連付けられた情報により更新する、ことを含む方法。
【発明を実施するための形態】
【0011】
以下の詳細な説明は、本願の図及び実施例のさらなる詳細を提供する。図面間の冗長要素の参照番号及び説明は、明確にするために省略されている。説明全体で使用される用語は例として提供されており、限定することを意図したものではない。例えば、「自動」という用語の使用は、本願の実装を実施する当業者の所望の実装に応じて、実装の特定の側面に対するユーザまたは管理者の制御を伴う完全自動または半自動実装を含み得る。選択は、ユーザがユーザインターフェイスまたは他の入力手段を介して実行するか、目的のアルゴリズムを使用して実装できる。本明細書で説明される実施例は、単独でまたは組み合わせて利用することができ、実施例の機能は、所望の実装による任意の手段を通じて実装することができる。
【0012】
再配置検出方法及びそのシステムの実施例を以下に説明する。
図1は、実施例による例示的な再配置検出システムのシステム構成図を示す。製造現場システム100には、データレベルネットワーク101、制御レベルネットワーク102、及び現場レベルネットワーク103があり、製造現場の製造エリアを管理する。データレベルネットワーク101は、ネットワークデバイス111を介してイーサネット(登録商標)及びインターネットプロトコル(IP)により構築することができ、ITサーバ120にデータを提供する。上位PLC112は、製造実行システム(MES)110により処理されるデータを提供する。製造実行システム110は、受け取ったデータを分析し、生産現場のシステムの結果、例えば生産性メトリックスなどを、目的の実装に従って提供する。
【0013】
制御レベルネットワーク102は、ITプロトコルとは異なり、リアルタイムの高可用性データフローを必要とする工業実装を容易とするために特別な機能を利用するイーサネット及び産業用イーサネットプロトコルにより構築することができる。制御レベルネットワーク102の仕様の例には、所望の実装に従って、CC−Link、PROFINET、EtherNet/IP、EtherCATなどを含めることができる。制御レベルネットワーク102では、通常のIT環境とは異なり、スター、リング、ラインなどのトポロジが使用される。ネットワークデバイス114は、監視制御及びデータ取得(SCADA)によって実行されるデータ処理に基づいて、再配置検出サーバ130及び上位PLC112にデータを提供し、PLC116−1、116−2からデータを受信する。
【0014】
現場レベルネットワーク103は、RS−485またはイーサネット及び産業用イーサネットプロトコルなどのシリアルケーブルを含むことができる。実施例において、現場レベルネットワーク103用の産業用イーサネットプロトコルは、通常、リアルタイム通信をより厳密に保証する。現場レベルネットワーク103の仕様の例は、所望の実装に従って、CC−Link、PROFIBUS、DeviceNetなどを含むことができる。実施例では、信号の影響を回避するために、現場レベルネットワーク103でライントポロジが使用される。現場レベルネットワーク103は、製造機械117−1、117−2、及びそれらに対応するPLC116−1、116−2などの資産を含む。
【0015】
ITサーバ120は、データレベルネットワーク101のMES110及び制御レベルネットワーク102のPLC116から生産性データを取得し、そのデータをデータレイク122に格納するメトリックス取得部121を含むことができる。ソリューションアプリケーション123は、データレイク122の検索及び編集を行い、製造マネージャ124によって分析される主要業績評価指標(KPI)を生成する。
【0016】
取得部コンフィギュレータ150は、製造現場システム100内の資産の情報を格納する資産リポジトリ152を含むことができる。現場オペレータ153または再配置検出サーバ130は、資産マネージャ151に命令を発行し、資産マネージャ151はその命令を受けて、資産リポジトリ152に格納された情報を編集する。その情報は、PLC116−1、116−2からのどのデータが製造機械117−1、117−2のどの動作に対応するかを示すので、KPIを生成するために利用される。PLC116−1、116−2からのデータは、PLC ID、メトリックス及び値(例えば、PLC ID#1、LotCountは1000)などのデータセットを含む。
【0017】
図1に示すシステムでは、製造現場システム100及びITサーバ120を含む第1のネットワークがあり、それらはデータレベルネットワーク101上のネットワークデバイス111を介して通信するる。第1のネットワークは、上位PLC112などのPLCを含む。ITサーバ120は、第1のネットワークを介してデータを管理し、処理のためにデータをデータレイク122に格納し、処理された結果を取得部コンフィギュレータ150に提供する。現場オペレータ153は、ITサーバ120の結果に基づいて取得部コンフィギュレータ150を管理する。
【0018】
さらに、ネットワークデバイス114によって管理される制御レベルネットワーク102を含む第2のネットワークもあり、基礎となるPLC116−1、116−2を管理する。製造現場システム100の実装では、第1のネットワークは第2のネットワークから隔離され、製造現場システムはセキュリティ上の理由で外界から隔離され、ITサーバ120などの管理サーバ以外ではアクセスできない。製造機械117−1、117−2が異なる場所に移動され、異なるPLCによって管理されている場合、離れた現場オペレータ153は、現場レベルネットワーク103に変更が加えられた時期を判断できない。
【0019】
上記の問題に対処するために、実施例は、再配置検出サーバ130を含み、再配置検出サーバ130は、第2のネットワークに通信可能に結合されるようにネットワークデバイス114に接続される。再配置検出サーバ130は、挙動モニタ132によって監視されるデータに基づいて製造現場システム100内の資産の再配置を検出する再配置検出部131を含む。挙動モニタ132は、PLC状態モニタ133、ディープパケットインスペクション(DPI)モニタ134、及びネットワークモニタ135などの機能を含む。挙動モニタ132からのデータは、監視リポジトリ141により管理することができ、リポジトリ141は、PLC状態リポジトリ142、DPI監視結果リポジトリ143、及びネットワーク監視結果リポジトリ144を含むことができる。再配置検出サーバ130は、配置パターンを検出するための配置パターンリポジトリ140も維持する。ネットワークデバイス114からのネットワークデータ、PLC状態、及びDPIを分析することにより、ここで説明する実施例は、PLC116−1、PLC116−2、または製造機械117−1、117−2に直接アクセスする必要なく、現場レベルネットワーク103の変更が発生したときを検出できる。再配置検出サーバ130は、取得部コンフィギュレータ150へのメッセージを生成して、製造現場システム100の階層及び基礎構造に関する更新を提供することができ、一方で、承認されていないデバイスからPLC116−1、PLC116−2、及び製造機械117−1、117−2へのアクセスを保護するように、第1ネットワークと第2ネットワークとの間の分離を維持することができる。
【0020】
図2は、実施例に従って再配置を検出するためのシーケンス例を示す。挙動モニタ132はプロセス200を実行して、201においてポーリングにより製造現場システム100から挙動データを取得し、202において製造現場システム100内の資産の再配置を検出するためにデータを処理する。203において、挙動モニタ132により処理されたデータは、リポジトリ141に格納される。
【0021】
再配置検出部131は、プロセス210を実行し、プロセス210は、211でポーリングによりリポジトリ141からデータを取得し、212で配置パターンリポジトリ140からデータを取得し、213でリポジトリ141から取得したデータと配置パターンリポジトリ140から取得したデータとの差を比較し、214で適用可能な通知メッセージ215を送信し、216でリポジトリを更新する、ことを含む。リポジトリ141から取得したデータと配置パターンリポジトリ140から取得したデータとの比較を通じて、再配置検出部131は、製造現場システム100の基礎となる資産に対する構成の変化を決定することができる。
【0022】
資産マネージャ151は、通知メッセージ215を受信し、221で通知メッセージ215に基づいて221で資産リポジトリ152を更新するプロセス220を実行する。資産マネージャ151が、製造現場システム100のネットワークから隔離されたネットワーク上にある場合でも、通知メッセージ215を通じて、資産マネージャ151は、製造現場システム100内の資産の基礎となる配置を知ることができる。
【0023】
本例では、挙動モニタ132は、
図1で説明した3種類のモニタ133、134、135を含む。監視リポジトリ141は、
図1で説明したように、3つのタイプのリポジトリ142、143、144を含む。使用されるモニタのタイプは、製造現場システム100の環境に依存する可能性がある。したがって、その場合、いずれかのモニタ及びリポジトリが使用されない可能性がある。
【0024】
図3は、実施例によるPLC状態モニタ133の例示的なフロープロセスを示す。具体的には、
図3のフローは、プロセス201、202、及び203を実行するための例示的なステップとともに、挙動モニタ132のプロセスの一部としてPLC状態モニタ133によって利用されるPLCの状態を監視するプロセス200の例である。201−1−1において、PLC状態モニタ133は、「snmp get request OID+=1.3.6.1.4…」を、上位PLC112及びPLC116−1、116−2に発行する。言い換えると、snmp取得要求は、PLC116−1、116−2及び対応する製造機械117−1、117−2のIDを返すオブジェクト識別子(OID)を設定する。201−1−2で、PLC状態モニタ133は、上位PLC112からsnmp取得応答を受信する。202−1で、PLC状態モニタ133は、SNMP応答からのPLC116−1、116−2及び製造機械117−1、117−2のIDを含むデータを処理する。203−1−1で、処理されたデータがPLC状態リポジトリ142内の一意のデータである(例えば、レコードが存在しない)かどうかについて、PLC状態モニタ133により決定が行われる。そうでない場合(N)、フローはPLCに変更が加えられていないため終了し、さもなくば(Y)、フローは203−1−2に進む。
【0025】
203−1−2において、PLC状態リポジトリ142の現在のカラムは「No」に更新される。203−1−3で、処理されたデータはPLC状態リポジトリ142に挿入され、現在のカラムはyesに設定されて更新を示す。
図3に示すように、PLC状態モニタ133は、上位PLC112及びPLC116−1、116−2に何らかの管理プロトコルを発行する。この実施例では、PLC状態モニタ133は、SNMPプロトコルを使用する。しかしながら、PLC状態モニタ133は、所望の実装に従って、LLDP(Link Layer Discovery Protocol)、SLMP(Seamless Message Protocol)、ベンダー固有のプロトコルなどの別のプロトコルを使用してもよい。
【0026】
図4は、実施例によるPLC状態リポジトリ142のテーブルの例を示す。PLC状態リポジトリ142のエントリ例には、エントリがPLCの現在の状態を反映しているかどうかを示す現在(Current)カラム401、PLC状態ID(PLC Status ID)402、上位PLC ID(Higher PLC ID)403、PLC ID404、機械ID(Machine ID)405、及び機械順序(Machine Order)406(例えば、製造プロセスのための機械の実行の順序)がある。エントリ例410から417は、製造現場システム100の状態を示している。例えば、製造現場システム100の以前の構成(現在カラム401がNo)では、エントリ414から417は、PLCがPLC状態#2において動作していることを示し、PLC状態#2において、PLC#2が特定の順序で実行する製造機械#1及び#2を管理し、PLC#1が特定の順序で実行する製造機械#3及び#4を管理する。製造現場システム100の現在の構成(現在カラム401がYes)は、PLCがPLC状態#1において動作していることを示し、PLC状態#1において、PLC#1が特定の順序で実行する製造機械#1及び#2を管理し、PLC#2が特定の順序で実行する製造機械#3及び#4を管理する。この実施例では、PLC状態#2からPLC状態#1への移行により、製造機械#1及び#2の位置と製造機械#3及び#4の位置が切り替わっていることがわかる。
【0027】
管理プロトコルを使用することにより、PLC状態モニタ133は、PLC内の順序を示す機械順序146を取得することができる。機械順序406は、所望の実装に従って、管理プロトコルの応答のデータ構造または特定のID(例えば、ネットワークID、ステーションID)などで提示される。
【0028】
図5は、実施例によるDPIモニタ134の例示的なフロープロセスを示している。実施例では、DPIモニタ134は、挙動モニタ132のプロセス200中に実行され、以下のように201、202及び203でのプロセスを可能とするステップを実行する。201−2で、DPIモニタ134は、制御レベルネットワーク102上のネットワークデバイス114を介して、最新のDPIストリームを取得する。202−2−1で、DPIモニタ134は、送信器及び受信器のホストIDによってDPIストリームを分離する。このプロセスの例示的な実行において、DPIモニタ134は、送信器及び受信器のホストIDのすべての組み合わせに対して、所望の実装に従ってフィルタ「host ID of sender && host ID of receiver」を適用するように構成できる。目的の実装に応じて、IPアドレスまたはMACアドレスをホストIDとして使用できる。
【0029】
202−2−2で、DPIモニタ134は、すべての分離されたDPIストリームについて、分離されたDPIストリームからの特徴を処理する。特徴の処理は次のように実行できる。分離されたDPIストリームごとに、「udp contains POSITION」フィルタを適用し、「udp contains CONTROL」フィルタを適用し、「udp contains SLOTON」フィルタを適用する。202−2−3で、DPIモニタ134は、周期的シーケンスを処理する。203−2−1で、処理されたデータがDPI監視結果リポジトリ143のエントリに固有のデータであるかどうかが判断される。そうでない場合(N)、フローは終了し、さもなくば(Y)、DPI監視結果リポジトリ143で現在カラムがNoに更新され、エントリが製造現場システム100の現在のアーキテクチャを反映していないことを示す。203−2−3で、処理されたデータがDPI監視結果リポジトリ143に挿入されるとともに、現在カラムのフィールドがYesに設定されて、エントリが製造現場システム100の現在のアーキテクチャを反映していることを示す。
【0030】
実施例では、DPIモニタ134は、制御レベルネットワーク102への影響を回避するために、DPIモニタ134がパケットをキャプチャするときに、ネットワークデバイス114のミラーリングポートを使用する。製造機械は、製品を安定して製造するために定期的に移動またはルーチンを変更することがあるため、DPIモニタ134は、上位PLC112及びPLC116−1、116−2並びに製造機械117−1、117−2が定期的に通信する方法を利用する。
【0031】
図6は、実施例によるDPI監視結果リポジトリ143の例を示している。DPI監視結果リポジトリ143のエントリのフィールドは、エントリが製造現場システム100の現在の状態を反映しているかどうかを示す現在(Current)カラム601、DPI状態ID(DPI Status ID)602、シーケンス番号(Sequence No)603、シーケンス期間(Sequence Period)604、トランザクション番号(Transaction No)605、上位PLCID(Higher PLC ID)606、PLCID607、上位PLCからのメッセージ(Message from Higher PLC)608、及びPLCからのメッセージ(Message from PLC)609を含むことができる。たとえば、エントリ610から616の現在フィールドはYesであり、これらのエントリが製造現場システム100の現在のアーキテクチャを反映していることを示す。現在フィールドがNoであるエントリ620から626は、以前のアーキテクチャであることを示す。
【0032】
この例では、1つのDPI状態は複数のシーケンスを含む。1つのシーケンスには複数のトランザクションが含まれる。トランザクションを分析することにより、DPIモニタ134は、PLC116−1、116−2の下での各製造機械117−1、117−2の挙動だけでなく、また、PLC116−1、116−2の下での各製造機械117−1、117−2の順序も認識できる。
【0033】
図7は、実施例によるネットワークモニタ135の例示的なフロープロセスを示している。ネットワークモニタ135は、挙動モニタ132のプロセス200中に実行することができ、以下のステップを介して201、202及び203のプロセスの実行を可能とする。201−3−1で、ネットワークモニタ135は、制御レベルネットワーク102上のネットワークデバイス114に「snmp get request OID=1.3.6.1.4…」を複数回発行する。つまり、ネットワークモニタ135は、ネットワークデバイス114に、パケット番号とトラフィック量を返すOIDを設定する。201−3−2で、ネットワークモニタ135は、ネットワークデバイス114からsnmp取得応答を受信する。202−3で、snmp取得応答は、トップ及びボトムの1秒あたりのパケットと1秒あたりのビット値に対して処理される。203−1−1で、ネットワークモニタ135は、処理されたデータが、ネットワーク監視結果リポジトリ144のエントリの観点から一意のデータを表すかどうかを判定する。そうでない場合(N)、製造現場システム100のネットワークは変更されていないとして、フローは終了する。さもなくば(Y)、フローは203−3−2に進み、ネットワークモニタ135は、ネットワーク監視結果リポジトリ144のエントリの現在列をNoに更新して、それらが製造現場システム100の現在のアーキテクチャをもはや反映していないことを示す。203−3−3で、処理済みデータがネットワーク監視結果リポジトリ144に挿入され、現在フィールドがYesに設定され、処理済みデータが製造現場システム100の現在のアーキテクチャを反映することを示す。
【0034】
この例では、ネットワークモニタ135は、SNMPプロトコルを使用して、ネットワークデバイス114からデータを取得する。これは、SNMPが、ネットワークデバイス114が多数のパケット及びビットを応答として提供できる共通プロトコルであるためである。しかしながら、所望の実装に従って他のプロトコルが利用されてもよい。
【0035】
図8は、実施例によるネットワーク監視結果リポジトリ144の例を示している。ネットワーク監視結果リポジトリ144のフィールドは、エントリが現在のアーキテクチャを反映しているかどうかを示す現在(Current)カラム801、ネットワーク状態ID(Network Status ID)802、トラフィック番号(Traffic number)803、トラフィックのソースを示すfrom ID804、トラフィックの宛先を示すto ID805、1秒あたりのトップパケット数(Top number of packets per second)806、1秒あたりのトップビット数(Top number of bits per seconds)807、トップ期間(Top period)808、1秒あたりのボトムパケット数(Bottom packets per second)809、1秒あたりのボトムビット数(bottom bits per second)810、ボトム期間(Bottom period)811、等のフィールドを含むことができる。例えば、エントリ820から823は、現在カラムが「Yes」を示すので、製造現場システム100の現在の状態を反映し、一方、エントリ824から827は、現在カラムが「No」を示すので、製造現場システム100の以前の状態を反映する。ここで説明する実施例では、スループット情報に関連付けられた情報には、ネットワーク監視結果リポジトリのフィールドからの情報を、単独または組み合わせて含めることができる。
【0036】
ネットワーク監視結果リポジトリ144内のデータにより、ネットワークモニタ135は、PLC116−1、116−2の下で製造機械117−1、117−2の挙動を認識することができるが、PLC116−1、116−2の下での製造機械117−1、117−2の順序を認識しない場合がある。
【0037】
図9は、実施例による配置パターンリポジトリ140の例を示している。配置パターンリポジトリ140が管理するフィールドは、順序(Order)901、配置パターンID(Arrangement pattern ID)902、PLC状態ID(PLC Status ID)903、DPI状態ID(DPI status ID)904、ネットワーク状態ID(network status ID)905、上位PLC ID(Higher PLC ID)906、PLC ID907、機械ID(Machine ID)908、前の機械ID(Previous Machine ID)909、及び次の機械ID(Next Machine ID)910等を含むことができる。エントリ920から923は、製造現場システム100で最新の実装された配置パターンを示す。エントリ924から927は、製造現場システム100に対して過去に実装された配置パターンを示す。一例において、1つの配置パターンID902が少なくとも1つのPLC状態ID903またはDPI状態ID904またはネットワーク状態ID 905を持つ。さらに、1つの配置パターンID902は、上位PLC ID906、PLC ID907及び機械ID908の間に少なくとも1つの関係を持つ。さらに、1つの配置パターンID902は、前の機械ID909と次の機械ID910を持つが、状況によってはオプションである。再配置検出部131がPLC状態ID903を取得できる場合、前の機械ID909と次の機械ID910のそれぞれを埋めることができる。
【0038】
図10は、実施例による再配置検出部131の例を示している。具体的には、
図10は、製造現場システム100の変化を検出するために再配置検出部131によって実行されるプロセス210を示している。
【0039】
211で、再配置検出部131は、監視リポジトリ141〜144の「現在」カラムが「Yes」である行から、「上位PLC ID」、「PLC ID」、「機械ID」(以下「資産IDs」)及び「状態ID」カラムのすべての値(以下「状態IDs」)を取得して、製造現場システム100の現在の構成を取得する。実行されるコマンドは、例えば、「SELECT “Asset IDs” and “Status ID” WHERE “Current”=”Yes” FROM “Monitoring Repositories”」、である。取得した資産IDsと状態IDsを(A)として示す。
【0040】
212で、再配置検出部131は、配置パターンリポジトリ140の「順序」カラムが「最新」(「Recent」)である「資産IDs」及び「状態IDs」の値を取得する。コマンド実行は、例えば、「SELECT “Asset IDs”, “Status IDs” WHERE “Order”=“Recent” FROM “Arrangement Pattern Repository”」、である。得られた値を(B)として示す。
【0041】
213において、再配置検出部131は、(A)と(B)の間に差があるかどうかを判定する。差がない場合(N)、配置パターンリポジトリ140は、製造現場システム100の最新の構成を反映しており、フローは終了する。さもなくば(Y)、構成は、配置パターンリポジトリ140に記載されているものとは異なり、フローは214に進む。再配置検出部131は、以下のステップを通じてプロセス214を実行する。
【0042】
214−1で、再配置検出部131は、以下のコマンドを含む通知メッセージ215を作成する。コマンドには、(B)に関連付けられた値の行を「Operation」=「Delete」すること、及び(A)の行を「Operation」=「Add」することが含まれる。
【0043】
214−2で、再配置検出部131は、通知メッセージ215を資産マネージャ151に送信する。次に、再配置検出部131は、以下のステップを通じてプロセス216を実行する。
【0044】
216−1で、再配置検出部131は、配置パターンリポジトリ140から「順序」カラムを「過去」に更新する。コマンドの例は、「UPDATE “Order”=“Past” FROM “Network Monitoring Result Repository”」、である。216−2で、再配置検出部131は、配置パターンリポジトリ140の「順序」カラムが「最新」に設定された行に、(A)を挿入する。コマンドの例として、「INSERT INTO “Arrangement Pattern Repository”((A),“Order”=“Recent”)」がある。
【0045】
図11A及び
図11Bは、実施例による再配置通知メッセージ215の例を示している。具体的には、再配置検出部131が製造機械117−1、117−2の実行順序を認識できる場合、再配置検出部131は、
図11Aに示すようなメッセージを送信する。再配置通知メッセージ215のフィールドには、オぺレーション1101、親デバイスID(Parent Device ID)1102、子デバイスID(Child Device ID)1103、前のデバイスID(Previous Device ID)1104、及び次のデバイスID(Next Device ID)1105を含めることができる。メッセージ1110から1113は、資産マネージャ151の削除(Delete)オペレーションに向けられる。メッセージ1114から1117は、資産マネージャ151の追加(Add)オペレーションに向けられる。
【0046】
再配置検出部131が実行順序を認識できない状況では、再配置検出部131は、
図11Bに示すようにメッセージを送信する。このようなメッセージのフィールドには、オペレーション1101−2、親デバイスID(Parent Device ID)1102−2、子デバイスID(Child Device ID)1103−2、及びオプション1104−2を含めることができる。メッセージ1110−2、1111−2、1112−2、及び1113−2は、資産マネージャ151の削除オペレーションに向けられる。メッセージ1114−2、1115−2、1116−2、及び1117−2は、追加オペレーションに向けられる。再配置検出サーバ130がPLC状態モニタ133を使用できる場合、再配置検出部131は順序を認識することができる。そうでない場合、再配置検出部131ははっきりとは順序を認識できない可能性がある。
【0047】
実施例において、資産マネージャ151は、上から順番に再配置通知メッセージ215を実行する。たとえば、メッセージ1114及び1116から、PLC#1及びPLC#2には子デバイスがないため、前のデバイス及び次のデバイスはない。実施例では、再配置通知メッセージ215は、「削除」及び「追加」オペレーションを含む「変更」オペレーションを含むことができる。
【0048】
さらに、再配置検出部131が子デバイスIDを明確に識別できない場合、再配置検出部131は、所望の実装に従って、再配置通知メッセージ215を介して未識別デバイスが親デバイスの下にあることを示すこともできる。
【0049】
再配置通知メッセージ215のフォーマットは、PLC116−1、116−2と製造機械117−1、117−2との間の関係だけでなく、上位PLC112とPLC116−1、116−2との間の関係も表すことができる。
【0050】
図12は、実施例による資産リポジトリ152の例を示している。具体的には、資産リポジトリ152は、製造現場システム100上の資産及びPLCの階層を管理する。階層の一例では、製造現場システム100によって生産されている生産モデルは、1201で階層の最上部である。生産モデルは、製造現場システム100の領域の1以上の生産ライン1202によって製造される。各生産ラインは、階層内の1以上の上位PLC1203によって管理される。上位PLCは、1以上のPLC1204、1205を管理し、PLC1204、1205は、前/次フィールドによって指定された順序で実行するように構成された1以上の製造機械1206から1209を管理する。データエントリ1203から1209は、製造現場システム100内の資産の図を表す。現場オペレータ153は、製造生産性を効率的に管理できるように、1201から1202などの追加情報を挿入することができる。
【0051】
図13は、実施例による資産マネージャ151の例示的なフロープロセスを示している。214で、資産マネージャ151は、再配置通知メッセージ215を受信する。221−1で、資産マネージャ151は、メッセージ内の削除オペレーションに関連付けられた値に対応する資産リポジトリ152内のノードを削除する。221−2で、資産マネージャ151は、メッセージ内の追加オペレーションに関連付けられた値に対応するノードを資産リポジトリ152に追加する。
【0052】
図14は、実施例での使用に適した例示的なコンピュータ装置を備えた例示的なコンピューティング環境を示している。コンピューティング環境1400内のコンピュータ装置1405は、1以上の処理ユニット、コア、またはプロセッサ1410、メモリ1415(例えば、RAM、ROMなど)、内部ストレージ1420(例えば、磁気ストレージ、光学ストレージ、ソリッドステートストレージ及び/またはオーガニックストレージ)、及び/またはI/Oインターフェイス1425を含むことができる。これらのいずれのデバイスも、情報を通信するための通信機構またはバス1430に結合されるか、またはコンピュータ装置1405に埋め込まれ得る。
【0053】
コンピュータ装置1405は、入力/ユーザインターフェイス1435及び出力デバイス/インターフェイス1440に通信可能に結合され得る。入力/ユーザインターフェイス1435及び出力デバイス/インターフェイス1440のいずれか一方または両方は、有線または無線インターフェイスであってよく、取り外し可能であり得る。入力/ユーザインターフェイス1435には、入力を提供するために使用できる物理的または仮想的なデバイス、コンポーネント、センサ、またはインターフェイスが含まれる(たとえば、ボタン、タッチスクリーンインターフェイス、キーボード、ポインティング/カーソルコントロール、マイク、カメラ、点字、モーションセンサ、光学式リーダなど)。出力デバイス/インターフェイス1440は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含み得る。いくつかの実施例では、入力/ユーザインターフェイス1435及び出力デバイス/インターフェイス1440は、コンピュータ装置1405に埋め込むか、または物理的に結合することができる。タッチスクリーンディスプレイ、テレビディスプレイ、または他の任意の形態のディスプレイを含む実施例では、ディスプレイは、ユーザインターフェイスを提供するように構成されている。
【0054】
コンピュータ装置1405の例は、これらに限定されないが、特にモバイル性が高いデバイス(例えば、スマートフォン、車両及び他の機械内のデバイス、人間及び動物によって運ばれるデバイスなど)、モバイルデバイス(例えば、タブレット、ノートブック、ラップトップ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、及びモバイル向けに設計されていないデバイス(デスクトップコンピュータ、他のコンピュータ、情報キオスク、1以上のプロセッサが埋め込まれた、または結合されたテレビ、ラジオなど)が含まれ得る。
【0055】
コンピュータ装置1405は、(例えば、I/Oインターフェイス1425を介して)外部ストレージ1445及びネットワーク1450に通信可能に結合され、同一または異なる構成の1以上のコンピュータ装置を含む、多くのネットワーク化されたコンポーネント、デバイス、及びシステムと通信することができる。コンピュータ装置1405または任意の接続されたコンピュータ装置は、サーバ、クライアント、シンサーバ、汎用機械、専用機械、または別の名称で参照され、サービスを提供するように機能することができる。
【0056】
I/Oインターフェイス1425は、任意の通信またはI/Oプロトコルまたは標準(例えば、イーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、携帯電話ネットワークプロトコルなど)、コンピューティング環境1400の少なくともすべての接続されたコンポーネント、デバイス、及びネットワークと情報をやり取りするための、有線及び/または無線インターフェイスを含むことができるが、これらに限定されない。ネットワーク1450は、任意のネットワークまたはネットワークの組み合わせであってよい(たとえば、インターネット、ローカルエリア、広域ネットワーク、電話ネットワーク、携帯電話ネットワーク、衛星ネットワークなど)。
【0057】
コンピュータ装置1405は、一過性媒体及び非一過性媒体を含むコンピュータ使用可能またはコンピュータ可読媒体を、使用する、及び/または、使用して通信することができる。一過性媒体には、伝送媒体(金属ケーブル、光ファイバーなど)、信号、搬送波などが含まれる。非一過性の媒体には、磁気メディア(ディスクやテープなど)、光学メディア(CDROM、デジタルビデオディスク、ブルーレイディスクなど)、ソリッドステートメディア(RAM、ROM、フラッシュメモリ、ソリッドステートストレージなど)、及びその他の不揮発性ストレージまたはメモリが含まれる。
【0058】
コンピュータ装置1405は、いくつかの例示的なコンピューティング環境において、技術、方法、アプリケーション、プロセス、またはコンピュータ実行可能命令を実装するために使用することができる。コンピュータで実行可能な命令は、一過性の媒体から取得し、非一過性の媒体に格納して取得できる。実行可能命令は、1以上の任意のプログラミング、スクリプト、及びマシン言語(C、C++、C#、Java(登録商標)、Visual Basic、Python、Perl、JavaScript(登録商標)など)から生成できる。
【0059】
プロセッサ1410は、ネイティブまたは仮想的な環境で、任意のオペレーティングシステム(OS)(図示せず)の下で実行することができる。論理ユニット1460、アプリケーションプログラミングインターフェイス(API)ユニット1465、入力ユニット1470、出力ユニット1475、及び、相互間で、OSと、そして他のアプリケーション(図示せず)と通信するための異なるユニット用のユニット間通信メカニズム1495を含む、1以上のアプリケーションを展開することができる。上記ユニット及び要素は、設計、機能、構成、または実装が異なる可能性があり、提供された説明に限定されない。プロセッサ1410は、メモリ1415からロードされた命令を実行するように構成された物理プロセッサまたは中央処理装置(CPU)の形態であり得る。
【0060】
いくつかの実施例では、情報または実行命令がAPIユニット1465によって受信されると、それは1以上の他のユニット(たとえば、論理ユニット1460、入力ユニット1470、出力ユニット1475)に通信され得る。いくつかの例では、論理ユニット1460は、ユニット間の情報フローを制御し、上記のいくつかの実施例においてAPIユニット1465、入力ユニット1470、出力ユニット1475によって提供されるサービスを指示するように構成され得る。たとえば、1以上のプロセスまたは実装のフローは、論理ユニット1460によって単独で、またはAPIユニット1465と連動して制御され得る。入力ユニット1470は、実施例で説明した計算のための入力を取得するように構成され得る。ユニット1475は、実施例で説明される計算に基づいて出力を提供するように構成され得る。
【0061】
実施例において、コンピュータ装置1405は、1以上の製造機械117−1、117−2に関するデータを処理する第1のネットワークと、1以上の製造機械117−1、117−2に接続された複数のプログラマブルロジックコントローラ(PLC)116−1、116−2を管理する第2のネットワークとを使用して、製造現場システム100の変化を検出するように構成された、再配置検出サーバ130などの装置である。実施例では、そのような装置は、第2のネットワークに通信可能に結合される。
【0062】
そのような実施例では、プロセッサ1410は、再配置検出部131及び挙動モニタ132の機能を、その対応する要素により可能とするように構成できる。メモリ1415は、その対応する要素により監視リポジトリ141の機能を可能とするように構成でき、また、
図1の配置パターンリポジトリ140の機能を可能とするように構成できる。実施例において、プロセッサ1410は、第2のネットワークを介して複数のPLCを監視するように構成され、各PLCは、
図2のプロセス200の実行を通じて1以上の製造機械に関連付けられる。そして、上記監視が、第2のネットワークにおいて複数のPLCの1つに関連付けられた1以上の異なる製造機械を伴う変化または複数のPLCの1つに関する1以上の製造機械の実行順序における変化を示す場合に、プロセッサ1410は、
図2のプロセス210の実行により、上記変化に基づいて製造現場システムの階層を更新する。
【0063】
実施例において、プロセッサ1410は、製造現場システムの状態を更新するメッセージを提供することにより製造現場システムの内部階層を更新するように構成することができる。そのメッセージは、
図10、プロセス214−1、241−2、
図11A及び11Bに示すように、製造現場システムの内部階層の情報を追加または削除する命令を含む。ここで、第1のネットワークは、
図13に示すように、製造現場システムの状態に従ってデータを処理する。
【0064】
実施例では、
図3及び
図4に示すように、プロセッサ1410は、第2のネットワークを介して複数のPLCを監視するように構成することができる。この監視において、プロセッサ1410は、オブジェクト識別子取得要求を複数のPLCに発行してPLC状態挙動を監視し、オブジェクト識別子取得要求に対する応答から複数のPLC及び1以上の製造機械の識別子に関連付けられた情報を処理し、そして、複数のPLC及び1以上の製造機械の識別子に関連付けられた情報がPLC状態挙動に関する情報のリポジトリと比較して新しい情報を含む場合に、PLC状態挙動に関する情報のリポジトリを、その複数のPLC及び1以上の製造機械の識別子に関連付けられた情報を使用して更新する。
【0065】
実施例において、
図5及び
図6に示すように、プロセッサ1410は、第2のネットワークを介して複数のPLCを監視するように構成できる。この監視において、プロセッサ1410は、複数のPLCと複数のPLCを管理するように構成された上位PLCとの間の通信に関連付けられた1以上の特徴及び1以上の周期的シーケンスについて、複数のPLCを管理するネットワークデバイスからのディープパケットインスペクション(DPI)ストリームを処理し、1以上の特徴または1以上の周期的シーケンスが特徴及び周期的シーケンスのリポジトリと比較して新しい情報を含む場合に、特徴及び周期的シーケンスのリポジトリを、その新しい情報を含む1以上の特徴または1以上の周期で更新する。
【0066】
実施例では、プロセッサ1410は、
図7及び
図8に示すように、第2のネットワークを通じて複数のPLCを監視するように構成できる。この監視において、プロセッサ1410は、複数のPLCを管理するネットワークデバイスにオブジェクト識別子取得要求を発行することによりネットワーク挙動を監視し、オブジェクト識別子取得要求に対する応答から、複数のPLCの1以上のPLCと複数のPLCを管理する上位PLCとの間のスループットに関連付けられた情報を処理し、そして、スループットに関連付けられた情報がネットワーク挙動に関する情報のリポジトリと比較して新しい情報を含む場合に、ネットワーク挙動に関する情報のリポジトリを、このスループットに関連付けられた情報で更新する。
【0067】
実施例では、
図9及び10に示すように、プロセッサ1410は、監視が変化を示すかどうかを決定するように構成できる。プロセッサ1410は、(
図10の211のプロセスからの取得のように)監視により得られる1以上の製造機械、複数のPLCまたは複数のPLCを管理する上位PLCに関連付けられた第1の値が、製造現場システムの配置パターンを管理するリポジトリから得られる、(
図10の212のプロセスからの取得のように)1以上の製造機械、複数のPLC、または複数のPLCを管理する上位PLCに関連付けられた第2の値と異なる場合、監視が変化を示すと決定する。
【0068】
詳細な説明のいくつかの部分は、コンピュータ内の動作のアルゴリズム及び記号的表現に関して提示されている。これらのアルゴリズム記述及び記号的表現は、データ処理技術の当業者が、その革新の本質を他の当業者に伝えるために使用する手段である。アルゴリズムは、目的の最終状態または結果に至る一連の定義済みステップでる。実施例では、実行されるステップは、具体的な結果を得るために具体的な量を物理的に操作する必要がある。
【0069】
議論から明らかなように、以下のことが理解される。説明全体を通して、「処理」、「コンピューティング」、「計算」、「決定」、「表示」などの用語を利用する議論は、コンピュータシステムまたは他の情報処理装置の動作及び処理を含むことができる。これら装置は、コンピュータシステムのレジスタ及びメモリ内の物理(電子)量として表されるデータを、コンピュータシステムのメモリ、レジスタ、その他の情報ストレージ、送信または表示デバイス内の物理量として同様に表される他のデータに操作及び変換する。
【0070】
実施例はまた、本明細書のオペレーションを実行するための装置に関連してもよい。この装置は、必要な目的のために特別に構築されてもよいし、1以上のコンピュータプログラムによって選択的に起動または再構成される1以上の汎用コンピュータを含んでもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体に格納されてもよい。コンピュータ可読記憶媒体は、限定ではないが、電子情報を保存するための、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブ、またはその他の適切な有形または非一過性の媒体などの有形媒体を含み得る。コンピュータ可読信号媒体には、搬送波などの媒体が含まれ得る。本明細書で提示されるアルゴリズム及び表示は、特定のコンピュータまたは他の装置に本質的に関連するものではない。コンピュータプログラムには、目的の実装のオペレーションを実行する命令を含む純粋なソフトウェア実装を含めることができる。
【0071】
本明細書の例に従って、様々な汎用システムをプログラム及びプログラムモジュールとともに使用することができ、または所望の方法ステップを実行するための専用の装置を構築することがより適切であることが判明する場合がある。さらに、実施例は、特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語を使用して、本明細書で説明する実施例の教示を実装できることが理解される。プログラミング言語の命令は、1以上の処理デバイス、たとえば中央処理装置(CPU)、プロセッサ、またはコントローラによって実行されてよい。
【0072】
当技術分野で知られているように、上記オペレーションは、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアの何らかの組み合わせによって実行することができる。実施例のさまざまな態様は、回路及び論理デバイス(ハードウェア)を使用して実装できるが、他の態様は、プロセッサによって実行されるとプロセッサに本願の実装を実行する方法を実行させる、機械可読媒体(ソフトウェア)に格納された命令を使用して実装できる。さらに、本願のいくつかの実施例は、ハードウェアのみで実行されてもよく、他の実施例は、ソフトウェアのみで実行されてもよい。さらに、説明されているさまざまな機能は、単一のユニットで実行することも、さまざまな方法で多数のコンポーネントに分散させることもできる。ソフトウェアによって実行される場合、これらの方法は、コンピュータ可読媒体に格納された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。必要に応じて、命令は圧縮及び/または暗号化された形式で媒体に保存できる。
【0073】
さらに、本願の他の実装は、本願の教示の仕様及び実施を考慮することにより、当業者には明らかであろう。説明した実施例の様々な態様及び/または構成要素は、単独でまたは任意の組み合わせで使用することができる。本明細書及び実施例は、例としてのみ考慮されることが意図されており、本願の真の範囲及び精神は、添付の特許請求の範囲によって示される。