(57)【要約】【課題】  コメントアウト領域として指定されたプログラムにおける代用プログラムの記載を可能にして、コメントアウトに係る作業効率の向上を図ったプログラム作成装置を得る。【解決手段】  コメントアウト領域を指定するコメントアウト領域指定手段と、コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、コメントアウト領域毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、領域がコメントアウトされたときは、代用プログラム設定保持手段で保持されたその領域の代用プログラムで実行するようにした。【選択図】図４
2005309593.tif 000002
【特許請求の範囲】
【請求項１】
コメントアウト領域を指定するコメントアウト領域指定手段と、上記コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、上記コメントアウト領域毎にコメントアウトされた場合の代用値を設定し保持する代用値設定保持手段とを有し、
上記領域がコメントアウトされたときは、上記代用値設定保持手段で保持されたその領域の代用値で実行するようにしたことを特徴とするプログラム作成装置。
【請求項２】
グラフィカルプログラムの接続線が、上記コメントアウト領域指定手段で指定されたコメントアウト領域で分断される場合には、上記代用値設定保持手段は上記コメントアウト領域の代用値としてその接続線に対応した代用値を保持し、その領域がコメントアウトされたときはその接続線に対応した代用値で実行するようにしたことを特徴とする請求項１記載のプログラム作成装置。
【請求項３】
上記コメントアウト領域指定手段で指定されたコメントアウト領域でグラフィカルプログラムの複数の接続線が分断される場合には、上記代用値設定保持手段は上記コメントアウト領域の代用値としてその接続線毎に対応した代用値を保持し、その領域がコメントアウトされたときはその接続線毎に対応した代用値で実行するようにしたことを特徴とする請求項２記載のプログラム作成装置。
【請求項４】
コメントアウト領域を指定するコメントアウト領域指定手段と、上記コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、上記コメントアウト領域毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、
上記領域がコメントアウトされたときは、上記代用プログラム設定保持手段で保持されたその領域の代用プログラムで実行するようにしたことを特徴とするプログラム作成装置。
【請求項５】
上記コメントアウト領域指定手段で指定されたコメントアウト領域が分断するグラフィカルプログラムの接続線の数を取得する手段を有し、上記コメントアウト領域に対して入力される接続線の数と、上記コメントアウト領域から出力される接続線の数が同じ場合には、上記コメントアウト領域に対して、入力と出力を直線で結んだ代用プログラムを自動的に設定し保持する代用プログラム設定保持手段を有することを特徴とする請求項４記載のプログラム作成装置。
【請求項６】
上記代用プログラム設定保持手段はコメントアウト領域に対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種別から１つを指定する指定手段を有し、上記コメントアウト領域を含むプログラムを実行形式に変換するときは、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がない場合には、上記コメントアウト領域のプログラムを無視したプログラムまたは自動的に設定された代用プログラムを実行形式に変換し、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がある場合には、上記コメントアウト領域のプログラムの代わりに代用プログラムを適用してプログラムを実行形式に変換することを特徴とする請求項５記載のプログラム作成装置。
【請求項７】
上記代用プログラム設定保持手段はコメントアウト領域に対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種類から１つを指定する指定手段を有し、上記コメントアウト領域を含むプログラムが文法的に正しいかを判定するときは、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がない場合には、上記コメントアウト領域のプログラムを無視したプログラム全体または自動的に設定された代用プログラムを適用したプログラム全体に対して判定を行い、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がある場合には上記コメントアウト領域のプログラムの代わりに代用プログラムを適用したプログラム全体に対して判定を行うことを特徴とする請求項５又は請求項６記載のプログラム作成装置。
【請求項８】
プログラムの要素となるオブジェクトに対してコメントアウトであるか否かの設定を行うコメントアウト設定手段と、上記オブジェクト毎に上記コメントアウト設定手段で設定されたコメントアウトであるか否かの設定を保持するコメントアウト設定保持手段と、設定されたコメントアウトオブジェクト毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、
上記コメントアウトオブジェクトがコメントアウトされたときは、上記代用プログラム設定保持手段で保持されたそのオブジェクトの代用プログラムで実行するようにしたことを特徴とするプログラム作成装置。
【請求項９】
上記コメントアウト設定手段で設定されたコメントアウトオブジェクトに接続されるグラフィカルプログラムの接続線の数を取得する手段を有し、上記コメントアウトオブジェクトに対して入力される接続線の数と、上記コメントアウトオブジェクトから出力される接続線の数が同じ場合には、上記コメントアウトオブジェクトに対して、入力と出力を直線で結んだ代用プログラムを自動的に設定し保持する代用プログラム設定保持手段を有することを特徴とする請求項８記載のプログラム作成装置。
【請求項１０】
上記代用プログラム設定保持手段はコメントアウトオブジェクトに対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種別から１つを指定する指定手段を有し、上記コメントアウトオブジェクトを含むプログラムを実行形式に変換するときは、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がない場合には、上記コメントアウトオブジェクトのプログラムを無視したプログラムまたは自動的に設定された代用プログラムを実行形式に変換し、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がある場合には、上記コメントアウトオブジェクトのプログラムの代わりに代用プログラムを適用してプログラムを実行形式に変換することを特徴とする請求項９記載のプログラム作成装置。
【請求項１１】
上記代用プログラム設定保持手段はコメントアウトオブジェクトに対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種類から１つを指定する指定手段を有し、上記コメントアウトオブジェクトを含むプログラムが文法的に正しいかを判定するときは、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がない場合には、上記コメントアウトオブジェクトのプログラムを無視したプログラム全体または自動的に設定された代用プログラムを適用したプログラム全体に対して判定を行い、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がある場合には上記コメントアウトオブジェクトのプログラムの代わりに代用プログラムを適用したプログラム全体に対して判定を行うことを特徴とする請求項８又は請求項９記載のプログラム作成装置。
【請求項１２】
検査装置で用いられる表形式プログラムに適用されることを特徴とする請求項４又は請求項８記載のプログラム作成装置。
【請求項１３】
プログラマブル表示器や検査装置で用いられる画面プログラムに適用されることを特徴とする請求項４又は請求項８記載のプログラム作成装置。
【請求項１４】
代用プログラムは、その位置及び大きさの少なくともいずれかは、コメントアウトされるプログラムの設定値をそのまま変えることなく適用することを特徴とする請求項１３記載のプログラム作成装置。
【請求項１５】
請求項１〜請求項１４のいずれか１項に記載のプログラム作成装置を用いてプログラムを作成することを特徴とするプログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、コンピュータを用いたプログラム作成装置及びプログラム作成方法、例えば、制御装置，検査装置，もしくは計測装置などのプログラム作成装置及びプログラム作成方法に関し、特に、コメントアウト領域またはコメントアウトオブジェクトとして指定されたプログラムにおける代用プログラムの記載を可能にするプログラム作成装置及びプログラム作成方法に係わるものである。
【背景技術】
【０００２】
図４６は、従来の一般的なグラフィカルプログラミングの表示例を説明する図である。一般にグラフィカルプログラミングでは、表示装置（表示画面）のオブジェクトの集合１２の中から、必要なオブジェクトを選択して、そのオブジェクトを表示装置の編集エリア１３へ配置し、配置したオブジェクト間の関係を接続線１４などで関連付けることにより、プログラムを記述する。
【０００３】
例えば、グラフィカルプログラミングが、
（ａ）フローチャートの場合には、オブジェクトは「スタート」や「条件分岐」などであり、
（ｂ）ブロック図の場合には、オブジェクトは各種「データ集録」や各種「フィルタ」などであり、
（ｃ）プログラマブルコントローラのためのラダープログラムの場合には、オブジェクトは「接点」や「コイル」などであり、
（ｄ）プログラマブル表示器のための画面プログラミングの場合には、オブジェクトは各種「図形シンボル」などであり、
（ｅ）システムコンフィグレーション設定の場合には、オブジェクトは各種「ハードウェア」などである。
【０００４】
図４７は一般的にプログラムを変換して実行させる様子を説明する図である。図に示すとおり、作成されたプログラムを、制御機器や計測機器で動作させる場合には、上記プログラムを、制御機器や計測機器の上で実行できるような形式（コンパイル形式の場合にはコンパイル済みの実行コード、インタプリタ形式の場合にはそれに応じたスクリプトや中間コード）に変換して、制御機器や計測機器に転送して実行させる。プログラム作成装置１５と、このプログラム実行手段１６が、独立している場合もあれば、一体化している場合もある。
【０００５】
図４８は一般的にプログラム作成装置とプログラム実行手段の関係を説明する図である。図４８（ａ）はプログラム作成装置１５とプログラム実行手段１６とが独立している場合の例を示しており、図４８（ｂ）はプログラム作成装置１５とプログラム実行手段１６とが一体化している場合の例を示している。
【０００６】
ところで、プログラム作成装置には、上述のようなグラフィカルプログラミングのほかに、テキストプログラミングもある。プログラム編集の効率化を図るために、テキストによるプログラミング（Ｃ言語、Ｂａｓｉｃ言語など）においては、一時的に使用しない部分をコメントアウトする機能が備わっている。これは、編集エリアから使用しない部分のテキストを削除すると、そのテキストを再度使用したいと思っても、人手で全く同じテキストを再度入力し直さなければならない、という非効率さを改善するための機能である。
【０００７】
コメントアウトする際には、ユーザは、テキストプログラムの文法に注意しなければならない。つまり、文法に違反することが無いようなコメントアウトしかできない。しかしながら、テキストプログラムは、１次元情報であるから、文法となる単位（すなわち一行単位）をコメントアウトするなど、文法の違反がないようにコメントアウトすることは容易である。
【０００８】
図４９は、テキストプログラムの一例であるＣ言語における、従来のコメントアウトの例を示す図である。ここでは、プログラム中の  ａ＝ｂ＋ｃ;  を一時的にコメントアウトするために、その前にコメントアウト開始記号である ／＊ を挿入し、その後にコメントアウト終了記号である ＊／を挿入している。
【０００９】
図５０は、テキストプログラムの一例であるＣ言語における、従来のコメントアウトの別の例を示す図である。ここでは、プログラム中の  ａ＝ｂ＋ｃ;  を一時的に  ａ＝ｂ−ｃ;  に置き換えるようなコメントアウトをするために、  ａ＝ｂ＋ｃ;  の前にコメントアウト開始記号である ／＊ を挿入し、その後にコメントアウト終了記号である＊／ を挿入し、その後に  ａ＝ｂ−ｃ;  を挿入している。
【００１０】
コメントアウトした部分は、プログラムが実行形式に変換される際に、無視される。コメントアウトしたために、テキストプログラムが文法的に誤りとなってしまうことを避けるために、変換する前に、コメントアウト部分を無視したテキストプログラムに文法的な誤りがないかをチェックする。
【００１１】
さて、上述のテキストプログラミングにおけるコメントアウト機能を、グラフィカルプログラミングに適用する場合について述べる。例えば、特許文献１の情報処理装置においては、図面中に注釈を書き込む機能を実現するために、プログラム編集領域においてコメントアウトとして扱う領域を指定して、これをコード化しないという開示がある。
【００１２】
【特許文献１】特許第２８５１８５２号明細書
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従来技術によると、プログラム中のオブジェクトをコメントとして扱う場合、プログラム編集領域にコメントアウト領域を指定し、コメントアウト領域にないオブジェクトのみをコード化するという手段を用いていた。コメントアウトする際には、ユーザは、テキストプログラムをコメントアウトするのと同様、グラフィカルプログラムの文法に注意しなければならない。つまり、文法に違反することが無いようなコメントアウトしかできない。
【００１４】
しかしながら、フローチャートやＦＢＤ（ function block diagram ）といった、プログラムの要素となるオブジェクト同士の間の関係を線などで接続してプログラムを完成させるような言語の場合には、文法に違反することが無いようなコメントアウト領域の指定ができるような場合は少なく、大抵の場合は、図５１に示すように、コメントアウト領域を指定したことにより文法違反しないように、編集を加える必要がある。このときは、コメントアウトを解除して元のプログラムに戻す場合には、単にコメントアウト領域として指定した部分のコメントアウトを解除するだけでなく、文法違反しないように加えた編集内容を、再び元に戻す必要がある。
【００１５】
また、プログラム中のどの部分が、コメントアウトした部分に伴って加えられた編集の部分であるかは、その作業を行った当の本人にしか分からない。したがって、第三者が正しく理解し作業するのは、困難である。このように、単にコメントアウト領域を指定するのではなく、文法違反しないように編集を加えるという作業は、単に不必要な部分をコメントアウトするという作業の範囲を超えて、プログラム自身に編集を加えるという、プログラム編集にまで、その作業範囲が及んでいる。
【００１６】
コメントアウトした部分の置き換えプログラムを記載することも、図５２に示すように、手間ではあるが、文法の違反がないようにすることは不可能ではない。しかし、図５２を見てわかるように、プログラム中のどの部分が、コメントアウトした部分の置き換えプログラムの部分であるかは、その作業を行った当の本人にしか分からない。したがって、第三者が正しく理解し作業するのは、困難である。つまり、一目見て記述内容が分かるというのが特徴のグラフィカルプログラミングにおいて、グラフィカルなコメントアウト方法を提供しているにも関わらず、コメントアウトの置き換えプログラムの記載に関しては、一目見て記述内容が分かるようなグラフィカルな表現方法が提供されていない。プログラムの一部をコメントアウトしたり、あるいはコメントアウトしたプログラムの一部を元のプログラムに戻したりという作業は、削除や再入力によるものであった。従って、削除前のプログラムの消失、再入力の手間、復元の不確実さという問題があった。
【００１７】
また、図５３に示すように、プログラマブル表示器のための画面プログラミングなどにおいては、その性質上、配置されたオブジェクトの位置や大きさがプログラムそのものであって、配置したオブジェクト間の関係を接続線などで関連付けることはなく、オブジェクトが密接して配置される場合が多く存在するので、従来の技術をもって、ある特定のオブジェクトをコメントアウトして、その置き換えプログラムを記載しようとしても、プログラム中のどの部分が、コメントアウトした部分にともなって加えられた編集の部分であるかは、その作業を行った当の本人にしか分からない。したがって、第三者が正しく理解し作業するのは、困難である、という問題がある。また、コメントアウトした部分の置き換えプログラム（置き換えオブジェクト）は、コメントアウトしたオブジェクトと同じ位置や大きさにしたいが、それが不可能である、という問題がある。さらに、コメントアウトした部分の置き換えプログラム（置き換えオブジェクト）を配置する場所が存在しない、という問題もあった。
【００１８】
さらに、図５４に示すように、特に検査装置などで用いられる表形式によるプログラム方式の場合には、プログラム中のどの部分が、コメントアウトした部分に伴って加えられた編集の部分であるかは、その作業をおこなった当の本人にしか分からない。したがって、第三者が正しく理解し作業するのは、困難である、という問題があった。
【００１９】
この発明は、上記のような問題点を解消するためになされたもので、コメントアウト領域又はコメントアウトオブジェクトとして指定されたプログラムにおける代用プログラムの記載を可能にして、コメントアウトに係る作業効率の向上を図ったプログラム作成装置及びプログラム作成方法を得ることを目的とする。
【課題を解決するための手段】
【００２０】
この発明に係わるプログラム作成装置は、コメントアウト領域を指定するコメントアウト領域指定手段と、上記コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、上記コメントアウト領域毎にコメントアウトされた場合の代用値を設定し保持する代用値設定保持手段とを有し、上記領域がコメントアウトされたときは、上記代用値設定保持手段で保持されたその領域の代用値で実行するようにしたものである。
【００２１】
また、コメントアウト領域を指定するコメントアウト領域指定手段と、上記コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、上記コメントアウト領域毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、上記領域がコメントアウトされたときは、上記代用プログラム設定保持手段で保持されたその領域の代用プログラムで実行するようにしたものである。
【００２２】
さらにまた、プログラムの要素となるオブジェクトに対してコメントアウトであるか否かの設定を行うコメントアウト設定手段と、上記オブジェクト毎に上記コメントアウト設定手段で設定されたコメントアウトであるか否かの設定を保持するコメントアウト設定保持手段と、設定されたコメントアウトオブジェクト毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、上記コメントアウトオブジェクトがコメントアウトされたときは、上記代用プログラム設定保持手段で保持されたそのオブジェクトの代用プログラムで実行するようにしたものである。
また、この発明に係わるプログラム作成方法は、この発明のプログラム作成装置を用いて、プログラムを作成するものである。
【発明の効果】
【００２３】
この発明のプログラム作成装置及びプログラム作成方法によれば、コメントアウト領域またはコメントアウトオブジェトとして指定されたプログラムにおける代用プログラムの記載を可能にすることにより、コメントアウトに係る作業効率の向上を図ることができる。
【発明を実施するための最良の形態】
【００２４】
実施の形態１．
図１はこの発明の実施の形態１におけるプログラム作成装置の適用表示例を説明する図である。図２は図１にコメントアウト領域を指定した状態を説明する図である。図３は図２の接続線を削除した状態を説明する図である。図４は図２の接続線に代用値を設定した状態を説明する図である。図５は接続線に代用値を設定した他の例を示す図である。図６は接続線に代用値を設定したさらに他の例を示す図である。図８は実施の形態１のプログラム作成装置が適用できるプログラマブル検査装置を示すブロック図である。図９は実施の形態１のプログラマブル検査装置の構成を示すブロック図である。なお各図を通して、図中、同一符号は同一または相当部分を示す。以下同様とする。
【００２５】
図８では、搬入機１７，検査ステーション１８，搬出機１９と、これらを制御するプログラマブル検査装置２０を示す。検査を実施するとき、プログラマブル検査装置２０は、搬入機１７を制御して検査対象２１を検査ステーション１８へ搬入する。検査ステーション１８では、検査対象２１に対して治具を取り付けるなどして、検査対象２１とプログラマブル検査装置２０を電気的に接続し、例えば、表形式プログラムで記述された検査項目の検査を実施する。検査を終えた検査対象２１は搬出機１９によって検査ステーション１８から搬出される。検査の進行状況はプログラマブル検査装置２０の表示画面上で確認できる。
【００２６】
上記プログラマブル検査装置は、一般的にハードウエア資源として、ＣＰＵ２３と、ＲＯＭ２４と、ＲＡＭ２５と、表示装置２６と、入力装置２７と、Ｉ／Ｏ２８と、Ｄ／Ａ２９と、Ａ／Ｄ３０とを備えている。これらはバスを介して接続されている。例えば、ＲＯＭ２４には、オペレーティングシステムやシステムの動作を制御するプログラムが記録格納されている。ＲＡＭ２５には、ユーザが作成する検査プログラムや検査時に入力するデータが記録格納されている。ＲＯＭ２４に格納されているシステムの動作を制御するプログラムによって、ＣＰＵ２３は各種機能を実行する。
【００２７】
ＣＰＵ２３は、表示装置２６と共に表示手段として機能し、入力装置２７と共に操作手段として機能する。また、ＣＰＵ２３は、ＲＯＭ２４とＲＡＭ２５と共にフローチャート実行手段，表形式プログラム実行手段，ファンクションブロック実行手段，及びラダー実行手段として機能する。さらに、ＣＰＵ２３は、ＲＡＭ２５と共にプログラム保持手段として機能し、Ｉ／Ｏ２８とＡ／Ｄ３０と共に入力手段として機能し、Ｉ／Ｏ２８とＤ／Ａ２９と共に出力手段として機能する。
【００２８】
表示装置２６は例えば液晶表示装置ＬＣＤからなり、検査プログラムの進捗状況を表示することができる。また、表示装置２６は検査の合否判定の基準値や、計測した値を表示すると共に、合否判定結果を表示することができる。入力装置は例えばキーボード，マウスやＬＣＤに貼られたタッチパネルからなり、検査プログラムの実行開始を指示することができる。また、合否判定の基準値を変更することができる。
【００２９】
図１〜図７を用いて、実施の形態１のプログラム作成装置について説明する。プログラム作成装置は、プログラマブル検査装置に内在させても良いし、プログラマブル検査装置に接続され得るパソコンであっても良い。プログラム作成装置において、特に、ＦＢＤ（ＢＬＤ：block diagram）プログラミングへの適用を例として説明する。図１で、１３は表示装置（パソコンの表示画面又は表示装置２６の表示画面）の編集エリアである。ブロックダイアグラムのプログラムでは、オブジェクトは入力されるデータに対して、そのオブジェクトの有している演算を施し、データを出力する。オブジェクト間を関連付ける接続線３１は、オブジェクトから出力されたデータを、次のオブジェクトの入力に渡す役割を果たす。
【００３０】
プログラミング開発途中であって、オブジェクト１に係る部分が未完成のため、オブジェクト２とオブジェクト３を取りあえずテストしたい場合などでは、オブジェクト１を含むようにコメントアウト領域を設定保持する。これを図２に示す。
コメントアウト領域が接続線を分断する（接続線は、一方の接続端点がコメントアウトされ、他方の接続端点はコメントアウトされていない）という状況が起こるので、このままの状態で、（コメントアウト領域に含まれている）オブジェクト１を無視すると、文法エラーとなるので、その接続線３１を削除すれば良いのだが、それだと、プログラム自体を編集していることになるので、コメントアウト機能とは言えない。これを図３に示す。
【００３１】
そこで、図４に示すように、接続線３１（接続線３１が、コメントアウト領域３４で分断された場合）に、コメントアウトされた場合に使用する代用値を持たせ（即ち、設定保持しておき）、コメントアウトされた場合にその代用値で実行させるようにして、文法エラーにしないようにする。ブジェクト１から出力される接続線に関しては、プログラムの実行に何ら影響しないので、特に処理をほどこさなくとも、通常エラーとはならない。
同様に図５に示すように、他の例として、接続線３２にも、コメントアウトされた場合に使用する代用値を設定保持しておき、コメントアウトされた場合にその代用値で実行させるようにして、文法エラーにしないようにする。同様に図６に示すように、他の例として、接続線３３にも、コメントアウトされた場合に使用する代用値を設定保持しておき、コメントアウトされた場合にその代用値で実行させるようにして、文法エラーにしないようにする。
【００３２】
図７は実施の形態１におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ２：接続線の有する代用値には、初期値が設定されている。
ステップ３：プログラマは、必要に応じて接続線の有する代用値を設定する。
ステップ４：プログラマは、必要に応じてコメントアウト領域を設定保持する。
ステップ５：プログラマは、プログラムのコード化を指示する操作を行う。
ステップ６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域で分断されている接続線は、接続線の有する代用値で実行する      ようにコード化される。
・  通常の接続線は，通常どおり（あるオブジェクトの出力値を別のオブジェクトの入力    値へ伝えるように）コード化される。
【００３３】
以上のように、実施の形態１では、コメントアウト領域を指定するコメントアウト領域指定手段と、上記コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、上記コメントアウト領域毎にコメントアウトされた場合の代用値を設定し保持する代用値設定保持手段とを有し、上記領域がコメントアウトされたときは、上記代用値設定保持手段で保持されたその領域の代用値で実行するようにした。
【００３４】
また、グラフィカルプログラムの接続線が、上記コメントアウト領域指定手段で指定されたコメントアウト領域で分断される場合には、上記代用値設定保持手段は上記コメントアウト領域の代用値としてその接続線に対応した代用値を保持し、その領域がコメントアウトされたときはその接続線に対応した代用値で実行するようにした。その結果、ＢＬＤにおいて、コメントアウトした場合に、一方の接続端点がコメントアウトされ、他方の接続端点はコメントアウトされていない、という状況が起こるが、その接続線を削除することなく（つまり、元のプログラムを何ら変えることなく）、代用値（デフォルト値）で代用することで、コメントアウトに係る作業効率を向上することができる。
【００３５】
実施の形態２．
実施の形態２を同様に、ＦＢＤ（ＢＬＤ）プログラミングへの適用を例として説明する。図１０は実施の形態２におけるプログラム作成装置を説明する図である。図１１は実施の形態２における他のプログラム作成装置を説明する図である。図１２は実施の形態２におけるさらに他のプログラム作成装置を説明する図である。
実施の形態１に対する別の解決策として、図１０に示すように、コメントアウト領域に、デフォルト値（コメントアウトされた場合に使用する代用値）を持たせ（即ち、設定保持しておき）、コメントアウトされたときに常にそのデフォルト値で実行させるようにして、文法エラーにしないようにする。この場合、コメントアウト領域が、等価的に、定数出力オブジェクトに置き換わるような振る舞いとなる。
【００３６】
図１１に示すように、コメントアウト領域指定手段で指定されたコメントアウト領域３４でグラフィカルプログラムの複数の接続線３１，３２が分断される場合には、代用値設定保持手段はコメントアウト領域３４の代用値としてその接続線３１，３２毎に対応した代用値１，代用値１１（デフォルト値１，デフォルト値１１）を保持し、その領域がコメントアウトされたときはその接続線３１，３２毎に対応した代用値１，代用値１１（デフォルト値１，デフォルト値１１）で実行するようにする。
同様に図１２に示すように、グラフィカルプログラムの接続線３３が分断される場合には、コメントアウト領域３５の代用値としてその接続線３３に対応した代用値（デフォルト値）を保持し、その領域がコメントアウトされたときはその接続線３３に対応した代用値（デフォルト値）で実行するようにする。
【００３７】
図１３は実施の形態２におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ２１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ２２：プログラマは、必要に応じてコメントアウト領域を設定保持する。
ステップ２３：コメントアウト領域が分断するグラフィカルプログラムの接続線の数は、プログラムを走査して、コメントアウト領域が分断するグラフィカルプログラムの接続線の数から取得し，それぞれの代用値に初期値を設定する。
ステップ２４：プログラマは、必要に応じてコメントアウト領域の有する代用値を設定する。
ステップ２５：プログラマは，プログラムのコード化を指示する操作を行う。
ステップ２６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域は、代用値を出力するようにコード化される。
・  コメントアウト領域で分断されている接続線は、コメントアウト領域の出力値を別      のオブジェクトの入力値へ伝えるように、コード化される。
・  通常の接続線は、通常どおり（あるオブジェクトの出力値を別のオブジェクトの入      力値へ伝えるように）コード化される。
【００３８】
実施の形態３．
実施の形態３のプログラム作成装置を、特にフローチャート，ＢＬＤ（ＦＢＤ），とラダー回路図（ＳＦＣ：sequential function chart）に適用して説明する。図１４は実施の形態３におけるプログラム作成装置を説明する図である。図１５は図１４にコメントアウト領域を指定し接続線を接続した状態を説明する図である。図１６は図１４のコメントアウト領域に代用プログラムを設定した状態を説明する図である。図１７は図１４のコメントアウト領域に他の代用プログラムを設定した状態を説明する図である。図１８は図１４のコメントアウト領域にさらに他の代用プログラムを設定した状態を説明する図である。図１９はコメントアウト領域にさらに代用プログラムを設定した状態を説明する図である。
【００３９】
図２０，図２１，図２２はそれぞれコメントアウト領域に代用プログラムを設定した状態を説明する図である。図２３，図２４はそれぞれコメントアウト領域に代用プログラムを設定した状態を説明する図である。
図１４で示すように、プログラミング開発途中であって、オブジェクト２に係る部分が未完成のため、オブジェクト１とオブジェクト３を取りあえずテストしたい場合などでは、オブジェクト２をコメントアウトする。
【００４０】
図１５に示すように、ＢＬＤのときでオブジェクト１の出力値をそのままオブジェクト３に入力したい場合や、フローチャートのときでオブジェクト１の次にオブジェクト３を続けたい場合には、このままの状態でオブジェクト２を無視すると文法エラーとなるので、その接続線３６を接続すれば良いが、それであると、コメントアウト機能とは言えない。
【００４１】
そこで、図１６に示すように、コメントアウト領域３５に、代用プログラム３７（コメントアウトされた場合に使用する代用プログラムで、ＢＬＤのときは代用回路と呼び、フローチャートのときは代用フローチャートと呼ぶ）を設定保持し、コメントアウトされたときにその代用プログラムで実行させるようにして、文法エラーにしないようにする。もちろん、代用プログラムにも文法エラーがないようチェックする。
【００４２】
図１７で示すように、オブジェクト２をコメントアウトして、オブジェクト４で代用したい場合には、代用回路にオブジェクト４を記述し設定保持し、その代用回路３７で実行させるようにして、文法エラーにしないようにする。同様に、図１８に示すように、代用回路３７にオブジェクト４とオブジェクト５を記述するなど、複数のオブジェクトを配することも可能である。
【００４３】
図１９に示すように、コメントアウト領域３８が有する入出力の数は、コメントアウトによって分断されている接続線の数である。接続線を含めて代用プログラムを設定保持しておく。同様にして、図２０，図２１に示すようにラダー回路図に適用した場合には、コメントアウト領域４０，４２に代用プログラム４１，４３を設定保持する。同様にして、ラダー回路図に適用した場合には、特に図２２も示すように、２ＲＵＮＧ以上にわたるコメントアウト領域４４にコメントアウト代用プログラム４５を設定保持して、記述が可能となる。
【００４４】
同様にして、ＳＦＣ回路図に適用した場合には、図２３に示すように、例えばオブジェクト２をコメントアウト領域４６でコメントアウトする場合には、代用プログラム４７を設定保持しておく。同様にして、ＳＦＣ回路図に適用した場合には、図２４に示すように、例えばオブジェクト２の前後に存在する遷移条件１をコメントアウト領域４８でコメントアウトする場合には、代用プログラム４９として遷移条件１’も含めて設定保持しておく。
【００４５】
図２５は実施の形態３におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ３１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ３２：プログラマは、必要に応じてコメントアウト領域を設定保持する。
ステップ３３：コメントアウト領域が分断するグラフィカルプログラムの接続線の数は、プログラムを走査して、コメントアウト領域が分断するグラフィカルプログラムの接続線の数から取得する。
ステップ３４：プログラマは、必要に応じて、コメントアウト領域が分断するグラフィカルプログラムの接続線を、コメントアウト領域の中で接合するように利用するなどして代用プログラムを記述し、代用プログラムはコメントアウト領域の有する代用プログラム設定保持手段に保持される。
ステップ３５：プログラマは、プログラムのコード化を指示する操作を行う。
ステップ３６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域内は，代用プログラムをもってコード化される。
・  コメントアウト領域で分断されている接続線は、あるオブジェクトの出力値をコメ      ントアウト領域の入力値へ伝えるように、コメントアウト領域の出力値を別のオブ      ジェクトの入力値へ伝えるように、コード化される。
・  通常の接続線は、通常どおり（あるオブジェクトの出力値を別のオブジェクトの入      力値へ伝えるように）コード化される。
【００４６】
実施の形態３は、以上のように、コメントアウト領域を指定するコメントアウト領域指定手段と、コメントアウト領域指定手段で指定されたコメントアウト領域を領域毎に保持するコメントアウト領域保持手段と、コメントアウト領域毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、上記領域がコメントアウトされたときは、代用プログラム設定保持手段で保持されたその領域の代用プログラムで実行するようにした。なお、コメントアウト領域毎に設定し保持する代用プログラムは、コメントアウト領域毎に２以上設定しておき、その領域がコメントアウトされた場合には、２以上の代用プログラムのいずれかを選択するようにしてもよい。
【００４７】
この結果、ＢＬＤ，フローチャート，またはラダー回路図において、コメントアウトした場合に、一方の接続端点がコメントアウトされ、他方の接続端点はコメントアウトされていない、という状況が起こるが、その接続線を削除することなく（つまり、元のプログラムを何ら変えることなく）、代用プログラムで代用することで、コメントアウトに係る作業効率を向上することができる。代用プログラムを、ユーザが設定することを可能にすることで、コメントアウトした部分に置き換えの仮を記述する機能を実現することができる。
【００４８】
実施の形態４．
実施の形態４のプログラム作成装置を、特にフローチャート，ＢＬＤ（ＦＢＤ），とラダー回路図（ＳＦＣ）に適用して説明する。図２６は実施の形態４におけるプログラム作成装置を説明する図である。図２７は実施の形態４におけるプログラム作成装置の他の例を説明する図である。図２８〜図３２は実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【００４９】
コメントアウトされる回路図（フローチャート）の状況によっては、代用回路（代用プログラム）を、自動的に設定することができる。例えば、コメントアウトされる回路図の入力数と出力数が同じであれば、入力と出力を単に並列に接続する回路に置き換えることで、ユーザが代用回路を入力する手間を省く。図２６に示すように、コメントアウト領域３５でコメントアウトされる回路図の入力数と出力数が、ともに１つであれば、それを単に接続する代用プログラマム５０で代用して処理を行う。
【００５０】
コメントアウト領域３８でコメントアウトされる回路図の入力数と出力数が、ともに２つ以上の同数であれば、それを単に並列に接続する代用プログラム５１で処理を行うが、図２７で示すように、グラフィカルプログラミングにおいては、二次元図形情報が意味を持つので、コメントアウトされる回路図の中で、上の接続線の入力と上の接続線の出力を接続するようにして、順に並列に接続する処理を行う。
【００５１】
同様にして、ラダー回路図に適用した場合には、図２８，図２９に示すように、コメントアウト領域４０，４２でコメントアウトした場合には、代用プログラム５２，５３の記述が可能になる。同様にして、ラダー回路図に適用した場合には、特に図３０のような２ＲＵＮＧ以上にわたって、コメントアウト領域４４でコメントアウトした場合には、コメントアウト代用プログラム５４の記述が可能となる。同様にして、ＳＦＣ回路図に適用した場合には、図３１に示すように、例えばオブジェクト２をコメントアウト領域４６でコメントアウトした場合には、代用プログラム５５の記述が可能になる。同様にして、ＳＦＣ回路図に適用した場合には、図３２に示すように、例えばオブジェクト２の前後に存在する遷移条件を含んでコメントアウト領域４８でコメントアウトした場合には、代用プログラム５６の記述が可能になる。
【００５２】
図３３は実施の形態４におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ４１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ４２：プログラマは、必要に応じてコメントアウト領域を設定する。
ステップ４３：コメントアウト領域が分断するグラフィカルプログラムの接続線の数を取得する手段は、プログラムを走査して、コメントアウト領域が分断するグラフィカルプログラムの接続線の数から取得する。
ステップ４４：プログラマは、必要に応じて、コメントアウト領域に対して代用プログラムを記述するか、または、代用プログラムの自動認識を指示する操作を行う。代用プログラムはコメントアウト領域の有する代用プログラム設定保持手段に保持される。
ステップ４５：プログラマは、プログラムのコード化を指示する操作を行う。
ステップ４６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域内は、代用プログラムをもってコード化される。
・  コメントアウト領域で分断されている接続線は、あるオブジェクトの出力値をコメ      ントアウト領域の入力値へ伝えるように、コメントアウト領域の出力値を別のオブ      ジェクトの入力値へ伝えるように、コード化される。
・  通常の接続線は、通常どおり（あるオブジェクトの出力値を別のオブジェクトの入      力値へ伝えるように）コード化される。
【００５３】
実施の形態４は、以上のように、コメントアウト領域指定手段で指定されたコメントアウト領域が分断するグラフィカルプログラムの接続線の数を取得する手段を有し、上記コメントアウト領域に対して入力される接続線の数と、上記コメントアウト領域から出力される接続線の数が同じ場合には、上記コメントアウト領域に対して、入力と出力を単に直線で結んだ代用プログラムを自動的に設定し保持する代用プログラム設定保持手段を有する。
【００５４】
この結果、ＢＬＤ，フローチャート，またはラダー回路図において、コメントアウトした場合に、一方の接続端点がコメントアウトされ、他方の接続端点はコメントアウトされていない、という状況が起こるが、その接続線を削除することなく（つまり、元のプログラムを何ら変えることなく）、代用プログラムで代用することで、コメントアウトに係る作業効率を向上することができる。代用プログラムを、ユーザが設定することを可能にすることで、コメントアウトした部分に置き換えの仮を記述する機能を実現することができる。代用プログラムを、自動的に置き換えすることで、コメントアウトに係る作業効率をさらに向上することができる。
【００５５】
実施の形態５．
図３４は実施の形態５におけるプログラム作成装置を説明する図である。図３５は実施の形態５における他のプログラム作成装置を説明する図である。図３４に示すように、コメントアウト領域３５に、代用回路（代用プログラム）を１種類以上設定保持し、それぞれの代用プログラム５７，５８に、種別Ａ，Ｂを持たせる。
【００５６】
プログラマが、プログラムのコード化を操作する際に、コメントアウト領域３５に対して適用する１つ以上の代用プログラム５７，５８の中から、どの種別Ａ，Ｂの代用プログラム５７，５８を適用するか、その種別を指定してから、コード化を指示すると、コメントアウト領域３５を含むプログラムを実行形式に変換する変換手段は、指定された種別に対応するコメントアウト領域３５の代用プログラムの記載がない場合（つまり、たまたま、該当コメントアウ領域に代用プログラムの該当種別に代用プログラムが記載されていない場合）には、コメントアウト領域３５のプログラムを無視したプログラムまたは自動的に設定された代用プログラムを実行形式に変換し、指定された種別に対応するコメントアウト領域３５の代用プログラム５７，５８の記載があった場合には、コメントアウト領域３５のプログラムの代わりに指定された代用プログラムを適用してプログラムを実行形式に変換する。
【００５７】
同様にして、プログラマが、プログラムのコード化を操作する際には、プログラム作成装置は、プログラムが文法的に正しいかを判定するが、その判定手段は、指定された種別に対応するコメントアウト領域の代用プログラムの記載がない場合には、コメントアウト領域のプログラムを無視したプログラム全体または自動的に設定された代用プログラムを適用したプログラム全体に対して判定を行い、指定された種別に対応するコメントアウト領域の代用プログラムの記載があった場合には、コメントアウト領域のプログラムの代わりに代用プログラムを適用したプログラム全体に対して判定を行う。
【００５８】
プログラマがプログラムのコード化を操作する際に、コメントアウト領域に対して適用する１つ以上の代用プログラムの中からどの種別の代用プログラムを適用するかは、プログラム作成装置でただ１つ指定しても良いし、一般に大規模プログラムはプログラムを分割して作成するので、分割して作成されたプログラム単位で指定しても良い。
【００５９】
例えば、図３５で示すように、プログラム作成装置で「種別＝Ａ」を指定すると、プログラム全体に対して「種別＝Ａ」が適用されることになり、分割して作成されたプログラム１もプログラム２も「種別＝Ａ」の代用プログラムが適用されるが、プログラム１では「種別＝Ａ」を指定し、プログラム２では「種別＝Ｂ」を指定した場合には、プログラム１の中に含まれるコメントアウト領域にはすべて「種別＝Ａ」の代用プログラムが適用され、プログラム２の中に含まれるコメントアウト領域にはすべて「種別＝Ｂ」の代用プログラムが適用される。
【００６０】
図３６は実施の形態５におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ５１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ５２：プログラマは、必要に応じてコメントアウト領域を設定する。
ステップ５３：コメントアウト領域が分断するグラフィカルプログラムの接続線の数を取得する手段は、プログラムを走査して、コメントアウト領域が分断するグラフィカルプログラムの接続線の数から取得する。
ステップ５４：プログラマは、必要に応じて、コメントアウト領域に対して，代用プログラムの種別を指定した上で，代用プログラムを記述するか、または、代用プログラムの自動認識を指示する操作を行う。代用プログラムはコメントアウト領域の有する代用プログラム設定保持手段に保持される。
ステップ５５：プログラマは、プログラムのコード化を指示する操作を行う。このとき、必要に応じて、代用プログラムの種別を指定する。
ステップ５６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域内は、指定された種別の代用プログラムをもってコード化され      る。
・  コメントアウト領域で分断されている接続線は、あるオブジェクトの出力値をコメ      ントアウト領域の入力値へ伝えるように、コメントアウト領域の出力値を別のオブ      ジェクトの入力値へ伝えるように、コード化される。
・  通常の接続線は、通常どおり（あるオブジェクトの出力値を別のオブジェクトの入      力値へ伝えるように）コード化される。
【００６１】
実施の形態５では、以上説明したように、代用プログラム設定保持手段はコメントアウト領域に対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種別から１つを指定する指定手段を有し、上記コメントアウト領域を含むプログラムを実行形式に変換するときは、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がない場合には、上記コメントアウト領域のプログラムを無視したプログラムまたは自動的に設定された代用プログラムを実行形式に変換し、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がある場合には、上記コメントアウト領域のプログラムの代わりに代用プログラムを適用してプログラムを実行形式に変換する。
【００６２】
また、実施の形態５では、代用プログラム設定保持手段はコメントアウト領域に対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種類から１つを指定する指定手段を有し、上記コメントアウト領域を含むプログラムが文法的に正しいかを判定するときは、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がない場合には、上記コメントアウト領域のプログラムを無視したプログラム全体または自動的に設定された代用プログラムを適用したプログラム全体に対して判定を行い、上記指定手段で指定された種別に対応する上記コメントアウト領域の代用プログラムの記載がある場合には上記コメントアウト領域のプログラムの代わりに代用プログラムを適用したプログラム全体に対して判定を行う。
【００６３】
その結果、代用プログラムとして、１つ以上の複数種別を記載することを可能にすることで、コメントアウトに係る作業効率をさらに向上することができる。また、１つ以上の複数種別の代用プログラムの中から、どの代用プログラムを適用するかを、上位で一括して指定できる機能を備えれば、コメントアウト領域に個々に一々どの代用プログラムを適用するかを指定する手間を省くことができるので、コメントアウトに係る作業効率をさらに向上することができる。
【００６４】
実施の形態６．
実施の形態６のプログラム作成装置では、コメントアウトの方式が領域指定ではなくて、個々指定である場合について説明する。プログラム言語が表形式である実施の形態を記載する。図３７は実施の形態６におけるプログラム作成装置の適用例を説明する図である。図３８は実施の形態６におけるプログラム作成装置を説明する図である。図３９，図４０はそれぞれ実施の形態６におけるプログラム作成装置の他の例を説明する図である。
【００６５】
図３７において、プログラミング開発途中でオブジェクト２に係る部分が未完成のため、オブジェクト１とオブジェクト３を取りあえずテストしたい場合がある。オブジェクト２をコメントアウトするのに（上述までの実施の形態では、コメントアウト領域を指定し、その領域に含まれるオブジェクトを、コメントアウトとして解釈していたが）、コメントアウトしたいオブジェクト２に直接、コメントアウトを設定する。つまり、各オブジェクトに、自分自身がコメントアウトであるか否かの設定を保持する手段を持たせ、プログラム開発者が、コメントアウトか否かをオブジェクト単位で設定するものである。
【００６６】
図３８に示すように、コメントアウトの代用プログラム５９は、オブジェクト毎に保有する。つまり、実施の形態１〜５におけるコメントアウト領域の機能を、個々のオブジェクトが有している以外、実施の形態１〜５に記載のものと同じである。
【００６７】
図４１は実施の形態６におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ６１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ６２：個々のオブジェクトは、初期状態では，コメントアウトが否の状態である。
ステップ６３：プログラマは、必要に応じて、個々のオブジェクトに対して、コメントアウトを肯の状態に設定する。
ステップ６４：プログラマは、必要に応じて、コメントアウトされているオブジェクトに対して、代用プログラムの種別を指定（実施の形態５の場合）した上で，代用プログラムを記述（実施の形態３の場合）するか，または，代用プログラムの自動認識を指示する操作（実施の形態４の場合）を行う。代用プログラムはコメントアウトされているオブジェクトの有する代用プログラム設定保持手段に保持される。
ステップ６５：プログラマは、プログラムのコード化を指示する操作を行う。このとき、必要に応じて、代用プログラムの種別を指定する。
ステップ６６：プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは、通常どおりコード化される。
・  コメントアウト領域内は、指定された種別の代用プログラムをもってコード化され      る。
・  コメントアウト領域で分断されている接続線は，あるオブジェクトの出力値をコメ      ントアウト領域の入力値へ伝えるように、コメントアウト領域の出力値を別のオブ      ジェクトの入力値へ伝えるように、コード化される。
・  通常の接続線は、通常どおり（あるオブジェクトの出力値を別のオブジェクトの入      力値へ伝えるように）コード化される。
【００６８】
実施の形態６は、全てのグラフィカルプログラミングに適用できるが、特に表形式プログラミングにおいては、この手法でしかコメントアウト作業が遂行できない。表形式プログラムは、プログラマブルな検査装置において、検査内容を記述するために主に用いられるプログラムである。プログラム実行手段は、表形式プログラムに記述された合否判定基準に基づいて合否判定する。また表形式プログラムに記述されている内容に応じて、データを書き込んだり、合否判定結果に応じて、実行する処理を切り換える。
【００６９】
実施の形態６と同様にして、表形式プログラムに適用した場合には、図３９のようになる。コメントアウトの代用記述（代用プログラム）は、オブジェクト毎（セル毎）で設定保有される。特に表形式プログラムの場合には、ソフトウェア構造が、行管理オブジェクトや列管理オブジェクトを設けて、それらがセルオブジェクトを保有するようなアーキテクチャとするので、行単位や列単位でのコメントアウトを指定する機能を提供することが可能となる。図４０では、列管理オブジェクトのみ記載したが、構造は行管理オブジェクトでも同じことである。
【００７０】
実施の形態６では、以上説明したように、プログラムの要素となるオブジェクトに対してコメントアウトであるか否かの設定を行うコメントアウト設定手段と、上記オブジェクト毎に上記コメントアウト設定手段で設定されたコメントアウトであるか否かの設定を保持するコメントアウト設定保持手段と、設定されたコメントアウトオブジェクト毎にコメントアウトされた場合の代用プログラムを設定し保持する代用プログラム設定保持手段とを有し、上記コメントアウトオブジェクトがコメントアウトされたときは、上記代用プログラム設定保持手段で保持されたそのオブジェクトの代用プログラムで実行する。
【００７１】
また、コメントアウト設定手段で設定されたコメントアウトオブジェクトに接続されるグラフィカルプログラムの接続線の数を取得する手段を有し、上記コメントアウトオブジェクトに対して入力される接続線の数と、上記コメントアウトオブジェクトから出力される接続線の数が同じ場合には、上記コメントアウトオブジェクトに対して、入力と出力を単に直線で結んだ代用プログラムを自動的に設定し保持する代用プログラム設定保持手段を有する。
【００７２】
また、代用プログラム設定保持手段はコメントアウトオブジェクトに対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種別から１つを指定する指定手段を有し、上記コメントアウトオブジェクトを含むプログラムを実行形式に変換するときは、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がない場合には、上記コメントアウトオブジェクトのプログラムを無視したプログラムまたは自動的に設定された代用プログラムを実行形式に変換し、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がある場合には、上記コメントアウトオブジェクトのプログラムの代わりに代用プログラムを適用してプログラムを実行形式に変換する。
【００７３】
さらに、代用プログラム設定保持手段はコメントアウトオブジェクトに対してコメントアウトされた場合の代用プログラムを複数種別設定し保持し、上記代用プログラムの複数種類から１つを指定する指定手段を有し、上記コメントアウトオブジェクトを含むプログラムが文法的に正しいかを判定するときは、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がない場合には、上記コメントアウトオブジェクトのプログラムを無視したプログラム全体または自動的に設定された代用プログラムを適用したプログラム全体に対して判定を行い、上記指定手段で指定された種別に対応する上記コメントアウトオブジェクトの代用プログラムの記載がある場合には上記コメントアウトオブジェクトのプログラムの代わりに代用プログラムを適用したプログラム全体に対して判定を行う。
【００７４】
これらの結果、オブジェクト毎にコメントアウトを指定する場合でも、実施の形態１〜５の効果が得られる。オブジェクト毎にコメントアウトを指定できるので、特に表形式プログラムのコメントアウト機能においては、セル単位でのコメントアウト、行単位または列単位での一括したコメントアウトを行い、その代用プログラムの記述がそれぞれ可能となる。これにより、表形式プログラム全体にわたって検査条件を変更する場合などには、一発操作だけでその変更を行うことが可能となり、作業効率が向上する。
【００７５】
実施の形態７．
実施の形態７のプログラム作成装置では、プログラム言語が表示器の作画プログラムである例について記載する。図４２は実施の形態７におけるプログラム作成装置の適用例を説明する図である。図４３は実施の形態７におけるプログラム作成装置を説明する図である。図４４は実施の形態７におけるプログラム作成装置の他の例を説明する図である。
【００７６】
プログラミング開発途中であって、オブジェクト１に係る部分が未完成のため、オブジェクト１以外のオブジェクトを取りあえずテストしたい場合がある。この場合は、オブジェクト１をコメントアウトする。図４２で示すように、表示器プログラミングの場合には、フローチャートやＢＬＤのようなオブジェクト間の関係を指定するための接続線がないので、コメントアウトされているオブジェクトを単に無視するだけでよい。
【００７７】
単にコメントアウトするだけではなく、コメントアウトされているオブジェクトの代わりに別のオブジェクトを使用する場合には、図４３に示すように、コメントアウト領域またはコメントアウトされたオブジェクトに、代用オブジェクトを設定保持し、その代用オブジェクトで実行させるようにする。特にこの場合は、表示部品の代用であるから、代用オブジェクトの位置と大きさは、コメントアウトされているオブジェクトの位置と大きさの値を、そのまま使用する。つまり、コメントアウトオブジェクトは、内包する（＝コメントアウトされる）オブジェクトから、位置と大きさの情報を取得し、ユーザが指定する代用プログラムの位置と大きさの値として、設定する機能を有している。図４４に示す。
【００７８】
図４５は実施の形態７におけるプログラム作成装置の操作手順を示すフローチャートである。
ステップ７１：プログラマは、従来どおりのグラフィカルプログラミングを行う。
ステップ７２：個々のオブジェクトは、初期状態では、コメントアウトが否の状態である。
ステップ７３：プログラマは、必要に応じて、個々のオブジェクトに対して、コメントアウトを肯の状態に設定する。
ステップ７４：プログラマは、必要に応じて、コメントアウトされているオブジェクトに対して、代用プログラムの種別を指定（実施の形態５の場合）した上で，代用プログラムを記述（実施の形態３の場合）する。このとき，代用プログラムの位置または大きさまたはその両方を、コメントアウトされたオブジェクトから取得し適用する。代用プログラムはコメントアウトされているオブジェクトの有する代用プログラム設定保持手段に保持される。
ステップ７５：プログラマは、プログラムのコード化を指示する操作を行う。このとき、必要に応じて，代用プログラムの種別を指定する。
ステップ７６
プログラムのコード化手段は、
・  コメントアウト領域に含まれているオブジェクトは無視される。
・  通常のオブジェクトは，通常どおりコード化される。
・  コメントアウト領域内は，指定された種別の代用プログラムをもってコード化され      る。
【００７９】
以上説明したように、実施の形態７によれば、表示器プログラムにおいて、コメントアウトが可能であり、コメントアウトに係る作業効率を向上することができる。また、表示器プログラムにおいて、コメントアウトしたオブジェクトに対して、代用プログラムを、ユーザが設定することを可能にすることで、コメントアウトした部分に置き換えの仮を記述する機能を実現することができる。さらに、コメントアウトされるオブジェクトに対して、代用プログラムの位置や大きさの情報を、自動的に設定することで、コメントアウトに係る作業効率をさらに向上することができる。
【図面の簡単な説明】
【００８０】
【図１】この発明の実施の形態１におけるプログラム作成装置の適用表示例を説明する図である。
【図２】図１にコメントアウト領域を指定した状態を説明する図である。
【図３】図２の接続線を削除した状態を説明する図である。
【図４】図２の接続線に代用値を設定した状態を説明する図である。
【図５】実施の形態１における接続線に代用値を設定した他の例を示す図である。
【図６】実施の形態１における接続線に代用値を設定したさらに他の例を示す図である。
【図７】実施の形態１におけるプログラム作成装置の操作手順を示すフローチャートである。
【図８】実施の形態１のプログラム作成装置が適用できるプログラマブル検査装置を示すブロック図である。
【図９】実施の形態１のプログラマブル検査装置の構成を示すブロック図である。
【図１０】実施の形態２におけるプログラム作成装置を説明する図である。
【００８１】
【図１１】実施の形態２における他のプログラム作成装置を説明する図である。
【図１２】実施の形態２におけるさらに他のプログラム作成装置を説明する図である。
【図１３】実施の形態２におけるプログラム作成装置の操作手順を示すフローチャートである。
【図１４】実施の形態３におけるプログラム作成装置を説明する図である。
【図１５】図１４にコメントアウト領域を指定し接続線を接続した状態を説明する図である。
【図１６】図１４のコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図１７】図１４のコメントアウト領域に他の代用プログラムを設定した状態を説明する図である。
【図１８】図１４のコメントアウト領域にさらに他の代用プログラムを設定した状態を説明する図である。
【図１９】実施の形態３におけるコメントアウト領域にさらに代用プログラムを設定した状態を説明する図である。
【００８２】
【図２０】実施の形態３におけるコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図２１】実施の形態３におけるコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図２２】実施の形態３におけるコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図２３】実施の形態３におけるコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図２４】実施の形態３におけるコメントアウト領域に代用プログラムを設定した状態を説明する図である。
【図２５】実施の形態３におけるプログラム作成装置の操作手順を示すフローチャートである。
【図２６】実施の形態４におけるプログラム作成装置を説明する図である。
【図２７】実施の形態４におけるプログラム作成装置の他の例を説明する図である。
【図２８】実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【図２９】実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【図３０】実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【００８３】
【図３１】実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【図３２】実施の形態４におけるプログラム作成装置のさらに他の例を説明する図である。
【図３３】実施の形態４におけるプログラム作成装置の操作手順を示すフローチャートである。
【図３４】実施の形態５におけるプログラム作成装置を説明する図である。
【図３５】実施の形態５における他のプログラム作成装置を説明する図である。
【図３６】実施の形態５におけるプログラム作成装置の操作手順を示すフローチャートである。
【図３７】実施の形態６におけるプログラム作成装置の適用例を説明する図である。
【図３８】実施の形態６におけるプログラム作成装置を説明する図である。
【図３９】実施の形態６におけるプログラム作成装置の他の例を説明する図である。
【図４０】実施の形態６におけるプログラム作成装置の他の例を説明する図である。
【００８４】
【図４１】実施の形態６におけるプログラム作成装置の操作手順を示すフローチャートである。
【図４２】実施の形態７におけるプログラム作成装置の適用例を説明する図である。
【図４３】実施の形態７におけるプログラム作成装置を説明する図である。
【図４４】実施の形態７におけるプログラム作成装置の他の例を説明する図である。
【図４５】実施の形態７におけるプログラム作成装置の操作手順を示すフローチャートである。
【図４６】従来の一般的なグラフィカルプログラミングの表示例を説明する図である。
【図４７】一般的にプログラムを変換して実行させる様子を説明する図である。
【図４８】一般的にプログラム作成装置とプログラム実行手段の関係を説明する図である。
【図４９】従来のコメントアウトの例を示す図である。
【図５０】従来のコメントアウトの別の例を示す図である。
【００８５】
【図５１】コメントアウト領域を指定し文法違反しないように編集する様子を説明する図である。
【図５２】コメントアウト領域を指定し文法違反しないように編集する様子を説明する図である。
【図５３】従来のコメントアウトされたオブジェクトとその仮となるオブジェクトの例を示す図である。
【図５４】従来の表形式によるプログラム方式の場合において、コメントアウトした部分に伴って加えられた編集の部分を説明する図である。
【符号の説明】
【００８６】
１２  オブジェクトの集合                １３  編集エリア
１４  接続線                            １５  プログラム作成装置
１６  プログラム実行手段                １７  搬入機
１８  検査ステーション                  １９  搬出機
２０  プログラマブル検査装置            ２１  検査対象
２３  ＣＰＵ                            ２４  ＲＯＭ
２５  ＲＡＭ                            ２６  表示装置
２７  入力装置                          ２８  Ｉ／Ｏ
２９  Ｄ／Ａ                            ３０  Ａ／Ｄ
３１  接続線                            ３２  接続線
３３  接続線                            ３４  コメントアウト領域
３５  コメントアウト領域                ３６  接続線
３７  代用プログラム                    ３８  コメントアウト領域
３９  代用プログラム                    ４０  コメントアウト領域
４１  代用プログラム                    ４２  コメントアウト領域
４３  代用プログラム                    ４４  コメントアウト領域
４５  代用プログラム                    ４６  コメントアウト領域
４７  代用プログラム                    ４８  コメントアウト領域
４９〜５９  代用プログラム。
【図１】
2005309593.tif 000003
【図２】
2005309593.tif 000004
【図３】
2005309593.tif 000005
【図４】
2005309593.tif 000006
【図５】
2005309593.tif 000007
【図６】
2005309593.tif 000008
【図７】
2005309593.tif 000009
【図８】
2005309593.tif 000010
【図９】
2005309593.tif 000011
【図１０】
2005309593.tif 000012
【図１１】
2005309593.tif 000013
【図１２】
2005309593.tif 000014
【図１３】
2005309593.tif 000015
【図１４】
2005309593.tif 000016
【図１５】
2005309593.tif 000017
【図１６】
2005309593.tif 000018
【図１７】
2005309593.tif 000019
【図１８】
2005309593.tif 000020
【図１９】
2005309593.tif 000021
【図２０】
2005309593.tif 000022
【図２１】
2005309593.tif 000023
【図２２】
2005309593.tif 000024
【図２３】
2005309593.tif 000025
【図２４】
2005309593.tif 000026
【図２５】
2005309593.tif 000027
【図２６】
2005309593.tif 000028
【図２７】
2005309593.tif 000029
【図２８】
2005309593.tif 000030
【図２９】
2005309593.tif 000031
【図３０】
2005309593.tif 000032
【図３１】
2005309593.tif 000033
【図３２】
2005309593.tif 000034
【図３３】
2005309593.tif 000035
【図３４】
2005309593.tif 000036
【図３５】
2005309593.tif 000037
【図３６】
2005309593.tif 000038
【図３７】
2005309593.tif 000039
【図３８】
2005309593.tif 000040
【図３９】
2005309593.tif 000041
【図４０】
2005309593.tif 000042
【図４１】
2005309593.tif 000043
【図４２】
2005309593.tif 000044
【図４３】
2005309593.tif 000045
【図４４】
2005309593.tif 000046
【図４５】
2005309593.tif 000047
【図４６】
2005309593.tif 000048
【図４７】
2005309593.tif 000049
【図４８】
2005309593.tif 000050
【図４９】
2005309593.tif 000051
【図５０】
2005309593.tif 000052
【図５１】
2005309593.tif 000053
【図５２】
2005309593.tif 000054
【図５３】
2005309593.tif 000055
【図５４】
2005309593.tif 000056