JPH04215106A - プログラマブルコントローラ - Google Patents
プログラマブルコントローラInfo
- Publication number
- JPH04215106A JPH04215106A JP40195190A JP40195190A JPH04215106A JP H04215106 A JPH04215106 A JP H04215106A JP 40195190 A JP40195190 A JP 40195190A JP 40195190 A JP40195190 A JP 40195190A JP H04215106 A JPH04215106 A JP H04215106A
- Authority
- JP
- Japan
- Prior art keywords
- subroutine
- program
- sequence
- instruction
- execution
- 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.)
- Granted
Links
- 230000002159 abnormal effect Effects 0.000 claims abstract description 6
- 230000005856 abnormality Effects 0.000 abstract description 5
- 238000000034 method Methods 0.000 description 15
- 102100036464 Activated RNA polymerase II transcriptional coactivator p15 Human genes 0.000 description 10
- 101000713904 Homo sapiens Activated RNA polymerase II transcriptional coactivator p15 Proteins 0.000 description 10
- 229910004444 SUB1 Inorganic materials 0.000 description 10
- 229910004438 SUB2 Inorganic materials 0.000 description 5
- 101100311330 Schizosaccharomyces pombe (strain 972 / ATCC 24843) uap56 gene Proteins 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 101150018444 sub2 gene Proteins 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011017 operating method Methods 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
Abstract
め要約のデータは記録されません。
Description
を実行したときにサブルーチンプログラムに対する演算
の異常を検出する機能を有するプログラマブルコントロ
ーラに関する。
ーチンプログラムの実行時の異常を検出する機能を有す
るプログラマブルコントローラでは、メインルーチンへ
の中央処理装置(CPU)内のスタック領域に格納され
たサブルーチンの戻り番地を異常検出のために参照して
いる。
ではスタック領域に他種の情報をも書き込むために、ス
タック領域内における戻り先番地の格納位置が移動(プ
ッシュ)されてしまう。このため、他種の情報をスタッ
ク領域に書き込むときに上記戻り先番地をスタック領域
から読出し、汎用レジスタに記憶する処理が必要であり
、この処理を指示するプログラム命令の分だけシーケン
スプログラムの容量が増大するという不具合があった。
明する。
するシーケンスプログラムの一例を示す。
実行可能な機械語に翻訳する際に、またはユーザ自身が
中間語のシーケンスプログラムを作成する際に、メイン
ルーチンMAIN内に記載されたサブルーチン実行命令
PP2の前に、入出力パラメータにより逆算要求を行う
ためのプログラム命令PP1が挿入される。
きには次に移動するサブルーチンプログラムにおいて、
スタック領域に通常のデータ格納を行うこと、すなわち
、サブルーチンの戻り番地のスタック領域の格納位置の
変更があることを表わす。
にデータを格納する命令PP3,PP7の後には上記入
力パラメータのオン/オフを確認し、サブルーチンの戻
り番地の格納されたスタック領域のアドレスを逆算し、
サブルーチンの戻り番地を読出し、汎用レジスタに書き
込む旨を指示するプログラム命令(図6のPP4,PP
5,PP8,PP9)が挿入される。
実行するときのCPUの動作手順をプルグラム命令毎に
説明する。
AINにおいて、サブルーチンSUB1を実行(CAL
L)する際に、戻り番地逆算要求を示すオンの入力パラ
メータがCPU内のレジスタにセットされる。
命令CALL SUBにより周知のシステム動作して
CPUはスタック領域4にサブルーチンSUB1のメイ
ンルーチンへの戻り番地を格納し、実行手順をサブルー
チンSUB1に移す。
令によりCPU内のスタック領域にレジスタReg.1
のデータが格納される。
オンに設定されているのでこの判定処理は肯定判定が得
られ、次のプログラム命令の番地逆算の処理に移る。
の値より、サブルーチンSUB1についての戻り番地が
格納されているスタック領域アドレス(すなわち図7の
符号Aの位置)を逆算し、次にこのアドレスからサブル
ーチンSUB1の戻り番地情報を読出し、CPU内の汎
用レジスタReg.0にセーブ(記憶)しておく(図7
,8参照)。
命令CALL SUB2により、スタック領域にサブ
ルーチンSUB2の戻り番地が格納され(図6参照)、
サブルーチンSUB2に実行手順が移る。
令によりレジスタReg.2をセーブ(PUSH)して
いるので、スタック領域にレジスタReg.2のデータ
が格納される。
B2についての戻り番地逆算要求プログラムに記載され
ていないので、実行手順は逆算の処理に移らず飛び越す
。
B1の戻り番地を使用したエラー検出処理をするため、
先ほどセーブした汎用レジスタReg.0により、戻り
番地を参照する。
グラム)をネスト的に実行する際に、第2番目のサブル
ーチンにおいて、メインルーチンに対する戻り番地を知
るためには、プログラム命令PP1,3,4,8,9を
シーケンスプログラム内に挿入しておかなければならな
い。また、メインプログラム上のサブルーチンの実行回
数が増える程その実行回数分だけプログラム命令PP1
は必要となる。
実行エラー処理を検出する場合、シーケンスプログラム
の容量が増大するという不具合があった。
鑑みて、シーケンスプログラムの容量を従来よりも短縮
し、かつ、サブルーチンの戻り番地を記憶しておくこと
ができるプログラマブルコントローラを提供することに
ある。
るために、本発明は、サブルーチンの実行異常を検出す
る機能を有するプログラマブルコントローラにおいて、
前記実行異常の検出のためにサブルーチンの戻り先番地
を示す情報を専用的に記憶する記憶手段と、シーケンス
プログラムに記載された実行対象の第1プログラム命令
の種類内容を識別する識別手段と、サブルーチンの実行
を指示する第2プログラム命令であって、かつ、当該サ
ブルーチンの戻り先番地の記憶を指示する第2プログラ
ム命令を予め定め、前記実行対象の第1プログラム命令
が当該第2プログラム命令であると前記識別手段により
識別されたときは、当該第1プログラム命令の示すサブ
ルーチンに対する戻り先番地を前記記憶手段に書き込む
書き込み手段とを具えたことを特徴とする。
ーチン実行命令をシーケンスプログラムに記載しておく
だけで、シーケンスプログラムの実行時に書き込み手段
により自動的にサブルーチンの戻り先情報が記憶手段に
書き込まれる。
に説明する。
サブルーチンの実行異常を検出する機能を有するプログ
ラマブルコントローラである。
出のためにサブルーチンの戻り先番地を示す情報を専用
的に記憶する記憶手段である。
た実行対象の第1プログラム命令の種類内容を識別する
識別手段である。
2プログラム命令であって、かつ、当該サブルーチンの
戻り先番地の記憶を指示する第2プログラム命令を予め
定め、前記実行対象の第1プログラム命令が当該第2プ
ログラム命令であると前記識別手段により識別されたと
きは、当該第1プログラム命令の示すサブルーチンに対
する戻り先番地を前記記憶手段に書き込む書き込み手段
である。
ルコントローラの主要回路の構成を示す。
ログラムメモリ20がバスに共通接続されている。
、ユーザプログラムメモリ20に格納されたシーケンス
プログラムをシーケンス命令単位で読出し、内部の演算
回路10−1によりシーケンス命令で規定されたシーケ
ンス演算を実行する。
令であるときは、従来同様そのサブルーチンの戻り先番
地がスタック領域10−2に記憶され、同時に、本発明
に関わる専用レジスタ領域10−3にもサブルーチンの
戻り先番地が記憶される。
手段として動作する。
ラムの実行手順を図4を参照して説明する。
手順を示し、CPU10内または外部のシステムプログ
ラムメモリに予め格納されている。
は従来例と同一内容の図3のプログラムを用いるが、次
の点が従来のシーケンスプログラムと異なる。
に指示するサブルーチン実行命令“CALLS+「サブ
ルーチン名」”を従来のサブルーチン実行命令“CAL
L+「サブルーチン名」”とは別個に定め、サブルーチ
ンの実行異常を検出したいときにはこの新サブルーチン
実行命令をシーケンスプログラムにおいて用いる。
実行するために、CPU10は、図4において、プログ
ラムカウンタの示す読出しアドレスをユーザプログラム
メモリ20の先頭アドレスに設定し、先頭のシーケンス
命令を読出す(ステップS10→S20)。
命令を、予め種類内容の判別している各種シーケンス命
令とコード比較する。この比較により、読出しのシーケ
ンス命令の中の“CALLS”を含むサブルーチン実行
命令を識別する(ステップS30)。このときのCPU
10が本発明の識別手段として動作する。
シーケンス命令はサブルーチン命令ではないので、CP
U10の実行手順はステップS30→S80の順序で進
み、従来同様そのシーケンス命令の指示する処理がCP
U10において実行される。次に、プログラムカウンタ
が更新されて次のシーケンス命令がユーザプログラムメ
モリ20から読出される(ステップS90→S70→S
20)。
シーケンスプログラムをシーケンス命令の記載順に実行
してゆくと、メインルーチン中のサブルーチン実行命令
“CALLS SUB1”がステップS30で検出さ
れる。
在の計数値に“1”を加えた値をサブルーチンの戻り先
番地としてスタック領域に書き込む(ステップS40)
。このスタック領域10−2の戻り先番地情報はサブル
ーチン実行後、実行手順をメインルーチンに復帰させる
際に用いられる。これら処理手順は周知のため詳細な説
明を省略する。
用レジスタ領域のレジスタReg.0に格納する(ステ
ップS50)。このときのCPU10が本発明の書き込
み手段として動作する。次にCPU10はシーケンス命
令の示す識別名に基づきプログラムカウンタの計数値を
ユーザプログラムメモリ20上のサブルーチンSUB1
の先頭格納アドレスに設定してサブルーチンSUB1の
先頭のシーケンス命令を読出す(ステップS60→S7
0→S20)。
B1,SUB2はCPU10では従来同様の処理手順に
より演算実行される(ステップS30→S80→S90
→S70→S20のループ処理)。
ブルーチンSUB1の戻り番地を使用する処理を行う場
合は、CPU10は専用レジスタ領域10−3のレジス
タReg.0を読出し、参照する。
実行し、ユーザプログラムメモリ20の全てのシーケン
ス命令を読出し実行すると、1回のシーケンス演算を終
了する(ステップS70)。
はユーザは戻り番地を記憶させたいサブルーチンについ
ては“CALLS”のサブルーチン実行命令を記載して
おくだけでよい。本実施例ではサブルーチンの実行エラ
ーの検出に際し、従来のように、スタック領域の戻り番
地を使用しないので、スタック領域の格納位置の移動に
伴う戻り番地の再格納処理も不要となる。
地を専用レジスタに格納しているが、処理速度の遅延を
許せばCPU10内の汎用レジスタや外付きのメモリに
戻り番地を専用的に格納するようにしてもよい。
プログラム)を実行するCPU10により識別手段を構
成しているが、シーケンス命令をユーザプログラムメモ
リ20から読出したときに、デコーダによりシーケンス
命令の内容を識別してもよい。
命令“CALLS”をメインルーチンMAIN上におい
て用いる例を示したが、サブルーチン上においても用い
てもよく、この場合図5に示すように、サブルーチンの
分岐回数に対応させて戻り先番地を累積的にレジスタ領
域10−3に格納する。
、サブルーチンの戻り番地を記憶する指示を付加したサ
ブルーチン実行命令を新たに定め、この命令を実行する
手段を設けたので、従来のようにスタック領域の戻り番
地情報を用いる必要がなくなる。この結果、スタック領
域の情報の格納位置の移動に伴う戻り番地情報の再記憶
のための複数のプログラム処理命令をシーケンスプログ
ラムに記載する必要がなくなり、シーケンスプログラム
の容量を従来よりも縮小化することができる。さらに、
シーケンスプログラムの縮小に伴ってプログラムメモリ
を小型化でき、シーケンス演算時間も短縮することがで
きるという効果も得られる。
る。
る。
示すフローチャートである。
である。
である。
ローチャートである。
である。
す説明図である。
Claims (1)
- 【請求項1】 サブルーチンの実行異常を検出する機
能を有するプログラマブルコントローラにおいて、前記
実行異常の検出のためにサブルーチンの戻り先番地を示
す情報を専用的に記憶する記憶手段と、シーケンスプロ
グラムに記載された実行対象の第1プログラム命令の種
類内容を識別する識別手段と、サブルーチンの実行を指
示する第2プログラム命令であって、かつ、当該サブル
ーチンの戻り先番地の記憶を指示する第2プログラム命
令を予め定め、前記実行対象の第1プログラム命令が当
該第2プログラム命令であると前記識別手段により識別
されたときは、当該第1プログラム命令の示すサブルー
チンに対する戻り先番地を前記記憶手段に書き込む書き
込み手段とを具えたことを特徴とするプログラマブルコ
ントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP40195190A JP2853774B2 (ja) | 1990-12-13 | 1990-12-13 | プログラマブルコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP40195190A JP2853774B2 (ja) | 1990-12-13 | 1990-12-13 | プログラマブルコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04215106A true JPH04215106A (ja) | 1992-08-05 |
JP2853774B2 JP2853774B2 (ja) | 1999-02-03 |
Family
ID=18511768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP40195190A Expired - Fee Related JP2853774B2 (ja) | 1990-12-13 | 1990-12-13 | プログラマブルコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2853774B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040996A (ja) * | 2006-08-10 | 2008-02-21 | Meidensha Corp | プログラマブルコントローラ |
JP5460928B1 (ja) * | 2013-03-06 | 2014-04-02 | 三菱電機株式会社 | プログラマブルコントローラ、プログラマブルコントローラシステムおよび実行エラー情報作成方法 |
-
1990
- 1990-12-13 JP JP40195190A patent/JP2853774B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008040996A (ja) * | 2006-08-10 | 2008-02-21 | Meidensha Corp | プログラマブルコントローラ |
JP5460928B1 (ja) * | 2013-03-06 | 2014-04-02 | 三菱電機株式会社 | プログラマブルコントローラ、プログラマブルコントローラシステムおよび実行エラー情報作成方法 |
KR20150096478A (ko) | 2013-03-06 | 2015-08-24 | 미쓰비시덴키 가부시키가이샤 | 프로그래머블 컨트롤러, 프로그래머블 컨트롤러 시스템 및 실행 에러 정보 작성 방법 |
CN105009006A (zh) * | 2013-03-06 | 2015-10-28 | 三菱电机株式会社 | 可编程控制器、可编程控制器系统及执行错误信息生成方法 |
CN105009006B (zh) * | 2013-03-06 | 2017-04-05 | 三菱电机株式会社 | 可编程控制器、可编程控制器系统及执行错误信息生成方法 |
US9753444B2 (en) | 2013-03-06 | 2017-09-05 | Mitsubishi Electric Corporation | Programmable controller, programmable controller system, and method of creating execution error information |
Also Published As
Publication number | Publication date |
---|---|
JP2853774B2 (ja) | 1999-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2526688B2 (ja) | プログラマブルコントロ―ラおよびシ―ケンスプログラムの部分実行方法 | |
US4462086A (en) | Loading system in numerical controller | |
JPH10214203A (ja) | 情報処理装置 | |
JPH04215106A (ja) | プログラマブルコントローラ | |
JP2754899B2 (ja) | デバック装置のリターンアドレス監視回路 | |
JP2658342B2 (ja) | データ処理装置 | |
JP3186214B2 (ja) | 繰り返し演算方法および装置 | |
JPS5822765B2 (ja) | 電子計算機システムにおけるプログラムロ−ド方式 | |
JPH03208132A (ja) | シングルチツプマイクロコンピユータ | |
JPS58158747A (ja) | プログラマブル・コントロ−ラ | |
JPS6270947A (ja) | デバグ割込み制御方式 | |
JPH1139897A (ja) | デジタル記憶手段の記憶データ検査方法 | |
JPH01207840A (ja) | プログラム評価用制御装置 | |
JPH064356A (ja) | ソフトウエアの異常動作検出方式 | |
JPS6240550A (ja) | プログラムデバツク装置 | |
JPH03127126A (ja) | 情報処理装置 | |
JPH04286042A (ja) | メモリテストにおけるデータの保護方法 | |
GB2300496A (en) | Data processing system | |
KR930014003A (ko) | 실시간 운영체계에서의 운영체계와 사용자 프로그램의 정합 방법 | |
JPH02242444A (ja) | 情報処理装置のデバッグ機構 | |
JPS6349943A (ja) | 演算処理装置 | |
JPH09146793A (ja) | プログラム評価の方法および装置 | |
JPS6140648A (ja) | ブレ−クポイント設定装置 | |
JPS59158449A (ja) | デバツグ装置 | |
JPH0253146A (ja) | プログラム・トレース方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071120 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081120 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091120 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091120 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101120 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |