JP2003036101A - 冗長化コントローラ - Google Patents
冗長化コントローラInfo
- Publication number
- JP2003036101A JP2003036101A JP2001224190A JP2001224190A JP2003036101A JP 2003036101 A JP2003036101 A JP 2003036101A JP 2001224190 A JP2001224190 A JP 2001224190A JP 2001224190 A JP2001224190 A JP 2001224190A JP 2003036101 A JP2003036101 A JP 2003036101A
- Authority
- JP
- Japan
- Prior art keywords
- control
- controller
- task
- redundant
- buffer
- 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.)
- Granted
Links
Landscapes
- Hardware Redundancy (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
を入れた特殊なOSを必要とせず、汎用のハードウェア
及びOSで実現可能な冗長化コントローラを提供する。 【解決手段】 制御ソフトウェアを実行エンジンとする
制御タスクを有し、この制御タスクがI/Oバッファを
介してデータの入力を行い、制御演算を実行したデータ
をI/Oバッファへ出力する一対のコントローラを備え
た冗長化コントローラであって、同じ制御タスクを制御
側コントローラと待機側コントローラに設けたことを特
徴とする。
Description
テムにおいて、その制御を実行するコントローラの冗長
化に関するものであり、特に実行エンジンとして機能す
る制御ソフトウェアがソフトPLC(Programmable Logi
c Controller)で実現されたコントローラの冗長化に関
するものである。
目的を達成する冗長化コントローラを、特開平7−36
720「二重化コンピュータ装置」で提案している。図
4によりその構成と作用を説明する。
トローラ(制御側コントローラ及び待機側コントロー
ラ)をシステムバス10で結合した冗長化コントローラ
である。各コントローラにおいて、11はオペレーティ
ングシステム(OS)を格納したOS実行メモリ手段、
12はOSの機能を使用(システムコール)しながら動
作するアプリケーションプログラムを格納したプログラ
ム実行メモリ手段である。
ログラムに従って動作するCPU装置、14は制御対象
プロセスとの入出力を行うI/O装置であり、実際に制
御に関与しているI/O装置をどちらがアクセスするか
により、1及び2は制御側コントローラと待機側コント
ローラとに分けられる。15は、自身のCPU装置が受
けた割り込みを相手側コントローラ内のCPU装置に伝
えるプロセス装置間割り込み発生手段である。
CPU装置が実行するプログラムの起動によりスタート
し、当該プログラムの実行ステップ数をカウントすると
共にCPU装置への割り込みによりそれまで実行したス
テップ数を記憶する。
込みにより中断したプログラムの再起動時に、自身のス
テップカウント手段が記憶する実行ステップ数と相手コ
ントローラ内のステップカウント手段が記憶する実行ス
テップ数とを比較し、その差が所定の値より大きい場合
実行ステップ数が少ないコントローラ側のCPU装置に
対して前記差のステップ数だけ先に動作を開始させ、双
方のコントローラのCPU装置が同期して動作するよう
に制御する。
/O装置をどちらがアクセスするかにより制御側と待機
側とに分けられる2つのコントローラで構成される冗長
化コントローラにおいて、各コントローラに、アプリケ
ーションソフトウェアの実行ステップ数をカウントする
手段と、同期ずれ調整手段とを設け、割り込み処理の機
会を捕らえて自動的に同期がとられるように構成した点
を特徴としている。
トローラとは、同様の処理を同期して常に実行すること
となり、大がかりなシステムを構築しなくとも、制御側
がダウンしたような場合における待機側コントローラへ
の制御動作の切替えを、継続性を維持しながら即座に行
うことができる。
作をシステムコールに基づいて行う場合であって、シス
テムコールが長時間行われないような場合でも、同期動
作のずれを本質的に回避することができる。従って、ア
プリケーションプログラムは、その設計時において冗長
化処理(同期化のための処理)を意識しなくともよく、
アプリケーションプログラムの作成を容易に行うことが
できる。
トローラは、冗長化を実現するために高度にカスタマイ
ズされた専用ハードウェアおよびOSを用いており、そ
のプラットフォーム上で動作するアプリケーションソフ
トウェアが一切、冗長化を意識する必要がないという意
味で完璧な冗長化システムと言える。
ムの技術革新は著しく速く、ハードウェアおよびOSの
進化に対し、従来の冗長化方式を適用するには全てを自
社開発する必要があり、膨大なコストおよび時間を要す
ることになる。
ウェアで機能が定義されたソフトPLC(Programmable
Logic Controller)で構築する場合が多い。更にこの
ソフトPLCとして、IEC6113-3規格に準拠したプログ
ラム言語で記述されたものを使用することにより、シス
テムのオープン化、標準化を推進する趨勢にある。この
場合、PCのOS及びソフトPLC用OSは、市販の汎
用システムを利用し、汎用のPC上で作動するマルチベ
ンダ環境を構築する。
ハードウェアが必要となり、PCをはじめとする汎用の
コンピュータシステムに適用することができない。つま
り、移植性がない。更に、OS及びデバイスドライバに
高度な冗長化制御の仕組みを入れる必要があり、市販の
OSに対し、これらの機能を組み込むことは事実上困難
である。
制御の仕組みを入れた特殊なOSを必要とせず、汎用の
ハードウェア及びOSで実現可能な冗長化コントローラ
の提供を目的とする。
るために、本発明のうち請求項1記載発明の特徴は、制
御ソフトウェアを実行エンジンとする制御タスクを有
し、この制御タスクがI/Oバッファを介してデータの
入力を行い、制御演算を実行したデータをI/Oバッフ
ァへ出力する一対のコントローラを備えた冗長化コント
ローラであって、同じ制御タスクを制御側コントローラ
と待機側コントローラに設けた点にある。
ントローラにある制御タスクの処理と待機側コントロー
ラにある制御タスクの処理とを同期させた点にある。
ントローラにあるI/Oバッファに入出力されるデータ
と待機側コントローラにあるI/Oバッファに入出力さ
れるデータとを等値化させた点にある。
トウェアがソフトPLCで実現された点にある。
LCがIEC61131-3規格に準拠したプログラム言語で記述
された点にある。
用いて説明する。図1は本発明を適用した冗長化コント
ローラの概念を説明する機能ブロック図である。本発明
冗長化コントローラは、ハードウェアの構成としては、
単体で動作するコンポーネント(CPUカード、I/O
カード等)を制御側コントローラ1と待機側コントロー
ラ2のペア構成とし、両者をシステムバス(図示せず)
で結合する。ソフトウェアは、まったく同一のプログラ
ム(OSおよびアプリケーション)をそれぞれのコント
ローラで実行させ、両者が互いに同期をとることで並列
実行する。
行うもの(制御側)と実制御には関与せず待機しているも
の(待機側)とに別れるが、制御側・待機側とも基本的
にはまったく同一の処理を行っている。制御側・待機側
の区別は、実際にI/Oを行っているかどうかにより区
別される。I/Oの出力は制御側のみが行い。入力は制
御側が読込みを行い、待機側に入力データを受け渡す。
制御側がダウンした場合は、すみやかに制御権が待機側
に移行する。
行エンジンとして機能する制御ソフトウェアであり、ソ
フトPLCによる1個又は複数個のユーザ定義のタスク
(タスクA、タスクB)と、これらタスクに対するデー
タの入出力を行うI/Oバッファを有する。
する、ソフトPLCによる制御タスクであり、ユーザが
IEC61131-3規格に準拠したプログラム言語により自由に
構築することができる。4は制御ソフトウェア3とは非
同期で実行される各種のアプリケーションソフトウェア
である。アプリケーションソフトウェア4は、例えば文
書作成、表計算等を行うソフトウェアである。5はI/
Oドライバであり、制御側コントローラ1のみがプロセ
スとの入出力を実行するI/Oデバイス6と通信する。
御タスクがスキャン周期ごとに定周期で動作し、I/O
バッファにアクセスし、データの入出力を行う。制御タ
スクは、基本的にスキャンの先頭でI/Oバッファを介
してデータの入力を行い、各制御プログラム(ファンク
ションブロック・シーケンシャルファンクションブロッ
ク等の演算処理)を実行後、最後にI/Oバッファへの
出力を行う。
ントローラのI/Oドライバ5をコールすることで行わ
れる。この際、制御・待機間で同期(待ち合わせ)および
I/Oデータの等値化処理を行うことで、制御・待機間
の制御タスクは同一の処理を同期して実行する。
する。本発明では、制御側・待機側間でI/O入出力の
待ち合わせを行うことで、制御タスクの同期実行を実現
する。制御タスク31は、スキャンの先頭でI/Oの入
力を行う。I/O入力処理で制御側と待機側の同期(待
ち合わせ)を行い、制御側が読込んだI/Oデータを待
機側にコピー(等値化)する。
で記述された各制御プログラムが実行される。この際、
I/Oの出力が行われるが、出力はI/Oバッファ5に
対して行われ、実際のI/Oデバイス6への出力は行わ
れない。このため、制御側・待機側間で出力の同期をと
る必要はない。
1は、最後にI/Oバッファ5のデータを実際のI/O
デバイス6に出力する。I/Oの出力処理において、I
/Oを即時出力(I/Oバッファ手段への出力と同時に
実際のI/Oデバイス6への書込みも行う)するように
コンフィグレーションすることも可能である。この場合
も、I/O出力処理で制御側・待機側の同期をとるた
め、制御・待機間の処理の連続性は保証される。
ミングが異なってもI/Oの入出力のタイミングで同期
がとられ、同期実行することにより、制御側の異常が発
生した場合、すみやかに制御を待機側に切替えることが
可能となり、制御タスクの処理は途切れることなく継続
して制御を行うことができる。
が、タスクのスケジューリング(動作順序)は制御・待機
間で異なる可能性がある。例えば、制御側ではタスク
A、タスクBの順に起動されるが、待機ではタスクB、タ
スクAの順に起動される場合がある。
アプリケーション4は、制御側・待機側間で非同期に実
行される。つまり、制御側と待機側の同一のアプリケー
ション間でも実行中の処理は異なっている可能性があ
り、制御権切替え時、処理の連続性は保証されない。
周辺関連機能の具体的構成例を説明する。
クプレーンバスであるシステムバスの制御を行うドライ
バである。このシステムバスには各種I/Oデバイスが
接続され、I/Oドライバ28のI/Oカードアクセス
を行う。更にこのバスドライバ27は、制御側・待機側
間の同期およびI/Oを始めとするデータの等値化を行
うための等値化ライブラリ29との通信バスとして使用
される。等値化通信に使用する通信バスは、汎用のバス
も使用可能である。
10は各種I/Oのカード制御を行うI/Oドライバで
ある。これらI/Oドライバは、制御側コントローラで
のみ動作し、待機側はなにも処理を行わない。相手側コ
ントローラCPUとの同期・等値化はI/Oハンドラで
行うため、基本的に冗長化は意識しない。
ドラであり、制御タスクがI/Oの入出力を行う際にコ
ールされ、データのリード・ライトを実行する。データ
のリード時は、I/Oドライバ28、210から読込ん
だデータをI/Oバッファ手段に書込み、等値化ライブ
ラリ29を通して待機側I/Oハンドラとの同期および
入力データのコピーを行う。ライト時は、等値化ライブ
ラリ29を通して待機側I/Oハンドラと同期をとり、
I/Oバッファ手段の出力データをI/Oドライバ手段
へ書込む。
り、制御バスドライバ211を介して制御ソフトウェア
のコンフィグレータ、ヒューマン・マシンインターフェ
イス、他コントローラ等のステーション(図示せず)と
通信する。このソケットタスクは、イーサネット(登録
商標)、TCP/IPを通信媒体としたコミュニケーシ
ョンインターフェイスである。制御ソフトウェアでは、
制御バスドライバ211を介した通信をコミュニケーシ
ョンインターフェイス通信というプロトコルで定義して
おり、様々な通信媒体(RS232Cやベンダ固有のバ
ス)に適応可能な構成となっている。
ータ等のクライアントリクエストを受信すると、サーバ
ータスク235にリクエスト処理を依頼するとともに、
等値化ライブラリ29を通して待機側のTCP/IPソ
ケットタスク(図示せず)にリクエストを通知すること
で、コントローラに対する外部からのアクセスに対し、
制御側・待機側間の内部状態の等値化を行う。
側・待機側の状態を監視して、制御権の切替えを実行す
る。本タスクの機能(コントローラの異常検出と通知)を
ハードウェアで実現することで、切替え時間の短縮(1
秒以内)を行うことが可能となる。
本発明によれば、特殊なハードウェア及び冗長化制御の
仕組みを入れた特殊なOSを必要とせず、汎用のハード
ウェア及びOSにより、冗長化コントローラを容易に実
現することが可能となる。更に本発明は、OSへの依存
度が低いので、市販OSへのポーティングが容易であ
る。
フトPLCで実現され、更にこのソフトPLCが、IEC6
113-3規格に準拠したプログラム言語で記述されたもの
に適用した場合は、システムのオープン化、標準化利用
環境の構築に貢献することができる。
説明する機能ブロック図である。
の同期動作を説明するタイムチャート図である。
成例を示す機能ブロック図である。
テム構成図である。
Claims (5)
- 【請求項1】制御ソフトウェアを実行エンジンとする制
御タスクを有し、この制御タスクがI/Oバッファを介
してデータの入力を行い、制御演算を実行したデータを
I/Oバッファへ出力する一対のコントローラを備えた
冗長化コントローラであって、 同じ制御タスクを制御側コントローラと待機側コントロ
ーラに設けたことを特徴とする冗長化コントローラ。 - 【請求項2】前記制御側コントローラにある制御タスク
の処理と待機側コントローラにある制御タスクの処理と
を同期させたことを特徴とする請求項1記載の冗長化コ
ントローラ。 - 【請求項3】前記制御側コントローラにあるI/Oバッ
ファに入出力されるデータと待機側コントローラにある
I/Oバッファに入出力されるデータとを等値化させた
ことを特徴とする請求項1又は2記載の冗長化コントロ
ーラ。 - 【請求項4】前記制御ソフトウェアがソフトPLCで実
現された請求項1乃至3のいずれかに記載の冗長化コン
トローラ。 - 【請求項5】前記ソフトPLCがIEC61131-3規格に準拠
したプログラム言語で記述された請求項1乃至4のいず
れかに記載の冗長化コントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001224190A JP4099816B2 (ja) | 2001-07-25 | 2001-07-25 | 冗長化コントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001224190A JP4099816B2 (ja) | 2001-07-25 | 2001-07-25 | 冗長化コントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003036101A true JP2003036101A (ja) | 2003-02-07 |
JP4099816B2 JP4099816B2 (ja) | 2008-06-11 |
Family
ID=19057398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001224190A Expired - Lifetime JP4099816B2 (ja) | 2001-07-25 | 2001-07-25 | 冗長化コントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4099816B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280313A (ja) * | 2006-04-12 | 2007-10-25 | Yokogawa Electric Corp | 冗長化システム |
JP2009294961A (ja) * | 2008-06-06 | 2009-12-17 | Yokogawa Electric Corp | 多重化入出力モジュール |
JP2010003081A (ja) * | 2008-06-19 | 2010-01-07 | Hitachi Ltd | 演算処理装置多重化制御システム |
JP2010505167A (ja) * | 2006-09-29 | 2010-02-18 | シーメンス アクチエンゲゼルシヤフト | 工作機械を操作するための操作装置 |
JP2010198442A (ja) * | 2009-02-26 | 2010-09-09 | Toshiba Corp | フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法 |
JP2010211271A (ja) * | 2009-03-06 | 2010-09-24 | Toshiba Corp | フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法 |
JP2010257243A (ja) * | 2009-04-24 | 2010-11-11 | Hitachi Ltd | 計算機システム |
JP5719942B1 (ja) * | 2013-08-20 | 2015-05-20 | 株式会社小松製作所 | 建設機械用コントローラ |
JP2016058013A (ja) * | 2014-09-12 | 2016-04-21 | 富士電機株式会社 | 制御システム、中継装置、および制御装置 |
JP2019114263A (ja) * | 2017-12-22 | 2019-07-11 | キーランド テクノロジー カンパニー リミテッド | ソフトウェア定義plcの監視及び再構成方法及び装置 |
US11281182B2 (en) | 2018-09-05 | 2022-03-22 | Siemens Aktiengesellschaft | Redundant hot standby control system and control device, redundant hot standby method and computer-readable storage medium |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7332280B2 (ja) | 2018-09-10 | 2023-08-23 | 横河電機株式会社 | 冗長化システム、冗長化プログラム、及び情報処理装置 |
JP7435521B2 (ja) | 2021-03-29 | 2024-02-21 | 横河電機株式会社 | コントローラ、制御方法及び制御プログラム |
JP2023090264A (ja) | 2021-12-17 | 2023-06-29 | 横河電機株式会社 | 制御システムおよび制御方法 |
-
2001
- 2001-07-25 JP JP2001224190A patent/JP4099816B2/ja not_active Expired - Lifetime
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007280313A (ja) * | 2006-04-12 | 2007-10-25 | Yokogawa Electric Corp | 冗長化システム |
US8996139B2 (en) | 2006-09-29 | 2015-03-31 | Siemens Aktiengesellschaft | Method for synchronizing two control devices, and redundantly designed automation system |
JP2010505167A (ja) * | 2006-09-29 | 2010-02-18 | シーメンス アクチエンゲゼルシヤフト | 工作機械を操作するための操作装置 |
RU2461038C2 (ru) * | 2006-09-29 | 2012-09-10 | Сименс Акциенгезелльшафт | Способ синхронизации двух управляющих устройств и автоматическая система с резервированием |
JP2009294961A (ja) * | 2008-06-06 | 2009-12-17 | Yokogawa Electric Corp | 多重化入出力モジュール |
JP2010003081A (ja) * | 2008-06-19 | 2010-01-07 | Hitachi Ltd | 演算処理装置多重化制御システム |
JP2010198442A (ja) * | 2009-02-26 | 2010-09-09 | Toshiba Corp | フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法 |
JP2010211271A (ja) * | 2009-03-06 | 2010-09-24 | Toshiba Corp | フェイルオーバ機能を持つ分散システムおよび同システムにおけるフェイルオーバ方法 |
JP2010257243A (ja) * | 2009-04-24 | 2010-11-11 | Hitachi Ltd | 計算機システム |
JP5719942B1 (ja) * | 2013-08-20 | 2015-05-20 | 株式会社小松製作所 | 建設機械用コントローラ |
US9437057B2 (en) | 2013-08-20 | 2016-09-06 | Komatsu Ltd. | Construction machine controller |
JP2016058013A (ja) * | 2014-09-12 | 2016-04-21 | 富士電機株式会社 | 制御システム、中継装置、および制御装置 |
JP2019114263A (ja) * | 2017-12-22 | 2019-07-11 | キーランド テクノロジー カンパニー リミテッド | ソフトウェア定義plcの監視及び再構成方法及び装置 |
US10877455B2 (en) | 2017-12-22 | 2020-12-29 | Kyland Technology Co., Ltd. | Method and apparatus for monitoring and reconstructing a software-defined PLC |
US11281182B2 (en) | 2018-09-05 | 2022-03-22 | Siemens Aktiengesellschaft | Redundant hot standby control system and control device, redundant hot standby method and computer-readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
JP4099816B2 (ja) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4099816B2 (ja) | 冗長化コントローラ | |
US7516265B2 (en) | System and method for providing an application with memory access methods | |
JP2016110458A (ja) | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法およびプログラム | |
KR101704751B1 (ko) | 모듈 간의 타이밍 정보를 이용하는 멀티코어 시스템의 시뮬레이터, 및 그 시뮬레이션 방법 | |
JP2018064178A (ja) | スレーブ機器 | |
JP2007280313A (ja) | 冗長化システム | |
JP2008226111A (ja) | 2重化コントローラシステム、その稼動系コントローラ | |
JP6937626B2 (ja) | コントローラ装置、及び二重化システムの同期化方法 | |
JP2003029809A (ja) | Cpuユニット並びにプログラマブルコントローラ | |
JP4434103B2 (ja) | コンピュータ組み付け型プログラマブルコントローラ | |
JP2005122375A (ja) | 動作試験装置および動作試験方法 | |
JP2002082813A (ja) | プログラムロジック装置 | |
JPS62187901A (ja) | 2重化コントロ−ラの制御方法 | |
JP2006309507A (ja) | サーボ制御方法およびサーボ制御システム | |
JP2000242317A (ja) | プログラマブルコントローラ | |
JP3903688B2 (ja) | バンク切替システム | |
JP4293086B2 (ja) | マルチプロセッサシステム及びプロセッサの制御方法 | |
JP2008191840A (ja) | 制御システム及び制御方法 | |
JP2024000664A (ja) | 制御システム、中継装置および通信方法 | |
JPH10289196A (ja) | コンピュータおよびコンピュータにおける周辺デバイス制御データの転送方法 | |
JP2002024189A (ja) | 超並列コンピュータ及びその処理方法 | |
JP2001100812A (ja) | 分散処理方式 | |
JP2000284812A (ja) | プログラマブルコントローラ、及びその入出力制御方法 | |
JP2002297209A (ja) | シーケンス制御装置におけるシーケンスプログラム格納方法 | |
JPH07230304A (ja) | Pcシステムのデュアル制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070831 |
|
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: 20080225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080309 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4099816 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110328 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120328 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130328 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140328 Year of fee payment: 6 |