(57)【要約】【課題】制御対象機器の動的な組み換えを効率的に行なうことができる制御システムを提供する。【解決手段】制御システムは、１または複数の移動システムのうち、予め定められた要件を満たす移動システムを探索する探索手段と、探索手段によって探索された移動システムに含まれる第２の制御対象機器を第１の制御対象機器と連係して動作可能な位置まで移動させる指令を、探索された移動システムに含まれる移動機構に出力する指令手段と、探索された移動システムに含まれる第２の制御装置の記憶手段に、第１の制御対象機器と連係して動作するように第２の制御対象機器を制御するための連係用ユーザプログラムを提供する提供手段とを備える。【選択図】図１
2020061091.tif 000002
【特許請求の範囲】
【請求項１】
制御システムであって、
第１の制御対象機器を制御するための第１の制御装置と、
１または複数の移動システムとを備え、
前記１または複数の移動システムの各々は、
第２の制御対象機器と、
前記第２の制御対象機器を移動させる移動機構と、
前記第２の制御対象機器を制御するための第２の制御装置とを含み、
前記第２の制御装置は、
前記第２の制御対象機器を制御するためのユーザプログラムを記憶するための記憶手段と、
前記記憶手段が記憶する前記ユーザプログラムを実行するための演算手段とを有し、
前記制御システムは、
前記１または複数の移動システムのうち、予め定められた要件を満たす移動システムを探索する探索手段と、
前記探索手段によって探索された移動システムに含まれる前記第２の制御対象機器を前記第１の制御対象機器と連係して動作可能な位置まで移動させる指令を、前記探索された移動システムに含まれる前記移動機構に出力する指令手段と、
前記探索された移動システムに含まれる前記第２の制御装置の前記記憶手段に、前記第１の制御対象機器と連係して動作するように前記第２の制御対象機器を制御するための連係用ユーザプログラムを提供する提供手段とをさらに備える、制御システム。
【請求項２】
前記連係用ユーザプログラムは、前記第２の制御装置が前記第１の制御装置とネットワークを介して接続するための命令を含む、請求項１に記載の制御システム。
【請求項３】
前記第１の制御装置は、前記第１の制御対象機器との間で互いに時刻同期された第１のタイマを有し、
前記第２の制御装置は、
前記第２の制御対象機器との間で互いに時刻同期された第２のタイマと、
前記提供手段から前記連係用ユーザプログラムが前記記憶手段に提供されると、前記第１のタイマと時刻同期するように前記第２のタイマを調整する調整手段とをさらに有する、請求項１に記載の制御システム。
【請求項４】
前記探索手段、前記指令手段および前記提供手段は前記第１の制御装置に含まれる、請求項１に記載の制御システム。
【請求項５】
前記移動システムと通信可能なサーバ装置をさらに備え、
前記指令手段および前記提供手段は前記サーバ装置に含まれる、請求項１に記載に制御システム。
【請求項６】
制御システムの制御方法であって、
前記制御システムは、
第１の制御対象機器を制御する第１の制御装置と、
１または複数の移動システムとを備え、
前記１または複数の移動システムの各々は、
第２の制御対象機器と、
前記第２の制御対象機器を移動させる移動機構と、
前記第２の制御対象機器を制御するための第２の制御装置とを含み、
前記第２の制御装置は、
前記第２の制御対象機器を制御するためのユーザプログラムを記憶するための記憶手段と、
前記記憶手段が記憶する前記ユーザプログラムを実行するための演算手段とを有し、
前記制御方法は、
前記１または複数の移動システムのうち、予め定められた条件に合致する移動システムを探索するステップと、
探索された移動システムに含まれる前記第２の制御対象機器を前記第１の制御対象機器と連係して動作可能な位置まで移動させる指令を前記移動機構に出力するステップと、
前記探索された移動システムに含まれる前記第２の制御装置の前記記憶手段に、前記第１の制御対象機器と連係して動作するように前記第２の制御対象機器を制御するための連係用ユーザプログラムを提供するステップとを備える、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象機器を制御する制御装置を備えた制御システムおよびその制御システムの制御方法に関する。
【背景技術】
【０００２】
様々な生産現場において、ＰＬＣ（プログラマブルコントローラ）などの制御装置を用いたＦＡ（Factory Automation）技術が広く普及している。たとえば特開平１０−５８３５８号公報（特許文献１）には、製造ラインの各工程間の搬送物の受け渡しを行なう自走ロボットを有する無人搬送装置が開示されている。この無人搬送装置では、搬送物の搬出要求があったことが全ての自走ロボットに通知され、通知に対応できる旨を返答してきた自走ロボットに対して、搬出要求を行なう旨が指令される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−５８３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、自走ロボットは、異なる工程間で動作することが可能である。ただし、いずれの工程間であっても、自走ロボットが行なう動作は、搬送物の受け渡しである。そのため、自走ロボットに設定されるユーザプログラムは、異なる工程間で共通である。
【０００５】
生産現場では、生産品種の変更、生産数の増量などの様々な理由により、生産ラインの組み換えが実施される。例えば、第１の生産ラインの生産数が多い第１の期間において、ある制御対象機器を第１の生産ラインで動作させ、第２の生産ラインの生産数が多い別の第２の期間において当該制御対象機器を第２の生産ラインで動作させたい場合がある。制御対象機器は、第１，第２の生産ラインにおいて異なる動作を行なってもよい。このとき、第１の期間では、制御対象機器を制御する制御装置に対して、第１の生産ラインの機器と連係して制御対象機器を動作させるための第１のユーザプログラムが設定される。同様に、第２の期間では、制御装置に対して、第２の生産ラインの機器と連係して制御対象機器を動作させるための第２のユーザプログラムが設定される。
【０００６】
両方のユーザプログラムを制御装置に設定しておくと、制御装置のメモリの使用容量が増大する。そのため、ユーザは、第１の期間の開始前に、第１のユーザプログラムを制御装置に設定し、第２の期間の開始前に、第２のユーザプログラムを制御装置に設定する操作を行なう。このように、制御対象機器を動的に組み換えする場合、ユーザプログラムの設定操作の手間が煩雑となる。
【０００７】
本発明は、上記の問題を鑑みてなされたものであり、その目的は、制御対象機器の動的な組み換えを効率的に行なうことができる制御システムおよび制御方法を提供することである。
【課題を解決するための手段】
【０００８】
本開示の一例によれば、制御システムは、第１の制御対象機器を制御するための第１の制御装置と、１または複数の移動システムとを備える。１または複数の移動システムの各々は、第２の制御対象機器と、第２の制御対象機器を移動させる移動機構と、第２の制御対象機器を制御するための第２の制御装置とを含む。第２の制御装置は、第２の制御対象機器を制御するためのユーザプログラムを記憶するための記憶手段と、記憶手段が記憶するユーザプログラムを実行するための演算手段とを有する。制御システムは、探索手段と、指令手段と、提供手段とをさらに備える。探索手段は、１または複数の移動システムのうち、予め定められた要件を満たす移動システムを探索する。指令手段は、探索手段によって探索された移動システムに含まれる第２の制御対象機器を第１の制御対象機器と連係して動作可能な位置まで移動させる指令を、探索された移動システムに含まれる移動機構に出力する。提供手段は、探索された移動システムに含まれる第２の制御装置の記憶手段に、第１の制御対象機器と連係して動作するように第２の制御対象機器を制御するための連係用ユーザプログラムを提供する。
【０００９】
この開示によれば、探索された移動システムに含まれる移動機構に移動指令が自動的に出力され、当該移動システムに含まれる制御装置に連係用ユーザプログラムが自動的に提供される。これにより、移動システムに含まれる制御対象機器を動的に組み換える際のユーザの手間が削減され、制御対象機器の動的な組み換えを効率的に行なうことができる。
【００１０】
上述の開示において、連係用ユーザプログラムは、第２の制御装置が第１の制御装置とネットワークを介して接続するための命令を含む。
【００１１】
この開示によれば、ネットワークは、第１の制御装置と第２の制御装置との間でデータリンクを構築できる。当該データリンクにより、第１の制御装置と第２の制御装置との連係が強化される。
【００１２】
上述の開示において、第１の制御装置は、第１の制御対象機器との間で互いに時刻同期された第１のタイマを有する。第２の制御装置は、第２の制御対象機器との間で互いに時刻同期された第２のタイマと、提供手段から連係用ユーザプログラムが記憶手段に提供されると、第１のタイマと時刻同期するように第２のタイマを調整する調整手段とをさらに有する。
【００１３】
この開示によれば、第１の制御対象機器の動作と第２の制御対象機器の動作とを同期させることができる。
【００１４】
上述の開示において、探索手段、指令手段および提供手段は第１の制御装置に含まれる。
【００１５】
もしくは、制御システムは、移動システムと通信可能なサーバ装置をさらに備えてもよい。そして、指令手段および提供手段はサーバ装置に含まれてもよい。
【００１６】
本開示の一例によれば、制御システムは、第１の制御対象機器を制御する第１の制御装置と、１または複数の移動システムとを備える。１または複数の移動システムの各々は、第２の制御対象機器と、第２の制御対象機器を移動させる移動機構と、第２の制御対象機器を制御するための第２の制御装置とを含む。第２の制御装置は、第２の制御対象機器を制御するためのユーザプログラムを記憶するための記憶手段と、記憶手段が記憶するユーザプログラムを実行するための演算手段とを有する。制御システムの制御方法は、以下の第１〜第３のステップを備える。第１ステップは、１または複数の移動システムのうち、予め定められた条件に合致する移動システムを探索するステップである。第２のステップは、探索された移動システムに含まれる第２の制御対象機器を第１の制御対象機器と連係して動作可能な位置まで移動させる指令を移動機構に出力するステップである。第３のステップは、探索された移動システムに含まれる第２の制御装置の記憶手段に、第１の制御対象機器と連係して動作するように第２の制御対象機器を制御するための連係用ユーザプログラムを提供するステップである。
【００１７】
この開示によっても、移動システムに含まれる制御対象機器を動的に組み換える際のユーザの手間が削減され、制御対象機器の動的な組み換えを効率的に行なうことができる。
【発明の効果】
【００１８】
本発明によれば、制御対象機器の動的な組み換えを効率的に行なうことができる。
【図面の簡単な説明】
【００１９】
【図１】実施の形態に従う制御システムの概要を模式的に示す図である。
【図２】本実施の形態に係る移動システムを構成する制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。
【図３】本実施の形態に係る移動システムを構成する移動機構のハードウェア構成例を示すブロック図である。
【図４】生産ラインに固定設置された制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。
【図５】本実施の形態に従う制御システムのソフトウェア構成および機能構成の一例を示す模式図である。
【図６】実施の形態に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。
【図７】変形例３に係る制御システムの概要を模式的に示す図である。
【図８】変形例３に係るサーバ装置のハードウェア構成例を示すブロック図である。
【図９】変形例３に係る制御システムのソフトウェア構成および機能構成の一例を示す模式図である。
【図１０】変形例３に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。
【図１１】変形例４に係る制御システムのソフトウェア構成および機能構成の一例を示す模式図である。
【図１２】変形例４に係るサーバ装置が記憶する要件テーブルの一例を示す図である。
【図１３】変形例４に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照しつつ、本発明に従う実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。
【００２１】
§１  適用例
まず、図１を参照して、本発明が適用される場面の一例について説明する。図１は、実施の形態に従う制御システムの概要を模式的に示す図である。
【００２２】
図１に示されるように、本実施の形態に従う制御システム１は、制御装置２００Ａ〜２００Ｄと、移動システム１０Ａ〜１０Ｃとを備える。
【００２３】
制御装置２００Ａ〜２００Ｄは、制御対象機器であるフィールド機器を制御する。具体的には、制御装置２００Ａ〜２００Ｄはそれぞれ、フィールドネットワーク２２Ａ〜２２Ｄを介してフィールド機器５００Ａ〜５００Ｄに接続され、フィールド機器５００Ａ〜５００Ｄを制御する。なお、制御装置２００Ａ〜２００Ｄの各々に接続されるフィールド機器の個数は、１に限定されず、複数であってもよい。フィールド機器５００は、例えばセンサ、アクチュエータなどを含む。
【００２４】
制御装置２００Ａ〜２００Ｄの各々は、制御周期ごとに、ＩＯ（Input／Output）リフレッシュ処理、ユーザプログラム実行処理、モーション処理などを実行する。
【００２５】
ＩＯリフレッシュ処理とは、フィールドネットワークを介して制御装置とフィールド機器との間でデータを送受信する処理である。
【００２６】
ユーザプログラム実行処理とは、制御対象に応じて任意に作成されたアプリケーションプログラムであるユーザプログラムを実行する処理である。
【００２７】
モーション処理とは、フィールド機器が備えるサーボモータなどのアクチュエータに対して、位置、速度、加速度、加加速度、角度、角速度、角加速度、角加加速度などの数値を指令として演算する処理である。
【００２８】
制御装置２００Ａ〜２００Ｄは、接続されるフィールド機器との間で時刻同期されたタイマ２０１Ａ〜２０１Ｄをそれぞれ有する。制御装置２００Ａ〜２００Ｄは、それぞれタイマ２０１Ａ〜２０１Ｄの時刻に従って、上記のＩＯリフレッシュ処理、ユーザプログラム実行処理、モーション処理などを実行する。
【００２９】
制御装置２００Ａによって制御されるフィールド機器５００Ａと制御装置２００Ｂによって制御されるフィールド機器５００Ｂとは、生産ライン２Ａに固定設置され、生産ライン２Ａにおいて搬送されるワークに対する処理を行なう。
【００３０】
制御装置２００Ａと制御装置２００Ｂとは、コントロールレベルのネットワーク２３Ａに接続される。ネットワーク２３Ａには管理装置１９０Ａが接続される。ネットワーク２３Ａは、制御装置２００Ａ，２００Ｂと管理装置１９０Ａとの間でデータリンクを構築する。当該データリンクにより、管理装置１９０Ａは、制御装置２００Ａによって制御されるフィールド機器５００Ａと制御装置２００Ｂによって制御されるフィールド機器５００Ｂとの連係動作を管理できる。なお、必要に応じて、制御装置２００Ａが有するタイマ２０１Ａと制御装置２００Ｂが有するタイマ２０１Ｂとが互いに時刻同期される。
【００３１】
制御装置２００Ｃによって制御されるフィールド機器５００Ｃと制御装置２００Ｄによって制御されるフィールド機器５００Ｄとは、生産ライン２Ｂに固定設置され、生産ライン２Ｂにおいて搬送されるワークに対する処理を行なう。
【００３２】
制御装置２００Ｃと制御装置２００Ｄとは、コントロールレベルのネットワーク２３Ｂに接続される。ネットワーク２３Ｂには管理装置１９０Ｂが接続される。ネットワーク２３Ｂは、制御装置２００Ｃ，２００Ｄと管理装置１９０Ｂとの間でデータリンクを構築する。当該データリンクにより、管理装置１９０Ｂは、制御装置２００Ｃによって制御されるフィールド機器５００Ｃと制御装置２００Ｄによって制御されるフィールド機器５００Ｄとの連係動作を管理できる。なお、必要に応じて、制御装置２００Ｃが有するタイマ２０１Ｃと制御装置２００Ｄが有するタイマ２０１Ｄとが互いに時刻同期される。
【００３３】
移動システム１０Ａ〜１０Ｃは、生産ライン２Ａ，２Ｂを含む複数の生産ライン間で移動可能なシステムである。移動システム１０Ａ〜１０Ｃは、制御装置１００Ａ〜１００Ｃとフィールド機器４００Ａ〜４００Ｃと移動機構３００Ａ〜３００Ｃとをそれぞれ含む。
【００３４】
フィールド機器４００Ａ〜４００Ｃは、例えば、センサ、アクチュエータなどを含むロボットアームであり、生産ラインにおいてワークに何等かの処理を行なう。
【００３５】
移動機構３００Ａ〜３００Ｃは、例えば自律走行ロボットによって構成され、フィールド機器４００Ａ〜４００Ｃをそれぞれ移動させる。
【００３６】
制御装置１００Ａ〜１００Ｃは、制御対象機器であるフィールド機器４００Ａ〜４００Ｃをそれぞれ制御する。具体的には、制御装置１００Ａ〜１００Ｃはそれぞれ、フィールドネットワーク２１Ａ〜２１Ｃを介してフィールド機器４００Ａ〜４００Ｃと接続され、フィールド機器４００Ａ〜４００Ｃを制御する。なお、制御装置１００Ａ〜１００Ｃの各々に接続されるフィールド機器の個数は、１に限定されず、複数であってもよい。
【００３７】
制御装置１００Ａ〜１００Ｃの各々は、制御装置２００Ａ〜２００Ｄと同様に、制御周期ごとに、ＩＯリフレッシュ処理、ユーザプログラム実行処理、モーション処理などを実行する。制御装置１００Ａ〜１００Ｃの各々は、ユーザプログラム実行処理を実行するために、制御対象に応じて任意に作成されるユーザプログラムを予め記憶している。
【００３８】
制御装置１００Ａ〜１００Ｃは、接続されるフィールド機器との間で時刻同期されたタイマ１０１Ａ〜１０１Ｃをそれぞれ有する。制御装置１００Ａ〜１００Ｃは、それぞれタイマ１０１Ａ〜１０１Ｃの時刻に従って、上記のＩＯリフレッシュ処理、ユーザプログラム実行処理、モーション処理などを実行する。
【００３９】
制御システム１では、各生産ラインの生産数に応じて移動システム１０Ａ〜１０Ｃが移動することにより、各生産ラインを構成するフィールド機器の動的な組み換えが行なわれる。
【００４０】
制御装置２００Ａ，２００Ｃにそれぞれ接続されるフィールド機器５００Ａ，５００Ｃの各々は、例えば、対応する生産ライン上の未処理ワークの個数を計測するセンサを有している。制御装置２００Ａ，２００Ｃの各々は、対応するセンサの計測結果を周期的に収集し、未処理ワークの個数を把握する。制御装置２００Ａ，２００Ｃの各々は、未処理ワークの個数が予め定められた閾値を超える場合に、移動システムによる生産支援が必要であると判定し、以下のような処理を行なう。なお、以下では、制御装置２００Ａにおいて、移動システムによる生産支援が必要であると判定されたものとする。
【００４１】
制御装置２００Ａは、移動システム１０Ａ〜１０Ｃのうち、予め定められた要件を満たす移動システムを探索する。予め定められた要件とは、生産ライン２Ａで動作する際に必要とされる要件である。図１に示す例では、移動システム１０Ａが予め定められた要件を満たす移動システムとして探索されている。
【００４２】
制御装置２００Ａは、探索された移動システム１０Ａに含まれるフィールド機器４００Ａがフィールド機器５００Ａと連係して動作可能な位置まで移動させる指令（以下、「移動指令」という）を、移動システム１０Ａに含まれる移動機構３００Ａに出力する。これにより、移動機構３００Ａは、移動指令に応じて移動する。その結果、フィールド機器４００Ａは、フィールド機器５００Ａと連係して動作可能な位置まで移動する。
【００４３】
ここで、複数のフィールド機器が「連係」して動作する形態は、主に以下の（１）〜（３）の３つの形態を含む。
（１）複数のフィールド機器が同一のワークに対して同時に処理を行なう形態（同時処理）。
（２）複数のフィールド機器が同一のワークに対して順次処理を行なう形態（直列処理）。
（３）同一種類の複数のワークに対して複数のフィールド機器がそれぞれ処理を行なう形態（並列処理）。
【００４４】
生産ライン２Ａにおいてフィールド機器５００Ａと連係したフィールド機器４００Ａの動作と、生産ライン２Ｂにおいてフィールド機器５００Ｃと連係したフィールド機器４００Ａの動作とは異なる。そのため、制御装置２００Ａは、探索された移動システム１０Ａに含まれる制御装置１００Ａに、フィールド機器５００Ａと連係して動作するようにフィールド機器４００Ａを制御するためのユーザプログラム（連係用ユーザプログラム）２０９を提供する。これにより、制御装置２００Ａから提供されたユーザプログラム２０９を制御装置１００Ａが実行することにより、フィールド機器４００Ａは、生産ライン２Ａにおいてフィールド機器５００Ａと連係して動作できる。
【００４５】
このように、本実施の形態の制御システム１では、探索された移動システムに含まれる移動機構に移動指令が自動的に出力され、当該移動システムに含まれる制御装置に連係用ユーザプログラムが自動的に提供される。これにより、移動システムに含まれるフィールド機器を動的に組み換える際のユーザの手間が削減される。すなわち、本実施の形態の制御システム１によれば、フィールド機器の動的な組み換えを効率的に行なうことができる。
【００４６】
§２  構成例
本発明の実施の形態について、図面を参照しながら詳細に説明する。以下の説明においては、「制御装置」の典型例として、ＰＬＣ（プログラマブルロジックコントローラ）を具体例として説明するが、ＰＬＣの名称に限定されることなく、本明細書に開示された技術思想は、任意の制御装置に対して適用可能である。
【００４７】
なお、以下では、移動システム１０Ａ〜１０Ｃを特に区別しない場合、移動システム１０Ａ〜１０Ｃの各々を「移動システム１０」という。制御装置１００Ａ〜１００Ｃを特に区別しない場合、制御装置１００Ａ〜１００Ｃの各々を「制御装置１００」という。フィールドネットワーク２１Ａ〜２１Ｃを特に区別しない場合、フィールドネットワーク２１Ａ〜２１Ｃの各々を「フィールドネットワーク２１」という。フィールド機器４００Ａ〜４００Ｃを特に区別しない場合、フィールド機器４００Ａ〜４００Ｃの各々を「フィールド機器４００」という。移動機構３００Ａ〜３００Ｃを特に区別しない場合、移動機構３００Ａ〜３００Ｃの各々を「移動機構３００」という。制御装置２００Ａ〜２００Ｄを特に区別しない場合、制御装置２００Ａ〜２００Ｄの各々を「制御装置２００」という。フィールドネットワーク２２Ａ〜２２Ｄを特に区別しない場合、フィールドネットワーク２２Ａ〜２２Ｄの各々を「フィールドネットワーク２２」という。フィールド機器５００Ａ〜５００Ｄを特に区別しない場合、フィールド機器５００Ａ〜５００Ｄの各々を「フィールド機器５００」という。ネットワーク２３Ａ，２３Ｂを特に区別しない場合、ネットワーク２３Ａ，２３Ｂの各々を「ネットワーク２３」という。管理装置１９０Ａ，１９０Ｂを特に区別しない場合、管理装置１９０Ａ，１９０Ｂの各々を「管理装置１９０」という。
【００４８】
＜Ａ．制御装置１００およびフィールド機器４００のハードウェア構成例＞
次に、本実施の形態に従う移動システム１０を構成する制御装置１００（１００Ａ〜１００Ｃ）およびフィールド機器４００（２００ａ〜２００ｄ）のハードウェア構成について説明する。
【００４９】
図２は、本実施の形態に係る移動システムを構成する制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。制御装置１００は、典型的には、ＰＬＣ（プログラマブルコントローラ）をベースとして構成されてもよい。制御装置１００は、フィールドネットワーク２１のデータ伝送を管理するマスタとしてそれぞれ動作する。フィールド機器４００は、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。
【００５０】
図２を参照して、制御装置１００は、主たるコンポーネントとして、プロセッサ１０３と、メモリ１０４と、ストレージ１０６と、無線通信インターフェイス１２０と、有線通信インターフェイス１３０と、フィールドネットワークコントローラ１４０とを含む。制御装置１００が備えるこれらのコンポーネントは、内部バス１０２を介して互いに通信可能に接続されている。
【００５１】
プロセッサ１０３は、ストレージ１０６に格納されているシステムプログラム１０７およびユーザプログラム１０８を読み出して実行することにより、各種処理を実現する。メモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置からなる。
【００５２】
ストレージ１０６は、制御装置１００の各部を制御するためのシステムプログラム１０７に加えて、制御対象などに応じて設計されるユーザプログラム１０８を記憶する。
【００５３】
さらに、ストレージ１０６は、制御装置１００が属する移動システム１０の構成（システム構成）を示す情報（システム構成情報１０９）を記憶する。システム構成情報１０９は、例えば、制御装置１００に接続されるフィールド機器４００のネットワーク構成、制御装置１００の制御周期、ストレージ１０６におけるユーザプログラム１０８のための格納領域の容量上限値、制御装置１００の型式およびバージョン情報、制御装置１００に接続されるフィールド機器４００の性能および型式などを示す情報である。
【００５４】
無線通信インターフェイス１２０は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の無線通信インターフェイス１２０は、制御装置２００との間でデータの遣り取りを制御する。
【００５５】
有線通信インターフェイス１３０は、有線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の有線通信インターフェイス１３０は、移動機構３００との間でデータの遣り取りを制御する。
【００５６】
フィールドネットワークコントローラ１４０は、制御装置１００がフィールドネットワーク２１を介してフィールド機器４００との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワーク２１のプロトコルとしては、マシンコントロール用ネットワークの一例であるＥｔｈｅｒＣＡＴ（登録商標）を採用してもよい。
【００５７】
フィールドネットワークコントローラ１４０は、主たるコンポーネントとして、送受信コントローラ１４１と、送受信バッファ１４２と、タイマ１０１とを含む。タイマ１０１は、図１に示すタイマ１０１Ａ〜１０１Ｃのいずれかである。
【００５８】
送受信コントローラ１４１は、フィールドネットワーク２１上を制御周期毎に伝送されるパケットの生成および受信に関する処理を行なう。具体的には、送受信コントローラ１４１は、フィールドネットワーク２１から受信したパケットに格納されているデータを送受信バッファ１４２に書込む。送受信コントローラ１４１は、送受信バッファ１４２に書込まれた受信パケットを順次読出すとともに、当該読出したデータのうち制御装置１００での処理に必要なデータのみをプロセッサ１０３へ出力する。送受信コントローラ１４１は、プロセッサ１０３からの指令に従って、フィールド機器４００へ送信すべきデータあるいはパケットを送受信バッファ１４２へ順次書込む。送受信バッファ１４２に格納されているデータは、フィールドネットワークコントローラ１４０上をパケットが転送される周期に応じて順次送出される。
【００５９】
タイマ１０１は、送受信コントローラ１４１からデータの送信などを指示するタイミングの基準となるパルスを発生する。タイマ１０１としては、リアルタイムクロック、または、所定周期でカウントアップ（インクリメント）するフリーランカウンタを用いることができる。フリーランカウンタが出力するカウント値をある時点からの経過時間として扱うことで現在時刻を計算でき、これによってタイマとして動作させることができる。
【００６０】
フィールド機器４００は、制御装置１００による制御に従って、機械や設備などの制御対象に対する処理を行なう。典型的には、フィールド機器４００は、制御対象からのフィールド情報の収集処理や、制御対象への指令信号の出力処理などを行なう。フィールド機器４００は、主たるコンポーネントとして、フィールドネットワークコントローラ４１０と、フィールドネットワーク２１上でのデータ転送を管理するための制御ロジック４１４と、処理部４１６とを含む。
【００６１】
フィールドネットワークコントローラ４１０は、フィールド機器４００がフィールドネットワーク２１を介して制御装置１００との間でデータを送受信するためのインターフェイスを提供する。フィールドネットワークコントローラ４１０は、主たるコンポーネントとして、送受信コントローラ４１２と、タイマ４０１とを含む。
【００６２】
送受信コントローラ４１２は、フィールドネットワーク２１上を転送される通信フレームに対するデータ書込みおよびデータ読出しを行なう。
【００６３】
タイマ４０１は、送受信コントローラ４１２に対する指令出力やフィールド機器４００での処理実行などのタイミングの基準となるクロックを発生する。タイマ４０１としては、リアルタイムクロックまたはフリーランカウンタが用いられる。タイマ４０１は、タイマ１０１をマスタとして、タイマ１０１と時刻同期される。
【００６４】
処理部４１６は、制御対象に対する処理を行なう。例えば、制御対象がサーボモータである場合、処理部４１６は、制御装置１００からの指令に基づいてサーボモータに対するコマンドを生成し、生成したコマンドに従ってサーボモータを動作させる。さらに、サーボモータの回転軸にはエンコーダが設けられており、処理部４１６は、当該エンコーダから、サーボモータの位置（回転角度）、回転速度、累積回転数などのフィールド情報を収集する。
【００６５】
＜Ｂ．移動機構３００のハードウェア構成例＞
次に、本実施の形態に従う移動システム１０を構成する移動機構３００（３００Ａ〜３００Ｃ）のハードウェア構成について説明する。
【００６６】
図３は、本実施の形態に係る移動システムを構成する移動機構のハードウェア構成例を示すブロック図である。図３を参照して、移動機構３００は、主たるコンポーネントとして、プロセッサ３０３と、メモリ３０４と、ストレージ３０６と、無線通信インターフェイス３２０と、有線通信インターフェイス３３０と、センサ群３４０と、駆動装置３５０とを含む。移動機構３００が備えるこれらのコンポーネントは、内部バス３０２を介して互いに通信可能に接続されている。
【００６７】
プロセッサ３０３は、ストレージ３０６に格納されている各種のプログラムを読み出して実行することにより、各種処理を実現する。メモリ３０４は、ＤＲＡＭやＳＲＡＭなどの揮発性記憶装置からなる。ストレージ３０６には、自律走行を行なうための自律走行プログラム３０７が格納されている。
【００６８】
無線通信インターフェイス３２０は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の無線通信インターフェイス３２０は、制御装置２００との間でデータの遣り取りを制御する。
【００６９】
有線通信インターフェイス３３０は、有線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の有線通信インターフェイス３３０は、制御装置１００との間でデータの遣り取りを制御する。
【００７０】
センサ群３４０は、移動機構３００の現在位置を特定するためのセンサ（例えば、レーザスキャナ、ＧＰＳ（Global Positioning System）センサなど）、移動機構３００の周囲の障害物を検出するためのレーザセンサ、物体との接触を検出する接触センサなどの各種のセンサを含む。
【００７１】
駆動装置３５０は、車輪３６０を駆動するための装置であり、モータなどのアクチュエータを含む。
【００７２】
＜Ｃ．制御装置２００およびフィールド機器５００のハードウェア構成例＞
次に、生産ラインに固定設置された制御装置２００（２００Ａ〜２００Ｄ）およびフィールド機器５００（５００Ａ〜５００Ｄ）のハードウェア構成について説明する。
【００７３】
図４は、生産ラインに固定設置された制御装置およびフィールド機器のハードウェア構成例を示すブロック図である。制御装置２００は、典型的には、ＰＬＣ（プログラマブルコントローラ）をベースとして構成されてもよい。制御装置２００は、フィールドネットワーク２２のデータ伝送を管理するマスタとしてそれぞれ動作る。フィールド機器５００は、対応するマスタからの指令に従ってデータ伝送を行なうスレーブとして動作する。
【００７４】
図４を参照して、制御装置２００は、主たるコンポーネントとして、プロセッサ２０３と、メモリ２０４と、ストレージ２０６と、無線通信インターフェイス２２０と、上位ネットワークコントローラ２３０と、フィールドネットワークコントローラ２４０とを含む。制御装置２００が備えるこれらのコンポーネントは、内部バス２０２を介して互いに通信可能に接続されている。
【００７５】
プロセッサ２０３は、ストレージ２０６に格納されているシステムプログラム２０７、ユーザプログラム２０８および支援要請プログラム２１２を読み出して実行することにより、各種処理を実現する。メモリ１０４は、ＤＲＡＭ（Dynamic Random Access Memory）やＳＲＡＭ（Static Random Access Memory）などの揮発性記憶装置からなる。
【００７６】
ストレージ２０６は、制御装置２００の各部を制御するためのシステムプログラム２０７に加えて、制御対象などに応じて設計されるユーザプログラム２０８を記憶する。
【００７７】
さらに、ストレージ２０６は、移動システム１０に提供するためのユーザプログラム２０９を記憶する。ユーザプログラム２０９は、生産ラインに固定設置されたフィールド機器５００と連係して動作するように、移動システム１０に含まれるフィールド機器４００を制御するために任意に作成されたアプリケーションプログラム（連係用のユーザプログラム）である。ユーザプログラム２０９は、予め作成され、ストレージ２０６に格納される。
【００７８】
さらに、ストレージ２０６は、要件情報２１０を記憶する。要件情報２１０は、制御装置２００が設置された生産ラインにおいてフィールド機器５００と連係して動作するための要件を示す情報である。要件情報２１０は、予め作成され、ストレージ２０６に格納される。要件情報２１０は、例えば、移動システムに含まれるフィールド機器のネットワーク構成、制御装置の制御周期、提供用のユーザプログラム２０９の容量、制御装置の型式およびバージョン情報、フィールド機器の性能および型式などの要件を示す情報である。
【００７９】
さらに、ストレージ２０６は、目標位置情報２１１を記憶する。目標位置情報２１１は、フィールド機器５００と連係して動作するときに移動システム１０のフィールド機器４００が配置される目標位置を示す。目標位置情報２１１は、予め作成され、ストレージ２０６に格納される。
【００８０】
さらに、ストレージ２０６は、支援要請プログラム２１２を記憶する。支援要請プログラム２１２は、移動システム１０の生産支援の要請を行なうためのプログラムである。
【００８１】
無線通信インターフェイス２２０は、無線ネットワークを通じたデータの遣り取りを制御する。本実施の形態の無線通信インターフェイス２２０は、移動システム１０に含まれる制御装置２００または移動機構３００との間でデータの遣り取りを制御する。
【００８２】
なお、制御装置２００Ａ〜２００Ｄのうち制御装置２００Ｂ，２００Ｄにおいて、ストレージ２０６は、提供用のユーザプログラム２０９、要件情報２１０、目標位置情報２１１および支援要請プログラム２１２を記憶していなくてもよい。さらに、制御装置２００Ｂ，２００Ｄは、無線通信インターフェイス２２０を備えていなくてもよい。
【００８３】
上位ネットワークコントローラ２３０は、制御装置２００がネットワーク２３を介して他の制御装置との間でデータを遣り取りするためのインターフェイスを提供する。ネットワーク２３のプロトコルとしては、汎用的なＥｔｈｅｒｎｅｔ（登録商標）上に制御用プロトコルを実装した産業用オープンネットワークであるＥｔｈｅｒＮｅｔ／ＩＰ（登録商標）を用いてもよい。
【００８４】
フィールドネットワークコントローラ２４０は、制御装置２００がフィールドネットワーク２２を介してフィールド機器５００との間でデータを遣り取りするためのインターフェイスを提供する。フィールドネットワーク２２のプロトコルとしては、マシンコントロール用ネットワークの一例であるＥｔｈｅｒＣＡＴ（登録商標）を採用してもよい。
【００８５】
フィールドネットワークコントローラ２４０は、図２に示すフィールドネットワークコントローラ１４０と同様に、主たるコンポーネントとして、送受信コントローラ２４１と、送受信バッファ２４２と、タイマ２０１とを含む。これらのコンポーネントの機能は、図２に示すフィールドネットワークコントローラ１４０の対応するコンポーネントの機能と同様であるので、詳細な説明は繰返さない。
【００８６】
フィールド機器５００は、制御装置２００による制御に従って、機械や設備などの制御対象に対する処理を行なう。典型的には、フィールド機器５００は、制御対象からのフィールド情報の収集処理や、制御対象への指令信号の出力処理などを行なう。
【００８７】
フィールド機器５００は、主たるコンポーネントとして、フィールドネットワークコントローラ５１０と、フィールドネットワーク２２上でのデータ転送を管理するための制御ロジック５１４と、処理部５１６とを含む。フィールドネットワークコントローラ５１０は、主たるコンポーネントとして、送受信コントローラ５１２と、タイマ５０１とを含む。タイマ５０１は、タイマ２０１をマスタとして、タイマ２０１と時刻同期される。これらのコンポーネントの機能は、図２に示すフィールド機器４００の対応するコンポーネントの機能と同様であるので、詳細な説明は繰返さない。
【００８８】
＜Ｄ．制御システムのソフトウェア構成／機能構成＞
次に、本実施の形態に従う制御システム１のソフトウェア構成および機能構成の一例について説明する。図５は、本実施の形態に従う制御システムのソフトウェア構成および機能構成の一例を示す模式図である。
【００８９】
（Ｄ−１．制御装置２００の機能構成）
図５を参照して、制御装置２００は、状況判定部２５０と探索部２５１と提供部２５２と指令部２５３とを備える。状況判定部２５０と探索部２５１と提供部２５２と指令部２５３とは、制御装置２００のプロセッサ２０３が支援要請プログラム２１２（図４参照）を実行することにより実現される。
【００９０】
制御装置２００は、フィールド機器５００に含まれるセンサ５２４から計測結果を周期的に収集する。センサ５２４は、例えば視覚センサであり、生産ライン上のパレットを撮像し、撮像された画像を解析することにより未処理ワークの個数を計測し、計測した個数を示す計測結果を出力する。
【００９１】
状況判定部２５０は、センサ５２４から出力された計測結果が閾値を超える場合に、移動システム１０の生産支援が必要であると判定する。
【００９２】
探索部２５１は、状況判定部２５０により移動システム１０の生産支援が必要であると判定されると、複数の移動システム１０Ａ〜１０Ｃのうち、生産ラインの支援が可能な移動システム１０を探索する。
【００９３】
具体的には、探索部２５１は、ストレージ２０６（図４参照）から要件情報２１０を読み出し、無線通信インターフェイス１２０を用いて、要件情報２１０を付加した支援要請コマンドを全ての移動システム１０Ａ〜１０Ｃに配信する。探索部２５１は、移動システム１０Ａ〜１０Ｃからのリプライに基づいて、生産ラインの支援が可能な移動システム１０を探索する。すなわち、探索部２５１は、支援可を示すリプライを送信してきた移動システム１０を、生産支援の要請対象の移動システムとして決定する。
【００９４】
なお、支援可を示すリプライを送信してきた移動システム１０が複数存在する場合、探索部２５１は、当該複数の移動システム１０のうちの任意の一つを、生産支援の要請対象の移動システムとして決定する。もしくは、探索部２５１は、リプライに付加された現在位置情報に基づいて、当該複数の移動システム１０のうち最も近い移動システム１０を探索してもよい。
【００９５】
提供部２５２は、ストレージ２０６（図４参照）から提供用のユーザプログラム２０９を読み出す。提供部２５２は、無線通信インターフェイス１２０を用いて、探索部２５１によって探索された移動システム１０に含まれる制御装置１００のストレージ１０６（図２参照）に当該ユーザプログラム２０９を提供する。
【００９６】
指令部２５３は、ストレージ２０６（図４参照）から目標位置情報２１１を読み出し、目標位置情報２１１で示される目標位置まで移動させる指令を生成する。指令部２５３は、無線通信インターフェイス１２０を用いて、探索部２５１によって探索された移動システム１０に含まれる移動機構３００に生成した指令を出力する。
【００９７】
（Ｄ−２．制御装置１００のソフトウェア構成）
図５を参照して、制御装置１００のプロセッサ１０３（図２参照）ではスケジューラ１７０が実行される。スケジューラ１７０は、予め定められた制御周期に従って、複数の処理の実行順序や実行中断などを決定する。具体的には、スケジューラ１７０は、有線通信処理１７１、無線通信処理１７２、要件判定処理１７３、書換処理１７４、ユーザプログラム実行処理１７５およびロボット制御処理１７６に対して、予め定められた優先度および制御周期などに従って、処理リソース（プロセッサ時間およびメモリなど）を割り当てる。
【００９８】
有線通信処理１７１は、移動機構３００との間のデータ通信に係る処理、例えば、移動完了通知を移動機構３００から受ける処理などを含む。
【００９９】
無線通信処理１７２は、制御装置２００との間のデータ通信に係る処理、例えば、支援要請コマンドの受信処理、支援可を示すリプライの送信処理、ユーザプログラムの受信処理、支援準備の完了通知処理などを含む。
【０１００】
要件判定処理１７３は、支援要請コマンドに付加された要件情報で示される要件を満たす否かを判定する処理である。要件判定処理１７３は、支援要請コマンドに付加された要件情報とストレージ１０６に記憶されたシステム構成情報１０９（図２参照）とを対比することにより実行される。
【０１０１】
書換処理１７４は、ストレージ１０６に記憶されたユーザプログラム１０８（図２参照）を、制御装置２００から提供されたユーザプログラムに書き換える（更新する）処理である。
【０１０２】
ユーザプログラム実行処理１７５は、ストレージ１０６に記憶されたユーザプログラム１０８（図２参照）の実行に係る処理を含む。ユーザプログラム実行処理１７５は、フィールド機器４００に含まれるセンサ４２２から収集されたデータなどを用いて実行される。
【０１０３】
ロボット制御処理１７６は、ロボットアームであるフィールド機器４００の動作制御に係る処理を含む。ロボット制御処理１７６は、例えば、ロボットアームの軌道計画を作成する処理、ロボットアームの各関節の角度とアーム先端の位置姿勢との関係を求める処理（キネマティクス）、フィールド機器４００に含まれるアクチュエータ４２０の制御処理などを含む。
【０１０４】
（Ｄ−３．移動機構３００のソフトウェア構成）
図５を参照して、移動機構３００のプロセッサ３０３（図３参照）が自律走行プログラム３０７を実行することにより、自律走行処理３１０が行なわれる。自律走行処理３１０は、スケジューラ３１１と、有線通信処理３１２と、無線通信処理３１３と、ユーザプログラム実行処理３１４と、ロボット制御処理３１５とを含む。
【０１０５】
スケジューラ３１１は、複数の処理の実行順序や実行中断などを決定する処理である。具体的には、スケジューラ１７０は、有線通信処理３１２、無線通信処理３１３、ユーザプログラム実行処理３１４およびロボット制御処理３１５に対して、予め定められた優先度およびシステム周期などに従って、処理リソース（プロセッサ時間およびメモリなど）を割り当てる。
【０１０６】
有線通信処理３１２は、制御装置１００との間のデータ通信に係る処理、例えば、移動完了通知を制御装置１００に送る処理などを含む。
【０１０７】
無線通信処理３１３は、制御装置２００との間のデータ通信に係る処理、例えば、目標位置までの移動指令の受信処理などを含む。
【０１０８】
ユーザプログラム実行処理３１４は、ストレージ３０６に記憶されたユーザプログラム（図示せず）の実行に係る処理を含む。
【０１０９】
ロボット制御処理３１５は、移動機構３００の移動に関する処理を含む。ロボット制御処理３１５は、例えば、センサ群３４０からの計測結果に基づいて周辺環境の状況を確認する処理（例えば障害物の位置の確認処理）、現在位置から目標位置までの移動経路の決定処理、駆動装置３５０が有するアクチュエータの制御処理などを含む。
【０１１０】
＜Ｅ．フィールド機器の組み換え処理＞
次に、移動システム１０に含まれるフィールド機器の動的な組み換え処理の手順について説明する。図６は、実施の形態に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。
【０１１１】
まず、制御装置２００において、プロセッサ２０３は、移動システム１０の生産支援が必要であると判定すると、複数の移動システム１０のうち、生産ラインの支援が可能な移動システム１０を探索する（ステップＳ１）。プロセッサ２０３は、要件情報２１０を付加した支援要請コマンドを全ての移動システム１０に配信する。
【０１１２】
各移動システム１０に含まれる制御装置１００のプロセッサ１０３は、支援可能か否かを判定する（ステップＳ２）。プロセッサ１０３は、以下の２つの条件（ａ）（ｂ）を満たす場合に、支援可能と判定する。
（ａ）ストレージ１０６に記憶されたシステム構成情報１０９の内容が支援要請コマンドに付加された要件情報２１０で示される要件を満たす。
（ｂ）現在、稼働していない。
【０１１３】
支援不可能と判定されると（ステップＳ２でＮＯ）、フィールド機器の動的な組み換え処理は終了する。
【０１１４】
支援可能と判定されると（ステップＳ２でＹＥＳ）、プロセッサ１０３は、制御装置１００をスタンバイ状態に切り替え（ステップＳ３）、支援可を示すリプライを支援要請コマンドの送信先の制御装置２００に通知する（ステップＳ４）。このとき、プロセッサ１０３は、移動機構３００から現在位置情報を取得し、取得した現在位置情報をリプライに付加する。
【０１１５】
制御装置２００のプロセッサ２０３は、支援可能な移動システム１０の探索に成功したか否かを判定する（ステップＳ５）。具体的には、プロセッサ２０３は、支援可のリプライを受けた場合に、支援可能な移動システム１０の探索に成功したと判定する。支援可能な移動システム１０の探索に失敗した場合（ステップＳ５でＮＯ）、処理はステップＳ１に戻る。
【０１１６】
支援可能な移動システム１０の探索に成功した場合（ステップＳ５でＹＥＳ）、プロセッサ２０３は、探索された移動システム１０の制御装置１００にユーザプログラム２０９を提供する（ステップＳ６）。
【０１１７】
移動システム１０の制御装置１００は、ユーザプログラム２０９を受信する（ステップＳ７）。制御装置１００のプロセッサ１０３は、ストレージ１０６に記憶されたユーザプログラム１０８を受信したユーザプログラム２０９に更新する。
【０１１８】
次に、制御装置２００のプロセッサ２０３は、探索された移動システム１０の移動機構３００に、目標位置情報２１１で示される目標位置に移動させる指令（移動指令）を出力する（ステップＳ８）。移動システム１０の移動機構３００は、当該移動指令を受信し、当該移動指令に従って目標位置まで移動する（ステップＳ９）。
【０１１９】
移動システムの制御装置１００のプロセッサ１０３は、移動機構３００から目標位置までの移動完了通知を受けると、支援準備の完了通知を制御装置２００に出力する（ステップＳ１０）。そして、制御装置１００においても、プロセッサ１０３は、フィールド機器５００と連係して動作するように、フィールド機器４００の制御を開始する（ステップＳ１２）。
【０１２０】
制御装置２００のプロセッサ２０３は、支援準備の完了通知の有無を判定する（ステップＳ１１）。支援準備の完了通知を受けていない場合（ステップＳ１１でＮＯ）、処理はステップＳ１１に戻る。
【０１２１】
支援準備の完了通知を受けた場合（ステップＳ１１でＹＥＳ）、制御装置２００のプロセッサ２０３は、移動システム１０のフィールド機器４００と連係して動作するように、フィールド機器５００の制御を開始する（ステップＳ１３）。ステップＳ１２，Ｓ１３の後、フィールド機器の動的な組み換え処理は完了する。
【０１２２】
＜Ｆ．作用・効果＞
以上のように、本実施の形態に係る制御システム１は、フィールド機器５００を制御する制御装置１００と、１または複数の移動システム１０とを備える。各移動システム１０は、フィールド機器４００と、フィールド機器４００を移動させる移動機構３００と、フィールド機器４００を制御するための制御装置１００とを含む。制御装置１００は、フィールド機器４００を制御するためのユーザプログラムを記憶するためのストレージ１０６と、ストレージ１０６が記憶するユーザプログラム１０８を実行するためのプロセッサ１０３とを有する。制御装置２００のプロセッサ２０３は、１または複数の移動システム１０のうち、予め定められた要件情報に合致する移動システム１０を探索する。さらに、プロセッサ１０３は、探索された移動システム１０に含まれるフィールド機器４００をフィールド機器５００と連係して動作可能な位置まで移動させる指令を、探索された移動システム１０に含まれる移動機構３００に出力する。さらに、プロセッサ１０３は、探索された移動システム１０に含まれる制御装置１００のストレージ１０６に、フィールド機器５００と連係して動作するようにフィールド機器４００を制御するためのユーザプログラム２０９（連係用ユーザプログラム）を提供する。
【０１２３】
このように、探索された移動システム１０に含まれる移動機構３００に移動指令が自動的に出力され、当該移動システム１０に含まれる制御装置１００にユーザプログラム２０９が自動的に提供される。これにより、移動システム１０に含まれるフィールド機器４００を動的に組み換える際のユーザの手間が削減され、フィールド機器の動的な組み換えを効率的に行なうことができる。
【０１２４】
＜Ｇ．変形例１＞
制御装置２００から制御装置１００に提供されるユーザプログラム２０９は、制御装置１００が制御装置２００とネットワーク２３（ネットワーク２３Ａまたはネットワーク２３Ｂ（図１参照））を介して接続するための命令を含んでもよい。これにより、ネットワーク２３は、制御装置１００と制御装置２００と管理装置１９０との間でデータリンクを構築できる。当該データリンクにより、管理装置１９０は、制御装置１００と制御装置２００との連係を強化できる。
【０１２５】
＜Ｈ．変形例２＞
探索された移動システム１０に含まれる制御装置１００のプロセッサ１０３は、制御装置２００のタイマ２０１と同期するように自身のタイマ１０１を調整してもよい。これにより、フィールド機器４００Ａの動作とフィールド機器５００Ａの動作とを同期させることができる。
【０１２６】
＜Ｉ．変形例３＞
上記の説明では、生産支援を要請する制御装置２００から移動システム１０に対して、移動指令が出力され、ユーザプログラム２０９が提供されるものとした。しかしながら、移動システムと通信可能なサーバ装置から移動指令が出力され、ユーザプログラム２０９が提供されてもよい。この場合、制御装置２００のストレージ２０６は、提供用のユーザプログラム２０９および目標位置情報２１１を記憶していなくてもよい。
【０１２７】
図７は、変形例３に係る制御システムの概要を模式的に示す図である。図７を参照して、変形例３に係る制御システム１ａは、クラウドコンピューティングシステムに配置されたサーバ装置６００をさらに備える。サーバ装置６００は、移動システム１０と通信可能である。サーバ装置６００は、移動システム１０の移動機構３００に対して移動指令を出力する。移動指令は、サーバ装置６００が記憶する目標位置情報６１１で示される目標位置に移動させる指令である。さらに、サーバ装置６００は、移動システム１０の制御装置１００に対してユーザプログラム６０９を提供する。
【０１２８】
図８は、変形例３に係るサーバ装置のハードウェア構成例を示すブロック図である。サーバ装置６００は、ＣＰＵやＭＰＵなどのプロセッサ６０３と、メモリ６０４と、ハードディスク（ＨＤＤ）６０６と、他の装置との間でデータを遣り取りするためのネットワークコントローラ６２０とを含む。これらのコンポーネントは、内部バス６０２を介して互いにデータ通信可能に接続されている。
【０１２９】
ハードディスク６０６は、サーバ装置６００での基本的なプログラムの実行環境を提供するためのＯＳ（Operating System）６０７と、移動システム１０に情報を出力するサーバプログラム６０８とを記憶する。これらのプログラムがメモリ６０４に読み出されて、プロセッサ６０３で実行される。
【０１３０】
さらに、ハードディスク６０６は、各生産ラインに固定設置されたフィールド機器５００と連係して動作するように移動システム１０のフィールド機器４００を制御するためのユーザプログラムを記憶する。ユーザプログラム６０９Ａは、生産ライン２Ａ（図１参照）に対応し、生産ライン２Ａを支援する移動システム１０の制御装置１００に提供される。ユーザプログラム６０９Ｂは、生産ライン２Ｂ（図１参照）に対応し、生産ライン２Ｂを支援する移動システム１０の制御装置１００に提供される。
【０１３１】
さらに、ハードディスク６０６は、各生産ラインに固定設置されたフィールド機器５００と連係して動作するときに移動システム１０のフィールド機器４００が配置される目標位置を示す目標位置情報を記憶する。目標位置情報６１１Ａは、生産ライン２Ａ（図１参照）に対応し、生産ライン２Ａを支援する移動システム１０のフィールド機器４００が配置される目標位置を示す。目標位置情報６１１Ｂは、生産ライン２Ｂ（図１参照）に対応し、生産ライン２Ｂを支援する移動システム１０のフィールド機器４００が配置される目標位置を示す。
【０１３２】
図９は、変形例３に係る制御システムのソフトウェア構成および機能構成の一例を示す模式図である。図９を参照して、制御装置２００は、図５に示す機構構成と比較して、提供部２５２および指令部２５３の代わりにダウンロード指示部２５４を備える点で相違する。ダウンロード指示部２５４は、制御装置２００のプロセッサ２０３が支援要請プログラム２１２（図４参照）を実行することにより実現される。
【０１３３】
ダウンロード指示部２５４は、探索部２５１によって探索された移動システム１０に含まれる制御装置１００に対して、ユーザプログラムおよび目標位置のダウンロード指示を出力する。ダウンロード指示部２５４は、フィールド機器５００が固定設置される生産ラインに対応するユーザプログラムを識別するプログラムＩＤおよび目標位置情報を識別する位置ＩＤを付加したダウンロード指示を出力する。
【０１３４】
変形例３に係る制御システム１ａの制御装置１００で実行される無線通信処理１７２は、上記のダウンロード指示の受信処理と、ダウンロード指示に付加されたプログラムＩＤで識別されるユーザプログラムをサーバ装置６００に要求する処理と、サーバ装置６００からユーザプログラムをダウンロードする処理とを含む。
【０１３５】
さらに、制御装置１００で実行される有線通信処理１７１は、ダウンロード指示に付加された位置ＩＤを移動機構３００に出力する処理を含む。
【０１３６】
変形例３に係る制御システム１ａの移動機構３００で実行される有線通信処理３１２は、位置ＩＤの受信処理を含む。
【０１３７】
さらに、移動機構３００で実行される無線通信処理３１３は、移動指令の要求をサーバ装置６００に送信する処理と、サーバ装置６００から移動指令を受信する処理とを含む。移動指令の要求には、有線通信処理３１２において受信された位置ＩＤが付加される。
【０１３８】
サーバ装置６００は、提供部６５２ａと指令部６５３ａとを備える。提供部６５２ａと指令部６５３ａとは、サーバ装置６００のプロセッサ６０３がサーバプログラム６０８（図８参照）を実行することにより実現される。
【０１３９】
提供部６５２ａは、制御装置１００からプログラムＩＤで識別されるユーザプログラムの要求を受けると、ハードディスク６０６（図８参照）に記憶されるユーザプログラム６０９Ａ，６０９Ｂ，・・・のうち当該プログラムＩＤに対応するユーザプログラムを読み出す。提供部６５２ａは、ネットワークコントローラ６２０を用いて、読み出したユーザプログラムを制御装置１００に提供する。
【０１４０】
指令部６５３ａは、移動機構３００から移動指令の要求を受けると、ストレージ５０６（図８参照）に記憶される目標位置情報６１１Ａ，６１１Ｂ，・・・のうち当該移動指令に付加された位置ＩＤに対応する目標位置情報を読み出す。指令部６５３ａは、読み出した目標位置情報で示される目標位置まで移動させる指令（移動指令）を生成する。指令部６５３ａは、ネットワークコントローラ６２０を用いて、移動機構３００に生成した移動指令を出力する。
【０１４１】
図１０は、変形例３に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。図１０に示すフローチャートは、図６に示すフローチャートと比較して、ステップＳ６〜Ｓ９の代わりにステップＳ２０〜Ｓ２２を含む点で相違する。そのため、ステップＳ２０〜Ｓ２２について説明する。
【０１４２】
支援可能な移動システム１０の探索に成功した場合（ステップＳ５でＹＥＳ）、制御装置２００のプロセッサ２０３は、探索された移動システム１０の制御装置１００に、ダウンロード指示を送信する（ステップＳ２０）。ダウンロード指示には、プログラムＩＤと位置ＩＤとが付加される。
【０１４３】
移動システム１０の制御装置１００のプロセッサ１０３は、プログラムＩＤで識別されるユーザプログラムをダウンロードする（ステップＳ２１）。具体的には、プロセッサ１０３は、プログラムＩＤで識別されるユーザプログラム６０９をサーバ装置６００に要求する。サーバ装置６００のプロセッサ６０３は、要求されたユーザプログラム６０９を提供する。
【０１４４】
さらに、移動システム１０の制御装置１００のプロセッサ１０３は、位置ＩＤを移動機構３００に出力する。そして、移動機構３００は、移動指令をサーバ装置６００に要求し、サーバ装置６００から受けた移動指令に従って移動する（ステップＳ２２）。具体的には、移動機構３００のプロセッサ３０３は、位置ＩＤが付加された要求をサーバ装置６００に送信する。サーバ装置６００のプロセッサ６０３は、当該位置ＩＤに対応する目標位置情報で示される目標位置に移動させる指令（移動指令）を生成し、生成した移動指令を移動機構３００に出力する。
【０１４５】
変形例３によれば、制御装置２００は、移動システム１０に提供するためのユーザプログラムを記憶しておく必要がない。そのため、制御装置２００のストレージ２０６を有効に活用できる。
【０１４６】
＜Ｊ．変形例４＞
変形例４に係る制御システム１ｂは、変形例３に係る制御システム１ａの更なる変形例である。変形例４に係る制御システム１ｂのハードウェア構成は、変形例３に係る制御システム１ａのハードウェア構成とほぼ同じである。そのため、ハードウェア構成の詳細な説明を省略する。
【０１４７】
図１１は、変形例４に係る制御システムのソフトウェア構成および機能構成の一例を示す模式図である。図１１を参照して、制御システム１ｂの制御装置２００は、図５に示す機構構成と比較して、探索部２５１、提供部２５２および指令部２５３の代わりに支援ＩＤ出力部２５５を備える点で相違する。支援ＩＤ出力部２５５は、図４に示すプロセッサ２０３が支援要請プログラム２１２を実行することにより実現される。
【０１４８】
支援ＩＤ出力部２５５は、状況判定部２５０により移動システム１０の生産支援が必要であると判定されると、生産支援が必要な生産ラインおよび作業内容を識別する支援ＩＤをサーバ装置６００に出力する。
【０１４９】
サーバ装置６００は、更新部６５０と、探索部６５１と、提供部６５２ｂと、指令部６５３ｂとを備える。更新部６５０と探索部６５１と提供部６５２ｂと指令部６５３ｂとは、サーバ装置６００のプロセッサ６０３がサーバプログラム６０８（図８参照）を実行することにより実現される。
【０１５０】
また、サーバ装置６００のハードディスク６０６には、提供用のユーザプログラム６０９Ａ，６０９Ｂ，・・・と目標位置情報６１１Ａ，６１１Ｂ，・・・との他に、要件テーブル６０５が予め記憶されている。
【０１５１】
図１２は、変形例４に係るサーバ装置が記憶する要件テーブルの一例を示す図である。図１２を参照して、要件テーブル６０５は、各移動システム１０について、当該移動システムの現在の状態（稼働中または停止中）を示す情報（以下、「状態情報」という）と、当該移動システムが支援ＩＤに対応する要件情報を満たすか否かを示す情報（以下、「要件可否情報」という））とを対応付けたテーブルである。図１２に示す例の要件テーブル６０５において、「支援０１」、「支援０２」、「支援０３」および「支援０４」は、支援ＩＤである。図１２に示す例の要件テーブル６０５は、移動システム１０Ａのシステム構成が、支援ＩＤ「支援０１」および「支援０３」の支援を行なうために移動システムに要求される要件を満たすことを示している。
【０１５２】
また、ユーザプログラム６０９Ａ，６０９Ｂ，・・・の各々は、支援ＩＤと対応付けられている。すなわち、各支援ＩＤと、当該支援ＩＤの支援を行なうようにフィールド機器４００を制御するためのユーザプログラムとが対応付けられている。
【０１５３】
さらに、目標位置情報６１１Ａ，６１１Ｂ，・・・の各々は、支援ＩＤと対応付けられている。すなわち、各支援ＩＤと、当該支援ＩＤの支援を行なうためのフィールド機器４００が配置される目標位置を示す目標位置情報とが対応付けられている。
【０１５４】
図１１に戻って、更新部６５０は、要件テーブル６０５を更新する。更新部６５０は、各移動システム１０の制御装置１００から定期的に現在の稼働状態の通知を受ける。稼働状態の通知とは、稼働中および停止中のいずれであるかを示す情報の通知である。更新部６５０は、当該通知に基づいて、要件テーブル６０５の状態情報を更新する。
【０１５５】
なお、更新部６５０は、移動システム１０のシステム構成が変更された場合、変更後のシステム構成に基づいて要件可否情報を適宜更新してもよい。
【０１５６】
探索部６５１は、制御装置２００から支援ＩＤを受け付けると、複数の移動システム１０のうち、生産ラインの支援が可能な移動システム１０を探索する。具体的には、探索部６５１は、要件テーブル６０５を参照して、受け付けた支援ＩＤに対応する要件可否情報が「満たす」を示し、かつ、状態情報が「停止中」を示す移動システムを探索する。探索部６５１は、探索された移動システム１０を、生産支援の要請対象の移動システムとして決定する。
【０１５７】
なお、探索部６５１は、複数の移動システム１０が探索された場合、当該複数の移動システム１０のうちの任意の１つを、生産支援の要請対象の移動システムとして決定すればよい。もしくは、サーバ装置６００は、各移動システム１０の現在位置を管理しておき、当該現在位置に基づいて、複数の移動システム１０のうち、支援ＩＤを出力した制御装置２００が属する生産ラインに最も近い移動システム１０を探索すればよい。
【０１５８】
提供部６５２ｂは、ハードディスク６０６（図８参照）に記憶されるユーザプログラム６０９Ａ，６０９Ｂ，・・・のうち支援ＩＤに対応するユーザプログラムを読み出す。提供部６５２ｂは、ネットワークコントローラ６２０を用いて、探索された移動システム１０の制御装置１００に読み出したユーザプログラムを提供する。
【０１５９】
指令部６５３ｂは、ストレージ２０６（図４参照）に記憶される目標位置情報６１１Ａ，６１１Ｂ，・・・のうち支援ＩＤに対応する目標位置情報を読み出す。指令部６５３ｂは、読み出した目標位置情報で示される目標位置まで移動させる指令を生成する。指令部６５３ｂは、ネットワークコントローラ６２０を用いて、探索された移動システム１０の移動機構３００に生成した指令を出力する。
【０１６０】
次に、変形例４に係るフィールド機器の動的な組み換え処理の手順について説明する。図１３は、変形例４に係るフィールド機器の動的な組み換え処理の流れを示すフローチャートである。
【０１６１】
まず、制御装置１００のプロセッサ１０３は、定期的に稼働状態をサーバ装置６００に通知する（ステップＳ３１）。これにより、サーバ装置６００の要件テーブル６０５が適宜更新される。
【０１６２】
制御装置２００において、プロセッサ２０３は、移動システム１０の生産支援が必要であると判定すると、支援ＩＤをサーバ装置６００に出力する（ステップＳ３２）。
【０１６３】
サーバ装置６００のプロセッサ６０３は、要件テーブル６０５を参照して、支援ＩＤで示される支援が可能な移動システム１０の探索に成功したか否かを判定する（ステップＳ３３）。支援が可能な移動システム１０の探索に失敗した場合（ステップＳ３３でＮＯ）、処理は終了する。
【０１６４】
支援が可能な移動システム１０の探索に成功した場合（ステップＳ３３でＹＥＳ）、プロセッサ６０３は、移動システム１０の探索に成功した旨を通知する（ステップＳ３４）。ステップＳ３４における通知先は、支援ＩＤを送信した制御装置２００、および、探索された移動システム１０の制御装置１００である。
【０１６５】
制御装置２００のプロセッサ２０３は、探索に成功した旨の通知の有無を判定する（ステップＳ３５）。探索に成功した旨の通知を受けていない場合（ステップＳ３５でＮＯ）、処理はステップＳ３２に戻る。探索に成功した旨の通知を受けた場合（ステップＳ３５でＮＯ）、プロセッサ２０３はステップＳ３２の処理を行なう。
【０１６６】
一方、移動システム１０の制御装置１００のプロセッサ１０３は、制御装置１００をスタンバイ状態に切り替え、スタンバイ状態への切替完了をサーバ装置６００に通知する（ステップＳ３６）。
【０１６７】
サーバ装置６００のプロセッサ６０３は、スタンバイ状態への切替完了の通知を受信したか否かを判定する（ステップＳ３７）。スタンバイ状態への切替完了の通知を受信していない場合（ステップＳ３７でＮＯ）、処理はステップＳ３７に戻る。
【０１６８】
スタンバイ状態への切替完了の通知を受信した場合（ステップＳ３７でＹＥＳ）、プロセッサ６０３は、探索された移動システム１０の制御装置１００に、支援ＩＤに対応するユーザプログラム６０９を提供する（ステップＳ３８）。
【０１６９】
移動システム１０の制御装置１００は、ユーザプログラム６０９を受信する（ステップＳ３９）。制御装置１００のプロセッサ１０３は、ストレージ１０６に記憶されたユーザプログラム１０８を提供されたユーザプログラム６０９に更新する。
【０１７０】
次に、サーバ装置６００のプロセッサ６０３は、探索された移動システム１０の移動機構３００に、支援ＩＤに対応する目標位置情報で示される目標位置に移動させる指令を出力する（ステップＳ４０）。移動システム１０の移動機構３００は、当該指令を受信し、当該指令に従って目標位置まで移動する（ステップＳ４１）。その後、図６に示すステップＳ１０〜Ｓ１３の処理が行なわれ、処理は終了する。
【０１７１】
＜Ｋ．付記＞
以上のように、本実施の形態は以下のような開示を含む。
【０１７２】
（構成１）
制御システム（１，１ａ，１ｂ）であって、
第１の制御対象機器（５００，５００Ａ，５００Ｃ）を制御するための第１の制御装置（２００，２００Ａ，２００Ｃ）と、
１または複数の移動システム（１０，１０Ａ〜１０Ｃ）とを備え、
前記１または複数の移動システム（１０，１０Ａ〜１０Ｃ）の各々は、
第２の制御対象機器（４００，４００Ａ〜４００Ｃ）と、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を移動させる移動機構（３００，３００Ａ〜３００Ｃ）と、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するための第２の制御装置（１００，１００Ａ〜１００Ｃ）とを含み、
前記第２の制御装置（１００，１００Ａ〜１００Ｃ）は、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するためのユーザプログラムを記憶するための記憶手段（１０６）と、
前記記憶手段（１０６）が記憶するユーザプログラムを実行するための演算手段（１０３）とを有し、
前記制御システム（１，１ａ，１ｂ）は、
前記１または複数の移動システム（１０，１０Ａ〜１０Ｃ）のうち、予め定められた要件を満たす移動システム（１０，１０Ａ〜１０Ｃ）を探索する探索手段（２０３，２５１，６０３，６５１）と、
前記探索手段（２０３，２５１，６５１）によって探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を前記第１の制御対象機器（５００，５００Ａ，５００Ｃ）と連係して動作可能な位置まで移動させる指令を、前記探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記移動機構（３００，３００Ａ〜３００Ｃ）に出力する指令手段（２０３，２５３，６０３，６５３，６５３ａ）と、
前記探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記第２の制御装置（１００，１００Ａ〜１００Ｃ）の前記記憶手段（１０６）に、前記第１の制御対象機器（５００，５００Ａ，５００Ｃ）と連係して動作するように前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するための連係用ユーザプログラムを提供する提供手段（２０３，２５２，６０３，６５２，６５２ａ）とをさらに備える、制御システム（１，１ａ，１ｂ）。
【０１７３】
（構成２）
前記連係用ユーザプログラムは、前記第２の制御装置（１００，１００Ａ〜１００Ｃ）が前記第１の制御装置（２００，２００Ａ，２００Ｃ）とネットワークを介して接続するための命令を含む、構成１に記載の制御システム（１，１ａ，１ｂ）。
【０１７４】
（構成３）
前記第１の制御装置（２００，２００Ａ，２００Ｃ）は、前記第１の制御対象機器（５００，５００Ａ，５００Ｃ）との間で互いに時刻同期された第１のタイマ（２０１）を有し、
前記第２の制御装置（１００，１００Ａ〜１００Ｃ）は、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）との間で互いに時刻同期された第２のタイマ（１０１）と、
前記提供手段（２０３，２５２，６０３，６５２，６５２ａ）から前記連係用ユーザプログラムが前記記憶手段（１０６）に提供されると、前記第１のタイマ（２０１）と時刻同期するように前記第２のタイマ（１０１）を調整する調整手段（１０３）とをさらに有する、構成１に記載の制御システム（１，１ａ，１ｂ）。
【０１７５】
（構成４）
前記探索手段（２０３，２５１）、前記指令手段（２０３，２５３）および前記提供手段（２０３，２５２）は前記第１の制御装置（２００，２００Ａ，２００Ｃ）に含まれる、構成１に記載の制御システム（１）。
【０１７６】
（構成５）
前記移動システム（１０，１０Ａ〜１０Ｃ）と通信可能なサーバ装置（６００）をさらに備え、
前記指令手段（６０３，６５３，６５３ａ）および前記提供手段（６０３，６５２，６５２ａ）は前記サーバ装置（６００）に含まれる、構成１に記載に制御システム（１ａ，１ｂ）。
【０１７７】
（構成６）
制御システム（１，１ａ，１ｂ）の制御方法であって、
前記制御システム（１，１ａ，１ｂ）は、
第１の制御対象機器（５００，５００Ａ，５００Ｃ）を制御する第１の制御装置（２００，２００Ａ，２００Ｃ）と、
１または複数の移動システムとを備え、
（１０，１０Ａ〜１０Ｃ）とを備え、
前記１または複数の移動システム（１０，１０Ａ〜１０Ｃ）の各々は、
第２の制御対象機器（４００，４００Ａ〜４００Ｃ）と、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を移動させる移動機構（３００，３００Ａ〜３００Ｃ）と、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するための第２の制御装置（１００，１００Ａ〜１００Ｃ）とを含み、
前記第２の制御装置（１００，１００Ａ〜１００Ｃ）は、
前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するためのユーザプログラムを記憶するための記憶手段（１０６）と、
前記記憶手段（１０６）が記憶するユーザプログラムを実行するための演算手段（１０３）とを有し、
前記制御方法は、
前記１または複数の移動システム（１０，１０Ａ〜１０Ｃ）のうち、予め定められた要件を満たす移動システム（１０，１０Ａ〜１０Ｃ）を探索するステップと、
探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を前記第１の制御対象機器（５００，５００Ａ，５００Ｃ）と連係して動作可能な位置まで移動させる指令を、前記探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記移動機構（３００，３００Ａ〜３００Ｃ）に出力するステップと、
前記探索された移動システム（１０，１０Ａ〜１０Ｃ）に含まれる前記第２の制御装置（１００，１００Ａ〜１００Ｃ）の前記記憶手段（１０６）に、前記第１の制御対象機器（５００，５００Ａ，５００Ｃ）と連係して動作するように前記第２の制御対象機器（４００，４００Ａ〜４００Ｃ）を制御するための連係用ユーザプログラムを提供するステップとを備える、制御方法。
【０１７８】
本発明の実施の形態について説明したが、今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７９】
１，１ａ，１ｂ  制御システム、２Ａ，２Ｂ  生産ライン、１０，１０Ａ〜０Ｃ  移動システム、２１，２１Ａ〜２１Ｃ，２２，２２Ａ〜２２Ｄ  フィールドネットワーク、２３，２３Ａ，２３Ｂ  ネットワーク、１００，１００Ａ〜１００Ｃ，２００，２００Ａ〜２００Ｄ  制御装置、１０１，１０１Ａ〜１０１Ｃ，２０１，２０１Ａ〜２０１Ｄ，４０１，５０１  タイマ、１０２，２０２，３０２，６０２  内部バス、１０３，２０３，３０３，６０３  プロセッサ、１０４，２０４，３０４，６０４  メモリ、１０６，２０６，３０６，５０６  ストレージ、１０７，２０７  システムプログラム、１０８，２０８，２０９，６０９，６０９Ａ，６０９Ｂ  ユーザプログラム、１０９  システム構成情報、１２０，２２０，３２０  無線通信インターフェイス、１３０，３３０  有線通信インターフェイス、１４０，２４０，４１０，５１０  フィールドネットワークコントローラ、１４１，２４１，４１２，５１２  送受信コントローラ、１４２，２４２  送受信バッファ、１７０，３１１  スケジューラ、１７１，３１２  有線通信処理、１７２，３１３  無線通信処理、１７３  要件判定処理、１７４  書換処理、１７５，３１４  ユーザプログラム実行処理、１７６，３１５  ロボット制御処理、１９０，１９０Ａ，１９０Ｂ  管理装置、２１０  要件情報、２１１，６１１，６１１Ａ，６１１Ｂ  目標位置情報、２１２  支援要請プログラム、２３０  上位ネットワークコントローラ、２５０  状況判定部、２５１，６５１  探索部、２５２，６５２ａ，６５２ｂ  提供部、２５３，６５３ａ，６５３ｂ  指令部、２５４  ダウンロード指示部、２５５  支援ＩＤ出力部、３００，３００Ａ〜３００Ｃ  移動機構、３０７  自律走行プログラム、３１０  自律走行処理、３４０  センサ群、３５０  駆動装置、３６０  車輪、４００，４００Ａ〜４００Ｃ，５００，５００Ａ〜５００Ｄ  フィールド機器、４１４，５１４  制御ロジック、４１６，５１６  処理部、４２０  アクチュエータ、４２２，５２４  センサ、６００  サーバ装置、６０５  要件テーブル、６０６  ハードディスク、６０８  サーバプログラム、６２０  ネットワークコントローラ、６５０  更新部。
【図１】
2020061091.tif 000003
【図２】
2020061091.tif 000004
【図３】
2020061091.tif 000005
【図４】
2020061091.tif 000006
【図５】
2020061091.tif 000007
【図６】
2020061091.tif 000008
【図７】
2020061091.tif 000009
【図８】
2020061091.tif 000010
【図９】
2020061091.tif 000011
【図１０】
2020061091.tif 000012
【図１１】
2020061091.tif 000013
【図１２】
2020061091.tif 000014
【図１３】
2020061091.tif 000015