JP5733269B2 - プログラム生成を支援する方法及びプログラム生成を支援する装置 - Google Patents

プログラム生成を支援する方法及びプログラム生成を支援する装置 Download PDF

Info

Publication number
JP5733269B2
JP5733269B2 JP2012105287A JP2012105287A JP5733269B2 JP 5733269 B2 JP5733269 B2 JP 5733269B2 JP 2012105287 A JP2012105287 A JP 2012105287A JP 2012105287 A JP2012105287 A JP 2012105287A JP 5733269 B2 JP5733269 B2 JP 5733269B2
Authority
JP
Japan
Prior art keywords
program
inspection
user
macro
setting file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012105287A
Other languages
English (en)
Other versions
JP2013235306A (ja
Inventor
室崎 隆
隆 室崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2012105287A priority Critical patent/JP5733269B2/ja
Publication of JP2013235306A publication Critical patent/JP2013235306A/ja
Application granted granted Critical
Publication of JP5733269B2 publication Critical patent/JP5733269B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プログラム生成を支援する方法及びプログラム生成を支援する装置に関する。
従来、プログラム生成を支援する装置が提案されている。プログラム生成を支援する装置は、ユーザのプログラム設計作業を支援して、ユーザの作業量を低減する。
例えば、新たなプログラムを作成する場合には、メインプログラム、メインプログラムが呼び出すサブルーチンプログラム又はメインプログラム等で使用されるパラメータ設定ファイル等を、一から作成することがある。
また、メインプログラム又はサブルーチンプログラムに関しては、メインプログラム又はサブルーチンプログラムを一から作成するのではなく、頻繁に使用される処理として用意されているライブラリプログラムを利用することもある。
このようなプログラムを作成するユーザの作業を低減するために、プログラム生成を支援する装置が提案されている。
特開2002−123394号公報
従来のプログラム生成を支援する装置では、パラメータ設定ファイルのパラメータを変更することは可能なものの、メインプログラム及びサブルーチンプログラムに関しては、あらかじめ用意されているライブラリプログラムの中からしか選択することができない。また、新たにパラメータ設定ファイルを追加することもできない。
従って、あらかじめ用意されているライブラリプログラムに含まれるメインプログラム又はサブルーチンプログラムの処理が、ユーザの所望する処理とは異なる部分を有していても、ユーザがメインプログラム又はサブルーチンプログラムの処理を変更することはできなかった。
本明細書では、ユーザの所望する処理を実行できるプログラムの生成を支援する方法を提供することを目的とする。
また、本明細書では、ユーザの所望する処理を実行できるプログラムの生成を支援する装置を提供することを目的とする。
本明細書に開示する方法によれば、実行形式の一又は複数の第1プログラムであって、ハードウェアを動作させるプログラムを呼び出すラッパ関数を有する一又は複数の第1プログラムをコンピュータ(10)が表示し、ユーザによって選択された第1プログラムと、ユーザが入力した情報に基づいてコンピュータ(10)が生成する設定ファイルであって、選択された上記第1プログラムが実行される際に使用される設定ファイルと、ユーザが作成したインタプリタ形式の第2プログラムであって、選択された上記第1プログラムが実行される際に使用される第2プログラムと、に基づいて、コンピュータ(10)がプログラムを生成する。
また、本明細書に開示する装置によれば、実行形式の一又は複数の第1プログラムであって、ハードウェアを動作させるプログラムを呼び出すラッパ関数を有する一又は複数の第1プログラムを記憶する記憶部(12)と、上記記憶部(12)から読み出だされて表示され、ユーザによって選択された上記第1プログラムと、ユーザが入力した情報に基づいて生成される設定ファイルであって、選択された上記第1プログラムが実行される際に使用される設定ファイルと、ユーザが作成したインタプリタ形式の第2プログラムであって、選択された上記第1プログラムが実行される際に使用される第2プログラムと、に基づいて、プログラムを生成する演算部(16)と、を備える。
なお、上記各手段に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
本明細書に開示するプログラム生成を支援する装置の一実施形態を示す図である。 検査装置及び制御コンピュータを示す図である。 検査プログラムの構造を示す図である。 検査ウィンドウの設定を説明する図である。 検査プログラムが有するラッパ関数を説明する図である。 プログラム生成を支援する装置の動作の一例を示すフローチャートである。 プログラム生成を支援する装置の表示部の画面を示す図(その1)である。 プログラム生成を支援する装置の表示部の画面を示す図(その2)である。 プログラム生成を支援する装置の表示部の画面を示す図(その3)である。を示す図である。 プログラム生成を支援する装置の表示部の画面を示す図(その4)である。
以下、本明細書で開示するプログラム生成を支援する装置の好ましい一実施形態を、図を参照して説明する。但し、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
図1は、本明細書に開示するプログラム生成を支援する装置の一実施形態を示す図である。図2は、プログラム生成を支援する装置により生成されたプログラムが使用される検査装置及び制御コンピュータを示す図である。
本実施形態のプログラム生成を支援する装置10(以下、単に装置10ともいう)は、ユーザが検査プログラムを作成することを支援する。この検査プログラムは、検査装置50の制御を行う制御コンピュータ51が、検査装置50の制御を行う時に実行するプログラムである。検査装置50は、製品の画像を撮影し、撮影した画像を用いて製品を検査する装置である。検査装置50の動作は、制御コンピュータ51によって制御される。制御コンピュータ51は、検査プログラムを実行することにより、検査装置50で撮影された画像の画像処理を行って製品の検査を行う。なお、装置10が、検査プログラムの生成を支援することは一例であり、装置10は、他の種類のプログラムの生成を支援し得る。
図1に示すように、装置10は、所定のプログラムを記憶する記憶部12と、記憶部12に記憶された所定のプログラムを実行する演算部11と、液晶ディスプレイ等を有する表示部13と、キーボード又はマウス等を有する入力部14と、プリンタ等を有する出力部15と、外部のネットワーク等との間で通信する通信部16とを備える。装置10の各処理は、演算部11が、記憶部12に記憶した所定のプログラムを実行することにより実現される。
装置10は、例えば、サーバ又はパーソナルコンピュータ等のコンピュータ、若しくはステートマシン等を用いて構成され得る。
次に、装置10によって生成される検査プログラムの構造を、図3を参照して、以下に説明する。
検査プログラムは、以下に説明する検査カーネルプログラム、カメラ設定ファイル、通信設定ファイル、検査ウィンドウ設定ファイル、計測マクロプログラム、検査マクロプログラム及び判定マクロプログラムを有し、装置10によって一つのパッケージにまとめられて生成される。
検査カーネルプログラムは、検査プログラムのメインプログラムである。検査カーネルプログラムは、後述する各設定ファイル又はインタプリタ形式のプログラムを使用して、検査の処理を実行する。検査カーネルプログラムは、コンピュータが直接実行可能な実行形式のプログラムである。一又は複数の検査カーネルプログラムが、装置10の記憶部12に記憶されている。複数の検査カーネルプログラムが記憶部12に記憶されている場合には、ユーザによって選択された検査カーネルプログラムが、検査プログラムのメインプログラムとして使用される。
カメラ設定ファイルには、検査装置で撮影に用いられるカメラの数及び種類と、カメラのコマンド又は引数等の形式がパラメータとして設定される。カメラ設定ファイルは、検査カーネルプログラムが実行される際に使用される。カメラの種類としては、例えば、USBカメラ、ギガビットイーサネット(登録商標)カメラ等が挙げられる。また、装置10の記憶部12には、検査装置が撮影に用いるカメラそれぞれを駆動するプログラムであるドライバが記憶されている。本実施形態では、カメラ設定ファイルはテキスト形式のファイルである。
通信設定ファイルには、検査装置50と制御コンピュータ51との間の通信に使用される通信の種類がパラメータとして設定される。通信設定ファイルは、検査カーネルプログラムが実行される際に使用される。通信の種類としては、例えば、シリアル通信、ソケット通信、パラレル通信等が挙げられる。また、検査装置50がIOインターフェースを用いて、制御コンピュータ51と通信を行う場合には、通信の種類として、検査装置50が有するIOが通信設定ファイルに設定される。本実施形態では、通信設定ファイルはテキスト形式のファイルである。
検査ウィンドウ設定ファイルには、検査装置50で撮影された画像を処理する際の検査ウィンドウの数、位置及び形状が設定される。検査ウィンドウ設定ファイルは、検査カーネルプログラムが実行される際に使用される。検査装置50のカメラによって複数の画像が撮影される場合には、検査ウィンドウ設定ファイルは、それぞれの画像に対して生成される。
検査ウィンドウ設定ファイルの説明を、図4を参照して、以下に説明する。
図4は、装置10の表示部13に表示される検査ウィンドウ設定ボックス20を示す。検査ウィンドウ設定ボックス20には、検査装置50で撮影された画像の一例が示されている。この画像は、検査される製品の領域R1及びR2を示している。
検査ウィンドウ設定ボックス20には、検査ウィンドウ21、検査ウィンドウ22及び検査ウィンドウ23が設定されている。各検査ウィンドウは、装置10が画像処理を行う領域を規定する。検査ウィンドウ21は、領域R1の一方のエッジを含むように設定されている。検査ウィンドウ22は、領域R1の他方のエッジを含むように設定されている。検査ウィンドウ23は、領域R2を含むように設定されている。各検査ウィンドウの位置及び形状は、ユーザが、入力部14のマウス又はキーボード等を用いて、装置10に入力する。装置10は、ユーザが入力した各検査ウィンドウの位置及び形状等の情報に基づいて検査ウィンドウ設定ファイルを生成する。本実施形態では、検査ウィンドウ設定ファイルはテキスト形式のファイルである。
計測マクロプログラムは、検査カーネルプログラムが検査ウィンドウ設定ファイルを使用する際に実行される間接型のサブルーチンプログラムである。計測マクロプログラムは、検査カーネルプログラムが検査ウィンドウ設定ファイルを使用することなく、検査カーネルプログラムによって直接使用されることはない。
計測マクロプログラムは、ユーザが作成したインタプリタ形式のプログラムである。計測マクロプログラムは、マクロ言語によって記述されたプログラムである。本実施形態では、計測マクロプログラムはテキスト形式のファイルである。
装置10は、3つの計測マクロプログラムを有する。
一つ目の計測マクロプログラム1は、検査ウィンドウ21と関連づけられている。計測マクロプログラム1は、領域R1の一方のエッジの位置を計測する。計測マクロプログラム1は、例えば、領域R1の一方のエッジの位置を計測する際に用いる二値化処理の閾値をパラメータとして有する。
二つ目の計測マクロプログラム2は、検査ウィンドウ22と関連づけられている。計測マクロプログラム2は、領域R1の他方のエッジの位置を計測する。計測マクロプログラム2は、例えば、領域R1の他方のエッジの位置を計測する際に用いる二値化処理の閾値をパラメータとして有する。
三つ目の計測マクロプログラム3は、検査ウィンドウ23と関連づけられている。計測マクロプログラム3は、領域R2の面積、重心及び半径を計測する。計測マクロプログラム3は、例えば、領域R2の面積、重心及び半径を計測する際に用いる二値化処理の閾値をパラメータとして有する。
このように、検査プログラムでは、計測マクロプログラムが検査ウィンドウ設定ファイルに関連付けられることにより、プログラムの構造化を図って、サブルーチンプログラムと設定ファイルとの関係が明確にされる。
検査マクロプログラムは、計測マクロプログラムが実行した結果を用いて実行されるプログラムである。検査マクロプログラムは、検査カーネルプログラムが検査ウィンドウ設定ファイルを使用することなく、検査カーネルプログラムによって直接使用される直接型のサブルーチンプログラムである。検査マクロプログラムは、ユーザが作成したインタプリタ形式のプログラムである。検査マクロプログラムは、マクロ言語によって記述されたプログラムである。本実施形態では、検査マクロプログラムはテキスト形式のファイルである。
装置10の検査マクロプログラムは、計測マクロプログラム1が実行されて得られた領域R1の一方のエッジの位置及び計測マクロプログラム2が実行されて得られた領域R1の他方のエッジの位置に基づいて、領域R1の幅を計算する。
判定マクロプログラムは、上述した計測マクロプログラム又は検査マクロプログラムが実行した結果を用いて実行されるプログラムである。判定マクロプログラムは、検査カーネルプログラムが検査ウィンドウ設定ファイルを使用することなく、検査カーネルプログラムによって直接使用される直接型のサブルーチンプログラムである。判定マクロプログラムは、ユーザが作成したインタプリタ形式のプログラムである。判定マクロプログラムは、マクロ言語によって記述されたプログラムである。本実施形態では、判定マクロプログラムはテキスト形式のファイルである。
装置10は、2つの判定マクロプログラムを有する。
一つ目の判定マクロプログラム1は、検査マクロプログラムの結果の判定処理を行う。判定マクロプログラム1は、検査マクロプログラムが計算した領域R1の幅の値に基づいて、領域R1が正常であるか又は異常であるかを判定する。
二つ目の判定マクロプログラム2は、計測マクロプログラム3の結果の判定処理を行う。判定マクロプログラム2は、計測マクロプログラム3が求めた領域R2の面積、重心及び半径の値に基づいて、領域R2が正常であるか又は異常であるかを判定する。
検査カーネルプログラムは、判定マクロプログラム1、2の結果を用いて、検査の処理を実行する。
このように、検査プログラムでは、検査マクロプログラム及び判定マクロプログラムを計測マクロプログラムとは分離することにより、プログラムのデバッグ時に、不具合箇所の特定が容易になるようされている。
装置10は、上述した、ユーザによって選択された検査カーネルプログラムと、カメラ設定ファイルと、通信設定ファイルと、検査ウィンドウ設定ファイルと、計測マクロプログラム1〜3と、検査マクロプログラムと、判定マクロプログラム1、2とを有する検査プログラムを1つのパッケージPとして記憶部12に記憶する。
検査カーネルプログラムは、検査装置50が有するハードウェアとしての複数のカメラを、それぞれのドライバを介して駆動する。異なるカメラのドライバは、コマンド又は引数が同じとは限らないので、検査プログラムがカメラのドライバを呼び出す際には、各ドライバに対応したコマンド又は引数を用いる必要がある。
そこで、検査カーネルプログラムは、カメラを動作させるドライバを呼び出すラッパ関数を有している。
検査カーネルプログラムは、カメラを動作させる処理に関して、ラッパ関数を用いることにより、同一の処理で記載することが可能となる。
図5に示す例では、検査装置50は、カメラA、カメラB及びカメラCを有しており、それぞれのカメラを動作させるドライバがある。
例えば、検査カーネルプログラムが、カメラAを動作させる場合には、ラッパ関数は、カメラ設定ファイルを参照して、動作させるカメラの種類がカメラAであることを読み出して、カメラAのドライバAに対応したコマンド又は引数を読み出す。
そして、ラッパ関数は、カメラAに対応したコマンド又は引数を用いて、ドライバを呼び出すことにより、カメラAを動作させる。カメラB又はカメラCについても、同様に動作させることができる。
このように、ラッパ関数が各カメラに対応したコマンド又は引数の違いを吸収するので、検査カーネルプログラムのカメラを動作させる処理は、カメラの違いを考慮することなく同じ処理で記載することができる。
次に、装置10の動作の一例を、図6を参照して、以下に説明する。装置10の動作は、演算部11が記憶部12に記憶した所定のプログラムを実行することにより実現する。
まず、ステップS10において、装置10は、ユーザに対して、新規に生成される検査プログラムの名称として、パッケージ名を入力することを求める。図7は、表示部13の画面30を示している。ユーザは、入力部14のキーボード等を用いて、画面30のパッケージ名入力ボックス31に新たなパッケージ名「パッケージ2」と入力する。パッケージ名入力ボックス31にパッケージ名が入力された画面を図8に示す。
次に、ステップS12において、装置10は、ユーザに対して、パッケージのリストを表示すると共に、検査カーネルプログラム及びカメラ及び通信のリストを表示する。
図7に示すように、画面30は、パッケージ表示ボックス33と、検査カーネルプログラム表示ボックス34と、カメラ表示ボックス35と、通信表示ボックス36とを有する。
パッケージ表示ボックス33は、パッケージのリストを表示する。パッケージ表示ボックス33には、デフォルトとして、パッケージ1が表示されている。演算部11は、記憶部12に記憶されているパッケージの種類を読み出して、表示部13に表示する。
検査カーネルプログラム表示ボックス34は、検査カーネルプログラムのリストを表示する。検査カーネルプログラム表示ボックス34には、検査カーネルプログラム1及び検査カーネルプログラム2が表示されている。演算部11は、記憶部12に記憶されている検査カーネルプログラムの種類を読み出して、表示部13に表示する。
カメラ表示ボックス35は、カメラのリストを表示する。カメラ表示ボックス35には、カメラA、カメラB及びカメラCが表示されている。演算部11は、記憶部12に記憶されているカメラの種類を読み出して、表示部13に表示する。
通信表示ボックス36は、通信のリストを表示する。通信表示ボックス36には、パラレル通信、ソケット通信及びパラレルIOが表示されている。演算部11は、記憶部12に記憶されている通信の種類を読み出して、表示部13に表示する。
次に、ステップS14において、図8に示すように、装置10は、ユーザによって選択されたパッケージを画面30に表示する。ユーザがパッケージ表示ボックス33に表示されたデフォルトのパッケージ1を選択することにより、選択パッケージ表示ボックス32には、パッケージ1が表示される。初回には、デフォルトのパッケージ1を選択して、新たな検査プログラムが作成される。次回以降には、既に登録された複数のパッケージの内の一つを選択することが可能となる。
また、選択パッケージ表示ボックス32には、パッケージ1と共に、パッケージ1が有する検査カーネルプログラム1、パッケージ1が有するカメラ設定ファイルに設定されたカメラA及びパッケージ1が有する通信設定ファイルに設定されたパラレル通信が表示される。ここで、検査カーネルプログラム1、カメラA、パラレル通信は、デフォルトとしてパッケージ1に設定されているが、他のものがデフォルトとしてパッケージ1に設定されていても良い。
次に、ステップS16において、装置10は、ユーザによって選択された検査カーネルプログラムを表示する。
図9に示すように、装置10は、ユーザが検査カーネルプログラム表示ボックス34に表示された検査カーネルプログラム2を選択したことにより、選択パッケージ表示ボックス32に検査カーネルプログラム2を表示する。
次に、ステップS18において、装置10は、ユーザによって選択されたカメラを表示する。
図9に示すように、装置10は、ユーザがカメラ表示ボックス35に表示されたカメラCを選択したことにより、選択パッケージ表示ボックス32にカメラCを表示する。また、装置10は、選択されたカメラCをカメラ設定ファイルに設定する。なお、図9に示す例では、1つのカメラCが選択されているが、複数のカメラが選択されても良い。
次に、ステップS20において、装置10は、ユーザによって選択された通信を表示する。
図9に示すように、装置10は、ユーザが通信表示ボックス36に表示されたソケット通信を選択したことにより、選択パッケージ表示ボックス32にソケット通信を表示する。また、装置10は、選択されたソケット通信を通信設定ファイルに設定する。
次に、ステップS22において、装置10は、ユーザが入力した検査ウィンドウの設定パラメータ等に基づいて、検査ウィンドウ設定ファイルを生成する。
パッケージ1はデフォルトなので、検査ウィンドウ設定ファイルを有していない。そのため、図8に示すように、パッケージ1が選択された時点では、画面30の検査ウィンドウ設定ボックス37には、検査ウィンドウは表示されていない。
ユーザは、検査ウィンドウの位置及び形状等の情報を検査ウィンドウ設定ボックス37に入力する。図9に示す例では、検査ウィンドウ設定ボックス37には、図4で説明したのと同様に3つの検査ウィンドウ21〜23が入力されている。装置10は、ユーザが入力した検査ウィンドウ21〜23の設定パラメータ等に基づいて、検査ウィンドウ設定ファイルを生成する。
次に、ステップS24において、装置10は、ユーザが作成した計測マクロプログラムを入力して、検査ウィンドウに関連づける。
ユーザは、例えば、検査ウィンドウ設定ボックス37の検査ウィンドウ21内でマウスをクリックし、計測マクロプログラムの編集モードを起動して、計測マクロプログラム1を作成し、作成した計測マクロプログラム1を保存して、編集モードを終了する。このようにして、装置10は、ユーザが作成した計測マクロプログラム1を入力して、検査ウィンドウ21に関連付ける。
同様にして、装置10は、ユーザが作成した計測マクロプログラム2を入力して、検査ウィンドウ22に関連付ける。また、装置10は、ユーザが作成した計測マクロプログラム3を入力して、検査ウィンドウ23に関連付ける。
なお、計測マクロプログラムを入力する方法は、他の方法であっても良い。
次に、ステップS26において、装置10は、ユーザが作成した検査マクロプログラムを入力する。
ユーザは、例えば、検査ウィンドウ設定ボックス37内でマウスをクリックし、検査マクロプログラムの編集モードを起動して、検査マクロプログラムを作成し、作成した検査マクロプログラムを保存して、編集モードを終了する。
なお、検査マクロプログラムを入力する方法は、他の方法であっても良い。
次に、ステップS28において、装置10は、ユーザが作成した判定マクロプログラムを入力する。
ユーザは、例えば、検査ウィンドウ設定ボックス37内でマウスをクリックし、判定マクロプログラムの編集モードを起動して、判定マクロプログラム1を作成し、作成した判定マクロプログラム1を保存して、編集モードを終了する。
同様にして、装置10は、ユーザが作成した判定マクロプログラム2を入力する。
なお、判定マクロプログラムを入力する方法は、他の方法であっても良い。
次に、ステップS30において、装置10は、新規の検査プログラムとしてパッケージを生成する。
装置10は、例えば、ユーザがボタン38をマウスでクリックすることにより、「パッケージ2」という名称の新たな検査プログラムを生成する。新たな検査プログラムは、選択された検査カーネルプログラム2と、カメラCが設定されたカメラ設定ファイルと、ソケット通信が設定された通信設定ファイルと、検査ウィンドウ設定ファイルと、計測マクロプログラム1〜3と、検査マクロプログラムと、判定マクロプログラム1,2とに基づいて、装置10により生成される。
具体的には、装置10は、例えば、「パッケージ2」という名称のフォルダを作成し、このフォルダ内に実行形式の検査カーネルプログラム2、テキスト形式のカメラ設定ファイル及通信設定ファイル及検査ウィンドウ設定ファイル及計測マクロプログラム1〜3及検査マクロプログラム及び判定マクロプログラム1,2をコピーする。
次に、ステップS32において、装置10は、生成したパッケージを、記憶部12に記憶する。このように生成された検査プログラムのパッケージは、制御コンピュータ51で実行される。
記憶部12に新たに記憶されたパッケージは、次回から、パッケージのリストとして、パッケージ表示ボックス33に表示される。図10は、「パッケージ2」が、パッケージ表示ボックス33においてパッケージ1と共に表示されている様子を示している。装置10は、検査カーネルプログラム1及び検査カーネルプログラム2等を画面30に表示する時に、パッケージ1及びパッケージ2をパッケージ表示ボックス33に表示する。
ここで、新たな検査プログラムが生成される際にパッケージ2が選択された場合には、画面30の検査ウィンドウ設定ボックス37には、パッケージ2の検査ウィンドウ設定ファイルに設定された検査ウィンドウが表示される。ユーザが、検査ウィンドウ設定ボックス37に表示された検査ウィンドウを変更することにより、新たな検査ウィンドウ設定ファイルが生成される。
また、検査ウィンドウ設定ファイルに関連づけられる計測マクロプログラムも、ユーザによって新たに作成される。ユーザは、パッケージ2の検査ウィンドウ設定ファイルに関連づけられていた計測マクロプログラムを利用して、新たな計測マクロプログラムを作成しても良い。
同様に、検査マクロプログラム及び判定プログラムがユーザによって新たに作成される。
このように、新たな検査プログラムを作成する際に、既存の検査プログラムを利用するならば、パッケージ2を利用することにより、検査ウィンドウ設定ファイル、計測マクロプログラム、検査マクロプログラム又は判定プログラムを作成する作業を低減することができる。
一方、新たな検査プログラムを作成する際に、既存の検査プログラムを利用しないならば、デフォルトのパッケージ1を利用して、検査プログラムを生成しても良い。
上述した本実施形態の装置10によれば、ユーザが選択した実行形式の検査カーネルプログラムと、ユーザが入力した情報に基づいて生成された検査ウィンドウ設定ファイルと、ユーザが作成したインタプリタ形式の計測マクロプログラム及び検査マクロプログラム及び判定マクロプログラムに基づいて、プログラムが生成されるので、ユーザの所望する処理を実行できる検査プログラムが得られる。また、検査カーネルプログラムは、カメラを動作させるプログラムを呼び出すラッパ関数を有するので、同じプログラムを用いて異なるカメラにも対応することができる。
また、上述した本実施形態の装置10によれば、検査プログラムの内、実行形式の検査カーネルプログラムは既存のプログラムを選択して用いるので、ユーザが新たに作成するプログラムは、計測マクロプログラム、検査マクロプログラム又は判定マクロプログラムである。従って、検査プログラムを作成する際のユーザの負担が大きく低減される。
なお、検査プログラムによっては、計測マクロプログラム、検査マクロプログラム及び判定マクロプログラムの全てを作成する必要はなく、必要なマクロプログラムを作成すれば良い。
また、上述した本実施形態の装置10によれば、ユーザが作成する計測マクロプログラム、検査マクロプログラム及び判定マクロプログラムはインタプリタ形式なので、コンパイルが不要である。従って、装置10は、コンパイルを必要とするプログラムの開発環境を必要としない。
本発明では、上述した実施形態のプログラム生成を支援する方法及びプログラム生成を支援する装置は、本発明の趣旨を逸脱しない限り適宜変更が可能である。
例えば、上述した実施形態では、ラッパ関数は、カメラを動作させるドライバを呼び出していたが、ラッパ関数は、プリンタ等の他のハードウェアを動作させるものであっても良い。
また、上述した実施形態では、ユーザが入力した情報に基づいてコンピュータが生成する設定ファイルであって、選択された検査カーネルプログラムが実行される際に使用される設定ファイルとしては、装置10は検査ウィンドウ設定ファイルを有していた。しかし、装置10は、ユーザが入力した情報に基づいてコンピュータが生成する他の設定ファイルを有していても良い。
10 プログラム生成を支援する装置
11 演算部
12 記憶部
13 表示部
14 入力部
15 出力部
16 通信部
50 検査装置
51 制御コンピュータ

Claims (5)

  1. 実行形式の一又は複数の第1プログラムであって、ハードウェアを動作させるプログラムを呼び出すラッパ関数を有する一又は複数の第1プログラムをコンピュータ(10)が表示し、ユーザによって選択された第1プログラムと、
    ユーザが入力した情報に基づいてコンピュータ(10)が生成する設定ファイルであって、選択された前記第1プログラムが実行される際に使用される設定ファイルと、
    ユーザが作成したインタプリタ形式の第2プログラムであって、選択された前記第1プログラムが実行される際に使用される第2プログラムと、
    に基づいて、コンピュータ(10)がプログラムを生成する方法。
  2. 前記第2プログラムは、前記第1プログラムが前記設定ファイルを使用する際に実行されるプログラムか、又は、前記第1プログラムが前記設定ファイルを使用することなく実行されるプログラムである請求項1に記載の方法。
  3. ユーザによって選択された前記第1プログラムと、
    前記設定ファイルと、
    前記第2プログラムと、
    をパッケージとしてコンピュータ(10)が記憶する請求項1又は2に記載の方法。
  4. 前記第1プログラムをコンピュータ(10)が表示する時に、前記パッケージをコンピュータ(10)が表示する請求項3に記載の方法。
  5. 実行形式の一又は複数の第1プログラムであって、ハードウェアを動作させるプログラムを呼び出すラッパ関数を有する一又は複数の第1プログラムを記憶する記憶部(12)と、
    前記記憶部(12)から読み出だされて表示され、ユーザによって選択された前記第1プログラムと、
    ユーザが入力した情報に基づいて生成される設定ファイルであって、選択された前記第1プログラムが実行される際に使用される設定ファイルと、
    ユーザが作成したインタプリタ形式の第2プログラムであって、選択された前記第1プログラムが実行される際に使用される第2プログラムと、
    に基づいて、プログラムを生成する演算部(16)と、
    を備える装置。
JP2012105287A 2012-05-02 2012-05-02 プログラム生成を支援する方法及びプログラム生成を支援する装置 Expired - Fee Related JP5733269B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012105287A JP5733269B2 (ja) 2012-05-02 2012-05-02 プログラム生成を支援する方法及びプログラム生成を支援する装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012105287A JP5733269B2 (ja) 2012-05-02 2012-05-02 プログラム生成を支援する方法及びプログラム生成を支援する装置

Publications (2)

Publication Number Publication Date
JP2013235306A JP2013235306A (ja) 2013-11-21
JP5733269B2 true JP5733269B2 (ja) 2015-06-10

Family

ID=49761405

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012105287A Expired - Fee Related JP5733269B2 (ja) 2012-05-02 2012-05-02 プログラム生成を支援する方法及びプログラム生成を支援する装置

Country Status (1)

Country Link
JP (1) JP5733269B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6843007B2 (ja) * 2017-06-26 2021-03-17 株式会社三菱Ufj銀行 アプリケーション生成支援システム
US20220331957A1 (en) * 2019-10-03 2022-10-20 Sony Group Corporation Data processing device, data processing method, and cooking robot

Also Published As

Publication number Publication date
JP2013235306A (ja) 2013-11-21

Similar Documents

Publication Publication Date Title
US9021428B2 (en) Troubleshooting visuals and transient expressions in executing applications
JP5991695B2 (ja) 文書オブジェクトモデルツリーとカスケーディング・スタイル・シートとが取り出されることが可能なアプリケーションのソースコードを変更することによって生じる影響を検知するための方法、並びに、当該影響を検知するためのコンピュータ及びそのコンピュータ・プログラム
JP6689507B2 (ja) 情報処理システム
US9690682B2 (en) Program information generating system, method, and computer program product
JP2014203309A (ja) 画像処理装置、制御方法およびプログラム
US10474481B2 (en) User interface layout comparison
US11201806B2 (en) Automated analysis and recommendations for highly performant single page web applications
JP6211197B2 (ja) 基板検査装置
Lang et al. Use of YouScope to implement systematic microscopy protocols
US20150331673A1 (en) Contextual Focus-Agnostic Parsing-Validated Alternatives Information
Gronle et al. itom: An open source metrology, automation, and data evaluation software
JP5733269B2 (ja) プログラム生成を支援する方法及びプログラム生成を支援する装置
WO2017159631A1 (ja) ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
US20150032419A1 (en) Plc designing apparatus
JP2007264724A (ja) Cadデータの管理システムおよび管理方法
JP6446945B2 (ja) 非互換検出装置、非互換検出方法、及びプログラム
JP3971915B2 (ja) 測定機器の制御用プログラム、測定機器および測定機器の制御用プログラムを記憶したコンピュータ読取可能な記憶媒体
Molnar Live visualization of GUI application code coverage with GUITracer
JP6251994B2 (ja) テスト結果表示装置、およびテスト結果表示プログラム
JP2020126358A (ja) 計測方法、計測装置、およびプログラム
JPWO2015019421A1 (ja) 組み込みソフトウェアのプログラム開発方法、プログラミング装置および組み込み機器
JPWO2014083646A1 (ja) プログラマブル表示器、プログラム
Heinonen Design and implementation of automated visual regression testing in a large software product
KR20120040370A (ko) 기판 처리 장치의 모니터링 방법
JP6879743B2 (ja) 画像検査装置および画像検査方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R151 Written notification of patent or utility model registration

Ref document number: 5733269

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees