JP2009059203A - Customization device for image processing function, customization method for image processing function, and program for customizing image processing function - Google Patents

Customization device for image processing function, customization method for image processing function, and program for customizing image processing function Download PDF

Info

Publication number
JP2009059203A
JP2009059203A JP2007226493A JP2007226493A JP2009059203A JP 2009059203 A JP2009059203 A JP 2009059203A JP 2007226493 A JP2007226493 A JP 2007226493A JP 2007226493 A JP2007226493 A JP 2007226493A JP 2009059203 A JP2009059203 A JP 2009059203A
Authority
JP
Japan
Prior art keywords
image processing
unit
storage unit
processing module
template
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007226493A
Other languages
Japanese (ja)
Inventor
Yuji Suzuki
勇治 鈴木
Takashi Ijiri
隆史 井尻
Takeshi Yoshiura
豪 吉浦
Takashi Mitsushio
孝史 満塩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2007226493A priority Critical patent/JP2009059203A/en
Publication of JP2009059203A publication Critical patent/JP2009059203A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide the customization device of an image processing function, the customization method of the image processing function and a program for customizing the image processing function by which a system integrator can easily and sufficiently customize the image processing function of an image processing inspection device. <P>SOLUTION: An operation input part 7 accepts the operation of a user. An image processing module storage part 291 stores the plurality of image processing modules. A basic flow developing part 9 determines the order of the execution of the plurality of image processing modules stored in the image processing module storage part 291 according to the operation of the user through the operation input part 7. An image processing module developing part 10 generates a new image processing module according to the operation of the user through the operation input part 7, and stores it in the image processing module storage part 291. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラムに関し、特に、製品検査などに用いられる画像処理検査装置の画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラムに関する。   The present invention relates to an image processing function customizing device, an image processing function customizing method, and a program for customizing an image processing function, and in particular, an image processing function customizing device of an image processing inspection device used for product inspection, etc. The present invention relates to a method for customizing an image processing function and a program for customizing the image processing function.

画像処理検査装置は、カメラで撮影された画像を用いて検査を行なうもので、工場の製造ラインなど多方面で用いられている。画像処理検査装置は、どの使用者でも利用できる汎用性を有した装置およびプログラムからなる汎用タイプのものと、個々の使用者のニーズに合致した専用の装置およびプログラムからなる専用タイプのものがある。汎用タイプの画像処理検査装置は、どの使用者でもそれなりに利用することができるが、各使用者のニーズを完全に満たすことができないという問題がある。一方、専用タイプの画像処理検査装置は、使用者ごとに個別に開発しなければならず、メーカ側の開発コストが高いという問題がある。   The image processing inspection apparatus inspects using an image photographed by a camera and is used in various fields such as a factory production line. There are two types of image processing inspection devices: a general-purpose type consisting of general-purpose devices and programs that can be used by any user, and a dedicated type consisting of dedicated devices and programs that meet the needs of individual users. . Although the general-purpose type image processing inspection apparatus can be used by any user as it is, there is a problem that the needs of each user cannot be completely satisfied. On the other hand, the dedicated type image processing inspection apparatus has to be developed individually for each user, and there is a problem that the development cost on the manufacturer side is high.

汎用タイプおよび専用タイプはそれぞれ上述のような問題点があるので、メーカ側が、画像処理検査装置の機能のカスタマイズが可能な装置およびそれを動作させるプログラムを提供し、システムインテグレータ(SI)が、利用者のニーズに合わせて機能をカスタマイズすることが必要となる。   Since the general-purpose type and the dedicated type have the above-mentioned problems, the manufacturer provides a device capable of customizing the functions of the image processing inspection device and a program for operating the device, and is used by the system integrator (SI). It is necessary to customize the function according to the needs of the users.

画像処理検査装置の機能のカスタマイズには、プログラム方式と、メニュー方式と、フロー方式の3つの方法がある。   There are three methods for customizing the functions of the image processing inspection apparatus: a program method, a menu method, and a flow method.

プログラム方式は、SIが、エディタ上で市販のライブラリ(たとえば、非特許文献1および2を参照)を組み合わせてソースコードを記述することによって、画像処理を行なうプログラムを作成する方式である。   The program method is a method in which SI creates a program for performing image processing by describing a source code by combining commercially available libraries (for example, see Non-Patent Documents 1 and 2) on an editor.

メニュー方式は、画像入力、位置補正、検査・計測、出力といった基本となる処理の流れが決まっており、SIが、個々の処理で具体的にどのような処理を行なうかを、予め用意された画像処理モジュールの中からメニューで選択する方式である。   In the menu method, the basic processing flow such as image input, position correction, inspection / measurement, and output is determined, and the SI is prepared in advance for the specific processing to be performed in each processing. This is a method of selecting from a menu from among image processing modules.

フロー方式は、SIが、予め用意された画像処理モジュールを選択し、フローチャートを組むようにして処理の流れを作成する方式である。
インターネット <URL : http://im.canon-sol.jp/matrox/mil/mil.html> インターネット <URL : http://www.cognex.co.jp/products/pc/visionpro/index.asp>
The flow method is a method in which an SI selects an image processing module prepared in advance and creates a flow of processing by forming a flowchart.
Internet <URL: http://im.canon-sol.jp/matrox/mil/mil.html> Internet <URL: http://www.cognex.co.jp/products/pc/visionpro/index.asp>

しかしながら、上記の従来の方式には以下のような問題がある。
プログラム方式では、SIが、画像処理検査の処理の流れと、個々の処理の内容を記述したソースコードを作成しなければならず、SIの負担が大きい。
However, the above conventional method has the following problems.
In the program method, SI has to create a source code describing the flow of image processing inspection processing and the contents of each processing, and the burden of SI is large.

メニュー方式では、画像処理検査の処理の流れが固定で決まっているので、各処理の結果に応じて処理の流れを変えたい場合に対応できない。また、予め用意された画像処理モジュールによる画像処理しか行なうことができないという問題がある。   In the menu method, the processing flow of the image processing inspection is fixed and cannot be handled when it is desired to change the processing flow according to the result of each processing. There is also a problem that only image processing by an image processing module prepared in advance can be performed.

フロー方式では、画像処理検査の処理の流れがSIが自由に設計できるメリットはあるものの、予め備えられている画像処理モジュールによる画像処理しか行なうことができないという問題がある。   The flow method has a merit that the SI can freely design the flow of the processing of the image processing inspection, but there is a problem that only the image processing by the image processing module provided in advance can be performed.

それゆえに、本発明の目的は、システムインテグレータが、容易かつ十分に画像処理検査装置の画像処理機能をカスタマイズすることのできる画像処理機能のカスタマイズ装置、画像処理機能のカスタマイズ方法、および画像処理機能のカスタマイズのためのプログラムを提供することである。   SUMMARY OF THE INVENTION Therefore, an object of the present invention is to provide an image processing function customizing device, an image processing function customizing method, and an image processing function that allow a system integrator to easily and sufficiently customize an image processing function of an image processing inspection apparatus. It is to provide a program for customization.

上記課題を解決するために、本発明は、画像処理検査装置の画像処理機能をカスタマイズする装置であって、ユーザの操作を受け付ける操作入力部と、複数個の画像処理モジュールを記憶する第1の記憶部と、操作入力部を通じたユーザの操作に従って、第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定する基本フロー作成部と、操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、第1の記憶部に記憶する画像処理モジュール作成部とを備える。   In order to solve the above-described problems, the present invention is an apparatus for customizing an image processing function of an image processing inspection apparatus, and includes an operation input unit that receives a user operation and a first image processing module that stores a plurality of image processing modules. A basic flow creation unit that determines the execution order of a plurality of image processing modules stored in the first storage unit according to a user operation through the operation input unit, and a user operation through the operation input unit And a new image processing module is created and stored in the first storage unit.

好ましくは、画像処理機能のカスタマイズ装置は、画像処理モジュールのテンプレートを記憶する第2の記憶部を備え、画像処理モジュール作成部は、テンプレートを表示して、操作入力部を通じたユーザの操作に従って、テンプレートを編集することによって、新たな画像処理モジュールを作成する。   Preferably, the image processing function customizing apparatus includes a second storage unit that stores a template of the image processing module, and the image processing module creation unit displays the template and follows a user operation through the operation input unit. A new image processing module is created by editing the template.

好ましくは、画像処理モジュ−ルは、画像処理結果の表示部分、画像処理結果の出力部分、画像処理の処理内容である演算部分、および画像処理のパラメータの設定のためのユーザインタフェース部分を含む。   Preferably, the image processing module includes an image processing result display part, an image processing result output part, an arithmetic part which is a processing content of the image processing, and a user interface part for setting image processing parameters.

好ましくは、画像処理機能のカスタマイズ装置は、さらに、テンプレートの画面に貼り付ける部品を記憶する第3の記憶部を備え、画像処理モジュール作成部は、ユーザインタフェース部分の作成時には、第2の記憶部からユーザインタフェース部分のテンプレートを読み出して、ユーザインタフェース画面のテンプレートを表示し、操作入力部を通じたユーザの操作に従って、ユーザインタフェース画面のテンプレートに第3の記憶部に記憶されている部品を貼り付けることによって、ユーザインタフェース部分のテンプレートを編集する。   Preferably, the image processing function customizing apparatus further includes a third storage unit that stores a part to be pasted on the template screen, and the image processing module creation unit is configured to store the second storage unit when creating the user interface part. The user interface portion template is read from the user interface screen template, the user interface screen template is displayed, and the part stored in the third storage unit is pasted on the user interface screen template according to the user operation through the operation input unit. To edit the template of the user interface part.

好ましくは、画像処理モジュール作成部は、表示部分、出力部分、または演算部分の作成時には、第2の記憶部から部分のプログラムのテンプレートを読み出してエディタ上に表示し、操作入力部を通じたユーザの操作に従って、プログラムのテンプレートを編集する。   Preferably, the image processing module creation unit reads the program template of the part from the second storage unit and displays it on the editor when creating the display part, the output part, or the calculation part, and displays the user's program through the operation input part. Edit the program template according to the operation.

好ましくは、画像処理モジュールは、1個または複数個のファイルで構成されており、、ファイルの名前、ファイル内の関数の名前、またはファイル内のコメント文によってファイルまたはファイル内の関数が、画像処理モジュールの表示部分、出力部分、および演算部分のいずれに対応するかが識別可能とされている。   Preferably, the image processing module is composed of one or a plurality of files, and the function of the file or file is processed by the name of the file, the name of the function in the file, or the comment statement in the file. It is possible to identify which one of the display part, the output part, and the calculation part of the module corresponds to.

好ましくは、画像処理機能のカスタマイズ装置は、さらに、第2の記憶部は、さらに画像処理検査装置による画像処理の結果を表示するための運転画面のテンプレートを記憶し、第2の記憶部から運転画面のテンプレートを読み出して表示し、操作入力部を通じたユーザの操作に従って、運転画面のテンプレートに第3の記憶部に記憶されている部品を貼り付けることによって運転画面のテンプレートを編集する運転画面作成部とを備える。   Preferably, the customization apparatus for the image processing function further stores the operation screen template for displaying the result of the image processing by the image processing inspection apparatus, and the second storage unit operates from the second storage unit. Operation screen creation that reads and displays a screen template and edits the operation screen template by pasting the parts stored in the third storage unit to the operation screen template according to the user's operation through the operation input unit A part.

好ましくは、画像処理機能のカスタマイズ装置は、さらに、操作入力部を通じたユーザの操作に従って、画像処理検査装置による画像処理実行中にイベントが発生した場合に、イベントが発生したタイミングで実行される処理を定めたイベントモジュールを作成するイベント処理作成部を備え、基本フロー作成、画像処理モジュール作成、運転画面作成、またはイベント処理作成を選択するためのボタンを表示し、操作入力部を通じたユーザの選択操作にしたがって、実行する処理を切替える実行制御部とを備え、実行制御部は、画像処理機能のカスタマイズ手順として、基本フロー作成、画像処理モジュール作成、運転画面作成、イベント処理作成の順番で行なうことを推奨するガイドを表示する。   Preferably, the customization apparatus for the image processing function further includes a process that is executed at a timing when the event occurs when an event occurs during execution of the image processing by the image processing inspection apparatus according to a user operation through the operation input unit. The event processing creation section that creates the event module that defines the user interface, displays buttons for selecting basic flow creation, image processing module creation, operation screen creation, or event processing creation, and user selection through the operation input section An execution control unit that switches the processing to be executed according to the operation, and the execution control unit performs the procedure for customizing the image processing function in the order of basic flow creation, image processing module creation, operation screen creation, and event processing creation. Display a recommended guide.

また、本発明は、複数個の画像処理モジュールを記憶する第1の記憶部を備えた装置におけ画像処理検査装置の画像処理機能をカスタマイズする方法であって、操作入力部が、ユーザの操作を受け付けるステップと、、基本フロー作成部が、操作入力部を通じたユーザの操作に従って、第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定するステップと、画像処理モジュール作成部が、操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、第1の記憶部に記憶するステップとを備える。   The present invention is also a method for customizing an image processing function of an image processing inspection apparatus in an apparatus having a first storage unit for storing a plurality of image processing modules, wherein the operation input unit is operated by a user's operation. The basic flow creation unit determining the execution order of the plurality of image processing modules stored in the first storage unit according to the user's operation through the operation input unit, the image processing module A creating unit that creates a new image processing module according to a user operation through the operation input unit and stores the new image processing module in the first storage unit;

また、本発明の画像処理機能をカスタマイズするプログラムは、コンピュータを、ユーザの操作を受け付ける操作入力部と、複数個の画像処理モジュールを記憶する第1の記憶部と、操作入力部を通じたユーザの操作に従って、第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定する基本フロー作成部と、操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、第1の記憶部に記憶する画像処理モジュール作成部として機能させる。   A program for customizing an image processing function according to the present invention includes a computer, an operation input unit that receives a user operation, a first storage unit that stores a plurality of image processing modules, and a user's operation through the operation input unit. A basic flow creation unit that determines the execution order of the plurality of image processing modules stored in the first storage unit according to the operation, and a new image processing module is created according to the user operation through the operation input unit. And function as an image processing module creation unit stored in the first storage unit.

本発明によれば、システムインテグレータが、容易かつ十分に画像処理機能をカスタマイズすることができる。   According to the present invention, the system integrator can easily and sufficiently customize the image processing function.

以下、本発明に係る実施の形態について図面を参照して説明する。
図1は、本発明の実施形態の画像処理機能のカスタマイズ装置の構成を表わす図である。この画像処理機能のカスタマイズ装置1は、画像処理検査装置の画像処理機能をカスタマイズする装置であって、画像処理検査装置で動作する実行形式のプログラムを作成する。
Hereinafter, embodiments according to the present invention will be described with reference to the drawings.
FIG. 1 is a diagram illustrating the configuration of an image processing function customizing apparatus according to an embodiment of the present invention. The image processing function customizing apparatus 1 is an apparatus for customizing the image processing function of the image processing inspection apparatus, and creates an executable program that operates on the image processing inspection apparatus.

図1を参照して、この画像処理機能のカスタマイズ装置1は、コンピュータで実現されており、ディスプレイ2と、CPU(Central Processing Unit)およびメモリ4と、操作入力部7と、ハードディスク5と、リムーバブルメディア6を備える。   Referring to FIG. 1, the image processing function customizing apparatus 1 is realized by a computer, and includes a display 2, a CPU (Central Processing Unit) and a memory 4, an operation input unit 7, a hard disk 5, and a removable device. Media 6 is provided.

操作入力部7は、マウス20とキーボード21を含み、画像処理機能のカスタマイズ装置1のユーザであるSIからの操作入力を受け付ける。   The operation input unit 7 includes a mouse 20 and a keyboard 21, and receives an operation input from an SI that is a user of the image processing function customizing apparatus 1.

ハードディスク5は、カスタマイズプログラム記憶部14と、画像処理モジュール記憶部291と、基本フロー記憶部294と、イベント処理モジュール記憶部292と、運転画面記憶部293と、テンプレート記憶部16と、部品記憶部15と、OS類記憶部22と、ライブラリ類記憶部23と、シミュレーションソフト記憶部17と、マニュアル類記憶部18と、実行プログラム記憶部19とを含む。   The hard disk 5 includes a customization program storage unit 14, an image processing module storage unit 291, a basic flow storage unit 294, an event processing module storage unit 292, an operation screen storage unit 293, a template storage unit 16, and a component storage unit. 15, an OS storage unit 22, a library storage unit 23, a simulation software storage unit 17, a manual storage unit 18, and an execution program storage unit 19.

カスタマイズプログラム記憶部14は、カスタマイズプログラム(Application Producer)を記憶する。カスタマイズプログラムは、CPUに読み込まれて実行され、コンピュータを画像処理機能のカスタマイズ装置1の各構成要素として機能させる。   The customization program storage unit 14 stores a customization program (Application Producer). The customization program is read and executed by the CPU, and causes the computer to function as each component of the image processing function customization apparatus 1.

