(57)【要約】【課題】本発明は、稼動中の制御プログラムの分岐点を含む接続点を有するダイアグラムのデバッグが容易に行えるプログラマブルコントローラのダイアグラムのデバッグシステムを提供する。【解決手段】シンボル間を結ぶ接続点に対して、接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する制御プログラムを作成する制御プログラム編集処理部１１ａと、第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数のいずれかを、また、第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース処理部１１ｂとを備える。【選択図】図１
2010122824.tif 000002
【特許請求の範囲】
【請求項１】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムであって、
前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令・第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部と
を備えるプログラミング装置において、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、
さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、
前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、
さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップと
から成るデバッグプログラムを生成し、
前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入して、ダイアグラムのデバッグが行なえるようにしたことを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステム。
【請求項２】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムであって、
前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部と
を備えるプログラミング装置において、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、
前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、
前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、
さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップと
から成るデバッグプログラムを生成し、
前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入して、ダイアグラムのデバッグが行なえるようにしたことを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステム。
【請求項３】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラミング装置であって、
前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部と
を備え、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、
さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、
前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、
さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップと
から成るデバッグプログラムを生成し、
前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入するようにしたことを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステムのプログラミング装置。
【請求項４】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラミング装置であって、
前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部と
を備え、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、
前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、
前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、
さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップと
から成るデバッグプログラムを生成し、
前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入るようにしたことを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステムのプログラミング装置。
【請求項５】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラムであって、
前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／接続先を指定する第２の命令／第２の内部変数とを生成する前記制御プログラムを作成する制御プログラム編集機能と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理機能と
を備え、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、
さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、
前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、
さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップと
から成るデバッグプログラムであることを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステムのプログラム。
【請求項６】
ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラムであって、
前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／接続先を指定する第２の命令／第２の内部変数とを生成する前記制御プログラムを作成する制御プログラム編集機能と、
前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理機能と
を備え、
前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、
前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、
前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、
前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、
さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップと
から成るデバッグプログラムであることを特徴とするプログラマブルコントローラのダイアグラムのデバッグシステムのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鉄鋼プラント、製紙プラント、化学プラント等のプラント制御装置に係り、特に、ラダーダイアグラム（ＬＤ）言語、ファンクションブロックダイアグラム（ＦＢＤ）言語を使用したプログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラムに関する。
【背景技術】
【０００２】
一般に、鉄鋼、製紙プラントや自動車産業などの組立作業を含むＦＡ(Factory Automation)分野、化学プラントなどのＰＡ(Process Automation)分野、上下水道システム等の公共システムなど、産業用システムの監視、制御分野では、図式言語で記述された制御プログラムを使用するプログラマブルコントローラ（以後、ＰＬＣと称す）が広く用いられている。
【０００３】
このＰＬＣの図式言語は、国際電気標準会議による国際規格ＩＥＣ６１１３１−３で規定されているグローバル言語が採用されている。
【０００４】
そして、このような言語を使用したプログラミングツールとしては、プログラミングソフトウェア（ラダーエディタなど）が普及し、パソコンにおいてダイアグラムがシンボルを含む形態で作成できるので、ダイアグラムに基づくプログラムの作成及び編集が容易に行えるようになっている。
【０００５】
通常、作成されたプログラムは、当初の設計通りに正しく動作させるために、デバッグでプログラムの修正や変更が施されて完成される。このデバッグにおいては、ＰＬＣに機器が接続された状態でプログラムを実行させて、設計通りに機器が動作しているかどうかを確認する。
【０００６】
パソコンの表示画面上でダイアグラムを作成するラダーエディタにおいては、デバッグにおいて、接点を強制的にＯＮ・ＯＦＦさせるシミュレーションによってダイアグラムの動作を確認することができるモードを備えている。
【０００７】
例えば、ラダーエディタがWindows（Ｒ）システム上で動作するアプリケーションとしてパソコンにインストールされている場合、テストモード（デバッグモード）を設定し、この状態で、接点のＯＮ・ＯＦＦを指示するダイアログボックスを表示させ、この操作画面を使用して接点のＯＮ・ＯＦＦを設定する。
【０００８】
しかしながら、このような操作によるデバッグでは、ＯＮさせる接点数が多くなるほど手間が多くなり、デバッグの作業効率が著しく低下する不都合を解消するため、デバッグの間だけ幾つかの接点をまとめてダミーの回路に置き換えて、ＯＮさせる接点を必要最小限に限定させることによって上記のような手間を省く方法もある。
【０００９】
ところが、このような方法では、デバッグが終了した後には、ダミー回路を元の回路に戻す必要があり、これを忘れると、プログラムが正常に動作しないといったトラブルを発生させる可能性がある。
【００１０】
そこで、接点を強制的にＯＮさせるシミュレーションに要する操作を簡素化することによって、プログラムのデバッグ作業の効率化を図るために、ダイアグラムにおける入出力側母線間の接続線上に配置された接点のうちＯＮ・ＯＦＦさせる接点を入力側母線からの規定の経路で指定する指定処理と、指定された接点を一括してＯＮ・ＯＦＦするＯＮ・ＯＦＦ処理とを行う方法が開示されている。（例えば、特許文献１参照。）。
【特許文献１】特開２０００−２７６２１２号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、ダイアグラムのデバッグ中において、接点等の命令語に対して、その変数の値を強制的に設定して、デバッグをする方法（接点フォースとも言う）は知られているものの、分岐点を含む接続点には変数を設定することができないので、該接続点以降のデバッグが容易に行えない問題がある。
【００１２】
また、デバッグ等のためにダミー回路を製作する方法では、プログラムを復旧するための作業が必要になることや、その作業が正しく行なわれない可能性もあるので、新たな問題が発生する可能性がある。
【００１３】
さらに、稼動中の制御プログラムの場合には、その動作を一端停止し、ダイアグラム（回路図）を変更してデバッグに入る必要があるなど、手間が掛かる問題がある。
【００１４】
以上のように、ダイアグラムのデバッグには、デバッグしたい回路を他の回路と切り離し、接続点を含む回路のバイパス回路を形成したり、予め設定された内部変数を切替えて切断した接続点から印加したり、複数の接続点を有するダイアグラムの領域を予め設定し領域内の内部接続線を切断したりすることなど、種々のデバッグ目的に応じたダイアグラムの接続先を変更する場合が発生する。
【００１５】
このようなダイアグラムの接続先を変更してデバッグする場合、元の制御プログラムの接続点の命令を置換して、その接続点に複数の命令数（ステップ数）で構成するデバッグプログラムを挿入する場合には、ステップ数が変更されたプログラムを実行するために、コントローラ側のメモリ領域を変更する必要が生じるので、デバッグプログラムを挿入したり元のプログラムに復元したりすることが簡単に行なえない問題がある。
【００１６】
本発明は上記問題点を解決するためになされたもので、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上に表示して作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのダイアグラムのデバッグシステムにおいて、その接続点に複数の命令数（ステップ数）で構成するデバッグプログラムを挿入する場合に、簡単にデバッグプログラムを挿入したり元のプログラムに復元したりすることができるプログラマブルコントローラのダイアグラムのデバッグシステム、及びそのプログラミング装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
上記目的を達成するために、本発明の請求項１に係るプログラマブルコントローラのダイアグラムのデバッグシステムは、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムであって、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令・第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部とを備えるプログラミング装置において、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップとから成るデバッグプログラムを生成し、前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入して、ダイアグラムのデバッグが行なえるようにしたことを特徴とする。
【００１８】
上記目的を達成するために、本発明の請求項２に係るプログラマブルコントローラのダイアグラムのデバッグシステムは、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムであって、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部とを備えるプログラミング装置において、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップとから成るデバッグプログラムを生成し、前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入して、ダイアグラムのデバッグが行なえるようにしたことを特徴とする。
【００１９】
上記目的を達成するために、本発明の請求項３に係るプログラマブルコントローラのダイアグラムのデバッグシステムのプログラミング装置は、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラミング装置であって、前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部とを備え、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップとから成るデバッグプログラムを生成し、前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入するようにしたことを特徴とする。
【００２０】
上記目的を達成するために、本発明の請求項４に係るプログラマブルコントローラのダイアグラムのデバッグシステムのプログラミング装置は、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラミング装置であって、前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成する前記オブジェクト制御プログラムを作成する制御プログラム編集処理部と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理部とを備え、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、
さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップとから成るデバッグプログラムを生成し、前記デバッグプログラムを前記コントローラに送信して前記オブジェクト制御プログラムを書き換え、前記オブジェクト制御プログラムの実行中に、前記接続点に前記デバッグプログラムを挿入るようにしたことを特徴とする。
【００２１】
本発明の請求項５の係るプログラマブルコントローラのダイアグラムのプログラミング装置のプログラムは、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラムであって、前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／接続先を指定する第２の命令／第２の内部変数とを生成する前記制御プログラムを作成する制御プログラム編集機能と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理機能とを備え、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記コントローラの前記オブジェクト制御プログラムが記憶されるメモリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを第３の内部変数とする前記第３の「ＪＵＭＰ」命令ステップと、
さらに、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムステップと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令ステップと、前記オブジェクト制御プログラムの第２の命令のステップ先を内部変数とする「ＪＵＭＰ」命令ステップと、さらに、前記演算結果を第２の内部変数として書き込む前記第２「ＬＯＡＤ」命令ステップとから成るデバッグプログラムであることを特徴とする。
【００２２】
本発明の請求項６の係るプログラマブルコントローラのダイアグラムのプログラミング装置のプログラムは、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上で作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのプログラミング装置と、前記オブジェクト制御プログラムをローディングして実行する前記プログラマブルコントローラとから成るダイアグラムのデバックシステムのプログラムであって、前記プログラミング装置は、前記ダイアグラムを生成し、前記表示画面上に表示された前記ダイアグラムのシンボル間を結ぶ接続点に対して、前記接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／接続先を指定する第２の命令／第２の内部変数とを生成する前記制御プログラムを作成する制御プログラム編集機能と、前記第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、該第３の命令／第３の内部変数のいずれかを、また、前記第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、該第４の命令／第４の内部変数のいずれかを書き換えることを指令するワイヤフォース設定処理機能とを備え、前記第１の命令は、「ＳＴＯＲＥ」命令、前記第２の命令は「ＬＯＡＤ」命令から成る接続点対して、前記第４の命令とその内部変数は、その前記オブジェクト制御プログラムが記憶されるメリエリアと異なるメモリエリアに記憶させるデバッグプログラムの先頭アドレスを内部変数とする「ＪＵＭＰ」命令と、前記先頭アドレスのステップでは、前記第１の内部変数を「ＬＯＡＤ」する命令ステップと、前記前記先頭アドレスを開始ステップとする複数の命令群からなるプログラムと、前記プログラムの演算結果を前記第１の内部変数として記憶する「ＳＲＯＲＥ」命令と、前記第１の内部変数として書き込む「ＬＯＡＤ」命令ステップと、さらに、前記第２の命令の次の命令のステップ先を内部変数とする、前記オブジェクト制御プログラムに復帰させる「ＪＵＭＰ」命令ステップとから成るデバッグプログラムであることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、ラダーダイアグラム言語、ファンクションブロックダイアグラム言語で作成されるダイアグラムを表示画面上に表示して作成し、該ダイアグラムに基づくオブジェクト制御プログラムを作成するプログラマブルコントローラのダイアグラムのデバッグシステムにおいて、その接続点に複数の命令数（ステップ数）で構成するデバッグプログラムを挿入する場合に、簡単にデバッグプログラムを挿入したり元のプログラムに復元したりすることができるプログラマブルコントローラのダイアグラムのデバッグシステム、及びそのプログラミング装置及びそのプログラムを提供することが出来る。
【発明を実施するための最良の形態】
【００２４】
以下図を参照して説明する。
【実施例１】
【００２５】
以下、本発明による実施例１について図１乃至図９を参照して説明する。図１は、ＰＬＣのダイアグラムのデバッグシステムの構成を示すブロック図である。
【００２６】
プログラミング装置１は、このプログラミング装置１で作成したダイアグラムに基づくオブジェクト制御プログラムを、制御対象を制御するプログラマブルコントローラ(以後、ＰＬＣと言う)２にダウンロードして使用される。
【００２７】
ここで、ダイアグラムとは、国際電気標準会議による国際規格ＩＥＣ６１１３１−３で規定されているラダーダイアグラム言語（ＬＤ）、及びファンクションダイアグラム言語（ＦＢＤ）を使用して作成された回路図をダイアグラムと称す。
【００２８】
プログラミング装置１の構成は、ダイアグラムを作成し、さらに、ダイアグラムのシンボル間を結ぶ接続点に対して、この接続点の一方の入力側と他方の出力側の、夫々の接続・非接続／その接続先を指定する命令／内部変数を生成し、ダイアグラムに基づくオブジェクト制御プログラムを作成するとともに、作成したオブジェクト制御プログラムをコントローラ２にダウンロードする演算処理部１１と、ダイアグラムを作成するソース制御プログラム１２ａ１、デバッグプログラム１２ａ２を記憶するソースファイル部１２ａ及びこのソースファイルのオブジェクト制御プログラムファイル部１２ｂを記憶する記憶部１２と、ダイアグラムとダイアログボックスなどの操作画面とを表示させる表示部１３と、ダイアグラム及びオブジェクト制御プログラムを作成するための各種の入力操作をするための入力部１４、及びオブジェクト制御プログラムをＰＬＣ２へ送信するための通信インタフェース１５とから成る。
【００２９】
ＰＬＣ２は、プログラミング装置１から送信されたオブジェクト制御プログラムを受信する通信インタフェース２５と、受信したオブジェクト制御プログラムを記憶させるメモリ部２２と、このオブジェクト制御プログラムを実行する演算処理部２１と、演算処理部２１の指令で制御対象との間の入出力信号を処理する入出力部２３とから成る。
【００３０】
さらに、メモリ部２２は、オブジェクト制御プログラムをデータメモリとコードメモリとに記憶する。そして、オブジェクト制御プログラムのメモリエリアと、予め想定されるデバッグプログラムのメモリエリアとを記憶可能な容量としておく。
【００３１】
演算処理部２１は、通信インタフェース１５を介して送信されたオブジェクト制御プログラムをデータメモリとコードメモリとに分けて記憶させるためのプログラムロードサーバ部と、このオブジェクト制御プログラムを実行するプログラム実行処理部とを備える。
【００３２】
次に、プログラミング装置１の各部の構成を説明する。プログラミング装置１は、例えば、パーソナルコンピュータで構成可能なものであって、演算処理部１１は、図示しないＣＰＵ及び主メモリを含むＣＰＵ部から成り、ダイアグラムを作成するためのソース制御プログラム及びダイアグラムに基づくオブジェクト制御プログラムを生成するためのプログラムコンパイラと、作成したオブジェクト制御プログラムをコントローラ２にダウンロードするプログラムロードクライアント部とを備える制御プログラム編集処理部１１ａと、本発明による接続点の設定処理をするワイヤフォース設定処理部１１ｂとから成る。
【００３３】
また、記憶部１２は、ハードディスクドライブ装置などから成り、作成されたソース制御プログラム１２ａ１、ダイアグラムのシンボル１２ａ２、デバッグ用のソースデバッグプログラム１２ａ３から成るソースファイル部１２ａと、オブジェクト制御プログラムを記憶したオブジェクトファイル部１２ｂとを記憶しておく。
【００３４】
詳細には、制御プログラム編集処理部１１ａのプログラムコンパイラ１１ａ１は、作成されたソースファイル部からプログラムを抽出して、ダイアグラムを生成し、さらに、表示画面上に表示されるダイアグラムのシンボル間を結ぶ接続点に対して、該接続点の一方の入力側の接続・非接続／接続先を指定する第１の命令／第１の内部変数と、該接続点の他方の出力側の接続・非接続／その接続先を指定する第２の命令／第２の内部変数とを生成するオブジェクト制御プログラムを作成する。
【００３５】
そして、制御プログラム編集処理部１１ａのプログラムロードクライアント部１１ａ２は、生成されたオブジェクト制御プログラムを、通信インタフェース１５を介してコントローラ２にダウンロードする。
【００３６】
そして、ワイヤフォース設定処理部１１ｂは、該第１の命令／第１の内部変数を夫々第３の命令／第３の内部変数に、第３の命令／第３の内部変数のいずれかを、また、該第２の命令／第２の内部変数を夫々第４の命令／第４の内部変数に、第４の命令／第４の内部変数のいずれかを書き換えることを指令する。
【００３７】
即ち、演算処理部１１は、作成したダイアグラム及び変更したダイアグラム対して、そのダイアグラムの分岐点を含む接続点の入力側及び出力側の接続・非接続を指令する命令と、その該接続先の内部変数の値を設定する機能とを備え、任意の接続点間を切断する機能と該接続点からパワーフロー下流側に対して、その内部変数の値を設定する機能を備える。
【００３８】
ここで、内部変数とは、表示部１３の画面に表示されない変数を言い、表示される変数は単に変数と称す。
【００３９】
また、ワイヤフォース設定処理部１１ｂは、稼動中のコントローラ２の指令に対して、第３の命令／第３の内部変数、第４の命令／第４の内部変数のみを書き換えることで、変更したダイアグラムでのデバッグの実行をＰＬＣ２に対して指令する。
【００４０】
次に、このように構成されたプログラミング装置１の接続点の処理動作を図２乃至図７で説明する。
【００４１】
図２は、プログラミング装置１で作成されたダイアグラムの１例で、例えば、Ａは、接点の変数Ａで、そのシンボルを「｜｜」で示す。同様に、変数Ｂは、コイルの変数でそのシンボルを「（  ）」で示す。夫々のシンボルの下部に示す数値は、後述するオブジェクト制御プログラムでのステップ番号を示す。
【００４２】
また、変数Ａの接点と変数Ｂのコイルとのシンボル間の接続点は、操作画面に表示されない内部変数を（ｔ１）で示す。この接続点の内部変数（ｔ１）は、変数Ａの接点と変数Ｂのコイルとの接続点であると同時に、ダイアグラム下方向の接続点の内部変数（ｔ２）との間の結線にも接続される分岐点と成っている。
【００４３】
次に、図３は図２に示すダイアグラムのソース制御プログラムで、左欄は、ステップ番号を示し、各ステップに対応する命令語を次欄に、またその変数名を右覧に示す。図３に示すように、ダイアグラムの接続点に対応する変数（ｔ０）乃至（ｔ９）は、何れも、命令語はアセンブラ言語では、「ＬＯＡＤ」及び「ＳＴＯＲＥ」で定義され、夫々の内部変数が２ステップの命令後で与えられる。
【００４４】
この接続点の変数設定は、ダイアグラムを作成する過程で生成することも可能であるし、ダイアグラムを作成後、接続点をカーソルで指定し、このカーソル位置をクリックして設定しても良いし、接続点を指定して一括して「ＬＯＡＤ」及び「ＳＴＯＲＥ」で定義するようにしても良い。
【００４５】
接続点は、通常、シンボルのように入出力端を接続する箇所を接続点とするが、本発明によれば、例えば、内部変数（ｔ４）と内部変数(ｔ５)との間や内部変数（ｔ５）と内部変数(ｔ６)との間の接続線のように、接続点間にシンボルを持たない単なる結線の両端もシンボルと見なして接続点を設定することが可能である。
【００４６】
図３には、これらの接続点の内部変数（ｔ０）乃至（ｔ９）を、ダイアグラム上では、いずれも表示されない接続点として設定した場合を図示している。
【００４７】
次に、このようにして接続点を設定したダイアグラムの接続点間を切断する場合のワイヤフォース設定処理の動作について、図４及び図５を参照して説明する。
【００４８】
図４に示すように、例えば、結線に×印で示した箇所を切断し、内部変数（ｔ５）と内部変数（ｔ６）との間を切り離して、ファンクションブロック「Ｆｕｎ」とコイルＦとから成る下流方向の回路のデバッグを行なおうとする場合について説明する。
【００４９】
この切断は、図５に示すように、プログラムではステップ１９に示す「ＳＴＯＲＥ」命令を「ＮＯＰ」命令（無処理）とすることで、パワーフロー入力側の切り離しが行なわれる。
【００５０】
次に、図６及び図７を参照して、接続点間の切断、及び切断点下流の接続点の内部線数の値を設定する動作について説明する。図６は、その動作フロー図で、図７は表示部１３に表示されるワイヤフォース設定を操作するダイアログボックスＤ１３の例を示す。
【００５１】
先ず、予め作成されたダイアグラムを表示させ、その結線の切断箇所、例えば、内部変数（ｔ５）内部変数（ｔ6）の間の結線上にカーソルを移動する（ｓ１）。そして、その位置で画面をクリックしてダイアログボックスＤ１３を表示させる（ｓ２）。
【００５２】
次に、ダイアログボックスＤ１３ａのアイコン「×」をクリックする。すると、演算処理部１１の主メモリ上のソース制御プログラムに「ＮＯＰ」が書き込まれ、表示画面に、図４に示すような×印が表示される（ｓ３）。
【００５３】
さらに、ここで「ＯＮ」または「ＯＦＦ」アイコンＤ１３ａをクリックする。すると、ステップ２０で書き換えた内部変数、例えば、（ｔＸ）の値が、切断箇所の下流方向の接続点の値として演算処理部１１の主メモリに書き込まれる。
【００５４】
次に、「書き込み（Ｗ）」アイコンＤ１３ｄをクリックすると、ＰＬＣ２のオブジェクト制御プログラムの書き換えが指令される。（ｓ５）。
【００５５】
このようにして変更されたダイアグラムの結線の切断と、及び切断された下流のパワーフローの基点となる接続点の内部変数を設定し、ダイアグラムの下流方向の回路のデバックを、稼動中のオブジェクト制御プログラムを変更して実施することが出来る。
【００５６】
そして、切断箇所とその内部変数の値は、「解除（Ｒ）」アイコンＤ１３ｂをクリックして解除し、再設定することも出来る。
【００５７】
さらに、ダイアグラムに複数の切断箇所と設定した内部変数の値は、「全て解除（Ａ）」アイコンＤ１３ｃをクリックし、さらに「書き込み（ｗ）」アイコンＤ１２ｄクリックすることで、変更した接続点のステップのみの情報を書き換えることで、デバッグ前の状態に確実に復帰させることが可能となる。
【００５８】
変更した部分のオブジェクト制御プログラムをダウンロードしない場合には、「ファイルフ保存（ｓ）」アイコンＤ１３ｅをクリックして、記憶部１２に書き込みすることも出来る。
【００５９】
このようにすることで、変更したいダイアグラムの接続点について、その接続・非接続の指令と接続の場合の接続先(内部変数)とを、稼動中のコントローラのオブジェクト制御プログラムに対して書き換えることで、分岐点があるダイアグラムにおいても、デバッグしたい回路を他の回路と切り離して容易にデバッグすることが可能となる。
【００６０】
また、変更前のプログラムの状態に容易に、一括して復元することも可能となる。
【００６１】
次に、図８、及び図９を参照して、接続点（ｔ７）に複数の命令数（ステップ数）で構成するデバッグプログラムを挿入する場合について説明する。
【００６２】
上述したワイヤフォース設定処理部１１は、結線の切断とその接続点の内部変数設定機能を備えていたが、本実施例では、さらに、接続点（ｔ７）からパターン信号などを発生させ、接続点以降の回路をシミュレートする機能を備えたデバッグプログラムを挿入する場合について説明する。
【００６３】
図８は、変数Ｃ１乃至変数Ｃ５からなる接点、変数Ｃ６及び変数Ｃ７からなるコイル、ファンクションブロックダイアグラム（以後、ＦＢＤと言う）「ＡＮＤ（論理和）」、ＦＢＤ「＋（加算器）」、ＦＢＤ「−（減算器）」、及びＦＢＤ「＞（比較器）」から構成されるダイアグラムを示す。
【００６４】
さらに、接続点ｔ７の一方のＦＢＤ「＋（加算器）」の出力を切断して、他方の接続点ｔ７の後方のＦＢＤ「＞（比較器）」の入力端に、ＳＧ「（信号発生回路）」で生成される信号を印加するデバッグのためのダイアグラムを示す。
【００６５】
図９（ａ）は、このダイアグラムに基づき作成した変更前のソース制御プログラム、また、図９（ｂ）は、変更後のソース制御プログラムを示す。
【００６６】
変更されたソース制御プログラムは、接続点の一方のステップ３１の「ＳＲＯＲＥ」命令を「ＪＵＭＰ」命令、その内部変数（５０）として移動先のステップＮｏ．とする。
【００６７】
そして、オブジェクト制御プログラムと異なるエリアに記憶されるステップ５０〜ステップ５０＋ｉ−２の複数の命令からなるデバッグプログラムを挿入し、その結果をステップ５０＋ｉ−１で内部変数（ｔ７）として記憶する「ＳＴＯＲＥ」命令とする。
【００６８】
そして、ステップ５０＋ｉで、変更前のソース制御プログラムの他方の接続点となるステップ３２の「ＬＯＡＤ」命令に替えて、その内部変数を３２とする「ＪＵＭＰ」命令とし、デバッグプログラムを変更前のソース制御プログラムのステップ３２に復帰させる。
【００６９】
したがって、従来のオン／オフ信号によるデバッグだけでなく、自由度のある信号を印加することが出来るので、精度の良いデバッグが可能となる。
【００７０】
このように、接続点の一方に「ＪＵＭＰ」命令を挿入し、変更前の制御プログラムと異なるメモリエリアに記憶されたデバッグプログラムを実行し、また、「ＪＵＭＰ」命令を挿入して他方の変更前の制御プログラムの接続点に復帰させることで、変更前の制御プログラムの１ステップのみの変更で、簡単にデバッグプログラムを挿入したり元のプログラムに復元したりすることができるプログラマブルコントローラのダイアグラムのデバッグシステム、及びそのプログラミング装置及びそのプログラムを提供することが出来る。
【実施例２】
【００７１】
次に、図１０及び図１１を参照して、本発明の実施例２のＰＬＣのダイアグラムのデバッグシステムについて説明する。この実施例２の各部について、図１の実施例１のＰＬＣのデバッグシステムの各部と同一部分は、同一符号で示しその説明を省略する。
【００７２】
この実施例２が、実施例１と異なる点は、実施例１のワイヤフォース設定処理部１１は、接続点の一方の接続先を切断して新たなデバッグプログラムを挿入し、そのデバッグプログラムの出力を他方の接続点に接続するようにしたが、本実施例３では、接続点の一方の接続先を新たなデバッグプログラムの入力端に接続して他方の接続先への接続を切断し、挿入したデバッグプログラムその出力を他方の接続点に接続するようにした点が異なる。
【００７３】
図１０のダイアグラムを参照して説明する。図１０は、変数Ｃ１乃至変数Ｃ５からなる接点、変数Ｃ６及び変数Ｃ７からなるコイル、ファンクションブロックダイアグラム（以後、ＦＢＤと言う）「ＡＮＤ（論理和）」、ＦＢＤ「＋（加算器）」、ＦＢＤ「−（減算器）」、及びＦＢＤ「＞（比較器）」から構成されるダイアグラムの接続点ｔ７の一方のＦＢＤ「＋（加算器）」の出力をＣＦｕｎ（補正関数発生回路）の入力端に接続して、他方の接続点ｔ７の後方のＦＢＤ「＞（比較器）」の入力端への接続線を切断し、ＣＦｕｎ（補正関数発生回路）の出力端をこのＦＢＤ「＞（比較器）」の入力端に接続した変更されたダイアグラムを示す。
【００７４】
図１１（ａ）は、このダイアグラムに基づき作成した変更前のソース制御プログラムで、図１１（ｂ）は変更後のソース制御プログラムを示す。
【００７５】
変更されたソース制御プログラムの接続点の一方のステップ３２の「ＬＯＡＤ」命令を、「ＪＵＭＰ」命令、その内部変数（５０）とする。
【００７６】
そして、変更前のソース制御プログラムと異なるメモリエリアに記憶されたステップ５０〜ステップ５０＋ｊ−３の複数の命令からなるデバッグプログラムを挿入し、その結果をステップ５０＋ｊ−２で内部変数（ｔ７）として記憶する「ＳＴＯＲＥ」命令とする。
【００７７】
そして、ステップ５０＋ｊ−１で、変更前のソース制御プログラムの内部変数（ｔ７）を読み込む「ＬＯＡＤ」命令とし、さらに、ステップ５０＋ｊで変更前のオブジェクト制御プログラムのステップ３２に復帰させる「ＪＵＭＰ」命令として変更後のオブジェクト制御プログラムを書き込み、実行する。
【００７８】
したがって、ダイアグラム間の信号を精度良く補正したデバッグが可能となる。
【００７９】
このように、接続点の一方に「ＪＵＭＰ」命令を挿入し、異なるメモリエリアのデバッグプログラムを実行し、「ＪＵＭＰ」命令を挿入して他方の接続点に復帰させることで、変更前の制御プログラムの１ステップのみの変更でダイアグラムの接続点に簡単にデバッグプログラムを挿入したり変更前のプログラムに復元したりすることができるプログラマブルコントローラのダイアグラムのデバッグシステム、及びそのプログラミング装置及びそのプログラムを提供することが出来る。
【００８０】
本発明は、上述した実施例に何ら限定されるものではなく、ダイアグラムの回路の切断や変更を、変更前の接続点の１ステップのみを変更する、「ＪＵＭＰ」命令を挿入し、一方の接続点に複数以上の命令で構成されるプログラムの入力端を接続し、挿入したプログラムの出力端を変更前の他方の接続点に復帰させるようにするものであれば良く、本発明の主旨を逸脱しない範囲で種々のプログラムを変形して挿入することができる。
【図面の簡単な説明】
【００８１】
【図１】本発明のプログラマブルコントローラのデバッグシステムの構成図。
【図２】本発明のダイアグラムの例。
【図３】本発明の接続点の内部変数の設定例。
【図４】本発明の接続点間の切断の設定例。
【図５】本発明の接続点間の切断時の内部変数の設定例。
【図６】本発明の接続点間の切断時の内部変数の設定操作のフロー図。
【図７】本発明の接続点間のワイヤフォース設定のダイアログボックスの例。
【図８】本発明の実施例１のダイアグラムの例。
【図９】本発明の実施例１のダイアグラムのデバッグプログラムの例。
【図１０】本発明の実施例２のダイアグラムの例。
【図１１】本発明の実施例２のダイアグラムのデバッグプログラムの例。
【符号の説明】
【００８２】
１  プログラミング装置
２  プログラマブルコントローラ（ＰＬＣ）
１１  演算処理部
１１ａ  制御プログラム編集処理部
１１ａ１  プログラムコンパイラ
１１ａ２  プログラムロードクライアント部
１１ｂ  ワイヤフォース設定処理部
１２  記憶部
１２ａ  ソースファイル部
１２ａ１  ソース制御プログラム
１２ａ２  ソースデバッグプログラム
１２ｂ  オブジェクト制御プログラムファイル部
１３  表示部
１４  入力部
１４ａ  キーボード
１４ｂ  マウス
１５  通信インタフェース
２１  演算処理部
２２  メモリ部
２３  入出力部
２５  通信インタフェース
【図１】
2010122824.tif 000003
【図２】
2010122824.tif 000004
【図３】
2010122824.tif 000005
【図４】
2010122824.tif 000006
【図５】
2010122824.tif 000007
【図６】
2010122824.tif 000008
【図７】
2010122824.tif 000009
【図８】
2010122824.tif 000010
【図９】
2010122824.tif 000011
【図１０】
2010122824.tif 000012
【図１１】
2010122824.tif 000013