JP2023055628A - 産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 - Google Patents

産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 Download PDF

Info

Publication number
JP2023055628A
JP2023055628A JP2022131917A JP2022131917A JP2023055628A JP 2023055628 A JP2023055628 A JP 2023055628A JP 2022131917 A JP2022131917 A JP 2022131917A JP 2022131917 A JP2022131917 A JP 2022131917A JP 2023055628 A JP2023055628 A JP 2023055628A
Authority
JP
Japan
Prior art keywords
application
app2n
pdm
values
local
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.)
Pending
Application number
JP2022131917A
Other languages
English (en)
Inventor
ゲッツ ヤン
Jan Goetz
ライヒマン ユルゲン
Reichmann Juergen
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2023055628A publication Critical patent/JP2023055628A/ja
Pending legal-status Critical Current

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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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
    • 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/048Monitoring; Safety
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Computer Security & Cryptography (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】産業用オートメーション装置用の更新されたアプリケーションを適切にコミッショニングする方法および装置を提供する。【解決手段】第1の、存在しているアプリケーション(app2)は第1コントローラ(ES)において、そして、更新されたアプリケーション(app2n)はテスト装置(TE)において、並行して動作される。ここで、ローカルソフトウェアによって、特にはいわゆるプロキシサービス(略してプロキシ)によって、産業用オートメーションシステムで取得され、第1コントローラ(ES)のプロセスイメージに存在するセンサデータは、別個のテスト装置(TE)のプロセスイメージに書き込まれる。ここで、テスト装置(TE)のローカルプロセスイメージにはまだ属していないメモリセル(例えばI/O値、変数またはレジスタ)が、そこに作成されるか、割り当てられる。【選択図】図3

Description

本発明は、請求項1の上位概念に係る産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法、および、請求項11の上位概念に係る産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする装置、に関する。
最近の制御ユニットは、制御ユニットが読み取りおよび書き込みのためにアクセスするローカルプロセスイメージを、有している。このプロセスイメージに存在するデータまたは値は、制御機能によって使用可能である。プロセスイメージのデータまたは値は、特にはいわゆるI/O値、つまりセンサデータおよびアクチュエータデータ、である。
外部データは、すなわち、デジタルおよびアナログの入力部/出力部を介しては、または、Profinetなどの、制御ユニットに一般的なバスを介しては、読み取りされない/書き込みされないデータは、外部アプリケーションのインタフェースまたはOPC UAなどのプロトコルを介してのみ、制御ユニットへ入力または出力され得るが、それらは、ローカルプロセスイメージの直接的な構成要素ではない。特に、2つの異なる制御ユニットのプロセスイメージは、相互に不可視であり、それに伴い、相互にアクセスすることもできない。従って、外部データは、手動でアプリケーションからローカルプロセスイメージに入力される必要がある。通常の場合、このためには、関与するアプリケーションの停止とそれに続く再起動も必要である。
異なる装置におけるアプリケーション間のデータ交換は、例えばOPC UAプロトコルを介して、または、製造元SiemensのPLC(PLC:Programmable Logic Controller(プログラマブルロジックコントローラ))の場合にはS7プロトコルを介して、可能となる。これは、プログラマによって手動でエンジニアリングフェーズにおいて行われる、つまり、それは自動的には行われず、動作中に行うことはできない。
アプリケーションが遠隔制御ユニットのデータにアクセスする場合、このアプリケーションは「手動で」対応するデータチャネルにアクセスする必要がある。ローカルに存在するOPC UAサーバは、クライアント機能(英:client capability、独:Client Faehikeit)を有していないため、これを自動的に行うことはできない。ローカルOPC UAクライアントが存在する場合に対しては、データ連携を「手動で」行う必要があるか、マッチングアルゴリズムを有効にする必要がある。
周知の解決策に共通しているのは、アプリケーションは、異なる方法で、一方ではローカルで使用可能なプロセスイメージのデータにアクセスする必要があり、他方では外部データにアクセスする必要があることであり、その結果、アプリケーションは、常に外部アクセス用に設定および/または構成される必要がある。これは、特には既存のアプリケーション(「ブラウンフィールド」アプリケーション、「レガシー」アプリケーション)や、更新用に設けられたそれらの後続のバージョン、においては、往々にして、コストをかけることによってのみ可能であるか、または全く不可能なことである。従って、オートメーション技術の分野では、多くの場合、プロダクティブオペレーション(英:productive operation、独:Produktivbetrieb)とシミュレーションは分けられている。
上述した制約は、既存のアプリケーションの更新されたバージョンをテストすること、より困難にする、特には、新しいバージョンが、いわゆる「ライブデータ」を用いて、アプリケーションの古いバージョンと並行して、別個のテストシステムにおいて動作される場合に、より困難にする。しかしながら、そのようなテストは重要であり、その理由は、既存のバージョンと新しいバージョンの動作とを直接的に比較することができるからであり、当該新しいバージョンは、特にはいわゆる「リリース候補」または「ベータ版」のバージョン、すなわち最終的に検証されることになる完成バ―ションである。
テスト対象であるバージョンは、プロダクティブバージョンに対して変更されたインタフェースを用いて、センサデータまたは一般的にプロダクティブシステムのプロセスイメージに、アクセスする必要があり、その結果、少なくとも、インタフェースに関してまたは特にプロセスイメージにアクセスするAPIに関して、テスト対象である新しいバージョンは、アプリケーションの既存のバージョンとは異なっている。言い換えれば、テスト対象であるバージョンは、後のプロダクティブバージョンとは異なる。これは、一般的にテストには望ましくない。従って従来、最終的な「リリース候補」のシミュレーションは、多くの場合、プロダクティブオペレーションとは無関係に事前に行われていた。
従って、本発明の課題は、アプリケーションによるプロセスイメージへの、特には外部プロセスイメージへの、アクセスを、以下のように、単純化することである、つまり、統一インタフェースを、アプリケーションのプロダクティブオペレーションのバージョンに対しても、これと並列に動作されるテスト対象であるバージョンに対しても、使用できるように、単純化することである。
本課題を解決するための核となる思想は、ローカルソフトウェアによって、特にはいわゆるプロキシサービス(略してプロキシ)によって、産業用オートメーションシステムにて取得されるセンサデータであって、産業用コントローラのいわゆるプロセスイメージに存在するセンサデータは、別個のテストシステムのプロセスイメージに書き込まれるか、ここから読み出される、ということである。ここで、メモリセル(例えばI/O値、変数またはレジスタ)であって、テストシステムのローカルプロセスイメージにはまだ属していないメモリセルが、そこに作成されるか、割り当てられ、好ましくはローカルプロセスデータ管理によって、または少なくともローカルプロセスデータ管理において作成された後に、登録される。このようにして、プロダクティブシステムの「外部」データおよび値は、アプリケーションのプロダクティブのバージョンもテスト対象であるバージョンも変更する必要なしに、テストシステムのローカルプロセスイメージにおいて、使用可能である。本発明のさらなる核となる思想は、テスト対象であるアプリケーションによって生成されるデータを、多くの場合いわゆるアクチュエータ値を、プロダクティブシステムのローカルプロセスイメージに送信すること、その結果、テスト対象のアプリケーションが最終的にプロダクティブシステムに引き継がれる前に、テスト対象のアプリケーションは連続的に産業用装置の制御を試用的に引き継がれ得ること、に関する。
本課題は、特に請求項1に記載の方法により解決される。ここで、産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法が提案され、第1アプリケーションを有する第1産業用コントローラは、ローカルで使用されるプロセスデータを有する少なくとも1つのローカルプロセスイメージを含み、プロセスデータは、複数の値、特には産業用オートメーション装置のセンサおよび/またはアクチュエータの値からなり、値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理が設けられており、第1アプリケーションは、値に関する識別子およびメモリアドレスに関する情報を、ローカルプロセスデータ管理と交換し、値を、少なくとも1つのローカルプロセスイメージにおいて、情報を用いて、読み取るおよび/または書き込む。ここで、テストユニットには、更新されたアプリケーション、特には第1アプリケーションのテスト対象である新しいバージョン、と、少なくとも1つのさらなるプロセスイメージと、さらなるプロセスデータ管理と、が設けられ、更新されたアプリケーションは、値に関する識別子およびメモリアドレスに関する情報をテストユニットのローカルプロセスデータ管理と交換し、値を、少なくとも1つのさらなるプロセスイメージにおいて、読み取るおよび/または書き込む。加えて、第1コントローラおよびテストユニットにおいて、それぞれ、プロキシサービスが設定され、プロキシサービスは、それぞれ、対応するローカルプロセスデータ管理との通信を行い、値を、各ローカルプロセスイメージにおいて、交換された情報を用いて、読み取るおよび/または書き込む。更新されたアプリケーションは、第1アプリケーションと並行して実行され、更新されたアプリケーションによって読み取られる対象である値は、プロキシサービスによって、第1コントローラの少なくとも1つのプロセスイメージから読み取られ、少なくとも1つのさらなるプロセスイメージに挿入される。ここで、監視装置は、更新されたアプリケーションによってテストユニットの少なくとも1つのプロセスイメージに格納された少なくとも1つの出力値の検証を実行し、更新されたアプリケーションは、検証の成功後にのみ、プロダクティブオペレーションにおける使用に対して、解放される。本方法によって、テスト対象であるアプリケーションは、それが後にプロダクティブシステムのプロセスイメージにおけるローカルで使用可能なデータにアクセスするのと同様に、すでにテストシステムにおいて、プロダクティブシステムのこのデータにアクセスすることができ、このためにアプリケーションを変更または再構成する必要はない。
また、本課題は、本方法を実行するように設定される請求項11に記載の装置により解決される。ここで、産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする装置が設けられ、第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ステップにて、プロセスデータ管理は、要求を、ローカルプロキシサービスへ転送し、第2ステップにて、ローカルプロキシサービスは、要求を、第1コントローラのプロキシサービスへ転送し、第3ステップにて、プロキシサービスは、値を、第1コントローラのローカルプロセスイメージから読み取り、要求元のテストユニットのプロキシサービスに転送し、第4ステップにて、要求元のテストユニットのプロキシサービスは、値を、少なくとも1つのローカルプロセスイメージに挿入し、関連するアドレス情報を、ローカルプロセスデータ管理に登録し、第5ステップにて、ローカルプロセスデータ管理は、更新されたアプリケーションの要求に対して、アドレス情報を用いて応答し、第6ステップにて、更新されたアプリケーションは、アドレス情報を用いて、値にアクセスすること、によって自動的に構成され得る。
プログラミングインタフェース、または、アプリケーションがプロセスイメージにアクセスするために用いられるインタフェース、は、有利には標準化されており、アプリケーションおよびプロキシ装置のこれらのインタフェースは、機能的に異なるべきでない。従って、プロキシ装置のために、このインタフェースを別個のアプリケーションにおいてカプセル化することが有利であり、その結果、異なるプラットフォーム用に作成されるプロキシ装置の異なるバージョンが、同じプラットフォーム用に作成されるアプリケーションの同一インタフェースを、使用することができる。それに加えて、プロキシサービスによって、その都度、ローカルプロキシアプリケーションはインスタンス化され、プロキシアプリケーションは、それぞれのローカルプロセスイメージへのアクセスを行う。これと同様に、以下の場合が有利である、すなわち、各アプリケーションが、コントローラのそれぞれのローカルプロセスデータ管理と、統一アプリケーションインタフェースを用いて通信する場合や、プロキシサービスが、機能的に同等のアプリケーションインタフェースまたは同一のアプリケーションインタフェースを用いて、同じコントローラのプロセスデータ管理と通信する場合が有利である。
有利には、プロキシサービスは、インターネットプロトコルを用いて、要求および値を送信する。特には、プロキシサービスは、有利にはOPC UAプロトコルを用いて、相互に通信し、その結果、第1コントローラとテストシステムとの間のデータ交換を、自動的に構成することができる。
本発明に係る方法の実施形態例は、以下において、図面を用いて、説明される。図面はまた、本発明に係る装置を説明するために役立つ。
図1は、問題を説明するための初期状態を示す。 図2は、プロダクティブユニットのプロセスデータ管理からテストユニットへの値の提供を示す。 図3は、テストユニットのアプリケーションに対する値の提供を示す。 図4は、プロダクティブユニットのアプリケーションと並行して動作する、テストユニットの更新されたアプリケーションのテストを示す。
図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%の明るさをとり得る。
プロダクティブユニットESの外部には、app2n(「app2 new」)が存在し、当該app2nは、別個のテストシステムTEで実行され、プロダクティブユニットで使用されるapp2をテストの成功後に置き換えるものである。アプリケーションapp2、app2nの時間的並行動作中に行われるテストのために、更新されたアプリケーションapp2nは、第1コントローラESの、具体的にはアプリケーションapp1の、データlight1へのアクセス、を必要とする。読み取りアクセスは、識別子「c:」(「消費(consumed)」)で示される。
図2には、どのようにしてユーザによりapp2nがテストユニットTEで起動されるかが示されている。アプリケーションapp2nは、直接、テストユニットTEのローカルプロセスデータ管理PDM_TEに登録し、当該ローカルプロセスデータ管理PDM_TEは、他方でプロダクティブユニットESのプロセスデータ管理PDM_ESをトリガする。これについては、後に図3を参照して詳細に説明する。
また、プロダクティブユニット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)とも称される。
図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からのバージョンと、後ほど比較する。
このようにして、データlight1およびlight2と、プロセスイメージprxy_TE_Shmにおけるそれらの格納場所は、テストユニットTEのプロセスデータ管理PDM_TEに登録され、その結果、プロセスデータ管理PDM_TEは、目下ローカルでテストユニットTEに存在するデータlight1の情報を、消費アプリケーションapp2nに転送する。
図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のユーザは、「元の」値または更新されたアプリケーションによって生成された値がプロダクティブオペレーションで使用されるか否か、いつ使用されるか、どのような条件で使用されるかを、それぞれ出力値に対して個別に設定できる。
従って、このプロセスにおいてユーザは、ユーザインタフェースを用いて、アプリケーションapp2nによって生成されたどのデータ(例えばアクチュエータの値)をプロダクティブオペレーションで引き継ぐべきであるかについて完全に制御でき、このことは、データ構造により、プロキシサービスprxy_app_esおよびprxy_app_teを介して、可能である。プロセス全体は、テスト装置またはデバッグ装置DEBを用いて、ユーザにより、常に監視可能であり、特に、セキュリティ上の理由などから不適切な値がプロダクティブに使用されることを防ぐこともできる。
最終ステップ(不図示)では、テストの成功後、更新されたアプリケーションapp2nは、プロダクティブユニットESに送信され、その後そこでシームレスにアプリケーションapp2から新しいアプリケーションapp2nへと切り替えられる。アプリケーションapp2nがタスクを完全に引き継いだため、元のアプリケーションapp2は今や停止され得て、プロダクティブユニットESから削除され得る。
これにより、動作中に、シミュレーション/テストからアプリ/アプリケーションを段階的に引き継ぐことが可能である。アプリケーションのテスト中に、ユーザは、データをプロダクティブシステムに引き継ぐこと、それに伴い連続的に、更新されたアプリケーションを試用的に動作させること、ができる、その際、いつでも元のアプリケーションによって生成された制御値に戻すことができる。

