JP4609655B2 - Attached data generator for program parts - Google Patents

Attached data generator for program parts Download PDF

Info

Publication number
JP4609655B2
JP4609655B2 JP2005322669A JP2005322669A JP4609655B2 JP 4609655 B2 JP4609655 B2 JP 4609655B2 JP 2005322669 A JP2005322669 A JP 2005322669A JP 2005322669 A JP2005322669 A JP 2005322669A JP 4609655 B2 JP4609655 B2 JP 4609655B2
Authority
JP
Japan
Prior art keywords
program
component
program part
macro
specific application
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.)
Active
Application number
JP2005322669A
Other languages
Japanese (ja)
Other versions
JP2007128455A (en
Inventor
繁 人見
寛 吉田
恵貞 金
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
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 filed Critical Omron Corp
Priority to JP2005322669A priority Critical patent/JP4609655B2/en
Publication of JP2007128455A publication Critical patent/JP2007128455A/en
Application granted granted Critical
Publication of JP4609655B2 publication Critical patent/JP4609655B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/30Computing systems specially adapted for manufacturing

Landscapes

  • Programmable Controllers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この発明は、機器制御プログラムを構成するプログラム部品に関連する付属データを生成するプログラム部品の付属データ生成装置に関するものである。   The present invention relates to a program part attached data generation apparatus for generating attached data related to a program part constituting a device control program.

工場に設置される検査装置や設備装置は、産業用制御装置が機器制御プログラムを実行することにより制御される。産業用制御装置の具体例は、プログラマブルコントローラである。工場の設備担当者や生産技術担当者などのプログラマブルコントローラユーザは、プログラマブルコントローラに任意の制御を実行させるために、プログラミングツールにてラダープログラムを予め作成する。そして、そのラダープログラムをプログラマブルコントローラに格納する。プログラマブルコントローラは、ラダープログラムをサイクリックに実行し、検査装置や設備装置を任意に制御する。最近では、プログラマブルコントローラの制御内容の一部が違っていても、既存のラダープログラムの一部を必要に応じて編集や修正等を施して、つまりラダープログラムを再利用して、プログラミング作業を効率化することが図られている。その際、プログラム部品管理ツールにて、再利用の対象となるプログラムをデータベース化することも図られている。   Inspection devices and equipment devices installed in factories are controlled by an industrial control device executing an equipment control program. A specific example of the industrial control device is a programmable controller. Programmable controller users, such as factory equipment personnel and production engineering personnel, create a ladder program in advance using a programming tool in order to cause the programmable controller to execute arbitrary control. Then, the ladder program is stored in the programmable controller. The programmable controller executes a ladder program cyclically and arbitrarily controls the inspection apparatus and the equipment apparatus. Recently, even if part of the control contents of the programmable controller is different, edit or modify part of the existing ladder program as needed, that is, reuse the ladder program to make programming work more efficient. It is planned to become. At that time, the program parts management tool also attempts to create a database of programs to be reused.

ラダープログラムの部品化・再利用化については、一般的にIEC61131規格で定義された”ファンクションブロック”の仕組みを用いて実現されている。ファンクションブロックにより、ラダープログラムと変数のカプセル化が実現され、ラダープログラムを部品として再利用することが可能になっている。変数は、例えばプログラマブルコントローラの制御対象である入出力接点などである。また、ラダープログラムの一部を必要に応じて編集や修正等を施す際に、そのプログラム上の複数箇所に現れる複合処理をそれぞれ簡単なマクロ演算部品の図形で置き換えることにより、図形表示されたプログラムについての一部編集や一部変更等の簡素化を図ることも知られている(特許文献1参照)。   Ladder program componentization and reuse are generally implemented using a "function block" mechanism defined in the IEC61131 standard. The function block realizes encapsulation of the ladder program and variables, and the ladder program can be reused as a part. The variable is, for example, an input / output contact that is a control target of the programmable controller. In addition, when a part of the ladder program is edited or modified as necessary, the program that is displayed in graphic form is replaced by replacing the complex processing that appears in multiple places on the program with simple macro operation parts. It is also known that simplification of partial editing and partial change is performed (see Patent Document 1).

また、近年、製品ラインアップの共通性と差異性とを分析し、効果的なソフトウェア資産の形成を目指す“プロダクトライン・ソフトウェア・エンジニアリング”(以下、PLSEと省略)と呼ばれる手法が提唱されている。一方、ラダープログラムが用いられる機器制御システムの分野では、製品ラインナップを充実させてユーザのニーズに対応できるように、大部分は同一であるが部分的に差異のあるシステムを多数開発しているケースが多い。そこで、係るシステムを制御するためのラダープログラムの設計・開発に対しても、PLSE適用の有効性が期待される。   In recent years, a method called “product line software engineering” (hereinafter abbreviated as PLSE) has been proposed to analyze the commonality and differences in product lineups and to create effective software assets. . On the other hand, in the field of equipment control systems where ladder programs are used, a large number of systems that are largely identical but partially different are being developed so that the product lineup can be enhanced to meet the needs of users. There are many. Therefore, the effectiveness of applying PLSE is also expected for the design and development of ladder programs for controlling such systems.

しかし、このような分析に基づくプログラム部品化を行う上で、ファンクションブロックによる方法では以下に示す問題を有する。すなわち、プログラマブルコントローラはラダープログラムの全回路をサイクリックにスキャン実行することによって動作する。従って、プログラムの規模の増大がそのままプログラマブルコントローラにおける1スキャンの実行時間性能の低下につながり、引いては制御対象である設備装置の制御応答時間の遅れにつながる。そのため実行性能の観点から、ラダープログラム部品は、制御対象のアプリケーションに応じて、不要な回路を極力含まないことが望まれる。   However, the function block method has the following problems in making program parts based on such analysis. That is, the programmable controller operates by cyclically scanning all the circuits of the ladder program. Therefore, an increase in the scale of the program directly leads to a decrease in the execution time performance of one scan in the programmable controller, which in turn leads to a delay in the control response time of the equipment device to be controlled. Therefore, from the viewpoint of execution performance, it is desired that the ladder program component does not include unnecessary circuits as much as possible according to the application to be controlled.

一方、複数のアプリケーションにおいて再利用できる汎用性のあるプログラム部品を作成するには、プログラム部品の内部構成や制御対象の振る舞いにある程度のバリエーションを持たせ、プログラミング時にオプション設定できるようにして、内部構成や振る舞いを少し変更させることができるようにプログラムを構築する必要がある。たとえば火災検出アルゴリズムのプログラム部品を考える場合、火災検出用のセンサの数や種類、自己診断機能の有無などの、アルゴリズムそのものは同一であっても、使用する具体的なアプリケーションにより複数のバリエーションやオプションを含むことが多い。このようなオプション選択も入力値としてプログラム部品を記述することで汎用性をもったプログラム部品を実装することはできる。しかしながらこの場合、あるシステムの実現には不要なラダー回路が部品(ファンクションブロック)中に存在することになりプログラムの実行性能が低下する。このため実行性能の制約に厳しい分野では、汎用性のあるプログラム部品を構成することが困難となっている。
特開平6−230804号公報
On the other hand, in order to create a versatile program part that can be reused in multiple applications, the internal structure of the program part and the behavior of the control target have some variation, and can be set as options during programming. It is necessary to build a program so that the behavior can be changed a little. For example, when considering the fire detection algorithm program parts, even if the algorithm itself is the same, such as the number and type of fire detection sensors and whether or not there is a self-diagnosis function, there are multiple variations and options depending on the specific application used Is often included. In such option selection, a program part having general versatility can be mounted by describing the program part as an input value. However, in this case, a ladder circuit that is unnecessary for realizing a certain system exists in the component (function block), and the execution performance of the program is lowered. For this reason, it is difficult to construct a versatile program component in a field where execution performance is severely restricted.
JP-A-6-230804

PLSE手法では、戦略的な再利用部品をつくるため、プログラム部品にあらかじめ予期されている変化点を組み込んでおくことを提唱している。そこで、本発明者らは、その実現手段のひとつとして、プログラム部品のバリアビリティーポイント(変化点)を定義し、あらかじめラダープログラム中に、その一部を変形するためのマクロ記述を組み込み、与えるパラメータセットを変更してマクロ処理を実行することで、一部が変形したプログラム部品を生成する手法を提案した(特願2005−288858号)。これにより、マクロ処理を実行して生成された最終的なラダープログラムは、不要なラダー回路は削除され、適用するアプリケーションに必要十分なラダー回路から構成されたものになり、プログラムの規模を可及的に縮小し実行時間性能の向上を図ることができるという作用効果を奏する。   In the PLSE method, in order to create a strategic reusable part, it is proposed to incorporate an anticipated change point in the program part. Therefore, the present inventors define a variable point (change point) of a program part as one of the means for realizing it, and incorporate a macro description for modifying a part of the program in a ladder program in advance, A method for generating a part of a program that has been modified by changing the set and executing macro processing has been proposed (Japanese Patent Application No. 2005-288858). As a result, the final ladder program generated by executing the macro process is made up of ladder circuits that are necessary and sufficient for the application to be applied, eliminating unnecessary ladder circuits, thereby enabling the scale of the program to be increased. Thus, it is possible to reduce the size and improve the execution time performance.

しかしながら、変化点を含むプログラム部品の品質確保は変形部品毎にテストする必要がある。テストは、テスト対象のプログラム部品への入力条件および期待出力を時系列に記載したテストシナリオを用意し、当該プログラム部品をシミュレータにダウンロードし、シミュレータに実行させる。そして、テストシナリオに沿って順番に入力条件をシミュレータに与え、シミュレータの演算結果(出力)を取得しテストシナリオの期待出力と比較する。そして、比較した結果、全ての演算結果(出力)が期待出力と一致するか否かを判断し、一致する場合にはそのプログラム部品は合格となる。また、不一致の結果が存在するとプログラムに不具合があると判断され、正しく動作するように改めて編集処理をすることになる。このとき、変形部品に対応したテストシナリオを使用する必要があり、異なるテストシナリオを使用すると正しい判定が行えない。特に、変化点が組み込まれたプログラム部品の場合、1つのプログラム部品から複数の変形プログラム部品が生成され、異なる変形部品に対して同一のテストシナリオを用いることができる場合もあれば、異なるテストシナリオを用いなければならない場合もあり、その使い分けを適切に行なうことが煩雑であり、誤って不適切なテストシナリオを使用してしまうおそれもある。   However, it is necessary to test the quality of program parts including change points for each deformed part. The test prepares a test scenario in which the input conditions and expected output to the program part to be tested are described in time series, downloads the program part to the simulator, and causes the simulator to execute it. Then, input conditions are given to the simulator in order according to the test scenario, and the operation result (output) of the simulator is acquired and compared with the expected output of the test scenario. Then, as a result of the comparison, it is determined whether or not all the operation results (outputs) match the expected output. If they match, the program part is passed. If there is a mismatch result, it is determined that the program is defective, and editing processing is performed again so that the program operates correctly. At this time, it is necessary to use a test scenario corresponding to the deformed part. If a different test scenario is used, correct determination cannot be performed. In particular, in the case of a program part in which a change point is incorporated, a plurality of deformed program parts are generated from one program part, and the same test scenario can be used for different deformed parts. May have to be used, and it is cumbersome to properly use them, and there is a risk of using an inappropriate test scenario by mistake.

また、通常、プログラム部品に対応するマニュアルが用意される。マニュアルとは、そのプログラム部品がどのような内部構成であって、どのような振る舞いをするかをユーザが認識できるような情報を含むものである。例えばその情報やユーザコメントを文字を含むテキストデータにて作成する。変化点が組み込まれたプログラム部品についてのマニュアルを作成する場合、ユーザが必要とするのは、当該プログラム部品から生成された各変形部品それぞれについて、過不足のない各変形部品用のマニュアルを用意するとともに、ユーザに対して変形部品とマニュアルの組み合わせを間違えることなく渡す必要があり、係る管理が煩雑である。   Usually, a manual corresponding to the program part is prepared. The manual includes information that allows the user to recognize the internal configuration of the program component and the behavior of the program component. For example, the information and the user comment are created with text data including characters. When creating a manual for a program part with a built-in change point, the user needs to prepare a manual for each deformed part without excess or deficiency for each deformed part generated from the program part. In addition, it is necessary to pass the combination of the deformed part and the manual to the user without making a mistake, and the management is complicated.

係る事態は、上記のテストシナリオやマニュアルに限ることはなく、変化点を含むプログラム部品に付属する各種のデータ・情報についても同様のことが言える。   Such a situation is not limited to the above test scenario or manual, and the same can be said for various data and information attached to the program part including the change point.

この発明は、変化点を含むプログラム部品に付属・関連する情報(テストシナリオ,マニュアル等)の管理を確実に行なうことのできるプログラム部品の付属データ生成装置を提供することを目的とする。   It is an object of the present invention to provide a program part attached data generation apparatus capable of reliably managing information (test scenario, manual, etc.) attached to or related to a program part including a change point.

上記した目的を達成するため、本発明に係るプログラム部品の付属データ生成装置は、あらかじめ予期されている変化点をマクロ記述として含む資産プログラム部品と、その資産プログラム部品に関する汎用性のあるマニュアルと、を関連づけて記憶するプログラム部品記憶手段と、前記資産プログラム部品に基づいて特定のアプリケーション用プログラム部品を生成する際に与えるマクロ記述への入力パラメータと同じ入力パラメータを用いて前記汎用性のあるマニュアルを変形処理し、前記特定のアプリケーション用プログラム部品用の専用マニュアルを生成する変形処理手段と、を備え、前記汎用性のあるマニュアルは、マクロ記述が含まれており、前記変形処理手段は当該マクロ記述の部分をマクロ処理を実行して前記専用マニュアルを生成する機能を含むように構成した。プログラム部品記憶手段は、実施の形態では、プログラム部品データベース70に対応する。マニュアルを変形処理する変形処理手段は、実施の形態では、主としてマクロ・プロセッサ63により実現されている。   In order to achieve the above-described object, the data generation apparatus for program parts according to the present invention includes an asset program part that includes a predicted change point as a macro description, a versatile manual for the asset program part, Program component storage means for associating and storing the general-purpose manual using the same input parameters as the input parameters to the macro description given when generating a specific application program component based on the asset program component Deformation processing means for performing a deformation process and generating a dedicated manual for the specific application program part, wherein the versatile manual includes a macro description, and the deformation processing means includes the macro description. Execute the macro process on the part of And configured to include a function to generate. The program component storage means corresponds to the program component database 70 in the embodiment. In the embodiment, the deformation processing means for deforming the manual is mainly realized by the macro processor 63.

マクロ記述が組み込まれた汎用性のある資産プログラム部品と、同じくマクロ記述が組み込まれたマニュアルとが関連付けて記憶保持されるとともに、マニュアルを変形処理する際には、前記資産プログラム部品に基づいて特定のアプリケーション用プログラム部品を生成する際に与えるマクロ記述への入力パラメータと同じ入力パラメータを用いるため、特定のアプリケーション用プログラム部品用の専用マニュアルを確実に生成することができる。そして、各特定のアプリケーション用プログラム部品用の専用マニュアルを予め別々に作成し、記憶するのではなく、記憶保持するマニュアルのファイルは、資産プログラム部品と同様に汎用性のある原本とも言うべきマニュアルを用意しておくだけでよく、必要に応じてそのマニュアルからユーザが使用する特定のアプリケーション用プログラム部品用の専用マニュアルを生成することができるので、マニュアルの管理も簡単に行える。   A general-purpose asset program part with a built-in macro description and a manual with the same built-in macro description are stored in association with each other and specified when the manual is modified based on the asset program part. Since the same input parameter as the input parameter to the macro description given when generating the application program part is used, it is possible to reliably generate a dedicated manual for the specific application program part. Instead of creating and storing a dedicated manual for each specific application program component separately in advance, the manual file to be stored and stored should be a manual that should be said to be a versatile original as well as an asset program component. It is only necessary to prepare it, and a dedicated manual for a program component for a specific application used by the user can be generated from the manual as needed, so that the manual can be easily managed.

前記プログラム部品記憶手段には、前記マニュアル以外の前記資産プログラムに関連する付属データも格納され、前記変形処理手段は、前記資産プログラム部品に基づいて特定のアプリケーション用プログラム部品を生成する際に与えるマクロへの入力パラメータに基づき前記付属データを変形処理し、前記特定のアプリケーション用プログラム部品用の付属データを生成するものとすることができる。そして、前記付属データは、前記特定のアプリケーション用プログラム部品に対する入力条件および期待出力を時系列に記載した「テストシナリオ」と、前記特定のアプリケーション用プログラム部品に対して入力を与えたときのその特定のアプリケーション用プログラム部品が制御対象とする装置の振る舞いを定義した「3Dモデル」と、のうちの少なくとも一方を含むようにするとよい。上述した専用マニュアルの生成と同様に、変形処理手段により、特定のアプリケーション用プログラム部品に適した付属部品を簡単かつ確実に生成することができ、また、変形処理前は、資産プログラム部品と関連付けて記憶保持することができ、管理も容易に行える。「テストシナリオ」や「3Dモデル」を変形処理する変形処理手段は、実施の形態ではコンポーネント関連図エディタ64により実現されている。   The program part storage means also stores attached data related to the asset program other than the manual, and the transformation processing means provides a macro that is provided when generating a specific application program part based on the asset program part. The auxiliary data may be transformed based on input parameters to generate auxiliary data for the specific application program part. The attached data includes a “test scenario” in which input conditions and expected outputs for the specific application program part are described in a time series, and the specification when the input is given to the specific application program part. The application program component may include at least one of “3D model” that defines the behavior of the device to be controlled. Similar to the generation of the dedicated manual described above, the deformation processing means can easily and reliably generate an accessory part suitable for a specific application program part. Also, before the deformation process, it is associated with the asset program part. It can be stored and managed easily. In the embodiment, the deformation processing means for deforming the “test scenario” and “3D model” is realized by the component relation diagram editor 64.

実施の形態では、マニュアルのように変化点を含む付属データに対してはマクロ・プロセッサ63が変形処理をし、テストシナリオや3Dモデルのように変化点を組み込むのではなく、関連している複数のデータを記憶保持し、その中から適合するデータを選択することで生成するものについてはコンポーネント関連図エディタ64が処理をするようにしている。   In the embodiment, the macro processor 63 performs transformation processing on the attached data including the change point as in the manual, and does not incorporate the change point as in the test scenario or the 3D model. The component relation diagram editor 64 processes the data generated by storing and holding the data and selecting the appropriate data from them.

前記資産プログラム部品の接続関係を示す関連図を表示装置に表示し、変形処理対象の資産プログラム部品を選択させる選択手段を備え、その選択手段により選択された資産プログラム部品に関するデータ(マニュアルその他の付属データ)を前記変形処理手段が変形処理するように構成することができる。選択手段は、実施の形態では、コンポーネント関連図エディタ64により実現されている。   A relation diagram showing the connection relationship of the asset program parts is displayed on a display device, and a selection means for selecting an asset program part to be transformed is provided, and data relating to the asset program parts selected by the selection means (manual and other attached items) Data) can be configured to be transformed by the transformation processing means. In the embodiment, the selection means is realized by the component relation diagram editor 64.

前記資産プログラム部品から特定のアプリケーション用プログラム部品を生成する手段を備え、前記特定のアプリケーション用プログラム部品の生成と、前記変形処理手段による変形処理を同期して実行するように構成することができる。このようにすると、特定のアプリケーション用プログラム部品と、その専用の付属データ(専用マニュアル,テストシナリオ,3Dモデル等)とが同時に生成されるため、変化点を含むプログラム部品に付属・関連する情報(テストシナリオ,マニュアル等)の管理をより簡単かつ確実に行なうことができる。   Means for generating a specific application program part from the asset program part may be provided, and the generation of the specific application program part and the deformation processing by the deformation processing means may be executed in synchronization. In this way, a specific application program part and its dedicated attached data (dedicated manual, test scenario, 3D model, etc.) are generated at the same time, so information attached to / related to the program part including the change point ( Test scenarios, manuals, etc.) can be managed more easily and reliably.

前記資産プログラム部品は、たとえば、機器制御プログラムを構成するための汎用性のあるプログラム部品である。より具体的には、前記資産プログラム部品は、ラダープログラムにより構成され、前記変化点は、当該ラダープログラムの接点や回路を組み替えることを目的としたマクロ処理言語でマクロ記述されたものとすることができる。   The asset program part is, for example, a versatile program part for configuring a device control program. More specifically, the asset program part is configured by a ladder program, and the change point is described in a macro processing language for the purpose of rearranging the contacts and circuits of the ladder program. it can.

本発明では、変化点を含むプログラム部品に付属・関連する情報(テストシナリオ,マニュアル等)の管理を確実に行なうことができる。   In the present invention, it is possible to reliably manage information (test scenarios, manuals, etc.) attached to / related to program parts including change points.

本発明の実施の形態を説明するに先立ち、前提となる、あらかじめ予期する変化点をマクロ記述としてラダープログラムに組み込み、アプリケーションに応じて与えるパラメータセットを変更するとともにマクロ処理を実行し、その特定のアプリケーション用プログラム部品を生成する技術について説明する。   Prior to the description of the embodiment of the present invention, a presumed change point is incorporated into a ladder program as a macro description, the parameter set given according to the application is changed, and macro processing is executed. A technique for generating application program parts will be described.

まず、再利用範囲を共通性の多い類似のアプリケーション群(プロダクトライン)に限定する。つまり、特定のプロダクトライン(製品系列)の範囲内だけでプログラム部品の再利用を考えるようにした。一例を示すと、携帯電話、CDプレーヤ、半導体製造装置など一つの製品ドメインに限定し、再利用範囲は、その限定された1つの製品の品揃えやバージョンアップを想定した範囲とした。これは、従来のユーザプログラムの開発においては、例えば、ある製品或いはその製品を製造するための製造ラインの動作・制御を司るラダープログラムを開発する場合、その製品にのみ着目し、その製品のための製造ライン用の専用のラダープログラムを作成していた。一方、複数のアプリケーションにおいて再利用できる汎用性のあるプログラム部品を作成するに際し、PLSE手法による戦略的な再利用部品をつくるため部品にあらかじめ予期されている変化点を組み込むことが行なわれる。この場合に、想定する複数のアプリケーションの範囲をいたずらに広げるのではなく、上述したように、特定のプロダクトライン(製品系列)の範囲内だけでプログラム部品の再利用を考えることで、より適切な部品を作成することができる。   First, the reuse range is limited to similar common application groups (product lines). In other words, the reuse of program parts was considered only within the scope of a specific product line (product series). For example, it is limited to one product domain such as a mobile phone, a CD player, and a semiconductor manufacturing apparatus, and the reuse range is a range that assumes the limited product lineup and version upgrade. This is because, in the development of a conventional user program, for example, when developing a ladder program that controls operation / control of a certain product or a production line for producing the product, attention is paid only to the product, Had created a dedicated ladder program for the production line. On the other hand, when creating a versatile program part that can be reused in a plurality of applications, in order to create a strategic reuse part by the PLSE method, a change point that is expected in advance is incorporated into the part. In this case, rather than unnecessarily expanding the range of multiple applications to be assumed, it is more appropriate to consider reusing program parts only within the range of a specific product line (product series) as described above. Parts can be created.

具体的には、対象となる製品のアプリケーション群(プロダクトライン)において共通性と差異性とを分析し、共通部分と差異部分とが一つのプログラム部品内に混在しないようにプログラム部品を設計する。図1は、製品の共通性と差異性とを分けた一例を説明する図である。同図(a)には、上述した従来の開発対象の製品A(アプリケーション)のみを考慮して分析し、その製品用のプログラムを作成した例が示されている。ここでは、便宜上、4つのモジュール(ファンクションブロック)によりラダープログラムが構築されているとする。この状態において、その製品と同一シリーズ(バリエーション:品揃え)の製品が存在したり、その製品を基礎としたバージョンアップが行なわれたりすることがある。係る場合、そのバリエーションの製品A1,A2,……やバージョンアップされた製品A′,A″,……は、元となる製品Aと共通することが多く、その製品A1,A′等のためのラダープログラムは、元となる製品Aのラダープログラムの一部を編集・変更することで製造することができる場合が多々ある。ただし、通常では、製品A用のラダープログラムを開発する場合には、製品Aのみを考慮して作成するため、バージョンアップした次の製品A′等や製品Aのバリエーションの製品A1等のためのラダープログラムを開発する場合、例えば、同図の変更箇所Xにて示されるように変更箇所が多岐にわたってしまう。   Specifically, the commonality and the difference are analyzed in the application group (product line) of the target product, and the program part is designed so that the common part and the difference part are not mixed in one program part. FIG. 1 is a diagram for explaining an example in which commonality and difference between products are divided. FIG. 6A shows an example in which a program for the product is created by analyzing only the above-described conventional product A (application) to be developed. Here, for convenience, it is assumed that a ladder program is constructed by four modules (function blocks). In this state, a product of the same series (variation: assortment) as the product may exist, or a version upgrade based on the product may be performed. In such a case, the products A1, A2,... Of the variations and the upgraded products A ′, A ″,... Are often in common with the original product A and are for the products A1, A ′, etc. In many cases, the ladder program of can be manufactured by editing and changing a part of the ladder program of the original product A. However, normally, when developing a ladder program for product A, When developing a ladder program for the next upgraded product A ′ or the product A1 of a variation of the product A in order to create only the product A, for example, at the change point X in FIG. As shown, there are many changes.

そのため、次の製品を作成するためにどこを変更すればよいのか分かりづらくなってしまう。また、それらの変更箇所Xは、モジュールA〜Dに組み込まれており、しかも、複数のモジュールにまたがって存在するものもあり、変更箇所のみを入れ替えて対応することが困難である。そのため、共通部分が多く、部分的な変更によって対応できるような場合においても、実際には、再度その製品に合わせたラダープログラムを作成する必要が生じてしまうことがある。   This makes it difficult to know where to change to create the next product. Moreover, those changed locations X are incorporated in the modules A to D, and some of them exist across a plurality of modules, and it is difficult to deal with by changing only the changed locations. Therefore, even when there are many common parts and it can be dealt with by partial changes, it may actually be necessary to create a ladder program that matches the product again.

そこで、同図(b)に示されるように、対象となる製品のみではなく、予め製品の品揃えに加えて将来のバージョンアップも含めて、共通性と差異性とを分析することによって、同図(c)に示されるように、対象製品のバリエーションにおいて差異部分のみをまとめたモジュールEを構成することが可能となる。そして、このように共通部分と差異部分とを明確に分けて部品設計を行うことにより、異なる製品バリエーション等を作成する際にはその差異部分に対応する別のモジュールFと置き換えることにより容易に当該製品のバリエーションを作成することが可能となる。   Therefore, as shown in the figure (b), by analyzing not only the target product but also the future product version in addition to the product lineup, the commonality and the difference are analyzed in advance. As shown in FIG. 3C, it is possible to configure a module E in which only different portions are collected in the variation of the target product. Then, by designing the parts by clearly dividing the common part and the difference part in this way, when creating a different product variation or the like, it can be easily replaced with another module F corresponding to the difference part. Product variations can be created.

図2には、一つのアプリケーションとしての検査装置が示されている。同図において点線で囲まれたように、検査装置はその機能や処理内容によって大まかに6つの部分に分けられる。   FIG. 2 shows an inspection apparatus as one application. As surrounded by a dotted line in the figure, the inspection apparatus is roughly divided into six parts depending on the function and processing contents.

