(57)【要約】【課題】  オンラインエディットによるプログラム中の定数変更が発生しても、実行プログラムを変更する必要がなく、定数の変更に伴う制御停止時間が短くて済むプログラマブルコントローラ及びそのプログラミングツールを実現する。【解決手段】  プログラミングツールで編集したラダープログラムを実行するプログラマブルコントローラに関する。  プログラムの定数をデバイス番号と対応させて格納する定数記憶手段と、  前記デバイスエリアのデバイス番号を割り付けた実行プログラムを格納するプログラム記憶手段と、  前記実行プログラムのデバイス番号部分に、前記定数記憶手段に格納されている当該デバイス番号に対応する定数を逐次取り込んでプログラムを実行する制御手段と、  を有することを特徴とするプログラマブルコントローラ。【選択図】                    図１
2006276955.tif 000002
【特許請求の範囲】
【請求項１】
シーケンス命令を実行するプログラマブルコントローラにおいて、
プログラムの定数をデバイス番号と対応させて格納する定数記憶手段と、
該定数記憶手段のデバイス番号を割り付けた実行プログラムを格納するプログラム記憶手段と、
前記実行プログラムのデバイス番号部分に、前記定数記憶手段に格納されている当該デバイス番号に対応する定数を逐次取り込んでプログラムを実行する制御手段と、
を有することを特徴とするプログラマブルコントローラ。
【請求項２】
前記定数記憶手段に格納される定数及び、前記プログラム記憶手段に格納される実行プログラムは、それぞれ個別に書き換えることができることを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記定数記憶手段に格納される定数は、変更箇所のみを動作中に書き換えることができることを特徴とする請求項１又は２記載のプログラマブルコントローラ。
【請求項４】
プログラマブルコントローラで実行するラダープログラムを編集するプログラミングツールにおいて、
プログラムの定数を定義する定数定義手段と、
ラダープログラムを作成するラダープログラム作成手段と、
前記ラダープログラムを実行プログラムに変換するプログラム変換手段と、
を有し、前記プログラム変換手段は、前記定義された定数に必要なサイズのデバイスを割り付けた定数情報を作成するとともに、前記デバイス番号を割り付けてラダープログラムを実行プログラムに変換することを特徴とするプログラミングツール。
【請求項５】
前記定数定義手段は、定数に必要なデバイスのサイズを定義の型により決定することを特徴とする請求項４記載のプログラミングツール。
【請求項６】
前記定数定義手段は、定数に必要なデバイスのサイズを指定することができることを特徴とする請求項４又は５記載のプログラミングツール。
【請求項７】
前記定数情報及び、前記実行プログラムは、それぞれ個別に伝送することができることを特徴とする請求項４乃至６のいずれかに記載のプログラミングツール。
【請求項８】
前記定数情報は、変更箇所のみを動作中に伝送することができることを特徴とする請求項４乃至７のいずれかに記載のプログラミングツール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラミングツールで編集したラダープログラムを実行するプログラマブルコントローラに関するものである。
【背景技術】
【０００２】
プログラム中で使用される数値や文字列の定数は、プログラミングツールで定数定義され、プログラマブルコントローラで使用できる実行プログラムへ変換する際に定数そのものを命令中に埋め込んでいる。
【０００３】
図５は従来のプログラミングツール及びプログラマブルコントローラの構成図である。
図５（ａ）は従来のプログラミングツールの構成図である。
定数定義手段１１により、プログラム中で使用される数値や文字列の定数を定義し、定数定義情報を作成する。定数定義情報は記憶手段１２に格納される。
ラダープログラム作成手段１３により、定数定義手段１１で定義した定数名を使用してラダープログラムを作成する。ラダープログラムは記憶手段１４に格納される。定数の代わりにここで定義された定数名を使用することで効率よくラダープログラムの作成作業をすることができる。
【０００４】
定数定義情報及びラダープログラムは、プログラム変換手段１５によりプログラマブルコントローラ２０で認識できる実行プログラムに変換され、実行プログラムは記憶手段１６に格納される。この際、ラダープログラムの定数名には定数定義情報から定数名に対応する定数を命令中に埋め込んでいる。
プログラミングツール１０は、伝送Ｉ／Ｆ１７を介して実行プログラムをプログラマブルコントローラ２０に伝送する。
【０００５】
図５（ｂ）はプログラマブルコントローラの構成図である。
プログラマブルコントローラ２０は、プログラミングツール１０からの要求により、伝送Ｉ／Ｆ２１を介して実行プログラムをプログラム記憶手段２２に格納する。
制御手段２３は、プログラムを実行する。
【０００６】
図６は、従来のプログラミングツールの処理説明図である。
図６（ａ）は図５の定数定義手段１１による定数定義を示した図である。
＃ＡＡＡという定数名でワードサイズの数値１００を定義し、＃ＢＢＢという定数名で文字列”ＡＢＣ“を定義し、＃ＣＣＣという定数名でワードサイズの数値２００を定義している。
【０００７】
図６（ｂ）は図５のラダープログラム作成手段１３により作成したラダープログラムを示した図である。
＃ＡＡＡという定数名で定義されたワードサイズの数値１００をレジスタＤ０００１に転送し、＃ＢＢＢという定数名で定義された文字列“ＡＢＣ”をレジスタＤ００１０，Ｄ００１１に転送し、＃ＣＣＣという定数名で定義されたワードサイズの数値２００をレジスタＤ００２０に転送するプログラムである。
【０００８】
図６（ｃ）は図５のプログラム変換手段１５により変換された実行プログラムを示した図である。
各命令中に定数の値そのものが割り付けられた状態に変換されている。
【０００９】
従来のラダープログラムの編集装置を示したものとして、例えば特許文献１に記載されたものがあった。
【００１０】
【特許文献１】特開平９−２５１３０７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
図５及び図６の従来例では次の問題点があった。
プログラマブルコントローラの実行プログラムにおいては、定数が命令中に埋め込まれた形態であるので、オンラインエディット（プログラマブルコントローラが稼働中のプログラムの一部書き換え）により定数を変更する場合、定数が埋め込まれた命令をプログラム全体から全て探し出してプログラムを変更する処理が必要である。例えば、図６の例では、＃ＡＡＡの定数を変更する場合、プログラムの先頭から実行オブジェクトを調べ、＃ＡＡＡが出現する命令を検索し、この場合では、図６（ｃ）の２行目と６行目の定数を書き換える処理が必要となる。
これは、プログラムのステップ数が多くなればなるほど多くの処理時間が必要となり、プログラマブルコントローラの制御停止時間が増大するという問題点があった。
【００１２】
本発明は上述した問題点を解決するためになされたものであり、オンラインエディットによるプログラム中の定数変更が発生しても、実行プログラムを変更する必要がなく、定数の変更に伴う制御停止時間が短くて済むプログラマブルコントローラ及びそのプログラミングツールを実現することを目的とする。
【課題を解決するための手段】
【００１３】
このような課題を達成するために、本発明は次のとおりの構成になっている。
（１）シーケンス命令を実行するプログラマブルコントローラにおいて、
プログラムの定数をデバイス番号と対応させて格納する定数記憶手段と、
該定数記憶手段のデバイス番号を割り付けた実行プログラムを格納するプログラム記憶手段と、
前記実行プログラムのデバイス番号部分に、前記定数記憶手段に格納されている当該デバイス番号に対応する定数を逐次取り込んでプログラムを実行する制御手段と、
を有することを特徴とするプログラマブルコントローラ。
【００１４】
（２）前記定数記憶手段に格納される定数及び、前記プログラム記憶手段に格納される実行プログラムは、それぞれ個別に書き換えることができることを特徴とする（１）記載のプログラマブルコントローラ。
【００１５】
（３）前記定数記憶手段に格納される定数は、変更箇所のみを動作中に書き換えることができることを特徴とする（１）又は（２）記載のプログラマブルコントローラ。
【００１６】
（４）プログラマブルコントローラで実行するラダープログラムを編集するプログラミングツールにおいて、
プログラムの定数を定義する定数定義手段と、
ラダープログラムを作成するラダープログラム作成手段と、
前記ラダープログラムを実行プログラムに変換するプログラム変換手段と、
を有し、前記プログラム変換手段は、前記定義された定数に必要なサイズのデバイスを割り付けた定数情報を作成するとともに、前記デバイス番号を割り付けてラダープログラムを実行プログラムに変換することを特徴とするプログラミングツール。
【００１７】
（５）前記定数定義手段は、定数に必要なデバイスのサイズを定義の型により決定することを特徴とする（４）記載のプログラミングツール。
【００１８】
（６）前記定数定義手段は、定数に必要なデバイスのサイズを指定することができることを特徴とする（４）又は（５）記載のプログラミングツール。
【００１９】
（７）前記定数情報及び、前記実行プログラムは、それぞれ個別に伝送することができることを特徴とする（４）乃至（６）のいずれかに記載のプログラミングツール。
【００２０】
（８）前記定数情報は、変更箇所のみを動作中に伝送することができることを特徴とする（４）乃至（７）のいずれかに記載のプログラミングツール。
【発明の効果】
【００２１】
本発明によれば次のような効果がある。
プログラムの定数をオンラインエディットで変更する場合、プログラマブルコントローラの定数情報を変更箇所のみ書き換えればよく、実行プログラムを書き換える必要がないので、変更処理によるプログラマブルコントローラの制御停止時間を小さくすることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を用いて本発明を詳細に説明する。
図１は本発明の一実施例を示す構成図である。前出の図と同一のものは同一符号を付ける。
図１（ａ）はプログラミングツールの構成図である。
定数定義手段１１により、プログラム中で使用される数値や文字列の定数を定義し、定数定義情報を作成する。定数定義情報は記憶手段１２に格納される。
ラダープログラム作成手段１３により、定数定義手段１１で定義した定数名を使用してラダープログラムを作成する。ラダープログラムは記憶手段１４に格納される。
【００２３】
定数定義及びラダープログラムは、プログラム変換手段１５によりプログラマブルコントローラ２０で認識できる定数情報及び実行プログラムに変換され、定数情報は記憶手段１０１に格納され、実行プログラムは記憶手段１６に格納される。
プログラミングツール１０は、伝送Ｉ／Ｆ１７を介して定数情報及び実行プログラムをプログラマブルコントローラ２０に伝送する。
【００２４】
図１（ｂ）はプログラマブルコントローラの構成図である。
プログラマブルコントローラ２０は、プログラミングツール１０からの要求により、伝送Ｉ／Ｆ２１を介して定数情報を定数記憶手段２０１に格納し、実行プログラムをプログラム記憶手段２２に格納する。
【００２５】
制御手段２３は、プログラマブルコントローラ２０を動作させる際、プログラム記憶手段２２に格納されている実行プログラムのデバイス番号部分に、定数記憶手段２０１に格納されているデバイス番号に対応する定数を逐次取り込んでプログラムを実行する。
【００２６】
図２はプログラミングツールの処理説明図である。
図２（ａ）は図１の定数定義手段１１による定数定義を示した図である。
＃ＡＡＡという定数名でワードサイズの数値１００を定義し、＃ＢＢＢという定数名で文字列”ＡＢＣ“を定義し、＃ＣＣＣという定数名でワードサイズの数値２００を定義している。
【００２７】
図２（ｂ）は図１のラダープログラム作成手段１３により作成したラダープログラムを示した図である。
＃ＡＡＡという定数名で定義されたワードサイズの数値１００をレジスタＤ０００１に転送し、＃ＢＢＢという定数名で定義された文字列“ＡＢＣ”をレジスタＤ００１０，Ｄ００１１に転送し、＃ＣＣＣという定数名で定義されたワードサイズの数値２００をレジスタＤ００２０に転送するプログラムである。
【００２８】
図２（ｃ）は図１のプログラム変換手段１５により変換された定数情報を示した図である。
プログラミングツール１０で定義された定数定義情報をプログラマブルコントローラ２０で認識できる定数情報に変換する際に、定義ごとに必要なサイズのデバイスを割り付けていく。
定数名＃ＡＡＡに対してＧ０００１を割り付け、定数名＃ＢＢＢに対してＧ０００２〜Ｇ０００６を割り付け、定数名＃ＣＣＣに対してＧ０００７を割り付けている。
【００２９】
図２（ｄ）は図１のプログラム変換手段１５により変換された実行プログラムを示した図である。
プログラミングツール１０で作成されたラダープログラムをプログラマブルコントローラにプログラム２０で認識できる実行プログラムに変換する際に、命令中の定数名ごとにデバイス番号を割り付けていく。
命令中に＃ＡＡＡが出現した場合、図２（ｃ）で割り付けたデバイス番号（Ｇ０００１）に変更し、命令中に＃ＢＢＢが出現した場合、図２（ｃ）で割り付けたデバイス番号（Ｇ０００２）に変更し、命令中に＃ＣＣＣが出現した場合、図２（ｃ）で割り付けたデバイス番号（Ｇ０００１）に変更し、実行プログラムを構成する。
【００３０】
なお、文字列の場合、文字列数が増えると、デバイスの割り当ても変更する必要が出て、プログラムに割り付けたデバイス番号も変更する必要が出てくる。これを回避するためは、定数定義手段１１でデバイスサイズを指定するようにすれば、あらかじめ文字列数の最大値を考慮してデバイスの領域を確保しておくことができる。図２（ａ）では、定数名＃ＢＢＢに１０バイト領域を確保している。
【００３１】
図３はプログラマブルコントローラの処理説明図である。
図３（ａ）は図１の定数記憶手段２０１に格納される定数情報を示した図である。
図２（ｃ）の定数情報を基に、デバイス番号Ｇ０００１には定数１００を格納し、デバイス番号Ｇ０００２〜Ｇ０００３には文字列“ＡＢＣ”を格納し、デバイス番号Ｇ０００７には定数２００を格納する。
【００３２】
図３（ｂ）は図１のプログラム記憶手段２２に格納される実行プログラムを示した図である。
Ｇ０００１をＤ０００１に転送する命令の場合、Ｇ０００１には１００が入っているので、Ｄ０００１に１００が転送される。
Ｇ０００２から格納されている文字列をＤ００１０〜に転送する命令の場合、Ｇ０００２から“ＡＢＣ”という文字列が入っているので、Ｄ００１０〜に“ＡＢＣ”が転送される。
Ｇ０００１をＤ００２０に転送する命令の場合、Ｇ０００１には１００が入っているので、Ｄ００１０に１００が転送される。
【００３３】
図４は定数変更時の処理説明図である。
図４（ａ）は図１の定数定義手段１１による定数定義を示した図である。
オンラインエディットでプログラミングツール１０において、定数名＃ＡＡＡの定数を１４０に変更する。
【００３４】
図４（ｂ）は図１のラダープログラム作成手段１３により作成したラダープログラムを示した図である。
ラダープログラムには変更は発生しない。
【００３５】
図４（ｃ）は図１の定数記憶手段２０１に格納される定数情報を示した図である。
定数名＃ＡＡＡの定義を１００から１４０に変更した場合、プログラミングツール１０は＃ＡＡＡに割り付けられているＧ０００１を１４０に変更するようにプログラマブルコントローラ２０へ要求する。
【００３６】
プログラマブルコントローラ２０はレジスタ番号Ｇ０００１の値を１４０に変更する。
図４（ｄ）は図１のプログラム記憶手段２２に格納される実行プログラムを示した図である。
プログラマブルコントローラ２０の実行プログラムには変更が発生しない。
【００３７】
これにより、プログラマブルコントローラ２０側は、定数記憶手段２０１に格納されている定数情報の変更部分のみを書き換えればよく、変更が最小限で済むため、定数変更に伴うプログラマブルコントローラ２０の制御停止時間を小さくすることができる。
なお、定数記憶手段２０１とプログラム記憶手段２２は１つのメモリで構成しても複数のメモリで構成してもよい。
【図面の簡単な説明】
【００３８】
【図１】本発明の一実施例を示す構成図である。
【図２】プログラミングツールの処理説明図である。
【図３】プログラマブルコントローラの処理説明図である。
【図４】定数変更時の処理説明図である。
【図５】従来のプログラミングツール及びプログラマブルコントローラの構成図である。
【図６】従来のプログラミングツールの処理説明図である。
【符号の説明】
【００３９】
１０  プログラミングツール
１１  定数定義手段
１３  ラダープログラム作成手段
１５  プログラム変換手段
２０  プログラマブルコントローラ
２２  プログラム記憶手段
２３  制御手段
２０１  定数記憶手段
【図１】
2006276955.tif 000003
【図２】
2006276955.tif 000004
【図３】
2006276955.tif 000005
【図４】
2006276955.tif 000006
【図５】
2006276955.tif 000007
【図６】
2006276955.tif 000008