JP2003091301A - プログラマブル・コントローラのエラー防止方式 - Google Patents

プログラマブル・コントローラのエラー防止方式

Info

Publication number
JP2003091301A
JP2003091301A JP2001282878A JP2001282878A JP2003091301A JP 2003091301 A JP2003091301 A JP 2003091301A JP 2001282878 A JP2001282878 A JP 2001282878A JP 2001282878 A JP2001282878 A JP 2001282878A JP 2003091301 A JP2003091301 A JP 2003091301A
Authority
JP
Japan
Prior art keywords
instruction
rung
error
error flag
programmable controller
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.)
Pending
Application number
JP2001282878A
Other languages
English (en)
Inventor
Takashi Sato
隆史 佐藤
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.)
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
Original Assignee
Meidensha Corp
Meidensha Electric Manufacturing Co Ltd
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 Meidensha Corp, Meidensha Electric Manufacturing Co Ltd filed Critical Meidensha Corp
Priority to JP2001282878A priority Critical patent/JP2003091301A/ja
Publication of JP2003091301A publication Critical patent/JP2003091301A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Testing And Monitoring For Control Systems (AREA)
  • Safety Devices In Control Systems (AREA)
  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 演算エラーおよびオーバーフローエラーのチ
ェック機能を付加したプログラミングでは、ユーザの負
担が大きいし、プログラムが複雑になる。 【解決手段】 ラダー図を基にした接点命令を取り込み
(S1)、ラング内の命令実行でエラーが発生する恐れ
のある命令があるか否かをチェックし(S2)、エラー
が発生する恐れのある命令がある場合に当該ラングの先
頭にラング内エラーフラグを0にする命令を自動的に挿
入し(S3)、このラング内エラーフラグ命令を挿入し
たラングのライト命令にはラング内エラーフラグの0/
1の判定で命令実行の可否を決定する機能を自動的に付
加し(S4)、プログラム命令に展開する(S5)。プ
ログラマブル・コントローラは、ラング内エラーフラグ
命令がある場合、エラーフラグを0にしておいて各命令
を実行し、ライト命令の実行に際してエラーフラグが1
にある場合には命令実行を停止することで誤出力を防止
する。

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、プログラマブル・
コントローラに係り、特にラダー言語によるプログラミ
ングでのエラー防止方式に関する。 【0002】 【従来の技術】プログラマブル・コントローラ(PC)
は、その基本構成を図4にブロック図で示すように、プ
ログラムメモリ部1と、制御・演算部2と、入力部3お
よび出力部4で構成される。 【0003】この構成において、プログラマブル・コン
トローラは、ストアードプログラム方式が一般的に用い
られ、ローダ5によって作成したプログラムをプログラ
ムメモリ部1(データやフラグのメモリも含む)に転送
しておき、このプログラムメモリ部1に格納された命令
群を制御・演算部2が順次読み出し、このプログラムを
基に入力部3からの入力条件に応じた演算を行い、この
演算結果を制御出力として出力部4から出力する。 【0004】上記のプログラムを記述できるラダー言語
には、標準的に四則演算命令や変換命令(平方根、BC
D変換,BIN変換など)が用意されており、ユーザが
それらの命令を組み合わせることにより、プログラミン
グを行う。 【0005】プログラムのデータフォーマットとして
は、通常ビットデータ、ワードデータ(単精度型、倍精
度型、浮動小数点型)がある。ワードデータを使用する
場合、単精度型では−32768〜+32768、倍精
度型では−2147483648〜+21474836
48、浮動小数点型では−3.4×1038〜+3.4×1
38がデータとして扱えるが、演算中にこの範囲を超え
た場合、オーバーフローとなり正しい演算結果が得られ
ない。 【0006】また、変換命令では、BCD変換を例にと
ると、単精度の場合、変換前のデータが270F H(9
999)を越えた場合、BCD4桁で表せないため、エラ
ーとなり、正しい結果が得られない。 【0007】ユーザは、これらの事を理解した上で、誤
った演算結果を出力しないようにプログラムを組み込む
必要がある。 【0008】この誤出力防止対策としては、エラーフラ
グ、オーバーフローフラグを実行条件として命令に組み
込み、正常ならば実行するという方法が一般的に用いら
れる。このプログラム例を図5に示す。同図では接点シ
ーケンスにノットエラーフラグ接点を挿入しておくこと
で、エラーフラグ=0の場合のみライト命令(WT)を
実行可能にする。 【0009】 【発明が解決しようとする課題】前記のように、ユーザ
がプログラミングする上で、オーバーフローエラー、演
算エラーを考慮せずにプログラミングした場合には、誤
った結果がそのまま出力される危険性がある。 【0010】この対策として、エラーフラグやオーバー
フローフラグを命令に組み込む方式があるが、オーバー
フローフラグでは四則演算命令実行の度に書き換えられ
るものであり、演算が続くプログラムを組む場合の誤出
力保護に適さない。 【0011】また、エラーフラグでは、一度セットされ
ると、そのタスクが終了するまで保持されるため、ノッ
トエラーフラグを使用したプログラムは有効であるが、
同一タスクで1回でもエラーフラグが立つと、ノットエ
ラーフラグ接点を使用したラング全てが出力されないこ
ととなり、タスク全体に影響を及ぼす。 【0012】なお、エラーフラグを0に戻すためには、
エラーフラグコイルと言う命令があるが、シーケンス上
で見づらくなり、ステップ数もかかるため使用しにく
い。 【0013】本発明の目的は、上記の課題を解決したエ
ラー防止方式を提供することにある。 【0014】 【課題を解決するための手段】本発明は、前記の課題を
解決するため、ラダー図を基にした接点命令が入力され
たとき、ラング内の命令実行でエラーが発生する恐れの
ある命令がある場合に当該ラングの先頭にラング内エラ
ーフラグを0にする命令を自動的に挿入し、このラング
内エラーフラグ命令を挿入したラングのライト命令には
ラング内エラーフラグの0/1の判定で命令実行の可否
を決定する機能を自動的に付加しておくもので、以下の
構成を特徴とする。 【0015】ラダー図に従った各ラング毎の各接点命令
入力で作成したプログラムを、プログラマブル・コント
ローラのプログラムメモリ部に転送し、該プログラマブ
ル・コントローラの制御・演算部が演算エラーおよびオ
ーバーフローエラーのチェック機能を有して前記プログ
ラムを実行するプログラマブル・コントローラのエラー
防止方式において、前記各ラングの各接点命令の入力に
際して、当該ラング内の命令実行でオーバーフローや演
算エラーが発生する恐れのある命令がある場合に当該ラ
ングの先頭にラング内エラーフラグを0にする命令を自
動的に挿入する手段と、前記ラング内エラーフラグ命令
を挿入したラングのライト命令に、ラング内エラーフラ
グの0/1の判定で命令実行の可否を決定する機能を自
動的に付加する手段とを備え、前記プログラマブル・コ
ントローラの制御・演算部は前記ラング内エラーフラグ
命令がある場合、演算エラーフラグ、オーバーフローエ
ラーフラグを0にしておいて各命令を実行し、ライト命
令の実行に際してエラーフラグが1にある場合には命令
実行を停止することで誤出力を防止することを特徴とす
る。 【0016】 【発明の実施の形態】図1は、本発明の実施形態を示す
プログラム作成処理手順であり、ローダにおいてラダー
図からプログラム命令へ展開する部分である。 【0017】仕様書を基にして作成されたラダー図か
ら、ユーザがラング別にその構成要素となる各接点ロジ
ックをキー入力操作等で行い、この各接点ロジックをラ
ング別に順次取り込む(S1)。例えば、図2に示す接
点構成のラングの入力を取り込む。 【0018】ラングNの取り込みを終了したとき、当該
ラングN内の命令実行でオーバーフローや演算エラーが
発生する恐れのある命令があるか否かをチェックする
(S2)。このチェックは、例えば、単精度型データを
使用した場合の四則演算でのオーバーフローエラーやB
CD変換における演算エラーの発生など、従来からユー
ザがプログラミングにおいて想定しているエラー判断手
法を処理プログラムとして記述して実現される。 【0019】エラー発生の恐れがある命令が含まれてい
ない場合、入力されたラングNの各接命令をそのままプ
ログラム命令に展開する(S5)。 【0020】エラー発生の恐れがある命令が含まれてい
る場合、当該ラングNの先頭にラング内エラーフラグを
0にする命令を自動的に挿入する(S3)。 【0021】さらに、ラング内エラーフラグ命令を挿入
したラングNのライト命令(WT)にはラング内エラー
フラグの0/1の判定で命令実行の可否を決定する機能
を自動的に付加する(S4)。 【0022】これらラング内エラーフラグ命令及び命令
実行の可否を決定する機能を付加し、これら命令を含め
てプログラム命令に展開する(S5)。この展開例を図
3に示す。 【0023】上記までの処理を全てのラングについて終
了したとき(S6)、展開された各プログラム命令をプ
ログラムメモリ部にロードする(S7)。 【0024】このようにして入力されたプログラムは、
ローダからプログラムメモリ部1に転送され、制御・演
算部2により演算・制御が行われる。 【0025】制御・演算部2は、その演算・制御の実行
において、あるラングNの読み込みで、先頭にラング内
エラーフラグ命令がある場合、演算エラーフラグ、オー
バーフローエラーフラグを0にしておいて各命令を実行
する。四則演算命令や変換命令の実行で演算エラーまた
はオーバーフローエラーが発生した場合、このエラーフ
ラグを1にセットする。そして、ライト命令の実行に際
してエラーフラグが1にあるか否かを判定し、1にある
場合には命令実行を停止する。 【0026】したがって、ラダー言語によるプログラミ
ングに際して、ユーザはラダー図に従って、各接点命令
をそのまま入力していけば、エラー発生による誤出力を
防止したプログラミングができる。 【0027】例えば、図2のラングの入力にはそれにオ
ーバーフローエラーの発生の恐れがある場合にも、図5
に示すようなノットエラーフラグをユーザが入力しなく
とも、ローダ側で必要に応じて自動的にラング内エラー
フラグの挿入とエラーフラグ判定機能を挿入することが
できる。 【0028】また、ラング内エラーフラグ命令は、当該
ラング内の命令に演算エラーやオーバーフローエラーが
発生する恐れがあるラングについてのみ自動挿入するこ
とにより、全ラングに対するラング内エラーフラグの挿
入数を最小限にし、制御・演算部の演算速度低下を減ら
すことができる。 【0029】 【発明の効果】以上のとおり、本発明によれば、エラー
が発生する恐れのある命令がある場合に当該ラングの先
頭にラング内エラーフラグを0にする命令を自動的に挿
入し、このラング内エラーフラグ命令を挿入したラング
のライト命令にはラング内エラーフラグの0/1の判定
で命令実行の可否を決定する機能を自動的に付加してお
くようにしたため、以下の効果がある。 【0030】(1)ユーザは、オーバーフローエラー、
演算エラーを意識することなくエラー誤出力を防止した
プログラミングができる。 【0031】(2)ユーザは、プログラミングには従来
のノットエラーフラグ命令を入力操作する必要が無い
し、そのプログラムが見やすくなる。 【0032】(3)ラング単位でエラーを検出するた
め、エラーが発生する恐れがあるラングのみでエラー検
出処理を行うことになり、従来の方式に比べてエラー誤
出力のための命令数が少なくなり、制御・演算の処理速
度への影響が少ない。
【図面の簡単な説明】 【図1】本発明の実施形態を示すプログラム作成処理手
順。 【図2】実施形態におけるラダー図の例。 【図3】実施形態におけるプログラムメモリ展開図。 【図4】プログラマブル・コントローラのブロック図。 【図5】従来のノットエラーフラグを挿入したラダー図
の例。 【符号の説明】 1…プログラムメモリ部 2…制御・演算部 3…入力部 4…出力部 5…ローダ
フロントページの続き Fターム(参考) 5H209 CC03 EE18 HH04 HH10 JJ03 JJ09 5H220 BB03 BB10 BB12 CC08 CX01 DD04 EE07 EE14 JJ28 JJ42 JJ57 JJ59 KK08 5H223 CC03 CC08 DD01 EE19

