(57)【要約】【課題】非稼働時間帯がある生産ラインにおいて、日ごとに稼働時間帯パターンが異なる等のような稼働計画にも対応でき、かつ時間情報を高速に算出できる装置を提供する。【解決手段】生産ライン１０の所定期間における稼働計画について、所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンを、各単位期間ごとに、稼働計画表データ記憶装置２０にデータ登録する。また、稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間を、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに、相対時刻テーブル記憶装置２４にデータ登録する。時間情報提供装置２６は、生産ラインに関する時間情報を、計算対象の単位期間における稼働時間帯パターンを稼働計画表データから取得し、取得した稼働時間帯パターンに対応した相対時間テーブルから相対時刻の情報を用いて算出する。【選択図】図１
2006285762.tif 000002
【特許請求の範囲】
【請求項１】
生産ラインの所定期間における稼働計画について、該所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンを、各単位期間ごとに登録した稼働計画テーブルと、
稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間を、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに登録した相対時間テーブルと、
生産ラインに関する時間情報を、計算対象の単位期間における稼働時間帯パターンを前記稼働計画表テーブルから取得し、取得した稼働時間帯パターンに対応した前記相対時間テーブルに登録された相対時刻の情報を用いて算出する時間情報処理部と、
を有することを特徴とする時間算出システム。
【請求項２】
請求項１に記載の時間算出システムにおいて、
前記時間情報処理部は、
第一の時刻に対応する相対時刻値と所定の経過時間とに基づいて、前記第一の時刻から所定の経過時間が経過した第二の時刻に対応する相対時刻値を求め、得られる相対時刻値を持つ絶対時刻を、前記稼働計画テーブル及び相対時刻テーブルを用いて特定することにより、前記第二の時刻を稼働時間ベースで算出する、
ことを特徴とする時間算出システム。
【請求項３】
請求項１又は２に記載の時間算出システムにおいて、
前記時間情報処理部は、
計算対象である第三の時刻と第四の時刻の各々に対応する相対時刻値を、前記稼働計画テーブル及び相対時刻テーブルを用いて求め、得られた各相対時刻値に基づいて、前記第三の時刻と前記第四の時刻との時間差を稼働時間ベースで算出する、
ことを特徴とする時間算出システム。
【請求項４】
生産ラインの所定期間における稼働計画について、該所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンが、各単位期間ごとに予め登録された稼働計画テーブル、及び、稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間が、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに予め登録された相対時間テーブルを用いて、計算対象の単位期間における稼働時間帯パターンを前記稼働計画表テーブルから取得するステップと、
取得した稼働時間帯パターンに対応した前記相対時間テーブルに登録された相対時刻の情報を用いて、生産ラインに関する所望の時間情報を算出するステップと、
を有することを特徴とする時間算出方法。
【請求項５】
コンピュータシステムに、
生産ラインの所定期間における稼働計画について、該所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンが、各単位期間ごとに予め登録された稼働計画テーブル、及び、稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間が、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに予め登録された相対時間テーブルを用いて、計算対象の単位期間における稼働時間帯パターンを前記稼働計画表テーブルから取得するステップと、
取得した稼働時間帯パターンに対応した前記相対時間テーブルに登録された相対時刻の情報を用いて、生産ラインに関する所望の時間情報を算出するステップと、
を実行させるための時間算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に計画的に非稼働時間が設定された生産ラインにおける製品完成予定時刻等の時間情報を算出する時間算出システム、時間算出方法及び時間算出プログラムに関する。
【背景技術】
【０００２】
近年、車両等の製品を生産する生産ラインにおいて、製品の完成予定時刻や製造作業の遅れなどを、分単位などといった詳細な単位で算出する必要性がある。例えば、希望する車種の納車がいつになるかという情報が把握できれば顧客にとって非常に便利であるが、完成車の運搬計画との兼ね合いで、その車両の完成予定時刻を極力詳細に算出できれば、より正確な納期情報を顧客に提供できる。また、厳密な生産管理のためにも作業の遅れ時間を極力詳細に把握できることが望ましい。
【０００３】
ところで、特に完全な無人化がなされていない生産ラインでは、例えば作業要員の休憩や交代などのために、計画的に非稼働時間が設定されているのが通常であるが、このように非稼働時間が設定されている生産ラインでは、製品の完成予定時刻や製造作業の遅れなどを計算する場合、非稼働時間を考慮に入れないと、正確な時刻や遅れ時間を算出することはできない。
【０００４】
そこで従来は、予め定められた生産ラインの稼働時間帯を登録した稼働時間帯テーブルを用意し、例えば完成予定時刻を算出する場合には、当該製品の生産開始時刻に対し、稼働時間帯の時間長さを順に足していき、その足した時間長さの総和が製品の生産リードタイム分に達したところの時刻を完成予定時刻としている。また、製造作業の遅れを算出する場合には、製品の通過をチェックする生産ライン上のチェックポイントを製品が通過する通過時刻について、予定の時刻と実際の時刻との差分を算出し、更にその予定時刻と実際の時刻との間に非稼働時間が存在した場合は、その非稼働時間をその差分から減算することで、遅れ時間を稼働時間ベースで算出している。
【０００５】
しかし上記算出方法では、目的とする時刻や時間の情報を得るにあたり、生産リードタイムや作業遅れ時間に含まれる非稼働時間帯の数だけ稼働時間帯テーブルにアクセスする必要があり、しかもその数だけ加減算などの計算処理が必要となるため、計算にかなりの時間を要する。そこで、非稼働時間のある生産ラインにおいて製品完成時刻や作業遅れ等の時間情報を高速に算出できる装置が、例えば下記特許文献１に開示されている。
【０００６】
下記特許文献１の装置は、各時刻ごとに、その時刻の絶対時刻と、所定の基準時刻からその時刻までの稼働時間のみの累積値である相対時刻とを登録した相対時刻テーブルを備えている。そして、生産ラインにおけるある個別製品の完成予定時刻を求める場合には、生産スケジュールからその製品の生産開始時刻を取得し、相対時刻テーブルからその時刻に対応する相対時刻の値を求め、その相対時刻に対してその製品の生産リードタイムを加算し、その加算結果が相対時刻の値となる行の絶対時刻を当該製品の完成予定時刻として求める処理を行っている。以上のような処理を行うことで、非稼働時間帯の数だけ稼働時間帯テーブルにアクセスする必要がなくなるため、時間情報の算出処理を高速化できる。
【０００７】
尚、このような時間情報の算出技術については、下記特許文献１の他にも例えば下記特許文献２，３に開示されている。
【０００８】
【特許文献１】特開２００３−２８８３８７号公報
【特許文献２】特開平８−７７１３９号公報
【特許文献３】特開平１１−２５０６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１の装置では、生産開始時刻と完成予定時刻とが同日である場合には有効であるが、例えば製品の生産リードタイムが長いため製品の生産開始時刻と完成予定時刻との間の期間が長くなる、等のように、計算対象となる期間が複数日に亘る（期間が長い）場合には、期間が長くなればなる程、計算時間がかかってしまう。
【００１０】
また、計算対象期間が複数日に亘る場合、必ずしも毎日同じ時間帯に生産ラインが稼働するとは限らず、日（例えば曜日）によって実行される稼働時間帯のパターンが異なるような稼働計画が策定されることがあるが、このような稼働計画に基づいて生産ラインが稼働するとなると、該生産ラインにおける時間情報の計算処理はより複雑化するため、計算時間が一層かかってしまう。
【００１１】
本発明の目的は、非稼働時間のある生産ラインにおいて、稼働日によって稼働時間帯のパターンが異なる等のような稼働計画にも対応でき、製品完成時刻や作業遅れ等の時間情報を高速に算出することができる時間算出システム、時間算出方法及び時間算出プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明の時間算出システムは、生産ラインの所定期間における稼働計画について、該所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンを、各単位期間ごとに登録した稼働計画テーブルと、稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間を、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに登録した相対時間テーブルと、生産ラインに関する時間情報を、計算対象の単位期間における稼働時間帯パターンを前記稼働計画表テーブルから取得し、取得した稼働時間帯パターンに対応した前記相対時間テーブルに登録された相対時刻の情報を用いて算出する時間情報処理部と、を有することを特徴とする。
【００１３】
また上記構成の時間算出システムにおいて、前記時間情報処理部は、第一の時刻に対応する相対時刻値と所定の経過時間とに基づいて、前記第一の時刻から所定の経過時間が経過した第二の時刻に対応する相対時刻値を求め、得られる相対時刻値を持つ絶対時刻を、前記稼働計画テーブル及び相対時刻テーブルを用いて特定することにより、前記第二の時刻を稼働時間ベースで算出するようにすると良い。
【００１４】
さらに上記構成の時間算出システムにおいて、前記時間情報処理部は、計算対象である第三の時刻と第四の時刻の各々に対応する相対時刻値を、前記稼働計画テーブル及び相対時刻テーブルを用いて求め、得られた各相対時刻値に基づいて、前記第三の時刻と前記第四の時刻との時間差を稼働時間ベースで算出するようにすると良い。
【００１５】
本発明の時間算出方法は、生産ラインの所定期間における稼働計画について、該所定期間に含まれる複数の単位期間の各々に実行される稼働時間帯パターンが、各単位期間ごとに予め登録された稼働計画テーブル、及び、稼働時間帯パターンごとに、所定の基準時刻からその絶対時刻までの間の生産ラインの非稼働時間を除いた時間が、前記基準時刻に対するその絶対時刻の相対時刻として各絶対時刻ごとに予め登録された相対時間テーブルを用いて、計算対象の単位期間における稼働時間帯パターンを前記稼働計画表テーブルから取得するステップと、取得した稼働時間帯パターンに対応した前記相対時間テーブルに登録された相対時刻の情報を用いて、生産ラインに関する所望の時間情報を算出するステップと、を有することを特徴とする。
【００１６】
また本発明は、典型的には、上述した各手段の機能及び処理動作を記述したプログラムをコンピュータシステムに実行させることにより実現される。
【発明の効果】
【００１７】
本発明によれば、非稼働時間のある生産ラインにおける製品完成時刻や作業遅れ等の時間情報について、計算対象期間が複数日に亘るか否かにかかわらず、また複数日からなる計算対象期間内の各稼働日で実行される稼働時間帯のパターンが複数パターン存在するような場合であっても、非稼働時間のある生産ラインにおける時間情報を、稼働時間ベースで高速に算出することができる。
【発明を実施するための最良の形態】
【００１８】
まず、本発明の実施の形態における時間算出システムの構成を、図１を参照して説明する。図１は、本発明の一実施形態における時間算出システムの構成を示す図である。
【００１９】
図１において、生産ライン１０上の所定のチェックポイントには、そのラインで生産している個々の製品のワーク（仕掛品）が当該チェックポイントを通過した時刻を入力する入力装置１２が設けられている。チェックポイントには、例えば、生産ライン１０の開始点や終了点、あるいはその途中の重要な製造作業箇所などがある。生産ライン１０は、複数のサブラインに分かれていることが一般的であるが、この場合には個々のサブラインの開始点や終了点がチェックポイントにされる場合が多い。
【００２０】
入力装置１２は、例えばワークに貼付されているＲＦ（Radio Frequency）タグと通信することで、通過したワークとその通過時刻を認識するような自動検知装置の場合もあれば、人間が手作業でワークの通過時刻を入力する装置もある。ここで通過時刻は、例えば分単位、秒単位など、生産ラインの制御・管理に必要な精度で認識又は入力される。尚、個別ワーク単位でなく、ロット単位でこのような通過時間の検出を行う場合もあり、この場合にも以下の方式が適用可能である。
【００２１】
各入力装置１２で検出した各ワーク（又はロット）の各チェックポイントの通過時刻の情報は、ネットワーク１４を介して生産ライン管理システム１６に入力される。ネットワーク１４は、例えば工場内ＬＡＮ（Local Area Network）などのデータ通信ネットワークである。生産ライン管理システム１６は、各入力装置１２から送られてきた情報に必要な加工を施して蓄積し、その情報をラインの制御に用いたり、あるいはライン管理者からの要求に応じて提供したりする。
【００２２】
以上の構成は、従来の生産ラインの管理システムと同等のものでよい。以下、時間情報の提供のための仕組みについて説明する。
【００２３】
生産ライン１０には、作業員の休憩や交代などのために、生産ライン１０が停止する非稼働時間が１日のうちに何度か設定されている。以下では、隣り合う非稼働時間同士の間の一続きの生産ライン稼働時間を、稼働時間帯と呼ぶ。稼働時間帯データ記憶装置１８には、この稼働時間帯の情報（稼働時間帯テーブルデータ）が登録される。
【００２４】
また、生産ライン１０は毎日同じ稼働時間帯に稼働しているわけではなく、日によっては異なる稼働時間帯に稼働したり、一日中非稼働であったりする。例えば、土曜日における稼働時間帯が平日における稼働時間帯とは異なり、休日は非稼働である、などといった具合である。稼働計画表データ記憶装置２０には、所定期間内における各日の稼働時間帯のパターン（以下、単に稼働パターンという）の情報（稼働計画表テーブルデータ）が登録される。
【００２５】
図２ａ，図２ｂに、稼働時間帯データ記憶装置１８に登録されているデータのデータ内容の一例を示す。本実施形態では、後述の如く２種類の稼働パターンが設定されているため、図２ａ，図２ｂに示す２種類の稼働パターンを表す稼働時間帯テーブルが登録されている。これらの図に示すように、稼働時間帯テーブルには、単位期間（ここでは１日を１サイクルとしている）に設定された各稼働時間帯ごとに、その稼働時間帯の開始時刻と終了時刻のペアが登録されている。各稼働時間帯には通し番号が付与され、この通し番号で各稼働時間帯を識別する。本実施形態では、１サイクルの最初の稼働時間帯の通し番号を１とし、以降順に１ずつ番号の値を大きくしている。図２ａ，図２ｂの例では、例えば稼働時間帯１と稼働時間帯２の間に生産ライン１０が１０分間停止することになる。
【００２６】
また図３に、稼働計画表データ記憶装置２０に登録されているデータ（稼働計画表テーブル）のデータ内容の一例を示す。この図に示すように、稼働計画表テーブルには、単位期間（本実施形態では１日）ごとに設定された稼働パターンが、所定期間（ここでは１ヵ月）ごとに登録されている。ここで、図３の稼働計画表テーブルにおける稼働パターンＡは、生産ライン１０が図２ａの稼働時間帯のパターンで稼働することを示し、稼働パターンＢは、図２ｂの稼働時間帯のパターンで稼働することを示している。
【００２７】
尚、このような稼働時間・非稼働時間の区分けは、例えば１年に一度の年度計画などで定められる。また、例えば四半期ごとなどのスパンで、需給情勢に応じてその稼働時間帯に微調整が加えられる場合もある。いずれにしても、稼働時間・非稼働時間は作業員の勤務に直接影響するため、頻繁に変更されるものではなく、稼働時間帯テーブルや稼働計画表テーブルも年度計画や期ごとの調整内容の策定に合わせて作成される。
【００２８】
ここで本実施形態では、稼働時間帯テーブルから相対時刻テーブルを作成し、時間情報に関する計算はこの相対時刻テーブルを参照して行う。図４ａ，図４ｂに相対時刻テーブルのデータ内容の一例を示す。ここで、図４ａの相対時刻テーブルは、図２ａの稼働時間帯テーブルのデータから作成されたものであり、図４ｂの相対時刻テーブルは、図２ｂの稼働時間帯テーブルのデータから作成されたものである。
【００２９】
図４ａ，図４ｂに示す各相対時刻テーブルの１行（横行）分のレコードが、１つの時刻についての情報である。ここで、テーブル１行が示す１つ１つの「時刻」は、本実施形態のシステムが提供する時間情報の精度、すなわち最も小さい時間の刻みに対応している。図４ａ，図４ｂは、１分単位の精度で時間情報を提供する場合の相対時刻テーブルの例である。すなわち本実施形態では、時間が順に１分ずつ区切られて、それら１分ごとに１レコードが作成され、各相対時刻テーブルには、各レコードが時刻の順に並ぶ。
【００３０】
１つのレコードには、時刻番号１００，絶対時刻１０２，稼働フラグ１０４，及び相対時刻１０６が含まれる。時刻番号１００は、各レコードの表す絶対時刻に付与した通し番号であり、所定の基準時刻を０番とし、以下１分ごとに１ずつ番号が大きくなっている。絶対時刻１０２は、そのレコードが表す時刻そのものであり、後述する相対時刻との区別のために絶対時刻と称する。この例では分刻みの単位までの時刻値が絶対時刻１０２として登録されている。稼働フラグ１０４は、そのレコードが示す絶対時刻が稼働時間帯内の時刻であるか否かを示すフラグであり、稼働時間帯内の時刻であればその値は“ＯＮ”に、そうでなければその値は“ＯＦＦ”に設定される。相対時刻１０６は、そのレコードに対応する絶対時刻が、所定の基準時刻から稼働時間ベース（すなわち稼働時間のみを考慮したときの時間）でみてどれだけの時刻に当たるかを示す相対的な時刻である。すなわち、基準時刻からその絶対時刻までの間の実時間から、その間に含まれる非稼働時間の総和を差し引いた結果が、その絶対時刻に対応する相対時刻となる。本実施形態では、この相対時刻１０６の情報を利用することで、生産ライン１０上での各種の時間情報を高速に計算する。
【００３１】
以上に説明した相対時刻テーブルを作成するのが相対時刻テーブル作成装置２２である。図５を参照して、相対時刻テーブル作成装置２２における作成処理手順の一例を説明する。この手順は、各稼働時間帯テーブルが表す１サイクル（図２ａ，図２ｂの例では１日が１サイクル）分の期間についての相対時刻テーブルの作成処理の流れを示している。尚、この相対時刻テーブルの作成処理は、稼働時間帯データ記憶装置１８内の各稼働時間帯テーブルごとに行われる。
【００３２】
この手順では、３つのカウンタＬ，Ｍ，Ｎを用いる。カウンタＬは現在の稼働時間帯の通し番号を示すカウンタである。また、カウンタＭは現在の相対時刻１０６の値を示すカウンタであり、カウンタＮは時刻番号１００の現在値を示すカウンタである。カウンタＮの値は、基準時刻から現在時刻までの絶対的な時間差に対応する。
【００３３】
図５の処理では、まず各カウンタをＬ＝１，Ｍ＝０，Ｎ＝０に初期化する（ステップＳ１０）。次に、相対時刻テーブルの新たな行のレコードを作成する（ステップＳ１２）。このステップＳ１２では、カウンタＮの値を時刻番号１００に設定すると共に、１サイクルの最初の稼働時間帯である稼働時間帯１の開始時刻にカウンタＮの時間を足し、これを時・分の単位に換算したものを絶対時刻１０２に設定する。また、この処理手順は必ず最初の稼働時間帯から開始するので、このときの時刻は稼働時間帯内となることから、稼働フラグ１０４は“ＯＮ”に設定する。また、相対時刻１０６には、カウンタＭの値が設定される。
【００３４】
このレコード作成が完了すると、カウンタＮの値を１だけ増加し（ステップＳ１４）、時刻番号Ｎが表す次の時刻が現在の稼働時間帯Ｌに収まるか否かを判定する（ステップＳ１６）。最初の稼働時間帯１の開始時刻にＮ分を加えた時刻が、現在の稼働時間帯Ｌの終了時刻以降となる場合は、次の時刻が現在の稼働時間帯Ｌから外れることになる。
【００３５】
ステップＳ１６の判定で、時刻番号Ｎが表す時刻が現在の稼働時間帯Ｌ内に収まると判定された場合は、相対時刻１０６を表すカウンタＭの値を１だけ増加させ（ステップＳ１８）、その時刻のレコード行を相対時刻テーブルに作成する（ステップＳ１２）。
【００３６】
ステップＳ１２〜Ｓ１８の手順を何度か繰り返している内に、ステップＳ１６の判定結果がＮＯ（すなわち次の時刻が現在の稼働時間帯Ｌから外れる）となると、カウンタＬの値を１だけ増加させることで（ステップＳ２０）、カウンタＬが次の稼働時間帯を指すようにし、その新たな稼働時間帯Ｌが稼働時間帯テーブルに存在するかどうかを調べる（ステップＳ２２）。
【００３７】
稼働時間帯Ｌが存在すると判定された場合は、相対時刻テーブルに現在の時刻番号Ｎに対応するレコード行を作成する（ステップＳ２４）。前述のステップＳ１２の処理との違いは、このステップＳ２４では時刻が非稼働時間の中にあるので、稼働フラグ１０４がＯＦＦに設定されることと、この非稼働時間にある間はカウンタＭがインクリメントされないので、相対時刻１０６の値が増えずに一定のままとなることである。非稼働時間内の時刻のレコード行が１つ作成されると（ステップＳ２４）、カウンタＮの値を１増加させ（ステップＳ２６）、時刻番号Ｎが表す次の時刻が、非稼働時間帯から外れて次の稼働時間帯に入ったかどうかを判定する（ステップＳ２８）。最初の稼働時間帯１の開始時刻にＮ分を加えた時刻が、稼働時間帯Ｌ（Ｌは既に次の稼働時間帯を指している）の開始時刻以降となる場合は、次の稼働時間帯Ｌに入ったと判定できる。次の稼働時間帯Ｌに入るまで（すなわちステップＳ２８の判定結果がＮＯの場合）は、カウンタＭをインクリメントしないまま次の時刻のレコードを作成する。これにより、非稼働時間帯内は、時刻番号１００及び絶対時刻１０２のみが進み、相対時刻１０６は一定となる一連のレコードが作成される。
【００３８】
そして、ステップＳ２８で時刻が次の稼働時間帯Ｌに突入したと判定されると、カウンタＭの値を１増加させ（ステップＳ３０）、ステップＳ１２に戻る。
【００３９】
一方、ステップＳ２２の判定で、稼働時間帯Ｌが稼働時間帯テーブルに存在しないと判定された場合、現在の時刻番号Ｎに対応するレコード行は、相対時刻テーブルに示された１サイクル分の期間における最後のレコード行となる。そこで、相対時刻テーブルに現在の時刻番号Ｎに対応するレコード行について、稼働フラグ１０４をＯＦＦに設定し、カウンタＭの値を１増加させて時刻番号Ｎに対応するレコード行を作成し（ステップＳ３２）、処理を終了する。
【００４０】
以上の処理を稼働時間帯テーブルに登録された１サイクルの最後の稼働時間帯まで実行することで、１サイクル分の相対時刻テーブルが完成する。本実施形態では、このような相対時刻テーブルの作成処理を、図２ａ，図２ｂの各稼働時間帯テーブルごとに行い、図４ａ，図４ｂに示す各相対時刻テーブルがそれぞれ作成される。そして、作成された各相対時刻テーブルは、相対時刻テーブル記憶装置２４に記憶される。
【００４１】
尚、上記のような相対時刻テーブル作成装置２２による相対時刻テーブルの作成処理は、年度計画策定や期ごとの微調整などで稼働時間帯テーブルが更新されるごとに実行すればよい。例えば、稼働時間帯テーブルを更新すると、自動的に相対時刻テーブル作成装置２２が起動し、その更新された稼働時間帯テーブルに基づき新たな相対時刻テーブルを作成する構成とすればよい。
【００４２】
再び図１に戻って、時間情報提供装置２６について説明する。時間情報提供装置２６は、ネットワーク２８を介してクライアント装置３０から時間情報の問い合わせを受け付け、相対時刻テーブル記憶装置２４内の相対時刻テーブルを参照してその問い合わせに対する回答を行う。クライアント装置３０は、例えば工場内の生産管理部門の端末の場合もあれば、製品を販売する店舗（製品が自動車の場合はディーラ店舗）に設置された端末の場合もある。クライアント装置３０と時間情報提供装置２６とを結ぶネットワーク２８としては、専用の通信回線を用いることもできるが、インターネットを利用することも可能である。
【００４３】
時間情報提供装置２６が提供できる時間情報としては、まず特定製品の完成予定時刻がある。例えば、自動車販売においては、顧客が希望する型式や色の車種がいつごろ納車できるかが分かると便利であるが、そのような場合、販売店に設けたクライアント装置３０から時間情報提供装置２６にアクセスし、希望する車種の識別情報等を入力するなどして、その車種の完成予定時刻や納車可能日時などの問い合わせを行うことができる。この場合、生産ライン上でどの車種の車両がどのようなスケジュールで生産されるか、及びそれら各車両が予約済みかどうかなどの情報は、予め生産ライン管理システム１６に登録されている。従って、問い合わせを受けた時間情報提供装置２６は、その生産ライン管理システム１６の情報を参照して、顧客が希望する車種で未予約の車両を１つ選び、その車両の完成予定時刻を、相対時刻テーブル記憶装置２４内の相対時刻テーブルを参照して算出処理する。
【００４４】
この完成予定時刻は、基本的には、当該車両の生産開始時刻（これは生産ライン管理システム１６に登録されている情報から分かる）に対して、その車種の生産リードタイム（これも生産ライン管理システム１６の登録情報から分かる）を加算することで算出される。ただし、生産ライン１０には非稼働時間があるので、非稼働時間を考慮した処理が必要となる。
【００４５】
そこで本実施形態では、車両の生産開始時刻とその車種の生産リードタイムとを用いて、例えば図６に示す処理手順でその車両の完成予定時刻を算出する。ここで、製品の完成予定時刻を算出する処理を一般化すれば、生産ライン１０上で、ある個別製品に対してある作業を開始する際の起点時刻Ａと、その作業に要するリードタイムＢとが与えられた場合に、その作業の終了時刻Ｃを稼働時間ベースで計算する処理ということができる。そこで、起点時刻ＡとリードタイムＢとから終了時刻Ｃを算出する処理として、その処理の流れを、図６を参照して説明する。尚、生産ライン１０上では作業はラインの流れに沿って実行されるので、作業の起点時刻Ａはワークがその作業の開始点に当たるチェックポイントを通過する時刻であり、終了時刻Ｃはワークがその作業の終了点に当たるチェックポイントを通過する時刻である。
【００４６】
また本実施形態では、算出処理が行われる前に、相対時刻テーブル作成装置２２によって予め図５のような作成処理が行われ、稼働計画表データに規定されている各稼働パターンについて、相対時刻テーブルが作成されているものとする。尚、この相対時刻テーブルの作成処理が行われるタイミングは、必ずしも算出処理前に行われなくとも良く、算出処理開始後に最初に行うようにしても良い。
【００４７】
図６の処理では、計算対象である起点時刻Ａの属する日（以下、計算対象日という）における稼働パターンを、稼働計画表データ記憶装置２０内の稼働計画表データから特定し、この稼働パターンの相対時刻テーブルを相対時刻テーブル記憶装置２４から取得する（ステップＳ４０）。次に、取得した相対時刻テーブルから、その製品に対するその作業の起点時刻Ａを絶対時刻１０２として持つレコードを検索し、それに対応する相対時刻１０６（値はＤとする）を取得する（ステップＳ４２）。そして、その相対時刻Ｄに対してリードタイムＢを加算した値Ｅを算出する（ステップＳ４４）。
【００４８】
続いて、取得した値Ｅと当該計算対象日の総稼働時間とに基づき、終了時刻Ｃが当該計算対象日内に属するか否かを判定する（ステップＳ４６）。具体的には、相対時刻ＤとリードタイムＢとの和である値Ｅが計算対象日の総稼働時間よりも大きい場合には、終了時刻Ｃが当該計算対象日内に属さない（すなわち、終了時刻Ｃは翌日以降である）と判定できる。尚、この判定では、リードタイムＢが計算対象日の総稼働時間以上である場合にも、終了時刻Ｃが当該計算対象日内に属さない（すなわち、終了時刻Ｃは翌日以降である）と判定しても良い。
【００４９】
ステップＳ４６の判定で、終了時刻Ｃは当該計算対象日内に属すると判定された場合、ステップＳ４４で得られた値Ｅは、その作業の終了時刻Ｃを相対時刻として表したものとなる。次に、その値Ｅを相対時刻として持つレコード行を相対時刻テーブルから探索する（ステップＳ４８）。そして、そのようなレコード行が複数あるか否かを判定し（ステップＳ５０）、１つであれば探索したレコード行の絶対時刻１０２の値を、終了時刻Ｃとして回答する（ステップＳ５２）。尚、非稼働時間の間は相対時刻として同じ値を持つレコードが複数できるため、相対時刻値がＥとなるレコード行が複数探索される場合もある。この場合は、探索で求められた複数のレコード行のうち、絶対時刻１０２の値が最も小さい（すなわち時間的に早い）レコード行の絶対時刻１０２の値を、終了時刻Ｃとして回答する（ステップＳ５４）。
【００５０】
例えば、起点時刻Ａ＝１１月１０日６時３２分、リードタイムＢ＝５時間５７分であるとすると、まず図３の稼働計画表テーブルから起点時刻Ａの属する日（計算対象日）である１１月１０日の稼働パターンはＡであることが分かるので、図４ａの相対時刻テーブルを取得する。次に、図４ａの相対時刻テーブルを用いると、起点時刻Ａの相対時刻Ｄは２であり、これに５時間５７分＝３５７分を加えると、終了時刻Ｃの相対時刻は３５９分となる。ここで、終了時刻Ｃの相対時刻である３５９分は、１１月１０日の稼働パターンＡによる総稼働時間（図４ａの相対時刻テーブルにおける最終の相対時刻８４０分に相当）以内であるため、終了時刻Ｃは計算対象日（１１月１０日）に属すると判定される。そして、この３５９分を相対時刻として持つレコード行は複数存在するため、絶対時刻１０２の値が最も小さい（すなわち時間的に早い）１１月１０日１３時２４分を問い合わせに対する回答の終了時刻Ｃとすればよい。
【００５１】
一方、ステップＳ４６の判定で、終了時刻Ｃは当該計算対象日内に属さないと判定された場合、次の日を新たな計算対象日として検索を開始する（ステップＳ５６）。まず、稼働計画表データ記憶装置２０内の稼働計画表データを用い、次の日の稼働パターンが非稼働であると特定された場合には、さらに次の日を新たな計算対象日として検索を行っていく（ステップＳ５８）。また次の日（新たな計算対象日）の稼働パターンが非稼働でないと特定された場合には、この稼働パターンの相対時刻テーブルを相対時刻テーブル記憶装置２４から取得する（ステップＳ６０）。そして、値Ｅから前稼働日における実稼働時間を減算し、得られた値を新たな値Ｅとして、相対時刻値がＥとなるレコード行を、ステップＳ６０で取得した相対時刻テーブルから探索する（ステップＳ６２）。
【００５２】
ステップＳ６４で探索された結果、相対時刻値がＥとなるレコード行が複数あるか否かを判定し（ステップＳ５０）、１つであれば探索したレコード行の絶対時刻１０２の値を、終了時刻Ｃとして回答し（ステップＳ５２）、複数探索された場合は、探索で求められた複数のレコード行のうち、絶対時刻１０２の値が最も小さい（すなわち時間的に早い）レコード行の絶対時刻１０２の値を、終了時刻Ｃとして回答する（ステップＳ５４）。このとき、回答する終了時刻としては、例えばステップＳ５６を行った回数をカウントしておき、その回数分だけ日数を加算し、日付と時刻とを合わせて終了時刻Ｃを回答することとなる。
【００５３】
例えば、起点時刻Ａ＝１１月１２日１８時２６分、リードタイムＢ＝５時間５７分であるとすると、まず図３の稼働計画表テーブルから起点時刻Ａの属する日（計算対象日）である１１月１２日の稼働パターンはＡであることが分かるので、図４ａの相対時刻テーブルを取得する。次に、図４ａの相対時刻テーブルを用いると、起点時刻Ａの相対時刻Ｄは６０１であり、これに５時間５７分＝３５７分を加えると、終了時刻Ｃの相対時刻は９５８分となる。ここで、終了時刻Ｃの相対時刻である９５８分は、１１月１２日の稼働パターンＡによる総稼働時間（図４ａの相対時刻テーブルにおける最終の相対時刻８４０分に相当）以上であるため、次の日（１１月１３日）について検索を開始する。１１月１３日の稼働パターンは図３の稼働計画表テーブルからＢであることが分かるので、図４ｂの相対時刻テーブルを取得する。次に、前述の９５８分から前稼働日（１１月１２日）の実稼働時間を減算する。１１月１２日の実稼働時間は、相対時刻（９５８分）からこの日の総稼働時間を減算して得られた値に相当し、９５８−８４０＝１１８分となる。ここで、相対時刻１１８分の行データは図４ｂの相対時刻テーブルに存在し、且つ該当する行データは一つであるため、その行データの絶対時刻である９時５８分が終了時刻Ｃとなる。従って、問い合わせに対しては１１月１３日９時５８分を終了時刻Ｃとして回答すればよい。
【００５４】
このように、時間情報提供装置２４は、起点時刻Ａから終了時刻Ｃまでの計算対象期間が複数日に亘るか否かにかかわらず、また複数日からなる期間において稼働日の稼働パターンが複数存在するような場合でも、生産ライン１０上でのある製品に対するある作業の終了予定時刻の情報を算出し、クライアント装置３０に提供することができる。この処理は、リードタイムＢの間にいくつ非稼働時間帯が入っても、非稼働時間帯の数だけ稼働時間帯テーブルにアクセスする必要がないため、処理が非常に速い。尚、図６の処理は、生産ライン１０上での処理において、ある時刻Ａに対してある時間Ｂを加えた結果の時刻Ｃを、稼働時間ベースで計算したい場合、一般に適用できる。
【００５５】
また、時間情報提供装置２６は、生産ライン１０上での個別製品の生産の、予定に対する遅れや進みの時間を算出するときにも用いることができる。例えば、生産管理部門において、特定の個別製品のワークの生産進行状況をモニタしたい場合があり、そのような場合には、その個別製品が生産管理部門の注目するチェックポイントを通過する時刻の予定に対する進みや遅れの時間を算出することになる。生産管理部門は、時間情報提供装置２６に対して、注目するチェックポイントと、注目する個別製品を指定すればよい。ここで、通過予定時刻は、生産ライン管理システム１６に登録されたスケジュールから分かり、実際の通過時刻は入力装置１２から生産ライン管理システム１６に登録されているので、これも生産ライン管理システム１６に問い合わせることで分かる。
【００５６】
本実施形態では、車両の通過予定時刻と実際の通過時刻とを用いて、例えば図７に示す処理手順でその時間差を算出する。ここで、このような時間差を算出する処理を一般化すれば、計算の基準となる生産ライン１０上での基準時刻Ｆ（例えば通過予定時刻）と、基準時刻Ｆに対する時間差を算出するための計算対象となる対象時刻Ｇ（例えば実際の通過時刻）との間の時間差を稼働時間ベースで計算する処理ということができる。そこで、基準時刻Ｆと対象時刻Ｇとからこれらの時刻の間の時間差Ｈを算出する処理として、その処理の流れを、図７を参照して説明する。
【００５７】
図７の処理では、まず基準時刻Ｆの属する日から対象時刻Ｇの属する日までの計算対象となる期間（以下、計算対象期間という）を特定し、この期間内に実行される稼働パターンを、稼働計画表データ記憶装置２０内の稼働計画表データから特定して、この稼働パターンの相対時刻テーブルを相対時刻テーブル記憶装置２４から取得する（ステップＳ７０）。そして、特定した計算対象期間が複数日からなる期間か否かを判定する（ステップＳ７２）。
【００５８】
ステップＳ７２の判定で、計算対象期間は複数日からなる期間ではない（すなわち、計算対象期間は１日である）と判定された場合、まず基準時刻Ｆに対応する相対時刻Ｊと、対象時刻Ｇに対応する相対時刻Ｋとをそれぞれ相対時刻テーブルから検索する（Ｓ７４，Ｓ７６）。ここで、計算対象期間が１日である場合には、ステップＳ７０にて、計算対象期間たるその日の稼働パターンの相対時刻テーブルしか取得されていない。そして、その相対時刻の差分Ｈ＝Ｊ−Ｋ（予定−実際）を計算する（ステップＳ７８）。この差分Ｈは、稼働時間ベースでの、基準時刻Ｆと対象時刻Ｇとの差を示している。この差が負の値ならば予定に対する遅れを、正の値ならば予定に対する進みを示している。
【００５９】
例えば予定時刻Ｆが１１月１０日１３時２３分、実際の通過時刻Ｇが１１月１０日１８時２６分の場合、計算対象期間は１１月１０日の１日であり、図３の稼働計画表テーブルから１１月１０日の稼働パターンはＡであることが分かるので、図４ａの相対時刻テーブルを取得する。そして、時刻Ｆに対応する相対時刻Ｊは３５８、時刻Ｇに対応する相対時刻Ｋは６０１なので、両者の差分Ｈ＝Ｊ−Ｋは−２４３となり、予定に対して稼働時間ベースで２４３分の遅れが発生していることが分かる。
【００６０】
一方、ステップＳ７２の判定で、計算対象期間は複数日からなる期間であると判定された場合、まず計算対象期間内の初日と最終日とを除いた各日の総稼働時間の合計時間Ｘを算出する（ステップＳ８０）。次に、計算対象期間内の初日と最終日における実稼働時間をそれぞれ算出し、それらの合計時間Ｙを算出する（ステップＳ８２）。具体的には、初日の実稼働時間は、初日の総稼働時間から基準時刻Ｆに対応する相対時刻を減算して得られた値に相当し、最終日の実稼働時間は、最終日における対象時刻Ｇに対応する相対時刻に相当するため、これらの値の合計が上記合計時間Ｙとなる。そして、各合計時間の和Ｘ＋Ｙを算出する（ステップＳ８４）。このＸ＋Ｙが、複数日の計算対象期間における基準時刻Ｆと対象時刻Ｇとの時間差Ｈとなる。尚、ステップＳ８０の処理とステップＳ８２の処理は処理手順の順序を逆にしてもよい。
【００６１】
例えば基準時刻Ｆが１１月１日１１時２５分、対象時刻Ｇが１１月２７日１０時００分の場合、図３の稼働計画表テーブルを用い、計算対象期間である１１月１日〜１１月２７日の間の各日の稼働パターンから、各稼働パターンごとの相対時刻テーブルを取得する。本例では、稼働パターンはＡとＢの２種類であるため、図４ａ及び図４ｂの相対時刻テーブルを取得する。次に、計算対象期間は複数日からなるため、まず、計算対象期間の初日と最終日を除いた各日の総稼働時間の合計時間を算出する。ここで、初日と最終日を除いた各日において、総稼働時間が８４０分である稼働パターンＡの稼働日は１９日間あり、総稼働時間が４８０分である稼働パターンＢの稼働日は２日間あるため、初日と最終日を除いた各日の総稼働時間の合計時間は、８４０×１９＋４８０×２＝１６９２０分となる。次に、初日の実稼働時間は８４０−２４０＝６００分となり、最終日の実稼働時間は１２０分となるため、初日と最終日の実稼働時間の合計は７２０分となる。従って、基準時刻と対象時刻との間の時間差は、１７６４０分となり、この値を問い合わせに対する回答の時間差とすればよい。
【００６２】
以上のような処理により、計算対象期間が１日か複数日かにかかわらず、また複数日からなる期間において稼働日の稼働パターンが複数存在するような場合でも、あるチェックポイントの通過時刻の予定と実際との差を算出したり、生産ライン１０における２つの時刻の稼働時間ベースでの時間差を算出したりすることができる。尚、この処理は、計算対象期間内にいくつ非稼働時間帯が入っても、非稼働時間帯の数だけ稼働時間帯テーブルにアクセスする必要がないため、処理が非常に速い。
【００６３】
また、上記の実施形態では、図４ａ，図４ｂに示すように、非稼働時間帯の各時刻にもそれぞれ相対時刻テーブルのレコードが作成され、時刻番号１００や絶対時刻１０２、相対時刻１０６が登録されている。このようにすることで、例えば突発的な理由などで、非稼働時間帯に予定外の稼働を行う必要が出てきた場合でも、その相対時刻テーブルに修正を加えることで時間情報を行うことができる。
【００６４】
尚、上記実施形態における相対時刻テーブル作成装置２２及び時間情報提供装置２６は、典型的には、上述した各装置の機能及び処理動作を記述したプログラムをコンピュータシステムに実行させることにより実現される。
【図面の簡単な説明】
【００６５】
【図１】本発明の第一実施形態における時間算出システムの構成を示す図である。
【図２ａ】稼働時間帯テーブルのデータ内容の一例を示す。
【図２ｂ】稼働時間帯テーブルのデータ内容の一例を示す。
【図３】稼働計画表テーブルのデータ内容の一例を示す。
【図４ａ】図２ａの稼働時間帯テーブルのデータから作成された相対時刻テーブルのデータ内容の一例を示す。
【図４ｂ】図２ｂの稼働時間帯テーブルのデータから作成された相対時刻テーブルのデータ内容の一例を示す。
【図５】相対時刻テーブル作成処理の手順の一例を示すフローチャートである。
【図６】起点時刻にリードタイムを加えた時刻を稼働時間ベースで算出するための処理手順の例を示すフローチャートである。
【図７】基準時刻と対象時刻との間の時間差を稼働時間ベースで算出するための処理手順の例を示すフローチャートである。
【符号の説明】
【００６６】
１０  生産ライン、１２  入力装置、１４，２８  ネットワーク、１６  生産ライン管理システム、１８  稼働時間帯データ記憶装置、２０  稼働計画表データ記憶装置、２２  相対時刻テーブル作成装置、２４  相対時刻テーブル記憶装置、２６  時間情報提供装置、３０  クライアント装置、１００  時刻番号、１０２  絶対時刻、１０４  稼働フラグ、１０６  相対時刻。
【図１】
2006285762.tif 000003
【図２ａ】
2006285762.tif 000004
【図２ｂ】
2006285762.tif 000005
【図３】
2006285762.tif 000006
【図４ａ】
2006285762.tif 000007
【図４ｂ】
2006285762.tif 000008
【図５】
2006285762.tif 000009
【図６】
2006285762.tif 000010
【図７】
2006285762.tif 000011