すなわち、この検査装置は、供給部1と、ロードアーム3と、インデックステーブル4と、検査ヘッド5と、アンロードアーム6と、排出部7と、を備えている。供給部1は、検査対象のワークWを貯留するホッパー1aと、そのホッパー1aの下方から1つずつ搬出されるワークWを上昇移動させるエレベータ1bと、そのエレベータ1bで上昇移動されたワークWを搬出する下方傾斜状のシューター1cとを備える。ワークWは、シューター1cを滑り降りるように移動し、供給部1の先端に至る。この供給部1は、エレベータ1bを備えたエレベータ供給装置となっている。   That is, this inspection apparatus includes a supply unit 1, a load arm 3, an index table 4, an inspection head 5, an unload arm 6, and a discharge unit 7. The supply unit 1 includes a hopper 1a that stores workpieces W to be inspected, an elevator 1b that moves up and moves workpieces W one by one from below the hopper 1a, and a workpiece W that is moved up by the elevator 1b. And a downwardly inclined shooter 1c to be carried out. The work W moves so as to slide down the shooter 1 c and reaches the tip of the supply unit 1. The supply unit 1 is an elevator supply device including an elevator 1b.

ロードアーム3は、供給部1の先端に位置しているワークWを掴むと共に旋回し、インデックステーブル4上の所定位置に置くロボットである。つまり、ロボットアーム3は、インデックステーブル4へのワーク搬入を行なうロボット輸送の一形態である。他には、3次元空間上を移動可能なロボットアームなど、各種の代替え品がある。   The load arm 3 is a robot that holds the workpiece W positioned at the tip of the supply unit 1 and turns and places the workpiece W at a predetermined position on the index table 4. That is, the robot arm 3 is a form of robot transportation that carries a work into the index table 4. In addition, there are various alternatives such as a robot arm that can move in a three-dimensional space.

このインデックステーブル4が回転動作を行うことにより、ワークWは検査位置へと移動し、検査ヘッド5が所定位置に降下し検査を行う。インデックステーブル4は更に回転し、ワークWを取り出し位置へと移動する。つまり、インデックステーブル4は、90度ごとに回転・停止するように制御される。これにより、ロードアーム3により供給されワークWは、90度回転して検査位置に移動し、その後さらに90度移動して排出位置に移動することになる。換言すると、インデックステーブル4は、4つの位置で位置決めがされるように動作する。   As the index table 4 rotates, the workpiece W moves to the inspection position, and the inspection head 5 descends to a predetermined position for inspection. The index table 4 further rotates and moves the workpiece W to the take-out position. That is, the index table 4 is controlled to rotate and stop every 90 degrees. As a result, the workpiece W supplied by the load arm 3 rotates 90 degrees and moves to the inspection position, and then moves further 90 degrees and moves to the discharge position. In other words, the index table 4 operates so as to be positioned at four positions.

検査位置や排出位置などの所望に位置にワークを移動させる手段としては、インデックステーブル4に限ることはなく、たとえば、ベルトコンベアその他各種の手段がある。そして、ベルトコンベアを用いた場合には、ワークを検出するためのセンサを設け、そのセンサ位置にワークが来たときにベルトコンベアを停止することで位置決めできる。よって、センサの設置位置を調整することで任意の位置で位置決めをすることができる。   The means for moving the workpiece to a desired position such as an inspection position or a discharge position is not limited to the index table 4 and includes, for example, a belt conveyor and various other means. When a belt conveyor is used, a sensor for detecting a workpiece is provided, and positioning can be performed by stopping the belt conveyor when the workpiece comes to the sensor position. Therefore, it can be positioned at any position by adjusting the installation position of the sensor.

検査装置5は、たとえばカラーセンサなどを用いることで、形状と色情報を加味して良否判定を行なうことができる。これにより、より高精度な判定を行なうことができる。また、これに限ることはなく、形状を認識する画像センサを用い、簡易で短時間での良否判定を行なうようにすることもできる。   The inspection device 5 can perform pass / fail determination by taking shape and color information into account by using, for example, a color sensor. Thereby, more accurate determination can be performed. Further, the present invention is not limited to this, and it is also possible to perform a pass / fail judgment simply and in a short time using an image sensor that recognizes the shape.

排出位置に移動したワークWは、アンロードアーム16によって掴まれてインデックステーブル14から取り出され、排出部17に送られる。そして、排出部17は、検査結果に従い良品/不良品とを分別して排出する。   The workpiece W moved to the discharge position is gripped by the unload arm 16 and taken out from the index table 14 and sent to the discharge unit 17. Then, the discharge unit 17 sorts and discharges non-defective / defective products according to the inspection result.

上述したように、図2に示すアプリケーション(検査装置)は、仕様の異なるバリエーションを構築することができる。図3は、上記の検査装置に対して、同様の検査機能を有するものの、一部の特性において仕様の異なるバリエーションからなるアプリケーションの一例を表形式にて示している。同図における検査装置Aが、図2を用いて説明した検査装置の一例であり、検査装置Bとは、その検査装置Aの特性を一部変更したバリエーションである。同図に示される検査装置Aと検査装置Bとの特性を比較すると、ワークの搬入及び搬出に関しては双方ともロボット輸送を採用しているが、それ以外の特性においては差異が見られる。例えば、供給部において、検査装置Aはエレベータ供給を採用しているが、検査装置Bは採用していない(供給部がない)。同様に、検査対象のワークを位置決めするために、検査装置Aはインデックステーブルを用いているが、検査装置Bはベルトコンベアを採用している。同様に、ワークの停止位置についても、検査装置Aは4ポジションによる位置決めを行っているが、検査装置Bではセンサによる位置決めを採用している。そして、検査を行う際に、検査装置Aはカラーセンサを採用しているが、検査装置Bは画像センサを用いている。また、検査後のワークの排出については、検査装置Aはロボットによる良品と不良品との分別を行っており、検査装置Bでは不良品のみを押し出す方法を採用している。   As described above, the application (inspection apparatus) shown in FIG. 2 can construct variations with different specifications. FIG. 3 shows, in a tabular form, an example of an application that has the same inspection function as the above-described inspection apparatus but includes variations with different specifications in some characteristics. The inspection apparatus A in the figure is an example of the inspection apparatus described with reference to FIG. 2, and the inspection apparatus B is a variation in which the characteristics of the inspection apparatus A are partially changed. Comparing the characteristics of the inspection apparatus A and the inspection apparatus B shown in the same drawing, both robot transportation is adopted for loading and unloading workpieces, but there are differences in other characteristics. For example, in the supply section, the inspection apparatus A employs elevator supply, but the inspection apparatus B does not employ (no supply section). Similarly, in order to position the workpiece to be inspected, the inspection apparatus A uses an index table, but the inspection apparatus B employs a belt conveyor. Similarly, the inspection apparatus A performs positioning by four positions for the workpiece stop position, but the inspection apparatus B employs positioning by a sensor. And when inspecting, although the inspection apparatus A employs a color sensor, the inspection apparatus B uses an image sensor. Further, regarding the discharge of the workpiece after the inspection, the inspection apparatus A separates the non-defective product from the defective product by the robot, and the inspection device B adopts a method of pushing out only the defective product.

これらの検査装置A並びに検査装置Bを特性によって共通部分と差異部分とに分けたコンポーネント関連図が、図4〜図6に示されている。「コンポーネント関連図」は、ユーザが選択する特性とは異なり、何をどのようにして作るかという視点で作成される部品図であり、ソフトウェア設計のクラス図に相当する。そして、分析結果を参考に、共通特性と、差異特性が一つの部品内に混在しないように部品を設計する。   Component related diagrams in which the inspection apparatus A and the inspection apparatus B are divided into a common part and a different part according to characteristics are shown in FIGS. Unlike the characteristics selected by the user, the “component relation diagram” is a part diagram created from the viewpoint of what and how to create, and corresponds to a software design class diagram. Then, referring to the analysis result, the parts are designed so that the common characteristics and the difference characteristics are not mixed in one part.

図4のコンポーネント関連図には、検査装置におけるコンポーネントの全体図が示されている。同図にて示されるように、検査装置20は、ワーク搬入部21、位置決め部22、検査部23、及びワーク搬出部24に区分されている。そして、ワーク搬入部21は、さらに供給部21aとロードアーム21bとが備えられている。そして、位置決め部22にはインデックステーブル22aとベルトコンベア22bが、検査部23には検査方法25が、そしてワーク搬出部24にはアンロ―ドアーム24aと搬出部24bとがそれぞれ備えられている。実際の装置(アプリケーション)における6つの部分との関係でいうと、供給部1と、ロードアーム3とでワーク搬入部21が構成され、アンロードアーム6と、排出部7とでワーク搬出部24が構成される。   The component relation diagram of FIG. 4 shows an overall view of components in the inspection apparatus. As shown in the figure, the inspection apparatus 20 is divided into a work carry-in part 21, a positioning part 22, an inspection part 23, and a work carry-out part 24. The workpiece carry-in unit 21 further includes a supply unit 21a and a load arm 21b. The positioning unit 22 includes an index table 22a and a belt conveyor 22b, the inspection unit 23 includes an inspection method 25, and the work unloading unit 24 includes an unload arm 24a and an unloading unit 24b. In terms of the relationship with the six parts in the actual apparatus (application), the work carry-in part 21 is constituted by the supply part 1 and the load arm 3, and the work carry-out part 24 is constituted by the unload arm 6 and the discharge part 7. Is configured.

図5は図4のコンポーネント関連図の一部に対応し、ワーク搬入部21における検査装置A並びに検査装置Bの共通性と差異性が示されている。同図に示すように、検査装置Aは、ワーク搬入部21として供給部(エレベータ供給)21aとロードアーム21bが備えられているが、それに対して検査装置Bは供給部21aはなく、ロードアーム21bのみ備えられている。すなわち、これらの検査装置においては、供給部21aが差異部分であり、ロードアーム21bは共通部分となる。そして、このように製品バリエーションにおける差異部分となった供給部21aは、オプション部品として切り出しておく。   FIG. 5 corresponds to a part of the component relation diagram of FIG. 4, and shows the commonality and difference between the inspection apparatus A and the inspection apparatus B in the work carry-in unit 21. As shown in the figure, the inspection apparatus A is provided with a supply part (elevator supply) 21a and a load arm 21b as a work carry-in part 21, whereas the inspection apparatus B does not have a supply part 21a but a load arm. Only 21b is provided. That is, in these inspection apparatuses, the supply part 21a is a different part, and the load arm 21b is a common part. And the supply part 21a used as the difference part in a product variation in this way is cut out as an optional component.

図6は図4のコンポーネント関連図の一部に対応し、位置決め部22における検査装置A並びに検査装置Bの共通性と差異性が示されている。同図にて示されるように、検査装置Aは、位置決め部22としてインデックステーブル22aを採用しているが、それに対して検査装置Bはベルトコンベア22bを採用している。すなわち、これらの検査装置においては、インデックステーブル22aとベルトコンベア22bとのいずれかを選択することとなる。そして、このような場合は、インデックステーブル22aとベルトコンベア22bとを代替部品(代替コンポーネント)として切り出しておく。   6 corresponds to a part of the component relation diagram of FIG. 4, and shows the commonality and difference between the inspection apparatus A and the inspection apparatus B in the positioning unit 22. As shown in the figure, the inspection apparatus A employs an index table 22a as the positioning portion 22, whereas the inspection apparatus B employs a belt conveyor 22b. That is, in these inspection apparatuses, either the index table 22a or the belt conveyor 22b is selected. In such a case, the index table 22a and the belt conveyor 22b are cut out as substitute parts (substitute components).

このとき、ラダープログラムにて必要な回路を行単位で取り出すマクロ例としては、
!$IF(condition)[
true statements
!][
false statements
!]
となる。ここで、conditionには、条件を記述する。ある特性が選択されているかどうかを条件とする場合は、
;$feature=true
もしくは、
;$feature=false
と記述する。このとき、feature(特性)には、特定の特性名を指定する。そして、truestatementsとfalse statementsには、取り出したい範囲の回路が入り、行コメントに記述された[]で囲む。
At this time, as a macro example to extract the necessary circuit in the ladder program in line units,
! $ IF (condition) [
true statements
! ] [
false statements
! ]
It becomes. Here, condition is described in condition. If you are conditional on whether a characteristic is selected,
; $ Feature = true
Or
; $ Feature = false
Is described. At this time, a specific characteristic name is designated as a feature. Truestatements and false statements contain the circuit in the range you want to extract, and are enclosed in [] described in the line comment.

このようなマクロを使用した例が図7及び図8に示されている。図7には上述したワーク搬入部21のファンクションブロックが示されており、オプションの扱いが示されている。同図にて示されるように、「エレベータ供給」が条件として記述されており、オプションとして選択されていることが示されている。   Examples using such macros are shown in FIGS. FIG. 7 shows a function block of the workpiece carry-in unit 21 described above, and the handling of options is shown. As shown in the figure, “Elevator supply” is described as a condition and indicates that it is selected as an option.

そして、図8には位置決め部22のファンクションブロックが示されており、代替の扱いが示されている。同図にて示されるように、インデックステーブルとベルトコンベアが代替として記述されている。このように、アプリケーション毎の部品に生じる差異は部品の変形で対応する。尚、ここでは、ワーク搬入部21におけるエレベータ供給と、位置決め部22におけるインデックステーブルとベルトコンベアについて説明したが、他の差異についても同様に対応できることは言うまでもない。   FIG. 8 shows a function block of the positioning unit 22 and shows an alternative treatment. As shown in the figure, an index table and a belt conveyor are described as alternatives. In this way, the difference that occurs in the components for each application is dealt with by deformation of the components. In addition, although the elevator supply in the workpiece carry-in part 21 and the index table and the belt conveyor in the positioning part 22 have been described here, it is needless to say that other differences can be dealt with similarly.

図9及び図10に、特性モデルの例が示されている。特性モデルとは、製品ラインアップを特性によって表現したモデルである。ここで「特性」は、機能、性能、デザインなどユーザが製品を選択する基準になる概念である。また、特性モデルは、装置を共通性と差異性に着目して分析した特性のモデルである。   9 and 10 show examples of characteristic models. The characteristic model is a model that represents the product lineup by characteristics. Here, the “characteristic” is a concept that becomes a reference for the user to select a product, such as function, performance, and design. In addition, the characteristic model is a characteristic model obtained by analyzing devices by paying attention to commonality and difference.

