(57)【要約】【課題】フィールド機器との間でのデータ通信のタイミングを適切に制御できるフィールド制御システムを提供する。【解決手段】制御演算用プロセッサ２１はタイマクロック（ＴＩＣＫ）を定周期割り込みの合図として、インタフェースコントローラ２５を介してＩＯアクセス用コプロセッサ２２に入力要求をかける。入力要求を受けたＩＯアクセス用コプロセッサ２２は、すでに収集済みの入力データの中から要求された入力データを制御演算用プロセッサ２１に返す。制御演算用プロセッサ２１はこの入力データを用いて制御演算を実行し、ＩＯアクセス用コプロセッサ２２に対し演算結果の出力要求を行う。出力要求を受けると、ＩＯアクセス用コプロセッサ２２はＩＯアクセスインタフェース２６を介して対応する入出力モジュールに対して出力処理を実施する。【選択図】図２
2010182101.tif 000002
【特許請求の範囲】
【請求項１】
制御ネットワークに接続されたフィールドコントローラを備え、前記フィールドコントローラとフィールド機器との間でデータ通信を実行しつつ所定の制御周期に従って前記フィールド機器を制御するための演算処理を実行するフィールド制御システムにおいて、
前記フィールドコントローラにおいて前記フィールド機器との間で前記データ通信を実行する通信手段と、
前記通信手段と独立して処理を実行可能とされ、前記通信手段による前記データ通信を反映させた前記演算処理を前記フィールドコントローラにおいて実行する制御演算手段と、
前記制御ネットワークに共通のネットワーク時刻を与えるネットワーク時計と、
を備え、
前記制御演算手段および前記通信手段は、前記ネットワーク時刻に基づくタイマクロックに従ったタイミングで、前記演算処理および前記データ通信を同期して実行することを特徴とするフィールド制御システム。
【請求項２】
前記タイマクロックをカウントするカウント手段を備え、
前記通信手段による前記データ通信のタイミングが前記カウント手段によるカウント状態に従って規定されることを特徴とする請求項１に記載のフィールド制御システム。
【請求項３】
前記制御周期は前記タイマクロックの複数周期分の長さとされ、前記カウント手段のカウント値は前記制御周期ごとにリセットされることを特徴とする請求項２に記載のフィールド制御システム。
【請求項４】
前記通信手段は前記タイマクロックから所定時間経過後に前記データ通信を実行することを特徴とする請求項１に記載のフィールド制御システム。
【請求項５】
前記制御ネットワークには複数の前記フィールドコントローラが接続され、前記フィールドコントローラは前記タイマクロックに従ったタイミングで互いに前記制御ネットワークを介する通信を行うことを特徴とする請求項１〜４のいずれか１項に記載のフィールド制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御ネットワークに接続されたフィールドコントローラを備え、フィールドコントローラとフィールド機器との間でデータ通信を実行しつつ所定の制御周期に従ってフィールド機器を制御するための演算処理を実行するフィールド制御システムに関する。
【背景技術】
【０００２】
フィールド制御システムでは、フィールド機器が入出力モジュールを介してフィールドコントローラに接続され、フィールドコントローラでは、所定の制御周期に従って、フィールド機器との間でのデータの入出力処理を実行しつつ、フィールド制御に必要な演算処理を繰り返し実行する。この演算処理はフィールド機器から得られた入力データを用いて行われるとともに、演算の演算結果がフィールド機器に対する出力データに反映される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２７６９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記の演算処理とデータの入出力処理とを１つのプロセッサで実行する場合には、フィールド機器との間でのデータの入出力処理中はプロセッサの処理が独占され、結果としてシステム全体のパフォーマンスを低下させることになる。
【０００５】
一方、フィールド機器との間でのデータの入出力処理のための専用のコプロセッサを用いることも考えられる。この場合には、コプロセッサはプロセッサの処理と独立して、常時、フィールド機器からのデータ入力処理を行うことができ、プロセッサからのデータ出力の要求を受けると、データ入力処理を中断しデータ出力を実行する。このような処理手順により、プロセッサの処理量が大幅に減り、システム全体のパフォーマンスを向上させることができる。
【０００６】
しかし、データ入力処理のタイミングをプロセッサが制御できないため、データ入力のタイミングにばらつきを生じさせ、古いデータをプロセッサが取得することになる場合が生ずる等の問題がある。
【０００７】
また、制御ネットワークに接続された複数のフィールドコントローラ間で通信を行う場合にも、フィールドコントローラごとにデータ入力処理等のタイミングが異なると、制御の精度や安定性を低下させる等の問題を生じさせる。
【０００８】
本発明の目的は、フィールド機器との間でのデータ通信のタイミングを適切に制御できるフィールド制御システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明のフィールド制御システムは、制御ネットワークに接続されたフィールドコントローラを備え、前記フィールドコントローラとフィールド機器との間でデータ通信を実行しつつ所定の制御周期に従って前記フィールド機器を制御するための演算処理を実行するフィールド制御システムにおいて、前記フィールドコントローラにおいて前記フィールド機器との間で前記データ通信を実行する通信手段と、前記通信手段と独立して処理を実行可能とされ、前記通信手段による前記データ通信を反映させた前記演算処理を前記フィールドコントローラにおいて実行する制御演算手段と、前記制御ネットワークに共通のネットワーク時刻を与えるネットワーク時計と、を備え、前記制御演算手段および前記通信手段は、前記ネットワーク時刻に基づくタイマクロックに従ったタイミングで、前記演算処理および前記データ通信を同期して実行することを特徴とする。
このフィールド制御システムによれば、ネットワーク時刻に基づくタイマクロックに従ったタイミングで、フィールド機器を制御するための演算処理およびフィールド機器との間でのデータ通信を同期して実行するので、フィールド機器との間でのデータ通信のタイミングを適切に制御できる。
【００１０】
前記タイマクロックをカウントするカウント手段を備え、前記通信手段による前記データ通信のタイミングが前記カウント手段によるカウント状態に従って規定されてもよい。
【００１１】
前記制御周期は前記タイマクロックの複数周期分の長さとされ、前記カウント手段のカウント値は前記制御周期ごとにリセットされてもよい。
【００１２】
前記通信手段は前記タイマクロックから所定時間経過後に前記データ通信を実行してもよい。
【００１３】
前記制御ネットワークには複数の前記フィールドコントローラが接続され、前記フィールドコントローラは前記タイマクロックに従ったタイミングで互いに前記制御ネットワークを介する通信を行ってもよい。
【発明の効果】
【００１４】
本発明のフィールド制御システムによれば、ネットワーク時刻に基づくタイマクロックに従ったタイミングで、フィールド機器を制御するための演算処理およびフィールド機器との間でのデータ通信を同期して実行するので、フィールド機器との間でのデータ通信のタイミングを適切に制御できる。
【図面の簡単な説明】
【００１５】
【図１】実施例１のフィールド制御システムとしての分散型制御システムの構成を示すブロック図。
【図２】フィールドコントローラの構成を機能的に示すブロック図。
【図３】フィールドコントローラ２の動作を示すタイミングチャート。
【図４】制御ネットワークを介して互いに接続されたフィールドコントローラにおける動作が同期している様子を示す図。
【図５】入出力モジュールをシステムと同期して動作させる場合の動作例を示すタイミングチャート。
【図６】実施例２のフィールド制御システムとしての分散型制御システムの構成を示すブロック図。
【図７】フィールド制御システムの動作を示すタイミングチャート。
【図８】実施例３のフィールド制御システムとしての分散型制御システムの構成を示すブロック図。
【図９】フィールド制御システムの動作を示すタイミングチャート。
【発明を実施するための形態】
【００１６】
以下、本発明によるフィールド制御システムの実施形態について説明する。
【実施例１】
【００１７】
図１は、実施例１のフィールド制御システムとしての分散型制御システムの構成を示すブロック図、図２はフィールドコントローラの構成を機能的に示すブロック図である。
【００１８】
図１に示すように、分散型制御システムは、プラントに分散配置されたフィールドコントローラ２，２，・・・と、フィールドコントローラ２，２，・・・を介してプラントのフィールド機器群１を操作、監視するための操作監視装置３と、を備える。フィールドコントローラ２，２，・・・および操作監視装置３は制御ネットワーク５により互いに接続される。
【００１９】
操作監視装置３には、制御ネットワーク５のネットワーク時刻を規定するネットワーク時計３１が設けられている。制御ネットワーク５に接続されたすべての機器は、このネットワーク時計３１により規定されるネットワーク時刻を基準としたタイマクロック（ＴＩＣＫ）に従ったタイミングで制御を実行し、フィールドコントローラ２，２，・・・における制御動作は互いに同期した状態にある。また、フィールドコントローラ２，２，・・・は互いに上記タイマクロックに従ったタイミングで制御ネットワーク５を介する通信を行う。
【００２０】
図２に示すように、フィールドコントローラ２には、所定の制御周期に従ってフィールド機器群１を制御するための演算処理等を実行するＣＰＵ２０と、フィールド機器群１との間でデータの入出力を実行する入出力モジュール（ＩＯモジュール）群２９と、を備える。
【００２１】
図２に示すように、ＣＰＵ２０には、フィールド機器を制御するための演算処理を実行する制御演算用プロセッサ２１と、入出力モジュール群２９を介してフィールド機器群１との間での通信処理を常時、実行可能なＩＯアクセス用コプロセッサ２２と、タイマクロック（ＴＩＣＫ）をカウントするＴＩＣＫカウンタ２３と、を備える。また、ＣＰＵ２０には、メインメモリ２４、インタフェースコントローラ２５、ＩＯアクセスインタフェース２６および制御バスインタフェース２７が設けられている。
【００２２】
次に、フィールドコントローラ２の動作について説明する。
【００２３】
図３は、フィールドコントローラ２の動作を示すタイミングチャートである。
【００２４】
フィールドコントローラ２のタイマクロック（ＴＩＣＫ）は、制御バスインタフェース２７を介して制御ネットワーク５から得られたネットワーク時刻に基づいて生成され、制御演算用プロセッサ２１、ＩＯアクセス用コプロセッサ２２およびＴＩＣＫカウンタ２３に与えられる。
【００２５】
ＩＯアクセス用コプロセッサ２２は制御演算用プロセッサ２１と別個に設けられているため、常時、ＩＯアクセスインタフェース２６に対しフィールド機器群１との間でのデータの入出力処理を実施可能である。
【００２６】
図３に示すように、制御演算用プロセッサ２１はタイマクロック（ＴＩＣＫ）を定周期割り込みの合図として、インタフェースコントローラ２５を介してＩＯアクセス用コプロセッサ２２に入力要求をかける。入力要求を受けたＩＯアクセス用コプロセッサ２２は、すでに収集済みの入力データの中から要求された入力データを制御演算用プロセッサ２１に返す。制御演算用プロセッサ２１はこの入力データを用いて制御演算を実行し、ＩＯアクセス用コプロセッサ２２に対し演算結果の出力要求を行う。
【００２７】
出力要求を受けると、ＩＯアクセス用コプロセッサ２２はＩＯアクセスインタフェース２６を介して対応する入出力モジュールに対して出力処理を実施する。
【００２８】
上記のように、本実施例のフィールド制御システムでは、ＣＰＵ２０にＴＩＣＫカウンタ２３が設けられており、制御演算用プロセッサ２１およびＩＯアクセス用コプロセッサ２２は、いずれもＴＩＣＫカウンタ２３に対してアクセスできる。
【００２９】
ところで、ＩＯアクセス用コプロセッサ２２にはタイマクロック（ＴＩＣＫ）が入力されるため、ＩＯアクセス用コプロセッサ２２はシステムの動作タイミングを知ることができる。しかし、通常、タイマクロック（ＴＩＣＫ）が制御周期における何番目の割り込みに対応しているかまでは判断できない。例えば、割り込み１００回で１つの制御周期を意味している場合があり、このような場合にはＩＯアクセス用コプロセッサは制御周期内のどの時点の動作を行っているのか認識できない。
【００３０】
しかし、本実施例のフィールド制御システムでは、ＴＩＣＫカウンタ２３にアクセスすることで、ＩＯアクセス用コプロセッサ２２において制御周期内のタイミングを認識することができる。
【００３１】
制御演算用プロセッサ２１は、例えば、制御周期の開始のタイミングでＴＩＣＫカウンタ２３に初期値を書き込む。その後、ＴＩＣＫカウンタ２３はタイマクロック（ＴＩＣＫ）を受けてカウントアップされるため、ＩＯアクセス用コプロセッサ２２はＴＩＣＫカウンタ２３のカウント値を読むことで制御周期内でのタイミングを認識できる。このため、ＩＯアクセス用コプロセッサ２２は、現時点で実行すべき処理の内容を認識することが可能となる。
【００３２】
例えば、次のタイマクロック（ＴＩＣＫ）で制御演算用プロセッサ２１が所定の入力データについて入力要求を行うことを、ＩＯアクセス用コプロセッサ２２が事前に認識していた場合、ＩＯアクセス用コプロセッサ２２は上記タイマクロック（ＴＩＣＫ）が入る直前にＩＯアクセスインタフェース２６に対し入力処理を実行しておき、上記所定の入力データを事前に準備することができる。このため、入力要求に対し準備していた入力データを速やかに返すことが可能となる。
【００３３】
同様に、制御演算用プロセッサ２１からの出力要求が予測できる場合、ＩＯアクセス用コプロセッサ２２は他の処理を中断することで、上記出力要求に応じて速やかに出力処理を実行できる。
【００３４】
このように、本実施例の制御システムでは、制御演算用プロセッサ２１とは別にＩＯアクセス用コプロセッサ２２を設けているので、制御演算用プロセッサ２１はデータ入出力処理から開放される。このため、制御演算用プロセッサ２１の負荷を軽減でき、制御演算を効率的に実行できる。
【００３５】
また、本実施例の制御システムでは、ＩＯアクセス用コプロセッサ２２が制御周期内でのタイミングを認識できるため、制御演算用プロセッサ２１およびＩＯアクセス用コプロセッサ２２における動作を同期させることができ、制御に必要な動作の時間的な揺らぎを軽減できるため、システム全体としての制御精度を高めることができる。
【００３６】
図４は、制御ネットワーク５を介して互いに接続されたフィールドコントローラ２，２，・・・における動作が同期している様子を示す図である。上記のように、各フィールドコントローラ２，２，・・・はネットワーク時計３１により規定されるネットワーク時刻を基準としたタイマクロック（ＴＩＣＫ）に基づくタイミングで動作するため、フィールド機器群１に対するデータの入出力を含めた動作タイミングをシステム全体で精密に同期させることができる。このため、入出力処理のタイミングのばらつきも発生せず、安定したタイミングでの入出力処理が可能となる。
【００３７】
また、フィールドコントローラ２，２，・・・間でやりとりされるデータについても、入力データの収集時刻をフィールドコントローラ２，２，・・・間で揃えることができるため、制御の精度を高めることができる。さらに、例えば、操作監視装置３においてフィールドコントローラ２，２，・・・経由でフィールド機器１群に対する入出力データを取得する場合にも、同時刻における入出力データを得ることが可能となる。また、各フィールドコントローラ２，２，・・・に対し収集時刻を指定したうえで、その指定時刻の入出力データを取得することも可能となる。
【００３８】
なお、フィールドコントローラ２，２，・・・はネットワーク時刻を共有するため、制御ネットワーク５に接続されたフィールドコントローラ２，２，・・・間での通信タイミングをネットワーク時刻に基づいて分散させることもできる。これにより、制御ネットワーク５にかかる通信負荷の調整が可能となる。
【００３９】
入出力モジュール（ＩＯモジュール）にタイマクロック（ＴＩＣＫ）を与えるとともに、タイマクロック（ＴＩＣＫ）をカウントするカウンタを設けることにより、入出力モジュール自体がシステムと同期して動作可能となる。この場合、上記のＩＯアクセス用コプロセッサ２２と同様、入出力モジュール自身が、自らが入出力処理を実行するタイミングを認識可能となる。このため、入出力モジュールの入出力処理の時間的なばらつきがなくなるため、システム全体としての時刻同期の精度をさらに向上させることができる。
【００４０】
図５は、この場合の動作例を示すタイミングチャートである。
【００４１】
図５に示すように、ネットワーク時刻に従って生成されたタイマクロック（ＴＩＣＫ）を、ＩＯアクセス用コプロセッサ２２からＩＯアクセスインタフェース２６を介して入出力モジュールに通知するとともに、入出力モジュールのカウンタでタイマクロック（ＴＩＣＫ）をカウントすることで、入出力モジュールにおいて制御周期内のタイミングを認識できる。制御周期の開始時には、その旨を通知することでカウンタに初期値を設定することができる。
【００４２】
このような構成により、入出力モジュールは、事前に入出力処理のスケジュールを把握できるため、必要な入出力処理のみを制御演算用プロセッサ２１からの要求に先立って実行することが可能となる。このため、システム全体のパフォーマンスが向上する。
【実施例２】
【００４３】
図６は、実施例２のフィールド制御システムとしての分散型制御システムの構成を示すブロック図、図７は本実施例のフィールド制御システムの動作を示すタイミングチャートである。図６において、実施例１のフィールド制御システムと同一構成要素には同一符合を付している。
【００４４】
図６に示すように、本実施例のフィールド制御システムでは、実施例１のフィールド制御システムにおけるフィールドコントローラ２に代えて、フィールドコントローラ２Ａが使用される。フィールドコントローラ２ＡのＣＰＵ２０ＡにはＩＯアクセス用コプロセッサ２２Ａが設けられており、このＩＯアクセス用コプロセッサ２２Ａは、入出力処理のタイミングを定めるための頭出しタイマの機能を有する。一方、ＣＰＵ２０ＡではＴＩＣＫカウンタ２３（図２）に相当する機能が省略されている。
【００４５】
図７に示すように、本実施例のフィールド制御システムでは、ＩＯアクセス用コプロセッサ２２Ａは、タイマクロック（ＴＩＣＫ）を受け取ると実際に入力処理を開始するまでの時間を頭出しタイマのタイムアウト値として設定し、タイムカウントを開始する。図７に示すように、ＩＯアクセス用コプロセッサ２２Ａは、頭出しタイマのタイムアウトによってＩＯアクセスインタフェース２６の入力処理を開始し、対応する入出力モジュールを介してフィールド機器のデータが入力される。
【００４６】
図７に示すように、頭出しタイマのタイムアウト値は、制御演算用プロセッサ２１による制御演算処理が開始される直前に、ＩＯアクセス用コプロセッサ２２Ａによる入力処理が完了するような値とされる。ＩＯアクセス用コプロセッサ２２Ａによる入力処理完了後、制御演算用プロセッサ２１は、タイマクロック（ＴＩＣＫ）のタイミングでＩＯアクセス用コプロセッサ２２Ａにより入力された入力データを使って制御演算を開始する。
【００４７】
このように、本実施例のフィールド制御システムでは、頭出しタイマを用いることにより、タイマクロック（ＴＩＣＫ）から所定時間経過後にＩＯアクセス用コプロセッサ２２Ａによる入力処理を実行している。これにより、制御演算とデータ入出力処理とを同期させることができる。
【００４８】
また、フィールドコントローラ２Ａ，２Ａ，・・・間のデータ通信についても、実施例１と同様、入出力データの時刻を合わせ込むことができ、システム全体として安定した制御が可能となる。
【実施例３】
【００４９】
図８は、実施例３のフィールド制御システムとしての分散型制御システムの構成を示すブロック図、図９は本実施例のフィールド制御システムの動作を示すタイミングチャートである。図８において、実施例１のフィールド制御システムと同一構成要素には同一符合を付している。
【００５０】
図８に示すように、本実施例のフィールド制御システムでは、実施例１のフィールド制御システムにおけるフィールドコントローラ２に代えて、フィールドコントローラ２Ｂが使用される。フィールドコントローラ２ＢのＣＰＵ２０ＢにはＩＯアクセス用コプロセッサ２２Ｂが設けられており、このＩＯアクセス用コプロセッサ２２Ｂは、入出力処理のタイミングを定めるための頭出しタイマの機能を有する。
【００５１】
図９に示すように、本実施例のフィールド制御システムでは、制御周期がタイマクロックＴＩＣＫの１００周期分に相当する。制御周期の開始タイミングのクロックタイマ（ＴＩＣＫ）でＴＩＣＫカウンタ２３のカウント値は０にリセットされる。
【００５２】
また、本実施例のフィールド制御システムでは、ＩＯアクセス用コプロセッサ２２Ｂは、制御周期開始時のタイマクロック（ＴＩＣＫ）を受け取ると実際に入力処理を開始するまでの時間を頭出しタイマのタイムアウト値として設定し、タイムカウントを開始する。図９に示すように、ＩＯアクセス用コプロセッサ２２Ｂは、頭出しタイマのタイムアウトによってＩＯアクセスインタフェース２６の入力処理を開始し、対応する入出力モジュールを介してフィールド機器のデータが入力される。
【００５３】
図９に示すように、頭出しタイマのタイムアウト値は、制御演算用プロセッサ２１による制御演算処理が開始される直前に、ＩＯアクセス用コプロセッサ２２Ｂによる入力処理が完了するような値とされる。ＩＯアクセス用コプロセッサ２２Ｂによる入力処理完了後、制御演算用プロセッサ２１は、次のタイマクロック（ＴＩＣＫカウンタ２３のカウント値＝９９）のタイミングでＩＯアクセス用コプロセッサ２２Ｂにより入力された入力データを使って制御演算を開始する。
【００５４】
次に、ＩＯアクセス用コプロセッサ２２Ｂは、制御演算用プロセッサ２１での制御演算により得られた出力データの出力処理を実行し、次のタイマクロック（ＴＩＣＫカウンタ２３のカウント値＝０）までに出力処理を完了させる。このような方法により、制御周期終盤の一定のタイミングにおいて、データ入出力を定期的に実行することが可能となる。
【００５５】
このように、本実施例のフィールド制御システムでは、ＴＩＣＫカウンタ２３のカウント値を用いて、制御演算用プロセッサ２１およびＩＯアクセス用コプロセッサ２２Ｂの動作を制御している。また、頭出しタイマを用いることにより、タイマクロック（ＴＩＣＫ）から所定時間経過後にＩＯアクセス用コプロセッサ２２Ａによる入力処理を実行している。これらの手法でのタイミングの制御により、制御周期内における所定の期間にＩＯアクセス用コプロセッサ２２Ｂによるデータの入出力処理を制御演算と同期して実行することが可能となる。
【００５６】
フィールドコントローラ２Ｂ，２Ｂ，・・・間のデータ通信についても、実施例１と同様、入出力データの時刻を合わせ込むことが可能となり、システム全体として安定した制御が可能となる。
【００５７】
以上説明したように、本発明のフィールド制御システムによれば、ネットワーク時刻に基づくタイマクロックに従ったタイミングで、フィールド機器を制御するための演算処理およびフィールド機器との間でのデータ通信を同期して実行するので、フィールド機器との間でのデータ通信のタイミングを適切に制御できる。
【００５８】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、制御ネットワークに接続されたフィールドコントローラを備え、フィールドコントローラとフィールド機器との間でデータ通信を実行しつつ所定の制御周期に従ってフィールド機器を制御するための演算処理を実行するフィールド制御システム
に対し、広く適用することができる。
【符号の説明】
【００５９】
２，２Ａ，２Ｂ  フィールドコントローラ
２１    制御演算用プロセッサ（制御演算手段）
２２，２２Ａ，２２Ｂ  ＩＯアクセス用コプロセッサ（通信手段）
２３    ＴＩＣＫカウンタ（カウント手段）
３１    ネットワーク時計
【図１】
2010182101.tif 000003
【図２】
2010182101.tif 000004
【図３】
2010182101.tif 000005
【図４】
2010182101.tif 000006
【図５】
2010182101.tif 000007
【図６】
2010182101.tif 000008
【図７】
2010182101.tif 000009
【図８】
2010182101.tif 000010
【図９】
2010182101.tif 000011