JP3550640B2 - オンラインエディットシステム - Google Patents
オンラインエディットシステム Download PDFInfo
- Publication number
- JP3550640B2 JP3550640B2 JP09031798A JP9031798A JP3550640B2 JP 3550640 B2 JP3550640 B2 JP 3550640B2 JP 09031798 A JP09031798 A JP 09031798A JP 9031798 A JP9031798 A JP 9031798A JP 3550640 B2 JP3550640 B2 JP 3550640B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- agent
- debug
- collection
- ladder
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、制御対象機器を制御する制御装置が実行するユーザプログラムをオンラインエディットするオンラインエディットシステムに関する。
【0002】
【従来の技術】
プログラマブルコントローラでセンサ,アクチュエータ等の制御機器を制御するFAシステムにおいて、プログラマブルコントローラを稼働させるラダープログラムからなるユーザプログラムをオンラインエディットするには、従来から、例えば、図12に示すように、プログラマブルコントローラ(以下、PLCという)50と、オンラインエディットモニタ60とが回線70に接続されて構成されたオンラインエディットシステムが使用されている。
【0003】
この従来のオンラインエディットシステムは、各PLC50に実行されているユーザプログラムをオンラインエディットする場合には、オンラインエディットモニタ60が指示を出してオンラインエディットするPLC50の稼働を停止させる。
【0004】
次に、このオンラインエディットシステムは、オンラインエディットモニタ60が、エディットするためのパラメータとしてのラダープログラムをオンラインエディットするPLC50に与え、そのPLC50が受けたラダープログラムを用いてユーザプログラムをエディットする。
【0005】
続いて、このオンラインエディットシステムは、オンラインエディットするPLC50がエディットしたユーザプログラムを実際に動かし、サイクルタイム内に所期の目的通りに機器が動作したか否かを、オンラインエディットモニタ60でテストするようになっている。
【0006】
【発明が解決しようとする課題】
上述した従来のオンラインエディット方式では、ユーザがオンラインエディットモニタ60に表示されたテスト結果を見て適切なパラメータとしてのラダープログラムが渡ったか否かを判断するため、図13に示すように、パラメータとして幾つかのラダープログラム候補がある場合には、エディットとテストとを繰り返すことになり、連続してテストが行えないという問題点があった。
【0007】
また、オンラインエディットモニタ60と各PLC50間に個別にオンラインデバッグやモニタのセッションが発生するため、効率が悪いという問題点があった。
【0008】
さらに、オンラインエディットモニタ60がPLC50から離れた場所、例えば工場外にある場合には、オンラインエディットのためのリモート操作に時間がかかり、効率が悪いばかりでなく、処理が切れてしまうという問題点があった。
【0009】
そこで、本発明は上述した問題点に鑑み、▲1▼パラメータとして幾つかのラダープログラム候補がある場合には、連続してテストを行い、▲2▼使用効率が良く、▲3▼遠くからのリモート操作でも処理効率がよいオンラインエディットシステムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、制御対象機器を制御する制御装置に走っているユーザプログラムを、該制御装置に接続されたオンラインエディットモニタでオンラインエディットするオンラインエディットシステムにおいて、前記オンラインエディットモニタは、プログラム収集エージェント生成手段と、デバッグエージェント生成手段を有し、前記制御装置は、プログラム収集実行手段を有し、前記プログラム収集エージェント生成手段は、デバッグ対象プログラムが稼動している前記制御装置からオンラインエディットするプログラムを収集させるプログラム収集エージェントを生成し、この生成したプログラム収集エージェントを前記制御装置へ出力し、前記プログラム収集実行手段は、前記プログラム収集エージェント生成手段が生成した前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントに従いプログラムを収集し、この収集したプログラムを前記オンラインエディットモニタへ出力し、前記デバッグエージェント生成手段は、前記プログラム収集実行手段で収集したプログラムのデバッグ情報リストを含むデバッグエージェントを生成し、この生成したデバッグエージェントをデバッグ対象プログラムが稼動している前記制御装置に出力し、前記制御装置は、前記デバッグエージェント生成手段で生成されたデバッグエージェントを受けると、受けたデバッグエージェントを実行し、そのデバッグエージェントに含まれているデバッグ情報リストに基づいてデバッグ対象プログラムのデバッグ・テストを実行することを特徴とするものである。
【0012】
請求項2記載の発明は、請求項1記載の発明において、前記プログラム収集エージェントには、自己を特定するエージェントIDを格納するエージェントIDエリアと、前記ユーザプログラム中から収集するプログラム行を特定する収集開始行と収集終了行とからなるプログラム収集情報とを有しており、
前記プログラム収集実行手段が、前記プログラム収集エージェント中の前記プログラム収集情報に基づき、前記ユーザプログラムからプログラムを収集し、これを前記プログラム収集エージェントに付加し、前記デバッグエージェント生成手段に出力するようにする。
【0013】
請求項3記載の発明は、請求項1記載の発明において、前記プログラム収集実行手段が、前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントを特定するエージェントIDと、デバッグ対象の制御装置から収集した前記制御対象機器の実行が許可されているサイクルタイム時間との情報を前記デバッグ対象の制御装置内にもたせるようにする。
【0014】
請求項4記載の発明は、請求項1記載の発明において、前記デバッグエージェントには、前記ユーザプログラムにプログラムを挿入するタイプのものであるか、前記ユーザプログラムの所定箇所のプログラムを削除させるものであるか、または、前記ユーザプログラムの所定箇所のプログラムを更新させるものであるかを指定するデバッグタイプ情報を有しており、
前記デバッグエージェント実行手段が、前記デバッグエージェントに有するデバッグタイプ情報により、所定のタイプのデバッグ・テスト処理を実行するようにする。
【0015】
請求項5記載の発明は、請求項1記載の発明において、プログラムを挿入してデバッグ・テストさせるデバッグエージェントの場合には、修正プログラムと,この修正プログラムを前記ユーザプログラムに挿入する箇所を特定する挿入開始行とからなるデバッグ情報リストを有しており、プログラムを削除してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを削除する箇所を特定する削除開始行と,削除終了行とからなるデバッグ情報リストを有しており、プログラムを更新してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを更新する箇所を特定する削除開始行および削除終了行、並びに前記ユーザプログラムの削除した箇所に修正プログラムを挿入するための挿入開始行,および前記削除した箇所に挿入する前記修正プログラムからなるデバッグ情報リストを有しているようにする。
【0017】
請求項6記載の発明は、請求項4または5記載の発明において、前記制御手段が、前記デバッグエージェントを用いてデバッグ・テストしたとき、デバッグ・テスト処理が、前記デバッグ対象の制御装置内に有するサイクルタイム時間内に処理を終えない場合には、前記デバッグ処理情報を削除するようにする。
【0018】
本発明では、生成されたデバッグエージェントには複数の修正プログラムを有しており、この複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたことにより、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0019】
【発明の実施の形態】
以下、本発明に係るオンラインエディットシステムの一実施形態を図面を参照して説明する。
【0020】
図1は本発明に係る実施形態のオンラインエディットシステムの構成を示すブロック図である。
【0021】
この実施形態のオンラインエディットシステムは、オンラインエディットモニタ1と、#1〜#nのプログラマブルコントローラ2とが回線5に接続されて構成されている。
【0022】
オンラインエディットモニタ1は、システムエージェント11が設けられており、このシステムエージェント11が、後述するラダー収集リストを有するラダー収集エージェント3(後述する)を生成し、これを回線5を介して#1〜#nのPLC2に出力し、デバッグ対象のラダープログラムを収集するようになっている。
【0023】
また、システムエージェント11は、後述するデバッグ情報リストを有するデバッグエージェント4を生成し、これをデバッグ対象のラダープログラムが稼働するPLC2に回線5を介して出力してデバッグ・テストさせるようになっている。
【0024】
#1〜#nの各PLC2は、システムエージェント21が設けられており、このシステムエージェント21がオンラインエディットモニタ1からラダー収集エージェント3を受けると、ラダー収集リストに基づき、後述する処理情報リストを作成するようになっている。
【0025】
また、システムエージェント21は、処理情報リストを作成すると、この処理情報リストに基づき、収集したラダープログラムをラダー収集エージェント3のラダー収集リストに付加した後、これをオンラインエディットモニタ1に出力するようになっている。
【0026】
さらに、#1〜#nの各PLC2は、デバッグエージェント4を受けると、デバッグエージェント4に有する後述するデバッグ情報リストに基づき、デバッグするとともに、テストを実行するようになっている。
【0027】
ここで、上述したラダー収集リスト,処理情報リスト,およびデバッグ情報リストについて説明する。
【0028】
図2はラダー収集リストの構成を示すブロック図である。
【0029】
ラダー収集リスト31は、図2に示すように、出力したラダー収集エージェント3を識別するIDを格納するエージェントIDエリア311と、収集するラダーの収集開始行および収集終了行を格納するラダー収集エリア312と、収集したラダープログラムを格納する収集ラダーエリア313とが設けられて構成されている。
【0030】
図3は処理情報リストの構成を示すブロック図である。
【0031】
処理情報リスト22は、図3に示すように、システムエージェント21を特定するIDを格納するシステムエージェントIDエリア221と、受けたラダー収集エージェントのIDを格納するエージェントIDエリア222と、収集するラダーの収集開始行および収集終了行を格納するラダー収集エリア223と、実行が許可されているサイクルタイム時間を格納するサイクルタイム時間格納エリア224と、収集されたラダープログラムを格納する収集ラダーエリア225とが設けられて構成されている。
【0032】
図4(a)はラダープログラムを挿入する場合に使用するデバッグ情報リストであり、図4(b)はラダープログラムを削除する場合に使用するデバッグ情報リストであり、図4(c)はラダープログラムを更新する場合に使用するデバッグ情報リストである。
【0033】
ラダープログラムを挿入する場合に使用するデバッグ情報リスト41aは、図4(a)に示すように、デバッグのタイプがラダープログラムを挿入するタイプであることを示す情報を格納するデバッグタイプエリア411aと、挿入するラダープログラムの挿入開始行とそのラダープログラムと格納するラダー挿入エリア412aと、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413aとから構成されている。なお、ラダー挿入エリア412aには、オンラインエディットに必要な数のデータが格納されている。
【0034】
ラダープログラムを削除する場合に使用するデバッグ情報リスト41bは、図4(b)に示すように、デバッグのタイプがラダープログラムを削除るタイプであることを示す情報を格納するデバッグタイプエリア411bと、削除するラダープログラムの削除開始行と削除終行と格納するラダー削除エリア412b、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413bとから構成されている。なお、ラダー削除エリア412bには、オンラインエディットに必要な数のデータが格納されている。
【0035】
ラダープログラムを更新する場合に使用するデバッグ情報リスト41cは、図4(c)に示すように、デバッグのタイプとしてラダープログラムを更新するタイプであることを示す情報を格納するデバッグタイプエリア411cと、削除するラダープログラムの削除開始行と削除終行と格納するラダー削除エリア412cと、挿入するラダープログラムの挿入開始行と挿入するラダープログラムと格納するラダー挿入エリア412dと、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413cとから構成されている。なお、ラダー挿入エリア412cおよびラダー削除エリア412dには、オンラインエディットに必要な数のデータが格納されている。
【0036】
次に、この実施形態のオンラインエディットの動作を、(1)エディットするラダープログラムを収集する動作と、(2)オンラインエディットモニタがデバッグエージェントを生成する動作と、(3)システムエージェントが受けたデバッグエージェントによりデバッグ・テストする動作とに分けて説明する。
【0037】
(1)エディットするラダープログラムを収集する動作について
ここで、エディットするラダープログラムを収集する動作を、さらに、▲1▼オンラインエディットモニタ1が実行する動作と、▲2▼PLC2が実行する動作に分けて説明する。
【0038】
▲1▼オンラインエディットモニタ1の処理動作について
図5はオンラインエディットモニタのラダープログラムを収集する処理を示すフローチャートである。
【0039】
オンラインエディットモニタ1は、オンラインエディットを実行する際に、その処理に要するメモリエリア等をクリアして、初期化する(ステップ110)。その後、オンラインエディットモニタ1は、ユーザによりラダープログラムを収集するPLC2番号を取得する(ステップ120)。
【0040】
オンラインエディットモニタ1のシステムエージェント11は、ラダープログラムを収集するPLC2のアドレスを取得すると、収集先のPLC2のアドレスを有する移動先リスト(図示せず)を備えたラダー収集エージェント3を生成する(ステップ130)。
【0041】
続いて、システムエージェント11は、生成したラダー収集エージェント3のラダー収集リスト31のエージェントIDエリア311に、自己を特定するIDを付加し(ステップ140)、次に、生成したラダー収集エージェント3のラダー収集リスト31のラダー収集エリア311に収集開始行および収集終了行を設定する(ステップ150)。
【0042】
次に、システムエージェント11は、移動先リストに基づき、該当する移動先のPLC2にラダー収集エージェント3を移動させる(ステップ160)。
【0043】
その後、システムエージェント11は、移動先のPLC2から戻ってきたラダー収集エージェント3から、エディットするラダープログラムの収集開始行および収集終了行を読み出し(ステップ170)、処理を終了する。
【0044】
▲2▼PLC20の処理動作について
図6はPLCがラダー収集エージェントが入力されたときに実行する処理を示すフローチャートである。
【0045】
ラダー収集エージェント3を受けたPLC2に、オンラインエディットモニタ1からラダー収集エージェント3が入力されると(ステップ210)、そのPLC2のシステムエージェント21は、システムエージェントIDエリア221,エージェントIDエリア222,ラダー収集エリア223,サイクルタイムエリア224および収集ラダーエリア225が空の処理情報リスト240を形成する(ステップ220)。
【0046】
次に、システムエージェント21は、自己を特定するシステムエージェントIDをシステムエージェントIDエリア221に格納する(ステップ230)。
【0047】
続いて、システムエージェント21は、入力されたラダー収集エージェント3中のラダー収集リスト31から、ラダー収集エージェントのIDと,ラダープログラムの収集開始行および収集終了行とを読み出す(ステップ240)。
【0048】
その後、システムエージェント21は、読み出したラダー収集エージェントのIDを処理情報リスト22のエージェントエリア222に格納し、また、読み出した収集開始行と収集終了行とを処理情報リスト21のラダー収集エリア223に格納する(ステップ250)。
【0049】
システムエージェント21は、読み出した収集開始行と収集終了行とを処理情報リスト21のラダー収集エリア223に格納すると、このPLC2の実行が許されるサイクルタイム時間をPLC2の制御部(図示せず)から収集し、この収集したサイクルタイム時間を処理情報リスト22のサイクルタイムエリア224に格納する(ステップ260)。
【0050】
システムエージェント201は、サイクルタイムエリア224にサイクルタイム時間を格納すると、上述したような所定の情報を有する処理情報リスト22が設けられたラダー収集エージェント3を次の移動先のPLC2に移動させ(ステップ270)、処理を終了する。
【0051】
(2)オンラインエディットモニタがデバッグエージェントを生成する動作について
図7はオンラインエディットモニタのデバッグエージェントを生成する処理を示すフローチャートである。
【0052】
オンラインエディットモニタ1は、ユーザからデバッグエージェントを生成するためのコマンドを受けると、デバッグエージェントを生成する際に、その処理に要するメモリエリア等をクリアして初期化する(ステップ310)。
【0053】
次に、オンラインエディットモニタ1のシステムエージェント11は、移動先リストおよびデバッグ情報リストが何も格納されていない空のデバッグエージェント4を生成する(ステップ320)。
【0054】
続いて、システムエージェント11は、空のデバッグエージェント4の移動先リストに自アドレスを登録し(ステップ330)、最終的に作成したデバッグエージェント4が戻るようにする。
【0055】
システムエージェント11は、戻ってきたラダー収集エージェント3中のエージェントIDエリア311からラダー収集エージェントIDを読み出してこれを入手する(ステップ340)。
【0056】
その後、システムエージェント11は、デバッグタイプを指定する指示として、ユーザから挿入,削除または更新のいずれの指示を受けたか否かを判断する(ステップ350)。
【0057】
システムエージェント11は、ユーザからラダープログラムを挿入するデバッグ処理を実行させる指示を受けたと判断した場合には(ステップ350;挿入)、デバッグエージェント4中に有するデバッグ情報リスト41aのデバッグタイプエリア411aに挿入タイプのデバッグエージェントであることを示す情報Iを格納する(ステップ360)。
【0058】
次に、システムエージェント11は、ユーザから挿入するラダープログラムと、このラダープログラムの挿入開始行を受けると、これらの情報に基づき、デバッグエージェント4中に有するデバッグ情報リスト41aのラダー挿入エリア412aを格納する(ステップ362)。
【0059】
続いて、システムエージェント11は、デバッグ情報リスト41aのエージェンIDエリア413aに、先に受けたラダー収集エージェント3のIDを格納し(ステップ364)、所定の情報を備えたデバッグ情報リスト41aを有するデバッグエージェント4を生成し、処理を終了する。
【0060】
ステップ350において、システムエージェント11は、ユーザからラダープログラムを削除させるデバッグ処理の指示を受けたと判断した場合には(ステップ350;削除)、デバッグエージェント4中に有するデバッグ情報リスト41bのデバッグタイプエリア411bに削除タイプのデバッグエージェントであることを示す情報Dを格納する(ステップ370)。
【0061】
次に、システムエージェント11は、ユーザから削除するラダープログラムの削除開始行と削除終了行と受けると、これらの情報をデバッグエージェント4中に有するデバッグ情報リスト41bのラダー削除エリア412bに格納する(ステップ372)。
【0062】
続いて、システムエージェント11は、デバッグ情報リスト41bのエージェンIDエリア413に、先に受けたラダー収集エージェント3のIDを格納し(ステップ374)、所定の情報を備えたデバッグ情報リスト41bを有するデバッグエージェント4を生成し、処理を終了する。
【0063】
ステップ350において、システムエージェント11は、ユーザからラダープログラムを更新させるデバッグ処理の指示を受けたと判断した場合には(ステップ350;更新)、デバッグエージェント4中に有するデバッグ情報リスト41cのデバッグタイプエリア411cに更新タイプのデバッグエージェントであることを示す情報Cを格納する(ステップ380)。
【0064】
次に、システムエージェント11は、ユーザから削除するラダープログラムの削除開始行と削除終了行と受けると、これらの情報をデバッグエージェント4中に有するデバッグ情報リスト41cのラダー削除エリア412cに格納する(ステップ382)。
【0065】
続いて、システムエージェント11は、ユーザから更新するラダープログラムと、このラダープログラムの挿入開始行を受けると、これらの情報に基づき、デバッグエージェント4中に有するデバッグ情報リスト41cのラダー挿入エリア412dに格納する(ステップ384)。
【0066】
その後、システムエージェント11は、デバッグ情報リスト41cのエージェンIDエリア413cに、先に受けたラダー収集エージェント3のIDを格納し(ステップ386)、所定の情報を備えたデバッグ情報リスト41cを有するデバッグエージェント4を生成する。
【0067】
(3)デバッグ・テストする動作について
図8はデバッグエージェントを受けたシステムエージェントが処理するデバッグおよびテストの処理動作を示すフローチャートである。
【0068】
PLC2のシステムエージェント21は、デバッグエージェント4を受けると、デバッグ情報リスト41a,41b,41cのエージェントIDエリア413a,413b,413cに格納されているラダー収集エージェントのIDを読み出す(ステップ400)。
【0069】
次に、システムエージェント21は、読み出したラダー収集エージェントのIDが、自己が有している処理情報リスト22のエージェントIDエリア222に格納されているラダー収集エージェントのIDと同一であるか否かを判断する(ステップ402)。
【0070】
システムエージェント21は、判断した結果、同一であると判断した場合には(ステップ402;Y)、デバッグタイプエリア411a,411b,411cを読み出し(ステップ404)、デバッグタイプが挿入タイプ(I)であるか否かを判断する(ステップ406)。
【0071】
システムエージェント21は、デバッグタイプが挿入タイプ(I)であると判断した場合には(ステップ406;Y)、デバッグ情報リスト41aのラダー挿入エリア412aに格納されている挿入開始行とラダープログラムとを読み出し(ステップ408)、後述する挿入・テスト処理を行い(ステップ410)、処理を終了する。
【0072】
一方、システムエージェント21は、デバッグタイプが挿入タイプ(I)でないと判断した場合には(ステップ406;N)、デバッグタイプが削除タイプ(D)であるか否かを判断する(ステップ425)。
【0073】
システムエージェント21は、デバッグタイプが削除タイプ(D)であると判断した場合には(ステップ425;Y)、デバッグ情報リスト41bのラダー削除エリア412bに格納されている削除開始行と削除終了行とを読み出し(ステップ427)、後述する削除・テスト処理を行い(ステップ430)、処理を終了する。
【0074】
一方、システムエージェント21は、デバッグタイプが削除タイプ(D)でないと判断した場合、すなわちデバッグタイプが更新タイプ(C)であると判断した場合には(ステップ425;N)、デバッグ情報リスト41cのラダー削除エリア412cに格納されている削除開始行と削除終了行とを読み出すとともに、ラダー挿入エリア412dに格納されている挿入開始行とラダープログラムとを読み出し(ステップ450)、後述する更新・テスト処理を行い(ステップ460)、処理を終了する。
【0075】
ステップ402において、システムエージェント21は、読み出したラダー収集エージェントのIDが、自己が有している処理情報リスト22のエージェントIDエリア212に格納されているラダー収集エージェントのIDと同一でないと判断した場合には(ステップ402;N)、受けたデバッグエージェントが該当するものでないものであるとして、オンラインエディットモニタ1に戻し(ステップ490)、処理を終了する。
【0076】
ここで、ステップ410の挿入・テスト処理について述べる。
【0077】
図9は挿入・テスト処理を示すフローチャートである。
【0078】
システムエージェント21は、メモリエリア中に作業領域nを形成し、この作業領域nに1を設定し(ステップ411)、デバッグエージェント4中のラダー挿入エリア412aに格納されているNo1の挿入開始行とラダープログラムとを読み出し、読み出したラダープログラムをユーザプログラムの指定された挿入開始行に挿入し(ステップ412)、PLC2を動作させる(ステップ413)。
【0079】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ414)。
【0080】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ414;N)、挿入するラダープログラムの次の候補があるか否かを判断し(ステップ415)、その結果、挿入するラダープログラムの次の候補があると判断した場合には(ステップ415;Y)、現候補の挿入したラダープログラムをユーザプログラムから削除するとともに(ステップ416)、現候補のラダープログラムとこの挿入開始行とをデバッグ情報リスト41aのラダー挿入エリア412aから削除する(ステップ417)。
【0081】
続いて、システムエージェント21は、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ418)、ステップ412に処理を移行し、上述したと同様な処理を行う。
【0082】
ステップ415において、システムエージェント21は、挿入するラダープログラムの次の候補がないと判断した場合には(ステップ415;N)、ユーザプログラムに挿入した現候補のラダープログラムを削除するとともに(ステップ419)、Noが“n”の現候補のラダープログラムとこの挿入開始行とをデバッグ情報リスト41aのラダー挿入エリア412aから削除し(ステップ420)、ラダー挿入エリア412aが空であるデバイス情報リスト41aを有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ421)、処理を終了する。
【0083】
ステップ414において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ414;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ422)、処理を終了する。
【0084】
ステップ430の削除・テスト処理について述べる。
【0085】
システムエージェント21は、メモリエリアに作業領域nを形成し、この作業領域nに1を設定し(ステップ431)、ユーザプログラム中の削除開始行から削除終了行までのラダープログラムをメモリエリアに退避させる(ステップ432)。
【0086】
次に、システムエージェント21は、挿入開始行と挿入終了行間のユーザプログラムを削除し(ステップ433)、PLC2を動作させる(ステップ434)。
【0087】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ435)。
【0088】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ435;N)、次に挿入するラダープログラムの候補があるか否かを判断し(ステップ436)、その結果、挿入するラダープログラムの次の候補があると判断した場合には(ステップ436;Y)、メモリエリアに退避させたラダープログラムを元の箇所に戻し(ステップ437)、デバッグ情報リスト41b中のNo“n”ラダー削除エリア412bに格納されているデータを削除する(ステップ438)。
【0089】
続いて、システムエージェント21は、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ439)、ステップ432に処理を移行し、上述した同様な処理を行う。
【0090】
ステップ436において、システムエージェント21は、次に挿入するラダープログラムの候補がないと判断した場合には(ステップ436;N)、メモリエリアに退避させたラダープログラムをユーザプログラムに戻し(ステップ440)、ラダー削除エリア412b中のNoが“n”の箇所のラダー削除エリア412bのデータを削除し(ステップ441)、ラダー削除エリア412bが空であるデバイス情報リスト41bを有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ442)、処理を終了する。
【0091】
ステップ435において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ435;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ443)、処理を終了する。
【0092】
ステップ460の更新・テスト処理について述べる。
【0093】
図11は更新・テスト処理を示すフローチャートである。
【0094】
システムエージェント21は、メモリエリアに作業領域nを形成して、この作業領域nに1を設定し(ステップ461)、ラダー削除エリア412c中のNo“n”に格納されている削除開始行と削除終了行間のラダープログラムをメモリエリアに退避させる(ステップ462)。
【0095】
次に、システムエージェント21は、挿入開始行と挿入終了行間のユーザプログラムを削除し(ステップ463)、削除したユーザプログラムの挿入開始行から挿入終了行間に、ラダー挿入エリア412d中のNo“n”に格納されているラダープログラムを、挿入開始行の箇所に挿入し(ステップ464)、PLC2を動作させる(ステップ465)。
【0096】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ466)。
【0097】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ466;N)、次に更新するラダープログラムの候補があるか否かを判断し(ステップ467)、更新するラダープログラムの次の候補があると判断した場合には(ステップ467;Y)、挿入したラダープログラムを削除し(ステップ468)、メモリエリアに退避させたラダープログラムを元の箇所に戻す(ステップ469)。
【0098】
続いて、システムエージェント21は、ラダー削除エリア412cおよびラダー挿入エリア412dのNoが“n”の箇所のデータを削除し(ステップ470)、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ471)、ステップ462に処理を移行し、上述したと同様な処理を行う。
【0099】
ステップ467において、システムエージェント21は、次に挿入するラダープログラムの候補がないと判断した場合には(ステップ467;N)、挿入したラダープログラムを削除し(ステップ472)、メモリエリアに退避させたラダープログラムを元の箇所に戻す(ステップ473)。
【0100】
次に、システムエージェント21は、ラダー削除エリア412cおよびラダー挿入エリア412dのNoが“n”の箇所のデータを削除し(ステップ474)、ラダー削除エリア412cおよびラダー挿入エリア412dが空であるデバッグ情報リスト41を有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ475)、処理を終了する。
【0101】
ステップ466において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ466;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ476)、処理を終了する。
【0102】
この実施形態のオンラインエディットシステムでは、オンラインエディットモニタ1のシステムエージェント11で生成されたデバッグエージェント4には複数の修正プログラムを有しており、このデバッグエージェント4を受けるPLC2のシステムエージェント21は、デバッグエージェント4に有する複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたため、従来、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0103】
このため、従来のオンラインエディットを行ったときに発生するオンラインデバッグやモニタのセッションの発生を抑えることができ、オンラインエディットの効率を良くすることができるとともに、オンラインエディットをリモート操作で行うに際し、処理効率を向上させることができる。
【0104】
また、実施形態のオンラインエディットシステムでは、PLC2のシステムエージェント21がオンラインエディットモニタ1のシステムエージェント11からラダー収集エージェント3を受けると、自動的にプログラムを収集するため、ユーザのプログラム収集が容易に行うこができる。
【0105】
【発明の効果】
以上本発明によれば、生成されたデバッグエージェントには複数の修正プログラムを有しており、この複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたことにより、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0106】
このため、従来のオンラインエディットを行ったときに発生するオンラインデバッグやモニタのセッションの発生を抑えることができ、オンラインエディットの効率を良くすることができるとともに、オンラインエディットをリモート操作で行うに際し、処理効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明に係るオンラインエディットシステムの一実施形態の構成を示すブロック図。
【図2】ラダー収集エージェントに有するラダー収集リストの内容を説明する説明図。
【図3】プログラマブルコントローラに有する処理情報リストの内容を説明する説目図。
【図4】デバッグエージェントに有するデバッグ情報リストの内容を説明する説明図。
【図5】オンラインエディットモニタがラダー収集エージェントを生成する処理動作を示すフローチャート。
【図6】プログラマブルコントローラがラダー収集エージェントを受けたとき実行する処理示すフローチャート。
【図7】オンラインエディットモニタがデバッグエージェントを生成する処理動作を示すフローチャート。
【図8】デバッグエージェントを受けたプログラマブルコントローラが実行する処理動作を示すフローチャート。
【図9】図8中の挿入・テスト処理についての処理動作を示すフローチャート。
【図10】図8中の削除・テスト処理についての処理動作を示すフローチャート。
【図11】図8中の更新・テスト処理についての処理動作を示すフローチャート。
【図12】従来のオンラインエディットシステムの構成を示すブロック図。
【図13】オンラインエディットされるラダープログラムを説明する説明図。
【符号の説明】
1 オンラインエディットモニタ
11 システムエージェント
2 プログラマブルコントローラ
21 システムエージェント
22 処理情報リスト
221 システムエージェントIDエリア
222 エージェントIDエリア
223 ラダー収集エリア
224 サイクルタイムエリア
225 収集ラダーエリア
3 ラダー収集エージェント
31 ラダー収集リスト
311 エージェントIDエリア
312 ラダー収集エリア
313 収集ラダーエリア
4 デバッグエージェント
41 デバイス情報リスト
411 デバッグタイプエリア
412a ラダー挿入エリア
413 エージェントIDエリア
412b ラダー削除エリア
5 回線
【発明の属する技術分野】
本発明は、制御対象機器を制御する制御装置が実行するユーザプログラムをオンラインエディットするオンラインエディットシステムに関する。
【0002】
【従来の技術】
プログラマブルコントローラでセンサ,アクチュエータ等の制御機器を制御するFAシステムにおいて、プログラマブルコントローラを稼働させるラダープログラムからなるユーザプログラムをオンラインエディットするには、従来から、例えば、図12に示すように、プログラマブルコントローラ(以下、PLCという)50と、オンラインエディットモニタ60とが回線70に接続されて構成されたオンラインエディットシステムが使用されている。
【0003】
この従来のオンラインエディットシステムは、各PLC50に実行されているユーザプログラムをオンラインエディットする場合には、オンラインエディットモニタ60が指示を出してオンラインエディットするPLC50の稼働を停止させる。
【0004】
次に、このオンラインエディットシステムは、オンラインエディットモニタ60が、エディットするためのパラメータとしてのラダープログラムをオンラインエディットするPLC50に与え、そのPLC50が受けたラダープログラムを用いてユーザプログラムをエディットする。
【0005】
続いて、このオンラインエディットシステムは、オンラインエディットするPLC50がエディットしたユーザプログラムを実際に動かし、サイクルタイム内に所期の目的通りに機器が動作したか否かを、オンラインエディットモニタ60でテストするようになっている。
【0006】
【発明が解決しようとする課題】
上述した従来のオンラインエディット方式では、ユーザがオンラインエディットモニタ60に表示されたテスト結果を見て適切なパラメータとしてのラダープログラムが渡ったか否かを判断するため、図13に示すように、パラメータとして幾つかのラダープログラム候補がある場合には、エディットとテストとを繰り返すことになり、連続してテストが行えないという問題点があった。
【0007】
また、オンラインエディットモニタ60と各PLC50間に個別にオンラインデバッグやモニタのセッションが発生するため、効率が悪いという問題点があった。
【0008】
さらに、オンラインエディットモニタ60がPLC50から離れた場所、例えば工場外にある場合には、オンラインエディットのためのリモート操作に時間がかかり、効率が悪いばかりでなく、処理が切れてしまうという問題点があった。
【0009】
そこで、本発明は上述した問題点に鑑み、▲1▼パラメータとして幾つかのラダープログラム候補がある場合には、連続してテストを行い、▲2▼使用効率が良く、▲3▼遠くからのリモート操作でも処理効率がよいオンラインエディットシステムを提供することを目的とする。
【0011】
【課題を解決するための手段】
上記目的を達成するために、請求項1記載の発明は、制御対象機器を制御する制御装置に走っているユーザプログラムを、該制御装置に接続されたオンラインエディットモニタでオンラインエディットするオンラインエディットシステムにおいて、前記オンラインエディットモニタは、プログラム収集エージェント生成手段と、デバッグエージェント生成手段を有し、前記制御装置は、プログラム収集実行手段を有し、前記プログラム収集エージェント生成手段は、デバッグ対象プログラムが稼動している前記制御装置からオンラインエディットするプログラムを収集させるプログラム収集エージェントを生成し、この生成したプログラム収集エージェントを前記制御装置へ出力し、前記プログラム収集実行手段は、前記プログラム収集エージェント生成手段が生成した前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントに従いプログラムを収集し、この収集したプログラムを前記オンラインエディットモニタへ出力し、前記デバッグエージェント生成手段は、前記プログラム収集実行手段で収集したプログラムのデバッグ情報リストを含むデバッグエージェントを生成し、この生成したデバッグエージェントをデバッグ対象プログラムが稼動している前記制御装置に出力し、前記制御装置は、前記デバッグエージェント生成手段で生成されたデバッグエージェントを受けると、受けたデバッグエージェントを実行し、そのデバッグエージェントに含まれているデバッグ情報リストに基づいてデバッグ対象プログラムのデバッグ・テストを実行することを特徴とするものである。
【0012】
請求項2記載の発明は、請求項1記載の発明において、前記プログラム収集エージェントには、自己を特定するエージェントIDを格納するエージェントIDエリアと、前記ユーザプログラム中から収集するプログラム行を特定する収集開始行と収集終了行とからなるプログラム収集情報とを有しており、
前記プログラム収集実行手段が、前記プログラム収集エージェント中の前記プログラム収集情報に基づき、前記ユーザプログラムからプログラムを収集し、これを前記プログラム収集エージェントに付加し、前記デバッグエージェント生成手段に出力するようにする。
【0013】
請求項3記載の発明は、請求項1記載の発明において、前記プログラム収集実行手段が、前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントを特定するエージェントIDと、デバッグ対象の制御装置から収集した前記制御対象機器の実行が許可されているサイクルタイム時間との情報を前記デバッグ対象の制御装置内にもたせるようにする。
【0014】
請求項4記載の発明は、請求項1記載の発明において、前記デバッグエージェントには、前記ユーザプログラムにプログラムを挿入するタイプのものであるか、前記ユーザプログラムの所定箇所のプログラムを削除させるものであるか、または、前記ユーザプログラムの所定箇所のプログラムを更新させるものであるかを指定するデバッグタイプ情報を有しており、
前記デバッグエージェント実行手段が、前記デバッグエージェントに有するデバッグタイプ情報により、所定のタイプのデバッグ・テスト処理を実行するようにする。
【0015】
請求項5記載の発明は、請求項1記載の発明において、プログラムを挿入してデバッグ・テストさせるデバッグエージェントの場合には、修正プログラムと,この修正プログラムを前記ユーザプログラムに挿入する箇所を特定する挿入開始行とからなるデバッグ情報リストを有しており、プログラムを削除してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを削除する箇所を特定する削除開始行と,削除終了行とからなるデバッグ情報リストを有しており、プログラムを更新してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを更新する箇所を特定する削除開始行および削除終了行、並びに前記ユーザプログラムの削除した箇所に修正プログラムを挿入するための挿入開始行,および前記削除した箇所に挿入する前記修正プログラムからなるデバッグ情報リストを有しているようにする。
【0017】
請求項6記載の発明は、請求項4または5記載の発明において、前記制御手段が、前記デバッグエージェントを用いてデバッグ・テストしたとき、デバッグ・テスト処理が、前記デバッグ対象の制御装置内に有するサイクルタイム時間内に処理を終えない場合には、前記デバッグ処理情報を削除するようにする。
【0018】
本発明では、生成されたデバッグエージェントには複数の修正プログラムを有しており、この複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたことにより、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0019】
【発明の実施の形態】
以下、本発明に係るオンラインエディットシステムの一実施形態を図面を参照して説明する。
【0020】
図1は本発明に係る実施形態のオンラインエディットシステムの構成を示すブロック図である。
【0021】
この実施形態のオンラインエディットシステムは、オンラインエディットモニタ1と、#1〜#nのプログラマブルコントローラ2とが回線5に接続されて構成されている。
【0022】
オンラインエディットモニタ1は、システムエージェント11が設けられており、このシステムエージェント11が、後述するラダー収集リストを有するラダー収集エージェント3(後述する)を生成し、これを回線5を介して#1〜#nのPLC2に出力し、デバッグ対象のラダープログラムを収集するようになっている。
【0023】
また、システムエージェント11は、後述するデバッグ情報リストを有するデバッグエージェント4を生成し、これをデバッグ対象のラダープログラムが稼働するPLC2に回線5を介して出力してデバッグ・テストさせるようになっている。
【0024】
#1〜#nの各PLC2は、システムエージェント21が設けられており、このシステムエージェント21がオンラインエディットモニタ1からラダー収集エージェント3を受けると、ラダー収集リストに基づき、後述する処理情報リストを作成するようになっている。
【0025】
また、システムエージェント21は、処理情報リストを作成すると、この処理情報リストに基づき、収集したラダープログラムをラダー収集エージェント3のラダー収集リストに付加した後、これをオンラインエディットモニタ1に出力するようになっている。
【0026】
さらに、#1〜#nの各PLC2は、デバッグエージェント4を受けると、デバッグエージェント4に有する後述するデバッグ情報リストに基づき、デバッグするとともに、テストを実行するようになっている。
【0027】
ここで、上述したラダー収集リスト,処理情報リスト,およびデバッグ情報リストについて説明する。
【0028】
図2はラダー収集リストの構成を示すブロック図である。
【0029】
ラダー収集リスト31は、図2に示すように、出力したラダー収集エージェント3を識別するIDを格納するエージェントIDエリア311と、収集するラダーの収集開始行および収集終了行を格納するラダー収集エリア312と、収集したラダープログラムを格納する収集ラダーエリア313とが設けられて構成されている。
【0030】
図3は処理情報リストの構成を示すブロック図である。
【0031】
処理情報リスト22は、図3に示すように、システムエージェント21を特定するIDを格納するシステムエージェントIDエリア221と、受けたラダー収集エージェントのIDを格納するエージェントIDエリア222と、収集するラダーの収集開始行および収集終了行を格納するラダー収集エリア223と、実行が許可されているサイクルタイム時間を格納するサイクルタイム時間格納エリア224と、収集されたラダープログラムを格納する収集ラダーエリア225とが設けられて構成されている。
【0032】
図4(a)はラダープログラムを挿入する場合に使用するデバッグ情報リストであり、図4(b)はラダープログラムを削除する場合に使用するデバッグ情報リストであり、図4(c)はラダープログラムを更新する場合に使用するデバッグ情報リストである。
【0033】
ラダープログラムを挿入する場合に使用するデバッグ情報リスト41aは、図4(a)に示すように、デバッグのタイプがラダープログラムを挿入するタイプであることを示す情報を格納するデバッグタイプエリア411aと、挿入するラダープログラムの挿入開始行とそのラダープログラムと格納するラダー挿入エリア412aと、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413aとから構成されている。なお、ラダー挿入エリア412aには、オンラインエディットに必要な数のデータが格納されている。
【0034】
ラダープログラムを削除する場合に使用するデバッグ情報リスト41bは、図4(b)に示すように、デバッグのタイプがラダープログラムを削除るタイプであることを示す情報を格納するデバッグタイプエリア411bと、削除するラダープログラムの削除開始行と削除終行と格納するラダー削除エリア412b、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413bとから構成されている。なお、ラダー削除エリア412bには、オンラインエディットに必要な数のデータが格納されている。
【0035】
ラダープログラムを更新する場合に使用するデバッグ情報リスト41cは、図4(c)に示すように、デバッグのタイプとしてラダープログラムを更新するタイプであることを示す情報を格納するデバッグタイプエリア411cと、削除するラダープログラムの削除開始行と削除終行と格納するラダー削除エリア412cと、挿入するラダープログラムの挿入開始行と挿入するラダープログラムと格納するラダー挿入エリア412dと、受けたラダー収集エージェント3のIDを格納するエージェントIDエリア413cとから構成されている。なお、ラダー挿入エリア412cおよびラダー削除エリア412dには、オンラインエディットに必要な数のデータが格納されている。
【0036】
次に、この実施形態のオンラインエディットの動作を、(1)エディットするラダープログラムを収集する動作と、(2)オンラインエディットモニタがデバッグエージェントを生成する動作と、(3)システムエージェントが受けたデバッグエージェントによりデバッグ・テストする動作とに分けて説明する。
【0037】
(1)エディットするラダープログラムを収集する動作について
ここで、エディットするラダープログラムを収集する動作を、さらに、▲1▼オンラインエディットモニタ1が実行する動作と、▲2▼PLC2が実行する動作に分けて説明する。
【0038】
▲1▼オンラインエディットモニタ1の処理動作について
図5はオンラインエディットモニタのラダープログラムを収集する処理を示すフローチャートである。
【0039】
オンラインエディットモニタ1は、オンラインエディットを実行する際に、その処理に要するメモリエリア等をクリアして、初期化する(ステップ110)。その後、オンラインエディットモニタ1は、ユーザによりラダープログラムを収集するPLC2番号を取得する(ステップ120)。
【0040】
オンラインエディットモニタ1のシステムエージェント11は、ラダープログラムを収集するPLC2のアドレスを取得すると、収集先のPLC2のアドレスを有する移動先リスト(図示せず)を備えたラダー収集エージェント3を生成する(ステップ130)。
【0041】
続いて、システムエージェント11は、生成したラダー収集エージェント3のラダー収集リスト31のエージェントIDエリア311に、自己を特定するIDを付加し(ステップ140)、次に、生成したラダー収集エージェント3のラダー収集リスト31のラダー収集エリア311に収集開始行および収集終了行を設定する(ステップ150)。
【0042】
次に、システムエージェント11は、移動先リストに基づき、該当する移動先のPLC2にラダー収集エージェント3を移動させる(ステップ160)。
【0043】
その後、システムエージェント11は、移動先のPLC2から戻ってきたラダー収集エージェント3から、エディットするラダープログラムの収集開始行および収集終了行を読み出し(ステップ170)、処理を終了する。
【0044】
▲2▼PLC20の処理動作について
図6はPLCがラダー収集エージェントが入力されたときに実行する処理を示すフローチャートである。
【0045】
ラダー収集エージェント3を受けたPLC2に、オンラインエディットモニタ1からラダー収集エージェント3が入力されると(ステップ210)、そのPLC2のシステムエージェント21は、システムエージェントIDエリア221,エージェントIDエリア222,ラダー収集エリア223,サイクルタイムエリア224および収集ラダーエリア225が空の処理情報リスト240を形成する(ステップ220)。
【0046】
次に、システムエージェント21は、自己を特定するシステムエージェントIDをシステムエージェントIDエリア221に格納する(ステップ230)。
【0047】
続いて、システムエージェント21は、入力されたラダー収集エージェント3中のラダー収集リスト31から、ラダー収集エージェントのIDと,ラダープログラムの収集開始行および収集終了行とを読み出す(ステップ240)。
【0048】
その後、システムエージェント21は、読み出したラダー収集エージェントのIDを処理情報リスト22のエージェントエリア222に格納し、また、読み出した収集開始行と収集終了行とを処理情報リスト21のラダー収集エリア223に格納する(ステップ250)。
【0049】
システムエージェント21は、読み出した収集開始行と収集終了行とを処理情報リスト21のラダー収集エリア223に格納すると、このPLC2の実行が許されるサイクルタイム時間をPLC2の制御部(図示せず)から収集し、この収集したサイクルタイム時間を処理情報リスト22のサイクルタイムエリア224に格納する(ステップ260)。
【0050】
システムエージェント201は、サイクルタイムエリア224にサイクルタイム時間を格納すると、上述したような所定の情報を有する処理情報リスト22が設けられたラダー収集エージェント3を次の移動先のPLC2に移動させ(ステップ270)、処理を終了する。
【0051】
(2)オンラインエディットモニタがデバッグエージェントを生成する動作について
図7はオンラインエディットモニタのデバッグエージェントを生成する処理を示すフローチャートである。
【0052】
オンラインエディットモニタ1は、ユーザからデバッグエージェントを生成するためのコマンドを受けると、デバッグエージェントを生成する際に、その処理に要するメモリエリア等をクリアして初期化する(ステップ310)。
【0053】
次に、オンラインエディットモニタ1のシステムエージェント11は、移動先リストおよびデバッグ情報リストが何も格納されていない空のデバッグエージェント4を生成する(ステップ320)。
【0054】
続いて、システムエージェント11は、空のデバッグエージェント4の移動先リストに自アドレスを登録し(ステップ330)、最終的に作成したデバッグエージェント4が戻るようにする。
【0055】
システムエージェント11は、戻ってきたラダー収集エージェント3中のエージェントIDエリア311からラダー収集エージェントIDを読み出してこれを入手する(ステップ340)。
【0056】
その後、システムエージェント11は、デバッグタイプを指定する指示として、ユーザから挿入,削除または更新のいずれの指示を受けたか否かを判断する(ステップ350)。
【0057】
システムエージェント11は、ユーザからラダープログラムを挿入するデバッグ処理を実行させる指示を受けたと判断した場合には(ステップ350;挿入)、デバッグエージェント4中に有するデバッグ情報リスト41aのデバッグタイプエリア411aに挿入タイプのデバッグエージェントであることを示す情報Iを格納する(ステップ360)。
【0058】
次に、システムエージェント11は、ユーザから挿入するラダープログラムと、このラダープログラムの挿入開始行を受けると、これらの情報に基づき、デバッグエージェント4中に有するデバッグ情報リスト41aのラダー挿入エリア412aを格納する(ステップ362)。
【0059】
続いて、システムエージェント11は、デバッグ情報リスト41aのエージェンIDエリア413aに、先に受けたラダー収集エージェント3のIDを格納し(ステップ364)、所定の情報を備えたデバッグ情報リスト41aを有するデバッグエージェント4を生成し、処理を終了する。
【0060】
ステップ350において、システムエージェント11は、ユーザからラダープログラムを削除させるデバッグ処理の指示を受けたと判断した場合には(ステップ350;削除)、デバッグエージェント4中に有するデバッグ情報リスト41bのデバッグタイプエリア411bに削除タイプのデバッグエージェントであることを示す情報Dを格納する(ステップ370)。
【0061】
次に、システムエージェント11は、ユーザから削除するラダープログラムの削除開始行と削除終了行と受けると、これらの情報をデバッグエージェント4中に有するデバッグ情報リスト41bのラダー削除エリア412bに格納する(ステップ372)。
【0062】
続いて、システムエージェント11は、デバッグ情報リスト41bのエージェンIDエリア413に、先に受けたラダー収集エージェント3のIDを格納し(ステップ374)、所定の情報を備えたデバッグ情報リスト41bを有するデバッグエージェント4を生成し、処理を終了する。
【0063】
ステップ350において、システムエージェント11は、ユーザからラダープログラムを更新させるデバッグ処理の指示を受けたと判断した場合には(ステップ350;更新)、デバッグエージェント4中に有するデバッグ情報リスト41cのデバッグタイプエリア411cに更新タイプのデバッグエージェントであることを示す情報Cを格納する(ステップ380)。
【0064】
次に、システムエージェント11は、ユーザから削除するラダープログラムの削除開始行と削除終了行と受けると、これらの情報をデバッグエージェント4中に有するデバッグ情報リスト41cのラダー削除エリア412cに格納する(ステップ382)。
【0065】
続いて、システムエージェント11は、ユーザから更新するラダープログラムと、このラダープログラムの挿入開始行を受けると、これらの情報に基づき、デバッグエージェント4中に有するデバッグ情報リスト41cのラダー挿入エリア412dに格納する(ステップ384)。
【0066】
その後、システムエージェント11は、デバッグ情報リスト41cのエージェンIDエリア413cに、先に受けたラダー収集エージェント3のIDを格納し(ステップ386)、所定の情報を備えたデバッグ情報リスト41cを有するデバッグエージェント4を生成する。
【0067】
(3)デバッグ・テストする動作について
図8はデバッグエージェントを受けたシステムエージェントが処理するデバッグおよびテストの処理動作を示すフローチャートである。
【0068】
PLC2のシステムエージェント21は、デバッグエージェント4を受けると、デバッグ情報リスト41a,41b,41cのエージェントIDエリア413a,413b,413cに格納されているラダー収集エージェントのIDを読み出す(ステップ400)。
【0069】
次に、システムエージェント21は、読み出したラダー収集エージェントのIDが、自己が有している処理情報リスト22のエージェントIDエリア222に格納されているラダー収集エージェントのIDと同一であるか否かを判断する(ステップ402)。
【0070】
システムエージェント21は、判断した結果、同一であると判断した場合には(ステップ402;Y)、デバッグタイプエリア411a,411b,411cを読み出し(ステップ404)、デバッグタイプが挿入タイプ(I)であるか否かを判断する(ステップ406)。
【0071】
システムエージェント21は、デバッグタイプが挿入タイプ(I)であると判断した場合には(ステップ406;Y)、デバッグ情報リスト41aのラダー挿入エリア412aに格納されている挿入開始行とラダープログラムとを読み出し(ステップ408)、後述する挿入・テスト処理を行い(ステップ410)、処理を終了する。
【0072】
一方、システムエージェント21は、デバッグタイプが挿入タイプ(I)でないと判断した場合には(ステップ406;N)、デバッグタイプが削除タイプ(D)であるか否かを判断する(ステップ425)。
【0073】
システムエージェント21は、デバッグタイプが削除タイプ(D)であると判断した場合には(ステップ425;Y)、デバッグ情報リスト41bのラダー削除エリア412bに格納されている削除開始行と削除終了行とを読み出し(ステップ427)、後述する削除・テスト処理を行い(ステップ430)、処理を終了する。
【0074】
一方、システムエージェント21は、デバッグタイプが削除タイプ(D)でないと判断した場合、すなわちデバッグタイプが更新タイプ(C)であると判断した場合には(ステップ425;N)、デバッグ情報リスト41cのラダー削除エリア412cに格納されている削除開始行と削除終了行とを読み出すとともに、ラダー挿入エリア412dに格納されている挿入開始行とラダープログラムとを読み出し(ステップ450)、後述する更新・テスト処理を行い(ステップ460)、処理を終了する。
【0075】
ステップ402において、システムエージェント21は、読み出したラダー収集エージェントのIDが、自己が有している処理情報リスト22のエージェントIDエリア212に格納されているラダー収集エージェントのIDと同一でないと判断した場合には(ステップ402;N)、受けたデバッグエージェントが該当するものでないものであるとして、オンラインエディットモニタ1に戻し(ステップ490)、処理を終了する。
【0076】
ここで、ステップ410の挿入・テスト処理について述べる。
【0077】
図9は挿入・テスト処理を示すフローチャートである。
【0078】
システムエージェント21は、メモリエリア中に作業領域nを形成し、この作業領域nに1を設定し(ステップ411)、デバッグエージェント4中のラダー挿入エリア412aに格納されているNo1の挿入開始行とラダープログラムとを読み出し、読み出したラダープログラムをユーザプログラムの指定された挿入開始行に挿入し(ステップ412)、PLC2を動作させる(ステップ413)。
【0079】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ414)。
【0080】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ414;N)、挿入するラダープログラムの次の候補があるか否かを判断し(ステップ415)、その結果、挿入するラダープログラムの次の候補があると判断した場合には(ステップ415;Y)、現候補の挿入したラダープログラムをユーザプログラムから削除するとともに(ステップ416)、現候補のラダープログラムとこの挿入開始行とをデバッグ情報リスト41aのラダー挿入エリア412aから削除する(ステップ417)。
【0081】
続いて、システムエージェント21は、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ418)、ステップ412に処理を移行し、上述したと同様な処理を行う。
【0082】
ステップ415において、システムエージェント21は、挿入するラダープログラムの次の候補がないと判断した場合には(ステップ415;N)、ユーザプログラムに挿入した現候補のラダープログラムを削除するとともに(ステップ419)、Noが“n”の現候補のラダープログラムとこの挿入開始行とをデバッグ情報リスト41aのラダー挿入エリア412aから削除し(ステップ420)、ラダー挿入エリア412aが空であるデバイス情報リスト41aを有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ421)、処理を終了する。
【0083】
ステップ414において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ414;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ422)、処理を終了する。
【0084】
ステップ430の削除・テスト処理について述べる。
【0085】
システムエージェント21は、メモリエリアに作業領域nを形成し、この作業領域nに1を設定し(ステップ431)、ユーザプログラム中の削除開始行から削除終了行までのラダープログラムをメモリエリアに退避させる(ステップ432)。
【0086】
次に、システムエージェント21は、挿入開始行と挿入終了行間のユーザプログラムを削除し(ステップ433)、PLC2を動作させる(ステップ434)。
【0087】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ435)。
【0088】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ435;N)、次に挿入するラダープログラムの候補があるか否かを判断し(ステップ436)、その結果、挿入するラダープログラムの次の候補があると判断した場合には(ステップ436;Y)、メモリエリアに退避させたラダープログラムを元の箇所に戻し(ステップ437)、デバッグ情報リスト41b中のNo“n”ラダー削除エリア412bに格納されているデータを削除する(ステップ438)。
【0089】
続いて、システムエージェント21は、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ439)、ステップ432に処理を移行し、上述した同様な処理を行う。
【0090】
ステップ436において、システムエージェント21は、次に挿入するラダープログラムの候補がないと判断した場合には(ステップ436;N)、メモリエリアに退避させたラダープログラムをユーザプログラムに戻し(ステップ440)、ラダー削除エリア412b中のNoが“n”の箇所のラダー削除エリア412bのデータを削除し(ステップ441)、ラダー削除エリア412bが空であるデバイス情報リスト41bを有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ442)、処理を終了する。
【0091】
ステップ435において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ435;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ443)、処理を終了する。
【0092】
ステップ460の更新・テスト処理について述べる。
【0093】
図11は更新・テスト処理を示すフローチャートである。
【0094】
システムエージェント21は、メモリエリアに作業領域nを形成して、この作業領域nに1を設定し(ステップ461)、ラダー削除エリア412c中のNo“n”に格納されている削除開始行と削除終了行間のラダープログラムをメモリエリアに退避させる(ステップ462)。
【0095】
次に、システムエージェント21は、挿入開始行と挿入終了行間のユーザプログラムを削除し(ステップ463)、削除したユーザプログラムの挿入開始行から挿入終了行間に、ラダー挿入エリア412d中のNo“n”に格納されているラダープログラムを、挿入開始行の箇所に挿入し(ステップ464)、PLC2を動作させる(ステップ465)。
【0096】
システムエージェント21は、PLC2を動作させた結果、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したか否かを判断する(ステップ466)。
【0097】
システムエージェント21は、処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了しなかったと判断した場合には(ステップ466;N)、次に更新するラダープログラムの候補があるか否かを判断し(ステップ467)、更新するラダープログラムの次の候補があると判断した場合には(ステップ467;Y)、挿入したラダープログラムを削除し(ステップ468)、メモリエリアに退避させたラダープログラムを元の箇所に戻す(ステップ469)。
【0098】
続いて、システムエージェント21は、ラダー削除エリア412cおよびラダー挿入エリア412dのNoが“n”の箇所のデータを削除し(ステップ470)、作業領域nに格納されているnに1を加算した値を新たにnとし(ステップ471)、ステップ462に処理を移行し、上述したと同様な処理を行う。
【0099】
ステップ467において、システムエージェント21は、次に挿入するラダープログラムの候補がないと判断した場合には(ステップ467;N)、挿入したラダープログラムを削除し(ステップ472)、メモリエリアに退避させたラダープログラムを元の箇所に戻す(ステップ473)。
【0100】
次に、システムエージェント21は、ラダー削除エリア412cおよびラダー挿入エリア412dのNoが“n”の箇所のデータを削除し(ステップ474)、ラダー削除エリア412cおよびラダー挿入エリア412dが空であるデバッグ情報リスト41を有するデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ475)、処理を終了する。
【0101】
ステップ466において、システムエージェント21は、自己が有する処理情報リスト22中のサイクルタイムエリア224に格納されているサイクルタイム時間内に処理が終了したと判断した場合には(ステップ466;Y)、このデバッグエージェント4をオンラインエディットモニタ1に戻し(ステップ476)、処理を終了する。
【0102】
この実施形態のオンラインエディットシステムでは、オンラインエディットモニタ1のシステムエージェント11で生成されたデバッグエージェント4には複数の修正プログラムを有しており、このデバッグエージェント4を受けるPLC2のシステムエージェント21は、デバッグエージェント4に有する複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたため、従来、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0103】
このため、従来のオンラインエディットを行ったときに発生するオンラインデバッグやモニタのセッションの発生を抑えることができ、オンラインエディットの効率を良くすることができるとともに、オンラインエディットをリモート操作で行うに際し、処理効率を向上させることができる。
【0104】
また、実施形態のオンラインエディットシステムでは、PLC2のシステムエージェント21がオンラインエディットモニタ1のシステムエージェント11からラダー収集エージェント3を受けると、自動的にプログラムを収集するため、ユーザのプログラム収集が容易に行うこができる。
【0105】
【発明の効果】
以上本発明によれば、生成されたデバッグエージェントには複数の修正プログラムを有しており、この複数の修正プログラムを用いてデバッグ・テストを順次行うようにしたことにより、ユーザがオンラインエディットするに際し、制御装置を停止し、修正プログラムでユーザプログラムをエディットし、テストする必要をなくすことができる。
【0106】
このため、従来のオンラインエディットを行ったときに発生するオンラインデバッグやモニタのセッションの発生を抑えることができ、オンラインエディットの効率を良くすることができるとともに、オンラインエディットをリモート操作で行うに際し、処理効率を向上させることができる。
【図面の簡単な説明】
【図1】本発明に係るオンラインエディットシステムの一実施形態の構成を示すブロック図。
【図2】ラダー収集エージェントに有するラダー収集リストの内容を説明する説明図。
【図3】プログラマブルコントローラに有する処理情報リストの内容を説明する説目図。
【図4】デバッグエージェントに有するデバッグ情報リストの内容を説明する説明図。
【図5】オンラインエディットモニタがラダー収集エージェントを生成する処理動作を示すフローチャート。
【図6】プログラマブルコントローラがラダー収集エージェントを受けたとき実行する処理示すフローチャート。
【図7】オンラインエディットモニタがデバッグエージェントを生成する処理動作を示すフローチャート。
【図8】デバッグエージェントを受けたプログラマブルコントローラが実行する処理動作を示すフローチャート。
【図9】図8中の挿入・テスト処理についての処理動作を示すフローチャート。
【図10】図8中の削除・テスト処理についての処理動作を示すフローチャート。
【図11】図8中の更新・テスト処理についての処理動作を示すフローチャート。
【図12】従来のオンラインエディットシステムの構成を示すブロック図。
【図13】オンラインエディットされるラダープログラムを説明する説明図。
【符号の説明】
1 オンラインエディットモニタ
11 システムエージェント
2 プログラマブルコントローラ
21 システムエージェント
22 処理情報リスト
221 システムエージェントIDエリア
222 エージェントIDエリア
223 ラダー収集エリア
224 サイクルタイムエリア
225 収集ラダーエリア
3 ラダー収集エージェント
31 ラダー収集リスト
311 エージェントIDエリア
312 ラダー収集エリア
313 収集ラダーエリア
4 デバッグエージェント
41 デバイス情報リスト
411 デバッグタイプエリア
412a ラダー挿入エリア
413 エージェントIDエリア
412b ラダー削除エリア
5 回線
Claims (6)
- 制御対象機器を制御する制御装置に走っているユーザプログラムを、該制御装置に接続されたオンラインエディットモニタでオンラインエディットするオンラインエディットシステムにおいて、
前記オンラインエディットモニタは、
プログラム収集エージェント生成手段と、
デバッグエージェント生成手段を有し、
前記制御装置は、
プログラム収集実行手段を有し、
前記プログラム収集エージェント生成手段は、
デバッグ対象プログラムが稼動している前記制御装置からオンラインエディットするプログラムを収集させるプログラム収集エージェントを生成し、この生成したプログラム収集エージェントを前記制御装置へ出力し、
前記プログラム収集実行手段は、
前記プログラム収集エージェント生成手段が生成した前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントに従いプログラムを収集し、この収集したプログラムを前記オンラインエディットモニタへ出力し、
前記デバッグエージェント生成手段は、
前記プログラム収集実行手段で収集したプログラムのデバッグ情報リストを含むデバッグエージェントを生成し、この生成したデバッグエージェントをデバッグ対象プログラムが稼動している前記制御装置に出力し、
前記制御装置は、
前記デバッグエージェント生成手段で生成されたデバッグエージェントを受けると、受けたデバッグエージェントを実行し、そのデバッグエージェントに含まれているデバッグ情報リストに基づいてデバッグ対象プログラムのデバッグ・テストを実行する
ことを特徴とするオンラインエディットシステム。 - 前記プログラム収集エージェントには、
自己を特定するエージェントIDを格納するエージェントIDエリアと、
前記ユーザプログラム中から収集するプログラム行を特定する収集開始行と収集終了行とからなるプログラム収集情報とを有しており、
前記プログラム収集実行手段は、
前記プログラム収集エージェント中の前記プログラム収集情報に基づき、前記ユーザプログラムからプログラムを収集し、これを前記プログラム収集エージェントに付加し、前記ディバックエージェント生成手段に出力することを特徴とする請求項1記載のオンラインエディットシステム。 - 前記プログラム収集実行手段は、
前記プログラム収集エージェントを受けると、受けた前記プログラム収集エージェントを特定するエージェントIDと、デバッグ対象の制御装置から収集した前記制御対象機器の実行が許可されているサイクルタイム時間との情報を前記デバッグ対象の制御装置内にもたせることを特徴とする請求項1記載のオンラインエディットシステム。 - 前記デバッグエージェントには、
前記ユーザプログラムにプログラムを挿入するタイプのものであるか、前記ユーザプログラムの所定箇所のプログラムを削除させるものであるか、または、前記ユーザプログラムの所定箇所のプログラムを更新させるものであるかを指定するデバッグタイプ情報を有しており、
前記デバッグエージェント実行手段は、
前記デバッグエージェントに有するデバッグタイプ情報により、所定のタイプのデバッグ・テスト処理を実行することを特徴とする請求項1記載のオンラインエディットシステム。 - プログラムを挿入してデバッグ・テストさせるデバッグエージェントの場合には、修正プログラムと、この修正プログラムを前記ユーザプログラムに挿入する箇所を特定する挿入開始行とからなるデバッグ情報リストを有しており、
プログラムを削除してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを削除する箇所を特定する削除開始行と、削除終了行とからなるデバッグ情報リストを有しており、
プログラムを更新してデバッグ・テストさせるデバッグエージェントの場合には、前記ユーザプログラムを更新する箇所を特定する削除開始行および削除終了行、並びに前記ユーザプログラムの削除した箇所に修正プログラムを挿入するための挿入開始行、および前記削除した箇所に挿入する前記修正プログラムからなるデバッグ情報リストを有していることを特徴とする請求項1記載のオンラインエディットシステム。 - 前記制御手段は、
前記デバッグエージェントを用いてデバッグ・テストしたとき、デバッグ・テスト処理が、前記デバッグ対象の制御装置内に有するサイクルタイム時間内に処理を終えない場合には、前記デバッグ情報リストを削除することを特徴とする請求項4または5記載のオンラインエディットシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09031798A JP3550640B2 (ja) | 1998-04-02 | 1998-04-02 | オンラインエディットシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP09031798A JP3550640B2 (ja) | 1998-04-02 | 1998-04-02 | オンラインエディットシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11288308A JPH11288308A (ja) | 1999-10-19 |
JP3550640B2 true JP3550640B2 (ja) | 2004-08-04 |
Family
ID=13995160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09031798A Expired - Fee Related JP3550640B2 (ja) | 1998-04-02 | 1998-04-02 | オンラインエディットシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3550640B2 (ja) |
-
1998
- 1998-04-02 JP JP09031798A patent/JP3550640B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11288308A (ja) | 1999-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103430111B (zh) | 控制装置、控制系统、以及工具装置 | |
CN104204975B (zh) | 定序程序调试辅助装置 | |
JP7320953B2 (ja) | プログラマブルロジックコントローラ及びそのログデータ保存方法 | |
JP2008293138A (ja) | ソフトウェア開発支援プログラム、ソフトウェア開発支援方法 | |
JP6442131B2 (ja) | 制御システムおよび制御装置 | |
JP2011128940A (ja) | ソフトウェアテスト自動化システム及びソフトウェアテスト自動化方法 | |
JP2008142788A (ja) | 動作プログラム作成支援方法および動作プログラム作成装置。 | |
JP3550640B2 (ja) | オンラインエディットシステム | |
JP2010122824A (ja) | プログラマブルコントローラのダイアグラムのデバッグシステム、そのプログラミング装置及びそのプログラム | |
JP2004280635A (ja) | シミュレーション装置,シミュレーション方法及びシミュレーションプログラム | |
US20100063792A1 (en) | Visualization Method for Electrical Machine Operation Models Based on Mechanical Machine Operation Models | |
JP6245429B2 (ja) | プログラム開発支援装置およびコンピュータプログラム | |
JP6758543B1 (ja) | 原点復帰装置 | |
KR101447846B1 (ko) | 모션 sfc 프로그램 부품 작성 장치 | |
EP0435139B1 (en) | A programmable controller for executing SFC language programs | |
JP2009070181A (ja) | 動作プログラム作成支援システム | |
JP2009289151A (ja) | 新規障害対処手順知識化プログラム、新規障害対処手順知識化装置および新規障害対処手順知識化方法 | |
CN108171013A (zh) | 一种可视化生物信息分析流程的调试方法及系统 | |
JP2001154711A (ja) | 工程歩進型プログラムのデバッグ方法および装置 | |
US20100063606A1 (en) | Automated derivation of a logic-controller-behavior-model from a mechanical-machine-operation-model | |
JP3876959B2 (ja) | シーケンスプログラムのシミュレーション装置 | |
JP5287630B2 (ja) | 制御システム、制御システムの交信方法、通信ユニット、および通信ユニットの交信方法 | |
CN115202285A (zh) | 一种plc断点调试方法 | |
JPH03207628A (ja) | 射出成形機のシーケンスプログラムの編集方法およびその装置 | |
KR100423742B1 (ko) | 순차기능챠트에 의한 전용 제어 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040326 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040408 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |