(57)【要約】【課題】  従来は、プログラマブルコントローラに用いるシーケンスプログラムをデバッグする装置で、入出力接点の状態が時系列にどのように変化したかが分かるデバッガを提供するものがあった。  また、ラダープログラムを編集し直すことなく、着目した回路に限定して動作を確認することができるデバッグ装置およびプログラム確認方法があった。【解決手段】  本発明は、プログラマブルコントローラのためのラダープログラミングツールにおいて、ユーザが作成したラダープログラムをデバッグするとき、ラダープログラムの変更を前記プログラマブルコントローラの記憶素子に記憶し、ユーザの要望に応じて、変更部分を前記パソコンの表示装置に遡って表示し、ラダープログラムの編集を行うことを特徴とする。【選択図】  図１
2012243136.tif 000002
【特許請求の範囲】
【請求項１】
パソコンと、
該パソコンと接続され、パソコンの内容を表示する表示装置と、
前記パソコンとプログラマブルコントローラとを接続し、
該プログラマブルコントローラは、中央演算装置、通信制御回路、記憶素子、入出力制御回路、入出力装置より構成され、
前記パソコンと前記プログラマブルコントローラの中央演算装置は、前記通信制御回路を介して情報を送受信可能な構成で行うラダープログラミングツールにおいて、
ユーザが作成したラダープログラムをデバッグするとき、ラダープログラムの変更を前記プログラマブルコントローラの記憶素子に記憶し、
ユーザの要望に応じて、変更部分を前記パソコンの表示装置に遡って表示し、ラダープログラムの編集を行うことを特徴とするラダープログラミングツール。
【請求項２】
請求項１記載のラダープログラミングツールにおいて、
ラダープログラムの変更部分はすべて前記プログラマブルコントローラの記憶素子に記憶することを特徴とするラダープログラミングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラマブルコントローラのラダープログラミングツールにおいて、編集戻し機能を備えたラダープログラミングツールに関する。
【背景技術】
【０００２】
プログラマブルコントローラは、一般にＣＰＵやメモリなどを内蔵したコントローラであり、センサやスイッチなどの入力信号を入力し、この入力信号のデータのプログラム演算を行い、この演算結果を出力データとして出力し、電磁弁、モータ又は表示灯などをＯＮ−ＯＦＦして制御するものである。
【０００３】
また、プログラマブルコントローラのプログラムは、一般にラダープログラムを使用する。ラダープログラムは、リレー回路を記号化したラダー図をベースにしてロジックを記述するプログラムで、入力条件と出力の関係を視覚的にイメージし易いプログラム言語である。このラダープログラムを作成するため、専用のエディタであるラダープログラミングツールを使ってプログラムを作成している。また、本発明の公知例として、特許文献1（特開２０１１−２２８３８）及び特許文献２（特開平８−３０５４１８号公報）がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２２８３８
【特許文献２】特開平８−３０５４１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献1には、ラダープログラムを編集し直すことなく、着目した回路に限定して動作を確認することができるデバッグ装置およびプログラム確認方法を実現することについて開示されている。
【０００６】
また、特許文献２には、プログラマブルコントローラに用いるシーケンスプログラムをデバッグする装置で、入出力接点の状態が時系列にどのように変化したかが分かるデバッガを提供することが記載されている。しかし、入出力接点を変更することは開示されていない。
【０００７】
本発明の目的は、実際にデバッグしたラダープログラムにおいて変更した箇所を記憶して格納し、ユーザは過去の変更した箇所を表示して選択して編集することができるプログラマブルコントローラのためのラダープログラミングツールを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、上記目的を達成するために、パソコンと、該パソコンと接続され、パソコンの内容を表示する表示装置と、前記パソコンとプログラマブルコントローラとを接続し、該プログラマブルコントローラは、中央演算装置、通信制御回路、記憶素子、入出力制御回路、入出力装置より構成され、前記パソコンと前記プログラマブルコントローラの中央演算装置は、前記通信制御回路を介して情報を送受信可能な構成で行うラダープログラミングツールにおいて、ユーザが作成したラダープログラムをデバッグするとき、ラダープログラムの変更を前記プログラマブルコントローラの記憶素子に記憶し、ユーザの要望に応じて、変更部分を前記パソコンの表示装置に遡って表示し、ラダープログラムの編集を行うことを特徴とする。
【０００９】
また、上記のラダープログラミングツールにおいて、ラダープログラムの変更部分はすべて前記プログラマブルコントローラの記憶素子に記憶することを特徴とする。
【発明の効果】
【００１０】
本発明は、ユーザが実際に過去にデバッグしたラダープログラムを表示し、選択できるラダープログラミングツールを提供することができ、また、ユーザは過去にデバッグを行なった動作のラダープログラムを格納しているため、プログラマブルコントローラを使用した装置の動作の急な変更にも対応できる。
また、過去にデバッグを行なったラダープログラムを再利用できるため、そのラダープログラムのデバッグの時間短縮効果を得られる。
【図面の簡単な説明】
【００１１】
【図１】本発明の全体のシーケンスを示す図である。
【図２】本発明のパソコン側での回路定義設定のフローチャートを示す図である。
【図３】本発明のプログラマブルコントローラ側での回路定義設定のフローチャートを示す図である。
【図４】本発明のパソコン側での入出力接点変更設定のフローチャートを示す図である。
【図５】本発明のプログラマブルコントローラ側での入出力接点変更設定のフローチャートを示す図である。
【図６】本発明のパソコン側でのラダープログラムの編集戻し設定のフローチャートを示す図である。
【図７】本発明のプログラマブルコントローラ側での編集戻し設定のフローチャートを示す図である。
【図８】ハードウエアの構成を示す図である。
【図９】図８に示したハードウエア構成の記憶素子のデータ保管構造例を示す図である。
【図１０】本発明のデバッグ対象となるラダープログラムの一例を示す図である。
【図１１】本発明のデバッグ対象となるラダープログラムの別の例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を用いて説明する。
【００１３】
図１は、本発明の全体のシーケンスを示したものである。プログラマブルコントローラでは、プログラマブルコントローラ本体とパソコンを用いてユーザが作成したラダープログラムをプログラマブルコントローラで装置を動作させるためにそのラダープログラムの動作検証を行う。一般にこれをデバッグと呼んでいる。
本発明は、ラダープログラムのデバッグの際、修正を加え、何回もデバッグを行う。そのとき修正前に遡って入出力信号をユーザが選択できるプログラマブルコントローラのプログラミングツールを提供するものである。そのために、ユーザは、装置を動作させるため作成するラダープログラムを、その装置の機能毎に作成する。
【００１４】
図１に示すように、パソコンＰ００1とプログラマブルコントローラ（プログラマブルコントローラ０１）間の全体の通信制御において、先ず、ユーザが作成するラダープログラムを機能単位で宣言する必要があり、パソコン側（Ｐ００１）よりプログラマブルコントローラ側（プログラマブルコントローラ０１）へ回路定義設定（ステップＳ００1）を送信してプログラマブルコントローラ側（プログラマブルコントローラ０１）に記憶する。
ここで、ラダープログラムを宣言するということは、ラダープログラムの範囲を設定するということである。また、回路とはラダープログラムのことをいう。
【００１５】
次に、ユーザが実際に入出力接点を変更すると、パソコン側ではその入出力接点をプログラマブルコントローラ側に連絡する必要があるため、パソコン側よりプログラマブルコントローラ側へ入出力接点定義設定（ステップＳ００２）を送信する。
ユーザが前のラダープログラムに戻したい状況が発生したとすると、パソコン側より編集戻し開始信号（ステップＳ００３）をプログラマブルコントローラ側に送信し、プログラマブルコントローラ側では過去のラダープログラムを戻す準備を行う。
そして、プログラマブルコントローラ側では過去のラダープログラムを戻す準備が整うと、プログラマブルコントローラ側よりパソコン側へ戻し許可信号（ステップＳ００４）を送信する。
そして、戻し許可信号をパソコン側で受信すると、パソコン側では過去のラダープログラムをパソコンに接続された表示器の画面に表示して、編集戻し完了信号（ステップＳ００５）をパソコン側よりプログラマブルコントローラ側へ送信する。
以上のステップによりパソコン側とプログラマブルコントローラ側の通信制御は完了する。
【００１６】
次に、本発明のハードウエア構成について、図８を用いて説明する。
図８において、１０はパソコン、２０はパソコン１０に接続された表示装置、３０はプログラマブルコントローラ，４０は通信制御装置、５０は中央演算装置（ＣＰＵ）、６０は記憶素子、７０は入出力制御回路、８０は入出力装置、９０はパソコン１０とプログラマブルコントローラ３０とで通信を行う通信線である。
プログラマブルコントローラ３０の中央演算装置５０は、ＣＰＵで構成され、プログラマブルコントローラ内の記憶装置６０、入出力装置７０、通信制御回路４０を制御している。通信線９０はＲＳ―２３２Ｃなどのシリアル通信で行っても良い。中央演算装置５０は外部との入出力信号を制御し、入出力制御回路７０は、入出力装置８０と接続されている。
【００１７】
次に、図２を用いて、図１におけるパソコン側よりプログラマブルコントローラ側へ送信する回路定義設定（ステップＳ００１）について説明する。
図２はパソコン側の回路定義設定のフローチャートである。
先ず、ユーザは、パソコン側でラダープログラムの機能単位の回路番号を宣言する。
そして、最初に図８におけるプログラマブルコントローラ側の中央演算装置（ＣＰＵ）５０は、図２において開始回路を選択する開始回路選択判定（ステップＳ２００）を行う。開始回路の選択は、図１０に示した回路定義開始ボタンＣ１０４を押して、回路番号Ｃ１０1を押すことにより実行される。
【００１８】
次に、図２における開始回路番号データを送信する処理（ステップＳ２０１）で、プログラマブルコントローラ側の通信制御回路４０を経由してプログラマブルコントローラ側３０へ送信する。次に、ラダープログラムの終了回路をユーザが宣言する。図２の終了回路データが選択されたかを図８における中央演算装置（ＣＰＵ）５０は終了回路選択判定（ステップＳ２０２）を実行する。そして、終了回路が選択されると、終了回路データを終了回路データ送信処理（ステップＳ２０３）にて、通信制御回路４０を経由してプログラマブルコントローラ側へ送信する。終了回路の選択は、図１０に示す回路定義終了ボタンＣ１０５を押して、回路番号Ｃ１０1を押して実行される。
なお、上記の終了回路データ送信処理（ステップＳ２０３）は、通信線９０を経由してプログラマブルコントローラ側の通信制御回路４０で終了回路データが受信処理されて、中央演算そうし（ＣＰＵ）５０にて記憶素子６０に終了回路データを記憶する。そして、この一連の回路定義かが完了したことを定義終了判定（ステップＳ２０５）にて判定し、定義終了なら回路定義処理（ステップＳ２０６）を実行してプログラマブルコントローラ側へ送信する。
【００１９】
次に、図３を用いて、プログラマブルコントローラ側の回路定義設定について説明する。
図３において、中央演算装置（ＣＰＵ）４０で、先ず開始回路データを受信したかを判断する（ステップＳ３００）。受信していなければこの処理自体を終了し、受信していれば、次に開始回路データを記憶する処理を実行する（ステップＳ３０１）。開始回路データ記憶処理において、図９に示す記憶素子内のデータ保管構造で、開始回路データを開始回路格納データレジスタＭ１００に書き込む。次に、パソコン側より通信制御回路４０経由で送信された終了回路データを受信したかを判断する（ステップＳ３０２）。終了回路データが受信されたら、図９に示すデータ保管構造で、終了回路格納データレジスタＭ１０２に終了回路データ記憶処理（ステップＳ３０３）を実行して書き込まれる。そして、その後、中央演算装置（ＣＰＵ）４０は、記憶処理（ステップＳ３０４）を実行し、記憶素子６０内のアドレスポインタＭ１００の００００番地のアドレスポインタ１を書き込む。
この操作は、図６に説明する変更回路をこの記憶素子に書き込むために必要な記憶素子内のアドレスを指し示す必要があるために利用する。
【００２０】
次に、図４を用いて、パソコン側での入出力接点の変更をプログラマブルコントローラ側に送信するフローチャートを説明する。
図４において、先ず、図１０に示す開始回路番号Ｃ１０１を選択してから、開始回路選択ボタンＣ１０２を押す。そしてその後、終了回路番号Ｃ１０７を選択して、終了回路選択ボタンＣ１０３を押すと、開始回路番号データと終了回路番号データが、開始回路/終了回路送信処理（ステップＳ４０３）を実行し、パソコン側よりプログラマブルコントローラ側に送信される。
次に、ユーザが入出力接点を変更したかをチェック（ステップＳ４０４）する。
図１０において、例えば、出力コイルの出力接点マークＣ２００をＹ１００からＹ２００に変更すると、その接点であるＣ２０１とＣ２０２もＹ２００に変わる。
この変更した入出力接点データは、入出力接点を変更されたデータ送信処理（ステップＳ４０３）を実行し、プログラマブルコントローラ側へ送信する。
そこで、ユーザが編集を完了するときは、もう一度図１０の編集ボタンＣ１００を押す。編集ボタンＣ１００が押されると、編集完了が判断され（ステップＳ４０４）、編集完了信号がプログラマブルコントローラ側に送信され（ステップＳ４０５）、終了となる。
また、編集が完了していないときは、ユーザがまだ変更したい回路データがあるので、変更対象機能番号データの処理（ステップＳ４０１）へ戻る。
【００２１】
次に、プログラマブルコントローラ側において、変更された入出力接点を判定、受信し、記憶素子６０に書き込むフローチャートを説明する。
図５において、先ず、パソコン側より送信された編集開始信号を受信したかを判断する（ステップＳ５００）。編集開始信号を受信すると、次にプログラマブルコントローラ側の中央演算装置（ＣＰＵ）５０は、パソコン側より送信された開始回路番号データと終了回路番号データを受信したかを判断する（ステップＳ５０１）。開始回路番号データと終了回路番号データを受信すると、図３に示すフローチャートで登録した開始回路格納レジスタＭ１００と、終了回路格納レジスタＭ１０２と同じ記憶素子６０内のエリアを割り出し、開始回路／終了回路書き込み処理を中央演算装置（ＣＰＵ）４０で実行する（ステップＳ５０２）。次に、変更された入出力接点の変更データを受信し、判断する（ステップＳ５０３）。そして、１回前の変更入出力接点として、図９に示す記憶素子６０の入出力接点データレジスタＭ２００に、入出力接点変更データ書き込み処理を実行する（ステップＳ５００）ことにより書き込まれる。
また、２回目からの記憶は、同様に記憶素子６０内のアドレスポインタＭ０００１の０００１番地に１を書き込むと、入出力接点データレジスタＭ２０１に変更した入出力接点が書き込まれる。
同様に、ｎ回目も記憶素子６０内のアドレスポインタＭ００１の０００ｎ番地に１を書き込むと、入出力接点データレジスタＭ２０ｎに変更した入出力接点が書き込まれる。
【００２２】
次に、パソコン側より送信された編集完了信号を受信したかを判断する（ステップＳ５０５）。編集完了信号が受信されたら、一連の入出力接点の変更は終了する。編集完了信号が受信されなかったら、ユーザはまだ変更が発生するので開始回路番号データと終了回路番号データを受信し、判断するステップＳ５０１に戻り、動作を継続する。
以上のフローチャートで過去に変更した入出力接点がプログラマブルコントローラの記憶素子６０に記憶される。
【００２３】
次に、パソコン側での編集戻しについて、図６を用いて説明する。
図６は、今まで記憶してきた過去の入出力接点をユーザの要望により編集戻しをプログラマブルコントローラ側に送信するフローチャートである。
図１０における編集戻しボタンＣ１０６を押すと、先ず、編集戻し開始信号がパソコン側よりプログラマブルコントローラ側に対して送信される（ステップＳ６００）。これは、これまで変更などを行った過去の回路に編集を戻すことを宣言することである。
【００２４】
次に、図１０における開始回路番号Ｃ１０１を押して開始回路選択ボタンＣ１０２を押す。その後、終了回路番号Ｃ１０７を押して、終了回路選択ボタンＣ１０３を押すと、開始回路番号データと終了回路番号データが入力されたかを判断する（ステップＳ６０１）。入力されると、開始回路データと終了回路データを、開始回路／終了回路送信処理を実行することでプログラマブルコントローラ側へ送信処理される（ステップＳ６０２）。
次に、図１０における編集戻しボタンＣ１０６を押すと、戻し判定で判断される（ステップＳ６０３）。その後、入出力接点データ送信処理（ステップＳ６０４）において、図９に示す記憶素子６０内のアドレスポインタＭ００1が１の行の入出力接点データレジスタＭ２００の入出力接点データをプログラマブルコントローラ側へ送信する。
次に、プログラマブルコントローラ側より変更戻し許可信号が受信されたかを変更戻し表示許可信号を受信したかを判断する（ステップＳ６０５）。受信していると、過去表示戻し処理を実行する（ステップＳ６０６）。すなわち、変更した入出力接点を遡って表示する。この場合、回路番号００１から００２の入出力接点マークＣ２００とＣ２０１がＹ２００よりＹ１００に戻したということになる。しかし、回路番号００２の入出力接点はＹ２００のままである。これは回路選択をしていないためである。
以上のことより、ユーザは過去にデバッグしたラダープログラムを選択することができる。ユーザからの編集戻し操作が終了したかを判断する（ステップＳ６０７）。これは、図１０に示す編集ボタンＣ１０６を押すと、編集終了となり、編集戻し完了処理を実行（ステップＳ６０８）し、プログラマブルコントローラ側に編集戻し完了信号を送信する。編集戻しが完了していなければ、編集戻しを実行していると判断し、ステップＳ６０１へ戻る。
【００２５】
次に、図７を用いてプログラマブルコントローラ側での編集戻しの処理について説明する。
図７は、過去の入出力接点をユーザの要望により戻すプログラマブルコントローラ側のフローチャートである。
先ず、通信制御回路４０で受信し、編集戻し開始信号が受信されたかを中央演算装置（ＣＰＵ）５０で判断する（ステップＳ７００）。編集戻し開始信号が受信されると、次に開始回路／終了回路を受信したかを判断する（ステップＳ７０１）。開始回路／終了回路が受信されると、中央演算装置（ＣＰＵ）５０は、開始回路／終了回路のデータ処理を実行（ステップＳ７０２）し、記憶素子６０内の開始回路格納レジスタＭ１００と終了回路格納レジスタＭ１０２と同じ列のデータを検知処理する。次に、戻したい入出力接点データを受信したかを判断する（ステップＳ７０３）。受信されると、中央演算装置（ＣＰＵ）５０は、記憶素子６０内のアドレスポインタＭ００１が１の行の入出力接点データレジスタＭ２００の入出力接点データを戻し開路実行処理（ステップＳ７０４）を実行し、検索処理を行う。また、このステップＳ７０４の処理では、図８に示すプログラマブルコントローラ側内の中央演算装置（ＣＰＵ）５０は、入出力制御回路７０を制御して変更した入出力接点で入出力装置８０を動作させる。その後、変更戻し表示許可信号の送信処理（ステップＳ７０５）を実行し、パソコン側へ送信する。また、この処理では過去のラダープログラムの回路を表示する。そして、編集戻し完了信号を受信したら終了となる。受信していないとステップＳ７００に戻る。
【００２６】
図１０は、ユーザが作成するラダープログラムを機能単位で記憶する回路定義開始ボタンＣ１０４と回路定義終了ボタンＣ１０５を備えている。
ここで、回路の定義を行い、そのデータをプログラマブルコントローラ側の記憶素子６０に登録する。
次に、ユーザはデバッグに移る。その時、編集ボタンＣ１００を押して、編集開始したい回路番号Ｃ１０１を選択して、開始回路選択ボタンＣ１０２を押す。
次に、編集の終わり回路番号Ｃ１０７を選択して、終了回路選択ボタンＣ１０３を押す。このような作業により、この例では回路番号１と回路番号２が編集できる回路に選択できる。
次に、変更したい入出力接点Ｃ２００の内容をＹ１００からＹ２０１に変更する。
ここで、変更した内容は、プログラマブルコントローラ側の記憶素子に記憶される。
次に、上記内容で過去にデバッグした状態に戻したい時が発生した場合、ユーザは編集戻しボタンＣ１０６を押すと、回路番号０００１と回路番号０００２が過去で使用していた入出力接点Ｃ２００がＹ１００、Ｃ２０１がＹ１００となり過去の状態に戻すことができる。また、回路番号０００３の入出力接点Ｃ２０２は変更されない。従って、各回路の機能単位での過去にデバッグを行ったラダープログラムを再利用できるため、そのラダープログラムのデバッグの時間短縮効果を得られ、過去にデバッグしたラダープログラムをユーザが選択できる。
【００２７】
また、図１１に示すように、パソコン側の画面構成は縦長方向に表示することも可能である。画面の構成については、図１０と同じなので説明は省略する。
【符号の説明】
【００２８】
１０‥パソコン      ２０‥表示装置      ３０‥プログラマブルコントローラ
４０‥通信制御装置    ５０‥中央演算装置（ＣＰＵ）  ６０‥記憶素子
７０‥入出力制御回路      ８０‥入出力装置
Ｍ００１‥アドレスポインタ
Ｍ１００‥開始回路格納データレジスタ
Ｍ１０２‥終了回路格納データレジスタ
Ｍ２００‥１回前の回路の入出力接点データレジスタ
Ｍ２０１‥２回前の回路の入出力接点データレジスタ
Ｍ２０Ｎ‥ｎ回前の回路の入出力接点データレジスタ
Ｃ１００‥編集ボタン
Ｃ１０１‥回路番号
Ｃ１０２‥開始回路選択ボタン
Ｃ１０３‥終了回路選択ボタン
Ｃ１０４‥回路定義開始ボタン
Ｃ１０５‥回路定義終了ボタン
Ｃ１０６‥編集戻しボタン。
【図１】
2012243136.tif 000003
【図２】
2012243136.tif 000004
【図３】
2012243136.tif 000005
【図４】
2012243136.tif 000006
【図５】
2012243136.tif 000007
【図６】
2012243136.tif 000008
【図７】
2012243136.tif 000009
【図８】
2012243136.tif 000010
【図９】
2012243136.tif 000011
【図１０】
2012243136.tif 000012
【図１１】
2012243136.tif 000013