JP2021026652A - 制御システム - Google Patents

制御システム Download PDF

Info

Publication number
JP2021026652A
JP2021026652A JP2019146132A JP2019146132A JP2021026652A JP 2021026652 A JP2021026652 A JP 2021026652A JP 2019146132 A JP2019146132 A JP 2019146132A JP 2019146132 A JP2019146132 A JP 2019146132A JP 2021026652 A JP2021026652 A JP 2021026652A
Authority
JP
Japan
Prior art keywords
real
time
software
control system
execution time
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.)
Granted
Application number
JP2019146132A
Other languages
English (en)
Other versions
JP7364388B2 (ja
Inventor
輝昭 酒田
Teruaki Sakata
輝昭 酒田
松本 典剛
Noritake Matsumoto
典剛 松本
祐策 大塚
Yusaku Otsuka
祐策 大塚
英典 大宮
Hidenori Omiya
英典 大宮
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019146132A priority Critical patent/JP7364388B2/ja
Priority to US17/630,184 priority patent/US20220276643A1/en
Priority to PCT/JP2020/016456 priority patent/WO2021024555A1/ja
Publication of JP2021026652A publication Critical patent/JP2021026652A/ja
Application granted granted Critical
Publication of JP7364388B2 publication Critical patent/JP7364388B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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], computer integrated manufacturing [CIM]
    • G05B19/41845Total 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], computer integrated manufacturing [CIM] characterised by system universality, reconfigurability, modularity
    • 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/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], computer integrated manufacturing [CIM]
    • G05B19/4183Total 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], computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • 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], computer integrated manufacturing [CIM]
    • G05B19/41885Total 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], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • 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/23Pc programming
    • G05B2219/23295Load program and data for multiple processors
    • 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/25064Update component configuration to optimize program execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】本発明は、高信頼性と汎用性を両立した制御システムを提供する。【解決手段】本発明の制御システム100は、オペレーティングシステム20と、前記オペレーティングシステム20上で実行する非リアルタイムソフトウェア21と、前記オペレーティングシステム20上で実行するリアルタイムソフトウェア22を有する制御装置1と、前記非リアルタイムソフトウェア21の実行時間情報及び前記リアルタイムソフトウェア22の実行時間情報を入力して分析する実行時間分析部50と、前記実行時間分析部の分析結果から前記制御装置の処理の更新を行うバイナリデータを生成するか否かを判定するリアルタイムインタフェース生成部52を有することを特徴とする。【選択図】 図1

Description

本発明は、制御システムに関する。
各種の産業分野では、フィールドに機器を配置し、それら機器の制御を行う制御装置を接続して制御システムが構築される。こうした制御システムにおいて、制御装置は、流量、温度、圧力などの状態量をフィールドから取得して計測しながら、制御データ(信号)をフィールドの操作機器へ出力してリアルタイムに制御する。これにより、流量の調節や状態量が異常になった場合の緊急停止などの所望の動作を実行し、利便性と共に、安全性や信頼性を担保する。
近年、こうした産業分野では、制御の最適化に向け、フィールドでセンシングする情報の種類や量を増やして収集し、仮想世界でデータを分析してから現実世界へフィードバックするIoT(Internet of Things)への取り組みが実施されている。
このように制御システムに対してIoTへの取り組みを進めると、従来は扱っていなかった稼働データを可視化し、分析し、活用することができ、保守サービスなどに新たな価値を創出することができる。
一方、制御システムに対してIoTへの取り組みを進めるためには、フィールド機器から取得する大量の稼動データを処理するアルゴリズムやAI(Artificial Intelligence)を制御システムに実装する必要が生じる。このため、安全性を担保するためのリアルタイム処理が必要な制御装置において、複雑で汎用的な処理を実行することが要求されるが、リアルタイム性と汎用性の両方を満たす制御装置及びそれを用いた制御システムを実現することは困難である。
こうした本技術分野の背景技術として、特開2016−184373号公報(特許文献1)がある。この特許文献1には、プロセス制御システムに必要なリアルタイム性と高信頼性とを確保した上で、長期化するプラントのライフサイクルにおける変化に対応できるプロセス制御システムを実現することがされている。具体的には、冗長化されたネットワークにPCが接続されたプロセス制御システムにおいて、前記PCには、仮想化部と、この仮想化部とは独立した別のプロセスで動作するリアルタイム通信部が設けられていることが記載されている(要約参照)。
特開2016−184373号公報
特許文献1には、冗長化されたネットワークPCが接続されたプロセス制御システムにおいて、PCには、仮想化部およびその仮想化部とは独立した別のプロセスで動作するリアルタイム通信部が設けられている技術が記載されている。
しかし特許文献1における、仮想部とは独立した別のプロセスで動作するリアルタイム通信部は、ネットワーク通信路の維持確認に必須な機能のみに限定したリアルタイムプロセスとして実装されている。そして、このリアルタイムプロセスはOS(オペレーティングシステム:Operating System)上で別の非リアルタイムプロセスと共に動作する。そのためOS上で非リアルタイムプロセスの種類や数が増えた場合、リアルタイムプロセスに割り当てられる処理時間が減少してリアルタイム性の担保が困難になるが、その課題については記載されていない。
上記課題を解決するために、本発明では、非リアルタイムソフトウェアとリアルタイムソフトウェアの処理にかかる実行時間を分析し、分析の結果に基づいて、リアルタイムソフトウェアを実行するために、更新すべき制御装置の構成要件(更新構成)を決定する。
より具体的な本発明の制御システムは、オペレーティングシステムと、前記オペレーティングシステム上で実行する非リアルタイムソフトウェアと、前記オペレーティングシステム上で実行するリアルタイムソフトウェアを有する制御装置と、前記非リアルタイムソフトウェアの実行時間情報及び前記リアルタイムソフトウェアの実行時間情報を入力して分析する実行時間分析部と、前記実行時間分析部の分析結果から、前記リアルタイムソフトウェアの処理を実行するために更新すべき制御装置の構成要素である更新構成を決定するリアルタイムインタフェース生成部を有する。
また、リアルタイムインタフェース生成部が、決定された更新構成を更新するためのデータを生成するかを判定することも本発明の一態様に含まれる。このデータとして、バイナリデータ、ビットストリームデータのいずれかが含まれる。
また、リアルタイムインタフェース生成部での更新する更新構成の決定として、ソフトウェア、オペレーティングシステム、RTOS(Real-time Operating System)、FPGA(Field Programmable Gate Array)の如きハードウェアのいずれかを決定することが含まれる。さらに、これらをソフトウェア、オペレーティングシステム、RTOS、FPGAの如きハードウェアの優先順位で決定すること、もしくは一括で決定することも本発明に含まれる。
さらに、実行時間分析部での実行時間の分析には、リアルタイム制御の要件となる周期内に収まるかを判定することが含まれる。
本発明によれば、リアルタイムソフトウェアの処理で、更新すべき制御システムの構成要素を決定する仕組みを提供することで、高信頼性と汎用性を両立した制御システムを提供することができる。
なお、上記した以外の課題、構成及び効果は、下記の実施例の説明により明らかにされる。
実施例1に係る制御システムの一例を説明するブロック図である。 実施例1に係る実行時間分析部の一例を説明するフローチャート図である。 実施例1に係るリアルタイムインタフェース生成部の一例を説明するフローチャート図である。 実施例1に係る制御装置の一例を説明するブロック図である。 実施例1に係る制御システムが起動し稼働状態になる流れの一例を説明するタイミングチャート図である。 実施例2に係る制御システムの一例を説明するブロック図である。 実施例2に係る実行時間分析部の一例を説明するフローチャート図である。 実施例3に係る制御システムの一例を説明するブロック図である。 実施例3に係る実行時間分析部の一例を説明するフローチャート図である。 実施例3に係るリアルタイムインタフェース生成部の一例を説明するフローチャート図である。 実施例3に係るソフトウェア記述の一例を説明するブロック図である。 実施例3に係る制御システムにおけるリアルタイムソフトウェアとOSとFPGAの一例を説明するブロック図である。 実施例3に係る制御システムが起動し稼働状態になる流れの一例を説明するタイミングチャート図である。 実施例4に係る制御システムの一例を説明するブロック図である。 実施例5に係る制御システムの一例を説明するブロック図である。 本発明の各実施例に係る制御システムをプラントP1に適用した場合の一例を説明する説明図である。 本発明の各実施例に係る制御システムをプラントP2に適用した場合の一例を説明する説明図である。
以下、図面を参照して、本発明の実施例を説明する。なお、明細書及び図面において、実質的に同一の機能又は構成を有する要素については、同一の符号を付し、説明が重複する場合には、その説明を省略する場合がある。
まず、実施例1に係る制御システム100について、図面を用いて説明する。図1は、実施例1に係る制御システム100を説明するブロック図である。
実施例1に記載の制御システム100は、制御装置1、実行時間分析部50、リアルタイムインタフェース生成部52を有し、実行時間分析部50から出力された実行時間チューニング情報51をリアルタイムインタフェース生成部52に入力する。
制御装置1は、CPU(中央演算処理装置:Central Processing Unit)2、記憶部であるメモリ3を有する。更にCPU2とメモリ3で動作するOS20と、OS20で動作する非リアルタイムソフトウェア21、リアルタイムソフトウェア22を有する。CPU2は、OS20や各ソフトウェアを動作させるための各種の演算や制御を実行する。メモリ3は、OS20や各ソフトウェアを動作させるための一時的なデータ等を格納する。
リアルタイムインタフェース生成部52から生成されたバイナリデータ4には、制御装置1において、OS20、非リアルタイムソフトウェア21、リアルタイムソフトウェア22を更新する情報などが含まれる。
制御装置1では、非リアルタイムソフトウェア21とリアルタイムソフトウェア22によって制御システム100の処理を行う。そして、各ソフトウェアの実行時間情報がOS20を介して実行時間分析部50に入力され、実行時間分析部50による分析の結果、実行時間チューニング情報51を出力する。リアルタイムインタフェース生成部52は実行時間チューニング情報51をもとにバイナリデータ4を生成し、バイナリデータ4が制御装置1の更新情報として制御装置1で使用される。ここで、実行時間分析部50、リアルタイムインタフェース生成部52は、プログラムに従ったCPUの如き演算装置で実現されるものである。その処理については、後述する。また、これらについては、制御装置1と同じ筐体内に設けてもよいし、別筐体としてもよい。
なお、図1では非リアルタイムソフトウェアとリアルタイムソフトウェアがそれぞれ1種類ある例で示したが、複数種類となってもよい。
次に、実施例1に係る実行時間分析部50を説明する。図2は、実施例1に係る実行時間分析部50を説明するフローチャート図である。
ステップS01にて、実行時間分析部50の動作が開始する。
ステップS02は、実行時間分析部50に対し、リアルタイム制御の要件となる周期の数値などの情報を設定するステップである。
ステップS03は、実行時間分析部50に対し、CPU2、メモリ3などのハードウェア情報を設定するステップである。
ステップS04は、実行時間分析部50に対し、OS20の情報を設定するステップである。
ステップS05は、実行時間分析部50が、リアルタイム制御の要件となる周期内に実行するソフトウェアそれぞれ(例えば、全ソフトウェア)の実行時間情報をOS20から取得し積算するステップである。ここでのソフトウェアには、図1に示した非リアルタイムソフトウェア21及びリアルタイムソフトウェア22のうち少なくとも一方を含む。例えば、システムコールやAPI(Application Programming Interface)などを用いる。このソフトウェアの実行時間情報を用いて、ステップS06およびS10で、リアルタイムソフトウェア処理をソフトウェア処理、OS処理のいずれかで行うかを判断する。これは言い換えると、リアルタイムソフトウェア処理を周期内で実行するために、更新すべき更新構成をソフトウェア、OSのいずれであるかを決定する。以下、その内容を説明する。なお、ステップS06およびS10は、S06、S10の順に判断がなされる。これは、周期内で実行するためにソフトウェアを更新する方がOSよりも手間が掛からず、より効率的であるためである。なお、この判断の順位は実施例2および実施例3でも同様である。
ステップS06は、ステップS05で積算したソフトウェア実行時間がリアルタイム制御の要件となる周期内に収まるか否かを判定するステップである。ソフトウェア処理で周期内に収まる場合はステップS07に遷移するが、収まらない場合はステップS08に遷移する。
ステップS07は、ソフトウェアによる実行指示を実行時間チューニング情報51に設定するステップである。
ステップS10は、ステップS06にて積算したソフトウェア実行時間がリアルタイム制御の要件となる周期内に収まらないと判定された場合に、OS処理で周期内に収まるか否かを判定するステップである。OS処理で周期内に収まる場合はステップS11に遷移するが、収まらない場合はステップS12に遷移する。
ステップS11は、OSによる実行指示を実行時間チューニング情報51に設定するステップである。
ステップS12は、リアルタイム制御の要件となる周期内に収まらないことを示す周期オーバー情報を実行時間チューニング情報51に設定するステップである。
ステップS08は、実行時間チューニング情報51を出力するステップであり、出力するとステップS09にて実行時間分析部50の動作が終了する。
これらの一連のステップを経て、本実施例に記載の実行時間分析部50は動作する。
次に、実施例1に係るリアルタイムインタフェース生成部52を説明する。図3は、実施例1に係るリアルタイムインタフェース生成部52を説明するフローチャート図である。
ステップS21にて、リアルタイムインタフェース生成部52の動作が開始する。
ステップS22は、リアルタイムインタフェース生成部52に対し、CPU2、メモリ3などのハードウェア情報を設定するステップである。
ステップS23は、リアルタイムインタフェース生成部52に対し、OS20の情報を設定するステップである。
ステップS24は、図2で説明した実行時間分析部50から出力された実行時間チューニング情報51を入力するステップである。
ステップS25は、実行時間チューニング情報51の内容がリアルタイム制御の要件となる周期内に収まるか否か、つまり周期オーバーであるか否かを判定するステップである。周期オーバーでなければステップS26に遷移するが、周期オーバーである場合はステップS28に遷移する。
ステップS26は、ソフトウェアをコンパイルするステップである。
ステップS27は、ソフトウェアのコンパイル結果をもとに、CPU2で実行可能なバイナリデータ4を生成するステップであり、生成するとステップS28にてリアルタイムインタフェース生成部52の動作が終了する。
これらの一連のステップを経て、本実施例に記載のリアルタイムインタフェース生成部52は動作する。
次に、実施例1に係る制御装置1において、ソフトウェアを追加した場合の構成について説明する。
図4は、実施例1に係る制御装置10を説明するブロック図である。図4に示す制御装置10は、図1に記載の制御装置1と比較して、OS20で動作する非リアルタイムソフトウェア23を有する点が相違する。
制御装置10に非リアルタイムソフトウェア23の処理を追加する場合、図2で示した実行時間分析部50がステップS06でソフトウェア処理によって周期オーバーにならないと判定する。そして、図3で示したリアルタイムインタフェース生成部52がステップS27でバイナリデータ4を生成し、バイナリデータ4が制御装置1に反映されてOS20で非リアルタイムソフトウェア23が追加される。
なお、図4では非リアルタイムソフトウェアを1つ追加した例で示したが、リアルタイムソフトウェアを1つ追加するような場合であっても、また、各ソフトウェアを複数追加するような場合であってもよい。
次に、タイミングチャート図を使用して、制御システム100の動作の流れを説明する。図5は、制御システム100が起動し稼働状態になる過程を説明するタイミングチャート図である。
図5のタイミングチャート800は、横軸が周期回数、縦軸が実行時間チューニング情報51で積算された制御システム100の1周期内の実行時間を示す。また、閾値70は制御システム100のリアルタイム制御の要件となる周期を示し、周期内の実行時間が閾値70を越えるとリアルタイム性が保証されないことを示す。
図5のタイミングチャート801は、横軸が周期回数、縦軸がアラート出力71(ここでは1bit)を示す。
図5のタイミングチャート802は、横軸が周期回数、縦軸が制御システム100の1周期内の実行時間を示す。
タイミングチャート800、801、802の横軸の周期回数は共通である。
周期回数の1番目において、制御システム100が起動し、1周期内で複数の非リアルタイムソフトウェア及びリアルタイムソフトウェアの実行が開始し、制御システム100の1周期内の実行時間が算出される。周期回数の1番目では、1周期内の実行時間の合計が閾値70を越えていないので、制御システム100は正常に動作することを示す。
タイミングチャート800では、周期回数の4番目までは制御システム100が起動してから実行を開始するソフトウェアが増えるため1周期内の実行時間が増加し、周期回数の5番目以降は周期内の実行時間の合計の揺らぎが小さくなっていることを示す。
タイミングチャート801は、この間のアラート出力71は0であることを示す。
タイミングチャート802は、この間はタイミングチャート800と同様の実行時間となっていることを示す。
ここで、タイミングチャート800の周期回数の10番目においては、非リアルタイムソフトウェアが新たに追加されたことにより1周期内の実行時間が閾値70を越えている。
タイミングチャート801は、周期回数の10番目以降、1周期内の実行時間が閾値70を越えたことによりアラート出力71として1を出力することを示す。
タイミングチャート802は、周期回数の10番目以降のアラート出力71が1であることを受け、非リアルタイムソフトウェアを制御システム100内では実行せず、周期内の実行時間の合計の絶対値が周期回数の10番目以降も殆ど変化しないことを示す。
本実施例によれば、リアルタイム性が要求される制御システムにおいて、リアルタイム性を保ったまま、汎用性の高い処理をソフトウェアによって追加することが可能になり、高信頼性と汎用性を両立した制御システムを実現することができる。
次に、実施例2に係る制御システム200について、図面を用いて説明する。図6は、実施例2に係る制御システム200を説明するブロック図である。
本実施例に記載の制御システム200は、リアルタイムソフトウェアをRTOS(リアルタイムオペレーティングシステム:Real-time Operating System)にて実行する。
本実施例に記載の制御システム200は、実施例1(図1)の制御システム100と比較して、制御装置11に、非リアルタイムソフトウェア23と、CPU5と、RTOS24とを有し、リアルタイムソフトウェア22をRTOS24で実行する点が相違する。
制御装置11では、非リアルタイムソフトウェア21、23とリアルタイムソフトウェア22によって制御システム200の処理を行う。また、各ソフトウェアの実行時間情報がOS20とRTOS24をそれぞれ介して実行時間分析部56に入力され、実行時間分析部56による分析の結果、実行時間チューニング情報51を出力する。リアルタイムインタフェース生成部52は実行時間チューニング情報51をもとにバイナリデータ4を生成し、バイナリデータ4が制御装置11の更新情報として制御装置11で使用される。
なお、図6では非リアルタイムソフトウェアが2種類、リアルタイムソフトウェアが1種類ある例で示したが、更に複数種類となってもよい。
また更に、図6ではOS20とRTOS24がメモリ3を共有する例で示したが、OS20とRTOS24がそれぞれ独立したメモリを使用する構成としてもよい。
次に、実施例2に係る実行時間分析部56を説明する。
図7は、実施例2に係る実行時間分析部56を説明するフローチャート図である。図7に示す実行時間分析部56のフローチャート図は、実施例1(図2)に記載の実行時間分析部50のフローチャート図と比較して、ステップS13、S14、S15をそれぞれ追加した点が相違する。このように、実行時間分析部56は、実施例1の実行時間分析部50と同様の機能を有するものであり、プログラムを変えることでステップS14以降の処理を実行可能となる。このため、実行時間分析部56は実行時間分析部50と同様に、プログラムに従った処理実行する演算装置で実現可能である。
ステップS01にて、実行時間分析部56の動作が開始し、実施例1(図2)に記載のフローチャート図と同様に処理が実行される。図2では、ステップS06およびS10で、更新すべき更新構成を決定しているが、本実施例では、さらにステップS14およびそれ以降の処理を設け、更新すべき更新構成としてRTOSが追加されている。また、ステップS06、S10およびS14での判断の順位は、実施例1の理由と同じ理由で定められている。
ステップS13は、実行時間分析部56に対し、RTOS24の情報を設定するステップである。
ステップS14は、ステップS06にて積算したソフトウェア実行時間がリアルタイム制御の要件となる周期内に収まらないと判定された場合に、RTOS処理で周期内に収まるか否かを判定するステップである。RTOS処理で周期内に収まる場合はステップS15に遷移するが、収まらない場合はステップS12に遷移する。
ステップS15は、RTOSによる実行指示を実行時間チューニング情報51に設定するステップである。
その他のステップは実施例1(図2)に記載のフローチャート図と同様に処理が実行され、ステップS09にて実行時間分析部56の動作が終了する。
これらの一連のステップを経て、本実施例に記載の実行時間分析部56は動作する。
本実施例によれば、制御装置にOS及びリアルタイム性の高いRTOSを使用する制御システムにおいて、リアルタイム性の高い処理をRTOSとOSのどちらかを選択して処理させる。このことで、リアルタイム性を保ったまま、汎用性の高い処理をソフトウェアによって追加することが可能になり、高信頼性と汎用性を両立した制御システムを実現することができる。
次に、実施例3に係る制御システム300について、図面を用いて説明する。図8は、実施例3に係る制御システム300を説明するブロック図である。
本実施例に記載の制御システム300は、リアルタイムソフトウェアをFPGA(フィールドプログラマブルゲートアレイ:Field Programmable Gate Array)にて実行する。
本実施例に記載の制御システム300は、実施例1(図1)に記載の制御システム100と比較して、制御装置12に、コンフィギュレーションメモリ8を内蔵するFPGA7を有し、リアルタイムソフトウェア22をFPGA7で実行する点が相違する。
制御装置12では、非リアルタイムソフトウェア21とリアルタイムソフトウェア22によって制御システム300の処理を行う。また、各ソフトウェアの実行時間情報がOS20を介して実行時間分析部50に入力され、実行時間分析部50による分析の結果、実行時間チューニング情報51を出力する。リアルタイムインタフェース生成部53は実行時間チューニング情報51をもとにビットストリームデータ6を生成し、ビットストリームデータ6が制御装置12の更新情報として制御装置12で使用される。この例ではビットストリームデータ6はFPGA7の回路を構成するコンフィギュレーションメモリ8を更新する。
なお、図8では非リアルタイムソフトウェアとリアルタイムソフトウェアがそれぞれ1種類ある例で示したが、複数種類となってもよい。
次に、実施例3に係る実行時間分析部57を説明する。なお、実行時間分析部57は、実施例1の実行時間分析部50や実施例2の実行時間分析部56と同様の機能を有するものであり、プログラムを変えることでステップS17以降の処理を実行可能となる。このため、実行時間分析部57は実行時間分析部50や実行時間分析部56と同様に、プログラムに従った処理実行する演算装置で実現可能である。
図9は、実施例3に係る実行時間分析部57を説明するフローチャート図である。図9に示す実行時間分析部57は、実施例2(図7)に記載の実行時間分析部56と比較して、ステップS13をステップS16に、ステップS14をステップS17に、ステップS15をステップS18に、それぞれ変更した点が相違する。つまり、更新構成として、RTOSの代わりにFPGAが用いられている。なお、本実施例において、RTOSおよびFPGAの両方を用いてもよい。この場合、RTOS処理が周期内で収まるかを、FPGAよりも先で、OSよりも後に判断する。さらに、ソフトウェア、OS、RTOS、FPGAのうち、少なくとも2つについて判断することも本発明に含まれる。
なお、実施例1〜3では、ソフトウェア→OS→RTOSのように、シリアルに判断しているが、各構成について並行に判断してもよい。
ステップS01にて、実行時間分析部57の動作が開始し、実施例2(図7)に記載のフローチャート図と同様に処理が実行される。
ステップS16は、実行時間分析部57に対し、FPGA7の情報を設定するステップである。
ステップS17は、ステップS06にて積算したソフトウェア実行時間がリアルタイム制御の要件となる周期内に収まらないと判定された場合に、FPGA処理で周期内に収まるか否かを判定するステップである。FPGA処理で周期内に収まる場合はステップS18に遷移するが、FPGA処理で周期内に収まらない場合はステップS12に遷移する。
ステップS18は、FPGAによる実行指示を実行時間チューニング情報51に設定するステップである。
その他のステップは実施例2(図7)に記載のフローチャート図と同様に処理が実行され、ステップS09にて実行時間分析部57の動作が終了する。これらの一連のステップを経て、本実施例に記載の実行時間分析部57は動作する。
次に、実施例3に係るリアルタイムインタフェース生成部53を説明する。図10は、実施例3に係るリアルタイムインタフェース生成部53を説明するフローチャート図である。
図10に示すリアルタイムインタフェース生成部53のフローチャート図は、実施例1(図3)で説明したリアルタイムインタフェース生成部52のフローチャート図と比較して、ステップS29、S30、S31、S32をそれぞれ追加した点が相違する。ここで、リアルタイムインタフェース生成部53は、実施例1、2のリアルタイムインタフェース生成部52と同様の機能を有する。このため、プログラムを変えることでその処理を変更することが可能となる。
ステップS21にて、リアルタイムインタフェース生成部53の動作が開始し、実施例1(図3)に記載のフローチャート図と同様に処理が実行される。
ステップS29は、リアルタイムインタフェース生成部52に対し、FPGA7の情報を設定するステップである。
ステップS25は、実行時間チューニング情報51に格納されている内容が周期オーバーであるか否かを判定するステップである。周期オーバーでなければステップS30に遷移するが、周期オーバーである場合はステップS28に遷移する。
ステップS30は、リアルタイムソフトウェアの処理にFPGAを使用するか否かを判定するステップである。ステップS24にて実行時間チューニング情報が入力された時点で、FPGAを使用するか否かが判定されており、FPGAを使用しない場合はステップS26へ遷移するが、FPGAを使用する場合はステップS31へ遷移する。
ステップS31は、リアルタイムソフトウェアの処理をFPGA7で実装する回路を合成するステップである。
ステップS32は、ステップS31で合成された回路をFPGA7で動作可能なビットストリームデータ6として生成するステップである。
その他のステップは実施例1(図3)に記載のフローチャート図と同様に処理が実行され、ステップS28にてリアルタイムインタフェース生成部53の動作が終了する。
これらの一連のステップを経て、本実施例に記載のリアルタイムインタフェース生成部53は動作する。
次に、制御システム300で実行させるソフトウェア及びOS20が提供するAPIの例について説明する。
図11は、実施例3に係るソフトウェア記述を説明するソースコードである。
図11のソフトウェア記述80は、非リアルタイムソフトウェア21の内容の一部を抜粋した一例である。
ソフトウェア記述80の1行目で、float型の変数a、bをそれぞれ引数とする浮動小数型(float)の非リアルタイムソフトウェアを関数funcAとして定義する。
ソフトウェア記述80の2行目で、ブーリアン型(bool)の変数realtimeに偽(false)を設定する。
ソフトウェア記述80の3行目で、変数a、b、realtimeを引数としてAPIとして提供される関数calc_execを呼び出し、戻り値をfloat型の変数cに代入する。
ソフトウェア記述80の4行目で変数cを関数funcAの戻り値とし、5行目で終了する。
図11のソフトウェア記述81は、リアルタイムソフトウェア22の内容の一部を抜粋した一例である。
ソフトウェア記述81の1行目で、float型の変数a、bをそれぞれ引数とする浮動小数型(float)の非リアルタイムソフトウェアを関数funcBとして定義する。
ソフトウェア記述81の2行目で、ブーリアン型(bool)の変数realtimeに真(true)を設定する。
ソフトウェア記述81の3行目で、変数a、b、realtimeを引数としてAPIとして提供される関数calc_execを呼び出し、戻り値をfloat型の変数cに代入する。
ソフトウェア記述81の4行目で変数cを関数funcBの戻り値とし、5行目で終了する。
図11のソフトウェア記述82は、OS20が提供するAPIの内容の一部を抜粋した一例である。
ソフトウェア記述82の1行目で、整数(int)型の外部変数interruptを定義する。
ソフトウェア記述82の3行目で、float型の変数a、b及びbool型の変数realtimeをそれぞれ引数とするAPIとして用いるfloat型の関数calc_execを定義する。
ソフトウェア記述82の4行目で、int型のポインタ変数p1を定義し、変数aの値を格納するアドレス空間として32bitの16進数0xFFFFA000を設定する。
ソフトウェア記述82の5行目で、int型のポインタ変数p2を定義し、変数bの値を格納するアドレス空間として32bitの16進数0xFFFFB000を設定する。
ソフトウェア記述82の6行目で、int型のポインタ変数p3を定義し、FPGA処理開始のトリガに用いるアドレス空間として32bitの16進数0xFFFFC000を設定する。
ソフトウェア記述82の7行目で、int型のポインタ変数p4を定義し、戻り値cの値を格納するアドレス空間として32bitの16進数0xFFFFD000を設定する。
ソフトウェア記述82の9行目で変数realtimeが真の場合、このAPIはリアルタイムソフトウェアから呼び出されFPGAによる処理が必要と判断する。このため、10行目で変数aのアドレスを変数p1に設定し、11行目で変数bのアドレスを変数p2に設定し、13行目で変数p3のアドレスに1の値を設定することでFPGAによる処理の開始を指示する。
ソフトウェア記述82の13行目でwhile(1)のループ記述によるウェイト処理に入り、14行目で変数interruptに1が設定されたら17行目に遷移し、戻り値p4のアドレスに格納されている値をfloat型の変数cに代入する。
一方、ソフトウェア記述82の19行目は、9行目で変数realtimeが偽であった場合に遷移してくる箇所であり、このAPIは非リアルタイムソフトウェアから呼び出されFPGAによる処理は不要と判断する。このため、20行目で関数calc_exec_os()を呼び出しfloat型の変数cに戻り値を代入する。このcalc_exec_os()はOS20上のソフトウェアとして処理を行う関数である。
ソフトウェア記述82の23行目で変数cを関数calc_exec()の戻り値とし、24行目で終了する。
このようなソフトウェア記述にすることで、非リアルタイムソフトウェアとリアルタイムソフトウェアが同様の関数を呼び出して処理を実行する場合でも、同様の関数呼び出し記述を用いて、処理する対象をOSやFPGAなどに適切に振り分けることができる。
次に、FPGAでリアルタイムソフトウェアを処理する場合の構成の一例について説明する。
図12は、実施例3に係る制御装置12内のOS20、リアルタイムソフトウェア22、FPGA7の構成を示すブロック図である。
リアルタイムソフトウェア22はFPGA8で実行する対象である。そのためOS20により、図11のソフトウェア記述82で示したAPI(calc_exec)90を介してFPGA8のバスインタフェース92に引数となる信号を送信する。
FPGA7内の制御回路93、演算器94、記憶素子95により処理が実行された結果、バスインタフェース92からAPI(calc_exec)91を介してリアルタイムソフトウェア22に戻り値となる信号が入力される。
次に、タイミングチャート図を使用して、制御システム300の動作の流れを説明する。
図13は、制御システム300が起動し稼働状態になる過程を説明するタイミングチャート図である。
図13のタイミングチャート810は、横軸が周期回数、縦軸が実行時間チューニング情報51で積算された制御システム300の1周期内の実行時間を示す。また、閾値72は制御システム300のリアルタイム制御の要件となる周期を示し、周期内の実行時間が閾値72を越えるとリアルタイム性が保証されないことを示す。
図13のタイミングチャート811は、横軸が周期回数、縦軸がアラート出力73(ここでは1bit)を示す。
図13のタイミングチャート812は、横軸が周期回数、縦軸が制御システム300の1周期内の実行時間を示す。
タイミングチャート810、811、812の横軸の周期回数は共通である。
周期回数の1番目から9番目における制御システム300の動作は、実施例1のタイミングチャート(図5)に示した制御システム100の動作と同様であることを示す。
ここで、タイミングチャート810の周期回数の10番目においては、リアルタイムソフトウェアが新たに追加されたことにより1周期内の実行時間が閾値72を越えている。
タイミングチャート811は、周期回数の10番目以降、1周期内の実行時間が閾値72を越えたことによりアラート出力73として1を出力することを示す。
タイミングチャート812は、周期回数の10番目以降のアラート出力73が1であることを受け、非リアルタイムソフトウェアを制御システム300内では実行せず、周期内の実行時間の合計の絶対値が周期回数の10番目以降も殆ど変化しないことを示す。
制御システム300の実行時間分析部57による分析とリアルタイムインタフェース生成部53によりビットストリームデータ6が生成される。この結果、追加されるリアルタイムソフトウェアをFPGA7で実行することで1周期内の実行時間が閾値72を越えないことが周期回数の15番目で判明すると、アラート出力73に0を出力する。それにより、タイミングチャート812の制御システム300の周期内の実行時間の合計がタイミングチャート810の実行時間チューニング情報51で積算された制御システム300の1周期内の実行時間と一致する。
本実施例によれば、リアルタイム性が要求される制御システムにおいて、リアルタイム性を保ったまま、リアルタイム性の高い処理をプログラマブルロジックによって追加することが可能になり、高信頼性と汎用性を両立した制御システムを実現することができる。
次に、実施例4に係る制御システム400について、図面を用いて説明する。図14は、実施例4に係る制御システム400を説明するブロック図である。
本実施例に記載の制御システム400は、リアルタイムソフトウェアをVPU(ビジュアルプロセッシングユニット:Visual Processing Unit)にて実行する。
本実施例に記載の制御システム400は、実施例3(図8)に記載の制御システム300と比較して、制御装置13に、オンチップメモリ16を内蔵するVPU15を有し、リアルタイムソフトウェア22をVPU15で実行する点が相違する。
制御装置13では、非リアルタイムソフトウェア21とリアルタイムソフトウェア22によって制御システム400の処理を行う。また、各ソフトウェアの実行時間情報がOS20を介して実行時間分析部58に入力され、実行時間分析部58による分析の結果、実行時間チューニング情報51を出力する。リアルタイムインタフェース生成部54は実行時間チューニング情報51をもとにバイナリデータ9を生成し、バイナリデータ9が制御装置13の更新情報として制御装置13で使用される。図14の例ではバイナリデータ9はVPU15の処理方式を決定するオンチップメモリ16を更新する。
なお、図14では非リアルタイムソフトウェアとリアルタイムソフトウェアがそれぞれ1種類ある例で示したが、複数種類となってもよい。
図14に示した実行時間分析部58は、実施例3(図9)に記載の実行時間分析部57のフローチャートにおいて、FPGAでの処理をVPUに置き換えることで同様に動作させることができる。このように、実行時間分析部58は、実施例3の実行時間分析部57と同様の機能を有するものであり、プログラムを変えることでその処理を実行可能となる。このため、実行時間分析部58は実行時間分析部57と同様に、プログラムに従った処理実行する演算装置で実現可能である。
また図14に示したリアルタイムインタフェース生成部54は、実施例3(図10)に記載のリアルタイムインタフェース生成部53のフローチャートにおいて、FPGA用の処理をVPU用に置き換えることで同様に動作させることができる。ここで、リアルタイムインタフェース生成部54は、実施例3のリアルタイムインタフェース生成部53と同様の機能を有する。このため、プログラムを変えることでその処理を変更することが可能となる。
本実施例によれば、リアルタイム性が要求される制御システムにおいて、リアルタイム性を保ったまま、リアルタイム性の高い処理を専用ハードウェアによって追加することが可能になり、高信頼性と汎用性を両立した制御システムを実現することができる。
なお、本実施例では非リアルタイムソフトウェアをCPUで実行し、リアルタイムソフトウェアをVPUで実行する例で示した。しかし、この割り当てに限らず、非リアルタイムソフトウェアをVPUで実行し、リアルタイムソフトウェアをCPUで実行するなど、実行時間チューニング情報の内容に応じて柔軟に割り当てが変化しても良い。
実施例5に係る制御システム500を説明する。
図15は、実施例5に係る制御システム500を説明するブロック図である。
図15に記載の制御システム500は、実施例1(図1)の制御システム100に対し、制御装置1と同様の制御装置14との複数の制御装置を有する点が異なる。さらに、各ソフトウェアの実行時間情報がOS20とOS25から実行時間分析部60に入力され、リアルタイムインタフェース生成部62からバイナリデータ4及びバイナリデータ34を出力する部分が相違する。
このような制御システム500の構成とすることで、複数の制御装置の複数のOSの実行時間の余裕度に応じて、非リアルタイムソフトウェアもしくはリアルタイムソフトウェアを実行する箇所を柔軟に選択することができる。
本実施例によれば、リアルタイム性が要求される制御システムにおいて、リアルタイム性を保ったまま、リアルタイム性の高い処理を異なるOSの上に追加することも可能になり、高信頼性と汎用性を両立した制御システムを実現することができる。
なお、本実施例では制御システムを構成する制御装置が2台の例で示したが、より多くの台数となってもよい。なお、本実施例の処理フローについては、実施例1〜3のいずれもが適用可能であることは言うまでもない。
本発明の制御システムをプラントP1に適用した、実施例6について説明する。
図16は、本発明の制御システムをプラントP1に適用した場合を説明する説明図である。
本実施例に記載のプラントP1は、センサ701(計量機器の一例)とバルブ702(操作機器の一例)とが接続される制御装置600が、制御ネットワーク603を介して、HMI(ヒューマンマシンインタフェース:Human Machine Interface)602及びコンピュータ601と接続する。また、HMI602とコンピュータ601は、情報ネットワーク609を介して、プラント管理サーバ608と接続する。そして、プラント管理サーバ608がプラントP1の状態を監視し、異常時や緊急時には指令を出す構成となっている。
また、本発明の制御システムを構成する制御装置600は、センサ701からフィールドデータを受信し、リアルタイムの要件となる周期時間内にバルブ702に対して制御指令を出力するように構成する。
図16ではこの制御装置600にカメラ703(撮像機器の一例)を接続し、プラントP1内の稼働状況を撮影する構成としている。このカメラ703で撮影する映像は動画データとして制御装置600に入力され、動画データを処理する非リアルタイムソフトウェアを制御装置600に追加する。
実行時間分析部605、リアルタイムインタフェース生成部606、表示画面607を有する分析装置604は、制御装置600と接続して使用する。
プラントP1が稼働していない状態において、カメラ703からの動画データを処理する非リアルタイムソフトウェアを制御装置600に新規に追加すると、実行時間分析部605による分析により、分析結果が表示画面607に表示される。図16では、リアルタイム処理時間が10msで、非リアルタイムソフトウェアを新規に追加した場合の算出された実行時間が7.5msであり、要求される時間制約に対する余裕が2.5ms存在する。このため、この非リアルタイムソフトウェアを制御装置600に追加可能と判断(OK)する。それによりリアルタイムインタフェース生成部606が制御装置600のバイナリデータを更新する。
本実施例によれば、制御装置やコンピュータで構成されるプラントなどのシステムにおいて、以下のことが可能である。高速なリアルタイム性が要求される場合に汎用的な処理を追加したい状況であっても、要求されるリアルタイム性能の充足可否をシステム停止中に容易に判定することができる。このため、リアルタイム性と汎用性を両立したシステムを設計することができる。
なお、本実施例の処理フローについては、実施例1〜3のいずれもが適用可能であることおよび実施例5のシステム構成を適用可能であることは言うまでもない。
本発明の制御システムをプラントP2に適用した実施例7について、説明する。
図17は、本発明の制御システムをプラントP2に適用した場合を説明する説明図である。
本実施例に記載のプラントP2は、実施例6(図16)のプラントP1と比較して、実行時間分析部612及びリアルタイムインタフェース生成部613を制御装置610内に有する点が異なる。さらに、表示画面614をHMI602内に有し、警告灯704(表示機器の一例)を制御装置610に接続している部分が相違する。
図17では、制御装置600にカメラ703を接続し、プラントP1内の稼働状況を撮影する構成としている。このカメラ703で撮影する映像は動画データとして制御装置610に入力され、動画データを処理する非リアルタイムソフトウェアを制御装置610に追加する。
プラントP2が稼働中の状態において、カメラ703からの動画データを処理する非リアルタイムソフトウェアを制御装置610に新規に追加すると、実行時間分析部612による分析により、分析結果が表示画面614に表示される。図17では、リアルタイム処理の要件となる周期時間が10msで、非リアルタイムソフトウェアを新規に追加した場合の算出された実行時間が10.6msであり、要求される時間制約に対して0.6msオーバーしている。このため、この非リアルタイムソフトウェアを制御装置610に追加不可と判断(NG)する。それによりリアルタイムインタフェース生成部613は更新用のバイナリデータを生成せず、更新も行わない。ソフトウェアの追加が不可の場合は警告灯704を点灯させることで、非リアルタイムソフトウェアを追加できず処理を変更できないことをプラントP2の現場に知らせる。
本実施例によれば、制御装置やコンピュータで構成されるプラントなどのシステムにおいて、高速なリアルタイム性が要求される場合に汎用的な処理を追加したい状況であっても、以下のことが可能である。要求されるリアルタイム性能の充足可否をシステム稼働中に容易に判定することができ、リアルタイム性と汎用性を両立したシステムを設計することができる。
なお、これら実施例に記載する制御システムは、エレベーター制御システム、鉄道制御システム、自動車制御システム、建設機械制御システム、発電制御システムなど、種々のシステムに使用することができる。
なお、本実施例の処理フローについては、実施例1〜3のいずれもが適用可能であることおよび実施例5のシステム構成を適用可能であることは言うまでもない。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために、制御システムを詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成要素を有するものに限定されない。また、ある実施例の構成要件の一部を、他の実施例の構成要素の一部に置き換えることが可能である。また、ある実施例の構成要件に他の実施例の構成要件を加えることも可能である。また、各実施例の構成要件の一部について、他の構成要素の一部を、追加、削除、置換をすることも可能である。
1、10、11、12、13、14、600、610…制御装置
2、5、32…CPU(中央演算処理装置)
3、33…メモリ
7…FPGA(フィールドプログラマブルゲートアレイ)
8…コンフィギュレーションメモリ
15…VPU(ビジュアルプロセッシングユニット)
16…オンチップメモリ
20、25…OS(オペレーティングシステム)
21、23、26…非リアルタイムソフトウェア
22、24、27…リアルタイムソフトウェア
50、56、57、58、60、605、612…実行時間分析部
52、53、54、62、606、613…リアルタイムインタフェース生成部
93…制御回路
94…演算器
95…記憶素子
100、200、300、400、500…制御システム
601…コンピュータ
602…HMI(ヒューマンマシンインタフェース)
603…制御ネットワーク
604…分析装置
607、614…表示画面
608…プラント管理サーバ
609…情報ネットワーク
701…センサ
702…バルブ
703…カメラ
704…警告灯

Claims (7)

  1. オペレーティングシステムと、前記オペレーティングシステム上で実行する非リアルタイムソフトウェアと、前記オペレーティングシステム上で実行するリアルタイムソフトウェアを有する制御装置と、
    前記非リアルタイムソフトウェアの実行時間情報及び前記リアルタイムソフトウェアの実行時間情報を入力して分析する実行時間分析部と、
    前記実行時間分析部の分析結果から、前記リアルタイムソフトウェアの処理を実行するために更新すべき前記制御装置の構成要素である更新構成を決定するリアルタイムインタフェース生成部を有することを特徴とする制御システム。
  2. 請求項1に記載の制御システムにおいて、
    前記実行時間分析部は、前記分析結果として、前記リアルタイムソフトウェアの処理が、予め定めた周期内であるかを特定し、
    前記リアルタイムインタフェース生成部は、前記予め定めた周期内でない場合に、前記更新構成を決定することを特徴とする制御システム。
  3. 請求項1または2のいずれかに記載の制御システムにおいて、
    前記リアルタイムインタフェース生成部は、決定された前記更新構成を更新するためのデータを生成するかを判定することを特徴とする制御システム。
  4. 請求項3に記載の制御システムにおいて、
    前記リアルタイムインタフェース生成部は、前記データを生成すると判定された場合、当該データとして、バイナリデータもしくはビットストリームデータを生成することを特徴とする制御システム。
  5. 請求項1乃至4のいずれかに記載の制御システムにおいて、
    前記リアルタイムインタフェース生成部は、前記リアルタイムソフトウェアおよび非リアルタイムソフトウェアのうち少なくとも一方、前記オペレーティングシステム、Real-time Operating SystemであるRTOSおよびField Programmable Gate ArrayであるFPGAのうち少なくとも2つから前記更新構成を決定することを特徴とする制御システム。
  6. 請求項5に記載の制御システムにおいて、
    前記リアルタイムインタフェース生成部は、前記リアルタイムソフトウェアおよび非リアルタイムソフトウェアのうち少なくとも一方、前記オペレーティングシステム、前記RTOSおよび前記FPGAの優先順で、前記更新構成とすべきか決定することを特徴とする制御システム。
  7. オペレーティングシステムと、前記オペレーティングシステム上で実行する非リアルタイムソフトウェアと、前記オペレーティングシステム上で実行するリアルタイムソフトウェアを有する制御装置での処理を制御する制御方法において、
    前記非リアルタイムソフトウェアの実行時間情報及び前記リアルタイムソフトウェアの実行時間情報を入力して分析し、
    前記分析の結果から、前記リアルタイムソフトウェアが予め定めた周期に収まらないと判断される場合、前記リアルタイムソフトウェアの処理を実行するために更新すべき前記制御装置の構成要素である更新構成を決定し、
    決定された更新構成を更新するためのデータを生成することを特徴とする制御方法。
JP2019146132A 2019-08-08 2019-08-08 制御システム Active JP7364388B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019146132A JP7364388B2 (ja) 2019-08-08 2019-08-08 制御システム
US17/630,184 US20220276643A1 (en) 2019-08-08 2020-04-14 Control system
PCT/JP2020/016456 WO2021024555A1 (ja) 2019-08-08 2020-04-14 制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019146132A JP7364388B2 (ja) 2019-08-08 2019-08-08 制御システム

Publications (2)

Publication Number Publication Date
JP2021026652A true JP2021026652A (ja) 2021-02-22
JP7364388B2 JP7364388B2 (ja) 2023-10-18

Family

ID=74503429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019146132A Active JP7364388B2 (ja) 2019-08-08 2019-08-08 制御システム

Country Status (3)

Country Link
US (1) US20220276643A1 (ja)
JP (1) JP7364388B2 (ja)
WO (1) WO2021024555A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11792135B2 (en) * 2022-03-07 2023-10-17 Bank Of America Corporation Automated process scheduling in a computer network

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167425A (en) * 1996-11-22 2000-12-26 Beckhoff; Hans System for implementing a real time control program in a non-real time operating system using interrupts and enabling a deterministic time charing between the control program and the operating system
JP2008108087A (ja) * 2006-10-26 2008-05-08 Toshiba Corp 運転支援装置及びプログラム
JP2011232937A (ja) * 2010-04-27 2011-11-17 Renesas Electronics Corp 割り込み制御装置、及び割り込み制御方法
JP2016167700A (ja) * 2015-03-09 2016-09-15 株式会社東芝 遠隔制御システム、遠隔制御方法、分配装置、分配方法、制御装置、制御方法、分析装置、分析方法及びコンピュータプログラム
WO2018186358A1 (ja) * 2017-04-07 2018-10-11 オムロン株式会社 制御装置、制御方法および制御プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6265158B2 (ja) * 2015-03-27 2018-01-24 横河電機株式会社 電子機器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167425A (en) * 1996-11-22 2000-12-26 Beckhoff; Hans System for implementing a real time control program in a non-real time operating system using interrupts and enabling a deterministic time charing between the control program and the operating system
JP2008108087A (ja) * 2006-10-26 2008-05-08 Toshiba Corp 運転支援装置及びプログラム
JP2011232937A (ja) * 2010-04-27 2011-11-17 Renesas Electronics Corp 割り込み制御装置、及び割り込み制御方法
JP2016167700A (ja) * 2015-03-09 2016-09-15 株式会社東芝 遠隔制御システム、遠隔制御方法、分配装置、分配方法、制御装置、制御方法、分析装置、分析方法及びコンピュータプログラム
WO2018186358A1 (ja) * 2017-04-07 2018-10-11 オムロン株式会社 制御装置、制御方法および制御プログラム

