(57)【要約】【課題】  複数のシーケンスプログラムの実行時間の割合を自由に変更できるプログラマブルコントローラを提供する。【解決手段】  各シーケンスプログラムの実行時間割合が異なった設定値を記憶する実行時間割合記憶テーブルをバックアップメモリに複数設定しておく。電源投入時は、１番目のテーブルＴ１に設定された実行時間割合をワークＲＡＭにコピーする(S1)。コピーされた実行時間割合で各シーケンスプログラムを実行する(S2)。シーケンスプログラム中にテーブルを指定するビットを立てる。もしくは、作業員が指定する。このビットが立っていると(S3)、そのビットに対応するテーブルの実行時間割合をワークＲＡＭにコピーする(S4)。以後はこの実行時間割合でシーケンスプログラムを実行する。シーケンスプログラム実行中の任意のとき、実行時間割合を変更できる。【選択図】          図２
2005084800.tif 000002
【特許請求の範囲】
【請求項１】
複数のシーケンスプログラムを１実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
前記複数のシーケンスプログラムの各々の実行時間割合を設定した複数の実行時間割合記憶テーブルと、
前記シーケンスプログラムの実行中に前記実行時間割合記憶テーブルを選択する手段と、
選択された実行時間割合記憶テーブルに記憶された実行時間割合に基づき前記複数のシーケンスプログラムを実行する手段と、
を有することを特徴とするプログラマブルコントローラ。
【請求項２】
前記選択手段は、前記実行時間割合記憶テーブルとビット情報との対応を記憶する対応テーブルを有し、シーケンスプログラムに記述されたビット情報と前記対応テーブルに基づき実行時間割合記憶テーブルを選択することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記選択手段は、シーケンスプログラムに記述されたパラメータによって実行時間割合記憶テーブルを選択することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項４】
前記選択手段は、キー入力によって前記実行時間割合記憶テーブルを選択することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項５】
複数のシーケンスプログラムを１実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、
前記複数のシーケンスプログラムの各々の実行時間割合を記憶した記憶手段と、
前記記憶手段に記憶された実行時間割合を変更する変更手段と、
前記変更手段によって変更された実行時間割合を有効にする手段とを備え、
変更された実行時間割合が有効にされるとこの変更された実行時間割合に基づき前記複数のシーケンスプログラムを実行することを特徴とするプログラマブルコントローラ。
【請求項６】
前記変更手段は、手動により実行時間割合を設定する手段であり、前記変更された実行時間割合を有効にする手段は、シーケンスプログラムに記述されたビット情報に基づき時間割合を変更することを特徴とする請求項５記載のプログラマブルコントローラ。
【請求項７】
前記変更手段は、シーケンスプログラムに記述されたパラメータによる実行時間割合で構成され、前記変更された実行時間割合を有効にする手段は、該シーケンスプログラムから前記パラメータが読み込まれたことによって、パラメータ指定の実行時間割合を有効にすることを特徴とする請求項５記載のプログラマブルコントローラ。
【請求項８】
前記変更手段は、手動により実行時間割合を設定する手段であり、前記変更された実行時間割合を有効にする手段は、手動により指令する手段であることを特徴とする請求項５記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シーケンスプログラムを実行するプログラマブルコントローラに関する。
【背景技術】
【０００２】
プログラマブルコントローラは、シーケンスプログラムを実行することで、数値制御装置の数値制御部の制御（Ｍ機能、Ｔ機能）、及び機械の周辺機器（ワークローダー、自動工具交換装置（ＡＴＣ））などの制御を行っている。  
近年、機械の高機能化が進み、機械システムに新たな周辺機器を追加する場合があり、この場合、追加した周辺機器を制御する制御プログラムをプログラマブルコントローラのシーケンスプログラムに追加する場合が多い。又、機械を自動化するためにその制御プログラムをシーケンスプログラムに追加する場合もある。その結果、プログラマブルコントローラが実行するシーケンスプログラムが多くなり、その保守、管理が困難になってきている。
【０００３】
この問題を解決する方法として、近年では、機械の基本部分を制御するシーケンスプログラムと、追加周辺機器を制御するためのシーケンスプログラムを別々に作成し、これらの複数のシーケンスプログラムをプログラマブルコントローラのプロセッサが順番に切り替えながら、少しずつ実行して見かけ上シーケンスプログラムを並行して実行するようにして、シーケンスプログラムの保守性を容易にする方法がとられている。
【０００４】
複数のシーケンスプログラムを並行に実行させる方法としては、予め決められた実行時間の割合を設定し、この設定割合に基づいて各シーケンスプログラムを実行させている。本願発明に関係し、この実行時間の割合を自動的に変更するようなプログラマブルコントローラは知られておらず、公知文献もない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
予め決められた実行時間の割合で複数のシーケンスプログラムを並行に実行した場合、数値制御部のシーケンスプログラムの実行時間の割合と周辺機器のシーケンスプログラムの実行時間の割合の比率が不適切であると、シーケンスプログラムの全体の動作が不効率となる場合がある。  
そこで、本発明の目的は、複数のシーケンスプログラムの実行時間の割合を自由に変更できるプログラマブルコントローラを提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、複数のシーケンスプログラムを１実行周期内の予め決められた時間割合で順次繰り返して実行するプログラマブルコントローラにおいて、前記複数のシーケンスプログラムの各々の実行時間割合を設定した複数の実行時間割合記憶テーブルと、前記シーケンスプログラムの実行中に前記実行時間割合記憶テーブルを選択する手段と、選択された実行時間割合記憶テーブルに記憶された実行時間割合に基づき前記複数のシーケンスプログラムを実行する手段とを備え、所望する時点でのシーケンスプログラムの各々の実行時間割合を変更できるようにしたものである。また、前記選択手段は、前記実行時間割合記憶テーブルとビット情報との対応を記憶する対応テーブルを有し、シーケンスプログラムに記述されたビット情報と前記対応テーブルに基づき実行時間割合記憶テーブルを選択するものとした。又は、前記選択手段を、シーケンスプログラムに記述されたパラメータによって、若しくはキー入力によって実行時間割合記憶テーブルを選択するようにする。
【０００７】
また、別の態様として、複数のシーケンスプログラムの各々の実行時間割合を記憶した記憶手段と、前記記憶手段に記憶された実行時間割合を変更する変更手段と、前記変更手段によって変更された実行時間割合を有効にする手段とを備え、変更された実行時間割合が有効にされるとこの変更になった実行時間割合に基づき前記複数のシーケンスプログラムを実行するように構成した。そして、前記変更手段は、手動により実行時間割合を設定する手段で構成し、前記変更された実行時間割合を有効にする手段は、シーケンスプログラムに記述されたビット情報に基づき時間割合を変更するものとする。または、前記変更手段を、シーケンスプログラムに記述されたパラメータによる実行時間割合で構成し、前記変更された実行時間割合を有効にする手段を、該シーケンスプログラムから前記パラメータが読み込まれたことによって、パラメータ指定の実行時間割合を有効にするものとした。または、前記変更手段を、手動により実行時間割合を設定する手段で構成し、前記変更された実行時間割合を有効にする手段も手動により指令する手段で構成する。
【発明の効果】
【０００８】
本発明は、シーケンスプログラムの実行中に各シーケンスプログラムの実行時間割合を自由に変更できるので、シーケンス動作状態に応じて、最適の実行時間割合でシーケンス動作を実行させることができる。
【発明を実施するための最良の形態】
【０００９】
図１は、本発明の各実施形態を構成するプログラマブルコントローラの要部ブロック図である。プログラマブルコントローラ１０には、シーケンス制御を実行するプロセッサ１１、システムソフトウェアが格納されたＲＡＭ１２、不揮発性ＲＡＭ等で構成されたシーケンスプログラムを記憶するプログラムメモリ１３、ＤＩ／ＤＯ信号（入出力信号）を記憶する信号メモリ１４、ワークＲＡＭ１５及びバックアップメモリ２０がバス２１で接続されている。さらに、処理時間等を計時するためのタイマ１６，入出力機器に接続されるＩ／Ｏインタフェース１７、液晶又はＣＲＴ等で構成される表示器１８、及びキーボート等のデータや指令を入力するための入力機器１９もバス２１に接続されている。なお、数値制御装置に設けられ数値制御部とバス２１で接続されたプログラマブルコントローラ１０の場合には、表示器１８及び入力機器１９は、数値制御部に設けられた表示器、入力機器で兼用されており、プログラマブルコントローラ１０に設ける必要はない。
【００１０】
上述したプログラマブルコントローラ１０のハードウェア構成は従来のプログラマブルコントローラと差異はなく、システムソフトウェア用のＲＡＭ１２にシーケンスプログラムを実行する１実行周期内における各シーケンスプログラムの実行時間割合を変更するソフトウェアが格納されている点で従来プログラマブルコントローラと相違している。  
そして、本実施形態においては、プログラムメモリ１３には、複数のシーケンスプログラムが格納されており、信号メモリ１４は、各シーケンスプログラム毎に入力信号、出力信号を記憶するＤＩ／ＤＯ信号テーブル等が設けられている。また、ワークＲＡＭ１５には、各シーケンスプログラム毎のスキャンタイム（シーケンスプログラムを１回実行するのに要する時間）、各シーケンスプログラムを実行する１実行周期における各シーケンスプログラムの実行時間割合等が記憶されるようになっている。  
又、バックアップメモリ２０には、予め設定された実行周期における各シーケンスプログラムの実行時間割合を記憶したテーブル等を備えている。
【００１１】
図２は、本発明の第１の実施形態におけるプログラマブルコントローラ１０のプロセッサ１１がＲＡＭ１２に記憶されたシステムソフトウェアに基づいて実行する処理のフローチャートである。  
まず、この第１の実施形態においては、１実行周期における各シーケンスプログラムの実行時間割合を変更するために、各シーケンスプログラムの実行時間割合を変えて、実行時間割合を記憶する複数のテーブルを予めバックアップメモリ２０に設定しておく。例えば、通常はメインのシーケンスプログラムを優先的に実行するために、この実行時間の割合を大きく取り、このメインのシーケンスプログラムが終了した時点で、周辺機器用のシーケンスプログラムの実行時間割合を増加させて、この周辺機器用のシーケンスプログラムの実行を速やかに実行させたいときや、各シーケンスプログラムによる処理が進み、ある段階に達したとき、今までの各シーケンスプログラムの実行時間割合を変えて対処した方が効率的になるような場合、その実行時間割合を記憶したテーブルをバックアップメモリに予め設定記憶させておく。
【００１２】
図３は、３つのシーケンスプログラム１，２，３を実行し、各シーケンスプログラムの実行時間割合を３つの種類に変えるようにするために、予め設定した３つの実行時間割合記憶テーブルＴ１，Ｔ２，Ｔ３の一例を示したものである。この例では、シーケンスプログラム１は、メインのシーケンスプログラムであり、シーケンスプログラム２は、ローダ用のシーケンスプログラム、シーケンスプログラム３は他の周辺機器用のシーケンスプログラムとしている。そして、実行時間割合記憶テーブルＴ１には、メインのシーケンスプログラム１の実行を重視し、実行時間割合を５０％、シーケンスプログラム２の実行時間割合を３０％、シーケンスプログラム３の実行時間割合を２０％と設定し、同様に、シーケンスプログラム１，２，３に対して、テーブルＴ２には、その実行時間割合を５０％，３３％，１７％と設定し、テーブルＴ３には、実行時間割合を２０％，３０％，５０％と設定している。
【００１３】
又、シーケンスプログラムに記述される実行時間割合変更指令としてのビットに対するテーブル実行時間割合記憶テーブルＴ１，Ｔ２，Ｔ３の対応関係を、対応テーブルＴｂとしてバックアップメモリ２０に予め設定記憶させておく。図４が、この対応テーブルＴｂの一例であり、ビットＫ900.0，Ｋ900.1，Ｋ900.2に対してテーブルＴ１，Ｔ２，Ｔ３がそれぞれ対応するものとして設定されている。
【００１４】
そこで、該プログラマブルコントローラ１０に電源が投入されると、バックアップメモリ２０の実行時間割合記憶テーブルＴ１に記憶された各シーケンスプログラムの実行時間割合を読み出し、ワークＲＡＭ１５にコピーする（ステップＳ１）。ワークＲＡＭ１５に各シーケンスプログラムの実行時間割合がコピーされ設定されると、従来と同様にこのワークＲＡＭ１５に記憶された実行時間割合で各シーケンスプログラムを実行させる（ステップＳ２）。その結果、図３に示した例では、テーブルＴ１に設定記憶されていたシーケンスプログラム１，２，３の実行時間割合が５０％，３０％，２０％であることから、図５（ａ）に示すように１実行周期がこの割合で分割されて各シーケンスプログラム１，２，３が実行される。
【００１５】
そして、ビットが立てられ変更になったかを監視する（ステップＳ３）。いずれかのシーケンスプログラムにビットが記述され実行時間割合を変更する指令が読み取られると、そのビットに対応する実行時間割合記憶テーブルＴ１〜Ｔ３が対応テーブルＴｂから選択され、その選択された実行時間割合記憶テーブルの各シーケンスプログラムの実行時間割合がワークＲＡＭ１５にコピーされ変更される（ステップＳ４）。そして、ステップＳ２に戻り、この新たに選択された実行時間割合で各シーケンスプログラムが実行されることになる。
【００１６】
例えば、最初は、先頭の実行時間割合記憶テーブルＴ１が選ばれ、図５（ａ）に示すように、メインのシーケンスプログラム１の実行を重視して該シーケンスプログラム１の実行時間割合を大きくして実行し、該シーケンスプログラム１の１サイクルの処理が終わった後、周辺機器の処理を速やかに実行させたいとして、この周辺機器用のシーケンスプログラム３の実行時間割合を増大させた実行時間割合記憶テーブルＴ３を選択するようにシーケンスプログラム１の最後にビット「Ｋ900.2」を立てるようにプログラムしておく。
【００１７】
そこで、ステップＳ３で、ビット「Ｋ900.2」が立ったことが検出されると、前述したようにビット「Ｋ900.2」に対応する実行時間割合記憶テーブルＴ３が選択され、該テーブルＴ３に設定記憶されている実行時間割合が、ワークＲＡＭ１５にコピーされ各シーケンスプログラムの実行時間割合が変更される。その結果、図５（ｂ）に示すように、１実行周期時間をシーケンスプログラム１，２，３が実行時間割合記憶テーブルＴ３に設定されている２０％，３０％，５０％の実行時間割合で実行されることになり、周辺機器の処理が速やかに実行されることになる。又シーケンスプログラム３の１サイクルの処理が終了し、元のメインシーケンスプログラム１の処理を重視した実行時間割合に戻す場合には、シーケンスプログラム３の最後にビット「Ｋ900.0」を立てるようにプログラムしておけばよい。これによって前述したように、実行時間割合記憶テーブルＴ１に設定記憶されている実行時間割合で、図５（ａ）に示すように各シーケンスプログラムが実行されることになる。
【００１８】
以上のように、各シーケンスプログラムの実行中において、各シーケンスプログラムの実行時間割合を変えて実行した方が、全体の作業動作が効率よく進行するような場合、予め、前述した実行時間割合記憶テーブルＴ１〜Ｔｎ、対象テーブルＴｂを設定しておき、各シーケンスプログラムの実行時間割合を変更する個所のシーケンスプログラムに実行時間割合を変更するビットを立てるようにプログラムしておけば、自由に各シーケンスプログラムの実行時間割合を変更し全体として効率のようシーケンス動作作業を行うことができるものである。
【００１９】
上述した第１の実施形態では、シーケンスプログラムにビットによる実行時間割合変更指令をプログラムすることによって、各シーケンスプログラムの実行時間割合を変更したが、パラメータによって実行時間割合を変更するようにしてもよい。このパラメータによって実行時間割合を変更するする本発明の第２の実施形態においては、対応テーブルＴｂを設定する必要がなく、単に実行時間割合記憶テーブルＴ１〜Ｔｎに各シーケンスプログラムの実行時間割合を設定して記憶するだけでよく、又、シーケンスプログラムでは、パラメータによって、実行時間割合記憶テーブルを指定するようにする。
【００２０】
そして、動作処理としては、図２に示した処理において、ステップＳ３の「ビットが立てられたか」の判断処理が、パラメータによって実行時間割合記憶テーブルが指定変更されたかの処理に代わるのみである。シーケンスプログラム中のパラメータによって実行時間割合記憶テーブルが指定されて変更された場合、この指定変更された実行時間割合記憶テーブルの各シーケンスプログラムの実行時間割合をワークＲＡＭ１５にコピーし、以後、このコピーし変更になった実行時間話割合に基づいて、各シーケンスプログラムが実行されることになる。
【００２１】
図６は、本発明の第３の実施形態におけるシーケンスプログラム実行時間割合変更指令を行う表示器１８における表示画面の説明図である。この第３の実施形態では、操作者が指定する任意の時間にシーケンスプログラムの実行時間割合を変えることができるようにしたものである。  
この第３の実施形態においては、表示器１８に、図６に示す実行時間割合設定画面を呼び出し複数の実行時間割合記憶テーブルに各シーケンスプログラムの実行時間割合を設定しバックアップメモリ２０に設定記憶しておく。そして、実行時間割合を変更するときは、表示器１８にこの実行時間割合設定画面を呼び出し、変更して使用する実行時間割合のテーブルを選択し、そのテーブルを示すテーブル番号を入力設定し、「実行」のソフトウェアウェアキー３０を操作して、選択したテーブル番号をワークＲＡＭ１５にコピーさせる。
【００２２】
一方、プロセッサ１１が実施する実行時間割合変更処理は、図２に示した処理とほぼ同一であり、相違する点は、ステップＳ３おける「ビットが立てられたか」の判断処理が、「実行」のソフトウェアキーが押されたかの判断処理となり、キーが押された場合、その選択されたテーブル番号の実行時間割合記憶テーブルに設定記憶されている各シーケンスプログラムの実行時間割合がワークＲＡＭ１５にコピーされて変更になる（ステップＳ４の処理）点である。他の処理は第１の実施形態と同一である。
【００２３】
この第３の実施形態では、作業員が実行指令を入力したときの次の実行周期からシーケンスプログラムの実行時間割合が変更になって実行されることになり、任意の時点より実行時間割合を変更することができるものである。
【００２４】
図７は、本発明の第４の実施形態において、プロセッサ１１がシステムソフトウェアに基づいて実行する実行時間割合変更処理のフローチャートである。  
この第４の実施形態では、各シーケンスプログラムの実行時間割合を記憶するテーブルが図８に示すように１つしか設けられておらず、１つの実行時間割合テーブルＴのみがバックアップメモリ２０に格納されている。そして、シーケンスプログラムには、シーケンスプログラムの実行時間割合を変更可能な点に実行時間割合変更を指令するビットを立てるようプログラムしておく。
【００２５】
そして、作業員は、シーケンスプログラムの実行時間割合を変更しようとするとき、表示器１８等に、バックアップメモリ２０に設定記憶している実行時間割合テーブルＴを表示し、図８に示すように各シーケンスプログラムの実行時間割合を変更して設定入力する。図８では、シーケンスプログラム１，２，３に対して最初５０％，３０％，２０％と設定されていたものを、２５％，２５％，５０％に変更した例を記している。
【００２６】
一方、プロセッサ１１は、図７の処理を行う。この処理において、ステップ１１，ステップ１２の処理は第１の実施形態のステップ１，ステップ２と同一である。そして、ステップ１３の処理は、ビットの立ち上がりをとらえたならば、バックアップテーブル２０の実行時間割合テーブルＴに記憶する各シーケンスプログラムの実行時間割合をワークＲＡＭ１５にコピーし（ステップ１４）、ステップ１２に戻り、このコピーされた実行時間割合で各シーケンスプログラムが実行されることになる。
【００２７】
よって、シーケンスプログラムでビットが立てられても、実行時間割合テーブルＴの内容、即ち各シーケンスプログラムの実行時間割合が変更されていなければ、元の実行時間割合で実行されることになり、実行時間割合テーブルＴの実行時間割合が変更設定されていたときのみ、実行時間割合が変更されることになる。
【００２８】
図９，図１０は、本発明の第５の実施形態の実行時間割合変更処理と、各シーケンスプログラムの実行処理のフローチャートである。この第５の実施形態では、各シーケンスプログラムの実行時間割合をシーケンスプログラム中のパラメータによって変更するようにしたものである。  
まず、予め実行時間割合がパラメータ設定されており、システムソフトウェアに基づいてプロセッサ１１は図９の処理を実行周期毎実行する。即ち、パラメータ設定された各シーケンスプログラムの実行時間割合を読みだし（ステップ２１）、この読み出した実行時間割合で各シーケンスプログラムを実行する（ステップ２２）。
【００２９】
一方、各シーケンスプログラムの処理では、図１０に示した処理を実行する。シーケンスプログラムの１行を読み（ステップ３１）、実行時間変更指令か否か判断し（ステップ３２）、変更指令でなければ、シーケンスプログラムで指令されたその指令を実行し（ステップ３３）、ステップ３１に戻る。以下これを繰り返し実行する。また、実行時間変更指令である場合、この指令で指定された実行時間割合をパラメータに設定し（ステップ３４）、ステップ３１に戻る。  
その結果、シーケンスプログラムで実行時間割合が変更されると次の実行周期からは、この変更された実行時間割合で各シーケンスプログラムが実行されることになる。
【００３０】
図１１は、本発明の第６の実施形態における実行時間変更指令の表示画面の例を示す図である。この第６の実施形態では、第４の実施形態と同様に、実行時間割合を記憶したテーブルが１つ設けられ、このテーブルに記憶する実行時間割合を変更設定するものである。第４の実施形態では、この実行時間割合の変更をシーケンスプログラムで指令されたビット立ち上げ指令に基づいて行ったが、この第６の実施形態では、作業員の実行指令入力によって行うようにしたものである。
【００３１】
作業員は、図１１に示すように、実行時間割合設定画面を表示してバックアップメモリ２０に記憶されている実行時間割合テーブルＴを読み出し表示し、このテーブルＴに設定されている実行時間割合を変更設定し、実行指令を入力する。これによって、ワークＲＡＭ１５にコピーされる。
【００３２】
一方、プロセッサ１１は、図７に示す処理とほぼ同一の処理で、ステップ１３の処理が、「実行」のソフトウェアキーが押される処理に代わるのみである。即ち、ステップ１３で「実行」のソフトウェアが押されたことが判断されると、ステップ１４で前述した新たにテーブルＴに設定された実行時間割合をワークＲＡＭ１５にコピーして変更し、ステップ１２に戻るから、以後は、新たに設定した実行時間割合で各シーケンスプログラムが実行されることになる。
【図面の簡単な説明】
【００３３】
【図１】本発明の各実施形態を実行するプログラマブルコントローラの要部ブロック図である。
【図２】本発明の第１の実施形態の実行時間割合変更処理のフローチャートである。
【図３】同第１の実施形態における実行時間割合記憶テーブルの例である。
【図４】同第１の実施形態における対応テーブルの一例である。
【図５】同第１の実施形態における各シーケンスプログラムの実行時間割合の変更を説明する説明図である。
【図６】本発明の第３の実施形態における実行時間割合設定画面の説明図である。
【図７】本発明の第４の実施形態における実行時間割合変更処理のフローチャートである。
【図８】同第４の実施形態における実行時間割合記憶テーブルの設定値の変更の説明図である。
【図９】本発明の第５の実施形態における実行周期毎の処理のフローチャートである。
【図１０】同第５の実施形態におけるシーケンスプログラム実行処理のフローチャートである。
【図１１】本発明の第６の実施形態における実行時間割合設定画面の説明図である。
【符号の説明】
【００３４】
１０  プログラマブルコントローラ
Ｔ，Ｔ１，Ｔ２，Ｔ３  実行時間割合記憶テーブル
Ｔｂ  対応テーブル
【図１】
2005084800.tif 000003
【図２】
2005084800.tif 000004
【図３】
2005084800.tif 000005
【図４】
2005084800.tif 000006
【図５】
2005084800.tif 000007
【図６】
2005084800.tif 000008
【図７】
2005084800.tif 000009
【図８】
2005084800.tif 000010
【図９】
2005084800.tif 000011
【図１０】
2005084800.tif 000012
【図１１】
2005084800.tif 000013