Claims (1)

  1. 【特許請求の範囲】 【請求項1】 ラダー図に従った各ラング毎の各接点命
    令入力で作成したプログラムを、プログラマブル・コン
    トローラのプログラムメモリ部に転送し、該プログラマ
    ブル・コントローラの制御・演算部が演算エラーおよび
    オーバーフローエラーのチェック機能を有して前記プロ
    グラムを実行するプログラマブル・コントローラのエラ
    ー防止方式において、 前記各ラングの各接点命令の入力に際して、当該ラング
    内の命令実行でオーバーフローや演算エラーが発生する
    恐れのある命令がある場合に当該ラングの先頭にラング
    内エラーフラグを0にする命令を自動的に挿入する手段
    と、 前記ラング内エラーフラグ命令を挿入したラングのライ
    ト命令に、ラング内エラーフラグの0/1の判定で命令
    実行の可否を決定する機能を自動的に付加する手段とを
    備え、 前記プログラマブル・コントローラの制御・演算部は前
    記ラング内エラーフラグ命令がある場合、演算エラーフ
    ラグ、オーバーフローエラーフラグを0にしておいて各
    命令を実行し、ライト命令の実行に際してエラーフラグ
    が1にある場合には命令実行を停止することで誤出力を
    防止することを特徴とするプログラマブル・コントロー
    ラのエラー防止方式。
JP2001282878A 2001-09-18 2001-09-18 プログラマブル・コントローラのエラー防止方式 Pending JP2003091301A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001282878A JP2003091301A (ja) 2001-09-18 2001-09-18 プログラマブル・コントローラのエラー防止方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001282878A JP2003091301A (ja) 2001-09-18 2001-09-18 プログラマブル・コントローラのエラー防止方式

Publications (1)

Publication Number Publication Date
JP2003091301A true JP2003091301A (ja) 2003-03-28

Family

ID=19106464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001282878A Pending JP2003091301A (ja) 2001-09-18 2001-09-18 プログラマブル・コントローラのエラー防止方式

Country Status (1)

Country Link
JP (1) JP2003091301A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122687A (ja) * 2011-12-12 2013-06-20 Nippon Steel & Sumitomo Metal プログラマブルロジックコントローラによる最小自乗パラメータ演算方法、プログラマブルロジックコントローラ及びそのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013122687A (ja) * 2011-12-12 2013-06-20 Nippon Steel & Sumitomo Metal プログラマブルロジックコントローラによる最小自乗パラメータ演算方法、プログラマブルロジックコントローラ及びそのプログラム

Similar Documents

Publication Publication Date Title
KR101249693B1 (ko) 서브루틴 복귀 메카니즘 선택
JP2003091301A (ja) プログラマブル・コントローラのエラー防止方式
JP2003015958A (ja) ライトプロテクト方法
JPH0695971A (ja) データ保存回路
JPS6049937B2 (ja) マイクロプログラム制御のデ−タ処理装置
JP2731047B2 (ja) プログラムのオペランドチェック方式
WO1988006751A1 (en) Processor for plc and plc
JPH0233173B2 (ja)
JP2762665B2 (ja) プログラマブルコントローラのブログラミング装置
JP2001350508A (ja) プログラマブルコントローラ
JPS5842487B2 (ja) プログラムのロ−デイング方式
JP2506199B2 (ja) 電子機器
JP2559924B2 (ja) プログラマブルコントローラ
JPH01123344A (ja) 記録媒体のチェック方法
JPH0628015A (ja) プログラマブルコントローラ
JPH01187640A (ja) 未設定領域検出方式
JPS58158747A (ja) プログラマブル・コントロ−ラ
JPH03296146A (ja) プログラム開発支援装置
JPS61223952A (ja) デ−タ処理装置のリトライ機能確認方式
JPS59129995A (ja) 記憶装置
JPH0381836A (ja) プログラム異常検出方法
JPS6261974B2 (ja)
JPS61278953A (ja) Ramのエラ−チエツク方法
JPH1139159A (ja) 計算機システム
JPH0423001A (ja) 産業用機械の制御装置