(57)【特許請求の範囲】
【請求項１】
ＣＰＵユニット及びこのＣＰＵユニット内のメモリ領域が割り当てられた拡張ユニットにより構成されるＰＬＣシステムの動作を規定するプログラムであって、上記拡張ユニットのデバイスを上記メモリ領域のアドレスによって指定するデバイス指定を用いて記述されると共に、上記デバイス指定に変数を使用可能な制御プログラムを作成する制御プログラム作成装置において、
２以上の上記制御プログラムを記憶するプログラム記憶手段と、
上記拡張ユニットを識別する拡張ユニット名及び上記メモリ領域のアドレスを用いて、上記拡張ユニットに対する上記メモリ領域の割り当て情報を上記制御プログラムに関連付けて記憶するシステム構成記憶手段と、
上記メモリ領域のアドレスに対する変数の割り当て情報を、変数を識別する変数名及び上記メモリ領域のアドレスを用いて、上記制御プログラムに関連付けて記憶可能な変数割り当て記憶手段と、
ユーザ操作に基づいて、上記プログラム記憶手段内の制御プログラムの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定するコピー対象指定手段と、
ユーザ操作に基づいて、上記プログラム記憶手段内の他の制御プログラムを貼付先プログラムとして指定する貼付先指定手段と、
上記コピー対象内で用いられている上記デバイス指定に割り当てられている拡張ユニット名又は変数名と、上記貼付先プログラムに関連付けられた上記メモリ領域の割り当て情報によって規定されている拡張ユニット名、又は、上記貼付先プログラムに関連付けられた上記変数の割り当て情報によって規定されている変数名とを上記メモリ領域の割り当て情報又は上記変数の割り当て情報に基づいて比較する比較手段と、
当該比較手段が、上記拡張ユニット名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットが存在すると判断した場合、上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットを表示して、当該拡張ユニットに対する上記貼付先プログラムに関連付けられたメモリ領域を指定させ、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されていない拡張ユニットが存在すると判断した場合、当該拡張ユニットを上記貼付先プログラムに関連付けられているメモリ領域の割り当て情報に追加させるとともに、当該拡張ユニットについて上記貼付先プログラムに関連付けられたメモリ領域を指定させるダイアログ画面を表示するダイアログ表示手段と、
上記ダイアログ画面上で指定されたメモリ領域に基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するコピー対象付加手段とを備え、
上記ダイアログ表示手段は、上記比較手段が、上記変数名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラムに関連付けられた変数割り当て情報によって規定されている変数とは変数割り当ての異なる変数が存在すると判断した場合、当該変数について変数割り当てを指定させる変数割り当て変更ダイアログ画面を表示し、上記コピー対象付加手段は、上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加することを特徴とする制御プログラム作成装置。
【請求項２】
上記ダイアログ表示手段は、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラム内で用いられている上記デバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると上記比較手段が判断した場合、当該変数についてメモリアドレスを指定させるアドレス変更ダイアログ画面を表示し、上記コピー対象付加手段は、上記アドレス変更ダイアログ画面上で指定されたメモリアドレスに基づいて、上記コピー対象内で用いられているデバイス指定を変更することを特徴とする請求項１に記載の制御プログラム作成装置。
【請求項３】
上記ダイアログ表示手段は、上記コピー対象付加手段が、上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて上記コピー対象内で用いられているデバイス指定を変更した際、変更後の上記コピー対象のデバイス指定に割り当てられている変数の中に上記貼付先プログラムのデバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると、上記アドレス変更ダイアログ画面を表示することを特徴とする請求項２に記載の制御プログラム作成装置。
【請求項４】
上記ダイアログ表示手段は、上記貼付先プログラムに関連付けられた上記変数割り当て情報によって規定されている変数とは変数割り当ての異なる各変数を上記変数割り当て変更ダイアログ画面上に一覧表示することを特徴とする請求項２に記載の制御プログラム作成装置。
【請求項５】
上記ダイアログ表示手段は、上記変数比較手段による比較結果を示すメッセージを変数に対応付けて上記変数割り当て変更ダイアログ画面上に表示することを特徴とする請求項４に記載の制御プログラム作成装置。
【請求項６】
ＣＰＵユニット及びこのＣＰＵユニット内のメモリ領域が割り当てられた拡張ユニットにより構成されるＰＬＣシステムの動作を規定するプログラムであって、上記拡張ユニットのデバイスを上記メモリ領域のアドレスによって指定するデバイス指定を用いて記述されると共に、上記デバイス指定に変数を使用可能な制御プログラムを作成する制御プログラム作成装置において実行される編集プログラムであって、
２以上の上記制御プログラムを記憶するプログラム記憶手順と、
上記拡張ユニットを識別する拡張ユニット名及び上記メモリ領域のアドレスを用いて、上記拡張ユニットに対する上記メモリ領域の割り当て情報を上記制御プログラムに関連付けて記憶するシステム構成記憶手順と、
上記メモリ領域のアドレスに対する変数の割り当て情報を、変数を識別する変数名及び上記メモリ領域のアドレスを用いて、上記制御プログラムに関連付けて記憶可能な変数割り当て記憶手順と、
ユーザ操作に基づいて、上記制御プログラムの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定するコピー対象指定手順と、
ユーザ操作に基づいて、他の制御プログラムを貼付先プログラムとして指定する貼付先指定手順と、
上記コピー対象内で用いられている上記デバイス指定に割り当てられている拡張ユニット名又は変数名と、上記貼付先プログラムに関連付けられた上記メモリ領域の割り当て情報によって規定されている拡張ユニット名、又は、上記貼付先プログラムに関連付けられた上記変数の割り当て情報によって規定されている変数名とを上記メモリ領域の割り当て情報又は上記変数の割り当て情報に基づいて比較する比較手順と、
当該比較手順により、上記拡張ユニット名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットが存在すると判断した場合、上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットを表示して、当該拡張ユニットに対する上記メモリ領域を指定させるダイアログ画面を表示するダイアログ表示手順と、
上記ダイアログ画面上で指定されたメモリ領域に基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するコピー対象付加手順とを備え、
上記ダイアログ表示手順は、上記比較手順が、上記変数名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラムに関連付けられた変数割り当て情報によって規定されている変数とは変数割り当ての異なる変数が存在すると判断した場合、当該変数について変数割り当てを指定させる変数割り当て変更ダイアログ画面を表示し、上記コピー対象付加手順は、上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加することを特徴とする編集プログラム。
【請求項７】
上記ダイアログ表示手順は、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラム内で用いられている上記デバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると上記比較手順が判断した場合、当該変数についてメモリアドレスを指定させるアドレス変更ダイアログ画面を表示し、上記コピー対象付加手順は、上記アドレス変更ダイアログ画面上で指定されたメモリアドレスに基づいて、上記コピー対象内で用いられているデバイス指定を変更することを特徴とする請求項６に記載の編集プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム作成装置及び編集プログラムに係り、さらに詳しくは、ＣＰＵユニット及びＣＰＵユニット内のメモリ領域が割り当てられた拡張ユニットにより構成されるＰＬＣシステムの動作を規定する制御プログラムを作成するプログラム作成装置の改良に関する。
【背景技術】
【０００２】
駆動装置やセンサーなどの機器を制御する制御装置として、ＰＬＣ（Programmable Logic Controller：プログラマブルロジックコントローラ）が知られている。ＰＬＣは、ラダーエディタなどのプログラム作成装置を用いて作成された制御プログラムに基づいて動作するプログラム書き換え可能な電子機器である。一般に、ＰＬＣには、様々な拡張ユニットが接続され、ＰＬＣ本体（ここでは、ＣＰＵユニットと呼ぶことにする）及び拡張ユニットにより構成されるＰＬＣシステムとして使用される場合が少なくない。拡張ユニットは、特定の機能に特化した付加ユニットであり、ＣＰＵユニットとの接続時には、ＣＰＵユニット内のメモリ領域が割り当てられる。ＣＰＵユニットは、特定のメモリ領域を割り当てた拡張ユニットに対し、所定のメモリアドレスにより指定されるメモリ領域内の状態データを変化させることで、当該拡張ユニットの制御を行っている。
【０００３】
この様なＣＰＵユニットや拡張ユニットに接続される機器及び各ユニットが備える特定の機能は、通常、デバイスと呼ばれ、ユニットごとに規定されている。上記プログラム作成装置では、この様なデバイスに対応付けてＣＰＵユニット内のメモリアドレスをユーザが指定することにより、制御プログラムが作成される。ＣＰＵユニット及び拡張ユニットが規定するデバイスをＣＰＵユニット内のメモリ領域のアドレスによって指定することをデバイス指定と呼ぶことにすると、制御プログラムは、この様なデバイス指定を用いて記述される。制御プログラムを作成する際、複数の制御プログラムを組み合わせて新たな制御プログラムを作成することができれば、以前に作成された制御プログラムを流用できて便利である。例えば、制御プログラムの一部分をコピー対象として指定し、このコピー対象を他の制御プログラム内に付加することができれば、極めて便利である。
【０００４】
従来、コピー対象を貼付先の制御プログラムに付加する際、コピー対象内で用いられている各デバイス指定に対応付けられているメモリアドレスは、そのままの状態でコピー対象が制御プログラム内に貼り付けられる。このため、コピー対象と貼付先の制御プログラムとで対象とするＰＬＣシステムの構成が異なると、ユニットごとのメモリアドレスの割り当てに衝突が生じることとなる。
【０００５】
図１２（ａ）及び（ｂ）は、ＰＬＣシステム内の各ユニットに対するメモリ領域の割り当てを示すシステム構成情報の一例を示した図である。図１２（ａ）には、貼付先の制御プログラムに関連付けられているシステム構成情報Ａ１が示され、図１２（ｂ）には、コピー元の制御プログラムに関連付けられているシステム構成情報Ｂ１が示されている。システム構成情報Ａ１は、ユニットの識別情報と、ユニットに割り当てるメモリ領域を指定するアドレス情報からなる。この例では、「０．ＫＶ−１０００」がＣＰＵユニットであり、「１．ＫＶ−Ｂ１６Ｔ」、「２．ＫＶ−Ｃ３２Ｘ」、「３．ＫＶ−Ｈ２０Ｇ」が拡張ユニットとなっている。例えば、拡張ユニット「１．ＫＶ−Ｂ１６Ｔ」には、「Ｒ３００００」のメモリアドレスで始まるメモリ領域が指定され、拡張ユニット「２．ＫＶ−Ｃ３２Ｘ」には、「Ｒ３０１００」のメモリアドレスで始まるメモリ領域が指定されている。
【０００６】
一方、システム構成情報Ｂ１は、「０．ＫＶ−１０００」、「１．ＫＶ−Ｂ３２Ｔ」、「２．ＫＶ−Ｃ３２Ｘ」、「３．ＫＶ−Ｈ２０Ｇ」によりＰＬＣシステムが構成される。この例では、拡張ユニット「２．ＫＶ−Ｃ３２Ｘ」には、「Ｒ３０２００」のメモリアドレスで始まるメモリ領域が指定されている。この様なシステム構成が指定されたコピー元の制御プログラムの一部分をコピー対象として指定して貼付先の制御プログラム内に付加する際、コピー対象内で用いられているデバイス指定によってはメモリアドレスの割り当てに衝突が生じる場合があった。
【０００７】
図１３は、従来の制御プログラム作成装置における動作の一例を示した図であり、コピー元プログラムＢ２内のコピー対象Ｃが貼付先プログラムＡ２内に付加される様子が示されている。この例では、各制御プログラムがラダー形式で画面表示され、画面上でコピー対象及び貼付先が指定される。コピー元のユニット「２．ＫＶ−Ｃ３２Ｘ」に割り当てられているデバイス（メモリアドレスは「Ｒ３０２００」）がコピー対象Ｃとして指定され、このコピー対象Ｃが貼付先プログラムＡ２内の所定位置に付加される。その際、ユニット「２．ＫＶ−Ｃ３２Ｘ」は貼付先に存在するが、当該ユニットに対するメモリ領域の割り当てが異なるので、コピー対象Ｃをそのまま付加すると、メモリアドレスの割り当てに不整合が生じてしまう。
【０００８】
図１４（ａ）及び（ｂ）は、システム構成情報の他の例を示した図であり、コピー対象Ｃ内で指定されたデバイスに割り当てられているユニットの中に貼付先プログラムＡ２内で指定されているデバイスに割り当てられていないユニットが存在する場合が示されている。図１４（ａ）には、貼付先プログラムに関連付けられているシステム構成情報Ａ３が示され、図１４（ｂ）には、コピー元プログラムに関連付けられているシステム構成情報Ｂ３が示されている。この例では、システム構成情報Ａ３が、「０．ＫＶ−１０００」、「１．ＫＶ−Ｂ１６Ｔ」、「２．ＫＶ−Ｈ２０Ｇ」により構成されている。システム構成情報Ｂ３は、図１２のシステム構成情報Ｂ１と同じである。
【０００９】
この例では、コピー元のユニット「２．ＫＶ−Ｃ３２Ｘ」に割り当てられているデバイス（メモリアドレスは「Ｒ３０２００」）をコピー対象Ｃとして指定して、貼付先プログラムＡ２内の所定位置に付加する際、当該ユニット「２．ＫＶ−Ｃ３２Ｘ」は貼付先に存在しない。このため、コピー対象Ｃをそのまま付加すると、上記デバイスは他のユニット「２．ＫＶ−Ｈ２０Ｇ」に割り当てられてしまう。コピー対象Ｃを貼付先プログラムＡ２に付加した際に生じるこの様なメモリアドレスの割り当てにおける衝突を解消する場合、コピー対象Ｃの付加後、ユーザに貼付先プログラムＡ２上でコピー対象Ｃを再度指定させて、各デバイス指定に割り当てられているメモリアドレスの割り当てを変更する必要があった。このため、従来の制御プログラム作成装置では、制御プログラムを流用する際の操作性が良くないという問題があった。
【００１０】
一般に、ＰＬＣの制御プログラムは、流用性を向上させるという観点から、ＣＰＵユニット内のメモリアドレスの代わりに、状態データを指定する変数（ラベルなどと呼ぶこともある）を用いて作成されることが少なくない。この様な変数を用いて制御プログラムを作成すれば、複数の制御プログラムを組み合わせて新たな制御プログラムを作成する場合に、変数をメモリアドレスに対応付けるテーブル（ここでは、変数割り当て情報と呼ぶことにする）を変更するだけで、メモリアドレスの重複を容易に防止することができる。変数を用いて作成された制御プログラムは、通常、ＰＬＣへの転送時に、変数割り当て情報に基づいて変数がメモリアドレスに変換され、変換後の制御プログラムがＰＬＣに転送される。
【００１１】
しかしながら、この様な変数を用いて作成された制御プログラムの一部分をコピー対象として貼付先プログラムに付加する際には、コピー対象内で用いられている各デバイス指定に使用されている変数はそのままの状態でコピー対象が付加されるので、コピー対象と貼付先プログラムとで変数の割り当てが異なると、変数割り当てに衝突が生じることとなる。
【００１２】
図１５（ａ）及び（ｂ）は、メモリアドレスに対する変数の割り当て情報の一例を示した図である。図１５（ａ）には、貼付先プログラムに関連付けられている変数割り当て情報Ｄ１が示され、図１５（ｂ）には、コピー元プログラムに関連付けられている変数割り当て情報Ｄ２が示されている。変数割り当て情報Ｄ１は、変数と、当該変数が割り当てられるメモリアドレスからなる。この例では、変数「ａａａ」がメモリアドレス「Ｒ０００００」に割り当てられ、変数「ｂｂｂ」がアドレス「Ｒ００００１」に割り当てられ、変数「ｃｃｃ」がアドレス「Ｒ００００２」に割り当てられている。一方、変数割り当て情報Ｄ２では、変数「ａａａ」がアドレス「Ｒ０００００」に割り当てられ、変数「ｂｂｂ」がアドレス「Ｒ０００１０」に割り当てられている。また、変数「ｃｃｃ」がアドレス「Ｒ０００１５」に割り当てられ、変数「ｄｄｄ」がアドレス「Ｒ００００２」に割り当てられている。この様な変数割り当てが指定されたコピー元プログラムの一部分をコピー対象として指定して貼付先プログラム内に付加する際、コピー対象内で指定されているデバイス指定によっては変数割り当てに衝突が生じる場合があった。
【００１３】
具体的には、コピー元でアドレス「Ｒ０００００」に対応する変数「ａａａ」に割り当てられているデバイスをコピー対象として付加する場合、貼付先で変数「ａａａ」が同じアドレスに割り当てられているので、この場合には衝突は生じず特に問題はない。これに対し、コピー元でアドレス「Ｒ０００１０」に対応する変数「ｂｂｂ」に割り当てられているデバイスをコピー対象として付加する場合には、貼付先で変数「ｂｂｂ」がアドレス「Ｒ００００１」に割り当てられている、すなわち、変数がコピー対象及び貼付先間で重複しているので、変数割り当てに衝突が生じることとなる。コピー対象を付加する際、仮に、貼付先の変数割り当て情報Ｄ１をコピー元の変数割り当て情報Ｄ２で置換（上書き）させるとすると、貼付先で変数「ｂｂｂ」が割り当てられていたアドレス「Ｒ００００１」のデバイスが変数を失うこととなる。一方、貼付先の変数割り当て情報Ｄ１をそのまま残し、コピー元の変数割り当て情報Ｄ２を上書きさせなければ、コピー元で変数「ｂｂｂ」が割り当てられていたアドレス「Ｒ０００１０」のデバイスが変数を失うこととなる。
【００１４】
また、コピー元でアドレス「Ｒ０００１５」に対応する変数「ｃｃｃ」に割り当てられているデバイスをコピー対象として付加する場合には、貼付先で変数「ｃｃｃ」がアドレス「Ｒ００００２」に割り当てられているので、変数割り当てに衝突が生じることとなる。この場合、貼付先の変数割り当て情報Ｄ１をコピー元の変数割り当て情報Ｄ２で置換させるとすると、貼付先でアドレス「Ｒ００００２」に割り当てられていた変数が「ｃｃｃ」から「ｄｄｄ」に書き換えられることとなる。また、このとき、貼付先でアドレス「Ｒ０００１５」が割り当てられたデバイスが使用されていれば、変数割り当ての上記置換により、当該デバイスに新たに変数が割り当てられることとなる。一方、貼付先の変数割り当て情報Ｄ１をそのまま残し、コピー元の変数割り当て情報Ｄ２を上書きさせなければ、コピー元で変数「ｃｃｃ」が割り当てられていたアドレス「Ｒ０００１５」が変数を失い、アドレス「Ｒ００００２」に割り当てられていた変数が「ｄｄｄ」から「ｃｃｃ」に書き換えられることとなる。
【００１５】
コピー対象を貼付先プログラムに付加した際に生じるこの様な変数割り当てにおける衝突を解消する場合、コピー対象の付加後、ユーザに貼付先プログラム上でコピー対象を再度指定させて、各デバイス指定に割り当てられている変数割り当てを変更する必要があった。このため、従来の制御プログラム作成装置では、制御プログラムを流用する際の操作性が良くないという問題があった。
【発明の開示】
【発明が解決しようとする課題】
【００１６】
上述した通り、従来の制御プログラム作成装置では、コピー対象を貼付先プログラム内に付加する際に生じるメモリアドレスの割り当てにおける衝突を解消する場合、コピー対象の付加後に、ユーザに貼付先プログラム上でコピー対象を再度指定させてメモリ領域の割り当てを変更しなければならなかった。また、変数を用いて作成された制御プログラムの一部分をコピー対象として貼付先プログラムに付加する際に生じる変数割り当ての衝突を解消する場合には、コピー対象の付加後に、ユーザに貼付先プログラム上でコピー対象を再度指定させて変数割り当てを変更しなければならなかった。このため、制御プログラムを流用する際の操作性が良くないという問題があった。
【００１７】
本発明は、上記の事情に鑑みてなされたものであり、制御プログラムを流用する際の操作性を向上させた制御プログラム作成装置及び編集プログラムを提供することを目的とする。特に、コピー元の制御プログラムの一部分をコピー対象として貼付先の制御プログラム内に付加する際、メモリアドレスの割り当てや変数割り当てに衝突が生じるのを防止することができる制御プログラム作成装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
第１の本発明による制御プログラム作成装置は、ＣＰＵユニット及びこのＣＰＵユニット内のメモリ領域が割り当てられた拡張ユニットにより構成されるＰＬＣシステムの動作を規定するプログラムであって、上記拡張ユニットのデバイスを上記メモリ領域のアドレスによって指定するデバイス指定を用いて記述されると共に、上記デバイス指定に変数を使用可能な制御プログラムを作成する制御プログラム作成装置において、２以上の上記制御プログラムを記憶するプログラム記憶手段と、上記拡張ユニットを識別する拡張ユニット名及び上記メモリ領域のアドレスを用いて、上記拡張ユニットに対する上記メモリ領域の割り当て情報を上記制御プログラムに関連付けて記憶するシステム構成記憶手段と、上記メモリ領域のアドレスに対する変数の割り当て情報を、変数を識別する変数名及び上記メモリ領域のアドレスを用いて、上記制御プログラムに関連付けて記憶可能な変数割り当て記憶手段と、ユーザ操作に基づいて、上記プログラム記憶手段内の制御プログラムの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定するコピー対象指定手段と、ユーザ操作に基づいて、上記プログラム記憶手段内の他の制御プログラムを貼付先プログラムとして指定する貼付先指定手段と、上記コピー対象内で用いられている上記デバイス指定に割り当てられている拡張ユニット名又は変数名と、上記貼付先プログラムに関連付けられた上記メモリ領域の割り当て情報によって規定されている拡張ユニット名、又は、上記貼付先プログラムに関連付けられた上記変数の割り当て情報によって規定されている変数名とを上記メモリ領域の割り当て情報又は上記変数の割り当て情報に基づいて比較する比較手段と、当該比較手段が、上記拡張ユニット名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットが存在すると判断した場合、上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットを表示して、当該拡張ユニットに対する上記貼付先プログラムに関連付けられたメモリ領域を指定させ、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されていない拡張ユニットが存在すると判断した場合、当該拡張ユニットを上記貼付先プログラムに関連付けられているメモリ領域の割り当て情報に追加させるとともに、当該拡張ユニットについて上記貼付先プログラムに関連付けられたメモリ領域を指定させるダイアログ画面を表示するダイアログ表示手段と、上記ダイアログ画面上で指定されたメモリ領域に基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するコピー対象付加手段とを備え、上記ダイアログ表示手段は、上記比較手段が、上記変数名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラムに関連付けられた変数割り当て情報によって規定されている変数とは変数割り当ての異なる変数が存在すると判断した場合、当該変数について変数割り当てを指定させる変数割り当て変更ダイアログ画面を表示し、上記コピー対象付加手段は、上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するように構成される。
【００１９】
この制御プログラム作成装置では、コピー元プログラムの一部分がコピー対象として指定され、コピー対象が貼付先プログラム内に付加される。その際、コピー対象内で用いられているデバイス指定に割り当てられているユニットと、貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されているユニットとが、メモリ領域の割り当て情報に基づいて比較され、この比較結果に基づいてコピー対象内で用いられているデバイス指定が変更可能にされる。この様な構成により、コピー対象を貼付先プログラムに付加する際には、デバイス指定に割り当てられているユニットがコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、メモリ領域の割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切にメモリ領域の割り当てを変更することができる。従って、コピー対象の付加後に貼付先プログラム上でコピー対象を再度指定してメモリ領域の割り当てを変更するのに比べて、操作性を向上させることができる。
【００２０】
また、コピー対象を貼付先プログラム内に付加する際に表示されるダイアログ画面上で、コピー対象内のデバイス指定に割り当てられている各ユニットについて、アドレス割り当てを同時に指定変更することができるので、操作性を向上させることができる。
【００２１】
さらに、ダイアログ画面上で指定されたメモリ領域の割り当て情報に基づいて貼付先プログラムのデバイス指定が自動的に変更されるので、ユニットの追加によって生じるメモリアドレスの衝突を防止することができる。
【００２２】
また、この制御プログラム作成装置では、コピー元プログラムの一部分がコピー対象として指定され、コピー対象が貼付先プログラム内に付加される。その際、コピー対象内で用いられているデバイス指定に割り当てられている変数名と、貼付先プログラムに関連付けられた変数割り当て情報によって規定されている変数名とが変数の割り当て情報に基づいて比較され、この比較結果に基づいてコピー対象内で用いられているデバイス指定が変更される。この様な構成により、コピー対象を貼付先プログラムに付加する際には、デバイス指定に使用されている変数がコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、変数の割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切に変数の割り当てを変更することができる。従って、コピー対象の付加後に貼付先プログラム上でコピー対象を再度指定して変数の割り当てを変更するのに比べて、操作性を向上させることができる。さらに、コピー対象を貼付先プログラム内に付加する際に表示される変数割り当て変更ダイアログ画面上で、コピー対象内のデバイス指定に使用されている各変数について、変数割り当てを同時に指定変更することができるので、操作性を向上させることができる。
【００２３】
第２の本発明による制御プログラム作成装置は、上記構成に加え、上記ダイアログ表示手段が、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラム内で用いられている上記デバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると上記比較手段が判断した場合、当該変数についてメモリアドレスを指定させるアドレス変更ダイアログ画面を表示し、上記コピー対象付加手段が、上記アドレス変更ダイアログ画面上で指定されたメモリアドレスに基づいて、上記コピー対象内で用いられているデバイス指定を変更するように構成される。
【００２４】
第３の本発明による制御プログラム作成装置は、上記構成に加え、上記ダイアログ表示手段が、上記コピー対象付加手段が上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて上記コピー対象内で用いられているデバイス指定を変更した際、変更後の上記コピー対象のデバイス指定に割り当てられている変数の中に上記貼付先プログラムのデバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると、上記アドレス変更ダイアログ画面を表示するように構成される。
【００２５】
第４の本発明による制御プログラム作成装置は、上記構成に加え、上記ダイアログ表示手段が、上記貼付先プログラムに関連付けられた上記変数割り当て情報によって規定されている変数とは変数割り当ての異なる各変数を上記変数割り当て変更ダイアログ画面上に一覧表示するように構成される。
【００２６】
第５の本発明による制御プログラム作成装置は、上記構成に加え、上記ダイアログ表示手段が、上記変数比較手段による比較結果を示すメッセージを変数に対応付けて上記変数割り当て変更ダイアログ画面上に表示するように構成される。
【００２７】
第６の本発明による編集プログラムは、ＣＰＵユニット及びこのＣＰＵユニット内のメモリ領域が割り当てられた拡張ユニットにより構成されるＰＬＣシステムの動作を規定するプログラムであって、上記拡張ユニットのデバイスを上記メモリ領域のアドレスによって指定するデバイス指定を用いて記述されると共に、上記デバイス指定に変数を使用可能な制御プログラムを作成する制御プログラム作成装置において実行される編集プログラムであって、２以上の上記制御プログラムを記憶するプログラム記憶手順と、上記拡張ユニットを識別する拡張ユニット名及び上記メモリ領域のアドレスを用いて、上記拡張ユニットに対する上記メモリ領域の割り当て情報を上記制御プログラムに関連付けて記憶するシステム構成記憶手順と、上記メモリ領域のアドレスに対する変数の割り当て情報を、変数を識別する変数名及び上記メモリ領域のアドレスを用いて、上記制御プログラムに関連付けて記憶可能な変数割り当て記憶手順と、ユーザ操作に基づいて、上記制御プログラムの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定するコピー対象指定手順と、ユーザ操作に基づいて、他の制御プログラムを貼付先プログラムとして指定する貼付先指定手順と、上記コピー対象内で用いられている上記デバイス指定に割り当てられている拡張ユニット名又は変数名と、上記貼付先プログラムに関連付けられた上記メモリ領域の割り当て情報によって規定されている拡張ユニット名、又は、上記貼付先プログラムに関連付けられた上記変数の割り当て情報によって規定されている変数名とを上記メモリ領域の割り当て情報又は上記変数の割り当て情報に基づいて比較する比較手順と、当該比較手順により、上記拡張ユニット名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている拡張ユニットの中に上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットが存在すると判断した場合、上記貼付先プログラムに関連付けられたメモリ領域の割り当て情報によって規定されている拡張ユニットを表示して、当該拡張ユニットに対する上記メモリ領域を指定させるダイアログ画面を表示するダイアログ表示手順と、上記ダイアログ画面上で指定されたメモリ領域に基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するコピー対象付加手順とを備え、上記ダイアログ表示手順は、上記比較手順が、上記変数名を用いて、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラムに関連付けられた変数割り当て情報によって規定されている変数とは変数割り当ての異なる変数が存在すると判断した場合、当該変数について変数割り当てを指定させる変数割り当て変更ダイアログ画面を表示し、上記コピー対象付加手順は、上記変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて、上記コピー対象内で用いられているデバイス指定を変更し、変更後の上記コピー対象を上記貼付先プログラム内に付加するように構成される。
【００２８】
第７の本発明による制御プログラム作成装置は、上記構成に加え、上記ダイアログ表示手順が、上記コピー対象内で用いられているデバイス指定に割り当てられている変数の中に上記貼付先プログラム内で用いられている上記デバイス指定に使用されているメモリアドレスと同じメモリアドレスの変数が存在すると上記比較手順が判断した場合、当該変数についてメモリアドレスを指定させるアドレス変更ダイアログ画面を表示し、上記コピー対象付加手順が、上記アドレス変更ダイアログ画面上で指定されたメモリアドレスに基づいて、上記コピー対象内で用いられているデバイス指定を変更するように構成される。
【発明の効果】
【００３３】
本発明による制御プログラム作成装置及び編集プログラムによれば、コピー対象を貼付先プログラムに付加する際には、デバイス指定に割り当てられているユニットがコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、メモリ領域の割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切にメモリ領域の割り当てを変更することができる。また、デバイス指定に使用されている変数がコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、変数の割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切に変数の割り当てを変更することができる。従って、コピー元プログラムの一部分をコピー対象として貼付先プログラム内に付加する際に、メモリアドレスの割り当てや変数割り当てに衝突が生じるのを防止することができ、制御プログラムを流用する際の操作性を向上させることができる。
【発明を実施するための最良の形態】
【００３４】
実施の形態１．
図１は、本発明の実施の形態１による制御プログラム作成装置１００を含む制御システムの概略構成の一例を示した斜視図である。この制御システムは、ＣＰＵユニット１０及び拡張ユニット１１〜１３により構成されるＰＬＣシステム１と、ＰＬＣシステム１の動作を規定する制御プログラム２ａ及びシステム構成情報２ｂを作成する制御プログラム作成装置１００からなる。ＰＬＣシステム１は、例えば、工場内に配置され、製造ラインに関する各種制御に使用される。
【００３５】
ＣＰＵユニット１０は、入出力機器５及び拡張ユニット１１〜１３の制御を行う制御装置であり、プログラム情報記憶部２、ＣＰＵ３及び状態データ記憶部４が設けられている。入出力機器５は、駆動装置、インジケータなどの出力装置、又は、センサー、スイッチ、カウンタなどの入力装置からなる。
【００３６】
拡張ユニット１１〜１３は、ＣＰＵユニット１０に対して着脱可能な付加ユニットである。ここでは、温度調節ユニット１１、入出力ユニット１２、ネットワーク接続ユニット１３が拡張ユニットとしてＣＰＵユニット１０に接続されているものとする。また、各ユニット１１〜１３は、この順序でＣＰＵユニット１０に連結されているものとする。
【００３７】
温度調節ユニット１１は、温度センサー６からの検出データに基づいてヒーター７を制御し、温度管理を行うための拡張ユニットである。入出力ユニット１２は、複数の入出力機器の接続可能な端子台を有する拡張ユニットである。ネットワーク接続ユニット１３は、ＬＡＮなどの通信ネットワーク８に接続するための拡張ユニットである。
【００３８】
ＣＰＵユニット１０は、各拡張ユニット１１〜１３が接続されていなくても機能するユニットであるのに対し、拡張ユニット１１〜１３は、単体では機能せず、ＣＰＵユニット１０に接続させた状態で使用されるユニットとなっている。
【００３９】
プログラム情報記憶部２は、制御プログラム作成装置１００から転送された制御プログラム２ａ及びシステム構成情報２ｂを書き換え可能に記憶するメモリである。制御プログラム２ａは、ＰＬＣシステム１の動作を規定するプログラムであり、デバイス指定を用いて記述される。ここでいうデバイスとは、各ユニット１０〜１３に接続される入出力装置、又は、各ユニット１０〜１３が備える特定の機能のことであり、デバイス指定は、各ユニット１０〜１３が規定するデバイスを状態データ記憶部４内のメモリ領域のアドレスによって指定するプログラムデータである。
【００４０】
システム構成情報２ｂは、各ユニット１０〜１３に対するメモリ領域の割り当て情報であり、状態データ記憶部４内のメモリ領域を示すアドレス情報がユニットごとに指定されている。
【００４１】
ＣＰＵ３は、プログラム情報記憶部２内に格納されている制御プログラム２ａに基づいて動作し、システム構成情報２ｂに基づいて状態データ記憶部４に対する状態データの読み書きを行う制御回路である。ここでいう状態データは、デバイスへの出力データ、デバイスからの入力データ、又は、デバイスの制御データのことである。
【００４２】
状態データ記憶部４は、メモリアドレスで指定される領域内に状態データを書き換え可能に記憶するメモリであり、ＣＰＵ３がシステム構成情報２ｂに基づいて各ユニットについて割り当てたメモリ領域４ａ〜４ｄからなる。
【００４３】
ここでは、メモリ領域４ａが「ユニット０」としてＣＰＵユニット１０に割り当てられた領域であるものとする。このメモリ領域４ａ内にＣＰＵユニット１０に関する状態データが格納される。また、メモリ領域４ｂが「ユニット１」として温度調節ユニット１１に割り当てられた領域であるものとする。このメモリ領域４ｂ内に温度調節ユニット１１に関する状態データが格納される。また、メモリ領域４ｃが「ユニット２」として入出力ユニット１２に割り当てられた領域であるものとする。このメモリ領域４ｃ内に入出力ユニット１２に関する状態データが格納される。また、メモリ領域４ｄが「ユニット３」としてネットワーク接続ユニット１３に割り当てられた領域であるものとする。このメモリ領域４ｄ内にネットワーク接続ユニット１３に関する状態データが格納される。
【００４４】
ＣＰＵユニット１０は、この様なメモリ領域４ｂ〜４ｄを割り当てた各ユニット１１〜１３に対し、メモリアドレスにより指定されるメモリ領域内の状態データを変化させることで、各ユニット１１〜１３の制御を行っている。
【００４５】
制御プログラム作成装置１００は、制御プログラム２ａを生成するプログラム生成装置であり、ユーザ操作に基づいて制御プログラムを作成編集する機能を備えている。ここでは、制御プログラム作成装置１００がディスプレイ１００ａ及び操作入力部１００ｂを有するパーソナルコンピュータなどの情報処理端末により提供されるものとする。
【００４６】
なお、この様な制御プログラム作成装置１００は、情報処理端末上で編集プログラムを実行することにより実現することができる。この様な編集プログラムは、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体を介して提供され、或いは、情報処理端末とともに提供されるものとする。
【００４７】
図２は、図１の制御システムの要部における構成例を示したブロック図であり、制御プログラム作成装置１００内の機能構成が示されている。この制御プログラム作成装置１００は、ディスプレイ１００ａ及び操作入力部１００ｂの他に、プロジェクト記憶部２１、コピー対象指定部２２、貼付先指定部２３、ユニット比較部２４、ダイアログ表示部２５及びコピー対象付加部２６により構成される。
【００４８】
プロジェクト記憶部２１は、ＰＬＣ用に作成された複数の制御プログラム２１ａを書き換え可能に記憶するとともに、ＣＰＵユニット及び拡張ユニットに対するメモリ領域の割り当て情報をシステム構成情報２１ｂとして制御プログラムに関連付けて記憶するメモリである。ＰＬＣシステムごとの制御プログラム２１ａ及びシステム構成情報２１ｂは、通常、プロジェクトと呼ばれ、制御プログラム２１ａやシステム構成情報２１ｂを作成編集する際には、プロジェクト単位で編集画面の表示が行われる。
【００４９】
コピー対象指定部２２は、ユーザ操作に基づいて、プロジェクト記憶部２１内の制御プログラム２１ａの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定する処理を行っている。ここでは、各制御プログラム２１ａの中からユーザが選択指定したコピー元プログラムが編集画面上に表示され、この編集画面上でコピー対象が指定されるものとする。
【００５０】
貼付先指定部２３は、ユーザ操作に基づいて、プロジェクト記憶部２１内の制御プログラム２１ａの１つを貼付先プログラムとして指定する処理を行っている。ここでは、各制御プログラム２１ａの中からユーザが選択指定した貼付先プログラムが編集画面上に表示され、この編集画面上でコピー対象の貼付位置が指定されるものとする。
【００５１】
ユニット比較部２４は、コピー対象内で用いられているデバイス指定に割り当てられているユニット、及び、貼付先プログラムに関連付けられたシステム構成情報２１ｂによって規定されているユニットをシステム構成情報２１ｂに基づいて比較する処理を行っている。
【００５２】
ダイアログ表示部２５は、ユニット比較部２４による比較結果に基づいて、ディスプレイ１００ａ上にダイアログ画面を表示する処理を行っている。具体的には、コピー対象内で用いられているデバイス指定に割り当てられているユニットの中に貼付先プログラムのシステム構成情報２１ｂで規定されていないユニットが存在しなかった場合、コピー対象内で用いられているデバイス指定に割り当てられているユニットについて、メモリ領域を指定させる第１のダイアログ画面（ここでは、アドレス変更ダイアログ画面と呼ぶことにする）を表示させる。つまり、アドレス変更ダイアログ画面は、コピー対象内のデバイス指定に割り当てられている各ユニット（ＣＰＵユニット及び拡張ユニット）がいずれも貼付先プログラム内のデバイス指定に割り当てられていた場合に表示されるダイアログ画面である。
【００５３】
一般に、コピー対象内のデバイス指定に割り当てられた各ユニットが全て貼付先プログラム内に存在しても、各ユニットに対するメモリ領域の割り当てが異なる場合が少なくない。アドレス変更ダイアログ画面は、この様なメモリ領域の割り当てが貼付先とは異なるユニットについて、メモリ領域の割り当てをユーザに変更させるための画面表示となっている。
【００５４】
一方、コピー対象内で用いられているデバイス指定に割り当てられているユニットの中に貼付先プログラムのシステム構成情報２１ｂで規定されていないユニットが存在した場合には、当該ユニットを貼付先プログラムに関連付けられているシステム構成情報２１ｂに追加させるとともに、当該ユニットについてメモリ領域を指定させる第２のダイアログ画面（ここでは、システム構成変更ダイアログ画面と呼ぶことにする）を表示させる。
【００５５】
コピー対象付加部２６は、ユニット比較部２４による比較結果に基づいて、コピー対象内で用いられているデバイス指定を変更可能にし、変更後のコピー対象を貼付先プログラム内に付加する処理を行っている。
【００５６】
具体的には、コピー対象内の各デバイス指定に割り当てられているユニットの中に貼付先プログラムのシステム構成情報２１ｂで規定されていないユニットが存在しなかった場合、アドレス変更ダイアログ画面上で指定されたメモリ領域に基づいて、コピー対象内の各デバイス指定を変更させる。コピー対象は、デバイス指定の変更処理後に貼付先プログラム内に付加される。
【００５７】
一方、コピー対象内の各デバイス指定に割り当てられているユニットの中に貼付先プログラムのシステム構成情報２１ｂで規定されていないユニットが存在した場合には、システム構成変更ダイアログ画面上で指定されたメモリ領域に基づいて、コピー対象内の各デバイス指定を変更させる。この場合、システム構成変更ダイアログ画面上で指定されたメモリ領域と、貼付先プログラムに関連付けられたシステム構成情報２１ｂに基づいて、当該貼付先プログラム内のデバイス指定を変更させる。このデバイス指定の変更処理後の貼付先プログラム内にコピー対象が付加される。
【００５８】
ここでは、コピー対象を付加した際、貼付先のシステム構成情報２１ｂがシステム構成変更ダイアログ画面上で指定されたメモリ領域に応じて書き換えられ、コピー対象付加後の貼付先プログラムと、メモリ領域書き換え後のシステム構成情報２１ｂが編集結果として出力されるものとする。
【００５９】
また、コピー対象は、編集画面上で指定された貼付先プログラム内の貼付位置に挿入されるものとする。すなわち、コピー対象は、貼付位置にプログラムが存在しなければ、そのまま貼り付けられ、貼付位置にプログラムが既に存在すれば、当該プログラムを後段にずらして貼り付けられる。なお、コピー対象を貼付位置に挿入させるのに代えて、上書きさせても良い。コピー対象の上書きでは、貼付位置にプログラムが存在すると、当該プログラムはコピー対象に置き換えられる。
【００６０】
図３は、図２の制御プログラム作成装置１００における動作の一例を示した図であり、貼付先プログラムの編集画面３２及びコピー元プログラムの編集画面３３の表示画面３１が示されている。この表示画面３１は、ディスプレイ１００ａ上の画面である。編集画面３２及び３３は、いずれもプロジェクトの編集用の画面表示であり、プロジェクトごとに表示画面３１上に表示される。
【００６１】
編集画面３２は、コピー対象の貼付先として指定された制御プログラム２１ａの編集画面であり、貼付先プログラムの一部分が編集対象として表示されている。編集画面３３は、コピー元として指定された制御プログラム２１ａの編集画面であり、コピー元プログラムの一部分が編集対象として表示されている。この例では、編集対象の制御プログラム２１ａがラダー形式で表示されている。ラダー形式による制御プログラム２１ａの表示では、デバイス指定がメモリアドレスの付加されたシンボルにより表される。
【００６２】
コピー元プログラムの一部分をコピー対象Ｃ１として指定して貼付先プログラム内に挿入させる場合、コピー対象Ｃ１内のデバイス指定（ここでは、スイッチ）に割り当てられているユニットが貼付先プログラム内のデバイス指定に割り当てられていても、当該ユニットに対するメモリ領域の割り当てが異なる場合が生じる。
【００６３】
例えば、コピー元のユニット「ＫＶ−Ｃ３２Ｘ」に割り当てられているデバイス指定（メモリアドレスは「Ｒ３０２００」）がコピー対象Ｃ１として指定され、このコピー対象Ｃ１を貼付先プログラム内の所定位置に挿入させる場合、貼付先ではユニット「ＫＶ−Ｃ３２Ｘ」にメモリアドレス「Ｒ３０１００」で始まるメモリ領域が割り当てられているとすれば、メモリ領域の割り当てがコピー対象Ｃ１と貼付先とで異なることとなる。
【００６４】
このため、コピー対象Ｃ１をそのまま貼付先プログラム内に挿入すると、メモリアドレスの割り当てに不整合が生じることとなる。本実施の形態では、この様な場合、コピー対象Ｃ１を挿入させるのに先立ってアドレス変更ダイアログ画面が表示され、ユーザに対してユニット「ＫＶ−Ｃ３２Ｘ」についてのメモリアドレスの変更を促すように構成されている。ここで、「ＫＶ−Ｃ３２Ｘ」は、ユニットの識別情報（例えば、ユニット名）であるものとする。
【００６５】
図４は、図２の制御プログラム作成装置１００における動作の一例を示した図であり、アドレス変更ダイアログ画面３４ａが示されている。このアドレス変更ダイアログ画面３４ａは、コピー対象Ｃ１の貼付位置を指定するユーザ操作に基づいて表示画面３１上に表示される。
【００６６】
アドレス変更ダイアログ画面３４ａには、コピー対象Ｃ１について、コピー元のアドレス割り当てが表示されるとともに、貼付後のアドレス割り当てを指定するための入力ボックスが配置されている。コピー元のアドレス割り当て及び貼付後のアドレス割り当ての入力ボックスは、コピー対象Ｃ１内の各デバイス指定に割り当てられているユニットごとに表示される。
【００６７】
この様なアドレス変更ダイアログ画面３４ａ上でユニットに割り当てるメモリ領域を変更することにより、メモリアドレスの割り当てに不整合が生じるのを防止することができる。具体的には、ユニット「ＫＶ−Ｃ３２Ｘ」に対するメモリ領域の指定を「Ｒ３０２００」から「Ｒ３０１００」に変更すれば、メモリアドレスの割り当てにおける不整合を解消することができる。
【００６８】
ここでは、ダイアログ画面３４ａ内の「ＯＫ」ボタン３５を操作することにより、コピー対象Ｃ１内の各デバイス指定について、ダイアログ画面３４ａ上で指定されたアドレス割り当てに基づくメモリアドレスの変更処理が実行されるものとする。また、ダイアログ画面３４ａ内の「クローズ」ボタン３６を操作すれば、貼付位置が指定される前の状態に戻るものとする。
【００６９】
図５は、図２の制御プログラム作成装置１００における動作の一例を示した図であり、システム構成変更ダイアログ画面３４ｂが示されている。このシステム構成変更ダイアログ画面３４ｂは、コピー対象Ｃ１内のデバイス指定に割り当てられているユニットが貼付先プログラム内のデバイス指定に割り当てられていなかった場合に、コピー対象Ｃ１の貼付位置を指定するユーザ操作に基づいて表示画面３１上に表示される。
【００７０】
システム構成変更ダイアログ画面３４ｂには、貼付先プログラムに関連付けられているシステム構成情報２１ｂが一覧表示されている。この例では、ＣＰＵユニットとして「０．ＫＶ−１０００」が表示され、拡張ユニットとして、「１．ＫＶ−Ｂ１６Ｔ」、「２．ＫＶ−Ｈ２０Ｇ」が表示されている。拡張ユニット「１．ＫＶ−Ｂ１６Ｔ」には、メモリアドレス「Ｒ３００００」で始まるメモリ領域が指定され、拡張ユニット「２．ＫＶ−Ｈ２０Ｇ」には、メモリアドレス「Ｒ３０１００」で始まるメモリ領域と、メモリアドレス「ＤＭ１００００」が指定されている。
【００７１】
この様なシステム構成変更ダイアログ画面３４ｂ上で各ユニットに対するメモリ領域の割り当てを変更することにより、メモリアドレスの割り当てに不整合が生じるのを防止することができる。例えば、コピー元のユニット「２．ＫＶ−Ｃ３２Ｘ」に割り当てられているデバイス指定（メモリアドレスは「Ｒ３０２００」）がコピー対象Ｃ１として指定され、このコピー対象Ｃ１を貼付先プログラム内の所定位置に付加させる場合、貼付先には当該ユニット「２．ＫＶ−Ｃ３２Ｘ」は存在しない。このため、コピー対象Ｃ１をそのまま貼付先プログラム内に挿入すると、上記デバイス指定には他のユニット「２．ＫＶ−Ｈ２０Ｇ」が割り当てられることとなる。
【００７２】
本実施の形態では、この様な場合、コピー対象Ｃ１を挿入させるのに先立ってシステム構成変更ダイアログ画面３４ｂが表示され、ユーザに対してユニット「ＫＶ−Ｃ３２Ｘ」を貼付先のシステム構成情報に追加してメモリアドレスの変更を促すように構成されている。
【００７３】
例えば、ユニット「ＫＶ−Ｃ３２Ｘ」をユニット「１．ＫＶ−Ｂ１６Ｔ」及びユニット「２．ＫＶ−Ｈ２０Ｇ」間に挿入し、貼付先のシステム構成を、「０．ＫＶ−１０００」、「１．ＫＶ−Ｂ１６Ｔ」、「２．ＫＶ−Ｃ３２Ｘ」、「３．ＫＶ−Ｈ２０Ｇ」に変更させることが考えられる。その際、ユニット「２．ＫＶ−Ｃ３２Ｘ」には、アドレス「Ｒ３０１００」で始まるメモリ領域が指定され、ユニット「３．ＫＶ−Ｈ２０Ｇ」には、アドレス「Ｒ３０４００」で始まるメモリ領域が指定される。
【００７４】
ここでは、この様な各ユニットに対するメモリ領域の再割り当ては、システム構成変更ダイアログ画面３４ｂ上でシステム構成を変更することにより、自動的に行われるものとする。
【００７５】
システム構成を変更した後、ダイアログ画面３４ｂ内の「ＯＫ」ボタン３５を操作すれば、コピー対象Ｃ１内の各デバイス指定について、ダイアログ画面３４ｂ上で指定されたアドレス割り当てに基づくメモリアドレスの変更処理が実行される。具体的には、貼付先プログラムについて、ユニット「ＫＶ−Ｈ２０Ｇ」に割り当てられていた各デバイス指定のメモリアドレスがアドレス「Ｒ３０１００」からアドレス「Ｒ３０４００」に置き換えられる。また、コピー対象について、ユニット「ＫＶ−Ｃ３２Ｘ」に割り当てられていた各デバイス指定のメモリアドレスがアドレス「Ｒ３０２００」からアドレス「Ｒ３０１００」に置き換えられる。この様なメモリアドレスの変更処理の後に、コピー対象Ｃ１が貼付先プログラム内に挿入される。
【００７６】
なお、ダイアログ画面３４ｂ内の「クローズ」ボタン３６を操作すれば、貼付位置が指定される前の状態に戻る。コピー対象Ｃ１を貼付先プログラム内に付加する際に、この様なダイアログ画面を表示させることにより、コピー対象Ｃ１内のデバイス指定に割り当てられている各ユニットについて、画面を切り替えさせることなく、メモリ領域の割り当てを同時に指定変更することができるので、操作性を向上させることができる。
【００７７】
図６のステップＳ１０１〜Ｓ１１１は、図２の制御プログラム作成装置１００における動作の一例を示したフローチャートである。まず、ユニット比較部２４は、コピー対象指定部２２によりコピー元プログラムが選択され、コピー対象が指定されれば、コピー対象内で用いられているデバイス指定を抽出する（ステップＳ１０１，Ｓ１０２）。このとき、各デバイス指定に割り当てられているユニットが、コピー元プログラムのシステム構成情報２１ｂに基づいて判別され、当該ユニットの識別情報が登録される（ステップＳ１０３，Ｓ１０４）。
【００７８】
次に、ユニット比較部２４は、貼付先指定部２３により貼付先プログラムが指定されれば、貼付先プログラムに関連付けられているシステム構成情報２１ｂをプロジェクト記憶部２１内から読み出してＰＬＣシステムを構成するユニットの比較を行う（ステップＳ１０５，Ｓ１０６）。このとき、ダイアログ表示部２５は、コピー対象内で指定されている各デバイス指定に割り当てられているユニットが全て貼付先に存在すれば、アドレス変更ダイアログ画面を表示する（ステップＳ１０７，Ｓ１１１）。
【００７９】
一方、コピー対象内で指定されている各デバイス指定に割り当てられているユニットの中に貼付先に存在しないものがあれば、システム構成変更ダイアログ画面が表示される（ステップＳ１０８）。次に、コピー対象付加部２６は、ダイアログ画面上で指定されたアドレス情報に基づいて、各デバイス指定に割り当てられているメモリアドレスを置換変更し、アドレス変更後にコピー対象を貼付先プログラム内に付加する（ステップＳ１０９，Ｓ１１０）。
【００８０】
本実施の形態によれば、コピー対象を貼付先プログラムに付加する際には、デバイス指定に割り当てられているユニットがコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、メモリ領域の割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切にメモリ領域の割り当てを変更することができる。特に、アドレス変更ダイアログ画面上で指定されたメモリ領域の割り当て情報に基づいて貼付先プログラムのデバイス指定が自動的に変更されるので、ユニットの追加によって生じるメモリアドレスの衝突を防止することができる。従って、コピー元の制御プログラムの一部分をコピー対象として貼付先の制御プログラム内に付加する際、メモリアドレスの割り当てに衝突が生じるのを防止することができ、制御プログラムを流用する際の操作性を向上させることができる。
【００８１】
実施の形態２．
実施の形態１では、コピー対象内の各デバイス指定に割り当てられているユニットと、貼付先プログラムのシステム構成情報で規定されているユニットが比較され、この比較結果に基づいてコピー対象内の各デバイス指定が変更される場合の例について説明した。これに対し、本実施の形態では、コピー対象内の各デバイス指定に割り当てられている変数と、貼付先プログラムの変数割り当て情報で規定されている変数が比較され、この比較結果に基づいてコピー対象内の各デバイス指定を変更する場合について説明する。
【００８２】
図７は、本発明の実施の形態２による制御プログラム作成装置２００の構成例を示したブロック図である。この制御プログラム作成装置２００は、ディスプレイ１００ａ及び操作入力部１００ｂの他に、プロジェクト記憶部２１０、コピー対象指定部２２、貼付先指定部２３、変数判別部２２０、ダイアログ表示部２３０及びコピー対象付加部２４０により構成される。
【００８３】
プロジェクト記憶部２１０は、ＰＬＣ用に作成された複数の制御プログラム２１０ａを書き換え可能に記憶するとともに、システム構成情報２１０ｂ及び変数割り当て情報２１０ｃを制御プログラムに関連付けて記憶するメモリである。変数割り当て情報２１０ｃは、メモリアドレスに割り当てられている変数の割り当て情報である。
【００８４】
コピー対象指定部２２は、ユーザ操作に基づいて、プロジェクト記憶部２１０内の制御プログラム２１０ａの１つをコピー元プログラムとして選択し、当該コピー元プログラムの一部分をコピー対象として指定する処理を行っている。
【００８５】
貼付先指定部２３は、ユーザ操作に基づいて、プロジェクト記憶部２１０内の制御プログラム２１０ａの１つを貼付先プログラムとして指定する処理を行っている。
【００８６】
変数判別部２２０は、コピー対象内で用いられているデバイス指定に割り当てられている変数と、貼付先プログラムに関連付けられた変数割り当て情報２１０ｃによって規定されている変数とを比較し、変数割り当ての異なる変数が存在するか否かを判別する処理を行っている。この変数の判別処理は、変数割り当て情報２１０ｃに基づいて行われ、判別結果はダイアログ表示部２３０へ出力される。
【００８７】
ダイアログ表示部２３０は、変数判別部２２０による判別結果に基づいて、ディスプレイ１００ａ上にダイアログ画面を表示する処理を行っている。具体的には、コピー対象内で用いられているデバイス指定に割り当てられている変数の中に、貼付先プログラムの変数割り当て情報２１０ｃで規定されている変数とは変数割り当ての異なる変数が存在した場合、当該変数について変数割り当てを指定させる変数割り当て変更ダイアログ画面を表示させる。
【００８８】
また、コピー対象内で用いられているデバイス指定に割り当てられている変数の中に、貼付先プログラム内のデバイス指定に対応付けられているメモリアドレスと同じメモリアドレスの変数が存在した場合、当該変数についてメモリアドレスを指定させるアドレス変更ダイアログ画面を表示させる。
【００８９】
ここでは、コピー対象付加部２４０が、変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいてコピー対象内の各デバイス指定を変更した際に、デバイス指定変更後のコピー対象の各デバイス指定に割り当てられている変数の中に、貼付先プログラムのデバイス指定に対応付けられているメモリアドレスと同じメモリアドレスの変数が存在すると、アドレス変更ダイアログ画面が表示されるものとする。
【００９０】
コピー対象付加部２４０は、変数判別部２２０による判別結果に基づいて、コピー対象内で用いられているデバイス指定を変更し、変更後のコピー対象を貼付先プログラム内に付加する処理を行っている。
【００９１】
具体的には、コピー対象内の各デバイス指定に割り当てられている変数の中に、貼付先プログラム内の各デバイス指定とは変数割り当ての異なる変数が存在した場合、変数割り当て変更ダイアログ画面上で指定された変数割り当てに基づいて、コピー対象内の各デバイス指定を変更させる。
【００９２】
また、コピー対象内で用いられている各デバイス指定に割り当てられている変数の中に、貼付先プログラム内の各デバイス指定に対応付けられているメモリアドレスと同じメモリアドレスの変数が存在した場合、アドレス変更ダイアログ画面上で指定されたメモリアドレスに基づいて、コピー対象内の各デバイスに対応付けられているメモリアドレスを変更させる。コピー対象は、この様な変数割り当ての変更処理後に、貼付先プログラム内に付加される。
【００９３】
ここでは、コピー対象を付加した際、貼付先の変数割り当て情報２１０ｃが変数割り当て変更ダイアログ画面及びアドレス変更ダイアログ画面上で指定された変数割り当てに応じて書き換えられ、コピー対象付加後の貼付先プログラムと、変数割り当て書き換え後の変数割り当て情報２１０ｃが編集結果として出力されるものとする。
【００９４】
図８（ａ）及び（ｂ）は、図７の制御プログラム作成装置２００における動作の一例を示した図であり、図８（ａ）には、貼付先プログラムの編集画面２３１が示され、図８（ｂ）には、コピー元プログラムの編集画面２３３が示されている。編集画面２３１は、コピー対象の貼付先として指定された制御プログラム２１０ａの編集画面であり、貼付先プログラムの一部分が編集対象として表示されている。この例では、編集画面２３１上に、貼付先プログラムに関連付けられている変数割り当て情報を編集させるラベル編集ウィンドウ２３２が表示されている。
【００９５】
ここでは、貼付先プログラムにおける変数割り当てとして、変数（ラベル名）「ａａａ」がメモリアドレス「Ｒ０００００」に割り当てられ、変数「ｂｂｂ」がアドレス「Ｒ００００１」に割り当てられ、変数「ｃｃｃ」がアドレス「Ｒ００００２」に割り当てられているものとする。
【００９６】
編集画面２３３は、コピー元として指定された制御プログラム２１０ａの編集画面であり、コピー元プログラムの一部分が編集対象として表示されている。この例では、編集画面２３３上に、コピー元プログラムに関連付けられている変数割り当て情報を編集させるラベル編集ウィンドウ２３４が表示されている。
【００９７】
ここでは、コピー元プログラムにおける変数割り当てとして、変数「ａａａ」がメモリアドレス「Ｒ０００００」に割り当てられ、変数「ｂｂｂ」がアドレス「Ｒ０００１０」に割り当てられ、変数「ｃｃｃ」がアドレス「Ｒ０００１５」に割り当てられ、変数「ｄｄｄ」がアドレス「Ｒ００００２」に割り当てられているものとする。この様な変数割り当てが指定されたコピー元プログラムの一部分をコピー対象Ｃ２として指定して貼付先プログラム内に付加させる場合、コピー対象Ｃ２内のデバイス指定によっては変数割り当てに衝突が生じる。
【００９８】
本実施の形態では、コピー対象Ｃ２を付加させるのに先立って変数割り当て変更ダイアログ画面が表示され、ユーザに対して変数割り当ての変更を促すように構成されている。
【００９９】
図９は、図７の制御プログラム作成装置２００における動作の一例を示した遷移図であり、変数割り当て変更ダイアログ画面２５１ａ〜２５１ｃが示されている。変数割り当て変更ダイアログ画面２５１ａは、コピー対象Ｃ２の貼付位置を指定するユーザ操作に基づいてディスプレイ１００ａ上に表示される。
【０１００】
変数割り当て変更ダイアログ画面２５１ａには、コピー対象Ｃ２内の各デバイス指定に割り当てられている変数のアドレス割り当て及びガイダンスが表示される。このガイダンスは、変数判別部２２０による判別結果を示すメッセージであり、各変数に対応付けて表示される。ここでは、変数ごとのアドレス割り当て及びガイダンスが、変数割り当て変更ダイアログ画面２５１ａ上に一覧表示されるものとする。
【０１０１】
この変数割り当て変更ダイアログ画面２５１ａでは、コピー対象Ｃ２内の各デバイス指定に割り当てられている変数のうち、貼付先プログラム内の各デバイス指定とはメモリアドレスの割り当ての異なる変数について、フォーカシングＥ１されている。例えば、この様な変数のアドレス割り当てが反転表示され、或いは、背景色を異ならせて表示される。
【０１０２】
具体的には、変数「ｂｂｂ」、「ｃｃｃ」、「ｄｄｄ」についてフォーカシングＥ１され、ガイダンスが表示されている。すなわち、変数「ｂｂｂ」及び「ｃｃｃ」には、ガイダンス「貼付先に同じラベル名が登録されています。」が表示され、変数「ｄｄｄ」には、ガイダンス「貼付先に同じアドレスが登録されています。」が表示されている。
【０１０３】
この様な変数割り当て変更ダイアログ画面２５１ａ上で各アドレスに割り当てる変数を変更することにより、変数割り当てに衝突が生じるのを防止することができる。例えば、アドレス「Ｒ０００１０」に割り当てる変数を「ｂｂｂ」から「ｘｘｘ」に変更し、アドレス「Ｒ０００１５」に割り当てる変数を「ｃｃｃ」から「ｔｔｔ」に変更し、更に、変数「ｄｄｄ」が割り当てられるアドレスを「Ｒ００００２」から「Ｒ００１００」に変更すれば、変数割り当ての衝突を解消することができる。
【０１０４】
ここでは、ダイアログ画面２５１ａ内の「ＯＫ」ボタン２５２を操作することにより、コピー対象Ｃ２内の各デバイス指定について、ダイアログ画面２５１ａ上で指定された変数割り当てに基づく変数の変更処理が実行されるものとする。また、ダイアログ画面２５１ａ内の「クローズ」ボタン２５３を操作すれば、貼付位置が指定される前の状態に戻るものとする。
【０１０５】
変数割り当て変更ダイアログ画面２５１ｂは、ダイアログ画面２５１ａ上で指定された変数割り当てに基づく変数の変更処理の実行後に表示されるアドレス変更ダイアログ画面であり、コピー対象Ｃ２内の各デバイス指定に割り当てられている変数のうち、貼付先プログラム内のデバイス指定に対応付けられているメモリアドレスと同じメモリアドレスの変数がフォーカシングＥ２される。
【０１０６】
この例では、変数「ｔｔｔ」に割り当てられているアドレス「Ｒ０００１５」が貼付先プログラム内のデバイス指定に割り当てられており、ガイダンス「貼付先で使用しています。」が表示されている。そこで、例えば、変数「ｔｔｔ」が割り当てられるアドレスを「Ｒ０００１５」から「Ｒ００１１１」に変更すれば、変数割り当ての衝突を全て解消することができる。ダイアログ画面２５１ｂ内の「ＯＫ」ボタン２５２を操作すれば、コピー対象Ｃ２内の各デバイス指定について、ダイアログ画面２５１ｂ上で指定された変数割り当てに基づく変数の変更処理が実行される。
【０１０７】
変数割り当て変更ダイアログ画面２５１ｃは、ダイアログ画面２５１ｂ上で指定された変数割り当てに基づく変数の変更処理の実行後に表示されるダイアログ画面である。このダイアログ画面２５１ｃ上で「ＯＫ」ボタン２５２を操作すれば、コピー対象Ｃ２が貼付先プログラム内に付加される。
【０１０８】
コピー対象Ｃ２を貼付先プログラム内に付加する際に、この様なダイアログ画面を表示させることにより、コピー対象Ｃ２内の各デバイス指定に割り当てられている変数について、画面を切り替えさせることなく、変数割り当てを同時に指定変更することができるので、操作性を向上させることができる。
【０１０９】
図１０は、図７の制御プログラム作成装置２００における動作の一例を示した図であり、コピー対象Ｃ２を付加した後の貼付先プログラムの編集画面２６１が示されている。編集画面２６１は、コピー対象Ｃ２の貼付先として指定された制御プログラム２１０ａの編集画面であり、貼付先プログラム内にコピー対象Ｃ２が付加されている。この例では、編集画面２６１上に、貼付先プログラムに関連付けられている変数割り当て情報を編集させるラベル編集ウィンドウ２６２が表示され、コピー対象Ｃ２の付加位置がフォーカシングＣ３された状態となっている。
【０１１０】
貼付先プログラムにおける変数割り当ては、変数「ａａａ」がメモリアドレス「Ｒ０００００」に割り当てられ、変数「ｂｂｂ」がアドレス「Ｒ００００１」に割り当てられ、変数「ｃｃｃ」がアドレス「Ｒ００００２」に割り当てられている。また、変数「ｄｄｄ」がメモリアドレス「Ｒ００１００」に割り当てられ、変数「ｘｘｘ」がアドレス「Ｒ０００１０」に割り当てられ、変数「ｔｔｔ」がアドレス「Ｒ００１１１」に割り当てられている。
【０１１１】
この様に、コピー対象Ｃ２を付加した際、貼付先プログラムの変数割り当て情報２１０ｃが変数割り当て変更ダイアログ画面及びアドレス変更ダイアログ画面上で指定された変数又はメモリアドレスに応じて書き換えられる。
【０１１２】
図１１のステップＳ２０１〜Ｓ２０９は、図７の制御プログラム作成装置２００における動作の一例を示したフローチャートである。まず、変数判別部２２０は、コピー対象指定部２２によりコピー元プログラムが選択され、コピー対象が指定されれば、コピー対象内で用いられているデバイス指定を抽出する（ステップＳ２０１，Ｓ２０２）。
【０１１３】
このとき、各デバイス指定に割り当てられている変数が、コピー元プログラムの変数割り当て情報２１０ｃに基づいて判別され、コピー対象内で変数が使用されていれば、変数割り当て情報がコピー対象及び貼付先プログラム間で比較される（ステップＳ２０３，Ｓ２０４）。変数がコピー対象内で使用されていなければ、ステップＳ２０８の処理手順に移行する。
【０１１４】
次に、ダイアログ表示部２３０は、コピー対象内で用いられている各デバイス指定に割り当てられている変数について、変数割り当てが貼付先プログラムと異なる変数が存在すれば、変数割り当て変更ダイアログ画面を表示する（ステップＳ２０５，Ｓ２０６）。変数割り当てが貼付先プログラムと異なる変数が存在しなければ、ステップＳ２０８の処理手順に移行する。
【０１１５】
次に、コピー対象付加部２４０は、ダイアログ画面上で指定された変数割り当てに基づいて、各デバイス指定に使用されている変数を置換変更し（ステップＳ２０７）、変数の変更後にコピー対象を貼付先プログラム内に付加する（ステップＳ２０８）。コピー対象付加部２４０は、コピー対象の付加後、貼付先プログラムの変数割り当て情報を更新する（ステップＳ２０９）。
【０１１６】
本実施の形態によれば、デバイス指定に使用されている変数について変数割り当てがコピー対象及び貼付先プログラム間で比較され、コピー対象の付加前にデバイス指定が変更可能となるので、変数割り当てがコピー対象及び貼付先間で異なるか否かに応じて適切に変数割り当てを変更することができる。従って、コピー元の制御プログラムの一部分をコピー対象として貼付先の制御プログラム内に付加する際、変数の割り当てに衝突が生じるのを防止することができ、制御プログラムを流用する際の操作性を向上させることができる。
【０１１７】
なお、本実施の形態では、変数割り当てダイアログ画面上に、変数ごとのアドレス割り当てが一覧表示される場合の例について説明したが、本発明はこれに限られるものではない。例えば、変数割り当てを変更させるダイアログ画面を変数ごとに個別に表示させても良い。
【０１１８】
また、実施の形態１では、コピー対象内の各デバイス指定に割り当てられているユニットと、貼付先プログラムのシステム構成情報で規定されているユニットが比較され、この比較結果に基づいてコピー対象内の各デバイス指定が変更される場合の例について説明した。また、実施の形態２では、コピー対象内の各デバイス指定に使用されている変数と、貼付先プログラムの変数割り当て情報で規定されている変数が比較され、この比較結果に基づいてコピー対象内の各デバイス指定が変更される場合の例について説明した。本発明は、これらの機能の両方を備えるものであっても良い。
【０１１９】
本実施例では、ＰＬＣ本体をＰＬＣユニットとして、拡張ユニットが接続された場合には、ＰＬＣシステムとして扱ったが、当該ＰＬＣシステムの機能を単体で有するＰＬＣユニットにおいても、本発明が活用できることは言うまでもない。
【図面の簡単な説明】
【０１２０】
【図１】本発明の実施の形態１による制御プログラム作成装置１００を含む制御システムの概略構成の一例を示した斜視図である。
【図２】図１の制御システムの要部における構成例を示したブロック図であり、制御プログラム作成装置１００内の機能構成が示されている。
【図３】図２の制御プログラム作成装置１００における動作の一例を示した図であり、貼付先プログラム及びコピー元プログラムの編集画面が示されている。
【図４】図２の制御プログラム作成装置１００における動作の一例を示した図であり、アドレス変更ダイアログ画面３４ａが示されている。
【図５】図２の制御プログラム作成装置１００における動作の一例を示した図であり、システム構成変更ダイアログ画面３４ｂが示されている。
【図６】図２の制御プログラム作成装置１００における動作の一例を示したフローチャートである。
【図７】本発明の実施の形態２による制御プログラム作成装置２００の構成例を示したブロック図である。
【図８】図７の制御プログラム作成装置２００における動作の一例を示した図である。
【図９】図７の制御プログラム作成装置２００における動作の一例を示した遷移図であり、変数割り当て変更ダイアログ画面２５１ａ〜２５１ｃが示されている。
【図１０】図７の制御プログラム作成装置２００における動作の一例を示した図であり、コピー対象Ｃ２を付加した後の貼付先プログラムの編集画面２６１が示されている。
【図１１】図７の制御プログラム作成装置２００における動作の一例を示したフローチャートである。
【図１２】ＰＬＣシステム内の各ユニットに対するメモリ領域の割り当てを示すシステム構成情報の一例を示した図である。
【図１３】従来の制御プログラム作成装置における動作の一例を示した図である。
【図１４】システム構成情報の他の例を示した図である。
【図１５】メモリアドレスに対する変数の割り当て情報の一例を示した図である。
【符号の説明】
【０１２１】
１  ＰＬＣシステム
２  プログラム情報記憶部
２ａ  制御プログラム
２ｂ  システム構成情報
３  ＣＰＵ
４  状態データ記憶部
４ａ〜４ｄ  メモリ領域
１０  ＣＰＵユニット
１１〜１３  拡張ユニット
２１  プロジェクト記憶部
２１ａ  制御プログラム
２１ｂ  システム構成情報
２２  コピー対象指定部
２３  貼付先指定部
２４  ユニット比較部
２５  ダイアログ表示部
２６  コピー対象付加部
１００  制御プログラム作成装置
１００ａ  ディスプレイ
１００ｂ  操作入力部
２００  制御プログラム作成装置
２１０  プロジェクト記憶部
２１０ａ  制御プログラム
２１０ｂ  システム構成情報
２１０ｃ  変数割り当て情報
２２０  変数判別部
２３０  ダイアログ表示部
２４０  コピー対象付加部
【図１】
0004773873.tif 000002
【図２】
0004773873.tif 000003
【図３】
0004773873.tif 000004
【図４】
0004773873.tif 000005
【図５】
0004773873.tif 000006
【図６】
0004773873.tif 000007
【図７】
0004773873.tif 000008
【図８】
0004773873.tif 000009
【図９】
0004773873.tif 000010
【図１０】
0004773873.tif 000011
【図１１】
0004773873.tif 000012
【図１２】
0004773873.tif 000013
【図１３】
0004773873.tif 000014
【図１４】
0004773873.tif 000015
【図１５】
0004773873.tif 000016