(57)【要約】【課題】処理内容の変更の容易なプログラマブルコントローラ、プログラム実行方法、およびプログラムを提供する。【解決手段】複数の並列実行手段による複数の制御プログラムの並列実行が順次に行われる。並列実行手段により並列に実行される制御プログラムは、書き換え可能の並列実行選択記憶部に記憶された並列実行選択情報に基づき、並列実行切換手段によって切り換えられる。この結果、並列実行選択記憶部に記憶された並列実行選択情報を書き換えることで、並列に実行される制御プログラムを容易に切り換えることができる。【選択図】　　　図１
2004078389.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御プログラムをそれぞれ並列に実行する複数の並列実行手段と、
前記複数の並列実行手段を順次に実行させる順次実行手段と、
所定の制御プログラム群中から前記並列に実行される制御プログラムを選択する並列実行選択情報を記憶する書き換え可能の並列実行選択記憶部と、
前記並列実行選択記憶部に記憶された並列実行選択情報に基づいて、前記並列実行手段によって並列に実行される複数の制御プログラムを切り換える並列実行切換手段と、
を具備することを特徴とするプログラマブルコントローラ。
【請求項２】
前記複数の並列実行手段の実行順序を表す実行順序情報を記憶する書き換え可能の実行順序記憶部をさらに具備し、
前記順次実行手段による前記複数の並列実行手段の実行が、前記実行順序記憶部に記憶された実行順序情報に基づいて行われる
ことを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記複数の制御プログラムの実行の可否を表す実行可否情報を記憶する書き換え可能の実行可否記憶部と、
前記実行可否記憶部に記憶された実行可否情報に基づいて、前記複数の制御プログラムの実行、非実行を切り換える実行可否切換手段と、
をさらに具備することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項４】
前記並列に実行される複数の制御プログラムの複数の実行結果から、出力する実行結果を選択する実行結果選択手段
をさらに具備することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項５】
前記実行結果選択手段による実行結果の選択が多数決により行われる
ことを特徴とする請求項４記載のプログラマブルコントローラ。
【請求項６】
前記実行結果選択手段による実行結果の選択が複数の制御プログラムそれぞれに付与された優先順位に基づいて行われる
ことを特徴とする請求項４記載のプログラマブルコントローラ。
【請求項７】
前記制御プログラムの実行結果に対応する実行結果対応情報を記憶する実行結果記憶部と、
前記制御プログラムの実行結果と前記実行結果記憶部に記憶された実行結果対応情報とが異なるときに、該制御プログラムの実行結果に替えて該実行結果記憶部に記憶された実行結果対応情報を出力する情報として選択する実行結果選択手段と、
をさらに具備することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項８】
第１，第２の制御プログラム群それぞれから並列に実行される制御プログラムを選択する並列実行選択ステップと、
前記並列実行選択ステップで、前記第１の制御プログラム群から選択された制御プログラムを並列に実行する第１の並列実行ステップと、
前記並列実行選択ステップで、前記第２の制御プログラム群から選択された制御プログラムを並列に実行する第２の並列実行ステップと、
を具備することを特徴とするプログラム実行方法。
【請求項９】
請求項１乃至７に記載のプログラマブルコントローラとしてコンピュータを機能させるためのプログラム。
【請求項１０】
請求項８に記載のプログラム実行方法をコンピュータに行わせるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセスの制御を行うプログラマブルコントローラ、プログラム実行方法、およびプログラムに関する。
【０００２】
【従来の技術】
複数の制御プログラムを所定の実行周期で順次に実行するプログラマブルコントローラとして、プラントにおけるプロセスの制御を行うプロセス制御装置が用いられている。
図１は従来のプロセス制御装置ＳＳの構成を表すブロック図である。従来のプロセス制御装置ＳＳでは、所定の順序に従い順次に実行される複数の制御プログラムｐ１〜ｐｎが格納されている。この制御プログラムｐ１〜ｐｎそれぞれは、入力装置ｉｎを介してセンサＳから取り込まれた入力信号を処理し、出力装置ｏｕｔを介して制御信号として出力する。プログラム変更装置ｐｈにより制御プログラムｐ１〜ｐｎの変更を行うことで、プロセス制御装置ＳＳの制御内容を変更できる。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のプロセス制御装置では、制御プログラムを登録した順番で実行されており、制御プログラムの実行順序の変更が困難であった。
また、制御プログラムの制御内容を変更するにはプロセス制御装置全体あるいはいずれかの制御プログラムの実行を停止しなければならず、プラントのプロセス制御に影響を及ぼす畏れがあった。
さらに、変更を行った制御プログラムの誤り（バグ）に起因して、変更前の制御プログラムと実行結果が異なる場合でも、この実行結果がそのまま出力されてプラントのプロセス制御の安定性を損なう畏れがあった。
本発明はこのような課題を解決するためになされたもので、処理内容の変更の容易なプログラマブルコントローラ、プログラム実行方法、およびプログラムを提供することを目的としている。
【０００４】
【課題を解決するための手段】
Ａ．上記目的を達成するために本発明に係るプログラマブルコントローラは、複数の制御プログラムをそれぞれ並列に実行する複数の並列実行手段と、前記複数の並列実行手段を順次に実行させる順次実行手段と、所定の制御プログラム群中から前記並列に実行される制御プログラムを選択する並列実行選択情報を記憶する書き換え可能の並列実行選択記憶部と、前記並列実行選択記憶部に記憶された並列実行選択情報に基づいて、前記並列実行手段によって並列に実行される複数の制御プログラムを切り換える並列実行切換手段と、を具備することを特徴とする。
複数の並列実行手段による複数の制御プログラムの並列実行が順次に行われる。並列実行手段により並列に実行される制御プログラムは、書き換え可能の並列実行選択記憶部に記憶された並列実行選択情報に基づき、並列実行切換手段によって切り換えられる。この結果、並列実行選択記憶部に記憶された並列実行選択情報を書き換えることで、並列に実行される制御プログラムを容易に切り換えることができる。
【０００５】
（１）プログラマブルコントローラが、前記複数の並列実行手段の実行順序を表す実行順序情報を記憶する書き換え可能の実行順序記憶部をさらに具備し、前記順次実行手段による前記複数の並列実行手段の実行が、前記実行順序記憶部に記憶された実行順序情報に基づいて行われてもよい。
実行順序記憶部に記憶された実行順序情報を書き換えることで、複数の並列実行手段による制御プログラムの並列実行の順序を容易に変更することができる。
【０００６】
（２）プログラマブルコントローラが、前記複数の制御プログラムの実行の可否を表す実行可否情報を記憶する書き換え可能の実行可否記憶部と、前記実行可否記憶部に記憶された実行可否情報に基づいて、前記複数の制御プログラムの実行、非実行を切り換える実行可否切換手段と、をさらに具備してもよい。
実行可否記憶部に記憶された実行可否情報を書き換えることで、制御プログラムの実行、非実行を容易に変更することができる。この結果、停止した制御プログラムを変更し、再度実行させることが容易に行える。
【０００７】
（３）プログラマブルコントローラが、前記並列に実行される複数の制御プログラムの複数の実行結果から、出力する実行結果を選択する実行結果選択手段をさらに具備してもよい。
複数の制御プログラムが同一の処理を目的とし、かつ複数の制御プログラムの実行結果が一致しない場合に、実行結果選択手段により出力する実行結果を選択することができる。
この結果、例えば一部の制御プログラムを変更したときに、プログラマブルコントローラが誤った実行結果を出力することを防止することができる。
ここで、前記実行結果選択手段による実行結果の選択は、例えば多数決あるいは複数の制御プログラムそれぞれに付与された優先順位に基づいて行うことができる。
【０００８】
（４）プログラマブルコントローラが、前記制御プログラムの実行結果に対応する実行結果対応情報を記憶する実行結果記憶部と、前記制御プログラムの実行結果と前記実行結果記憶部に記憶された実行結果対応情報とが異なるときに、該制御プログラムの実行結果に替えて該実行結果記憶部に記憶された実行結果対応情報を出力する情報として選択する実行結果選択手段と、をさらに具備してもよい。
制御プログラムの実行結果が実行結果記憶部に記憶された実行結果対応情報と異なる場合に、この実行結果対応情報を出力することができる。
例えば、変更した制御プログラムを実行した際に、変更前の制御プログラムと異なった実行結果を出力することを防止できる。
【０００９】
Ｂ．本発明に係るプログラム実行方法は、第１，第２の制御プログラム群それぞれから並列に実行される制御プログラムを選択する並列実行選択ステップと、前記並列実行選択ステップで、前記第１の制御プログラム群から選択された制御プログラムを並列に実行する第１の並列実行ステップと、前記並列実行選択ステップで、前記第２の制御プログラム群から選択された制御プログラムを並列に実行する第２の並列実行ステップと、を具備することを特徴とする。
第１、第２の制御プログラム群から選択した制御プログラムを並列、かつ順次に実行させることができる。
【００１０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図１は本発明の実施形態に係るプロセス制御装置ＳＳの構成を表すブロック図である。
図１に示すようにプロセス制御装置ＳＳは、センサＳからプロセスデータを入力する入力装置ｉｎ、入力されたプロセスデータを基に演算を行う中央演算装置ｃａｌ、演算結果を弁ｂｎ等の制御対象に制御信号として出力する出力装置ｏｕｔから構成され、プログラム変更装置ｐｈが接続されている。
【００１１】
入力装置ｉｎは、センサＳからプロセスデータを取り込む入力メモリｉｍと、取り込んだプロセスデータを後述する制御プログラムｐ１−１〜ｐｎ−ｍに渡す一括入力器ｓｉｍを有する。また、出力装置ｏｕｔは演算結果を出力する操作出力メモリｏｍを有する。
プログラム変更装置ｐｈは、プロセス制御装置ＳＳの制御内容を変更するために下記の制御プログラムｐ１−１〜ｐｎ−ｍ等を書き換える装置である。
中央演算装置ｃａｌは、図示しない中央制御装置（ＣＰＵ）およびメモリー、ハードディスク等の記憶手段をハードウェアとして有する。そして、中央制御装置が記憶手段に記憶されたソフトウェア（プログラム）に従い動作することで、次に示すような構成が具現化される。
【００１２】
中央演算装置ｃａｌは、並列実行手段たる複数のプログラム実行部ｅ１〜ｅｍ、実行結果記憶部たる前回／設定値記憶部ｓｍ、実行結果選択手段たる出力比較器ｏｃを有する。
プログラム実行部ｅｉ（ｉ＝１〜ｎ）は、順次実行手段たる順序決定器ｊｉ、並列実行切換手段たる並列実行切替器ｈｉ、実行可否切換手段たる実行可否器ａｉ−１〜ａｉ−ｍ、制御プログラム群ｐｇｉ（制御プログラムｐｉ−１〜ｐｉ−ｍ）を記憶するプログラム記憶部ｐｇｍｉ（図示せず）、優先番号ｔｉ−１〜ｔｉ−ｍを記憶する優先番号記憶部ｔｍｉ−１〜ｔｍｉ−ｍ（図示せず）、実行結果選択手段の一例たる多数決決定器ｏｓｉ、実行結果選択手段の他の例たる優先番号決定器ｙｓｉを備える。
【００１３】
以下に、中央演算装置ｃａｌの構成の詳細を説明する。
プログラム実行部ｅｉ（ｉ＝１〜ｎ）は、制御プログラム群ｐｇｉを並列に実行可能な実行手段である。
前回／設定値記憶部ｓｍは、プログラム実行部ｅｉによって以前に実行された実行結果または所定の設定データを記憶する記憶部であり、前述の記憶手段に設定される。
出力比較器ｏｃは、制御プログラム群ｐｇｉの実行結果と前回／設定値記憶部ｓｍの記憶内容とを比較して両者に相違がある場合に、前回／設定値記憶部ｓｍの記憶内容を出力するための出力切換手段である。なお、出力比較部にはこの実行の可否を表す比較可否情報を記憶する比較可否記憶部（図示せず）を有し、この比較可否情報を「実行」から「非実行」に書き換えることで、この比較の実行を停止することができる。
【００１４】
順序決定器ｊｉは、プログラム実行部ｅｉを実行する順序を表す実行順序情報を記憶する実行順序記憶部（図示せず）を有し、この実行順序情報に従ってプログラム実行部ｅｉそれぞれを実行する順序を決定する決定手段である。なお、実行順序情報はプログラム実行部ｅｉの実行順序を絶対的に指定してもよいし（例えば、順序決定器ｊｉの実行順序情報が「３」のときにプログラム実行部ｅｉが３番目に実行されるとする）、実行順序を間接的に指定しても差し支えない（例えば、プログラム実行部ｅ３の次にプログラム実行部ｅ４が実行されるとする）。
【００１５】
並列実行切替器ｈｉは、並列に実行される制御プログラムｐｉ−１〜ｐｉ−ｍを選択する並列実行選択情報を制御プログラム群ｐｇｉ中から記憶する並列実行選択記憶部（図示せず）を有し、この並列実行選択情報に従って並列に実行される制御プログラムｐｉ−１〜ｐｉ−ｍを切り換える切換手段である。
例えば、並列実行選択情報が制御プログラムｐｉ−２，ｐｉ−４，ｐｉ−７を並列に実行することを表していたとすると、プログラム実行部ｅｉは制御プログラムｐｉ−２，ｐｉ−４，ｐｉ−７のみが並列に実行され、制御プログラム群ｐｇｉに含まれている他の制御プログラムは実行されない。
なお、並列実行選択情報は並列に実行される制御プログラムを直接指定してもよいし、例えば、制御プログラム群ｐｇｉの内から並列に実行しない制御プログラムを指定することで、並列に実行される制御プログラムを間接的に指定することもできる。
【００１６】
実行可否器ａｉ−１〜ａｉ−ｍは、制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれの実行の可否を表す実行可否情報を記憶する実行可否記憶部（図示せず）を有し、この実行可否情報に従って制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれの実行、非実行を切り換える切換手段である。例えば、１のときは「実行」、０の時は「非実行（バイパスをする）」と実行可否情報を定義することができる。なお、実行可否器ａｉ−１〜ａｉ−ｍは制御プログラムｐｉ−１〜ｐｉ−ｍ自体において、あるいはこれとは別個の箇所において設定することができる。
【００１７】
制御プログラム群ｐｇｉは、制御プログラムｐｉ−１〜ｐｉ−ｍから構成される一種のプログラムモジュールである。制御プログラムｐｉ−１〜ｐｉ−ｍは同一の処理を行うことを目的とするもの（例えば、制御プログラムのバージョンアップに対応する複数の改訂版のプログラム）でもよいし、別個の処理を目的とするものでもよく、あるいはこの両者が混在しても差し支えない。
また、制御プログラムｐｉ−１〜ｐｉ−ｍは、制御対象の制御のための制御処理部以外に種々の処理を行う処理部（例えば、データの入力を行うデータ入力処理部、データの出力を行うデータ出力処理部）を含むことができる。
なお、制御プログラムｐｉ−１〜ｐｎ−ｍ全体の実行手順（並列、順次実行）は、ＳＦＣ（シーケンシャル・ファンクション・チャート）によって表現することができる。
【００１８】
優先番号記憶部ｔｍｉ−１〜ｔｍｉ−ｍは、制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれの実行結果が異なる場合にこれらの実行結果を選択する優先順位を表す優先番号（優先順位）ｔｉ−１〜ｔｉ−ｍを記憶する記憶部である。
優先番号決定器ｙｓｉは、優先番号記憶部ｔｍｉ−１〜ｔｍｉ−ｍに記憶された優先番号ｔｉ−１〜ｔｉ−ｍに従って、制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれからの実行結果を選択する選択手段である。なお、優先番号決定器ｙｓｉは、この選択の可否を表す優先番号選択可否情報を記憶する優先番号選択可否記憶部（図示せず）を有し、この優先番号選択可否情報を「実行」から「非実行」に書き換えることで、優先番号決定器ｙｓｉによる実行結果の選択の実行を停止することができる。
【００１９】
多数決決定器ｏｓｉは、制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれの実行結果が完全には一致しない場合にこれらの実行結果を多数決に従って選択する選択手段である。例えば、並列に実行された５つの制御プログラムの内３つで実行結果「Ａ」が、他の２つで実行結果「Ｂ」を得た場合には、より多数の実行結果「Ａ」を選択することになる。多数決決定器ｏｓｉによって選択された実行結果は、多数決決定器ｏｓｉに備えられた出力切替器ｏｙ（図示せず）により切り替えて出力される。
多数決決定器ｏｓｉは、多数決による選択の可否を表す多数決選択可否情報を記憶する多数決選択可否記憶部（図示せず）を有し、この多数決選択可否情報を「実行」から「非実行」に書き換えることで、多数決決定器ｏｓｉによる実行結果の選択の実行を停止することができる。
なお、多数決による実行結果の選択が行えない場合（例えば、一致する実行結果がないとき、複数の実行結果が同率首位となるとき）には、多数決決定器ｏｓｉが多数決による実行結果の選択が行えない旨の多数決選択不能情報を出力することができる。このとき、多数決決定器ｏｓｉに替えて、優先番号決定器ｙｓｉによる実行結果の選択を自動的に行ってもよい。
【００２０】
（プロセス制御装置ＳＳの動作）
以下に、プロセス制御装置ＳＳの動作内容を説明する。
Ａ．基本的な動作
まず、プロセス制御装置ＳＳの基本的な動作内容を説明する。
プロセス制御装置ＳＳは、センサＳの情報等を受け取り、入力メモリｉｍおよび一括入力器ｓｉｍを介してプロセス信号として取り込む。
【００２１】
中央演算装置ｃａｌでは、プログラム実行部ｅｉが順次に繰り返し所定の実行周期で実行されている。プログラム実行部ｅｉは制御プログラム群ｐｇｉを実行させることから、制御プログラム群ｐｇｉが順次に繰り返し実行されることになる。
一括入力器ｓｉｍは、プログラム実行部ｅｉの実行周期に同期して、プロセス信号を制御プログラム群ｐｇｉに転送する。具体的には、中央演算装置ｃａｌを構成する記憶手段（メモリ等）にプロセス信号をアドレスをずらして順次に転送する。
なお、制御プログラム群ｐｇｉに含まれる制御プログラムには、データ制御処理部に加えて、データ出力処理部、データ入力処理部を含むことができる。
【００２２】
制御プログラム群ｐｇｉがプロセス信号を処理した結果（実行結果）は、出力装置ｏｕｔの操作出力メモリｏｍを介して、弁ｂｎ等の制御対象に出力される。ここで、プログラム実行部ｅｉの実行順序（即ち、制御プログラム群ｐｇｉの実行順序）は順序決定器ｊｎの実行順序情報により指定される。
なお、制御プログラム群ｐｇｉそれぞれの制御プログラムがデータ入力処理部、データ出力処理部を含む場合には、これら制御プログラム群ｐｇｉの実行順序を再設定して、処理タイミング等を調整することが容易となる。
【００２３】
図２は、制御プログラム群が順次に繰り返し実行される状態の一例を表すフロー図である。
制御プログラム群ｐｇ１〜ｐｇ３が順次に繰り返し実行されている。この実行順序は順序決定器ｊ１〜ｊ３の実行順序情報により指定されている。例えば、順序決定器ｊ１〜ｊ３それぞれの実行順序情報を数字の１，２，３として、この数字に基づいて制御プログラム群ｐｇ１〜ｐｇ３が実行される。
以上のように、制御プログラム群ｐｇｉを並列に実行すること、およびこの制御プログラム群ｐｇｉの実行順序を適宜に変更することが可能になる。
【００２４】
Ｂ．並列実行切替器ｈｉによる並列実行の切り替え
並列実行切替器ｈｉにより、制御プログラム群ｐｇｉ中の制御プログラムｐｉ−１〜ｐｉ−ｍから並列に実行するプログラムを指定できる。既述のようにこのｐｉ−１〜ｐｉ−ｍは同一の処理を目的とするプログラムでも、異なる処埋を目的とするプログラムでも差し支えない。並列実行切替器ｈｉにより制御プログラムｐｉ−１〜ｐｉ−ｍから指定された複数のプログラムが選択的に実行される。
【００２５】
図３は、並列実行切替器ｈｉにより指定されたプログラムが並列に実行される状態を表したフロー図である。制御プログラム群ｐｇ１〜ｐｇ３それぞれで制御プログラムｐ１１〜ｐ１２，ｐ２１，ｐ３１〜ｐ３３が並列に実行される。この並列に実行されるプログラムは、並列実行切替器ｈ１〜ｈ３それぞれで指定されている。なお、図３では並列実行切替器ｈｉの内容を制御プログラムｐｉ−１〜ｐｉ−ｍごとに区分して、並列実行切替器ｈｉ−１〜ｈｉ−ｍとして表現している。
以上のように、制御プログラム群ｐｇｉから制御プログラムｐｉ−１〜ｐｉ−ｍを適宜に選択して並列に実行することができる。
【００２６】
Ｃ．実行可否器ａｉ−１〜ａｉ−ｍによる実行、非実行の切り替え
実行可否器ａｉ−１〜ａｉ−ｍによる制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれの実行、非実行の切り替えについて説明する。制御プログラムｐｉ−ｊの実行可否器ａｉ−ｊの実行可否情報を「実行」からを「非実行」に変更することにより、その制御プログラムｐｉ−ｊを非実行にすることができる。この実行可否情報を「実行」にすることで、制御プログラムｐｉ−ｊによる処理を再開できる。
制御プログラムｐｉ−ｊによる処理を停止させ、制御プログラムｐｉ−ｊを変更後、再実行することができる。
なお、実行可否情報および制御プログラムｐｉ−ｊの書き換え、変更は、プログラム変更装置ｐｈによって行える。
【００２７】
Ｄ．多数決決定器ｏｓｉによる出力の決定
多数決決定器ｏｓｉによる制御プログラム群ｐｇｉの実行結果の決定につき説明する。
この決定は、制御プログラム群ｐｇｉを構成する制御プログラムｐｉ−１〜ｐｉ−ｍが同一の処理を行うことを目的とする場合に行われる。このとき制御プログラムｐｉ−１〜ｐｉ−ｍは、並列に実行され、入力データが同じであるから、本来実行結果も同一になるはずである（出カが同じ値になる）。
しかし、制御プログラムｐｉ−１〜ｐｉ−ｍのいずれかに問題（バグ等）があったり、何らかの理由で制御プログラムｐｉ−１〜ｐｉ−ｍに入力される入力データ等に相違があった場合などに出力に違いが発生する。
並列に実行される制御プログラムｐｉ−１〜ｐｉ−ｍが３つ以上あった場合には、多数決によって出カの正統性をチェックすることができる。
【００２８】
以下に、多数決決定器ｏｓｉによる実行結果の決定の手順につき説明する。
制御プログラムｐｉ−１〜ｐｉ−ｍそれぞれからの出力が、操作出力メモリｏｍに転送される前に、多数決決定器ｏｓを経由する。多数決決定器ｏｓは、制御プログラムｐｉ−１〜ｐｉ−ｍからの出カ数値をチェックして、複数の処理結果が同じ値であるかどうかを確認し、一致した出力数値の個数が最大のものを実行結果として選択することができる。
多数決決定器ｏｓにて選択された出力は、出力切替器ｏｙによって選択された出カ値が操作出カメモリｏｍに転送される。
【００２９】
多数決による決定に際して、許容される範囲（例えば、誤差範囲）をあらかじめ設定しておくことができる。即ち、許容範囲内の出カ結果のみに多数決を適用する。例えば、３つのプログラムにおいて、１つが値ａ、残りの２つが許容純囲内の値ｂであった場合、値ａを除外し、残りの一致した値ｂを正しい演算結果と判断する。許容範囲内の値が複数ある場合には、一致した個数が最大の値が選択される。
なお、制御プログラムｐｉ−１〜ｐｉ−ｍの個数が４つ以上であっても同様に多数決で出力される実行結果を選択できる。
【００３０】
Ｅ．優先番号決定器ｙｓｉによる出力の決定
優先番号決定器ｙｓｉによる制御プログラム群ｐｇｉの実行結果の決定につき説明する。　この決定は、前述のＤの場合と同様に、制御プログラム群ｐｇｉを構成する制御プログラムｐｉ−１〜ｐｉ−ｍが同一の処理を行うことを目的とする場合に行われる。制御プログラムｐｉ−１〜ｐｉ−ｍの実行結果が一致しない場合に、多数決決定器ｏｓｉに換えて優先番号決定器ｙｓｉにより出力を決定できる。
【００３１】
優先番号決定器ｙｓｉによる出力の決定は、多数決決定器ｏｓによる多数決による出力の決定が困難な場合に適用できる。例えば、制御プログラムｐｉ−１〜ｐｉ−ｍの複数の出カ値の個数が同数の場合（具体例：値ａ、ｂの個数が共に２つの場合）や、制御プログラムｐｉ−１〜ｐｉ−ｍいずれかの変更等により実行可否器ａｉ−１〜ａｉ−ｎで制御プログラムｐｉ−１〜ｐｉ−ｍを非実行にした結果、並列に実行される制御プログラムの個数が２つ以下になった場合である。
【００３２】
そのような多数決による決定が困難な場合に、設定されている優先番号ｔｉ−１〜ｔｉ−ｎが高い制御プログラムｐｉ−１〜ｐｉ−ｍの実行結果を優先番号決定器ｙｓｉが選択して操作出カメモリｏｍに転送する。
【００３３】
Ｆ．出力比較器ｏｃによる出力の決定
出力比較器ｏｃによる出力の決定について説明する。
制御プログラムｐｉ−１〜ｐｉ−ｍの書き換えを行ったような場合（例えば、実行可否情報を「非実行」にして制御プログラムｐ２−３を変更してから再実行した場合）、前回の出力と今回の出カの比較を行い、出力に相違があれば今回の出力データに換えて、前回／設定値記憶部ｓｍに記憶された前回の出力または、適宜の設定値を固定値として出力する。
【００３４】
以上のように、制御プログラム群ｐｇｉを順次に実行し、かつその制御プログラム群ｐｇｉの制御プログラムｐｉ−１〜ｐｉ−ｍを並列に実行することができる。そして、制御プログラム群ｐｇｉの実行順序および並列に実行される制御プログラムｐｉ−１〜ｐｉ−ｍを適宜に組み合わせることが可能になる。そして、複数組の制御プログラム群ｐｇｉの実行結果を、それらの実行周期に合わせて出力できる。
【００３５】
また、実行可否器ａｉ−１〜ａｉ−ｍにより制御プログラムｐｉ−１〜ｐｉ−ｍを選択して停止して、変更を加えた後に再度実行することができる。このとき、選択した制御プログラムｐｉ−１〜ｐｉ−ｍが停止している間でも他の制御プログラムｐｉ−１〜ｐｉ−ｍを実行させ、その出力状態を監視することができる。
なお、実行可否器ａｉ−１〜ａｉ−ｍの実行可否情報、制御プログラムｐｉ−１〜ｐｉ−ｍの変更は、プログラム変更装置ｐｈを使用し、プロセス制御装置ＳＳ実行中に適宜に行える。
【００３６】
さらに、多数決決定器ｏｓｉ、優先番号決定器ｙｓｉ、出力比較器ｏｃを用いて、制御プログラムｐｉ−１〜ｐｉ−ｍの実行結果の選択等を行える。
【００３７】
（その他の実施形態）
本発明の実施形態は上記の実施形態には限定されず適宜に拡張、変更することができる。そして、拡張、変更された実施形態も本発明の技術的範囲に含まれる。
（１）例えば、上記実施形態では、制御対象がプラントの場合を示しているが、プラントに限らず制御対象一般に適用することができる。即ち、プロセス制御装置を制御対象一般の制御を行うプログラマブルコントローラ一般に拡張して考えることができる。
（２）上記実施形態では、制御プログラム群ｐｇ１〜ｐｇｎ毎にモジュール化を行っていたが、制御プログラム群ｐｇ１〜ｐｇｎに含まれる制御プログラムを単一のモジュールとして取り扱うこともできる。
即ち、制御プログラムｐ１−１〜ｐｎ−ｍ全体をモジュール化し、これらのプログラムそれぞれの実行可否情報を一つのテーブル（実行可否情報テーブル）で表すことができる。例えば、実行可否情報テーブルを配列Ａ＝［ａｉｊ］（ｉ＝１〜ｎ，ｊ＝１〜ｍ）で表し、この配列の要素ａｉｊ（実行可否フラグ）のオン、オフを適宜に設定することにより、制御プログラムｐ１−１〜ｐｎ−ｍ全体の並列実行パターンを自由に設定することができる。
これは、上記実施形態における並列実行切換器中ｈ１〜ｈｎ中の並列実行選択情報を実行可否情報テーブルとして単一のモジュールに纏めたことを意味する。他の順序決定器、実行可否器、多数決決定器、優先番号決定器等の機能もこれと同様に、単一のモジュールに纏めた形で実現することができる。
このような、複数の構成要素のモジュール化（あるいは、この逆の分離化）は必要に応じて適宜に行える。
【００３８】
【発明の効果】
以上説明したように、本発明によれば、処理内容の変更の容易なプログラマブルコントローラ、プログラム実行方法、およびプログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るプロセス制御装置の構成を表すブロック図である。
【図２】制御プログラム群が順次に繰り返し実行される状態の一例を表すフロー図である。
【図３】並列実行切替器により指定されたプログラムが並列に実行される状態を表したフロー図である。
【図４】従来のプロセス制御装置の構成を表すブロック図である。
【符号の説明】
ＳＳ…プロセス制御装置、　Ｓ…センサ、　ｂｎ…弁、　ｐｈ…プログラム変更装置、　ｉｎ…入力装置、　ｉｍ…入力メモリ、　ｓｉｍ…一括入力器、　ｃａｌ…中央演算装置、　ｅｉ…プログラム実行部、　ｊｉ…順序決定器、　ｈｉ…並列実行切替器、　ａｉ…実行可否器、　ｐｇｍｉ…プログラム記憶部、　ｐｇ１…制御プログラム群、　ｐｇｉ…制御プログラム群、　ｐ１…制御プログラム、　ｐ１１…制御プログラム、　ｐｉ…制御プログラム、　ｐ２…制御プログラム、　ｔｉ…優先番号、　ｔｍｉ…優先番号記憶部、　ｙｓｉ…優先番号決定器、　ｏｓｉ…多数決決定器、　ｏｙ…出力切替器、　ｓｍ…前回／設定値記憶部、　ｏｃ…出力比較器、　ｏｕｔ…出力装置、　ｏｍ…操作出力メモリ
【図１】
2004078389.tif 000003
【図２】
2004078389.tif 000004
【図３】
2004078389.tif 000005
【図４】
2004078389.tif 000006