画像処理モジュール記憶部291は、ソースコード形式の画像処理モジュールを記憶する。画像処理モジュールは、色面積の計算、エッジ位置検出などの画像処理の基本単位を実行するためのもので、複数個のファイルからなる。画像処理モジュール記憶部291は、出荷時に予め組み込まれている画像処理モジュールと、SIによって新たに作成された画像処理モジュールとを記憶する。画像処理モジュールは、画像処理結果の表示部分、画像処理結果の出力部分、画像処理の処理内容である演算部分、および画像処理のパラメータの設定のためのユーザインタフェース部分を少なくとも含む。画像処理のパラメータの設定には、サーチなどのモデル画像の領域座標および画像の設定、画像計測などの計測領域の設定、面積計測での穴埋め(輪郭の中を塗りつぶす)機能の実行の有無の設定、計測結果の判定を行なうための上下限値の設定などがある。   The image processing module storage unit 291 stores an image processing module in a source code format. The image processing module is for executing a basic unit of image processing such as color area calculation and edge position detection, and includes a plurality of files. The image processing module storage unit 291 stores an image processing module incorporated in advance at the time of shipment and an image processing module newly created by SI. The image processing module includes at least an image processing result display part, an image processing result output part, an arithmetic part which is a processing content of the image processing, and a user interface part for setting image processing parameters. For image processing parameter settings, model image area coordinates and image settings such as search, measurement area settings such as image measurement, and whether or not to perform hole filling (filling the outline) function in area measurement There are upper and lower limit values for determining the measurement result.

基本フロー記憶部294は、SIによって作成された画像処理モジュールの実行順序と、そのパラメータからなる基本フローを記憶する。   The basic flow storage unit 294 stores an execution sequence of image processing modules created by SI and a basic flow including parameters thereof.

イベント処理モジュール記憶部292は、SIによって新たに作成されたソースコード形式のイベント処理モジュールを記憶する。イベント処理モジュールは、画像処理検査装置による画像処理の実行中にイベントが発生した場合に、イベントが発生したタイミングで実行される処理を定めたものである。イベント処理モジュールは、画像処理モジュールのようなパラメータの設定のためのユーザインタフェース部分を含まない。   The event processing module storage unit 292 stores an event processing module in a source code format newly created by SI. The event processing module defines processing to be executed at the timing when an event occurs when an event occurs during execution of image processing by the image processing inspection apparatus. The event processing module does not include a user interface part for setting parameters like the image processing module.

運転画面記憶部293は、SIによって新たに作成された運転画面を記憶する。運転画面は、画像処理検査装置による画像処理の結果を表示するための画面であり、記憶されている運転画面は、ビジュアルベーシックのファイルからなる。   The operation screen storage unit 293 stores an operation screen newly created by SI. The operation screen is a screen for displaying the result of image processing by the image processing inspection apparatus, and the stored operation screen is composed of a visual basic file.

テンプレート記憶部16は、画像処理モジュールのテンプレートおよび運転画面のテンプレートを記憶する。運転画面のテンプレートは、ビジュアルベーシック(登録商標)のファイルからなる。テンプレートとは、新たな画像処理モジュールおよび運転画面を作成するときの原型となるものであって、1個以上のファイルで構成され、ファイル内には、実行する典型的な呼び出し関数が記述されているものである。ファイル内の呼び出し関数には、典型的な実行命令が記述されていたり、あるいはリターン値だけが記載されている(スケルトン形式という)。   The template storage unit 16 stores an image processing module template and an operation screen template. The operation screen template includes a file of Visual Basic (registered trademark). A template is a prototype for creating a new image processing module and operation screen. The template is composed of one or more files, and a typical calling function to be executed is described in the file. It is what. In the calling function in the file, a typical execution instruction is described or only a return value is described (referred to as a skeleton format).

図2は、画像処理モジュールのテンプレートを構成するファイルの一覧とその機能の例を表わす図である。画像処理モジュール記憶部291に記憶されている画像処理モジュールも、「Sample」が個々の画像処理モジュール特有の名称となっている以外は、図2と同様のファイル構成である。   FIG. 2 is a diagram showing a list of files constituting the template of the image processing module and an example of its function. The image processing module stored in the image processing module storage unit 291 also has the same file configuration as that of FIG. 2 except that “Sample” is a name unique to each image processing module.

図2を参照して、「Sample_jpn.msg」は、日本語のメッセージファイルである。「Sample_eng.msg」は、英語のメッセージファイルである。   Referring to FIG. 2, “Sample_jpn.msg” is a Japanese message file. “Sample_eng.msg” is an English message file.

UIプログラムは、画像処理のパラメータ(各種の閾値など)を設定するためのユーザインタフェースを規定したものであり、2個の必須ファイルがある。「NormalForm.vb」は、通常使用されるユーザインタフェースを記述したビジュアルベーシックのファイルである。「NonstopForm.vb」は、計測中に一時的に上下限値を変更するための簡易ノンストップをするときのユーザインタフェースを記述したビジュアルベーシックのファイルである。   The UI program defines a user interface for setting image processing parameters (such as various threshold values), and there are two essential files. “NormalForm.vb” is a visual basic file describing a normally used user interface. “NonstopForm.vb” is a visual basic file describing a user interface for simple nonstop for temporarily changing the upper and lower limit values during measurement.

MSプログラムは、画像処理の処理内容である演算(つまり計測)、画像処理結果(つまり計測結果)の表示、画像処理結果(つまり計測結果)の出力などを規定したものであり、9個の必須ファイルと、5個の任意ファイルとがある。MSプログラムのうち、どのファイルが画像処理モジュールの表示部分、出力部分、および演算(計測)部分のいずれに対応するかがファイル名によって識別可能とされている。これにより、SIがテンプレートを編集する際にどのファイルを修正すべきであるかが容易にわかる。また、MSプログラムのテンプレートに記述される関数は、その中身が戻り値(リターン値)だけが記述されているスケルトンの形式である。   The MS program defines operations (that is, measurement) that are processing contents of image processing, display of image processing results (that is, measurement results), output of image processing results (that is, measurement results), and the like. There are files and 5 arbitrary files. Of the MS program, which file corresponds to the display part, the output part, and the calculation (measurement) part of the image processing module can be identified by the file name. This makes it easy to see which file should be modified when the SI edits the template. The function described in the template of the MS program has a skeleton format in which only the return value (return value) is described.

「AssignProc.cpp」は、処理ユニット登録時処理関連の処理を記述したテキストファイルである。処理ユニットは、画像処理モジュールと同義である。「Assign」は登録を意味し、「Proc」は処理を意味する「Processing」を略したものであるから、SIがテンプレートの編集の際に、「AssignProc.cpp」が上記処理を記述するものであることを容易に識別できる。
「FigureUpdate.cpp」は、図形データ更新時処理関連の処理を記述したテキストファイルである。「Figure」は図形を意味し、「Update」は更新を意味するものであるから、SIがテンプレートの編集の際に、「FigureUpdate.cpp」が上記処理を記述するものであることを容易に識別できる。
“AssignProc.cpp” is a text file describing processing related to processing at the time of processing unit registration. A processing unit is synonymous with an image processing module. “Assign” means registration, and “Proc” is an abbreviation for “Processing” which means processing, so when SI edits a template, “AssignProc.cpp” describes the above processing. It can be easily identified.
“FigureUpdate.cpp” is a text file that describes processing related to processing for updating graphic data. Since “Figure” means a figure and “Update” means an update, it is easy to identify that “FigureUpdate.cpp” describes the above processing when editing a template. it can.

「ItemDefs.h」は、処理項目の各種定義を記述したテキストファイルである。処理項目は、画像処理モジュールおよび処理ユニットと同義である。「「Item」は項目を意味し、「Def」は定義を意味する「Definition」を略したものであるから、SIがテンプレートの編集の際に、「ItemDefs.h」が上記処理を記述するものであることを容易に識別できる。   “ItemDefs.h” is a text file describing various definitions of processing items. The processing item is synonymous with the image processing module and the processing unit. "" Item "means item and" Def "is short for" Definition "meaning definition, so when SI edits a template," ItemDefs.h "describes the above processing Can be easily identified.

「ItemInit.cpp」は、処理項目の初期化処理関連の処理を記述したテキストファイルである。「Item」は項目を意味し、「Init」は初期化を意味する「Initialization」を略したものであるから、SIがテンプレートの編集の際に、「ItemInit.cpp」が上記処理を記述するものであることを容易に識別できる。   “ItemInit.cpp” is a text file in which processing items related to initialization processing are described. "Item" means an item, and "Init" is an abbreviation for "Initialization" which means initialization, so when SI edits a template, "ItemInit.cpp" describes the above processing Can be easily identified.

「MeasureDisp.cpp」は、計測結果表示処理関連の処理を記述したテキストファイルである。「Measure」は計測を意味し、「Disp」は表示を意味する「Display」を略したものであるから、SIがテンプレートの編集の際に、「MeasureDisp.cpp」が上記処理を記述するものであることを容易に識別できる。   “MeasureDisp.cpp” is a text file describing processing related to measurement result display processing. “Measure” means measurement, and “Disp” is short for “Display”, which means display, so when SI edits a template, “MeasureDisp.cpp” describes the above processing. It can be easily identified.

「MeasureInit.cpp」は、計測初期化/終了関連の処理を記述したテキストファイルである。「Measure」は計測を意味し、「Init」は初期化を意味する「Initialization」を略したものであるから、SIがテンプレートの編集の際に、「MeasureInit.cpp」が上記処理を記述するものであることを容易に識別できる。   “MeasureInit.cpp” is a text file describing processing related to initialization / end of measurement. "Measure" means measurement, and "Init" is short for "Initialization", which means initialization, so when SI edits a template, "MeasureInit.cpp" describes the above processing Can be easily identified.

「MeasureOut.cpp」は、計測結果出力処理関連の処理を記述したテキストファイルである。「Measure」は計測を意味し、「Out」は出力を意味するものであるから、SIがテンプレートの編集の際に、「MeasureOut.cpp」が上記処理を記述するものであることを容易に識別できる。   “MeasureOut.cpp” is a text file describing processing related to measurement result output processing. Since “Measure” means measurement and “Out” means output, it is easy to identify that “MeasureOut.cpp” describes the above processing when editing a template. it can.

「MeasureProc.cpp」は、計測処理関連の処理を記述したテキストファイルである。「Measure」は計測を意味し、「Proc」は処理を意味する「Processing」を略したものであるから、SIがテンプレートの編集の際に、「MeasureProc.cpp」が上記処理を記述するものであることを容易に識別できる。   “MeasureProc.cpp” is a text file describing processing related to measurement processing. “Measure” means measurement, and “Proc” is an abbreviation for “Processing” meaning processing, so when SI edits a template, “MeasureProc.cpp” describes the above processing. It can be easily identified.

「UnitData.cpp」は、処理ユニットデータ設定/取得関連の処理を記述したテキストファイルである。「Unit」はユニットを意味し、「Data」はデータを意味するものであるから、SIがテンプレートの編集の際に、「UnitData.cpp」が上記処理を記述するものであることを容易に識別できる。   “UnitData.cpp” is a text file describing processing unit data setting / acquisition related processing. “Unit” means a unit, and “Data” means data. Therefore, when editing a template, SI easily identifies that “UnitData.cpp” describes the above processing. it can.

「FigureData.cpp」、処理ユニットの図形データ操作関連の処理を記述したテキストファイルである。「Figure」は図形を意味し、「Data」はデータを意味するものであるから、SIがテンプレートの編集の際に、「FigureData.cpp」が上記処理を記述するものであることを容易に識別できる。   "FigureData.cpp" is a text file that describes the processing related to the figure data manipulation of the processing unit. Since “Figure” means a figure and “Data” means data, SI can easily identify that “FigureData.cpp” describes the above processing when editing a template. it can.

「RenumProc.cpp」は、処理ユニットの参照番号更新処理関連の処理を記述したテキストファイルである。「Renum」は番号更新を意味する「Renumber」を略したものであり、「Proc」は処理を意味する「Processing」を略したものであるから、SIがテンプレートの編集の際に、「RenumProc.cpp」が上記処理を記述するものであることを容易に識別できる。   “RenumProc.cpp” is a text file that describes processing related to reference number update processing of the processing unit. `` Renum '' is an abbreviation for `` Renumber '' meaning number update, and `` Proc '' is an abbreviation for `` Processing '' meaning processing, so when SI edits a template, `` RenumProc. It can be easily identified that “cpp” describes the above processing.

「SaveLoad.cpp」は、処理ユニットのデータのセーブおよびロード関連の処理を記述したテキストファイルである。「Save」セーブ(保存)を意味し、「Load」はロード(読出し)を意味するものであるから、SIがテンプレートの編集の際に、「SaveLoad.cpp」が上記処理を記述するものであることを容易に識別できる。   “SaveLoad.cpp” is a text file describing processing related to saving and loading data of the processing unit. "Save" means save, and "Load" means load (read). When SI edits a template, "SaveLoad.cpp" describes the above processing. Can be easily identified.

「SetupData.cpp」は、設定時の画像処理関連の処理を記述したテキストファイルである。「Setup」は設定を意味し、「Data」はデータを意味するものであるから、SIがテンプレートの編集の際に、「SetupData.cpp」が上記処理を記述するものであることを容易に識別できる。   “SetupData.cpp” is a text file describing processing related to image processing at the time of setting. Since “Setup” means settings and “Data” means data, it is easy to identify that “SetupData.cpp” describes the above processing when editing a template. it can.

「ThroughProc.cpp」は、スルー表示のための画像入力および生成処理関連の処理を記述したテキストファイルである。「Through」はスルー(直通)を意味し、「Proc」は処理を意味する「Processing」を略したものであるから、SIがテンプレートの編集の際に、「ThroughProc.cpp」が上記処理を記述するものであることを容易に識別できる。   “ThroughProc.cpp” is a text file describing the image input and generation processing related processing for through display. “Through” means “through” and “Proc” is an abbreviation of “Processing” meaning processing, so when SI edits a template, “ThroughProc.cpp” describes the above processing Can be easily identified.

部品記憶部15は、画像処理モジュールのユーザインタフェースの画面のテンプレートおよび運転画面のテンプレートに貼り付けることができる部品(ActiveXコントロール)を記憶する。また、部品記憶部15は、イベント処理開発で利用する部品を記憶する。部品記憶部15に記憶されている部品は、表示されている画面に含まれるメニューのうちのツールから選択できる。   The component storage unit 15 stores components (ActiveX control) that can be pasted on the screen template of the user interface of the image processing module and the template of the operation screen. In addition, the component storage unit 15 stores components used in event processing development. The components stored in the component storage unit 15 can be selected from tools in a menu included in the displayed screen.

図3は、部品記憶部15に記憶されている部品のうち、テンプレートのユーザインタフェースの画面に貼り付け可能な部品の一例とその機能を表わす図である。   FIG. 3 is a diagram illustrating an example of components that can be pasted on the screen of the user interface of the template among the components stored in the component storage unit 15 and their functions.

図3を参照して、タブスイッチボタン(TabSwitchButton)およびタブコントロール(TabControl)は、全体のレイアウトのために用いられる。グループパネル(GroupPanel)は、グルーピングのために用いられる。ボタンには、イメージボタン(ImageButton)と、イメージリスト(Imagelist)がある。イメージリストは、同じ画像を使用するイメージボタンを複数個使用する場合に用いられる。ラベルには、背景透過ラベル(LabelEx)がある。アイテムを選択するために、チェックボックス(CheckBox)、ラジオボタン(RadioButton)、およびコンボボックス(ComboBox)がある。チェックボックスは、1つのアイテムを選択するか否かを指定するために用いられ、ラジオボタンは、3個以下のアイテムの選択のために用いられ、コンボボックスは、5個以上のアイテムの選択のために用いられる。数値を入力するために、数値ボックス(NumericBox)と、上下限設定ボックス(LimitBox)と、スライダーセット(SliderSet)と、値設定コントロール(ValueSetControl)と、点設定コントロール(PointSetControl)とが用いられる。数値ボックスは、通常の数値入力のために用いられ、上下限設定ボックスは、上下限値を設定するために用いられ、スライダーセットおよび値設定コントロールは、入力する数値を連続的に変更する場合に用いられ、点設定コントロールは、座標値を設定する場合に用いられる。ソフトキーボード21(SoftKeyboard)は、文字を入力するために用いられる。ファイル選択のために、ファイルダイアログ(FileDialog)と、フォルダブラウザ(FolderBloser)が用いられる。図形設定のために、図形設定コントロール(FigureSetControl)が用いられる。画像の表示のために、イメージウインドウ(SetupImageWindow)と、ズームブラウザ(ZoomBlowser)が用いられる。イメージウインドウは、設定画面の画像を表示するために用いられ、ズームブラウザは、イメージパネルのズーム設定用に用いられる。演算式の設定のために、演算式リスト(CalculationList)が用いられる。基準位置の設定のために、基準座標設定コントロール(StandardSetControl)が用いられる。色の抽出のために、色抽出設定コントロール(ColorExtractControl)が用いられる。色の指定のために、色指定設定コントロール(ColorSetControl)が用いられる。座標モードの設定のために、座標モード設定コントロール(CoordinateSetControl)が用いられる。2次元の折れ線グラフを表示するために、グラフ表示コントロール(GraphLineControl)が用いられる。   Referring to FIG. 3, a tab switch button (TabSwitchButton) and a tab control (TabControl) are used for the entire layout. The group panel (GroupPanel) is used for grouping. The button includes an image button (ImageButton) and an image list (Imagelist). The image list is used when a plurality of image buttons that use the same image are used. The label includes a background transparent label (LabelEx). In order to select an item, there are a check box (CheckBox), a radio button (RadioButton), and a combo box (ComboBox). A check box is used to specify whether or not one item is selected, a radio button is used to select three or less items, and a combo box is used to select five or more items. Used for. In order to input numerical values, a numerical box (NumericBox), an upper / lower limit setting box (LimitBox), a slider set (SliderSet), a value setting control (ValueSetControl), and a point setting control (PointSetControl) are used. The numeric box is used for normal numeric input, the upper / lower limit setting box is used to set the upper / lower limit value, and the slider set and value setting control are used to change the input numeric value continuously. The point setting control is used when setting coordinate values. A soft keyboard 21 (SoftKeyboard) is used to input characters. A file dialog (FileDialog) and a folder browser (FolderBloser) are used for file selection. A figure setting control (FigureSetControl) is used for figure setting. An image window (SetupImageWindow) and a zoom browser (ZoomBlowser) are used for displaying images. The image window is used for displaying an image of the setting screen, and the zoom browser is used for zoom setting of the image panel. An arithmetic expression list (CalculationList) is used for setting an arithmetic expression. For setting the reference position, a reference coordinate setting control (StandardSetControl) is used. For color extraction, a color extraction setting control (ColorExtractControl) is used. A color specification setting control (ColorSetControl) is used to specify a color. For setting the coordinate mode, a coordinate mode setting control (CoordinateSetControl) is used. In order to display a two-dimensional line graph, a graph display control (GraphLineControl) is used.

