(57)【要約】【課題】プログラマブルコントローラに対してそれに内蔵のＣＰＵの処理能力を超えた速度でシーケンスプログラムの実行を可能とすることである。【解決手段】パーソナルコンピュータ１によりシーケンスプログラムの構成単位であるプログラム処理単位を１つまたは複数ごとにその実行時間をシュミレートし、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類し、上記分類した処理単位に処理速度情報を付加し、処理単位に処理速度情報を付加してあるシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する。そしてプログラマブルコントローラで処理速度情報を参照して処理速度の遅い処理単位を予め他のＣＰＵに転送し、プログラマブルコントローラはシーケンスプログラムの実行に際しては他のＣＰＵに処理速度が遅い処理単位の実行を依頼することによりシーケンスプログラムの実行を分散化しその高速化を可能としている。【選択図】図２
2008234394.tif 000002
【特許請求の範囲】
【請求項１】
パーソナルコンピュータによりシーケンスプログラムの実行時間をシュミレートするシュミレートステップと、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する分類ステップと、上記処理速度で分類した処理単位に処理速度情報を付加する処理速度情報付加ステップと、処理単位に処理速度情報を付加したシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する転送ステップとを実行し、
プログラマブルコントローラにより、上記転送されたシーケンスプログラムの処理単位に付加されている上記処理速度情報を参照して処理速度の遅い処理単位を予め他のＣＰＵに実行依頼してシーケンスプログラムの実行を分散化するステップを実行する、ことを特徴とするプログラマブルコントローラの高速化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラの高速化方法にかかり、より詳しくは、プログラマブルコントローラ（ＰＬＣ）の動作を高速化することができるプログラマブルコントローラの高速化方法に関するものである。
【背景技術】
【０００２】
生産工場等に設置されるファクトリーオートメーション（ＦＡ）の制御装置として、プログラマブルコントローラが用いられている。このプログラマブルコントローラは、複数のユニットから構成される。この複数のユニットとしては、電源ユニット、ＣＰＵユニット、入力ユニット、出力ユニット、通信ユニット等がある。ＣＰＵユニットは、内部にＣＰＵ、Ｉ／Ｏメモリ、プログラムメモリ等を有し、このＣＰＵは、入力ユニットで入力した信号をＩ／Ｏメモリに取り込むＩＮリフレッシュ処理を行い、プログラムメモリ内のシーケンスプログラムに基づき演算実行し、その演算実行結果をＩ／Ｏメモリに書き込んで出力ユニットに送り出すＯＵＴリフレッシュ処理を行い、その後、通信ユニットを介して通信ネットワーク上の他のＰＬＣとデータ送受信を行ったり、ＣＰＵユニットに備えられた通信ポートを介して外部のＰＣ等とデータ送受信などを行ったりする周辺処理を行う一連の処理をサイクリックに繰り返す（例えば特許文献１参照）。入力ユニットにはセンサ等が、出力ユニットにはアクチュエータ等が接続される。センサ等は制御装置の状態をセンシングしその情報を入力ユニットに入力し、アクチュエータ等は出力ユニットからの出力に応答して制御装置を駆動する。
【０００３】
シーケンスプログラムには各種あり、例えばラダー図方式、ステージ方式、ＳＦＣ方式等によるシーケンスプログラムがある。そしてこれらシーケンスプログラムのうち、例えば、ラダープログラムは、ラダー図を用いて作成されるプログラムであり、たとえば、パーソナルコンピュータを用いて作成される。パーソナルコンピュータにおいて作成されたラダープログラムは、パーソナルコンピュータ内でニ−モニックコードに変換され、ニ−モニックプログラムが生成される。
【０００４】
そして、パーソナルコンピュータをプログラマブルコントローラに接続し、ニ−モニックプログラムをパーソナルコンピュータからプログラマブルコントローラに送ると、そのニ−モニックプログラムがプログラマブルコントローラ内でマシンコードに変換され、プログラマブルコントローラ内のプログラムメモリに記憶される。これにより、プログラマブルコントローラは、プログラムメモリ内に記憶されているマシンコードに変換されたプログラムに基づいて制御装置の動作を制御することが可能になる。
【０００５】
以上のプログラマブルコントローラにおいては、その高速化の要求が高まっているが、既存のプログラマブルコントローラでは内蔵ＣＰＵの処理能力に依存しているために、このＣＰＵの処理能力が低い場合では、プログラマブルコントローラの高速化に限界があった。
【特許文献１】特開２００５−２５９０７９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明により解決すべき課題は、プログラマブルコントローラに対してそれに内蔵のＣＰＵの処理能力を超えた速度でシーケンスプログラムの実行を可能とすることである。
【課題を解決するための手段】
【０００７】
本発明によるプログラマブルコントローラの高速化方法は、パーソナルコンピュータによりシーケンスプログラムの実行時間をシュミレートするシュミレートステップと、上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する分類ステップと、上記処理速度で分類した処理単位に処理速度情報を付加する処理速度情報付加ステップと、処理単位に処理速度情報を付加したシーケンスプログラムをパーソナルコンピュータからプログラマブルコントローラに転送する転送ステップとを実行し、プログラマブルコントローラにより、上記転送されたシーケンスプログラムの処理単位に付加されている上記処理速度情報を参照して処理速度の遅い処理単位を予め他のＣＰＵに実行依頼してシーケンスプログラムの実行を分散化するステップを実行することを特徴とするものである。
【０００８】
上記処理単位には関数を含むことができる。
【０００９】
上記他のＣＰＵには上記パーソナルコンピュータ内のＣＰＵや他のプログラマブルコントローラ内のＣＰＵ等を含む。
【００１０】
本発明によると、シーケンスプログラムの処理単位に対して処理速度情報を付けるので、プログラマブルコントローラではパーソナルコンピュータからシーケンスプログラムをダウンロードしそれをメモリに格納する一方で、上記処理速度情報を参照して処理速度が遅い処理単位に対しては予め他のＣＰＵに転送しているので、シーケンスプログラムの実行に際してはその処理速度の遅い処理単位の実行を依頼することができ、これにより、シーケンスプログラムを分散実行することができるようになる結果、プログラマブルコントローラの高速化を図ることができる。
【００１１】
なお、処理速度情報の付加には例えばシーケンスプログラムをパーソナルコンピュータでコンパイルし、このコンパイル後の中間コードやマシンコードに高速化フラグを付加することができる。
【００１２】
上記実行時間の測定方法は特に限定しない。
【発明の効果】
【００１３】
本発明によれば、プログラマブルコントローラの高速化を容易に可能とすることができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラの高速化方法を説明する。図１は、パーソナルコンピュータ１とプログラマブルコントローラ２とのブロック回路を示す。パーソナルコンピュータ１は、ＣＰＵ３、各種のメモリ４、表示部５、入力部６、通信インターフェース７等を有する。プログラマブルコントローラ２は、通信インターフェース８、ＣＰＵ９、各種のメモリ１０、入出力インターフェース１１を備える。プログラマブルコントローラ２は、ユニット別にすると、例えば基本ユニット、入力ユニット、出力ユニット、通信ユニット等とし、基本ユニットをＣＰＵ、システムプログラム格納ＲＯＭ、ユーザプログラムであるシーケンスプログラム格納ＲＡＭ、等で構成し、このＣＰＵではシーケンスプログラムにより入力ユニットから必要な信号を取り込み、所要の演算を行い、結果を出力ユニットに出力する一方、通信ユニットでパーソナルコンピュータ１やその他と通信する構成としてもよい。
【００１５】
パーソナルコンピュータ１において各種メモリ４はシステムメモリや、シーケンスプログラムの格納メモリや外部メモリ、等を含む。表示部５はＣＲＴや、液晶表示装置等の表示部であり、入力部６はキーボードやマウス等である。パーソナルコンピュータ１の詳細な構成は周知であるからその説明は略する。パーソナルコンピュータ１はユーザが作成したユーザプログラムであるシーケンスプログラムを通信インターフェース７を介してプログラマブルコントローラ２に転送するようになっている。
【００１６】
プログラマブルコントローラ２において各種メモリ１０はシステムメモリやシーケンスプログラムメモリや入出力メモリ等を含む。通信インターフェース８は、ＵＳＢ、ＩＥＥＥ１３９４、ＬＡＮ、無線ＬＡＮ等の高速で通信が可能なインターフェースである。プログラマブルコントローラ２は、パーソナルコンピュータ１から転送されるシーケンスプログラムを通信インターフェース８を介してメモリ１０に格納することができるようになっている。プログラマブルコントローラ２はシーケンスプログラムの実行に基づいて入出力インターフェース１１から制御機器を制御する。
【００１７】
以上のパーソナルコンピュータ１やプログラマブルコントローラ２のハードウェア構成は周知であり、詳細な説明は略する。
【００１８】
実施の形態では以下に図２を参照して説明するプログラマブルコントローラ２の高速化方法に特徴を有する。
【００１９】
まず、パーソナルコンピュータ１のＣＰＵ３はユーザにより作成されたシーケンスプログラムをメモリ４に格納する（シーケンスプログラム格納ステップ）。
【００２０】
次いで、パーソナルコンピュータ１のＣＰＵ３はシーケンスプログラムを構成する処理単位ごとに実行時間をシュミレートする（実行時間シュミレートステップ）。この処理単位には関数を含ませることができる。関数は多くの場合、プログラムを構成する要素になっている。実行時間は、例えばプログラムコントローラー２において、使用されるＣＰＵによって実行時間が異なってくるので、パーソナルコンピュータ１上にプログラムコントローラーで既に計測された命令コードの処理時間のデータベースを参照して、その命令コード毎の処理時間を使用してプログラム処理単位毎の処理時間を計算して求める事ができる。もしくは、パーソナルコンピュータ１の上でソフトウエアにエミュレートされたプログラムコントローラー２のＣＰＵで実プログラムをシュミレートし、タイマー等のソフトウエアで計測する事ができる。
【００２１】
パーソナルコンピュータ１のＣＰＵ３は上記シュミレートに従いシーケンスプログラムを処理速度で複数段階の処理単位に分類する（処理速度分類ステップ）。例えばシーケンスプログラムを高速と低速の２段階の処理単位に分類してもよい。
【００２２】
パーソナルコンピュータ１のＣＰＵ３は上記処理速度で分類した処理単位に処理速度情報として高速化フラグを付加する（処理速度情報付加ステップ）。
【００２３】
パーソナルコンピュータ１のＣＰＵ３は上記高速化フラグを付加してあるシーケンスプログラムを通信インターフェース７を介してプログラマブルコントローラ２に転送する（シーケンスプログラム転送ステップ）。
【００２４】
プログラマブルコントローラ２は高速化フラグを参照して自身のメモリ１０に、転送されてきたシーケンスプログラムを書き込むと共にそのシーケンスプログラムにおける処理速度の遅い処理単位を通信インターフェース８を介して予め他のＣＰＵに転送する（処理単位転送ステップ）。当該他のＣＰＵとしてはパーソナルコンピュータ１内のＣＰＵ３や図示略の他のプログラマブルコントローラ内のＣＰＵ等がある。
【００２５】
上記プログラマブルコントローラ２のＣＰＵ９では上記メモリ１０に書き込んであるシーケンスプログラムの実行に際しては他のＣＰＵに処理速度が遅い処理単位の実行を依頼することによりシーケンスプログラムの実行を分散化する（シーケンスプログラム実行ステップ）。
【００２６】
以上からシーケンスプログラムにおける処理がプログラマブルコントローラ２のＣＰＵ９と他のＣＰＵとに分散されて実行されるので、シーケンスプログラムを高速で処理することができ、プログラマブルコントローラ２の高速化が可能となる。
【図面の簡単な説明】
【００２７】
【図１】図１は本発明の実施の形態に係るパーソナルコンピュータとプログラマブルコントローラとのブロック図である。
【図２】図２は実施の形態のプログラマブルコントローラの高速化方法の説明に用いるフローチャートである。
【符号の説明】
【００２８】
１  パーソナルコンピュータ
３  ＣＰＵ
４  メモリ
７  通信インターフェース
２  プログラマブルコントローラ
８  通信インターフェース
９  ＣＰＵ
１０  メモリ
１１  入出力インターフェース
【図１】
2008234394.tif 000003
【図２】
2008234394.tif 000004
【手続補正書】
【提出日】平成19年3月27日(2007.3.27)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2008234394.tif 000005
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2008234394.tif 000006