JP2010522907A - リアル・タイム・プロセス制御システム - Google Patents

リアル・タイム・プロセス制御システム Download PDF

Info

Publication number
JP2010522907A
JP2010522907A JP2009533832A JP2009533832A JP2010522907A JP 2010522907 A JP2010522907 A JP 2010522907A JP 2009533832 A JP2009533832 A JP 2009533832A JP 2009533832 A JP2009533832 A JP 2009533832A JP 2010522907 A JP2010522907 A JP 2010522907A
Authority
JP
Japan
Prior art keywords
real time
process control
control system
time process
processing unit
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
JP2009533832A
Other languages
English (en)
Inventor
ファン・デン・キーブス,イェロエン
ヴァナスヘ,ピェト・マリア・アンドレ・コルネリウス
ロエックス,フレデリク
ケッペンス,ハンス
Original Assignee
トライフェイズ ナムローゼ・フェンノートシャップ
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 トライフェイズ ナムローゼ・フェンノートシャップ filed Critical トライフェイズ ナムローゼ・フェンノートシャップ
Publication of JP2010522907A publication Critical patent/JP2010522907A/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/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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • 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
    • 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/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • 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]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • 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/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25231Command, task has deadline, time limit to be executed
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33148CLS client server architecture, client consumes, server provides 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33151Distributed client server
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34408Design real time control system

Landscapes

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

Abstract

本発明によるリアル・タイム・プロセス制御システムにおいて、リアル・タイム・オペレーティング・システムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システム(231、232)のいずれかを走らせる処理ユニット(201)が、リアル・タイム計算サーバとして作用する。クライアント−サーバ通信用のオンボード通信インターフェース(221、222、223)を装備した作動/検知ユニット(211、212、213)が、クライアントとして作用する。作動/検知ユニット(211、212、213)は、処理ユニット(201)にメッセージを送って、計算タスクの適時評価を要求する。処理ユニット(201)は、計算タスクをリアル・タイムで評価し、要求元クライアントのオンボード通信インターフェース(221、222、223)に応答を返送する。
【選択図】図2

Description

本発明は、一般的には、リアル・タイム・プロセス自動化に関し、特に、パワー・エレクトロニクス用途を制御するための高信頼性システムのような、リアル・タイム・プロセス制御システムのアーキテクチャに関する。プロセス自動化は、製品、サービス、および活動(activities)に関係し、計算ハードウェア、センサ/アクチュエータ、およびその他のデバイス、ならびにその上のソフトウェアを用いて、1つ以上のプロセスの挙動および進展を自動的に監視し、操作し(steer)、制御する。プロセスとは、モータ、製粉機、タービン、製品製造機械のような物理的デバイス、または物理的デバイスの集合体の動作とすることができる。リアル・タイム・プロセス自動化は、所定の時間量内でタスクを完了しなければならないという余分な制約を賦課する。
"Power Section for Driving an Electric Drive, a Drive Control Based Thereon, and a Method for Networking a Control Unit with One or More Power Sections"(電気ドライブを駆動するためのパワー部、それに基づいたドライブ制御、および制御ユニットと1つ以上のパワー部とでネットワークを構築する方法)題する米国特許出願第2002/0049505号A1に、従来技術の電気ドライブ・リアル・タイム制御システムが記載されている。この中では、マスタ−スレーブ・アーキテクチャが開示されており、電気ドライブを制御するためのそのインテリジェンスを、中央制御ユニット(図1におけるR)と電気ドライブの近くに位置するパワー部(図1におけるL1、L2、およびL3)との間で分配する。中央制御ユニットは、所望の出力値(例えば、電圧値)を決定し、初期化のときにパワー部をパラメータ化する。このようにする際に、中央マスタ制御ユニットが先導して、スレーブパワー部に命令する。更に、パワー部では、検出した温度値に基づくリアル・タイム安全性チェックが行われる。各パワー部は、リアル・タイム処理能力を有するディジタル・インターフェースと、リアル・タイム計算タスクの一部のためにマイクロプロセッサとを有する。言い換えると、パワー部自体が測定値を受信して処理し、ゲート・ドライバ信号をリアル・タイムで発生するインテリジェンスおよび複雑さを有する。米国特許出願第2002/0049505号A1における中央制御ユニットとパワー部との間の通信は、ディジタル、同期マスタ−スレーブ送信プロトコルによって同期が取られている。
一般に、既知のプロセス自動化システムは、マスタ−スレーブ構成で動作する異なるプロセッサ・ハードウェアの混合体を内包する。本特許出願書類に含まれる(enclosed)図1に、これが示されており、3つのパワー弁(power valves)111、112、および113が示されている。これらは、パワー弁111、112、および113の近くにあるディジタル信号プロセッサ(DSP)121、122、および123の混合体によって制御される。一方、これらのDSP121、122、および123は、ネットワーク104を通じてプログラマブル・ロジック・コントローラ(PLC)103に接続されており、後者のPLC103は、ネットワーク102を通じて中央処理ユニット(CPU)101に接続されている。機能的な観点からそして最も低いレベルでは、ドライブ制御のような、リアル・タイム制御用アルゴリズムは、通例、被制御デバイスと一体化されたまたはその近くに位置するディジタル信号プロセッサ(DSP)121、122、および123上に実装する。その上、リアル・タイム・プロセス制御用アルゴリズムを、プログラマブル・ロジック・コントローラ・プロセッサ(PLC)103上に実装することもあり得る。これらのアルゴリズムは、とりわけ、DSP121、122、および123上で走る制御アルゴリズムに、設定値、例えば、所望の速度およびトルクを供給する。最後に、プロセスの視覚化、および製造実行システム(MES)や企業資源計画(ERP)レイヤによって実装するような、更に上のレベルの非リアル・タイム・タスクが、図1におけるCPU101のようなパーソナル・コンピュータ(PC)またはPC状ハードウェア上で行われるのが通例である。これらは、多くの場合、図1における非リアル・タイム・オペレーティング・システムに基づいて動作する。
従来技術のプロセス自動化システムの一部は、本来、多数のハードウェア・プラットフォームおよびマスタ−スレーブ・アーキテクチャによって形成されるため、様々な難点が生ずる。第1に、多数のハードウェア・プラットフォームでは、全てのハードウェア・プラットフォームが互いに適正に通信するために、相当なインターフェース・オーバーヘッドが発生する。更に、均一なプログラミング標準を用いることは、不可能ではないにしても、困難である。何故なら、各ハードウェア・プラットフォームにはそれ自体の特異性や限界があるからである。したがって、既知のプロセス自動化システムでは、ソフトウェアの保守が非常に困難となることが分かる。マスタ−スレーブ・アーキテクチャの別の欠点は、システムの信頼性がマスタの信頼性によって決定されることである。マスタが故障すると、全ての従属スレーブも故障する。
更に、例えば、ドライブ制御用の低レベル制御ループが、大抵の場合DSPプロセッサ上に実装されている。このため、ロバスト性の要件は、丁度動的応答に対する過酷な要件を満たすように達成される。例えば、100ミリ秒未満のサイクル時間は、DSPに基づく駆動制御によって実現することができる。しかしながら、コストの理由のために、DSPは計算容量が制限されている場合が多い。これらDSPの計算容量は、例えば、多数の制御ループの調和を伴う、複雑な高性能制御アルゴリズムには十分ではない。一方で、システムまたはアプリケーションが、非常に強力なプロセッサ、例えば、PCプロセッサの利用可能な容量を使用しないまま残すことも多い。
強力な方のプロセッサを優先してDSPやPLCプロセッサを選択する主な理由の1つは、リアル・タイム自動プロセス制御に要求される信頼性にある。99.99%の稼動時間が要求されるのも例外ではない。この信頼性要件は、特に、最も低い制御レベル、即ち、ハードウェアと直接相互作用を行う制御ループに当てはまる。
本発明の目的は、前述した従来技術のシステムの欠点を克服する、リアル・タイム・プロセス制御システムを提供することである。即ち、本発明の目的は、制御インテリジェンスの多数のハードウェア・プラットフォームへの分散を回避し、このような多様なハードウェア・プラットフォーム間におけるインターフェース・オーバーヘッドを回避し、制御ハードウェアの多様性の結果である保守の困難性を回避する、リアル・タイム・プロセス制御システムを開示することである。加えて、リアル・タイム制御プロセスにおける信頼性を損なうことなく(trade)、PCのような利用可能な強力な信号処理ハードウェアの処理能力を一層最適に使用することも目的の1つである。
前述の目的の達成、および先行技術の解決策の欠点の解消は、請求項1に規定するリアル・タイム・プロセス制御クライアント−サーバ・システムによって遂行する。このようなシステムは、処理ユニットと、処理ユニットと通信することができる少なくとも1つの作動/検知ユニットと、処理ユニットと少なくとも1つの作動/検知ユニットとを相互接続するネットワークとを有する。処理ユニットは、リアル・タイム計算サーバとして作用し、そのためにリアル・タイム・オペレーティング・システムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システムを走らせるように構成されている。作動/検知ユニットは、クライアントとして作用するように構成されており、計算タスクの適時評価を要求するメッセージを通じた処理ユニットとのクライアント−サーバ通信のために、オンボード通信インターフェースを有する。
本特許出願のこれまでの説明および残りの双方において、作動/検知ユニットは、とりわけ、ある種のプロセス特性を測定することができる検知ハードウェア、ある種の刺激をプロセスに加えることができる作動ハードウェア、または双方のいずれかを備えているユニットとして理解するとよい。
このように、クライアント−サーバ・アーキテクチャにしたがってシステムを構成することにより、作動/検知ユニットは計算タスクの要求を送るが計算自体をもはや実行しないクライアントとなり、PCのような処理ユニットは計算サーバとして作用し、全ての処理機能性は1つのハードウェア・プラットフォーム上に集中する。その結果、インターフェース処理のオーバーヘッドは、作動/検知ユニットと処理ユニットとの間の1つの、好ましくは標準化されたインターフェースに減少する。更に、処理ユニット上で走るソフトウェアのみを保守すればよいので、ソフトウェアの保守が簡略化されている。
本発明によるシステムでは、主な計算タスクは、処理ユニットによって実行し、処理ユニットは、リアル・タイム・オペレーティング・システム、または1つの処理ユニット上でリアル・タイムおよび非リアル・タイム動作双方を管理することができる混成オペレーティング・システムのいずれかを走らせる。このような処理ユニットの例には、Intel社のプロセッサ、AMD社のプロセッサ、PowerPCプロセッサ、Blackfinプロセッサ、ならびにTI社のC2000、C5000、およびC6000シリーズが含まれる。リアル・タイム・オペレーティング・システムの例には、Micrium、Nucleus、VxWorks、QNX、On Time RTOS−32、およびLynxOSがある。混成オペレーティング・システムは、例えば、RTLinux、RTAI、またはXenomaiオペレーティング・システムとすればよいが、ProNoCos Win RTのような、リアル・タイム拡張を有するWindowsCEまたはWindowsXPでもよい。処理ユニットおよびオペレーティング・システムの組み合わせにより、ローカルおよびリモート・ユーザ・インターフェース、ならびにその他の非リアル・タイム・プロセスを走らせることができる一方で、同時にリアル・タイム計算サーバとして作用し、現場にあるクライアント作動/検知ユニットからの要求を受信し処理することができる。これらの要求は、通例、計算サーバにある種の計算タスク、例えば、要求元の作動/検知ユニットにその設定値を供給するため、またはセンサ情報を適正に格納し伝搬するための制御アルゴリズムの評価をリアル・タイムで実行することの要求を含む。リアル・タイム挙動を確保するために、要求は、当該要求を処理しなければならない時間スパンを指定するとよい。要求は、オプションとして、計算タスクを実行するために処理ユニットが必要とする測定値のような、追加情報を含むこともできる。要求される計算タスクは、制御アルゴリズムまたは多数の制御アルゴリズムの評価に対応することができるが、それに限定されないのは明らかである。
更に、本発明は、請求項14に規定する対応のリアル・タイム・プロセス制御方法に関する。
本発明によるリアル・タイム・プロセス制御システムの特定的な実施形態は、パワー・エレクトロニクスを制御するために構成されている。請求項2に規定するこのような実施形態では、作動/検知ユニットは、それぞれのパワー部ユニットの一部を形成し、処理ユニットは、サーバとして作用するように構成され、パワー部ユニットは、サーバ上で計算タスクの評価をスケジューリングすることが可能である。
クライアントパワー部は、パワー変換弁、電流、電圧、および温度を測定するセンサ、測定値をディジタル・フォーマットに変換する信号処理ハードウェア、ならびに信号処理ハードウェアおよび通信インターフェースを備えている。信号処理ハードウェアおよび通信インターフェースは、測定値を処理し、サーバ処理ユニットに情報を送信しこれから情報を受信し、本特許出願において更に説明するような、冗長性を有するシステムにおいて複数のサーバ処理ユニットにアドレスする場合には、最終的に、着信する応答の中から選択を行う。最後に、応答は、パワー変換弁のゲート・ドライバに直接印加する、またはクライアント・ユニット上に位置しパワー変換器ゲート・ドライバ信号を生成するパルス幅変調(PWM)発生器の入力に印加するのに適した信号を収容する。
更に請求項3において指定するように、パワー・エレクトロニクスの制御に提供可能な本発明によるシステムの実施形態は、電流、電圧、または温度を検知しディジタル化し、更に検知した電流、電圧、または温度を、要求メッセージの一部を形成する信号に変換する作動/検知ユニットを有することもできる。
つまり、要求は、サーバが制御アルゴリズムを評価するために必要となる、必要な測定情報の全てを含む。
請求項4に規定するように、作動/検知ユニットのオンボード通信インターフェースには、クロックを装備することができ、最終的には何らかの制限したローカル処理能力も装備することができる。
このように、作動/検知ユニットは、測定値のサンプリング、アクチュエータ出力設定値の調節、要求の送付、および着信応答の処理というような動作を自律的に実行することができる。制限したローカル処理能力は、例えば、DSP、フィールド・プログラマブル・ゲート・アレイ(FPGA)、構造化FPGA、または専用の特定用途集積回路(ASIC)によって実装することができる。あるいは、数個の作動/検知クライアント間で1つのクロックを共有することもできる。
本発明によるリアル・タイム・プロセス制御システムの更に別のオプションの特徴は、請求項5に規定するように、異なる作動/検知ユニットにおけるクロックの同期を取ることができることである。
クロックの同期によって、クライアント作動/検知ユニットが互いに、例えば、100mまたはそれ以上離れていても、作動/検知ユニットにおける異なる測定センサのサンプリング、および異なるアクチュエータ出力の調節を、時間内に確実に調整する。クライアント作動/検知ユニットは、ローカル・クロックに基づいてサンプリングし作動させるので、これらの動作の適時調整に対するジッタは、同期の精度(precision)によってのみ制限される。このため、異なるクライアント作動/検知ユニットにおけるクロックは、例えば、マスタ・クロックと同期を取るとよい。マスタ・クロックは、クライアントの1つ、サーバ、または外部デバイスによって発生することができる。同期は、専用リンクを通じて、またはクライアント−サーバ通信に用いられるリアル・タイム・ネットワークを通じて行われる。クライアント・クロック間の同期は、とりわけ、IEEE1588プロトコルによって実現することができる。
本発明によるリアル・タイム・プロセス制御システムの更に別のオプションの特性は、請求項6に規定するように、本システムが複数の処理ユニットを備えることができることである。複数の冗長処理ユニットに要求メッセージを送る、対応の方法を請求項15に規定する。
このようにして、システムの信頼性を一層向上させる。
本発明による、冗長処理ユニットを有するシステムの更に別のオプションの形態では、請求項7に規定するように、作動/検知ユニットからのメッセージが、複数の処理ユニット上における計算タスクの評価をトリガすることができる。
実際、2つ以上の処理ユニットが利用可能な場合、クライアント作動/検知ユニットは、それらの要求を処理ユニットのいずれかまたは部分集合に送ることができる。これは、例えば、イーサネット(登録商標)・プロトコルおよび関連する切換ハードウェアのマルチキャスト能力を通じて、または仮想ローカル・エリア・ネットワーク(VLAN)能力を設けることによって達成することができる。要請されたサーバの各々は、要求された計算タスクを実行し、応答をクライアント作動/検知ユニットに返送する。
請求項8に指定するように、本発明による、冗長処理ユニットを有するシステムの更に別の選択肢が、冗長演算ユニットから適時受信した全ての応答から好ましい応答を選択するための、作動/検知ユニットにおける優先順位決定機能性の存在であってもよい。
つまり、クライアントは、何らかの優先順位方式に基づいて、適時に到達した全ての応答の間で選択を行う。適時に到達しなかった応答は、破棄する。本発明によるシステムのクライアント−サーバ・アーキテクチャのために、サーバは互いの障害を監視する必要はない。何らかの理由で、サーバが故障した場合、クライアント要求を受信した別のサーバが、他のサーバの障害について知ることなく、引き継ぐ。尚、これは、動作中のマスタ・ユニットが正常のままでいるか否か評価する冗長バックアップ・ユニットが継続的にマスタ・ユニットを監視する従前のマスタ−スレーブ・システムにおける冗長性とは対照的であることを記しておく。クライアントは、その優先順位メカニズムに基づいて、例えば、サーバ1が適時に計算を終了できないのでなければ、そのサーバからきた応答を選択する。サーバ1が適時に計算を終了できない場合、サーバ2からの応答を選択する。
更に、本発明によるシステムのオプションであるが有利な特徴は、請求項9に規定するように、冗長処理ユニットが、同じ計算タスクの評価に異なるアルゴリズムを備えることができることである。
請求項10に規定する同様のオプションの特徴は、冗長処理ユニットが、異なるリアル・タイムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システムを走らせることができることである。
このため、ハードウェアおよびソフトウェアの冗長性の上に、機能的冗長性を設けることにより、信頼性が更に向上する。言い換えると、サーバは、ハードウェアが同様である必要がなく、必ずしも同じオペレーティング・システムを走らせることもなく、必ずしも同じアルゴリズムを適用して、クライアントから来る要求に応答することもない。
ハードウェアの問題を回避するために、サーバ・ハードウェアは、冗長サーバ間で異なるようにすることができる。重複するオペレーティング・システムの欠陥を回避するために、冗長サーバ上のオペレーティング・システムは互いに異なるようにすることができる。最後に、重複するソフトウェア・バグを回避するために、冗長サーバにおいて用いるアルゴリズム実現例を互いに異なるように作ることができる。唯一の要件は、クライアントからの1つの要求に応答して異なる処理ユニット上で走る全てのアルゴリズムが、同様の機能性を提供し、その結果同様の応答を提供することである。例えば、作動/検知クライアントからの要求に応答して、1つの処理ユニットが複雑なアルゴリズムを、PowerPC上で走るRTLinuxオペレーティング・システム上で走らせることができ、一方第2処理ユニットは、そのアルゴリズムの簡略化バージョンを、WindowsCEオペレーティング・システムおよびIntel社のプロセッサ上で用いることができる。異なるサーバ上の異なるアルゴリズムを同期して維持するために、クライアントは、既に選択した応答を異なるサーバに伝達するとよい。
請求項11に規定するように、オプションとして、本発明によるリアル・タイム・プロセス制御システムは、冗長処理ユニット上で計算負荷の均衡を取る負荷均衡手段を備えている。複数の冗長処理ユニット間において負荷の均衡を取る、対応する方法が、請求項16に規定されている。
負荷の均衡を取ることにより、処理容量使用の動的な最適化が可能となる。例えば、サーバが故障した場合、そのサーバ上で走っているプロセスの負荷は、実行時に残りのサーバに分散させることができる。クライアントにとっての違いは、異なるサーバから応答を受信することである。異なるサーバのCPU負荷に応じて、プロセスをサーバ間で移動させることができる。また、サーバの故障統計、即ち、その信頼性に応じて、プロセスをサーバ間で移動させることもできる。また、その他の判断基準に応じて、プロセスを移動させることもできる。あるいは、全ての要求をディスパッチ・サーバに回し、ディスパッチ・サーバがクライアント要求を発行することもできる。このようなディスパッチ・サーバは、例えば、CPU負荷が最も低い処理ユニットに要求を発行するとよい。
請求項12に規定するように、本発明によるリアル・タイム・プロセス制御システムは、好ましくは、リアル・タイム伝送能力を有するネットワークによって実行する。請求項13に指定するように、その一例は有線または無線双方のイーサネット(登録商標)・ネットワークである。他の適したネットワーク・プロトコルには、Infiniband、USB、FireWire、およびPCI Expressが含まれる。
図1は、先に詳細に説明した、先行技術のリアル・タイム・プロセス制御システムを示す。 図2は、1つの処理ユニットが複数の作動/検知ユニットに接続されており、クライアント・クロックをマスタ・クロックと同期させる、本発明によるシステムの第1実施形態を示す。 図3は、図2に示すシステムにおいて用いられる作動/検知ユニットの機能ブロック図である。 図4は、図2に示すシステムにおける処理ユニットおよび作動/検知ユニット間におけるクライアント−サーバ通信を示す。 図5は、2つの処理ユニットが複数の作動/検知ユニットと接続されており、クライアント・クロックをマスタ・クロックと同期させる、本発明によるシステムの第2実施形態を示す。 図6は、3つの冗長処理ユニットが設けられ、作動/検知ユニットが3つの処理ユニットの各々に要求を送り、3つの処理ユニットの各々からの応答を受信し、優先順位メカニズムに基づいて応答を選択する、本発明によるシステムの第3実施形態の機能的動作を示す。 図7は、作動/検知ユニットが3つの処理ユニットの各々に要求を送り、3つの処理ユニットの部分集合から応答を受信し、優先順位メカニズムに基づいて応答を選択する、本発明によるシステムの第3実施形態を示す。 図8は、負荷均衡メカニズムを用いる、本発明によるシステムの第4実施形態を示す。 図9は、パワー・エレクトロニクス制御分野における、本発明によるシステムの第5実施形態を示す。
図2は、1つの処理ユニット201を有する本発明によるリアル・タイム・プロセス制御システムを示す。処理ユニット201は、イーサネット(登録商標)・ネットワーク203を通じて、作動/検知ユニットに接続されている。作動/検知ユニットは、それぞれの作動/検知ハードウェア211、212、および213、ならびにそれぞれのオンボード・インターフェース221、222、および223を有する。作動/検知ユニットは、ネットワーク203上ではクライアントとして作用し、制御対象プロセスに入力を供給し、制御対象プロセスの出力を測定し、この処理ユニット201が実行すべき計算タスクまたはその他のタスクを要求するために、処理ユニット201と通信する。一方、処理ユニット201は、計算サーバとして作用し、クライアント作動/検知ユニットは、計算サーバ上における計算タスクまたはその他のタスク(例えば、構成設定値のような運営管理タスク)を、リアル・タイムおよび非リアル・タイムの双方でスケジューリングすることができる。処理ユニット201は、図2において参照番号204で示すような、協同ネットワーク、インターネット、またはその他の任意の外部ネットワークに接続することができる。外部ネットワークへの接続性204がない場合、システムは単体ユニットとして作用する。加えて、図2に描いた本発明の実施形態は、マスタ・クロック205を備えている。このクロック205は、図2に示すような単体ユニットとすることができる。あるいは、処理ユニット201に一体化したクロック、またはクライアント作動/検知ユニットに一体化したクロックを用いることもできる。
図2の実施形態では、処理ユニット201は、非リアル・タイム・カーネル231およびリアル・タイム・カーネル232を備えている混成オペレーティング・システムを走らせる。非リアル・タイム・カーネル231は、非リアル・タイム・プロセスを管理する。非リアル・タイム・プロセスは、視覚化、ネットワーク204を通じたリモート・アクセスの管理、MES機能性、およびERP機能性を処理することを含むことができるが、これらに限定されるのではない。リアル・タイム・カーネル232は、所定の時間量以内にある種の行為を完了させなければならないプロセスである、リアル・タイム・プロセスを管理する。リアル・タイム・プロセスは、アルゴリズム、最適化タスク、ウオッチドッグ、および安全防御プロセスを制御することを含むことができるが、これらに限定されるのではない。非リアル・タイム・カーネル231およびリアル・タイム・カーネル232双方を備えているオペレーティング・システムの例には、RTLinux、Xenomai拡張によって増強されたあらゆるLinuxの実装、Solaris、またはXenomai拡張によって増強されたOpen Solaris、Windows CEまたはリアル・タイム拡張によって増強されたWindows XPがある。
図2に描いたシステムの異形実施形態では、処理ユニット201は、リアル・タイム・カーネルのみを有し、非リアル・タイム・カーネルを除外したオペレーティング・システムを走らせる。このようなオペレーティング・システムの例には、Micrium、Nucleus、VxWorks、QNX、On Time RTO−32、およびLynxOSがある。このような実施形態では、リアル・タイム挙動を損なうことなく、プロセス視覚化のような非リアル・タイム・プロセスおよびリアル・タイム・プロセスを同じ処理ユニット上において統合することは遥かに難しくなる。
既に述べたように、サーバ処理ユニット201をクライアント作動/検知ユニットに接続するネットワーク203に適した選択肢の1つに、イーサネット(登録商標)接続に基づくネットワークがある。イーサネット(登録商標)、特に、高速イーサネット(登録商標)、Gビット・イーサネット(登録商標)、およびそれを超えるイーサネット(登録商標)は、クライアント−サーバ通信によって引き起こされる集中トラフィックをサポートするのに必要な帯域幅を提供する。更に、ネットワーク203は、星型トポロジ、環状トポロジ、またはその他の任意のトポロジを用いて実現することができることを記しておく。
図3は、図2に示したシステムから、作動/検知ユニット301の1つのトポロジを詳細に示す。作動/検知ユニット301は、クライアント・ユニットまたはクライアントとも呼ぶことにする。このクライアント301は、オンボード・インターフェース部221およびハードウェア部211を備えている。尚、ここで、図2および図3において、221のように、同じ参照番号が異なる図において用いられている場合、これらの参照番号はシステムの同じ構成要素または要素を示すことを記しておく。ハードウェア部211は、作動および/または検知ハードウェアを内蔵する。インターフェース部211は、ネットワーク・インターフェース311、処理ユニット312、ハードウェア・インターフェース313、およびクロック314を備えている。ネットワーク・インターフェース314は、クライアント301をイーサネット(登録商標)・ネットワーク203に接続し、イーサネット(登録商標)・ネットワーク203を通じて、クライアント301は図2の処理ユニット201と通信する。この処理ユニット201は、計算サーバまたはサーバとも呼ぶことにする。
インターフェース部221の内部にある処理ユニット312は、クライアント301に基本的な信号処理能力を提供する。これらは、ハードウェア部が供給する測定信号のディジタル化、信号のサンプリングおよびフィルタリング、システム監視および安全防御動作、計算サーバ201への要求の送付、ならびに計算サーバ201から受信する応答の処理を含むが、これらに限定されるのではない。処理ユニット312は、例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディジタル信号プロセッサ(DSP)、または特定用途集積回路(ASIC)によって実現することができる。ネットワーク・インターフェース311の一部またはネットワーク・インターフェース全体、そしてハードウェア・インターフェース313の一部またはハードウェア・インターフェース313全体をFPGA、DSP、またはASIC上に一体化することも可能である。インターフェース部221は、ハードウェア・インターエース313を通じて、作動/検知ハードウェア211に接続する。このハードウェア・インターフェース313を通じて、アナログおよびディジタル入力および出力信号をそれぞれ読み出して設定する。必要であれば、このハードウェア・インターフェース313は、安全性条件あるいは任意の種類の仕様または規制によって要求される電気絶縁またはその他の種類の絶縁を設ける。
クロック314は、クライアント・ユニット301が自律的に、測定値のサンプリング、アクチュエータ出力設定値の調節、ネットワーク203上における要求の計算サーバ201への送出、タイム・アウト、監視および安全プロトコルの実施のような動作を実行することを可能にする。一実現例では、ネットワーク上にある異なるクライアントのクロックが、同期が取れていないままになっていることもある。実現例の異形では、全てのクライアントまたはその部分集合のクロックは、図2におけるクロック205のようなマスタ・クロックとの同期が取られている。このようにクロックの同期を取ることにより、クライアントは、自律性を維持しつつ、時間に関してそれらの動作を調整することが可能となる。既に延べたように、マスタ・クロック205は、単体クロック、処理ユニット201に一体化したクロック、または301のようなクライアント作動/検知ユニットに一体化したクロックのいずれかとすることができる。クロック同期を実行するために用いることができるプロトコルの一例に、IEEE1588プロトコルがある。他の同期プロトコルも可能であり、本発明は特定のクロック同期メカニズムの選択による制約は受けないことは、当業者には認められよう。好適な実施形態では、クロック同期に必要なメッセージの交換は、ネットワーク203を通じて遂行する。しかしながら、代替実施形態では、専用の個別ネットワークを通じて、クロック同期を遂行することもできる。尚、クライアントの中にあるクロックをネットワークまたは中央処理ユニットの中にあるマスタ・クロックと同期させることは、従来技術において用いられているようなマスタ−スレーブ・アーキテクチャに、システムを変えてしまうことではないことを記しておく。マスタ・クロックに同期させても、本発明によるクライアントは、アクティブな通信相手であることには変わりがない。即ち、クライアントは先導してある種の計算タスクやある種の制御動作をサーバ処理ユニット201から要求する。これは、従来技術のマスタ−スレーブ・アーキテクチャとは対照的である。
図4は、図2におけるシステムの単一処理ユニット201と作動/検知ユニット301との間における通信プロトコルを示す。このプロトコルが実現するクライアント−サーバ・メカニズムによって、処理ユニット201はサーバとして作用し、作動/検知ユニット301はクライアントとして作用する。これは、マスタ−スレーブ通信アーキテクチャに基づき、これによって処理ユニットがマスタとして作用し、作動/検知ユニットがスレーブとして作用する従前のシステムとは対照的である。
クライアント301は、その内部クロック314によって駆動されて、要求401をサーバ201に送り、サーバ201にある種の計算タスクまたはその他のタスクを実行するように要求する。つまり、クライアント301は、サーバ201との通信を確立する際に先導する能動な相手である。これも、マスタまたは処理ユニットが先導する従前のマスタ−スレーブ・アーキテクチャとは対照的である。要求メッセージ401の内容は、ソース・クライアント301を特定する参照、宛先サーバ201を特定する参照、要求401を特定する参照、要求の種類を特定する機能コード、およびサーバ201が要求401に応対するために必要な全ての必要データを含むことができる。尚、これは全てを網羅したのではないことを注記しておく。用途に応じて、要求は、先に羅列した項目(field)の一部のみを含む場合もあり、あるいはここでは網羅されていない、その他の項目も含む場合もある。
ネットワーク203がイーサネット(登録商標)接続を用いている実現例では、クライアント301を特定する参照は、図3におけるクライアントのネットワーク・インターフェース311の媒体アクセス制御(MAC)アドレスである。このような実現例におけるサーバ201に対する参照は、サーバのネットワーク・インターフェースと関連のある個別またはマルチキャストMACアドレスである。要求401を特定する参照は、例えば、クライアント301が発生する連番として実施することができる。
特定的な実現例では、要求メッセージ401は、クライアント301がサーバ201からの応答を予期する時間スパンも含む。これは、リアル・タイム要件のある用途の場合である。あるいは、この時間スパンは、機能コードによって暗示的に指定することができる。
301のようなクライアントが201のようなサーバから要求することができる機能または計算タスクの種類には、クライアント出力設定値を計算する制御アルゴリズムの評価要求、構成データのロードまたは保存要求、タイミング情報、ステータス通知、およびエラー通知の要求が含まれるが、これらに限定されるのではない。
クライアント301から来る要求401に応答して、サーバ201は要求された動作を実行して、応答402をクライアント301に返送する。要求された動作のスケジューリングを行う際、サーバ201は明示的または暗示的のいずれかで指定されるあらゆるタイミング制約を考慮に入れようとする。応答402は、ソース・サーバ201を特定する参照、宛先クライアント301を特定する参照、元の要求401を特定する参照、およびクライアントの元の要求に対するサーバの応答に関連のあるあらゆる必要なデータを含む。この場合も、これは、応答メッセージ402の一部をなすことができる項目であり、網羅的な羅列ではない。これらの全てがある必要がない場合もあり、追加の項目が付加される可能性もある。
クライアント301は、応答402を受信し、その結果を適した仕方で展開する。一例として、元の要求401がリアル・タイム制御アルゴリズムの評価を伴うという場面を考える。サーバ201によって返送された応答402がクライアント301によって適時に受信されると、応答402に収容されているアルゴリズムの出力が、図3におけるクライアントの作動ハードウェア211の状態を適正に調節することによって、展開される。展開が行われる時点は、クライアントの内部クロック314によって決定する。応答402が早めに到達した場合、システム全体において行われる全ての行為の適正な調整を確実に行うために、クライアント301によって展開を遅らせることもできる。応答402が適時に到達しない場合、クライアント301は、図3におけるそのローカル処理ユニット312によって発生した代替物を用いることを決定してもよいし、あるいは中断してエラー通知を送ることを決定してもよい。
ネットワーク203上にある他のいずれのクライアントも、図4に示す単一クライアント/単一サーバの場合について先に説明したのと同様に、処理ユニット201と相互作用を行う。つまり、処理ユニット201の計算資源は、ネットワークにおける全てのクライアント間で共有することができる。
図5は、本発明による第2実施形態のシステムの物理的セットアップを示す。このセットアップは主に図1のそれに対応するが、図1に描いたシステムと比較すると、サーバとして作用しネットワーク503に接続されている第2処理ユニット502によって増強されている。図5の実施形態では、第1処理ユニット501および第2処理ユニット502が、イーサネット(登録商標)に基づくネットワーク503によって、クライアント作動/検知ユニットに接続されている。図5では、クライアント作動/検知ユニットの内3つが描かれている。これら3つの作動/検知ユニットは、それぞれの作動/検知ハードウェア521、522、および523と、それぞれのオンボード・インターフェース511、512、および513とを有する。2つの処理ユニット501および502は、ここでも、クライアント作動/検知ユニットによって要求される計算タスクのための計算サーバとして作用する。リアル・タイム・タスクおよび非リアル・タイム・タスクの双方が、処理ユニット501および502によって実行され、これら双方は混成オペレーティング・システム(OS)を走らせる。混成オペレーティング・システムは、非リアル・タイム・コンポーネント、それぞれ、531および541、ならびにリアル・タイム・コンポーネント、それぞれ、532および542を収容する。図2に描いた第1実施形態と同様に、図5に示すシステムも、更に、マスタ・クロック505を内蔵し、冗長処理ユニット501および502は、外部ネットワーク504への接続性を有する。冗長な処理ユニット501および502を有する実施形態では、クライアント作動/検知ユニットは、要求を双方の処理ユニットに送ることができる。次いで、双方の処理ユニットは独立して要求されたタスクを実行し、要求に応答する。重複した応答を2つの処理ユニットから受信した場合、クライアント作動/検知ユニットは、制御プロセスにおける展開に用いるために1つの応答を選択する。処理ユニットの過負荷による障害の場合、クライアントは1つの応答のみを適時に受信し、明らかであろうが、この応答を制御プロセスにおいて用いる。各クライアント要求を2つの処理ユニット501および502に送る代わりに、それぞれの負荷に応じて、要求を処理ユニット501および502間で分散することができる。クライアント・ユニットまたは中央処理ユニットにおいて負荷均衡を行うこともでき、要求を受信し、処理ユニット501および502の実際の負荷の知識に基づいて、要求をこれらの処理ユニットに割り振る。図5に描くシステムは、更に、任意の数のサーバをネットワークに追加することによって増強することができる。その結果、マルチ・クライアント/マルチ・サーバ・アーキテクチャが得られ、余分なサーバがシステムの信頼性を高めようとする、および/または本来の処理ユニット501上の負荷を緩和しようとする。
図6は、第3実施形態の機能的動作を示し、更に特定すれば、クライアント−サーバ通信メカニズムが、3つのサーバ601、602、および603を有する本発明の第3実施形態においてどのように動作するかを示す。図5に示した第2実施形態では、処理ユニット501および502はハードウェアおよびオペレーティング・システム双方が同一であることを想定したが、図6に示す実施形態におけるサーバ601、602、および603は、ハードウェアおよびオペレーティング・システム双方が異なる。第1サーバ601は、第1混成オペレーティング・システムOS1および第1計算アルゴリズムを第1ハードウェア上で走らせると想定する。第2サーバ602は、第2混成オペレーティング・システムOS2および第2計算アルゴリズムを、第1サーバ601のハードウェアとは異なる第2ハードウェア上で走らせると想定する。最後に、第3サーバ603は、第3混成オペレーティング・システムOS3および第3計算アルゴリズムを、第1および第2サーバ601および602のハードウェアとは異なる第3プロセッサ・ハードウェア上で走らせると想定する。このようにして、ハードウェアの欠陥やオペレーティング・システムにおける欠陥が重複せず、制御プロセスにおいて回復不可能な障害に至ることがないことを保証する。
クライアント作動/検知ユニット604は、その内部クロック642によって駆動されて、同じ要求611をネットワーク上にある全てのサーバ601、602、および603に送る。この際、クライアント604は各サーバ、即ち、601、602、および603に、同じまたは同様の計算タスクあるいはその他のタスクを実行するように要求する。要求メッセージ611は、全てを網羅したのではないが、以下に羅列する項目を含むことができる。ソース・クライアント604を特定する参照、宛先サーバ601、602、および603を特定する参照、図4を参照して先に説明した単一クライアント/単一サーバの場合と同一または同様のコンテンツ。この場合も、クライアントおよびサーバを相互接続するネットワークは、イーサネット(登録商標)接続を用いて実装し、クライアント604を特定する参照は、クライアントのネットワーク・インターフェース641のMACアドレスであると想定する。サーバ601、602、および603に対する参照は、個々のMACアドレスの集合または1つのマルチキャストMACアドレスのいずれかとする。
クライアント604から来る要求611に応答して、サーバ601、602、および603の各々は、要求された動作を実行し応答をクライアントに返送する。図6では、サーバ601、602、および603から来る応答は、それぞれ、参照番号612、613、および614で示されている。要求された動作のスケジューリングを行う際、サーバ601、602、および603は明示的または暗示的のいずれかで指定されるあらゆるタイミング制約を考慮に入れようとする。応答の内容は、恐らくはサーバ601、602、および603の各々がその応答612、613、または614に割り当てる優先順コードを除いて、図4を参照して先に説明した単一クライアント/単一サーバの場合のそれと同一または同様である。
所与の時間制約の中で到達した応答の中から、クライアント604は、優先順位メカニズムに基づいて、それが展開する応答を選択する。一例として、元の要求611がリアル・タイム制御アルゴリズムの評価を伴う場面を考えることができる。サーバ601、602、および603から返送された応答612、613、および614の中で、クライアント604におけるインターフェーシング641は、各応答に付随する優先順位に基づいて選択を行う。次いで、選択した応答は、クライアント604によって展開される。他の応答は全て破棄される。展開が行われる時点は、クライアントの内部クロック642によって決定される。したがって、応答612、613、および614が早く到達した場合、システム全体において行われる全ての行為の適正な調整を確保するために、クライアント604によって展開を遅らせることもできる。応答612、613、および614のいずれもが時間内に到達しない場合、クライアント604は、インターフェース641の一部をなすそのローカル処理ユニットが発生する代替物を用いることを決定することもでき、あるいは中断してエラー通知を送ることを決定することもできる。可能な一実現例では、応答を選択するために用いられる優先順位決定メカニズムは、応答が到達する連続順序に基づく。他の可能な実現例では、優先順位決定メカニズムは、サーバの応答に明示的に含まれる、または応答を発生したサーバを特定する参照と暗示的に関連付けられている優先順位コードに基づく。
図6に描かれていない、ネットワーク内にある他のいずれのクライアントも、単一クライアント/マルチ・サーバの場合について先に説明したのと同様に、処理ユニット601、602、および603の全てまたはその部分集合と相互作用を行う。その結果、プロセス自動化のマルチ・クライアント/マルチ・サーバ・アーキテクチャが得られ、サーバの計算資源はネットワークにおける全てのクライアント間で共有および/または分散することができる。
前述のマルチ・クライアント/マルチ・サーバ・アーキテクチャによって、従前の自動化ハードウェアの信頼性を必ずしも呈さないサーバのハードウェアおよびソフトウェアに基づいて、信頼性が高いシステムを作成することが可能となる。サーバの1つが応答できない場合、クライアントは、ネットワークの中にある他のサーバが生成した結果の中から応答を自動的に選択する。この場面を図7に示す。図7は、第1処理ユニット601がクライアント作動/検知ユニット604からの要求に適時に応答できない時点における、図6にも描いた本発明の実施形態を示す。クライアント604は、要求711、例えば、制御アルゴリズムの適時評価の要求をサーバ601、602、および603に送る。サーバ602および603のみが、図7においてそれぞれ713および714と命名した応答を返送する。例えば、この処理ユニット601が故障したり、ハードウェアまたはソフトウェアの障害が発生したり、要求されたタスクを時間内に完了することに成功しなかったり、他のタスクによって過負荷となったり、あるいは単にクライアント604が発行する要求に応答するように構成されていないといった事実のために、第1サーバ601からの応答は欠落した。第1処理ユニット601が要求711に応答できなくても、クライアント604には影響を及ぼさず、クライアント604は単に着信する応答713および714の中から優先順位が最も高い応答を選択する。
要約すると、図6および図7に関して説明したマルチ・クライアント/マルチ・サーバ・アーキテクチャは、非常に自然な仕方で冗長性を実現する。マスタ−スレーブ手法とは異なり、冗長サーバは互いに明示的に監視する必要がない。全てのサーバは、マスタもバックアップ・サーバもないという意味で同等である。どの応答を用いるかを決定するのは、クライアント次第である。サーバは、実行時に追加、構成変更、および除去することができる。
既に述べたように、マルチ・クライアント/マルチ・サーバ・アーキテクチャでは、異なるサーバは同じクライアント要求に応答して、異なるアルゴリズムを走らせることもできる。ソフトウェア・バグの重複を回避するために、アルゴリズムの実現例(algorithmic implementation)は、サーバ毎に異なるように作ることができる。唯一の要件は、同じクライアント要求に応答して実行される全てのアルゴリズムが、同様の機能性を提供することを目的としなければならないということである。これを、機能的冗長性と呼ぶ。例えば、作動/検知ユニットから来る要求に応答して、1つのサーバが非常に複雑なアルゴリズムを走らせることができ、その結果に高い優先順位を割り当て、一方第2サーバはそのアルゴリズムの簡略化バージョンを走らせ、その結果に低い優先順位を割り当てる。
同じクライアントから来る要求に応対する全ての異なる計算サーバ上のアルゴリズム同士を同期させたまま維持するために、クライアントは、実際に選択した応答に関する情報を、関与するサーバに伝達するとよい。特定的な実現例では、この情報は、別個のメッセージを通じて送信する。実現例の異形では、この情報は、計算サービスに対する次のクライアント要求に添付する。
マルチ・クライアント/マルチ・サーバ・アーキテクチャは、更に、負荷均衡メカニズムの実装によって強化することができる。ネットワーク上の異なるクライアントが発生する負荷を分散し、1つのプロセッサに対する過剰な計算負荷を回避するために、個々のサーバはクライアントの特定の部分集合からの要求のみに対して応答するように選択することもできる。言い方を変えると、サーバは、特定のクライアントから来る要求を故意に無視することを選択することもできる。可能な一実現例では、この挙動は静的構成によって指定される。別の可能な一実現例では、異なるサーバの瞬時的または平均的計算負荷、これらの障害統計、あるいはその他の任意の関連する判断基準に応じて動的に、この挙動を決定する。
図8は、負荷均衡機能性の異なる実現例を備えた、本発明の第4実施形態を示す。このトポロジ例では、負荷均衡はサーバ805および806によって実施され、これらは、クライアント作動/検知ユニット804から来る要求821を実際の計算サーバ801、802、および803に再導出する。例えば、負荷均衡サーバ805は、クライアント要求821を要求822として第2処理ユニット802に再導出し、一方負荷均衡サーバ806は、要求821を要求823として第3処理ユニット803に再導出する。第2サーバ802および第3サーバ803からのそれぞれの応答は、図8では824および825で示されている。要求821は、第1処理ユニット801には転送されない。これは、例えば、このサーバ801は、要求821が負荷均衡サーバ805および806に到達する時点において、既に過負荷となっていることが予期されるからである。クライアント804によって直接アドレスされたサーバ805および806は、クライアント要求を再導出するタスクを専門に扱うので、このために、処理ユニット801、802、および803上の実際の計算負荷を考慮する。クライアント804は、その内部クロック841によって誘起され、優先順位方式に基づいて制御プロセスにおける展開のために、適時に受信した応答824および825から1つの応答を選択する。
図6、図7、および図8に示したマルチ・クライアント/マルチ・サーバ・アーキテクチャの上に構築することができるその他のアプリケーションには、プラグ・アンド・プレー・ハードウェア交換が含まれ、サーバ上で走るプロセス制御アルゴリズムまたはその他のアルゴリズムを新たなバージョンと交換し、これを実行時に行う。
図9は、パワー・エレクトロニクス用途に適した、本発明の第5実施形態を示す。ここでは、クライアント作動/検知ユニットは、パワー部であり、それぞれのパワー変換弁、電流、電圧、および温度を測定するセンサ、全ての測定値をディジタル形態に変換する信号処理ハードウェア、および図9において921、922、および923で示した信号処理ハードウェア、ならびに通信インターフェース911、912、および913を備えている。通信インターフェース911、912、および913は、測定値を処理し、901および902のような1つ以上の計算サーバにメッセージを送信しこれらからメッセージを受信し、着信する応答間で選択を行い、着信応答を処理して、含まれる結果をパワー変換弁に印加するのに相応しくなるようにする。後者は、応答に含まれる出力弁に対して所望な設定値を想定して、必要なPWM信号を発生することも含むとよい。図9には示していないが、クライアントの中にあるローカル・クロックが、いつ要求を送り、いつ応答をパワー変換弁に印加するのかを決定する。パワー変換弁は、パワー部を変換器またはインバータとして構成する場合、トランジスタ・ブリッジまたは三相ブリッジ接続として構成することができる。
クライアントのパワー部は、例えば、駆動用アプリケーションおよびインテリジェント・ネット・インターフェースを構築するために用いることができる。ローカル・クロックが決定する規則的な時点に、パワー部は、ドライブまたはその他のアルゴリズムを評価する要求を、ネットワーク903を通じて、901および902のような1つ以上の計算サーバに送る。要求は、サーバがアルゴリズムを評価するために必要となる全ての必要な測定値を含む。計算サーバ901および902は、制御アルゴリズムを評価して、それらの応答をパワー部に返送する。パワー部は、優先順位が最も高い応答を選択する。計算サーバ901および902は、暗示的および明示的な時間制約を考慮に入れ、それに応じて、各非リアル・タイム・コンポーネント931および941、ならびに各リアル・タイム・コンポーネント932および942を有する混成オペレーティング・システムを走らせる。異なるパワー部にあるクロックをマスタ・クロック905と同期させて、これらの動作全体を調整することができる。更に、これらのパワー部を用いて実現するパワーアプリケーションは、高信頼性、負荷均衡などに関する全ての固有性(property)を、前述した、より一般的なプロセス制御システムから引き継ぐ。最後に、図9は、処理ユニット901および902の外部ネットワーク904へのオプションの接続も示す。
以上、特定的な実施形態を参照して本発明について例示したが、本発明は以上の例示的実施形態の詳細に限定されるのではなく、本発明は、その主旨や範囲から逸脱せずに、種々の変更や修正を含めて具体化してもよいことは、当業者には明らかであろう。したがって、本発明は、あらゆる観点において例示的であり限定的ではないと解釈することとし、発明の範囲は、以上の説明ではなく、添付した特許請求の範囲によって示されるものとする。特許請求の範囲の均等の意味および範囲に該当する全ての変更は、その中に包含されるものとする。言い換えると、基本的な基礎原理の主旨および範囲に該当し、その必須の属性が本特許出願において特許請求されている、いずれのそしてあらゆる修正、変形、または同等物も適用範囲に入ることを意図している。更に、本特許出願の読み手には、「備えている」(comprising)または「備える」(comprise)という単語は、他の要素またはステップを除外しないこと、「a」または「an」という単語は複数を除外しないこと、そしてコンピュータ・システム、プロセッサ、またはその他の集積回路のような単数の要素は、特許請求の範囲に明記する数個の手段の機能を実現してもよいことは言うまでもないであろう。請求項におけるいずれの符号も、それぞれの関係する請求項を限定するように解釈しないこととする。「第1」、「第2」、「第3」、「a」、「b」、「c」等の用語は、説明および請求項において用いられるときには、同様の要素またはステップ間で区別するために導入するのであり、必ずしも連続的または時間的順序を記述するのではない。同様に、「最上位」、「最下位」、「上」、「下」等は、記述の目的のために導入するのであり、必ずしも相対的な位置を表す訳ではない。尚、そのように用いられる用語は、しかるべき状況下では相互交換可能であり、本発明の実施形態は、先に記載または例示したのとは異なる別のシーケンスまたは方位で、本発明にしたがって動作可能であることは理解されてしかるべきである。