これらの図にて示されるように、検査装置30は、その特性によって供給31,ワーク搬入32,位置決め33,検査34,ワーク搬出35,排出36のコンポーネントに分けられる。そして、供給31にはエレベータ供給がオプションコンポーネントとして備えられている。ここで、エレベータ供給に設けられている円37aは、この特性がオプションコンポーネントとして選択可能に設定されていることを示している。それに対して、ワーク搬入32及びワーク搬出35に設けられたロボット輸送38及び40は、オプションとしての特性ではないため、エレベータ供給37における円37aのような表示はされていない。   As shown in these drawings, the inspection apparatus 30 is divided into components of a supply 31, a workpiece carry-in 32, a positioning 33, an inspection 34, a workpiece carry-out 35, and a discharge 36 according to the characteristics. The supply 31 is provided with an elevator supply as an optional component. Here, a circle 37a provided in the elevator supply indicates that this characteristic is set to be selectable as an optional component. On the other hand, the robot transports 38 and 40 provided in the workpiece carry-in 32 and the workpiece carry-out 35 are not optional characteristics, and thus are not displayed as a circle 37a in the elevator supply 37.

また、位置決め33には停止位置39が設けられており、その停止位置は、その特性上さらに4ポジション39aとセンサによる位置決め39bとが代替コンポーネントとして設けられている。同様に、検査34にはカラーセンサ34aと画像センサ34bが、そして排出36には不良品のみ押し出し36aとロボットによる分別36bとがそれぞれ代替整コンポーネントとして設定されている。   Further, the positioning 33 is provided with a stop position 39, and the stop position is further provided with a 4-position 39a and a sensor positioning 39b as alternative components in view of its characteristics. Similarly, a color sensor 34a and an image sensor 34b are set for the inspection 34, and a defective product push-out 36a and a robot sorting 36b are set for the discharge 36, respectively.

また、この特性モデルと、図4に示したコンポーネント関連図とを対比すると、特性モデル図の供給31とワーク搬入32とが、コンポーネント関連図のワーク搬入部21に対応し、特性モデル図のワーク搬出35と排出36とが、コンポーネント関連図のワーク搬出部24に対応する。このように、各図を作成する際の視点が異なることから、まとめ方が一部相違する。   Further, when this characteristic model is compared with the component relation diagram shown in FIG. 4, the supply 31 and the workpiece carry-in 32 of the characteristic model diagram correspond to the workpiece carry-in portion 21 of the component relation diagram, and the workpiece of the characteristic model diagram. The carry-out 35 and the discharge 36 correspond to the work carry-out unit 24 in the component relation diagram. Thus, since the viewpoints at the time of creating each drawing are different, the way of summarizing is partially different.

図11は、プログラム作成支援装置の一実施の形態が示されている。同図に示すように、この実施の形態においては、ドメイン分析支援ツール50と、プログラム部品管理ツール60と、プログラム部品データベース70と、単体テストツール71と、PLCシミュレータ72、3Dシミュレータ75とを備えている。なお、ドメイン分析支援ツール50は、なくても良い。   FIG. 11 shows an embodiment of a program creation support apparatus. As shown in the figure, in this embodiment, a domain analysis support tool 50, a program part management tool 60, a program part database 70, a unit test tool 71, a PLC simulator 72, and a 3D simulator 75 are provided. Yes. Note that the domain analysis support tool 50 may be omitted.

ドメイン分析支援ツール50内の特性モデルエディタ51は、開発対象ドメインにおける製品ラインアップの共通性と差異性とを分析し、製品ラインアップを「特性」によって表現した分析モデルである特性モデル(製品の特性情報)52を作成するものである。つまり、図9に示す特性モデルを作成するエディタである。この特性モデルを作成することによって、共通性と差異性(オプションの有無や、選択(代替え)可能な部品の有無等)が分析でき、図において表現できる。係る特性モデルが、プログラム部品管理ツール60に与えられる。   The characteristic model editor 51 in the domain analysis support tool 50 analyzes the commonality and the difference of the product lineup in the development target domain, and the characteristic model (the product model) is an analysis model expressing the product lineup by “characteristics”. Characteristic information) 52 is created. That is, the editor creates the characteristic model shown in FIG. By creating this characteristic model, it is possible to analyze the commonality and the difference (the presence / absence of options, the presence / absence of parts that can be selected (substituted), etc.) and can be expressed in a diagram. Such a characteristic model is given to the program part management tool 60.

プログラム部品管理ツール60は、プロダクト・パラメータ・マネージャ61と、コンポーネント・マネージャ62と、マクロ・プロセッサ63と、コンポーネント関連図エディタ64と、コンポーネント・エディタ65と、ワークメモリ66とを備えている。 プロダクト・パラメータ・マネージャ61は、ある設備装置や製品のアプリケーションを構築するのに必要なプログラム部品群と、そこに記述されるマクロへの入力パラメータセット(「プロダクト・パラメータ」と呼ぶ)67を管理するものである。本実施の形態では、ドメイン分析支援ツール50が作成した特性モデルと製品の特性情報を元に、プロダクト・パラメータを作成する機能も持っている。   The program parts management tool 60 includes a product parameter manager 61, a component manager 62, a macro processor 63, a component relation diagram editor 64, a component editor 65, and a work memory 66. The product parameter manager 61 manages a group of program parts necessary for constructing an application of a certain facility device or product, and an input parameter set (called “product parameter”) 67 to a macro described therein. To do. The present embodiment also has a function of creating product parameters based on the characteristic model created by the domain analysis support tool 50 and the product characteristic information.

つまり、差異性に基づいて変更可能な各種の組み合わせからなるアプリケーションを実現するために記述されるマクロへの入力パラメータセット(プロダクト・パラメータ)67を作成する。上述した例では、検査装置Aを実現するためのマクロの入力パラメータや、検査装置Bを実現するためのマクロへの入力パラメータを作成する。もちろん、選択・生成可能なアプリケーションは、検査装置A,Bに限られるものではなく、他の部品の組み合わせからなる検査装置も生成可能なため、それらの検査装置を実現するためのマクロへの入力パラメータも作成する。   That is, an input parameter set (product parameter) 67 to a macro described to realize an application composed of various combinations that can be changed based on the difference is created. In the example described above, a macro input parameter for realizing the inspection apparatus A and a macro input parameter for realizing the inspection apparatus B are created. Of course, the applications that can be selected and generated are not limited to the inspection apparatuses A and B, and an inspection apparatus composed of a combination of other parts can also be generated. Therefore, input to a macro for realizing those inspection apparatuses is possible. Create parameters.

このマクロへの入力パラメータセット67の作成であるが、製品の特性情報を認識しその差異性に基づいて選択可能な組み合わせを全て自動的に抽出することで、自動的に生成するようにすることができる。ただし、係る自動的に生成する方法によると、現実的でないアプリケーションも構築されるため、例えば、図9に示す特性モデル図を表示装置に表示すると共に、図示省略する入力装置をユーザが操作して、差異性の部分(選択可能な部分)について指定する(図10中黒丸印)。プロダクト・パラメータ・マネージャ61は、係る指定された組み合わせに基づいてマクロへの入力パラメータを生成する。これにより、ユーザが、入力装置を操作してアプリケーションを複数設定することで、マクロへの入力パラメータセット(プロダクト・パラメータ)67が生成される。   The creation of the input parameter set 67 for this macro is to be automatically generated by recognizing product characteristic information and automatically extracting all selectable combinations based on the difference. Can do. However, according to such an automatically generating method, an unrealistic application is also constructed. For example, the characteristic model diagram shown in FIG. 9 is displayed on the display device, and the input device (not shown) is operated by the user. , A difference portion (selectable portion) is designated (black circle in FIG. 10). The product parameter manager 61 generates an input parameter to the macro based on the designated combination. Accordingly, when the user operates the input device to set a plurality of applications, an input parameter set (product parameter) 67 to the macro is generated.

プログラム部品データベース70は、図12に示すように、製品の特性情報と、資産プログラム情報とが格納されている。製品の特性情報は、ドメイン分析支援ツール50で作成された特性モデルと、特性の組み合わせ(「マクロへの入力パラメータ」に対応)を規定する特性選択データ(マクロへの入力パラメータである)がある。資産プログラム部品情報は、各部品を構成するコンポーネントごとに登録される。これら各コンポーネントは、図4中符号20から25で示す個々のコンポーネントに対応し、「a」,「b」などの付記号が付された符号は、変更箇所及び変更内容を示すためのマクロとして、上位のコンポーネント中に記述される。   As shown in FIG. 12, the program parts database 70 stores product characteristic information and asset program information. The product characteristic information includes a characteristic model created by the domain analysis support tool 50 and characteristic selection data (which is an input parameter to the macro) that defines a combination of characteristics (corresponding to “input parameters to the macro”). . The asset program part information is registered for each component constituting each part. These components correspond to the individual components indicated by reference numerals 20 to 25 in FIG. 4, and the reference numerals with “a”, “b”, and the like are used as macros for indicating the changed parts and the changed contents. Is described in the upper component.

各コンポーネントは、コンポーネントヘッダと、そのコンポーネントヘッダに関連付けられた資産プログラム部品(マクロ記述組み込み)と、その資産プログラム部品の付属データとから構成される。付属データとしては、マニュアル(マクロ記述組み込み)と、テストシナリオと、制御対象の3Dモデルとから構成される。   Each component includes a component header, an asset program part (macro description embedded) associated with the component header, and attached data of the asset program part. The attached data includes a manual (macro description embedded), a test scenario, and a 3D model to be controlled.

資産プログラム部品は、そのコンポーネントを実現するために基本となるラダープログラムである。この資産プログラム部品を元にして、一部を変更した新プログラム部品を作成する。資産プログラム部品のラダープログラムを変化したいところが存在する場合には、マクロ記述が組み込まれる。そして、1つのコンポーネントに対し、1つのファンクションブロックが構築される。なお、このマクロ記述が含まれている資産プログラム部品に対してマクロ処理を実行すると、不要な回路部分が削除されたり、コピー処理により追加されたりするなどの変形処理がなされ、特定のアプリケーション用プログラム部品が生成される。   The asset program part is a ladder program that is the basis for realizing the component. Based on this asset program part, a new program part with a part changed is created. If there is a place to change the ladder program of the asset program part, a macro description is incorporated. One function block is constructed for one component. When macro processing is executed on an asset program part that contains this macro description, unnecessary circuit parts are deleted or added by copy processing, resulting in a specific application program. A part is generated.

マニュアルは、コンポーネントのリファレンスマニュアルである。前述したように、そのプログラム部品がどのような内部構成であって、どのような振る舞いをするかを認識できるような情報を含むものである。図示されているように文字データにて作成されている。資産プログラム部品にマクロ記述が含まれている場合、マクロ処理を実行することにより、異なる複数の特定のアプリケーション用プログラム部品が生成されるため、マニュアルも各特定のアプリケーション用プログラム部品に対応したものを用意する必要がある。本実施の形態では、資産プログラム部品の変化点に合わせて、マニュアルにも変化点に応じたマクロ記述を組み込むようにした。これにより、1つの資産プログラム部品(含むマクロ記述)に対して1つのファイルからなるマニュアル(含むマクロ記述)が用意される。このマクロ記述が含まれるマニュアルは、資産プログラム部品と同様にマクロ処理が実行されることにより、マクロ記述された変化点部分が適宜変形され、特定のアプリケーション用プログラム部品に適したマニュアルが生成される。一例を示すと、図13(a)に示すようなマクロ記述が組み込まれたマニュアルに対し、「インデックステーブル」の特性が選択された場合、図13(b)に示すようにインデックステーブル用の部品リファレンスマニュアルが生成される。なお、マクロ記述の仕方並びにそれに基づくマクロ処理の実行は、資産プログラム部品に対するものと同様にしている。   The manual is a reference manual for components. As described above, the program component includes information for recognizing the internal configuration and the behavior of the program component. As shown in the figure, it is created with character data. If the asset program part contains a macro description, executing the macro process generates a number of different specific application program parts. Therefore, the manual must also correspond to each specific application program part. It is necessary to prepare. In the present embodiment, the macro description corresponding to the change point is incorporated in the manual in accordance with the change point of the asset program part. Thus, a manual (including macro description) consisting of one file is prepared for one asset program part (including macro description). In the manual including the macro description, the macro process is executed in the same manner as the asset program part, so that the change point part described in the macro is appropriately modified, and the manual suitable for the specific application program part is generated. . As an example, when the characteristic of “index table” is selected for a manual in which a macro description as shown in FIG. 13A is incorporated, the parts for the index table as shown in FIG. A reference manual is generated. Note that the macro description method and the execution of macro processing based on it are the same as those for asset program parts.

テストシナリオは、プログラム部品への入力条件、および期待出力を時系列に記載したものである。作成されたユーザプログラムの検証時に使用する。テストシナリオは、1つの特定のアプリケーション用プログラム部品に対して、1または複数個用意される。また、異なる特定のアプリケーション用プログラム部品に対し、同一のテストシナリオを使用することもある。これは、特定のアプリケーション用プログラム部品が異なっていても、入力条件に対する出力の変化の時系列の関係が同じ場合があり、係る場合には、テストシナリオを共通使用する。   The test scenario describes the input conditions to the program parts and the expected output in time series. Used when verifying the created user program. One or a plurality of test scenarios are prepared for one specific application program part. Also, the same test scenario may be used for different specific application program parts. In this case, even if specific application program parts are different, the time-series relationship of the change in output with respect to the input condition may be the same. In such a case, the test scenario is commonly used.

