JP3756333B2 - Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device - Google Patents
Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device Download PDFInfo
- Publication number
- JP3756333B2 JP3756333B2 JP35958198A JP35958198A JP3756333B2 JP 3756333 B2 JP3756333 B2 JP 3756333B2 JP 35958198 A JP35958198 A JP 35958198A JP 35958198 A JP35958198 A JP 35958198A JP 3756333 B2 JP3756333 B2 JP 3756333B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- unit
- output
- label
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Programmable Controllers (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、機械設備を制御するプログラマブルコントローラのためのシーケンスプログラム(ラダ−回路)の入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置に関するものである。
【0002】
【従来の技術】
プログラマブルコントローラ(以下、PCと略称する)で使用するシーケンスプログラムを作成する際には、まず、PCのシステム構成を確定する。すなわち、CPUユニットの機種選定、入出力ユニットの機種選定、数量の決定を行い、ベースユニットのどの位置にどのユニットを設定するかを決める。
【0003】
こうして構築されたPCシステムにおいて、決定された入力ユニット、出力ユニットの各ユニットに属する入出力デバイスにはCPUに近い配置順に入出力番号が8進または16進にて割り付けられる。入力ユニットおよび出力ユニットはユーザの構築したシステムの用途により多種あるが、1ユニットあたりの入力点数又は出力点数は16点、32点、64点が一般的である。
【0004】
したがって、ベースユニットに入力ユニット、出力ユニットを取り付ける場合、取り付けるベースの位置によって入出力番号が一律に決定されるわけでなく、ベースユニットに取り付けられる入力ユニット、出力ユニットが保有する入出力点数の種別により入出力点番号(入出力デバイス番号)が変化する。たとえば、入力ユニットA(16点)とB(32点)を使用する場合に、ユニットを(A、B)の順に並べた場合のユニットAの入力点数は0から15までの16点となるが、(B、A)の順に並べた場合には、ユニットAの入力点数は32から47までの16点となる。
【0005】
この入出力点番号はあくまでPCのCPUユニットがベースユニットに取り付けられた入力ユニット、出力ユニットが何点使用するユニットであるかを自動的に読み取って制御する番号であり、プログラミング手段である周辺装置では、PCのシステム構成は判別できないため、プログラムを作成する際には、PCのCPUユニットが割り付けると想定される入出力番号によって、システム構築を行なう担当者がプログラミングを行うのが一般的である。
【0006】
なお、この発明に関連する従来技術として、PCの入出力ユニットに入出力点数等のユニット構成情報を付け、PCのシステム構成時にそのユニット構成情報を読み取って入出力ユニットの入出力点数を求め、各入出力ユニットにシーケンスプログラムで使用する入出力点番号(アドレス)を自動的に割り付けるものが特開平1−177610号公報に示されており、また、入出力ユニットの入れ換え、変更に対応すべく、変更前後のI/O物理アドレス割付対応テーブルを持ち、変更前後のデータ対照によってシーケンスプログラムにおけるI/O物理アドレスを入出力ユニットの入れ換え、変更後のものに自動変換するものが特開平2−148107号公報に開示されている。
【0007】
【発明が解決しようとする課題】
従来におけるシーケンスプログラムの作成では、シーケンスプログラム上のデバイス番号は、必ず、PCのシステム構成で決まる入出力点番号(I/O物理アドレス)で設定しなくてはならないため、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要があり、また、PCの実際のシステム構成、すなわち、実機器構成を意識してシーケンスプログラムを作成する必要があり、大規模なシステム構成であるほど、シーケンスプログラムの作成が面倒で、間違いのないシーケンスプログラムを効率よく作成することが難しくなる。
【0008】
また、PCのシステム構成の変更に対するシーケンスプログラムの変更対応性が悪く、PCのシステム構成の変更に対してシーケンスプログラムのI/O物理アドレスを自動変更するためには、特開平2−148107号公報に示されているように、変更前後のI/O物理アドレス割付対応テーブルを設定し、変更前後のデータ対照によってシーケンスプログラムにおけるI/O物理アドレスを変換しなくてはならない。
【0009】
この発明は、上述の如き問題点を解消するためになされたもので、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成でき、しかもPCのシステム構成の変更に対するシーケンスプログラムの変更対応性がよく、融通性に優れたプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法、および、その入出力デバイス番号割付方法の実施に使用されるプログラマブルコントローラの周辺装置を得ることを目的としている。
【0010】
【課題を解決するための手段】
上記目的を達成するために、この発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、該求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【0011】
つぎの発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【0012】
また、上述の目的を達成するために、この発明によるプログラマブルコントローラの周辺装置は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルが設定され、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、該求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるデータ処理手段を有しているものである。
【0013】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記データ処理手段が、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号とを加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【0014】
つぎの発明によるプログラマブルコントローラの周辺装置は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルとを入力する入力手段およびこれらデータを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段とを有しているものである。
【0015】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記入出力デバイス番号割付手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号と加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるものである。
【0016】
つぎの発明によるプログラマブルコントローラの周辺装置は、シーケンスプログラムの組み合わせ順序が入力手段によって変更可能であり、記憶手段の組み合わせデータの書き換えを行い、前記入出力デバイス番号割付手段は、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるものである。
【0017】
つぎの発明によるプログラマブルコントローラの周辺装置は、前記使用ユニット構成データが入力手段によって変更可能であり、記憶手段の使用ユニット構成データの書き換えを行い、前記入出力デバイス番号割付手段は、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるものである。
【0018】
つぎの発明によるプログラマブルコントローラの周辺装置は、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルが入力手段により変更可能であり、記憶手段のユニットラベル・デバイスラベルデータの書き換えを行い、前記入出力デバイス番号割付手段は、ユニットラベル、デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更するものである。
【0019】
【発明の実施の形態】
以下に添付の図を参照して、この発明にかかるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法およびプログラマブルコントローラの周辺装置の実施の形態を詳細に説明する。
【0020】
実施の形態1.
(全体概要)
図1は、この発明によるPCの周辺装置のブロック図である。周辺装置は全体を符号10により示されている。周辺装置10は、中央処理装置(CPU)11と、メモリ12と、CRT13と、キーボード14と、PC50と交信するための通信I/F部15と、補助記憶装置16とを有している。補助記憶装置16には、フロッピーディスク17に読み書きを行うフロッピーディスクドライブ18、ハードディスクドライブ19などがある。
【0021】
周辺装置10は、中央処理装置11がシステムプログラムを実行することにより具現されるデータ処理手段により、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを組み合わせる段階で、各シーケンスプログラム毎の仮機器構成を組み合わせて実際の機器構成を確定し、シーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける処理を行う。
【0022】
この入出力デバイス番号の自動的に割り付けは、実際の機器構成における各入出力ユニットの先頭I/O番号を各入出力ユニットの装着位置順に各入出力ユニットが保有する入出力デバイスの点数を参照して設定し、この先頭I/O番号に基づいて行うことができる。
【0023】
図2(a)〜(c)は、周辺装置10が或るまとまった処理毎に分割して作成するグループデータの構成を示している。グループデータはメモリ12内に作成され、補助記憶装置16に保存される。グループデータは、各グループ毎に、使用ユニットに入出力番号を対応づける使用ユニット構成データと、使用ユニットの入出力デバイスに対応するラベルを格納する汎用ラベルデータと、周辺装置10が作成するプログラムデータとから構成される。
【0024】
使用ユニット構成データは、図2(a)に示されているように、使用ユニットの台数であって使用ユニット構成データに設定されているデータ数を示す使用ユニット台数と、使用するユニット毎に、入力ユニット、出力ユニットの種別を示すユニット種別(1:入力ユニット,2:出力ユニット)と、使用ユニットの持つ入出力デバイスの点数を示す占有点数と、使用ユニットの持つ入出力デバイスに割り付けられる実際の入出力デバイスの先頭番号を示す先頭I/O番号と、PC50が持つデバイスを識別する値であるデバイス種別(58h:X,59h:Y,4ch:デバイスラベル)と、使用ユニットの入出力デバイス毎に作成された汎用ラベルデータを参照するメモリ12のアドレスである汎用ラベルデータへのポインタとを有している。
【0025】
汎用ラベルデータは、図2(b)に示されているように、使用ユニット毎に付けられるラベルデータであるユニットラベルと、各使用ユニットの入出力デバイス毎に付けられるラベルデータであるデバイスラベルとを有している。ユニットラベル、デバイスラベルは、それぞれ、複数文字、たとえば、8文字のASCIIデータで記述される。
【0026】
各グループ毎の使用ユニット構成データ、汎用ラベルデータ、プログラムデータは、各グループ毎に設定されたディレクトリ(フォルダ)に、拡張子が異なる個別のファイルとして補助記憶装置16に保存される。ディレクトリ名、各データのファイル名はグループ名で統一でき、たとえば、使用ユニット構成データのファイルの拡張子を「UNI」、汎用ラベルデータのファイルの拡張子を「LBL」、プログラムデータのファイルの拡張子を「PRG」のように定義することができる。
【0027】
(具体的構成)
図3は、この発明によるPCの周辺装置10の構成を示している。周辺装置10は、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎のデバイスラベル、すなわち、汎用ラベルと、仮機器構成毎の複数個のシーケンスプログラムの組み合わせをユーザ入力するための入力手段21と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段22と、入力手段21によって入力された使用ユニット構成データ、汎用ラベルデータ、シーケンスプログラムの組み合わせデータおよびシーケンスプログラム編集手段22によって編集されたシーケンスプログラムを記憶する記憶手段23と、入出力デバイス番号割付手段24とを有している。
【0028】
入出力デバイス番号割付手段24は、記憶手段23に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを組み合わせる段階で、各シーケンスプログラム毎の仮機器構成を組み合わせて実際の機器構成を確定し、記憶手段23に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータ(汎用ラベルデータ)を参照してシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける処理を行う。
【0029】
入出力デバイス番号割付手段24による入出力デバイス番号の自動割り付け処理は、実際の機器構成における各入出力ユニットの先頭I/O番号を各入出力ユニットの装着位置順に各入出力ユニットが保有する入出力デバイスの点数を参照して使用ユニット構成データに設定し、先頭I/O番号に基づいてシーケンスプログラム上のラベル記述の入出力デバイスに実際の機器構成に適合する入出力デバイス番号を割り付けることにより行われる。
【0030】
シーケンスプログラムの組み合わせ順序は入力手段21によって変更可能であり、この変更に応じて記憶手段23の組み合わせデータの書き換えが自動的に行われる。入出力デバイス番号割付手段24は、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付ける処理を行う。
【0031】
また、使用ユニット構成データは入力手段21によって変更可能であり、この変更に応じて記憶手段23の使用ユニット構成データの書き換えが自動的に行われる。入出力デバイス番号割付手段24は、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付ける処理を行う。
【0032】
また、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルも入力手段21により変更可能であり、この変更に応じて記憶手段23のユニットラベル・デバイスラベルデータの書き換えが自動的に行われる。入出力デバイス番号割付手段24は、ユニットラベル・デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更する処理を行う。
【0033】
(ユーザ操作)
図4(a)〜(e)は1台のPCで実行されるシーケンスプログラムを分割して作成する場合の例を示している。この例では、1台のPCで制御される処理が二つのまとまった処理から成るとする。一つの処理は、図4(a)に示されている仮機器構成Aのように、16点入力ユニット1台、16点出力ユニット1台を使用する。
【0034】
ユーザは、仮機器構成Aに対する使用ユニット構成データを作成するために、図5に示されているような使用ユニット構成データ入力画面にて、使用ユニット構成データのデータを入力する。なお、ユニット番号は、使用ユニットの装着位置と対応し、0〜nの数値で示され、使用ユニット構成データ内で、或る装着位置の使用ユニットのデータを参照する場合に使用する。
【0035】
まず、仮機器構成Aのユニットの装着順に、1枚目を示すユニット番号0の種別入力欄に入力ユニットを示す「入力」、占有点数入力欄に16点を示す「16」を入力し、つぎに2枚目を示すユニット番の1の種別入力欄に出力ユニットを示す「出力」、占有点数入力欄に16点を示す「16」を入力する。
【0036】
この入力より、仮機器構成Aに対する使用ユニット構成データが図6(a)に示されている内容でメモリ12に作成される。この場合、使用ユニット台数は使用ユニット構成データ入力画面にて設定されたデータ数である「2」が設定される。ユニット種別は種別が入力であれば「1」、出力であれば「2」が設定される。占有点数は「占有点数」がそのまま設定される。
【0037】
先頭I/O番号は実機器構成(図4(c)参照)に従ってプログラムが組み合わせれた段階で確定されることより、現段階では不定であり、未設定を示す「−1」が設定される。デバイス種別は種別が入力であれば「58h」、出力であれば「59h」が設定される。汎用ラベルデータへのポインタは汎用ラベルデータが作成された段階で設定され、現段階では汎用ラベルデータの未作成を示す値「0」が設定される。
【0038】
仮機器構成Aでは、実際の入出力デバイス番号が確定されていないため、実際の入出力デバイス番号を使用してシーケンスプログラムを作成することはできない。このため、実際の入出力デバイスに1対1で対応する汎用ラベルを作成し、汎用ラベルを使用してシーケンスプログラムを作成することになる。
【0039】
つぎに、ユーザは、仮機器構成Aに対する使用ユニット構成データに対する汎用ラベルデータを、図8に示されているような汎用ラベルデータ入力画面にて入力する。まず、どのユニットに対する汎用ラベルを作成するかをユニット番号で指定する。図8では、ユニット番号0を指定したことを表している。ここでは、先に作成した使用ユニット構成データの指定したユニット番号のユニットの占有点数と同じ点数分のデバイスラベルの入力が可能となる。ユニット指定がユニット番号0では、ラベル番号欄の0〜15に対するデバイスラベル入力欄が有効で、16個分のデバイスラベルが入力可能となる。
【0040】
図8はユニット番号0に対するユニットラベル、デバイスラベルを入力した状態を表しており、ユニットラベル入力欄に入力したユニットラベル「Aunit1」は汎用ラベルデータのユニット番号0に対するユニットラベルに格納される。ラベル番号表示欄のラベル番号は汎用ラベルデータのユニット番号0に対するラベル番号0〜nと1対1で対応し、ラベル番号0のデバイスラベル入力欄に入力されたデバイスラベル[In1」は汎用ラベルデータのユニット番号0に対するラベル番号0のデバイスラベルに格納される。同じくラベル番号1〜15のデバイスラベル入力欄のデバイスラベル「In2」から「In16」は汎用ラベルデータのユニット番号0に対するラベル番号の「1」から「15」までのデバイスラベルに格納される。
【0041】
このデータ格納処理がユニット番号の汎用ラベルデータへのポインタに格納した汎用ラベルデータのメモリ12のアドレスを設定する。ユーザは、使用ユニット台数分、このデータ入力を行う。仮機器構成Aでは、同様に、ユニット番号1のユニットラベル「Aunit2」、デバイスラベル「Out1」〜「Out16」を入力することにより、図6(b)に示されているような汎用ラベルデータが作成される。
【0042】
他の一つの処理は、図4(b)に示されている仮機器構成Bのように、32点入力ユニット1台、32点出力ユニット1台を使用しており、これの使用ユニット構成データ、汎用ラベルデータも、仮機器構成Aの場合と同様のデータ入力により、図7(a)、(b)に示されているように作成される。
【0043】
メモリ12には、図9に示されて入れるように、分割作成されたグループデータの組み合わせを指定した組み合わせグループデータが格納される。組み合わせグループデータは、組み合わせたグループデータの総数と、データ番号0〜nによる組み合わせ順のグループ名とにより構成される。
【0044】
図10は組み合わせグループデータの操作画面(グループファイルデータ組み合わせ画面)を示している。この操作画面には、グループデータが保存されている補助記憶装置16のドライブの指定欄、ディレクトリ指定欄、保存されているグループデータのグループ名の表示欄、組み合わせるグループデータのグループ名と組み合わせる順の組み合わせグループ欄、組み合わせるグループデータを指定するボタン「Add」、組み合わせグループ欄に表示された内容で組み合わせグループデータの作成を実行するボタン「OK」、キャンセルボタン「Cancel」が表示される。
【0045】
つぎに、ユーザは、汎用ラベルデータを使用して周辺装置10のラダープログラム編集機能により、図4(d)に示されているように、仮機器構成Aに対応するプログラムAを編集する。ラダープログラム編集機能により編集されたラダー図であるプログラムAから図6(c)に示されているようなプログラムデータが作成される。
【0046】
このようなラダープログラム編集機能は既存技術であり、ラダー図のシンボルで作成されたシーケンスプログラムを図2(c)のプログラムデータのようなPCが解釈できるマシンコードに変換する機能である。プログラムデータは、一つのプログラムデータにおけるステップ数の合計値である総ステップ数と、各ステップ毎に、命令コード、デバイス種別、デバイス番号で構成される。
【0047】
命令コードはシーケンスプログラムの命令に対するコードであり、たとえばLDは「1」、ORは「2」、ANDは「3」、OUTは「4」とする。デバイス種別はシーケンスプログラムで使用する入出力信号などを扱う入力デバイス、出力デバイスに対するコードであり、たとえば入力デバイスXは「58h」、出力デバイスYは「59h」、汎用ラベルで作成されている場合のデバイスラベルは「4Ch」とする。デバイス番号は各デバイスが持つ番号である。デバイスラベル「4Ch」の場合のデバイス番号は、図2(d)に示されているようなデバイスラベル番号とする。デバイスラベル番号は16ビットデータであり、上位8ビットはユニット番号、下位8ビットはラベル番号で構成される。
【0048】
以上の内容により、プログラムAをプログラムの先頭から変換する。まず、ステップ番号0はLD命令であるため、命令コードは「1」、デバイス種別は汎用ラベルであるため、「4Ch」、デバイス番号は汎用ラベルを使用しているため、デバイスラベル番号となる。汎用ラベル「Aunit1.In1」のデバイスラベル番号は、ユニットラベル「Aunit1」がユニット番号0、デバイスラベル「In1」がラベル番号0より、「0000h」となる。
【0049】
ステップ番号1はOUT命令であるため、命令コードは「4」、デバイス種別は汎用ラベルであるため、「4Ch」、デバイス番号は同様にデバイスラベル番号となる。汎用ラベル「Aunit2.Out1」のデバイスラベル番号は、ユニットラベル「Aunit2」がユニット番号1、デバイスラベル「Out1」がラベル番号0より、「0100h」となる。総ステップ数はLD命令とOUT命令の2ステップであるため、「2」となる。
【0050】
このようにして1台のPCで制御される処理のうちの一つの処理のグループデータが作成される。このグループデータはメモリ12に作成されており、ユーザは、これをグループファイルデータ構成で、ディレクトリ名に「グループ名」を指定し、ファイルとして補助記憶装置16に保存する。使用ユニット構成データを格納するファイルは、ファイル名を「グループ名」、拡張子を「UNI」、汎用ラベルデータを格納するファイルは、ファイル名を「グループ名」、拡張子を「LBL」、プログラムデータを格納するファイルは、ファイル名を「グループ名」、拡張子を「PRG」とする。
【0051】
仮機器構成Aのグループデータは、ドライブA、ディレクトリ「data」にグループ名を「グループA」として保存する。同様にして残りの一つの処理についても、ラダープログラム編集機能により、図4(e)に示されているように、仮機器構成Bに対応するプログラムBを編集し、図7(a)〜(c)に示されているようなグループデータを完成し、ドライブA、ディレクトリ「data」にグループ名を「グループB」として保存する。
【0052】
(動作)
上述したように、分割作成して補助記憶装置16に保存したグループファイルデータを組み合わせ、プログラムデータに自動的に実際の入出力デバイス番号を割り付ける処理について説明する。
【0053】
(グループファイルデータの組み合わせ)
まず、ユーザは、組み合わせるグループファイルデータを、図10に示されているグループファイルデータ組み合わせ画面にて指定する。組み合わせるグループファイルデータが保存されている補助記憶装置16のドライブを指定し、ディレクトリ階層を指定すると、グループ名が表示される。このグループ名のグループデータを組み合わせるのであれば、Addボタンを押す。Addボタンを押すと、組み合わせグループ欄にグループ名が追加される。組み合わせグループ欄に追加した順番が入出力ユニットの構成順となる。
【0054】
このようにしてPCが実際に使用されるときの実機器構成(図4(c)参照)に従い、グループAのグループファイルデータ、グループBのグループファイルデータを指定する。組み合わせるグループファイルデータを指定後、OKボタンを押すと、グループデータ組み合わせ機能の処理が実行され、各グループデータのプログラムデータに自動的に実際の入出力デバイス番号が割り付けられる。
【0055】
(グループデータ組み合わせ処理)
グループデータ組み合わせ処理を図11〜図15のフローチャートを参照して説明する。ユーザがグループファイルデータ組み合わせ画面にて組み合わせるグループデータファイルを指定後、OKボタンを押すことにより、グループデータ組み合わせ処理が実行される。
【0056】
(グループデータ組み合わせ処理のゼネラルフロー)
図11はグループデータ組み合わせ処理のゼネラルフローであり、まず、カウンタとして使用する変数iを0に初期化する(ステップS11)。ステップS12〜ステップS18までは組み合わせグループデータ(図9参照)を作成する処理である。
【0057】
組み合わせグループデータの総グループ数を0に初期化し(ステップS12)、変数iとグループファイルデータ組み合わせ画面で組み合わせグループ欄に設定されたグループ数を比較する(ステップS13)。変数iが組み合わせグループ欄に設定されたグループ数より小さい場合には(ステップS14肯定)、組み合わせグループ欄のi番目のグループファイルデータを補助記憶装置16からメモリ12に読み出す(ステップS15)。
【0058】
このとき、補助記憶装置16に保存されている使用ユニット構成データの汎用ラベルデータへのポインタは汎用ラベルデータの作成時のメモリのアドレスである。新たに汎用ラベルデータをメモリ12に読み出した場合、読み出したメモリ12のアドレスと作成時のメモリ12のアドレスでは異なるアドレスになるため、読み出したメモリ12のアドレスを再設定する必要がある。
【0059】
ユニット番号0の汎用ラベルデータへのポインタは汎用ラベルデータが読み出されたメモリ12のアドレスを再設定し、ユニット番号1の汎用ラベルデータへのポインタはユニット番号0の占有点数分のデバイスラベルとユニットラベルの格納領域分のアドレスをユニット番号0の汎用ラベルデータへのポインタにプラスしたアドレスを再設定し、ユニット番号2の汎用ラベルデータへのポインタはユニット番号1の占有点数分のデバイスラベルとユニットラベルの格納領域分のアドレスをユニット番号1の汎用ラベルデータへのポインタにプラスしたアドレスを再設定する。このように使用ユニット台数分の各ユニット番号の汎用ラベルデータへのポインタを再設定する。
【0060】
つぎに、グループファイルデータ組み合わせ画面の組み合わせグループ欄のi番目のグループ名を設定する(ステップS16)。グループ名を一つ設定したことにより、総グループ数をプラス1し(ステップS17)、そして、つぎのグループ名を設定するため、変数iをプラス1し(ステップS18)、ステップS13に戻る。
【0061】
変数iが組み合わせグループ欄に設定されたグループ数に等しくなった場合(ステップS14否定)、全てのグループ名が設定され、組み合わせグループデータの作成が完了する。これにより、図9の組み合わせグループデータの総グループ数に2が設定され、データ番号の0番目のグループ名にグループAが、データ番号の1番目のグループ名にグループBが設定される。組み合わせグループデータの作成が完了すると、入出力番号割付処理(ステップS19)、プログラムデータデバイス変換処理(ステップS20)を順に実行する。
【0062】
(入出力番号割付処理)
入出力番号割付処理(ステップS19)は、組み合わせグループデータにより組み合わされたグループデータの使用ユニット構成データの各ユニット番号の先頭I/O番号を設定する処理であり、この入出力番号割付処理を図12のフローチャートに従い説明する。
【0063】
まず、カウンタとして使用する変数iを0に初期化し(ステップS21)、先頭I/O番号を格納する変数IONoを0に初期化する(ステップS22)。つぎに、変数iと組み合わせグループデータの総グループ数とを比較する(ステップS23)。変数iが総グループ数より小さい場合には(ステップS24肯定)、組み合わせグループデータの変数iが示すデータ番号のグループ名に属するグループデータの使用ユニット構成データにおける各ユニットの先頭I/O番号を設定する処理を行う(ステップS25)。
【0064】
先頭I/O番号の設定処理が完了すると、変数iをプラス1し(ステップS26)、ステップS23に戻り、つぎのデータの使用ユニット構成データにおける各ユニットの先頭I/O番号を設定する。変数iが総グループ数に等しくなった場合には(ステップS24否定)、組み合わせグループデータにより組み合わされた全てのグループデータの使用ユニット構成データの先頭I/O番号の設定が完了したため、処理を終了する。
【0065】
(各ユニットの先頭I/O番号設定処理)
つぎに、各ユニットの先頭I/O番号設定処理を図13に示されているフローチャートを参照して説明する。
【0066】
まず、カウンタとして使用する変数jを0に初期化する(ステップS31)。つぎに、変数jと使用ユニット構成データの使用ユニット台数とを比較する(ステップS32)。変数jが使用ユニット台数より小さい場合には(ステップS33肯定)、変数jの示すユニット番号の先頭I/O番号に変数IONoを設定する(ステップS34)。これにより先頭I/O番号に実機器構成に対応した先頭I/O番号が格納される。
【0067】
つぎに、つぎのユニットの先頭I/O番号を求めるため、変数jの示すユニット番号の占有点数を変数IONoにプラスする(ステップS35)。そして、つぎのユニットの先頭I/O番号を設定するため、変数jをプラス1(ステップS36)し、ステップS32から処理を繰り返す。変数jが使用ユニット台数に等しくなった場合には(ステップS33否定)、使用ユニット構成データの全てのユニットの先頭I/O番号の設定が完了したため、処理を終了する。
【0068】
これにより、各グループデータの使用ユニット構成データの先頭I/O番号が設定され、汎用ラベルデータに対する入出力デバイスの割り付けが完了する。
【0069】
(プログラムデータデバイス変換処理)
つぎに、汎用ラベルデータにより作成されたプログラムデータに入出力デバイスの割り付けを行うため、プログラムデータデバイス変換処理(ステップS20)を開始する。プログラムデータデバイス変換処理を図14に示されているフローチャートを参照して説明する。
【0070】
まず、カウンタとして使用する変数iを0に初期化する(ステップS41)。つぎに、変数iと組み合わせグループデータの総グループ数とを比較する(ステップS42)。変数iが総グループ数より小さい場合には(ステップS43肯定)、組み合わせグループデータの変数iの示すデータ番号のグループ名に属するグループデータにおけるプログラムデータの汎用ラベルデータで設定されているデバイス種別、デバイス番号を入出力デバイスに変換する処理を行う(ステップS44)。
【0071】
i番目のグループ名のプログラムデータのデバイス変換が完了すると、つぎのグループ名のグループデータのデバイス変換のため、変数iをプラス1し(ステップS45)、ステップS42に戻る。変数iが総グループ数に等しくなった場合には(ステップS43否定)、全てのグループのデバイス変換が完了したため、処理を終了する。
【0072】
(i番目のグループ名のプログラムデータのデバイス変換処理)
つぎに、i番目のグループ名のプログラムデータのデバイス変換処理(ステップS44)を図15に示されているフローチャートを参照してする。
【0073】
まず、カウンタとして使用する変数jを0に初期化する(ステップS51)。つぎに、変数jとプログラムデータの総ステップ数とを比較する(ステップS52)。変数jが総ステップ数より小さい場合には(ステップS53肯定)、変数jの示すステップ番号のデバイス種別の値をチェックする(ステップS54)。デバイス種別の値が4Ch(デバイスラベル)以外の場合には(ステップS55否定)、入出力デバイスに変換する必要がないので、変数jの値をプラス1し(ステップS62)、ステップS52に戻る。
【0074】
これに対し、デバイス種別の値が4Ch(デバイスラベル)の場合には(ステップS55肯定)、使用ユニット構成データのユニット番号を示すための変数UNoに変数jの示すステップ番号のデバイス番号の上位8ビットを設定する(ステップS56)。
【0075】
つぎに、デバイス種別を格納するための変数Devに使用ユニット構成データの変数UNoが示すユニット番号のデバイス種別を設定し(ステップS57)、変数jの示すステップ番号のデバイス種別に変数Devの値を設定する(ステップS58)。
【0076】
つぎに、入出力デバイスのデバイス番号を格納する変数DNoに変数jの示すステップ番号のデバイス番号の下位8ビットを設定し(ステップS59)、変数DNoに使用ユニット構成データの変数UNoが示すユニット番号の先頭I/O番号の値をプラスする(ステップS60)。この処理により、デバイスラベル番号であったデバイス番号から変換された入出力デバイスのデバイス番号が変数DNoに設定される。つぎに、変数jの示すステップ番号のデバイス番号に変数DNoの値を設定し(ステップS61)、変数jの値をプラス1し(ステップS62)、ステップ52に戻る。
【0077】
上述のステップS56〜ステップS61の処理により、1ステップ分のデバイス種別、デバイス番号が入出力デバイスに変換される。変数jが総ステップ数に等しくなった場合には(ステップS53否定)、プログラムデータの全てのデバイス種別、デバイス番号の入出力デバイスへの変換が完了したため、処理を終了し、グループデータ組み合わせ機能の処理を終了する。
【0078】
以上の処理により、分割して作成し、補助記憶装置16に保存したグループファイルデータを組み合わせ、プログラムデータに実際の入出力デバイス番号が自動的に割り付けられる。
【0079】
(実機器構成の構成順の変更)
つぎに、実機器構成の構成順(ユニット装着順序)を、図16に示されているように、変更した場合について説明する。図17はグループデータを変更するために、グループファイルデータ組み合わせ画面における組み合わせグループ欄の内容を変更した例を示している。
【0080】
実際の機器構成が、図4(c)に示されている実機器構成のように、仮機器構成Aと仮機器構成Bの順に配列されており、既にユーザによって、図10のグループファイルデータ組み合わせ画面、図5の使用ユニット構成データ入力画面、図8の汎用ラベルデータ入力画面にて、使用するグループ名、使用ユニットの構成データ、汎用ラベルデータの入力を行い、図2のグループデータが作成済みの状態であるとする。
【0081】
また、汎用ラベルデータを使用して周辺装置10のラダープログラム編集機能によりプログラムAを編集し、ラダープログラム編集機能により編集されたラダー図であるプログラムAからプログラムデータが作成され、同様に汎用ラベルデータを使用して周辺装置10のラダープログラム編集機能によりプログラムBを編集し、ラダープログラム編集機能により編集されたラダー図であるプログラムBからプログラムデータが作成され、図10のグループファイルデータ組み合わせ画面のOKボタンの押下によって、組み合わせグループデータを作成し、グループデータを組み合わせ、汎用ラベルで作成されたプログラムデータに実際の入出力デバイスを割り付ける処理が行われた後の状態であるとする。
【0082】
グループデータを組み合わせるための組み合わせグループデータはメモリ12にあるとする。入出力デバイスを割り付ける処理を終了した状態から、図4(c)の実機器構成を図16の実機器構成のように変更する場合、グループデータ組み合わせ画面にて組み合わせグループ欄のグループ名配列順を変更する。
【0083】
図10は、配列順変更前のグループファイルデータ組み合わせ画面を、図17は配列順変更後のグループファイルデータ組み合わせ画面を示している。図17に示されているように、組み合わせグループ欄のグループ名配列順を変更した後、OKボタンの押下によって、グループデータ変更処理が開始される。
【0084】
(グループデータ変更処理)
グループデータ変更処理は図18のフローチャートに従い処理される。グループデータ変更処理が始まると、まず、組み合わせグループデータクリア処理を行い(ステップS71)、この後に、上述したグループデータ組み合わせ処理(ステップS72)を図11のフローチャートに従い行う。
【0085】
(組み合わせグループデータクリア処理)
組み合わせグループデータクリア処理は図19のフローチャートに従い処理される。組み合わせグループデータクリア処理では、まず、変数iの初期化を行う(ステップS81)。つぎに、変数iと総グループ数との比較を行い(ステップS82)、変数iが組み合わせグループデータの総グループ数以下である場合には(ステップS83肯定)、組み合わせグループデータのi番目のグループ名を消去する(ステップS84)。つぎに、変数iを+1し(ステップS85)、ステップS82に戻る。変数iが総ステップ数と等しくなった場合には(ステップS83否定)、組み合わせグループデータクリア処理を終了する。
【0086】
(グループデータ組み合わせ処理)
組み合わせグループデータクリア処理を終了すると、グループデータ組み合わせ処理が行われる。グループデータ組み合わせ処理は、図11のフローチャートに従い処理され、ステップS11〜ステップS18により、図9の組み合わせグループデータの総グループ数に2が設定され、データ番号の0番目のグループ名にグループBが、データ番号の1番目のグループ名にグループAが設定される。
【0087】
つぎに、入出力番号割付処理を行い(ステップS19)、グループデータの使用ユニット構成データのユニット番号の0番目の先頭I/O番号とユニット番号の1番目の先頭I/O番号を設定する。つぎに、プログラムデータデバイス変換処理を行い(ステップS20)、汎用ラベルデータを使用して周辺装置10のラダープログラム編集機能により編集したプログラムBのプログラムデータのデバイス種別とデバイス番号と、汎用ラベルデータを使用して周辺装置10のラダープログラム編集機能により編集したプログラムAのプログラムデータのデバイス種別とデバイス番号に実際の入出力デバイスを割り付ける。
【0088】
これにより、実機器構成の構成順が変更されても入出力番号を手動で変更する必要がなく、プログラムデータに変更後の実際の入出力デバイス番号が自動的に割り付けられる。
【0089】
(ユニット構成変更)
図4(c)に示されているような実機器構成で構成されたシステムにおいて、仮機器構成Aを図20(a)に示されている仮機器構成A’のように構成を変更した場合を述べる。この場合の実機器構成は、仮機器構成A’と仮機器構成Bから構成されている。仮機器構成A’は仮機器構成Aの入力16ユニットを入力32ユニットに変更したものである。なお、図20(b)は変更後の実機器構成を示している。
【0090】
ユニット構成を変更した場合には、まず、該当ユニットを使用しているグループデータを変更する。この変更操作は、図21のフローチャートにしたがって処理される。まず、図22に示されているグループ選択画面において、構成が変更されたグループ名を選択する(ステップS91)。つぎに、図23に示されているユニット構成入力画面にて、変更したユニットの位置をユニット位置選択に入力する(ステップS92)。つぎに、ユニット構成入力画面にて、ユニット種別と占有点数を入力する(ステップS93)。
【0091】
このようにして、設定を行い、たとえば、画面のOKボタンを押すことで、入力処理の完了とする。
【0092】
(グループデータの変更処理)
つぎに、グループデータの変更処理を行う。これは図24のフローチャートにしたがって処理される。まず、変更前のグループAのグループデータ(グループファイルデータ)をグループA’のグループデータへコピーする(ステップS101)。つぎに、ユニット位置選択の値を読み出し(ステップS102)、使用ユニット構成データより、ユニット位置選択の値の位置を検索する(ステップS103)。
【0093】
つぎに、入力されたユニット種別の値をグループA’の使用ユニット構成データのユニット種別に設定し(ステップS104)、入力された占有点数の値をグループA’の使用ユニット構成データの占有点数に設定する。これにより、ユニットの変更に対応したグループA’の使用ユニット構成データが図25(a)のように作成される。なお、グループA’の汎用ラベルデータは図25(b)に、プログラムデータは図25(c)に示されている。
【0094】
つぎに、図26に示されているような組合せグループデータを作成する。この組合せグループデータの作成は図10のグループファイルデータ組合せ画面にて同様に行う。組合せグループデータの作成後、プログラムデータのデバイス変換処理を行う。このようにすることで、ユニットの構成を変更した場合に、プログラムを変更することなく、実I/Oのアドレスが変更できる。
【0095】
(汎用ラベルデータ変更)
汎用ラベルデータのユニットラベル、デバイスラベルを並べ替え、変更した場合の処理について説明する。図27(a)は仮機器構成Cを、図27(b)は変更前の汎用ラベルデータを、図27(c)はユニットラベルデータ入れ替え後の汎用ラベルデータを示している。図28に示されているシーケンスプログラムは、図27(b)に示されている汎用ラベルデータを使用して作成されたものである。このシーケンスプログラムでは、16点入力ユニットAに対する出力が16点出力ユニットAという関係になっている。
【0096】
16点出力ユニットAに対応する16点入力ユニットを、現在の16点入力ユニットAから16点入力ユニットBに変更する必要が生じた場合、まず汎用ラベルデータ上の16点入力ユニットAに対するユニットラベルとして設定されている文字列「IunitA」と16点入力ユニットBに対するユニットラベルとして設定されている文字列「IunitB」とを、図8に示されている汎用ラベルデータ入力画面を使用して入れ替えを行う。入れ替え後の汎用ラベルデータは図27(c)に示されているようになる。
【0097】
(先頭I/O番号の再設定処理)
修正のあったグループデータに対する先頭I/O番号の再設定処理は図29に示されているフローチャートに従って行われる。まず、カウンタ変数iを0で初期化し(ステップS111)、先頭I/O番号を格納する変数IONoを0で初期化する(ステップS112)。
【0098】
つぎに、変数iと組み合わせグループデータの総グループ数とを比較し(ステップS113)、変数iが総グループ数より小さければ(ステップS114肯定)、組み合わせグループデータの中からi番目のグループデータのグループ名と、今回変更を行ったグループデータのグループ名とが同一である否かの判別を行う、異なっていれば(ステップS115否定)、カウンタ変数iを1だけ増加させ(ステップS116)、ステップS113に戻り、再度総グループ数、グループ名のチェックを繰り返す。
【0099】
これに対し、変更したグループ名であれば(ステップS115)、グループデータ用の変数iが0であるかをチェックする(ステップS117)、変数i=0、すなわち先頭グループデータであれば、i番目のグループ名の使用ユニット構成データの先頭I/O番号の設定処理を図13のフローチャートに従って行う(ステップS119)。
【0100】
これに対し、変数iが0以外であれば、(i−1)番目の使用ユニット構成データ中の最後のデータを利用して、{(i−1)番目の先頭I/ONo+占有点数+1}なる演算によってi番目のグループデータで使用する先頭I/O番号を取得し、これを先頭I/O番号格納用の変数IONoに代入し(ステップS118)、この後に、i番目のグループ名の使用ユニット構成データの先頭I/O番号の設定処理を図13のフローチャートに従って行う(ステップS119)。
【0101】
変更のあったグループデータ構成に対する新しい先頭I/O番号の設定が完了すれば、変数iを1だけ増加させ(ステップS116)、ステップS114に戻る。そして、変数iが総グループ数に等しくなると(ステップS114否定)、全てのグループのチェックが完了したため、処理を終了する。
【0102】
同じようにして、汎用ラベルデータ中のデバイスラベルを入れ替えた場合についても同様の処理で実現することができる。汎用ラベルデータ中の16点入力ユニットAのデバイスに対するデバイスラベルの文字列「In1」と文字列「In2」を汎用ラベルデータ入力画面を使用して入れ替えを行う。入れ替え後の汎用ラベルデータは図30に示されているようになる。
【0103】
このデータの作成後、図29に示すフローチャートに従って、変更されたグループのグループデータ構成についてのみの先頭I/O番号の再設定処理を行うことにより、ユニットラベルデータ入れ替え時と同様にして変更を行ったグループに対する先頭I/O番号だけを自動的に再設定することができる。
【0104】
【発明の効果】
以上の説明から理解される如く、この発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法によれば、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルを設定し、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、該求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0105】
つぎの発明によるプログラマブルコントローラ用シーケンスプログラムの入出力デバイス番号割付方法によれば、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0106】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、データ処理手段が、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成とし、仮機器構成における入出力ユニットに個別のユニットラベルと各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルが設定され、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムを合成する段階で、前記使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、該求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0107】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、前記データ処理手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号とを加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0108】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、分割して作成するシーケンスプログラム毎に、使用する入出力ユニットの構成を仮機器構成として構成する使用ユニット構成データと、仮機器構成における各入出力ユニット毎のユニットラベルおよび各入出力ユニットの入出力デバイス毎にラベル番号およびデバイスラベルとを入力する入力手段およびこれらデータを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段とを有しているので、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0109】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、入出力デバイス番号割付手段は、使用される複数の入出力ユニットの実際の装着位置順を示す情報と各入出力ユニットが保有する入出力デバイスの点数とに基づき、先頭入出力ユニットの先頭I/O番号を所定の初期値に設定し、後続する入出力ユニットの先頭I/O番号を前記初期値に自入出力ユニットより前段側の入出力ユニットが保有する入出力デバイスの点数を加えたものとする、先頭I/O番号の割付けを全ての入出力ユニットについて実行し、各入出力ユニット毎に、割り付けられた先頭I/O番号と各デバイスラベルに対応するラベル番号と加算することによって各入出力デバイスに通し番号を割り付けることで、合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付けるから、入出力番号を手動で割り付けする必要がなく、シーケンスプログラムの作成に際して、先にPCのシステム構成を確定する必要がなく、PCのシステム構成に関して融通性があり、PCの実機器構成を意識せずにシーケンスプログラムの作成ができ、効率的にプログラムを作成できる効果が得られる。
【0110】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、シーケンスプログラムの組み合わせ順序が入力手段によって変更可能であり、記憶手段の組み合わせデータの書き換えを行い、入出力デバイス番号割付手段が、組み合わせ順序の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるから、機器構成の構成順をあるまとまった処理単位で変更した場合に、入出力番号を手動で変更する必要がなく、プログラム作成の効率化が図れる効果が得られる。
【0111】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、使用ユニット構成データが入力手段によって変更可能であり、記憶手段の使用ユニット構成データの書き換えを行い、入出力デバイス番号割付手段が、使用ユニット構成の変更に応じて実際の機器構成の内容を変更し、シーケンスプログラムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けるから、使用ユニットが変更されても、プログラムを変更することなく、簡単に実I/O番号(入出力デバイス番号)の変更が行われ、使用ユニットの変更の都度、シーケンスプログラムを変更する必要がなく、PCのシステム構成の変更に対するシーケンスプログラムの変更対応性がよい。
【0112】
つぎの発明によるプログラマブルコントローラの周辺装置によれば、仮機器構成における各入出力ユニット毎のユニットラベル、各入出力ユニットの入出力デバイス毎のデバイスラベルが入力手段により変更可能であり、記憶手段のユニットラベル・デバイスラベルデータの書き換えを行い、入出力デバイス番号割付手段がユニットラベル、デバイスラベルデータの変更に応じて実際の機器構成に適合する入出力デバイス番号を変更するから、汎用ラベルデータを変更しても、プログラムを変更することなく、簡単に実I/O番号の変更が行われる。
【図面の簡単な説明】
【図1】 この発明によるPCの周辺装置の構成を示すブロック図である。
【図2】 (a)〜(d)はこの発明によるPCの周辺装置で使用される使用ユニット構成データ、汎用ラベルデータ、プログラムデータ、デバイスラベル番号のデータ構造を示す説明図である。
【図3】 この発明によるPCの周辺装置の具体的構成を示すブロック図である。
【図4】 (a)〜(e)はこの発明によるPCの周辺装置における仮機器構成例、実機器構成例、各仮機器構成毎のラダープログラムを示す説明図である。
【図5】 この発明によるPCの周辺装置における使用ユニット構成データ入力画面の一例を示す画面図である。
【図6】 (a)〜(c)はグループAのグループデータを示す説明図である。
【図7】 (a)〜(c)はグループBのグループデータを示す説明図である。
【図8】 この発明によるPCの周辺装置における汎用ラベルデータ入力画面の一例を示す画面図である。
【図9】 この発明によるPCの周辺装置で使用される組み合わせグループデータのデータ構造を示す説明図である。
【図10】 この発明によるPCの周辺装置におけるグループファイルデータ組み合わせ画面の一例を示す画面図である。
【図11】 この発明によるPCの周辺装置におけるグループデータ組み合わせ処理のゼネラルフローを示すフローチャートである。
【図12】 この発明によるPCの周辺装置における入出力番号割付処理を示すフローチャートである
【図13】 この発明によるPCの周辺装置における各ユニットの先頭I/O番号設定処理を示すフローチャートである。
【図14】 この発明によるPCの周辺装置におけるプログラムデータデバイス変換処理を示すフローチャートである。
【図15】 この発明によるPCの周辺装置におけるi番目のグループ名のプログラムデータのデバイス変換処理を示すフローチャートである。
【図16】 実機器構成の変更例を示す説明図である。
【図17】 この発明によるPCの周辺装置におけるグループファイルデータ組み合わせ画面の一例を示す画面図である。
【図18】 この発明によるPCの周辺装置におけるグループデータ変換処理を示すフローチャートである。
【図19】 この発明によるPCの周辺装置における組み合わせグループデータクリア処理を示すフローチャートである。
【図20】 (a)、(b)は仮機器構成の変更およびそれに伴う実機器構成の変化を示す説明図である。
【図21】 この発明によるPCの周辺装置におけるユニット構成変更処理を示すフローチャートである。
【図22】 この発明によるPCの周辺装置におけるグループ選択画面の一例を示す画面図である。
【図23】 この発明によるPCの周辺装置におけるユニット構成入力画面の一例を示す画面図である
【図24】 この発明によるPCの周辺装置におけるグループデータ変更処理を示すフローチャートである。
【図25】 (a)〜(c)は使用ユニットの変更によるグループA’のグループデータを示す説明図である。
【図26】 組み合わせグループデータ例を示す説明図である。
【図27】 (a)〜(c)は仮機器構成とそれのユニットラベル変更前後の汎用ラベルデータ例を示す説明図である。
【図28】 ラダープログラム例を示すラダー回路である。
【図29】 この発明によるPCの周辺装置における先頭I/O番号の再設定処理を示すフローチャートである。
【図30】 デバイスラベル変更後の汎用ラベルデータ例を示す説明図である。
【符号の説明】
10 周辺装置、11 中央処理装置、12 メモリ、13 CRT、14 キーボード、15 通信I/F部、16 補助記憶装置、17 フロッピーディスク、18 フロッピーディスクドライブ、19 ハードディスクドライブ、21 入力手段、22 シーケンスプログラム編集手段、23 記憶手段、24 入出力デバイス番号割付手段、50 PC。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an input / output device number assigning method of a sequence program (ladder circuit) for a programmable controller that controls mechanical equipment and a peripheral device of the programmable controller.
[0002]
[Prior art]
When creating a sequence program to be used by a programmable controller (hereinafter abbreviated as PC), first, the system configuration of the PC is determined. That is, the CPU unit model selection, the input / output unit model selection, and the quantity determination are performed to determine which unit is set at which position of the base unit.
[0003]
In the PC system constructed in this way, input / output numbers are assigned in octal or hexadecimal to the input / output devices belonging to the determined input unit and output unit in the order of arrangement close to the CPU. There are various types of input units and output units depending on the use of the system constructed by the user, but the number of input points or output points per unit is generally 16, 32, or 64 points.
[0004]
Therefore, when an input unit or output unit is attached to the base unit, the input / output number is not uniformly determined by the position of the base to be attached, but the type of input / output points held by the input unit and output unit attached to the base unit. The input / output point number (input / output device number) changes. For example, when input units A (16 points) and B (32 points) are used, the number of input points of unit A when the units are arranged in the order of (A, B) is 16 points from 0 to 15. , (B, A), the number of input points of unit A is 16 points from 32 to 47.
[0005]
This input / output point number is a number that automatically reads and controls how many points the input unit and output unit of the PC CPU unit are attached to the base unit, and is a peripheral device that is a programming means However, since the system configuration of the PC cannot be determined, the person in charge of system construction generally performs programming according to the input / output number assumed to be assigned by the CPU unit of the PC when creating a program. .
[0006]
As a prior art related to the present invention, unit configuration information such as the number of input / output points is attached to the input / output unit of the PC, and the unit configuration information is read during the system configuration of the PC to obtain the number of input / output points of the input / output unit. Japanese Patent Application Laid-Open No. 1-177610 discloses that an input / output point number (address) used in a sequence program is automatically assigned to each input / output unit. A table having an I / O physical address assignment correspondence table before and after the change, the I / O physical address in the sequence program is replaced with the input / output unit according to the data comparison before and after the change, and is automatically converted to the changed one. No. 148107.
[0007]
[Problems to be solved by the invention]
In conventional sequence program creation, the device number on the sequence program must be set with the input / output point number (I / O physical address) determined by the PC system configuration. It is necessary to first determine the system configuration of the PC, and it is necessary to create a sequence program in consideration of the actual system configuration of the PC, that is, the actual device configuration. Creating a program is troublesome, and it becomes difficult to efficiently create a sequence program without mistakes.
[0008]
In addition, in order to automatically change the I / O physical address of the sequence program in response to a change in the PC system configuration, the changeability of the sequence program to the change in the PC system configuration is poor. As shown in FIG. 5, the I / O physical address allocation correspondence table before and after the change must be set, and the I / O physical address in the sequence program must be converted according to the data comparison before and after the change.
[0009]
The present invention has been made to solve the above-described problems. When creating a sequence program, it is not necessary to determine the PC system configuration first, and the PC system configuration is flexible. I / O device number assignment method for sequence programs for programmable controllers, which can create sequence programs without being aware of the actual device configuration, and has good compatibility with changes in the sequence programs for changes in the PC system configuration, and excellent flexibility. An object of the present invention is to obtain a peripheral device of a programmable controller used for implementing the input / output device number assigning method.
[0010]
[Means for Solving the Problems]
In order to achieve the above object, the method for assigning input / output device numbers of a sequence program for a programmable controller according to the present invention uses the configuration of an input / output unit to be used for each sequence program created in a divided manner as a temporary device configuration. Individual unit label for each input / output unit in the configuration and for each input / output device of each input / output unit Label number and A device label is set, and multiple sequence programs created using the unit label and device label set in the temporary device configuration. Synthesize In stages, A head I / O number is obtained for each unit label in the temporary device configuration based on the information indicating the actual mounting position order of the plurality of input / output units used and the number of input / output devices held by each input / output unit. The above-mentioned synthesis is performed by adding the obtained leading I / O number of each input / output unit and the label number corresponding to each device label. An input / output device number that matches the actual device configuration is automatically assigned to the sequence program.
[0011]
The input / output device number assignment method of the sequence program for the programmable controller according to the next invention is as follows: Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all input / output units, and each input / output device is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. Synthesized An input / output device number that matches the actual device configuration is automatically assigned to the sequence program.
[0012]
In order to achieve the above-mentioned object, the peripheral device of the programmable controller according to the present invention uses the input / output unit configuration used as a temporary device configuration for each sequence program created in a divided manner, and the input / output in the temporary device configuration. Individual unit labels for each unit and each input / output device of each input / output unit Label number and A device label is set, and multiple sequence programs created using the unit label and device label set in the temporary device configuration. Synthesize In stages, A head I / O number is obtained for each unit label in the temporary device configuration based on the information indicating the actual mounting position order of the plurality of input / output units used and the number of input / output devices held by each input / output unit. The above-mentioned synthesis is performed by adding the obtained leading I / O number of each input / output unit and the label number corresponding to each device label. Data processing means for automatically assigning an input / output device number suitable for the actual device configuration to the sequence program is provided.
[0013]
In the peripheral device of the programmable controller according to the next invention, the data processing means is Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all I / O units, and each I / O unit is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. It is synthesized by An input / output device number that matches the actual device configuration is automatically assigned to the sequence program.
[0014]
The peripheral device of the programmable controller according to the next invention is configured to use unit configuration data that configures the configuration of the input / output unit to be used as a temporary device configuration for each sequence program created by dividing, and for each input / output unit in the temporary device configuration. For each unit label and input / output device of each input / output unit Label number and An input means for inputting a device label, a storage means for storing these data, a unit label set in the temporary device configuration, a sequence program editing means for editing a sequence program for each temporary device configuration using the device label, and Storage means for storing the edited sequence program, input means for inputting a combination of a plurality of sequence programs created using unit labels and device labels set in the temporary device configuration, and combination data are stored A plurality of sequence programs for each temporary device configuration based on the storage means and the combination data stored in the storage means Synthesize In stages, Based on the combination data and the number of input / output devices held by each input / output unit, a head I / O number is obtained for each unit label in the temporary device configuration, and used unit configuration data and units stored in the storage means With reference to the label / device label data, the synthesis is performed by adding the obtained start I / O number of each input / output unit and the label number corresponding to each device label. And an input / output device number assigning means for automatically assigning an input / output device number suitable for the actual device configuration to the sequence program.
[0015]
In the peripheral device of the programmable controller according to the next invention, the input / output device number assigning means is Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all I / O units, and each I / O device is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. Is synthesized An input / output device number that matches the actual device configuration is automatically assigned to the sequence program.
[0016]
In the peripheral device of the programmable controller according to the next invention, the combination order of the sequence program can be changed by the input means, the combination data of the storage means is rewritten, and the input / output device number assigning means responds to the change of the combination order. Thus, the contents of the actual device configuration are changed, and the input / output device numbers conforming to the actual device configuration changed to the sequence program are automatically assigned.
[0017]
In the peripheral device of the programmable controller according to the next invention, the use unit configuration data can be changed by the input means, the use unit configuration data in the storage means is rewritten, and the input / output device number assigning means The contents of the actual device configuration are changed according to the change, and the input / output device numbers that match the actual device configuration changed to the sequence program are automatically assigned.
[0018]
In the peripheral device of the programmable controller according to the next invention, the unit label for each input / output unit in the temporary device configuration and the device label for each input / output device of each input / output unit can be changed by the input means, and the unit label of the storage means The device label data is rewritten, and the input / output device number assigning means changes the input / output device number suitable for the actual device configuration in accordance with the change of the unit label and device label data.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of a programmable controller sequence program input / output device number assignment method and a peripheral device of a programmable controller according to the present invention will be described below in detail with reference to the accompanying drawings.
[0020]
(Overview)
FIG. 1 is a block diagram of a peripheral device of a PC according to the present invention. The peripheral device is indicated generally by the
[0021]
The
[0022]
This automatic assignment of I / O device numbers refers to the number of I / O devices held by each I / O unit in the order in which the I / O units are installed in order of the I / O numbers of each I / O unit in the actual device configuration. And can be performed based on the head I / O number.
[0023]
FIGS. 2A to 2C show the structure of group data created by the
[0024]
As shown in FIG. 2A, the used unit configuration data is the number of used units and the number of used units indicating the number of data set in the used unit configuration data, and for each unit used. Unit type (1: input unit, 2: output unit) indicating the type of input unit and output unit, the number of occupied points indicating the number of input / output devices of the used unit, and the actual number assigned to the input / output device of the used unit The start I / O number indicating the start number of the input / output device, the device type (58h: X, 59h: Y, 4ch: device label) that is a value for identifying the device of the
[0025]
As shown in FIG. 2B, the general-purpose label data includes a unit label which is label data attached to each used unit, and a device label which is label data attached to each input / output device of each used unit. have. Each of the unit label and the device label is described by ASCII data of a plurality of characters, for example, 8 characters.
[0026]
The used unit configuration data, general-purpose label data, and program data for each group are stored in the
[0027]
(Specific configuration)
FIG. 3 shows the configuration of a
[0028]
The input / output device
[0029]
The input / output device number automatic assigning process by the input / output device
[0030]
The combination order of the sequence programs can be changed by the input means 21, and the combination data in the storage means 23 is automatically rewritten according to this change. The input / output device number assigning means 24 changes the contents of the actual device configuration in accordance with the change in the combination order, and automatically assigns the input / output device number that matches the actual device configuration changed to the sequence program. Do.
[0031]
Further, the used unit configuration data can be changed by the input means 21, and the used unit configuration data in the storage means 23 is automatically rewritten in accordance with this change. The input / output device
[0032]
Further, the unit label for each input / output unit and the device label for each input / output device of each input / output unit in the temporary equipment configuration can be changed by the input means 21, and in accordance with this change, the unit label / device of the storage means 23 The label data is automatically rewritten. The input / output device
[0033]
(User operation)
FIGS. 4A to 4E show an example in which a sequence program executed on one PC is divided and created. In this example, it is assumed that the process controlled by one PC is composed of two processes. One process uses one 16-point input unit and one 16-point output unit as in the temporary device configuration A shown in FIG.
[0034]
In order to create the used unit configuration data for the temporary device configuration A, the user inputs the used unit configuration data on the used unit configuration data input screen as shown in FIG. The unit number corresponds to the mounting position of the used unit and is indicated by a numerical value of 0 to n. The unit number is used when referring to the data of the used unit at a certain mounting position in the used unit configuration data.
[0035]
First, “input” indicating an input unit is input in the type input column of
[0036]
From this input, use unit configuration data for the temporary device configuration A is created in the
[0037]
The head I / O number is determined at the stage where the programs are combined in accordance with the actual device configuration (see FIG. 4C), and thus is undefined at the present stage, and “−1” indicating unset is set. . As the device type, “58h” is set if the type is input, and “59h” is set if the type is output. The pointer to the general-purpose label data is set when the general-purpose label data is created, and a value “0” indicating that the general-purpose label data is not created is set at the current stage.
[0038]
In the temporary device configuration A, since an actual input / output device number is not determined, a sequence program cannot be created using the actual input / output device number. For this reason, a general-purpose label corresponding one-to-one with an actual input / output device is created, and a sequence program is created using the general-purpose label.
[0039]
Next, the user inputs the general-purpose label data for the used unit configuration data for the temporary device configuration A on the general-purpose label data input screen as shown in FIG. First, a unit number is designated for which unit a general-purpose label is to be created. FIG. 8 shows that
[0040]
FIG. 8 shows a state in which a unit label and a device label for
[0041]
In this data storage process, the address of the general-purpose label data stored in the pointer to the general-purpose label data of the unit number is set. The user inputs this data for the number of units used. Similarly, in the temporary device configuration A, by inputting the unit label “
[0042]
Another process uses one 32-point input unit and one 32-point output unit as in the temporary device configuration B shown in FIG. 4B. The general-purpose label data is also generated as shown in FIGS. 7A and 7B by data input similar to the case of the temporary device configuration A.
[0043]
As shown in FIG. 9, the
[0044]
FIG. 10 shows a combination group data operation screen (group file data combination screen). This operation screen includes a drive designation field, a directory designation field, a group name display field for saved group data, and a group name of the group data to be combined. A combination group column, a button “Add” for designating group data to be combined, a button “OK” for executing creation of combination group data with contents displayed in the combination group column, and a cancel button “Cancel” are displayed.
[0045]
Next, the user edits the program A corresponding to the temporary device configuration A as shown in FIG. 4D by the ladder program editing function of the
[0046]
Such a ladder program editing function is an existing technique, and is a function for converting a sequence program created with the symbols of the ladder diagram into a machine code that can be interpreted by a PC, such as the program data of FIG. The program data includes a total number of steps that is a total value of the number of steps in one program data, and an instruction code, a device type, and a device number for each step.
[0047]
The instruction code is a code for the instruction of the sequence program. For example, LD is “1”, OR is “2”, AND is “3”, and OUT is “4”. The device type is a code for an input device and an output device that handle input / output signals used in the sequence program. For example, the input device X is “58h”, the output device Y is “59h”, and is created with a general-purpose label. The device label is “4Ch”. The device number is a number that each device has. The device number in the case of the device label “4Ch” is a device label number as shown in FIG. The device label number is 16-bit data. The upper 8 bits are a unit number, and the lower 8 bits are a label number.
[0048]
With the above contents, program A is converted from the beginning of the program. First, since
[0049]
Since
[0050]
In this way, group data of one process among the processes controlled by one PC is created. This group data is created in the
[0051]
The group data of the temporary device configuration A is stored in the drive A and directory “data” as the group name “Group A”. Similarly, for the remaining one process, as shown in FIG. 4E, the program B corresponding to the temporary device configuration B is edited by the ladder program editing function, and FIGS. c) Complete the group data as shown in FIG. 5 and store the group name as “Group B” in the drive A, directory “data”.
[0052]
(Operation)
As described above, a process of combining the group file data created and stored in the
[0053]
(Combination of group file data)
First, the user designates group file data to be combined on the group file data combination screen shown in FIG. When the drive of the
[0054]
In this way, the group A group file data and the group B group file data are designated according to the actual device configuration when the PC is actually used (see FIG. 4C). When the OK button is pressed after specifying the group file data to be combined, the processing of the group data combination function is executed, and the actual input / output device number is automatically assigned to the program data of each group data.
[0055]
(Group data combination processing)
The group data combination process will be described with reference to the flowcharts of FIGS. After the user specifies group data files to be combined on the group file data combination screen, the group data combination process is executed by pressing the OK button.
[0056]
(General flow of group data combination processing)
FIG. 11 is a general flow of group data combination processing. First, a variable i used as a counter is initialized to 0 (step S11). Steps S12 to S18 are processing for creating combination group data (see FIG. 9).
[0057]
The total number of groups in the combination group data is initialized to 0 (step S12), and the variable i is compared with the number of groups set in the combination group column on the group file data combination screen (step S13). When the variable i is smaller than the number of groups set in the combination group column (Yes at Step S14), the i-th group file data in the combination group column is read from the
[0058]
At this time, the pointer to the general-purpose label data of the used unit configuration data stored in the
[0059]
The pointer to the general-purpose label data of
[0060]
Next, the i-th group name in the combination group column of the group file data combination screen is set (step S16). By setting one group name, the total number of groups is incremented by 1 (step S17), and in order to set the next group name, the variable i is incremented by 1 (step S18), and the process returns to step S13.
[0061]
When the variable i becomes equal to the number of groups set in the combination group column (No in step S14), all group names are set, and the creation of combination group data is completed. As a result, 2 is set as the total number of groups in the combination group data in FIG. 9, group A is set as the 0th group name of the data number, and group B is set as the 1st group name of the data number. When the creation of the combination group data is completed, an input / output number assignment process (step S19) and a program data device conversion process (step S20) are sequentially executed.
[0062]
(I / O number assignment processing)
The input / output number assignment process (step S19) is a process for setting the head I / O number of each unit number of the used unit configuration data of the group data combined by the combination group data. This will be described with reference to the flowchart of FIG.
[0063]
First, a variable i used as a counter is initialized to 0 (step S21), and a variable IONo for storing a head I / O number is initialized to 0 (step S22). Next, the variable i is compared with the total number of groups in the combination group data (step S23). When the variable i is smaller than the total number of groups (Yes at step S24), the head I / O number of each unit in the used unit configuration data of the group data belonging to the group name of the data number indicated by the variable i of the combination group data is set. Is performed (step S25).
[0064]
When the start I / O number setting process is completed, the variable i is incremented by 1 (step S26), and the process returns to step S23 to set the start I / O number of each unit in the next used unit configuration data. If the variable i is equal to the total number of groups (No at step S24), the setting of the first I / O number of the used unit configuration data of all the group data combined by the combination group data has been completed, and the processing ends. To do.
[0065]
(Start I / O number setting process for each unit)
Next, the leading I / O number setting process of each unit will be described with reference to the flowchart shown in FIG.
[0066]
First, a variable j used as a counter is initialized to 0 (step S31). Next, the variable j is compared with the number of used units in the used unit configuration data (step S32). If the variable j is smaller than the number of used units (Yes at step S33), the variable IONo is set to the head I / O number of the unit number indicated by the variable j (step S34). Thereby, the head I / O number corresponding to the actual device configuration is stored in the head I / O number.
[0067]
Next, in order to obtain the head I / O number of the next unit, the number of occupied points of the unit number indicated by the variable j is added to the variable IONo (step S35). Then, in order to set the head I / O number of the next unit, the variable j is incremented by 1 (step S36), and the processing is repeated from step S32. When the variable j is equal to the number of used units (No at Step S33), the setting is completed because the start I / O numbers of all the units in the used unit configuration data have been set.
[0068]
Thereby, the head I / O number of the used unit configuration data of each group data is set, and the assignment of the input / output device to the general-purpose label data is completed.
[0069]
(Program data device conversion processing)
Next, a program data device conversion process (step S20) is started in order to assign an input / output device to the program data created from the general-purpose label data. The program data device conversion process will be described with reference to the flowchart shown in FIG.
[0070]
First, a variable i used as a counter is initialized to 0 (step S41). Next, the variable i is compared with the total number of groups in the combination group data (step S42). When the variable i is smaller than the total number of groups (Yes at step S43), the device type and device set in the general label data of the program data in the group data belonging to the group name of the data number indicated by the variable i of the combination group data Processing for converting the number into an input / output device is performed (step S44).
[0071]
When the device conversion of the program data of the i-th group name is completed, the variable i is incremented by 1 for the device conversion of the group data of the next group name (step S45), and the process returns to step S42. When the variable i becomes equal to the total number of groups (No at Step S43), the device conversion is completed for all groups, and the process is terminated.
[0072]
(Device conversion processing of program data of i-th group name)
Next, device conversion processing (step S44) of the program data of the i-th group name will be described with reference to the flowchart shown in FIG.
[0073]
First, a variable j used as a counter is initialized to 0 (step S51). Next, the variable j is compared with the total number of steps of the program data (step S52). When the variable j is smaller than the total number of steps (Yes at Step S53), the value of the device type of the step number indicated by the variable j is checked (Step S54). If the value of the device type is other than 4Ch (device label) (No at Step S55), there is no need to convert it to an input / output device, so the value of the variable j is incremented by 1 (Step S62), and the process returns to Step S52.
[0074]
On the other hand, if the value of the device type is 4Ch (device label) (Yes at step S55), the upper eight of the device numbers of the step numbers indicated by the variable j in the variable UNo for indicating the unit numbers of the used unit configuration data. A bit is set (step S56).
[0075]
Next, the device type of the unit number indicated by the variable UNo of the used unit configuration data is set to the variable Dev for storing the device type (step S57), and the value of the variable Dev is set to the device type of the step number indicated by the variable j. Set (step S58).
[0076]
Next, the lower 8 bits of the device number of the step number indicated by the variable j is set in the variable DNo for storing the device number of the input / output device (step S59), and the unit number indicated by the variable UNo of the used unit configuration data is set in the variable DNo. The value of the first I / O number is added (step S60). By this processing, the device number of the input / output device converted from the device number that was the device label number is set in the variable DNo. Next, the value of variable DNo is set to the device number of the step number indicated by variable j (step S61), the value of variable j is incremented by 1 (step S62), and the process returns to step 52.
[0077]
The device type and device number for one step are converted into an input / output device by the processing in steps S56 to S61 described above. If the variable j is equal to the total number of steps (No at step S53), since the conversion of all device types and device numbers of the program data to the input / output devices is completed, the process is terminated and the group data combination function The process ends.
[0078]
Through the above processing, the group file data created separately and saved in the
[0079]
(Change of configuration order of actual device configuration)
Next, a case where the configuration order (unit mounting order) of the actual device configuration is changed as shown in FIG. 16 will be described. FIG. 17 shows an example in which the contents of the combination group column on the group file data combination screen are changed in order to change the group data.
[0080]
The actual device configuration is arranged in the order of the temporary device configuration A and the temporary device configuration B as in the actual device configuration shown in FIG. 4C, and the group file data combination of FIG. On the screen, the used unit configuration data input screen shown in FIG. 5 and the general label data input screen shown in FIG. It is assumed that
[0081]
The program A is edited by the ladder program editing function of the
[0082]
It is assumed that combination group data for combining group data is in the
[0083]
10 shows a group file data combination screen before the arrangement order is changed, and FIG. 17 shows a group file data combination screen after the arrangement order is changed. As shown in FIG. 17, after changing the group name arrangement order in the combination group column, the group data changing process is started by pressing the OK button.
[0084]
(Group data change processing)
The group data change process is performed according to the flowchart of FIG. When the group data change process starts, first, the combination group data clear process is performed (step S71), and then the above-described group data combination process (step S72) is performed according to the flowchart of FIG.
[0085]
(Combination group data clear processing)
The combination group data clear process is processed according to the flowchart of FIG. In the combination group data clear process, first, the variable i is initialized (step S81). Next, the variable i is compared with the total number of groups (step S82). If the variable i is equal to or less than the total number of groups of the combination group data (Yes at step S83), the i-th group name of the combination group data. Is deleted (step S84). Next, the variable i is incremented by 1 (step S85), and the process returns to step S82. When the variable i becomes equal to the total number of steps (No at Step S83), the combination group data clear process is terminated.
[0086]
(Group data combination processing)
When the combination group data clear process ends, a group data combination process is performed. The group data combination process is processed according to the flowchart of FIG. 11, 2 is set as the total number of groups of the combination group data of FIG. 9 through steps S11 to S18, and the group B is set as the 0th group name of the data number. Group A is set as the first group name of the data number.
[0087]
Next, input / output number assignment processing is performed (step S19), and the 0th head I / O number of the unit number and the first head I / O number of the unit number of the unit data used in the group data are set. Next, program data device conversion processing is performed (step S20), and the device type and device number of the program data of the program B edited by the ladder program editing function of the
[0088]
Thereby, even if the configuration order of the actual device configuration is changed, it is not necessary to manually change the input / output number, and the actual input / output device number after the change is automatically assigned to the program data.
[0089]
(Unit configuration change)
In a system configured with an actual device configuration as shown in FIG. 4C, the configuration of the temporary device configuration A is changed to the temporary device configuration A ′ shown in FIG. To state. The actual device configuration in this case includes a temporary device configuration A ′ and a temporary device configuration B. The temporary device configuration A ′ is obtained by changing the
[0090]
When the unit configuration is changed, first, the group data using the corresponding unit is changed. This change operation is processed according to the flowchart of FIG. First, on the group selection screen shown in FIG. 22, the group name whose configuration has been changed is selected (step S91). Next, on the unit configuration input screen shown in FIG. 23, the changed unit position is input to the unit position selection (step S92). Next, the unit type and the number of occupied points are input on the unit configuration input screen (step S93).
[0091]
In this way, the setting is performed and, for example, the input process is completed by pressing the OK button on the screen.
[0092]
(Group data change processing)
Next, group data change processing is performed. This is processed according to the flowchart of FIG. First, group data (group file data) of group A before change is copied to group data of group A ′ (step S101). Next, the unit position selection value is read (step S102), and the position of the unit position selection value is searched from the used unit configuration data (step S103).
[0093]
Next, the input unit type value is set to the unit type of the used unit configuration data of group A ′ (step S104), and the input occupied point value is set to the occupied point number of the used unit configuration data of group A ′. Set. Thereby, the used unit configuration data of the group A ′ corresponding to the unit change is created as shown in FIG. The general-purpose label data of group A ′ is shown in FIG. 25B, and the program data is shown in FIG.
[0094]
Next, combination group data as shown in FIG. 26 is created. The creation of the combination group data is similarly performed on the group file data combination screen of FIG. After the combination group data is created, program data device conversion processing is performed. In this way, when the unit configuration is changed, the real I / O address can be changed without changing the program.
[0095]
(Change general-purpose label data)
A process when the unit labels and device labels of the general-purpose label data are rearranged and changed will be described. FIG. 27A shows the provisional device configuration C, FIG. 27B shows general-purpose label data before change, and FIG. 27C shows general-purpose label data after unit label data replacement. The sequence program shown in FIG. 28 is created using the general-purpose label data shown in FIG. In this sequence program, the output to the 16-point input unit A is in the relationship of 16-point output unit A.
[0096]
If it is necessary to change the 16-point input unit corresponding to the 16-point output unit A from the current 16-point input unit A to the 16-point input unit B, first, the unit label for the 16-point input unit A on the general-purpose label data The character string “IunitA” set as “and the character string“ IunitB ”set as the unit label for the 16-point input unit B are replaced using the general-purpose label data input screen shown in FIG. Do. The general-purpose label data after replacement is as shown in FIG.
[0097]
(Start I / O number resetting process)
The reset processing of the leading I / O number for the group data that has been corrected is performed according to the flowchart shown in FIG. First, the counter variable i is initialized with 0 (step S111), and the variable IONo for storing the head I / O number is initialized with 0 (step S112).
[0098]
Next, the variable i is compared with the total number of groups in the combination group data (step S113). If the variable i is smaller than the total number of groups (Yes in step S114), the group of the i-th group data among the combination group data is determined. It is determined whether the name and the group name of the group data changed this time are the same. If they are different (No in step S115), the counter variable i is incremented by 1 (step S116), and step S113. Return to, and repeat the total group count and group name check.
[0099]
On the other hand, if it is a changed group name (step S115), it is checked whether the variable i for group data is 0 (step S117). The processing for setting the leading I / O number of the unit configuration data used for the group name is performed according to the flowchart of FIG. 13 (step S119).
[0100]
On the other hand, if the variable i is other than 0, the last data in the (i−1) th used unit configuration data is used, and the {(i−1) th first I / ONo + the number of occupied points + 1}. The first I / O number used in the i-th group data is obtained by the following calculation, and this is substituted for the first IO number storage variable IONo (step S118). Thereafter, the i-th group name is used. Setting processing of the head I / O number of the unit configuration data is performed according to the flowchart of FIG. 13 (step S119).
[0101]
When the setting of the new head I / O number for the changed group data configuration is completed, the variable i is incremented by 1 (step S116), and the process returns to step S114. Then, when the variable i becomes equal to the total number of groups (No at Step S114), since all the groups have been checked, the process ends.
[0102]
Similarly, the case where the device labels in the general-purpose label data are replaced can be realized by the same processing. The device label character string “In1” and character string “In2” for the device of the 16-point input unit A in the general-purpose label data are exchanged using the general-purpose label data input screen. The general-purpose label data after the replacement is as shown in FIG.
[0103]
After the creation of this data, according to the flowchart shown in FIG. 29, the head I / O number is reset only for the group data configuration of the changed group. It is possible to automatically reset only the first I / O number for the selected group.
[0104]
【The invention's effect】
As can be understood from the above description, according to the input / output device number assignment method of the sequence program for programmable controller according to the present invention, the configuration of the input / output unit to be used is set as a temporary device configuration for each sequence program created by division. For each input / output device of each input / output unit, the input / output unit in the temporary device configuration Label number and A device label is set, and multiple sequence programs created using the unit label and device label set in the temporary device configuration. Synthesize In stages, A head I / O number is obtained for each unit label in the temporary device configuration based on the information indicating the actual mounting position order of the plurality of input / output units used and the number of input / output devices held by each input / output unit. The above-mentioned synthesis is performed by adding the obtained leading I / O number of each input / output unit and the label number corresponding to each device label. Since the input / output device numbers that match the actual device configuration are automatically assigned to the sequence program, there is no need to manually assign the input / output numbers, and it is necessary to determine the PC system configuration first when creating the sequence program. In addition, the system configuration of the PC is flexible, the sequence program can be created without being aware of the actual configuration of the PC, and the program can be efficiently created.
[0105]
According to the input / output device number assignment method of the sequence program for the programmable controller according to the next invention, Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all input / output units, and each input / output device is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. Synthesized Since the input / output device numbers that match the actual device configuration are automatically assigned to the sequence program, there is no need to manually assign the input / output numbers, and it is necessary to determine the PC system configuration first when creating the sequence program. In addition, the system configuration of the PC is flexible, the sequence program can be created without being aware of the actual configuration of the PC, and the program can be efficiently created.
[0106]
According to the peripheral device of the programmable controller according to the next invention, the data processing means sets the configuration of the input / output unit to be used as the temporary device configuration for each sequence program created by dividing, and individually sets the input / output unit in the temporary device configuration. For each I / O unit and each I / O device Label number and A device label is set, and multiple sequence programs created using the unit label and device label set in the temporary device configuration. Synthesize In stages, A head I / O number is obtained for each unit label in the temporary device configuration based on the information indicating the actual mounting position order of the plurality of input / output units used and the number of input / output devices held by each input / output unit. The above-mentioned synthesis is performed by adding the obtained leading I / O number of each input / output unit and the label number corresponding to each device label. Since the input / output device numbers that match the actual device configuration are automatically assigned to the sequence program, there is no need to manually assign the input / output numbers, and it is necessary to determine the PC system configuration first when creating the sequence program. In addition, the system configuration of the PC is flexible, the sequence program can be created without being aware of the actual configuration of the PC, and the program can be efficiently created.
[0107]
According to the peripheral device of the programmable controller according to the next invention, the data processing means is Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all I / O units, and each I / O unit is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. It is synthesized by Since the input / output device numbers that match the actual device configuration are automatically assigned to the sequence program, there is no need to manually assign the input / output numbers, and it is necessary to determine the PC system configuration first when creating the sequence program. In addition, the system configuration of the PC is flexible, the sequence program can be created without being aware of the actual configuration of the PC, and the program can be efficiently created.
[0108]
According to the peripheral device of the programmable controller according to the next invention, for each sequence program created by dividing, use unit configuration data for configuring the configuration of the input / output unit to be used as a temporary device configuration, and each input / output in the temporary device configuration For each unit label and input / output device of each input / output unit A sequence program that edits a sequence program for each temporary device configuration using an input unit for inputting a label number and a device label, a storage unit for storing these data, a unit label set in the temporary device configuration, and a device label Editing means and storage means for storing the edited sequence program; input means for inputting a combination of a plurality of sequence programs created using unit labels and device labels set in the temporary device configuration; and combination data In the step of synthesizing a plurality of sequence programs for each temporary device configuration based on the combination data stored in the storage means, and the number of input / output devices held by each input / output unit In the temporary equipment configuration based on A head I / O number is obtained for each unit label, and the obtained head I / O number of each input / output unit is obtained by referring to the used unit configuration data and unit label / device label data stored in the storage means. Since it has an input / output device number assigning means for automatically assigning an input / output device number suitable for the actual device configuration to the synthesized sequence program by adding the label number corresponding to each device label, There is no need to manually assign I / O numbers, there is no need to determine the PC system configuration first when creating a sequence program, there is flexibility in the PC system configuration, and no consideration is given to the actual device configuration of the PC. In addition, it is possible to create a sequence program and to obtain an effect of efficiently creating a program.
[0109]
According to the peripheral device of the programmable controller according to the next invention, the input / output device number assigning means is: Based on information indicating the actual mounting position order of a plurality of input / output units used and the number of input / output devices held by each input / output unit, the start I / O number of the start input / output unit is set to a predetermined initial value. Set the start I / O number of the subsequent I / O unit, and add the number of I / O devices held by the I / O unit on the upstream side of the I / O unit to the initial value. Is assigned to all I / O units, and each I / O device is assigned a serial number by adding the assigned head I / O number and the label number corresponding to each device label. Is synthesized Since the input / output device numbers that match the actual device configuration are automatically assigned to the sequence program, there is no need to manually assign the input / output numbers, and it is necessary to determine the PC system configuration first when creating the sequence program. In addition, the system configuration of the PC is flexible, the sequence program can be created without being aware of the actual configuration of the PC, and the program can be efficiently created.
[0110]
According to the peripheral device of the programmable controller according to the next invention, the combination order of the sequence program can be changed by the input means, the combination data of the storage means is rewritten, and the input / output device number assigning means changes the combination order. The actual device configuration is changed accordingly, and the input / output device numbers that match the actual device configuration changed in the sequence program are automatically assigned, so the configuration order of the device configuration has been changed in a certain processing unit. In this case, there is no need to manually change the input / output number, and the effect of improving the efficiency of program creation can be obtained.
[0111]
According to the peripheral device of the programmable controller according to the next invention, the used unit configuration data can be changed by the input means, the used unit configuration data in the storage means is rewritten, and the input / output device number assigning means Change the actual device configuration according to the change and automatically assign the input / output device number that matches the actual device configuration changed to the sequence program. The actual I / O number (input / output device number) can be easily changed without having to change the sequence program each time the unit used is changed. Good sex.
[0112]
According to the peripheral device of the programmable controller according to the next invention, the unit label for each input / output unit in the temporary device configuration, the device label for each input / output device of each input / output unit can be changed by the input means, Rewrite the unit label and device label data, and change the general-purpose label data because the input / output device number assigning means changes the input / output device number that matches the actual device configuration according to the change of the unit label and device label data. Even then, the actual I / O number can be changed easily without changing the program.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a peripheral device of a PC according to the present invention.
FIGS. 2A to 2D are explanatory views showing data structures of used unit configuration data, general-purpose label data, program data, and device label numbers used in the peripheral device of the PC according to the present invention.
FIG. 3 is a block diagram showing a specific configuration of a peripheral device of a PC according to the present invention.
FIGS. 4A to 4E are explanatory diagrams showing a temporary device configuration example, an actual device configuration example, and a ladder program for each temporary device configuration in a peripheral device of a PC according to the present invention.
FIG. 5 is a screen view showing an example of a used unit configuration data input screen in the peripheral device of the PC according to the present invention.
FIGS. 6A to 6C are explanatory diagrams showing group A group data.
7A to 7C are explanatory diagrams showing group B group data. FIG.
FIG. 8 is a screen view showing an example of a general-purpose label data input screen in the peripheral device of the PC according to the present invention.
FIG. 9 is an explanatory diagram showing a data structure of combination group data used in the peripheral device of the PC according to the present invention.
FIG. 10 is a screen view showing an example of a group file data combination screen in the peripheral device of the PC according to the present invention.
FIG. 11 is a flowchart showing a general flow of group data combination processing in a peripheral device of a PC according to the present invention.
FIG. 12 is a flowchart showing input / output number assignment processing in the peripheral device of the PC according to the present invention;
FIG. 13 is a flowchart showing start I / O number setting processing of each unit in the peripheral device of the PC according to the present invention.
FIG. 14 is a flowchart showing a program data device conversion process in the peripheral device of the PC according to the present invention.
FIG. 15 is a flowchart showing device conversion processing of program data of the i-th group name in the peripheral device of the PC according to the present invention.
FIG. 16 is an explanatory diagram showing an example of changing the actual device configuration;
FIG. 17 is a screen view showing an example of a group file data combination screen in the peripheral device of the PC according to the present invention.
FIG. 18 is a flowchart showing group data conversion processing in the peripheral device of the PC according to the present invention.
FIG. 19 is a flowchart showing combination group data clear processing in the peripheral device of the PC according to the present invention.
FIGS. 20A and 20B are explanatory diagrams showing a change in the temporary device configuration and a change in the actual device configuration associated therewith.
FIG. 21 is a flowchart showing unit configuration change processing in the peripheral device of the PC according to the present invention;
FIG. 22 is a screen view showing an example of a group selection screen in the peripheral device of the PC according to the present invention.
FIG. 23 is a screen view showing an example of a unit configuration input screen in the peripheral device of the PC according to the present invention.
FIG. 24 is a flowchart showing group data change processing in the peripheral device of the PC according to the present invention.
FIGS. 25A to 25C are explanatory diagrams showing group data of a group A ′ by changing the used unit.
FIG. 26 is an explanatory diagram of an example of combination group data.
FIGS. 27A to 27C are explanatory diagrams showing examples of general-purpose label data before and after the temporary device configuration and the unit label change thereof. FIGS.
FIG. 28 is a ladder circuit showing a ladder program example.
FIG. 29 is a flowchart showing reset processing of the leading I / O number in the peripheral device of the PC according to the present invention.
FIG. 30 is an explanatory diagram showing an example of general-purpose label data after a device label change.
[Explanation of symbols]
10 peripheral devices, 11 central processing unit, 12 memory, 13 CRT, 14 keyboard, 15 communication I / F unit, 16 auxiliary storage device, 17 floppy disk, 18 floppy disk drive, 19 hard disk drive, 21 input means, 22 sequence program Editing means, 23 storage means, 24 input / output device number assignment means, 50 PC.
Claims (9)
ラの周辺装置。For each sequence program created separately, the configuration of the input / output unit to be used is a temporary device configuration. The input / output unit in the temporary device configuration has an individual unit label and a label number and device for each input / output device of each input / output unit. At the stage where a plurality of sequence programs created using the unit label and device label set with the label and the provisional device configuration are synthesized , the actual mounting positions of the plurality of input / output units used Based on the information indicating the order and the number of input / output devices held by each input / output unit, a start I / O number is obtained for each unit label in the temporary device configuration, and the obtained start I / O number of each input / output unit is obtained. the actual device structure to a sequence program which is the synthesized with the addition of the corresponding label number to each device label Peripheral programmable controller, characterized in that it has a data processing means for automatically allocating compatible output device number.
仮機器構成で設定されているユニットラベル、デバイスラベルを使用して仮機器構成毎にシーケンスプログラムを編集するシーケンスプログラム編集手段および編集されたシーケンスプログラムを記憶する記憶手段と、
仮機器構成で設定されているユニットラベル、デバイスラベルを使用して作成された複数個のシーケンスプログラムの組み合わせを入力する入力手段および組み合わせデータを記憶する記憶手段と、
記憶手段に記憶された組み合わせデータに基づいて仮機器構成毎の複数個のシーケンスプログラムを合成する段階で、前記組み合わせデータと各入出力ユニットが保有する入出力デバイスの点数とに基づき仮機器構成における各ユニットラベル毎に先頭I/O番号を求め、前記記憶手段に記憶されている使用ユニット構成データとユニットラベル・デバイスラベルデータを参照して、前記求めた各入出力ユニットの先頭I/O番号と各デバイスラベルに対応するラベル番号との加算によって前記合成されるシーケンスプログラムに実際の機器構成に適合する入出力デバイス番号を自動的に割り付ける入出力デバイス番号割付手段と、
を有していることを特徴とするプログラマブルコントローラの周辺装置。For each sequence program created separately, use unit configuration data that configures the configuration of the input / output unit to be used as a temporary device configuration, unit labels for each input / output unit in the temporary device configuration, and input / output of each input / output unit An input means for inputting a label number and a device label for each device and a storage means for storing these data;
A unit program set in the temporary device configuration, a sequence program editing unit for editing the sequence program for each temporary device configuration using the device label, and a storage unit for storing the edited sequence program;
Input means for inputting a combination of a plurality of sequence programs created using unit labels and device labels set in the provisional device configuration, and storage means for storing combination data;
In the step of synthesizing a plurality of sequence programs for each temporary device configuration based on the combination data stored in the storage means, in the temporary device configuration based on the combination data and the number of input / output devices held by each input / output unit A head I / O number is obtained for each unit label, and the obtained head I / O number of each input / output unit is obtained by referring to the used unit configuration data and unit label / device label data stored in the storage means. And an input / output device number assigning means for automatically assigning an input / output device number suitable for an actual device configuration to the synthesized sequence program by adding the device number and a label number corresponding to each device label ;
A peripheral device for a programmable controller, comprising:
ムに変更された実際の機器構成に適合する入出力デバイス番号に自動的に割り付けることを特徴とする請求項5、6または7に記載のプログラマブルコントローラの周辺装置。The use unit configuration data can be changed by the input means, the use unit configuration data in the storage means is rewritten, and the input / output device number assigning means changes the actual device configuration contents according to the change in the use unit configuration. 8. The peripheral device for a programmable controller according to claim 5, wherein the input / output device number is changed and automatically assigned to an input / output device number adapted to an actual device configuration changed to a sequence program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35958198A JP3756333B2 (en) | 1998-12-17 | 1998-12-17 | Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35958198A JP3756333B2 (en) | 1998-12-17 | 1998-12-17 | Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000181514A JP2000181514A (en) | 2000-06-30 |
JP3756333B2 true JP3756333B2 (en) | 2006-03-15 |
Family
ID=18465233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35958198A Expired - Fee Related JP3756333B2 (en) | 1998-12-17 | 1998-12-17 | Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3756333B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002170176A (en) * | 2000-12-01 | 2002-06-14 | Atsumi Electric Co Ltd | Input and output channel use form setting method and system equipment |
JP4620035B2 (en) * | 2006-12-11 | 2011-01-26 | 三菱電機株式会社 | Program creation apparatus, program creation method, and program causing computer to execute the method |
JP5826121B2 (en) | 2012-06-18 | 2015-12-02 | 株式会社安川電機 | Machine control program creation device, machine control program creation method, program, and information storage medium |
JP6620454B2 (en) * | 2015-08-06 | 2019-12-18 | 富士電機株式会社 | Control apparatus and control method |
JP2018200731A (en) * | 2018-10-01 | 2018-12-20 | オムロン株式会社 | Support device and support program |
-
1998
- 1998-12-17 JP JP35958198A patent/JP3756333B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000181514A (en) | 2000-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0358304A2 (en) | Method and apparatus for configuration of computer system and circuit boards | |
US6088624A (en) | Industrial controller with flexible data structures | |
JP3756333B2 (en) | Programmable controller sequence program input / output device number assignment method and programmable controller peripheral device | |
JP2012194678A (en) | Control program development support device, program for supporting control program development, and recording medium | |
CN103123660B (en) | A kind of method to software and hardware system CAD mathematics library | |
CN111095195A (en) | Controller, control method, and control program | |
JP4462426B2 (en) | PLC tool device | |
JP2005328483A (en) | Parameter supplying apparatus and program | |
JP5929499B2 (en) | Control device and program | |
US3939336A (en) | Apparatus for analysis of network diagrams | |
JP2006259938A (en) | Setting tool device | |
US6321255B1 (en) | Extensible storage of network device identification information | |
JP3939518B2 (en) | Input / output address setting device, input / output address setting program and recording medium recording the same | |
JP4164760B2 (en) | Digital mixer, scene data editing device, mixer configuration editing device, and scene data storage device | |
JP2007251467A (en) | Signal processing module executed by signal processing unit | |
JP4282961B2 (en) | System that defines data input / output in the controller | |
JP3761126B2 (en) | Peripheral device of programmable controller | |
JP3585158B2 (en) | Operation screen creation method for programmable display device | |
JP3616219B2 (en) | CAD equipment | |
JP2005141563A (en) | Editor apparatus, program for operating computer as editor apparatus, and recording medium | |
JP4362777B2 (en) | Programming device, symbol automatic registration method, program, and recording medium | |
JP4161961B2 (en) | Editing apparatus and program | |
JPH113105A (en) | Programming device for programmable controller | |
JP2702416B2 (en) | Method of generating operation button for computer processing and method of storing selected state of operation button | |
JPH09311771A (en) | Method and device for network equipment management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050830 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051027 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051221 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |