(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが各アプリケーションに対して複数のタイマとしてサービスを提供するように、コンピュータを機能させる動作制御プログラムであって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化部と、
前記初期化部による前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに対して、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却部と、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供部と、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別部としてコンピュータを機能させ、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、前記タイマサービス提供部は、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定部と、
前記システム停止判定部によって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止部として、更にコンピュータを機能させる動作制御プログラム。
【請求項２】
前記初期化部が、前記初期化として、Ｃ言語仕様上の大域変数のゼロ初期化を行うように、コンピュータを機能させる請求項１に記載の動作制御プログラム。
【請求項３】
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該コンピュータの表示部にエラーメッセージを表示させる表示制御部として、更にコンピュータを機能させる請求項１又は請求項２に記載の動作制御プログラム。
【請求項４】
複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが、各アプリケーションに対して、複数のタイマとしてサービスを提供する動作制御方法であって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化ステップと、
前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却ステップと、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供ステップと、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別ステップと、を備え、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別ステップで前記初期値であると判別されたとき、前記タイマサービス提供ステップは、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別ステップによって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定ステップと、
前記システム停止判定ステップによって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止ステップと、を備える動作制御方法。
【請求項５】
複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが、各アプリケーションに対して、複数のタイマとしてサービスを提供する動作制御システムであって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化部と、
前記初期化部による前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却部と、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供部と、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別部と、を備え、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、前記タイマサービス提供部は、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定部と、
前記システム停止判定部によって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止部と、を備える動作制御システム。
【請求項６】
記録媒体に画像形成を行う作像部と、
前記画像形成部に記録媒体を搬送する搬送部と、
前記画像形成部による画像形成後の記録媒体に対して画像定着動作を行う定着部と、
請求項５に記載の動作制御システムとを備え、
前記各アプリケーションは、前記作像部による画像形成動作を制御するアプリケーションと、前記搬送部による搬送動作を制御するアプリケーションと、前記定着部による定着動作を制御するアプリケーションとからなる画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動作制御プログラム、動作制御方法、動作制御システム、及び画像形成装置に関し、特に、タイマサービス要求時に発生するタイマサービス未確保を要因としたエラーの検出技術に関する。
【背景技術】
【０００２】
従来、プリンタ、複写機、ファクシミリ装置等に適用される情報処理装置（コンピュータ）では、下記特許文献１に示されるように、ＣＰＵは、ＣＰＵ上で動作する各アプリケーションに対してそれぞれにタイマサービスを提供する。ＣＰＵが有するタイマ機能は、多くても数個であるが、当該各アプリケーションの動作に必要となるタイマは数十個である等、ＣＰＵが有するタイマ機能の数よりも、各アプリケーションの動作のために必要となるタイマの数の方が大きくなることが多い。そこで、ＣＰＵは、(1)１つのハードウェアタイマを使用して各アプリケーションに複数のタイマとしてのサービスを提供するために、ＯＳ或いはＯＳ相当機能がタイマサービス確保関数を用意しておき、各アプリケーションから上記タイマサービス確保関数が呼び出されると、当該呼び出しの戻り値としてタイマＩＤ（数値）を返却し、(2)各アプリケーションは、当該返却されたタイマＩＤをタイマＩＤ格納領域に格納し、(3)この格納後、各アプリケーションは、タイマサービスを利用するときに当該格納されているタイマＩＤを引数として指定することで、タイマサービスの提供を受ける。
【特許文献１】特開２００５−１８２２２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記返却されたタイマＩＤは、タイマ確保サービス関数が呼び出される度に独自の値が用いられるため、各アプリケーションは、それぞれのタイマサービス要求時に個別のタイマＩＤを用いることで、上記１つのハードウェアタイマから、他のアプリケーションが要求するタイマサービスとは独立したタイマサービスを受けられる。しかし、いずれかのアプリケーションが、上記タイマＩＤを確保せずにタイマサービスを要求してタイマサービスの提供を受けてしまうこともあり得る。この場合、当該アプリケーションは、上記の正式なタイマＩＤ確保を行っていないので、他のアプリケーションとは異なる独自のタイマＩＤを有するとは限らず、このため、他のアプリケーションと同じタイマＩＤを用いてタイマサービスを要求してしまう事態も生じ得る。このように複数のアプリケーションが、同じタイマＩＤを用いてタイマサービスを受けると、制御プログラムの最も基本的な機能であるタイミング制御ができなくなる等の大きな不具合を生じる。
【０００４】
本発明は、上記の問題を解決するためになされたもので、アプリケーションの動作時におけるタイマサービス未確保を要因とするエラーを迅速に検出して、複数のアプリケーションが同一のタイマＩＤを用いることで生じる不具合を未然に防止することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に記載の発明は、複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが各アプリケーションに対して複数のタイマとしてサービスを提供するように、コンピュータを機能させる動作制御プログラムであって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化部と、
前記初期化部による前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに対して、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却部と、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供部と、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別部としてコンピュータを機能させ、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、前記タイマサービス提供部は、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定部と、
前記システム停止判定部によって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止部として、更にコンピュータを機能させる。
【０００６】
また、請求項２に記載の発明は、請求項１に記載の動作制御プログラムであって、前記初期化部が、前記初期化として、Ｃ言語仕様上の大域変数のゼロ初期化を行うように、コンピュータを機能させる。
【０００７】
また、請求項４に記載の発明は、複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが、各アプリケーションに対して、複数のタイマとしてサービスを提供する動作制御方法であって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化ステップと、
前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却ステップと、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供ステップと、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別ステップと、を備え、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別ステップで前記初期値であると判別されたとき、前記タイマサービス提供ステップは、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別ステップによって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定ステップと、
前記システム停止判定ステップによって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止ステップと、を備える。
【０００８】
また、請求項５に記載の発明は、複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマが、各アプリケーションに対して、複数のタイマとしてサービスを提供する動作制御システムであって、
前記各アプリケーションの動作前に、当該各アプリケーションのタイマＩＤ格納領域を全て予め定められた初期値に初期化する初期化部と、
前記初期化部による前記初期化後に、前記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに、前記初期値以外の値からなるタイマＩＤを返却することによって、当該サービス確保要求を行った各アプリケーションの前記タイマＩＤ格納領域に、前記返却した前記タイマＩＤを格納させるタイマＩＤ返却部と、
前記各アプリケーションから前記各アプリケーションの前記タイマＩＤ格納領域に格納されている前記タイマＩＤを用いたタイマサービスの要求がされると、当該要求をしたアプリケーションに対してタイマサービスを提供するタイマサービス提供部と、
前記アプリケーションによるタイマサービス要求時に用いられた前記タイマＩＤが前記初期値か否かを判別するタイマＩＤ判別部と、を備え、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、前記タイマサービス提供部は、前記タイマＩＤに基づくタイマサービスの提供を行わず、
前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定部と、
前記システム停止判定部によって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止部と、を備える。
【０００９】
これらの発明では、初期化部が各アプリケーションのタイマＩＤ格納領域を全て上記初期値に初期化した後に、各アプリケーションからのタイマサービス確保の要求に応じて、タイマＩＤ返却部が、当該アプリケーションに上記初期値以外の値からなるタイマＩＤを返却し、タイマサービス提供部は、タイマサービスを要求したアプリケーションのタイマＩＤがタイマＩＤ判別部によって上記初期値と判別されたときは当該アプリケーションに対してタイマサービスを提供しない。このため、いずれかのアプリケーションが、タイマサービス確保を行わず、タイマＩＤ格納領域にタイマＩＤが格納されてない状態でタイマサービスを要求すると、当該アプリケーションはタイマＩＤ格納領域に格納されている上記初期値を用いてタイマサービス要求を行うことになる。これにより、タイマサービス要求時に用いられるタイマＩＤが初期値か否かを判別することで、正式なタイマサービス要求か否かを迅速に検出してエラー処理を行うことが可能になるため、複数のアプリケーションが、他のアプリケーションと同じタイマＩＤを用いてタイマサービスを要求してしまうことによる不具合を未然に防止できる。また、上記初期値に一致するタイマＩＤを用いたアプリケーションを特定することが可能なので、タイマサービス未確保を要因とするエラー発生時に、当該エラーの原因解明に役立てることができる。
【００１０】
また、請求項１に記載の発明は、上述したように、前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、動作を停止させるアプリケーションとして予め設定されているか否かを判定するシステム停止判定部と、
前記システム停止判定部によって、前記アプリケーションが前記動作停止させるアプリケーションであると判定された場合に、前記各アプリケーションの全ての動作を停止させるシステム停止部として、更にコンピュータを機能させる。
【００１１】
この発明によれば、上記タイマサービス要求を行ったアプリケーションがシステム停止判定部によって動作停止させるべきものと判定されると、システム停止部が上記各アプリケーションの全ての動作を停止させるので、１つのアプリケーションで発生したタイマサービス未確保によるエラーで、他のアプリケーションの動作にまで波及して不具合が及ぶという事態を低減することができる。
【００１２】
また、請求項３に記載の発明は、請求項１又は請求項２に記載の動作制御プログラムであって、前記タイマサービス要求時に用いられた前記タイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたとき、当該コンピュータの表示部にエラーメッセージを表示させる表示制御部として、更にコンピュータを機能させる。
【００１３】
この発明によれば、タイマサービスを要求したアプリケーションのタイマＩＤが前記タイマＩＤ判別部によって前記初期値であると判別されたときは、表示制御部が、表示部にエラーメッセージを表示させるので、ユーザに対して、アプリケーションの動作においてタイマサービス未確保を要因とするエラーが生じていることを認識させることが可能になる。
【００１４】
また、請求項６に記載の発明は、記録媒体に画像形成を行う作像部と、
前記画像形成部に記録媒体を搬送する搬送部と、
前記画像形成部による画像形成後の記録媒体に対して画像定着動作を行う定着部と、
請求項５に記載の動作制御システムとを備え、
前記各アプリケーションは、前記作像部による画像形成動作を制御するアプリケーションと、前記搬送部による搬送動作を制御するアプリケーションと、前記定着部による定着動作を制御するアプリケーションとからなる画像形成装置である。
【００１５】
この発明によれば、例えば、搬送部による搬送動作を制御するアプリケーションが、タイマサービス確保を行わずにタイマサービスを要求した場合、当該搬送部のアプリケーションはタイマＩＤ格納部に格納されている上記初期値を用いてタイマサービス要求を行うことになるので、搬送部のアプリケーションが、他の作像部及び定着部のアプリケーションと同じタイマＩＤを用いてタイマサービスを要求してしまうことで画像形成動作時に上記各部の動作の同期がとれない等といった不具合を防止可能である。
【発明の効果】
【００１６】
本願発明によれば、アプリケーションの動作時におけるタイマサービス未確保を要因とするエラーを迅速に検出して、複数のアプリケーションが同一のタイマＩＤを用いることで生じる不具合を未然に防止することが可能になる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の一実施形態に係る動作制御プログラム、動作制御方法、動作制御システム、及び画像形成装置について図面を参照して説明する。図１は、本発明の一実施形態に係る画像形成装置の一例である複合機の内部構成を概略的に示す側面図である。
【００１８】
複合機１は、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能等の機能を兼ね備えたものである。この複合機１は、本体部２と、本体部２の左方に配設されたスタックトレイ３と、本体部２の上部に配設された原稿読取部５と、原稿読取部５の上方に配設された原稿給送部６とを有している。
【００１９】
また、複合機１のフロント部には、操作部４７が設けられている。この操作部４７には、ユーザが印刷実行指示を入力するためのスタートキー４７１と、印刷部数等を入力するためのテンキー４７２と、各種複写動作の操作ガイド情報等を表示し、これら各種設定入力用にタッチパネル機能を有する液晶ディスプレイ等からなる表示部４７３と、表示部４７３で設定された設定内容等をリセットするリセットキー４７４と、実行中の印刷（画像形成）動作を停止させるためのストップキー４７５と、コピー機能、プリンタ機能、スキャナ機能及びファクシミリ機能を切り換えるための機能切換キー４７７が備えられている。
【００２０】
原稿読取部５は、ＣＣＤ(Charge Coupled Device)センサ及び露光ランプ等からなるスキャナ部５１と、ガラス等の透明部材により構成された原稿台５２及び原稿読取スリット５３とを備える。スキャナ部５１は、図略の駆動部によって移動可能に構成され、原稿台５２に載置された原稿を読み取るときは、原稿台５２に対向する位置で原稿面に沿って移動され、原稿画像を走査しつつ取得した画像データを制御部１００（図２）へ出力する。また、原稿給送部６により給送された原稿を読み取るときは、原稿読取スリット５３と対向する位置に移動され、原稿読取スリット５３を介して原稿給送部６による原稿の搬送動作と同期して原稿の画像を取得し、その画像データを制御部１００へ出力する。
【００２１】
原稿給送部６は、原稿を載置するための原稿載置部６１と、画像読み取り済みの原稿を排出するための原稿排出部６２と、原稿載置部６１に載置された原稿を１枚ずつ繰り出して原稿読取スリット５３に対向する位置へ搬送し、原稿排出部６２へ排出するための給紙ローラ（図略）、搬送ローラ（図略）等からなる原稿搬送機構６３を備える。原稿搬送機構６３は、さらに原稿を表裏反転させて原稿読取スリット５３と対向する位置へ再搬送する用紙反転機構（図略）を備え、原稿の両面の画像を原稿読取スリット５３を介してスキャナ部５１から読取可能にしている。
【００２２】
また、原稿給送部６は、その前面側が上方に移動可能となるように本体部２に対して回動自在に設けられている。原稿給送部６の前面側を上方に移動させて原稿台５２上面を開放することにより、原稿台５２の上面に読み取り原稿、例えば見開き状態にされた書籍等を操作者が載置できるようになっている。
【００２３】
本体部２は、複数の給紙カセット４６１と、給紙カセット４６１から搬送されてきた記録紙に画像を形成する記録部４０と、搬送機構１３１とを備える。
【００２４】
搬送機構１３１は、記録紙搬送路８０に設けられている記録紙搬送用の各搬送ローラ８１，４６３，４６４と、当該各搬送ローラ駆動用の駆動源（図略）と、給紙カセット４６１から記録紙を１枚ずつ繰り出して記録部４０へ搬送する給紙ローラ４６２とを備える。
【００２５】
記録部４０は、スキャナ部５１で取得された画像データに基づきレーザ光等を出力して感光体ドラム４３を露光する光学ユニット４２と、感光体ドラム４３上にトナー像を形成する現像部４４と、感光体ドラム４３上のトナー像を記録紙に転写する転写部４１と、トナー像が転写された記録紙を加熱してトナー像を記録紙に定着させる定着部４５とを備える。搬送ローラ４６３，４６４は、記録部４０内の用紙搬送路中に設けられ、記録紙をスタックトレイ３又は排出トレイ４８まで搬送する。
【００２６】
また、記録紙の両面に画像を形成する場合は、記録部４０で記録紙の一方の面に画像を形成した後、この記録紙を排出トレイ４８側の搬送ローラ４６３にニップされた状態とする。この状態で搬送ローラ４６３を反転させて記録紙をスイッチバックさせ、記録紙を用紙搬送路Ｌに送って記録部４０の上流域に再度搬送し、記録部４０により他方の面に画像を形成した後、記録紙をスタックトレイ３又は排出トレイ４８に排出する。
【００２７】
図２は複合機１の概略構成を示す機能ブロック図である。複合機１には、装置全体の動作制御を司る制御部１００が備えられている。この制御部１００には、原稿部５０と、搬送機構１３１と、記録部４０とが接続されている。なお、原稿部５０は、原稿読取部５と原稿給送部６を備えてなる。また、制御部１００には、原稿読取部５で読み取られた文書データ等が一時的に保存される画像メモリ１４０と、大量の文書データを保存可能な記憶容量を有する大容量のＨＤＤ（記憶装置）１５０とが接続されている。ＨＤＤ１５０には、後述する本発明の一実施形態に係る動作制御プログラムがその一部をなすOS（Operating System）が記憶されている。当該OSは、コンピュータシステム全体を管理する基本ソフトウェアである。
【００２８】
画像処理部１６０は、スキャナ部５１による原稿読み取り時には、スキャナ部５１から出力されるアナログ画像信号をデジタル画像に変換し、画質を向上させる画像処理を施す。画像処理部１６０は、当該画像データが印刷される場合は、出力状態に応じた画像処理を施し、例えばレーザ露光の場合には、レーザ信号にアナログ変調する。このアナログ変調された信号に基づいて記録部４０でプリントアウトされる。また、スキャナ部５１によって読み取った画像データを、ＨＤＤ１５０に格納する場合には、画像処理部１６０は、画質向上のための画像処理後のデータを更に圧縮画像に変換し、画像メモリ１４０に書き込む。制御部１００は、画像メモリ１４０に書き込まれた圧縮画像を、文書管理の対象となるファイルデータとしてＨＤＤ１５０に格納する。また、登録文書のプリントアウト時には、ＨＤＤ１５０又はネットワーク上の各コンピュータから、プリントアウト対象のファイルデータ（圧縮画像）が画像メモリ１４０に書き出され、画像処理部１６０は、当該圧縮されたファイルデータを伸張処理し、上記出力状態に応じた画像処理を施した後、上記のように露光用のレーザ信号とする。
【００２９】
ファクシミリ通信部１７０は、ファクシミリ通信部１７０には、相手先ファクシミリとの電話回線の接続を制御するＮＣＵ（Network Control Unit）を備え、公衆回線を通じて送信相手先のファクシミリとの間でデータ送受信を行う。
【００３０】
Ｉ／Ｆ部２１０は、ネットワーク接続された外部機器（例えば、パーソナルコンピュータ等）との間に介在して、当該外部機器とのデータ送受信を可能にする。
【００３１】
タイマ部１８０は、時間を計測し、アプリケーション部１０２の各アプリケーションに対してその計測結果を提供する。本実施形態では、タイマ部１８０は１つ備えられ、ハードウェアで構成されてなる。
【００３２】
制御部１００は、ＣＰＵからなり、ＯＳ（Operating System）部１０１と、アプリケーション部１０２として機能する。ＯＳ部１０１は、ＨＤＤ１５０に記憶されたＯＳに従って機能することで、例えば、操作部４７、搬送機構１３１、原稿部５０、及び記録部４０の動作制御を司る多くのアプリケーションソフトで共通して利用される基本的な機能を提供する。アプリケーション部１０２は、操作部４７、搬送機構１３１、原稿部５０、及び記録部４０等の各部の動作制御を司るそれぞれのアプリケーションとして機能する。制御部１００では、これらＯＳ部１０１とアプリケーション部１０２とによって装置全体の動作制御を司っている。なお、本実施形態では、制御部１００を、複合機１におけるコンピュータ部分、或いは、動作制御システムとしてとらえてもよい。
【００３３】
ＯＳ部１０１について説明する。ここでは、ＯＳ部１０１の機能の中で、本発明の要部に関係する機能を説明する。
【００３４】
ＯＳ部１０１は、上記基本的機能の提供の他、さらに、アプリケーション部１０２の複数のアプリケーションからのタイマサービス確保要求に応じて、その戻り値としてタイマＩＤを返却し、これら各アプリケーションによるタイマサービス要求時には当該タイマＩＤに対応するタイマサービスを提供することで、１つのハードウェアタイマであるタイマ部１８０が上記各アプリケーションに対して、複数のタイマとしてタイマサービスを提供するように機能する。タイマサービスとは、例えば、タイマのスタート、経過時間の判定などのサービスグループ等からなる。
【００３５】
当該タイマサービスの提供を実現させるため、ＯＳ部１０１は、上記ＯＳ（動作制御プログラム）の下、初期化部１０１１と、タイマＩＤ返却部１０１２と、タイマサービス提供部１０１３と、タイマＩＤ判別部１０１４と、システム停止判定部１０１５と、システム停止部１０１６と、表示制御部１０１７として機能する。
【００３６】
初期化部１０１１は、上記各アプリケーションに設けられているタイマＩＤ格納領域を全て予め定められた初期値に初期化する処理を行う（大域的に初期化する）。初期化部１０１１は、例えば、Ｃ言語仕様上の大域変数のゼロ初期化処理を行い、当該初期値を「0」とする。初期化部１０１１による初期化ルーチンは、システム全体に対して１つだけ存在する。
【００３７】
タイマＩＤ返却部１０１２は、初期化部１０１１による上記初期化後に、上記各アプリケーションからのタイマサービス確保の要求に応じて、当該サービス確保要求を行ったアプリケーションに、当該サービス要求の戻り値として上記初期値以外の値からなるタイマＩＤを返却する。例えば、上記のように初期値が「0」とされる場合、タイマＩＤ返却部１０１２は、当該「0」以外の「1」、「2」、又は「3」…等の値をそれぞれタイマＩＤとして用いる。
【００３８】
タイマサービス提供部１０１３は、上記各アプリケーションからのタイマサービス要求時に、当該アプリケーションが用いる上記タイマＩＤに対応するタイマサービスを呼び出して提供する。
【００３９】
タイマＩＤ判別部１０１４は、上記アプリケーションによるタイマサービス要求があった時に、当該タイマサービスを要求してきたアプリケーションのタイマＩＤが上記初期値に一致するか否かを判別する。
【００４０】
さらに、タイマサービス提供部１０１３は、上記タイマサービスを要求してきたアプリケーションのタイマＩＤがタイマＩＤ判別部１０１４によって上記初期値であると判別されたときには、当該タイマＩＤに基づくタイマサービスを提供しないように制御する。
【００４１】
システム停止判定部１０１５は、上記タイマサービスを要求してきたアプリケーションのタイマＩＤがタイマＩＤ判別部１０１４によって上記初期値であると判別されたときに動作停止させるアプリケーションとして、１つ以上のアプリケーションを予め記憶している。システム停止判定部１０１５は、タイマサービスを要求したアプリケーションのタイマＩＤがタイマＩＤ判別部１０１４によって上記初期値に一致すると判別されたとき、当該タイマサービス要求を行ったアプリケーションが、上記動作停止させるアプリケーションであるか否かを判定する。
【００４２】
システム停止部１０１６は、システム停止判定部１０１５によって上記アプリケーションが動作停止させるものと判定された場合に、アプリケーション部１０２の各アプリケーションの全ての動作を停止させる。但し、システム停止判定部１０１５によって上記アプリケーションが動作停止させるものと判定された場合に、システム停止部１０１６は、当該動作停止の対象となったアプリケーションに対して予め関連付けられている１つ以上のアプリケーションを動作停止させるようにしてもよい。
【００４３】
表示制御部１０１７は、表示部４７３の表示制御を行う。
【００４４】
アプリケーション部１０２は、複合機１が実行可能な各機能を制御する複数のアプリケーションとして機能する。当該複数のアプリケーションは、例えば、プリンタ機能実行時の場合、記録部４０のうち作像を担当する機構群でなる作像部を制御するアプリケーションと、前記搬送機構１３１による搬送動作を制御するアプリケーションと、記録部４０のうち定着部４５による定着動作を制御するアプリケーション等である。当該複数のアプリケーションプログラムは、ＨＤＤ１５０に記憶されており、制御部１００は、当該アプリケーションプログラムに従って動作することで、アプリケーション部１０２の各アプリケーションとして機能する。なお、当該各アプリケーションには、タイマＩＤを格納するためのタイマＩＤ格納領域（タイマＩＤ格納変数）が設けられている。
【００４５】
操作部４７は、複合機１の操作に必要な各種の指示がユーザから入力されるものである。操作部４７は、表示部４７３と、操作キー部４７０（スタートキー４７１、テンキー４７２、リセットキー４７４、ストップキー４７５、機能切換キー４７７等からなる）とを有している。
【００４６】
次に、複合機１における各アプリケーションに対するタイマサービス提供処理の第１実施形態を説明する。図３は複合機１における各アプリケーションに対するタイマサービス提供処理の第１実施形態を示すフローチャート、図４はタイマサービス提供処理時における情報伝達を示すブロック図である。以下には、プリンタ機能実行時の画像形成動作を例にして説明する。
【００４７】
例えば、複合機１の電源投入時に（少なくともプリンタ機能実行時の画像形成動作開始前）、ＯＳ部１０１の初期化部１０１１は、プリンタ機能実行時の画像形成動作を行う一連のアプリケーション（アプリケーション部１０２）、例えば上記作像部、搬送機構１３１、定着部４５等の各部の動作制御を司るそれぞれのアプリケーションに対して、それぞれのアプリケーション内のタイマＩＤ格納領域を初期化させる（Ｓ１）。ここでは、初期化部１０１１は、Ｃ言語仕様上の大域変数のゼロ初期化処理を行い、当該初期値を「0」とする。各アプリケーション内のタイマＩＤ格納領域はこれを受けて全て初期化され（Ｓ１１）、当該プリンタ機能実行時の画像形成動作を担当する全てのアプリケーション内のタイマＩＤ格納領域には初期値「0」が格納される。
【００４８】
そして、上記各アプリケーションが、タイマサービス提供の受領を可能とすべくタイマサービス確保を要求すると（Ｓ１２）、ＯＳ部１０１のタイマＩＤ返却部１０１２は、当該各アプリケーションからのタイマサービス確保の要求を受けて（Ｓ２でＹＥＳ）、タイマサービスを確保し、当該タイマサービス確保要求の戻り値として、上記初期値「0」以外の値からなるタイマＩＤ「1」、「2」、又は「3」…を各アプリケーションに対して返却する（Ｓ３）。このとき、タイマＩＤ返却部１０１２は、それぞれのアプリケーションに対して別個のタイマＩＤを返却する。各アプリケーション内のタイマＩＤ格納領域には、返却されてきたタイマＩＤが格納される（Ｓ１３）。すなわち、タイマサービス確保の要求を行って、これに対するタイマＩＤの返却を受けたアプリケーションのタイマＩＤ格納領域は、格納されている値が、初期値「0」から、受け取ったタイマＩＤが示す値（初期値「0」以外の値）に書き換えられる。
【００４９】
この後、各アプリケーションのいずれかでタイマサービスが必要になった場合、当該アプリケーションが、タイマＩＤ格納領域に格納されているタイマＩＤを用いてタイマサービスを要求する（Ｓ１４）。ＯＳ部１０１のタイマサービス提供部１０１３が当該タイマサービス要求を受けると（Ｓ４でＹＥＳ）、タイマＩＤ判別部１０１４は、当該アプリケーションから受け取ったタイマＩＤが初期値「0」に一致するか否かを判別する（Ｓ５）。
【００５０】
ここで、タイマＩＤ判別部１０１４が、当該受け取ったタイマＩＤは初期値「0」に一致しないと判別した場合は（Ｓ５でＮＯ）、タイマサービス提供部１０１３は、当該アプリケーションに対して、当該受け取ったタイマＩＤに対応するタイマサービスを呼び出して提供する（Ｓ８）。当該アプリケーションは、提供されたタイマサービスを受領する（Ｓ１５）。すなわち、当該アプリケーションは、タイマＩＤ格納領域が初期値「0」からタイマＩＤが示す値（初期値「0」以外の値）に書き換えられており、既にタイマサービス確保処理を正式に終えているため、タイマサービス提供部１０１３は、タイマＩＤに対応するタイマサービスを提供する。
【００５１】
一方、タイマＩＤ判別部１０１４が、当該受け取ったタイマＩＤは初期値「0」に一致すると判別した場合は（Ｓ５でＹＥＳ）、タイマサービス提供部１０１３は、当該受け取ったタイマＩＤに対応するタイマサービスを呼び出さずに、当該タイマサービス要求がエラーであると判定する（Ｓ６）。このエラー判定がされると、表示制御部１０１７は、表示部４７３にエラーメッセージを表示させる（Ｓ７）。例えば、表示制御部１０１７は、当該アプリケーションによるタイマサービス要求がエラーである旨のメッセージを表示部４７３に表示させる。
【００５２】
上記一連の処理によれば、複合機１の電源投入時に、ＯＳ部１０１の初期化部１０１１が各アプリケーションのタイマＩＤ格納領域を大域的に初期化し、動作初期時には、このタイマＩＤ格納領域に上記初期値が格納されているので、当該各アプリケーションのいずれかがタイマサービス確保要求を行わずにタイマサービスを要求しても、当該アプリケーションがタイマサービス要求に用いるタイマＩＤが上記初期値になる。このため、タイマＩＤ判別部１０１４が、アプリケーションがタイマサービス要求時に用いるタイマＩＤが上記初期値に一致すると判別した場合に、タイマサービス提供部１０１３が、当該タイマサービス要求を、タイマサービス確保を済ませていないタイマサービス要求としてエラーと判定し、当該要求されたタイマサービスを提供しないようにする。これにより、複数のアプリケーションが同一のタイマＩＤを用いることで生じる不具合が未然に防止される。
【００５３】
次に、複合機１における各アプリケーションに対するタイマサービス提供処理の第２実施形態を説明する。図５は複合機１における各アプリケーションに対するタイマサービス提供処理の第２実施形態を示すフローチャートである。以下、第１実施形態と同様にプリンタ機能実行時の画像形成動作を例にして説明し、第１実施形態と同様の処理は説明を省略する。
【００５４】
第２実施形態では、各アプリケーションからのタイマサービス要求時に、タイマＩＤ判別部１０１４が、当該アプリケーションから受け取ったタイマＩＤは初期値「0」に一致すると判別し（Ｓ２５でＹＥＳ）、タイマサービス提供部１０１３がエラー判定を行った後に（Ｓ２６）、システム停止判定部１０１５によって、当該エラー判定されたタイマサービス要求を行ったアプリケーションがタイマサービス要求エラー発生時に動作停止の対象とされているアプリケーションであるか否かが判定される（Ｓ２８）。
【００５５】
システム停止判定部１０１５によって、当該エラー判定とされたタイマサービス要求をしたアプリケーションがタイマサービス要求エラー発生時に動作停止の対象とされていると判定された場合は（Ｓ２８でＹＥＳ）、システム停止部１０１６が、当該プリンタ機能実行時の画像形成動作に関連付けられた各アプリケーションによる全ての動作制御を停止させる（Ｓ２９）。これを受けて、当該各アプリケーションは動作制御を停止する（Ｓ５６）。但し、システム停止判定部１０１５によって上記アプリケーションが動作停止させるべきものと判定された場合において、システム停止部１０１６は、当該動作停止の対象となったアプリケーションに対して予め関連付けられている１つ以上のアプリケーションのみについて動作停止させるようにしてもよい。
【００５６】
一方、システム停止判定部１０１５によって、当該エラー判定とされたタイマサービス要求をしたアプリケーションがタイマサービス要求エラー発生時に動作停止の対象とされていないと判定された場合（Ｓ２８でＮＯ）、システム停止部１０１６は、当該エラー判定されたタイマサービス要求を行ったアプリケーションによる動作制御を停止させる（Ｓ３１）。これを受けて、当該エラー判定されたタイマサービス要求を行ったアプリケーションは動作制御を停止する（Ｓ５６）。
【００５７】
この一連の処理によれば、１つのアプリケーションで発生したタイマサービス未確保によるエラーで、他のアプリケーションの動作にまで波及して不具合が及ぶという事態を低減できる。
【００５８】
なお、本発明は上記実施の形態の構成に限られず種々の変形が可能である。例えば、上記実施形態では、制御部１００がＯＳとして機能し、当該ＯＳが、第１及び第２実施形態に係る各アプリケーションに対するタイマサービス提供処理を行うとして説明しているが、上記動作制御プログラムに基づいてＯＳ相当機能が当該タイマサービス提供処理を行ってもよい。また、上記動作制御プログラムがＯＳとは別個のプログラムとして構成され、制御部１００が当該動作制御プログラムに従ってＯＳ機能とは別個に、上記タイマサービス提供処理を行ってもよい。
【００５９】
また、上記各実施形態では、初期化部１０１１、タイマＩＤ返却部１０１２、タイマサービス提供部１０１３、タイマＩＤ判別部１０１４、システム停止判定部１０１５、システム停止部１０１６、及び表示制御部１０１７は、制御部１００が動作制御プログラムに従って機能することで実現されるが、これに代えて、これら各部がハードウェアで構成されて複合機１に備えられるようにしてもよい。
【００６０】
また、上記実施形態では、タイマサービス提供処理を受ける複数のアプリケーションをプリンタ機能実行時の画像形成動作に関連付けられた各アプリケーションを例に説明しているが、これはあくまでも例示であり、これらとは異なる他の複数のアプリケーションがタイマサービスの提供を受ける場合であっても、第１及び第２実施形態に係る各アプリケーションに対するタイマサービス提供処理が行われるものとしてもよいことは勿論である。
【図面の簡単な説明】
【００６１】
【図１】本発明の一実施形態に係る画像形成装置の一例である複合機の内部構成を概略的に示す側面図である。
【図２】複合機の概略構成を示す機能ブロック図である。
【図３】複合機における各アプリケーションに対するタイマサービス提供処理の第１実施形態を示すフローチャートである。
【図４】タイマサービス提供処理時における情報伝達を示すブロック図である。
【図５】複合機における各アプリケーションに対するタイマサービス提供処理の第２実施形態を示すフローチャートである。
【符号の説明】
【００６２】
１        複合機
４０      記録部
４５      定着部
１００    制御部
１０１    ＯＳ部
１０１１  初期化部
１０１２  返却部
１０１３  タイマサービス提供部
１０１４  タイマＩＤ判別部
１０１５  システム停止判定部
１０１６  システム停止部
１０１７  表示制御部
１０２    アプリケーション部
１３１    搬送機構
１８０    タイマ部
４６１    給紙カセット
【図１】
0005022989.tif 000002
【図２】
0005022989.tif 000003
【図３】
0005022989.tif 000004
【図４】
0005022989.tif 000005
【図５】
0005022989.tif 000006