JP2003108220A - 制御プログラム開発支援方法及び装置 - Google Patents

制御プログラム開発支援方法及び装置

Info

Publication number
JP2003108220A
JP2003108220A JP2001304406A JP2001304406A JP2003108220A JP 2003108220 A JP2003108220 A JP 2003108220A JP 2001304406 A JP2001304406 A JP 2001304406A JP 2001304406 A JP2001304406 A JP 2001304406A JP 2003108220 A JP2003108220 A JP 2003108220A
Authority
JP
Japan
Prior art keywords
state transition
simulator
data
program
uml
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
JP2001304406A
Other languages
English (en)
Inventor
Shigeru Hitomi
繁 人見
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 JP2001304406A priority Critical patent/JP2003108220A/ja
Publication of JP2003108220A publication Critical patent/JP2003108220A/ja
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

(57)【要約】 【課題】 シミュレーションで作成したモデルをその後
の工程(制御設計、調整)で生かすことができる制御プ
ログラム開発支援装置を提供すること 【解決手段】 設計対象のシステムをUMLを用いてモ
デリングしたUMLデータを作成するUMLエディタ部
11と、設計対象のシステムを構成する複数の実機毎の
状態遷移モデルを生成する状態遷移エディタ部12と、
UMLデータと状態遷移モデルに基づいて、シミュレー
タ31を動作させるための異なる言語のプログラムを生
成する複数の言語変換部13a,13bを含むコード生
成部13と、コード生成部で生成されたプログラムに基
づいてシミュレーションするシミュレーション部30と
を備える。シミュレーション部は、複数のプログラムに
対応してそれぞれ動作する複数のシミュレータ31と、
それら各シミュレータ間を接続するシミュレータ連動部
32を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、制御プログラム
開発支援方法及び装置に関するものである。
【0002】
【発明の背景】ある生産工場を立ち上げる場合、その工
場に設置,使用する生産ラインの設計→各装置(制御プ
ログラムを含む)の開発→立ち上げを順次実行するよう
になる。製造業においては、係る生産ラインの設計/開
発/立ち上げの期間が長期化すると利益の機会損失が大
きくなるので、いかに早く立ち上げまで完了するかが大
きな課題となっている。
【0003】立ち上げ完了までの時間がかかる原因の一
つとして、上流工程での設計の作りこみ不足に加え、ロ
ボットやそれを制御するPLC等の実際に生産工場を構
成する実機(特に装置/システムのメカ部分)が揃わな
いと、システム全体はもちろんのこと単体でのデバッグ
ができないことがあげられる。
【0004】一方、最近では、3Dシミュレータの導入
によりデジタルファクトリの実現が期待されている。す
なわち、シミュレーションをすることにより実機が製造
できない場合でも、プログラムのチェックをすることが
できる。しかしながら、現在のシミュレーションでは、
例えば、ロボットやPLC単体での動作確認はできるも
のの、生産ライン(システム)全体についてシミュレー
ションをするのは煩雑であった。よって、部分的に3D
シミュレータを利用することになる。
【0005】更に、従来の生産工場を立ち上げるまでの
システムの一例としては、例えば、ロボットについて、
仮想設備を作成するとともに3Dシミュレータで当該ロ
ボットの動作をシミュレーションし、タクトタイムなど
を検証する。そして、正常に動作することが確認できる
と、ロボット動作をスクリプト記述し、そのスクリプト
よりロボット言語に変換し、実機にダウンロードするこ
とができる。
【0006】一方、当該ロボットの動作を制御するため
のPLCの制御プログラムは、シミュレーション結果を
考慮して、別途ラダープログラムを開発する。つまり、
ロボット用のプログラム開発とは別工程で、ラダープロ
グラムを作成し、実機(PLC)にダウンロードする。
【0007】次いで、制御プログラムがダウンロードさ
れた各実機を用いて実際に動作させ、生産ラインが正常
に動作するか否かの検証を行い、必要に応じて調整を図
る。つまり、上記の例でいうと、PLC用のプログラム
開発は、ロボットのシミュレーション結果を考慮したも
のの、実際に制御対象となるロボットを含めた仮想設備
上でのシミュレーションをしていないため、制御プログ
ラムが正しく動作するか否かが実機で実際に動作させて
確認しないと不明となる。
【0008】なお、PLCの動作をシミュレーションす
るためのPLCシミュレータは存在するものの、ロボッ
ト用のシミュレータと同期・協調動作をさせることがで
きない。
【0009】このように、シミュレーションで作成した
モデルをその後の工程(プログラムの制御設計,調整)
で生かすことができない。また、制御プログラムは、ロ
ボットのシミュレーション結果を見ながら、手動で制御
プログラムの開発をすることになり、作業が煩雑である
ばかりでなく、不具合を生じる可能性が高くなる。
【0010】さらに、シミュレーションをするために
は、膨大な量のモデル動作プログラムを作成しなければ
ならず、その作成が煩雑であるばかりでなく、係るモデ
ル動作プロクラムの作成に時間がかかると言う問題があ
る。
【0011】この発明は、シミュレーションで作成した
モデルをその後の工程(制御設計、調整)で生かすこと
ができ、短時間で質の良いシステム設計,開発をするこ
とができる制御プログラム開発支援方法及び装置を提供
することを目的とする。
【0012】
【課題を解決するための手段】この発明による制御プロ
グラム開発支援方法は、制御プログラム開発支援装置に
おける方法であって、設計対象のシステムをUMLを用
いてモデリングして得られたUMLデータに基づき、状
態遷移データを作成するとともに、状態遷移データ記憶
手段に格納し、次いで、前記UMLデータ並びに前記状
態遷移データに基づいて前記システムを構成する複数種
の機器に対応するシミュレータ用のプログラムを生成
し、その生成したプログラムに基づいて複数のシミュレ
ータを連動させながら動作させ、前記プログラムを検証
する処理を含むようにした。
【0013】また、制御プログラム開発支援装置におけ
る方法であって、設計対象のシステムをUMLを用いて
モデリングして得られたUMLデータに基づき、状態遷
移データを作成するとともに、状態遷移データ記憶手段
に格納し、次いで、少なくとも前記UMLデータ並びに
前記状態遷移データに基づいて前記システムを構成する
コントローラ並びにそのコントローラの操作対象に対応
するシミュレータ用のプログラムを生成し、その生成し
たプログラムに基づいてコントローラ用のシミュレータ
と、前記操作対象用のシミュレータを連動させながら動
作させ、前記プログラムを検証する処理を含むようにす
ることもできる。
【0014】また、上記方法を実施するために適した制
御プログラム開発支援装置としては、設計対象のシステ
ムをUMLを用いてモデリングしたUMLデータを作成
するUMLデータ作成手段と、前記設計対象のシステム
を構成する複数の機器毎の状態遷移モデルを生成する状
態遷移モデル生成手段と、前記UMLデータと前記状態
遷移モデルに基づいて、シミュレータを動作させるため
の異なる言語のプログラムを生成する複数の言語変換手
段を含むコード生成手段と、前記コード生成手段で生成
された前記プログラムに基づいてシミュレーションする
シミュレーション手段とを備え、前記シミュレーション
手段は、前記複数のプログラムに対応してそれぞれ動作
する複数のシミュレータと、それら各シミュレータ間を
接続するシミュレータ連動手段を有するものとした。な
お、特許請求の範囲では、係る発明については従属項を
設けていないが、以下に示す請求項2に記載の発明と同
様に、請求項3から8に示す各請求項を従属させること
ができる。
【0015】更に別の構成としては、設計対象のシステ
ムをUMLを用いてモデリングしたUMLデータを作成
するUMLデータ作成手段と、前記設計対象のシステム
を構成する複数の機器毎の状態遷移モデルを生成する状
態遷移モデル生成手段と、前記UMLデータと前記状態
遷移モデルに基づいて、シミュレータを動作させるため
の異なる言語のプログラムを生成する複数の言語変換手
段を含むコード生成手段と、前記コード生成手段で生成
された前記プログラムに基づいてシミュレーションする
シミュレーション手段とを備え、前記複数の言語変換手
段は、少なくとも前記システムを構成するコントローラ
に対応するコントローラ用のシミュレータのためのプロ
グラムを生成するものと、そのコントローラの操作対象
用のシミュレータのためのプログラムを生成するものを
含み、前記シミュレーション手段は、前記複数のプログ
ラムに対応してそれぞれ動作する前記コントローラ用の
シミュレータと前記操作対象用のシミュレータと、それ
ら各シミュレータ間を接続するシミュレータ連動手段を
有するように構成するとよい。
【0016】そして、前記シミュレータで動作させるた
めのプログラムに基づく制御プログラムを、そのシミュ
レータに対応する実際の機器にダウンロードする手段を
備えるとよい。ここで、シミュレータ用のプログラムと
制御プログラムは同一の場合も有れば適宜変換して生成
される場合もある。実際の機器は、例えば、コントロー
ラやそのコントローラの操作対象等、各種装置がある。
【0017】ここで、UMLとは、Unified M
odeling Languageのことを意味し、統
一モデリング言語の一つである。この発明によれば、設
計対象のシステム、つまり、システム全体やそのシステ
ムを構築する各機器(実機)の構成・動作等をUMLを
用いて統一的に設計を行うことができる。そして、UM
Lを用いてシステム構成を記述することで、全体設計の
見通しがよくなる。
【0018】また、モデリング,シミュレーションなど
の各工程で、それよりも前(上位)工程で作成したデー
タを使いながら、各工程で処理を行うようにしているの
で、プログラム等の設計開発に無駄が無い。
【0019】しかも、モデリング,シミュレーションな
どの各工程で、それよりも前(上位)工程で作成したデ
ータを使うことから、各段階でデバッグなどを行い、あ
る程度品質が保障されると、下位工程におけるデータ・
プログラムの品質を維持することができる。
【0020】状態遷移モデルを作成するため、設計の抜
け、漏れ防止ができる。つまり、状態遷移モデルでシス
テムの振る舞いを記述することで、設計モデルがその後
の工程(制御設計,調整)で生かされる。
【0021】さらに、シミュレータ連動手段により、個
々のシミュレータ同士の動作を連動させることができ、
実機のない設計段階で、システム全体の動作をシミュレ
ーションによって検証することができる。
【0022】システムの一例としては、コントローラ
(実施の形態ではPLC)とそのコントローラの操作対
象(実施の形態ではロボット)があり、上記した発明に
よれば、それらの実機の動作を制御するプログラムがそ
れぞれ異なるプログラム言語で構成されるが、複数の言
語変換手段により、それぞれ対応するプログラムが生成
される。そして、シミュレーション手段では、複数のシ
ミュレータが連動するので、コントローラ用のシミュレ
ータと、操作対象用のシミュレータが連動、つまり、操
作対象用のシミュレータからの出力をコントローラ用の
シミュレータが取得し、所定の演算処理を実行したり、
その実行結果を操作対象用のシミュレータに渡し、その
動作を制御するといった、実機と同様の環境でのシミュ
レーションを実行することができる。
【0023】前記状態遷移モデル生成手段は、前記UM
Lモデルに基づいて状態遷移データを生成するモデル変
換手段と、生成した状態遷移モデルが正しく記述されて
いるかどうかを確認するモデル記述確認手段と、生成し
た状態遷移モデルの遷移状況を出力し、設計した状態遷
移モデルの動作をチェックするための状態遷移確認手段
の内の少なくとも1つを備えるようにするとよい。
【0024】モデル変換手段を実装した場合には、UM
Lデータ(実施の形態では、状態遷移図)に基づいて状
態遷移モデル(実施の形態では状態遷移表)を自動的に
生成することができるので、処理が容易となる。また、
状態モデル記述確認手段を実装した場合には、作成した
状態遷移モデルの記述に漏れ,抜けがないかを自動的に
チェックできるので、入力情報不足その他の記述ミスを
含む状態遷移モデルに基づいて以後の処理をしてしまう
おそれが可及的になくなる。さらに、状態遷移確認手段
を設けた場合には、作成した状態遷移モデルが実際にど
のように状態遷移をしていくかの確認ができる。
【0025】なお、状態遷移確認手段において、状態遷
移させるために与えるトリガとしては、例えば、自己発
生させても良いし、その状態遷移確認手段へ与えるイベ
ントを擬似的に発生する擬似イベント発生手段を備え、
そこから与えるようにすることができる。
【0026】さらに、言語変換手段で生成された前記コ
ントローラ用のシミュレータのためのプログラムを記憶
するコントローラ用言語プログラム記憶手段と、前記操
作対象用のシミュレータのためのプログラムを記憶する
操作対象用言語プログラム記憶手段を備えるとよい。こ
のようにすると、一旦言語変換手段で変換して生成した
プログラムを記憶保持できるので、後で利用することが
できる。また、エディタなどの編集機能を付加すること
により、生成したプログラムを修正することができ、よ
りよいプログラムにすることができる。
【0027】さらにまた、外部データベースから取得し
た情報を編集してプログラムを作成し、前記コントロー
ラ用言語プログラム記憶手段に格納する編集手段を備え
ると良い。編集手段は、実施の形態では、ラダーエディ
タ44に対応する。係る構成にすると、既存のプログラ
ム,ソフトを利用することができるので、より迅速かつ
容易に目的とするプログラムを生成することができる。
【0028】また、個々の装置内の状態を収集する状態
監視手段と、それらの状態を変更するイベント発生を監
視するイベント検知手段を設け、得られた状態,イベン
ト発生状況を状態遷移モデル生成手段に通知するように
するとよい。このようにすると、実際のシミュレーショ
ンを行いながら、状態遷移モデル生成手段でのデバッグ
もできる。
【0029】
【発明の実施の形態】図1は、本発明の一実施の形態を
示している。図に示すように、本実施の形態では、ま
ず、統一モデリング言語の一つであるUML(Unif
ied Modeling Language)を用い
て、生産工場全体のシステムのモデリングを行う(上流
設計)。すなわち、後述するようにユースケース図,ク
ラス図,状態遷移図などによってシステム全体を表現す
る。このとき、各オブジェクト単位、つまり、ロボット
やそれを制御するPLCなどの各機器(システム構成要
素)ごとに状態遷移図等も作成する。また、本形態で
は、ナレッジデータベースに格納された既に作成した過
去のデータを取得し、再利用することもできる。
【0030】次いで、システム全体や各オブジェクトの
状態がどのように遷移していくかを規定した状態遷移表
などの状態遷移モデルを作成・編集するとともに、擬似
的にイベントを発生させ、作成したモデル,状態遷移の
デバッグを行い、想定したとおりに動作するかのチェッ
クを行い、必要に応じて修正を行う(中流設計)。この
ように、UMLによるモデリングに伴い、各種の動作を
検証し、所望の品質のものを作成する。
【0031】次いで、各オブジェクトごとに、動作プロ
グラムを自動生成する。つまり、各オブジェクト(実
機)に対応するシミュレータのためのプログラム,スク
リプトを生成し、生成したプログラム等を対応するそれ
ぞれのシミュレータへダウンロードする(下流設計実
装)。
【0032】そして、そのダウンロードしたプログラム
等に基づき、シミュレータを仮想ターゲット上で動作さ
せ、事前検証を行う。このとき、PLCシミュレータや
3Dシミュレータなどの各シミュレータ同士を後述する
仮想I/Oで接続し、互いに連係して動作させることに
より、システム全体の動作の事前検証を行うことができ
る。
【0033】この事前検証で正常に動作することが確認
できたならば、そのシミュレータを動作させたプログラ
ムを実機にダウンロードする。このとき、必要に応じて
プログラム言語の変換処理を行う。そして、実機でのモ
ニタリングやデバッグトレースを行い、不具合が見つか
った場合には、その不具合の内容に応じて所定の階層
(上流設計,中流設計,下流設計)まで戻り、実行す
る。最終的に所望の動作確認が採れるまで、上記処理を
実行する。このように、上流で作成したデータを下流で
利用していくことにより、一貫した開発環境下で設計が
行えるとともに、上位階層で得られた品質は、原則とし
て下位の階層でも保証される。よって、開発を簡易かつ
迅速に行うことができる。また、実機がない状態でもシ
ステム全体の検証をすることができる。さらに、個々の
実機に対応するシミュレータが有れば、各シミュレータ
同士は仮想I/Oにより連携させることができるので、
システム全体(仮想工場)のモデル動作プログラムは不
要となり、実際のシステム稼働時に必要な各実機の制御
プログラムの開発に労力を掛けることができる。よっ
て、効率よく短時間で開発が完了する。
【0034】次に、上記した概要を実施するために適し
た制御プログラム開発支援装置1の具体的な実施の形態
を説明する。図3に示すように、上流設計,中流設計の
ための各種のモデリングを作成,編集し、オブジェクト
毎のプログラム言語を作成する設計データ編集部10
と、その設計データ編集部10で作成された各オブジェ
クト毎のプログラムを格納するプログラム記憶部20
と、そのプログラム記憶部20に格納されたプログラム
を読み出し、シミュレーションを行うシミュレーション
部30を備えている。更に、設計データ編集部10で作
成・編集するデータを格納するUMLデータ記憶部2
1,状態遷移データ記憶部22並びタグデータベース2
3を備えている。
【0035】設計データ編集部10は、上流設計を支援
するUMLエディタ部11と、中流設計(ビヘイビアの
設計)を支援する状態遷移エディタ部12と、それらU
MLエディタ部11,状態遷移エディタ部12で作成し
た情報に基づいて複数種類のプログラミング言語からな
るプログラム(ソースコード)を自動生成するコード生
成部13を備えている。
【0036】UMLデータ記憶部21は、UML標準の
設計データを編集する手段であり、ユーザ操作によりU
MLデータを生成する。そして、生成したUMLデータ
は、UMLデータ記憶部21に格納する。ここで、UM
Lデータとは、機能モデルを特定するユースケース図,
静的モデルを特定するクラス図,動的モデルを特定する
状態遷移図並びに状態遷移表などがある。この他、アク
ティビティ図,コラボレーション図(相互作用図)など
もある。これら各UMLデータを具体例を挙げて説明す
ると以下の通りである。
【0037】まず、設計対象である生産ラインの一例を
説明する。図4に示すように、上流側搬送装置50上を
搬送されるワーク51が所定位置(搬出位置)に来たと
きに、ワーク供給用ロボット52が動作し、係るワーク
51をピックアップするとともに次段の検査台53の上
に移し替える。そして、検査カメラ54で検査を完了し
たワーク51を、ワーク排出用ロボット55でピックア
ップし、次段の下流側搬送装置56上に移し替える。こ
の移し替えられたワーク51は、下流側搬送装置56に
て搬送される。なお、各装置の動作は、所定位置に設置
されたセンサ57によりワーク51を検出した時に出力
される検知信号をトリガとして動作する。そして、この
2つのロボットの動作を制御コントローラであるPLC
により制御・管理するようなシステムを設計する場合を
想定する。このシステムを動作させるために各種命令を
与える操作部その他のマンマシンインタフェース部とし
ては、図5に示す操作パネルのようなものがある。
【0038】ユースケース図は、システムが提供する機
能を表現するために使用されるもので、システムが提供
する機能を示すユースケースと、そのシステムを利用す
る外部環境であるアクターを用いて記載される。本実施
の形態の場合、生産工場の生産ラインを設計するもので
あるので、システムは係る生産ライン(全体或いは一
部)となる。もちろん、システムとしては、ラインのよ
うな一連のものではなく、半導体製造装置,検査装置,
塗装工程設備などもある。要は、産業用コントローラと
操作対象(ロボット、搬送機などの動くもの)とを含む
制御システム,設備機械,生産システムである。
【0039】なお、コントローラとしては、現状のラダ
ープログラム対応のプログラマブルコントローラ(PL
C)はもちろんのこと、C言語対応コントローラ,ソフ
トPLC(ソフトウェアPLC,パソコンPLC),汎
用言語対応コントローラ等各種のものがある。そして、
本実施の形態では、一般的なPLCを用いたため、プロ
グラム言語もラダー言語を用いているが、対象となるコ
ントローラに応じて適宜変更されるのは言うまでもな
い。
【0040】係る図4,図5に示す生産ライン、より具
体的には2つのロボット52,55からなるシステムの
動作をユースケース図で表現すると、図6のようにな
る。上流側搬送装置50と下流側搬送装置56はそれぞ
れ前工程と後工程になる。
【0041】図において、アクターAは、システムのユ
ーザが果たす役割を表すもので、アクター名(図の場合
は「操作者」,「前工程」,「後工程」)を併記して表
記する。このアクターAは、システムと情報交換をした
り、システムから受動的に情報を受け取るものである。
「操作者」のように人間の場合も有れば、「前工程」,
「後工程」のようにハードウェア,外部システムの場合
もある。
【0042】また、各機能を示すユースケースは、楕円
形のアイコンで示されており、ユースケース名を併記す
る。このユースケースは、ユーザがシステムを利用して
遂行する単位業務の一つをそれぞれ抽象化したもので、
アクターとシステムの間の対話をモデル化したものであ
る。ユースケースは、アクターによって開始され、シス
テム内のある機能が実行されるようになる。そして、全
てのユースケースを集めると、システムがどのように使
われるか(どのように動作するか)が理解できるように
表現する。
【0043】一方、クラス図は、システムを構成する装
置(部品・機能)の構成を示すもので、図4,図5に示
すシステムのクラス図は、図7に示すようになる。図7
に示すように、各四角のブロックが、クラスアイコンと
称されるもので、このクラスアイコンの集合によりクラ
ス図が表記される。なお、クラスアイコンは、3つの四
角で構成され、上側の欄が「名前コンパートメント」で
あり、クラスの名前やクラスの種別が表示される。簡略
形では、この名前コンパートメントのみを表記する場合
もある。また、中間の欄は「属性コンパートメント」で
属性のリストが表示され、下側の欄は「オペレーション
コンパートメント」でオペレーションのリストが表示さ
れる。
【0044】また、状態遷移図は、オブジェクト,シス
テムのライフ・サイクルを記述するもので、イベント
(メッセージ,時間,エラー,状態変化)がオブジェクト
の状態にどのように影響を与えるかを示す図である。換
言すると、システム内のオブジェクトが取りうるすべて
の状態と、状態の変化を引き起こすイベントを表現した
図である。与えられたクラスの状態空間、1つの状態か
ら他の状態へ移る際に発生するイベント及び状態の変化
によって生じるアクションを表すために使われる。ステ
ートチャート図と称されることもある。状態遷移表は、
係る状態の変化を表形式で示したものである。
【0045】具体的な一例を示すと、図8から図11に
示すように表記される。つまり、システム全体の状態遷
移図(図8)と状態遷移表(図9)と、各オブジェクト
毎の状態遷移図(図10)と状態遷移表(図11)を作
成する。図の例では、オブジェクトとしてロボットを記
載したが、PLCについてももちろん作成される。ま
た、ワーク供給用ロボット52とワーク排出用ロボット
55が異なる動作をする場合には、それぞれについて作
成される。なお、状態遷移図と状態遷移表は、同一の内
容を特定するための表現形式が異なるだけであるので、
例えば状態遷移図から自動的に状態遷移表を作成するこ
ともできる。逆も同様である。
【0046】UMLエディタ部11は、上記した各UM
Lデータを作成するためのエディタであり、操作者(設
計者)がこのエディタを使用して作成する。なお、本実
施の形態では、状態遷移表は状態遷移エディタ部12で
作成するようになっている。また、全てのUMLデータ
を新規に作成しても良いし、過去に作成したデータ等を
利用してもよい。
【0047】この外部データを利用するためには、例え
ば図12に示すように、外データ保持手段たるナレッジ
データベース40に対しアクセスし、必要なデータを取
得することにより実現できる。すなわち、制御プログラ
ム開発支援装置1には、設計データダウンロード部41
を設ける。この設計データダウンロード部41は、設計
データ編集部10(UMLエディタ部11)の要求によ
り、インターネット42を介してWebサーバ部43に
接続し、ナレッジデータベース40内に格納されている
設計テンプレート記憶部40aに格納された設計テンプ
レートを取得し、設計データ編集部10(UMLエディ
タ部11)にリストを渡す。
【0048】具体的には、図13に示すフローチャート
を実施する機能を有する。すなわち、まず設計データ編
集部10からの要求を待ち(ST1)、要求を受けたな
らば、そのコマンド種別がデータ要求なのかリスト要求
なのかを判断する(ST2)。
【0049】そして、コマンド種別がデータ要求の場合
には、インターネット42を介してサーバ、つまりナレ
ッジデータベース40に対して設計データを要求する
(ST3)。この要求の後、インターネット42経由で
返信されてきた所望の設計データを受信したならば(S
T4)、その受信した設計データを設計データ編集部1
0が読み込み可能なデータ形式に変換する(ST5)。
そして、その変換したデータを記憶媒体に保存するとと
もに、設計データ編集部に通知する(ST6,ST
7)。
【0050】また、受信したコマンド種別がリスト要求
の場合には、インターネット42を介してサーバ(ナレ
ッジデータベース40)に対してリストを要求し(ST
8)、サーバから返信されてきたリストを受信したなら
ば(ST9)、ブラウザ上に表示したり、或いは、設計
データ編集部10にリストを渡す処理を実行する(ST
10)。
【0051】一方、Webサーバ部43は、設計データ
ダウンロード部41からの要求により、ナレッジデータ
ベース40内に格納されている設計テンプレート,既存
ソフト部品のリストを作成し、返送する。
【0052】具体的には、図14に示すフローチャート
を実施する機能を有する。すなわち、まずクライアント
(設計データダウンロード部41)からの要求を待ち
(ST11)、要求を受けたならば、そのコマンド種別
がデータ要求なのかリスト要求なのかを判断する(ST
12)。
【0053】そして、コマンド種別がデータ要求の場合
には、設計テンプレート記憶部40aにアクセスし、指
定された設計データを検索する(ST13)。そして、
該当するデータを取得したならば、当該設計データをイ
ンターネット42を介してクライアント(設計データダ
ウンロード部41)に対し返送する(ST14)。
【0054】また、受信したコマンド種別がリスト要求
の場合には、設計テンプレート記憶部40aに格納され
ている設計データのリストを抽出し、当該リストをイン
ターネット42を介してクライアント(設計データダウ
ンロード部41)に対し返送する(ST15)。
【0055】なお、後述するように、ナレッジデータベ
ース40には、状態遷移モデルテンプレートを記憶する
状態遷移モデルテンプレート記憶部40b並びに既存ソ
フト部品を記憶する既存ソフト部品記憶部40cを備え
ており状態遷移モデルテンプレートは状態遷移エディタ
部12に与えられ、既存ソフト部品はラダーエディタ4
4に与えるようになっている。
【0056】なお、ナレッジデータベース40に格納さ
れる設計テンプレートは、手直しや情報の追加を前提と
した設計パターン集,デザインパターンや、アーキテク
チャパターンなどの設計パターン集,クラスライブラリ
などの再利用可能なソースコードなどがある。また、状
態遷移モデルテンプレートは、すでに動作確認済みの状
態遷移データがある。更に、既存ソフト部品は、動作検
証済みのソフトウェアであり、その内部を修正すること
なくそのまま再利用できるソースコード、または実行可
能バイナリなどがある。
【0057】状態遷移エディタ部12は、図15に示す
ように、モデル編集部12a,モデル変換部12b,モ
デル記述確認部12c,状態遷移確認部12d並びに擬
似イベント生成部12eを備えている。
【0058】モデル編集部12aは、状態遷移モデルで
ある状態遷移表を作成、編集するものである。そして、
ユーザが作成したモデル(状態遷移表)は状態遷移デー
タ記憶部22に格納される。モデル変換部12bは、状
態遷移モデル(状態遷移表)を自動的に作成するもの
で、UMLデータ記憶部21に格納された状態遷移図
(図8,図10参照)を読み出し、状態遷移表に変換す
るものである。そして、変換して生成された状態遷移表
(図9,図11参照)は、状態遷移データ記憶部22に
格納される。
【0059】モデル記述確認部12cは、状態遷移モデ
ル(状態遷移表)に、設計漏れ,記述ミスがないかをチ
ェックするものである。すなわち、モデル編集部12a
やモデル変換部12bで作成した状態遷移表を取得し、
状態遷移表のセル内に空欄があるか否かをチェックす
る。そして、空欄があった場合には、それを指摘する。
指摘の仕方は、例えばモニタにチェックした状態遷移表
を出力表示するとともに、空欄箇所を所定の色で表示す
ることなどにより行える。なお、状態遷移表の取得は、
例えば、各部から直接受け取るようにしても良いし、状
態遷移データ記憶部22に記憶されたデータを読み出す
ようにしてもよい。
【0060】状態遷移確認部12dは、状態遷移表上
で、現在の状態とイベントを認識し、該当するセルの色
を変化させるなどして、現在の状態をモニタに出力表示
する。また、擬似イベント生成部12eより受け取った
イベントにより、セル内に記述されている次の状態へ遷
移させ、その状況を状態遷移状況を表示する機能も持
つ。これにより、色の変化を追うことにより、ユーザは
状態遷移がどのように行われるかを確認でき、係る遷移
が正しいか否かを容易に確認できる。また、状態遷移状
況は、ログを記録してそのリストを表示してもよい。
【0061】擬似イベント生成部12eは、受信した事
象を状態遷移確認部12dが認識できる方法に変換し、
その状態遷移確認部12dに通知するものである。この
通知に従って、状態遷移確認部12dが、状態を遷移さ
せていく。また、上記した事象は、マウスやキーボード
などの入力装置45からユーザが手動により与えたり、
デバッグトレース部46のイベント検知部46aから自
動的に与えたりする。なお、イベント検知部46aの機
能は後述する。
【0062】上記の各処理部12aから12eを適宜実
行し、システム全体並びに各モジュール毎の状態遷移モ
デルの検証が行われ、正常に動作することが確認された
ならば、係る状態遷移データがコード生成部13にて所
望の言語に変換される。このコード生成部13は、図1
6に示すように、各プログラム言語に変換するための複
数の言語変換部13a,13b,…と、連動データ生成
部13cとを備えている。そして、具体的には、図17
から図20に示すフローチャートを実施する機能を有す
る。
【0063】コード生成部13は、UMLデータ,状態
遷移データより、設計モデルの振る舞いを実現する言語
(ソースコード)を生成する機能を有する。さらに、複
数のシミュレータ間での協調動作を実現(シミュレーシ
ョン)するために、連動データ生成部13cの準備した
データを参照して、必要な連携処理を生成する。
【0064】すなわち、まず状態遷移データ記憶部22
に格納された状態遷移モデル等をクラス毎に順次読み出
し、読み出した処理対象の状態遷移モデルの言語を確認
する(ST20からST22)。次いで、確認した言語
に対応する言語変換処理を実行する(ST23)。言語
変換部は、例えば、PLCの制御プログラム等を生成す
るためのラダー言語変換部,ロボットの動作プログラム
等を生成するためのスクリプト変換部の他、C言語変換
部,Java(登録商標)変換部など各種のものが用意
される。
【0065】ここで言語変換部の1つであるラダー言語
変換部13aの機能としては、例えば図18から図20
に示すフローチャートを実施するようになっている。す
なわち、状態の数だけ繰り返し実行する(ST30,S
T31)。そして、現在処理中の状態が親状態であるか
否かを判断し(ST32)、親状態の場合には排他回路
を生成し(ST33)、ステップ30に戻り次の状態の
処理(ラダー回路生成)に移行する。一方、ステップ3
2の分岐判断でNo、つまり、処理対象の状態が親状態
でない場合には現在の状態判定回路を排他回路にAND
接続する(ST34)。そして、イベント解析処理(S
T35)を実行後、ステップ30に戻り次の状態の処理
(ラダー回路生成)に移行する。
【0066】また、このイベント解析処理は、図19に
示すように、イベント発生時の判定回路を状態判定回路
にAND接続し(ST40)、イベントの数だけ順次ラ
ダー回路を生成する(ST41,ST42)。そして、
アクションが無い場合にはステップ41に戻り次のイベ
ントの処理をする(ST43)。また、アクションがあ
った場合には、アクションの呼び出し回路を生成し(S
T44)、状態遷移回路を生成する(ST45)。具体
的には、現状態をOFFにし次状態をONにする。な
お、各状態は自己保持回路、もしくはキープリレーとし
て次の状態遷移が発生するまえに記憶するようにする。
その後、ステップ41に戻る。このようにして全てのイ
ベントについて生成すると、処理を終了する。
【0067】上記処理を実行することにより、例えば図
9に示すシステム全体の状態遷移表に基づき、図21に
示すシステム全体の状態を制御するラダー回路が自動生
成できる。
【0068】なお、このラダー回路を実際にサイクリッ
クに処理する場合は、図22に示すように、入力(I
N)リフレッシュ処理を実行後、ラダー回路を実行し、
その後、出力(OUT)リフレッシュ処理を実行する。
上記処理を動作終了するまで繰り返しサイクリックに実
行する。なお、「ユーザ作成のアクション回路」は、実
際には、図21に示すラダー回路の実行中に呼び出され
るものである。
【0069】さらに、図18に示すように、全ての状態
についてのラダー回路を生成したならば(ステップ31
でNo)、ステップ36に進み、「タグ→I/O置換処
理」を実行する。この置換処理は、具体的には、図20
に示すフローチャートを実行する。つまり、生成したラ
ダー回路中に存在するタグを順次検出し、各タグに対し
て連動データ生成処理を実行する(ST50からST5
2)。
【0070】この連動データ生成処理は、タグデータベ
ース23の情報より、複数のシミュレータが参照するこ
とが可能な仮想I/O(共有メモリ)上のI/Oアドレ
ス等に変換したり、タグデータベース23の情報より、
仮想/実通信路で使用する通信相手先や通知する事象が
保持されているI/Oアドレスに変換する処理を実行す
るものである。
【0071】そして、実際には、図23に示すフローチ
ャートを実行する連動データ生成部13cが起動され、
処理される。すなわち、タグデータベース23をアクセ
スし、タグ名をキーに検索する(ST60)。ここで、
タグデータベース23は、イベントとI/O(データメ
モリも含む)などの対応を記録したデータベースであ
り、例えば、図24に示すようなコントローラ情報や、
図25に示すようなタグ定義が、テーブル形式で格納さ
れている。さらに、図示省略するが、状態とI/O(デ
ータメモリも含む)などの対応も記録されている。
【0072】そこで、係るタグデータベース23内に記
憶されたデータの中に、ステップ60で検出したタグ名
が存在するか否かを判断し(ST61)、存在した場合
にはI/Oアドレス(メモリアドレス)が未定義である
か否かを判断する(ST62)。そして、未定義の場合
には、定義済みのI/Oアドレスを検索して空きI/O
アドレスを検出し、その空きI/Oアドレスを該当タグ
のI/Oアドレスとして自動的に割り当てる(ST6
3)。
【0073】次いで、そのようにして割り当てたI/O
アドレス或いは定義済みのI/Oアドレスを取得すると
ともに(ST64)、該当タグのコントローラ名を取得
する(ST65)。コントローラ名が存在しない場合
(ステップ66でNo)にはそのまま終了し、存在する
場合にはステップ67に進み、タグデータベース23に
格納されたコントローラ情報(図24参照)から、その
コントローラ名のネットワークアドレスを取得する(S
T67)。
【0074】そして、このようにして取得したアドレス
情報に基づき、生成したラダー回路中のタグをI/Oア
ドレスに置き換える(図20のステップ53)。これに
より、後述するシミュレーション部で実行するラダー言
語のプログラム並びに各シミュレータ同士を連携する仮
想I/O(図1,図2参照)を形成することができる。
そして、この生成されたラダー言語は、対応するプログ
ラム記憶部20であるラダー記憶部20aに格納され
る。
【0075】なお、上記した説明はPLC用のラダープ
ログラムを自動生成するラダー言語変換部13aについ
て説明したが、本実施の形態では、ロボット52,55
を動作させるためのロボット言語(スクリプト)を自動
生成するためのスクリプト変換部13bも備えている。
このスクリプト変換部13bは、状態遷移表をロボット
言語(スクリプト言語)に変換する機能をもつ。このス
クリプト変換部13bの後段で、3Dシミュレータ用の
動作スクリプトをシミュレーション動作させるプログラ
ムを生成する(図示せず)。そして、このスクリプト変
換部13bで生成されたプログラムも、対応するプログ
ラム記憶部20であるスクリプト記憶部20bに格納さ
れる。もちろん、これ以外の言語変換部も必要に応じて
組み込まれる。
【0076】また、上記コード生成部13により自動生
成され、所定のプログラム記憶部に格納された各プログ
ラム言語は、編集可能となっている。すなわち、本実施
の形態では、図16に示すように、ラダー記憶部20a
にはラダー回路を作成,編集並びにPLCへのダウンロ
ードが行えるプログラミングツールであるラダーエディ
タ44を連携する。また、スクリプト記憶部20bに
は、市販のテキストエディタ、もしくは3Dシミュレー
タ付属のエディタなどで構成されるテキストエディタ4
7を連携させる。そして、各エディタを操作して、自動
生成されたプログラムを読み出すとともに、所定の編集
を行った後、各記憶部に格納することによりプログラム
の修正・更新処理が行えるようになっている。これによ
り、自動生成により不具合が生じた場合にも対応でき
る。
【0077】一方、シミュレーション部30は、上記し
たプログラム記憶部20に格納された各プログラムを読
み出し、仮想工場でのシミュレーションを行うもので、
以下のように構成されている。すなわち、図3,図26
に示すように、各実機(オブジェクト)に対応するシミ
ュレータ31と、それらシミュレータ31を連携するシ
ミュレータ連動部32により構成されている。シミュレ
ータは、本実施の形態では、PLCシミュレータ31a
と3Dシミュレータ31bを実装している。もちろん、
対応する実機に応じて適宜のシミュレータを用意する。
【0078】PLCシミュレータ31aは、実PLCの
ラダー実行機能と通信機能をパソコン上でシミュレーシ
ョンできるアプリケーションであり、3Dシミュレータ
31bは3次元のデータを表示することができ、その動
作をスクリプトで定義できるシミュレータである。いず
れも既存のアプリケーションソフトが提供されているの
で、係る公知のものを適用することができる。
【0079】また、シミュレータ連動部32は、今まで
単独(独立)にしか動作しなかった複数のシミュレーシ
ョンを連携させるためのもので、仮想I/O32aや、
プロセス間通信を行う仮想通信路32bを備えている。
また、実機との連動をするための実通信路32cを設け
ると良い(図3参照)。
【0080】仮想I/O32aは、共有メモリなどによ
り実現され、複数のシミュレータが読み書きできる。ま
たは、通常の実機における実I/Oのように結線された
同士のみがON/OFFやアナログ信号を交換できるよ
うになっている。そして、PLCのデータリンク通信
(サイクリックデータ通信)機能にマッピングすること
により、パソコン内外(シミュレータ間,シミュレータ
と実機間)でI/O情報の送受が可能となる。この仮想
I/O32aにおける実際のアドレスの割り当ては、上
記した連動データ生成部13cで生成したI/Oアドレ
スを使用する。これにより、例えば図27に示すように
割り当てられる。データメモリは、各機器の状態や、各
機器から発生するイベントはそれぞれ1ビットで表現さ
れている(図28参照)。
【0081】また、仮想通信路32bは、プロセス間通
信などをベースに実現され、シミュレータ間のデータの
やりとりを実際の通信のように通信パケットの送受信で
行える仕組みである。つまり、データを送信する側で
は、ネットワークアドレスにより、配送先を特定し通信
パケットを配送する。このネットワークアドレスも、連
動データ生成部13cにてタグデータベース23から抽
出され、各言語のプログラムに変換する際に組み込まれ
ている。
【0082】なお、配送先がパソコンのシミュレータで
はなく、実ネットワークで接続されている外部の実機で
ある場合は、仮想通信路より実通信路32cであるネッ
トワークドライバにデータを送信することにより通信す
ることが可能となる。
【0083】そして、このシミュレーション部30にお
ける動作は、図29に示すように、PLCシミュレータ
31a側とロボット用の3Dシミュレータは、互いに仮
想I/O32aに対してアクセスし、通常の実機での動
作と同様に、まず、I/O入力をし、それに基づきラダ
ー回路やロボットスクリプト等のプログラムを実行し、
その実行結果に基づくI/O出力を行う操作をサイクリ
ックに繰り返し実行する。このように、共有メモリ(仮
想I/O32a)に対するデータの読み書きを相互に行
うことにより2つのシミュレータ31a,31bは連動
動作をすることができる。
【0084】更に本形態では、シミュレーション部30
におけるシミュレーション動作を監視し、状態遷移エデ
ィタ部12に通知をするデバッグトレース部46を設け
ている。このデバッグトレース部46は、イベント検知
部46aと状態監視部46bを備えている。
【0085】イベント検知部46aは、タグデータベー
ス23で定義されたタグについて、そのタグが格納され
ている仮想I/O、もしくは実機内のデータメモリを一
定周期間隔でチェックし、変化のあった場合イベントと
みなして、擬似イベント生成部12eに通知する。ま
た、タグデータベース23で定義されたタグについて、
そのタグ名、もしくはアドレス情報を仮想通信路32b
より受信した場合に、イベントとみなして、擬似イベン
ト生成部12eに通知する機能も有している。そして、
具体的には、図30,図31に示すフローチャートを実
行するようになっている。
【0086】すなわち、まず所定の初期化処理をした
後、タイマの設定、つまり監視する間隔を設定する(S
T70,ST71)。これにより、タイマは一定周期間
隔毎にタイムアップに伴う検知信号を出力する。
【0087】係るタイマからの検知信号並びに通信イベ
ントの受信を待つ(ST72)。そして、受信したなら
ば、それがタイマからの検知信号か否かを判断し(ST
73)、タイマでない、つまり通信イベントを受信した
場合には、ステップ74に進み、受信パケットからタグ
名を取り出し(ST74)、その取り出したタグ名を擬
似イベント生成部12eに対して通知する(ST7
5)。その後、ステップ72に戻り次の受信を待つ。
【0088】一方、タイマからの検知信号の場合には、
各コントローラ(シミュレータ)に対し、順次イベント
変化検知処理を行う(ST76からST78)。そし
て、シミュレーション処理が終了するまで、上記した処
理を繰り返し実行する(ST79)。
【0089】ここで、イベント検知処理は、図31に示
すように、タグデータベース23に格納されたコントロ
ーラ情報から各コントローラ(シミュレータ)内のイベ
ント格納領域開始アドレスとサイズを取得する(ST8
0)。
【0090】次いで、取得したアドレス情報に基づき、
イベント格納領域内のデータを取得する(ST81)。
そして、各タグごとに以下の処理を繰り返し実行する
(ST82,ST83)。つまり、その取得したデータ
を前回値と比較し、変化があったか否かを判断する(S
T84,ST85)。変化がない場合(ステップ85で
No)には、ステップ82に戻り次のタグの処理移行
し、変化があった場合(ST85でYes)には、擬似
イベント生成部12eに対し処理中のタグ名を通知する
(ST86)。その後、ステップ82に戻り次のタグの
処理に移行する。このようにして全てのタグに対して処
理が終了したならば(ST83でYes)、ステップ8
7に飛び、今回のイベント格納領域内のデータを前回値
として記憶保持し、次の判定に備える。
【0091】また、状態監視部46bは、状態遷移確認
部12dからの要求に従い、所望のタグ名で特定される
シミュレータ等の状態を、状態遷移確認部12dに通知
する機能を持つ。
【0092】具体的には、図32に示すフローチャート
を実行する。すなわち、状態遷移確認部12dからの要
求を待ち(ST90)、要求を受けた場合には、その内
容を判断し(ST91)、終了命令でない場合には、指
定されたコントローラ(シミュレータ)の状態格納領域
開始アドレスとサイズをタグデータベース23から取得
し(ST95)、取得したアドレス情報に基づき、イベ
ント格納領域内のデータを取得し(ST93)、その取
得したデータ、つまり、該当するコントローラの状態を
状態遷移確認部12dに通知する(ST94)。
【0093】更に本実施の形態では、外部デバッグスタ
ブ62を設けている。この外部デバッグスタブ62は、
Visual Basicや、C++などでユーザが記
述したアプリケーションで、主にイベントを発生させる
ためのボタンや、データを表示させたりする表示部分を
用意するものである。この外部デバッグスタブ62を操
作することにより、シミュレータ連動部32,イベント
検知部46a,擬似イベントを介して状態遷移確認部1
2dにイベントを送ることができるようになっている。
【0094】そして、上記したようにシミュレーション
部30を動作させて、システム全体が正常に動作するか
の事前検証を行い、問題がない場合には、実機にダウン
ロードする。すなわち、PLCの場合には、PLCシミ
ュレータ31aと同一のプログラムで実機のPLCが動
作するので、ラダー記憶部20aに格納されたプログラ
ムをラダーエディタ44を用いて実通信部(ネットワー
ク)48を介して実PLC60にダウンロードする。
【0095】また、ロボットの場合には、シミュレータ
に用いたプログラム言語(スクリプト)をそのまま使用
することはできないので、ロボット言語変換部49aに
てスクリプト記憶部20bに格納されたプログラムを読
み出し、ロボット言語に変換し、ロボット言語記憶部4
9bに格納する。なお、このロボット言語変換部49a
の機能は、従来公知のものを利用できるので、その詳細
な説明を省略する。そして、この変換されたロボット言
語のプログラムを、実通信部48を介して実ロボット6
1(ワーク供給用ロボット52,ワーク排出用ロボット
55)にダウンロードする。
【0096】次に、上記した制御プログラム開発支援装
置1を用いた設計開発の手順の一例を説明する。まず、
UMLエディタ部11を用いてUMLによるシステム設
計(上流設計)を行う(ST100,ST101)。次
に、設計したUMLデータに基づき、状態遷移エディタ
部12(モデル編集部12a,モデル変換部12b等)
を用いて状態遷移モデルの設計をし、モデル記述確認部
12cを用いて記述内容のチェックをする(ST10
2,ST103)。所望のデータが得られるまで、修正
処理をする。そして、状態遷移もドルの記述チェックが
OKとなると(ST104でYes)、状態遷移確認部
12d,擬似イベント生成部12e等を稼働させて状態
遷移動作をモニタ上等で確認する(ST105)。
【0097】問題が生じた場合には、その問題を解消す
べく所定の修正処理を実行する。そして、問題が全て解
消されると、コード生成部13を稼働させ、タグ定義,
未定義タグのI/Oアドレスの自動割付をするととも
に、各オブジェクトのプログラムを自動生成する(ST
107からST109)。更に、必要に応じて、ラダー
エディタ44やテキストエディタ47を用いてプログラ
ムに処理の詳細を追記したり、修正をしたりする(ST
110)。
【0098】このようにして生成した各プログラムを、
対応するそれぞれのシミュレータにダウンロードさせ
(ST111)、シミュレーションを実行する(ST1
12)。このとき、タグ(仮想I/O)を介して複数の
シミュレータを連係動作させる。
【0099】そして、動作検証をし(ST113)、不
具合が生じた場合には、不具合の内容に応じて所定の処
理ステップまで戻り、修正を行う。このようにデバッグ
を適宜行い、動作確認が採れたならば(ST114でY
es)、各実機に依存した情報の追加を行うとともに、
必要に応じて実行可能な形式に変換後、各実機にプログ
ラムをダウンロードする(ST115からST11
7)。
【0100】次いで、各実機の連係動作をトレース実行
し、問題はないかの確認をする(ST118,ST11
9)。そして、問題が生じた場合には、ステップ110
に戻り、再度シミュレータによる動作検証(デバッグを
含む)を行う。また、問題がなければシステムを本格稼
働させる(ST120)。
【0101】本形態によれば、上流設計にて作成したデ
ータを下流工程まで流用していくので、それまでに検証
して得られた品質は保証される。また、データを利用し
ていくので、無駄な2重の開発作業が不要となり、設計
に要する期間が短縮できる。さらに、設計モデルを各オ
ブジェクト単位で形成していることから、シミュレータ
毎のソースコードを自動生成することができることから
も、開発が簡易となり短時間で行える。また、仮想I/
Oなどのシミュレータ相互を連携する仕組みを提供して
いるので、生産ライン(システム全体)のモデル動作プ
ログラムを作成すること無く、簡単な構成でシステム全
体のシミュレーションを行うことができる。また、この
ことから結合デバッグ環境が充実し、実機のない設計
(デバッグ)段階でシミュレーション検証することがで
きる。
【0102】更に、UMLつまりオブジェクト指向分析
・設計の導入をしたため、見通しのよい設計ができ、ク
ラスの再利用性が向上し、環境開発メンバー間の相互レ
ビューが可能となる。また、状態遷移表を利用した設計
をすることで、設計の抜け防止、漏れ防止をすることが
できる。
【0103】
【発明の効果】以上のように、この発明では、UMLで
モデリングし、そのモデリングしたデータに基づいてそ
れ以降の設計を行うようにしたため、シミュレーション
で作成したモデルをその後の工程(制御設計、調整)で
生かすことができ、短時間で質の良いシステム設計,開
発をすることができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態の概略を説明する図であ
る。
【図2】本発明の一実施の形態の概略を説明する図であ
る。
【図3】本発明に係る制御プログラム開発支援装置の好
適な一実施の形態を示すブロック図である。
【図4】設計対象のシステムの一例を示す図である。
【図5】操作パネルの一例を示す図である。
【図6】ユースケース図を説明する図で、図4に示した
システムを表現したユースケース図の一例である。
【図7】クラス図を説明する図で、図4に示したシステ
ムを表現したクラス図の一例である。
【図8】図4に示したシステムを表現した状態遷移図の
一例である。
【図9】図4に示したシステムを表現した状態遷移表の
一例である。
【図10】図4に示したシステムにおけるロボットを表
現した状態遷移図の一例である。
【図11】図4に示したシステムにおけるロボットを表
現した状態遷移表の一例である。
【図12】外部データ(ナレッジデータベース)との接
続形態を説明する図である。
【図13】設計データダウンロード部の機能を示すフロ
ーチャートである。
【図14】Webサーバ部の機能を示すフローチャート
である。
【図15】本発明に係る制御プログラム開発支援装置の
好適な一実施の形態を示すブロック図で、特に、状態遷
移エディタ部の内部構造を示した図である。
【図16】本発明に係る制御プログラム開発支援装置の
好適な一実施の形態を示すブロック図で、特に、コート
生成部の内部構造を示した図である。
【図17】コード生成部の機能を示すフローチャートで
ある。
【図18】コード生成部内のラダー言語変換部の機能を
示すフローチャートの一部である。
【図19】コード生成部内のラダー言語変換部の機能を
示すフローチャートの一部である。
【図20】コード生成部内のラダー言語変換部の機能を
示すフローチャートの一部である。
【図21】ラダー言語変換部で生成されるラダー回路の
一例を示す図である。
【図22】ラダープログラムの実行手順を説明するフロ
ーチャートである。
【図23】連動データ生成部の機能を示すフローチャー
トの一部である。
【図24】タグデータベースの内部データ構造の一例を
示す図である。
【図25】タグデータベースの内部データ構造の一例を
示す図である。
【図26】本発明に係る制御プログラム開発支援装置の
好適な一実施の形態を示すブロック図で、特に、シミュ
レーション部の内部構造を示した図である。
【図27】仮想I/Oのデータ構造の一例を示す図であ
る。
【図28】仮想I/Oのデータ構造の一例を示す図であ
る。
【図29】シミュレーション部の動作を説明する図であ
る。
【図30】イベント検知部の機能を示すフローチャート
である。
【図31】イベント検知部の機能を示すフローチャート
である。
【図32】状態検知部の機能を示すフローチャートであ
る。
【図33】本発明の一実施の形態における開発手順の一
例を示すフローチャートの一部である。
【図34】本発明の一実施の形態における開発手順の一
例を示すフローチャートの一部である。
【図35】本発明の一実施の形態における開発手順の一
例を示すフローチャートの一部である。
【符号の説明】
1 制御プログラム開発支援装置 10 設計データ編集部 11 UMLエディタ部 12 状態遷移エディタ部 12a モデル編集部 12b モデル変換部 12c モデル記述確認部 12d 状態遷移確認部 12e 擬似イベント生成部 13 コード生成部 13a ラダー言語変換部 13b スクリプト変換部 13c 連動データ生成部 20 プログラム記憶部 20a ラダー記憶部 20b スクリプト記憶部 21 UMLデータ記憶部 22 状態遷移データ記憶部 23 タグデータベース 30 シミュレーション部 31 シミュレータ 31a PLCシミュレータ 31b 3Dシミュレータ 32 シミュレータ連動部 32a 仮想I/O 32b 仮想通信路 32c 実通信路 40 ナレッジデータベース 40a 設計テンプレート記憶部 40b 状態遷移モデルテンプレート記憶部 40c 既存ソフト部品記憶部 41 設計データダウンロード部 42 インターネット 43 Webサーバ部 44 ラダーエディタ 45 入力装置 46 デバッグトレース部 46a イベント検知部 46b 状態監視部 47 テキストエディタ 48 実通信部 49a ロボット言語変換部 49b ロボット言語記憶部 50 上流側搬送装置 51 ワーク 52 ワーク供給用ロボット 53 検査台 54 検査カメラ 55 ワーク排出用ロボット 56 下流側搬送装置 57 センサ 60 実PLC 61 実ロボット 62 外部デバッグスタブ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 3C100 AA43 BB12 BB13 CC08 5B042 GB06 HH07 JJ17 5B076 BB06 5H220 AA04 BB07 BB11 CC08 CC09 CX01 CX09 DD04 EE06 GG04 HH01 HH03 JJ02 JJ03 JJ12 JJ26 JJ51 JJ59 LL06 5H223 AA05 CC08 CC09 DD03 DD05 DD09 EE04 FF05

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 制御プログラム開発支援装置における方
    法であって、 設計対象のシステムをUMLを用いてモデリングして得
    られたUMLデータに基づき、状態遷移データを作成す
    るとともに、状態遷移データ記憶手段に格納し、 次いで、少なくとも前記UMLデータ並びに前記状態遷
    移データに基づいて、前記システムを構成するコントロ
    ーラに対応するシミュレータ用のプログラム並びにその
    コントローラの操作対象に対応するシミュレータ用のプ
    ログラムを生成し、 その生成したプログラムに基づいてコントローラ用のシ
    ミュレータと、前記操作対象用のシミュレータを連動さ
    せながら動作させ、前記プログラムを検証する処理を含
    む制御プログラム開発支援方法。
  2. 【請求項2】 設計対象のシステムをUMLを用いてモ
    デリングしたUMLデータを作成するUMLデータ作成
    手段と、 前記設計対象のシステムを構成する複数の機器毎の状態
    遷移モデルを生成する状態遷移モデル生成手段と、 前記UMLデータと前記状態遷移モデルに基づいて、シ
    ミュレータを動作させるための異なる言語のプログラム
    を生成する複数の言語変換手段を含むコード生成手段
    と、 前記コード生成手段で生成された前記プログラムに基づ
    いてシミュレーションするシミュレーション手段とを備
    え、 前記複数の言語変換手段は、少なくとも前記システムを
    構成するコントローラに対応するコントローラ用のシミ
    ュレータのためのプログラムを生成するものと、そのコ
    ントローラの操作対象用のシミュレータのためのプログ
    ラムを生成するものを含み、 前記シミュレーション手段は、前記複数のプログラムに
    対応してそれぞれ動作する前記コントローラ用のシミュ
    レータと前記操作対象用のシミュレータと、それら各シ
    ミュレータ間を接続するシミュレータ連動手段を有する
    ことを特徴とする制御プログラム開発支援装置。
  3. 【請求項3】 前記状態遷移モデル生成手段は、 前記UMLモデルに基づいて状態遷移データを生成する
    モデル変換手段と、 生成した状態遷移モデルが正しく記述されているかどう
    かを確認するモデル記述確認手段と、 生成した状態遷移モデルの遷移状況を出力し、設計した
    状態遷移モデルの動作をチェックするための状態遷移確
    認手段の内の少なくとも1つを備えていることを特徴と
    する請求項2に記載の制御プログラム開発支援装置。
  4. 【請求項4】 生成した状態遷移モデルの遷移状況を出
    力し、設計した状態遷移モデルの動作をチェックするた
    めの状態遷移確認手段と、 その状態遷移確認手段に与えるイベントを擬似的に発生
    する擬似イベント発生手段を備えたことを特徴とする請
    求項2に記載の制御プログラム開発支援装置。
  5. 【請求項5】 個々の装置内の状態を収集する状態監視
    手段と、それらの状態を変更するイベント発生を監視す
    るイベント検知手段を設け、 得られた状態,イベント発生状況を前記状態遷移モデル
    生成手段に通知するようにしたことを特徴とする請求項
    2から4の何れか1項に記載の制御プログラム開発支援
    装置。
  6. 【請求項6】 前記言語変換手段で生成された前記コン
    トローラ用のシミュレータのためのプログラムを記憶す
    るコントローラ用言語プログラム記憶手段と、前記操作
    対象用のシミュレータのためのプログラムを記憶する操
    作対象用言語プログラム記憶手段を備えたことを特徴と
    する請求項2から5の何れか1項に記載の制御プログラ
    ム開発支援装置。
  7. 【請求項7】 外部データベースから取得した情報を編
    集してプログラムを作成し、前記コントローラ用言語プ
    ログラム記憶手段に格納する編集手段を備えたことを特
    徴とする請求項2から6の何れか1項に記載の制御プロ
    グラム開発支援装置。
  8. 【請求項8】 前記シミュレータで動作させるためのプ
    ログラムに基づく制御プログラムを、そのシミュレータ
    に対応する実際の機器にダウンロードする手段を備えた
    ことを特徴とする請求項2から7の何れか1項に記載の
    制御プログラム開発支援装置。
  9. 【請求項9】 制御プログラム開発支援装置における方
    法であって、 設計対象のシステムをUMLを用いてモデリングして得
    られたUMLデータに基づき、状態遷移データを作成す
    るとともに、状態遷移データ記憶手段に格納し、 次いで、前記UMLデータ並びに前記状態遷移データに
    基づいて前記システムを構成する複数種の機器に対応す
    るシミュレータ用のプログラムをそれぞれ生成し、 その生成した各プログラムに基づいて複数のシミュレー
    タを連動させながら動作させ、前記プログラムを検証す
    る処理を含む制御プログラム開発支援方法。
  10. 【請求項10】 設計対象のシステムをUMLを用いて
    モデリングしたUMLデータを作成するUMLデータ作
    成手段と、 前記設計対象のシステムを構成する複数の機器毎の状態
    遷移モデルを生成する状態遷移モデル生成手段と、 前記UMLデータと前記状態遷移モデルに基づいて、シ
    ミュレータを動作させるための異なる言語のプログラム
    を生成する複数の言語変換手段を含むコード生成手段
    と、 前記コード生成手段で生成された前記プログラムに基づ
    いてシミュレーションするシミュレーション手段とを備
    え、 前記シミュレーション手段は、前記複数のプログラムに
    対応してそれぞれ動作する複数のシミュレータと、それ
    ら各シミュレータ間を接続するシミュレータ連動手段を
    有することを特徴とする制御プログラム開発支援装置。
JP2001304406A 2001-09-28 2001-09-28 制御プログラム開発支援方法及び装置 Pending JP2003108220A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001304406A JP2003108220A (ja) 2001-09-28 2001-09-28 制御プログラム開発支援方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001304406A JP2003108220A (ja) 2001-09-28 2001-09-28 制御プログラム開発支援方法及び装置

Publications (1)

Publication Number Publication Date
JP2003108220A true JP2003108220A (ja) 2003-04-11

Family

ID=19124340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001304406A Pending JP2003108220A (ja) 2001-09-28 2001-09-28 制御プログラム開発支援方法及び装置

Country Status (1)

Country Link
JP (1) JP2003108220A (ja)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011605A (ja) * 2005-06-29 2007-01-18 Kansai Electric Power Co Inc:The ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
JP2008210045A (ja) * 2007-02-23 2008-09-11 Hitachi Ltd ストレージシステム並びに情報処理装置及び接続方法
JP2008293186A (ja) * 2007-05-23 2008-12-04 Toshiba Mitsubishi-Electric Industrial System Corp 鉄鋼プラント制御プログラムの自動生成方法およびその装置
JP2008299068A (ja) * 2007-05-31 2008-12-11 Yokogawa Electric Corp 操作訓練システムおよび操作訓練方法
KR100969155B1 (ko) 2008-08-21 2010-07-08 한국전력공사 Uml시험모델을 이용한 모선보호 ied시험 방법
JP2010152583A (ja) * 2008-12-25 2010-07-08 Hitachi Ltd 情報制御システムおよび制御ソフトウェアの作成方法
JP2010191964A (ja) * 2009-02-19 2010-09-02 Fisher Rosemount Syst Inc 電子記述言語スクリプトを使用してプロセス制御システムを構成する方法および装置
JP2011192019A (ja) * 2010-03-15 2011-09-29 Omron Corp 表示装置、表示方法、プログラム、仮想機構ライブラリ、およびコンピュータ読み取り可能な記録媒体
JP2013012088A (ja) * 2011-06-29 2013-01-17 Panasonic Corp 開発支援方法及びプログラム
US8370781B2 (en) 2006-11-21 2013-02-05 Fujitsu Limited Computer product for supporting design and verification of integrated circuit
US8717374B2 (en) 2010-09-13 2014-05-06 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control information
WO2015079503A1 (ja) * 2013-11-26 2015-06-04 三菱電機株式会社 システム構築支援装置
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
US10101727B2 (en) 2014-07-14 2018-10-16 Mitsubishi Electric Corporation Common parameter interface generation program and parameter reading program
WO2019097793A1 (ja) * 2017-11-16 2019-05-23 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
JP2020004372A (ja) * 2018-06-25 2020-01-09 タタ・コンサルタンシー・サーヴィシズ・リミテッド ロボティクス環境のための制御システムソリューションを生成するためのシステムおよび方法
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
WO2021070711A1 (ja) * 2019-10-11 2021-04-15 株式会社日立製作所 情報処理装置、及び情報処理方法
JP2021077189A (ja) * 2019-11-12 2021-05-20 三菱電機株式会社 Plcプログラム開発支援装置
JP2021163395A (ja) * 2020-04-03 2021-10-11 川崎重工業株式会社 生産ライン設計方法及び生産ライン設計システム
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法
WO2023073883A1 (ja) * 2021-10-28 2023-05-04 ファナック株式会社 補助ファイルを生成するシミュレーション装置および制御システム
WO2023194007A1 (de) * 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Durchführung einer roboterapplikation und erstellen eines programms hierfür

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011605A (ja) * 2005-06-29 2007-01-18 Kansai Electric Power Co Inc:The ソフトウェア動作仕様のモデル検査支援装置およびこれを備えたモデル検査システム並びにモデル検査支援プログラム
US8370781B2 (en) 2006-11-21 2013-02-05 Fujitsu Limited Computer product for supporting design and verification of integrated circuit
US9378316B2 (en) 2006-11-21 2016-06-28 Fujitsu Limited Computer product for supporting design and verification of integrated circuit
US9177088B2 (en) 2006-11-21 2015-11-03 Fujitsu Limited Computer product for supporting design and verification of integrated circuit
JP2008210045A (ja) * 2007-02-23 2008-09-11 Hitachi Ltd ストレージシステム並びに情報処理装置及び接続方法
US9009287B2 (en) 2007-02-23 2015-04-14 Hitachi, Ltd. Storage system, information processing apparatus, and connection method
JP2008293186A (ja) * 2007-05-23 2008-12-04 Toshiba Mitsubishi-Electric Industrial System Corp 鉄鋼プラント制御プログラムの自動生成方法およびその装置
JP2008299068A (ja) * 2007-05-31 2008-12-11 Yokogawa Electric Corp 操作訓練システムおよび操作訓練方法
KR100969155B1 (ko) 2008-08-21 2010-07-08 한국전력공사 Uml시험모델을 이용한 모선보호 ied시험 방법
JP2010152583A (ja) * 2008-12-25 2010-07-08 Hitachi Ltd 情報制御システムおよび制御ソフトウェアの作成方法
CN106200584A (zh) * 2009-02-19 2016-12-07 费舍-柔斯芒特系统股份有限公司 使用电子描述语言脚本配置过程控制系统的方法和装置
JP2015008010A (ja) * 2009-02-19 2015-01-15 フィッシャー−ローズマウント システムズ,インコーポレイテッド 電子記述言語スクリプトを使用してプロセス制御システムを構成する方法および装置
JP2010191964A (ja) * 2009-02-19 2010-09-02 Fisher Rosemount Syst Inc 電子記述言語スクリプトを使用してプロセス制御システムを構成する方法および装置
US9354629B2 (en) 2009-02-19 2016-05-31 Fisher-Rosemount Systems, Inc. Methods and apparatus to configure a process control system using an electronic description language script
JP2011192019A (ja) * 2010-03-15 2011-09-29 Omron Corp 表示装置、表示方法、プログラム、仮想機構ライブラリ、およびコンピュータ読み取り可能な記録媒体
US9507339B2 (en) 2010-03-15 2016-11-29 Omron Corporation Display device, display method, program, virtual mechanism library, and computer readable recording medium
US8717374B2 (en) 2010-09-13 2014-05-06 Fisher-Rosemount Systems, Inc. Methods and apparatus to display process control information
JP2013012088A (ja) * 2011-06-29 2013-01-17 Panasonic Corp 開発支援方法及びプログラム
KR20160087885A (ko) 2013-11-26 2016-07-22 미쓰비시덴키 가부시키가이샤 시스템 구축 지원 장치
JP5996125B2 (ja) * 2013-11-26 2016-09-21 三菱電機株式会社 システム構築支援装置
WO2015079503A1 (ja) * 2013-11-26 2015-06-04 三菱電機株式会社 システム構築支援装置
KR101706029B1 (ko) 2013-11-26 2017-02-10 미쓰비시덴키 가부시키가이샤 시스템 구축 지원 장치
JPWO2015079503A1 (ja) * 2013-11-26 2017-03-16 三菱電機株式会社 システム構築支援装置
CN105765468A (zh) * 2013-11-26 2016-07-13 三菱电机株式会社 系统构建辅助装置
US10101727B2 (en) 2014-07-14 2018-10-16 Mitsubishi Electric Corporation Common parameter interface generation program and parameter reading program
CN107024902B (zh) * 2016-01-29 2021-10-26 发那科株式会社 通过公共语言规格的程序驱动多种生产装置的生产系统
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム
US10216163B2 (en) 2016-01-29 2019-02-26 Fanuc Corporation Manufacturing system for driving plural types of manufacturing apparatuses with program based on common language specification
CN107024902A (zh) * 2016-01-29 2017-08-08 发那科株式会社 通过公共语言规格的程序驱动多种生产装置的生产系统
US11609542B2 (en) 2016-07-15 2023-03-21 Fisher-Rosemount Systems, Inc. Architecture-independent process control
US10671038B2 (en) 2016-07-15 2020-06-02 Fisher-Rosemount Systems, Inc. Architecture-independent process control
WO2019097793A1 (ja) * 2017-11-16 2019-05-23 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
JP7203635B2 (ja) 2018-06-25 2023-01-13 タタ・コンサルタンシー・サーヴィシズ・リミテッド ロボティクス環境のための制御システムソリューションを生成するためのシステムおよび方法
JP2020004372A (ja) * 2018-06-25 2020-01-09 タタ・コンサルタンシー・サーヴィシズ・リミテッド ロボティクス環境のための制御システムソリューションを生成するためのシステムおよび方法
CN114144735A (zh) * 2019-05-20 2022-03-04 马库斯·格鲁伯 用于控制和/或调节技术过程的可执行控制程序的计算机辅助生成的计算机实现的方法
JP2021064081A (ja) * 2019-10-11 2021-04-22 株式会社日立製作所 情報処理装置、及び情報処理方法
WO2021070711A1 (ja) * 2019-10-11 2021-04-15 株式会社日立製作所 情報処理装置、及び情報処理方法
JP7416597B2 (ja) 2019-10-11 2024-01-17 株式会社日立製作所 情報処理装置、及び情報処理方法
JP2021077189A (ja) * 2019-11-12 2021-05-20 三菱電機株式会社 Plcプログラム開発支援装置
JP7186689B2 (ja) 2019-11-12 2022-12-09 三菱電機株式会社 Plcプログラム開発支援装置
JP2021163395A (ja) * 2020-04-03 2021-10-11 川崎重工業株式会社 生産ライン設計方法及び生産ライン設計システム
WO2023073883A1 (ja) * 2021-10-28 2023-05-04 ファナック株式会社 補助ファイルを生成するシミュレーション装置および制御システム
WO2023194007A1 (de) * 2022-04-06 2023-10-12 Kuka Deutschland Gmbh Durchführung einer roboterapplikation und erstellen eines programms hierfür