制御対象の3Dモデルは、資産プログラム部品ひいてはその資産プログラム部品により生成される特定のアプリケーション用プログラム部品が制御対象とする装置の3D形状や、その特定のアプリケーション用プログラム部品に対して入力を与えたときの振る舞いを定義したものである。例えば、所定の3Dモデルを3Dシミュレータ75に実装するとともに、その3Dシミュレータ75に対して3Dモデルにより定義された入力条件を順次与えることで制御対象とする装置の動作を3Dで表示することができる。   The 3D model to be controlled gives an input to the 3D shape of the device to be controlled by the asset program part and, in turn, the specific application program part generated by the asset program part, and the specific application program part. It defines the behavior of time. For example, a predetermined 3D model is mounted on the 3D simulator 75, and the operation of the device to be controlled can be displayed in 3D by sequentially giving input conditions defined by the 3D model to the 3D simulator 75. .

コンポーネントヘッダは、図14に示すようなデータ構造からなる。図から明らかなように、上位から順に、コンポーネント名,実現している特性のリスト,インタフェース定義,関連コンポーネントリスト,プログラム種別,プログラム部品ファイル,テストシナリオリスト,3Dモデルリスト名,マニュアルファイル名並びにコメントから構築される。   The component header has a data structure as shown in FIG. As is clear from the figure, in order from the top, component name, realized characteristics list, interface definition, related component list, program type, program part file, test scenario list, 3D model list name, manual file name, and comment Built from.

「コンポーネント名」には、コンポーネント関連図エディタで表示されるそのコンポーネントの名称が記述される。このコンポーネント名は、対応するコンポーネントの1番上の欄に標記される。   “Component name” describes the name of the component displayed in the component relation diagram editor. This component name is marked in the top column of the corresponding component.

「実現している特性のリスト」には、コンポーネントにより実現/実装されている特性のリストが記述される。特性の名前でもあり、コンポーネント関連図エディタで表示された場合に、そのコンポーネントの2番目の欄に標記される。また、特性モデル図(図9等)において、各それぞれの特性として標記される。   In the “list of realized characteristics”, a list of characteristics realized / implemented by the component is described. It is also the name of the property, and when displayed in the component relationship diagram editor, it is marked in the second column for that component. In the characteristic model diagram (FIG. 9 and the like), each characteristic is marked.

インタフェース定義と、関連コンポーネントリストは、外部との関連を定義する領域である。「インタフェース定義」には、他のコンポーネントが利用可能な入出力定義を記述する。具体的には、変数名およびデータ型、入出力の区別などが記述される。「関連コンポーネントリスト」には、そのコンポーネントが動作するために必要なコンポーネントを記載したリストが記述される。たとえば、図4において検査装置20のコンポーネントには、ワーク搬入部21,位置決め部22,検査部23,ワーク搬出部24の各コンポーネントを特定する情報がリストとして記述される。これにより、各コンポーネントの接続関係がわかり、コンポーネント関連図も再現できる。   The interface definition and the related component list are areas for defining a relation with the outside. In the “interface definition”, an input / output definition that can be used by other components is described. Specifically, variable names and data types, input / output distinction, and the like are described. In the “related component list”, a list describing components necessary for the operation of the component is described. For example, in FIG. 4, information specifying each component of the work carry-in part 21, the positioning part 22, the inspection part 23, and the work carry-out part 24 is described as a list in the components of the inspection apparatus 20. Thereby, the connection relation of each component can be understood, and the component relation diagram can also be reproduced.

プログラム種別と、プログラム部品ファイルは、コンポーネント本体であり、「プログラム種別」には、プログラム部品が実装されている言語、または実行できるPLC機種の種別が記述され、「プログラム部品ファイル」には、上記プログラム種別により、実装されたプログラムのソースコードが記述される。   The program type and the program part file are component bodies, the “program type” describes the language in which the program part is mounted or the type of PLC model that can be executed, and the “program part file” The source code of the implemented program is described according to the program type.

テストシナリオリストと3Dモデルリスト名は、制御対象情報であり、テストシナリオリスト名には上記プログラム部品への入力条件、および期待出力を時系列に記載したシナリオファイルを複数リストにしたものが記述される。このテストシナリオリストは、図15(a)に示すように、シナリオIDと、テスト結果と、テストシナリオファイル名と、適合特性選択データ名とを関連付けたテーブルとなっている。ここで、シナリオIDは、テストシナリオをユニークに特定するための認識番号であり、テスト結果の欄は、そのテストシナリオに従って実行した結果(OK/NG)並びに未テスト状態(−)が格納される。テキストシナリオファイル名は、各テキストシナリオのファイル名が格納される。適合特性選択データ名は、対応するテキストシナリオを用いてテストを行なえる特性選択データのファイル名を格納する。すなわち、異なる特性選択データであっても、プログラム部品への入力条件、およびそれに対する期待出力の時系列データが等しいことがある。特に、アプリケーション群を構成する各アプリケーションは、バージョンアップであったり、製品の品揃えであったりして共通する部分も多数あるため、異なる特性選択データであっても同一のテストシナリオを用いることができることがある。また、1つの特性選択データに対し、複数のテストシナリオが用意されることももちろんある。   The test scenario list and the 3D model list name are control target information, and the test scenario list name describes the input conditions to the above program parts and a list of scenario files that describe the expected output in chronological order. The As shown in FIG. 15A, the test scenario list is a table in which scenario IDs, test results, test scenario file names, and compatible characteristic selection data names are associated with each other. Here, the scenario ID is an identification number for uniquely identifying the test scenario, and the result (OK / NG) executed according to the test scenario and the untested state (-) are stored in the test result column. . The text scenario file name stores the file name of each text scenario. The compatible characteristic selection data name stores a file name of characteristic selection data that can be tested using the corresponding text scenario. That is, even with different characteristic selection data, the input conditions to the program component and the expected output time series data may be the same. In particular, each application that constitutes an application group has many parts in common, such as version upgrades and product lineups, so the same test scenario can be used even for different characteristic selection data. There are things you can do. Of course, a plurality of test scenarios may be prepared for one characteristic selection data.

3Dモデルリスト名は、上述したプログラム部品が制御対象とする装置の3D形状、および入力を与えたときの振る舞いを定義した3Dモデルを複数リストにしたものが記述される。この3Dモデルリストは、図15(b)に示すように、IDと、3Dモデルファイル名と、適合特性選択データ名とを関連付けたテーブルとなっている。ここで、IDは、3Dモデルをユニークに特定するための認識番号である。3Dモデルファイル名は、3Dモデルのファイル名が格納される。適合特性選択データ名は、対応する3Dモデを用いて3Dのシミュレーションを行なえる特性選択データのファイル名を格納する。すなわち、異なる特性選択データであっても、3D形状や入力条件を与えたときの振る舞いが等しいことがある。特に、アプリケーション群を構成する各アプリケーションは、バージョンアップであったり、製品の品揃えであったりして共通する部分も多数あるため、異なる特性選択データであっても同一の3Dモデルを使用できる可能性がある。   The 3D model list name describes a list of a plurality of 3D models that define the 3D shape of the device to be controlled by the program component described above and the behavior when an input is given. As shown in FIG. 15B, the 3D model list is a table in which IDs, 3D model file names, and matching characteristic selection data names are associated with each other. Here, the ID is an identification number for uniquely identifying the 3D model. The 3D model file name stores the file name of the 3D model. The compatible characteristic selection data name stores a file name of characteristic selection data that can perform 3D simulation using the corresponding 3D model. That is, even when different characteristic selection data is used, the behavior when a 3D shape and input conditions are given may be the same. In particular, each application that constitutes an application group has many common parts such as version upgrades and product lineups, so the same 3D model can be used even with different characteristic selection data There is sex.

「マニュアル」には、コンポーネントのリファレンスマニュアル(図13(a)等参照)が格納される。変化点がある場合には、マクロ記述も組み込まれる。なお、このマニュアルの欄には、マニュアルのファイル名のみ記述し、別の記憶エリアにマニュアルファイルの実態を格納しても良い。   The “manual” stores a component reference manual (see FIG. 13A, etc.). If there is a change point, a macro description is also incorporated. In this manual column, only the file name of the manual may be described, and the actual state of the manual file may be stored in another storage area.

なお、「コメント」には、コンポーネントの内容を把握するためのコメントが記述される。このように、コンポーネントヘッダにより、そのコンポーネントに格納された資産プログラム部品並びにテストシナリオとのリンクが張られるとともに、他のコンポーネントとの関連づけが行なわれる。   In the “comment”, a comment for understanding the content of the component is described. As described above, the component header links the asset program part and the test scenario stored in the component and associates them with other components.

単体テストツール71は、ラダー部品に与える仮想入力と期待出力のペアをテストケースとして設定できる。設定した「仮想入力」をPLCシミュレータ72に与え、シミュレーションを実行し、その出力と期待出力を比較して、テストケースのOK/NGを判定する機能を持つ。その判定結果は、コンポーネント関連図エディタ64,コンポーネント・マネージャ62経由でプログラム部品データベース70に格納される。   The unit test tool 71 can set a pair of virtual input and expected output given to the ladder part as a test case. The set “virtual input” is given to the PLC simulator 72, the simulation is executed, the output is compared with the expected output, and OK / NG of the test case is determined. The determination result is stored in the program parts database 70 via the component relation diagram editor 64 and the component manager 62.

PLCシミュレータ72はプログラマブルコントローラ(PLC)をパソコン上で模擬実行するエミュレータである。ダウンロードされたラダープログラムを、単体テストツール71から与えられる仮想的なI/O情報を元に実行する。また、3Dシミュレータ75は、あたえられた3Dモデルに従って制御対象の装置の実際の動作を表示装置に3Dで再現する。   The PLC simulator 72 is an emulator that simulates and executes a programmable controller (PLC) on a personal computer. The downloaded ladder program is executed based on virtual I / O information given from the unit test tool 71. The 3D simulator 75 reproduces the actual operation of the device to be controlled in 3D on the display device in accordance with the given 3D model.

コンポーネント・マネージャ62は、プログラム部品データベース70にアクセスし、データの読み書きを行なう。一例を示すと、ラダープログラムの作成用の資産プログラム部品(マクロ付)が格納されているプログラム部品データベース70から、プロダクト・パラメータ・マネージャ61によって作成されたプロダクト・パラメータに従い、必要となる資産プログラム部品68を取り出す機能を有する。また、プログラム部品データベース70に格納されていない部品を新規作成したり、既存の資産プログラム部品に編集を加えた場合において、新たに作成された資産プログラム部品をプログラム部品データベース70に格納する機能も有する。   The component manager 62 accesses the program parts database 70 to read / write data. As an example, the required asset program parts according to the product parameters created by the product parameter manager 61 from the program parts database 70 storing the asset program parts (with macros) for creating the ladder program. The function of taking out 68 is provided. In addition, when a part not stored in the program part database 70 is newly created or an existing asset program part is edited, the newly created asset program part is stored in the program part database 70. .

マクロ・プロセッサ63は、マクロ記述とプロダクト・パラメータに従い、ラダープログラムの変形を実行し、特定アプリケーション用のプログラム部品を生成する機能を有する。すなわち、アプリケーションの要求仕様(特性)と差異部分の関連づけを行なうもので、図16に示すように、必要な資産プログラム部品を読み出し、資産プログラム部品中にマクロ記述が存在するものに対しては、マクロへの入力パラメータである特性選択データに基づいてマクロ処理を実行し、ラダープログラム中の不要な回路を削除したり、回路をコピーしたりするなどの処理を実行し、必要十分なラダー回路で記述された特定のアプリケーション用プログラム部品が生成される。マクロ処理は、あらかじめマクロ記述で定義した変化点を特性選択データを入力パラメータとして変形処理するもので、係る処理をマクロ・プロセッサ63が実行する。   The macro processor 63 has a function of executing a modification of the ladder program according to the macro description and the product parameter, and generating a program component for a specific application. That is, associating the required specifications (characteristics) of the application with the difference part, as shown in FIG. 16, when a necessary asset program part is read and a macro description exists in the asset program part, Macro processing is executed based on the characteristic selection data that is an input parameter to the macro, processing such as deleting unnecessary circuits in the ladder program and copying circuits is performed, and the necessary and sufficient ladder circuits are used. A program component for a specific application described is generated. In the macro process, the change point defined in advance in the macro description is transformed using the characteristic selection data as an input parameter, and the macro processor 63 executes the process.

また、このマクロ・プロセッサ63は、コンポーネント・マネージャ62を介して取得したプログラム部品データベース70に格納されたマニュアル(マクロ記述組み込み済み)に対してマクロ処理を実行し、特定アプリケーション用のマニュアルを新たに生成する機能を有する。すなわち、特定アプリケーション用に合致するように、資産プログラム部品に対応するマニュアルを元にして、その中の不要な文字列を削除したり、元から存在する文字列を別の文字列に置き換えたりする処理を実行して、新たなマニュアルを生成する。マニュアルに対するマクロ処理は、プログラム部品の変更と同様に、マクロ記述で予め定義した変化したい部分を変形処理するものである。   Further, the macro processor 63 executes macro processing on the manual (macro description embedded) stored in the program parts database 70 obtained via the component manager 62, and newly creates a manual for a specific application. It has a function to generate. In other words, based on the manual corresponding to the asset program component, delete unnecessary character strings in the manual, or replace existing character strings with other character strings so that they match the specific application. Execute the process and generate a new manual. The macro process for the manual is a process for transforming a part to be changed previously defined in the macro description, as in the case of changing the program part.

コンポーネント関連図エディタ64は、コンポーネント間の関連を視覚的に表示した図であるコンポーネント関連図(図4参照)を表示装置のエディタ画面上に表示すると共に、そのコンポーネント関連図上で編集・テスト対象コンポーネントを特定し、コンポーネントの編集手段たるコンポーネント・エディタ65や、テスト手段たる単体テストツール71を起動する。さらに、本発明との関係で言うと、コンポーネント関連図エディタ64は変形対象のコンポーネントを選択し、自己にて変形処理を行なったり、変形処理を実行する処理手段(マクロ・プロセッサ63)を起動したりする。   The component relation diagram editor 64 displays a component relation diagram (see FIG. 4), which is a diagram visually showing the relation between components, on the editor screen of the display device, and is edited and tested on the component relation diagram. A component is specified, and a component editor 65 as a component editing means and a unit test tool 71 as a test means are activated. Further, in relation to the present invention, the component relation diagram editor 64 selects a component to be deformed, performs deformation processing by itself, or starts processing means (macro processor 63) for executing deformation processing. Or

