以下に、本発明の実施の形態にかかる通信装置及び通信方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、実施の形態1にかかる通信装置を備えるシステムの構成を示す図である。システム1は、第1通信機器2と、第2通信機器3と、エンジニアリングツール4と、通信装置5と、を備える。
第1通信機器2及び第2通信機器3は、プログラマブルコントローラ(JIS B 3502:2011、programmable controllers(PLC))が例示される。
エンジニアリングツール4は、通信装置5への設定を行う設定ツールである。エンジニアリングツール4は、パーソナルコンピュータがエンジニアリングツールプログラムを実行することで構成される。
通信装置5は、コネクタ11及び12と、第1PHY(physical layer)部13と、第2PHY部14と、MAC(media access control)部15と、制御部16と、記憶部17と、コネクタ18と、ディップスイッチ19と、を備える。
コネクタ11は、通信ケーブル6の一端に接続されている。通信ケーブル6の他端は、第1通信機器2に接続されている。コネクタ12は、通信ケーブル7の一端に接続されている。通信ケーブル7の他端は、第2通信機器3に接続されている。通信ケーブル6及び7は、ツイストペアケーブル(twisted pair cable)が例示される。
第1PHY部13及び第2PHY部14は、OSI参照モデル(Open Systems Interconnection reference model、ISO/IEC 7498)の第1層である物理層を担う物理層回路である。
第1PHY部13は、コネクタ11に接続されており、第1通信機器2の物理層回路との間で通信を行う。第2PHY部14は、コネクタ12に接続されており、第2通信機器3の物理層回路との間で通信を行う。
第1PHY部13及び第2PHY部14は、通信先の物理層回路との間で、通信の物理的な設定を表す通信設定情報を決定するオートネゴシエーション(automatic negotiation)機能を有する。
第1PHY部13は、後述するタイミングで、第1通信機器2の物理層回路との間でオートネゴシエーションを行い、第1PHY部13と第1通信機器2の物理層回路との間での通信設定情報を決定する。
通信設定情報は、通信速度、クロックマスタ又はクロックスレーブの区別、MDI(Medium Dependent Interface)又はMDI−X(Medium Dependent Interface Crossover)の区別が例示される。
第1PHY部13と第1通信機器2の物理層回路との間で決定された通信設定情報は、第1PHY部13内のレジスタ13aに書き込まれる。
第2PHY部14は、後述するタイミングで、第2通信機器3の物理層回路との間でオートネゴシエーションを行い、第2PHY部14と第2通信機器3の物理層回路との間での通信設定情報の決定を行う。
第2PHY部14と第2通信機器3の物理層回路との間で決定された通信設定情報は、第2PHY部14内のレジスタ14aに書き込まれる。
MAC部15は、OSI参照モデルの第2層であるデータリンク層(data link layer)を担うデータリンク層回路である。MAC部15は、第1PHY部13及び第2PHY部14に接続されており、第1通信機器2のデータリンク層回路及び第2通信機器3のデータリンク層回路との間で通信を行う。
コネクタ18は、ケーブル8の一端に接続されている。ケーブル8の他端は、エンジニアリングツール4に接続されている。ケーブル8は、RS−232−Cケーブル、USB(Universal Serial Bus)ケーブルが例示される。
制御部16は、MAC部15、記憶部17、コネクタ18及びディップスイッチ19に接続されており、記憶部17に記憶されているファームウェアプログラムを実行することにより、OSI参照モデルの第3層であるネットワーク層(network layer)、第4層であるトランスポート層(transport layer)、第5層であるセッション層(session layer)、第6層であるプレゼンテーション層(presentation layer)及び第7層であるアプリケーション層(application layer)のうちの少なくとも1つを担う。また、制御部16は、第1PHY部13、第2PHY部14及びMAC部15の制御も行う。制御部16は、CPU(central processing unit)が例示される。
記憶部17は、上述したファームウェアプログラムを記憶しているほか、後述するタイミングで、レジスタ13a及び14aに記憶されている通信設定情報が書き込まれる不揮発性記憶回路である。記憶部17は、フラッシュメモリ(登録商標)が例示される。
なお、通信装置5は、エンジニアリングツール4内のマザーボード上の拡張スロットに装着される拡張ボードであっても良い。拡張スロットは、PCI Express(登録商標)が例示される。
なお、実施の形態1では、通信装置5は、第1PHY部13及び第2PHY部14の2個の物理層回路を備えることとしたが、1個の物理層回路を備えても良いし、2個より多くの物理層回路を備えても良い。
次に、通信装置5の動作について説明する。
通信装置5は、第1動作モード、第2動作モード及び第3動作モードの3つの動作モードを有する。通信装置5の動作モードは、ディップスイッチ19により設定される。また、通信装置5の動作モードは、エンジニアリングツール4からの指示信号により設定されても良い。
通信装置5は、第1動作モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を使用して、第1通信機器2及び第2通信機器3との間の通信の確立、つまりリンクアップを行う。具体的には、制御部16は、第1動作モードにおいて、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を有効にする。実施の形態1において、第1動作モードを通常動作モードと呼ぶこととする。
第1PHY部13は、第1動作モードでは、通信装置5が電源オンされたとき又は第1通信機器2とケーブル6で接続されたときに、第1通信機器2との間でオートネゴシエーションを行い、第1通信機器2との間の通信の確立、つまりリンクアップを行う。これにより、エンジニアリングツール4は、第1通信機器2との間で通信を行うことが可能となる。第1PHY部13は、決定した通信設定情報をレジスタ13aに記憶させる。
第2PHY部14は、第1動作モードでは、通信装置5が電源オンされたとき又は第2通信機器3とケーブル7で接続されたときに、第2通信機器3との間でオートネゴシエーションを行い、第2通信機器3との間の通信の確立、つまりリンクアップを行う。これにより、エンジニアリングツール4は、第2通信機器3との間で通信を行うことが可能となる。第2PHY部14は、決定した通信設定情報をレジスタ14aに記憶させる。
通信装置5は、第2動作モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を使用して、第1通信機器2及び第2通信機器3との間の通信の確立、つまりリンクアップを行う。具体的には、制御部16は、第2動作モードにおいて、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を有効にする。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3との間で通信を行うことが可能となる。
更に、通信装置5は、第2動作モードでは、他の動作モードから第2動作モードに遷移したとき又は第1PHY部13若しくは第2PHY部14のオートネゴシエーション機能を使用して第1通信機器2若しくは第2通信機器3との間の通信の確立つまりリンクアップを行ったときに、レジスタ13aに記憶されている第1通信機器2との間のリンクアップ時の通信設定情報若しくはレジスタ14aに記憶されている第2通信機器3との間のリンクアップ時の通信設定情報を読み出して、記憶部17に記憶させる。実施の形態1において、第2動作モードを高速リンクアップ設定モードと呼ぶこととする。
図2は、実施の形態1にかかる通信装置を備えるシステムの構成を示す図である。図2に示すように、制御部16は、高速リンクアップ設定モードでは、レジスタ13a、第1PHY部13、MAC部15、制御部16及び記憶部17を経由する経路21に沿って、レジスタ13aに記憶されている第1通信機器2との間のリンクアップ時の通信設定情報を読み出して、記憶部17に書き込む。また、制御部16は、レジスタ14a、第2PHY部14、MAC部15、制御部16及び記憶部17を経由する経路22に沿って、レジスタ14aに記憶されている第2通信機器3との間のリンクアップ時の通信設定情報を読み出して、記憶部17に書き込む。
なお、制御部16は、高速リンクアップ設定モードでは、他の動作モードから高速リンクアップ設定モードに遷移したとき又は第1通信機器2若しくは第2通信機器3との間の通信状態がリンクダウンからリンクアップに変化する都度、レジスタ13aに記憶されている第1通信機器2との間のリンクアップ時の通信設定情報若しくはレジスタ14aに記憶されている第2通信機器3との間のリンクアップ時の通信設定情報を記憶部17に上書きする。従って、高速リンクアップ設定モードでは、レジスタ13a及び14a内の通信設定情報と、記憶部17内の通信設定情報は常に同一である。
通信装置5は、第3動作モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を無効にする。具体的には、制御部16は、第3動作モードにおいて、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を無効にする。
通信装置5は、第3動作モードでは、通信装置5の電源投入時に、高速リンクアップ設定モードで記憶部17に書き込まれた第1通信機器2との間のリンクアップ時の通信設定情報及び第2通信機器3との間のリンクアップ時の通信設定情報を読み出し、読み出した2つの通信設定情報をレジスタ13a及び14aに夫々書き込むことで、第1PHY部13と第1通信機器2との間及び第2PHY部14と第2通信機器3との間の通信を夫々確立する。実施の形態1において、第3動作モードを高速リンクアップ動作モードと呼ぶこととする。
図3は、実施の形態1にかかる通信装置を備えるシステムの構成を示す図である。図3に示すように、制御部16は、高速リンクアップ動作モードでは、記憶部17、制御部16、MAC部15、第1PHY部13及びレジスタ13aを経由する経路23に沿って、記憶部17に記憶されている第1通信機器2との間のリンクアップ時の通信設定情報を読み出して、レジスタ13aに記憶させる。これにより、第1PHY部13は、第1通信機器2との間でリンクアップすることができる。
また、制御部16は、記憶部17、制御部16、MAC部15、第2PHY部14及びレジスタ14aを経由する経路24に沿って、記憶部17に記憶されている第2通信機器3との間のリンクアップ時の通信設定情報を読み出して、レジスタ14aに記憶させる。これにより、第2PHY部14は、第2通信機器3との間でリンクアップすることができる。
これにより、通信装置5は、高速リンクアップ動作モードにおいて、オートネゴシエーションを行うことなく第1通信機器2及び第2通信機器3との間でリンクアップすることができる。これにより、通信装置5は、オートネゴシエーションに要する時間を不要とすることができ、第1通信機器2及び第2通信機器3との間でリンクアップする時間を短縮することができる。これは、通信装置5と第1通信機器2及び第2通信機器3との間で頻繁にリンクダウンが生じる場合に、特に効果的である。
なお、通信装置5は、高速リンクアップ動作モードでは、オートネゴシエーションを行わないので、以下のような不都合が生じる可能性がある。すなわち、通信装置5は、システム1のネットワーク構成に変更があった場合、第1通信機器2及び第2通信機器3との間でリンクアップをすることができない可能性がある。
図4は、実施の形態1にかかる通信装置を備えるシステムの構成を示す図である。図4に示すように、ケーブル6がコネクタ11から外されてコネクタ12に接続され、ケーブル7がコネクタ12から外されてコネクタ11に接続されている。
図4に示すネットワーク構成において、高速リンクアップ動作モードに設定された通信装置5に電源が投入されると、記憶部17に記憶されている第1通信機器2との間の通信設定情報がレジスタ13aに書き込まれ、記憶部17に記憶されている第2通信機器3との間の通信設定情報がレジスタ14aに書き込まれる。
すると、第1PHY部13は、第1通信機器2との間の通信設定情報を使用して第2通信機器3と通信しようとするので、第2通信機器3との間でリンクアップをすることができない可能性がある。同様に、第2PHY部14は、第2通信機器3との間の通信設定情報を使用して第1通信機器2と通信しようとするので、第1通信機器2との間でリンクアップをすることができない可能性がある。
なお、第1PHY部13と第1通信機器2との間で決定された通信設定情報と、第2PHY部14と第2通信機器3との間で決定された通信設定情報と、が同一であれば、図4に示すネットワーク構成でも、第1PHY部13と第2通信機器3との間及び第2PHY部14と第1通信機器2との間のリンクアップができる。しかし、第1PHY部13と第1通信機器2との間で決定された通信設定情報と、第2PHY部14と第2通信機器3との間で決定された通信設定情報と、が同一でなければ、第1PHY部13と第2通信機器3との間及び第2PHY部14と第1通信機器2との間のリンクアップができない。
そこで、通信装置5は、高速リンクアップ動作モードにおいて、予め定められた時間が経過しても第1PHY部13及び第2PHY部14と第1通信機器2及び第2通信機器3との間でリンクアップしていない場合には、ディップスイッチ19又はエンジニアリングツール4からの指令にかかわらず、通常動作モードに遷移する。
予め定められた時間が経過したかどうかは、第1PHY部13のリンクアップ又はリンクダウンを表すフラグをレジスタ13aに、第2PHY部14のリンクアップ又はリンクダウンを表すフラグをレジスタ14aに、夫々設け、制御部16がこれらのフラグを定期的に監視することで、判定可能である。
具体的には、制御部16は、高速リンクアップ動作モードから通常動作モードに遷移すると、制御部16、MAC部15及び第1PHY部13を経由する経路25に沿って、オートネゴシエーションを有効にする指令を第1PHY部13に送る。第1PHY部13は、制御部16からの指令に基づいて、第2通信機器3との間でオートネゴシエーションを行い、第2通信機器3との間で通信設定情報を決定し、決定した通信設定情報をレジスタ13aに書き込む。これにより、第1PHY部13は、第2通信機器3との間でリンクアップすることができる。これにより、エンジニアリングツール4は、第2通信機器3との間で通信を行うことが可能となる。
同様に、制御部16は、制御部16、MAC部15及び第2PHY部14を経由する経路26に沿って、オートネゴシエーションを有効にする指令を第2PHY部14に送る。第2PHY部14は、制御部16からの指令に基づいて、第1通信機器2との間でオートネゴシエーションを行い、第1通信機器2との間で通信設定情報を決定し、決定した通信設定情報をレジスタ14aに書き込む。これにより、第2PHY部14は、第1通信機器2との間でリンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2との間で通信を行うことが可能となる。
これにより、通信装置5は、ネットワーク構成が変更された場合であっても、第1PHY部13と第2通信機器3との間及び第2PHY部14と第1通信機器2との間のリンクアップを実現することが可能となる。
図5は、実施の形態1にかかる通信装置の各動作モードでの通信確立時の処理項目を示す表である。表30の第1行は、通常動作モードでの通信確立時の処理項目を示し、表30の第2行は、高速リンクアップ設定モードでの通信確立時の処理項目を示し、表30の第3行は、高速リンクアップ動作モードでの通信確立時の処理項目を示す。
通信装置5は、表30の第1行に示すように、通常動作モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を有効にする。また、通信装置5は、通常動作モードでは、通信設定情報を、第1PHY部13及び第2PHY部14のオートネゴシエーション機能により決定する。また、通信装置5は、通常動作モードでは、記憶部17へのアクセスを行わない。
通信装置5は、表30の第2行に示すように、高速リンクアップ設定モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を有効にする。また、通信装置5は、高速リンクアップ設定モードでは、通信設定情報を、第1PHY部13及び第2PHY部14のオートネゴシエーション機能により決定する。また、通信装置5は、高速リンクアップ設定モードでは、以下のいずれかのタイミングで、レジスタ13aに記憶されている第1通信機器2との間の通信設定情報又はレジスタ14aに記憶されている第2通信機器3との間の通信設定情報を記憶部17に書き込む。
すなわち、制御部16は、他の動作モードから高速リンクアップ設定モードへの遷移時に、レジスタ13aに記憶されている第1通信機器2との間の通信設定情報及びレジスタ14aに記憶されている第2通信機器3との間の通信設定情報を記憶部17に書き込む。
また、制御部16は、第1PHY部13のオートネゴシエーション機能を使用して第1通信機器2との間の通信の確立つまりリンクアップを行ったとき、つまり第1通信機器2との間の通信状態がリンクダウンからリンクアップに変化したときに、レジスタ13aに記憶されている第1通信機器2との間のリンクアップ時の通信設定情報を、記憶部17に書き込む。
また、制御部16は、第2PHY部14のオートネゴシエーション機能を使用して第2通信機器3との間の通信の確立つまりリンクアップを行ったとき、つまり第2通信機器3との間の通信状態がリンクダウンからリンクアップに変化したときに、レジスタ14aに記憶されている第2通信機器3との間のリンクアップ時の通信設定情報を、記憶部17に書き込む。
通信装置5は、表30の第3行に示すように、高速リンクアップ動作モードでは、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を無効にする。また、通信装置5は、高速リンクアップ動作モードでは、記憶部17に記憶されている通信設定情報を読み出して使用する。また、通信装置5は、高速リンクアップ動作モードでは、電源投入時に、記憶部17に記憶されている第1通信機器2との間のリンクアップ時の通信設定情報及び第2通信機器3との間のリンクアップ時の通信設定情報を読み出し、読み出した2つの通信設定情報をレジスタ13a及び14aに夫々書き込む。
図6は、実施の形態1にかかる通信装置の状態遷移図である。制御部16は、通常動作モードST1において、電源オフされたら、遷移経路S1を経由して、停止状態ST4に遷移する。制御部16は、停止状態ST4において、電源投入されたら、遷移経路S2を経由して、通常動作モードに遷移し、第1PHY部13及び第2PHY部14にオートネゴシエーションを行わせる。これにより、第1PHY部13及び第2PHY部14は、通信先との間で夫々リンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
制御部16は、高速リンクアップ設定モードST2において、電源オフされたら、遷移経路S3を経由して、停止状態ST5に遷移する。制御部16は、停止状態ST5において、電源投入されたら、遷移経路S4を経由して、高速リンクアップ設定モードST2に遷移し、第1PHY部13及び第2PHY部14にオートネゴシエーションを行わせる。また、制御部16は、レジスタ13a及びレジスタ14a内の通信設定情報を夫々読み出して、記憶部17に書き込む。これにより、第1PHY部13及び第2PHY部14は、通信先との間で夫々リンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
制御部16は、高速リンクアップ動作モードST3において、電源オフされたら、遷移経路S5を経由して、停止状態ST6に遷移する。制御部16は、停止状態ST6において、電源投入されたら、遷移経路S6を経由して、高速リンクアップ動作モードST3に遷移する。このとき、制御部16は、第1PHY部13及び第2PHY部14のオートネゴシエーション機能を無効にし、記憶部17に記憶されている2つの通信設定情報を読み出して、レジスタ13a及びレジスタ14aに夫々書き込む。これにより、第1PHY部13及び第2PHY部14は、オートネゴシエーションを行うことなく、通信先との間で夫々リンクアップすることができる。これにより、通信装置5は、オートネゴシエーションに要する時間を不要とすることができ、第1通信機器2及び第2通信機器3との間でリンクアップする時間を短縮することができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
制御部16は、ディップスイッチ19で設定され又はエンジニアリングツール4から指示を受けたら、遷移経路S7を経由して、通常動作モードST1から高速リンクアップ設定モードST2に遷移し又は高速リンクアップ設定モードST2から通常動作モードST1に遷移する。
制御部16は、ディップスイッチ19で設定され又はエンジニアリングツール4から指示を受けたら、遷移経路S8を経由して、高速リンクアップ設定モードST2から高速リンクアップ動作モードST3に遷移し又は高速リンクアップ動作モードST3から高速リンクアップ設定モードST2に遷移する。
制御部16は、ディップスイッチ19で設定され又はエンジニアリングツール4から指示を受けたら、遷移経路S9を経由して、通常動作モードST1から高速リンクアップ動作モードST3に遷移し又は高速リンクアップ動作モードST3から通常動作モードST1に遷移する。
制御部16は、高速リンクアップ動作モードST3において、予め定められた時間が経過しても第1PHY部13又は第2PHY部14がリンクアップできなかったら、遷移経路S10を経由して、通常動作モードST1に遷移し、第1PHY部13及び第2PHY部14にオートネゴシエーションを行わせる。これにより、第1PHY部13及び第2PHY部14は、ネットワーク構成が変更された場合であっても、通信先との間で夫々リンクアップすることができる。これにより、通信装置5は、ネットワーク構成が変更された場合であっても、第1通信機器2及び第2通信機器3との間でリンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
図7は、実施の形態1にかかる通信装置の動作を示すフローチャートである。図7は、通信装置5の通常動作モードでの動作を示すフローチャートである。
通信装置5は、通常動作モードでは、ステップS100において、通信先である第1通信機器2及び第2通信機器3とオートネゴシエーションを行い、通信設定情報を決定する。これにより、通信装置5は、通信先との間で夫々リンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
図8は、実施の形態1にかかる通信装置の動作を示すフローチャートである。図8は、通信装置5の高速リンクアップ設定モードでの動作を示すフローチャートである。
通信装置5は、高速リンクアップ設定モードでは、ステップS110において、通信先である第1通信機器2及び第2通信機器3とオートネゴシエーションを行い、通信設定情報を決定する。これにより、通信装置5は、通信先との間で夫々リンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
次に、通信装置5は、ステップS112において、レジスタ13a及び14aに記憶されている通信設定情報を記憶部17に書き込む。これにより、通信装置5は、リンクアップされたときの通信設定情報を記憶しておくことができる。
図9は、実施の形態1にかかる通信装置の動作を示すフローチャートである。図9は、通信装置5の高速リンクアップ動作モードでの動作を示すフローチャートである。
通信装置5は、高速リンクアップ動作モードでは、ステップS120において、記憶部17に記憶されている通信設定情報をレジスタ13a及び14aに書き込む。
次に、通信装置5は、ステップS122において、予め定められた時間内に第1通信機器2及び第2通信機器3とリンクアップしたか否かを判定する。通信装置5は、ステップS122で予め定められた時間内に第1通信機器2及び第2通信機器3とリンクアップしたと判定したら(Yes)、処理を終了する。これにより、通信装置5は、オートネゴシエーションを行うことなく、第1通信機器2及び第2通信機器3との間でリンクアップすることができる。これにより、通信装置5は、オートネゴシエーションに要する時間を不要とすることができ、第1通信機器2及び第2通信機器3との間でリンクアップする時間を短縮することができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
一方、通信装置5は、ステップS122で予め定められた時間内に第1通信機器2及び第2通信機器3とリンクアップしなかったと判定したら(No)、ステップS124において、図7で示した通常動作モードに遷移する。通信装置5は、通常動作モードでは、第1通信機器2及び第2通信機器3とオートネゴシエーションを行う。これにより、通信装置5は、ネットワーク構成が変更された場合であっても、第1通信機器2及び第2通信機器3との間でリンクアップすることができる。これにより、エンジニアリングツール4は、第1通信機器2及び第2通信機器3と通信を行うことが可能となる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。