Also Published As

Publication number Publication date
US20220276643A1 (en) 2022-09-01
WO2021024555A1 (ja) 2021-02-11
JP7364388B2 (ja) 2023-10-18

Similar Documents

Publication Publication Date Title
US8832649B2 (en) Systems and methods for augmenting the functionality of a monitoring node without recompiling
US11307550B2 (en) Sequence control of program modules
Aldinucci et al. Behavioural skeletons in GCM: autonomic management of grid components
US8589896B2 (en) Method and system for loading status control of DLL
US11215960B2 (en) Engineering apparatus, control method of engineering apparatus, and program for generating executable code for controlling target hardware
CN110532167B (zh) 一种基于模型转换的状态机模型时序性质验证方法
Greenwood et al. Using dynamic aspect-oriented programming to implement an autonomic system
JP2011134310A (ja) リアルタイム・ランタイムシステムおよびそのようなランタイムシステムのための機能モジュール
JP6879625B2 (ja) プログラマブルコントローラ、管理装置および制御システム
US20210157711A1 (en) System and method for controlled data extraction in computer networks
CN109964181B (zh) 用于工业自动化设备的控制器和对这种控制器编程和运行的方法
WO2021024555A1 (ja) 制御システム
JP2015026129A (ja) プロセス制御装置及びシステム並びにその健全性判定方法
Wang et al. An architecture for embedded software integration using reusable components
CN111142466B (zh) 工程装置、工程装置的控制方法和存储介质
WO2019121516A1 (en) Seamless and safe upgrade of software intensive systems during operation
CN110895490A (zh) 一种数据批量处理系统、方法、设备和存储介质
CN112558947B (zh) 程序调用追踪方法、装置以及存储介质
US20200218220A1 (en) Method and data processing device for the computer-supported providing of information, available in the form of computer code, for a process module, and computer program product for carrying out the method
JP6176341B2 (ja) プロセス制御装置及びシステム並びにその健全性判定方法
US11958511B2 (en) Train signal system and linkage method therefor
Lu et al. A UML profile to model safety-critical embedded real-time control systems
CN110532166B (zh) 一种基于模型转换的状态机模型时序性质验证系统
CN111290818A (zh) 创建应用程序的操作方法及应用程序的操作方法
Wang et al. Reconfigurable software for open architecture controllers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230620

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231005

R150 Certificate of patent or registration of utility model

Ref document number: 7364388

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150