Claims (11)

  1. 産業用オートメーション装置用の更新されたアプリケーション(app2n)をコミッショニングする方法であって、
    第1アプリケーション(app2)を有する第1産業用コントローラ(ES)は、ローカルで使用されるプロセスデータを有する少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)を含み、
    前記プロセスデータは、複数の値、特には前記産業用オートメーション装置のセンサおよび/またはアクチュエータの値、からなり、
    前記値に関する識別子およびメモリアドレスを管理するローカルプロセスデータ管理(PDM_ES)が設けられており、
    前記第1アプリケーション(app2)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を、前記ローカルプロセスデータ管理(PDM_ES)と交換し、値を、前記少なくとも1つのローカルプロセスイメージ(app1Shm、app2Shm)において、前記情報を用いて、読み取るおよび/または書き込む、
    方法において、
    テストユニット(TE)には、前記更新されたアプリケーション(app2n)、特には前記第1アプリケーション(app2)のテスト対象である新しいバージョン、と、少なくとも1つのさらなるプロセスイメージ(app2nShm)と、さらなるプロセスデータ管理(PDM_TE)と、が設けられ、
    前記更新されたアプリケーション(app2n)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を前記テストユニット(TE)の前記ローカルプロセスデータ管理(PDM_TE)と交換し、値を、前記少なくとも1つのさらなるプロセスイメージ(app2nShm)において、読み取るおよび/または書き込む、ことと、
    前記第1コントローラ(ES)および前記テストユニットにおいて、それぞれ、プロキシサービスが設定され、前記プロキシサービスは、それぞれ、対応する前記ローカルプロセスデータ管理(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~4の何れか1項に記載の方法において、
    前記監視装置(DEB)によって、前記プロダクティブオペレーションに対して解放される場合には、前記第1コントローラ(ES)において前記更新されたアプリケーション(app2n)のインストールおよび起動が、開始され、前記第1アプリケーション(app2)の少なくとも1つの出力値から、新しくインストールされ、作動された前記更新されたアプリケーション(app2n)の前記対応する出力値への、変換が、前記産業用オートメーション装置の運転のために、開始されること、
    を特徴とする方法。
  6. 請求項1~5の何れか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~6の何れか1項に記載の方法において、
    前記プロキシサービスの少なくとも1つによって、ローカルプロキシアプリケーションがインスタンス化され、前記プロキシサービスの前記プロキシアプリケーションは、前記ローカルプロセスイメージへのアクセスを、行うこと、
    を特徴とする方法。
  8. 請求項1~7の何れか1項に記載の方法において、
    各前記アプリケーション(app1、app2、app2n)は、前記コントローラ(ES)または前記テストユニット(TE)の、それぞれの前記ローカルプロセスデータ管理(PDM_ES、PDM_TE)と、統一アプリケーションインタフェースを用いて、通信し、
    前記プロキシサービス(prxy_app_te、prxy_app_es)は、機能的に同等のまたは同一のアプリケーションインタフェースを用いて、同じコントローラ(ES)または同じテストユニット(TE)の前記プロセスデータ管理(PDM_ES、PDM_TE)と、通信すること、
    を特徴とする方法。
  9. 請求項1~8の何れか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アプリケーション(app2)のテスト対象である新しいバージョンと、少なくとも1つのさらなるプロセスイメージ(app2nShm)と、さらなるプロセスデータ管理(PDM_TE)と、が設けられており、前記更新されたアプリケーション(app2n)は、前記値に関する前記識別子および前記メモリアドレスに関する情報を前記テストユニットの前記ローカルプロセスデータ管理(PDM_TE)と交換するように、および、値を、前記少なくとも1つのさらなるプロセスイメージ(app2nShm)において読み取るおよび/または書き込むように、設定されていることと、
    前記コントローラおよび前記テストユニットには、それぞれ、プロキシサービスが設定されており、前記プロキシサービスは、それぞれ、対応する前記ローカルプロセスデータ管理(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)は、検証の成功後にのみ、プロダクティブオペレーションにおける使用に対して、解放されるように、さらに構成されていることと、
    を特徴とする、装置。

JP2022131917A 2021-09-29 2022-08-22 産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置 Pending JP2023055628A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21199868 2021-09-29
EP21199868.7A EP4160390B1 (de) 2021-09-29 2021-09-29 Verfahren und anordnung zur inbetriebnahme einer aktualisierten anwendung für eine industrielle automatisierungsanordnung

Publications (1)

Publication Number Publication Date
JP2023055628A true JP2023055628A (ja) 2023-04-18

Family

ID=78293867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022131917A Pending JP2023055628A (ja) 2021-09-29 2022-08-22 産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置

Country Status (5)

Country Link
US (1) US20230101026A1 (ja)
EP (1) EP4160390B1 (ja)
JP (1) JP2023055628A (ja)
KR (1) KR20230046256A (ja)
CN (1) CN115878142A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220405188A1 (en) * 2021-06-21 2022-12-22 Red Hat, Inc. Monitoring activity of an application prior to deployment

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2711797A1 (en) * 2012-09-21 2014-03-26 ABB Research Ltd. Operating a programmable logic controller
WO2017212036A1 (en) * 2016-06-10 2017-12-14 Schneider Electric Industries Sas Method and system for providing proxy service in an industrial system

Also Published As

Publication number Publication date
CN115878142A (zh) 2023-03-31
EP4160390A1 (de) 2023-04-05
EP4160390B1 (de) 2024-03-27
US20230101026A1 (en) 2023-03-30
KR20230046256A (ko) 2023-04-05
EP4160390C0 (de) 2024-03-27

Similar Documents

Publication Publication Date Title
US8832237B2 (en) Method for offline servicing of a field device of automation technology
US9483035B2 (en) Method for integrating at least one field device into a network of automation technology
US11277495B2 (en) System and method for providing microservice-based device control interface
JP5972303B2 (ja) 制御装置テストシステムのコンフィギュレーション設定の実行方法
US20080313629A1 (en) Method for installation of objects for a component-based management system for field devices of automation technology
CN101192165A (zh) 主从式多处理器系统以及软件版本加载方法
CN105487892A (zh) 一种Linux环境下的云中GIS服务部署系统
EP1586967A2 (en) A method and control system for controlling machinery
JP2002268707A (ja) コントローラ及びツール並びにそれらにより構成されるシステム
US11500690B2 (en) Dynamic load balancing in network centric process control systems
CN109565526B (zh) 用于将数据源系统连接到it系统上的方法和网关
JP2023055628A (ja) 産業用オートメーション装置用の更新されたアプリケーションをコミッショニングする方法および装置
US11544206B2 (en) Process control unit and method for interprocess exchange of process variables
US11544076B2 (en) Online reconfiguration of a node in a process control system
CN115113591A (zh) 使用控制软件的虚拟化实例控制工业过程
Hadlich et al. Common communication model for distributed automation systems
KR102250169B1 (ko) 서비스 연결제어 방법 및 시스템
EP3971660A1 (en) Method and system for providing engineering of an industrial device in a cloud computing environment
CN113760347B (zh) 数据处理
JP2023518198A (ja) 産業用オートメーションプラットフォームのオートメーションプログラムを管理する方法および装置
US11281448B2 (en) Online firmware upgrade of a node in a process control system
WO2020184062A1 (ja) 制御システムおよび制御装置
WO2020184063A1 (ja) 制御システムおよび制御装置
CN116848476A (zh) 针对控制功能的零停机时间升级的基于plc的支持
CN111740972A (zh) 一种通信协议栈信息的更新方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230227

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240118

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240430