(57)【要約】【課題】複数のデバイスを含む制御システムにおいて、特定のグループ単位でデータ更新などを実現可能な構成を提供する。【解決手段】複数のデバイスを有する制御システムにおいて利用されるサポート装置が提供される。サポート装置は、プロジェクトから複数のデバイスの各々に格納すべきデータを生成するデータ生成部と、同一のグループに属するデバイスの選択を受付ける選択受付部と、ユーザ操作に応答して、同一のグループに属するデバイスの各々に対して、各デバイスに対応するデータを転送するデータ転送部と、すべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部とを含む。【選択図】図１
2020027460.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスを有する制御システムにおいて利用されるサポート装置であって、
前記複数のデバイスを動作させるために必要な情報を含むプロジェクトから、前記複数のデバイスの各々に格納すべきデータを生成するデータ生成部と、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部と、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部と、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部とを備える、サポート装置。
【請求項２】
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、当該同一のグループに属するすべてのデバイスを、データを転送する前の状態に戻す、請求項１に記載のサポート装置。
【請求項３】
前記デバイスの各々は、処理に用いられるデータを格納するための第１のデータ領域と、前記データ転送部から転送されるデータを一時的に格納するための第２のデータ領域とを有しており、
前記データ管理部は、前記同一のグループに属する各デバイスに対して、前記第２のデータ領域に格納されているデータを前記第１のデータ領域に反映するように指示する、請求項１または２に記載のサポート装置。
【請求項４】
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、前記同一のグループに属する各デバイスに対して、前記第２のデータ領域に格納されているデータを削除するように指示する、請求項３に記載のサポート装置。
【請求項５】
データの転送前に、前記同一のグループに属する各デバイスに格納されているデータを取得してバックアップデータとして保持するデータ保持部をさらに備え、
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、前記バックアップデータを前記同一のグループに属する各デバイスに戻す、請求項２に記載のサポート装置。
【請求項６】
前記データ管理部は、予め定められた設定に従って、前記同一のグループに属するデバイスのうちデータの転送が成功したデバイスのみに対して、当該転送されたデータに反映を指示することが可能になっている、請求項１〜５のいずれか１項に記載のサポート装置。
【請求項７】
前記データ転送部から転送されるデータは、前記デバイスで実行される制御プログラムと、前記デバイスの動作に必要なパラメータとを含み、
前記データ転送部は、前記制御プログラムの転送後に、前記パラメータを転送する、請求項１〜６のいずれか１項に記載のサポート装置。
【請求項８】
前記デバイスは、制御装置と前記制御装置に接続される周辺装置とを含み、
前記データ転送部は、前記制御プログラムを前記制御装置に転送した後に、前記制御装置を介して前記周辺装置に前記パラメータを転送する、請求項７に記載のサポート装置。
【請求項９】
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々から、各デバイスに格納されているデータを取得して前記プロジェクトの内容を更新するデータ取得処理部をさらに備える、請求項１〜８のいずれか１項に記載のサポート装置。
【請求項１０】
複数のデバイスを有する制御システムにおいて利用されるコンピュータで実行されるサポートプログラムであって、前記サポートプログラムはコンピュータに
前記複数のデバイスを動作させるために必要な情報を含むプロジェクトから、前記複数のデバイスの各々に格納すべきデータを生成するステップと、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付けるステップと、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記生成された各デバイスに対応するデータを転送するステップと、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するステップとを実行させる、サポートプログラム。
【請求項１１】
複数のデバイスと、
前記複数のデバイスに接続可能なサポート装置とを備え、
前記サポート装置は、
前記複数のデバイスを動作させるために必要な情報を含むプロジェクトから、前記複数のデバイスの各々に格納すべきデータを生成するデータ生成部と、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部と、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部と、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部とを備える、制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御装置を含む制御システム、当該制御システムに向けられたサポート装置、ならび、当該サポート装置を実現するためのサポートプログラムに関する。
【背景技術】
【０００２】
ＦＡ（ファクトリオートメーション）の分野では、ＰＬＣ（プログラマブルロジックコントローラ）などの制御装置を用いて設備や機械などの制御対象を制御することが一般的である。通常、単一の制御装置ではなく、通信可能に接続された複数の制御装置からなる制御システムが採用されることが多い。
【０００３】
各制御装置で実行されるプログラムの開発、および、制御に必要なパラメータの設定は、サポート装置と称される情報処理装置により提供される開発環境で行われることが多い。
【０００４】
例えば、特開２００５−３２７２６３号公報（特許文献１）は、ネットワークの設定とＰＬＣやプログラマブル表示器などのプログラミング作業とを連携させてプログラミング作業の効率を向上させることのできる統合開発環境ツールを開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３２７２６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述の特開２００５−３２７２６３号公報（特許文献１）に開示される構成においては、統合開発環境ツールを用いて各制御装置で実行されるプログラムをそれぞれ開発することになるが、開発されたプログラムおよび必要なパラメータは制御装置ごとに転送する必要がある。
【０００７】
一方、実際の制御システムにおいては、単一の制御装置が制御対象に含まれる複数の設備や機械を制御することもあるし、単一の製造ラインを複数の制御装置が制御することもある。
【０００８】
本発明の一つの目的は、複数のデバイスを含む制御システムにおいて、特定のグループ単位でデータ更新などを実現可能な構成を提供することである。
【課題を解決するための手段】
【０００９】
本発明の一つの実施の形態によれば、複数のデバイスを有する制御システムにおいて利用されるサポート装置が提供される。サポート装置は、複数のデバイスを動作させるために必要な情報を含むプロジェクトから、複数のデバイスの各々に格納すべきデータを生成するデータ生成部と、複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部と、ユーザ操作に応答して、同一のグループに属するデバイスの各々に対して、データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部と、同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部とを含む。
【００１０】
本開示によれば、複数のデバイスを有する制御システムに対して設定されるグループの単位で、データの転送および反映を容易に実現できる。
【００１１】
上述の開示において、データ管理部は、同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、当該同一のグループに属するすべてのデバイスを、データを転送する前の状態に戻すようにしてもよい。
【００１２】
本開示によれば、同一のグループに属するデバイスについては、一部のデバイスについてデータが更新されないといった事態を回避できる。
【００１３】
上述の開示において、デバイスの各々は、処理に用いられるデータを格納するための第１のデータ領域と、データ転送部から転送されるデータを一時的に格納するための第２のデータ領域とを有しており、データ管理部は、同一のグループに属する各デバイスに対して、第２のデータ領域に格納されているデータを第１のデータ領域に反映するように指示するようにしてもよい。
【００１４】
本開示によれば、第１のデータ領域および第２のデータ領域を利用することで、一部のデバイスについてデータ転送が失敗した場合であっても、制御処理に影響を与えることなく、データの転送および更新を実現できる。
【００１５】
上述の開示において、データ管理部は、同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、同一のグループに属する各デバイスに対して、第２のデータ領域に格納されているデータを削除するように指示するようにしてもよい。
【００１６】
本開示によれば、データの転送が失敗した場合には、第２のデータ領域に格納されるデータを削除するのみでよいので、元に戻す場合の処理を簡素化できる。
【００１７】
上述の開示において、サポート装置は、データの転送前に、同一のグループに属する各デバイスに格納されているデータを取得してバックアップデータとして保持するデータ保持部をさらに含み、データ管理部は、同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、バックアップデータを同一のグループに属する各デバイスに戻すようにしてもよい。
【００１８】
本開示によれば、事前に取得しておいたバックアップデータを用いて、同一のグループに属する各デバイスを元に戻すことができるので、万が一、データ転送の失敗が生じたとしても、確実に元の状態の戻すことができる。
【００１９】
上述の開示において、データ管理部は、予め定められた設定に従って、同一のグループに属するデバイスのうちデータの転送が成功したデバイスのみに対して、当該転送されたデータに反映を指示することが可能になっていてもよい。
【００２０】
本開示によれば、状況によっては、同一のグループに属するデバイスをまとめて扱うのではなく、一部の転送が成功したデバイスのみデータの反映をしたいような場合もあり、このような要求に応えることができる。
【００２１】
上述の開示において、データ転送部から転送されるデータは、デバイスで実行される制御プログラムと、デバイスの動作に必要なパラメータとを含み、データ転送部は、制御プログラムの転送後に、パラメータを転送するようにしてもよい。
【００２２】
本開示によれば、制御プログラムの後のパラメータを転送することで、制御動作に何らかの異常が生じ得る可能性を低減できる。
【００２３】
上述の開示において、デバイスは、制御装置と制御装置に接続される周辺装置とを含み、データ転送部は、制御プログラムを制御装置に転送した後に、制御装置を介して周辺装置にパラメータを転送するようにしてもよい。
【００２４】
本開示によれば、制御装置の状態を監視しつつ、当該制御装置に接続される周辺装置に格納されるデータをより確実に更新できる。
【００２５】
上述の開示において、サポート装置は、ユーザ操作に応答して、同一のグループに属するデバイスの各々から、各デバイスに格納されているデータを取得してプロジェクトの内容を更新するデータ取得処理部をさらに含むようにしてもよい。
【００２６】
本開示によれば、複数のデバイスを有する制御システムに対して設定されるグループの単位で、データの取得（アップロード処理）を容易に実現できる。
【００２７】
本発明の別の実施の形態によれば、複数のデバイスを有する制御システムにおいて利用されるコンピュータで実行されるサポートプログラムが提供される。サポートプログラムはコンピュータに、複数のデバイスを動作させるために必要な情報を含むプロジェクトから、複数のデバイスの各々に格納すべきデータを生成するステップと、複数のデバイスのうち同一のグループに属するデバイスの選択を受付けるステップと、ユーザ操作に応答して、同一のグループに属するデバイスの各々に対して、生成された各デバイスに対応するデータを転送するステップと、同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するステップとを実行させる。
【００２８】
本開示によれば、複数のデバイスを有する制御システムに対して設定されるグループの単位で、データの転送および反映を容易に実現できる。
【００２９】
本発明のさらに別の実施の形態に係る制御システムは、複数のデバイスと、複数のデバイスに接続可能なサポート装置とを含む。サポート装置は、複数のデバイスを動作させるために必要な情報を含むプロジェクトから、複数のデバイスの各々に格納すべきデータを生成するデータ生成部と、複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部と、ユーザ操作に応答して、同一のグループに属するデバイスの各々に対して、データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部と、同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部とを含む。
【００３０】
本開示によれば、複数のデバイスを有する制御システムに対して設定されるグループの単位で、データの転送および反映を容易に実現できる。
【発明の効果】
【００３１】
本発明によれば、複数のデバイスを含む制御システムにおいて、特定のグループ単位でデータ更新などを実現できる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態に係る制御システムの適用例を示す模式図である。
【図２】本実施の形態に係る制御システムの構成例を示す模式図である。
【図３】本実施の形態に係る制御システムに含まれるＰＬＣのハードウェア構成の一例を示す模式図である。
【図４】本実施の形態に係る制御システムに含まれるユニットのハードウェア構成の一例を示す模式図である。
【図５】本実施の形態に係る制御システムに含まれるカプラのハードウェア構成の一例を示す模式図である。
【図６】本実施の形態に係る制御システムに含まれるサポート装置のハードウェア構成の一例を示す模式図である。
【図７】本実施の形態に係る制御システムの要部機能構成の一例を示す模式図である。
【図８】本実施の形態に係る制御システムにおけるグループ単位での管理機能の一例を説明するための図である。
【図９】本実施の形態に係る制御システムにおけるグループ単位での管理機能の実装例を示す模式図である。
【図１０】本実施の形態に係る制御システムにおけるグループ単位での管理機能（ダウンロード）の処理手順を説明するための模式図である。
【図１１】本実施の形態に係る制御システムにおけるグループ単位での管理機能（ダウンロード）の処理手順を示すフローチャートである。
【図１２】本実施の形態に係る制御システムにおけるグループ単位での管理機能（ダウンロード）の処理手順を示すフローチャートである。
【図１３】本実施の形態に係る制御システムにおけるグループ単位での管理機能（アップロード）の処理手順を説明するための模式図である。
【図１４】本実施の形態に係る制御システムにおけるグループ単位での管理機能（アップロード）の処理手順を示すフローチャートである。
【図１５】本実施の形態に係る制御システムにおけるグループ単位での管理機能（アップロード）の処理手順を示すフローチャートである。
【図１６】本実施の形態に係る制御システムが提供するグループ設定割付画面の一例を示す模式図である。
【図１７】本実施の形態に係る制御システムが提供するオンライン処理実行前画面の一例を示す模式図である。
【図１８】本実施の形態に係る制御システムが提供する運転モード変更確認画面の一例を示す模式図である。
【図１９】本実施の形態に係る制御システムが提供する実行結果通知画面の一例を示す模式図である。
【発明を実施するための形態】
【００３３】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００３４】
＜Ａ．適用例＞
まず、本発明が適用される場面の一例について説明する。図１は、本実施の形態に係る制御システム１の適用例を示す模式図である。図１を参照して、制御システム１は、複数のデバイス１０＿１，１０＿２，１０＿３，１０＿４，・・・，１０＿Ｎ（以下、「デバイス１０」とも総称する。）を有している。
【００３５】
本明細書において、「デバイス」は、制御システム１における制御要素の単位を意味し、制御演算に必要なプログラム、構成設定、パラメータなどは、デバイスの単位で生成および管理される。典型的には、「デバイス」は、制御プログラム（シーケンス制御およびモーション制御を含み得る）を実行する処理主体であるＰＬＣ（プログラマブルロジックコントローラ）（制御装置の一例）、１または複数のＰＬＣと連携するＨＭＩ（Human Machine Interface）、ＰＬＣおよびＨＭＩの機能を統合したＩＰＣ（Industrial Personal Computer）などを含み得る。
【００３６】
デバイスは、ＰＬＣおよびＩＰＣに接続される周辺装置を含み得る。周辺装置は、典型的には、ＰＬＣおよびＩＰＣで取り扱われる入出力データを制御対象との間で遣り取りする装置を含み得る。具体的には、周辺装置は、ユニット、スレーブデバイス、カプラユニットなどが挙げられる。周辺装置の具体例に内容については、後に詳述する。
【００３７】
制御システム１は、制御システム１において利用されるサポート装置４００を有している。サポート装置４００は、制御システム１を構成する各デバイスで実行される制御プログラムや必要なパラメータなどの開発や管理を行う。
【００３８】
本実施の形態に係るサポート装置４００は、制御システム１に含まれる複数のデバイス１０で実行される制御プログラムや必要なパラメータなどを一括して開発や管理可能な統合開発環境を提供する。
【００３９】
統合開発環境においては、制御システム１を構成する各デバイスで実行される制御プログラムや必要なパラメータなどは、単一のプロジェクト４８４として管理される。プロジェクト４８４は、複数のファイルで構成されてもよい。
【００４０】
サポート装置４００は、データ生成部２０（後述のビルド処理部４６８に相当）と、選択受付部２２（後述のグループ設定割付画面６００に相当）と、データ転送部２４（後述のファイル転送処理部４５４に相当）と、データ管理部２６（後述のダウンロード処理部４５８に相当）とを含む。
【００４１】
データ生成部２０は、複数のデバイス１０を動作させるために必要な情報を含むプロジェクト４８４から、複数のデバイス１０の各々に格納すべきデータを生成する。データには、各デバイス１０で実行される制御プログラム、各デバイス１０の動作に必要なパラメータなどを含み得る。
【００４２】
なお、データは「ファイル」の形で転送および管理されることが一般的であるので、以下の説明においては、「ファイル」という用語を「データ」とほぼ同義で用いることとする。
【００４３】
選択受付部２２は、複数のデバイス１０のうち同一のグループに属するデバイスの選択を受付ける。図１に示す例では、デバイス１０＿１およびデバイス１０＿２が同一のグループＡに属することが設定されているとする。
【００４４】
データ転送部２４は、ユーザ操作に応答して、同一のグループに属するデバイス１０の各々に対して、データ生成部２０により生成された各デバイスに対応するデータを転送する。図１には、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対して、データ（ファイル）が転送される例を示す。
【００４５】
データ管理部２６は、同一のグループに属するすべてのデバイス１０に対するデータの転送が成功した後、各デバイス１０に対する当該転送されたデータに反映を指示する。図１には、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対して、データを反映するための指示（反映指示）が与えられる例を示す。
【００４６】
このような構成を採用することで、複数のデバイス１０を含む制御システム１において、特定のグループ単位でデータ更新などを実現できる。
【００４７】
＜Ｂ．制御システムの構成例＞
まず、本実施の形態に係る制御システム１の構成例について説明する。図２は、本実施の形態に係る制御システム１の構成例を示す模式図である。図２を参照して、制御システム１は、複数のデバイス１０＿１，１０＿２，１０＿３，１０＿４，・・・，１０＿Ｎ（以下、「デバイス１０」とも総称する。）と、デバイス１０のＰＬＣ１００で実行されるプログラムの開発およびプログラムの実行に必要なパラメータの設定を行うためのサポート装置４００とを含む。これらの装置はネットワーク２を介して互いに接続されている。
【００４８】
デバイス１０の各々は、制御装置の典型例であるＰＬＣ１００を中心として構成される。
【００４９】
ＰＬＣ１００は、ローカルバス４を介して任意のユニット２００と接続可能であるとともに、フィールドバス６を介して任意のスレーブデバイス（以下、単に「スレーブ２５０」とも称す。）と接続可能である。フィールドバス６には、カプラユニット（以下、単に「カプラ３００」とも称す。）が接続されることもある。カプラ３００は、ローカルバス８を介して任意のユニット２００と接続される。すなわち、カプラ３００は、ユニット２００を、ローカルバス８およびフィールドバス６を介してＰＬＣ１００と接続する。なお、カプラ３００はスレーブ２５０とみなすこともできる。
【００５０】
図２に示す制御システム１において、デバイス１０＿１は、ＰＬＣ１００と、ＰＬＣ１００にフィールドバス６を介して接続されるスレーブ２５０とカプラ３００とからなる。カプラ３００には、ローカルバス８を介してユニット２００が接続される。
【００５１】
デバイス１０＿２は、ＰＬＣ１００と、ＰＬＣ１００にローカルバス８を介して接続される２つのユニット２００と、フィールドバス６を介して接続される２つのスレーブ２５０とを含む。
【００５２】
デバイス１０＿３は、ＰＬＣ１００と、ＰＬＣ１００にローカルバス８を介して接続される１つのユニット２００と、フィールドバス６を介して接続される２つのスレーブ２５０とを含む。
【００５３】
デバイス１０＿４は、ＰＬＣ１００と、ＰＬＣ１００にローカルバス８を介して接続される１つのユニット２００と、フィールドバス６を介して接続される１つのスレーブ２５０とを含む。
【００５４】
デバイス１０＿Ｎは、ＰＬＣ１００と、ＰＬＣ１００にローカルバス８を介して接続される２つのユニット２００と、フィールドバス６を介して接続される１つのスレーブ２５０とを含む。
【００５５】
なお、図２には、５つのデバイス１０を含む制御システム１を例示するが、デバイス１０の数は５つより少なくてもよいし、５つより多くてもよい。
【００５６】
サポート装置４００は、プログラム開発およびパラメータ設定などの機能を提供する。サポート装置４００は、開発されたプログラムおよびパラメータを各デバイスへ転送（ダウンロード）する。
【００５７】
＜Ｃ．制御システム１に含まれる各装置のハードウェア構成＞
次に、制御システム１に含まれる各装置のハードウェア構成の一例について説明する。
【００５８】
（ｃ１：ＰＬＣ１００）
図３は、本実施の形態に係る制御システム１に含まれるＰＬＣ１００のハードウェア構成の一例を示す模式図である。図３を参照して、ＰＬＣ１００は、プロセッサ１０２と、メインメモリ１０４と、ストレージ１０６と、ネットワークコントローラ１０８と、フィールドバスコントローラ１１０と、ＵＳＢ（Universal Serial Bus）コントローラ１１４と、メモリカードインターフェイス１１６と、ローカルバスコントローラ１２０とを含む。これらのコンポーネントは、プロセッサバス１３０を介して接続されている。
【００５９】
プロセッサ１０２は、制御演算などを実行する演算処理部に相当し、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）などで構成される。具体的には、プロセッサ１０２は、ストレージ１０６に格納されたプログラム（一例として、システムプログラム１０６０および制御プログラム１４０）を読出して、メインメモリ１０４に展開して実行することで、制御対象に応じた制御などを実現する。
【００６０】
メインメモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置などで構成される。ストレージ１０６は、記憶部に相当し、例えば、ＳＳＤ（Solid State Drive）やＨＤＤ（Hard Disk Drive）などの不揮発性記憶装置などで構成される。
【００６１】
ストレージ１０６には、基本的な機能を実現するためのシステムプログラム１０６０に加えて、設備や機械などの制御対象に応じて作成される制御プログラム１４０が格納される。
【００６２】
ネットワークコントローラ１０８は、ネットワーク２を介して、サポート装置４００を含む任意の情報処理装置との間でデータを遣り取りする。フィールドバスコントローラ１１０は、フィールドバス６を介して、スレーブ２５０やカプラ３００と接続される。ＵＳＢコントローラ１１４は、ＵＳＢ接続を介して、任意の外部装置などとの間でデータを遣り取りする。
【００６３】
メモリカードインターフェイス１１６は、着脱可能な記録媒体の一例であるメモリカード１１８を受付ける。メモリカードインターフェイス１１６は、メモリカード１１８に対してデータを書込み、メモリカード１１８から各種データ（ログやトレースデータなど）を読出すことが可能になっている。
【００６４】
ローカルバスコントローラ１２０は、ローカルバス４を介して、任意のユニット２００との間でデータを遣り取りする。
【００６５】
図３には、プロセッサ１０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣ（Application Specific Integrated Circuit）またはＦＰＧＡ（Field-Programmable Gate Array）など）を用いて実装してもよい。あるいは、ＰＬＣ１００の主要部を、汎用的なアーキテクチャに従うハードウェア（例えば、汎用パソコンをベースとした産業用パソコン）を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のＯＳ（Operating System）を並列的に実行させるとともに、各ＯＳ上で必要なアプリケーションを実行させるようにしてもよい。
【００６６】
（ｃ２：ユニット２００）
図４は、本実施の形態に係る制御システム１に含まれるユニット２００のハードウェア構成の一例を示す模式図である。図４を参照して、ユニット２００は、機能モジュール２１０と、ローカルバスコントローラ２２０と、ストレージ２０６とを含む。
【００６７】
機能モジュール２１０は、各ユニット２００の責務に応じた機能を提供する。例えば、ユニット２００がデジタル入力ユニットである場合には、機能モジュール２１０は、フォトカプラなどのデジタル信号の入力回路および検出回路を有している。また、ユニット２００がサーボドライバなどである場合には、機能モジュール２１０は、軌道演算ロジックおよび指令生成ロジックなどを有している。
【００６８】
ローカルバスコントローラ２２０は、ローカルバス４を介して、接続先のＰＬＣ１００またはカプラ３００との間でデータを遣り取りする。
【００６９】
ストレージ２０６には、ユニット２００を動作させるためのパラメータ２０６０が格納される。パラメータ２０６０は、ユニット２００のネットワークアドレスなどの情報に加えて、機能モジュール２１０の動作に係る設定値などを含む。パラメータ２０６０は、サポート装置４００からＰＬＣ１００またはカプラ３００を介して提供される。
【００７０】
ユニット２００が提供する機能の一部または全部を、プロセッサがプログラムを実行することで実現してもよい。
【００７１】
（ｃ３：カプラ３００）
図５は、本実施の形態に係る制御システム１に含まれるカプラ３００のハードウェア構成の一例を示す模式図である。カプラ３００は、ＰＬＣ１００を構成するコンポーネントの一部を簡略化した構成に相当する。より具体的には、図５を参照して、カプラ３００は、プロセッサ３０２と、メインメモリ３０４と、ストレージ３０６と、フィールドバスコントローラ３１０と、ローカルバスコントローラ３２０とを含む。これらのコンポーネントは、プロセッサバス３３０を介して接続されている。
【００７２】
プロセッサ３０２は、制御演算などを実行する演算処理部に相当し、ＣＰＵやＧＰＵなどで構成される。メインメモリ３０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。
【００７３】
ストレージ３０６は、記憶部に相当し、例えば、ＳＳＤやＨＤＤなどの不揮発性記憶装置などで構成される。ストレージ３０６には、カプラ３００を動作させるためのパラメータ３０６０が格納される。パラメータ３０６０は、カプラ３００のネットワークアドレスなどの情報に加えて、カプラ３００の動作に係る設定値などを含む。パラメータ３０６０は、サポート装置４００からフィールドバス６を介して提供される。
【００７４】
フィールドバスコントローラ３１０は、フィールドバス６を介して、ＰＬＣ１００、スレーブ２５０、他のカプラ３００などと接続される。
【００７５】
ローカルバスコントローラ３２０は、ローカルバス８を介して、任意のユニット２００との間でデータを遣り取りする。
【００７６】
図５には、プロセッサ３０２がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００７７】
（ｃ４：スレーブ２５０）
本実施の形態に係る制御システム１に含まれるスレーブ２５０は、図４に示すユニット２００に対して、ローカルバスコントローラ２２０に代えて、図５のカプラ３００に含まれるフィールドバスコントローラ３１０を採用したような構成を有している。スレーブ２５０についての詳細な説明は繰返さない。
【００７８】
（ｃ５：サポート装置４００）
図６は、本実施の形態に係る制御システム１に含まれるサポート装置４００のハードウェア構成の一例を示す模式図である。図６を参照して、サポート装置４００は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
【００７９】
より具体的には、サポート装置４００は、プロセッサ４０２と、メインメモリ４０４と、ストレージ４０６と、入力部４０８と、表示部４１０と、光学ドライブ４１２と、ネットワークコントローラ４１６とを含む。これらのコンポーネントは、プロセッサバス４１８を介して接続されている。
【００８０】
プロセッサ４０２は、ＣＰＵやＧＰＵなどで構成され、ストレージ４０６に格納されたプログラム（一例として、ＯＳ４０６０およびサポートプログラム４０６２）を読出して、メインメモリ４０４に展開して実行することで、後述するような各種処理を実現する。
【００８１】
メインメモリ４０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置などで構成される。ストレージ４０６は、例えば、ＨＤＤやＳＳＤなどの不揮発性記憶装置などで構成される。
【００８２】
ストレージ４０６には、基本的な機能を実現するためのＯＳ４０６０に加えて、サポート装置４００としての機能を提供するためのサポートプログラム４０６２が格納される。サポートプログラム４０６２は、コンピュータをサポート装置４００として機能させる。
【００８３】
入力部４０８は、キーボードやマウスなどで構成され、ユーザ操作を受付ける。表示部４１０は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ４０２からの処理結果などを出力する。
【００８４】
ネットワークコントローラ４１６は、ネットワーク２を介して、任意の外部装置などとの間でデータを遣り取りする。
【００８５】
サポート装置４００は、光学ドライブ４１２を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体４１４（例えば、ＤＶＤ（Digital Versatile Disc）などの光学記録媒体）から、その中に格納されたプログラムが読取られてストレージ４０６などにインストールされる。
【００８６】
サポート装置４００で実行されるサポートプログラム４０６２などは、コンピュータ読取可能な記録媒体４１４を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置４００が提供する機能は、ＯＳが提供するモジュールの一部を利用する形で実現される場合もある。
【００８７】
図６には、プロセッサ４０２がプログラムを実行することで、サポート装置４００として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路（例えば、ＡＳＩＣまたはＦＰＧＡなど）を用いて実装してもよい。
【００８８】
＜Ｄ．制御システム１の要部機能構成＞
次に、本実施の形態に係る制御システム１の要部機能構成の一例について説明する。図７は、本実施の形態に係る制御システム１の要部機能構成の一例を示す模式図である。図７には、一例として、デバイス１０＿１およびサポート装置４００の要部機能に着目している。
【００８９】
図７を参照して、デバイス１０＿１は、ＰＬＣ１００と、ユニット２００と、スレーブ２５０と、カプラ３００とを含む。
【００９０】
ＰＬＣ１００は、ストレージ１０６およびＰＬＣ機能モジュール１５０とを含む。ストレージ１０６には、上述の図３に示す制御プログラム１４０および関連するパラメータなどのデータを格納する領域として、一時データ領域１０６２およびデータ領域１０６４が設けられている。一時データ領域１０６２およびデータ領域１０６４は、ＰＬＣ１００に対するデータ更新およびロールバックを実現するための記憶領域である。より具体的には、データ領域１０６４は、処理に用いられるデータを格納するための第１のデータ領域に相当し、サポート装置４００から送信される制御プログラム１４０および関連するパラメータなどを含むデータ一式が一時的に格納される。一時データ領域１０６２は、データ転送部２４（図１）から転送されるデータを一時的に格納するための第２のデータ領域に相当し、ＰＬＣ１００で実行中の制御プログラム１４０および関連するパラメータが格納される。
【００９１】
ＰＬＣ機能モジュール１５０は、ＰＬＣ１００における制御プログラム１４０の実行に必要な機能を提供する。具体的には、ＰＬＣ機能モジュール１５０は、シーケンス制御部１５２と、モーション制御部１５４と、ＩＯポート１６０とを含む。シーケンス制御部１５２は、ＰＬＣ１００において実行される制御プログラム１４０に含まれるシーケンス命令を解釈して実行する処理エンジンに相当する。モーション制御部１５４は、ＰＬＣ１００において実行される制御プログラム１４０に含まれるモーション命令を解釈して実行する処理エンジンに相当する。ＩＯポート１６０は、ユニット２００、スレーブ２５０、カプラ３００などとの間で入出力データを遣り取りする。
【００９２】
上述したように、ユニット２００、スレーブ２５０、カプラ３００には、それぞれ、ユニット２００、スレーブ２５０、カプラ３００を動作させるためのパラメータ２０６０，２５６０，３０６０が格納される。これらのパラメータ２０６０，２５６０，３０６０は、サポート装置４００から適宜転送される。
【００９３】
本明細書においては、サポート装置４００から任意のデバイス１０へ任意のデータ（あるいは、ファイル）を転送することを「ダウンロード」と称し、逆に、任意のデバイス１０からサポート装置４００へ任意のデータ（あるいは、ファイル）を転送することを「アップロード」と称する。
【００９４】
サポート装置４００は、サポートプログラム４０６２（図６）を実行することで、統合開発環境４５０を提供する。統合開発環境４５０は、ストレージ４０６、入力部４０８および表示部４１０との間でデータを遣り取り可能に構成される。すなわち、統合開発環境４５０は、入力部４０８を介したユーザ操作に応じた処理を実行するとともに、表示部４１０に実行結果（例えば、アップロード実行結果やビルド結果など）を表示する。
【００９５】
統合開発環境４５０は、機能構成として、通信部４５２と、制御部４７０と、ファイルＩＯ処理部４７２とを含む。
【００９６】
通信部４５２は、任意のデバイス１０との間の通信処理を担当する。典型的には、通信部４５２は、ＰＬＣ１００と統合開発環境４５０とを接続する。通信部４５２は、一種の通信スタックとして実装することができる。
【００９７】
制御部４７０は、統合開発環境４５０を実現するために必要な処理を実行する。具体的には、制御部４７０は、ファイル転送処理部４５４と、バックアップ処理部４５６と、ダウンロード処理部４５８と、ファイル取得処理部４６０と、アップロード処理部４６２と、データロード処理部４６４と、リストア処理部４６６と、ビルド処理部４６８とを含む。
【００９８】
ファイル転送処理部４５４は、主としてダウンロード処理を担当し、通信部４５２を利用して、サポート装置４００において生成されたファイルのうち、指定されたファイルをＰＬＣ１００の一時データ領域１０６２へ転送する。特に、ファイル転送処理部４５４は、ユーザ操作に応答して、同一のグループに属するデバイス１０の各々に対して、ビルド処理部４６８により生成された各デバイス１０に対応するデータを転送するデータ転送部に相当する。
【００９９】
バックアップ処理部４５６は、ファイル転送処理部４５４がバックアップデータ４８６を転送する場合に、対象のファイル選択および転送処理などを管理する。より特定的には、バックアップ処理部４５６は、データの転送前に、同一のグループに属する各デバイス１０に格納されているデータを取得してバックアップデータ４８６として保持するデータ保持部に相当する。
【０１００】
ダウンロード処理部４５８は、ビルド処理部４６８により生成されたファイルをダウンロードする処理を管理する。より特定的には、ダウンロード処理部４５８は、データ管理部２６（図１）に相当し、同一のグループに属するすべてのデバイス１０に対するデータの転送が成功した後、各デバイス１０に対する当該転送されたデータに反映を指示する。
【０１０１】
また、ダウンロード処理部４５８は、同一のグループに属するいずれかのデバイス１０に対するデータの転送が失敗すると、当該同一のグループに属するすべてのデバイス１０を、データを転送する前の状態に戻す処理を実行する。
【０１０２】
ファイル取得処理部４６０は、主としてアップロード処理を担当し、通信部４５２を利用して、任意のデバイス１０（ＰＬＣ１００）に格納されているファイルのうち指定されたファイルをアップロードし、サポート装置４００のストレージ４０６などに取得したファイルを格納する。
【０１０３】
アップロード処理部４６２は、ファイル取得処理部４６０によるファイルのアップロードの処理を管理する。データロード処理部４６４は、ファイル取得処理部４６０により取得されたファイルを必要に応じてロードして、再利用可能な状態を生成する。
【０１０４】
より特定的には、アップロード処理部４６２およびデータロード処理部４６４は、データ取得処理部に相当し、ユーザ操作に応答して、同一のグループに属するデバイス１０の各々から、各デバイス１０に格納されているデータを取得してプロジェクト４８４の内容を更新する。
【０１０５】
リストア処理部４６６は、ファイル取得処理部４６０により取得されたファイルを展開して過去のある状態に復元する。
【０１０６】
ビルド処理部４６８は、複数のデバイス１０を動作させるために必要な情報を含むプロジェクト４８４から、複数のデバイス１０の各々に格納すべきデータを生成するデータ生成部に相当する。具体的には、ビルド処理部４６８は、ユーザにより作成されたソースプログラムを解釈して、デバイス１０（ＰＬＣ１００）へ転送するためのデータ（典型的には、オブジェクトコードおよびパラメータなど）を含むファイルを生成する。
【０１０７】
ファイルＩＯ処理部４７２は、ストレージ４０６に格納されているファイルの読出しおよび書込みを担当する。
【０１０８】
ストレージ４０６には、統合開発環境４５０からアクセスされるファイルの格納先としてディレクトリ４８０が構成されている。ディレクトリ４８０は、例えば、ビルド処理部４６８により生成されたファイル、および、任意のデバイス１０へアップロードしたファイルなどが格納される場所である。
【０１０９】
具体的には、ディレクトリ４８０には、転送ファイル４８２と、プロジェクト４８４と、バックアップデータ４８６と、グループ設定ファイル４８８が格納される。
【０１１０】
転送ファイル４８２は、ビルド処理部４６８により生成されたＰＬＣ１００へ転送するためのファイルを含む。
【０１１１】
プロジェクト４８４は、統合開発環境４５０において開発されるプログラムおよびパラメータなどを総合したファイルである。統合開発環境４５０においては、プロジェクトという単位でデータが管理される。プロジェクト４８４は、１または複数のデバイス１０で実行される制御プログラム１４０のデータを含み得る。
【０１１２】
バックアップデータ４８６は、接続先のデバイス１０に格納されるデータの複製であり、各デバイス１０に格納される制御プログラム１４０などのデータに加えて、ユニット２００、スレーブ２５０、カプラ３００にそれぞれ格納されるパラメータ情報およびメモリ情報などを含み得る。
【０１１３】
グループ設定ファイル４８８は、以下に説明するグループ単位での管理機能を実現するための各グループに属するデバイスを定義する。選択受付部２２（図１）は、複数のデバイス１０のうち同一のグループに属するデバイス１０の選択を受付けて、その内容をグループ設定ファイル４８８に反映する。
【０１１４】
＜Ｅ．グループ単位での管理機能＞
本実施の形態に係る制御システム１においては、複数のデバイス１０に対して任意に設定されるグループの単位で、サポート装置４００のオンライン処理が可能になっている。本明細書において、「オンライン処理」は、ダウンロードやアップロードなどのファイル（データ）の読込み処理および／または書込み処理を含む。典型的には、サポート装置４００は、選択されたグループに属する１または複数のデバイス１０をまとめて、ダウンロードおよびアップロードを行うことが可能になっている。さらに、「オンライン処理」は、リセット（再起動）コマンドといった、ファイルの読込み処理または書き処理を含まない指令も含み得る。
【０１１５】
図８は、本実施の形態に係る制御システム１におけるグループ単位での管理機能の一例を説明するための図である。図８には、サポート装置４００に格納されるグループ設定ファイル４８８の一例を示す。図８に示すグループ設定ファイル４８８においては、４つのグループ（グループＡ、グループＢ、グループＣ、グループＤ）が定義されており、各グループにいずれのデバイスが属するのかがチェックマークにより規定されている。
【０１１６】
図８に示す例では、「グループＡ」には「デバイス１」および「デバイス２」が属しており、「グループＢ」には「デバイス３」、「グループ４」および「デバイスＮ」が属している。例えば、「グループＡ」が選択されると、「グループＡ」に属している「デバイス１」および「デバイス２」に対して、オンライン処理（ダウンロードおよびアップロード）がまとめて実行される。
【０１１７】
各デバイスは複数のグループに属することが可能であってもよい。図８に示す例では、「デバイス１」は、「グループＡ」および「グループＣ」に属しており、「デバイス２」は、「グループＡ」および「グループＤ」に属している。もちろん、各デバイスは単一のグループにのみ属することが可能なようにしてもよい。
【０１１８】
このようなグループ単位での管理機能は、例えば、複数の製造ラインが複数のデバイスにより実現されているような場合において、特定の製造ラインに関与するデバイスに対してのみ必要なデータを転送（ダウンロード）したいといったニーズなどに対応できる。同様に、特定の製造ラインに関与するデバイスが保持しているデータのみをアップロードしてバックアップデータ４８６として格納したいというニーズにも対応できる。
【０１１９】
図９は、本実施の形態に係る制御システム１におけるグループ単位での管理機能の実装例を示す模式図である。図９には、デバイス１０＿１およびデバイス１０＿２がグループＡに属しており、デバイス１０＿３、デバイス１０＿４およびデバイス１０＿ＮがグループＢに属している例を示す。
【０１２０】
デバイス１０＿１，１０＿２，１０＿３，１０＿４，・・・，１０＿Ｎの構成は、図２に示すものと実質的に同一としている。
【０１２１】
図９を参照して、サポート装置４００は、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対して、データのダウンロードおよびアップロードを並列的または直列的に実行することで、２つのデバイス１０をまとめた状態で、オンライン処理を実現する。同様に、サポート装置４００は、グループＢに属するデバイス１０＿３、デバイス１０＿４およびデバイス１０＿Ｎに対して、データのダウンロードおよびアップロードを並列的または直列的に実行することで、３つのデバイス１０をまとめた状態で、オンライン処理を実現する。
【０１２２】
サポート装置４００の統合開発環境４５０が管理するプロジェクト４８４は、設定されるグループＡに対応付けられた部分プロジェクト４８４１と、設定されるグループＢに対応付けられた部分プロジェクト４８４２とを含む。
【０１２３】
サポート装置４００からダウンロードされるデータは、デバイス１０で実行される制御プログラム１４０と、デバイス１０の動作に必要なパラメータ２０６０，２５６０，３０６０とを含む。
【０１２４】
部分プロジェクト４８４１は、グループＡに属するデバイス１０＿１との間で遣り取りされるデバイス用データ４８５＿１およびデバイス１０＿２との間で遣り取りされるデバイス用データ４８５＿２を含む。
【０１２５】
デバイス１０＿１に向けられたデバイス用データ４８５＿１は、ＰＬＣ１００で実行される制御プログラム１４０と、スレーブ２５０に格納されるパラメータ２５６０と、カプラ３００に格納されるパラメータ３０６０とを含む。制御プログラム１４０は、デバイス１０＿１のトポロジーなどを規定する構成設定１４０２と、プログラムコード１４０４とを含む。
【０１２６】
同様に、デバイス１０＿２に向けられたデバイス用データ４８５＿２は、ＰＬＣ１００で実行される制御プログラム１４０と、スレーブ２５０に格納されるパラメータ２５６０と、ユニット２００に格納されるパラメータ２０６０とを含む。
【０１２７】
一方、部分プロジェクト４８４２は、グループＢに属するデバイス１０＿３との間で遣り取りされるデバイス用データ４８５＿３、デバイス１０＿４との間で遣り取りされるデバイス用データ４８５＿４、および、デバイス１０＿Ｎとの間で遣り取りされるデバイス用データ４８５＿Ｎを含む。
【０１２８】
デバイス１０＿３に向けられたデバイス用データ４８５＿３、デバイス１０＿４に向けられたデバイス用データ４８５＿４、および、デバイス１０＿Ｎに向けられたデバイス用データ４８５＿Ｎは、いずれも、ＰＬＣ１００で実行される制御プログラム１４０と、スレーブ２５０に格納されるパラメータ２５６０と、ユニット２００に格納されるパラメータ２０６０とを含む。
【０１２９】
グループ単位での管理機能においては、プロジェクト４８４に含まれる、部分プロジェクト４８４１または部分プロジェクト４８４２の単位で、対応するデバイス１０との間でオンライン処理（ダウンロードおよびアップロード）が実行される。
【０１３０】
＜Ｆ．グループ単位での管理機能（ダウンロード）の処理手順＞
次に、本実施の形態に係る制御システム１におけるグループ単位での管理機能（ダウンロード）の処理手順の一例について説明する。
【０１３１】
図１０は、本実施の形態に係る制御システム１におけるグループ単位での管理機能（ダウンロード）の処理手順を説明するための模式図である。図１０には、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対するデータのダウンロードの処理例を示す。
【０１３２】
図１０においては、サポート装置４００において、デバイス１０＿１，１０＿２，１０＿３の各々について、制御プログラム１４０およびパラメータ２０６０，２５６０，３０６０が更新されているとする。図１０において、「＃１」、「＃２」、「＃３」といった記載は、更新番号（バージョン）を意味するものとする。また、図１０において、四角で囲まれた枠内の「Ｓ」＋「数字」は、後述のステップ番号に対応する。後述の図１３においても同様である。
【０１３３】
図１０においては、グループＡが選択された状態で、ダウンロードが指示された場合の処理例を示す。グループＡが選択されているので、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対してのみデータがダウンロードされ、デバイス１０＿３に対してはデータのダウンロードは行われない。
【０１３４】
なお、サポート装置４００は、複数のデバイス１０を動作させるために必要な情報を含むプロジェクト４８４から、複数のデバイス１０の各々に格納すべきデータを生成する処理を事前に実行しているとする。また、サポート装置４００は、複数のデバイス１０のうち同一のグループに属するデバイス１０の選択を受付ける処理も事前に実行しているとする。
【０１３５】
概略の処理手順として、まず、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを取得して、排他制御権を取得する（ステップＳ１）。これは、別の装置から同一のデバイス１０への同時書込みを防止するためである。
【０１３６】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に順次アクセスして、各デバイス１０に格納されているデータのバックアップ処理を実行し、ディレクトリ４８０内にバックアップデータ４８６として保存する（ステップＳ２）。
【０１３７】
なお、順次アクセスだけではなく、並列処理で複数のデバイス１０に格納されているデータのバックアップ処理を実行するようにしてもよい。
【０１３８】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対して、各デバイス１０の一時データ領域１０６２へ対象のデータ（制御プログラム１４０など）を含むファイルを転送する（ステップＳ３）。すなわち、サポート装置４００は、ユーザ操作に応答して、同一のグループに属するデバイスの各々に対して、生成された各デバイス１０に対応するデータを転送する処理を実行する。
【０１３９】
選択されたグループに属するすべてのデバイス１０に対するファイル転送が正常に完了すると、サポート装置４００は、一時データ領域１０６２に対してファイル転送を行ったすべてのデバイス１０に対して、一時データ領域１０６２に格納されているファイルをデータ領域１０６４に反映することを指示する（ステップＳ４）。このような転送されたファイルをロードして反映することを、「フラッシュ処理」とも称する。すなわち、サポート装置４００は、同一のグループに属するすべてのデバイス１０に対するデータの転送が成功した後、各デバイス１０に対する当該転送されたデータに反映を指示する処理を実行する。
【０１４０】
このフラッシュ処理の実行指示（反映指示）は、同一のグループに属する各デバイス１０に対して、一時データ領域１０６２に格納されているデータをデータ領域１０６４に反映するための指示を含む。
【０１４１】
そして、選択されたグループに属するすべてのデバイス１０においてデータ領域１０６４への反映が正常に完了すると、サポート装置４００は、各デバイス１０に属するすべてのユニット２００に対して、対応するパラメータ２０６０を転送する（ステップＳ５）。
【０１４２】
各デバイス１０に属するすべてのユニット２００に対するパラメータ２０６０の転送が正常に完了すると、サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００に対して、対応するパラメータ２５６０およびパラメータ３０６０を転送する（ステップＳ６）。
【０１４３】
このように、サポート装置４００のファイル転送処理部４５４（データ転送部２４）は、制御プログラム１４０の転送後に、パラメータ２０６０，２５６０，３０６０を転送（ダウンロード）する。より具体的には、サポート装置４００のファイル転送処理部４５４（データ転送部２４）は、制御プログラム１４０を制御装置であるＰＬＣ１００に転送した後に、ＰＬＣ１００を介して周辺装置であるユニット２００、スレーブ２５０、カプラ３００にパラメータ２０６０，２５６０，３０６０を転送する。
【０１４４】
なお、ユニット２００のパラメータの転送（ステップＳ５）とスレーブ２５０および／またはカプラ３００のパラメータ転送（ステップＳ６）との実行順序はこの通りでなくてもよい。例えば、ステップＳ５とステップＳ６との実行順序を逆にしてもよい。
【０１４５】
続いて、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００に対するパラメータ２５６０およびパラメータ３０６０の転送が正常に完了すると、サポート装置４００は、ＰＬＣ１００に対してＩＰアドレスの更新処理を実行する（ステップＳ７）。すなわち、ＰＬＣ１００に転送されたファイルにＩＰアドレスの更新指示が含まれていても、ＩＰアドレスの更新処理はステップＳ７の時点まで待機される。
【０１４６】
最終的に、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを開放して、排他制御権を開放する（ステップＳ８）。そして、サポート装置４００は、一連のダウンロード処理の結果をユーザに通知する（ステップＳ９）。
【０１４７】
説明の便宜上、図１０には、ＰＬＣ１００を主とするコントローラをデバイスの一例として説明したが、デバイスとしてはＰＬＣ１００を主とするコントローラに限られず、例えば、ＨＭＩやＩＰＣなどの任意の装置にも同様に適用可能である。
【０１４８】
図１１および図１２は、本実施の形態に係る制御システム１におけるグループ単位での管理機能（ダウンロード）の処理手順を示すフローチャートである。図１１および図１２に示す各ステップは、典型的には、サポート装置４００のプロセッサ４０２がサポートプログラム４０６２を実行することで実現される。
【０１４９】
まず、サポート装置４００は、グループ設定割付画面（後述の図１６に示すグループ設定割付画面６００）を表示して、グループの選択を受付ける（ステップＳ１０１）。
【０１５０】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを取得して、排他制御権を取得する（ステップＳ１０２）。すなわち、サポート装置４００は、処理実行中に別のサポート装置４００などから書込み処理が実行されることを防止するために、選択されたグループに属するすべてのデバイス１０に対してセッションを取得する。
【０１５１】
ここで、対象のデバイス１０の排他制御権を順次取得するようにしてもよいし、並列処理で複数のデバイス１０の排他制御権を取得するようにしてもよい。
【０１５２】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に格納されているデータをバックアップする（ステップＳ２０１）。それぞれのデバイス１０から取得されたデータは、ディレクトリ４８０内にバックアップデータ４８６として保存される。
【０１５３】
サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対するバックアップが成功したか否かを判断する（ステップＳ２０２）。いずれかのデバイス１０に対するバックアップが失敗していれば（ステップＳ２０２においてＮＯ）、処理はステップＳ８０３へ進む。
【０１５４】
選択されたグループに属するすべてのデバイス１０に対するバックアップが成功していれば（ステップＳ２０２においてＹＥＳ）、サポート装置４００は、選択されたグループに属するすべてのデバイス１０について、動作モードをプログラムモードに変更する（ステップＳ３０１）。
【０１５５】
「プログラムモード」は、制御プログラムおよびパラメータの更新を許可するモードであり、サポート装置４００からの指示によって、制御プログラムの実行などが停止および再開可能な状態になっている。
【０１５６】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対してファイルを転送する（ステップＳ３０２）。ファイルは、各ＰＬＣ１００の一時データ領域１０６２に転送される。この段階では、転送されたファイルはまだ反映されていない。
【０１５７】
サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対するファイル転送が成功したか否かを判断する（ステップＳ３０３）。いずれかのデバイス１０に対するファイル転送が失敗していれば（ステップＳ３０３においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ３０４）。
【０１５８】
失敗時に元に戻す設定がなされていれば（ステップＳ３０４においてＹＥＳ）、サポート装置４００は、選択されたグループに属するすべてのデバイス１０について、一時データ領域１０６２に格納されている転送されたファイルを削除する（ステップＳ３０５）。そして、処理はステップＳ８０３へ進む。
【０１５９】
このように、サポート装置４００のダウンロード処理部４５８（データ管理部２６）は、同一のグループに属するいずれかのデバイス１０に対するデータの転送が失敗すると、当該同一のグループに属する各デバイス１０に対して、一時データ領域１０６２に格納されているデータを削除するように指示する。
【０１６０】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ３０４においてＮＯ）、処理はステップＳ４０１へ進む。この場合、ファイル転送が成功したデバイス１０についてのみ処理が継続されることになる。すなわち、サポート装置４００のダウンロード処理部４５８（データ管理部２６）は、予め定められた設定（失敗時に元に戻す設定の無効化）に従って、同一のグループに属するデバイス１０のうちデータの転送が成功したデバイス１０のみに対して、当該転送されたデータに反映を指示することが可能になっている。
【０１６１】
ステップＳ４０１以下においては、フラッシュ処理が実行される。より具体的には、サポート装置４００は、すべてのデバイス１０に対して、転送されたファイルを反映する（すなわち、フラッシュ処理を実行する）（ステップＳ４０１）。なお、デバイス１０の書込順は、後述の図１６に示される実行順設定画面６６０または図１７に示される実行前画面６７０において任意に設定できる。
【０１６２】
ここで、対象のデバイス１０に対してフラッシュ処理を順次実行するようにしてもよいし、同時反映、すなわち並列処理で複数のデバイス１０に対してフラッシュ処理を実行するようにしてもよい。
【０１６３】
ステップＳ４０２においては、転送されたファイルでデバイス１０内のデータが更新される。なお、デバイス１０のＩＰアドレスが変更されると、以降の転送処理が実行できなくなることを防止するため、ＩＰアドレスのロードはこの時点では実施されない。
【０１６４】
サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対するフラッシュ処理が成功したか否かを判断する（ステップＳ４０３）。いずれかのデバイス１０に対するフラッシュ処理が失敗していれば（ステップＳ４０３においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ４０４）。
【０１６５】
失敗時に元に戻す設定がなされていれば（ステップＳ４０４においてＹＥＳ）、処理はステップＳ５０４へ進む。一方、失敗時に元に戻す設定がなされていなければ（ステップＳ４０４においてＮＯ）、処理はステップＳ５０１へ進む。この場合、フラッシュ処理が成功したデバイス１０についてのみ処理が継続されることになる。
【０１６６】
選択されたグループに属するすべてのデバイス１０に対するフラッシュ処理が成功していれば（ステップＳ４０３においてＹＥＳ）、サポート装置４００は、各デバイス１０に属するすべてのユニット２００へパラメータを転送する（ステップＳ５０１）。
【０１６７】
サポート装置４００は、各デバイス１０に属するすべてのユニット２００へのパラメータ転送が成功したか否かを判断する（ステップＳ５０２）。いずれかのユニット２００へのパラメータ転送が失敗していれば（ステップＳ５０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ５０３）。
【０１６８】
失敗時に元に戻す設定がなされていれば（ステップＳ５０３においてＹＥＳ）、処理はステップＳ５０４へ進む。
【０１６９】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ５０３においてＮＯ）、処理はステップＳ６０１へ進む。この場合、パラメータ転送が成功したユニット２００についてのみ処理が継続されることになる。
【０１７０】
各デバイスに属するすべてのユニット２００へのパラメータ転送が成功していれば（ステップＳ５０２においてＹＥＳ）、サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００へパラメータを転送する（ステップＳ６０１）。
【０１７１】
サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００へのパラメータ転送が成功したか否かを判断する（ステップＳ６０２）。いずれかのスレーブ２５０またはカプラ３００へのパラメータ転送が失敗していれば（ステップＳ６０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ６０３）。
【０１７２】
失敗時に元に戻す設定がなされていれば（ステップＳ６０４においてＹＥＳ）、処理はステップＳ５０４へ進む。
【０１７３】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ６０３においてＮＯ）、処理はステップＳ７０１へ進む。この場合、パラメータ転送が成功したスレーブ２５０およびカプラ３００についてのみ処理が継続されることになる。
【０１７４】
ステップＳ５０４において、サポート装置４００は、バックアップしたデータを各デバイスへリストアする（ステップＳ５０４）。これによって、各デバイス１０は、元の状態に復帰する。すなわち、サポート装置４００のダウンロード処理部４５８（データ管理部２６）は、同一のグループに属するいずれかのデバイス１０に対するデータの転送が失敗すると、バックアップデータ４８６を当該同一のグループに属する各デバイス１０に戻す。そして、処理はステップＳ８０３へ進む。
【０１７５】
一方、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００へのパラメータ転送が成功していれば（ステップＳ６０２においてＹＥＳ）、サポート装置４００は、選択されたグループに属するデバイス１０のＩＰアドレスをロードする（ステップＳ７０１）。なお、ＩＰアドレスが変更されるデバイス１０のみ、ステップＳ７０１に示されるロード処理が実行される。
【０１７６】
サポート装置４００は、ＩＰアドレスのロードに失敗したデバイス１０が存在するか否かをチェックする（ステップＳ７０２）。サポート装置４００は、ＩＰアドレスのロードに失敗したデバイス１０が存在するか否かにかかわらず、運転モードに戻すデバイス１０を選択するための運転モード変更確認画面（図１８の運転モード変更確認画面６８０を参照）を表示する（ステップＳ８０１）。
【０１７７】
ＩＰアドレスのロードに失敗した場合であっても、ファイルおよびパラメータの転送自体は正常に完了しているため、原則として、処理は継続される。但し、転送されたファイルに規定されたＩＰアドレスと実際に設定されているＩＰアドレスとの間に矛盾が生じることになる。そこで、転送結果を表示する際に、ＩＰアドレスのロードに失敗したデバイス１０については、ＩＰアドレスのロードに失敗した旨の結果を通知する。加えて、当該デバイスのリスタートが必要であることをユーザへ通知することが好ましい。
【０１７８】
ステップＳ８０１において表示される運転モード変更確認画面を操作することで、ユーザは、ダウンロード開始前に運転モードであったデバイスを運転モードに戻すか否かを自身で選択できる。運転モード変更確認画面においては、デバイスごとに運転モードに戻すか否かを選択できるようにしておくことが好ましい。
【０１７９】
サポート装置４００は、ステップＳ８０１において表示される運転モード変更確認画面に対するユーザ操作に応じて、選択されたデバイスを運転モードに戻す（ステップＳ８０２）。
【０１８０】
そして、サポート装置４００は、選択されたグループに属するデバイス１０のセッションを開放して、排他制御権を開放する（ステップＳ８０３）。ここで、対象のデバイス１０の排他制御権を順次解放するようにしてもよいし、並列処理で複数のデバイス１０の排他制御権を開放するようにしてもよい。
【０１８１】
最終的に、サポート装置４００は、一連のダウンロード処理の結果をユーザに通知する（例えば、図１９に示す実行結果通知画面６９０）（ステップＳ９０１）。この結果には、デバイス１０ごとの転送結果を含めることが好ましい。ＩＰアドレスが変更された場合、あるいは、ＩＰアドレスのロード処理に失敗した場合などには、その内容についても通知結果に含めることが好ましい。
【０１８２】
＜Ｇ．グループ単位での管理機能（アップロード）の処理手順＞
次に、本実施の形態に係る制御システム１におけるグループ単位での管理機能（アップロード）の処理手順の一例について説明する。
【０１８３】
図１３は、本実施の形態に係る制御システム１におけるグループ単位での管理機能（アップロード）の処理手順を説明するための模式図である。図１３には、グループＡに属するデバイス１０＿１およびデバイス１０＿２に対するデータのアップロードの処理例を示す。
【０１８４】
図１３においては、グループＡが選択された状態で、アップロードが指示された場合の処理例を示す。グループＡが選択されているので、グループＡに属するデバイス１０＿１およびデバイス１０＿２に格納されているデータがアップロードされ、デバイス１０＿３に対してはデータのアップロードは行われない。
【０１８５】
概略の処理手順として、まず、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを取得して、排他制御権を取得する（ステップＳ１１）。これは、別の装置から同一のデバイス１０への同時書込みを防止するためである。
【０１８６】
続いて、サポート装置４００は、統合開発環境４５０で開かれているプロジェクト４８４のデータをディレクトリ４８０内に保存する（ステップＳ１２）。
【０１８７】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に順次アクセスして、各デバイス１０内の制御プログラム１４０のファイルに対するアップロード処理を実行し、ディレクトリ４８０内に制御プログラム１４０＃として保存する（ステップＳ１３）。
【０１８８】
なお、順次アクセスだけではなく、並列処理で複数のデバイス１０内の制御プログラム１４０のファイルに対するバックアップ処理を実行するようにしてもよい。
【０１８９】
選択されたグループに属するすべてのデバイス１０に対するアップロード処理が正常に完了すると、サポート装置４００は、アップロードした制御プログラム１４０＃に基づいて、統合開発環境４５０で開かれる各デバイス１０の制御プログラム１４０を更新する（ステップＳ１４）。
【０１９０】
選択されたグループに属するすべてのデバイス１０について制御プログラム１４０の更新が正常に完了すると、サポート装置４００は、各デバイス１０に属するすべてのユニット２００のパラメータ２０６０に対するアップロード処理を実行する（ステップＳ１５）。各デバイス１０に属するすべてのユニット２００のパラメータ２０６０に対するアップロード処理が正常に完了すると、サポート装置４００は、アップロードしたパラメータ２０６０に基づいて、統合開発環境４５０で開かれる各ユニット２００のパラメータ２０６０を更新する。
【０１９１】
各デバイス１０に属するすべてのユニット２００についてパラメータ２０６０の更新が正常に完了すると、サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００のパラメータ２５６０およびパラメータ３０６０に対するアップロード処理を実行する（ステップＳ１６）。各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００のパラメータ２５６０およびパラメータ３０６０に対するアップロード処理が正常に完了すると、サポート装置４００は、アップロードしたスレーブ２５０およびカプラ３００のパラメータ２５６０およびパラメータ３０６０に基づいて、統合開発環境４５０で開かれる各スレーブ２５０およびカプラ３００のパラメータ２５６０およびパラメータ３０６０を更新する。
【０１９２】
なお、ユニット２００のパラメータの転送（ステップＳ１５）とスレーブ２５０および／またはカプラ３００のパラメータ転送（ステップＳ１６）との実行順序はこの通りでなくてもよい。例えば、ステップＳ１５とステップＳ１６との実行順序を逆にしてもよい。
【０１９３】
各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００についてパラメータ２５６０およびパラメータ３０６０の更新が正常に完了すると、サポート装置４００は、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを開放して、排他制御権を開放する（ステップＳ１７）。そして、サポート装置４００は、一連のダウンロード処理の結果をユーザに通知する（ステップＳ１８）。
【０１９４】
説明の便宜上、図１３には、ＰＬＣ１００を主とするコントローラをデバイスの一例として説明したが、デバイスとしてはＰＬＣ１００を主とするコントローラに限られず、例えば、ＨＭＩやＩＰＣなどの任意の装置にも同様に適用可能である。
【０１９５】
図１４および図１５は、本実施の形態に係る制御システム１におけるグループ単位での管理機能（アップロード）の処理手順を示すフローチャートである。図１４および図１５に示す各ステップは、典型的には、サポート装置４００のプロセッサ４０２がサポートプログラム４０６２を実行することで実現される。
【０１９６】
まず、サポート装置４００は、グループ設定割付画面（後述の図１６に示すグループ設定割付画面６００）を表示して、グループの選択を受付ける（ステップＳ１１０１）。
【０１９７】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを取得して、排他制御権を取得する（ステップＳ１１０２）。すなわち、サポート装置４００は、処理実行中に別のサポート装置４００などから書込み処理が実行されることを防止するために、選択されたグループに属するすべてのデバイス１０に対してセッションを取得する。
【０１９８】
ここで、対象のデバイス１０の排他制御権を順次取得するようにしてもよいし、並列処理で複数のデバイス１０の排他制御権を取得するようにしてもよい。
【０１９９】
続いて、サポート装置４００は、統合開発環境４５０で開かれているプロジェクト４８４のデータをディレクトリ４８０内に保存する（ステップＳ１２０１）。すなわち、サポート装置４００は、現在開かれているプロジェクト４８４のデータをローカルにコピーする。このコピーは、アップロード処理に失敗した場合に、プロジェクト４８４を元に戻すためのバックアップデータ４８６に相当する。
【０２００】
続いて、サポート装置４００は、選択されたグループに属するすべてのデバイス１０に順次アクセスして、各デバイス１０内の制御プログラム１４０に対するアップロード処理を実行し、ディレクトリ４８０内に制御プログラム１４０＃として保存する（ステップＳ１３０１）。すなわち、サポート装置４００は、すべてのデバイス１０に対して、各デバイス１０内のファイルをローカルフォルダへアップロードする。
【０２０１】
サポート装置４００は、選択されたグループに属するすべてのデバイス１０に対するアップロード処理が成功したか否かを判断する（ステップＳ１３０２）。いずれかのデバイス１０に対するアップロード処理が失敗していれば（ステップＳ１３０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ１３０３）。
【０２０２】
失敗時に元に戻す設定がなされていれば（ステップＳ１３０３においてＹＥＳ）、サポート装置４００は、ディレクトリ４８０にアップロードしたファイルを削除する（ステップＳ１３０４）。そして、処理はステップＳ１７１１へ進む。
【０２０３】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ１３０３においてＮＯ）、処理はステップＳ１４０１へ進む。この場合、アップロード処理が成功したデバイス１０についてのみ処理が継続されることになる。
【０２０４】
選択されたグループに属するすべてのデバイス１０に対するアップロード処理が成功していれば（ステップＳ１３０２においてＹＥＳ）、サポート装置４００は、アップロードした制御プログラム１４０＃に基づいて、統合開発環境４５０で開かれる各デバイス１０の制御プログラム１４０を更新する（ステップＳ１４０１）。すなわち、サポート装置４００は、アップロードした制御プログラム１４０のファイルをロードして、プロジェクト４８４内の各デバイス１０の設定へ反映する。
【０２０５】
サポート装置４００は、選択されたグループに属するすべてのデバイス１０について制御プログラム１４０の更新が成功したか否かを判断する（ステップＳ１４０２）。いずれかのデバイス１０に対する制御プログラム１４０の更新が失敗していれば（ステップＳ１４０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ１４０３）。
【０２０６】
失敗時に元に戻す設定がなされていれば（ステップＳ１４０３においてＹＥＳ）、処理はステップＳ１７１１へ進む。
【０２０７】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ１４０３においてＮＯ）、処理はステップＳ１５０１へ進む。この場合、アップロード処理が成功したデバイス１０についてのみ処理が継続されることになる。
【０２０８】
選択されたグループに属するすべてのデバイス１０について制御プログラム１４０の更新が成功していれば（ステップＳ１４０２においてＹＥＳ）、サポート装置４００は、各デバイス１０に属するすべてのユニット２００のパラメータ２０６０に対するアップロード処理を実行し、アップロードしたパラメータ２０６０に基づいて、統合開発環境４５０で開かれる各ユニット２００のパラメータ２０６０を更新する（ステップＳ１５０１）。
【０２０９】
サポート装置４００は、各デバイス１０に属するすべてのユニット２００からのパラメータ転送が成功したか否かを判断する（ステップＳ１５０２）。いずれかのユニット２００からのパラメータ転送が失敗していれば（ステップＳ１５０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ１５０３）。
【０２１０】
失敗時に元に戻す設定がなされていれば（ステップＳ１５０３においてＹＥＳ）、処理はステップＳ１７１１へ進む。
【０２１１】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ１５０３においてＮＯ）、処理はステップＳ１６０１へ進む。この場合、パラメータ転送が成功したユニット２００についてのみ処理が継続されることになる。
【０２１２】
各デバイス１０に属するすべてのユニット２００からのパラメータ転送が成功していれば（ステップＳ１５０２においてＹＥＳ）、サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０のパラメータ２５６０およびカプラ３００のパラメータ３０６０に対するアップロード処理を実行し、アップロードしたパラメータ２５６０およびパラメータ３０６０に基づいて、統合開発環境４５０で開かれる各スレーブ２５０および各カプラ３００のパラメータ２０６０を更新する（ステップＳ１６０１）。
【０２１３】
サポート装置４００は、各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００からのパラメータ転送が成功したか否かを判断する（ステップＳ１６０２）。いずれかのスレーブ２５０またはカプラ３００からのパラメータ転送が失敗していれば（ステップＳ１６０２においてＮＯ）、サポート装置４００は、失敗時に元に戻す設定がなされているか否かを判断する（ステップＳ１６０３）。
【０２１４】
失敗時に元に戻す設定がなされていれば（ステップＳ１６０３においてＹＥＳ）、処理はステップＳ１７１１へ進む。
【０２１５】
一方、失敗時に元に戻す設定がなされていなければ（ステップＳ１６０３においてＮＯ）、処理はステップＳ１７０１へ進む。この場合、パラメータ転送が成功したユニット２００についてのみ処理が継続されることになる。
【０２１６】
各デバイス１０に属するすべてのスレーブ２５０およびカプラ３００からのパラメータ転送が成功していれば（ステップＳ１６０２においてＹＥＳ）、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを開放して、排他制御権を開放する（ステップＳ１７０１）。ここで、対象のデバイス１０の排他制御権を順次解放するようにしてもよいし、並列処理で複数のデバイス１０の排他制御権を開放するようにしてもよい。
【０２１７】
最終的に、サポート装置４００は、一連のアップロード処理の結果をユーザに通知する（例えば、図１９に示す実行結果通知画面６９０）（ステップＳ１８０１）。この結果には、デバイス１０ごとの転送結果を含めることが好ましい。転送が失敗したデバイス１０については、その失敗した原因なども通知結果に含めることが好ましい。
【０２１８】
また、ステップＳ１７１１において、サポート装置４００は、選択されたグループに属するすべてのデバイス１０のセッションを開放して、排他制御権を開放する（ステップＳ１７１１）。ここで、対象のデバイス１０の排他制御権を順次解放するようにしてもよいし、並列処理で複数のデバイス１０の排他制御権を開放するようにしてもよい。また、サポート装置４００は、各デバイス１０を一旦オフラインに変更する（ステップＳ１７１２）。
【０２１９】
そして、サポート装置４００は、アップロード処理前に保存したプロジェクト４８４を用いてプロジェクトを開き直す（ステップＳ１７１３）。そして、サポート装置４００は、選択されたグループに属するデバイス１０に対してオンライン処理を実行する（ステップＳ１７１４）。そして、処理はステップＳ１８０１へ進む。
【０２２０】
＜Ｈ．ユーザインターフェイス画面＞
上述したようなオンライン処理（ダウンロードおよびアップロード）に関するユーザインターフェイス画面の一例について説明する。
【０２２１】
（ｈ１：グループ設定割付画面）
図１６は、本実施の形態に係る制御システム１が提供するグループ設定割付画面の一例を示す模式図である。図１６を参照して、グループ設定割付画面６００は、グループ設定エリア６１０と、グループ割付設定エリア６２０とを含む。
【０２２２】
グループ設定エリア６１０は、登録されているグループの一覧表示６１２を含んでおり、追加削除ボタン６１６を操作することで、グループの追加および削除が可能になっている。図１６には、４つのグループが登録されている例を示す。
【０２２３】
グループ割付設定エリア６２０には、現在開かれているプロジェクト４８４に含まれるデバイスが一覧表示される。より具体的には、グループ割付設定エリア６２０は、デバイスの一覧表示６２２と、各デバイスの形式を示すデバイス詳細情報表示６２４と、各デバイスが属するグループを示す所属グループ表示６２６とを含む。このように、グループ割付設定エリア６２０は、デバイスごとに、対応する形式および所属するグループを規定する情報を含む。
【０２２４】
なお、デバイス詳細情報表示６２４として形式を表示する例を示すが、別の表示形態を採用してもよい。例えば、デバイス詳細情報表示６２４として複数の列を含み、形式列だけではなく、デバイス１０のバージョン列などデバイス１０の詳細情報を列ごとに記載してもよい。
【０２２５】
所属グループ表示６２６に含まれる「＋」ボタンが押下されると、所属グループ設定画面６５０が表示される。所属グループ設定画面６５０は、登録されているグループの一覧表示６５４と、グループごとに対象の有無を選択するチェックボックス６５２とを含む。ユーザは、チェックボックス６５２を操作して、選択されているデバイスを所属させるべきグループを選択する。すなわち、ユーザは各デバイスをどのグループに割り付けるかを設定する。なお、１つのデバイスを複数のグループに割り付けることができるようにしてもよい。
【０２２６】
グループ設定エリア６１０は、書込順の設定ボタン６１４を含む。設定ボタン６１４が押下されると、書込み処理（ダウンロード処理）におけるデバイスの実行順を設定するための実行順設定画面６６０が表示される。ダウンロード処理の場合、書込順によってデバイスの挙動が変化し得るため、デバイスに対する処理の実行順を予め設定しておくことが好ましい。実行順設定画面６６０は、対象のグループを選択するためのプルダウン６６２と、選択されているグループに所属するデバイスの一覧表示６６６と、実行順を示す実行順表示６６４とを含む。
【０２２７】
ユーザは、一覧表示６６６において対象のデバイスを選択するとともに、変更ボタン６６８を操作することで、当該選択されているデバイスの実行順が変化する。このように、ユーザは、一覧表示６６６において各デバイスの順番を入れ替えることで、ダウンロード処理における実行順を任意に設定できる。なお、実際のダウンロード処理の実行直前においても、実行順を任意に設定できるようにしてもよい。
【０２２８】
このような実行順の設定は、実行順がデバイスの振る舞いに影響を与え得る場合にのみ有効化されてもよい。例えば、実行順がデバイスの振る舞いに影響を与える可能性がない処理については、内部的に最適化を実行して、並列に処理するようにしてもよい。
【０２２９】
以下、実行直前に提供されるユーザインターフェイス画面の一例について説明する。
図１７は、本実施の形態に係る制御システム１が提供するオンライン処理実行前画面の一例を示す模式図である。図１７を参照して、オンライン処理として、書込み処理および書込み処理以外の別にユーザインターフェイス画面が提供される。
【０２３０】
書込み処理が選択されると、実行前画面６７０が表示される。実行前画面６７０は、書込み処理の対象となるグループを選択するためのプルダウン６７２と、選択されているグループに所属するデバイスの一覧表示６７６と、実行順を示す実行順表示６７４とを含む。
【０２３１】
ユーザがプルダウン６７２を操作して、書込み処理の対象となる任意のグループを選択すると、当該選択されたグループに所属するデバイスの一覧が表示または更新される。グループ設定割付画面６００（図１６）において予め設定された書込順がデフォルトとして、実行前画面６７０に表示される。デバイスの実行順を変更する必要がある場合には、ユーザは、一覧表示６７６において対象のデバイスを選択するとともに、変更ボタン６７８を操作する。
【０２３２】
実行前画面６７０は、失敗時に元に戻す設定を有効化するためのチェックボックス６７９を含む。ユーザがチェックボックス６７９を有効化することで、いずれかのデバイスにおいて処理の実行が失敗すると、対象のすべてのデバイスが処理実行前の状態に戻される。チェックボックス６７９が無効化されている場合には、処理の実行が成功したデバイスについて処理が継続される。
【０２３３】
書込み処理以外が選択されると、実行前画面６７１が表示される。実行前画面６７１は、実行前画面６７０を簡素化したものに相当し、書込み処理の対象となるグループを選択するためのプルダウン６７２と、失敗時に元に戻す設定を有効化するためのチェックボックス６７９を含む。プルダウン６７２およびチェックボックス６７９の機能および処理は、実行前画面６７０のプルダウン６７２およびチェックボックス６７９と同様であるので、詳細な説明は繰返さない。
【０２３４】
図１７に示すように、いずれのオンライン処理であっても、失敗時に元に戻す設定が可能になっている。
【０２３５】
（ｈ２：運転モード変更画面）
図１８は、本実施の形態に係る制御システム１が提供する運転モード変更確認画面６８０の一例を示す模式図である。図１８を参照して、運転モード変更確認画面６８０は、デバイスの一覧表示６８４と、各デバイスに対するオンライン処理の実行結果を示す実行結果表示６８６と、デバイスごとに運転モードへの変更対象を選択するチェックボックス６８２とを含む。
【０２３６】
一覧表示６８４には、選択されているグループに所属するデバイスが一覧表示される。ユーザは、チェックボックス６８２を操作して、一覧表示６８４に表示されるデバイスのうち運転モードに変更する対象のデバイスを選択する。このように、ユーザは、チェックボックス６８２を操作することで、デバイスごとに運転モードに変更するか否かを決定できる。
【０２３７】
実行結果表示６８６には、各デバイスに対するオンライン処理の実行結果（成功または失敗）が表示される。
【０２３８】
ここで、成功または失敗だけでなく、詳細情報を表示するようにしてもよい。例えば、失敗であれば、転送失敗なのかＩＰアドレスのロードに失敗なのかといった失敗の原因を表示するようにしてもよい。また、成功した場合であっても、ＩＰアドレスが変更されていることなどを表示するようにしてもよい。
【０２３９】
表示態様としても、例えば、実行結果欄の他に別の欄を設けて、実行結果欄には成功または失敗を表示するとともに、当該別の欄には上述したような内容で記載された詳細情報を表示するようにしてもよい。
【０２４０】
例えば、書込み処理に失敗したデバイスは動作が変化する可能性があるため、当該デバイスについての運転モードへの変更を禁止してもよい。このような運転モードへの変更を禁止する場合には、オンライン処理の実行が失敗したデバイスについては、チェックボックス６８２をグレイアウトして、選択不可の状態にしてもよい。
【０２４１】
この他にも、ＩＰアドレスのロードに失敗したデバイスなどを含んだ表示としてもよい。これは、ＩＰアドレスのロードに失敗しているデバイスは、ファイルと実際の接続ＩＰアドレスとの間に矛盾が発生するため、リスタートが必要になるので、運転モードへ変更することは好ましくないからである。
【０２４２】
また、処理開始時にプログラムモードであったデバイスについても、運転モードへの変更を禁止するようにしてもよい。
【０２４３】
（ｈ３：実行結果通知画面）
図１９は、本実施の形態に係る制御システム１が提供する実行結果通知画面６９０の一例を示す模式図である。図１９を参照して、実行結果通知画面６９０は、メッセージ通知領域６９１を含む。メッセージ通知領域６９１には、オンライン処理の実行に関する内容が表示される。例えば、処理の実行に失敗したデバイスが存在する場合や、ＩＰアドレスが変更された場合などの状況に応じて、表示されるメッセージの内容が変更される。
【０２４４】
実行結果通知画面６９０は、対象のグループに属しているデバイスの一覧表示６９２および各デバイスについての実行結果の一覧表示６９４を含む。一覧表示６９２および一覧表示６９４には、デバイスごとに処理の事項が成功したのか、あるいは、失敗したのかが示される。
【０２４５】
実行結果通知画面６９０は、さらに、一覧表示６９２において選択された特定のデバイスについて、処理の詳細な情報を表示するための工程の一覧表示６９６および実行結果の一覧表示６９８を含む。すなわち、選択された任意のデバイスについて、工程ごとに処理の実行結果の詳細が表示される。このような詳細な実行結果を表示することで、各デバイスについて、実施されていない構成を含めて、いずれの工程まで実行されたのかを容易に把握できる。
【０２４６】
実行結果通知画面６９０は、さらに、エラー情報通知領域６９９を含む。エラー情報通知領域６９９には、いずれかのデバイスに対するオンライン処理が失敗したときに、対応するエラー情報およびトラブルシュートに関する情報などが表示されてもよい。エラー情報通知領域６９９に、ユーザが理解できる情報であれば、どのような表示項目および内容であってもよい。
【０２４７】
図１９に示すような実行結果通知画面６９０が提供されることで、ユーザは、複数のデバイスに対してまとめてオンライン処理を実行する場合であっても、一部のデバイスで発生するエラーやその対処などを容易に認識できる。
【０２４８】
＜Ｉ．変形例＞
上述の実施の形態においては、単一のコンピュータがサポート装置４００を構成する場合について説明したが、サポート装置４００が提供する処理または機能の一部を他のコンピュータに分散配置してもよい。例えば、ストレージの機能をネットワーク上のサーバが提供する記憶領域を用いて実現してもよいし、あるいは、ビルド処理をネットワーク上のサーバで実施するようにしてもよい。
【０２４９】
このように、サポート装置４００の具体的な実装形態としては、各時代に応じた適切な形態を採用すればよい。
【０２５０】
＜Ｊ．付記＞
上述したような本実施の形態は、以下のような技術思想を含む。
［構成１］
複数のデバイス（１０）を有する制御システム（１）において利用されるサポート装置（４００）であって、
前記複数のデバイスを動作させるために必要な情報を含むプロジェクト（４８４）から、前記複数のデバイスの各々に格納すべきデータ（４８５）を生成するデータ生成部（２０；４６８）と、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部（２２；６００）と、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部（２４；４５４）と、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部（２６；４５８）とを備える、サポート装置。
［構成２］
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、当該同一のグループに属するすべてのデバイスを、データを転送する前の状態に戻す（Ｓ３０４；Ｓ５０４）、構成１に記載のサポート装置。
［構成３］
前記デバイスの各々は、処理に用いられるデータを格納するための第１のデータ領域（１０６４）と、前記データ転送部から転送されるデータを一時的に格納するための第２のデータ領域（１０６２）とを有しており、
前記データ管理部は、前記同一のグループに属する各デバイスに対して、前記第２のデータ領域に格納されているデータを前記第１のデータ領域に反映するように指示する（Ｓ４０２）、構成１または２に記載のサポート装置。
［構成４］
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、前記同一のグループに属する各デバイスに対して、前記第２のデータ領域に格納されているデータを削除するように指示する（Ｓ３０５）、構成３に記載のサポート装置。
［構成５］
データの転送前に、前記同一のグループに属する各デバイスに格納されているデータを取得してバックアップデータ（４８６）として保持するデータ保持部（４５６）をさらに備え、
前記データ管理部は、前記同一のグループに属するいずれかのデバイスに対するデータの転送が失敗すると、前記バックアップデータを前記同一のグループに属する各デバイスに戻す（Ｓ５０４）、構成２に記載のサポート装置。
［構成６］
前記データ管理部は、予め定められた設定に従って、前記同一のグループに属するデバイスのうちデータの転送が成功したデバイスのみに対して、当該転送されたデータに反映を指示することが可能になっている（Ｓ３０４，Ｓ３０５）、構成１〜５のいずれか１項に記載のサポート装置。
［構成７］
前記データ転送部から転送されるデータは、前記デバイスで実行される制御プログラム（１４０）と、前記デバイスの動作に必要なパラメータ（２０６０，２５６０，３０６０）とを含み、
前記データ転送部は、前記制御プログラムの転送後に、前記パラメータを転送する（Ｓ３０２，Ｓ５０１，Ｓ６０１）、構成１〜６のいずれか１項に記載のサポート装置。
［構成８］
前記デバイスは、制御装置（１００）と前記制御装置に接続される周辺装置（２００，２５０，３００）とを含み、
前記データ転送部は、前記制御プログラムを前記制御装置に転送した後に、前記制御装置を介して前記周辺装置に前記パラメータを転送する（Ｓ５０１，Ｓ６０１）、構成７に記載のサポート装置。
［構成９］
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々から、各デバイスに格納されているデータを取得して前記プロジェクトの内容を更新するデータ取得処理部（４６２，４６４）をさらに備える、構成１〜８のいずれか１項に記載のサポート装置。
［構成１０］
複数のデバイス（１０）を有する制御システム（１）において利用されるコンピュータ（４００）で実行されるサポートプログラム（４０６２）であって、前記サポートプログラムはコンピュータに
前記複数のデバイスを動作させるために必要な情報を含むプロジェクト（４８４）から、前記複数のデバイスの各々に格納すべきデータ（４８５）を生成するステップ（２０；４６８）と、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付けるステップ（２２；６００）と、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記生成された各デバイスに対応するデータを転送するステップ（Ｓ３０２）と、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するステップ（Ｓ４０２）とを実行させる、サポートプログラム。
［構成１１］
複数のデバイス（１０）と、
前記複数のデバイスに接続可能なサポート装置（４００）とを備え、
前記サポート装置は、
前記複数のデバイスを動作させるために必要な情報を含むプロジェクト（４８４）から、前記複数のデバイスの各々に格納すべきデータ（４８５）を生成するデータ生成部（２０；４６８）と、
前記複数のデバイスのうち同一のグループに属するデバイスの選択を受付ける選択受付部（２２；６００）と、
ユーザ操作に応答して、前記同一のグループに属するデバイスの各々に対して、前記データ生成部により生成された各デバイスに対応するデータを転送するデータ転送部（２４；４５４）と、
前記同一のグループに属するすべてのデバイスに対するデータの転送が成功した後、各デバイスに対する当該転送されたデータに反映を指示するデータ管理部（２６；４５８）とを備える、制御システム。
【０２５１】
＜Ｋ．利点＞
本実施の形態に係る制御システム１によれば、装置単位などのユーザが任意に設定したグループに対して、プロジェクトに含まれる複数のデバイスのうち一部または全部を各グループに割付ることができる。そして、グループ単位でオンライン処理を実行できる。このような構成を採用することで、以下のような課題を解決できる。
【０２５２】
具体的には、従来の統合開発環境からデバイスとの間でデータ（制御プログラムやパラメータなど）を読み書きする場合には、デバイスごとに操作を行う必要があった。例えば、複数のデバイスで構成される単一の装置を一つのプロジェクトとして管理している場合であっても、ダウンロード処理やモニタリングといったオンライン処理は、デバイスごとに個別に実行する必要があった。そのため、ユーザから見れば、一つのプロジェクトとして管理しているメリットを享受できず、また、デバイスの数だけ類似した操作を繰返さなければならず、手数の多さに起因する誤操作などの可能性も増大し得る。
【０２５３】
また、特定のデバイスに対する書込み処理が失敗した場合に、既に書込みが完了したデバイスを元の戻すような仕組みも存在しないので、複数のデバイスの取扱いには手間が掛かる。
【０２５４】
また、一つのデバイスに対する操作が完了するまで次のデバイスに対する操作を開始できないため、ユーザがすべてのデバイスにオンライン処理を実行完了するまでに長い時間を要する。すなわち、対象グループの属する各デバイスへの読書きを順次実行する場合には、長い処理時間を要する。
【０２５５】
このような課題に対して、本実施の形態に係る制御システム１によれば、プロジェクトに含まれる１または複数のデバイスをグループ化することで、その後のオンライン処理を当該グループ単位で一斉に実行できる。例えば、同一のグループに属するデバイスに対してデータの書込み処理などを行う場合には、書込順や転送失敗時の対処などを設定できるので、同一グループに属するデバイス間に不整合を生じることなく、一括操作を実現できる。
【０２５６】
また、処理を部分的に並列処理できるため、ユーザがすべてのデバイスにオンライン処理を実行完了するまでの時間を短縮できる。
【０２５７】
本実施の形態に係る制御システム１においては、以下のような処理および機能を実行可能である。
【０２５８】
（１）ユーザにより任意のデバイスを各グループに割当てることができる。
（２）ユーザはグループ設定割付画面６００を操作することで、プロジェクトに含まれる任意のデバイスを予め登録したいずれかのグループへ割当てることができる。
【０２５９】
（３）ユーザは、オンライン処理の実行時において、いずれのグループに対して処理を実行するか選択することで、当該選択されたグループに属する１または複数のデバイスに対して一括した処理を実行できる。
【０２６０】
（４）書込み処理を行う際は、デバイス間でデータ反映の順番を予め設定でき、これによって書込み後の挙動に不整合が生じる可能性を低減できる。
【０２６１】
（５）書込み処理を行う際、処理開始前に対象となるデバイスのすべてからデータを取得してサポート装置４００内にバックアップデータとして格納できる。
【０２６２】
（６）読込み処理を行う際、処理開始前に対象となるデバイスのすべてから制御プログラムの情報をサポート装置４００内に格納できる。
【０２６３】
（７）オンライン処理の実行時には、必要に応じて排他制御をかけることができるので、書込みあるいは読出しにおけるデバイス間の不整合を防止できる。
【０２６４】
（８）対象のすべてのデバイスに対する処理の完了後、実行結果をチェックして１つでも失敗したデバイスが存在する場合には、サポート装置４００に格納してあるバックアップデータを用いて元に戻すこともできる。
【０２６５】
（９）すべてのオンライン処理の実行完了後に実行結果を通知することもできる。このとき、失敗した場合は失敗したデバイス情報も通知するようにしてもよい。
【０２６６】
（１０）複数のデバイスで実行される制御プログラムを一つのプロジェクトとして作成できる統合開発環境が提供される。この統合開発環境においては、ユーザが設定したグループ単位で１または複数のデバイスをグループ化できる。
【０２６７】
（１１）グループ単位でオンライン処理を実行できる。
（１２）読込み処理および書込処理の内容は、オンライン接続、モニタ、ダウンロード、アップロード、バックアップ、リストア、オンラインエディットなどいずれであってもよい。
【０２６８】
（１３）デバイスに対するオンライン処理の実行時においては、必要に応じて排他制御をかけることで、書込みあるいは読出しのデバイス間の不整合を防止できる。
【０２６９】
（１４）統合開発環境からデバイスへの書込み処理を行う際、処理開始前に対象のグループに属する全デバイスのデータを取得し、サポート装置上でバックアップデータとして保管できるため、特定のデバイスのみデータが変更されることを防止できる。
【０２７０】
（１５）デバイスから統合開発環境へデータを取得する際は、統合開発環境上の制御プログラムデータを取得し、サポート装置４００上でバックアップデータとして格納できるため、特定のデバイスのみデータが変更されることを防止できる。
【０２７１】
（１６）オンライン処理の実行後、各デバイスでの結果をチェックして、いずれか１つでも失敗しているデバイスが存在した場合には、サポート装置４００上で保管していたバックアップデータを使用して、処理実行前の状態へ戻すことができる。
【０２７２】
（１７）すべての処理が完了後に、実行結果をユーザへ通知する。
（１８）デバイスは、ＰＬＣやＨＭＩなどプロジェクトが生成可能なデバイスであればいずれであってもよい。
【０２７３】
（１９）対象グループの属する各デバイスへの読書きは並列に処理することができるため、各デバイスへの読書きを順次実行する場合に比べて処理を短時間化できる。
【０２７４】
（２０）１デバイスあたり複数グループを割り付けることも可能であってもよい。
本実施の形態に係る制御システム１が提供する統合開発環境においては、複数のデバイスで実行される制御プログラムを変更するような場合、当該複数のデバイスの制御プログラムを同期させることができる。
【０２７５】
なお、すべてのデバイスに対する制御プログラムの書込みが完了するまでには、複数のデバイス間で制御プログラムの同期状態を確保できないが、万が一、いずれかのデバイスに対する書込みが失敗した場合には、既に書込まれた制御プログラムを元に戻すので、一部の制御プログラムのみが更新されるといった事態を回避できる。
【０２７６】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２７７】
１  制御システム、２  ネットワーク、４，８  ローカルバス、６  フィールドバス、１０，１０＿１，１０＿２，１０＿３，１０＿４，・・・，１０＿Ｎ  デバイス、２０  データ生成部、２２  選択受付部、２４  データ転送部、２６  データ管理部、１００  ＰＬＣ、１０２，３０２，４０２  プロセッサ、１０４，３０４，４０４  メインメモリ、１０６，２０６，３０６，４０６  ストレージ、１０８，４１６  ネットワークコントローラ、１１０，３１０  フィールドバスコントローラ、１１４  ＵＳＢコントローラ、１１６  メモリカードインターフェイス、１１８  メモリカード、１２０，２２０，３２０  ローカルバスコントローラ、１３０，３３０，４１８  プロセッサバス、１４０  制御プログラム、１５０  ＰＬＣ機能モジュール、１５２  シーケンス制御部、１５４  モーション制御部、１６０  ＩＯポート、２００  ユニット、２１０  機能モジュール、２５０  スレーブ、３００  カプラ、４００  サポート装置、４０８  入力部、４１０  表示部、４１２  光学ドライブ、４１４  記録媒体、４５０  統合開発環境、４５２  通信部、４５４  ファイル転送処理部、４５６  バックアップ処理部、４５８  ダウンロード処理部、４６０  ファイル取得処理部、４６２  アップロード処理部、４６４  データロード処理部、４６６  リストア処理部、４６８  ビルド処理部、４７０  制御部、４７２  ファイルＩＯ処理部、４８０  ディレクトリ、４８２  転送ファイル、４８４  プロジェクト、４８５  デバイス用データ、４８６  バックアップデータ、４８８  グループ設定ファイル、６００  グループ設定割付画面、６１０  グループ設定エリア、６１２，６２２，６５４，６６６，６７６，６８４，６９２，６９４，６９６，６９８  一覧表示、６１４  設定ボタン、６１６  追加削除ボタン、６２０  グループ割付設定エリア、６２４  デバイス詳細情報表示、６２６  所属グループ表示、６５０  所属グループ設定画面、６５２，６７９，６８２  チェックボックス、６６０  実行順設定画面、６６２，６７２  プルダウン、６６４，６７４  実行順表示、６６８，６７８  変更ボタン、６７０，６７１  実行前画面、６８０  運転モード変更確認画面、６８６  実行結果表示、６９０  実行結果通知画面、６９１  メッセージ通知領域、６９９  エラー情報通知領域、１０６０  システムプログラム、１０６２  一時データ領域、１０６４  データ領域、１４０２  構成設定、１４０４  プログラムコード、２０６０，２５６０，３０６０  パラメータ、４０６０  ＯＳ、４０６２  サポートプログラム、４８４１，４８４２  部分プロジェクト。
【図１】
2020027460.tif 000003
【図２】
2020027460.tif 000004
【図３】
2020027460.tif 000005
【図４】
2020027460.tif 000006
【図５】
2020027460.tif 000007
【図６】
2020027460.tif 000008
【図７】
2020027460.tif 000009
【図８】
2020027460.tif 000010
【図９】
2020027460.tif 000011
【図１０】
2020027460.tif 000012
【図１１】
2020027460.tif 000013
【図１２】
2020027460.tif 000014
【図１３】
2020027460.tif 000015
【図１４】
2020027460.tif 000016
【図１５】
2020027460.tif 000017
【図１６】
2020027460.tif 000018
【図１７】
2020027460.tif 000019
【図１８】
2020027460.tif 000020
【図１９】
2020027460.tif 000021