Claims (16)

  1. リアル・タイム・プロセス制御システムであって、
    a.処理ユニット(201)と、
    b.前記処理ユニット(201)と通信することができる少なくとも1つの作動/検知ユニット(211、212、213)と、
    c.前記処理ユニット(201)と前記少なくとも1つの作動/検知ユニット(211、212、213)とを相互接続するネットワーク(203)と、
    を備えており、
    d.前記処理ユニット(201)は、リアル・タイム計算サーバとして作用し、それに対しリアル・タイム・オペレーティング・システムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システム(231、232)を走らせるように構成されており、
    e.前記少なくとも1つの作動/検知ユニット(211、212、213)は、少なくとも1つのクライアントとして作用するように構成されており、それに対し、計算タスクの適時評価を要求するメッセージを通じた前記処理ユニット(201)とのクライアント−サーバ通信のために、オンボード通信インターフェース(221、222、223)を有する、
    ことを特徴とする、リアル・タイム・プロセス制御システム。
  2. 請求項1記載のリアル・タイム・プロセス制御システムにおいて、
    前記少なくとも1つの作動/検知ユニットは、それぞれのパワー部ユニット(911、921;912、922;913、923)の一部を形成し、
    前記処理ユニット(901)は、サーバとして作用するように構成され、前記パワー部ユニット(911、921;912、922;913、923)は、前記サーバ上で前記計算タスクの前記評価をスケジューリングすることが可能である、
    ことを特徴とする、リアル・タイム・プロセス制御システム。
  3. 請求項2記載のリアル・タイム・プロセス制御システムにおいて、
    前記少なくとも1つの作動/検知ユニット(911、921;912、922;913、923)は、電流、電圧、または温度を検知しディジタル化し、更に前記電流、電圧、または温度を、前記計算タスクの適時評価を要求する前記メッセージの一部を形成するために供給する信号に変換するように構成されていることを特徴とする、リアル・タイム・プロセス制御システム。
  4. 請求項1または請求項2記載のリアル・タイム・プロセス制御システムにおいて、
    前記オンボード通信インターフェース(221)は、前記作動/検知ユニット(301)が自律的にいつプロセス・パラメータをサンプリングすべきか、および/またはいつ作動/検知ユニットの設定値を修正すべきか、および/またはいつ前記メッセージを前記処理ユニット(201)に送るべきかを決定することを可能にするために供給するクロック(314)を備えていることを特徴とする、リアル・タイム・プロセス制御システム。
  5. 請求項4記載のリアル・タイム・プロセス制御システムにおいて、
    異なる作動/検知ユニットにおけるクロックは、前記クロック(314)と同様であり、同期が取られていることを特徴とする、リアル・タイム・プロセス制御システム。
  6. 請求項1または請求項2記載のリアル・タイム・プロセス制御システムにおいて、
    当該システムは、前記処理ユニットと同様の複数の処理ユニット(501、502)を備えており、該処理ユニット(501、502;601、602、603;801、802、803)は、冗長リアル・タイム計算サーバとして作用するように構成されていることを特徴とする、リアル・タイム・プロセス制御システム。
  7. 請求項6記載のリアル・タイム・プロセス制御システムにおいて、
    前記メッセージ(611)は、前記複数の処理ユニット(601、602、603)上において前記計算タスクの評価をトリガすることができ、前記複数の処理ユニット(601、602、603)の各々は、前記計算タスクの評価を試行し適時に応答するように構成されていることを特徴とする、リアル・タイム・プロセス制御システム。
  8. 請求項7記載のリアル・タイム・プロセス制御システムにおいて、
    前記少なくとも1つの作動/検知ユニット(604)は、更に、前記複数の処理ユニット(601、602、603)から適時に受信した応答(612,613,614;713,714)の中から1つの応答を選択するように構成されている優先順位決定手段(641)を備えている、リアル・タイム・プロセス制御システム。
  9. 請求項7記載のリアル・タイム・プロセス制御システムにおいて、
    前記複数の処理ユニット(601、602、603;801、802、803)は、前記計算タスクの評価のために異なるアルゴリズムを備えていることを特徴とする、リアル・タイム・プロセス制御システム。
  10. 請求項6記載のリアル・タイム・プロセス制御システムにおいて、
    前記複数の処理ユニット(601、602、603;801、802、803)は、異なるリアル・タイム・オペレーティング・システムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システムを走らせるように構成されていることを特徴とする、リアル・タイム・プロセス制御システム。
  11. 請求項6記載のリアル・タイム・プロセス制御システムにおいて、
    当該システムは、前記少なくとも1つの作動/検知ユニット(804)によって前記複数の処理ユニット(801、802、803)上に生ずる計算負荷の均衡を取るように構成されている負荷均衡手段(805,806)を備えていることを特徴とする、リアル・タイム・プロセス制御システム。
  12. 請求項1または請求項2記載のリアル・タイム・プロセス制御システムにおいて、
    前記ネットワーク(203)は、リアル・タイム伝送能力を有することを特徴とする、リアル・タイム・プロセス制御システム。
  13. 請求項12記載のリアル・タイム・プロセス制御システムにおいて、
    前記ネットワーク(203)はイーサネット・ネットワークであることを特徴とする、リアル・タイム・プロセス制御システム。
  14. 処理ユニット(201)と、前記処理ユニット(201)と通信することができる少なくとも1つの作動/検知ユニット(211、212、213)と、前記処理ユニット(201)と前記少なくとも1つの作動/検知ユニット(211、212、213)とを相互接続するネットワーク(203)とを有するシステムにおけるリアル・タイム・プロセス制御方法であって、
    a.前記少なくとも1つの作動/検知ユニット(211、212、213)の中の1つの作動/検知ユニットのオンボード通信インターフェース(221、222、223)から、計算タスクの適時評価を要求するメッセージを送るステップと、
    b.前記処理ユニット(201)において前記メッセージを受信するステップと、
    c.前記計算タスクをリアル・タイムで前記処理ユニット(201)において実行し、それに対し、リアル・タイム・オペレーティング・システムまたは混成リアル・タイム/非リアル・タイム・オペレーティング・システム(231、232)を走らせるステップと、
    d.サーバとして作用する前記処理ユニット(201)から、クライアントとして作用する前記作動/検知ユニットに応答メッセージを送るステップと、
    を備えていることを特徴とする方法。
  15. 請求項14記載のリアル・タイム・プロセス制御方法において、
    当該方法は、前記処理ユニットと同様の複数の処理ユニット(501、502;601、602、603;801、802、803)に前記メッセージを送るステップを備えており、前記処理ユニット(501、502;601、602、603;801、802、803)は、冗長リアル・タイム計算サーバとして作用することを特徴とする、リアル・タイム・プロセス制御方法。
  16. 請求項15記載のリアル・タイム・プロセス制御方法において、
    当該方法は、前記少なくとも1つの作動/検知ユニット(804)によって前記複数の処理ユニット(801、802、803)上に生ずる計算負荷の均衡を取るステップを備えている、リアル・タイム・プロセス制御方法。
