JP2009064422A - Image forming apparatus and program execution method - Google Patents

Image forming apparatus and program execution method Download PDF

Info

Publication number
JP2009064422A
JP2009064422A JP2008201193A JP2008201193A JP2009064422A JP 2009064422 A JP2009064422 A JP 2009064422A JP 2008201193 A JP2008201193 A JP 2008201193A JP 2008201193 A JP2008201193 A JP 2008201193A JP 2009064422 A JP2009064422 A JP 2009064422A
Authority
JP
Japan
Prior art keywords
program
image forming
application
forming apparatus
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008201193A
Other languages
Japanese (ja)
Inventor
Tsutomu Oishi
勉 大石
Katsuhiko Nakagawa
克彦 中川
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008201193A priority Critical patent/JP2009064422A/en
Publication of JP2009064422A publication Critical patent/JP2009064422A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • Control Or Security For Electrophotography (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To improve program development efficiency. <P>SOLUTION: An image forming apparatus is provided with an operation display part for executing screen display and operation input, a program obtaining means for displaying an input screen of a program for the operation display part and obtaining the program inputted to the operation display part, and a program execution means executing the program obtained by the program obtaining part. A key in the operation display part is linked to the program in accordance with a request from the operation display part. A table for showing linking of the program and the key is stored in a storage means which the image forming apparatus has. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

この発明は、操作表示部のカスタマイズを行うことができる画像形成装置および画像形成装置で動作するアプリケーションプログラムの実行方法に関するものである。   The present invention relates to an image forming apparatus capable of customizing an operation display unit and an execution method of an application program operating on the image forming apparatus.

近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナ又はファクシミリ装置として動作させるものである。   In recent years, there has been known an image forming apparatus (hereinafter referred to as “multifunction machine”) in which functions of apparatuses such as a printer, a copy machine, a facsimile machine, and a scanner are housed in one casing. This multifunction device is provided with a display unit, a printing unit, an imaging unit, and the like in one casing, and is provided with three types of software respectively corresponding to a printer, a copy machine, and a facsimile machine, and by switching these software, Are operated as a printer, a copy, a scanner, or a facsimile machine.

このような従来の複合機では、利用者に対し複合機の各種操作を行わせるためのオペレーションパネルが設けられ、このオペレーションパネルに操作画面の表示およびタッチ操作入力を行わせるための操作表示部を表示している。従来の複合機では、予め提供される機能が定められていたため、利用者が複合機に対して行う操作も大きな変更はなく、操作表示部の画面表示やタッチ操作による動作をカスタマイズする必要性はない。このため、従来の複合機には操作表示部のカスタマイズ機能は搭載されていなかった。
特開2002−152446号公報
In such a conventional multifunction device, an operation panel is provided for allowing the user to perform various operations of the multifunction device, and an operation display unit for causing the operation panel to display an operation screen and perform touch operation input is provided. it's shown. In conventional multifunction devices, the functions provided in advance have been defined, so there is no significant change in the operations that users perform on the multifunction device, and there is no need to customize the screen display of the operation display unit or the operation by touch operation. Absent. For this reason, the conventional multifunction peripheral has not been equipped with a customization function for the operation display unit.
JP 2002-152446 A

ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピー又はファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。なお、各種コントロールサービスが行う処理をシステム側の処理と呼ぶ。   By the way, in such a conventional multi-function machine, software corresponding to a printer, a copy, a scanner, and a facsimile apparatus is provided separately, so that development of each software requires a lot of time. For this reason, the applicant has an application that has hardware resources used in image forming processing such as a display unit, a printing unit, and an imaging unit, and performs processing specific to each user service such as a printer, copy, or facsimile. When providing a user service by interposing between these applications and hardware resources, hardware resource management, execution control, and image formation processing that are shared by at least two of the applications are commonly performed. Invented an image forming apparatus (multifunction machine) equipped with a platform comprising various control services. Note that processing performed by various control services is referred to as processing on the system side.

このような新規な複合機では、アプリケーションと、ハードウェア資源にアクセスするような開発が難しい処理を行うコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが画像形成処理などにかかるアプリケーションとして新規な外部アプリケーションを開発して複合機に搭載可能な構成となっている。   In such a new multi-function peripheral, an application and a control service that performs processing that is difficult to develop such as access to hardware resources are provided separately. A configuration is such that a vendor can develop a new external application as an application related to image forming processing and mount it on a multifunction peripheral.

このため、新たに開発された外部アプリケーションの起動や実行中に操作表示部における画面表示やタッチ操作によって、予め提供されている機能とは異なる実行処理を行わせたい場合がある。このように、新規な複合機では、操作表示部のカスタマイズという、出荷後に外部アプリケーションを搭載することを想定していない従来の複合機では問題にならなかった新規な課題が生じてくる。   For this reason, there is a case where it is desired to execute an execution process different from a function provided in advance by a screen display or a touch operation on the operation display unit during activation or execution of a newly developed external application. As described above, the new multifunction device has a new problem of customization of the operation display unit, which is not a problem in the conventional multifunction device that does not assume that an external application is installed after shipment.

このような操作表示部のカスタマイズを、外部アプリケーションの開発段階でソースコードを記述し、ソースコードをコンパイルおよびリンクすることによって行うことが考えられる。すなわち、外部アプリケーションの開発段階で、外部アプリケーション自体の処理の中に操作表示部のタッチ操作に伴う実行処理を開発する場合が多くなる。この場合、操作表示部のタッチ操作に伴う実行処理の検証を逐次行いながら外部アプリケーション自体の開発を進めていくことがプログラム開発効率上好ましい。しかしながら、タッチ操作に伴う実行処理に障害を検出するたびに、ソースコードの修正、再コンパイル、再リンクを行って、開発対象の複合機に再インストールし、動作検証を行わなければならないとすると、プログラム開発の効率が悪くなるという問題がある。   It is conceivable to customize the operation display unit by describing the source code in the development stage of the external application, and compiling and linking the source code. That is, in the external application development stage, there are many cases where an execution process associated with the touch operation of the operation display unit is developed in the process of the external application itself. In this case, it is preferable in terms of program development efficiency to proceed with the development of the external application itself while sequentially performing execution processing verification accompanying the touch operation of the operation display unit. However, every time a failure is detected in the execution process associated with the touch operation, the source code must be corrected, recompiled, relinked, re-installed in the multifunction device to be developed, and operation verification must be performed. There is a problem that the efficiency of program development becomes worse.

また、操作表示部のカスタマイズに限らず、複合機とは別のPC等の環境でのプログラムの作成と、複合機での動作検証とによる従来のプログラム開発は効率が悪いという問題がある。   In addition, there is a problem that conventional program development based on the creation of a program in an environment such as a PC different from the multifunction peripheral and the operation verification on the multifunction peripheral is not limited to customization of the operation display unit.

この発明は上記に鑑みてなされたもので、プログラム開発効率を向上させることができる技術を提供することを目的とする。   The present invention has been made in view of the above, and an object thereof is to provide a technique capable of improving the program development efficiency.

上記の課題は以下の発明によって解決される。
請求項1に記載の発明は、画面表示および操作入力を行うための操作表示部と、前記操作表示部に対し、プログラムの入力画面を表示し、当該操作表示部に入力されたプログラムを取得するプログラム取得手段と、前記プログラム取得手段によって取得されたプログラムを実行するプログラム実行手段と、を備えた画像形成装置であって、前記操作表示部からの要求に応じて、前記プログラムに操作表示部におけるキーを対応付け、プログラムとキーとの対応付けを示す表を前記画像形成装置が備える記憶手段に格納することを特徴とする画像形成装置である。
The above problems are solved by the following invention.
The invention according to claim 1 displays an operation display unit for performing screen display and operation input, and displays a program input screen on the operation display unit, and acquires a program input to the operation display unit. An image forming apparatus comprising: a program acquisition unit; and a program execution unit configured to execute a program acquired by the program acquisition unit, wherein the program is stored in the operation display unit in response to a request from the operation display unit. The image forming apparatus is characterized in that keys are associated with each other and a table indicating association between programs and keys is stored in a storage unit included in the image forming apparatus.

本発明によれば、画像形成装置の入力画面からプログラムの追加、修正ができ、またコンパイルなしに画像形成装置でプログラムを実行できるので、プログラムを容易に開発できるようになる。   According to the present invention, a program can be added and modified from the input screen of the image forming apparatus, and the program can be executed on the image forming apparatus without compiling. Therefore, the program can be easily developed.

なお、前記プログラム取得手段は、Webサーバ機能を有し、前記クライアント端末からのアクセスに応じて前記入力画面データとしてのhtmlファイルを当該クライアント端末に送信することとしてもよい。本発明によれば、Webサーバ機能を用いたため、容易に入力画面データを送信できる。この構成において、前記画像形成装置は、前記クライアント端末からのイベントを検出してそのイベントに対応するCGIプログラムを実行するようにしてもよい。CGIプログラムを用いることにより、Webブラウザからの指示による処理を効率的に行うことができる。   The program acquisition unit may have a Web server function and transmit an html file as the input screen data to the client terminal in response to access from the client terminal. According to the present invention, since the Web server function is used, input screen data can be easily transmitted. In this configuration, the image forming apparatus may detect an event from the client terminal and execute a CGI program corresponding to the event. By using the CGI program, it is possible to efficiently perform processing according to an instruction from the Web browser.

また、前記画像形成装置は、前記プログラムが前記画像形成装置で実行されるときに前記画像形成装置の表示部に表示される画面と同等の画面を前記クライアント端末に表示する手段を更に有することとしてもよい。   The image forming apparatus further includes means for displaying on the client terminal a screen equivalent to a screen displayed on the display unit of the image forming apparatus when the program is executed by the image forming apparatus. Also good.

本発明によれば、クライアント端末側でプログラムの動作確認を行うことができる。   According to the present invention, it is possible to check the operation of the program on the client terminal side.

請求項2に記載の発明は、請求項1の記載において、前記キーの入力を検出し、前記表を参照することにより当該キーに対応するプログラムを前記プログラム実行手段により実行する。   According to a second aspect of the present invention, in the first aspect of the present invention, the program execution unit executes a program corresponding to the key by detecting the input of the key and referring to the table.

本発明によれば、上記のキーを押すことにより上記のプログラムを実行できる。   According to the present invention, the above program can be executed by pressing the above key.

請求項3に記載の発明は、請求項1又は2の記載において、前記プログラムに対するキーの割り当てをユーザが行うためのキー割付け画面を表示し、前記キー割付け画面からの指示に基づいて前記プログラムを前記キーに対応付けるものである。   A third aspect of the present invention provides a key assignment screen for a user to assign a key to the program according to the first or second aspect, and the program is executed based on an instruction from the key assignment screen. The key is associated with the key.

本発明によれば、ユーザは所望のキーをプログラムに割り当てることができる。   According to the present invention, a user can assign a desired key to a program.

請求項4に記載の発明は、請求項1の記載において、操作表示部からの要求に応じて、前記プログラムを動作確認のために実行させるものである。本発明によれば、プログラムの動作確認を行うことができる。   According to a fourth aspect of the present invention, in the first aspect, the program is executed for operation confirmation in response to a request from the operation display unit. According to the present invention, it is possible to check the operation of a program.

請求項5に記載の発明は、請求項1に記載の画像形成装置が、プログラムを格納するサーバにアクセスし、当該サーバから特定のプログラムをダウンロードする手段を更に有するとするものである。   According to a fifth aspect of the present invention, the image forming apparatus according to the first aspect further includes means for accessing a server storing a program and downloading a specific program from the server.

本発明によれば、サーバに格納されたプログラムをダウンロードして実行できる。   According to the present invention, a program stored in a server can be downloaded and executed.

請求項6に記載の発明は、請求項1ないし5のうちいずれか1項に記載の画像形成装において、前記プログラム実行手段は、インタプリタであるとするものである。インタプリタを用いることにより容易にプログラム実行手段を実現できる。   According to a sixth aspect of the present invention, in the image forming apparatus according to any one of the first to fifth aspects, the program execution means is an interpreter. By using an interpreter, program execution means can be easily realized.

請求項7に記載の発明は、請求項1ないし6のうちいずれか1項に記載の画像形成装置は、画像形成処理で使用されるハードウェア資源と、画像形成装置のアプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを更に有し、前記プログラムは、前記アプリケーションとして動作するというものである。   According to a seventh aspect of the present invention, there is provided the image forming apparatus according to any one of the first to sixth aspects, wherein the hardware resource used in the image forming process, the application of the image forming apparatus, and the hardware resource are used. A control service interposed between the program and the program. The program operates as the application.

請求項8に記載の発明は、請求項7の記載において、前記プログラムは、前記プログラム実行手段により、前記コントロールサービスに対する関数呼び出しを行う。これにより種々のプログラムを既存の関数を用いて作成することが可能となる。   According to an eighth aspect of the present invention, in the seventh aspect, the program makes a function call to the control service by the program execution means. This makes it possible to create various programs using existing functions.

請求項9〜12に記載の発明は、上記の画像形成装置におけるプログラムの実行方法の発明である。請求項13〜14に記載の発明は画像形成装置をその各手段として機能させるプログラムであり、請求項15に記載の発明は上記のプログラムを格納した記録媒体の発明である。上記の発明によっても、画像形成装置の発明と同様の効果を奏する。   The invention described in claims 9 to 12 is an invention of a method for executing a program in the image forming apparatus. The invention described in claims 13 to 14 is a program for causing the image forming apparatus to function as each means, and the invention described in claim 15 is an invention of a recording medium storing the program. The above-described invention also has the same effect as the image forming apparatus.

本発明によれば、アプリケーションの開発効率を向上させる技術を提供できる。   ADVANTAGE OF THE INVENTION According to this invention, the technique which improves the development efficiency of an application can be provided.

以下に添付図面を参照して、この発明にかかる画像形成装置および操作表示部プログラム生成方法の好適な実施の形態を詳細に説明する。   Exemplary embodiments of an image forming apparatus and an operation display unit program generation method according to the present invention will be explained below in detail with reference to the accompanying drawings.

(実施の形態1)
図1は、この発明の実施の形態1である画像形成装置(以下、「複合機」という)の主要部の構成とネットワーク構成を示すブロック図である。実施の形態1にかかる複合機100は、インターネットに接続され、当該インターネットに接続されたPC(Personal Computer )などのクライアント端末から複合機の操作を行うオペレーションパネルの操作表示部のカスタマイズプログラムの入力およびデバッグ作業を行うことを可能としたものである。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of a main part and a network configuration of an image forming apparatus (hereinafter referred to as “multifunction device”) according to Embodiment 1 of the present invention. The MFP 100 according to the first embodiment is connected to the Internet, and inputs a customization program in an operation display unit of an operation panel that operates the MFP from a client terminal such as a PC (Personal Computer) connected to the Internet. It enables debugging work.

図1に示すように、複合機100とPC200は、インターネット220で接続されており、通信プロトコルとしてTCP/IPを利用している。複合機100は、複合機初期化部129と、プログラム起動部131と、プログラミングサービス132と、インタプリタ134と、NCS(ネットワークコントロールサービス)128と、httpd(httpデーモン)106と、共有メモリ105と、HDD103とを備えた構成となっている。   As shown in FIG. 1, the multifunction peripheral 100 and the PC 200 are connected via the Internet 220 and use TCP / IP as a communication protocol. The multifunction device 100 includes a multifunction device initialization unit 129, a program activation unit 131, a programming service 132, an interpreter 134, an NCS (network control service) 128, an httpd (http daemon) 106, a shared memory 105, The HDD 103 is provided.

プログラミングサービス132は、ネットワークに接続されたクライアント端末としてのPC200のWEBブラウザに後述するhttpファイルで構成されたWEBページであるプログラミング画面201を表示し、このプログラミング画面201からオペレーションパネル210の操作表示部のカスタマイズプログラムを入力させるものである。また、プログラミングサービス132は、PCから入力されたカスタマイズプログラムをHDD103のカスタマイズ領域として作成されたカスタマイズディレクトリ212に保存する。さらに、プログラミングサービス132は、複合機100上でカスタマイズプログラムが実行されるように、後述する起動設定ファイル211に入力されたカスタマイズプログラムを登録する。   The programming service 132 displays a programming screen 201 that is a WEB page composed of an http file described later on the WEB browser of the PC 200 as a client terminal connected to the network, and the operation display unit of the operation panel 210 is displayed from the programming screen 201. To enter the customization program. Further, the programming service 132 stores the customization program input from the PC in the customization directory 212 created as the customization area of the HDD 103. Further, the programming service 132 registers the customization program input in the activation setting file 211 described later so that the customization program is executed on the multifunction peripheral 100.

ここで、プログラミングサービス132とPC200のWEBブラウザの間のプログラミング画面などのhttpファイルの転送は、httpプロトコルに従って行われる。このため、プログラミングサービス132は、Webサーバ(http サーバ)としての役割も担っている。   Here, transfer of an http file such as a programming screen between the programming service 132 and the WEB browser of the PC 200 is performed according to the http protocol. For this reason, the programming service 132 also plays a role as a Web server (http server).

カスタマイズプログラムは、インタプリタで解釈可能な言語で記述され、具体的には、汎用OSがUNIX(登録商標)の場合、シェルスクリプトである。   The customization program is written in a language that can be interpreted by an interpreter. Specifically, when the general-purpose OS is UNIX (registered trademark), it is a shell script.

インタプリタ134は、カスタマイズプログラムをステップごとに解析し逐次実行するものであり、本実施の形態では、シェルスクリプトを実行するシェル(bsh,cshなど)である。このシェル134は、汎用OS121としてのUNIX (登録商標)にOSのカーネル135とは別個に存在するものである。   The interpreter 134 analyzes and sequentially executes the customization program for each step. In this embodiment, the interpreter 134 is a shell (bsh, csh, etc.) that executes a shell script. The shell 134 exists in UNIX (registered trademark) as the general-purpose OS 121 separately from the OS kernel 135.

プログラム起動部131は、HDD103の診断結果が正常である場合に、HDD103にインストールされている外部アプリ117を起動するものである。また、プログラム起動部131は、ICカードなどの記憶媒体に保存された外部アプリ117を起動する。   The program activation unit 131 activates the external application 117 installed in the HDD 103 when the diagnosis result of the HDD 103 is normal. In addition, the program activation unit 131 activates the external application 117 stored in a storage medium such as an IC card.

複合機初期化部129は、汎用OS121の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション130(外部アプリ117を除く)の起動およびプログラム起動部131の起動を行うものである。   The MFP initialization unit 129 is a process that is activated first on the general-purpose OS 121, and activates the control service and application 130 (excluding the external application 117) and the program activation unit 131.

NCS128は、ネットワークを制御するものであり、httpd106から通知されたリクエストメッセージ受信の旨をプログラミングサービス132に通知する。   The NCS 128 controls the network, and notifies the programming service 132 that the request message received from the httpd 106 has been received.

httpd106は、OSに含まれるプロセス(デーモン)であり、ポート80番を常時監視してリクエストメッセージの受信を行うとともに、レスポンスメッセージの送信を行うものである。なお、リクエストメッセージおよびレスポンスメッセージの構造は、通常のhttpプロトコルにおける各メッセージの構造と同様であり、各メッセージには、html形式で記述されたメッセージボディが含まれている。また、httpd106は、インターネット220経由で受信したリクエストメッセージ受信の旨をNCS128に通知するとともに、リクエストメッセージを共有メモリ105 に格納する。   The httpd 106 is a process (daemon) included in the OS, and constantly monitors port 80 to receive a request message and send a response message. The structure of the request message and the response message is the same as the structure of each message in the normal http protocol, and each message includes a message body described in the html format. The httpd 106 notifies the NCS 128 that a request message received via the Internet 220 has been received, and stores the request message in the shared memory 105.

この共有メモリ105は、httpd106とプログラミングサービス132とのプロセス間通信に利用されるものであり、共有メモリ105を介してリクエストメッセージ、レスポンスメッセージなどの受け渡しを行う。   The shared memory 105 is used for interprocess communication between the httpd 106 and the programming service 132, and exchanges request messages, response messages, and the like via the shared memory 105.

HDD103には、起動設定ファイル211が格納され、またHDD103のカスタマイズディレクトリ212にカスタマイズプログラムが格納される。   The HDD 103 stores an activation setting file 211, and a customization program is stored in the customization directory 212 of the HDD 103.

PC200は、複合機100のプログラミングサービス132をサーバとしたクライアント端末であり、PC200で実行されるWEBブラウザにプログラミングサービス132からhttpプロトコルで送信されたプログラミング画面201やその他画面を表示し、操作入力を行えるように構成されている。   The PC 200 is a client terminal that uses the programming service 132 of the multifunction peripheral 100 as a server. The PC 200 displays the programming screen 201 and other screens transmitted from the programming service 132 using the http protocol on the WEB browser executed on the PC 200, and inputs the operation input. It is configured to do so.

次に、本実施の形態にかかる複合機100の全体の機能的構成について説明する。図2は、実施の形態1の複合機100の構成を示すブロック図である。図2に示すように、複合機100は、白黒ラインプリンタ(B&W LP)101と、カラーラインプリンタ(Color LP)102と、ハードディスク装置(HDD)103と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース104を有するとともに、プラットホーム120と、アプリケーション130と、複合機初期化部129と、プログラム起動部131と、プログラミングサービス132とから構成されるソフトウェア群110とを備えている。   Next, the overall functional configuration of the multifunction peripheral 100 according to the present embodiment will be described. FIG. 2 is a block diagram illustrating a configuration of the multifunction peripheral 100 according to the first embodiment. As shown in FIG. 2, the MFP 100 includes a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, a hard disk device (HDD) 103, a scanner, a facsimile, a memory, a network interface, and the like. The software group 110 includes a hardware resource 104, a platform 120, an application 130, a multifunction machine initialization unit 129, a program activation unit 131, and a programming service 132.

プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一又は複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。   The platform 120 interprets a processing request from an application and generates a hardware resource acquisition request, and a system resource manager that manages one or a plurality of hardware resources and arbitrates the acquisition request from the control service. (SRM) 123 and a general-purpose OS 121.

コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128とから構成される。また、プログラミングサービス132も、コントロールサービス層に含まれている。なお、このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。   The control service is formed of a plurality of service modules, and includes an SCS (system control service) 122, an ECS (engine control service) 124, an MCS (memory control service) 125, an OCS (operation panel control service) 126, and an FCS. (Fax Control Service) 127 and NCS (Network Control Service) 128. A programming service 132 is also included in the control service layer. The platform 120 has an application program interface (API) that can receive a processing request from the application 130 by a predefined function.

汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。   The general-purpose OS 121 is a general-purpose operating system such as UNIX (registered trademark), and executes the software of the platform 120 and the application 130 in parallel as processes.

SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F 、IEEE1394 I /F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。   The process of the SRM 123 performs system control and resource management together with the SCS 122. The SRM123 process uses hardware resources such as an engine such as a scanner unit and printer unit, memory, HDD file, and host I / O (centro I / F, network I / F, IEEE 1394 I / F, RS232C I / F, etc.). Arbitration is performed according to the request from the upper layer to be used, and execution control is performed.

具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。   Specifically, the SRM 123 determines whether the requested hardware resource is available (whether it is not used by another request), and if it is available, the requested hardware resource is used. Tell the upper layer that it is possible. In addition, the SRM 123 performs use scheduling of hardware resources in response to a request from an upper layer, and directly executes request contents (for example, paper conveyance and image forming operation, memory allocation, file generation, etc. by a printer engine). .

SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。   The process of the SCS 122 performs application management, operation unit control, system screen display, LED display, resource management, interrupt application control, and the like.

ECS124のプロセスは、白黒ラインプリンタ(B&W LP)101、カラーラインプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース103のエンジンの制御を行う。   The process of the ECS 124 controls the engine of the hardware resource 103 including a monochrome line printer (B & W LP) 101, a color line printer (Color LP) 102, a scanner, a facsimile, and the like.

MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。   The MCS 125 process acquires and releases an image memory, uses a hard disk device (HDD), compresses and decompresses image data, and the like.

FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN 網を利用したファクシミリ送受信、BKM (バックアップSRAM )で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。   The process of FCS127 includes facsimile transmission / reception using PSTN / ISDN network from each application layer of the system controller, registration / quotation of various facsimile data managed by BKM (backup SRAM), facsimile reading, facsimile reception printing, and fusion transmission / reception. Provides an API to do.

NCS128のプロセスは、ネットワークI/O を必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。   The process of the NCS 128 is a process for providing a service that can be commonly used for applications requiring network I / O. Data received from the network side according to each protocol is distributed to each application, or data from the application Mediation when sending to the network side. Specifically, it has server daemons such as ftpd, lpd, snmpd, telnetd, and smtpd, and client functions of the same protocol.

OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)210の制御を行う。OCS126は、オペレーションパネルからキー押下(又はタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130又はコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。   The process of the OCS 126 controls an operation panel (operation panel) 210 that is an information transmission means between an operator (user) and the main body control. The OCS 126 acquires a key press (or touch operation) from the operation panel as a key event, and operates according to a request from the application 130 or the control service and a part of the OCS process that transmits a key event function corresponding to the acquired key to the SCS 122. A drawing function for drawing and outputting various screens on the panel, a function for controlling the operation panel, and the like are composed of pre-registered OCS library portions. The OCS library is mounted by being linked to each module of the application 130 and the control service. The OCS 126 may be configured to operate as a process, or the OCS 126 may be configured as an OCS library.

アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116 とを有している。   The application 130 includes a printer application 111 that is a printer application having a page description language (PDL), PCL, and postscript (PS), a copy application 112 that is a copy application, and a fax application 113 that is a facsimile application. A scanner application 114 as a scanner application, a network file application 115 as a network file application, and a process inspection application 116 as a process inspection application.

アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。   Each process of the application 130 and each process of the control service realize user services related to image forming processing such as copying, printers, scanners, and facsimiles while performing inter-process communication by calling functions, sending return values thereof, and sending and receiving messages. is doing.

このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一又は複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。   As described above, the MFP 100 according to the first embodiment includes a plurality of applications 130 and a plurality of control services, all of which operate as processes. In each of these processes, one or a plurality of threads are generated and parallel execution is performed in units of threads. The control service provides a common service to the application 130. For this reason, a large number of these processes perform a parallel operation and a parallel operation of threads to perform inter-process communication with each other. User services related to image forming processing such as copying, printers, scanners, and facsimiles are provided.

また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。   Also, in the multifunction device 100, a third party such as a customer of the multifunction device 100 or a third vendor can develop and install an external application on the application layer above the control service layer.

なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加又は削除することができる。   In the MFP 100 according to the first embodiment, a plurality of application 130 processes and a plurality of control service processes operate. However, the application 130 and the control service process have a single configuration. Is also possible. Each application 130 can be added or deleted for each application.

また、複合機100はインストーラを含む。インストーラは、第三者が開発した外部アプリ117を、HDD103にインストールするものである。本実施の形態にかかる複合機100では、フラッシュカードなどのICカードの記憶媒体に外部アプリ117を格納し、インストーラによって外部アプリ117をHDD103にインストールし、プログラム起動部131によって、HDD103から外部アプリ117を起動してアプリケーション層で動作させるようになっている。一方、プリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116などの複合機100の出荷時に提供されるアプリケーション130、各コントロールサービス、HDD診断部132およびプログラム起動部131は、フラッシュメモリに出荷時に組み込まれており、複合機100の起動時(電源投入時)に複合機初期化部129によって起動されるようになっている。   The multi-function device 100 includes an installer. The installer installs the external application 117 developed by a third party in the HDD 103. In the multifunction peripheral 100 according to the present embodiment, the external application 117 is stored in a storage medium of an IC card such as a flash card, the external application 117 is installed in the HDD 103 by an installer, and the external application 117 is installed from the HDD 103 by the program activation unit 131. To run in the application layer. On the other hand, an application 130 provided at the time of shipment of the MFP 100, such as a printer application 111, a copy application 112, a fax application 113, a scanner application 114, a net file application 115, and a process inspection application 116, each control service, an HDD diagnosis unit 132, and The program activation unit 131 is incorporated in the flash memory at the time of shipment, and is activated by the multifunction device initialization unit 129 when the multifunction device 100 is activated (when the power is turned on).

図3に複合機100のハードウェア構成例を示す。   FIG. 3 shows a hardware configuration example of the multifunction peripheral 100.

複合機100は、コントローラ160と、オペレーションパネル175と、ファックスコントロールユニット(FCU)176と、プリンタ等の画像形成処理に特有のハードウェア資源であるエンジン部177とを含む。コントローラ160は、CPU161と、システムメモリ162と、ノースブリッジ(NB)163と、サウスブリッジ(SB)164と、ASIC166と、ローカルメモリ167と、HDD168と、ネットワークインターフェースカード(NIC)169と、SDカード用スロット170と、USBデバイス171と、IEEE1394デバイス172と、セントロニクス173とを含む。なお、メモリ162、167はRAM、ROM等を含む。FCU176およびエンジン部177は、コントローラ160のASIC166にPCIバス178で接続されている。   The multi-function device 100 includes a controller 160, an operation panel 175, a fax control unit (FCU) 176, and an engine unit 177 that is a hardware resource unique to image forming processing such as a printer. The controller 160 includes a CPU 161, a system memory 162, a north bridge (NB) 163, a south bridge (SB) 164, an ASIC 166, a local memory 167, an HDD 168, a network interface card (NIC) 169, and an SD card. Slot 170, USB device 171, IEEE 1394 device 172, and Centronics 173. The memories 162 and 167 include RAM, ROM, and the like. The FCU 176 and the engine unit 177 are connected to the ASIC 166 of the controller 160 via the PCI bus 178.

CPU161が、複合機100にインストールされるアプリケーション、コントロールサービス等のプログラムを、メモリから読み出して実行する。   The CPU 161 reads programs such as applications and control services installed in the multifunction peripheral 100 from the memory and executes them.

次に、以上のように構成された本実施の形態にかかる複合機100によるプログラム作成方法について説明する。まず、利用者は、PC200でWEBブラウザを起動し、複合機100上にあるプログラミング画面のWEBページのURL(例えば、http://www.xxx.yyy/zzz/debug.htm)を指定して複合機100のプログラミングサービス132にアクセスする。WEBブラウザからのアクセスを受けたプログラミングサービス132は、プログラミング画面201(debug.htm )をPC200のWEBブラウザに表示させる。   Next, a method for creating a program by the multifunction peripheral 100 according to the present embodiment configured as described above will be described. First, the user activates a WEB browser on the PC 200 and designates a URL of a WEB page on the programming screen on the multifunction peripheral 100 (for example, http: //www.xxx.yyy/zzzz/debug.html). The programming service 132 of the multifunction device 100 is accessed. The programming service 132 that has received access from the WEB browser causes the programming screen 201 (debug.htm) to be displayed on the WEB browser of the PC 200.

図7は、プログラミング画面201の内容の一例を示す説明図である。図7に示すように、プログラミング画面201には、プログラム入力フィールドと、参照ボタンと、アップロードボタンと、保存ボタンと、消去ボタンと、テスト実行ボタンと、実行設定ボタンが表示される。   FIG. 7 is an explanatory diagram showing an example of the contents of the programming screen 201. As shown in FIG. 7, the programming screen 201 displays a program input field, a reference button, an upload button, a save button, a delete button, a test execution button, and an execution setting button.

ここで、プログラミング画面201は、html形式(Hyper TextMarkup Language)で記述されたファイル(debug.htm)がブラウザによって表示されたものである。また、プログラミングサービス132は、プログラミング画面(debug.htm)からの操作入力や要求に応じたカスタマイズプログラムの入力に関する処理等を、CGI(Common Gateway Interface)のスクリプトを実行することによって行い、その処理結果をプログラミング画面(debug.htm)に反映して、PC200のWEBブラウザに返す。   Here, the programming screen 201 is a file (debug.html) described in the html format (Hyper TextMarkup Language) displayed by the browser. In addition, the programming service 132 performs processing related to operation input from a programming screen (debug.htm) and input of a customized program according to a request by executing a CGI (Common Gateway Interface) script, and the processing result Is reflected on the programming screen (debug.htm) and returned to the WEB browser of the PC 200.

具体的には、プログラミングサービス132は、カスタマイズプログラムの入力処理等の要求(ボタンのクリック操作等)があった場合には、debug.cgiのスクリプトを実行する。なお、本実施の形態では、CGIスクリプトを実行することにより、WEBアプリ1117による各処理を実行しているが、CGIスクリプトから呼び出される別のプログラムで実行するように構成しても良い。なお、プログラミング画面を、XML形式(eXtensible Markup Language )で記述するように構成することも可能である。   Specifically, if there is a request for customizing program input processing or the like (button click operation or the like), the programming service 132 debug. Run cgi script. In this embodiment, each process by the WEB application 1117 is executed by executing a CGI script, but may be configured to be executed by another program called from the CGI script. It is also possible to configure the programming screen so as to be described in the XML format (extensible Markup Language).

参照ボタンは、ブラウザが動作しているPC200の記憶領域に格納されたカスタマイズプログラムを参照するためのボタンであり、この参照ボタンを押下すると、PC200の記憶領域内のディレクトリが表示され、所望のディレクトリに存在するカスタマイズプログラムを指定すると、ファイル名フィールドに指定されたカスタマイズプログラムのファイル名が表示される。なお、参照ボタンを押下したときに、複合機100のHDD103などの記憶媒体のディレクトリを参照するように構成しても良い。   The reference button is a button for referring to the customization program stored in the storage area of the PC 200 in which the browser is operating. When this reference button is pressed, a directory in the storage area of the PC 200 is displayed and a desired directory is displayed. When a customization program existing in the file name is specified, the file name of the customization program specified in the file name field is displayed. Note that a directory of a storage medium such as the HDD 103 of the multifunction peripheral 100 may be referred to when the reference button is pressed.

アップロードボタンは、参照ボタンで指定したカスタマイズプログラムあるいは入力フィールドに入力したカスタマイズプログラムを、複合機100に転送(アップロード)するためにクリック操作するものである。   The upload button is a click operation for transferring (uploading) the customization program designated by the reference button or the customization program entered in the input field to the multifunction peripheral 100.

プログラム入力フィールドは、カスタマイズプログラムを入力する領域である。このプログラム入力フィールドには、PC200のキーボードなどの入力装置からカスタマイズプログラムを直接入力する他、上述のように参照ボタンをクリック操作することによってPC200の所望のディレクトリに存在する既存のプログラムファイルを指定することによってカスタマイズプログラムを入力する。debug.htmにおいて、このプログラム入力フィールドに相当するすべての行の先頭には、「program _list:」の文字列が記述されている。   The program input field is an area for inputting a customization program. In this program input field, in addition to directly inputting a customization program from an input device such as a keyboard of the PC 200, an existing program file existing in a desired directory of the PC 200 is designated by clicking the reference button as described above. Enter the customization program. debug. In html, a character string “program_list:” is described at the head of all lines corresponding to the program input field.

保存ボタンは、入力したカスタマイズプログラムを複合機100にアップロードした後に、カスタマイズディレクトリに格納する場合にクリック操作するものである。消去ボタンは、入力フィールドに入力されたカスタマイズプログラムを消去する際にクリック操作するものである。   The save button is clicked when the input customization program is uploaded to the multifunction peripheral 100 and then stored in the customization directory. The delete button is clicked to delete the customized program input in the input field.

実行設定ボタンは、カスタマイズディレクトリに保存されたカスタマイズプログラムを複合機100で実行できるように、カスタマイズプログラムとカスタマイズプログラムを実行させるボタンを対応づける際にクリック操作するものである。この実行設定ボタンが押下されると、プログラミングサービス132は、カスタマイズプログラム中で指定されたボタン(キー)を、カスタマイズディレクトリに存在する画面ファイル中のボタン(キー)からキーコードに基づいて検索し、カスタマイズプログラムとボタン(キー)との対応付けを行い、カスタマイズプログラムの名称とボタン(キー)のキーコードのキー対応付けテーブルを生成してHDD103又はフラッシュメモリなどに当該テーブルを格納する。   The execution setting button is clicked when associating the customization program with a button for executing the customization program so that the multifunction device 100 can execute the customization program stored in the customization directory. When the execution setting button is pressed, the programming service 132 searches the button (key) specified in the customization program based on the key code from the button (key) in the screen file existing in the customization directory. The customization program and the button (key) are associated with each other, a key association table of the name of the customization program and the key code of the button (key) is generated, and the table is stored in the HDD 103 or the flash memory.

テスト実行ボタンは、入力されたカスタマイズプログラムを試験的に実行する際にクリック操作するものである。   The test execution button is clicked when the inputted customization program is experimentally executed.

図8は、入力するカスタマイズプログラムの内容の一例を示す説明図である。図8に示すように、本実施の形態では、カスタマイズプログラムはUNIX(登録商標)のシェルスクリプトである。入力されたシェルスクリプトは、汎用OS121(UNIX(登録商標))のコマンド・インタプリタであるシェル134によってステップごとに逐次実行される。このため、入力したカスタマイズプログラムのコンパイルおよびリンクは不要である。   FIG. 8 is an explanatory diagram showing an example of the contents of the customization program to be input. As shown in FIG. 8, in this embodiment, the customization program is a UNIX (registered trademark) shell script. The input shell script is sequentially executed step by step by the shell 134 which is a command interpreter of the general-purpose OS 121 (UNIX (registered trademark)). For this reason, it is not necessary to compile and link the input customization program.

また、シェルスクリプトには、開発ライブラリで提供される複合機専用コマンドを指定できるようになっている。図8のスクリプトは、原稿をスキャナで読み込み(scanimage)、読み込み時にTIF形式に圧縮された画像データを伸長し(decomp)、伸長した画像データに対し文字認識処理を行う(ocr)。そして、文字認識処理による認識結果をテキストデータとしてメール送信(mail)する例を示している。このスクリプトの中で、scanimage,decomp,ocrの各コマンドが開発ライブラリで提供されるコマンドである。また、カスタマイズプログラムには、このシェルスクリプトを実行するためのボタン(キー)の指定が可能となっている。   In addition, a special command for the multifunction machine provided in the development library can be specified in the shell script. The script in FIG. 8 reads a document with a scanner (scanimage), decompresses image data compressed in the TIF format at the time of reading (decomp), and performs character recognition processing on the decompressed image data (ocr). Then, an example is shown in which the result of recognition by the character recognition process is mailed as text data. In the script, commands of scanimage, decomp, and ocr are commands provided by the development library. In the customization program, a button (key) for executing this shell script can be specified.

PC200のWEBブラウザに表示されているプログラミング画面201(debug.htm)において、参照ボタンをクリックしてPC200に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、WEBブラウザから複合機100のプログラミングサービス132に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはdebug.htmが含められており、このdebug.htmには、アップロードボタンをクリック操作したときにdebug.cgiを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったプログラミングサービス132は、debug.cgiを実行する。   On the programming screen 201 (debug.htm) displayed on the WEB browser of the PC 200, click the browse button to specify the customization program stored in the PC 200, or enter the customization program directly in the program input field and upload When the button is clicked, a request message is transmitted from the WEB browser to the programming service 132 of the multifunction peripheral 100. The message body of this request message contains debug. html is included, and this debug. In html, when the upload button is clicked, debug. It is described that cgi is called. For this reason, the programming service 132 that has received the request message and analyzed it is debug. Run cgi.

ここで、リクエストメッセージを受信した複合機100における処理について説明する。図4は、リクエストメッセージを受信した複合機100における処理の手順を示すフローチャートである。   Here, a process in the MFP 100 that has received the request message will be described. FIG. 4 is a flowchart illustrating a processing procedure in the MFP 100 that has received the request message.

httpd106は、ポート80番を常時監視しており、PC200からリクエストメッセージをポート80番で受信する(ステップS301)。そして、httpd106は、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ105に書き込む(ステップS302)。次に、httpd106は、リクエストメッセージ受信の旨をNCS128に通知する(ステップS303 )。   The httpd 106 constantly monitors the port 80 and receives a request message from the PC 200 on the port 80 (step S301). The httpd 106 reads the received request message and writes the request message in the shared memory 105 (step S302). Next, the httpd 106 notifies the NCS 128 that a request message has been received (step S303).

通知を受けたNCS128は、さらにリクエストメッセージ受信の旨をプログラミングサービス132に通知する(ステップS304)。プログラミングサービス132は、リクエストメッセージ受信の旨の通知を受けたことをトリガとして、共有メモリ105を参照して、リクエストメッセージを読み出す(ステップS305)。そして、リクエストメッセージの内容を解析して(ステップS306)、リクエストメッセージのメッセージボディに記述された内容に応じた処理を実行する(ステップS307)。このとき、メッセージボディのhtml記述にCGIを実行する旨が記述されていれば、対応するCGIを実行する。   Receiving the notification, the NCS 128 further notifies the programming service 132 that the request message has been received (step S304). The programming service 132 reads the request message with reference to the shared memory 105, triggered by receiving a notification that the request message has been received (step S305). Then, the content of the request message is analyzed (step S306), and processing corresponding to the content described in the message body of the request message is executed (step S307). At this time, if it is described in the html description of the message body that CGI is to be executed, the corresponding CGI is executed.

そして、プログラミングサービス132は、処理の実行結果をレスポンスメッセージとして、httpd106経由でリクエストメッセージの送信元であるPC200 に返信する(ステップS308)。   Then, the programming service 132 returns the execution result of the process as a response message to the PC 200 that is the transmission source of the request message via the httpd 106 (step S308).

次に、プログラミングサービス132によるdebug.cgiの処理について説明する。図5は、debug.cgiの処理の手順を示すフローチャートである。なお、プログラミングサービス132がdebug.cgiのプログラムを含んでいてもよいし、debug.cgiがプログラミングサービス132の外部に存在してもよい。以下、プログラミングサービス132がdebug.cgiのプログラムを含む場合について説明する。   Next, debug. The process of cgi will be described. FIG. 5 shows debug. It is a flowchart which shows the procedure of the process of cgi. Note that the programming service 132 is debug. cgi program may be included, or debug. The cgi may be external to the programming service 132. Hereinafter, the programming service 132 is debug. A case where a cgi program is included will be described.

プログラミングサービス132は、受信したリクエストメッセージの中のdebug.htmを先頭から一行づつ読み込む(ステップS401)。そして、読み込んだ行が「program_list:」の文字列を含むか否かを調べることにより、その行がプログラム入力フィールドか否かを判断する(ステップS402)。   The programming service 132 receives debug. In the received request message. html is read line by line from the top (step S401). Then, by checking whether or not the read line includes the character string “program_list:”, it is determined whether or not the line is a program input field (step S402).

そして、プログラム入力フィールドであると判断した場合には、プログラムファイルに書き出し(ステップS403)、読み込んだ一行をそのままPC200に送信する(ステップS404)。   If it is determined that the field is a program input field, the program file is written (step S403), and the read line is transmitted to the PC 200 as it is (step S404).

そして、読み込んだ行が最終行か否かを判断し(ステップ405)、最終行であれば処理を終了し、最終行でなければ上記の処理を次の行に対して行う。これにより、複合機100において、プログラムファイルが作成され、PC200のWEBブラウザには、複合機100にアップロードされたプログラムの内容が順次表示されることになる。   Then, it is determined whether or not the read line is the last line (step 405). If it is the last line, the process is terminated. If it is not the last line, the above process is performed on the next line. As a result, a program file is created in the multifunction device 100, and the contents of the program uploaded to the multifunction device 100 are sequentially displayed on the WEB browser of the PC 200.

上記の方法の他、PC200で入力したプログラムを複合機に送信するには種々の方法がある。例えば、アップロードボタンを押すことにより、PC200で入力したプログラムをPC200でプログラムファイルとし、それを複合機に送信する。複合機では、そのプログラムファイルの内容を格納し、必要に応じて格納したプログラムファイルの内容をPC200に送信する。   In addition to the above method, there are various methods for transmitting a program input on the PC 200 to the multifunction peripheral. For example, when an upload button is pressed, the program input on the PC 200 is converted into a program file on the PC 200 and transmitted to the multifunction device. The multifunction peripheral stores the contents of the program file and transmits the stored program file contents to the PC 200 as necessary.

このようにプログラミング画面201から入力されたカスタマイズプログラムが複合機100にアップロードされ、プログラム入力フィールドにアップロード後のカスタマイズプログラムが表示された後、保存ボタン、実行設定ボタン、テスト実行ボタンのクリック操作が可能となる。これらのいずれかのボタンをクリック操作した場合におけるプログラミングサービス132の処理について説明する。   In this way, after the customization program input from the programming screen 201 is uploaded to the MFP 100 and the customized program after upload is displayed in the program input field, the save button, the execution setting button, and the test execution button can be clicked. It becomes. Processing of the programming service 132 when one of these buttons is clicked will be described.

図6は、プログラミング画面201において、保存ボタン、実行設定ボタン、テスト実行ボタンのいずれかのクリック操作が行われた場合のプログラミングサービス132の処理の手順を示すフローチャートである。以下の処理は、プログラミングサービス132におけるCGIスクリプトとしてのJava(登録商標)Scriptが実行する。すなわち、プログラミング画面201におけるボタン操作をPC200が検出してそのイベントをプログラミングサービスに送信し、プログラミングサービス132はそのイベントに応じたJava(登録商標)Scriptを実行する。以下、Java(登録商標)Scriptがプログラミングサービス132に含まれているものとして説明する。   FIG. 6 is a flowchart showing the processing procedure of the programming service 132 when any one of the save button, the execution setting button, and the test execution button is clicked on the programming screen 201. The following processing is executed by Java (registered trademark) Script as a CGI script in the programming service 132. That is, the PC 200 detects a button operation on the programming screen 201 and transmits the event to the programming service, and the programming service 132 executes Java (registered trademark) Script corresponding to the event. The following description assumes that Java (registered trademark) Script is included in the programming service 132.

まず、プログラミングサービス132は、クリック操作されたボタンの種類を判断する(ステップS501)。プログラミング画面201で保存ボタンがクリックされた場合には、プログラミングサービス132は、ファイル名称を利用者に指定させ、カスタマイズプログラムを指定された名称で複合機100のHDD103のカスタマイズディレクトリに格納する(ステップS502 )。   First, the programming service 132 determines the type of button that has been clicked (step S501). When the save button is clicked on the programming screen 201, the programming service 132 causes the user to specify a file name, and stores the customization program in the customization directory of the HDD 103 of the MFP 100 with the specified name (step S502). ).

図9は、カスタマイズディレクトリに格納されたカスタマイズプログラムの名称の一例を示す説明図である。図9に示すように、複合機100のHDD103のカスタマイズディレクトリは、hdd/xxx/opepaneとなっており、このカスタマイズディレクトリにカスタマイズプログラムであるshell1,shell2 ,shell3 が格納されている。   FIG. 9 is an explanatory diagram showing an example of names of customization programs stored in the customization directory. As shown in FIG. 9, the customization directory of the HDD 103 of the multifunction peripheral 100 is hdd / xxx / opepane, and the customization programs shell1, shell2, and shell3 are stored in the customization directory.

一方、プログラミング画面201で実行設定ボタンが押下された場合には、プログラミングサービス132は、上述のようにカスタマイズプログラムとボタンとの対応付けを行う(ステップS503)。   On the other hand, when the execution setting button is pressed on the programming screen 201, the programming service 132 associates the customization program with the button as described above (step S503).

図10は、キー対応付けテーブルの内容の一例を示す説明図である。図10に示すように、キー対応付けテーブルには、ボタンのキーコードとカスタマイズプログラム名称が対応付けられている。   FIG. 10 is an explanatory diagram showing an example of the contents of the key association table. As shown in FIG. 10, the key association table associates key codes of buttons and customized program names.

また、プログラミング画面201でテスト実行ボタンが押下された場合には、プログラミングサービス132は、格納されたカスタマイズプログラムの実行を行う(ステップS504)。これは、例えば、プログラミングサービス132がカスタマイズプログラをシェルで実行するためのコマンドを実行することによっておこなわれる。   When the test execution button is pressed on the programming screen 201, the programming service 132 executes the stored customization program (step S504). This is performed, for example, by the programming service 132 executing a command for executing the customized program in the shell.

このとき、テスト実行によって、オペレーションパネル210に表示される画面と同一の画面をPC200で動作しているブラウザに表示する。これは、例えば、プログラミングサービス132が、プログラムのテスト実行により発生するオペレーションパネル画面への描画命令等を取得し、その描画命令に対応して表示される画面内容と同じ内容をPC200の画面に表示するような命令をPC200に対して送信することにより実現できる。   At this time, the same screen as that displayed on the operation panel 210 is displayed on the browser operating on the PC 200 by the test execution. This is because, for example, the programming service 132 acquires a drawing command or the like on the operation panel screen generated by the test execution of the program, and displays the same content as the screen content displayed corresponding to the drawing command on the screen of the PC 200. This can be realized by transmitting such a command to the PC 200.

テスト実行によってエラーが出た場合には、PC200でプログラムの修正を行い、修正したプログラムをアップロードし、再びテスト実行をする。   If an error occurs during the test execution, the program is corrected by the PC 200, the corrected program is uploaded, and the test is executed again.

次に、このようにして生成されたカスタマイズプログラムの実行処理について説明する。図11は、複合機100の電源投入が行われてから、カスタマイズプログラムの実行が可能となるまでの一連の処理の手順を示すフローチャートである。   Next, the execution process of the customization program generated in this way will be described. FIG. 11 is a flowchart illustrating a series of processing procedures from when the MFP 100 is turned on until the customization program can be executed.

カスタマイズプログラムのカスタマイズディレクトリへの保存および起動設定ファイル211への設定が完了したら、利用者は複合機100の電源を再投入する。このとき複合機100では、ROMモニタ(図示せず)によってハードウェアの診断処理を行い(ステップS1001)、その後汎用OS121を起動し(ステップS1002)、さらに複合機初期化部129を起動する(ステップS1003 )。複合機初期化部129は、まずコントロールサービスの起動を行い(ステップS1004)、続いてコピーアプリ112、プリンタアプリ111などの複合機100の出荷時に提供されている既存アプリを起動し(ステップS1005 )、さらに出荷後新たに開発された外部アプリなどのプログラムを起動するためにプログラム起動部131を起動する(ステップS1006 )。   When the saving of the customization program in the customization directory and the setting in the activation setting file 211 are completed, the user turns on the power of the multifunction peripheral 100 again. At this time, the multifunction device 100 performs hardware diagnosis processing using a ROM monitor (not shown) (step S1001), then starts the general-purpose OS 121 (step S1002), and further starts the multifunction device initialization unit 129 (step S1001). S1003). The MFP initialization unit 129 first activates the control service (step S1004), and then activates existing applications provided at the time of shipment of the MFP 100 such as the copy application 112 and the printer application 111 (step S1005). Further, the program activation unit 131 is activated to activate a program such as an external application newly developed after shipment (step S1006).

プログラム起動部131は、まずHDD103の起動設定ファイル211を参照し(ステップS1007)、起動すべきプログラムの名称を取得する。   The program activation unit 131 first refers to the activation setting file 211 of the HDD 103 (step S1007) and acquires the name of the program to be activated.

図12は、起動設定ファイル211の一例を示す説明図である。図12に示すように、起動設定ファイル211には、「プログラム名称 カスタマイズプログラム名」の形式で、プログラム起動部131によって起動されるプログラムが登録されている。図12の例では、シェルスクリプトであるシェルのプログラムが最初に登録され、その後に、外部アプリとしてxxxアプリが登録されている。   FIG. 12 is an explanatory diagram illustrating an example of the activation setting file 211. As illustrated in FIG. 12, a program to be activated by the program activation unit 131 is registered in the activation setting file 211 in the format of “program name customized program name”. In the example of FIG. 12, a shell program that is a shell script is registered first, and then an xxx application is registered as an external application.

このため、図12の例では、プログラム起動部131は、まずシェルを起動し、次いで、外部アプリであるXXXアプリを順に起動するように設定されている。このため、プログラム起動部131は、まずインタプリタ134(シェル)を起動し(ステップS1008)、次いで、外部アプリであるXXXアプリを順に起動する(ステップS1009)。   For this reason, in the example of FIG. 12, the program starting unit 131 is set to start the shell first, and then sequentially start the XXX application that is an external application. Therefore, the program activation unit 131 first activates the interpreter 134 (shell) (step S1008), and then sequentially activates the XXX application that is an external application (step S1009).

オペレーションパネル210の操作表示部に表示されたボタン(キー)の中で、カスタマイズプログラムが割り付けられたボタン(キー)を押下(タッチ操作)すると、シェルスクリプトで記述されたカスタマイズプログラムがシェルによって実行される。これは例えば次のようにして実行される。   When the button (key) to which the customization program is assigned is pressed (touch operation) among the buttons (keys) displayed on the operation display section of the operation panel 210, the customization program described in the shell script is executed by the shell. The This is executed, for example, as follows.

すなわち、カスタマイズプログラムが割り付けられたボタン(キー)の押下情報をプログラミングサービス132が取得し、キー対応付けテーブルを参照することによりそのボタンに対応するカスタマイズプログラムファイル名を取得する。そして、そのカスタマイズプログラムをシェルで実行するための命令を実行する。なお、上記の起動設定ファイルにカスタマイズプログラムを設定することにより、カスタマイズプログラムを実行してもよい。   That is, the programming service 132 acquires information on pressing a button (key) to which a customization program is assigned, and acquires a customization program file name corresponding to the button by referring to the key association table. Then, an instruction for executing the customization program in the shell is executed. Note that the customization program may be executed by setting the customization program in the startup setting file.

このように実施の形態1にかかる複合機100では、プログラミングサービス132によって、ネットワーク上のPC200に、カスタマイズプログラムのプログラミング画面を表示し、この画面からカスタマイズプログラムを入力させ、複合機100のシェル134によって、カスタマイズプログラムを実行する。これにより、カスタマイズプログラムの開発において、プログラミング画面から追加、修正ができ、また追加修正による再コンパイル、再リンクなしに複合機100で実行でき、プログラムの作成を容易に行うことができる。   As described above, in the MFP 100 according to the first embodiment, the programming service 132 displays the customization program programming screen on the PC 200 on the network, and allows the customization program to be input from this screen. Run the customization program. Thereby, in the development of the customized program, addition and correction can be performed from the programming screen, and the customization program can be executed by the multi-function device 100 without recompilation and relinking by the additional correction, so that the program can be easily created.

また、実施の形態1にかかる複合機100では、プログラミングサービス132によって、インターネットに接続されたPC200に対しプログラミング画面を表示し、この画面からカスタマイズプログラムを入力させているので、カスタマイズプログラムの入力を入力が容易なPC200で行うことができ、複合機100上でカスタマイズプログラムの作成編集を行う場合に比べて、カスタマイズプログラムの作成をより効率的に行うことができる。   In the MFP 100 according to the first embodiment, the programming service 132 displays a programming screen on the PC 200 connected to the Internet, and a customization program is input from this screen. The customization program can be created more efficiently than the case where the customization program is created and edited on the multifunction peripheral 100.

なお、実施の形態1にかかる複合機100では、インターネット220に接続されたクライアント端末としてのPC200の要求により、カスタマイズプログラムの入力処理を行っているが、インターネット以外のネットワーク、例えばLANなどに接続されたクライアント端末からカスタマイズプログラムの入力を行うように構成することも可能である。また、通信プロトコルとしては、TCP/IP以外のプロトコルを利用しても良い。   In the MFP 100 according to the first embodiment, the customization program is input in response to a request from the PC 200 as a client terminal connected to the Internet 220. However, the MFP 100 is connected to a network other than the Internet, such as a LAN. It is also possible to configure so that the customization program is input from the client terminal. Further, a protocol other than TCP / IP may be used as a communication protocol.

また、上記の実施の形態では、複合機からPC200に対してプログラム入力画面を送信しているが、PC200が本実施の形態におけるプログラムの入力、送信などを行うプログラムを備えていてもよい。   In the above embodiment, the program input screen is transmitted from the multifunction device to the PC 200. However, the PC 200 may include a program for inputting and transmitting the program in the present embodiment.

(実施の形態2)
実施の形態1にかかる複合機100は、ネットワーク接続されたクライアント端末であるPC200でカスタマイズプログラムを作成して複合機100に保存するものであったが、この実施の形態2にかかる複合機は、カスタマイズプログラムの入力を複合機100のオペレーションパネルから行うものである。
(Embodiment 2)
The MFP 100 according to the first embodiment creates a customization program on the PC 200, which is a client terminal connected to the network, and stores it in the MFP 100. The MFP according to the second embodiment includes The customization program is input from the operation panel of the multifunction machine 100.

図13は、実施の形態2にかかる複合機1100における主要構成を示すブロック図である。なお、複合機1100の他の構成については、図2に示した実施の形態1の複合機100の構成と同様である。図13に示すように、本実施の形態にかかる複合機1100は、複合機初期化部129と、プログラム起動部131と、プログラミングサービス1132と、インタプリタ(シェル)134と、HDD103とを備えた構成となっている。   FIG. 13 is a block diagram of a main configuration of the multifunction peripheral 1100 according to the second embodiment. The other configuration of the multifunction device 1100 is the same as the configuration of the multifunction device 100 of the first embodiment shown in FIG. As illustrated in FIG. 13, the multifunction peripheral 1100 according to the present embodiment includes a multifunction peripheral initialization unit 129, a program activation unit 131, a programming service 1132, an interpreter (shell) 134, and an HDD 103. It has become.

プログラミングサービス1132は、オペレーションパネル210の操作表示部にプログラミング画面を表示し、表示されたプログラミング画面からカスタマイズプログラムを入力させるものである。また、プログラミングサービス1132は、入力されたカスタマイズプログラムをHDD103のカスタマイズ領域として作成されたカスタマイズディレクトリ212に保存する。さらに、プログラミングサービス1132は、複合機1100上でカスタマイズプログラムが実行されるように、起動設定ファイルに入力されたカスタマイズプログラムを登録することもできる。   The programming service 1132 displays a programming screen on the operation display unit of the operation panel 210 and inputs a customization program from the displayed programming screen. The programming service 1132 stores the input customization program in the customization directory 212 created as a customization area of the HDD 103. Further, the programming service 1132 can register the customization program input to the activation setting file so that the customization program is executed on the multifunction peripheral 1100.

なお、複合機初期化部129、プログラム起動部131、シェル134の機能およびHDD103の起動設定ファイル211およびカスタマイズ領域としてのカスタマイズディレクトリについては、実施の形態1にかかる複合機100と同様である。   The functions of the MFP initialization unit 129, the program startup unit 131, the shell 134, the startup setting file 211 of the HDD 103, and the customization directory as a customization area are the same as those of the MFP 100 according to the first embodiment.

図14は、プログラミング画面1101の一例を示す説明図である。本実施の形態にかかる複合機1100において、カスタマイズプログラムを作成するためには、例えば、システム初期設定画面からプログラミングのタグを選択してプログラミング画面を表示させる。   FIG. 14 is an explanatory diagram showing an example of the programming screen 1101. In order to create a customization program in the MFP 1100 according to the present embodiment, for example, a programming tag is selected from the system initial setting screen and the programming screen is displayed.

このプログラミング画面1101は、実施の形態1における同画面とほぼ同様に、入力フィールドと、参照ボタンと、保存ボタンと、実行設定ボタンと、テスト実行ボタンとが表示されている。かかるプログラミング画面1101では、タッチ操作でキー入力を行うソフトウェアキーボードを操作表示部に表示させて、入力フィールドにカスタマイズプログラムを入力することできる。   The programming screen 1101 displays an input field, a reference button, a save button, an execution setting button, and a test execution button, almost the same as the screen in the first embodiment. On the programming screen 1101, a software keyboard for performing key input by touch operation can be displayed on the operation display unit, and a customization program can be input in the input field.

しかしながら、操作表示部の領域サイズや入力の困難さから直接カスタマイズプログラムを入力することは困難である。このため、予めHDD103などの記憶媒体の所望の領域に、PCなどで作成したカスタマイズプログラムをネットワーク経由で格納し、プログラミング画面1101上の参照ボタンを押下して、カスタマイズプログラムを選択することにより、入力フィールドにカスタマイズプログラムを表示し、ソフトウェアキーボードを表示させ、プログラムの簡単な修正などだけを入力フィールドで行うことが好ましい。   However, it is difficult to directly input a customization program because of the area size of the operation display unit and the difficulty of input. For this reason, a customization program created by a PC or the like is stored in a desired area of a storage medium such as the HDD 103 via a network, and a reference button on the programming screen 1101 is pressed to select a customization program. It is preferable to display a customization program in the field, display a software keyboard, and perform only simple correction of the program in the input field.

そして、カスタマイズプログラムが完成したら、保存ボタンを押下する。これによって、実施の形態1と同様に、プログラミングサービス1132によって、カスタマイズプログラムをHDD103のカスタマイズディレクトリに保存する。また、実行設定ボタンを押下すると、実施の形態1と同様に、プログラミングサービス1132によって、カスタマイズプログラムとカスタマイズプログラムで指定されたボタン(キー)のキーコードが対応付けられてテーブルとして保存される。なお、作成したカスタマイズプログラムの実行処理については、実施の形態1の複合機100 と同様である。   When the customization program is completed, the save button is pressed. As a result, as in the first embodiment, the customization service is stored in the customization directory of the HDD 103 by the programming service 1132. When the execution setting button is pressed, as in the first embodiment, the programming service 1132 associates the customization program and the key code of the button (key) designated by the customization program and stores them as a table. Note that the execution processing of the created customization program is the same as that of the MFP 100 of the first embodiment.

このように実施の形態2にかかる複合機1100では、プログラミングサービス1132によって、オペレーションパネル210の操作表示部にプログラミング画面1101を表示し、この画面からカスタマイズプログラムを入力させているので、ネットワークに接続されていないスタンドアローンの複合機1100においてもカスタマイズプログラムを作成することができる。   As described above, in the MFP 1100 according to the second embodiment, the programming service 1132 displays the programming screen 1101 on the operation display unit of the operation panel 210, and inputs the customization program from this screen. A customized program can be created even in a stand-alone multifunction device 1100 that is not installed.

(実施の形態3)
実施の形態1および2の複合機100,1100は、カスタマイズプログラムと操作表示部のボタン(キー)との対応付けをカスタマイズプログラムの記述により行うものであったが、この実施の形態3にかかる複合機は、複合機の電源投入時にカスタマイズプログラムと操作表示部のボタン(キー)との対応付けを動的に行うものである。
(Embodiment 3)
The multifunction peripherals 100 and 1100 according to the first and second embodiments associate the customization program with the buttons (keys) of the operation display unit based on the description of the customization program. The machine dynamically associates the customization program with the buttons (keys) of the operation display unit when the MFP is turned on.

図15は、実施の形態3にかかる複合機1300の機能的構成を示すブロック図である。本実施の形態の複合機1300では、実施の形態1と同様に、ネットワーク上のPC200でカスタマイズプログラムの作成を行って、複合機1300のHD103に作成されたカスタマイズプログラムを保存して実行する。   FIG. 15 is a block diagram of a functional configuration of the MFP 1300 according to the third embodiment. In the multifunction device 1300 according to the present embodiment, as in the first embodiment, a customization program is created by the PC 200 on the network, and the customization program created in the HD 103 of the multifunction device 1300 is stored and executed.

図15に示すように、本実施の形態の複合機1300は、オペパネ登録部133を備えている点が図2に示す実施の形態1の複合機100と異なっており、他の構成は実施の形態1の複合機100と同様である。   As shown in FIG. 15, the multifunction device 1300 of the present embodiment is different from the multifunction device 100 of the first embodiment shown in FIG. 2 in that an operation panel registration unit 133 is provided. This is the same as the MFP 100 of the first embodiment.

オペパネ登録部133は、カスタマイズプログラムを実行させるためのボタン(キー)の割り付けを行うものである。すなわち、オペパネ登録部133によって割り付けたボタン(キー)をオペレーションパネル上で押下(タッチ操作)することによって、カスタマイズプログラムが実行される。   The operation panel registration unit 133 assigns a button (key) for executing the customization program. That is, the customization program is executed by pressing (touching) a button (key) assigned by the operation panel registration unit 133 on the operation panel.

PC200上からのカスタマイズプログラムの作成および保存の処理は、実施の形態1のプログラミングサービス131と同様に行われる。   Processing for creating and saving a customization program from the PC 200 is performed in the same manner as the programming service 131 of the first embodiment.

以下、カスタマイズプログラムと操作表示部に表示されるボタン(キー)の割付処理について説明する。カスタマイズプログラムのカスタマイズディレクトリへの保存が完了すると、作成したカスタマイズプログラムをオペレーションパネル210のボタン(キー)に割り付けるために、利用者は複合機100の電源を再投入する。   Hereinafter, the assignment process of the customization program and the button (key) displayed on the operation display unit will be described. When saving of the customization program to the customization directory is completed, the user turns on the power of the multi-function device 100 in order to assign the created customization program to the button (key) of the operation panel 210.

図16は、複合機1300の電源投入が行われてから、カスタマイズプログラムとボタン(キー)との割り付けが完了するまでの一連の処理の手順を示すフローチャートである。   FIG. 16 is a flowchart illustrating a series of processing procedures from when the multifunction device 1300 is powered on until assignment of the customization program and the button (key) is completed.

複合機1300の電源投入からプログラム起動部131までの処理(ステップS1501〜S1506)については、実施の形態1の複合機100による処理(ステップS1001〜S1006)と同様である。   Processing from power-on of the multifunction device 1300 to the program activation unit 131 (steps S1501 to S1506) is the same as the processing (steps S1001 to S1006) performed by the multifunction device 100 of the first embodiment.

起動されたプログラム起動部131は、まずHDD103の起動設定ファイル211を参照し(ステップS1507)、起動すべきプログラムの名称を取得する。図17は、本実施の形態で使用される起動設定ファイル211の内容の一例を示す説明図である。この例では、オペパネ登録部のプログラム、シェルおよび外部アプリであるXXX アプリを順に起動するように設定されている。   The activated program activation unit 131 first refers to the activation setting file 211 of the HDD 103 (step S1507) and acquires the name of the program to be activated. FIG. 17 is an explanatory diagram showing an example of the contents of the activation setting file 211 used in the present embodiment. In this example, the operation panel registration unit program, the shell, and the external application XXX application are set to be activated in order.

このため、プログラム起動部131は、まずオペパネ登録部133のプログラムを起動する(ステップS1508)。なお、このオペパネ登録部133のプログラムは、予めカスタマイズディレクトリに格納されている。次いで、インタプリタ(シェル)134を起動し(ステップS1509)、最後に、登録されている外部アプリを起動する(ステップS1510)。   Therefore, the program activation unit 131 first activates the program of the operation panel registration unit 133 (step S1508). Note that the program of the operation panel registration unit 133 is stored in the customization directory in advance. Next, the interpreter (shell) 134 is activated (step S1509), and finally the registered external application is activated (step S1510).

起動されたオペパネ登録部133は、キー割り付け設定画面をオペレーションパネルに表示する(ステップS1511)。図18は、キー割り付け設定画面の一例を示す説明図である。図18に示すように、キー割り付け設定画面には、各カスタマイズプログラムごとに割り付け可能なボタン(キー)が表示され、かかる画面で所望のボタン(キー)を押下(タッチ操作)すると、オペパネ登録部133は、該当するカスタマイズプログラムの名称と押下されたボタン(キー)のキーコードとを対応付けて、HDD103又はフラッシュメモリなどの記憶媒体にテーブル情報として格納する(ステップS1512)。これによって、オペレーションパネルに表示されるボタン(キー)にカスタマイズプログラムが割り付けられることになる。   The activated operation panel registration unit 133 displays a key assignment setting screen on the operation panel (step S1511). FIG. 18 is an explanatory diagram showing an example of a key assignment setting screen. As shown in FIG. 18, on the key assignment setting screen, buttons (keys) that can be assigned for each customization program are displayed. When a desired button (key) is pressed (touch operation) on such a screen, an operation panel registration unit is displayed. 133 associates the name of the corresponding customization program with the key code of the pressed button (key) and stores it as table information in a storage medium such as the HDD 103 or flash memory (step S1512). As a result, the customization program is assigned to the button (key) displayed on the operation panel.

このように実施の形態3にかかる複合機1300では、プログラミングサービス132によって、プログラミング画面201を表示してカスタマイズプログラムを入力させ、オペパネ登録部133によって、カスタマイズプログラムを操作表示部に表示および入力を行うボタン(キー)に割り付ける。このオペパネ登録部133を複合機1300の電源投入時に起動することにより、カスタマイズプログラムが実行される場合のボタン操作を複合機1300の起動時に動的に定めることができる。   As described above, in the MFP 1300 according to the third embodiment, the programming service 132 displays the programming screen 201 to input the customization program, and the operation panel registration unit 133 displays and inputs the customization program on the operation display unit. Assign to a button (key). By starting the operation panel registration unit 133 when the multifunction device 1300 is turned on, the button operation when the customization program is executed can be dynamically determined when the multifunction device 1300 is started.

なお、本実施の形態では、オペパネ登録部133によってボタン(キー)への割り付け処理を行っているが、例えば、SCS122などのコントロールサービスでボタン(キー)割り付け処理を行うようにしてもよい。これにより、割り付け処理のために別途プログラムを起動する必要が無くなり、効率的な処理が行える。   In this embodiment, the operation panel registration unit 133 performs button (key) allocation processing. However, for example, the button (key) allocation processing may be performed by a control service such as the SCS 122. Thereby, it is not necessary to start a separate program for the allocation process, and an efficient process can be performed.

(実施の形態4)
実施の形態1〜3の複合機100,1100,1300は、シェルスクリプトとしてカスタマイズプログラムを複合機100,1300の汎用OS121で用意されたコマンドインタプリタであるシェル134によって実行するものであったが、この実施の形態4にかかる複合機は、シェル134以外のインタプリタを使用してカスタマイズプログラムを実行するものである。
(Embodiment 4)
The MFPs 100, 1100, and 1300 according to the first to third embodiments execute a customization program as a shell script by the shell 134 that is a command interpreter prepared by the general-purpose OS 121 of the MFPs 100 and 1300. The multifunction machine according to the fourth embodiment executes a customization program using an interpreter other than the shell 134.

図19は、実施の形態4にかかる複合機1700を備えたネットワーク構成図であり、図20は、実施の形態4にかかる複合機1700の機能的構成を示すブロック図である。実施の形態4にかかる複合機1700は、実施の形態1と同様に、TCP/IPを利用したインターネットに接続され、当該ネットワークに接続されたクライアント端末であるPC200からカスタマイズプログラムの入力およびデバッグ作業を行うことを可能としたものである。なお、カスタマイズプログラムとしては、例えば、オペレーションパネル210の操作表示部にボタンを表示し、あるボタンを押したときにそのボタンに対応した処理を行うためのプログラムがある。   FIG. 19 is a network configuration diagram including the MFP 1700 according to the fourth embodiment. FIG. 20 is a block diagram illustrating a functional configuration of the MFP 1700 according to the fourth embodiment. Similar to the first embodiment, the MFP 1700 according to the fourth embodiment is connected to the Internet using TCP / IP, and inputs customization programs and debugging operations from the PC 200 which is a client terminal connected to the network. It is possible to do. Examples of the customization program include a program for displaying a button on the operation display unit of the operation panel 210 and performing processing corresponding to the button when a certain button is pressed.

本実施の形態の複合機1700では、カスタマイズプログラムを、Visual Basic(登録商標)言語で記述する。そして、作成されたカスタマイズプログラムを、汎用OS121の配下で動作するVisual Basicインタプリタで実行させている。   In the MFP 1700 of this embodiment, the customization program is described in Visual Basic (registered trademark) language. The created customization program is executed by a Visual Basic interpreter operating under the general-purpose OS 121.

図19に示すように、複合機1700は、複合機初期化部129と、プログラム起動部131と、プログラミングサービス132と、Visual Basicインタプリタ1734(以下、「VBインタプリタ1734」という。)と、NCS128と、httpd106と、共有メモリ105と、HDD103とを備えた構成となっている。なお、プログラミングサービス132、複合機初期化部129、プログラム起動部131、NCS128、httpd106の構成および機能、HDD103に格納される起動設定ファイル211の内容およびカスタマイズディレクトリについては、実施の形態1の複合機100と同様である。   As illustrated in FIG. 19, the multifunction peripheral 1700 includes a multifunction peripheral initialization unit 129, a program activation unit 131, a programming service 132, a Visual Basic interpreter 1734 (hereinafter referred to as “VB interpreter 1734”), and an NCS 128. , Httpd 106, shared memory 105, and HDD 103. Note that the configuration and functions of the programming service 132, the MFP initialization unit 129, the program startup unit 131, the NCS 128, and the httpd 106, the contents of the startup setting file 211 stored in the HDD 103, and the customization directory are described in the MFP 1 100.

VBインタプリタ1734は、カスタマイズプログラムをステップごとに解析し逐次実行するものである。本実施の形態において、カスタマイズプログラムの作成および保存は、実施の形態1のプログラミングサービス132と同様に行われる。   The VB interpreter 1734 analyzes the customization program step by step and executes it sequentially. In the present embodiment, the customization program is created and saved in the same manner as the programming service 132 of the first embodiment.

また、本実施の形態の複合機1700では、VBインタプリタ1734によってカスタマイズプログラムを実行させるため、複合機1700の起動時にVBインタプリタ1734も起動させておく必要がある。このため、実施の形態1と同様の起動設定ファイル211にVBインタプリタ1734のプログラム名称を予め設定しておく。   In the multifunction device 1700 of this embodiment, since the customization program is executed by the VB interpreter 1734, the VB interpreter 1734 must be activated when the multifunction device 1700 is activated. Therefore, the program name of the VB interpreter 1734 is set in advance in the same startup setting file 211 as in the first embodiment.

図21は、起動設定ファイルの内容の一例を示す説明図である。図21に示すように、本実施の形態の複合機1700で使用する起動設定ファイル211には、先頭の行に「VBインタプリタプログラム」が設定されている。このため、プログラム起動部131は、起動設定ファイル211を参照した後、まずVBインタプリタ1734を起動することになり、これによってカスタマイズプログラムの実行が可能となる。   FIG. 21 is an explanatory diagram showing an example of the contents of the startup setting file. As shown in FIG. 21, “VB interpreter program” is set in the first line of the startup setting file 211 used in the MFP 1700 of this embodiment. For this reason, the program activation unit 131 first activates the VB interpreter 1734 after referring to the activation setting file 211, thereby enabling execution of the customized program.

このように実施の形態4にかかる複合機1700では、汎用OS121の配下で動作するVBインタプリタによってカスタマイズプログラムを実行するので、汎用OSで提供されるインタプリタよりも高度な処理を行えるインタプリタを利用することができる。従って、UNIX(登録商標)のシェルを用いるよりも高度なプログラムを容易に作成することが可能となる。   As described above, in the MFP 1700 according to the fourth embodiment, the customization program is executed by the VB interpreter operating under the general-purpose OS 121. Therefore, an interpreter capable of performing higher-level processing than the interpreter provided by the general-purpose OS should be used. Can do. Therefore, it is possible to easily create a higher-level program than using a UNIX (registered trademark) shell.

なお、実施の形態4では、PC200上ではVBインタプリタはインストールされていないが、PC200にVisual Basic開発環境をインストールし、操作表示部の画面設計を含むプログラム作成をPC200上で行って、生成されたプログラムをファイル転送などを利用して、複合機1700のカスタマイズディレクトリに格納するように構成しても良い。   In the fourth embodiment, the VB interpreter is not installed on the PC 200. However, the Visual Basic development environment is installed on the PC 200, and a program including the screen design of the operation display unit is created on the PC 200. The program may be stored in a customization directory of the multifunction peripheral 1700 using file transfer or the like.

また、実施の形態4の複合機1700では、インタプリタとしてVBインタプリタ1734を使用し、開発するカスタマイズプログラムをVisual Basic言語で記述していたが、この他、インタプリタ用の言語を用いても良い。例えば、複合機1700にJava(登録商標)VM(仮想マシン)を搭載し、カスタマイズプログラムをJava(登録商標)言語で記述するように構成することもできる。   In the MFP 1700 of the fourth embodiment, the VB interpreter 1734 is used as an interpreter, and the customized program to be developed is described in the Visual Basic language. However, an interpreter language may also be used. For example, a Java (registered trademark) VM (virtual machine) may be mounted on the multifunction device 1700, and the customization program may be configured to be written in the Java (registered trademark) language.

実施の形態1〜4にかかる複合機では、プログラミングサービス132をコントロールサービス層に搭載した構成としているが、アプリケーション層に搭載した構成とすることもできる。   In the MFPs according to the first to fourth embodiments, the programming service 132 is mounted on the control service layer. However, the programming service 132 may be mounted on the application layer.

(実施の形態5)
実施の形態4にかかる複合機は、汎用OS121の配下で動作するインタプリタを使用してカスタマイズプログラムを実行するものであったが、この実施の形態5にかかる複合機1800は、VBインタプリタ1801とVBアプリ1802をアプリケーション層に搭載した構成としたものである。
(Embodiment 5)
The MFP according to the fourth embodiment executes a customization program using an interpreter that operates under the general-purpose OS 121. The MFP 1800 according to the fifth embodiment includes a VB interpreter 1801 and a VB. The application 1802 is installed in the application layer.

図22に、実施の形態5に係る複合機の機能構成のブロック図を示す。実施の形態5にかかる複合機は、実施の形態4と同様に、TCP/IPを利用したインターネットに接続され、当該ネットワークに接続されたクライアント端末であるPC200から、カスタマイズプログラムの入力およびデバッグ作業を行うことを可能としたものである。ただし、実施の形態5では、作成されたカスタマイズプログラム(以下、VBアプリと称する)を、アプリケーション層に搭載されたVisual Basicインタプリタ(以下、VBインタプリタと称する)で実行させている。なお、図中、プログラミングサービス132をアプリケーション層に搭載した構成としてもよい。   FIG. 22 is a block diagram showing a functional configuration of the multifunction peripheral according to the fifth embodiment. As in the fourth embodiment, the MFP according to the fifth embodiment is connected to the Internet using TCP / IP, and inputs customization programs and debugs from a PC 200 that is a client terminal connected to the network. It is possible to do. However, in the fifth embodiment, the created customization program (hereinafter referred to as “VB application”) is executed by a Visual Basic interpreter (hereinafter referred to as “VB interpreter”) installed in the application layer. In the figure, the programming service 132 may be mounted on the application layer.

Visual Basic開発環境をインストールしたPC200上でVBアプリの作成を行い、その作成したVBアプリを複合機に転送し、複合機でそのVBアプリを格納しておき、オペレーションパネルにおけるアプリ選択等に応じてVBアプリを起動してVBインタプリタ1801により実行するようにする。   Create a VB application on the PC 200 on which the Visual Basic development environment is installed, transfer the created VB application to the multifunction peripheral, store the VB application on the multifunction peripheral, and select the application on the operation panel. The VB application is activated and executed by the VB interpreter 1801.

以下、より具体的に説明する。   More specific description will be given below.

図23は、PC200上でVisual Basic開発環境を用いてVBアプリを作成している場面の例を示す図である。   FIG. 23 is a diagram illustrating an example of a scene in which a VB application is created on the PC 200 using the Visual Basic development environment.

同図中の画面内にはProject2-Form2(Form)の表題がついたウィンドウと、Project2-Form2(コード)の表題がついたウィンドウが示されている。   In the screen shown in the figure, a window with the title Project2-Form2 (Form) and a window with the title Project2-Form2 (code) are shown.

Project2-Form2(Form)の表題がついたウィンドウは、複合機のオペレーションパネルで表示されるメニュー画面を作成するためのものであり、表示されている状態では、3つのボタンが設定されており、一つは"SCAN"、一つは"FAX"あと一つは"START"のボタンである。これらのボタンが押された場合に、複合機のスキャニングやファックス送信などの動作が行われるように設計される。   The window with the title Project2-Form2 (Form) is used to create the menu screen displayed on the operation panel of the MFP. In the displayed state, three buttons are set. One is "SCAN", one is "FAX" and one is "START". When these buttons are pressed, the MFP is designed to perform operations such as scanning and fax transmission.

Project2-Form2(コード)の表題がついたウィンドウは、上記のパネルの画面中にあるボタンが押されたときの動作を記述するプログラミングを行うためのものである。   The window with the title Project2-Form2 (code) is for programming to describe the operation when a button on the panel screen is pressed.

図23に示す状態でプログラムの保存を行うと、Project2.vbpとForm2.frmという二つのファイルが生成される。Project2.vbpにはプロジェクトを管理するための情報や、プログラムを実行する際の条件となるものが、変数への値の設定として保存されている。   When the program is saved in the state shown in FIG. 23, two files named Project2.vbp and Form2.frm are generated. In Project 2.vbp, information for managing a project and conditions for executing a program are stored as setting values for variables.

Form2.frmは、VBインタプリタ1801によりインタプリトされるプログラムそのものであり、このVBアプリをPC200から複合機上のプログラミングサービス132を介してアップロードする。   Form2.frm is a program itself that is interpreted by the VB interpreter 1801, and this VB application is uploaded from the PC 200 via the programming service 132 on the multifunction peripheral.

そして、プログラミング画面201でテスト実行ボタンが押下された場合には、複合機上のVBインタプリタ1801が起動され、入力されたVBアプリの実行が行われる。このとき、テスト実行によって、オペレーションパネル210に表示される画面と同一の画面をPC200で動作しているブラウザに表示する。   When the test execution button is pressed on the programming screen 201, the VB interpreter 1801 on the multifunction machine is activated and the input VB application is executed. At this time, the same screen as that displayed on the operation panel 210 is displayed on the browser operating on the PC 200 by the test execution.

図24、25に、VBインタプリタ1801により実行されるVBアプリの例を示す。   24 and 25 show examples of VB applications executed by the VB interpreter 1801. FIG.

図24に示すVBプログラムが複合機において実行されると、まず、NEXTWINボタンを含むウィンドウが表示される。そして、NEXTWINボタンが押されると、call("change_display", "Form2")により、関数change_display("Form2")が実行され、次の画面(Form2ウィンドウ)に切り替わる。   When the VB program shown in FIG. 24 is executed in the multifunction machine, first, a window including a NEXTWIN button is displayed. When the NEXTWIN button is pressed, the function change_display (“Form2”) is executed by call (“change_display”, “Form2”), and the screen is switched to the next screen (Form2 window).

図25に、そのForm2ウィンドウを表示するVBプログラムを示す。なお、Form2のVBプログラムは、図23に示した画面に対応する。   FIG. 25 shows a VB program that displays the Form 2 window. The Form 2 VB program corresponds to the screen shown in FIG.

Form2ウィンドウでは、SCANボタンが押されたときに、
call("ScanStart", A4, ADF, TIFF, BINARY, "/work/tmpfile.tif")
gwOpItemCreate(win, MESSAGE_ITEM,
ITEM_MESSAGE_X, 0,
ITEM_MESSAGE_Y, 12,
ITEM_MESSAGE_WIDTH, 100,
ITEM_MESSAGE_HEIGHT, 12,
ITEM_MESSAGE_CENTER_X, 0,
ITEM_MESSAGE_BLINK, 0,
ITEM_MESSAGE, "文字列", 0,
ITEM_MESSAGE_FONT, FONT_12, 0,
0);
が実行される。
In the Form2 window, when the SCAN button is pressed,
call ("ScanStart", A4, ADF, TIFF, BINARY, "/work/tmpfile.tif")
gwOpItemCreate (win, MESSAGE_ITEM,
ITEM_MESSAGE_X, 0,
ITEM_MESSAGE_Y, 12,
ITEM_MESSAGE_WIDTH, 100,
ITEM_MESSAGE_HEIGHT, 12,
ITEM_MESSAGE_CENTER_X, 0,
ITEM_MESSAGE_BLINK, 0,
ITEM_MESSAGE, "string", 0,
ITEM_MESSAGE_FONT, FONT_12, 0,
0);
Is executed.

最初のScanStart関数は、A4サイズの原稿をADFから読み込んで、2値画像としてTIFFフォーマットでHDD上のファイル"/work/tempfile"で保管することを意味している。この関数をVBインタプリタ1801が解釈して、複合機に動作を行わせることとなる。
次の行のgwOpItemCreate()は複合機におけるOCS126によりその機能が提供されている関数であり、現在表示されている画面に文字列を表示する機能を実行するものである。gwOpItemCreate()は、VBインタプリタ1801により、OCS126への関数コールとして実行される。
The first ScanStart function means reading an A4 size document from the ADF and storing it as a binary image in the TIFF format in the file “/ work / tempfile” on the HDD. This function is interpreted by the VB interpreter 1801 to cause the multifunction device to perform an operation.
The gwOpItemCreate () on the next line is a function whose function is provided by the OCS 126 in the multifunction machine, and executes a function of displaying a character string on the currently displayed screen. gwOpItemCreate () is executed as a function call to the OCS 126 by the VB interpreter 1801.

このようにして作成されたVBアプリを複合機で実行させるには、図11に示した起動設定ファイルにVBインタプリタとVBアプリを設定し、例えば図10に示した手順と同様にして、VBインタプリタとVBアプリを起動する。   In order to execute the VB application created in this way on the multifunction peripheral, the VB interpreter and the VB application are set in the startup setting file shown in FIG. And start the VB app.

複合機でのVBアプリ実行時、オペレーションパネルに表示操作を行うためには次のような処理を行う。まず、VBインタプリタ1801は、SCS122からの画面描画準備完了イベントを待ち、上記のイベントを受け取ったら、初期表示するウィンドウイメージを作成する(ルートウィンドウ生成)。次に、VBアプリが、ルートウィンドウ内の子ウィンドウの生成や文字列表示の関数を実行することにより初期画面を準備する。そして、画面準備完了を示す関数を実行することにより、画面の準備ができたことをSCS122に通知する。次に、オペレーションパネル上でアプリ選択ボタンが選択されると、SCS122から操作部オーナー移行要求のイベントが発行される。このイベントをVBアプリが受け取ると、操作部オーナー移行可能であることを示す関数を実行し、この時点で上記の初期画面が表示される。この後、VBアプリの実質的な処理がVBインタプリタ1801により実行される。   In order to perform a display operation on the operation panel when the VB application is executed on the multifunction peripheral, the following processing is performed. First, the VB interpreter 1801 waits for a screen drawing preparation completion event from the SCS 122, and upon receiving the above event, creates a window image to be initially displayed (root window generation). Next, the VB application prepares an initial screen by executing a function of generating a child window in the root window and a character string display function. Then, by executing a function indicating completion of screen preparation, the SCS 122 is notified that the screen is ready. Next, when an application selection button is selected on the operation panel, an event of an operation unit owner transfer request is issued from the SCS 122. When the VB application receives this event, a function indicating that the operation unit owner can be transferred is executed, and the initial screen is displayed at this point. Thereafter, substantial processing of the VB application is executed by the VB interpreter 1801.

上記のように、本実施の形態によれば、VBインタプリタを用いることにより効率良くアプリを開発することが可能となる。
(実施の形態6)
実施の形態5にかかる複合機は、VBインタプリタをアプリケーション層に搭載した構成としたものであったが、実施の形態6にかかる複合機は、Java(登録商標)実行環境をアプリケーション層に搭載した構成としたものである。
As described above, according to the present embodiment, an application can be efficiently developed by using a VB interpreter.
(Embodiment 6)
The MFP according to the fifth embodiment has a configuration in which the VB interpreter is mounted on the application layer. The MFP according to the sixth embodiment has a Java (registered trademark) execution environment mounted on the application layer. It is a configuration.

図26に、実施の形態6に係る複合機1900の機能構成のブロック図を示す。同図に示すように、実施の形態6に係る複合機1900は、アプリケーション層にJava(登録商標)実行環境1901とJava(登録商標)アプリ1902を搭載した構成を有している。Java(登録商標)アプリケーションをPC(パーソナルコンピュータ)などで開発し、それを複合機にダウンロードしてJava(登録商標)実行環境1901を用いて実行する。   FIG. 26 shows a block diagram of a functional configuration of a multifunction machine 1900 according to the sixth embodiment. As shown in the figure, a multifunction machine 1900 according to the sixth embodiment has a configuration in which a Java (registered trademark) execution environment 1901 and a Java (registered trademark) application 1902 are installed in an application layer. A Java (registered trademark) application is developed on a PC (personal computer) or the like, downloaded to a multifunction peripheral, and executed using the Java (registered trademark) execution environment 1901.

図27は、PCにおけるJava(登録商標)開発環境と複合機1900におけるJava(登録商標)実行環境の構成を示す図である。   FIG. 27 is a diagram illustrating a configuration of a Java (registered trademark) development environment in a PC and a Java (registered trademark) execution environment in a multifunction machine 1900.

同図に示すように、複合機1900におけるJava(登録商標)実行環境は、クラスライブラリ1911、仮想マシン1912、アプリケーション管理部1914を有している。   As shown in the drawing, the Java (registered trademark) execution environment in the multifunction machine 1900 includes a class library 1911, a virtual machine 1912, and an application management unit 1914.

クラスライブラリ1911は、Java(登録商標)アプリが容易に複合機を操作するためのサービスを提供するために用いられるクラスライブラリである。本実施の形態におけるクラスライブラリは、例えば、操作パネルクラス、イベントクラス、複合機制御クラス、ネットワークトランザクションクラス、基本的なJava(登録商標)クラスライブラリ等から構成される。なお、Java(登録商標)アプリ自身もクラスの集合であり、そのクラスがクラスライブラリのクラスを呼び出すことにより、アプリの処理が実行される。Java(登録商標)アプリに、それが使用するクラスライブラリのクラスの機能を全て含めることにより、クラスライブラリ1911を搭載しない構成もあり得る。   The class library 1911 is a class library used for providing a service for a Java (registered trademark) application to easily operate the MFP. The class library according to the present embodiment includes, for example, an operation panel class, an event class, a multifunction device control class, a network transaction class, a basic Java (registered trademark) class library, and the like. The Java (registered trademark) application itself is also a set of classes, and when the class calls a class in the class library, the application process is executed. There may be a configuration in which the class library 1911 is not installed by including all the functions of the classes of the class library used by the Java (registered trademark) application.

Java(登録商標)のソースコードプログラムはコンパイルして中間コード形式のバイトコードされ、複合機にロードされる。仮想マシン1912はそのバイトコードを解釈・実行する。   A source code program of Java (registered trademark) is compiled, byte-coded in an intermediate code format, and loaded into a multi-function peripheral. The virtual machine 1912 interprets and executes the bytecode.

アプリケーション管理部1914は、Java(登録商標)アプリを管理する機能を有しており、例えば、Java(登録商標)アプリのリスト表示、起動や強制終了などのJava(登録商標)アプリ実行管理、Java(登録商標)アプリのロードやバージョンアップ、インストール済みのJava(登録商標)アプリの削除、アプリケーション登録のためのパスワード設定等を行う機能を有している。   The application management unit 1914 has a function of managing Java (registered trademark) applications. For example, Java (registered trademark) application execution management such as Java application (registered trademark) list display, activation and forced termination, Java It has functions for loading (registered trademark) application, upgrading the version, deleting the installed Java (registered trademark) application, setting a password for registering the application, and the like.

より詳細には、図28に示すように、Java(登録商標)の実行環境は更にネイティブプログラムインタフェース1913を有している。ネイティブプログラムインタフェース1913は、仮想マシン1912で実行されるJava(登録商標)コードが、C言語などの他のプログラミング言語で書かれたアプリケーションやライブラリと相互運用するための機能を有している。このネイティブプログラムインタフェース1913の機構を用いて、アプリはコントロールサービスのAPIにアクセスできる。   More specifically, as shown in FIG. 28, the execution environment of Java (registered trademark) further has a native program interface 1913. The native program interface 1913 has a function for allowing Java (registered trademark) code executed in the virtual machine 1912 to interoperate with an application or library written in another programming language such as C language. Using this native program interface 1913 mechanism, the application can access the API of the control service.

図27に示すJava(登録商標)開発環境は、Java(登録商標)の実行環境と同様のクラスライブラリ1921、仮想マシン1922、アプリケーション管理部1924を有している。また、更に、バイトコードを生成するためのJava(登録商標)コンパイラ1925と、アプリによる複合機の操作をエミュレートするエミュレータ1923を有している。このJava(登録商標)開発環境で開発されたJava(登録商標)アプリは、ICカード等の記録媒体を介して複合機のJava(登録商標)実行環境にロードできる。また、ネットワークを介してロードすることもできる。   The Java (registered trademark) development environment illustrated in FIG. 27 includes a class library 1921, a virtual machine 1922, and an application management unit 1924 similar to the Java (registered trademark) execution environment. Further, a Java (registered trademark) compiler 1925 for generating bytecodes and an emulator 1923 for emulating the operation of the multifunction machine by the application are provided. A Java (registered trademark) application developed in the Java (registered trademark) development environment can be loaded into the Java (registered trademark) execution environment of the multifunction peripheral via a recording medium such as an IC card. It can also be loaded via a network.

例えば、図29に示すように、WebサーバにJava(登録商標)開発環境で開発したJava(登録商標)アプリを格納しておき、Java(登録商標)実行環境からWebサーバにアクセスしてJava(登録商標)アプリをロードするように構成できる。また、Webサーバの代わりにFTPサーバを使用することもできる。   For example, as shown in FIG. 29, a Java (registered trademark) application developed in the Java (registered trademark) development environment is stored in the Web server, and the Web server is accessed from the Java (registered trademark) execution environment. Can be configured to load a registered trademark app. Further, an FTP server can be used instead of the Web server.

(Java(登録商標)アプリケーションの開発)
次に、Java(登録商標)開発環境でのJava(登録商標)アプリの開発について詳細に説明する。
(Development of Java (registered trademark) application)
Next, the development of a Java (registered trademark) application in the Java (registered trademark) development environment will be described in detail.

図30は、Java(登録商標)アプリ開発の流れを示す図である。このように、まず、Java(登録商標)のソースコードをJava(登録商標)ファイルとして作成し、これをJava(登録商標)コンパイラでコンパイルし、クラスファイルとする。そして、複数のクラスをまとめてJarファイルとする。なお、Jarファイルにはmainルーチンを持つクラスを示すファイルを含めておくことが好ましい。   FIG. 30 is a diagram showing a flow of Java (registered trademark) application development. In this way, first, a Java (registered trademark) source code is created as a Java (registered trademark) file, and this is compiled with a Java (registered trademark) compiler to form a class file. A plurality of classes are collected into a Jar file. The Jar file preferably includes a file indicating a class having a main routine.

このようにして作成したJava(登録商標)アプリを、これまでに説明した実施の形態と同様にして複合機上でテスト実行することにより、デバッグを行うことが可能であるが、本実施の形態では、図27に示すエミュレータ1923を用いることにより、ターゲットである複合機を用いずにJava(登録商標)アプリのデバッグをすることが可能である。これは、Java(登録商標)では、仮想マシンを使用する構成となっているため、実行環境をエミュレートすることが比較的容易であることによる。エミュレータを用いた開発が完了したら、Java(登録商標)アプリ(バイトコード)をネットワーク又はICカードを介して複合機にロードすることにより、複合機を用いた評価を行うことが可能である。   The Java (registered trademark) application created in this way can be debugged by executing a test on the multifunction peripheral in the same manner as in the embodiments described so far. Then, by using the emulator 1923 shown in FIG. 27, it is possible to debug the Java (registered trademark) application without using the target multifunction peripheral. This is because in Java (registered trademark), a virtual machine is used, so that it is relatively easy to emulate the execution environment. When development using the emulator is completed, it is possible to perform evaluation using the multifunction device by loading a Java (registered trademark) application (byte code) into the multifunction device via a network or an IC card.

エミュレータは、Java(登録商標)アプリ側からの命令を受信し、それに応じた動作を行うように記述したプログラムとして構成することができる。例えば、複合機のオペレーションパネルの表示部への表示命令に対しては、複合機上に表示する画面と同様の画面をPCのディスプレイ上に表示する。ただし、開発環境であるPCには複合機におけるエンジン(スキャナ、プリンタなど)がないので、例えば、Java(登録商標)アプリからのプリント命令に対しては、PCの画面上にプリントを行う画像を表示したり、PC自身に接続されているデフォルトのプリンタに印刷を行う。また、ユーザがコピー操作をPCのエミュレータ画面上でした場合には、例えば、ユーザにコピー対象となるファイルをローカルファイルシステムから選ぶように通知し、コピーのあて先を尋ねるダイアログボックスを表示し、選択されたファイルをその指定された宛先にコピーする。   The emulator can be configured as a program written to receive an instruction from the Java (registered trademark) application side and perform an operation corresponding to the instruction. For example, in response to a display command on the display unit of the operation panel of the multifunction device, a screen similar to the screen displayed on the multifunction device is displayed on the display of the PC. However, since the development environment PC does not have an engine (scanner, printer, etc.) in the multifunction machine, for example, in response to a print command from a Java (registered trademark) application, an image to be printed on the PC screen is displayed. Display or print to a default printer connected to the PC itself. Also, when the user performs a copy operation on the emulator screen of the PC, for example, the user is notified to select a file to be copied from the local file system, and a dialog box asking for the copy destination is displayed and selected. Copy the specified file to the specified destination.

なお、エミュレータは、図27に示すように仮想マシンとクラスライブラリとは別のプラグラムとして実装することもできるし、図31に示すように、クラスライブラリの中のクラスとして実装することもできる。   The emulator can be implemented as a program different from the virtual machine and the class library as shown in FIG. 27, or can be implemented as a class in the class library as shown in FIG.

図32に、エミュレータによりPCに表示されるオペレーションパネル画面を示す。この画面に表示されるボタンなどの要素は、実際の複合機のものと同等である。また、エミュレータは、格納したJava(登録商標)アプリを選択して実行するローダーの機能も有している。ローダーとして動作する場合には、例えば、図33に示す画面を表示する。そして、ユーザはJava(登録商標)アプリを選択し、実行ボタンを押すことによりJava(登録商標)アプリが実行される。なお、ここで表示されるJava(登録商標)アプリは、mainルーチンを持つクラス名、もしくはJarファイル名である。   FIG. 32 shows an operation panel screen displayed on the PC by the emulator. Elements such as buttons displayed on this screen are the same as those of an actual multifunction device. The emulator also has a loader function for selecting and executing a stored Java (registered trademark) application. When operating as a loader, for example, the screen shown in FIG. 33 is displayed. Then, the user selects the Java (registered trademark) application and presses the execution button to execute the Java (registered trademark) application. Note that the Java (registered trademark) application displayed here is a class name having a main routine or a Jar file name.

エミュレータは、エミュレータ上で動作するアプリケーションの状態状態情報を自動的にログファイルに収集する機能も有しており、どのようなメッセージをログとして残すかの設定もできる。例えば、アプリを異常終了させるような深刻なエラーのみをログとして収集するように設定したり、アプリケーションのデバッグに有益な詳細情報をログとして収集するように設定することができる。   The emulator also has a function of automatically collecting status information of applications running on the emulator in a log file, and it is possible to set what messages are to be left as logs. For example, it can be set so that only serious errors that cause the application to terminate abnormally are collected as a log, or detailed information useful for debugging an application is collected as a log.

エミュレータを用いて開発環境側でプログラムのデバッグを行うことは、他の実施の形態においても適用可能である。すなわち、例えば実施の形態1において、PC200にインタプリタと、本実施の形態と同様のエミュレータを搭載する。プログラムのデバッグが進んだところで、評価のために複合機にアクセスしてプログラムを送信する。   Debugging a program on the development environment side using an emulator can also be applied to other embodiments. That is, for example, in the first embodiment, an interpreter and an emulator similar to the present embodiment are mounted on the PC 200. When the program has been debugged, the MFP is accessed and the program is transmitted for evaluation.

(Java(登録商標)アプリケーションの例)
次に、Java(登録商標)アプリケーションの例について説明する。ここでは、操作パネルクラスを使用したサンプルプログラムを使用したJava(登録商標)アプリの例について説明する。図34に、操作パネルクラスの階層構成を示す。
(Example of Java (registered trademark) application)
Next, an example of a Java (registered trademark) application will be described. Here, an example of a Java (registered trademark) application using a sample program using an operation panel class will be described. FIG. 34 shows the hierarchical structure of the operation panel class.

図34中、***Windowのクラスはウィンドウ作成のためのクラスであり、****Itemのクラスは、ボタンなどのウィンドウ中におけるエレメントを作成するためのクラスである。例えば、以下に示すコードを含むプログラムにより、図35に示すようなメインウィンドウとその中のエレメントが作成される。   In FIG. 34, the *** Window class is a class for creating a window, and the *** Item class is a class for creating an element in a window such as a button. For example, a main window as shown in FIG. 35 and elements therein are created by a program including the following code.

mainwindow = new PanelWindow (panel.root(), 640, 240); (a)
MessageItem msg = new MessageItem (20, 20, 600, 40); (b)
ButtonItem Button = new ButtonItem (10, 60, 80, 30); (c)
上記の(a)は、幅640ドット、高さ240ドットのメインウィンドウを作成するためのコードである。(b)は、メインウィンドウの位置(20、20)に幅600、高さ40のメッセージアイテムを作成するためのコードである。(c)は、(10、60)の位置に、サイズ80×30のボタンを作成するためのコードである。
mainwindow = new PanelWindow (panel.root (), 640, 240); (a)
MessageItem msg = new MessageItem (20, 20, 600, 40); (b)
ButtonItem Button = new ButtonItem (10, 60, 80, 30); (c)
The above (a) is a code for creating a main window having a width of 640 dots and a height of 240 dots. (B) is a code for creating a message item having a width of 600 and a height of 40 at the position (20, 20) of the main window. (C) is a code for creating a button of size 80 × 30 at the position (10, 60).

図36に示すプログラムは、複合機のオペレーションパネルにユーザーインタフェースを実装するプログラムである。図37に示すように、このプログラムは起動直後に"Hello World"及び"Your Input Was…"のメッセージと"Get Input…"のボタンを表示する。ユーザーが"Get Input…"のボタンに触れると、パネル上にソフトキーボードを表示し、ソフトキーボードには、"Add your Input"のタイトルが表示され、ユーザーに任意のコード入力を促す。ユーザーが、ソフトキーボードから任意の文字列、例えば、"ABCD!"を入力した場合、パネル上の"Your Input Was…"のメッセージの下にユーザーが入力した文字列を表示、すなわち、"ABCD!"を表示する。   The program shown in FIG. 36 is a program that implements a user interface on the operation panel of the multifunction peripheral. As shown in FIG. 37, this program displays "Hello World" and "Your Input Was ..." messages and a "Get Input ..." button immediately after startup. When the user touches the “Get Input…” button, a soft keyboard is displayed on the panel, and the title “Add your Input” is displayed on the soft keyboard, prompting the user to input an arbitrary code. When the user inputs an arbitrary character string, for example, "ABCD!" From the soft keyboard, the character string input by the user is displayed under the "Your Input Was ..." message on the panel, that is, "ABCD! "Is displayed.

以下、図36に示すサンプルプログラムの内容について、プログラム中に記述した注釈の番号に沿って説明する。   In the following, the contents of the sample program shown in FIG. 36 will be described along the annotation numbers described in the program.

(1)は、操作パネルクラスライブラリを使用するための命令である。(2)は、GWAppを継承することを示し、これにより複合機のアプリケーション雛型(抽象)を使用することが可能となる。また、複雑な初期設定や終了処理をユーザーが記述せずに済み、メッセージ受信などの処理もユーザーに対して隠蔽することができる。また、(3) により"Hello World"のメッセージを表示するオブジェクトを生成し、(4) により"Get Input..."のボタンオブジェクトを生成する。そして、(5) により"Your Input Was..." のメッセージを表示するオブジェクトを生成し、(6) によりソフトキーボードから入力した文字を表示するメッセージオブジェクトを生成する。   (1) is an instruction for using the operation panel class library. (2) indicates that GWApp is inherited, which makes it possible to use the application template (abstract) of the multifunction device. In addition, complicated initial setting and end processing are not required to be described by the user, and processing such as message reception can be hidden from the user. Also, (3) creates an object that displays the "Hello World" message, and (4) creates a "Get Input ..." button object. Then, an object that displays the message “Your Input Was ...” is generated by (5), and a message object that displays characters input from the soft keyboard is generated by (6).

(Java(登録商標)実行環境におけるJava(登録商標)アプリの実行について)
図27に示す構成において、アプリケーション管理部1914の機能を用いることにより、以下のような手順でダウンロードから起動までの処理を行うことが可能である。
(Execution of Java (registered trademark) application in Java (registered trademark) execution environment)
In the configuration shown in FIG. 27, by using the function of the application management unit 1914, it is possible to perform processing from downloading to activation in the following procedure.

アプリケーション管理部1914は、他のアプリケーションと同様にして複合機の起動時に起動され、アプリケーション起動キー等を押すことにより、オペレーションパネルにユーザーインタフェースを表示する。このとき、Java(登録商標)アプリがロードされていない場合は、アプリケーションロード画面を表示する。ユーザーは、このアプリケーションロード画面から所定のWebサイト又は、ICカードにアクセスし、Java(登録商標)アプリをロードする。   The application management unit 1914 is activated when the MFP is activated in the same manner as other applications, and displays a user interface on the operation panel by pressing an application activation key or the like. At this time, if a Java (registered trademark) application is not loaded, an application load screen is displayed. The user accesses a predetermined website or IC card from the application load screen and loads a Java (registered trademark) application.

ロードの処理においては、Java(登録商標)アプリをロードする前に、当該Webサーバ等に対してJava(登録商標)アプリに関する情報の問い合わせを行い、インストール可能であるJava(登録商標)アプリであるか否かを確認する。確認項目は、例えば、プログラムサイズ、バージョン確認、プログラム最終更新情報、使用するメモリワークサイズ、使用するストレージサイズ、あらかじめ使用するネットワークアドレスの確認、利用可能期間(利用回数)、アプリケーションプログラム名等である。   In the loading process, before loading the Java (registered trademark) application, an inquiry about information about the Java (registered trademark) application is made to the Web server or the like, and the Java (registered trademark) application can be installed. Check whether or not. The confirmation items are, for example, program size, version confirmation, program last update information, memory work size to be used, storage size to be used, confirmation of network address to be used in advance, usable period (number of times of use), application program name, etc. .

上記の事項を確認し、インストール可能であると判断した場合は、アプリケーション管理部1914がJava(登録商標)アプリケーションファイルを複合機にダウンロードする。   If the above items are confirmed and it is determined that the installation is possible, the application management unit 1914 downloads a Java (registered trademark) application file to the multi-function peripheral.

そして、Java(登録商標)アプリケーションプログラムのダウンロードが終了すると、アプリケーション管理部1914は、アプリケーション名を取得し、アプリケーションリストに追加し、同時にJava(登録商標)アプリケーションプログラムを複合機のハードディスクに格納する。   When the download of the Java (registered trademark) application program is completed, the application management unit 1914 acquires the application name, adds it to the application list, and simultaneously stores the Java (registered trademark) application program in the hard disk of the multifunction peripheral.

以上の処理が完了することにより、ダウンロードしたJava(登録商標)アプリを利用できる状態になり、ユーザーは、アプリケーション管理部1914が提供するJava(登録商標)アプリケーション起動画面から起動するJava(登録商標)アプリを選択することにより、仮想マシンを起動し、Java(登録商標)アプリを実行することができる。   Upon completion of the above processing, the downloaded Java (registered trademark) application can be used, and the user starts the Java (registered trademark) that is started from the Java (registered trademark) application startup screen provided by the application management unit 1914. By selecting an application, a virtual machine can be started and a Java (registered trademark) application can be executed.

次のようにしてJava(登録商標)アプリを実行することも可能である。次に説明する方法は、図29に示した構成において、Java(登録商標)アプリをWebサーバからロードして実行する例である。以下の処理は、アプリケーション管理部1914に含まれるローダー(プログラム)により実行される。なお、ローダー自身はJava(登録商標)アプリとして実装してもよいし、例えばC言語で実装してもよい。   It is also possible to execute a Java (registered trademark) application as follows. The method described below is an example in which a Java (registered trademark) application is loaded from a Web server and executed in the configuration shown in FIG. The following processing is executed by a loader (program) included in the application management unit 1914. The loader itself may be implemented as a Java (registered trademark) application, or may be implemented in C language, for example.

図38に、図29に示した構成におけるJava(登録商標)アプリのアップロードからダウンロードまでの概念図を示す。このように、Java(登録商標)開発環境において、開発、テストされたJava(登録商標)アプリをWebサーバにアップロードする(ステップ1)。複合機のローダーは、Webサーバにアクセスし(ステップ2)、ユーザ所望のJava(登録商標)アプリをダウンロードし(ステップ3)、実行する。   FIG. 38 shows a conceptual diagram from uploading to downloading of a Java (registered trademark) application in the configuration shown in FIG. In this way, the Java (registered trademark) application developed and tested in the Java (registered trademark) development environment is uploaded to the Web server (step 1). The loader of the multifunction machine accesses the Web server (Step 2), downloads a Java (registered trademark) application desired by the user (Step 3), and executes it.

次に、図39のフローチャートを参照してローダーの処理手順について説明する。   Next, the processing procedure of the loader will be described with reference to the flowchart of FIG.

ユーザが複合機におけるアプリ切り替えのための所定のボタンを押すことにより、ローダーはJava(登録商標)アプリが既にロードされているか否かをチェックし(ステップ11)、ロードされていればJava(登録商標)アプリを実行する(ステップ12)。そして、Java(登録商標)アプリユーザーインタフェースが表示される。ロードされていなければローダーの画面が表示される(ステップ13)。なお、Java(登録商標)アプリの実行が終了した場合にはローダーの画面が表示される。また、Java(登録商標)アプリのユーザーインタフェースが表示されているときに、所定のコードを入力して所定のボタンを押すことにより、ローダーの画面を表示することができる。   When the user presses a predetermined button for application switching in the multifunction peripheral, the loader checks whether or not the Java (registered trademark) application is already loaded (step 11), and if it is loaded, the Java (registered) (Trademark) application is executed (step 12). Then, a Java (registered trademark) application user interface is displayed. If not loaded, the loader screen is displayed (step 13). When the execution of the Java (registered trademark) application is completed, a loader screen is displayed. Further, when the user interface of the Java (registered trademark) application is displayed, the screen of the loader can be displayed by inputting a predetermined code and pressing a predetermined button.

図40に、複合機に表示されるローダーの画面を示す。ローダーには、現在ロードされているJava(登録商標)アプリがあればそのJava(登録商標)アプリと、ローダーがJava(登録商標)アプリの更新をWebサーバに対してチェックする頻度が表示される。   FIG. 40 shows a loader screen displayed on the multifunction machine. If there is a currently loaded Java (registered trademark) application, the loader displays the Java (registered trademark) application and the frequency at which the loader checks the Web server for updates of the Java (registered trademark) application. .

ローダーの画面において、アプリのロードのボタンに触れると、図41に示すアプリロードウィンドウが表示される(ステップ14)。ここでJava(登録商標)アプリのURLを入力する。URLを入力するには、URLボタンに触れ、ソフトキーボードを表示させ、ソフトキーボードからタイプすることによりURLを入力する。また、URLボタンに触れることにより、図42に示すようなJava(登録商標)アプリのURLのリストを表示し、そのリストの中から所望のJava(登録商標)アプリを選択するようにしてもよい。また、必要に応じて、図41に示すクラス名の欄に、選択したJava(登録商標)アプリ(Jarファイル)の中のmainルーチンを持つクラス名を入力する。   When an application load button is touched on the loader screen, an application load window shown in FIG. 41 is displayed (step 14). Here, the URL of the Java (registered trademark) application is input. To enter a URL, touch the URL button to display a soft keyboard, and type the URL by typing from the soft keyboard. Further, by touching the URL button, a list of URLs of Java (registered trademark) applications as shown in FIG. 42 may be displayed, and a desired Java (registered trademark) application may be selected from the list. . If necessary, a class name having a main routine in the selected Java (registered trademark) application (Jar file) is entered in the class name column shown in FIG.

その後、図41に示す画面のOKボタンに触れることにより、Java(登録商標)アプリがWebサーバからダウンロードされ(ステップ15)、複合機で実行される。   Thereafter, by touching an OK button on the screen shown in FIG. 41, the Java (registered trademark) application is downloaded from the Web server (step 15), and is executed by the multifunction machine.

ローダーは自動的に、指定された間隔でWebサーバをチェックし、新たなバージョンのJava(登録商標)アプリがWebサーバに格納されているか否かを確認する。これは、現在動作しているJava(登録商標)アプリの日付とタイムスタンプを、Webサーバ上のものと比較することにより行う。新たなバージョンのJava(登録商標)アプリが発見された場合には、現在作動しているJava(登録商標)アプリは削除され、新しいバージョンのJava(登録商標)アプリがダウンロードされる。   The loader automatically checks the Web server at specified intervals to check whether a new version of the Java (registered trademark) application is stored in the Web server. This is done by comparing the date and time stamp of the currently running Java (registered trademark) application with that on the Web server. When a new version of the Java (registered trademark) application is found, the currently activated Java (registered trademark) application is deleted, and a new version of the Java (registered trademark) application is downloaded.

上記の更新間隔を変更するには、図40に示す画面上の更新間隔ボタンに触れることにより、図43に示す画面が表示される(ステップ16)。この画面の中で矢印キーを用いて時間か分かを選択し、オペレーションパネルの数字キーを用いて新たな時間間隔を入力する。   In order to change the update interval, the screen shown in FIG. 43 is displayed by touching the update interval button on the screen shown in FIG. 40 (step 16). In this screen, use the arrow keys to select hours or minutes, and use the numeric keys on the operation panel to enter a new time interval.

複合機からJava(登録商標)アプリを削除する場合には図40に示す画面のアンロードのボタンに触れることにより、図44に示す画面を表示する(ステップ17)。ここで"OK"ボタンに触れることによりJava(登録商標)アプリが削除される。   When the Java (registered trademark) application is deleted from the multifunction peripheral, the screen shown in FIG. 44 is displayed by touching the unload button on the screen shown in FIG. 40 (step 17). Here, the Java (registered trademark) application is deleted by touching the “OK” button.

図40の画面におけるExitボタンに触れることによりローダーが終了する。   Touching the Exit button on the screen of FIG. 40 terminates the loader.

さて、本実施の形態では、Java(登録商標)アプリを連結することにより、カスタマイズプログラムを作成することが可能である。この処理の流れについて図45を参照して説明する。なお、カスタマイズプログラムを作成するプログラム自体もJava(登録商標)アプリであり、以下これをカスタマイズアプリと呼ぶ。なお、カスタマイズアプリは予め画像形成装置内に備えられていてもよい。   In the present embodiment, it is possible to create a customization program by connecting Java (registered trademark) applications. The flow of this process will be described with reference to FIG. Note that the program itself for creating the customization program is also a Java (registered trademark) application, which is hereinafter referred to as a customization application. Note that the customization application may be provided in the image forming apparatus in advance.

まず、操作表示部の画面を図40のローダ画面に切り替え、カスタマイズアプリをロードし、実行する。   First, the screen of the operation display unit is switched to the loader screen of FIG. 40, and the customized application is loaded and executed.

カスタマイズアプリは図45の画面1を表示する。画面1には、紙(paper)のオブジェクトだけが表示される。なお、紙のオブジェクト以外のオブジェクトを入れることもできる。オブジェクトは"入れる"ボタン、"取り出す"ボタンにより出し入れをすることができる。また、画面1において、紙のオブジェクトには読み書き許可属性などの属性を"読書許可"ボタンにより設定することができる。   The customization application displays screen 1 in FIG. On the screen 1, only a paper object is displayed. An object other than a paper object can be inserted. Objects can be put in and out with the "Insert" and "Eject" buttons. On the screen 1, an attribute such as a read / write permission attribute can be set for a paper object by a “reading permission” button.

画面1においてpaperに触れると、画面2に示すように、paperオブジェクトに接続されるオブジェクトのリストが表示される。ここでscanを選択すると、画面3に遷移し、さらにscanに触れることにより、scanオブジェクトに接続されるオブジェクトのリストが画面4のように表示される。画面4においてmailを選択すると画面5に遷移する。   When paper is touched on the screen 1, a list of objects connected to the paper object is displayed as shown in the screen 2. When scan is selected here, the screen transitions to screen 3, and touching scan further displays a list of objects connected to the scan object as shown in screen 4. When mail is selected on the screen 4, the screen transitions to the screen 5.

その後、"設定"ボタンに触れることにより、スキャンして、その画像ファイルをメールにて送信するという処理を行うカスタマイズプログラムが生成される。また、画面6に示すようにキーがアサインされる。複合機でこのキーを操作することにより、上記のカスタマイズプログラムが実行される。このカスタマイズプログラムは、連結されたオブジェクトのクラスを順次実行するように記述されたプログラムである。   After that, by touching the “Setting” button, a customization program is generated that performs processing of scanning and sending the image file by e-mail. In addition, as shown in the screen 6, keys are assigned. The customization program is executed by operating this key on the multifunction peripheral. This customization program is a program described so as to sequentially execute classes of linked objects.

なお、本実施の形態のようにWebサーバにアプリを格納しておき、Webサーバから複合機に所望のアプリをダウンロードすることや、アプリを連結してカスタマイズすることは、他の実施の形態にも適用可能である。例えば、VBインタープリタを用いた前述した構成において、本実施の形態と同様の機能のローダーを備えることにより、本実施の形態と同様にサーバからアプリをダウンロードできる。   It should be noted that downloading the desired application from the Web server to the multifunction device or customizing the application by connecting the application to the MFP as in the present embodiment is different from the other embodiments. Is also applicable. For example, in the above-described configuration using the VB interpreter, by providing a loader having the same function as that of the present embodiment, an application can be downloaded from the server similarly to the present embodiment.

なお、これまでに説明した各サービスプログラム、アプリケーションプログラムは、ICカード等の記録媒体に格納し、そこから画像形成装置に格納することができる。また、ネットワークを介して外部のサーバから画像形成装置に格納することもできる。   Each service program and application program described so far can be stored in a recording medium such as an IC card and then stored in the image forming apparatus. It can also be stored in an image forming apparatus from an external server via a network.

上記のように、本実施の形態によれば、Java(登録商標)環境を用いることにより効率良くアプリを開発することが可能となる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
As described above, according to the present embodiment, an application can be efficiently developed by using the Java (registered trademark) environment.
The present invention is not limited to the above-described embodiment, and various modifications and applications can be made within the scope of the claims.

実施の形態1にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。1 is a block diagram illustrating a main configuration and a network configuration of a multifunction machine according to a first embodiment; 実施の形態1の複合機の機能的構成を示すブロック図である。2 is a block diagram illustrating a functional configuration of the multifunction peripheral according to Embodiment 1. FIG. 実施の形態1にかかる複合機のハードウェア構成を示すブロック図である。1 is a block diagram illustrating a hardware configuration of a multifunction machine according to a first embodiment; リクエストメッセージを受信した複合機における処理の手順を示すフローチャートである。6 is a flowchart illustrating a processing procedure in a multi-function peripheral that has received a request message. debug.cgiの処理の手順を示すフローチャートである。debug. It is a flowchart which shows the procedure of the process of cgi. プログラミング画面において、保存ボタン、実行設定ボタン、テスト実行ボタンのいずれかのクリック操作が行われた場合のWEBアプリの処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process of a WEB application when clicking operation of either a save button, an execution setting button, or a test execution button is performed on the programming screen. プログラミング画面の内容の一例を示す説明図である。It is explanatory drawing which shows an example of the content of the programming screen. プログラム入力フィールドに入力されるカスタマイズプログラムの一例を示す説明図である。It is explanatory drawing which shows an example of the customization program input into a program input field. カスタマイズディレクトリに格納されたカスタマイズプログラムの名称の一例を示す説明図である。It is explanatory drawing which shows an example of the name of the customization program stored in the customization directory. キー対応付けテーブルの内容の一例を示す説明図である。It is explanatory drawing which shows an example of the content of the key matching table. 複合機の電源投入が行われてから、カスタマイズプログラムの実行が可能となるまでの一連の処理の手順を示すフローチャートである。10 is a flowchart showing a series of processing procedures from when the multifunction device is turned on until the customization program can be executed. 起動設定ファイルの一例を示す説明図である。It is explanatory drawing which shows an example of a starting setting file. 実施の形態2にかかる複合機における主要構成を示すブロック図である。FIG. 6 is a block diagram illustrating a main configuration of a multifunction machine according to a second embodiment. プログラミング画面の一例を示す説明図である。It is explanatory drawing which shows an example of a programming screen. 実施の形態3にかかる複合機の機能的構成を示すブロック図である。4 is a block diagram illustrating a functional configuration of a multifunction peripheral according to a third embodiment; FIG. 複合機の電源投入が行われてから、カスタマイズプログラムとボタン(キー)との割り付けが完了するまでの一連の処理の手順を示すフローチャートである。10 is a flowchart showing a series of processing procedures from when the multifunction device is turned on until assignment of a customization program and a button (key) is completed. 起動設定ファイルの内容の一例を示す説明図である。It is explanatory drawing which shows an example of the content of a starting setting file. キー割り付け設定画面の一例を示す説明図である。It is explanatory drawing which shows an example of a key allocation setting screen. 実施の形態4にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。FIG. 9 is a block diagram illustrating a main configuration and a network configuration of a multifunction peripheral according to a fourth embodiment. 実施の形態4にかかる複合機の機能的構成を示すブロック図である。FIG. 9 is a block diagram illustrating a functional configuration of a multifunction machine according to a fourth embodiment. 起動設定ファイルの内容の一例を示す説明図である。It is explanatory drawing which shows an example of the content of a starting setting file. 実施の形態5にかかる複合機の機能的構成を示すブロック図である。FIG. 10 is a block diagram illustrating a functional configuration of a multifunction peripheral according to a fifth embodiment; PC200上でVisual Basic開発環境を用いてVBアプリを作成している場面を示す図である。It is a figure which shows the scene which is creating the VB application using Visual Basic development environment on PC200. VBインタプリタにより実行されるVBアプリの例を示す図である。It is a figure which shows the example of the VB application performed by the VB interpreter. VBインタプリタにより実行されるVBアプリの例を示す図である。It is a figure which shows the example of the VB application performed by the VB interpreter. 実施の形態6にかかる複合機の機能的構成を示すブロック図である。FIG. 9 is a block diagram illustrating a functional configuration of a multifunction peripheral according to a sixth embodiment. Java(登録商標)開発環境とJava(登録商標)実行環境を示す図である。It is a figure which shows a Java (trademark) development environment and a Java (trademark) execution environment. Java(登録商標)実行環境の構成の例を示す図である。It is a figure which shows the example of a structure of a Java (trademark) execution environment. WebサーバからJava(登録商標)アプリをダウンロードする構成を示す図である。It is a figure which shows the structure which downloads a Java (trademark) application from a web server. Java(登録商標)アプリ作成の手順を示す図である。It is a figure which shows the procedure of Java (trademark) application creation. エミュレータの他の実装例を示す図である。FIG. 10 is a diagram illustrating another example of implementation of an emulator. エミュレータによりPCに表示されるオペレーションパネルの画面を示す図である。It is a figure which shows the screen of the operation panel displayed on PC by an emulator. エミュレータがローダーとして動作する場合に表示される画面を示す図である。It is a figure which shows the screen displayed when an emulator operate | moves as a loader. 操作パネルクラスの階層構成を示す図である。It is a figure which shows the hierarchical structure of an operation panel class. ウィンドウの作成を説明するための図である。It is a figure for demonstrating creation of a window. サンプルプログラムを示す図である。It is a figure which shows a sample program. サンプルプログラムの実行結果を示す図である。It is a figure which shows the execution result of a sample program. 図29に示した構成におけるJava(登録商標)アプリのアップロードからダウンロードまでの概念図である。FIG. 30 is a conceptual diagram from uploading to downloading of a Java (registered trademark) application in the configuration illustrated in FIG. 29. ローダーの処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of a loader. 複合機に表示されるローダーの画面を示す図である。FIG. 6 is a diagram illustrating a loader screen displayed on the multifunction peripheral. アプリをロードするための画面である。This is the screen for loading the app. Java(登録商標)アプリのURLのリストである。It is a list of URLs of Java (registered trademark) applications. 更新間隔を変更するための画面である。It is a screen for changing the update interval. アプリをアンロードするための画面である。This is a screen for unloading an app. Java(登録商標)アプリを連結することにより、カスタマイズプログラムを作成する手順を説明するための図である。It is a figure for demonstrating the procedure which produces a customization program by connecting a Java (trademark) application.

符号の説明Explanation of symbols

100,1100,1300, 1700,1800,1900 複合機
101 白黒ラインプリンタ
102 カラーラインプリンタ
103 ハードディスク装置(HDD)
104 ハードウェアリソース
105 共有メモリ
106 httpd
110 ソフトウェア群
111 プリンタアプリ
112 コピーアプリ
113 ファックスアプリ
114 スキャナアプリ
115 ネットファイルアプリ
116 工程検査アプリ
117 外部アプリ
120 プラットホーム
121 汎用OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 複合機初期化部
130 アプリケーション
131 プログラム起動部
132 ,1132 プログラミングサービス
133 オペパネ登録部
134 インタプリタ(シェル)
135 カーネル
200 PC201,1101プログラミング画面
211 起動設定ファイル
212 カスタマイズディレクトリ
220 インターネット
1734, 1801 VBインタプリタ
1901 Java(登録商標)実行環境
1911、1921 クラスライブラリ
1912、1922 仮想マシン
1914、1924 アプリケーション管理部
1923 エミュレータ
1925 Java(登録商標)コンパイラ
100, 1100, 1300, 1700, 1800, 1900 MFP 101 Monochrome line printer 102 Color line printer 103 Hard disk drive (HDD)
104 Hardware resource 105 Shared memory 106 httpd
110 Software group 111 Printer application 112 Copy application 113 Fax application 114 Scanner application 115 Net file application 116 Process inspection application 117 External application 120 Platform 121 General-purpose OS
122 SCS
123 SRM
124 ECS
125 MCS
126 OCS
127 FCS
128 NCS
129 MFP initialization unit 130 application 131 program start unit 132 1113 programming service 133 operation panel registration unit 134 interpreter (shell)
135 Kernel 200 PC 201, 1101 Programming screen 211 Startup setting file 212 Customized directory 220 Internet 1734, 1801 VB interpreter 1901 Java (registered trademark) execution environment 1911, 1921 Class library 1912, 1922 Virtual machine 1914, 1924 Application management unit 1923 Emulator 1925 Java (Registered trademark) compiler

Claims (15)

画面表示および操作入力を行うための操作表示部と、
前記操作表示部に対し、プログラムの入力画面を表示し、当該操作表示部に入力されたプログラムを取得するプログラム取得手段と、
前記プログラム取得手段によって取得されたプログラムを実行するプログラム実行手段と、を備えた画像形成装置であって、
前記操作表示部からの要求に応じて、前記プログラムに操作表示部におけるキーを対応付け、プログラムとキーとの対応付けを示す表を前記画像形成装置が備える記憶手段に格納することを特徴とする画像形成装置。
An operation display section for performing screen display and operation input;
Program acquisition means for displaying a program input screen on the operation display unit and acquiring a program input to the operation display unit;
An image forming apparatus comprising: a program execution unit that executes the program acquired by the program acquisition unit;
In response to a request from the operation display unit, a key in the operation display unit is associated with the program, and a table indicating a correspondence between the program and the key is stored in a storage unit included in the image forming apparatus. Image forming apparatus.
前記キーの入力を検出し、前記表を参照することにより当該キーに対応するプログラムを前記プログラム実行手段により実行する請求項1に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the program execution unit executes a program corresponding to the key by detecting an input of the key and referring to the table. 前記プログラムに対するキーの割り当てをユーザが行うためのキー割付け画面を表示し、前記キー割付け画面からの指示に基づいて前記プログラムを前記キーに対応付ける請求項1又は2に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein a key assignment screen for a user to assign a key to the program is displayed, and the program is associated with the key based on an instruction from the key assignment screen. 操作表示部からの要求に応じて、前記プログラムを動作確認のために実行させる請求項1に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the program is executed for operation confirmation in response to a request from the operation display unit. プログラムを格納するサーバにアクセスし、当該サーバから特定のプログラムをダウンロードする手段を更に有する請求項1に記載の画像形成装置。   The image forming apparatus according to claim 1, further comprising means for accessing a server storing the program and downloading a specific program from the server. 前記プログラム実行手段は、インタプリタである請求項1ないし5のうちいずれか1項に記載の画像形成装置。   The image forming apparatus according to claim 1, wherein the program execution unit is an interpreter. 前記画像形成装置は、画像形成処理で使用されるハードウェア資源と、画像形成装置のアプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを更に有し、
前記プログラムは、前記アプリケーションとして動作する請求項1ないし6のうちいずれか1項に記載の画像形成装置。
The image forming apparatus further includes hardware resources used in the image forming process, and a control service interposed between the application of the image forming apparatus and the hardware resources,
The image forming apparatus according to claim 1, wherein the program operates as the application.
前記プログラムは、前記プログラム実行手段により、前記コントロールサービスに対する関数呼び出しを行う請求項7に記載の画像形成装置。   The image forming apparatus according to claim 7, wherein the program makes a function call to the control service by the program execution unit. 画像形成装置におけるプログラムの実行方法であって、
画像形成装置の操作表示部に対してプログラムの入力画面を表示するステップと、
当該操作表示部に入力されたプログラムを取得するステップと、
前記操作表示部からの要求に応じて、前記プログラムに操作表示部におけるキーを対応付け、プログラムとキーとの対応付けを示す表を前記画像形成装置が備える記憶手段に格納するステップと、
取得したプログラムを実行するステップと
を有することを特徴とするプログラム実行方法。
A method for executing a program in an image forming apparatus, comprising:
Displaying a program input screen on the operation display unit of the image forming apparatus;
Acquiring a program input to the operation display unit;
In response to a request from the operation display unit, associating a key in the operation display unit with the program, and storing a table indicating a correspondence between the program and the key in a storage unit included in the image forming apparatus;
And a step of executing the acquired program.
前記キーの入力を検出し、前記表を参照することにより当該キーに対応するプログラムを実行する請求項9に記載のプログラム実行方法。   The program execution method according to claim 9, wherein an input of the key is detected and a program corresponding to the key is executed by referring to the table. 前記プログラムに対するキーの割り当てをユーザが行うためのキー割付け画面を表示し、前記キー割付け画面からの指示に基づいて前記プログラムを前記キーに対応付ける請求項9又は10に記載のプログラム実行方法。   The program execution method according to claim 9 or 10, wherein a key assignment screen for a user to assign a key to the program is displayed, and the program is associated with the key based on an instruction from the key assignment screen. 前記画像形成装置は、画像形成処理で使用されるハードウェア資源と、画像形成装置のアプリケーションと前記ハードウェア資源との間に介在するコントロールサービスとを更に有し、
前記プログラムは、前記アプリケーションとして動作する請求項9ないし11のうちいずれか1項に記載のプログラム実行方法。
The image forming apparatus further includes hardware resources used in the image forming process, and a control service interposed between the application of the image forming apparatus and the hardware resources,
The program execution method according to claim 9, wherein the program operates as the application.
画面表示および操作入力を行うための操作表示部を備えた画像形成装置を、
前記操作表示部に対しプログラムの入力画面を表示し、当該操作表示部に入力されたプログラムを取得するプログラム取得手段、
前記操作表示部からの要求に応じて、前記プログラムに操作表示部におけるキーを対応付け、プログラムとキーとの対応付けを示す表を前記画像形成装置が備える記憶手段に格納する手段、
として機能させるプログラム。
An image forming apparatus provided with an operation display unit for performing screen display and operation input,
Program acquisition means for displaying a program input screen on the operation display unit and acquiring the program input to the operation display unit,
Means for associating a key in the operation display unit with the program in response to a request from the operation display unit, and storing a table indicating correspondence between the program and the key in a storage unit provided in the image forming apparatus;
Program to function as.
前記画像形成装置を、プログラムを格納するサーバにアクセスし、当該サーバから特定のプログラムをダウンロードする手段として更に機能させる請求項13に記載のプログラム。   The program according to claim 13, further causing the image forming apparatus to function as means for accessing a server storing the program and downloading a specific program from the server. 請求項13又は14に記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。   The computer-readable recording medium which stored the program of Claim 13 or 14.
JP2008201193A 2002-07-26 2008-08-04 Image forming apparatus and program execution method Pending JP2009064422A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008201193A JP2009064422A (en) 2002-07-26 2008-08-04 Image forming apparatus and program execution method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002218814 2002-07-26
JP2002295378 2002-10-08
JP2008201193A JP2009064422A (en) 2002-07-26 2008-08-04 Image forming apparatus and program execution method

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003199948A Division JP4198551B2 (en) 2002-07-26 2003-07-22 Image forming apparatus and program execution method

Publications (1)

Publication Number Publication Date
JP2009064422A true JP2009064422A (en) 2009-03-26

Family

ID=40505134

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008201194A Expired - Lifetime JP4542180B2 (en) 2002-07-26 2008-08-04 Image forming apparatus, program, and recording medium
JP2008201193A Pending JP2009064422A (en) 2002-07-26 2008-08-04 Image forming apparatus and program execution method

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2008201194A Expired - Lifetime JP4542180B2 (en) 2002-07-26 2008-08-04 Image forming apparatus, program, and recording medium

Country Status (1)

Country Link
JP (2) JP4542180B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141684A (en) * 2010-01-06 2011-07-21 Ricoh Co Ltd Image forming apparatus, service provision method, program and storage medium
JP2013519928A (en) * 2010-02-10 2013-05-30 サトーホールディングス株式会社 Printer emulation system and method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196014A (en) * 1997-09-25 1999-04-09 Nec Corp Device and method for distributing program component
JP2000276338A (en) * 1999-03-19 2000-10-06 Hitachi Tohoku Software Ltd Method and system for visual programming, and recording medium for visual programming
JP3881806B2 (en) * 1999-04-27 2007-02-14 株式会社リコー Image forming apparatus
JP2001184482A (en) * 1999-07-13 2001-07-06 Ricoh Co Ltd Scanner control system and image forming device provided with the same
JP4204739B2 (en) * 2000-03-28 2009-01-07 株式会社リコー Image forming apparatus, stop control method in image forming apparatus, and computer-readable storage medium storing program for executing the method
JP4136325B2 (en) * 2000-08-31 2008-08-20 株式会社リコー Image forming system, software acquisition method, image forming apparatus, and computer-readable recording medium storing program for causing computer to execute the method
JP4442042B2 (en) * 2001-02-23 2010-03-31 パナソニック電工株式会社 Image processing program creation method and system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011141684A (en) * 2010-01-06 2011-07-21 Ricoh Co Ltd Image forming apparatus, service provision method, program and storage medium
JP2013519928A (en) * 2010-02-10 2013-05-30 サトーホールディングス株式会社 Printer emulation system and method
US9436422B2 (en) 2010-02-10 2016-09-06 Sato Holdings Kabushiki Kaisha System and method for printer emulation on a computing device not being connected to the printer

Also Published As

Publication number Publication date
JP2009054148A (en) 2009-03-12
JP4542180B2 (en) 2010-09-08

Similar Documents

Publication Publication Date Title
US7554685B2 (en) Image forming apparatus, information processing apparatus, program execution method and program producing method
US10944880B2 (en) Image forming apparatus and scanned data process method
US7533381B2 (en) Image forming apparatus and method for operating image forming apparatus by using remote application
US8094330B2 (en) Image forming apparatus that can launch external applications selectively after shipment of the apparatus
JP2004185595A (en) Information processor and program therefor
JP4344203B2 (en) Image forming apparatus and information display method
JP4198551B2 (en) Image forming apparatus and program execution method
JP4090806B2 (en) Image information processing apparatus and application installation method
JP2004185593A (en) Image forming apparatus and application execution method
JP4394740B2 (en) Image forming apparatus, method, and program
JP4512565B2 (en) Image forming apparatus and application installation method
JP2002251261A (en) Picture outputting device and information processor and data processing method and storage medium
JP4523991B2 (en) Terminal device, method, system, and program
JP4542180B2 (en) Image forming apparatus, program, and recording medium
JP4133085B2 (en) Image forming apparatus and customized program test method
JP4500333B2 (en) Image information processing apparatus, installation method, program, and recording medium
CN100394386C (en) Information processing device
JP2010218469A (en) Information processor, information processing method, program and recording medium
JP2012039655A (en) Image forming apparatus, program and method
US20230036834A1 (en) Information processing system, apparatus, and storage medium having combinational and non-combinational applications
JP2003263321A (en) Image forming device application generation method, image forming device application starting method, image forming device application generation program, image forming device, and image forming device application development recording medium
JP2003256238A (en) Method for generating application, method for launching application, program for generating application, information processing apparatus and application development recording medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091117