(57)【特許請求の範囲】
【請求項１】
実行プログラム実行処理を周辺処理とともにサイクリックに実行し、かつ実行プログラムを複数個の実行単位に分割して実行する制御装置において、
上記実行単位を起動する条件を個々の実行単位ごとに設定する起動条件設定手段を有し、
上記起動条件設定手段は、
上記個々の実行単位について起動条件を指定するか否かを指定する起動条件管理テーブルと、上記起動条件管理テーブルで起動条件が指定された実行単位に対して、その実行単位の起動条件を設定する起動条件テーブルと、を含み、当該制御装置につながるマンマシン・インタフェース部によって設定されるものであり、
上記起動条件設定手段の起動条件管理テーブルに対する起動条件の指定および起動条件テーブルに対する起動条件の設定は、マンマシン・インタフェース部の動的な設定要求によって、各サイクリック実行のうち上記周辺処理実行時に行われるものであり、
上記実行プログラムの実行処理は、その起動条件設定手段に対して動的に設定された起動条件管理テーブルの指定と起動条件テーブルの設定とに基づいて、個々の実行単位ごとに設定された起動条件を満たした場合にのみその実行単位を個々に起動して実行するものである
ことを特徴とする制御装置。
【請求項２】
上記起動条件設定手段は、
上記実行プログラムのテスト時又はデバッグ時に設定される
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
上記起動条件設定手段における起動対象には、イベント発生時のタスクが含まれる
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
上記実行単位起動条件設定手段は、
起動条件設定のための特定の接点情報より実行単位の起動条件を設定する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
上記起動条件設定手段で設定される起動条件は自動モード、手動モードまたはティーチモードのいずれかで設定される
ことを特徴とする請求項１に記載の制御装置。
【請求項６】
実行プログラム実行処理を周辺処理とともにサイクリックに実行し、かつ実行プログラムを複数個の実行単位に分割し、分割された個々の実行単位について起動条件を指定されたか否かを指定する起動条件管理テーブルと、この起動条件管理テーブルで起動条件が指定された実行単位に対してその実行単位の起動条件を設定する起動条件テーブルとを有する制御装置の制御方法において、
各サイクリック実行のうち周辺処理実行時に、上記起動条件管理テーブルに対して上記個々の実行単位を起動するか否かの指定と、上記起動条件テーブルに対して上記起動指定の実行単位の起動条件の設定とを、当該制御装置につながるマンマシン・インタフェース部の動的な設定要求によって行われ、
上記サイクリック実行における実行プログラム実行処理時に、上記周辺処理実行時に動的に設定された起動条件管理テーブルの指定と起動条件テーブルの設定とに基づいて、上記個々の実行単位ごとに設定された起動条件を満たした場合にのみその実行単位を個々に起動する
ことを特徴とする制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＰＬＣ等の制御装置及び方法に関し、特にこれらの制御装置で実行プログラムを複数の実行単位に分割して実行する場合の起動条件を動的に変更できるようにした制御装置及び方法に関する。
【０００２】
【従来の技術】
例えばＰＬＣ（プログラマブル・ロジック・コントローラ）のような制御装置では、制御装置で使用される実行プログラムは複数の実行単位で構成されているので、実行プログラムのテストやデバッグ時は、プログラムの各実行単位ごとに起動をかけ、プログラムの各実行単位ごとにテストやデバッグを行っている。
【０００３】
そして、この場合、各実行単位の起動は、予め実行プログラムにオンラインエディットまたはオフラインエディットで起動条件を挿入することにより各実行単位に起動をかけ、各実行単位のテストやデバッグを行っていた。
【０００４】
なお、各実行単位として、イベントが発生した場合のタスクも含まれる。
【０００５】
【発明が解決しようとする課題】
ところで、各実行単位のテストやデバッグを行う場合、例えばテスト時には微妙な起動タイミングが要求されることがあるし、デバック時にはデバックの必要でない実行単位がある。
【０００６】
しかしながら、上記従来例では、起動条件は実行プログラムの停止時に設定されるので、テスト時に要求される微妙な起動タイミングを実現できないという問題点があった。
【０００７】
また、上記従来例では、オンラインエディットまたはオフラインエディットで起動条件を挿入するので、そのためにプログラムを編集する必要があり、上記問題点と同様、各実行単位の効率的なテストやデバッグを行うことができないという問題点があった。
【０００８】
そこで、本発明は上記問題点に着目してなされたもので、各実行単位の効率的なテストやデバッグを行うことのできる制御装置及び方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、
実行プログラム実行処理を周辺処理とともにサイクリックに実行し、かつ実行プログラムを複数個の実行単位に分割して実行する制御装置において、
上記実行単位を起動する条件を個々の実行単位ごとに設定する起動条件設定手段を有し、
上記起動条件設定手段は、
上記個々の実行単位について起動条件を指定するか否かを指定する起動条件管理テーブルと、上記起動条件管理テーブルで起動条件が指定された実行単位に対して、その実行単位の起動条件を設定する起動条件テーブルと、を含み、当該制御装置につながるマンマシン・インタフェース部によって設定されるものであり、
上記起動条件設定手段の起動条件管理テーブルに対する起動条件の指定および起動条件テーブルに対する起動条件の設定は、マンマシン・インタフェース部の動的な設定要求によって、各サイクリック実行のうち上記周辺処理実行時に行われるものであり、
上記実行プログラムの実行処理は、その起動条件設定手段に対して動的に設定された起動条件管理テーブルの指定と起動条件テーブルの設定とに基づいて、個々の実行単位ごとに設定された起動条件を満たした場合にのみその実行単位を個々に起動して実行するものである
ことを特徴とする。
【００１０】
また、請求項２の発明は、請求項１に記載の発明において、
上記起動条件設定手段は、
上記実行プログラムのテスト時又はデバッグ時に設定される
ことを特徴とする。
【００１２】
また、請求項３の発明は、請求項１に記載の発明において、
上記起動条件設定手段における起動対象には、イベント発生時のタスクが含まれる
ことを特徴とする。
【００１３】
また、請求項４の発明は、請求項１に記載の発明において、
上記実行単位起動条件設定手段は、
起動条件設定のための特定の接点情報より実行単位の起動条件を設定する
ことを特徴とする。
【００１４】
また、請求項５の発明は、請求項１に記載の発明において、
上記起動条件設定手段で設定される起動条件は自動モード、手動モードまたはティーチモードのいずれかで設定される
ことを特徴とする。
【００１５】
また、請求項６の発明は、
実行プログラム実行処理を周辺処理とともにサイクリックに実行し、かつ実行プログラムを複数個の実行単位に分割し、分割された個々の実行単位について起動条件を指定されたか否かを指定する起動条件管理テーブルと、この起動条件管理テーブルで起動条件が指定された実行単位に対してその実行単位の起動条件を設定する起動条件テーブルとを有する制御装置の制御方法において、
各サイクリック実行のうち周辺処理実行時に、上記起動条件管理テーブルに対して上記個々の実行単位を起動するか否かの指定と、上記起動条件テーブルに対して上記起動指定の実行単位の起動条件の設定とを、当該制御装置につながるマンマシン・インタフェース部の動的な設定要求によって行われ、
上記サイクリック実行における実行プログラム実行処理時に、上記周辺処理実行時に動的に設定された起動条件管理テーブルの指定と起動条件テーブルの設定とに基づいて、上記個々の実行単位ごとに設定された起動条件を満たした場合にのみその実行単位を個々に起動する
ことを特徴とする。
【００１９】
図１は本発明に係る制御装置及び方法をＰＬＣに適用した場合の概略構成を示すブロック図である。
【００２０】
同図に示すごとく、ＰＬＣ１０はマンマシン・インタフェース部（ＭＭＩ）２０と、プログラム実行部３０より構成されている。
【００２１】
ここで、マンマシン・インタフェース部２０は表示器や操作部より構成され、この実施形態では特にプログラム実行中、動的にプログラム実行部３０に対して起動条件の設定要求を行うものである。
【００２２】
また、プログラム実行部３０はスケジューラ３１と、複数の実行単位３２−１（実行単位１）、３２−２（実行単位２）、３２−３（実行単位３）、…３２−ｎ（実行単位ｎ）より構成される実行プログラム３２より構成されている。
【００２３】
ここで、スケジューラ３１は実行プログラム３２を実行するとともに、マンマシン・インタフェース部２０で設定された起動条件に基づいて各実行単位３２−１（実行単位１）、３２−２（実行単位２）、３２−３（実行単位３）、…３２−ｎ（実行単位ｎ）の起動条件を管理している。
【００２４】
ところで、ＰＬＣでは、図２に示すごとく、所定のサイクルタイムで、制御対象に対してＰＬＣ命令実行処理の演算値を出力するＯＵＴリフレッシュ処理４１、制御対象を監視するセンサ等の出力値を取り込むＩＮリフレッシュ処理４２、実行プログラムを実行するＰＬＣ命令実行処理４３、及びその他の周辺処理４４をサイクリックに実行しているが、本実施形態では周辺処理４４の実行時間にマンマシン・インタフェース部２０からプログラム実行部３０のスケジューラ３１に対して起動条件の設定要求を行うようにしている。これによって、プログラム実行中、動的にスケジューラ３１に対して起動条件の設定要求を行う。
【００２５】
次に、マンマシン・インタフェース部２０からスケジューラ３１に対して起動条件の設定要求を行う場合の処理について説明する。
【００２６】
ここで、スケジューラ３１には、図３に示すごとき起動条件テーブル作成のための項目テーブル５０が設けられている。
【００２７】
ここで、起動条件テーブル作成のための項目テーブル５０は、実行単位数、条件数、条件種類、接点位置、接点値の各項目より構成され、
（１）実行単位数項目５１には、プログラムまたはタスクの総数データ
（２）条件数項目５２には、ＡＮＤ、ＯＲ、立上がり、立下がりなどの条件の総数データ
（３）条件種類項目５３には、ＡＮＤ、ＯＲ、立上がり、立下がりなどの条件の種類データ
（４）接点位置項目５４には、接点のアドレス番地とビット位置データ
（５）接点値項目５５には、０又は１の値データ
がそれぞれ格納されている。
【００２８】
この起動条件テーブル作成のための項目テーブル５０の内容を参照しながら、各実行単位を起動するか否かの起動条件テーブル（図５参照）が作成される。
【００２９】
そこで、スケジューラ３１には、図４に示すごとき起動条件管理テーブル６０と図５に示すごとき起動条件テーブル７０が設けられている。
【００３０】
ここで、図４に示す起動条件管理テーブル６０は、図１に示した実行プログラム３２を構成する各実行単位３２−１（実行単位１）、３２−２（実行単位２）、３２−３（実行単位３）、…３２−ｎ（実行単位ｎ）について、起動条件の指定をするか否かを管理するテーブルで、同図に示す例では、実行単位３２−１（実行単位１）は起動条件の指定がない場合であり、実行単位３２−２（実行単位２）、３２−３（実行単位３）、３２−ｎ（実行単位ｎ）は起動条件の指定がある場合を示している。
【００３１】
ここで、起動条件の指定がない場合は無条件に起動がかけられることになるが、起動条件の指定がある場合は、所定の起動条件が成立した場合のみ起動がかけられることになり、その起動条件が起動条件テーブル７０として図５に示されている。
【００３２】
ここで、起動条件テーブル７０は、条件数、条件、接点位置、接点値より構成され、
（１）条件数は、その起動条件テーブル７０で使用されるＡＮＤ、ＯＲ、立上がり、立下がりなどの条件の総数
（２）条件は、ＡＮＤ、ＯＲ、立上がり、立下がりなどの条件
（３）接点位置は接点のアドレス番地とビット位置
（４）接点値は０又は１の値
の各データが格納されている。
【００３３】
図５は、図４において起動条件の指定がある場合の起動条件テーブル７０の一例で、１００番地の１ビット目がオンかつ２００番地の２ビット目がオフであるか、３００番地の３ビット目がオンで４００番地の４ビット目が立ち上がったなら起動するよう設定されている場合、起動条件テーブル７０は図５に示すごとき構成となる。
【００３４】
図６は、本実施形態で各実行単位に起動をかける場合、スケジューラ３１で実行される処理手順を示したフローチャートで、４つの実行単位を起動する場合の処理手順を示している。
【００３５】
この処理は図２に示したＰＬＣの１サイクルタイム中、ＰＬＣ命令実行処理４３で行われるもので、まず、実行単位１の起動条件が成立しているか否かが調べられる（ステップ１０１）。これは、まず図４に示した起動条件管理テーブル６０を参照して、起動条件の指定があるか否かを調べることによって行われ、起動条件の指定がない場合は無条件に起動がかけられるので（ステップ１０１でＹＥＳ）、実行単位１が起動される（ステップ１０２）。
【００３６】
次に、起動条件管理テーブル６０を参照して、起動条件の指定がある場合には、図５に示すごとき実行単位１の起動条件テーブルを調べ、起動条件が成立しているか否かが調べられる。ここで、起動条件が成立しているならば（ステップ１０１でＹＥＳ）、実行単位１が起動される（ステップ１０２）。また、起動条件が成立していないならば（ステップ１０１でＮＯ）、ステップ１０３に進む。
【００３７】
こうして、以下ステップ１０３〜ステップ１０８の処理を同様に行って、実行単位２，３，…ｎの起動をかけるか否かが調べられることになる。
【００３８】
なお、以上の説明では、実行プログラム３２を複数の実行単位３２−１（実行単位１）、３２−２（実行単位２）、３２−３（実行単位３）、…３２−ｎ（実行単位ｎ）に分割して各実行単位に起動をかける場合について説明したが、各実行単位としてイベントが発生した場合に実行されるタスクに起動をかけるときも、実行プログラム３２の各実行単位に起動をかける場合と同様に起動をかけることができることは勿論である。
【００３９】
また、以上の説明では、本発明に係る制御装置及び方法をＰＬＣに適用した場合について説明したが、その他の制御装置にも適用できることは勿論である。
【００４０】
ところで、以上の説明では手動モード（メンテナンスモード）で起動条件を設定できるようにしたが、次に、手動モードのほか自動モードまたはティーチモードでも各実行単位の起動条件を設定できるようにした場合の処理手順を図７に示す。
【００４１】
図７において、起動条件用プログラム８０は、自動モード、手動モード及びティーチモードのいずれかで起動条件を設定できるように構成され、例えば自動ボタンＯＮかまたは自動モード設定（自動モードフラグＯＮ）で非手動モード（手動モードフラグＯＦＦ）及び非ティーチモード（ティーチモードフラグＯＦＦ）の場合は自動モードとされ、自動モード用プログラム８１を作成する。そして、起動条件が成立したならば対応する実行単位のプログラムを実行する。
【００４２】
手動モード用プログラム８２及びティーチモード用プログラム８３を作成する場合も同様である。
【００４３】
このように、手動モードによる起動条件設定以外に自動モードやティーチモードでも起動条件が設定されると、起動条件設定の自由度が向上し、柔軟に起動条件が設定できることになる。
【００４４】
【発明の効果】
以上説明したように、本発明では、実行プログラムを複数の実行単位に分割して実行する制御装置において、上記実行単位に分割された実行プログラムを起動する条件を設定する起動条件設定手段を有し、上記起動条件設定手段で設定された起動条件を満たした場合のみ実行単位に分割された実行プログラムを起動するようにしたので、プログラム実行中、動的に起動条件を設定でき、各実行単位の効率的なテストやデバッグを行うことのできる制御装置及び方法を得ることができる等の効果を有する。
【図面の簡単な説明】
【図１】本発明係る制御装置及び方法がＰＬＣに適用された一実施形態の概略構成を示すブロック図。
【図２】図１に示したＰＬＣにおいて、各実行単位の起動条件が周辺処理時に行われることを示す説明図。
【図３】各実行単位の起動条件を設定するために使用される起動条件テーブル作成のための項目テーブルの説明図。
【図４】各実行単位の起動条件を設定するために使用される起動条件管理テーブルの説明図。
【図５】図３に示した起動条件テーブル作成のための項目テーブルを使用して各実行単位の起動条件テーブルが作成される場合の説明図。
【図６】図１に示した実施形態において各実行単位が起動される場合の処理手順を示すフローチャート。
【図７】起動条件を自動モード、手動モード及びティーチモードで選択的に設定できるようにした場合の処理手順を示すラダー図。
【符号の説明】
１０  ＰＬＣ
２０  マンマシン・インタフェース部（ＭＭＩ）
３０  プログラム実行部
３１  スケジューラ
３２  実行プログラム
３２−１，３２−２，３２−３，…３２−ｎ  実行単位
４１  ＯＵＴリフレッシュ処理
４２  ＩＮリフレッシュ処理
４３  ＰＬＣ命令実行処理
４４  周辺処理４４
５０  起動条件テーブル作成のための項目テーブル
６０  起動条件管理テーブル
７０  起動条件テーブル
８０  起動条件用プログラム
８１  自動モード用プログラム
８２  手動モード用プログラム
８３  ティーチモード用プログラム
【図１】
0003548782.tif 000002
【図２】
0003548782.tif 000003
【図３】
0003548782.tif 000004
【図４】
0003548782.tif 000005
【図５】
0003548782.tif 000006
【図６】
0003548782.tif 000007
【図７】
0003548782.tif 000008