また、図示しないが、その他に、カスタムコントロールのベースとなるコントロールベース(controlBase)、(CalculationBox)、処理ユニットのリストを表示するユニットリスト(UnitList)、グレイ抽出設定用のコントロール(GrayExtractControl)、詳細結果表示のテキストを表示するテキストパネル(TextPanel)、イメージパネルと組合わせてグラフの表示を行なうドローグラフ(DrawGraph)、数値入力ボックスとカーソルボタンを組み合わせた複合コントロールであるスタンダードセット(StandardSet)、背景イメージを指定できるイメージパネル(ImagePanel)、ユニットリストで使用する処理項目アイテム(UnitListItem)などが用いられる。   In addition, although not shown, control base (controlBase), (CalculationBox), unit list that displays a list of processing units (UnitList), gray extraction control (GrayExtractControl), and detailed results A text panel (TextPanel) that displays the displayed text, a draw graph (DrawGraph) that displays a graph in combination with the image panel, a standard set (StandardSet) that is a composite control that combines a numeric input box and cursor buttons, and a background image An image panel (ImagePanel) that can specify the process item, a process item item (UnitListItem) used in the unit list, and the like are used.

図4は、部品記憶部15に記憶されている部品のうち、イベント処理開発で利用する部品の例を表わす図である。   FIG. 4 is a diagram illustrating an example of components used in event processing development among the components stored in the component storage unit 15.

図4を参照して、「ErrorProc」は、エラー処理用のコントロールである。「MeasureDisp」は、計測結果表示処理用のコントロールである。「MeasureInit」は、計測初期化処理用のコントロールである。「MeasureOut」は、計測結果出力処理用のコントロールである。「MeasureProc」は、計測処理用のコントロールである。「ParallelCommand」パラレルコマンド入力処理用のコントロールである。「SceneChange」は、シーン切替え処理用のコントロールである。「SerialCommand」は、シリアル無手順コマンド入力処理用のコントロールである。   Referring to FIG. 4, “ErrorProc” is a control for error processing. “MeasureDisp” is a control for measurement result display processing. “MeasureInit” is a control for measurement initialization processing. “MeasureOut” is a control for measurement result output processing. “MeasureProc” is a control for measurement processing. “ParallelCommand” is a control for parallel command input processing. “SceneChange” is a control for scene switching processing. “SerialCommand” is a control for serial non-procedural command input processing.

OS類記憶部22は、WindowsXP(登録商標)およびVisualStudioを記憶する。   The OS storage unit 22 stores Windows XP (registered trademark) and Visual Studio.

ライブラリ類記憶部23は、ライブラリおよびドライバを記憶する。
シミュレーションソフト記憶部17は、図1の画像処理機能のカスタマイズ装置1で実行可能な実行形式のプログラムを起動するためのシミュレーションソフトを記憶する。
The library storage unit 23 stores libraries and drivers.
The simulation software storage unit 17 stores simulation software for starting an executable program executable by the image processing function customization apparatus 1 of FIG.

マニュアル類記憶部18は、マニュアル、チュートリアル、ヘルプおよびサンプルを記憶する。   The manual storage unit 18 stores manuals, tutorials, help, and samples.

実行プログラム記憶部19は、出荷時に予め組み込まれている画像処理モジュールの実行形式のプログラム、およびビルド実行部13で作成された実行形式のプログラムを記憶する。   The execution program storage unit 19 stores an execution format program of an image processing module that is preinstalled at the time of shipment and an execution format program created by the build execution unit 13.

カスタマイズプログラム、部品、テンプレート、OS類、ライブラリ類、シミュレーションソフト、およびマニュアル類は、外部からリムーバブルメディア6を用いてハードディスク5にインストールすることができる。   The customization program, parts, templates, OSs, libraries, simulation software, and manuals can be installed on the hard disk 5 from the outside using the removable medium 6.

CPUおよびメモリ4は、OS類記憶部22からWindowsXPおよびVisualStudio(登録商標)を読出し、さらにカスタマイズプログラム記憶部14からカスタマイズプログラムを読み出して、これらを実行することによって、実行制御部8と、基本フロー開発部9と、画像処理モジュール開発部10と、運転画面開発部11と、イベント処理開発部12と、ビルド実行部13として機能する。   The CPU and the memory 4 read the Windows XP and Visual Studio (registered trademark) from the OS storage unit 22, read the customization program from the customization program storage unit 14, and execute them, thereby executing the execution control unit 8 and the basic flow. The development unit 9, the image processing module development unit 10, the operation screen development unit 11, the event processing development unit 12, and the build execution unit 13 function.

実行制御部8は、この画像処理機能のカスタマイズ装置1の全体の動作を制御する。
基本フロー開発部9は、操作入力部7を通じたユーザの操作に従って、画像処理モジュール記憶部291に記憶されている複数個の画像処理モジュールの実行順序を決定して、決定した実行順序と、そのパラメータからなる基本フローを基本フロー記憶部294に記憶する。
The execution control unit 8 controls the overall operation of the image processing function customizing apparatus 1.
The basic flow development unit 9 determines the execution order of the plurality of image processing modules stored in the image processing module storage unit 291 in accordance with a user operation through the operation input unit 7, and determines the determined execution order, A basic flow composed of parameters is stored in the basic flow storage unit 294.

画像処理モジュール開発部10は、テンプレート記憶部16に記憶されている画像処理モジュールのテンプレートを読み出して表示し、操作入力部7を通じたSIの操作に従って、画像処理モジュールのテンプレートを編集して、編集後の画像処理モジュールを画像処理モジュール記憶部291に記憶する。   The image processing module development unit 10 reads and displays the image processing module template stored in the template storage unit 16, edits and edits the image processing module template according to the SI operation through the operation input unit 7. The subsequent image processing module is stored in the image processing module storage unit 291.

運転画面開発部11は、テンプレート記憶部16に記憶されている運転画面のテンプレートを読み出して表示し、操作入力部7を通じたSIの操作に従って、運転画面のテンプレートに部品記憶部15に記憶されている部品を貼り付けて運転画面のテンプレートを編集して、編集後の運転画面を運転画面記憶部293に記憶する。   The operation screen development unit 11 reads out and displays the operation screen template stored in the template storage unit 16 and is stored in the component storage unit 15 in the operation screen template according to the operation of SI through the operation input unit 7. The operation screen template is edited by pasting the existing parts, and the edited operation screen is stored in the operation screen storage unit 293.

イベント処理開発部12は、操作入力部7を通じたSIの操作に従って、イベントモジュールを作成して、イベント処理モジュール記憶部292に記憶する。   The event processing development unit 12 creates an event module according to the SI operation through the operation input unit 7 and stores it in the event processing module storage unit 292.

ビルド実行部13は、ソースコードをコンパイルしてオブジェクトコードを生成し、さらにオブジェクトコードとライブラリ類記憶部23内のライブラリおよびドライバとをリンクすることによって、実行形式のプログラムを作成して実行プログラム記憶部19に記憶する。ビルド実行部13は、画像処理検査装置が動作するOSであるWindowsCE(登録商標)用の実行形式のプログラムと、図1の画像処理機能のカスタマイズ装置1が動作するOSであるWindowsXP用の実行形式のプログラムの両方を作成する。WindowsCE用の実行形式のプログラムは、リムーバブルメディア6などを用いて、画像処理検査装置にインストールされる。WindowsXP用の実行形式のプログラムは、図1の装置で、画像処理検査装置におる画像処理をエミュレート(シミュレーション)するために用いられる。   The build execution unit 13 compiles the source code to generate an object code, and further links the object code with the library and driver in the library storage unit 23 to create an executable program and store the execution program Store in unit 19. The build execution unit 13 is an execution format program for Windows CE (registered trademark) that is an OS on which the image processing inspection apparatus operates, and an execution format for Windows XP that is an OS on which the customization apparatus 1 for the image processing function in FIG. 1 operates. Create both programs. The execution format program for Windows CE is installed in the image processing inspection apparatus using the removable medium 6 or the like. The execution format program for Windows XP is used in the apparatus shown in FIG. 1 to emulate (simulate) image processing in the image processing inspection apparatus.

CPUおよびメモリ4から出力される画面データは、ディスプレイ2に送られて表示される。   The screen data output from the CPU and the memory 4 is sent to the display 2 and displayed.

(全体の処理手順)
図5は、画像処理機能のカスタマイズの全体の処理手順を表わすフローチャートである。図6は、画像処理機能のカスタマイズ装置1が起動後、最初に実行制御部8によって表示される画面の例を表わす図である。
(Overall procedure)
FIG. 5 is a flowchart showing an overall processing procedure for customizing the image processing function. FIG. 6 is a diagram illustrating an example of a screen that is first displayed by the execution control unit 8 after the image processing function customization apparatus 1 is activated.

図6の画面では、矢印の向きによって、画像処理機能のカスタマイズの手順として、基本フロー開発、処理項目開発、運転画面開発、イベント処理開発の順番で処理を行なうことを推奨することをガイドしているが、これ以外の順番で処理を行なうことも可能である。   In the screen of FIG. 6, the direction of the arrow guides you to recommend that you perform processing in the order of basic flow development, processing item development, operation screen development, and event processing development as a procedure for customizing image processing functions. However, it is also possible to perform processing in other orders.

図5および図6を参照して、SIが、マウス20を操作してボタン51を選択したときには(ステップS101でYES)、実行制御部8は、基本フロー開発部9に基本フロー開発の処理を指示し、図7に示す画面を表示する(ステップS102)。   5 and 6, when the SI operates the mouse 20 to select the button 51 (YES in step S101), the execution control unit 8 causes the basic flow development unit 9 to perform basic flow development processing. The screen is displayed as shown in FIG. 7 (step S102).

SIが、マウス20を操作してボタン52を選択したときには(ステップS103でYES)、実行制御部8は、画像処理モジュール開発部10に画像処理モジュールの開発の処理を指示し、図8に示す画面を表示する(ステップS104)。   When the SI operates the mouse 20 to select the button 52 (YES in step S103), the execution control unit 8 instructs the image processing module development unit 10 to develop the image processing module, and is shown in FIG. A screen is displayed (step S104).

SIが、マウス20を操作してボタン53を選択したときには(ステップS105でYES)、実行制御部8は、運転画面開発部11に運転画面開発の処理を指示し、図9に示す画面を表示する(ステップS106)。   When the SI operates the mouse 20 and selects the button 53 (YES in step S105), the execution control unit 8 instructs the operation screen development unit 11 to perform operation screen development processing, and displays the screen shown in FIG. (Step S106).

SIが、マウス20を操作してボタン54を選択したときには(ステップS107でYES)、実行制御部8は、イベント処理開発部12にイベント処理開発の処理を指示する(ステップS108)。   When the SI operates the mouse 20 to select the button 54 (YES in step S107), the execution control unit 8 instructs the event processing development unit 12 to perform event processing development processing (step S108).

SIが、マウス20を操作して、ボタン55を選択したときには(ステップS109でYES)、実行制御部8は、マニュアル類記憶部18からリファレンスを読み出して表示する(ステップS110)。   When the SI operates the mouse 20 and selects the button 55 (YES in step S109), the execution control unit 8 reads the reference from the manual storage unit 18 and displays it (step S110).

SIが、マウス20を操作して、ボタン56を選択したときは(ステップS111でYES)、実行制御部8は、マニュアル類記憶部18からサンプルを読み出して表示する(ステップS112)。   When the SI operates the mouse 20 and selects the button 56 (YES in step S111), the execution control unit 8 reads the sample from the manual storage unit 18 and displays it (step S112).

SIが、マウス20を操作してボタン57を選択したときには(ステップS113でYES)、実行制御部8は、マニュアル類記憶部18から「Application Producer」とは何かを説明したマニュアル1章を読み出して表示する(ステップS114)。   When the SI operates the mouse 20 and selects the button 57 (YES in step S113), the execution control unit 8 reads the manual chapter 1 explaining what “Application Producer” is from the manual storage unit 18. Are displayed (step S114).

SIが、マウス20を操作してボタン58を選択したときには(ステップS115でYES)、実行制御部8は、マニュアル類記憶部18から「Application Producer」の使い方を説明したマニュアル1−2章を読み出して表示する(ステップS116)。   When the SI operates the mouse 20 and selects the button 58 (YES in step S115), the execution control unit 8 reads out the manual chapter 1-2 explaining how to use “Application Producer” from the manual storage unit 18. Are displayed (step S116).

SIが、マウス20を操作してボタン59を選択したときには(ステップS117でYES)、実行制御部8は、マニュアル類記憶部18から「Application Produce」のマニュアルを読み出して表示する(ステップS118)。   When the SI selects the button 59 by operating the mouse 20 (YES in step S117), the execution control unit 8 reads the manual of “Application Produce” from the manual storage unit 18 and displays it (step S118).

(基本フロー開発)
図10は、基本フロー開発の処理手順を表わすフローチャートである。
(Basic flow development)
FIG. 10 is a flowchart showing a basic flow development process.

図10を参照して、SIが、マウス20を操作してボタン60を選択したときには(ステップS201でYES)、実行制御部8は、シミュレーションソフト記憶部17からシミュレーションソフトを読み出して起動する(ステップS202)。   Referring to FIG. 10, when SI operates button 20 to select button 60 (YES in step S201), execution control unit 8 reads the simulation software from simulation software storage unit 17 and starts it (step S201). S202).

SIが、マウス20を操作してボタン61を選択したときには(ステップS203でYES)、基本フロー開発部9は、マニュアル類記憶部18からマニュアル3−1章を読み出して表示する(ステップS204)。   When the SI operates the mouse 20 and selects the button 61 (YES in step S203), the basic flow development unit 9 reads out and displays the manual 3-1 from the manual storage unit 18 (step S204).

SIが、マウス20を操作してボタン62を選択したときには(ステップS205でYES)、基本フロー開発部9は、マニュアル類記憶部18からチュートリアルを読み出して表示する(ステップS206)。   When the SI operates the mouse 20 to select the button 62 (YES in step S205), the basic flow development unit 9 reads the tutorial from the manual storage unit 18 and displays it (step S206).

SIが、マウス20を操作してボタン63を選択したときには(ステップS207)、基本フロー開発部9は、マニュアル類記憶部18からサンプルフローを読み出して表示する(ステップS208)。   When the SI operates the mouse 20 to select the button 63 (step S207), the basic flow development unit 9 reads the sample flow from the manual storage unit 18 and displays it (step S208).

SIが、マウス20を操作してボタン64を選択したときには(ステップS209)、基本フロー開発部9は、基本フローの作成処理を選択して、図11に示す画面を表示する(ステップS210)。   When the SI operates the mouse 20 and selects the button 64 (step S209), the basic flow development unit 9 selects the basic flow creation process and displays the screen shown in FIG. 11 (step S210).

SIが、マウス20を操作して、図示しない「戻る」ボタンを選択したときには(ステップS211でYES)、基本フロー開発部9は、基本フローの作成処理を終了する。   When the SI operates the mouse 20 to select a “return” button (not shown) (YES in step S211), the basic flow development unit 9 ends the basic flow creation process.

図12は、基本フローの作成処理の手順を表わすフローチャートである。
図12を参照して、SIが、マウス20を操作してリスト欄83の一つの項目を選択すると(ステップS301でYES)、基本フロー開発部9は、リスト欄83の中の1つの画像処理モジュールを選択する(ステップS302)。
FIG. 12 is a flowchart showing a procedure of basic flow creation processing.
Referring to FIG. 12, when SI operates mouse 20 to select one item in list field 83 (YES in step S301), basic flow development unit 9 performs one image processing in list field 83. A module is selected (step S302).

SIが、マウス20を操作して追加ボタン84を選択すると(ステップS303でYES)、基本フロー開発部9は、基本フロー欄95の最下部にリスト欄83で選択されている画像処理モジュールを追加する(ステップS304)。   When the SI operates the mouse 20 and selects the add button 84 (YES in step S303), the basic flow development unit 9 adds the image processing module selected in the list field 83 to the bottom of the basic flow field 95. (Step S304).

SIが、マウス20を操作して挿入ボタン85を選択すると(ステップS305でYES)、基本フロー開発部9は、基本フロー欄95の中の選択されている画像処理モジュールの直下にリスト欄83で選択されている画像処理モジュールを挿入する(ステップS306)。   When the SI operates the mouse 20 and selects the insert button 85 (YES in step S305), the basic flow development unit 9 uses the list field 83 directly below the image processing module selected in the basic flow field 95. The selected image processing module is inserted (step S306).

SIが、マウス20を操作して設定ボタン86を選択すると(ステップS307でYES)、画像処理モジュール開発部10は、基本フローの中の選択されている画像処理モジュールのパラメータなどを設定するためのUIプログラムを画像処理モジュール記憶部291から読み出して表示する。SIが、表示されている画面に含まれるメニューのうちのツールから部品を選択し、部品記憶部15から選択された部品を読み出して配置することによって、ユーザインタフェース画面を編集し、図示しない保存メニューを選択して、編集後のUIプログラムを画像処理モジュール記憶部291に記憶する(ステップS308)。   When the SI operates the mouse 20 to select the setting button 86 (YES in step S307), the image processing module development unit 10 sets parameters of the image processing module selected in the basic flow. The UI program is read from the image processing module storage unit 291 and displayed. The user interface screen is edited by selecting a component from a tool included in the menu included in the displayed screen, and reading and arranging the selected component from the component storage unit 15. And the edited UI program is stored in the image processing module storage unit 291 (step S308).

SIが、マウス20を操作してコピーボタン90を選択すると(ステップS309でYES)、基本フロー開発部9は、基本フロー欄95の中の選択されている画像処理モジュールをコピーする(ステップS310)。   When the SI operates the mouse 20 to select the copy button 90 (YES in step S309), the basic flow development unit 9 copies the image processing module selected in the basic flow column 95 (step S310). .

SIが、マウス20を操作してペーストボタン91を選択すると(ステップS311でYES)、基本フロー開発部9は、基本フロー欄95の中の選択されている画像処理モジュールの直下に、コピーボタン90によってコピーした画像処理モジュールを挿入する(ステップS312)。   When the SI operates the mouse 20 to select the paste button 91 (YES in step S311), the basic flow development unit 9 directly below the image processing module selected in the basic flow column 95 is the copy button 90. The image processing module copied by (1) is inserted (step S312).

SIが、マウス20を操作して削除ボタン92を選択すると(ステップS313でYES、基本フロー開発部9は、基本フロー欄95の中の選択されている画像処理モジュールを削除する(ステップS314)。   When the SI operates the mouse 20 and selects the delete button 92 (YES in step S313), the basic flow development unit 9 deletes the image processing module selected in the basic flow column 95 (step S314).

SIが、マウス20を操作して移動(上へ)ボタン88を選択すると(ステップS315でYES)、基本フロー開発部9は、基本フロー欄95の中の選択される画像処理モジュールを1つ上に移動する(ステップS316)。   When the SI operates the mouse 20 to select the move (up) button 88 (YES in step S315), the basic flow development unit 9 moves up the image processing module selected in the basic flow column 95 by one. (Step S316).

SIが、マウス20を操作して移動(下へ)ボタン89を選択すると(ステップS317でYES)、基本フロー開発部9は、基本フロー欄95の中の選択される画像処理モジュールを1つ下に移動する(ステップS318)。   When the SI operates the mouse 20 to select the move (down) button 89 (YES in step S317), the basic flow development unit 9 moves down the image processing module selected in the basic flow column 95 by one. (Step S318).

SIが、マウス20を操作して名前の変更ボタン87を選択すると(ステップS319でYES)、基本フロー開発部9は、基本フロー欄95の中の選択されている画像処理モジュールの名前の変更を可能とする。SIが、キーボード21を操作して画像処理モジュールの名前を変更する(ステップS320)。   When the SI operates the mouse 20 to select the rename button 87 (YES in step S319), the basic flow development unit 9 changes the name of the image processing module selected in the basic flow column 95. Make it possible. SI operates the keyboard 21 to change the name of the image processing module (step S320).

SIが、マウス20を操作してヘルプ96を選択すると(ステップS321でYES)、基本フロー開発部9は、マニュアル類記憶部18からヘルプを読み出して表示するる(ステップS322)。   When the SI operates the mouse 20 and selects the help 96 (YES in step S321), the basic flow development unit 9 reads the help from the manual storage unit 18 and displays it (step S322).

SIが、マウス20を操作して閉じる97を選択すると(ステップS323でYES)、基本フロー開発部9は、基本フローが作成されている場合に、作成された基本フローを基本フロー記憶部294に記憶し、その処理を終了する。   When the SI selects 97 to close by operating the mouse 20 (YES in step S323), the basic flow development unit 9 stores the created basic flow in the basic flow storage unit 294 when the basic flow is created. Store it and finish the process.

図13は、基本フローの作成後の画面の例を表わす図である。
図13を参照して、基本フローは、3つの画像処理モジュール98、99、40からなる。この基本フローでは、まずカメラ画像を入力し、次に入力した画像の面積重心を計算して、その後処理ユニットデータを設定することを定めた基本フローが作成されている。
FIG. 13 is a diagram illustrating an example of a screen after creation of the basic flow.
Referring to FIG. 13, the basic flow includes three image processing modules 98, 99 and 40. In this basic flow, a basic flow is created in which a camera image is input first, then the area centroid of the input image is calculated, and then processing unit data is set.

(画像処理モジュール開発)
図14は、画像処理モジュール開発の処理手順を表わすフローチャートである。
(Image processing module development)
FIG. 14 is a flowchart showing a processing procedure for developing an image processing module.

図14を参照して、SIが、マウス20を操作してボタン65を選択したときには(ステップS401でYES)、画像処理モジュール開発部10は、MSプログラムの編集処理を選択し、MSプログラムのテンプレート41をテンプレート記憶部16から読み出して、図15に示すようにエディタ上に表示する。SIが、キーボートから文字を入力、削除することによって、MSプログラムのテンプレート41を編集して、図示しない保存メニューを選択して、編集後のMSプログラムを画像処理モジュール記憶部291に記憶する(ステップS402)。   Referring to FIG. 14, when SI operates button 20 to select button 65 (YES in step S401), image processing module development unit 10 selects an MS program editing process, and creates an MS program template. 41 is read from the template storage unit 16 and displayed on the editor as shown in FIG. The SI inputs and deletes characters from the keyboard to edit the MS program template 41, select a save menu (not shown), and store the edited MS program in the image processing module storage unit 291 (step S31). S402).

SIが、マウス20を操作してボタン66を選択したときには(ステップS403でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18からMSプログラムの編集を説明したマニュアル3−2−5章を読み出して表示する(ステップS404)。   When the SI operates the mouse 20 to select the button 66 (YES in step S403), the image processing module development unit 10 reads the manual 3-2-5 describing the editing of the MS program from the manual storage unit 18. Is read and displayed (step S404).

SIが、マウス20を操作してボタン67を選択したときには(ステップS405でYES)、画像処理モジュール開発部10は、UIプログラムの編集処理を選択して、UIプログラムのテンプレートをテンプレート記憶部16から読み出して図16に示すようなユーザインタフェース画面のテンプレート461を表示する。SIが、表示されている画面に含まれるメニューのうちのツール462から部品を選択し、部品記憶部15から選択された部品を読み出して配置することによって、図16のユーザインタフェース画面のテンプレート461を編集し、図示しない保存メニューを選択して、編集後のUIプログラムを画像処理モジュール記憶部291に記憶する(ステップS406)。   When the SI selects the button 67 by operating the mouse 20 (YES in step S405), the image processing module development unit 10 selects the UI program editing process and sends the UI program template from the template storage unit 16. The user interface screen template 461 as shown in FIG. 16 is read out. 16 selects the part from the tool 462 in the menu included in the displayed screen, reads out the selected part from the part storage unit 15, and arranges the template 461 of the user interface screen in FIG. Edit and select a save menu (not shown) to store the edited UI program in the image processing module storage unit 291 (step S406).

SIが、マウス20を操作してボタン68を選択したときには(ステップS407でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18からUIプログラムの編集を説明したマニュアル3−2−6章を読み出して表示する(ステップS408)。   When the SI operates the mouse 20 to select the button 68 (YES in step S407), the image processing module development unit 10 reads the manual 3-2-6 describing the editing of the UI program from the manual storage unit 18. Is read and displayed (step S408).

SIが、マウス20を操作してボタン69を選択したときには(ステップS409でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18からユーザインタフェース画面のサンプルを読み出して表示する(ステップS410)。   When the SI selects the button 69 by operating the mouse 20 (YES in step S409), the image processing module development unit 10 reads and displays a sample of the user interface screen from the manual storage unit 18 (step S410). .

SIが、マウス20を操作してボタン70を選択したときには(ステップS411でYES)、実行制御部8は、シミュレーションソフト記憶部17からシミュレーションソフトを読み出して起動する(ステップS412)。   When the SI operates the mouse 20 and selects the button 70 (YES in step S411), the execution control unit 8 reads the simulation software from the simulation software storage unit 17 and starts it (step S412).

SIが、マウス20を操作してボタン71を選択したときには(ステップS413でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18から画像処理モジュール開発のチュートリアルを読み出して表示する(ステップS414)。   When the SI selects the button 71 by operating the mouse 20 (YES in step S413), the image processing module development unit 10 reads out and displays an image processing module development tutorial from the manual storage unit 18 (step S414). ).

SIが、マウス20を操作してボタン72を選択したときには(ステップS415でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18から画像処理モジュール開発を説明したマニュアル3−2章を読み出して表示する(ステップS416)。   When the SI operates the mouse 20 and selects the button 72 (YES in step S415), the image processing module development unit 10 reads the manual 3-2 describing the image processing module development from the manual storage unit 18. Are displayed (step S416).

SIが、マウス20を操作してボタン73を選択したときには(ステップS417でYES)、画像処理モジュール開発部10は、マニュアル類記憶部18から画像処理モジュール開発のためのリファレンスを読み出して表示する(ステップS418)。   When the SI selects the button 73 by operating the mouse 20 (YES in step S417), the image processing module development unit 10 reads and displays a reference for developing the image processing module from the manual storage unit 18 ( Step S418).

SIが、マウス20を操作して図示しないビルドメニューを選択したときには(ステップS419でYES)、ビルド実行部13は、画像処理モジュール記憶部291に記憶されているステップS402で作成されたMSのソースコードおよびステップS406で作成されたUIのソースコードをコンパイルしてオブジェクトコードを生成し、ライブラリ類記憶部23から必要なライブラリとドライバを読み出してオブジェクトコードとリンクすることによって、WindowsCEとWindowsXP用のMSの実行形式のプログラムおよびUIの実行形式のプログラムを作成して実行プログラム記憶部19に記憶する(ステップS420)。   When the SI selects the build menu (not shown) by operating the mouse 20 (YES in step S419), the build execution unit 13 stores the source of the MS created in step S402 stored in the image processing module storage unit 291. The code and the UI source code created in step S406 are compiled to generate an object code, and necessary libraries and drivers are read from the library storage unit 23 and linked with the object code, so that MS for Windows CE and Windows XP The execution format program and UI execution format program are created and stored in the execution program storage unit 19 (step S420).

SIが、マウス20を操作して図示しない「戻る」ボタンを選択したときには(ステップS421でYES)、画像処理モジュール開発部10は、処理を終了する。   When the SI operates the mouse 20 to select a “return” button (not shown) (YES in step S421), the image processing module development unit 10 ends the process.

次に、テンプレートがSIの編集によってどのように変更されるかの例を説明する。ここでは、テンプレートを編集して、他の画像処理モジュールのパラメータ設定を一括して行なうための画像処理モジュールを作成する場合について説明する。この画像処理モジュールは、座標の変更や上下限値の変更などのように、複数の数値を変更する場合に用いられる。   Next, an example of how the template is changed by editing the SI will be described. Here, a case will be described in which an image processing module is created for editing a template and collectively setting parameters of other image processing modules. This image processing module is used when a plurality of numerical values are changed, such as a change in coordinates or a change in upper and lower limit values.

図17および図18は、「ItemDefs.h」のテンプレートを表わす図である。
図19および図20は、編集後の「ItemDefs.h」を表わす図である。
17 and 18 are diagrams showing a template of “ItemDefs.h”.
19 and 20 are diagrams showing “ItemDefs.h” after editing.

図17〜図20を参照して、SIの編集によって、テンプレートの定義文190が、定義文191に変更され、定義文192、193、194が追加されている。   Referring to FIGS. 17 to 20, template definition sentence 190 is changed to definition sentence 191 by SI editing, and definition sentences 192, 193, and 194 are added.

図17〜図20を参照して、「ItemDefs.h」の内容を説明する。SETUPDATA構造体には、処理を実行する際に必要になるパラメータなどの設定データの構造が定義される。MEASUREDATA構造体には、処理(計測)を実行した際の結果のデータの構造が定義される。ItemDef.h中で定義した SETUPDATA構造体に含まれるデータの初期値については、AssignProc.cpp中に記述される。   The contents of “ItemDefs.h” will be described with reference to FIGS. 17 to 20. In the SETUPDATA structure, a structure of setup data such as parameters necessary for executing processing is defined. The MEASUREDATA structure defines the data structure of the result when processing (measurement) is executed. The initial value of the data contained in the SETUPDATA structure defined in ItemDef.h is described in AssignProc.cpp.

図21は、「AssignProc.cpp」のテンプレートを表わす図である。
図22および図23は、編集後の「AssignProc.cpp」を表わす図である。
FIG. 21 shows a template of “AssignProc.cpp”.
22 and 23 are diagrams showing “AssignProc.cpp” after editing.

図21〜図23を参照して、SIの編集によって、日付151が記入され、作成者152が記入され、関数AssignProcの中身の命令153が追加されている。   Referring to FIGS. 21 to 23, the date 151 is entered by editing the SI, the creator 152 is entered, and the instruction 153 in the function AssignProc is added.

図21〜図23を参照して、「AssignProc.cpp」の内容を説明する。本ファイル内では以下の関数の処理を定義し、画像処理モジュールが登録される際のチェック処理などを記述する。   The contents of “AssignProc.cpp” will be described with reference to FIGS. In this file, processing of the following functions is defined, and check processing when an image processing module is registered is described.

int クラス名::AssignProc(*ptrProcUnit);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。NORMAL以外の値を返した場合は処理ユニット登録不可ということで、処理ユニットの登録が行われない。
int class name :: AssignProc (* ptrProcUnit);
ProcUnit * ptrProcUnit; Pointer to processing unit information When the processing of this function is terminated, the following values are returned as return values. If a value other than NORMAL is returned, processing unit registration is not possible, so processing unit registration is not performed.

NORMAL(0):処理ユニット登録可能
!NORMAL(0以外):処理ユニット登録不可
設定データの初期化は、このメソッドに記述し、図形データの初期化(SetFigureType())は、このメソッドに記述する。本関数を用いることで、処理ユニットの登録順序などに制約がある場合のチェックを行なうことができる。
NORMAL (0): Processing unit can be registered
! NORMAL (other than 0): Processing unit registration not possible Set data initialization is described in this method, and figure data initialization (SetFigureType ()) is described in this method. By using this function, it is possible to check when there is a restriction in the registration order of processing units.

図24および図25は、「FigureUpdate.cpp」のテンプレートを表わす図である。
本発明の実施形態では、SIが、テンプレートを編集しなかったため、「FigureUpdate.cpp」は、変更されていない。
24 and 25 are diagrams showing a template of “FigureUpdate.cpp”.
In the embodiment of the present invention, “FigureUpdate.cpp” is not changed because SI did not edit the template.

図24および図25を参照して、「FigureUpdate.cpp」の内容を説明する。本ファイル内では以下のメソッドを記述し、図形データが更新されたときの処理を記述する。   The contents of “FigureUpdate.cpp” will be described with reference to FIGS. 24 and 25. The following methods are described in this file, and the processing when graphic data is updated is described.

int クラス名::FigureUpdate(*ptrProcUnit, figureNo);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
int figureNo; 図形データ番号
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: FigureUpdate (* ptrProcUnit, figureNo);
ProcUnit * ptrProcUnit; Pointer to processing unit information
int figureNo; Figure data number When this function is finished, the following values are returned.

NORMAL(0):図形データ更新処理に成功
!NORMAL(0以外):図形データ更新処理に失敗
モデルの登録処理は本メソッドに記述する。
NORMAL (0): Successful graphic data update processing
! NORMAL (other than 0): Graphic data update processing failed Model registration processing is described in this method.

図26および図27は、「ItemInit.cpp」のテンプレートを表わす図である。
図28および図29は、編集後の「ItemInit.cpp」を表わす図である。
26 and 27 are diagrams showing a template of “ItemInit.cpp”.
28 and 29 are diagrams showing “ItemInit.cpp” after editing.

図26〜図29を参照して、SIの編集によって、日付154が記入され、作成者155が記入されている。さらに、SIの編集によって、テンプレートの"Sample"658、ITEM_MEASURE659、一般計測関連660、0(661)、"サンプル"662が、"SetUnitData4"158、ITEM_SUPPORT159、計測補助関連160、4(161)、"処理ユニットデータ設定"162に変更されている。   Referring to FIGS. 26 to 29, the date 154 is entered and the creator 155 is entered by editing the SI. Further, by editing the SI, the templates “Sample” 658, ITEM_MEASURE 659, general measurement-related 660, 0 (661), “sample” 662 are “SetUnitData4” 158, ITEM_SUPPORT 159, measurement auxiliary-related 160, 4 (161), “ The processing unit data setting is changed to “162”.

図26〜図29を参照して、「ItemInit.cpp」の内容を説明する。コンストラクタ・デストラクタおよび本クラスのインスタンスを生成する関数、本クラスのインスタンスを削除する関数を記述する。なお、本クラスのインスタンスを生成する関数および本クラスのインスタンスを削除する関数は、DLLのエクスポート関数にする。コンストラクタには画像処理モジュールをシステム(CORERA)に認識させるための情報を記述する。具体的には下記のメソッドに値を設定します。   The contents of “ItemInit.cpp” will be described with reference to FIGS. Write a constructor / destructor, a function that creates an instance of this class, and a function that deletes an instance of this class. The functions that generate instances of this class and the functions that delete instances of this class are DLL export functions. In the constructor, information for making the system (CORERA) recognize the image processing module is described. Specifically, set the value to the following method.

this->itemIdent = _T("Sample"); (A) 画像処理モジュール識別名
this->maker = _T("OMRON AST3"); (B) 画像処理モジュール製作者名
this->version = 100; (C) バージョン番号(×100)
this->itemKind = ITEM_MEASURE; (D) 画像処理モジュール種別(=一般計測関連)
this->setupDataSize = sizeof(SETUPDATA); (E)設定データ構造体サイズ
this->measureDataSize = sizeof(MEASUREDATA); (F) 計測データ構造体サイズ
this->modelDataCount = 0; (G) モデルデータ最大個数
this->imageDataCount = 0; (H) 画像データ最大個数
this->innerUnitCount = 0;(I) 内包処理ユニット最大個数
this->figureDataCount = 0;(J) 図形データ最大個数
this->title = _T("サンプル"); (K) 画像処理モジュールタイトル名
デストラクタには、本クラスのインスタンスが消滅するときに実行する処理を記述する。本関数では、本クラスのインスタンスを生成し戻り値として返す処理を記述する。本関数の処理を終了する際は、戻り値として以下の値を返す。
this-> itemIdent = _T ("Sample"); (A) Image processing module identification name
this-> maker = _T ("OMRON AST3"); (B) Image processing module manufacturer name
this-> version = 100; (C) Version number (× 100)
this-> itemKind = ITEM_MEASURE; (D) Image processing module type (= General measurement related)
this-> setupDataSize = sizeof (SETUPDATA); (E) Setup data structure size
this-> measureDataSize = sizeof (MEASUREDATA); (F) Measurement data structure size
this-> modelDataCount = 0; (G) Maximum number of model data
this-> imageDataCount = 0; (H) Maximum number of image data
this-> innerUnitCount = 0; (I) Maximum number of included processing units
this-> figureDataCount = 0; (J) Maximum number of figure data
this-> title = _T ("Sample"); (K) Image processing module title name Destructor describes the processing to be executed when this class instance disappears. This function describes the process of creating an instance of this class and returning it as a return value. When the processing of this function ends, the following values are returned as return values.

ProcItem:インスタンスのポインタ:インスタンス生成成功時
NULL:インスタンス生成失敗時
図30および図31は、「MeasureDisp.cpp」のテンプレートを表わす図である。
ProcItem: Instance pointer: When instance creation is successful
NULL: When instance generation fails FIGS. 30 and 31 are diagrams showing a template of “MeasureDisp.cpp”.

図32〜図34は、編集後の「MeasureDisp.cpp」を表わす図である。
図30および図31および図32〜図34を参照して、SIの編集によって、日付163および日付164が記入され、作成者165および作成者166が記入され、関数MeasureDispTの中身の命令167が追加されている。
32 to 34 are diagrams showing “MeasureDisp.cpp” after editing.
Referring to FIG. 30 and FIG. 31 and FIG. 32 to FIG. 34, the date 163 and date 164 are filled in by editing the SI, the creator 165 and creator 166 are filled Has been.

本ファイル内では以下のメソッドを記述し、画像処理モジュール個別に計測結果を表示する際の表示処理を記述する。   The following method is described in this file, and the display processing when displaying the measurement result for each image processing module is described.

int クラス名::MeasureDispI(*ptrProcUnit, subNo, *ptrImageWindow);
void クラス名::MeasureDispG(*ptrProcUnit, subNo, *ptrImageWindow);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
int subNo; 表示種別の番号
ImageWindow *ptrImageWindow; 画像表示エリア情報へのポインタ
void クラス名::MeasureDispT(*ptrProcUnit, subNo, *ptrTextWindow);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
int subNo; 表示種別の番号
TextWindow *ptrTextWindow; 詳細結果表示エリア情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: MeasureDispI (* ptrProcUnit, subNo, * ptrImageWindow);
void class name :: MeasureDispG (* ptrProcUnit, subNo, * ptrImageWindow);
ProcUnit * ptrProcUnit; Pointer to processing unit information
int subNo; Display type number
ImageWindow * ptrImageWindow; Pointer to image display area information
void class name :: MeasureDispT (* ptrProcUnit, subNo, * ptrTextWindow);
ProcUnit * ptrProcUnit; Pointer to processing unit information
int subNo; Display type number
TextWindow * ptrTextWindow; Pointer to detailed result display area information When this function is finished, the following values are returned as return values.

NORMAL(0):計測結果出力処理正常終了
!NORMAL(0以外):計測結果出力処理異常終了
3つの関数は、以下の記述に対応する。
NORMAL (0): Measurement result output processing ends normally
! NORMAL (other than 0): Measurement result output process abnormal termination The three functions correspond to the following descriptions.

MeasureDispI():画像表示
MeasureDispG():画像表示エリアへのグラフィック表示
MeasureDispT():詳細結果表示エリアへの文字表示
引数subNoが-1の場合は、全画像処理モジュール共通で位置一覧表示モード時の表示となる。サーチ系の画像処理モジュールの場合は、モデル領域のみ表示する。処理ユニットの判定結果が”判定なし”の場合(MEASDATA 構造体中のjudge=J_NCの場合)、処理ユニットのMeasureDisp*()はコールされない。
MeasureDispI (): Image display
MeasureDispG (): Graphic display in the image display area
MeasureDispT (): Character display in the detailed result display area When the argument subNo is -1, the display is in the position list display mode common to all image processing modules. In the case of a search-type image processing module, only the model area is displayed. When the judgment result of the processing unit is “no judgment” (when judge = J_NC in the MEASDATA structure), MeasureDisp * () of the processing unit is not called.

図35および図36は、「MeasureInit.cpp」のテンプレートを表わす図である。
本発明の実施形態では、SIが、テンプレートを編集しなかったため、「MeasureInit.cpp」が変更されていない。
FIG. 35 and FIG. 36 are diagrams showing a template of “MeasureInit.cpp”.
In the embodiment of the present invention, since SI does not edit the template, “MeasureInit.cpp” is not changed.

図35および図36を参照して、「MeasureInit.cpp」の内容を説明する。本ファイル内では、以下の関数の処理を定義し、計測画面に入る時点で実行すべき初期化処理および計測終了時に実行すべき処理を記述する。   The contents of “MeasureInit.cpp” will be described with reference to FIGS. 35 and 36. In this file, the processing of the following functions is defined, and the initialization processing to be executed when entering the measurement screen and the processing to be executed at the end of measurement are described.

int クラス名::MeasureInit(*ptrProcUnit);
int クラス名::MeasureEnd(*ptrProcUnit);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: MeasureInit (* ptrProcUnit);
int class name :: MeasureEnd (* ptrProcUnit);
ProcUnit * ptrProcUnit; Pointer to processing unit information When the processing of this function is terminated, the following values are returned as return values.

NORMAL(0):計測初期化処理正常終了
!NORMAL(0以外):計測初期化処理異常終了
NORMAL以外の値を返した場合は画面にエラーメッセージが表示され、当該シーン内の全処理ユニットの非セーブROIモデルがクリアされる。また、NORMAL以外の値を返して画面にエラーメッセージが表示された場合も、メッセージボックスを終了するとそのまま計測が実行可能な状態になる。
NORMAL (0): Measurement initialization process completed normally
! NORMAL (other than 0): Measurement initialization process abnormal termination
If a value other than NORMAL is returned, an error message is displayed on the screen, and the non-save ROI models of all the processing units in the scene are cleared. Also, if an error message is displayed on the screen after returning a value other than NORMAL, the measurement can be executed as it is when the message box is terminated.

図37は、「MeasureOut.cpp」のテンプレートを表わす図である。
本発明の実施形態では、SIが、テンプレートを編集しなかったため、「MeasureOut.cpp」が変更されていない。
FIG. 37 shows a template of “MeasureOut.cpp”.
In the embodiment of the present invention, since SI does not edit the template, “MeasureOut.cpp” is not changed.

図37を参照して、「MeasureOut.cpp」の内容を説明する。本ファイル内では以下のメソッドを記述し、画像処理モジュール個別に計測結果を出力する際の結果出力処理を記述する。   The contents of “MeasureOut.cpp” will be described with reference to FIG. The following method is described in this file, and the result output process when outputting the measurement result for each image processing module is described.

int クラス名::MeasureOut(*ptrProcUnit);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: MeasureOut (* ptrProcUnit);
ProcUnit * ptrProcUnit; Pointer to processing unit information When the processing of this function is terminated, the following values are returned as return values.

NORMAL(0):計測結果出力処理正常終了
!NORMAL(0以外):計測結果出力処理異常終了
図38は、「MeasureProc.cpp」のテンプレートを表わす図である。
NORMAL (0): Measurement result output processing ends normally
! NORMAL (other than 0): Measurement result output process abnormal termination FIG. 38 shows a template of “MeasureProc.cpp”.

図39〜図41は、編集後の「MeasureProc.cpp」を表わす図である。
図38および図39〜図41を参照して、SIの編集によって、日付168が記入され、作成者169が記入され、関数MeasureProcの中身の命令170が追加されている。
39 to 41 are diagrams showing “MeasureProc.cpp” after editing.
Referring to FIG. 38 and FIGS. 39 to 41, the date 168 is filled in by editing the SI, the creator 169 is filled in, and the instruction 170 that is the contents of the function MeasureProc is added.

図38および図39〜図41を参照して、「MeasureProc.cpp」の内容を説明する。本ファイル内では以下のメソッドを記述し、計測時に実行する画像処理などの処理を記述する。   The contents of “MeasureProc.cpp” will be described with reference to FIGS. 38 and 39 to 41. Describe the following methods in this file, and describe processing such as image processing to be executed during measurement.

int クラス名::MeasureProc(*ptrProcUnit);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: MeasureProc (* ptrProcUnit);
ProcUnit * ptrProcUnit; Pointer to processing unit information When the processing of this function is terminated, the following values are returned as return values.

NORMAL(0):計測処理正常終了
!NORMAL(0以外):計測処理異常終了
図42および図43は、「RenumProc.cpp」のテンプレートを表わす図である。
NORMAL (0): Measurement processing ends normally
! NORMAL (other than 0): abnormal termination of measurement processing FIGS. 42 and 43 are diagrams showing a template of “RenumProc.cpp”.

図44および図45は、編集後の「RenumProc.cpp」を表わす図である。
図42〜図45を参照して、SIの編集によって、日付171が記入され、作成者172が記入され、関数RenumProcの中身の命令173が追加されている。
44 and 45 are diagrams showing “RenumProc.cpp” after editing.
42 to 45, the date 171 is filled in by editing the SI, the creator 172 is filled in, and the instruction 173 in the function RenumProc is added.

図42〜図45を参照して、「RenumProc.cpp」の内容を説明する。本ファイル内では以下のメソッドを記述し、ユニット追加・削除・移動時の処理を記述する。   The contents of “RenumProc.cpp” will be described with reference to FIGS. 42 to 45. Describe the following methods in this file, and describe the processing when adding, deleting, and moving units.

int クラス名::RenumProc(*ptrProcUnit, *ptrRenumInfo);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
RenumInfo *ptrRenumInfo;フロー編集情報へのポインタ
本関数の処理を終了する際は、戻り値として以下の値を返す。
int class name :: RenumProc (* ptrProcUnit, * ptrRenumInfo);
ProcUnit * ptrProcUnit; Pointer to processing unit information
RenumInfo * ptrRenumInfo; Pointer to flow editing information When this function is finished, the following values are returned as return values.

NORMAL(0):ユニット追加・削除・移動時処理正常終了
!NORMAL(0以外):ユニット追加・削除・移動時処理異常終了
図46〜図48は、「UnitData.cpp」のテンプレートを表わす図である。
NORMAL (0): Normal completion of processing when adding, deleting, or moving units
! NORMAL (other than 0): abnormal end of unit addition / deletion / movement process FIGS. 46 to 48 are diagrams showing templates of “UnitData.cpp”.

図49〜図57は、編集後の「UnitData.cpp」を表わす図である。
図46〜図48および図49〜図57を参照して、SIの編集によって、マクロ定義に関する定義文174が追加され、静的変数に関する定義文175が追加され、関数参照に関する定義文176が追加されている。関数SetUnitData(ptrProcUnit, dataNo, data)に関して、日付177が記入され、作成者178が記入され、中身の命令179が追加されている。関数SetUnitData(ptrProcUnit, dataIdent, data)に関して、日付180が記入され、作成者181が記入され、中身の命令182が追加されている。関数GetUnitData(ptrProcUnit, dataNo, data)に関して、日付183が記入され、作成者184が記入され、中身の命令185が追加されている。関数GetUnitData(ptrProcUnit, dataIdent, data)に関して、日付186が記入され、作成者187が記入され、中身の命令188が追加されている。さらに、関数setDataProcおよび関数getDataProcが追加されている。
49 to 57 are diagrams showing “UnitData.cpp” after editing.
46-48 and 49-57, by editing SI, definition statement 174 related to macro definition is added, definition statement 175 related to static variable is added, and definition statement 176 related to function reference is added. Has been. Regarding the function SetUnitData (ptrProcUnit, dataNo, data), the date 177 is entered, the creator 178 is entered, and the contents instruction 179 is added. Regarding the function SetUnitData (ptrProcUnit, dataIdent, data), the date 180 is entered, the creator 181 is entered, and the contents instruction 182 is added. Regarding the function GetUnitData (ptrProcUnit, dataNo, data), the date 183 is entered, the creator 184 is entered, and the contents instruction 185 is added. For the function GetUnitData (ptrProcUnit, dataIdent, data), the date 186 is entered, the creator 187 is entered, and the contents instruction 188 is added. Furthermore, a function setDataProc and a function getDataProc have been added.

図46〜図48および図49〜図57を参照して、「UnitData.cpp」の内容を説明する。   The contents of “UnitData.cpp” will be described with reference to FIGS. 46 to 48 and FIGS. 49 to 57.

本ファイル内では以下のメソッドを記述し、データ設定時およびデータ取得時の処理を記述する。   The following methods are described in this file, and the process at the time of data setting and data acquisition is described.

int クラス名::SetUnitData(*ptrProcUnit, dataNo, *data);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
int datano; 設定するデータのデータ番号
ANYTYPE *data; 設定するデータ
int クラス名::SetUnitData(*ptrProcUnit, dataIdent, *data);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
TCHAR *dataIdent; 設定するデータの識別文字列へのポインタ
ANYTYPE *data; 設定するデータ
int クラス名::GetUnitData(*ptrProcUnit, dataNo, *data);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
int datano; 取得するデータのデータ番号
ANYTYPE *data; 取得するデータ
int クラス名::GetUnitData(*ptrProcUnit, dataIdent, *data);
ProcUnit *ptrProcUnit; 処理ユニット情報へのポインタ
TCHAR *dataIdent; 取得するデータの識別文字列へのポインタ
ANYTYPE *data; 取得するデータ
ANYTYPE データタイプ構造体定義
typedef struct {
int type;
int ival;
double dval;
TCHAR *string;
struct {
void *addr;
int size;
} variant;
} ANYTYPE;
上記のtypeには以下のようにどういう型のデータを渡すかというデータ種別(を示すコード)が入れるものとする。
int class name :: SetUnitData (* ptrProcUnit, dataNo, * data);
ProcUnit * ptrProcUnit; Pointer to processing unit information
int datano; Data number of the data to be set
ANYTYPE * data; Data to be set
int class name :: SetUnitData (* ptrProcUnit, dataIdent, * data);
ProcUnit * ptrProcUnit; Pointer to processing unit information
TCHAR * dataIdent; Pointer to the identification string of the data to be set
ANYTYPE * data; Data to be set
int class name :: GetUnitData (* ptrProcUnit, dataNo, * data);
ProcUnit * ptrProcUnit; Pointer to processing unit information
int datano; Data number of the data to be acquired
ANYTYPE * data; Data to be acquired
int class name :: GetUnitData (* ptrProcUnit, dataIdent, * data);
ProcUnit * ptrProcUnit; Pointer to processing unit information
TCHAR * dataIdent; Pointer to the identification string of the data to be acquired
ANYTYPE * data; Data to be acquired
ANYTYPE data type structure definition
typedef struct {
int type;
int ival;
double dval;
TCHAR * string;
struct {
void * addr;
int size;
} variant;
} ANYTYPE;
It is assumed that the data type (code indicating) what type of data is to be passed as described below.

T_INTEGER:整数
T_DOUBLE :実数
T_STRING :文字列
T_VARIANT:可変長データ
本関数の処理を終了する際は、戻り値として以下の値を返す。
T_INTEGER: integer
T_DOUBLE: Real number
T_STRING: String
T_VARIANT: Variable length data When the processing of this function is terminated, the following values are returned as return values.

NORMAL(0):データ設定・データ設定成功
!NORMAL(0以外):データ取得・データ取得成功
図58および図59は、ユーザインタフェース画面のテンプレートを表わす図である。
NORMAL (0): Data setting / data setting successful
! NORMAL (other than 0): Data acquisition / data acquisition success FIGS. 58 and 59 are diagrams showing templates of user interface screens.

図60は、編集後のユーザインタフェース画面を表わす図である。
図58、図59および図60を参照して、SIの編集操作によって、タブ「メニュー1」251が「色指定」256に変更され、タブ「メニュー2」252が「領域指定」267に変更されている。さらに、タブ「基準位置」268、タブ「計測パラメータ」269、およびタブ「出力パラメータ」270が追加されている。また、タブ「色指定」266の画面には、部品271および部品272が追加されている。
FIG. 60 shows a user interface screen after editing.
58, 59 and 60, the tab “menu 1” 251 is changed to “color designation” 256 and the tab “menu 2” 252 is changed to “area designation” 267 by the SI editing operation. ing. Further, a tab “reference position” 268, a tab “measurement parameter” 269, and a tab “output parameter” 270 are added. In addition, a part 271 and a part 272 are added to the screen of the tab “color designation” 266.

(運転画面開発)
図61は、運転画面開発の処理手順を表わすフローチャートである。
(Operation screen development)
FIG. 61 is a flowchart showing a processing procedure for driving screen development.

図61を参照して、SIが、マウス20を操作してボタン74を選択したときには(ステップS501でYES)、運転画面開発部11は、運転画面の作成処理を行なう(ステップS502)。   Referring to FIG. 61, when SI operates mouse 20 to select button 74 (YES in step S501), operation screen development unit 11 performs operation screen creation processing (step S502).

SIが、マウス20を操作してボタン75を選択したときには(ステップS503でYES)、運転画面開発部11は、マニュアル類記憶部18からマニュアル3−3−3章を読み出して表示する(ステップS504)。   When the SI selects the button 75 by operating the mouse 20 (YES in step S503), the operation screen development unit 11 reads and displays the manual section 3-3-3 from the manual storage unit 18 (step S504). ).

SIが、マウス20を操作してボタン76を選択したときには(ステップS505でYES)、運転画面開発部11は、運転画面の編集処理を選択して、テンプレート記憶部16から運転画面のテンプレートを読み出して、図62に示すような画面を表示する。SIが、表示されている画面に含まれるメニューのうちのツール462から部品を選択し、部品記憶部15から選択された部品を読み出して配置することによって、図62の運転画面のテンプレート451を編集して、図示しない保存メニューを選択して、編集後の運転画面を運転画面記憶部293に記憶する(ステップS506)。   When the SI selects the button 76 by operating the mouse 20 (YES in step S505), the operation screen development unit 11 selects the operation screen editing process and reads the operation screen template from the template storage unit 16. Then, a screen as shown in FIG. 62 is displayed. 62 edits the operation screen template 451 of FIG. 62 by selecting a part from the tool 462 in the menu included in the displayed screen, and reading and arranging the selected part from the part storage unit 15. Then, a save menu (not shown) is selected, and the edited operation screen is stored in the operation screen storage unit 293 (step S506).

SIが、マウス20を操作してボタン77を選択したときには(ステップS507でYES)、運転画面開発部11は、マニュアル類記憶部18から運転画面の編集を説明したマニュアル3−3−2章を読み出して表示する(ステップS508)。   When the SI selects the button 77 by operating the mouse 20 (YES in step S507), the operation screen development unit 11 reads the manual section 3-3-2 describing the editing of the operation screen from the manual storage unit 18. The data is read and displayed (step S508).

SIが、マウス20を操作してボタン78を選択したときには(ステップS509でYES)、運転画面開発部11は、マニュアル類記憶部18から運転画面のサンプルを読み出して表示する(ステップS510)。   When the SI selects the button 78 by operating the mouse 20 (YES in step S509), the operation screen development unit 11 reads out and displays a sample operation screen from the manual storage unit 18 (step S510).

SIが、マウス20を操作してボタン79を選択したときには(ステップS511でYES)、実行制御部8は、シミュレーションソフト記憶部17からシミュレーションソフトを読み出して起動する(ステップS512)。   When the SI operates the mouse 20 to select the button 79 (YES in step S511), the execution control unit 8 reads the simulation software from the simulation software storage unit 17 and starts it (step S512).

SIが、マウス20を操作してボタン80を選択したときには(ステップS513でYES)、運転画面開発部11は、マニュアル類記憶部18から運転画面開発のチュートリアルを読み出して表示する(ステップS514)。   When the SI operates the mouse 20 to select the button 80 (YES in step S513), the operation screen development unit 11 reads the operation screen development tutorial from the manual storage unit 18 and displays it (step S514).

SIが、マウス20を操作してボタン81を選択したときには(ステップS515でYES)、運転画面開発部11は、マニュアル類記憶部18から運転画面開発を説明したマニュアル3−3章を読み出して表示する(ステップS516)。   When the SI operates the mouse 20 and selects the button 81 (YES in step S515), the operation screen development unit 11 reads and displays the manual section 3-3 explaining the operation screen development from the manual storage unit 18. (Step S516).

SIが、マウス20を操作してボタン82を選択したときには(ステップS517でYES)、運転画面開発部11は、マニュアル類記憶部18から運転画面開発のためのリファレンスを読み出して表示する(ステップS518)。   When the SI selects the button 82 by operating the mouse 20 (YES in step S517), the operation screen development unit 11 reads and displays the reference for operation screen development from the manual storage unit 18 (step S518). ).

SIが、マウス20を操作して図示しないビルドメニューを選択したときには(ステップS519でYES)、ビルド実行部13は、運転画面記憶部293に記憶されているステップS502またはS506で作成された運転画面のソースコードをコンパイルしてオブジェクトコードを生成し、ライブラリ類記憶部23から必要なライブラリとドライバを読み出してオブジェクトコードとリンクすることによって、WindowsCEとWindowsXP用の運転画面の実行形式のプログラムを作成して実行プログラム記憶部19に記憶する(ステップS520)。   When the SI selects the build menu (not shown) by operating the mouse 20 (YES in step S519), the build execution unit 13 displays the operation screen created in step S502 or S506 stored in the operation screen storage unit 293. The source code is compiled to generate object code, and necessary libraries and drivers are read from the library storage unit 23 and linked with the object code, thereby creating an execution format program for Windows CE and Windows XP. And stored in the execution program storage unit 19 (step S520).

SIが、マウス20を操作して図示しない「戻る」ボタンを選択したときには(ステップS521でYES)、運転画面開発部11は、処理を終了する。   When the SI operates the mouse 20 to select a “return” button (not shown) (YES in step S521), the operation screen development unit 11 ends the process.

図63は、運転画面の別のテンプレートを表わす図である。
図64は、編集後の運転画面を表わす図である。
FIG. 63 is a diagram showing another template of the operation screen.
FIG. 64 shows the operation screen after editing.

図63および図64を参照して、SIの編集操作によって、運転画面に部品352、353、354、355、356が追加されている。   63 and 64, parts 352, 353, 354, 355, and 356 are added to the operation screen by the SI editing operation.

(イベント処理開発)
図65は、イベント処理開発の手順を表わすフローチャートである。
(Event processing development)
FIG. 65 is a flowchart showing the procedure of event processing development.

図65を参照して、SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールから計測初期化処理用のMeasureInitコントロールを選択したときには(ステップS601でYES)、SIが、キーボード21を操作して、MeasureInitコントロールのuserFormプロパティ(coreRAからのイベントを受け取るFormオブジェクト)を設定し(ステップS602)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラに計測化初期化処理時に実行する処理を記述する(ステップS603)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつ計測初期化処理が実行されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS604)。   Referring to FIG. 65, when SI selects MeasureInit control for measurement initialization processing from the tool included in the menu displayed on the screen displayed by operating mouse 20, SI is determined in step S601. However, by operating the keyboard 21, the userForm property of the MeasureInit control (Form object that receives an event from coreRA) is set (step S602), and the SI further operates the mouse 20 to add an event handler. A process to be executed at the time of the initialization initialization process is described in the added event handler (step S603). As a result, the event processing development unit 12 assigns a method (event processing module) that has the set properties and performs the above-described processing at the timing when the measurement initialization processing is executed to the event processing module storage unit 292. (Step S604).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールから計測処理用のMeasureProcコントロールを選択したときには(ステップS605でYES)、SIが、キーボード21を操作して、MeasureProcコントロールのuserFormプロパティおよびProcNoプロパティ(「ユーザ処理」画像処理モジュールの設定項目として設定した番号)を設定し(ステップS606)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラに計測化処理時に実行する処理を記述する(ステップS607)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつ計測処理が実行されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS608)。   When the SI selects the MeasureProc control for measurement processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S605), the SI operates the keyboard 21 and Set the userForm property and ProcNo property of the MeasureProc control (number set as the setting item of the “user processing” image processing module) (step S606), SI further operates the mouse 20 to add an event handler, A process to be executed at the time of the measurement process is described in the added event handler (step S607). As a result, the event processing development unit 12 stores in the event processing module storage unit 292 a method (event processing module) that has the set properties and performs the above-described processing at the timing when the measurement processing is executed. (Step S608).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールから計測結果表示処理用のMeasureDispコントロールを選択したときには(ステップS609でYES)、SIが、キーボード21を操作して、MeasureDispコントロールのuserFormプロパティを設定し(ステップS610)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラに計測結果表示処理時に実行する処理を記述する(ステップS611)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつ計測結果表示処理が実行されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS612)。   When SI selects the MeasureDisp control for measurement result display processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S609), the SI operates the keyboard 21. Then, the userForm property of the MeasureDisp control is set (step S610), and the SI further operates the mouse 20 to add an event handler, and describes the processing to be executed during the measurement result display processing in the added event handler ( Step S611). As a result, the event processing development unit 12 assigns a method (event processing module) that has the set property and performs the above-described processing at the timing when the measurement result display processing is executed to the event processing module storage unit 292. (Step S612).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールから計測結果出力処理用のMeasureOutコントロールを選択したときには(ステップS613でYES)、SIが、キーボード21を操作して、MeasureOutコントロールのuserFormプロパティを設定し(ステップS614)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラに計測結果出力時に実行する処理を記述する(ステップS615)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつ計測結果出力処理が実行されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS616)。   When SI selects the MeasureOut control for measurement result output processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S613), the SI operates the keyboard 21. Then, the userForm property of the MeasureOut control is set (step S614), the SI further operates the mouse 20 to add an event handler, and describes the processing to be executed when the measurement result is output to the added event handler (step S614). S615). As a result, the event processing development unit 12 assigns a method (event processing module) that has the set property and performs the above-described processing at the timing when the measurement result output processing is executed to the event processing module storage unit 292. (Step S616).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールからシーン切替え処理用のSceneChangeコントロールを選択したときには(ステップS617でYES)、SIが、キーボード21を操作して、SceneChangeコントロールのuserFormプロパティを設定し(ステップS618)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラにシーン切替え処理時に実行する処理を記述する(ステップS619)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつシーン切替え処理が実行されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS620)。   When the SI selects the SceneChange control for scene switching processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S617), the SI operates the keyboard 21. Then, the userForm property of the SceneChange control is set (step S618), and the SI further operates the mouse 20 to add an event handler, and describes the processing to be executed during the scene switching process in the added event handler (step S619). ). Thereby, the event processing development unit 12 has a method (event processing module) that has the set property and performs the above-described processing at the timing when the scene switching processing is executed in the event processing module storage unit 292. Store (step S620).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールからシリアル無手順コマンド入力処理用のSerialCommandコントロールを選択したときには(ステップS621でYES)、SIが、キーボード21を操作して、SerialCommandコントロールのuserFormプロパティおよびCommandプロパティ(シリアル無手順コマンドの文字列のうち、イベントハンドラを実行させる文字列)を設定し(ステップS622)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラにシリアル無手順コマンド入力時に実行する処理を記述する(ステップS623)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつシリアル無手順コマンドが入力されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS624)。   When the SI selects the SerialCommand control for serial non-procedural command input processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S621), the SI selects the keyboard 21. Operate and set the userForm property and Command property of the SerialCommand control (character string for executing the event handler among the character strings of the serial non-procedural command) (step S622), and the SI further operates the mouse 20 An event handler is added, and processing to be executed when a serial non-procedure command is input is described in the added event handler (step S623). As a result, the event processing development unit 12 assigns a method (event processing module) that has the set properties and performs the above-described processing at the timing when the serial non-procedure command is input to the event processing module storage unit 292. (Step S624).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールからパラレルコマンド入力処理用のParallelCommandコントロールを選択したときには(ステップS625でYES)、SIが、キーボード21を操作して、ParallelCommandコントロールのuserFormプロパティ、bitMaskプロパティ(DI端子のビットマスク)およびbitCommandプロパティ(DI端子の入力ビットパターン)を設定し(ステップS626)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラにパラレルコマンド入力時に実行する処理を記述する(ステップS627)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつパラレルコマンドが入力されたタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS628)。   When SI selects a ParallelCommand control for parallel command input processing from a tool included in a menu displayed on the screen displayed by operating mouse 20, SI operates keyboard 21 (YES in step S625). Then, the userForm property, bitMask property (DI terminal bit mask) and bitCommand property (DI terminal input bit pattern) of the ParallelCommand control are set (step S626), and the SI further operates the mouse 20 to set the event handler. In addition, a process to be executed when a parallel command is input is described in the added event handler (step S627). As a result, the event processing development unit 12 stores in the event processing module storage unit 292 a method (event processing module) that has the set properties and performs the above-described processing at the timing when the parallel command is input. (Step S628).

SIが、マウス20を操作して表示されている画面に含まれるメニューのうちのツールからエラー処理用のErrorProcコントロールを選択したときには(ステップS629でYES)、SIが、キーボード21を操作して、ErrorProcコントロールのuserFormプロパティを設定し(ステップS630)、SIが、さらに、マウス20を操作してイベントハンドラを追加して、追加したイベントハンドラにエラー発生時に実行する処理を記述する(ステップS631)。これにより、イベント処理開発部12は、上記設定されたプロパティを有し、かつエラーが発生したタイミングで上記記述された処理を行なうメソッド(イベント処理モジュール)をイベント処理モジュール記憶部292に記憶する(ステップS632)。   When the SI selects the ErrorProc control for error processing from the tool included in the menu displayed on the screen displayed by operating the mouse 20 (YES in step S629), the SI operates the keyboard 21, The userForm property of the ErrorProc control is set (step S630), and the SI further operates the mouse 20 to add an event handler, and describes the processing to be executed when an error occurs in the added event handler (step S631). Thereby, the event processing development unit 12 stores a method (event processing module) that has the set property and performs the above-described processing at the timing when an error occurs in the event processing module storage unit 292 ( Step S632).

SIが、マウス20を操作して図示しないビルドメニューを選択したときには(ステップS633でYES)、ビルド実行部13は、イベント処理モジュール記憶部292に記憶されているイベント処理モジュールをコンパイルしてオブジェクトコードを生成し、ライブラリ類記憶部23から必要なライブラリとドライバを読み出して、これらをオブジェクトコードとリンクすることによって、WindowsCEとWindowsXP用のイベント処理の実行形式のプログラムを作成して実行プログラム記憶部19に記憶する(ステップS634)。   When the SI selects the build menu (not shown) by operating the mouse 20 (YES in step S633), the build execution unit 13 compiles the event processing module stored in the event processing module storage unit 292 to compile the object code. Are generated, and a necessary library and driver are read from the library storage unit 23 and linked with the object code to create an event processing execution format program for Windows CE and Windows XP, thereby executing the execution program storage unit 19. (Step S634).

SIが、マウス20を操作して図示しない「戻る」ボタンを選択したときには(ステップS635でYES)、イベント処理開発部12は、処理を終了する。   When the SI operates the mouse 20 to select a “return” button (not shown) (YES in step S635), the event process development unit 12 ends the process.

以上のように、本発明の実施形態の画像処理機能のカスタマイズ装置によれば、基本フローの開発に加えて、テンプレートや部品を用いて、新たな画像処理モジュール、運転画面およびイベント処理モジュールが作成できるので、SIが容易かつ十分に画像処理検査装置の画像処理機能をカスタマイズすることができる。   As described above, according to the image processing function customization apparatus of the embodiment of the present invention, in addition to the development of the basic flow, a new image processing module, operation screen, and event processing module are created using templates and parts. Therefore, the image processing function of the image processing inspection apparatus can be customized easily and sufficiently with SI.

