(57)【要約】各スレーブユニットの機器情報を取得し、各スレーブユニットの機器情報、定義ファイルの情報から各スレーブユニットをグループ分けし、マスターユニットからスレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成する際、各スレーブユニットの制御データが格納されるデータフレームに含まれるデータフィールドであって、フレームの転送異常によりデータが無効化される単位毎のデータフィールドをグループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する。
2015166953.tif 000002
【特許請求の範囲】
【請求項１】
マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援装置であって、
前記マスターユニットと接続される、各スレーブユニットの機器情報を取得する機器情報取得部と、
機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部と、
前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けするグループ判定部と、
前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成する設定部とを備え、
前記設定部は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
設計支援装置。
【請求項２】
前記グループ判定部は、前記機器情報から得られる前記各スレーブユニットの動作内容の情報から、前記各スレーブユニットを動作内容別にグループ分けを行い、
前記設定部は、前記データフィールドを、動作内容別に分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
請求項１に記載の設計支援装置。
【請求項３】
前記グループ判定部は、前記機器情報から得られる前記各スレーブユニットの動作内容が異常を感知すると自動停止するものか否かの属性の情報から、前記各スレーブユニットのグループ分けを行い、
前記設定部は、前記データフィールドを、異常を感知すると自動停止する安全機器と否の非安全機器とに分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
請求項１または２に記載の設計支援装置。
【請求項４】
マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援方法であって、
前記マスターユニットと接続される、各スレーブユニットの機器情報を取得し、
機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部に格納されている、前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けし、
前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成し、
前記設定情報を生成する際は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
設計支援方法。
【請求項５】
前記グループ分けの際は、前記機器情報から得られる前記各スレーブユニットの動作内容の情報から、前記各スレーブユニットを動作内容別にグループ分けを行い、
前記フォーマットの生成の際は、前記データフィールドを、動作内容別に分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
請求項４に記載の設計支援方法。
【請求項６】
前記グループ分けの際は、前記機器情報から得られる前記各スレーブユニットの動作内容が異常を感知すると自動停止するものか否かの属性の情報から、前記各スレーブユニットのグループ分けを行い、
前記フォーマットの生成の際は、前記データフィールドを、異常を感知すると自動停止する安全機器と否の非安全機器とに分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する、
請求項４または５に記載の設計支援方法。
【請求項７】
マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援プログラムであって、
コンピュータに、
前記マスターユニットと接続される、各スレーブユニットの機器情報を取得する処理と、
機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部に格納されている、前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けする処理と、
前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成する処理とを実行させ、
前記設定情報を生成する処理を実行させる際は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する処理と、を実行させる
設計支援プログラム。
【請求項８】
前記グループ分けの際は、前記機器情報から得られる前記各スレーブユニットの動作内容の情報から、前記各スレーブユニットを動作内容別にグループ分けを行わせ、
前記フォーマットの生成の際は、前記データフィールドを、動作内容別に分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成させる、
請求項７に記載の設計支援プログラム。
【請求項９】
前記グループ分けの際は、前記機器情報から得られる前記各スレーブユニットの動作内容が異常を感知すると自動停止するものか否かの属性の情報から、前記各スレーブユニットのグループ分けを行わせ、
前記フォーマットの生成の際は、前記データフィールドを、異常を感知すると自動停止する安全機器と否の非安全機器とに分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成させる、
請求項７または８に記載の設計支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、設計支援装置、設計支援方法およびプログラムを開示する。
【背景技術】
【０００２】
近年、ＦＡ（Factory Automation）機器等の各種機器をネットワーク経由で制御する技術が普及している。設備の制御を司るネットワークのプロトコルには様々なものが提案されており、近年では、例えば、ＥｔｈｅｒＣＡＴ（Ｅｔｈｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ａｕｔｏｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）（ＥｔｈｅｒＣＡＴとＥｔｈｅｒｎｅｔは何れも登録商標）と呼ばれるプロトコルが注目されている（例えば、特許文献１−２を参照）。ＥｔｈｅｒＣＡＴは、上位のマスターユニットから送られるフレームが、ネットワークに繋がる下位の全てのスレーブユニットを順に通過させることでハンドシェイクを省略し、高速な通信を実現可能にしたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５１９５９５５号公報
【特許文献２】特開２０１３−９０３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
マスターユニットから送られるフレームを各スレーブユニットが順に転送するネットワークのプロトコルにおいては、フレームの転送が各スレーブユニットで正常になされたか否かの診断が行われる。よって、このようなプロトコルの下、各々のスレーブユニットの制御に関わる全ての制御情報を１つのフレームに含めた通信が行われている場合に、スレーブユニットのネットワークからの離脱あるいはネットワークへの加入により、スレーブユニットにおけるフレームの転送に異常があるとの診断がなされると、ネットワークに繋がる全てのスレーブユニットの動作に影響が及び得る。【０００５】
そこで、本願は、マスターユニットから送られるフレームを各スレーブユニットが順に転送するネットワークにおいて、スレーブユニットにおけるフレームの転送に異常があった場合に影響が及ぶスレーブユニットの範囲を限定するフレームのフォーマットを容易に生成できる設計支援装置、設計支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、マスターユニットから送られるフレームを順に転送する各スレーブユニットの機器情報、ネットワークの構成情報からスレーブユニットが属するグループの情報を記述した定義ファイルの情報から各スレーブユニットをグループ分けし、各スレーブユニットの制御データが格納されるデータフレームに含まれるデータフィールドであって、フレームの転送異常によりデータが無効化される単位毎のデータフィールドをグループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成することにした。【０００７】
詳細には、マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援装置であって、前記マスターユニットと接続される、各スレーブユニットの機器情報を取得する機器情報取得部と、機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部と、前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けするグループ判定部と、前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成する設定部とを備え、前記設定部は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する。【０００８】
上記設計支援装置が設定情報を生成するフレームのフォーマットには、マスターユニットから送られるフレームの様式のみならず、フォーム内に割り付けられる各スレーブユニットの制御データの割り付け方に関する規定が含まれる。上記設計支援装置は、マスターユニットから送られるフレームを順に転送する各スレーブユニットについて、各スレーブユニットの機器情報、ネットワークの構成情報からスレーブユニットが属するグループの情報を記述した定義ファイルの情報からグループ分けを行う。機器情報とは、スレーブユニットに関する情報であり、例えば、スレーブユニットの属性や動作内容に関する情報を挙げることができる。そして、上記設計支援装置は、各スレーブユニットの制御データが格納されるデータフィールドを有するフレームのフォーマットで送信されるような設定情報を生成する。このデータフィールドは、フレームの転送異常によりデータが無効化される単位毎に確保されるものであり、１つのフレーム内でグループ毎に確保される。【０００９】
このように、上記設計支援装置であれば、各スレーブユニットのグルーピングが自動的に行われる。このため、フレームのフォーマットを設定するための高度なプロトコルの知識が無く、機器間がどのようなネットワークのトポロジで構成されているか、どのような接続形態となっているか等のネットワークの詳細な構成や各スレーブユニットの情報の把握が困難な場合であっても、スレーブユニットにおけるフレームの転送に異常があった場合に影響が及ぶスレーブユニットの範囲を限定するフレームのフォーマットを容易に生成することができる。【００１０】
なお、前記グループ判定部は、前記機器情報から得られる前記各スレーブユニットの動作内容の情報から、前記各スレーブユニットを動作内容別にグループ分けを行い、前記設定部は、前記データフィールドを、動作内容別に分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成するものであってもよい。上記グループ分けが各スレーブユニットの動作内容別に行われれば、動作内容の関連性が低いスレーブユニットの制御データ同士が別々のデータフィールドに分けられるので、データの無効化により影響が及ぶスレーブユニットの範囲を動作内容別に限定することができる。【００１１】
また、前記グループ判定部は、前記機器情報から得られる前記各スレーブユニットの動作内容が異常を感知すると自動停止するものか否かの属性の情報から、前記各スレーブユニットのグループ分けを行い、前記設定部は、前記データフィールドを、異常を感知すると自動停止する安全機器と否の非安全機器とに分けられた前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成するものであってもよい。上記グループ分けが自動停止する安全機器か否かという観点の下で行われれば、安全性に関わるスレーブユニットの制御データと安全性に関わらないスレーブユニットの制御データが別々のデータフィールドに分けられるので、データの無効化により影響が及ぶスレーブユニットの範囲を安全性に関わるものの範囲と否のものの範囲とに限定することができる。【００１２】
なお、本発明は、方法の側面から捉えることもできる。例えば、本発明は、マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援方法であって、前記マスターユニットと接続される、各スレーブユニットの機器情報を取得し、機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部に格納されている、前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けし、前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成し、前記設定情報を生成する際は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成するものであってもよい。【００１３】
また、本発明は、プログラムの側面から捉えることもできる。例えば、本発明は、マスターユニットとネットワークを介して接続されるスレーブユニットのネットワークの通信の設定を行う設計支援プログラムであって、コンピュータに、前記マスターユニットと接続される、各スレーブユニットの機器情報を取得する処理と、機器情報またはネットワークの構成情報から前記スレーブユニットが属するグループの情報を記述した定義ファイルを格納する格納部に格納されている、前記各スレーブユニットの機器情報、定義ファイルの情報から、前記各スレーブユニットをグループ分けする処理と、前記マスターユニットから前記スレーブユニットに送信されるデータフレーム生成を含む通信動作を規定する設定情報を生成する処理とを実行させ、前記設定情報を生成する処理を実行させる際は、前記各スレーブユニットの制御データが格納される前記データフレームに含まれるデータフィールドであって、前記フレームの転送異常によりデータが無効化される単位毎のデータフィールドを前記グループ毎に確保したフレームのフォーマットで送信されるような設定情報を生成する処理と、を実行させるものであってもよい。
【発明の効果】
【００１４】
上記設計支援装置、方法およびプログラムであれば、マスターユニットから送られるフレームを各スレーブユニットが順に転送するネットワークにおいて、スレーブユニットにおけるフレームの転送に異常があった場合に影響が及ぶスレーブユニットの範囲を限定するフレームのフォーマットを容易に生成できる。
【図面の簡単な説明】
【００１５】
【図１】図１は、ＰＬＣ（Programmable logic controller）システムの全体構成の一例を示した図である。
【図２】図２は、本発明の実施の形態に係る設計支援装置のハードウェア構成を示す模式図である。
【図３】図３は、ＣＰＵユニットのハードウェア構成の一例を示した図である。
【図４】図４は、ＣＰＵユニットにおいて実現される機能ブロックの一例を示した図である。
【図５】図５は、ＣＰＵユニットにおいて実現される処理フローの一例を示した図である。
【図６】図６は、操作部が出力する設計支援用の表示画面の一例を示した図である。
【図７】図７は、各ユニットをグループ分けする際の各グループの加入条件を示した表の一例である。
【図８】図８は、各グループをユニットの属性毎に整理した表の一例を示した図である。
【図９】図９は、操作部が出力する設計支援用の表示画面の第２例を示した図である。
【図１０】図１０は、フレーム生成部が生成するフレームの一例を示した図である。
【図１１】図１１は、スレーブユニットの割り当ての内訳の一例を示した図である。
【図１２】図１２は、ネットワークを構成する各ノードを巡回する過程において、フレーム内のＷＫＣが変化する様子の一例を示した図である。
【図１３Ａ】図１３Ａは、第１例に係る定義ファイルの内容を示した図である。
【図１３Ｂ】図１３Ｂは、第２例に係る定義ファイルの内容を示した図である。
【図１３Ｃ】図１３Ｃは、第３例に係る定義ファイルの内容を示した図である。
【図１３Ｄ】図１３Ｄは、第４例に係る定義ファイルの内容を示した図である。
【発明を実施するための形態】
【００１６】
以下、本願発明の実施形態について説明する。以下に示す実施形態は、本願発明の一態様であり、本願発明の技術的範囲を限定するものではない。
【００１７】
図１は、ＰＬＣシステムの全体構成の一例を示した図である。ＰＬＣシステムＳは、ＰＬＣ１と、ネットワーク２を経由して接続されるスレーブユニット３とを有する。ＰＬＣ１には、設計支援装置４が接続される。
【００１８】
ＰＬＣ１は、各種の演算処理を実行するＣＰＵ（Central Processing Unit）ユニット５やＩＯ（Input/Output）ユニット６、特殊ユニット７を有する。ＣＰＵユニット５やＩＯユニット６、特殊ユニット７は、ＰＬＣシステムバス８を介してデータを互いに遣り取りできるように構成される。ＣＰＵユニット５やＩＯユニット６、特殊ユニット７には、電源ユニット９から適切な電圧の電力が供給される。
【００１９】
ＩＯユニット６は、各種の入出力処理を司るユニットである。ＩＯユニット６は、例えば、検出スイッチ等のセンサ類から出力される信号を取得し、或いは、リレーやアクチュエータといった各種デバイスに対して信号を出力する。特殊ユニット７は、アナログデータの入出力や温度制御、特定の通信方式による通信といった、ＩＯユニット６ではサポートしない各種機能の実現を司るユニットである。
【００２０】
ネットワーク２は、ＣＰＵユニット５と各スレーブユニット３との間で取り交わされる各種データが伝送される通信線である。ネットワーク２では、ＣＰＵユニット５から送られるフレームが各スレーブユニット３により順に転送される。ＣＰＵユニット５から送られるフレームを各スレーブユニット３が順に転送する通信方式に準拠するプロトコルとしては、例えば、ＥｔｈｅｒＣＡＴを挙げることができる。
【００２１】
なお、図１では、ＰＬＣシステムバス８およびネットワーク２の両方を有するＰＬＣシステムＳを例示しているが、本実施形態は、例えば、ＩＯユニット６および特殊ユニット７をネットワーク２経由でＣＰＵユニット５に接続してもよい。
【００２２】
ＰＬＣシステムＳにおいては、ＰＬＣ１のＣＰＵユニット５がＥｔｈｅｒＣＡＴにおけるマスターユニットとして機能する。よって、ＰＬＣ１は、本願でいう「マスターユニット」の一例に相当する。しかし、本実施形態は、例えば、ＣＰＵユニット５の代わりに他のユニットがＥｔｈｅｒＣＡＴにおけるマスターユニットとして機能するものを排除するものではない。
【００２３】
ＰＬＣシステムＳは、例えば、各種の工業製品を製造する製造工場や、原材料に対する各種の化学プロセスが施される化学プラント、その他の各種機械設備類に適用可能である。
【００２４】
図２は、本発明の実施の形態に係る設計支援装置４のハードウェア構成を示す模式図である。図２を参照して、設計支援装置４は、典型的には、汎用のコンピュータで構成される。
【００２５】
図２を参照して、設計支援装置４は、ＯＳを含む各種プログラムを実行するＣＰＵ４１と、ＢＩＯＳや各種データを格納するＲＯＭ（Read Only Memory）４４と、ＣＰＵ４１でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリＲＡＭ４３と、ＣＰＵ４１で実行されるプログラムなどを不揮発的に格納するハードディスク（ＨＤＤ）４２とを含む。
【００２６】
設計支援装置４は、さらに、ユーザからの操作を受け付けるキーボード４５およびマウス４６と、情報をユーザに提示するためのモニタ４７とを含む。設計支援装置４は、ＰＬＣ１などと通信するための通信インターフェイス（ＩＦ）４８、ＣＤ−ＲＯＭにアクセスするＣＤ−ＲＯＭ駆動装置４９を含む。
【００２７】
図３は、ＣＰＵユニット５のハードウェア構成の一例を示した図である。ＣＰＵユニット５は、マイクロプロセッサ５１、チップセット５２、メインメモリ５３、不揮発性メモリ５４、システムタイマ５５、ＰＬＣシステムバスコントローラ５６、フィールドネットワークコントローラ５７、ＵＳＢコネクタ５８を有する。チップセット５２と他のコンポーネントとの間は、各種のバスを介して互いに接続されている。
【００２８】
ＣＰＵユニット５は、リアルタイムＯＳ（Operating System）やＰＬＣ１のシステムプログラム、ユーザプログラム、モーション演算プログラムといった各種のプログラム、及び、システム設定パラメータといった各種データの処理を、システムタイマ５５が発生する割り込み信号を利用しながらマイクロプロセッサ５１が処理することにより、モーション制御サイクルごとの制御動作を実現する。
【００２９】
ＰＬＣシステムバスコントローラ５６は、ＰＬＣシステムバス８を介したデータの遣り取りを制御するコントローラであり、ＰＬＣシステムバス８を介してＩＯユニット６や特殊ユニット７と遣り取りされるデータを一時的に保持したり、保持しているデータの転送を行ったりする。
【００３０】
フィールドネットワークコントローラ５７は、ネットワーク２を介したデータの遣り取りを制御するコントローラであり、ＥｔｈｅｒＣＡＴのプロトコルに従い、ネットワーク２を介して各スレーブユニット３と遣り取りされるデータを一時的に保持したり、保持しているデータの転送を行ったりする。
【００３１】
図４は、設計支援装置４およびＣＰＵユニット５の各々において実現される機能ブロックの一例を示した図である。設計支援装置４の電源がオンになり、ＣＰＵユニット４のＲＡＭ４３にロードされたプログラムをＣＰＵ４１が実行するとツール機能部１０が実現される。また、ＰＬＣ１の電源がオンになり、ＣＰＵユニット５のメインメモリ５３にロードされたプログラムをマイクロプロセッサ５１が実行するとＰＬＣ機能部２０が実現される。
【００３２】
ツール機能部１０は、ネットワークトポロジの作成を支援するツール類をユーザに提供する機能部であり、機器情報管理部１１や操作部１２、グループ判定部１３、設定情報構築部１４、設定情報出力部１５、使用定義ファイル管理部１７等の各種機能部や定義ファイル群１６を擁する。
【００３３】
機器情報管理部１１は、各スレーブユニット３の型式等の機器情報を取得して管理する。機器情報管理部１１は、機器情報を外部のファイルから読み出して管理してもよいし、或いは自身が管理するファイルから読みだして管理してもよい。機器情報管理部１１は、本願でいう「機器情報取得部」の一例に相当する。
【００３４】
操作部１２は、設計支援装置４の表示装置に表示されるネットワークトポロジの画面を出力し、或いは、設計支援装置４の入力装置におけるユーザからの入力操作を受け付ける。操作部１２が生成するネットワークトポロジの画面には、例えば、スレーブユニット３等の各機器や機器間の接続状況が示される。
【００３５】
グループ判定部１３は、各スレーブユニット３の機器情報、定義ファイルの情報から各スレーブユニット３をグループ分けする。
【００３６】
設定情報構築部１４は、グループ判定部１３によるグループ分けの判定結果に基づいてコンフィグレーションデータを生成する。コンフィグレーションデータは、フレームのフォーマットを規定したデータであり、例えば、グループ毎に確保されるデータフィールドのサイズ、ワーキングカウンタの期待値、各グループに属しているスレーブユニット３のアドレス等を規定したデータである。設定情報構築部１４は、本願でいう「設定部」の一例に相当する。
【００３７】
設定情報出力部１５は、設定情報構築部１４が生成したネットワーク設定のデータやユーザが作成したプログラムをコンパイルし、通信ＩＦ４８を通じてＣＰＵユニット５へ転送する。
【００３８】
定義ファイル群１６は、グループ判定部１３が機器情報から各スレーブユニット３をグループ分けする際のロジック等を記述した一又は複数のファイルであり、例えば、ネットワーク２に接続されている各スレーブユニット３の機器情報またはネットワーク２構成の情報から各スレーブユニット３が属すべきグループの情報を記述したものである。定義ファイル群１６は、ＨＤＤ４２又はＲＯＭ４４等の格納部に格納されている。
【００３９】
使用定義ファイル管理部１７は、操作部１２を介して受け付ける入力に従い、使用する定義ファイルを管理する。
【００４０】
なお、上記のツール機能部１０は、設計支援装置４において実現されるものに限定されるものでなく、例えば、ＣＰＵユニット５において実現されるものであってもよい。
【００４１】
また、設計支援装置４は、ツール機能部１０だけでなく、ユーザからの入力を受け付けて制御プログラムを作成または編集するプログラムエディット機能や、ユニットの複数の動作モードがある場合に当該動作モードの設定を行うユニット設定機能を一体で有していても良い。
【００４２】
次に、ＰＬＣ機能部２０について説明する。ＰＬＣ機能部２０は、ツール機能部１０が提供するツール類を使ってユーザが作成したネットワーク設定に従い、ネットワーク２経由で各スレーブユニット３へ送るフレームを生成する機能を司る機能部であり、設定ファイル読出部２１や起動処理部２２、システム構成認識部２３、アプリデータ生成部２４、フレーム生成部２５等の各種機能部を擁する。
【００４３】
設定ファイル読出部２１は、ツール機能部１０によって作成された設定ファイルの内容を読み出してメインメモリ５３に展開する。設定ファイル読出部２１は、フレーム生成部２５から読出しの要求があると、メインメモリ５３に展開された設定ファイルの内容に関するデータを出力する。
【００４４】
起動処理部２２は、ＰＬＣ１が起動する際に、設定ファイル読出部２１に設定ファイルからシステム構成に関する情報を読み出させ、システム構成認識部２３へ出力させる。
【００４５】
システム構成認識部２３は、ＰＬＣ１が起動する際に設定ファイル読出部２１から出力されるシステム構成に関する情報や、ネットワーク２経由で得られる各スレーブユニット３からの情報に基づき、システム構成の現状を管理する。
【００４６】
アプリデータ生成部２４は、メインメモリ５３の記憶領域から、各スレーブユニット３へ出力する出力データを取り込むとともに、現状のシステム構成においてデータ交換の対象となるスレーブユニット３のデータをフレーム生成部２５に出力する。
【００４７】
フレーム生成部２５は、モーション制御サイクルごとに設定ファイル読出部２１へ読出し要求を行い、設定ファイル読出部２１から出力される設定ファイルの内容に関するデータを参照する。そして、フレーム生成部２５は、アプリデータ生成部２４から出力された出力データを加えたフレームを、設定ファイルに規定された内容のフォーマットに従って生成する。
【００４８】
図５は、設計支援装置４において実現される処理フローの一例を示した図である。以下、設計支援装置４において実現される各処理について、図５のフロー図に沿って説明する。設計支援装置４の電源がオンになり、ＣＰＵ４１によるプログラムの実行によってツール機能部１０が実現されると、設計支援装置４のツール機能部１０は、操作部１２を介してユーザからのネットワークトポロジの変更として新しいユニットの追加及びネットワーク構成の追加の入力を受付、ネットワークトポロジを形成するユニットの変更の有無を確認する（Ｓ１０１）。ツール機能部１０は、操作部１２から指定されたネットワーク構成の入力を受付、機器情報管理部１１から機器情報を読み出す。グループ判定部１３は、読み出した機器情報を用いてネットワークトポロジを形成するユニットをグループ化する（Ｓ１０２）。設定情報構築部１４は、グループ判定部１３によって判定されたグループについてデータグラムを分けるための設定情報を生成する。（Ｓ１０３）
【００４９】
図６は、操作部１２が出力する設計支援用の表示画面の一例を示した図である。操作部１２は、ＰＬＣシステムＳのネットワークトポロジを表したネットワークトポロジ画面を左側に表示し、ネットワークトポロジに追加可能なユニットを並べたユニットリスト画面を右側に表示した設計支援用のＧＵＩ（Graphical User Interface）を表示する。設計支援用の表示画面は、機器情報管理部１１が管理する機器情報等に基づいて生成される。
【００５０】
ユニットリスト画面に表示される各ユニットは、ユニットの名称、及びユニットの属性に関する表示（図６でいう「標準」および「安全」という記載に相当）を付したアイコンとして表示される。各アイコンには、接続ラインが付与されている。接続ラインは、ユニットに設けられている接続インターフェイスのポート数に対応している。ポートには、インポートとアウトポートの２種類がある。インポートは、ネットワークトポロジにおいて自装置よりも上位に位置する上位装置を接続するためのポートであり、各アイコンの左辺から上側へ向かう接続ラインのポートに対応している。上位装置としては、例えば、ＰＬＣ１、或いは、自装置とＰＬＣ１との間に接続されるスレーブユニット３が挙げられる。また、アウトポートは、ネットワークトポロジにおいて自装置よりも下位に位置する下位装置を接続するためのポートであり、各アイコンの左辺から下側へ向かう接続ラインのポートに対応している。下位装置としては、例えば、ネットワークトポロジ上、自装置から見てＰＬＣ１がある側の反対側のポートに接続されるスレーブユニット３が挙げられる。
【００５１】
ネットワークトポロジ画面には、ＰＬＣシステムＳのネットワークを形成するＰＬＣ１や各スレーブユニット３が、１行につき１部品となるように表示される。ネットワークトポロジ画面には、上位装置が上側の行に表示され、下位装置が下側の行に表示される。最も上側の行には、ＰＬＣシステムＳを構成するＥｔｈｅｒＣＡＴにおけるマスターユニットとして機能する設計支援装置４を有するＰＬＣ１が表示される。そして、ＰＬＣ１から見て下位装置にあたる各スレーブユニット３が、順位の高いユニットから順にＰＬＣ１の下側に表示される。ネットワークトポロジ画面では、このように、各スレーブユニット３の接続関係が、スレーブユニット３が配置される行の相違によって視覚的に判りやすいように表示されるので、ユーザは、各スレーブユニット３の接続順序を容易に把握しながらネットワークを設計することができる。
【００５２】
操作部１２は、このような設計支援用の画面を表示し、マウス４６等のポインティングデバイスを使ったユーザ操作を受け付ける。ユーザは、ユニットのアイコンをドラッグアンドドロップする操作を行うことにより、ユニットリストに表示されるユニットのアイコンをネットワークトポロジに加える加入操作を行ったり、ネットワークトポロジからユニットのアイコンを離脱させる離脱操作を行ったりすることができる。図６では、ユニットリストにあるユニットのアイコンをネットワークトポロジに加える操作の様子が例示されている。
【００５３】
設計支援用の上記ＧＵＩにおいて、ユーザがユニットの加入操作あるいは離脱操作を行った場合、ネットワークトポロジを形成するユニットが変更されたことになる。そこで、ユーザによるユニットの加入操作あるいは離脱操作が行われた場合、設計支援装置４では、ネットワークトポロジ内の各ユニットをグループ化する処理がグループ判定部１３によって行われる（Ｓ１０２）。
【００５４】
図７は、各ユニットをグループ分けする際の各グループの加入条件を示した表の一例であり、定義ファイル群１６が擁する定義ファイルの記述内容の一例である。図７に示す「ＴｘＰｄｏ」（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｃｅｓｓ  Ｄａｔａ  Ｏｂｊｅｃｔ）は、スレーブユニットがマスターユニットへ送るプロセスデータのサイズであり、例えば、スレーブユニットの制御状態や現在値等のデータをマスターユニットへ送信するスレーブユニットの場合にはＴｘＰｄｏが０より大きい値になる。図７に示す「ＲｘＰｄｏ」（Ｒｅｃｅｉｖｅ  Ｐｒｏｃｅｓｓ  Ｄａｔａ  Ｏｂｊｅｃｔ）は、スレーブユニットがマスターユニットから受け取るプロセスデータのサイズであり、例えば、制御コマンドや制御目標値等のデータをマスターユニットから受信するスレーブユニットの場合にはＲｘＰｄｏが０より大きい値になる。図７に示す「安全」とは、各スレーブユニットに機器情報の一部として規定されているスレーブユニットの属性の一例であり、異常発生時に自動停止する安全機能を有するユニットが所属する属性である。図７に示す「非安全」は、安全機能を有さないユニットが所属する属性である。機器の動作内容が設備全体の安全性に影響を及ぼし得るユニットには、例えば、ネットワーク２を巡回するフレームによるデータのリフレッシュが一定時間行われない場合に例外動作を実行するウォッチドッグ（Watchdog）が設けられる。また、図７に示す「軸」とは、各スレーブユニットに機器情報の一部として規定されているスレーブユニットの属性の一例であり、連続的な動作を実現するユニットが所属する属性である。図７に示す「非軸」は、「軸」とは反対に、非連続的な動作を実現するユニットが所属する属性である。使用定義ファイル管理部１７が、記述内容が図７の表に示されるような定義ファイルの使用を指定している場合、グループ判定部１３は、ユニットの属性、およびＴｘＰｄｏやＲｘＰｄｏの有無に従って各ユニットをグループ分けすることになる。
【００５５】
図８は、各グループをユニットの属性毎に整理した表の一例を示した図である。グループ判定部１３が、使用定義ファイル管理部１７が指定する定義ファイルの記述内容に従い、各ユニットが所属するグループをユニットの属性毎に整理すると、例えば、図８に示されるように、各グループは４種類に分けられる。
【００５６】
図９は、操作部１２が出力する設計支援用の表示画面の第２例を示した図である。スレーブユニット３は、例えば、一又は複数のユニットを設計支援用のＧＵＩ上でカプラーに組み合わせて構成することができる。カプラーはＰＬＣおよび１または複数のユニットと接続される。カプラーはＰＬＣからデータを受信し、受信したデータをユニットに送信する機能とユニットからデータを受信し、ＰＬＣに送信する機能を有する。カプラーに組み合わせ可能なユニットには、「非安全」に属する標準的なユニットや、「安全」に属するユニット、「軸」に属するユニット（サーボ、モータ等）等が存在する。このように、スレーブユニット３を構成する各ユニットの属性が多岐に渡っていても、図８に示す表に従えば、グループ１〜３、グループ４〜６、グループ７〜９、グループ１０〜１２の４つのうち何れかに属することになる。この例ではカプラーは、組み合わせ可能なユニットを代表する。この例ではユニットの属性が「安全」/「非安全」、「軸」/「非軸」と複数あった場合に当該カプラーが属するグループが決められる例を示す。
【００５７】
例えば、ネットワークトポロジにカプラーが追加された場合、当該カプラーには「軸」に属するユニットおよび「安全」に属するユニットの何れのユニットも組み合わされていない状態なので、図８の表に従えば、当該カプラーはグループ１０〜１２に分類されることになる。ここで、例えば、「安全」に属するユニット（図９の「ユニット（安全）」）が追加された場合、図８の表に従えば、当該カプラーはグループ７〜９に分類されることになる。また、「非安全」に属するユニット（図９の「ユニット（標準）」）が更に追加された場合、図８の表に従えば、当該カプラーはグループ７〜９に分類されたまま変更されない。また、「軸」に属するユニット（図９の「ユニット（軸）」）が更に追加された場合、図８の表に従えば、当該カプラーはグループ１〜３に分類されることになる。このように、各スレーブユニット３の属性は、カプラーに組み合わされるユニットに応じて定まる。
【００５８】
上記に説明したような各グループの加入条件に従い、ネットワークトポロジ内の各ユニットのグループ分けが行われた後は、フレームフォーマットの設定情報を生成する処理が設定情報構築部１４によって行われる（Ｓ１０３）。
【００５９】
図１０は、フレーム生成部２５が生成するフレームの一例を示した図である。ＥｔｈｅｒＣＡＴは、Ｅｔｈｅｒｎｅｔをベースにしたプロトコルであるため、フレーム生成部２５が生成するフレームには、ネットワーク２上の各機器にフレーム送信の開始を認識させるプリアンブルや送信先アドレス、送信元アドレスが格納されるヘッダフィールド（図１０に示す「Ｅｔｈｅｒｎｅｔ  Ｈ．」に相当）、各スレーブユニット３の制御情報等が格納されるデータフィールド（図１０に示す「Ｅｔｈｅｒｎｅｔ  Ｄａｔａ」に相当）、フレームのエラーを検出するためのＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）フィールド（図１０に示す「ＦＣＳ」に相当）が用意されている。「Ｅｔｈｅｒｎｅｔ  Ｄａｔａ」のフィールドには、ＥｔｈｅｒＣＡＴのヘッダフィールド（図１０に示す「ＥｔｈｅｒＣＡＴ  Ｈ．」に相当）およびＥｔｈｅｒＣＡＴのデータフィールド（図１０に示す「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍｓ」に相当）が用意されている。「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍｓ」のフィールドには、１からｎまでｎ個のデータフィールド（図１０に示す１ｓｔからｎｔｈまでの「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」に相当）を用意することができる。各「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」には、ヘッダフィールド（図１０に示す「Ｄａｔａｇ．Ｈｅａｄｅｒ」に相当）、各スレーブユニット３の制御情報等が格納されるデータフィールド（図１０に示す「Ｄａｔａ」に相当）、「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のエラーを検出するためのＷＫＣ（Ｗｏｒｋｉｎｇ  Ｃｏｕｎｔｅｒ）フィールド（図１０に示す「ＷＫＣ」に相当）が各々用意されている。
【００６０】
ＥｔｈｅｒＣＡＴには、「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍｓ」内のデータが対象となるスレーブユニットとのデータ交換が正しく行われたか否かをチェックするためのフィールドであるＷＫＣが「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」毎に用意されている。よって、ＷＫＣが対象となるスレーブユニットとのデータ交換異常を示す「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」が存在し、データが無効として取り扱われる場合であっても、ＷＫＣが対象となるスレーブユニットとのデータ交換異常を示していない他の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータに基づいて行われる制御については正常に行うことができる。
【００６１】
そこで、設定情報構築部１４は、グループ判定部１３が行ったグループ分けの結果に従い、各「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータフィールドに割り当てるスレーブユニット３のデータの割り当てを規定したフレームのフォーマットに関する設定情報を生成する。データの割り当ては、特定の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータフィールドにおけるデータのエラーがＷＫＣによるチェックで発覚し、当該フィールドのデータが無効化された場合に、当該データフィールドのデータの無効化による影響が及ぶスレーブユニットの範囲を限定する観点で行われる。
【００６２】
図１１は、スレーブユニット３の割り当ての内訳の一例を示した図である。図１１に示す例では、「非安全」に属する標準的なユニットのみをカプラーに組み合わせたスレーブユニット３（標準機器）に関わるデータが「１ｓｔ  ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドに割り当てられる。「非安全」に属する標準的なユニットのみをカプラーに組み合わせたスレーブユニット３は、本願でいう「非安全機器」の一例に相当する。また、「安全」に属するユニットが含まれているスレーブユニット３に関わるデータが「２ｎｄ  ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータフィールドに割り当てられる。「安全」に属するユニットが含まれているスレーブユニット３は、異常を感知すると自動停止する安全機能を有し、本願でいう「安全機器」の一例に相当する。設定情報構築部１４によって生成された設定情報の内容は、設定情報出力部１５において生成される設定ファイルに含められ、ＰＬＣ機能部２０へ引き継がれる。この例では、「安全」、「非安全」の例を示したが、「軸」、「非軸」の場合であっても同様である。
【００６３】
このように、上記設計支援装置４であれば、各スレーブユニット３のグルーピングが自動的に行われる。このため、フレームのフォーマットを設定するための高度なプロトコルの知識が無く、ネットワーク２の詳細な構成や各スレーブユニット３の情報の把握が困難な場合であっても、スレーブユニット３におけるフレームの転送に異常があった場合に影響が及ぶスレーブユニット３の範囲を限定するフレームのフォーマットを容易に生成することができる。
【００６４】
なお、ＣＰＵユニット５のＰＬＣ機能部２０では、設計支援装置４のツール機能部１０から引き継がれた設定ファイルが規定するフォーマットに従ったフレームが生成され、ネットワーク２内の通信に用いられる。すなわち、ＰＬＣ機能部２０では、設定ファイルの内容の読み出しが設定ファイル読出部２１において行われ、アプリデータ生成部２４から出力されるデータを設定ファイルの規定に従ってデータフィールドに格納したフレームの生成がフレーム生成部２５において行われる。そして、ＰＬＣ機能部２０において生成されたフレームがネットワーク２内を巡回し、各スレーブユニット３の制御情報が定期的にリフレッシュされる。
【００６５】
図１２は、ネットワーク２を構成する各ノード（スレーブユニット３に対応）を巡回する過程において、フレーム内のＷＫＣが変化する様子の一例を示した図である。例えば、ＰＬＣ１から送られたフレームの各「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のＷＫＣに対し、各ノードを通過する度に適当な値が加算されていくものとする。ＰＬＣ１には、ネットワーク２において最下位に位置するノードから折り返されるフレームの各「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のＷＫＣの期待値が予め設定されている。このようなＥｔｈｅｒＣＡＴのネットワーク２において、最下位に位置するノードからＰＬＣ１へ折り返されたフレーム中の特定の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のＷＫＣが既定の期待値と一致しない場合、当該「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールド内のデータは異常として取り扱われ、当該データは無効化される。よって、無効化されたデータ中に、例えば、制御コマンドや制御目標値が含まれている場合、ネットワーク２に繋がるスレーブユニット３で正常な動作が行われない場合が生じ得る。しかし、ＰＬＣ機能部２０が生成するフレームは、特定の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータフィールドのデータがエラーで無効化されても、データの無効化により影響が及ぶスレーブユニットの範囲が限定されるように、ツール機能部１０がスレーブユニット３のデータをグループ毎に別々の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のデータフィールドに自動的に割り当てている。従って、ユーザは、ネットワーク２の詳細な構成や各スレーブユニット３の情報を詳細に把握しなくても、データの無効化により影響が及ぶスレーブユニット３の範囲を限定的にすることができる。
【００６６】
なお、上記実施形態においては、ＥｔｈｅｒＣＡＴに適用される場合を例にしながら説明したが、上記実施形態は、ＥｔｈｅｒＣＡＴに適用されるものに限定されるものではない。上記実施形態は、マスターユニットから送られるフレームを各スレーブユニットが順に転送するネットワークであればＥｔｈｅｒＣＡＴ以外のプロトコルに適用することも可能である。
【００６７】
以下、グループ判定部１３が参照可能な定義ファイルのバリエーションについて説明する。
【００６８】
図１３Ａは、第１例に係る定義ファイルの内容を示した図である。上記実施形態の定義ファイル群１６には、例えば、以下のような第１例に係る定義ファイルが含まれていてもよい。本第１例に係る定義ファイルは、各ユニットをグループ分けする際のロジックを各ユニットが同期機能を有するものか否かという観点で規定したものであり、例えば、図１３Ａに示すように、同期するユニットの所属をグループ１、同期しないユニットの所属をグループ２とすることを規定している。ユニットには、同期機能を有しており且つ当該同期機能が有効（同期リフレッシュモード）に設定されているもの、同期機能を有しているものの当該同期機能が無効（フリーランモード）に設定されているもの、同期機能自体を有していないものがある。同期機能の有効／無効の設定（モードの設定）は、例えば、ネットワークトポロジの設定時やプログラミングの際に行われる。
【００６９】
このように、本第１例に係る定義ファイルは、同期機能を有しており且つ当該同期機能が有効なものをグループ１とし、それ以外のものをグループ２とすることを規定している。よって、グループ判定部１３が本第１例に係る定義ファイルを参照してグループ分けを行った場合、上記ステップＳ１０３において設定情報構築部１４が設定情報を生成したフレームのフォーマットには、同期するユニット（グループ１）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドと、同期しないユニット（グループ２）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドとが別々に用意されることになる。
【００７０】
このようなフレームのフォーマットに従った通信がネットワーク２で行われれば、特定のデータフィールドでエラーが生じた場合に影響が及ぶユニットの範囲を、同期するユニット同士の範囲内、或いは、同期しないユニット同士の範囲内に留めることができる。
【００７１】
図１３Ｂは、第２例に係る定義ファイルの内容を示した図である。上記実施形態の定義ファイル群１６には、例えば、以下のような第２例に係る定義ファイルが含まれていてもよい。本第２例に係る定義ファイルは、各ユニットをグループ分けする際のロジックを各ユニットの制御周期（データ交換周期）が短いか否かという観点で規定したものであり、例えば、図１３Ｂに示すように、制御周期がＸ以上の出力ユニットや入力ユニットの所属をグループ１、制御周期がＸ未満の出力ユニットや入力ユニットの所属をグループ２とすることを規定している。本第２例に係る定義ファイルにおいてＸは、制御周期の閾値であり、ネットワーク２に接続されている各スレーブユニット３の制御周期に応じて適宜変更してもよいし、既定の固定値が設定されていてもよい。
【００７２】
このように、本第２例に係る定義ファイルは、制御周期が長いものをグループ１とし、それ以外のものをグループ２とすることを規定している。よって、グループ判定部１３が本第２例に係る定義ファイルを参照してグループ分けを行った場合、上記ステップＳ１０３において設定情報構築部１４が設定情報を生成したフレームのフォーマットには、制御周期が長いユニット（グループ１）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドと、制御周期が短いユニット（グループ２）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドとが別々に用意されることになる。なお、本第２例に係る定義ファイルのロジックの内容は、制御周期に応じて各ユニットを３つ以上にグループ分けするものであってもよい。
【００７３】
このようなフレームのフォーマットに従った通信がネットワーク２で行われれば、特定のデータフィールドでエラーが生じた場合に影響が及ぶユニットの範囲を、制御周期が短いユニット同士の範囲内、或いは、制御周期が長いユニット同士の範囲内に留めることができる。
【００７４】
図１３Ｃは、第３例に係る定義ファイルの内容を示した図である。上記実施形態の定義ファイル群１６には、例えば、以下のような第３例に係る定義ファイルが含まれていてもよい。本第３例に係る定義ファイルは、各ユニットをグループ分けする際のロジックを、ネットワーク２の経路上、各ユニットが拡張ユニット以前に位置するのか否かという観点で規定したものであり、例えば、図１３Ｃに示すように、拡張ユニット以前に位置するユニットの所属をグループ１、拡張ユニット以降に位置するユニットの所属をグループ２とすることを規定している。ここで、拡張ユニットとは、ネットワーク２に繋がるスレーブユニット３に接続されるネットワーク機器であり、ネットワーク２の経路上、当該スレーブユニット３の下位に他のユニットを接続してユニットの拡張を可能にする装置である。
【００７５】
このように、本第３例に係る定義ファイルは、各ユニットがネットワーク２の経路上、拡張ユニット以前に位置するものをグループ１とし、それ以外のものをグループ２とすることを規定している。よって、グループ判定部１３が本第３例に係る定義ファイルを参照してグループ分けを行った場合、上記ステップＳ１０３において設定情報構築部１４が設定情報を生成したフレームのフォーマットには、拡張ユニット以前に位置するユニット（グループ１）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドと、拡張ユニット以降に位置するユニット（グループ２）のデータが格納される「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドとが別々に用意されることになる。
【００７６】
このようなフレームのフォーマットに従った通信がネットワーク２で行われれば、特定のデータフィールドでエラーが生じた場合に影響が及ぶユニットの範囲を、拡張ユニット以前に位置するユニット同士の範囲内、或いは、拡張ユニット以降に位置するユニット同士の範囲内に留めることができる。
【００７７】
図１３Ｄは、第４例に係る定義ファイルの内容を示した図である。上記実施形態の定義ファイル群１６には、例えば、以下のような第４例に係る定義ファイルが含まれていてもよい。本第４例に係る定義ファイルは、各ユニットをグループ分けする際のロジックを各ユニットの入出力データのデータサイズ毎にグループ分けするという観点で規定したものであり、例えば、図１３Ｄに示すように、入力データサイズおよび出力データサイズが何れもＸより大きいユニットの所属をグループ１、入力データサイズがＸ以下であり出力データサイズがＸより大きいユニットの所属をグループ２、入力データサイズがＸより大きく出力データサイズがＸ以下のユニットの所属をグループ３、入力データサイズおよび出力データサイズが何れもＸ以下のユニットの所属をグループ４とすることを規定している。本第４例に係る定義ファイルにおいてＸは、データサイズの閾値であり、ネットワーク２に接続されている各スレーブユニット３の入出力データのデータサイズに応じて適宜変更してもよいし、既定の固定値が設定されていてもよい。
【００７８】
このように、本第４例に係る定義ファイルは、入出力データのデータサイズの大小に応じてグループ分けすることを規定している。よって、グループ判定部１３が本第４例に係る定義ファイルを参照してグループ分けを行った場合、上記ステップＳ１０３において設定情報構築部１４が設定情報を生成したフレームのフォーマットには、入出力データのデータサイズの大小に応じた別々の「ＥｔｈｅｒＣＡＴ  Ｄａｔａｇｒａｍ」のフィールドが用意されることになる。なお、本第４例に係る定義ファイルのロジックの内容は、入力データのデータサイズの大小に応じて各ユニットを２つ以上にグループ分けするものであってもよいし、出力データのデータサイズの大小に応じて各ユニットを２つ以上にグループ分けするものであってもよい。また、本第４例に係る定義ファイルのロジックの内容は、３段階以上のデータサイズの大小によって各ユニットをグループ分けするものであってもよい。
【００７９】
このようなフレームのフォーマットに従った通信がネットワーク２で行われれば、特定のデータフィールドでエラーが生じた場合に影響が及ぶユニットの範囲を、入出力データのデータサイズが比較的近似しているユニット同士の範囲内に留めることができる。
【００８０】
《コンピュータが読み取り可能な記録媒体》
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００８１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって非一時的に蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク（ブルーレイは登録商標）、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ（リードオンリーメモリ）等がある。
【符号の説明】
【００８２】
Ｓ・・ＰＬＣシステム；１・・ＰＬＣ；２・・ネットワーク；３・・スレーブユニット；４・・設計支援装置；５・・ＣＰＵユニット；６・・ＩＯユニット；７・・特殊ユニット；８・・ＰＬＣシステムバス；９・・電源ユニット；４１，５１・・マイクロプロセッサ；４２・・ＨＤＤ；４３・・ＲＡＭ；４４・・ＲＯＭ；４５・・キーボード；４６・・マウス；４７・・モニタ；４８・・通信ＩＦ；４９・・ＣＤ−ＲＯＭ駆動装置；５２・・チップセット；５３・・メインメモリ；５４・・不揮発性メモリ；５５・・システムタイマ；５６・・ＰＬＣシステムバスコントローラ；５７・・フィールドネットワークコントローラ；５８・・ＵＳＢコネクタ；１０・・ツール機能部；１１・・機器情報管理部；１２・・操作部；１３・・グループ判定部；１４・・設定情報構築部；１５・・設定情報出力部；１６・・定義ファイル群；１７・・使用定義ファイル管理部；２０・・ＰＬＣ機能部；２１・・設定ファイル読出部；２２・・起動処理部；２３・・システム構成認識部；２４・・アプリデータ生成部；２５・・フレーム生成部
【図１】
2015166953.tif 000003
【図２】
2015166953.tif 000004
【図３】
2015166953.tif 000005
【図４】
2015166953.tif 000006
【図５】
2015166953.tif 000007
【図６】
2015166953.tif 000008
【図７】
2015166953.tif 000009
【図８】
2015166953.tif 000010
【図９】
2015166953.tif 000011
【図１０】
2015166953.tif 000012
【図１１】
2015166953.tif 000013
【図１２】
2015166953.tif 000014
【図１３Ａ】
2015166953.tif 000015
【図１３Ｂ】
2015166953.tif 000016
【図１３Ｃ】
2015166953.tif 000017
【図１３Ｄ】
2015166953.tif 000018
【国際調査報告】
2015166953.tif 000019
2015166953.tif 000020