Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4962226B2 - Development support system, development support device, development support method, and development support program - Google Patents
[go: Go Back, main page]

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 PDF

Info

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
Application number
JP2007225914A
Other languages
Japanese (ja)
Other versions
JP2009059171A (en
Inventor
豪 吉浦
隆史 井尻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2007225914A priority Critical patent/JP4962226B2/en
Publication of JP2009059171A publication Critical patent/JP2009059171A/en
Application granted granted Critical
Publication of JP4962226B2 publication Critical patent/JP4962226B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a development support system to develop a program to be executed by an image processing device inexpensively without requiring complicated work. <P>SOLUTION: In the development support system, the program to be executed by an image processing device 1 is developed by using a personal computer (PC) 2, and then the developed program is installed into the image processing device 1 from the PC 2. The PC 2 creates a file executable in the PC 2 and a file executable in the image processing device 1. The former file is debugged on the PC 2. After the development is completed, the latter file is installed in the image processing device 1. <P>COPYRIGHT: (C)2009,JPO&amp;INPIT

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に開示されるように、物品の視覚的な検査に画像処理装置が用いられてきた。このような画像処理装置では、基準画像とカメラ等から入力された物品の画像とを所定のプログラムに従って処理することにより、当該物品の視覚的な検査が行なわれる。
特開2001−165863号公報 特開2007−128306号公報
Conventionally, as disclosed in Patent Document 1 and Patent Document 2, for example, an image processing apparatus has been used for visual inspection of articles. In such an image processing apparatus, a visual inspection of an article is performed by processing a reference image and an image of the article input from a camera or the like according to a predetermined program.
JP 2001-165863 A JP 2007-128306 A

近年の商品の多品種少量生産等により、画像処理装置のユーザは、多様な画像処理プログラムの開発を希望する状況が多く見られるようになっている。   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 PC 2.

図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 PC 2. The PC 2 includes a CPU (Central Processing Unit) 21, a hard disk 22, a RAM (Random Access Memory) 23, a graphic controller 24, and an operation I / F (interface) 25. The hard disk 22 stores various information including a program executed by the CPU 21. The RAM 23 is used as a main memory when the CPU 21 executes a program. The graphic controller 24 is an LCD (Liquid
An image is displayed on a video monitor such as a crystal display. The operation I / F 25 is connected to a keyboard and a mouse (pointing device) used by the user to input information from the outside. The external I / F 26 serves as an interface for connection with an external device such as the image processing apparatus 1.

図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 CPU 11, a flash memory 12, a RAM 13, a graphic controller 14, an operation I / F 15, an external I / F 16, and a camera I / F 17. The flash memory 12 stores various information such as a program executed by the CPU 11. The RAM 13 is used as a main memory when the CPU 11 executes a program.

画像処理装置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 / F 17. The CPU 11 displays an image and various information input from the camera on a video monitor constituted by an LCD or the like via the graphic controller 14.

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 CPU 11 processes the image input via the camera I / F 17 to instruct the timing sensor to input the image captured by the camera or from the line for the workpiece flowing through the line. A signal for instructing discharge or for controlling the flow of the line is transmitted.

画像処理装置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 / F 16, and an operation with respect to an external operation device (such as a pointing device or a keyboard) is performed via the operation I / F 15. Information based on is input.

図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 hard disk 22 of the PC 2.
Referring to FIG. 4, hard disk 22 stores a basic processing program (basic processing program) 121 such as an OS (Operating System), an execution file creation program 122, a core library 123, and an application file 124. Yes. In the PC 2, the programmed source file is compiled (processing included in a build described later) to create an execution file. The execution file creation program 122 is a program for executing a build including such compilation.

プログラミングされたソースファイルは、ソースファイル1240として示されるように、第1処理用ソースファイル1240A、第2処理用ソースファイル1240B、第3処理用ソースファイル1240C、…のように、処理ごとに記述されている。各処理のソースファイルは、たとえばC++言語などのプログラミング言語によって記述される。また、ここでいう各処理とは、たとえば、上記したカメラから入力された画像の中で、画像処理の対象とする領域の形状(たとえば、矩形、楕円、円形、等)を更新する処理(図形更新時処理)、上記したカメラから(画像処理装置2に)入力された画像に基づいて実行された計測結果をビデオモニタにどのように(たとえば画面のデザイン等)表示するかを決定する処理(計測結果表示処理)などが挙げられる。   As shown as a source file 1240, the programmed source file is described for each process such as a first processing source file 1240A, a second processing source file 1240B, a third processing source file 1240C,. ing. The source file for each process is described in a programming language such as C ++ language. In addition, each process referred to here is, for example, a process of updating the shape (for example, rectangle, ellipse, circle, etc.) of a region to be subjected to image processing in an image input from the above-described camera (figure) Update process), a process for determining how to display (for example, the design of the screen) the measurement result executed based on the image input from the camera (to the image processing apparatus 2) (for example, the design of the screen) ( Measurement result display processing).

本実施の形態の開発支援システムでは、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 PC 2 and the image processing apparatus 1. Specifically, the image processing apparatus 1 is often installed in the vicinity of the production line for industrial products and in the vicinity of the production line for inspection of workpiece quality and the like. Therefore, a so-called real-time OS is incorporated because the above-mentioned memory capacity and the stability of the system are emphasized. Further, since the PC 2 has no restriction on the image processing apparatus 1 described above, the capacity of the main memory (RAM 23) is larger than that of the main memory (RAM 13) of the image processing apparatus 1 compared to the image processing apparatus 1. In addition, a hard disk 22 is employed in place of the flash memory 12, which can obtain a large capacity although it has low stability against impact or the like.

上記したようなPC2と画像処理装置1との間のプラットフォームの差異から、PC2と画像処理装置1とでは、アプリケーションの実行ファイルの対応するコードが異なる。本実施の形態の実行ファイル作成用プログラム122は、1つのソースファイルから、画像処理装置1におけるプラットフォーム上で実行可能な実行ファイル(ターゲット用実行ファイル1243)とPC2におけるプラットフォーム上で実行可能な実行ファイル(開発環境用実行ファイル1244)を作成することができる。なお、ターゲット用実行ファイル1243の作成には、ターゲット用プロジェクトフォルダ1243に記憶されたプロジェクトが利用され、また、開発環境用実行ファイル1244が作成には、開発環境用プロジェクトフォルダ1243に記憶されたプロジェクトが利用される。   Due to the platform difference between the PC 2 and the image processing apparatus 1 as described above, the corresponding code of the application execution file differs between the PC 2 and the image processing apparatus 1. The executable file creation program 122 according to the present embodiment includes an executable file (target executable file 1243) executable on the platform in the image processing apparatus 1 and an executable file executable on the platform in the PC 2 from one source file. (Development environment execution file 1244) can be created. The project stored in the target project folder 1243 is used to create the target execution file 1243, and the project stored in the development environment project folder 1243 is used to create the development environment execution file 1244. Is used.

また、本明細書では、「開発環境用」とはPC2に対応していることを意味し、「ターゲット用」とは画像処理装置1に対応していることを意味する。つまり、ターゲット用実行ファイル1243は、上記したように画像処理装置1で実行される実行ファイルであることを意味し、本発明における「実行プログラム」を構成する。また、開発環境用実行ファイル1244は、上記したようにPC2で実行される実行ファイルであることを意味し、本発明における「動作確認プログラム」を構成する。   Further, in this specification, “for development environment” means that it corresponds to the PC 2, and “for target” means that it corresponds to the image processing apparatus 1. That is, the target execution file 1243 means an execution file executed by the image processing apparatus 1 as described above, and constitutes an “execution program” in the present invention. The development environment execution file 1244 means an execution file executed on the PC 2 as described above, and constitutes an “operation check program” in the present invention.

コアライブラリ123には、ターゲット用実行ファイル1243が実行される際に必要とされるdll(Dynamic Link Library)ファイルを含むターゲット用ライブラリ123Aと、開発環境用実行ファイル1244が実行される際に必要とされるdllファイルを含む開発環境用ライブラリ123Bとが含まれる。   The core library 123 requires a target library 123A including a dll (Dynamic Link Library) file required when the target execution file 1243 is executed, and a development environment execution file 1244. A development environment library 123B including the dll file to be executed.

次に、PC2で、画像処理装置1で実行されるプログラムを開発するための処理の内容
について、当該処理のフローチャートである図5を参照して説明する。
Next, the contents of processing for developing a program executed by the image processing apparatus 1 on the PC 2 will be described with reference to FIG. 5 which is a flowchart of the processing.

図5を参照して、まずステップS10では、PC2に対して、実行ファイル作成用プログラム122、コアライブラリ123などのインストールが行なわれ、ステップS20へ処理が進められる。   Referring to FIG. 5, first, in step S10, an executable file creation program 122, a core library 123, and the like are installed in PC 2, and the process proceeds to step S20.

ステップS20では、CPU21は、操作I/F25を介して入力される情報等に基づいて、ソースファイルを作成して、ステップS30へ処理を進める。   In step S20, the CPU 21 creates a source file based on information input via the operation I / F 25, and advances the process to step S30.

ステップS30では、CPU21は、ステップS20で作成または後述するステップS70で修正されたソースファイルをビルドして、実行ファイルを作成して、ステップS40へ処理を進める。なお、ステップS30では、図4を参照して説明したように、1つ(1種類の意味であって、第1処理用ソースファイル1240A、第2処理用ソースファイル1240B、第3処理用ソースファイル1240C、…等のように複数の実行モジュールそれぞれに対応する複数のソースファイルが、まとめられて1つのアプリケーションの実行ファイルに対応するものとされたものを意図する)から、画像処理装置1で実行可能なターゲット用実行ファイル1243と、PC2で実行可能な開発環境用実行ファイル1244を作成する。   In step S30, the CPU 21 builds the source file created in step S20 or modified in step S70 described later, creates an execution file, and advances the process to step S40. In step S30, as described with reference to FIG. 4, there is one (one kind of meaning, the first processing source file 1240A, the second processing source file 1240B, and the third processing source file. 1240C,..., Etc. are executed by the image processing apparatus 1 since a plurality of source files corresponding to each of a plurality of execution modules are collected and correspond to an execution file of one application) A target execution file 1243 and a development environment execution file 1244 executable by the PC 2 are created.

ステップS40では、CPU21は、デバッグのために、ステップS30でのビルドにより作成された実行ファイルを実行する。なお、ステップS40では、CPU21は、作成されたターゲット用実行ファイル領域1243と開発環境用実行ファイル1244との中から、PC2で実行可能な開発環境用実行ファイル1244を選択して実行する。ここで、実行ファイルの選択は、当該ファイルのファイル名が指定されることによって行なわれる。つまり、実行ファイル作成用プログラム122は、ターゲット用実行ファイル領域1243と開発環境用実行ファイル1244とを、それぞれ、CPU21によって識別されることが可能なファイル名で作成する。そして、実行ファイル作成用プログラム122(のデバッグ用プログラム)は、デバッグの際に、開発環境用実行ファイル1244を選択して実行するように構成されている。   In step S40, the CPU 21 executes the execution file created by the build in step S30 for debugging. In step S40, the CPU 21 selects and executes the development environment execution file 1244 executable on the PC 2 from the created target execution file area 1243 and development environment execution file 1244. Here, the execution file is selected by designating the file name of the file. That is, the execution file creation program 122 creates the target execution file area 1243 and the development environment execution file 1244 with file names that can be identified by the CPU 21. The execution file creation program 122 (the debugging program) is configured to select and execute the development environment execution file 1244 at the time of debugging.

ステップS50では、CPU21は、ステップS40における実行ファイルの実行において不具合が発生したか否かを判断する。なお、CPU21は、不具合が発生したか否かを、デバッグ用プログラムが実行されることによって実現される機能によって判断してもよいし、操作I/F25を介してユーザから入力される情報に基づいて判断してもよい。   In step S50, the CPU 21 determines whether or not a problem has occurred in the execution of the execution file in step S40. Note that the CPU 21 may determine whether or not a failure has occurred based on a function realized by executing the debugging program, or based on information input from the user via the operation I / F 25. You may judge.

なお、デバッグ用プログラムは、ハードディスク22にインストールされており、たとえば、上記したように実行ファイル作成用プログラム122の中に含まれている。本実施の形態では、(ターゲット用実行ファイル領域1243と同じソースファイルから作成された)開発環境用実行ファイル1244のデバッグが汎用コンピュータによって構成可能なPC2上で実現することができる。そして、デバッグ処理の際には、プログラムの実行を特定の位置で中断する「ブレークポイント」機能や、一段階ずつ動作を確認しながら実行する「ステップ実行」機能、実行中のメモリやレジスタ、変数などの状態を見る「トレース」機能などの一般的にデバッグの際に活用される機能の活用が可能となる。   Note that the debugging program is installed in the hard disk 22 and is included in the execution file creation program 122 as described above, for example. In the present embodiment, debugging of the development environment execution file 1244 (created from the same source file as the target execution file area 1243) can be realized on the PC 2 that can be configured by a general-purpose computer. During debugging, the program breaks at a specific location, breakpoints, or step by step while checking the operation step by step, running memory, registers, variables It is possible to use a function that is generally used for debugging, such as a “trace” function for viewing a state such as.

CPU21は、ステップS50において不具合が発生したと判断するとステップS60へ処理を進め、発生していないと判断すると、ステップS80へ処理を進める。   If the CPU 21 determines that a problem has occurred in step S50, the process proceeds to step S60, and if it is determined that no problem has occurred, the process proceeds to step S80.

ステップS60では、CPU21は、デバッグログを出力して、ステップS70へ処理を進める。なお、ここでの出力は、たとえば当該デバッグログがグラフィックコントローラ24を介してビデオモニタに表示されることにより実現される。   In step S60, the CPU 21 outputs a debug log and proceeds to step S70. The output here is realized by, for example, displaying the debug log on the video monitor via the graphic controller 24.

ステップS70では、CPU21は、操作I/F25を介してユーザから入力される情報に基づいてソースファイルを修正して、ステップS30へ処理を戻す。   In step S70, the CPU 21 corrects the source file based on information input from the user via the operation I / F 25, and returns the process to step S30.

つまり、本実施の形態では、ステップ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 environment execution file 1244 are created again based on the corrected source file.

また、本実施の形態におけるデバッグ処理(ステップS40)において、CPU21は、擬似的に画像処理装置1のRAM13のメモリ容量に基づいたメインメモリの容量管理を行なう。このようなメモリ容量管理について、図6を参照して詳細に説明する。   Further, in the debugging process (step S40) in the present embodiment, the CPU 21 performs capacity management of the main memory based on the memory capacity of the RAM 13 of the image processing apparatus 1 in a pseudo manner. Such memory capacity management will be described in detail with reference to FIG.

図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 RAM 23 of the PC 2 and the RAM 13 of the image processing apparatus 1. In this figure, the memory capacity of the RAM 13 of the image processing apparatus 1 is represented by C1, and the memory capacity of the RAM 23 of the PC 2 is represented by C2 which is larger than C1. Then, in the debugging process executed in step S40, the CPU 21 performs memory capacity management for the RAM 23 having the capacity of C2 such that the upper limit is C1, which is the capacity of the RAM 13.

図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 CPU 21 for memory management. Based on the memory capacity management in the debugging process, the CPU 21 sequentially records the usage amount of the RAM 23 in the table shown in FIG. Specifically, during the period when the development environment execution file 124 is being executed, what kind of processing (processing name 101), from which address of the RAM 23 (use address 103), how much capacity (use amount 102) Is recorded in a table as shown in FIG. 6B. When the memory area corresponding to the information stored in the table is released, the CPU 21 deletes the corresponding information from the table. Thereby, by referring to the table as shown in FIG. 6B, it is sequentially grasped which area is used and how much capacity is used in the RAM 23.

そして、CPU21は、デバッグ処理の期間中は、使用量102の合計が、RAM23の容量C2ではなく、RAM13の容量C1を超えた場合に、不具合が発生したとして、ステップS50でエラーメッセージの表示等を行なう。   Then, during the debugging process, the CPU 21 determines that a problem has occurred when the total amount of usage 102 exceeds the capacity C1 of the RAM 13 instead of the capacity C2 of the RAM 23, and displays an error message in step S50. To do.

図5に戻って、ステップS80では、CPU21は、インストール用のファイルを選択して、ステップS90へ処理を進める。ここで、インストールとは、ステップS20で作成し、ステップS70で修正したプログラムのインストールであり、インストール用のファイルとは、画像処理装置1にインストールためのファイルである。具体的には、インストール用ファイルとは、ターゲット用実行ファイル1243とターゲット用ライブラリ123Aを含む。   Returning to FIG. 5, in step S80, the CPU 21 selects a file for installation, and proceeds to step S90. Here, the installation is installation of the program created in step S20 and modified in step S70, and the installation file is a file for installation in the image processing apparatus 1. Specifically, the installation file includes a target execution file 1243 and a target library 123A.

ステップS90では、CPU21は、ステップS80で選択したファイルを画像処理装置1へインストールして、処理を終了する。   In step S90, the CPU 21 installs the file selected in step S80 in the image processing apparatus 1 and ends the process.

以上説明した本実施の形態では、CPU21は、実行ファイル作成用プログラム122を実行することにより、1つのソースファイル(ソースファイル1240)から、PC2で実行可能な開発環境用実行ファイル1244と画像処理装置1で実行可能なターゲット用実行ファイル1243とを作成することができる。そして、CPU21は、これらの2つの実行ファイルの中から、開発環境用実行ファイル1244を選択して、デバッグ処理の対象とする。   In the present embodiment described above, the CPU 21 executes the execution file creation program 122 to execute the development environment execution file 1244 and the image processing apparatus that can be executed by the PC 2 from one source file (source file 1240). 1 and the target execution file 1243 that can be executed. Then, the CPU 21 selects the development environment execution file 1244 from these two execution files and sets it as the target of the debugging process.

このようなデバッグ処理により、PC2では、ソースファイルに修正を施すことができる。そして、CPU21は、ソースファイルに修正がなされると、ステップS30において、ターゲット用実行ファイル1243と開発環境用実行ファイル1244とを改めて作成する。このとき、それまでハードディスク22に記憶されていたターゲット用実行ファイル1243と開発環境用実行ファイル1244は、改めて作成されたものによって上書きされることが好ましい。   By such debugging processing, the PC 2 can correct the source file. Then, when the source file is corrected, the CPU 21 recreates the target execution file 1243 and the development environment execution file 1244 in step S30. At this time, it is preferable that the target execution file 1243 and the development environment execution file 1244 previously stored in the hard disk 22 are overwritten by newly created files.

このように、PC2において、ステップS30におけるビルド処理が実行されるたびにターゲット用実行ファイル1243と開発環境用実行ファイル1244の双方が作成されることにより、ハードディスク22に記憶されるターゲット用実行ファイル1243と開発環境用実行ファイル1244とを、常に同じソースファイル1240に対応したものとすることができる。   As described above, the target execution file 1243 stored in the hard disk 22 is created in the PC 2 by creating both the target execution file 1243 and the development environment execution file 1244 each time the build process in step S30 is executed. And the development environment execution file 1244 can always correspond to the same source file 1240.

なお、本実施の形態のPC2では、デバッグ処理において利用されるのはターゲット用実行ファイル1243ではなく、開発環境用実行ファイル1244である。ターゲット用実行ファイル1243は、最終的に修正されたソースファイルが完成した後、画像処理装置1にインストールされる段階で初めて必要とされるものである。したがって、ターゲット用実行ファイル1243は、ステップS50において不具合の発生がなくなったと判断された後で、初めて作成されてもよい。   In the PC 2 of this embodiment, the development environment execution file 1244 is used instead of the target execution file 1243 to be used in the debugging process. The target execution file 1243 is required only when it is installed in the image processing apparatus 1 after the finally corrected source file is completed. Therefore, the target execution file 1243 may be created for the first time after it is determined in step S50 that the occurrence of a defect has been eliminated.

また、本実施の形態において、ステップ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 environment execution file 1244. Is preferred.

たとえば、ターゲット用実行ファイル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 environment execution file 1244.

まず、図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 CPU 11, and the process returns to step NX10.

なお、図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 environment execution file 1244 is started in PC 2, the instructions included in the process are executed in order in PC 2 (step NY10). In NY20, it is determined whether a condition for ending the Nth process is satisfied. Then, when it is determined that such a condition is satisfied, the Nth process is ended, and when it is determined that the condition is not ended, the process proceeds to step NY30.

ステップ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 CPU 21, and the process proceeds to step NY10. Returned.

図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 PC 2 uses the same source file and the execution file to be executed on the PC 2 and the image processing apparatus 1 to execute. Executable files are created, but the contents of processing realized by executing these files (programs) can be partially different. Specifically, regarding processing related to data output, in the processing realized by executing the target executable file, data output to an external device and information indicating that the data output has been completed are stored in a register. On the other hand, the processing realized by executing the development environment execution file can be only storing the information whose data output has been completed in the register.

なお、以上説明した例では、ターゲット用ライブラリ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 environment execution file 1244 itself.

開発環境用実行ファイルによって実現される処理が、ターゲット用実行ファイルによって実現される処理に対して変更される他の例としては、ターゲット用実行ファイルに含まれる外部の機器からのデータの受信(取得)に関する処理が挙げられる。ここで、データの受信の処理の具体例として、画像処理装置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 environment execution file 1244.

まず図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 CPU 11, and the process returns to step MX10.

ステップ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 environment execution file 1244 is started on the PC 2, the instructions included in the process are executed in order on the PC 2 (step MY10). In MY20, it is determined whether a condition for ending the Mth process is satisfied. Then, when it is determined that such a condition is satisfied, the M-th reason is ended, and when it is determined that the condition has not ended, the process proceeds to step MY30.

ステップ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 CPU 21 by executing the function called in step MY40. Is set in the register for storing the state of the operation, and is set in the register, and the process returns to step MY10.

以上、図8(A)および図8(B)を参照して説明したように、PC2では、同じソースファイルから、PC2で実行されるための実行ファイルと画像処理装置1で実行されるための実行ファイルが作成されるが、それらのファイル(プログラム)が実行されることによって実現される処理の内容を一部異ならせることができる。具体的には、データ出力に関する処理について、ターゲット用実行ファイルが実行されることによって実現される処理では、外部の機器からのデータ受信と当該データ受信が成功した旨または失敗した旨の情報のレジスタへの格納がなされるのに対し、開発環境用実行ファイルが実行されることにより実現される処理としては、データ受信が失敗した旨の情報のレジスタへの格納のみとすることができる。   As described above with reference to FIGS. 8A and 8B, the PC 2 uses the same source file and the execution file to be executed on the PC 2 and the image processing apparatus 1 to execute. Executable files are created, but the contents of processing realized by executing these files (programs) can be partially different. Specifically, regarding processing related to data output, in processing realized by executing the target executable file, data reception from an external device and information register indicating that the data reception has succeeded or failed On the other hand, as a process realized by executing the development environment execution file, information indicating that data reception has failed can only be stored in a register.

なお、以上説明した例では、ターゲット用ライブラリ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 environment execution file 1244 itself.

以上説明した本実施の形態では、ソースファイルがビルドされることにより、実行ファイル(ターゲット用実行ファイルおよび開発環境用実行ファイル)が作成される。ここで、ビルド処理には、コンパイルとリンクの処理が含まれる。具体的には、ソースファイルがコンパイルされることにより、オブジェクトファイルが生成される。本実施の形態では、ソースファイル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 source file 1240 includes a plurality of source files (first processing source file 1240A, second processing source file 1240B, third processing source file 1240C,...). A plurality of object files are generated by being compiled. The plurality of object files are combined by link processing to create one execution file (target execution file or development environment execution file). Note that both the program corresponding to the compiler used for the compile process and the program (linker) used for the link process can be included in the execution file creation program 122, for example.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   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 which shows typically the structure of the development assistance system which is one embodiment of this invention. 図1のPCのハードウェア構成を模式的に示す図である。It is a figure which shows typically the hardware constitutions of PC of FIG. 図1の画像処理装置のハードウェア構成を模式的に示す図である。It is a figure which shows typically the hardware constitutions of the image processing apparatus of FIG. 図2のPCのハードディスク22に記憶されている情報の内容を模式的に示す図である。It is a figure which shows typically the content of the information memorize | stored in the hard disk 22 of PC of FIG. 図2のPCにおいてプログラムの開発の際に実行される処理のフローチャートである。It is a flowchart of the process performed in the case of development of a program in PC of FIG. 図2のPCにおいて、プログラムが開発される際のデバッグ処理におけるメインメモリの容量管理の内容を説明するための図である。FIG. 3 is a diagram for explaining the contents of main memory capacity management in debugging processing when a program is developed in the PC of FIG. 2; 図4のターゲット用実行ファイルによって実現される処理と開発環境用実行ファイルによって実現される処理の差異の一例を説明するためのフローチャートである。5 is a flowchart for explaining an example of a difference between processing realized by the target execution file of FIG. 4 and processing realized by the development environment execution file. 図4のターゲット用実行ファイルによって実現される処理と開発環境用実行ファイルによって実現される処理の差異の他の例を説明するためのフローチャートである。6 is a flowchart for explaining another example of the difference between the process realized by the target execution file of FIG. 4 and the process realized by the development environment execution file.

符号の説明Explanation of symbols

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の容量のメインメモリを含み、
前記開発支援装置は、プログラムの実行に利用される前記第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に記載の開発支援システム。 Before SL operation check program library, as a process corresponding to the transmission or performs reception processing of data to and from the external device, in place of the process for the transmission or reception, between the said external device The development support system according to claim 1, further comprising: an instruction to execute a process that considers that transmission or reception is completed without performing transmission or reception of data. 記動作確認プログラム用ライブラリは、前記外部機器からデータを受信する処理に対応して、当該受信する処理に代えて、前記外部機器からのデータの受信を行なうことなく、前記画像処理装置において外部機器からデータを正常に受信できなかった場合の警告処理に対応する処理の実行の命令を含む、請求項1または請求項2に記載の開発支援システム。 Before SL operation check program library, it corresponds to the process of receiving data from the external device, in place of the processing of the received, without performing the reception of data from the external device, the external in the image processing apparatus The development support system according to claim 1, comprising an instruction to execute a process corresponding to a warning process when data cannot be normally received from the device. 前記コンパイル手段は、前記ソースコードをコンパイルするたびに、前記実行プログラムと前記動作確認プログラムの双方を生成する、請求項1〜請求項4のいずれかに記載の開発支援システム。   The development support system according to claim 1, wherein the compiling unit generates both the execution program and the operation check program each time the source code is compiled. 画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置であって、
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
ソースコードを入力するためのインターフェース手段と、
前記インターフェース手段からの入力を受けて、ソースコードの追加または削除を行なう編集手段と、
前記インターフェース手段から入力され前記編集手段で追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするコンパイル手段と、
前記動作確認プログラムを実行する実行手段と、
前記実行プログラムを前記画像処理装置へ転送する転送手段とを備え
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリを記憶する第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.
プログラムの実行に利用され、前記画像処理装置においてプログラムの実行に利用されるメインメモリの容量である第1の容量よりも多い第2の容量のメインメモリをさらに備え、
前記実行手段は、前記動作確認プログラム実行中に利用される前記第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.
記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理に代えて、前記外部機器との間でのデータの送信または受信を行なうことなく当該送信または受信が完了したとみなす処理の実行の命令を含む、請求項6または請求項7に記載の開発支援装置。 Before SL operation check program library, as a process corresponding to the transmission or performs reception processing of data to and from the external device, in place of the process for the transmission or reception, between the said external device The development support apparatus according to claim 6, further comprising an instruction to execute a process that considers that the transmission or reception is completed without performing transmission or reception of data. 記動作確認プログラム用ライブラリは、前記外部機器からデータを受信する処理に対応して、当該受信する処理に代えて、前記外部機器からのデータの受信を行なうことなく、前記画像処理装置において外部機器からデータを正常に受信できなかった場合の警告処理に対応する処理の実行の命令を含む、請求項6または請求項7に記載の開発支援装置。 Before SL operation check program library, it corresponds to the process of receiving data from the external device, in place of the processing of the received, without performing the reception of data from the external device, the external in the image processing apparatus The development support apparatus according to claim 6, comprising a command for executing a process corresponding to a warning process when data cannot be normally received from the device. 前記コンパイル手段は、前記ソースコードをコンパイルするたびに、前記実行プログラムと前記動作確認プログラムの双方を生成する、請求項6〜請求項9のいずれかに記載の開発支援装置。   The development support apparatus according to claim 6, wherein the compiling unit generates both the execution program and the operation check program each time the source code is compiled. 画像の入力を受け付け、入力された画像に対して画像処理に関するプログラムを実行する画像処理装置で実行されるプログラムの作成および前記画像処理装置へのプログラムの転送が可能な開発支援装置におけるプログラムの開発支援方法であって、
前記開発支援装置と前記画像処理装置は、互いに異なる環境でプログラムを実行し、
ソースコードを入力するためのステップと、
前記入力を受けて、ソースコードの追加または削除を行なうステップと、
前記入力されかつ前記追加または削除されたソースコードを、前記画像処理装置の動作環境に対応した実行プログラムと、前記開発支援装置の動作環境に対応した動作確認プログラムと、にコンパイルするステップと、
前記動作確認プログラムを実行するステップと、
前記実行プログラムを前記画像処理装置へ転送するステップとを備え
前記実行プログラムおよび前記動作確認プログラムは、それぞれの動作環境において互いに対応する処理を実行するライブラリ化された処理の実行の命令を含むことができ、
前記画像処理装置の動作環境に対応する処理を実行する実行プログラム用ライブラリ、および、前記開発支援装置の動作環境に対応する処理を実行する動作確認プログラム用ライブラリを記憶するステップをさらに備え、
前記実行プログラム用ライブラリは、前記画像処理装置のみに接続される外部機器との間でのデータの送信または受信を行なう処理を含む処理の実行の命令を含み、
前記動作確認プログラム用ライブラリは、前記外部機器との間でのデータの送信または受信を行なう処理に対応した処理として、当該送信または受信を行なう処理とは内容が異なる処理の実行の命令を含む、開発支援方法。
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.
JP2007225914A 2007-08-31 2007-08-31 Development support system, development support device, development support method, and development support program Active JP4962226B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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