(57)【特許請求の範囲】
【請求項１】
命令とその命令の引数の入出力種別とを対応付けて記憶した命令テーブルと、
既存の流用元シーケンスプログラムから流用データとして選択したシーケンスプログラム部分のコード中の命令について、前記命令テーブルを検索することにより、命令の引数の入出力種別を判別する検索判別手段と、
前記選択したシーケンスプログラム部分のコード中のアドレスと前記判別された入出力種別とを組み合わせて検索結果を作成し記憶する検索結果作成記憶手段と、
前記検索結果に記憶された入出力種別を変数名に置換することにより前記選択したシーケンスプログラム部分のコード中のアドレスを変数名に置換した部品データを作成する部品データ作成手段と、
指定されたシーケンスプログラム中の任意の場所に前記部品データ作成手段で作成された部品データを流用する部品データ流用手段と、
を備えたことを特徴とするプログラマブルロジックコントローラの周辺装置。
【請求項２】
部品データ流用手段は、
部品データ作成手段で作成された部品データをシーケンスプログラム部品として部品格納庫に格納するシーケンスプログラム部品格納手段と、
前記部品格納庫に格納したシーケンスプログラム部品を表示するシーケンスプログラム部品表示手段と、
このシーケンスプログラム部品表示手段に表示されたシーケンスプログラム部品から所望のシーケンスプログラム部品を選択するシーケンスプログラム部品選択手段と、
選択されたシーケンスプログラム部品を指定されたシーケンスプログラム中の任意の場所に流用するシーケンスプログラム部品流用手段と、
を有することを特徴とする請求項１に記載のプログラマブルロジックコントローラの周辺装置。
【請求項３】
既存のシーケンスプログラムの一部をコピーして新規シーケンスプログラムに貼り付けるプログラマブルロジックコントローラの周辺装置のプログラム作成方法において、
命令とこの命令の引数の入出力種別とを対応付けて記憶した命令テーブルを有し、既存の流用元シーケンスプログラムから流用データとして選択したシーケンスプログラム部分のコード中の命令について、前記命令テーブルを検索することにより前記コード中命令の引数の入出力種別を判別する検索判別ステップと、
この判別された入出力種別と前記選択したシーケンスプログラム部分のコード中のアドレスとを組み合わせて検索結果を作成し記憶する検索結果作成記憶ステップと、
検索結果に記憶された入出力種別を変数名に置換することにより前記選択したシーケンスプログラム部分のコード中のアドレスを変数名に置換した部品データを作成する部品データ作成ステップと、
流用先としての新規シーケンスプログラム中の任意の場所に前記部品データ作成ステップにて作成された部品データを流用する部品データ流用ステップと、
を備えたことを特徴とするプログラマブルロジックコントローラの周辺装置のプログラム作成方法。
【請求項４】
部品データ流用ステップは、
部品データ作成ステップにて作成された部品データをシーケンスプログラム部品として部品格納庫に格納するシーケンスプログラム部品格納ステップと、
部品格納庫に格納したシーケンスプログラム部品を表示するシーケンスプログラム部品表示ステップと、
このシーケンスプログラム部品表示ステップにおいて表示されたシーケンスプログラム部品から所望のシーケンスプログラム部品を選択するシーケンスプログラム部品選択ステップと、
選択されたシーケンスプログラム部品を流用先としての新規シーケンスプログラム中の任意の場所に流用するシーケンスプログラム部品流用ステップと、
を含むことを特徴とする請求項３に記載のプログラマブルロジックコントローラの周辺装置のプログラム作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、プログラマブルロジックコントローラ（以下適宜、ＰＬＣと記す）のシーケンスプログラムの作成，編集を行うＰＬＣの周辺装置及びそのプログラム作成方法に関するものである。
【背景技術】
【０００２】
従来のＰＬＣの周辺装置について以下に説明する。
例えば下記特許文献１に示されるような、従来のＰＬＣの周辺装置における、過去に作成した流用元シーケンスプログラムデータからオペレータの指定したシーケンスプログラム部分を流用先シーケンスプログラムデータに流用する動作について説明する。
まず、流用元シーケンスプログラムにおいて、オペレータが入力装置を使用して流用するシーケンスプログラム部分を選択しコピーを行う。
次に、ＰＬＣの周辺装置は、選択された流用するシーケンスプログラム部分を流用データにコピーする処理を実行する。
次に、オペレータは、選択した流用するシーケンスプログラム部分を流用先シーケンスプログラム中の挿入したい部分に貼り付ける。
次に、ＰＬＣの周辺装置は、流用データに記録されている流用するシーケンスプログラム部分を、流用先シーケンスプログラムデータのオペレータによって指定された場所に挿入する。
【０００３】
以上の処理によって、流用元シーケンスプログラムデータ中の流用するシーケンスプログラム部分を流用先のシーケンスプログラムデータのオペレータによって指定した場所に流用することが完了した。
しかし、通常、流用されたシーケンスプログラム部分中で使用されているアドレスは流用先のシーケンスプログラムに合わせて置き換える操作を行う必要がある。この置換操作はオペレータによって実行しなければならない。
【０００４】
【特許文献１】特開２００３−４４１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のＰＬＣの周辺装置では、過去に作成したシーケンスプログラムを再利用して新規にシーケンスプログラムを作成する場合、過去に作成したシーケンスプログラムの一部をコピーして新規のシーケンスプログラムに貼り付けた後、入出力アドレス及び内部アドレスをオペレータにより手作業で一つ一つ置換する必要があった。この置換作業はアドレスの重複や入出力種別を考慮しながら行う必要があり、そのため、シーケンスプログラムを再利用した新規のシーケンスプログラムの作成が効率的に行えない、という問題点があった。
また、同じシーケンスプログラム部分を複数箇所に流用する場合、若しくは複数の新規シーケンスプログラムに流用する場合、シーケンスプログラム部分の貼り付けと入出力アドレス／内部アドレスの置換作業を、流用した箇所の数だけ手作業で繰り返す必要があり、非効率的であるという問題点があった。
【０００６】
この発明は、上述のような問題点を解決するためになされたものであり、簡単な操作で過去のシーケンスプログラムを再利用し、新規のシーケンスプログラムを効率的に作成することができるＰＬＣの周辺装置及びそのプログラム作成方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００７】
この発明に係るＰＬＣの周辺装置は、命令とその命令の引数の入出力種別とを対応付けて記憶した命令テーブルと、既存の流用元シーケンスプログラムから流用データとして選択したシーケンスプログラム部分のコード中の命令について、前記命令テーブルを検索することにより、命令の引数の入出力種別を判別する検索判別手段と、前記選択したシーケンスプログラム部分のコード中のアドレスと前記判別された入出力種別とを組み合わせて検索結果を作成し記憶する検索結果作成記憶手段と、前記検索結果に記憶された入出力種別を変数名に置換することにより前記選択したシーケンスプログラム部分のコード中のアドレスを変数名に置換した部品データを作成する部品データ作成手段と、指定されたシーケンスプログラム中の任意の場所に前記部品データ作成手段で作成された部品データを流用する部品データ流用手段と、を備えたものである。
【発明の効果】
【０００８】
したがって、過去に作成した既存のシーケンスプログラムの一部をコピーして新規シーケンスプログラムに貼り付ける操作を行なう場合に、既存のシーケンスプログラムを流用・再利用して新規シーケンスプログラムを効率的に作成することができるものである。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
この発明の好適な実施の形態を、図を用いて説明する。
第１図は、この発明におけるＰＬＣの周辺装置のシステム構成図である。図において、１はＰＬＣの周辺装置本体で、２はキーボードなどの入力装置、３はＣＲＴなどの表示装置、４はプリンタなどの印刷装置、５はシーケンスプログラムや変数データなどを格納するデータメモリ、６はシステムプログラム、７はシステムプログラムを処理する中央演算装置、８はハードディスクなどの外部記憶装置である。
【００１０】
第２図は、第１図に示したデータメモリ５の構成図である。第２図において、１１はアドレスを一般化した別名である変数と、オペレータが記述したプログラムをコンパイルすることによってその変数に割り付けられたアドレスを格納する変数データ、１２は過去に作成した流用元シーケンスプログラムデータ、１３は新規に作成しようとしている流用先シーケンスプログラムデータ、１４はアドレスまたは変数の検索結果データ、１５はこの発明においてオペレータが記述したシーケンスプログラムから切り出されたシーケンスプログラム部分を一時的に格納するための部品データ、１６は流用するシーケンスプログラム部分を一時的に格納する流用データである。
【００１１】
第３図は、第１図に示した外部記憶装置８中に作成された部品格納庫５０の構成図である。５１，５２，５３はともに、部品化され部品格納庫５０に格納されたシーケンスプログラム部品である。
【００１２】
第４図は、この発明におけるＰＬＣの周辺装置の動作図である。第４図において、１２は流用元のシーケンスプログラムデータである。２１は流用元シーケンスプログラムデータ１２中で、オペレータが入力装置２を使用して選択したシーケンスプログラム部分である。２３は流用元シーケンスプログラムデータ１２中のコードである。２２は流用元シーケンスプログラムデータ１２のコード２３に対応したステップＮｏ．である。２５は流用データ１６中のコードである。２４は流用データ１６のコード２５に対応したステップＮｏ．である。２５のコードは命令部分２６とアドレス部分２７の組み合わせにより成り立っている。２８は流用データ１６から検索したアドレス２９の入出力種別である。３０はシーケンスプログラムに記述する命令３１と該各命令に対応する引数の入出力種別３２を記述した命令テーブルである。命令テーブル３０は図１のシステムプログラム１に含まれている。３４は変数名３３を付加するために検索結果１４のアドレス２９が変数データ１１にコピーされたものである。変数名３３はアドレス３４に対応したアドレスを一般化した別名である。３５は部品格納庫５０に格納する部品名、３６は部品に付加する部品コメントである。３７は変数データ１１の変数名３３より作成された入力変数、３８は出力変数、３９は内部変数である。４０は流用データ１６と変数データ１１とにより作成された回路情報である。４１は流用先シーケンスプログラムデータ１３中に挿入されたシーケンスプログラム部品、４２は流用先シーケンスプログラムデータ１３のコード４３のステップＮｏ．である。
【００１３】
第５図は、この発明におけるＰＬＣの周辺装置において、過去に作成したシーケンスプログラムの一部分を新規シーケンスプログラムに流用する際の動作フローチャートである。
第６図は第５図の動作フローの処理ステップＳ４においてこの発明のＰＬＣの周辺装置が流用データ１６から使用しているアドレス／入出力種別を抽出し検索結果１４を得る処理の詳細動作フローである。
第７図は第５図の動作フローの処理ステップＳ６においてこの発明のＰＬＣの周辺装置が部品データ１５を作成する処理の詳細動作フローである。
第８図は、この発明のＰＬＣの周辺装置におけるシーケンスプログラムの流用を行う前の回路表示例である。
第９図は、この発明のＰＬＣの周辺装置における部品データ確認画面の表示例である。
第１０図は、この発明のＰＬＣの周辺装置におけるシーケンスプログラムの流用を行った後の回路表示例である。
【００１４】
第１１図は、この発明のＰＬＣの周辺装置において、すでに部品格納庫５０に格納されているシーケンスプログラム部品を新規シーケンスプログラムに流用する際の動作図である。第１１図において、５１は外部記憶装置８に存在する部品格納庫５０に格納されているシーケンスプログラム部品である。５４はシーケンスプログラム部品５１の部品名、５５はシーケンスプログラム部品５１に付加された部品コメント、５６はシーケンスプログラム部品５１の入力変数、５７はシーケンスプログラム部品５１の出力変数、５８はシーケンスプログラム部品５１の内部変数、５９は回路情報である。７１は流用先シーケンスプログラムデータ７０中に挿入されたシーケンスプログラム部品である。
【００１５】
第１２図は、この発明のＰＬＣの周辺装置において、すでに部品格納庫５０に格納されているシーケンスプログラム部品を新規シーケンスプログラムに流用する際の動作フローチャートである。
【００１６】
次に、この実施の形態のものの動作について、過去に作成した流用元シーケンスプログラ厶データ１２からオペレータの指定したシーケンスプログラム部分２１を流用先シーケンスプログラムデータ１３に流用する例を用いて説明する。
この発明の処理を行う前の流用元シーケンスプログラム、流用先シーケンスプログラムを表示したＰＬＣの周辺装置の画面イメージはそれぞれ第８図の６０，６１である。６０における太枠部分が流用したいシーケンスプログラム部分であり、６１の太枠部分は、オペレータが流用先として選択する箇所である。
【００１７】
第５図において、まず、流用先シーケンスプログラムにおいて、オペレータが入力装置２を使用して、流用するシーケンスプログラム部分２１を選択しコピーを行う（ステップＳ１）。
次に、ＰＬＣの周辺装置は、選択された流用するシーケンスプログラム部分２１を流用データ１６にコピーする（ステップＳ２）。
次に、オペレータは、選択した流用するシーケンスプログラム部分２１を流用先シーケンスプログラム１３中の挿入したい部分に貼り付ける操作をする（ステップＳ３）。
次に、ＰＬＣの周辺装置は、流用データ１６から検索結果１４を作成する（ステップＳ４）。処理ステップＳ４の詳細を第６図のフローチャートに示す。処理ステップＳ４の検索処理では、まず、流用データ１６の先頭行から検索を開始し（ステップＳ２０）、流用データ１６のコード２５（ここでは「ＬＤ Ｘ０」）からアドレス２７（ここでは「Ｘ０」）を抽出し、検索結果１４のアドレス２９に記録する（ステップＳ２１）。
【００１８】
次に、流用データ１６のコード２５（ここでは「ＬＤ Ｘ０」）から命令２６（ここでは「ＬＤ」）を抽出し（ステップＳ２２）、抽出した命令を図１の中のシステムプログラム１に用意されている命令テーブル３０の命令３１において検索することにより、流用データ１６の先頭行のコード２５（ここでは「ＬＤ Ｘ０」）に使用されているアドレス２７（ここでは「Ｘ０」）の入出力種別３２（ここでは「入力」）を決定し、検索結果１４の入出力種別２８に記録する（ステップＳ２３）。
次に、流用データ１６に次の行があるかを判定し（ステップＳ２４）、次の行があれば次の行へ進み（ステップＳ２５）、流用データ１６で使用されている全てのアドレスと対応する入出力種別を決定し検索結果１４を完成させる。
【００１９】
流用データ１６から検索結果１４を作成する処理（第５図のステップＳ４）が完了した後、ＰＬＣの周辺装置は、検索結果１４にリストアップされたアドレス２９の入出力種別２８に従ってアドレスに対して対応する変数名３３を付加する。具体的には、入出力種別が「入力」のアドレスには「ＩＮＰＵＴ＋数字」という変数名を付加、入出力種別が「出力」のアドレスには「ＯＵＴＰＵＴ＋数字」、入出力種別が「内部」のアドレスには「ＬＯＣＡＬ＋数字」を付加する。このようにして変数データ１１を作成する（ステップＳ５）。
【００２０】
次に、部品データ１５を作成する（ステップＳ６）。処理ステップＳ６の詳細を第７図のフローチャートに示す。部品データ作成の処理ステップＳ６では、まず、部品名３５にデフォルトの部品名（ここでは「ＦＢ１」とする）を設定する（ステップＳ３０）。次に、入力変数３７には変数データ１１の変数名３３の欄の「ＩＮＰＵＴ＋数字」の変数名を代入し、出力変数３８には変数データ１１の変数名３３の欄の「ＯＵＴＰＵＴ＋数字」の変数名を代入し、内部変数３９には変数データ１１の変数名３３の欄の「ＬＯＣＡＬ＋数字」の変数名を代入する（ステップＳ３１）。
【００２１】
次に、流用データ１６，変数データ１１を参照し、流用データ１６のコード２５のアドレス２７を変数名３３に置換する（例：流用データ１６先頭行のコード２５「ＬＤ Ｘ０」のアドレス２７「Ｘ０」を、変数データ１１において「Ｘ０」に対応する変数名３３「ＩＮＰＵＴ１」に置換し「ＬＤ ＩＮＰＵＴ１」とする）ことで回路情報４０を作成する（ステップＳ３２）。処理ステップＳ３０乃至Ｓ３２を実施することで、部品データ１５を作成する。
【００２２】
次に、ＰＬＣの周辺装置は、表示装置３を介して作成した部品データ１５をオペレータに対して表示する（ステップＳ７）。
オペレータは、入力装置２を使用して、部品データ１５を確認し、必要に応じて部品名３５，部品コメント３６，入力変数３７，出力変数３８，内部変数３９を編集する（ステップＳ８）。このときの画面イメージは第９図の６２である。
【００２３】
次に、ＰＬＣの周辺装置は、部品データ１５に対してオペレータによって実施された修正を反映する処理を実行する（ステップＳ９）。例えば、オペレータの処理ステップＳ８において、第９図の画面表示例６２の部品名を「ＦＢ１」から「ＢＵＨＩＮ」に修正した場合、ステップＳ９において、ＰＬＣの周辺装置は部品データ１５の部品名３５を「ＦＢ１」から「ＢＵＨＩＮ」に修正する。
次に、部品データ１５の回路情報４０を流用先である新規シーケンスプログラムデータ１３中のオペレータによって指定された場所３７に挿入することで、ＦＢ（ファンクションブロック（ＪＩＳ３５０Ｂ参照））の形で展開する（ステップＳ１０）。このときの画面イメージは第１０図の６３である。
【００２４】
ステップＳ１０の部品流用処理を行うと、ＰＬＣの周辺装置は、作成された部品データ１５を外部記憶装置８に存在する部品格納庫５０にシーケンスプログラム部品５１として保存する（ステップＳ１１）。
【００２５】
上述の例では、過去に作成したシーケンスプログラムからそのシーケンスプログラムの一部を新規シーケンスプログラムに部品化して流用する手順を示した。この発明は、上述の例のようにシーケンスプログラムを流用した際に、流用したシーケンスプログラムを部品化し、外部記憶装置８に存在する部品格納庫５０に格納する手順を有することから、部品格納庫５０から新規シーケンスプログラムに流用することもできる。ここでは、すでに部品格納庫５０に保存されているシーケンスプログラム部品を新規シーケンスプログラムに流用する例を説明する。
【００２６】
部品格納庫５０には、上述の例で登録したシーケンスプログラム部品５１の他にも同様の手順で既に部品化されたシーケンスプログラム部品５２，シーケンスプログラム部品５３などが存在しているものとする。この例では新規シーケンスプログラムにシーケンスプログラム部品５１を流用することとする。各部品のフォーマットは部品データ１５と同様である。
第１２図において、まず、オペレータが流用先となる新規シーケンスプログラムにおいて部品格納庫からのデータの流用を指定する（ステップＳ４０）と、ＰＬＣの周辺装置は部品格納庫５０に格納されている部品一覧を表示装置３を介して表示する（ステップＳ４１）。
【００２７】
次に、オペレータは表示された部品一覧の中から流用する部品を選択する（ステップＳ４２）。ここでは、シーケンスプログラム部品５１を選択したとする。この選択には、部品中の部品名５４，部品コメント５５，入力変数５６，出力変数５７，内部変数５８，回路情報５９においてキーワードを用いて検索することもできる。
次に、ＰＬＣの周辺装置は、選択されたシーケンスプログラム部品５１の回路情報５９を流用先シーケンスプログラムデータ７０中のオペレータによって指定された場所７１に挿入することでＦＢの形で展開する（ステップＳ４３）。
【００２８】
以上のようにこの発明によれば、過去に作成した既存のシーケンスプログラムの一部をコピーして新規シーケンスプログラムに貼り付ける操作を行なう場合に、置換が必要な入出力アドレス及び内部アドレスを自動的に置換するようにしたため、オペレータが手動で入出力アドレス／内部アドレスを置換する必要がなく、既存のシーケンスプログラムを流用・再利用して新規シーケンスプログラムを効率的に作成することができるものである。
【産業上の利用可能性】
【００２９】
以上のように、この発明にかかるＰＬＣの周辺装置及びそのプログラム作成方法は、シーケンスプログラムを作成、編集を行う際において用いられるのに適している。
【図面の簡単な説明】
【００３０】
【図１】第１図は、この発明によるＰＬＣの周辺装置のシステム構成図である。
【図２】第２図は、この発明によるＰＬＣの周辺装置のデータメモリの構成図である。
【図３】第３図は、この発明によるＰＬＣの周辺装置の外部記憶装置に存在する部品格納庫の構成図である。
【図４】第４図は、この発明によるＰＬＣの周辺装置の動作図である。
【図５】第５図は、この発明によるＰＬＣの周辺装置の動作フローチャートである。
【図６】第６図は、この発明によるＰＬＣの周辺装置の動作フローチャートである。
【図７】第７図は、この発明によるＰＬＣの周辺装置の動作フローチャートである。
【図８】第８図は、シーケンスプログラムを流用する前の流用元シーケンスプログラムと流用先シーケンスプログラムの画面表示例である。
【図９】第９図は、この発明による部品データ確認画面の画面表示例である。
【図１０】第１０図は、この発明によるシーケンスプログラムを流用した後の流用先シーケンスプログラムの画面表示例である。
【図１１】第１１図は、この発明によるＰＬＣの周辺装置の動作図である。
【図１２】第１２図は、この発明によるＰＬＣの周辺装置の動作フローチャートである。
【図１】
0004513806.tif 000002
【図２】
0004513806.tif 000003
【図３】
0004513806.tif 000004
【図４】
0004513806.tif 000005
【図５】
0004513806.tif 000006
【図６】
0004513806.tif 000007
【図７】
0004513806.tif 000008
【図８】
0004513806.tif 000009
【図９】
0004513806.tif 000010
【図１０】
0004513806.tif 000011
【図１１】
0004513806.tif 000012
【図１２】
0004513806.tif 000013