(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025007934
(43)【公開日】2025-01-17
(54)【発明の名称】二重系制御システムのメモリ等価方式
(51)【国際特許分類】
G05B 19/05 20060101AFI20250109BHJP
G05B 9/02 20060101ALI20250109BHJP
G05B 19/048 20060101ALI20250109BHJP
【FI】
G05B19/05 S
G05B9/02 Z
G05B19/048
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023109701
(22)【出願日】2023-07-04
(71)【出願人】
【識別番号】000006105
【氏名又は名称】株式会社明電舎
(74)【代理人】
【識別番号】100086232
【弁理士】
【氏名又は名称】小林 博通
(74)【代理人】
【識別番号】100092613
【弁理士】
【氏名又は名称】富岡 潔
(74)【代理人】
【識別番号】100104938
【弁理士】
【氏名又は名称】鵜澤 英久
(74)【代理人】
【識別番号】100210240
【弁理士】
【氏名又は名称】太田 友幸
(72)【発明者】
【氏名】杉平 和樹
【テーマコード(参考)】
5H209
5H220
【Fターム(参考)】
5H209DD04
5H209GG04
5H209HH02
5H209JJ03
5H209SS07
5H220BB09
5H220CC07
5H220HH03
5H220JJ12
5H220JJ42
5H220KK02
(57)【要約】 (修正有)
【課題】二重係制御システムの信頼性の向上を図る。
【解決手段】PLC2,3は、ユーザ用データメモリ10b,11bの状変を検出する状変検出機構部10c,11cと、前記メモリ10bの状変を前記メモリ11bに等価させる二重化タスク10d,11dと、前記メモリ10b,11bのチェックサムを計算するBGタスク10e,11eと、を備える。PLC3側では前記メモリ11bのチェックサムをPLC3側に伝送する。状変検出機構部10cはチェックサム同士を比較し、両チェックサム間の情報が異なれば状変を検出する。二重化タスク10dは、状変が検出されたブロックのメモリ情報を等価データとして二重化タスク11dに等価伝送する。二重化タスク11dは、等価伝送を受信すれば、前記メモリ11bの情報を等価データに基づき更新する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
主系と従系の制御装置を備え、
前記主系の演算結果を前記従系に等価させる二重化制御システムのメモリ等価方式であって、
前記主系および前記従系は、
演算用のデータメモリと、
前記データメモリの情報変更を状変として検出する状変検出機構部と、
前記主系の前記状変を前記従系の前記データメモリに等価させる二重化タスクと、
前記データメモリのチェックサムを計算するバックグランドタスクと、
を備え、
前記主系の前記状変検出機構部は、それぞれの前記チェックサム同士を比較し、前記両チェックサム間の情報が異なれば前記状変を検出する
ことを特徴とする二重系制御システムのメモリ等価方式。
【請求項2】
前記従系は、前記主系に一定周期で前記チェックサムを伝送する一方、
前記主系は、前記チェックサムを受信すれば前記状変検出機構部にて前記比較を行う
ことを特徴とする請求項1記載の二重系制御システムのメモリ等価方式。
【請求項3】
前記各バックグランドタスクは、事前に定められた任意数に分割された前記データメモリの各ブロックについて前記チェックサムを計算し、
前記従系は、前記各ブロックのチェックサムと該当するブロック番号をセットして前記主系に伝送する一方、
前記主系の前記状変検出機構部は、前記従系から受信した前記チェックサムと、前記主系の前記データメモリの対応する前記ブロックの前記チェックサムとを比較し、
前記チェックサム同士の情報が異なれば、該当するブロックの前記状変を検出することを特徴とする請求項2記載の二重化制御システムのメモリ等価方式。
【請求項4】
前記主系の二重化タスクは、
前記状変が検出されたブロックのメモリ情報を等価データとして前記従系の二重化タスクに等価伝送する
ことを特徴とする請求項3記載の二重化制御システムのメモリ等価方式。
【請求項5】
前記従系の二重化タスクは、
前記等価伝送を受信すれば、自身の前記メモリデータの該当するブロックの情報を前記等価データに基づき更新する
ことを特徴とする請求項4記載の二重化制御システムのメモリ等価方式。
【請求項6】
前記バックグランドタスクは、他のタスクが動作していないタイミングで前記チェックサムを計算する
ことを特徴とする請求項1~5のいずれか記載の二重系制御システムのメモリ等価方式。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主系の制御装置と従系の制御装置と備えた二重係制御システムのメモリ等価方式に関する。
【背景技術】
【0002】
プログラマブルロジックコントローラ(Programmable Logic Controller:以下、PLCと呼ぶ。)は、主に接続機器や設備などの制御装置として用いられ、シーケンス演算を主な動作とする。
【0003】
PLCについては異常発生時における動作継続のため、二重化システムを構築されることが少なくない。二重化システムでは、制御系(マスター/主系)となるアクティブPLC(アクティブ局)と、待機系(スレーブ/従系)となるスタンバイPLC(スタンバイ局)とを備え、正常時はアクティブPLCの演算結果に基づき接続機器などの制御を実行する。
【0004】
一方、異常発生時に制御系をスタンバイPLCに切り替え、アクティブPLCの演算結果を等価データとしてスタンバイPLCに反映させる等価処理を行うことで制御機器などの入出力情報をスタンバイPLCに展開する。
【0005】
もっとも、異常時の高速切替のため、スタンバイPLCも常に演算を行っているため、スタンバイPLCの演算中に等価データが上書きされるおそれがある。そこで、演算中には等価処理を行うことができず、演算の不実行中に等価処理が行われている。この等価処理の技術として特許文献1が公知となっている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【非特許文献1】”チェックサム計算ツール” 2023年6月27日検索 インタネットURL<https://messy-soft.com/file/binary3>
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1では、等価データを格納するユーザ用データメモリ(等価メモリ)を「128」ブロックに分割し、アクティブPLCのシーケンス演算によって状変が発生したブロックのみをスタンバイPLCに等価し、等価処理の高速化を図っている。
【0009】
しかしながら、アクティブPLCのシーケンス演算によって状変が発生した場合のみスタンバイPLCに等価するため、特定のシーケンス演算処理を実行した場合に両PLC間で保持データが異なり、正常に等価されないおそれがある。
【0010】
図1~
図6に基づき正常に等価されない場合の一例を説明する。
図1はアクティブPLCの実施するシーケンス演算を示し、
図2(a)(b)はそれぞれアクティブPLC・スタンバイPLCのユーザ用データメモリを示している。
【0011】
図3に示すように、アクティブPLCがタスクのシーケンス演算を実行するとユーザ用データメモリ4000Hの値が「1000H」から「2000H」に書き換わる。そのため、アクティブPLC側で状変の発生を検出し、
図4に示すように、ユーザ用データメモリ4000HのメモリデータをスタンバイPLCに等価する。
【0012】
このときスタンバイPLCがシーケンス演算を実行すると、
図5に示すように、ユーザ用データメモリ4000Hの値が「2000H」から「3000H」に書き換わる。これにより
図1中のラング2-4の条件が「TRUE」となり、ユーザ用データメモリ7FDAHのビット0が「ON」となる。
【0013】
また、
図6に示すように、下位装置からの通信などによりアクティブPLCのユーザ用データメモリ1000Hの値が「0」となり、スタンバイPLCに等価される。ここでラング2-1の条件によれば、ユーザ用データメモリ1000Hの値が「1000」以上の場合にラング2-2の処理が行われる。
【0014】
図6の状況では、ラング2-1の条件が「FALSE」なため、アクティブPLCがシーケンス演算を実行したときにユーザ用データメモリ4000Hに状変が発生しなくなる。その結果、アクティブPLCとスタンバイPLCとの間で保持しているデータに差異が生じ、二重化システムの信頼性が損なわれるおそれがある。
【0015】
本発明は、このような従来の問題を解決するためになされ、二重係制御システムの信頼性の向上を図ることを解決課題としている。
【課題を解決するための手段】
【0016】
(1)本発明は、主系と従系の制御装置を備え、
前記主系の演算結果を前記従系に等価させる二重化制御システムのメモリ等価方式であって、
前記主系および前記従系は、
演算用のデータメモリと、
前記データメモリの情報変更を状変として検出する状変検出機構部と、
前記主系の前記状変を前記従系の前記データメモリに等価させる二重化タスクと、
前記データメモリのチェックサムを計算するバックグランドタスクと、
を備え、
前記主系の前記状変検出機構部は、それぞれの前記チェックサム同士を比較し、前記両チェックサム間の情報が異なれば前記状変を検出することを特徴としている。
【0017】
(2)本発明の一態様において、
前記従系は、前記主系に一定周期で前記チェックサムを伝送する一方、
前記主系は、前記チェックサムを受信すれば前記状変検出機構部にて前記比較を行うことを特徴としている。
【0018】
(3)本発明の他の態様において、
前記各バックグランドタスクは、事前に定められた任意数に分割された前記データメモリの各ブロックについて前記チェックサムを計算し、
前記従系は、前記各ブロックのチェックサムと該当するブロック番号をセットして前記主系に伝送する一方、
前記主系の前記状変検出機構部は、前記従系から受信した前記チェックサムと、前記主系の前記データメモリの対応する前記ブロックの前記チェックサムとを比較し、
前記チェックサム同士の情報が異なれば、該当するブロックの前記状変を検出することを特徴としている。
【0019】
(4)本発明のさらに他の態様において、
前記主系の二重化タスクは、
前記状変が検出されたブロックのメモリ情報を等価データとして前記従系の二重化タスクに等価伝送することを特徴としている。
【0020】
(5)本発明のさらに他の態様において、
前記従系の二重化タスクは、
前記等価伝送を受信すれば、自身の前記メモリデータの該当するブロックの情報を前記等価データに基づき更新することを特徴としている。
【0021】
(6)なお、前記バックグランドタスクは、他のタスクが動作していないタイミングで前記チェックサムを計算することができる。
【発明の効果】
【0022】
本発明によれば、二重係制御システムの信頼性の向上を図ることができる。
【図面の簡単な説明】
【0023】
【
図1】アクティブPLCの実施するシーケンス演算図。
【
図2】(a)はアクティブPLCのユーザ用データメモリ図、(b)はスタンバイPLCのユーザ用データメモリ図。
【
図3】(a)はアクティブPLCのタスク実行後のユーザ用データメモリ図、(b)は同スタンバイPLCのユーザ用データメモリ図。
【
図4】(a)は等価実行後のアクティブPLCのユーザ用データメモリ図、(b)は同スタンバイPLCのユーザ用データメモリ図。
【
図5】(a)はアクティブPLCのユーザ用データメモリ図、(b)はスタンバイPLCのタスク実行後のユーザ用データメモリ図。
【
図6】(a)はオプションなどの受信によりアクティブPLCのユーザ用データメモリ1000Hの値が「0」となった状態図、(b)は同スタンバイPLCのユーザ用データメモリの状態図。
【
図7】本発明の実施形態に係るPLC二重化システムの構成図。
【
図9】同 アクティブPLCにおけるチェックサム同士の比較図。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態に係る二重系制御システムのメモリ等価方式を説明する。ここではPLC二重化システムに前記メモリ等価方式が適用され、アクティブPLCとスタンバイPLCとでお互いの等価領域(ユーザ用データメモリ)の情報を共有することで信頼性の向上を図っている。
【0025】
≪システム構成例≫
図7中の1は前記PLC二重化システムを示し、制御系(マスター/主系)となるアクティブPLC(アクティブ局)2と、待機系(スレーブ/従系)となるスタンバイPLC(スタンバイ局)3とを備えている。
【0026】
ここではアクティブPLC2とスタンバイPLC3は、共にシーケンス演算を実行し、アクティブPLC2のユーザ用データメモリ10bに状変があれば、メモリ等価機能によりスタンバイPLC3のユーザ用データメモリ11bに等価する。
【0027】
具体的には各PLC2,3は、コンピュータにより構成され、
(1)ユーザタスク10a,11a
(2)前記メモリ10b,11b
(3)状変検出機構部10c,11c
(4)二重化タスク10d,11d
(5)バックグランドタスク(以下、BGタスクとする。)10e,11e
を実装する。
【0028】
ユーザタスク10a,11aは、各PLC2,3のシーケンス演算を実行する。このときユーザはシーケンス演算時に前記メモリ10b,11bを自由に使用することができる。
【0029】
状変検出機構部10c,11cは、主系の前記メモリ10bの状変、即ちメモリ情報(メモリデータ)間の不一致を検出する。ここで二重化タスク10d,11dは、主系の前記メモリ10bに状変があれば、前記メモリ11bに反映させる等価処理を実行する。なお、二重化タスク10d,11dは、各PLC2,3の生存を確認(正常動作の確認)するためにアクティブ・スタンバイ間伝送を20ms周期で実施する。
【0030】
BGタスク10e,11eは、最低優先度のバックグランドで動作するタスクであって、それぞれ他のタスクが動作していないタイミングにて前記メモリ10b,11bの各ブロックについてチェックサム(checksum/CSM:誤り検出符号)を計算する。このチェックサムの計算には、例えば非特許文献1などの公知のツールを用いることができる。
【0031】
≪動作・処理≫
図8~
図10に基づき前記PLC二重化システム1の動作処理例(S01~S03)を説明する。すなわち、前記PLC2,3間において前記メモリ10b,11bのチェックサム情報の不一致があれば状変を検出し、メモリ等価を実行する。
【0032】
ここでは前記各PLC2,3の前記メモリ10b,11bは128ブロックに分割され、BGタスク10e,11eは前記メモリ10b,11bの各ブロックのチェックサムを計算する。
【0033】
S01:両PLC2,3の二重化タスク10d,11dは、前述のように20ms周期でアクティブ・スタンバイ間伝送を実施している。
【0034】
このとき二重化タスク11dは、アクティブ・スタンバイ間伝送に前記メモリ11bの各ブロックのチェックサムをブロック番号順にセットする。すなわち、(1)ブロック番号
(2)ブロック番号に対応するブロックのチェックサム
をアクティブ・スタンバイ間伝送毎に個々にセットする。
【0035】
例えば
図8は、アクティブ・スタンバイ間伝送にブロック番号1のチェックサムがセットされ、二重化タスク10dに伝送される状態を示している。
【0036】
S02:アクティブPLC2側でS01の伝送を受信すれば、状変検出機構部10cが受信したチェックサムと前記メモリ10bの対応するブロックのチェックサムとを比較する。例えば
図9では、
図8でアクティブ・スタンバイ伝送にセットされたブロック番号1のチェックサムと、前記メモリ10bのブロック番号1のチェックサムとが比較されている。
【0037】
S03:状変検出機構部10cは、S02の比較の結果、両チェックサムの情報が異なっていれば前記メモリ10bの状変を検出し、二重化タスク10dに等価処理を指令する。このとき二重化タスク10dは、状変の検出された状変ブロックのメモリ情報を状変データ(等価データ)としてPLC3に等価伝送する。
【0038】
この等価伝送を受信したスタンバイPLC3の二重化タスク11dは、状変データに基づき前記メモリ11b中の該当するブロック番号のブロックを上書きして更新し、状変データを前記メモリ11bに反映させる。一方、両チェックサムの情報が異なっていなければ状変は検出されず、等価処理は指令されない。
【0039】
このようなS01~S03の処理をブロック番号1~128の順に繰り返して実施することで両PLC2,3の前記メモリ10b,11bのメモリ情報を一致させることが可能となる。この点で前記PLC二重化システム1の信頼性を向上させることができる。
【0040】
このときSBGタスク10e,11eは、前述のように他のタスクが動作していないタイミングでのみ動作するため、通常のPLC動作に負荷的な影響を与えるおそれもない。
【0041】
また、PLC2,3の主従が切り替わった場合(PLC3がアクティブ,PLC2がスタンバイ)には、PLC2の二重化タスク10dが前記メモリ10bのチェックサムをPLC3の二重化タスク11dにアクティブ・スタンバイ間伝送にセットする(S11)。
【0042】
これにより前記メモリ10bのチェックサムがPLC3に伝送され、PLC3の状変検出機構部11cにて状変が検出され(S12)、二重化タスク11dにて等価伝送が行われる(S13)。
【0043】
なお、本発明は、上記実施形態に限定されるものではなく、各請求項に記載された範囲内で変形して実施することができる。例えばシステム構成などは
図7に限定されず、チェックサムを用いたPLC2,3間の前記メモリ10b,11b間の比較処理を実施できれば適宜変更することが可能である。
【符号の説明】
【0044】
1…PLC二重化システム
2…アクティブPLC
3…スタンバイPLC
10a,11a…ユーザタスク
10b,11b…ユーザ用データメモリ
10c,11c…状変検出機構部
10d,11d…二重化タスク
10e,11e…バックグランドタスク