(57)【要約】【課題】ＰＬＣのＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置を得ること。【解決手段】特殊ユニットの種類と、特殊ユニットのバッファメモリをＣＰＵユニットのメモリ空間に対して割り付けるためのＩ／Ｏ割り付け情報と、特殊ユニットに設定される動作設定値と、を取得する情報取得手段と、情報取得手段が取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報および動作設定値に基づいて特殊ユニットが実行するＩ／Ｏ応答処理を模擬する特殊ユニット模擬装置を作成する作成手段と、を備える。【選択図】        図２
2010102475.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラのＣＰＵユニットの機能を拡張する特殊ユニットであって、ＣＰＵユニットによるＩ／Ｏ要求処理によって要求が書き込まれるとともに、特殊ユニットによるＩ／Ｏ応答処理によって前記書き込まれた要求が読み出され、該読み出された要求に対応する応答が書き込まれるバッファメモリを有する特殊ユニットの前記Ｉ／Ｏ応答処理の際の動作を模擬する特殊ユニット模擬装置を作成する特殊ユニット模擬装置作成装置において、
特殊ユニットの種類と、前記バッファメモリをＣＰＵユニットのメモリ空間に対して割り付けるためのＩ／Ｏ割り付け情報と、前記特殊ユニットに設定される動作設定値と、を取得する情報取得手段と、
前記情報取得手段が取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報および動作設定値に基づいて前記特殊ユニットが実行するＩ／Ｏ応答処理を模擬する特殊ユニット模擬装置を作成する作成手段と、
を備えることを特徴とする特殊ユニット模擬装置作成装置。
【請求項２】
前記ＣＰＵユニットは、要求を算出する演算処理と、前記算出した要求を前記Ｉ／Ｏ割り付け情報を用いて特殊ユニットのバッファメモリに書き込むとともに、前記要求に対応する応答を前記バッファメモリから読み出すＩ／Ｏ要求処理と、をＣＰＵユニットプログラムに基づいて実行し、前記Ｉ／Ｏ要求処理の後、前記読み出した応答に基づいて次の演算処理をさらに実行する、
ことを特徴とする請求項１に記載の特殊ユニット模擬装置作成装置。
【請求項３】
プログラマブルコントローラのＣＰＵユニットの機能を拡張する特殊ユニットに対する要求を算出する演算処理と、前記ＣＰＵユニットが備えるＩ／Ｏ割り付け情報に従って前記特殊ユニットのバッファメモリに前記算出した要求を書き込むとともに、次の演算処理に使用する前記特殊ユニットからの応答を読み出すＩ／Ｏ要求処理と、を実行する前記ＣＰＵユニットの動作を、前記ＣＰＵユニットを動作させるＣＰＵユニットプログラムを実行することによって模擬的に実行するＣＰＵユニットプログラム模擬装置と、
前記特殊ユニットの種類と、前記Ｉ／Ｏ割り付け情報と、前記特殊ユニットに設定される動作設定値と、を取得し、前記バッファメモリに書き込まれた要求を読み出して該読み出した要求に対応する応答を前記バッファメモリに書き込む前記特殊ユニットによるＩ／Ｏ応答処理を模擬する特殊ユニット模擬装置を、前記取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報および動作設定値に基づいて作成する特殊ユニット模擬装置作成装置と、
を備え、
前記ＣＰＵユニットプログラム模擬装置と前記特殊ユニット模擬装置とを動作させる、
ことを特徴とするプログラマブルコントローラ模擬装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラ（以下、ＰＬＣという）のＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置およびＣＰＵユニットプログラムと特殊ユニットの模擬プログラムとを連携させて動作させるプログラマブルコントローラ模擬装置に関するものである。
【背景技術】
【０００２】
ＰＬＣにＰＬＣのＣＰＵユニットの機能を拡張する特殊ユニットが装着されている場合、ＰＬＣのＣＰＵユニットを動作させるＣＰＵユニットプログラムは、特殊ユニットに対して動作を実行させる要求を該特殊ユニットのバッファメモリに書き込む。そして、特殊ユニットは、バッファメモリに書き込まれる要求に基づいて動作し、該要求に対応する応答をバッファメモリに書き込む。そして、ＣＰＵユニットプログラムは、書き込まれた応答に基づいて次の要求を算出する演算を行う。
【０００３】
すなわち、パソコンなどのコンピュータを用いてＣＰＵユニットやＰＬＣ全体の動作を模擬するシミュレーション装置において、模擬対象のＰＬＣが特殊ユニットを有している場合、該特殊ユニットの動作を模擬する必要があった。そのため、プログラマは、ＣＰＵユニットの動作を制御するＣＰＵユニットプログラムとは別に、特殊ユニットの動作を模擬する特殊ユニット模擬プログラムを作成していた。
【０００４】
これに関連して、特許文献１によれば、ＣＰＵユニットから位置決めユニットへ送信する位置決めデータと、位置決めユニットからＣＰＵユニットへ送信する完了データと、の対応を記憶し、該対応を使用して前記バッファメモリを読み書きする位置決めユニットの動作を模擬する技術が開示されている。
【０００５】
【特許文献１】特開２００４−２５８９２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記する特殊ユニット模擬プログラムを作成する方法によると、特殊ユニットの装着位置によって該特殊ユニットのバッファメモリに割り付けられるメモリアドレスが変化するため、装着位置を変更すると、特殊ユニット模擬プログラムも変更する必要があった。また、特殊ユニットの動作は、特殊ユニット毎の動作設定パラメータによって変化するため、動作設定パラメータが変更された際にも特殊ユニット模擬プログラムを変更する必要があった。
【０００７】
上記特許文献１の技術は、装着位置により変化するメモリアドレスや、動作設定パラメータにより変化する特殊ユニットの動作が考慮された技術ではなかった。
【０００８】
本発明は、上記に鑑みてなされたものであって、ＰＬＣのＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置およびＣＰＵユニットプログラムと特殊ユニットの模擬プログラムとを連携させて動作させるプログラマブルコントローラ模擬装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、プログラマブルコントローラのＣＰＵユニットの機能を拡張する特殊ユニットであって、ＣＰＵユニットによるＩ／Ｏ要求処理によって要求が書き込まれるとともに、特殊ユニットによるＩ／Ｏ応答処理によって前記書き込まれた要求が読み出され、該読み出された要求に対応する応答が書き込まれるバッファメモリを有する特殊ユニットの前記Ｉ／Ｏ応答処理の際の動作を模擬する特殊ユニット模擬装置を作成する特殊ユニット模擬装置作成装置において、特殊ユニットの種類と、前記バッファメモリをＣＰＵユニットのメモリ空間に対して割り付けるためのＩ／Ｏ割り付け情報と、前記特殊ユニットに設定される動作設定値と、を取得する情報取得手段と、前記情報取得手段が取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報および動作設定値に基づいて前記特殊ユニットが実行するＩ／Ｏ応答処理を模擬する特殊ユニット模擬装置を作成する作成手段と、を備えることを特徴とする。
【発明の効果】
【００１０】
この発明によれば、ＰＬＣのＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置を得ることができる。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかる特殊ユニット模擬装置作成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態．
まず、理解を助けるために、本発明の実施の形態に関連する実機のＰＬＣシステムの構成について説明する。図１は、実機のＰＬＣシステムを概略的に説明する構成図である。
【００１３】
図１において、ＰＬＣシステム１０００は、バスユニット３に、ＰＬＣシステム１０００全体の動作を制御するＣＰＵユニット１と、特殊ユニット２と、が夫々所定の装着位置に装着された構成となっている。特殊ユニット２は、簡単な演算を行ってＣＰＵユニット１の制御機能を拡張するユニットであって、例えば、アナログ入力ユニット、位置決めユニット、温度入力ユニット、温度調節ユニットなど様々なタイプが存在する。例えば特殊ユニット２が温度調節ユニットである場合は、温度制御ユニットは、ＣＰＵユニット１から外部装置に対して温度を所定の温度にするように要求されると、該所定の温度になるように外部装置に対して温度制御を行う。バスユニット３には、この他に、入力ユニット、出力ユニット、多軸の同期制御を行うモーションコントローラユニットなどが用途に合わせて装着されるが、ここではＣＰＵユニット１および特殊ユニット２以外のユニットについての説明は省略する。
【００１４】
特殊ユニット２は、特殊ユニット２や自ユニット２の制御対象の外部装置に対応して設定される動作設定パラメータ２１１などの特殊ユニットパラメータ２１と、ＣＰＵユニット１から自ユニット２に対する要求が書き込まれるメモリであるバッファメモリ２２を有する。
【００１５】
ＣＰＵユニット１は、特殊ユニット２のバッファメモリ２２に書き込む外部装置に対して動作を行わせる要求を算出する動作を含むＰＬＣシステム１０００全体の制御動作を実現するラダー言語などで記述されるＣＰＵユニットプログラム１１と、特殊ユニット２のタイプや型番など種類を示す特殊ユニット種類情報１２１とＣＰＵユニット１が使用するメモリ空間にバッファメモリ２２を割り付けるＩ／Ｏ割り付け情報１２２とを含むＣＰＵパラメータ１２と、を有する。
【００１６】
ＣＰＵユニットプログラム１１は、特殊ユニット２に対する要求を含む様々な値を算出する演算処理と、該要求を自プログラム１１に記述されるメモリ空間におけるメモリアドレスに書き込み、該要求に対する応答を同様に自プログラム１１に記述されるメモリアドレスから読み出すＩ／Ｏ要求処理と、をＣＰＵユニット１に実行させる。
【００１７】
この要求書き込み先および応答読み出し先のメモリ空間のメモリアドレスは、Ｉ／Ｏ割り付け情報１２２によって、バッファメモリ２２の夫々のメモリアドレスに特殊ユニット２が使用可能に対応づけられている。演算処理により算出され、バッファメモリ２２に書き込まれる要求の形態は特に限定されるものではなく、動作命令、動作命令信号、あるいは特殊ユニット２の動作に関する目標数値（例えば温度調節ユニットの場合、温度に相当）など、特殊ユニット２が解釈して動作することが可能な形態であればどのようなものであってもよい。
【００１８】
特殊ユニット２は、内部に有する特殊ユニット動作プログラムに基づいて、バッファメモリ２２の前記する要求書き込み先のメモリアドレスに書き込まれた要求を解釈して動作し、動作結果を前記する応答読み出し先のメモリアドレスに書き込むＩ／Ｏ応答処理を行う。具体的には、応答とは、例えば、動作完了応答、動作未完了応答、または動作不可能応答などを含む。さらに、特殊ユニット動作プログラムは、バッファメモリ２２に書き込まれた要求を解釈して動作、すなわち制御対象の外部装置を制御するとき、動作設定パラメータ２１１を使用する。動作設定パラメータ２１１とは、既に説明したように、特殊ユニット２および制御対象の外部装置に応じて設定される動作設定値であって、例えば特殊ユニット２が位置決めユニットであった場合、制御対象の駆動軸の速度制限値や加速時間などが設定される。
【００１９】
ＣＰＵユニット１にて実行されているＣＰＵユニットプログラム１１は、Ｉ／Ｏ要求処理において読み出した応答に基づいて次の要求を算出する演算処理を実行する。
【００２０】
このように、ＣＰＵユニットプログラム１１は、特殊ユニット２のＩ／Ｏ応答処理によって得られる応答に基づいて次の演算処理を行うようになっている。したがって、特殊ユニット２を含むＰＬＣシステム１０００のＣＰＵユニットプログラム１１を例えばパソコンなどのコンピュータ上でＣＰＵユニットプログラムシミュレータ（ＣＰＵユニットプログラム模擬装置）を用いて模擬的に実行してデバッグする場合、ＣＰＵユニットプログラム１１のＩ／Ｏ要求処理に対応してＩ／Ｏ応答処理を模擬的に実行する特殊ユニットシミュレータ（特殊ユニット模擬装置）を用意する必要がある。
【００２１】
ところで、Ｉ／Ｏ割り付け情報１２２は、一般的に、特殊ユニット２が装着されるバスユニット３の装着位置毎にバッファメモリ２２を異なるメモリ空間に割り付けるように作成されている。したがって、特殊ユニットシミュレータをコンピュータ上で実現する特殊ユニット模擬プログラムは、バスユニット３の装着位置が変わるごとに書き換えられる必要があった。また、同様に、特殊ユニット２は動作設定パラメータ２１１にも依存した動作を行うので、特殊ユニット模擬プログラムは、動作設定パラメータ２１１が変更されるごとに書き換えられる必要があった。本発明にかかる実施の形態の特殊ユニット模擬装置作成装置は、特殊ユニットの種類と、Ｉ／Ｏ割り付け情報と、動作設定パラメータとを取得し、これらの取得した情報に基づいて自動で特殊ユニット模擬プログラムを作成することが主たる特徴となっている。以下に、本発明にかかる実施の形態の特殊ユニット模擬装置作成装置の詳細を説明する。
【００２２】
図２は、本発明の実施の形態の特殊ユニット模擬装置作成装置の機能構成を説明する図である。なお、以下の説明においては、Ｉ／Ｏ割り付け情報１２２は、バッファメモリ２２の先頭アドレスと割り付け先のメモリ空間における先頭アドレスとを対応づけているとして説明する。すなわち、バッファメモリ２２に割り付けられたメモリ空間における先頭アドレスからの相対アドレスが、バッファメモリ２２の先頭アドレスからの相対アドレスに対応づくようになっている。
【００２３】
図２において、特殊ユニット模擬装置作成装置４は、特殊ユニット種類情報１２１から特殊ユニット１２の種類およびＩ／Ｏ割り付け情報１２２から特殊ユニット１２のバッファメモリ２２の先頭アドレスが割り付けられるメモリ空間における先頭アドレス（以下、先頭アドレス情報という）を取得するとともに、特殊ユニットパラメータ２１から動作設定パラメータ２１１を取得する、情報取得機能４１と、取得した特殊ユニット１２の種類、先頭アドレス情報、および動作設定パラメータ２１１に基づいて特殊ユニット模擬プログラムを作成する機能を構成する特殊ユニット模擬プログラムテンプレート作成機能４２およびデフォルト値変更機能４３と、を有する。
【００２４】
特殊ユニット模擬プログラムテンプレート作成機能４２は、取得した特殊ユニット１２の種類から、該種類に対応した特殊ユニット模擬プログラムのテンプレート、すなわち、プログラム中に含まれるメモリ空間のメモリアドレスおよび動作設定パラメータに仮の値（デフォルト値）が使用されている、特殊ユニット１２の動作パターンのみを記述する特殊ユニット模擬プログラムテンプレートを作成する。デフォルト値変更機能４３は、作成した特殊ユニット模擬プログラムテンプレートに使用されているデフォルト値を、取得した先頭アドレス情報および動作設定パラメータ２１１に基づいて変更し、特殊ユニット模擬プログラムを完成する。
【００２５】
ここで、特殊ユニット模擬装置作成装置４は、コンピュータ上で情報取得機能４１、特殊ユニット模擬プログラムテンプレート作成機能４２、およびデフォルト値変更機能４３を実現するプログラムであってよい。また、特殊ユニット模擬装置作成装置４は、ＰＬＣシステム１０００のＣＰＵパラメータ１２および特殊ユニットパラメータ２１から特殊ユニットの種類などの情報を直接に取得するようにする必要はなく、例えば、予めユーザがフロッピー（登録商標）ディスクやハードディスクなどの記憶媒体にＣＰＵパラメータ１２および特殊ユニットパラメータ２１を格納し、特殊ユニット模擬装置作成装置４は、該記録媒体から該当する情報を読み出すようにしてもよい。
【００２６】
次に、本実施の形態の特殊ユニット模擬装置作成装置４の動作を説明する。図３は、特殊ユニット模擬装置作成装置４の動作を説明するフローチャートである。
【００２７】
図３において、まず、情報取得機能４１がＣＰＵパラメータ１２から特殊ユニットの種類と先頭アドレス情報とを取得する（ステップＳ１）。そして、特殊ユニット模擬プログラムテンプレート作成機能４２は、取得した特殊ユニットの種類から、その種類の特殊ユニットに対応する特殊ユニット模擬プログラムテンプレートを作成する（ステップＳ２）。そして、デフォルト値変更機能４３は、取得した先頭アドレス情報に基づいて、特殊ユニット模擬プログラムテンプレートに使用されているメモリアドレスのデフォルト値を変更する（ステップＳ３）。そして、情報取得機能４１は、さらに特殊ユニットパラメータ２１から動作設定パラメータ２１１を取得する（ステップＳ４）。そして、デフォルト値変更機能４３は、取得した動作設定パラメータ２１１に基づいて、特殊ユニット模擬プログラムテンプレートに使用されている動作設定パラメータのデフォルト値を変更する（ステップＳ５）。
【００２８】
図４は、特殊ユニット模擬プログラムに使用されている動作設定パラメータの具体例を示す図である。図４において、矩形で囲まれている部分の値は、特殊ユニット毎に設定される動作設定パラメータであるが、動作設定パラメータ２１１を取得する前の特殊ユニット模擬プログラムテンプレートにおいては、図４に示す値とは異なる、例えば全て０などのデフォルト値を使用している。ステップＳ５においては、このデフォルト値が、取得した動作設定パラメータに基づいて変更される。
【００２９】
このようにして特殊ユニット模擬プログラムが自動で作成される。作成された特殊ユニット模擬プログラムは、コンピュータ上で実行されることにより、ＣＰＵユニットプログラムシミュレータが行うＩ／Ｏ要求処理に対応するＩ／Ｏ応答処理を行う特殊ユニットシミュレータを実現する。すなわち、作成された特殊ユニット模擬プログラムは、ＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する。また、ＣＰＵユニットプログラムシミュレータと特殊ユニットシミュレータとを同時に動作させると、ＣＰＵユニットプログラムシミュレータからのＩ／Ｏ要求処理に対応して特殊ユニットシミュレータがＩ／Ｏ応答処理を実行するので、ＣＰＵユニットプログラムの動作を含むプログラマブルコントローラの動作を模擬的に実行することができるようになる。
【００３０】
ところで、以上の説明においては、特殊ユニット模擬プログラムを作成する際、特殊ユニット模擬プログラムテンプレート作成機能４２が特殊ユニット模擬プログラムテンプレートを作成した後、デフォルト値変更機能４３が該テンプレートにデフォルト値として使用されているメモリアドレスおよび動作設定パラメータを変更するとして説明したが、特殊ユニット模擬プログラムを作成するための機能構成および手順はこれに限定されるものではなく、取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報、および動作設定パラメータに基づいて特殊ユニット模擬プログラムを作成するように構成されていればどのようなものであってもよい。
【００３１】
このように、本実施の形態によれば、特殊ユニットの種類と、Ｉ／Ｏ割り付け情報と、動作設定パラメータとを取得し、取得した特殊ユニットの種類、Ｉ／Ｏ割り付け情報、および動作設定パラメータに基づいて特殊ユニット模擬プログラムを作成するようにしたので、ＰＬＣのＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置を得ることができる。
【産業上の利用可能性】
【００３２】
以上のように、本発明にかかる特殊ユニット模擬装置作成装置およびプログラマブルコントローラ模擬装置は、プログラマブルコントローラのＣＰＵユニットのＣＰＵユニットプログラムと連携して動作する特殊ユニットの模擬プログラムを特殊ユニットの各種設定を加味して作成する特殊ユニット模擬装置作成装置およびＣＰＵユニットプログラムと特殊ユニットの模擬プログラムとを連携させて動作させるプログラマブルコントローラ模擬装置に適用して好適である。
【図面の簡単な説明】
【００３３】
【図１】ＰＬＣシステムの構成を示す図である。
【図２】本実施の形態の特殊ユニット模擬装置作成装置の機能構成を示す図である。
【図３】本実施の形態の特殊ユニット模擬装置作成装置の動作を説明するフローチャートである。
【図４】特殊ユニット模擬プログラムに使用されている動作設定パラメータの具体例を示す図である。
【符号の説明】
【００３４】
１  ＣＰＵユニット
２  特殊ユニット
３  バスユニット
４  特殊ユニット模擬装置作成装置
１１  ＣＰＵユニットプログラム
１２  ＣＰＵパラメータ
２１  特殊ユニットパラメータ
２２  バッファメモリ
４１  情報取得機能
４２  特殊ユニット模擬プログラムテンプレート作成機能
４３  デフォルト値変更機能
１２１  特殊ユニット種類情報
１２２  Ｉ／Ｏ割り付け情報
２１１  動作設定パラメータ
１０００  ＰＬＣシステム
【図１】
2010102475.tif 000003
【図２】
2010102475.tif 000004
【図３】
2010102475.tif 000005
【図４】
2010102475.tif 000006