IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-47160制御装置、制御システム、および、制御方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023047160
(43)【公開日】2023-04-05
(54)【発明の名称】制御装置、制御システム、および、制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20230329BHJP
   G05B 19/042 20060101ALI20230329BHJP
   G06F 9/48 20060101ALI20230329BHJP
   G06F 9/52 20060101ALI20230329BHJP
【FI】
G06F12/00 560B
G05B19/042
G06F9/48 300Z
G06F9/52 150Z
G06F12/00 564A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021156111
(22)【出願日】2021-09-24
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】酒田 輝昭
(72)【発明者】
【氏名】大塚 祐策
(72)【発明者】
【氏名】清水 俊樹
(72)【発明者】
【氏名】佐々本 学
【テーマコード(参考)】
5B160
5H220
【Fターム(参考)】
5B160CB01
5B160CC05
5H220AA01
5H220AA04
5H220BB03
5H220CX04
5H220JJ12
5H220JJ26
5H220JJ36
(57)【要約】
【課題】制御周期を順守した制御信号のメモリアクセスが要求される制御システムを、低コストで実現すること。
【解決手段】制御装置1は、I/O装置90によるメモリ11へのデータアクセスに用いられるデータを一時的に格納するキャッシュメモリ40と、汎用CPU12によるデータアクセスの期間に割り込んで、I/O装置90によるデータアクセスの対象となるデータをメモリ11からキャッシュメモリ40に読み込ませた後、I/O装置90による制御周期C1の期間内に、データアクセスの対象となるデータをキャッシュメモリ40を介してI/O装置90にアクセスさせるリード周期制御部20とを有する。
【選択図】 図1
【特許請求の範囲】
【請求項1】
汎用CPUによるデータアクセスと、I/O装置による制御周期が定められたデータアクセスとのいずれかが各期間で占有して行われるメモリと、
前記I/O装置による前記メモリへのデータアクセスに用いられるデータを一時的に格納するキャッシュメモリと、
前記汎用CPUによるデータアクセスの期間に割り込んで、前記I/O装置によるデータアクセスの対象となるデータを前記メモリから前記キャッシュメモリに読み込ませた後、前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリを介して前記I/O装置にアクセスさせる周期制御部とを有することを特徴とする
制御装置。
【請求項2】
前記I/O装置は複数台存在するとともに、前記キャッシュメモリは前記I/O装置ごとの格納領域を有しており、
前記周期制御部は、各前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリを介して前記I/O装置にアクセスさせることを特徴とする
請求項1に記載の制御装置。
【請求項3】
前記制御装置は、さらに、前記キャッシュメモリのデータを一時的に格納する第2キャッシュメモリを有しており、
前記周期制御部は、各前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリまたは前記第2キャッシュメモリを介して前記I/O装置にアクセスさせることを特徴とする
請求項2に記載の制御装置。
【請求項4】
前記キャッシュメモリは、前記汎用CPUのデータアクセス用の第1領域と、前記汎用CPUよりも動作周波数が低い前記I/O装置のデータアクセス用の第2領域とを個別に有しており、
前記制御周期の期間内に前記周期制御部から出力される制御信号に従い、前記第1領域と前記第2領域との間でデータを移動することで、前記I/O装置と前記汎用CPUとのデータ移動を制御するデータ同期部を有することを特徴とする
請求項1に記載の制御装置。
【請求項5】
前記I/O装置は複数台存在するとともに、前記キャッシュメモリには前記I/O装置ごとの格納領域が時分割で設定されており、
前記周期制御部は、各前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリを介して前記I/O装置にアクセスさせることを特徴とする
請求項1に記載の制御装置。
【請求項6】
前記周期制御部は、データアクセスの対象となるデータを前記メモリから前記キャッシュメモリに読み込ませる旨の制御信号を前記制御周期の期間内に発行することを特徴とする
請求項1に記載の制御装置。
【請求項7】
前記周期制御部は、データアクセスの対象となるデータを前記I/O装置から前記キャッシュメモリに書き出す旨の制御信号を前記制御周期の期間内に発行することを特徴とする
請求項1に記載の制御装置。
【請求項8】
前記周期制御部は、レジスタインタフェースから値を設定されるレジスタを参照して、前記制御周期の期間内に発行する制御信号を生成することを特徴とする
請求項6または請求項7に記載の制御装置。
【請求項9】
前記周期制御部は、前記I/O装置からのデータアクセスの要求を受信してから、次のデータアクセスの要求を受信するまでのサイクルカウンタが計測したカウント値をもとに、前記制御周期の期間内に発行する制御信号を生成することを特徴とする
請求項6または請求項7に記載の制御装置。
【請求項10】
請求項1ないし請求項5のいずれか1項に記載の制御装置と、前記I/O装置とを有することを特徴とする
制御システム。
【請求項11】
制御装置は、メモリと、キャッシュメモリと、周期制御部とを有しており、
前記メモリにおいて、汎用CPUによるデータアクセスと、I/O装置による制御周期が定められたデータアクセスとのいずれかが各期間で占有して行われ、
前記キャッシュメモリには、前記I/O装置による前記メモリへのデータアクセスに用いられるデータが一時的に格納され、
前記周期制御部は、前記汎用CPUによるデータアクセスの期間に割り込んで、前記I/O装置によるデータアクセスの対象となるデータを前記メモリから前記キャッシュメモリに読み込ませた後、前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリを介して前記I/O装置にアクセスさせることを特徴とする
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御システム、および、制御方法に関する。
【背景技術】
【0002】
水処理、プラント、FA(Factory Automation)、鉄鋼、発電などの社会インフラ分野において、制御装置で制御を行う制御システムが各種実用化されている。
例えば、上下水処理、工場、製鉄所、発電プラント等では、主機に接続された制御装置を複数有する制御システムが処理を担っている。この制御装置は制御演算処理を実行し、主機に対する制御指令を制御データ(信号)として出力することで制御を行う。
【0003】
このような制御を行うためには、制御システムで定められている制御周期の時間内に演算処理が完了して、I/O(Input/Output)に対し入出力がなされなければならない場合がある。時間内に出力されない場合、システムが正常に可動できなくなって損失が発生すると共に、システムの状態が不安定になる可能性がある。そのため、こうした制御システムにおける制御装置には、メモリアクセスの高速化が要求されている。
【0004】
そこで、特許文献1には、共通バスの帯域を有効に利用しつつ、滞留したデータ転送を速やかに行うことができるデータ転送装置が記載されている。すなわち、特許文献1の請求項1には、以下の構成を備えるデータ転送装置が開示されている。
・共通バスに転送される転送データを一時的に格納するバッファ部
・入力データを転送データとしてバッファ部にライトすると共に、入力データをバッファ部にライトした旨を示す通知信号を出力するライト制御部
・バッファ部から転送データをリードするリード制御部
・リード制御部によりバッファ部からリードされた転送データを、所定のバスプロトコルに従って共通バスに転送するインタフェース部
・通知信号に基づいて、リード制御部がバッファ部から転送データをリードするタイミングを制御することにより、共通バスの帯域を平滑化する帯域平滑部
【0005】
また、特許文献2の請求項1には、以下の構成を備えることで、キャッシュメモリから高速にデータを読み出すことができる演算処理装置が開示されている。
・複数の記憶素子にそれぞれ複数のデータを記憶するキャッシュメモリ
・キャッシュメモリからデータが読み出されたタイミングが閾値より遅いときにはエラーを検出するエラー検出回路
・エラーが検出されないときにはキャッシュメモリから読み出されたデータをラッチ(保持)し、エラーが検出されたときには待機期間経過後にキャッシュメモリから読み出されたデータをラッチするラッチ回路
・ラッチ回路によりラッチされたデータの処理を行う演算処理装置コア
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2017-4430号公報
【特許文献2】特開2013-89171号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
近年の制御システムでは、将来の労働力不足問題などに対応するために自動化や自律化を進めることによる高効率化が検討されている。そのためには広大なフィールドに複数のセンサ等を配置して取得したデータをAI(Artificial Intelligence)などを用いて分析することで、より高効率な制御指令値を演算する検討が始まっている。AIなどの演算処理を汎用CPU(Central Processing Unit)で動作する汎用OS(Operating System)の上で処理できるようにすることが望まれている。
【0008】
一方、従来の制御システム内で制御処理の主体となるマイコンは、制御周期を順守した制御信号のメモリアクセスを行うように設計されている。これにより、制御周期のミリ秒単位でバルブを開閉したり、ロボットアームを動作させたりする精密な制御を実行できる。
このようなリアルタイム性を重視するマイコンは、ASIC(Application Specific Integrated Circuit)などの専用回路として設計されるため、大量に流通される汎用CPUよりも開発コストや調達コストが高くなりがちである。また、専用部品であるマイコンは、制御信号のやり取りは得意だが、大量のデータの収集、収集したデータの分析および最適出力の自動化などの汎用的な処理は苦手である。
【0009】
そこで、従来型の制御システムの制御装置から、従来のマイコンを汎用CPUや汎用OSに置き換えつつ、他のI/O処理を行うモジュールなどは互換性維持のために従来システムのものを流用するような併用型の運用を検討する。
この併用型では、汎用CPUが制御プログラムと、それ以外のプログラムとを同一環境で動作させることにより、ジッタの発生やメモリアクセス逼迫などの影響で性能が低下することもある。
【0010】
そのため、I/O処理を行うモジュールが汎用CPUを介して従来の制御周期を順守できなくなることが懸念される。その結果、併用型の制御システムにおいて互換性を維持することができず、システムの状態が不安定になるかもしれない。
なお、特許文献1、特許文献2などの従来の技術では、汎用CPUと従来型の制御システムとの併用を想定していない。よって、従来のマイコンを汎用CPUに置き換えた場合でも、制御周期を順守したメモリアクセスを汎用CPUに実行させる仕組みが必要となる。
【0011】
そこで、本発明は、制御周期を順守した制御信号のメモリアクセスが要求される制御システムを、低コストで実現することを主な課題とする。
【課題を解決するための手段】
【0012】
上記の課題を解決するため、本発明の制御装置は以下の特徴を有する。
本発明は、汎用CPUによるデータアクセスと、I/O装置による制御周期が定められたデータアクセスとのいずれかが各期間で占有して行われるメモリと、
前記I/O装置による前記メモリへのデータアクセスに用いられるデータを一時的に格納するキャッシュメモリと、
前記汎用CPUによるデータアクセスの期間に割り込んで、前記I/O装置によるデータアクセスの対象となるデータを前記メモリから前記キャッシュメモリに読み込ませた後、前記I/O装置による前記制御周期の期間内に、データアクセスの対象となるデータを前記キャッシュメモリを介して前記I/O装置にアクセスさせる周期制御部とを有することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【0013】
本発明によれば、制御周期を順守した制御信号のメモリアクセスが要求される制御システムを、低コストで実現できる。
【図面の簡単な説明】
【0014】
図1】実施例1に関する制御装置の構成図である。
図2】実施例1に関する制御装置のリード周期制御部の構成図である。
図3】実施例1に関するリード周期指定部の第1例を示す構成図である。
図4】実施例1に関するリード周期指定部の第2例を示す構成図である。
図5】実施例1に関する制御装置のライト周期制御部の構成図である。
図6】実施例1に関するライト周期指定部の第1例を示す構成図である。
図7】実施例1に関するライト周期指定部の第2例を示す構成図である。
図8】比較例の制御装置におけるタイミングチャートである。
図9】実施例1に関する図1の制御装置の動作の一例を説明するタイミングチャートである。
図10】実施例2に関する制御装置の構成図である。
図11】実施例2に関するリード周期制御部の構成図である。
図12】実施例2に関するライト周期制御部の構成図である。
図13】比較例の制御装置におけるタイミングチャートの一例を示す図である。
図14】実施例2に関する制御装置の動作の一例を説明するタイミングチャートである。
図15】実施例3に関する制御装置の構成図である。
図16】実施例3に関する制御装置の動作の一例を説明するタイミングチャートである。
図17】実施例4に関する制御装置の構成図である。
図18】実施例5に関する制御装置の構成図である。
図19】実施例5に関する制御装置の動作の一例を説明するタイミングチャートである。
図20】各実施例の制御装置の実装例を示す構成図である。
図21】各実施例の制御装置を水プラント(水処理システム)に適用した場合の適用例1を示す構成図である。
図22】各実施例の制御装置をFAシステムに適用した場合の適用例2を示す構成図である。
図23】各実施例の制御装置を鉄鋼システムの熱延設備に適用した場合の適用例3を示す構成図である。
図24】各実施例の制御装置を発電制御システムに適用した場合の適用例4を示す構成図である。
図25】比較例の制御装置を示す構成図である。
図26】比較例の制御装置を示す構成図である。
【発明を実施するための形態】
【0015】
以下、本発明の各実施例を説明する。
【実施例0016】
図1は、実施例1に係る制御装置1Aの構成図である。
制御装置1Aは、メモリ11と、汎用CPU12と、リードインタフェース13と、ライトインタフェース14と、バスインタフェース16と、バス18と、I/Oモジュール19と、キャッシュメモリ40とを有する。
バスインタフェース16は、キャッシュメモリ40をバス18に接続する。バス18は、バスインタフェース16と、I/Oモジュール19とを接続する。I/Oモジュール19は、I/O装置90と入出力を行うとともに、メモリ11へ周期的にライト処理を行い、メモリ11から周期的にリード処理を行う。
【0017】
メモリ11には、I/O装置90が制御に用いるデータが格納される。汎用CPU12は、汎用OSが動作し、汎用OSにより汎用アプリケーションが実行される。汎用CPU12は、接続されるメモリ11にアクセスすることで、データを読み書きする。
キャッシュメモリ40には、メモリ11内のデータが一時的に格納されている。I/Oモジュール19がメモリ11にアクセスする代わりに、キャッシュメモリ40にアクセスすることで、データのアクセス時間を短縮できる。
【0018】
なお、メモリ11のデータを、キャッシュメモリ40のデータとして読み込むことで、キャッシュメモリ40はリードキャッシュとして機能する。リードインタフェース13は、リードキャッシュのデータの経路である。I/Oモジュール19は、キャッシュメモリ40のデータを自身に読み込むためのリード要求をキャッシュメモリ40に通知することで、キャッシュメモリ40のデータを読み込む。
【0019】
また、キャッシュメモリ40のデータを、メモリ11のデータとして書き込みことで、キャッシュメモリ40はライトキャッシュとして機能する。ライトインタフェース14は、ライトキャッシュのデータの経路である。I/Oモジュール19は、自身のデータをキャッシュメモリ40に書き出すためのライト要求をキャッシュメモリ40に通知することで、キャッシュメモリ40にデータを書き出す。
【0020】
実施例1の特徴として、制御周期を順守した制御信号のメモリアクセスをI/Oモジュール19に実行させるために、周期制御部として、リード周期制御部20、および、ライト周期制御部30を備える。
リード周期制御部20は、I/O装置90が汎用CPU12に対してリード処理を行うときの制御周期を制御する。リード周期制御部20と汎用CPU12とはリードインタフェース13を介して接続され、リード周期制御部20とキャッシュメモリ40とが接続される。
ライト周期制御部30は、I/O装置90が汎用CPU12に対してライト処理を行うときの制御周期を制御する。ライト周期制御部30と汎用CPU12とはライトインタフェース14を介して接続され、ライト周期制御部30とキャッシュメモリ40とが接続される。
【0021】
図2は、制御装置1Aのリード周期制御部20Aの構成図である。リード周期制御部20Aは、リード周期指定部21と、リードリクエストタイミング生成回路22と、ANDゲート23とを有する。
リード周期指定部21は、I/Oモジュール19からキャッシュメモリ40を介してリードリクエスト信号21Dが入力されると、そのタイミングをトリガにリード周期指示信号22Dを出力する。
リードリクエスト信号21Dは、I/O装置90がリードデータ信号24D(制御データ)をメモリ11から読み込む旨のリード要求である。リード周期指示信号22Dは、リードデータ信号24Dのリード処理を行うときの制御周期を汎用CPU12に指示する信号である。
【0022】
リードリクエストタイミング生成回路22は、リード周期指示信号22Dをもとにリードリクエストタイミング信号23Dを生成して汎用CPU12に出力する。リードリクエストタイミング信号23Dは、リード周期指示信号22Dの制御周期を順守するリード処理のタイミングを、汎用CPU12に通知する信号である。また、リードリクエストタイミング信号23Dは、データアクセスの対象となるデータをメモリ11からキャッシュメモリ40に読み込ませる旨の制御信号である。
汎用CPU12は、リードリクエストタイミング信号23Dを受信することで、メモリ11からリード処理するリードデータ信号24D(の格納アドレス)を特定し、制御周期までにキャッシュメモリ40に格納する。
【0023】
また、汎用CPU12は、リードデータ信号24Dをキャッシュメモリ40に格納したことを契機として、キャッシュメモリ40からリードデータ信号24Dを読み込み可能状態になったことを知らせるリードデータイネーブル信号25Dを、リード周期制御部20Aに通知する。
ANDゲート23は、リードデータイネーブル信号25Dとリード周期指示信号22Dとの論理積を、リードデータタイミングイネーブル信号26Dとして生成する。リードデータタイミングイネーブル信号26Dは、キャッシュメモリ40からリードデータ信号24Dを読み込み可能状態であり、かつ、現在がリード周期指示信号22Dで示される制御周期内であることをI/Oモジュール19に通知する信号である。
【0024】
これにより、I/Oモジュール19は、制御周期内に通知されるリードデータタイミングイネーブル信号26Dの受信を契機として、キャッシュメモリ40からリードデータ信号24Dを制御周期内に読み込める。
換言すると、I/Oモジュール19は、リードデータタイミングイネーブル信号26Dの受信により、キャッシュメモリ40から所望のリードデータ信号24Dを確実に(キャッシュミスせずに)、キャッシュヒットして読み込むことができる。
【0025】
図3は、リード周期指定部21の第1例を示す構成図である。
図2のリード周期指定部21は、リード周期指定レジスタ21A1を有するリード周期指定部21Aとして構成される。
リード周期指定レジスタ21A1は、レジスタインタフェース21D2から値を設定されるレジスタであり、設定された値からリード周期指示信号22Dを出力する。
レジスタインタフェース21D2は、8bit、16bit、32bit、64bitなどの所定のビット幅を持ち、管理者によって、リードリクエスト信号21Dに関する情報(信号の種別、信号の制御周期など)が入力される。
【0026】
図4は、リード周期指定部21の第2例を示す構成図である。
図2のリード周期指定部21は、サイクルカウンタ21B1と、第1バッファ21B2と、第2バッファ21B3と、差分計算回路21B4と、リード周期指定レジスタ21B5とを有するリード周期指定部21Bとして構成される。
サイクルカウンタ21B1は、リードリクエスト信号21Dが有効となったタイミングをトリガに、現在のカウント値を第1バッファ21B2に保存するとともに、回路のクロック周波数に応じてカウント数のインクリメントを開始する。
【0027】
サイクルカウンタ21B1は、再びリードリクエスト信号21Dが有効となったタイミングで現在のカウント値を第2バッファ21B3に保存する。
差分計算回路21B4は、第1バッファ21B2のカウント値と、第2バッファ21B3のカウント値と差を計算して、リード周期指定レジスタ21B5に設定する。リード周期指定レジスタ21B5は、設定された値をリード周期指示信号22Dとして出力する。
【0028】
図5は、制御装置1Aのライト周期制御部30Aの構成図である。ライト周期制御部30Aは、ライト周期指定部31と、ライト応答タイミング生成回路32と、ANDゲート33とを有する。
ライト周期制御部30Aは、I/Oモジュール19からキャッシュメモリ40を介して、キャッシュメモリ40内のデータであるライトデータ信号31D(制御データ)、および、ライトリクエスト信号32Dの入力を受け付ける。ライトリクエスト信号32Dは、I/O装置90がライトデータ信号31Dをキャッシュメモリ40(およびメモリ11)に書き出す旨のライト要求である。
【0029】
ANDゲート33は、ライトリクエスト信号32Dとライト周期指示信号34Dとの論理積を、ライトデータタイミングイネーブル信号36Dとして生成する。ライト周期指示信号34Dは、ライトデータ信号31Dのライト処理を行うときの制御周期を汎用CPU12に指示する信号である。ライトデータタイミングイネーブル信号36Dは、キャッシュメモリ40からライトデータ信号31Dを読み込み可能状態であり、かつ、現在がライト周期指示信号34Dで示される制御周期内であることを汎用CPU12に通知する信号である。
【0030】
ライト周期指定部31は、ライトリクエスト信号32D(またはライトデータタイミングイネーブル信号36D)への応答であるライトアクノリッジ信号33Dを汎用CPU12から受信する。ライト周期指定部31は、ライトアクノリッジ信号33Dが有効となったタイミングをトリガに、ライト周期指示信号34Dを出力する。
【0031】
ライト応答タイミング生成回路32は、ライト周期指示信号34Dからライトアクノリッジタイミング信号35Dを生成してキャッシュメモリ40などの外部に出力する。ライトアクノリッジタイミング信号35Dは、ライト周期指示信号34Dの制御周期を順守するライト処理のタイミングを、外部(汎用CPU12、キャッシュメモリ40など)に通知する信号である。また、ライトアクノリッジタイミング信号35Dは、データアクセスの対象となるデータをI/O装置90からキャッシュメモリ40に書き出す旨の制御信号である。
汎用CPU12は、ライトアクノリッジタイミング信号35Dを受信することで、メモリ11にライト処理するライトデータ信号31D(のキャッシュメモリ40内での格納アドレス)を特定し、制御周期までにライトアクノリッジ信号33Dを応答する。
【0032】
これにより、汎用CPU12は、制御周期内に通知されるライトデータタイミングイネーブル信号36Dの受信を契機として、キャッシュメモリ40からライトデータ信号31Dを制御周期内に読み込めるとともに、ライトアクノリッジ信号33Dを制御周期内に応答できる。
換言すると、汎用CPU12は、ライトデータタイミングイネーブル信号36Dの受信により、キャッシュメモリ40から所望のライトデータ信号31Dを確実に(キャッシュミスせずに)、キャッシュヒットして読み込むことができる。
【0033】
図6は、ライト周期指定部31の第1例を示す構成図である。
ライト周期指定部31Aは、ライト周期指定レジスタ31A1を有する。ライト周期指定レジスタ31A1は所定のビット幅を持ち、例えば8bit、16bit、32bit、64bitなどである。
ライト周期指定レジスタ31A1は、汎用CPU12などから所定のビット幅に合わせたレジスタインタフェース32D2を介して値が設定されると、その設定された値をライト周期指示信号34Dとして出力する。
【0034】
図7は、ライト周期指定部31の第2例を示す構成図である。
ライト周期指定部31Bは、サイクルカウンタ31B1と、と、バッファ31B2と、と、バッファ31B3と、と、差分計算回路31B4と、と、ライト周期指定レジスタ31B5とを有する。
サイクルカウンタ31B1は、ライトリクエスト信号32Dが有効となったタイミングをトリガに、現在のカウント値をバッファ31B2に保存するとともに、回路のクロック周波数に応じてカウント数のインクリメントを開始する。サイクルカウンタ31B1は、再びライトリクエスト信号32Dが有効となったタイミングで現在のカウント値をバッファ31B3に保存する。
【0035】
差分計算回路31B4は、バッファ31B2のカウント値と、バッファ31B3のカウント値との差を計算して、その結果をライト周期指定レジスタ31B5に設定する。
ライト周期指定レジスタ31B5は、設定された値をライト周期指示信号34Dとして出力する。
【0036】
図25は、比較例の制御装置を示す構成図である。図25の制御装置1Fは、図1の制御装置1Aと比較して、リード周期制御部20A、ライト周期制御部30A、キャッシュメモリ40、リードインタフェース13、ライトインタフェース14が省略されている。よって、制御装置1Fは、汎用CPU12とバスインタフェース16とを接続した構成となっている。
【0037】
図8は、図25の制御装置1Fにおけるタイミングチャート2Aである。制御装置1Fは、一定の制御周期の期間内に、I/O装置90が汎用CPU12に接続するメモリ11からデータをリードする。
タイミングチャート2Aの上段の行「メモリ」は、メモリ11を排他的に占有している装置を示しており、ここでは汎用CPU12とI/O装置90が該当する。
タイミングチャート2Aの中段の行「I/O」は、I/O装置90がリードリクエスト(図2のリードリクエスト信号21Dであり「RR」と略す)を出力してリードデータ(図2のリードデータ信号24Dであり、「RD」と略す)をメモリ11経由で受信することを示す。
タイミングチャート2Aの下段の行「制御周期」は、I/O装置90がメモリ11にアクセスするときの制御周期(各周期の制限時間)を示す。
【0038】
制御周期C1では、メモリアクセスに要する時間が制限時間を順守できている。つまり、汎用CPU12がメモリ11を占有した後にどの装置もメモリ11を占有しておらず、I/O装置90からリードリクエスト(RR1)が出力された時点でI/O装置90がメモリ11を占有し、リードデータ(RD1)を受信して制御周期C1の期間内に収まっている。
【0039】
制御周期C2では、メモリアクセスに要する時間が制限時間を順守できていない。ここで、汎用OSを動作させている汎用CPU12が所定の処理時間で終了しない。よって、I/O装置90からリードリクエスト(RR2)が出力されても、メモリ11を占有できるのが制御周期C3に入ってからとなる。つまり、リードデータ(RD2)が制御周期C2の期間内に受信できなかった。
このような場合、制御システムによっては、制御周期内に入出力を完了するという従来の処理が行えなかったことで、システムに障害が発生したり、危険な状態に陥ったりする可能性がある。
【0040】
図9は、図1の制御装置1Aの動作の一例を説明するタイミングチャート2Bである。制御装置1Aは、一定の制御周期の期間内に、I/O装置90が汎用CPU12に接続するメモリ11からデータをリードする。
タイミングチャート2Bの上から第1段、第3段、第4段の行は、図8で説明した通りである。ここで、タイミングチャート2A,2Bでは、I/O装置90からのリードリクエスト(RR)が出力されるタイミングは同一である。
タイミングチャート2Bの第2段の行「キャッシュメモリ」は、キャッシュメモリ40内のデータ内容を示しており、このデータ内容はリード周期制御部20Aとライト周期制御部30Aによって制御される。
【0041】
制御周期C1では、メモリアクセスに要する時間が制限時間を順守できている。つまり、汎用CPU12がメモリ11を占有した後にどの装置もメモリ11を占有していないので、リード周期制御部20AがI/O装置90用のリードデータ(RD1)をキャッシュメモリ40に格納する。
I/O装置90からリードリクエスト(RR1)が出力された時点でキャッシュメモリ40にリードデータ(RD1)が格納されているので、I/O装置90はリードデータ(RD1)を受信して制御周期C1の期間内に収まっている。
【0042】
制御周期C2でも、メモリアクセスに要する時間が制限時間を順守できている。ここで、汎用OSを動作させている汎用CPU12が所定の処理時間で終了しない。しかし、リード周期制御部20Aがリード周期を判定して汎用CPU12のアクセスタイミングに割り込んで、I/O装置90のリードデータ(RD2)をキャッシュメモリ40に格納する。
つまり、リード周期制御部20Aは、汎用CPU12によるデータアクセスの期間に割り込んで、I/O装置90によるデータアクセスの対象となるデータをメモリ11からキャッシュメモリ40に読み込ませた後、I/O装置90による制御周期C1の期間内に、データアクセスの対象となるデータをキャッシュメモリ40を介してI/O装置90にアクセスさせる。
【0043】
なお、汎用CPU12のアクセスタイミングに割り込む処理の詳細は、例えば、図2の説明の通りである。つまり、汎用CPU12は、リード周期制御部20Aから受信したリードリクエストタイミング信号23Dにより、アクセスタイミングの割り込みを認識する。そして、汎用CPU12は、自身のメモリアクセスよりも、I/O装置90のメモリアクセスを優先させる。
【0044】
これにより、I/O装置90からリードリクエスト(RR2)が出力された時点でキャッシュメモリ40にリードデータ(RD2)が格納されているので、リードデータ(RD2)を受信して制御周期C2の期間内に収まっている。
制御周期C3でも、メモリアクセスに要する時間が制限時間を順守できている。
【0045】
以上説明したように、実施例1によれば、汎用CPU12、汎用OSの採用による拡張性の高い制御システムの実装において、従来モジュールのI/O処理のタイミング互換により、リアルタイム性を保証できる制御装置1Aを提供できる。
以下、実施例2~実施例5(制御装置1B~1E)を説明するが、制御装置1Aが備えている各部品(例えば、メモリ11)を、制御装置1B~1Eでは図示していない場合でも、制御装置1Aが備えている各部品は、制御装置1B~1Eでも備えられていることとしてもよい。
【実施例0046】
図10は、実施例2に係る制御装置1Bの構成図である。制御装置1Bは、図1の制御装置1Aに対して2台目の第2I/O装置92を接続するI/Oモジュール19を、1台目の第1I/O装置91を接続するI/Oモジュール19とは別に追加した。
さらに、制御装置1Aのリード周期制御部20A、ライト周期制御部30Aに対して、制御装置1Bのリード周期制御部20B、ライト周期制御部30Bは、第2I/O装置92に対応させている。
【0047】
図11は、リード周期制御部20Bの構成図である。
リード周期制御部20Bは、図2のリード周期制御部20Aと比較して、2台目用のリード周期指定部21Bと、複数台のI/O装置間のアクセスを調停するリードモジュール調停回路24とが追加されている。
【0048】
リード周期指定部21Bは、第2I/O装置92からI/Oモジュール19およびキャッシュメモリ40を介してリードリクエスト信号21Dが入力されると、そのタイミングをトリガにリード周期指示信号22Dをリードモジュール調停回路24に出力する。
リードモジュール調停回路24は、リード周期指定部21,21Bそれぞれのリードリクエスト信号21Dが有効となったタイミングをトリガに、リード周期指示信号22Dを出力する。
その他のリード周期制御部20B内の各処理部および各信号は、図2で説明した通りである。
【0049】
図12は、ライト周期制御部30Bの構成図である。
ライト周期制御部30Bは、図5のライト周期制御部30Aと比較して、2台目用のライト周期指定部31Bと、複数台のI/O装置間のアクセスを調停するライトモジュール調停回路34とが追加されている。
ライト周期指定部31Bは、第2I/O装置92からI/Oモジュール19およびキャッシュメモリ40を介してライトリクエスト信号32Dが入力されると、そのタイミングをトリガにライト周期指示信号34Dをリードモジュール調停回路24に出力する。
【0050】
ライトモジュール調停回路34は、第1I/O装置91または第2I/O装置92からのライトリクエスト信号32Dが有効であり、かつ、ライト周期指定部31またはライト周期指定部31Bからのライト周期指示信号34Dが有効であるタイミングで、ライトデータタイミングイネーブル信号36Dを汎用CPU12に出力する。
ライトモジュール調停回路34は、ライトアクノリッジ信号33Dが有効となったタイミングをトリガにライト周期指示信号34Dをライト応答タイミング生成回路32に出力する。ライト応答タイミング生成回路32は、ライト周期指示信号34Dからライトアクノリッジタイミング信号35Dを生成してキャッシュメモリ40などの外部に出力する。
その他のライト周期指定部31B内の各処理部および各信号は、図5で説明した通りである。
【0051】
図26は、比較例の制御装置を示す構成図である。
図26の制御装置1Gは、図1の制御装置1Aから、リード周期制御部20A、ライト周期制御部30A、キャッシュメモリ40、リードインタフェース13、ライトインタフェース14を省略した。
一方、図10と同様に、図26の制御装置1Gは、2台目の第2I/O装置92を接続するI/Oモジュール19を、1台目の第1I/O装置91を接続するI/Oモジュール19とは別に追加した。
【0052】
図13は、制御装置1Gにおけるタイミングチャート2Cの一例を示す図である。
第1I/O装置91は、一定の第1制御周期C1-C3の期間内に、汎用CPU12に接続するメモリ11からデータをリードする。
第2I/O装置92は、一定の第2制御周期C11,C12の期間内に、汎用CPU12に接続するメモリ11に対してデータをライトする。第2制御周期C11,C12は、第1制御周期C1-C3よりも長い周期とする。
【0053】
タイミングチャート2Cの第1段の行「メモリ」は、メモリ11を排他的に占有している装置を示しており、ここでは汎用CPU12と、第1I/O装置91と、第2I/O装置92とが該当する。
タイミングチャート2Cの第2段の行「第1I/O」は、第1I/O装置91がリードリクエスト(RR)を出力してリードデータ(RD)をメモリ11経由で受信することを示す。
タイミングチャート2Cの第3段の行「第2I/O」は、第2I/O装置92がライトデータ(図5のライトデータ信号31Dであり「WD」と略す)をメモリ11へ転送して、ライトアクノリッジ(図5のライトアクノリッジ信号33Dであり「WA」と略す)を受信することを示す。
タイミングチャート2Cの第4段の行「第1制御周期」は、第1I/O装置91がメモリ11にアクセスするときの制御周期を示す。
タイミングチャート2Cの第5段の行「第2制御周期」は、第2I/O装置92がメモリ11にアクセスするときの制御周期を示す。
【0054】
ここで、最初の制御周期C1では、汎用CPU12がメモリ11を占有した後にどの装置もメモリ11を占有していない。そこで、第1I/O装置91からリードリクエスト(RR1)が出力された時点で、第1I/O装置91がメモリ11を占有する。よって、第1I/O装置91は、制御周期C1の期間内にリードデータ(RD1)を受信できる。
【0055】
また、制御周期C11では、第2I/O装置92からライトデータ(WD1)がメモリ11に対して出力された時点で、汎用CPU12がメモリ11を占有している。
さらに、制御周期C2において第1I/O装置91からリードリクエスト(RR2)が出力された時点でも、汎用CPU12がメモリ11を占有している。
【0056】
この結果、ライトデータ(WD1)に対するライトアクノリッジ(WA1)は、制御周期C11には間に合わず、次の制御周期C12での返信となってしまう。一方、第2I/O装置92から次のライトデータ(WD2)は制御周期C12の期間内に送信できる。
また、第1I/O装置91からのリードリクエスト(RR2)に対するリードデータ(RD2)は、制御周期C2には間に合わず、次の制御周期C3での受信となってしまう。
【0057】
さらに、ライトデータ(WD1)に対するライトアクノリッジ(WA1)を受信しないと、I/Oが次の処理をできないようなケースもある。このような場合、制御システムによっては、制御周期内に入出力を完了するという従来の処理が行えなかったことで、システムに障害が発生したり、危険な状態に陥ったりする可能性がある。
【0058】
図14は、制御装置1Bの動作の一例を説明するタイミングチャート2Dである。
タイミングチャート2Dは、タイミングチャート2Cにキャッシュメモリ40の行を追加している。キャッシュメモリ40の行は、図9で説明した通りであるが、図14ではリードデータ(RD)用の領域を上段とし、ライトデータ(WD)用の領域を下段とする。つまり、キャッシュメモリ40はI/O装置90ごとの格納領域を有している。
タイミングチャート2C,2Dでは、第1I/O装置91からのリードリクエスト(RR)が出力されるタイミングが同一である。また、タイミングチャート2C,2Dでは、第2I/O装置92からのライトデータ(WD)が出力されるタイミングが同一である。
【0059】
ここで、最初の制御周期C1では、汎用CPU12がメモリ11を占有した後にどの装置もメモリ11を占有していない。よって、リード周期制御部20Bは、第1I/O装置91用のリードデータ(RD1)をキャッシュメモリ40に格納する。第1I/O装置91からリードリクエスト(RR1)が出力された時点でキャッシュメモリ40にリードデータ(RD1)が格納されている。よって、第1I/O装置91は、制御周期C1の期間内にリードデータ(RD1)を受信できる。
【0060】
また、制御周期C11では、ライト周期制御部30Bは、第2I/O装置92からライトデータ(WD1)がメモリ11に対して出力されたタイミングで、キャッシュメモリ40にライトデータ(WD1)を格納する。よって、第2I/O装置92は、制御周期C11の期間内にライトアクノリッジ(WA1)を受信できる。
制御周期C12では、ライト周期制御部30Bは、汎用CPU12がメモリ11を占有しなくなったタイミングで、第2I/O装置92のライトデータ(WD1)をメモリ11へ転送する。
【0061】
制御周期C2では、汎用OSを動作させている汎用CPU12が所定の処理時間で終了しない。しかし、リード周期制御部20Bは、リード周期を判定して汎用CPU12のアクセスタイミングに割り込んで、第1I/O装置91のリードデータ(RD2)をキャッシュメモリ40に格納する。
よって、I/Oからリードリクエスト(RR2)が出力された時点でキャッシュメモリ40にリードデータ(RD2)が格納されているので、第1I/O装置91は、制御周期C2の期間内にリードデータ(RD2)を受信できる。
制御周期C3以降についても同様に、リードアクセスとライトアクセスが、各制御周期の期間内に実行される。
【0062】
この実施例2の制御装置1Bによれば、従来のI/Oモジュール19を複数接続する場合においても、従来モジュールのI/O処理のタイミング互換によりリアルタイム性を保証できる。よって、汎用CPU12、汎用OSの採用による拡張性の高い制御システムを実装できる。
なお、実施例2ではI/O装置とI/Oモジュールとの組が2つの例で示したが、3つ以上の構成となってもよい。
【実施例0063】
図15は、実施例3に係る制御装置1Cの構成図である。
制御装置1Cは、図10の制御装置1Bと比較して、キャッシュメモリ40を第1キャッシュメモリ41とし、2台目のI/O装置を第3I/O装置93とし、その第3I/O装置93と入出力を行うI/Oモジュール19が第2キャッシュメモリ42を有する部分が相違する。
第2キャッシュメモリ42は、第1キャッシュメモリ41のデータを一時的に格納する。
【0064】
図16は、制御装置1Cの動作の一例を説明するタイミングチャート2Eである。
制御装置1Cは、一定の制御周期の期間内に、第1I/O装置91が汎用CPU12に対してデータをリードする。また、第1I/O装置91よりも長い制御周期を有する第3I/O装置93が汎用CPU12に対してデータをライトする。
【0065】
タイミングチャート2Eの第1段の行「第1キャッシュメモリ」は、第1キャッシュメモリ41のデータ内容である。上側がリード周期制御部20Bによって制御されるリードアクセス、下側がライト周期制御部30Bによって制御されるライトアクセスを示している。
タイミングチャート2Eの第2段の行「第1I/O」は、第1I/O装置91がリードリクエスト(RR)を出力してリードデータ(RD)を第1キャッシュメモリ41経由で受信することを示す。
【0066】
タイミングチャート2Eの第3段の行「第2キャッシュメモリ」は、第2キャッシュメモリ42のデータ内容であり、ライト周期制御部30Bによって制御される。
タイミングチャート2Eの第4段の行「第3I/O」は、第3I/O装置93がライトデータ(WD)を第2キャッシュメモリ42へ転送してライトアクノリッジ(WA)を受信することを示す。
タイミングチャート2Eの第5段の行「第1制御周期」は、第1I/O装置91が第1キャッシュメモリ41にアクセスするときの制御周期を示す。タイミングチャート2Eの第6段の行「第2制御周期」は、第3I/O装置93が第2キャッシュメモリ42にアクセスするときの制御周期を示す。
【0067】
ここで、最初の制御周期C11では、第3I/O装置93からライトデータ(WD1)が第2キャッシュメモリ42に対して出力された時点で第2キャッシュメモリ42にライトデータ(WD1)が格納される。よって、制御周期C11の期間内にライトアクノリッジ(WA1)を受信できる。この時点でライトデータ(WD1)は第1キャッシュメモリ41に格納されていない。
【0068】
制御周期C1では、第1I/O装置91から第1キャッシュメモリ41へリードリクエスト(RR1)が出力される。リードデータ(RD1)の受信後に第1キャッシュメモリ41にライトデータ(WD1)が格納される。その後、ライトデータ(WD1)は、汎用CPU12へライトされる。
制御周期C2、C12、C3以降についても同様にリードアクセスとライトアクセスとが実行される。
【0069】
この実施例3の制御装置1Cによれば、リード周期制御部20Bおよびライト周期制御部30Bは、各I/O装置90による制御周期C1,C11などの期間内に、データアクセスの対象となるデータをキャッシュメモリ40または第2キャッシュメモリ42を介してI/O装置90にアクセスさせる。
これにより、従来のI/Oモジュール19が内部に第2キャッシュメモリ42などの記憶装置を有する場合においても、従来モジュールのI/O処理のタイミング互換によりリアルタイム性を保証できる。よって、汎用CPU12、汎用OSの採用による拡張性の高い制御システムを実装できる。
なお、実施例3ではキャッシュメモリを有するI/Oモジュールが1つの例で示したが、2つ以上の構成となってもよい。さらに、実施例3ではI/Oモジュールが2つの例で示したが、3つ以上の構成となってもよい。
【実施例0070】
図17は、実施例4に係る制御装置1Dの構成図である。
制御装置1Dは、図1の制御装置1Aと比較して、汎用CPUデータ同期部20Cと、I/Oデータ同期部30Cとを追加するとともに、キャッシュメモリ40の内部を、複数のアクセス空間43a,43b,43c,44a,44b,44cに分割した。
【0071】
アクセス空間43a,43b,43cは、汎用CPU12のデータアクセス用の第1領域であり、アクセス空間43a,43b,43cは、汎用CPU12よりも動作周波数が低いI/O装置90のデータアクセス用の第2領域である。
「CPU→I/O」と記載されたアクセス空間43a,44aは、汎用CPU12からI/O装置90へのリードデータを格納する領域である。「I/O→CPU」と記載されたアクセス空間43a,44aは、I/O装置90から汎用CPU12へのライトデータを格納する領域である。
【0072】
汎用CPUデータ同期部20Cは、リード周期指定部21から出力されるリード周期指示信号22Dのタイミングでアクセス空間43a,43b,43cの内容を、アクセス空間44a,44b,44cに転送する。
I/Oデータ同期部30Cは、ライト周期指定部31から出力されるライト周期指示信号34Dのタイミングでアクセス空間44a,44b,44cの内容を、アクセス空間43a,43b,43cに転送する。
これらの転送処理により、第1領域と第2領域との間でデータを移動することで、I/O装置90と汎用CPU12とのデータ移動が制御される。
【0073】
この実施例4の制御装置1Dによれば、汎用CPU12とI/Oモジュール19とで、動作周波数の差を考慮することなく各装置がキャッシュメモリを介してリアルタイム性を保証したアクセスができる。
なお、汎用CPU12、汎用OSの採用による拡張性の高い制御システムの実装において、高い動作周波数で動作する汎用CPU12の処理と、低い動作周波数で動作する従来のI/Oモジュール19のI/O処理が存在する。
【実施例0074】
図18は、実施例5に係る制御装置1Eの構成図である。
制御装置1Eは、図1の制御装置1Aと比較して、モジュールアクセスタイミング調停部17を追加するとともに、キャッシュメモリ40の内部を、2つのアクセス空間45に時分割した。つまり、キャッシュメモリ40にはI/O装置90ごとの格納領域が時分割で設定されている。
「CPU→第1I/O」と記載されたアクセス空間45は、汎用CPU12から第1I/O装置91へのリードデータを格納する領域である。「第4I/O→CPU」と記載されたアクセス空間45は、第4I/O装置94から汎用CPU12へのライトデータを格納する領域である。つまり、同じアクセス空間45は、時分割で利用される。
【0075】
バスインタフェース16と接続するモジュールアクセスタイミング調停部17は、リードインタフェース13およびライトインタフェース14を介して汎用CPU12と接続し、さらにキャッシュメモリ40と接続する。
モジュールアクセスタイミング調停部17は、リード周期指定部21からのリード周期指示信号22Dを受けて、アクセス空間45にリードデータを格納する。
モジュールアクセスタイミング調停部17は、ライト周期指定部31からのライト周期指示信号34Dを受けて、アクセス空間45にライトデータを格納する。
【0076】
図19は、制御装置1Eの動作の一例を説明するタイミングチャート2Fである。
第1I/O装置91は、一定の制御周期C1,C2,C3の期間内に、汎用CPU12からデータをリードする。第4I/O装置94は、一定の制御周期C21,C22の期間内に、汎用CPU12からデータをリードする。制御周期C1,C2,C3と、制御周期C21,C22とは、同一の長さでタイミングが異なる。
【0077】
タイミングチャート2Fの第1段の行「タイミング調停」は、リード周期指定部21およびライト周期指定部31からの制御で、モジュールアクセスタイミング調停部17によりアクセスタイミングを調停されている装置を示しており、ここでは第1I/O装置91と第4I/O装置94とが該当する。
タイミングチャート2Fの第2段の行「キャッシュメモリ」は、キャッシュメモリ40のアクセス空間95のデータ内容であり、リード周期指定部21およびライト周期指定部31によって制御される。
【0078】
タイミングチャート2Fの第3段の行「第1I/O」は、第1I/O装置91がリードリクエスト(RR)を出力してリードデータ(RD)を受信することを示す。
タイミングチャート2Fの第4段の行「第4I/O」は、第4I/O装置94がリードリクエスト(RR)を出力してリードデータ(RD)を受信することを示す。
タイミングチャート2Fの第5段の行「第1制御周期」は、第1I/O装置91がキャッシュメモリ40にアクセスするときの制御周期を示す。タイミングチャート2Fの第6段の行「第4制御周期」は、第4I/O装置94がキャッシュメモリ40にアクセスするときの制御周期を示す。
【0079】
ここで、最初の制御周期C1の前半では、調停された第1I/O装置91がキャッシュメモリ空間を使用し、第1I/O装置91用のリードデータ(RD1)をキャッシュメモリ40に格納する。
第1I/O装置91からリードリクエスト(RR1)が出力された時点でキャッシュメモリ40にリードデータ(RD1)が格納されている。よって、第1I/O装置91は、制御周期C1の期間内にリードデータ(RD1)を受信できる。
【0080】
また、制御周期C21の前半では、調停された第4I/O装置94がキャッシュメモリ空間を使用し、第4I/O装置94用のリードデータ(RD4)をキャッシュメモリ40に格納する。
第4I/O装置94からリードリクエスト(RR4)が出力された時点でキャッシュメモリ40にリードデータ(RD4)が格納されている。よって、第4I/O装置94は、制御周期C21の期間内にリードデータ(RD4)を受信できる。
制御周期C2、C22、C3以降についても同様にリードアクセスが実行される。
【0081】
この実施例5によれば、リード周期指定部21およびライト周期指定部31は、各I/O装置90による制御周期C1、C21の期間内に、データアクセスの対象となるデータをキャッシュメモリ40を介してI/O装置90にアクセスさせる。
これにより、汎用CPU12、汎用OSの採用による拡張性の高い制御システムの実装において、従来モジュールのI/Oがアクセスするために用意するキャッシュメモリの容量を小さくすることができる。よって、タイミング互換によりリアルタイム性を保証しながら低コストかつ低消費電力な制御装置1Eを提供できる。
なお、実施例5では2つのI/Oモジュールの制御周期が同一の例で示したが、異なる制御周期であってもよい。さらに、実施例5ではI/Oモジュールが2つの例で示したが、3つ以上の構成となってもよい。
【0082】
次に、ここまで説明した各実施例に係る制御装置1A~1Eの応用例を説明する。
図20は、制御装置1A~1Eの実装例を示す構成図である。制御装置200は、バックプレーン220に接続する複数のスロット221、222、223に各種のモジュールを挿入して構成される。
汎用CPU12を搭載した装置であるCPUモジュール210と、I/Oモジュール19の機能を有するI/Oモジュール211、212が、バックプレーン220にそれぞれ実装されている。
【0083】
CPUモジュール210、I/Oモジュール211、I/Oモジュール212からはそれぞれに対してインタフェースが実装されている。なお、一般的にこのような制御装置を実装する際には電源モジュールも必要となるが、図20の例では省略して記載している。
各実施例に示すように、汎用CPU12を搭載するモジュールとI/O制御を搭載するモジュールを接続した構成とすることで、様々な形態で制御装置を構成することができる。
【0084】
さらに、バックプレーンなどに従来の制御装置と同じ接続インタフェースを採用することで、従来のモジュールをそのまま使用しながら、汎用CPU12などの新しいモジュールと接続して段階的な機能拡張を実現できる。
なお、各実施例におけるCPUモジュール、I/Oモジュールなどの設置数は、前記した数に限定されるものではなく、拡張して任意の数で実装することができる。
【0085】
次に、各実施例に係る制御装置をプラントなどの各種設備の制御に適用した適用例1~適用例4を、図21から図24を用いて説明する。
図21は、制御装置1A~1Eを水プラント(水処理システム)に適用した場合の適用例1を示す構成図である。
制御装置1A~1Eは、制御装置410、411に適用されることで、拡張性とリアルタイムな互換性が要求される水処理システムを実現できる。
I/O装置90(第1I/O装置91~第4I/O装置94でもよい、以下同じ)は、PI/O装置710、711、および、シーケンサ712,713に適用される。I/Oモジュール19は、I/Oモジュール910,911,912に適用される。
【0086】
水処理システムは、情報ネットワーク610に接続された情報端末510、監視装置512、ファイルサーバ513により、制御ネットワーク611に接続された制御装置410、411の制御を行う。
【0087】
制御装置410は、フィールドバス612を介して、PI/O装置710とPI/O装置711から高圧盤810および低圧盤811をそれぞれ制御する。
制御装置411は、シーケンサ712を介してポンプ812とブロワ813によって送り出す水量を調節する。また、水質計814で得られた水質とカメラ815が撮影したフィールド画像データはシーケンサ713で収集され、制御装置411で取得する。
これらの制御装置410、411は、制御ネットワーク611を介して接続され、データを共有する。
【0088】
ここで、効率良く水処理を行うために、制御装置410のCPUモジュール310および制御装置411のCPUモジュール311は、汎用CPU12と汎用OSを採用し、制御ネットワーク611を介して機器間のデータ共有が可能な構成としている。
一方、制御装置411はポンプ812とブロワ813に接続する従来のシーケンサ712を制御するため、従来の出力処理と互換動作を行う必要がある。また制御装置411は、水質計814とカメラ815を制御する従来のシーケンサ713を制御するため、従来の入力処理と互換動作を行う必要がある。
【0089】
さらに、制御装置410は高圧盤810と低圧盤811にフィールドバス612を介して接続する従来のPI/O装置710およびPI/O装置711を制御するため、従来の入出力処理と互換動作を行う必要がある。
よって、図21に示す構成の水処理システムでは、高い汎用性および拡張性と従来処理の互換性を両立するために、本発明の制御装置410、411を適用した構成としている。汎用性と拡張性が必要とされる機能をCPUモジュール310、311で実行し、互換性が必要とされる機能をI/Oモジュール910、911、912で実行する。
【0090】
図22は、制御装置1A~1EをFAシステムに適用した場合の適用例2を示す構成図である。
FAシステムは、情報ネットワーク620に接続されたサーバ520と監視端末521により、制御装置420の制御を行う。制御装置1A~1Eを制御装置420に適用することで、拡張性とリアルタイムな互換性が要求されるFAシステムを実現できる。
制御装置1A~1Eは、制御装置420に適用されることで、拡張性とリアルタイムな互換性が要求される水処理システムを実現できる。
I/O装置90は、PLC(Programmable Logic Controller)720~723に適用される。I/Oモジュール19は、I/Oモジュール920,921に適用される。
【0091】
ベルトコンベア825に載せられた製品はカメラ821で撮影されて形状データがPLC720で処理され、PLC721がピッキングロボット822を制御し所定の位置に配置する。PLC722が制御するコンベアモータ823によってベルトコンベア825が所定の速度で回転し、PLC723が制御する塗装ロボット824が製品の表面を塗装する。
【0092】
このFAシステムでは、ベルトコンベア825の制御に必要な複数のPLCを制御装置420で一括制御しているため、高品質な塗装を行うには、制御装置420で高性能かつリアルタイムな処理を行う必要がある。
【0093】
そのため、図22に示すFAシステムの制御装置420は、汎用CPU12を搭載するCPUモジュール320と、I/Oモジュール920、921とをバックプレーンで接続した構成としている。高性能な処理をCPUモジュール320で実行するとともに、その処理結果を、I/Oモジュール920から処理タイミングを互換しながらリアルタイムにPLC720、PLC721に送信して分散制御を行う。同様にI/Oモジュール921から処理タイミングを互換しながらリアルタイムにPLC722、PLC723に送信して分散制御を行う。
【0094】
図23は、制御装置1A~1Eを鉄鋼システムの熱延設備に適用した場合の適用例3を示す構成図である。
熱延設備は、制御ネットワーク600に接続された端末500が制御装置400、401、402の制御を行う。加熱炉801で熱された鋼は熱延設備800に投入される。温度センサ700によって得られた加熱炉801の温度は制御装置400で取得される。
制御装置1A~1Eは、制御装置400-402に適用されることで、拡張性とリアルタイムな互換性が要求される水処理システムを実現できる。
I/O装置90は、PI/O装置(Programmable Input/Output)701、702,704、および、温度センサ700,703に適用される。I/Oモジュール19は、I/Oモジュール900-902に適用される。
【0095】
制御装置400は、PI/O装置701を制御し、粗圧延機802の回転数を調整する。制御装置401はPI/O装置702を制御し、仕上圧延機803の回転数や張力を調整する。温度センサ703によって得られた冷却設備804の温度は、制御装置402で取得される。制御装置402はPI/O装置704を制御し、巻取機805の回転数や方向を調整する。
【0096】
ここで、品質のよい鋼板を精製するために、制御装置400のCPUモジュール300、制御装置401のCPUモジュール301、および制御装置402のCPUモジュール302はそれぞれ汎用CPU12と汎用OSを採用し、制御ネットワーク600を介して熱延設備800の状態を端末500が取得できる構成としている。
【0097】
一方、制御装置400は、粗圧延機802に接続する従来のPI/O装置701を制御するため、従来の入出力処理と互換動作を行う必要がある。また、制御装置401は、仕上圧延機803に接続する従来のPI/O装置702を制御するため、従来の入出力処理と互換動作を行う必要がある。さらに、制御装置402は、巻取機805に接続する従来のPI/O装置704を制御するため、従来の入出力処理と互換動作を行う必要がある。
【0098】
よって、汎用性と拡張性が必要とされる機能をCPUモジュール300、301、302でそれぞれ実行し、リアルタイムな互換性が必要とされる機能をI/Oモジュール900、901、902でそれぞれ実行する。
これにより、汎用性および拡張性とリアルタイムな互換性が要求される鉄鋼システムを実現できる。
【0099】
図24は、制御装置1A~1Eを発電制御システムに適用した場合の適用例4を示す構成図である。発電制御システムは、制御ネットワーク631に接続された端末501により全体の発電制御が行われる。
制御装置1A~1Eは、制御装置730-732に適用されることで、拡張性とリアルタイムな互換性が要求される水処理システムを実現できる。
I/O装置90は、電気制御盤830、タービン制御盤832、および、ボイラ制御盤834に適用される。I/Oモジュール19は、I/Oモジュール930-932に適用される。
【0100】
この発電制御システムでは、スイッチ831が押されたことによる制御データは電気制御盤830を介して制御装置730に送信され、システムが起動する。システムが起動すると、制御装置732が、燃焼するボイラ835を制御するボイラ制御盤834を制御し、制御装置731が、回転するタービン833の回転数を、タービン制御盤832を介して監視する。制御装置731は、これら装置の状態を、制御ネットワーク631を介して端末501に伝えることで全体の制御が行われる。
【0101】
ここで、環境に配慮した効率よい発電を安全に行うために、制御装置730のCPUモジュール330、制御装置731のCPUモジュール331、制御装置732のCPUモジュール332はそれぞれ汎用CPU12と汎用OSを採用し、制御ネットワーク631を介してスイッチ831、タービン833、ボイラ835のデータ共有が可能な構成となっている。
【0102】
一方、制御装置730は、スイッチ831に接続する従来の電気制御盤830を制御するため、従来の入力処理と互換動作を行う必要がある。また、制御装置731は、タービン833に接続する従来のタービン制御盤832を制御するため、従来の入出力処理と互換動作を行う必要がある。さらに、制御装置732は、ボイラ835に接続する従来のボイラ制御盤834を制御するため、従来の入出力処理と互換動作を行う必要がある。
【0103】
よって、汎用性が必要とされる機能をCPUモジュール330、331、332でそれぞれ実行し、リアルタイムな互換性が必要とされる機能をI/Oモジュール930、931、932でそれぞれ実行する。これにより、汎用性、リアルタイムな互換性および高い安全性が要求される発電制御システムを実現できる。
なお、各実施例の制御システムの適用例は、前記した適用例1~適用例4に限定されるものではなく、例えば、エレベーター制御システム、鉄道制御システム、自動車制御システム、建設機械制御システムなど、種々のシステムに使用することができる。
【0104】
以上説明した本発明の制御装置1A~1Eにより、汎用CPUまたは汎用OSの採用による低コストの制御システムにおいて、従来モジュールのI/O処理のタイミング互換により制御周期を順守したリアルタイム性を保証できる。なお、ここでのリアルタイム性とは、定められた応答時間内に処理が完了することを指し、高いリアルタイム性とは応答時間が短いことを示す。
【0105】
これにより、社会インフラなどを制御する制御システムにおいて、汎用性と拡張性が高く、従来モジュールのI/O処理のリアルタイム性を保証する制御装置を実現することが容易となり、従来の制御システムから汎用性と拡張性の高い制御システムへと段階的に拡張可能な制御システムを実現できる。
【0106】
なお、本発明は前記した実施例に限定されるものではなく、さまざまな変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
【0107】
各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)などの記録媒体におくことができる。また、クラウドを活用することもできる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
さらに、各装置を繋ぐ通信手段は、無線LANに限定せず、有線LANやその他の通信手段に変更してもよい。
【符号の説明】
【0108】
1 制御装置
11 メモリ
12 汎用CPU
13 リードインタフェース
14 ライトインタフェース
16 バスインタフェース
17 モジュールアクセスタイミング調停部
18 バス
19 I/Oモジュール
20 リード周期制御部(周期制御部)
20C 汎用CPUデータ同期部(データ同期部)
21 リード周期指定部
22 リードリクエストタイミング生成回路
23 ANDゲート
24 リードモジュール調停回路
30 ライト周期制御部(周期制御部)
30C I/Oデータ同期部(データ同期部)
31 ライト周期指定部
32 ライト応答タイミング生成回路
33 ANDゲート
34 ライトモジュール調停回路
40 キャッシュメモリ
41 第1キャッシュメモリ
42 第2キャッシュメモリ
90 I/O装置
91 第1I/O装置
92 第2I/O装置
93 第3I/O装置
94 第4I/O装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26