(参考)
以下、参考のため、本発明の実施形態で説明した設定データ・計測データ・画像データ・モデルデータ・図形データ・ワークエリアの取得方法を説明する。
(reference)
For reference, the setting data, measurement data, image data, model data, graphic data, and work area acquisition methods described in the embodiments of the present invention will be described below.

(a)設定データの取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「GetSetupData()」を使用して設定データ格納先のポインタを取得する。
(A) Acquisition of setting data Use the method “GetSetupData ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method to acquire the setting data storage destination pointer.

SETUPDATA *ProcUnit::GetSetupData(void);
戻り値:設定データのポインタ
図66は、設定データの取得の例を示す図である。
SETUPDATA * ProcUnit :: GetSetupData (void);
Return Value: Setting Data Pointer FIG. 66 is a diagram illustrating an example of setting data acquisition.

(b)計測データの取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「GetMeasureData()」を使用して計測データ格納先のポインタを取得する。
(B) Acquisition of measurement data The measurement data storage destination pointer is acquired using the method “GetMeasureData ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method.

MEASUREDATA *ProcUnit::GetMeasureData(void);
戻り値:設定データのポインタ
なお、voidのポインタとして返ってくるので、キャストして使用する必要がある。
MEASUREDATA * ProcUnit :: GetMeasureData (void);
Return value: Pointer of setting data Since it is returned as a void pointer, it is necessary to cast and use it.

図67は、計測データの取得の例を示す図である。
(c)モデルデータの取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「GetModelData()」を使用してモデルデータ格納先のポインタを取得する。ただし、モデルデータの格納ポインタを取得するには、事前にモデルの登録処理が完了している必要がある。
FIG. 67 is a diagram illustrating an example of acquisition of measurement data.
(C) Acquisition of model data The model data storage destination pointer is acquired using the method “GetModelData ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method. However, in order to obtain the model data storage pointer, the model registration process must be completed in advance.

BYTE *ProcUnit::GetModelData(modelNo);
int modelNo; モデル管理番号
戻り値:モデルデータのポインタ
図68は、モデルデータの取得の例を示す図である。
BYTE * ProcUnit :: GetModelData (modelNo);
int modelNo; Model management number Return value: Pointer of model data FIG. 68 is a diagram illustrating an example of obtaining model data.

(d)モデルデータの登録および削除
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「ModelDataAlloc()」を使用してモデルデータの登録を行ない、「ModelDataFree()」を使用してモデルデータの削除をする。
(D) Registration and deletion of model data Model data is registered using the method “ModelDataAlloc ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method, and “ModelDataFree ()” is Use to delete model data.

モデル登録
int ProcUnit::ModelDataAlloc(modelNo, size);
int modelNo; 登録モデル管理番号
int size; 登録モデルサイズ
戻り値:エラーコード
NORMAL(0):正常終了
ERROR(-1):異常終了(モデルデータ登録成功)
モデル削除
int ProcUnit::ModelDataFree(modelNo);
int modelNo; 削除モデル管理番号
戻り値:エラーコード
NORMAL(0):正常終了
ERROR(-1):異常終了(モデルデータ削除失敗)
図69は、モデルデータの登録および削除の例を示す図である。
Model registration
int ProcUnit :: ModelDataAlloc (modelNo, size);
int modelNo; Registration model management number
int size; Registered model size Return value: Error code
NORMAL (0): Normal end
ERROR (-1): Abnormal termination (model data registration success)
Delete model
int ProcUnit :: ModelDataFree (modelNo);
int modelNo; Deleted model management number Return value: Error code
NORMAL (0): Normal end
ERROR (-1): Abnormal termination (model data deletion failure)
FIG. 69 is a diagram illustrating an example of registration and deletion of model data.

(e)画像データの取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「GetImageData()」「GetMeasureImage()」を使用して画像データ格納先のポインタを取得する。自分自身が画像データ入力や画像データ作成をする場合は、「GetImageData()」を使用する。なお「GetImageData()」を使用する場合、「ImageDataAlloc()」メソッドを使用して画像データを格納する領域を確保しておく必要がある。
(E) Acquisition of image data The image data storage destination pointer is acquired using the methods “GetImageData ()” and “GetMeasureImage ()” of the processing unit information class (ProcUnit class) that are passed by the arguments of each method. Use "GetImageData ()" when you input image data or create image data yourself. When “GetImageData ()” is used, it is necessary to secure an area for storing image data using the “ImageDataAlloc ()” method.

IMAGE*ProcUnit::GetImageData(imageNo);
int imageNo; 処理ユニット内での画像番号
戻り値:画像データ構造体のポインタ
画像データ構造体は以下の通りである。
IMAGE * ProcUnit :: GetImageData (imageNo);
int imageNo; Image number in the processing unit Return value: Pointer of the image data structure The image data structure is as follows.

typedef struct {
unsigned char imageRGB[640 * 480 * 3]; // 画像データ
int xsize; // 画像サイズX
int ysize; // 画像サイズY
} IMAGE;
図70は、画像データの取得の例を示す図である。
typedef struct {
unsigned char imageRGB [640 * 480 * 3]; // Image data
int xsize; // image size X
int ysize; // image size Y
} IMAGE;
FIG. 70 is a diagram illustrating an example of acquisition of image data.

先行する処理ユニットが入力・変更した画像データを使う場合は「GetMeasureImage()」を使用する。なお「GetMeasureImage()」を使用する場合は、事前に「SetMeasureImage()」メソッドを使用して現在の処理対象画像を設定しておく必要がありる。   Use "GetMeasureImage ()" when using the image data input / changed by the preceding processing unit. When using “GetMeasureImage ()”, it is necessary to set the current image to be processed using the “SetMeasureImage ()” method in advance.

IMAGE *ProcUnit::GetMeasureImage(measureImageNo);
int measureImageNo; 現在の処理対象画像の画像番号
戻り値:画像データ構造体のポインタ
図71は、画像データの取得の別の例を示す図である。
IMAGE * ProcUnit :: GetMeasureImage (measureImageNo);
int measureImageNo; Image number of the current processing target image Return value: Pointer of the image data structure FIG. 71 is a diagram illustrating another example of acquisition of image data.

(f)画像データの登録および削除
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「ImageDataAlloc()」を使用して入力・作成した画像データを格納する領域を確保し、「ImageDataFree()」を使用して画像データの削除する。
(F) Registration and deletion of image data Reserve an area to store image data input / created using the method “ImageDataAlloc ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method. , Delete the image data using “ImageDataFree ()”.

画像データ領域確保
int ProcUnit::ImageDataAlloc(imageNo, size);
int imageNo; 処理ユニット内での画像番号
int size; 画像データサイズ
戻り値:エラーコード
NORMAL(0):正常終了
ERROR(-1):異常終了(画像データ領域確保失敗)
画像データ削除
int ProcUnit::ImageDataFree(imageNo);
int imageNo; 処理ユニット内での画像番号
戻り値:エラーコード
NORMAL(0):正常終了
ERROR(-1):異常終了(画像データ削除失敗)
図72は、画像データの登録の例を示す図である。
Secure image data area
int ProcUnit :: ImageDataAlloc (imageNo, size);
int imageNo; Image number in the processing unit
int size; Image data size Return value: Error code
NORMAL (0): Normal end
ERROR (-1): Abnormal termination (Failed to secure image data area)
Delete image data
int ProcUnit :: ImageDataFree (imageNo);
int imageNo; Image number in the processing unit Return value: Error code
NORMAL (0): Normal end
ERROR (-1): Abnormal termination (image data deletion failure)
FIG. 72 is a diagram illustrating an example of registration of image data.

(g)現在の処理対象画像の登録
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「SetMeasureImage()」を使用して、現在の画像処理モジュール対象画像の登録を行なう。この登録をすることにより「GetMeasureImage()」が使用可能になる。
(G) Registration of current processing target image Register the current image processing module target image using the method “SetMeasureImage ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method. . By performing this registration, “GetMeasureImage ()” can be used.

int ProcUnit::SetMeasureImage(measureImageNo, imageNo);
int measureImageNo; 現在の処理対象画像の画像番号
int imageNo; 登録する処理ユニット内の画像番号
戻り値:エラーコード
NORMAL(0):正常終了
ERROR(-1):異常終了(現在の処理対象画像登録失敗)
図73は、現在の処理対象画像の登録の例を示す図である。
int ProcUnit :: SetMeasureImage (measureImageNo, imageNo);
int measureImageNo; Image number of the current processing target image
int imageNo; Image number in the processing unit to be registered Return value: Error code
NORMAL (0): Normal end
ERROR (-1): Abnormal termination (current processing target image registration failure)
FIG. 73 is a diagram illustrating an example of registration of the current processing target image.

(h)図形データの取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「GetFiugreData()」を使用して図形データ格納先のポインタを取得する。
(H) Acquisition of graphic data The pointer of the graphic data storage destination is acquired using the method “GetFiugreData ()” of the processing unit information class (ProcUnit class) that is passed by the argument of each method.

FIG_HEADER *ProcUnit::GetFigureData(figureNo);
int figureNo;
戻り値:図形データ格納先のポインタ
図74は、図形データの取得の例を示す図である。
FIG_HEADER * ProcUnit :: GetFigureData (figureNo);
int figureNo;
Return Value: Graphic Data Storage Destination Pointer FIG. 74 is a diagram showing an example of obtaining graphic data.

(i)ワーク領域の取得
各メソッドの引数で渡ってくる、処理ユニット情報クラス(ProcUnitクラス)のメソッド「TmpDataAlloc()」を使用して作業用の一時領域のポインタを取得する。なお「TmpDataAlloc()」で確保した領域は、不必要になった場合に「TmpDataFree()」メソッドを使用して必ず解放する必要がある。
(I) Acquisition of work area A temporary area pointer for work is acquired using the method “TmpDataAlloc ()” of the processing unit information class (ProcUnit class) that is passed by an argument of each method. Note that the area secured by “TmpDataAlloc ()” must be freed by using the “TmpDataFree ()” method when it becomes unnecessary.

主に画像処理モジュールの計測処理で、作業用のデータを一時的に格納する必要がある場合にこれを用いてメモリ領域の確保を行なう。   Mainly in the measurement processing of the image processing module, when it is necessary to temporarily store work data, a memory area is secured using this.

BYTE *ProcUnit::TmpDataAlloc(size);
int size; 確保するサイズ
戻り値:作業用一時領域のポインタ
void ProcUnit::TmpDataFree(Byte *address);
BYTE *address; 解放する領域のアドレス
図75は、ワーク領域の取得の例を示す図である。
BYTE * ProcUnit :: TmpDataAlloc (size);
int size; Size to allocate Return value: Pointer to temporary work area
void ProcUnit :: TmpDataFree (Byte * address);
BYTE * address; Address of area to be released FIG. 75 is a diagram showing an example of acquiring a work area.

(変形例)
本発明は、上記の実施の形態に限定されるものではなく、たとえば以下のような変形例を含む。
(Modification)
The present invention is not limited to the above-described embodiment, and includes, for example, the following modifications.

(1) コメント、関数名
本発明の実施形態では、MSプログラムのうち、どのファイルが画像処理モジュールの表示部分、出力部分、および演算(計測)部分のいずれに対応するかがファイル名によって識別可能とされているものとしたが、これに限定するものではない。ファイル内の関数の名前、またはファイル内のコメント文によって、どのファイルまたはファイル内のどの関数が、画像処理モジュールの表示部分、出力部分、および演算(計測)部分のいずれに対応するかが識別可能とされているものであってもよい。また、MSプログラムが、1個のファイルで構成されていてもよい。
(1) Comments and function names In the embodiment of the present invention, it is possible to identify which file in the MS program corresponds to the display part, output part, or calculation (measurement) part of the image processing module by the file name. However, the present invention is not limited to this. The name of the function in the file or the comment statement in the file can identify which file or which function in the file corresponds to the display part, output part, or calculation (measurement) part of the image processing module It may be what is said. Further, the MS program may be composed of one file.

(2)デバッグ、インストール機能
本発明の実施形態では、デバッグおよびインストールの機能を説明しなかったが、作成された実行形式のプログラムをデバッグする機能、または作成されたWindowsCEの実行形式のプログラムをハードディスクから読み出して、リムーバブルメディアに送るインストール機能を持たせてもよい。また、画像処理機能のカスタマイズ装置と、画像処理検査装置とが通信回線で接続されており、通信回線を通じて作成されたWindowsCEの実行形式のプログラムを転送するものとしてもよい。
(2) Debugging and installation functions In the embodiment of the present invention, the debugging and installation functions have not been described. However, the created execution format program or the created WindowsCE execution format program is stored in the hard disk. It is also possible to have an installation function of reading from the server and sending it to a removable medium. Further, the image processing function customizing apparatus and the image processing inspection apparatus may be connected via a communication line, and a Windows CE execution format program created through the communication line may be transferred.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施形態の画像処理機能のカスタマイズ装置の構成を表わす図である。It is a figure showing the structure of the customization apparatus of the image processing function of embodiment of this invention. 画像処理モジュールのテンプレートを構成するファイルの一覧とその機能の例を表わす図である。It is a figure showing the example of the list of the files which comprise the template of an image processing module, and its function. 部品記憶部に記憶されている部品のうち、テンプレートのユーザインタフェースの画面に貼り付け可能な部品の一例とその機能を表わす図である。It is a figure showing an example of the component which can be affixed on the screen of the user interface of a template among the components memorize | stored in the component memory | storage part, and its function. 部品記憶部に記憶されている部品のうち、イベント処理開発で利用する部品の例を表わす図である。It is a figure showing the example of the components utilized by event process development among the components memorize | stored in the components memory | storage part. 画像処理機能のカスタマイズの全体の処理手順を表わすフローチャートである。It is a flowchart showing the whole process sequence of customization of an image processing function. 画像処理機能のカスタマイズ装置が起動後、最初に実行制御部8によって表示される画面の例を表わす図である。FIG. 6 is a diagram illustrating an example of a screen that is first displayed by the execution control unit 8 after activation of the image processing function customization apparatus. 基本フロー開発の処理が選択されたときに表示される画面を表わす図である。It is a figure showing the screen displayed when the process of basic flow development is selected. 画像処理モジュール開発の処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the process of image processing module development is selected. 運転画面開発の処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the process of driving | operation screen development is selected. 基本フロー開発の処理手順を表わすフローチャートである。It is a flowchart showing the process sequence of basic flow development. 基本フローの作成処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the creation process of a basic flow is selected. 基本フローの作成処理の手順を表わすフローチャートである。It is a flowchart showing the procedure of the creation process of a basic flow. 基本フローの作成後の画面の例を表わす図である。It is a figure showing the example of the screen after creation of a basic flow. 画像処理モジュール開発の処理手順を表わすフローチャートである。It is a flowchart showing the process sequence of image processing module development. MSプログラムの編集処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the edit process of MS program is selected. UIプログラムの編集処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the edit process of UI program is selected. 「ItemDefs.h」のテンプレートを表わす図である。It is a figure showing the template of "ItemDefs.h". 「ItemDefs.h」のテンプレートを表わす図である。It is a figure showing the template of "ItemDefs.h". 編集後の「ItemDefs.h」を表わす図である。It is a figure showing "ItemDefs.h" after editing. 編集後の「ItemDefs.h」を表わす図である。It is a figure showing "ItemDefs.h" after editing. 「AssignProc.cpp」のテンプレートを表わす図である。It is a figure showing the template of "AssignProc.cpp". 編集後の「AssignProc.cpp」を表わす図である。It is a figure showing "AssignProc.cpp" after editing. 編集後の「AssignProc.cpp」を表わす図である。It is a figure showing "AssignProc.cpp" after editing. 「FigureUpdate.cpp」のテンプレートを表わす図である。It is a figure showing the template of "FigureUpdate.cpp". 「FigureUpdate.cpp」のテンプレートを表わす図である。It is a figure showing the template of "FigureUpdate.cpp". 「ItemInit.cpp」のテンプレートを表わす図である。It is a figure showing the template of "ItemInit.cpp". 「ItemInit.cpp」のテンプレートを表わす図である。It is a figure showing the template of "ItemInit.cpp". 編集後の「ItemInit.cpp」を表わす図である。It is a figure showing "ItemInit.cpp" after editing. 編集後の「ItemInit.cpp」を表わす図である。It is a figure showing "ItemInit.cpp" after editing. 「MeasureDisp.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureDisp.cpp". 「MeasureDisp.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureDisp.cpp". 編集後の「MeasureDisp.cpp」を表わす図である。It is a figure showing "MeasureDisp.cpp" after editing. 編集後の「MeasureDisp.cpp」を表わす図である。It is a figure showing "MeasureDisp.cpp" after editing. 編集後の「MeasureDisp.cpp」を表わす図である。It is a figure showing "MeasureDisp.cpp" after editing. 「MeasureInit.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureInit.cpp". 「MeasureInit.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureInit.cpp". 「MeasureOut.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureOut.cpp". 「MeasureProc.cpp」のテンプレートを表わす図である。It is a figure showing the template of "MeasureProc.cpp". 編集後の「MeasureProc.cpp」を表わす図である。It is a figure showing "MeasureProc.cpp" after editing. 編集後の「MeasureProc.cpp」を表わす図である。It is a figure showing "MeasureProc.cpp" after editing. 編集後の「MeasureProc.cpp」を表わす図である。It is a figure showing "MeasureProc.cpp" after editing. 「RenumProc.cpp」のテンプレートを表わす図である。It is a figure showing the template of "RenumProc.cpp". 「RenumProc.cpp」のテンプレートを表わす図である。It is a figure showing the template of "RenumProc.cpp". 編集後の「RenumProc.cpp」を表わす図である。It is a figure showing "RenumProc.cpp" after editing. 編集後の「RenumProc.cpp」を表わす図である。It is a figure showing "RenumProc.cpp" after editing. 「UnitData.cpp」のテンプレートを表わす図である。It is a figure showing the template of "UnitData.cpp". 「UnitData.cpp」のテンプレートを表わす図である。It is a figure showing the template of "UnitData.cpp". 「UnitData.cpp」のテンプレートを表わす図である。It is a figure showing the template of "UnitData.cpp". 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. 編集後の「UnitData.cpp」を表わす図である。It is a figure showing "UnitData.cpp" after editing. ユーザインタフェース画面のテンプレートを表わす図である。It is a figure showing the template of a user interface screen. ユーザインタフェース画面のテンプレートを表わす図である。It is a figure showing the template of a user interface screen. 編集後のユーザインタフェース画面を表わす図である。It is a figure showing the user interface screen after an edit. 運転画面開発の処理手順を表わすフローチャートである。It is a flowchart showing the process sequence of driving | operation screen development. 運転画面の編集処理が選択されたときに表示される画面の例を表わす図である。It is a figure showing the example of the screen displayed when the edit process of an operation screen is selected. 運転画面の別のテンプレートを表わす図である。It is a figure showing another template of an operation screen. 編集後の運転画面を表わす図である。It is a figure showing the driving | running screen after an edit. イベント処理開発の手順を表わすフローチャートである。It is a flowchart showing the procedure of event processing development. 設定データの取得の例を示す図である。It is a figure which shows the example of acquisition of setting data. 計測データの取得の例を示す図である。It is a figure which shows the example of acquisition of measurement data. モデルデータの取得の例を示す図である。It is a figure which shows the example of acquisition of model data. モデルデータの登録および削除の例を示す図である。It is a figure which shows the example of registration and deletion of model data. 画像データの取得の例を示す図である。It is a figure which shows the example of acquisition of image data. 画像データの取得の別の例を示す図である。It is a figure which shows another example of acquisition of image data. 画像データの登録の例を示す図である。It is a figure which shows the example of registration of image data. 現在の処理対象画像の登録の例を示す図である。It is a figure which shows the example of registration of the now process target image. 図形データの取得の例を示す図である。It is a figure which shows the example of acquisition of graphic data. ワーク領域の取得の例を示す図である。It is a figure which shows the example of acquisition of a work area.

符号の説明Explanation of symbols

1 画像処理機能のカスタマイズ装置、2 ディスプレイ、4 CPUおよびメモリ、5 ハードディスク、6 リムーバブルメディア、7 操作入力部、8 実行制御部、9 基本フロー開発部、10 画像処理モジュール開発部、11 運転画面作成部、12 イベント処理開発部、13 ビルド実行部、14 カスタマイズプログラム記憶部、15 部品記憶部、16 テンプレート記憶部、17 シミュレーションソフト記憶部、18 マニュアル類記憶部、19 実行プログラム記憶部、20 マウス、21 キーボード、22 OS類記憶部、23 ライブラリ類記憶部、291 画像処理モジュール記憶部、292 イベント処理モジュール記憶部、293 運転画面記憶部、294 基本フロー記憶部。   1 Image processing function customization device, 2 display, 4 CPU and memory, 5 hard disk, 6 removable media, 7 operation input unit, 8 execution control unit, 9 basic flow development unit, 10 image processing module development unit, 11 operation screen creation Part, 12 event processing development part, 13 build execution part, 14 customization program storage part, 15 parts storage part, 16 template storage part, 17 simulation software storage part, 18 manuals storage part, 19 execution program storage part, 20 mouse, 21 keyboard, 22 OS storage unit, 23 library storage unit, 291 image processing module storage unit, 292 event processing module storage unit, 293 operation screen storage unit, 294 basic flow storage unit.

Claims (10)

画像処理検査装置の画像処理機能をカスタマイズする装置であって、
ユーザの操作を受け付ける操作入力部と、
複数個の画像処理モジュールを記憶する第1の記憶部と、
前記操作入力部を通じたユーザの操作に従って、前記第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定する基本フロー作成部と、
前記操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、前記第1の記憶部に記憶する画像処理モジュール作成部とを備えた、画像処理機能のカスタマイズ装置。
An apparatus for customizing an image processing function of an image processing inspection apparatus,
An operation input unit for receiving user operations;
A first storage unit for storing a plurality of image processing modules;
A basic flow creation unit that determines an execution order of a plurality of image processing modules stored in the first storage unit in accordance with a user operation through the operation input unit;
An apparatus for customizing an image processing function, comprising: an image processing module creation unit that creates a new image processing module according to a user operation through the operation input unit and stores the new image processing module in the first storage unit.
前記画像処理機能のカスタマイズ装置は、
画像処理モジュールのテンプレートを記憶する第2の記憶部を備え、
前記画像処理モジュール作成部は、前記テンプレートを表示して、前記操作入力部を通じたユーザの操作に従って、前記テンプレートを編集することによって、新たな画像処理モジュールを作成する、請求項1記載の画像処理機能のカスタマイズ装置。
The image processing function customizing device comprises:
A second storage unit for storing a template of the image processing module;
The image processing according to claim 1, wherein the image processing module creation unit creates a new image processing module by displaying the template and editing the template in accordance with a user operation through the operation input unit. Function customization device.
前記画像処理モジュ−ルは、
画像処理結果の表示部分、画像処理結果の出力部分、画像処理の処理内容である演算部分、および画像処理のパラメータの設定のためのユーザインタフェース部分を含む、請求項2記載の画像処理機能のカスタマイズ装置。
The image processing module includes:
3. The image processing function customization according to claim 2, further comprising: an image processing result display part; an image processing result output part; an arithmetic part as image processing content; and a user interface part for setting image processing parameters. apparatus.
前記画像処理機能のカスタマイズ装置は、さらに、
テンプレートの画面に貼り付ける部品を記憶する第3の記憶部を備え、
前記画像処理モジュール作成部は、
前記ユーザインタフェース部分の作成時には、前記第2の記憶部からユーザインタフェース部分のテンプレートを読み出して、ユーザインタフェース画面のテンプレートを表示し、前記操作入力部を通じたユーザの操作に従って、前記ユーザインタフェース画面のテンプレートに前記第3の記憶部に記憶されている部品を貼り付けることによって、前記ユーザインタフェース部分のテンプレートを編集する、請求項3記載の画像処理機能のカスタマイズ装置。
The image processing function customization device further includes:
A third storage unit for storing a part to be pasted on the template screen;
The image processing module creation unit
When creating the user interface part, the user interface part template is read from the second storage unit, the user interface screen template is displayed, and the user interface screen template is displayed according to the user's operation through the operation input unit. The image processing function customization apparatus according to claim 3, wherein the template of the user interface part is edited by pasting a part stored in the third storage unit.
前記画像処理モジュール作成部は、前記表示部分、前記出力部分、または前記演算部分の作成時には、前記第2の記憶部から前記部分のプログラムのテンプレートを読み出してエディタ上に表示し、前記操作入力部を通じたユーザの操作に従って、前記プログラムのテンプレートを編集する、請求項3記載の画像処理機能のカスタマイズ装置。   The image processing module creation unit reads a program template of the part from the second storage unit and displays it on an editor when creating the display part, the output part, or the calculation part, and displays the operation input part on the editor. The image processing function customizing apparatus according to claim 3, wherein the template of the program is edited in accordance with a user operation through the image processing function. 前記画像処理モジュールは、1個または複数個のファイルで構成されており、
、前記ファイルの名前、ファイル内の関数の名前、またはファイル内のコメント文によって、前記ファイルまたは前記ファイル内の関数が、前記画像処理モジュールの前記表示部分、前記出力部分、および前記演算部分のいずれに対応するかが識別可能とされている、請求項5記載の画像処理機能のカスタマイズ装置。
The image processing module is composed of one or a plurality of files,
, The name of the file, the name of the function in the file, or the comment statement in the file, the file or the function in the file 6. The apparatus for customizing an image processing function according to claim 5, wherein it is possible to identify whether or not the image processing function is compatible.
前記画像処理機能のカスタマイズ装置は、さらに、
前記第2の記憶部は、さらに前記画像処理検査装置による画像処理の結果を表示するための運転画面のテンプレートを記憶し、
前記第2の記憶部から前記運転画面のテンプレートを読み出して表示し、前記操作入力部を通じたユーザの操作に従って、前記運転画面のテンプレートに前記第3の記憶部に記憶されている部品を貼り付けることによって前記運転画面のテンプレートを編集する運転画面作成部とを備えた、請求項2記載の画像処理機能のカスタマイズ装置。
The image processing function customization device further includes:
The second storage unit further stores an operation screen template for displaying a result of image processing by the image processing inspection apparatus,
The operation screen template is read out from the second storage unit and displayed, and a part stored in the third storage unit is pasted on the operation screen template according to a user operation through the operation input unit. The image processing function customization apparatus according to claim 2, further comprising: an operation screen creation unit that edits the operation screen template.
前記画像処理機能のカスタマイズ装置は、さらに、
前記操作入力部を通じたユーザの操作に従って、前記画像処理検査装置による画像処理実行中にイベントが発生した場合に、前記イベントが発生したタイミングで実行される処理を定めたイベントモジュールを作成するイベント処理作成部を備え、
基本フロー作成、画像処理モジュール作成、運転画面作成、またはイベント処理作成を選択するためのボタンを表示し、前記操作入力部を通じたユーザの選択操作にしたがって、実行する処理を切替える実行制御部とを備え、
前記実行制御部は、画像処理機能のカスタマイズ手順として、基本フロー作成、画像処理モジュール作成、運転画面作成、イベント処理作成の順番で行なうことを推奨するガイドを表示する、請求項7記載の画像処理機能のカスタマイズ装置。
The image processing function customization device further includes:
Event processing that creates an event module that defines processing to be executed when the event occurs when an event occurs during execution of image processing by the image processing inspection apparatus in accordance with a user operation through the operation input unit With a creation section,
A button for selecting basic flow creation, image processing module creation, operation screen creation, or event processing creation, and an execution control unit that switches processing to be executed according to a user's selection operation through the operation input unit; Prepared,
The image processing according to claim 7, wherein the execution control unit displays a guide that is recommended to be performed in the order of basic flow creation, image processing module creation, operation screen creation, and event processing creation as a customization procedure of the image processing function. Function customization device.
複数個の画像処理モジュールを記憶する第1の記憶部を備えた装置におけ画像処理検査装置の画像処理機能をカスタマイズする方法であって、
操作入力部が、ユーザの操作を受け付けるステップと、、
基本フロー作成部が、前記操作入力部を通じたユーザの操作に従って、前記第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定するステップと、
画像処理モジュール作成部が、前記操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、前記第1の記憶部に記憶するステップとを備えた、画像処理機能のカスタマイズ方法。
A method for customizing an image processing function of an image processing inspection apparatus in an apparatus having a first storage unit for storing a plurality of image processing modules,
The operation input unit accepting a user operation;
A step of a basic flow creation unit determining an execution order of a plurality of image processing modules stored in the first storage unit according to a user operation through the operation input unit;
A method for customizing an image processing function, comprising: an image processing module creation unit creating a new image processing module according to a user operation through the operation input unit and storing the new image processing module in the first storage unit.
画像処理検査装置の画像処理機能をカスタマイズするためのプログラムであって、コンピュータを、
ユーザの操作を受け付ける操作入力部と、
複数個の画像処理モジュールを記憶する第1の記憶部と、
前記操作入力部を通じたユーザの操作に従って、前記第1の記憶部に記憶されている複数個の画像処理モジュールの実行順序を決定する基本フロー作成部と、
前記操作入力部を通じたユーザの操作に従って、新たな画像処理モジュールを作成して、前記第1の記憶部に記憶する画像処理モジュール作成部として機能させるための、画像処理機能のカスタマイズのためのプログラム。
A program for customizing an image processing function of an image processing inspection apparatus, comprising:
An operation input unit for receiving user operations;
A first storage unit for storing a plurality of image processing modules;
A basic flow creation unit that determines an execution order of a plurality of image processing modules stored in the first storage unit in accordance with a user operation through the operation input unit;
A program for customizing an image processing function for creating a new image processing module in accordance with a user operation through the operation input unit and causing it to function as an image processing module creation unit stored in the first storage unit .
JP2007226493A 2007-08-31 2007-08-31 Customization device for image processing function, customization method for image processing function, and program for customizing image processing function Pending JP2009059203A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007226493A JP2009059203A (en) 2007-08-31 2007-08-31 Customization device for image processing function, customization method for image processing function, and program for customizing image processing function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007226493A JP2009059203A (en) 2007-08-31 2007-08-31 Customization device for image processing function, customization method for image processing function, and program for customizing image processing function

Publications (1)

Publication Number Publication Date
JP2009059203A true JP2009059203A (en) 2009-03-19

Family

ID=40554874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007226493A Pending JP2009059203A (en) 2007-08-31 2007-08-31 Customization device for image processing function, customization method for image processing function, and program for customizing image processing function

Country Status (1)

Country Link
JP (1) JP2009059203A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118467A (en) * 2009-11-30 2011-06-16 Canon It Solutions Inc Information processor, information processing method and computer program
JP2011170141A (en) * 2010-02-19 2011-09-01 Seiko Epson Corp Simulation device for image processing circuit, simulation method for image processing circuit, method for designing image processing circuit and simulation program for image processing circuit
EP2544088A1 (en) 2011-07-04 2013-01-09 Omron Corporation Development support apparatus and development support program
WO2021181794A1 (en) * 2020-03-11 2021-09-16 オムロン株式会社 Image processing device, control method, and program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207702A (en) * 1997-01-27 1998-08-07 Tec Corp Device for preparing software program
JP2002287963A (en) * 2001-03-26 2002-10-04 Mitsubishi Electric Corp Method of preparing image processing program and image processing device
JP2006195679A (en) * 2005-01-12 2006-07-27 Canon Inc Gui builder and recording medium
JP2007034805A (en) * 2005-07-28 2007-02-08 Casio Comput Co Ltd Information processor and program
JP2007048309A (en) * 2006-09-29 2007-02-22 Mitsubishi Electric Corp User interface device and program therefor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10207702A (en) * 1997-01-27 1998-08-07 Tec Corp Device for preparing software program
JP2002287963A (en) * 2001-03-26 2002-10-04 Mitsubishi Electric Corp Method of preparing image processing program and image processing device
JP2006195679A (en) * 2005-01-12 2006-07-27 Canon Inc Gui builder and recording medium
JP2007034805A (en) * 2005-07-28 2007-02-08 Casio Comput Co Ltd Information processor and program
JP2007048309A (en) * 2006-09-29 2007-02-22 Mitsubishi Electric Corp User interface device and program therefor

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011118467A (en) * 2009-11-30 2011-06-16 Canon It Solutions Inc Information processor, information processing method and computer program
JP2011170141A (en) * 2010-02-19 2011-09-01 Seiko Epson Corp Simulation device for image processing circuit, simulation method for image processing circuit, method for designing image processing circuit and simulation program for image processing circuit
EP2544088A1 (en) 2011-07-04 2013-01-09 Omron Corporation Development support apparatus and development support program
WO2021181794A1 (en) * 2020-03-11 2021-09-16 オムロン株式会社 Image processing device, control method, and program
JP7363601B2 (en) 2020-03-11 2023-10-18 オムロン株式会社 Image processing device, control method and program

Similar Documents

Publication Publication Date Title
US9495134B2 (en) Methods and apparatus for code segment handling
KR101885089B1 (en) Excel export method for bim design files
US8249732B2 (en) System and method for developing automated templates for knowledge capture
US7721255B2 (en) Sequence program editing apparatus
CN108351764B (en) Data processing method and system
US20070203678A1 (en) Storage medium readable by machine, storing design support program
CN112364496B (en) Avionics simulation panel generation system based on HTML5 and VUE technologies
JP2009059203A (en) Customization device for image processing function, customization method for image processing function, and program for customizing image processing function
CN104797993A (en) System-building assistance device
JP2019079429A (en) Information processing device and program
JP2012168900A (en) Programming device and program
US11379194B2 (en) Systems and methods for automatic code generation
EP2613253A1 (en) Display control program and apparatus
JP2007094453A (en) Program development support system, program development support method and program
KR102228241B1 (en) Method and system for virtual input on the web
JPS63109578A (en) Processing system for logic diagram outline display
JP2659092B2 (en) Cursor display control method in logic diagram creation processor
JP7421137B2 (en) Information processing device, information processing method and program
JP2575665B2 (en) Logical diagram outline description conversion processing method
CN105677340A (en) FTK based quick touch screen interface development method
JP2007047971A (en) Individual program generation device and method
JP2007226739A (en) Software development unit and program
JP2008015879A (en) Method, program and system for supporting description of specification including natural sentence
Lavonen Developing a Web Application for Indoor Map Data Management
JP2763289B2 (en) Detailed description positioning method in logic diagram creation processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121204