JP3456894B2 - シーケンス制御装置 - Google Patents

シーケンス制御装置

Info

Publication number
JP3456894B2
JP3456894B2 JP15978898A JP15978898A JP3456894B2 JP 3456894 B2 JP3456894 B2 JP 3456894B2 JP 15978898 A JP15978898 A JP 15978898A JP 15978898 A JP15978898 A JP 15978898A JP 3456894 B2 JP3456894 B2 JP 3456894B2
Authority
JP
Japan
Prior art keywords
sequence
address
bit
instruction
data
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.)
Expired - Fee Related
Application number
JP15978898A
Other languages
English (en)
Other versions
JPH11353011A (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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP15978898A priority Critical patent/JP3456894B2/ja
Publication of JPH11353011A publication Critical patent/JPH11353011A/ja
Application granted granted Critical
Publication of JP3456894B2 publication Critical patent/JP3456894B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)
  • Programmable Controllers (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部信号に基づき
シーケンスプログラムに従ってシーケンス演算を実行す
るシーケンス制御装置に関し、特に、装置規模の増加を
抑えつつ、確実なフォルトトレーラントを実現するシー
ケンス制御装置に関する。
【0002】シーケンス制御装置は、プロセス制御など
に用いられ、これから、フォルトトレーラント化を実現
していく必要がある。
【0003】
【従来の技術】シーケンス制御装置のフォルトトレーラ
ント化を実現する従来技術として、同一構成のシーケン
ス制御装置を複数用意して、それぞれが同一のシーケン
スプログラムに従って同一のシーケンス演算を実行し、
それらの演算結果を比較することで、シーケンス制御装
置のフォルトトレーラント化を実現するというものがあ
る。
【0004】
【発明が解決しようとする課題】しかしながら、このよ
うな従来技術に従っていると、同一構成のシーケンス制
御装置を複数用意しなければならないことから、シーケ
ンス制御装置の装置規模が大きくなるという問題点があ
った。
【0005】更に、同一構成のシーケンス制御装置を複
数用いていることから、それらが同一の誤動作をすると
きに、それを検出できないという問題点があった。
【0006】本発明はかかる事情に鑑みてなされたもの
であって、装置規模の増加を抑えつつ、確実なフォルト
トレーラント化を実現する新たなシーケンス制御装置の
提供を目的とする。
【0007】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。
【0008】図中、1は本発明を具備するシーケンス制
御装置であって、入力手段10と、I/Oテーブル手段
11と、検出手段12と、第1のシーケンスプログラム
13と、第2のシーケンスプログラム14と、第1のシ
ーケンス演算手段15と、第2のシーケンス演算手段1
6と、保持手段17と、検出手段18とを備える。
【0009】この入力手段10は、I/Oテーブル手段
11への格納アドレスがビット反転する形式に従いつ
つ、規定のビット値定義で記述される正論理の外部信号
、そのビット値定義の逆のビット値定義で記述される
負論理の外部信号とを入力する。I/Oテーブル手段1
1は、入力手段10の入力処理を受けて、入力手段10
の入力する外部信号を格納することで、アドレスがビッ
ト反転する形式に従いつつ、正論理の外部信号と負論理
の外部信号とを格納する。
【0010】検出手段12は、例えばプログラムで構成
されて、I/Oテーブル手段11の格納する正論理の外
部信号と負論理の外部信号とを比較することで、異常状
態を検出する。
【0011】第1のシーケンスプログラム13は、規定
のビット値定義で記述される正論理に従うシーケンス演
算手順を記述する。第2のシーケンスプログラム14
は、そのビット値定義の逆のビット値定義で記述される
負論理に従うシーケンス演算手順を記述する。
【0012】ここで、第1のシーケンスプログラム13
の格納アドレスと、第2のシーケンスプログラム14の
格納アドレスとの間にビット反転の関係が成立すること
がある。また、第1のシーケンスプログラム13に記述
されるプログラムコードと、第2のシーケンスプログラ
ム14に記述されるプログラムコードとの間にビット反
転の関係が成立することがある。
【0013】第1のシーケンス演算手段15は、I/O
テーブル手段11の格納する正論理の情報を入力とし
て、第1のシーケンスプログラム13に従って、シーケ
ンス演算内容を規定するラダー回路に対してラダー演算
を施すことにより、正論理に従うシーケンス演算を実行
する。第2のシーケンス演算手段16は、I/Oテーブ
ル手段11の格納する負論理の情報を入力として、第2
のシーケンスプログラム14に従って、そのラダー回路
と同一の回路構成に従うラダー回路に対してラダー演算
を施すことにより、負論理に従うシーケンス演算を実行
する。
【0014】I/Oテーブル手段11は、第1及び第2
のシーケンス演算手段15,16の演算処理を受けて、
アドレスがビット反転する形式に従いつつ、第1のシー
ケンス演算手段15の算出する正論理の演算結果データ
と、第2のシーケンス演算手段16の算出する負論理の
演算結果データとを格納する。
【0015】保持手段17は、演算結果データの外部へ
の出力用に用意されて、I/Oテーブル手段11から正
論理の演算結果データと負論理の演算結果データとを読
み出して保持する。検出手段18は、保持手段17の保
持する正論理の演算結果データとそれと対をなす負論理
の演算結果データとを比較することで、異常状態を検出
する。
【0016】このように構成される本発明のシーケンス
制御装置1では、入力手段10は、入力リフレッシュに
入ることで、外部信号に割り付けられるアドレスが指定
されると、その外部信号をそのまま入力してI/Oテー
ブル手段11の持つ正論理領域に転送するとともに、そ
のアドレスのビット反転アドレスが指定されると、その
外部信号の反転値を入力してI/Oテーブル手段11の
持つ負論理領域に転送し、これを受けて、I/Oテーブ
ル手段11は、正論理領域と負論理領域とで格納アドレ
スがビット反転する形式に従いつつ、正論理領域に正論
理に従う外部信号を格納するとともに、負論理領域にそ
れと対をなす負論理の外部信号を格納する。
【0017】続いて、演算ステートに入って、第1のシ
ーケンス演算手段15は、I/Oテーブル手段11の格
納する正論理の情報を入力として、第1のシーケンスプ
ログラム13に従って、シーケンス演算内容を規定する
ラダー回路に対してラダー演算を施すことにより、正論
理に従うシーケンス演算を実行して、その演算結果をI
/Oテーブル手段11の持つ正論理領域に格納する。一
方、第2のシーケンス演算手段16は、I/Oテーブル
手段11の格納する負論理の情報を入力として、第2の
シーケンスプログラム14に従って、そのラダー回路と
同一の回路構成に従うラダー回路に対してラダー演算を
施すことにより、負論理に従うシーケンス演算を実行し
て、格納アドレスが第1のシーケンス演算手段15の指
定するものとビット反転する形式に従いつつ、その演算
結果をI/Oテーブル手段11の持つ負論理領域に格納
する。
【0018】続いて、出力リフレッシュに入って、保持
手段17は、正論理の演算結果データに割り付けられる
I/Oテーブル手段11の格納アドレスが指定されると
きに、その演算結果データをI/Oテーブル手段11の
持つ正論理領域から読み出して、それを正論理用に用意
する個所に保持するとともに、その格納アドレスのビッ
ト反転アドレスが指定されるときに、その演算結果デー
タと対をなす負論理の演算結果データをI/Oテーブル
手段11から読み出して、それを負論理用に用意する個
所に保持する。
【0019】そして、これを受けて、検出手段18は、
保持手段17の保持する正論理の演算結果データとそれ
と対をなす負論理の演算結果データとを比較すること
で、異常状態を検出する。
【0020】このように、本発明のシーケンス制御装置
1では、正論理に従ってシーケンス演算を実行するとと
もに、負論理に従ってシーケンス演算を実行する構成を
採って、その2つの演算結果を比較することで異常状態
の発生を検出するとともに、正論理のシーケンス演算に
用いるアドレスと負論理のシーケンス演算に用いるアド
レスとが互いにビット反転するというアドレス的に最も
遠い関係を持つようにすることで、ビット化けが発生す
るときに、それを確実に検出できるようにする構成を採
ることから、装置規模の増加を抑えつつ、確実なフォル
トトレーラントを実現できるようになる。
【0021】
【発明の実施の形態】以下、実施の形態に従って本発明
を詳細に説明する。
【0022】図2に、本発明を具備するシーケンス制御
装置1の一実施例を図示する。
【0023】この図に示すように、本発明のシーケンス
制御装置1は、正論理用ラダー演算回路20と、負論理
用ラダー演算回路21と、正論理用演算レジスタ22
と、負論理用演算レジスタ23と、I/Oテーブル24
と、入力モジュール25と、出力モジュール26と、C
PU27と、正論理用ALU28と、負論理用ALU2
9と、正論理用インデックスレジスタ30と、負論理用
インデックスレジスタ31と、正論理用マクロリターン
アドレス格納レジスタ32と、負論理用マクロリターン
アドレス格納レジスタ33と、正論理用シーケンスプロ
グラム34と、負論理用シーケンスプログラム35と、
正論理用命令実行プログラム36と、負論理用命令実行
プログラム37と、制御プログラム38と、インタフェ
ース回路39とを備える。
【0024】正論理用ラダー演算回路20及び負論理用
ラダー演算回路21は、図3に示すように、ラダー回路
中にプログラミングされる行間の接続情報である分岐デ
ータをラッチするための分岐用ラッチ回路100と、ラ
ダー回路中にプログラミングされる接点回路要素の接点
データをセットするための接点用ラッチ回路101と、
1列分のラダー演算を実行する列サイクリック演算回路
102と、列サイクリック演算回路102の出力値を保
持するとともに、その出力値を列サイクリック演算回路
102の入力段にフィードバックする演算結果ラッチ回
路103とを備える。
【0025】ここで、正論理用ラダー演算回路20及び
負論理用ラダー演算回路21は、説明の便宜上、16行
×1列の回路構成を有することを想定する。これから、
図3に示すように、分岐用ラッチ回路100は、1ビッ
トのラッチ回路が15個配列されることで構成され、接
点用ラッチ回路101は、1ビットのラッチ回路が16
個配列されることで構成され、演算結果ラッチ回路10
3は、1ビットのラッチ回路が16個配列されることで
構成されることになる。
【0026】正論理用ラダー演算回路20では、列サイ
クリック演算回路102は、図4に示すように、行間数
に対応して備えられるゲート200が、隣接する上の行
との間の連結性を示す分岐データ(連結性有りのとき
“1”)と上の行からの電力の有無データ(電力有りの
とき“1”)との論理積を演算して、注目対象の行のゲ
ート203に入力し、行間数に対応して備えられるゲー
ト201が、隣接する下の行との間の連結性を示す分岐
データと下の行からの電力の有無データとの論理積を演
算して、注目対象の行のゲート203に入力し、行数に
対応して備えられるゲート202が、前列同一行との間
の伝導性を示す接点データ(伝導性有りのとき“1”)
と前列同一行からの電力の有無データとの論理積を演算
して、注目対象の行のゲート203に入力するととも
に、このゲート203(“0”のOR回路をなす)が、
演算結果ラッチ回路103に出力値を出力する構成を採
る。
【0027】一方、負論理用ラダー演算回路21では、
列サイクリック演算回路102は、図5に示すように、
ゲート200/ゲート201/ゲート202が反転値を
入力とするとともに、ゲート203が非反転値を出力す
るという構成を採っている点で、図4に示す正論理用ラ
ダー演算回路20の列サイクリック演算回路102と異
なる。
【0028】従って、負論理用ラダー演算回路21で
は、列サイクリック演算回路102は、分岐データは連
結性有りのときに“0”と定義され、電力の有無データ
は電力有りのときに“0”と定義され、接点データは伝
導性有りのときに“0”と定義され、これから、正論理
用ラダー演算回路20が正論理で動作するのに対して、
負論理用ラダー演算回路21は負論理で動作することに
なる。
【0029】正論理用ラダー演算回路20で説明するな
らば、ラダーシーケンスを実行する場合、図6に示すよ
うなラダー回路が与えられると、第1ステップで、アド
レスa1(I/Oテーブル24のアドレス)の指す接点
データを接点用ラッチ回路101の第1行目のラッチ回
路にセットし、アドレスa2の指す接点データの反転値
(B接点であるので反転値となる)を接点用ラッチ回路
101の第2行目のラッチ回路にセットし、第2行と第
3行とを接続する分岐データを分岐用ラッチ回路100
の対応するラッチ回路にセットすることで、第1列目の
ラダー演算を実行する。
【0030】続いて、第2ステップで、アドレスa3の
指す接点データを接点用ラッチ回路101の第1行目の
ラッチ回路にセットし、アドレスa4の指す接点データ
を接点用ラッチ回路101の第2行目のラッチ回路にセ
ットし、アドレスa5の指す接点データを接点用ラッチ
回路101の第3行目のラッチ回路にセットし、第1行
と第2行とを接続する分岐データを分岐用ラッチ回路1
00の対応するラッチ回路にセットし、第2行と第3行
とを接続する分岐データを分岐用ラッチ回路100の対
応するラッチ回路にセットすることで、第2列目のラダ
ー演算を実行する。
【0031】続いて、第3ステップで、アドレスa6の
指す接点データを接点用ラッチ回路101の第1行目の
ラッチ回路にセットすることで、第3列目のラダー演算
を実行する。続いて、第4ステップで、演算結果ラッチ
回路103の第1行目のラッチ回路の保持値をアドレス
a7の指す領域(I/Oモジュール24の領域)に出力
する。
【0032】このようにして、正論理用ラダー演算回路
20及び負論理用ラダー演算回路21は、ラダー回路を
その図形イメージのまま実行する構成を採っている。
【0033】図7に、図6のラダー回路を実現するこの
図形イメージのシーケンスプログラム(実際には、コン
パイラにより後述するビット入力命令やビット出力命令
に変換される)を図示する。なお、図中に示す“E”
は、行の終わりを示すコードである。この“E”は、後
述するように、その行の最終の命令に記録されることに
なるが、ここでは分かり易くするために命令とは別に記
載してある。なお、図中に示すnは行レジスタ番号(何
行目の分岐用ラッチ回路100や接点用ラッチ回路10
1や演算結果ラッチ回路103が処理対象であるのかを
示す番号)である。
【0034】ここで、シーケンスプログラムには、ラダ
ー演算の他に、CPU27や正論理用ALU28や負論
理用ALU29で実行する命令が記述される。
【0035】例えば、図8(a)に示すように、第0行
のラダー演算の結果が“1”を示すときには、I/Oテ
ーブル24の100ワード番地のデータを取り込むとと
もに、I/Oテーブル24の200ワード番地のデータ
を取り込んで、それらを加算してから、I/Oテーブル
24の300ワード番地に格納しろという命令が記述さ
れるといったように、ラダー演算の他に、CPU27や
正論理用ALU28や負論理用ALU29で実行する命
令が記述される。
【0036】このような場合、シーケンスプログラムを
コンパイルするコンパイラは、I/Oテーブル24の1
00ワード番地のデータを演算レジスタ22,23の1
行目に書き込むことを指示する「BW 100W」命令
と、I/Oテーブル24の200ワード番地のデータを
演算レジスタ22,23の2行目に書き込むことを指示
する「BW 200W」命令と、演算レジスタ22,2
3の1行目のデータと2行目のデータとを加算して0行
目に書き込むことを指示する「ADD」命令と、演算レ
ジスタ22,23の0行目のデータをI/Oテーブル2
4の300ワード番地に格納することを指示する「SW
300W」とからなる、図8(b)に示すような命令
を生成することになる。
【0037】図2の説明に戻るならば、正論理用演算レ
ジスタ22は、正論理用ラダー演算回路20の行対応に
設けられる16個のレジスタで構成されて、演算データ
を格納する。負論理用演算レジスタ23は、負論理用ラ
ダー演算回路21の行対応に設けられる16個のレジス
タで構成されて、正論理用演算レジスタ22に格納され
る演算データのビット反転データとなる演算データを格
納する。
【0038】更に詳細に説明すると、この正論理用演算
レジスタ22及び負論理用演算レジスタ23は、図9に
示すように、32ビットで構成される演算データを格納
する領域と、4ビットで構成される演算データの型(浮
動小数点型など)を格納する領域とで構成されている。
【0039】I/Oテーブル24は、16ビットのデー
タを65536個格納するメモリ域で構成されて、外部
機器から入力される接点情報や外部機器に出力するデー
タやワークデータを保持する。
【0040】更に詳細に説明すると、このI/Oテーブ
ル24は、図10に示すように、正論理のデータを格納
する領域として用意されて、低い方から高い方に向かっ
て配置される“00000W”〜“32767W”とい
うアドレス領域と、負論理のデータ(正論理のデータの
ビット反転データとなる)を格納する領域として用意さ
れて、高い方から低い方に向かって配置される“655
35W”〜“32768W”というアドレス領域の2つ
の領域で構成されている。
【0041】このアドレス領域“00000W”〜“3
2767W”には、外部機器から入力される正論理のデ
ータや、外部機器に出力する正論理のデータや、正論理
のワークデータが格納され、アドレス領域“65535
W”〜“32768W”には、外部機器から入力される
負論理のデータや、外部機器に出力する負論理のデータ
や、負論理のワークデータが格納されることになる。
【0042】入力モジュール25は、入力リフレッシュ
時に、外部機器のデータをI/Oテーブル24に書き込
むべく用意されるものであって、図11に示すように、
CPU27の発行する外部機器アドレス(外部機器のポ
ート番号)をデコードすることでいずれか一本の出力ラ
インに“1”を出力するデコーダ250と、I/Oテー
ブル24の持つアドレス領域“00000W”〜“32
767W”の一部のアドレス領域に対応付けて備えられ
て、デコーダ250の出力値をトリガにして、外部機器
のデータをそのまま読み込むバッファ回路251群と、
I/Oテーブル24の持つアドレス領域“65535
W”〜“32768W”の一部のアドレス領域に対応付
けて備えられて、デコーダ250の出力値をトリガにし
て、外部機器のデータの反転値を読み込むバッファ回路
252群とで構成されている。
【0043】バッファ回路251群により読み込まれる
外部機器のデータは、指定されるI/Oテーブル24の
領域(アドレス領域“00000W”〜“32767
W”の中の領域)に書き込まれ、バッファ回路252群
により読み込まれる外部機器の反転データは、指定され
るI/Oテーブル24の領域(アドレス領域“6553
5W”〜“32768W”の中の領域)に書き込まれる
ことになる。
【0044】この入力モジュール25により、ビット反
転の関係の成立する正論理のアドレスと負論理のアドレ
スとの指すI/Oテーブル24の格納領域に、正論理に
従う外部機器のデータとそのデータのビット反転データ
となる負論理のデータとが書き込まれることになる。
【0045】出力モジュール26は、出力リフレッシュ
時に、I/Oテーブル24に格納されるデータを外部機
器に出力すべく用意されるものであって、図12に示す
ように、CPU27の発行する外部機器アドレスをデコ
ードすることでいずれか一本の出力ラインに“1”を出
力するデコーダ260と、I/Oテーブル24の持つア
ドレス領域“00000W”〜“32767W”の一部
のアドレス領域に対応付けて備えられて、デコーダ26
0の出力値をトリガにして、指定されるI/Oテーブル
24の領域(アドレス領域“00000W”〜“327
67W”の中の領域)に格納されるデータを読み出して
ラッチするラッチ回路261群と、I/Oテーブル24
の持つアドレス領域“65535W”〜“32768
W”の一部のアドレス領域に対応付けて備えられて、デ
コーダ260の出力値をトリガにして、指定されるI/
Oテーブル24の領域(アドレス領域“65535W”
〜“32768W”の中の領域)に格納されるデータを
読み出してラッチするラッチ回路262群と、対となる
2つのラッチ回路261,262に対応付けて備えられ
て、その2つのラッチ回路261,262のラッチデー
タがビット反転の関係にあるのか否かを比較する比較回
路263群とで構成されている。
【0046】この出力モジュール26により、外部機器
に出力するデータに誤りがあるのか否かが検出されるこ
とになる。
【0047】CPU27は、図示しないプログラムに従
って、装置全体の制御処理を実行するとともに、PID
演算のようなファンクション命令(正論理用と負論理用
とが用意される)を実行する。正論理用ALU28は、
正論理の演算用に用意されて、四則演算のようなハード
ウェア演算命令を実行する。負論理用ALU29は、負
論理の演算用に用意されて、四則演算のようなハードウ
ェア演算命令を実行する。
【0048】正論理用インデックスレジスタ30は、正
論理の演算用に用意されて、I/Oテーブル24のアド
レスを指定する際のアドレス修飾用のインデックスを格
納する。ここで、30aは後述するビット入力命令用の
正論理用インデックスレジスタ、30bは後述するビッ
ト出力命令用の正論理用インデックスレジスタ、30c
は後述するブリング命令用の正論理用インデックスレジ
スタ、30dは後述するセンド命令用の正論理用インデ
ックスレジスタである。
【0049】負論理用インデックスレジスタ31は、負
論理の演算用に用意されて、I/Oテーブル24のアド
レスを指定する際のアドレス修飾用のインデックス(正
論理用インデックスレジスタ30に格納されるインデッ
クスとビット反転の関係にある)を格納する。ここで、
31aは後述するビット入力命令用の負論理用インデッ
クスレジスタ、31bは後述するビット出力命令用の負
論理用インデックスレジスタ、31cは後述するブリン
グ命令用の負論理用インデックスレジスタ、31dは後
述するセンド命令用の負論理用インデックスレジスタで
ある。
【0050】正論理用マクロリターンアドレス格納レジ
スタ32は、正論理の演算用に用意されて、マクロから
のリターンアドレスを格納する。負論理用マクロリター
ンアドレス格納レジスタ33は、負論理の演算用に用意
されて、マクロからのリターンアドレス(正論理用マク
ロリターンアドレス格納レジスタ32に格納されるリタ
ーンアドレスとビット反転の関係にある)を格納する。
【0051】正論理用シーケンスプログラム34は、正
論理に従うシーケンス演算手順を記述する。負論理用シ
ーケンスプログラム35は、負論理に従うシーケンス演
算手順を記述する。
【0052】この正論理用シーケンスプログラム34
は、正論理の演算に用意される資源を使ってシーケンス
演算を実行し、負論理用シーケンスプログラム35は、
負論理の演算に用意される資源を使ってシーケンス演算
を実行する。従って、正論理用シーケンスプログラム3
4の実行結果のデータと負論理用シーケンスプログラム
35の実行結果のデータとは、ビットが反転した形とな
っている。
【0053】更に、図13に示すように、正論理用シー
ケンスプログラム34は、アドレスの低い方から高い方
に向かってメモリに展開されるのに対して、負論理用シ
ーケンスプログラム35は、正論理用シーケンスプログ
ラム34の格納アドレスとビット反転するアドレスに従
いつつ、アドレスの高い方から低い方に向かってメモリ
に展開される構成が採られている。
【0054】従って、正論理用シーケンスプログラム3
4の実行プログラム位置を管理するプログラムカウンタ
の計数値と、負論理用シーケンスプログラム35のプロ
グラム位置を管理するプログラムカウンタの計数値と
は、ビットが反転した形となるように構成されている。
【0055】更に、後述するように、正論理用シーケン
スプログラム34に記述される命令のプログラムコード
と、負論理用シーケンスプログラム35に記述される命
令のプログラムコードとについても、ビットが反転した
形となるように構成されている。
【0056】正論理用命令実行プログラム36は、正論
理用シーケンスプログラム34を実行する。負論理用命
令実行プログラム37は、負論理用シーケンスプログラ
ム35を実行する。制御プログラム38は、シーケンス
演算の全体の制御処理を実行する。インタフェース回路
39は、プログラムとハードウェアとの間のインタフェ
ース用に用意される。
【0057】図14ないし図20に、正論理用シーケン
スプログラム34及び負論理用シーケンスプログラム3
5に記述される命令コードの一実施例を図示する。
【0058】シーケンス制御装置1の実行する命令に
は、図14及び図15に示すビット入力命令や、図16
に示すビット出力命令や、図17に示すブリング命令
や、図18に示すセンド命令や、図19に示すハードウ
ェア演算命令や、図20に示すCPU命令などがある。
【0059】このビット入力命令は、ラダー演算回路2
0,21の分岐用ラッチ回路100に対しての分岐デー
タのセットと、ラダー演算回路20,21の接点用ラッ
チ回路101に対しての接点データのセットとを実行す
る命令である。ビット出力命令は、ラダー演算回路2
0,21の演算結果ラッチ回路103に保持される最終
的なラダー演算結果の出力を実行する命令である。
【0060】ブリング命令は、I/Oテーブル24から
演算レジスタ22,23へのデータ転送と、演算レジス
タ22,23への定数データのセットを実行する命令で
ある。更に、ブリング命令は、インデックスレジスタ3
0,31に対してインデックスをセットするための命令
としても用いられている。センド命令は、演算レジスタ
22,23からI/Oテーブル24へのデータ転送を実
行する命令である。
【0061】ハードウェア演算命令は、四則演算などの
演算命令(ALU28,29を使って実行することにな
る)を実行する命令である。CPU命令は、PID演算
などのファンクション命令(CPU27で走行するプロ
グラムを使って実行することになる)を実行する命令で
ある。
【0062】このハードウェア演算命令やCPU命令
は、演算レジスタ22,23の格納する演算データや、
演算結果ラッチ回路103の保持するビットデータを入
力して、規定の演算を行い、その演算結果を、演算レジ
スタ22,23や演算結果ラッチ回路103に格納する
処理を行うことになる。
【0063】次に、各命令のコード体系について説明す
る。
【0064】正論理用のビット入力命令は、図14
(a)に示すデータ構造を有しており、負論理用のビッ
ト入力命令は、図14(b)に示すデータ構造を有して
いる。
【0065】正論理用のビット入力命令について具体的
に説明するならば、図15(a)に示すように、“00
1”に従って、その命令であることが表示される。Eビ
ットは、行の終了となる命令であるのか否かを示すフラ
グ、pビット(エッジ接点のとき有効となる)は、前回
の実行時の接点データ、nnnnは、ビット入力命令の
生成に用いた図示言語(図8(a)に示した図形の規定
する言語)の配置位置の行番号、bbbbは、アドレス
で指定されるI/Oテーブル24の16ビットデータの
内のどれを入力するのかを指定するもの、ワードアドレ
スオフセットは、正論理用インデックスレジスタ30a
のインデックスと加算されて、I/Oテーブル24のア
ドレスを生成するものである。
【0066】「xxx=000」は、分岐なしのA接点
を示し、アドレスで指定されるI/Oテーブル24の接
点データをnnnnの指す接点用ラッチ回路101にそ
のまま入力することを示す。「xxx=100」は、分
岐ありのA接点を示し、「xxx=000」の規定する
接点データの入力に加えて、nnnnの指す分岐用ラッ
チ回路100に分岐データを入力することを示す。
【0067】「xxx=001」は、分岐なしのB接点
を示し、アドレスで指定されるI/Oテーブル24の接
点データをnnnnの指す接点用ラッチ回路101に反
転して入力することを示す。「xxx=101」は、分
岐ありのB接点を示し、「xxx=001」の規定する
接点データの入力に加えて、nnnnの指す分岐用ラッ
チ回路100に分岐データを入力することを示す。
【0068】「xxx=010」は、分岐なしの立ち上
がり接点を示し、アドレスで指定されるI/Oテーブル
24の接点データが“1”に立ち上るときに、nnnn
の指す接点用ラッチ回路101にパルス形式の“1”を
入力することを示す。「xxx=110」は、分岐あり
の立ち上がり接点の入力を示し、「xxx=010」の
規定する接点データの入力に加えて、nnnnの指す分
岐用ラッチ回路100に分岐データを入力することを示
す。
【0069】「xxx=011」は、分岐なしの立ち下
がり接点を示し、アドレスで指定されるI/Oテーブル
24の接点データが“0”に立ち下がるときに、nnn
nの指す接点用ラッチ回路101にパルス形式の“1”
を入力することを示す。「xxx=111」は、分岐あ
りの立ち下がり接点を示し、「xxx=011」の規定
する接点データの入力に加えて、nnnnの指す分岐用
ラッチ回路100に分岐データを入力することを示す。
【0070】負論理用のビット入力命令は、図15
(b)に示すように、正論理用のビット入力命令で記述
される“1”が“0”となり、“0”が“1”となると
いうように、正論理用のビット入力命令をビット反転し
た形となっている。
【0071】正論理用のビット出力命令は、図16
(a)に示すデータ構造を有しており、負論理用のビッ
ト出力命令は、図16(b)に示すデータ構造を有して
いる。
【0072】正論理用のビット出力命令について具体的
に説明するならば、「xxx=000」は、通常出力を
示し、nnnnの指す演算結果ラッチ回路103のビッ
トデータをアドレスで指定されるI/Oテーブル24の
領域にそのまま出力することを示す。「xxx=00
1」は、反転出力を示し、nnnnの指す演算結果ラッ
チ回路103のビットデータをアドレスで指定されるI
/Oテーブル24の領域に反転して出力することを示
す。
【0073】「xxx=100」は、ラッチ出力を示
し、nnnnの指す演算結果ラッチ回路103のラッチ
データが“1”のときに、アドレスで指定されるI/O
テーブル24の領域に“1”を出力し、“0”のときに
は保持することを示す。「xxx=101」は、アンラ
ッチ出力を示し、nnnnの指す演算結果ラッチ回路1
03のラッチデータが“1”のときに、アドレスで指定
されるI/Oテーブル24の領域に“0”を出力し、
“0”のときには保持することを示す。
【0074】「xxx=010」は立ち上がり出力を示
し、nnnnの指す演算結果ラッチ回路103のビット
データが“1”に立ち上るときに、アドレスで指定され
るI/Oテーブル24の領域にパルス形式の“1”を出
力することを示す。「xxx=011」は立ち下がり出
力を示し、nnnnの指す演算結果ラッチ回路103の
ビットデータが“0”に立ち下るときに、アドレスで指
定されるI/Oテーブル24の領域にパルス形式の
“1”を出力することを示す。
【0075】負論理用のビット出力命令は、図16
(b)に示すように、正論理用のビット出力命令で記述
される“1”が“0”となり、“0”が“1”となると
いうように、正論理用のビット出力命令をビット反転し
た形となっている。
【0076】正論理用のブリング命令は、図17(a)
に示すデータ構造を有しており、負論理用のブリング命
令は、図17(b)に示すデータ構造を有している。
【0077】正論理用のブリング命令について具体的に
説明するならば、「xxx=000」は、BWHモード
のブリング命令を示し、アドレスで指定されるI/Oテ
ーブル24のデータをnnnnの指す正論理用演算レジ
スタ22の上位側に格納することを示す。「xxx=0
10」は、BWLモードのブリング命令を示し、アドレ
スで指定されるI/Oテーブル24のデータをnnnn
の指す正論理用演算レジスタ22の下位側に格納するこ
とを示す。
【0078】「xxx=001」は、KWHモードのブ
リング命令を示し、指定される定数データをnnnnの
指す正論理用演算レジスタ22の上位側に格納すること
を示す。「xxx=011」は、KWLモードのブリン
グ命令を示し、指定される定数データをnnnnの指す
正論理用演算レジスタ22の下位側に格納することを示
す。
【0079】「xxx=100」は、BX1モードのブ
リング命令を示し、指定されるインデックスを正論理用
インデックスレジスタ30aに格納することを示す。
「xxx=101」は、BX2モードのブリング命令を
示し、指定されるインデックスを正論理用インデックス
レジスタ30bに格納することを示す。「xxx=11
0」は、BX3モードのブリング命令を示し、指定され
るインデックスを正論理用インデックスレジスタ30c
に格納することを示す。「xxx=111」は、BX4
モードのブリング命令を示し、指定されるインデックス
を正論理用インデックスレジスタ30dに格納すること
を示す。
【0080】負論理用のブリング命令は、図17(b)
に示すように、正論理用のブリング命令で記述される
“1”が“0”となり、“0”が“1”となるというよ
うに、正論理用のブリング命令をビット反転した形とな
っている。
【0081】正論理用のセンド命令は、図18(a)に
示すデータ構造を有しており、負論理用のセンド命令
は、図18(b)に示すデータ構造を有している。
【0082】正論理用のセンド命令について具体的に説
明するならば、「xxx=000」は、SWHモードの
センド命令を示し、nnnnの指す正論理用演算レジス
タ22の上位側データをアドレスで指定されるI/Oテ
ーブル24の領域に格納することを示す。「xxx=0
10」は、SWLモードのセンド命令を示し、nnnn
の指す正論理用演算レジスタ22の下位側データをアド
レスで指定されるI/Oテーブル24の領域に格納する
ことを示す。
【0083】なお、これ以外に、デバッグ処理のため
に、正論理用演算レジスタ22以外の各種内部レジスタ
のデータをI/Oテーブル24に格納する命令が用意さ
れている。
【0084】負論理用のセンド命令は、図18(b)に
示すように、正論理用のセンド命令で記述される“1”
が“0”となり、“0”が“1”となるというように、
正論理用のセンド命令をビット反転した形となってい
る。
【0085】正論理用のハードウェア演算命令は、図1
9(a)に示すデータ構造を有しており、負論理用のハ
ードウェア演算命令は、図19(b)に示すデータ構造
を有している。
【0086】ハードウェア演算命令は、「ソース+ディ
スティネーション→ディスティネーション」の演算形態
をとるものであり、ssssは、ハードウェア演算命令
の生成に用いた図示言語の持つソース側の行番号、dd
ddは、ハードウェア演算命令の生成に用いた図示言語
の持つディスティネーション側の行番号、eeeeは、
ハードウェア演算命令の生成に用いた図示言語の持つイ
ネーブル端子の行番号、wwwwは、ハードウェア演算
命令の生成に用いた図示言語の列数、オペコードは、ハ
ードウェア演算命令のID、αは、イネーブル信号に応
じて演算処理に入るものなのか無条件に演算処理に入る
ものなのかの表示フラグ、βは、16ビット演算のもの
なのか32ビット演算のものなのかの表示フラグ、γ
は、16ビット演算時の上位ワードに符号拡張を行うも
のなのかクリアするものなのかの表示フラグである。
【0087】例えば、ハードウェア演算命令のADD演
算には、無条件に演算処理に入るものと、イネーブル信
号(ラダー演算回路20,21から与えられる)に応じ
て演算処理に入るものがあり、更に、ハードウェア演算
命令には、SUB演算など色々なものがあるので、無条
件実行/条件実行の表示フラグを使って、イネーブル信
号に応じて演算処理に入るものなのか、無条件に演算処
理に入るものなのかを管理するとともに、オペコードを
使って、どの演算であるのかを管理するものである。
【0088】負論理用のハードウェア演算命令は、図1
9(b)に示すように、正論理用のハードウェア演算命
令で記述される“1”が“0”となり、“0”が“1”
となるというように、正論理用のハードウェア演算命令
をビット反転した形となっている。
【0089】正論理用のCPU命令は、図20(a)に
示すデータ構造を有しており、負論理用のCPU命令
は、図20(b)に示すデータ構造を有している。
【0090】CPU命令は、CPU演算による演算形態
をとるものであり、nnnnは、CPU命令の生成に用
いた図示言語の先頭行位置の行番号、mmmmは、CP
U命令の生成に用い図示言語の行数、wwwwは、CP
U命令の生成に用いた図示言語の列数、s〜sは、CP
U命令の生成に用いた図示言語の持つ入力端子の位置を
示すビットパターン、d〜dは、CPU命令の生成に用
いた図示言語の持つ出力端子の位置を示すビットパター
ン、ファンクション番号は、CPU命令のID、αは、
イネーブル信号に応じて演算処理に入るものなのか無条
件に演算処理に入るものなのかの表示フラグ、β及びγ
は、条件実行に入るときのイネーブル信号の信号状態
(1、0、立上がり、立下がり)の表示フラグである。
【0091】負論理用のCPU命令は、図20(b)に
示すように、正論理用のCPU命令で記述される“1”
が“0”となり、“0”が“1”となるというように、
正論理用のCPU命令をビット反転した形となってい
る。
【0092】この他に、シーケンス制御装置1の実行す
る命令には、シーケンスプログラムの流れを制御するジ
ャンプやマクロコールやマクロリターンなどの制御命令
がある。
【0093】この制御命令もまた、正論理用と負論理用
とが用意され、ビット入力命令などと同じように、負論
理用の制御命令は、正論理用の制御命令で記述される
“1”が“0”となり、“0”が“1”となるというよ
うに、正論理用の制御命令をビット反転した形となって
いる。
【0094】次に、図21に示す制御プログラム38の
実行する処理フローと、図22に示す正論理用命令実行
プログラム36/負論理用命令実行プログラム37の実
行する処理フローとに従って、このように構成される図
2に示すシーケンス制御装置1の動作処理について説明
する。
【0095】制御プログラム38は、シーケンス演算の
実行が指示されることで起動されると、図21の処理フ
ローに示すように、先ず最初に、ステップ1で、入力モ
ジュール25を制御することで入力リフレッシュを実行
して、外部機器の最新のデータとそのデータの反転値と
を、格納先のアドレスがビット反転する形式に従いつつ
I/Oテーブル24に書き込む。
【0096】続いて、ステップ2で、正論理用命令実行
プログラム36を起動し、続くステップ3で、正論理用
命令実行プログラム36の処理終了を待つ。
【0097】このようにして起動されると、正論理用命
令実行プログラム36は、図22の処理フローに示すよ
うに、先ず最初に、ステップ10で、正論理用シーケン
スプログラム34から1次元配列の順番に従って命令を
1つ取り出す。
【0098】続いて、ステップ11で、取り出した命令
がシーケンスプログラムの終了を示す終了命令であるの
か否かを判断して、終了命令でないことを判断するとき
には、ステップ12に進んで、取り出した命令の種別を
判断し、I/Oテーブル24の正論理領域/正論理用ラ
ダー演算回路20/正論理用演算レジスタ22/正論理
用インデックスレジスタ30/正論理用マクロリターン
アドレス格納レジスタ32/正論理用ALU28を処理
対象にして、その命令の実行を指示する。
【0099】続いて、ステップ13で、取り出した命令
の持つEフラグが行終了を表示しているのか否かを判断
して、行終了を表示していることを判断するときには、
ステップ14に進んで、正論理用ラダー演算回路20の
出力する1列分のラダー演算結果を得てからステップ1
0に戻り、行終了を表示していないことを判断するとき
には、ステップ14の処理を行わずにステップ10に戻
っていく。
【0100】そして、ステップ11で、取り出した命令
がシーケンスプログラムの終了を示す終了命令であるこ
とを判断するときには、シーケンス演算の終了を判断し
て、ステップ15に進んで、制御プログラム38に対し
てその旨を通知して、全処理を終了する。
【0101】制御プログラム38は、図21の処理フロ
ーのステップ2で、正論理用命令実行プログラム36を
起動し、続くステップ3で、正論理用命令実行プログラ
ム36の処理終了を待つときに、正論理用命令実行プロ
グラム36から処理終了の通知を受け取ると、ステップ
4に進んで、負論理用命令実行プログラム37を起動
し、続くステップ5で、負論理用命令実行プログラム3
7の処理終了を待つ。
【0102】このようにして起動されると、負論理用命
令実行プログラム37は、図22の処理フローに示すよ
うに、先ず最初に、ステップ10で、負論理用シーケン
スプログラム35から1次元配列の順番に従って命令を
1つ取り出す。
【0103】続いて、ステップ11で、取り出した命令
がシーケンスプログラムの終了を示す終了命令であるの
か否かを判断して、終了命令でないことを判断するとき
には、ステップ12に進んで、取り出した命令の種別を
判断し、I/Oテーブル24の負論理領域/負論理用ラ
ダー演算回路21/負論理用演算レジスタ23/負論理
用インデックスレジスタ31/負論理用マクロリターン
アドレス格納レジスタ33/負論理用ALU29を処理
対象にして、その命令の実行を指示する。
【0104】続いて、ステップ13で、取り出した命令
の持つEフラグが行終了を表示しているのか否かを判断
して、行終了を表示していることを判断するときには、
ステップ14に進んで、負論理用ラダー演算回路21の
出力する1列分のラダー演算結果を得てからステップ1
0に戻り、行終了を表示していないことを判断するとき
には、ステップ14の処理を行わずにステップ10に戻
っていく。
【0105】そして、ステップ11で、取り出した命令
がシーケンスプログラムの終了を示す終了命令であるこ
とを判断するときには、シーケンス演算の終了を判断し
て、ステップ15に進んで、制御プログラム38に対し
てその旨を通知して、全処理を終了する。
【0106】制御プログラム38は、図21の処理フロ
ーのステップ4で、負論理用命令実行プログラム37を
起動し、続くステップ5で、負論理用命令実行プログラ
ム37の処理終了を待つときに、負論理用命令実行プロ
グラム37から処理終了の通知を受け取ると、ステップ
6に進んで、出力モジュール26を制御することで出力
リフレッシュを実行して、I/Oテーブル24に格納さ
れる外部出力用の最新のデータを外部機器に出力する。
【0107】このとき、出力モジュール26は、正論理
用シーケンスプログラム34の得る正論理の演算結果デ
ータと、負論理用シーケンスプログラム35の得る負論
理の演算結果データとを受けて、図12で示した構成に
従って、正論理の演算結果データと負論理の演算結果デ
ータとを比較して、両者がビット反転の関係にあること
を検出するときには、シーケンス制御装置1に異常がな
いことを判断して、正論理の演算結果データ(あるいは
負論理の演算結果データ)を出力し、一方、両者がビッ
ト反転の関係にないことを検出するときには、シーケン
ス制御装置1に異常が発生したことを判断して、前回正
常であると判断したときに出力した正論理の演算結果デ
ータ(あるいは負論理の演算結果データ)を更新しない
まま保持して、それをそのまま出力する。
【0108】制御プログラム38は、図21の処理フロ
ーのステップ6で出力リフレッシュを実行すると、続い
て、ステップ7で、シーケンス演算の終了要求が発行さ
れたのか否かを判断して、発行されていないことを判断
するときには、ステップ1に戻り、発行されたことを判
断するときには、全処理を終了する。
【0109】このようにして、図2に示す本発明のシー
ケンス制御装置1では、図22に示すように、正論理に
従ってシーケンス演算を実行するとともに、負論理に従
ってシーケンス演算を実行する構成を採って、その2つ
の演算結果を比較することで異常状態の発生を検出す
る。
【0110】このとき、上述したように、正論理のシー
ケンス演算に用いるアドレスと負論理のシーケンス演算
に用いるアドレスとが互いにビット反転するという構成
を採るとともに、正論理のシーケンスプログラムの格納
アドレスと負論理のシーケンスプログラムの格納アドレ
スとが互いにビット反転するという構成を採り、それに
加えて、正論理のシーケンスプログラムに記述されるプ
ログラムコードと負論理のシーケンスプログラムに記述
されるプログラムコードとが互いにビット反転するとい
う構成を採る。
【0111】この構成に従って、本発明のシーケンス制
御装置1によれば確実なフォルトトレーラントを実現で
きるようになる。
【0112】すなわち、電源電圧やノイズなどの影響を
受けて、ビットが「0→1」に化けたり、「1→0」に
化けることが起こるが、正論理で二重化する場合には、
共に、同じビット化けを起こすことで異常を検出できな
いことが起こるのに対して、本発明のシーケンス制御装
置1では、正論理と負論理とで異常発生の有無を判断す
る構成を採っているので、確実に異常を検出できるよう
になる。
【0113】更に、正論理と負論理とでアドレスをビッ
ト反転する構成を採っているので、アドレスの異常につ
いても確実に検出できるようになる。すなわち、正論理
のアドレスと負論理のアドレスとを変えることで異常発
生の有無を判断する構成を採っているので、正論理で二
重化する場合に比べて確実に異常を検出できるようにな
ることに加えて、このアドレスをビット反転する構成を
採っているので、正論理と負論理とでアドレスを連続さ
せるような構成を採るときに比べて、ビット化けを確実
に検出できるようになる。
【0114】同様に、正論理と負論理とでプログラムコ
ードをビット反転する構成を採っているので、プログラ
ムコードの異常についても確実に検出できるようにな
る。
【0115】しかも、正論理で二重化する場合には、I
/Oテーブル24を二重化するとともに、それに合わせ
て、バス幅を二重化しないときの2倍で構成しなければ
ならないのに対して、本発明のシーケンス制御装置1で
は、単一のI/Oテーブル24で実現できるとともに、
バス幅についても二重化しないときのままで済むので、
ハードウェア量の増加も抑えられることになる。
【0116】以上に説明した実施例では、正論理の演算
結果データと負論理の演算結果データとを比較すること
で異常を検出するという異常検出機能を最終段の出力モ
ジュール26に備える構成を採ったが、この異常検出機
能を出力モジュール26に到るまでの随所に備える構成
を採ってもよい。特に、I/Oテーブル24に格納され
る正論理の外部信号と負論理の外部信号とを比較するこ
とで異常を検出する構成を採ると、入力段で異常を検出
できるようになることから有効である。
【0117】
【発明の効果】以上説明したように、本発明のシーケン
ス制御装置では、正論理に従ってシーケンス演算を実行
するとともに、負論理に従ってシーケンス演算を実行す
る構成を採って、その2つの演算結果を比較することで
異常状態の発生を検出するとともに、正論理のシーケン
ス演算に用いるアドレスと負論理のシーケンス演算に用
いるアドレスとが互いにビット反転するというアドレス
的に最も遠い関係を持つようにすることで、ビット化け
が発生するときに、それを確実に検出できるようにする
構成を採ることから、装置規模の増加を抑えつつ、確実
なフォルトトレーラントを実現できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】ラダー演算回路の回路構成図である。
【図4】正論理用列サイクリック演算回路の回路構成図
である。
【図5】負論理用列サイクリック演算回路の回路構成図
である。
【図6】ラダー回路の説明図である。
【図7】シーケンスプログラムの説明図である。
【図8】シーケンスプログラムの説明図である。
【図9】演算レジスタの説明図である。
【図10】I/Oテーブルの説明図である。
【図11】入力モジュールの説明図である。
【図12】出力モジュールの説明図である。
【図13】シーケンスプログラムの説明図である。
【図14】ビット入力命令の説明図である。
【図15】ビット入力命令の説明図である。
【図16】ビット出力命令の説明図である。
【図17】ブリング命令の説明図である。
【図18】センド命令の説明図である。
【図19】ハードウェア演算命令の説明図である。
【図20】CPU命令の説明図である。
【図21】制御プログラムの処理フローである。
【図22】命令実行プログラムの処理フローである。
【図23】本発明の動作説明図である。
【符号の説明】 1 シーケンス制御装置 10 入力手段 11 I/Oテーブル手段 12 検出手段 13 第1のシーケンスプログラム 14 第2のシーケンスプログラム 15 第1のシーケンス演算手段 16 第2のシーケンス演算手段 17 保持手段 18 検出手段
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G05B 19/05 G06F 11/18

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 外部信号を読み込み、該外部信号に基づ
    きシーケンスプログラムに従ってシーケンス演算を実行
    するシーケンス制御装置において、外部信号を書き込むメモリ手段と、 指定されるアドレスの指す上記メモリ手段のメモリ領域
    に、外 部信号をそのまま入力するとともに、該アドレス
    のビット反転されたアドレスの指す上記メモリ手段のメ
    モリ領域に、該外部信号のビット反転値を入力する入力
    手段と、上記メモリ手段の所定のアドレス位置に格納される非
    転の外部信号と、そのアドレス位置のビット反転された
    アドレス位置に格納されるビット反転の外部信号とを比
    較することで、異常状態を検出する検出手段とを備える
    ことを、 特徴とするシーケンス制御装置。
  2. 【請求項2】 外部信号に基づきシーケンス演算を実行
    するシーケンス制御装置において、規定のビット値定義で記述される外 部信号を入力とし
    て、該ビット値定義で記述されるシーケンスプログラム
    に従って、シーケンス演算内容を規定するラダー回路に
    対してラダー演算を施すことにより、正論理に従うシー
    ケンス演算を実行する第1のシーケンス演算手段と、上記ビット値定義の逆のビット値定義で記述される外
    信号を入力として、該逆のビット値定義で記述されるシ
    ーケンスプログラムに従って、上記ラダー回路と同一の
    回路構成に従うラダー回路に対してラダー演算を施すこ
    とにより、負論理に従うシーケンス演算を実行する第2
    のシーケンス演算手段と、 上記第1のシーケンス演算手段の演算結果データと、上
    記第2のシーケンス演算手段の演算結果データとを比較
    する比較手段とを備えることを、 特徴とするシーケンス制御装置。
  3. 【請求項3】 請求項2記載のシーケンス制御装置にお
    いて、 第1のシーケンス演算手段の演算結果データの格納アド
    レスと、第2のシーケンス演算手段の演算結果データの
    格納アドレスとの間にビット反転の関係が成立するよう
    に構成されることを、 特徴とするシーケンス制御装置。
  4. 【請求項4】 請求項2記載のシーケンス制御装置にお
    いて、 正論理のシーケンスプログラムの格納アドレスと、負論
    理のシーケンスプログラムの格納アドレスとの間にビッ
    ト反転の関係が成立するように構成されることを、 特徴とするシーケンス制御装置。
  5. 【請求項5】 請求項2記載のシーケンス制御装置にお
    いて、 正論理のシーケンスプログラムに記述されるプログラム
    コードと、負論理のシーケンスプログラムに記述される
    プログラムコードとの間にビット反転の関係が成立する
    ように構成されることを、 特徴とするシーケンス制御装置。
JP15978898A 1998-06-09 1998-06-09 シーケンス制御装置 Expired - Fee Related JP3456894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15978898A JP3456894B2 (ja) 1998-06-09 1998-06-09 シーケンス制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15978898A JP3456894B2 (ja) 1998-06-09 1998-06-09 シーケンス制御装置

Publications (2)

Publication Number Publication Date
JPH11353011A JPH11353011A (ja) 1999-12-24
JP3456894B2 true JP3456894B2 (ja) 2003-10-14

Family

ID=15701291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15978898A Expired - Fee Related JP3456894B2 (ja) 1998-06-09 1998-06-09 シーケンス制御装置

Country Status (1)

Country Link
JP (1) JP3456894B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010262432A (ja) * 2009-05-01 2010-11-18 Mitsubishi Electric Corp 安全制御装置
JP6424473B2 (ja) * 2014-06-03 2018-11-21 大日本印刷株式会社 演算装置、演算方法、及び演算処理プログラム

Also Published As

Publication number Publication date
JPH11353011A (ja) 1999-12-24

Similar Documents

Publication Publication Date Title
KR900002604B1 (ko) 제어기억장치를 갖는 정보처리장치내의 에러회복 장치 및 방법.
US8725485B2 (en) Simulation method and simulation apparatus
WO2017146860A1 (en) Combining loads or stores in computer processing
JPH0552968B2 (ja)
JPS6231379B2 (ja)
JPH10232779A (ja) 命令並列処理方法及び装置
JP3456894B2 (ja) シーケンス制御装置
JP2812630B2 (ja) バッファ記憶装置のテスト方法およびテスト装置
JP4975586B2 (ja) 複数本のシーケンスプログラムを並列して実行可能なプログラマブルコントローラ
JPH07287998A (ja) テスト可能なメモリ・アレイ
US11928024B1 (en) Atomic correction of single bit errors within a memory
US20220206799A1 (en) Apparatus for Processor with Hardware Fence and Associated Methods
JP3164452B2 (ja) 複数パイプラインの試験方式
JP2808985B2 (ja) 情報処理装置及びデバッグ装置
JPH07182165A (ja) コミット条件付き命令の処理方法およびその装置
JP2924004B2 (ja) 命令コード転送方式
JP3171615B2 (ja) データ転送のリトライ制御方式
CN114168193A (zh) 一种指令处理方法、装置、系统及智能设备
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH07105001A (ja) 中央演算処理装置
JPS62269237A (ja) デ−タプロセツサ
JPH03259340A (ja) データ処理装置
JPH0234058B2 (ja)
JPH06259250A (ja) 情報処理装置
JPH0546389A (ja) 並列処理装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080801

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080801

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090801

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees