(57)【要約】  エンジニアリングツールは、第１スレーブユニットを外部ユニットと制御対象機器の制御用データを送受信する代表ユニットとし、第２スレーブユニットを代表ユニットを介して制御対象機器の制御用データを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定部（６０２）と、代表ユニット及び従属ユニットのチャンネルに一連するチャンネルを割り付けるチャンネル割り付け部（６０３）と、外部ユニットから受信した受信データを代表ユニットと従属ユニットとに振り分けるためのデータ受信情報の設定、または代表ユニットが従属ユニット及び自身の送信データを共に外部ユニットへ送信するためのデータ送信情報を設定する送受信設定部（６０５）と、代表ユニットと従属ユニットとを他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定部（６０１）とを備える。
2020079730.tif 000002
【特許請求の範囲】
【請求項１】
制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定部と、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け部と、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定部と、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定部と、
を備えるエンジニアリングツール。
【請求項２】
前記チャンネル割り付け情報と、前記仮想ユニットの保持するデータの種類を設定した出力ユニット保持データと、前記代表ユニットとして設定した第１スレーブユニットの保持する第１スレーブユニット保持データと、前記従属ユニットとして設定した第２スレーブユニットの保持する第２スレーブユニット保持データとに基づいて、前記データ受信情報と前記データ送信情報とを作成するデータ送受信情報作成部をさらに備える、
請求項１に記載のエンジニアリングツール。
【請求項３】
前記仮想ユニットの各チャンネルに実行させる動作を設定するための動作設定情報に基づいて、前記代表ユニットとして設定された第１スレーブユニットと、前記従属ユニットとして設定された第２スレーブユニットとに実行させる動作を設定するための動作パラメータを作成する動作設定パラメータ作成部をさらに備える、
請求項１または２に記載のエンジニアリングツール。
【請求項４】
前記代表ユニットと前記外部ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第１通信パラメータと、前記代表ユニットと前記従属ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第２通信パラメータとを作成する通信パラメータ作成部をさらに備える、
請求項１から３のいずれか一項に記載のエンジニアリングツール。
【請求項５】
前記代表ユニットが、前記従属ユニットとして設定された第２スレーブユニットの動作不良を検出した場合に、前記従属ユニットとして設定された第２スレーブユニットのチャンネルへの制御を前記代表ユニットに停止させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項６】
前記制御対象機器を接続するためのチャンネルを備える第３スレーブユニット及び第４スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する第１従属ユニット及び第２従属ユニットとして設定し、
前記代表ユニットとして設定された第１スレーブユニットが動作不良となった場合に、前記第１従属ユニットまたは前記第２従属ユニットを新たな代表ユニットとして動作させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項７】
請求項１から６のいずれか一項に記載のエンジニアリングツールと、
前記制御対象機器を備える生産ライン装置の配置を設定できる配置設定部、及び、前記生産ライン装置に対して前記仮想ユニットが持つチャンネルを割り当てる入出力割当部を含む配置設定ツールと、
を備えるコンピュータシステム。
【請求項８】
制御対象機器を接続するためのチャンネルを備える代表ユニットと、
前記制御対象機器を接続するためのチャンネルを備え、前記代表ユニットに接続された従属ユニットと、
前記制御対象機器を制御するためのデータを、前記代表ユニットと送受信する外部ユニットと、
を含み、
前記代表ユニットは、前記外部ユニットから受信した受信データを、自身と前記従属ユニットとに振り分け、または、前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するように設定されている、
システム。
【請求項９】
制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定し、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付け、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定し、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する、
方法。
【請求項１０】
コンピュータを、
制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定手段、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け手段、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定手段、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジニアリングツール、コンピュータシステム、システム、方法及びプログラムに関する。
【背景技術】
【０００２】
工場の生産ラインでは、プログラマブルコントローラ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ：以下、ＰＬＣという。）ユニットを使用したシステムにより、生産ライン装置の制御を行っていることが多い。ＰＬＣユニットを使用したシステムでは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）ユニットで実行される制御プログラムに従い、スレーブユニットへの入出力が行われる。このＣＰＵユニットからスレーブユニットへの入出力により、スレーブユニットの各チャンネルに接続された生産ライン装置のセンサ又はモータを含む機器の制御が行われる。【０００３】
生産ラインの変更時には、生産ライン装置からスレーブユニットまでの距離が変わる場合がある。生産ライン装置からスレーブユニットまでの距離が変わると、例えば、生産ラインの変更前には、１台のスレーブユニットに接続されている生産ライン装置の機器を、生産ラインの変更後には、１台のスレーブユニットに全て接続できない場合がある。このような場合には、１台のスレーブユニットを複数台のスレーブユニットに置き換え、複数台のスレーブユニットの各チャンネルに、生産ライン装置の一部の機器を分けて接続する。【０００４】
複数台のスレーブユニットの各チャンネルに、生産ライン装置の一部の機器を分けて接続した場合、複数台のスレーブユニットを連携動作させて、１つの機能を実現することとなる。例えば、特許文献１には、複数台のスレーブユニットを連携動作させて１つの機能を実行するための、シーケンスプログラムを作成するプログラム作成装置の発明が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４６３８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されたプログラム作成装置は、スレーブユニットの設定画面において複数台のスレーブユニットを１台の仮想ユニットに見立て、ユーザに設定操作を行わせる。そして、このプログラム作成装置は、設定された内容とテンプレートとなるシーケンスプログラムとを元に、ＣＰＵユニットに各ユニットへの設定を行わせるためのシーケンスプログラムを作成する。【０００７】
このシーケンスプログラムには、各スレーブユニットのバッファメモリのメモリアドレスが設定されている。このメモリアドレスは、設定値の設定先、ＣＰＵユニットの内部メモリへ格納する値の取得先等として用いられている。【０００８】
このため、複数台のスレーブユニットの何れか、または全てを他のスレーブユニットに置き換える場合には、シーケンスプログラムに設定されたバッファメモリのメモリアドレスを、置き換える他のスレーブユニットのバッファメモリのメモリアドレスに変更する必要がある。このため、スレーブユニットを置き換える際の作業に手間と時間がかかるという問題がある。【０００９】
本発明はこれらの課題を解決するものであり、簡易な作業で１台のスレーブユニットを複数台のスレーブユニットに置き換えることができるエンジニアリングツール、コンピュータシステム、システム、方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達するために、本発明に係るエンジニアリングツールは、代表ユニット設定部と、チャンネル割り付け部と、送受信設定部と、仮想ユニット設定部とを備える。代表ユニット設定部は、制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、代表ユニットを介して制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する。チャンネル割り付け部は、一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、代表ユニットのチャンネルと、従属ユニットのチャンネルとに、一連するチャンネルを割り付ける。送受信設定部は、外部ユニットから代表ユニットが受信した受信データを、自身と従属ユニットとに振り分けるためのデータ受信情報の設定、また、代表ユニットが従属ユニットから自身へ送信された送信データと自身の送信データとを共に、外部ユニットへ送信するためのデータ送信情報を設定する。仮想ユニット設定部は、代表ユニットと従属ユニットとを、一連のチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する。
【発明の効果】
【００１１】
この発明によれば、外部ユニット中の制御プログラムを書き換えることなく、エンジニアリングツールにより、複数台のスレーブユニットを１台の仮想ユニットとして動作させる設定ができる。このため、簡易な作業で１台のスレーブユニットを複数台のスレーブユニットに置き換えることができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１におけるＰＬＣユニットシステムの構成図
【図２】実施の形態１におけるＣＰＵユニットとマスタユニットのハードウエア構成の一例を示すブロック図
【図３】実施の形態１における仮想ユニットのハードウエア構成の一例を示すブロック図
【図４】実施の形態１におけるエンジニアリングツールの概要を示す図
【図５】実施の形態１におけるＰＣのハードウエア構成の一例を示すブロック図
【図６】実施の形態１におけるエンジニアリングツール上でのチャンネル割り付け情報の設定画面を示す図
【図７】実施の形態１におけるエンジニアリングツール上でのデータ受信情報の設定画面を示す図
【図８】実施の形態１におけるエンジニアリングツール上でのデータ送信情報の設定画面を示す図
【図９Ａ】実施の形態１におけるデータ受信情報とデータ送信情報を自動生成するためのデータの構成の一例を示す図
【図９Ｂ】実施の形態１におけるデータ受信情報とデータ送信情報を自動生成するためのデータの構成の一例を示す図
【図９Ｃ】実施の形態１におけるデータ受信情報とデータ送信情報を自動生成するためのスレーブユニットＡのデータの構成の一例を示す図
【図９Ｄ】実施の形態１におけるデータ受信情報とデータ送信情報を自動生成するためのスレーブユニットＢのデータの構成の一例を示す図
【図９Ｅ】実施の形態１における自動生成されたデータ受信情報のデータの構成の一例を示す図
【図９Ｆ】実施の形態１における自動生成されたデータ送信情報のデータの構成の一例を示す図
【図１０】実施の形態１における仮想ユニットの動作設定のデータの構成の一例を示す図
【図１１】実施の形態１における動作パラメータと通信パラメータを作成するエンジニアリングツールの概要を示す図
【図１２Ａ】実施の形態１における代表ユニットの動作パラメータの構成の一例を示す図
【図１２Ｂ】実施の形態１における従属ユニットの動作パラメータの構成の一例を示す図
【図１２Ｃ】実施の形態１における代表ユニットの通信パラメータの構成の一例を示す図
【図１２Ｄ】実施の形態１における従属ユニットの通信パラメータの構成の一例を示す図
【図１３Ａ】実施の形態１における配置設定ツールの画面の構成例を示す図
【図１３Ｂ】実施の形態１における所有するスレーブユニットの情報の一例を示す図
【図１４】実施の形態１における配置設定ツールの概要を示す図
【図１５Ａ】実施の形態１におけるエンジニアリングツールからのプログラムの設定を行う処理設定部を示す図
【図１５Ｂ】実施の形態１における従属ユニットの動作不良発生時及び回復時の制御処理のフローチャート
【図１６】実施の形態２におけるＰＬＣユニットのシステム構成図
【図１７Ａ】実施の形態２におけるＰＬＣユニットのハードウエア構成の一例を示すブロック図
【図１７Ｂ】実施の形態２における第１従属ユニットのハードウエア構成の一例を示すブロック図
【図１７Ｃ】実施の形態２における第２従属ユニットのハードウエア構成の一例を示すブロック図
【図１８】実施の形態２における仮想ユニットと実際のユニットのチャンネル割り付け方法及び代表ユニットの指定方法の一例を示す図
【図１９Ａ】実施の形態２における代表ユニット変更処理のフローチャート
【図１９Ｂ】実施の形態２におけるエンジニアリングツールからのプログラムの設定を行う処理設定部を示す図
【図２０】実施の形態２における代表ユニットを変更した場合の仮想ユニットの概要を示す図
【図２１】実施の形態２における代表ユニットを変更した場合の、仮想ユニットと実際のユニットのチャンネル割り付け方法及び代表ユニットの指定方法の一例を示す図
【発明を実施するための形態】
【００１３】
（実施の形態１）
以下に、実施の形態１に係るエンジニアリングツールについて説明する。エンジニアリングツールは、複数台のスレーブユニットを１台の仮想ユニットとして動作させる設定をすることができるツールである。
【００１４】
図１は、エンジニアリングツールにより設定される仮想ユニットを備えるシステム１の構成を示す図である。システム１は、制御プログラムを実行するＣＰＵユニット２と、ＣＰＵユニット２をネットワークに接続させるマスタユニット３と、マスタユニット３を介してＣＰＵユニット２とデータのやりとりを実行できる仮想ユニット４とを備えている。
【００１５】
ＣＰＵユニット２が実行する制御プロプログラムは、マスタユニット３と仮想ユニット４とをそれぞれ制御するプログラムである。マスタユニット３は、ＣＰＵユニット２をネットワークに接続させるためのユニットである。このＣＰＵユニット２は、直接ネットワークとのやりとりをすることができない。このため、ＣＰＵユニット２は、マスタユニット３を介してネットワークに接続される。また、ＣＰＵユニット２には、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）６が接続される。このＰＣ６には、エンジニアリングツールが備えられている。ＰＣ６及びエンジニアリングツールについては、詳細は後述する。
【００１６】
仮想ユニット４は、ネットワーク用の通信経路１３１を介してマスタユニット３に接続される代表ユニット４０と、代表ユニット４０に通信経路１３０を介して接続される従属ユニット４１を備える。代表ユニット４０と従属ユニット４１は、それぞれスレーブユニットである。ここで、仮想ユニット４は、例えば、１台の８チャンネルを備えるスレーブユニットを、２台の４チャンネルを持つスレーブユニットに置き換えるための仮想ユニット４である。
【００１７】
代表ユニット４０は、図１に示すように、４つの代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄを備えている。代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄは、後述するエンジニアリングツール６００によって、仮想ユニット４の持つ仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄと見なされるように設定される。
【００１８】
従属ユニット４１は、４つの従属チャンネル４１８ａ、４１８ｂ、４１８ｃ、４１８ｄを備えている。従属チャンネル４１８ａ、４１８ｂ、４１８ｃ、４１８ｄは、後述するエンジニアリングツール６００によって、仮想ユニット４の持つ仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈと見なされるように設定される。エンジニアリングツール６００による設定により、仮想ユニット４は、ＣＰＵユニット２とマスタユニット３から見て、８つのチャンネルを備える１台のスレーブユニットとして認識される。
【００１９】
仮想ユニット４の持つ仮想チャンネル１２ａ〜１２ｈには、生産ライン装置５ａ、５ｂ、５ｃ、５ｄ、５ｅ、５ｆ、５ｇ、５ｈが接続されている。この生産ライン装置５ａ〜５ｈには、センサ又はモータを含む各種機器が備えられている。仮想ユニット４は、仮想チャンネル１２ａ〜１２ｈを経由して、生産ライン装置５ａ〜５ｈの持つ各種機器を制御する。なお、生産ライン装置５ａ〜５ｈの持つ各種機器は、本発明に係る制御対象機器の一例である。
【００２０】
以下、代表ユニット４０が持つ代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄを総称して、代表チャンネル４０８と呼ぶ。また、従属ユニット４１が持つ従属チャンネル４１８ａ、４１８ｂ、４１８ｃ、４１８ｄを総称して、従属チャンネル４１８と呼ぶ。仮想ユニット４の持つ仮想チャンネル１２ａ〜１２ｈを総称して、仮想チャンネル１２と呼ぶ。また、生産ライン装置５ａ〜５ｈを総称して、生産ライン装置５と呼ぶ。
【００２１】
マスタユニット３は、仮想ユニット４を介して生産ライン装置５を制御する場合、通信経路１３１を介して代表ユニット４０にデータを送信する。
【００２２】
代表ユニット４０は、マスタユニット３から受信したデータを、代表ユニット４０自身が担当するデータであるか、従属ユニット４１が担当するデータであるかを判別する。代表ユニット４０は、自身が担当すると判別したデータ、即ち、仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄを介して生産ライン装置５の制御に使用すべきデータを、自身の代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄから仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄへ出力する。
【００２３】
代表ユニット４０は、従属ユニット４１が担当すると判別したデータ、即ち、仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈを介して生産ライン装置５の制御に使用すべきデータを従属ユニット４１に送信する。従属ユニット４１は、代表ユニット４０から送信されてきたデータを、自身の従属チャンネル４１８ａ、４１８ｂ、４１８ｃ、４１８ｄから仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈへ出力する。
【００２４】
生産ライン装置５の出力データを仮想ユニット４が受信し、仮想ユニット４からマスタユニット３へ送信する場合も同様である。
【００２５】
具体的には、従属ユニット４１は、自身が担当する仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈを介して、生産ライン装置５から送信されてきたデータを、自身の従属チャンネル４１８ａ、４１８ｂ、４１８ｃ、４１８ｄを介して取得し、代表ユニット４０に送信する。代表ユニット４０は、仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄを介して、生産ライン装置５から送信されてきたデータを、自身の代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄを介して取得する。代表ユニット４０は、仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄを介して受信したデータと、従属ユニット４１から受信したデータとをまとめ、仮想ユニット４の入力データとしてマスタユニット３に送信する。
【００２６】
ＣＰＵユニット２は、自発的に、仮想ユニット４を介して、生産ライン装置５の出力データを取得することを要求する場合、データ取得要求を、マスタユニット３から代表ユニット４０に送信する。代表ユニット４０は、データ取得要求を従属ユニット４１に送信する。このデータ取得要求に従い、従属ユニット４１は、仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈを介して受信したデータを代表ユニット４０に送信する。代表ユニット４０は、仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄを介して受信したデータと従属ユニット４１から受信したデータとを、データ取得要求に対する応答として、マスタユニット３に返送する。マスタユニット３は、受信したデータをＣＰＵユニット２に送信する。
【００２７】
ＣＰＵユニット２は、仮想ユニット４を１台のスレーブユニットとして認識している。このため、ＣＰＵユニット２は、マスタユニット３を経由して、代表ユニット４０と従属ユニット４１のそれぞれに個別にではなく、仮想ユニット４に対して１つの制御指示用の指示データを送信する。代表ユニット４０は、受信した指示データに従って動作を行う。それと共に、代表ユニット４０は、受信した指示データを、必要に応じて従属ユニット４１に転送する。従属ユニット４１は、指示データを代表ユニット４０から受信すると、指示データに従って動作を行う。この指示データは、詳細は後述するが、例えば、図７に示す設定変更要求フラグである。受信した指示データが設定変更要求フラグの場合、代表ユニット４０と従属ユニット４１はそれぞれ、受信した設定変更要求フラグの内容に従って、自身の設定を変更する。
【００２８】
代表ユニット４０と従属ユニット４１が、マスタユニット３を経由してＣＰＵユニット２に状態表示用データを送信する動作も同様である。代表ユニット４０と従属ユニット４１とは、１台の仮想ユニット４として振舞い、代表ユニット４０と従属ユニット４１それぞれが個別に、ＣＰＵユニット２に状態表示用データを送信することはない。代表ユニット４０が、自身の状態表示用データと従属ユニット４１から自身に送信された状態表示用データとを纏め、１つの状態表示用データを生成する。代表ユニット４０は、生成した１つの状態表示用データをマスタユニット３に送信する。なお、状態表示用データは、詳細は後述するが、例えば、図８に示す設定変更完了フラグ、エラー発生フラグ等である。具体的には、従属ユニット４１は、自身の状態表示用データを代表ユニット４０に送信する。代表ユニット４０は、自身の状態表示用データと従属ユニット４１から受信した状態表示用データとを、ＡＮＤ、ＯＲといった論理演算を行って、１つの状態表示用データを生成し、ＣＰＵユニット２に送信する。
【００２９】
図２は、ＣＰＵユニット２とマスタユニット３のハードウエア構成の一例を示す図である。また、図３は、仮想ユニット４のハードウエア構成の一例を示す図である。まず、図２を参照して、ＣＰＵユニット２とマスタユニット３のハードウエアの一例を説明する。ＣＰＵユニット２は、プロセッサ２０と、外部バスインターフェース２１と、ＰＣインターフェース２２と、記憶部２３と、メモリ２４と、内部バス２５とを備える。
【００３０】
プロセッサ２０は、メモリ２４上の制御プログラムを実行する。この制御プログラムは、プロセッサ２０自身を制御すると共に、マスタユニット３及び仮想ユニット４の動作を制御する。外部バスインターフェース２１は、通信経路１３２を介して、後述するマスタユニット３の外部バスインターフェース３１に接続される。ＣＰＵユニット２は、外部バスインターフェース２１を経由してマスタユニット３とデータを送受信する。
【００３１】
ＰＣインターフェース２２には、ＰＣ６が接続される。このＰＣ６には、後述するエンジニアリングツール６００が備えられている。ＰＣインターフェース２２には、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インターフェースといったＰＣ６とデータの送受信が可能なインターフェースを用いることができる。
【００３２】
記憶部２３は、プロセッサ２０が実行する制御プログラムとプロセッサ２０が制御プログラムを実行する際に必要な各種データとを記憶している。記憶部２３には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）といった不揮発性の半導体メモリ、記憶媒体を用いることができる。
【００３３】
メモリ２４は、ＣＰＵユニット２の起動時に、記憶部２３に記憶されている制御プログラムを読み込み、プロセッサ２０に実行させることができるようにする記憶素子である。メモリ２４には、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）といった揮発性または不揮発性の半導体メモリを用いることができる。内部バス２５は、プロセッサ２０と、外部バスインターフェース２１と、ＰＣインターフェース２２と、記憶部２３と、メモリ２４とを接続する。
【００３４】
マスタユニット３は、データの伝送に特化した機能を有する点を除けば、ＣＰＵユニット２と類似の構成を有している。マスタユニット３は、プロセッサ３０と、外部バスインターフェース３１と、記憶部３２と、メモリ３３と、ネットワークインターフェース３４と、内部バス３５とを備える。
【００３５】
プロセッサ３０、記憶部３２、メモリ３３は、データ伝送の機能を実現する点を除けば、プロセッサ２０、記憶部２３、メモリ２４と同様の機能を備える。外部バスインターフェース３１は、通信経路１３２を介して、ＣＰＵユニット２の外部バスインターフェース２１に接続される。外部バスインターフェース３１と外部バスインターフェース２１は、互いにデータを送受信する。ネットワークインターフェース３４は、通信経路１３１を介して仮想ユニット４の第１ネットワークインターフェース４０１に接続される。ネットワークインターフェース３４と第１ネットワークインターフェース４０１は、互いにデータを送受信することができる。
【００３６】
次に、仮想ユニット４のハードウエア構成の一例を、図３を参照して説明する。仮想ユニット４の代表ユニット４０は、プロセッサ４００と、第１ネットワークインターフェース４０１と、第２ネットワークインターフェース４０２と、記憶部４０３と、メモリ４０４と、チャンネルセレクタ４０５と、ＡＤ（Ａｎａｌｏｇ−ｔｏ−Ｄｉｇｉｔａｌ）コンバータ４０６と、内部バス４０７とを備える。
【００３７】
プロセッサ４００は、ＣＰＵユニット２から受信した制御指示用の指示データに基づいて、後述するメモリ４０４上の各種処理のプログラムを実行する。第１ネットワークインターフェース４０１は、図２に示すように、通信経路１３１を介して、マスタユニット３のネットワークインターフェース３４と接続されている。このため、代表ユニット４０は、マスタユニット３のネットワークインターフェース３４を介して、ＣＰＵユニット２から送信される制御指示用の指示データを、第１ネットワークインターフェース４０１で受信する。また、代表ユニット４０は、第１ネットワークインターフェース４０１から、マスタユニット３のネットワークインターフェース３４を介して、ＣＰＵユニット２へ各種データを送信する。
【００３８】
図３に示すように、代表ユニット４０の第２ネットワークインターフェース４０２は、通信経路１３０を介して、従属ユニット４１の第１ネットワークインターフェース４１１に接続されている。このため、代表ユニット４０は、第２ネットワークインターフェース４０２から従属ユニット４１へデータを送信する。また、代表ユニット４０は、従属ユニット４１からのデータを、第２ネットワークインターフェース４０２で受信する。
【００３９】
記憶部４０３には、プロセッサ４００で実行される各種処理のプログラムと、プロセッサ４００で各種処理のプログラムが実行される際に必要な各種データとが記憶されている。記憶部４０３には、ＲＯＭ、不揮発性の半導体メモリ、記憶媒体等を用いることができる。メモリ４０４は、システム１の起動時に、記憶部４０３に記憶されている各種処理のプログラムを読み込み、プロセッサ４００に実行させることができるようにする記憶素子である。メモリ４０４には、ＲＡＭ、揮発性または不揮発性の半導体メモリ等を用いることができる。
【００４０】
チャンネルセレクタ４０５は、代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄに接続されている。チャンネルセレクタ４０５は、プロセッサ４００により実行されるプログラムからの指示に基づいて、代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄの中から、ＣＰＵユニット２から受信した指示データを生産ライン装置５に送信する代表チャンネル４０８を選択する。なお、チャンネルセレクタ４０５には、ＣＰＵユニット２により実行されるプログラムからの指示に基づいて、代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄの中から、ＣＰＵユニット２から受信した指示データを生産ライン装置５に送信する代表チャンネル４０８を選択させてもよい。
【００４１】
ＡＤコンバータ４０６は、生産ライン装置５の出力信号がアナログ信号の場合に、受信したアナログ信号をＣＰＵユニット２へ送信できるデジタルデータに変換する。なお、ＡＤコンバータ４０６は、仮想ユニット４の種類に応じて適宜変更される入出力部品の一例である。ＡＤコンバータ４０６の代わりに、例えば、ＤＡ（Ｄｉｇｉｔａｌ−ｔｏ−Ａｎａｌｏｇ）コンバータ、ＩＯ  ＡＳＩＣ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）を用いることができる。
【００４２】
内部バス４０７は、プロセッサ４００と、第１ネットワークインターフェース４０１と、第２ネットワークインターフェース４０２と、記憶部４０３と、メモリ４０４と、チャンネルセレクタ４０５と、ＡＤコンバータ４０６とを接続するバスである。
【００４３】
仮想ユニット４の従属ユニット４１は、図３に示すように、プロセッサ４１０と、第１ネットワークインターフェース４１１と、第２ネットワークインターフェース４１２と、記憶部４１３と、メモリ４１４と、チャンネルセレクタ４１５と、ＡＤコンバータ４１６と、内部バス４１７とを備える。
【００４４】
第１ネットワークインターフェース４１１は、通信経路１３０を介して代表ユニット４０の第２ネットワークインターフェース４０２と接続されている。このため、従属ユニット４１は、第１ネットワークインターフェース４１１から代表ユニット４０へデータを送信する。また、従属ユニット４１は、代表ユニット４０からのデータを、第１ネットワークインターフェース４１１で受信する。この他の構成については、代表ユニット４０のハードウエア構成と同様であるため説明は省略する。
【００４５】
次に、エンジニアリングツール６００を用いて各種情報を設定する設定方法について説明する。図４は、エンジニアリングツール６００の概要を示す図である。エンジニアリングツール６００は、ＰＣ６に備えられている。ＰＣ６は、制御部６１と、記憶部６２と、表示部６３と、入力部６４と、ＣＰＵユニットインターフェース６５とを備えている。
【００４６】
制御部６１は、エンジニアリングツール６００を動作させる。記憶部６２は、予め作成された、チャンネル割り付け情報２００と、８チャンネル出力ユニット保持データ２０１と、スレーブユニットＡ保持データ２０２と、スレーブユニットＢ保持データ２０３と、データ受信情報３００と、データ送信情報３０２とを記憶している。このチャンネル割り付け情報２００と、８チャンネル出力ユニット保持データ２０１と、スレーブユニットＡ保持データ２０２と、スレーブユニットＢ保持データ２０３は、エンジニアリングツール６００の処理に必要な情報及びデータである。また、データ受信情報３００と、データ送信情報３０２は、後述するエンジニアリングツール６００により作成される情報である。チャンネル割り付け情報２００と、８チャンネル出力ユニット保持データ２０１と、スレーブユニットＡ保持データ２０２と、スレーブユニットＢ保持データ２０３と、データ受信情報３００と、データ送信情報３０２について、詳細は後述する。
【００４７】
表示部６３は、エンジニアリングツール６００の各種設定画面、データを表示することができる表示インターフェース装置である。表示部６３には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）パネル、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）パネルを含む各種表示インターフェース装置を用いることができる。入力部６４は、エンジニアリングツール６００上での各種設定、情報を入力することができる情報入力装置である。入力部６４には、キーボード、マウスを含む各種の情報入力装置を用いることができる。ＣＰＵユニットインターフェース６５は、図２に示したＣＰＵユニット２のＰＣインターフェース２２に接続されている。ＰＣ６は、ＣＰＵユニットインターフェース６５を介してＣＰＵユニット２と各種情報及びデータの送受信を行うことができる。
【００４８】
ここで、エンジニアリングツール６００の動作の概要を説明する。エンジニアリングツール６００は、図４に示すように、仮想ユニット設定部６０１と、代表ユニット設定部６０２と、チャンネル割り付け部６０３と、データ送受信情報作成部６０４と、送受信設定部６０５とを備えている。
【００４９】
仮想ユニット設定部６０１は、チャンネル割り付け情報２００と、８チャンネル出力ユニット保持データ２０１とに基づいて、１つのグループに設定された複数のスレーブユニットを、１台の仮想ユニット４として設定する。なお、仮想ユニット設定部６０１は、本発明に係る仮想ユニット設定手段の一例である。
【００５０】
代表ユニット設定部６０２は、仮想ユニット４を構成する複数のスレーブユニットのうち、１台を代表ユニット４０として設定し、残りを従属ユニット４１として設定する。代表ユニット４０は、仮想ユニット４の外部ユニットであるＣＰＵユニット２及びマスタユニット３と、生産ライン装置５の機器を制御するための設定情報、各種データ等を送受信する。従属ユニット４１は、代表ユニット４０を介して、ＣＰＵユニット２及びマスタユニット３と、生産ライン装置５の機器を制御するための設定情報、各種データ等を送受信する。なお、代表ユニット設定部６０２は、本発明に係る代表ユニット設定手段の一例である。
【００５１】
チャンネル割り付け部６０３は、チャンネル割り付け情報２００と、８チャンネル出力ユニット保持データ２０１とに基づいて仮想ユニット４の送受信部位であるチャンネルを、仮想ユニット４を構成するスレーブユニットの送受信部位であるチャンネルに割り付ける。なお、チャンネル割り付け部６０３は、本発明に係るチャンネル割り付け手段の一例である。
【００５２】
データ送受信情報作成部６０４は、チャンネル割り付け情報２００と８チャンネル出力ユニット保持データ２０１とスレーブユニットＡ保持データ２０２とスレーブユニットＢ保持データ２０３とに基づいて、データ受信情報３００及びデータ送信情報３０２を作成する。データ受信情報３００は、代表ユニット４０と従属ユニット４１とを１つの仮想ユニット４として機能させるために、代表ユニット４０がマスタユニット３から受信したデータのうち、どのデータを従属ユニット４１に送信するかを定義したデータである。データ送信情報３０２は、従属ユニット４１が生産ライン装置５から受信したデータのうち、どのデータを代表ユニットに送信するかを定義したデータである。なお、データ送受信情報作成部６０４は、本発明に係るデータ送受信情報作成手段の一例である。
【００５３】
送受信設定部６０５は、データ送受信情報作成部６０４により作成されたデータ受信情報３００及びデータ送信情報３０２に基づいて、仮想ユニット４の代表ユニット４０と従属ユニット４１との送受信設定と、仮想ユニット４とＣＰＵユニット２及びマスタユニット３との送受信設定とを行う。なお、送受信設定部６０５は、本発明に係る送受信設定手段の一例である。
【００５４】
上述の仮想ユニット設定部６０１と、代表ユニット設定部６０２と、チャンネル割り付け部６０３と、データ送受信情報作成部６０４と、送受信設定部６０５の処理の手順をプログラムにし、エンジニアリングツール６００として制御部６１で動作させることができる。このプログラムは、記憶部６２に記憶される。
【００５５】
ここで、制御部６１のハードウエア構成の一例を、図５を参照しつつ説明する。制御部６１は、プロセッサ６１０と、メモリ６１１と、表示コントローラ６１２と、Ｉ／Ｏポート６１３と、内部バス６１４とを備える。このプロセッサ６１０と、メモリ６１１と、表示コントローラ６１２と、Ｉ／Ｏポート６１３は、内部バス６１４を介して相互に接続されている。
【００５６】
プロセッサ６１０は、記憶部６２に記憶されている各種プログラムを読み出してメモリ６１１に展開し、実行することができる。特に、実施の形態１及び後述する実施の形態２においては、プロセッサ６１０は、エンジニアリングツール６００を動作させるプログラムを記憶部６２から読み出してメモリ６１１に展開し、実行することができる。制御部６１には、例えば、ＣＰＵ、ＭＰＵ（Ｍｉｃｒｏ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）といった演算装置を用いることができる。
【００５７】
メモリ６１１には、例えば、ＲＡＭ、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）メモリといった記憶素子を用いることができる。表示コントローラ６１２は、表示部６３に文字と映像とを表示させるための映像信号を出力するコントローラである。表示コントローラ６１２には、ビデオカード、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、グラフィックボード等の映像信号出力装置を用いることができる。
【００５８】
Ｉ／Ｏポート６１３は、制御部６１に入出力される信号を送受信するためのインターフェースである。制御部６１は、Ｉ／Ｏポート６１３を介して入力部６４と、ＣＰＵユニットインターフェース６５とに接続される。
【００５９】
ユーザは、表示部６３に表示されたエンジニアリングツール６００の設定画面上で、各種情報及びデータを設定することができる。以下に、エンジニアリングツール６００における各種情報及びデータの設定画面の一例を示す。図６は、エンジニアリングツール６００上でのチャンネル割り付け情報２００の設定画面を示す図である。チャンネル割り付け情報２００には、実際のスレーブユニットを、仮想ユニット４として動作させるために必要なチャンネル割り付け、スレーブユニットアドレス、代表ユニット４０の指定を含む設定情報が定義されている。ユーザが、チャンネル割り付け情報２００を設定することにより、仮想ユニット４を構成する実際のスレーブユニットを定めることができる。
【００６０】
まず、仮想ユニット４としては、図６に示すように、チャンネル番号ＣＨ１からチャンネル番号ＣＨ８と、各チャンネルの入出力種類が設定されている。入出力種類には、入力と出力がある。例えば、情報が仮想ユニット４から実際のスレーブユニットへ入力される場合を「入力」とし、情報が実際のスレーブユニットから仮想ユニット４へ出力される場合を「出力」とすることができる。
【００６１】
次に、実際のスレーブユニットとしては、図６に示すように、型名と、チャンネルと、スレーブユニットアドレスと、代表ユニットの指定とが定められている。型名は、実際のスレーブユニットの型名である。ここでは、スレーブユニットＡとスレーブユニットＢとが設定されている。チャンネルは、仮想ユニット４のチャンネルに割り付けられた実際のスレーブユニットのチャンネルである。ここでは、スレーブユニットＡとスレーブユニットＢのチャンネルがそれぞれ、仮想ユニット４のチャンネルに割り付けられて設定されている。スレーブユニットアドレスは、代表ユニット４０と従属ユニット４１のそれぞれを示すアドレスである。マスタユニット３は、このスレーブユニットアドレスによって、データの送信先を定めることができる。また、マスタユニット３は、このスレーブユニットアドレスによって、データの受信元を特定することができる。代表ユニット４０の指定は、実際のスレーブユニットのいずれが代表ユニット４０となるかを指定するものである。ここでは、スレーブユニットＡが、代表ユニット４０として指定されている。
【００６２】
図７に、エンジニアリングツール６００上でのデータ受信情報３００の設定画面を示す。データ受信情報３００は、マスタユニット３から仮想ユニット４へ受信される情報である。このデータ受信情報３００には、マスタユニット３から仮想ユニット４へ受信されるデータの内容と、受信されたデータの仮想ユニット４内の転送先及び転送されるデータの内容と、仮想ユニット４のデータとしての使用可否とが定義されている。
【００６３】
仮想ユニット４内の転送先の指定には、図６に示したスレーブユニットアドレスを用いる。図７に戻る。マスタユニット３から仮想ユニット４に受信されるデータの内容は、例えば、設定変更要求フラグ、仮想ユニット４のチャンネル番号ＣＨ１から生産ライン装置５ａに出力される電圧値、仮想ユニット４のチャンネル番号ＣＨ５から生産ライン装置５ｅに出力される電圧値である。この設定変更要求フラグは、仮想ユニット４の設定を変更させるフラグである。例えば、仮想ユニット４は、ＣＰＵユニット２から設定変更要求フラグを受信すると、設定変更要求フラグの内容に基づいて、代表ユニット４０または従属ユニット４１の設定を変更させる。
【００６４】
仮想ユニット４のデータとしての使用可否は、仮想ユニット４のデータとして使用可能か否かを設定した情報である。この使用可否の値には、ＯＫまたはＮＧが設定される。使用可否の値がＯＫの場合には、仮想ユニット４は、マスタユニット３から受信するデータを、自らのデータとして使用する。また、使用可否の値がＮＧの場合には、仮想ユニット４は、マスタユニット３から受信するデータを、自らのデータとして使用しない。
【００６５】
図８は、エンジニアリングツール６００上でのデータ送信情報３０２の設定画面を示す図である。データ送信情報３０２は、仮想ユニット４からマスタユニット３へ送信される情報である。データ送信情報３０２には、仮想ユニット４からマスタユニット３へ送信されるデータの内容と、送信されるデータの仮想ユニット４内での取得元、取得されるデータの内容及び演算方法と、仮想ユニット４のデータとしての使用可否とが定義されている。
【００６６】
仮想ユニット４内での取得元には、図６に示したスレーブユニットアドレスが設定される。図８に戻る。仮想ユニット４のデータとしての使用可否は、図７と同様に、仮想ユニット４のデータとして使用可能か否かを設定した情報である。使用可否の値がＯＫの場合、仮想ユニット４は、自身の内で取得したデータを、仮想ユニット４のデータとしてマスタユニット３へ送信する。また、使用可否の値がＮＧの場合、仮想ユニット４は、自身の内で最新のデータを取得することができない。このため、仮想ユニット４は、例えば、自身の保持している前回の入力値データ、デフォルト値等を仮想ユニット４のデータとしてマスタユニット３へ送信する。
【００６７】
取得されるデータの演算方法には、代表ユニット４０がデータの内容を演算する際に用いる演算子が設定される。この演算子には、代表ユニット４０及び従属ユニット４１から取得されるデータの各ｂｉｔ位置のｂｉｔデータを、ＡＮＤ演算する「ＡＮＤ」、ＯＲ演算する「ＯＲ」等が用いられる。例えば、代表ユニット４０の取得したデータが１６進数で０ｘ５５、従属ユニット４１の取得したデータが１６進数で０ｘＡＡとする。この場合、この二つのデータをＡＮＤ演算すると０ｘ００、ＯＲ演算すると０ｘＦＦとなる。なお、代表ユニット４０にデータの内容を演算させない場合には、演算子の代わりに「不要」が設定される。また、ＣＰＵユニット２は、仮想ユニット４から取得したデータの演算結果に応じて、制御指示用の指示データを作成する。
【００６８】
図７に示したデータ受信情報３００と図８に示したデータ送信情報３０２とは、エンジニアリングツール６００により、自動で生成することが可能である。ここでは、ＣＰＵユニット２への出力を行う仮想ユニット４を例として、図７に示したデータ受信情報３００と図８に示したデータ送信情報３０２の具体的な生成方法を以下に説明する。
【００６９】
まず、データ受信情報３００とデータ送信情報３０２の生成のために、エンジニアリングツール６００で使用される情報を、図９Ａから図９Ｆを参照しつつ説明する。図９Ａには、チャンネル割り付け情報２００に設定された情報のうち、データ受信情報３００の生成に用いられる受信情報範囲５１０と、データ送信情報３０２の生成に用いられる送信情報範囲５２０とが示されている。
【００７０】
図９Ｂには、８チャンネル出力ユニット保持データ２０１が示されている。８チャンネル出力ユニット保持データ２０１は、エンジニアリングツール６００上で、ユーザにより予め設定されたデータである。８チャンネル出力ユニット保持データ２０１は、仮想ユニット４を８チャンネルのスレーブユニットとした場合に保持されるデータの種類を設定したものである。８チャンネル出力ユニット保持データ２０１に設定されたデータのうち、受信データ範囲５１１はデータ受信情報３００の生成に用いられ、送信データ範囲５２１は、データ送信情報３０２の生成に用いられる。なお、８チャンネル出力ユニット保持データ２０１は、本発明に係る出力ユニット保持データの一例である。
【００７１】
図９Ｃに、スレーブユニットＡ保持データ２０２を示す。スレーブユニットＡは、図９Ａに示したように、仮想ユニット４を構成する実際のスレーブユニットの１つを示す型名である。この型名と関連付けて、実際のスレーブユニットの備えるデータが、図４に示したＰＣ６の記憶部６２に予め記憶されている。ユーザが、エンジニアリングツール６００上でスレーブユニットＡの使用を選択すると、エンジニアリングツール６００内で、スレーブユニットＡ保持データ２０２が生成される。生成されたスレーブユニットＡ保持データ２０２は、図４に示したＰＣ６の記憶部６２に記憶される。スレーブユニットＡ保持データ２０２に設定されたデータのうち受信データ範囲５１２は、図７に示したデータ受信情報３００の生成に用いられる。また、スレーブユニットＡ保持データ２０２に設定されたデータのうち送信データ範囲５２２は、図８に示したデータ送信情報３０２の生成に用いられる。なお、スレーブユニットＡ保持データ２０２は、本発明に係る第１スレーブユニット保持データの一例である。
【００７２】
図９Ｄに、スレーブユニットＢ保持データ２０３を示す。スレーブユニットＢは、図９Ａに示したように、仮想ユニット４を構成する実際のスレーブユニットの１つを示す型名である。この型名と関連付けて、実際のスレーブユニットの備えるデータが、図４に示したＰＣ６の記憶部６２に予め記憶されている。ユーザが、エンジニアリングツール６００上でスレーブユニットＢの使用を選択すると、エンジニアリングツール６００内で、スレーブユニットＢ保持データ２０３が生成される。生成されたスレーブユニットＢ保持データ２０３は、図４に示したＰＣ６の記憶部６２に記憶される。スレーブユニットＢ保持データ２０３に設定されたデータのうち受信データ範囲５１３は、図７に示したデータ受信情報３００の生成に用いられる。また、スレーブユニットＢ保持データ２０３に設定されたデータのうち送信データ範囲５２３は、図８に示したデータ送信情報３０２の生成に用いられる。なお、スレーブユニットＢ保持データ２０３は、本発明に係る第２スレーブユニット保持データの一例である。
【００７３】
次に、エンジニアリングツール６００の動作を、図４、図９Ａから図９Ｄを参照しつつ説明する。ユーザから、図４に示したＰＣ６の入力部６４より仮想ユニット４を８チャンネルの出力ユニットとする指示が入力されると、仮想ユニット４の保持すべきデータが、図９Ｂに示す８チャンネル出力ユニット保持データ２０１のように定められる。
【００７４】
エンジニアリングツール６００の仮想ユニット設定部６０１は、記憶部６２に記憶されているチャンネル割り付け情報２００、８チャンネル出力ユニット保持データ２０１を取得する。仮想ユニット設定部６０１は、図９Ａに示したチャンネル割り付け情報２００に設定された実際のスレーブユニットの型名から、仮想ユニット４を構成する実際のスレーブユニットを特定する。この実際のスレーブユニットは、図１に示すように、マスタユニット３に接続されている複数のスレーブユニットである。また、仮想ユニット設定部６０１は、この型名に関連付けられた実際のスレーブユニットの備えるデータを、図４に示したＰＣ６の記憶部６２から取得する。仮想ユニット設定部６０１は、取得したこの型名に関連付けられた実際のスレーブユニットの備えるデータに基づいて、スレーブユニット保持データを生成する。ここでは、仮想ユニット設定部６０１は、スレーブユニットＡの備えるデータに基づいて図９Ｃに示すスレーブユニットＡ保持データ２０２を生成する。また、仮想ユニット設定部６０１は、スレーブユニットＢの備えるデータに基づいて図９Ｄに示すスレーブユニットＢ保持データ２０３を生成する。
【００７５】
代表ユニット設定部６０２は、図９Ａに示したチャンネル割り付け情報２００のうち、実際のスレーブユニットの代表ユニットの項目に設定された情報に基づいて、複数のスレーブユニットのうちの１台を代表ユニット４０として設定する。ここでは、図９Ａに示したように、スレーブユニットＡが代表ユニット４０に設定されている。
【００７６】
チャンネル割り付け部６０３は、仮想ユニット４のチャンネルを、仮想ユニット４を構成するスレーブユニットＡおよびスレーブユニットＢのチャンネルに割り付ける。これにより、ＣＰＵユニット２からみて、スレーブユニットＡおよびスレーブユニットＢのチャンネルを、仮想ユニット４のチャンネルとして扱うことができる。
【００７７】
データ送受信情報作成部６０４は、図９Ｅに示すデータ受信情報３００及び図９Ｆに示すデータ送信情報３０２を作成する。データ受信情報３００は、図９Ｅに示すように、仮想ユニット４の各チャンネルからの出力値の仮想ユニット４内での転送先が設定されている。具体的には、転送先データ範囲５１４内の情報である。転送先データ範囲５１４内の情報は、データ送受信情報作成部６０４により作成される。データ送受信情報作成部６０４は、図９Ａに示したチャンネル割り付け情報２００の受信情報範囲５１０内の情報と、図９Ｂに示した８チャンネル出力ユニット保持データ２０１の受信データ範囲５１１、図９Ｃに示したスレーブユニットＡ保持データ２０２の受信データ範囲５１２、図９Ｄに示したスレーブユニットＢ保持データ２０３の受信データ範囲５１３に示されたチャンネルデータ、及び使用可否の値に基づいて、転送先データ範囲５１４内の情報を作成する。なお、使用可否の値には、デフォルト値としてＯＫが設定されるものとする。データ送受信情報作成部６０４は、作成された情報を図９Ｅに示したデータ受信情報３００に設定する。
【００７８】
また、データ送信情報３０２は、図９Ｆに示すように、マスタユニット３へ送信するデータの内容と、送信するデータの仮想ユニット４内での取得元、取得されるデータの内容、使用可否の値、演算方法が設定されている。具体的には、設定変更データ範囲５２４内の情報である。この設定変更データ範囲５２４内の情報は、データ送受信情報作成部６０４により作成される。データ送受信情報作成部６０４は、図９Ａに示すチャンネル割り付け情報２００の送信情報範囲５２０内の情報と、図９Ｂに示す８チャンネル出力ユニット保持データ２０１の送信データ範囲５２１、図９Ｃに示すスレーブユニットＡ保持データ２０２の送信データ範囲５２２、図９Ｄに示すスレーブユニットＢ保持データ２０３の送信データ範囲５２３の状態表示データに示された設定変更完了フラグの内容、及び使用可否の値に基づいて、設定変更データ範囲５２４の情報を作成する。なお、使用可否の値には、デフォルト値としてＯＫが設定されるものとする。データ送受信情報作成部６０４は、作成された情報を図９Ｆに示したデータ送信情報３０２に設定する。
【００７９】
データ送受信情報作成部６０４は、作成した図９Ｅに示したデータ受信情報３００と図９Ｆに示したデータ送信情報３０２とを、記憶部６２に記憶する。送受信設定部６０５は、データ送受信情報作成部６０４により作成されたデータ受信情報３００及びデータ送信情報３０２に基づいて、仮想ユニット４の代表ユニット４０と従属ユニット４１との間でのデータの送受信の設定を行う。また、送受信設定部６０５は、データ送受信情報作成部６０４により作成されたデータ受信情報３００及びデータ送信情報３０２に基づいて、仮想ユニット４とＣＰＵユニット２及びマスタユニット３との間のデータの送受信の設定を行う。
【００８０】
なお、上述では、ＣＰＵユニット２への出力を行う仮想ユニット４を例として、データ受信情報３００とデータ送信情報３０２の具体的な生成方法を説明したが、ＣＰＵユニット２から入力が行われる仮想ユニット４の場合も同様である。
【００８１】
また、実際のスレーブユニットを、仮想ユニット４として動作させるためには、各チャンネルに対して動作設定をする必要がある。実際のスレーブユニットに仮想ユニット４としての動作設定をするツールとしては、エンジニアリングツール６００が用いられる。エンジニアリングツール６００について、詳細は後述する。
【００８２】
図１０は、エンジニアリングツール６００上での動作設定情報２１０の設定画面を示す図である。動作設定情報２１０には、仮想ユニット４の各チャンネルに実行させる動作の内容が設定されている。この動作の内容は、ユーザが任意に定めるものである。例えば、図１０に示す動作設定情報２１０には、その動作の内容として、チャンネルの入出力種類、チャンネル接続された生産ライン装置５からの入力値平均処理方法、チャンネル接続された生産ライン装置５の異常信号検出機能が設定されている。この動作設定情報２１０は、図１１に示すように、ＰＣ６の記憶部６２に記憶されている。
【００８３】
また、このエンジニアリングツール６００は、図４に示した仮想ユニット設定部６０１と、代表ユニット設定部６０２等の構成に加え、図１１に示す、動作パラメータ作成部６２１と、通信パラメータ作成部６２２とをさらに備える。なお、ここでは、図４に示した仮想ユニット設定部６０１と、代表ユニット設定部６０２等の構成は省略する。
【００８４】
図１１に戻る。動作パラメータ作成部６２１は、記憶部６２に記憶された、図９Ａに示したチャンネル割り付け情報２００が示すチャンネル割り付けと、図１０に示した動作設定情報２１０が示す動作の内容とを組み合わせる。そして、動作パラメータ作成部６２１は、図１２Ａに示すスレーブユニットアドレス１用の動作パラメータ２１１及び図１２Ｂに示すスレーブユニットアドレス２用の動作パラメータ２１２を作成する。また、通信パラメータ作成部６２２は、記憶部６２に記憶された、図９Ａに示したチャンネル割り付け情報２００の情報と図１０に示した動作設定情報２１０の動作の内容とを組み合わせて、図１２Ｃに示すスレーブユニットアドレス１用の通信パラメータ２１３と、図１２Ｄに示すスレーブユニットアドレス２用の通信パラメータ２１４を生成する。
【００８５】
図１２Ａに示すスレーブユニットアドレス１用の動作パラメータ２１１及び図１２Ｂに示すスレーブユニットアドレス２用の動作パラメータ２１２には、仮想ユニット４のチャンネルとして動作する実際のスレーブユニットのチャンネルの動作が設定される。図１２Ａに示すスレーブユニットアドレス１用の動作パラメータ２１１は、スレーブユニットアドレス１、すなわち、図６に示すように代表ユニット４０用のパラメータである。また、図１２Ｂに示すスレーブユニットアドレス２用の動作パラメータ２１２は、スレーブユニットアドレス２、すなわち、図６に示すように従属ユニット４１用のパラメータである。
【００８６】
図１２Ｃに示すスレーブユニットアドレス１の通信パラメータ２１３は、代表ユニット４０とマスタユニット３との間の通信に必要な設定を行うためのパラメータである。例えば、マスタユニット３と実際のスレーブユニットとがデータを送受信する場合には、送信するデータのサイズと受信するデータのサイズを明確にする必要がある。このため、通信パラメータ２１３には、送信用データサイズと受信用データサイズとが設定される。通信パラメータ２１３に設定された送信用データサイズと受信用データサイズは、代表ユニット４０に反映される。なお、スレーブユニットアドレス１の通信パラメータ２１３は、本発明に係る第１通信パラメータの一例である。
【００８７】
通信パラメータ２１３に設定されている送信用データサイズ及び受信用データサイズは、仮想ユニット４の各チャンネルの送信用データサイズ及び受信用データサイズを、全チャンネル分それぞれ合計したデータサイズである。例えば、代表ユニット４０及び従属ユニット４１の送信用データサイズがそれぞれ３２バイトとすると、図１２Ｃに示すように、仮想ユニット４の送信用データサイズは、代表ユニット４０及び従属ユニット４１の送信用データサイズの合計である６４バイトとなる。また、代表ユニット４０及び従属ユニット４１の受信用データサイズがそれぞれ１６バイトとすると、図１２Ｃに示すように、仮想ユニット４の受信用データサイズは、代表ユニット４０及び従属ユニット４１の受信用データサイズの合計である３２バイトとなる。
【００８８】
また、図１２Ｄに、スレーブユニットアドレス２用の通信パラメータ２１４を示す。通信パラメータ２１４には、従属ユニット４１と代表ユニット４０との間の送信用データサイズと受信用データサイズとが設定される。例えば、代表ユニット４０及び従属ユニット４１の送信用データサイズがそれぞれ３２バイトとすると、図１２Ｄに示すように、送信用データサイズには３２が設定される。また、代表ユニット４０及び従属ユニット４１の受信用データサイズがそれぞれ１６バイトとすると、図１２Ｄに示すように、受信用データサイズには１６バイトが設定される。なお、スレーブユニットアドレス２の通信パラメータ２１４は、本発明に係る第２通信パラメータの一例である。
【００８９】
図１２Ａに示したスレーブユニットアドレス１用の動作パラメータ２１１及び図１２Ｂに示したスレーブユニットアドレス２用の動作パラメータ２１２と、図１２Ｃに示したスレーブユニットアドレス１用の通信パラメータ２１３と図１２Ｄに示したスレーブユニットアドレス２用の通信パラメータ２１４は、マスタユニット３の記憶部３２に記憶されている。これらのパラメータは、図１に示したシステム１の起動時にマスタユニット３の記憶部３２から読み出され、メモリ３３に展開される。また、システム１の起動時に、ＣＰＵユニット２は、マスタユニット３のメモリ３３に展開されたこれらのパラメータを、仮想ユニット４へ送信する。仮想ユニット４は、受信したこられのパラメータを、代表ユニット４０のメモリ４０４に展開する。
【００９０】
また、マスタユニット３と仮想ユニット４は、図１２Ｃに示す通信パラメータ２１３に設定された送信用データサイズ及び受信用データサイズのデータを定期的に送受信する。具体的には、仮想ユニット４は、マスタユニット３から受信した受信用データを代表ユニット４０で処理し、必要に応じて受信用データを代表ユニット４０から従属ユニット４１へ送信する。また、代表ユニット４０は、自身の送信用データと従属ユニット４１から取得した送信用データとを１つにまとめ、仮想ユニット４からの送信用データとしてマスタユニット３へ送信する。
【００９１】
次に、１台のスレーブユニットから複数台のスレーブユニットに置き換える手順を説明する。ここでは、１台の８チャンネルを備えるスレーブユニットから、２台の４チャンネルを備えるスレーブユニットに置き換える場合を例にとって説明する。このスレーブユニットの置き換えは、図６から図１２Ｄに設定された内容を、ＣＰＵユニット２と、仮想ユニット４の代表ユニット４０及び従属ユニット４１とに、それぞれ設定することにより行う。
【００９２】
まず、置き換える前の１台の８チャンネルを備えるスレーブユニットは、チャンネル番号ＣＨ１からＣＨ８を有するものとする。このスレーブユニットのチャンネル番号は、図２に示したＣＰＵユニット２の記憶部２３に記憶されている。
【００９３】
ここで、この８チャンネルを備えるスレーブユニットと置き換える２台の４チャンネルを備えるスレーブユニットをそれぞれ、第１スレーブユニット、第２スレーブユニットと称する。第１スレーブユニットは、図３に示した代表ユニット４０と同じ構成を備え、第２スレーブユニットは、図３に示した従属ユニット４１と同様の構成を備えるものする。
【００９４】
まず、ＣＰＵユニット２に、自身に接続されるスレーブユニットが、１台の８チャンネルを備えるスレーブユニットから、１台の仮想ユニット４に置き換わることを認識させる。ＣＰＵユニット２に、図６に示したチャンネル割り付け情報２００に設定されている仮想ユニット４のチャンネル番号の項目のデータ「チャンネル番号ＣＨ１からＣＨ８」と、入出力種類の項目のデータ「入力」とが設定される。これにより、仮想ユニット４がチャンネル番号ＣＨ１からＣＨ８を有するスレーブユニットであることが、ＣＰＵユニット２に設定される。また、ＣＰＵユニット２に、図９Ｂに示した８チャンネル出力ユニット保持データ２０１を設定する。これにより、仮想ユニット４を８チャンネルのスレーブユニットとした場合に保持されるデータの種類を設定することができる。ここで設定された内容は、図２に示すＣＰＵユニット２の記憶部２３に記憶される。
【００９５】
ここで以下では、２台の４チャンネルを備えるスレーブユニットのうち第１スレーブユニットを、仮想ユニット４の代表ユニット４０として設定するものとして説明する。また、２台の４チャンネルを備えるスレーブユニットのうち第２スレーブユニットを、仮想ユニット４の従属ユニット４１として設定するものとして説明する。また、第１スレーブユニットを型名スレーブユニットＡのスレーブユニットとし、第２スレーブユニットを型名スレーブユニットＢのスレーブユニットとする。
【００９６】
第１スレーブユニットには、図６に示したチャンネル割り付け情報２００より、自身及び従属ユニット４１のチャンネル割り付けと、スレーブユニットアドレスと、代表ユニットの指定とが設定される。具体的には、第１スレーブユニットに、図６に示した仮想ユニット４のチャンネル番号ＣＨ１からＣＨ４を、自身のチャンネル番号ＣＨ１からＣＨ４と対応づけて設定する。また、第１スレーブユニットに、図６に示した仮想ユニット４のチャンネル番号ＣＨ５からＣＨ８を、第２スレーブユニットのチャンネル番号ＣＨ１からＣＨ４と対応づけることも設定する。代表ユニット４０は、マスタユニット３から受信した受信データを、自身と従属ユニット４１とに振り分けるため、従属ユニット４１に割り付けられた仮想ユニット４のチャンネル番号を知っておく必要がある。
【００９７】
次に、第１スレーブユニットに、図６に示した実際のスレーブユニットのスレーブユニットアドレスの項目のデータから、スレーブユニットＡの型名に割り付けられているスレーブユニットアドレス「１」を設定する。第１スレーブユニットに、図６に示した実際のスレーブユニットの代表ユニットの項目のデータから、代表ユニットの指定を設定する。
【００９８】
第１スレーブユニットに、図７に示すデータ受信情報３００より、マスタユニット３から受信する受信データの仮想ユニット４内での転送先の情報が設定される。この仮想ユニット４内での転送先の情報は、例えば、図７に示す仮想ユニット４内の転送データの項目のスレーブユニットアドレス及び受信データと、マスタユニット３から受信した受信データの使用可否とである。以下に、図７を参照しつつ、具体例を示す。マスタユニット３から受信する受信データが設定変更要求フラグの場合、第１スレーブユニットには、仮想ユニット４内の転送データのスレーブユニットアドレスの項目のデータ「１」及び「２」が設定される。このスレーブユニットアドレスの項目のデータ「１」は代表ユニット４０を示すユニットアドレスであり、データ「２」は、従属ユニット４１を示すユニットアドレスである。また、第１スレーブユニットには、受信データの項目のデータ「設定変更要求フラグ」、及び使用可否の項目の値「ＯＫ」が設定される。以下、図７に示すデータ受信情報３００に設定された情報を順番に、第１スレーブユニットに設定する。
【００９９】
第１スレーブユニットに、図８に示すデータ送信情報３０２より、仮想ユニット４内の取得データをマスタユニット３へ送信するための情報が設定される。このマスタユニット３へ送信するための情報は、例えば、図８に示す仮想ユニット４内の取得データの項目のスレーブユニットアドレス及び送信データと、仮想ユニット１から取得した送信データの使用可否と、送信データの値の演算方法とである。
【０１００】
上述の仮想ユニット４内の取得データをマスタユニット３へ送信するための情報について、図８を参照しつつ、以下に具体例を示す。仮想ユニット４からマスタユニット３へ送信する送信データが設定変更完了フラグの場合には、第１スレーブユニットには、仮想ユニット４内の送信データのスレーブユニットアドレスの項目のデータ「１」及び「２」が設定される。上述の通り、このスレーブユニットアドレスの項目のデータ「１」は代表ユニット４０を示すユニットアドレスであり、データ「２」は、従属ユニット４１を示すユニットアドレスである。また、第１スレーブユニットには、送信データの項目のデータ「設定変更完了フラグ」、使用可否の項目の値「ＯＫ」、送信データの項目のデータ「設定変更完了フラグ」、及び演算方法のデータ「ＡＮＤ」が設定される。以下、図８に示すデータ送信情報３０２に定められた情報を、順番に第１スレーブユニットに設定する。
【０１０１】
第１スレーブユニットに、図１２Ａに示すスレーブユニットアドレス１の動作パラメータ２１１を設定する。動作パラメータ２１１は、仮想ユニット４のチャンネル番号ＣＨ１からＣＨ４に割り付けられた、第１スレーブユニットのチャンネル番号ＣＨ１からＣＨ４の動作を定めたものである。具体的には、図１２Ａに示す動作パラメータの左欄に定められたチャンネルの処理方法、検出機能等と、右欄に定められた設定情報とを、第１スレーブユニットの各チャンネルに設定する。例えば、図１２Ａに示す動作パラメータのＣＨ１平均処理方法の項目のデータ「平均処理なし」の設定情報を、第１スレーブユニットのチャンネル番号ＣＨ１に設定する。第１スレーブユニットのチャンネル番号ＣＨ２からＣＨ４まで、この設定処理を繰り返す。次に、図１２Ａに示す動作パラメータのＣＨ１異常信号検出機能の項目のデータ「ＯＦＦ」の設定情報を、第１スレーブユニットのチャンネル番号ＣＨ１に設定する。第１スレーブユニットのチャンネル番号ＣＨ２からＣＨ４まで、この設定処理を繰り返す。
【０１０２】
また、第１スレーブユニットに、図１２Ｃに示すスレーブユニットアドレス１の通信パラメータ２１３を設定する。通信パラメータ２１３は、例えば、図１２Ｃに示す、仮想ユニット４の代表ユニット４０から図３に示したマスタユニット３へ送信される送信データの送信用データサイズ、マスタユニット３から代表ユニット４０が受信する受信データの受信用データサイズ等である。
【０１０３】
以上の設定が終わると、設定された各種情報及びパラメータを、第１スレーブユニットの記憶部に記憶する。これにより、第１スレーブユニットを図３に示す代表ユニット４０として動作させることが可能となる。
【０１０４】
次に、第２スレーブユニットに対して、第１スレーブユニットと同様に各種情報及びパラメータを設定する。第２スレーブユニットに、図６に示した仮想ユニット４のチャンネル番号ＣＨ５からＣＨ８を、自身のチャンネル番号ＣＨ１からＣＨ４に対応づけて設定する。第２スレーブユニットに、図６に示した実際のスレーブユニットのスレーブユニットアドレスの項目のデータから、スレーブユニットＢの型名に割り付けられているスレーブユニットアドレス「２」を設定する。
【０１０５】
次に、第２スレーブユニットに、図１２Ｂに示すスレーブユニットアドレス２の動作パラメータ２１２を設定する。動作パラメータ２１２は、仮想ユニット４のチャンネル番号ＣＨ５からＣＨ８に割り付けられた、第２スレーブユニットのチャンネル番号ＣＨ１からＣＨ４の動作を定めたものである。具体的には、図１２Ｂに示す動作パラメータの左欄に定められたチャンネルの処理方法、検出機能等と、右欄に定められた設定情報とを、第２スレーブユニットの各チャンネルに設定する。例えば、図１２Ｂに示す動作パラメータのＣＨ５平均処理方法の項目のデータ「時間平均」の設定情報を、第２スレーブユニットのチャンネル番号ＣＨ１に設定する。第２スレーブユニットのチャンネル番号ＣＨ２からＣＨ４まで、この設定処理を繰り返す。次に、図１２Ｂに示す動作パラメータのＣＨ５異常信号検出機能の項目のデータ「ＯＮ」の設定情報を、第２スレーブユニットのチャンネル番号ＣＨ１に設定する。第２スレーブユニットのチャンネル番号ＣＨ２からＣＨ４まで、この設定処理を繰り返す。
【０１０６】
第２スレーブユニットに、図１２Ｄに示すスレーブユニットアドレス２の通信パラメータ２１４を設定する。通信パラメータ２１４は、例えば、図１２Ｄに示す、仮想ユニット４の従属ユニット４１から代表ユニット４０へ送信される送信データの送信用データサイズ、代表ユニット４０から従属ユニット４１が受信する受信データの受信用データサイズ等である。
【０１０７】
以上の設定が終わると、設定されたパラメータを第１スレーブユニットの記憶部に記憶する。これにより、第２スレーブユニットを図３に示す従属ユニット４１として動作させることが可能となる。
【０１０８】
なお、後述の実施の形態２で詳細に説明するが、本実施の形態とは異なり、１台の代表ユニット４０と複数の従属ユニット４１とをスター型に接続する構成を採用することも可能である。この場合、代表ユニット４０の故障時に複数の従属ユニット４１のうちの１つを、新たな代表ユニットへ変更できるように優先順位を設定する。このため、代表ユニット４０になりうる従属ユニット４１には、代表ユニット４０と同じ設定をしておく必要がある。
【０１０９】
ＣＰＵユニット２は、代表ユニット４０に設定された各種情報及びパラメータにより、代表ユニット４０と従属ユニット４１の２台を区別せず、１台の仮想ユニット４とみなす。これにより、ＣＰＵユニット２は、自身に接続されているのは仮想ユニット４と認識する。したがって、ＣＰＵユニット２は、代表ユニット４０と従属ユニット４１とそれぞれデータの送受信をするのではなく、仮想ユニット４とだけデータの送受信を行うものと認識する。
【０１１０】
ＣＰＵユニット２から仮想ユニット４へ送信されるデータは、図１に示したようにマスタユニット３を介して、仮想ユニット４の代表ユニット４０へ入力される。代表ユニット４０は、代表ユニット４０に設定された各種情報及びパラメータにより、ＣＰＵユニット２から受信したデータを適切に自身と従属ユニット４１へ振り分ける。代表ユニット４０と従属ユニット４１は、それぞれに振り分けられたデータに基づいて処理を実行する。また、代表ユニット４０は、従属ユニット４１からのデータを、自身のデータとまとめてＣＰＵユニット２へ送信することができる。これにより、ＣＰＵユニット２は、代表ユニット４０と従属ユニット４１のそれぞれからデータを送信されたのではなく、仮想ユニット４からデータを送信されたものと認識する。以上により、ＣＰＵユニット２は、自身に接続されている実際のスレーブユニットの台数を意識せずに、スレーブユニットに各種処理を実行させることが可能となる。
【０１１１】
図１３Ａに、配置設定ツール７１０上での配置設定７００の設定画面を示す。配置設定ツール７１０は、図１４に示すように、ＰＣ６にインストールされている。システムインテグレータは、配置設定ツール７１０を用いて、生産ライン装置５に配置されるセンサ、モータを含む機器、生産ライン装置５に付加される入出力機器を、工場ごとに設定する。配置設定ツール７１０には、例えば、３Ｄ-ＣＡＤ（Ｔｈｒｅｅ  Ｄｉｍｅｎｓｉｏｎａｌ−ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）を用いることができる。
【０１１２】
システムインテグレータは、図１３Ａに示すように、配置設定７００の設定画面上で、複数の生産ライン装置５ａ〜５ｈを第１生産ラインコンベアの左右に配置する。すなわち、システムインテグレータにより、図１４に示したＰＣ６の入力部６４から入力される指示に基づいて、配置設定ツール７１０の配置設定部７２０は、複数の生産ライン装置５ａ〜５ｈを第１生産ラインコンベアの左右に配置させる。システムインテグレータは、この複数の生産ライン装置５ａ〜５ｈを１つのセグメントとしてまとめる。この１つのセグメントを、１つの仮想ユニット４とすることができる。システムインテグレータは、配置設定ツール７１０を用いて、仮想ユニット４の各チャンネルに各生産ライン装置５への入出力を割り当てる。すなわち、配置設定ツール７１０の入出力割当部７２１は、システムインテグレータにより、図１４に示したＰＣ６の入力部６４から入力される指示に基づいて、仮想ユニット４の各チャンネルに各生産ライン装置５への入出力を割り当てる。
【０１１３】
システムインテグレータは、配置設定ツール７１０から仮想ユニット４へのチャンネル割り当て情報を、エンジニアリングツール６００に入力する。ユーザに、エンジニアリングツール６００の動作設定情報２１０の設定画面上で、仮想ユニット４の各チャンネルの動作を設定させる。すなわち、ユーザにより、図１４に示した入力部６４への入力に基づき、エンジニアリングツール６００の動作パラメータ作成部６２１は、記憶部６２に記憶されたチャンネル割り付け情報２００の情報と動作設定情報２１０の動作の内容とを組み合わせて、図１２Ａに示すスレーブユニットアドレス１用の動作パラメータ２１１及び図１２Ｂに示すスレーブユニットアドレス２用の動作パラメータ２１２を作成する。
【０１１４】
また、通信パラメータ作成部６２２は、記憶部６２に記憶されたチャンネル割り付け情報２００の情報と動作設定情報２１０の動作の内容とを組み合わせて、図１２Ｃに示すスレーブユニットアドレス１用の通信パラメータ２１３と、図１２Ｄに示すスレーブユニットアドレス２用の通信パラメータ２１４とを生成する。作成した動作パラメータ２１１、２１２、通信パラメータ２１３、２１４が、該当するスレーブユニットアドレス１またはスレーブユニットアドレス２を持つ実際のスレーブユニットに設定される。設定された実際のスレーブユニットの一覧を、図１３Ｂに示す。
【０１１５】
ユーザが所有しているスレーブユニットの情報７０２から検索する。図１３Ｂには、例えば、ユーザが所有しているスレーブユニットとして、スレーブユニットＡ及びスレーブユニットＢの情報が設定されている。所有しているスレーブユニットの情報７０２に合致する実際のスレーブユニットがある場合、エンジニアリングツール６００は、合致しているスレーブユニットの型名を、そのユニットの保持データの情報と組み合わせる。これにより、エンジニアリングツール６００は、図６に示したチャンネル割り付け情報２００と、図７に示したデータ受信情報３００と、図８に示したデータ送信情報３０２と、図１２Ａ、図１２Ｂに示した動作パラメータ２１１、２１２と、図１２Ｃ、図１２Ｄに示した通信パラメータ２１３、２１４とを自動生成することができる。
【０１１６】
また、エンジニアリングツール６００には、図４及び図１１に示した構成に加え、図１５Ａに示す処理設定部６２３を、さらに備える。処理設定部６２３は、仮想ユニット４に各種処理を行わせるためのプログラムを、図２に示したＣＰＵユニット２の記憶部２３に記憶させることができる。なお、ここでは、図４及び図１１に示した各構成については省略する。この仮想ユニット４に各種処理を行わせるためのプログラムは、システム１の起動時に、ＣＰＵユニット２の記憶部２３からメモリ２４に読み出され、プロセッサ２０により実行される。
【０１１７】
処理設定部６２３がＣＰＵユニット２の記憶部２３に記憶させるプログラムについて、従属ユニット４１での動作不良の発生及び動作不良から回復した場合を例に説明する。代表ユニット４０は、従属ユニット４１の動作不良を検出した場合、仮想ユニット４のチャンネルのうち従属ユニット４１のチャンネルの制御だけを停止させる。また、代表ユニット４０は、従属ユニット４１の動作不良からの回復を出した場合、従属ユニット４１のチャンネルの制御を再開する。この動作について、図１５Ｂに示す、従属ユニット４１の動作不良発生時及び回復時の制御処理のフローチャートを参照しつつ、以下に説明する。
【０１１８】
図１５Ｂに示すように、代表ユニット４０は、従属ユニット４１の動作の変化を検出すると（ステップＳ１０；ＹＥＳ）、従属ユニット４１の動作の変化が正常動作から動作不良になったのか、動作不良から正常動作に復帰したのかを判定する（ステップＳ１１）。なお、ＣＰＵユニット２が、従属ユニット４１の動作の変化が検出していない場合には（ステップＳ１０；ＮＯ）、従属ユニット４１の動作の変化が検出されるまで待機する。
【０１１９】
代表ユニット４０は、例えば、通信の途絶や異常動作通知を受信することにより、従属ユニット４１が正常動作から動作不良になったことを検知した場合には（ステップＳ１１；正常動作から動作不良）、代表ユニット４０は、図８に示したデータ送信情報３０２のうち、スレーブユニットアドレスが２、すなわち、従属ユニット４１のデータの使用可否の値をＯＫからＮＧに変更する。例えば、従属ユニット４１の設定変更完了フラグ、エラー発生フラグの使用可否の値をＯＫからＮＧに変更する。代表ユニット４０は、使用可否の値がＮＧに変更された従属ユニット４１のデータの送受信を無効化する（ステップＳ１２）。
【０１２０】
従属ユニット４１のデータの送受信が無効化されると、代表ユニット４０は、自身が保持している前回の従属ユニット４１からの入力値データを、従属ユニット４１の入力値データとしてマスタユニット３に送信する。これは、従属ユニット４１が動作不良になりデータの送受信が無効化されている場合には、代表ユニット４０は従属ユニット４１から入力値データを取得できないためである。なお、代表ユニット４０は、従属ユニット４１からの入力値データとして、自身の保持している前回の入力値データではなく、デフォルト値、０、任意の値等をマスタユニット３に送信してもよい。
【０１２１】
また、例えば、従属ユニットが出力ユニットであった場合、代表ユニット４０がマスタユニット３から受信した従属ユニット４１の担当する仮想チャンネル１２ｅ〜１２ｈの出力値データは、従属ユニット４１には転送しない。なお、あえて転送するといった、他の制御方法をしても良い。
【０１２２】
従属ユニット４１の動作の変化が動作不良から正常動作への復帰の場合には（ステップＳ１１；動作不良から正常動作）、代表ユニット４０は、図８に示したデータ送信情報３０２のうち、スレーブユニットアドレスが２、すなわち、従属ユニット４１のデータの使用可否の値をＮＧからＯＫに変更する。例えば、従属ユニット４１の設定変更完了フラグ、エラー発生フラグの使用可否の値をＮＧからＯＫに変更する。代表ユニット４０は、使用可否の値がＯＫに変更された従属ユニット４１のデータの送受信を有効化する（ステップＳ１３）。
【０１２３】
従属ユニット４１からのデータの送受信が有効化されると、例えば、従属ユニット４１が入力ユニットであった場合、図１に示した従属ユニット４１の担当する仮想ユニット４の仮想チャンネル１２ｅ〜１２ｈの入力値データには、今回の入力値が設定される。代表ユニット４０は、従属ユニット４１から仮想ユニット４の仮想チャンネル１２ｅ〜１２ｈの入力値データを取得する。代表ユニット４０は、自身が担当する仮想チャンネル１２ａ〜１２ｄの入力値データと、仮想チャンネル１２ｅ〜１２ｈの入力値データとをマスタユニット３へ送信する。また、例えば、従属ユニット４１が出力ユニットであった場合、代表ユニット４０がマスタユニット３から受信した従属ユニット４１の担当する仮想チャンネル１２ｅ〜１２ｈの出力値データを、従属ユニット４１に転送する。以上のような制御処理を行うことにより、従属ユニット４１が動作不良をおこしても、仮想ユニット４全体を停止しないフェールソフト動作を可能にすることができる。
【０１２４】
以上のように、実施の形態１に係るエンジニアリングツール６００によれば、複数台のスレーブユニットを、ＣＰＵユニット２に対し、ＣＰＵユニット２に接続されている１台のスレーブユニットと同じ動作をとる仮想ユニット４として設定することができる。これにより、１台のスレーブユニットを複数台のスレーブユニットに置き換える際の作業を簡易にすることができる。また、ＣＰＵユニット２に接続されている１台のスレーブユニットと仮想ユニット４とを置き換えても、ＣＰＵユニット２に導入される制御プログラムを変更せず、そのまま継続して使用することができる。このため、ＣＰＵユニット２に導入される制御プログラムの変更に伴う工数を、削減することができるという効果がある。
【０１２５】
（実施の形態２）
実施の形態１では、図１に示したように、マスタユニット３と、仮想ユニット４の代表ユニット４０及び従属ユニット４１が、一直線につながるライン型のネットワークトポロジの場合について説明した。マスタユニット３と、仮想ユニット４の代表ユニット４０及び従属ユニット４１は、ライン型に限らず、他のネットワークトポロジで構成することも可能である。例えば、スター型のネットワークトポロジで構成したシステム１Ａの概要を図１６に示す。
【０１２６】
図１６に示すように、マスタユニット３は、通信経路１３４を介して、仮想ユニット４Ａと接続されている。仮想ユニット４Ａは、代表ユニット４０と、第１従属ユニット４２と、第２従属ユニット４３とを備えている。代表ユニット４０と、第１従属ユニット４２と、第２従属ユニット４３とは、それぞれ４つのチャンネルを備えている。このため、仮想ユニット４Ａは、１２チャンネルを備える１台のスレーブユニットとして機能することができる。
【０１２７】
代表ユニット４０の持つ代表チャンネル４０８ａ、４０８ｂ、４０８ｃ、４０８ｄは、エンジニアリングツール６００によって、仮想ユニット４の持つ仮想チャンネル１２ａ、１２ｂ、１２ｃ、１２ｄと見なされるように設定される。また、代表ユニット４０には、スレーブユニットアドレス１と、後述する代表ユニット優先順位の第１位が設定されている。
【０１２８】
第１従属ユニット４２は、４つの第１従属チャンネル４２８ａ、４２８ｂ、４２８ｃ、４２８ｄを備えている。この第１従属チャンネル４２８ａ、４２８ｂ、４２８ｃ、４２８ｄは、エンジニアリングツール６００によって、仮想ユニット４Ａの持つ仮想チャンネル１２ｅ、１２ｆ、１２ｇ、１２ｈと見なされるように設定される。また、第１従属ユニット４２には、スレーブユニットアドレス２と、後述する代表ユニット優先順位の第３位が設定されている。
【０１２９】
また、第２従属ユニット４３は、４つの第２従属チャンネル４３８ａ、４３８ｂ、４３８ｃ、４３８ｄを備えている。この第２従属チャンネル４３８ａ、４３８ｂ、４３８ｃ、４２３ｄは、エンジニアリングツール６００によって、仮想ユニット４Ａの持つ仮想チャンネル１２ｉ、１２ｊ、１２ｋ、１２ｌと見なされるように設定される。また、第２従属ユニット４３には、スレーブユニットアドレス３と、後述する代表ユニット優先順位の第２位が設定されている。
【０１３０】
エンジニアリングツール６００による設定により、仮想ユニット４Ａは、ＣＰＵユニット２とマスタユニット３から見て、１２個のチャンネルを備える１台のスレーブユニットとして認識される。なお、以下では、仮想ユニット４Ａの持つ仮想チャンネル１２ａ〜１２ｌを、総称して仮想チャンネル１２という。また、以下では、第２従属チャンネル４３８ａ、４３８ｂ、４３８ｃ、４３８ｄを、総称して、第２従属チャンネル４３８という。
【０１３１】
システム１Ａのハードウエア構成の概要を、図１７Ａに示す。ＣＰＵユニット２と、マスタユニット３のハードウエア構成は、図２に示した構成と同様である。また、仮想ユニット４Ａの代表ユニット４０のハードウエア構成は、図３に示した仮想ユニット４の代表ユニット４０の構成と同様である。
【０１３２】
仮想ユニット４Ａの第１従属ユニット４２のハードウエア構成を、図１７Ｂに示す。第１従属ユニット４２は、プロセッサ４２０と、第１ネットワークインターフェース４２１と、第２ネットワークインターフェース４２２と、記憶部４２３と、メモリ４２４と、チャンネルセレクタ４２５と、ＡＤコンバータ４２６と、内部バス４２７とを備える。また、第２従属ユニット４３のハードウエア構成を、図１７Ｃに示す。第２従属ユニット４３は、プロセッサ４３０と、第１ネットワークインターフェース４３１と、第２ネットワークインターフェース４３２と、記憶部４３３と、メモリ４３４と、チャンネルセレクタ４３５と、ＡＤコンバータ４２６と、内部バス４３７とを備える。図１７Ｂに示した第１従属ユニット４２のハードウエア構成と図１７Ｃに示した第２従属ユニット４３のハードウエア構成は、図３に示した従属ユニット４１の構成と同様である。このため、各ユニットのハードウエア構成の詳細な説明は省略する。
【０１３３】
図１７Ａに示すように、マスタユニット３は、ネットワークインターフェース３４から通信経路１３４とスイッチングハブ１５とを介して、仮想ユニット４Ａの代表ユニット４０と第１従属ユニット４２と第２従属ユニット４３の第１ネットワークインターフェース４０１、４２１、４３１に接続されている。スイッチングハブ１５は、マスタユニット３と、代表ユニット４０及び第１従属ユニット４２及び第２従属ユニット４３の接続を切り替えることができるハブである。
【０１３４】
仮想ユニット４Ａでは、代表ユニット４０が動作不良になった場合には、第１従属ユニット４２または第２従属ユニット４３の何れかを新たな代表ユニットとして動作させるように設定することができる。仮想ユニット４Ａにおけるチャンネル割り付け情報２２０を、図１８に示す。チャンネル割り付け情報２２０には、代表ユニット優先順位が設定されている。この代表ユニット優先順位は、最も高い代表ユニット優先順位を設定された実際のスレーブユニットを、代表ユニット４０として動作させる順位である。代表ユニット優先順位は、代表ユニット４０だけではなく、第１従属ユニット４２または第２従属ユニット４３に対しても設定されている。例えば、図１８においては、スレーブユニットアドレス１を持つスレーブユニットに、最も高い優先順位である第１位が設定されている。このため、図１６に示す、スレーブユニットアドレス１を持つスレーブユニットを、代表ユニット４０として動作させる。なお、第１従属ユニット４２として設定された実際のスレーブユニットは、本発明に係る第３スレーブユニットの一例である。または第２従属ユニット４３として設定された実際のスレーブユニットは、本発明に係る第４スレーブユニットの一例である。
【０１３５】
代表ユニット４０が動作不良になった場合には、次に高い代表ユニット優先順位が設定された従属ユニットを、新たな代表ユニットとして動作させる。例えば、図１８に示された、スレーブユニットアドレス３を持つスレーブユニットには、次に高い代表ユニット優先順位である第２位が設定されている。このため、代表ユニット４０が動作不良になった場合には、図１６に示す、スレーブユニットアドレス３を持つ第２従属ユニット４３を、新たな代表ユニットとして動作させる。これにより、代表ユニット４０は、新たな従属ユニットとして扱われる。したがって、仮想ユニット４Ａは、新たな代表ユニットである第２従属ユニット４３と、第１従属ユニット４２と、新たな従属ユニットである代表ユニット４０を備える１台のスレーブユニットとして機能することができる。
【０１３６】
このチャンネル割り付け情報２２０は、図４に示したチャンネル割り付け情報２００と同様に、図４に示したエンジニアリングツール６００の設定画面上で、ユーザに設定される。チャンネル割り付け情報２２０は、エンジニアリングツール６００から、図３に示すマスタユニット３の記憶部３２に記憶される。そして、図１６に示すシステム１Ａの起動時に、図３に示すマスタユニット３の記憶部３２からメモリ３３に展開される。
【０１３７】
次に、代表ユニットを変更させる代表ユニット変更処理を、図１９Ａに示すフローチャートを参照しつつ説明する。この代表ユニット変更処理は、仮想ユニット４Ａに代表ユニット変更処理を動作させるプログラムとして、図１９Ｂに示すエンジニアリングツール６００の処理設定部６２３より、図１７Ｂに示した仮想ユニット４Ａの第１従属ユニット４２の記憶部４２３及び図１７Ｃに示した第２従属ユニット４３の記憶部４３３に記憶されている。このプログラムは、システム１Ａの起動時に、図１７Ｂに示した第１従属ユニット４２の記憶部４２３からメモリ４２４に読み出され、プロセッサ４２０にて実行される。同様に、このプログラムは、図１７Ｃに示した第２従属ユニット４３の記憶部４３３からメモリ４３４に読み出され、プロセッサ４３０にて実行される。
【０１３８】
図１９Ａに戻る。第１従属ユニット４２及び第２従属ユニット４３が現在の代表ユニット４０の動作不良を検知した場合には（ステップＳ２０；ＹＥＳ）、第１従属ユニット４２及び第２従属ユニット４３は、スイッチングハブ１５を介して、現在の代表ユニットの優先順位を取得する（ステップＳ２１）。また第１従属ユニット４２及び第２従属ユニット４３が現在の代表ユニット４０の動作不良を検知してない場合には（ステップＳ２０；ＮＯ）、第１従属ユニット４２及び第２従属ユニット４３は、今までの動作を継続する。
【０１３９】
第１従属ユニット４２及び第２従属ユニット４３は、自身の優先順位と現在の代表ユニット４０の優先順位とを比較する。現在の代表ユニット４０の優先順位の次に高い優先順位を持つ従属ユニットが、新たな代表ユニットになる。ここでは、図１６に示すように、代表ユニット４０の優先順位は第１位である。次に高い優先順位は第２位であり、第２従属ユニット４３に設定されている。このため、第２従属ユニット４３が、新たな代表ユニットとして選出される（ステップＳ２２）。新たな代表ユニットとして選出された第２従属ユニット４３は、現在の代表ユニット４０の動作を無効化させる（ステップＳ２３）。
【０１４０】
第２従属ユニット４３は、自身と、代表ユニット４０と、第１従属ユニット４２に設定されている代表ユニットの優先順位を変更する。例えば、図２０に示すように、第２従属ユニット４３は、自身の優先順位を第１位、第１従属ユニット４２の優先順位を第２位、代表ユニット４０の優先順位を第３位に変更する。第２従属ユニット４３は、変更した代表ユニットの優先順位の情報を優先順位変更情報としてまとめる。第２従属ユニット４３は、この優先順位変更情報をマスタユニット３へ送信する。
【０１４１】
マスタユニット３は、受信した優先順位変更情報の内容をもとに、図２に示したメモリ３３上に展開されている、図１８に示したチャンネル割り付け情報２２０を更新する（ステップＳ２４）。更新したチャンネル割り付け情報２２０の一例を、図２１に示す。これにより、マスタユニット３は、第２従属ユニット４３を新たな代表ユニットとして認識する。以後、マスタユニット３は、ＣＰＵユニット２から受信したデータを、第２従属ユニット４３に送信する。
【０１４２】
また、新たな従属ユニットとなった代表ユニット４０は動作不良であるため、第２従属ユニット４３は、代表ユニット４０から入力値データを取得できない。このため、第２従属ユニット４３は、代表ユニット４０からの入力値データとして、予め定められたデフォルト値、０、任意の値等をマスタユニット３に送信する。
【０１４３】
以上のように、実施の形態２におけるエンジニアリングツール６００によれば、実施の形態１の効果に加え、代表ユニット４０が動作不良になった場合には、従属ユニットを新たな代表ユニットして動作させるように設定をすることができる。これにより、従属ユニットを新たな代表ユニットとし、代表ユニット４０を新たな従属ユニットとして、仮想ユニット４Ａを構成することができる。したがって、代表ユニット４０が動作不良になった場合でも、仮想ユニット４Ａを動作させることができる。また、仮想ユニット４Ａの仮想チャンネル１２の数は変更されない。このため、ＣＰＵユニット２に導入されている制御プログラムを、変更せず、そのまま継続して使用することができる。これにより、ＣＰＵユニット２に導入された制御プログラムを変更するための工数を、削減することができるという効果がある。
【０１４４】
（変形例１）
上述の実施の形態１及び実施の形態２では、エンジニアリングツール６００と配置設定ツール７１０とを、図２に示したＰＣ６にインストールするものとした。これに限らず、エンジニアリングツール６００と配置設定ツール７１０は別々のＰＣ６にインストールされてもよい。また、上述の実施の形態１及び実施の形態２では、エンジニアリングツール６００と配置設定ツール７１０は、ＰＣ６にインストールされるものとした。これに限らず、エンジニアリングツール６００と配置設定ツール７１０を動作させることができるコンピュータ、コンピュータシステム、装置であれば、いずれのものであってもよい。
【０１４５】
（変形例２）
上述の実施の形態１及び実施の形態２では、仮想ユニット４の仮想チャンネル１２に動作設定を行うための動作パラメータ２１１、２１２を、図１１に示したエンジニアリングツール６００の動作パラメータ作成部６２１により作成させた。また、通信パラメータ２１３、２１４を、図１１に示した通信パラメータ作成部６２２により作成させた。これに限らず、動作パラメータ作成部６２１と通信パラメータ作成部６２２の機能を、１つの動作設定パラメータ作成部としてもよい。
【０１４６】
（変形例３）
上述の実施の形態１では、仮想ユニット４に１台の従属ユニット４１を備えるものとした。これに限らず、仮想ユニット４に複数台の従属ユニット４１を備えるようにしてもよい。この場合、各従属ユニット４１の第１ネットワークインターフェース４１１を、通信経路を介して、代表ユニット４０の第２ネットワークインターフェース４０２と接続させる。これにより、各従属ユニット４１を、代表ユニット４０からパススルーで制御することが可能となる。
【０１４７】
本発明では、エンジニアリングツール６００、配置設定ツール７１０、および、ＣＰＵユニット２で実行される各処理をプログラムとし、例えば、コンピュータが読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの記録媒体に格納して配布できるようにしてもよい。このプログラムをコンピュータにインストールすることにより、上述の各処理を実現することができるコンピュータを構成してもよい。そして、各処理をＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とアプリケーションとの分担、またはＯＳとアプリケーションとの協同により実現する場合等には、アプリケーションのみを記録媒体に格納してもよい。
【０１４８】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【産業上の利用可能性】
【０１４９】
本発明は、ＰＬＣユニットに好適に利用することができる。特に、スレーブユニットの置き換えを行う場合への適用は好適である。
【符号の説明】
【０１５０】
１  システム、２  ＣＰＵユニット、３  マスタユニット、４  仮想ユニット、５  生産ライン装置、６  ＰＣ、１２  仮想チャンネル、２０、３０、４００、４１０、６１０  プロセッサ、２１、３１  外部バスインターフェース、２２  ＰＣインターフェース、２３、３２、６２、４２３、４３３  記憶部、２４、３３、４２４、４３４、６１１  メモリ、３４  ネットワークインターフェース、４０  代表ユニット、４１  従属ユニット、４２  第１従属ユニット、４３  第２従属ユニット、４０１、４１１  第一ネットワークインターフェース、４０２、４１２  第２ネットワークインターフェース、４０５、４１５  チャンネルセレクタ、４０６、４１６  ＡＤコンバータ、４０８  代表ユニットチャンネル、４１８  従属ユニットチャンネル、４２８  第１従属ユニットチャンネル、４３８  第２従属ユニットチャンネル、６００  エンジニアリングツール、７１０  配置設定ツール。
【図１】
2020079730.tif 000003
【図２】
2020079730.tif 000004
【図３】
2020079730.tif 000005
【図４】
2020079730.tif 000006
【図５】
2020079730.tif 000007
【図６】
2020079730.tif 000008
【図７】
2020079730.tif 000009
【図８】
2020079730.tif 000010
【図９Ａ】
2020079730.tif 000011
【図９Ｂ】
2020079730.tif 000012
【図９Ｃ】
2020079730.tif 000013
【図９Ｄ】
2020079730.tif 000014
【図９Ｅ】
2020079730.tif 000015
【図９Ｆ】
2020079730.tif 000016
【図１０】
2020079730.tif 000017
【図１１】
2020079730.tif 000018
【図１２Ａ】
2020079730.tif 000019
【図１２Ｂ】
2020079730.tif 000020
【図１２Ｃ】
2020079730.tif 000021
【図１２Ｄ】
2020079730.tif 000022
【図１３Ａ】
2020079730.tif 000023
【図１３Ｂ】
2020079730.tif 000024
【図１４】
2020079730.tif 000025
【図１５Ａ】
2020079730.tif 000026
【図１５Ｂ】
2020079730.tif 000027
【図１６】
2020079730.tif 000028
【図１７Ａ】
2020079730.tif 000029
【図１７Ｂ】
2020079730.tif 000030
【図１７Ｃ】
2020079730.tif 000031
【図１８】
2020079730.tif 000032
【図１９Ａ】
2020079730.tif 000033
【図１９Ｂ】
2020079730.tif 000034
【図２０】
2020079730.tif 000035
【図２１】
2020079730.tif 000036
【手続補正書】
【提出日】平成31年4月11日(2019.4.11)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、エンジニアリングツール、コンピュータシステム、システム及びプログラムに関する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
本発明はこれらの課題を解決するものであり、簡易な作業で１台のスレーブユニットを複数台のスレーブユニットに置き換えることができるエンジニアリングツール、コンピュータシステム、システム及びプログラムを提供することを目的とする。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定部と、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け部と、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定部と、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定部と、
を備えるエンジニアリングツール。
【請求項２】
前記チャンネル割り付け情報と、前記仮想ユニットの保持するデータの種類を設定した出力ユニット保持データと、前記代表ユニットとして設定した第１スレーブユニットの保持する第１スレーブユニット保持データと、前記従属ユニットとして設定した第２スレーブユニットの保持する第２スレーブユニット保持データとに基づいて、前記データ受信情報と前記データ送信情報とを作成するデータ送受信情報作成部をさらに備える、
請求項１に記載のエンジニアリングツール。
【請求項３】
前記仮想ユニットの各チャンネルに実行させる動作を設定するための動作設定情報に基づいて、前記代表ユニットとして設定された第１スレーブユニットと、前記従属ユニットとして設定された第２スレーブユニットとに実行させる動作を設定するための動作パラメータを作成する動作設定パラメータ作成部をさらに備える、
請求項１または２に記載のエンジニアリングツール。
【請求項４】
前記代表ユニットと前記外部ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第１通信パラメータと、前記代表ユニットと前記従属ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第２通信パラメータとを作成する通信パラメータ作成部をさらに備える、
請求項１から３のいずれか一項に記載のエンジニアリングツール。
【請求項５】
前記代表ユニットが、前記従属ユニットとして設定された第２スレーブユニットの動作不良を検出した場合に、前記従属ユニットとして設定された第２スレーブユニットのチャンネルへの制御を前記代表ユニットに停止させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項６】
前記制御対象機器を接続するためのチャンネルを備える第３スレーブユニット及び第４スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する第１従属ユニット及び第２従属ユニットとして設定し、
前記代表ユニットとして設定された第１スレーブユニットが動作不良となった場合に、前記第１従属ユニットまたは前記第２従属ユニットを新たな代表ユニットとして動作させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項７】
請求項１から６のいずれか一項に記載のエンジニアリングツールと、
前記制御対象機器を備える生産ライン装置の配置を設定できる配置設定部、及び、前記生産ライン装置に対して前記仮想ユニットが持つチャンネルを割り当てる入出力割当部を含む配置設定ツールと、
を備えるコンピュータシステム。
【請求項８】
制御対象機器を接続するためのチャンネルを備える代表ユニットと、
前記制御対象機器を接続するためのチャンネルを備え、前記代表ユニットに接続された従属ユニットと、
前記制御対象機器を制御するためのデータを、前記代表ユニットと送受信する外部ユニットと、
を含み、
前記代表ユニットは、前記外部ユニットから受信した受信データを、自身と前記従属ユニットとに振り分け、または、前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するように設定されている、
システム。
【請求項９】
コンピュータを、
制御対象機器を接続するためのチャンネルを備える第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備える第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定手段、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け手段、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定手段、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定手段、
として機能させるためのプログラム。
【手続補正書】
【提出日】令和1年7月18日(2019.7.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上記目的を達するために、本発明に係るエンジニアリングツールは、代表ユニット設定部と、チャンネル割り付け部と、送受信設定部と、仮想ユニット設定部とを備える。代表ユニット設定部は、制御対象機器を接続するためのチャンネルを備え、チャンネルに接続された制御対象機器を制御する第１スレーブユニットを、制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、制御対象機器を接続するためのチャンネルを備え、チャンネルに接続された制御対象機器を制御する第２スレーブユニットを、代表ユニットを介して制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する。チャンネル割り付け部は、一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、代表ユニットのチャンネルと、従属ユニットのチャンネルとに、一連するチャンネルを割り付ける。送受信設定部は、外部ユニットから代表ユニットが受信した受信データを、自身と従属ユニットとに振り分けるためのデータ受信情報の設定、また、代表ユニットが従属ユニットから自身へ送信された送信データと自身の送信データとを共に、外部ユニットへ送信するためのデータ送信情報を設定する。仮想ユニット設定部は、代表ユニットと従属ユニットとを、一連のチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定部と、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け部と、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定部と、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定部と、
を備えるエンジニアリングツール。
【請求項２】
前記チャンネル割り付け情報と、前記仮想ユニットの保持するデータの種類を設定した出力ユニット保持データと、前記代表ユニットとして設定した第１スレーブユニットの保持する第１スレーブユニット保持データと、前記従属ユニットとして設定した第２スレーブユニットの保持する第２スレーブユニット保持データとに基づいて、前記データ受信情報と前記データ送信情報とを作成するデータ送受信情報作成部をさらに備える、
請求項１に記載のエンジニアリングツール。
【請求項３】
前記仮想ユニットの各チャンネルに実行させる動作を設定するための動作設定情報に基づいて、前記代表ユニットとして設定された第１スレーブユニットと、前記従属ユニットとして設定された第２スレーブユニットとに実行させる動作を設定するための動作パラメータを作成する動作設定パラメータ作成部をさらに備える、
請求項１または２に記載のエンジニアリングツール。
【請求項４】
前記代表ユニットと前記外部ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第１通信パラメータと、前記代表ユニットと前記従属ユニットとの間の通信に必要な送信用データサイズ及び受信用データサイズが設定された第２通信パラメータとを作成する通信パラメータ作成部をさらに備える、
請求項１から３のいずれか一項に記載のエンジニアリングツール。
【請求項５】
前記代表ユニットが、前記従属ユニットとして設定された第２スレーブユニットの動作不良を検出した場合に、前記従属ユニットとして設定された第２スレーブユニットのチャンネルへの制御を前記代表ユニットに停止させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項６】
前記制御対象機器を接続するためのチャンネルを備える第３スレーブユニット及び第４スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する第１従属ユニット及び第２従属ユニットとして設定し、
前記代表ユニットとして設定された第１スレーブユニットが動作不良となった場合に、前記第１従属ユニットまたは前記第２従属ユニットを新たな代表ユニットとして動作させるように設定する処理設定部をさらに備える、
請求項１から４のいずれか一項に記載のエンジニアリングツール。
【請求項７】
請求項１から６のいずれか一項に記載のエンジニアリングツールと、
前記制御対象機器を備える生産ライン装置の配置を設定できる配置設定部、及び、前記生産ライン装置に対して前記仮想ユニットが持つチャンネルを割り当てる入出力割当部を含む配置設定ツールと、
を備えるコンピュータシステム。
【請求項８】
制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する代表ユニットと、
前記代表ユニットに接続され、前記制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する従属ユニットと、
前記制御対象機器を制御するためのデータを、前記代表ユニットと送受信する外部ユニットと、
を含み、
前記代表ユニットは、前記外部ユニットから受信した受信データを、自身と前記従属ユニットとに振り分け、または、前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するように設定されている、
システム。
【請求項９】
コンピュータを、
制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する第１スレーブユニットを、前記制御対象機器を制御するためのデータを外部ユニットと送受信する代表ユニットとして設定し、前記制御対象機器を接続するためのチャンネルを備え、前記チャンネルに接続された制御対象機器を制御する第２スレーブユニットを、前記代表ユニットを介して前記制御対象機器を制御するためのデータを外部ユニットと送受信する従属ユニットとして設定する代表ユニット設定手段、
一連するチャンネルを予め定めたチャンネル割り付け情報に基づいて、前記代表ユニットのチャンネルと、前記従属ユニットのチャンネルとに、前記一連するチャンネルを割り付けるチャンネル割り付け手段、
前記外部ユニットから前記代表ユニットが受信した受信データを、自身と前記従属ユニットとに振り分けるためのデータ受信情報の設定、または、前記代表ユニットが前記従属ユニットから自身へ送信された送信データと自身の送信データとを共に、前記外部ユニットへ送信するためのデータ送信情報を設定する送受信設定手段、
前記代表ユニットと前記従属ユニットとを、前記一連するチャンネルの数と同一なチャンネルの数を備える他のスレーブユニットと置き換えることが可能な仮想ユニットとして設定する仮想ユニット設定手段、
として機能させるためのプログラム。
【国際調査報告】
2020079730.tif 000037
2020079730.tif 000038
2020079730.tif 000039
2020079730.tif 000040