JP2009533832A 2006-10-24 2007-10-24 リアル・タイム・プロセス制御システム Pending JP2010522907A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06022203A EP1916578A1 (en) 2006-10-24 2006-10-24 A system for real-time process control
PCT/EP2007/061425 WO2008049863A1 (en) 2006-10-24 2007-10-24 A system for real-time process control

Publications (1)

Publication Number Publication Date
JP2010522907A true JP2010522907A (ja) 2010-07-08

Family

ID=37836665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009533832A Pending JP2010522907A (ja) 2006-10-24 2007-10-24 リアル・タイム・プロセス制御システム

Country Status (4)

Country Link
US (1) US20100076617A1 (ja)
EP (2) EP1916578A1 (ja)
JP (1) JP2010522907A (ja)
WO (1) WO2008049863A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106123943A (zh) * 2016-07-15 2016-11-16 苏州西斯派克检测科技有限公司 一种基于工业以太网的柔性在线检测系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141105B2 (en) * 2008-07-23 2015-09-22 Hurco Companies, Inc. Method and apparatus for monitoring or controlling a machine tool system
WO2010025307A1 (en) * 2008-08-27 2010-03-04 Convia, Inc. Energy distribution management system
DE102009056803A1 (de) * 2009-12-03 2011-06-09 Robert Bosch Gmbh Kommunikation zwischen Elementen eines Systems
US20130070788A1 (en) * 2010-05-25 2013-03-21 Siemens Aktiengesellschaft Method and Apparatus for Interchanging Data, and Network
US8966019B2 (en) 2010-06-24 2015-02-24 International Business Machines Corporation Application server for mainframe computer systems
DE102010026495A1 (de) * 2010-07-07 2012-01-12 Abb Technology Ag System zur Verkabelung der Automatisierungs- und Leittechnik einer technischen Anlage
CN102402203B (zh) * 2011-11-14 2014-09-17 配天(安徽)电子技术有限公司 一种数控机床控制系统及控制方法
EP2677381A1 (de) * 2012-06-21 2013-12-25 Siemens Aktiengesellschaft Verfahren zum Betreiben eines Automatisierungssystems
CN102902246A (zh) * 2012-09-04 2013-01-30 江苏兆鋆新材料科技有限公司 一种塑料挤出机组的在线监测维护系统
CN104133123A (zh) * 2013-05-02 2014-11-05 上海工程技术大学 一种低压电器测试实验室数据处理系统
CN103558825A (zh) * 2013-11-07 2014-02-05 镇江赛尔尼柯自动化有限公司 分布式计算快速响应实时控制系统
CN104090515B (zh) * 2014-07-25 2016-12-07 国家电网公司 一种多媒体能效监测终端
EP3018544B1 (de) * 2014-11-07 2018-02-21 Siemens Aktiengesellschaft Produktions- oder Werkzeugmaschine und Verfahren zum Betrieb einer Produktions- oder Werkzeugmaschine
US10185311B2 (en) * 2015-10-08 2019-01-22 King Fahd University Of Petroleum And Minerals Methods and apparatus to design collaborative automation systems based on data distribution service middleware
CN105892406B (zh) * 2016-05-03 2018-11-06 天津大学 智能测评开放式运动控制实验教学装置
US10394205B2 (en) * 2016-11-29 2019-08-27 Virtual Peaker, Inc. Systems and methods for real-time control
US10057373B1 (en) * 2017-05-15 2018-08-21 Palantir Technologies Inc. Adaptive computation and faster computer operation
KR102453689B1 (ko) 2017-12-13 2022-10-11 삼성전자주식회사 주기적 프로세스 처리 시스템 및 시스템 온 칩
DE102019216517B3 (de) * 2019-10-25 2021-03-18 Daimler Ag Verfahren zur Synchronisation zumindest zweier Sensor-Systeme
CN113433894B (zh) * 2021-07-17 2022-12-13 中山迈雷特数控技术有限公司 基于工业pc的多通道多轴联动的数控系统及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4568934A (en) * 1981-06-09 1986-02-04 Adec, Inc. Computer controlled energy monitoring system
US5978578A (en) 1997-01-30 1999-11-02 Azarya; Arnon Openbus system for control automation networks
DE19748536C2 (de) * 1997-11-03 2000-06-29 Daimler Chrysler Ag Datenverarbeitungsgestütztes elektronisches Steuerungssystem, insbesondere für ein Kraftfahrzeug
US6148324A (en) * 1998-01-05 2000-11-14 Lucent Technologies, Inc. Prioritized load balancing among non-communicating processes in a time-sharing system
US6424993B1 (en) * 1999-05-26 2002-07-23 Respondtv, Inc. Method, apparatus, and computer program product for server bandwidth utilization management
US6535926B1 (en) * 1999-09-30 2003-03-18 Rockwell Automation Technologies, Inc. Time synchronization system for industrial control network using global reference pulses
US20020184348A1 (en) * 2000-09-20 2002-12-05 Lockheed Martin Corporation Object oriented framework architecture for sensing and/or control environments
DE10047927B4 (de) 2000-09-27 2006-08-03 Siemens Ag Verfahren zur Vernetzung einer Regelungseinheit mit einem oder mehreren Leistungsteilen
EP1288757A1 (de) * 2001-08-07 2003-03-05 Siemens Aktiengesellschaft Verfahren und Prozessleitsystem zum Betrieb einer technischen Anlage
SE519905C2 (sv) * 2001-10-05 2003-04-22 Abb Ab Dataåtkomstmetod för ett styrsystem
CA2370580A1 (en) * 2002-02-05 2003-08-05 Handshake Interactive Technologies Inc Thin client based intelligent transportation system
US7472159B2 (en) * 2003-05-15 2008-12-30 International Business Machines Corporation System and method for adaptive admission control and resource management for service time guarantees
JP4410661B2 (ja) * 2004-11-09 2010-02-03 株式会社日立製作所 分散制御システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106123943A (zh) * 2016-07-15 2016-11-16 苏州西斯派克检测科技有限公司 一种基于工业以太网的柔性在线检测系统
CN106123943B (zh) * 2016-07-15 2019-05-21 苏州西斯派克检测科技有限公司 一种基于工业以太网的柔性在线检测系统

