(57)【要約】【課題】実行時間がかかるプログラム要素の実行時間を短縮してラダープログラム全体の実行時間の短縮を図る。【解決手段】ラダープログラムを実行するプログラム統括実行部４ｂが複数のプログラム要素を実行していく過程で、プログラム先読み実行部４ａが実行時間がかかるプログラム要素を先読み実行しその実行結果を先読みデータメモリ５ｂに格納し、プログラム統括実行部４ｂはその時間がかかるプログラム要素を実行するに際しては先読みデータメモリ５ｂに格納している当該プログラム要素の実行結果データを用いることでラダープログラム全体の実行時間を短縮する。【選択図】図３
2012093960.tif 000002
【特許請求の範囲】
【請求項１】
ラダープログラムを構成する複数のプログラム要素を格納している第１メモリと、
現在実行中のプログラム要素の後に実行されるプログラム要素の実行結果を格納する第２メモリと、
現在実行中のプログラム要素の後に実行されるプログラム要素が所定以上の実行時間が必要とされるプログラム要素を先読み実行し、その先読み実行の結果を第２メモリに格納するプログラム先読み実行部と、
上記第１メモリからラダープログラムを構成するプログラム要素を順次に読み出して実行するプログラム統括実行部と、
を備え、
上記プログラム統括実行部は、上記先読み実行部が先読みして実行したプログラム要素の実行に際しては上記第２メモリに格納されているデータをそのプログラム要素の実行結果として用いる、ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラムを構成する複数のプログラム要素のうち、実行に時間がかかるプログラム要素を先読みして実行する先読み先行型プログラマブルコントローラに関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、多数の生産機械を制御する制御システムに組み込まれて使用される。プログラマブルコントローラは、当該プログラマブルコントローラ全体を統率して制御するＣＰＵ、ユーザプログラムであるラダープログラムが格納されるプログラムＲＯＭ、ＣＰＵが作業に用いるワークＲＡＭ等のメモリに加えて、各種生産装置や設備装置に取り付けたスイッチやセンサ等の入力機器からの信号を入力したり、アクチュエータ等の出力機器に制御出力を出力したりするＩ／Ｏ部を備える。このＩ／Ｏ部に接続される入力や出力の機器は、ユーザにより、生産機械に合わせて配置され、ユーザ装置を構成する。
【０００３】
このようにプログラマブルコントローラにおいて上記ラダープログラムは、複数のプログラム要素から構成されている。そして、これら複数のプログラム要素の中には浮動小数点等の関数演算や複雑なＰＩＤ演算等のごとく実行結果を得るまでに所定の長い時間がかかるプログラム要素もある。
【０００４】
このような実行に時間がかかるプログラム要素が多数ある場合、プログラマブルコントローラとして制御機械の制御速度が極めて遅くなってしまう。なお、先行技術文献として下記特許文献を示す。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−９５８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明においては、実行時間がかかるプログラム要素については予め先読み実行し、その実行結果を用いることでプログラム実行時間の短縮化を可能としたプログラマブルコントローラを提供するものである。
【課題を解決するための手段】
【０００７】
本発明によるプログラマブルコントローラは、ラダープログラムを構成する複数のプログラム要素を格納している第１メモリと、現在実行中のプログラム要素の後に実行されるプログラム要素の実行結果を格納する第２メモリと、現在実行中のプログラム要素の後に実行されるプログラム要素が所定以上の実行時間が必要とされるプログラム要素を先読み実行し、その先読み実行の結果を第２メモリに格納するプログラム先読み実行部と、上記第１メモリからラダープログラムを構成するプログラム要素を順次に読み出して実行するプログラム統括実行部と、を備え、上記プログラム統括実行部は、上記先読み実行部が先読みして実行したプログラム要素の実行に際しては上記第２メモリに格納されているデータをそのプログラム要素の実行結果として用いる、ことを特徴とする。
【発明の効果】
【０００８】
本発明では、ラダープログラムを実行するプログラム統括実行部が複数のプログラム要素を実行していく過程で、上記先読み実行部が先読みして実行した実行時間がかかるプログラム要素を実行するに際しては第２メモリに格納されているデータをそのプログラム要素の実行結果として用いるようにしたので、そのラダープログラム全体の実行時間を短縮することができるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は本発明の実施形態にかかるプログラマブルコントローラの概略構成を示す図である。
【図２】図２は図１のプログラマブルコントローラが実行するラダープログラムにおける複数のプログラム要素を示す図である。
【図３】図３は図１のプログラマブルコントローラの機能ブロック構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付した図面を参照して、本発明の実施の形態に係る先読み先行型プログラマブルコントローラを詳細に説明する。
【００１１】
図１に実施形態のプログラマブルコントローラを含む制御システム１を示す。制御システム１は、プログラマブルコントローラ２と、ユーザ装置３と、を備える。プログラマブルコントローラ２は、ＣＰＵ４と、メモリ５と、Ｉ／Ｏ部６と、を備える。
【００１２】
ＣＰＵ４は、制御システム１全体を統率して制御し、メモリ５は、ユーザプログラムであるラダープログラム等を格納する。Ｉ／Ｏ部６は、ユーザ装置３からの信号を入力したり、ＣＰＵ４からの制御指令を出力したりする。
【００１３】
ユーザ装置３は、Ｉ／Ｏ機器７と、制御機械８とを含む。Ｉ／Ｏ機器７は、制御機械８に取り付けたスイッチやセンサ等の入力機器や、アクチュエータ等の出力機器により構成される。制御機械８は、各種生産装置や設備装置により構成される。これらＩ／Ｏ機器７は、ユーザにより、制御機械８に合わせて配置される。
【００１４】
以上の構成を備えた制御システム１においてプログラマブルコントローラ２内のＣＰＵ４は、メモリ５に格納されている、図２に示すラダープログラムを実行するようになっている。メモリ５に格納するラダープログラムは多数のプログラム要素から構成されている。そして図２に示す複数のプログラム要素は縦方向の母線と、母線上に横方向に渡される複数の各行（ラング）とを含み、各行でラダープログラムを構成するプログラム要素を構成する。図２を参照してステップｎ１のプログラム要素は入力接点Ｘ１と、出力コイルＹ１とを含む。ステップｎ２のプログラム要素は、浮動小数点等の関数Ｆ１と、出力コイルＹ２とを含む。ステップｎ３のプログラム要素は入力接点Ｘ２と、出力コイルＹ３とを含む。ステップｎ４のプログラム要素は、ＰＩＤ等の関数Ｆ２と、出力コイルＹ４とを含む。
【００１５】
図３にプログラマブルコントローラ２内のＣＰＵ４、メモリ５に対して図２のラダープログラムを実行する場合の機能ブロック構成を示す。
【００１６】
まず、メモリ５は、機能的に、ラダープログラムを構成する複数のプログラム要素を格納しているプログラムメモリ５ａと、現在実行中のプログラム要素の後に実行されるプログラム要素の実行結果を格納する先読みデータメモリ５ｂとを含む。実施形態では一例としてプログラムメモリ５ａには図２のラダープログラムが格納されている。
【００１７】
ＣＰＵ４は、機能的にプログラム先読み実行部４ａと、プログラム統括実行部４ｂとを含む。
【００１８】
プログラム統括実行部４ｂは、図２で示すラダープログラム内のプログラム要素をプログラムメモリ５ａから順次読み出して実行する。この実行は、ユーザ装置３におけるＩ／Ｏ機器７からＩ／Ｏ部６に入力する信号をラダープログラムに基づき処理し、制御機械８を制御する信号をラダープログラムに基づきＩ／Ｏ部６からＩ／Ｏ機器７に出力する。プログラム統括実行部４ｂは以上のようにラダープログラムにおける各プログラム要素を順次に実行処理する。
【００１９】
プログラム先読み実行部４ａは、プログラム統括実行部４ｂにアクセスしてそこでのプログラム要素の実行過程を把握しつつ、プログラムメモリ５ａにアクセスし該プログラムメモリ５ａから現在実行中のプログラム要素の後に実行されるプログラム要素が所定以上の実行時間が必要とされるプログラム要素（先読み対象プログラム要素）かどうかを判断する。
【００２０】
プログラム先読み実行部４ａは、上記判断の結果、現在実行中のプログラム要素の後に実行されるプログラム要素が先読み対象プログラム要素であれば、プログラム統括実行部４ｂがプログラムメモリ５ａから先読み対象プログラム要素を読み出す前にプログラムメモリ５ａから先読みして実行すると共に、その先読み実行の結果を先読みデータメモリ５ｂに格納する。
【００２１】
具体的にプログラム先読み実行部４ａはプログラム統括実行部４ｂでの図２のプログラム実行過程が、現在、ステップｎ１の場合、ステップｎ２のプログラム要素を先読みする。これはステップｎ２にはプログラム実行に時間がかかる関数Ｆ１が存在し、先読み対象プログラム要素に該当するからである。
【００２２】
そして、プログラム先読み実行部４ａは先読みしたステップｎ２のプログラム要素の実行結果を、プログラム統括実行部４ｂがステップｎ２のプログラム要素を実行する以前に、当該先読みデータメモリ５ｂに格納しておく。
【００２３】
プログラム統括実行部４ｂは、ステップｎ２の実行に際しては、プログラム実行に時間がかかる関数Ｆ１が存在すると判断すると、先読みデータメモリ５ｂにアクセスしステップｎ２の実行結果を用いる。
【００２４】
次に、プログラム先読み実行部４ａはプログラム統括実行部４ｂでの図２のプログラム実行過程がステップｎ３の場合、ステップｎ４のプログラム要素を先読みする。これはステップｎ４にはプログラム実行に時間がかかる関数Ｆ２が存在するからである。以降は上記と同様である。
【００２５】
以上のようにして本実施形態では、ラダープログラムを実行するプログラム統括実行部４ｂが複数のプログラム要素を実行していく過程で、上記プログラム先読み実行部４ａが先読みして実行した実行時間がかかるプログラム要素を実行するに際しては先読みデータメモリ５ｂに格納されているデータをそのプログラム要素の実行結果として用いるようにしたので、そのラダープログラム全体の実行時間を短縮することができるようになる。
【符号の説明】
【００２６】
１  制御システム
２  プログラマブルコントローラ
３  ユーザ装置
４  ＣＰＵ
４ａ  プログラム先読み実行部
４ｂ  プログラム統括実行部
５  メモリ
５ａ  プログラムメモリ（第１メモリ）
５ｂ  先読みデータメモリ（第２メモリ）
６  Ｉ／Ｏ部
７  Ｉ／Ｏ機器
８  制御機械
【図１】
2012093960.tif 000003
【図２】
2012093960.tif 000004
【図３】
2012093960.tif 000005