JPH1011325A - プログラマブルコントローラ - Google Patents

プログラマブルコントローラ

Info

Publication number
JPH1011325A
JPH1011325A JP16449896A JP16449896A JPH1011325A JP H1011325 A JPH1011325 A JP H1011325A JP 16449896 A JP16449896 A JP 16449896A JP 16449896 A JP16449896 A JP 16449896A JP H1011325 A JPH1011325 A JP H1011325A
Authority
JP
Japan
Prior art keywords
external device
runaway
software
memory
mpu
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.)
Withdrawn
Application number
JP16449896A
Other languages
English (en)
Inventor
Katsuhiko Ichimura
勝彦 市村
Goji Nakada
剛司 中田
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP16449896A priority Critical patent/JPH1011325A/ja
Publication of JPH1011325A publication Critical patent/JPH1011325A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 ソフトウエア暴走を迅速に検出して、直ちに
障害系を切離したのち、障害対策を迅速に行うようにす
る。 【解決手段】 シーケンスエンジン22はシェークハン
ド方式により障害が発生した否かを常時判断する。シー
ケンスエンジン22は障害を検知した場合、バスコント
ローラ21を用いて、MPU1のI/Oメモリ5に対す
るアクセスを禁止する。その後、シーケンスエンジン2
2はライトアクセスする必要があるか否かを判断し、ラ
イトアクセスする必要が無い場合には、ソフトPLC自
体を停止して処理を終了する一方、ライトアクセスする
必要が有る場合、さらに、I/O更新する必要があるか
否かを判断する。シーケンスエンジン22はI/O更新
する必要があると判断した場合、I/Oメモリ5を更新
する。I/O更新する必要がないと判断した場合にはソ
フトPLC自体を停止して処理を終了する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプログラマブルコン
トローラに関し、特に汎用OSの管理下で稼働するパソ
コンを用いて外部機器を制御するプログラマブルコント
ローラに関する。
【0002】
【従来の技術】外部機器を制御するために、専用のプロ
グラマブルコントローラが使用されているが、近年、汎
用のパソコンを使用したプログラマブルコントローラ、
すなわちソフトプログラマブルコントローラ(以下、ソ
フトPLCという)が使用され始めている。
【0003】このソフトPLCは、パソコンをスタンド
アローン型で使用する場合のみならず、ネットワーク型
でも使用しており、しかも従来のパソコンで使用される
汎用OS(Operating System) 、例えばWINDOWS
の管理下で外部機器を制御するようになっている。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来のソフトPLCでは、上述したように汎用のO
Sを使用しているため、通常のPLCに使用されている
専用OSに比べ、信頼性が低くソフトウエア暴走が発生
する恐れが多分にある。
【0005】一旦、ソフトウエ暴走が発生すると、外部
機器を所定時間以内にスキャン制御することができなく
なり、外部機器が誤動作を起こしてしまうばかりでなく
システム全体がハングアップしてしまう。
【0006】このように、ソフトウエア暴走が発生する
と、外部機器に非常に重大な影響を与えるにも拘らず、
従来の汎用OS下で使用されたソフトPLCでは、ソフ
トウエア暴走による障害検出、障害系の切離し、障害対
策が迅速になされないという問題点があった。
【0007】例えば、スタンドアローン型でなるソフト
PLCでは、ソフトウエア暴走による障害検出すら不可
能であり、また、ネットワーク型でなるソフトPLCで
は、障害の検出のみ可能であるが、障害系の切離し、障
害対策が迅速に行われない。
【0008】そこで、本発明は上述の問題点に鑑み、汎
用OSの管理下で稼働するソフトPLCにおいて、ソフ
トウエア暴走を迅速に検出して、直ちに障害系を切離し
たのち、障害対策を迅速に行うプログラマブルコントロ
ーラを提供することを目的とする。
【0009】
【課題を解決するための手段】上述の目的を達成するた
めに、請求項1記載の発明は、汎用OSの管理下で稼働
するパソコンを用いて外部機器を制御するプログラマブ
ルコントローラにおいて、上記パソコンには拡張ボード
を有しており、この拡張ボードが、ソフトウエア暴走を
検出する暴走検出手段と、この暴走検出手段がソフトウ
エア暴走送付を検出すると、所定の外部機器を切り離す
I/O保護手段と、このI/O保護手段で、所定の外部
機が切り離されると、予め設定された処理を外部機器に
実行させるI/O更新手段とを具備することを特徴とす
る。
【0010】請求項2記載の発明は、請求項1記載の発
明は、上記暴走検出手段が、上記パソコンに設けられて
いるMPUにより、所定時間ごとに所定コードが格納さ
れるコード格納手段と、時間を計測するタイマとを有し
ており、このタイマが所定時間経過するごとに、上記コ
ード格納手段に格納されているコードを読み出し、読み
出されたコードが上記MPUにより格納された所定コー
ドでない場合には、ソフトウエアが暴走していると判断
する一方、読み出されたコードが上記MPUにより格納
された所定コードである場合にはソフトウエアが暴走が
発生していないと判断し、上記コードをクリアすること
を特徴とする。
【0011】請求項3記載の発明は、請求項1記載の発
明において、上記I/O保護手段が、上記暴走検知手段
によりソフトウエア暴走が検知されると、上記パソコン
に設けられているMPUに対し、外部機器の動作を示す
データが格納されたI/Oメモリへのアクセスを禁止さ
せることを特徴とする。
【0012】請求項4記載の発明は、請求項1記載の発
明において、上記I/O更新手段が、ソフトウエア暴走
が検出された場合のフェイルセーフデータを格納するフ
ェイルセーフデータ格納手段を有しており、このフェイ
ルセーフデータ格納手段に格納されたフェイルセーフデ
ータを、外部機器の動作を示すデータが格納されている
I/Oメモリに書き替え更新したのち、上記MPUに対
して上記I/Oメモリに対するアクセスを許可すること
特徴とする。
【0013】請求項5記載の発明は、請求項1乃至4の
いづれかに記載の発明において、上記拡張ボードが、シ
ーケンスエンジンを有することを特徴とする。
【0014】本発明によれば、パソコンに装着されてい
る拡張ボードが、ソフトウエア暴走を検出すると、所定
の外部機器を切り離すため、ソフトウエアの暴走による
外部機器の誤動作の発生を防止する。
【0015】そして、所定の外部機が切り離されると、
予め設定された処理を外部機器に実行させるため、外部
機器システムが停止することがない。
【0016】特に、タイマが所定時間経過するごとに、
メモリに格納されているコードを読み出し、読み出され
たコードがMPUにより格納された所定コードでない場
合には、ソフトウエアが暴走していると判断する一方、
読み出されたコードがMPUにより格納された所定コー
ドである場合にはソフトウエアが暴走が発生していない
と判断する。
【0017】
【発明の実施の形態】以下、本発明に係るソフトPLC
の実施形態を図面を参照して説明する。
【0018】図1は本発明に係るソフトPLCの一実施
形態の構成を示すブロック図である。
【0019】この実施形態のソフトPLCは、MPU
1,後述するフェイルセーフ機能およびラダーアクセラ
レータ機能を有する拡張ボード2,汎用OSが格納され
ているシステムプログラムメモリ(SM)3,外部機器
システムを制御するラダープログラム(シーケンスプロ
グラム)が格納されているユーザプログラムメモリ(U
M)4,外部機器、例えばカウンタやタイマを起動させ
るデータを格納するI/Oメモリ5,および外部機器の
データのインターフェースを行う転送を入出力回路6と
を有しており、これらがシステムバス10を介して接続
されて構成されている。
【0020】拡張ボード2は、MPU1と後述するハン
ドシェーク方法を用いてソフトウエア暴走を検出し(障
害検出)、システム上の所定外部機器をシステム上から
切り離し(I/O保護)、その後I/Oメモリ5をリフ
レッシュするもので、バスコントローラ21と、シーケ
ンスエンジン22と、フェイルセーフ機能およびラダー
アクセラレータ機能を処理するシーケンスプログラムを
格納するユーザメモリ23と、ソフトウエア暴走を検知
した後、切り離された外部機器を復旧させるフェイルセ
ーフデータを格納するデータメモリ(DM)24と、時
間を計測するタイマ25と、ハンドシェークメモリ(H
M)26とから構成されている。
【0021】バスコントローラ21は、システムバス1
0の使用回線をコントロールするものであり、ソフトウ
エア暴走が検知された場合、バス10の使用権をMPU
1から剥奪し、拡張ボード2に持たせる。
【0022】シーケンスエンジン22は、フェイルセー
フ機能およびラダーアクセラレータ機能を処理するもの
である。ここで、ラダーアクセラレータ機能とは、MP
U1が実行する処理の一部または全部を高速で処理する
機能である。この機能についたは、本発明と直接の関係
がないので、これ以上の説明を省略する。
【0023】ハンドシェークメモリ26は、後述するハ
ンドシェーク処理において使用されるもので、MPU1
および拡張ボード2自身がそれぞれ所定間隔ごとに、所
定のコードが格納されるものである。
【0024】ここで、この実施形態のソフトPLCのハ
ンドシェーク方法によるソフトウエア暴走を検知する方
法を図2を参照して説明する。
【0025】図に示すように、MPU1は、所定時間t
1間隔で拡張ボード2上のハンドシェークメモリ26に
所定の内容Aを書き込む(図中の,および参
照)。
【0026】その後、シーケンスエンジン22は、タイ
マ25が所定時間t2(t1≦t2)経過すると、ハン
ドシェークメモリ24に格納されている内容をチェック
する。
【0027】シーケンスエンジン22は、ハンドシェー
クメモリ26に格納されているものがAである場合には
(図中の,参照)、ソフトウエアが正常に実行され
ているものと判断し、このハンドシェークメモリ26を
0に書き替える(図中のおよび参照)。
【0028】一方、シーケンスエンジン22は、ハンド
シェークメモリ26に格納されているものが0である場
合には(図中の参照)、シーケンスプログラムが所定
通りスキャン実行しておらず、ソフトウエア暴走が発生
したと判断する。
【0029】続いて、この実施形態のソフトPLCが外
部機器をシステム上から切り離す方法を説明する。
【0030】上述のように、ハンドシェーク方法により
ソフトウエアの暴走を検知すると、シーケンスエンジン
22は、MPU1のバス10の回線使用権を剥奪するよ
うに、バスコントローラ21に指示を出し、拡張ボード
2に回線使用権を得るようにする。
【0031】シーケンスエンジン22は、拡張ボード2
が回線使用権を得ると、予めユーザメモリ23に格納さ
れているシーケンスプログラムに基づき、所定の外部機
器を切り離しすべく、MPU1のI/Oメモリ5に対す
るアクセスを禁止する。
【0032】なお、MPU1は、I/Oメモリ5に格納
されたデータを使用して、例えば、統計処理等を演算し
たい場合には、I/Oメモリ5に対するライトアクセス
を禁止し、リードアクセスのみを行うようにしてもよ
い。
【0033】また、データのライトアクセスするに際
し、システム管理者がデータの管理を厳重に行う必要が
ある場合には、ライトコマンドの複雑化、つまり複雑な
ライト手順を設けて、正規の手順以外でのアクセスを禁
止するようにしてもよい。
【0034】ここで、アクセス制御は、I/Oメモリ5
のバスインターフェース回路にレジスタを設けて、この
レジスタに設定することでインタフェース回路を制御す
るように構成してもよい。
【0035】続いて、この実施形態のソフトPLCが外
部機器の切り離しを行ったのち、MPU1のI/Oメモ
リ5に対するリード・ライトアクセスを、DM書き込
み形式とラダー実行形式で説明する。
【0036】DM書き込み形式の場合 シーケンスエンジン22は、バスコントローラ21ロー
ラを使用してMPU1のI/Oメモリ5に対するアクセ
スを禁止すると、データメモリ24に予め格納されてい
るフェイルセーフデータをI/Oメモリ5に書き替え更
新する。
【0037】例えば、所定の外部機器が入力機器で、こ
の機器の稼働を停止させる場合には、I/Oメモリ5の
該当データを変更する。さらに具体的にいえば、接点
(a接点またはb接点)の開閉データを変更して、この
入力機器に入力されないようにすればよい。
【0038】その後、シーケンスエンジン22は、バス
コントローラ21を指示して、バス10の使用権を拡張
ボード2からMPU1に渡す。
【0039】すると、MPU1は、再び、ユーザプログ
ラムメモリ24に格納されているシーケンスプログラム
およびI/Oメモリ5に格納されているデータに基づ
き、外部機器の制御を再開する。
【0040】ラダー実行形式の場合 この場合は、シーケンスエンジン22がアクセラレータ
機能を有する場合であって、上述のようにして、外部機
器が切り離されると、以降、拡張ボード2が、MPU1
に替わって、ユーザプログラムメモリ23に格納されて
いるシーケンスプログラム(ラダープログラム)を実行
するようになっている。従って、この形式の場合には、
限定した処理のみを行う。
【0041】次に、この実施形態のソフトPLCの動作
を図3のフローチャートを参照して説明する。
【0042】電源を投入後、ソフトPLC本体および拡
張ボードを初期化し、外部機器の制御処理を開始する
(ステップ110)。
【0043】その後、シーケンスエンジン22は、外部
機器の制御を行いつつ、上述したように、シェークハン
ド方式により、障害が発生した否かを常時判断する(ス
テップ120)。
【0044】シーケンスエンジン22は、障害を検知し
た場合には(ステップ120;Y)、バスコントローラ
21を用いて、MPU1のI/Oメモリ5に対するデー
タのリード・ライトアクセスを禁止する(ステップ13
0)。
【0045】その後、シーケンスエンジン22は、ライ
トアクセスする必要があるか否かを判断し(ステップ1
40)、ライトアクセスする必要が無い場合には(ステ
ップ140、N)、ソフトPLC自体を停止して処理を
終了する一方(ステップ150)、ライトアクセスする
必要が有る場合には(ステップ140、Y)、さらに、
I/O更新する必要があるか否かを判断する(ステップ
160)。
【0046】シーケンスエンジン22は、I/O更新す
る必要があると判断した場合には(ステップ160;
Y)、上述したよいうにI/Oメモリを更新し、ステッ
プ120に処理を戻し、上述と同様な処理を行う一方、
I/O更新する必要がないと判断した場合には(ステッ
プ160;N)、ステップ150に処理を移行し、ソフ
トPLC自体を停止して処理を終了する。
【0047】上述した実施形態のソフトPLCは、一つ
の拡張ボード2を装着することで、障害検出,I/O更
新およびI/O保護を行っているが、図4のモデル1に
示すように、障害検出およびI/O更新について処理す
るボードと、I/O保護について処理するボードとから
なる2枚のボードで構成してもよいし(一点鎖線で囲ま
れた部分が1枚のボード)、同様に2枚のボードで障害
検出,I/O更新およびI/O保護を処理する場合であ
っても、モデル2に示すように、障害検出について処理
するボードと、I/O更新およびI/O保護について処
理するボードとからなるように構成してもよい。
【0048】ここで、上記構成のものは、拡張バスとし
てPCIバスを有しており、各ボードはバスマスタとな
って他のボードをアクセスすることが可能である。ま
た、各ボード間で必要な情報の伝達は、各ボードに実装
されたレジスタにリード・ライトすることで行うように
なっている。
【0049】なお、上述した実施形態のものは、モデル
3の場合である。
【0050】この実施形態の制御装置によれば、タイマ
25が所定時間経過するごとに、ハンドシェークメモリ
26に格納されているコードを読み出し、読み出された
コードがMPU1により格納された所定コードでない場
合には、ソフトウエアが暴走していると判断するため、
迅速にソフトウエア暴走を検出することできる。
【0051】そして、ソフトウエア暴走を検出すると、
所定の外部機器を切り離すため、ソフトウエアの暴走に
よる外部機器の誤動作の発生を防止することができる。
【0052】その後、所定の外部機が切り離されると、
予め設定された処理を外部機器に実行させるため、外部
機器システムが停止することがない。
【0053】
【発明の効果】以上本発明によれば、パソコンに装着さ
れている拡張ボードが、ソフトウエア暴走を検出する
と、所定の外部機器を切り離すため、ソフトウエアの暴
走による外部機器の誤動作の発生を防止することができ
る。
【0054】特に、タイマが所定時間経過するごとに、
メモリに格納されているコードを読み出し、読み出され
たコードがMPUにより格納された所定コードでない場
合には、ソフトウエアが暴走していると判断するため、
迅速にソフトウエア暴走を検出することできる。
【0055】さらに、所定の外部機が切り離されると、
予め設定された処理を外部機器に実行させるため、外部
機器システムの全面停止を防止することなしに、限定し
た機能を実行することができる。
【図面の簡単な説明】
【図1】本発明に係るプログラマブルコントローラの一
実施形態の構成を示すブロック図。
【図2】障害検出する方法としてのハンドシェーク方法
についての説明図。
【図3】この実施形態に係るプログラマブルコントロー
ラの動作を示すフローチャート。
【図4】他のモデルを示す図。
【符号の説明】
1 MPU 2 拡張ボード 3 システムプログラムメモリ(SM) 4 ユーザプログラムメモリ(UM) 5 I/Oメモリ 6 入出力回路 21 バスコントローラ 22 シーケンスエンジン 23 ユーザプログラムメモリ(UM) 24 データメモリ(DM) 25 タイマ 26 ハンドシェークメモリ(HM)

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 汎用OSの管理下で稼働するパソコンを
    用いて外部機器を制御するプログラマブルコントローラ
    において、 上記パソコンには拡張ボードを有しており、 この拡張ボードは、 ソフトウエア暴走を検出する暴走検出手段と、 この暴走検出手段がソフトウエア暴走送付を検出する
    と、所定の外部機器を切り離すI/O保護手段と、 このI/O保護手段で所定の外部機が切り離されると、
    予め設定された処理を外部機器に実行させるI/O更新
    手段と、 を具備することを特徴とするプログラマブルコントロー
    ラ。
  2. 【請求項2】 上記暴走検出手段は、 上記パソコンに設けられているMPUにより、所定時間
    ごとに所定コードが格納されるコード格納手段と、 時間を計測するタイマとを有しており、 このタイマが所定時間経過するごとに、上記コード格納
    手段に格納されているコードを読み出し、読み出された
    コードが上記MPUにより格納された所定コードでない
    場合には、ソフトウエアが暴走していると判断する一
    方、読み出されたコードが上記MPUにより格納された
    所定コードである場合にはソフトウエアが暴走が発生し
    ていないと判断し、上記コードをクリアすることを特徴
    とする請求項1記載のプログラマブルコントローラ。
  3. 【請求項3】 上記I/O保護手段は、 上記暴走検知手段によりソフトウエア暴走が検知される
    と、上記パソコンに設けられているMPUに対し、外部
    機器の動作を示すデータが格納されたI/Oメモリへの
    アクセスを禁止させることを特徴とする請求項1記載の
    プログラマブルコントローラ。
  4. 【請求項4】 上記I/O更新手段は、 ソフトウエア暴走が検出された場合のフェイルセーフデ
    ータを格納するフェイルセーフデータ格納手段を有して
    おり、 このフェイルセーフデータ格納手段に格納されたフェイ
    ルセーフデータを、外部機器の動作を示すデータが格納
    されているI/Oメモリに書き替え更新したのち、上記
    MPUに対して上記I/Oメモリに対するアクセスを許
    可すること特徴とする請求項1記載のプログラマブルコ
    ントローラ。
  5. 【請求項5】 上記拡張ボードは、シーケンスエンジン
    を有することを特徴とする請求項1乃至4のいづれかに
    記載のプログラマブルコントローラ。
