(57)【要約】  自動化されたプログラミングシステム［１００］は、入力モジュール［１０８］、プログラミングモジュール［１１２］および出力モジュール［１１０］を含むよう当該自動化されたプログラミングシステム［１００］を構成することを含む。入力モジュール［１０８］、プログラミングモジュール［１１２］および出力モジュール［１１０］の実時間表現のために非テキストユーザインターフェイスシステム［２３２］を用いる。【特許請求の範囲】
【請求項１】
自動化されたプログラミングシステム［１００］であって、
入力モジュール［１０８］、プログラミングモジュール［１１２］および出力モジュール［１１０］を含むよう前記自動化されたプログラミングシステム［１００］を構成することと、
前記入力モジュール［１０８］、前記プログラミングモジュール［１１２］および前記出力モジュール［１１０］の実時間表現のために非テキストユーザインターフェイスシステム［２３２］を用いることとを含む、自動化されたプログラミングシステム［１００］。
【請求項２】
前記自動化されたプログラミングシステム［１００］を前記非テキストユーザインターフェイスシステム［２３２］で制御することをさらに含む、請求項１に記載のシステム。
【請求項３】
実時間表現のために前記非テキストユーザインターフェイスシステム［２３２］を用いることは、入力装置レセプタクル画像［２１８］で入力装置レセプタクル［２０４］をモデル化することを含む、請求項１に記載のシステム。
【請求項４】
実時間表現のために前記非テキストユーザインターフェイスシステム［２３２］を用いることは、ソケットアダプタ画像［２２０、２２２、２２４、２２６］でソケットアダプタ［２０６、２０８、２１０、２１２］をモデル化することを含む、請求項１に記載のシステム。
【請求項５】
実時間表現のために前記非テキストユーザインターフェイスシステム［２３２］を用いることは、出力装置レセプタクル画像［２２８］で出力装置レセプタクル［２１６］をモデル化することを含む、請求項１に記載のシステム。
【請求項６】
自動化されたプログラミングシステム［１００］であって、
装置をプログラミングするための前記自動化されたプログラミングシステム［１００］と、
入力モジュール［１０８］、プログラミングモジュール［１１２］および出力モジュール［１１０］の実時間表現をモデル化するための非テキストユーザインターフェイスシステム［２３２］とを含む、自動化されたプログラミングシステム。
【請求項７】
前記非テキストユーザインターフェイスシステム［２３２］は、前記自動化されたプログラミングシステム［１００］を制御する、請求項６に記載のシステム。
【請求項８】
前記実時間表現は、入力装置レセプタクル画像［２１８］によってモデル化された前記入力モジュール［１０８］を含む、請求項６に記載のシステム。
【請求項９】
前記実時間表現は、ソケットアダプタ画像［２２０、２２２、２２４、２２６］によってモデル化された前記プログラミングモジュール［１１２］を含む、請求項６に記載のシステム。
【請求項１０】
前記実時間表現は、出力装置レセプタクル画像［２２８］によってモデル化された前記出力モジュール［１１０］を含む、請求項６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２００６年５月３日に出願された米国仮特許出願連続番号第６０／７９７，４６２の利点を主張する。
【０００２】
本願はまた、２００６年８月２４日に出願され、データＩ／Ｏ社（Data I/O corporation）に譲渡された米国特許出願連続番号第１１／４６７，０８７号の利点を主張する。
【０００３】
本願は、同時係属中の米国特許出願連続番号第１１／６７６，７３３号に関連する主題を含む。関連する出願がデータＩ／Ｏ社に譲渡されている。
【０００４】
本願はまた、同時係属中の米国特許出願連続番号第１１／３８１，６９６号に関する主題を含む。関連する出願がデータＩ／Ｏ社に譲渡されている。
【０００５】
本願はさらに、同時係属中の米国特許出願連続番号第１１／３８１，５３２号に関連する主題を含む。関連する出願がデータＩ／Ｏ社に譲渡されている。
【０００６】
技術分野
この発明は概して、自動化されたシステムに関し、より特定的には、自動化されたプログラミングシステムに関する。
【背景技術】
【０００７】
背景技術
現在既存のユーザインターフェイスプログラミングシステムでは、自動化されたプログラミングシステムとの極めて好適な統合は不可能である。既存のユーザインターフェイスプログラミングシステムは、プログラミングタスクを処理および統合するよう設計された業界基準ではなく、手動のプログラミングシステムまたは自動のハンドラのために設計された業界基準に基づいて構築されている。したがって、既存のユーザインターフェイスプログラミングシステムは、プログラミング動作を効率的に制御し、包括的にジョブ管理を行い、プログラミング機器とユーザ入力インターフェイスとの間でシームレスに通信を統合する能力を欠いている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
既存のユーザインターフェイスプログラミングシステムに関連付けられるさらに別の問題として、テキスト言語なしにプログラミングシステムを動作可能にすることができないこと、プログラミングシステムの実時間表現を表示してワークスペースの現況を反映させることができないこと、グラフィカルエラーメッセージを表示することができないことが挙げられる。たとえば、テキスト言語（たとえば、英語）に基づいたユーザインターフェイスプログラミングシステムは、翻訳しなければ世界的規模で有効に機能させることはできなかっただろう。加えて、プログラミングシステムがワークスペースの実時間表現を表示することができないと、不正確な情報が表示される可能性があるので、ユーザインターフェイスが古いものになってしまう。
【０００９】
理想的には、プログラミングシステムのユーザインターフェイスは、プログラミングワークスペースの実時間表現によってサポートされる非テキストのユーザインターフェイス
を通じて必須の動作情報を維持および伝達することにより、自動化されたプログラミングシステムの装置処理およびプログラミング動作を効率的に管理および制御しなければならない。
【００１０】
このため、プログラミングワークスペースの実時間表現によってサポートされる非テキストのユーザインターフェイスが依然として必要とされている。コストを節約し、効率を向上させる必要性が益々高まりつつあることに鑑み、これらの必要性に対する回答を見い出すことが重要である。
【００１１】
これらの必要性に対する解決策は長年にわたって探し求められてきたが、先行技術の開発例では如何なる解決策も教示または示唆されておらず、このため、これらの問題に対する解決策は長年にわたり当業者に発見されなかった。
【課題を解決するための手段】
【００１２】
発明の開示
この発明は自動化されたプログラミングシステムを提供する。当該自動化されたプログラミングシステムは、入力モジュール、プログラミングモジュールおよび出力モジュールを含むよう当該自動化されたプログラミングシステムを構成することと、当該入力モジュール、プログラミングモジュールおよび出力モジュールの実時間表現のために非テキストユーザインターフェイスシステムを用いることとを含む。
【発明を実施するための最良の形態】
【００１３】
この発明のいくつかの実施例は、上述の局面に加えて、または上述の局面の代わりに他の局面を含む。これらの局面は、添付の図面に関連付けて以下の詳細な説明を読むことにより当業者に明らかになるだろう。
【００１４】
発明を実施するための最良の形態
以下の実施例は、当業者が発明を作製および使用することができるほどに十分に詳細に説明されている。また、他の実施例がこの開示に基づいて明らかとなり、プロセスまたは機械の変更がこの発明の範囲から逸脱することなく実施され得ることが理解されるはずである。
【００１５】
以下の説明においては、多数の特定の詳細を記載して、この発明を完全に理解できるようにしている。しかしながら、この発明がこれらの特定の詳細なしでも実施可能であることが明らかになるだろう。この発明を不明瞭にするのを避けるために、いくつかの周知のシステム表現およびプロセスステップは詳細には開示していない。同様に、この発明の実施例を示す図面はやや概略的であり、縮尺通りではなく、特に、寸法のうちのいくつかは、表現を明確にするために図面において誇張して示されている。加えて、いくつかの特徴を共通に有する複数の実施例が開示および記載されている場合、その例示、説明および理解を明瞭かつ容易にするために、類似する特徴や同様の特徴には、通常、同様の参照番号が付される。
【００１６】
この明細書中において用いられる「水平な（horizontal）」という語は、その向きにかかわらず、自動化されたプログラミングシステムの上部の面または表面に対して平行な面として規定される。「垂直な（vertical）」という語は、上述に規定した水平に対して垂直な方向を指す。「上の（on）」、「より上の（above）」、「より下の（below）」、「底部（bottom）」、「上部（top）」、「側部（side）」（「側壁（sidewall）」のように）、「より高い（higher）」、「より低い（lower）」、「上方の（upper）」、「上に（over）」および「下に（under）」などの語は水平面に対して規定されている。
【００１７】
図１を参照すると、この発明の実施例に従った自動化されたプログラミングシステム１００の等角図が示される。自動化されたプログラミングシステム１００は、フレーム１０２、モニタ１０４、カバー１０６、入力モジュール１０８、出力モジュール１１０、プログラミングモジュール１１２、制御電子機器１１４、および状態インジケータ１１６を含む。具体例として、自動化されたプログラミングシステム１００は、携帯型のプログラミングシステムであるデスクトップハンドラシステムを含み得る。デスクトップハンドラシステムの携帯性を高めるために、ハンドル１１８が組み込まれていてもよい。
【００１８】
フレーム１０２は主ハウジングであり、すべての要素をともに保持し、構造的な支持をもたらす。モニタ１０４は、カバー１０６の固定された部分に装着され得る。限定としてではなく、一例として、モニタ１０４は、オペレータに対し視覚的フィードバックを与えるタッチスクリーンのユーザインターフェイスシステムを含み得る。
【００１９】
カバー１０６はフレーム１０２に装着され、マシンのワークスペースを覆う。カバー１０６は、作業環境内における塵や破片から入力モジュール１０８、出力モジュール１１０およびプログラミングモジュール１１２を保護する。加えて、カバー１０６は、意図しない動作上の危険要因からオペレータを保護する。
【００２０】
装置および／または媒体は、入力モジュール１０８または出力モジュール１１０などの取り外し可能なモジュールを介して、当該自動化されたプログラミングシステム１００から出し入れされる。代替的には、当該装置および／または媒体は、たとえば、電子素子技術連合評議会（ＪＥＤＥＣ：Joint Electron Device Engineering Council）の基準に準拠したトレイまたは他のレセプタクルを用いることにより、自動化されたプログラミングシステム１００から入力モジュール１０８および出力モジュール１１０を取り外すことなく、自動化されたプログラミングシステム１００内に配置され得るか、または当該自動化されたプログラミングシステム１００から取り外され得る。しかしながら、この発明がこのような表現に限定されるべきではないことが理解されるはずである。この発明に従うと、入力モジュール１０８および出力モジュール１１０は如何なる装置レセプタクルにも対応し得る。
【００２１】
プログラミングモジュール１１２は、自動化されたプログラミングシステム１００のためのコアプロセッシングインターフェイスを備える。プログラミングモジュール１１２は、自動化されたプログラミングシステム１００とインターフェイスをとる１つ以上の取り外し可能なモジュールを含む。プログラミングモジュール１１２の各々は、装置を受けるための（図２により詳細に記載される）ソケットアダプタ、（図２により詳細に記載される）アクチュエータ、および、（図２により詳細に記載される）リジェクトビンを含み得る。プログラミングされていないプログラム可能媒体などの装置がソケットアダプタ内に配置された後、アクチュエータがソケットを閉じ、これにより、当該装置が、自動化されたプログラミングシステム１００のプログラミングモジュール１１２に適切に接続される。加えて、プログラミングモジュール１１２は、プログラム可能媒体の配置および取り外しなどの構成設定および手動操作を容易にするよう、当該自動化されたプログラミングシステム１００によって制御され得る。
【００２２】
さらに、図示していないが、自動化されたプログラミングシステム１００は、マーク付けモジュール、テープ挿入モジュールおよび／またはテープ取り出しモジュールなどの付加的なモジュールを含み得る。
【００２３】
加えて、一例として、自動化されたプログラミングシステム１００内におけるモジュールの各々は、プログラミング、構成および識別のために各モジュールを設定することを可能にするモジュール制御装置を含み得る。当該モジュール制御システムおよびその機能は
、モニタ１０４によって表示されるタッチスクリーンユーザインターフェイスシステムの一部として統合することができる。
【００２４】
制御電子機器１１４はまた、フレーム１０２上に搭載される。制御電子機器１１４は、自動化されたプログラミングシステム１００のための電気的インターフェイスを備える。たとえば、制御電子機器１１４は、電源オン／オフスイッチおよび／またはデジタル入力／出力ボードを有していてもよい。デジタル入力／出力ボードは、自動化されたプログラミングシステム１００内において、インジケータ、ポンプ、照明などを起動するためのインターフェイスを備え得る。デジタル入力／出力ボードはまた、さまざまなセンサの状態を検知するためのインターフェイスを備え得る。加えて、制御電子機器１１４は、ＵＳＢ装置、キーボード、マウスなどの周辺機器のためのインターフェイスを備える。
【００２５】
特に、自動化されたプログラミングシステム１００は、マシンの携帯性を大幅に高め、設置を極めて容易にする外気、空気圧または真空システムには依拠していない。自動化されたプログラミングシステム１００には、電流によって電力が供給される真空／空気システムが搭載されており、このため、自動化されたプログラミングシステム１００は動作用の電力しか必要としない自給型のシステムとなる。加えて、自動化されたプログラミングシステム１００の後部には付加的なパワーモジュールが設けられてもよい。
【００２６】
状態インジケータ１１６はまた、フレーム１０２上に搭載される。状態インジケータ１１６は、非テキストエラー信号を介し、マシン状態についての視覚的フィードバックをユーザに与える。具体例として、状態インジケータ１１６は、２つ以上の光の組み合せを採用している多色方式を用いてもよい。マシンが動作中であることを緑色の光で示し、直ちに注意が必要となる可能性のあることを黄色の光で示し、問題が発生しマシンを停止させていること、またはジョブが正常に終了したことを赤色の光で示すように、特定の組み合せがなされてもよい。しかしながら、動作の準備ができていること、直ちに注意が必要となる可能性があること、および、動作が終了したことを通知するのに如何なる色方式を用いてもよいことが理解されるはずである。
【００２７】
図２を参照すると、モニタ１０４上の作業範囲の表現とともに、この発明の実施例に従った自動化されたプログラミングシステム１００の等角上面図が示される。自動化されたプログラミングシステム１００は、フレーム１０２、モニタ１０４、カバー１０６、入力モジュール１０８、出力モジュール１１０、プログラミングモジュール１１２、制御電子機器１１４、状態インジケータ１１６、ロボットアーム２０２、入力装置レセプタクル２０４、ソケットアダプタ２０６、２０８、２１０、２１２、アクチュエータ２１４、出力装置レセプタクル２１６、入力装置レセプタクル画像２１８、ソケットアダプタ画像２２０、２２２、２２４、２２６、出力装置レセプタクル画像２２８、ジョブ情報区域２３０、非テキストユーザインターフェイスシステム２３２、およびリジェクトビン２３４を含む。図示していないが、アクチュエータ２１４はソケットアダプタ２０６、２０８、２１０、２１２に隣接して配置される。
【００２８】
動作中に、ロボットアーム２０２は、入力モジュール１０８の上に位置する入力装置レセプタクル２０４から１つ以上の装置を取り出す。ロボットアーム２０２は、次いで、ソケットアダプタ２０６、２０８、２１０、２１２およびアクチュエータ２１４を有するプログラミングモジュール１１２に当該装置を搬送する。当該装置がソケットアダプタ２０６、２０８、２１０、２１２によって係合されるとプログラミングが開始し得る。プログラミングが完了すると、ロボットアーム２０２は、出力モジュール１１０の上に位置する出力装置レセプタクル２１６に優良な装置を搬送し、リジェクトビン２３４に不良な装置を搬送する。
【００２９】
また、自動化されたプログラミングシステム１００の動作中に、モニタ１０４が、非テキストユーザインターフェイスシステム２３２を介して作業範囲の実時間画像を提供する。当該作業範囲は、入力モジュール１０８、出力モジュール１１０、プログラミングモジュール１１２、入力装置レセプタクル２０４、ソケットアダプタ２０６、２０８、２１０、２１２、および出力装置レセプタクル２１６を含む。非テキストユーザインターフェイスシステム２３２は、入力装置レセプタクル画像２１８が入力装置レセプタクル２０４の実時間表現を反映し、ソケットアダプタ画像２２０、２２２、２２４および２２６がそれぞれソケットアダプタ２０６、２０８、２１０および２１２の実時間表現を反映し、出力装置レセプタクル画像２２８が出力装置レセプタクル２１６の実時間表現を反映するように、作業範囲の実時間表現をモデル化する。
【００３０】
作業範囲の実時間表現をモデル化することにより、非テキストユーザインターフェイスシステム２３２は、自動化されたプログラミングシステム１００の設定中に起こるオペレータのミスをなくすよう支援する。加えて、非テキストユーザインターフェイスシステム２３２によって表わされる実時間画像により、作業範囲が正確に表現されるためオペレータの生産性を高めることができる。
【００３１】
非テキストユーザインターフェイスシステム２３２は、作業範囲の実時間画像を表示するだけではなく、ジョブ状態の問合せ、ジョブ制御、ジョブツール、ソケット使用、ジョブ選択、レセプタクルマップ、および測定レセプタクルなどの多くの機能をジョブ情報区域２３０に提供し得る。これらの機能は、自動化されたプログラミングシステム１００のためのユーザインターフェイスの一部であるが、テキスト表現を必要としないため、ユーザインターフェイスを世界的規模で適用することを可能にする。
【００３２】
図３を参照すると、この発明の実施例に従ったユーザインターフェイスハイレベルアーキテクチャ３００が示される。ユーザインターフェイスハイレベルアーキテクチャ３００は、図２の非テキストユーザインターフェイスシステム２３２などのユーザインターフェイスシステムにおいてオペレータが利用可能な複数の機能および／または入力部を有しており、これにより、オペレータが、設定からプログラミングに至るまで命令を伝え、処理システムを制御することが可能となる。機能および／または入力部の各々は、図１および図２の自動化されたプログラミングシステム１００が検索のために予めプログラミングされているという保存された情報に関連付けられている。保存された情報は、自動化されたプログラミングシステム１００の処理システムによって生成され得る。
【００３３】
ユーザインターフェイスハイレベルアーキテクチャ３００は、固有に、（たとえば、書かれた言葉ではなく）非テキストインターフェイスを介してオペレータとの通信および対話を行なう。これらの非テキストの伝達表現により、如何なる言語を使用するユーザにも情報が中継されるので、この発明を世界中で適用可能にすることができる。この発明の範囲に従って、非テキストユーザインターフェイスシステム２３２は、書かれた言葉ではなく、数、文字、図的表現および国際記号だけを用いてオペレータに情報を伝える。さらに、言語に依存しないこのユーザインターフェイスシステムは、視覚または聴覚の刺激によってオペレータにフィードバックを与えることができる。結果として、言語に依存しないこの直観的なユーザインターフェイスでは、オペレータの訓練は実質的に不要となる。
【００３４】
たとえば、ユーザインターフェイスハイレベルアーキテクチャ３００は、自動化されたプログラミングシステム１００を制御するオペレータに対し、図２のモニタ１０４上のユーザインターフェイスシステムを介して表示され得る。ユーザインターフェイスシステムは、１つのスクリーン上に利用可能なすべての機能および入力部を表示し得る。代替的には、ユーザインターフェイスシステムは機能だけを表示してもよく、ある機能が選択されると、入力部のリストが利用可能となる。
【００３５】
一般に、この発明のユーザインターフェイスシステムは、プログラミングシステムを制御するための機能および／または入力、すなわち、ジョブ選択、プログラミング、装置およびハードウェア検出、統計的ジョブフィードバック、およびヘルプ、を含む。
【００３６】
たとえば、ジョブ選択は、オペレータがハードドライブにアクセスし、プログラミングジョブを有するファイルを区分することを可能にし、選択されたジョブについてのプログラミングプロセスを表示し、選択されたジョブに必要なプログラミングハードウェアを表示し、ジョブ名を表示し、ジョブチェックサムを表示し、ジョブダウンロード進捗状況を表示する。一例として、ジョブダウンロードの図的表現は、インストールされたプログラマに伝送されているジョブデータの進捗状況を示すことができ、絵で表したプログレスバーは、残存する相対的なジョブ設定時間を示すのに用いることができる。
【００３７】
たとえば、プログラミングシステムのプログラミング、制御開始、停止、一時停止および再開により、プログラミング中の進捗状況が表示され、プログラミングされるべきジョブ数が表示され、ジョブの終了後にカウンタリセットボタンが表示され、作業範囲内におけるすべての装置についての状態および実時間表現が表示される。
【００３８】
たとえば、装置およびハードウェア検出により、システムに据え付けられたモジュールが検出され、その結果が表示され、据え付けられた装置レセプタクルが検出され、その結果が表示され、欠落しているモジュールが検出され、その結果が表示され、欠落している装置レセプタクルが検出され、その結果が表示され、モジュールおよび装置レセプタクルの測定中にプログレスバーまたは走査された実時間画像が表示され、さらに、装置レセプタクル上のポケット数が表示される。
【００３９】
たとえば、統計的なジョブフィードバックにより、ジョブが完了するまでの残存する推定時間についての情報が与えられ、実時間のジョブプログレスバーが表示され、実時間のジョブ歩留まりが表示され、１時間当たりの実時間のジョブ部分が表示され、ソケット設定が表示される。
【００４０】
たとえば、ヘルプは、特定のエラーがなぜ起こっているのか、このエラーを解決するのにどのような措置が必要であるのか等のサポートを、言語に依存しないユーザインターフェイスシステムを介してオペレータに提供する。
【００４１】
図３が、限定としてではなく一例として、自動化されたプログラミングシステム１００についての例示的なユーザインターフェイスアーキテクチャを示しており、これが限定として解釈されるべきでないことが理解されるべきである。
【００４２】
この発明の実施例に従うと、ユーザインターフェイスハイレベルアーキテクチャ３００が含み得るメインスクリーン３０２は次の機能、すなわち、ジョブ状態および情報機能３０４、ジョブ制御機能３０６、ジョブツール機能３０８、ソケット使用機能３１０、ジョブ選択機能３１２、レセプタクルマップ機能３１４、および測定レセプタクル機能３８０を備える。各々の機能の下には多くの有用な入力部が存在し、これにより、オペレータが一度に１つのステップでプログラミングプロセスを視覚化することが可能となり、自動化されたプログラミングシステム１００の迅速な習得が容易になる。加えて、ユーザインターフェイスハイレベルアーキテクチャ３００は、ジョブを設定するためのステップの正確な順序をオペレータに選択させて、ジョブプログラムを誤りなく実行させることを可能にする。
【００４３】
ジョブ状態および情報機能３０４の下に、入力部は、入力レセプタクル入力部３１６、
出力レセプタクル入力部３１８、プログラミングモジュール入力部３２０、ジョブ進捗入力部３２２、残り時間入力部３２４、パーセント・パス入力部３２６、時間当たり装置入力部３２８、障害発生数入力部３３０、ジョブ名入力部３３２、ジョブチェックサム入力部３３４、モジュール有無入力部３３６、ソケットアダプタ有無入力部３３８、カバー状態入力部３４０、リジェクトビン入力部３４２、および画像状態入力部３４３を含む。オペレータによって入力が選択されると、情報が利用可能となる。
【００４４】
たとえば、入力レセプタクル入力部３１６は、概略的に、図２の入力装置レセプタクル２０４が行および列をいくつ含むかを表示し得る、ならびに／または、入力装置レセプタクル２０４の位置を表示し得る。出力レセプタクル入力部３１８はまた、概略的に、図２の出力装置レセプタクル２１６が行および列をいくつ含むかを表示し得る、ならびに／または、出力装置レセプタクル２１６の位置を表示し得る。加えて、入力レセプタクル入力部３１６は、入力装置レセプタクル２０４の空のポケットおよび占有されているポケットの数を示し、出力レセプタクル入力部３１８は、出力装置レセプタクル２１６の空のポケットおよび占有されているポケットの数を示し得る。このフィードバックにより、次にトレイを手動で交換する必要が生じた場合にその情報が提供され得る。
【００４５】
プログラミングモジュール入力部３２０は、自動化されたプログラミングシステム１００にプログラミングモジュール１１２がいくつ搭載されているかと、それらがどこに配置されているかとを概略的に表示する。自動化されたプログラミングシステム１００は、ジョブ要件に応じて、プログラミングモジュール１１２のうちの１つから３つに対応し得る。しかしながら、自動化されたプログラミングシステム１００が４つ以上のプログラミングモジュール１１２に対応し得ることが理解されるべきである。この発明に従うと、プログラミングモジュール１１２の数は、自動化されたプログラミングシステム１００の設計規格だけに依存している。
【００４６】
ジョブ進捗入力部３２２は、ジョブの進行を詳述する棒グラフなどの視覚的表現である。ジョブ進捗入力部３２２は、ジョブのうちのどの部分が完了したかをオペレータが一層容易に判断できるようにする。ジョブ進捗入力部３２２が作業範囲の動的な実時間表現を提供するので、この入力は、すでにプログラミングされた装置の数を所与の如何なる瞬間においても表示することができる。
【００４７】
残り時間入力部３２４は、ジョブが完了するまで残っている推定時間を表示する。パーセント・パス入力部３２６は、プログラミングジョブをパスした（たとえば、うまくプログラミングされた）装置の歩留まり率を表示する。時間当たり装置入力部３２８は、１時間でプログラミングされたプログラム可能媒体などの装置の推定数によりシステムのスループットを表示する。障害発生数入力部３３０は、プログラミングすることができない等のさまざまな理由で、自動化されたプログラミングシステム１００によって拒否された装置（たとえば、プログラム可能媒体）の数を表示する。
【００４８】
ジョブ名入力部３３２は最初のプログラミングジョブを表示し、ジョブチェックサム入力部３３４はジョブ設定値を確認する。たとえば、ジョブチェックサム入力部３３４は、設定中に与えられたオペレータ入力値を評価し、これを、設定完了後に、自動化されたプログラミングシステム１００によって決定された値と比較する。値が一致するのであれば、設定は正確である。
【００４９】
モジュール有無入力部３３６は、自動化されたプログラミングシステム１００にどのモジュールが搭載されているかと、どのモジュールが搭載されていないかとについてオペレータに表示する。ソケットアダプタ有無入力部３３８は、図２のソケットアダプタ２０６、２０８、２１０、２１２のうちどれが存在し、どれが欠落しているかを表示する。カバ
ー状態入力部３４０は、図１および図２のカバー１０６が開いているかまたは閉じているかを表示し、リジェクトビン入力部３４２は、図２のリジェクトビン２３４が搭載されているか否かについてオペレータに表示する。
【００５０】
加えて、画像状態入力部３４３は、図的表現により、空の装置、処理された装置および拒否された装置についての情報を提供し得る。たとえば、空の装置は図２の入力装置レセプタクル画像２１８の一部として現われる可能性があり、灰色であり得、処理された装置は図２の出力装置レセプタクル画像２２８の一部として現われてもよく、プログラミングが成功すると緑であり得、拒否された装置はリジェクトビン２３４の一部として現われてもよく、赤色であり得る。
【００５１】
ジョブ制御機能３０６の下に、入力部は、開始入力部３４４、停止入力部３４６、一時停止入力部３４８、およびリセット入力部３５０を含む。開始入力部３４４は、ジョブを開始させ、停止入力部３４６はジョブを完全に終了させる。一時停止入力部３４８は、オペレータがジョブを一時停止させ、後で再開させることを可能にする。リセット入力部３５０は、オペレータが前のジョブをキャンセルし、別のジョブを実行させるかまたはそのジョブを再び実行させることを可能にする。
【００５２】
ジョブツール機能３０８の下に、入力部は、装置部品番号入力部３５２、ソケットアダプタ番号入力部３５４、およびレセプタクルマップファイル入力部３５５を含む。装置部品番号入力部３５２およびソケットアダプタ番号入力部３５４は固有の識別番号であり、自動化されたプログラミングシステム１００が識別できるものであるか、または、オペレータによって手入力された値であり得る。プログラミングジョブが設定されると、プログラムジョブ情報は、ジョブを実行させるのに装置部品番号とソケットアダプタ番号とを一致させなければならない。装置部品番号入力部３５２は、自動化されたプログラミングシステム１００に搭載された媒体または装置の種類を識別し、ソケットアダプタ番号入力部３５４は、自動化されたプログラミングシステム１００に正確なソケットアダプタ設定を通知する。
【００５３】
レセプタクルマップファイル入力部３５５は、現在選択されているジョブがこのジョブとともに保存されたレセプタクルマップファイルを有するかどうかを示す。予め保存されたレセプタクルマップファイルは現在のジョブのために用いることができ、これにより、当該システムの設定を容易にすることができる。
【００５４】
ソケット使用機能３１０の下に、入力部は、挿入数入力部３５６および予想寿命入力部３５８を含む。挿入数入力部３５６は、図２のソケットアダプタ２０４に対して挿入がいくつなされたかを示し、予想寿命入力部３５８は、製造歩留まりの低下が予想される前にソケットアダプタ２０４が繰返し得る予想される挿入数を表示する。
【００５５】
ジョブ選択機能３１２の下に、入力部は、ドライブ入力部３６０、ジョブリスト入力部３６２、ジョブ量入力部３６４およびジョブ機能入力部３６６を含む。ドライブ入力部３６０は、ジョブの読み出しおよび書き込みを行なうための利用可能なドライブのオプションを表示する。たとえば、オペレータは、ジョブを読み出して、自動化されたプログラミングシステム１００の処理システムや、ＵＳＢフラッシュドライブなどの取り外し可能な媒体に書き込み得るか、または、イーサネット（登録商標）／インターネット接続を介して遠隔地への当該ジョブの書き込みおよび遠隔地からの当該ジョブの読み出しを行い得る。ジョブリスト入力部３６２は、将来起こり得るさまざまなのジョブのリストを表示し、そこから選択がなされる。
【００５６】
ジョブ量入力部３６４は、媒体または装置がいくつプログラミングされる必要があるか
などの情報を表示する。ジョブ機能入力部３６６はさまざまなプログラミング機能を表示する。たとえば、ジョブ機能入力部３６６は、予め選択されたプログラミング機能の状態を表示し得る。
【００５７】
レセプタクルマップ機能３１４の下に、入力部は、行入力部３６８、列入力部３７０、行オフセット入力部３７２、行ピッチ入力部３７４、列オフセット入力部３７６および列ピッチ入力部３７８を含む。レセプタクルマップ機能３１４は、オペレータが、レセプタクルの物理的な特徴およびジオメトリを手入力することを可能にする。たとえば、レセプタクルの行および列の数を、行入力部３６８および列入力部３７０にそれぞれ入力することができる。説明をわかりやすくするために、各々のレセプタクルは二次元図で示されてもよく、この場合、行間の間隔は垂直距離であり、列間の間隔は水平距離である。行オフセット入力部３７２は、オペレータが、装置レセプタクルの左上の隅と第１のポケットとの間の垂直距離を入力することを可能にし、行ピッチ入力部３７４は、オペレータが隣接する行ポケット中心間の垂直距離を入力することを可能にする。同様に、列オフセット入力部３７６は、オペレータが、装置レセプタクルの左上の隅と第１のポケットとの間の水平距離を入力することを可能にし、列ピッチ入力部３７８は、オペレータが隣接する列ポケット中心間の水平距離を入力することを可能にする。なお、レセプタクルマップ機能３１４は、オペレータがレセプタクルの物理的な特徴を手入力した後に現在のジョブとともに保存されるレセプタクルマップファイルを作成し得る。
【００５８】
測定レセプタクル機能３８０の下に、入力部は、自動測定行入力部３８２、自動測定列入力部３８４、自動測定行オフセット入力部３８６、自動測定行ピッチ入力部３８８、自動測定列オフセット入力部３９０、自動測定列ピッチ入力部３９２、自動測定列走査入力部３９４、自動測定行走査入力部３９６、および自動測定入力部３９８を含む。測定レセプタクル機能３８０は、オペレータが自動測定入力部３９８を選択することを可能にし、これにより、装置レセプタクルの物理的な特徴およびジオメトリが自動的に測定されることとなる。自動測定入力部３９８は、状態の変化に基づいた光学的方法と特別に設計されたアルゴリズムとを用いる自動測定システムが、レセプタクルの位置、ジオメトリおよび物理的な特徴を算出することを可能にする。
【００５９】
たとえば、測定レセプタクル機能３８０は、行および列の数が手入力された後、行および列、行のオフセットおよびピッチ、ならびに列のオフセットおよびピッチを自動的に測定することとなる。これは、自動測定列走査入力部３９４および自動測定行走査入力部３９６を選択することによって達成され得る。自動測定特徴は、反射面および非反射面を用いて相対座標系を決定するが、この場合、装置レセプタクルのポケットは相対座標系内に位置している。
【００６０】
自動測定特徴は、ポケット中心の位置を特定し、行に沿ってポケットの位置を決定し、列に沿ってポケットの位置を決定するという３つの主要な機能を有する。自動測定特徴は、ポケット位置を一連のＸ座標およびＹ座標として保存する。この場合、ポケット「ｎ」の位置はＸｎＹｎによって決定される。すべてのポケット位置がＸおよびＹの表において割り当てられると、行および列のオフセットがこのＸおよびＹの表から平均値として算出される。
【００６１】
自動測定特徴は、オペレータの時間を節約し、エラーを防止するよう設計される。というのも、手動で測定しようとした結果、ピックアンドプレース動作に不具合が生じてしまうからである。手動測定中に引き起こされるわずかな丸め誤差は、ピックアンドプレースヘッドがこの地点からずらされるとかなり大きくなる可能性がある。自動測定特徴の結果は、現在のジョブとともに保存されているレセプタクルマップファイルに格納され得る。
【００６２】
図４を参照すると、この発明の実施例に従った図１の自動化されたプログラミングシステム１００についてのワークフロー図４００が示される。ワークフロー図４００は、システム設定ブロック４０２、プログラミングジョブ設定ブロック４０４およびジョブ実行ブロック４０６を含む。システム設定ブロック４０２は、概して、自動化されたプログラミングシステム１００の物理的な設定または表現として規定される。たとえば、オペレータは、図２の入力モジュール１０８、図２の出力モジュール１１０、図２のプログラミングモジュール１１２、図２の入力装置レセプタクル２０４、図２のソケットアダプタ２０６、２０８、２１０、２１２、図２のアクチュエータ２１４、および図２の出力装置レセプタクル２１６などの構成要素を設置し得る。
【００６３】
物理的な設定が完了すると、オペレータは、プログラミングジョブ設定ブロック４０４を介してプログラミングを開始し得る。オペレータは、図３のユーザインターフェイスハイレベルアーキテクチャ３００または同等のユーザインターフェイスアーキテクチャを用いることによりジョブ設定をプログラミングし得る。プログラムジョブ設定が完了した後、オペレータは、ジョブ実行ブロック４０６を介してプログラミングを開始し得る。
【００６４】
図５を参照すると、この発明の実施例に従った自動化されたプログラミングシステム１００を用いるための自動化されたプログラミングシステム５００についてのフローチャートが示される。自動化されたプログラミングシステム５００は、ブロック５０２において、入力モジュール、プログラミングモジュールおよび出力モジュールを含むよう当該自動化されたプログラミングシステムを構成することと、ブロック５０４において、入力モジュール、プログラミングモジュールおよび出力モジュールの実時間表現のために非テキストユーザインターフェイスシステムを用いること、とを含む。
【００６５】
上述のことから、この発明が「装置」または「媒体」と称され得るものに適用可能であることが理解されるだろう。装置および／または媒体は、広範囲の電子的および機械的装置を含む。最適形態として、フラッシュメモリ（Flash）、電気的消去可能なプログラム可能読出専用メモリ（ＥＥＰＲＯＭ）、プログラム可能な論理素子（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）およびマイクロコントローラを含むがこれらに限定されない装置および／または媒体のプログラミングが記載される。しかしながら、この発明は、テスト、装置特徴の測定、較正および他のプログラミング動作を必要とするすべての電子的、機械的、混成の、および他の装置または媒体についてのプログラミングを包含する。たとえば、これらの種類の装置および／または媒体は、マイクロプロセッサ、集積回路（ＩＣ）、特定用途向け集積回路（ＡＳＩＣ）、超小型機械装置、超小型電気機械（ＭＥＭ）装置、超小型モジュール、および流体システムを含むがこれらに限定されないだろう。
【００６６】
こうしてこの発明が多くの局面を有することが明らかになった。主要局面は、自動化されたプログラミングシステムとともに用いられる非テキストユーザインターフェイスシステムの出現である。一例として、非テキストユーザインターフェイスシステムは、自動化されたプログラミングシステムのためにモジュール認識、ジョブ選択、ジョブ設定、ロボット制御、ジョブ状態、ジョブ制御、およびジョブ統計を処理し得る。
【００６７】
この発明の別の局面は、ユーザインターフェイスシステムによる作業範囲の実時間表現である。作業範囲の実時間表現を模倣することにより、オペレータのエラーの発生が減らされる。
【００６８】
さらに、この発明の別の局面は、ユーザインターフェイスシステムが非テキストエラーメッセージをオペレータに送信できることである。非テキストエラーメッセージが用いられると、非テキストユーザインターフェイスシステム内において情報を図形で搬送するポ
ップアップダイアログを用いることにより当該自動化されたプログラミングシステムの動作がさらに容易になる。たとえば、入力装置レセプタクルが空で実行され、状態インジケータが赤色を点灯させる場合、ポップアップダイアログは、入力装置レセプタクルの手作業での取り外しおよび交換を示し得る。
【００６９】
この発明のこれらおよび他の有用な局面はさらに、少なくとも次のレベルに向かう技術の状態である。
【００７０】
こうして、この発明の自動化されたプログラミングシステムが、重要でありこれまで知られておらず利用不可能であった解決策、能力、および機能局面を提供することが明らかになった。たとえば、この発明の自動化されたプログラミングシステムは、非テキストユーザインターフェイスシステム、非テキストエラーメッセージ、および作業範囲の実時間表現を用いて、自動化されたプログラミングシステムについてのユーザの操作を容易にする。結果として得られるプロセスおよび表現は、簡単で、費用効果が高く、単純で、非常に多機能かつ有効であり、公知の技術を適応させることによって実現可能であり、こうして、効率的かつ経済的な製造に容易に適合される。
【００７１】
この発明を特定の最適な形態に関連付けて説明してきたが、上述の記載を考慮すると多くの代替例、変更例および変形例が当業者に明らかになることが理解されるべきである。したがって、添付の特許請求の範囲内にあるこのようなすべての代替例、変更例および変形例を包含することが意図される。この明細書中にこれまでに記載されたかまたは添付の図面に示されるすべての事項は、例示的かつ非限定的に解釈されるべきである。
【図面の簡単な説明】
【００７２】
【図１】この発明の実施例に従った自動化されたプログラミングシステムを示す等角図である。
【図２】モニタ上の作業範囲の表現とともにこの発明の実施例に従った自動化されたプログラミングシステムを示す等角上面図である。
【図３】この発明の実施例に従ったユーザインターフェイスハイレベルアーキテクチャを示す図である。
【図４】この発明の実施例に従った自動化されたプログラミングシステムについてのワークフロー図である。
【図５】この発明の実施例に従った自動化されたプログラミングシステムを用いるための自動化されたプログラミングシステムについてのフローチャートである。
【図１】
2009535741.tif 000002
【図２】
2009535741.tif 000003
【図３】
2009535741.tif 000004
【図４】
2009535741.tif 000005
【図５】
2009535741.tif 000006