(57)【要約】【課題】入出力ユニットの動作をシミュレーションするプログラムの作成を容易にする。【解決手段】プログラム作成支援装置100は、制御装置102に設定記憶されている入出力ユニットの構成設定情報35（7）を読み出す。この構成設定情報7より各入出力ユニットの入出力信号情報8を抽出する。予め設定されている入出力ユニットのシミュレーションプログラムの雛型プログラム10に抽出した入出力信号情報7を割り当て、各入出力ユニットのシミュレーションプログラム（対象プログラム）11を作成する。この対象プログラム11（23）を入出力シミュレーション装置101に送信し、制御装置102で制御プログラム34を実行し、入出力シミュレーション装置101で対象プログラム23を実行し、シミュレーションを行い制御プログラムのデバックを行う。構成設定情報に基づいて入出力信号を雛型プログラムに割り付けるだけで、簡単にシミュレーションプログラムが作成できる。【選択図】図２
2008165324.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス制御を行う制御装置のシーケンス制御プログラムを、入出力ユニットのシミュレーションプログラムを用いてシミュレーションを行うための入出力ユニットのシミュレーションプログラムの作成を支援するプログラム作成支援装置であって、
前記制御装置に設定記憶されている該制御装置に接続する入出力ユニットの構成設定情報を読み取る手段と、
予め設定され、入出力ユニットのシミュレーションを行う入出力ユニット毎のプログラムの生成情報を記憶する記憶手段と、
読み取った前記入出力ユニットの構成設定情報から、入出力ユニット毎にその入出力信号アドレスを抽出し、対象とする入出力ユニットのプログラムの生成情報の入力部に前記入出力信号情報の出力信号アドレスを、出力部に前記入出力信号情報の入力信号アドレスを付加して、入出力ユニットシミュレーションを行う対象プログラムを作成する対象プログラム作成手段を備えることを特徴とするプログラム作成支援装置。
【請求項２】
前記対象プログラム作成手段は、前記構成設定情報から入出力ユニット毎に入出力信号アドレスを抽出した抽出情報を作成し、該抽出情報に基づいて対象プログラムを作成する請求項１に記載のプログラム作成支援装置。
【請求項３】
前記対象プログラムの生成情報は、入出力ユニットシミュレーションプログラムのソースコードの雛型プログラムであり、対象プログラムは入出力ユニットシミュレーションプログラムのソースコードであることを特徴とする請求項１に記載のプログラム作成支援装置。
【請求項４】
前記入出力ユニットシミュレーションプログラムのソースコードの雛型プログラムおよびソースコードは、ファンクションブロックで記述したプログラムまたはラダーで記述したシーケンスプログラムであることを特徴とする請求項３に記載のプログラム作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラや数値制御装置等の制御装置に使用されるシーケンスプログラムをデバッグするための入出力ユニットシミュレーションプログラムの作成を支援する装置に関する。
【背景技術】
【０００２】
シーケンス制御プログラムを作成し、プログラマブルコントローラや数値制御装置等の制御装置で該シーケンス制御プログラムを実行する際、これら制御装置に接続され、該シーケンス制御プログラムで制御される入出力ユニット（入出力機器）を正常に動作させることができるかをデバッグする必要がある。このデバッグ は、最終的には、シーケンスプログラムを実行する制御装置で行うが、事前に入出力ユニットに代えて模擬的に信号を入出力して、シーケンス制御プログラムのシミュレーションを行う方法が公知である。この方法は、入出力ユニットをシミュレーションするプログラムを利用するものである。
【０００３】
例えば、特許文献１には、実行シミュレーションの対象となるプログラマブルコントローラ（ＰＬＣ）用制御プログラムと、実行シミュレーションに必要な模擬入力生成手順をＰＬＣ用制御プログラムと同一の言語で記述した模擬入力生成プログラムとに基づいて、パソコン上で、ＰＬＣ用制御プログラムと模擬入力生成プログラムを実行して、該２つのプログラム間で入出力信号のやりとりを行い、仮想的に所望のプログラム実行シミュレーションを実行するＰＬＣ用制御プログラムのシミュレーション装置に関する発明が記載されている。
【０００４】
【特許文献１】特開２００１−２０９４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
シーケンス制御プログラムのデバッグを、入出力ユニットに代わるプログラムを用いて、シーケンス制御プログラムのシミュレーションを行い、シーケンス制御プログラムのデバッグを行う場合において、従来は、この入出力ユニットをシミュレーションするプログラムを作成する際に、対象となる入出力信号を手動で設定する必要があった。この入出力信号を手動で設定する作業は、多大の労力と時間を要し、面倒な作業であった。
【０００６】
特許文献１に記載された発明は、ＰＬＣ用制御プログラムを模擬入力生成プログラムでシミュレーションする発明であるが、このとき用いる入出力ユニットをシミュレーションする模擬入力生成プログラムの作成方法については、この特許文献には記載されていない。
そこで、本発明は、シーケンス制御プログラムのデバッグに用いる入出力ユニットシミュレーションプログラムの作成を容易にするプログラム作成支援装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、シーケンス制御を行う制御装置のシーケンス制御プログラムを、入出力ユニットのシミュレーションプログラムを用いてシミュレーションを行うための入出力ユニットのシミュレーションプログラムの作成を支援するプログラム作成支援装置であって、請求項１に係る発明は、前記制御装置に設定記憶されている該制御装置に接続する入出力ユニットの構成設定情報を読み取る手段と、予め設定され、入出力ユニットのシミュレーションを行う入出力ユニット毎のプログラムの生成情報を記憶する記憶手段と、読み取った前記入出力ユニットの構成設定情報から、入出力ユニット毎にその入出力信号アドレスを抽出し、対象とする入出力ユニットのプログラムの生成情報の入力部に前記入出力信号情報の出力信号アドレスを、出力部に前記入出力信号情報の入力信号アドレスを付加して、入出力ユニットシミュレーションを行う対象プログラムを作成する対象プログラム作成手段を備えることを特徴とするもので、入出力信号の設定が自動的にできるようにした点に特徴を有するものである。請求項２に係る発明では、前記対象プログラム作成手段は、前記構成設定情報から入出力ユニット毎に入出力信号アドレスを抽出して、まず抽出情報を作成し、該抽出情報に基づいて対象プログラムを作成するものとした。
【０００８】
また、請求項３に係る発明は、前記対象プログラムの生成情報を、入出力ユニットシミュレーションプログラムのソースコードの雛型プログラムとし、対象プログラムは入出力ユニットシミュレーションプログラムのソースコードで構成されているものとした。さらに、請求項４に係る発明は、前記入出力ユニットシミュレーションプログラムのソースコードの雛型プログラムおよびソースコードを、ファンクションブロックで記述したプログラムまたはラダーで記述したシーケンスプログラムとした。
【発明の効果】
【０００９】
入出力ユニットシミュレーションを行う対象プログラムの生成情報に対して、入出力ユニットの構成設定情報に基づいて、自動的に入出力信号が割り当てられるので、手動で設定する必要がなく、入出力ユニットシミュレーションプログラムが容易に作成できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について図面と共に説明する。  
図１は、本実施形態におけるプログラム作成支援装置１００、数値制御装置やプログラマブルコントローラ等のシーケンス制御を行う制御装置１０２、及び入出力ユニットの動作をシミュレーションする入出力ユニットシミュレーション装置１０１の要部ブロック図である。  
これらプログラム作成支援装置１００、制御装置１０２、入出力ユニットシミュレーション装置１０１は通信路５１で接続されている。
【００１１】
プログラム作成支援装置１００は、プロセッサ１、表示器２、キーボード３、通信インタフェース４、ＲＡＭ５等を備え、これらはバス１２で接続されている。ＲＡＭ５には、入出力ユニットの動作をシミュレーションする入出力ユニットシミュレーションプログラム(対象プログラム)を作成するための対象プログラム作成プログラム６が格納されている。また、制御装置１０２に記憶する入出力ユニット５０の構成設定情報３５を読み出し記憶する(図１では構成設定情報７と記載している)。さらに、対象プログラム(入出力ユニットシミュレーションプログラム)１１を作成するための対象プログラム生成情報１０としてのソースコード雛型プログラムが格納されており、対象プログラム作成プログラム６により、この対象プログラム生成情報(ソースコード雛型プログラム)１０と、構成設定情報７に基づいて対象プログラム(入出力ユニットシミュレーションプログラム)１１が作成され記憶されるよう構成されている。又、ＲＡＭ５内に設けられたワークメモリ８は、対象プログラム(入出力ユニットシミュレーションプログラム)１１の作成中、データを一次記憶する等に使用され、構成設定情報７から抽出した入出力信号情報から構成される抽出情報９が記憶されるようになっている。
【００１２】
制御装置１０２は、プロセッサ３１、システムプログラムを記憶するＲＯＭ３２、ＲＡＭ３３、表示器３６、キーボード３７、入出力信号等を記憶する信号メモリ３８、通信インタフェース３９がバス４０で接続されている。さらに、入出力ユニット５０も図示していない入出力インタフェースを介してバス４０に接続されている。  
又、ＲＡＭ３３には、本発明に関係して、制御プログラム(シーケンス制御プログラム)３４、この制御装置１０２に接続されている入出力ユニットの構成設定情報３５等が設定記憶されるようになっている。
【００１３】
入出力ユニットシミュレーション装置１０１は、プロセッサ２１、ＲＡＭ２２、表示器２４、キーボード２５、通信インタフェース２６がバス２７に接続されている。ＲＡＭ２２には、本発明によって作成した対象プログラム(入出力ユニットシミュレーションプログラム)２３が格納されるようになっている。
プログラム作成支援装置１００、制御装置１０２、入出力ユニットシミュレーション装置１０１は、それぞれの通信インタフェース４、３９、２６を介して通信路５１で接続され、情報の送受信を行うようになっている。
【００１４】
図２は、入出力ユニットシミュレーションプログラム(対象プログラム)の作成の流れを示すブロック図である。
前述したように、制御装置１０２には、入出力ユニット５０が接続され、該制御装置１０２のＲＡＭ３３には、接続された入出力ユニット５０の構成設定情報３５が設定記憶されていると共に、これら入出力ユニット５０をシーケンス制御する制御プログラム(シーケンス制御プログラム)３４が記憶されている。この記憶された構成設定情報３５がプログラム作成支援装置１００に転送され、ＲＡＭ５に入出力ユニットの構成設定情報７として記憶される。プログラム作成支援装置１００のプロセッサ１は、この入出力ユニットの構成設定情報７より入出力ユニット毎の入出力信号情報を抽出した抽出情報を得て、該抽出情報の入出力信号情報を、対象プログラム生成情報である入出力ユニットの動作をシミュレーションするためのソースコード雛型プログラム１０に付加して、入出力ユニットシミュレーションプログラム(対象プログラム)１１を作成する。こうしてプログラム作成支援装置１００で作成された入出力ユニットシミュレーションプログラム(対象プログラム)１１は、入出力ユニットシミュレーション装置１０１に転送され、そのＲＡＭ２２内に入出力ユニットシミュレーションプログラム(対象プログラム)２３として格納される。
【００１５】
入出力ユニットシミュレーション装置１０１は、この格納された入出力ユニットシミュレーションプログラム(対象プログラム)２３を実行すると共に、制御装置１０２が、格納されているシーケンス制御プログラム３４を実行し、入出力ユニットシミュレーション装置１０１と制御装置１０２間で、すなわち、シーケンス制御プログラム３４と入出力ユニットシミュレーションプログラム(対象プログラム)２３との間で、信号の入出力を行うことによって、シーケンス制御プログラム３４のシミュレーションが行われ、デバッグが行われることになる。
【００１６】
図３は、上述した制御装置１０２のＲＡＭ３３に記憶されている入出力ユニットの構成設定情報を設定する画面の表示の一例である。  
アドレス「Ｘ□□□□」、「Ｙ□□□□」は、信号メモリ３８に記憶する信号のアドレスを指すものであり、「Ｘ□□□□」は、入出力ユニット５０から制御装置１０２に入力される入力信号が記憶されるアドレスを意味し（Ｘが入力信号を意味する）、「Ｙ□□□□」は、制御装置１０２から入出力ユニット５０に出力される出力信号が記憶されるアドレスを意味する（Ｙが出力信号を意味する）。
【００１７】
これらアドレスに対して、ハードウエアにおける接続位置を示す「グループ」、「ベース」、「スロット」が設定され記憶されると共に、入力／出力バイト数を表す割付名称が設定入力され、構成設定情報３５として記憶されている。
【００１８】
プログラム作成支援装置１００は、制御装置１０２のＲＡＭ３３に記憶された構成設定情報３５を読み出し、ＲＡＭ５内に構成設定情報７として記憶する。  
対象プログラム（入出力ユニットシミュレーションプログラム）１１を作成する上で、  機械的な接続位置を示す情報の「グループ」、「ベース」、「スロット」は必要のない情報であることから、この構成設定情報７からこれらの情報は抽出せず、入出力信号情報である入力アドレス「Ｘ□□□□」、出力アドレス「Ｙ□□□□」を入出力ユニット名毎に抽出する。
【００１９】
図４は、この抽出情報の説明図である。入出力ユニット名は、構成設定情報７として記憶された割付名称によって判別して決める。図３、図４に示す例では、図３に示す構成設定情報おいて、入力アドレス「Ｘ□□□□」に対して設定されている割付名称「ＣＭ０３Ｉ」と出力アドレス「Ｙ□□□□」に対して設定されている割付名称「ＣＭ０２Ｏ」の組が１つの入出力ユニットであり、これを図４ではＩ／ＯユニットＡと表している。同様に、割付名称「ＣＭ０６Ｉ」と「ＣＭ０４Ｏ」の組をＩ／ＯユニットＢとして抽出し、各入出力ユニットの入力アドレス「Ｘ□□□□」、出力アドレス「Ｙ□□□□」を抽出している。
【００２０】
図５は、予め設定されている対象プログラム生成情報１０の説明図である。この対象プログラム生成情報１０は、ソースコードで作成された入出力ユニットの動作をシミュレーションする雛型プログラムである。図５（ａ）は、ファンクションブロックプログラムの例であり、図５（ｂ）は、ラダープログラムの例である。これらの対象プログラム生成情報１０は、入出力ユニット毎にその入出力ユニットに入力される入力信号の応じて出力信号を出力する動作のシミュレーションプログラムの雛型プログラムとして、プログラム作成支援装置１００に予め格納されている。
【００２１】
各入出力ユニットの雛型に対して、図４に示した抽出情報における対応するＩ／Ｏユニット名の入力アドレス、出力アドレスを割り当てる。この場合、入力アドレス「Ｘ□□□□」に記憶される信号は、制御装置１０２に入力される信号を意味することから、入出力ユニットにとっては、出力信号を意味する。また、出力アドレス「Ｙ□□□□」に記憶される信号は、制御装置１０２から入出力ユニットに出力される信号を意味することから、入出力ユニット５０にとっては、入力信号を意味することになる。
【００２２】
そこで、図６に示すように、出力アドレス「Ｙ□□□□」が入出力ユニットの雛型の入力部にセットされ、入力アドレス「Ｘ□□□□」が入出力ユニットの雛型の出力部にセットされることになる。図６に示す例では、Ｉ／ＯユニットＡ、Ｂの雛型に図４の抽出情報を付加して、入出力ユニットＡ、Ｂの対象プログラム（入出力ユニットシミュレーションプログラム）がソースコードで作成された状態を示している。
【００２３】
図７は、プログラム作成支援装置１００が実行する対象プログラム（入出力ユニットシミュレーションプログラム）作成処理のアルゴリズムを示すフローチャートである。対象プログラム作成指令が入力されると、プログラム作成支援装置１００のプロセッサ１は、この図７に示す処理を実行開始する。なお、すでに制御装置１０２に設定記憶されている入出力ユニットの構成設定情報３５は、プログラム作成支援装置１００のＲＡＭ５内に取り込まれ構成設定情報７として記憶されているものとする。
【００２４】
まず、構成設定情報７より図４に示すように、入出力ユニット名毎の入出力信号情報（入力アドレス、出力アドレス）を抽出する（ステップａ１）。次に、入出力ユニット名毎の入出力信号情報をそれぞれ対応する入出力ユニットをシミュレーションするプログラムである雛型プログラムに適用し、出力アドレスを入出力ユニットの雛型の入力部に、入力アドレスを雛型の出力部にセットし、入出力ユニット毎の入出力シミュレーションプログラムを完成させる（ステップａ２）。
【００２５】
こうして作成された入出力ユニット毎の入出力シミュレーションプログラムを、入出力ユニットシミュレーション装置１０１に転送し（ステップａ３）、この対象プログラム（入出力ユニットシミュレーションプログラム）作成処理は終了する。
【００２６】
こうして、転送された対象プログラム（入出力ユニットシミュレーションプログラム）２３を、入出力ユニットシミュレーション装置１０１が実行すると共に、制御装置１０２が制御プログラム３４を実行し、この制御プログラムのシミュレーションを行い従来と同様に、制御プログラムのデバッグを行うことになる。
【００２７】
なお、上述した実施形態では、入出力ユニットの構成設定情報より入出力信号情報を抽出し、図４に示したような抽出情報を作成する形態を説明したが、図３に示す入出力ユニットの構成設定情報より入出力信号情報を抽出しながら、この入出力信号情報を、図５に示すように対象プログラム生成情報（雛型プログラム）に付加して対象プログラム（入出力ユニットシミュレーションプログラム）を作成してもよいことはもちろんである。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態の全体要部構成図で、プログラム作成支援装置、制御装置、入出力ユニットシミュレーション装置の要部ブロック図である。
【図２】同実施形態における、入出力ユニットシミュレーションプログラム(対象プログラム)作成を説明するブロック図である。
【図３】同実施形態における入出力ユニットの構成設定情報を設定する画面の表示した一例である。
【図４】同実施形態における抽出情報の説明図である。
【図５】同実施形態における対象プログラム生成情報（雛型プログラム）の説明図である。
【図６】同実施形態における作成された対象プログラム（入出力ユニットシミュレーションプログラム）の例である。
【図７】同実施形態におけるプログラム作成支援装置が実行する対象プログラム作成処理のアルゴリズムを示すフローチャートである。
【符号の説明】
【００２９】
１００  プログラム作成支援装置
１０１  入出力ユニットシミュレーション装置
１０２  制御装置
【図１】
2008165324.tif 000003
【図２】
2008165324.tif 000004
【図３】
2008165324.tif 000005
【図４】
2008165324.tif 000006
【図５】
2008165324.tif 000007
【図６】
2008165324.tif 000008
【図７】
2008165324.tif 000009