JP2000259210A - プログラマブルコントローラ装置およびそのエンジニアリングツール - Google Patents

プログラマブルコントローラ装置およびそのエンジニアリングツール

Info

Publication number
JP2000259210A
JP2000259210A JP11062830A JP6283099A JP2000259210A JP 2000259210 A JP2000259210 A JP 2000259210A JP 11062830 A JP11062830 A JP 11062830A JP 6283099 A JP6283099 A JP 6283099A JP 2000259210 A JP2000259210 A JP 2000259210A
Authority
JP
Japan
Prior art keywords
programmable controller
controller device
physical page
program
change
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
JP11062830A
Other languages
English (en)
Inventor
Shigeru Kajiwara
繁 梶原
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP11062830A priority Critical patent/JP2000259210A/ja
Publication of JP2000259210A publication Critical patent/JP2000259210A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 プログラム変更時におけるコーディングのミ
ス等が装置本体の動作に影響を与えることもなくミスの
原因を特定することができ、かつ修正も容易となり、も
って、信頼性および保守性の高いプログラマブルコント
ローラ装置およびそのエンジニアリングツールを提供す
ること。 【解決手段】 プログラムを変更する場合に、当該変更
箇所が書き込まれている物理ページ1の変更を行わず、
未使用の物理ページ6に変更されたプログラムを書き込
み、管理テーブル52により、変更箇所が書き込まれて
いる物理ページの番号1と、変更されたプログラムが書
き込まれた物理ページの番号6とを管理することによっ
て、変更前と変更後とのプログラムを任意に実行させる
ようにすること。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば産業用シス
テムの制御を行う、制御プログラムの変更が可能なプロ
グラマブルコントローラ装置およびそのエンジニアリン
グツールの改良に関するものである。
【0002】
【従来の技術】一般に、この種のプログラマブルコント
ローラ装置が具備すべき基本機能として、マルチタスク
実行機能およびリアルタイム制御機能が挙げられる。
【0003】マルチタスク実行機能とは、プログラムが
タスクと呼ばれるいくつかの単位に分割されており、複
数個のタスクが見かけ上同時に実行すること、すなわち
並列実行が可能であることをいう。
【0004】リアルタイム制御機能とは、上記のマルチ
タスク実行が、ある周期で繰り返し連続して実行できる
ことをいう。ここで、ある周期とは、アプリケーション
によって最適な周期を意味し、一定周期であることもあ
れば、その時々の条件によって変動する周期であること
もある。
【0005】さらに、信頼性と保守性という側面におい
ては、プログラマブルコントローラ装置には継続的な運
転が求められる。
【0006】前者の信頼性という点では、RAS機能に
よる異常検出、主要構成機器の二重化運転の他、縮退運
転機能が一般的である。
【0007】なお、RAS機能とは、一般に、コンピュ
ータシステムが障害で停止することを極力防止し、常に
プロセッサの内部動作が正しく動作しているかをチェッ
クするプログラムを用意してデータの完全性を維持し、
万一障害が起きても故障箇所を早期に発見し、自動的に
故障状態を判断できるプログラムを使用して、短時間で
修理回復することをいう。
【0008】また、縮退運転とは、プログラマブルコン
トローラ装置の動作の続行に支障のない範囲で故障箇所
を切り離して運転することをいう。その種類としては、
タスクの縮退運転、リニアライズ処理の縮退運転等があ
る。
【0009】本発明に関連するタスク縮退とは、プログ
ラム実行時にエラーが発生した場合に、該当のタスクの
みの動作を停止し、プログラマブルコントローラ装置と
しての動作を継続させる状態のことを指す。
【0010】一方、後者の保守性としては、運転を止め
ることなく、実行中のアプリケーションの変更が可能と
なる仕組みとして、オンライン変更、あるいはオンライ
ンローディングという機能が求められている。
【0011】オンラインローディングはオンライン変更
ともいわれ、動作を継続させたまま設定パラメータやプ
ログラムの変更が可能であることを意味する。狭義で
は、プログラマブルコントローラ装置の運転に全く影響
を与えない変更を指すが、広義では、プログラマブルコ
ントローラ装置としてのすべての動作の停止や再起動を
必要としない変更を指す場合もある。
【0012】さて、マルチタスク実行とリアルタイム制
御の両立については、従来では以下に示すタスクパッキ
ング方式と呼ばれる機能により実現されている。
【0013】図9は、タスクパッキング方式の一例を示
すメモリ構成図である。
【0014】すなわち、図9に示すように、タスクパッ
キング方式は、プログラマブルコントローラ装置49が
備えているメモリ装置50のプログラム格納領域53に
1つ以上のタスクが格納されている。
【0015】これらのタスクに関する情報の内、タスク
の場所であるタスク先頭物理アドレス54、タスクの容
量であるタスクサイズ55、およびタスクの実行開始番
地であるタスク実行開始アドレス56に着目する。これ
らの情報は、タスク毎に固有のものとなる。
【0016】これらの情報を集めてテーブル化し、タス
クと対応づけたテーブルがタスク管理テーブル51であ
る。すなわち、メモリ装置50上には、タスク管理テー
ブル51とプログラム格納領域53とが、それぞれ異な
る領域に格納される。
【0017】このように、タスク管理テーブル51に
は、タスクの場所がタスク先頭物理アドレス54に、タ
スクの容量がタスクサイズ55に、タスクの実行開始番
地の情報がタスク実行開始アドレス56に、タスク単位
で書き込まれる。また、タスク単位で、その他少なくと
も以下の情報が追加される。
【0018】第1の情報は、タスクの実行可否を決定す
る情報である。これは、タスクがプログラム格納領域5
3に格納されていても、この実行開始を待たせたり、実
行そのものを中断したい場合があるためである。
【0019】第2の情報は、タスクの実行順序を決定す
る情報である。タスクの実行は、本質的には並列実行が
要求されるが、実際には、ある瞬間に実行できるタスク
は1個のみであるのが一般的であるため、タスクの実行
順序をスケジュール化する必要があるからである。
【0020】次に、プログラマブルコントローラ装置の
エンジニアリング作業において必須の作業であるタスク
の追加、タスクの削除、タスクの更新について、上述の
タスクパッキング方式における方法を説明する。
【0021】タスクを追加する場合は、プログラム格納
領域53の空きエリアを探し、そこにタスク本体を格納
すると共に、追加されたタスクに関する情報をタスク管
理テーブル51にも追加する。
【0022】タスクを削除する場合は、タスク管理テー
ブル51の当該タスクに関する情報を無効にする。特に
必要がない限り、プログラム格納領域53にあるタスク
本体を削除しない。
【0023】なお、タスクを更新する場合は、タスクの
追加及び削除の組合せになる。タスクを追加してから削
除する方法と、タスクを削除してから追加する方法のい
ずれでも目的を達することができる。
【0024】このように、このタスクパッキング方式で
は、タスク全体を対象としているため、タスクの一部の
追加、削除、更新であってもタスク単位での操作が必要
とされる。そのため、オンライン変更には不向きで、変
更前にタスクとしての動作を一旦停止し、変更後に動作
を再開する必要があった。
【0025】一方、保守性を改善する方式として、以下
に説明する固定長ページ格納方式も採用されている。
【0026】図10は、固定長ページ管理方式の一例を
示すメモリ構成図である。
【0027】ずなわち、図10に示すように、固定長ペ
ージ管理方式においてプログラマブルコントローラ装置
49が備えているメモリ装置50は、ページ管理テーブ
ル52とプログラム格納領域53とを備えている。
【0028】プログラム格納領域53は、格子状の如く
一定サイズに分割された物理ページ1、2、・・、Nを
備えている。物理ページ1、2、・・、Nは、タスクを
構成するオブジェクト(1)、(2)、(3)、
(4)、・・を格納する領域である。
【0029】また、ページ管理テーブル52は、タスク
を構成するオブジェクトと、当該オブジェクトが格納さ
れている物理ページとの対応付けを行うものである。す
なわち、論理ページ番号格納部Lにオブジェクト番号
が、また物理ページ番号格納部Fに当該オブジェクトが
格納されている物理ページ番号が、それぞれ記録されて
いる。
【0030】従って、ページ管理テーブル52の内容に
従ってオブジェクトを実行することによってタスクを実
行することが可能となる。
【0031】このような固定長ページ管理方式では、前
述のタスクパッキング方式がタスク単位での追加、削
除、および更新が必要であるのに対して、タスクを構成
している物理ページ単位での追加、削除、および更新が
可能となるメリットがある。
【0032】
【発明が解決しようとする課題】しかしながら、このよ
うなタスクパッキング方式、および固定長ページ管理方
式ともに、信頼性の観点から一般的にタスク縮退運転が
なされている。
【0033】したがって、従来のプログラマブルコント
ローラ装置においては、プログラムの軽微な変更であっ
ても、タスク全体あるいはコントローラ全体の処理を停
止しなければならないという問題がある。
【0034】本発明はこのような事情に鑑みてなされた
ものであり、プログラム変更時におけるコーディングの
ミス等が装置本体の動作に影響を与えることもなくミス
の原因を特定することができ、かつプログラムの修正も
容易となり、もって、信頼性および保守性の高いプログ
ラマブルコントローラ装置およびそのエンジニアリング
ツールを提供することを目的とする。
【0035】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明では、以下のような手段を講じる。
【0036】すなわち、請求項1の発明では、プログラ
ムの管理および実行の基本単位であり同一サイズに分割
された複数の物理ページを格納する格納領域と、物理ペ
ージの登録および実行の状態を管理する管理テーブルを
格納する管理領域とを備えたメモリ手段を少なくとも有
するプログラムコントローラ装置において、プログラム
を変更する場合に、当該変更箇所が書き込まれている物
理ページの変更を行わず、未使用の物理ページに変更さ
れたプログラムを書き込み、管理テーブルにより、変更
箇所が書き込まれている物理ページの番号と、変更され
たプログラムが書き込まれた物理ページの番号とを管理
することによって、変更前と変更後とのプログラムを任
意に実行させるようにする。
【0037】従って、請求項1の発明のプログラムコン
トローラ装置においては、プログラマブルコントローラ
装置本体にバッファ等のリソースを新たに追加すること
なく、変更前および変更後のプログラムを任意に実行す
ることができる、いわゆる、物理ページのUndo機能
をオンラインで実現することが可能となる。
【0038】請求項2の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、格納領域に、
物理ページに更新日時を記録する機能を備え、未使用の
物理ページが存在しない場合に、更新日時の古い物理ペ
ージの順に変更されたプログラムを書き込むようにす
る。
【0039】従って、請求項2の発明のプログラマブル
コントローラ装置においては、未使用の物理ページが存
在しない場合、更新された古い物理ページから順に更新
内容を書き込むので、メモリ領域を効率的に使用するこ
とができる。
【0040】請求項3の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、格納領域に、
物理ページに更新日時を記録する機能を備え、未使用の
物理ページが存在しない場合に、変更されたプログラム
を書き込む物理ページを選択するようにする。
【0041】従って、請求項3の発明のプログラマブル
コントローラ装置においては、未使用の物理ページが存
在しない場合、使用者が、新たな更新内容を書き込む物
理ページを選択することができる。その結果、プログラ
ム変更作業の融通性の高いプログラマブルコントローラ
装置を実現することができる。
【0042】請求項4の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、変更後のプロ
グラムを実行中に異常を検出した場合に、変更前のプロ
グラムを自動的に実行するようにする。
【0043】従って、請求項4の発明のプログラマブル
コントローラ装置においては、従来では、タスク縮退あ
るいはエラーダウンとなっていたケースでも、エラーを
回避して処理を継続できる確率を高めることができる。
【0044】請求項5の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、変更前と変更
後とのそれぞれのプログラムの物理ページを、文字列や
シンボルによって同一画面上あるいは別画面上に表示す
る表示機能と、変更前と変更後との物理ページを同時に
編集する編集機能とを備える。
【0045】従って、請求項5の発明のプログラマブル
コントローラ装置においては、更新前後の物理ページを
同一画面上あるいは別画面上に表示することができるの
で、編集作業を簡単に実施することが可能となる。
【0046】請求項6の発明では、請求項1の発明のプ
ログラマブルコントローラ装置に対して、情報の登録や
参照を行なうプログラマブルコントローラ装置のエンジ
ニアリングツールにおいて、変更前と変更後とのそれぞ
れのプログラムの物理ページを、文字列やシンボルによ
って同一画面上あるいは別画面上に表示する表示機能
と、変更前と変更後との物理ページを同時に編集する編
集機能とを備える。
【0047】従って、請求項6の発明のプログラマブル
コントローラ装置のエンジニアリングツールにおいて
は、更新前後の物理ページを同一画面上あるいは別画面
上に表示することができるので、編集作業を簡単に実施
することが可能となる。
【0048】請求項7の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、変更前と変更
後とのそれぞれのプログラムの物理ページを、文字列や
シンボルによって同一画面上あるいは別画面上に表示す
る表示機能と、同一画面上あるいは別画面上にマークキ
ングするマーキング機能とを備える。
【0049】従って、請求項7の発明のプログラマブル
コントローラ装置においては、更新前後の物理ページの
画面上にオペレータが自由にマーキングすることができ
るので、物理ページの編集作業の効率を上げることがで
きる。
【0050】請求項8の発明では、請求項1の発明のプ
ログラマブルコントローラ装置に対して、情報の登録や
参照を行なうプログラマブルコントローラ装置のエンジ
ニアリングツールにおいて、変更前と変更後とのそれぞ
れのプログラムの物理ページを、文字列やシンボルによ
って同一画面上あるいは別画面上に表示する表示機能
と、同一画面上あるいは別画面上にマークキングするマ
ーキング機能とを備える。
【0051】従って、請求項8の発明のプログラマブル
コントローラ装置のエンジニアリングツールにおいて
は、更新前後の物理ページの画面上にオペレータが自由
にマーキングすることができるので、物理ページの編集
作業の効率を上げることができる。
【0052】請求項9の発明では、請求項1の発明のプ
ログラマブルコントローラ装置において、格納領域に、
当該物理ページが実行された回数をカウントするカウン
タエリアと、変更前と変更後とのそれぞれの物理ページ
を文字列やシンボルによって同一画面上あるいは別画面
上に表示する表示機能とを備え、表示機能により表示を
行う場合に、カウンタエリアの内容を参照するようにす
る。
【0053】従って、請求項9の発明のプログラマブル
コントローラ装置においては、更新後の物理ページがど
の程度動作したのかをビジュアルに確認することができ
る。その結果、物理ページ変更による影響がどのように
他の部分に及んでいるか確認できるようになるととも
に、プログラムエラーが生じた場合などにおいて、効率
的なデバック作業を実現することが可能となる。
【0054】請求項10の発明では、請求項9の発明の
プログラマブルコントローラ装置に対して情報の登録や
参照を行なうプログラマブルコントローラ装置のエンジ
ニアリングツールにおいて、変更前と変更後とのそれぞ
れの物理ページを、文字列やシンボルによって同一画面
上あるいは別画面上に表示する表示機能を備え、表示機
能により表示を行う場合に、カウンタエリアの内容を参
照するようにする。
【0055】従って、請求項10の発明のプログラマブ
ルコントローラ装置のエンジニアリングツールにおいて
は、更新後の物理ページがどの程度動作したのかをビジ
ュアルに確認することができる。その結果、物理ページ
変更による影響がどのように他の部分に及んでいるか確
認できるようになるとともに、プログラムエラーが生じ
た場合などにおいて、効率的なデバック作業を実現する
ことが可能となる。
【0056】請求項11の発明では、請求項1の発明の
プログラマブルコントローラ装置において、格納領域
に、当該物理ページが実行されたか否かを識別するフラ
グエリアと、変更前と変更後とのそれぞれの物理ページ
を文字列やシンボルによって同一画面上あるいは別画面
上に表示する表示機能とを備え、表示機能により表示を
行う場合に、フラグエリアの値と、変更後の物理ページ
における既実行物理ページの割合とを表示するようにす
る。
【0057】従って、請求項11の発明のプログラマブ
ルコントローラ装置においては、どの物理ページを更新
したのか、更新後の物理ページがどの程度動作したのか
をビジュアルに確認することができる。その結果、物理
ページ変更による影響がどのように他の部分に及んでい
るかが容易に確認できるようになるとともに、プログラ
ムエラーが生じた場合などにおいて、効率的なデバック
作業を実現することが可能となる。
【0058】請求項12の発明では、請求項11の発明
のプログラマブルコントローラ装置に対して、情報の登
録や参照を行なうプログラマブルコントローラ装置のエ
ンジニアリングツールにおいて、変更前と変更後とのそ
れぞれの物理ページを、文字列やシンボルによって同一
画面上あるいは別画面上に表示する表示機能を備え、表
示機能により表示を行う場合に、フラグエリアの値と、
変更後の物理ページにおける既実行物理ページの割合と
を表示するようにする。
【0059】従って、請求項12の発明のプログラマブ
ルコントローラ装置のエンジニアリングツールにおいて
は、どの物理ページを更新したのか、更新後の物理ペー
ジがどの程度動作したのかをビジュアルに確認すること
ができる。その結果、物理ページ変更による影響がどの
ように他の部分に及んでいるかが容易に確認できるよう
になるとともに、プログラムエラーが生じた場合などに
おいて、効率的なデバック作業を実現することが可能と
なる。
【0060】
【発明の実施の形態】以下に、本発明の実施の形態につ
いて図面を参照しながら説明する。
【0061】なお、以下の各実施の形態の説明に用いる
図中の符号は、図10と同一部分については同一符号を
付して示すことにする。
【0062】(第1の実施の形態)本発明の第1の実施
の形態を図1、図2を用いて説明する。
【0063】図1は、本発明の実施の形態によるプログ
ラマブルコントローラ装置49のメモリの構成の一例を
示す図であり、図10と同一部分については同一符号を
用いてその説明を省略し、ここでは異なる部分について
のみ述べる。
【0064】すなわち、本実施の形態によるプログラマ
ブルコントローラ装置49は、図1に示すように、図1
0を用いて説明した固定長ページ管理方式に示すページ
管理テーブル52における物理ページ番号格納部Fに、
さらに更新後物理ページ番号格納部Faと、更新前物理
ページ番号格納部Fbとの両方を備えるようにしたもの
である。
【0065】次に、以上の様に構成した本実施の形態の
プログラマブルコントローラ装置の作用について、図
1、図2を用いて説明する。
【0066】図1のページ管理テーブル52が示すよう
に、タスクiの新オブジェクト(1)は、物理ページ6
に格納されているが、以前は物理ページ1に格納されて
いた旧オブジェクト(1)を実行していた。すなわち、
オブジェクト(1)に対応する更新後物理ページ番号格
納部Faは物理ページ6、更新前物理ページ番号格納部
Fbは物理ページ1である。
【0067】図2は、現在のタスク実行状態を、更新前
のタスク実行状態に戻す方法について説明するページ管
理テーブルの一例を示す図である。
【0068】物理ページ6に格納されている新オブジェ
クト(1)を、更新前の物理ページ1に格納されている
旧オブジェクト(1)に戻す場合、図2(a)に示すよ
うに、論理ページ番号格納部Lが(1)の更新前物理ペ
ージ番号格納部Fb(=1)を更新後物理ページ番号格
納部Fa(=6)にコピーすることによって、更新後の
タスク実行状態から、更新前のタスク実行状態に戻すこ
とができる。そして、更新前のタスク実行状態に復帰し
た後、当該オブジェクトの更新前物理ページ番号格納部
Fbの値を「0」にする。
【0069】また、図2(b)に示すように、ページ管
理テーブル52に、更新後物理ページ番号格納部Faと
更新前物理ページ番号格納部Fbとのうち、実行する物
理ページを指定するフラグエリアSを新たに設けてもよ
い。フラグエリアSをaに設定した場合、更新後物理ペ
ージ番号格納部Faに指定されている物理ページ6に格
納されているオブジェクトを実行し、またフラグエリア
Sをbに設定した場合、更新前物理ページ番号格納部F
bに指定されている物理ページ1に格納されているオブ
ジェクトを実行する。
【0070】このようにして、更新後のタスク実行状態
から、更新前のタスク実行状態に戻すことができるUn
do機能を実現することができる。
【0071】上述したように、本実施の形態のプログラ
マブルコントローラ装置においては、上記のような作用
により、プログラマブルコントローラ装置本体にバッフ
ァ等のリソースを新たに追加することなく、オンライン
での物理ページのUndo機能を実現することが可能と
なる。
【0072】(第2の実施の形態)本発明の第2の実施
の形態を図3、図4を用いて説明する。
【0073】図3は、図1のプログラム格納領域53に
格納されている物理ページの構成の詳細の一例を示す図
である。
【0074】固定長ページ管理方式において、各物理ペ
ージは、固定サイズ分のメモリ領域を確保している。
【0075】本実施の形態におけるプログラマブルコン
トローラ装置は、上述した各物理ページの固定サイズ分
のメモリ領域に、当該物理ページが更新された日時を記
録する機能を備えている。
【0076】すなわち、図3に示すように、各物理ペー
ジの構造は、更新日時が記録されるヘッダ部60と、プ
ログラムが記載されるオブジェクト部61とから成る。
【0077】図4は、新たなオブジェクトの書き込みを
行う物理ページの選択方法を示すフローチャートであ
る。
【0078】なお、以下に説明するS1〜S8の記号
は、図4のフローチャートにおけるステップ番号であ
る。また、図4において、P(i)はi番目の物理ペー
ジ、iは物理ページの番号、mは更新する物理ページ、
nは物理ページの総数である。
【0079】まず、オブジェクトの更新をする場合、物
理ページ番号を零にリセットし(S1)、未使用の物理
ページを検索(S2)する。そして、未使用の物理ペー
ジが存在している場合、この物理ページに新たなオブジ
ェクトを書き込む(S3)。
【0080】一方、未使用のぺージが存在しない場合、
格納されている全ての物理ページのうち更新日時が最も
古い物理ページを、ヘッダ部60に記録された更新日時
データからサーチし(S4、S5、S6、S7)、サー
チの結果得られた最も古い物理ページに新たなオブジェ
クトを書き込む(S8)。
【0081】なお、本実施の形態によるプログラマブル
コントローラ装置は、図4に示すフローチャートに基づ
いて、書き込む物理ページを自動的に決定する方法のほ
かに、ユーザが任意に書き込む物理ページを選択するこ
ともできる。
【0082】上述したように、本実施の形態のプログラ
マブルコントローラ装置は、Undo用に残された物理
ページのうち、一番古いものから自動的に更新していく
ことができる。その結果、メモリ領域を効率的に使用す
ることが可能となる。
【0083】(第3の実施の形態)本発明の第3の実施
の形態を図1、図2、図5を用いて説明する。
【0084】なお、図1、図2については、既に説明済
みであるので、ここではその説明を省略する。
【0085】図5は、本実施の形態によるプログラマブ
ルコントローラ装置を実現するためのロジックの例を示
すフローチャートである。
【0086】図5に示すフローチャートを用いて、本実
施の形態によるプログラマブルコントローラ装置のUn
do機能の実現方法について説明する。
【0087】なお、以下に説明するS11〜S20の記
号は、図5のフローチャートにおけるステップ番号であ
る。また、図5におけるLは論理ページ番号、Fa
(L)はL番目の実行オブジェクトを表す。
【0088】例えば、図1のように定義されているよう
な論理テーブルに従ってタスクを実行して行き(S1
1、S12)、エラーが発生しなければそのまま実行を
継続(S13、S14、S15)し、最終的にタスクが
終了する。
【0089】一方、ある論理ページにおいてエラーが生
じた場合、(S17)に移行する。エラーが発生した論
理ページにおいて更新前のデータが残っている場合は、
当該論理ページのデータを更新前のデータに復帰させる
(S18)。また、エラーが発生した論理ページの更新
前データが残っていない場合には、エラーモードへ移行
し、エラーハンドラを起動する(S19)ことによって
エラーを取り除くようにする。
【0090】次に、以上のように構成した本実施の形態
のプログラマブルコントローラ装置の作用について説明
する。
【0091】すなわち、本実施の形態のプログラマブル
コントローラ装置は、ある論理ページを実行したときに
エラーが発生した場合、更新前物理ページ番号格納部F
bに物理ページが定義されている場合には、更新後物理
ページ番号格納部FaにFbの物理ページをセットする
ことで、次回実行時には実績のある更新前ページを用い
ることができる。
【0092】従来のプログラマブルコントローラ装置で
は、ある物理ページ内の小変更であっても、プログラム
実行中の変更であるいわゆるオンライン変更時には、タ
スク全体、あるいはコントローラ全体の動作に悪影響を
与えるという問題があった。
【0093】この点、本実施の形態のプログラマブルコ
ントローラ装置においては、上述したようなUndo機
能により、従来では、タスク縮退あるいはエラーダウン
となっていたケースでも、エラーを回避して処理を継続
することができる確率を高めることができる。
【0094】(第4の実施の形態)本発明の第4の実施
の形態を図6を用いて説明する。
【0095】図6は、本実施の形態によるプログラマブ
ルコントローラ装置およびそのエンジニアリングツール
での画面表示の一例を示す図である。
【0096】すなわち、本実施の形態によるプログラマ
ブルコントローラ装置およびそのエンジニアリングツー
ルは、図6(a)に示すように、更新前のプログラムB
と更新後のプログラムAとを物理ページ毎に比較し、図
6(b)に示すように、更新前のプログラムBと更新後
のプログラムAとの違いを抽出し、相違点を表示する機
能を備えている。
【0097】また、図6(c)に示すように、更新前の
プログラムBと更新後のプログラムAとを切り替え表示
する機能と、図6(d)に示すように、更新前のプログ
ラムBと更新後のプログラムAとを重ねあわせた状態で
相違部を区別して表示する機能とを備えている。
【0098】図6(d)に示す重ね表示では、各プログ
ラムのシンボルをそれぞれ違う色にて表示することによ
って、重ね合った箇所、すなわち変更がない箇所のみが
その合成色として表示がなされるので、変更箇所を識別
することができる。
【0099】更に、図6(e)に示すように、表示画面
上の任意の箇所に、オペレータが任意にマーキング65
を付することができる。例えば、図6(e)において、
矢印65aを付したり、雲印65bで囲ったり、線65
cを引いたり、コメント65dを記入することができ
る。
【0100】次に、以上のような機能を有した本実施の
形態のプログラマブルコントローラ装置およびそのエン
ジニアリングツールの作用について説明する。
【0101】従来では、ある物理ページの更新後にプロ
グラムの実行異常が発生した場合、その原因をなかなか
特定することができないという問題があった。
【0102】この点、本実施の形態によるプログラマブ
ルコントローラ装置およびそのエンジニアリングツール
においては、プログラムの変更点を図6(c)に示すよ
うな切り替え表示機能や、図6(d)に示すような重ね
表示機能によって、容易に認識できるようになる。な
お、図6(c)や図6(d)に示すような表示は、文字
表示でも、あるいはシンボル表示でも可能である。
【0103】また、図6(e)に示すように、オペレー
タが表示画面上に任意にマーキングすることもできるの
で、変更前後のプログラムの相違点を容易に認識できる
ようになる。
【0104】上述したように、本実施の形態のプログラ
マブルコントローラ装置およびそのエンジニアリングツ
ールにおいては、上記のような作用により、プログラム
のデバックの効率を改善することができる。
【0105】(第5の実施の形態)本発明の第5の実施
の形態を図7、図8を用いて説明する。
【0106】図7は、図1のプログラム格納領域53に
格納されている物理ページの構成の詳細の一例を示す図
である。
【0107】図7に示す物理ページの構成は、図3と同
様に、各物理ページの構成は、更新日時が記録されたヘ
ッダ部60と、プログラムが書き込まれたオブジェクト
部61とから成る。
【0108】更に、オブジェクト部61には、当該物理
ページの更新があったことを示す更新フラグ62、当該
物理ページの実行回数を示す実行回数カウンタ63、当
該物理ページの実行があったことを示す実行有無フラグ
64を備えている。
【0109】ヘッダ部60には、前記第2の実施の形態
で説明したように、当該物理ページの更新日時データが
記録されるようになっている。更新フラグ62は、ヘッ
ダ部60に更新日時データが記録されている場合、更新
ありとして「1」のフラグが立つようにしている。デフ
ォルト値は「0」である。
【0110】実行回数カウンタ63は、当該物理ページ
の実行毎にそのカウンタをカウントアップするようにし
ている。
【0111】実行有無フラグ64は、実行回数カウンタ
63が示す実行回数が「0」でない場合、すなわち少な
くとも1回の実行があった場合に、実行有りとして
「1」のフラグを立てるようにしている。デフォルト値
は「0」である。
【0112】図8は、本実施の形態によるプログラマブ
ルコントローラ装置およびそのエンジニアリングツール
での画面表示の一例を示す図である。
【0113】本実施の形態によるプログラマブルコント
ローラ装置およびそのエンジニアリングツールにおいて
は、図7に示すように各物理ページのオブジェクト部6
1の更新フラグ62、実行回数カウンタ63、実行有無
フラグ64に記録された値に基づいて、図8に示すよう
なエンジニアリング画面を作成する。
【0114】図8に示すエンジニアリング画面は、個別
表示部70と、状況表示部71とから成る。個別表示部
70は、物理ページを格子状に表示する。個別表示部7
0は、物理ページ毎に更新状況、実行回数を示す部位で
あり、物理ページ毎に物理ページ番号を表示する物理ペ
ージ番号表示部72、当該物理ページの変更があった場
合にレ点によりチェックマークを付す変更有無表示部7
3、当該物理ページの実行回数表示部74を備えてい
る。
【0115】また、状況表示部71は、個別表示部70
の情報から、更新された物理ページのページ数と、更新
された物理ページのうち実行されたページ数との比であ
る更新ページ実行度を更新ページ実行度表示部75に表
示する。
【0116】上述したように、本実施の形態によるプロ
グラマブルコントローラ装置およびそのエンジニアリン
グツールは、図8に示すようなエンジニアリング画面を
表示することができる。
【0117】これにより、どの物理ページを更新したの
か、更新後の物理ページがどの程度動作したのか等の情
報が、ビジュアルに確認することができるようになる。
よって、物理ページ変更による影響がどのように他の部
分に及んでいるかが容易に確認できるようになる。この
結果、プログラムエラーが生じた場合などにおいて、効
率的なデバック作業を実現することが可能となる。
【0118】
【発明の効果】以上説明したように、本発明のプログラ
マブルコントローラ装置およびそのエンジニアリングツ
ールによれば、プログラム変更時におけるコーディング
のミス等が装置本体の動作に影響を与えることもなくミ
スの原因を特定することができ、かつプログラムの修正
も容易に行うことができるようになる。
【0119】その結果、信頼性および保守性の高いプロ
グラマブルコントローラ装置およびそのエンジニアリン
グツールを実現することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態によるプログラマブ
ルコントローラ装置のメモリの一例を示すデータ構造
図。
【図2】現タスク実行状態を更新前のタスク実行状態に
戻す方法について説明するページ管理テーブルの一例を
示すデータ構造図。
【図3】プログラム格納領域に格納されている物理ペー
ジの一例を示すデータ構造図。
【図4】新たなオブジェクトを格納する物理ページの選
択方法を示すフローチャート。
【図5】本発明の第3の実施の形態によるプログラマブ
ルコントローラ装置を実現するためのロジックの一例を
示すフローチャート。
【図6】本発明の第4の実施の形態によるプログラマブ
ルコントローラ装置のエンジニアリングツールでの画面
表示の一例を示す概念図。
【図7】プログラム格納領域に格納されている物理ペー
ジの一例を示すデータ構造図。
【図8】本発明の第5の実施の形態によるプログラマブ
ルコントローラ装置のエンジニアリングツールでの画面
表示の一例を示す概念図。
【図9】タスクパッキング方式の一例を示すデータ構造
図。
【図10】固定長ページ管理方式の一例を示すデータ構
造図。
【符号の説明】
1、2、・・、N…物理ページ、 49…プログラマブルコントローラ装置、 50…メモリ装置、 51…タスク管理テーブル、 52…ページ管理テーブル、 53…プログラム格納領域、 54…先頭物理アドレス、 55…タスクサイズ、 56…タスク実行開始アドレス、 60…ヘッダ部、 61…オブジェクト部、 62…更新フラグ、 63…実行回数カウンタ、 64…実行有無フラグ、 65…マーキング、 70…個別表示部、 71…状況表示部、 72…物理ページ番号表示部、 73…変更有無表示部、 74…実行回数表示部、 75…更新ページ実行度表示部。

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの管理および実行の基本単位
    であり同一サイズに分割された複数の物理ページを格納
    する格納領域と、前記物理ページの登録および実行の状
    態を管理する管理テーブルを格納する管理領域とを備え
    たメモリ手段を少なくとも有するプログラムコントロー
    ラ装置において、 前記プログラムを変更する場合に、当該変更箇所が書き
    込まれている物理ページの変更を行わず、未使用の物理
    ページに変更されたプログラムを書き込み、 前記管理テーブルにより、前記変更箇所が書き込まれて
    いる物理ページの番号と、前記変更されたプログラムが
    書き込まれた物理ページの番号とを管理することによっ
    て、変更前と変更後とのプログラムを任意に実行させる
    ようにしたことを特徴とするプログラマブルコントロー
    ラ装置。
  2. 【請求項2】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記格納領域に、物理ページに更新日時を記録する機能
    を備え、 前記未使用の物理ページが存在しない場合に、前記更新
    日時の古い物理ページの順に前記変更されたプログラム
    を書き込むようにしたことを特徴とするプログラマブル
    コントローラ装置。
  3. 【請求項3】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記格納領域に、物理ページに更新日時を記録する機能
    を備え、 前記未使用の物理ページが存在しない場合に、前記変更
    されたプログラムを書き込む物理ページを選択するよう
    にしたことを特徴とするプログラマブルコントローラ装
    置。
  4. 【請求項4】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記変更後のプログラムを実行中に異常を検出した場合
    に、 前記変更前のプログラムを自動的に実行するようにした
    ことを特徴とするプログラマブルコントローラ装置。
  5. 【請求項5】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記変更前と前記変更後とのそれぞれのプログラムの物
    理ページを、文字列やシンボルによって同一画面上ある
    いは別画面上に表示する表示機能と、 前記変更前と前記変更後との物理ページを同時に編集す
    る編集機能とを備えたことを特徴するプログラマブルコ
    ントローラ装置。
  6. 【請求項6】 前記請求項1に記載のプログラマブルコ
    ントローラ装置に対して、情報の登録や参照を行なうプ
    ログラマブルコントローラ装置のエンジニアリングツー
    ルにおいて、 前記変更前と前記変更後とのそれぞれのプログラムの物
    理ページを、文字列やシンボルによって同一画面上ある
    いは別画面上に表示する表示機能と、 前記変更前と前記変更後との物理ページを同時に編集す
    る編集機能とを備えたことを特徴するプログラマブルコ
    ントローラ装置のエンジニアリングツール。
  7. 【請求項7】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記変更前と前記変更後とのそれぞれのプログラムの物
    理ページを、文字列やシンボルによって同一画面上ある
    いは別画面上に表示する表示機能と、 前記同一画面上あるいは前記別画面上にマークキングす
    るマーキング機能とを備えたことを特徴するプログラマ
    ブルコントローラ装置。
  8. 【請求項8】 前記請求項1に記載のプログラマブルコ
    ントローラ装置に対して、情報の登録や参照を行なうプ
    ログラマブルコントローラ装置のエンジニアリングツー
    ルにおいて、 前記変更前と前記変更後とのそれぞれのプログラムの物
    理ページを、文字列やシンボルによって同一画面上ある
    いは別画面上に表示する表示機能と、 前記同一画面上あるいは前記別画面上にマークキングす
    るマーキング機能とを備えたことを特徴するプログラマ
    ブルコントローラ装置のエンジニアリングツール。
  9. 【請求項9】 前記請求項1に記載のプログラマブルコ
    ントローラ装置において、 前記格納領域に、当該物理ページが実行された回数をカ
    ウントするカウンタエリアと、前記変更前と前記変更後
    とのそれぞれの物理ページを文字列やシンボルによって
    同一画面上あるいは別画面上に表示する表示機能とを備
    え、 前記表示機能により表示を行う場合に、前記カウンタエ
    リアの内容を参照するようにしたことを特徴するプログ
    ラマブルコントローラ装置。
  10. 【請求項10】 前記請求項9に記載のプログラマブル
    コントローラ装置に対して、情報の登録や参照を行なう
    プログラマブルコントローラ装置のエンジニアリングツ
    ールにおいて、 前記変更前と前記変更後とのそれぞれの物理ページを、
    文字列やシンボルによって同一画面上あるいは別画面上
    に表示する表示機能を備え、 前記表示機能により表示を行う場合に、前記カウンタエ
    リアの内容を参照するようにしたことを特徴するプログ
    ラマブルコントローラ装置のエンジニアリングツール。
  11. 【請求項11】 前記請求項1に記載のプログラマブル
    コントローラ装置において、 前記格納領域に、当該物理ページが実行されたか否かを
    識別するフラグエリアと、前記変更前と前記変更後との
    それぞれの物理ページを、文字列やシンボルによって同
    一画面上あるいは別画面上に表示する表示機能とを備
    え、 前記表示機能により表示を行う場合に、前記フラグエリ
    アの値と、前記変更後の物理ページにおける既実行物理
    ページの割合とを表示するようにしたことを特徴するプ
    ログラマブルコントローラ装置。
  12. 【請求項12】 前記請求項11に記載のプログラマブ
    ルコントローラ装置に対して、情報の登録や参照を行な
    うプログラマブルコントローラ装置のエンジニアリング
    ツールにおいて、 前記変更前と前記変更後とのそれぞれの物理ページを、
    文字列やシンボルによって同一画面上あるいは別画面上
    に表示する表示機能を備え、 前記表示機能により表示を行う場合に、前記フラグエリ
    アの値と、前記変更後の物理ページにおける既実行物理
    ページの割合とを表示するようにしたことを特徴するプ
    ログラマブルコントローラ装置のエンジニアリングツー
    ル。
JP11062830A 1999-03-10 1999-03-10 プログラマブルコントローラ装置およびそのエンジニアリングツール Pending JP2000259210A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11062830A JP2000259210A (ja) 1999-03-10 1999-03-10 プログラマブルコントローラ装置およびそのエンジニアリングツール

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11062830A JP2000259210A (ja) 1999-03-10 1999-03-10 プログラマブルコントローラ装置およびそのエンジニアリングツール

Publications (1)

Publication Number Publication Date
JP2000259210A true JP2000259210A (ja) 2000-09-22

Family

ID=13211642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11062830A Pending JP2000259210A (ja) 1999-03-10 1999-03-10 プログラマブルコントローラ装置およびそのエンジニアリングツール

Country Status (1)

Country Link
JP (1) JP2000259210A (ja)

Similar Documents

Publication Publication Date Title
US8813037B2 (en) Debugging a high performance computing program
US7343588B2 (en) Method of generating and utilizing debug history
US7774636B2 (en) Method and system for kernel panic recovery
US7945900B2 (en) Debugging tool for debugging multi-threaded programs
US8271768B2 (en) Concurrent handling of exceptions in received aggregate exception structure with supplied exception handlers and marking handled exceptions
US20080109827A1 (en) Method and Apparatus for Allowing Restarted Programs to Use Old Process Identifications and Thread Identifications
CN101685420B (zh) 多线程调试方法和装置
CN1117166A (zh) 双执行部件处理器的反回逻辑线路
CN1329839C (zh) 一种计算机cpu抗干扰的设计方法
JP4150566B2 (ja) ワークフロー実行方法とシステム、およびそのためのプログラム
JP2010102454A (ja) 情報処理装置、情報処理プログラム
US20070226172A1 (en) File-management apparatus, file-management method, and computer product
US20030131146A1 (en) Interactive monitoring and control of computer script commands in a network environment
JP2000259210A (ja) プログラマブルコントローラ装置およびそのエンジニアリングツール
JPS61141047A (ja) 障害情報の退避方式
CN104239200B (zh) 一种硬单步系统中内存读写监控方法
JPH04307641A (ja) マルチタスク・システムの障害診断装置
JP2003208333A (ja) トレース情報検索装置およびその方法
JP2001034503A (ja) ブレークポイント設定方法及び障害解析装置
JPH11126161A (ja) 制御記憶の障害回避方法
JP2002318712A (ja) プログラム実行履歴解析方法
JPH1049405A (ja) トレース収集装置、トレース収集方法およびトレース収 集用プログラムを記憶した記憶媒体
JP2718676B2 (ja) 仮想記憶ダンプ処理方法
JPH0350634A (ja) 自動リカバリデータ処理システム
JPH01205245A (ja) 電子計算機の周辺系及び回線系装置の自動トレース方式