コンポーネント関連図は、例えばプログラムデータベース70に格納されたコンポーネントヘッダの関連コンポーネントリストなどを参照することで各コンポーネントの関係がわかるので、コンポーネント関連図を構築できる。換言すると、コンポーネント関連図が構築できるような情報を関連コンポーネントリストに登録する。また、特性モデルと同様に、コンポーネント関連図もプログラム部品データベース70に登録しておき、それを読み出すようにしても良い。   The component relation diagram can be constructed by referring to the relation component list of the component header stored in the program database 70, for example, so that the relationship between the components can be understood. In other words, information that can build a component relation diagram is registered in the related component list. Similarly to the characteristic model, the component relation diagram may be registered in the program parts database 70 and read out.

また起動処理は、具体的には、図17に示すように、表示装置に表示されたコンポーネント関連図エディタ64のエディタ画面Wに表示されたコンポーネント関連図の中から、処理対象のコンポーネントを選択する。係る選択は、たとえばユーザがポインティングデバイスを操作し、エディタ画面W上のポインタを移動し、目的のコンポーネント(図では「ワーク搬入部」)の上に位置させた後、クリックする。すると、コンポーネント関連図エディタ64は、そのクリックされた位置の座標位置からどのコンポーネントが指定・選択されたかを判断し、選択されたことを示す標記(図の例では、頂点並びに中間点に○を表示)をするとともに、処理内容(編集/単体テスト/変形)を選択する入力メニューリストMLを表示する。そして、入力メニューリストML中の「編集」が選択された場合には、編集手段たるコンポーネント・エディタ65を起動し、入力メニューリストML中の「単体テスト」が選択された場合には、テスト手段たる単体テストツール71を起動する。これらの処理もコンポーネント関連図エディタ64が行なう。さらに、入力メニューリストML中の「変形」が選択された場合には、コンポーネント関連図エディタ64自ら、或いは所定の処理手段を起動して図18に示すフローチャートを実行する。   Specifically, in the activation process, as shown in FIG. 17, a component to be processed is selected from the component relation diagram displayed on the editor screen W of the component relation diagram editor 64 displayed on the display device. . For this selection, for example, the user operates the pointing device, moves the pointer on the editor screen W, places the pointer on the target component (“work loading portion” in the figure), and then clicks. Then, the component relation diagram editor 64 determines which component has been designated / selected from the coordinate position of the clicked position, and indicates that it has been selected (in the example of the figure, a circle is added to the vertex and the middle point). Display) and an input menu list ML for selecting processing contents (edit / unit test / deformation) is displayed. When “edit” in the input menu list ML is selected, the component editor 65 as an editing unit is activated. When “unit test” in the input menu list ML is selected, the component editor 65 is used as a test unit. The unit test tool 71 is activated. These processes are also performed by the component relation diagram editor 64. Further, when “deformation” in the input menu list ML is selected, the component relation diagram editor 64 itself or a predetermined processing means is activated and the flowchart shown in FIG. 18 is executed.

さらにコンポーネント関連図エディタ64は、指定されたコンポーネントの資産プログラム部品(マクロ記述済み)68を取得すると共に、そのコンポーネントを元とし(以下、親のコンポーネントと表現)、その元から派生したコンポーネント(以下、子のコンポーネントと表現)が有るか否かを判断する。つまり、図17のコンポーネント関連図で下位側に接続されたコンポーネント(子)があるか否かを判断し、存在する場合には、その子のコンポーネントに対応する資産プログラム部品68も読み出し、読み出した各資産プログラム部品を合成し、合成したプログラムをワークメモリ66に格納する。図17に示す例では、「ワーク搬入部」が選択されたため、その下位に繋がる「供給部」と「ロードアーム」の各コンポーネントが子のコンポーネントとなり、それぞれの資産プログラム部品も読み出され、合成される。ワークメモリ66に合成された1つのプログラムを保存すると、コンポーネント関連図エディタ64はコンポーネント・エディタ65を起動する。   Further, the component relation diagram editor 64 obtains the asset program part (macro described) 68 of the designated component, and based on the component (hereinafter referred to as a parent component), a component derived from the source (hereinafter referred to as the parent component). , Child components and expressions). That is, it is determined whether or not there is a component (child) connected to the lower side in the component relation diagram of FIG. 17, and if it exists, the asset program part 68 corresponding to the child component is also read and each read The asset program parts are synthesized, and the synthesized program is stored in the work memory 66. In the example shown in FIG. 17, since the “work carry-in unit” is selected, the components “supply unit” and “load arm” connected to the lower part are child components, and the respective asset program parts are also read and synthesized. Is done. When one synthesized program is stored in the work memory 66, the component relation diagram editor 64 activates the component editor 65.

起動されたコンポーネント・エディタ65は、このワークメモリ66に格納されたプログラム(合成済み)を読み出して編集処理をする。そして、コンポーネント・エディタ65は、編集処理が終了したならば、編集後のプログラムをワークメモリ66に保存する。この保存された編集後のプログラムは、コンポーネント関連図エディタ64で読み出され、編集対象の資産プログラム部品(編集後)をコンポーネント・マネージャ62を介してプログラム部品データベース70の対応するコンポーネントのファイルに格納し、更新処理をする。   The activated component editor 65 reads out the program (synthesized) stored in the work memory 66 and edits it. When the editing process is completed, the component editor 65 stores the edited program in the work memory 66. The saved edited program is read by the component relation diagram editor 64, and the asset program part to be edited (after editing) is stored in the corresponding component file in the program part database 70 via the component manager 62. And update processing.

コンポーネント・エディタ65は、コンポーネントの編集等を行なうものであり、本実施の形態ではマクロ記述を含んだラダープログラム部品の編集を行うものである。つまり、コンポーネント・エディタ65の一形態として、ラダーエディタ(ラダープログラミングツール)がある。この実施の形態においては、マクロの編集機能と、ラダープログラムの編集機能とを併せ持っている。   The component editor 65 edits components and the like. In this embodiment, the component editor 65 edits ladder program parts including macro descriptions. That is, as one form of the component editor 65, there is a ladder editor (ladder programming tool). This embodiment has both a macro editing function and a ladder program editing function.

ユーザがポインティングデバイスを操作してコンポーネントを指定すると共に、入力メニューリストML中の「単体テスト」が選択された場合、コンポーネント関連図エディタ64は、指定されたコンポーネントを認識し、そのコンポーネントのコンポーネントヘッダをコンポーネント・マネージャ62を介してプログラム部品データベース70より取得し、単体テストをする特定アプリケーション用プログラム部品を生成するためのマクロへの入力パラメータ(特性選択データ)をマニュアルで指定するべく、そのリストを表示する。そして、ユーザから入力されたマクロへの入力パラメータ(特性選択データ)に基づき、マクロ・プロセッサ63を起動して特定アプリケーション用プログラム部品を生成し、また、その特定アプリケーション用プログラム部品に対応するテストシナリオを生成し、それらを単体テストツール71に渡す。なお、上記の特定アプリケーション用プログラム部品並びにテストシナリオの生成アルゴリズムについて、後述する。   When the user operates the pointing device to specify a component and “unit test” in the input menu list ML is selected, the component relation diagram editor 64 recognizes the specified component and displays the component header of the component. A list is displayed in order to manually specify input parameters (characteristic selection data) to a macro for generating a program component for a specific application to be unit tested, obtained from the program component database 70 via the component manager 62. . Then, based on the input parameters (characteristic selection data) to the macro input by the user, the macro processor 63 is activated to generate a specific application program part, and a test scenario corresponding to the specific application program part And pass them to the unit test tool 71. The specific application program part and the test scenario generation algorithm will be described later.

単体ツール71は、取得したプログラムファイルとテストシナリオに基づいてテストを実行する。すなわち、単体テストツール71は、該当プログラムファイルをPLCシミュレータ72にダウンロードし、PLCシミュレータ72の実行を開始させる。そして、単体テストツール71は、テストシナリオを順番に実行、つまり、所定のタイミングで入力条件を変更し、この入力条件の変更に伴いPLCシミュレータ72が求めた出力が、テストシナリオの期待出力と一致するか否かを判断する。全ての出力が期待出力と一致する場合には、合格となり、不一致箇所が発生すると不合格となる。この結果は、コンポーネント関連図エディタ63に渡され、コンポーネント・マネージャ62経由でプログラム部品データベース70のコンポーネントヘッダ(テストシナリオリスト名)のテスト結果の欄)に格納される。   The single tool 71 executes a test based on the acquired program file and test scenario. That is, the unit test tool 71 downloads the corresponding program file to the PLC simulator 72 and starts execution of the PLC simulator 72. The unit test tool 71 sequentially executes the test scenarios, that is, changes the input conditions at a predetermined timing, and the output obtained by the PLC simulator 72 in accordance with the change of the input conditions matches the expected output of the test scenario. Determine whether or not. If all the outputs match the expected output, it passes, and if a mismatch occurs, it fails. This result is passed to the component relation diagram editor 63 and stored in the test result column of the component header (test scenario list name) of the program parts database 70 via the component manager 62.

次に、本発明の要部となるコンポーネントの変形処理機能を説明する。本実施の形態では、主としてコンポーネント関連図エディタ64とマクロ・プロセッサ63が、変形処理機能を実現する。入力メニューリストML中の「変形」が選択された場合、コンポーネント関連図エディタ64は、指定されたコンポーネントを認識し、そのコンポーネントのコンポーネントヘッダをコンポーネント・マネージャ62を介してプログラム部品データベース70より取得する(S1)。次いで、該当コンポーネントの特性選択データを(ユーザに選択要求し)、プログラム部品データベース70より取り出す(S2)。すなわち、コンポーネントヘッダに格納された「実現している特性のリスト」に基づき、当該コンポーネント(資産プログラム部品)が有している特性選択データ(特定アプリケーション用プログラム部品を生成するためのマクロへの入力パラメータ)を表示装置にリスト表示し、ユーザにマニュアルで指定させる。   Next, a deformation processing function of a component that is a main part of the present invention will be described. In the present embodiment, the component relation diagram editor 64 and the macro processor 63 mainly realize the deformation processing function. When “transformation” in the input menu list ML is selected, the component relation diagram editor 64 recognizes the specified component and acquires the component header of the component from the program parts database 70 via the component manager 62. (S1). Next, the characteristic selection data of the corresponding component (selection request from the user) is extracted from the program parts database 70 (S2). That is, based on the “realized characteristics list” stored in the component header, the characteristic selection data (input to the macro for generating the program part for the specific application) that the component (asset program part) has Parameter) is displayed in a list on the display device, and the user manually designates it.

次いで、資産プログラム部品のマクロ処理を実行する(S3)。すなわち、ユーザから指定された特性選択データに対応した特定アプリケーション用プログラム部品を生成する。続いて、資産プログラム部品に関連する付属データの変形処理を行なう。つまり、ユーザから指定された特性選択データに基づき、マニュアルのマクロ処理を実行し、コンポーネントのマニュアル(マクロ記述組み込み)に対してマクロ処理を実行し、処理ステップS3を実行して生成された特定アプリケーション用プログラム部品のための部品リファレンスマニュアルを作成する(S4)。   Next, macro processing of the asset program part is executed (S3). That is, a program component for a specific application corresponding to the characteristic selection data designated by the user is generated. Subsequently, a modification process of the attached data related to the asset program part is performed. That is, based on the characteristic selection data designated by the user, the manual macro processing is executed, the macro processing is executed for the component manual (embedding the macro description), and the specific application generated by executing the processing step S3. A component reference manual for the program program component is created (S4).

同様に、上記の特定アプリケーション用プログラム部品に対応したテストシナリオを取り出し(S5)、さらに、特定アプリケーション用プログラム部品に対応した3Dモデルの取り出しを行なう(S6)。   Similarly, a test scenario corresponding to the specific application program part is extracted (S5), and a 3D model corresponding to the specific application program part is extracted (S6).

処理ステップS3の資産プログラム部品のマクロ処理は、具体的には、図19に示すフローチャートを実行する。すなわち、マクロ・プロセッサ63は、コンポーネント関連図エディタ64から取得した情報(処理対象の資産プログラム部品及び特性選択データ(マクロへの入力パラメータ))に従い、以下に示す各処理ステップを実行する。まず資産プログラム部品を格納しているファイルをオープンし(S11)、新しい特定アプリケーション用プログラム部品を格納するファイルを新規作成する(S12)。   Specifically, the macro process of the asset program part in the processing step S3 executes the flowchart shown in FIG. That is, the macro processor 63 executes the following processing steps according to the information acquired from the component relation diagram editor 64 (the asset program part to be processed and the characteristic selection data (input parameters to the macro)). First, a file storing asset program parts is opened (S11), and a new file storing program parts for a specific application is created (S12).

次いで、資産プログラム部品を先頭行から順にスキャンを実行し(S13)、ファイルの終わりか否かを判断する(S14)。ファイルの終わりでない場合(S14でNo)には、マクロ処理が行なわれているか否かを判断する(S15)。マクロ処理が行なわれていなければ(S15でNo)、資産プログラム部品から特定アプリケーション用プログラム部品に、スキャンした現在の処理対象の行を単純コピーし(S16)、処理ステップS13に戻り資産プログラム部品の次の行のスキャンを実行する。   Next, the asset program parts are scanned sequentially from the first line (S13), and it is determined whether or not the end of the file is reached (S14). If it is not the end of the file (No in S14), it is determined whether macro processing is being performed (S15). If the macro process is not performed (No in S15), the scanned current line to be processed is simply copied from the asset program part to the specific application program part (S16), and the process returns to process step S13 to return the asset program part. Perform the next line scan.

