[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5334124B2 - Information processing apparatus, control method thereof, and program - Google Patents

Information processing apparatus, control method thereof, and program Download PDF

Info

Publication number
JP5334124B2
JP5334124B2 JP2009272757A JP2009272757A JP5334124B2 JP 5334124 B2 JP5334124 B2 JP 5334124B2 JP 2009272757 A JP2009272757 A JP 2009272757A JP 2009272757 A JP2009272757 A JP 2009272757A JP 5334124 B2 JP5334124 B2 JP 5334124B2
Authority
JP
Japan
Prior art keywords
processing
item
source code
cpu
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009272757A
Other languages
Japanese (ja)
Other versions
JP2011118467A (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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions Inc
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 Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2009272757A priority Critical patent/JP5334124B2/en
Publication of JP2011118467A publication Critical patent/JP2011118467A/en
Application granted granted Critical
Publication of JP5334124B2 publication Critical patent/JP5334124B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily perform the parameter setting of a module for performing specific image processing in the case of creating a program for performing image processing, and to register a created program as a module available in the case of creating another program. <P>SOLUTION: In the case of creating an application program for performing image processing, a picture for making it possible to recognize an image processing result with each processing item included in the application program is prepared. In the case of performing the application program, the result of the image processing performed with each processing item when the application program is performed is displayed on the picture. Also, it is possible to register the created program as a custom module, and to perform efficient program creation by creating another application program by using the custom module. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は、画像の処理を行う情報処理装置、その制御方法、及びログラムに関し、特に画像処理を行うためのプログラムを作成する情報処理装置、その制御方法、及びログラムに関する。
The present invention relates to an information processing apparatus for processing image, the control method, and a program, particularly an information processing apparatus for creating a program for performing image processing, a control method, and a program.

従来、例えば、チップマウンターにおける基板や部品の位置決めや、出来上がった製品の検査などを目的として、カメラで撮影した検査対象の画像データを、一定のロジック(処理フロー)で画像処理する画像処理装置が広く用いられている。   2. Description of the Related Art Conventionally, for example, an image processing apparatus that performs image processing of image data to be inspected with a camera with a certain logic (processing flow) for the purpose of positioning a substrate or a component in a chip mounter or inspecting a finished product. Widely used.

このような用途の画像処理装置としては、例えば、予め決められた画像処理のロジックを搭載した汎用タイプの画像処理装置や、ユーザのニーズに合致するロジックをユーザ自身が構築することが可能な専用タイプの画像処理装置がある。   As such an image processing apparatus, for example, a general-purpose type image processing apparatus equipped with a predetermined image processing logic, or a dedicated user that can construct a logic that meets the user's needs. There are types of image processing devices.

ここで、汎用タイプの画像処理装置は、画像処理のロジックを新規に構築する必要がないため、実際の製造工程等への導入に際してユーザの労力はかからないが、ユーザのニーズを完全に満たすロジックであることは少ない。一方、専用タイプの画像処理装置は、ユーザのニーズを完全に満たす画像処理のロジックを構築することが可能であるが、そのために画像処理のロジックを都度開発する必要があるため、多大な開発労力と開発期間、更には多大なコストがかかるものであった。   Here, the general-purpose type image processing apparatus does not require the construction of a new image processing logic, so it does not require the user's labor when introducing it into an actual manufacturing process, etc., but the logic completely satisfies the user's needs. There are few. On the other hand, a dedicated type image processing apparatus can construct image processing logic that completely satisfies the user's needs. For this reason, it is necessary to develop the image processing logic each time, so a great amount of development effort is required. The development period and the cost were high.

そこで、従来、例えば下記の特許文献1に示すようなロジックの開発を効率化する技術が提案されている。具体的に、特許文献1では、ロジックを開発するコンピュータに予め複数の画像処理に係るモジュールを登録しておき、開発者が使用者のニーズに合致するモジュールを選択し、選択したモジュールに必要なパラメータを設定して、ソースコード化した上でオブジェクトコードを作成することにより、ロジックの開発を効率化するものである。   Therefore, conventionally, for example, a technique for improving the efficiency of logic development as shown in Patent Document 1 below has been proposed. Specifically, in Patent Document 1, a plurality of image processing modules are registered in advance in a computer that develops logic, the developer selects a module that meets the needs of the user, and is necessary for the selected module. By setting parameters and creating source code after creating source code, logic development is made more efficient.

特開2003−296112号公報JP 2003-296112 A

ここで、上述した専用タイプの画像処理装置においてロジックを構築する場合、通常、特定の画像処理を行うためのモジュールが複数用意されており、それらモジュールを組み合わせることによりロジックの構築が行われる。この場合、ある画像データに対しては理想的な結果を得る画像処理のロジック(処理フロー)であっても、画像処理対象の画像にはいろいろなものがあるため、全ての画像に対して目標とする結果が得られない可能性もある。そこで通常は、構築したロジックに含まれる、それぞれのモジュールのパラメータを変更したり、モジュールの順序を変更したり、更には新規のモジュールを追加したりして、試行錯誤を繰り返してロジックの調整を行う必要がある。また、判断処理結果に基づく分岐処理を含む場合や反復処理を含む場合には、判断のための閾値や反復回数などのパラメータについての調整も必要となる。   Here, when constructing logic in the above-described dedicated type image processing apparatus, usually, a plurality of modules for performing specific image processing are prepared, and logic is constructed by combining these modules. In this case, even if the image processing logic (processing flow) obtains an ideal result for a certain image data, there are various types of images to be processed. May not be obtained. Therefore, usually, the parameters of each module included in the constructed logic are changed, the order of modules is changed, and new modules are added, and the logic is adjusted by repeating trial and error. There is a need to do. In addition, when a branch process based on the determination process result is included or when an iterative process is included, it is necessary to adjust parameters such as a threshold for determination and the number of repetitions.

しかしながら、このようなモジュールの調整を行う場合、上述した特許文献1の技術では、その調整の都度、始めからモジュールを選択しパラメータを設定するといった作業を行うことが必要になり、開発者が負荷の大きい作業を行わなければならないといった問題がある。   However, when such a module adjustment is performed, in the technique of the above-described Patent Document 1, it is necessary to perform an operation of selecting a module from the beginning and setting a parameter every time the adjustment is performed. There is a problem that a large work must be done.

また、構築したロジックにおいて、組み合わされた複数のモジュールのうちのどのモジュールについて、パラメータや順序の変更を行うのか、或いは新規にモジュールを追加することで調整を行うのか、即ち、調整対象となるモジュールを特定する必要がある。   In addition, in the constructed logic, which module of the combined modules is to be changed by changing parameters and order, or by adding a new module, that is, the module to be adjusted Need to be identified.

しかしながら、上述した特許文献1の技術では、構築したロジックにおいては処理フローの途中のモジュールの処理結果が不明で最終的な処理結果しか分からないため、調整対象となるモジュールを特定するためには、やはり、開発者が負荷の大きい作業を行わなければならないといった問題がある。   However, in the technique of Patent Document 1 described above, in the constructed logic, the processing result of the module in the middle of the processing flow is unknown and only the final processing result is known, so in order to specify the module to be adjusted, After all, there is a problem that the developer has to perform a heavy work.

特に、分岐処理や反復処理を含む場合には、それらの分岐判断のための閾値や反復回数などのパラメータを調整するべきか、前後の処理のパラメータや順序を調整するべきかの判断が必要になる。しかし上述した特許文献1の技術では、最終的な処理結果しか分からないため、結局は試行錯誤による調整が必要になったり、あるいは調整のための特別なプログラムを作成する必要があったりと、やはり、開発者が負荷の大きい作業を行わなければならないといった問題があった。   In particular, when branching or iterative processing is included, it is necessary to determine whether to adjust parameters such as the threshold and the number of iterations for branching judgment, or to adjust the parameters and order of preceding and following processing. Become. However, in the technique of Patent Document 1 described above, since only the final processing result is known, after all, adjustment by trial and error is necessary, or it is necessary to create a special program for adjustment. There was a problem that the developer had to perform a heavy work.

さらに、分岐処理のあと複数の処理を別々に行って、それぞれの処理結果を用いて次の処理を行う並列分岐処理を含む場合においても、並列分岐処理のモジュールのパラメータを調整すべきか、前後の処理自体を調整するべきかの判断が必要になるが、同様の問題があった。   Furthermore, even when the parallel processing includes the parallel processing in which a plurality of processes are separately performed after the branch processing and the next processing is performed using each processing result, the parameter of the parallel branch processing module should be adjusted, Although it is necessary to determine whether to adjust the processing itself, there is a similar problem.

また、ロジックの効率的な開発を行うためには、複数のモジュールを組み合わせて作成したロジックを新たなモジュールとして登録し、他のロジック作成を行えるようにすることが望ましい。   In order to efficiently develop logic, it is desirable to register logic created by combining a plurality of modules as a new module so that other logic can be created.

本発明は、このような問題点に鑑みてなされたものであり、アプリケーションプログラムに追加可能な処理アイテムを作成するためのソースコードの記述を支援すると共に、当該ソースコードを処理アイテムとして利用可能な、効率のよい画像処理のロジック構築により、画像処理を行うためのプログラムの作成支援を実現し得る仕組みを提供することを目的とする。
The present invention has been made in view of such problems, as well as support the description of the source code to create a process item can be added to the application program can utilize the source code as processing item Another object of the present invention is to provide a mechanism that can realize creation support of a program for performing image processing by constructing efficient image processing logic.

本発明の情報処理装置は、コンピュータに画像処理を行わせるためのアプリケーションプログラムを生成する情報処理装置であって、前記アプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段と、前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付手段と、前記受付手段での前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定手段と、前記受付手段で受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付手段で記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成手段と、前記生成手段で生成したアプリケーションプログラムを前記記憶手段に登録する登録手段と、前記登録手段で登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定手段で設定された表示領域に表示する表示制御手段と、を備え、前記登録手段は、前記生成手段で生成された処理アイテム前記受付手段で前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とする。
An information processing apparatus according to the present invention is an information processing apparatus that generates an application program for causing a computer to perform image processing, and implements a plurality of process items that can be added to the application program and processes related to the process items Storage means for associating and storing source code used for generating a program for performing , accepting designation of a processing item to be added to the application program from a selection screen for displaying the plurality of processing items, and the selection screen Accepting means for displaying the input screen for the user to describe the source code, including the basic part of the source code, and receiving the description of the source code including debugging information for debugging according to the instruction from the user in And the processing item in the receiving means The application program using a setting unit that sets a display area for displaying image data of an image processing result by the processing item according to a specified reception, and a source code corresponding to the processing item received by the receiving unit And generating means for generating a processing item by removing the debug information from the source code whose description has been received by the receiving means, and registration for registering the application program generated by the generating means in the storage means And display control means for displaying result image data as a result of performing processing relating to the processing item on the processing target image in the display area set by the setting means when executing the application program registered by the registration means. , wherein the registration means, processing generated by the generating means As the item is possible to specify the reception of the selection screen by said reception means, characterized in that it additionally registered in the storage means a process item to which the generated as addable process item to the application program.

本発明の情報処理装置の制御方法は、コンピュータに画像処理を行わせるためのアプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段を備え、前記アプリケーションプログラムを生成する情報処理装置の制御方法であって、前記情報処理装置の受付手段が、前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付ステップと、前記情報処理装置の設定手段が、前記受付ステップでの前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定ステップと、前記情報処理装置の生成手段が、前記受付ステップで受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付ステップで記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成ステップと、前記情報処理装置の登録手段が、前記生成ステップで生成したアプリケーションプログラムを前記記憶手段に登録する登録ステップと、前記情報処理装置の表示制御手段が、前記登録ステップで登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定ステップで設定された表示領域に表示する表示制御ステップと、を備え、前記登録ステップは、前記生成ステップで生成された処理アイテム前記受付ステップで前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とする。
A method for controlling an information processing apparatus according to the present invention includes a plurality of process items that can be added to an application program for causing a computer to perform image processing, and a source used to generate a program for realizing processing related to the process item An information processing apparatus control method that includes a storage unit that stores a code in association with each other, wherein the reception unit of the information processing apparatus displays the plurality of process items from a selection screen that displays the plurality of process items. Accepts the designation of process items to be added to the application program, and displays the input screen for the user to describe the source code, including the basic part of the source code, in accordance with instructions from the user on the selection screen, and debugs description of the source code, including the debug information for the A setting step of setting a display area in which image data of an image processing result by the processing item is displayed in response to the reception of the designation of the processing item in the reception step. Step, and the generation unit of the information processing apparatus generates the application program using the source code corresponding to the processing item received in the receiving step, and from the source code that receives the description in the receiving step, A generation step of generating a processing item by removing the debug information, a registration step of registering the application program generated in the generation step by the registration unit of the information processing device, The display control means registers the application registered in the registration step. During the execution of the Deployment program, and a display control step of displaying the resulting image data of the result of the process according to the process item in the display area set in said setting step for the processing target image, the registration step, The generated process item is additionally registered in the storage unit as a process item that can be added to the application program so that the process item generated in the generating step can be specified on the selection screen in the receiving step. It is characterized by doing.

本発明のプログラムは、コンピュータに画像処理を行わせるためのアプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段を備え、前記アプリケーションプログラムを生成する情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、前記情報処理装置を、前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付手段と、前記受付手段での前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定手段と、前記受付手段で受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付手段で記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成手段と、前記生成手段で生成したアプリケーションプログラムを前記記憶手段に登録する登録手段と、前記登録手段で登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定手段で設定された表示領域に表示する表示制御手段として機能させ、前記登録手段は、前記生成手段で生成された処理アイテム前記受付手段で前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とする。
The program of the present invention associates a plurality of process items that can be added to an application program for causing a computer to perform image processing, and source code used to generate a program for realizing the processing related to the process item. A storage means for storing the information processing apparatus, and a computer-readable program for causing the computer to execute a control method of the information processing apparatus for generating the application program, wherein the information processing apparatus includes the plurality of processing items . The specification of the processing item to be added to the application program is accepted from the selection screen to be displayed, and the input screen for the user to describe the source code is displayed based on the instruction from the user on the selection screen. Including and displaying A receiving means for receiving a description of a source code, including debugging information for grayed, depending on the reception of the specified the process item in the reception unit, a display area for displaying the image data of the image processing result by the processing item Generating the application program using the setting means for setting the source code and the source code corresponding to the processing item received by the receiving means, and removing the debug information from the source code receiving the description by the receiving means Generating means for generating a processing item , registration means for registering the application program generated by the generating means in the storage means, and the processing item for the processing target image when executing the application program registered by the registration means The result image data of the result of the processing related to To function as a display control means for displaying on the display area set by the setting means, said registration means so that the process item generated by the generating means is possible to specify the reception of the selection screen by said reception means, The generated process item is additionally registered in the storage unit as a process item that can be added to the application program.

本発明によれば、アプリケーションプログラムに追加可能な処理アイテムを作成するためのソースコードの記述を支援すると共に、当該ソースコードを処理アイテムとして利用可能な、効率のよい画像処理のロジックの構築を実現する仕組みを提供することが可能となる。
According to the present invention, it will support the description of the source code to create an additional possible process item in the application program, which can utilize the source code as processing item, the efficient image processing logic constructs It is possible to provide a mechanism to realize.

本発明の実施形態に係る画像処理システムの概略構成の一例を示す模式図である。1 is a schematic diagram illustrating an example of a schematic configuration of an image processing system according to an embodiment of the present invention. 図1に示す情報処理装置110の内部のハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions inside the information processing apparatus 110 shown in FIG. 図1に示す画像入力コントローラ115fのハードウェア構成の一例を示す模式図である。It is a schematic diagram which shows an example of the hardware constitutions of the image input controller 115f shown in FIG. 図1に示す情報処理装置110の機能構成の一例を示す模式図である。It is a schematic diagram which shows an example of a function structure of the information processing apparatus 110 shown in FIG. 図4に示すモジュール・ソースコードマスタテーブル411の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a module / source code master table 411 illustrated in FIG. 4. 図4に示す処理フロー・入出力パラメータテーブル412の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a processing flow / input / output parameter table 412 illustrated in FIG. 4. 図1に示す情報処理装置110による制御方法の処理手順の一例を示す模式図である。It is a schematic diagram which shows an example of the process sequence of the control method by the information processing apparatus 110 shown in FIG. 画像処理システム構築画面のメインメニューの一例を示す模式図である。It is a schematic diagram which shows an example of the main menu of an image processing system construction screen. 図4に示す処理フローメインテーブル418の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a processing flow main table 418 illustrated in FIG. 4. 図1に示す情報処理装置110による制御方法の処理手順の一例を示す模式図である。It is a schematic diagram which shows an example of the process sequence of the control method by the information processing apparatus 110 shown in FIG. 画像処理フロー構築画面の一例を示す模式図である。It is a schematic diagram which shows an example of an image processing flow construction screen. 図10のステップS207におけるモジュールの「新規追加処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of “new addition processing” of a module in step S207 of FIG. 図10のステップS209におけるモジュールの「変更処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of “modification processing” of a module in step S209 in FIG. パラメータ編集画面の一例を示す模式図である。It is a schematic diagram which shows an example of a parameter edit screen. 図10のステップS211におけるモジュールの「移動処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of a “move process” of a module in step S211 of FIG. 図10のステップS213におけるモジュールの「挿入処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart showing an example of a detailed processing procedure of “insertion processing” of a module in step S213 in FIG. 図10のステップS215におけるモジュールの「削除処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of “deletion processing” of a module in step S215 in FIG. 図10のステップS217におけるモジュールの「実行処理」の詳細な処理手順の一例を示すフローチャートである。11 is a flowchart illustrating an example of a detailed processing procedure of “execution processing” of a module in step S217 of FIG. 図10のステップS219におけるモジュールの「保存処理」の詳細な処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a detailed processing procedure of “save processing” of a module in step S219 of FIG. 条件式入力画面の一例を示す模式図である。It is a schematic diagram which shows an example of a conditional expression input screen. 図4に示す。条件式テーブル416の一例を示す模式図である。As shown in FIG. 5 is a schematic diagram illustrating an example of a conditional expression table 416. FIG. 分岐処理を含む処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence containing a branch process. 前回の設定値での処理結果画像比較ウィンドウの一例を示す。An example of the processing result image comparison window with the last set value is shown. 反復処理中の経過画像を表示するウィンドウの一例を示す。An example of the window which displays the progress image in the iterative process is shown. 「並列分岐処理」の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of a "parallel branch process." 図7のステップS111の「機器調整」処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the "apparatus adjustment" process of FIG.7 S111. 「画像保存」処理の詳細な処理手順の一例を示すフローチャートである。12 is a flowchart illustrating an example of a detailed processing procedure of “image storage” processing. 「機器調整」処理のウィンドウの一例を示す。An example of the window of “apparatus adjustment” processing is shown. ノード処理フラグテーブルの一例を示す模式図である。It is a schematic diagram which shows an example of a node process flag table. 図1に示す情報処理装置110による第2の実施例の制御方法の処理手順の一例を示す模式図である。It is a schematic diagram which shows an example of the process sequence of the control method of the 2nd Example by the information processing apparatus 110 shown in FIG. 図30のステップS221における「カスタムモジュール作成処理」の詳細な処理手順の一例を示すフローチャートである。32 is a flowchart illustrating an example of a detailed processing procedure of “custom module creation processing” in step S221 of FIG. 30. 図31のステップS1205の実行処理の詳細な処理手順の一例を示すフローチャートである。32 is a flowchart illustrating an example of a detailed processing procedure of an execution process in step S1205 of FIG. 31. カスタムモジュール作成画面のウィンドウの一例を示す。An example of a custom module creation screen window is shown. 図4に示すシステム情報テーブル419の一例を示す模式図である。FIG. 5 is a schematic diagram illustrating an example of a system information table 419 illustrated in FIG. 4. 図7のステップS109の「オンライン検査」処理の詳細な処理手順の一例を示すフローチャートである。8 is a flowchart showing an example of a detailed processing procedure of “online inspection” processing in step S109 of FIG. 図1に示す情報処理装置110による第3の実施例の制御方法の処理手順の一例を示す模式図である。It is a schematic diagram which shows an example of the process sequence of the control method of the 3rd Example by the information processing apparatus 110 shown in FIG. 画面作成処理で使用されるレイアウト画面の一例を示す模式図である。It is a schematic diagram which shows an example of the layout screen used by a screen creation process. 画面作成処理の一例を示すフローチャートである。It is a flowchart which shows an example of a screen creation process. 図38のステップS3805の新規ボタン追加処理の詳細を示すフローチャートである。FIG. 39 is a flowchart showing details of new button addition processing in step S3805 of FIG. 38. FIG. 図38のステップS3807の新規画面追加処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the new screen addition process of step S3807 of FIG. 図38のステップS3809の新規ボックス追加処理の詳細を示すフローチャートである。FIG. 39 is a flowchart showing details of new box addition processing in step S3809 of FIG. 38. FIG. 図38のステップS3811の変更・移動処理の詳細を示すフローチャートである。FIG. 39 is a flowchart showing details of the change / move process in step S3811 of FIG. 38. FIG. 図38のステップS3813の保存処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the preservation | save process of step S3813 of FIG. 画面レイアウトテーブルの一例を示す模式図である。It is a schematic diagram which shows an example of a screen layout table. ボタンコントロールテーブルの一例を示す模式図である。It is a schematic diagram which shows an example of a button control table. 画面コントロールテーブルの一例を示す模式図である。It is a schematic diagram which shows an example of a screen control table. ボックスコントロールテーブルの一例を示す模式図である。It is a schematic diagram which shows an example of a box control table.

以下、図面を参照しながら、本発明の実施の形態について説明する。図1は、本発明の実施の形態係る画像処理システム100の概略構成の一例を示す模式図である。図1に示す通り、画像処理システム100は、情報処理装置110と、入力装置120と、ディスプレイ装置130と、カメラ140と、照明装置コントローラ150と、照明装置160と、外部機器コントローラ170と、検査対象181が載置されたステージ180を有して構成されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a schematic diagram illustrating an example of a schematic configuration of an image processing system 100 according to an embodiment of the present invention. As shown in FIG. 1, the image processing system 100 includes an information processing device 110, an input device 120, a display device 130, a camera 140, a lighting device controller 150, a lighting device 160, an external device controller 170, and an inspection. It has a stage 180 on which an object 181 is placed.

情報処理装置110は、画像処理システム100における動作を統括的に制御する装置である。ここで、本実施形態においては、情報処理装置110は、実際の製造工程に導入される画像処理装置で動作する画像処理アプリケーションプログラムの開発を支援する装置として適用した例を説明するが、本発明においてはこれに限定されるわけではなく、たとえば、実際の製造工程に導入されている画像処理装置として適用する形態も本発明に含まれる。   The information processing apparatus 110 is an apparatus that comprehensively controls operations in the image processing system 100. Here, in the present embodiment, an example in which the information processing apparatus 110 is applied as an apparatus that supports development of an image processing application program that operates on an image processing apparatus introduced into an actual manufacturing process will be described. However, the present invention is not limited to this. For example, the present invention includes a form applied as an image processing apparatus introduced into an actual manufacturing process.

情報処理装置110は、所定のケーブル等を介して、検査対象181の撮像(撮影)を行うカメラ140と通信可能に構成されている。また、情報処理装置110は、所定のケーブル等を介して、照明装置160の制御を行う照明装置コントローラ150と通信可能に構成されている。また、情報処理装置110は、所定のケーブル等を介して、ステージ180を制御するプログラマブルコントローラ(PCL)などの外部機器コントローラ170と、あらかじめ設定した通信が可能に構成されている。さらに、情報処理装置110は、所定のケーブル等を介して、それぞれ、入力装置120およびディスプレイ装置130と通信可能に構成されている。すなわち、情報処理装置110は、所定のケーブル等を介して接続された、入力装置120、ディスプレイ装置130、カメラ140、照明装置コントローラ150および外部機器コントローラ170を制御することによって、画像処理システム100における動作を統括的に制御する。   The information processing apparatus 110 is configured to be able to communicate with a camera 140 that captures an image of the inspection target 181 via a predetermined cable or the like. Further, the information processing apparatus 110 is configured to be able to communicate with an illumination apparatus controller 150 that controls the illumination apparatus 160 via a predetermined cable or the like. The information processing apparatus 110 is configured to be able to communicate with an external device controller 170 such as a programmable controller (PCL) that controls the stage 180 via a predetermined cable or the like. Furthermore, the information processing device 110 is configured to be able to communicate with the input device 120 and the display device 130 via a predetermined cable or the like. In other words, the information processing apparatus 110 controls the input device 120, the display device 130, the camera 140, the lighting device controller 150, and the external device controller 170 connected via a predetermined cable or the like, so that the image processing system 100 includes the information processing device 110. Control the overall operation.

入力装置120は、例えばユーザが情報処理装置110に対して各種の指示の入力を行う際にユーザによって操作されるものであり、ユーザからの入力指示操作に従って、当該入力指示を情報処理装置110に対して入力するものである。この入力装置120は、例えば、キーボード(KB)やポインティングデバイス等で構成されている。   The input device 120 is operated by the user when the user inputs various instructions to the information processing apparatus 110, for example, and the input instruction is sent to the information processing apparatus 110 according to the input instruction operation from the user. In contrast, it is input. The input device 120 is composed of, for example, a keyboard (KB) and a pointing device.

ディスプレイ装置130は、情報処理装置110の制御に従って、各種の画像や各種の情報などを表示画面に表示する。   The display device 130 displays various images and various information on the display screen according to the control of the information processing device 110.

カメラ140は、情報処理装置110の制御に従って、ステージ180上に載置された検査対象181の撮影(撮像)を行い、撮影により得られた画像データを所定のケーブル等を介して情報処理装置110に送信する。   The camera 140 performs imaging (imaging) of the inspection object 181 placed on the stage 180 according to the control of the information processing apparatus 110, and the image data obtained by the imaging is processed via a predetermined cable or the like. Send to.

照明装置コントローラ150は、情報処理装置110の制御に従って、照明装置160の照明を制御する。照明装置160は、照明装置コントローラ150の制御に基づき、検査対象181における検査内容に応じて、当該検査対象181に対する照明の点灯/非点灯の切り替えや明るさの調整等を行う。   The lighting device controller 150 controls the lighting of the lighting device 160 according to the control of the information processing device 110. Based on the control of the lighting device controller 150, the lighting device 160 performs switching of lighting on / off of the lighting of the inspection target 181 and adjustment of brightness according to the inspection content of the inspection target 181.

外部機器コントローラ170は、情報処理装置110の制御に従って、ステージ180を制御する。ステージ180は、外部機器コントローラ170の制御に基づき、載置された検査対象181を目的の位置に移動させたり、検査対象181の搬入や搬出をしたりする。以上が画像処理システムの構成の一例の説明である。   The external device controller 170 controls the stage 180 according to the control of the information processing apparatus 110. The stage 180 moves the placed inspection object 181 to a target position and carries in or out the inspection object 181 based on the control of the external device controller 170. The above is an example of the configuration of the image processing system.

次に、情報処理装置110のハードウェア構成について説明する。図2は、図1に示す情報処理装置110のハードウェア構成の一例を示す模式図である。図2には、情報処理装置110の内部構成に加えて、当該情報処理装置110と接続される各種装置についても記載している。   Next, the hardware configuration of the information processing apparatus 110 will be described. FIG. 2 is a schematic diagram illustrating an example of a hardware configuration of the information processing apparatus 110 illustrated in FIG. In FIG. 2, in addition to the internal configuration of the information processing apparatus 110, various apparatuses connected to the information processing apparatus 110 are also described.

情報処理装置110は、図2に示すように、CPU111と、RAM112と、ROM113と、システムバス114と、各種のコントローラ115(115a〜115g)と、外部メモリ116と、を備えている。各種のコントローラ115として、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d、115e、及び115g、画像入力コントローラ115fが構成されている。CPU111は、ROM113或いは外部メモリ116に記憶されたプログラム等に基づいてシステムバス114に接続された各デバイスを制御して、情報処理装置110における動作を統括的に制御する。RAM112は、CPU111の主メモリ、ワークエリア等として機能する。CPU111は、処理の実行に際して、必要なプログラム等をRAM112にロードして、プログラムを実行することにより、情報処理装置110における各種の動作を実現する。ROM113には、CPU111の制御プログラムであるBIOS(Basic Input
/ Output System)等が記憶されている。
As illustrated in FIG. 2, the information processing apparatus 110 includes a CPU 111, a RAM 112, a ROM 113, a system bus 114, various controllers 115 (115 a to 115 g), and an external memory 116. As various controllers 115, an input controller 115a, a video controller 115b, a memory controller 115c, communication I / F controllers 115d, 115e, and 115g, and an image input controller 115f are configured. The CPU 111 controls each device connected to the system bus 114 based on a program or the like stored in the ROM 113 or the external memory 116 so as to comprehensively control the operation in the information processing apparatus 110. The RAM 112 functions as a main memory and work area for the CPU 111. The CPU 111 implements various operations in the information processing apparatus 110 by loading a necessary program or the like into the RAM 112 and executing the program when executing the processing. The ROM 113 has a BIOS (Basic Input) which is a control program of the CPU 111.
/ Output System) is stored.

システムバス114は、CPU111、RAM112、ROM113、入力コントローラ115a、ビデオコントローラ115b、メモリコントローラ115c、通信I/Fコントローラ115d及び115e、115g、画像入力コントローラ115fを、相互に通信可能に接続する。   The system bus 114 connects the CPU 111, RAM 112, ROM 113, input controller 115a, video controller 115b, memory controller 115c, communication I / F controllers 115d and 115e, 115g, and image input controller 115f so that they can communicate with each other.

入力コントローラ115aは、キーボード(KB)やポインティングデバイスなどからなる入力装置120からの入力を制御する。ビデオコントローラ115bは、表示装置であるディスプレイ装置130への表示を制御する。メモリコントローラ115cは、外部メモリ116へのアクセスを制御する。ここで、外部メモリ116は、例えばハードディスク(HD)やフレキシブルディスク(FD)等で構成され、ブートプログラムや、各種のアプリケーションプログラム、編集ファイル、各種のデータや各種の情報等を記憶する。また、外部メモリ116は、オペレーティングシステム(以下、「OS」とする)や、CPU111に後述する各種の処理を実行させるためのプログラム、当該プログラムの制御に従った処理を行う際に使用する各種のテーブルや各種の検査結果情報等も記憶する。   The input controller 115a controls input from the input device 120 including a keyboard (KB) and a pointing device. The video controller 115b controls display on the display device 130 which is a display device. The memory controller 115 c controls access to the external memory 116. Here, the external memory 116 is composed of, for example, a hard disk (HD) or a flexible disk (FD), and stores a boot program, various application programs, editing files, various data, various information, and the like. In addition, the external memory 116 is an operating system (hereinafter referred to as “OS”), a program for causing the CPU 111 to execute various processes described later, and various types used when performing processes according to the control of the programs. A table, various inspection result information, and the like are also stored.

通信I/Fコントローラ115dは、外部機器コントローラ170との通信を制御する。また、通信I/Fコントローラ115eは、照明装置コントローラ150との通信を制御する。画像入力コントローラ115fは、カメラ140と通信を行って、カメラ140から画像データの受信が可能に構成されている。ここで、画像入力コントローラ115fは、コントローラ上で演算処理が可能なハードウェアを搭載しているものであってもよい。なお、本実施形態では、カメラ140からの画像データの入力を前提に説明を行うが、画像ファイルを読み込んで入力する形態であってもよい。さらに、通信I/Fコントローラ115gは、ローカルエリアネットワーク(LAN)190等のネットワークに接続され、当該ネットワークに接続されている各種装置との通信を制御する。   The communication I / F controller 115d controls communication with the external device controller 170. Further, the communication I / F controller 115e controls communication with the lighting device controller 150. The image input controller 115 f is configured to be able to receive image data from the camera 140 by communicating with the camera 140. Here, the image input controller 115f may be equipped with hardware capable of performing arithmetic processing on the controller. In the present embodiment, the description is based on the assumption that image data is input from the camera 140, but an image file may be read and input. Further, the communication I / F controller 115g is connected to a network such as a local area network (LAN) 190, and controls communication with various devices connected to the network.

次に、図3を用いて、画像入力コントローラ115fのハードウェア構成について説明する。図3に示す通り、画像入力コントローラ115fは、CPU(演算チップ)301、メモリコントローラ302、入力コントローラ303、オンボードメモリ304を備えている。   Next, the hardware configuration of the image input controller 115f will be described with reference to FIG. As shown in FIG. 3, the image input controller 115 f includes a CPU (arithmetic chip) 301, a memory controller 302, an input controller 303, and an on-board memory 304.

CPU(演算チップ)301は、後述する各種の画像処理を実行する。メモリコントローラ302はCPU(演算チップ)301の制御に従って、オンボードメモリ304への各種データの入出力を制御する。入力コントローラ303はカメラ140からの画像データの入力を制御する。オンボードメモリ304はCPU(演算チップ)301の主記憶として機能する。以上が、画像入力コントローラ115fのハードウェア構成の説明である。   A CPU (arithmetic chip) 301 executes various image processing described later. The memory controller 302 controls the input / output of various data to the on-board memory 304 according to the control of the CPU (arithmetic chip) 301. An input controller 303 controls input of image data from the camera 140. The on-board memory 304 functions as a main memory of the CPU (arithmetic chip) 301. The above is the description of the hardware configuration of the image input controller 115f.

次に、情報処理装置110の機能構成の一例について説明する。図4は、図1に示す情報処理装置110の機能構成の一例を示す模式図である。   Next, an example of a functional configuration of the information processing apparatus 110 will be described. FIG. 4 is a schematic diagram illustrating an example of a functional configuration of the information processing apparatus 110 illustrated in FIG.

情報処理装置110には、図4に示すように、テーブル記憶部410、フロー作成部420、ソースコード変換部430、コンパイル部440、(検証)実行部450、データ保存部460、及び、データ入力・出力部470の各機能構成が構成される。また、テーブル記憶部410には、モジュール・ソースコードマスタテーブル411、処理フロー・入出力パラメータテーブル412、ソースコードテーブル413、オブジェクトコードテーブル414、及びプロジェクトファイルテーブル415が記憶されている。また、条件式テーブル416、ノード処理フラグテーブル417、及び、処理フローメインテーブル418、システム情報テーブル418も記憶されている。   As shown in FIG. 4, the information processing apparatus 110 includes a table storage unit 410, a flow creation unit 420, a source code conversion unit 430, a compilation unit 440, a (verification) execution unit 450, a data storage unit 460, and a data input Each functional configuration of the output unit 470 is configured. The table storage unit 410 stores a module / source code master table 411, a processing flow / input / output parameter table 412, a source code table 413, an object code table 414, and a project file table 415. In addition, a conditional expression table 416, a node processing flag table 417, a processing flow main table 418, and a system information table 418 are also stored.

ここで、本実施形態においては、図4のテーブル記憶部410が、例えば図2に示す外部メモリ116に構成される(一旦、RAM112に構成された後に外部メモリ116に構成される場合も含む)。また、図4のフロー作成部420、ソースコード変換部430、コンパイル部440、(検証)実行部450、データ保存部460及びデータ入力・出力部470が、例えば図2に示すCPU111と、ROM113或いは外部メモリ116に記憶されているプログラムと、から構成される。   Here, in the present embodiment, the table storage unit 410 of FIG. 4 is configured in the external memory 116 shown in FIG. 2, for example (including the case where it is configured once in the RAM 112 and then in the external memory 116). . Also, the flow creation unit 420, source code conversion unit 430, compilation unit 440, (verification) execution unit 450, data storage unit 460, and data input / output unit 470 of FIG. And a program stored in the external memory 116.

図5を参照して、図4のテーブル記憶部410に記憶されるモジュール・ソースコードマスタテーブル411について説明する。図5はモジュール・ソースコードマスタテーブル411の構成の一例を示す模式図である。   The module / source code master table 411 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 5 is a schematic diagram showing an example of the configuration of the module / source code master table 411.

図5に示すように、モジュール・ソースコードマスタテーブル411には、インデックス(Index)501ごとに、画像処理に係る処理アイテム502と、各処理アイテムに対応するソースコード503、またその処理アイテムを実現するためのモジュールに対する初期値504と処理主体505が関連付けられている。このソースコードは、ソースコード変換部430で処理対象のモジュールをソースコードに変換する際に用いられるものである。   As shown in FIG. 5, in the module / source code master table 411, for each index 501, a processing item 502 related to image processing, a source code 503 corresponding to each processing item, and the processing item are realized. An initial value 504 and a processing entity 505 for the module for doing so are associated. This source code is used when the source code conversion unit 430 converts a module to be processed into a source code.

次に、図6を参照して、図4のテーブル記憶部410に記憶される処理フロー・入出力パラメータテーブル412について説明する。図6は、図4に示す処理フロー・入出力パラメータテーブル412の構成の一例を示す模式図である。図6に示すように、処理フロー・入出力パラメータテーブル412は、インデックス(Index)601ごとに、画像処理に係るモジュール603と、各モジュール603の順序602と、各モジュール603のフロー登録名604と、各モジュール603における入力パラメータ605及び出力パラメータ606が関連付けられている。入力パラメータ605は、各モジュールで使用する各種のデータが格納される画像バッファや記憶領域等を示す。出力パラメータ606は、各モジュールが実行された際の結果画像バッファや各種の処理に用いた閾値等を記憶する記憶領域を示す。次ステップ607は、次に処理されるべきステップのインデックス(Index)601を示す。なお、この次ステップ607は、複数のインデックス(Index)を持つこともある。また、分岐参照608は、モジュール603に「反復処理」モジュール、「条件分岐処理」モジュールを設定した際に、各条件(ノード)が次にどのステップを処理するかを指定する条件式テーブルを示す。さらに、処理主体609は、各モジュールにおいて処理をCPU111と、画像入力コントローラ115fのCPU(演算チップ)301のどちらで行うかを示す項目である。   Next, the processing flow / input / output parameter table 412 stored in the table storage unit 410 of FIG. 4 will be described with reference to FIG. FIG. 6 is a schematic diagram showing an example of the configuration of the processing flow / input / output parameter table 412 shown in FIG. As shown in FIG. 6, the processing flow / input / output parameter table 412 includes, for each index 601, a module 603 relating to image processing, an order 602 of each module 603, and a flow registration name 604 of each module 603. The input parameter 605 and the output parameter 606 in each module 603 are associated with each other. An input parameter 605 indicates an image buffer, a storage area, or the like in which various data used by each module is stored. An output parameter 606 indicates a storage area for storing a result image buffer when each module is executed, a threshold value used for various processes, and the like. A next step 607 indicates an index 601 of a step to be processed next. The next step 607 may have a plurality of indexes. The branch reference 608 indicates a conditional expression table for designating which step is to be processed next by each condition (node) when the “iterative processing” module and the “conditional branch processing” module are set in the module 603. . Further, the processing main body 609 is an item indicating whether the processing is performed in each module by the CPU 111 or the CPU (arithmetic chip) 301 of the image input controller 115f.

なお、図6に示す処理フロー・入出力パラメータテーブル412におけるインデックス(Index)601と、図4に示すモジュール・ソースコードマスタテーブル411におけるインデックス(Index)とは特に対応させていないが、相互に対応させて各テーブルを作成する形態であってもよい。なお、処理フロー・入出力パラメータテーブルT600において、インデックス(Index)601の2および3は反復処理、処理フロー・入出力パラメータテーブルT601のインデックス(Index)601の2から4は条件分岐処理の一例である。   The index (Index) 601 in the processing flow / input / output parameter table 412 shown in FIG. 6 and the index (Index) in the module / source code master table 411 shown in FIG. In this case, each table may be created. In the processing flow / input / output parameter table T600, 2 and 3 of the index (Index) 601 are examples of iterative processing, and 2 to 4 of the index (Index) 601 of the processing flow / input / output parameter table T601 are examples of conditional branch processing. is there.

ソースコードテーブル413は、処理フロー・入出力パラメータテーブル412に記憶されているモジュール603について、ソースコード変換部430でモジュール・ソースコードマスタテーブル411を用いてソースコードに変換し登録している、全てのモジュール或いは一部のモジュールにおけるソースコードを記憶する。   The source code table 413 converts all the modules 603 stored in the processing flow / input / output parameter table 412 into source codes using the module / source code master table 411 and registers them. The source code in the module or a part of the modules is stored.

オブジェクトコードテーブル414は、ソースコードテーブル413に記憶されているソースコードをコンパイル部440で変換した、実行可能なモジュールであるオブジェクトコードを記憶する。プロジェクトファイルテーブル415は、画像処理に係る初期設定パラメータや、処理フローシーケンス、ソースコード、入出力パラメータ等を記憶する。また条件式テーブル416は、「条件分岐処理」モジュールが設定された際の、条件式等を記憶し、ノード処理フラグテーブル417は、「並列分岐処理」モジュールが設定された際の、呼び出し側のノード名等を記憶する。   The object code table 414 stores object code that is an executable module obtained by converting the source code stored in the source code table 413 by the compiling unit 440. The project file table 415 stores initial setting parameters relating to image processing, processing flow sequences, source codes, input / output parameters, and the like. In addition, the conditional expression table 416 stores a conditional expression or the like when the “conditional branch processing” module is set, and the node processing flag table 417 stores the conditional expression when the “parallel branch processing” module is set. Stores the node name and the like.

続いて、図4のフロー作成部420、ソースコード変換部430、コンパイル部440、実行部450、データ保存部460、及び、データ入力・出力部470について説明する。   Next, the flow creation unit 420, the source code conversion unit 430, the compilation unit 440, the execution unit 450, the data storage unit 460, and the data input / output unit 470 of FIG. 4 will be described.

フロー作成部420は、モジュール・ソースコードマスタテーブル411に含まれているモジュールの処理シーケンスを管理する処理フロー・入出力パラメータテーブル412の作成等と、処理フロー描画領域(後述する図11の1102)へのモジュールの描画を行う機能を有する。   The flow creation unit 420 creates a processing flow / input / output parameter table 412 for managing the processing sequence of modules included in the module / source code master table 411, and a processing flow drawing area (1102 in FIG. 11 described later). It has a function to draw a module in

ソースコード変換部430は、フロー作成部420により作成された処理フロー・入出力パラメータテーブル412に記憶されている各モジュールの処理データをモジュール・ソースコードマスタテーブル411と照合して、各モジュールをソースコードに変換し、ソースコードテーブル413に記憶する機能を有する。   The source code conversion unit 430 collates the processing data of each module stored in the processing flow / input / output parameter table 412 created by the flow creation unit 420 with the module / source code master table 411 to source each module. It has a function of converting into code and storing it in the source code table 413.

なお、図5及び図6に示すテーブルのモジュールには、画像に対する処理だけでなく、画像を取得するための事前処理や、処理結果を出力するための事後処理を含む外部機器に対する処理などを含めても勿論構わない。例えば、カメラ140の撮像条件を設定する制御指令や、照明装置160を制御するための照明装置コントローラ150への制御指令、或いは、ステージの移動などを制御するための外部機器コントローラ170への制御指令、LAN上に接続されたPCにデータを送信する等の制御指令を行うものであってもよい。   The table modules shown in FIGS. 5 and 6 include not only processing for images but also processing for external devices including pre-processing for acquiring images and post-processing for outputting processing results. But of course. For example, a control command for setting the imaging conditions of the camera 140, a control command for the lighting device controller 150 for controlling the lighting device 160, or a control command for the external device controller 170 for controlling movement of the stage, etc. A control command such as transmitting data to a PC connected on the LAN may be performed.

コンパイル部440は、ソースコードテーブル413に記憶されているソースコードから実行可能なオブジェクトコードを生成し、生成したオブジェクトコードをオブジェクトコードテーブル414に記憶する機能を有する。   The compiling unit 440 has a function of generating executable object code from the source code stored in the source code table 413 and storing the generated object code in the object code table 414.

なお、コンパイル部440が行うコンパイルには、デバッグ・コンパイルとリリース・コンパイルの2つのタイプがある。ここで、本実施形態においては、処理フロー作成中には、ソースコードレベルでのステップ実行を可能とするデバッグ・コンパイルを行い、データ保存時には、オンラインで利用可能なファイルを生成するリリース・コンパイルを行う。この際、デバッグ・コンパイル及びリリース・コンパイルの両者は、同じ変換手法で生成されたソースコードを参照するものとする。   There are two types of compilation performed by the compiling unit 440: debug compilation and release compilation. Here, in this embodiment, during the process flow creation, debugging / compilation that enables step execution at the source code level is performed, and release / compilation that generates a file that can be used online is performed when data is saved. Do. At this time, both the debug compilation and the release compilation refer to the source code generated by the same conversion method.

(検証)実行部450は、コンパイル部440により作成されたオブジェクトコードテーブル414に記憶されているオブジェクトコードを実行し、結果画像表示領域(後述する図11の1103)と処理フロー・入出力パラメータテーブル412を更新する機能を有する。   The (verification) execution unit 450 executes the object code stored in the object code table 414 created by the compiling unit 440, results image display area (1103 in FIG. 11 described later), processing flow / input / output parameter table 412 is updated.

データ保存部460は、例えば、RAM112にあるソースコードテーブル413、オブジェクトコードテーブル414及びプロジェクトファイルテーブル415を外部メモリ116に出力して、データの保存処理を行う。   For example, the data storage unit 460 outputs the source code table 413, the object code table 414, and the project file table 415 in the RAM 112 to the external memory 116, and performs data storage processing.

データ入力・出力部470は、各モジュールで使用する入出力パラメータを管理する機能を有する。   The data input / output unit 470 has a function of managing input / output parameters used in each module.

次に、情報処理装置110によって実行される画像処理アプリケーションプログラム作成処理の処理手順について説明する。図7は、図1に示す情報処理装置110による画像処理プログラム作成処理の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。 Next, a processing procedure of image processing application program creation processing executed by the information processing apparatus 110 will be described. FIG. 7 is a flowchart illustrating an example of a processing procedure of an image processing program creation process by the information processing apparatus 110 illustrated in FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、図7のステップS101において、情報処理装置110のCPU111は、図34に示すシステム設定テーブルT3400のスタートアッププロジェクト名3402を参照し、起動モードを特定する。ここで、スタートアッププロジェクト3402には、既存のプロジェクト名、もしくは、「NULL」が設定されている。   First, in step S101 of FIG. 7, the CPU 111 of the information processing apparatus 110 refers to the startup project name 3402 of the system setting table T3400 shown in FIG. 34 and identifies the startup mode. Here, in the startup project 3402, an existing project name or “NULL” is set.

続いて、ステップS102に進むと、ステップS101で特定した起動モードが、スタートアップか否かを判断する。システム設定テーブルのスタートアッププロジェクト名3402に既存のプロジェクト名が設定されている場合には、CPU111は、スタートアップであると判断することになる。ステップS102で、CPU111が、起動モードがスタートアップであると判断した場合(S102/YES)、ステップS109の「オンライン検査」処理へ進む。一方、CPU111が、スタートアップでないと判断した場合(S102/NO)、ステップS103に進む。   Subsequently, when the process proceeds to step S102, it is determined whether or not the activation mode specified in step S101 is startup. If an existing project name is set in the startup project name 3402 of the system setting table, the CPU 111 determines that the startup is in progress. If the CPU 111 determines in step S102 that the startup mode is startup (S102 / YES), the process proceeds to the “online inspection” process in step S109. On the other hand, if the CPU 111 determines that it is not startup (S102 / NO), the process proceeds to step S103.

ステップS103において、情報処理装置110のCPU111は、例えば、入力装置120からの入力指示に基づいて、画像処理システム開発やシステム設定を行うためのメインメニューをディスプレイ装置130に表示する処理を行う。メインメニューは図8に示すようなものである。   In step S <b> 103, the CPU 111 of the information processing apparatus 110 performs a process of displaying a main menu for performing image processing system development and system settings on the display device 130 based on an input instruction from the input device 120, for example. The main menu is as shown in FIG.

図8は、画像処理システム開発画面のメインメニュー800の一例を示す模式図である。 図8に示す画像処理システム開発画面のメインメニュー800には、ロジック(処理フロー)の新規作成、若しくは作成済みの処理フローの編集を行う「プロジェクト構築」メニュー801、「プロジェクト構築」メニュー801で作成した処理フローをオンライン検査モードで実行するための「オンライン検査」メニュー802、画像処理システム100において、カメラ140で画像を撮像する際の調整を行う「機器調整」メニュー803、「オンライン検査」メニュー802で読み出すプロジェクトの指定などを行う「システム設定」メニュー804、メインメニューを終了する「終了」メニュー805、「プロジェクト構築」メニュー801で作成済みのプロジェクトを編集する際に指定する「読み出しプロジェクト名」メニュー806が設けられている。   FIG. 8 is a schematic diagram showing an example of the main menu 800 of the image processing system development screen. The main menu 800 of the image processing system development screen shown in FIG. 8 is created with a “project construction” menu 801 and a “project construction” menu 801 for creating a new logic (processing flow) or editing a created processing flow. “Online inspection” menu 802 for executing the processed flow in the online inspection mode, “Device adjustment” menu 803 for performing adjustment when an image is captured by the camera 140 in the image processing system 100, and “Online inspection” menu 802 “System setting” menu 804 for designating a project to be read in, “Exit” menu 805 for ending the main menu, “Read project name” menu to be specified when editing a project that has been created in “Project construction” menu 801 8 6 is provided.

図7の説明に戻る。ステップS103のメインメニュー表示処理を終えると、CPU111は処理をステップS104に進める。そして、情報処理装置110のCPU111は、ステップS103で表示された画像処理システム開発画面のメインメニュー800上の各メニュー項目に対して、入力装置120からの入力指示があったか否かを判断する。   Returning to the description of FIG. When the main menu display process in step S103 is completed, the CPU 111 advances the process to step S104. Then, the CPU 111 of the information processing apparatus 110 determines whether or not there is an input instruction from the input device 120 for each menu item on the main menu 800 of the image processing system development screen displayed in step S103.

ステップS104の判断の結果、入力装置120からメインメニュー800の各メニュー項目に対する入力指示がなかったと判断した場合には(ステップS104/NO)、入力装置120からの入力指示があるまで、ステップS104で待機する、一方、ステップ102の判断の結果、入力装置120からの入力指示あったと判断した場合には(ステップS104/YES)、ステップS105に進む。   As a result of the determination in step S104, when it is determined that there is no input instruction for each menu item of the main menu 800 from the input device 120 (step S104 / NO), the input device 120 continues until there is an input instruction in step S104. On the other hand, if it is determined that there is an input instruction from the input device 120 as a result of the determination in step 102 (step S104 / YES), the process proceeds to step S105.

ステップS105に進むと、情報処理装置110のCPU111は、入力装置120からの入力指示に基づいて、選択された処理内容の判定処理を行う。このステップS105で判定される処理内容としては、本例では、「プロジェクト構築処理」、「オンライン検査処理」、「機器調整画面表示」、「システム設定画面表示」、「終了処理」、及び「読み出しプロジェクト名入力」である。なお、ここで挙げた処理内容は一例を示したものであり、その他のメニュー項目をメインメニューに追加し、そのメニュー項目に対応するその他の処理内容をステップS105で判定することも可能である。   In step S <b> 105, the CPU 111 of the information processing apparatus 110 performs a process for determining the selected process content based on an input instruction from the input apparatus 120. In this example, the processing contents determined in step S105 are “project construction processing”, “online inspection processing”, “apparatus adjustment screen display”, “system setting screen display”, “end processing”, and “read”. “Project name input”. Note that the processing content given here is an example, and other menu items can be added to the main menu, and the other processing content corresponding to the menu item can be determined in step S105.

続いて、ステップS106において、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「プロジェクト構築処理」であるか否かを判断する。ステップS106の判断の結果、ステップS105で判定した処理内容が、「プロジェクト構築処理」であると判断した場合には(ステップS106/YES)、処理をステップS107に進める。   Subsequently, in step S106, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “project construction processing”. As a result of the determination in step S106, if it is determined that the processing content determined in step S105 is “project construction processing” (step S106 / YES), the process proceeds to step S107.

ステップS107に進むと、情報処理装置110のCPU111は、「プロジェクト構築処理」を行う。この「プロジェクト構築処理」の詳細については、図11を用いて後述する。そして、ステップS107の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   In step S107, the CPU 111 of the information processing apparatus 110 performs “project construction processing”. Details of the “project construction process” will be described later with reference to FIG. When the process of step S107 is completed, the process returns to step S104 and waits until the next input instruction is received from the input device 120.

一方、ステップS106の判断の結果、ステップS106で判定した処理内容が、「プロジェクト構築処理」ではないと判断した場合には(ステップS106/NO)、処理をステップS108に進める。   On the other hand, as a result of the determination in step S106, if it is determined that the processing content determined in step S106 is not “project construction processing” (step S106 / NO), the process proceeds to step S108.

ステップS108では、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「オンライン検査処理」であるか否かを判断する。   In step S108, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “online inspection processing”.

ステップS108の判断の結果、ステップS105で判定した処理内容が、「オンライン検査処理」であると判断した場合には(ステップS108/YES)、CPU111は処理をステップS109に進める。   As a result of the determination in step S108, when it is determined that the processing content determined in step S105 is “online inspection processing” (step S108 / YES), the CPU 111 advances the processing to step S109.

ステップS109に進むと、情報処理装置110のCPU111は、「オンライン検査処理」処理を行う。この「オンライン検査処理」の詳細について、図35を用いて後述する。そして、ステップS109の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   In step S109, the CPU 111 of the information processing apparatus 110 performs an “online inspection process” process. Details of the “online inspection process” will be described later with reference to FIG. When the process of step S109 ends, the process returns to step S104 and waits until the next input instruction is received from the input device 120.

一方、ステップS108の判断の結果、ステップS106で判定した処理内容が、「オンライン検査処理」ではないと判断した場合には(ステップS108/NO)、CPU111は、処理をステップS110に進める。   On the other hand, as a result of the determination in step S108, when it is determined that the processing content determined in step S106 is not “online inspection processing” (step S108 / NO), the CPU 111 advances the processing to step S110.

ステップS110に進むと、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「機器調整処理」であるか否かを判断する。   In step S110, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S105 is “apparatus adjustment processing”.

ステップS110の判断の結果、ステップS105で判定した処理内容が、「機器調整処理」であると判定した場合には(ステップS110/YES)、CPU111は処理をステップS111に進める。   As a result of the determination in step S110, when it is determined that the processing content determined in step S105 is “device adjustment processing” (step S110 / YES), the CPU 111 advances the processing to step S111.

ステップS111では、情報処理装置110のCPU111は、「機器調整処理」を行う。この「機器調整処理」の詳細については、図26を用いて後述する。そして、ステップS111の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   In step S <b> 111, the CPU 111 of the information processing apparatus 110 performs “apparatus adjustment processing”. Details of this “apparatus adjustment processing” will be described later with reference to FIG. When the process of step S111 is completed, the process returns to step S104 and waits until the next input instruction is received from the input device 120.

一方、ステップS110の判断の結果、ステップS105で判定した処理内容が、「機器調整画面表示処理」ではないと判断した場合には(ステップS110/NO)、CPU111は、処理をステップS112に進める。   On the other hand, as a result of the determination in step S110, if it is determined that the processing content determined in step S105 is not “apparatus adjustment screen display processing” (step S110 / NO), the CPU 111 advances the processing to step S112.

ステップS112では、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「システム設定処理」であるか否かを判断する。   In step S112, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “system setting processing”.

ステップS112の判断の結果、ステップS105で判定した処理内容が、「システム設定処理」であると判断した場合には(ステップS112/YES)、CPU111は処理をステップS113に進める。   As a result of the determination in step S112, if it is determined that the processing content determined in step S105 is “system setting processing” (step S112 / YES), the CPU 111 advances the processing to step S113.

ステップS113では、情報処理装置110のCPU111は、「システム設定処理」を行う。そして、ステップS113の処理が終了すると、ステップS104に戻り、入力装置120から次の入力指示があるまで待機する。   In step S113, the CPU 111 of the information processing apparatus 110 performs “system setting processing”. When the process of step S113 is completed, the process returns to step S104, and waits for a next input instruction from the input device 120.

一方、ステップS112の判断の結果、ステップS105で判定した処理内容が、「システム設定処理」ではないと判断した場合には(ステップS112/NO)、CPU111は、処理をステップS114に進める。   On the other hand, as a result of the determination in step S112, if it is determined that the processing content determined in step S105 is not “system setting processing” (step S112 / NO), the CPU 111 advances the processing to step S114.

ステップS114では、情報処理装置110のCPU111は、ステップS105で判定した処理内容が、「終了処理」であるか否かを判断する。   In step S114, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S105 is “end processing”.

ステップS114の判断の結果、ステップS105で判定した処理内容が、「終了処理」であると判断した場合には(ステップS114/YES)、本プログラムによる処理を終了する。   As a result of the determination in step S114, when it is determined that the processing content determined in step S105 is “end processing” (step S114 / YES), the processing by this program is ended.

一方、ステップS114の判断の結果、ステップS106で判定した処理内容が、「終了処理」ではないと判断した場合には(ステップS114/NO)、処理をステップS104に進め、入力装置120から次の入力指示があるまで待機する。   On the other hand, as a result of the determination in step S114, if it is determined that the processing content determined in step S106 is not “end processing” (step S114 / NO), the process proceeds to step S104, and the input device 120 performs the next process. Wait for input instructions.

次に、図10を参照して図7のステップS107の「プロジェクト構築処理」の詳細について説明する。図10は、情報処理装置110のCPU111によって行われる、「プロジェクト構築処理」の処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “project construction process” in step S107 of FIG. 7 will be described with reference to FIG. FIG. 10 is a flowchart illustrating an example of a process procedure of “project construction process” performed by the CPU 111 of the information processing apparatus 110. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS201において、情報処理装置110のCPU111は、例えば、入力装置120からの入力指示に基づいて、図11に示す画像処理システムの開発を行うための画像処理プロジェクト開発画面1100をディスプレイ装置130に表示する処理を行う。   First, in step S <b> 201, the CPU 111 of the information processing apparatus 110 displays an image processing project development screen 1100 for developing the image processing system shown in FIG. 11 based on an input instruction from the input apparatus 120, for example. Process to be displayed.

図11は、画像処理プロジェクト開発画面1100の一例を示す模式図である。図11に示す画像処理プロジェクト開発画面1100には、利用可能な処理ユニット(即ち、「カメラ取込」等の画像処理に係る各モジュール)を表示するツールボックス1101と、画像処理の実行順序(即ち、各モジュールの実行順序)をフローチャートで描画する処理フロー描画領域1102と、各画像処理(即ち、各モジュールの処理)で実行した結果画像を表示する結果画像表示領域1103と、ツールバー1107や、画像処理プログラムの開発を終了する際に操作される不図示の閉じるボタン等も設けられている。また、図11に示す画像処理プロジェクト開発画面1100には、例えば、新規モジュールの登録時もしくはパラメータの編集時等に、処理フロー描画領域1102のフローチャートの各ステップ(即ち、各モジュール)で利用するパラメータを設定するパラメータ編集画面1104と、そのパラメータの設定で実行された結果画像を表示する結果画像表示領域1103が表示される。図11の、プロジェクト構築画面の例では、分岐処理によるフローを制御するモジュールも含んでいる。ここで、結果画像表示領域1103は、フロー描画領域1102の各モジュールの結果画像である。これは、プレビュー画像や縮小画像であってもよい。条件分岐処理の場合には、条件を満たしたノード(枝)の画像を表示し、条件を満たさないノードについては処理が行われないのでブラックアウトした画像を表示する。このとき、すべての処理フローの結果が結果画像表示領域1103に収まらない場合は、水平・垂直方向のスクロールバーを用いて表示領域を変更することとしてもよい。以上が、画像処理プロジェクト開発画面の構成の一例の説明である。   FIG. 11 is a schematic diagram illustrating an example of the image processing project development screen 1100. An image processing project development screen 1100 shown in FIG. 11 includes a tool box 1101 that displays available processing units (that is, modules related to image processing such as “camera capture”), and an execution order of image processing (that is, , The execution order of each module) in a flowchart, a processing flow drawing area 1102, a result image display area 1103 for displaying a result image executed in each image processing (that is, processing of each module), a toolbar 1107, an image A close button (not shown) that is operated when the development of the processing program is finished is also provided. Further, the image processing project development screen 1100 shown in FIG. 11 includes parameters used in each step (that is, each module) of the flowchart of the processing flow drawing area 1102 when, for example, a new module is registered or a parameter is edited. A parameter editing screen 1104 for setting the image and a result image display area 1103 for displaying the result image executed by setting the parameter are displayed. The example of the project construction screen in FIG. 11 also includes a module that controls the flow by branch processing. Here, the result image display area 1103 is a result image of each module in the flow drawing area 1102. This may be a preview image or a reduced image. In the case of conditional branch processing, an image of a node (branch) that satisfies the condition is displayed, and a blackout image is displayed because processing is not performed for a node that does not satisfy the condition. At this time, if the results of all processing flows do not fit in the result image display area 1103, the display area may be changed using horizontal and vertical scroll bars. The above is an example of the configuration of the image processing project development screen.

図11の説明に戻る。ステップS201の処理が終了すると、CPU111は処理をステップS202に進める。ステップS202では、情報処理装置110のCPU111は、入力装置120からの入力指示に基づいて、ステップS201で表示された画像処理プロジェクト開発画面1100を用いて新規に画像処理プログラムを開発するか否かを判断する。   Returning to the description of FIG. When the process of step S201 ends, the CPU 111 advances the process to step S202. In step S202, the CPU 111 of the information processing apparatus 110 determines whether to newly develop an image processing program using the image processing project development screen 1100 displayed in step S201, based on an input instruction from the input device 120. to decide.

ステップS202の判断の結果、新規に画像処理プログラムを開発しない場合、即ち既に作成している画像処理フローの編集を行う場合には(ステップS202/NO)、ステップS203に進む。   As a result of the determination in step S202, when a new image processing program is not developed, that is, when editing an already created image processing flow (step S202 / NO), the process proceeds to step S203.

ステップS203に進むと、情報処理装置110のCPU111は、外部メモリ116に保存されているプロジェクトファイルテーブル415を読み出して、これをRAM112に記憶する。   In step S 203, the CPU 111 of the information processing apparatus 110 reads the project file table 415 stored in the external memory 116 and stores it in the RAM 112.

ステップS203の処理が終了後、或いは、ステップS202で新規に画像処理プログラムを開発すると判断された場合には(ステップS202/YES)、CPU111は処理をステップS204に進める。   After the process of step S203 is completed, or when it is determined in step S202 that a new image processing program is to be developed (step S202 / YES), the CPU 111 advances the process to step S204.

ステップS204では、情報処理装置110のCPU111は、入力装置120からの入力指示(具体的には、ステップS201で表示された画像処理プロジェクト開発画面1100に対する入力指示)があったか否かを判断する。   In step S204, the CPU 111 of the information processing apparatus 110 determines whether there is an input instruction from the input apparatus 120 (specifically, an input instruction for the image processing project development screen 1100 displayed in step S201).

ステップS204の判断の結果、入力装置120からの入力指示を受け付けていないと判断した場合には(ステップS204/NO)、入力装置120からの入力指示があるまで、ステップS204で待機する。一方、ステップS204の判断の結果、入力装置120からの入力指示を受け付けた(入力あり)と判断した場合には(ステップS204/YES)、処理をステップS205に進める。   As a result of the determination in step S204, if it is determined that an input instruction from the input device 120 is not received (step S204 / NO), the process waits in step S204 until there is an input instruction from the input device 120. On the other hand, as a result of the determination in step S204, if it is determined that an input instruction from the input device 120 has been received (input is present) (step S204 / YES), the process proceeds to step S205.

ステップS205に進むと、情報処理装置110のCPU111は、入力装置120から受け付けた入力指示に基づいて、選択された処理内容の判定処理を行う。このステップS205で判定される処理内容としては、本例では、「新規追加処理」、「変更処理」、「移動処理」、「挿入処理」、「削除処理」、「全体実行処理」、「保存処理」である。なお、ここで挙げた処理内容は一例を示したものであり、その他の処理内容をステップS205で判定することも勿論可能である。   In step S205, the CPU 111 of the information processing apparatus 110 performs a process for determining the selected process content based on the input instruction received from the input apparatus 120. In this example, the processing contents determined in step S205 are “new addition processing”, “change processing”, “move processing”, “insertion processing”, “deletion processing”, “overall execution processing”, “save” Processing. It should be noted that the processing content given here is an example, and it is of course possible to determine other processing content in step S205.

ここで、ステップS205の判定処理では、CPU111は、例えば、図11に示す画像処理プロジェクト開発画面1100において以下の入力がなされることによって、上述した各処理を判定するようにしている。   Here, in the determination process of step S205, the CPU 111 determines each process described above by making the following inputs on the image processing project development screen 1100 shown in FIG. 11, for example.

まず、図11に示すツールボックス1101からいずれかの処理アイテム(モジュール)が選択され、処理フロー描画領域1102の処理フローシーケンスの最後尾にドラッグ&ドロップされると、情報処理装置110のCPU111は、モジュールの「新規追加処理」のイベントであると判定する。また、処理フロー描画領域1102に既に登録されているモジュールがダブルクリックされる、若しくはあるモジュールを指定して不図示のポップアップメニューを表示させ、パラメータ変更メニュー項目が選択(クリック指示)されると、情報処理装置110のCPU111は、モジュールのパラメータの「変更処理」のイベントであると判定する。また、処理フロー描画領域1102に既に登録されているモジュールが他のモジュールの間にドラッグ&ドロップされると、情報処理装置110のCPU111は、モジュールの「移動処理」のイベントであると判定する。また、図11に示すツールボックス1101からモジュールが選択され、処理フロー描画領域1102に既に登録されているモジュールの間にドラッグ&ドロップされると、情報処理装置110のCPU111は、モジュールの「挿入処理」のイベントであると判定する。また、処理フロー描画領域1102に既に登録されているモジュールを選択し、削除キーが押下される、若しくはあるモジュールを指定して不図示のポップアップメニューを表示させ、削除メニュー項目が選択(クリック指示)されると、情報処理装置110のCPU111は、モジュールの「削除処理」のイベントであると判断する。また、メニューバー1106もしくはツールバー1107の「実行」が選択されると、情報処理装置110のCPU111は、処理フロー描画領域1102に設定された処理フローの「全体実行処理」のイベントであると判定する。また、ツールバー1107の「保存」が選択されると、情報処理装置110のCPU111は、処理フロー描画領域1102に設定された処理フローの「保存処理」のイベントであると判定する。   First, when any process item (module) is selected from the tool box 1101 shown in FIG. 11 and dragged and dropped to the end of the process flow sequence in the process flow drawing area 1102, the CPU 111 of the information processing apparatus 110 It is determined that the event is a “new addition process” of the module. Further, when a module already registered in the processing flow drawing area 1102 is double-clicked, or a certain module is specified to display a pop-up menu (not shown), and a parameter change menu item is selected (click instruction), The CPU 111 of the information processing apparatus 110 determines that the event is a “change process” event of the module parameter. When a module already registered in the processing flow drawing area 1102 is dragged and dropped between other modules, the CPU 111 of the information processing apparatus 110 determines that the event is a “movement process” of the module. When a module is selected from the toolbox 1101 shown in FIG. 11 and dragged and dropped between modules already registered in the processing flow drawing area 1102, the CPU 111 of the information processing apparatus 110 performs “insertion processing of module”. It is determined that the event is. Also, a module already registered in the processing flow drawing area 1102 is selected, and the delete key is pressed, or a certain module is specified to display a pop-up menu (not shown), and the delete menu item is selected (click instruction). Then, the CPU 111 of the information processing apparatus 110 determines that the event is a “deletion process” of the module. When “execution” of the menu bar 1106 or the tool bar 1107 is selected, the CPU 111 of the information processing apparatus 110 determines that the event is the “overall execution process” event of the process flow set in the process flow drawing area 1102. . When “save” on the toolbar 1107 is selected, the CPU 111 of the information processing apparatus 110 determines that the event is a “save process” event of the process flow set in the process flow drawing area 1102.

なお、本実施形態ではこのようにして処理内容の判定を行うようにしているが、これは一例であり、例えばツールバー1107に「新規追加」などの処理内容に応じたアイコン等の機能を設けてもよく、上述した形態に限定されるものではない。   In this embodiment, the processing content is determined in this way. However, this is an example. For example, the toolbar 1107 is provided with a function such as an icon corresponding to the processing content such as “add new”. The present invention is not limited to the above-described form.

続いて、ステップS206において、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、モジュールの「新規追加処理」であるか否かを判断する。ステップS206の判断処理で、ステップS205で判定した処理内容が、モジュールの「新規追加処理」であると判断した場合には(ステップS206/YES)、CPU111は処理をステップS207に進める。   Subsequently, in step S <b> 206, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S <b> 205 is a “new addition process” of the module. If it is determined in step S206 that the processing content determined in step S205 is “new addition processing” of the module (step S206 / YES), the CPU 111 advances the processing to step S207.

ステップS207では、情報処理装置110のCPU111は、選択されたモジュールの「新規追加処理」を行う。このステップS207の新規追加処理の詳細については、図12を用いて後述する。そして、ステップS207の処理が終了すると、ステップS204に戻り、入力装置120から次の入力指示があるまで待機する。   In step S207, the CPU 111 of the information processing apparatus 110 performs a “new addition process” for the selected module. Details of the new addition process in step S207 will be described later with reference to FIG. When the process of step S207 ends, the process returns to step S204, and waits for a next input instruction from the input device 120.

一方、ステップS206の判断処理、ステップS205で判定した処理内容が、モジュールの「新規追加処理」ではないと判断した場合には(ステップS206/NO)、CPU111は処理をステップS208に進める。   On the other hand, if it is determined that the determination processing in step S206 and the processing content determined in step S205 are not the “new addition processing” of the module (step S206 / NO), the CPU 111 advances the processing to step S208.

ステップS208では、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、モジュールのパラメータの「変更処理」であるか否かを判断する。ステップS208の判断処理で、ステップS205で判定した処理内容が、モジュールのパラメータの「変更処理」であると判断した場合には(ステップS208/YES)、処理をステップS209に進める。   In step S208, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S205 is a “parameter change processing” of the module. If it is determined in the determination process of step S208 that the processing content determined in step S205 is a “parameter change process” for the module parameter (YES in step S208), the process proceeds to step S209.

ステップS209では、情報処理装置110のCPU111は、選択されたモジュールのパラメータの「変更処理」を行う。このステップS209の変更処理の詳細については、図13を用いて後述する。そして、ステップS209の処理が終了すると、ステップS204に戻り、入力装置120から次の入力指示があるまで待機する。   In step S209, the CPU 111 of the information processing apparatus 110 performs “change processing” for the parameter of the selected module. Details of the change processing in step S209 will be described later with reference to FIG. When the process of step S209 is completed, the process returns to step S204, and waits for a next input instruction from the input device 120.

一方、ステップS208の判断処理で、ステップS205で判定した処理内容が、モジュールのパラメータの「変更処理」ではないと判断した場合には(ステップS208/NO)、CPU111はステップS210に進める。ステップS210では、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、モジュールの「移動処理」であるか否かを判断する。   On the other hand, if it is determined in step S208 that the processing content determined in step S205 is not a “parameter change processing” for the module parameter (step S208 / NO), the CPU 111 proceeds to step S210. In step S210, the CPU 111 of the information processing apparatus 110 determines whether or not the processing content determined in step S205 is a “movement process” of the module.

ステップS210の判断処理で、ステップS205で判定した処理内容が、モジュールの「移動処理」であると判断した場合には(ステップS210/YES)、ステップS211に進む。   If it is determined in step S210 that the processing content determined in step S205 is a “movement process” of the module (step S210 / YES), the process proceeds to step S211.

ステップS211では、情報処理装置110のCPU111は、選択されたモジュールの「移動処理」を行う。このステップS211の移動処理の詳細については、図15を用いて後述する。そして、ステップS211の処理が終了すると、ステップS204に戻り、入力装置120から次の入力指示があるまで待機する。   In step S <b> 211, the CPU 111 of the information processing apparatus 110 performs “move processing” for the selected module. Details of the movement process in step S211 will be described later with reference to FIG. When the process of step S211 is completed, the process returns to step S204, and waits for a next input instruction from the input device 120.

一方、ステップS210の判断処理で、ステップS205で判定した処理内容が、モジュールの「移動処理」ではないと判断した場合には(ステップS210/NO)、ステップS212に進む。ステップS212に進むと、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、モジュールの「挿入処理」であるか否かを判断する。   On the other hand, if it is determined in step S210 that the processing content determined in step S205 is not the “movement processing” of the module (step S210 / NO), the process proceeds to step S212. In step S212, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S205 is “insertion processing” of the module.

ステップS212の判断処理で、ステップS205で判定した処理内容が、モジュールの「挿入処理」であると判断した場合には(ステップS212/YES)、処理をステップS213に進める。   If it is determined in step S212 that the processing content determined in step S205 is “insertion processing” of the module (step S212 / YES), the process proceeds to step S213.

ステップS213では、情報処理装置110のCPU111は、選択されたモジュールの「挿入処理」を行う。ステップS213の挿入処理の詳細については、図16を用いて後述する。そして、ステップS213の処理が終了すると、ステップS204に戻り、入力装置120から次の入力指示があるまで待機する。   In step S213, the CPU 111 of the information processing apparatus 110 performs an “insertion process” for the selected module. Details of the insertion processing in step S213 will be described later with reference to FIG. When the process of step S213 is completed, the process returns to step S204, and waits for a next input instruction from the input device 120.

一方、ステップS212の判断処理で、ステップS205で判定した処理内容が、モジュールの「挿入処理」ではないと判断した場合には(ステップS212/NO)、CPU111は、処理をステップS214に進める。   On the other hand, when it is determined in step S212 that the processing content determined in step S205 is not the “insertion processing” of the module (step S212 / NO), the CPU 111 advances the processing to step S214.

ステップS214では、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、モジュールの「削除処理」であるか否かを判断する。ステップS214の判断処理で、ステップS205で判定した処理内容が、モジュールの「削除処理」であると判断した場合には(ステップS214/YES)、処理をステップS215に進める。   In step S214, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S205 is a “deletion process” of the module. If it is determined in step S214 that the processing content determined in step S205 is the “deletion processing” of the module (step S214 / YES), the process proceeds to step S215.

ステップS215では、情報処理装置110のCPU111は、選択されたモジュールの「削除処理」を行う。ステップS215の削除処理の詳細については、図17を用いて後述する。そして、ステップS215の処理が終了すると、ステップS204に戻り、操作入力装置120から次の入力指示があるまで待機する。   In step S215, the CPU 111 of the information processing apparatus 110 performs “deletion processing” for the selected module. Details of the deletion process in step S215 will be described later with reference to FIG. When the process of step S215 is completed, the process returns to step S204, and waits for a next input instruction from the operation input device 120.

一方、ステップS214の判断処理で、ステップS205で判定した処理内容が、モジュールの「挿入処理」ではないと判断した場合には(ステップS214/NO)、CPU111は、処理をステップS216に進める。   On the other hand, if it is determined in step S214 that the processing content determined in step S205 is not the “insertion processing” of the module (step S214 / NO), the CPU 111 advances the processing to step S216.

ステップS216では、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、処理フローの「実行処理」であるか否かを判断する。ステップS216の判断処理で、ステップS205で判定した処理内容が、処理フローの「実行処理」であると判断した場合には(ステップS216/YES)、CPU111は、処理をステップS217に進める。   In step S216, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S205 is “execution processing” of the processing flow. If it is determined in step S216 that the processing content determined in step S205 is “execution processing” of the processing flow (step S216 / YES), the CPU 111 advances the processing to step S217.

ステップS217では、情報処理装置110のCPU111は、処理フロー描画領域1102に設定された処理フローの「実行処理」を行う。ステップS217の実行処理の詳細については、図18を用いて後述する。そして、ステップS217の処理が終了すると、ステップS204に戻り、入力装置120から次の入力指示があるまで待機する。   In step S <b> 217, the CPU 111 of the information processing apparatus 110 performs “execution processing” of the processing flow set in the processing flow drawing area 1102. Details of the execution process of step S217 will be described later with reference to FIG. When the process of step S217 is completed, the process returns to step S204, and waits for a next input instruction from the input device 120.

一方、ステップS216の判断処理で、ステップS205で判定した処理内容が、処理フローの「実行処理」ではないと判断した場合には(ステップS216/NO)、CPU111は、処理をステップS218に進める。   On the other hand, if it is determined in step S216 that the processing content determined in step S205 is not “execution processing” in the processing flow (step S216 / NO), the CPU 111 advances the processing to step S218.

ステップS218では、情報処理装置110のCPU111は、ステップS205で判定した処理内容が、処理フローの「保存処理」であるか否かを判断する。ステップS218の判断処理で、ステップS205で判定した処理内容が、処理フローの「保存処理」であると判断した場合には(ステップS218/YES)、CPU111は、処理をステップS219に進める。   In step S218, the CPU 111 of the information processing apparatus 110 determines whether the processing content determined in step S205 is “save processing” in the processing flow. If it is determined in step S218 that the processing content determined in step S205 is “save processing” in the processing flow (YES in step S218), the CPU 111 advances the processing to step S219.

ステップS219では、情報処理装置110のCPU111は、画像処理プロジェクト開発画面1100で設定された内容の、「保存処理」を行う。そして、ステップS219の処理が終了すると、画像処理プロジェクト開発画面1100を終了する。   In step S 219, the CPU 111 of the information processing apparatus 110 performs “save processing” for the contents set on the image processing project development screen 1100. Then, when the process of step S219 ends, the image processing project development screen 1100 ends.

一方、ステップS218の判断処理で、ステップS205で判定した処理内容が、処理フローの「保存処理」でないと判断した場合には(ステップS218/NO)、ステップS204に戻り、操作入力装置120から入力指示があるまで待機する。   On the other hand, if it is determined in step S218 that the processing content determined in step S205 is not “save processing” in the processing flow (step S218 / NO), the process returns to step S204 and input from the operation input device 120. Wait for instructions.

次に、図12を参照して、モジュールの「新規追加処理」の詳細を説明する。図12は、図10のステップS207のモジュールの「新規追加処理」の詳細を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, details of the “new addition process” of the module will be described with reference to FIG. FIG. 12 is a flowchart showing details of the “new addition process” of the module in step S207 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、図12のステップS301の処理では、情報処理装置110のCPU111は、図11の画像処理プロジェクト開発画面1100のツールバー1107で、選択された処理の特定を行う。ここで、本発明では、「入力モード」と「処理モード」の判定が行えるものとする。   First, in the process of step S301 in FIG. 12, the CPU 111 of the information processing apparatus 110 specifies the selected process on the toolbar 1107 of the image processing project development screen 1100 in FIG. Here, in the present invention, it is assumed that the “input mode” and the “processing mode” can be determined.

ステップ302では、CPU111は、ステップS301で特定したモードが、「入力モード」か「処理モード」かの判定を行う。画像処理を画像入力コントローラ115fのCPU301に行わせる場合には「入力モード」、情報処理装置110のCPU111に行わせる場合には「処理モード」と判定される。ステップS302の判定処理の結果、ステップS301で特定した処理内容が、「入力モード」であると判定した場合には(ステップS302/YES)、CPU111は、処理をステップS303に進める。   In step 302, the CPU 111 determines whether the mode specified in step S301 is “input mode” or “processing mode”. When the image processing is performed by the CPU 301 of the image input controller 115f, the “input mode” is determined. When the CPU 111 of the information processing apparatus 110 is performed, the “processing mode” is determined. As a result of the determination processing in step S302, when it is determined that the processing content specified in step S301 is “input mode” (step S302 / YES), the CPU 111 advances the processing to step S303.

ステップS303では、CPU111は外部メモリ116に記憶されている、入力モード用モジュールをRAM112のソースコードマスタテーブル411aに読み出す。処理完了後、処理をステップS405に進める。   In step S <b> 303, the CPU 111 reads the input mode module stored in the external memory 116 into the source code master table 411 a of the RAM 112. After the process is completed, the process proceeds to step S405.

一方、ステップS302の判定処理で、ステップS301で特定した処理内容が、「処理モード」であると判定した場合(ステップS302/NO)、CPU111は、処理をステップS304に進める。   On the other hand, when it is determined in the determination process of step S302 that the processing content specified in step S301 is “processing mode” (step S302 / NO), the CPU 111 advances the process to step S304.

ステップS304では、CPU111は、外部メモリ116に記憶されている、処理モード用モジュールをRAM112のソースコードマスタテーブル411bに読み出す。処理完了後、処理をステップS405に進める。   In step S <b> 304, the CPU 111 reads the processing mode module stored in the external memory 116 into the source code master table 411 b of the RAM 112. After the process is completed, the process proceeds to step S405.

ステップS303、若しくはステップS304の処理が終了後、ステップS305において、情報処理装置110のCPU111は、RAM112に読み出されたソースコードマスタテーブル411a(入力モード用モジュール)若しくはソースコードマスタテーブル411b(処理モード用モジュール)を、ディスプレイ装置130に選択可能なモジュールメニューとして表示する。   After step S303 or step S304 is completed, in step S305, the CPU 111 of the information processing apparatus 110 reads the source code master table 411a (input mode module) or the source code master table 411b (processing mode) read into the RAM 112. Module) is displayed on the display device 130 as a selectable module menu.

その後、ステップS306では、情報処理装置110のCPU111は、ステップS305で選択したモジュールを特定する。そして、ステップS307の処理では、ステップS306で特定したモジュールが、反復処理か条件分岐処理のモジュールであるか否かを判断する。この判断処理では、ステップS306で特定されたモジュールが、反復処理か条件分岐処理かのモジュールの場合、YESという判断を、それ以外のモジュールである場合にはNOという判断をCPU111は行うことになる。   Thereafter, in step S306, the CPU 111 of the information processing apparatus 110 specifies the module selected in step S305. In the process of step S307, it is determined whether the module specified in step S306 is an iterative process or a conditional branch process module. In this determination process, the CPU 111 makes a determination of YES if the module identified in step S306 is a module of repetitive processing or conditional branch processing, and makes a determination of NO if the module is any other module. .

ステップS307の判断処理で、反復・条件分岐処理モジュールではないと判断した場合(ステップS307でNO)、処理をステップS308に進め、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS306の処理で得られた情報を、処理フロー・入出力パラメータテーブル412に1レコードとして追加する処理を行う。   If it is determined in step S307 that the module is not an iterative / conditional branch processing module (NO in step S307), the process proceeds to step S308, and the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 performs step S306. The information obtained by the process is added to the process flow / input / output parameter table 412 as one record.

ここで、図6に示す処理フロー・入出力パラメータテーブル412に、「二値化」のモジュールに関するレコードを追加する場合について説明する。   Here, a case where a record relating to the “binarization” module is added to the processing flow / input / output parameter table 412 shown in FIG. 6 will be described.

この場合、インデックス(Index)601として「1」が設定され、また、他の処理が設定されていない場合には、順序602として「1」が設定され、モジュール603として「二値化」が設定される。また、フロー登録名604としてユーザが指定した値(例えば「UI00001」)が設定される。また、例えば、出力パラメータ606として、結果画像の格納先である「画像バッファB」の情報(アドレス等)が設定される。ここで「二値化」処理は、処理フローの第1番目のモジュールであるが、当然それ以前に画像取り込み処理が実行されているため、入力パラメータ605には、画像バッファの情報(アドレス等)として「画像バッファA」が設定されている。「二値化」処理モジュールは入力パラメータとして設定されている画像バッファAに入力される画像データに対して二値化処理を行い、その結果を出力パラメータとして設定されている画像バッファBに格納する。その際に、二値化を行う際に白画素する若しくは黒画素するという判断を行うために閾値とした値を閾値に出力する。   In this case, “1” is set as the index 601, and when no other processing is set, “1” is set as the order 602 and “binarization” is set as the module 603. Is done. In addition, a value (for example, “UI00001”) designated by the user is set as the flow registration name 604. Further, for example, information (address, etc.) of “image buffer B” that is the storage destination of the result image is set as the output parameter 606. Here, the “binarization” processing is the first module in the processing flow. Naturally, since the image capturing processing has been executed before that, the input parameter 605 includes image buffer information (address, etc.). “Image buffer A” is set. The “binarization” processing module performs binarization processing on the image data input to the image buffer A set as an input parameter, and stores the result in the image buffer B set as an output parameter. . At that time, a value used as a threshold value is output to the threshold value in order to determine whether to perform white pixel or black pixel when binarization is performed.

図12の説明に戻る。ステップS308の処理が終了すると、CPU111は処理をステップS309に進め、あらかじめモジュール・ソースコードマスターテーブル411の処理主体フィールド505に指定されている値をもとに、CPU111は処理主体がCPUであるか、それとも画像入力コントローラのCPU(演算チップ)301であるかを判定する。   Returning to the description of FIG. When the processing of step S308 ends, the CPU 111 advances the processing to step S309, and based on the value specified in advance in the processing subject field 505 of the module / source code master table 411, the CPU 111 determines whether the processing subject is a CPU. Whether the image input controller is a CPU (arithmetic chip) 301 or not is determined.

ステップS309の判定処理で、CPU111がYESと判定した(画像入力コントローラのCPUにより処理する)場合には、処理フロー・入出力パラメータテーブル(図6)の当該処理を示すレコードの処理主体フィールドに「0」を設定する(ステップS310)。一方、ステップS309NOと判定した(情報処理装置のCPUにより処理する)場合には、「1」を設定する(ステップS311)。このとき、ステップS301で判定した処理モードが、「入力モード」である場合には、処理主体は画像入力コントローラ115fのCPU(演算チップ)301であるため、処理主体フィールドに「0」が、一方、「処理モード」である場合には、処理主体は、プログラムを実行する情報処理装置110のCPU111とするので「1」が設定される。尚、この処理モードはユーザの指定に基づき設定させるようにしても勿論構わない。   If the CPU 111 determines YES in the determination processing in step S309 (processing is performed by the CPU of the image input controller), the processing subject field of the record indicating the processing in the processing flow / input / output parameter table (FIG. 6) displays “ “0” is set (step S310). On the other hand, if it is determined as NO in step S309 (processed by the CPU of the information processing apparatus), “1” is set (step S311). At this time, if the processing mode determined in step S301 is “input mode”, the processing subject is the CPU (arithmetic chip) 301 of the image input controller 115f, so that “0” is displayed in the processing subject field. In the “processing mode”, since the processing subject is the CPU 111 of the information processing apparatus 110 that executes the program, “1” is set. Of course, this processing mode may be set based on the user's designation.

ステップS310若しくはステップS311の処理が終了後、CPU111は処理をステップS312に進め、ステップS306で特定されたモジュールが、「イベントセット」処理であるか否かを判断する。   After the process of step S310 or step S311 is completed, the CPU 111 advances the process to step S312 and determines whether or not the module specified in step S306 is an “event set” process.

ステップS312で「イベントセット」処理(YES)と判断されると、ステップS313に進む、一方、NOと判断されると、ステップS314に進む。   If it is determined in step S312 that the “event set” process (YES), the process proceeds to step S313, whereas if NO, the process proceeds to step S314.

ステップS313では、CPU111は、処理フロー・入出力パラメータテーブルT600中の当該処理を示すレコードのイベント参照フィールド610に、当該イベントセット処理で発行するイベント情報を設定する。尚、イベント情報については、不図示の参照イベント情報入力画面で入力された値をイベント情報として取得し、次に説明するノード処理フラグテーブルの値をこのイベント参照フィールド610に設定することになる
また、イベント処理(並列分岐処理)の詳細な手順の一例を図25に、ボード処理フラグテーブルの一例を図29に示す。
In step S313, the CPU 111 sets event information issued in the event set process in the event reference field 610 of the record indicating the process in the process flow / input / output parameter table T600. As for event information, a value input on a reference event information input screen (not shown) is acquired as event information, and a value of a node processing flag table described below is set in this event reference field 610. FIG. 25 shows an example of a detailed procedure of event processing (parallel branch processing), and FIG. 29 shows an example of a board processing flag table.

図25に、並列処理を実行する際の、処理手順の詳細について説明する。ここで、ステップS1102a及びステップS1102bは、「コード認識」処理と「欠陥検査」処理を並列分岐処理で行う場合の一例を示す。   FIG. 25 describes the details of the processing procedure when executing parallel processing. Here, step S1102a and step S1102b show an example in the case where the “code recognition” process and the “defect inspection” process are performed by a parallel branch process.

ステップS1101では、並列分岐モジュールが登録(挿入)された前ステップの結果を各ノードの次ステップへ割り振るための前処理やノード処理フラグテーブルの作成などを行う。図29は、ノード処理フラグテーブルT2900の一例である。   In step S1101, preprocessing for allocating the result of the previous step in which the parallel branch module is registered (inserted) to the next step of each node, creation of a node processing flag table, and the like are performed. FIG. 29 is an example of the node processing flag table T2900.

ステップS1101に戻るが、ノード処理フラグテーブルT2900をRAM112上に新規に作成する。あわせて並列で処理するノード数のコードを追加する。その後、各インデックス(Index)2901のノード名に「NODEx」、終了フラグに「0」を登録する。また、並列分岐処理として1レコードが登録(挿入)された処理フロー・入出力パラメータテーブルの分岐参照に、ノード処理フラグテーブルT2900を設定する。なお、終了フラグに登録する値の一例として、完了を「1」とし、未完了を「0」とする。   Returning to step S1101, a node processing flag table T2900 is newly created on the RAM 112. Add code for the number of nodes to be processed in parallel. Thereafter, “NODEx” is registered in the node name of each index (Index) 2901 and “0” is registered in the end flag. In addition, the node processing flag table T2900 is set to the branch reference of the processing flow / input / output parameter table in which one record is registered (inserted) as the parallel branch processing. As an example of a value registered in the end flag, completion is set to “1” and incomplete is set to “0”.

ステップS1102aでは、処理フロー・入出力パラメータテーブルに登録されている処理モジュール(ここではコード認識処理)を実行する。続いて、ステップS1103aでは、情報処理装置110のCPU111は、RAM112上のノード処理フラグテーブルT2900の終了フラグを「1」と設定する。   In step S1102a, a processing module (code recognition processing in this case) registered in the processing flow / input / output parameter table is executed. Subsequently, in step S1103a, the CPU 111 of the information processing apparatus 110 sets the end flag of the node processing flag table T2900 on the RAM 112 to “1”.

同様に、ステップS1102aが開始されると同時に、ノード(枝)2において、ステップS1102b(欠陥検査処理)からS1103bの処理を順次実行し、ノード処理フラグテーブルT2900に終了フラグを更新する。ノード(枝)が3つ以上となる場合も、同様の手順で処理を行う。   Similarly, simultaneously with the start of step S1102a, the node (branch) 2 sequentially executes the processing from step S1102b (defect inspection processing) to S1103b, and updates the end flag in the node processing flag table T2900. When there are three or more nodes (branches), the same procedure is performed.

次に、ステップS1104では、情報処理装置110のCPU111は、ノード処理フラグテーブルT2900の終了フラグを調べ、すべてのノードの処理が完了しているかの判定処理を行う。   Next, in step S1104, the CPU 111 of the information processing apparatus 110 checks the end flag in the node processing flag table T2900, and performs a determination process to determine whether all the nodes have been processed.

ステップS1104の判断の結果、ステップS1105で判定した処理内容が、「完了」である場合には(ステップS1105/YES)、並列分岐処理を終了し、処理フローのステップに戻る。一方、「完了」でない場合には(ステップS1105/NO)、ステップS1104に戻り、実行中のすべてのノードが完了するのを待機する。つまりこの処理により各ノードの処理を同期することになり、その後の処理タイミングを揃えることが可能となる。以上が並列分岐処理の実行手順である。   As a result of the determination in step S1104, when the processing content determined in step S1105 is “complete” (step S1105 / YES), the parallel branch processing is terminated and the processing flow is returned to the step. On the other hand, when it is not “completed” (step S1105 / NO), the process returns to step S1104 and waits for all of the executing nodes to be completed. That is, the processing of each node is synchronized by this processing, and the subsequent processing timing can be made uniform. The above is the execution procedure of the parallel branch processing.

ステップS314では、情報処理装置110のCPU111は、ステップS306で特定されたモジュールが、「イベント待機」処理であるか否かを判断する。ステップS314の判断処理で「イベント待機」処理(YES)と判断した場合には、CPU111は処理をステップS315に進める。一方、NOと判断した場合には、処理をステップS318に進める。   In step S314, the CPU 111 of the information processing apparatus 110 determines whether or not the module identified in step S306 is “event waiting” processing. If it is determined that the “event waiting” process (YES) in the determination process in step S314, the CPU 111 advances the process to step S315. On the other hand, if NO is determined, the process proceeds to step S318.

ステップS315では、処理フロー・入出力パラメータテーブルT600中の当該処理を示すレコードのイベント参照フィールド610に、ステップS313で設定した当該イベントセット処理で発行するイベント情報を設定する。尚、イベント情報については、不図示の待機イベント情報入力画面の待機イベント入力フィールドに入力された値をCPU111はイベント情報として取得し、ステップS313で設定した値(テーブル名等)をイベント情報に設定することになる。   In step S315, event information issued in the event set process set in step S313 is set in the event reference field 610 of the record indicating the process in the process flow / input / output parameter table T600. As for event information, the CPU 111 acquires the value input in the standby event input field on the standby event information input screen (not shown) as event information, and sets the value (table name, etc.) set in step S313 as the event information. Will do.

ステップS316では、関連付ける処理フロー(ロジック)が、すでに表示されているか否かを判断する。ステップS316の判断処理で、すでに表示されていると判断した場合には、CPU111はステップ318に進める。一方、まだ表示されていないと判断した場合には、処理をステップS317へ進め、当該関連処理フローを画面表示する。なお、待機すると設定されたイベントを発行するイベントセット処理が他の何れの処理フローに設定されていない場合(すなわち、そのフローの処理を示す処理フロー・入出力パラメータテーブルがない場合)には、関連処理フローの表示は行わない。   In step S316, it is determined whether or not the associated processing flow (logic) has already been displayed. If it is determined in step S316 that the image has already been displayed, the CPU 111 proceeds to step 318. On the other hand, if it is determined that it is not displayed yet, the process proceeds to step S317, and the related process flow is displayed on the screen. If the event set process that issues an event that is set to wait is not set in any other process flow (that is, there is no process flow / input / output parameter table indicating the process of the flow), The related process flow is not displayed.

ステップS316でNOと判断した場合、若しくはステップS317の処理終了後、CPU111は処理をステップS318に進め、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS306で特定したモジュールを処理フロー描画領域1102に追加して描画(表示)する。なお、本実施形態においては、ステップS308の処理フロー・入出力パラメータテーブル412に関する処理を、ステップS318の処理フロー描画領域1102の描画処理との処理の後に行っても構わない。   If NO is determined in step S316 or after the process of step S317 is completed, the CPU 111 advances the process to step S318, and the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 processes the module identified in step S306. In addition to the drawing area 1102, drawing (display) is performed. In the present embodiment, the process related to the process flow / input / output parameter table 412 in step S308 may be performed after the process of the process flow drawing area 1102 in step S318.

その後、ステップS319では、ステップS306で特定されたモジュールが並列分岐処理のモジュールであるかを判断する。並列分岐処理ではない(ステップS319でNO)と判断した場合、処理をステップS320に進める。   Thereafter, in step S319, it is determined whether the module identified in step S306 is a module for parallel branch processing. If it is determined that it is not a parallel branch process (NO in step S319), the process proceeds to step S320.

ステップS320では、情報処理装置110のCPU111(例えばソースコード変換部430)は、ステップS317で処理フロー描画領域1102に追加したモジュールを、モジュール・ソースコードマスタテーブル411を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル413に記憶する。この際、情報処理装置110のCPU111(例えばソースコード変換部430)は、モジュール・ソースコードマスタテーブル411から読み出したソースコードに対してパラメータを反映させる等の修正を行って、得られたソースコードをソースコードテーブル413に記憶する。   In step S320, the CPU 111 (for example, the source code conversion unit 430) of the information processing apparatus 110 converts the module added to the processing flow drawing area 1102 in step S317 into source code using the module / source code master table 411. The source code obtained by the conversion is stored in the source code table 413. At this time, the CPU 111 (for example, the source code conversion unit 430) of the information processing apparatus 110 performs correction such as reflecting parameters on the source code read from the module / source code master table 411, and the obtained source code Is stored in the source code table 413.

ステップS307において、ステップS306で特定したモジュールが「反復・分岐処理」と判断した場合には、CPU111は処理をステップS321に進め、「分岐処理モジュール登録」処理を行う。「分岐処理モジュール登録」処理については、図22で詳細を説明する。   If it is determined in step S307 that the module identified in step S306 is “repetition / branch processing”, the CPU 111 advances the processing to step S321 to perform “branch processing module registration” processing. Details of the “branch processing module registration” processing will be described with reference to FIG.

ステップS321が終了すると、ステップS322へ進み、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS306で特定したモジュールを処理フロー描画領域1102に追加して描画(表示)する。以上が、図10のステップS207のモジュールの「新規追加処理」の詳細な説明である。   When step S321 ends, the process proceeds to step S322, and the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 adds the module identified in step S306 to the processing flow drawing area 1102 and draws (displays) it. The above is the detailed description of the “new addition process” of the module in step S207 of FIG.

次に、「分岐処理」や「反復処理」における詳細な処理条件などを登録する条件式テーブルT2100について図21を用いて説明する。   Next, a conditional expression table T2100 for registering detailed processing conditions in “branch processing” and “iterative processing” will be described with reference to FIG.

図21は条件式テーブルT2100の一例であり、インデックス(Index)2101、条件式2104、閾値1(2105)及び閾値2(2106)、次ステップ2107を登録する。なお、この条件式テーブルT2100は、「分岐処理」モジュール、「反復処理」モジュール1つに1つに対してテーブルを1つ作成する。   FIG. 21 shows an example of the conditional expression table T2100. An index 2101, a conditional expression 2104, a threshold value 1 (2105) and a threshold value 2 (2106), and the next step 2107 are registered. The conditional expression table T2100 creates one table for one “branch processing” module and one “repetition processing” module.

特徴量2103は、結果を比較する際に用いる特徴量、例えば、マッチングの検出個数や粒子解析の粒子数などを登録する。また条件式列2104には、Greater
/ GreaterOrEqual
/Equal / LessOrEqual / Less / InRange / OutRangeなどが、閾値1列2105及び閾値2列2106には、特徴量と比較する値を登録する。次ステップ列2107には、条件ごとに次に行うステップ(処理フロー・入出力パラメータテーブルのインデックス(Index)1801)を設定する。複数の条件がある場合には、条件式テーブルT2100の行数を追加して対応する。
The feature quantity 2103 registers the feature quantity used when comparing the results, for example, the number of matching detections and the number of particles for particle analysis. In addition, the conditional expression column 2104 includes Greator.
/ GreaterOrEqual
/ Equal / LessOrEqual / Less / InRange / OutRange and the like, the threshold 1 column 2105 and the threshold 2 column 2106 register values to be compared with the feature amount. In the next step column 2107, the next step (index of processing flow / input / output parameter table (Index) 1801) is set for each condition. When there are a plurality of conditions, the number of rows in the conditional expression table T2100 is added to cope with it.

次に、図22を参照して、図12のステップS321の「分岐処理モジュール登録」処理の詳細について説明する。図22は図12のステップS321の分岐処理モジュール登録処理の詳細を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, the details of the “branch processing module registration” process in step S321 of FIG. 12 will be described with reference to FIG. FIG. 22 is a flowchart showing details of the branch processing module registration processing in step S321 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS1001で、CPU111は、処理フロー・入出力パラメータテーブルT600のインデックス(Index)601の1および2、さらに、登録対象のモジュールに対して出力パラメータ1806を元に、選択可能な特徴量の種類を取得する。取得した特徴量の種類をRAM112に記憶する。   First, in step S1001, the CPU 111 selects the feature quantities that can be selected based on the index 1 601 and 2 of the processing flow / input / output parameter table T600 and the output parameter 1806 for the module to be registered. Get the type. The acquired feature amount type is stored in the RAM 112.

ステップS1002では、条件式入力画面を表示する。図20は、条件式入力画面の一例であり、特徴量を指定する特徴量リストボックスや、判断するための条件を設定するための条件式および閾値入力ボックスを有する。特徴量リストボックスはこの後の判断処理に対してとり得る特徴量を選択可能にリスト表示している。   In step S1002, a conditional expression input screen is displayed. FIG. 20 is an example of a conditional expression input screen, which includes a feature quantity list box for specifying a feature quantity, and a conditional expression and a threshold value input box for setting conditions for determination. The feature amount list box displays a list of selectable feature amounts for subsequent determination processing.

ステップS1003では、条件式入力画面の所定の項目に対して、入力装置120から値が入力されたか否かを判断する。ステップS1003で、入力装置120から入力がない(ステップS1003/NO)の場合、入力待ちとする。一方、ステップS903において、入力装置120から入力があった(ステップS1003/YES)場合、ステップS1004へ進む。   In step S1003, it is determined whether or not a value is input from the input device 120 for a predetermined item on the conditional expression input screen. In step S1003, when there is no input from the input device 120 (step S1003 / NO), it waits for input. On the other hand, if there is an input from the input device 120 in step S903 (step S1003 / YES), the process proceeds to step S1004.

ステップS1004では、情報処理装置110のCPU111は、ステップS1003で入力された値が妥当か否かの判断をする。ここで判断する項目としては、モジュールごとにあらかじめ設定された条件式入力画面の下限値、および上限値に入力された数値や文字列である。   In step S1004, the CPU 111 of the information processing apparatus 110 determines whether or not the value input in step S1003 is valid. The items to be determined here are the lower limit value of the conditional expression input screen set in advance for each module, and the numerical value or character string input as the upper limit value.

ステップS1005では、ステップS1004で特定した値が正しいか否かを判定する。ステップS1005にて判定した結果、値が正しくないと判断した(ステップS1005/NO)場合は、入力装置120からの入力待ちとする。一方、値が正しいと判断した(ステップS1005/YES)場合、ステップS1006に進む。   In step S1005, it is determined whether or not the value specified in step S1004 is correct. As a result of the determination in step S1005, when it is determined that the value is not correct (step S1005 / NO), the process waits for input from the input device 120. On the other hand, if it is determined that the value is correct (step S1005 / YES), the process proceeds to step S1006.

ステップS1006では、情報処理装置110のCPU111(例えばフロー作成部420)は、入力装置120からの入力指示に基づいて、条件式入力画面2000で編集されたパラメータを登録するか否かを判断する。具体的に、ここでは、図20に示す条件式入力画面の設定ボタンが選択された際に当該条件式入力画面で編集されたパラメータを登録すると判断し、また、図20に示す条件式入力画面のキャンセルボタン等が選択された際に当該条件式入力画面で編集されたパラメータを登録しないと判断する。   In step S <b> 1006, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 determines whether or not to register the parameter edited on the conditional expression input screen 2000 based on an input instruction from the input device 120. Specifically, here, when the setting button of the conditional expression input screen shown in FIG. 20 is selected, it is determined that the parameter edited on the conditional expression input screen is registered, and the conditional expression input screen shown in FIG. When the cancel button or the like is selected, it is determined that the parameter edited on the conditional expression input screen is not registered.

ステップS1007では、情報処理層装置110のCPU111はRAM112上に条件式テーブルT2100を、新規に作成する。   In step S1007, the CPU 111 of the information processing layer apparatus 110 newly creates a conditional expression table T2100 on the RAM 112.

ステップS1008では、ステップS1007で作成した条件式テーブルT2100に、レコードを追加する。以上が図12のステップS321の分岐処理モジュール登録の詳細な説明である。   In step S1008, a record is added to the conditional expression table T2100 created in step S1007. The above is the detailed description of the branch processing module registration in step S321 in FIG.

ここで、実際に図6のT600、T601に示すデータを作成する際にCPU111が行う処理について説明する。具体的に作成する処理フローとしては、「画像取り込み」処理(不図示)後、画像入力コントローラ115fによる、「二値化」→「モフォロジ(3回繰り返し)」の処理を行い、その後、情報処理装置110のCPU111による、「位置決め」を行い、「位置決め」の結果が条件を満たす場合には「回転」、NGなら「ミラー反転」を行う。その後、「メディアン」処理を行い、その後に「コード認識」処理を行い、結果を「I/O出力」する処理フローである。尚、ここでは「入力モード」用の処理フロー・入出力パラメータテーブルをT600、「処理モード」用の処理フロー・入出力パラメータテーブルをT601で表している。   Here, a process performed by the CPU 111 when actually creating data shown in T600 and T601 in FIG. 6 will be described. As a specific processing flow, after “image capture” processing (not shown), the processing of “binarization” → “morphology (repeated three times)” is performed by the image input controller 115f, and then information processing is performed. “Positioning” is performed by the CPU 111 of the apparatus 110, and “rotation” is performed when the result of “positioning” satisfies the condition, and “mirror inversion” is performed when the result is NG. Thereafter, “median” processing is performed, “code recognition” processing is performed thereafter, and the result is “I / O output”. Here, the processing flow / input / output parameter table for “input mode” is represented by T600, and the processing flow / input / output parameter table for “processing mode” is represented by T601.

まず、「二値化」処理モジュールの新規追加処理を行うことになるが、(図10のステップS207)、処理モジュールの選択に先立ち、二値化処理を画像入力コントローラ115fにより行わせる処理として登録するので、入力モードのモジュールを選択するために、開発者は、図11のツールバー1107の「入力」をクリック指示することで、CPU111に対して、「入力モード」の指示をCPU111に対して行うことになる。   First, a process of newly adding a “binarization” processing module is performed (step S207 in FIG. 10), and is registered as a process for causing the image input controller 115f to perform the binarization process prior to the selection of the processing module. Therefore, in order to select a module in the input mode, the developer instructs the CPU 111 to input the “input mode” to the CPU 111 by instructing the CPU 111 to click “input” in FIG. It will be.

その入力指示を受け付けると、図12のステップS301のモード判定処理で、CPU111は入力モードであると判断し、処理をステップS303に進め、モジュール・ソースコードマスタテーブル411から、入力モードのモジュールを読み出し(図12のステップS303の処理)、利用可能な処理ユニット(モジュール)を表示するツールボックス1101に読み出した各モジュールを設定する(図12のステップS305の処理)。   When the input instruction is accepted, the CPU 111 determines in the mode determination process in step S301 of FIG. 12 that the input mode is selected, and the process proceeds to step S303 to read out the module in the input mode from the module / source code master table 411. (Processing in step S303 in FIG. 12), the read modules are set in the tool box 1101 that displays available processing units (modules) (processing in step S305 in FIG. 12).

そしてその後、開発者は、入力装置120を用いて、ツールボックス1101に設定されているモジュールメニュー項目のうち、二値化のモジュールメニューを処理フロー描画領域1102にドラッグアンドドロップ処理する指示入力を行う。その処理をCPU111は検知して、ドラッグアンドドロップの対象となったモジュールを特定する(ステップS306のモジュール特定)。この場合は、二値化モジュールが新規追加のモジュールとして特定される。   After that, the developer uses the input device 120 to input an instruction to drag and drop the binarized module menu among the module menu items set in the tool box 1101 to the processing flow drawing area 1102. . The CPU 111 detects the process and identifies the module that is the target of drag and drop (module identification in step S306). In this case, the binarization module is specified as a newly added module.

ここで、図10及び図12のフローチャートには示していないが、新規のプロジェクト開発の際には、処理フローメインテーブル418が作成されることになる。その構成例を図9に示す。   Here, although not shown in the flowcharts of FIGS. 10 and 12, a process flow main table 418 is created when a new project is developed. An example of the configuration is shown in FIG.

図9は、図4のテーブル記憶部410に記憶されている処理フローメインテーブル418の構成の一例を示す図である。図に示すように、処理フローメインテーブル418は、データ項目として、Index901、順序902、カメラ番号903、処理フロー・入出力パラメータテーブル904を備えている。   FIG. 9 is a diagram showing an example of the configuration of the processing flow main table 418 stored in the table storage unit 410 of FIG. As shown in the figure, the processing flow main table 418 includes, as data items, an Index 901, an order 902, a camera number 903, and a processing flow / input / output parameter table 904.

Index901はレコードを一意に識別する識別情報である。順序902はこの処理フローメインテーブルで管理されているレコードが示す処理を実行する順序を示す。カメラ番号903は、作成した処理フローでの画像処理対象となるカメラを識別するためのカメラ番号を示す。処理フロー・出入力パラメータテーブル名904は当該レコードに対応する処理を登録している処理フロー・出入力パラメータテーブルのテーブル番号が登録されている。   Index 901 is identification information for uniquely identifying a record. An order 902 indicates the order in which the process indicated by the record managed in the process flow main table is executed. The camera number 903 indicates a camera number for identifying a camera that is an image processing target in the created processing flow. In the process flow / input / output parameter table name 904, the table number of the process flow / input / output parameter table in which the process corresponding to the record is registered is registered.

本作成例では、画像入力コントローラ115fで実行される一連の処理(Indexが1のレコード)、及び情報処理装置110のCPU111で実行される一連の処理(Index番号が2のレコード)が登録されることになり、それぞれ処理フロー・入出力パラメータテーブル名に、図6のT600(本作成例で作成する画像入力コントローラ115fが実施する画像処理フロー)と、図6のT601が登録されることになる。   In this creation example, a series of processes (records with an index of 1) executed by the image input controller 115f and a series of processes (records with an index number of 2) executed by the CPU 111 of the information processing apparatus 110 are registered. Thus, T600 in FIG. 6 (image processing flow executed by the image input controller 115f created in the present creation example) and T601 in FIG. 6 are registered in the processing flow / input / output parameter table name, respectively. .

ステップS306で、情報処理装置110のCPU111により、ステップS305で選択したモジュールを「二値化」モジュールと特定したのち、特定したモジュールが、反復処理か条件分岐処理のモジュールであるか否かをCPU111は判断する。今回は「二値化」のモジュールであるのでNOと判断し、処理をステップS308に進めることになる。   In step S306, the CPU 111 of the information processing apparatus 110 identifies the module selected in step S305 as a “binarization” module, and then determines whether the identified module is a module for repetitive processing or conditional branch processing. Judge. Since it is a “binarization” module this time, it is determined NO and the process proceeds to step S308.

ステップS308に進むと、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS306の処理で得られた情報を、処理フロー・入出力パラメータテーブル412に1レコードとして追加する処理を行う。この場合、図6のT600のIndex601が1のレコードが追加されることになる。その際に、合わせて、入力パラメータや、出力パラメータの指定を受け付け、その情報も合わせて登録することになる。   In step S308, the CPU 111 of the information processing apparatus 110 (for example, the flow creation unit 420) performs processing for adding the information obtained in step S306 as one record to the processing flow / input / output parameter table 412. In this case, a record whose index 601 of T600 in FIG. 6 is 1 is added. At that time, designation of input parameters and output parameters is accepted, and the information is also registered.

その後、図12のイベントセット判断処理(ステップS312)や、イベント待機判断処理(ステップS313)等を行うことになるが、それぞれ設定は行わないので、それらで判断処理ではNOと判断し、ステップS320でソースコード変換を行い、二値化処理の新規追加処理は終了することになる。   Thereafter, the event set determination process (step S312), the event standby determination process (step S313), etc. of FIG. 12 are performed. However, since each setting is not performed, it is determined NO in the determination process, and step S320 is performed. Thus, the source code conversion is performed, and the new addition process of the binarization process ends.

続いて、本作成例では、「モフォロジ」モジュールを、登録することになるが、二値化の新規登録処理とほぼ同様であるために、説明は割愛する。   Subsequently, in this creation example, the “morphology” module is registered, but since it is almost the same as the new registration process for binarization, the description is omitted.

その後、新規登録を行った「モフォロジ」処理を3回繰り返し実行させるために、反復処理の設定を行うことになる。   Thereafter, in order to repeatedly execute the newly registered “morphology” process three times, the iterative process is set.

まず、「モフォロジ」処理を3 回実施させるための「反復処理」モジュールを、処理フローとして図12の手順に従い、新規追加登録する処理を説明する。ステップS306までの処理は既に説明した二値化モジュールの新規追加処理とほぼ同様であるので説明は割愛する。 First, a process for newly registering an “iterative process” module for performing the “morphology” process three times as a process flow according to the procedure of FIG. 12 will be described. Since the process up to step S306 is almost the same as the process for newly adding a binarized module already described, a description thereof will be omitted.

ステップS307では、CPU111は、ステップS306で特定されたモジュールが「反復処理」モジュールであると判断することになるので(ステップS307でYES),と判断した場合、ステップS321に進み、図22を用いて既に説明した反復・分岐処理モジュールの登録処理を行う。   In step S307, the CPU 111 determines that the module identified in step S306 is an “iterative process” module (YES in step S307). If the CPU 111 determines that the module is “iteration process”, the process proceeds to step S321 and uses FIG. The registration processing of the iteration / branch processing module already described above is performed.

図22に示す反復分岐処理を行うことで、図6のT600のIndexが3であるレコードが作成されることになるのだが、ここで、そのレコードの次ステップが2、NULLとなっていることに注目してほしい。ここで、反復条件を満たしている場合には次ステップ607で示されているIndex番号2のモフォロジ処理を行うことになる。そして、反復条件を満たさなくなった場合には次ステップの処理を行うことになる。しかしながら、この場合は次ステップとしてNULLが設定されているので、本テーブルで管理されている処理を終了することになる。ここで、次ステップ607を1、NULLと設定した場合には、反復条件を満たしている場合には、次ステップであるIndex1の処理である二値化処理を行うことを意味する。そのような設定をした場合には反復処理後、反復条件を満たしていれば、二値化処理を行い、その後モフォロジ処理を行う。その後反復の判定処理を行い、反復条件を満たしていれば再度二値化処理を行うというロジック(処理フロー)に基づくプログラムが作成されることになる。 By performing the iterative branching process shown in FIG. 22, a record in which the index of T600 in FIG. 6 is 3 is created. Here, the next step of the record is 2, NULL. I want you to pay attention to. Here, when the repetition condition is satisfied, the morphology process of the index number 2 shown in the next step 607 is performed. When the repetition condition is no longer satisfied, the next step is performed. However, in this case, since NULL is set as the next step, the process managed in this table is terminated. Here, when the next step 607 is set to 1 and NULL, this means that if the repetition condition is satisfied, the binarization process that is the process of Index1 that is the next step is performed. When such a setting is made, after iterative processing, if the iterative conditions are satisfied, binarization processing is performed, and then morphology processing is performed. After that, iterative determination processing is performed, and if the repetition condition is satisfied, a program based on a logic (processing flow) of performing binarization processing again is created.

ステップS1001では、処理フロー・入出力パラメータテーブルT600のインデックス(Index)601の1および2、さらに、登録対象のモジュールに対して出力パラメータ1806を元に、選択可能な特徴量を特定する。すなわち、この場合は、反復処理の「カウンタ」のみであるため、「カウンタ」を選択可能な特徴量としてRAM112に記憶する。   In step S1001, selectable feature quantities are specified based on 1 and 2 of the index (Index) 601 in the processing flow / input / output parameter table T600, and the output parameter 1806 for the module to be registered. That is, in this case, since only the “counter” of the iterative process is used, the “counter” is stored in the RAM 112 as a selectable feature amount.

ステップS1002では、条件式入力画面2000を表示する。RAM112に選択可能な特徴量として「カウンタ」が記憶されているので、図20の特徴量リスト2001には、「カウンタ」−「カウント数」のみが表示されることになる。   In step S1002, the conditional expression input screen 2000 is displayed. Since “counter” is stored as a selectable feature amount in the RAM 112, only “counter” − “count number” is displayed in the feature amount list 2001 of FIG.

ステップS903では、本例では、特徴量を「カウンタ数」、条件式を「<」、上限値を「3」が入力されることになる。   In step S903, in this example, “number of counters”, “<” as a conditional expression, and “3” as an upper limit value are input.

そしてその後のステップS1007では、情報処理装置110のCPU111はRAM112上に条件式テーブルT2100を、新規に作成することになる。図21に示すようにインデックス(Index)2101を「1」として1レコード追加し、条件を満たす場合の設定値を書き込む。つまり、特徴量2103に、反復処理のカウント数
である「UI00003−Count」、条件式2104に「Less」、閾値1の2105には「3」を登録する。なお、条件式2104で「Less」、が設定されているので閾値2の2106には、「NULL」を設定する。次ステップ2107には、反復処理を行う最初の処理モジュールを指定することになり、ここでは、「UI00002」の「モフォロジ」モジュールを示す、処理フロー・入出力パラメータテーブルT600のインデックス(Index)601である「2」を登録する。
In subsequent step S1007, the CPU 111 of the information processing apparatus 110 newly creates the conditional expression table T2100 on the RAM 112. As shown in FIG. 21, the index (Index) 2101 is set to “1”, one record is added, and the setting value when the condition is satisfied is written. That is, “UI00003-Count” that is the count number of the iterative process is registered in the feature quantity 2103, “Less” is registered in the conditional expression 2104, and “3” is registered in the threshold 1105 2105. Since “Less” is set in the conditional expression 2104, “NULL” is set in the threshold 2106. In the next step 2107, the first processing module for performing the iterative processing is designated. Here, an index (Index) 601 of the processing flow / input / output parameter table T600 indicating the “morphology” module of “UI00002” is designated. A certain “2” is registered.

さらに、条件式テーブルT2100のインデックス(Index)2101を「2」として、1レコード追加し、特徴量2103に「UI00003-Count」、条件式2104「Else」とする。次ステップには、反復処理を終えて次に実行するステップを設定することになるが、現段階ではまだ次にステップが登録されていないため、次ステップ2107は一時的に「NULL」として登録することになる。そして、図6のT600のIndex601が3のレコードの分岐参照608にT2100を設定する。以上で、反復処理の登録が終了する。 Further, the index (Index) 2101 of the conditional expression table T2100 is set to “2”, one record is added, and “UI00003-Count” is set as the feature quantity 2103, and the conditional expression 2104 is “Else”. In the next step, the step to be executed next after finishing the iterative process is set, but since the next step is not yet registered at this stage, the next step 2107 is temporarily registered as “NULL”. It will be. Then, T2100 is set in the branch reference 608 of the record whose index 601 of T600 in FIG. This completes registration of the iterative process.

続いて、本例では、「位置決め」処理を登録するが、これ以降の処理は情報処理装置110のCPU111に行わせるためのプログラムを作成するためのロジック(処理フロー)を作成することになるので、動作モードとしては「処理モード」を選択することになる。   Subsequently, in this example, “positioning” processing is registered, but since the subsequent processing creates logic (processing flow) for creating a program for causing the CPU 111 of the information processing apparatus 110 to perform. The “processing mode” is selected as the operation mode.

前述の手順と同様に、「位置決め」モジュールを登録するが、図12のステップS301で特定したモードが、「処理モード」であるため、ステップS302/NOとなり、ステップS304へ進む。ここで、初めて「処理モード」が選択されたため、新規に処理フロー・入出力パラメータテーブルT601を作成し、インデックス(Index)611に「1」、順序612に「1」、モジュール613に「位置決め」、フロー登録名614に「UP00001」、入力パラメータの画像バッファには、「入力モード」の処理フロー・入出力パラメータテーブルT600の最終画像である「画像バッファD」が、設定される。また、同時に、情報処理装置110のCPU111は、処理フローメインテーブルT900に、Index(インデックス)901を“2”、順序902を“2”、処理フロー・入出力パラメータテーブル名を“T601”として1レコード追加する。   Similar to the above-described procedure, the “positioning” module is registered. However, since the mode specified in step S301 in FIG. 12 is the “processing mode”, step S302 / NO is performed, and the process proceeds to step S304. Here, since “processing mode” is selected for the first time, a new processing flow / input / output parameter table T601 is created, “1” in the index 611, “1” in the order 612, and “positioning” in the module 613. “UP00001” is set in the flow registration name 614, and “image buffer D” which is the final image in the processing flow / input / output parameter table T600 of “input mode” is set in the input parameter image buffer. At the same time, the CPU 111 of the information processing apparatus 110 sets the index (index) 901 to “2”, the order 902 to “2”, and the process flow / input / output parameter table name to “T601” in the processing flow main table T900. Add a record.

次に、「条件分岐処理」モジュールを含む場合の情報処理装置110による制御方法の処理手順について説明する。具体的には、先の位置決め処理で行われた結果を用いて、条件を満たす場合(YES)は、「回転補正」処理を、条件を満たさない場合(NO)は、「ミラー」処理を行う場合を例にして説明する。ステップS306では、選択されたモジュールを特定する。   Next, the processing procedure of the control method performed by the information processing apparatus 110 when the “conditional branch processing” module is included will be described. Specifically, using the result of the previous positioning process, if the condition is satisfied (YES), the “rotation correction” process is performed. If the condition is not satisfied (NO), the “mirror” process is performed. A case will be described as an example. In step S306, the selected module is specified.

ステップS307の判断処理において、ステップS306で特定されたモジュールが「条件分岐処理」であるので、CPU111はYESと判断し、ステップS321にて「条件分岐処理」モジュールの登録処理を行う。この「条件分岐処理」モジュールの登録処理は、「反復処理」モジュールの登録処理とほぼ同様であるため詳細な説明は省略する。なお、「条件分岐処理」の処理の結果作成される条件式テーブルを、図21のT2110に示す。   In the determination process of step S307, since the module identified in step S306 is the “conditional branch process”, the CPU 111 determines YES, and performs the “conditional branch process” module registration process in step S321. Since the registration processing of the “conditional branch processing” module is almost the same as the registration processing of the “iterative processing” module, detailed description thereof is omitted. Note that a conditional expression table created as a result of the “conditional branching process” is shown at T2110 in FIG.

ステップS1001では、処理フロー・入出力パラメータテーブルT600の出力パラメータ606を元に、現在のステップまでで選択可能な特徴量を特定する。ここでは、情報処理装置110のCPU111は、出力パラメータ606を参照するが、本例では、選択できる特徴量としては、二値化の閾値「UI00001−Thresh」,反復処理の回「UI00003−Count」、位置決めの個数「UP00001−Count」である。 In step S1001, based on the output parameter 606 of the processing flow / input / output parameter table T600, feature quantities that can be selected up to the current step are specified. Here, the CPU 111 of the information processing apparatus 110 refers to the output parameter 606. In this example, the selectable feature amount includes a binarization threshold “UI00001-Thresh” and an iterative process time “UI00003-Count”. The number of positioning is “UP00001-Count”.

ステップS1002では、ステップS1001で特定した特徴量をもとに条件式入力画面2000を表示し、入力を受け付ける。本作成例では、特徴量2113を前ステップの位置決めの個数「U00004−Count」、条件式2114を「==」、閾値1の2114を「1」として入力を受け付けることになる。 In step S1002, the conditional expression input screen 2000 is displayed based on the feature amount specified in step S1001, and input is accepted. In this creation example, the feature amount 2113 is input as the number of positionings “U00004-Count” in the previous step, the conditional expression 2114 is “==”, and the threshold value 2114 is “1”.

ステップS907では、情報処理装置110のCPU111は、RAM112上に条件式テーブルT2110を、新規に作成することになる。   In step S907, the CPU 111 of the information processing apparatus 110 newly creates the conditional expression table T2110 on the RAM 112.

ステップS908では、ステップS907で作成した条件式テーブルT2110に、レコードを追加する。このとき、まず、インデックス(Index)2111を「1」として1 コード追加し、条件を満たす場合の設定値を書き込む。特徴量2113に、位置決め処理の個数である「UP00001−Count」を、条件式2114に「Equal」、閾値1の2115には「1」を登録する。なお、条件式2114で「Less」が設定されているので閾値2の2116には、「NULL」を設定する。次ステップ2117には、「条件分岐処理」を行った際の分岐先の処理モジュールを指定することになるが、ここではまだ次ステップが登録されていないため、一時的に「NULL」とする。   In step S908, a record is added to the conditional expression table T2110 created in step S907. At this time, first, an index 2111 is set to “1”, one code is added, and a setting value when the condition is satisfied is written. “UP00001-Count”, which is the number of positioning processes, is registered in the feature amount 2113, “Equal” is registered in the conditional expression 2114, and “1” is registered in the threshold 1115. Since “Less” is set in the conditional expression 2114, “NULL” is set in the threshold 2116. In the next step 2117, the processing module of the branch destination when the “conditional branch processing” is performed is designated, but since the next step is not yet registered, it is temporarily set to “NULL”.

さらに、条件式テーブルT2110にインデックス(Index)2101を「2」として、1 レコード追加し、特徴量2113に「UP00001−Count」、条件式1914を「Else」とする。同様に次ステップには、「条件分岐処理」を終えて次に実行するステップを設定することになるが、現段階ではまだ次にステップが登録されていないため、次ステップ1917は一時的に「NULL」とする。また、図6のT601のIndex601が2のレコードの分岐参照608にT2110を設定する。   Furthermore, an index (Index) 2101 is set to “2” in the conditional expression table T2110, one record is added, “UP00001-Count” is set as the feature quantity 2113, and “Else” is set as the conditional expression 1914. Similarly, in the next step, the step to be executed next after the “conditional branch process” is set, but since the next step is not yet registered at this stage, the next step 1917 is temporarily set to “ "NULL". Also, T2110 is set in the branch reference 608 of the record whose index 601 of T601 in FIG.

次に、「条件分岐」モジュールの後に、条件分岐内のノードの処理を追加登録する処理を 説明する。ここでは、位置決めの個数が「1」の場合には回転補正、「1」以外の場合にはミラー変換を行うものとし、「回転補正」処理のモジュールと「ミラー変換」処理のモジュールをそれぞれのノードに追加登録する処理を行う。   Next, a process for additionally registering the process of the node in the conditional branch after the “conditional branch” module will be described. Here, when the number of positioning is “1”, rotation correction is performed, and when it is not “1”, mirror conversion is performed, and the “rotation correction” processing module and the “mirror conversion” processing module are respectively set. Perform additional registration with the node.

その後、条件分岐モジュールに続くモジュールの登録に該当するので、条件式テーブルT2110で条件を満たす場合の次ステップ、つまりインデックス(Index)2111が「1」の次ステップ2117には、「3」を登録する。一方、条件を満たさない場合、つまりインデックス(Index)2111が「2」の次ステップ2117には「4」を登録する。あわせて、処理フロー・入出力パラメータテーブルT601のインデックス(Index)611が「2」の次ステップ1807には、「3,4」が登録されることになる。   After that, since it corresponds to the registration of the module following the conditional branch module, “3” is registered in the next step when the condition is satisfied in the conditional expression table T2110, that is, the next step 2117 in which the index (Index) 2111 is “1”. To do. On the other hand, if the condition is not satisfied, that is, “4” is registered in the next step 2117 in which the index 2111 is “2”. In addition, “3, 4” is registered in the next step 1807 in which the index (Index) 611 of the processing flow / input / output parameter table T601 is “2”.

なお、ここで、処理フロー・入出力パラメータテーブルT601においては、インデックス(Index)611の「3」の「回転補正」、および「4」の「ミラー変換」の入力パラメータ1805の画像バッファは、インデックス(Index)601の「2」の「条件分岐処理」の出力パラメータ616の画像バッファのポインタを使用することになる。つまり「条件分岐処理」の前ステップであるインデックス(Index)601の「1
」の位置決めの出力画像617を使用することになる。
Here, in the processing flow / input / output parameter table T601, the image buffer of the input parameter 1805 of “3” “rotation correction” of the index (Index) 611 and “mirror conversion” of “4” is the index. The pointer of the image buffer of the output parameter 616 of “conditional branch processing” of “Index” 601 “2” is used. That is, “1” of the index (Index) 601 which is the previous step of “conditional branch processing”
The positioning output image 617 is used.

ステップS319以降の処理は図12の先の説明と同様である。が、ステップS321のソース変換の処理は「条件分岐処理」、「回転処理」、「ミラー処理」のモジュールについてモジュール・ソースコードマスタテーブル411を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル413に記憶して更新する。また、ソースコードテーブル413のソースコードをデバッグ・コンパイルして、これをオブジェクトコードテーブル414に記憶して更新する。以上で、「条件分岐処理」モジュールの登録およびプログラムの作成が終了することになる。

引き続き、「メディアン」処理、「コード認識」処理を行い、最後に「I/O 出力」処理の登録を行うが、図12で説明した手順に従い新規追加処理するため、詳細の説明は重複するので省略する。以上が図6に示す処理フロー・入出力パラメータテーブルの作成例である。
The processing after step S319 is the same as that described above with reference to FIG. However, the source conversion processing in step S321 is performed by converting the modules of “conditional branch processing”, “rotation processing”, and “mirror processing” into the source code using the module / source code master table 411, and the source obtained by the conversion. The code is stored in the source code table 413 and updated. Also, the source code of the source code table 413 is debugged and compiled, and this is stored in the object code table 414 and updated. This completes registration of the “conditional branch processing” module and creation of the program.

Subsequently, “median” processing and “code recognition” processing are performed, and finally “I / O output” processing is registered. However, since new addition processing is performed in accordance with the procedure described in FIG. Omitted. The above is an example of creating the processing flow / input / output parameter table shown in FIG.

次に、図13を参照して、図10のステップS209に示す変更処理の詳細な処理について説明する。図13は、図10のステップS209における「変更処理」の詳細な手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, with reference to FIG. 13, the detailed process of the change process shown in step S209 of FIG. 10 will be described. FIG. 13 is a flowchart illustrating an example of a detailed procedure of the “change process” in step S209 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

図13のステップS401において、情報処理装置110のCPU111は、既に処理フローとして登録されているモジュールを特定する処理を行う。開発者(ユーザ)は、図11に示す画像処理プロジェクト開発画面1100中の処理フロー描画領域1102に表示されているモジュールに対してクリック指示を行うことで処理対処とするモジュールの指定入力を行うことになるので、CPU111は、その指定入力に従ってモジュールを特定することになる。   In step S401 in FIG. 13, the CPU 111 of the information processing apparatus 110 performs processing for specifying a module that has already been registered as a processing flow. The developer (user) performs designation input of a module to be processed by giving a click instruction to the module displayed in the processing flow drawing area 1102 in the image processing project development screen 1100 shown in FIG. Therefore, the CPU 111 specifies the module according to the designation input.

ステップS402では、情報処理装置110のCPU111は、ステップS401で特定したモジュールのパラメータ編集画面をCRT130に表示する。
図14でパラメータ編集画面の一例を示す。図14に示すパラメータ編集画面1400には、画像ファイルや画像処理の設定ファイルの読み出し、保存を行うツールバー1401と、画像処理のパラメータ設定領域1402と、結結果画像表示領域1403と、入力したパラメータ設定するかどうかの設定メニュー1404等が設けられている。
In step S <b> 402, the CPU 111 of the information processing apparatus 110 displays a parameter editing screen for the module specified in step S <b> 401 on the CRT 130.
FIG. 14 shows an example of the parameter editing screen. A parameter editing screen 1400 shown in FIG. 14 includes a toolbar 1401 for reading and saving an image file and an image processing setting file, an image processing parameter setting area 1402, a result image display area 1403, and input parameter settings. A setting menu 1404 for determining whether or not to perform is provided.

なお、図14は、空間フィルタに関するパラメータを設定する画面の例であり、ここでは、空間フィルタに用いるカーネルタイプ(ガウシアン、ソーベルなど)を設定する項目1402aと、開発者(ユーザー)が自由に設定できるカスタムカーネル設定ボタン1402b、また処理領域を設定する項目1402cが設けられている。また、結果画像表示領域1403は、パラメータ設定領域1402で値を変更すると、随時結果画像が更新され処理結果を確認することができる。   FIG. 14 shows an example of a screen for setting parameters relating to the spatial filter. Here, an item 1402a for setting a kernel type (Gaussian, Sobel, etc.) used for the spatial filter and a developer (user) can freely set. A custom kernel setting button 1402b that can be used and an item 1402c for setting a processing area are provided. Further, when the value of the result image display area 1403 is changed in the parameter setting area 1402, the result image is updated at any time and the processing result can be confirmed.

その後、処理をステップS403に進め、ステップS402で表示したパラメータ編集画面で、任意のパラメータが変更されたか否かを判断する。ステップS403の判断処理で、パラメータが変更がないと判断した場合(ステップS403/NO)には、本変更処理を終了する。一方、ステップS403で変更があったと判断した場合(ステップS403/YES)、CPU111は、処理をステップS404に進める。   Thereafter, the process proceeds to step S403, and it is determined whether or not any parameter has been changed on the parameter editing screen displayed in step S402. If it is determined in step S403 that the parameter has not been changed (step S403 / NO), the change process is terminated. On the other hand, if it is determined in step S403 that there is a change (step S403 / YES), the CPU 111 advances the process to step S404.

ステップS404では、CPU111は、変更のあったパラメータを特定する。そして、ステップS405では、ステップS404で変更のあったパラメータをもとに処理を実行する。   In step S404, the CPU 111 identifies the changed parameter. In step S405, the process is executed based on the parameter changed in step S404.

その後、処理をステップS406に進め、情報処理装置110のCPU111は、ステップS404で変更のあったパラメータ設定を有効にするか否かを判断する。つまり、図14の設定メニュー1404の入力を判断する。有効にするとCPU111が判断した場合(S406/YES)、処理をステップS407に進める。一方、有効にしないと判断した場合(S406/NO)には、変更処理を終了する。   Thereafter, the process proceeds to step S406, and the CPU 111 of the information processing apparatus 110 determines whether or not to enable the parameter setting changed in step S404. That is, the input of the setting menu 1404 in FIG. 14 is determined. If the CPU 111 determines that it is valid (S406 / YES), the process proceeds to step S407. On the other hand, if it is determined not to be valid (S406 / NO), the change process is terminated.

ステップS407では、CPU111は、処理フロー・入出力パラメータテーブルを更新し、RAM112に記憶する。   In step S <b> 407, the CPU 111 updates the processing flow / input / output parameter table and stores it in the RAM 112.

続いて、ステップS408では、CPU111は、処理フロー・入出力パラメータテーブルの情報を元に、ソースコードに変換し、ソースコードテーブル413に記憶する。以上で、変更処理が終了する。   Subsequently, in step S <b> 408, the CPU 111 converts the information into the source code based on the information in the processing flow / input / output parameter table, and stores it in the source code table 413. Thus, the change process ends.

なお、変更処理が行われた場合、すべてのモジュールにおいて、結果画像表示領域の各モジュールの結果画像をダブルクリック、もしくはコンテキストメニューから選択することで、画像比較ウィンドウを表示する。図23で、パラメータを変更した際に、前回のパラメータでの処理結果画像と今回の処理結果画像の画像比較ウィンドウを示す。 When the change process is performed, in all the modules, the image comparison window is displayed by double-clicking the result image of each module in the result image display area or selecting from the context menu. FIG. 23 shows an image comparison window of the processing result image with the previous parameter and the current processing result image when the parameter is changed.

次に、図15を参照して、図11のステップS211の移動処理の詳細な処理について説明する。図15は、図11のステップS211におけるモジュールの「移動処理」の詳細な処理手順の一例を示すフローチャートである。このモジュールの移動処理により、処理フローの順序が変更されることになる。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, with reference to FIG. 15, the detailed process of the movement process of step S211 of FIG. 11 is demonstrated. FIG. 15 is a flowchart illustrating an example of a detailed processing procedure of the “move process” of the module in step S211 of FIG. The order of processing flow is changed by the movement processing of this module. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

ステップS501において、情報処理装置110のCPU111(例えばフロー作成部420)は、図10のステップS204の入力において選択された、既に処理フローとして登録されているモジュールを特定する。ステップS502では、情報処理装置110のCPU111は、ステップS204でドラッグされたモジュールの位置を特定する。   In step S501, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 identifies a module that has been selected as an input in step S204 in FIG. In step S502, the CPU 111 of the information processing apparatus 110 specifies the position of the module dragged in step S204.

ステップS503では、ステップS502で特定した位置が正しいか否かを判断する。位置が正しい場合(S503/YES)、ステップ504へ進む、一方、正しくない場合(S503/NO)、ステップS502に戻り、正しい位置が特定されるまで続ける。   In step S503, it is determined whether or not the position specified in step S502 is correct. If the position is correct (S503 / YES), the process proceeds to step 504. If the position is not correct (S503 / NO), the process returns to step S502 and continues until the correct position is specified.

続いて、ステップS504において、情報処理装置110のCPU111(例えばフロー作成部420)は、処理フロー描画領域1102に描画(表示)されている処理フローについて、ステップS501で特定したモジュールを、ステップS502で特定したモジュールの間へ移動し、処理フロー描画領域1102を再描画(再表示)する処理を行う。   Subsequently, in step S504, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 identifies the module identified in step S501 for the processing flow drawn (displayed) in the processing flow drawing area 1102, in step S502. It moves between the identified modules, and performs processing to redraw (redisplay) the processing flow drawing area 1102.

そして、ステップS505では、CPU111(例えばフロー作成部420)は、ステップS501で特定したモジュールの移動処理に伴って、処理フロー・入出力パラメータテーブル412の変更処理を行う。ここでは、具体例を示さないが、まず、ステップS504で再描画された処理フロー描画領域1102の処理フローにおけるモジュールの順序に従って、処理フロー・入出力パラメータテーブル412の順序602(更にはフロー登録名604を変更する場合もある)を変更する。次に、ステップS504で再描画された処理フロー描画領域1102の処理フローにおけるモジュールの順序に従って、当該順序の変更に伴うモジュールの入力パラメータ605及び出力パラメータ606を変更する。例えば、移動対象のモジュールの入力パラメータ605には、1つ前の順序のモジュールにおける出力パラメータ606の画像バッファの情報を格納する。この際、移動対象のモジュールの出力パラメータ606は変更しないようにすることもできる。ただし、1つ後の順序のモジュールにおける入力パラメータ605は、移動対象のモジュールの出力パラメータ606の画像バッファの情報を格納する。   In step S505, the CPU 111 (for example, the flow creation unit 420) changes the process flow / input / output parameter table 412 in accordance with the module movement process specified in step S501. Here, a specific example is not shown, but first, in accordance with the order of modules in the processing flow of the processing flow drawing area 1102 redrawn in step S504, the order 602 of the processing flow / input / output parameter table 412 (and the flow registration name) 604 may be changed). Next, in accordance with the module order in the process flow of the process flow drawing area 1102 redrawn in step S504, the module input parameters 605 and output parameters 606 are changed according to the change in the order. For example, the input parameter 605 of the module to be moved stores information on the image buffer of the output parameter 606 in the immediately preceding module. At this time, the output parameter 606 of the module to be moved may not be changed. However, the input parameter 605 in the next-order module stores image buffer information of the output parameter 606 of the module to be moved.

続いて、ステップS505において、CPU111(例えばソースコード変換部430)は、処理フロー・入出力パラメータテーブル412において、順序602が変更されたモジュール以降のモジュールについて、モジュール・ソースコードマスタテーブル411を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル413に記憶して更新する。この際、CPU111(例えばソースコード変換部430)は、ソースコードテーブル413において、順序の変更が行われたモジュールに対応するソースコードをいったん消去し、再度、ソースコードへの変換を行ってソースコードテーブル413を更新する。   Subsequently, in step S505, the CPU 111 (for example, the source code conversion unit 430) uses the module / source code master table 411 for modules after the module whose order 602 has been changed in the processing flow / input / output parameter table 412. The source code is converted into source code, and the source code obtained by the conversion is stored in the source code table 413 and updated. At this time, the CPU 111 (for example, the source code conversion unit 430) erases the source code corresponding to the module whose order has been changed in the source code table 413, converts the source code into the source code again, and then converts the source code into the source code. The table 413 is updated.

ステップS506の処理が終了した場合には、操作入力装置120から「移動処理」の終了が指示されたときは図15のフローチャートの処理を終了し、また、入力装置120から「移動処理」の継続が指示されたときはステップS501に戻って、ステップS501以降の処理を再度行うことになる。以上のようにして、図11のステップS211におけるモジュールの「移動処理」が行われる。以上が移動処理の詳細な説明である。   When the process in step S506 is completed, when the operation input device 120 instructs to end the “move process”, the process of the flowchart in FIG. 15 is ended, and the “move process” is continued from the input device 120. Is instructed, the process returns to step S501, and the processing after step S501 is performed again. As described above, the “move process” of the module in step S211 of FIG. 11 is performed. The above is the detailed description of the movement process.

次に、図16を参照して、図11のステップS213に示す挿入処理の詳細な手順について説明する。図16は、図11のステップS213におけるモジュールの「挿入処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, with reference to FIG. 16, the detailed procedure of the insertion process shown in step S213 of FIG. 11 will be described. FIG. 16 is a flowchart showing an example of a detailed processing procedure of the “insertion processing” of the module in step S213 in FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、図16のステップS601において、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS204の入力において処理モジュールをドロップされた、新規にモジュールを挿入する挿入先を特定する。   First, in step S601 in FIG. 16, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 specifies an insertion destination into which a processing module is dropped and a module is newly inserted in the input in step S204.

続いて、ステップS602において、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS204の入力において選択されたモジュールを特定する処理を行う。なお、本実施形態においては、ステップS601の挿入先の特定処理とステップS602のモジュールの特定処理との処理の順番を、逆にする形態であってもよい。   Subsequently, in step S602, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 performs processing for specifying the module selected in the input in step S204. In the present embodiment, the processing order of the insertion destination specifying process in step S601 and the module specifying process in step S602 may be reversed.

ステップS602では、CPU111は、ステップS204でドロップされたモジュールの位置を特定する。そして、ステップS603では、ステップS602で特定した位置が正しいか否かを判断する。位置が正しいと判断し場合(S603/YES)、処理をステップ604へ進める。一方、正しくないと判断した場合(S603/NO)には、ステップS602に戻り、正しい位置が特定されるまで続ける。   In step S602, the CPU 111 identifies the position of the module dropped in step S204. In step S603, it is determined whether the position specified in step S602 is correct. If it is determined that the position is correct (S603 / YES), the process proceeds to step 604. On the other hand, if it is determined that it is not correct (S603 / NO), the process returns to step S602 and continues until the correct position is specified.

続いて、ステップS604において、のCPU111(例えばフロー作成部420)は、処理フロー描画領域1102に描画(表示)されている処理フローについて、ステップS601で特定したモジュールを、ステップS602で特定したモジュールの間へ移動し、処理フロー描画領域1102を再描画(再表示)する処理を行う。   Subsequently, in step S604, the CPU 111 (for example, the flow creation unit 420) determines the module identified in step S601 for the process flow rendered (displayed) in the process flow rendering area 1102 as the module identified in step S602. The processing flow drawing area 1102 is redrawn (redisplayed).

ステップS605では、CPU111(例えばフロー作成部420)は、ステップS601で特定したモジュールの移動処理に伴って、処理フロー・入出力パラメータテーブル412の変更処理も行う。ここでは、具体例を示さないが、まず、情報処理装置110のCPU111(例えばフロー作成部420)は、モジュール・ソースコードマスタテーブル411で得られた情報を、処理フロー・入出力パラメータテーブル412に1レコードとして追加する処理を行うとともに、ステップS602で特定された挿入先の情報に基づいて、処理フロー・入出力パラメータテーブル412の情報を変更して更新する。   In step S605, the CPU 111 (for example, the flow creation unit 420) also performs processing for changing the processing flow / input / output parameter table 412 in accordance with the movement processing of the module specified in step S601. Here, although a specific example is not shown, first, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 stores the information obtained in the module / source code master table 411 in the processing flow / input / output parameter table 412. While performing processing to add as one record, information in the processing flow / input / output parameter table 412 is changed and updated based on the information of the insertion destination specified in step S602.

続いて、ステップS606において、情報処理装置110のCPU111(例えばソースコード変換部430)は、処理フロー・入出力パラメータテーブル412において、順序602が変更されたモジュール以降のモジュールについて、モジュール・ソースコードマスタテーブル411を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル413に記憶して更新する。この際、CPU111(例えばソースコード変換部430)は、ソースコードテーブル413において、順序の変更が行われたモジュールに対応するソースコードをいったん消去し、再度、ソースコードへの変換を行ってソースコードテーブル413を更新する。   Subsequently, in step S606, the CPU 111 (for example, the source code conversion unit 430) of the information processing apparatus 110 performs module / source code master for modules after the module whose order 602 has been changed in the processing flow / input / output parameter table 412. Using the table 411, the source code is converted, and the source code obtained by the conversion is stored in the source code table 413 and updated. At this time, the CPU 111 (for example, the source code conversion unit 430) erases the source code corresponding to the module whose order has been changed in the source code table 413, converts the source code into the source code again, and then converts the source code into the source code. The table 413 is updated.

ステップS606の処理が終了した場合には、入力装置120から「挿入処理」の終了が指示されたときは本処理を終了する。また、入力装置120から「挿入処理」の継続が指示されたときはステップS601に戻って、ステップS601以降の処理を再度行うことになる。以上が図12のステップS213の挿入処理の説明である。   When the process of step S606 is completed, when the input device 120 instructs the end of the “insertion process”, the process ends. When the input device 120 instructs to continue the “insertion process”, the process returns to step S601, and the processes after step S601 are performed again. The above is the description of the insertion processing in step S213 in FIG.

次に、図17を参照して、図11のステップS215の削除処理の詳細な手順について説明する。図17は、図11のステップS215におけるモジュールの「削除処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。 Next, a detailed procedure of the deletion process in step S215 in FIG. 11 will be described with reference to FIG. FIG. 17 is a flowchart illustrating an example of a detailed processing procedure of the “deleting process” of the module in step S215 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS701において、情報処理装置110のCPU111(例えばフロー作成部420)は、ステップS204の入力において選択されたモジュールを特定する処理を行う。   First, in step S701, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 performs processing for specifying the module selected in the input in step S204.

続いて、ステップS702では、CPU111(例えばフロー作成部420)は、ステップS701で特定したモジュールの削除処理に伴って、処理フロー・入出力パラメータテーブル412の変更処理も行う。ここでは、具体例を示さないが、まず、情報処理装置110のCPU111(例えばフロー作成部420)は、処理フロー・入出力パラメータテーブル412において、ステップS701で特定された登録済みのモジュールに関する項目を、1レコードとして削除する処理を行うとともに、ステップS602で特定された挿入先の情報に基づいて、処理フロー・入出力パラメータテーブル412の情報を変更して更新する。   Subsequently, in step S <b> 702, the CPU 111 (for example, the flow creation unit 420) also performs processing for changing the processing flow / input / output parameter table 412 in accordance with the deletion processing of the module specified in step S <b> 701. Here, although a specific example is not shown, first, the CPU 111 (for example, the flow creation unit 420) of the information processing apparatus 110 displays items related to the registered modules identified in step S701 in the processing flow / input / output parameter table 412. While deleting as one record, the information in the processing flow / input / output parameter table 412 is changed and updated based on the information of the insertion destination specified in step S602.

続いて、ステップS704において、CPU111(例えばソースコード変換部430)は、処理フロー・入出力パラメータテーブル412において、順序602が変更されたモジュール以降のモジュールについて、モジュール・ソースコードマスタテーブル411を用いてソースコードに変換し、変換により得られたソースコードをソースコードテーブル413に記憶して更新する。この際、情報処理装置110のCPU111(例えばソースコード変換部430)は、ソースコードテーブル413において、順序の変更が行われたモジュールに対応するソースコードをいったん消去し、再度、ソースコードへの変換を行ってソースコードテーブル413を更新する。以上が、図11のステップS215におけるモジュールの「削除処理」の詳細な説明である。   Subsequently, in step S704, the CPU 111 (for example, the source code conversion unit 430) uses the module / source code master table 411 for modules after the module whose order 602 is changed in the processing flow / input / output parameter table 412. The source code is converted into source code, and the source code obtained by the conversion is stored in the source code table 413 and updated. At this time, the CPU 111 (for example, the source code conversion unit 430) of the information processing apparatus 110 once deletes the source code corresponding to the module whose order has been changed in the source code table 413, and converts it again into the source code. To update the source code table 413. The above is the detailed description of the “deletion process” of the module in step S215 in FIG.

次に、図18を参照して、図11のステップS217の実行処理の詳細な手順について説明する。図18は、図11のステップS217におけるモジュールの「実行処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。 Next, with reference to FIG. 18, the detailed procedure of the execution process of step S217 of FIG. 11 will be described. FIG. 18 is a flowchart illustrating an example of a detailed processing procedure of the “execution processing” of the module in step S217 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS801において、CPU111(例えばコンパイル変換部440)は、各処理の最終ステップのソースコード変換処理により、ソースコードテーブル413に記憶されたソースコードに対して、デバッグ・コンパイルを行い、オブジェクトコードテーブル414に記憶する。   First, in step S801, the CPU 111 (for example, the compile conversion unit 440) performs debugging and compilation on the source code stored in the source code table 413 by the source code conversion process in the final step of each process, and the object code Store in table 414.

ステップS802では、CPU111は、オブジェクトコードテーブル414に記憶しているオブジェクトコードを実行する。その後、ステップS803に処理を進め、ステップS802で実行した各モジュールの結果を、結果描画領域1103に、描画する。このとき、処理フローに反復処理が含まれている場合には、反復処理モジュールをダブルクリック、もしくはメニューから結果表示を選択されることで、図24に一例を示す通り、各回数における経過画像ウィンドウを表示する。以上が実行処理の詳細な説明である。   In step S802, the CPU 111 executes the object code stored in the object code table 414. Thereafter, the process proceeds to step S803, and the result of each module executed in step S802 is drawn in the result drawing area 1103. At this time, if the processing flow includes an iterative process, by double-clicking the iterative process module or selecting a result display from the menu, the elapsed image window at each number of times is shown as an example in FIG. Is displayed. The above is the detailed description of the execution process.

次に、図19を参照して、図11のステップS219の保存処理の詳細な手順について説明する。図19は、図11のステップS219におけるモジュールの「保存処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。 Next, with reference to FIG. 19, the detailed procedure of the storage process in step S219 of FIG. 11 will be described. FIG. 19 is a flowchart showing an example of a detailed processing procedure of the “save processing” of the module in step S219 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップ901では、CPU111(例えばソースコード変換部430)は、処理フロー・入出力パラメータテーブル412に登録されている一連の処理フローを、デバッグ情報を除去し、ソースコードに変換し、ソースコードテーブル413に記憶する。ここで、ソースコードに変換する際には、処理フロー・入出力パラメータテーブル412の情報だけでなく、オンライン検査画面で使用するダイアログリソースなどを含んだ形式としてソースコードテーブル413に記憶する。   First, in step 901, the CPU 111 (for example, the source code conversion unit 430) removes debug information from a series of processing flows registered in the processing flow / input / output parameter table 412 and converts them into source code. Store in table 413. Here, when converting to the source code, not only the information of the processing flow / input / output parameter table 412 but also a format including a dialog resource used in the online inspection screen is stored in the source code table 413.

続いて、ステップS902では、CPU111(例えばコンパイル変換部440)は、ステップS902において、ソースコードテーブル413に記憶したソースコードに対して、リリース・コンパイルを行い、オブジェクトコードテーブル414に記憶する。   Subsequently, in step S902, the CPU 111 (for example, the compile conversion unit 440) releases and compiles the source code stored in the source code table 413 in step S902, and stores it in the object code table 414.

その後、ステップS903では、情報処理装置110のCPU111(例えばデータ保存部460)は、RAM112上に記憶されている、処理フロー・入出力パラメータテーブル412と、ステップS901で変換しソースコードテーブル413をソースコードファイルとして、オブジェクトコードテーブル414をEXEやDLL等の実行形式のバイナリファイルとして保存する。また、本発明では、オンライン検査画面のリソースおよび処理コードを含み、市販コンパイラで利用できる、プロジェクトファイルとして、外部メモリ160に記憶する。つまり、プロジェクト保存処理を実行することで、市販コンパイラを使用すれば、オンライン画面リソースの変更、処理の追加が可能となる。以上が、保存処理の詳細な説明である。   Thereafter, in step S903, the CPU 111 of the information processing apparatus 110 (for example, the data storage unit 460) stores the processing flow / input / output parameter table 412 stored in the RAM 112 and the source code table 413 converted in step S901. As a code file, the object code table 414 is saved as an executable binary file such as EXE or DLL. In the present invention, the resources and processing codes for the online inspection screen are included and stored in the external memory 160 as a project file that can be used by a commercially available compiler. In other words, by executing the project saving process, it is possible to change online screen resources and add processes by using a commercially available compiler. The above is the detailed description of the storage process.

図28は、機器調整画面の一例を示す図である。図中、画像表示領域2801では、カメラ140から取得した画像を表示する。また、オプション選択2802で、機器調整時に行う動作を選択できる。画像保存設定2803では、オプション選択2802で「画像保存」処理を選択した際に必要となるパラメータを指定できる。また履歴画像表示領域2804では、画像表示領域2801で表示している画像の1つ前の取り込み処理で取得した画像を表示する。表示順序は、左側が最新の画像を表示するが、その逆となっていてもよい。   FIG. 28 is a diagram illustrating an example of the device adjustment screen. In the figure, an image acquired from the camera 140 is displayed in an image display area 2801. In addition, an option selection 2802 can select an operation to be performed at the time of device adjustment. In the image storage setting 2803, parameters required when the “image storage” process is selected in the option selection 2802 can be designated. In the history image display area 2804, an image acquired by the capturing process immediately before the image displayed in the image display area 2801 is displayed. The display order of the latest image is displayed on the left side, but it may be reversed.

次に、図26を参照して、図7のステップS109の機器調整処理の詳細な手順について説明する。図26は、図7のステップS109におけるモジュールの「機器調整」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, with reference to FIG. 26, a detailed procedure of the device adjustment process in step S109 of FIG. 7 will be described. FIG. 26 is a flowchart illustrating an example of a detailed processing procedure of the “device adjustment” of the module in step S109 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS1401では、CPU111は、カメラ取り込みを行うカメラを特定する。ステップS1402では、CPU111は、ステップS1401で特定したカメラから、1枚画像を取得し、ステップS1403に進む。   First, in step S1401, the CPU 111 identifies a camera that performs camera capture. In step S1402, the CPU 111 acquires a single image from the camera specified in step S1401, and proceeds to step S1403.

ステップS1403に進むと、入力装置120から入力があるか否かを判断する。ステップS1403で入力なしと判断された場合(S1403/NO)、ステップS1402に戻り、画像取り込みを行う。一方、入力装置120からの操作があると判断した場合(S1403/YES)、ステップS1404に進む。 In step S1403, it is determined whether or not there is an input from the input device 120. If it is determined in step S1403 that there is no input (S1403 / NO), the process returns to step S1402 to capture an image. On the other hand, if it is determined that there is an operation from the input device 120 (S1403 / YES), the process proceeds to step S1404.

ステップS1404に進むと、入力装置120からの入力を特定する。ここで、本発明では、「ヒストグラム表示」、「プロファイル表示」、「X/Yプロジェクション表示」、「フォーカス表示」、「統計量表示」、及び「画像保存」が選択可能であるが、その他の項目があってもよい。   In step S1404, an input from the input device 120 is specified. In the present invention, “histogram display”, “profile display”, “X / Y projection display”, “focus display”, “statistics display”, and “image storage” can be selected. There may be items.

ステップS1405では、CPU111は、ステップS1404で特定した内容が、「ヒストグラム表示」であるか否かを判断する。ステップS1405の判断処理で、「ヒストグラム表示」でないと判断した場合(S1405/NO)、処理をステップS1407に進める。一方、「ヒストグラム表示」であると判断した場合(S1405/YES)には、処理をステップS1406に進め、ステップS1402で取得した画像のヒストグラムを表示を行う。   In step S1405, the CPU 111 determines whether the content specified in step S1404 is “histogram display”. If it is determined in step S1405 that the display is not “histogram display” (S1405 / NO), the process proceeds to step S1407. On the other hand, if it is determined that the display is “histogram display” (S1405 / YES), the process proceeds to step S1406, and the histogram of the image acquired in step S1402 is displayed.

ステップS1407では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「プロファイル表示」であるか否かを判断する。ステップS1407の判断処理で、CPU111が「プロファイル表示」でないと判断した場合(S1407/NO)、処理をステップS1409に進める。一方、「プロファイル表示」であると判断した場合には(S1407/YES)、処理をステップS1408に進め、ステップS1402で取得した画像のプロファイルを表示する。   In step S1407, the CPU 111 of the information processing apparatus 110 determines whether or not the content specified in step S1404 is “profile display”. If it is determined in step S1407 that the CPU 111 is not “profile display” (S1407 / NO), the process proceeds to step S1409. On the other hand, if it is determined that “profile display” is selected (S1407 / YES), the process proceeds to step S1408, and the profile of the image acquired in step S1402 is displayed.

ステップS1409では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「X/Yプロジェクション表示」であるか否かを判断する。判断の結果、「X/Yプロジェクション表示」でないと判断した場合(S1409/NO)、ステップS1411に進む。一方、「X/Yプロジェクション表示」であると判断した場合(S1409/YES)には、処理をステップS1410に進め、ステップS1402で取得した画像のX/Yプロジェクションを表示する。   In step S1409, the CPU 111 of the information processing apparatus 110 determines whether or not the content specified in step S1404 is “X / Y projection display”. If it is determined that the display is not “X / Y projection display” (S1409 / NO), the process proceeds to step S1411. On the other hand, if it is determined that the display is “X / Y projection display” (S1409 / YES), the process proceeds to step S1410, and the X / Y projection of the image acquired in step S1402 is displayed.

ステップS1411では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「フォーカス表示」であるか否かを判断する。ステップS1411の判断処理で、「フォーカス表示」ではないと判断した場合(S1411/NO)、処理をステップS1413に進める。一方、「フォーカス表示」であると判断した場合には(S1411/YES)、処理をステップS1412に進め、ステップS1402で取得した画像のフォーカスを表示する。   In step S1411, the CPU 111 of the information processing apparatus 110 determines whether the content specified in step S1404 is “focus display”. If it is determined in step S1411 that the display is not “focus display” (S1411 / NO), the process proceeds to step S1413. On the other hand, if it is determined that the display is “focus display” (S1411 / YES), the process proceeds to step S1412, and the focus of the image acquired in step S1402 is displayed.

ステップS1413では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「統計量表示」であるか否かを判断する。ステップS1413の判断処理で、CPU111が「統計量表示」ではないと判断した場合(S1413/NO)、処理をステップS1415に進める。一方、「統計量表示」であると判断した場合には(S1413/YES)、処理をステップS1414に進め、ステップS1402で取得した画像の統計量を表示する。   In step S1413, the CPU 111 of the information processing apparatus 110 determines whether or not the content specified in step S1404 is “statistic display”. If the CPU 111 determines in the determination process of step S1413 that it is not “statistic display” (S1413 / NO), the process proceeds to step S1415. On the other hand, if it is determined that the display is “statistic display” (S1413 / YES), the process proceeds to step S1414, and the statistics of the image acquired in step S1402 are displayed.

ステップS1415では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「画像保存処理」であるか否かを判断する。ステップS1415の判断処理で、「画像保存処理」でないと判断した場合(S1415/NO)、処理をステップS1417に進める。一方、「画像保存処理」であると判断した場合には(S1415/YES)、処理ステップS1416に進め、画像保存処理を行う。この処理の詳細については、図27を用いて後述する。   In step S1415, the CPU 111 of the information processing apparatus 110 determines whether the content specified in step S1404 is “image storage processing”. If it is determined in step S1415 that it is not “image saving processing” (S1415 / NO), the process proceeds to step S1417. On the other hand, if it is determined that the process is “image storage processing” (S1415 / YES), the process proceeds to processing step S1416 to perform image storage processing. Details of this processing will be described later with reference to FIG.

ステップS1417では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「カメラ設定処理」であるか否かを判断する。ステップS1417の判断処理で、CPU111が「カメラ設定処理」ではないと判断した場合(S1417/NO)、処理をステップS1419に進める。一方、「カメラ設定処理」であると判断した場合(S1417/YES)、ステップS1418に進める。ここで、たとえば、「カメラ設定処理」では、情報処理装置110のCPU111は、ディスプレイ装置130に、カメラの露光時間、トリガモード、ゲインなどが設定できるウィンドウを表示する。   In step S1417, the CPU 111 of the information processing apparatus 110 determines whether or not the content specified in step S1404 is “camera setting processing”. If the CPU 111 determines in the determination process of step S1417 that the camera setting process is not “NO” (S1417 / NO), the process proceeds to step S1419. On the other hand, if it is determined that it is “camera setting processing” (S1417 / YES), the process proceeds to step S1418. Here, for example, in the “camera setting process”, the CPU 111 of the information processing apparatus 110 displays on the display device 130 a window in which the camera exposure time, trigger mode, gain, and the like can be set.

ステップS1419では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「照明設定処理」であるか否かを判断する。ステップS1419の判断処理で、CPU111が「照明設定処理」でないと判断した場合(S1419/NO)、処理をステップS1421に進める。一方、「照明設定処理」であると判断した場合(S1419/YES)、処理をステップS1420に進める。ステップS1420の「照明設定処理」では、情報処理装置110のCPU111は、ディスプレイ装置130に、照明の明るさ、点灯時間、ディレイなどが設定できるウィンドウを表示する。   In step S1419, the CPU 111 of the information processing apparatus 110 determines whether or not the content specified in step S1404 is “lighting setting processing”. If the CPU 111 determines in the determination process in step S1419 that the “lighting setting process” is not performed (S1419 / NO), the process proceeds to step S1421. On the other hand, if it is determined that it is “lighting setting processing” (S1419 / YES), the process proceeds to step S1420. In the “lighting setting process” in step S1420, the CPU 111 of the information processing apparatus 110 displays a window in which the brightness of the lighting, the lighting time, the delay, and the like can be set on the display device 130.

ステップS1421では、情報処理装置110のCPU111は、ステップS1404で特定した内容が、「停止処理」であるか否かを判断する。ステップS1421の判断処理で、CPU111が「停止処理」でないと判断した場合(S1421/NO)、ステップS1412に戻り、画像取り込みを行う。一方、「停止処理」であると判断した場合(S1421/YES)、本処理を終了する。以上が図7のステップS111の機器調整画面表示処理の説明である。   In step S1421, the CPU 111 of the information processing apparatus 110 determines whether the content specified in step S1404 is “stop processing”. If the CPU 111 determines in the determination processing in step S1421 that it is not “stop processing” (S1421 / NO), the process returns to step S1412, and image capture is performed. On the other hand, when it is determined that the process is the “stop process” (S1421 / YES), this process ends. The above is the description of the device adjustment screen display process in step S111 of FIG.

次に、図27を参照して、図26のステップS1416の画像保存処理の詳細な手順について説明する。図27は、図26のステップS1415におけるモジュールの「画像保存処理」の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, with reference to FIG. 27, the detailed procedure of the image storing process in step S1416 in FIG. 26 will be described. FIG. 27 is a flowchart showing an example of a detailed processing procedure of the “image saving process” of the module in step S1415 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS1501において、情報処理装置110のCPU111は、図28で示す機器調整画面2800の画像保存設定2803に指定された各パラメータを取得する。ここで、本例では、取り込み制御(時間、枚数)、取り込み間隔(時間、枚数)、保存場所、画像フォーマットを指定できる。   First, in step S1501, the CPU 111 of the information processing apparatus 110 acquires each parameter specified in the image storage setting 2803 of the device adjustment screen 2800 illustrated in FIG. Here, in this example, capture control (time, number), capture interval (time, number), storage location, and image format can be specified.

ステップS1502では、情報処理装置110のCPU111は、画像入力コントローラ115fを通して、カメラ140から画像を1枚取得し、RAM112上に記憶する。   In step S1502, the CPU 111 of the information processing apparatus 110 acquires one image from the camera 140 through the image input controller 115f and stores it on the RAM 112.

続いて、ステップS1503では、ステップS1502で取得した、つまり、RAM112上にある画像データを、ステップS1501で取得した画像フォーマットで外部メモリ116に記憶する。   In step S1503, the image data acquired in step S1502, that is, on the RAM 112, is stored in the external memory 116 in the image format acquired in step S1501.

ステップS1504に進むと、情報処理装置110のCPU111は、ステップS1501で取得した時間、もしくは枚数分待機する。   In step S1504, the CPU 111 of the information processing apparatus 110 waits for the time acquired in step S1501 or the number of sheets.

ステップS1505では、情報処理装置110のCPU111は、入力装置120からの入力が停止処理であるか否かを判断する。ステップS1505の判断処理で、CPU111が停止処理であると判断した場合(S1505/YES)、本処理を終了する。一方、停止処理でないと判断した場合には(S1505/NO)、ステップ1502に戻り、画像取得から実行する。ここで、ステップS1505で判断できる項目は、操作入力装置120からの入力、もしくは、図28の画像保存設定2805で指定した取得枚数や取り込み時間であってもよい。以上が図26のステップS1416の画像保存処理の詳細な説明である。   In step S1505, the CPU 111 of the information processing apparatus 110 determines whether the input from the input apparatus 120 is a stop process. If the CPU 111 determines in the determination process of step S1505 that the process is a stop process (S1505 / YES), this process ends. On the other hand, if it is determined that the process is not a stop process (S1505 / NO), the process returns to step 1502 and is executed from image acquisition. Here, the item that can be determined in step S1505 may be the input from the operation input device 120, or the acquired number of images and the capture time specified by the image storage setting 2805 in FIG. The above is the detailed description of the image storage processing in step S1416 of FIG.

<第2の実施例>
以下、本願発明の第2の実施例の説明をする。この実施例では、処理フローに登録する処理モジュールをユーザが独自のロジックを組み込んで追加することができる。また、この際、ユーザがソースコードを記述してモジュールを作成することになるが、本発明では、このソースコードにブレークポイントなどのデバッグ情報を配置することで、開発における援助をすることができる。
<Second embodiment>
The second embodiment of the present invention will be described below. In this embodiment, the user can add processing modules to be registered in the processing flow by incorporating their own logic. At this time, the user creates a module by describing the source code. In the present invention, debugging information such as breakpoints can be placed in the source code to assist in development. .

図30は、第2の実施例におけるプロジェクト構築の詳細な手順の一例を示すフローチャートである。なお、第1の実施例におけるプロジェクト構築の処理(図10)と同様の処理を行うステップには、図10と同じステップ番号を付与し、処理の詳細な説明については割愛する。尚、第1の実施例と異なる箇所は、点線で囲んでいる箇所である。   FIG. 30 is a flowchart illustrating an example of a detailed procedure for project construction in the second embodiment. Note that the same step numbers as those in FIG. 10 are assigned to steps for performing the same processing as the project construction processing (FIG. 10) in the first embodiment, and detailed description of the processing is omitted. The difference from the first embodiment is a portion surrounded by a dotted line.

図30のステップS220では、図10のステップS205で特定した処理が「カスタムモジュール作成」処理か否かを判断する。ここで、情報処理装置110の操作入力装置120から入力されるイベントは、本例では、モジュール表示画面3300のコンテキストメニュー3301のような方法で示す。また、ここで、判断するイベントとして、「追加」のほかに、「修正」「削除」などの機能があってもよい。   In step S220 of FIG. 30, it is determined whether or not the process specified in step S205 of FIG. 10 is a “custom module creation” process. Here, an event input from the operation input device 120 of the information processing apparatus 110 is indicated by a method such as a context menu 3301 on the module display screen 3300 in this example. In addition, as an event to be determined here, functions such as “modify” and “delete” may be provided in addition to “add”.

ここで、図33で、カスタムモジュール作成ウィンドウ3310の一例を示す。本例で示す、カスタムモジュール作成ウィンドウ3310には、ソースコードを記述するソースコード記述領域3311と、ブレークポイントを設定する領域3312、及び、変数表示領域3313で構成されている。   Here, FIG. 33 shows an example of the custom module creation window 3310. The custom module creation window 3310 shown in this example includes a source code description area 3311 for describing source code, an area 3312 for setting a breakpoint, and a variable display area 3313.

図30の説明に戻る。ステップS220の判断処理で、CPU111が、ステップS205で特定した処理が、「カスタムモジュール作成」であると判断した場合(ステップS220/YES)、ステップS221へ進む。一方、判断した結果が、「カスタムモジュール作成」処理でない場合(ステップS220/NO)は、ステップS219へ進む。   Returning to the description of FIG. When the CPU 111 determines in the determination process of step S220 that the process specified in step S205 is “custom module creation” (YES in step S220), the process proceeds to step S221. On the other hand, when the determined result is not “custom module creation” processing (step S220 / NO), the process proceeds to step S219.

ステップS221では、CPU111は「カスタムモジュール作成」処理を行う。図31で「カスタムモジュール作成」処理の詳細な手順の一例を示す。   In step S221, the CPU 111 performs a “custom module creation” process. FIG. 31 shows an example of a detailed procedure of the “custom module creation” process.

図31は、図30のステップS221のカスタムモジュール作成処理の詳細を示す。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   FIG. 31 shows details of the custom module creation processing in step S221 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

まず、ステップS1201では、情報処理装置110のCPU111(たとえば、ソースコード変換部430)は、モジュール・ソースコードマスタテーブル411に予め用意されている「カスタムモジュール」処理の基本ソースコードを読み出し、読み出したソースコードをソースコードテーブル413に記憶する。   First, in step S1201, the CPU 111 (for example, the source code conversion unit 430) of the information processing apparatus 110 reads and reads the basic source code of the “custom module” process prepared in advance in the module / source code master table 411. The source code is stored in the source code table 413.

ステップS1202に進むと、ステップS1201で、ソースコードテーブル413に読み出した「カスタムモジュール」処理の基本ソースコードを、図33に一例を示すソースコード記述領域3311に表示する。このステップで、ユーザは必要に応じてロジックを追加することになる。   In step S1202, the basic source code of the “custom module” process read in the source code table 413 in step S1201 is displayed in the source code description area 3311 shown as an example in FIG. In this step, the user will add logic as needed.

続いて、ステップS1203において、情報処理装置110のCPU111は、入力されたソースコードの解析を行う。ここでは、一時的に処理フロー・入出力パラメータテーブルを新規に作成し、カスタムモジュールに渡す情報(画像バッファなど)、つまりカスタムモジュールを追加する前ステップの結果情報を入力パラメータ605に設定する。また、作成するカスタムモジュールの結果情報(画像バッファなど)、つまり、カスタムステップの次ステップに渡す情報を出力パラメータ606に設定する。さらに、情報処理装置110のCPU111は、追加されたコードで、ソースコードテーブル413で更新し、RAM112に記憶する。   Subsequently, in step S1203, the CPU 111 of the information processing apparatus 110 analyzes the input source code. Here, a new processing flow / input / output parameter table is temporarily created, and information (image buffer or the like) to be passed to the custom module, that is, result information of the previous step before adding the custom module is set in the input parameter 605. Further, result information (image buffer or the like) of the custom module to be created, that is, information to be passed to the next step of the custom step is set in the output parameter 606. Furthermore, the CPU 111 of the information processing apparatus 110 updates the source code table 413 with the added code and stores it in the RAM 112.

ステップS1204では、情報処理装置110のCPU111(コンパイル部440)は、ステップS1203で解析を行ったソースコードのコンパイルを行い、RAM112上に一時的に、オブジェクトコードを記憶する。   In step S1204, the CPU 111 (compile unit 440) of the information processing apparatus 110 compiles the source code analyzed in step S1203, and temporarily stores the object code on the RAM 112.

ステップS1205では、ステップS1204でRAM112上に記憶されたオブジェクトコードを実行するが、実行手順の詳細については、図32を参照して後述する。   In step S1205, the object code stored on the RAM 112 in step S1204 is executed. Details of the execution procedure will be described later with reference to FIG.

ステップS1206では、情報処理装置110のCPU111は、ステップS1205で実行した結果を、結果描画領域1103に表示する。   In step S1206, the CPU 111 of the information processing apparatus 110 displays the result executed in step S1205 in the result drawing area 1103.

ステップS1207では、ステップS1201からS1206で作成した、カスタムモジュールを登録するか否かの判断を行う。   In step S1207, it is determined whether to register the custom module created in steps S1201 to S1206.

ステップS1207の判断処理で、CPU111が登録しないと判断した場合(ステップS1207/NO)、「カスタムモジュール作成」処理を終了する。一方、ステップS1207の判断処理で、CPU111が登録すると判断した場合には(ステップS1207/YES)、処理をステップS1208に進める。ステップS1208では、ステップS1203でRAM112に記憶しているソースコードテーブル413から、デバッグ情報を除去し、リリース・コンパイルを行う。   If it is determined in step S1207 that the CPU 111 does not register (step S1207 / NO), the “custom module creation” process is terminated. On the other hand, if the CPU 111 determines in the determination process in step S1207 (step S1207 / YES), the process proceeds to step S1208. In step S1208, debug information is removed from the source code table 413 stored in the RAM 112 in step S1203, and release and compilation are performed.

続いて、ステップS1209に進むと、ステップS1203で一時的に作成した処理フロー・入出力パラメータテーブルの各フィールドの情報を、すでに処理フローを登録している処理フロー・入出力パラメータテーブルに1レコード追加して、設定を移行する。 Subsequently, when proceeding to step S1209, one record is added to the information of each field of the processing flow / input / output parameter table temporarily created in step S1203 to the processing flow / input / output parameter table in which the processing flow is already registered. To migrate the settings.

さらに、ステップS1210では、情報処理装置110のCPU111は、前ステップにおいて作成したカスタムモジュールを、プロジェクト構築画面1100のツールボックス1101に追加設定する。以上がカスタムモジュール作成の詳細な説明である。これにより、新たに作成したカスタムモジュールを当初から用意されているモジュールのように前述の新規追加処理で選択することが可能となる。   In step S1210, the CPU 111 of the information processing apparatus 110 additionally sets the custom module created in the previous step in the tool box 1101 on the project construction screen 1100. The above is a detailed description of creating a custom module. As a result, a newly created custom module can be selected by the above-described new addition processing like a module prepared from the beginning.

次に、図32を参照して図31のステップS1205の実行処理の詳細について説明する。図32は、図31のステップS1205の実行処理の処理手順の詳細の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。   Next, details of the execution process of step S1205 of FIG. 31 will be described with reference to FIG. FIG. 32 is a flowchart illustrating an example of details of the processing procedure of the execution processing in step S1205 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control.

ステップS1301では、実行モードの判定を行う。ここで、実行モードは、デバッグあり(ブレークポイントあり)、もしくはブレークポイントのなしのモードがあるが、ステップ実行などの他のモードがあってもよい。   In step S1301, the execution mode is determined. Here, the execution mode includes a mode with debugging (with a breakpoint) or a mode without a breakpoint, but there may be other modes such as step execution.

ステップS1302では、CPU111はステップS1301で判定したモードに、デバッグ情報が含まれているか否かの判断を行う。ステップS1302の判断処理で、CPU111がデバッグなし実行であると判断した場合(ステップS1302/NO)には、処理をステップS1308に進め、処理を実行する。一方、ステップS1302の判断処理で、デバッグありと判断した場合には(ステップS1302/YES)、処理をステップS1303に進める。   In step S1302, the CPU 111 determines whether debug information is included in the mode determined in step S1301. If the CPU 111 determines in step S1302 that the execution is without debugging (step S1302 / NO), the process proceeds to step S1308 to execute the process. On the other hand, if it is determined in step S1302 that there is debugging (step S1302 / YES), the process proceeds to step S1303.

ステップS1303では、CPU111は、図31のステップS1203で解析したソースコードに、ブレークポイントがあるか否かを判断する。その判断処理で、CPU111がブレークポイントがないと判断した場合には(ステップS1303/NO)、処理をステップS1308に進め、処理を実行する。一方、ブレークポイントがあると判断した場合には、(ステップS1303/YES)、処理をステップS1304へ進める。   In step S1303, the CPU 111 determines whether or not there is a breakpoint in the source code analyzed in step S1203 of FIG. In the determination process, when the CPU 111 determines that there is no break point (step S1303 / NO), the process proceeds to step S1308, and the process is executed. On the other hand, if it is determined that there is a break point (step S1303 / YES), the process proceeds to step S1304.

ステップS1304では、情報処理装置110のCPU111は、ソースコードにおいてブレークポイントを設定された行まで処理を実行する。同時にステップS1305では、ステップS1304で実行した行のソースコードを表示する。   In step S1304, the CPU 111 of the information processing apparatus 110 executes processing up to a line where a breakpoint is set in the source code. At the same time, in step S1305, the source code of the line executed in step S1304 is displayed.

ステップS1305では、情報処理装置110のCPU111は、必要に応じて変数などの途中経過を表示する。ステップS1306に進むと、CPU111は、デバッグ実行を続けるか否かの判断を行う。ステップS1306の判断の結果、続行すると判断した場合(ステップS1306/YES)、ステップS1303に戻る。一方、続行しないと判断した場合には(ステップS1306/NO)、処理をステップS1308に進め、処理を実行する。   In step S1305, the CPU 111 of the information processing apparatus 110 displays the progress of variables and the like as necessary. In step S1306, the CPU 111 determines whether to continue debug execution. As a result of the determination in step S1306, when it is determined to continue (step S1306 / YES), the process returns to step S1303. On the other hand, if it is determined not to continue (NO in step S1306), the process proceeds to step S1308 to execute the process.

ステップS1308に進むと、作成したカスタムモジュールに従った処理を実行する。以上が図31のステップS1205の実行処理の詳細な説明である。 In step S1308, processing according to the created custom module is executed. The above is the detailed description of the execution process of step S1205 of FIG.

次に、図35を参照して、図7のステップS113のシステム設定画面表示処理の詳細について説明する。図35は、図7のステップS113のシステム設定画面表示処理の詳細な処理手順の一例を示すフローチャートである。本処理をCPU111に実行させるためのプログラムは外部メモリ116に記憶されており、本処理の実行要求を入力装置120より受け付けた場合に、CPU111は、当該プログラムをRAM112にロードし、ロードしたプログラムによる制御に従って本処理を実行することになる。なお、「オンライン検査」処理は、メインメニュー以外にも、直接実行ファイルを実行することでも起動できる。   Next, with reference to FIG. 35, details of the system setting screen display processing in step S113 of FIG. 7 will be described. FIG. 35 is a flowchart showing an example of a detailed processing procedure of the system setting screen display processing in step S113 of FIG. A program for causing the CPU 111 to execute this process is stored in the external memory 116. When an execution request for this process is received from the input device 120, the CPU 111 loads the program into the RAM 112 and depends on the loaded program. This process is executed according to the control. The “online inspection” process can be started not only by the main menu but also by directly executing the executable file.

図7のステップS113の処理が呼ばれた際には、情報処理装置110のCPU111は、システム設定画面3500を表示する。ここでは例をあげないが、本ウィンドウには、図34で示すシステム情報テーブルT3400に示すように、オンライン検査プログラム実行時に開始されるプロジェクトを設定する「スタートアッププロジェクト名」フィールド3402、データ通信の情報を設定する「データ通信」フィールド3403、情報処理装置110の外部に画像データを転送する情報を設定する「ファイル転送」フィールド3403、カメラ情報を設定する「カメラテーブル」フィールド3404が設定できる項目を含んでいる。また「カメラテーブル」フィールド3404で参照する、カメラテーブルT3410の一例を図34のカメラテーブルT3410で示す。カメラテーブルT3410では、「デバイス名」フィールド3412、カメラ設定ファイル等を指定する「プロパティフィールド」3413、原点を設定する「原点設定」フィールド3414、キャリブレーション情報を設定する「補正情報」3415フィールドを含んでいる。   When the process of step S113 in FIG. 7 is called, the CPU 111 of the information processing apparatus 110 displays a system setting screen 3500. Although no example is given here, in this window, as shown in the system information table T3400 shown in FIG. 34, a “startup project name” field 3402 for setting a project to be started when the online inspection program is executed, data communication information “Data communication” field 3403 for setting image information, “File transfer” field 3403 for setting information for transferring image data to the outside of information processing apparatus 110, and “Camera table” field 3404 for setting camera information include items that can be set. It is out. An example of the camera table T3410 referred to in the “camera table” field 3404 is indicated by a camera table T3410 in FIG. The camera table T3410 includes a “device name” field 3412, a “property field” 3413 for designating a camera setting file, an “origin setting” field 3414 for setting an origin, and a “correction information” 3415 field for setting calibration information. It is out.

図34に、図4で示すシステム情報テーブル419の一例を示す。 FIG. 34 shows an example of the system information table 419 shown in FIG.

まず、ステップS1601では、情報処理装置110のCPU111は、「オンライン検査」処理が、メインメニューから実行されたか、直接実行されたかの特定を行う。   First, in step S1601, the CPU 111 of the information processing apparatus 110 specifies whether the “online inspection” process has been executed from the main menu or directly.

次に、ステップS1602では、ステップS1601で特定したモードがメインメニューからであるか否かを判断する。ステップS1602に判断の結果、メインメニューからである場合(S1602/YES)、ステップS1603に進む、一方、メインメニューからでない場合(S1602/NO)、ステップS1604に進む。   Next, in step S1602, it is determined whether the mode specified in step S1601 is from the main menu. If the result of determination in step S1602 is from the main menu (S1602 / YES), the process proceeds to step S1603, while if not from the main menu (S1602 / NO), the process proceeds to step S1604.

ステップS1603では、外部メモリ160から読みだす、プロジェクト名を入力する画面を表示する。   In step S1603, a screen for inputting a project name read from the external memory 160 is displayed.

また、ステップS1604では、情報処理装置110のCPU111は、システム情報テーブルT3400のスタートアッププロジェクト名3402で設定されたプロジェクト名を取得する。   In step S1604, the CPU 111 of the information processing apparatus 110 acquires the project name set in the startup project name 3402 of the system information table T3400.

続いて、ステップS1605に進むと、情報処理装置110のCPU111は、システム情報テーブルT3400から、データ通信3403、ファイル転送3404、及び、カメラテーブル3405をRAM112に読みだす。   Subsequently, in step S1605, the CPU 111 of the information processing apparatus 110 reads the data communication 3403, the file transfer 3404, and the camera table 3405 from the system information table T3400 to the RAM 112.

最後に、ステップS1606では、情報処理装置110のCPU111は、ステップS1605でRAM112に読みだされたシステム情報をもとに、オンライン検査画面をCRT130に表示する。   Finally, in step S1606, the CPU 111 of the information processing apparatus 110 displays an online inspection screen on the CRT 130 based on the system information read into the RAM 112 in step S1605.

<第3の実施例>
以下、本願発明の第3の実施例の説明をする。この実施例では、処理フローを構築し、オンライン検査で実行する際に、ユーザが独自の画面レイアウトとして編集することができる。
<Third embodiment>
The third embodiment of the present invention will be described below. In this embodiment, when the processing flow is constructed and executed by online inspection, the user can edit it as a unique screen layout.

図36は、第3の実施例におけるプロジェクト構築の詳細な手順の一例を示すフローチャートである。なお、第1の実施例におけるプロジェクト構築の処理(図10)と同様の処理を行うステップには、図10と同じステップ番号を付与し、処理の詳細な説明については割愛する。   FIG. 36 is a flowchart illustrating an example of a detailed procedure for project construction in the third embodiment. Note that the same step numbers as those in FIG. 10 are assigned to steps for performing the same processing as the project construction processing (FIG. 10) in the first embodiment, and detailed description of the processing is omitted.

図36のステップS222では、図10のステップS205で特定した処理が「レイアウト編集」処理か否かを判断する。ステップS222の判断の結果、ステップS205で特定した処理が、「レイアウト編集」処理である場合(ステップS222/YES)、ステップS223へ進む。一方、判断した結果が、「レイアウト編集」処理でない場合(ステップS222/NO)は、ステップS219へ進む。   In step S222 in FIG. 36, it is determined whether or not the process specified in step S205 in FIG. 10 is a “layout edit” process. As a result of the determination in step S222, when the process specified in step S205 is the “layout edit” process (step S222 / YES), the process proceeds to step S223. On the other hand, if the determined result is not the “layout editing” process (step S222 / NO), the process proceeds to step S219.

ステップS223へ進むと、「レイアウト編集」処理を行う。図38で「レイアウト編集」処理の詳細な手順の一例を示す。   In step S223, "layout editing" processing is performed. FIG. 38 shows an example of a detailed procedure of the “layout editing” process.

次に、図38を参照して、図36のステップS223のレイアウト編集処理の詳細について説明する。この処理では、上記第1乃至第2の実施例で作成されたプログラムを実行させるための画面作成処理を行うことになる。図38は、画面作成処理の詳細な処理の一例を示すフローチャートである。本処理を、CPU111に実行させるためのプログラムは外部メモリ116に記憶されており、CPUは本処理を行う際に、当該プログラムをRAM112にロードし、当該プログラムの制御に従って、本処理を行うことになる。 Next, the details of the layout editing process in step S223 of FIG. 36 will be described with reference to FIG. In this process, a screen creation process for executing the programs created in the first and second embodiments is performed. FIG. 38 is a flowchart illustrating an example of detailed processing of screen creation processing. A program for causing the CPU 111 to execute this processing is stored in the external memory 116, and when the CPU performs this processing, the CPU 111 loads the program into the RAM 112 and performs this processing according to the control of the program. Become.

まず、CPU111は、図37に示すレイアウト画面を、ビデオコントローラ115bを介して、CRT130に表示させる(ステップS3801)。レイアウト画面の詳細については、図46を参照して説明する。   First, the CPU 111 displays the layout screen shown in FIG. 37 on the CRT 130 via the video controller 115b (step S3801). Details of the layout screen will be described with reference to FIG.

次に、図37の画面に対する操作入力装置を介してのユーザによる操作に基づき、コントロールの入力指示を受け付けたか(入力あり?)を判定する(ステップS3802)。入力指示を受け付けた場合(ステップS3802/YES)と判定した場合には、入力指示の処理内容を判定する(ステップS3803)。   Next, it is determined whether a control input instruction has been received (has an input?) Based on an operation by the user via the operation input device on the screen of FIG. 37 (step S3802). If it is determined that an input instruction has been accepted (step S3802 / YES), the processing content of the input instruction is determined (step S3803).

ステップS3803での入力内容の判定結果、その入力内容が、新規ボタン追加処理であると判定した場合には(ステップS3804/YES)、ステップS3805に進み、新規ボタン追加処理を行うことになる。新規ボタン追加処理の詳細については、図39を参照して説明する。   If it is determined in step S3803 that the input content is a new button addition process (YES in step S3804), the process advances to step S3805 to perform a new button addition process. Details of the new button addition processing will be described with reference to FIG.

ステップS3804での入力内容の判定結果、その入力内容が、新規画面追加処理であると判定した場合には(ステップS3806/YES)、ステップS3807に進み、新規画面追加処理を行うことになる。新規画面追加処理の詳細については、図40を参照して説明する。   If it is determined in step S3804 that the input content is a new screen addition process (YES in step S3806), the process advances to step S3807 to perform a new screen addition process. Details of the new screen addition processing will be described with reference to FIG.

ステップS3804での入力内容の判定結果、その入力内容が、新規ボックス追加処理であると判定した場合には(ステップS3808/YES)、ステップS3809に進み、新規ボックス追加処理を行うことになる。新規ボックス追加処理の詳細については、図41を参照して説明する。   If it is determined in step S3804 that the input content is a new box addition process (YES in step S3808), the process advances to step S3809 to perform a new box addition process. Details of the new box addition processing will be described with reference to FIG.

ステップS3804での入力内容の判定結果、その入力内容が、変更・移動処理であると判定した場合には(ステップS3810/YES)、ステップS3811に進み、変更・移動処理を行うことになる。変更・移動処理の詳細については、図42を参照して説明する。   If it is determined in step S3804 that the input content is a change / movement process (YES in step S3810), the process proceeds to step S3811 to perform the change / movement process. Details of the change / move process will be described with reference to FIG.

ステップS3804での入力内容の判定結果、その入力内容が、保存処理であると判定した場合には(ステップS3812/YES)、ステップS3813に進み、保存処理を行うことになる。保存処理の詳細については、図43を参照して説明する。   If it is determined in step S3804 that the input content is a storage process (YES in step S3812), the process advances to step S3813 to perform the storage process. Details of the storage process will be described with reference to FIG.

そして、以上の処理をステップS3814で開発終了指示を受け付けたと判断するまで繰り返すことになる。以上が、画面作成処理の大まかな説明である。   The above processing is repeated until it is determined in step S3814 that a development end instruction has been received. The above is a rough description of the screen creation process.

次に、図37を参照して、図38のステップS3801でディスプレイ装置130に表示されるレイアウト画面の一例について説明する。レイアウト画面3700には、利用可能な処理コントロール(即ち、数値結果を表示するテキストボックスなどオンラインGUIの構成に係るコントロール)を表示するツールボックス3701と、画面構成(即ち、テキストボックスやボタンなど)を表示するデザイン領域3702と、各コントロールに係るプロパティを表示するプロパティ表示領域3703等が設けられている。   Next, an example of a layout screen displayed on the display device 130 in step S3801 of FIG. 38 will be described with reference to FIG. The layout screen 3700 includes a tool box 3701 that displays available processing controls (that is, controls related to the configuration of the online GUI such as a text box that displays numerical results) and a screen configuration (that is, text boxes, buttons, and the like). A design area 3702 to be displayed, a property display area 3703 to display properties related to each control, and the like are provided.

開発者(ユーザ)は、ツールボックス3701に表示されている処理コントロールをデザイン領域にドラッグアンドドロップ処理をすることにより、希望の位置に配置し、その後、当該処理コントロールのサイズの変更や、プロパティ表示欄に表示されているプロパティを変更することで、画面の作成が可能となっている。以上が、レイアウト画面3700の説明である。   The developer (user) arranges the processing control displayed in the tool box 3701 in a desired position by dragging and dropping it in the design area, and then changes the size of the processing control or displays the properties. A screen can be created by changing the properties displayed in the column. The above is the description of the layout screen 3700.

次に、図30を参照して、図38のステップS3805の新規ボタン追加処理について説明する。まず、CPU111は、新規ボタンの追加処理の指示を受け付けると、当該ボタンを配置する画面レイアウトテーブルが既に作成されているかを判定する(ステップS3901)。そして、ステップS3901の判定処理の結果、テーブルがまだ作成されていない(テーブルありでNO)と判定された場合(ステップS3902/NO)、画面レイアウトテーブルを作成する。画面レイアウトテーブルの一例については、図44を参照して説明する。   Next, with reference to FIG. 30, the new button addition processing in step S3805 of FIG. 38 will be described. First, when receiving an instruction to add a new button, the CPU 111 determines whether a screen layout table for arranging the button has already been created (step S3901). If it is determined as a result of the determination process in step S3901 that a table has not yet been created (NO with table) (step S3902 / NO), a screen layout table is created. An example of the screen layout table will be described with reference to FIG.

図44は、画面レイアウトテーブルの一例を示す模式図である。図44の画面レイアウトテーブル4400には、Index4401、コントロール種別4402、デザイン登録名4403、プロパティテーブル4404が設定されている。   FIG. 44 is a schematic diagram illustrating an example of a screen layout table. In the screen layout table 4400 of FIG. 44, an Index 4401, a control type 4402, a design registration name 4403, and a property table 4404 are set.

コントロール種別4402には、画面に設定されている各コントロールの種別が、デザイン登録名にはコントロールのIDが、プロパティテーブル4404には、当該コントロールの詳細を管理するプロパティテーブルのIDが登録されることになる。以上が、画面レイアウトテーブルの説明である。   The type of each control set on the screen is registered in the control type 4402, the ID of the control is registered in the design registration name, and the ID of the property table that manages the details of the control is registered in the property table 4404. become. The above is the description of the screen layout table.

図39の説明に戻る。そして、その後、追加されたボタンコントロールの種類を特定する(ステップS3904)。ボタンコントロールの種類としては、「単発検査」「連続検査」「検査停止」「検査設定」及び「終了」などが用意されている。   Returning to the description of FIG. Thereafter, the type of the added button control is specified (step S3904). As the types of button controls, “single inspection”, “continuous inspection”, “inspection stop”, “inspection setting”, “end”, and the like are prepared.

その後、ボタンコントロールの詳細を示すボタンコントロールテーブル(図45)に、当該追加されたボタンコントロールの詳細を登録するためのレコードを追加し(ステップS3905)、ボタンの基本プロパティを外部メモリ116から読み出し、当該レコードに設定する(ステップS3906)。そして、ステップS3906で読み出したプロパティを図46のプロパティ表示領域3703に表示するとともに、追加されたコントロールをデザイン領域3702に描画する。以上が、図47のステップS3805の新規ボタン追加処理の詳細である。   Thereafter, a record for registering the details of the added button control is added to the button control table (FIG. 45) showing the details of the button control (step S3905), and the basic properties of the button are read from the external memory 116. The record is set (step S3906). Then, the property read out in step S3906 is displayed in the property display area 3703 of FIG. 46, and the added control is drawn in the design area 3702. The above is the details of the new button addition processing in step S3805 of FIG.

図45を参照して、ボタンコントロールテーブルの一例について説明する。図45に示すボタンコントロールテーブルT4500には、Index(4501)、基本プロパティ(4502)、実行内容(4503)、カスタム1(4504)、カスタム2(4505)・・・が設定されている。   An example of the button control table will be described with reference to FIG. In the button control table T4500 shown in FIG. 45, Index (4501), basic property (4502), execution content (4503), custom 1 (4504), custom 2 (4505),... Are set.

Index(4501)には、当該コントロールのIndex情報が、基本プロパティ(4502)にはボタンコントロールの基本プロパティ情報が、実行内容(4503)には、当該ボタンが押下指示された場合に実行する実行内容が、カスタム1(4504)、カスタム2(4505)・・・には、ボタンコントロールの位置情報、ボタンのサイズ、形状等の情報が登録されることになる。以上が図45のボタンコントロールテーブルの説明である。   The Index (4501) includes the index information of the control, the basic property (4502) includes the basic property information of the button control, and the execution content (4503) includes the execution content to be executed when the button is instructed to be pressed. However, in the custom 1 (4504), custom 2 (4505)..., Information such as button control position information, button size, and shape is registered. The above is the description of the button control table of FIG.

次に、図40を参照して、図38のステップS3807の新規画面追加処理の詳細について説明する。この処理は、図30で説明した新規ボタン追加処理と略同等である。   Next, with reference to FIG. 40, details of the new screen addition processing in step S3807 of FIG. 38 will be described. This process is substantially the same as the new button addition process described with reference to FIG.

まず、CPU111は、画像処理結果を表示するための新規画面追加処理の指示を受け付けると、処理の結果を表示するための画面を配置する画面レイアウトテーブルが既に作成されているかを判定する(ステップS4001)。そして、ステップS4001の判定処理の結果、テーブルがまだ作成されていない(テーブルありでNO)と判定された場合(ステップS4002/NO)、画面レイアウトテーブルを作成する(ステップS4003)。   First, when receiving an instruction for a new screen addition process for displaying an image processing result, the CPU 111 determines whether a screen layout table for arranging a screen for displaying the result of the process has already been created (step S4001). ). If it is determined as a result of the determination process in step S4001 that a table has not yet been created (NO with table) (step S4002 / NO), a screen layout table is created (step S4003).

その後、追加された画面に表示するデータを設定する(ステップS4004)。ここで設定するデータは、例えば、当該画面に設定されている画面コントロールにより実行される処理フローでの処理結果であり、具体的には当該処理フローを示す処理フロー・入出力パラメータテーブル中の入力パラメータ若しくは出力パラメータとして設定されている変数が指定される。 Thereafter, data to be displayed on the added screen is set (step S4004). The data to be set here is, for example, the processing result in the processing flow executed by the screen control set for the screen. Specifically, the input in the processing flow / input / output parameter table indicating the processing flow A variable set as a parameter or output parameter is specified.

その後、画面コントロールの詳細を示す画面コントロールテーブル(図46)に、当該追加されたボタンコントロールの詳細を登録するためのレコードを追加し(ステップS4005)、画面の基本プロパティを外部メモリ116から読み出し、当該レコードに設定する(ステップS4006)。そして、ステップS4006で読み出したプロパティを図46のプロパティ表示領域3703に表示するとともに、追加されたコントロールをデザイン領域3702に描画する。以上が、図38のステップS3807の新規画面追加処理の詳細である。   Thereafter, a record for registering the details of the added button control is added to the screen control table (FIG. 46) showing the details of the screen control (step S4005), and the basic properties of the screen are read from the external memory 116. The record is set (step S4006). The property read in step S4006 is displayed in the property display area 3703 of FIG. 46, and the added control is drawn in the design area 3702. The above is the details of the new screen addition process in step S3807 of FIG.

図46を参照して、画面コントロールテーブルの一例について説明する。画面コントロールテーブルT4600には、Index(4601)、基本プロパティ(4602)、リソース(4603)、カスタム1(4604)、カスタム2(4605)・・・等が設定されている。   An example of the screen control table will be described with reference to FIG. In the screen control table T4600, Index (4601), basic property (4602), resource (4603), custom 1 (4604), custom 2 (4605), etc. are set.

Index(4601)には、当該コントロールのIndex情報が、基本プロパティ(4602)には画面コントロールの基本プロパティ情報が、リソースには、当該画面に表示されるデータを保持する変数が、カスタム1(4604)、カスタム2(4605)・・・には、画面コントロールの位置情報、画面コントロールのサイズ、等の情報が登録されることになる。以上が図46の画面コントロールテーブルの説明である。   Index (4601) includes Index information of the control, Basic Property (4602) includes basic property information of the screen control, and Resource includes a variable that holds data displayed on the screen as Custom 1 (4604). ), Custom 2 (4605)..., Information such as screen control position information, screen control size, and the like is registered. The above is the description of the screen control table of FIG.

次に、図41を参照して、図38のステップS3809の新規ボックス追加処理の詳細について説明する。この処理は、図39で説明した新規ボタン追加処理と略同等である。   Next, with reference to FIG. 41, the details of the new box addition processing in step S3809 in FIG. 38 will be described. This process is substantially the same as the new button addition process described with reference to FIG.

まず、CPU111は、画像処理結果を表示するための新規ボックス追加処理の指示を受け付けると、処理の結果を表示するためのボックスを配置する画面レイアウトテーブルが既に作成されているかを判定する(ステップS4101)。そして、ステップS4101の判定処理の結果、テーブルがまだ作成されていない(テーブルありでNO)と判定された場合(ステップS4102/NO)、画面レイアウトテーブルを作成する(ステップS4103)。   First, when receiving an instruction for a new box addition process for displaying an image processing result, the CPU 111 determines whether a screen layout table for arranging a box for displaying the result of the process has already been created (step S4101). ). If it is determined as a result of the determination process in step S4101 that a table has not yet been created (NO with table) (step S4102 / NO), a screen layout table is created (step S4103).

その後、追加された画面に表示するデータを設定する(ステップS4104)。ここで設定するデータは、例えば、当該画面に設定されているボタンコントロールにより実行される処理フローでの処理結果であり、具体的には当該処理フローを示す処理フロー・入出力パラメータテーブル中の入力パラメータ若しくは出力パラメータとして設定されている変数が指定される。 Thereafter, data to be displayed on the added screen is set (step S4104). The data to be set here is, for example, the processing result in the processing flow executed by the button control set on the screen, and specifically, the input in the processing flow / input / output parameter table indicating the processing flow A variable set as a parameter or output parameter is specified.

その後、ボックスコントロールの詳細を示すボックスコントロールテーブル(図47)に、当該追加されたボックスコントロールの詳細を登録するためのレコードを追加し(ステップS4105)、画面の基本プロパティを外部メモリ116から読み出し、当該レコードに設定する(ステップS4106)。そして、ステップS4106で読み出したプロパティを図46のプロパティ表示領域3703に表示するとともに、追加されたコントロールをデザイン領域3702に描画する。以上が、図38のステップS3809の新規ボックス追加処理の詳細である。   Thereafter, a record for registering the details of the added box control is added to the box control table (FIG. 47) showing the details of the box control (step S4105), and the basic properties of the screen are read from the external memory 116. The record is set (step S4106). Then, the property read in step S4106 is displayed in the property display area 3703 of FIG. 46, and the added control is drawn in the design area 3702. The above is the details of the new box addition process in step S3809 of FIG.

図47を参照して、ボックスコントロールテーブルの一例について説明する。ボックスコントロールテーブル4700には、Index(4701)、基本プロパティ(4702)、表示変数(4703)、カスタム1(4704)、カスタム2(4705)・・・等が設定されている。   An example of the box control table will be described with reference to FIG. In the box control table 4700, Index (4701), basic property (4702), display variable (4703), custom 1 (4704), custom 2 (4705), etc. are set.

Index(4701)には、当該コントロールのIndex情報が、基本プロパティ(4702)には画面コントロールの基本プロパティ情報が、表示変数(4703)には、当該画面に表示されるデータを保持する変数が、カスタム1(4704)、カスタム2(4705)・・・には、ボックスコントロールの位置情報、ボックスコントロールのサイズ、等の情報が登録されることになる。以上が図47の画面コントロールテーブルの説明である。   Index (4701) includes index information of the control, basic property (4702) includes basic property information of the screen control, and display variable (4703) includes a variable that holds data displayed on the screen. Custom 1 (4704), custom 2 (4705)... Register information such as box control position information, box control size, and the like. The above is the description of the screen control table of FIG.

次に、図42を参照して、図38のステップS3811に示す、変更・移動処理の詳細について説明する。CPU111は、変更若しくは移動指示を受け付けた場合に、まず変更対象となるコントロールを特定する(ステップS4201)。その後、当該変更要求を受け付けた種別コントロールの詳細を管理するコントロールテーブルから変更対象のコントロールのレコードを取得する(ステップS4202)。   Next, with reference to FIG. 42, the details of the change / move process shown in step S3811 of FIG. 38 will be described. When the CPU 111 receives a change or movement instruction, the CPU 111 first specifies a control to be changed (step S4201). Thereafter, a record of the control to be changed is acquired from the control table that manages the details of the type control that has received the change request (step S4202).

そしてステップS4202で取得したレコードに対して、ユーザから受け付けた変更内容に従った変更処理を行う(ステップS4203)。例えば、コントロールの移動の場合には、コントロールの座標値を示す情報に対する変更処理が行われることになる。   And the change process according to the change content received from the user with respect to the record acquired by step S4202 is performed (step S4203). For example, in the case of movement of a control, a change process for information indicating the coordinate value of the control is performed.

そして、変更されたプロパティ情報を図37のプロパティ表示領域3703に表示するとともに、変更されたコントロールの再描画処理を行う。以上が、図42のステップS3811の変更・移動処理の詳細である。   Then, the changed property information is displayed in the property display area 3703 in FIG. 37, and the redrawing process of the changed control is performed. The above is the details of the change / move process in step S3811 of FIG.

図43を参照して、図38のステップS3813の保存処理の詳細について説明する。まず、CPU111は、外部メモリ116に記憶されているソースプログラムに従って、図47〜図42の処理により作成された画面に対する操作指示等により発生するイベントに応じて、設定された処理を実行するためのソースプログラムを作成する(ステップS4301)。そして、そのソースプログラムを外部メモリ116に保存する(ステップS4302)。この処理を行う際に、実際にソースプログラムのコンパイル処理、リンク処理を実行し、その後、デバッグ処理を行わせるようにしても勿論かまわない。   With reference to FIG. 43, the details of the storage processing in step S3813 in FIG. 38 will be described. First, in accordance with a source program stored in the external memory 116, the CPU 111 executes a set process in accordance with an event generated by an operation instruction or the like on the screen created by the processes in FIGS. A source program is created (step S4301). Then, the source program is stored in the external memory 116 (step S4302). When performing this process, it is of course possible to actually execute the compile process and link process of the source program, and then perform the debug process.

本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。   The present invention can be implemented as a system, apparatus, method, program, storage medium, or the like, and can be applied to a system including a plurality of devices. You may apply to the apparatus which consists of one apparatus.

なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。   Note that the present invention includes a software program that implements the functions of the above-described embodiments directly or remotely from a system or apparatus. The present invention also includes a case where the system or the computer of the apparatus is achieved by reading and executing the supplied program code.

したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。   Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.

その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。   In that case, as long as it has the function of a program, it may be in the form of object code, a program executed by an interpreter, script data supplied to the OS, and the like.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。   Examples of the recording medium for supplying the program include a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, and CD-RW. There are also magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R) and the like.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. The computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let me. It is also possible to execute the encrypted program by using the downloaded key information and install the program on a computer.

また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。   Further, the functions of the above-described embodiments are realized by the computer executing the read program. In addition, based on the instructions of the program, an OS or the like running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。   Further, the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing based on the instructions of the program, and the functions of the above-described embodiments are realized by the processing.

なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

100 画像処理システム
110 情報処理装置)
120 入力装置
130 ディスプレイ装置
140 カメラ
150 照明装置コントローラ
160 照明装置
170 外部機器コントローラ
180 ステージ
181 検査対象
190 LAN(Local Area Network)
111 CPU
112 RAM
113 ROM
114 システムバス
115a 入力コントローラ
115b ビデオコントローラ
115c メモリコントローラ
115d、115e、115g 通信I/Fコントローラ
115f 画像入力コントローラ
116 外部メモリ
100 image processing system 110 information processing apparatus)
120 Input Device 130 Display Device 140 Camera 150 Illumination Device Controller 160 Illumination Device 170 External Device Controller 180 Stage 181 Inspection Object 190 LAN (Local Area Network)
111 CPU
112 RAM
113 ROM
114 System bus 115a Input controller 115b Video controller 115c Memory controller 115d, 115e, 115g Communication I / F controller 115f Image input controller 116 External memory

Claims (10)

コンピュータに画像処理を行わせるためのアプリケーションプログラムを生成する情報処理装置であって、
前記アプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段と、
前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付手段と、
前記受付手段での前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定手段と、
前記受付手段で受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付手段で記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成手段と、
前記生成手段で生成したアプリケーションプログラムを前記記憶手段に登録する登録手段と、
前記登録手段で登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定手段で設定された表示領域に表示する表示制御手段と、
を備え、
前記登録手段は、前記生成手段で生成された処理アイテム前記受付手段で前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とする情報処理装置。
An information processing apparatus for generating an application program for causing a computer to perform image processing,
Storage means for storing a plurality of process items that can be added to the application program and source code used for generating a program for realizing the process related to the process item in association with each other;
The specification of a process item to be added to the application program is received from the selection screen for displaying the plurality of process items, and an input screen for the user to describe the source code is displayed according to an instruction from the user on the selection screen. Receiving means for displaying the source code including the debugging information for debugging, including the basic part of
A setting unit that sets a display area for displaying image data of an image processing result by the processing item in response to the reception of the designation of the processing item by the receiving unit;
The application program is generated using the source code corresponding to the processing item received by the receiving unit, and the processing item is generated by removing the debug information from the source code whose description is received by the receiving unit Generating means for
Registration means for registering the application program generated by the generating means in the storage means;
Display control means for displaying the result image data as a result of performing the processing related to the processing item on the processing target image in the display area set by the setting means when executing the application program registered by the registration means;
With
Said registration means so that the process item generated by the generating means is possible to specify the reception of the selection screen by said receiving means, said processing items in which the generated as addable process item to the application program An information processing apparatus that is additionally registered in a storage unit.
前記受付手段は、前記複数の処理アイテムを表示する選択画面から、前記アプリケーションプログラムの一連の処理の流れを示す処理フローに追加する処理アイテムの指定を受け付け、
前記登録手段は、前記生成手段で生成された前記処理アイテムを、前記受付手段で前記処理フローに対する追加の指定の受付が可能なように、前記記憶手段に追加登録することを特徴とする請求項1に記載の情報処理装置。
The accepting unit accepts designation of a process item to be added to a process flow indicating a flow of a series of processes of the application program from a selection screen displaying the plurality of process items,
The registration unit additionally registers the process item generated by the generation unit in the storage unit so that the reception unit can receive an additional designation for the processing flow. The information processing apparatus according to 1.
前記登録手段は、前記受付手段での前記処理アイテムの指定の受付中に、前記生成手段で生成された前記処理アイテムを、前記受付手段で前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記記憶手段に追加登録することを特徴とする請求項1または2に記載の情報処理装置。 Said registration means, during reception of the specified the process item in said receiving means, said processing items generated by the generating means, so that it is possible to specify the reception of the selection screen by said receiving means, said The information processing apparatus according to claim 1 , wherein the generated processing item is additionally registered in the storage unit. 処理アイテムの指定を受け付けるメニュー項目を表示する前記選択画面である第1の表示領域、前記受付手段で受け付けた処理アイテムの処理及び実行順序を示す表示情報を表示する第2の表示領域、を備える画面情報を表示する表示手段をさらに備え、
前記受付手段は前記第1の表示領域に表示されているメニュー項目に対する前記第2の領域へのドラッグアンドドロップ処理を受け付けることで、前記アプリケーションプログラムに追加する処理アイテムの指定を受け付けることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
A first display area serving as the selection screen for displaying a menu item for accepting designation of a process item; and a second display area for displaying display information indicating the process and execution order of the process item accepted by the accepting means. A display means for displaying screen information;
The accepting means accepts a designation of a process item to be added to the application program by accepting a drag and drop process to the second area for the menu item displayed in the first display area. The information processing apparatus according to any one of claims 1 to 3.
前記表示手段は、前記ソースコードを記述可能な前記入力画面である第3の表示領域を更に備える画面情報を表示することを特徴とする請求項4に記載の情報処理装置。 The information processing apparatus according to claim 4, wherein the display unit displays screen information further including a third display area that is the input screen in which the source code can be described. 前記表示手段は、前記第2の表示領域に前記受付手段で受け付けた処理アイテムにより行われる処理を示す処理フローを表示することを特徴とする請求項4または5に記載の情報処理装置。   The information processing apparatus according to claim 4, wherein the display unit displays a processing flow indicating processing performed by the processing item received by the receiving unit in the second display area. 前記受付手段は、前記アプリケーションプログラムに追加した処理アイテムの削除、前記アプリケーションプログラムに追加した処理アイテムの実行順序の変更を行うことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。   The information according to any one of claims 1 to 6, wherein the accepting unit deletes a process item added to the application program and changes an execution order of the process items added to the application program. Processing equipment. 前記生成手段で生成したプログラムの実行指示を行うために用いる画面情報を作成する作成手段をさらに備えることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising a creation unit that creates screen information used to instruct execution of a program generated by the generation unit. コンピュータに画像処理を行わせるためのアプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段を備え、前記アプリケーションプログラムを生成する情報処理装置の制御方法であって、
前記情報処理装置の受付手段が、前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付ステップと、
前記情報処理装置の設定手段が、前記受付ステップでの前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定ステップと、
前記情報処理装置の生成手段が、前記受付ステップで受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付ステップで記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成ステップと、
前記情報処理装置の登録手段が、前記生成ステップで生成したアプリケーションプログラムを前記記憶手段に登録する登録ステップと、
前記情報処理装置の表示制御手段が、前記登録ステップで登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定ステップで設定された表示領域に表示する表示制御ステップと、
を備え、
前記登録ステップは、前記生成ステップで生成された処理アイテム前記受付ステップで前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とする情報処理装置の制御方法。
Storage means for storing a plurality of process items that can be added to an application program for causing a computer to perform image processing and source code used for generating a program for realizing processing related to the process items in association with each other A method for controlling the information processing apparatus for generating the application program,
The accepting means of the information processing apparatus accepts designation of a process item to be added to the application program from a selection screen that displays the plurality of process items, and a user describes source code according to an instruction from the user on the selection screen An input screen for displaying the source code including the basic part of the source code, and receiving a description of the source code including debug information for debugging ,
A setting step in which the setting unit of the information processing apparatus sets a display area for displaying image data of an image processing result by the processing item in response to receiving the designation of the processing item in the receiving step;
The generation unit of the information processing apparatus generates the application program using the source code corresponding to the processing item received in the receiving step, and the debug information from the source code whose description is received in the receiving step. Generating a process item by removing
A registration step in which the registration unit of the information processing apparatus registers the application program generated in the generation step in the storage unit;
The display area in which the display control unit of the information processing apparatus sets the result image data obtained as a result of performing the processing related to the processing item on the processing target image when the application program registered in the registration step is executed. Display control steps to be displayed on,
With
The registration step, so that the process item generated in the generation step is possible to specify the reception of the selection screen in the accepting step, the processing item which the generated as addable process item to the application program A method for controlling an information processing apparatus, wherein the information is additionally registered in a storage unit.
コンピュータに画像処理を行わせるためのアプリケーションプログラムに追加可能な複数の処理アイテムと、その処理アイテムに係る処理を実現するためのプログラムの生成に用いられるソースコードとを対応付けて記憶する記憶手段を備え、前記アプリケーションプログラムを生成する情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記複数の処理アイテムを表示する選択画面から前記アプリケーションプログラムに追加する処理アイテムの指定を受け付け、また前記選択画面におけるユーザからの指示により、ユーザがソースコードを記述するための入力画面を当該ソースコードの基礎となる部分を含めて表示し、デバッグのためのデバッグ情報を含めたソースコードの記述を受け付ける受付手段と、
前記受付手段での前記処理アイテムの指定の受付に応じて、前記処理アイテムによる画像処理結果の画像データを表示する表示領域を設定する設定手段と、
前記受付手段で受け付けた前記処理アイテムに対応するソースコードを用いて、前記アプリケーションプログラムを生成し、また前記受付手段で記述を受け付けたソースコードから、前記デバッグ情報を除去することで処理アイテムを生成する生成手段と、
前記生成手段で生成したアプリケーションプログラムを前記記憶手段に登録する登録手段と、
前記登録手段で登録したアプリケーションプログラムの実行時に、処理対象画像に対する前記処理アイテムに係る処理を行った結果の結果画像データを前記設定手段で設定された表示領域に表示する表示制御手段
として機能させ、
前記登録手段は、前記生成手段で生成された処理アイテム前記受付手段で前記選択画面における指定の受付が可能となるよう当該生成された処理アイテムを前記アプリケーションプログラムに追加可能な処理アイテムとして前記記憶手段に追加登録することを特徴とするコンピュータに読み取り実行可能なプログラム。
Storage means for storing a plurality of process items that can be added to an application program for causing a computer to perform image processing and source code used for generating a program for realizing processing related to the process items in association with each other A computer-readable program for causing a computer to execute the control method of the information processing apparatus that generates the application program,
The information processing apparatus;
The specification of a process item to be added to the application program is received from the selection screen for displaying the plurality of process items, and an input screen for the user to describe the source code is displayed according to an instruction from the user on the selection screen. Receiving means for displaying the source code including the debugging information for debugging, including the basic part of
A setting unit that sets a display area for displaying image data of an image processing result by the processing item in response to the reception of the designation of the processing item by the receiving unit;
The application program is generated using the source code corresponding to the processing item received by the receiving unit, and the processing item is generated by removing the debug information from the source code whose description is received by the receiving unit Generating means for
Registration means for registering the application program generated by the generating means in the storage means;
When executing the application program registered by the registration means, function as display control means for displaying the result image data as a result of performing the processing related to the processing item on the processing target image in the display area set by the setting means,
Said registration means so that the process item generated by the generating means is possible to specify the reception of the selection screen by said receiving means, said processing items in which the generated as addable process item to the application program A program readable and executable by a computer, additionally registered in a storage means.
JP2009272757A 2009-11-30 2009-11-30 Information processing apparatus, control method thereof, and program Expired - Fee Related JP5334124B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009272757A JP5334124B2 (en) 2009-11-30 2009-11-30 Information processing apparatus, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009272757A JP5334124B2 (en) 2009-11-30 2009-11-30 Information processing apparatus, control method thereof, and program

Publications (2)

Publication Number Publication Date
JP2011118467A JP2011118467A (en) 2011-06-16
JP5334124B2 true JP5334124B2 (en) 2013-11-06

Family

ID=44283758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009272757A Expired - Fee Related JP5334124B2 (en) 2009-11-30 2009-11-30 Information processing apparatus, control method thereof, and program

Country Status (1)

Country Link
JP (1) JP5334124B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921619B2 (en) 2018-11-28 2024-03-05 Trust Technology Co., Ltd. Programming devices and programs for creating and editing programs used for image processing
JP7363601B2 (en) * 2020-03-11 2023-10-18 オムロン株式会社 Image processing device, control method and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3625084B2 (en) * 1995-04-14 2005-03-02 株式会社山武 Reuse system for software parts
JP4442042B2 (en) * 2001-02-23 2010-03-31 パナソニック電工株式会社 Image processing program creation method and system
JP3980392B2 (en) * 2002-03-29 2007-09-26 滋賀県 Development support system and development support method for image processing inspection apparatus
JP2006285473A (en) * 2005-03-31 2006-10-19 Fujitsu Ltd Manufacturing process management system
JP2007025798A (en) * 2005-07-12 2007-02-01 Hitachi Ltd Linguistic knowledge construction support program and method
JP2009059203A (en) * 2007-08-31 2009-03-19 Omron Corp Customization device for image processing function, customization method for image processing function, and program for customizing image processing function
JP5060674B2 (en) * 2007-11-13 2012-10-31 株式会社キーエンス Program creation device for image processing controller

Also Published As

Publication number Publication date
JP2011118467A (en) 2011-06-16

Similar Documents

Publication Publication Date Title
US7864178B2 (en) Creating machine vision inspections using a state diagram representation
US9141350B2 (en) Embedded system performance
CN104267947B (en) A kind of editor&#39;s method of pop-up picture and pop-up picture editor&#39;s device
CN108345456A (en) Page code generation method, device, computer equipment and storage medium
EP3726373A1 (en) Creating an app method and system
CN102591662B (en) Method and device for drawing skin picture
US20170168860A1 (en) Dynamically binding data in an application
US9116708B2 (en) Program creation support apparatus, program, and information system
JP5334124B2 (en) Information processing apparatus, control method thereof, and program
JP5344658B2 (en) Information processing apparatus, control method thereof, and program
Yang et al. GSWO: A programming model for GPU-enabled parallelization of sliding window operations in image processing
CN114090436A (en) Test method and device
JP5257898B2 (en) Information processing apparatus, control method therefor, and program
JP6168206B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP4767309B2 (en) Information processing apparatus, information processing method, and computer program
JP2012003618A (en) Information processing system, information processing method and information processor
US20240013079A1 (en) Generating a graphical representation of a quantum circuit
CN112783483B (en) Function creation method, device, equipment and medium based on suspension button assembly
US11809844B2 (en) Creating an app method and system
JP4886910B1 (en) Information processing apparatus, information processing apparatus control method, program, and recording medium storing program
CN112204480B (en) Information processing apparatus and computer-readable recording medium
JP7067869B2 (en) Image processing systems, information processing equipment, information processing methods, and information processing programs
JP2011186650A (en) Apparatus and method for processing information, computer program, and recording medium with computer program recorded thereon
Kornyakov Instant OpenCV for iOS
KR102382703B1 (en) Multi-Channel Integration Platform Authoring Device and Method Thereby

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111226

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130531

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130603

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130724

R150 Certificate of patent or registration of utility model

Ref document number: 5334124

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees