IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シーメンス アクチエンゲゼルシヤフトの特許一覧

特許7497395産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置
<>
  • 特許-産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 図1
  • 特許-産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 図2
  • 特許-産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 図3
  • 特許-産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-31
(45)【発行日】2024-06-10
(54)【発明の名称】産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置
(51)【国際特許分類】
   G05B 23/02 20060101AFI20240603BHJP
   G05B 19/05 20060101ALI20240603BHJP
【FI】
G05B23/02 Z
G05B19/05 Z
【請求項の数】 11
【外国語出願】
(21)【出願番号】P 2022131917
(22)【出願日】2022-08-22
(65)【公開番号】P2023055628
(43)【公開日】2023-04-18
【審査請求日】2023-02-27
(31)【優先権主張番号】21199868
(32)【優先日】2021-09-29
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】390039413
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
(74)【代理人】
【識別番号】110003317
【氏名又は名称】弁理士法人山口・竹本知的財産事務所
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】ヤン ゲッツ
(72)【発明者】
【氏名】ユルゲン ライヒマン
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2002-024042(JP,A)
【文献】米国特許第10037203(US,B1)
【文献】特開2010-113700(JP,A)
【文献】特開2019-080164(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
G05B 19/05
(57)【特許請求の範囲】
【請求項1】
産業用オートメーション装置用の更新されたアプリケーション(app2n)をコミッショニングする方法であって、
第1アプリケーション(app2)を有する産業用の第1コントローラ(ES)は、ローカルで使用されるプロセスデータを有しており、メモリで構成されている、少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)を含み、
前記プロセスデータは、複数の値、からなり、
前記値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理(PDM_ES)が設けられており、
前記第1アプリケーション(app2)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を、前記ローカルプロセスデータ管理(PDM_ES)と交換し、値を、前記少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)において、前記情報を用いて、読み取るおよび/または書き込む、
方法において、
テストユニット(TE)には、前記更新されたアプリケーション(app2n)と、少なくとも1つのさらなるプロセスイメージ(app2nShm)と、さらなるプロセスデータ管理(PDM_TE)と、が設けられ、
前記更新されたアプリケーション(app2n)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を前記テストユニット(TE)の前記ローカルプロセスデータ管理(PDM_TE)と交換し、値を、前記少なくとも1つのさらなるプロセスイメージ(app2nShm)において、読み取るおよび/または書き込む、ことと、
前記第1コントローラ(ES)および前記テストユニット(TE)において、それぞれ、プロキシサービスが設定され、前記プロキシサービスは、それぞれ、対応する前記ローカルプロセスデータ管理(PDM_ES、PDM_TE)との通信を行い、値を、各前記ローカルプロセスイメージ(app1Shm、app2Shm、app2nShm)において、交換された前記情報を用いて、読み取るおよび/または書き込む、ことと、
前記更新されたアプリケーション(app2n)は、前記第1アプリケーション(app2)と並行して実行され、前記更新されたアプリケーション(app2n)によって読み取られる対象である前記値は、前記プロキシサービスによって、前記第1コントローラの前記少なくとも1つのプロセスイメージ(app1Shm、app2Shm)から読み取られ、前記少なくとも1つのさらなるプロセスイメージ(app2nShm)に挿入され、
監視装置(DEB)を用いて、少なくとも1つの出力値であって、前記更新されたアプリケーション(app2n)によって前記テストユニット(TE)の前記少なくとも1つのプロセスイメージ(app2nShm)に格納された出力値、の検証、が行われ、
前記更新されたアプリケーション(app2n)は、検証の成功後にのみ、プロダクティブオペレーション使用可能にされることと、
を特徴とする、方法。
【請求項2】
請求項1に記載の方法において、
前記第1アプリケーション(app2)によって出力値として前記第1コントローラの前記プロセスイメージ(app2Shm)に書き込まれた、少なくとも1つの値は、前記プロキシサービスによって、前記第1コントローラ(ES)の前記少なくとも1つのプロセスイメージ(app1Shm、app2Shm)から読み取られ、前記監視装置に送信され、
前記監視装置により、前記検証に関して、前記第1アプリケーション(app2)の前記出力値と前記更新されたアプリケーション(app2n)の前記出力値と間の比較が、行われること、
を特徴とする方法。
【請求項3】
請求項2に記載の方法において、
前記第1コントローラ(ES)の前記プロセスイメージ(app1Shm、app2Shm)から読み取られた前記値は、前記少なくとも1つのさらなるプロセスイメージ(app2nShm、prxy_TE_Shm)に、挿入され、前記監視装置(DEB)は、前記比較に関して、前記さらなるプロセスイメージにおける前記格納された値へ、アクセスすること、
を特徴とする方法。
【請求項4】
請求項2または3に記載の方法において、
前記比較の際に、百分率または絶対値で、予め定義された閾値を下回る差が確認される場合には、前記更新されたアプリケーション(app2n)は、前記プロダクティブオペレーションへの引き継ぎの候補として、提供されること、
を特徴とする方法。
【請求項5】
請求項1に記載の方法において、
前記監視装置(DEB)によって、前記プロダクティブオペレーションで使用可能にされる場合には、前記第1コントローラ(ES)において前記更新されたアプリケーション(app2n)のインストールおよび起動が、開始され、前記第1アプリケーション(app2)の少なくとも1つの出力値から、新しくインストールされ、作動された前記更新されたアプリケーション(app2n)の対応する前記出力値への、変換が、前記産業用オートメーション装置の運転のために、開始されること、
を特徴とする方法。
【請求項6】
請求項1に記載の方法において、
前記更新されたアプリケーション(app2n)が、前記テストユニット(TE)の前記ローカルプロセスデータ管理(PDM_TE)において、ローカルで使用可能ではない値のアドレス情報を要求する場合に、
第1ステップにて、前記プロセスデータ管理(PDM_TE)は、前記要求を、ローカルプロキシサービスへ転送し、
第2ステップにて、前記ローカルプロキシサービスは、前記要求を、前記第1コントローラ(ES)の前記プロキシサービスへ転送し、
第3ステップにて、前記プロキシサービスは、前記値を、前記第1コントローラ(ES)の前記ローカルプロセスイメージ(app1Shm、app2Shm)から読み取り、要求元の前記テストユニット(TE)の前記プロキシサービスへ転送し、
第4ステップにて、要求元の前記テストユニットの前記プロキシサービスは、前記値を、少なくとも1つの前記ローカルプロセスイメージ(prxy_TE_Shm)に挿入し、関連する前記アドレス情報を、前記ローカルプロセスデータ管理(PDM_TE)に登録し、
第5ステップにて、前記ローカルプロセスデータ管理(PDM_TE)は、前記更新されたアプリケーション(app2n)の前記要求に対して、前記アドレス情報を用いて、応答し、
第6ステップにて、前記更新されたアプリケーション(app2n)は、前記アドレス情報を用いて、前記値にアクセスすること、
を特徴とする方法。
【請求項7】
請求項1に記載の方法において、
前記プロキシサービスの少なくとも1つによって、ローカルプロキシアプリケーションがインスタンス化され、前記プロキシサービスの前記ローカルプロキシアプリケーションは、前記ローカルプロセスイメージへのアクセスを、行うこと、
を特徴とする方法。
【請求項8】
請求項1に記載の方法において、
各前記アプリケーション(app1、app2、app2n)は、前記第1コントローラ(ES)または前記テストユニット(TE)の、それぞれの前記ローカルプロセスデータ管理(PDM_ES、PDM_TE)と、統一アプリケーションインタフェースを用いて、通信し、
前記プロキシサービス(prxy_app_te、prxy_app_es)は、機能的に同等のまたは同一のアプリケーションインタフェースを用いて、同じコントローラ(ES)または同じテストユニット(TE)の前記プロセスデータ管理(PDM_ES、PDM_TE)と、通信すること、
を特徴とする方法。
【請求項9】
請求項1に記載の方法において、
前記プロキシサービスは、インターネットプロトコルを用いて、要求および値を送信すること、
を特徴とする方法。
【請求項10】
請求項9に記載の方法において、
前記プロキシサービスは、OPC UAプロトコルを用いて相互に通信すること、
と特徴とする方法。
【請求項11】
産業用オートメーション装置用の更新されたアプリケーション(app2n)をコミッショニングする装置であって、
第1アプリケーション(app2)を有する産業用の第1コントローラ(ES)は、ローカルで使用されるプロセスデータを有しており、メモリで構成されている、少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)を含み、
前記プロセスデータは、複数の値、からなり、
前記第1コントローラ(ES)は、前記値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理(PDM_ES)を、含み、
前記第1アプリケーション(app2)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を、前記ローカルプロセスデータ管理(PDM_ES)と交換するように設定されており、値を、前記少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)において、前記情報を用いて、読み取るおよび/または書き込むように、構成されている、装置において、
テストユニット(TE)には、前記更新されたアプリケーション(app2n)と、少なくとも1つのさらなるプロセスイメージ(app2nShm)と、さらなるプロセスデータ管理(PDM_TE)と、が設けられており、前記更新されたアプリケーション(app2n)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を前記テストユニットの前記ローカルプロセスデータ管理(PDM_TE)と交換するように、および、値を、前記少なくとも1つのさらなるプロセスイメージ(app2nShm)において読み取るおよび/または書き込むように、設定されていることと、
前記第1コントローラ(ES)および前記テストユニット(TE)には、それぞれ、プロキシサービスが設定されており、前記プロキシサービスは、それぞれ、対応する前記ローカルプロセスデータ管理(PDM_ES、PDM_TE)との通信を行うように、および、値を、各前記ローカルプロセスイメージ(app1Shm、app2Shm、prxy_ES_Shm、prxy_TE_Shm)において、交換された前記情報を用いて、読み取るおよび/または書き込むように、設定されていることと、
前記更新されたアプリケーション(app2n)は、前記第1アプリケーション(app2)と並行して実行されるように、構成されており、前記更新されたアプリケーション(app2n)によって読み取られる対象である前記値は、少なくとも部分的に、前記プロキシサービスによって、前記第1コントローラ(ES)の前記少なくとも1つのプロセスイメージ(app1Shm、app2Shm)から読み取られ、前記少なくとも1つのさらなるプロセスイメージ(prxy_TE_Shm、app2nShm)に挿入されるように、さらに構成されており、
少なくとも1つの出力値であって、前記更新されたアプリケーション(app2n)によって前記テストユニット(TE)の前記少なくとも1つのプロセスイメージ(prxy_TE_Shm、app2nShm)に格納される出力値を検証する、監視装置(DEB)が設けられており、前記更新されたアプリケーション(app2n)は、検証の成功後にのみ、プロダクティブオペレーション使用可能にされるように、さらに構成されていることと、
を特徴とする、装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1の上位概念に係る産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法、および、請求項11の上位概念に係る産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする装置、に関する。
【背景技術】
【0002】
最近の制御ユニットは、制御ユニットが読み取りおよび書き込みのためにアクセスするローカルプロセスイメージを、有している。このプロセスイメージに存在するデータまたは値は、制御機能によって使用可能である。プロセスイメージのデータまたは値は、特にはいわゆるI/O値、つまりセンサデータおよびアクチュエータデータ、である。
【0003】
外部データは、すなわち、デジタルおよびアナログの入力部/出力部を介しては、または、Profinetなどの、制御ユニットに一般的なバスを介しては、読み取りされない/書き込みされないデータは、外部アプリケーションのインタフェースまたはOPC UAなどのプロトコルを介してのみ、制御ユニットへ入力または出力され得るが、それらは、ローカルプロセスイメージの直接的な構成要素ではない。特に、2つの異なる制御ユニットのプロセスイメージは、相互に不可視であり、それに伴い、相互にアクセスすることもできない。従って、外部データは、手動でアプリケーションからローカルプロセスイメージに入力される必要がある。通常の場合、このためには、関与するアプリケーションの停止とそれに続く再起動も必要である。
【0004】
異なる装置におけるアプリケーション間のデータ交換は、例えばOPC UAプロトコルを介して、または、製造元SiemensのPLC(PLC:Programmable Logic Controller(プログラマブルロジックコントローラ))の場合にはS7プロトコルを介して、可能となる。これは、プログラマによって手動でエンジニアリングフェーズにおいて行われる、つまり、それは自動的には行われず、動作中に行うことはできない。
【0005】
アプリケーションが遠隔制御ユニットのデータにアクセスする場合、このアプリケーションは「手動で」対応するデータチャネルにアクセスする必要がある。ローカルに存在するOPC UAサーバは、クライアント機能(英:client capability、独:Client Faehikeit)を有していないため、これを自動的に行うことはできない。ローカルOPC UAクライアントが存在する場合に対しては、データ連携を「手動で」行う必要があるか、マッチングアルゴリズムを有効にする必要がある。
【0006】
周知の解決策に共通しているのは、アプリケーションは、異なる方法で、一方ではローカルで使用可能なプロセスイメージのデータにアクセスする必要があり、他方では外部データにアクセスする必要があることであり、その結果、アプリケーションは、常に外部アクセス用に設定および/または構成される必要がある。これは、特には既存のアプリケーション(「ブラウンフィールド」アプリケーション、「レガシー」アプリケーション)や、更新用に設けられたそれらの後続のバージョン、においては、往々にして、コストをかけることによってのみ可能であるか、または全く不可能なことである。従って、オートメーション技術の分野では、多くの場合、プロダクティブオペレーション(英:productive operation、独:Produktivbetrieb)とシミュレーションは分けられている。
【0007】
上述した制約は、既存のアプリケーションの更新されたバージョンをテストすること、より困難にする、特には、新しいバージョンが、いわゆる「ライブデータ」を用いて、アプリケーションの古いバージョンと並行して、別個のテストシステムにおいて動作される場合に、より困難にする。しかしながら、そのようなテストは重要であり、その理由は、既存のバージョンと新しいバージョンの動作とを直接的に比較することができるからであり、当該新しいバージョンは、特にはいわゆる「リリース候補」または「ベータ版」のバージョン、すなわち最終的に検証されることになる完成バ―ションである。
【発明の概要】
【発明が解決しようとする課題】
【0008】
テスト対象であるバージョンは、プロダクティブバージョンに対して変更されたインタフェースを用いて、センサデータまたは一般的にプロダクティブシステムのプロセスイメージに、アクセスする必要があり、その結果、少なくとも、インタフェースに関してまたは特にプロセスイメージにアクセスするAPIに関して、テスト対象である新しいバージョンは、アプリケーションの既存のバージョンとは異なっている。言い換えれば、テスト対象であるバージョンは、後のプロダクティブバージョンとは異なる。これは、一般的にテストには望ましくない。従って従来、最終的な「リリース候補」のシミュレーションは、多くの場合、プロダクティブオペレーションとは無関係に事前に行われていた。
【0009】
従って、本発明の課題は、アプリケーションによるプロセスイメージへの、特には外部プロセスイメージへの、アクセスを、以下のように、単純化することである、つまり、統一インタフェースを、アプリケーションのプロダクティブオペレーションのバージョンに対しても、これと並列に動作されるテスト対象であるバージョンに対しても、使用できるように、単純化することである。
【課題を解決するための手段】
【0010】
本課題を解決するための核となる思想は、ローカルソフトウェアによって、特にはいわゆるプロキシサービス(略してプロキシ)によって、産業用オートメーションシステムにて取得されるセンサデータであって、産業用コントローラのいわゆるプロセスイメージに存在するセンサデータは、別個のテストシステムのプロセスイメージに書き込まれるか、ここから読み出される、ということである。ここで、メモリセル(例えばI/O値、変数またはレジスタ)であって、テストシステムのローカルプロセスイメージにはまだ属していないメモリセルが、そこに作成されるか、割り当てられ、好ましくはローカルプロセスデータ管理によって、または少なくともローカルプロセスデータ管理において作成された後に、登録される。このようにして、プロダクティブシステムの「外部」データおよび値は、アプリケーションのプロダクティブのバージョンもテスト対象であるバージョンも変更する必要なしに、テストシステムのローカルプロセスイメージにおいて、使用可能である。本発明のさらなる核となる思想は、テスト対象であるアプリケーションによって生成されるデータを、多くの場合いわゆるアクチュエータ値を、プロダクティブシステムのローカルプロセスイメージに送信すること、その結果、テスト対象のアプリケーションが最終的にプロダクティブシステムに引き継がれる前に、テスト対象のアプリケーションは連続的に産業用装置の制御を試用的に引き継がれ得ること、に関する。
【0011】
本課題は、特に請求項1に記載の方法により解決される。ここで、産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法が提案され、第1アプリケーションを有する第1産業用コントローラは、ローカルで使用されるプロセスデータを有する少なくとも1つのローカルプロセスイメージを含み、プロセスデータは、複数の値、特には産業用オートメーション装置のセンサおよび/またはアクチュエータの値からなり、値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理が設けられており、第1アプリケーションは、値に関する識別子およびメモリアドレスに関する情報を、ローカルプロセスデータ管理と交換し、値を、少なくとも1つのローカルプロセスイメージにおいて、情報を用いて、読み取るおよび/または書き込む。ここで、テストユニットには、更新されたアプリケーション、特には第1アプリケーションのテスト対象である新しいバージョン、と、少なくとも1つのさらなるプロセスイメージと、さらなるプロセスデータ管理と、が設けられ、更新されたアプリケーションは、値に関する識別子およびメモリアドレスに関する情報をテストユニットのローカルプロセスデータ管理と交換し、値を、少なくとも1つのさらなるプロセスイメージにおいて、読み取るおよび/または書き込む。加えて、第1コントローラおよびテストユニットにおいて、それぞれ、プロキシサービスが設定され、プロキシサービスは、それぞれ、対応するローカルプロセスデータ管理との通信を行い、値を、各ローカルプロセスイメージにおいて、交換された情報を用いて、読み取るおよび/または書き込む。更新されたアプリケーションは、第1アプリケーションと並行して実行され、更新されたアプリケーションによって読み取られる対象である値は、プロキシサービスによって、第1コントローラの少なくとも1つのプロセスイメージから読み取られ、少なくとも1つのさらなるプロセスイメージに挿入される。ここで、監視装置は、更新されたアプリケーションによってテストユニットの少なくとも1つのプロセスイメージに格納された少なくとも1つの出力値の検証を実行し、更新されたアプリケーションは、検証の成功後にのみ、プロダクティブオペレーションにおける使用に対して、解放される。本方法によって、テスト対象であるアプリケーションは、それが後にプロダクティブシステムのプロセスイメージにおけるローカルで使用可能なデータにアクセスするのと同様に、すでにテストシステムにおいて、プロダクティブシステムのこのデータにアクセスすることができ、このためにアプリケーションを変更または再構成する必要はない。
【0012】
また、本課題は、本方法を実行するように設定される請求項11に記載の装置により解決される。ここで、産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする装置が設けられ、第1アプリケーションを有する第1産業用コントローラは、ローカルで使用されるプロセスデータを有する少なくとも1つのローカルプロセスイメージを含み、プロセスデータは、複数の値、特には産業用オートメーション装置のセンサおよび/またはアクチュエータの値、からなり、第1コントローラは、値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理を、含み、第1アプリケーションは、値に関する識別子およびメモリアドレスに関する情報を、ローカルプロセスデータ管理と交換するように設定されており、値を、少なくとも1つのローカルプロセスイメージにおいて、情報を用いて、読み取るおよび/または書き込むように、構成されている。ここで、テストユニットには、更新されたアプリケーションが設けられており、特には第1アプリケーションのテスト対象である新しいバージョンと、少なくとも1つのさらなるプロセスイメージと、さらなるプロセスデータ管理と、が設けられており、更新されたアプリケーションは、値に関する識別子およびメモリアドレスに関する情報をテストユニットのローカルプロセスデータ管理と交換するように、および、値を、少なくとも1つのさらなるプロセスイメージにおいて読み取るおよび/または書き込むように、設定されており、コントローラおよびテストユニットには、それぞれ、プロキシサービスが設定されており、プロキシサービスは、それぞれ、対応するローカルプロセスデータ管理との通信を行うように、および、値を、各ローカルプロセスイメージにおいて、交換された情報を用いて、読み取るおよび/または書き込むように、設定されており、更新されたアプリケーションは、第1アプリケーションと並行して実行されるように、構成されており、更新されたアプリケーションによって読み取られる対象である値は、少なくとも部分的に、プロキシサービスによって、第1コントローラの少なくとも1つのプロセスイメージから読み取られ、少なくとも1つのさらなるプロセスイメージに挿入されるように、さらに構成されており、少なくとも1つの出力値であって、更新されたアプリケーションによってテストユニットの少なくとも1つのプロセスイメージに格納される出力値を検証する監視装置が設けられており、更新されたアプリケーションは、検証の成功後にのみ、プロダクティブオペレーションにおける使用に対して、解放されるように、さらに構成されている。本装置によって、本方法に関して上述した有利な点を達成することができる。
【0013】
本方法の有利な構成は、従属請求項に記載されており、それらの特徴および有利な点は、本発明に係る装置に同様に適用される。有利な構成は、明らかな方法で互いに組み合わせることもできる。
【0014】
第1変形例では、更新されたアプリケーションによって生成された出力値は、特には所定の基準または限界値の遵守に関して、妥当性について検証され得る。特に有利な変形例では、第1アプリケーションによって出力値として第1コントローラのプロセスイメージに書き込まれた少なくとも1つの値は、プロキシサービスによって、第1コントローラの少なくとも1つのプロセスイメージから読み取られ、監視装置に送信され、その後、監視装置により、検証のために、第1アプリケーションの出力値と更新されたアプリケーションの対応する出力値と間の比較が、行われる。有利には、それに加えて、第1コントローラのプロセスイメージから読み取られた値は、少なくとも1つのさらなるプロセスイメージに挿入され、その後、監視装置は、比較のために、さらなるプロセスイメージにおけるこの格納された値へ、アクセスする。一例においては、比較の際に、百分率または絶対値で、任意で所定時間後に、予め定義された閾値を下回る差が確認される場合には、更新されたアプリケーションは、プロダクティブオペレーションへの引き継ぎの候補として、提供され、第1プロダクティブコントローラに送信され、そこでアプリケーションの元のバージョンの代わりに動作状態にされる。また、監視装置によって、プロダクティブオペレーションに対して解放される場合には、第1コントローラにおいて更新されたアプリケーションのインストールおよび起動が、開始され、第1アプリケーションの少なくとも1つの出力値から、新しくインストールされ、作動された更新されたアプリケーションの対応する出力値への、変換が、産業用オートメーション装置の運転のために、開始される。百分率的なまたは絶対的な偏差の差を監視することに対して代替的にまたは追加的に、より複雑なアルゴリズムまたは規定を使用することもできる。
【0015】
更新されたアプリケーションによる、第1アプリケーションの、または、プロダクティブシステムの、値、特にはセンサデータ、へのアクセスは、以下のようにして、自動的に構成され得る、すなわち、更新されたアプリケーションが、テストユニットのローカルプロセスデータ管理において、ローカルで使用可能ではない値のアドレス情報を要求する場合に、第1ステップにて、プロセスデータ管理は、要求を、ローカルプロキシサービスへ転送し、第2ステップにて、ローカルプロキシサービスは、要求を、第1コントローラのプロキシサービスへ転送し、第3ステップにて、プロキシサービスは、値を、第1コントローラのローカルプロセスイメージから読み取り、要求元のテストユニットのプロキシサービスに転送し、第4ステップにて、要求元のテストユニットのプロキシサービスは、値を、少なくとも1つのローカルプロセスイメージに挿入し、関連するアドレス情報を、ローカルプロセスデータ管理に登録し、第5ステップにて、ローカルプロセスデータ管理は、更新されたアプリケーションの要求に対して、アドレス情報を用いて応答し、第6ステップにて、更新されたアプリケーションは、アドレス情報を用いて、値にアクセスすること、によって自動的に構成され得る。
【0016】
プログラミングインタフェース、または、アプリケーションがプロセスイメージにアクセスするために用いられるインタフェース、は、有利には標準化されており、アプリケーションおよびプロキシ装置のこれらのインタフェースは、機能的に異なるべきでない。従って、プロキシ装置のために、このインタフェースを別個のアプリケーションにおいてカプセル化することが有利であり、その結果、異なるプラットフォーム用に作成されるプロキシ装置の異なるバージョンが、同じプラットフォーム用に作成されるアプリケーションの同一インタフェースを、使用することができる。それに加えて、プロキシサービスによって、その都度、ローカルプロキシアプリケーションはインスタンス化され、プロキシアプリケーションは、それぞれのローカルプロセスイメージへのアクセスを行う。これと同様に、以下の場合が有利である、すなわち、各アプリケーションが、コントローラのそれぞれのローカルプロセスデータ管理と、統一アプリケーションインタフェースを用いて通信する場合や、プロキシサービスが、機能的に同等のアプリケーションインタフェースまたは同一のアプリケーションインタフェースを用いて、同じコントローラのプロセスデータ管理と通信する場合が有利である。
【0017】
有利には、プロキシサービスは、インターネットプロトコルを用いて、要求および値を送信する。特には、プロキシサービスは、有利にはOPC UAプロトコルを用いて、相互に通信し、その結果、第1コントローラとテストシステムとの間のデータ交換を、自動的に構成することができる。
【0018】
本発明に係る方法の実施形態例は、以下において、図面を用いて、説明される。図面はまた、本発明に係る装置を説明するために役立つ。
【図面の簡単な説明】
【0019】
図1図1は、問題を説明するための初期状態を示す。
図2図2は、プロダクティブユニットのプロセスデータ管理からテストユニットへの値の提供を示す。
図3図3は、テストユニットのアプリケーションに対する値の提供を示す。
図4図4は、プロダクティブユニットのアプリケーションと並行して動作する、テストユニットの更新されたアプリケーションのテストを示す。
【発明を実施するための形態】
【0020】
図1は、以下の説明のための初期状態を示す。図の右側には、第1産業用コントローラESが示されており、当該第1産業用コントローラESは、以下では、プロダクティブシステムまたはプロダクティブユニットとも、称される。プロダクティブユニットESは、プロセスデータ管理PDM_ESを含み、当該プロセスデータ管理PDM_ESは、プロダクティブユニットESで実行中のアプリケーション(アプリ)app1、app2、特にはそれらのデータフローとプロセスイメージ、を連携および管理する。プロセスデータ管理PDM_ESは、実際のデータフローには介入しない。その一方、アプリケーションapp1、app2は、プロセスイメージapp1Shm、app2Shmに、直接アクセスする。アクセスは、その際、いわゆる共有メモリ(「Shm」)において行われる、つまり、データを生成するアプリケーションが、データを、それぞれのアプリケーションに割り当てられている共有メモリに書き込む。当該共有メモリはプロセスイメージである。共有メモリは、その都度、システム全体で、それぞれのプラットフォームで読み取りと書き込みが可能である。これらデータを使用(消費)しようとするアプリケーションは、プロセスデータ管理を介して、これらデータがどの共有メモリに存在するかの情報を、取得する。アプリケーションapp2は、app1によってプロセスイメージ(共有メモリ)app1Shmに書き込まれた値light1を読み取る。この値は、アプリケーションapp2により、出力変数light2を計算するために、必要とされる。プロセスデータ管理は、light1がどこに存在するかの知識を、伝えている。双方向の矢印は、それぞれ、この目的のために必要な、アプリケーションとプロセスデータ管理との間の情報交換を記号的に表している。その一方、アプリケーションapp2は、データlight2を提供する(「書き込み」は「提供(provided)」の頭文字「p:」で示される)。このデータlight2は、この単純な例では、接続されている産業プロセスに対する制御情報である。例えば、接続されている照明は、この「変数」light2の値がどれほど高いかに応じて、0%~100%の明るさをとり得る。
【0021】
プロダクティブユニットESの外部には、app2n(「app2 new」)が存在し、当該app2nは、別個のテストシステムTEで実行され、プロダクティブユニットで使用されるapp2をテストの成功後に置き換えるものである。アプリケーションapp2、app2nの時間的並行動作中に行われるテストのために、更新されたアプリケーションapp2nは、第1コントローラESの、具体的にはアプリケーションapp1の、データlight1へのアクセス、を必要とする。読み取りアクセスは、識別子「c:」(「消費(consumed)」)で示される。
【0022】
図2には、どのようにしてユーザによりapp2nがテストユニットTEで起動されるかが示されている。アプリケーションapp2nは、直接、テストユニットTEのローカルプロセスデータ管理PDM_TEに登録し、当該ローカルプロセスデータ管理PDM_TEは、他方でプロダクティブユニットESのプロセスデータ管理PDM_ESをトリガする。これについては、後に図3を参照して詳細に説明する。
【0023】
また、プロダクティブユニットESのプロセスデータ管理PDM_ESは、さらに、プロダクティブユニットESにおいて、いわゆるプロキシサービスprxy_app_es(プロキシユニットとも称される)を、開始させる。プロキシサービスprxy_app_esは、その際、プロダクティブユニットESで生成されたデータlight1およびlight2を読み取り、IP通信インタフェースを介して「外部に向かって」使用可能とする(ユニットTEとユニットESとの間の矢印)ように、起動される。この目的のために、テストユニットTEのプロセスデータ管理PDM_TEは、「所望のデータ」light1 およびlight2に関する情報を、プロダクティブユニットESのプロセスデータ管理PDM_ESに送信し、この通信は、プロキシ装置prxy_app_te、prxy_app_esを介して行われ(図3を参照)、さらに、サーバまたは「ディストリビュータ」(不図示)も、ユニット間において通信に統合されていてもよい。テストユニットTEには、さらに、監視装置DEB、すなわち、デバッグシステムおよびエンジニアリングシステム、または、略して「デバッガ」(「DEB」)、がインストールされており、当該デバッガは、テストの制御および評価を行う。デバッグシステムおよびエンジニアリングシステムは、多くの場合、「IDE」(統合開発環境、英:Integrated Development Environment)とも称される。
【0024】
図3は、どのようにしてテストユニットTEのプロセスデータ管理PDM_TEが、テストユニットTE側で、プロキシサービスprxy_app_te(テストユニットのローカルプロキシアプリケーション)を起動させるかを、示す。プロキシサービスprxy_app_teは、IP通信インタフェースを介して、プロキシサービスprxy_app_esによって使用可能になったデータlight1およびlight2を、読み取り、これらをそのローカルプロセスイメージprxy_TE_Shm(プロキシサービスの共有メモリ)に書き込む。代替的にまたは追加的に、データlight1は、アプリケーションapp2nのプロセスイメージapp2nShmにも、書き込まれ得る、あるいは、コピーされ得る。データlight1およびlight2は、「変数名」およびメモリアドレスの登録を手段として、プロセスデータ管理PDM_TEに登録され、それに伴い、アプリケーションapp2nおよびデバッガまたは監視装置DEBにより使用可能である。ただし、データlight2がこのメモリprxy_TE_Shmから消費または読み取られるのは、監視装置またはデバッガDEBによってのみであり、デバッガDEBは、データlight2のこのバージョンを、アプリケーションapp2nのメモリapp2nShmからのバージョンと、後ほど比較する。
【0025】
このようにして、データlight1およびlight2と、プロセスイメージprxy_TE_Shmにおけるそれらの格納場所は、テストユニットTEのプロセスデータ管理PDM_TEに登録され、その結果、プロセスデータ管理PDM_TEは、目下ローカルでテストユニットTEに存在するデータlight1の情報を、消費アプリケーションapp2nに転送する。
【0026】
図4には、どのようにしてアプリケーションapp2nが、ここで、プロキシ装置prxy_app_teのプロセスイメージprxy_TE_Shmからデータlight1を読み取るか、が示されている、すなわち、アプリケーションapp2nは、間に挟まれたプロキシアプリケーションprxy_app_esおよびprxy_app_teを用いて、アプリケーションapp1のデータlight1をプロダクティブユニットESから取得し、このようにして「元データ」を用いてテスト可能である、すなわち、特に、アプリケーションapp2およびapp2nによってそれぞれ生成されたデータlight2を比較することができ、これは三角形により図示されている。比較の代わりに、アプリケーションapp2nによって生成されたデータlight2を、所定の限界値などとに対して検証することもできる。さらに、更新されたアプリケーションapp2nによって生成されたデータlight2は、プロキシサービスまたはプロキシアプリケーションprxy_app_esおよびprxy_app_teを介して、プロダクティブユニットESに返送され、そこでプロセスイメージapp2Shmに書き込まれてもよく、その結果、さらなるステップにて、なおテストユニットに存在するアプリケーションapp2nが元のアプリケーションapp2のタスクを引き継ぐ(このプロセスは明瞭化のため図中には示されていない)。生成される出力値が複数である場合、これを段階的に行ってもよく、デバッガDEBのユーザは、「元の」値または更新されたアプリケーションによって生成された値がプロダクティブオペレーションで使用されるか否か、いつ使用されるか、どのような条件で使用されるかを、それぞれ出力値に対して個別に設定できる。
【0027】
従って、このプロセスにおいてユーザは、ユーザインタフェースを用いて、アプリケーションapp2nによって生成されたどのデータ(例えばアクチュエータの値)をプロダクティブオペレーションで引き継ぐべきであるかについて完全に制御でき、このことは、データ構造により、プロキシサービスprxy_app_esおよびprxy_app_teを介して、可能である。プロセス全体は、テスト装置またはデバッグ装置DEBを用いて、ユーザにより、常に監視可能であり、特に、セキュリティ上の理由などから不適切な値がプロダクティブに使用されることを防ぐこともできる。
【0028】
最終ステップ(不図示)では、テストの成功後、更新されたアプリケーションapp2nは、プロダクティブユニットESに送信され、その後そこでシームレスにアプリケーションapp2から新しいアプリケーションapp2nへと切り替えられる。アプリケーションapp2nがタスクを完全に引き継いだため、元のアプリケーションapp2は今や停止され得て、プロダクティブユニットESから削除され得る。
【0029】
これにより、動作中に、シミュレーション/テストからアプリ/アプリケーションを段階的に引き継ぐことが可能である。アプリケーションのテスト中に、ユーザは、データをプロダクティブシステムに引き継ぐこと、それに伴い連続的に、更新されたアプリケーションを試用的に動作させること、ができる、その際、いつでも元のアプリケーションによって生成された制御値に戻すことができる。

図1
図2
図3
図4