(57)【要約】  ＰＬＣ（１００）は記録媒体（５００）に記録されたユーザコンフィグレーションデータを当該ＰＬＣ（１００）に書き込む場合、記録媒体（５００）に格納されている組合せテーブルに従って、当該ユーザコンフィグレーションデータと既にＰＬＣ（１００）に格納されているファームウェアとの組合せの適否を判断する。また、ＰＬＣ（１００）は、記録媒体（５００）に記録されたファームウェアを当該ＰＬＣ（１００）に書き込む場合、記録媒体（５００）に格納されている組合せテーブルに従って、当該ファームウェアと既にＰＬＣ（１００）に格納されているユーザコンフィグレーションデータとの組合せの適否を判断する。
2015136965.tif 000002
【特許請求の範囲】
【請求項１】
可搬型記録媒体のデータを読み込むための読取装置と、
制御に用いられるデータを記憶する記憶装置と、
前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むためのプロセッサとを備え、
前記可搬型記録媒体には、さらに、データの種類の組合せを特定する情報である組合せ情報が記録されており、
前記プロセッサは、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含む場合には、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込み、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合には、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込まないように構成されている、制御機器。
【請求項２】
前記記憶装置に記憶されたデータは、前記制御機器の一種類または複数種類のファームェアであり、
前記可搬型記録媒体に記録されたデータは、前記ファームウェアによる制御に用いられる一種類または複数種類の設定データであり、
前記組合せ情報は、前記ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である、請求項１に記載の制御機器。
【請求項３】
前記記憶装置に記憶されたデータは、前記ファームウェアによる制御に用いられる一種類または複数種類の設定データであり、
前記組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である、請求項２に記載の制御機器。
【請求項４】
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、報知動作を実行する報知部をさらに備える、請求項１〜請求項３のいずれか１項に記載の制御機器。
【請求項５】
制御機器と、前記制御機器に書き込まれるデータを可搬型記録媒体に記録するための支援装置とを備える制御システムであって、
前記支援装置は、
可搬型記録媒体に情報を記録するための記録装置と、
前記記録装置の動作を制御するためのコントローラとを含み、
前記コントローラは、前記記録装置に、前記可搬型記録媒体へ、データと、当該データの種類と組み合わされるデータの種類を特定する情報である組合せ情報とを記録させるように構成されており、
前記制御機器は、
前記可搬型記録媒体のデータを読み込むための読取装置と、
前記制御機器の制御に用いられるデータを記憶する記憶装置と、
前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むためのプロセッサとを含み、
前記プロセッサは、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含む場合には、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込み、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合には、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込まないように構成されている、制御システム。
【請求項６】
前記記憶装置に記憶されたデータは、前記制御機器における動作を制御するための一種類または複数種類のファームウェアであり、
前記可搬型記録媒体に記録されたデータは、前記ファームウェアによる制御に用いられる一種類または複数種類の設定データであり、
前記組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である、請求項５に記載の制御システム。
【請求項７】
前記記憶装置に記憶されたデータは、ファームウェアによる制御に用いられる一種類または複数種類の設定データであり、
前記組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である、請求項６に記載の制御システム。
【請求項８】
前記制御機器は、前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、報知動作を実行する報知部をさらに含む、請求項５〜請求項７のいずれか１項に記載の制御システム。
【請求項９】
可搬型記録媒体のデータを読み込むための読取装置と、制御に用いられるデータを記憶する記憶装置とを備える制御機器のプロセッサによって実行される、当該制御機器の制御方法であって、
前記可搬型記録媒体には、データと、データの種類の組合せを特定する情報である組合せ情報とが記録されており、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含むか否かを判断するステップと、
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含む場合に、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むステップとを備える、制御機器の制御方法。
【請求項１０】
前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むことなく報知を実行するステップをさらに備える、請求項９に記載の制御機器の制御方法。
【請求項１１】
制御機器と、前記制御機器に書き込まれるデータを可搬型記録媒体に記録するための支援装置とを備える制御システムの制御方法であって、
前記支援装置は、可搬型記録媒体に情報を記録するための記録装置を含み、
前記制御方法は、前記支援装置が、前記記録装置に、前記可搬型記録媒体へ、データと、当該データの種類と組み合わされるデータの種類を特定する情報である組合せ情報とを記録させるステップを備え、
前記制御機器は、前記可搬型記録媒体のデータを読み込むための読取装置と、前記制御機器の制御に用いられるデータを記憶する記憶装置とを含み、
前記制御方法は、前記制御機器が、前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含むか否かを判断するステップと、
前記制御方法は、前記制御機器が、前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含む場合に、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むステップとを備える、制御システムの制御方法。
【請求項１２】
前記制御方法は、前記制御機器が、前記可搬型記録媒体に記録されている組合せ情報が、前記記憶装置が記憶するデータの種類と前記可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、前記可搬型記録媒体に記録されたデータを前記記憶装置に書き込むことなく報知を実行するステップをさらに備える、請求項１１に記載の制御システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御機器へのデータの書き込みに関する。
【背景技術】
【０００２】
生産工場の製造現場等に設置されるＦＡ（ファクトリオートメーション）システムでは、当該システムの制御を司るＰＬＣ（プログラマブルロジックコントローラ）等の制御機器が利用されている。当該制御機器は、制御プログラムに基づいて演算を実行することにより、上記システムを制御する。このような制御機器における制御プログラム等のデータのダウンロードについて、従来、種々の技術が提案されている。【０００３】
たとえば、特開２００７−９５１０７号公報（特許文献１）は、制御機器のユニットごとのパラメータの設定に関する技術を開示している。より具体的には、情報処理装置から制御機器へのパラメータのダウンロードに際して、情報処理装置は、パラメータ設定の際に使用した機種情報定義ファイルのバージョンと、制御機器におけるユニットのバージョンとを比較する。そして、情報処理装置は、両バージョンが一致する場合、または、ユニットのバージョンの方が新しい場合には、制御機器へのダウンロードを実行し、ユニットのバージョンの方が古い場合には制御機器へのダウンロードを禁止した上でエラーを表示する。【０００４】
また、特開２００７−９４５４６号公報（特許文献２）は、制御機器に制御プログラムと当該制御プログラムの付加情報とをダウンロードさせるプログラム作成支援装置を開示している。より具体的には、プログラム作成支援装置は、制御機器に制御プログラムと付加情報とをダウンロードする際に、制御機器がメモリ容量の点から付加情報を格納できない場合には、付加情報を当該メモリ容量に収めるように加工した後で、制御機器に制御プログラムと付加情報とをダウンロードさせる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−９５１０７号公報
【特許文献２】特開２００７−９４５４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、制御システムでは、制御機器へのプログラムやデータのダウンロードが迅速にかつ簡易に行なわれることが求められている。これは、制御機器におけるダウンロードが、当該制御機器の量産時、および、制御機器の故障時に行なわれることにも影響を受けている。【０００７】
たとえば制御機器の量産時に上記ダウンロードが行なわれる場合、量産における生産性の向上の観点から、ダウンロードは迅速に行なわれることが好ましい。また、量産時に誤ったデータ等のダウンロードを回避するために、ダウンロードは簡易に行なわれることが好ましい。【０００８】
また、制御機器の故障時に上記ダウンロードが行なわれる場合、制御機器の故障による生産の停止時間を短縮するために、ダウンロードは迅速に行なわれることが好ましい。また、製造現場において熟練度の低い作業員でも間違いなくダウンロードが行なえるように、ダウンロードは簡易に行なわれることが好ましい。【０００９】
しかしながら、従来の制御システムでは、制御機器におけるデータのプログラムのダウンロードを含めて、制御機器におけるデータの書き込みに関し、その作業を簡易にするという観点では検討がなされていなかった。【００１０】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、制御機器におけるプログラムやデータの書き込みが迅速にかつ簡易に行なうことができるようにすることである。
【課題を解決するための手段】
【００１１】
ある局面に従うと、制御機器が提供される。制御機器は、可搬型記録媒体のデータを読み込むための読取装置と、制御に用いられるデータを記憶する記憶装置と、可搬型記録媒体に記録されたデータを記憶装置に書き込むためのプロセッサとを備える。可搬型記録媒体には、さらに、データの種類の組合せを特定する情報である組合せ情報が記録されている。プロセッサは、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含む場合には、可搬型記録媒体に記録されたデータを記憶装置に書き込むように構成されている。プロセッサは、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合には、可搬型記録媒体に記録されたデータを記憶装置に書き込まないように構成されている。【００１２】
好ましくは、記憶装置に記憶されたデータは、制御機器の一種類または複数種類のファームェアである。可搬型記録媒体に記録されたデータは、ファームウェアによる制御に用いられる一種類または複数種類の設定データである。組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である。【００１３】
好ましくは、可搬型記録媒体に記録されたデータは、制御機器の一種類または複数種類のファームウェアである。記憶装置に記憶されたデータは、ファームウェアによる制御に用いられる一種類または複数種類の設定データである。組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である。【００１４】
好ましくは、制御機器は、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、報知動作を実行する報知部をさらに備える。【００１５】
他の局面に従うと、制御機器と、制御機器に書き込まれるデータを可搬型記録媒体に記録するための支援装置とを備える制御システムが提供される。支援装置は、可搬型記録媒体に情報を記録するための記録装置と、記録装置の動作を制御するためのコントローラとを含む。コントローラは、記録装置に、可搬型記録媒体へ、データと、当該データの種類と組み合わされるデータの種類を特定する情報である組合せ情報とを記録させるように構成されている。制御機器は、可搬型記録媒体のデータを読み込むための読取装置と、制御機器の制御に用いられるデータを記憶する記憶装置と、可搬型記録媒体に記録されたデータを記憶装置に書き込むためのプロセッサとを含む。プロセッサは、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含む場合には、可搬型記録媒体に記録されたデータを記憶装置に書き込む。プロセッサは、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合には、可搬型記録媒体に記録されたデータを記憶装置に書き込まないように構成されている。【００１６】
好ましくは、記憶装置に記憶されたデータは、制御機器における動作を制御するための一種類または複数種類のファームウェアである。可搬型記録媒体に記録されたデータは、ファームウェアによる制御に用いられる一種類または複数種類の設定データである。組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である。【００１７】
好ましくは、記憶装置に記憶されたデータは、ファームウェアによる制御に用いられる一種類または複数種類の設定データである。組合せ情報は、ファームウェアの種類と当該ファームウェアによる制御に用いられる設定データの種類との組合せを特定する情報である。【００１８】
好ましくは、制御機器は、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、報知動作を実行する報知部をさらに含む。【００１９】
さらに他の局面に従うと、可搬型記録媒体のデータを読み込むための読取装置と、制御に用いられるデータを記憶する記憶装置とを備える制御機器のプロセッサによって実行される、当該制御機器の制御方法が提供される。可搬型記録媒体には、データと、データの種類の組合せを特定する情報である組合せ情報とが記録されている。制御方法は、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含むか否かを判断するステップと、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含む場合に、可搬型記録媒体に記録されたデータを記憶装置に書き込むステップとを備える。【００２０】
好ましくは、制御方法は、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、可搬型記録媒体に記録されたデータを記憶装置に書き込むことなく報知を実行するステップをさらに備える。【００２１】
さらに他の局面に従うと、制御機器と、制御機器に書き込まれるデータを可搬型記録媒体に記録するための支援装置とを備える制御システムの制御方法が提供される。支援装置は、可搬型記録媒体に情報を記録するための記録装置を含む。制御方法は、支援装置が、記録装置に、可搬型記録媒体へ、データと、当該データの種類と組み合わされるデータの種類を特定する情報である組合せ情報とを記録させるステップを備える。制御機器は、可搬型記録媒体のデータを読み込むための読取装置と、制御機器の制御に用いられるデータを記憶する記憶装置とを含む。制御方法は、制御機器が、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含むか否かを判断するステップと、制御方法は、制御機器が、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含む場合に、可搬型記録媒体に記録されたデータを記憶装置に書き込むステップとを備える。【００２２】
好ましくは、制御方法は、制御機器が、可搬型記録媒体に記録されている組合せ情報が、記憶装置が記憶するデータの種類と可搬型記録媒体に記録されているデータの種類との組合せを含まない場合に、可搬型記録媒体に記録されたデータを記憶装置に書き込むことなく報知を実行するステップをさらに備える。
【発明の効果】
【００２３】
本発明によれば、制御機器は、記録媒体に記録されているデータの書き込みの可否を、当該記録媒体に記録されている組合せ情報に従って、判断し得る。したがって、制御機器におけるデータの書き込みにおいて、当該書き込みに立ち会う作業員が、制御機器へのデータの書き込みの可否を判断するための知識を備えている必要が無い。【００２４】
これにより、制御機器へのデータの書き込みが簡易に行なわれ得る。また、制御機器へのデータの書き込みに際して作業員の判断を要することがない。つまり、制御機器へのデータの書き込みが、制御機器によって自動的に実行され得る。これにより、制御機器へのデータの書き込みが、迅速にかつ簡易に行なわれ得る。
【図面の簡単な説明】
【００２５】
【図１】４つの実施の形態の制御システムのそれぞれが利用される製造現場の構成の一例を概略的に示す図である。
【図２】制御システムのシステム構成を模式的に示す図である。
【図３】制御機器の一例であるＰＬＣの機能的な構成の一例を示す図である。
【図４】ＰＬＣのハードウェア構成の一例を示す図である。
【図５】支援装置のハードウェア構成の一例を示す図である。
【図６】制御システムの第１の実施の形態における支援装置の機能構成の一例を模式的に示す図である。
【図７】第１の実施の形態の組合せテーブルに含まれる情報の一例を示す図である。
【図８】支援装置において実行される処理の一例のフローチャートである。
【図９】システムファームウェアとユーザコンフィグレーションデータとの組合せを特定する情報の一例を模式的に示す図である。
【図１０】アドオンファームウェアとユーザコンフィグレーションデータとの組合せを特定する情報の一例を模式的に示す図である。
【図１１】第２の実施の形態の支援装置において実行される、記録媒体へのユーザコンフィグレーションデータの記録のための処理のフローチャートである。
【図１２】ＰＬＣへのデータの書込処理の一例のフローチャートである。
【図１３】第３の実施の形態の支援装置において記録媒体に記録するための処理のフローチャートである。
【図１４】ＰＬＣへのデータの書込処理の他の例のフローチャートである。
【図１５】第４の実施の形態の支援装置において実行される、記録媒体にデータを記録するための処理のフローチャートである。
【発明を実施するための形態】
【００２６】
本発明に従う制御システムの４つの実施の形態について、図面を参照しながら詳細に説明する。より具体的には、まず全ての実施の形態における共通部分を説明し、その後、各実施の形態の詳細を説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【００２７】
＜製造現場の構成＞
図１は、４つの実施の形態の制御システムのそれぞれが利用される製造現場の構成の一例を概略的に示す図である。図１を参照して、製造現場において、消費財５が、コンベア４上を矢印Ａ１が示す方向に沿って流れる際に、各消費財５は、製造装置２Ａ，２Ｃ，２Ｅのそれぞれにおいて処理を施される。
【００２８】
消費財５とは、たとえば工場で製造される商品を意味する。消費財５の一例としては、食品や医薬品、衣装、家財、家電、自動車、またはスマートフォン等の、一般消費者向けの商品が挙げられる。また、消費財５の他の例としては、半導体、液晶パネル、自動車部品、または木材等の、一般消費者向け商品に使用される部品が挙げられる。
【００２９】
製造装置２Ａ，２Ｃ，２Ｅとは、消費財を製造するための装置を意味する。製造装置２Ａ，２Ｃ，２Ｅの一例としては、たとえば、半導体製造装置、工作機、包装機、および、プレス機が挙げられる。
【００３０】
製造装置２Ａ，２Ｃ，２Ｅには、各製造装置を制御するためのＦＡ制御機器（以下、単に「制御機器」という）が搭載されている。より具体的には、製造装置２Ａには、制御機器３Ａ，３Ｂが搭載されている。製造装置２Ｃには、制御機器３Ｃ，３Ｄが搭載されている。製造装置２Ｅには、制御機器３Ｅ，３Ｆが搭載されている。制御機器３Ａ〜３Ｆの一例としては、ＰＬＣが挙げられる。また、制御機器３Ａ〜３Ｆは、広義には、表示機、センサ、サーボモータ、ロボットなどを含み得る。
【００３１】
＜制御システムの構成＞
各実施の形態に係る制御システムの構成について説明する。各実施の形態では、機械や設備などの制御対象を制御するＰＬＣを制御機器（図１に示された制御機器３Ａ〜３Ｆ）の典型例として、説明を行う。但し、本発明に係る制御機器は、ＰＬＣに限られることなく、各種の制御機器へ適用可能である。
【００３２】
図２は、制御システム１のシステム構成を模式的に示す図である。図２を参照して、制御システム１は、ＰＬＣ１００と、支援装置３００とを含む。
【００３３】
支援装置３００は、ＰＬＣ１００において実行され得るプログラムについての、各種パラメータの設定、プログラミング、モニタリング、デバッグなどを行なう。ＰＬＣ１００と支援装置３００との間は、典型的には、ＵＳＢ（Universal  Serial  Bus）規格に従って通信可能に構成される。なお、支援装置３００は、ＰＬＣ１００が読み込み可能な可搬型記録媒体（以下、単に「記録媒体」という）５００に、ＰＬＣ１００に書き込まれるプログラムやデータを記録する。これにより、支援装置３００がＰＬＣ１００と直接接続できない状態でも、ＰＬＣ１００へのプログラム等のデータの書き込みが可能になる。記録媒体５００は、ＰＬＣ１００および支援装置３００に対して着脱可能な記録媒体である。
【００３４】
ＰＬＣ１００は、制御演算を実行するＣＰＵ（Central  Processing  Unit）ユニット１０４と、１つ以上のＩＯ（Input/Output）ユニット１０６とを含む。これらのユニットは、ＰＬＣシステムバス１０８を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット１０２によって適切な電圧の電源が供給される。
【００３５】
制御システム１において、ＰＬＣ１００は、（ＰＬＣシステムバス１０８を介して接続される）ＩＯユニット１０６を介して、および／または、フィールドバス１１０を介して、各種のフィールド機器との間でデータを遣り取りする。これらのフィールド機器は、制御対象に対して何らかの処理を行うためのアクチュエータや、制御対象から各種情報を取得するためのセンサなどを含む。
【００３６】
図２には、このようなフィールド機器の一例として、検出スイッチ１０、リレー２０、および、モータ３２を駆動するサーボモータドライバ３０が示されている。また、ＰＬＣ１００は、フィールドバス１１０を介して、リモートＩＯターミナル２００に接続されている。リモートＩＯターミナル２００は、基本的には、ＩＯユニット１０６と同様に、一般的な入出力処理に関する処理を行う。より具体的には、リモートＩＯターミナル２００は、フィールドバス１１０でのデータ伝送に係る処理を行うための通信カプラ２０２と、１つ以上のＩＯユニット２０４とを含む。これらのユニットは、リモートＩＯターミナルバス２０８を介して、データを互いに遣り取りできるように構成される。
【００３７】
＜ＰＬＣの機能構成＞
図３は、制御機器の一例であるＰＬＣの機能的な構成の一例を示す図である。ＰＬＣ１００には、システムファームウェア１０４Ａおよびアドオンファームウェア１０４Ｂがインストールされている。システムファームウェア１０４Ａは、ＰＬＣ１００の基本機能を提供するソフトウェアである。図３に示されるように、システムファームウェア１０４Ａは、「Basic  middleware」および「Basic  application」といった、制御機器の基本機能（プログラム実行、通信、センシング等）を実現するためのソフトウェアを含む。また、システムファームウェア１０４Ａは、ＯＳ（Operating  System）を含む。また、システムファームウェア１０４Ａは、「Bootloader」「FPGA」および「Device  driver」といった、制御機器の表示装置やメモリ等の、制御機器に搭載されたハードウェア資源を制御するソフトウェアを含む。
【００３８】
アドオンファームウェア１０４Ｂは、制御機器に応用機能を付加するソフトウェアである。応用機能とは、制御機器が搭載される製造装置特有の機能である。一例として、温度制御機能や特殊通信機能が挙げられる。また、応用機能は、制御機器のメーカが競争力を高めるために、制御機器の基本機能とは異なる機能であって、それによって制御機器の価値を高めることを希望される機能である。つまり、応用機能は、制御機器ごとに、また、制御機器が搭載される製造装置ごとに、異なる場合があり得る。
【００３９】
ＰＬＣ１００は、さらに、ユーザコンフィグレーションデータ１０４Ｃを含む。ユーザコンフィグレーションデータ１０４Ｃとは、設定データの一例であって、ＰＬＣ１００を設定変更やプログラミングによってカスタマイズするためのデータ（データ群）である。ＰＬＣ１００において利用されるユーザコンフィグレーションデータ１０４Ｃは、システムファームウェア１０４Ａをカスタマイズするためのデータと、アドオンファームウェア１０４Ｂをカスタマイズするためのデータとを含む。
【００４０】
＜ＰＬＣのハードウェア構成＞
図４は、ＰＬＣ１００のハードウェア構成の一例を示す図である。図４に示されるように、ＰＬＣ１００は、プロセッサ１２２と、メインメモリ１２４と、不揮発性メモリ１２６と、ＬＥＤ（Light  Emitting  Diode）１２８と、入力装置１３２と、コネクタ１３４と、ＳＤ（Secure  Data）メモリカード・インタフェース１３６とを含む。
【００４１】
プロセッサ１２２は、不揮発性メモリ１２６等に格納されたプログラムを実行することにより、ＰＬＣ１００の動作を制御する。メインメモリ１２４は、プロセッサ１２２の作業領域として利用され得る。不揮発性メモリ１２６は、プログラム等の各種のデータを記憶する。ＬＥＤ１２８は、報知部の一例であり、プロセッサ１２２によって点灯動作を制御される。入力装置１３２は、外部からの情報の入力を受け付け、たとえばボタン等によって構成される。コネクタ１３４は、ＵＳＢ（Universal  Serial  Bus）メモリ等の、外部の機器と接続するために設けられている。ＳＤメモリカード・インタフェース１３６は、記録媒体５００の一例であるＳＤメモリカードに記録された情報を読み出す。
【００４２】
＜支援装置３００のハードウェア構成＞
図５は、支援装置３００のハードウェア構成の一例を示す図である。図５に示されるように、支援装置３００は、典型的には、汎用のコンピュータで構成される。
【００４３】
図５に示されるように、支援装置３００は、ＯＳを含む各種プログラムを実行するＣＰＵ３０２と、ＢＩＯＳや各種データを格納するＲＯＭ（Read  Only  Memory）３０４と、ＣＰＵ３０２でのプログラムの実行に必要なデータを格納するための作業領域を提供するＲＡＭ（Random  Access  Memory）３０６と、ＣＰＵ３０２で実行されるプログラムなどを不揮発的に格納するハードディスク（ＨＤＤ）３０８とを含む。制御システム１では、ＣＰＵ３０２とＲＡＭ３０６とによって、コントローラの一例が構成される。
【００４４】
ハードディスク３０８には、サポートプログラム３３０が格納されている。サポートプログラム３３０は、支援装置３００がＰＬＣ１００において実行されるプログラムを調整するためのアプリケーションプログラムを含む。
【００４５】
支援装置３００は、さらに、ユーザからの操作を受け付けるキーボード３１０およびマウス３１２と、情報をユーザに提示するためのモニタ３１４とを含む。また、支援装置３００は、記録媒体５００に記録されたデータを読み込み、また、記録媒体５００にデータを記録するためのＳＤメモリカード・インタフェース３１６を含む。さらに、支援装置３００は、ＰＬＣ１００（ＣＰＵユニット１０４）などと通信するための通信インターフェイス（ＩＦ）３１８を含む。
【００４６】
支援装置３００で実行されるサポートプログラム３３０などのプログラムは、光学記録媒体に格納されて流通し得る。光学記録媒体に格納されたプログラムは、光学記録媒体専用のドライブ装置（図示せず）において読み取られ、ハードディスク３０８などへ格納され得る。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムを書き込むように構成してもよい。
【００４７】
本実施の形態では、ハードディスク３０８は、記憶装置の一例である。また、ＳＤメモリカード・インタフェース３１６は、記録装置の一例である。
【００４８】
［第１の実施の形態］
以上説明した制御システムでは、ＰＬＣ１００等の制御機器において実行されるプログラムは、当該制御機器のファームウェアを含む。制御機器に置いて、ファームウェアは、大きく分類して、システムファームウェアとアドオンファームウェアとの２つの種類に分類される。ＰＬＣ１００は、記録媒体５００を介して、これらのプログラムを書き込む場合もある。制御システムの第１の実施の形態では、支援装置３００は、ＰＬＣ５００のために、上記された２種類のファームウェアを記録媒体５００に記録する。より具体的には、支援装置３００は、上記２種類のファームウェアを、予め定められた組合せで記録媒体５００に記録する。以下、第１の実施の形態の制御システムについて説明する。
【００４９】
＜機能構成＞
図６は、制御システムの第１の実施の形態における支援装置３００の機能構成の一例を模式的に示す図である。図６に示されるように、支援装置３００には、プロジェクトファイル３５０と、ファームウェアデータベース３６０と、組合せテーブル３７０とが格納されている。
【００５０】
プロジェクトファイル３５０は、制御機器を動作させるためのデータ群の一例であり、ユーザプログラム（後述するシステムファームウェアおよびアドオンファームウェア）およびシステム構成を表すデータ（ユーザコンフィグレーションデータ）を含む。より具体的には、プロジェクトファイル３５０は、ＰＬＣ１００において実行されるシステムファームウェアおよびアドオンファームウェアを特定する情報、ならびに、これらのファームウェアにおける設定用のデータであるユーザコンフィグレーションデータを含む。プロジェクトファイル３５０は、たとえばＨＤＤ３０８に格納される。
【００５１】
ファームウェアデータベース３６０は、制御機器のファームウェアデータとそのライセンスとを格納するデータベースである。ファームウェアデータベース３６０は、プロジェクトファイル３５０において指定される種類に従って、ファームウェアを特定する。ファームウェアの種類は、ファームウェアに関する大分類（システムファームウェア、アドオンファームウェア、…）とバージョン（Ver1.0、Ver1.1、…）に基づく分類をとを含む。ファームウェアデータベース３６０は、たとえば、ファームウェアを格納するＨＤＤ３０８と、当該格納されたファームウェアの検索を実行するＣＰＵ３０２とによって実現される。
【００５２】
組合せテーブル３７０は、ファームウェアデータベース３６０に格納されているデータ同士の組合せに関する情報を格納する。たとえば、組合せテーブル３７０は、システムファームウェアの種類ごとに、各種類のシステムファームウェア上で正常に動作するアドオンファームウェアの種類を特定する情報を含む。組合せテーブル３７０は、たとえばＨＤＤ３０８に格納される。また、組合せテーブル３７０は、システムファームウェアの種類ごとに、各種類のシステムファームウェアの設定に利用できるユーザコンフィグレーションデータの種類を特定する情報を含む。さらに、組合せテーブル３７０は、アドオンファームウェアの種類ごとに、各種類のアドオンファームウェアの設定に利用できるユーザコンフィグレーションデータの種類を特定する情報を含む。
【００５３】
＜組合せテーブル＞
図７は、第１の実施の形態の組合せテーブル３７０に含まれる情報の一例を示す図である。図７に示されるように、組合せテーブル３７０は、システムファームウェアのバージョンごとに、当該バージョン上で使用可能な（正常に動作する）アドオンファームウェアの種類を指定する情報を含む。ここで指定される種類とは、アドオンファームウェアのタイトルおよびバージョンを識別する。つまり、組合せテーブル３７０では、タイトルが共通しても、バージョンが異なるアドオンファームウェア同士は、互いに異なる種類のアドオンファームウェアとして識別される。システムファームウェアのバージョンおよびアドオンファームウェアのバージョンは、たとえば、各ファームウェアのプログラムのファイル名によって特定され得る。
【００５４】
たとえば、組合せテーブル３７０では、バージョン「Ｖ１．０」のシステムファームウェアに対して、「Add-on_A  V1.0」という情報が関連付けられている。これは、バージョ
ン「Ｖ１．０」のシステムファームウェア上では、「Add-on_A」という種類のアドオンファームウェアのバージョン「V1.0」のプログラムが正常に動作することを意味する。
【００５５】
また、組合せテーブル３７０では、バージョン「Ｖ１．１」のシステムファームウェアに対して、「Add-on_A  V1.0」という情報と「Add-on_B  V1.0」という情報とが関連付けられている。これは、バージョン「Ｖ１．１」のシステムファームウェア上では、「Add-on_A」という種類のアドオンファームウェアのバージョン「V1.0」のプログラムと、「Add-on_B」という種類のアドオンファームウェアのバージョン「V1.0」のプログラムとが正常に動作することを意味する。
【００５６】
支援装置３００において、図７に示されたようなテーブルは、たとえばＨＤＤ３０８に格納される。なお、上記したような組合せを特定する情報は、テーブル形式以外のいかなる公知の形式（たとえば、関数等）でも記憶され得る。
【００５７】
第１の実施の形態の制御システムでは、支援装置３００は、組合せテーブルにおいて指定される組合せのシステムファームウェアとアドオンファームウェアとを、記録媒体５００に格納する。より具体的には、支援装置３００では、プロジェクトファイルを作成するためのソフトウェア（たとえば、プロジェクトファイル作成用のアプリケーション）がインストールされている。当該アプリケーションにおいて、まずシステムファームウェアが設定される。次に、当該アプリケーションは、アドオンファームウェアの指定を受け付ける。ただし、当該アプリケーションが指定を受け付けるのは、既に指定されているシステムファームウェア上で正常に動作し得るアドオンファームウェアのみである。つまり、上記アプリケーションは、システムファームウェアを設定した後、上記したテーブルにおいて当該設定されたシステムファームウェア上で正常に動作し得るアドオンファームウェアの指定のみを受け付け、それ以外のアドオンファームウェアが指定された際にはエラー報知等を行なう。
【００５８】
これにより、プロジェクトファイルでは、組合せテーブルにおける規定に従ったシステムファームウェアとアドオンファームウェアの組合せが指定されるようになる。上記アプリケーションは、プロジェクトファイルにおいて指定されたシステムファームウェアとアドオンファームウェアとを記録媒体５００に記憶する。したがって、本実施の形態において記録媒体５００に記憶されるシステムファームウェアとアドオンファームウェアの組合せは、正常に動作し得る組合せとなる。
【００５９】
＜記録媒体へのデータの記録＞
図８は、支援装置３００において実行される処理の一例のフローチャートである。当該処理は、支援装置３００が、記録媒体５００に、ファームウェアデータベース３６０内のファームウェアを記録するための処理である。当該処理は、ＣＰＵ３０２が、所与のプログラム（たとえば、上記したプロジェクトファイル作成用のアプリケーション）を実行することによって、実現される。
【００６０】
図８を参照して、ステップＳ１０で、ＣＰＵ３０２は、システムファームウェアの種類およびアドオンファームウェアの種類の選択を受け付ける。
【００６１】
ステップＳ１２で、ＣＰＵ３０２は、ステップＳ１０で指定を受け付けたシステムファームウェアとアドオンファームウェアの組合せは、組合せテーブル３７０に基づいて、組み合わせることが可能なものであるかどうかを判断する。そして、ＣＰＵ３０２は、組合せ可能なものであると判断するとステップＳ１６へ制御を進め（ステップＳ１２でＹＥＳ）、組合せ可能なものではない（たとえば、組合せテーブル３７０において規定されていない組合せである）と判断するとステップＳ１４へ制御を進める（ステップＳ１２でＮＯ）。
【００６２】
ステップＳ１４では、ＣＰＵ３０２は、選択されている組合せが許可されないことを報知して、ステップＳ１０へ制御を戻す。当該報知は、たとえば、モニタ３１４に組合せが許可されたものではないことを示すメッセージの表示によって実現される。
【００６３】
ステップＳ１６では、ＣＰＵ３０２は、記録媒体５００への書き込みの指示を入力されたかどうかを判断する。当該指示が入力されたと判断するまで、ＣＰＵ３０２は、ステップＳ１６で指示を待つ（ステップＳ１６でＮＯ）。そして、当該指示が入力されたと判断すると、ＣＰＵ３０２は、ステップＳ１８へ制御を進める（ステップＳ１６でＹＥＳ）。
【００６４】
ステップＳ１８では、ＣＰＵ３０２は、指定されたシステムファームウェアとアドオンファームウェアとを記録媒体５００に記録して、処理を終了させる。
【００６５】
以上説明した図８の処理により、記録媒体５００に書き込まれるシステムファームウェアとアドオンファームウェアとの組合せは、組合せテーブル３７０において規定された組合せとなる。
【００６６】
これにより、作業員は、当該記録媒体５００を利用してＰＬＣ１００にファームウェアを書き込む場合、記録媒体５００に記録されている２つの種類のファームウェアの組合せを考慮することなく作業することができる。
【００６７】
［第２の実施の形態］
第２の実施の形態の制御システムでは、支援装置３００は、記録媒体５００に、コンフィグレーションデータとともに、上記した組合せテーブルを記録する。以下、制御システムの構成を説明する。
【００６８】
＜組合せテーブル＞
第２の実施の形態の制御システムでは、図６に示された組合せテーブル３７０は、ユーザコンフィグレーションデータについての組合せを特定する情報を含む。より具体的には、組合せテーブル３７０は、ユーザコンフィグレーションデータとシステムファームウェアとの組合せを特定する情報、および、ユーザコンフィグレーションデータとアドオンファームウェアとの組合せを特定する情報を含む。
【００６９】
図９は、システムファームウェアとユーザコンフィグレーションデータとの組合せを特定する情報の一例を模式的に示す図である。図９に示されるように、組合せテーブル３７０では、システムファームウェアのバージョンと、各システムファームウェアに対して使用することができるユーザコンフィグレーションデータの種類（バージョン）が関連付けられている。たとえば、バージョン「V1.0」のシステムファームウェアには、バージョン「User  configuration  data  (System)  for  V1.0」のユーザコンフィグレーションデータ、および、バージョン「User  configuration  data  (System)  for  V1.1」のユーザコンフィグレーションデータが関連付けられている。システムファームウェアのバージョンは、たとえば各ファームウェアのプログラムのファイル名によって特定され得る。また、ユーザコンフィグレーションデータのバージョンは、たとえば当該データのファイル名によって特定され得る。
【００７０】
図１０は、アドオンファームウェアとユーザコンフィグレーションデータとの組合せを特定する情報の一例を模式的に示す図である。図１０に示されるように、組合せテーブル３７０では、アドオンファームウェアのバージョンと、各システムファームウェアに対して使用することができるユーザコンフィグレーションデータの種類（バージョン）が関連付けられている。図１０では、複数種類のアドオンファームウェアの中の１つの種類「アドオンＡ」についての関係が示されている。たとえば、アドオンＡのバージョン「V1.0」のアドオンファームウェアには、バージョン「User  configuration  data  (Add-on_A)  for  V1.0」のユーザコンフィグレーションデータが関連付けられている。アドオンファームウェアのバージョンは、たとえば各ファームウェアのプログラムのファイル名によって特定され得る。
【００７１】
＜記録媒体へのデータの記録＞
図１１は、第２の実施の形態の支援装置３００において実行される、記録媒体５００へのユーザコンフィグレーションデータの記録のための処理のフローチャートである。
【００７２】
図１１を参照して、ステップＳ２０で、ＣＰＵ３０２は、ユーザコンフィグレーションデータの選択を受け付ける。
【００７３】
ステップＳ２２で、ＣＰＵ３０２は、記録媒体５００への書き込みの指示を受けたかどうかを判断する。まだ当該指示を受けていないと判断すると、ステップＳ２２で当該指示を待つ（ステップＳ２２でＮＯ）。そして、当該指示を受けたと判断すると、ステップＳ２４へ制御を進める（ステップＳ２２でＹＥＳ）。
【００７４】
ステップＳ２４では、ＣＰＵ３０２は、記録媒体５００に、ステップＳ２０で選択されたユーザコンフィグレーションデータに対応する組合せテーブルを生成する。
【００７５】
「対応する組合せテーブル」とは、組合せテーブル３７０の中の、選択されたユーザコンフィグレーションデータを含む部分を意味する。より具体的には、たとえば、図９に示されるように、バージョン「User  configuration  data  (System)  for  V1.0」のユーザコンフィグレーションデータは、バージョン「V1.0」「V1.1」および「V1.2」のシステムファームウェアに関連付けられている。このため、バージョン「User  configuration  data  (System)  for  V1.0」のユーザコンフィグレーションデータが選択されている場合には、ステップＳ２４では、組合せテーブル３７０から、バージョン「V1.0」「V1.1」および「V1.2」のシステムファームウェアを含む部分が抽出されることにより、「対応する組合せテーブル」が生成される。
【００７６】
また、図１０に示されるように、バージョン「User  configuration  data  (Add-on_A)  for  V1.0」のユーザコンフィグレーションデータは、アドオンＡのバージョン「V1.0」および「V1.1」のアドオンファームウェアに関連付けられている。このため、バージョン「User  configuration  data  (System)  for  V1.0」のユーザコンフィグレーションデータが選択されている場合には、組合せテーブル３７０から、バージョン「V1.0」「V1.1」および「V1.2」のシステムファームウェアを含む部分が抽出されることにより、「対応する組合せテーブル」が生成されされる。
【００７７】
図１１に戻って、ステップＳ２４で「対応する組合せテーブル」を生成した後、ステップＳ２６で、ＣＰＵ３０２は、選択されているユーザコンフィグレーションデータと、ステップＳ２４において生成した組合せテーブルとを記録媒体５００に記録して、処理を終了させる。
【００７８】
以上説明した図１１に示された処理では、ＣＰＵ３０２は、記録媒体５００に、選択されたユーザコンフィグレーションデータ、および、当該ユーザコンフィグレーションデータに対応する組合せテーブルを記録する。なお、記録媒体５００に記録される組合せテーブルは、少なくとも選択されたユーザコンフィグレーションデータに対応する部分を含んでいればよい。つまり、たとえば、ステップＳ２６において、組合せテーブル３７０の全体が記録媒体５００に記録される場合もあり得る。
【００７９】
＜ＰＬＣへのデータの書き込み＞
図１２は、図１１に示されたような処理によってデータを記録された記録媒体５００を利用したＰＬＣへのデータの書込処理のフローチャートである。図１２の処理は、ＰＬＣのプロセッサ１２２によって実行される。プロセッサ１２２は、ＳＤメモリカード・インタフェース１３６に記録媒体５００を装着された状態で、図１２の処理を実行する。
【００８０】
図１２を参照して、ステップＳ３０で、プロセッサ１２２は、記録媒体５００に格納されているユーザコンフィグレーションデータと、ＰＬＣ１００にインストールされているシステムファームウェアまたはアドオンファームウェアとの組合せが、記録媒体５００に記録されている組合せテーブル（ステップＳ２４，Ｓ２６）において規定されている内容に基づいて適切であるかどうかを判断する。より具体的には、プロセッサ１２２は、ＰＬＣ１００にインストールされているシステムファームウェアまたはアドオンファームウェアが、組合せテーブルにおいて、記録媒体５００に記録されているユーザコンフィグレーションデータに関連付けられている場合には、組合せが適切であると判断する。また、プロセッサは、関連付けられていない場合には、組合せが適切ではないと判断する。そして、プロセッサ１２２は、組合せが適切であると判断するとステップＳ３２へ制御を進める（ステップＳ３０でＹＥＳ）。また、プロセッサ１２２は、組合せが適切ではないと判断するとステップＳ３４へ制御を進める（ステップＳ３０でＮＯ）。
【００８１】
ステップＳ３２では、プロセッサ１２２は、記録媒体５００に記録されているユーザコンフィグレーションデータを不揮発性メモリ１２６に書き込み、図１２の処理を終了させる。
【００８２】
ステップＳ３４では、プロセッサ１２２は、ステップＳ３２において実行されるような書き込みを行なうことなく、記録媒体５００に記録されているデータが不正であることを報知して、処理を終了させる。
【００８３】
以上説明した第２の実施の形態では、ＰＬＣ１００が記録媒体５００からユーザコンフィグレーションデータを書き込む場合、当該記録媒体５００に格納されている組合せテーブルに従って、組合せの適否が判断される。つまり、ユーザコンフィグレーションデータの書き込みの作業に立ち会う作業員が、ユーザコンフィグレーションデータと、システムファームウェアおよび／またはアドオンファームウェアとの組合せの適否についての知識を有している必要が無い。これにより、当該書き込むが迅速かつ簡易に実行され得る。なお、上記作業に立ち会う作業員は、たとえば、ＰＬＣ１００に電源を投入するためのスイッチを操作し、図１２の処理を開始させるためのスイッチを操作し、および／または、ＰＬＣ１００に記録媒体５００を装着する。
【００８４】
また、記録媒体５００中のユーザコンフィグレーションデータが、ＰＬＣ１００にインストールされているシステムファームウェアおよび／またはアドオンファームウェアに適合しないものである場合、ステップＳ３４において報知が行なわれる。これにより、ＰＬＣ１００において、誤ったユーザコンフィグレーションデータが書き込まれることを回避できる。また、ＰＬＣ１００において、製造現場の管理者が意図しないシステムファームウェアおよび／またはアドオンファームウェアのバージョン変更が行なわれた場合、当該変更が容易に発見され得る。
【００８５】
［第３の実施の形態］
第３の実施の形態の制御システムでは、支援装置３００は、記録媒体５００に、システムファームウェアと、アドオンファームウェアと、ユーザコンフィグレーションデータと、組合せテーブルとを記録する。ＰＬＣ１００は、当該記録媒体５００を利用して、データの書き込みを実行する。以下、第３の実施の形態の制御システムの構成を説明する。
【００８６】
＜記録媒体へのデータの記録＞
図１３は、第３の実施の形態の支援装置３００において記録媒体５００に記録するための処理のフローチャートである。図１１を参照して、ステップＳ４０で、ＣＰＵ３０２は、システムファームウェアおよびアドオンファームウェアの選択を受け付ける。
【００８７】
ステップＳ４２で、ＣＰＵ３０２は、組合せテーブル３７０において規定される内容（図７参照）に基づいて、ステップＳ４０で選択された組合せが適切であるか否かを判断する。そして、ＣＰＵ３０２は、適切であると判断するとステップＳ４６へ制御を進める（ステップＳ４２でＹＥＳ）。また、ＣＰＵ３０２は、適切ではないと判断するとステップＳ４４へ制御を進める（ステップＳ４２でＮＯ）。
【００８８】
ステップＳ４４では、ＣＰＵ３０２は、選択されたシステムファームウェアとアドオンファームウェアの組合せが適切ではないことを報知して、ステップＳ４０へ制御を戻す。
【００８９】
ステップＳ４６では、ＣＰＵ３０２は、ユーザコンフィグレーションデータの選択を受け付ける。そして、制御は、ステップＳ４８へ進められる。
【００９０】
ステップＳ４８では、ＣＰＵ３０２は、組合せテーブル３７０において規定される内容（図９または図１０参照）に基づいて、ステップＳ４６で選択されたユーザコンフィグレーションデータが、ステップＳ４０で選択されたシステムファームウェアまたはアドオンファームウェアに対して適切に組み合わされるものであるかどうかを判断する。そして、ＣＰＵ３０２は、適切であると判断するとステップＳ５２へ制御を進める（ステップＳ４８でＹＥＳ）。また、ＣＰＵ３０２は、適切ではないと判断するとステップＳ５０へ制御を進める（ステップＳ４８でＮＯ）。
【００９１】
ステップＳ５０では、ＣＰＵ３０２は、選択されたユーザコンフィグレーションデータが、既に選択されているシステムファームウェアおよび／またはアドオンファームウェアに対して適切に組合されるものではないことを報知して、ステップＳ４６へ制御を戻す。
【００９２】
ステップＳ５２で、ＣＰＵ３０２は、記録媒体５００への書き込みの指示を受けたかどうかを判断する。まだ当該指示を受けていないと判断すると、ステップＳ５２で当該指示を待つ（ステップＳ５２でＮＯ）。そして、当該指示を受けたと判断すると、ステップＳ５４へ制御を進める（ステップＳ５２でＹＥＳ）。
【００９３】
ステップＳ５４で、ＣＰＵ３０２は、ステップＳ４０で選択されたシステムファームウェアおよびアドオンファームウェア、ならびに、ステップＳ４６で選択されたユーザコンフィグレーションデータに対応する組合せテーブルを生成する。
【００９４】
組合せテーブルの生成は、１）選択されたシステムファームウェアに対応する組合せテーブルの生成、２）選択されたアドオンファームウェアに対応する組合せテーブルの生成、および、３）選択されたユーザコンフィグレーションデータに対応する組合せテーブルの生成を含む。
【００９５】
１）選択されたシステムファームウェアに対応する組合せテーブルの生成は、たとえば、組合せテーブル３７０から、選択されたシステムファームウェアを含む部分を抽出することによって行われる。
【００９６】
２）選択されたアドオンファームウェアに対応する組合せテーブルの生成は、たとえば、組合せテーブル３７０から、選択されたアドオンファームウェアを含む部分を抽出することによって行われる。
【００９７】
３）選択されたユーザコンフィグレーションデータに対応する組合せテーブルの生成は、たとえば、組合せテーブル３７０から、選択されたユーザコンフィグレーションデータを含む部分を抽出することによって行われる。
【００９８】
ステップＳ５６で、ＣＰＵ３０２は、記録媒体５００に、ステップＳ４０で選択されたシステムファームウェアおよびアドオンファームウェア、ステップＳ４６で選択されたユーザコンフィグレーションデータ、ならびに、ステップＳ５４で生成した組合せテーブルを記録して、処理を終了させる。
【００９９】
＜ＰＬＣへのデータ書き込み＞
図１４は、記録媒体５００を利用する、ＰＬＣ１００へのデータの書込処理のフローチャートである。プロセッサ１２２は、ＳＤメモリカード・インタフェース１３６に記録媒体５００を装着された状態で、図１４の処理を実行する。
【０１００】
図１４を参照して、ステップＳ６０で、プロセッサ１２２は、ＰＬＣ１００にユーザコンフィグレーションデータが格納されているかどうかを判断する。プロセッサ１２２は、ステップＳ６０において、たとえば、ユーザコンフィグレーションデータ用の予め定められた文字列を含むファイル名のファイルが不揮発性メモリ１２６に格納されているか否かを判断する。プロセッサ１２２は、ＰＬＣ１００にユーザコンフィグレーションデータが格納されていると判断すると、ステップＳ６４へ制御を進める（ステップＳ６０でＹＥＳ）。プロセッサ１２２は、ＰＬＣ１００にユーザコンフィグレーションデータが格納されていないと判断すると、ステップＳ６２へ制御を進める（ステップＳ６０でＮＯ）。
【０１０１】
ステップＳ６２で、プロセッサ１２２は、記録媒体５００に格納されている全てのデータを不揮発性メモリ１２６に書き込み、図１４の処理を終了させる。
【０１０２】
ステップＳ６４で、プロセッサ１２２は、記録媒体５００に格納されているデータの種類を判断する。そして、プロセッサ１２２は、ファームウェア（システムファームウェアおよびアドオンファームウェア）のみが格納されていると判断すると、ステップＳ６６へ制御を進める。プロセッサ１２２は、ファームウェア（システムファームウェアおよびアドオンファームウェア）とユーザコンフィグレーションデータとが格納されていると判断すると、ステップＳ７２へ制御を進める。プロセッサ１２２は、ユーザコンフィグレーションデータのみが格納されていると判断すると、ステップＳ７４へ制御を進める。
【０１０３】
ステップＳ６６では、プロセッサ１２２は、記録媒体５００に格納されている組合せテーブルの内容に基づいて、ＰＬＣ１００に格納されているユーザコンフィグレーションデータと記録媒体５００に格納されているファームウェア（システムファームウェアおよびアドオンファームウェア）との組合せが適切であるか否かを判断する。より具体的には、プロセッサ１２２は、記録媒体５００内の組合せテーブルの中で、記録媒体５００内のシステムファームウェアを含む部分を抽出し、当該抽出した部分が、ＰＬＣ１００内のユーザコンフィグレーションデータを含むかどうかを判断する。また、プロセッサ１２２は、記録媒体５００内の組合せテーブルの中で、記録媒体５００内のアドオンファームウェアを含む部分を抽出し、当該抽出した部分が、ＰＬＣ１００内のユーザコンフィグレーションデータを含むかどうかを判断する。「含む」という判断は、組合せが適切であるという判断に相当する。「含まない」という判断は、組合せが適切ではないという判断に相当する。
【０１０４】
そして、プロセッサ１２２は、ＰＬＣ１００内のユーザコンフィグレーションデータが、記録媒体５００内のシステムファームウェアおよびアドオンファームウェアのいずれかとの組合せとして適切であると判断すると、ステップＳ６８へ制御を進める（ステップＳ６６でＹＥＳ）。プロセッサ１２２は、ＰＬＣ１００内のユーザコンフィグレーションデータが、記録媒体５００内のシステムファームウェアおよびアドオンファームウェアのいずれとも適切に組合せられないと判断すると、ステップＳ７０へ制御を進める（ステップＳ６６でＮＯ）。
【０１０５】
ステップＳ６８で、プロセッサ１２２は、ＰＬＣ１００内のユーザコンフィグレーションデータを残したまま、記録媒体５００に格納されたファームウェア（システムファームウェアおよびアドオンファームウェア）を不揮発性メモリ１２６に書き込み、図１４の処理を終了させる。
【０１０６】
ステップＳ７０で、プロセッサ１２２は、ステップＳ６８のような書き込みを行なうことなく、記録媒体５００が不正なデータを有することを報知して、処理を終了させる。当該報知は、たとえばＬＥＤ１２８の点灯または点滅である。
【０１０７】
ステップＳ７２では、プロセッサ１２２は、記録媒体５００内のファームウェア（システムファームウェアおよびアドオンファームウェア）およびユーザコンフィグレーションデータを不揮発性メモリ１２６に書き込み、図１４の処理を終了させる。
【０１０８】
ステップＳ７４では、プロセッサ１２２は、記録媒体５００に格納されている組合せテーブルの内容に基づいて、ＰＬＣ１００にインストールされているファームウェア（システムファームウェアおよびアドオンファームウェア）と記録媒体５００に記録されているユーザコンフィグレーションデータとの組合せが適切であるか否かを判断する。より具体的には、プロセッサ１２２は、記録媒体５００内の組合せテーブルの中で、記録媒体５００内のユーザコンフィグレーションデータを含む部分を抽出し、当該抽出した部分が、ＰＬＣ１００内のシステムファームウェアまたはアドオンファームウェアを含むかどうかを判断する。「含む」という判断は、組合せが適切であるという判断に相当する。「含まない」という判断は、組合せが適切ではないという判断に相当する。
【０１０９】
そして、プロセッサ１２２は、記録媒体５００内のユーザコンフィグレーションデータが、ＰＬＣ１００内のシステムファームウェアまたはアドオンファームウェアとの組合せとして適切であると判断すると、ステップＳ７６へ制御を進める（ステップＳ７４でＹＥＳ）。プロセッサ１２２は、記録媒体５００内のユーザコンフィグレーションデータが、ＰＬＣ１００内のシステムファームウェアおよびアドオンファームウェアのいずれとも適切に組合せられないと判断すると、ステップＳ７８へ制御を進める（ステップＳ７４でＮＯ）。
【０１１０】
ステップＳ７６で、プロセッサ１２２は、ＰＬＣ１００内にインストールされているシステムファームウェアまたはアドオンファームウェアを残したまま、記録媒体５００内のユーザコンフィグレーションデータを不揮発性メモリ１２６に書き込み、図１４の処理を終了させる。
【０１１１】
ステップＳ７８で、プロセッサ１２２は、ステップＳ７６のような書き込みを行なうことなく、記録媒体５００が不正なデータを有することを報知して、処理を終了させる。当該報知は、たとえばＬＥＤ１２８の点灯または点滅である。
【０１１２】
以上説明した第３の実施の形態では、ＰＬＣ１００では、記録媒体５００に記録されたデータの書き込みの可否を、当該記録媒体５００に記憶された組合せテーブルに従って判断する。
【０１１３】
より具体的には、ステップＳ７４〜Ｓ７８として示されたように、ＰＬＣ１００が記録媒体５００からユーザコンフィグレーションデータを書き込む場合、当該記録媒体５００に格納されている組合せテーブルに従って、当該ユーザコンフィグレーションデータと既にＰＬＣ１００に格納されているファームウェアとの組合せの適否が判断される。つまり、当該書き込みの作業に立ち会う作業員が、ユーザコンフィグレーションデータと、システムファームウェアおよび／またはアドオンファームウェアとの組合せの適否についての知識を有している必要が無い。これにより、当該ＰＬＣ１００へのデータの書き込みが迅速かつ簡易に実行され得る。
【０１１４】
また、ステップＳ６６〜Ｓ７０として示されたように、ＰＬＣ１００が記録媒体５００からファームウェア（システムファームウェアおよび／またはアドオンファームウェア）を書き込む場合、当該記録媒体５００に格納されている組合せテーブルに従って、当該ファームウェアと既にＰＬＣ１００に格納されているユーザコンフィグレーションデータとの組合せの適否が判断される。つまり、当該書き込みの作業に立ち会う作業員が、既にＰＬＣ１００に格納されているユーザコンフィグレーションデータと、書き込まれるシステムファームウェアおよびアドオンファームウェアとの組合せの適否についての知識を有している必要が無い。これにより、ＰＬＣ１００へのデータの書き込みが迅速かつ簡易に実行され得る。
【０１１５】
また、本実施の形態によれば、ＰＬＣ１００内のシステムファームウェア、アドオンファームウェア、および／またはユーザコンフィグレーションデータが、製造現場の管理者が意図しないうちにバージョン等を変更されることによって、書き込もうとしたファームウェアまたはユーザコンフィグレーションデータと適切に組合されなくなった場合、組合せが適切でないことが報知される（ステップＳ７０，Ｓ７８）。これにより、当該変更が容易に発見され得る。
【０１１６】
なお、図１４に示された書込処理は、図１３の処理に従ってデータを記録された記録媒体５００以外の記録媒体を利用した処理にも適用され得る。
【０１１７】
［第４の実施の形態］
第４の実施の形態の支援装置３００は、記録媒体５００に、システムファームウェア、アドオンファームウェア、および、ユーザコンフィグレーションデータを記録する。これらは、組合せテーブル３７０によって規定される適切な組合わせを構成する。このような組合せのシステムファームウェア、アドオンファームウェア、および、ユーザコンフィグレーションデータは、たとえば、新規のＰＬＣ１００にそのまま書き込まれる。
【０１１８】
図１５は、第４の実施の形態の支援装置３００において実行される、記録媒体５００にデータを記録するための処理のフローチャートである。
【０１１９】
図１３に示された処理と比較して、図１５に示された処理は、ステップＳ５４における組合せテーブルの生成を含まない。また、図１５に示された処理のステップＳ５６では、ＣＰＵ３０２は、記録媒体５００に、ステップＳ４０で選択されたシステムファームウェアおよびアドオンファームウェアと、ステップＳ４６で選択されたユーザコンフィグレーションデータとを記録する。
【０１２０】
第４の実施の形態の制御システムでは、ＰＬＣ１００は、支援装置３００によって記録媒体５００に記録された全てのデータ（システムファームウェア、アドオンファームウェア、および、ユーザコンフィグレーションデータ）を書き込む。これらのデータは、組合せテーブル３７０において適切であると規定されている組合せに従ったデータである。したがって、ＰＬＣ１００において、書き込みの作業に立ち会う作業者は、これらのデータの組合せについて特別な知識を有する必要が無い。したがって、ＰＬＣ１００へのデータの書き込みの作業が迅速かつ簡易になる。
【０１２１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１２２】
１  制御システム、１００  ＰＬＣ、１２２  プロセッサ、１２４  メインメモリ、１２６  不揮発性メモリ、１３２  入力装置、１３４  コネクタ、１３６，３１６  ＳＤメモリカード・インタフェース、３００  支援装置、３０８  ハードディスク、３１０  キーボード、３１２  マウス、３１４  モニタ、５００  記録媒体。
【図１】
2015136965.tif 000003
【図２】
2015136965.tif 000004
【図３】
2015136965.tif 000005
【図４】
2015136965.tif 000006
【図５】
2015136965.tif 000007
【図６】
2015136965.tif 000008
【図７】
2015136965.tif 000009
【図８】
2015136965.tif 000010
【図９】
2015136965.tif 000011
【図１０】
2015136965.tif 000012
【図１１】
2015136965.tif 000013
【図１２】
2015136965.tif 000014
【図１３】
2015136965.tif 000015
【図１４】
2015136965.tif 000016
【図１５】
2015136965.tif 000017
【国際調査報告】
2015136965.tif 000018
2015136965.tif 000019