一方、スキャンした行にマクロ処理がある場合(S15でYes)、そのマクロ命令を取り出し(S18)、その取り出されたマクロ命令の種類の判別が行われる(S19)。このとき、同図においては、必要な回路を行単位で取り出す(S20)、回路を行単位でコピーする(S21)、及び命令をAND接続でコピーする(S22)の3つが記載されているが、これらはマクロ命令の一例に過ぎず、様々なマクロ命令の種類の判別を実行する。処理ステップS20の行単位の取り出しは、換言すると、不要な回路がコピーされず、削除されることになる(図7,図8参照)。処理ステップS21の必要な回路の行単位のコピーとは、資産プログラム部品中に記述された回路(基本回路)を複数並列に記述することで、たとえば、その基本回路が1つのロボットアームの動作を制御するものの場合、実際の制御対象の装置では、同一のロボットアームが複数個存在するような場合に用いる。また、処理ステップS22の命令をAND回路接続でコピーとは、たとえば資産プログラム部品中に記述された命令は、1つのセンサに対応する1つの接点で、特定アプリケーション用プログラム部品では、その接点を複数個AND接続した回路で記述するものがある。具体的には、その接点がONすると動作が開始(OFFだと停止)するような場合、実際の制御対象の装置には、複数箇所にセンサを設置し、その複数のセンサの全てがONを条件に動作し、1つのセンサでもOFFになると動作を停止するような場合に用いる。   On the other hand, if the scanned line has macro processing (Yes in S15), the macro instruction is extracted (S18), and the type of the extracted macro instruction is determined (S19). At this time, in the figure, three circuits are described: a necessary circuit is taken out in units of rows (S20), a circuit is copied in units of rows (S21), and an instruction is copied by AND connection (S22). These are merely examples of macro instructions, and various types of macro instructions are determined. In the process step S20, the extraction in units of rows means that unnecessary circuits are not copied but deleted (see FIGS. 7 and 8). The line-by-line copy of the necessary circuit in the processing step S21 means that a plurality of circuits (basic circuits) described in the asset program part are described in parallel. For example, the basic circuit can operate one robot arm. In the case of what is to be controlled, this is used when there are a plurality of identical robot arms in the actual device to be controlled. In addition, copying the instruction in the processing step S22 by AND circuit connection means that, for example, the instruction described in the asset program part is one contact corresponding to one sensor, and the program part for the specific application includes a plurality of the contacts. Some are described as individual AND-connected circuits. Specifically, when the operation starts when the contact is turned on (stops when the contact is turned off), the actual device to be controlled is provided with sensors at a plurality of locations, and all of the plurality of sensors are turned on. It is used when operating according to conditions and stopping operation when even one sensor is turned off.

特定アプリケーション用プログラム部品ファイルに一連の処理を書き出した(S23)後、処理ステップS13に戻り資産プログラム部品の次の行のスキャンを実行する。そして、スキャンした結果、ファイルの終わりの場合には、処理ステップS14の分岐判断がYesとなるので、資産プログラム部品ファイル、特定アプリケーション用プログラム部品ファイルをクローズし、処理を終える(S17)。   After writing a series of processes in the specific application program part file (S23), the process returns to the process step S13 to scan the next line of the asset program part. If the end of the file is found as a result of the scan, the branch determination in processing step S14 is Yes, so the asset program part file and the specific application program part file are closed, and the process ends (S17).

また、上記の図19を実行して実現される機能は、主として1つの資産プログラム部品からマクロ処理を実行して特性選択データにより規定される1つの特定アプリケーション用プログラム部品を生成するものである。指定したコンポーネントについて、関連する子のコンポーネントが存在する場合(図17で「ワーク搬入部」が選択された場合、その子のコンポーネントとして「供給部」と「ロードアーム」が存在している)、たとえば、図20に示すフローチャートを実行することで、子のコンポーネントまで考慮した1つのプログラム部品を生成することができる。   Further, the function realized by executing FIG. 19 described above is to execute macro processing mainly from one asset program part to generate one specific application program part defined by the characteristic selection data. For the specified component, when there are related child components (when “work loading section” is selected in FIG. 17, “supply section” and “load arm” exist as the child components), for example, By executing the flowchart shown in FIG. 20, it is possible to generate one program part considering even the child components.

すなわち、まず該当コンポーネント、およびそれに関連する子のコンポーネントのリストを作成する(S51)。このリストの作成は、コンポーネントヘッダの関連コンポーネントリストに基づいて作成できる。そして、上記リストに従い、「プログラム部品データベース70」より、個々の「資産プログラム部品」のファイルを取り出す(S52)。   That is, first, a list of the corresponding component and its related child components is created (S51). This list can be created based on the related component list in the component header. Then, in accordance with the above list, each “asset program part” file is extracted from the “program part database 70” (S52).

その後、指定された該当特性選択データ(マクロへの入力パラメータ)を用いてマクロ・プロセッサ63にてマクロ処理を行い、「資産プログラム部品」を「特定アプリケーション用プログラム部品」に変換する(S53)。ここで、該当特性選択データは、指定されたコンポーネントはもちろんのこと、子のコンポーネントが存在する場合には、その子のコンポーネントについての特性選択データも含まれる。換言すると、S2におけるユーザの選択に伴い取り出された特性選択データは、子のコンポーネントについても指定され、取り出される。この処理ステップS53のマクロ処理が、図19に示すフローチャートを実行する。そして、個々の「特定アプリケーション用プログラム部品73」のファイルを合成し、1つのプログラムファイルとする(S54)。   Thereafter, macro processing is performed by the macro processor 63 using the designated characteristic selection data (input parameters to the macro) to convert “asset program parts” into “specific application program parts” (S53). Here, the corresponding characteristic selection data includes not only the specified component but also the characteristic selection data for the child component when there is a child component. In other words, the characteristic selection data extracted in accordance with the user's selection in S2 is also specified for the child component and extracted. The macro process in step S53 executes the flowchart shown in FIG. Then, the files of the individual “specific application program parts 73” are combined into one program file (S54).

このようにして、特定アプリケーション用プログラム部品に基づくそのコンポーネントについてのプログラムファイルが生成される。つまり、子のコンポーネントが存在しない場合には、特定アプリケーション用プログラム部品は元々指定された1つのコンポーネントから生成された1つの特定のアプリケーション用プログラム部品からなるプログラムファイルで構成されるが、子のコンポーネントが存在する場合には、各コンポーネントに基づく特定アプリケーション用プログラム部品を合成し、1つのプログラムファイルを生成する。このプログラムファイルに基づいて、上述した単体テストが実行される。   In this way, a program file for the component based on the program component for the specific application is generated. That is, when there is no child component, the specific application program part is composed of a program file composed of one specific application program part generated from the originally specified one component. If there exists a program component for a specific application based on each component, one program file is generated. Based on the program file, the unit test described above is executed.

処理ステップS4のマニュアルのマクロ処理の具体的な処理アルゴリズムは、図21に示すフローチャートを実行するようになっている。すなわち、マクロ・プロセッサ63は、コンポーネント関連図エディタ64から取得したコンポーネントヘッダで指定されたマニュアル(マクロ記述付き)の原本ファイルをオープンし(S31)、新しい特定アプリケーション用のマニュアルファイルを新規作成する(S32)。   A specific processing algorithm of the manual macro processing in the processing step S4 executes the flowchart shown in FIG. That is, the macro processor 63 opens the original file (with macro description) specified in the component header acquired from the component relation diagram editor 64 (S31), and creates a new manual file for a specific application (S31). S32).

次いで、原本マニュアルファイルを先頭から順にスキャン実行し(S33)、ファイルの終わりか否かを判断する(S34)。ファイルの終わりでない場合(S34でNo)には、マクロ処理が行なわれているか否かを判断する(S35)。マクロ処理が行なわれていなければ(S35でNo)、原本マニュアルファイルから特定アプリケーション用のマニュアルフィルに、スキャンした現在の処理対象の行を単純コピーし(S36)、処理ステップS33に戻り原本マニュアルファイルの次の行のスキャンを実行する。   Next, the original manual file is scanned in order from the top (S33), and it is determined whether or not the end of the file is reached (S34). If it is not the end of the file (No in S34), it is determined whether macro processing is being performed (S35). If the macro processing is not performed (No in S35), the scanned current line is simply copied from the original manual file to the manual fill for the specific application (S36), and the process returns to the processing step S33 to return to the original manual file. Perform a scan of the next line of.

一方、スキャンした行にマクロ処理がある場合(S35でYes)、そのマクロ命令を取り出し(S38)、その取り出されたマクロ命令の種類の判別が行われる(S39)。このとき、同図においては、必要な文を行単位で取り出す(S40)及び単語を置換する(S41)の2つが記載されているが、これらはマクロ命令の一例に過ぎず、様々なマクロ命令の種類の判別を実行する。処理ステップS40の行単位の取り出しは、換言すると、不要な文がコピーされず、削除されることになる(図13参照)。処理ステップS41の単語を置換とは、例えば、入力機器・出力機器の商品名・型番の置換や、設置数の数値の置換などがある。   On the other hand, if the scanned line has macro processing (Yes in S35), the macro instruction is extracted (S38), and the type of the extracted macro instruction is determined (S39). At this time, in the figure, two sentences, that is, fetching a necessary sentence line by line (S40) and replacing a word (S41) are described, but these are merely examples of macro instructions, and various macro instructions Perform type discrimination. In the extraction of the line unit in the processing step S40, in other words, unnecessary sentences are not copied but deleted (see FIG. 13). The word replacement in the processing step S41 includes, for example, replacement of the product name / model number of the input device / output device, replacement of the numerical value of the number of installations, and the like.

特定アプリケーション用のマニュアルファイルに一連の処理を書き出した(S23)後、処理ステップS33に戻り原本マニュアルファイルの次の行のスキャンを実行する。そして、スキャンした結果、ファイルの終わりの場合には、処理ステップS14の分岐判断がYesとなるので、原本マニュアルファイル、特定アプリケーション用のマニュアルファイルをクローズし、処理を終える(S37)。このようにして生成された特定アプリケーション用マニュアル74は、例えば表示装置に表示したり、所定の記憶装置に格納したり、プリントアウトするなどして利用される。   After writing a series of processes in the manual file for the specific application (S23), the process returns to the processing step S33 to scan the next line of the original manual file. If the end of the file is found as a result of scanning, the branching determination in processing step S14 is Yes, so the original manual file and the manual file for the specific application are closed, and the process ends (S37). The specific application manual 74 generated in this way is used, for example, by being displayed on a display device, stored in a predetermined storage device, or printed out.

処理ステップS5の特定アプリケーション用プログラム部品に対応したテストシナリオの取り出し処理の具体的な処理アルゴリズムは、図22に示すフローチャートを実行するようになっている。すなわち、コンポーネント関連図エディタ64は、コンポーネント・マネージャ62を介してプログラム部品データベース70に格納された該当コンポーネントヘッダより、テストシナリオリストを取得する(S61)。このとき、子のコンポーネントが存在する場合には、その子のコンポーネントに対するテストシナリオも取得するとよい。そして、取得したテストシナリオリストから、該当特性選択データと適合するテストシナリオ名を抽出する(S62)。すなわち、図15(a)に示すように、コンポーネントヘッダのテストシナリオリスト名の欄には、適合特性選択データ名が記述されているため、指定された特性選択データと一致するテストシナリオファイル名をすべて抽出し、取得することができる。   A specific processing algorithm of the test scenario extraction processing corresponding to the program component for the specific application in the processing step S5 executes the flowchart shown in FIG. That is, the component relation diagram editor 64 acquires a test scenario list from the corresponding component header stored in the program parts database 70 via the component manager 62 (S61). At this time, if a child component exists, a test scenario for the child component may be acquired. Then, from the acquired test scenario list, a test scenario name that matches the corresponding characteristic selection data is extracted (S62). That is, as shown in FIG. 15A, the test scenario list name column of the component header describes the compatible characteristic selection data name, so that the test scenario file name that matches the specified characteristic selection data is displayed. All can be extracted and acquired.

コンポーネント関連図エディタ64は、抽出した「指定された特性選択データと一致するテストシナリオファイル名」を候補テストシナリオとして表示画面に表示し、ユーザに対して今回実行するテストシナリオの選択を促す(S63)。そして、ユーザが選択したならば、その選択されたテストシナリオ名に対応するテストシナリオのファイルを取得する(S64)。   The component relation diagram editor 64 displays the extracted “test scenario file name matching the specified characteristic selection data” on the display screen as a candidate test scenario, and prompts the user to select a test scenario to be executed this time (S63). ). If the user selects it, a test scenario file corresponding to the selected test scenario name is acquired (S64).

なお、コンポーネント関連図エディタ64は、上記の処理ステップS63,S64を実行して取得した該当するテストシナリオを単体テストツール71に渡したり、所定の記憶手段に格納したりする。単体テストツール71は、取得したテストシナリオと、マクロ・プロセッサ63が生成した特定アプリケーション用プログラム部品に基づいて、PLCシミュレータ72を操作しつつテストを実行する。   The component relation diagram editor 64 passes the corresponding test scenario acquired by executing the above-described processing steps S63 and S64 to the unit test tool 71 or stores it in a predetermined storage means. The unit test tool 71 executes a test while operating the PLC simulator 72 based on the acquired test scenario and the program component for the specific application generated by the macro processor 63.

処理ステップS6の特定アプリケーション用プログラム部品に対応した3Dモデルの取り出し処理の具体的な処理アルゴリズムは、図23に示すフローチャートを実行するようになっている。すなわち、コンポーネント関連図エディタ64は、コンポーネント・マネージャ62を介してプログラム部品データベース70に格納された該当コンポーネントヘッダより、3Dモデルリストを取得する(S71)。このとき、子のコンポーネントが存在する場合には、その子のコンポーネントに対する3Dモデルリストも取得するとよい。そして、取得した3Dモデルリストから、該当特性選択データと適合する3Dモデル名を抽出する(S72)。すなわち、図15(b)に示すように、コンポーネントヘッダの3Dモデルリスト名の欄には、適合特性選択データ名が記述されているため、指定された特性選択データと一致する3Dモデル名をすべて抽出し、取得することができる。   A specific processing algorithm of the 3D model extraction processing corresponding to the program component for the specific application in the processing step S6 executes the flowchart shown in FIG. That is, the component relation diagram editor 64 acquires the 3D model list from the corresponding component header stored in the program parts database 70 via the component manager 62 (S71). At this time, if a child component exists, a 3D model list for the child component may be acquired. Then, from the acquired 3D model list, a 3D model name matching the corresponding characteristic selection data is extracted (S72). That is, as shown in FIG. 15B, since the compatible characteristic selection data name is described in the 3D model list name column of the component header, all 3D model names that match the specified characteristic selection data are displayed. Can be extracted and acquired.

コンポーネント関連図エディタ64は、抽出した指定された特性選択データと一致する3Dモデル名を候補3Dモデルとして表示画面に表示し、ユーザに対して今回実行するシミュレーションで使用する3Dモデルの選択を促す(S73)。そして、ユーザが選択したならば、その選択された3Dモデル名に対応する3Dモデルを取得する(S74)。   The component relation diagram editor 64 displays the 3D model name that matches the extracted specified characteristic selection data on the display screen as a candidate 3D model, and prompts the user to select a 3D model to be used in the simulation to be executed this time ( S73). If the user selects, a 3D model corresponding to the selected 3D model name is acquired (S74).

なお、コンポーネント関連図エディタ64は、上記の処理ステップS73,S74を実行して取得した該当する3Dモデルを単体テストツール71に渡したり、所定の記憶手段に格納する。単体テストツール71は、取得した3Dモデルに基づいて3Dシミュレータ75を操作し、制御対象の装置の動作を3D表示させる。   The component relation diagram editor 64 passes the corresponding 3D model acquired by executing the above processing steps S73 and S74 to the unit test tool 71 or stores it in a predetermined storage means. The unit test tool 71 operates the 3D simulator 75 based on the acquired 3D model to display the operation of the device to be controlled in 3D.

なお、上述した実施の形態では、コンポーネントに関連づけて格納された資産プログラムと、その付属データの全てを一括して変形処理するようにしたが、本発明はこれに限ることはなく、資産プログラム部品とは別に、付属データのみを一括して全て変形処理するようにしても良いし、付属データの中の指定した一部のデータに対して変形処理するようにしても良い。この場合、例えば、図17に示す入力メニューリストMLにて「変形」が選択された場合、変形対象の付属データを選択するメニュー画面を表示させ、ユーザから選択された付属データについてのみ上述した変形処理をすることで対応できる。   In the above-described embodiment, the asset program stored in association with the component and all of the attached data are deformed collectively. However, the present invention is not limited to this, and the asset program component Separately, only the attached data may be transformed all at once, or a part of the designated data in the attached data may be transformed. In this case, for example, when “deformation” is selected in the input menu list ML shown in FIG. 17, a menu screen for selecting the additional data to be deformed is displayed, and the above-described modification is performed only for the additional data selected by the user. This can be handled by processing.

製品の共通性と差異性との分析を説明する図である。It is a figure explaining the analysis of the commonality and difference of a product. アプリケーションの一形態である検査装置の構造を示す図である。It is a figure which shows the structure of the test | inspection apparatus which is one form of an application. 検査装置における特性のバリエーションを表形式で示した図である。It is the figure which showed the variation of the characteristic in an inspection apparatus with a table form. コンポーネントの全体構成図である。It is a whole block diagram of a component. オプションコンポーネントを説明する図である。It is a figure explaining an option component. 代替コンポーネントを説明する図である。It is a figure explaining an alternative component. オプションコンポーネントを記述するファンクションブロックの一例を示す図である。It is a figure which shows an example of the function block which describes an option component. 代替コンポーネントを記述するファンクションブロックの一例を示す図である。It is a figure which shows an example of the function block which describes an alternative component. 特性モデルの全体図である。It is a whole figure of a characteristic model. 特性モデルにおいて、オプションコンポーネントと代替コンポーネントの選択状態を示す図である。It is a figure which shows the selection state of an option component and an alternative component in a characteristic model. 本発明の一実施の形態を示す図である。It is a figure which shows one embodiment of this invention. プログラム部品データベースに格納される情報の一例を示す図である。It is a figure which shows an example of the information stored in a program components database. プログラム部品データベース70に格納される原本マニュアル(マクロ記述付)と、それに基づいて生成される特定のアプリケーション用プログラム部品に対応したマニュアルを示す図である。It is a figure which shows the manual corresponding to the program part for specific application generated based on the original manual (with macro description) stored in the program part database. コンポーネントヘッダのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a component header. コンポーネントヘッダのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of a component header. マクロ処理の作用・原理を説明する図である。It is a figure explaining the effect | action and principle of a macro process. コンポーネント関連図エディタにおける表示画面の一例を示す図である。It is a figure which shows an example of the display screen in a component related figure editor. 変形処理機能の一例を示すフローチャートの一部である。It is a part of flowchart which shows an example of a deformation | transformation process function. 図18のS3の具体的な処理手順を示すフローチャートである。It is a flowchart which shows the specific process sequence of S3 of FIG. 特定アプリケーション用プログラム部品の生成処理機能を示すフローチャートである。It is a flowchart which shows the production | generation process function of the program component for specific applications. 図18のS4の具体的な処理手順を示すフローチャートである。It is a flowchart which shows the specific process sequence of S4 of FIG. 図18のS5の具体的な処理手順を示すフローチャートである。It is a flowchart which shows the specific process sequence of S5 of FIG. 図18のS6の具体的な処理手順を示すフローチャートである。It is a flowchart which shows the specific process sequence of S6 of FIG.

符号の説明Explanation of symbols

50 ドメイン支援分析ツール
51 特性モデルエディタ
52 製品の特性情報
60 プログラム部品管理ソフトウェア
60 プログラム管理ツール
61 プロダクト・パラメータ・マネージャ
62 コンポーネント・マネージャ
63 マクロ・プロセッサ
64 コンポーネント関連図エディタ
65 コンポーネント・エディタ
66 ワークメモリ
67 マクロへの入力パラメータ(特性選択データ)
68 資産プログラム部品(マクロ記述済み)
70 プログラム部品データベース
71 単体テストツール
72 PLCシミュレータ
73 特定アプリケーション用プログラム部品
75 3Dシミュレータ
50 domain support analysis tool 51 characteristic model editor 52 product characteristic information 60 program part management software 60 program management tool 61 product parameter manager 62 component manager 63 macro processor 64 component relation diagram editor 65 component editor 66 work memory 67 Input parameters to macro (characteristic selection data)
68 Asset program parts (macro description completed)
70 Program Parts Database 71 Unit Test Tool 72 PLC Simulator 73 Program Part 75 for Specific Application 75 3D Simulator

Claims (5)

あらかじめ予期されている変化点をマクロ記述として含む資産プログラム部品と、その資産プログラム部品に関する汎用性のあるマニュアルと、を関連づけて記憶するプログラム部品記憶手段と、
前記資産プログラム部品に基づいて特定のアプリケーション用プログラム部品を生成する際に与えるマクロ記述への入力パラメータと同じ入力パラメータを用いて前記汎用性のあるマニュアルを変形処理し、前記特定のアプリケーション用プログラム部品用の専用マニュアルを生成する変形処理手段と、
を備え、
前記汎用性のあるマニュアルは、マクロ記述が含まれており、前記変形処理手段は当該マクロ記述の部分をマクロ処理を実行して前記専用マニュアルを生成する機能を含むことを特徴とするプログラム部品の付属データ生成装置。
A program part storage means for storing an asset program part including the expected change point as a macro description and a general-purpose manual relating to the asset program part in association with each other;
Using the same input parameters as the input parameters to the macro description given when generating a specific application program part based on the asset program part, the general-purpose manual is transformed and the specific application program part Deformation processing means for generating a dedicated manual for
With
The general-purpose manual includes a macro description, and the transformation processing means includes a function for executing the macro processing on the portion of the macro description and generating the dedicated manual. Attached data generator.
前記プログラム部品記憶手段には、前記マニュアル以外の前記資産プログラムに関連する付属データも格納され、
前記変形処理手段は、前記資産プログラム部品に基づいて特定のアプリケーション用プログラム部品を生成する際に与えるマクロへの入力パラメータに基づき前記付属データを変形処理し、前記特定のアプリケーション用プログラム部品用の付属データを生成するものであることを特徴とする請求項1に記載のプログラム部品の付属データ生成装置。
The program part storage means also stores attached data related to the asset program other than the manual,
The transformation processing means transforms the attached data based on an input parameter to a macro given when generating a specific application program part based on the asset program part, and attaches the attached data for the specific application program part. The data generation apparatus for program parts according to claim 1, wherein the apparatus generates data.
前記付属データは、前記特定のアプリケーション用プログラム部品に対する入力条件および期待出力を時系列に記載したテストシナリオと、前記特定のアプリケーション用プログラム部品に対して入力を与えたときのその特定のアプリケーション用プログラム部品が制御対象とする装置の振る舞いを定義した3Dモデルと、のうちの少なくとも一方を含むものであることを特徴とする請求項2に記載のプログラム部品の付属データ生成装置。 The attached data includes a test scenario in which input conditions and expected outputs for the specific application program component are described in time series, and the specific application program when an input is given to the specific application program component. 3. The program part attached data generation apparatus according to claim 2, wherein the part includes at least one of a 3D model that defines the behavior of a device to be controlled. 前記資産プログラム部品の接続関係を示す関連図を表示装置に表示し、変形処理対象の資産プログラム部品を選択させる選択手段を備え、
その選択手段により選択された資産プログラム部品に関するデータを前記変形処理手段が変形処理するように構成したことを特徴とする請求項1から3のいずれか1項に記載のプログラム部品の付属データ生成装置。
Displaying a relation diagram showing the connection relationship of the asset program parts on a display device, comprising a selection means for selecting an asset program part to be transformed,
4. The program part ancillary data generation apparatus according to claim 1, wherein the modification processing unit performs transformation processing on data relating to the asset program part selected by the selection unit. .
前記資産プログラム部品から特定のアプリケーション用プログラム部品を生成する手段を備え、
前記特定のアプリケーション用プログラム部品の生成と、前記変形処理手段による変形処理を同期して実行するように構成したことを特徴とする請求項1から4のいずれか1項に記載のプログラム部品の付属データ生成装置。
Means for generating a program component for a specific application from the asset program component;
The program part attachment according to any one of claims 1 to 4, wherein the generation of the specific application program part and the deformation process by the deformation processing unit are executed synchronously. Data generator.
JP2005322669A 2005-11-07 2005-11-07 Attached data generator for program parts Active JP4609655B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005322669A JP4609655B2 (en) 2005-11-07 2005-11-07 Attached data generator for program parts

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005322669A JP4609655B2 (en) 2005-11-07 2005-11-07 Attached data generator for program parts

Publications (2)

Publication Number Publication Date
JP2007128455A JP2007128455A (en) 2007-05-24
JP4609655B2 true JP4609655B2 (en) 2011-01-12

Family

ID=38151029

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005322669A Active JP4609655B2 (en) 2005-11-07 2005-11-07 Attached data generator for program parts

Country Status (1)

Country Link
JP (1) JP4609655B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2838066A4 (en) * 2012-03-30 2015-12-23 Toshiba Kk Social-infrastructure control system, server, control device, control method, and program
JP2019219769A (en) * 2018-06-15 2019-12-26 富士ゼロックス株式会社 Information processing apparatus and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149874A (en) * 2000-11-07 2002-05-24 Ricoh Co Ltd System and method for providing electronic manual and server device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002149874A (en) * 2000-11-07 2002-05-24 Ricoh Co Ltd System and method for providing electronic manual and server device

Also Published As

Publication number Publication date
JP2007128455A (en) 2007-05-24

Similar Documents

Publication Publication Date Title
KR100744886B1 (en) Asadal : system for providing feature-oriented software product line engineering environment
US8788239B2 (en) Methods, apparatus and articles of manufacture to test batch configurations
KR20150005518A (en) Quick Processing System and Method for SMT Equipment
US20060089728A1 (en) Sequence program editing apparatus
CN106662857B (en) Control program maintenance device, control program maintenance method and program
US20050033457A1 (en) Simulation aid tools and ladder program verification systems
US20070150249A1 (en) Verification Operation Supporting System and Method of the Same
JP5498446B2 (en) Ladder program creation device and ladder program creation method
JP4488227B2 (en) Debugging method of control component having variability and debugging support apparatus
JP4609655B2 (en) Attached data generator for program parts
JP4379687B2 (en) Simulation support tool and ladder program verification system and program product
KR20190094779A (en) Automatically Generate Device for PLC Instruction Compiler Test-Case
JP4488231B2 (en) Program management device
EP3734379A1 (en) Method and system for generating control programs in a cloud computing environment
KR20070049126A (en) Asadal : system for providing feature-oriented software product line engineering environment
JP3666507B2 (en) Simulation support tool, ladder program verification system, test input ladder program generation method, and ladder program verification method
JP2007102359A (en) Macro program materializing high function component conversion of ladder program
JP2008165324A (en) Program creation support device
CN112204480B (en) Information processing apparatus and computer-readable recording medium
JP6566151B2 (en) System design support apparatus and system design support method
JP2010128908A (en) Information processing apparatus, control method for the same, and program
KR101767723B1 (en) Method for verifying plc instruction using ld program
JP3598732B2 (en) Configuration management method for distributed control system and data used for the method
Pinto et al. Generating Simulation Models From CAD-Based Facility Layouts
EP0528237A2 (en) A method for preparing control program and a preparing apparatus thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080313

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: 20100915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100928

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4609655

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150