説明

検体ラック搬送制御方法

【課題】 複数の処理ユニットの間を検体ラック搬送ラインで結び、複数の検体への処理を行う搬送システムに於いて、全体での処理効率を上げる。また、処理装置への検体搬送に用いる検体ラックの最小数を計算する。
【解決手段】 検体処理スケジュールとその処理能力をもとに空検体ラックの各処理ユニットからの供給量と各処理ユニットへの排出量を予測計算し、それぞれの処理装置への空検体ラックへの排出量を調整し、各処理ユニットの性能を許容範囲内のばらつきで平準化させ、全体の処理性能を安定させる。またその状態をシミュレートに組み込むことにより、期待する処理性能を維持しつつ、最小の空検体ラック数を予測計算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は検体検査において、自動化されたシステムの中で、処理効率を目的とした容器の搬送制御方法に関する。
【背景技術】
【0002】
近年、医療分野では多様な自動化装置の発展により、検査業務の省力化が進められている。病院や検査機関ではその多数の自動化装置を利用し、血液、尿などの検査が行われている。一般に検体検査は検体の入った試験管に対し、遠心処理、開栓処理、分注処理などの前処理を行い、その後、生化学検査・免疫検査・凝固検査・血液学検査などの検査が行われる。各処理・分析検査の自動化をはじめ、処理装置間での検体の搬送を含めて自動化が行われている。一連の検査において、一部装置間で検体を人の手で運ぶものもあれば、全てが搬送装置で繋がっているものもある。
【0003】
検体検査自動化システムにおいては、検体ラックの投入ユニットの構成・方式については、今まで複数報告されており、例として、特許文献1では、検体種別に応じた処理を実施するため、大量の検体トラックを、予め装置にセットしている。一方、特許文献2では、大量の検体トラックの設置面積を削減するために、検体ラックを配置したトレイを検体ラック供給部と回収部ともに多段に配置し、上下駆動のエレベータにより検体ラックの供給・回収を行っている。特許文献3では、エンドレス化した搬送ラインに自動検査装置を連結し、使用する検体ラックを使い回す方式を提案している。特許文献4では、投入ユニットの近傍に複数の搬送ラインを配置し、搬送ラインに検体ラックをストックし、検体ラックを使いまわす方式が記されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許3618067号公報
【特許文献2】特開2007−309675号公報
【特許文献3】特開平8−122337号公報
【特許文献4】特許4336360号公報
【特許文献5】特開2002−357612号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献3はシステム内で検体ラックの搬送ラインをループしながら、検体ラック再利用を行うので大量の検体ラックは必要としない。ただし、空の検体ラックと検体が載った検体ラックが同じ搬送ラインを通ることになるので搬送ラインに渋滞が発生し、処理速度の高いシステムを構築することが困難である。また、空の検体ラックと、検体が載った検体ラックの識別が必要であるなど、搬送制御についても複雑化が避けられない。これを回避するために検体が載った検体ラック搬送ラインとは別に空の検体ラック専用ラインを設ける方法が考えられる。
【0006】
特許文献4は複数の搬送ラインを配置して空の検体ラックを戻すので大量の検体ラックは必要としない。ただし、検体ラックを必要とする処理ユニットが複数存在する場合、処理ユニット間で空の検体ラックのストック数にばらつきが生じ、処理速度の高いシステムを構築することが困難である。
【0007】
また特許文献5の様に、各処理装置間での過剰搬送の防止策が必要となるが、こういったループ構造では、1つの処理ユニットの性能が低下すると、その性能が伝播し、全体での処理性能が下がる。そのため、各処理の受け渡しの歩調を合わせる必要がある。
【0008】
搬送ライン上で運ばれる検体を載せた検体ラックや空の検体ラックについて、複数の処理ユニットに対し供給・排出が行われる場合には、搬送ライン上に複数の処理ユニットが並んでいるため、ある1つの処理ユニットの処理能力が高くても、他の処理ユニットへの依存関係により、全体としての効率は上がらないため、全ての処理ユニットが許容範囲の中で同調して動くことが装置全体での処理能力の向上につながる。
【0009】
また、検体の搬送に於いて、空の搬送用検体ラックが検体搬送とは別のラインコントロール下に置かれると、処理装置全体の性能を上げるには、検体搬送ラインでの処理性能を低下させないように、空検体ラック搬送ラインで、処理ユニットの性能に偏りをなくすように、空検体ラックを供給する必要がある。しかしながら、空検体ラックの量については多ければよいというものではなく、搬送ラインの制御のために、装置の大きさ、及びその構成に影響され、空検体ラックの総量は制限される。その制限された空検体ラックの総量の中でも処理性能が低下しないことが必要となる。
【課題を解決するための手段】
【0010】
複数の処理装置の間を検体ラック搬送ラインで結び、複数の検体への処理を行う搬送システムに於いて、各処理を担当する処理ユニットの処理効率を装置全体で平準化することが、全体での処理効率を上げることになる。空検体ラックを装置間の周回搬送にて管理しているラインに於いて、検体処理スケジュールとその処理能力をもとに空検体ラックの各処理ユニットからの供給量と各処理ユニットへの排出量を予測計算し、それぞれの処理装置への空検体ラックへの排出量を調整し、各処理ユニットの性能を許容範囲内のばらつきで平準化させ、全体の処理性能を安定させる。またその状態をシミュレートに組み込むことにより、期待する処理性能を維持しつつ、最小の空検体ラック数を予測計算する。
【発明の効果】
【0011】
本発明により、各処理装置への空検体ラックの排出量が、各処理ユニットの性能をもとに決定され、各処理装置の性能が平準化され、検体処理装置全体の性能が最高になるように調整される。またこの計算処理を用い、処理装置全体の構成に於いて、必要処理効率を元に最小限の空検体ラック数を決めることができる。
【図面の簡単な説明】
【0012】
【図1】全体構成図
【図2】検体処理装置内部概要図
【図3】全体の調整フロー
【図4】空検体ラックの過不足計算フロー
【図5】空検体流量調整フロー
【図6】空検体ラック流量と処理装置性能(スループット)の関係性を表す図
【図7】空検体流量調整フロー
【図8】検体処理装置における、処理ユニットでの空検体ラック取得と排出の模式図
【図9】調整前後の値の例
【図10】制御部の一例
【図11】入出力画面の一例
【図12】最小空ラック数の計算フロー
【図13】計算値の例
【図14】P計算値の例
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【0014】
図1と図2に検体搬送システムの一例を示す。但し本発明の適用は以下に限定されるものではない。
【0015】
図1にて検体処理装置をコントロールする仕組みの概要を説明する。101が各装置の制御を行うメインコントロールユニットであり、各装置の状態や検体の搬送情報を収集し、処理装置への指示を行う。106〜110は検体を処理する、処理ユニットであり、複数の装置が検体ラックの搬送ライン105で連結されている。104は106〜110の処理ユニットとメインコントロールユニット101とを結ぶ信号ラインであり、メインコントロールユニット101からは検体処理の指示を、処理ユニットからは検体処理に必要な情報の送信依頼、検体の処理報告、空検体ラックの要求などが送信される。
【0016】
105は106〜108の処理ユニット間で検体や検体を運ぶ容器である検体ラックを搬送する搬送ラインである。搬送ライン105は2つ以上存在し、検体を搬送する検体搬送用ラインと、空の検体ラックを搬送する空検体ラック用搬送ラインを最低1つ持っている。例では各搬送ラインを1本ずつ持っているものを示す。
【0017】
これら搬送ライン105は搬送ラインコントローラ103により制御されている。102は搬送ラインコントローラ103とメインコントロールユニット101を結ぶ信号ラインであり、搬送ラインコントローラ103からは搬送状態の情報を、メインコントロールユニット101からは、各検体、及び空検体ラックの搬送の指示を送信する。
【0018】
メインコントロールユニット101は、各処理ユニットから得た検体処理の情報及びそれから作られる検体処理スケジュール(検体処理・空検体ラックの取得及び排出の予定や記録など)、搬送ラインコントローラ103により得られた空検体ラックの情報を取得し、定期的に搬送ラインコントローラ103に調整処理を行うようにするとよい。
【0019】
図2を利用し、処理ユニット間での検体を入れた検体用ラックと空の検体用ラックの流れを説明する。最初に各装置の説明を行う。まず搬送ライン105として、検体を運ぶ検体用搬送ライン201、空の検体ラックを運ぶ空検体ラック用搬送ライン202を示す。ライン201,202は処理ユニット106〜110に対し、それぞれ供給、排出ライン205〜219を持っている。検体用搬送ライン201上を流れる検体の乗った検体ラック204や空検体ラック用搬送ライン202上を流れる空検体ラック203がこれらの供給、排出ラインを通して処理ユニットに受け渡される。ここでは、処理ユニットから搬送ラインへ検体ラックが運ばれることを供給、搬送ラインから処理ユニットへ検体ラックが運ばれることを排出としている。またこの205〜219での供給・排出の制御は搬送ラインを制御する103と各処理ユニットのどちらでも行うことが出来ると考えられる。以下では103から行う例を説明する。この様な構成に於いて、空検体ラック搬送ライン202の空検体ラック203の流れを基準に、各処理ユニット106〜110の前後の順序を上流、下流と表現する。
【0020】
図2に於いては空検体ラック203が時計回りに搬送されているので、処理ユニット107の上流処理ユニットは処理ユニット108を、下流処理ユニットは処理ユニット106を示す。なお、周回している空検体ラック用搬送ライン202に於いては、相対的にしか上流、下流と表現できないが、便宜上絶対的な開始点を設定しても良い。例えば、図2に於いて、起点を設けなければ処理ユニット107の最上流は処理ユニット106となるが、処理ユニット110を起点とした場合、最上流は処理ユニット110となる。
【0021】
次に、空の検体ラックを、処理ユニット106に搬送し、処理ユニット106から検体を乗せて搬送ラインに供給し、続いて処理ユニット107に搬送後、空となった検体ラックを搬送ラインにのせる一方、処理後の検体を搬送ラインに載せて処理ユニット110に搬送するというフロー例を示す。
【0022】
処理ユニット106が、メインコントロールユニットに信号ライン104を経由して検体を運ぶための空検体ラックの必要数と制限時間を送信する。メインコントロールユニット101は要求を受け入れ、定期的に全処理ユニットへの空検体ラックの供給数を制御・指示している。メインコントローラ101が可否を判断し、処理ユニット106への制限時間内の搬送数を搬送ラインコントローラ103へと指示する。搬送ラインコントローラ103は、搬送ラインの排出口205から、搬送ライン202上に流れている空検体ラック203を指示された数、処理ユニット106に搬送するような制御を行う。
【0023】
その際に、空検体ライン202上で制限時間内の空検体ラック搬送数が、指示された数より多い場合は、その搬送ライン202から処理ユニット106への排出方法が複数考えられる。1つは指示数だけ連続で空検体ラックを搬送してしまう方法である。もう1つは一定の割合で空検体ラックを搬送する方法である。後者は例えば、1/Nで取得するとした場合、最初に空検体ラックを取得し、その後ライン上のN個目の空検体ラックを取得するという様に、不連続で取得する方法である。何れの方法にしても、搬送ラインコントローラ103は空検体ラックを搬送したことをメインコントロールユニット101に送信する。以後、この搬送ラインコントローラ103は、搬送の度にメインコントロールユニット101に結果を送信することとする。
【0024】
処理ユニット106では搬送された空の検体ラックに検体を載せ、供給口206から検体搬送ライン201へ検体204として受け渡し、検体情報と搬送情報をメインコントロールユニット101に送信する。メインコントロールユニット101は、検体情報から次の搬送先を決定し、搬送ラインコントローラ103に指示を送信する。検体搬送ライン201は搬送ラインコントローラ103の指示を受け、検体204を処理ユニット107への搬送を行うために、排出口208に渡し、処理ユニット107へ受け渡す。処理ユニット107は検体を受け取ったことと検体の情報をメインコントロールユニット101に送信し、検体処理に必要な情報を受け取る。処理ユニット107は検体204から検体本体を装置に取り込み、不要となった空検体ラックを供給口209から空検体ライン202に投入する。搬送ラインコントローラ103は空検体ラックを受け取ったことをメインコントロールユニット101に送信する。
【0025】
処理ユニット107にて検体の処理を行った後、排出口207より空検体ラックを取得し、検体を乗せ、検体204として供給口210から検体搬送ライン201に投入し、検体情報と搬送情報をメインコントロールユニット101に送信する。メインコントロールユニット101は、検体情報から次の搬送先を決定し、搬送ラインコントローラ103に指示を送信する。検体搬送ライン201は検体204を処理ユニット110への搬送を行うために、排出口219に渡し、処理ユニット110へ受け渡す。処理ユニット110は検体を受け取ったことと、検体の情報をメインコントロールユニット101に送信し、検体処理に必要な情報を受け取る。処理ユニット110にて検体204から検体を取り出し、不要となった空検体ラックを供給口218から空検体搬送ライン202に受け渡す。搬送ラインコントローラ103は、空検体ラックを受け取ったことをメインコントロールユニット101に送信する。
【0026】
以下、スループットと流量という言葉を使うが、スループットとは処理ユニットの単位時間当たりの検体処理能力であり、流量とは搬送ラインでの単位時間当たりの検体ラックの搬送能力である。
【0027】
尚、スループットには3種類ある。1つは最大実行スループットであり、各処理ユニットが単位時間に処理可能な検体数を表す。2つ目の実行スループットは処理ユニットが単位時間に実際に処理した検体の数を表し、実行予測スループットはその予測値を指す。3つ目は必要スループットと呼び、各処理ユニットが規定の最大実行スループットを実現するために必要な単位時間当たりの空検体ラック取得数を表す。
【0028】
図3〜7にて処理ユニットの性能とスケジュール情報、空検体ラックの供給量をもとにメインコントロールユニット101が行う処理装置全体の調整処理フローの例を示す。メインコントロールユニット101の詳細を、図10に示す。図10には、システムバス1004と、演算処理を通じて各種の機能を実現するCPU1005と、演算処理の作業領域に使用されるRAM1006と、データの入出力に使用されるI/O 1003と処理に利用するデータベース群を格納する記憶領域1007と、各種計算を実行するためのプログラム群が格納されている記憶領域1008とを有している。ここでは、システムバス1004を通じ、各処理ユニットからの情報や検体ラックの搬送に関する情報が処理される。
【0029】
図3は調整処理フローの例となっている。300は前処理で、検体処理装置の構成と処理速度が決まった時点で一度計算しておくべき数値である。300では、指定の装置全体の処理速度でそれぞれの処理ユニットが動く際に、各処理ユニットの空検体ラックの必要量を計算する(必要スループット)。この値は、1008のシミュレーション機能などによってあらかじめ求めてもよいし、簡単には、1007のデータベースを利用して指定の装置ユニット全体の処理速度としてもよい。また、処理速度が指定されていない場合は、装置全体のうち、最低の処理速度を有する処理速度から計算してもよい。但し、同じ処理ユニットが複数存在し、出力結果を等価に扱える場合(例えば遠心分離機)は、それを考慮する。
【0030】
301-306は一定時間ごとにループする流れになっており、定期的に調整をかけるサイクルとなっている。ステップ301にて各処理ユニットのスケジュールから、サイクル時間内に空検体ラックを空検体ラック用搬送ラインに供給する量を取得する。ステップ302にて各処理ユニットのスケジュールから、サイクル時間内の処理に必要な空検体ラックの量を取得する。ステップ303にて空検体ラックの過不足計算を行う。ステップ303の工程は後述の図4の説明にて行う。ステップ304にて303の結果を判定し、空検体ラックの不足がなく、各処理ユニットの取得量に調整をかける必要がない場合は、ステップ306へと進み、空検体ラックの不足が発生していた場合は、ステップ305へ進む。ステップ305では各処理ユニットでの空検体ラックの取得量調整処理を行う。ステップ305の詳細は後述の図5と図7の説明にて行う。ステップ306にて一定時間待機し、ステップ301へ戻る。
【0031】
図4にて空検体ラックの流量の過不足を計算する。ステップ401にて空検体ラック用搬送ラインの流れで、最上流に位置する処理ユニットを選択する。ステップ402にて空検体ラック用搬送ラインの状態情報及び上流の処理ユニットのスケジュール情報から、選択した処理ユニットに流れてくる空検体ラックの量を取得する。ステップ403にて、選択された処理ユニットが必要としている空検体ラックの量の過不足を判定し、不足している場合はステップ404へ、充足している場合はステップ405へ進む。ステップ404にて選択処理ユニットが流量不足としてデータを登録する。ステップ405にて選択処理ユニットを通過した後の空検体ラックの数を計算する。この時負の値になった場合は0と設定する。ステップ406にて選択処理ユニットが空検体ラックを排出するスケジュールの有無を判定し、有る場合はステップ407へ、ない場合はステップ408へと進む。ステップ407ではステップ405にて計算した予測流量に、排出予定の空検体ラックの数を追加する。ステップ408にて選択処理ユニットの下流に計算していない処理ユニットが存在するかを判定し、ある場合はステップ409へ、ない場合は終了する。ステップ409では存在する下流検体処理ユニットの中で、最も近いものを選択し、次の処理ユニットとして選択する。
【0032】
図5、図7にて空検体ラックの不足が出ている場合に処理ユニットのスループットをもとに空検体ラック流量調整処理のフロー(図3でのステップ305に相当)を説明する。
【0033】
図5、図7は、空検体ラック不足検体処理ユニットの装置全体でのばらつきに基づき、ラック流量の調整をするため、図4の処理が終了したあとに実行する。上述で定義したように、実際のスループットは、実行スループットであり、必要スループットと区別される。図5は、最低スループットに着目する方法、図7は、全体のバランスを考慮し、更に、空検体排出量の時刻を予測して用いる方法である。
【0034】
まず、ステップ501にて、各処理ユニットの実行スループット/必要スループットもしくは実行予測スループット/必要スループットの処理装置間のばらつきが閾値内に収まっているかを判定し、収まっている場合には処理を終了し、収まっていない場合はステップ502に進む。閾値については、予めメインコントロールユニット101の記憶装置に入れておく。この判定で利用する閾値は、例えばばらつきの幅5-10%程度と設定する。
【0035】
ステップ502では各処理ユニットが501のステップで範囲内に収まるように調整するための目標値(実行スループット/必要スループットの%)を算出する。この計算は複数の手法をとることができる。例えば全処理ユニットの実行スループットの値で中央値を使用する方法や、偏差値で50となる値を計算する手法などがある。また、各処理ユニットごとに目標スループット値を計算する。
【0036】
ステップ503では、ステップ501にて最低の実行スループット評価を受けた処理ユニットを選択する。ステップ504にてステップ503にて選択した処理ユニットの上流処理ユニットのリストを作成する。
【0037】
ステップ505にて、処理ユニット群のリストの計算処理残数を判定し、残処理ユニットが存在する場合にはステップ506へ、ない場合はステップ501へと進む。
【0038】
ステップ506では、残処理ユニットの中で最上流のものを選択する。ステップ507では、ステップ506で選択した処理ユニットの実行スループットとステップ502にて設定した目標値とを比較し、実行スループットの方が大きければステップ508へ、小さければステップ509へと進む。
【0039】
ステップ508では、選択処理ユニットが空検体ラック用ラインから空検体ラックを取得する割合を減らし、実行スループットの値を下げる。ステップ509では選択処理ユニットの空検体を取得する割合を上げ、実行スループットの値の上昇を狙う。
【0040】
ステップ510にて空検体ラックの取得量から実行スループットを予測計算し、ステップ505に戻る。
【0041】
このステップ508及びステップ509にて指示する空検体ラックの取得方法は複数が考えられる。空検体ラック用ラインから許可された検体ラック取得量を最初に取得し残りを下流に流す方法や、N個おきに一定割合で取り込む処理をし、最終的に許可された検体ラック量を取得する方法などが考えられる。後者は下流へ空検体ラックが均一に流れるための工夫であり、空検体ラックの取り込み係数を(予測取得空検体ラック量)/(予測空検体ラック流通量)とすると均等に検体ラックが配分されていく。
【0042】
またステップ508及びステップ509にて、この処理ユニットの予測実行スループットから空検体ラックの取得量の増減を行う幅は実行スループットの空検体ラック依存性に関する相関データを用いることができる。例えば、図6の様に処理ユニット特性として、事前に実行スループットとの空検体ラックの取得量の依存性をデータとして1007に保持し、それに応じてスループットの目標値に近づける方法がある。また処理ユニットによっては依頼される検体の処理内容が一様ではない可能性があり、更にパラメータを増やした実行スループットの空検体ラック依存性解析を行い、これらの関係式を構築することも考えられる。
【0043】
最後にステップ511にて計算結果を実機へのパラメータとして設定する。各処理ユニットの空検体ラック用ラインから取得する空検体ラック数の割合が1002を通し、103又は各処理ユニット106-110に信号伝達される。
【0044】
図2と図9を用いて図5の具体例を示す。図9に於いて、901は、各処理ユニットの状態パラメータを示している。また902は、図2に示されている各処理ユニットの状態を列として表している。また903は、図5の調整前の状態を、904は、図5での調整後の状態を示している。
【0045】
901の処理ユニットの状態パラメータとして、予測実行スループット、必要スループット、ばらつき判定指標、単位時間投入予定空検体ラック数、予測空検体ラック流通量がある。ばらつき判定指標は、図5の501にて利用するばらつきの指標を示し、実行スループット/必要スループットの値であり、その処理ユニットの処理能力の発揮度合を示す。
【0046】
依存関係のある処理を逐次行う装置全体でみた場合、1つの処理装置の能力低下はそのまま全体の処理能力の低下へとつながる。例えば処理ユニット106と107に依存関係があった場合、処理ユニット106が50%の処理能力しか出せないと、処理ユニット107が100%の処理能力を発揮できる状況であっても、全体では50%の処理能力しか発揮できない。従って、このばらつき判定指標の値はその処理装置全体の処理能力へ影響する。
【0047】
本例では全体が依存関係を持っているとし、このばらつき判定指標の最低値を全体能力の値とする。他にもばらつき判定指標の平均や分散を用いても良い。またばらつき判定の閾値は、ここでの説明では5%とする。供給予定空検体ラック数は、処理ユニットが空検体搬送ライン202へ戻す空検体ラック数を示し、予測空検体ラック流通量は、上流から流れてくる空検体ラック数を示す。この値は処理検体数にも依存するため、変動する可能性がある。
【0048】
また本例では単純にするために、実行スループットTと空検体ラックの取得量Rの関係はT=Rの式で表されるとする。調整前の指標903をみると、各処理ユニットのばらつき判定指標は0.67,1.00,1.00,1.00となり、最大0.33、つまり33%のばらつきがあり、5%を超えており、ステップ501にてばらつきが有るとの判定を受ける。尚、ここでの処理ユニット110は、空検体ラックを利用しない処理としており、例えば検体の回収ユニットなどが考えられる。
【0049】
図5のステップ502にて目標スループットの計算を行うが、ばらつき判定指標の平均を利用すると0.918となり、処理ユニット106から109までそれぞれの目標実行スループット値が27,55,28,55,となる。
【0050】
ステップ503にて選択される処理ユニットは106であり、ステップ504にて選択される処理ユニットは107〜109となる。
【0051】
ステップ506にて処理ユニット109を選択し、ステップ507にて現行予測実行スループット値60が目標値の55より大きいことからステップ508へと進む。
【0052】
ステップ508にてT=Rの関係を用い、処理ユニット109の取得数を55まで減らす取得係数を設定し、予測実行スループットを55とする。
【0053】
ステップ505に進み、処理ユニット群106〜108があることから、ステップ506に進み、処理ユニット108を選択する。
【0054】
ステップ507にて現行予測実行スループット値30が目標値の28より大きいことからステップ508へと進む。ステップ508にてT=Rの関係を用い、処理ユニット108の取得数を28まで減らす取得係数を設定し、予測実行スループットを28とする。
【0055】
ステップ505に進み、処理ユニット群106,107があることから、ステップ506に進み、処理ユニット107を選択する。ステップ507にて現行予測実行スループット値60が目標値の55より大きいことからステップ508へと進む。ステップ508にてT=Rの関係を用い、処理ユニット107の取得数を55まで減らす取得係数を設定し、予測実行スループットを55とする。
【0056】
ステップ505に進み、処理ユニット106があることから、ステップ506に進み、処理ユニット106を選択する。ステップ507にて現行予測実行スループット値20が目標値の28より低いため、ステップ509へと進む。ステップ509では予測空検体ラック流通量の許す範囲で取得量を上げ、処理ユニット106が27個の空検体ラックを取得するように設定する。ステップ510にて予測実行スループットの再計算を行い、27であることを得る。ステップ505にて残数0なので、ステップ501に進み、再度ばらつき判定を行い、各処理ユニットの指標の値が0.90,0.92,0.93,0.92となり、最大値0.93に対する最低値0.90の値から最大0.03、つまり3%のばらつきであり、5%以内であることから処理を終了する。以上の計算により、最終的なばらつき判定指数を用いた装置全体の処理能力を比較すると、調整前の0.67から調整後の0.90へと改善される。
【0057】
図7の実施例は、図5と同様に空の検体ラックがあるときに、実行スループット/必要スループットのばらつき判定を行い、ばらつきが閾値内に収まらないときには、下記(数4)もしくは(数13)にて、各処理ユニットの最適な空検体ラック取得率を計算し、各処理ユニットは、得られた取得率で、空検体ラック搬送ラインから空検体ラックを取得するようにする。
【0058】
j番目の処理ユニットでの必要スループット値をRjと記し、実行スループットをXjとし、必要がなくなって処理ユニットから排出される空検体ラックのスループット量(排出スループット)をIjとする。排出スループットはIj=n×Xjと比例し、処理内容によりその係数nは変わる。排出がない場合は、Ij=0となる。
【0059】
処理ユニットjよりすぐ下流の搬送ラインの流量をFjとし、空検体ラックが供給される部分のすぐ後の処理ユニットの番号を1とし、処理ユニットR1に供給される前の空検体ラック搬送ラインの流量をF0とする。F0=I0となる。
【0060】
今、装置全体で利用できる空検体ラック量は
【0061】
【数1】

【0062】
使用される空検体ラック量は
【0063】
【数2】

【0064】
従って、想定される平均の必要スループット/排出スループット比Eは、
【0065】
【数3】

【0066】
処理ユニットiでの空検体ラック取得率は、E<1の場合は、
【0067】
【数4】

【0068】
それぞれの搬送ラインでの流量は
【0069】
【数5】

【0070】
となる。
【0071】
もし、Fi<E*Ri+1となる領域がある場合は、処理ユニットからの排出より先に、上流での取得がきたものである。
E*Ri+1 -Fi分をF0に追加して流すか、Fi<E*Ri+1を満たすiの最大値”k”で一旦領域を区切り、
【0072】
【数6】

【0073】
【数7】

【0074】
【数8】

【0075】
【数9】

【0076】
を取得率とする。
【0077】
再度、Fi<E1-k*Ri+1となる場合は、同様の作業を繰り返す。
【0078】
k+1以降についての空検体ラック取得率は, 数1〜4について、開始番号をkずらした値で同様に計算する。(例えば、数1ではi=0からの総和ではなく、i=kからの総和)
図8に図7の具体例を示す。ここで、処理ユニットR1〜R5(801, 802, 803, 804, 805)は搬送ライン810に接続されている。また、空検体ラック排出部812と空検体ラック供給部811は矢印で示す。(A)の場合は、Pi=(Riの実行スループット)/(Riの必要スループット)(%)とすると、P1=100%, P2=P3=P4=80%, P5=60%とする。簡単のため、処理ユニットは全て同じものとし、R1=R2=R3=R4=R5とする。数1〜3に基づき、R1の取得率が下げられ、R5の取得率が上昇する。しかし、R1での変更が伝搬してR5に届くまでには、搬送時間分かかる。搬送時間をdTとすると、dTの間は、より近くにあるR4, R3の数3の取得率をばらつきの限界値を考慮してE*z(z=0.90-0.95)としておくことがより効果的である。zは安全係数であり、例えば0.90〜0.95くらいに設定すると良い。
【0079】
排出も、必要な空検体ラック数も経時変化する場合がある。時刻tにおいては、Ij(t), Rj(t)となる。図7の702では経時変化を考慮している。
【0080】
図8に、概念図を記す。図8での時刻tにおける(A)では、処理ユニットR3からは空検体ラックの搬送ラインへの供給がないが、時刻t+Tには、(B)の状態となり供給が開始される。
【0081】
今、搬送ラインの監視インターバルをdtとする(図3の306)。
【0082】
【数10】

【0083】
使用される空検体ラック量は
【0084】
【数11】

【0085】
従って、想定される平均の必要スループット/排出スループット比は、
【0086】
【数12】

【0087】
処理ユニットiでの空検体ラック取得率は
【0088】
【数13】

【0089】
それぞれの搬送ラインでの流量は
【0090】
【数14】

【0091】
Fi(t)<E(t)*Ri+1(t)の取り扱いは、数1〜5のときと同様である。
【0092】
dtが小さい場合は、数10-12は積分値の代わりに、時刻t, t+dtの値の平均値を取っても構わない。
【0093】
以上の最適な空検体ラック取得率を決定できる手法を利用し、装置全体の構成及び検体のサンプル情報を用い、実際に装置を動かすことなく、装置の動作シミュレートを行い、必要な処理性能を維持する範囲で空検体ラックの最小限の量を算定する例を説明する。
【0094】
尚、図10に示されている、I/O 1003には、システム入力部1001があり、入力値として「期待処理性能」、「収束閾値」、「サンプル情報」、「装置構成」などが入力される。また、I/O 1003には、システム出力部1002があり、出力値として「最小限空検体ラック数」と「予測処理性能」が出力される。記憶領域1007には、例示した「装置構成」、「サンプルパターン」、「処理性能」、「スケジュール」などが格納されている。記憶領域1008には本計算に利用するプログラムとして「検体搬送装置シミュレート機能」、「空検体ラック供給係数計算機能」、「空検体ラック数探索機能」が格納される。また各処理ユニットの処理性能が事前に計測、記録されていれば、1007と1008の情報を用いることにより、図1の101単体で、最小限の空検体ラック数を計算することが可能となる。つまり実際に装置全体を構築する前に、最小限の空検体ラック数を予測することができる。
【0095】
図11にて入出力画面の例を示す。入力部1001には、対象の機器構成の種類を入力する欄1101、期待する処理性能値を入力する欄1102、利用するサンプルデータセットを入力する欄1103、計算における収束閾値を入力する欄1104を持つ。また出力部1002としては、シミュレートの結果としての予測処理性能値1105を、最小限の検体ラック数1106を、それぞれ表示している。
【0096】
最適な空検体ラック取得率の計算では実行スループット/必要スループット比を501や式3、式12などで求めている。処理性能は単位時間あたりに処理できる検体サンプル数とすると、この値は装置の処理性能の指標としても利用できる。前述の計算では図3にて説明したように単位時間あたりの調整方法として求めている。これにサンプルの投入スケジュールを利用することにより1日単位などの運用状態をシミュレート計算することが可能となる。
【0097】
そこで図3のループを複数回実行することを考え、投入サンプルのデータSと空検体ラックの総数Hを入力とし、装置全体の処理性能Pを出力とする計算モデルが装置構成毎に構築できる。例えばPには図3の処理ループでのばらつき指標群の平均が利用できる。具体的には、全サンプルSが処理されるまでのシミュレートの中で、図3のループが実行されるたびに、図9の905のばらつき指標を記録、最後にその平均値を処理装置の処理性能Pとする。これに対し、期待処理性能をPmとするとP≧Pmの関係を利用した最適化問題となる。SはPmと共に初期条件として固定されているため、Hを変動させることにより、装置全体の期待処理性能内で必要な最小限の空検体ラックの数を算出することができる。
【0098】
この最適計算の例として図12を利用して説明をする。ステップ1201にて初期値として大検体ラック数Hlと小検体ラック数Hsを設定する。初期大検体ラック数Hlは装置全体で構成上、動作可能な範囲で物理的に配置できる最大の空検体ラック数とする。初期小検体ラック数Hsは原理的に装置が動作する為に必要な最小限の空検体ラック数をとする。ステップ1202にてHlとHsとの中間値Hmを計算し、Pを計算する。ステップ1203にてPとPmを比較し、Pが等しいか大きい場合はステップ1204に、小さい場合にはステップ1205へと進む。ステップ1204ではHの値をHlに設定し、ステップ1206へと進む。ステップ1205ではHの値をHsに設定し、ステップ1206へと進む。ステップ1206ではHlとHsの差が許容閾値内であればステップ1207へ、許容閾値外であればステップ1202へ進む。ステップ1207ではHlに設定されている値を返して終了する。
【0099】
図13にて具体的な計算の例を示す。Pmは1.0と設定する。最初に図13の表内の項目を説明する。1301は図12のステップ1202の計算回数を表す。1302はHmを、1303はPを、1304はHlを、1305はHsをそれぞれ表す。1306はHlとHsの差であり、ステップ1206の判定に利用する。今回の例ではこの判定閾値を10とする。次に計算の進みを追っていく。
【0100】
最初のステップ1201にて初期値設定が行われ、Hlを500、Hsを40と設定する。計算回数0の行はHmとPの値が存在しない。ステップ1202にてHm=270と計算され、それをもとにP=0.72を得る。P=0.72の計算例を図14を利用して説明する。図14は1401に図3の301から306までのループ処理の回数を、1402〜1406までは処理ユニットでの調整後ばらつき指標を、1407にはばらつき指標の最低値を利用した装置全体での処理能力を表す。サンプルSを処理するのに要したループ数を6における1407の各値の平均値をPとし、P=0.72となる。Pm>Pなので、ステップ1205に進み、HsにHmを代入する。ステップ1206にてHlとHsの差が230であり、10よりも大きいため、ステップ1202に進む。
【0101】
2回目のステップ1202にてHm=385と計算され、それをもとにP=1.0を得る。P≧Pmなので、ステップ1204に進み、HlにHmを代入する。ステップ1206にてHlとHsの差が115であり、10よりも大きいため、ステップ1202に進む。
【0102】
3回目のステップ1202にてHm=328と計算され、それをもとにP=0.91を得る。Pm>Pなので、ステップ1205に進み、HsにHmを代入する。ステップ1206にてHlとHsの差が57であり、10よりも大きいため、ステップ1202に進む。
【0103】
4回目のステップ1202にてHm=357と計算され、それをもとにP=1.0を得る。P≧Pなので、ステップ1204に進み、HlにHmを代入する。ステップ1206にてHlとHsの差が29であり、10よりも大きいため、ステップ1202に進む。
【0104】
5回目のステップ1202にてHm=343と計算され、それをもとにP=0.95を得る。Pm>Pなので、ステップ1205に進み、HsにHmを代入する。ステップ1206にてHlとHsの差が14であり、10よりも大きいため、ステップ1202に進む。
【0105】
6回目のステップ1202にてHm=350と計算され、それをもとにP=1.0を得る。P≧Pなので、ステップ1204に進み、HlにHmを代入する。ステップ1206にてHlとHsの差が7であり、10よりも小さいため、ステップ1207に進む。ステップ1207ではHlが350であるため、350を空検体ラックの数として値を返し、計算を終了する。
【0106】
このようにして決定されたラック数を、例えば、出力部の1106欄に表示することができる。また、その時の予測処理性能値も合せて表示することができる。
【符号の説明】
【0107】
101:メインコントロールユニット
102:メインコントロールユニット・搬送ラインコントローラ間通信ライン
103:搬送ラインコントローラ
104:メインコントロールユニット・処理ユニット間通信ライン
105:検体・空検体ラック搬送ライン
106:処理ユニット1
107:処理ユニット2
108:処理ユニット3
107:処理ユニット4
108:処理ユニット5

201:検体搬送ライン
202:空検体ラック搬送ライン
203:空検体ラック
204:検体
205:処理ユニット106 空検体取得ライン
206:処理ユニット106 検体投入ライン
207:処理ユニット107 空検体取得ライン
208:処理ユニット107検体取得ライン
209:処理ユニット107空検体投入ライン
210:処理ユニット107検体投入ライン
211:処理ユニット108空検体投入ライン
212:処理ユニット108検体取得ライン
213:処理ユニット108 検体投入ライン
214:処理ユニット1079空検体取得ライン
215:処理ユニット109検体取得ライン
216:処理ユニット109空検体投入ライン
217:処理ユニット109検体投入ライン
218:処理ユニット110空検体投入ライン
219:処理ユニット110検体取得ライン

300:指定の処理速度での各処理ユニットから搬送ラインへの空検体ラック必要量計算
301:各処理ユニットから搬送ラインへの空検体ラック投入数取得
302:各処理ユニットの空検体ラック要求数計算
303:空検体ラック流量過不足計算
304:空検体ラック流量不足領域の有無
305:空検体ラック流量調整
306:一定時間待機

401:最上流検体処理ユニットを選択
402:上流からの空検体ラック流量を取得
403:空検体ラックの流量の過不足の有無を判定
404:流量不足処理ユニットとして登録
405:予測流量計算
406:空検体ラックの排出の有無を判定
407:予測流量に排出予定量を追加
408:下流処理ユニットの有無
409:下流検体処理ユニットを選択

