JP5655460B2 - プログラマブルコントローラシステム - Google Patents
プログラマブルコントローラシステム Download PDFInfo
- Publication number
- JP5655460B2 JP5655460B2 JP2010212586A JP2010212586A JP5655460B2 JP 5655460 B2 JP5655460 B2 JP 5655460B2 JP 2010212586 A JP2010212586 A JP 2010212586A JP 2010212586 A JP2010212586 A JP 2010212586A JP 5655460 B2 JP5655460 B2 JP 5655460B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- master
- timer value
- slave
- timer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims description 211
- 238000004364 calculation method Methods 0.000 claims description 44
- 230000001360 synchronised effect Effects 0.000 claims description 36
- 230000000737 periodic effect Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 156
- 238000000034 method Methods 0.000 description 141
- 239000000872 buffer Substances 0.000 description 20
- 230000033001 locomotion Effects 0.000 description 10
- 239000013078 crystal Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Programmable Controllers (AREA)
- Selective Calling Equipment (AREA)
Description
1つのプログラマブルコントローラは、プログラムの実行やデータの演算処理などを行うCPUモジュールや、制御機器とプロセスデータの入出力を行うIOモジュールが複数バスで接続されて構成されている。
このようにプログラマブルコントローラのモジュール間を接続するバスとして、リング状の伝送路を用いたプログラマブルコントローラが提案されており、例えば、リング状の伝送路を、プログラマブルコントローラにおけるモジュール間の入力データ、出力データの交換バスとして用いたものが提案されている(例えば、特許文献1参照)。
しかしながら、ネットワークにおける伝送速度の高速化は、耐ノイズ性能の劣化や伝送距離の短距離化などの弊害があり、容易ではない。
そこで、この発明は、上記従来の未解決の問題点に着目してなされたものでありモジュール間での同期化をより高精度に行うことの可能なプログラマブルコントローラシステムを提供することを目的としている。
まず、第1の実施の形態を説明する。
図1は、本発明を適用したプログラマブルコントローラシステムの一例を示す構成図であって、例えばX−Y軸平面上で位置決めを行う加工機など、モーションシステムの駆動制御を行うプログラマブルコントローラシステムである。
このプログラマブルコントローラシステムは、例えば、モジュール“A”〜モジュール“E”の5つのモジュールを備えて構成される。モジュール“A”はCPUモジュール、モジュール“B”〜モジュール“E”はIOモジュールであって、CPUモジュール“A”がリング上に唯一存在するマスタモジュールとして動作する。IOモジュールは、CPUモジュールからの制御データに応じて、その各IOモジュールに接続された外部接続機器xを駆動制御する。前記外部接続機器xは、例えば前記加工機の各部を駆動するためのモータを制御するためのインバータや、サーボ機構などである。
このとき、各モジュールでは、受信データに対する処理を、定周期のタクト割込み発生タイミングで実行する。このタクト割込み発生タイミングは、各モジュールのタイマ値に基づき決定される。
図1において、各モジュールは、モジュール“E”、モジュール“A”、モジュール“B”、モジュール“C”、モジュール“D”の順にデイジーチェーン接続され、隣接するモジュール間は、それぞれ1対1にピアツーピアで接続される。すなわち、モジュール“E”及びモジュール“A”間は、ケーブルL1で接続され、モジュール“A”及びモジュール“B”間はケーブルL2で接続され、モジュール“B”及びモジュール“C”間はケーブルL3で接続され、モジュール“C”及びモジュール“D”間はケーブルL4で接続される。
各モジュールは、図2に示すように、ケーブルLn及びケーブルLn+1の第1の配線L11どうし及び第2の配線L22どうしを、モジュールを介して接続する。また、端部のモジュールであって、一方の接続端子11又は12のみにケーブルLnが接続されているモジュール“D”又は“E”は、接続されたケーブルLnの第1の配線L11と第2の配線L22とを内部で接続する。すなわち、モジュール“D”は、ケーブルL4の第1の配線L11と第2の配線L22とを接続する。また、モジュール“E”は、ケーブルL1の第1の配線L11と第2の配線L22とを接続する。
これによって、各モジュール“A”〜“C”を介して接続された一連の第1の配線L11と、一連の第2の配線L22とが、端部のモジュール“D”及び“E”で接続されて、各ケーブルLnの第1の配線L11と第2の配線L22とからなるリング状の伝送路を形成している。このリング状の伝送路が入出力データ交換バスとして用いられる。
ラッチ回路15は、第1の接続端子11に接続される第1の配線L11から伝送メッセージを入力すると共に、伝送メッセージを切り替え回路18に出力する。
そして、ラッチ回路15は、伝送メッセージの予め設定された特定領域を参照し、この特定領域のデータが予め設定した特定情報であるとき、タイマ17のタイマ値をラッチすると共に、第1のタイマ値有効フラグF1を“1”とし、第1のタイマ値有効フラグF1とラッチタイマ値とを処理部13に出力する。伝送メッセージの特定領域のデータが前記特定情報でないときにはタイマ値のラッチは行なわない。
そして、ラッチ回路16は、伝送メッセージの予め設定された前記特定領域を参照し、この特定領域のデータが前記特定情報であるとき、タイマ17のタイマ値をラッチし、第2のタイマ値有効フラグF2を“1”とし、第2のタイマ値有効フラグF2とラッチタイマ値とを処理部13に出力する。伝送メッセージの前記特定領域のデータが特定情報でないときにはタイマ値のラッチは行なわない。
タイマ17は、水晶振動子を含んで構成され、タイマ値をラッチ回路15及び16に出力する。
また、切り替え回路18は、ラッチ回路16からの伝送メッセージをそのまま第1の接続端子11の第2の配線L22に送出する。
そして、自モジュールがマスタモジュールであるときには、システム同期処理を実行して各モジュールからラッチタイマ値を収集し、これに基づきモジュール間でのタイマ値の同期を図る。
そして、このようにしてモジュール間で同期化されたタイマ値を用いて、バッファ13bに格納された他モジュールからの受信データを読み込み、これに基づき所定の処理を実行する。
マスタモジュールでは、このシステム同期処理を起動時及び予め設定された定周期で実行する。
このため、モジュール間に配置されたスレーブモジュールでは、ラッチ回路15及び16のそれぞれによりタイマ値がラッチされることになる。
スレーブモジュールの処理部13では、タイマラッチ指示メッセージを受信し、これに伴いラッチ回路15、16から、ラッチタイマ値及びタイマ値有効フラグを入力すると、これら情報を所定の記憶領域に保持する(図6ステップS11)。
マスタモジュールでは、各モジュールを周回したタイマラッチ指示メッセージを受信するとこれを伝送路から削除し、次に、タイマ値収集メッセージを送信し、各モジュールに対して、各モジュールでラッチしたタイマ情報の付加を指示する(図5ステップS2)。
前述のように、モジュール間に位置するモジュールでは、往路と復路との2回、同一のタイマラッチ指示メッセージを受信するため、タイマ情報は、往き時におけるタイマ値有効フラグ及びラッチタイマ値と、戻り時におけるタイマ値有効フラグ及びラッチタイマ値とで構成される。
各スレーブモジュールがこの処理を行なうことにより、各モジュールにおけるタイマ情報が、タイマ値収集メッセージの所定の領域に格納され、且つ経由したスレーブモジュールの並び順に、各モジュールにおけるタイマ情報が格納されることになる。
マスタモジュールは、各スレーブモジュールを周回したタイマ値収集用メッセージを受信するとこれを回収する。そして、各スレーブモジュールが格納したタイマ情報の最後に、自モジュールにおけるタイマ情報を格納する(図5ステップS3)。
マスタモジュールは、モジュールごとに伝送遅延時間を算出すると算出した伝送遅延時間を各モジュールに通知するための伝送遅延時間設定メッセージを各モジュール宛に送出する(図5ステップS5)。
マスタモジュールは、各モジュールを周回して戻ってきた伝送遅延時間設定メッセージを伝送路上から削除する。そして、現時点におけるタイマ17のタイマ値を獲得し、これをマスタタイマ値とし、このマスタタイマ値を伝送するためのマスタタイマ値配布メッセージを生成し、これを各モジュール宛にブロードキャストにより送信する(図5ステップS6)。そして、システム同期処理を終了する。
図1に示すモジュール“A”〜“E”からなる論理的なリング状のネットワークが構成されたネットワークシステムにおいて、各モジュールのタイマ値の同期を行なうものとする。
マスタモジュール“A”では、まず、タイマラッチ指示メッセージを各モジュール宛にブロードキャストで送信し(図5ステップS1)、次に、各モジュールでのタイマ情報の付加を指示するタイマ値収集メッセージを各モジュール宛に送信する(図5ステップS2)。
また、各スレーブモジュールではタイマラッチ指示メッセージを受信すると、図8に示すように、ラッチ回路15、16のうち、タイマ値をラッチしたラッチ回路に対応するタイマ値有効フラグを“1”とし、ラッチ回路15、16でタイマラッチ指示メッセージを受信した時点におけるタイマ17のタイマ値と、第1、第2のタイマ値有効フラグとを処理部13に通知し、処理部13では、通知されたタイマ値有効フラグとラッチタイマ値とを対応付けて記憶する(図6ステップS11)。
このため、マスタモジュール“A”に戻ってきたタイマ値収集メッセージには、各モジュールのタイマ情報が各モジュールの配置順に格納されている。
例えば、各モジュールがラッチ回路15でラッチしたラッチタイマ値をTA1〜TE1とし、ラッチ回路16でタイマ値をラッチしたタイミングをTA2〜TE2とすると、図11に示すように、タイマラッチ指示メッセージには、モジュールの並び順に各モジュールを特定する局番とタイマ情報とが対応付けられて格納され、タイマ情報としてタイマ値有効フラグとラッチタイマ値とが格納される。
同様に、モジュール“E”は左端のモジュールであり、ラッチ回路16でのみタイマ値がラッチされるため、ラッチタイマ値TE2と第2のタイマ値有効フラグF2=“1”とが格納され、ラッチ回路15による第1のタイマ値有効フラグF1は“0”として設定される。
ここで、この時点では、各モジュール間においてタイマ値の同期はとられていないため、それぞれのモジュールにおけるタイマ値の間に何ら相関関係はない。
しかしながら、同一モジュール内のタイマ値、例えば、TB1とTB2とは、同一のタイマ17の値をラッチしているため、このタイマ値TB1とTB2との差分は、モジュール“B”において、ラッチタイマ指示メッセージを上流側から受信した時点から同一のメッセージが下流側から戻ってくるまでの所要時間(以下、受信経過時間いう。)を表している。
モジュール“B”における受信経過時間ΔTBとモジュール“C”における受信経過時間ΔTCとの差分DIFFBC(=ΔTB−ΔTC)は、図7及び図9に示すように、「モジュール“B”が上流からメッセージを受信してから、このメッセージがモジュール“C”に到達するまで(図9中の太線m1部分)の所要時間」と「モジュール“C”が下流からメッセージを受信してからこのメッセージがモジュール“B”に到達するまで(図9中の太線m2部分)の所要時間」との和に相当することになる。
したがって、差分DIFFBCは次式(1)で表すことができる。
DIFFBC=(TB2−TB1)−(TC2−TC1) ……(1)
DIFFBC=2×LBC+Tα ……(2)
LBC={(TB2−TB1)−(TC2−TC1)−Tα}/2 ……(3)
隣接するモジュール“C”−“D”間のケーブルL4におけるモジュール間伝送時間LCDも、前記式(3)と同様の手順で算出することができる。
また、以上の例では、マスタモジュール“A”よりも右側に配置されたモジュールにおいて、隣接するモジュール間のモジュール間伝送時間を算出しているが、左側に配置されたモジュールの場合も同様の手順で算出することができる。
具体的には、マスタモジュール“A”とターゲットモジュールとの間に介在する各ケーブルのモジュール間伝送時間及び介在するモジュールにおける処理時間との和を算出しこれをターゲットモジュールまでの伝送遅延時間とする。
図1に示すように、マスタモジュール“A”とターゲットモジュール“C”との間にはモジュール“B”が介在する。このため、伝送遅延時間は、モジュール“A”−“B”間のケーブルL2におけるモジュール間伝送時間と、モジュール“B”におけるメッセージ判定処理時間と、モジュール“B”−“C”間のケーブルL3におけるモジュール間伝送時間と、の和で表されることがわかる。
したがって、マスタモジュール“A”からターゲットモジュールまでの間の伝送遅延時間は、マスタモジュール“A”からターゲットモジュールまでの間に介在する各ケーブルにおけるモジュール間伝送時間と、マスタモジュール“A”からターゲットモジュールまでの間に介在するモジュールの数×メッセージ判定処理時間“Tα”との和から算出することができる。
なお、モジュールにおけるメッセージ判定処理時間Tαは、予め実測しておくこと、或いは、設計時に、メッセージの中継及び受信するか否かの判定に要する所要時間を論理的に算出しておくこと等により予め設定しておけばよい。
各スレーブモジュールでは、伝送遅延時間設定メッセージを受信すると、自モジュールの伝送遅延時間を獲得し、これを所定の記憶領域に保存する(図6ステップS13)。
例えば、図10に示すように、各モジュールの伝送遅延時間が、モジュール“B”は“15”、モジュール“C”は“20”、モジュール“D”は“30”、モジュール“E”は“55”、モジュール“A”は“0”として通知されたものとする。
ここで、マスタモジュール“A”のタイマ値が“5000”であったとしても、マスタタイマ値通知メッセージがモジュール“B”に伝達されるまでには伝送遅延時間“15”を要し、マスタタイマ値通知メッセージが実際にモジュール“B”に伝達された時点では、マスタモジュールのタイマ値は“5015”となっている。したがって、マスタタイマ値“5000”と伝送遅延時間“15”とを加算した“5015”をモジュール“B”におけるタイマ値と設定してすることにより、マスタモジュール“A”のタイマ値と、モジュール“B”のタイマ値とを“5015”で同期させることができる。
これにより、各モジュール間でのタイマ値の同期化が図られることになる。
CPUモジュールでは、IOモジュールから各種機器データを獲得し、これに基づいて所定の制御演算処理を行って各IOモジュールへの制御データを生成し、生成した制御データをIOモジュールに送信する。この一連の処理を繰り返し行うことにより、IOモジュールを介してその外部接続機器xを制御する。
具体的には、図12(a)に示すように、タクト周期毎に、受信データに基づく制御演算処理、制御演算処理により生成した制御データの送信処理、IOモジュールからの各種機器データの受信処理を行い、且つ制御演算処理を、タクト周期の開始タイミングで開始し、これらの処理を次のタクト周期の開始タイミングまでに終了するようになっている。
このため、図12に示すように、CPUモジュール及びIOモジュールでは、タクト周期毎に各モジュール間で、同一タイミングで制御演算処理及び駆動処理が開始されるようになっている。
図13に示すように、マスタモジュールは、まず初期処理を実行する(ステップS21)。初期処理では、例えば外部接続機器xを初期位置に制御するため初期制御データの送信を行う。また、その応答として外部接続機器xの初期各種機器データを獲得する。
この設定したタクト割込み発生開始タイミングを、リング状の伝送路を介して他のモジュールに送信する(ステップS23)。
そして、自モジュールのタイマ17のタイマ値をもとに、次のタクト割込み発生タイミングに達したか否かを判断する(ステップS29)。このタクト割込み発生タイミングは、タクト割込み発生開始タイミングを起点としてカウント開始したカウント値をもとに行い、例えば、現時点におけるタイマ17のタイマ値が、タクト割込み発生開始タイミングにおけるタイマ値と、タクト周期に相当するタイマ値との和に達したとき、タクト割込み発生タイミングとして判断する。
以後、このステップS26〜S29の処理を繰り返し行うことにより、タクト割込み発生開始タイミングを起点としてタクト周期毎に、受信した各種機器データに基づく制御演算処理、制御演算処理で生成された制御データの送信及び、各種機器データの受信が行われることになる。
以後、ステップS35からステップS38の処理を繰り返し行うことにより、タクト割込み発生開始タイミングを起点として、タクト周期毎に、駆動処理、各種機器データの送信、制御データの受信が行われることになる。
プログラマブルコントローラシステムでは、起動されるとまず、モジュール間でのタイマ値の同期化を行う。これにより、各モジュール間でタイマ17のタイマ値は同期化される。
タイマ値の同期化が終了すると、各モジュールでは、図13または図14のシステム制御処理を開始し、各モジュールでは、マスタモジュールで決定されたタクト割込み発生開始タイミングを起点としてタクト周期毎に設定されるタクト割込み発生タイミングで、所定の処理を実行し、CPUモジュールでは制御演算処理を行って各種機器データに基づき制御データを生成し、IOモジュールでは駆動処理を行って制御データに基づきその外部接続機器xを駆動制御して各種機器データの収集を行う。
この第2の実施の形態は、上記第1の実施の形態において、図13及び図14のマスタモジュール及びスレーブモジュールで実行されるシステム制御処理が異なること以外は同一であるので、同一部の詳細な説明は省略する。
この第2の実施の形態では、マスタモジュールは、図15に示すシステム制御処理を行う。
そして、CPUモジュールのタクト割込み発生タイミングは、図16(a)に示すように、トータルフレームの受信完了後の受信完了タイミングに比較的近いタイミングに設定される。一方、IOモジュールのタクト割込み発生タイミングは、図16(c)に示すように、全てのIOモジュールがマルチキャストフレームの受信を完了した後の、この受信完了タイミングに比較的近いタイミングに設定される。
次いで、ステップS21に移行して上記第1の実施の形態と同様の手順で初期処理を実行し、タイマ17の現タイマ値に基づきタクト割込み発生開始タイミングに相当するタイマ値を決定し(ステップS22)、これを各モジュールに通知する(ステップS23)。
一方、スレーブモジュールであるIOモジュールでは、図17に示すように、まず、ステップS30で、CPUモジュールから前述のIOモジュールのタイミング情報を獲得する。
次いで、ステップS31に移行し、上記第1の実施の形態と同様に初期処理を行い、CPUモジュールからの初期制御データに応じて外部接続機器xを初期状態に制御し、初期制御後に、各種機器データを収集しこれを初期各種機器データとしてCPUモジュールに送信する。
次いで、タクト周期のカウント値をもとに、自モジュールのタイマ値がIOモジュールのタクト割込み発生タイミングとなったか否かを判断し(ステップS38a)、IOモジュールのタクト割込み発生タイミングとなったとき、ステップS35に移行して、マルチキャスト方式によりCPUモジュールから伝送されバッファ13bに記憶されたCPUモジュールからの制御データをもとに、所定の駆動処理を行う。
以後、ステップS35からステップS38aの処理を繰り返し行うことにより、IOモジュールのタクト割込み発生開始タイミングを起点として、タクト周期毎に、駆動処理、各種機器データの送信、制御データの受信が行われることになる。
プログラマブルコントローラシステムでは、上記第1の実施の形態と同様に、まず、モジュール間でのタイマ値の同期化を図る。このため、各モジュール間のタイマ値は同期化される。
各モジュールでは、図15又は図17のシステム制御処理を実行し、マスタモジュール(CPUモジュール)で設定されたタクト割込み発生開始タイミングと、オペレータにより設定されたCPUモジュールまたはIOモジュールのタイミング情報に基づき、自モジュールのタクト割込み発生開始タイミングを決定する。すなわち、CPUモジュールではCPUモジュールのタクト割込み発生開始タイミング、IOモジュールではIOモジュールのタクト割込み発生開始タイミングを決定する。
さらに、図16(a)に示すように、CPUモジュールのタクト割込み発生タイミングは、CPUモジュールがトータルフレームを受信完了した後のタイミングであり且つ受信完了タイミングにより近いタイミングとなるように設定されており、一方、IOモジュールのタクト割込み発生タイミングは、全IOモジュールがマルチキャストフレームの受信を完了する受信完了タイミング以後に設定されているため、IOモジュールが制御データに基づく駆動処理を開始する前に、CPUモジュールでの制御演算処理が実行されることになる。
そして、制御演算処理はタクト周期毎に行う必要があるため、制御演算処理用の処理時間として確保することのできる時間は、マルチキャスト方式による制御データの送信及びトータルフレームによる各種機器データの受信に要する所要時間を除いた時間内に制限される。このため、トータルフレームの受信を完了した時点で制御演算処理を開始すればその分、制御演算処理としてより長い時間を確保することができることになる。
同様に、上記第1の実施の形態においても、タクト割込み発生タイミングは、全てのモジュールがマルチキャストデータ又はトータルフレームの受信を完了した後のタイミングであればよいが、この場合も、各モジュールが所定のデータを受信完了するタイミングに近いほど、各モジュールにおける受信データに対するデータ処理用の処理時間を確保することができる。
なお、上記第2の実施の形態においては、CPUモジュールについては、CPUモジュールのタクト割込み発生タイミングで動作させ、IOモジュールについては、IOモジュールのタクト割込み発生タイミングで動作させる場合について説明したが、これに限るものではない。
マルチCPUシステムに適用するときには、上記第2の実施の形態を適用する場合は、CPUモジュールについては、このCPUモジュールのタクト割込み発生タイミングをTFデータの受信完了後のタイミングとなるように設定し且つ、IOモジュールについては、全てのIOモジュールが、そのタクト割込み発生タイミングでの駆動処理に必要な制御データを全て受信完了した時点を、IOモジュールのタクト割込み発生タイミングとして設定すればよい。このとき、全てのCPUモジュールがTFデータを受信完了した時点を、CPUモジュールのタクト割込み発生タイミングとすることにより全CPUモジュールでタクト割込み発生タイミングを共通としてもよく、また、CPUモジュール毎にTFデータを受信完了した時点をタクト割込み発生タイミングとして設定するようにしてもよい。
例えば、スレーブモジュールでは、システム同期処理が行なわれたときに通知された各モジュールにおける伝送遅延時間を記憶しておく。そして、マスタモジュールでは、一旦システム同期処理を行なった後は、マスタタイマ値配布メッセージのみを定期的に送信し、このマスタタイマ値配布メッセージを受信したスレーブモジュールが、記憶している伝送遅延時間と通知されたマスタタイマ値とから自モジュールのタイマのタイマ値を更新設定することにより、定期的に、タイマ値の同期を図るようにしてもよい。
また、上記実施の形態においては、マスタモジュールがタイマラッチ指示メッセージを送信する場合について説明したが、これに限るものではない。つまり、ある伝送メッセージを、ラッチ回路15で受信するタイミングと、同一の伝送メッセージをラッチ回路16で受信するタイミングとがわかればよい。このため、各モジュールが、マスタモジュールに限らず他のモジュールが送信する任意の伝送メッセージをタイマラッチ指示メッセージとみなし、任意の伝送メッセージをラッチ回路15及び16で受信した時点におけるタイマ値をラッチするように構成してもよい。
また、上記実施の形態において、ラッチ回路15及びラッチ回路16は、タイマラッチ指示メッセージを受信するときにのみ、動作可能な状態となっていればよい。したがって、例えば、マスタモジュールがタイマラッチ指示メッセージを送信するタイミングが、システム起動時及びその後定期的に等、予め決まっている場合には、スレーブモジュール側でこれに合わせてラッチ回路15及び16を動作可能な状態にし、一旦同期を行なった後、ラッチ回路15及び16を休止状態に切り替え、その後、定期的に行なわれる同期のタイミングに合わせて、ラッチ回路15及び16を動作可能な状態に切り替えることにより消費電力の削減を図るようにしてもよい。
ここで、上記実施の形態において、図13のステップS26及びステップS27の処理が出力データ生成手段に対応し、ステップS28の処理が出力データ送信手段に対応し、図5のシステム同期処理が同期化手段に対応している。
さらに、第1の配線L11、第2の配線L22が、第1の伝送路、第2の伝送路に対応している。
また、図15のステップS29aの処理がマスタタクト割込み発生手段に対応し、図17のステップS30、S32、S33a、S34、S38aの処理がスレーブタクト割込み発生手段に対応している。
12 第2の接続端子
13 処理部
13a 伝送処理部
13b バッファ
15、16 ラッチ回路
17 タイマ
L1〜L4 ケーブル
L11 第1の配線
L22 第2の配線
T メッセージ一周時間
Claims (2)
- マスタモジュール及びスレーブモジュールが入出力データ交換バスを介してデータ交換を行い、前記マスタモジュールが前記スレーブモジュールを介して当該スレーブモジュールに接続された外部接続機器を制御するプログラマブルコントローラシステムにおいて、
前記マスタモジュール及びスレーブモジュールはそれぞれタイマを有し、
前記マスタモジュールは、
当該マスタモジュールが有するタイマのマスタタイマ値に基づき定周期で起動され、前記スレーブモジュールから前記入出力データ交換バスを介して予め受信した入力データをもとに演算して出力データを生成する出力データ生成手段と、
当該出力データ生成手段により生成された前記出力データを、前記入出力データ交換バスを介して前記スレーブモジュールに送信する出力データ送信手段と、
前記スレーブモジュールが有するタイマのスレーブタイマ値と前記マスタタイマ値とを同期化させる同期化手段と、を有し、
前記スレーブモジュールは、
前記入出力データ交換バスから前記出力データを受信する受信手段と、
前記受信手段によって受信された前記出力データ、または前記出力データに基づき所定演算を行い当該演算により得た外部接続機器制御用のデータを前記外部接続機器に出力する出力手段と、を有し、
当該出力手段は、
前記同期化手段によって同期化された前記スレーブタイマ値に基づき前記マスタモジュールの前記出力データ生成手段が起動されるタイミングと同一タイミングの定周期で起動され、
前記入出力データ交換バスは、第1の伝送路及び第2の伝送路それぞれが前記マスタモジュール及び前記スレーブモジュールからなる複数のモジュールをデイジーチェーン接続し、該デイジーチェーン接続された両端の前記モジュールそれぞれで前記第1の伝送路と前記第2の伝送路とを接続してリング状の伝送路を構成し、
前記同期化手段は、
前記スレーブモジュールが一のメッセージを前記第1の伝送路及び前記第2の伝送路から受信したときの前記スレーブタイマ値を収集し、この収集したスレーブタイマ値と前記各モジュールの配置位置とに基づき前記マスタモジュールと前記スレーブモジュールそれぞれとの間の伝送遅延時間を演算し、当該伝送遅延時間と前記マスタモジュールの前記マスタタイマ値とを前記スレーブモジュールに送信し、
前記スレーブモジュールは、前記マスタモジュールから前記伝送遅延時間及び前記マスタタイマ値を受信したとき、前記伝送遅延時間と前記マスタタイマ値との和を自モジュールのタイマのスレーブタイマ値として更新設定することにより、自モジュールのスレーブタイマ値を前記マスタタイマ値と同期化することを特徴とするプログラマブルコントローラシステム。 - マスタモジュール及びスレーブモジュールが入出力データ交換バスを介してデータ交換を行い、前記マスタモジュールが前記スレーブモジュールを介して当該スレーブモジュールに接続された外部接続機器を制御するプログラマブルコントローラシステムにおいて、
前記マスタモジュール及びスレーブモジュールはそれぞれタイマを有し、
前記マスタモジュールは、
当該マスタモジュールが有するタイマのマスタタイマ値に基づき定周期割込みを発生するマスタタクト割込み発生手段と、
このマスタタクト割込み発生手段により起動され、前記スレーブモジュールから前記入出力データ交換バスを介して予め受信した入力データをもとに演算して出力データを生成する出力データ生成手段と、
当該出力データ生成手段により生成された前記出力データを、前記入出力データ交換バスを介して前記スレーブモジュールに送信する出力データ送信手段と、
前記スレーブモジュールが有するタイマのスレーブタイマ値と前記マスタタイマ値とを同期化させる同期化手段と、を有し、
前記スレーブモジュールは、
前記入出力データ交換バスから前記出力データを受信する受信手段と、
前記同期化手段によって同期化された前記スレーブタイマ値に基づき、前記定周期割込みの発生タイミングと同一のタイミングを獲得し、このタイミングを基準に所定時間経過後にスレーブ割込みを発生するスレーブタクト割込み発生手段と、
当該スレーブタクト割込み発生手段によって起動され、前記受信手段によって受信された前記出力データ、または前記出力データに基づき所定演算を行い当該演算により得た外部接続機器制御用のデータを前記外部接続機器に出力する出力手段と、
を備え、
前記入出力データ交換バスは、第1の伝送路及び第2の伝送路それぞれが前記マスタモジュール及び前記スレーブモジュールからなる複数のモジュールをデイジーチェーン接続し、該デイジーチェーン接続された両端の前記モジュールそれぞれで前記第1の伝送路と前記第2の伝送路とを接続してリング状の伝送路を構成し、
前記同期化手段は、
前記スレーブモジュールが一のメッセージを前記第1の伝送路及び前記第2の伝送路から受信したときの前記スレーブタイマ値を収集し、この収集したスレーブタイマ値と前記各モジュールの配置位置とに基づき前記マスタモジュールと前記スレーブモジュールそれぞれとの間の伝送遅延時間を演算し、当該伝送遅延時間と前記マスタモジュールの前記マスタタイマ値とを前記スレーブモジュールに送信し、
前記スレーブモジュールは、前記マスタモジュールから前記伝送遅延時間及び前記マスタタイマ値を受信したとき、前記伝送遅延時間と前記マスタタイマ値との和を自モジュールのタイマのスレーブタイマ値として更新設定することにより、自モジュールのスレーブタイマ値を前記マスタタイマ値と同期化することを特徴とするプログラマブルコントローラシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010212586A JP5655460B2 (ja) | 2010-09-22 | 2010-09-22 | プログラマブルコントローラシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010212586A JP5655460B2 (ja) | 2010-09-22 | 2010-09-22 | プログラマブルコントローラシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012068856A JP2012068856A (ja) | 2012-04-05 |
JP5655460B2 true JP5655460B2 (ja) | 2015-01-21 |
Family
ID=46166077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010212586A Active JP5655460B2 (ja) | 2010-09-22 | 2010-09-22 | プログラマブルコントローラシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5655460B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6036256B2 (ja) * | 2012-12-17 | 2016-11-30 | 富士電機株式会社 | 制御システム、マスターモジュール、および、リフレッシュ方法 |
WO2015128981A1 (ja) * | 2014-02-27 | 2015-09-03 | 富士電機株式会社 | プログラマブルコントローラシステム、そのコントローラ |
JP6772748B2 (ja) * | 2016-10-14 | 2020-10-21 | オムロン株式会社 | 演算装置および制御システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8592262B2 (en) * | 2006-11-16 | 2013-11-26 | Au Optronics Corporation | Residue isolation process in TFT LCD fabrication |
JP5141972B2 (ja) * | 2007-12-07 | 2013-02-13 | オムロン株式会社 | 産業用コントローラ |
-
2010
- 2010-09-22 JP JP2010212586A patent/JP5655460B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012068856A (ja) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101044521B1 (ko) | 네트워크에 연결된 슬레이브 장치들의 동기 제어장치 | |
US20140355619A1 (en) | Industrial network apparatus and data communication method | |
CN105577308A (zh) | 使用冗余主时钟提供车载网络时间同步的方法和设备 | |
JP6223625B1 (ja) | 通信装置、通信方法及び通信プログラム | |
CN104516306B (zh) | 冗余的自动化系统 | |
KR20160125942A (ko) | 프로그래머블 컨트롤러 시스템, 그 컨트롤러 | |
US7593429B2 (en) | System and method for time synchronizing nodes in an automotive network using input capture | |
JP2011216085A (ja) | プログラマブルコントローラ | |
JP5655460B2 (ja) | プログラマブルコントローラシステム | |
JP2011193457A (ja) | 時間同期を行うためのシステムおよび方法 | |
CN106254198A (zh) | 基于时间触发的分布式系统级任务同步方法 | |
JP2019068387A (ja) | 通信システム、通信装置および通信方法 | |
JP5527086B2 (ja) | ネットワークシステム | |
KR101492910B1 (ko) | 이더캣 기반의 분산 시계 동기화를 위한 방법 및 시스템 | |
JP6729040B2 (ja) | 通信システム、ノード装置、およびプログラム | |
JP2010244505A (ja) | モーションコントロールシステム | |
US20190013926A1 (en) | Time synchronous slave device and communication control method | |
JP6523226B2 (ja) | 時刻同期制御システム | |
Sandic et al. | TTEthernet mixed-critical communication: Overview and impact of faulty switches | |
WO2006044139A2 (en) | System and method for time synchronizing nodes in an automotive network using input capture | |
KR20120051632A (ko) | 링형 토폴로지를 갖는 분산 시스템에서의 클럭 동기화 방법 및 장치 | |
JP5488246B2 (ja) | ネットワークシステム及びネットワークシステムの同期方法 | |
JP5482534B2 (ja) | ネットワークシステム | |
JP2011009829A (ja) | ネットワークシステム及びネットワークシステムの同期方法 | |
JP6476725B2 (ja) | 伝送装置及び時刻同期方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140714 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5655460 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |