(57)【要約】【課題】通信機器のエラー応答の判定基準の切り替えを容易にする。【解決手段】通信機器は、上位機器からの命令フレームを受信する命令フレーム受信部１と、命令フレームを解析する命令フレーム解析部２と、命令フレームの解析結果に応じた処理を実行する実行部３と、エラー応答のレベルを表す値であり、エラー応答の判定基準を指定する値であるエラー応答レベル設定値を記憶する記憶部４と、実行部３での実行結果とエラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて命令フレームに対する応答フレームを作成する応答部５と、応答フレームを上位機器に送信する応答フレーム送信部６と、エラー応答レベル設定値および通信機器のモードの設定を行う設定部７とを備えている。【選択図】  図１
2015109535.tif 000002
【特許請求の範囲】
【請求項１】
上位機器から命令フレームを受信する命令フレーム受信手段と、
前記命令フレームを解析する命令フレーム解析手段と、
前記命令フレームの解析結果に応じた処理を実行する実行手段と、
エラー応答のレベルを表すエラー応答レベル設定値を記憶する記憶手段と、
前記実行手段の実行結果と前記エラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて前記命令フレームに対する応答フレームを作成する応答手段と、
前記応答フレームを前記上位機器に送信する応答フレーム送信手段とを備えることを特徴とする通信機器。
【請求項２】
請求項１記載の通信機器において、
さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、前記エラー応答レベル設定値を設定するエラー応答レベル設定手段を備えることを特徴とする通信機器。
【請求項３】
請求項１記載の通信機器において、
さらに、前記エラー応答レベル設定値を通信機器のモードに対応する値に設定するエラー応答レベル設定手段を備え、
前記記憶手段は、通信機器の各モードとエラー応答レベル設定値とを対応付けて予め記憶することを特徴とする通信機器。
【請求項４】
請求項３記載の通信機器において、
さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、通信機器のモードを設定するモード設定手段を備え、
前記エラー応答レベル設定手段は、前記エラー応答レベル設定値を、前記モード設定手段によって変更された通信機器のモードに対応する値に変更することを特徴とする通信機器。
【請求項５】
請求項１乃至４のいずれか１項に記載の通信機器において、
前記記憶手段は、前記応答手段が下すべき判定結果を表す判定基準を、エラーの種類毎およびエラー応答レベル設定値毎に予め記憶し、
前記応答手段は、前記実行手段の実行結果に基づいてエラーの種類を特定し、特定したエラーの種類と通信機器の現在のエラー応答レベル設定値と前記判定基準とに基づいて、エラー応答するか否かを判定することを特徴とする通信機器。
【請求項６】
上位機器から命令フレームを受信する命令フレーム受信ステップと、
前記命令フレームを解析する命令フレーム解析ステップと、
前記命令フレームの解析結果に応じた処理を実行する実行ステップと、
エラー応答のレベルを表すエラー応答レベル設定値を記憶している記憶手段を参照し、前記実行ステップの実行結果と通信機器の現在のエラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて前記命令フレームに対する応答フレームを作成する応答ステップと、
前記応答フレームを前記上位機器に送信する応答フレーム送信ステップとを含むことを特徴とする通信機器のエラー応答レベル切替方法。
【請求項７】
請求項６記載の通信機器のエラー応答レベル切替方法において、
さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、前記エラー応答レベル設定値を設定するエラー応答レベル設定ステップを含むことを特徴とする通信機器のエラー応答レベル切替方法。
【請求項８】
請求項６記載の通信機器のエラー応答レベル切替方法において、
さらに、前記エラー応答レベル設定値を通信機器のモードに対応する値に設定するエラー応答レベル設定ステップを含み、
前記記憶手段は、通信機器の各モードとエラー応答レベル設定値とを対応付けて予め記憶することを特徴とする通信機器のエラー応答レベル切替方法。
【請求項９】
請求項８記載の通信機器のエラー応答レベル切替方法において、
さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、通信機器のモードを設定するモード設定ステップを含み、
前記エラー応答レベル設定ステップは、前記エラー応答レベル設定値を、前記モード設定ステップで変更された通信機器のモードに対応する値に変更するステップを含むことを特徴とする通信機器のエラー応答レベル切替方法。
【請求項１０】
請求項６乃至９のいずれか１項に記載の通信機器のエラー応答レベル切替方法において、
前記記憶手段は、前記応答ステップで下すべき判定結果を表す判定基準を、エラーの種類毎およびエラー応答レベル設定値毎に予め記憶し、
前記応答ステップは、前記実行ステップの実行結果に基づいてエラーの種類を特定し、特定したエラーの種類と通信機器の現在のエラー応答レベル設定値と前記判定基準とに基づいて、エラー応答するか否かを判定することを特徴とする通信機器のエラー応答レベル切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークに接続されたコントローラなどの通信機器に係り、特にエラー応答の判定基準を切り替えることが可能な通信機器およびエラー応答レベル切替方法に関するものである。
【背景技術】
【０００２】
ネットワークと接続された例えばコントローラなどの通信機器では、効率や使い勝手を優先した使い方をした場合に発生する軽微な異常がある。
例えば、上位の装置から通信機器に対してデータを読み書きするときに、通信機器の連続したデータアドレスの中に、単発的にアクセス不可のデータアドレスがある場合、連続したデータアドレスを使った１対の命令フレームと応答フレームで、読み書きするほうが、アクセス不可のデータアドレスを含まないように分割した複数の命令フレームと応答フレームで読み書きするよりも効率が良い。この場合、アクセス不可のデータアドレスに対するアクセスが軽微な異常となる。
【０００３】
また、通信機器の設定や状態によってアクセスの可／不可が変わるデータアドレスがある場合、アクセスの可／不可にかかわらず読み書きするほうが、上位の装置の通信制御プログラムが簡単になる。この場合、アクセス不可のときに行ったアクセスが軽微な異常となる。
【０００４】
従来は、軽微な異常によって通信機器の動作が停止しないようにするために、（１）エラー応答のエラー種類から異常の重大性を判定し、重大な異常の場合だけ通信機器を停止させる、（２）重大な異常だけがエラー応答となるように上位の装置の通信制御プログラムを作成し、エラー応答の場合は通信機器を停止させる、等の方法が採用されていた。
【０００５】
しかしながら、これらの方法では、軽微な異常によるエラー応答が発生せず、軽微な異常を検出することができないので、通信機器の十分な試験が実現できない。そこで、異常試験時には通信機器に異常処理用基板を実装し、通信機器の運用時は異常処理用基板を除去することで、異常試験時には軽微な異常も検出できるようにしていた（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２８３０６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に開示された技術によれば、通信機器の運用モードと試験モードを切り替えることで、エラー応答の判定基準を切り替えることができる。しかしながら、特許文献１に開示された技術では、切り替えのために異常処理用基板の挿抜が必要になり、使い勝手が悪いという問題点があった。
【０００８】
本発明は、上記課題を解決するためになされたもので、エラー応答の判定基準を簡単に切り替えることができる通信機器およびエラー応答レベル切替方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の通信機器は、上位機器から命令フレームを受信する命令フレーム受信手段と、前記命令フレームを解析する命令フレーム解析手段と、前記命令フレームの解析結果に応じた処理を実行する実行手段と、エラー応答のレベルを表すエラー応答レベル設定値を記憶する記憶手段と、前記実行手段の実行結果と前記エラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて前記命令フレームに対する応答フレームを作成する応答手段と、前記応答フレームを前記上位機器に送信する応答フレーム送信手段とを備えることを特徴とするものである。
【００１０】
また、本発明の通信機器の１構成例は、さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、前記エラー応答レベル設定値を設定するエラー応答レベル設定手段を備えることを特徴とするものである。
また、本発明の通信機器の１構成例は、さらに、前記エラー応答レベル設定値を通信機器のモードに対応する値に設定するエラー応答レベル設定手段を備え、前記記憶手段は、通信機器の各モードとエラー応答レベル設定値とを対応付けて予め記憶することを特徴とするものである。
また、本発明の通信機器の１構成例は、さらに、前記命令フレーム、通信機器の操作スイッチまたは通信機器へのデジタル入力のいずれかに応じて、通信機器のモードを設定するモード設定手段を備え、前記エラー応答レベル設定手段は、前記エラー応答レベル設定値を、前記モード設定手段によって変更された通信機器のモードに対応する値に変更することを特徴とするものである。
また、本発明の通信機器の１構成例において、前記記憶手段は、前記応答手段が下すべき判定結果を表す判定基準を、エラーの種類毎およびエラー応答レベル設定値毎に予め記憶し、前記応答手段は、前記実行手段の実行結果に基づいてエラーの種類を特定し、特定したエラーの種類と通信機器の現在のエラー応答レベル設定値と前記判定基準とに基づいて、エラー応答するか否かを判定することを特徴とするものである。
【００１１】
また、本発明の通信機器のエラー応答レベル切替方法は、上位機器から命令フレームを受信する命令フレーム受信ステップと、前記命令フレームを解析する命令フレーム解析ステップと、前記命令フレームの解析結果に応じた処理を実行する実行ステップと、エラー応答のレベルを表すエラー応答レベル設定値を記憶している記憶手段を参照し、前記実行ステップの実行結果と通信機器の現在のエラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて前記命令フレームに対する応答フレームを作成する応答ステップと、前記応答フレームを前記上位機器に送信する応答フレーム送信ステップとを含むことを特徴とするものである。
【発明の効果】
【００１２】
本発明によれば、記憶手段に記憶されたエラー応答レベル設定値によって、通信機器のエラー応答の判定基準を簡単に切り替えることができる。例えば通信機器の運用時には、エラー応答レベル（感度）を下げることで、軽微なエラーでエラー応答が発生しないようにすることができ、一方、通信機器の試験を行いたいときには、エラーの原因が分かるようにするためにエラー応答レベル（感度）を上げることで、エラーの重大性と無関係にエラー応答を発生させることができる。こうして、通信機器の運用時には軽微なエラー発生による機器の停止を防止することができ、通信機器の試験を行うときには軽微なエラーでも、その原因を容易に調査可能となる。
【００１３】
また、本発明では、エラー応答レベル設定値を通信機器のモードと連動させることによって、通信機器のエラー応答の判定基準を簡単に切り替えることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１の実施の形態に係る通信機器の構成を示すブロック図である。
【図２】本発明の第１の実施の形態に係る通信機器の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［第１の実施の形態］
以下、本発明の実施の形態について図面を参照して説明する。図１は本発明の第１の実施の形態に係る通信機器の構成を示すブロック図である。通信機器は、図示しない上位機器からの送信信号である命令フレームを受信する命令フレーム受信部１と、命令フレームを解析する命令フレーム解析部２と、命令フレームの解析結果に応じた処理を実行する実行部３と、エラー応答のレベル（感度）を表す値であり、エラー応答の判定基準を指定する値であるエラー応答レベル設定値を記憶する記憶部４と、実行部３での実行結果とエラー応答レベル設定値とに基づいてエラー応答するか否かを判定し、この判定結果に応じて命令フレームに対する応答信号である応答フレームを作成する応答部５と、応答フレームを上位機器に送信する応答フレーム送信部６と、エラー応答レベル設定値および通信機器のモードの設定を行う設定部７と、表示部８と、操作スイッチ９と、デジタル入力部１０とを備えている。設定部７は、エラー応答レベル設定手段とモード設定手段とを構成している。
【００１６】
以下、本実施の形態の通信機器の動作を説明する。図２は通信機器の動作を示すフローチャートである。
命令フレーム受信部１は、ネットワークを介して接続された上位機器から命令フレームを受信すると（図２ステップＳ１においてＹＥＳ）、この命令フレームを命令フレーム解析部２に渡す。
命令フレーム解析部２は、命令フレーム受信部１から受け取った命令フレームを解析する（図２ステップＳ２）。
【００１７】
実行部３は、命令フレーム解析部２による命令フレームの解析結果を受け取り、命令フレームに記述された命令に応じた処理を実行する（図２ステップＳ３）。例えば通信機器が温度制御のためのコントローラである場合、命令フレームに応じて行う処理としては、設定値の書き込みや読み出し、温度測定値の読み出し等がある。また、コントローラは、上位機器または使用者から設定された温度設定値と制御対象の温度測定値とが一致するように温度制御を行うことになる。コントローラによる制御は周知の技術であるので、詳細な説明は省略する。
【００１８】
そして、実行部３は、命令フレームに応じた実行結果を応答部５に渡す。この実行結果には、命令フレームに応じて実行した処理の内容を示す情報と、処理の結果得られた値（読み出した設定値や測定値など）と、エラーの有無情報とが含まれる。
【００１９】
次に、応答部５は、実行部３での実行結果に基づいてエラーが発生したか否かを判定し、エラーが発生した場合には実行部３での実行結果に基づいてエラーの種類（エラーコード）を特定し、特定したエラーの種類と通信機器の現在のエラー応答レベルとに基づいて、エラー応答するか否かを判定し、命令フレームに対する応答フレームを作成する（図２ステップＳ４）。
【００２０】
［エラー要因］
ここで、エラー要因とエラー応答レベルとの関係について説明する。実行部３による実行の過程で発生したエラーは、そのエラーの内容に応じたエラーコードで表される。エラー応答フレームを作成するか否かは、エラー応答レベルに従ってエラー要因毎に判定される。エラー要因とエラー応答の判定結果との関係を表１に示す。
【００２１】
【表１】
2015109535.tif 000003
【００２２】
表１では、応答部５が下すべき判定結果を表す判定基準が、エラーの種類（エラーコード）毎およびエラー応答レベル設定値毎に記述されている。表１の例では、エラー応答レベル設定値が０、１、２の３段階あるものとする。なお、表１における「異常」、「正常」はエラーの有無ではなく、エラー応答するか否かを表している。すなわち、「異常」はエラー応答することを意味し、「正常」はエラー応答しないことを意味している。
【００２３】
応答部５は、エラーが無い場合、すなわちエラーコードが０の場合、エラー応答レベル０，１，２のいずれの場合も正常（エラー応答しない）と判定する。この場合、応答部５は、命令フレームで命令された処理を正常に実行できたことを示す正常応答フレームを作成する。応答部５で作成される応答フレーム中には、エラーコードが記述される。正常応答フレームの場合には、エラーコード部分は「０」、すなわちエラー無しという内容が記述される。
【００２４】
未定義の命令を含む命令フレームを受信した場合、エラーコードは１０となる。命令フレーム中の後述するパラメータの数が命令と合っていない場合、エラーコードは１１となる。応答部５は、エラーコード１０，１１のいずれかのエラーが発生した場合、エラー応答レベル０，１，２のいずれの場合でも異常（エラー応答する）と判定する。この場合、応答部５は、エラーが発生したことを示すエラー応答フレームを作成する。エラー応答フレームを作成する場合には、エラー要因に応じたエラーコードがフレーム中に記述される。したがって、エラーコード１０，１１のいずれかがエラー応答フレーム中に記述されることになる。
【００２５】
読み出しが常時不可のデータを読み出そうとする読み出し命令フレームを受信した場合、エラーコードは２０となる。読み出しが一時的に不可のデータを読み出そうとする読み出し命令フレームを受信した場合、エラーコードは２１となる。応答部５は、エラーコード２０，２１のいずれかのエラーが発生した場合、エラー応答レベル０，１では正常と判定し、エラー応答レベル２では異常と判定する。したがって、エラー応答レベル０，１では正常応答フレーム中にエラーコード０が記述され、エラー応答レベル２ではエラー応答フレーム中にエラーコード２０，２１のいずれかが記述される。
【００２６】
書き込みが常時不可のデータを書き込もうとする書き込み命令フレームを受信した場合、エラーコードは３０となる。書き込みが一時的に不可のデータを書き込もうとする書き込み命令フレームを受信した場合、エラーコードは３１となる。書き込み可能なデータ範囲外の値のデータを書き込もうとする書き込み命令フレームを受信した場合、エラーコードは３２となる。応答部５は、エラーコード３０，３１，３２のいずれかのエラーが発生した場合、エラー応答レベル０では正常と判定し、エラー応答レベル１，２では異常と判定する。したがって、エラー応答レベル０では正常応答フレーム中にエラーコード０が記述され、エラー応答レベル１，２ではエラー応答フレーム中にエラーコード３０，３１，３２のいずれかが記述される。
【００２７】
［通信フレーム］
次に、通信機器と上位機器との間でやり取りされる通信フレーム（命令フレーム、応答フレーム）について説明する。本実施の形態の通信フレームは、構成要素と、構成要素を区切るカンマ（，）で定義される。例えば、命令フレームは、［機器識別番号］，［命令］（，［パラメータ１］，［パラメータ２］，…，［パラメータｎ］）という構造で作成される。機器識別番号は、各通信機器に固有の番号である。パラメータは必要に応じて設定される値で、記述してもよいし記述しなくてもよい。
【００２８】
また、応答フレームは、例えば［機器識別番号］，［エラーコード］（，［パラメータ１］，［パラメータ２］，…，［パラメータｎ］）という構造で作成される。命令フレームの場合と同様に、パラメータは必要に応じて記述される値である。なお、応答フレームに記述できるエラーコードは１つなので、１つの命令フレームに応じた処理で複数のエラー要因のエラーが発生した場合、その中の１つだけのエラー要因に対応するエラーコードを応答フレームに記述することになる。
【００２９】
［読み出し命令フレーム］
通信機器からデータを読み出すための読み出し命令フレームは、例えば［機器識別番号］，［読み出し命令］，［先頭データのアドレス］，［データ個数］という構造で作成される。読み出し命令は文字「Ｒ」で表現される。先頭データのアドレス、およびデータ個数という２種類の数値はパラメータである。読み出し命令フレームは、具体的には「１０１，Ｒ，１，４」という構造になる。この読み出し命令フレームは、「機器識別番号１０１の通信機器のアドレス１から４個のデータを読み出す」ことを意味している。
【００３０】
［読み出し応答フレーム］
読み出し命令フレームに対する読み出し応答フレームは、例えば［機器識別番号］，［エラーコード］（，［データ１］，［データ２］，…，［データｎ］）という構造で作成される。データ１〜データｎは読み出した数値を示すパラメータである。データ読み出しが正常に実行できたことを示す読み出し正常応答フレームは、具体的には「１０１，０，１００，２００，３００，４００」という構造になる。この読み出し正常応答フレームは、「機器識別番号１０１の通信機器からデータを正常に読み出すことができ、読み出したデータは順に１００，２００，３００，４００である」ことを意味している。
【００３１】
データ読み出しでエラーが発生したことを示す読み出しエラー応答フレームは、具体的には「１０１，１０」という構造になる。この読み出しエラー応答フレームは、「機器識別番号１０１の通信機器に対して未定義の命令を送信するというエラーが発生し、命令に対するデータは無い」ことを意味している。
【００３２】
また、読み出しエラー応答フレームの別の例として、「１０１，２０，０，０，０，０」という例も考えられる。この読み出しエラー応答フレームは、「機器識別番号１０１の通信機器から、読み出しが常時不可のデータを読み出そうとしたエラーが発生し、読み出したデータは順に０，０，０，０である」ことを意味している。この読み出しエラー応答フレームにおいて、４つのデータは読み出し応答フレームの形式を守るために付けられているが、実質的な意味を持っていない。
【００３３】
［書き込み命令フレーム］
通信機器に対してデータを書き込むための書き込み命令フレームは、例えば［機器識別番号］，［書き込み命令］，［先頭データのアドレス］，［データ個数］，［データ１］（，［データ２］，  ，…，［データｎ］）という構造で作成される。書き込み命令は文字「Ｗ」で表現される。先頭データのアドレス、およびデータ個数という２種類の数値はパラメータである。また、データ１〜データｎは書き込む数値を示すパラメータである。書き込み命令フレームは、具体的には「１０１，Ｗ，１，４，１００，２００，３００，４００」という構造になる。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス１から順に４個のデータを書き込み、書き込むデータの値は順に１００，２００，３００，４００である」ことを意味している。
【００３４】
［書き込み応答フレーム］
書き込み命令フレームに対する書き込み応答フレームは、例えば［機器識別番号］，［エラーコード］という構造で作成される。データ書き込みが正常に実行できたことを示す書き込み正常応答フレームは、具体的には「１０１，０」という構造になる。この書き込み正常応答フレームは、「機器識別番号１０１の通信機器においてデータ書き込みが正常に行われた」ことを意味している。
【００３５】
また、データ書き込みでエラーが発生したことを示す書き込みエラー応答フレームは、具体的には「１０１，１０」という構造になる。この書き込みエラー応答フレームは、「機器識別番号１０１の通信機器に対して未定義の命令を送信するというエラーが発生した」という意味である。また、書き込みエラー応答フレームの別の例として、「１０１，３０」という例も考えられる。この書き込みエラー応答フレームは、「機器識別番号１０１の通信機器に対して、書き込みが常時不可のデータを書き込もうとするエラーが発生した」ことを意味している。
【００３６】
［データ構成］
次に、通信機器で読み出しや書き込みの対象となるデータの例を表２に示す。
【００３７】
【表２】
2015109535.tif 000004
【００３８】
ここでは、通信機器が温度制御のためのコントローラである場合を想定している。温度測定値は、記憶部４のアドレス１に格納されるデータであり、読み出しは常時可能で、書き込みは常時不可となっている。温度設定値は、記憶部４のアドレス２に格納されるデータであり、読み出し、書き込み共に常時可能となっている。温度警報発生状態は、記憶部４のアドレス３に格納されるデータであり、温度測定値が後述する温度警報設定値以上になったときに値が「１」（警報有り）となり、温度測定値が温度警報設定値未満のときに値が「０」（警報無し）となるデータである。温度警報発生状態は、読み出しは常時可能で、書き込みは常時不可となっている。温度警報設定値は、記憶部４のアドレス４に格納されるデータであり、読み出し、書き込み共に常時可能となっている。
【００３９】
以上のように、記憶部４には、エラーの内容とエラーコードとの関係（表１）が記憶され、また応答部５が下すべき判定結果を表す判定基準（表１）が、エラーの種類（エラーコード）毎およびエラー応答レベル設定値毎に記憶されている。さらに、記憶部４には、現在のエラー応答レベル設定値（０，１，２のいずれか）と、表２に示したようなデータの定義と、データとが格納されている。
【００４０】
応答部５は、実行部３での実行結果に基づいてエラーが発生したか否かを判定し、エラーが発生した場合には実行部３での実行結果と表１の情報に基づいてエラーの種類（エラーコード）を特定し、特定したエラーの種類と通信機器の現在のエラー応答レベル設定値と表１の情報に基づいて、エラー応答するか否かを判定し、判定結果に応じて正常応答フレームまたはエラー応答フレームのいずれかを作成する。
【００４１】
応答フレーム送信部６は、応答部５が作成した応答フレームを、命令フレームの送信元の上位機器に返信する（図２ステップＳ５）。
以上により、命令フレームに対する通信機器の一連の処理が終了する。
【００４２】
本実施の形態では、記憶部４に記憶されたエラー応答レベル設定値によって、エラー応答の判定基準を簡単に切り替えることができる。例えば通信機器の運用時には、エラー応答レベル（感度）を表１のレベル０に下げることで、軽微なエラーでエラー応答が発生しないようにすることができ、一方、通信機器の試験を行いたいときには、エラーの原因が分かるようにするためにエラー応答レベル（感度）を表１のレベル２に上げることで、エラーの重大性と無関係にエラー応答を発生させることができる。こうして、通信機器の運用時には軽微なエラー発生による機器の停止を防止することができ、通信機器の試験を行うときには軽微なエラーでも、その原因を容易に調査可能となる。
【００４３】
［エラー応答レベル設定値２での動作］
次に、本実施の形態の通信機器の動作をより具体的な例で説明する。ここでは、通信機器の試験を行うために、エラー応答レベル設定値が「２」（表１のレベル２）になっているものとする。例えば、上位機器から「１０１，Ｗ，１，４，５００，６００，０，８００」という書き込み命令フレームを受信したものとする。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス１の温度測定値として５００を書き込み、アドレス２の温度設定値として６００を書き込み、アドレス３の温度警報発生状態の値として０を書き込み、アドレス４の温度警報設定値として８００を書き込む」ことを意味している。
【００４４】
応答部５は、記憶部４に記憶されているデータの定義（表２）に基づき、アドレス１の温度測定値への書き込みは常時不可であると判定する。また、応答部５は、アドレス２の温度設定値への書き込みは常時可であり、指定されたデータの値６００は書き込み可能なデータの範囲内であると判定する。また、応答部５は、アドレス３の温度警報発生状態への書き込みは常時不可であると判定する。さらに、応答部５は、アドレス４の温度警報設定値への書き込みは常時可であり、指定されたデータの値８００は書き込み可能なデータの範囲内であると判定する。
【００４５】
したがって、応答部５は、「１０１，Ｗ，１，４，５００，６００，０，８００」という書き込み命令フレームに対して、「１０１，３０」という書き込みエラー応答フレームを作成する。この書き込みエラー応答フレームは、「機器識別番号１０１の通信機器に対して、書き込みが常時不可のデータを書き込もうとするエラーが発生した」ことを意味している。
【００４６】
この書き込みエラーの原因は表２のデータ構成に照らせば明白である。通信機器の使用者は、「１０１，Ｗ，１，４，５００，６００，０，８００」という書き込み命令フレームを通信機器に対して送信すれば、書き込みエラーになることと、温度測定値と温度警報発生状態への書き込みはできないことを承知しているので、書き込みエラー応答フレームが発生しても「問題ない」と判断することができる。
【００４７】
アドレス１の温度測定値とアドレス３の温度警報発生状態への書き込みは、本来は不要であるが、１つの命令フレームで４個のデータを読み出したり、書き込んだりすることで、通信システムを簡易にすることができる。
【００４８】
さらに別の例として、上位機器の通信ソフトウェアのバグにより、「１０１，Ｗ，１，４」という書き込み命令フレームを受信したものとする。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス１から順に４個のデータを書き込む」ことを意味しているが、書き込み命令フレーム中に４個のデータが記述されていない。このため、応答部５は、パラメータの数が命令に合っていないと判定する。
【００４９】
そして、応答部５は、「１０１，１１」という書き込みエラー応答フレームを作成する。この書き込みエラー応答フレームは、「機器識別番号１０１の通信機器に送信した命令フレームにおいてパラメータの数が命令に合っていない」ことを意味している。このエラーは、命令フレームを送信した装置の通信ソフトウェアのバグに起因するものである。通信機器の使用者は、書き込みエラー応答フレームが発生したことにより、「対策が必要である」と判断することができる。
【００５０】
［エラー応答レベル設定値０での動作］
次に、エラー応答レベル設定値が「０」（表１のレベル０）になっているときの動作を説明する。例えば、上位機器から「１０１，Ｗ，１，４，５００，６００，０，８００」という書き込み命令フレームを受信したものとする。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス１の温度測定値として５００を書き込み、アドレス２の温度設定値として６００を書き込み、アドレス３の温度警報発生状態の値として０を書き込み、アドレス４の温度警報設定値として８００を書き込む」ことを意味している。
【００５１】
応答部５は、記憶部４に記憶されているデータの定義（表２）に基づき、アドレス１の温度測定値への書き込みは常時不可であると判定する。また、応答部５は、アドレス２の温度設定値への書き込みは常時可であり、指定されたデータの値６００は書き込み可能なデータの範囲内であると判定する。また、応答部５は、アドレス３の温度警報発生状態への書き込みは常時不可であると判定する。さらに、応答部５は、アドレス４の温度警報設定値への書き込みは常時可であり、指定されたデータの値８００は書き込み可能なデータの範囲内であると判定する。
【００５２】
したがって、エラー応答レベル設定値が「２」であれば、上記のとおり「１０１，３０」という書き込みエラー応答フレームが作成される。これに対して、エラー応答レベル設定値が「０」の場合、応答部５は、「１０１，０」という書き込み正常応答フレームを作成する。
【００５３】
このような書き込み正常応答フレームが作成される理由は、エラー応答レベル設定値が「０」の場合、書き込みが常時不可のデータを書き込もうとするエラーが発生した場合でも、正常と判定されるからである。通信機器の使用者は、「１０１，Ｗ，１，４，５００，６００，０，８００」という書き込み命令フレームを通信機器に対して送信すれば、書き込みが禁止されている温度測定値や温度警報発生状態の値に書き込みを試みることになり、軽微な書き込みエラーとなるが、通信機器の応答としては書き込み正常応答フレームになることを承知しているので、「問題ない」と判断することができる。
【００５４】
さらに別の例として、上位機器の通信ソフトウェアのバグにより、「１０１，Ｗ，１，４」という書き込み命令フレームを受信したものとする。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス１から順に４個のデータを書き込む」ことを意味しているが、書き込み命令フレーム中に４個のデータが記述されていない。このため、応答部５は、パラメータの数が命令に合っていないと判定する。
【００５５】
したがって、応答部５は、「１０１，１１」という書き込みエラー応答フレームを作成する。このような書き込みエラー応答フレームが作成される理由は、エラー応答レベル設定値が「０」または「２」のいずれの場合でも、パラメータの数が命令に合っていない場合、異常と判定されるからである。このエラーは、命令フレームを送信した装置の通信ソフトウェアのバグに起因するものである。通信機器の使用者は、書き込みエラー応答フレームが発生したことにより、「対策が必要である」と判断することができる。
【００５６】
［エラー応答レベル設定値１での動作］
次に、エラー応答レベル設定値が「１」（表１のレベル１）になっているときの動作を説明する。例えば、上位機器から「１０１，Ｒ，１，４」という読み出し命令フレームを受信したものとする。この読み出し命令フレームは、「機器識別番号１０１の通信機器のアドレス１から４個のデータを読み出す」ことを意味している。
【００５７】
応答部５は、記憶部４に記憶されているデータの定義（表２）に基づき、アドレス１の温度測定値、アドレス２の温度設定値、アドレス３の温度警報発生状態、およびアドレス４の温度警報設定値は全て常時読み出し可能であると判定する。したがって、応答部５は、例えば「１０１，０，１００，２００，３００，４００」という読み出し正常応答フレームを作成する。この読み出し正常応答フレームは、「機器識別番号１０１の通信機器からデータを正常に読み出すことができ、読み出したデータは順に１００，２００，３００，４００である」ことを意味している。
【００５８】
さらに別の例として、上位機器から「１０１，Ｒ，１０，１」という読み出し命令フレームを受信したものとする。この読み出し命令フレームは、「機器識別番号１０１の通信機器のアドレス１０から１個のデータを読み出す」ことを意味している。ここで、記憶部４のアドレス１０に格納されているデータが常時読み出し不可のデータであるとする。したがって、エラー応答レベル設定値が「２」であれば、応答部５は、「１０１，２０，０」という読み出しエラー応答フレームを作成する。これに対して、エラー応答レベル設定値が「１」の場合、応答部５は、「１０１，０」という読み出し正常応答フレームを作成する。このような読み出し正常応答フレームが作成される理由は、エラー応答レベル設定値が「１」の場合、読み出しが常時不可のデータを読み出そうとするエラーが発生した場合でも、正常と判定されるからである。
【００５９】
［エラー応答レベルの変更方法］
上記のように、記憶部４には、エラー応答レベル設定値（０，１，２のいずれか）が格納されており、このエラー応答レベル設定値により通信機器のエラー応答レベルが決定される。このエラー応答レベル設定値を変更することで、通信機器のエラー応答レベルを変更することができる。
【００６０】
エラー応答レベル設定値の変更方法としては、ネットワークを介して上位機器から変更する方法がある。ここで、エラー応答レベル設定値が記憶部４のアドレス９９９９に格納されているとすると、上位機器から例えば「１０１，Ｗ，９９９９，１，２」という書き込み命令フレームを送信する。この書き込み命令フレームは、「機器識別番号１０１の通信機器のアドレス９９９９の値として２を書き込む」ことを意味している。
【００６１】
設定部７は、命令フレーム解析部２による命令フレームの解析の結果、エラー応答レベル設定値への書き込みを指示する書き込み命令フレームであることを認識すると、この書き込み命令フレームで指定された値２を、記憶部４のアドレス９９９９のエラー応答レベル設定値として書き込む。こうして、命令フレームによってエラー応答レベル設定値を変更することができる。
【００６２】
なお、上記のエラー応答レベル設定値の変更方法は通信機器１台ごとにエラー応答レベル設定値を変更する方法であるが、ネットワークに接続された全ての通信機器に対して、エラー応答レベル設定値を変えるような通信システム命令を定義すれば、その命令によって、全ての通信機器のエラー応答レベル設定値を変更することができる。例えば全ての通信機器を対象とする場合の機器識別番号を０と定義する。この場合、例えば「０，Ｗ，９９９９，１，２」という書き込み命令フレームを送信すればよい。これにより、ネットワークに接続されている全ての通信機器のアドレス９９９９に格納されているエラー応答レベル設定値を２に変更することができる。
【００６３】
また、上記のエラー応答レベル設定値の変更方法は、エラー応答レベル設定値変更のための命令フレームを使う方法であるが、上位機器から通信機器への通信のアクセス用の命令フレーム自体にエラー応答レベル設定値の切り替えのための指定情報を記述するようにしてもよい。
【００６４】
エラー応答レベル設定値を命令フレームによって変更した場合、その変更の有効な時間を定義、あるいは設定できるようにしてもよい。この場合、設定部７は、変更の有効な時間が過ぎたときに、記憶部４に記憶されているエラー応答レベル設定値を変更前の値に戻す。これにより、使用者が通信機器のエラー応答レベルを一時的に変更した後に、エラー応答レベルを元に戻すことを忘れてしまったとしても、通信機器のエラー応答レベルを自動的に復帰させることができる。
【００６５】
また、エラー応答レベル設定値を命令フレームによって変更した場合、変更後に通信機器の停電やリセットが起きた場合には、設定部７は、変更後のエラー応答レベル設定値を維持するようにしてもよいし、エラー応答レベル設定値を予め定められた初期値に戻すようにしてもよい。
【００６６】
［エラー応答レベルの確認方法］
エラー応答レベル設定値の変更方法があるならば、その結果であるエラー応答レベルを確認する方法もあると便利である。このような方法があれば、エラー応答レベル設定値の変更が正しく行われたこと、あるいは、行われなかったことを確認できる。また、現在の応答フレームのエラーコードが、どのようなエラー応答レベルで判断されたものかを確認できる。
【００６７】
上記と同様に、エラー応答レベル設定値が記憶部４のアドレス９９９９に格納されているとすると、上位機器から例えば「１０１，Ｒ，９９９９，１」という読み出し命令フレームを送信する。この読み出し命令フレームは、「機器識別番号１０１の通信機器のアドレス９９９９からデータ１個を読み出す」ことを意味している。
【００６８】
この読み出し命令フレームに対して、応答部５は、例えば「１０１，０，２」という読み出し応答フレームを作成する。この読み出し応答フレームは、「機器識別番号１０１の通信機器からデータを正常に読み出すことができ、読み出したデータは２である」ことを意味している。こうして、命令フレームによって通信機器のエラー応答レベル設定値を読み出すことができるので、通信機器の使用者は現在のエラー応答レベルを確認することができる。
【００６９】
なお、上記の確認方法はエラー応答レベル設定値を通信によって読み出す方法であるが、応答部５が現在のエラー応答レベル設定値を表示部８に表示させるようにしてもよい。表示の方法としては、エラー応答レベル設定値をそのまま数値表示したり、ＬＥＤなどのランプの点灯／消灯、色、点滅の間隔でエラー応答レベル設定値を区別して表示したりする方法がある。こうして、通信機器の現在のエラー応答レベルを使用者に知らせることができる。
【００７０】
［第２の実施の形態］
第１の実施の形態では、エラー応答レベル設定値を命令フレームによって変更しているが、これに限るものではなく、例えば通信機器に設けられた操作スイッチ９によって変更することも可能である。すなわち、設定部７は、使用者がエラー応答レベル設定用の操作スイッチ９を操作したときに、記憶部４に記載されている、通信機器の現在のエラー応答レベル設定値を操作スイッチ９の操作に応じて変更する。
【００７１】
また、エラー応答レベル設定値を特定のデジタル入力によって変更することも可能である。デジタル入力部１０は、外部の装置からのデジタル入力を受け付ける。記憶部４には、特定のデジタル入力がＬＯＷ状態のときのエラー応答レベル設定値と、特定のデジタル入力がＨＩＧＨ状態のときのエラー応答レベル設定値とが予め記憶されている。設定部７は、特定のデジタル入力の状態に応じて、ＬＯＷ状態のときのエラー応答レベル設定値とＨＩＧＨ状態のときのエラー応答レベル設定値のいずれかを選択し、選択した値を通信機器の現在のエラー応答レベル設定値とする。こうして、特定のデジタル入力のＬＯＷ、ＨＩＧＨを切り替えることによって、エラー応答レベル設定値を変更することができる。
【００７２】
なお、上記のエラー応答レベル設定値の変更方法では、特定のデジタル入力がＬＯＷ状態のときのエラー応答レベル設定値とＨＩＧＨ状態のときのエラー応答レベル設定値とは、記憶部４に予め設定されている固定値であるが、例えば書き込み命令フレームを用いることによって、これらのエラー応答レベル設定値を書き換え可能なことは言うまでもない。
【００７３】
［第３の実施の形態］
次に、本発明の第３の実施の形態について説明する。本実施の形態においても通信機器の構成は第１の実施の形態と同様であるので、図１の符号を用いて説明する。第１、第２の実施の形態では、エラー応答レベル設定値が通信機器のモードと無関係に設定されるようになっているが、エラー応答レベル設定値を通信機器のモードと連動させるようにしてもよい。本実施の形態における通信機器のモードとエラー応答レベル設定値との関係の１例を表３に示す。
【００７４】
【表３】
2015109535.tif 000005
【００７５】
表３の例では、通信機器のモードが運用モードのときはエラー応答レベル設定値が０となり、通信機器のモードが通信機器の試験用のデバッグモードのときはエラー応答レベル設定値が２となる。
本実施の形態の記憶部４には、表３に示したような通信機器のモードとエラー応答レベル設定値との関係が格納されている。
【００７６】
設定部７は、記憶部４に記憶されているエラー応答レベル設定値のうち、通信機器のモードに対応するエラー応答レベル設定値を、通信機器の現在のエラー応答レベル設定値として設定する。したがって、エラー要因とエラー応答レベルとの関係が表１のとおりであれば、運用モードでは、エラーコード１０，１１のエラーを異常（エラー応答する）と判定し、エラーコード２０，２１，３０，３１，３２のエラーを正常（エラー応答しない）と判定する。また、デバッグモードでは、全てのエラーコードのエラーを異常と判定する。
【００７７】
エラー応答レベル設定値が０〜１での通信機器の具体的な動作は第１の実施の形態で説明したとおりである。
以上のように、本実施の形態では、エラー応答レベル設定値を通信機器のモードと連動させることによって、エラー応答の判定基準を簡単に切り替えることができる。例えば通信機器の運用モードでは、エラー応答レベル（感度）を表１のレベル０に下げることで、軽微なエラーでエラー応答が発生しないようにすることができ、一方、通信機器の試験を行うデバッグモードでは、エラーの原因が分かるようにするためにエラー応答レベル（感度）を表１のレベル２に上げることで、エラーの重大性と無関係にエラー応答を発生させることができる。こうして、通信機器の運用時には軽微なエラー発生による機器の停止を防止することができ、通信機器の試験を行うときには軽微なエラーでも、その原因を容易に調査可能となる。
【００７８】
また、通信機器のモードを変えることによって、使用者は必要な情報から効率よく判断を行うことが可能となる。
通信機器のデバッグモードでは、エラー応答レベルが２となるので、書き込み命令フレーム中に記述された、個々のアドレスに対する書き込みが全て行われたのか、一部あるいは全部が行われなかったのかを確認することができるし、書き込み命令フレーム自体が正常なのか異常なのかも確認することができる。このようにすれば、使用者は、書き込み命令フレームに対する通信機器の動作を調べることができるので、通信システムのデバッグを効率的に行うことが可能になる。
【００７９】
一方、通信機器の運用モードでは、エラー応答レベルが０となるので、書き込み命令フレーム中に記述された、個々のアドレスに対する書き込みについては確認できなくなるが、書き込み命令フレーム自体が正常なのか異常なのかは確認することができる。このようにすれば、通信システムを運用している時に異常な命令フレームだけを容易に検出できるようになる。また、運用モードにおいて通信機器から書き込み正常応答フレームが返ってくるにも拘わらず、特定のアドレスに対する書き込みが行われない場合、デバッグモードに切り替えて、書き込みエラー応答フレーム中のエラーコードを確かめて、データの書き込みが行われない理由を調べることができる。
【００８０】
［エラー応答レベルの変更方法］
エラー応答レベルを変更する方法としては、第１、第２の実施の形態と同様に、命令フレームを用いる方法と、操作スイッチ９を用いる方法と、デジタル入力を用いる方法とがある。
【００８１】
命令フレームを用いてエラー応答レベルを変更する場合には、上位機器から通信機器のモードを変更する命令フレームを送信すればよい。設定部７は、命令フレーム解析部２による命令フレームの解析の結果、通信機器のモード変更を指示する命令フレームであることを認識すると、通信機器のモードを命令フレームで指定されたモードに変更する。さらに、設定部７は、記憶部４に記憶されているエラー応答レベル設定値のうち、変更後の通信機器のモードに対応するエラー応答レベル設定値を、通信機器の現在のエラー応答レベル設定値として設定する。こうして、命令フレームによって、通信機器のモードと連動してエラー応答レベル設定値を変更することができる。
【００８２】
また、使用者がモード設定用の操作スイッチ９を操作すると、設定部７は、操作スイッチ９の操作に応じて通信機器のモードを変更する。さらに、設定部７は、変更後の通信機器のモードに対応するエラー応答レベル設定値を、通信機器の現在のエラー応答レベル設定値として設定する。こうして、操作スイッチ９によって、通信機器のモードと連動してエラー応答レベル設定値を変更することができる。
【００８３】
また、デジタル入力を用いてエラー応答レベルを変更する場合には、特定のデジタル入力を通信機器に与えるようにすればよい。設定部７は、特定のデジタル入力に応じて通信機器のモードを変更する。さらに、設定部７は、変更後の通信機器のモードに対応するエラー応答レベル設定値を、通信機器の現在のエラー応答レベル設定値として設定する。こうして、デジタル入力によって、通信機器のモードと連動してエラー応答レベル設定値を変更することができる。
【００８４】
なお、上記のエラー応答レベル設定値の変更方法では、通信機器のモードとエラー応答レベル設定値との関係が固定状態となっているが、例えば書き込み命令フレームを用いることによって、通信機器の各モードに対応するエラー応答レベル設定値を書き換え可能なことは言うまでもない。これにより、表３に示した関係を変更することができる。
【００８５】
エラー応答レベルを確認する方法は第１の実施の形態で説明したとおりである。なお、本実施の形態の場合には、通信機器のモードとエラー応答レベル設定値とが連動しているので、通信機器の現在のモードを確認できれば、エラー応答レベルを推定することも可能である。
【００８６】
第１〜第３の実施の形態で説明した通信機器は、ＣＰＵ（Central Processing Unit）、記憶装置及びインタフェースを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。ＣＰＵは、記憶装置に格納されたプログラムに従って第１〜第３の実施の形態で説明した処理を実行する。
【産業上の利用可能性】
【００８７】
本発明は、ネットワークに接続されたコントローラなどの通信機器において、エラー応答の判定基準を切り替える技術に適用することができる。
【符号の説明】
【００８８】
１…命令フレーム受信部、２…命令フレーム解析部、３…実行部、４…記憶部、５…応答部、６…応答フレーム送信部、７…設定部、８…表示部、９…操作スイッチ、１０…デジタル入力部。
【図１】
2015109535.tif 000006
【図２】
2015109535.tif 000007