501:実行(予測)スループット/必要スループットの装置間ばらつきを判定
502:目標スループット値の計算
503:最低スループットの処理ユニットを選択
504:上流の処理ユニット群を取得
505:処理ユニット群の残数判定
506:最上流処理ユニットを選択
507:目標値との比較判定
508:選択処理ユニットの空検体ラック取得係数を減
509:選択処理ユニットの空検体ラック取得係数を増
510:選択処理ユニットのスループット値の予測計算
511:実機へのパラメータ設定

701:実行スループット/必要スループットの装置間のばらつきを判定
702:格処理ユニットの時間内の排出予定量を計算
703:各処理ユニットの選択量を式4より取得
704:各処理ユニットの選択量を式13より取得

800: 搬送ライン
801: 処理ユニット1
802: 処理ユニット2
803: 処理ユニット3
804: 処理ユニット4
805: 処理ユニット5

901: 処理ユニットパラメータ項目
902: 処理ユニットパラメータデータ
903: 調整前処理ユニットパラメータデータ
904: 調整後処理ユニットパラメータデータ
905: 処理装置全体でのパラメータデータ

1001: システム入力
1002: システム出力
1003: システムI/O
1004: システムバス
1005: CPU
1006: RAM
1007: 記憶領域(データベース群)
1008: 記憶領域(解析プログラム群)

1101: 機器構成
1102: 期待処理性能値
1103: サンプルデータセット
1104: 収束閾値
1105: 予測処理性能値
1106: 検体ラック数

1201: 空検体ラック数の初期値を設定
1202: 中間値HのPを計算
1203: P>Pm の判定
1204: P-Pmが教養閾値以内か判定
1205: 空ラック数を返して終了
1206: HをHに設定
1207: HをHsに設定

1301: 項 計算回数
1302: 項 H
1303: 項 P
1304: 項 Hl
1305: 項 Hs
1306: 項 HlとHsの差分

1401: 項 図3ループ数
1402: 項 106ばらつき指標
1403: 項 107ばらつき指標
1404: 項 108ばらつき指標
1405: 項 109ばらつき指標
1406: 項 110ばらつき指標
1407: 項 全体処理性能

【特許請求の範囲】
【請求項1】
検体を処理する複数の処理ユニットと、前記複数の処理ユニットの間を結び、処理される検体を載せた検体ラックと空検体ラックとを搬送する搬送ラインと、前記検体を載せた検体ラックと空検体ラックの搬送を制御する制御部と、前記制御部から前記搬送ラインと前記複数の処理ユニットに送受信される情報を記憶する記憶部とを有する分析装置の検体ラックの搬送制御方法であって、
前記制御部は、
前記複数の処理ユニットそれぞれから、前記搬送ラインへの空検体ラック供給数と、前記複数の処理ユニットそれぞれにおける空検体ラック必要数を取得する工程と、
前記空検体ラック供給数と前記空検体ラック必要数とから、前記複数の処理ユニットそれぞれにおける、前記空検体ラックの前記搬送ラインでの流量の過不足を計算する工程と、
前記過不足を前記複数の処理ユニット間で平準化する流量を求める工程と、
前記平準化する流量に基づいて、前記搬送ラインから前記複数の処理ユニットそれぞれへ前記空検体ラックを搬送する割合を決定する工程と、
決定された前記割合に基づいて制御を行う工程とを特徴とする検体ラックの搬送制御方法。
【請求項2】
請求項1に記載の検体ラックの搬送制御方法であって、
前記制御部は、前記複数の処理ユニットへの検体搬送に用いる検体ラックの最小数を求める工程を有し、
前記過不足を前記複数の処理ユニット間で平準化する流量を求めた後、前記複数の処理ユニットそれぞれにおける、前記流量での必要スループットに対する前記実行スループットの値の平均値を、前記複数の処理ユニット全体での処理性能値とし、
前記処理性能値の期待値と、前記最小検体ラック数を求める工程の収束閾値の入力を受け付ける工程と、
前記複数の処理ユニット全体で利用可能な空検体ラック数の最大数と最小数について、設定された第1の最大数と第1の最小数の間である第1の中間数に基づいて、第1の処理性能値を求める工程と、
前記第1の処理性能値が前記期待値よりも小さい場合、前記第1の中間数を第2の最小数とし、前記第1の最大数と前記第2の最小数の中間数である第2の中間数に基づいて、第2の処理性能値を求め、前記第1の処理性能値が前記期待値以上の場合、前記第1の中間値を第2の最大数とし、前記第2の最大数と前記第1の最小数の中間数である第3の中間値に基づいて、第3の処理性能値を求める工程と、
前記最大数と前記最小数との差が、前記収束閾値よりも小さくなるまで、上記第2又は3の処理性能値を求める工程を繰り返し、前記収束閾値よりも小さくなったときの最小数を出力することを特徴とする検体ラックの搬送制御方法。
【請求項3】
請求項1に記載の検体ラックの搬送制御方法であって、
前記制御部は、前記流量の過不足を計算する工程において、
前記複数の処理ユニットのうち第1の処理ユニットにおける前記空検体ラック必要数と、前記第1の処理ユニットよりも前記搬送ラインの上流側から搬送される空検体ラック数とを取得する工程と、
前記空検体ラック必要数と前記上流側から搬送される空検体ラック数とから前記第1の処理ユニットの過不足を計算することを特徴とする検体ラックの搬送制御方法。
【請求項4】
請求項1に記載の検体ラックの搬送制御方法であって、
前記制御部は、前記過不足を前記複数の処理ユニット間で平準化する流量を求める工程において、
前記複数の処理ユニットのそれぞれから、必要スループット(処理ユニットが単位時間に処理可能な検体数を実現するのに必要な単位時間の空検体ラック取得数)に対する実行スループット(単位時間に処理した検体数)の第1の値を取得する工程と、
前記第1の値に基づいて、前記複数の処理ユニットの間でのばらつきをなくす目標スループットを求める工程と、
前記目標スループットと前記必要スループットから、前記複数の処理ユニットそれぞれにおいて目標実行スループットを求める工程と、
前記複数の処理ユニットの中での前記第1の値が最小である第1の処理ユニットについて、前記第1の処理ユニットからみて前記搬送ライン上での最上流に設置された第2の処理ユニットについて、前記目標実行スループットと実行スループットの大きさを比較する工程と、
前記実行スループットより前記目標実行スループットの方が小さい場合には、前記第2の処理ユニットの空検体ラック取得数を減らし、大きい場合には、前記第2の処理ユニットの空検体ラック取得数を増やすように平準化する流量を求めることを特徴とする請求項記載の検体ラックの搬送制御方法。
【請求項5】
前記記憶部は、前記複数の処理ユニットの前記第1の値について、前記第1の値の最大値と最低値の差の値についての閾値を格納しており、前記閾値を超える場合に、ばらつきがあるとして、前記過不足を前記複数の処理ユニット間で平準化する流量を求める工程を行うことを特徴とする請求項4記載の検体ラックの搬送制御方法。
【請求項6】
前記目標スループットは、前記複数の処理ユニットの前記第1の値の平均値とすることを特徴とする請求項4記載の検体ラックの搬送制御方法。
【請求項7】
請求項1に記載の検体ラックの搬送制御方法であって、
前記制御部は、前記過不足を前記複数の処理ユニット間で平準化する流量を求める工程において、
前記複数の処理ユニットのそれぞれから、排出スループット(処理ユニットが単位時間に排出した空検体ラックの数)に対する必要スループット(処理ユニットが単位時間に処理可能な検体数を実現するのに必要な単位時間の空検体ラック取得数)の第1の値を取得する工程と、
前記複数の処理ユニットについてのそれぞれの前記第1の値のばらつきの有無を判断する工程と、
ばらつき有の場合、搬送装置全体での搬送遅延時間を判定する行程と、
前記搬送遅延時間を考慮しない場合には、前記記憶部に記憶される(数4)に基づいて前記複数の処理ユニットそれぞれの選択量を決定し、前記搬送遅延時間を考慮する場合には、前記記憶部に記憶される(数13)に基づいて前記複数の処理ユニットそれぞれの選択量を決定することを特徴とする検体ラックの搬送制御方法。
【数4】

【数13】

Ri:i番目の処理ユニットでの必要スループット値
Ii:i番目の処理ユニットから排出されるスループット値
E=平均の必要スループット値/排出スループット値
t:時間
【請求項8】
請求項2に記載の検体ラックの搬送制御方法を利用して、計算機上で仮想的に処理ユニットの動作をシミュレートし、装置全体を構築することなく、事前に装置全体に必要な最小限の空検体ラック数を予測算出することを特徴とする計算方法。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図2】
image rotate

【図8】
image rotate