(57)【要約】【課題】  プログラミングを行うエディタ上で、異なる種類のエディタを利用して既存のモジュールを簡単に変更し利用できるプラントエンジニアリングシステムを提供する。【解決手段】  コントローラ１６により制御されるプラントの信号の入出力部３および信号を入出力してプロセス制御を実行する制御ロジックを包含するファンクションブロック１３を有してモジュールを作成するエディタ１と、エディタ１上に形成されエディタ１と異なる種類の既存言語エディタ２により異種モジュール作成し制御ロジックを包含する既存言語ファンクションブロック１２と、既存言語ファンクションブロック１２から起動され異種モジュールを作成する既存言語エディタ２と、エディタ１および既存言語エディタ２にて作成されたモジュールをコンパイルしてオブジェクトファイルを作成するコンパイラ１４とを備える。【選択図】        図１
2005326909.tif 000002
【特許請求の範囲】
【請求項１】
コントローラにより制御されるプラントの信号の入出力を行う入出力部および上記入出力部の信号を入出力してプロセス制御を実行する制御ロジックを包含するファンクションブロックを有して上記ファンクションブロックのモジュールを作成するエディタと、上記エディタ上に形成され上記エディタと異なる種類の異種エディタにより異種モジュール作成可能であり上記プラントからの信号によりプロセス制御を実行する制御ロジックを包含する異種ファンクションブロックと、上記異種ファンクションブロックから起動され上記異種ファンクションブロックの異種モジュールを作成する上記異種エディタと、上記エディタおよび上記異種エディタにて作成されたモジュールをコンパイルしてオブジェクトファイルを作成するコンパイラと、上記オブジェクトファイルを格納して上記コントローラに送信するオブジェクトとを備えたことを特徴とするプラントエンジニアリングシステム。
【請求項２】
上記異種ファンクションブロックの入出力を定義する入出力定義エディタを備え、上記エディタは上記異種ファンクションブロックへ必要となる信号を上記入出力定義エディタから得て上記入出力部からの入出力を上記異種ファンクションブロックに定義して上記コンパイラにデータを渡すことを特徴とする請求項１に記載のプラントエンジニアリングシステム。
【請求項３】
上記コンパイラと上記異種エディタとの間に、上記異種エディタにより作成された異種モジュールをコンパイルして異種オブジェクトファイルを作成する異種コンパイラと、上記異種オブジェクトファイルを格納して上記コンパイラに送信する異種オブジェクトとを備え、上記異種モジュールは上記異種オブジェクトファイルに変更されてから上記コンパイラにてコンパイルされることを特徴とする請求項１または請求項２に記載のプラントエンジニアリングシステム。
【請求項４】
上記異種ファンクションブロックを複数種類有し、上記異種エディタを上記異種ファンクションブロックの種別のそれぞれに対して複数種類備えたことを特徴とする請求項１ないし請求項３のいずれかに記載のプラントエンジニアリングシステム。
【請求項５】
上記ファンクションブロックおよび上記異種ファンクションブロックがリード／ライトが可能か否かを判断する判断手段を備え、上記ファンクションブロックおよび上記異種ファンクションブロックのリード／ライトの制限を行うことを特徴とする請求項１ないし請求項４のいずれかに記載のプラントエンジニアリングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プラントの御部を行う制御システムのプラントエンジニアリングシステムに関し、特に既存の制御のプログラミングを利用可能としたものである。
【背景技術】
【０００２】
従来のソフトウェア開発支援装置は、大規模なソフトウェアを開発する場合、このソフトウェアを複数のモジュールに分割して、モジュール毎に開発を行っていた。
【０００３】
【特許文献１】特開平０４−１１１０２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のソフトウェア開発支援装置は、統一された言語のエディタを用いるのみにて対応しているため、言語の異なるエディタにて作成されたモジュールを簡単に利用することができないという問題点があった。
【０００５】
この発明は上記のような課題を解決するためになされたものであり、プログラミングを行うエディタ上で、異なる種類のエディタを利用して既存のモジュールを簡単に変更して利用できるプラントエンジニアリングシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は、コントローラにより制御されるプラントの信号の入出力を行う入出力部および入出力部の信号を入出力してプロセス制御を実行する制御ロジックを包含するファンクションブロックを有してファンクションブロックのモジュールを作成するエディタと、エディタ上に形成されエディタと異なる種類の異種エディタにより異種モジュール作成可能でありプラントからの信号によりプロセス制御を実行する制御ロジックを包含する異種ファンクションブロックと、異種ファンクションブロックから起動され異種ファンクションブロックの異種モジュールを作成する異種エディタと、エディタおよび異種エディタにて作成されたモジュールをコンパイルしてオブジェクトファイルを作成するコンパイラと、オブジェクトファイルを格納してコントローラに送信するオブジェクトとを備えたものである。
【発明の効果】
【０００７】
この発明のプラントエンジニアリングシステムは、コントローラにより制御されるプラントの信号の入出力を行う入出力部および入出力部の信号を入出力してプロセス制御を実行する制御ロジックを包含するファンクションブロックを有してファンクションブロックのモジュールを作成するエディタと、エディタ上に形成されエディタと異なる種類の異種エディタにより異種モジュール作成可能でありプラントからの信号によりプロセス制御を実行する制御ロジックを包含する異種ファンクションブロックと、異種ファンクションブロックから起動され異種ファンクションブロックの異種モジュールを作成する異種エディタと、エディタおよび異種エディタにて作成されたモジュールをコンパイルしてオブジェクトファイルを作成するコンパイラと、オブジェクトファイルを格納してコントローラに送信するオブジェクトとを備えたので、異なる種類のエディタによりモジュールを作成して容易に使用することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、この発明の実施の形態１におけるプラントエンジニアリングシステムの構成を示すブロック図である。図において、エディタ１は制御ロジックを包含するファンクションブロックを配置し、プラントの信号を入出力する入出力部３とこれを接続することでプログラミングを行うものである。このエディタ１は、システムに標準装備されているＡＮＤやＯＲといった命令の標準ファンクションブロック１１と、中身が既存言語（異種）で記述された異種ファンクションブロックとしての既存言語ファンクションブロック１２と、中身がエディタ１と同様のエディタで階層的に記述された拡張ファンクションブロック１３などのファンクションブロックを備えている。
【０００９】
さらに、既存言語ファンクションブロック１２の中身をプログラミングする異種エディタとしての既存言語エディタ２を備える。図において既存言語エディタ２内には、既存言語エディタ２にて書かれた既存言語命令群が示されている。既存言語エディタ２のエディット情報を読んで、コントローラ１６にダウンロードするための既存言語オブジェクトファイルを生成する異種コンパイラとしての既存言語コンパイラ２１と、既存言語オブジェクトファイルを格納してコンパイラ１４に送信する異種オブジェクトとしての既存言語オブジェクト２２と、エディタ１のプログラム情報および既存言語オブジェクト２２の異種オブジェクトファイルを読み込んで、コントローラ１６で実行するオブジェクトファイルを生成するコンパイラ１４と、オブジェクトファイルを格納してコントローラ１６に送信するオブジェクト１５と、オブジェクト１５からオブジェクトファイルが送信されるコントローラ１６と、このコントローラ１６にて制御されるプラントの一部としてのポンプ１７とを備える。
【００１０】
次に上記のように構成された実施の形態１のプラントエンジニアリングシステムの動作について説明する。まず、プログラムを作成するユーザは、エディタ１を起動し、システムにあらかじめ準備された標準ファンクションブロック１１を配置したり、入出力信号部１４を配置して、受け渡しのある信号の信号入力部３を接続してプログラムを作成する。次に、共通的な処理は、拡張ファンクションブロック１３として配置する。そして、この中身を拡張ファンクションブロック１３をダブルクリックして起動されるエディタ１を用いて、階層的にプログラミングする。
【００１１】
次に、既存言語で書かれたプログラムがある場合や、既存言語で記述した方が容易にプログラミングできる制御ロジックについては、既存言語ファンクションブロック１２を配置して、これをダブルクリックして既存言語エディタ２を起動させ、既存言語エディタ２を用いてプログラミングを行う。次に、各ファンクションブロック１１、１２、１３のコンパイルが行われるが既存言語ファンクションブロック１２に対しては既存言語コンパイラ２２を起動してコンパイルし、既存言語オブジェクトファイルを生成する。次に、コンパイラ１４にて、ひとつのオブジェクトファイルを生成してオブジェクト１５に格納される。そして、オブジェクトファイルがコントローラ１６に送信され、ポンプ１７がコントローラ１６によりコントロールされる。
【００１２】
上記のように構成された実施の形態１のプラントエンジニアリングシステムは、異種ファンクションブロックの書換を行う異種エディタを備えたので既存のソフトウェア資産の流用や、既存言語での操作に慣れた人が容易に操作できる環境を提供した。また、既存のプログラムをあらかじめ既存言語コンパイラにより既存言語のオブジェクトファイルを作成した後、コンパイラにて現在の言語のオブジェクトファイルとコンパイルしたのでコンパイラでの処理を軽減することができる。
【００１３】
実施の形態２．
図２はこの発明の実施の形態２のプラントエンジニアリングシステムの構成を示すブロック図である。上記実施の形態１ではエディタ１上において既存言語ファンクションブロック１２への信号受け渡しができないが。この実施の形態２においては、既存言語ファンクションブロック１２に対して入出力部３の信号の入出力が行える場合について説明する。図において、上記実施の形態１と同様の部分は同一符号を付して説明を省略する。入出力定義エディタ４は、既存言語ファンクションブロック１２の入出力を定義するエディタで、どのような入力１０１、１０２および出力１０３を有するブロックかを定義するものである。
【００１４】
上記のように構成された実施の形態２のプラントエンジニアリングシステムは、例えば、既存言語ファンクションブロック１２により既存言語エディタ２が起動すると、これと同時に入出力定義エディタ４が起動する。入出力定義エディタ４には、既存言語ファンクションブロックが、入力１０１、１０２が２本と、出力１０３が１本あるファンクションブロックで成ることの定義が保存されている。そして、エディタ１はこの入出力定義エディタ４を読みこんで既存言語ファンクションブロック１２の入力１０１、１０２および主力１０３の形を決定しエディタ１上で他の部分の関係を書き込む。そしてその関係を、入出力定義５に格納して、コンパイラ１４に送る。そしてコンパイラ１４は、この情報からアドレス解決を行いオブジェクトファイルを生成する。そして他の動作は上記実施の形態１と同様に行うことができる。
【００１５】
上記のように構成された実施の形態２によれば、既存言語ファンクションブロックに対して他の部分との信号の入出力が可能となり、既存言語で書かれたモジュールに対し、他の入出力信号や拡張ファンクションブロックの接続信号の受け渡しが可能となる。よって、既存言語で書かれた既存言語ファンクションブロックと、他のファンクションブロックや信号の入出力を容易にプログラミングできる。
【００１６】
実施の形態３．
図３はこの発明の実施の形態３のプラントエンジニアリングシステムの構成を示すブロック図である。上記各実施の形態では異種ファンクションブロックが１種類の場合について説明したが、これに限られることはなく、２種類以上存在してもそれぞれに対応する異種エディタを備えればよいことは言うまでもない。実施の形態３においては２種類に異種ファンクションブロックを有する場合について示している。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。
【００１７】
エディタ１に第２の既存言語ファンクションブロック１８が形成され、第２の既存言語ファンクションブロック１８の中身をプログラミングする第２の異種エディタとしての第２の既存言語エディタ６を備える。図において第２の既存言語エディタ６内には、第２の既存言語エディタ６にて書かれた既存言語命令群を示している。そして、この第２の既存言語エディタ６を第２の既存言語にてコンパイルする既存言語コンパイラ６１と、この既存言語コンパイラ６１にて作成された既存言語オブジェクトファイルを格納する既存言語オブジェクト６２とを備える。
【００１８】
上記のように構成された実施の形態３のプラントエンジニアリングシステムは、既存言語ファンクションブロック１２および第２の既存言語ファンクションブロック１８のそれぞれに対して、既存言語エディタ２および第２の既存言語エディタ６をそれぞれ設け、それぞれの書換をそれぞれの種類のエディタにて行うことができる。そして、以下上記各実施の形態と同様にコンパイラ１４にかけ、同様に実施することができる。
【００１９】
上記のように構成された実施の形態３によれば、言語の種類に応じて複数の異種エディタを備えることにより種々のプログラミング環境が存在しても、柔軟にプログラムを生成することができる。よって、複数種類の既存言語で書かれた異種ファンクションブロックにおいても、他のファンクションブロックや信号との入出力を容易にプログラミングできる。
【００２０】
実施の形態４．
図４はこの発明の実施の形態４のプラントエンジニアリングシステムの構成を示すブロック図である。図において、上記各実施の形態と同様の部分は同一符号を付して説明を省略する。ここでは各ファンクションブロックに対してリード／ライトが可能か否かを判断するＲＯＭ化手段８を備える。
【００２１】
上記のように構成された実施の形態４のプラントエンジニアリングシステムは、既存言語ファンクションブロック１２や拡張ファンクションブロック１３を、必要に応じてユーザから使用不可とするため、ＲＯＭ化手段８において、ファンクションブロック名にエディタ１上で配置されたファンクションブロックの名称、ステータスに各ファンクションブロックの属性を示して使用を制限する。例えば、Ｒ：○ならばリード可能、×ならばリード不可能、Ｗ：○ならばライト可能、×ならばライト不可能と設定する。よって、既存言語チェックファンクションブロック１２に対しては、ユーザはロジックを見ることも、編集（ライト）することもできない。また、ポンプ制御ファンクションブロックはリードも編集も可能である。エディタ１はこのＲＯＭ化手段８の設定を参照して、各エディタ１、２の起動を可能としたり、不可能とする制御を行う。尚、このＲＯＭ化手段８は、システム管理者権限を持ったユーザのみが起動でき、変更可能となるように設定されている。
【００２２】
上記のように構成された実施の形態４によれば、ノウハウが流出するといけないファンクションブロックに対してガードを設定することができる。また、誤ってファンクションブロックを修正を加えたりしてしまうことをガードすることができる。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態１のプラントエンジニアリングシステムの構成を示すブロック図である。
【図２】この発明の実施の形態２のプラントエンジニアリングシステムの構成を示すブロック図である。
【図３】この発明の実施の形態３のプラントエンジニアリングシステムの構成を示すブロック図である。
【図４】この発明の実施の形態４のプラントエンジニアリングシステムの構成を示すブロック図である。
【符号の説明】
【００２４】
１  エディタ、２  既存言語エディタ、３  入出力部、４  入出力定義エディタ、
６  第２の既存言語エディタ、７  ＲＯＭ化手段、
１２  既存言語ファンクションブロック、１３  拡張ファンクションブロック、
１４  コンパイラ、１５  オブジェクト、１６  コントローラ、１７  ポンプ、
１８  第２の既存言語ファンクションブロック、２１，６１  既存言語コンパイラ、
２２，６２  既存言語オブジェクト。
【図１】
2005326909.tif 000003
【図２】
2005326909.tif 000004
【図３】
2005326909.tif 000005
【図４】
2005326909.tif 000006