Similar Documents

Publication Publication Date Title
JP2003108220A (ja) 制御プログラム開発支援方法及び装置
Drath et al. AutomationML-the glue for seamless automation engineering
CN100571167C (zh) Web服务业务流程的单元测试的方法和设备
US20100138808A1 (en) Embedded system design device and a method thereof using a target independent model
JP2010517155A (ja) インプリメントされたエンジニアリング・システムを有する自動化システムおよびエンジニアリング・システム
CN112799968B (zh) 一种基于脚本的测试驱动建模系统及方法
Ringert et al. Code generator composition for model-driven engineering of robotics component & connector systems
US20010037362A1 (en) Automation system for solving a technical-process task and corresponding method
Vogel–Heuser et al. Automation software architecture in cpps-definition, challenges and research potentials
Um et al. Development a modular factory with modular software components
JP2003162304A (ja) 設備制御のシミュレーション方法及びその装置
Cachapa et al. An approach for integrating real and virtual production automation devices applying the service-oriented architecture paradigm
WO2020246097A1 (ja) サポート装置およびサポートプログラム
Colla et al. Design and implementation of industrial automation control systems: A survey
Sun et al. A model-driven approach to support engineering changes in industrial robotics software
Pokojski Using AutomationML and graph-based design languages for automatic generation of digital twins of cyber-physical systems
CN115712793A (zh) 全景前端文档站点生成方法及系统
CN115470012A (zh) 创建工业应用程序的事件驱动执行模型的运行时环境和方法
CN111651142B (zh) 一种组态型示教器管理系统
Angelov et al. A software framework for component-based embedded applications
Olbort et al. Integration of Communication using OPC UA in MBSE for the Development of Cyber-Physical Systems
Aicher et al. Consistent engineering information model for mechatronic components in production automation engineering
Panjaitan et al. Designing generic/reusable functionality based controllers for distributed control using UML
WO2020246096A1 (ja) サポート装置およびサポートプログラム
Thomas et al. A process definition environment for component based manufacturing machine control systems developed under the foresight vehicle programme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050901

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090409

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090602

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090903