JP16449896A 1996-06-25 1996-06-25 プログラマブルコントローラ Withdrawn JPH1011325A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16449896A JPH1011325A (ja) 1996-06-25 1996-06-25 プログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16449896A JPH1011325A (ja) 1996-06-25 1996-06-25 プログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH1011325A true JPH1011325A (ja) 1998-01-16

Family

ID=15794309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16449896A Withdrawn JPH1011325A (ja) 1996-06-25 1996-06-25 プログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH1011325A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041840B2 (en) * 2001-04-20 2011-10-18 Rockwell Automation Technologies, Inc. Industrial control system with autonomous web server
CN103605328A (zh) * 2013-10-22 2014-02-26 青岛农业大学 一种基于stc单片机的嵌入式plc工控板

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8041840B2 (en) * 2001-04-20 2011-10-18 Rockwell Automation Technologies, Inc. Industrial control system with autonomous web server
CN103605328A (zh) * 2013-10-22 2014-02-26 青岛农业大学 一种基于stc单片机的嵌入式plc工控板

Similar Documents

Publication Publication Date Title
CN100474247C (zh) 在计算机服务器系统中更新固件的方法
US9015458B2 (en) Computer system and method for updating basic input/output system by switching between local mode and bypass mode through baseboard management controller
CN109670319B (zh) 一种服务器flash安全管理方法及其系统
CN107678762A (zh) 一种系统版本升级方法及装置
JP3991590B2 (ja) 計算機システム及び計算機システムにおける障害処理方法
JPWO2000051000A1 (ja) 計算機システム及び計算機システムにおける障害処理方法
KR0182632B1 (ko) 클라이언트 서버 시스템 및 그 제어 방법
JPH1011325A (ja) プログラマブルコントローラ
KR20100006742A (ko) 컴퓨터 시스템 및 그 제어 방법
JP3231561B2 (ja) バックアップメモリ制御方式
JP3317361B2 (ja) メモリのバッテリバックアップ制御方式
JP7001236B2 (ja) 情報処理装置、障害監視方法及び障害監視用コンピュータプログラム
JPH11259160A (ja) コンピュータの起動方法、コンピュータ、起動処理プログラムを記録した記録媒体
JP2000172575A (ja) メモリーバックアップシステム
CN118627143B (zh) 一种基于终端指令防止硬盘被恶意擦除的方法
JP2000163274A (ja) 電子機器およびromデータ監視プログラムを記録した記録媒体
CN117725629A (zh) 读写操作的控制方法及装置
CN121807654A (zh) 一种bmc的协同处理方法、装置、电子设备及存储介质
CN1322705C (zh) 一种转发设备的数据平面复位方法
JPH08220198A (ja) 電池バックアップメモリユニットおよびバックアップ機能試験方法
JP2002244885A (ja) コンピュータシステム監視システム
JPH03100736A (ja) パトロール診断装置
CN119903522A (zh) 设备可信启动方法、系统、设备及存储介质
JPH0395634A (ja) 計算機システム再起動制御方式
JPH09288602A (ja) 障害情報記憶装置の書込み保護装置とリセット制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030902