(57)【特許請求の範囲】
【請求項１】
演算装置を備えて制御機械を制御するプログラマブルコントローラであって、
前記演算装置に対して前記制御機械の制御処理を実行させる制御プロジェクトを複数記憶する不揮発性記憶部と、
１つの制御プロジェクトを記憶する揮発性記憶部と、
前記不揮発性記憶部に記憶された前記複数の制御プロジェクトのいずれか１つを選択して前記揮発性記憶部に転送する選択転送部と、
前記揮発性記憶部に記憶された制御プロジェクトを前記不揮発性記憶部中の任意の記憶領域に転送する領域指定転送部と、
を有し、
前記演算装置は、前記揮発性記憶部に記憶されている制御プロジェクトを実行することを特徴とするプログラマブルコントローラ。
【請求項２】
前記選択転送部は、当該プログラマブルコントローラの起動時にのみ制御プロジェクトを選択して転送することを特徴とする請求項１記載のプログラマブルコントローラ。
【請求項３】
前記制御プロジェクトは、
当該プログラマブルコントローラ側における指令または情報の入出力先を特定する特定情報と前記制御機械が備える複数の制御要素との対応関係を定義する複数の定義ファイルと、前記演算装置に対して前記複数の定義ファイルのいずれか１つに基づき前記制御要素に指令または情報の入出力を実行させる制御プログラムとを備えており、
前記選択転送部は、選択した制御プロジェクトが備える前記複数の定義ファイルのいずれか１つを選択し、当該制御プロジェクトが備える制御プログラムとともに前記揮発性記憶部に転送することを特徴とする請求項１又は２記載のプログラマブルコントローラ。
【請求項４】
当該プログラマブルコントローラは、
前記複数の制御要素とそれぞれ接続する複数の接続部を有しており、
前記特定情報は、前記接続部を個別に特定する情報であることを特徴とする請求項３記載のプログラマブルコントローラ。
【請求項５】
当該プログラマブルコントローラは、
前記複数の制御要素とそれぞれ接続する複数のノード端末とネットワークを介して接続しており、
前記特定情報は、前記複数のノード端末でそれぞれ任意かつ一意的に設定された識別情報であることを特徴とする請求項３記載のプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、プログラマブルコントローラに関する。
【背景技術】
【０００２】
特許文献１には、ユーザが作成したシーケンスプログラムをＥＥＰＲＯＭ等のプログラムメモリに格納するプログラマブルコントローラが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−１６７６０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上記シーケンスプログラムのような制御プログラムの開発にあたっては、一般的に不具合修正や機能追加などの改訂が繰り返し行われる。しかし、エンジニアリングツール等からプログラマブルコントローラへの制御プログラムの読み込みには時間と手間がかかるため、改訂を重ねる場合はその読み込み作業だけで時間と手間がかかり煩雑となっていた。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、上記制御プログラムを含む制御プロジェクトの開発効率を向上できるプログラマブルコントローラを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、演算装置を備えて制御機械を制御するプログラマブルコントローラであって、前記演算装置に対して前記制御機械の制御処理を実行させる制御プロジェクトを複数記憶する不揮発性記憶部と、１つの制御プロジェクトを記憶する揮発性記憶部と、前記不揮発性記憶部に記憶された前記複数の制御プロジェクトのいずれか１つを選択して前記揮発性記憶部に転送する選択転送部と、前記揮発性記憶部に記憶された制御プロジェクトを前記不揮発性記憶部中の任意の記憶領域に転送する領域指定転送部と、を有し、前記演算装置は、前記揮発性記憶部に記憶されている制御プロジェクトを実行するプログラマブルコントローラが適用される。
【発明の効果】
【０００７】
本発明によれば、制御プログラムを含む制御プロジェクトの開発効率を向上できる。
【図面の簡単な説明】
【０００８】
【図１】実施形態のプログラマブルコントローラを備えた機械制御システムの構成を模式的に表したブロック図である。
【図２】メモリ内における各種情報の記憶構成を表したブロック図である。
【図３】図２中の各保存プロジェクトが有する定義ファイルの具体的な内容例を表す図である。
【図４】図２中の各保存プロジェクトが有する各制御プログラムの具体的な記述例を表す図である。
【図５】プログラマブルコントローラのＣＰＵがＲＯＭ上で実行するシステムプログラムの制御手順を示すフローチャートである。
【図６】フラッシュメモリ内に複数の保存プロジェクトを記憶する変形例の場合のメモリ内における各種情報の記憶構成を表したブロック図である。
【図７】図６中の各保存プロジェクトが有する標準定義ファイルの具体的な内容例を表す図である。
【図８】図６中の保存プロジェクト１が有する標準＋第１オプション定義ファイルの具体的な内容例を表す図である。
【図９】図６中の保存プロジェクト２が有する標準＋第２オプション定義ファイルの具体的な内容例を表す図である。
【図１０】図６中の各保存プロジェクトが有する各共通制御プログラムの具体的な記述例を表す図である。
【図１１】ネットワーク接続による変形例の場合のブロック図であって、生産機械が標準軸と１つのオプション軸を備えた場合の変則的な接続構成を例示している。
【図１２】図１１の接続構成に対応する標準＋第１オプション定義ファイルの具体的な内容例を表す図である。
【発明を実施するための形態】
【０００９】
以下、一実施の形態について図面を参照しつつ説明する。
【００１０】
＜機械制御システムの概略構成＞
図１は、本実施形態のプログラマブルコントローラを備えた機械制御システムのブロック図を表している。この図１において、機械制御システム１００は、プログラマブルコントローラ１と、制御機械の一例である生産機械２を有している。
【００１１】
プログラマブルコントローラ１は、後述のメモリに記憶された制御プログラム及び定義ファイルに基づいて、生産機械２が備える各制御要素の動作や情報を制御するいわゆる上位制御装置である。図示する例では、当該プログラマブルコントローラ１の本体が有するスロットＳ１〜Ｓ５の昇順に対応して、電源部１１と、メモリ１２を備えたＣＰＵ１３と、サーボ制御ユニット１４と、Ｉ／Ｏ制御ユニット１５と、通信制御ユニット１６とが装着されている。
【００１２】
電源部１１は、特に図示しない商用電源から給電された３相交流電力を直流電力に変換して当該プログラマブルコントローラ１の各部に給電する機能を有する。
【００１３】
ＣＰＵ１３（演算装置）は、内部に備えたメモリ１２（記憶部）に記憶された制御プログラム及び定義ファイル（後述の図２参照）に基づいて、当該プログラマブルコントローラ１の各部と指令や情報を送受して全体を制御する機能を有する。なお、メモリ１２内の構成や記憶する情報内容などについては後に詳述する。
【００１４】
サーボ制御ユニット１４は、後述の生産機械２が上記制御要素として備える各駆動軸（アクチュエータ）と接続して、上記ＣＰＵ１３からの指令を各駆動軸に出力する機能を有する。
【００１５】
Ｉ／Ｏ制御ユニット１５は、後述の生産機械２が上記制御要素として備える各種センサ、ランプ、ソレノイドなどの補器類と接続して、上記ＣＰＵ１３との間で指令や情報を入出力する機能を有する。
【００１６】
通信制御ユニット１６は、他の機械制御システムが備えるプログラマブルコントローラと適宜の通信回線を介して接続し、それらとの連携動作が行えるよう上記ＣＰＵ１３との情報の送受を制御する機能を有する。
【００１７】
上記サーボ制御ユニット１４、Ｉ／Ｏ制御ユニット１５、及び通信制御ユニット１６は、それぞれ複数のポート（接続部）を有しており、それらポートを介して生産機械２が備える複数の制御要素や他のプログラマブルコントローラと接続する。複数のポートは、それぞれ指令や情報の入出力先としてあらかじめハードウェア的に特定可能に区別されている。なお、図示の煩雑を避けて説明を容易とするために、図１中においては例えばサーボ制御ユニット１４が５つのポートＰ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５を備えているとし、これらサーボ制御ユニット１４のポートＰ１〜Ｐ５と生産機械２の各駆動軸Ａ，Ｂ，Ｃ，Ｄとの接続関係だけを図示して以下に説明する。また、本実施形態の例では、ポートＰ１〜Ｐ５の具体的な構成としてケーブルの雄プラグの挿入口を想定しているが、他にも雌コネクタやソケットなど他の接続構成としてもよい。なお、上記ポートの番号Ｐ１〜Ｐ５が、各請求項記載の特定情報に相当する。
【００１８】
また、上記ＣＰＵ１３には、汎用パーソナルコンピュータ２１（図中では汎用ＰＣと略記：以下同様）、エンジニアリングツール２２、タッチパネル２３のいずれかが接続可能となっている。汎用ＰＣ２１は、上記制御プログラムを含む後述の制御プロジェクト等（後述の図２参照）の開発時に用いる開発者向けのツールである。エンジニアリングツール２２は、上記制御プロジェクトの調整時に用いる運用者向けのツールである。タッチパネル２３は、上記制御プロジェクトによる当該機械制御システム１００の運用時に用いる運用者向けのツールである。これら汎用ＰＣ２１、エンジニアリングツール２２、タッチパネル２３はいずれも適宜の操作部と表示部を備えており、上記メモリ１２の記憶内容や各種パラメータの表示と設定、及び各種指令の入力操作などが可能となっている。
【００１９】
生産機械２は、その内部に備える回転型または直動型のモータ（アクチュエータ）で各可動部を駆動することにより所定の動作を行う機械要素の集合であり、その他にも各種のセンサ、ランプ、ソレノイドなどの補記類を用いて協調制御を行う。このうち各モータについては、それぞれを制御するサーボアンプ（特に図示せず）と併せて駆動軸と称呼する。図示する例の生産機械２は、３つの標準軸Ａ，Ｂ，Ｃと１つのオプション軸Ｄを備えている。標準軸Ａ，Ｂ，Ｃは、当該生産機械２の標準的な動作を行わせるために最低限必要とされる駆動軸であり、オプション軸Ｄは上記の標準動作に対して運用者が任意に追加した動作を行わせるための駆動軸である。そして、図１に示す例では、各ポートＰ１〜Ｐ４の昇順に対応して、各駆動軸Ａ〜Ｄが順に接続されている。なお通常の生産機械２では、制御要素としてプログラマブルコントローラ１のサーボ制御ユニット１４に接続する駆動軸の他にもＩ／Ｏ制御ユニット１５に接続する補器類を複数備えているのが一般的であるが、上述したように、図１においてはサーボ制御ユニット１４のポートＰ１〜Ｐ５と生産機械２の各駆動軸との接続関係だけを図示している。
【００２０】
以上のようにプログラマブルコントローラ１は、ポートを介して生産機械２が備える複数の制御要素（駆動軸、補器類）と接続し、ＣＰＵ１３が制御プログラムに従ってそれら制御要素に対し指令または情報の入出力を行うことで当該生産機械２の動作を制御する。しかし、当該プログラマブルコントローラ１自体が備える複数のポートどうしはハードウェア的に互換性があるため、実際にどのポートにどの制御要素が接続されているかをソフトウェア的に定義する定義ファイルを上記制御プログラムとは別途にあらかじめ作成しておく（後述の図２参照）。
【００２１】
＜本実施形態の特徴＞
プログラマブルコントローラは、後述するように、外部のエンジニアリングツールや汎用ＰＣなどで作成した制御プログラムを、上記メモリ内に有する比較的アクセススピードの速い揮発性のＲＡＭ（後述の図２参照）に読み込ませてＣＰＵに実行させることで、制御機械の制御処理を行う。また、ＲＡＭに記憶している制御プログラムを不揮発性のフラッシュメモリ（後述の図２参照）に転送して記憶させることで、再起動などにより電源を切断しても制御プログラムを消去することなく記憶し続ける。
【００２２】
ここで上記制御プログラムの開発にあたっては、一般的に不具合修正や機能追加などの改訂が繰り返し行われる。そして、新しいバージョンの不具合を検証するために、以前のバージョンの動作と比較することが多くある。しかし、プログラマブルコントローラが上記エンジニアリングツール等から制御プログラムを読み込む際には通信インターフェース等を介して行う関係から時間がかかり、またエンジニアリングツールからフラッシュメモリへ制御プログラムを転送する際にはＲＡＭを介して行うため作業が煩雑になる。このため、わずかにでも改訂を重ねて以前のバージョンとの動作比較を行う度に、エンジニアリングツールからフラッシュメモリへの制御プログラムの転送を行わなければならず、その転送作業に手間と時間がかかって煩雑となっていた。
【００２３】
これに対し本実施形態では、フラッシュメモリが制御プログラムを複数記憶し、選択転送部がフラッシュメモリに記憶された複数の制御プログラムのいずれか１つを選択してＲＡＭに転送する。これにより、プログラマブルコントローラの単体で改訂バージョンの異なる複数の制御プログラムを記憶しそれらを切り替えて実行できるため、それらの動作比較を繰り返す場合でもエンジニアリングツールからの読み込み頻度を低減し容易かつ短時間で行うことができる。
【００２４】
＜メモリの記憶構成＞
メモリ１２内における各種情報の記憶構成を図２に示す。この図２においてメモリ１２は、フラッシュメモリ３１と、ＲＡＭ３２と、ＲＯＭ３３を有している。
【００２５】
フラッシュメモリ３１（不揮発性記憶部）は、電源接続時には記憶内容の読み出しと書き換えが可能であって電源切断時でも記憶内容が消えないいわゆる不揮発性の記憶部であり、本実施形態では１つの制御プログラムと１つの定義ファイルの組み合わせで構成される保存プロジェクト（制御プロジェクト）を、異なる２つの記憶領域にそれぞれ１つずつ記憶する。基本的にはフラッシュメモリ３１全体の記憶容量に対して、用意する記憶領域の数（この例では２つ）だけ均等に割り当てるように容量配分を設定する。制御プログラムは、ＣＰＵ１３に対し、同じ制御プロジェクト内の定義ファイルに基づいて生産機械２が備える制御要素に指令または情報の入出力を実行させる制御手順が記述されている。なお、これら共通制御プログラム及び定義ファイルの具体的な内容については後に詳述する。また、このフラッシュメモリ３１は、同じ不揮発性の記憶装置であるハードディスクドライブで代用してもよい。
【００２６】
ＲＡＭ３２（揮発性記憶部）は、電源接続時には記憶内容の読み出しと書き換えが可能であって電源切断時には記憶内容が消えるいわゆる揮発性の記憶部であり、上記フラッシュメモリ３１から転送された１つの制御プログラムと１つの定義ファイルの組み合わせで構成される実行プロジェクト（制御プロジェクト）を１つ記憶する。このＲＡＭ３２は比較的アクセススピードが速く、ＣＰＵ１３はこのＲＡＭ３２に記憶された実行プロジェクトにアクセスして実行することで処理速度の高速化を実現できる。
【００２７】
ＲＯＭ３３は、電源接続時には記憶内容の読み出しのみが可能であり電源切断時でも記憶内容が消えないいわゆる不揮発性の記憶部であり、本実施形態では当該プログラマブルコントローラ１の電源投入時に上記フラッシュメモリ３１からＲＡＭ３２への制御プロジェクトの転送などを行うシステムプログラムを記憶する（後述の図４参照）。
【００２８】
また、上記フラッシュメモリ３１からＲＡＭ３２へ制御プロジェクトを転送する際には、フラッシュメモリ３１内の複数の記憶領域のうちいずれか１つを選択転送部４１が選択してそこに記憶されている制御プロジェクト（保存プロジェクト）をＲＡＭ３２へ転送する。また、上記ＲＡＭ３２からフラッシュメモリ３１へ制御プロジェクトを転送する際には、フラッシュメモリ３１内の複数の記憶領域のうちいずれか１つを領域指定転送部４２が選択してＲＡＭ３２に記憶されている制御プロジェクト（実行プロジェクト）をその記憶領域へ転送する。本実施形態の例では、この選択転送部４１及び領域指定転送部４２をそれぞれロータリスイッチなどのハードウェアスイッチで構成し、操作者が手作業で選択転送部４１及び領域指定転送部４２を操作することでアクセス対象となるフラッシュメモリ３１の記憶領域の選択を行う。なお、これら選択転送部４１及び領域指定転送部４２は、ＣＰＵ１３内部に備えるシステムレジスタ（特に図示せず）の内容設定によりソフトウェア的に記憶領域を選択する構成としてもよい。また、これら選択転送部４１及び領域指定転送部４２は、一体的に構成してもよい。
【００２９】
＜定義ファイルの具体的内容例＞
図３は、上記図２中の各保存プロジェクトが有する定義ファイルの具体的な内容例を示している。定義ファイルの内容は、生産機械２の接続構成に対応したポートと駆動軸の接続の組み合わせを示すテーブルとなっている。
【００３０】
図３に示す例では、生産機械２に標準軸Ａ，Ｂ，Ｃによる標準動作からさらにオプション軸Ｄの動作を追加して行わせる、上記図１に示した接続構成に対応した標準＋第１オプション定義ファイルの一例を示している。この定義ファイルの内容は、各スロットに装着した各制御ユニットごとに、それぞれの接続構成を示すテーブルとなっている。なお、図示する例では、サーボ制御ユニット１４における接続構成、つまり上記のポートＰ１〜Ｐ５と駆動軸Ａ〜Ｄの接続の組み合わせだけを抽出して示しており、ポートＰ１に標準軸Ａを接続し、ポートＰ２に標準軸Ｂを接続し、ポートＰ３に標準軸Ｃを接続し、ポートＰ４にオプション軸Ｄを接続する接続構成を示している。すなわち、生産機械２に対して上記標準動作からさらにオプション軸Ｄの動作を追加して行わせる、上記図１に示した接続構成の場合の例を示している。
【００３１】
なお、上述したように各ポートＰ１〜Ｐ５どうしはハードウェア的に互換性があるため、定義ファイルの内容は図示した例のもの以外にも多様な組み合わせを取り得るが、それに対応して実際に各ポートＰ１〜Ｐ５と各駆動軸Ａ〜Ｄが定義ファイルの組み合わせ通りに接続されていればよい。また、図示する例ではサーボ制御ユニット１４のポートＰ１〜Ｐ５と生産機械２の各駆動軸との接続構成を示す定義ファイルだけを例示しているが、Ｉ／Ｏ制御ユニット１５にも同等のポートを備えて生産機械２の各補機類との接続構成を示す定義ファイルを別途用意するか、または駆動軸用と同一の定義ファイルとしてもよい。
【００３２】
＜制御プログラムについて＞
例えば、上記図３の第１オプション定義ファイルだけに対応して実行される専用の制御プログラムは、図４に示すように各駆動軸Ａ，Ｂ，Ｃ，Ｄに対して適宜の順序で各駆動処理Ｘ，Ｙ，Ｚを実行するよう記述されている。つまり、標準＋第１オプション定義ファイルに基づいて、各駆動軸に対応するポートＰ１〜Ｐ４に対し無条件に各指令を出力すればよい。
【００３３】
＜メモリの管理手法について＞
上記図２に示したメモリ１２の記憶構成では、以上のような制御プログラムと定義ファイルの組み合わせからなる制御プロジェクトの選択転送と実行を管理する。このメモリ１２の記憶構成に対して、操作者は上記汎用ＰＣ２１またはエンジニアリングツール２２上で作成した共通制御プログラム及び各定義ファイルを一旦ＲＡＭ３２に記憶させ、それらをまとめて制御プロジェクトとする。その後に、操作者がフラッシュメモリ３１内のいずれかの記憶領域を領域指定転送部４２で選択し、その転送先へＲＡＭ３２上の制御プロジェクトを転送し保存プロジェクトとして記憶させる。このような保存プロジェクトの保存操作を、制御プログラムの改訂バージョンが異なる保存プロジェクト（図示する例ではＶｅｒ．ＸとＶｅｒ．Ｙ）ごとに異なる記憶領域に対して行う。
【００３４】
そして、操作者がフラッシュメモリ３１内のいずれの記憶領域に記憶されている保存プロジェクトを実行プロジェクトとして転送、実行するかを選択転送部４１で設定した状態で、当該プログラマブルコントローラ１を再起動する。これによりＣＰＵ１３は、ＲＯＭ３３のシステムプログラムに従って、選択されたフラッシュメモリ３１の記憶領域から保存プロジェクトをＲＡＭ３２に転送して実行プロジェクトとする。その後にＣＰＵ１３は、ＲＡＭ３２上に記憶された当該実行プロジェクトを実行することで生産機械２の制御を行う。
【００３５】
ここで、操作者（開発者）が、それぞれ制御プログラムの改訂バージョンが異なる複数の保存プロジェクトを交互に切り替えて動作比較を繰り返し行う場合でも、プログラマブルコントローラの単体でその切り替えと実行を行える。つまり、あらかじめ改訂バージョンが異なる複数の保存プロジェクトをフラッシュメモリ３１内の各記憶領域に用意していれば、外部の汎用ＰＣ２１やエンジニアリングツール２２からの煩雑な転送操作の頻度を低減でき、制御プロジェクトの開発効率を向上できる。
【００３６】
＜システムプログラムの制御フロー＞
以上のような機能を実現するために、ＣＰＵ１３がＲＯＭ３３上で実行するシステムプログラムの制御手順を、図５により順を追って説明する。図５において、このフローに示す処理は、あらかじめ操作者が選択転送部４１を操作していずれの記憶領域の保存プロジェクトを適用するか設定した状態で、当該プログラマブルコントローラ１を再起動（もしくは電源投入により起動）した際に実行を開始する。なお、この再起動時においてＲＡＭ３２は初期的に記憶内容が全て消去された状態となっている。
【００３７】
まずステップＳ１０５で、ＣＰＵ１３は、選択転送部４１で選択されたフラッシュメモリ３１（図中ではＦメモリと略記）の記憶領域から保存プロジェクトをＲＡＭ３２へ転送し、実行プロジェクトとして設定する。
【００３８】
次にステップＳ１１０へ移り、ＣＰＵ１３は、上記ステップＳ１０５で設定したＲＡＭ３２上の実行プロジェクトを実行する。これにより、ＣＰＵ１３は各ポートを介して生産機械２が備える各制御要素の動作や情報を制御する。そして、このフローを終了する。
【００３９】
＜本実施形態の効果＞
以上説明したように、本実施形態のプログラマブルコントローラ１によれば、フラッシュメモリ３１が制御プロジェクトを複数記憶し、選択転送部４１がフラッシュメモリ３１に記憶された複数の制御プロジェクトのいずれか１つを選択してＲＡＭ３２に転送する。これにより、操作者（特に開発者）は、プログラマブルコントローラ１の単体で改訂バージョンの異なる複数の制御プロジェクトを記憶しそれらを切り替えて実行できるため、それらの動作比較を繰り返す場合でも汎用ＰＣ２１やエンジニアリングツール２２からの読み込み頻度を低減し容易かつ短時間で行える。この結果、制御プロジェクトの開発効率を向上できる。また、電源を切断してもフラッシュメモリ３１に記憶した複数の制御プロジェクトを全て消去することなく記憶し続けることができ、また必要な制御プロジェクトだけを比較的アクセススピードの速いＲＡＭ３２に起動時に読み込ませて実行できるため、制御の処理速度とメモリ効率を向上させることができる。
【００４０】
また、本実施形態では特に、ＲＡＭ３２に記憶された制御プロジェクトをフラッシュメモリ３１中の任意の記憶領域に転送する領域指定転送部４２を有している。これにより、フラッシュメモリ３１が記憶している複数の制御プロジェクトに対していずれを削除、上書きするかといった管理を任意かつ簡易に行うことができる。
【００４１】
また、本実施形態では特に、選択転送部４１は、上記図５のシステムプログラムを実行する当該プログラマブルコントローラ１の起動時にのみ実質的に制御プロジェクトを選択して転送する。電源通電中に制御プロジェクトを変更することは安全上好ましくない。このため、選択転送部４１が当該プログラマブルコントローラ１の起動時（電源投入時）にのみ制御プロジェクトを選択し転送することで、安全性を向上できる。
【００４２】
＜変形例＞
なお、開示の実施形態は、上記に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を説明する。
【００４３】
（１）各保存プロジェクトが複数の定義ファイルを備える場合
生産機械２などの制御機械は、駆動軸や補器類などの制御要素をオプションとして追加することでその接続構成を多様に変化できる場合があり、定義ファイルも制御機械の接続構成ごとに対応して個別に作成されるのが望ましい。しかし、制御機械の接続構成を少しでも変更するたびに、対応する定義ファイルをプログラマブルコントローラ１に入力し直す作業が煩雑となる。これに対して、複数の定義ファイルとそれらに共通の制御プログラムとをまとめて１つの保存プロジェクトを構成し、制御プログラムのバージョンの違いで複数の保存プロジェクトをフラッシュメモリ３１に記憶するようにしてもよい。
【００４４】
図６は、上記図２に対応して本変形例の場合のメモリ１２内における各種情報の記憶構成を示している。この図６において、フラッシュメモリ３１は、１つの共通制御プログラムと複数の定義ファイルで構成される保存プロジェクトを各記憶領域に１つずつ記憶する。図示する例では、記憶領域１に記憶する保存プロジェクト１中には複数の定義ファイルとして標準定義ファイルと、標準＋第１オプション定義ファイル（図中では標準＋ＯＰ１定義ファイルと略記）を有している。また、記憶領域２に記憶する保存プロジェクト２中には複数の定義ファイルとして標準定義ファイルと、標準＋第２オプション定義ファイル（図中では標準＋ＯＰ２定義ファイルと略記）を有している。
【００４５】
ＲＡＭ３２は、上記フラッシュメモリ３１から転送された１つの共通制御プログラムと１つの定義ファイルの組み合わせで構成される実行プロジェクトを１つ記憶する。
【００４６】
また、上記フラッシュメモリ３１からＲＡＭ３２へ制御プロジェクトを転送する際には、フラッシュメモリ３１内の複数の記憶領域のうちいずれか１つを選択転送部４１Ａが選択し、さらにその選択した記憶領域の保存プロジェクトのうちいずれか１つの定義ファイルを選択する。そして選択された保存プロジェクトの共通制御プログラムと定義ファイルをＲＡＭ３２へ転送して実行プロジェクトとする。また、上記ＲＡＭ３２からフラッシュメモリ３１へ制御プロジェクトを転送する際には、フラッシュメモリ３１内の複数の記憶領域のうちいずれか１つを領域指定転送部４２Ａが選択し、ＲＡＭ３２に記憶されている共通制御プログラムと定義ファイルをそれぞれ対応する記憶領域の保存プロジェクトに対して上書きするよう転送する。なお、図６中においては、図示の煩雑を避けるために、選択転送部４１Ａと領域指定転送部４２Ａを一体的に統合して示し、ＲＯＭ３３の図示を省略している。
【００４７】
図７〜図８は、上記図６に示した標準定義ファイル、標準＋第１オプション定義ファイル、及び標準＋第２オプション定義ファイルのそれぞれの具体的な内容例を示している。
【００４８】
図７の標準定義ファイルは、生産機械２に３つの標準軸Ａ，Ｂ，Ｃだけを駆動させる標準動作の接続構成に対応している。図示する例では、ポートＰ１に標準軸Ａを接続し、ポートＰ２に標準軸Ｂを接続し、ポートＰ３に標準軸Ｃを接続する接続構成を示している。
【００４９】
図８の標準＋第１オプション定義ファイルは、生産機械２に対して上記標準動作からさらにオプション軸Ｄの動作を追加して行わせる接続構成に対応している。図示する例では、上記第標準定義ファイルからさらにポートＰ４にオプション軸Ｄを接続する接続構成を示している。
【００５０】
図９の標準＋第２オプション定義ファイルは、生産機械２に対して上記標準動作からさらにオプション軸Ｄと特に図示しないオプション軸Ｅの動作を追加して行わせる接続構成に対応している。図示する例では、上記標準＋第１オプション定義ファイルからさらにポートＰ５にオプション軸Ｅを接続する接続構成を示している。
【００５１】
図１０は、上記図６に示した共通制御プログラムの具体的な内容例を示している。この共通制御プログラムは、保存プロジェクト内にあらかじめ用意された複数の定義ファイルのいずれと組み合わせても適切に実行可能となるよう記述される。つまり、図１０に示すように、各標準軸Ａ，Ｂ，Ｃに対しては各駆動処理Ｘ，Ｙ，Ｚを無条件に実行するが、オプション軸Ｄに対しては当該オプション軸Ｄの接続を定義している標準＋第１オプション定義ファイル又は標準＋第２オプション定義ファイルが選択されていることが確認された場合だけ駆動処理Ｖを実行（対応するポートＰ４に指令を出力）するよう記述される。また、オプション軸Ｅに対しては、当該オプション軸Ｅの接続を定義している標準＋第２オプション定義ファイルが選択されていることが確認された場合だけ駆動処理Ｗを実行（対応するポートＰ５に指令を出力）するよう記述される。このように各オプション軸に対して接続条件付きで駆動処理を実行することで、１つの共通制御プログラムを標準定義ファイル及び各オプション定義ファイルに共通して適用できる。そして、共通制御プログラムの各改訂バージョン間で各駆動軸に対する駆動処理の詳細内容や制御手順の記述に差異を持たせている。
【００５２】
以上説明したように、本変形例のプログラマブルコントローラ１によれば、複数の定義ファイルとそれらに共通の制御プログラムとをまとめて１つの保存プロジェクトを構成し、共通制御プログラムのバージョンの違いで複数の制御プロジェクトをフラッシュメモリ３１に記憶する。そして選択転送部４１Ａが、選択した保存プロジェクトが備える複数の定義ファイルのいずれか１つをさらに選択し、当該保存プロジェクトが備える共通制御プログラムとともにＲＡＭ３２へ転送して実行プロジェクトを設定する。これにより、操作者は、共通制御プログラムの改定や制御機械の接続構成の変更を繰り返しても、選択転送部４１Ａを操作するだけで対応する定義ファイルに基づき各接続構成の制御機械を適切に制御することができる。この結果、制御機械の多様な接続構成の変化に対応して適切な制御を容易に行うことができる。
【００５３】
また、本変形例では特に、各保存プロジェクトの制御プログラムが、選択転送部４１Ａで選択された定義ファイルで接続が定義されている制御要素に対してのみ指令または情報の入出力をＣＰＵ１３に行わせる共通制御プログラムとして記述されている。これにより、共通制御プログラムは複数の定義ファイルに共通したものを各改訂バージョンごとに１つだけ用意すればよいだけとなり、メモリ１２に対する入出力管理を簡易化できる。
【００５４】
（２）各制御要素がネットワークを介して接続する場合
上記実施形態及び第１変形例では、各制御ユニットが個別に特定可能な複数のポートＰ１〜Ｐ５を備え、それらポートＰ１〜Ｐ５を介して生産機械２の各制御要素と接続する構成を例に説明したが、これに限られない。例えば、図１１に示すように、各制御ユニットがネットワークＮＷを介して複数のノード端末５１と接続し、それらノード端末５１がそれぞれ生産機械２の各制御要素に接続する構成としてもよい。
【００５５】
図示する例では、ネットワークＮＷとしてＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）などを想定しており、サーボ制御ユニット１４と各ノード端末５１がいわゆるカスケード接続により直列に接続している。例えばＡＳＩＣ等で構成される各ノード端末５１は互いにハードウェア的に互換性を有しているが、所定のソフトウェア的操作又はハードウェア的操作によって各ノード端末５１にそれぞれ任意かつ一意的（重複しない）に識別情報としてのノードアドレスが設定される。図示する例では、サーボ制御ユニット１４に最も近く接続されているノード端末５１にノードアドレスＭ３が設定され、２番目のノード端末５１にノードアドレスＭ２が設定され、３番目のノード端末５１にノードアドレスＭ５が設定され、４番目のノード端末５１にノードアドレスＭ１が設定されている。そして、駆動軸ＡはノードアドレスＭ５のノード端末５１に接続され、駆動軸ＢはノードアドレスＭ１のノード端末５１に接続され、駆動軸ＣはノードアドレスＭ３のノード端末５１に接続され、駆動軸ＤはノードアドレスＭ２のノード端末５１に接続されている。なお、上記ノードアドレスＭ１〜Ｍ５が、各請求項記載の特定情報に相当する。
【００５６】
このように自由度の高いネットワーク接続に対しても、その接続構成に対応して図１２に示すような定義ファイルを作成すればよい。図示する例の定義ファイルの内容は、各ノードアドレスに対応して、駆動軸の識別情報と、実際に指令や情報を入出力するインターフェースアドレスの組み合わせを示すテーブルとして記載される。そして制御プログラムにおいては、各駆動軸を制御する際に、この定義ファイルに基づいて対応するノードアドレスのノード端末５１に対し指令や情報を入出力すればよい（特に図示せず）。
【００５７】
以上説明したように、本変形例のプログラマブルコントローラ１によれば、複数の制御要素とそれぞれ接続する複数のノード端末５１とネットワークＮＷを介して接続しており、複数のノード端末５１でそれぞれ任意かつ一意的に設定されたノードアドレスで指令または情報の入出力先を特定する。これにより、高い自由度で任意に設定されたノードアドレスを用いて指令または情報の入出力先を特定できる。
【００５８】
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
【００５９】
その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【符号の説明】
【００６０】
１            プログラマブルコントローラ
２            生産機械（制御機械）
１１          電源部
１２          メモリ（記憶部）
１３          ＣＰＵ（演算装置）
１４          サーボ制御ユニット
１５          Ｉ／Ｏ制御ユニット
１６          通信制御ユニット
２１          汎用パーソナルコンピュータ
２２          エンジニアリングツール
２３          タッチパネル
３１          フラッシュメモリ（不揮発性記憶部）
３２          ＲＡＭ（揮発性記憶部）
３３          ＲＯＭ
４１，４１Ａ  選択部
４２，４２Ａ  領域指定転送部
５１          ノード端末
１００        機械制御システム
Ｐ１〜Ｐ５    ポート（接続部）
Ａ〜Ｄ        駆動軸（制御要素）
ＮＷ          ネットワーク
【図１】
0006319200.tif 000002
【図２】
0006319200.tif 000003
【図３】
0006319200.tif 000004
【図４】
0006319200.tif 000005
【図５】
0006319200.tif 000006
【図６】
0006319200.tif 000007
【図７】
0006319200.tif 000008
【図８】
0006319200.tif 000009
【図９】
0006319200.tif 000010
【図１０】
0006319200.tif 000011
【図１１】
0006319200.tif 000012
【図１２】
0006319200.tif 000013