JP4962226B2 - Development support system, development support device, development support method, and development support program - Google Patents
Development support system, development support device, development support method, and development support program Download PDFInfo
- Publication number
- JP4962226B2 JP4962226B2 JP2007225914A JP2007225914A JP4962226B2 JP 4962226 B2 JP4962226 B2 JP 4962226B2 JP 2007225914 A JP2007225914 A JP 2007225914A JP 2007225914 A JP2007225914 A JP 2007225914A JP 4962226 B2 JP4962226 B2 JP 4962226B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- image processing
- processing apparatus
- development support
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
本発明は、画像処理システムの開発支援に関し、特に、計測対象物の画像に対して画像処理を行なうことにより検査や判別を行なう画像処理装置を含むシステムにおける画像処理装置で実行されるプログラムの開発に関する。 The present invention relates to development support for an image processing system, and in particular, development of a program executed by an image processing apparatus in a system including an image processing apparatus that performs inspection and discrimination by performing image processing on an image of a measurement target. About.
従来から、たとえば特許文献1や特許文献2に開示されるように、物品の視覚的な検査に画像処理装置が用いられてきた。このような画像処理装置では、基準画像とカメラ等から入力された物品の画像とを所定のプログラムに従って処理することにより、当該物品の視覚的な検査が行なわれる。
近年の商品の多品種少量生産等により、画像処理装置のユーザは、多様な画像処理プログラムの開発を希望する状況が多く見られるようになっている。 In recent years, many users of image processing apparatuses are demanding to develop various image processing programs due to the production of various products in small quantities.
なお、このような状況に対し、画像処理装置のメーカがユーザの要望ごとにプログラムの開発を行なうことはコスト等の面から難しいという問題があった。このことから、ユーザ側で画像処理装置におけるプログラムの開発をする必要が生じてくる。 In this situation, there is a problem that it is difficult for the manufacturer of the image processing apparatus to develop a program according to the user's request from the viewpoint of cost and the like. For this reason, it becomes necessary for the user to develop a program in the image processing apparatus.
しかしながら、このようなプログラムの開発には、プログラム開発の中でもより専門的な知識が必要とされるという課題があった。これは、画像処理装置において実行される上記のようなプログラムが、一般的に、アンマネージコードと呼ばれる、特定のプロセッサやプラットフォームでのみ実行されるようなコードで記述されていることに起因すると考えられる。上記のような画像処理装置が汎用のコンピュータではなく専用の端末によって実現されることが多く、そのため、当該プログラムには、リソース使用量を最小限に抑えつつ高いパフォーマンスを発揮することが求められていたからである。 However, the development of such a program has a problem that more specialized knowledge is required in the program development. This is considered to be caused by the fact that the above-mentioned program executed in the image processing apparatus is generally described by a code called an unmanaged code that can be executed only on a specific processor or platform. . Since the image processing apparatus as described above is often realized by a dedicated terminal instead of a general-purpose computer, the program is required to exhibit high performance while minimizing resource usage. It is.
また、上記したようなプログラムの開発には、画像処理装置のような、当該プログラムが実際に実行される装置(以下、適宜「開発ターゲット」と呼ぶ)を利用した動作確認が必要とされ、開発作業が煩雑となるという課題があった。上記したように、当該プログラムが特別なコードで記述されるためである。 In addition, development of a program as described above requires operation confirmation using an apparatus (hereinafter referred to as “development target” as appropriate) such as an image processing apparatus that actually executes the program. There was a problem that the work was complicated. This is because the program is written in a special code as described above.
なお、汎用のコンピュータ上で上記したようなプログラムの開発がなされた場合、汎用のコンピュータ上で実行したプログラムとは別に、当該汎用コンピュータ上で実現された機能と同様の機能を実現するプログラムであって開発ターゲット上で実行される形式で記述されたプログラムを作成する必要があり、プログラムの開発者は煩雑な作業を余儀なくされていた。 When a program as described above is developed on a general-purpose computer, it is a program that realizes the same function as the function realized on the general-purpose computer, apart from the program executed on the general-purpose computer. Therefore, it is necessary to create a program described in a format to be executed on the development target, and the developer of the program is forced to perform complicated work.
また、このように汎用のコンピュータにおける開発後に開発ターゲット用に作成されたプログラムも、開発ターゲット上での動作確認は必要とされる。そして、このような開発ターゲット上での動作確認の際には、再度デバッグやログ出力などの確認動作を必要とされる。つまり、プログラムの開発者は、汎用のコンピュータ上での開発の他に、さらに、開発ターゲット上で実行されるプログラムの作成およびその確認作業という、煩雑な作業
を必要とされていた。
In addition, the program created for the development target after development on the general-purpose computer as described above is also required to confirm the operation on the development target. Then, when confirming the operation on such a development target, a confirmation operation such as debugging or log output is required again. In other words, in addition to development on a general-purpose computer, a program developer is required to perform complicated work such as creating a program to be executed on a development target and confirming the program.
なお、開発ターゲット上での確認動作のための負荷を軽減するべく、開発ターゲット上での確認動作の際に当該開発ターゲットをICE(In-Circuit Emulator:登録商標)等のデバッガを介して汎用コンピュータに接続し、汎用コンピュータ上で確認作業を行なうことも考えられた。しかしながら、このようなICE(登録商標)等の新たな機器の導入は、プログラム開発のコストを上昇させるという新たな課題を所持させる。 In addition, in order to reduce the load for the confirmation operation on the development target, the development target is connected to a general-purpose computer via a debugger such as ICE (In-Circuit Emulator: registered trademark) during the confirmation operation on the development target. It was also conceivable to perform a confirmation work on a general-purpose computer by connecting to a computer. However, the introduction of such a new device such as ICE (registered trademark) has a new problem of increasing the cost of program development.
本発明はかかる実情に鑑み考え出されたものであり、その目的は、安価にかつ煩雑な作業を必要とすることなく画像処理装置に実行させるプログラムの開発を可能とする開発支援システム、開発支援装置、開発支援方法、および開発支援プログラムを提供することである。 The present invention has been conceived in view of such circumstances, and its purpose is to provide a development support system and development support that enable development of a program to be executed by an image processing apparatus at low cost and without requiring complicated work. An apparatus, a development support method, and a development support program are provided.
本発明に従った画像処理システムの開発支援システムは、画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置と、前記画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置とを備える開発支援システムであって、前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、前記開発支援装置は、ソースコードを入力するためのインターフェース手段と、前記インターフェース手段からの入力を受けて、ソースコードの追加または削除を行なう編集手段と、前記インターフェース手段から入力され前記編集手段で追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするコンパイル手段と、前記動作確認プログラムを実行する実行手段と、前記実行プログラムを前記画像処理装置へ転送する転送手段とを含み、前記画像処理装置は、前記実行プログラムを転送されて当該実行プログラムを実行することを特徴とする。 An image processing system development support system according to the present invention receives an image input, executes an image processing program on the input image, and creates a program executed by the image processing device And a development support apparatus capable of transferring a program to the image processing apparatus, wherein the development support apparatus and the image processing apparatus execute a program in different environments, and the development support apparatus Is an interface unit for inputting source code, an editing unit for adding or deleting source code in response to an input from the interface unit, and an input unit from which the source code is added or deleted. Execution program corresponding to the operating environment of the image processing apparatus , An operation check program corresponding to the operating environment of the development support apparatus, a compiling means for compiling, an execution means for executing the operation check program, and a transfer means for transferring the execution program to the image processing apparatus. The image processing apparatus transfers the execution program and executes the execution program.
また、本発明の開発支援システムでは、前記画像処理装置は、プログラムの実行に利用される第1の容量のメインメモリを含み、前記開発支援装置は、プログラムの実行に利用される前記第1の容量よりも多い第2の容量のメインメモリをさらに含み、前記実行手段は、前記動作確認プログラム実行中に利用される前記第2の容量のメインメモリの中の容量が前記第1の容量を越えた場合に報知動作を実行することが好ましい。 In the development support system of the present invention, the image processing apparatus includes a main memory having a first capacity used for executing a program, and the development support apparatus is used for executing the program. A main memory having a second capacity larger than the capacity, and wherein the execution means has a capacity in the main memory having the second capacity used during the execution of the operation check program exceeding the first capacity. In this case, it is preferable to perform the notification operation.
また、本発明の開発支援システムでは、前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、前記開発支援装置は、前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段をさらに含み、前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理を含み、前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理に代えて、前記外部機器との間でのデータの送信または受信を行なうことなく当該送信または受信が完了したとみなす処理を含む処理を含むことが好ましい。 In the development support system of the present invention, the execution program and the operation check program can include instructions for executing a library-process for executing a process corresponding to each other in each operation environment. An apparatus includes: a first storage unit that stores an execution program library that executes a process corresponding to an operating environment of the image processing apparatus; and an operation check program library that executes a process corresponding to the operating environment of the development support apparatus The execution program library further includes a process including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus, The operation confirmation program library is used for processing to send or receive data to or from the external device. The corresponding processing includes processing including processing for determining that transmission or reception is completed without performing transmission or reception of data with the external device, instead of processing for transmission or reception. preferable.
また、本発明の開発支援システムでは、前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、前記開発支援装置は、前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、前
記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段をさらに含み、前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器からデータを受信する処理を含む処理を含み、前記動作環境プログラム用ライブラリは、前記外部機器からデータを受信する処理に対応して、当該受信する処理に代えて、前記外部機器からのデータの受信を行なうことなく、前記画像処理装置において外部機器からデータを正常に受信できなかった場合の警告処理に対応する処理を含む処理を含むことが好ましい。
In the development support system of the present invention, the execution program and the operation check program can include instructions for executing a library-process for executing a process corresponding to each other in each operation environment. An apparatus includes: a first storage unit that stores an execution program library that executes a process corresponding to an operating environment of the image processing apparatus; and an operation check program library that executes a process corresponding to the operating environment of the development support apparatus The execution program library includes a process including a process of receiving data from an external device connected only to the image processing apparatus, and the operating environment program library includes: In response to the process of receiving data from the external device, instead of the process of receiving, Without performing the reception of data from the Department device preferably includes a process comprising a process corresponding to the warning process when not normally received the data from the external apparatus in the image processing apparatus.
また、本発明の開発支援システムでは、前記コンパイル手段は、前記ソースコードをコンパイルするたびに、前記実行プログラムと前記動作確認プログラムの双方を生成することが好ましい。 In the development support system of the present invention, it is preferable that the compiling unit generates both the execution program and the operation check program each time the source code is compiled.
本発明に従った開発支援装置は、画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置であって、前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、ソースコードを入力するためのインターフェース手段と、前記インターフェース手段からの入力を受けて、ソースコードの追加または削除を行なう編集手段と、前記インターフェース手段から入力され前記編集手段で追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするコンパイル手段と、前記動作確認プログラムを実行する実行手段と、前記実行プログラムを前記画像処理装置へ転送する転送手段とを備えることを特徴とする。 A development support apparatus according to the present invention receives an input of an image, creates a program to be executed by an image processing apparatus that executes a program related to image processing on the input image, and transfers the program to the image processing apparatus The development support apparatus and the image processing apparatus are capable of executing a program in different environments and receiving input from the interface means for inputting a source code. Editing means for adding or deleting source code, source code input from the interface means and added or deleted by the editing means, an execution program corresponding to the operating environment of the image processing apparatus, and the development support apparatus Compile to compile to the operation check program corresponding to the operating environment of And the step, and wherein the execution means, further comprising a transfer means for transferring the execution program to the image processing apparatus for executing the operation check program.
また、本発明の開発支援装置は、プログラムの実行に利用され、前記画像処理装置においてプログラムの実行に利用されるメインメモリの容量である第1の容量よりも多い第2の容量のメインメモリをさらに備え、前記実行手段は、前記動作確認プログラム実行中に利用される前記第2の容量のメインメモリの中の容量が前記第1の容量を越えた場合に報知動作を実行することが好ましい。 In addition, the development support apparatus of the present invention uses a main memory having a second capacity larger than the first capacity, which is the capacity of the main memory used for executing the program in the image processing apparatus. Further, it is preferable that the execution means executes the notification operation when the capacity in the main memory having the second capacity used during the execution of the operation check program exceeds the first capacity.
また、本発明の開発支援装置では、前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段をさらに備え、前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理を含み、前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理に代えて、前記外部機器との間でのデータの送信または受信を行なうことなく当該送信または受信が完了したとみなす処理を含む処理を含むことが好ましい。 In the development support apparatus of the present invention, the execution program and the operation check program may include instructions for executing a library-process for executing a process corresponding to each other in each operation environment, and the image processing A first storage means for storing an execution program library for executing processing corresponding to the operating environment of the apparatus; and a second storage for storing an operation check program library for executing processing corresponding to the operating environment of the development support apparatus. The execution program library further includes a storage unit, and the execution program library includes a process including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus. As a process corresponding to the process of transmitting or receiving data to or from the external device, Instead of the process of performing signal or reception, it is preferable to include a process including the processing regarded as the transmission or reception has been completed without performing transmission or reception of data to and from the external device.
また、本発明の開発支援装置では、前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段をさらに備え、前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器からデータを受信する処理を含む処理を含み、前記動作環境プログラム用ライブラリは、前記外部機器からデータを受信する処理に対応して、当該受信する処理に代えて、
前記外部機器からのデータの受信を行なうことなく、前記画像処理装置において外部機器からデータを正常に受信できなかった場合の警告処理に対応する処理を含む処理を含むことが好ましい。
In the development support apparatus of the present invention, the execution program and the operation check program may include instructions for executing a library-process for executing a process corresponding to each other in each operation environment, and the image processing A first storage means for storing an execution program library for executing processing corresponding to the operating environment of the apparatus; and a second storage for storing an operation check program library for executing processing corresponding to the operating environment of the development support apparatus. The execution program library further includes a process including a process of receiving data from an external device connected only to the image processing apparatus, and the operating environment program library receives data from the external device. In response to the receiving process, instead of the receiving process,
Preferably, the image processing apparatus includes a process including a process corresponding to a warning process when the data cannot be normally received from the external apparatus without receiving the data from the external apparatus.
また、本発明の開発支援装置では、前記コンパイル手段は、前記ソースコードをコンパイルするたびに、前記実行プログラムと前記動作確認プログラムの双方を生成することが好ましい。 In the development support apparatus of the present invention, it is preferable that the compiling unit generates both the execution program and the operation check program each time the source code is compiled.
本発明に従った開発支援方法は、画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置におけるプログラムの開発支援方法であって、前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、ソースコードを入力するためのステップと、前記入力を受けて、ソースコードの追加または削除を行なうステップと、前記入力されかつ前記追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするステップと、前記動作確認プログラムを実行するステップと、前記実行プログラムを前記画像処理装置へ転送するステップとを備えることを特徴とする。 A development support method according to the present invention receives an input of an image, creates a program to be executed by an image processing apparatus that executes a program related to image processing on the input image, and transfers the program to the image processing apparatus A development support method for a program in a development support device capable of executing the program, wherein the development support device and the image processing device execute a program in different environments and input a source code, and receive the input. Adding or deleting a source code, the input source code added or deleted corresponding to an execution program corresponding to an operating environment of the image processing apparatus, and an operating environment of the development support apparatus And a step for compiling the operation check program, and a step for executing the operation check program. And-up, characterized in that it comprises the step of transferring said execution program to the image processing apparatus.
本発明に従った開発支援プログラムは、画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置において実行されるプログラムの開発支援プログラムであって、前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、ソースコードを入力するためのステップと、前記入力を受けて、ソースコードの追加または削除を行なうステップと、前記入力されかつ前記追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするステップと、前記動作確認プログラムを実行するステップと、前記実行プログラムを前記画像処理装置へ転送するステップとを前記開発支援装置に実行させることを特徴とする。 A development support program according to the present invention receives an input of an image, creates a program executed by an image processing apparatus that executes a program related to image processing on the input image, and transfers the program to the image processing apparatus A development support program for a program executed in a development support apparatus capable of executing the program, wherein the development support apparatus and the image processing apparatus execute a program in different environments and input source code; Receiving input, adding or deleting source code; executing the input and the added or deleted source code as an execution program corresponding to an operating environment of the image processing apparatus; and operation of the development support apparatus An operation check program corresponding to the environment, a step of compiling the program, and the operation check Performing a program, characterized in that and a step of transferring said execution program to the image processing apparatus to the aid device.
本発明によれば、或るソースコードがコンパイルされて、画像処理装置においてプログラムが実行される環境に適した実行プログラムと開発支援装置においてプログラムが実行される環境に適した動作確認プログラムの双方が生成される。そして、開発支援装置では上記動作確認プログラムが実行され、画像処理装置では開発支援装置から転送された実行プログラムが実行される。 According to the present invention, both an execution program suitable for an environment in which a certain source code is compiled and the program is executed in the image processing apparatus and an operation check program suitable for the environment in which the program is executed in the development support apparatus are provided. Generated. The operation support program is executed in the development support apparatus, and the execution program transferred from the development support apparatus is executed in the image processing apparatus.
なお、画像処理装置が備えるプログラムの動作環境は、開発支援装置が備えるプログラムの動作環境とは異なるものであることが意図される。ここで、動作環境が異なるということには、当該装置を構成するハードウェアが異なる場合や、当該装置で実行されるオペレーションシステムが異なる場合を含む。また、ハードウェアが異なる場合には、構成要素である個々のデバイスの有無や種類が異なる場合や、各装置が接続される外部機器の有無や種類が異なる場合が含まれる。 Note that the operating environment of the program included in the image processing apparatus is intended to be different from the operating environment of the program included in the development support apparatus. Here, the fact that the operating environment is different includes a case where hardware constituting the device is different and a case where an operation system executed by the device is different. Further, when the hardware is different, the case where the presence or type of each device as a component is different, or the case where the presence or type of an external device to which each device is connected is different is included.
これにより、画像処理装置において実行されるプログラムの開発に際し、開発支援装置において、動作確認プログラムが実行されることにより開発後のプログラムのデバッグが実行された後、プログラムの開発者は、デバッグ後のプログラムについて画像処理装置のために改めてプログラミングを行なう必要がなくなる。また、開発支援装置において、画像処理装置用にコンパイルされたプログラムと同じソースコードのプログラムのデバッグ
処理が可能であるため、開発支援装置と画像処理装置との間にICE(登録商標)等のデバッガを接続させるような必要がなくなる。
Thus, when developing a program to be executed in the image processing apparatus, the development support apparatus executes debugging of the post-development program by executing the operation check program, and then the program developer There is no need to reprogram the program for the image processing apparatus. Further, since the development support apparatus can debug a program having the same source code as the program compiled for the image processing apparatus, a debugger such as ICE (registered trademark) is provided between the development support apparatus and the image processing apparatus. Need not be connected.
したがって、本発明によれば、安価にかつ煩雑な作業を必要とすることなく画像処理装置に実行させるプログラムの開発が可能となる。 Therefore, according to the present invention, it is possible to develop a program to be executed by the image processing apparatus at low cost and without requiring complicated work.
以下、本発明のプログラムの開発支援システムの一実施の形態について、図面を参照しつつ説明する。なお、同一の構成要素には各図において同一の符号を付し、詳細な説明は繰返さない。 Hereinafter, an embodiment of a program development support system according to the present invention will be described with reference to the drawings. It should be noted that the same components are denoted by the same reference symbols in the respective drawings, and detailed description thereof will not be repeated.
図1は、本実施の形態の開発支援システムの構成を模式的に示す図である。開発支援システムでは、パーソナルコンピュータ(PC)2において、画像処理装置1で実行されるプログラムの開発が行なわれ、そして、開発後のプログラムが、PC2から画像処理装置1にインストールされる。
FIG. 1 is a diagram schematically showing the configuration of the development support system of the present embodiment. In the development support system, a program executed by the image processing apparatus 1 is developed in a personal computer (PC) 2, and the developed program is installed in the image processing apparatus 1 from the
図2は、PC2のハードウェア構成を模式的に示すである。PC2は、CPU(Central Processing Unit)21、ハードディスク22、RAM(Random Access Memory)23、グラフィックコントローラ24、操作I/F(インターフェイス)25を含む。ハードディスク22は、CPU21で実行されるプログラムを含む種々の情報が記憶されている。RAM23は、CPU21がプログラムを実行する際のメインメモリとして利用される。グラフィックコントローラ24は、CPU21による制御に基づいて、LCD(Liquid
Crystal Display)などによって構成されるビデオモニタに画像を表示させる。操作I/F25は、ユーザが外部から情報を入力するのに用いるキーボードやマウス(ポインティングデバイス)に接続されている。外部I/F26は、画像処理装置1等の外部機器との接続のインターフェイスとなる。
FIG. 2 schematically shows the hardware configuration of the
An image is displayed on a video monitor such as a crystal display. The operation I /
図3は、画像処理装置1のハードウェア構成を模式的に示す図である。画像処理装置1は、CPU11、フラッシュメモリ12、RAM13、グラフィックコントローラ14、操作I/F15、外部I/F16、およびカメラI/F17を含む。フラッシュメモリ12には、CPU11が実行するプログラムなどの種々の情報が記憶されている。RAM13は、CPU11がプログラムを実行する際のメインメモリとして利用される。
FIG. 3 is a diagram schematically illustrating a hardware configuration of the image processing apparatus 1. The image processing apparatus 1 includes a
画像処理装置1では、外部のカメラが撮影した映像(または画像)が、カメラI/F17を介して入力される。CPU11は、カメラから入力された画像や種々の情報を、グラフィックコントローラ14を介して、LCD等によって構成されるビデオモニタに表示させる。
In the image processing apparatus 1, a video (or image) taken by an external camera is input via the camera I /
CPU11は、上記したカメラに当該カメラが撮影した画像を入力させるタイミング等を決定するタイミングセンサに接続されている。CPU11は、カメラI/F17を介して入力された画像を処理することによって、タイミングセンサに対して、上記カメラの撮影した画像の入力のタイミングを指示したり、ラインを流れるワークについてのラインからの排出を指示したり、当該ラインの流れを制御するための信号を送信する。
CPU11 is connected to the timing sensor which determines the timing etc. which make the above-mentioned camera input the image which the said camera image | photographed. The
画像処理装置1では、外部I/F16を介して外部の機器との間で情報の送受信が行なわれ、また、操作I/F15を介して、外部の操作機器(ポインティングデバイスやキーボード等)に対する操作に基づく情報が入力される。
In the image processing apparatus 1, information is transmitted to and received from an external device via the external I /
図4は、PC2のハードディスク22に記憶される内容を模式的に示す図である。
図4を参照して、ハードディスク22には、OS(Operating System)などの基本とな
る処理プログラム(基本処理プログラム)121、実行ファイル作成用プログラム122、コアライブラリ123、およびアプリケーションファイル124が記憶されている。PC2では、プログラミングされたソースファイルがコンパイル(後述するビルドに含まれる処理)されて実行ファイルが作成される。実行ファイル作成用プログラム122は、このようなコンパイルを含むビルドを実行するためのプログラムである。
FIG. 4 is a diagram schematically showing the contents stored in the
Referring to FIG. 4,
プログラミングされたソースファイルは、ソースファイル1240として示されるように、第1処理用ソースファイル1240A、第2処理用ソースファイル1240B、第3処理用ソースファイル1240C、…のように、処理ごとに記述されている。各処理のソースファイルは、たとえばC++言語などのプログラミング言語によって記述される。また、ここでいう各処理とは、たとえば、上記したカメラから入力された画像の中で、画像処理の対象とする領域の形状(たとえば、矩形、楕円、円形、等)を更新する処理(図形更新時処理)、上記したカメラから(画像処理装置2に)入力された画像に基づいて実行された計測結果をビデオモニタにどのように(たとえば画面のデザイン等)表示するかを決定する処理(計測結果表示処理)などが挙げられる。
As shown as a
本実施の形態の開発支援システムでは、PC2と画像処理装置1とでは、プログラムが実行されるプラットフォームが異なる。具体的には、画像処理装置1は、工業製品の生産ラインの近傍に、ワークの品質等の検査のために生産ラインの近傍に配置されることが多いため、RAM13やフラッシュメモリ12として搭載されるメモリ容量がPC2に対して抑えられ、そして、このような事情およびシステムの安定性が重視されることから、いわゆるリアルタイムOSが組込まれている。また、PC2には、上記した画像処理装置1に対する制約がないことから、画像処理装置1と比較して、メインメモリ(RAM23)の容量は画像処理装置1のメインメモリ(RAM13)よりも容量を多くすることができ、また、フラッシュメモリ12の代わりに、衝撃等に対する安定性は低いが大きな容量を得ることができるハードディスク22が採用されている。
In the development support system of this embodiment, the platform on which the program is executed differs between the
上記したようなPC2と画像処理装置1との間のプラットフォームの差異から、PC2と画像処理装置1とでは、アプリケーションの実行ファイルの対応するコードが異なる。本実施の形態の実行ファイル作成用プログラム122は、1つのソースファイルから、画像処理装置1におけるプラットフォーム上で実行可能な実行ファイル(ターゲット用実行ファイル1243)とPC2におけるプラットフォーム上で実行可能な実行ファイル(開発環境用実行ファイル1244)を作成することができる。なお、ターゲット用実行ファイル1243の作成には、ターゲット用プロジェクトフォルダ1243に記憶されたプロジェクトが利用され、また、開発環境用実行ファイル1244が作成には、開発環境用プロジェクトフォルダ1243に記憶されたプロジェクトが利用される。
Due to the platform difference between the
また、本明細書では、「開発環境用」とはPC2に対応していることを意味し、「ターゲット用」とは画像処理装置1に対応していることを意味する。つまり、ターゲット用実行ファイル1243は、上記したように画像処理装置1で実行される実行ファイルであることを意味し、本発明における「実行プログラム」を構成する。また、開発環境用実行ファイル1244は、上記したようにPC2で実行される実行ファイルであることを意味し、本発明における「動作確認プログラム」を構成する。
Further, in this specification, “for development environment” means that it corresponds to the
コアライブラリ123には、ターゲット用実行ファイル1243が実行される際に必要とされるdll(Dynamic Link Library)ファイルを含むターゲット用ライブラリ123Aと、開発環境用実行ファイル1244が実行される際に必要とされるdllファイルを含む開発環境用ライブラリ123Bとが含まれる。
The
次に、PC2で、画像処理装置1で実行されるプログラムを開発するための処理の内容
について、当該処理のフローチャートである図5を参照して説明する。
Next, the contents of processing for developing a program executed by the image processing apparatus 1 on the
図5を参照して、まずステップS10では、PC2に対して、実行ファイル作成用プログラム122、コアライブラリ123などのインストールが行なわれ、ステップS20へ処理が進められる。
Referring to FIG. 5, first, in step S10, an executable
ステップS20では、CPU21は、操作I/F25を介して入力される情報等に基づいて、ソースファイルを作成して、ステップS30へ処理を進める。
In step S20, the
ステップS30では、CPU21は、ステップS20で作成または後述するステップS70で修正されたソースファイルをビルドして、実行ファイルを作成して、ステップS40へ処理を進める。なお、ステップS30では、図4を参照して説明したように、1つ(1種類の意味であって、第1処理用ソースファイル1240A、第2処理用ソースファイル1240B、第3処理用ソースファイル1240C、…等のように複数の実行モジュールそれぞれに対応する複数のソースファイルが、まとめられて1つのアプリケーションの実行ファイルに対応するものとされたものを意図する)から、画像処理装置1で実行可能なターゲット用実行ファイル1243と、PC2で実行可能な開発環境用実行ファイル1244を作成する。
In step S30, the
ステップS40では、CPU21は、デバッグのために、ステップS30でのビルドにより作成された実行ファイルを実行する。なお、ステップS40では、CPU21は、作成されたターゲット用実行ファイル領域1243と開発環境用実行ファイル1244との中から、PC2で実行可能な開発環境用実行ファイル1244を選択して実行する。ここで、実行ファイルの選択は、当該ファイルのファイル名が指定されることによって行なわれる。つまり、実行ファイル作成用プログラム122は、ターゲット用実行ファイル領域1243と開発環境用実行ファイル1244とを、それぞれ、CPU21によって識別されることが可能なファイル名で作成する。そして、実行ファイル作成用プログラム122(のデバッグ用プログラム)は、デバッグの際に、開発環境用実行ファイル1244を選択して実行するように構成されている。
In step S40, the
ステップS50では、CPU21は、ステップS40における実行ファイルの実行において不具合が発生したか否かを判断する。なお、CPU21は、不具合が発生したか否かを、デバッグ用プログラムが実行されることによって実現される機能によって判断してもよいし、操作I/F25を介してユーザから入力される情報に基づいて判断してもよい。
In step S50, the
なお、デバッグ用プログラムは、ハードディスク22にインストールされており、たとえば、上記したように実行ファイル作成用プログラム122の中に含まれている。本実施の形態では、(ターゲット用実行ファイル領域1243と同じソースファイルから作成された)開発環境用実行ファイル1244のデバッグが汎用コンピュータによって構成可能なPC2上で実現することができる。そして、デバッグ処理の際には、プログラムの実行を特定の位置で中断する「ブレークポイント」機能や、一段階ずつ動作を確認しながら実行する「ステップ実行」機能、実行中のメモリやレジスタ、変数などの状態を見る「トレース」機能などの一般的にデバッグの際に活用される機能の活用が可能となる。
Note that the debugging program is installed in the
CPU21は、ステップS50において不具合が発生したと判断するとステップS60へ処理を進め、発生していないと判断すると、ステップS80へ処理を進める。
If the
ステップS60では、CPU21は、デバッグログを出力して、ステップS70へ処理を進める。なお、ここでの出力は、たとえば当該デバッグログがグラフィックコントローラ24を介してビデオモニタに表示されることにより実現される。
In step S60, the
ステップS70では、CPU21は、操作I/F25を介してユーザから入力される情報に基づいてソースファイルを修正して、ステップS30へ処理を戻す。
In step S70, the
つまり、本実施の形態では、ステップS70でソースファイルが修正された後、当該修正後のソースファイルに基づいて、再度ターゲット用実行ファイル1243と開発環境用実行ファイル1244とが作成される。
That is, in this embodiment, after the source file is corrected in step S70, the target execution file 1243 and the development
また、本実施の形態におけるデバッグ処理(ステップS40)において、CPU21は、擬似的に画像処理装置1のRAM13のメモリ容量に基づいたメインメモリの容量管理を行なう。このようなメモリ容量管理について、図6を参照して詳細に説明する。
Further, in the debugging process (step S40) in the present embodiment, the
図6(A)は、PC2のRAM23と画像処理装置1のRAM13のメモリ容量の違いを模式的に示す図である。この図では、画像処理装置1のRAM13のメモリ容量がC1で表わされており、PC2のRAM23のメモリ容量が、C1よりも大きいC2で表わされている。そして、CPU21は、ステップS40で実行されるデバッグ処理において、C2の容量を有するRAM23に対して、RAM13の容量であるC1を上限とするようなメモリの容量管理を行なう。
FIG. 6A is a diagram schematically showing a difference in memory capacity between the
図6(B)は、CPU21がメモリ管理用に用いるテーブルを概念的に示す図である。デバッグ処理におけるメモリ容量管理に基づくと、CPU21は、図6(B)に示すテーブルに、RAM23の使用量を逐次的に記録する。具体的には、開発環境用実行ファイル124が実行されている期間中、どのような処理によって(処理名101)、RAM23のどのアドレスから(使用アドレス103)、どれだけの容量(使用量102)が使用されているかを、図6(B)に示されたようなテーブルに記録していく。なお、当該テーブルに記憶された情報に対応するメモリ領域が開放された場合には、CPU21は当該テーブルから対応する情報を削除する。これにより、図6(B)に示されたようなテーブルが参照されることにより、RAM23においてどの領域が使用されまたどれだけの容量が使用されているかが逐次的に把握される。
FIG. 6B is a diagram conceptually showing a table used by the
そして、CPU21は、デバッグ処理の期間中は、使用量102の合計が、RAM23の容量C2ではなく、RAM13の容量C1を超えた場合に、不具合が発生したとして、ステップS50でエラーメッセージの表示等を行なう。
Then, during the debugging process, the
図5に戻って、ステップS80では、CPU21は、インストール用のファイルを選択して、ステップS90へ処理を進める。ここで、インストールとは、ステップS20で作成し、ステップS70で修正したプログラムのインストールであり、インストール用のファイルとは、画像処理装置1にインストールためのファイルである。具体的には、インストール用ファイルとは、ターゲット用実行ファイル1243とターゲット用ライブラリ123Aを含む。
Returning to FIG. 5, in step S80, the
ステップS90では、CPU21は、ステップS80で選択したファイルを画像処理装置1へインストールして、処理を終了する。
In step S90, the
以上説明した本実施の形態では、CPU21は、実行ファイル作成用プログラム122を実行することにより、1つのソースファイル(ソースファイル1240)から、PC2で実行可能な開発環境用実行ファイル1244と画像処理装置1で実行可能なターゲット用実行ファイル1243とを作成することができる。そして、CPU21は、これらの2つの実行ファイルの中から、開発環境用実行ファイル1244を選択して、デバッグ処理の対象とする。
In the present embodiment described above, the
このようなデバッグ処理により、PC2では、ソースファイルに修正を施すことができる。そして、CPU21は、ソースファイルに修正がなされると、ステップS30において、ターゲット用実行ファイル1243と開発環境用実行ファイル1244とを改めて作成する。このとき、それまでハードディスク22に記憶されていたターゲット用実行ファイル1243と開発環境用実行ファイル1244は、改めて作成されたものによって上書きされることが好ましい。
By such debugging processing, the
このように、PC2において、ステップS30におけるビルド処理が実行されるたびにターゲット用実行ファイル1243と開発環境用実行ファイル1244の双方が作成されることにより、ハードディスク22に記憶されるターゲット用実行ファイル1243と開発環境用実行ファイル1244とを、常に同じソースファイル1240に対応したものとすることができる。
As described above, the target execution file 1243 stored in the
なお、本実施の形態のPC2では、デバッグ処理において利用されるのはターゲット用実行ファイル1243ではなく、開発環境用実行ファイル1244である。ターゲット用実行ファイル1243は、最終的に修正されたソースファイルが完成した後、画像処理装置1にインストールされる段階で初めて必要とされるものである。したがって、ターゲット用実行ファイル1243は、ステップS50において不具合の発生がなくなったと判断された後で、初めて作成されてもよい。
In the
また、本実施の形態において、ステップS80におけるインストール用のファイルの選択は、たとえばターゲット用実行ファイル1243のファイル名が指定されることによって実現される。 In the present embodiment, the selection of the installation file in step S80 is realized by designating the file name of the target execution file 1243, for example.
本実施の形態の開発支援システムにおいて開発されるプログラムの開発ターゲットである画像処理装置1は、図3を参照して説明したように、カメラなどの種々の外部の装置に接続される。このことから、開発されるプログラムには、当該カメラから入力される画像に対する画像処理など、図2を参照して説明したPC2(プログラムを開発する装置である、開発支援装置)には接続されていない機器または装置とのデータの送受信に関する処理が含まれる場合がある。 As described with reference to FIG. 3, the image processing apparatus 1 that is a development target of a program developed in the development support system of the present embodiment is connected to various external devices such as a camera. For this reason, the program to be developed is connected to the PC 2 (development support device, which is a device for developing a program) described with reference to FIG. 2, such as image processing for an image input from the camera. In some cases, processing related to transmission / reception of data to / from a device or apparatus that does not exist is included.
本実施の形態では、ソースファイルのビルドが実行される際に、当該送受信に関する処理についてはターゲット用実行ファイル1243と開発環境用実行ファイル1244とで内容が異なるように実行ファイルの作成が行なわれることが好ましい。
In the present embodiment, when the build of the source file is executed, the execution file is created so that the processing related to transmission / reception differs between the target execution file 1243 and the development
たとえば、ターゲット用実行ファイル1243に、画像処理装置1から当該画像処理装置1に接続されているタイミングセンサへのデータの出力(送信)を行なう処理が含まれている場合について、開発環境用実行ファイル1244が、当該処理に対応する処理をどのように変更されて作成されるかについて、図7を参照して説明する。 For example, when the target execution file 1243 includes processing for outputting (transmitting) data from the image processing apparatus 1 to the timing sensor connected to the image processing apparatus 1, the development environment execution file How 1244 is created by changing the process corresponding to the process will be described with reference to FIG.
図7(A)は、ターゲット用実行ファイル1243に含まれる、上記したようなデータ出力に対応した部分の処理(以下、便宜上「第N処理」と呼ぶ)のフローチャートであり、図7(B)は、開発環境用実行ファイル1244に含まれる上記第N処理のフローチャートである。
FIG. 7A is a flowchart of the processing of the part corresponding to the data output as described above (hereinafter referred to as “Nth processing” for convenience) included in the target execution file 1243. FIG. These are flowcharts of the Nth process included in the development
まず、図7(A)を参照して、ターゲット用実行ファイル1243の第N処理が開始されると、画像処理装置1では、当該処理に含まれる命令が順に実行され(ステップNX10)、ステップNX20で、第N処理が終了する条件が成立したか否かが判断される。終了する条件の成立とは、たとえば、直前で実行した命令に第N処理を終了させて他の処理
に移行する旨の記述がなされている場合が挙げられる。そして、そのような条件が成立したと判断されると、第N処理は終了され、終了していないと判断されると、ステップNX30へ処理が進められる。
First, referring to FIG. 7A, when the N-th process of the target execution file 1243 is started, the image processing apparatus 1 sequentially executes instructions included in the process (step NX10), and step NX20. Thus, it is determined whether or not a condition for ending the Nth process is satisfied. Satisfaction of the condition to end includes, for example, a case in which the instruction executed immediately before is written to end the Nth process and shift to another process. If it is determined that such a condition is satisfied, the Nth process is terminated. If it is determined that the condition is not terminated, the process proceeds to step NX30.
ステップNX30では、次に実行される命令がタイミングセンサ等の外部機器に対するデータの出力を行なうものであるか否かが判断され、そうではないと判断されるとステップNX10へ処理が戻され、そうであると判断されるとステップNX40へ処理が進められる。 In step NX30, it is determined whether or not the next command to be executed is to output data to an external device such as a timing sensor. If not, the process returns to step NX10, and so on. If it is determined, the process proceeds to Step NX40.
ステップNX40では、データ出力に対応する関数がターゲット用ライブラリ(ターゲット用ライブラリ123Aが画像処理装置1にインストールされたもの)から呼出され、ステップNX50へ処理が進められる。 In step NX40, a function corresponding to the data output is called from the target library (the target library 123A installed in the image processing apparatus 1), and the process proceeds to step NX50.
ステップNX50では、ステップNX40で呼出された関数(dllファイル)の記述に従ってデータが出力され、ステップNX60へ処理が進められる。 In step NX50, data is output according to the description of the function (dll file) called in step NX40, and the process proceeds to step NX60.
ステップNX60では、CPU11が実行する動作の状態を格納するレジスタに「データ出力」が完了した旨の情報が設定されて、ステップNX10へ処理が戻される。
In step NX60, information indicating that “data output” has been completed is set in a register for storing the state of the operation executed by the
なお、図7(A)では、データ出力に対応する関数に基づいて実行される部分が、破線の矩形に囲まれて示されている。 In FIG. 7A, a portion executed based on a function corresponding to data output is shown surrounded by a broken-line rectangle.
次に、図7(B)を参照して、PC2で開発環境用実行ファイル1244の第N処理が開始されると、PC2では、当該処理に含まれる命令が順に実行され(ステップNY10)、ステップNY20において、第N処理が終了する条件が成立したか否かが判断される。そして、そのような条件が成立したと判断されると、第N処理は終了され、終了していないと判断されると、ステップNY30へ処理が進められる。
Next, referring to FIG. 7B, when the N-th process of the development
ステップNY30では、次に実行される処理がデータ出力の処理であるか否かが判断され、そうであると判断されるとステップNY40へ処理が進められる。 In step NY30, it is determined whether or not the next process to be executed is a data output process. If it is determined that this is the case, the process proceeds to step NY40.
ステップNY40では、開発環境用ライブラリ123Bから、データ出力に対応した関数が呼出されて、ステップNY50へ処理が進められる。 In step NY40, a function corresponding to the data output is called from the development environment library 123B, and the process proceeds to step NY50.
ステップNY50では、ステップNY40で呼出された関数が実行されることにより、CPU21の動作の状態が格納されるレジスタに、「データ出力」が完了した旨の情報が設定されて、ステップNY10へ処理が戻される。
In step NY50, by executing the function called in step NY40, information indicating that “data output” is completed is set in a register storing the operation state of the
図7(B)では、ステップNY40で呼出された関数に基づいて実行される部分が、破線の矩形に囲まれて示されている。 In FIG. 7B, the portion executed based on the function called at step NY40 is shown surrounded by a dashed rectangle.
以上、図7(A)および図7(B)を参照して説明したように、PC2では、同じソースファイルから、PC2で実行されるための実行ファイルと画像処理装置1で実行されるための実行ファイルが作成されるが、それらのファイル(プログラム)が実行されることによって実現される処理の内容を一部異ならせることができる。具体的には、データ出力に関する処理について、ターゲット用実行ファイルが実行されることによって実現される処理では、外部の機器へのデータ出力と当該データ出力が完了した旨の情報のレジスタへの格納がなされるのに対し、開発環境用実行ファイルが実行されることにより実現される処理としては、データ出力が完了した情報のレジスタへの格納のみとすることができる。
As described above with reference to FIGS. 7A and 7B, the
なお、以上説明した例では、ターゲット用ライブラリ123Aから呼出される関数の内容と開発環境用ライブラリ123Bから呼出される関数の内容が異なることにより、結果として実行される処理が異なるようになるが、このような実行される処理の差異は、ターゲット用実行ファイル1243と開発環境用実行ファイル1244の記述自体の内容の差異によって実現されても良い。
In the example described above, the content of the function called from the target library 123A is different from the content of the function called from the development environment library 123B. Such a difference in processing to be executed may be realized by a difference in contents of descriptions of the target execution file 1243 and the development
開発環境用実行ファイルによって実現される処理が、ターゲット用実行ファイルによって実現される処理に対して変更される他の例としては、ターゲット用実行ファイルに含まれる外部の機器からのデータの受信(取得)に関する処理が挙げられる。ここで、データの受信の処理の具体例として、画像処理装置1において実行されるカメラから画像データを取得する処理(以下、便宜上「第M処理」と呼ぶ)を挙げて、図8を参照しつつ説明する。図8(A)は、ターゲット用実行ファイル1243の中の第M処理のフローチャートであり、図8(B)には、開発環境用実行ファイル1244の中の第M処理のフローチャートである。
Another example in which the process realized by the development environment executable file is changed to the process realized by the target executable file is the reception (acquisition of data from an external device included in the target executable file) ). Here, as a specific example of the data reception process, a process of acquiring image data from the camera (hereinafter, referred to as “Mth process” for convenience) executed in the image processing apparatus 1 will be described with reference to FIG. I will explain. FIG. 8A is a flowchart of the Mth process in the target execution file 1243, and FIG. 8B is a flowchart of the Mth process in the development
まず図8(A)を参照して、画像処理装置1において第M処理が開始されることにより、当該処理を構成する命令が順に実行され(ステップMX10)、ステップMX20で、第M処理が終了する条件が成立したか否かが判断される。終了する条件の成立とは、たとえば、直前で実行した命令に第M処理を終了させて他の処理に移行する旨の記述がなされている場合が挙げられる。そして、そのような条件が成立したと判断されると、第M処理は終了され、終了していないと判断されると、ステップMX30へ処理が進められる。 First, referring to FIG. 8A, when the M-th process is started in the image processing apparatus 1, instructions constituting the process are sequentially executed (step MX10), and the M-th process ends in step MX20. It is determined whether or not a condition to perform is satisfied. Satisfaction of the condition to end includes, for example, a case where the instruction executed immediately before is executed to end the Mth process and shift to another process. When it is determined that such a condition is satisfied, the Mth process is terminated. When it is determined that the condition is not terminated, the process proceeds to step MX30.
ステップMX30では、次に実行される命令が、カメラからの画像データの入力を要求する処理であるか否かが判断され、そうではないと判断されるとステップMX10へ処理が戻され、そうであると判断されると、ステップMX40へ処理が進められる。 In step MX30, it is determined whether or not the next command to be executed is a process for requesting input of image data from the camera. If it is not, the process returns to step MX10. If it is determined that there is, the process proceeds to step MX40.
ステップMX40では、カメラに対して画像データの入力を要求するための処理の関数がターゲット用ライブラリ(ターゲット用ライブラリ123Aが画像処理装置1にインストールされたもの)から呼出され、ステップMX50へ処理が進められる。 In step MX40, a processing function for requesting the camera to input image data is called from the target library (the target library 123A installed in the image processing apparatus 1), and the process proceeds to step MX50. It is done.
ステップMX50では、ステップMX40で呼出された関数が実行されることにより、カメラに対して画像データを要求する情報が送信され、ステップMX10へ処理が進められる。 In step MX50, the function called in step MX40 is executed, so that information requesting image data is transmitted to the camera, and the process proceeds to step MX10.
ステップMX60では、カメラからの画像データの取得が成功したか否かが判断され、成功したと判断されるとステップMX70へ処理が進められ、成功していない(正常に受信できなかった)と判断されるとステップMX80へ処理が進められる。 In step MX60, it is determined whether or not the acquisition of image data from the camera is successful. If it is determined that the process is successful, the process proceeds to step MX70, where it is determined that the acquisition is not successful (cannot be received normally). Then, the process proceeds to step MX80.
ステップMX70では、画像データの取得が完了した旨の情報が、CPU11の動作の状態を格納するレジスタに設定されて、ステップMX10へ処理が戻される。
In step MX70, information indicating that the acquisition of image data has been completed is set in a register that stores the operation state of the
ステップMX80では、カメラからの画像データの取得が失敗した旨の情報(カメラからの画像データを正常に受信できなかった旨の情報)が上記レジスタに設定されて、ステップMX10へ処理が戻される。 In step MX80, information indicating that acquisition of image data from the camera has failed (information indicating that image data from the camera could not be received normally) is set in the register, and the process returns to step MX10.
次に、図8(B)を参照して、PC2で開発環境用実行ファイル1244の第M処理が開始されると、PC2では、当該処理に含まれる命令が順に実行され(ステップMY10)、ステップMY20において、第M処理が終了する条件が成立したか否かが判断される。そして、そのような条件が成立したと判断されると、第M理は終了され、終了していないと判断されると、ステップMY30へ処理が進められる。
Next, referring to FIG. 8B, when the M-th process of the development
ステップMY30では、次に実行される命令が、カメラからの画像データの入力を要求する処理であるか否かが判断され、そうではないと判断されるとステップMY10へ処理が戻され、そうであると判断されると、ステップMY40へ処理が進められる。 In step MY30, it is determined whether or not the next command to be executed is a process for requesting input of image data from the camera. If it is not, the process returns to step MY10. If it is determined that there is, the process proceeds to step MY40.
ステップMY40では、開発環境用ライブラリ123Bから、カメラからの画像データの入力の要求に対応した関数が呼出されて、ステップMY50へ処理が進められる。 In step MY40, a function corresponding to a request for inputting image data from the camera is called from the development environment library 123B, and the process proceeds to step MY50.
ステップMY50では、ステップMY40で呼出された関数が実行されることにより、カメラからの画像データの取得が失敗した旨の情報(カメラからの画像データを正常に受信できなかった旨の情報)がCPU21の動作の状態を格納するレジスタに設定されて、上記レジスタに設定されて、ステップMY10へ処理が戻される。
In step MY50, information indicating that acquisition of image data from the camera has failed (information indicating that image data from the camera could not be normally received) is executed by the
以上、図8(A)および図8(B)を参照して説明したように、PC2では、同じソースファイルから、PC2で実行されるための実行ファイルと画像処理装置1で実行されるための実行ファイルが作成されるが、それらのファイル(プログラム)が実行されることによって実現される処理の内容を一部異ならせることができる。具体的には、データ出力に関する処理について、ターゲット用実行ファイルが実行されることによって実現される処理では、外部の機器からのデータ受信と当該データ受信が成功した旨または失敗した旨の情報のレジスタへの格納がなされるのに対し、開発環境用実行ファイルが実行されることにより実現される処理としては、データ受信が失敗した旨の情報のレジスタへの格納のみとすることができる。
As described above with reference to FIGS. 8A and 8B, the
なお、以上説明した例では、ターゲット用ライブラリ123Aから呼出される関数の内容と開発環境用ライブラリ123Bから呼出される関数の内容が異なることにより、結果として実行される処理が異なるようになるが、このような実行される処理の差異は、ターゲット用実行ファイル1243と開発環境用実行ファイル1244の記述自体の内容の差異によって実現されても良い。
In the example described above, the content of the function called from the target library 123A is different from the content of the function called from the development environment library 123B. Such a difference in processing to be executed may be realized by a difference in contents of descriptions of the target execution file 1243 and the development
以上説明した本実施の形態では、ソースファイルがビルドされることにより、実行ファイル(ターゲット用実行ファイルおよび開発環境用実行ファイル)が作成される。ここで、ビルド処理には、コンパイルとリンクの処理が含まれる。具体的には、ソースファイルがコンパイルされることにより、オブジェクトファイルが生成される。本実施の形態では、ソースファイル1240には複数のソースファイル(第1処理用ソースファイル1240A、第2処理用ソースファイル1240B、第3処理用ソースファイル1240C、…)が含まれるため、ソースファイルがコンパイルされることにより複数のオブジェクトファイルが生成される。そして、これらの複数のオブジェクトファイルがリンク処理によって結合されることにより、1つの実行ファイル(ターゲット用実行ファイルまたは開発環境用実行ファイル)が作成される。なお、コンパイル処理に利用されるコンパイラに対応するプログラムおよびリンク処理に利用されるプログラム(リンカー)は、いずれも、たとえば実行ファイル作成用プログラム122に含まれているものとすることができる。
In the present embodiment described above, an execution file (target execution file and development environment execution file) is created by building the source file. Here, the build process includes compiling and linking processes. Specifically, the object file is generated by compiling the source file. In the present embodiment, the
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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.
1 画像処理装置、2 PC、11,21 CPU、12 フラッシュメモリ、13,23 RAM、14,24 グラフィックコントローラ、15,25 操作I/F、16,26 外部I/F、17 カメラI/F、22 ハードディスク、121 基本処理プログラム、122 実行ファイル作成用プログラム、123 コアライブラリ、124 アプリケーションファイル、1240 ソースファイル、1241 ターゲット用プロジェクトフォルダ、1242 開発環境用プロジェクトフォルダ、1243 ターゲット用実行ファイル、1244 開発環境用実行ファイル。 DESCRIPTION OF SYMBOLS 1 Image processing apparatus, 2 PC, 11 and 21 CPU, 12 Flash memory, 13, 23 RAM, 14, 24 Graphic controller, 15, 25 Operation I / F, 16, 26 External I / F, 17 Camera I / F, 22 hard disk, 121 basic processing program, 122 execution file creation program, 123 core library, 124 application file, 1240 source file, 1241 target project folder, 1242 development environment project folder, 1243 target execution file, 1244 development environment Executable file.
Claims (12)
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
前記開発支援装置は、
ソースコードを入力するためのインターフェース手段と、
前記インターフェース手段からの入力を受けて、ソースコードの追加または削除を行なう編集手段と、
前記インターフェース手段から入力され前記編集手段で追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするコンパイル手段と、
前記動作確認プログラムを実行する実行手段と、
前記実行プログラムを前記画像処理装置へ転送する転送手段とを含み、
前記画像処理装置は、前記実行プログラムを転送されて当該実行プログラムを実行し、
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記開発支援装置は、前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段をさらに含み、
前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理の実行の命令を含み、
前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理とは内容が異なる処理の実行の命令を含む、開発支援システム。 An image processing apparatus that accepts input of an image and executes a program related to image processing on the input image, and development that can create a program executed by the image processing apparatus and transfer the program to the image processing apparatus A development support system comprising a support device,
The development support apparatus and the image processing apparatus execute programs in different environments,
The development support apparatus includes:
Interface means for inputting source code;
Editing means for adding or deleting source code in response to input from the interface means;
The source code input from the interface unit and added or deleted by the editing unit is compiled into an execution program corresponding to the operating environment of the image processing apparatus and an operation checking program corresponding to the operating environment of the development support apparatus Compiling means to
Execution means for executing the operation check program;
Transfer means for transferring the execution program to the image processing apparatus,
The image processing apparatus is transferred with the execution program and executes the execution program ,
The execution program and the operation check program can include instructions for executing a library process for executing processes corresponding to each other in each operation environment,
The development support apparatus includes a first storage unit that stores an execution program library that executes a process corresponding to an operating environment of the image processing apparatus, and an operation check that executes a process corresponding to the operating environment of the development support apparatus. A second storage means for storing a program library;
The execution program library includes instructions for executing processes including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus,
The operation check program library includes an instruction to execute a process different in content from the process of performing transmission or reception as a process corresponding to the process of transmitting or receiving data to or from the external device . Development support system.
前記開発支援装置は、プログラムの実行に利用される前記第1の容量よりも多い第2の容量のメインメモリをさらに含み、
前記実行手段は、前記動作確認プログラム実行中に利用される前記第2の容量のメインメモリの中の容量が前記第1の容量を越えた場合に報知動作を実行する、請求項1に記載の開発支援システム。 The image processing apparatus includes a main memory having a first capacity used for execution of a program,
The development support apparatus further includes a main memory having a second capacity larger than the first capacity used for executing the program,
The said execution means performs alerting | reporting operation | movement, when the capacity | capacitance in the main memory of the said 2nd capacity | capacitance utilized during the said operation check program execution exceeds the said 1st capacity | capacitance. Development support system.
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
ソースコードを入力するためのインターフェース手段と、
前記インターフェース手段からの入力を受けて、ソースコードの追加または削除を行なう編集手段と、
前記インターフェース手段から入力され前記編集手段で追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするコンパイル手段と、
前記動作確認プログラムを実行する実行手段と、
前記実行プログラムを前記画像処理装置へ転送する転送手段とを備え、
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第1の記憶手段と、
前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶する第2の記憶手段とをさらに備え、
前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理の実行の命令を含み、
前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理とは内容が異なる処理の実行の命令を含む、開発支援装置。 A development support apparatus capable of accepting input of an image and creating a program executed by an image processing apparatus that executes a program related to image processing on the input image and transferring the program to the image processing apparatus,
The development support apparatus and the image processing apparatus execute programs in different environments,
Interface means for inputting source code;
Editing means for adding or deleting source code in response to input from the interface means;
The source code input from the interface unit and added or deleted by the editing unit is compiled into an execution program corresponding to the operating environment of the image processing apparatus and an operation checking program corresponding to the operating environment of the development support apparatus Compiling means to
Execution means for executing the operation check program;
Transfer means for transferring the execution program to the image processing apparatus ,
The execution program and the operation check program can include instructions for executing a library process for executing processes corresponding to each other in each operation environment,
First storage means for storing an execution program library for executing processing corresponding to the operating environment of the image processing apparatus;
Second storage means for storing an operation check program library for executing processing corresponding to the operating environment of the development support apparatus;
The execution program library includes instructions for executing processes including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus,
The operation check program library includes an instruction to execute a process different in content from the process of performing transmission or reception as a process corresponding to the process of transmitting or receiving data to or from the external device . Development support equipment.
前記実行手段は、前記動作確認プログラム実行中に利用される前記第2の容量のメインメモリの中の容量が前記第1の容量を越えた場合に報知動作を実行する、請求項6に記載の開発支援装置。 A main memory having a second capacity larger than the first capacity, which is a capacity of the main memory used for executing the program and used for executing the program in the image processing apparatus;
The said execution means performs alerting | reporting operation | movement, when the capacity | capacitance in the main memory of the said 2nd capacity | capacitance utilized during the said operation confirmation program execution exceeds the said 1st capacity | capacitance. Development support equipment.
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
ソースコードを入力するためのステップと、
前記入力を受けて、ソースコードの追加または削除を行なうステップと、
前記入力されかつ前記追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするステップと、
前記動作確認プログラムを実行するステップと、
前記実行プログラムを前記画像処理装置へ転送するステップとを備え、
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリ、および、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶するステップをさらに備え、
前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理の実行の命令を含み、
前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理とは内容が異なる処理の実行の命令を含む、開発支援方法。 Development of a program in a development support apparatus capable of generating a program executed by an image processing apparatus that receives an input of an image and executing a program related to image processing on the input image and transferring the program to the image processing apparatus A support method,
The development support apparatus and the image processing apparatus execute programs in different environments,
Steps to enter the source code,
Receiving the input and adding or deleting source code; and
Compiling the input and the added or deleted source code into an execution program corresponding to the operating environment of the image processing apparatus and an operation checking program corresponding to the operating environment of the development support apparatus;
Executing the operation check program;
Transferring the execution program to the image processing apparatus ,
The execution program and the operation check program can include instructions for executing a library process for executing processes corresponding to each other in each operation environment,
A step of storing an execution program library for executing processing corresponding to the operating environment of the image processing apparatus, and an operation checking program library for executing processing corresponding to the operating environment of the development support apparatus;
The execution program library includes instructions for executing processes including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus,
The operation check program library includes an instruction to execute a process different in content from the process of performing transmission or reception as a process corresponding to the process of transmitting or receiving data to or from the external device . Development support method.
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
ソースコードを入力するためのステップと、
前記入力を受けて、ソースコードの追加または削除を行なうステップと、
前記入力されかつ前記追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするステップと、
前記動作確認プログラムを実行するステップと、
前記実行プログラムを前記画像処理装置へ転送するステップとを前記開発支援装置に実行させ、
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリ、および、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶するステップを前記開発支援装置にさらに実行させ、
前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理の実行の命令を含み、
前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理とは内容が異なる処理の実行の命令を含む、開発支援プログラム。 Executed in a development support apparatus capable of accepting input of an image, creating a program to be executed by an image processing apparatus that executes a program related to image processing on the input image, and transferring the program to the image processing apparatus A program development support program,
The development support apparatus and the image processing apparatus execute programs in different environments,
Steps to enter the source code,
Receiving the input and adding or deleting source code; and
Compiling the input and the added or deleted source code into an execution program corresponding to the operating environment of the image processing apparatus and an operation checking program corresponding to the operating environment of the development support apparatus;
Executing the operation check program;
Causing the development support apparatus to execute the step of transferring the execution program to the image processing apparatus ,
The execution program and the operation check program can include instructions for executing a library process for executing processes corresponding to each other in each operation environment,
A step of storing an execution program library for executing processing corresponding to the operating environment of the image processing apparatus and an operation checking program library for executing processing corresponding to the operating environment of the development supporting apparatus in the development supporting apparatus. Let it run further,
The execution program library includes instructions for executing processes including a process of transmitting or receiving data to or from an external device connected only to the image processing apparatus,
The operation check program library includes an instruction to execute a process different in content from the process of performing transmission or reception as a process corresponding to the process of transmitting or receiving data to or from the external device . Development support program.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007225914A JP4962226B2 (en) | 2007-08-31 | 2007-08-31 | Development support system, development support device, development support method, and development support program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007225914A JP4962226B2 (en) | 2007-08-31 | 2007-08-31 | Development support system, development support device, development support method, and development support program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009059171A JP2009059171A (en) | 2009-03-19 |
| JP4962226B2 true JP4962226B2 (en) | 2012-06-27 |
Family
ID=40554845
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007225914A Active JP4962226B2 (en) | 2007-08-31 | 2007-08-31 | Development support system, development support device, development support method, and development support program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4962226B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011096050A (en) * | 2009-10-30 | 2011-05-12 | Kyocera Mita Corp | Method, program and apparatus for preparing installer, and installer system |
| JP6879743B2 (en) * | 2017-01-06 | 2021-06-02 | リコーエレメックス株式会社 | Image inspection equipment and image inspection method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06149547A (en) * | 1992-11-16 | 1994-05-27 | Hitachi Ltd | Coupling system for program library |
| JPH10228371A (en) * | 1997-02-14 | 1998-08-25 | Matsushita Electric Works Ltd | Program development system for picture processing inspection device |
| JP2004185595A (en) * | 2002-07-26 | 2004-07-02 | Ricoh Co Ltd | Information processing apparatus and program thereof |
| JP2006293980A (en) * | 2005-03-14 | 2006-10-26 | Seiko Epson Corp | Software authentication system, software authentication program, and software authentication method |
-
2007
- 2007-08-31 JP JP2007225914A patent/JP4962226B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009059171A (en) | 2009-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10841185B2 (en) | Platform-integrated IDE | |
| CN104756086B (en) | System and method for debugging the language depending on field | |
| CN112783761B (en) | A method, device and system for testing cold start duration of an application program | |
| US20120154433A1 (en) | Platform agnostic screen capture tool | |
| US11042466B2 (en) | Exception prediction before an actual exception during debugging | |
| WO2011083459A1 (en) | Utilizing temporal assertions in a debugger | |
| CN112765018A (en) | Instrument and meter debugging system and method | |
| CN105308578A (en) | Diagnostics of state transitions | |
| US20100312541A1 (en) | Program test device and program | |
| US9026997B2 (en) | Systems and methods for executing object-oriented programming code invoking pre-existing objects | |
| WO2014136228A1 (en) | Programmable controller, programmable controller system, and execute error information creation method | |
| JP4962226B2 (en) | Development support system, development support device, development support method, and development support program | |
| CN113918427B (en) | Data change response method and device | |
| US8745587B2 (en) | System and method for testing computer programs | |
| JP5136567B2 (en) | Program inspection support system, program inspection support method, and program inspection support program | |
| JP5120103B2 (en) | Debugging method and debugging program | |
| JP2009169628A (en) | Construction device, construction method and program for monitoring control system | |
| JP4295912B2 (en) | Debug system | |
| CN114116468B (en) | Application testing method, device, electronic device and storage medium | |
| US20250123815A1 (en) | Method and system for visually inspecting computational geometry code | |
| JP3237554B2 (en) | Interactive debugging device | |
| US20130007528A1 (en) | Using reverse time for coverage analysis | |
| JP5893063B2 (en) | Device to be debugged, control method and control program | |
| JP2002366378A (en) | Program debugging device, debugging method, and storage medium | |
| JP5034292B2 (en) | Module installation program, module installation apparatus, and module installation method |
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: 20110930 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111111 |
|
| 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: 20120228 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120312 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4962226 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150406 Year of fee payment: 3 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |