JPH08255014A - シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法 - Google Patents

シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法

Info

Publication number
JPH08255014A
JPH08255014A JP5629895A JP5629895A JPH08255014A JP H08255014 A JPH08255014 A JP H08255014A JP 5629895 A JP5629895 A JP 5629895A JP 5629895 A JP5629895 A JP 5629895A JP H08255014 A JPH08255014 A JP H08255014A
Authority
JP
Japan
Prior art keywords
program
data
class
related data
simulation
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
JP5629895A
Other languages
English (en)
Inventor
Shoji Kitagawa
昇治 北川
Hiroshi Kuribayashi
博 栗林
Yoriyuki Okochi
頼行 大河内
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 JP5629895A priority Critical patent/JPH08255014A/ja
Publication of JPH08255014A publication Critical patent/JPH08255014A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 デバッガに対して、シミュレーションのため
に必要な相互関連データを容易かつ迅速に与える。 【構成】 プログラム記憶手段3は、デバッグ対象のプ
ログラムが記憶される。分割手段9は、基本単語関連デ
ータを用いて、このプログラムに付加されている特性デ
ータを各基本単語に分割し、前記分割された基本単語が
有するその属性および関連性に基づいて、前記プログラ
ムをクラス別プログラムに分割する。候補決定手段8
は、前記クラス別プログラムについて、最も類似度の高
いクラス別相互関連データ候補を相互関連データとして
出力する。このクラス別プログラムにおけるクラス内相
互関連データが、決定相互関連データとして出力され
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、制御対象機器を自動
制御する自動制御システムに用いるプログラムに誤りは
ないかをシミュレーションするデバッグ装置に関し、特
に、制御対象機器およびその状態を検出する状態検出器
の相互関連データの入力省力化に関する。
【0002】
【従来技術】今日、プログラマブルロジックコントロー
ラ(以下PLCという)を用いた制御対象機器制御シス
テムが知られている。PLCは、前記制御対象機器の状
態を検出する各種のセンサからの出力(開状態かまたは
閉状態か)に基づいて、予め記憶されたプログラムにし
たがって、前記制御対象機器の制御を行う。
【0003】図21に、PLCで制御されるシステムの
概略図を示す。このシステムでは、モータM1が回転す
ると、ベルトコンベアBによって、ワーク200が不良
検出位置まで運ばれる。センサ201、202によって
ワーク200の大きさが検出され、規格外であれば、不
良検出シリンダ210によって排出される。規格内でれ
ば、再びモータM1が回転し、ワークはベルトコンベア
Bの端部まで、移動する。センサ205がワーク200
を検出して一定時間後、モータM1は停止する。これに
より、テーブル211の上にワーク200が載置され
る。この状態がセンサ207で検出されると、投入シリ
ンダ213によって、ワーク200はテーブル215の
上に移動する。
【0004】テーブル215上では、センサ219でワ
ーク200が検出されると、治具217をロックし、モ
ータM2を回転させて下降させる。これにより、ワーク
200にドリル加工が施される。ドリル加工が終了する
と、排出シリンダ221によって、排出される。
【0005】このシステムにおいては、制御対象機器に
ついては、これらへ命令を与える命令入力器およびその
状態を検出する状態検出器によって制御されている。例
えば、各シリンダは、命令入力器であるソレノイドおよ
び状態検出器であるセンサを備えており(ともに図示せ
ず)、前進用のソレノイドがオンになると前進し、前端
センサで前端が検出されると、後退用のソノイドがオン
となり後退する。後端センサで後端が検出されると停止
する。
【0006】このような制御を行うプログラムは一般的
に、図22、図23に示すようなラダーチャートで表現
される。ラダーチャートは、複数の単一ラダー回路から
構成されている。各単一ラダー回路は、複数の接点から
構成されている。例えば、図22に示す単一ラダー回路
L39においては、接点00200、00005、00
008がオンで、接点00104がオフの場合、接点0
0202がオンになる。なお、接点00202は自己保
持される。
【0007】接点00202がオンになると、他の単一
ラダー回路L48の接点00202がオンとなる。この
ように、ある単一ラダー回路L39の接点における出力
結果に応じて、他の単一ラダー回路の接点の状態が変化
し、最終的に接続されている制御対象機器が制御され
る。
【0008】図24に図22、図23のラダーチャート
をニーモック形式で表したプログラムを示す。
【0009】ところで、前記プログラムについては、誤
りがないかがシミュレーション装置によって予め検証さ
れる。このシミュレーション装置について、図25を用
いて説明する。シミュレーション装置80は、プログラ
ム入力部81、接点関連データ入力部83、制御部8
2、および表示部84を備えている。
【0010】プログラム入力部81には、図24に示す
プログラムが入力される。接点関連データ入力部83に
は、前記各センサおよびソレノイドの相互の関連を示す
接点関連データが入力される。
【0011】例えば、図26に示すソレノイド0、ソレ
ノイド1、位置確認用のセンサ0、センサ1の構成を有
するシリンダがあった場合に、以下の様に状態が変化す
る。
【0012】(1)初期状態では、センサ1がオンで、他
はオフである。(2)トリガがオンになると、ソレノイド
0がオンとなり、シリンダが前進する。(3)シリンダが
前進すると、センサ0がオン、センサ1がオフとなる。
(4)センサ1がオフになるとソレノイド0がオフとな
る。(5)センサ0がオンとなるとソレノイド1がオンに
なりシリンダが後退する。(6)シリンダが後退すると、
センサ0がオフ、センサ1がオンになる。
【0013】この例において、(3)、(6)に相当する部分
は、シリンダの機会的な性質によるものであり、プログ
ラムに現れない。このような接点相互の関連を示すデー
タを接点関連データという。したがって、図24に示す
様なシステム構成および前記ラダーチャートを参照し
て、操作者が接点関連データ入力部83から与えるので
ある。
【0014】シミュレーション部82は、与えられたプ
ログラムおよび設定された接点関連データを用いて、シ
ミュレーションを行う。表示部84にはシミュレーショ
ン結果が出力される。シミュレーション結果としては、
例えば、図27に示すようなタイムチャートで出力され
る。操作者は、このタイムチャートを見て、所望の制御
が行わなれていない場合には、プログラム修正部85に
プログラム修正命令を与えて、前記プログラムのデバッ
グを行う。
【0015】このように、シミュレーション装置80上
にて、プログラムをシミュレーションしておくことによ
り、化学プラント等の危険且つ複雑な制御機器のプログ
ラムについても、安全且つ容易にプログラムのバグを検
出することができる。また、前記シミュレーション装置
においては、画面上でシミュレーションを行えるので、
システム構成が完成する前に、予めプログラムをデバッ
グすることができる。
【0016】
【発明が解決しようとする課題】しかしながら、上記の
ようなシミュレーション装置においては、次の様な問題
があった。操作者は、前記接点関連データ入力部83に
前記相互関連データを入力する必要があるので、設定す
る接点の数が多い場合には、大変な労力が必要である。
また、もし、この設定が誤っていると、プログラムに異
常がなくてもシミュレーションがうまくいかない。この
ため、操作者はプログラムのチェックおよび接点設定の
双方を1つ1つチェックする必要がある。
【0017】この発明は上記問題を解決し、前記デバッ
ガに対して、シミュレーションのために必要な相互関連
データを容易かつ迅速に与えることができるシミュレー
ション関連データ作成装置およびその方法を提供するこ
とを目的とする。
【0018】また、シミュレーションのために必要な相
互関連データそれ自体を与えなくとも、自動的にシミュ
レーションが可能となるデバッグ装置およびその方法を
提供することを目的とする。
【0019】
【課題を解決するための手段】
【0020】
【課題を解決するために案出した技術思想】請求項1の
シミュレーション関連データ作成装置においては、命令
入力器または状態検出器の特性を示す特性データが入力
されると、自動的にシミュレションの為の関連データを
作成する為に、プログラムに含まれる命令入力器および
状態検出器の相互関連と、最も類似度の高い相互関連デ
ータ候補を当該プログラムにおける相互関連データとし
て出力する決定手段を用いることとした。
【0021】すなわち、発明の全体構成を示す図である
図1に記載しているように、請求項1のシミュレーショ
ン関連データ作成装置においては、前記相互関連データ
を候補として複数記憶する相互関連データ候補記憶手
段、デバッグ対象のプログラムが記憶されるプログラム
記憶手段、前記プログラム記憶手段のプログラムについ
て、これに含まれる命令入力器および状態検出器の相互
関連と、最も類似度の高い相互関連データ候補を当該プ
ログラムにおける相互関連データとして出力する決定手
段、を備えたことを特徴とする。
【0022】請求項2のシミュレーション関連データ作
成装置においては、前記相互関連データ候補記憶手段
は、前記相互関連データ候補として、クラス別相互関連
データ候補を複数記憶しており、前記決定手段は、以下
の分割手段および候補決定手段を有すること、 1)前記プログラム記憶手段のプログラムを、クラス別プ
ログラムに分割する分割手段、 2)前記クラス別プログラムについて、これに含まれる命
令入力器および状態検出器の相互関連と、最も類似度の
高いクラス別相互関連データ候補を当該クラス別プログ
ラムにおけるクラス内相互関連データとして出力する候
補決定手段、を特徴とする。
【0023】請求項3のシミュレーション関連データ作
成装置においては、前記分割手段は、前記デバッグ対象
のプログラムを予め設定された行数または、予め設定さ
れた実入力接点数に基づいてクラス別プログラムに分割
することを特徴とする。
【0024】請求項4のシミュレーション関連データ作
成装置においては、1)前記プログラム記憶手段に記憶さ
れるプログラムには、複数の基本単語の組合わせによっ
て表され前記各命令入力器または前記各状態検出器の特
性を示す特性データが付加されており、2)前記分割手段
は、前記基本単語の属性および関連性を表す基本単語関
連データを前記基本単語ごとに記憶しており、前記特性
データおよび前記基本単語関連データに基づき、クラス
別プログラムに分割することを特徴とする。
【0025】請求項5のシミュレーション関連データ作
成装置においては、前記分割手段は、1)前記プログラム
からコメント部分を特性データとして抽出し、2)抽出さ
れた特性データを、前記基本単語関連データを用いて、
各基本単語に分割し、3)前記分割された基本単語が有す
るその属性および関連性に基づいて、前記プログラムを
前記クラス別プログラムに分割することを特徴とする。
【0026】請求項6のシミュレーション関連データ作
成装置においては、前記各クラス別プログラム間におけ
る相互関連データをクラス外相互関連データとして入力
するための入力手段、前記クラス内相互関連データおよ
び前記クラス外相互関連データを決定相互関連データと
して記憶する決定相互関連データ記憶手段、を備えたこ
とを特徴とする。
【0027】請求項7のシミュレーション関連データ作
成方法においては、前記相互関連データを候補として複
数記憶しておき、デバッグ対象のプログラムについて、
これに含まれる命令入力器および状態検出器の相互関連
と、最も類似度の高い相互関連データ候補を当該プログ
ラムにおける相互関連データとして出力することを特徴
とする。
【0028】請求項8のシミュレーション関連データ作
成方法においては、前記相互関連データ候補として、ク
ラス別相互関連データ候補を複数記憶しており、前記プ
ログラムを、クラス別プログラムに分割して、このクラ
ス別プログラムについて、これに含まれる命令入力器お
よび状態検出器の相互関連と、最も類似度の高いクラス
別相互関連データ候補を当該クラス別プログラムにおけ
るクラス内相互関連データとして出力することを特徴と
する。
【0029】請求項9のシミュレーション関連データ作
成方法においては、前記所定単位は、予め設定された行
数または予め設定された実入力接点数に基づいて決定さ
れることを特徴とする。
【0030】請求項10のシミュレーション関連データ
作成方法においては、前記プログラムには、複数の基本
単語の組合わせによって表され前記各命令入力器または
前記各状態検出器の特性を示す特性データが付加されて
おり、前記基本単語の属性および関連性を表す基本単語
関連データを前記基本単語ごとに記憶しておき、前記特
性データおよび前記基本単語関連データに基づき、クラ
ス別プログラムに分割することを特徴とする。
【0031】請求項11のシミュレーション関連データ
作成方法においては、前記分割は、1)前記プログラムか
らコメント部分を特性データとして抽出し、2)抽出され
た特性データを、前記基本単語関連データを用いて、各
基本単語に分割し、3)前記分割された基本単語が有する
その属性および関連性に基づいて、前記プログラムを前
記クラス別プログラムに分割して行われる。
【0032】請求項12のシミュレーション関連データ
作成方法においては、前記各クラス別プログラム間にお
ける相互関連データが入力されると、クラス外相互関連
データとして記憶するとともに、このクラス外相互関連
データおよび前記クラス内相互関連データを決定相互関
連データとして記憶することを特徴とする。
【0033】請求項13のデバッグ装置においては、前
記決定相互関連データ記憶手段は、前記クラス内相互関
連データとして、当該クラスのイメージデータを記憶し
ており、さらに、以下を備えたこと、請求項1ないし請
求項6のいずれかのシミュレーション関連データ作成装
置、前記シミュレーション関連データ作成装置から与え
られる決定相互関連データおよび前記プログラムについ
て、実行中のクラス毎に前記イメージデータを前記表示
手段に表示しつつシミュレーションを行うシミュレーシ
ョン手段、を特徴とする。
【0034】請求項14のデバッグ装置においては、さ
らに、前記プログラム記憶手段に記憶されているプログ
ラムを修正するプログラム修正手段を備え、前記シミュ
レーション手段は、データ出力命令を受けると、前記プ
ログラム記憶手段に記憶されたプログラムに前記決定相
互関連データを関連づけて、出力することを特徴とす
る。
【0035】請求項15のデバッグ方法においては、デ
バッグ対象のプログラムが入力されると、前記請求項7
ないし請求項12のいずれかのシミュレーション関連デ
ータ作成方法にて、前記相互関連データを決定し、前記
プログラムについて、各相互関連データのイメージデー
タを用いて、実行中のクラス毎に前記イメージデータを
表示手段に表示しつつシミュレーションを行うをことを
特徴とする。
【0036】請求項16のデバッグ方法においては、プ
ログラム修正命令に基づいて、前記デバッグ対象のプロ
グラムを修正し、データ出力命令を受けると、前記プロ
グラムに前記決定相互関連データを関連づけて、出力す
ることを特徴とする。
【0037】
【用語の定義】課題を解決するために案出した技術思想
を表現するのに用いた請求項の用語の概念を、以下のよ
うに定義するとともに、その用語と実施例との関係につ
いて説明する。
【0038】「制御対象機器」:実施例では、シリン
ダ、モータに該当するが、所定の命令が与えられると、
定められた動作を行う機器であればどのようなものであ
ってもよく、さらに大きな機器、例えば、原子炉、化学
プラントの反応炉等を含む概念である。
【0039】「命令入力器」:実施例では、ソレノイド
に該当するが、物理的命令(機械的命令、電気信号を含
む)等を受けて、前記制御対象機器へ制御命令を与える
ものであれば、どのようなものも含む。
【0040】「状態検出器」:実施例では、センサに該
当するが、前記制御対象機器の状態を検出できるもので
あれば、どのようなものも含む。
【0041】「クラス」:プログラム中で、機能的また
は動作的に1つのまとまりと看做せるプログラムのかた
まりをいい、実施例では、クラス0〜クラスnまで設定
するようにした。
【0042】「工程」:クラスがまとまったもので、あ
る程度構成が複雑となり、プログラムに不都合がある場
合にデバッグが必要か否かが現れる程度のまとまりであ
り、かつ工程全体を操作者がイメージしながらデバッグ
が可能な程度のまとまりをいう。実施例においては、図
24に示す処理全体を1の工程とした。
【0043】「基本単語」:命令入力器または状態検出
器の種類、関連度を表す最小単位であり、実施例では、
例えば「検出」、「シリンダ」等が該当する。
【0044】「特性データ」:前記各命令入力器または
状態検出器の特性を示すデータであり、複数の基本単語
の組合わせによって表される。実施例では、コメントに
該当する。
【0045】「基本単語関連データ」:基本単語のもつ
意義を表すデータであり、命令入力器または状態検出器
の種類、関連度を表す。実施例では、種類情報、ペア関
係情報、因果関係情報、同義語情報に該当する。
【0046】「相互関連データ」:前記命令入力器およ
び前記状態検出器に関して、相互の関連を示すデータで
あり、前記命令入力器間、前記状態検出器間および前記
命令入力器と前記状態検出器との間の関係を含む。
【0047】「イメージデータ」:直接または間接にク
ラスの機能を示すイメージデータであり、簡易図形化し
たシンボルデータ、および写真データを含む。
【0048】「決定手段」:最も類似度の高い相互関連
データ候補を当該プログラムにおける相互関連データと
して出力する手段であり、実施例では、決定手段は、以
下の分割手段および候補決定手段から構成されている。
【0049】「分割手段」:プログラム記憶手段のプロ
グラムを、クラス別プログラムに分割する手段である。
実施例においては、図4ステップST23の処理に該当
する。分割手段には、前記プログラムを予め設定された
行数または、予め設定された実入力接点数に基づいての
分割をおこなう手段だけでなく、前記特性データおよび
前記基本単語関連データに基づく分割を行う手段のいず
れをも含む。前記基本単語関連データに基づき分割する
場合は、前記プログラムからコメント部分を特性データ
として抽出し、抽出された特性データを、前記基本単語
関連データを用いて、各基本単語に分割し、前記分割さ
れた基本単語が有するその属性および関連性に基づい
て、前記プログラムを前記クラス別プログラムに分割す
ることにより、分割を行う。
【0050】「候補決定手段」:クラス別プログラムに
ついて、これに含まれる命令入力器および状態検出器の
相互関連と、最も類似度の高いクラス別相互関連データ
候補を当該クラス別プログラムにおけるクラス内相互関
連データとして出力する手段であり、実施例において
は、図4ステップST27の処理に該当する。
【0051】「入力手段」:各クラス別プログラム間に
おける相互関連データをクラス外相互関連データとして
入力するための手段であり、実施例においては、キーボ
ード28が該当する。
【0052】「相互関連データ候補記憶手段、プログラ
ム記憶手段および決定相互関連データ記憶手段」:実施
例においては、ハードディスク26が対応する。
【0053】
【作用】請求項1、請求項7のシミュレーション関連デ
ータ作成装置またはその方法においては、前記相互関連
データを候補として複数記憶しておき、デバッグ対象の
プログラムについて、これに含まれる命令入力器および
状態検出器の相互関連と、最も類似度の高い相互関連デ
ータ候補を当該プログラムにおける相互関連データとし
て出力する。したがって、デバッグ対象のプログラムを
与えるだけで、前記相互関連データを得ることができ
る。
【0054】請求項2、請求項8のシミュレーション関
連データ作成装置またはその方法においては、前記相互
関連データ候補として、クラス別相互関連データ候補を
複数記憶しており、前記プログラムを、クラス別プログ
ラムに分割して、このクラス別プログラムについて、こ
れに含まれる命令入力器および状態検出器の相互関連
と、最も類似度の高いクラス別相互関連データ候補を当
該クラス別プログラムにおけるクラス内相互関連データ
として出力する。したがって、デバッグ対象のプログラ
ムを与えるだけで、前記クラス別相互関連データを得る
ことができる。
【0055】請求項3、請求項9のシミュレーション関
連データ作成装置またはその方法においては、前記所定
単位は、予め設定された行数または予め設定された実入
力接点数に基づいて決定される。したがって、前記プロ
グラムに、前記各命令入力器または前記各状態検出器の
特性を示す特性データが付加されていない場合であって
も、クラス別相互関連データ候補との比較を行う為の分
割を行うことができる。
【0056】請求項4、請求項10のシミュレーション
関連データ作成装置またはその方法においては、前記プ
ログラムに付加された特性データおよび前記基本単語ご
とに記憶した基本単語関連データに基づき、クラス別プ
ログラムに分割する。すなわち、この特性データを参照
しつつ分割するので、より分割精度が向上する。
【0057】請求項5、請求項11のシミュレーション
関連データ作成装置またはその方法においては、前記プ
ログラムからコメント部分を抽出し、前記基本単語関連
データを用いて、当該コメントを各基本単語に分割す
る。そして、分割された基本単語が有するその属性およ
び関連性に基づいて、前記プログラムを前記クラス別プ
ログラムに分割する。このように、前記属性および関連
性に基づいて前記クラス別プログラムに分割することに
より、より分割精度が向上する。
【0058】請求項6、請求項12のシミュレーション
関連データ作成装置またはその方法においては、前記各
クラス別プログラム間における相互関連データが入力さ
れると、クラス外相互関連データとして記憶するととも
に、このクラス外相互関連データおよび前記クラス内相
互関連データを決定相互関連データとして記憶する。し
たがって、各クラス別プログラム間における相互関連デ
ータを設定することができる。
【0059】請求項13、請求項15のデバッグ装置ま
たはその方法においては、デバッグ対象のプログラムが
入力されると、前記相互関連データを決定する。そし
て、前記プログラムについて、各相互関連データのイメ
ージデータを用いて、実行中のクラス毎に前記イメージ
データを表示手段に表示しつつシミュレーションを行
う。このように、シミュレーションの際に、前記各相互
関連データのイメージデータを表示させることにより、
プログラムの理解がより容易となる。
【0060】請求項14、請求項16のデバッグ装置ま
たはその方法においては、プログラム修正命令に基づい
て、前記デバッグ対象のプログラムを修正し、付加デー
タ出力命令を受けると、前記プログラム記憶手段に記憶
されたプログラムに前記決定相互関連データを関連づけ
て、出力する。これにより、前記相互関連データが付加
された修正後のプログラムを得ることができる。
【0061】
【実施例】
1.機能ブロックの説明 本発明の一実施例を図面に基づいて説明する。図1に、
シミュレーション関連データ作成装置1を有するデバッ
グ装置(デバッガ)40を示す。デバッガ40は、シミ
ュレーション関連データ作成装置1、シミュレーション
手段41およびプログラム修正手段43を備えている。
デバッガ40は、制御対象機器を自動制御する自動制御
システムに用いるプログラムに誤りはないかをシミュレ
ーションするシミュレーションデバッガである。
【0062】シミュレーション関連データ作成装置1
は、前記制御対象機器へ命令を与える命令入力器および
各制御対象機器の状態を検出する状態検出器に関する相
互関連データを作成して出力する装置であり、プログラ
ム記憶手段3、相互関連データ候補記憶手段5、表示手
段6、決定手段7、決定相互関連データ記憶手段13お
よび入力手段15を備えている。
【0063】プログラム記憶手段3には、デバッグ対象
のプログラムが記憶される。このプログラムには、複数
の基本単語の組合わせによって表され前記各命令入力器
または前記各状態検出器の特性を示す特性データが付加
されている。
【0064】相互関連データ候補記憶手段5は、相互関
連データを候補として複数記憶する。本実施例において
は、前記相互関連データ候補として、クラス別相互関連
データ候補を複数記憶する。
【0065】決定手段7は、分割手段9および候補決定
手段8を有する。
【0066】分割手段9は、前記基本単語の属性および
関連性を表す基本単語関連データを前記基本単語ごとに
記憶している。本実施例においては、この属性として種
類情報を含み、前記関連性としてペア関係情報および因
果関係情報を含む。また、分割手段9は、前記プログラ
ムからコメント部分を特性データとして抽出し、抽出さ
れた特性データを、前記基本単語関連データを用いて、
各基本単語に分割し、前記分割された基本単語が有する
その属性および関連性に基づいて、前記プログラムを前
記クラス別プログラムに分割する。
【0067】候補決定手段8は、前記クラス別プログラ
ムについて、これに含まれる命令入力器および状態検出
器の相互関連と、最も類似度の高いクラス別相互関連デ
ータ候補を当該クラス別プログラムにおけるクラス内相
互関連データとして出力する。このクラス別プログラム
におけるクラス内相互関連データが、決定相互関連デー
タとして出力される。
【0068】この様にして、決定手段7は、プログラム
記憶手段3のプログラムについて、これに含まれる命令
入力器および状態検出器の相互関連と、最も類似度の高
い相互関連データ候補を当該プログラムにおける相互関
連データとして出力する。
【0069】入力手段15には、前記各クラス別プログ
ラム間における相互関連データをクラス外相互関連デー
タとして入力される。決定相互関連データ記憶手段13
は、前記クラス内相互関連データおよび前記クラス外相
互関連データを決定相互関連データとして記憶する。
【0070】プログラム修正手段43は、プログラム記
憶手段3に記憶されているプログラムを修正する。シミ
ュレーション手段41は、シミュレーション関連データ
作成装置1から与えられる決定相互関連データおよび前
記プログラムについて、実行中のクラス毎に前記イメー
ジデータを表示手段6に表示しつつシミュレーションを
行う。また、シミュレーション手段41は、データ出力
命令を受けると、プログラム記憶手段3に記憶されたプ
ログラムに前記決定相互関連データを関連づけて、出力
する。
【0071】2.ハードウェア構成 図2に、図1に示すシミュレーション関連データ作成装
置1をCPUを用いて実現したハードウェア構成の一例
を示す。シミュレーション関連データ作成装置21は、
CPU23、ROM25、RAM27、ハードディスク
26、キーボード28、フロッピーディスクドライブ3
3、マウス31、表示手段であるCRT30およびバス
ライン29を備えている。
【0072】ROM25には、CPU23の制御プログ
ラム等が記憶されており、CPU23は、この制御プロ
グラムに従いバスライン29を介して、各部を制御す
る。ハードディスク26は、後述する基本単語関連デー
タを記憶する辞書部を有する。フロッピーディスクドラ
イブ33には、デバッグ対象のプログラムを記憶したフ
ロッピーディスクが挿入される。このプログラムはRA
M27に記憶される。CRT30には、CPU23が決
定した決定相互関連データ等が表示される。
【0073】フロッピーディスクドライブ33に挿入さ
れるフロッピーディスクに記憶されたプログラムは、接
点のアドレス、接点のコメントを含む。
【0074】3.全体フローチャートの概略 つぎに、図3を用いて、ROM25に記憶されたプログ
ラムの全体構成の概略について説明する。
【0075】CPU23は、まず、フロッピーディスク
に記憶されたプログラムを読み出し、RAM27に記憶
する(図3ステップST1)。つぎに、CPU23は、
後述するように、プログラムの解析を行う(ステップS
T3)。ステップST3にて、相互関連データの設定が
終了する。これにより、図14A、Bに示すような決定
相互関連データが得られる。
【0076】つぎに、CPU23は、操作者から与えら
れた命令に基づいて、クラス間接続および工程間接続を
行う(ステップST5)。これにより、図15に示すよ
うな接続データが得られる。
【0077】つぎに、CPU23は、操作者から与えら
れるシミュレーション命令に従って、シミュレーション
を行う(ステップST7)。このシミュレーションは、
後述するように、各クラスでの実行イメージデータが表
示されつつ行なわれる。したがって、プログラムの処理
内容の理解が容易となる。
【0078】シミュレーション23は、プログラム修正
命令が与えられるか否か判断し(ステップST9)、与
えられた場合は、ステップST11にて、プログラムを
デバッグし、ステップST7へ戻り、再度シミュレーシ
ョンを行う。ステップST9にて、プログラム修正命令
が与えられない場合は、ステップST13に進む。ステ
ップST13にて、CPU23は、格納命令が与えられ
るか否か判断し、与えられた場合は、ステップST15
にて、格納命令が与えられたプログラムをRAM27か
ら読み出し、前記決定相互関連データを関連づけて、ハ
ードディスク26に格納する。このように、前記決定相
互関連データを関連づけて記憶しておくことにより、プ
ログラムの再利用および保守が容易になる。
【0079】なお、ステップST13にて、格納命令が
与えられない場合は、そのまま終了する。
【0080】4.フローチャートの詳細 4-1)プログラム解析について つぎに、図3ステップST3のプログラム解析につい
て、図4、図5を用いて説明する。CPU23は、与え
られたプログラムを工程ごとに分割する(図4ステップ
ST21)。これは、プログラム(ラダーチャート)に
は、工程ごとにどのような内容の工程かを示す工程コメ
ントが通常付加されている為、これを検出するまでが1
つの工程であると判断することができる。なお、与えら
れたプログラムを参照して、操作者が分割してもよい。
【0081】つぎに、CPU23は、クラス分割を行う
(図4ステップST23)。本実施例においては、プロ
グラムに付加されているコメントを用いてクラス分割を
行った。CPU23は、プログラムから各接点のアドレ
スおよびコメントを基本データとして抽出する(ステッ
プST33)。ここで、アドレスは接点を特定する為に
用いられる。
【0082】クラス分割に必要な基本単語関連データに
ついて図6を用いて、説明する。ハードディスク26の
辞書部には、基本単語関連データが記憶されている。本
実施例においては、基本単語関連データは、種類情報、
ペア関係情報、因果関係情報、同義語情報の4つの情報
から構成されている。本実施例においては、種類情報と
して以下の「クラス」、「名称」、「動作」および「位
置」を採用した。「クラス」とは、搬入、検査、供給等
の1つの機能を実現するために、ある程度まとまったプ
ログラム群の機能を表す種類情報である。「名称」とは
制御対象機器の名前を示す種類情報である。「動作」と
は制御対象機器の動作を示す種類情報である。「位置」
とは制御対象機器の位置を示す種類情報である。
【0083】ペア関係情報とは、基本単語のペア関係を
示す情報であり、例えば、基本単語「前進」に対して基
本単語「後退」が、ペア関係にある。
【0084】因果関係情報とは、ある基本単語に対して
因果関係が深い基本単語を示す情報であり、例えば、
「前進」すると「前端」に達するというように、動作と
位置との関係を表す。シリンダの動きを制御するソレノ
イドとセンサとの関係で説明すると以下の様になる。前
進用のソレノイドがオンになりシリンダが前進する。シ
リンダが前端に達すると、シリンダの前端に取り付けら
れたセンサがオンになる。これにより、ソレノイドがオ
フとなりシリンダの動きが停止する。この様なソレノイ
ドとセンサとの関係を因果関係という。
【0085】同義語情報とは、同じ意味を有する基本単
語であることを示す情報であり、例えば、基本単語「前
端」に対して基本単語「前進端」が該当する。
【0086】CPU23は、この基本単語関連データを
用いて、前記基本データのうちコメントの部分を基本単
語単位に分割する(図5ステップST34)。例えば、
コメント「運転SW」については、基本単語関連データ
を参照すると、基本単語「運転」があり、また、基本単
語「SW」がある。したがって、この2つの「運転」お
よび「SW」に分割される。CPU23は、このような
分割処理を全ての接点について繰返し、接点順に、図
7、図8に示す基礎データを作成する(図5ステップS
T35)。
【0087】つぎにCPU23は、CPU23は、図
7、図8に示す基礎データを用いて、各接点を分類する
(図5ステップST36)。接点「00003」のコメ
ント「不良検出前端」の基本単語「検出」に注目する。
図7、図8の基礎データにおいては、この基本単語「検
出」を有する他の接点は、接点「00004」、接点
「00103」、接点「00104」である。したがっ
て、これら4つの接点は、同じクラスに属すると推測で
きる。さらに、確実にクラス分けするために、ペア情
報、因果関係情報、および同義語情報を用いて、クラス
に属するか否か判断するようにしてもよい。
【0088】例えば、基本単語「前端」とペア関係にあ
るのは基本単語「後端」、因果関係にあるのは基本単語
「前進」、同義語は基本単語「前進端」であることがわ
かる。
【0089】CPU23は、同じクラスに分割された接
点が含まれている単一ラダー回路をクラス別プログラム
の構成要素として特定する(ステップST36)。この
ようにして、クラス別プログラムが決定される。
【0090】つぎに、CPU23は、クラス別プログラ
ムを、1つ取り出す(図4ステップST25)。ここで
は、図13に示すクラス別プログラムが取り出されたも
のとする。そして、クラス同定処理(図4ステップST
27)を行う。
【0091】このクラス同定処理に必要なクラス特定候
補について説明する。ハードディスク26のクラスデー
タベース部(図示せず)には、クラス特定候補に関する
データが、クラス特定候補の種類(クラス0〜nまで)
記憶されている。本実施例においては、クラス特定候補
に関するデータとして、タイムチャートおよびイメージ
データを採用した。
【0092】図10Bに、あるクラス特定候補(入力
2、出力2)の入出力の関係を示す。図10Bは、入力
2つ、出力2つの接点の相互関連が、そのタイムチャー
トに示すように設定されていることを示す。具体的に
は、状態T0では、センサ0のみがオンで、他は全てオ
フである。状態T1にてトリガがオンになると、状態T
2でソレノイド1がオンとなる。状態T3では、センサ
0がオフとなるとともに、センサ1がオンとなる。この
ような状態変化を状態T8まで続ける。なお、T3にお
けるソレノイド1(出力1)は、中間状態であり、オン
またはオフのいずれの状態をも可能であることを示す。
【0093】図11に他のクラス特定候補(入力2、出
力2)の入出力の関係を、図12に他のクラス特定候補
(入力3、出力2)の入出力の関係を示す。このよう
に、クラスデータベース部には、クラス特定候補とし
て、n種類のタイムチャートおよびそのイメージデータ
が記憶されている。
【0094】4-1-1)クラスの同定について つぎに、CPU23は、クラス同定処理を行う(図4ス
テップST27)。ごきクラス同定処理について、図9
を用いて説明する。CPU23は、クラスデータベース
部からクラス特定候補を1つ読み出し、図13に示すク
ラス別プログラムに、読み出したクラス特定候補の相互
関連をあてはめる(図9ステップST41)。例えば、
図10Bに示すクラス特定候補が読み出された場合、つ
ぎのようにして、相互関連が設定される。
【0095】この場合、相互関連が不明なのは、ワーク
検出00008、投入後端00010、投入前端000
09、投入後退00105、投入前進00106であ
る。まず、投入後退00105、投入前進00106
は、出力0または出力1に該当することが分かる。つぎ
に、投入後端00010および投入前端00009は、
各単一ラダー回路で相互に参照されている。したがっ
て、残る接点がトリガであることが分かる。
【0096】このようにして、投入後端00010、投
入前端00009が入力0または入力1、投入後退00
105、投入前進00106が、出力0または出力1に
該当することが分かる。なお、投入後端00010が入
力0なのか、投入前端00009が入力1なのかの決定
は、クラス別プログラムからはできないので、とりあえ
ず、投入後端00010を入力0に、投入前端0000
9を入力1に、投入後退00105を出力0に、投入前
進00106を出力1に設定する。なお、かかる相互関
連データにない接点については強制的にオン状態とす
る。例えば、タイマ等の接点である。
【0097】つぎに、CPU23は、前記クラス別プロ
グラムを実行する(図9ステップST43)。これによ
り、前記クラス別プログラムは初期状態(状態T0)か
ら、状態T1に移行する。
【0098】つぎに、CPU23は、個別適合度を記憶
する(図3ステップST45)。この場合、投入後端0
0010を入力0に、投入前端00009を入力1に、
投入後退00105を出力0に、投入前進00106を
出力1に設定している。もし、図13のクラス別プログ
ラムにおける相互関連がクラス0の設定である場合に
は、ワーク検出00008(トリガ)をオンにすること
により、前記クラス別プログラムが、図10Bに示す状
態T2と同じ状態となる。なお、実行回数に対する一致
度を個別適合度という。
【0099】このような各状態における個別適合度の判
断を最終状態(図10状態T8)まで繰返す(図9ステ
ップST47)。つぎに、CPU23は、個別適合度か
ら総合適合度を求め、総合適合度が100%か否か判断
する(図9ステップST49)。
【0100】CPU23は、総合適合度が100%であ
ると判断した場合は、相互関連を読み出したクラス特定
候補の相互関連に決定して(図9ステップST55)、
終了する。
【0101】これに対して、CPU23は、総合適合度
が100%でないと判断した場合は、その総合適合度を
記憶する(図9ステップST51)。そして、図9ステ
ップST53に進み、他のクラス特定候補について、図
9ステップST41〜ステップST49の処理を繰返
す。
【0102】もし、読み出したいずれかのクラス特定候
補をも、総合適合度が100%のものがない場合は、図
9ステップST57に進み、総合適合度が最大のものを
表示する。総合適合度が最大のものが複数ある場合は、
当然複数の候補のイメージデータが表示される。操作者
は表示された候補のイメージデータを見て、そのクラス
別プログラムにおける動作が一致するものを指定するよ
うにすればよい。このような指定が与えられた場合は、
図9ステップST55と同様にして、相互関連が決定さ
れる。
【0103】つぎに、CPU23は、分割修正命令が与
えられたか否か判断する(図9ステップST59)。こ
れは、読み出したいずれかのクラス特定候補にも、総合
適合度が100%のものがない場合は、図4ステップS
T23のクラス分割が不適切である場合が考えられるか
らである。分割修正命令が与えられると、CPU23
は、分割状態を修正する(図9ステップST61)。
【0104】このように、予め記憶しておいたクラス特
定候補における相互関連を、分割したクラス別プログラ
ムにあてはめ、実行して総合適合度を判断することによ
り、クラス別プログラムにおける相互関連を決定するこ
とができる。すなわち、クラス別プログラムについて、
これに含まれる命令入力器および状態検出器の相互関連
と、最も類似度の高いクラス別相互関連データ候補を当
該クラス別プログラムにおけるクラス内相互関連データ
として出力することができる。
【0105】なお、図13に示すクラス別プログラムに
おける相互関連がクラス0である場合に、[投入後端0
0010を入力0に、投入前端00009を入力1に、
投入後退00105を出力0に、投入前進00106を
出力1に設定した場合]も、[投入後端00010を入
力1に、投入前端00009を入力0に、投入後退00
105を出力1に、投入前進00106を出力0に設定
した場合]も、総合適合度は同じく100%となる。こ
のいずれが設定として正しいかは、操作者がこのクラス
別プログラムにおける接点の初期状態がオンかオフかで
決定すればよい。
【0106】このようなクラス同定が終了すると、CP
U23は、処理をステップST29に進める。ステップ
ST29では、CPU23は、全てのクラス別プログラ
ムについて、クラスが同定されたか否か判断する。全て
のクラス別プログラムについて、クラス同定が終了する
と、ステップST31に処理を進める。ステップST3
1では、全ての工程について、クラス別プログラムのク
ラスが同定されたか否か判断し、全ての工程について、
クラス別プログラムのクラス同定が終了した場合は、プ
ログラム解析処理は終了する。
【0107】このようなクラス内相互関連データの設定
が終了すると、図14A,Bに示すような、各接点の相
互関連データが作成され、RAM27に記憶される。例
えば、図14Aは、クラス0と同じ相互関連の接点とし
て、センサSE0が接点00003、センサSE1が接
点00004、ソレノイドSOL0が接点00103、
ソレノイドSOL1が接点00104であること、さら
に、センサSE0が接点00009、センサSE1が接
点000010、ソレノイドSOL0が接点0010
5、ソレノイドSOL1が接点00106であることを
示している。
【0108】4-2)クラス間および工程間接続について つぎに、CPU23は、クラス間、工程間接続を行う
(図3ステップST5)。この処理は、前記クラス同定
にて、クラス内の相互関連については決定できたが、各
クラスがどのように接続されているかを設定する処理で
ある。例えば、各クラスにはトリガ条件となる接点があ
る(先程の例では、ワーク検出00008)。このトリ
ガ条件は、現実のシステムにおいては、その前のクラス
の出力結果によって生ずるものである。したがって、こ
のような設定を行うことにより、クラス間を接続するこ
とができる。また、このような設定は工程間でも必要で
ある。
【0109】具体的には、前記クラス間接続は、操作者
が、キーボード28から、あるクラスからつぎのクラス
に移行するクラスを特定するとともに、移行する際の移
行条件接点を入力することにより行われる。
【0110】このようなクラス間接続処理が終了する
と、図15に示すような、各クラスの接続状態を示す接
続状態決定データが作成され、RAM27に記憶され
る。図15は、初期状態から、接点00003および接
点00006がオンとなることにより、クラス0のオフ
セット0に移行する接続状態決定データであることを示
す。ここで、クラス0のオフセット0とは、図14A
(クラス0)の0行目の接点接続状態を意味する。つぎ
に、クラス0のオフセット0から、接点00003およ
び接点00006がオフとなり、さらに、接点0000
8がオンとなることにより、クラス0のオフセット1に
移行する接続状態決定データであることを示す。
【0111】なお、本実施例においては、つぎのクラス
に移行する際、そのクラスでオンにした移行条件接点に
ついては、自動的にオフとなるようにした。例えば、ク
ラス0のオフセット0から、クラス0のオフセット1に
移行する際、移行条件接点として、接点00008がオ
ンとなることを入力すれば、接点00003および接点
00006がオフとなるにしている。これにより、移行
条件接点の入力が簡素化される。なお、操作者が、この
ような移行条件接点のオフが正しいか否かを判断できる
ように、CRT30に表示させるようにしてもよい。
【0112】4-3)シミュレーション、デバッグについて つぎに、CPU23は、デバッグ対象のプログラムにつ
いて、シミュレーションを行う(図3ステップST
7)。このシミュレーションは、RAM27に記憶され
たクラス内相互関連データおよびクラス間接続データを
読み出すことにより、行われる。このシミュレーション
は、各クラスの実行時に、そのクラスのイメージデータ
が読み出され、CRT30に表示される。このように、
シミュレーション時に、実行されているクラスのイメー
ジデータを表示することにより、プログラムの構成を明
確に理解することができる。なお、これ以外の処理は従
来のシミュレータと同じであるので、説明は省略する。
【0113】操作者は、シミュレーションの際、プログ
ラムにバグがあることを発見すると、シミュレーション
を中断し、プログラム修正命令をキーボード28から与
える。プログラム修正命令が与えられた場合は、CPU
23は、修正処理を行い(図3ステップST11)、修
正後のプログラムにて、ステップST7のシミュレーシ
ョンを行う。
【0114】プログラム修正命令が与えられない場合
は、格納命令が与えられたか否か判断する(図3ステッ
プST13)。格納命令が与えられた場合は、ステップ
ST15に進み、CPU23はシミュレーションしたプ
ログラム(修正した場合は、修正後のプログラム)およ
び相互関連データ(図14及び図15)をRAM27に
記憶して、処理を終了する。格納命令が与えられない場
合は、そのまま処理を終了する。
【0115】このように、デバッグ終了したのプログラ
ムおよびその相互関連データを記憶しておくことによ
り、プログラムの再利用が容易となるとともに、プログ
ラムのメンテナンスも容易となる。
【0116】このように、本実施例においては、同じ機
能を実行するクラス別プログラムについては、同じクラ
スに分類する。したがって、例えば、図16〜図18に
示すクラス別プログラムを、図13に示すクラス別プロ
グラムと同じ機能として取扱うことができる。これによ
り、表現が異なるクラス別プログラムであっても、機能
的に同じであるクラス別プログラムについては、同じも
のであるとして、イメージデータを表示しつつ、シミュ
レーションを行うことができる。
【0117】5.他の実施例 上記第1実施例においては、プログラムに付加されたコ
メントを用いてクラス別プログラムに分割した。しか
し、分割方法についてはどのような方法で行ってもよ
く、分割する前記所定単位として、予め設定された行数
に基づいて決定するようにしてもよい。具体的には、デ
バッグ対象のプログラムを所定行数(例えば単一ラダー
回路数6個等)で分割するようにすればよい。また、プ
ログラムの行数ではなく、予め設定された実入力接点数
に基づいて決定してもよい。具体的には、例えば6個の
実入力接点を含む行で、分割する等である。
【0118】このようにすることにより、プログラムに
付加されたコメントが不適切である場合でも、適当に分
割することができる。例えば、上記ペア関係となるべき
相手が検出できないとか、因果関係のある相手が検出で
きない等である。
【0119】なお、一般には、同じクラスに用いる接点
は、ほぼ近くのアドレスに設定される。したがって、
「自分の前後のアドレスの接点が、同じクラス名である
場合は、自分もそのクラスに属する」というルールを記
憶しておくことにより、クラス名が欠落している場合に
でも、クラス別プログラムに分割することができる。
【0120】なお、本実施例においては、PLCのシー
ケンスプログラムのシミュレーションを行うために、各
接点間の相互関連を求める場合を例にとって説明した。
しかしこれに限られることなく、複数の基本単語の組合
わせによって表され、前記各命令入力器または状態検出
器の特性を示す特性データが与えられるものであれば、
どのようなものにも同様にして適用することができる。
例えば、化学プラント、原子炉等の制御システムのプロ
グラムについてシミュレーションのための相互関連デー
タを得ることができる。
【0121】また、上記実施例においては、ある程度の
コメントに用いられる基本単語が限定しているが、同義
語を数多く記憶させておくことにより、基本単語につい
て種々の基本単語で表現されている場合でも、前記分割
が可能となる。
【0122】なお、本実施例においては、クラス別プロ
グラムに分割する前に、基本単語の基本単語関連データ
を有する基礎データ(図7、図8参照)を作成するよう
にしたが、これに限定されるわけでなく、分割の際に、
基本単語関連データを参照するようにしてもよい。
【0123】また、本実施例においては、クラス別プロ
グラムに分割するにあたって、プログラムに付加された
コメントを特性データとして抽出するようにした。しか
しこれに限られることなく、コメントを含むデータであ
ればどのようなものを基準として、クラス別プログラム
に分割してもよく、例えば、プログラム作成に当たって
作成したタイムチャート、また、図20に示すようなI
/Oテーブル等のコメントを用いてもよい。
【0124】なお、本実施例においては、コメントを含
んだプログラムを与えるようにしたが、直接各アドレス
に対応したコメント部分だけを入力するようにしてもよ
い。これにより、コメント部を抽出する処理が不要とな
る。
【0125】なお、本実施例においては、前記各機能を
実現する為に、CPU23を用い、ソフトウェアによっ
てこれを実現している。しかし、その一部もしくは全て
を、ロジック回路等のハードウェアによって実現しても
よい。
【0126】
【発明の効果】請求項1、請求項7のシミュレーション
関連データ作成装置またはその方法においては、前記相
互関連データを候補として複数記憶しておき、デバッグ
対象のプログラムについて、最も類似度の高い相互関連
データ候補を当該プログラムにおける相互関連データと
して出力する。したがって、デバッグ対象のプログラム
を与えるだけで、前記デバッガに対して、シミュレーシ
ョンのために必要な関連データを容易かつ迅速に与える
ことができるシミュレーション関連データ作成装置およ
びその方法を提供することができる。
【0127】請求項2、請求項8のシミュレーション関
連データ作成装置またはその方法においては、前記プロ
グラムを、クラス別プログラムに分割して、最も類似度
の高いクラス別相互関連データ候補を当該クラス別プロ
グラムにおけるクラス内相互関連データとして出力す
る。したがって、デバッグ対象のプログラムを与えるだ
けで、前記デバッガに対して、シミュレーションのため
に必要な関連データを容易かつ迅速に与えることができ
るシミュレーション関連データ作成装置およびその方法
を提供することができる。
【0128】請求項3、請求項9のシミュレーション関
連データ作成装置またはその方法においては、前記所定
単位は、予め設定された行数または予め設定された実入
力接点数に基づいて決定される。したがって、前記特性
データが付加されていない場合であっても、適切な分割
をすることができるシミュレーション関連データ作成装
置およびその方法を提供することができる。
【0129】請求項4、請求項10のシミュレーション
関連データ作成装置またはその方法においては、前記プ
ログラムに付加された特性データおよび前記基本単語ご
とに記憶した基本単語関連データに基づき、クラス別プ
ログラムに分割する。このように、この特性データを参
照しつつ分割するので、より適切な分割をすることがで
きるシミュレーション関連データ作成装置およびその方
法を提供することができる。
【0130】請求項5、請求項11のシミュレーション
関連データ作成装置またはその方法においては、前記プ
ログラムからコメント部分を抽出し、前記基本単語関連
データを用いて、当該コメントを各基本単語に分割す
る。そして、分割された基本単語が有するその属性およ
び関連性に基づいて、前記プログラムを前記クラス別プ
ログラムに分割する。このように、この特性データを参
照しつつ分割するので、より適切な分割をすることがで
きるシミュレーション関連データ作成装置およびその方
法を提供することができる。
【0131】請求項6、請求項12のシミュレーション
関連データ作成装置またはその方法においては、前記各
クラス別プログラム間における相互関連データが入力さ
れると、クラス外相互関連データおよび前記クラス内相
互関連データを決定相互関連データとして記憶する。し
たがって、各クラス別プログラム間における相互関連デ
ータを設定することができる。これにより、クラス間を
接続したシミュレーションができるシミュレーション関
連データ作成装置およびその方法を提供することができ
る。
【0132】請求項13、請求項15のデバッグ装置ま
たはその方法においては、デバッグ対象のプログラムが
入力されると、前記相互関連データを決定する。そし
て、前記プログラムについて、各相互関連データのイメ
ージデータを用いて、実行中のクラス毎に前記イメージ
データを表示手段に表示しつつシミュレーションを行
う。このように、シミュレーションの際に、前記各相互
関連データのイメージデータを表示させることにより、
プログラムの理解がより容易となる。これにより、シミ
ュレーションのために必要な関連データを容易かつ迅速
に与えることができるデバッグ装置またはデバッグ方法
を提供することができる。
【0133】請求項14、請求項16のデバッグ装置ま
たはその方法においては、プログラム修正命令に基づい
て、前記デバッグ対象のプログラムを修正し、付加デー
タ出力命令を受けると、前記プログラム記憶手段に記憶
されたプログラムに前記決定相互関連データを関連づけ
て、出力する。これにより、したがって、前記相互関連
データが付加された修正後のプログラムを得ることがで
きる。これにより、デバッグ後のプログラムにプログラ
ム理解を助けるデータが付加することができるデバッグ
装置またはデバッグ方法を提供することができる。
【図面の簡単な説明】
【図1】本発明にかかる一実施例であるシミュレーショ
ンデバッガ40の機能ブロック図である。
【図2】図1に示すシミュレーションデバッガをCPU
で実現したハードウェアー構成を示す図である。
【図3】全体の処理フローチャートである。
【図4】プログラム解析のフローチャートである。
【図5】クラス分割処理のフローチャートである。
【図6】ハードディスク26の辞書部のデータの一例を
示す図である。
【図7】基礎データのデータ構造を示す図である。
【図8】基礎データのデータ構造を示す図である。
【図9】クラス同定処理のフローチャートである。
【図10】クラス0のイメージデータおよびタイムチャ
ートを示す図である。
【図11】クラス1のタイムチャートを示す図である。
【図12】クラス2のタイムチャートを示す図である。
【図13】クラス別プログラムを示す図である。
【図14】クラス内相互関連データを示す図である。
【図15】クラス外相互関連データを示す図である。
【図16】図13に示すクラス別プログラムと同じ機能
を有する他のクラス別プログラムの例を示す図である。
【図17】図13に示すクラス別プログラムと同じ機能
を有する他のクラス別プログラムの例を示す図である。
【図18】図13に示すクラス別プログラムと同じ機能
を有する他のクラス別プログラムの例を示す図である。
【図19】図11に示すクラス1のタイムチャートに対
応するクラス別プログラムの一例を示す図である。
【図20】I/Oテーブルの一例を示す図である。
【図21】PLCで制御されるシステム構成の概略を示
す図である(従来技術)。
【図22】図21のシステムを制御するラダーチャート
である(従来技術)。
【図23】図21のシステムを制御するラダーチャート
である(従来技術)。
【図24】図22、図23に示すラダーチャートをニー
モック形式で表したものである(従来技術)。
【図25】従来のデバッガ80の機能ブロック図である
(従来技術)。
【図26】シリンダ51の模式図である(従来技術)。
【図27】タイムチャートの一例を示す図である(従来
技術)。
【符号の説明】
3・・・・プログラム記憶手段 5・・・・相互関連データ候補記憶手段 6・・・・表示手段 7・・・・決定手段 8・・・・候補決定手段 9・・・・分割手段 13・・・決定相互関連データ記憶手段 15・・・入力手段 41・・・シミュレーション手段 43・・・プログラム修正手段
【手続補正書】
【提出日】平成7年3月30日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図12
【補正方法】変更
【補正内容】
【図12】
【手続補正3】
【補正対象書類名】図面
【補正対象項目名】図13
【補正方法】変更
【補正内容】
【図13】
【手続補正4】
【補正対象書類名】図面
【補正対象項目名】図14
【補正方法】変更
【補正内容】
【図14】
【手続補正5】
【補正対象書類名】図面
【補正対象項目名】図15
【補正方法】変更
【補正内容】
【図15】
【手続補正6】
【補正対象書類名】図面
【補正対象項目名】図16
【補正方法】変更
【補正内容】
【図16】
【手続補正7】
【補正対象書類名】図面
【補正対象項目名】図17
【補正方法】変更
【補正内容】
【図17】
【手続補正8】
【補正対象書類名】図面
【補正対象項目名】図18
【補正方法】変更
【補正内容】
【図18】
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図19
【補正方法】変更
【補正内容】
【図19】
【手続補正10】
【補正対象書類名】図面
【補正対象項目名】図26
【補正方法】変更
【補正内容】
【図26】

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】制御対象機器を自動制御する自動制御シス
    テムに用いるプログラムに誤りはないかをシミュレーシ
    ョンするデバッガに対して、前記制御対象機器へ命令を
    与える命令入力器および各制御対象機器の状態を検出す
    る状態検出器に関する相互関連データを作成して出力す
    るシミュレーション関連データ作成装置であって、 前記相互関連データを候補として複数記憶する相互関連
    データ候補記憶手段、 デバッグ対象のプログラムが記憶されるプログラム記憶
    手段、 前記プログラム記憶手段のプログラムについて、これに
    含まれる命令入力器および状態検出器の相互関連と、最
    も類似度の高い相互関連データ候補を当該プログラムに
    おける相互関連データとして出力する決定手段、 を備えたことを特徴とするシミュレーション関連データ
    作成装置。
  2. 【請求項2】請求項1のシミュレーション関連データ作
    成装置において、 前記相互関連データ候補記憶手段は、前記相互関連デー
    タ候補として、クラス別相互関連データ候補を複数記憶
    しており、 前記決定手段は、以下の分割手段および候補決定手段を
    有すること、 1)前記プログラム記憶手段のプログラムを、クラス別プ
    ログラムに分割する分割手段、 2)前記クラス別プログラムについて、これに含まれる命
    令入力器および状態検出器の相互関連と、最も類似度の
    高いクラス別相互関連データ候補を当該クラス別プログ
    ラムにおけるクラス内相互関連データとして出力する候
    補決定手段、 を特徴とするシミュレーション関連データ作成装置。
  3. 【請求項3】請求項2のシミュレーション関連データ作
    成装置において、 前記分割手段は、前記デバッグ対象のプログラムを予め
    設定された行数または、予め設定された実入力接点数に
    基づいてクラス別プログラムに分割すること、 を特徴とするシミュレーション関連データ作成装置。
  4. 【請求項4】請求項2のシミュレーション関連データ作
    成装置において、 1)前記プログラム記憶手段に記憶されるプログラムに
    は、複数の基本単語の組合わせによって表され前記各命
    令入力器または前記各状態検出器の特性を示す特性デー
    タが付加されており、 2)前記分割手段は、前記基本単語の属性および関連性を
    表す基本単語関連データを前記基本単語ごとに記憶して
    おり、前記特性データおよび前記基本単語関連データに
    基づき、クラス別プログラムに分割すること、 を特徴とするシミュレーション関連データ作成装置。
  5. 【請求項5】請求項4のシミュレーション関連データ作
    成装置において、 前記分割手段は、 1)前記プログラムからコメント部分を特性データとして
    抽出し、 2)抽出された特性データを、前記基本単語関連データを
    用いて、各基本単語に分割し、 3)前記分割された基本単語が有するその属性および関連
    性に基づいて、前記プログラムを前記クラス別プログラ
    ムに分割すること、 を特徴とするシミュレーション関連データ作成装置。
  6. 【請求項6】請求項2、請求項3、請求項4または請求
    項5のシミュレーション関連データ作成装置において、 前記各クラス別プログラム間における相互関連データを
    クラス外相互関連データとして入力するための入力手
    段、 前記クラス内相互関連データおよび前記クラス外相互関
    連データを決定相互関連データとして記憶する決定相互
    関連データ記憶手段、 を備えたことを特徴とするシミュレーション関連データ
    作成装置。
  7. 【請求項7】制御対象機器を自動制御する自動制御シス
    テムに用いるプログラムに誤りはないかをシミュレーシ
    ョンするデバッガに対して、前記制御対象機器へ命令を
    与える命令入力器および各制御対象機器の状態を検出す
    る状態検出器に関する相互関連データを作成して出力す
    るシミュレーション関連データ作成方法であって、 前記相互関連データを候補として複数記憶しておき、 デバッグ対象のプログラムについて、これに含まれる命
    令入力器および状態検出器の相互関連と、最も類似度の
    高い相互関連データ候補を当該プログラムにおける相互
    関連データとして出力すること、 を特徴とするシミュレーション関連データ作成方法。
  8. 【請求項8】請求項7のシミュレーション関連データ作
    成方法において、 前記相互関連データ候補として、クラス別相互関連デー
    タ候補を複数記憶しており、 前記プログラムを、クラス別プログラムに分割して、こ
    のクラス別プログラムについて、これに含まれる命令入
    力器および状態検出器の相互関連と、最も類似度の高い
    クラス別相互関連データ候補を当該クラス別プログラム
    におけるクラス内相互関連データとして出力すること、 を特徴とするシミュレーション関連データ作成方法。
  9. 【請求項9】請求項7のシミュレーション関連データ作
    成方法において、 前記所定単位は、予め設定された行数または予め設定さ
    れた実入力接点数に基づいて決定されること、 を特徴とするシミュレーション関連データ作成方法。
  10. 【請求項10】請求項7のシミュレーション関連データ
    作成方法において、 前記プログラムには、複数の基本単語の組合わせによっ
    て表され前記各命令入力器または前記各状態検出器の特
    性を示す特性データが付加されており、 前記基本単語の属性および関連性を表す基本単語関連デ
    ータを前記基本単語ごとに記憶しておき、 前記特性データおよび前記基本単語関連データに基づ
    き、クラス別プログラムに分割すること、 を特徴とするシミュレーション関連データ作成方法。
  11. 【請求項11】請求項10のシミュレーション関連デー
    タ作成方法において、 前記分割は、以下の手順で行われること、 1)前記プログラムからコメント部分を特性データとして
    抽出し、 2)抽出された特性データを、前記基本単語関連データを
    用いて、各基本単語に分割し、 3)前記分割された基本単語が有するその属性および関連
    性に基づいて、前記プログラムを前記クラス別プログラ
    ムに分割すること、 を特徴とするシミュレーション関連データ作成方法。
  12. 【請求項12】請求項8、請求項9、請求項10または
    請求項11のシミュレーション関連データ作成方法にお
    いて、 前記各クラス別プログラム間における相互関連データが
    入力されると、クラス外相互関連データとして記憶する
    とともに、このクラス外相互関連データおよび前記クラ
    ス内相互関連データを決定相互関連データとして記憶す
    ること、 を特徴とするシミュレーション関連データ作成方法。
  13. 【請求項13】制御対象機器を自動制御する自動制御シ
    ステムに用いるプログラムに誤りはないかをシミュレー
    ションするデバッグ装置であって、 前記決定相互関連データ記憶手段は、前記クラス内相互
    関連データとして、当該クラスのイメージデータを記憶
    しており、さらに、以下を備えたこと、 請求項1ないし請求項6のいずれかのシミュレーション
    関連データ作成装置、 前記シミュレーション関連データ作成装置から与えられ
    る決定相互関連データおよび前記プログラムについて、
    実行中のクラス毎に前記イメージデータを前記表示手段
    に表示しつつシミュレーションを行うシミュレーション
    手段、 を特徴とするデバッグ装置。
  14. 【請求項14】請求項13のデバッグ装置において、さ
    らに、 前記プログラム記憶手段に記憶されているプログラムを
    修正するプログラム修正手段を備え、 前記シミュレーション手段は、データ出力命令を受ける
    と、前記プログラム記憶手段に記憶されたプログラムに
    前記決定相互関連データを関連づけて、出力すること、 を特徴とするデバッグ装置。
  15. 【請求項15】制御対象機器を自動制御する自動制御シ
    ステムに用いるプログラムに誤りはないかをシミュレー
    ションするデバッグ方法であって、 デバッグ対象のプログラムが入力されると、 前記請求項7ないし請求項12のいずれかのシミュレー
    ション関連データ作成方法にて、前記相互関連データを
    決定し、 前記プログラムについて、各相互関連データのイメージ
    データを用いて、実行中のクラス毎に前記イメージデー
    タを表示手段に表示しつつシミュレーションを行うこ
    と、 を特徴とするデバッグ方法。
  16. 【請求項16】請求項15のデバッグ方法において、さ
    らに、 プログラム修正命令に基づいて、前記デバッグ対象のプ
    ログラムを修正し、 データ出力命令を受けると、前記プログラムに前記決定
    相互関連データを関連づけて、出力すること、 を特徴とするデバッグ方法。
JP5629895A 1995-03-15 1995-03-15 シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法 Pending JPH08255014A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5629895A JPH08255014A (ja) 1995-03-15 1995-03-15 シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5629895A JPH08255014A (ja) 1995-03-15 1995-03-15 シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法

Publications (1)

Publication Number Publication Date
JPH08255014A true JPH08255014A (ja) 1996-10-01

Family

ID=13023219

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5629895A Pending JPH08255014A (ja) 1995-03-15 1995-03-15 シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法

Country Status (1)

Country Link
JP (1) JPH08255014A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747529B2 (en) 2012-03-19 2017-08-29 Mitsubishi Electric Corporation Sequence program creation device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747529B2 (en) 2012-03-19 2017-08-29 Mitsubishi Electric Corporation Sequence program creation device

Similar Documents

Publication Publication Date Title
US7895575B2 (en) Apparatus and method for generating test driver
JPH07230484A (ja) 有限状態マシン遷移アナライザ
CN112506759A (zh) 伺服系统控制软件的自动化测试方法、装置及存储介质
US20050071791A1 (en) Method and system for incremental behavioral validation of digital design expressed in hardware description language
JPH08255014A (ja) シミュレーション関連データ作成装置およびシミュレーション関連データ作成方法
CN113076140B (zh) 一种gpio配置检测方法、装置及服务器
JP3605506B2 (ja) クリティカルパス探索方式
JPH09146615A (ja) シミュレーション補助装置およびシミュレーション補助方法
JPH08305417A (ja) シーケンスプログラムのデバッグ装置およびデバッグ方法
CN109947609B (zh) 一种面向故障注入的软硬件协同加速方法和系统
JPH08211913A (ja) シミュレーション関連データ作成装置、シミュレーション関連データ作成方法およびシミュレーション関連データ作成装置を有するデバッガ
JP2003271694A (ja) プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム
Case et al. SALOGS-IV A Program to Perform Logic Simulation and Fault Diagnosis
JP2021117666A (ja) コード検査ツール、コード検査方法
JPH09101810A (ja) プログラマブルロジックコントローラの入出力接点の変化記録データを解析する装置およびその方法
JPH03182941A (ja) プログラムテスト方式
JPH0561935A (ja) 論理シミユレーシヨン方式
JPH03252769A (ja) 論理シミュレーション方式
JPH01155438A (ja) コンパイラ試験方式
JPS63201736A (ja) プログラマブルコントロ−ラのプログラミング装置
EP0526054A2 (en) Monitoring execution of a computer program to provide test coverage analysis
JPH09114516A (ja) 設備制御システムの設備制御シーケンスの動作状態監視方法及びシーケンス制御装置
JPH05250221A (ja) シミュレータ実行方式
JP2806976B2 (ja) プログラム内容検査装置
CN118567975A (zh) 用户界面的回归测试方法、装置、电子设备和存储介质