(57)【要約】【課題】  フィールド機器の制御に係る演算精度の低下を防ぐことができるタイミング制御装置、タイミング制御方法を提供する。【解決手段】  機器による入力データを一時的に保持する複数のデータ保持部のそれぞれに対し、所定の周期により予め定められた順序で前記入力データを読み出す読み出し部と、前記複数のデータの保持部のそれぞれの入力データの読み出し時間を記録する記録部と、前記複数のデータ保持部のいずれかに対する前記入力データの読み出しに失敗したかどうかを判断する判断部と、前記入力データの読み出しに失敗したと判断された場合、記憶された異常が発生したデータ保持部の読み出し時間に基づいて、前記所定の順序においてその順序が異常の発生したデータ保持部直後であるデータ保持部に対する前記入力データの読み出しタイミングを算出し、前記読み出し部の読み出しタイミングとする算出部とを備えた。【選択図】図２
2011145732.tif 000002
【特許請求の範囲】
【請求項１】
機器による入力データを一時的に保持する複数のデータ保持部のそれぞれに対し、所定の周期により予め定められた順序で前記入力データを読み出す読み出し部と、
前記複数のデータの保持部のそれぞれの入力データの読み出し時間を記録する記録部と、
前記複数のデータ保持部のいずれかに対する前記入力データの読み出しに失敗したかどうかを判断する判断部と、
前記入力データの読み出しに失敗したと判断された場合、記憶された異常が発生したデータ保持部の読み出し時間に基づいて、前記所定の順序においてその順序が異常の発生したデータ保持部直後であるデータ保持部に対する前記入力データの読み出しタイミングを算出し、前記読み出し部の読み出しタイミングとする算出部と
を備えるタイミング制御装置。
【請求項２】
前記記録部は、前記所定周期毎に前記読み出し時間を記録し、
前記算出部は、前記異常が発生したデータ保持部の複数周期分の読み出し時間の平均に基づいて、前記入力データの読み出しタイミングを算出することを特徴とする請求項１に記載のタイミング制御装置。
【請求項３】
機器による入力データを一時的に保持する複数のデータ保持部のそれぞれに対し、所定の周期により予め定められた順序で前記入力データを読み出し、
前記複数のデータの保持部のそれぞれの入力データの読み出し時間をメモリに記録し、
前記複数のデータ保持部のいずれかに対する前記入力データの読み出しに失敗したかどうかを判断し、
読み出しに失敗したと判断した場合、前記メモリに記憶された異常が発生したデータ保持部の読み出し時間に基づいて、前記所定の順序においてその順序が異常の発生したデータ保持部直後であるデータ保持部に対する前記入力データの読み出しタイミングを算出し、算出した読み出しタイミングに基づいて前記入力データの読み出しを実行するタイミング制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フィールド機器により入力されたデータの読み出しタイミングの制御技術に関する。
【背景技術】
【０００２】
システムに含まれる複数の機器を複数のＦＣＳ（Ｆｉｅｌｄ  Ｃｏｎｔｒｏｌ  Ｓｔａｔｉｏｎ）により制御するＤＣＳ（Ｄｉｓｔｒｉｂｕｔｅｄ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ：分散型制御システム）が知られている。ここで、従来のＤＣＳについて説明する。図５は、従来のＤＣＳを示す図である。
【０００３】
図５に示すように、従来のＤＣＳ６は、ＨＩＳ（Ｈｕｍａｎ  ｉｎｔｅｒｆａｃｅ  Ｓｔａｔｉｏｎ）７、複数のＦＣＳ８、ＦＣＳ８のそれぞれに接続された複数のフィールド機器９を備える。ＨＩＳ７は、例えばＶｎｅｔ／ＩＰ（登録商標）などの制御バスによりそれぞれのＦＣＳ８と接続され、ＤＣＳ６の管理者に対し、ＤＣＳ６の状態を提示し、フィールド機器９の制御手段を提供する。また、ＦＣＳ８は、ＣＰＵ８１とこれに接続された複数のＩＯＭ（Ｉｎ／Ｏｕｔ  Ｍｏｄｕｌｅ）８２を備える。複数のＩＯＭ８２はそれぞれフィールド機器９と接続され、ＣＰＵ８１は複数のＩＯＭ８２を制御する。この制御において、ＣＰＵ８１は、読み出し処理によって、複数のＩＯＭ８２に入力されたフィールド機器９からのデータを一定のスキャン周期で読み出す。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２７６９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＣＰＵ８１に接続された複数のＩＯＭ８２のうち、いずれかのＩＯＭ８２の状態に変化が生じた場合、スキャン周期が揺らいでしまうという問題がある。以下、このスキャン周期の揺らぎについて説明する。図６は、スキャン周期の揺らぎを示す図である。なお、説明上、図６において、複数のＩＯＭはそれぞれＩＯＭ＿Ａ，ＩＯＭ＿Ｂ，ＩＯＭ＿Ｃとして区別される。
【０００６】
図６に示すように、ＣＰＵ８１は、ＴＩＣＫ単位でＩＯＭ８２に接続されたフィールド機器９の制御処理を行うため、ＴＩＣＫ信号が出力されるまでに複数のＩＯＭ８２に入力されたデータの読み出し処理を行う。図６において、ＣＰＵ８１は、複数のＩＯＭ８２に状態変化が生じない場合、ＩＯＭ＿Ｃ，ＩＯＭ＿Ａ，ＩＯＭ＿Ｂの順に一定のスキャン周期で複数のＩＯＭ８２をスキャンし、データを読み出す。一方、複数のＩＯＭ８２のいずれか、例えばＩＯＭ＿Ｂにｆａｉｌが発生した場合、ＣＰＵ８１は、次のスキャン周期のスキャンにおいて、正常時と変わらぬタイミングで入力処理を開始し、ＩＯＭ＿Ｂをスキップしてデータを読み出す。ここでＩＯＭ＿Ｃのスキャン周期はＩＯＭ＿Ｂをスキャンする時間分だけ短くなる。また、ｆａｉｌが発生したＩＯＭ＿Ｂが正常状態に復帰した場合、ＩＯＭ＿Ｃのスキャン周期は、本来ＩＯＭ＿Ｂのスキャンが開始される時点から復帰したＩＯＭ＿Ｂのスキャンが終了される時点までとなるため、ＩＯＭ＿Ｂの復帰前に比べ、ＩＯＭ＿Ｂのスキャン時間分だけ長くなる。このようなスキャン周期の揺らぎによれば、フィールド機器９の制御に係る演算精度が低下し、安定した制御動作が妨げられてしまう。
【０００７】
本発明は上述した問題点を解決するためになされたものであり、フィールド機器の制御に係る演算精度の低下を防ぐことができるタイミング制御装置、タイミング制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するため、本発明の一態様に係るタイミング制御装置は、機器による入力データを一時的に保持する複数のデータ保持部のそれぞれに対し、所定の周期により予め定められた順序で前記入力データを読み出す読み出し部と、前記複数のデータの保持部のそれぞれの入力データの読み出し時間を記録する記録部と、前記複数のデータ保持部のいずれかに対する前記入力データの読み出しに失敗したかどうかを判断する判断部と、前記入力データの読み出しに失敗したと判断された場合、記憶された異常が発生したデータ保持部の読み出し時間に基づいて、前記所定の順序においてその順序が異常の発生したデータ保持部直後であるデータ保持部に対する前記入力データの読み出しタイミングを算出し、前記読み出し部の読み出しタイミングとする算出部とを備える。
【０００９】
また、タイミング制御方法は、機器による入力データを一時的に保持する複数のデータ保持部のそれぞれに対し、所定の周期により予め定められた順序で前記入力データを読み出し、前記複数のデータの保持部のそれぞれの入力データの読み出し時間をメモリに記録し、前記複数のデータ保持部のいずれかに対する前記入力データの読み出しに失敗したかどうかを判断し、読み出しに失敗したと判断した場合、前記メモリに記憶された異常が発生したデータ保持部の読み出し時間に基づいて、前記所定の順序においてその順序が異常の発生したデータ保持部直後であるデータ保持部に対する前記入力データの読み出しタイミングを算出し、算出した読み出しタイミングに基づいて前記入力データの読み出しを実行する。
【発明の効果】
【００１０】
フィールド機器の制御に係る演算精度の低下を防ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態に係るＤＣＳのハードウェア構成を示す図である。
【図２】ＩＯコプロセッサの機能構成を示す図である。
【図３】ＩＯコプロセッサの動作を示すフローチャートである。
【図４】調整時間の挿入を示す図である。
【図５】従来のＤＣＳを示す図である。
【図６】スキャン周期の揺らぎを示す図である。
【発明を実施するための形態】
【００１２】
以下、実施の形態について図面を参照しつつ説明する。
【００１３】
まず、本実施の形態に係るＤＣＳのハードウェア構成について説明する。図１は、本実施の形態に係るＤＣＳのハードウェア構成を示す図である。
【００１４】
図１に示すように、本実施の形態に係るＤＳＣ１は、ＨＩＳ２と、このＨＩＳ２と接続された複数のＦＣＳ３を備える。ＨＩＳ２は、ＤＳＣ１の管理者に対し、ＤＣＳ１の状態を提示するとともに、フィールド機器４の制御手段を提供する。ＦＣＳ３は、ＣＰＵ３１、複数のＩＯＭ３２を備える。ＣＰＵ３１は、制御バスインターフェイス３１１、制御プロセッサ３１２、メモリ３１３、ＩＯコプロセッサ３１４を備える。
【００１５】
制御バスインターフェイス３１１は、Ｖｎｅｔ／ＩＰなどの制御バスによりＨＩＳ２と接続される。また、制御バスインターフェイス３１１は、この制御バスを介してＨＩＳ２
へフィールド機器４の状態を示す情報を送信するとともに、ＨＩＳ２からフィールド機器４の制御に係る指示情報を受信する。また、制御バスインターフェイス３１１は、制御プロセッサ３１２及びＩＯコプロセッサ３１４に対してＴＩＣＫを送信する。ここで、ＴＩＣＫは、ＨＩＳ２と複数のＦＣＳ３間で同期されたネットワーク時計を計時する信号である。制御プロセッサ３１２は、ＴＩＣＫをトリガとしてフィールド機器４の制御処理を行う。ＩＯコプロセッサ３１４は、複数のＩＯＭ３２と接続され、ＴＩＣＫに基づいてＩＯＭ３２に入力されたフィールド機器４からのデータの読み出し処理を行う。メモリ３１３はＩＯコプロセッサ３１４による読み出し処理により読み出されたデータを格納し、制御プロセッサ３１２はメモリ３１３に格納されたデータに基づいて制御処理を行う。また、メモリ３１３は、後述するスキャン時間をログとして記録する。
【００１６】
ここで読み出し処理の開始タイミングについて説明する。ＩＯコプロセッサ３１４は読み出し処理を開始するタイミングを計るために、頭出しタイマ３１４ａを持つ。この頭出しタイマ３１４ａは、ＴＩＣＫを受け取ったＩＯコプロセッサ３１４が読み出し処理を開始するまでの時間をタイムアウト値として設定する。このタイムアウト値は、読み出し処理が次のＴＩＣＫの直前に処理を完了させられるタイミングに設定される。ＩＯコプセッサ３１４は、頭出しタイマ３１４ａがタイムアウトしたタイミングにおいて、予め定められた順序により複数のＩＯＭ３２からの読み出し処理を開始する。
【００１７】
ＩＯＭ３２は、図示しないメモリを持ち、フィールド機器４から入力されたデータ、接続されたフィールド機器４に対する制御データを一時的に保持し、ＣＰＵ３１とフィールド機器４間のデータの送受を仲介する。フィールド機器４は、計測制御に用いられる機器であり、例えば、センサ、バルブ、アクチュエータ機器などが挙げられる。
【００１８】
次に、ＩＯコプロセッサの機能構成について説明する。図２は、ＩＯコプロセッサの機能構成を示す図である。
【００１９】
ＩＯコプロセッサ３１４は、読み出し処理部５１、第１判断部５２、記録部５３、第２判断部５４、算出部５５を機能として備える。読み出し処理部５１は、頭出しタイマ３１４ａのタイムアウトをトリガとして、接続された複数のＩＯＭ３２に入力されたデータの読み出し処理を、予め定められた順序により複数のＩＯＭ３２をそれぞれスキャンすることにより行う。第１判断部５２は、読み出し処理部５１による読み出し処理において、ｆａｉｌが発生したかどうかを判断する。ここでｆａｉｌとは、データが読み出せない状態を示す。記録部５３は、読み出し処理部５１による複数のＩＯＭ３２それぞれのスキャンに掛かる時間をスキャン時間として、メモリ３１３にログとして記録する。ここで、スキャン時間は、複数のＩＯＭ３２それぞれに対応付けられて、スキャン周期毎に記録される。第２判断部５４は、ｆａｉｌが発生したＩＯＭ３２に対応するスキャン時間が、メモリ３１３におけるログに複数スキャン周期分記録されているかどうかを判断する。算出部５５は、予め定められたスキャン順序がｆａｉｌの発生したＩＯＭ３２直後であるＩＯＭ３２のスキャン開始タイミングに対し、ログにおいてｆａｉｌが発生したＩＯＭ３２に対応するスキャン時間に基づく調整時間を加算する。
【００２０】
次に、ＩＯコプロセッサの動作について説明する。図３は、ＩＯコプロセッサの動作を示すフローチャートである。また、図４は、調整時間の挿入を示す図である。
【００２１】
図３に示すように、まず、読み出し処理部５１は、頭出しタイマ３１４ａがタイムアウトしたかどうかを判断する（Ｓ１０１）。
【００２２】
頭出しタイマ３１４ａがタイムアウトした場合（Ｓ１０１，ＹＥＳ）、読み出し処理部５１は、複数のＩＯＭ３２それぞれをスキャンすることにより読み出し処理を行う（Ｓ１
０２）。次に、第１判断部５２は、読み出し処理部５１による複数のＩＯＭ３２それぞれに対するスキャンにおいて、ｆａｉｌが発生したかどうかを判断する（Ｓ１０３）。
【００２３】
ｆａｉｌが発生していない場合（Ｓ１０３，ＮＯ）、記録部５３は読み出し処理におけるそれぞれのＩＯＭ３２に対するスキャン時間をログとしてメモリ３１３に記録する（Ｓ１０４）。記録後、読み出し処理部５１は、再度、頭出しタイマ３１４ａがタイムアウトしたかどうかを判断する（Ｓ１０１）。
【００２４】
一方、ｆａｉｌが発生した場合（Ｓ１０３，ＹＥＳ）、第２判断部２４は、メモリ３１３にｆａｉｌが発生したＩＯＭ３２と対応付けられたスキャン時間のログがあるかどうかを判断する（Ｓ１０５）。
【００２５】
ログがある場合（Ｓ１０５，ＹＥＳ）、第２判断部は、ログにおいて、ｆａｉｌが発生したＩＯＭ３２について、複数スキャン周期分のスキャン時間があるかどうかを判断する（Ｓ１０６）。
【００２６】
複数スキャン周期分のスキャン時間がある場合（Ｓ１０６，ＹＥＳ）、算出部５５は、メモリ３１３に記録された複数スキャン周期分のスキャン時間の平均時間を算出する（Ｓ１０７）。更に、算出部５５は、算出した平均時間を、調整時間として、ｆａｉｌが発生したＩＯＭ３２直後のＩＯＭ３２をスキャンするタイミングに加算する（Ｓ１０８）。平均時間の加算後、読み出し処理部５１は、再度、頭出しタイマ３１４ａがタイムアウトしたかどうかを判断する（Ｓ１０１）。
【００２７】
一方、複数スキャン周期分のスキャン時間がない場合（Ｓ１０６，ＮＯ）、算出部５５は、前回のスキャン周期におけるｆａｉｌが発生したＩＯＭ３２のスキャン時間を、調整時間として、ｆａｉｌが発生したＩＯＭ３２直後のＩＯＭ３２をスキャンするタイミングに加算する（Ｓ１０９）。前回のスキャン時間の加算後、読み出し処理部５１は、再度、頭出しタイマ３１４ａがタイムアウトしたかどうかを判断する（Ｓ１０１）。
【００２８】
上述した動作によって、図４に示すように、平均時間または前回のスキャン時間が、調整時間として、ｆａｉｌが発生したＩＯＭ３２直後のＩＯＭ３２のスキャン前に挿入される。これによれば、ｆａｉｌ中においても、ｆａｉｌからの復帰時においても、スキャン周期の長さが変わることがないため、スキャン周期に揺らぎが発生しない。また、スキャン周期に揺らぎを発生させないことにより、フィールド機器の制御に係る演算精度の低下を防ぐことができる。
【００２９】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【符号の説明】
【００３０】
１  ＤＣＳ、
２  ＨＩＳ、
３  ＦＣＳ、
４  フィールド機器、
３１  ＣＰＵ、
３２  ＩＯＭ、
５１  読み出し処理部、
５２  第１判断部、
５３  記録部、
５４  第２判断部、
５５  算出部、
３１１  制御バスインターフェイス、
３１２  制御プロセッサ、
３１３  メモリ、
３１４  ＩＯコプロセッサ。
【図１】
2011145732.tif 000003
【図２】
2011145732.tif 000004
【図３】
2011145732.tif 000005
【図４】
2011145732.tif 000006
【図５】
2011145732.tif 000007
【図６】
2011145732.tif 000008