"プログラマブルコントローラで実行させる任意の制御プログラムと外部機器の動作を模擬する任意の模擬プログラムとを実行するシミュレータ手段と、任意の模擬画面を表示する模擬画面表示手段と、予め作成されている、各種外部機器に対応する複数の前記模擬プログラムが記憶された模擬プログラム群格納手段と、予め作成されている、前記各種外部機器に対応する複数の前記模擬画面が記憶された模擬画面群格納手段と、前記各種外部機器の識別情報に対応付けて、その外部機器に対応する前記模擬プログラムの識別情報と前記模擬画面の識別情報とが登録された管理情報を記憶する管理情報記憶手段と、ユーザに任意のデータを入力させることで、または前記プログラマブルコントローラから取得した所定のデータに基づいて、前記プログラマブルコントローラに接続されている1以上の前記外部機器に関する定義データを生成する定義データ生成手段と、前記管理情報と前記定義データとに基づいて、前記プログラマブルコントローラに接続されている1以上の前記外部機器に対応する前記模擬プログラムと前記模擬画面とを示すシミュレーション情報を生成するシミュレーション情報生成手段とを有し、該シミュレーション情報が示す模擬プログラム/模擬画面を、前記シミュレータ手段/前記模擬画面表示手段で実行/表示させることを特徴とするプログラミング装置。前記シミュレーション情報生成記憶手段は、前記プログラマブルコントローラに接続されている外部機器毎にフォルダを生成して、該フォルダにその外部機器に対応する前記模擬プログラムと前記模擬画面とを格納したものを前記シミュレーション情報に基づいて生成し表示することを特徴とする請求項1記載のプログラミング装置。前記シミュレーション情報が示す模擬プログラムを、前記模擬プログラム群格納手段から取得して前記シミュレータ手段にダウンロードすることで、該模擬プログラムを該シミュレータ手段で実行させるダウンロード手段を更に有することを特徴とする請求項1記載のプログラミング装置。シミュレーション装置のコンピュータを、予め各種外部機器毎に対応して作成されている、外部機器の動作を模擬する模擬プログラムが記憶された模擬プログラム群格納手段と、予め各種外部機器毎に対応して作成されている、外部機器の入出力を模擬する模擬画面が記憶された模擬画面群格納手段と、前記各種外部機器の識別情報に対応付けて、その外部機器に対応する前記模擬プログラムの識別情報と前記模擬画面の識別情報とが登録された管理情報を記憶する管理情報記憶手段と、ユーザに任意のデータを入力させることで、または前記プログラマブルコントローラから取得した所定のデータに基づいて、プログラマブルコントローラに接続されている1以上の前記外部機器に関する定義データを生成する定義データ生成手段と、前記管理情報と前記定義データとに基づいて、前記プログラマブルコントローラに接続されている1以上の前記外部機器に対応する前記模擬プログラムと前記模擬画面とを示すシミュレーション情報を生成するシミュレーション情報生成手段と、前記プログラマブルコントローラで実行させる任意の制御プログラムと、前記シミュレーション情報が示す模擬プログラムとを実行するシミュレータ手段と、前記シミュレーション情報が示す模擬画面を表示する模擬画面表示手段、として機能させる為のプログラム。1制御システムのPLCプログラムを開発する場合、対象となる制御システムを模擬した実機デバッグシステムによって、プログラムのデバッグを行うが制御システムの規模が大きくなると下記の問題が発生する。実機デバッグシステムを製作するコストが大きくなる。製作に時間が掛かり、デバッグ期間が長くなってしまう。実機デバッグシステムのサイズが大きくなり、デバッグスペースの確保が困難となる。2実機デバッグシステムを利用できない場合、実際の制御システムでデバッグを行う必要があるが、下記の問題が発生する。実際の制御システムが出来るまでデバッグできないので、全体の開発期間が長くなってしまう。あまりデバッグされていないプログラムを、実際の制御システムで動作させるので、危険度が高くなる。3シミュレーション機能を使ってデバッグする場合、下記の問題が生じる。ユーザが外部機器の模擬動作プログラムと模擬画面を作成する必要があるので、この作成期間によりデバッグ期間が長くなる。上記模擬動作プログラム等の作成を行うユーザは、外部機器の動作仕様と入出力仕様を理解する必要があり、理解する為に要する時間の分だけデバッグ期間が長くなる。現状では、上記シミュレーション機能を使ってデバッグする方法が望ましい方法であるが、上述した問題がある。本発明の課題は、ユーザが模擬動作プログラムと模擬画面を作成する必要がなく、更に必要な模擬動作プログラムと模擬画面をデータベースから探す必要もなく、以ってデバッグ時間を短縮できるプログラミング装置等を提供することである。本発明のプログラミング装置は、プログラマブルコントローラで実行させる任意の制御プログラムと外部機器の動作を模擬する任意の模擬プログラムとを実行するシミュレータ手段と、任意の模擬画面を表示する模擬画面表示手段と、予め作成されている、各種外部機器に対応する複数の前記模擬プログラムが記憶された模擬プログラム群格納手段と、予め作成されている、前記各種外部機器に対応する複数の前記模擬画面が記憶された模擬画面群格納手段と、前記各種外部機器の識別情報に対応付けて、その外部機器に対応する前記模擬プログラムの識別情報と前記模擬画面の識別情報とが登録された管理情報を記憶する管理情報記憶手段と、ユーザに任意のデータを入力させることで、または前記プログラマブルコントローラから取得した所定のデータに基づいて、前記プログラマブルコントローラに接続されている1以上の前記外部機器に関する定義データを生成する定義データ生成手段と、前記管理情報と前記定義データとに基づいて、前記プログラマブルコントローラに接続されている1以上の前記外部機器に対応する前記模擬プログラムと前記模擬画面とを示すシミュレーション情報を生成するシミュレーション情報生成手段とを有し、該シミュレーション情報が示す模擬プログラム/模擬画面を、前記シミュレータ手段/前記模擬画面表示手段で実行/表示させる。上記プログラミング装置では、各種外部機器に応じた模擬プログラムや模擬画面が、予め作成されてデータベースに記憶されている。よって、ユーザは、模擬プログラムや模擬画面を作成する必要はない。更に、上記プログラミング装置では、プログラマブルコントローラに接続されている1以上の外部機器に対応する模擬プログラムや模擬画面を示すシミュレーション情報を生成する。よって、ユーザは、プログラマブルコントローラに対する現在の外部機器の接続状況に応じて該当する模擬プログラム等をデータベースから探す作業等も、行う必要がない。本発明のプログラミング装置等によれば、ユーザが模擬動作プログラムと模擬画面を作成する必要がなく、更に必要な模擬動作プログラムと模擬画面をデータベースから探す必要もなく、以ってデバッグ時間を短縮できる。また、ユーザの作業負担を軽減できる。以下、図面を参照して本発明の実施の形態について説明する。図1は、本例のPLCシステムのシステム構成図である。図示のPLCシステムは、プログラミング装置10、プログラマブルコントローラ50、各種外部機器22a、2b、2c等を有する。プログラミング装置10とプログラマブルコントローラPLC50は、信号線1に接続しており、信号線1を介して相互に通信可能である。但し、図示の例は、例えばプログラミング装置10からプログラマブルコントローラ50へ新たなユーザプログラム制御プログラムをダウンロードするときの状態等を示していると考えても良い。それ以外のときは、必ずしも信号線1に接続している必要はない。すなわち、プログラミング装置10は、信号線1に接続していない状態で単独で後述するユーザプログラムの生成やデバッグ等に係る処理を実行しても構わない。プログラマブルコントローラPLC50は、特に図示しないがCPU/MPU等の演算処理プロセッサや各種メモリやI/O入出力インタフェース等を備えており、メモリにはユーザプログラム51等が格納される。不図示の演算処理プロセッサは、このユーザプログラム51を実行することで、各種外部機器22a,2b,2c等を制御する。これは、換言すれば、PLC50は、上記CPU/MPU等がユーザプログラム51を実行することで、不図示の制御機能部を実現するものと言うこともできる。尚、各種メモリとしてはデータメモリ52、I/Oメモリ53等もある。PLC50と各種外部機器22a,2b,2c等は、I/Oバス3に接続しており、I/Oバス3を介して通信可能となっている。上記制御機能部による各種外部機器22a,2b,2c等の制御の際には、制御機能部と各外部機器2a,2b,2c等との入出力データ交換が行われる。制御機能部と各外部機器2a,2b,2c等との入出力データ交換は、I/Oメモリ53を介して行われる。プログラミング装置10は、例えば、CPU中央演算処理装置11、システムメモリ12、システムプログラムメモリ13、入力装置14、表示器15、I/O入出力インタフェース16等を有し、これらが共通バス17に接続された構成である。入力装置14は、例えばキーボード、マウス、タッチパネル等である。表示器は、例えば液晶ディスプレイ等である。CPU11は、システムプログラムメモリ13に予め記憶されているシステムプログラムアプリケーションプログラム等を実行することで、ユーザプログラム制御プログラムの作成支援、PLC50へのユーザプログラム等のダウンロード処理、PLC50の動作中のモニタ処理等の既存の処理を行う。CPU11は、更に、本例のシミュレーション支援デバッグ支援に係る処理例えば後述する図2の画面表示、モニタ、編集等の処理を実行する。この処理不図示のモニタ制御機能部の処理は、例えば、システムプログラムメモリ13またはシステムメモリ12に格納されている不図示のアプリケーションプログラムを読出し実行することにより実現される。また、CPU11は、更に、プロジェクトデータ30を生成する処理を実行するものであってもよい。この処理不図示のプロジェクトデータ生成機能部の処理は、例えば、システムプログラムメモリ13またはシステムメモリ12に格納されている不図示のアプリケーションプログラムを読出し実行することにより実現される。尚、上記不図示のプロジェクトデータ生成機能部は、特にシステム定義データ31やシミュレーション情報32を生成するものであり、不図示のシステム定義データ生成機能部、シミュレーション情報生成機能部を含むものと見做すこともできる。システムメモリ12には、PLC50のプログラムの開発に係わる各種データの集合体であるプロジェクトデータ30を格納する記憶領域がある。プロジェクトデータ30は、システム定義データ31、シミュレーション情報32、ユーザプログラム33、模擬画面34、模擬プログラム35等である。システム定義データ31は、PLC50に接続する外部機器22a,2b,2c等の構成を定義するデータである。システム定義データ31は、例えば後述するように、ユーザが任意に入力定義するが、この例に限らない。シミュレーション情報32は、外部機器2のシミュレーション模擬動作等に係るデータである。このシミュレーション情報32によって、後述するシミュレータ40で実行させる模擬プログラム44や模擬画面34等が決定されることになる。このシミュレーション情報32は、後述する図7の処理によって自動的に生成される。詳しくは後述する。ユーザプログラム33は、PLC50で実行させる、外部機器2等の制御を行うための制御プログラムである。この様な制御プログラムは、ユーザ側で任意に作成/更新されるものである為、ユーザプログラムと呼ばれている。プログラミング装置10は、ユーザに任意のユーザプログラム33を作成させる為のユーザプログラム作成支援機能不図示も有していてもよいが、これは既存の一般的な機能であり、ここでは特に説明しない。模擬画面34は、外部機器22a,2b,2c等への入力信号含む入力データ、外部機器2からの出力信号含む出力データを模擬する画面の画面データである。模擬画面34によって表示器15に表示される画面の一例は、図2に示し、後に説明する。ここでは簡単に説明するならば、模擬画面34は、例えば不図示のスイッチやランプ、データ入力部、データ出力部等から成る。ユーザが任意のスイッチ等を操作したりデータ入力部で所望の数値を入力することで、外部機器2の模擬動作に対する所望の指示/入力を行うことができる。また、外部機器の模擬動作に応じた外部機器2の模擬的な状態等例えば温度やON/OFF状態等を示す情報が、ランプやデータ出力部に表示される。これらの入出力は、例えば、データメモリ42やI/Oメモリ43に対するデータリード/ライトにより実現される。模擬プログラム模擬動作プログラム35は、外部機器の動作を模擬するプログラムである。ここで、従来でも、上記模擬プログラムや模擬画面を用いたユーザプログラムのシミュレーションは、行われていた。但し、既に述べたように、ユーザプログラムだけでなく、模擬プログラムや模擬画面までもユーザ側で作成していた為、ユーザ側の負担が大きかった。これに対して、本例では、上記模擬プログラムや模擬画面を、多数、予め作成してある。すなわち、PLC50に接続し得る各種外部機器22a,2b,2c等だけでなく、未接続の他の外部機器も存在する毎に、その動作を模擬する模擬プログラムやその入力/出力を模擬する模擬画面を、予め例えばシステム開発者側等で作成している少なくともユーザ側では作成しない。そして、これら作成してある各模擬プログラムや模擬画面を、これらの管理テーブル後述すると共に、予めシステムメモリ12のシミュレーション情報DB12bに格納してある。これは、例えば外部機器が100種類ある場合には、100種類の模擬プログラム及び模擬画面データが、シミュレーション情報DB12bに登録されていることになる。また、システムメモリ12には、ユーザプログラムの動作と外部機器の動作をシミュレートするシミュレーション装置としての機能を実現させるプログラムであるシミュレータ40も格納されている。但し、本説明では、シミュレータ40は、この様なプログラムをCPU11が実行することで実現されるシミュレーション機能部と見做すものとする。シミュレータ40は、PLC50の動作と外部機器22a,2b,2c等の動作を模擬する。その為に、シミュレータ40は、PLC50のデータメモリ52、I/Oメモリ53に相当するデータメモリ42、I/Oメモリ43を保持すると共に、PLC50に新たにダウンロードすべきユーザプログラムと同じユーザプログラム41を、実行するものである。更に、PLC50に接続されている各外部機器の動作を模擬する模擬プログラム44を、実行するものである。また、上記不図示のモニタ制御機能部は、シミュレータ40を実行中に、上記表示器15上にユーザインタフェース画面60を表示する例えば模擬画面34やデータメモリ42やI/Oメモリ43の内容を表示する。詳しくは後述する。尚、このモニタ制御機能部の機能は、シミュレータ40が有するものとしてもよい。ここで、既に述べたように、本例では、PLC50に接続し得る各種外部機器2の模擬プログラムや模擬画面が、予めシミュレーション情報DB12bに格納されている。例えば、外部機器2が、図示の外部機器2a,2b,2cだけでなく、更に外部機器2d,2e,2f2r、2s2x、2y、2zがあり、このなかで現在PLC50に接続されている外部機器2が図示の外部機器2a,2b,2cだけであるものとする。この例の場合、シミュレーション情報DB12bには、外部機器2a~2zの各外部機器2毎に、それに対応する模擬プログラムや模擬画面が格納されていることになる。そして、例えば、上記不図示のプロジェクトデータ生成機能部が、ユーザに任意の入力を行わせてシステム定義データ31を生成記憶したり、このシステム定義データ31等に基づいてシミュレーション情報32を生成記憶する。そして、不図示のプロジェクトデータ生成機能部は、例えば更に、シミュレーション情報32に基づいて、シミュレーション情報DB12bから該当する模擬プログラムや模擬画面を取得して、これらを図1に示す模擬プログラム35、模擬画面34として記憶する処理も行うようにしてもよい。尚、ユーザプログラム33は、上記のように別途作成されて記憶されているものとする。また、上記不図示のモニタ制御機能部は、例えば更に、シミュレーション実行時には、シミュレータ40を起動すると共に、模擬プログラム35、ユーザプログラム33等を、シミュレータ40にダウンロードするダウンロード機能部も備えていてもよい。シミュレータ40は、これらダウンロードされた模擬プログラム35、ユーザプログラム33等を、図1に示す模擬プログラム44、ユーザプログラム41として保持する。そして、シミュレータ40は、これら模擬プログラム44、ユーザプログラム41を実行することで、ユーザプログラム4133のシミュレーションを実行し、以ってユーザにデバック作業を行わせる。尚、既に述べたように、模擬画面の表示もシミュレータ40が行うようにしてもよく、この場合には模擬画面34もシミュレータ40にダウンロードされて保持実行表示されることになる。本手法の主な特徴は、上記のように、予め全ての外部機器2に対応する模擬プログラムや模擬画面をシステム開発者側で作成しておくと共に、これらをシミュレーション情報DB12bに格納しておくこと、及び現在の外部機器のPLCへの接続状況に応じたプロジェクトデータ30を、自動的に作成することである。この様なプロジェクトデータが作成されることで、上述したように、現在PLC50に接続されている外部機器2に対応する模擬プログラムの実行や模擬画面の表示が行われつつ、デバッグ対象であるユーザプログラム4133が実行されることになる。尚、上記模擬プログラム44、ユーザプログラム41実行時のこれらプログラム間のデータ入出力は、実機におけるデータメモリ52、I/Oメモリ53と同様、シミュレータ40内のデータメモリ42、I/Oメモリ43を介して行われる。これより、ユーザプログラム41や模擬プログラム44の動作のモニタリング後述するユーザインタフェース画面60の表示等は、例えば、シミュレータ40内のデータメモリ42とI/Oメモリ43のデータをモニタすることで実現する。ユーザは、入力装置14を操作することで、CPU11に対する様々な動作指示や、任意のユーザプログラム作成を行える。ユーザプログラムは、既存のユーザプログラム作成支援画面不図示上で、一般的なPLCプログラム言語であるラダー言語やST言語StructuredText等を用いて作成される。そして、上記ユーザプログラム33として記憶され、上記シミュレータ40によるシミュレーション等によってデバッグが行われた後、PLC50にダウンロードされることになる。また、ユーザは、入力装置14を操作することで、後述するシステム定義データの入力等を行う。また、ユーザは、入力装置14を操作することで、例えば、後述する図2に示す画面上で、ユーザプログラムや模擬プログラムや模擬画面の修正/変更等を行うこともできる。表示器15は、例えば後述する図2に示す画面60や、既存のユーザプログラム作成支援画面不図示等の各種画面を表示するディスプレイである。図2の画面60については後に説明する。I/O入出力インタフェース16は、信号線1に接続しており、プログラミング装置10がPLC50との通信を行えるようにするインタフェースである。プログラミング装置10はそのCPU11等は、I/O入出力インタフェース16、信号線1を介して、PLC50へ新たなユーザプログラムをダウンロードする。これは、例えば、プロジェクトデータのユーザプログラム33を、PLC50へダウンロードするものである。これによって、PLC50が保持するユーザプログラム51は、当該新たなユーザプログラム33に更新される。但し、本手法では、ダウンロード前に、シミュレータ40等によって上記新たなユーザプログラム33の動作をチェックして、問題ないことを確認する。尚、既に述べた通り、必ずしもI/O入出力インタフェース16が信号線1に接続しているものではない。例えば、シミュレータ40によるシミュレーション動作時には、プログラミング装置10は、PLC50の設置場所とは異なる場所に存在するかもしれないよって、信号線1に接続することはできない。また、尚、プログラミング装置10は、所謂プログラマブル表示器としての機能も備えるものであってもよい。この場合には、不図示の操作監視画面上記模擬画面であってもよい上で、ユーザが任意のスイッチ操作等を行うことで、PLC50に対する動作指示が、I/O入出力インタフェース16と信号線1を介してPLC50へ送信されることになる。尚、模擬画面3464は、プログラマブル表示器の一般的な操作表示画面を模擬するものと見做してもよい。すなわち、基本的には、模擬画面3464は上記操作表示画面と同じであってよく、違いとしては、操作表示画面は実機のデータメモリ52、I/Oメモリ53に対してリード/ライトを行うのに対して、模擬画面3464はシミュレータ40のデータメモリ42、I/Oメモリ43に対してリード/ライトを行うものと考えてもよい。図2は、上記表示器15上に表示されるユーザインタフェース画面60の一例である。この画面60は、シミュレータ40によるシミュレーションを実行前、実行中等に表示させるものである。図示の例のユーザインタフェース画面60は、プロジェクトビュー61、ユーザプログラム表示領域62、模擬プログラム表示領域63、模擬画面表示領域64等から成る。プロジェクトビュー61は、プロジェクトデータ30特にシステム定義データ31やシミュレーション情報32を、アイコンと文字列で表現した表示を行う、プロジェクトデータ全体の状態を管理するためのウィンドウである。プロジェクトビュー61には、システム定義情報61aやシミュレーション情報61b等が表示される。これらは、上記システム定義データ31やシミュレーション情報32が、予め設定されている所定のアイコン等と共に表示される。ここで、システム定義情報61a上の所定のアイコン特に図示説明はしないを選択して開くと、別ウィンドウが表示されて編集を行うことが可能となる。また、シミュレーション情報61bに関しても同様に、シミュレーション情報61bの表示を行うだけでなく、新規データの登録や既存データの削除等の編集作業を、ユーザが任意に行うことができる。但し、既に述べた通り、シミュレーション情報32は自動的に生成されるものであり、その表示を見てユーザが任意の編集を行うことも出来るというものである。これについて、システム定義情報61aを例にして、図3に別ウィンドウの一例を示して説明するものとする。図3a~cは、上記別ウィンドウの一例である。上記システム定義情報61a上の所定のアイコンを選択して開くと、まず、図3aに示す別ウィンドウ70が表示される。この別ウィンドウ70には、上記システム定義データ31が図示のように所定のアイコン等と共にツリー表示されると共に、図示の挿入ボタン71等の各種機能ボタンが表示される。そして、例えば、ユーザが、上記入力装置14を操作して、上記ツリー表示されるアイコンデータのうち、図示のサーボに関するアイコンデータをクリックすると共に、上記挿入ボタン71を操作したものとする。尚、これは、図示のサーボの下に新たなデータを追加したい場合の操作である。この操作に応じて、例えば図3bに示すようなモジュール挿入ダイアログ80が表示される。このモジュール挿入ダイアログ80には、局番選択領域81、モジュール属性選択領域82、モジュール種別選択領域83、名称入力領域84、仕様選択領域85等がある。ユーザは、上記入力装置14を操作して、この様なモジュール挿入ダイアログ80上で所望の入力選択を行う。図示の例では、局番選択領域81では局番=‘2’、モジュール属性選択領域82では個別モジュール、モジュール種別選択領域83ではインバータ、仕様選択領域85ではVG7Sが、ユーザによって選択されている。また、ユーザは、名称入力領域84において任意の名称外部機器2を入力している。これは、例えば、後述するフォルダ名をユーザが任意に付けることができることを意味している。ユーザがモジュール挿入ダイアログ80上で上記選択入力を行ったうえで図示のOKボタンを操作することで、図3cに示すように、別ウィンドウ70上には、新たなデータが追加された新たなシステム定義データ31に応じたツリー表示が成されることになる。尚、新たなデータは、図示のようにサーバのデータの下に追加されたインバータ;SX局番-2;外部機器2;VG7Sである。尚、もしモジュール属性選択領域82においてベースボード集合形モジュールが選択されていた場合には、この新データは図示のCPUのデータの下に追加されることになる。図2の説明に戻る。ユーザプログラム表示領域62には、上記ユーザプログラム4133が表示される。ユーザプログラム4133は、上記の通り、PLC50で実行させる制御プログラムであり、不図示の別画面制御プログラム作成画面上でラダー図やST等を用いてユーザが任意に作成/編集したものである。また、表示するだけでなく、上記制御プログラム作成画面と同様の機能により、ユーザプログラム41の修正をユーザが任意に行うこともできる。また、ユーザプログラム41の実行中には、現在の実行状況を示す表示等を行うこともできる。これらの機能は、既存の機能であり、これ以上詳細には説明しないものとする。模擬プログラム表示領域63には、上記模擬プログラム4435が表示される。模擬プログラム4435は、上記の通り、PLC50による現在の制御対象である各外部機器2の動作を模擬するプログラムであり、従来ではユーザ側で作成する必要があった。これに対して、本システムでは、予めシステム開発者側で作成されて記憶されている模擬プログラムのなかから、現在PLC50に接続されている各外部機器2に対応する模擬プログラムが、ほぼ自動的に選択されて上記模擬プログラム35として記憶されている。そして、模擬プログラム35は、シミュレーション実行時には、シミュレータ40にダウンロードされて実行されると共に、模擬プログラム表示領域63に表示されることになる。よって、ユーザによる模擬プログラム等の作成や選択の手間が掛からず、ユーザの負担を軽減でき、以ってデバッグ時間を短縮できる。また、模擬プログラム表示領域63上では、模擬プログラム4435の表示だけでなく、編集追加、修正、一部削除等をユーザが任意に行うこともできる。また、模擬プログラム44の実行中には、現在の実行状況を示す表示等を行うこともできる。これらの機能は、既存の機能であり、これ以上詳細には説明しないものとする。尚、模擬プログラム44も、ラダー図やST等で作成可能である。模擬画面表示領域64には、上記外部機器2の模擬入出力画面である模擬画面34が表示される。模擬画面も、従来ではユーザが作成する必要があった。これに対して、本システムでは、予めシステム開発者側で作成されて記憶されている模擬画面のなかから、現在PLC50に接続されている各外部機器2に対応する模擬画面が、ほぼ自動的に選択されて上記模擬画面34として保持される。そして、シミュレーション実行時には、模擬画面34が模擬画面表示領域64に表示されることになる。尚、上述したユーザプログラム表示領域62、模擬プログラム表示領域63、模擬画面表示領域64の表示や編集は、シミュレーション実行時に限らず、任意のときに行ってよい。上記のように、ユーザによる模擬画面の作成や選択の手間が掛からず、ユーザの負担を軽減でき、以ってデバッグ時間を短縮できる。また、模擬画面表示領域64上では、模擬画面34の表示だけでなく、編集追加、修正、一部削除等をユーザが任意に行うこともできる。例えば、模擬画面表示領域64上でユーザがスイッチ64aを配置すると外部機器2に対するON/OFF指示等が行え、ランプ64bを配置すると外部機器2の動作出力信号をモニタ可能である。また、数値入力64cや数値出力64dを配置すると、外部機器2に対するデータの入力や出力データのモニタが可能となる。これらの機能は、既存の機能であり、これ以上詳細には説明しないものとする。また、上記ユーザプログラム表示領域62、模擬プログラム表示領域63、模擬画面表示領域64に表示させるユーザプログラム、模擬プログラム、模擬画面は、上記プロジェクトビュー61でユーザが任意に選択指定してよい。図4a、bは、シミュレーション情報について説明する為の図である。図5a、bは、シミュレーション情報DBについて説明する為の図である。図6a、bは、システム定義データについて説明する為の図である。図7は、シミュレーション情報の自動生成登録処理のフローチャート図である。図7の処理は、概略的には、システム定義データとシミュレーション情報DBとに基づいて、シミュレーション情報32の生成と、模擬画面34と模擬プログラム35の取得登録を行う処理である。以下、図4~図7に示す一例を参照して、本手法のシミュレーション情報、模擬画面、模擬プログラムの生成/登録について説明する。まず、図4を参照してシミュレーション情報について説明する。図4bに示すように、シミュレーション情報32は、各レコード毎にデータ種別91とデータ名称92とから成る。1つの外部機器に対して3つのレコードが格納される。すなわち、データ種別91がフォルダとプログラムと画面の3つの連続するレコードによって、1つの外部機器に関するシミュレーション情報が表される。図示の例では、任意の外部機器2に応じて、上記3種類のデータ種別91フォルダとプログラムと画面それぞれに対応するデータ名称92として、図示の外部機器1、サーボプログラム、サーボ画面が格納されている。また、不図示の別の外部機器に応じて、上記3種類のデータ種別91フォルダとプログラムと画面それぞれに対応するデータ名称92として、図示の外部機器2、インバータプログラム、インバータ画面が格納されている。尚、図示の例では、6つのレコードより成るが、図1に示すように3つの外部機器22a,2b,2cがある場合には、3×3=9つのレコードより成ることになる。そして、特に図示しないが、この様なシミュレーション情報32に基づいて、後に図5で説明するシミュレーション情報DB12bに記憶されている模擬プログラム群110、模擬画面群120のなかから、該当する1以上の模擬プログラム、該当する1以上の模擬画面を取得することになる。シミュレーション情報DB12bから取得した1以上の模擬プログラム、模擬画面が、上記模擬プログラム35、模擬画面34となり、これらがシミュレータ40にダウンロードされて実行されることになる。また、シミュレーション情報32によって、図2のシミュレーション情報61bの表示も行われても良い。図4bに示す例に応じた表示例を、図4aに示す。図示のように、各外部機器毎に、そのデータ種別91がフォルダのレコードのデータ名称92をフォルダ名とするフォルダが設けられると共に、このフォルダ内にそのデータ種別91がプログラム、画面のレコードのデータ名称92が格納される。尚、データ名称だけでなく、このデータ名称の模擬プログラム、模擬画面を、模擬プログラム群110、模擬画面群120から取得して、フォルダ内に格納するようにしてもよい。この場合、図4aは、上記模擬プログラム35と模擬画面34の格納形式を示すものと言うこともできる。例えば、現在PLC50に接続されている各外部機器2毎に、ユーザが任意に付けたフォルダ名のフォルダ内に、その外部機器2に対応する模擬プログラムと模擬画面が格納される形式となり、これが図4bに示す例のようにツリー表示されることになる。また、ユーザは、例えばシミュレーションの必要がないと判断した外部機器に関しては、その模擬プログラム、模擬画面を、フォルダごと消去することができる。そして、この消去操作によって、シミュレーション情報32から該当する情報が消去されるようにしてもよい。この様に、シミュレーション情報32は自動的に作成されるだけでなく、ユーザが後から自由に変更編集可能である。次に、図5a、bを参照して、シミュレーション情報DB12bについて説明する。シミュレーション情報DB12bには、図5bに示す模擬プログラム群110、模擬画面群12と、これらの管理情報である図5aに示す管理テーブル100とが、予め格納されている。これらの模擬プログラム、模擬画面、管理テーブルは、予めシステム開発者等が作成して格納している少なくともユーザが作成するものではない。まず、図5aに示す管理テーブル100について説明する。図示の管理テーブル100は、各レコード毎にデータ種別101とデータ名称102から成る。1つの外部機器に対して4つのレコードが格納される。すなわち、データ種別101が製品コードとフォルダとプログラムと画面の4つの連続するレコードによって、1つの外部機器に関する管理情報が表される。これは、例えば、製品コードによって示される外部機器2に対応するプログラムと画面が、フォルダ内に格納されていることが表される。プログラムには当該外部機器の動作を模擬する模擬プログラムの名称または識別コード等が格納され、画面には当該外部機器の模擬画面の名称または識別コード等が格納される。例えば、シミュレーション情報DB12bにおいては、製品コード=0xB020の外部機器2に対応する模擬プログラムであるサーボプログラムと模擬画面であるサーボ画面とが、フォルダ名=サーボ:RYS-VS/RYT-VSのフォルダ内に格納されていることになる。あるいは、例えば製品コードが0xB040である外部機器2に関しては、フォルダ名がインバータ:VG7Sのフォルダ内に、名称がインバータプログラムの模擬プログラムと、名称がインバータ画面の模擬画面とが格納されていることになる。図5bに示す模擬プログラム群110におけるサーボプログラム111と模擬画面群120におけるサーボ画面121が、上記製品コード=0xB020の外部機器2に対応して予め作成されて登録されていた模擬プログラムと模擬画面である。同様に、図5bに示す模擬プログラム群110におけるインバータプログラム112と模擬画面群120におけるインバータ画面122が、上記製品コード=0xB040の外部機器に対応して予め作成されて登録されていた模擬プログラムと模擬画面である。そして、上記図4bに示す例では、これらサーボプログラム111とサーボ画面121とインバータプログラム112とサーボ画面121とが、選択取得されて、上記模擬プログラム35、模擬画面34として保持されその際、フォルダ名がユーザによって任意に指定されたものとなる、またシミュレータ40で実行されることになる。次に、図6a、bを参照して、システム定義データについて説明する。図6aは、システム定義情報61aの一例であり、上記図3で説明した例を示している。よって、図示の通り、インバータが追加された状態となっている。この例のようにユーザによって定義されたシステム定義情報61aは、上記システム定義データ31としてシステムメモリ12に格納される。図6bは、この例のシステム定義データ31の具体例を示す図である。システム定義データ31は、製品コード131、局番132、名称133、形式134から成る。局番132、名称133、形式134には、上記図3で説明したユーザが任意に選択/入力したデータが格納される。ここで、特に図示しないが、各外部機器の管理テーブルが存在している。この不図示の外部機器管理テーブルには、各外部機器毎に、製品コードと形式等とを対応付けたレコードが格納されている。上記図3bで説明したように、ユーザが任意の形式等を選択するので、これら形式等を用いて上記不図示の外部機器管理テーブルを検索することで、該当する製品コードを取得できる。以上の不図示のテーブルと処理によって得た製品コード、局番、名称、形式を、上記システム定義データ31の新規レコードにおける製品コード131、局番132、名称133、形式134に格納することで、システム定義データ31が作成されることになる。尚、システム定義データ31の生成方法は、上記のようにユーザが任意にデータ入力する例に限らず、自動的に生成されるものであってもよい。すなわち、近年のPLCシステムでは、PLC本体が、自己に接続している外部機器に関する情報を、自動的に収集して記憶している場合がある。これは、例えば、各外部機器それぞれが、メモリ等を有しており、このメモリにその外部機器の製品コードや局番等が記憶されているものであるが、この例に限らない。これより、PLC50が、I/Oバス3を介して、当該I/Oバス3に接続している各外部機器2から、その製品コード等を取得して記憶している場合には、システム定義データ31を自動生成することが可能となる。すなわち、この場合、プログラミング装置10は信号線1を介してPLC50から上記各外部機器2の製品コード等を取得する。そして、プログラミング装置10は、上記不図示の外部機器管理テーブルを参照することで、取得した製品コードに対応する形式等を取得することができる。そして、これらをシステム定義データ31として登録する。何れにしても、システム定義データ31のテーブルには、現在PLC50に接続されている制御対象の外部機器2に関する所定のデータが格納されることになる。つまり、システム定義データ31は、現在、PLC50に接続されている外部機器2を、登録したものである。そして、図7の処理によって、PLC50に接続されている外部機器2に対応する模擬プログラムと模擬画面とを選択取得することができる。以下、図7を参照して、シミュレーション情報の自動生成登録処理について説明する。図7の処理は、例えば、CPU11が、システムプログラムメモリ13に予め格納されている所定のアプリケーションプログラムを読出し、実行することにより実現される。これは、換言すれば、上記のように不図示のプロジェクトデータ生成機能部が図7の処理を実行するものと言える。尚、図7の説明において、上記図4、図5、図6に示す例を用いて説明する場合がある。尚、この場合、上記図4bに示すシミュレーション情報32は、初期状態ではデータ種別91に図示の予め決まったデータ種別フォルダ、プログラム、画面が格納されており、データ名称92にはデータは格納されていないものとする。図7の処理では、データ名称92に自動的にデータを格納していくことで、シミュレーション情報32を生成する。図7において、まず最初に、上記図6bに示す例のようなシステム定義データ31のテーブルにおける現在のレコード選択位置を示すポインタポインタAと記すものとするを、初期位置である1レコード目に設定するステップS1。同様に、上記図4bに示す例のようなシミュレーション情報32のテーブルにおける現在のレコード選択位置を示すポインタポインタBと記すものとするを、初期位置である1レコード目に設定するステップS2。同様に、上記図5aに示す例のようなシミュレーション情報DB12bの管理テーブル100における現在のレコード選択位置を示すポインタポインタCと記すものとするを、初期位置である1レコード目に設定するステップS3。そして、まず最初は、ポインタA,Bは初期位置のままでポインタCを移動させながら、ポインタAが示すレコードの製品コード131と、ポインタCが示す製品コードデータ名称102とが、一致するか否かを判定するステップS4。尚、ポインタCは、図5aに示すテーブル構成と上記初期位置と後述するステップS6の操作により、必ず、データ種別101が製品コードであるレコードの位置を示すものとなる。尚、上記ポインタAが示すレコードの製品コード131は、PLC50に接続されている外部機器2の製品コードである。上記ステップS4で一致すると判定された場合にはステップS4、YES、ステップS7の処理を実行する。ステップS7の処理では、まず最初に、上記ポインタAが示すレコードの名称133を、上記ポインタBが示すレコードのデータ名称92に格納する。尚、ポインタBは、図4bに示すテーブル構成と上記初期位置と後述するステップS9の操作により、必ず、データ種別91がフォルダであるレコードの位置を示すものとなる。つまり、上記ステップS7の最初の処理は、フォルダ管理するシミュレーション情報32において、フォルダ名を上記図3bの名称入力領域84でユーザが任意に入力していた名称とするものである。尚、ユーザが入力しない例システム定義データ31の自動生成の例の場合には、名称133には例えば製品名これも外部機器2のメモリに記憶されているものとするを格納するように処理実行することで、フォルダ名が製品名となる。何れにしても、ユーザにとって分かり易いフォルダ名となるようにすることが望ましい。ここで、図示していないが、例えばステップS3の処理の直前または直後に、上記ポインタAが示すレコードの局番132を参照して、局番132がなしであるか否かをチェックし、なしである場合にはそのままステップS8の処理へ移行するようにしてもよい。局番なしであるので、PLC50との通信は行われないからである。図6bに示す例では、11スロットベースやAC電源等が、局番なしとなっている。また、更に、局番132が予め決められている特定の局番本例では0x00とするである場合も、そのままステップS8の処理へ移行するようにしてもよい理由は特に述べない。上記の例によれば、図6bに示す例では、上記ステップS4の判定が最初に行われるのは、4レコード目となり、図示の通りその名称133は外部機器1となっている。現在のポインタBは1レコード目であるので、図4bに示すように1レコード目のデータ名称92に外部機器1が格納されることになる。ステップS7の処理では、上記最初の処理を実行したら、続いて、ポインタCの位置の2つ下のレコード本例では3レコード目のデータ名称102を、ポインタBの位置の次のレコード本例では2レコード目のデータ名称92にコピーする。ステップS7の処理では、更に、ポインタCの位置の3つ下のレコード本例では4レコード目のデータ名称102を、ポインタBの位置の2つ下のレコード本例では3レコード目のデータ名称92にコピーする。以上の処理により、図4bに示す例のように、2レコード目のデータ名称92にはサーボプログラムが格納され、3レコード目のデータ名称92にはサーボ画面が格納された状態となる。尚、上記ステップS4の判定が不一致である場合にはステップS4,NO、現在のポインタCの位置が、最後のレコードであるか否かを判定するステップS5。但し、最後のレコードとは、図5aの例ではnレコード目ではなくn-3レコード目を意味する。そして、最後のレコードである場合にはステップS5,YES、そのままステップS8へ移行する。未だ最後のレコードではない場合にはステップS5,NO、ポインタCを次の処理対象レコードへ移動させるステップS6。これは、ポインタCを4レコード移動させることで、例えば現在が1レコード目である場合には5レコード目に移動させるものである。そして、ステップS4に戻る。ステップS7の処理を実行した場合またはステップS5の判定がYESの場合、続いて、現在のポインタAの位置が、最後のレコードであるか否かを判定するステップS8。これは、文字通り最後のレコードか否かを判定するものであり、図6bに示す例では5レコード目が最後のレコードである。ステップS8の判定がYESならば本処理を終了する。一方、ステップS8の判定がNOならば、ポインタAとポインタBを、それぞれ、次の処理対象レコードへ移動させる。これは、ポインタBは3レコード移動させることで、例えば現在が1レコード目である場合には4レコード目に移動させるものであるステップS9。また、ポインタAは1レコード移動させることで、例えば現在が4レコード目である場合には5レコード目に移動させるものであるステップS10。そして、ステップS3に戻り、ポインタCを初期位置1レコード目に戻したうえで、新たな処理対象外部機器に関して上記と同様の処理を行う。本例では、ポインタAは図6bに示す5レコード目となり、図5aに示す例ではポインタCがn-3レコード目のときにステップS4の判定がYESとなる。よって、図4bに示すように、4,5,6レコード目にそれぞれ外部機器2、インバータプログラム、インバータ画面が格納される。本例では、これによって、図4bに示す例のシミュレーション情報92の生成が完了することになる。尚、上記予め作成されて記憶されている模擬プログラム群110の各模擬プログラム111,112等、模擬画面群120の各模擬画面121,122等には、予め一意の名称が付されており、この名称が上記データ名称102に格納されている。よって、上記生成されたシミュレーション情報92を参照すれば、シミュレータ40で実行させるべき模擬プログラムと模擬画面を特定することができる。これより、例えば、これらシミュレータ40で実行させるべき模擬プログラムと模擬画面を、シミュレーション情報DB12bに記憶されている模擬プログラム群110、模擬画面群120のなかから選択取得して、上記プロジェクトデータ30の模擬プログラム35、模擬画面34として記憶する。シミュレータ40は、例えば上記プロジェクトデータ30からユーザプログラム33、模擬プログラム35等を取得して上記ユーザプログラム41、模擬プログラム44等として保持する。そして、ユーザからシミュレーション実行の指示があると、ユーザプログラム41、模擬プログラム44等を実行する。そして、シミュレータ40または上記不図示のモニタ制御機能部などは、例えば上記図2に示すような画面を表示して、外部機器2の模擬動作状況を表示しつつユーザプログラム41のデバッグを行えるようにする。尚、シミュレーション結果に応じてユーザがユーザプログラム41を任意に変更した場合、上記プロジェクトデータ30からユーザプログラム33を、ユーザプログラム41によって更新するようにしてもよい。あるいは、上記CPU11は、不図示のダウンロード機能部を有するものであってもよい。このダウンロード機能部は、シミュレーション情報32が示す模擬プログラムと模擬画面を、模擬プログラム群110と模擬画面群120から取得して、これらをシミュレータ40にダウンロードする。これによって、シミュレータ40は、PLC50に接続されている制御対象の1以上の外部機器2に対応する模擬プログラムと模擬画面を、実行することになる。上記CPU11は、上記ダウンロードされた模擬プログラムの動作をモニタする機能や、上記模擬画面で任意の出力信号に割り付けられたI/Oメモリ43をモニタする機能や、任意の入力信号に割り付けられたI/Oメモリ43へ任意のデータを入力させる機能等を有する。尚、これらの機能もシミュレータ40が有するものとしてもよい。尚、上記データ名称92やデータ名称102におけるサーボプログラムやインバータ画面等は、模擬プログラムの識別情報の一例、模擬画面の識別情報の一例であるが、この例に限らない。上述したように、本例のプログラミング装置10によれば、まず、制御システムの実機がなくても、プログラミング装置10だけで、任意に作成されたユーザプログラム制御プログラムのデバッグが可能となる。制御システムのPLCプログラムを開発する場合、制御システムの規模が大きくなっても、外部機器を含めたシミュレーションが容易に実現可能となるから、実機デバッグシステムの製作が不要となり、開発コストの削減、デバッグ期間の短縮、デバッグスペースの省スペース化が可能となる。また、シミュレーションによる事前デバッグが十分可能になるので、現地調整時の安全性が向上し、調整時間の短縮が可能となる。そして、特に、ユーザが模擬動作プログラムと模擬画面を作成する必要がなく、更に必要な模擬動作プログラムと模擬画面をデータベースから探す必要もなく、以ってデバッグ時間を短縮できる。また、ユーザの作業負担を軽減できる。また、ユーザは、模擬動作プログラムや模擬画面を作成できるスキルを有する必要がなくなる。また、外部機器毎の模擬プログラムと模擬画面とをフォルダ管理できるようになることから、シミュレーションする外部機器が増大した場合に、模擬プログラムや模擬画面の探索時間が短縮され、削除等の編集作業が容易となり、デバッグ時間を短縮できる。"