(57)【要約】【課題】プログラマブルコントローラのプログラム内で使用するデバイスと、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスのプログラム内での使用状況とを検索し、その各々のデバイスの重複使用の有無を容易に判断することが可能なプログラマブルコントローラの周辺装置を得ること。【解決手段】プログラマブルコントローラ用プログラムからデバイス及び変数の使用状況を検索し、デバイスの検索結果と変数の検索結果とからデバイスの重複使用の有無を自動的に比較判断することを特徴とする。【選択図】      図７
2004318674.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラ内のデバイスと、プログラマブルコントローラ用プログラムをコンパイルすることにより前記デバイスが自動的に割り付けられた変数とを混在使用してプログラマブルコントローラ用プログラムのプログラミング及びデバッグを行うプログラマブルコントローラの周辺装置であって、
前記プログラマブルコントローラ用プログラムから前記デバイス及び前記変数の使用状況を検索し、このデバイスの検索結果と変数の検索結果とから前記デバイスの重複使用の有無を自動的に比較判断すること
を特徴とするプログラマブルコントローラの周辺装置。
【請求項２】
前記プログラマブルコントローラ用プログラムを格納するプログラムデータ格納部と、
前記変数と、前記プログラマブルコントローラ用プログラムをコンパイルすることによりその変数に自動的に割り付けられた前記デバイスとを格納する変数データ格納部と、
前記デバイスの検索結果データ、前記変数の検索結果データ、および前記デバイスの重複使用の有無の比較判断結果データを格納する検索結果データ格納部と、
前記プログラマブルコントローラ用プログラムからの前記デバイス及び前記変数の使用状況の検索、および前記デバイスの検索結果データと前記変数の検索結果データとからの前記デバイスの重複使用の有無の比較判断を指示するシステムプログラムを格納するシステムプログラム格納部と、
前記システムプログラムに前記デバイスまたは前記変数を入力する入力装置と、
前記システムプログラムを処理する処理部と
を備えることを特徴とする請求項１に記載のプログラマブルコントローラの周辺装置。
【請求項３】
前記検索結果データ格納部に格納された前記デバイスと前記変数との検索結果データ、および前記デバイスの重複使用の有無の比較判断結果データを表示する表示装置、または前記検索結果データ格納部に格納された前記デバイスと前記変数との検索結果データ、および前記デバイスの重複使用の有無の比較判断結果データを印刷する印刷装置を備えること
を特徴とする請求項２に記載のプログラマブルコントローラの周辺装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラ（Ｐｒｏｇｒａｍａｂｌｅ  Ｃｏｎｔｒｏｌｌｅｒ）の周辺装置に関し、特にプログラミング機能およびデバッグ機能を有するプログラマブルコントローラに関するものである。
【０００２】
【従来の技術】
従来のプログラマブルコントローラの周辺装置にはプログラミング機能およびデバッグ機能を有しているものがある。このプログラマブルコントローラ用周辺装置の従来例を説明する。
【０００３】
従来技術におけるプログラマブルコントローラの周辺装置は、プログラマブルコントローラの周辺装置本体、キーボートなどの入力装置、ＣＲＴなどの表示装置、プリンタなどの印刷装置、変数とプログラムをコンパイルすることによりその変数に自動的に割り付けられたデバイスとからなる変数データとプログラマブルコントローラ用プログラムデータ、及び検索結果を格納するデータメモリ、システムプログラム、システムプログラムを処理する中央演算処理装置等を備えて構成される。
【０００４】
このようなプログラマブルコントローラの周辺装置においてデバイスを検索する場合には、入力装置から検索対象となるデバイスを入力してプログラマブルコントローラ用プログラムから該デバイスを検索し、該デバイスの使用状況をデータメモリに格納することができる。
【０００５】
また、入力装置から検索対象となるデバイスが割り付けられた変数を入力してプログラマブルコントローラ用プログラムから該変数を検索し、該変数の使用状況をデータメモリに格納することができる。
【０００６】
そして、上記の検索結果を表示装置に表示させたり、印刷装置により紙面に印刷したりして確認することができる。
【０００７】
また、デバイスの検索が可能な他のプログラマブルコントローラの周辺装置としては、プログラムの一部を表示して表示されたプログラム中からデバイスを抜き出し、周辺装置のシステムがこのデバイスを元にして該デバイスに関係するデバイスを検索して表示するようなものもある（例えば特許文献１参照）。
【０００８】
【特許文献１】
特開平４−３１９７０２号公報（第２頁）
【０００９】
【発明が解決しようとする課題】
ところで、プログラマブルコントローラのプログラムにおいて使用するデバイスが重複している場合には、正常な処理動作を行うことができない。そこで、プログラマブルコントローラのプログラムを作成する際や、作成後などにおいてデバイスの使用状況を確認することが必要となる。
【００１０】
しかしながら、上述したような従来のプログラマブルコントローラ用周辺装置では、プログラマブルコントローラのプログラム内で使用するデバイスと、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスとが重複しているかどうかを判断するためには、プログラマブルコントローラのプログラム内で使用するデバイスの使用状況の検索結果と、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスの使用状況の検索結果とを、オペレータが目視にて見比べて判断する必要がある。その判断には、さらに前記の変数と、その変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスを格納する変数データとを目視にて見比べる必要がある。したがって、デバイスの重複使用を判断するには、非常に多くの労力と時間が掛かるという問題がある。
【００１１】
また、デバイスの重複使用の判断は目視による確認であるため、プログラマブルコントローラのプログラム内で使用するデバイスの使用状況の検索結果と、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスの使用状況の検索結果とにおいて、重複するデバイスが存在した場合においても見逃し易いという問題がある。
【００１２】
この発明は上記に鑑みてなされたもので、プログラマブルコントローラのプログラム内で使用するデバイスと、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスのプログラム内での使用状況とを検索し、その各々のデバイスの重複使用の有無を容易に判断することが可能なプログラマブルコントローラの周辺装置を得ることを目的としている。
【００１３】
【課題を解決するための手段】
上記目的を達成するためこの発明にかかるプログラマブルコントローラの周辺装置は、プログラマブルコントローラ内のデバイスと、プログラマブルコントローラ用プログラムをコンパイルすることにより前記デバイスが自動的に割り付けられた変数とを混在使用してプログラマブルコントローラ用プログラムのプログラミング及びデバッグを行うプログラマブルコントローラの周辺装置であって、プログラマブルコントローラ用プログラムからデバイス及び変数の使用状況を検索し、デバイスの検索結果と変数の検索結果とからデバイスの重複使用の有無を自動的に比較判断することを特徴とする。
【００１４】
この発明によれば、プログラマブルコントローラ用プログラムからデバイス及び変数の使用状況を自動的に検索する。さらに、デバイスの検索結果と変数の検索結果とからデバイスの重複使用の有無を自動的に比較判断する。
【００１５】
したがって、プログラマブルコントローラの周辺装置のオペレータは、このプログラマブルコントローラの周辺装置の処理結果を、例えば表示装置に表示して、または印刷装置により紙面に印刷して確認するだけで、その各々のデバイスが重複して使用されているか否かの情報を自分自身で判断することなく短時間で、且つ容易に得ることができる。
【００１６】
その結果、オペレータが、従来のようにプログラマブルコントローラのプログラム内で使用するデバイスの使用状況の検索結果と、プログラムをコンパイルすることによりプログラマブルコントローラのプログラム内で使用する変数に自動的に割り付けられたデバイスの使用状況の検索結果とを、目視にて見比べて判断する作業が不要となる。したがって、オペレータがプログラミングやデバッグを行う際の作業負荷が大幅に軽減され、オペレータはプログラミング作業やデバッグ作業を効率的に行うことが可能である。
【００１７】
また、上述したようにデバイスの重複使用の判断は、プログラマブルコントローラの周辺装置内の処理において自動的に行われるため、従来のようにオペレータの目視による確認、判断を行う場合のようにデバイスの重複使用を見逃してしまう虞が無く、信頼性の高い作業を行うことが可能である。
【００１８】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るプログラマブルコントローラの周辺装置の好適な実施の形態を詳細に説明する。なお、本発明は、以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
【００１９】
図１は、この発明を適用したプログラマブルコントローラの周辺装置のシステムの概略構成を示すブロック図である。該システムは、図１に示すようにプログラマブルコントローラの周辺装置本体１にデータ入力用のキーボートなどの入力装置２、データ等を画面表示するＣＲＴなどの表示装置３、およびプリンタなどの印刷装置４とが接続されて構成されている。
【００２０】
また、プログラマブルコントローラの周辺装置本体１は、各種データを格納するデータメモリ５、周辺装置用システムプログラムを格納するシステムプログラム部６、周辺装置用システムプログラムを処理するＣＰＵ（中央演算処理装置）７とを備えて構成されている。
【００２１】
次に、データメモリ５の構成について説明する。図２は、データメモリ５の構成を示すブロック図である。データメモリ５は、変数データ、すなわち変数と、その変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスを格納する変数データ部１１、プログラマブルコントローラ用のプログラムを格納するプログラムデータ部１２、デバイスまたは変数の検索結果を格納する検索結果データ部１３を備えて構成されている。
【００２２】
変数データ部１１には、図３に示すような変数データテーブルに、変数２３と、プログラムのコンパイルをすることによって変数２３に自動的に割り付けられたデバイス２４とが対応して格納されている。例えば、変数名が「ＬａｂｅｌＡ」である変数と、プログラムのコンパイルをすることによって変数ＬａｂｅｌＡに自動的に割り付けられたデバイスである「Ｍ１０」とが対応して格納されている。
【００２３】
プログラムデータ部１２には、図４に示すようなプログラム構造テーブルに、プログラム中におけるステップ番号を示すステップ番号２５と、プログラムコード２６とが格納されている。
【００２４】
また、検索結果データ部１３には、図５に示すような検索結果データテーブルに検索結果データが格納されている。すなわち検索結果データテーブルは、デバイスまたは変数の検索の結果得られたステップ番号２７、同じくデバイスまたは変数の検索の結果得られたプログラムコード２８、及び検索対象であるデバイスの重複使用の有無を示す判断結果データであるエラー情報２９とが格納されている。
【００２５】
図６は上述したプログラマブルコントローラの周辺装置のシステムの動作フローチャートである。すなわち、このプログラマブルコントローラの周辺装置は、検索するデバイスまたは変数名をキーボートなどの入力装置２を用いて入力する処理ステップ（Ｓ１）と、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータから検索対象のデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ２）と、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで、検索対象のデバイスまたは変数の検索を実行したか否かを判断する処理ステップ（Ｓ３）と、検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスを変数データ部１１から検索する処理ステップ（Ｓ４）と、プログラムデータ部１２から処理ステップＳ４において検索されたデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ５）と、検索結果データ部１３に格納されたデータにおけるデバイスまたは変数の重複の有無を比較判断してエラー情報を検索結果データ部１３に格納する処理ステップ（Ｓ６）と、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで、検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を実行したか否かを判断する処理ステップ（Ｓ７）と、変数データの検索が終了か否か、すなわち検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を変数データ部１１の最後まで実行したか否かを判断する処理（Ｓ８）と、検索結果データの内容を表示または印刷する処理ステップ（Ｓ９）を実行する。
【００２６】
次に、上記の動作フローに従ってプログラム内で使用するデバイスを検索する場合について、図６及び図７を参照しながら具体的に説明する。まず、プログラマブルコントローラ用プログラム内で使用するデバイスを入力して検索する場合について説明する。
【００２７】
まず、検索するデバイスまたは変数をキーボートなどの入力装置２を用いて入力する処理ステップ（Ｓ１）を実行する。すなわち、オペレータが、キーボードなどの入力装置２を用いて検索対象デバイス２１を入力する。ここでは、検索対象デバイス２１を「Ｍ１０」とし、「Ｍ１０」を入力する。
【００２８】
次に、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータから検索対象のデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ２）を実行する。
【００２９】
すなわち、入力された検索対象デバイス「Ｍ１０」を使用しているプログラムコードをプログラムデータ部１２内のプログラム構造テーブルから検索する。そして、検索対象デバイス「Ｍ１０」を使用しているプログラムコードが存在する場合には、該プログラムコード２６を検索結果データ部１３に格納する。また、該プログラムコード２６に対応するステップ番号２５を、検索結果データ部１３に格納する。
【００３０】
次に、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで、検索対象のデバイスまたは変数の検索を実行したか否かを判断する処理ステップ（Ｓ３）を実行する。すなわち、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータの最後まで検索対象デバイス「Ｍ１０」の検索が行われたか否かを判断する。
【００３１】
そして、プログラマブルコントローラ用プログラムデータの最後まで検索対象デバイス「Ｍ１０」の検索がなされていない場合（処理ステップ（Ｓ３）否定）には、プログラマブルコントローラ用プログラムデータの最後まで引き続き上述した処理ステップ（Ｓ２）を繰り返し実行する。また、プログラマブルコントローラ用プログラムデータの最後まで検索対象デバイス「Ｍ１０」の検索が終了した場合（処理ステップ（Ｓ３）肯定）には、処理ステップ（Ｓ４）に進む。
【００３２】
次に、検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスを変数データ部１１から検索する処理ステップ（Ｓ４）を実行する。すなわち、検索対象デバイス「Ｍ１０」が割り付けられている変数２３を変数データ部１１から検索する。図６においては、例えば「ＬａｂｅｌＡ」が検索される。
【００３３】
次に、プログラムデータ部１２から処理ステップ（Ｓ４）において検索されたデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ５）を実行する。すなわち、変数データ部１１において検索対象デバイス「Ｍ１０」が割り付けられているとして処理ステップ（Ｓ４）で検索された変数２３を使用しているプログラムコード２６を、プログラムデータ部１２から検索する。図６においては、変数「ＬａｂｅｌＡ」を使用しているプログラムコード２６を検索する。
【００３４】
そして、検索対象デバイス２１が重複して割り付けられている変数２３を使用しているプログラムコードが存在する場合には、該プログラムコード２６を検索結果データ部１３に格納する。また、該プログラムコードに対応するステップ番号２５を、検索結果データ部１３に格納する。
【００３５】
図６においては、プログラムコード「ＯＵＴ  ＬａｂｅｌＡ」を検索結果データ部１３に格納する。また、プログラムコード「ＯＵＴ  ＬａｂｅｌＡ」に対応するステップ番号「３」を検索結果データ部１３に格納する。
【００３６】
また、プログラムコード「ＬＤ  ＬａｂｅｌＡ」を検索結果データ部１３に格納する。また、プログラムコード「ＬＤ  ＬａｂｅｌＡ」に対応するステップ番号「６」を検索結果データ部１３に格納する。
【００３７】
次に、検索結果データ部１３に格納されたデータにおけるデバイスまたは変数の重複の有無を比較判断してエラー情報を検索結果データ部１３に格納する処理ステップ（Ｓ６）を実行する。すなわち、検索結果データ部１３に格納されたプログラムコードにおいて検索対象デバイス２１を含まないプログラムコードは全て検索対象のデバイスが重複していると判断して、検索対象のデバイスが重複していることを示すエラー情報を検索結果データ部１３に格納する。これは、検索結果データ部１３に格納されたプログラムコードにおいて検索対象デバイス２１を含まないプログラムコードは、検索対象デバイスが割り付けられた変数を有しており、プログラムの実行上においては、実質的に対象デバイス２１が重複使用されているからである。
【００３８】
図６においては、検索結果データ部１３に格納されたプログラムコードにおいて検索対象デバイス「Ｍ１０」を含まないプログラムコードは全て検索対象のデバイス「Ｍ１０」が重複していると判断する。すなわち、プログラムコード「ＯＵＴ  ＬａｂｅｌＡ」及びプログラムコード「ＬＤ  ＬａｂｅｌＡ」は検索対象のデバイス「Ｍ１０」が重複していると判断する。これは、変数「ＬａｂｅｌＡ」には、「Ｍ１０」が自動的に割り付けられており、プログラムの実行上においては、実質的に「Ｍ１０」が使用されているからである。
【００３９】
そして、検索結果データ部１３に検索対象のデバイスが重複していることを示すエラー情報を格納する。図６においては、検索結果データテーブルの右端の欄にエラー情報を格納したことを示す○印を表示するようになされている。
【００４０】
次に、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を実行したか否かを判断する処理ステップ（Ｓ７）を実行する。すなわち、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータの最後まで変数「ＬａｂｅｌＡ」の検索が行われたか否かを判断する。
【００４１】
そして、プログラマブルコントローラ用プログラムデータの最後まで変数「ＬａｂｅｌＡ」の検索がなされていない場合（処理ステップ（Ｓ７）否定）には、プログラマブルコントローラ用プログラムデータの最後まで引き続き上述した処理ステップ（Ｓ５）及び処理ステップ（Ｓ６）を繰り返し実行する。また、プログラマブルコントローラ用プログラムデータの最後まで変数「ＬａｂｅｌＡ」の検索が終了した場合（処理ステップ（Ｓ７）肯定）には、処理ステップ（Ｓ８）に進む。
【００４２】
次に、変数データの検索が終了か否か、すなわち検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を変数データ部１１の最後まで実行したか否かを判断する処理（Ｓ８）を実行する。すなわち、変数データ部１１に格納された変数データの最後まで検索対象デバイス「Ｍ１０」が割り付けられている変数「ＬａｂｅｌＡ」の検索が行われたか否かを判断する。
【００４３】
そして、変数データの最後まで検索対象デバイス「Ｍ１０」が割り付けられている変数「ＬａｂｅｌＡ」の検索がなされていない場合（処理ステップ（Ｓ８）否定）には、変数データの最後まで引き続き上述した処理ステップ（Ｓ４）、処理ステップ（Ｓ５）、処理ステップ（Ｓ６）及び処理ステップ（Ｓ７）を繰り返し実行する。また、変数データの最後まで検索対象デバイス「Ｍ１０」が割り付けられている変数「ＬａｂｅｌＡ」の検索が終了した場合（処理ステップ（Ｓ８）肯定）には、処理ステップ（Ｓ９）に進む。
【００４４】
最後に、検索結果データの内容を表示または印刷する処理ステップ（Ｓ９）を実行する。すなわち、上記の処理ステップ（Ｓ１）〜処理ステップ（Ｓ８）を実行した結果であり、検索結果データ部１３に格納された検索結果データをＣＲＴなどの表示装置３に表示し、またはプリンタなどの印刷装置４を用いて紙面に印刷する。
【００４５】
これにより、オペレータは、プログラマブルコントローラのプログラム内で使用するデバイスと、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスのプログラム内での使用状況、および、その各々のデバイスが重複して使用されているか否かの情報を自分自身で判断することなく容易に得ることができる。
【００４６】
次にプログラマブルコントローラ用プログラム内で使用している変数を入力して所望のデバイスついて検索する場合について、図７及び図８を参照しながら具体的に説明する。
【００４７】
まず、検索するデバイスまたは変数をキーボートなどの入力装置２を用いて入力する処理ステップ（Ｓ１）を実行する。すなわち、オペレータが、キーボードなどの入力装置２を用いて検索対象の変数２２を入力する。ここでは、検索対象の変数２２を「ＬａｂｅｌＡ」とし、「ＬａｂｅｌＡ」を入力する。なお、ここでは、「検索対象の変数」という表記をするが、最終的な検索対象はプログラムをコンパイルすることにより自動的に「検索対象の変数」に割り付けられたデバイスである。
【００４８】
次に、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータから検索対象のデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ２）を実行する。
【００４９】
すなわち、入力された検索対象の変数２２デバイス「ＬａｂｅｌＡ」を使用しているプログラムコードをプログラムデータ部１２内のプログラム構造テーブルから検索する。そして、検索対象デバイス「ＬａｂｅｌＡ」を使用しているプログラムコードが存在する場合には、該プログラムコード２６を検索結果データ部１３に格納する。また、該プログラムコード２６に対応するステップ番号２５を、検索結果データ部１３に格納する。
【００５０】
次に、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで、検索対象のデバイスまたは変数の検索を実行したか否かを判断する処理ステップ（Ｓ３）を実行する。すなわち、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータの最後まで検索対象の変数「ＬａｂｅｌＡ」の検索が行われたか否かを判断する。
【００５１】
そして、プログラマブルコントローラ用プログラムデータの最後まで検索対象の変数「ＬａｂｅｌＡ」の検索がなされていない場合（処理ステップ（Ｓ３）否定）には、プログラマブルコントローラ用プログラムデータの最後まで引き続き上述した処理ステップ（Ｓ２）を繰り返し実行する。また、プログラマブルコントローラ用プログラムデータの最後まで検索対象の変数「ＬａｂｅｌＡ」の検索が終了した場合（処理ステップ（Ｓ３）肯定）には、処理ステップ（Ｓ４）に進む。
【００５２】
次に、検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスを変数データ部１１から検索する処理ステップ（Ｓ４）を実行する。すなわち、検索対象の変数「ＬａｂｅｌＡ」に割り付けられているデバイス２４を変数データ部１１から検索する。図８においては、例えば「Ｍ１０」が検索される。
【００５３】
次に、プログラムデータ部１２から処理ステップ（Ｓ４）において検索されたデバイスまたは変数を検索して、検索結果を検索結果データ部１３に格納する処理ステップ（Ｓ５）を実行する。すなわち、変数データ部１１において検索対象の変数「ＬａｂｅｌＡ」に割り付けられているとして処理ステップ（Ｓ４）で検索されたデバイス２４を使用しているプログラムコード２６を、プログラムデータ部１２から検索する。図８においては、デバイス「Ｍ１０」を使用しているプログラムコード２６を検索する。
【００５４】
そして、検索対象の変数２２に割り付けられているデバイス２４を使用しているプログラムコードが存在する場合には、該プログラムコード２６を検索結果データ部１３に格納する。また、該プログラムコードに対応するステップ番号２５を、検索結果データ部１３に格納する。
【００５５】
図８においては、プログラムコード「ＬＤ  Ｍ１０」を検索結果データ部１３に格納する。また、プログラムコード「ＬＤ  Ｍ１０」に対応するステップ番号「２」を検索結果データ部１３に格納する。
【００５６】
次に、検索結果データ部１３に格納されたデータにおけるデバイスまたは変数の重複の有無を比較判断してエラー情報を検索結果データ部１３に格納する処理ステップ（Ｓ６）を実行する。すなわち、検索結果データ部１３に格納されたプログラムコードにおいて検索対象の変数２２を含まないプログラムコードは全て検索対象の変数が重複していると判断して、検索結果データ部１３に検索対象の変数が重複していることを示すエラー情報を格納する。これは、検索結果データ部１３に格納されたプログラムコードにおいて検索対象の変数２２を含まないプログラムコードは、検索対象の変数２２に割り付けられたデバイス２４を有しており、プログラムの実行上においては、実質的にデバイス２１が重複使用されているからである。
【００５７】
図８においては、検索結果データ部１３に格納されたプログラムコードにおいて検索対象の変数「ＬａｂｅｌＡ」を含まないプログラムコードは全て検索対象の変数「ＬａｂｅｌＡ」が重複していると判断する。すなわち、プログラムコード「ＬＤ  Ｍ１０」及びプログラムコード「ＯＵＴ  Ｍ１０」は検索対象の変数「ＬａｂｅｌＡ」が重複していると判断する。これは、デバイス「Ｍ１０」は、変数「ＬａｂｅｌＡ」に自動的に割り付けられており、変数「ＬａｂｅｌＡ」を使用しているのと同じであるからである。そして、プログラムコード格納部２８に格納されたプログラムコードにおいて検索対象の変数「ＬａｂｅｌＡ」を含まないプログラムコード及び変数「ＬａｂｅｌＡ」を含むプログラムコードは、プログラムの実行上においては、いずれも実質的に「Ｍ１０」が使用されているからである。すなわち、検索対象の変数「ＬａｂｅｌＡ」が重複しているとの判断は、デバイス「Ｍ１０」が重複しているとの判断に等しいものである。
【００５８】
そして、検索結果データ部１３に検索対象の変数「ＬａｂｅｌＡ」が重複している、すなわちデバイス「Ｍ１０」が重複していることを示すエラー情報を格納する。図８においては、検索結果データテーブルの右端の欄にエラー情報を格納したことを示す○印を表示するようになされている。
【００５９】
次に、プログラムデータの検索が終了か否か、すなわちプログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムの最後まで検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を実行したか否かを判断する処理ステップ（Ｓ７）を実行する。すなわち、プログラムデータ部１２に格納されたプログラマブルコントローラ用プログラムデータの最後までデバイス「Ｍ１０」の検索が行われたか否かを判断する。
【００６０】
そして、プログラマブルコントローラ用プログラムデータの最後までデバイス「Ｍ１０」の検索がなされていない場合（処理ステップ（Ｓ７）否定）には、プログラマブルコントローラ用プログラムデータの最後まで引き続き上述した処理ステップ（Ｓ５）及び処理ステップ（Ｓ６）を繰り返し実行する。また、プログラマブルコントローラ用プログラムデータの最後までデバイス「Ｍ１０」の検索が終了した場合（処理ステップ（Ｓ７）肯定）には、処理ステップ（Ｓ８）に進む。
【００６１】
次に、変数データの検索が終了か否か、すなわち検索対象のデバイスが割り付けられている変数、または検索対象の変数に割り付けられているデバイスの検索を変数データ部１１の最後まで実行したか否かを判断する処理（Ｓ８）を実行する。すなわち、変数データ部１１に格納された変数データの最後まで検索対象の変数「ＬａｂｅｌＡ」に割り付けられたデバイス「Ｍ１０」の検索が行われたか否かを判断する。
【００６２】
そして、変数データの最後まで検索対象の変数「ＬａｂｅｌＡ」に割り付けられたデバイス「Ｍ１０」の検索がなされていない場合（処理ステップ（Ｓ８）否定）には、変数データの最後まで引き続き上述した処理ステップ（Ｓ４）、処理ステップ（Ｓ５）、処理ステップ（Ｓ６）及び処理ステップ（Ｓ７）を繰り返し実行する。また、変数データの最後まで検索対象の変数「ＬａｂｅｌＡ」に割り付けられたデバイス「Ｍ１０」の検索が終了した場合（処理ステップ（Ｓ８）肯定）には、処理ステップ（Ｓ９）に進む。
【００６３】
最後に、検索結果データの内容を表示または印刷する処理ステップ（Ｓ９）を実行する。すなわち、上記の処理ステップ（Ｓ１）〜処理ステップ（Ｓ８）を実行した結果であり、検索結果データ部１３に格納された検索結果データをＣＲＴなどの表示装置３に表示し、またはプリンタなどの印刷装置４を用いて紙面に印刷する。
【００６４】
これにより、オペレータは、プログラマブルコントローラのプログラム内で使用するデバイスと、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスのプログラム内での使用状況、および、その各々のデバイスが重複して使用されているか否かの情報を自分自身で判断することなく容易に得ることができる。
【００６５】
上述したようにこのプログラマブルコントローラの周辺装置においては、プログラマブルコントローラのプログラム内で使用するデバイスを入力する、またはそのデバイスがプログラムをコンパイルすることにより自動的に割り付けられたプログラマブルコントローラのプログラム内で使用する変数を入力することにより、変数データ部１１及びプログラムデータ部１２からデバイス、及び変数を自動的に検索する。
【００６６】
そして、その検索結果を検索結果データ部１３に検索結果データとしてステップ番号とプログラムコードを格納する。さらに、検索結果データのプログラムコードにおいて検索対象のデバイスの使用状況、及び検索対象のデバイスの重複使用の有無を自動的に比較判断する。これらの処理結果は、ＣＲＴなどの表示装置３に表示して、またはプリンタなどの印刷装置４を用いて紙面に印刷して確認することができる。
【００６７】
したがって、オペレータは、このプログラマブルコントローラの周辺装置の処理結果を見るだけで、その各々のデバイスが重複して使用されているか否かの情報を自分自身で判断することなく短時間で、且つ容易に得ることができる。
【００６８】
その結果、オペレータが、従来のようにプログラマブルコントローラのプログラム内で使用するデバイスの使用状況の検索結果と、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスの使用状況の検索結果とを、目視にて見比べて判断する作業が不要である。したがって、オペレータがプログラミングやデバッグを行う際の作業負荷が大幅に軽減され、効率的に作業を行うことが可能である。
【００６９】
また、上述したようにデバイスの重複使用の比較判断をプログラマブルコントローラの周辺装置内の処理において行うため、従来のようにオペレータが目視による確認の場合のように重複するデバイスが存在した場合においても見逃してしまう虞が無く、信頼性の高い作業を行うことが可能である。
【００７０】
【発明の効果】
以上説明したように、この発明によれば、プログラマブルコントローラの周辺装置が検索対象のデバイスの使用状況、及び検索対象のデバイスの重複使用の有無を自動的に比較判断する。
【００７１】
これにより、オペレータは、このプログラマブルコントローラの周辺装置での処理結果を見るだけで、その各々のデバイスが重複して使用されているか否かの情報を自分自身で判断することなく短時間で、且つ容易に得ることができるという効果を奏する。したがって、この発明によれば、オペレータが、デバイスが重複使用されているか否かの情報を得るための労力が軽減されるとともに、作業時間を短縮できるという効果が得られる。また、目視による確認ではないため、プログラマブルコントローラのプログラム内で使用するデバイスの使用状況の検索結果と、プログラマブルコントローラのプログラム内で使用する変数にプログラムをコンパイルすることにより自動的に割り付けられたデバイスの使用状況の検索結果とに重複したデバイスが存在しても見逃すことがないという効果も得られる。
【図面の簡単な説明】
【図１】この発明を適用したプログラマブルコントローラの周辺装置システムの概略構成を示すブロック図である。
【図２】データメモリの構成を示すブロック図である。
【図３】変数データ部の変数データテーブルにデータが格納された状態の一例を示す図である。
【図４】プログラムデータ部のプログラム構造テーブルにデータが格納された状態の一例を示す図である。
【図５】検索結果データ部の検索結果データテーブルにデータが格納された状態の一例を示す図である。
【図６】この発明を適用したプログラマブルコントローラの周辺装置システムの動作図である。
【図７】この発明を適用したプログラマブルコントローラの周辺装置システムの動作フローチャートである。
【図８】この発明を適用したプログラマブルコントローラの周辺装置システムの動作図である。
【符号の説明】
１  プログラマブルコントローラの周辺装置本体、２  入力装置、３  表示装置、４  印刷装置、５  データメモリ、６  システムプログラム部、７  ＣＰＵ、１１  変数データ部、１２  プログラムデータ部、１３  検索結果データ部。
【図１】
2004318674.tif 000003
【図２】
2004318674.tif 000004
【図３】
2004318674.tif 000005
【図４】
2004318674.tif 000006
【図５】
2004318674.tif 000007
【図６】
2004318674.tif 000008
【図７】
2004318674.tif 000009
【図８】
2004318674.tif 000010