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