Also Published As

Publication number Publication date
EP1916578A1 (en) 2008-04-30
US20100076617A1 (en) 2010-03-25
EP2101232A1 (en) 2009-09-16
WO2008049863A1 (en) 2008-05-02
WO2008049863A8 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
JP2010522907A (ja) リアル・タイム・プロセス制御システム
JP2021051735A (ja) モジュラープロセス制御システム
Xu et al. Toward software defined smart home
JP2020518921A (ja) オープンアーキテクチャ産業制御システム
CN108984267B (zh) 工业服务器的微内核架构控制系统及工业服务器
US20240086779A1 (en) Industrial process control system as a data center of an industrial process plant
JP2009060573A (ja) 機器管理装置、機器管理システム
EP3133538A1 (en) Workflow management apparatus, workflow management method, and workflow management program
Katenbrink et al. Dynamic scheduling for seamless computing
Zug et al. Programming abstractions and middleware for building control systems as networks of smart sensors and actuators
Nayak et al. Automotive container orchestration: Requirements, challenges and open directions
EP3326326A1 (en) Device, method and computer program product for managing inter-domain communications of a network node assigned to the device within a software-defined production network system
EP3467655A1 (en) System and method for mpi implementation in an embedded operating system
CN113841095A (zh) 工业物联网代理装置
JP7487303B2 (ja) 複数の画像装置の管理
WO2013046321A1 (ja) 周期送信制御装置、周期送信制御方法、および周期送信制御プログラム
CN116819943B (zh) 一种可实现任务迁移柔性功能重构的控制系统及方法
Sait et al. Novel design of heterogeneous automation controller based on real-time data distribution service middleware to avoid obsolescence challenges
Nasir et al. NexusEdge: Leveraging IoT Gateways for a Decentralized Edge Computing Platform
EP4276624A1 (en) A method and a server for installation and execution of an ai model in an industrial execution environment
Groza et al. Distributed virtual instrumentation architecture
Ozmen Design and implementation of an Iot-based home automation system utilizing fog and cloud computing paradigms
Sait et al. Novel design of collaborative automation platform using real-time data distribution service middleware for an optimum process control environment
Fogli An Entanglement-Aware Digital Twin Ecosystem
Marjanovic et al. Design and implementation of a self-configuring instrument control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101019

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20120222