(57)【特許請求の範囲】
【請求項１】
制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、
前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備え、
前記ＦＢ実行部が、前記制御対象機器の宛先を特定する対象特定部を備え、
前記対象特定部が、前記設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定するか、別途指定される情報に基づいて制御対象機器の宛先を特定するかを切り替え可能となっていることを特徴とするプログラマブルロジックコントローラ。
【請求項２】
前記対象特定部が、前記別途指定される情報によって、制御対象機器の宛先を複数特定可能であることを特徴とする請求項１記載のプログラマブルロジックコントローラ。
【請求項３】
前記対象特定部が、（１）当該プログラマブルロジックコントローラが管理しているネットワークのノードアドレス、（２）当該プログラマブルロジックコントローラに接続されている、複数のユニットを有するスレーブ装置のユニット番号、および、（３）当該プログラマブルロジックコントローラに接続されている、複数のポートを有するスレーブ装置のポート番号、の少なくともいずれか一つを用いて、前記制御対象機器の宛先を特定することを特徴とする請求項１または２記載のプログラマブルロジックコントローラ。
【請求項４】
制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、
前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備え、
前記ＦＢ実行部が、前記制御対象機器の機器ＩＤを照合する機器照合部を備え、
前記機器照合部が、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合することを特徴とするプログラマブルロジックコントローラ。
【請求項５】
前記機器照合部が、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合する照合処理を実行するか否かを切り替え可能となっていることを特徴とする請求項４記載のプログラマブルロジックコントローラ。
【請求項６】
前記機器照合部が、前記制御対象機器に固有のシリアル番号を取得するとともに、取得したシリアル番号と、前記設定データファイルに記載されているシリアル番号とを照合する照合処理を実行するか否かを切り替え可能となっていることを特徴とする請求項４記載のプログラマブルロジックコントローラ。
【請求項７】
制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、
前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備えたプログラマブルロジックコントローラの制御方法であって、
前記ＦＢ実行部による、前記制御対象機器の宛先を特定する対象特定ステップを有し、
前記対象特定ステップにて、前記設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定するか、別途指定される情報に基づいて制御対象機器の宛先を特定するかを切り替え可能となっていることを特徴とするプログラマブルロジックコントローラの制御方法。
【請求項８】
制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、
前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備えたプログラマブルロジックコントローラの制御方法であって、
前記ＦＢ実行部による、前記制御対象機器の機器ＩＤを照合する機器照合ステップを有し、
前記機器照合ステップにて、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合することを特徴とするプログラマブルロジックコントローラの制御方法。
【請求項９】
請求項１または４に記載のプログラマブルロジックコントローラとしてコンピュータを機能させるための制御プログラムであって、前記ＦＢ実行部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、主に、プログラマブルロジックコントローラに関する。
【背景技術】
【０００２】
産業用のオープンなネットワークしてEtherCATが知られている。このEtherCATはフィールドネットワークとして利用されている。また、センサーやアクチュエータなどのデバイスとポイントツーポイント通信を行うマスタで構成されるIO-Linkシステムが知られている。
【０００３】
このEtherCATのマスタとしての機能を備えたプログラマブルコントローラと、EtherCATのスレーブとしての機能とIO-Linkマスタの機能を備えた装置と、IO-Linkデバイスとによって構成されるネットワークシステムが従来から利用されている。
【０００４】
ＰＬＣには、IO-Linkデバイスの動作設定値をIO-Linkデバイスから取得するためのファンクションブロック（設定値読出用ＦＢ）、及び、ＰＬＣが保持している前記動作設定値をIO-Linkデバイスに反映させるためのファンクションブロック（設定値書込用ＦＢ）が実装されている。
【０００５】
設定値書込用ＦＢによってIO-Linkデバイスにその動作設定を変更させるためには、ユーザは、その動作設定に対応する各種動作設定値が記載されたそのIO-Linkデバイス用の設定データファイルを前もってＰＬＣに記録しておく必要がある。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前記ネットワークシステムの具体例として、同じ動作設定に基づく動作を行わせるべき多数のIO-Linkデバイスが含まれているネットワークシステムが考えられる。
【０００７】
そのようなネットワークシステムにおいては、前記多数のIO-Linkデバイスに前記動作を行わせるためには、ユーザは、前もってIO-Linkデバイスの台数と同数の設定データファイルをＰＬＣに記録しておく必要がある。これは、ユーザにとって非常に手間のかかる作業である（課題１）。
【０００８】
前記ネットワークシステムの別の具体例として、様々なベンダのIO-Linkデバイスが含まれているネットワークシステムが考えられる。
【０００９】
そのようなネットワークシステムにおいては、ＰＬＣが、設定値書込用ＦＢを呼び出すことによってＡ社のIO-Linkデバイスに関する動作設定値をＢ社のIO-Linkデバイスに反映させてしまった場合に、Ｂ社のIO-Linkデバイスが誤作動してしまい得る（課題２）。
【００１０】
本発明は、前記課題１に鑑みて成されたものであり、その主な目的は、特定の設定データファイルを用いて動作設定値を変更させる制御対象機器を、該設定データファイルに含まれる宛先情報で示される制御対象機器に限定されることなく選択することが可能なＰＬＣを実現することにある。また、本発明の目的は、前記課題２を解決するＰＬＣ（即ち、誤った設定変更により制御対象機器を誤作動させるリスクが従来よりも少ないＰＬＣ）を実現することにもある。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明の一態様に係るプログラマブルロジックコントローラは、制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備え、前記ＦＢ実行部が、前記制御対象機器の宛先を特定する対象特定部を備え、前記対象特定部が、前記設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定するか、別途指定される情報に基づいて制御対象機器の宛先を特定するかを切り替え可能となっている。
【００１２】
前記構成によれば、ＦＢによって制御対象機器の動作設定値を変更させる際に、設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定するか、別途指定される情報に基づいて制御対象機器の宛先を特定するかを切り替えることが可能となる。
【００１３】
即ち、特定の設定データファイルを用いて動作設定値を変更させる制御対象機器を、該設定データファイルに含まれる宛先情報で示される制御対象機器に限定されることなく選択することが可能となる。
【００１４】
前記課題を解決するために、本発明の一態様に係る制御方法は、制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備えたプログラマブルロジックコントローラの制御方法であって、前記ＦＢ実行部による、前記制御対象機器の宛先を特定する対象特定ステップを有し、前記対象特定ステップにて、前記設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定するか、別途指定される情報に基づいて制御対象機器の宛先を特定するかを切り替え可能となっていてもよい。
【００１５】
前記構成によれば、前記制御方法は、前記プログラマブルロジックコントローラと同様の作用効果を奏する。
【００１６】
本発明の一態様に係るプログラマブルロジックコントローラは、前記対象特定部が、前記別途指定される情報によって、制御対象機器の宛先を複数特定可能であってもよい。
【００１７】
前記構成によれば、前記ＰＬＣは、制御対象機器の宛先を複数設定することが可能となるので、複数の制御対象機器に同様の動作設定値を設定する場合のユーザの手間を大幅に削減することが可能となる。
【００１８】
本発明の一態様に係るプログラマブルロジックコントローラは、前記対象特定部が、（１）当該プログラマブルロジックコントローラが管理しているネットワークのノードアドレス、（２）当該プログラマブルロジックコントローラに接続されている、複数のユニットを有するスレーブ装置のユニット番号、および、（３）当該プログラマブルロジックコントローラに接続されている、複数のポートを有するスレーブ装置のポート番号、の少なくともいずれか一つを用いて、前記制御対象機器の宛先を特定してもよい。
【００１９】
前記構成によれば、前記プログラマブルロジックコントローラは、ノードアドレス、ユニット番号、およびポート番号の少なくともいずれか一つによって制御対象機器の宛先を適切に特定することが可能となる。
【００２０】
前記課題を解決するために、本発明の一態様に係るプログラマブルロジックコントローラは、制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備え、前記ＦＢ実行部が、前記制御対象機器の機器ＩＤを照合する機器照合部を備え、前記機器照合部が、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合する。
【００２１】
前記構成によれば、前記プログラマブルロジックコントローラは、制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、設定データファイルに含まれる機器ＩＤ情報とを照合することになる。よって、設定データファイルに含まれる宛先情報の誤りなどにより、制御対象機器に対して不適切な動作設定値を設定してしまうことによる誤作動を防止することができる。
【００２２】
前記課題を解決するために、本発明の一態様に係る制御方法は、制御対象機器の動作設定値を変更させる機能を有するＦＢ（ファンクションブロック）を実行するＦＢ実行部と、前記ＦＢの動作時に参照する設定データファイルを記憶する記憶部とを備えたプログラマブルロジックコントローラの制御方法であって、前記ＦＢ実行部による、前記制御対象機器の機器ＩＤを照合する機器照合ステップを有し、前記機器照合ステップにて、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合する。
【００２３】
前記構成によれば、前記制御方法は、前記プログラマブルロジックコントローラと同様の作用効果を奏する。
【００２４】
本発明の一態様に係るプログラマブルロジックコントローラは、前記機器照合部が、前記制御対象機器の機器ＩＤを取得するとともに、取得した機器ＩＤと、前記設定データファイルに含まれる機器ＩＤ情報とを照合する照合処理を実行するか否かを切り替え可能となっていてもよい。
【００２５】
また、本発明の一態様に係るプログラマブルロジックコントローラは、前記機器照合部が、前記制御対象機器に固有のシリアル番号を取得するとともに、取得したシリアル番号と、前記設定データファイルに記載されているシリアル番号とを照合する照合処理を実行するか否かを切り替え可能となっていてもよい。
【００２６】
前記の各構成によれば、照合処理を実行するか否かを切り替え可能であるので、照合処理が必要なときにのみ実行させることが可能となる。よって、照合処理が不要な場合には、照合処理を省略することにより、処理時間の削減、通信回線に対する負荷の低減、ＰＬＣの負荷の軽減などを実現することができる。
【００２７】
本発明の範疇には、前記いずれかの態様に係るプログラマブルロジックコントローラとしてコンピュータを機能させるための制御プログラムであって、前記ＦＢ実行部としてコンピュータを機能させるための制御プログラムも含まれる。
【発明の効果】
【００２８】
本発明の一態様に係るプログラマブルロジックコントローラは、特定の設定データファイルを用いて動作設定値を変更させる制御対象機器を、該設定データファイルに含まれる宛先情報で示される制御対象機器に限定されることなく選択することができる、という効果を奏する。
【００２９】
また、本発明の別の一態様に係るプログラマブルロジックコントローラには、誤った設定変更により制御対象機器を誤作動させるリスクが従来よりも少ない、という利点がある。
【図面の簡単な説明】
【００３０】
【図１】本発明の実施形態１に係るパーソナルコンピュータ（ＰＣ）及びプログラマブルロジックコントローラ（ＰＬＣ）の要部構成を示すブロック図である。
【図２】図１のＰＣ及びＰＬＣを含む実施形態１に係る産業用ネットワークシステムの構成を概略的に示す図である。
【図３】図１のＰＣのディスプレイに表示されるツールアプリケーションの画面の一例を示した図である。
【図４】図１のＰＣのディスプレイに表示されるツールアプリケーションの画面の別の一例を示した図である。
【図５】図１のＰＣのディスプレイに表示されるツールアプリケーションの画面の更に別の一例を示した図である。
【図６】図１のＰＣが作成する設定データファイルのデータ構造について説明するための図である。
【図７】図１のＰＬＣが制御対象機器であるIO-Linkデバイスにその動作設定値を変更させるために実行する設定値書込用ＦＢについて説明するための図である。
【図８】前記設定値書込用ＦＢについて説明するための別の図である。
【図９】実施形態２に係るＰＣと実施形態１に係るＰＬＣとを含む実施形態２に係る産業用ネットワークシステムの構成を概略的に示す図である。
【発明を実施するための形態】
【００３１】
＜実施形態１＞
以下、図１〜図８を参照して、本発明の実施形態１に係る産業用ネットワークシステムについて説明する。
【００３２】
（システムの概要および構成）
まず、本実施形態に係る産業用ネットワークシステムの概要および構成について図１及び図２を参照しながら説明する。
【００３３】
図１は、本実施形態に係るＰＣ１００及びＰＬＣ２００の構成を示すブロック図である。図２は、本実施形態に係る産業用ネットワークシステム１の構成を示した図である。
【００３４】
図１及び図２からわかるように、システム１は、ＨＭＩ１０、ＰＣ（パーソナルコンピュータ）１００、ＰＬＣ（プログラマブルロジックコントローラ）２００、スレーブ機器３００−１、３００−２、IO-Linkデバイス４００（以下、「機器４００」「制御対象機器」とも称する）、スレーブ機器５００（以下、「機器５００」「制御対象機器」とも称する）、及び、機器６００（以下、「制御対象機器」とも称する）を含んでいる。
【００３５】
ＨＭＩ（ヒューマンマシンインタフェース）１０は、現場作業者がIO-Linkデバイス４００の動作設定を変更するために使用する装置である。ＨＭＩ１０には、タッチパネル式のディスプレイが設けられている。
【００３６】
システム１の本稼働中には、このディスプレイに多数のＵＩ部品が表示されている。現場作業者は、多数のＵＩ部品の中から選択した適切なＵＩ部品（特定のＵＩ部品）にタッチすることで、複数台の機器４００のうちの所望の機器４００（制御対象機器）に所定の複数種類の動作のうちの所望の動作を行わせることができる。
【００３７】
ＨＭＩ１０は、ＵＩ部品に対するタッチ操作を受け付けると、所望の機器４００に所望の動作を行わせるための制御を行うようにＰＬＣ２００に指示する。即ち、ＨＭＩ１０は、具体的な指示の内容を示す指示データをＰＬＣ２００に送信する。
【００３８】
ＰＣ１００は、システム管理者が、機器４００に所望の動作を行わせるための各種動作設定値を含む設定データファイルを作成し、作成した設定データファイルをＰＬＣ２００に記録するために使用するパーソナルコンピュータである。
【００３９】
ＰＬＣ２００は、EtherCATマスタであり、スレーブ機器とEtherCAT通信を行う。
【００４０】
ＰＬＣ２００は、機器４００（制御対象機器）の各種動作設定値を変更させる機能を有するファンクションブロック（設定値書込用ＦＢ）を保持している。
【００４１】
ＨＭＩ１０からの指示（設定変更指示）をトリガとしてＰＬＣ２００が設定値書込用ＦＢを呼び出すと、設定値書込用ＦＢは次の動作を行う。即ち、設定値書込用ＦＢは、ＰＬＣ２００が保持している多数の設定データファイルのうちの、前記特定のＵＩ部品に対応する特定の設定データファイルを参照し、参照した設定データファイルを制御対象機器に送信する。
【００４２】
スレーブ機器（機器３００−１、３００−２）は、EtherCATスレーブ及びIO-Linkマスタとして機能するデバイスである。該スレーブ機器は、自機とポイントツーポイント接続されているIO-Linkデバイス４００の動作設定値を変更させるための設定データファイルをＰＬＣ２００から取得すると、設定データファイルをIO-Linkデバイス４００に転送する。
【００４３】
機器３００−１、３００−２についてより具体的に説明すると以下の通りである。
【００４４】
機器３００−１は、複数の機能ユニットがシステムバスを介してデータ交換可能に接続されている機器である。前記複数の機能ユニットのうちのひとつは、EtherCATマスタとの通信、および、システムバスを介した他の機能ユニットとのデータ交換を制御する。また、前記複数の機能ユニットのうちの別のひとつは、IO-Linkデバイス４００と接続されて通信を行うIO-Linkマスタとして動作する。
【００４５】
機器３００−２は、EtherCATマスタと通信する機能およびIO-Linkデバイスと通信する機能を備えている。
【００４６】
機器４００は、IO-Linkデバイス４００から設定データファイルが転送されると、設定データファイルの内容に基づいて自機の各種動作設定値を変更し、現場作業者の所望する動作を行う。
【００４７】
スレーブ機器５００は、EtherCATスレーブとして機能するが、IO-Linkマスタとしては機能しないデバイス（センサ、アクチュエータ等の制御対象機器）である。
【００４８】
機器６００は、複数の機能ユニットを有するスレーブ装置（EtherCATスレーブとして機能するが、IO-Linkマスタとしては機能しないスレーブ装置）のいずれかの機能ユニットに接続されているデバイス（センサ、アクチュエータ等の制御対象機器）である。
【００４９】
次に、ＰＣ１００及びＰＬＣ２００の構成について図１を参照しながら説明する。
【００５０】
（ＰＣ１００の構成）
図１の（ａ）に示すように、ＰＣ１００は、ＣＰＵ１１０、記憶部１２０、表示部１３０、操作部１４０、及び、イーサネット（登録商標）Ｉ／Ｆ部１５０を備えている。
【００５１】
ＣＰＵ１１０は、ＰＣ１００全体を統括的に制御する。
【００５２】
記憶部１２０は、所定のツールアプリケーションがインストールされている記録媒体である。記憶部１２０には、ツールアプリケーションによって作成される設定データファイルも格納される。なお、ツールアプリケーションの詳細については後述する。
【００５３】
表示部１３０は、ツールアプリケーションの画面が表示されるディスプレイ（表示画面）である。
【００５４】
操作部１４０は、ツールアプリケーションを操作するための操作デバイス（キーボード等）である。
【００５５】
イーサネット（登録商標）Ｉ／Ｆ部１５０は、イーサネット通信（ＴＣＰ／ＩＰ通信）を行う通信インタフェースである。
【００５６】
ＣＰＵ１１０は、ツールアプリケーションを読み出すことによって、設定データ生成処理部１１１、及び、送信処理部１１２として機能する。
【００５７】
設定データ生成処理部１１１は、ＰＬＣ２００における設定値書込用ＦＢが参照する設定データファイルを生成する。
【００５８】
設定データ生成処理部１１１は、表示入力制御部１１１１及びIODDファイル取得処理部１１１２を含んでいる。
【００５９】
表示入力制御部１１１１は、機器４００の動作設定値を示す少なくとも１つの項目に関するファイルであるIODDファイルから設定データファイルを作成し、設定データファイルにおける少なくとも１つの項目が示されたツールアプリケーションの画面を表示部１３０に表示する。また、表示入力制御部１１１１は、ユーザからの入力によって、前記項目の値を設定する制御を行う。
【００６０】
IODDファイル取得処理部１１１２は、IODDファイルを外部（本実施形態では所定のサーバ）から取得する。本実施形態におけるIODDファイルは、機器４００の機能項目毎に、当該機能項目について設定可能な値と当該機能項目のデフォルトの動作設定値とが示されたファイルである。
【００６１】
送信処理部１１２は、設定データ生成処理部１１１によって生成された設定データファイルをＰＬＣ２００に送信する。
【００６２】
（ＰＬＣ２００の構成）
図１の（ｂ）に示すように、ＰＬＣ２００は、ＣＰＵ２１０、イーサネットＩ／Ｆ部２２０、ＥｔｈｅｒＣＡＴＩ／Ｆ部２３０、及び、記憶部２４０を備えている。
【００６３】
ＣＰＵ２１０は、ＰＬＣ２００全体を統括的に制御する。
【００６４】
イーサネットＩ／Ｆ部２２０は、イーサネット通信（ＴＣＰ／ＩＰ通信）を行う通信インタフェースである。
【００６５】
ＥｔｈｅｒＣＡＴＩ／Ｆ部２３０は、EtherCAT通信を行う通信インタフェースである。
【００６６】
記憶部２４０は、設定値読出用ＦＢや設定値書込用ＦＢを含む各種ＦＢが記録されている記録媒体である。記憶部２４０には、ＰＣ１００から送信される設定データファイルも記録される。
【００６７】
ＣＰＵ２１０は、設定データ取得処理部２１１、設定変更指示受付部２１２、及び、ＦＢ処理部２１３として機能する。
【００６８】
設定データ取得処理部２１１は、ＰＣ１００がＰＬＣ２００に送信した設定データファイルを取得し、取得した設定データファイルを記憶部２４０に記録する。
【００６９】
設定変更指示受付部２１２は、ＨＭＩ１０からの設定変更指示をトリガとして、ＦＢ処理部２１３に対し、設定値書込用ＦＢを呼び出させる。
【００７０】
ＦＢ処理部２１３（ＦＢ実行部）は、各種ＦＢを読み出し、読み出したＦＢを実行する。
【００７１】
ＦＢ処理部２１３がＨＭＩ１０からの設定変更指示によって設定値書込用ＦＢを呼び出した場合、設定値書込用ＦＢは、設定変更指示の内容に応じた特定の設定データファイルを記憶部１２０から読み出し、読み出した設定データファイルをEtherCATネットワーク（制御対象機器と接続されているスレーブ機器）に送信する。
【００７２】
本実施形態では、ＦＢ処理部２１３は、機器照合部２１３１及び宛先特定部２１３２（対象特定部）を含んでいる。
【００７３】
機器照合部２１３１は、設定値書込用ＦＢの所定の入力変数の値が所定の値である場合に、現場作業者によって指定された機器４００からベンダＩＤ及びデバイスＩＤ（機器ＩＤ）を取得する。機器照合部２１３１は、設定データファイルに格納されているベンダＩＤが機器４００から取得したベンダＩＤと一致し、且つ、設定データファイルに格納されているデバイスＩＤ（機器ＩＤ情報）が機器４００から取得したデバイスＩＤと一致する場合に「照合成功」を示す情報を出力し、そうでない場合に「照合失敗」を示す情報を出力する。
【００７４】
なお、本実施形態では、機器照合部２１３１は、産業用ネットワークシステム１の設定に応じて、前記照合処理を実行するか否かを切り替え可能になっている。
【００７５】
宛先特定部２１３２は、ＨＭＩ１０からの設定変更指示に基づき、いずれかの方法によって、制御対象機器の宛先を特定する。
【００７６】
（方法１）前述の特定の設定データファイルに含まれる宛先情報に基づいて制御対象機器の宛先を特定する。この場合における前述の「特定の設定データファイル」は、例えば、制御対象機器の名前と設定変更後の動作の内容とを示すファイル名のファイルであって、宛先情報と設定変更後の動作に対応する各種動作設定値とを含む設定データファイルである。
【００７７】
（方法２）別途指定される宛先情報（ＨＭＩ１０からの指示データに含まれる宛先情報）に基づいて、制御対象機器の宛先を特定する。この場合における前述の「特定の設定データファイル」は、例えば、設定変更後の動作の内容を示すファイル名のファイルであって、宛先情報と設定変更後の動作に対応する各種動作設定値を含む設定データファイルである。
【００７８】
宛先特定部２１３２は、産業用ネットワークシステム１の設定に応じて、前記方法１及び前記方法２を適宜切り替えることができる。
【００７９】
なお、本実施形態における前記宛先情報は、（１）ＰＬＣ２００が管理しているEtherCATネットワークのノードアドレス、（２）ＰＬＣ２００に接続されている、複数のユニットを有する機器（図示せず、スレーブ装置）のユニット番号、及び、（３）ＰＬＣ２００に接続されている、複数のポートを有するスレーブ機器（スレーブ装置）のポート番号、のうちのいずれか１つ、又は、それらの３つのうちの２つ若しくは３つの組み合わせである。
【００８０】
前記宛先情報の例としては、ノードアドレス（ノード番号）とユニット番号とポート番号との組み合わせ（機器３００−１に接続されている機器４００の宛先情報）、ノードアドレスとユニット番号との組み合わせ（機器６００の宛先情報）、ノードアドレスとポート番号との組み合わせ（機器３００−２に接続されている機器４００の宛先情報）、及び、ノード番号（機器５００の宛先情報）が挙げられる。
【００８１】
以上、ＰＣ１００及びＰＬＣ２００の構成について説明した。
【００８２】
（設定データファイルの作成について）
以下では、ＰＣ１００にインストールされているツールアプリケーションを用いて設定データファイルをどのように作成するかについて図３〜図５を参照しながら詳細に説明する。図３〜図５は、ツールアプリケーションの画面を例示した図である。
【００８３】
ＰＣ１００がツールアプリケーションを起動すると、ツールアプリケーション（表示入力制御部１１１１）は、産業用ネットワークシステム１内のＰＬＣ２００及び１台以上のスレーブ機器を検出し、検出結果に基づいて、例えば、図３に示すような、ネットワーク構成を示す画面を表示部１３０に表示する。
【００８４】
ユーザ（システム管理者）が図３の画面を通じてIO-Linkマスタとして機能するスレーブ機器を選択する操作を行うと、ツールアプリケーション（表示入力制御部１１１１）は、選択したスレーブ機器に接続されている１台以上の機器４００を検出し、図４に示すように、検出した１台以上の機器４００のリストを表示部１３０に表示する。
【００８５】
更に、ユーザが図４の画面を通じて機器４００（IO-Linkデバイス４００）を選択する操作を行うと、ツールアプリケーション（IODDファイル取得処理部１１１２）は、選択された機器４００に関するIODDファイルを所定のサーバからダウンロードする。
【００８６】
そして、ツールアプリケーション（表示入力制御部１１１１）は、ダウンロードされたIODDファイルを読み出し、図５に示すような画面を表示部１３０に表示する。
【００８７】
ユーザが、図５の画面を通じて、機器４００に関する各種動作設定値を変更し、画面上部のテキストボックスにファイル名を入力した上で「ALL EXPORT」ボタン又は「Changed part Export」ボタンを押すと、ツールアプリケーション（設定データ生成処理部１１１）は、入力されたファイル名の設定データファイルであって、各種項目の動作設定値の変更が反映された設定データファイルを生成する。
【００８８】
具体的には、設定データ生成処理部１１１は、「ALL EXPORT」ボタンが押された場合には全ての項目の情報（機器４００に関する全ての設定データ）を含む設定データファイルを生成し、「Changed part Export」ボタンが押された場合には、変更されていない項目の動作設定値を含まず、変更された項目の動作設定値を含む設定データファイルを生成する。
【００８９】
そして、ツールアプリケーション（送信処理部１１２）は、生成された設定データファイルをＰＬＣ２００に送信する。
【００９０】
なお、ユーザは、選択した機器４００について前記作業をＮ（Ｎ≧１）回以上を行うことによって、Ｎ個の設定データファイルを作成することができる。即ち、ユーザは、Ｎ種類の動作の各々について、選択した機器４００に該動作を行わせるための動作設定値を含む設定データファイルを作成することができる。
【００９１】
（図５の画面に関する付記事項１）
図５の画面における「Set default value」ボタンは、全項目の動作設定値をデフォルト値に戻すためのボタンである。また、図５の画面における「DownLoad」ボタンは、ツールアプリケーション（変更データ生成部）に、全ての項目の情報を含む動作設定値変更データ（制御対象機器に対してＰＣ１００’から直接動作設定値を変更させるためのデータ）を生成させ、生成させた動作設定値変更データを直接制御対象機器に送信（ダウンロード）させるためのボタンである。
【００９２】
（図５の画面に関する付記事項２）
ユーザが機器４００を選択する操作を行った場合、図５の画面にエクスポート用の第３のボタンを設けたものに相当する画面を表示してもよい。そして、設定データ生成処理部１１１は、前記第３のボタンが押された場合、所定の一部の項目の情報（機器４００に関する一部の設定データ）を含む設定データファイルを生成してもよい。
【００９３】
（設定データファイルの詳細について）
設定データファイルの詳細について図６を参照しながら説明する。図６は、ＰＣ１００が作成する設定データファイルのデータ構造について説明するための図である。
【００９４】
図６に示すように、設定データファイルは、宛先情報と、設定データ情報とを含んでいる。図６に示すように、宛先情報には、制御対象機器の宛先に関する各種情報が含まれており、設定データ情報には、１つ以上の設定データと、設定データファイルに含まれている設定データの個数を示す情報とが含まれている。
【００９５】
設定データはメタ情報及び実情報を含んでおり、設定データのメタ情報は、設定データの実情報に関する各種情報（実情報のデータ長等）を含んでいる。
【００９６】
（指示データおよび設定値書込用ＦＢの詳細について）
指示データ及び設定値書込用ＦＢの詳細について図７及び図８を参照しながら説明する。図７及び図８は、設定値書込用ＦＢについて説明するための図である。本実施形態では、ＰＬＣ２００は、設定値書込用ＦＢとして、図７の（ａ）のEC_IOLWRITE、及び／又は、図７の（ｂ）のNX_IOLWRITEを利用する。
【００９７】
図７及び図８からわかるように、EC_IOLWRITE及びNX_IOLWRITEは、５つの入力変数を受けて動作する。これら５つの入力変数は指示データに含まれている。
【００９８】
これら５つの入力変数の詳細が図８の（ａ）〜（ｃ）に示されている。本実施形態では、図８に示されている入力変数のうち、NodeAdr、UnitProxy、PortNo、及び、IDcheckの４つの入力変数に特徴があるので、これらについて以下に詳細に説明する。
【００９９】
（変数NodeAdr及び変数UnitProxyについて）
変数NodeAdrは、制御対象機器（機器４００）の宛先を特定するためにEC_IOLWRITEが参照する変数である。
【０１００】
変数UnitProxyは、制御対象機器の宛先を特定するためにNX_IOLWRITEが参照する変数である。図８の（ｂ）に示すように、変数UnitProxyは構造体型の変数であり、変数UnitProxyの複数のメンバ変数のうちの１つは、前述の変数NodeAdrである。
【０１０１】
ＨＭＩ１０は、前述の方法１を用いるように設定されている場合には変数NodeAdrの値"0"を含む指示データをＰＬＣ２００に送信し、前述の方法２を用いるように設定されている場合には、変数NodeAdrの値ｉ（i：１以上１９２以下の整数）を含む指示データをＰＬＣ２００に送信する。
【０１０２】
図７の（ａ）及び図８の（ａ）からわかるように、EC_IOLWRITEは、指示データに含まれている入力変数NodeAdrの値が"0"である場合には設定データファイルに含まれるノードアドレスに基づいて宛先を特定し、入力変数NodeAdrの値が"0"でない場合には入力変数NodeAdrの値（別途指定される情報）に基づいて宛先を特定する（対象特定ステップ）。
【０１０３】
また、図７の（ｂ）及び図８の（ｂ）からわかるように、NX_IOLWRITEは、指示データに含まれているメンバ変数NodeAdrの値が"0"である場合には設定データファイルに含まれるノードアドレスに基づいて宛先を特定し、メンバ変数NodeAdrの値が"0"でない場合にはメンバ変数NodeAdrの値に基づいて宛先を特定する（対象特定ステップ）。
【０１０４】
（変数PortNoについて）
変数PortNoは、制御対象機器の宛先を特定するためにEC_IOLWRITE及びNX_IOLWRITEが参照する変数である。
【０１０５】
ＨＭＩ１０は、前述の方法１を用いるように設定されている場合には変数PortNoの値"0"を含む指示データをＰＬＣ２００に送信し、前述の方法２を用いるように設定されている場合には、変数PortNoの値ｊ（ｊ：１以上１６以下の整数）を含む指示データをＰＬＣ２００に送信する。
【０１０６】
図７及び図８の（ａ）からわかるように、EC_IOLWRITE（NX_IOLWRITE）は、指示データに含まれている変数PortNoの値が"0"である場合には設定データファイルに含まれるポート番号に基づいて宛先を特定し、変数PortNoの値が"0"でない場合には変数PortNoの値に基づいて宛先を特定する（対象特定ステップ）。
【０１０７】
（変数IDcheckについて）
変数IDcheckは、前記照合処理を実行すべきか否かを判定するためにEC_IOLWRITE及びNX_IOLWRITEが参照する変数である。即ち、変数IDcheckは、前述の「所定の入力変数」である。
【０１０８】
ＨＭＩ１０は、照合処理の実行を有効にする設定がされている場合には変数IDcheckの値"FALSE"（前述の「所定の値」）を含む指示データをＰＬＣ２００に送信し、照合処理の実行を無効にする設定がされている場合には変数IDcheckの値"TRUE"を含む指示データをＰＬＣ２００に送信する。
【０１０９】
図７及び図８の（ａ）からわかるように、EC_IOLWRITE（NX_IOLWRITE）は、変数IDcheckの値が"FALSE"である場合には前記照合処理を実行すべきであると判定し、変数IDcheckの値が"TRUE"である場合には前記照合処理を実行すべきでないと判定する。
【０１１０】
EC_IOLWRITE（NX_IOLWRITE）は、前記照合処理を実行すべきであると判定した場合には、前記照合処理を実行する（機器照合ステップ）。
【０１１１】
EC_IOLWRITE（NX_IOLWRITE）は、機器照合ステップにて前記照合処理を実行した結果、設定データファイルに格納されているベンダＩＤが機器４００から取得したベンダＩＤと一致しないか、又は、設定データファイルに格納されているデバイスＩＤが機器４００から取得したデバイスＩＤと一致しない場合には、「照合失敗」を示す情報を出力する。即ち、EC_IOLWRITE及びNX_IOLWRITEは、「照合失敗」を示す出力変数ErrorIDの値を含む、図８の（ｃ）の５つの出力変数の値を出力する。
【０１１２】
一方、EC_IOLWRITE（NX_IOLWRITE）は、機器照合ステップにて前記照合処理を実行した結果、設定データファイルに格納されているベンダＩＤが機器４００から取得したベンダＩＤと一致し、且つ、設定データファイルに格納されているデバイスＩＤと機器４００から取得したデバイスＩＤとが一致する場合には「照合成功」を示す情報を出力する。EC_IOLWRITE（NX_IOLWRITE）は、「照合成功」を示す情報を出力した場合には、設定データファイルをEtherCATネットワーク（制御対象機器と接続されているスレーブ機器）に送信する。
【０１１３】
（その他の変数について）
入力変数FileNameは、EC_IOLWRITE（NX_IOLWRITE）が記憶部２４０から読み出して制御対象機器に送信すべき前述の「特定の設定データファイル」（即ち、制御対象機器がリストアすべき設定データファイル）のファイル名を示す変数である。
【０１１４】
以上、指示データ及び設定値書込用ＦＢの詳細について説明した。
【０１１５】
設定値書込用ＦＢが以上の処理を実行した結果、制御対象機器は、リストアすべき設定データファイルの受信及び記録を行い、リストアした設定データファイルに基づいて自機の動作設定値を変更することになる。即ち、制御対象機器は、現場担当者の所望する動作を行うことになる。
【０１１６】
＜実施形態２＞
以下、更に図９を参照して、本発明の別の一実施形態に係る産業用ネットワークシステムについて説明する。なお、説明の便宜上、実施形態１にて説明した部材と全く同じ機能又は略同じ機能を有する部材については、基本的には、同じ符号を付記した上でその説明を省略する。
【０１１７】
図９は、本実施形態に係る産業用ネットワークシステムの構成を示した図である。
【０１１８】
図９に示すように、本実施形態に係る産業用ネットワークシステム１’には、実施形態１に係るＰＣ１００の代わりに、ＰＣ１００’が含まれている。
【０１１９】
ＰＣ１００’は、ＰＣ１００と以下の点で相違している。
【０１２０】
即ち、ＰＣ１００’のツールアプリケーションは、ユーザが図４の画面において機器４００を選択する操作を行った場合、図５の画面にダウンロード用の第４のボタン及び第５のボタンを設けたものに相当する画面を表示する。
【０１２１】
そして、ツールアプリケーションは、ＰＣ１００’と制御対象機器とがケーブルで直接接続されている状態において前記第４のボタン又は前記第５のボタンが押された場合、以下の処理を行う。
【０１２２】
即ち、前記第４のボタンが押された場合、ツールアプリケーション（変更データ生成部）は、所定の一部の項目の情報を含む動作設定値変更データを生成し、生成した動作設定値変更データを機器４００に送信（ダウンロード）する。
【０１２３】
同様に、前記第５のボタンが押された場合、ツールアプリケーション（変更データ生成部）は、変更されていない項目の動作設定値を含まず、変更された項目の動作設定値を含む動作設定値変更データを生成し、生成した動作設定値変更データを機器４００に送信（ダウンロード）する。
【０１２４】
（実施形態１、２に関する変形例１）
産業用ネットワークシステムが設置されている現場は、複数の区画に区分されていてもよい。そして、各区画には、１台の機器４００又は同じ種類の複数台の機器４００が設置されていてもよい。
【０１２５】
この場合、ＨＭＩ１０は、前記複数の区画の各々について、対象の区画内に設置されている全ての機器４００（制御対象機器）に所望の動作を行わせるためのＵＩ部品を表示してもよい。また、システム管理者は、ＰＬＣ２００が機器４００の宛先を特定するための方法として前述の方法２を用いるように産業用ネットワークシステムを設定してもよい。
【０１２６】
現場担当者が特定のＵＩ部品をタップする操作を行うと、ＨＭＩ１０は、そのＵＩ部品に対応する区画内の全ての機器４００（Ｑ台の制御対象機器）について「機器４００のノードアドレスを示す変数NodeAdrの値」を含むような指示データを生成してもよい。
【０１２７】
ＰＬＣ２００がＨＭＩ１０が生成した指示データを取得すると、宛先特定部２１３２は、指示データに含まれるＱ個の変数NodeAdrの各値（別途指定される情報）を参照し、この情報に基づいて、制御対象機器の宛先を複数（Ｑ個）特定してもよい。
【０１２８】
なお、本変形例では、システム管理者は、区画毎に、現場担当者が対象の区画に設置されている機器４００に実行させることを所望する動作の種類の数と同数の設定データファイルを作成すればよい。
【０１２９】
即ち、本変形例では、システム管理者は、機器毎に、現場担当者が対象の機器４００に実行させることを所望する動作の種類の数と同数の設定データファイルを作成する必要はない。
【０１３０】
従って、本変形例では、システム管理者は、少ない手間で、必要な全ての設定データファイルを作成することができる。
【０１３１】
（実施形態１、２に関する変形例２）
実施形態１、２では、機器照合部２１３１は、設定データファイルに格納されているベンダＩＤが機器４００から取得したベンダＩＤと一致し、且つ、設定データファイルに格納されているデバイスＩＤ（機器ＩＤ情報）が機器４００から取得したデバイスＩＤと一致する場合に「照合成功」を示す情報を出力し、そうでない場合に「照合失敗」を示す情報を出力するものした。しかしながら、本発明はそのような構成には限定されず、以下に説明する変形例に係る構成も本発明の範囲に含まれる。
【０１３２】
本変形例に係るシステムは、以下の点で実施形態１、２のシステムと異なっている。
【０１３３】
即ち、設定データファイルには、実施形態１、２の設定データファイルに記述されている各種情報（機器４００が該当する型式に固有のデバイスＩＤ等）に加えて、機器４００に固有のシリアル番号が記述されている。
【０１３４】
そして、本変形例では、照合処理の実行を有効にする設定がされている場合、機器照合部２１３１は、以下の３つの条件を満たすときに、「照合成功」を示す情報を出力し、そうでないときに「照合失敗」を示す情報を出力するようになっている。
（条件１）設定データファイルに格納されているベンダＩＤが機器４００から取得したベンダＩＤと一致する
（条件２）設定データファイルに格納されているデバイスＩＤが機器４００から取得したデバイスＩＤと一致する
（条件３）設定データファイルに格納されているシリアル番号が機器４００から取得したシリアル番号と一致する
なお、以下の機器照合部を含むＰＬＣも本発明の範囲に含まれる。
【０１３５】
即ち、条件１〜条件３のうちの任意の１つ（例えば、条件２若しくは条件３）又は任意の２つの条件を満たす場合に「照合成功」を示す情報を出力し、そうでない場合に「照合失敗」を示す情報を出力する機器照合部を含むＰＬＣも本発明の範囲に含まれる。
【０１３６】
（実施形態１、２に関する付記事項１）
実施形態１、２に係るシステムには、EtherCATスレーブとして機能すると共にIO-Linkマスタとして機能するスレーブ装置（機器３００−１、機器３００−２等）と、EtherCATスレーブとしては機能するが、IO-Linkマスタとしては機能しないスレーブ装置（機器５００等）と、が含まれていた。
【０１３７】
しかしながら、本発明は、実施形態１、２に係るシステムには限定されない。
【０１３８】
即ち、システムに含まれる全てのスレーブ装置（EtherCATスレーブとして機能する装置）は、IO-Linkマスタとして機能する装置であってもよい。あるいは、システムに含まれる全てのスレーブ装置は、IO-Linkマスタとしては機能しない装置であってもよい。換言すれば、本発明において、IO-Linkマスタ及びIO-Linkデバイスは必須ではない。
【０１３９】
（実施形態１、２に関する付記事項２）
実施形態１及び２に係るＰＬＣ２００は、前述の課題１及び課題２を解決するプログラマブルロジックコントローラであるが、本発明に係るプログラマブルロジックコントローラは、ＰＬＣ２００には限定されない。
【０１４０】
例えば、本発明に係るプログラマブルロジックコントローラの範囲には、前記課題１を解決するが前記課題２を解決しないＰＬＣ（即ち、宛先特定部２１３２を備えるが、機器照合部２１３１を備えていないＰＬＣ）や前記課題２を解決するが前記課題１を解決しないＰＬＣ（機器照合部２１３１を備えるが、宛先特定部２１３２を備えていないＰＬＣ）も本発明の範疇に含まれる。
【０１４１】
＜実施形態３＞
実施形態１、２のＰＣ（ＰＣ１００、１００’）及びＰＬＣ２００の制御ブロック（特に、設定データ生成処理部１１１、送信処理部１１２、及び、ＦＢ処理部２１３）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【０１４２】
後者の場合、ＰＣ及びＰＬＣは、各機能を実現するソフトウェアであるプログラムの命令を実行するＣＰＵ、前記プログラム及び各種データがコンピュータ（又はＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）又は記憶装置（これらを「記録媒体」と称する）、前記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（又はＣＰＵ）が前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【０１４３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
【産業上の利用可能性】
【０１４４】
本発明は、産業用ネットワークシステムに好適に利用することができる。
【符号の説明】
【０１４５】
１００、１００’      ＰＣ
１１０                  ＣＰＵ
１１１                    設定データ生成処理部
１１２                    送信処理部
１１１１                    表示入力制御部
１１１２                    ＩＯＤＤファイル取得処理部
２００                ＰＬＣ（プログラマブルロジックコントローラ）
２１０                  ＣＰＵ
２１３                    ＦＢ処理部（ＦＢ実行部）
２１３１                    機器照合部
２１３２                    宛先特定部（対象特定部）
２４０                  記憶部
３００−１、３００−２  スレーブ機器（スレーブ装置）
４００                IO-Linkデバイス（制御対象機器）
【図１】
0006443190.tif 000002
【図２】
0006443190.tif 000003
【図３】
0006443190.tif 000004
【図４】
0006443190.tif 000005
【図５】
0006443190.tif 000006
【図６】
0006443190.tif 000007
【図７】
0006443190.tif 000008
【図８】
0006443190.tif 000009
【図９】
0006443190.tif 000010