(57)【特許請求の範囲】
【請求項１】
送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、前記マスタの送信部から送信されたフレーム単位のデータを全ての前記スレーブを経由して前記マスタの受信部にて受信するように接続されたデジタル通信システムの設計装置であって、
使用者の操作入力を受け付ける操作入力手段と、
前記デジタル通信システムの設計結果を出力する結果出力手段と、
前記操作入力手段および前記結果出力手段を制御するとともに、前記デジタル通信システムの設計を実行する制御手段とを備え、
前記制御手段は、
前記操作入力手段を介して使用者の操作入力を受け付けることによって、前記マスタの送信部から送信するフレームのデータ数を前記通信システムの通信速度にて除算して得られたネットワーク通信時間、前記マスタの送信部からフレームを送信する際のバラつき時間の最大値である最大ネットワーク通信ジッタ時間、前記マスタの送信部から送信されたフレームが前記マスタの受信部に到達するまでの遅延時間である全路ネットワーク遅延時間、および前記スレーブの受信部にて受信したフレームを前記スレーブにて処理する時間であるスレーブ内部処理時間の各種パラメータの入力を受け付ける入力受付部と、
前記マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを前記入力受付部にて受け付けられた前記ネットワーク通信時間、前記最大ネットワーク通信ジッタ時間、前記全路ネットワーク遅延時間、および前記スレーブ内部処理時間に基づいて算出するサイクルタイム算出部と、
前記サイクルタイム算出部にて算出された前記設定サイクルタイムを前記結果出力手段に出力させる設計結果出力部とを備えることを特徴とするデジタル通信システムの設計装置。
【請求項２】
請求項１に記載されたデジタル通信システムの設計装置において、
前記制御手段は、
前記操作入力手段を介して使用者の操作入力を受け付けることによって、前記スレーブにてフレームの受信を完了すると発生するイベントから前記複数のスレーブの同期信号までのイベント同期時間、および前記複数のスレーブの同期信号から当該スレーブに次のフレームが到着するまでの次フレーム到着時間の各種パラメータの入力を更に受け付ける前記入力受付部と、
前記複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムを前記サイクルタイム算出部にて算出された前記設定サイクルタイム、前記イベント同期時間、および前記次フレーム到着時間に基づいて算出するグローバルシフトタイム算出部と、
前記グローバルシフトタイム算出部にて算出された前記グローバルシフトタイムを前記結果出力手段に更に出力させる前記設計結果出力部とを備えることを特徴とするデジタル通信システムの設計装置。
【請求項３】
送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、前記マスタの送信部から送信されたフレーム単位のデータを全ての前記スレーブを経由して前記マスタの受信部にて受信するように接続されたデジタル通信システムの設計方法であって、
前記マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを前記マスタの送信部から送信するフレームのデータ数を前記通信システムの通信速度にて除算して得られたネットワーク通信時間、前記マスタの送信部からフレームを送信する際のバラつき時間の最大値である最大ネットワーク通信ジッタ時間、前記マスタの送信部から送信されたフレームが前記マスタの受信部に到達するまでの遅延時間である全路ネットワーク遅延時間、および前記スレーブの受信部にて受信したフレームを前記スレーブにて処理する時間であるスレーブ内部処理時間の各種パラメータに基づいて算出するサイクルタイム算出ステップを備えることを特徴とするデジタル通信システムの設計方法。
【請求項４】
請求項３に記載されたデジタル通信システムの設計方法において、
前記複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムを前記スレーブにてフレームの受信を完了すると発生するイベントから前記複数のスレーブの同期信号までのイベント同期時間、および前記複数のスレーブの同期信号から当該スレーブに次のフレームが到着するまでの次フレーム到着時間の各種パラメータと、前記サイクルタイム算出ステップにて算出された前記設定サイクルタイムとに基づいて算出するグローバルシフトタイム算出ステップを備えることを特徴とするデジタル通信システムの設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル通信システムの設計装置、およびその設計方法に関する。
【背景技術】
【０００２】
従来、送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、マスタの送信部から送信されたフレーム単位のデータを全てのスレーブを経由してマスタの受信部にて受信するように接続されたマスタスレーブ方式のデジタル通信システムとして、イーサネット（登録商標）をベースとしたイーサキャット（ＥｔｈｅｒＣＡＴ：Ether for Control Automation Technology）（登録商標）を適用したデジタル通信システムが知られている（例えば、特許文献１参照）。【０００３】
このデジタル通信システムでは、マスタの送信部から送信されたフレーム単位のデータ（以下、フレームとする）は、最初のスレーブの受信部にて受信される。マスタの送信部から送信されたフレームを受信したスレーブは、オンザフライ方式にてフレームのデータを処理し、このスレーブの送信部から次のスレーブにフレームを送信する。その後、このフレームは、全てのスレーブを経由して再びマスタの受信部にて受信されることになる。このデジタル通信システムは、マスタの送信部からフレームを送信した後、次のフレームを送信するまでの時間をサイクルタイムとする１連のサイクル通信を実行している。【０００４】
また、このデジタル通信システムでは、各スレーブにてフレームを受信するタイミングは異なっているので、各スレーブは、フレームを受信したタイミングを起点としてスレーブ内部の動作を開始してしまうと、各スレーブ間の同期を取ることができなくなる。
そこで、このデジタル通信システムは、ＤＣ同期（Distribution Clock Synchronization）という各スレーブ間の同期を取るための機能を有している。このＤＣ同期では、各スレーブは、マスタの送信部からフレームを送信した時点を開始時点とし、ある一定の時間（グローバルシフトタイム）の経過後にＤＣ同期信号を発生させる。そして、各スレーブは、このＤＣ同期信号に同期してスレーブ内部の動作を開始する。このグローバルシフトタイムは、フレームを受信するタイミングの最も遅いスレーブの動作準備を終えた時点よりも後にＤＣ同期信号を発生させるように設定しなければならない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１２８２６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、各スレーブ間の同期を取るための機能を実現するために重要になるサイクルタイムを、どのように決定すればよいかについては明確に規定されておらず、適切に設定することができないという問題がある。【０００７】
本発明の目的は、サイクルタイムを適切に設定することができるデジタル通信システムの設計装置、およびその設計方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明のデジタル通信システムの設計装置は、送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、前記マスタの送信部から送信されたフレーム単位のデータを全ての前記スレーブを経由して前記マスタの受信部にて受信するように接続されたデジタル通信システムの設計装置であって、使用者の操作入力を受け付ける操作入力手段と、前記デジタル通信システムの設計結果を出力する結果出力手段と、前記操作入力手段および前記結果出力手段を制御するとともに、前記デジタル通信システムの設計を実行する制御手段とを備え、前記制御手段は、前記操作入力手段を介して使用者の操作入力を受け付けることによって、前記マスタの送信部から送信するフレームのデータ数を前記通信システムの通信速度にて除算して得られたネットワーク通信時間、前記マスタの送信部からフレームを送信する際のバラつき時間の最大値である最大ネットワーク通信ジッタ時間、前記マスタの送信部から送信されたフレームが前記マスタの受信部に到達するまでの遅延時間である全路ネットワーク遅延時間、および前記スレーブの受信部にて受信したフレームを前記スレーブにて処理する時間であるスレーブ内部処理時間の各種パラメータの入力を受け付ける入力受付部と、前記マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを前記入力受付部にて受け付けられた前記ネットワーク通信時間、前記最大ネットワーク通信ジッタ時間、前記全路ネットワーク遅延時間、および前記スレーブ内部処理時間に基づいて算出するサイクルタイム算出部と、前記サイクルタイム算出部にて算出された前記設定サイクルタイムを前記結果出力手段に出力させる設計結果出力部とを備えることを特徴とする。【０００９】
このような構成によれば、デジタル通信システムの設計装置は、マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを入力受付部にて受け付けられたネットワーク通信時間、最大ネットワーク通信ジッタ時間、全路ネットワーク遅延時間、およびスレーブ内部処理時間に基づいて算出するサイクルタイム算出部と、サイクルタイム算出部にて算出された設定サイクルタイムを結果出力手段に出力させる設計結果出力部とを備えているので、スレーブの処理内容に基づく設定サイクルタイムを算出することができる。したがって、デジタル通信システムの設計者は、結果出力手段に出力された設定サイクルタイムをデジタル通信システムに設定することによって、サイクルタイムを適切に設定することができる。【００１０】
本発明では、前記制御手段は、前記操作入力手段を介して使用者の操作入力を受け付けることによって、前記スレーブにてフレームの受信を完了すると発生するイベントから前記複数のスレーブの同期信号までのイベント同期時間、および前記複数のスレーブの同期信号から当該スレーブに次のフレームが到着するまでの次フレーム到着時間の各種パラメータの入力を更に受け付ける前記入力受付部と、前記複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムを前記サイクルタイム算出部にて算出された前記設定サイクルタイム、前記イベント同期時間、および前記次フレーム到着時間に基づいて算出するグローバルシフトタイム算出部と、前記グローバルシフトタイム算出部にて算出された前記グローバルシフトタイムを前記結果出力手段に更に出力させる前記設計結果出力部とを備えることが好ましい。【００１１】
このような構成によれば、デジタル通信システムの設計装置は、複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムをサイクルタイム算出部にて算出された設定サイクルタイム、イベント同期時間、および次フレーム到着時間に基づいて算出するグローバルシフトタイム算出部と、グローバルシフトタイム算出部にて算出されたグローバルシフトタイムを結果出力手段に更に出力させる設計結果出力部とを備えているので、デジタル通信システムの設計者は、結果出力手段に出力されたグローバルシフトタイムをデジタル通信システムに設定することによって、グローバルシフトタイムを適切に設定することができる。【００１２】
本発明のデジタル通信システムの設計方法は、送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、前記マスタの送信部から送信されたフレーム単位のデータを全ての前記スレーブを経由して前記マスタの受信部にて受信するように接続されたデジタル通信システムの設計方法であって、前記マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを前記マスタの送信部から送信するフレームのデータ数を前記通信システムの通信速度にて除算して得られたネットワーク通信時間、前記マスタの送信部からフレームを送信する際のバラつき時間の最大値である最大ネットワーク通信ジッタ時間、前記マスタの送信部から送信されたフレームが前記マスタの受信部に到達するまでの遅延時間である全路ネットワーク遅延時間、および前記スレーブの受信部にて受信したフレームを前記スレーブにて処理する時間であるスレーブ内部処理時間の各種パラメータに基づいて算出するサイクルタイム算出ステップを備えることを特徴とする。【００１３】
このような構成によれば、デジタル通信システムの設計方法は、マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムをネットワーク通信時間、最大ネットワーク通信ジッタ時間、全路ネットワーク遅延時間、およびスレーブ内部処理時間に基づいて算出するサイクルタイム算出ステップを備えているので、スレーブの処理内容に基づく設定サイクルタイムを算出することができる。したがって、デジタル通信システムの設計者は、サイクルタイム算出ステップにて算出された設定サイクルタイムをデジタル通信システムに設定することによって、サイクルタイムを適切に設定することができる。【００１４】
本発明では、前記複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムを前記スレーブにてフレームの受信を完了すると発生するイベントから前記複数のスレーブの同期信号までのイベント同期時間、および前記複数のスレーブの同期信号から当該スレーブに次のフレームが到着するまでの次フレーム到着時間の各種パラメータと、前記サイクルタイム算出ステップにて算出された前記設定サイクルタイムとに基づいて算出するグローバルシフトタイム算出ステップを備えることが好ましい。【００１５】
このような構成によれば、デジタル通信システムの設計方法は、複数のスレーブの同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムをサイクルタイム算出ステップにて算出された設定サイクルタイム、イベント同期時間、および次フレーム到着時間に基づいて算出するグローバルシフトタイム算出ステップを備えているので、デジタル通信システムの設計者は、グローバルシフトタイム算出ステップにて算出されたグローバルシフトタイムをデジタル通信システムに設定することによって、グローバルシフトタイムを適切に設定することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係るデジタル通信システムの設計装置の設計対象となるデジタル通信システムの概要を示す図
【図２】デジタル通信システムの設計装置の機能を示すブロック図
【図３】デジタル通信システムにおけるスレーブの処理内容と、この処理内容にかかる時間とを示すタイミングチャート
【図４】ペイロードフレームサイズを変化させてＰＤＩ割り込み処理時間を計測した結果を示すグラフ
【図５】ペイロードフレームサイズを変化させてＳＹＮＣ０割り込み処理時間を計測した結果を示すグラフ
【図６】スレーブ数を変化させて全路ネットワーク遅延時間の平均遅延時間を計測した結果を示すグラフ
【発明を実施するための形態】
【００１７】
以下、本発明の一実施形態を図面に基づいて説明する。
図１は、本発明の一実施形態に係るデジタル通信システムの設計装置の設計対象となるデジタル通信システムの概要を示す図である。
デジタル通信システム１００は、図１に示すように、送信部ＴＸおよび受信部ＲＸを有するマスタ１１０と、送信部ＴＸおよび受信部ＲＸを有する複数のスレーブ１２０（１）〜１２０（ｎ）とを備えている。このデジタル通信システム１００は、マスタ１１０の送信部ＴＸから送信されたフレーム単位のデータを全てのスレーブ１２０（１）〜１２０（ｎ）を経由してマスタ１１０の受信部ＲＸにて受信するように接続されている。このデジタル通信システム１００は、ＥｔｈｅｒＣＡＴ（登録商標）を適用したデジタル通信システムである。
【００１８】
図２は、デジタル通信システムの設計装置の機能を示すブロック図である。
デジタル通信システムの設計装置１は、図２に示すように、使用者の操作入力を受け付けるキーボードや、マウス等の操作入力手段２と、デジタル通信システム１００の設計結果を出力するモニタ等の結果出力手段３と、操作入力手段２および結果出力手段３を制御するとともに、デジタル通信システム１００の設計を実行する制御手段４とを備えている。
【００１９】
制御手段４は、ＣＰＵ（Central Processing Unit）や、メモリなどによって構成され、このメモリに記憶された所定のプログラムに従って情報処理を実行する。この制御手段４は、入力受付部４１と、サイクルタイム算出部４２と、グローバルシフトタイム算出部４３と、設計結果出力部４４とを備えている。
【００２０】
入力受付部４１は、操作入力手段２を介して使用者の操作入力を受け付けることによって、マスタ１１０の送信部ＴＸから送信するフレームのデータ数をデジタル通信システム１００の通信速度にて除算して得られたネットワーク通信時間ｔｎｅｔ、マスタ１１０の送信部ＴＸからフレームを送信する際のバラつき時間の最大値である最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ、マスタ１１０の送信部ＴＸから送信されたフレームがマスタ１１０の受信部ＲＸに到達するまでの遅延時間である全路ネットワーク遅延時間ｔｈｗ、およびスレーブ１２０（１）〜１２０（ｎ）の受信部ＲＸにて受信したフレームをスレーブ１２０（１）〜１２０（ｎ）にて処理する時間であるスレーブ内部処理時間ｔｓの各種パラメータの入力を受け付ける。なお、各種パラメータの内容については後に詳細に説明する。
【００２１】
また、この入力受付部４１は、操作入力手段２を介して使用者の操作入力を受け付けることによって、スレーブ１２０（１）〜１２０（ｎ）にてフレームの受信を完了すると発生するイベント（ＳＭ（Sync Manager）イベント）から複数のスレーブ１２０（１）〜１２０（ｎ）の同期信号（ＤＣ同期信号）までのイベント同期時間ｔＳＭ２ＤＣ（ｉ）、および複数のスレーブ１２０（１）〜１２０（ｎ）の同期信号から当該スレーブに次のフレームが到着するまでの次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）の各種パラメータの入力を更に受け付ける。なお、各種パラメータの内容については後に詳細に説明する。
【００２２】
サイクルタイム算出部４２は、マスタ１１０の送信部ＴＸからフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムｔｃｙｃｌｅを入力受付部４１にて受け付けられたネットワーク通信時間ｔｎｅｔ、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ、全路ネットワーク遅延時間ｔｈｗ、およびスレーブ内部処理時間ｔｓに基づいて算出する。なお、設定サイクルタイムｔｃｙｃｌｅを算出する方法については後に詳細に説明する。
【００２３】
グローバルシフトタイム算出部４３は、複数のスレーブ１２０（１）〜１２０（ｎ）の同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムｔｇｓｈｉｆｔをサイクルタイム算出部４２にて算出された設定サイクルタイムｔｃｙｃｌｅ、イベント同期時間ｔＳＭ２ＤＣ（ｉ）、および次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）に基づいて算出する。なお、グローバルシフトタイムｔｇｓｈｉｆｔを算出する方法については後に詳細に説明する。
【００２４】
設計結果出力部４４は、サイクルタイム算出部４２にて算出された設定サイクルタイムｔｃｙｃｌｅと、グローバルシフトタイム算出部４３にて算出されたグローバルシフトタイムｔｇｓｈｉｆｔを結果出力手段３に出力させる。
【００２５】
図３は、デジタル通信システムにおけるスレーブの処理内容と、この処理内容にかかる時間とを示すタイミングチャートである。
以下、デジタル通信システムの設計装置１にて使用する各種パラメータの内容や、設定サイクルタイムｔｃｙｃｌｅを算出する方法、およびグローバルシフトタイムｔｇｓｈｉｆｔを算出する方法について、図３を参照して説明する。
【００２６】
（Ａ）ネットワーク通信時間ｔｎｅｔ
ネットワーク通信時間ｔｎｅｔは、ＥｔｈｅｒＣＡＴ（登録商標）のフレームを送信するのに要する時間とする。このネットワーク通信時間ｔｎｅｔは、式（１）に示すように、マスタ１１０の送信部ＴＸから送信するフレームのデータ数をデジタル通信システム１００の通信速度Ｃにて除算して得ることができる。
【００２７】
【数１】
0006716822.tif 000002
…式（１）
【００２８】
ここで、
ｆｐ：各スレーブのペイロードフレームサイズ
ｎ：スレーブ数
ｆｈｄｓ：ヘッダーおよび自動的に付加されるフレームサイズ
とする。
【００２９】
（Ｂ）最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ
最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘは、マスタ１１０の送信部ＴＸからフレームを送信する際の最大ばらつき時間とする。
【００３０】
（Ｃ）全路ネットワーク遅延時間ｔｈｗ、および往路ネットワーク遅延時間ｔｈｗｈ（ｉ）
全路ネットワーク遅延時間ｔｈｗは、マスタ１１０の送信部ＴＸから送信されたフレームが各スレーブ１２０（１）〜１２０（ｎ）を経由してマスタ１１０の受信部ＲＸに到達するまでの遅延時間とする。ここで、各スレーブ１２０（１）〜１２０（ｎ）は、フレームが通過する際に遅延を発生させている。本実施形態では、各スレーブ１２０（１）〜１２０（ｎ）は、同一の処理を実行するものとし、この処理される通信量も同一とする。したがって、全路ネットワーク遅延時間ｔｈｗは、式（２）に示すように、スレーブ数ｎを変数とした線形一次方程式にて表現できる。この線形一次方程式の各係数ｋｈｗ，ｌｈｗは、実験等によって求めることができる。各係数ｋｈｗ，ｌｈｗを求める方法については、後に詳細に説明する。
【００３１】
【数２】
0006716822.tif 000003
…式（２）
【００３２】
そして、マスタ１１０の送信部ＴＸから送信されたフレームが各スレーブ１２０（ｉ）に到達するまでの遅延時間を往路ネットワーク遅延時間ｔｈｗｈ（ｉ）とすると、この往路ネットワーク遅延時間ｔｈｗｈ（ｉ）は、式（３）にて表現できる。
【００３３】
【数３】
0006716822.tif 000004
…式（３）
【００３４】
（Ｄ）スレーブ内部処理時間ｔｓ
スレーブ内部処理時間ｔｓは、スレーブ１２０（ｉ）内部の処理に要する時間である。このスレーブ内部処理時間ｔｓは、式（４）に示すように、ＰＤＩ割り込み処理時間（ｔＰＤＩ）とＳＹＮＣ０割り込み処理時間（ｔＳＹＮＣ０）の和算で求めることができる。
【００３５】
【数４】
0006716822.tif 000005
…式（４）
【００３６】
ＰＤＩ割り込み処理時間ｔＰＤＩは、式（５）に示すように、ペイロードフレームサイズｆｐを変数とした線形一次方程式にて表現できる。この線形一次方程式の各係数ｋＰＤＩ，ｌＰＤＩは、実験等によって求めることができる。各係数ｋＰＤＩ，ｌＰＤＩを求める方法については、後に詳細に説明する。
【００３７】
【数５】
0006716822.tif 000006
…式（５）
【００３８】
ＳＹＮＣ０割り込み処理時間ｔＳＹＮＣ０は、式（６）に示すように、ペイロードフレームサイズｆｐを変数とした線形一次方程式にて表現できる。この線形一次方程式の各係数ｋＳＹＮＣ０，ｌＳＹＮＣ０は、実験等によって求めることができる。各係数ｋＳＹＮＣ０，ｌＳＹＮＣ０を求める方法については、後に詳細に説明する。
【００３９】
【数６】
0006716822.tif 000007
…式（６）
【００４０】
（Ｅ）設定サイクルタイムｔｃｙｃｌｅ
設定サイクルタイムｔｃｙｃｌｅは、マスタ１１０の送信部ＴＸからフレームを送信した後、次のフレームを送信するまでのサイクルタイムとする。
【００４１】
（Ｆ）マスタ内部処理時間ｔｍ
マスタ内部処理時間ｔｍは、マスタ１１０内部の処理に要する時間である。ここで、ネットワーク通信のジッタは、マスタ１１０の通信処理の一部である。しかしながら、ネットワーク通信のジッタは、スレーブ１２０（ｉ）の通信モデルにも影響するため独立項とした。本実施形態では、スレーブ１２０（ｉ）の処理内容に基づくサイクルタイムの導出を目的としているので、マスタ１１０内部の通信以外の処理は、式（７）に示すように、無視できるものとする。
【００４２】
【数７】
0006716822.tif 000008
…式（７）
【００４３】
（Ｇ）ユーザーシフトタイムｔｕｓｈｉｆｔ
ユーザーシフトタイムｔｕｓｈｉｆｔは、グローバルシフトタイムｔｇｓｈｉｆｔを決定するために、デジタル通信システム１００の設計者が指定できるシフトタイムである。
【００４４】
（Ｈ）グローバルシフトタイムｔｇｓｈｉｆｔ
グローバルシフトタイムｔｇｓｈｉｆｔは、マスタ１１０のサイクルタイムの開始時点からＤＣ同期信号を発生させる時間を設定するためのシフト時間であり、式（８）にて表現できる。
【００４５】
【数８】
0006716822.tif 000009
…式（８）
【００４６】
（Ｉ）ＳＭイベントからＤＣ同期信号までのイベント同期時間ｔＳＭ２ＤＣ（ｉ）
ここで、ＳＭイベントは、各スレーブ１２０（ｉ）にてフレームの受信を完了すると発生する。したがって、ＳＭイベントからＤＣ同期信号までのイベント同期時間ｔＳＭ２ＤＣ（ｉ）は、式（９）にて表現できる。
【００４７】
【数９】
0006716822.tif 000010
…式（９）
【００４８】
ここで、式（９）に式（３）を代入して式（１０）を得ることができる。
【００４９】
【数１０】
0006716822.tif 000011
…式（１０）
【００５０】
（Ｊ）ＤＣ同期信号から次フレーム到着までの次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）
ここで、マスタ１１０からの接続順が遠いスレーブ１２０（ｉ）ほど大きなハードウェア遅延時間が加算される。したがって、ＤＣ同期信号から次フレーム到着までの次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）は、式（１１）にて表現できる。
【００５１】
【数１１】
0006716822.tif 000012
…式（１１）
【００５２】
ここで、式（１１）に式（３）を代入して式（１２）を得ることができる。
【００５３】
【数１２】
0006716822.tif 000013
…式（１２）
【００５４】
次に、前述した各種パラメータの内容に基づいて、設定サイクルタイムｔｃｙｃｌｅおよびグローバルシフトタイムｔｇｓｈｉｆｔを導出するモデル式（以下、ＣＳ導出モデル式とする）について説明する。
【００５５】
まず、スレーブ内部処理時間ｔｓは、設定サイクルタイムｔｃｙｃｌｅ以内である必要がある。なお、実際のサイクルタイムは、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ分だけ変化するので考慮する必要がある。
したがって、設定サイクルタイムｔｃｙｃｌｅの境界条件は、式（１３）となる。
【００５６】
【数１３】
0006716822.tif 000014
…式（１３）
【００５７】
ここで、式（１３）に式（４）〜（６）を代入して式（１４）を得ることができる。
【００５８】
【数１４】
0006716822.tif 000015
…式（１４）
【００５９】
また、マスタ内部処理時間ｔｍおよびネットワーク通信関連時間（ネットワーク通信時間ｔｎｅｔ、全路ネットワーク遅延時間ｔｈｗ、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ）の合計時間は、設定サイクルタイムｔｃｙｃｌｅ以内である必要がある。
したがって、設定サイクルタイムｔｃｙｃｌｅの境界条件は、以下の式（１５）となる。
【００６０】
【数１５】
0006716822.tif 000016
…式（１５）
【００６１】
ここで、式（１５）に式（１），（２），（７）を代入して式（１６）を得ることができる。
【００６２】
【数１６】
0006716822.tif 000017
…式（１６）
【００６３】
また、ＰＤＩ割り込み処理時間ｔＰＤＩは、式（１７）に示すように、ＳＭイベントからＤＣ同期信号までのイベント同期時間ｔＳＭ２ＤＣ（ｉ）より小さい必要がある。なお、ＳＭイベントからＤＣ同期信号までのイベント同期時間ｔＳＭ２ＤＣ（ｉ）が一番短くなるのは、ｎ番目（最終端）のスレーブとなる。
【００６４】
【数１７】
0006716822.tif 000018
…式（１７）
【００６５】
ここで、式（１７）に式（５），（８），（１０）を代入して式（１８）を得ることができる。
【００６６】
【数１８】
0006716822.tif 000019
…式（１８）
【００６７】
さらに、ＳＹＮＣ０割り込み処理時間ｔＳＹＮＣ０は、式（１９）に示すように、ＤＣ同期信号から次フレーム到着までの次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）より小さい必要がある。次フレーム到着までの時間は、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ分だけ変化するので考慮する必要がある。なお、ＤＣ同期信号から次フレーム到着までの次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）が一番短くなるのは、１番目のスレーブとなる。
【００６８】
【数１９】
0006716822.tif 000020
…式（１９）
【００６９】
ここで、式（１９）に式（６），（１２）を代入して式（２０）を得ることができる。
【００７０】
【数２０】
0006716822.tif 000021
…式（２０）
【００７１】
したがって、式（１８），（２０）のグローバルシフトタイムｔｇｓｈｉｆｔの各不等式を満たす設定サイクルタイムｔｃｙｃｌｅは、式（２１）となる。
【００７２】
【数２１】
0006716822.tif 000022
…式（２１）
【００７３】
ただし、グローバルシフトタイムｔｇｓｈｉｆｔは、式（２２）に示すように、設定サイクルタイムｔｃｙｃｌｅを超えないものとする。
【００７４】
【数２２】
0006716822.tif 000023
…式（２２）
【００７５】
また、全フレームサイズは、式（２３）に示すように、Ｅｔｈｅｒｎｅｔ（登録商標）の1フレームサイズの最大値ｆｍａｘである１５１４バイト（１２１１２ビット）を超えないものとする。
【００７６】
【数２３】
0006716822.tif 000024
…式（２３）
【００７７】
このように、設定サイクルタイムｔｃｙｃｌｅは、式（１６），（２１）の連立不等式を満たす解によって求められる。
したがって、サイクルタイム算出部４２は、入力受付部４１にて受け付けられたネットワーク通信時間ｔｎｅｔ、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ、全路ネットワーク遅延時間ｔｈｗ、およびスレーブ内部処理時間ｔｓに基づいて、式（１６），（２１）の連立不等式を満たす解を求めることによって、設定サイクルタイムｔｃｙｃｌｅを算出する（サイクルタイム算出ステップ）。
【００７８】
また、グローバルシフトタイムｔｇｓｈｉｆｔは、式（２０）に導出された範囲の設定サイクルタイムｔｃｙｃｌｅを代入して、式（１８），（２０），（２２）の連立不等式を満たす解によって求められる。
したがって、グローバルシフトタイム算出部４３は、サイクルタイム算出部４２にて算出された設定サイクルタイムｔｃｙｃｌｅ、イベント同期時間ｔＳＭ２ＤＣ（ｉ）、および次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）に基づいて、式（１８），（２０），（２２）の連立不等式を満たす解を求めることによって、グローバルシフトタイムｔｇｓｈｉｆｔを算出する（グローバルシフトタイム算出ステップ）。
【００７９】
＜各種係数の推定＞
前述した式（５），（６）における各係数ｋＰＤＩ，ｌＰＤＩは、ペイロードフレームサイズｆｐを変化させて各処理時間を計測し、近似式を求めて推定する。
具体的には、各係数ｋＰＤＩ，ｌＰＤＩは、各スレーブ１２０（ｉ）に通信処理の開始および終了を示すデジタル出力を制御する機能を実装し、各スレーブ１２０（ｉ）からのデジタル出力を計測することによって、スレーブ内部処理時間ｔｓを計測して推定する。なお、設定サイクルタイムｔｃｙｃｌｅは，１０００μｓとした。
【００８０】
図４は、ペイロードフレームサイズを変化させてＰＤＩ割り込み処理時間を計測した結果を示すグラフである。図４では、ペイロードフレームサイズｆｐを横軸とし、ＰＤＩ割り込み処理時間ｔＰＤＩを縦軸としている。
ペイロードフレームサイズｆｐおよびＰＤＩ割り込み処理時間ｔＰＤＩの関係は、図４に示すように、線形近似式に良くフィットしている。本実施形態では、ｋＰＤＩ＝０．０６５４と推定し、ｌＰＤＩ＝５．８５と推定する。
【００８１】
図５は、ペイロードフレームサイズを変化させてＳＹＮＣ０割り込み処理時間を計測した結果を示すグラフである。図５では、ペイロードフレームサイズｆｐを横軸とし、ＳＹＮＣ０割り込み処理時間ｔＳＹＮＣ０を縦軸としている。
ペイロードフレームサイズｆｐおよびＳＹＮＣ０割り込み処理時間ｔＳＹＮＣ０の関係は、図５に示すように、線形近似式に良くフィットしている。本実施形態では、ｋＳＹＮＣ０＝０．１３２と推定し、ｌＳＹＮＣ０＝２７．０と推定する。
【００８２】
次に、前述した式（２），（３）における各係数ｋｈｗ，ｌｈｗは、主にスレーブ数ｎを変化させて全路ネットワーク遅延時間ｔｈｗを計測し、近似式を求めて推定する。
具体的には、各係数ｋｈｗ，ｌｈｗは、マスタ１１０と、最初のスレーブ１２０（１）との間に、プローブを挿入し、このプローブによって、マスタ１１０の送信部ＴＸから送信されたフレームをプローブにて受信完了した時間と、このフレームが各スレーブ１２０（ｉ）を経由して再びプローブにて受信完了した時間とを計測して推定する。なお、スレーブ数ｎは、１、２、３、５台に変化させる。
【００８３】
なお、ペイロードフレームサイズｆｐは、全て２２４ビットに設定した。そして、スレーブ数ｎを５台とした場合のみ、ペイロードフレームサイズｆｐの変化による影響を計測するために、ペイロードフレームサイズｆｐは、１００８ビットにも設定して計測する。また、設定サイクルタイムｔｃｙｃｌｅによる影響を計測するために、設定サイクルタイムｔｃｙｃｌｅは、２２４ビットのペイロードフレームサイズｆｐに対しては、１０００、２００、１００μｓに設定して計測し、１００８ビットのペイロードフレームサイズｆｐに対しては、３００μｓの設定サイクルタイムｔｃｙｃｌｅに設定して計測する。なお、各計測時間は、１０ｓとした。
【００８４】
以上のような計測を行った結果、各条件における遅延時間の標準偏差は、０．０２〜０．０４μｓとなり、充分に小さい値となった。また、全路ネットワーク遅延時間ｔｈｗは、設定サイクルタイムｔｃｙｃｌｅやペイロードフレームサイズｆｐの変化に関係なく同様の傾向を示した。このため、以下では、ペイロードフレームサイズｆｐを２２４ビットとし、設定サイクルタイムｔｃｙｃｌｅを２００μｓとした場合の全路ネットワーク遅延時間ｔｈｗの平均遅延時間の計測結果について説明する。
【００８５】
図６は、スレーブ数を変化させて全路ネットワーク遅延時間の平均遅延時間を計測した結果を示すグラフである。図６では、スレーブ数ｎを横軸とし、全路ネットワーク遅延時間ｔｈｗの平均遅延時間を縦軸としている。
スレーブ数ｎおよび全路ネットワーク遅延時間ｔｈｗの平均遅延時間の関係は、図６に示すように、線形近似式に良くフィットしている。本実施形態では、ｋｈｗ＝２．９１と推定し、ｌｈｗ＝−０．８５５と推定する。
【００８６】
次に、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘは、マスタ１１０の送信部ＴＸから送信されたフレームの送信時間をプローブで計測して求める。なお、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘは、全路ネットワーク遅延時間ｔｈｗを計測した環境と同様の環境および条件にて計測する。
本実施形態では、各条件において計測された最大ばらつき時間は、１３．９μｓ〜２０．２μｓとなった。このため、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘは、２０．２μｓとした。
【００８７】
また、デジタル通信システムの通信速度Ｃは、１００Ｂａｓｅ−Ｔの規格に基づき１００ｂｉｔ／μｓ（１００Ｍｂｐｓ）となる。そして、ヘッダーおよび自動的に付加されるフレームサイズｆｈｄｓは、Ｅｔｈｅｒｎｅｔ（登録商標），ＥｔｈｅｒＣＡＴ（登録商標）の規格に基づき７６０ｂｉｔとなる。
【００８８】
＜ＣＳ導出モデル式の検証＞
ＣＳ導出モデル式の検証は、全路ネットワーク遅延時間ｔｈｗを計測した環境と同様の環境にて実施した。
なお、スレーブ１２０（ｉ）の処理内容は、マスタ１１０の送信部ＴＸから送信されたフレームの特定値を受信し、同じ値を載せたフレームを返信するものとした。
【００８９】
設定サイクルタイムｔｃｙｃｌｅ、およびグローバルシフトタイムｔｇｓｈｉｆｔを適切に設定できている場合には、マスタ１１０は、２回目のサイクル通信にて特定値をスレーブ１２０（１）から受信することになる。例えば、グローバルシフトタイムｔｇｓｈｉｆｔを適切に設定できていなかった場合には、スレーブ１２０（１）〜１２０（ｎ）内部の処理が間に合わず、マスタ１１０は、３回目以降のサイクル通信にて特定値をスレーブ１２０（１）から受信することになると想定される。
【００９０】
（検証条件Ａ）
検証条件Ａは、スレーブ数ｎ＝５とし、ペイロードフレームサイズｆｐ＝２２４ｂｉｔとした。この検証条件Ａにおいて、設定サイクルタイムｔｃｙｃｌｅは、式（１６），（２１）、および前述した計測に基づき推定された各種係数を適用することによって、式（２４）となる。
【００９１】
【数２４】
0006716822.tif 000025
…式（２４）
【００９２】
ここで、この設定サイクルタイムｔｃｙｃｌｅは、前述した計測に基づき推定された各種係数を適用して算出されているので、計測誤差や、近似による誤差を含んでいる。したがって、実際のデジタル通信システム１００に適用する設定サイクルタイムｔｃｙｃｌｅ＿ｓｅｔは、式（２５）に示すように、マージンを追加して設定した。
【００９３】
【数２５】
0006716822.tif 000026
…式（２５）
【００９４】
また、グローバルシフトタイムｔｇｓｈｉｆｔは、式（１８），（２０），（２５）、および前述した計測に基づき推定された各種係数を適用することによって、式（２６）となる。
【００９５】
【数２６】
0006716822.tif 000027
…式（２６）
【００９６】
ここで、このグローバルシフトタイムｔｇｓｈｉｆｔは、設定サイクルタイムｔｃｙｃｌｅと同様に、誤差を含んでいる。したがって、実際のデジタル通信システム１００に適用するグローバルシフトタイムｔｇｓｈｉｆｔは、７９．５μｓ、８６．５μｓ、１１３．５μｓの３つの値を設定し、式（２６）の範囲外の値として１５０μｓの値を設定した。
【００９７】
（検証条件Ｂ）
検証条件Ｂは、スレーブ数ｎ＝５とし、ペイロードフレームサイズｆｐ＝１００６ｂｉｔとした。この検証条件Ｂにおいて、設定サイクルタイムｔｃｙｃｌｅは、式（１６），（２１）、および前述した計測に基づき推定された各種係数を適用することによって、式（２７）となる。
【００９８】
【数２７】
0006716822.tif 000028
…式（２７）
【００９９】
ここで、この設定サイクルタイムｔｃｙｃｌｅは、前述した計測に基づき推定された各種係数を適用して算出されているので、計測誤差や、近似による誤差を含んでいる。したがって、実際のデジタル通信システム１００に適用する設定サイクルタイムｔｃｙｃｌｅ＿ｓｅｔは、式（２８）に示すように、マージンを追加して設定した。
【０１００】
【数２８】
0006716822.tif 000029
…式（２８）
【０１０１】
また、グローバルシフトタイムｔｇｓｈｉｆｔは、式（１８），（２０），（２５）、および前述した計測に基づき推定された各種係数を適用することによって、式（２９）となる。
【０１０２】
【数２９】
0006716822.tif 000030
…式（２９）
【０１０３】
ここで、このグローバルシフトタイムｔｇｓｈｉｆｔは、設定サイクルタイムｔｃｙｃｌｅと同様に、誤差を含んでいる。したがって、実際のデジタル通信システム１００に適用するグローバルシフトタイムｔｇｓｈｉｆｔは、１６１．５μｓの値を設定し、式（２９）の範囲外の値として２０５．５μｓの値を設定した。
【０１０４】
＜ＣＳ導出モデル式の検証結果＞
検証条件Ａ，Ｂでは、ＣＳ導出モデル式にて導出されたグローバルシフトタイムｔｇｓｈｉｆｔの範囲内に設定したケースでは、マスタ１１０は、２回目のサイクル通信にて特定値をスレーブ１２０（１）から受信した。
しかしながら、ＣＳ導出モデル式にて導出されたグローバルシフトタイムｔｇｓｈｉｆｔの範囲外に設定したケースでは、マスタ１１０は、３回目のサイクル通信にて特定値をスレーブ１２０（１）から受信した。
したがって、本実施形態におけるＣＳ導出モデル式にて導出された設定サイクルタイムｔｃｙｃｌｅおよびグローバルシフトタイムｔｇｓｈｉｆｔは、スレーブの処理内容に基づいて、適切に設定されていることを確認できた。
【０１０５】
このような本実施形態によれば、以下の作用・効果を奏することができる。
（１）デジタル通信システムの設計装置１は、マスタ１１０の送信部ＴＸからフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムｔｃｙｃｌｅを入力受付部４１にて受け付けられたネットワーク通信時間ｔｎｅｔ、最大ネットワーク通信ジッタ時間ｔｊｉｔｔｅｒ＿ｍａｘ、全路ネットワーク遅延時間ｔｈｗ、およびスレーブ内部処理時間ｔｓに基づいて算出するサイクルタイム算出部４２と、サイクルタイム算出部４２にて算出された設定サイクルタイムｔｃｙｃｌｅを結果出力手段３に出力させる設計結果出力部４４とを備えているので、スレーブ１２０（１）〜１２０（ｎ）の処理内容に基づく設定サイクルタイムｔｃｙｃｌｅを算出することができる。したがって、デジタル通信システム１００の設計者は、結果出力手段３に出力された設定サイクルタイムｔｃｙｃｌｅをデジタル通信システム１００に設定することによって、サイクルタイムを適切に設定することができる。
【０１０６】
（２）デジタル通信システムの設計装置１は、複数のスレーブ１２０（１）〜１２０（ｎ）のＤＣ同期信号を発生させる時間を設定するためのシフト時間であるグローバルシフトタイムｔｇｓｈｉｆｔをサイクルタイム算出部４２にて算出された設定サイクルタイムｔｃｙｃｌｅ、イベント同期時間ｔＳＭ２ＤＣ（ｉ）、および次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）に基づいて算出するグローバルシフトタイム算出部４３と、グローバルシフトタイム算出部４３にて算出されたグローバルシフトタイムｔｇｓｈｉｆｔを結果出力手段３に更に出力させる設計結果出力部４４とを備えているので、デジタル通信システム１００の設計者は、結果出力手段３に出力されたグローバルシフトタイムｔｇｓｈｉｆｔをデジタル通信システム１００に設定することによって、グローバルシフトタイムｔｇｓｈｉｆｔを適切に設定することができる。
【０１０７】
〔実施形態の変形〕
なお、本発明は、前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
例えば、前記実施形態では、デジタル通信システムの設計装置１の設計対象としてＥｔｈｅｒＣＡＴ（登録商標）を適用したデジタル通信システム１００を採用していた。
これに対して、デジタル通信システムの設計装置１の設計対象となるデジタル通信システムは、送信部および受信部を有するマスタと、送信部および受信部を有する複数のスレーブとを備え、マスタの送信部から送信されたフレーム単位のデータを全てのスレーブを経由してマスタの受信部にて受信するように接続されたデジタル通信システムであれば、他のデジタル通信システムを採用してもよい。
【０１０８】
また、前記実施形態では、デジタル通信システムの設計装置１は、制御手段４を備え、制御手段４は、グローバルシフトタイム算出部４３を備えていたが、グローバルシフトタイム算出部４３を備えていなくてもよい。この場合には、入力受付部４１は、イベント同期時間ｔＳＭ２ＤＣ（ｉ）、および次フレーム到着時間ｔＤＣ２ＮＦ（ｉ）の各種パラメータの入力を受け付けなくてもよく、設計結果出力部４４は、グローバルシフトタイムｔｇｓｈｉｆｔを結果出力手段３に出力させなくてもよい。
【０１０９】
また、前記実施形態では、サイクルタイム算出部４２は、サイクルタイム算出ステップを実行し、グローバルシフトタイム算出部４３は、グローバルシフトタイム算出ステップを実行していた。
これに対して、設計者は、サイクルタイム算出ステップおよびグローバルシフトタイム算出ステップを自ら実行するようにしてもよい。
【０１１０】
また、前記実施形態では、各スレーブ１２０（１）〜１２０（ｎ）は、同一の処理を実行するものとし、この処理される通信量も同一とすることによって、全路ネットワーク遅延時間ｔｈｗを線形一次方程式にて表現していた。
これに対して、全路ネットワーク遅延時間ｔｈｗは、各スレーブ１２０（１）〜１２０（ｎ）の遅延時間を個別に求め、これらの遅延時間を合計して求めるようにしてもよい。要するに、全路ネットワーク遅延時間ｔｈｗは、マスタ１１０の送信部ＴＸから送信されたフレームが各スレーブ１２０（１）〜１２０（ｎ）を経由してマスタ１１０の受信部ＲＸに到達するまでの遅延時間とすればよい。
【０１１１】
また、前記実施形態では、各スレーブ１２０（１）〜１２０（ｎ）は、同一の処理を実行するものとし、スレーブ内部処理時間ｔｓ（ＰＤＩ割り込み処理時間ｔＰＤＩおよびＳＹＮＣ０割り込み処理時間ｔＳＹＮＣ０）を同一としていた。
これに対して、スレーブ内部処理時間ｔｓは、各スレーブ１２０（１）〜１２０（ｎ）の内部処理時間を個別に求めるようにしてもよい。要するに、スレーブ内部処理時間ｔｓは、スレーブ１２０（ｉ）内部の処理に要する時間であればよい。
【産業上の利用可能性】
【０１１２】
以上のように、本発明は、デジタル通信システムの設計装置、およびその設計方法に好適に利用できる。
【符号の説明】
【０１１３】
１      デジタル通信システムの設計装置
２      操作入力手段
３      結果出力手段
４      制御手段
４１    入力受付部
４２    サイクルタイム算出部
４３    グローバルシフトタイム算出部
４４    設計結果出力部
【要約】
【課題】サイクルタイムを適切に設定することができるデジタル通信システムの設計装置の提供。
【解決手段】デジタル通信システムの設計装置１は、操作入力手段２と、結果出力手段３と、デジタル通信システムの設計を実行する制御手段４とを備える。制御手段４は、入力受付部４１と、サイクルタイム算出部４２と、設計結果出力部４４とを備える。サイクルタイム算出部４２は、マスタの送信部からフレームを送信した後、次のフレームを送信するまでの設定サイクルタイムを入力受付部４１にて受け付けられたネットワーク通信時間、最大ネットワーク通信ジッタ時間、全路ネットワーク遅延時間、およびスレーブ内部処理時間に基づいて算出する。設計結果出力部４４は、サイクルタイム算出部４２にて算出された設定サイクルタイムを結果出力手段３に出力させる。
【選択図】図２【図１】
0006716822.tif 000031
【図２】
0006716822.tif 000032
【図３】
0006716822.tif 000033
【図４】
0006716822.tif 000034
【図５】
0006716822.tif 000035
【図６】
0006716822.tif 000036