JP2001154711A - 工程歩進型プログラムのデバッグ方法および装置 - Google Patents

工程歩進型プログラムのデバッグ方法および装置

Info

Publication number
JP2001154711A
JP2001154711A JP33869299A JP33869299A JP2001154711A JP 2001154711 A JP2001154711 A JP 2001154711A JP 33869299 A JP33869299 A JP 33869299A JP 33869299 A JP33869299 A JP 33869299A JP 2001154711 A JP2001154711 A JP 2001154711A
Authority
JP
Japan
Prior art keywords
trace
program
state
activation
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
JP33869299A
Other languages
English (en)
Inventor
Shunji Kuwa
俊司 桑
Takeshi Jinkawa
健 陣川
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP33869299A priority Critical patent/JP2001154711A/ja
Publication of JP2001154711A publication Critical patent/JP2001154711A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 プログラマブルロジックコントローラにおけ
る工程歩進型プログラムの実行状態を視認性が高く、か
つ詳細なタイミングが検証できるようにしたトレース機
能を実現する。 【解決手段】 プログラマブルロジックコントローラ側
で工程歩進型プログラムの実行における活性化/非活性
化を動作しているプログラム全体に対して、かつ活性状
態の変化が発生した順序通りに、活性化/非活性化を区
別し、その両方を動作毎に記憶し、その記憶された情報
を読み出し、その状態の変化を図示化された工程歩進型
のプログラムリスト上に、実行の軌跡としての表示や、
その時々の状態の連続表示などの表示形態により、時系
列に反映させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、プログラマブル
コントローラにおける工程歩進型プログラムの実行状態
を表示して監視する工程歩進型プログラムのデバッグ方
法および装置に関する。
【0002】
【従来の技術】一般に、プログラマブルコントローラの
プログラミング言語としては、ラダーダイアグラムが主
流であるが、最近、SFC(Sequential Function Char
t)のような工程歩進型のプログラム言語も普及し始めて
いる。
【0003】この工程歩進型のプログラムを実行可能と
する処理方式を採用するプログラマブルコントローラと
しては、特許番号2621631号に開示されたものが
知られている。
【0004】また、プログラマブルコントローラにおい
て、ユーザが記述したプログラムが正しく動作するかを
確認するための手法としては、ラダーダイアグラムの場
合、リレーと呼ばれるビット情報やチャネルデータのモ
ニタリングや、その変化を時系列的に記憶し、その後で
タイムチャート形式で表示する手法などが知られてい
る。
【0005】これはラダーダイアグラムが、入力状態と
リレーやチャネルの状態の組み合わせを状態変化の条件
として、その変化をリレーやチャネルの状態を変更して
いくことでその制御アルゴリズムが形成されているた
め、逆にラダーダイアグラムがリレーやデータの状態で
制御状況の変化を把握することができるためである。
【0006】これに対して、工程歩進型プログラムは、
各工程での動作と次工程への移行条件を組み合わせて動
作の流れを表現することを基本とし、条件分岐や複数の
工程の同時実行などを繋げて制御アルゴリズムを形成し
ていくため、プログラムの動作確認では、どの工程が動
作しているのか、どのような順序でいつ状態が変化した
のかを把握することが必要となってくる。
【0007】ところで、従来、工程歩進型の言語で記述
されたプログラムの動作確認(デバッグ)の手法として
は、以下に示す手法が一般的である。
【0008】1)監視したい対象を指定して工程の動作
状態(活性状態)をモニタする。
【0009】2)図示化されたプログラムリスト上で現
在活性化している工程を反転表示させ更新していく。
【0010】ただし、これらの手法は、工程間の遷移速
度が比較的緩やかで、人間が目視してその変化を認識で
きるような場合にのみ有効とある。そこで、工程間の遷
移が頻繁に起こる場合は、活性状態の変化をその発生の
都度コントローラ側で記憶し、後にそれをデバッグ装置
に読み出してオペレータが解析する工程歩進動作のトレ
ース手法が有効になる。
【0011】
【発明が解決しようとする課題】この発明が解決しよう
とする課題は、上述したような工程間の遷移が頻繁に起
こる工程歩進型プログラムの動作確認の手法としての工
程歩進動作のトレースについてである。
【0012】すなわち、従来のこの種の手法において
は、工程歩進型プログラムの活性状態の変化を工程番号
によりその発生順に記憶し、かつ複数のプログラムブロ
ック間の同期を実現しているが、この場合、オペレータ
がそのトレース結果を解析するのに工程番号の羅列を用
いるしかなく、その認識性の低さから解析作業に多大な
困難をきたすことが多かった。
【0013】また、複数のチャート間のタイミング検証
が必要な際にも、トレース結果の同期はとれているもの
の、個別の工程毎の状態変化までは正確に認識すること
は難しかった。
【0014】また、動作の重要な要素である工程が非活
性化したタイミングが明示的に記憶されていないため、
外部からの活性状態の変化が混在するような場合は、詳
細な状態把握が困難になった。
【0015】そこで、この発明は、プログラマブルコン
トローラにおける工程歩進型プログラムの実行状態を視
認性が高く、かつ詳細なタイミングが検証できるように
したトレース機能を実現することを目的とする。
【0016】
【課題を解決するための手段】この発明の 工程歩進型
プログラムのデバッグ方法および装置は、SFC等の工
程歩進型プログラムの実行において活性、または非活性
に変化したステップをサンプリングするトレース機能を
実現する。
【0017】すなわち、プログラマブルコントローラ側
で工程歩進型プログラムの実行における活性化/非活性
化を動作しているプログラム全体に対して、かつ活性状
態の変化が発生した順序通りに活性化/非活性化を区別
してその両方を各動作毎にサンプリングして記憶し、そ
の記憶された情報を読み出し、その状態の変化を図示化
された工程歩進型のプログラムリスト上に実行の軌跡と
しての表示や、その時々の状態の連続表示などの表示形
態により、時系列に反映させる。
【0018】これにより、プログラマブルコントローラ
における工程歩進型プログラムの実行状態を視認性が高
く、かつ詳細なタイミングが検証できるようにしたトレ
ース機能を実現する。
【0019】ここで、上記サンプリングするタイミング
はステップ活性状態の変化時(活性遷移、命令/外部か
らの強制変更)で、ステップが活性から非活性または非
活性から活性に状態遷移するタイミングでトレースバッ
ファサンプリングを行う。
【0020】このサンプリングした結果表示は、パター
ンAとパターンBの2通りの形式で行うことができる。
【0021】パターンAでは、活性状態になったステッ
プを全て反転表示する。つまり、チャート上の実行軌跡
を表示することで選択分岐個所をどちらの経路で通過し
たかを一目で把握することができる。
【0022】パターンBでは、ユーザが指定するタイミ
ング(キーアクション若しくは一定間隔)で、表示画面
を順次切り替えながら表示する。つまり、活性状態の変
化から次の変化までの時間を圧縮してその変化をトレー
スすることができる。
【0023】すなわち、この発明の工程歩進型プログラ
ムのデバッグ方法は、プログラマブルコントローラにお
ける工程歩進型プログラムの実行状態を監視する工程歩
進型プログラムのデバッグ方法において、上記プログラ
マブルコントローラによる上記工程歩進型プログラムの
実行時における各工程の活性化および/または非活性化
の状態変化を示す情報を順次記憶する第1の工程と、上
記記憶した上記工程歩進型プログラムの実行時における
各工程の活性化および/または非活性化の状態変化を示
す情報を読み出す第2の工程と、上記読出した上記工程
歩進型プログラムの実行時における各工程の活性化およ
び/または非活性化の状態変化を示す情報に基づいて、
各工程の活性状態の変化を、図示化して表示された上記
工程歩進型プログラム上にマッピングして表示する第3
の工程とを有する。
【0024】ここで、好ましい実施の形態では、第3の
工程としては、上記読出した上記工程歩進型プログラム
の実行時における各工程の活性化および/または非活性
化の状態変化を示す情報に基づいて、各工程での活性状
態となった工程を、図示化して表示された上記工程歩進
型プログラム上にマッピングして一括表示する(パター
ンA)ように構成することができる。
【0025】また、好ましい他の実施の形態では、第3
の工程としては、上記読出した上記工程歩進型プログラ
ムの実行時における各工程の活性化および/または非活
性化の状態変化を示す情報に基づいて、各工程の活性状
態の変化を、図示化して表示された上記工程歩進型プロ
グラム上にマッピングして変化順に表示する(パターン
B)ように構成することができる。
【0026】ここで、上記機能は、プログラマブルコン
トローラとこのプログラマブルコントローラに接続され
たサポートツール(デバッグ装置として機能する)とか
らなるプログラマブルコントローラシステムにより実現
することができる。
【0027】すなわち、この発明のプログラマブルコン
トローラシステムは、工程歩進型プログラムの実行を行
うとともに、上記工程歩進型プログラムの実行時におけ
る各工程の活性化および/または非活性化の状態変化を
示す情報を順次記憶する記憶手段を有するプログラマブ
ルコントローラと、上記プログラマブルコントローラに
通信手段を介して接続され、上記プログラマブルコント
ローラによる工程歩進型プログラムの実行状態を表示し
て監視するデバッグ装置とを有する。
【0028】上記デバッグ装置には、上記記憶手段から
上記通信手段を介して上記工程歩進型プログラムの実行
時における各工程の活性化および/又は非活性化の状態
変化を示す情報を読み出す読出し手段と、上記読出し手
段により読み出された上記工程歩進型プログラムの実行
時における各工程の活性化および/または非活性化の状
態変化を示す情報に基づいて、各工程の活性状態の変化
を、図示化して表示された上記工程歩進型プログラム上
にマッピングして表示する表示制御手段と、が設けられ
る。
【0029】また、上記機能は、プログラマブルコント
ローラ単独でも実現することができる。
【0030】すなわち、この発明のプログラマブルコン
トローラは、工程歩進型プログラムの実行を行う機能を
有するプログラマブルコントローラであって、上記プロ
グラマブルコントローラには、上記工程歩進型プログラ
ムの実行時における各工程の活性化および/または非活
性化の状態変化を示す情報を順次記憶する記憶手段と、
上記記憶手段から上記工程歩進型プログラムの実行時に
おける各工程の活性化および/または非活性化の状態変
化を示す情報を読み出す読出し手段と、上記読出し手段
により読み出された上記工程歩進型プログラムの実行時
における各工程の活性化および/または非活性化の状態
変化を示す情報に基づいて、各工程の活性状態の変化
を、図示化して表示された上記工程歩進型プログラム上
にマッピングして表示する表示制御手段と、が設けられ
る。
【0031】
【発明の実施の形態】以下、この発明に係わる工程歩進
型プログラムのデバッグ方法および装置の実施の形態を
添付図面を参照して詳細に説明する。
【0032】この発明に係わる係わる工程歩進型プログ
ラムのデバッグ方法の実現手法としては、プログラマブ
ルコントローラ(以下、PLCという)とこのPLCに
接続されたサポートツールとによる実現手法とPLC単
独で行う実現手法との2つの手法が考えられる。
【0033】そこで、以下の説明においては、前者の実
現手法を第1の実施の形態とし、後者の実現手法を第2
の実施の形態として説明する。
【0034】図1は、この発明に係わる工程歩進型プロ
グラムのデバッグ方法の第1の実施の形態を示すブロッ
ク図である。
【0035】図1に示す第1の実施の形態の工程歩進型
プログラムのデバッグ方法は、PLCのCPUユニット
100にデバッグ装置として機能するサポートツール2
00を接続したプログラマブルコントローラシステムと
して実現される。
【0036】ここで、CPUユニット100は、サポー
トツール200とのインタフェースをなすシリアルイン
タフェース(I/F)101、演算プロセッサ(CP
U)102、入出力メモリ(I/Oメモリ)103、ユ
ーザプログラムメモリ104、システムプログラムメモ
リ105、トレースメモリ106、ワークメモリ10
7、トレースパラメータメモリ108、入出力装置(I
/O)110とのインタフェースをなす入出力インタフ
ェース(I/F)109を具備して構成され、シリアル
インタフェース101にサポートツール200が接続さ
れ、入出力インタフェース109に入出力装置110が
接続される。
【0037】ここで、CPU102は、このPLCユニ
ット100の全体動作を統括制御するものである。
【0038】また、システムプログラムメモリ105に
は、CPU102で処理されるシステムプログラムが記
憶され、ユーザプログラムメモリ104には、ユーザプ
ログラムが記憶される。
【0039】また、トレースメモリ106には、このト
レース機能を実現するためのサンプリング結果であるト
レースデータがが記憶される。
【0040】また、トレースパラメータメモリ108に
は、このトレース機能を実行するための各種トレースパ
ラメータが記憶される。
【0041】このトレースパラメータメモリ108に記
憶されたトレースパラメータとしては、 1)トレース対象チャート番号 2)接点およびステップ番号などのトレースのトリガ条
件 3)トレースのサンプリングディレイ値 などが挙げられる。
【0042】ワークメモリ107には、CPU102の
処理全般にわたる各種データが記憶される。
【0043】また、I/Oメモリ103は、CPU10
2によるプログラム実行により入出力装置110に対し
て入出力される入出力情報の代用として参照/書き換え
られるメモリである。
【0044】また、サポートツール200は、 1)トレース処理のための各種トレースパラメータの生
成 2)CPU102に対するコマンド発行(トレース実行
依頼) 3)トレース結果の解析と表示 等を行う。
【0045】図2は、図1に示したサポートツール20
0の詳細構成を示すブロック図である。
【0046】図2において、このサポートツール200
は、表示装置260の表示を制御するための表示制御用
メモリ210、このトレース解析表示を制御するための
各種情報を記憶するメモリ空間を構成するメモリ22
0、演算装置(CPU)230、バス240、インタフ
ェース(I/F)250を具備して構成され、表示制御
用メモリ210には、表示装置260が接続され、バス
240には入力装置270、表示制御用メモリ210、
メモリ220、演算装置230、インタフェース250
が接続され、インタフェース250には、CPUユニッ
ト100が接続される。
【0047】ここで、中央演算装置230は、このサポ
ートツール200の全体動作を統括制御するものであ
る。
【0048】また、メモリ220には、 1)トレースデータ用データエリア221 2)ユーザプログラムデータエリア222 3)サポートツールプログラムモジュール223 が設けられる。
【0049】ここで、トレースデータ用データエリア2
21には、入出力装置200からのトレースデータ読み
出しコマンドの入力により、インタフェース(I/F)
250を介してCPUユニット100のトレースメモリ
106から読み出されるトレースデータが格納される。
【0050】また、ユーザプログラムモジュール222
には、CPUユニット100のユーザプログラムメモリ
104に記憶されるSFCで記述されたユーザプログラ
ムと等価なプログラムデータが記憶される。
【0051】また、サポートツールプログラムモジュー
ル223には、演算装置230が実行するこのトレース
機能を実行するためのプログラムが格納される。
【0052】また、バス240は、演算装置230が、
メモリ220、入力装置270、表示制御用メモリ21
0をアクセスするためのインタフェースを構成する。
【0053】また、インタフェース250はCPUユニ
ット100と通信を行うためのインタフェースである。
【0054】また、入力装置270は、ユーザの要求を
得るための装置で、キーボード、ポインティングデバイ
ス等から構成される。
【0055】また、表示装置260は、表示制御用メモ
リ210の状態を表示する装置で、CRT等から構成さ
れる。
【0056】さて、この発明の工程歩進型プログラムの
デバッグ装置は、SFC実行において活性、または非活
性に変化したステップをサンプリングするトレース機能
を実現する。
【0057】ここで、サンプリングするタイミングは、
ステップ活性状態の変化時、すなわち、ステップの活性
遷移、命令/外部からの強制変更時で、ステップが活性
から非活性または非活性から活性に状態遷移するタイミ
ングでトレースバッファサンプリングを行う。
【0058】このサンプリングした結果は、サポートツ
ール200において後に詳述する2種類の形式で表示さ
れる。
【0059】上記第1の形態のデバッグ装置の動作の概
略を示すと以下のようになる。
【0060】1)サポートツール200からCPUユニ
ット100に、SFCトレースのためのトレース対象の
SFCチャート、トリガ条件、ディレイ値等のトレース
パラメータが設定される。
【0061】2)その後、サポートツール200からC
PUユニット100にトレース開始の指示が発行され
る。これを機会にCPUユニット100はSFC実行に
おける活性状態の変化をトレースメモリ(トレースバッ
ファ)106に記憶し始める(データサンプリング)。
【0062】3)トリガ条件が成立した時点から、上記
ディレイ値をふまえてトレースバッファが記憶データで
埋まるまでサンプリングは続けられる。
【0063】4)サンプリングが完了すると、CPUユ
ニット100はサポートツール200にトレース完了を
知らせる。
【0064】5)サポートツール200は、CPUユニ
ット200のトレースバッファの内容を読み出し、ユー
ザが指定する結果表示形式にてサンプリング結果を表示
する。なお、サンプリング完了前のアボートにおいても
その時点までの結果を表示可能である。
【0065】すなわち、予めサポートツール200に
て、所定のトレースパラメータが設定され、SFCトレ
ースが起動されると、後述するように、SFCチャート
上で活性状態の変化が起こり、それと並行してSFCト
レースが実行され、その結果をサポートツール200が
読み出し,その結果を表示する。
【0066】この結果表示には、パターンAとパターン
Bの2通りの形式で行うことができる。なお、活性状態
の変化は、ステップ間の遷移条件の成立に依存するた
め、タイミングは不定である。
【0067】ここで、パターンAでは、例えば、活性状
態になったステップを全て反転表示する。つまり、チャ
ート上の実行軌跡を表示することで選択分岐個所をどち
らの経路で通過したかを一目で把握することができる。
【0068】また、パターンBでは、例えば、ユーザが
指定するタイミング(キーアクション若しくは一定間
隔)で、活性状態になったステップを順次切り替えなが
ら表示する。つまり、活性状態の変化から次の変化まで
の時間を圧縮してその変化をトレースすることができ
る。
【0069】この表示パターンにおいては、以下の操作
上の考慮を行い、ユーザの視認性、操作性を向上させる
ことができる。
【0070】すなわち、このパターン表示において、以
下の表示機能を付加することにより、より視認性の高い
ユーザインタフェースを提供することもできる。
【0071】1)ステップの変化点を点滅させ強調す
る。
【0072】2)チャートが表示画面より大きく、1画
面で表示しきれず、活性状態の遷移により該当個所が画
面より外れてしまうような場合には、活性個所の移動に
応じて画面を自動的に切り替える。
【0073】図3は、この発明に係わる工程歩進型プロ
グラムのデバッグ装置における工程歩進型プログラムの
表示例を示す図である。
【0074】図3において、この表示例は、サポートツ
ール200の表示装置260の表示画面上に表示される
SFCプログラムの一例を示している。
【0075】すなわち、図3においては、SFCプログ
ラムのステップS18からステップS29までが図示化
して示されており、このSFCプログラムには、ステッ
プS18の後に、ステップS19,ステップS20,ス
テップS21への第1の分岐を有しており、また、ステ
ップS22の後に、ステップS24,S25の第2の分
岐を有しており、ステップS27,ステップS23,ス
テップS28は、ステップS29の前で統合されてい
る。
【0076】さて、この第1の実施の形態の工程歩進型
プログラムのデバッグ装置におけるパターンAの表示例
においては、サポートツール200の表示装置260の
表示画面上に表示される図3に示したSFCプログラム
チャート上で、活性状態になったステップを一括してマ
ッピングして表示することでことで該SFCプログラム
のトレース結果を表示する。
【0077】図4は、この発明に係わる工程歩進型プロ
グラムのデバッグ装置におけるパターンAの表示例を示
す図である。
【0078】すなわち、図4においては、図3にしたS
FCプログラムチャート上で、活性状態になったステッ
プを全て反転表示することで、該SFCプログラムのト
レース結果を表示している。
【0079】すなわち、図4において、ハッチングで示
すように、ステップS18〜ステップS23、およびス
テップS25〜ステップS29が、このSFCプログラ
ムのトレースにより活性化したステップを示している。
【0080】図4から明らかなように、このSFCプロ
グラムチャート上で、ステップS22の後の第2の分岐
点においては、ステップS25が選択されたことが視覚
的に容易に認識できる。
【0081】つまり、このパターンAの結果表示によれ
ば、SFCプログラムチャート上の実行軌跡から選択分
岐個所をどちらの経路で通過したかを一目で把握するこ
とができる。
【0082】また、この第1の実施の形態の工程歩進型
プログラムのデバッグ装置におけるパターンBでは、サ
ポートツール200の表示装置260の表示画面上に表
示される図3に示したSFCプログラムチャート上で、
活性状態になったステップをユーザが指定するタイミン
グで、順次マッピングしてサポートツール200の表示
装置260の表示画面を順次切り替えながら表示する。
【0083】ここで、上記表示画面を切り替えるタイミ
ングは、ユーザによるサポートツール200の入力装置
270におけるキーアクション若しくは一定間隔で行わ
れる。
【0084】つまり、SFCプログラムの各ステップの
活性状態の変化から次の変化までの時間を圧縮してその
変化をトレースして表示する。
【0085】図5乃至図13は、この発明に係わる工程
歩進型プログラムのデバッグ装置におけるパターンBの
表示例を示す図である。
【0086】すなわち、図5は、ステップS18が活性
化されている第1の表示画面を示しており、図6は、次
に、ステップS19、ステップS20、ステップS21
が活性化された第2の表示画面を示しており、図7は、
次に、ステップS22、ステップS20、ステップS2
1が活性化された第3の表示画面を示しており、図8
は、次に、ステップS22、ステップS23、ステップ
S21が活性化された第4の表示画面を示しており、図
9は、次に、ステップS22、ステップS23、ステッ
プS26が活性化された第5の表示画面を示しており、
図10は、次に、ステップS22、ステップS23、ス
テップS28が活性化された第6の表示画面を示してお
り、図11は、次に、ステップS25、ステップS2
3、ステップS28が活性化された第7の表示画面を示
しており、図12は、次に、ステップS27、ステップ
S23、ステップS28が活性化された第8の表示画面
を示しており、図13は、次に、ステップS29が活性
化された第9の表示画面を示している。
【0087】このパターンBのトレース結果表示によれ
ば、図5乃至図13から明らかなように、SFCプログ
ラムチャート上で、各ステップの活性状態の変化が発生
した順をオペレータの望む時間感覚で時系列的に再現で
き、また、活性状態の遷移の狭間に、強制的な活性状態
の変更が混入したとしてもそれを区別してかつ時系列的
に確認できる。
【0088】次に、図1および図2に示したこの第1の
実施の形態のデバッグ装置の概略動作を説明する。
【0089】図14は、図1および図2に示したデバッ
グ装置の全体動作を説明するための全体フローを示すフ
ローチャートである。
【0090】図14において、左側のフローがサポート
ツール200側の処理を示し、右側のフローがPLCの
CPUユニット100側の処理を示す。
【0091】サポートツール200において、入力装置
270からオペレータよりトレース実行に必要なパラメ
ータが入力されると(ステップ1401)、このトレー
ス実行に必要なパラメータはPLCのCPUユニット1
00に送信される。
【0092】CPUユニット100は、このサポートツ
ール200から送信されたトレース実行に必要なパラメ
ータを受信し、この受信したトレース実行に必要なパラ
メータをトレースパラメータメモリ108に記憶する
(ステップ1411)。
【0093】また、オペレータは、上記トレース実行に
必要なパラメータを入力装置270から入力した後、サ
ポートツール200の入力装置270からトレース開始
入力を行う(ステップ1402)。これにより、サポー
トツール200からトレース開始指示がCPUユニット
100に送信される。
【0094】CPUユニット100では、サポートツー
ル200からのトレース開始指示があるかを調べており
(ステップ1402)、ここで、サポートツール200
からのトレース開始指示がない場合は(ステップ141
2NO)、ステップ1412に戻り、サポートツール2
00からのトレース開始指示を待つが、ステップ141
2でサポートツール200からのトレース開始指示があ
ると判断されると(ステップ1412YES)、トレー
ス処理を開始する(ステップ1414)。
【0095】このトレース処理は、SFC実行処理中に
行われ、活性状態の遷移が発生したとき、活性化したス
テップ(工程)の番号並びに非活性化したステップの番
号をトレースメモリ106に順次記憶していくことによ
り行われる(ステップ1414)。
【0096】また、別途、トリガ条件、例えば、任意の
リレーの立ち上がり、任意のステップの活性等の成立を
検知し、このトリガ条件が成立したタイミングから予め
設定されたサンプリングディレイ値を取ったトレースメ
モリ106が記憶データで埋まるまでサンプリング、す
なわち、トレースメモリ106へのデータの記憶を続け
る。
【0097】このトレースの完了は、ステップ1415
で判断され、トレースが完了していない場合は(ステッ
プ1415NO)、ステップ1414に戻り、上記トレ
ースを続けるが、ステップ1415でトレース完了と判
断されると(ステップ1416YES)、トレース完了
通知を行う(ステップ1416)。
【0098】このステップ1416のトレース完了通知
は、サポートツール200によるトレース完了確認(ス
テップ1403)に基づく完了問合せのレスポンスとし
て行われる。
【0099】すなわち、サポートツール200は、ステ
ップ1403でトレース完了の確認を行い、トレースが
完了していないと判断されると(ステップ1404N
O)、ステップ1403に戻り、再度トレース完了の確
認を行うが、ステップ1404でトレース完了と判断さ
れると(ステップ1404YES)、CPUユニット1
00のトレースメモリ106の読出し処理を実行し(ス
テップ1405)、CPUユニット100に対してトレ
ースメモリ送信依頼を通知する。
【0100】CPUユニット100では、トレース完了
通知(ステップ1416)を行った後、サポートツール
200からのトレースメモリ送信依頼があるかを調べて
おり(ステップ1417)、ここで、サポートツール2
00からのトレースメモリ送信依頼がないと判断される
と(ステップ1417NO)、ステップ1417に戻
り、サポートツール200からのトレースメモリ送信依
頼を待つが、ステップ1417で、サポートツール20
0からのトレースメモリ送信依頼があると判断されると
(ステップ1417YES)、トレースメモリ106に
記憶したデータをサポートツール200に送信し(ステ
ップ1418)、このトレース処理を完了する。
【0101】また、サポートツール200では、トレー
スメモリ読出し処理(ステップ1405)により、CP
Uユニット100から送信されたトレースメモリ106
に記憶したデータを解析し(ステップ1406)、この
解析結果に基づき前述したパターンA若しくはパターン
Bでトレース結果表示を行い(ステップ1407)、こ
のトレース処理を完了する。
【0102】次に、CPUユニット100およびサポー
トツール200における詳細処理について説明する。
【0103】図15は、図1に示したCPUユニット1
00の全体処理フローを示すフローチャートである。
【0104】図15において、PLCの電源が投入(O
N)されると、まず、所定の共通処理を実行し(ステッ
プ1501)、次に、このPLCがプログラム運転可能
かを調べる(ステップ1502)。ここで、プログラム
運転可能と判断されると(ステップ1502YES)、
このPLCのプログラム運転処理を実行する(ステップ
1503)。
【0105】また、ステップ1502でプログラム運転
不可と判断された場合(ステップ1502NO)、若し
くはステップ1503のプログラム運転処理が終了する
と、次に、I/Oメモリ103をリフレッシュするI/
Oリフレッシュ処理を実行し(ステップ1504)、そ
の後、サポートツール200との通信を行い(ステップ
1505)、ステップ1501に戻り、上記処理を繰り
返す。
【0106】ここで、この第1の実施の形態におけるC
PUユニット100のトレースメモリ106の仕様につ
いて説明する。
【0107】図16は、図1に示したCPUユニット1
00のトレースメモリ106の仕様を示す図である。
【0108】図16において、トレースメモリ106に
は、ビットA、ビットB、SFCステップ番号(SFC
STEP番号)を1レコードとしてサンプリングデー
タが記憶される。
【0109】ここで、ビットAは、1回の活性状態変化
の終了フラグを示し、ビットBは、活性/非活性になっ
たステップ種別を示す。なお、ビットBにおいて“1”
は活性、“0”は非活性を示す。
【0110】また、1レコードは、活性状態が変化した
1ステップ分(1W)とする。また、活性状態の変化、
すなわち遷移等は、1度に複数ステップ分まとめて行わ
れるので、この単位はビットAのフラグによって判断さ
れ、この単位が1回のサンプリングデータとなる。
【0111】図17は、図1に示したCPUユニット1
00におけるトレースサンプリング処理フローを示すフ
ローチャートである。
【0112】図17において、まず、該当ステップが活
性化しているかを調べる(ステップ1701)。ここ
で、該当ステップが活性化していないと判断されると
(ステップ1701NO)、該当ステップの非活性化処
理を実行する(ステップ1702)。
【0113】そして、次に、該当ステップはトレース中
かを調べ(ステップ1703)、トレース中であると判
断されると(ステップ1703YES)、トレースポイ
ンタが示すトレースメモリ106のアドレスに、ビット
BをOFF(“0”)にして該当ステップのステップ番
号を格納し(ステップ1704)、トレースポインタを
次に更新する(ステップ1708)。
【0114】また、ステップ1701において、該当ス
テップが活性化していると判断されると(ステップ17
01YES)、該当ステップの活性化処理を実行する
(ステップ1705)。
【0115】そして、次に、該当ステップはトレース中
かを調べ(ステップ1706)、トレース中であると判
断されると(ステップ1706YES)、トレースポイ
ンタが示すトレースメモリ106のアドレスに、ビット
BをON(“1”)にして該当ステップのステップ番号
を格納し(ステップ1707)、トレースポインタを次
に更新する(ステップ1708)。
【0116】ステップ1708でトレースポインタを次
に更新した後、ステップ1703でトレース中ではない
と判断された場合(ステップ1703NO)、ステップ
1706でトレース中ではないと判断された場合(ステ
ップ1706NO)は、次に、残ステップはあるかを調
べる(ステップ1709)。
【0117】ここで、残ステップがあると判断されると
(ステップ1709YES)、ステップ1701に戻り
上記処理が繰り返される。
【0118】ステップ1709で、残ステップがないと
判断されると(ステップ1709NO)、次に、該当ス
テップはトレース中かを調べ(ステップ1710)、ト
レース中である場合は(ステップ1710YES)、ト
レースポインタが示すアドレスの1レコード前のレコー
ドのビットAをONにして(ステップ1711)、この
トレースサンプリング処理を終了する。
【0119】また、ステップ1710で、該当ステップ
はトレース中でないと判断されると(ステップ1710
NO)、このままこのトレースサンプリング処理を終了
する。
【0120】図18は、図2に示したサポートツール2
00の全体処理フローを示すフローチャートである。
【0121】図2に示したサポートツール200は、 1)プログラム編集機能 2)この発明に係わるトレース機能 3)モニタ機能 等の多種の機能を有している。
【0122】そこで、図18に示したサポートツール2
00の全体処理フローにおいては、オペレータの選択操
作により各機能への分岐処理を実行する。
【0123】すなわち、図18において、まず、所定の
起動時初期処理を実行し(ステップ1801)、次に、
オペレータによる機能選択を行う(ステップ180
2)。
【0124】そして、次に、ステップ1802でオペレ
ータにより選択された機能はプログラム編集機能かを調
べ(ステップ1803)、プログラム編集機能が選択さ
れていると判断された場合は(ステップ1803YE
S)、プログラム編集機能を実行する(ステップ180
4)。
【0125】ステップ1803で、プログラム編集機能
が選択されていないと判断された場合は(ステップ18
03NO)、次に、トレース機能が選択されたかを調べ
る(ステップ1805)。
【0126】ここで、トレース機能が選択されていると
判断された場合は(ステップ1805YES)、トレー
ス機能を実行する(ステップ1807)。
【0127】また、ステップ1805でトレース機能が
選択されていないと判断された場合は(ステップ180
5NO)、次に、モニタ機能が選択されているかを調べ
る(ステップ1808)。ここで、モニタ機能が選択さ
れていると判断された場合は(ステップ1808YE
S)、モニタ機能を実行し(ステップ1809)、モニ
タ機能が選択されていないと判断された場合は(ステッ
プ1808NO)、以下同様にしてこのサポートツール
200の各機能への分岐を行う(ステップ1810)。
【0128】次に、上記機能分岐処理が終了したかを調
べ(ステップ1811)、終了していないと判断された
場合は(ステップ1811NO)、ステップ1802へ
戻り、上記処理が繰り返されるが、ステップ1811
で、この機能分岐処理が終了したと判断されると(ステ
ップ1811YES)、所定の終了処理を実行し(ステ
ップ1812)、このサポートツール200の全体処理
を終了する。
【0129】図19は、図2に示したサポートツール2
00のトレース機能全体フローを示すフローチャートで
ある。
【0130】ここで、この第1の実施の形態のデバッグ
装置において用意されているサポートツール200とC
PUユニット100との間のメッセージサービスコマン
ドについて説明する、この第1の実施の形態のデバッグ
装置においては、サポートツール200とCPUユニッ
ト100との間で以下に示すメッセージサービスコマン
ドが用意されている。
【0131】1)トレースパラメータ設定 このトレースパラメータ設定コマンドは、送信コマンド
のパラメータとして、トレース対象チャート番号、接点
およびステップ番号などのトリガ、サンプリングディレ
イ値を含み、受信レスポンスのパラメータとして、正常
終了またはエラー終了を含む。
【0132】2)トレース実行 このトレース実行コマンドは、送信コマンドのパラメー
タはないが、受信レスポンスのパラメータとして、正常
終了またはエラー終了を含む。
【0133】3)トレースアボート(中止) このトレースアボートコマンドは、送信コマンドのパラ
メータはないが、受信レスポンスのパラメータとして、
正常終了またはエラー終了を含む。
【0134】4)トレース実行状態問い合せ このトレース実行状態問い合せコマンドは、送信コマン
ドのパラメータはないが、受信レスポンスのパラメータ
として、実行中または終了を含む。
【0135】5)トレースデータ読み出し このトレースデータ読み出しコマンドは、送信コマンド
のパラメータとして、トレースメモリアドレス、読み出
しデータ長を含み、受信レスポンスのパラメータとし
て、トレースデータを含む。
【0136】さて、図19に示すフローチャートの処理
を、図2を参照して説明すると、まず、オペレータによ
る入力装置270からのトレースパラメータの入力が行
われる(ステップ1901)。
【0137】ここでトレースパラメータとは、上述した
ように 1)トレースの対象 2)トレースの開始条件(トリガ、サンプリングディレ
イ値) 等である。このトレースパラメータは、演算装置230
に入力される。
【0138】次に、演算装置230からインタフェース
250を介してメッセージサービスコマンドを用いてこ
のトレースパラメータを設定したトレースパラメータ設
定コマンドをCPUユニット100へ送信する(ステッ
プ1902)。
【0139】次に、オペレータにより入力装置270か
らトレース実行を選択し、このトレース実行の指示を演
算装置230ヘ入力し、演算装置230はトレース実行
処理を実行する(ステップ1903)。
【0140】これにより、演算装置230からインタフ
ェース250を介してメッセージサービスコマンドを用
いてトレース実行コマンドをCPUユニット100へ送
信する(ステップ1903)。
【0141】次に、トレース実行コマンドのレスポンス
からCPUユニット100においてトレース中断である
か否かを判断する(ステップ1905)。
【0142】ここで、トレース中断中であると判断され
ると(ステップ1905YES)、演算装置230から
インタフェース250を介してメッセージサービスコマ
ンドを用いてトレースアボートコマンドをCPUユニッ
ト100へ送信する(ステップ1907)。
【0143】また、ステップ1905で、トレース中断
中でないと判断されると(ステップ1905NO)、演
算装置230からインタフェース250を介してメッセ
ージサービスコマンドを用いてトレース実行状態問い合
わせコマンドをCPUユニット100へ送信する(ステ
ップ1906)。
【0144】そして、次に、このトレース実行状態問い
合わせコマンドのレスポンスからレース実行完了かを調
べ(ステップ1908)、トレース実行完了でないと判
断されると(ステップ1908NO)、ステップ190
5に戻るが、トレース実行完了と判断されると(ステッ
プ1908YES)、ステップ1909に進む。
【0145】ステップ1909では、演算装置230か
らインタフェース250を介してメッセージサービスコ
マンドを用いてトレースデータ読み出しコマンドをCP
Uユニット100へ送信する。そして、演算装置230
は、このトレースデータ読み出しコマンドのレスポンス
としてCPUユニット100からトレースデータを受信
し、この受信したトレースデータをメモリ220のトレ
ースデータ用データエリア221に格納する。
【0146】次に、演算装置230は、メモリ220の
ユーザプログラムデータエリア222に格納されたユー
ザプログラムと等価なプログラムデータと、CPUユニ
ット100のユーザプログラムとの一致をインタフェー
ス250を介してメッセージサービスコマンドを用いて
確認する(ステップ1911)。
【0147】ここで、プログラムの一致が確認されると
(ステップ1911YES)、CPUユニット100の
ユーザプログラムメモリ104からユーザプログラムを
読み出し(ステップ1912)、メモリ220のユーザ
プログラムデータエリア222のデータを元に表示制御
用メモリ210にSFCチャートに相当するデータを書
き込むSFCチャートの表示処理を実行する(ステップ
1913)。
【0148】次に、オペレータによる入力装置270か
らのトレース表示範囲が選択されると、その選択結果を
演算装置230に入力する(ステップ1914)。
【0149】続いて、オペレータによる入力装置270
からトレース結果表示のパターンがパターンAかパター
ンBかが選択されると、その選択結果を演算装置230
に入力する(ステップ1915)。
【0150】次に、演算装置230は、ステップ191
5で、パターンAとパターンBとのどちらのパターンが
選択されたかを調べ(ステップ1916)、ここで、パ
ターンAが選択されていると判断されると(ステップ1
916A)、メモリ220のトレースデータ用データエ
リア221に格納されたトレースデータを用いてパター
ンAの解析表示処理を実行し(ステップ1917)、パ
ターンBが選択されていると判断されると(ステップ1
916B)、メモリ220のトレースデータ用データエ
リア221に格納されたトレースデータを用いてパター
ンBの解析表示処理を実行し(ステップ1918)、こ
のトレース機能全体フローを終了する。
【0151】図20は、図19示したパターンAの解析
実行処理の詳細を示すフローチャートである。
【0152】このパターンAの解析実行処理は、サポー
トツール200の表示装置260の表示画面上でSFC
プログラムチャートの活性状態になったステップ全てを
一括して反転表示するものである。
【0153】図20において、サポートツール200の
演算装置230は、まず、対象ステップ抽出処理を実行
する(ステップ2001)。この対象ステップ抽出処理
は、図19のステップ1914で指定された範囲に含ま
れるステップ番号をメモリ220のユーザプログラムデ
ータエリア222のデータから抽出することにより行わ
れる。
【0154】次に、演算装置230は、トレースデータ
から対象ステップのレコードを抽出する処理を実行する
(ステップ2002)。このトレースデータから対象ス
テップのレコードを抽出する処理は、図19のステップ
1914で指定された範囲に含まれるステップ番号を含
まないトレースデータのレコードをメモリ220のトレ
ースデータ用データエリア221から削除することによ
り行われる。
【0155】続いて、演算装置230は、フラグBが
“1”のレコードを抽出する処理を実行する(ステップ
2003)。このフラグBが“1”のレコードを抽出す
る処理は、フラグBが“0”(ステップ種別が非活性)
のレコードをメモリ20のトレースデータ用データエリ
ア221から削除することにより行われる。
【0156】次に、演算装置230は、抽出されたデー
タのステップ番号を順に読み出し、活性状態の表示を行
う表示処理を実行する(ステップ2004)。この表示
処理は、表示制御用メモリ210において、トレースデ
ータ用データエリア221に含まれるステップ番号のス
テップに該当するデータを活性状態を意味するデータ
に、トレースデータ用データエリア221のレコード数
分書き換えることにより行われる。
【0157】そして、オペレータにより入力装置270
の、例えば、SPAEキーが押下されると、表示装置2
60の画面変化が停止し(ステップ2005)、このパ
ターンAの解析実行処理が終了する。
【0158】図21は、図19示したパターンBの解析
実行処理の詳細を示すフローチャートである。
【0159】このパターンBの解析実行処理は、サポー
トツール200の表示装置260の表示画面上でSFC
プログラムチャートの活性状態になったステップを順次
反転表示しながら表示画面を切り替えて表示するもので
ある。
【0160】図21において、サポートツール200の
演算装置230は、まず、対象ステップ抽出処理を実行
する(ステップ2101)。この対象ステップ抽出処理
は、図19のステップ1914で指定された範囲に含ま
れるステップ番号をユーザプログラムデータエリア22
2のデータから抽出することにより行われる。
【0161】次に、演算装置230は、トレースデータ
から対象ステップのレコードを抽出する処理を実行する
(ステップ2102)。このトレースデータから対象ス
テップのレコードを抽出する処理は、図19のステップ
1914で指定された範囲に含まれるステップ番号を含
まないトレースデータのレコードをトレースデータ用デ
ータエリア221から削除することにより行われる。
【0162】続いて、演算装置230は、呼出レコード
番号を“0“に設定し(ステップ2103)、トレース
データ用データエリア221から当該呼出レコード番号
のレコードを読み出し(ステップ2104)、次に、当
該レコードのフラグB=1、すなわち、当該レコードの
ビットBが“1”かを調べる(ステップ2105)。
【0163】ここで、フラグB=1であると(ステップ
2105YES)、読み出したレコードのステップの表
示を活性状態にし(ステップ2106)、フラグB=0
でないと(ステップ2105NO)、読み出したレコー
ドのステップの表示を非活性状態にする(ステップ21
07)。
【0164】ここで、ステップの表示を活性状態にする
処理は、演算装置230により、表示制御用メモリ21
0を、トレースデータ用データエリア221のレコード
中のフラグBが“1”であるステップ番号のステップに
該当するデータを活性状態を意味するデータに書き換え
ることにより行われ、ステップの表示を非活性状態にす
る処理は、演算装置230により、表示制御用メモリ2
10を、トレースデータ用データエリア221のレコー
ド中のフラグBが“0”であるステップ番号のステップ
に該当するデータを非活性状態を意味するデータに書き
換えることにより行われる。
【0165】次に、当該レコードのフラグA=0、すな
わち、ビットAが“0”かを調べ(ステップ218
5)、ここで、A=0でないと(ステップ2108N
O)、当該読出レコード番号を1インクリメントし(ス
テップ2110)、次に、当該読出レコード番号が総レ
コード数に達していないか、すなわち、「総レコード数
>読出レコード番号」が成立するかを調べ(ステップ2
111)、当該読出レコード番号が総レコード数に達し
ていない場合は(ステップステップ2111YES)、
ステップ2104に戻り、上記処理を繰り返す。
【0166】ステップ2108で、A=0であると判断
され(ステップ2108YES)、ここで、オペレータ
により入力装置270の、例えば、SPAEキーが押下
されると、表示装置260の画面変化を停止し(ステッ
プ2109)、当該読出レコード番号を1インクリメン
トし(ステップ2110)、次に、当該読出レコード番
号が総レコード数に達していないか、すなわち、「総レ
コード数>読出レコード番号」が成立するかを調べ(ス
テップ2111)、当該読出レコード番号が総レコード
数に達していない場合は(ステップステップ2111Y
ES)、ステップ2104に戻り、上記処理を繰り返
す。
【0167】そして、ステップ2111で、当該読出レ
コード番号が総レコード数に達し、「総レコード数>読
出レコード番号」が成立しなくなると(ステップ211
1NO)、このパターンBの解析実行処理が終了する。
【0168】なお、上記第1の実施の形態のデバッグ装
置においては、PLCのCPUユニット100にサポー
トツール200を接続し、CPUユニット100とサポ
ートツール200とが協働してトレース機能を用いたデ
バッグ処理を実現するように構成したが、上記処理をC
PUユニット100のみにより行うように構成してもよ
い。
【0169】図22は、この発明に係わる工程歩進型プ
ログラムのデバッグ装置の第2の実施の形態を示すブロ
ック図である。
【0170】図22に示す第2の実施の形態の工程歩進
型プログラムのデバッグ装置においては、PLCのCP
Uユニット100に、入力装置111および表示装置1
12を接続して構成される。
【0171】ここで、CPUユニット100は、入力装
置111とのインタフェースをなすシリアルインタフェ
ース(I/F)101、演算プロセッサ(CPU)10
2、入出力メモリ(I/Oメモリ)103、ユーザプロ
グラムメモリ104、システムプログラムメモリ10
5、トレースメモリ106、ワークメモリ107、トレ
ースパラメータメモリ108、表示装置用メモリ11
3、入出力装置(I/O)110とのインタフェースを
なす入出力インタフェース(I/F)109、表示装置
112とのインタフェースをなすインタフェース(I/
F)114を具備して構成され、シリアルインタフェー
ス101に入力装置111が接続され、入出力インタフ
ェース109に入出力装置110が接続され、インタフ
ェース(I/F)114に表示装置112が接続され
る。
【0172】ここで、CPU102は、このPLCユニ
ット100の全体動作を統括制御するものである。
【0173】また、システムプログラムメモリ105に
は、CPU102で処理されるシステムプログラムが記
憶され、ユーザプログラムメモリ104には、ユーザプ
ログラムが記憶される。
【0174】また、トレースメモリ106には、このト
レース機能を実現するためのサンプリング結果であるト
レースデータがが記憶される。
【0175】また、トレースパラメータメモリ108に
は、このトレース機能を実行するための各種トレースパ
ラメータが記憶される。
【0176】このトレースパラメータメモリ108に記
憶されたトレースパラメータとしては、 1)トレース対象チャート番号 2)接点およびステップ番号などのトレースのトリガ条
件 3)トレースのサンプリングディレイ値 などが挙げられる。
【0177】ワークメモリ107には、CPU102の
処理全般にわたる各種データが記憶される。
【0178】また、I/Oメモリ103は、CPU10
2によるプログラム実行により入出力装置110に対し
て入出力される入出力情報の代用として参照/書き換え
られるメモリである。
【0179】また、表示装置用メモリ113は、表示装
置112の表示を制御するためのものである。
【0180】また、入力装置111は、ユーザの要求を
得るための装置で、キーボード、ポインティングデバイ
ス等から構成される。
【0181】また、表示装置111は、表示装置用メモ
リ113の状態を表示する装置で、CRT,LCD等か
ら構成される。
【0182】図23は、図22に示したCPUユニット
100の全体処理フローを示すフローチャートである。
【0183】図22において、PLCの電源が投入(O
N)されると、まず、所定の共通処理を実行し(ステッ
プ2301)、次に、このPLCがプログラム運転可能
かを調べる(ステップ2302)。ここで、プログラム
運転可能と判断されると(ステップ2302YES)、
このPLCのプログラム運転処理を実行する(ステップ
2303)。
【0184】また、ステップ2302でプログラム運転
不可と判断された場合(ステップ2302NO)若しく
はステップ2303のプログラム運転処理が終了する
と、次に、I/Oメモリ103をリフレッシュするI/
Oリフレッシュ処理を実行し(ステップ2304)、そ
の後、周辺処理を実行し(ステップ2305)、ステッ
プ2301に戻り、上記処理を繰り返す。
【0185】図24は、図22に示したCPUユニット
100におけるトレースサンプリング処理フローを示す
フローチャートである。
【0186】図24において、まず、該当ステップが活
性化しているかを調べる(ステップ2401)。ここ
で、該当ステップが活性化していないと判断されると
(ステップ2401NO)、該当ステップの非活性化処
理を実行する(ステップ2402)。
【0187】そして、次に、該当ステップはトレース中
かを調べ(ステップ2403)、トレース中であると判
断されると(ステップ2403YES)、トレースポイ
ンタが示すトレースメモリ106のアドレスに、ビット
BをOFF(“0”)にして該当ステップのステップ番
号を格納し(ステップ2404)、トレースポインタを
次に更新する(ステップ2408)。
【0188】また、ステップ2401において、該当ス
テップが活性化していると判断されると(ステップ24
01YES)、該当ステップの活性化処理を実行する
(ステップ2405)。
【0189】そして、次に、該当ステップはトレース中
かを調べ(ステップ2406)、トレース中であると判
断されると(ステップ2406YES)、トレースポイ
ンタが示すトレースメモリ106のアドレスに、ビット
BをON(“1”)にして該当ステップのステップ番号
を格納し(ステップ2407)、トレースポインタを次
に更新する(ステップ2408)。
【0190】ステップ2408でトレースポインタを次
に更新した後、若しくはステップ2403でトレース中
ではないと判断された場合(ステップ2403NO)ま
たステップ2406でトレース中ではないと判断された
場合(ステップ2406NO)は、次に、残ステップは
あるかを調べる(ステップ2409)。
【0191】ここで、残ステップがあると判断されると
(ステップ2409YES)、ステップ2401に戻り
上記処理が繰り返される。
【0192】ステップ2409で、残ステップがないと
判断されると(ステップ2409NO)、次に、該当ス
テップはトレース中かを調べ(ステップ2410)、ト
レース中である場合は(ステップ2410YES)、ト
レースポインタが示すアドレスの1レコード前のレコー
ドのビットAをONにして(ステップ2411)このト
レースサンプリング処理を終了する。
【0193】また、ステップ2410で、該当ステップ
はトレース中でないと判断されると(ステップ2410
NO)、このままこのトレースサンプリング処理を終了
する。
【0194】図25は、図23に示したCPUユニット
100の周辺処理フローを示すフローチャートである。
【0195】図22に示したCPUユニット100は、 1)プログラム編集機能 2)この発明に係わるトレース機能 3)モニタ機能 等の多種の周辺機能をサポートしている。
【0196】そこで、図25に示したCPUユニット1
00の周辺処理フローにおいては、オペレータの選択操
作により周辺各機能への分岐処理を実行する。
【0197】すなわち、図25において、まず、オペレ
ータにより入力装置111から機能選択を行う(ステッ
プ2501)。
【0198】そして、次に、ステップ2501でオペレ
ータにより選択された機能はプログラム編集機能かを調
べ(ステップ2502)、プログラム編集機能が選択さ
れていると判断された場合は(ステップ2502YE
S)、プログラム編集機能を実行する(ステップ250
3)。
【0199】ステップ2502で、プログラム編集機能
が選択されていないと判断された場合は(ステップ25
02NO)、次に、トレース機能が選択されたかを調べ
る(ステップ2505)。
【0200】ここで、トレース機能が選択されていると
判断された場合は(ステップ2505YES)、トレー
ス機能を実行する(ステップ2506)。
【0201】また、ステップ2506でトレース機能が
選択されていないと判断された場合は(ステップ250
6NO)、次に、モニタ機能が選択されているかを調べ
る(ステップ2507)。ここで、モニタ機能が選択さ
れていると判断された場合は(ステップ2507YE
S)、モニタ機能を実行し(ステップ2508)、モニ
タ機能が選択されていないと判断された場合は(ステッ
プ2507NO)、以下同様にしてこの周辺各機能への
分岐を行い(ステップ2509)、この周辺処理フロー
を終了する。
【0202】なお、上記周辺処理フローは、周辺処理開
始から終了までは、一定時間で中断し、次回の周辺処理
に置いてはその中断位置から再度継続される。
【0203】図26は、図22に示したCPUユニット
100のトレース機能フローを示すフローチャートであ
る。
【0204】ここで、この第2の実施の形態のデバッグ
装置におけるトレースパラメータメモリ108の仕様お
よびトレースメモリ106の仕様について説明する。
【0205】この第2の実施の形態のデバッグ装置にお
いては、図24に示したトレースサンプリング処理と図
25に示した周辺処理(トレース機能)とのインタフェ
ース仕様として以下のフラグが用意されている。
【0206】1)トレース開始フラグ このトレース開始フラグは、周辺処理にてトレース開始
を依頼するときにONにされ、トレースサンプリング処
理側で認知されたときOFFにされる。
【0207】2)トレース中止(アボート)フラグは、
周辺処理にてトレースの中断を依頼するときONにさ
れ、トレースサンプリング側で認知されたときOFFに
される。
【0208】3)トレース完了フラグ このトレース完了フラグは、トレスサンプリング側でサ
ンプリング処理が完了したときONにされ、周辺処理に
て新たにトレースを開始するときOFFにされる。
【0209】なお、トレースメモリ106の仕様は、図
16に示した第1の実施の形態のトレースメモリ106
の仕様と同様である。
【0210】さて、図26に示すフローチャートの処理
を、図22を参照して説明すると、まず、オペレータに
よる入力装置111からのトレースパラメータの入力が
行われる(ステップ2601)。
【0211】ここでトレースパラメータとは、上述した
ように 1)トレースの対象 2)トレースの開始条件(トリガ、サンプリングディレ
イ値) 等である。このトレースパラメータは、CPUユニット
100のトレースパラメータメモリ108に格納される
(ステップ2602)。
【0212】次に、オペレータにより入力装置111か
らトレース実行を選択し、このトレース実行の指示は、
CPUユニット100のトレースパラメータメモリ10
8に格納される(ステップ2604)。
【0213】次に、トレースパラメータメモリ108か
らトレース完了フラグを読み出し(ステップ260
5)、このトレース完了フラグに基づきトレース実行完
了かを調べる(ステップ2606)。
【0214】ここで、トレース実行完了と判断されると
(ステップ2606YES)、オペレータにより入力装
置111からトレース中断の入力を可能にする(ステッ
プ2607)。
【0215】次に、オペレータによる入力装置111か
らの入力によりトレース中断かを調べ(ステップ260
8)、トレース中断でないと(ステップ2608N
O)、ステップ2605に戻り、上記処理を繰り返す
が、ステップ2608で、トレース中断と判断されると
(ステップ2608でTES)、トレースアポートをト
レースパラメータメモリ108に記憶し、このトレース
機能フローを終了する。
【0216】また、ステップ2606で、トレース実行
完了ではないと判断されると(ステップ2606N
O)、SFCチャートの表示処理を実行する(ステップ
2610)。このSFCチャートの表示処理は、トレー
スメモリ106のデータをユーザプログラムメモリ10
4のデータを元に表示制御用メモリ210にSFCチャ
ートに相当するデータを書き込むことにより行われる。
【0217】次に、オペレータによる入力装置111か
らのトレース表示範囲が選択される(ステップ261
1)。そして、続いて、オペレータによる入力装置11
1からトレース結果表示のパターンがパターンAかパタ
ーンBかが選択される(ステップ2612)。
【0218】次に、ステップ2612で、パターンAと
パターンBとのどちらのパターンが選択されたかを調べ
(ステップ2613)、ここで、パターンAが選択され
ていると判断されると、トレースメモリ106に格納さ
れたトレースデータを用いてパターンAの解析表示処理
を実行し(ステップ2614)、パターンBが選択され
ていると判断されると、トレースメモリ106に格納さ
れたトレースデータを用いてパターンBの解析表示処理
を実行し(ステップ2615)、このトレース機能フロ
ーを終了する。
【0219】なお、ステップ2614のパターンAの解
析表示処理は、第1の実施の形態に関連して図20にフ
ローチャートで示したパターンAの解析実行処理と同様
であり、ステップ2615のパターンBの解析表示処理
は、第1の実施の形態に関連して図21にフローチャー
トで示したパターンBの解析実行処理と同様である。
【0220】
【発明の効果】以上説明したようにこの発明によれば、
プログラマブルコントローラにおける工程歩進型プログ
ラムの実行状態を監視するにおいてて、上記プログラマ
ブルコントローラによる上記工程歩進型プログラムの実
行時における各工程の活性化および/または非活性化の
状態変化を示す情報を順次記憶し、上記記憶した上記工
程歩進型プログラムの実行時における各工程の活性化お
よび/または非活性化の状態変化を示す情報を読み出
し、上記読出した上記工程歩進型プログラムの実行時に
おける各工程の活性化および/または非活性化の状態変
化を示す情報に基づいて、各工程の活性状態の変化を、
図示化して表示された上記工程歩進型プログラム上にマ
ッピングして表示するように構成したため、図示表示を
利用して状態の変化を確認できる、工程歩進型プログラ
ムの実行状態を直感的に認識できるという効果を奏す
る。
【0221】また、この発明によれば、上記読出した上
記工程歩進型プログラムの実行時における各工程の活性
化および/または非活性化の状態変化を示す情報に基づ
いて、各工程の活性状態の変化を、図示化して表示され
た上記工程歩進型プログラム上にマッピングして一括表
示するように構成したので、上記の効果に加えて、工程
歩進型プログラム中の分岐個所をいずれに進行したかが
一目で認識できるという効果を奏する。
【0222】また、この発明によれば、上記読出した上
記工程歩進型プログラムの実行時における各工程の活性
化および/または非活性化の状態変化を示す情報に基づ
いて、各工程の活性状態の変化を、図示化して表示され
た上記工程歩進型プログラム上にマッピングして変化順
に表示するものであるように構成したので、上記の効果
に加えて、活性状態の変化が発生した順をオペレータの
望む時間感覚で再現でき、また、活性状態の遷移の狭間
に、強制的な活性状態の変更が混入したとしてもそれを
区別してかつ時系列的に確認できるという効果を奏す
る。
【図面の簡単な説明】
【図1】この発明に係わる工程歩進型プログラムのデバ
ッグ装置の第1の実施の形態を示すブロック図である。
【図2】図1に示したサポートツール200の詳細構成
を示すブロック図である。
【図3】この発明に係わる工程歩進型プログラムのデバ
ッグ装置における工程歩進型プログラムの表示例を示す
図である。
【図4】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンAの表示例を示す図である。
【図5】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンBの表示例を示す図である。
【図6】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンBの表示例を示す図である。
【図7】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンBの表示例を示す図である。
【図8】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンBの表示例を示す図である。
【図9】この発明に係わる工程歩進型プログラムのデバ
ッグ装置におけるパターンBの表示例を示す図である。
【図10】この発明に係わる工程歩進型プログラムのデ
バッグ装置におけるパターンBの表示例を示す図であ
る。
【図11】この発明に係わる工程歩進型プログラムのデ
バッグ装置におけるパターンBの表示例を示す図であ
る。
【図12】この発明に係わる工程歩進型プログラムのデ
バッグ装置におけるパターンBの表示例を示す図であ
る。
【図13】この発明に係わる工程歩進型プログラムのデ
バッグ装置におけるパターンBの表示例を示す図であ
る。
【図14】図1に示したデバッグ装置の全体動作を説明
するための全体フローを示すフローチャートである。
【図15】図1に示したCPUユニット100の全体処
理フローを示すフローチャートである。
【図16】図1に示したCPUユニット100のトレー
スメモリ106の仕様を示す図である。
【図17】図1に示したCPUユニット100における
トレースサンプリング処理フローを示すフローチャート
である。
【図18】図1に示したサポートツール200の全体処
理フローを示すフローチャートである。
【図19】図1に示したサポートツール200のトレー
ス機能全体フローを示すフローチャートである。
【図20】図19示したパターンAの解析実行処理の詳
細を示すフローチャートである。
【図21】図19示したパターンBの解析実行処理の詳
細を示すフローチャートである。
【図22】この発明に係わる工程歩進型プログラムのデ
バッグ装置の第2の実施の形態を示すブロック図であ
る。
【図23】図1に示したCPUユニット100の全体処
理フローを示すフローチャートである。
【図24】図22に示したCPUユニット100におけ
るトレースサンプリング処理フローを示すフローチャー
トである。
【図25】図23に示したCPUユニット100の周辺
処理フローを示すフローチャートである。
【図26】図22に示したCPUユニット100のトレ
ース機能フローを示すフローチャートである。
【符号の説明】 100 CPUユニット 101 シリアルインタフェース(I/F) 102 演算プロセッサ(CPU) 103 入出力メモリ(I/Oメモリ) 104 ユーザプログラムメモリ 105 システムプログラムメモリ 106 トレースメモリ 107 ワークメモリ 108 トレースパラメータメモリ 109 入出力インタフェース(I/F) 110 入出力装置(I/O) 111 入力装置 112 表示装置 113 表示装置用メモリ 114 インタフェース(I/F) 200 サポートツール(デバッグ装置) 210 表示制御用メモリ 220 メモリ 221 トレースデータ用データエリア 222 ユーザプログラムデータエリア 223 サポートツールプログラムモジュール 230 演算装置(CPU) 240 バス 250 インタフェース(I/F) 260 表示装置 270 入力装置
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5H220 BB10 CC05 CX06 DD07 JJ16 JJ19 JJ24 JJ27 JJ53 KK08 5H223 CC03 CC08 DD03 EE06 EE19 EE30 FF03

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 プログラマブルコントローラにおける工
    程歩進型プログラムの実行状態を監視する工程歩進型プ
    ログラムのデバッグ方法において、 上記プログラマブルコントローラによる上記工程歩進型
    プログラムの実行時における各工程の活性化および/ま
    たは非活性化の状態変化を示す情報を順次記憶する第1
    の工程と、 上記記憶した上記工程歩進型プログラムの実行時におけ
    る各工程の活性化および/または非活性化の状態変化を
    示す情報を読み出す第2の工程と、 上記読出した上記工程歩進型プログラムの実行時におけ
    る各工程の活性化および/または非活性化の状態変化を
    示す情報に基づいて、各工程での活性状態となった工程
    を、図示化して表示された上記工程歩進型プログラム上
    にマッピングして表示する第3の工程とを有する、 ことを特徴とする工程歩進型プログラムのデバッグ方
    法。
  2. 【請求項2】 第3の工程が、 上記読出した上記工程歩進型プログラムの実行時におけ
    る各工程の活性化および/または非活性化の状態変化を
    示す情報に基づいて、各工程での活性状態となった工程
    を、図示化して表示された上記工程歩進型プログラム上
    にマッピングして一括表示するものである、 ことを特徴とする請求項1に記載の工程歩進型プログラ
    ムのデバッグ方法。
  3. 【請求項3】 第3の工程が、 上記読出した上記工程歩進型プログラムの実行時におけ
    る各工程の活性化および/または非活性化の状態変化を
    示す情報に基づいて、各工程の活性状態の変化を、図示
    化して表示された上記工程歩進型プログラム上にマッピ
    ングして変化順に表示するものである、 ことを特徴とする請求項1に記載の工程歩進型プログラ
    ムのデバッグ方法。
  4. 【請求項4】 工程歩進型プログラムの実行を行うとと
    もに、上記工程歩進型プログラムの実行時における各工
    程の活性化および/または非活性化の状態変化を示す情
    報を順次記憶する記憶手段を有するプログラマブルコン
    トローラと、 上記プログラマブルコントローラに通信手段を介して接
    続され、上記プログラマブルコントローラによる工程歩
    進型プログラムの実行状態を表示して監視するデバッグ
    装置とを有し、 上記デバッグ装置には、 上記記憶手段から上記通信手段を介して上記工程歩進型
    プログラムの実行時における各工程の活性化および/又
    は非活性化の状態変化を示す情報を読み出す読出し手段
    と、 上記読出し手段により読み出された上記工程歩進型プロ
    グラムの実行時における各工程の活性化および/または
    非活性化の状態変化を示す情報に基づいて、各工程の活
    性状態の変化を、図示化して表示された上記工程歩進型
    プログラム上にマッピングして表示する表示制御手段
    と、 が設けられることを特徴とするプログラマブルコントロ
    ーラシステム。
  5. 【請求項5】 工程歩進型プログラムの実行を行う機能
    を有するプログラマブルコントローラであって、 上記プログラマブルコントローラには、上記工程歩進型
    プログラムの実行時における各工程の活性化および/ま
    たは非活性化の状態変化を示す情報を順次記憶する記憶
    手段が設けられていることを特徴とするプログラマブル
    コントローラ。
  6. 【請求項6】 工程歩進型プログラムの実行を行うとと
    もに、上記工程歩進型プログラムの実行時における各工
    程の活性化および/または非活性化の状態変化を示す情
    報を順次記憶する記憶手段を有するプログラマブルコン
    トローラに通信手段を介して接続され、上記プログラマ
    ブルコントローラによる工程歩進型プログラムの実行状
    態を表示して監視するデバッグ装置であって、 上記デバッグ装置には、 上記記憶手段から上記通信手段を介して上記工程歩進型
    プログラムの実行時における各工程の活性化および/ま
    たは非活性化の状態変化を示す情報を読み出す読出し手
    段と、 上記読出し手段により読み出された上記工程歩進型プロ
    グラムの実行時における各工程の活性化および/または
    非活性化の状態変化を示す情報に基づいて、各工程の活
    性状態の変化を、図示化して表示された上記工程歩進型
    プログラム上にマッピングして表示する表示制御手段
    と、 が設けられることを特徴とするデバッグ装置。
  7. 【請求項7】 工程歩進型プログラムの実行を行う機能
    を有するプログラマブルコントローラであって、 上記プログラマブルコントローラには、 上記工程歩進型プログラムの実行時における各工程の活
    性化および/または非活性化の状態変化を示す情報を順
    次記憶する記憶手段と、 上記記憶手段から上記工程歩進型プログラムの実行時に
    おける各工程の活性化および/または非活性化の状態変
    化を示す情報を読み出す読出し手段と、 上記読出し手段により読み出された上記工程歩進型プロ
    グラムの実行時における各工程の活性化および/または
    非活性化の状態変化を示す情報に基づいて、各工程の活
    性状態の変化を、図示化して表示された上記工程歩進型
    プログラム上にマッピングして表示する表示制御手段
    と、 が設けられることを特徴とするプログラマブルコントロ
    ーラ。
  8. 【請求項8】 表示制御手段が、各工程での活性状態と
    なった工程を、図示化して表示された上記工程歩進型プ
    ログラム上にマッピングして一括表示することを特徴と
    する請求項4、6、及び7のいずれかに記載のシステム
    又は装置。
  9. 【請求項9】 表示制御手段が、各工程の活性状態の変
    化を、図示化して表示された上記工程歩進型プログラム
    上にマッピングして変化順に表示することを特徴とする
    請求項4、6、及び7のいずれかに記載のシステム又は
    装置。
JP33869299A 1999-11-29 1999-11-29 工程歩進型プログラムのデバッグ方法および装置 Pending JP2001154711A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33869299A JP2001154711A (ja) 1999-11-29 1999-11-29 工程歩進型プログラムのデバッグ方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33869299A JP2001154711A (ja) 1999-11-29 1999-11-29 工程歩進型プログラムのデバッグ方法および装置

Publications (1)

Publication Number Publication Date
JP2001154711A true JP2001154711A (ja) 2001-06-08

Family

ID=18320571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33869299A Pending JP2001154711A (ja) 1999-11-29 1999-11-29 工程歩進型プログラムのデバッグ方法および装置

Country Status (1)

Country Link
JP (1) JP2001154711A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036403A1 (fr) * 2001-10-26 2003-05-01 Kajima Corporation Procede et appareil de surveillance de la commande d'une installation
JP2005038260A (ja) * 2003-07-16 2005-02-10 Omron Corp プログラマブルコントローラ用のプログラム開発支援装置およびプログラマブルコントローラシステム
CN102495580A (zh) * 2011-11-25 2012-06-13 中国一冶集团有限公司 施工现场plc调试模拟装置及其模拟方法
WO2012124541A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP2012256178A (ja) * 2011-06-08 2012-12-27 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN103403634A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 控制装置以及系统程序
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036403A1 (fr) * 2001-10-26 2003-05-01 Kajima Corporation Procede et appareil de surveillance de la commande d'une installation
US7280877B2 (en) 2001-10-26 2007-10-09 Kajima Corporation Facility control monitor method and facility control monitor apparatus
JP2005038260A (ja) * 2003-07-16 2005-02-10 Omron Corp プログラマブルコントローラ用のプログラム開発支援装置およびプログラマブルコントローラシステム
CN103403634A (zh) * 2011-03-15 2013-11-20 欧姆龙株式会社 控制装置以及系统程序
WO2012124541A1 (ja) * 2011-03-15 2012-09-20 オムロン株式会社 制御装置、制御システム、ツール装置および収集指示プログラム
JP2012194680A (ja) * 2011-03-15 2012-10-11 Omron Corp 制御装置、制御システム、ツール装置および収集指示プログラム
CN103430111A (zh) * 2011-03-15 2013-12-04 欧姆龙株式会社 控制装置、控制系统、工具装置以及收集指示程序
US20140058538A1 (en) * 2011-03-15 2014-02-27 Omron Corporation Control device, control system, tool device, and collection instruction program
EP2672348A4 (en) * 2011-03-15 2015-08-26 Omron Tateisi Electronics Co CONTROL DEVICE, CONTROL SYSTEM, TOOL DEVICE, AND COLLECTION INSTRUCTION PROGRAM
CN103430111B (zh) * 2011-03-15 2016-04-27 欧姆龙株式会社 控制装置、控制系统、以及工具装置
US9921560B2 (en) 2011-03-15 2018-03-20 Omron Corporation Control device, control system, tool device, and collection instruction program
JP2012256178A (ja) * 2011-06-08 2012-12-27 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
CN102495580B (zh) * 2011-11-25 2013-09-04 中国一冶集团有限公司 施工现场plc调试模拟装置及其模拟方法
CN102495580A (zh) * 2011-11-25 2012-06-13 中国一冶集团有限公司 施工现场plc调试模拟装置及其模拟方法
WO2016185558A1 (ja) * 2015-05-19 2016-11-24 三菱電機株式会社 プログラマブルロジックコントローラ、エンジニアリングツール及びエンジニアリングツールプログラム
US10248099B2 (en) 2015-05-19 2019-04-02 Mitsubishi Electric Corporation Programmable logic controller, engineering tool, and engineering tool program

Similar Documents

Publication Publication Date Title
EP1310844B1 (en) Simulation device
US6175206B1 (en) Robot information processor
EP0249384B1 (en) A programmable controller with debugging capability
US9921560B2 (en) Control device, control system, tool device, and collection instruction program
JP4329248B2 (ja) Nc加工シミュレーション装置
EP2816427A1 (en) Plc simulation system, plc simulator, recording medium, and simulation method
JP2023164999A (ja) プログラマブルロジックコントローラ用プログラム作成支援装置
JP2005011203A (ja) 数値制御装置
JP2001154711A (ja) 工程歩進型プログラムのデバッグ方法および装置
JP2002172574A (ja) ロボットの作業データ表示装置
JP2008142788A (ja) 動作プログラム作成支援方法および動作プログラム作成装置。
JP2014099058A (ja) 制御システムおよび制御装置
CN112530615B (zh) 一种适用于核电站设备的变量强制方法及系统
JP2001005504A (ja) モーションコントローラおよびモーションコントローラ用周辺装置
JP3402446B2 (ja) プログラマブルコントローラ用のモニタ装置
EP3633471B1 (en) Program development support device, program development support system, program development support method, and program development support program
JP5610146B2 (ja) データ解析支援方法、データ解析支援プログラム及びデータ解析支援システム
JP2001209412A (ja) シーケンスプログラムのシミュレーション装置
JPH1091477A (ja) 制御用マイクロコンピュータ装置及び該装置の保守ツール
JPH02284249A (ja) バストレーサ
CN117806230A (zh) 加工断点续切方法、装置、数控终端及可读存储介质
JPH10247105A (ja) プログラマブルコントローラ
JP2005301334A (ja) モーションコントローラ
JP2597635B2 (ja) 全キー動作チェック方式及び装置
JPH01223504A (ja) プログラマブルコントローラのサンプリングトレース方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees