JPH1031506A - 複数回書込検出可能なプログラマブルコントローラ - Google Patents

複数回書込検出可能なプログラマブルコントローラ

Info

Publication number
JPH1031506A
JPH1031506A JP8203098A JP20309896A JPH1031506A JP H1031506 A JPH1031506 A JP H1031506A JP 8203098 A JP8203098 A JP 8203098A JP 20309896 A JP20309896 A JP 20309896A JP H1031506 A JPH1031506 A JP H1031506A
Authority
JP
Japan
Prior art keywords
memory
address
program
interrupt
user program
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
JP8203098A
Other languages
English (en)
Inventor
Takashi Mishina
隆 三品
Yasushi Nakasone
康 中曾根
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.)
Toyo Electric Manufacturing Ltd
Original Assignee
Toyo Electric Manufacturing 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 Toyo Electric Manufacturing Ltd filed Critical Toyo Electric Manufacturing Ltd
Priority to JP8203098A priority Critical patent/JPH1031506A/ja
Publication of JPH1031506A publication Critical patent/JPH1031506A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Control By Computers (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】PLC内で複数回書込検出のための技術的手段
を講じたプログラマブルコントローラを提供することに
ある。 【解決手段】ユーザが使用するデバイスメモリの物理ア
ドレスを設定するためのアドレス設定手段2と、マイク
ロプロセッサバス8のアドレスライン信号を前記アドレ
ス設定手段によって設定されたデバイスメモリの物理ア
ドレスとを比較し、前記デバイスメモリに書込み動作が
行われた事を検出するためのアドレス比較手段3と、前
記書込み動作検出信号によってマイクメプロセッサ(以
下MPUと称す)に割込信号を発生するための割込発生
手段4と、MPUが割込処理を実行することにより、ユ
ーザプログラムの1サイクル内に設定したリレー、レジ
スタにメモリ書込割込が発生した場合の発生回数、ユー
ザプログラムの実行アドレスをランダムアクセスメモリ
内に記憶し、PCから確認することを可能とした。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はプロセス制御に使用
されるプログラマブルコントローラ(以降PLCとい
う)のテバッグ支援の改良に関するものである。
【0002】
【従来の技術】PLCにおいて、ユーザプログラムはP
LCの種々の機能を有したリレー、レジスタに対し、任
意に読込みおよび書込みを行う。この場合、ユーザプロ
グラムで同一のリレー、レジスタに対し、複数のプログ
ラム実行アドレスから書込みを行なうことがある。従
来、プログラム開発時に開発支援用コンソール、例えば
パソコン(以降PCという)でプログラムの二重コイル
チエックの検索を行ない、同一リレー、レジスタへの複
数回書込みを禁止する方法等がとられてきた。しかしな
がら、インデックス命令やジャンプ命令を使用したプロ
グラムの場合、実行時の実態にあった検索が出来ない、
また不具合発生のメカニズムを検出することが出来ない
といった欠点があった。
【0003】
【発明が解決しようとする課題】従来PCにリレー、レ
ジスタの名称を入力し、ユーザプログラムを検索するこ
とによって指定のリレー、レジスタ書込み個所をリスト
アップして複数回書込みを確認してきた。しかしなが
ら、リストアップされた情報はユーザプログラムのプロ
グラム情報から機械的に照合したものであり、インデッ
クスレジスタを使用した間接書込みプログラムやジャン
プ命令等でプログラムスキップする場合は、実行条件に
よりレジスタ内容や実行経路が異なり実行時の実体を把
握することができなかった。
【0004】さらに、PLCのユーザプログラムはリレ
ーの接点やコイルを記述するラダープログラムのほかに
数値演算を含んだ場合が一般的になってきており、この
場合、数値の移動や代入を行うため、PCで複数回書込
みのプログラムをあらかじめ禁止してしまうと、プログ
ラム作成上支障をきたしてしまう。また検索する場合、
PLCにロードされているユーザプログラムをすべてP
Cに逆ロードし、検索するため時間が掛かり、ユーザプ
ログラムの開発効率を下げる原因となっていた。
【0005】
【課題を解決するための手段】本発明は、前記の課題を
解決すべく、PLC内で複数回書込検出のための技術的
手段を講じたプログラマブルコントローラを提供するこ
とにある。つまり、その目的を達成するための手段は、
ユーザが使用するデバイスメモリの物理アドレスを設定
するためのアドレス設定手段2と、マイクロプロセッサ
バス8のアドレスライン信号を前記アドレス設定手段に
よって設定されたデバイスメモリの物理アドレスとを比
較し、前記デバイスメモリに書込み動作が行われた事を
検出するためのアドレス比較手段3と、前記書込み動作
検出信号によってマイクロプロセッサ(以下MPUと称
す)に割込信号を発生するための割込発生手段4と、M
PUが割込処理を実行することにより、ユーザプログラ
ムの1サイクル内に設定したリレー、レジスタにメモリ
書込割込が発生した場合の発生回数、ユーザプログラム
の実行アドレスをランダムアクセスメモリ内に記憶し、
PCから確認することを可能とした。
【0006】以下、その作用について説明する。本発明
を適用するPLCにおいて、図2に示すように、”b0
0100”と呼ばれるレジスタに対し書込み命令を実行
しているユーザプログラムの実行アドレスを検索する場
合について述べる。ユーザは、まずPCをPLCに接続
し、コンソールにおいて検索するレジスタの名称”b0
0100”をキー入力する。これにより、複数回書込検
索用プログラムはレジスタ”b00100”の物理アド
レスを演算し、PLCの複数回書込検索アドレス設定用
レジスタに演算したアドレスを設定する。
【0007】PLC内のMPUは、ユーザプログラムの
実行開始直前にメモリ書込割込の発生回数を記憶するカ
ウンタをクリアし、前記アドレス設定手段に複数回書込
検索アドレスを設定し、割込発生手段4を割込イネーブ
ルとする。ユーザプログラムで1サイクル実行中におい
て設定されたアドレスのレジスタに書込命令を実行する
と、PLC内MPUはマイクロプロセッサバスに対し、
レジスタの物理アドレス信号のデータ書込み信号パルス
を発生する。アドレス比較手段3は物理アドレス信号と
アドレス設定手段2によって設定されたアドレスと比較
しており、比較結果の一致と書込み信号パルスの発生の
AND条件により割込発生手段4に伝達する。
【0008】割込信号発生手段4に伝達された信号はM
PUからの割込イネーブル/ディセーブルの状態に応じ
てイネーブルであれば割込信号を発生し、MPUは割込
みを受け付ける。MPUが割込みを受け付けると、割込
プログラム内ではMPUが現在実行中のユーザプログラ
ムの実行アドレスとMPUのステータスレジスタをラン
ダムアクセスメモリ6内にあるスタックレジスタにプッ
シュし、前記スタックレジスタ退避したユーザプログラ
ム実行アドレスをメモリ書込割込発生アドレスメモリに
記憶するが、本メモリは複数回分のアドレスを記憶する
ためメモリ配列構造となっており、前記カウンタの値で
ポイントされた位置に記憶する。記憶後、カウンタに1
を加算することにより次回分記憶のための準備としてい
る。
【0009】これらの処理を終了の後、スタツクレジス
タから一次退避中のユーザプログラムの実行アドレスを
ポップして、割込発生直前のユーザプログラムから再開
する。ユーザプログラム再開後、再度、同一のレジスタ
に対し書込みが行われれば、同様の割込が発生し、メモ
リ書込割込発生回数カウンタは1ずつ加算されていく。
【0010】また、PCシステムソフト相互間で検索の
開始,終了を認識するためのフラグを設ける。PCの複
数回書込検索用プログラムは、前記検索終了条件を認識
し、検索中に何回の割込が発生したかまた発生したアド
レスをプログラム上の物理アドレスからユーザプログラ
ムのプログラム所在個所情報に変換し、開発支援用コン
ソール上に表示し検索作業を終了する。
【0011】
【発明の実施の形態】以下、本発明のPCの一実施例を
図面に基づいて詳述する。図1は本発明の一実施例を示
す全体構成ブロック図、図2は本実施例PCにおけるリ
ードオンリメモリおよびランダムアクセスメモリのメモ
リマップ図を示す。図1および図2において、MPU
と、ユーザが使用するデバイスメモリの物理アドレスを
設定するためのアドレス設定手段2と、マイクロプロセ
ッサバス8のアドレスライン信号と前記アドレス設定手
段2を比較し、デバイスメモリに書込み動作が行われた
事を検出するためのアドレス比較手段6と、書込み動作
検出信号によってMPU1に割込信号を発生するための
割込発生手段4と、割込信号によってMPU1が実行す
る割込プログラムとユーザプログラムの実行を管理する
ためのシステムプログラムを格納したリードオンリメモ
リ5と、ユーザプログラムとデバイスメモリとシステム
プログラムがユーザプログラムの実行を管理するために
必要なシステムメモリとスタックメモリを格納するため
ランダムアクセスメモリ6とPLCが制御する外部I/
Oモジュールと、ユーザプログラムを開発支援するPC
との接続を行うための外部I/Fとを具備し、設定した
デバイスメモリにメモリ書込割込が発生した場合、リー
ドオンリメモリ内の割込プログラムにおいて、ユーザプ
ログラムの1サイクル内の発生回数、ユーザプログラム
の実行アドレスをランダムアクセスメモリ内のメモリに
記憶し、これをPCにユーザプログラム中の所在個所を
表示することにある。
【0012】プロセッサ制御に必要な制御プログラムで
あるユーザプログラムは、ランダムアクセスメモリ6の
内部におかれ、PCにて作成された後、ユーザプログラ
ム領域6dにロードされ、ランダムアクセスメモリ6の
デバイスメモリ利用域6c内部におかれたレジスタを使
用してプロセスを制御する。PCはPLCに接続され、
レジスタ”b00100”についてメモリ書込み命令を
実行しているユーザプログラムの実行アドレスを検索す
る場合検索するレジスタ”b00100”の名称をキー
入力する。PCの複数回書込検索用プログラムは、レジ
スタ”b00100”の物理アドレスを算出し、図2に
示す404000(H)番地を得たものとする。
【0013】複数回書込検索用プログラムは、物理アド
レス404000(H)番地の情報をPLC内ランダム
アクセスメモリ”MW−ADR”に書込みさらに”MW
−FLG”に1を書込むことにより、PCから複数回書
込検索開始をPLCに指令する。
【0014】図3はPLC内リードオンメモリ5に書込
まれたシステムプログラムのフローチャート図、図4は
割込プログラムのフローチャート図である。図3,4に
おいて、一定時間の周期でユーザプログラムを実行する
様に組まれており、ユーザプログラムを1サイクル実行
する度に前記”MW−FLG”が1となったかチェック
している。すなわち、メインプログラムフローにおい
て、電源オン(a)後、”MW−FLG”は初期化処理
(b)にて0とし、実行開始イベント(c)の判定が行
われ、MW−FLGは1か否かdを検索し、コンソール
により1になった場合複数回書込検索開始指令として認
識される。MW−FLGが1でない場合はMW−CNT
はクリアされず、ユーザプログラム1サイクル実行
(g)に移る。
【0015】本指令が認識された場合、ランダムアクセ
スメモリ6内”MW−CNT”をクリア(e)し、”M
W−ADR”にセットされているメモリ書込割込アドレ
スをアドレス設定手段2に設定し、本割込ステータスを
割込イネーブル(f)とし、ランダムアクセスメモリ6
の内部におかれたユーザプログラムを先頭番地から実行
する。
【0016】ユーザプログラムを1サイクル実行(g)
する中で、”MW−ADR”で設定されたレジスタに対
する書込命令を実行すると、PLC内MPU1はマイク
ロプロセッサバス8に対し、レジスタの物理アドレス信
号404000(H)とメモリ書込信号パルスを発生す
る。この時アドレス比較手段3は物理アドレス信号40
4000(H)とアドレス設定2によって設定されてい
るアドレス404000(H)と比較し、一致した結果
をメモリ書込信号パルスに同期したタイミングで割込発
生手段4に伝達された信号は、割込ステータス信号によ
ってゲートされており、複数回書込検索中でかつユーザ
プログラムが1サイクル実行中はイネーブルとなってい
るので、MPU1に割込を発生させる。
【0017】MPU1が、割込を受け付けると、割込の
種類毎に記述された割込プログラムに制御が移行される
が、図2のメモリマップのリードオンリメモリの割込プ
ログラムのうち、メモリ書込割込プログラム処理を行
う。この時、MPU1は、現在実行中のユーザプログラ
ムのプログラムカウンタ(プログラム実行アドレス)を
スタックメモリ領域6aに退避する。図2の”MW−P
CX”はこの時のアドレスである。
【0018】次に1サイクル実行中の割込プログラムに
おいて、メモリ書込割込(i)は、本割込プログラム内
では本処理で使用する汎用レジスタをスタックメモリ領
域6a内にセーブ(j)し、前記”MW−PCX”の値
をスタックメモリ領域6a内からアキュムレータにロー
ド(k)する。さらに、ランダムアクセスメモリ6内”
MW−CNT”の値をインデックスレジスタIXにロー
ド(l)し、アキュムレータ値をインダックスレジスタ
IXで参照される”MW−PC(IX)”のメモリへス
トア(m)する。例えば、”MW−CNT”の値が0で
あれば”MW−PC(0)”へストアされ、”MW−C
NT”の値が2であれば”MW−PC(2)”へストア
される。
【0019】次に、”MW−CNT”を1加算(n)
し、汎用レジスタを元に戻して(g)、次回の割込に備
え割込処理を終了(r)する。割込処理終了命令を実行
すると、MPU1は制御をユーザプログラムに戻し、割
込発生の直前のプログラムから再開する。ユーザプログ
ラム再開後、再度同一のレジスタに対し、書込みが行わ
れれば同様の割込が順次発生し、”MW−CNT”は1
づつ加算されていく。ユーザプログラムが1サイクル終
了すると、”MW−FLG”を0クリアし、割込発生手
段4への割込ステータス信号をディセーブル(h)と
し、以降メモリ書込割込を禁止する。以降PLCは、制
御を継続するために、再度ユーザプログラムの実行開始
イベント(C)の発生を待つ。
【0020】PC内で複数回書込検索用プログラムは、
前記”MW−FLG”が0になったことによりPLCが
複数回書込検索指令の実行を完了したことを認識する
が、PLC内ランダムアクセスメモリ6内”MW−CN
T”の値により何回の書込命令を実行したか、また”M
W−PC(0)”以降の情報によりプログラム実行アド
レスをユーザプログラムのプログラム所在個所に変換し
表示する。
【0021】
【発明の効果】以上説明したように、本発明によれば、
指定したリレー、レジスタへの書込みプログラムのプロ
グラム所在個所をリアルタイムに短時間に知ることがで
き、かつユーザプログラムがインデックス命令で書かれ
いても、まだジャンプ命令で条件スキップしていても、
プログラム実行状態において複数回書込みを知ることが
でき、プログラムはその妥当性を判断することができ
る。また、ユーザプログラムをいろいろい停止させて確
認する必要もなくユーザプログラムが完成した後の解折
用にも有効である。
【図面の簡単な説明】
【図1】図1は本発明の一実施例のプログラマブルコン
トローラCPU内部を示す全体構成図である。
【図2】図2は本プログラマブルコントローラCPU内
部メモリマップ図である。
【図3】図3は本発明の一実施例を示すメインプログラ
ムのフローチャート図である。
【図4】図4は本発明の一実施例を示す割り込みプログ
ラムのフローチャート図である。
【符号の説明】
1 マイクロプロセッサ 2 アドレス設定手段 3 アドレス比較手段 4 割込発生手段 5 リードオンリ・メモリ 6 ランダムアクセス 7 外部I/F 8 マイクロプロセッサバス
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成8年8月21日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】プロセス制御に必要な制御プログラムであ
るユーザプログラムは、ランダムアクセスメモリ6の内
部におかれ、PCにて作成された後、ユーザプログラム
領域6dにロードされ、ランダムアクセスメモリ6のデ
バイスメモリ利用域6c内部におかれたレジスタを使用
してプロセスを制御する。PCはPLCに接続され、レ
ジスタ”b00100”についてメモリ書込み命令を実
行しているユーザプログラムの実行アドレスを検索する
場合検索するレジスタ”b00100”の名称をキー入
力する。PCの複数回書込検索用プログラムは、レジス
タ”b00100”の物理アドレスを算出し、図2に示
す404000(H)番地を得たものとする。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 プログラマブルコントローラにおいて、
    マイクロプロセッサと、ユーザが使用するデバイスメモ
    リの物理アドレスを設定するためのアドレス設定手段
    と、マイクロプロセッサバスのアドレスライン信号と前
    記アドレス設定手段を比較しデバイスメモリに書込み動
    作が行われた事を検出するためのアドレス比較手段と、
    書込み動作検出信号によってマイクロプロセッサに割込
    信号を発生するための割込発生手段と、割込信号によっ
    てマイクロプロセッサが実行する割込プログラムとユー
    ザプログラムの実行を管理するためのシステムプログラ
    ムを格納したリードオンリメモリと、ユーザプログラム
    とデバイスメモリとシステムプログラムがユーザプログ
    ラムの実行を管理するために必要なシステムメモリとス
    タックメモリを格納するためランダムアクセスメモリ
    と、プログラマブルコントローラが制御する外部I/O
    モジュールと、ユーザプログラムを開発支援する開発支
    援用コンソールとの接続を行うための外部I/Fとを具
    備し、設定したデバイスメモリにメモリ書込割込が発生
    した場合、リードオンリメモリ内の割込プログラムにお
    いて、ユーザプログラムの1サイクル内の発生回数、ユ
    ーザプログラムの実行アドレスをランダムアクセスメモ
    リ内のメモリに記憶し、これを開発支援用コンソールに
    ユーザプログラム中の所在個所を表示することを特徴と
    する複数回書込検出可能なプログラマブルコントロー
    ラ。
JP8203098A 1996-07-12 1996-07-12 複数回書込検出可能なプログラマブルコントローラ Pending JPH1031506A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8203098A JPH1031506A (ja) 1996-07-12 1996-07-12 複数回書込検出可能なプログラマブルコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8203098A JPH1031506A (ja) 1996-07-12 1996-07-12 複数回書込検出可能なプログラマブルコントローラ

Publications (1)

Publication Number Publication Date
JPH1031506A true JPH1031506A (ja) 1998-02-03

Family

ID=16468355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8203098A Pending JPH1031506A (ja) 1996-07-12 1996-07-12 複数回書込検出可能なプログラマブルコントローラ

Country Status (1)

Country Link
JP (1) JPH1031506A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451890C (zh) * 2005-03-31 2009-01-14 欧姆龙株式会社 可编程控制器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100451890C (zh) * 2005-03-31 2009-01-14 欧姆龙株式会社 可编程控制器

Similar Documents

Publication Publication Date Title
RU2002127807A (ru) Перезапускаемые транслированные команды
JPH04133102A (ja) プログラマブル・コントローラ及びその制御方法
JPH09319569A (ja) マイクロコンピュータ
JP2000322264A (ja) 電子機器
KR920006768B1 (ko) 사전에 결정된 순서대로 두개의 명령시이퀀스를 실행하는 방법 및 장치
JPH1031506A (ja) 複数回書込検出可能なプログラマブルコントローラ
KR960014825B1 (ko) 정보처리시스템
JP2846760B2 (ja) プログラマブルコントローラ
JPH01205343A (ja) 電子計算機システムにおけるプロセスの中断再開方式
JP2988518B2 (ja) マルチプロセッサ制御方式
JPH06324861A (ja) Cpu制御システム及び制御方法
JPH08161185A (ja) 仮想計算機システムのゲスト実行制御方式
JPS595931B2 (ja) 演算処理システムのアドレス停止方式
JPH07152541A (ja) システム無中断プログラム切替え方法
JPS5987565A (ja) 履歴制御方式
JP2007041887A (ja) デバッグ装置、そのメモリアクセス方法およびメモリアクセス方法を実現するプログラム
JP2000353359A (ja) 記憶装置の初期化方法
JPS62151936A (ja) マイクロプロセツサに内蔵されるキヤツシユ回路
JPS59189452A (ja) デ−タ処理装置用キユ−構造
JPH04332045A (ja) 演算処理装置
JPH08179944A (ja) オンラインファームウェア入れ替え方式
JPH0367349A (ja) プログラムローディング方式
JPH04369751A (ja) メモリ破壊検出方式
JPH0353348A (ja) マイクロプログラムのデバッグ方式
JPH04332050A (ja) 再起動時中断点からの再開可能なデバガ