[go: up one dir, main page]

JP4826557B2 - 二重化plc - Google Patents

二重化plc Download PDF

Info

Publication number
JP4826557B2
JP4826557B2 JP2007196426A JP2007196426A JP4826557B2 JP 4826557 B2 JP4826557 B2 JP 4826557B2 JP 2007196426 A JP2007196426 A JP 2007196426A JP 2007196426 A JP2007196426 A JP 2007196426A JP 4826557 B2 JP4826557 B2 JP 4826557B2
Authority
JP
Japan
Prior art keywords
state
duplex
setting
cpu unit
unit
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
Application number
JP2007196426A
Other languages
English (en)
Other versions
JP2009032100A (ja
Inventor
公博 藤井
英輔 永野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2007196426A priority Critical patent/JP4826557B2/ja
Publication of JP2009032100A publication Critical patent/JP2009032100A/ja
Application granted granted Critical
Publication of JP4826557B2 publication Critical patent/JP4826557B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、プログラマブル・コントローラ(以下、PLCと言う)に係り、特に、互いに並列に動作可能な2系統のCPUユニットを有する二重化PLCに関する。
二重化PLCは、互いに並列に動作可能な2系統のCPUユニットを有するもので、システムダウンにより甚大な損害を生ずるような高度の信頼性を要求されるプロセス制御等の用途に広く使用されている。
この種の二重化PLCは、二重化CPUシステムと、1若しくは2以上のI/Oユニットと、それらを結ぶシステムバスとを備えている(例えば、特許文献1参照)。
二重化CPUシステムは、ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第1のCPUユニットと、ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第2のCPUユニットと、第1のCPUユニットと第2のCPUユニットとの間にあって、両CPUユニット間におけるI/Oデータやプログラムデータ等の転送を司るDPLユニットとを含んでいる。
この二重化PLCには、ホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態とシンプレックスモードに対応する第2の設定状態とを有する運転モード設定手段と、運転モード設定手段が第1の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ機かつ他方のCPUユニットをスタンバイ機とするホットスタンバイ機能を有するデュプレックス運転状態を実現する第1の運転状態実現手段と、運転モード設定手段が第2の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ状態としかつ他方のCPUユニットを休止状態とするシンプレックス運転状態を実現する第2の運転状態実現手段とが設けられている。
加えて、運転モード設定手段における第2の設定状態から第1の設定状態への切替に際しては、デュプレックス運転状態の開始に先立ち、休止状態にあるCPUユニットからアクティブ状態にあるCPUユニットへとユーザプログラムデータが自動的に転送されるようにされている。
ここで、「ホットスタンバイ機能を有するデュプレックスモード」とは、実際に制御を司るアクティブ側のCPUユニットと実際の制御には関わらないスタンバイ側のCPUユニットとが常時並列に共通のINデータに基づいて同一のユーザプログラムを実行することにより、アクティブ側のCPUユニットに何等かの異常が発生したときには、直ちに、スタンバイ側のCPUユニットがアクティブ側のCPUユニットに取って代われるようにした2台のCPUユニットの運転状態のことを言う。
また、「シンプレックスモード」とは、互いに並列な2台のCPUユニットのうちの1台のみが制御を司る一方、他の1台はユーザプログラム実行に関してはほぼ完全に休止状態とされるようにした2台のCPUユニットの運転状態のことを言う。
そのため、運転モード設定手段を操作して、ホットスタンバイ機能を有するデュプレックスモードからシンプレックスモードへとモードを切り替えた状態において、休止状態にある側のCPUユニットでユーザプログラムの修正、編集等を行ったのち、再び、運転モード設定手段を操作して、シンプレックスモードからホットスタンバイ機能を有するデュプレックスモードへとモードを切り替えれば、デュプレックスモードの再開に先立って、休止状態にあるCPUユニットの側からアクティブ状態にあるCPUユニットの側へと修正、編集後のユーザプログラムが転送されて、アクティブ状態にあるCPUユニットの側の旧プログラムは瞬時に上書きされ、以後、上書き後のユーザプログラムに基づいてホットスタンバイ機能を有するデュプレックスモードが実行される。これにより、二重化PLCにおいても、所謂オンラインエディットが可能となるのである。
特開2004−62872号公報
しかしながら、このような従来の二重化PLCにおけるオンラインエディットにあっては、編集作業それ自体は休止状態にあるPLCユニットの側で安全に行うことができる一方、シンプレックスモードからデュプレックスモードへと切り替えれば、その新プログラムは直ちに実行されてしまうから、十分なデバッグができないこととなり、デュプレックスモードにおいて動作異常が発生する虞がある。
また、一旦、シンプレックスモードからデュプレックスモードへと切り替えれば、アクティブ側のCPUユニット内の旧ユーザプログラムは、直ちに、新ユーザプログラムにて上書き消去されてしまうから、旧ユーザプログラムへ復帰するためには、再度、旧プログラムを作成し直さねばならず、多大な時間と労力が必要となる。
この発明は、従来の二重化PLCのオンラインエディットに際する以上の問題点に着目してなされたものであり、その目的とするところは、作成されたユーザプログラムの信頼性を十分に検証することができると共に、作成されたユーザプログラムに不都合な点が見いだされた場合には、いつでも容易に、旧プログラムを復元することが可能な二重化PLCを提供することにある。
上記の技術的な課題は、以下の構成を有する新規な二重化PLCにより解決することができる。
この二重化PLCは、二重化CPUシステムと、1若しくは2以上のI/Oユニットと、それらを結ぶシステムバスとを備えている。
前記二重化CPUシステムは、ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第1のCPUユニットと、ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第2のCPUユニットと、第1のCPUユニットと第2のCPUユニットとの間にあって、両CPUユニット間におけるI/Oデータやプログラムデータ等の転送を司るDPLユニットとを含んでいる。
さらに、この二重化PLCには、ホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態とシンプレックスモードに対応する第2の設定状態とを有する運転モード設定手段と、運転モード設定手段が第1の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ機かつ他方のCPUユニットをスタンバイ機とするホットスタンバイ機能を有するデュプレックス運転状態を実現する第1の運転状態実現手段と、運転モード設定手段が第2の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ状態としかつ他方のCPUユニットを休止状態とするシンプレックス運転状態を実現する第2の運転状態実現手段とが設けられている。
そして、運転モード設定手段における第2の設定状態から第1の設定状態への切替に際しては、デュプレックス運転状態の開始に先立ち、休止状態にあるCPUユニットからアクティブ状態にあるCPUユニットへとユーザプログラムデータが自動的に転送されるようになっている。
本発明の二重化PLCにあっては、上述の構成において、運転モード設定手段における設定状態の1つとして、ホットスタンバイ機能を有しないデュプレックスモードに対応する第3の設定状態を設けると共に、運転モード設定手段が第3の設定状態にあることを条件として起動され、ホットスタンバイ機能を有しないデュプレックス運転状態を実現する第3の運転状態実現手段を設け、さらに運転モード設定手段における第2の設定状態から第3の設定状態への切替に際しては、デュプレックス運転状態の開始に先立ち、休止状態にあるCPUユニットからアクティブ状態にあるCPUユニットへのユーザプログラムのデータ転送が行われないようにした、ことを特徴とするものである。
このような構成によれば、オンラインエディットを行いたい場合には、運転モード設定手段における設定状態を、ホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態からシンプレックス状態に対応する第2の設定状態へと切り替え、その状態において休止状態にあるCPUユニット上においてユーザプロクラムの修正や変更等を行ったのち、運転モード設定手段における設定状態を、シンプレックスモードに対応する第2の設定状態からホットスタンバイ機能を有しないデュプレックスモードに対応する第3の設定状態へと切り替える。
すると、シンプレックスモードからホットスタンバイ機能を有しない(すなわち、なんらかの異常が検出されても、アクティブ機からスタンバイ機への切替が起こらない)デュプレックスモードへの切替が行われ、しかもこの切り替えに際しては、アクティブ側のCPUユニット上の旧ユーザプログラムは上書き消去されないから、旧ユーザプログラムについては保存しつつも、デュプレックスモードにおけるINデータ共用機能を利用して、新ユーザプログラムを出力リフレッシュ処理を禁じつつ実行しながら、その動作を例えばツールでI/Oメモリの内容を参照することで、検証することができる。
信頼性が検証されたならば、運転モード設定手段における設定状態を、ホットスタンバイ機能を有しないデュプレックスモードに対応する第3の設定状態からホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態に切り替えれば、目的とするオンラインエディットを完了して、新ユーザプログラムによる通常のデュプレックスモードの運転状態を再開することができる。
一方、検証作業において新ユーザプログラムに不備が発見されたときには、デバッグ作業と検証作業とを繰り返すのであるが、その結果、元の旧ユーザプログラムに戻したいような場合には、その時点でアクティブ機として機能するCPUユニットには、旧ユーザプログラムがそのまま残されているから、例えば、運転モード設定手段における設定状態をホットスタンバイ機能を有しないデュプレックスモードに対応する第3の設定状態からホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態に戻すだけの操作で、旧ユーザプログラムによる運転状態へと復旧させることができる。
本発明の好ましい実施の形態においては、運転モード設定手段における設定状態の1つとして、第2のシンプレックスモードに対応する第4の設定状態を設けると共に、運転モード設定手段が第4の設定状態にあることを条件として起動され、ホットスタンバイ機能を有しないデュプレックスモードにおいて、スタンバイ機とされたCPUユニットをアクティブ機とする第2のシンプレックス運転状態を実現する第4の運転状態実現手段をさらに設けるようにしてもよい。
このような構成によれば、ホットスタンバイ機能を有しないデュプレックス運転状態において、出力リフレッシュ処理を禁じた状態でのツールを介する検証で、新ユーザプログラムの動作が正常と検証されたのち、さらに、運転モード設定手段における設定状態を第2のシンプレックスモードに対応する第4の設定状態とすることで、既に動作検証済みの新ユーザプログラムを出力リフレッシュ処理にて実際に外部負荷に与えつつ、その動作を通じてさらに重ねて検証することができる。
なお、この状態においても、ホットスタンバイ機能を有しないデュプレックス運転状態においてアクティブ機とされたCPUユニット内には、旧ユーザプログラムがそのまま保存されているから、この第2のシンプレックスモードに対応する第4の設定状態から第3の設定状態へと必要に応じて切り替えることで、旧ユーザプログラムへの復帰を容易に行うことができる。
本発明の好ましい他の実施の形態においては、運転モード設定手段における第2の設定状態から第1の設定状態への切替に際しては、シンプレックス運転状態からホットスタンバイ機能を有するデュプレックス運転状態への移行が行われる、ようにしてもよい。
このような構成によれば、シンプレックス運転状態においても、必要に応じて、ホットスタンバイ機能を有する通常のデュプレックスモードへの復帰を容易に行うことが可能となる。
本発明の好ましい他の実施の形態においては、運転モード設定手段における第3の設定状態から第2の設定状態への切替に際しては、ホットスタンバイ機能を有しないデュプレックス運転状態からシンプレックス運転状態への移行が行われる、ようにしてもよい。
このような構成によれば、ホットスタンバイ機能を有しないデュプレックス運転状態においても、必要に応じて、シンプレックス運転状態への復帰を容易に行うことが可能となる。
本発明の好ましい他の実施の形態においては、運転モード設定手段における第4の設定状態から第3の設定状態への切替に際しては、第2のシンプレックス運転状態からホットスタンバイ機能を有しないデュプレックス運転状態への移行が行われる、ようにしてもよい。
このような構成によれば、第2のシンプレックス運転状態においても、必要に応じて、ホットスタンバイ機能を有しないデュプレックス運転状態への復帰を容易に行うことが可能となる。
本発明によれば、作成されたユーザプログラムの信頼性を十分に検証することができると共に、作成されたユーザプログラムに不都合な点が見いだされた場合には、いつでも容易に、旧プログラムを復元することが可能な二重化PLCを提供することができる。
以下に、この発明に係る二重化PLCの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
本発明に係る二重化PLC全体のハードウェア構成図が図1に示されている。同図に示されるように、この二重化PLC100は、二重化CPUシステム1と、二重化電源システム2と、二重化通信システム3と、高機能CPUユニット4と、高機能I/Oユニット5と、それらを結ぶシステムバス60が付設されたベースユニット6とを備えている。
二重化CPUシステム1は、図2に示されるように、第1のCPUユニット11aと第2のCPUユニット11bと、第1のCPUユニット11aと第2のCPUユニット11bとの間にあって、両CPUユニット間におけるI/Oデータやプログラムデータなどの転送を司るDPLユニット10とを含んで構成される。
CPUユニット11は、図3に示されるように、マイクロプロセッサ(MPU)1101と、システムプログラムメモリ(SROM)1102と、ワークメモリ(WRAM)1103と、バックアップユーザメモリ(B−UM)1104と、ユーザメモリ(UM)1105と、IOメモリ(IOM)1106と、バックアップIOメモリ(BIOM)1107と、命令実行回路(演算回路)(ASIC)1108を主体として構成されている。
なお、1109はペリフェラルポート、1110はRS232Cポート、1111はCPうベース向けのポート、1112はM/Cインタフェース、1113はLED、1114はスイッチ類、1115はインナボード向けのポート、1116はM/C向けのポート、1117はスイッチ類、1118はLEDである。
マイクロプロセッサ(MPU)1101は、あらかじめ用意されたシステムプログラムを実行することによって、CPUユニット11全体を統括制御する。後に詳細に説明するように、このシステムプログラムは、共通処理、演算処理、I/Oリフレッシュ処理、周辺サービス処理などを含んで構成される。
システムプログラムメモリ(SROM)1102はフラッシュメモリ素子で構成され、マイクロプロセッサ(MPU)1101が実行するシステムプログラムを格納する。ワークメモリ(WRAM)1103はSRAM素子で構成され、マイクロプロセッサ(MPU)1101がシステムプログラムを実行する際のワークエリアとして使用される。バッファユーザメモリ(B−UM)1104はフラッシュメモリ素子で構成されており、ユーザの作成した制御プログラムに相当するユーザプログラムを格納するものである。ユーザプログラムメモリ(UM)1105はSRAM素子で構成されており、このメモリ1105には、電源投入直後のイニシャル処理において、バッファユーザメモリ(B−UM)1104から転送されてくるユーザプログラムが格納される。IOメモリ(IOM)1106は、高機能I/Oユニット5を含むいくつかのI/OユニットのIOデータに関するバッファエリアとして機能するものであり、このIOメモリ(IOM)の入力エリアには、該当するI/Oユニットの入力データが周期的に取り込まれ、また出力エリアの内容はI/Oユニットの出力エリアへと周期的に転送される。そして、ユーザプログラムを構成する各命令語はこのIOメモリ(IOM)1106の入出力データを適宜参照して実行され、またその実行結果によって、このIOエリアのデータが適宜書き換えられる。バッファIOメモリ(BIOM)1107は、二重化制御などのために利用される。
命令実行回路(ASIC)1108は、ユーザメモリ(UM)1105から順次ユーザプログラムを構成する各命令語を読み出すと共に、これをIOメモリ(IOM)1106のIOデータを参照して実行するものである。
なお、この種のCPUユニット11のハードウェア構成については既に各種の公開公報などによって周知であるからこれ以上の説明は省略する。
図1に戻って、二重化CPUシステム1、二重化電源システム2、二重化通信システム3、高機能CPUユニット4、及び高機能I/Oユニット5を構成する各種のユニットは、ベースユニット6上に配列された一連のコネクタに対して着脱可能とされ、これらのコネクタにはオンライン脱着制御部63で制御されるコネクタスイッチ63−1〜63−4が設けられる。また、二重化電源システム2を構成する2台の電源ユニット2a,2bの給電出力はOR出力部65を介して回路全体に供給されると共に、その通電状態は電源状態監視部62によって監視される。
二重化CPUシステム1を構成する第1及び第2のCPUユニット11a,11bとDPLユニット10とは、バス切替部61の作用によって、システムバス60と適宜結合される。なお、この種の二重化CPUシステムにおけるバス切替制御についても、種々の文献により公知であるからこれ以上の説明は省略する。
DPLユニットの詳細を示すハードウェア構成図が図4に示されている。同図に示されるように、DPLユニット10は、二重化制御回路1001と、第1の二重化ポート1002aと、第2の二重化ポート1002bとを備えており、これらを適宜作動させることによって、左側に位置する第1のCPUユニット11aと右側に位置する第2のCPUユニット11bとの間において、IOデータやユーザプログラムデータの転送を制御するようになされている。このDPLユニット10の動作についても、種々の文献により当業者にはよく知られているため、これ以上の説明は省略する。
次に、この二重化PLCにおいて、ユーザプログラムの入替(オンラインエディット)を行う場合における各動作状態と状態間遷移条件となる操作との関係を示すフローチャート(その1)〜(その3)が図5〜図7に示されている。また、各動作状態における左右のCPUユニットの動作を並べて示すフローチャートが図11〜図16に示されている。
なお、図11〜図16のフローチャートに現れる用語の意味内容は下記のとおりである。
「旧プログラム」:現在実行しているユーザプログラム
「新プログラム」:新たに動作させたいユーザプログラム
アクティブ側(ACT)
スタンバイ側(STB)
「電源オン初期処理」:電源オン時に1回実行する処理(ハードウェアイニシャルやメモリクリアなど)
「二重化イニシャル」:アクティブ側とスタンバイ側のデータを一致させるために、アクティブ側からスタンバイ側にデータ転送/照合を行う
「共通処理」:メモリチェックやバッテリチェックなどの異常監視とDIPスイッチ監視処理など
「演算処理」:ユーザプログラムの実行
「二重化同期開始」:アクティブ側、スタンバイ側がこれ以降、同期して動作する
「I/Oリフレッシュ」:あらかじめ定められたユニットとのサイクリックなデータ交換
「同期待機」:アクティブ側が実行完了するまで実行待機する
「周辺サービス」:ツールサービスやユニットのイベントサービスなど、イベント発生時にのみ実行されるサービス
「二重化リフレッシュ」:アクティブ側で検出した異常、又は更新した特殊補助リレーの内容をスタンバイ側に転送する
「二重化同期終了待ち」:同期して動作していた、アクティブ側、スタンバイ側が、これ以降非同期で動作する
図5に戻って、いま仮に、左側CPUユニットをアクティブ機、右側CPUユニットをスタンバイ機として、デュープレックス(DPL)運転中であるものと想定する(ステップ101)。
このDPL運転中における左右のCPUユニットの動作が図11のフローチャートに示されている。同図に示されるように、このDPL運転中にあっては、アクティブ機のI/Oリフレッシュ処理(ステップ305)で取得されたINデータは、スタンバイ機における同期待機処理(ステップ355)において、スタンバイ機側へと転送処理される。そのため、アクティブ機とスタンバイ機とではINデータを共用しつつ、同一のユーザプログラムに関する演算処理(ステップ304,354)が実行されるから、両CPUユニットのI/Oメモリの内容は同一となる。そのため、アクティブ機側において何らかの異常が発生した場合、直ちに二重化リフレッシュ処理(ステップ308)にてその内容がスタンバイ機側へと伝えられ、これによりアクティブ機からスタンバイ機への制御権の移行が瞬時に行われて、スタンバイ機はアクティブ機に取って代わることとなる。
図5に戻って、この状態において、モード設定スイッチをシンプレックス(SPL)、リザーブスイッチをOFFとして、イニシャルスイッチ(INIT−SW)を押下する(ステップ102)。
すると、ステップ103へと進んで、左側CPUユニットをアクティブ機、右側CPUユニットをスタンバイ機としたシンプレックス運転中となる(ステップ103)。
このSPL運転中における左右のCPUユニットの動作が図12のフローチャートに示されている。同図に示されるように、このシンプレックスモードにあっては、アクティブ機側のCPUユニットについては、共通処理、演算処理、I/Oリフレッシュ処理、及び周辺サービス処理を繰り返し実行する(ステップ401〜404)。これに対して、スタンバイ機側のCPUユニットにおいては、共通処理と周辺サービス処理の一部とを繰り返し実行し(ステップ451,454)、演算処理及びI/Oリフレッシュ処理は実行しない。つまり、スタンバイ機側のCPUユニットはほぼ休止状態とされる。そのため、図12のフローチャートに示されるように、スタンバイ機側のCPUユニットはアクティブ機側のCPUユニットに何ら影響を与えないから、スタンバイ機側のCPUユニットに対して安全に新規のユーザプログラムを転送することができる。
図5に戻って、このとき、RUN中プログラムを、デバッグ機能を使ってユーザプログラムを変更したい場合には(ステップ104YES)、モード設定スイッチをデュープレックス(DPL)、リザーブスイッチ(RSV−SW)をONとしたまま、イニシャルスイッチ(INIT−SW)を押下する(ステップ105)。
すると、図5のステップ106へと進んで、仮二重化イニシャル中とされる。仮二重化イニシャル処理が完了すると、ステップ107へと進んで、左側CPUユニットをアクティブ機、右側CPUユニットをスタンバイ機とした仮デュープレックス(DPL)運転中とされる(ステップ107)。
この仮DPL運転中における左右のCPUユニットの動作が図13のフローチャートに示されている。同図に示されるように、この仮二重化モードにあっては、SPLモードから仮DPLモードへの移行に際して、それまで休止状態とされていたスタンバイ機側のCPUユニットからアクティブ機側のCPUユニットへの新プログラムの転送は行われない。つまり、通常のデュープレックスモードの場合、両CPUユニットは同一のプログラムに基づいて動作するのに対し、この仮デュープレックスモードにあっては、スタンバイ機側のCPUユニットは新プログラムで動作するのに対し、アクティブ機側のCPUユニットは依然として旧プログラムで動作する。一方、I/Oリフレッシュ処理(ステップ503)と同期待機処理(ステップ553)との間で転送処理が行われる結果、両CPUユニットはINデータを共用して演算処理を行う。もちろん、OUTリフレッシュについては、アクティブ機側のCPUユニットにおいてのみ行われるから、新プログラムの実行結果としての出力データが、IOユニットから外部へと送られることはない。従って、この仮DPLモードにおいて、ユーザは、スタンバイ機側のCPUユニットに対してツールを接続してI/Oメモリのデータをモニタすることによって、新プログラムが正常に動作するかどうかを実際のINデータを用いて検証することができる。また、この仮DPLモードにあっては、アクティブ機側のCPUユニットにおいて何らかの異常が発生したとしても、スタンバイ機側のCPUユニットでは二重化リフレッシュ処理(ステップ506)の結果を受け取らないから、そのような異常事態が起きても、アクティブ機側のCPUユニットからスタンバイ機側のCPUユニットへの制御権の移行が行われることがなく、つまり、スタンバイ機がアクティブ機に取って代わることはない。
このようにして、新プログラムを検証した結果、デバッグ機のラダープログラムに問題がなければ(ステップ108YES)、ユーザは、モード設定スイッチをデュープレックス(DPL)、リザーブスイッチ(RSV−SW)をONとしたまま、イニシャルスイッチ(INIT−SW)を押下する(ステップ109)。
すると、図7のステップ110へと進んで、左側CPUユニットをスタンバイ機、右側CPUユニットをアクティブ機としたシンプレックス(SPL)運転中となる。このときのSPL運転は、本発明の第2のSPL運転状態に相当する。
このSPL運転中における左右のCPUユニットの動作が図14のフローチャートに示されている。同図に示されるように、この第2のシンプレックスモードにあっては、アクティブ機側のCPUユニットにあっては、共通処理、演算処理、I/Oリフレッシュ処理、及び周辺サービス処理を繰り返し実行する(ステップ651〜654)。これに対して、スタンバイ機側のCPUユニットにあっては、共通処理と周辺サービス処理は実行するものの(ステップ601,604)、演算処理及びI/Oリフレッシュ処理については実行しない。つまり、スタンバイ機側のCPUユニットはほぼ休止状態となる。従って、この第2のシンプレックスモードにあっては、既にツールを介して正常動作を検証された新プログラムについて、これを更に、実際に出力リフレッシュを行わせることによって、I/Oユニットを介して非制御対象機器へと与えることにより、実際の非制御対象装置の動作を通じて、プログラムの信頼性を確認することができる。なお、このシンプレックスモードにあっては、スタンバイ機側のCPUユニットにおけるユーザプログラムは旧ユーザプログラムの状態に保持されている。
このようにして、アクティブ機における新プログラムの運転で問題がなければ(ステップ111YES)、デバッグ機をアクティブ機として運転するために、モード設定スイッチをデュープレックス(DPL)、リザーブスイッチ(RSV−SW)をOFFとしたまま、イニシャルスイッチ(INIT−SW)を押下する(ステップ112)。
すると、ステップ113へと移って、二重化イニシャル中とされる。これが完了すると、さらにステップ114へと移って、左側CPUユニットをスタンバイ機、右側CPUユニットをアクティブ機としたDPL運転中とされる。
このときのDPL運転中における左右のCPUユニットの動作が図15のフローチャートに示されている。同図に示されるように、このDPL運転中にあっては、第2のシンプレックス運転中にあって、アクティブ機とされたCPUユニットの新プログラムは、スタンバイ機とされたCPUユニットへと転送されるから、左右のCPUユニットの実行するユーザプログラムは、いずれも新プログラムとされる。そして、アクティブ機側とスタンバイ機側とではINデータを共用しつつ、同一のユーザプログラムを実行し、その実行結果でそれぞれのCPUユニットの内部のI/Oデータを書き換え、OUTリフレッシュについては、アクティブ機側のみが行うことによって、いわゆるホットスタンバイの状態を実現することができる。つまり、アクティブ機側のCPUユニットにおいて何らかの異常が発生した場合、直ちに、制御権はアクティブ機側のCPUからスタンバイ機側のCPUへと移行され、ホットスタンバイによるバックアップが行われる。
なお、以上説明したフローチャート(図5〜図7)において、例えば、RUN中プログラムをデバッグ機能を使ってユーザプログラムを変更することを行わないのであれば(ステップ104NO)、モード設定スイッチをDPL、リザーブスイッチ(RSV−SW)をOFFとしたまま、イニシャルスイッチ(INIT−SW)を押下する(ステップ115)。
すると、二重化イニシャル中(ステップ116)を経て、当初のDPL運転中(ステップ101)への復帰が可能となる。
また、デバッグ機のラダープログラムに問題ありとされる場合には(ステップ108NO)、モード設定スイッチをSPL、リザーブスイッチ(RSV−SW)をOFFとしたまま、イニシャルスイッチ(INIT−SW)を押下することによって(ステップ117)、SPL運転中に復帰することができる(ステップ103)。
さらに、新ACTでの運転で問題ありとされる場合には(ステップ111NO)、モード設定スイッチをDPL、リザーブスイッチ(RSV−SW)をONとしたまま、イニシャルスイッチ(INIT−SW)を押下することによって(ステップ118)、仮二重化イニシャル中(ステップ119)を経て、仮DPL運転中(ステップ120)へと復帰することができる。
従って、この実施形態によれば、新プログラムを安全に検証した上で、本来の二重化モードへと移行させることができる一方、その途中で何らかの不都合が新プログラムに見出されたような場合には、いつでも簡単にそれ以前の状態へと復帰させることができるから、この種の高信頼性を要求される二重化PLCにおけるユーザプログラムのオンラインエディットに極めて好適なものとなる。
以上説明した図5〜図7のフローチャートにおける各ステップの内容を図8に表にしてまとめて示す。また、図5〜図7のフローチャートにおける各状態間遷移の判定処理は、各CPUユニットが実行する共通処理にて判定される。この共通処理中で実行される状態判定処理の詳細が図9及び図10に示されている。
最後に、以上のプログラム入替えを図16〜図20を参照して概念的に説明する。まず、図16に示されるように、この二重化PLCには、モード設定スイッチ1003a、イニシャルスイッチ1003b、リザーブスイッチ1003cが設けられている。なお、この例にあっては、モード設定スイッチ1003aは2ビットのDIPスイッチの特定1ビット、リザーブスイッチ1003cは4ビットのDIPスイッチの特定1ビットに割り当てられている。また、イニシャルスイッチ1003bはモメンタリスイッチとされている。
図16に示されるように、最初の状態では、アクティブ系及びスタンバイ系いずれのCPUユニットも旧プログラムを格納しており、その動作モードは二重化運転状態(デュープレックスモード)とされている。この状態において、モード設定スイッチ1003aをSPLとし、リザーブスイッチ1003cをOFFとして、イニシャルスイッチ1003bを押下すると、デュープレックスモードからシンプレックスモードへの移行が行われる。
図17に示されるように、このシンプレックスモードにおいては、アクティブ系とスタンバイ系とは互いに独立に動作するから、スタンバイ系のCPUユニットに対してユーザプログラムを安全に転送することができる。しかる後、モード設定スイッチ1003aをDPL、リザーブスイッチ1003cをONとしたまま、イニシャルスイッチ1003bを押下することによって、シンプレックスモードから仮二重化モードへの移行を行わせることができる。
仮二重化モードにおいては、図18に示されるように、両CPUユニットはINデータを共用するものの、アクティブ系CPUユニットは旧プログラムを実行するのに対し、スタンバイ系CPUユニットは新プログラムを実行する。そのため、この状態においては、新プログラムに対し、生のINデータを与えることによって、スタンバイ系CPUユニットのIOメモリに新プログラムによる演算結果を出現させることができる。そのため、このIOメモリの内容を適宜なツール装置を介してモニタすることによって、新プログラムが正常に動作するかどうかをツール装置を介して検証することができる。
この状態において、イニシャルスイッチ1003bをさらに押下すると、仮二重化モードから正規の二重化モードへの移行が行われる。
正規の二重化モードにおいては、図20に示されるように、アクティブ系及びスタンバイ系はいずれも新プログラムを実行し、さらにそれらは共通のINデータで動作するから、アクティブ系のCPUユニットにおいて何らかの異常が発生した場合には、直ちにスタンバイ系CPUユニットがアクティブ系CPUユニットに取って代わることが可能となるのである。
本発明によれば、作成されたユーザプログラムの信頼性を十分に検証することができると共に、作成されたユーザプログラムに不都合な点が見いだされた場合には、いつでも容易に、旧プログラムを復元することが可能な二重化PLCを提供することができる。
本発明に係る二重化PLC全体のハードウェア構成図である。 二重化CPUシステムの詳細を示すハードウェア構成図である。 CPUユニットの詳細を示すハードウェア構成図である。 DPLユニットの詳細を示すハードウェア構成図である。 PLCの各動作状態と状態間遷移条件となる操作との関係を示すフローチャート(その1)である。 PLCの各動作状態と状態間遷移条件となる操作との関係を示すフローチャート(その2)である。 PLCの各動作状態と状態間遷移条件となる操作との関係を示すフローチャート(その3)である。 図5〜図7のフローチャートにおける各ステップの内容を表にして示す図である。 共通処理中で実行される状態判定処理の詳細を示すフローチャート(その1)である。 共通処理中で実行される状態判定処理の詳細を示すフローチャート(その2)である。 入替え前の状態(二重化運転状態)の動作を示すフローチャートである。 シンプレックスモードの動作を示すフローチャートである。 仮二重化モードの状態(INデータの共通化)の動作を示すフローチャートである。 制御系切換時の状態(シンプレックスモード、新プログラムで制御開始)の動作を示すフローチャートである。 二重化運転開始の状態(新プログラムで二重化運転)の動作を示すフローチャートである。 入替え前の状態(二重化運転状態)である。 シンプレックスモード(シングル状態):プログラムを転送しますの説明図である。 仮二重化モード(INデータの共有化)である。 仮二重化モードでの制御系切替(新プログラムで制御開始)である。 二重化運転開始(新プログラムで二重化運転)である。
符号の説明
1 二重化CPUシステム
2 二重化電源システム
3 二重化通信システム
4 高機能CPUユニット
5 高機能I/Oユニット
6 ベースユニット
10 DPLユニット
11a 第1のCPUユニット
11b 第2のCPUユニット
1101 マイクロプロセッサ(MPU)
1102 システムプログラムメモリ(SROM)
1103 ワーキングメモリ(WRAM)
1104 バッファユーザメモリ(B−UM)
1105 ユーザメモリ(UM)
1106 IOメモリ(IOM)
1107 バッファIOメモリ(BIOM)
1108 命令実行回路(ASIC)
1003a モード設定スイッチ
1003b イニシャルスイッチ
1003c リザーブスイッチ

Claims (5)

  1. 二重化CPUシステムと、1若しくは2以上のI/Oユニットと、それらを結ぶシステムバスとを備え、
    前記二重化CPUシステムは、
    ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第1のCPUユニットと、
    ユーザメモリ、I/Oメモリ、演算手段、及びI/Oリフレッシュ手段を少なくとも含む第2のCPUユニットと、
    第1のCPUユニットと第2のCPUユニットとの間にあって、両CPUユニット間におけるI/Oデータやプログラムデータ等の転送を司るDPLユニットとを含み、さらに
    ホットスタンバイ機能を有するデュプレックスモードに対応する第1の設定状態とシンプレックスモードに対応する第2の設定状態とを有する運転モード設定手段と、
    運転モード設定手段が第1の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ機かつ他方のCPUユニットをスタンバイ機とするホットスタンバイ機能を有するデュプレックス運転状態を実現する第1の運転状態実現手段と、
    運転モード設定手段が第2の設定状態にあることを条件として起動され、一方のCPUユニットをアクティブ状態としかつ他方のCPUユニットを休止状態とするシンプレックス運転状態を実現する第2の運転状態実現手段とを有し、かつ
    運転モード設定手段における第2の設定状態から第1の設定状態への切替に際しては、デュプレックス運転状態の開始に先立ち、休止状態にあるCPUユニットからアクティブ状態にあるCPUユニットへとユーザプログラムデータが自動的に転送されるようにした二重化PLCにおいて、
    運転モード設定手段における設定状態の1つとして、ホットスタンバイ機能を有しないデュプレックスモードに対応する第3の設定状態を設けると共に、
    運転モード設定手段が第3の設定状態にあることを条件として起動され、ホットスタンバイ機能を有しないデュプレックス運転状態を実現する第3の運転状態実現手段を設け、さらに
    運転モード設定手段における第2の設定状態から第3の設定状態への切替に際しては、デュプレックス運転状態の開始に先立ち、休止状態にあるCPUユニットからアクティブ状態にあるCPUユニットへのユーザプログラムのデータ転送が行われないようにした、ことを特徴とする二重化PLC。
  2. 運転モード設定手段における設定状態の1つとして、第2のシンプレックスモードに対応する第4の設定状態を設けると共に、
    運転モード設定手段が第4の設定状態にあることを条件として起動され、ホットスタンバイ機能を有しないデュプレックス運転状態において、スタンバイ機とされたCPUユニットをアクティブ機とする第2のシンプレックス運転状態を実現する第4の運転状態実現手段をさらに設けた、ことを特徴とする請求項1に記載の二重化PLC。
  3. 運転モード設定手段における第2の設定状態から第1の設定状態への切替に際しては、シンプレックス運転状態からホットスタンバイ機能を有するデュプレックス運転状態への移行が行われる、ことを特徴とする請求項1又は2に記載の二重化PLC。
  4. 運転モード設定手段における第3の設定状態から第2の設定状態への切替に際しては、ホットスタンバイ機能を有しないデュプレックス運転状態からシンプレックス運転状態への移行が行われる、ことを特徴とする請求項1〜3のいずれかに記載の二重化PLC。
  5. 運転モード設定手段における第4の設定状態から第3の設定状態への切替に際しては、第2のシンプレックス運転状態からホットスタンバイ機能を有しないデュプレックス運転状態への移行が行われる、ことを特徴とする請求項1〜4のいずれかに記載の二重化PLC。
JP2007196426A 2007-07-27 2007-07-27 二重化plc Active JP4826557B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007196426A JP4826557B2 (ja) 2007-07-27 2007-07-27 二重化plc

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007196426A JP4826557B2 (ja) 2007-07-27 2007-07-27 二重化plc

Publications (2)

Publication Number Publication Date
JP2009032100A JP2009032100A (ja) 2009-02-12
JP4826557B2 true JP4826557B2 (ja) 2011-11-30

Family

ID=40402523

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007196426A Active JP4826557B2 (ja) 2007-07-27 2007-07-27 二重化plc

Country Status (1)

Country Link
JP (1) JP4826557B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724767B1 (ko) * 2012-04-13 2017-04-07 엘에스산전 주식회사 Hvdc 시스템의 이중화 제어장치
JP6317974B2 (ja) * 2014-03-28 2018-04-25 アズビル株式会社 データ収集システム
JP6492326B2 (ja) * 2015-04-28 2019-04-03 株式会社安川電機 製鉄制御システムおよび制御システム
KR101929157B1 (ko) * 2018-05-29 2019-01-15 비콤시스템주식회사 로직블럭유닛을 이용한 비상운전 감시제어시스템 및 구축 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3751328B2 (ja) * 1994-11-10 2006-03-01 株式会社東芝 プロセス制御装置
JP2001202101A (ja) * 2000-01-18 2001-07-27 Toshiba Corp 二重化制御システムおよびそのプログラムメンテナンス方法
JP2002049411A (ja) * 2000-08-04 2002-02-15 Meidensha Corp プログラマブルコントローラの二重化システム
JP3606281B2 (ja) * 2002-06-07 2005-01-05 オムロン株式会社 プログラマブルコントローラ及びcpuユニット並びに特殊機能モジュール及び二重化処理方法
JP4799166B2 (ja) * 2005-12-19 2011-10-26 株式会社東芝 二重化制御システム、及びその制御装置の制御プログラムの更新方法

Also Published As

Publication number Publication date
JP2009032100A (ja) 2009-02-12

Similar Documents

Publication Publication Date Title
JP6227794B2 (ja) 車両制御装置、リプログラミングシステム
JP4826557B2 (ja) 二重化plc
US20180373524A1 (en) Serial bootloading of power supplies
WO2016033941A1 (zh) Boot在线升级装置及方法
JP5445572B2 (ja) コンピュータシステム、待機電力削減方法、及びプログラム
JP2003296133A (ja) コントローラ
JP2008262426A (ja) 2重化コントローラシステム、そのコントローラ
JP4483876B2 (ja) 二重化システムにおける記憶装置の制御方法
JP4799166B2 (ja) 二重化制御システム、及びその制御装置の制御プログラムの更新方法
JP2007320456A (ja) 車載用電子機器制御装置
JP4273905B2 (ja) 2重化コントローラシステム、その方法
JP5034584B2 (ja) 2重化コントローラシステム、その稼動系/待機系コントローラ
JP4232589B2 (ja) 二重化コントローラ、その等値化モード決定方法
JP3522176B2 (ja) 交換機のファイル更新同期方式
JP5091765B2 (ja) モジュール型機器およびモジュール機器システム
CN110275797B (zh) 控制器以及数据保存方法
KR102267485B1 (ko) 로봇 제어장치, 로봇시스템 및 로봇 제어방법
JP4810488B2 (ja) 二重化制御装置、及びそのトラッキング方法
JP6351882B1 (ja) プログラマブルロジックコントローラおよびプログラム
JPH0713791A (ja) 二重化制御システムの等値化方法
JP6999584B2 (ja) 監視制御システム、監視制御システムの運用方法及び制御システム
JP2008090656A (ja) プログラマブルコントローラ
JP7023726B2 (ja) 二重化制御システム
JP6459796B2 (ja) 制御システム
KR102334678B1 (ko) Hmi장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100511

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110816

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110829

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140922

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4826557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150