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