JP6449643B2 - プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ - Google Patents

プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ Download PDF

Info

Publication number
JP6449643B2
JP6449643B2 JP2014259218A JP2014259218A JP6449643B2 JP 6449643 B2 JP6449643 B2 JP 6449643B2 JP 2014259218 A JP2014259218 A JP 2014259218A JP 2014259218 A JP2014259218 A JP 2014259218A JP 6449643 B2 JP6449643 B2 JP 6449643B2
Authority
JP
Japan
Prior art keywords
remote device
reference information
instruction
representation
current
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.)
Active
Application number
JP2014259218A
Other languages
English (en)
Other versions
JP2015135673A (ja
Inventor
アサートン キム
アサートン キム
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.)
Mitutoyo Corp
Original Assignee
Mitutoyo Corp
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 Mitutoyo Corp filed Critical Mitutoyo Corp
Publication of JP2015135673A publication Critical patent/JP2015135673A/ja
Application granted granted Critical
Publication of JP6449643B2 publication Critical patent/JP6449643B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/401Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for measuring, e.g. calibration and initialisation, measuring workpiece for machining purposes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2611Microprocessor driven caliper, to measure length distances

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

背景
一般に使用されているプログラム可能な計測システムは、マシンビジョン検査システム(MVIS)及び/又は座標測定機(CMM)を含み得る。汎用の「オフライン」精度ビジョンシステムとして特徴付けることができる1つの例示的な従来技術のMVISは、Mitutoyo America Corporation (MAC)(米国イリノイ州オーロラ)から入手可能な市販のQUICK VISION(登録商標)シリーズのPCベースビジョンシステム及びQVPAK(登録商標)ソフトウェアである。QUICK VISION(登録商標)シリーズのビジョンシステム及びQVPAK(登録商標)ソフトウェアの機能及び動作は、一般に、例えば、QVPAK 3D CNC Vision Measuring Machine User's Guide(2003年1月発行)及びQVPAK 3D CNC Vision Measuring Machine Operation Guide(1996年9月発行)で述べられており、それら各文献の全体を参照により本明細書に援用する。
QUICK VISION(商標)システムなどの汎用高精度マシンビジョン検査システムは、一般に、自動化されたビデオ検査を提供するようにプログラム可能である。そのようなシステムは、典型的には、「エキスパートでない」操作者が動作及びプログラミングを実施することができるように、GUI機能及び規定の画像解析「ビデオツール」を含む。例えば、全体を参照により本明細書に援用する米国特許第6,542,180号(本明細書では以後「’180特許」)は、自動化されたビデオ検査を使用するビジョンシステムを教示する。’180特許で教示されているように、自動化されたビデオ検査計測機器は、一般に、各特定のワークピース構成に関してユーザが自動検査イベントシーケンスを定義できるようにするプログラミング機能を有する。そのようなプログラミングは、テキストベースのプログラミングとして実装することができ、又は記録モードによって実装することができ、記録モードは、(例えば様々な半自動又は自動ビデオツール動作を用いて)ユーザが定義及び/又は実施する検査動作のシーケンスに対応する機械制御命令のシーケンス及び個々のビデオツールパラメータを記憶することによって、検査イベントシーケンスを徐々に「学習」する。あるいは、そのようなプログラミングは、上記の両方の方法の組合せによって実装することもできる。上記の記録モードは、しばしば、「学習モード」又は「訓練モード」と呼ばれる。いずれの技法でも、機械制御命令及び個々のビデオツールパラメータは、一般に、特定のワークピース構成に特有のパートプログラムとして記憶され、動作の「実行モード」中に、検査動作の所定のシーケンスを自動的に実施する。CMMに関するパートプログラムも、類似の様式でプログラムすることができる。例示的なCMMは、例えば、米国特許第7,251,580号、同第6,044,569号、及び同第8,516,712号に開示されており、それら各特許文献の全体を参照により本明細書に援用する。
そのような計測システムの多くのユーザ及びプログラマは、上で概説した記録モードを使用して、パートプログラムを作成及び/又は編集する。得られたパートプログラム動作又は命令を、例えば単純化されたグラフィカル表現でそのようなユーザに提示することができる。多くの計測システムは、熟練していないユーザが、根底にあるパートプログラミング言語命令を閲覧又は理解する必要がないように設計される。パートプログラムの市販の単純化されたグラフィカル表現のいくつかは、単純化された「コメント」文によって、パートプログラム表現に説明的及び/又は補足的な情報を付け加えることができる機能を含む。しかし、そのような機能は、典型的には初歩的なものである。容易にアクセス可能又は閲覧可能であるように、パートプログラム表現での特定の位置に多彩な及び/又は複雑な補足情報(例えば、個人化されたユーザメモ又は説明)を追加することは、現在、ほとんどのそのようなシステム及びほとんどのユーザの能力を超えている。
さらに、従来、計測システムプログラミング環境は、例えば全体を参照により本明細書に援用する米国特許出願公開第2012/0229662 A1号に開示されているように、専用タブレットデバイスやティーチングペンダントなど専用リモートデバイスにしかリンクされていない。そのようなリモートデバイスが専用及び/又は特別にプログラムされたインタフェース機能を有する必要があることが、それらのリモートデバイスの利用可能性と動作の両方を制約する。そのような専用リモートデバイスは、それらの関連のホストシステムと同様に、リモートデバイスのホストシステムと連動してリモートデバイスを動作させるためにユーザが特別な訓練を受けていることを必要とすることがある。また、それらの関連のホストシステムと同様に、そのような専用リモートデバイスは、一般に複数のユーザ間で共有され、1人のユーザが自分の個人的な嗜好に合わせてリモートデバイスをカスタマイズすることも、専用で使用するために持ち運ぶことも望ましくない。さらに、そのようなリモートデバイス用のユーザインタフェースは、典型的には、あまり熟練していないユーザが、ホストシステムに関するプログラミング環境で操作しながら、パートプログラム内の特定の命令又は特定の命令タイプに関連付けられるカスタマイズされた補足情報(例えば参照情報又は説明)を容易に閲覧及び/又は作成できるようにするという問題には向けられていない。ユーザが自由に使える利用可能なハードウェア及び方法の前述した制約及び欠点を受けずに、ユーザが、ホストシステムに関するプログラミング環境で操作しながら、パートプログラム内の特定の命令又は命令タイプに関連付けられる補足又は参照情報を閲覧することができることが望ましい。例えば、1人のユーザが、自分の個人的な嗜好に合わせてそのような参照情報をカスタマイズし、自分の必要性に応じてカスタマイズされた最小量の情報を容易に見付け、そのような情報を、典型的には自分専用で使用するために所有する及び/又は持ち運ぶデバイスに記憶し、そのデバイスを、対応するプログラム可能な計測システムのプログラミング環境に容易に接続できることが望ましい。
図面の簡単な説明
本発明の上記の態様、及び付随する利点の多くは、添付図面に関連付けて述べる以下の詳細な説明を参照してより良く理解されたときに、より容易に把握されよう。
汎用高精度マシンビジョン検査システムの様々な典型的な構成要素を示す図である。 図1のものと同様であり、本明細書で述べるインタフェース機能を含むマシンビジョン検査システムの制御システム部及びビジョン構成要素部のブロック図である。 計測システムのプログラミング環境内で使用可能なアクセサリインタフェース部の1つの例示的実施形態と、アクセサリインタフェース部に接続されるときにリモートデバイス参照情報アクセサリとして使用可能なリモートデバイスの1つの例示的実施形態とのブロック図である。 本明細書で開示される原理による、編集部を介して計測システムのプログラミング環境にリンクさせることができるリモートデバイス参照情報アクセサリの1つの例示的実施形態のブロック図である。 本明細書で開示される原理に従ってリモート参照情報アクセサリが応答することができるパートプログラム命令及び/又は命令表現の作成に関係付けられる計測システムのプログラミング環境でのユーザインタフェース機能及び動作の一実施形態を示す図である。 本明細書で開示される原理に従ってリモートデバイスに接続するために使用可能な計測システムのプログラミング環境でのユーザインタフェース機能の一実施形態を示す図である。 リモートデバイスを計測システムプログラミング環境に接続するためにリモートデバイス上で使用可能なユーザインタフェース機能及び動作の一実施形態を示す図である。 プログラミング環境での現行命令表現に対応する汎用命令タイプに特に関連付けられる1組の参照情報の閲覧及び/又は作成に関係する、リモートデバイスで使用可能なユーザインタフェース機能及び動作の一実施形態の様々な態様を示す図である。 汎用命令タイプに関連付けられる1組の参照情報を閲覧及び/又は作成する目的でのリモートデバイスとの対話に関係付けられる、プログラミング環境内の様々なユーザインタフェース機能及び動作の一実施形態を示す図である。 本明細書で開示される様々な機能を実装するためにウェブサービスを使用する、リモートデバイス参照情報アクセサリ、及びプログラミング環境のアクセサリインタフェース部の様々な機能及び動作の1つの例示的実装形態のブロック図である。 プログラミング環境での命令表現に関連付けられる参照情報の提供に関係する本明細書で開示される様々な機能及び動作と共にプログラミング環境で有用な、ウィンドウ、アプリケーション、又はデバイス間でのノード識別及び動作の調整の一実施形態を示す図である。 本明細書で開示される機能及び動作による、プログラム可能な計測システムのプログラミング環境に関係してリモートデバイスを動作させるための方法の1つの例示的実施形態を示す流れ図であって、ここで、リモートデバイスが、プログラミング環境での現行命令表現に応答して、現行命令表現に対応する汎用命令タイプに特に関係付けられる参照情報を表示する図である。
詳細な説明
プログラム可能な計測システムにあまり熟練していないユーザは、先に概説した制約及び欠点を伴う専用リモートデバイスではなく、自分が既に使い慣れているパーソナルコンピューティング及び/又はファイル記憶デバイス(例えばタブレットやスマートフォンなど)を携帯することがよくある。ユーザは、そのようなデバイスに個人的なメモ、ファイル、及び/又は画像を保存することを望むことがあり、それらは、プログラミングコマンド及び/又はシステム訓練、特別なワークピース及び/又はセットアップインタフェース機能、又はパートプログラミングに関係付けられる他の考慮事項をユーザが文書化及び記憶する助けとなる。さらに、そのようなパーソナルコンピューティング及び/又はファイル記憶デバイスは、多くの場合、カメラ、インターネットブラウザ、並びに他のデバイス及びプログラムを含み、ユーザは、それらを使い慣れており、パートプログラミングに関係する追加の参照情報を生成するために使用したいことがある。しかし、あまり熟練していないユーザは、そのような使い慣れているパーソナルデバイスを、リモートアクセサリとして計測システムに接続することができない。しかし、計測システムのプログラミング環境は、そのようなデバイスの接続を容易にするインタフェース機能、又は、プログラミング環境と、プログラム可能な計測システムに通常は関連付けられていないそのようなリモートデバイスとの便利な対話を可能にするインタフェース機能を含んでいない。
タブレットやスマートフォンなどのパーソナルモバイル又はリモートデバイスは、より汎用性が高くなり、プログラム可能な計測システムが、そのような計測システムのネイティブ動作及びプログラミング環境能力を補足するために、そのようなリモートデバイスの「無料の」、使い慣れた、容易に利用可能な機能を提供するために容易に接続することができるようにする機能を含んでいることが望ましい。
本明細書で開示されるように、計測システムに通常は関連付けられていないリモートデバイスは、計測システムをプログラミングする際にユーザを支援することができる参照情報を閲覧及び/又は作成するために、計測システムのプログラミング環境と協同して対話することができる。特に、そのようなデバイスは、計測システムを含む構成にリンクさせることができ、それにより、あまり熟練していないユーザが、パートプログラムを作成及び/又は編集しながら、編集環境でのパートプログラム及び/又はその表現内の特定の命令又は命令タイプに関連付けられる補足又は参照情報を閲覧及び/又は作成することができる。様々な実施形態において、リモートデバイス及び/又はプログラミング環境は、プログラミング環境内での「アクティブ」な現行命令である命令又は命令タイプと同期されるようにリモートデバイスが動作するように構成することができる。様々な実施形態において、補足又は参照情報は、リモートデバイスの頻繁なユーザ(例えばリモートデバイスの所有者)がカスタマイズしてリモートデバイスに記憶した情報を含む、又はそのような情報からなることがある。
図1は、1つの例示的なプログラム可能な計測システムの様々な典型的な構成要素を示す図であり、プログラム可能な計測システムは、この例では、本明細書で述べる方法に従って使用可能なマシンビジョン検査システム10である。マシンビジョン検査システム10は、ビジョン測定機12を含み、ビジョン測定機12は、(例えばコネクタ又は無線接続を介して)制御コンピュータシステム14とデータ及び制御信号を交換するように接続される。さらに、制御コンピュータシステム14は、モニタ又はディスプレイ16、プリンタ18、ジョイスティック22、キーボード24、及びマウス26とデータ及び制御信号を交換するように接続される。モニタ又はディスプレイ16は、マシンビジョン検査システム10の動作を制御及び/又はプログラミングするのに適したユーザインタフェースを表示することができる。様々な実施形態において、タッチスクリーンタブレットなどが、コンピュータシステム14、ディスプレイ16、ジョイスティック22、キーボード24、及びマウス26のいずれか又は全ての機能を代替する、及び/又は冗長的に提供することがあることを理解されたい。
制御コンピュータシステム14は、一般に、パーソナルコンピュータ、サーバコンピュータ、ミニコンピュータ、メインフレームコンピュータ、これらのコンピュータの任意のものを含む分散計算環境など、任意の計算システム又はデバイスからなることがある。1つ又は複数の汎用又はカスタム処理装置及び関連のシステムが、本明細書で述べる機能を行うために任意の適切な既知の方法に従ってソフトウェアを実行することができる。ソフトウェアは、任意の適切な既知のメモリ又は既知の記憶デバイスに記憶することができる。ソフトウェアは、特定のタスクを行う、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む1つ又は複数のプログラムモジュールを含み得る。分散コンピューティング環境では、プログラムモジュールの機能を、複数のコンピューティングシステム又はデバイスにわたって複合又は分散させ、サービスコールによって有線又は無線構成でアクセスすることができる。
ビジョン測定機12は、可動ワークピースステージ32と、ズームレンズ又は交換可能なレンズを含み得る光学撮像システム34とを含む。マシンビジョン検査システム10は、一般に、上述したQUICK VISION(登録商標)シリーズのビジョンシステム及びQVPAK(登録商標)ソフトウェア、及び類似の現在市販されているシステムに匹敵する。また、マシンビジョン検査システム10は、本出願と同じ譲受人の米国特許第7,454,053号、同第7,324,682号、同第8,111,905号、及び同第8,111,938号にも記載されている。
図2は、図1のマシンビジョン検査システムと同様のマシンビジョン検査システム100の制御システム部120及びビジョン構成要素部200のブロック図であり、本明細書で述べる原理に従って様々な実施形態で有用なインタフェース機能を含む。制御システム部120は、ビジョン構成要素部200を制御するために利用される。図2に示されるように、ビジョン構成要素部200は、光学アセンブリ部205と、光源220、230、及び240(それぞれ信号ライン又はバス221、231、及び241を介して接続される)と、中央透明部212を有するワークピースステージ210とを含む。ワークピースステージ210は、X軸及びY軸に沿って、ワークピース20を保持することができるステージの表面に概ね平行な平面内で移動可能である。光学アセンブリ部205は、カメラシステム260と、交換可能な対物レンズ250とを含み、また、ターレットレンズアセンブリ280、又は交換可能な倍率変更レンズなどを含み得る。光学アセンブリ部205は、カメラシステム260によって取得される画像の焦点を変えるために、モータ294を使用して、X軸及びY軸に直交するZ軸に沿って移動可能である。用語「Z軸」は、画像を焦点合わせするために使用される軸を表す。モータ294は、信号ライン296を介してインタフェース130に接続される。
ワークピース20は、ワークピースステージ210上に配置することができ、ワークピースステージ210は、交換可能な対物レンズ250がワークピース20上の位置間で移動するように制御される。1つ又は複数の光源が、それぞれのソースライト222、232、又は242を放出して、ワークピース20を照明することができ、反射又は透過されたワークピース光255は、対物レンズ250及びターレットレンズアセンブリ280を通過して、カメラシステム260に進む。カメラシステム260によって取得された画像は、信号ライン262上で、制御システム部120に出力される。画像の倍率を変えるために、信号ライン又はバス281を介してターレットレンズアセンブリ280の回転を制御することができる。
図2に示されるように、様々な例示的実施形態において、制御システム部120は、コントローラ125と、電源部128と、入出力インタフェース130と、メモリ140と、ワークピースプログラムジェネレータ及びエグゼキュータ150と、レコーダ/トランスレータ155と、学習モード部156と、実行モード部157と、編集部160と、代理データマネージャ180と、プログラムステータスマネージャ185と、ノードマネージャ190と、ウィンドウ間自動スクロール部195と、アクセサリインタフェース部300’とを含み、アクセサリインタフェース部300’を使用して、以下でより詳細に述べるように、リモートデバイス参照情報アクセサリ400’に接続することができる。これらの構成要素及び以下に述べる追加の構成要素はそれぞれ、1つ又は複数のデータ/制御バス、及び/又はアプリケーションプログラミングインタフェースによって、又は様々な要素間の直接接続によって相互接続することができる。
入出力インタフェース130は、撮像制御インタフェース131と、運動制御インタフェース132と、照明制御インタフェース133と、レンズ制御インタフェース134とを含む。照明制御インタフェース133は、様々な対応する光源に関して、選択、パワー、オン/オフスイッチ、及び適用可能であればストローブパルスタイミングを制御する。
メモリ140は、画像ファイルメモリ部141と、パートプログラム142PPなどを含み得るワークピースプログラムメモリ部142と、ビデオツール部143とを含む。ビデオツール部143は、ビデオツール部143aと、他のビデオツール部とを含み、これらのビデオツール部は、対応するビデオツールそれぞれに関して、GUIや画像処理動作などを決定する。また、ビデオツール部143は、関心領域(ROI)ジェネレータ143xも含み、関心領域(ROI)ジェネレータ143xは、ビデオツール部143に含まれる様々なビデオツールにおいて操作可能な様々なROIを定義する自動、半自動、及び/又は手動操作をサポートする。
一般に、メモリ部140は、所望の画像特性を有するワークピース20の画像を取得するようにビジョンシステムを動作させるのに使用可能なデータを記憶する。また、メモリ部140は、検査結果データを記憶することもあり、さらに、(例えばビデオツールとして一部実装された)取得された画像に対する様々な検査及び測定動作を手動又は自動で行って、それらの結果を入出力インタフェース130を介して出力するようにマシンビジョン検査システム100を動作させるために使用可能なデータを記憶することもある。また、メモリ部140は、入出力インタフェース130を介して動作可能なユーザインタフェースを定義するデータを含むこともある。
光源の信号ライン、カメラシステム260からの信号ライン262、及びモータ294からの信号ライン296は全て、入出力インタフェース130に接続される。画像データを伝送することに加えて、信号ライン262は、画像取得を開始するコントローラ125からの信号を伝送することもある。
1つ又は複数の表示デバイス136(例えば、図1のディスプレイ16)、及び1つ又は複数の入力デバイス138(例えば、図1のジョイスティック22、キーボード24、及びマウス26)も入出力インタフェース130に接続することができる。表示デバイス136及び入力デバイス138は、ユーザインタフェースを表示するために使用することができ、ユーザインタフェースは、検査動作を実施するため、及び/又はパートプログラムを作成及び/又は修正するため、カメラシステム260によって取得された画像を閲覧するため、及び/又はビジョンシステム構成要素部200を直接制御するために使用可能な様々なユーザインタフェース機能を含むことができる。様々な実施形態において、表示デバイス136及び入力デバイス138は、マシンビジョン検査システム100上でのパートプログラムの高速で、効率的で、直観的で、汎用性のある編集を可能にするために使用可能な様々なユーザインタフェース機能を提示するために使用される。
ワークピースプログラムジェネレータ及びエグゼキュータ150と、レコーダ/トランスレータ155と、学習モード部156と、実行モード部157と、編集部160と、代理データマネージャ180と、プログラムステータスマネージャ185と、ノードマネージャ190と、ウィンドウ間自動スクロール部195と、アクセサリインタフェース部300’とは、一実施形態では、全て、コントローラ125にリンクされた汎用機械コントローラブロックMCの一部とみなすことができる。さらに、以下でより詳細に述べるリモートデバイス参照情報アクセサリ400’を、(例えばアクセサリインタフェース部300’を介して)コントローラ125にリンクさせることができる。リモートデバイス情報アクセサリ400’は、いくつかの実施形態では、制御システム部120の外部にあるが、制御システム部120と相互動作するように通信するアクセサリとみなすことができる。ワークピースプログラムジェネレータ及びエグゼキュータ150は、パートプログラムの作成及び実行を担当する。用語「ワークピースプログラム」と「パートプログラム」は、本明細書では交換可能に使用されることがある。
ワークピースプログラムジェネレータ及びエグゼキュータ150の動作に従って、ユーザは、ワークピース20に関するパートプログラムを作成し、ユーザは、ワークピースプログラミング言語を使用して命令を明示的に符号化することによって、又は好ましくは、所望の画像取得訓練シーケンスを提供するように(例えば学習モード部156によって制御される)学習モードでマシンビジョン検査システム100を動作させることによって命令を生成することによって、パートプログラム命令を生成する。例えば、トレーニングシーケンスは、視野(FOV)内にワークピース要素を位置決めすること、照明レベルを設定すること、焦点合わせ又は自動焦点合わせすること、画像を取得すること、(例えばビデオツールを使用して)画像に適用される検査トレーニングシーケンスを提供することを含み得る。学習モードは、シーケンスを取得又は記録し、対応するパートプログラムステップ(すなわち命令)に変換するように動作する。(例えば実行モード部157によって制御される)実行モードでパートプログラムが実行されると、これらのパートプログラムステップにより、マシンビジョン検査システムは、訓練された画像取得及び検査動作を再生して、パートプログラムを作成するときに使用されたワークピースに合致する1つ又は複数のワークピースを自動的に検査する。
レコーダ/トランスレータ155は、マシン動作をパートプログラムコードに翻訳するために利用される。すなわち、ユーザが、アクション(例えば、ワークピース上の要素を測定するために使用されるビデオツールの変更など)を行うと、命令が生成され、この命令が機械可読言語に翻訳され、逆翻訳を行うこともできる。以下でより詳細に述べるように、パートプログラムでの命令が、ユーザインタフェースでの命令表現に翻訳されることもある。いくつかの実施形態では、パートプログラム命令は、マークアップタイプの言語コードで書かれることがある。1つの特定の例示的実施形態では、マークアップ言語コードは、XMLコードでよい。編集部160は、編集ユーザインタフェース部160ui内でのパートプログラムの編集に関係付けられる様々な動作及びユーザインタフェース機能を提供又はアクティブ化し、編集ユーザインタフェース部160uiは、以下でより詳細に述べるように、パートプログラム表示ウィンドウを含み得る。
代理データマネージャ180は、なくてもよいが、いくつかの実施形態では使用されることがある。簡潔には、代理データマネージャ180は代理データにリンクし、代理データは、パートプログラムに記録されていることがあり、それにより、編集動作をサポートするために、学習モード動作中に代理データを使用してシミュレーションモードでプログラム動作を高速実行させることができる。代理データマネージャ180は、本出願と同じ譲受人の米国特許出願公開第13/297,232号(’232出願)においてより詳細に述べられている。
プログラムステータスマネージャ185は、一実施形態では、プログラムが保護されているか、又は保護されていないかを管理する。一実装形態では、保護されているパートプログラムでは代理データは除去されるが、保護されていないパートプログラムは、記憶されている代理データを含むことがある。1つの例示的実施形態では、保護されているプログラムは、工場において実行モードで利用することができるものなど、編集プロセスが完了しているプログラムである。
一実施形態では、ノードマネージャ190は、パートプログラムでのノードに割り当てられるノード番号の管理を担当する。一実装形態では、パートプログラムの表現内で、各命令表現にノード番号が割り当てられる。特定の実装形態では、組織的なツリー構造を利用することができ、親ノードと子ノードが存在する。特定の実装形態では、レコード/トランスレータ155によって生成されるパートプログラム表現のあらゆるラインに、ノードマネージャ190によって、ノード番号又は保証された一意の識別子などが割り当てられる。本出願と同じ譲受人の米国特許出願公開第13/676,061号(’061号出願)でより詳細に述べられているように、いくつかの実施形態では、ウィンドウ間自動スクロール部195が、ノードマネージャ190によって割り当てられたノード番号を利用して、関連のパートプログラム要素及び対応する編集機能を異なるウィンドウにおいて同時に表示することができる。すなわち、ワークピースのどの測定が、パートプログラムでのどの命令表現及び符号化された命令に関係付けられているかをユーザが知りたい場合、ウィンドウ間自動スクロール部195が、それぞれのウィンドウにおいて、関連のノード番号に対応するパートプログラム表現及び/又は符号化された命令内の関連のラインまで自動的にスクロールする。ウィンドウ間通信の1つの例示的な方法及び/又は実装は、図11を参照して以下で述べる。いくつかの実施形態では、アクセサリインタフェース部300’は、類似の方法を使用して、ノードマネージャ190及び/又はウィンドウ間自動スクロール部195と相互動作することがあり、それにより、アクセサリ動作ユーザインタフェース部310’及び/又はリモートデバイス参照情報アクセサリ400’は、本明細書で開示される原理及び動作に従って、アクティブノード番号情報及び/又は関連のパートプログラム命令表現などを受信及び/又は送信することができる。
図2に関して、図2の多くの機能は、’232出願及び’061出願において同様に論述、記載、及び/又は参照されている要素であるそれらの類似又は実質的に同様の対応する機能の説明に基づいてさらに理解することができる。
図3は、(例えば、図2に示されるアクセサリインタフェース部300’として)計測システムのプログラミング環境で使用可能なアクセサリインタフェース部300の1つの例示的実施形態と、アクセサリインタフェース部300に接続されたときの、リモートデバイス参照情報アクセサリ400として(例えば、図2に示されるリモートデバイス参照情報アクセサリ400’として)使用可能なリモートデバイスの1つの例示的実施形態とのブロック図である。図3に示される実施形態では、アクセサリインタフェース部300は、アクセサリ動作ユーザインタフェース310と、(任意選択の)アクセサリデータマネージャ320と、ノード関連付け部330と、アクセサリ通信マネージャ340と、アクセサリ接続マネージャ350とを含む。リモートデバイス参照情報アクセサリ400は、リモートデバイス通信部410と、リモートデバイス登録データ420と、リモートデバイスユーザインタフェース430と、リモートデバイスカスタマイズ参照情報データ450と、リモートデバイス現行命令応答部440とを含み、リモートデバイス現行命令応答部440は、図3に示される実施形態では、リモートデバイスファイルジェネレータ/マネージャ441と、リモートデバイス命令参照情報カスタマイズ部443とを含み得る。
一般的に言って、アクセサリインタフェース部300と、リモートデバイス現行命令応答部440(及び図3に示される他の要素)とは、あまり熟練していないユーザに、パートプログラムの作成及び編集をしながら使用することができるリモートアクセサリとして、使い慣れたパーソナルデバイスを計測システムに接続することができる機能を提供するように構成される。これは、例えば、そのようなデバイスの接続を容易にするユーザインタフェース機能及び動作と、ユーザが、パートプログラムを作成及び/又は編集しながら、編集環境でのパートプログラム及び/又はその表現内の特定の命令又は命令タイプに関連付けられる補足又は参照情報を容易に閲覧及び/又は作成できるようにする機能とを提供することによって達成される。
様々な実施形態において、アクセサリインタフェース部300と、リモート参照デバイス情報アクセサリ400に含まれる機能とは、計測システムプログラミング環境に関連するリモートデバイス参照情報アクセサリ400の接続の容易さ及び使用しやすさに特に重点が置かれるように構成される。この点をサポートするために、アクセサリ動作ユーザインタフェース310と、リモートデバイスユーザインタフェース430とは、例えば図6〜図9に示される例示的実施形態を参照して以下に概説するように、コマンド、ダイアログボックス、及び他の表示要素を含み得、アクセサリ通信マネージャ340と、リモートデバイス通信部410とは、例えば図10に示される例示的実施形態を参照して以下に概説するように、デバイス通信回路及び/又はルーチンを含み得る。アクセサリ通信マネージャ340と、リモートデバイス通信部410とは、図3に示される他の要素の動作をサポートするために、プログラミング環境とリモートデバイス参照情報アクセサリ400との間の通信を容易にすることができる。
アクセサリ接続マネージャ350は、例えば、図6〜7に示される例示的実施形態を参照して以下に概説するように、計測システムプログラミング環境に関してリモートデバイスを登録する接続ルーチン及び関連のユーザインタフェース機能を含み得る。アクセサリデータマネージャ320は、プログラミング環境内の特定のパートプログラム命令表現(例えば、現行のパートプログラム命令表現)に関連して、リモートデバイス参照情報アクセサリ400とプログラミング環境との間で交換される特定の参照情報を受信及び/又は表示するために、ノード関連付け部330と協同して動作することができる。いくつかの実装形態では、アクセサリデータマネージャ320は、リモートデバイス400から受信した参照情報を記憶又は表示することができ、(例えば、リモートデバイス参照情報ウィンドウ164wの動作を参照して前に概説したように)プログラミング環境での操作をサポートする。
ノード関連付け部330は、アクセサリインタフェース部300及び/又はリモートデバイス現行命令応答部440の他の要素の動作をサポートするように構成される。一実施形態では、ノード関連付け部330は、ノードマネージャ190及び/又はウィンドウ間自動スクロール部195と相互動作することができ、及び/又は類似の方法を使用することができ、それにより、アクセサリインタフェース部300及びリモートデバイス参照情報アクセサリ400の様々な要素が、本明細書で開示される原理及び動作に従って、現行ノード番号情報及び/又は関連のパートプログラム命令表現及び/又は関連の命令応答参照情報などを交換することができるようにする。ノードマネージャ190は、’232出願及び’061出願でより詳細に述べられており、ウィンドウ間自動スクロール部195の1つの例示的実施形態を、図11を参照して以下に概説する。
一般的に言って、リモートデバイス参照情報アクセサリ400は、計測システムパートプログラムに関係する参照情報を記憶、閲覧、及び/又は作成することが可能な任意のデバイスでよく、(例えば、ネットワーク、及び/又はBluetooth(登録商標)又はWi−Fiなどの無線接続を介して)アクセサリインタフェース部300に接続可能である。しかし、前に概説したように、プログラム可能な計測システムのユーザは、計測システムのために専用又は特別に構成されたアクセサリではなく、自分が既に使い慣れているパーソナルコンピューティング及び/又はファイル記憶デバイス(例えばタブレットやスマートフォンなど)を携帯することがよくある。そのようなパーソナルコンピューティング及び/又はファイル記憶デバイスは、多くの場合、カメラ、インターネットブラウザ、並びに他のデバイス及びプログラムを含み、ユーザは、それらを使い慣れており、パートプログラムを作成しながら、命令特有の参照情報を閲覧及び/又は作成するために使用したいことがある。既知の方法によれば、そのようなデバイスは、本明細書で開示される様式で特定のタイプの計測システムと対話するようにカスタマイズされたローカルに常駐するアプリケーション(例えば、ダウンロード及びインストールされたアプリケーション)を含むように構成することができる。例えば、そのようなプログラム又は「アプリ」は、リモートデバイス現行命令応答部440及び/又はリモートデバイスユーザインタフェース430を提供する、又はそれらに含まれるルーチンを提供することがある。いくつかの実施形態では、容易に接続できるようにするために、及び/又は使用しやすくするために、少なくともリモートデバイスをプログラミング環境に接続する前に、リモートデバイスは、プログラミング環境と対話するようにカスタマイズされた記憶されているプログラム又はアプリケーションを含む必要はない。そうではなく、リモートデバイスが計測システムに接続された後に、そのような対話ルーチンは、リモートデバイス参照情報アクセサリ400に自動的にダウンロードされる、又はダウンロードのために提供されることがある。しかし、いくつかの実施形態では、リモートデバイスに予め常駐している(通常は計測システムに関連付けられていない)インターネットブラウザ及び/又は他のアプリケーションが、本明細書で開示される機能及び動作を提供するために必要な全ての機能を提供することができる。これは、例えば、リモートデバイス参照情報アクセサリ400で使用される協同機能(例えば、特別なファイル名規則及び/又は拡張子など)と共に、アクセサリインタフェース部300によって管理される対話型ウェブページによってかなりの機能を提供することによって行われる。
リモートデバイス通信部410は、例えば図10に示される例示的実施形態を参照して以下に概説するように、デバイス通信回路及び/又はルーチンを含み得る。リモートデバイス通信部410は、本明細書で開示される様々な機能及び動作をサポートするために、リモートデバイス参照情報アクセサリ400への、及びリモートデバイス参照情報アクセサリ400からの通信を提供及び/又は管理することができる。
リモートデバイス登録データ420は、例えば図6〜図7に示される例示的実施形態を参照して以下に概説するように、リモートデバイス参照情報アクセサリ400を識別し、本明細書で開示されるアクセサリ接続マネージャ350の様々な機能及び動作をサポートする情報及び動作を含み得る。
リモートデバイスファイルジェネレータ/マネージャ441及び/又はリモートデバイス命令参照情報カスタマイズ部443を含み得るリモートデバイス現行命令応答部440は、(例えば図8A〜図8Dを参照して以下に概説するように)パートプログラムを作成及び/又は編集しながら、編集環境でのパートプログラム及び/又はその表現内の特定の命令又は命令タイプに関連付けて、リモートデバイス参照情報アクセサリ400で閲覧及び/又は作成されて記憶されるように特定の参照情報セットを準備するように動作することができる。リモートデバイスユーザインタフェース430は、本明細書で開示される機能及び動作の様々な実施形態、並びに(例えばアクセサリインタフェース部300を介する)プログラミング環境との任意の所要の対話をサポートするために、コマンド、ダイアログボックス、及び他の表示要素を含み得る。いくつかの実施形態では、リモートデバイスユーザインタフェース430は、インストールされた「カスタムアプリケーション」に含まれる機能を含むことがあり、このカスタムアプリケーションも、リモートデバイス命令応答部440に含まれるルーチンを提供する。いくつかの実施形態では、本明細書で開示される機能及び動作を提供するために、前述したアプリケーションに含まれる機能に加えて、又はそれらの代わりに、ウェブページ機能や対話型ウェブページ機能など、及び/又は、リモートデバイスに予め常駐している(通常は計測システムに関連付けられていない)インターネットブラウザ及び/又は他のアプリケーションの機能を使用することができる。
図4は、本明細書で開示される原理による、(例えば図2に示される編集部160として使用可能な)編集部160のアクセサリインタフェース部300にリンクさせることができるリモートデバイス参照情報アクセサリ400、及び計測システムのプログラミング環境で使用可能な他の要素の1つの例示的実施形態のブロック図である。図4に示されるように、編集部160は、編集動作コントローラ174と、編集ユーザインタフェース部160uiと、エディタコマンド部177と、編集実行部178とを含む。編集動作コントローラ174は、編集機能に関する動作を制御し、編集ユーザインタフェース部160uiは、編集機能に関するユーザインタフェース機能を提供する。編集ユーザインタフェース部160uiは、プログラム表示ウィンドウ部161を含み、プログラム表示ウィンドウ部161は、表現ユーザインタフェース機能162を含み、表現ユーザインタフェース機能162は、ノードユーザインタフェース機能163と、参照情報ユーザインタフェース機能164とを含む。一実施形態では、プログラム表示ウィンドウ内のパートプログラム表現は、ツリー構造で提供されることがある。表現ユーザインタフェース機能162は、挿入ポインタなどの機能を提供し、この機能は、コンテキストの状態に応じて、及びコンテキストがどのように得られたか(例えば、コンテキストが代理データから生成されたか、実際の実行によって生成されたかなど)に応じて、色を変えることがある。ノードユーザインタフェース機能163に関して、一実施形態では、これらは、アイコン又はブロークンアイコン、及びカラーハイライトなどの要素を含むことがあり、それにより、例えば、命令表現「ノード」がアクティブな現行(カレント)ノードであるかどうかを示す(すなわち、そのノードが、ユーザインタフェースでの現行アクションによって影響を及ぼされるターゲットであるかどうかを示す)。いくつかの例示的な参照情報ユーザインタフェース機能164を含む、編集ユーザインタフェース部160ui及びプログラム表示ウィンドウ部161の様々な機能のいくつかの例示的実施形態は、例えば図5、図6、及び図9に関して以下でより詳細に説明する。
編集実行部178は、編集プロセス中の様々な実行モードを担当し、代理モード部180と、実モード部191と、編集実行ユーザインタフェース機能部192とを含む。代理モード部180が代理実行モードを動作させるとき、継続的な編集動作のためのコンテキストを生成するために代理データが利用される。実モード部191は、従来のマシンビジョンシステムによって従来行われている動作を含む。実モード部191は、必要時に、実際マシン動作を行うために代理モード部180によって呼び出される。編集実行ユーザインタフェース機能192は、編集機能の実行に関するユーザインタフェース機能(例えば様々な実行動作のステータスに関する表示、例えば、パートプログラムのどの部が代理データを利用しているか、又は実際の実行動作によって実行されているかなどを示すカラーコード)を提供する。さらに、編集実行部178の要素は、’232出願及び’061出願において同様に論述、記載、及び/又は参照されている要素であるそれらの類似又は実質的に同様の対応する要素の説明に基づいて理解することができる。
エディタコマンド177は、’232出願で詳細に述べられている実行セグメント部177Aと、修正部177Bと、挿入/追加部177Cとを含む。
アクセサリインタフェース部300は、アクセサリ動作ユーザインタフェース310と、アクセサリデータマネージャ320と、ノード関連付け部330と、アクセサリ通信マネージャ340と、アクセサリ接続マネージャ350とを含む。アクセサリインタフェース部300及びその様々な要素は、図3を参照して前に概説してあり、以下の図を参照してさらに述べるので、ここではさらに述べる必要はない。図4に示されるように、リモートデバイス参照情報アクセサリ400は、(例えば図5〜図10を参照して以下に述べるように)アクセサリ通信マネージャ340を介してアクセサリインタフェース部300と通信するようにリンクさせることができ、それにより、プログラミング環境へのアクセサリとなり得る。リモートデバイス参照情報アクセサリ400は、リモートデバイス通信部410と、リモートデバイス登録データ420と、リモートデバイスユーザインタフェース430と、リモートデバイスカスタマイズ参照情報データ450と、リモートデバイス現行命令応答部440とを含み、リモートデバイス現行命令応答部440は、図4に示される実施形態では、リモートデバイスファイルジェネレータ/マネージャ441、及び/又はリモートデバイス命令参照情報カスタマイズ部443を含み得る。リモートデバイス参照情報アクセサリ400及びその様々な要素は、図3を参照して前に概説してあり、以下の図を参照してさらに述べるので、ここではさらに述べる必要はない。
図5は、本明細書で開示される原理に従ってリモート参照情報アクセサリが応答することができるパートプログラム命令及び/又は命令表現の作成に関係付けられる機能を含む計測システムのプログラミング環境の一実施形態を含む、学習モードユーザインタフェース550の第1の状態の図500である。図5に示される実施形態では、プログラミング環境の第1の状態は、メニューバー553と、ツールバー555と、ツールバー560と、ステージ位置ディスプレイ570、視野ディスプレイ580と、パートプログラム表示ウィンドウ161w(本明細書において、いくつかの文脈では編集ウィンドウ161wと呼ぶ)とを含む。パートプログラム表示ウィンドウ161wは、現行命令表現162cirを含む1組のパートプログラム命令表現162irを含み、現行命令表現162cirは、ポインタ162pの位置によって、現在アクティブな命令表現として示されることがある。現行命令表現162cirは、見易くために、ボックスで取り囲んで図示されている。ツールバー555は、ユーザインタフェース550の上側部分に水平に配置された様々なユーザツール(例えば測定ビデオツール)を含む。ツールバー560は、ユーザインタフェース550の右側部分に垂直に配置されたユーザツール(例えば位置合わせ及び拡大ツール)を含む。ステージ位置ディスプレイ570は、ステージ32の位置を示すX、Y、及びZ座標を表示する。視野ディスプレイ580は、カメラ260によって撮影されるマシンビジョン検査システム100の視野のリアルタイムビデオイメージを表示することができ、参考までに、ユーザが定義して記録したときに円ツール関心領域581(例えば命令表現162irに含まれる「円ツール」命令表現に対応する)が現れる位置を破線の輪郭で概略的に表示する。ユーザインタフェース550は、’232出願及び’061出願に述べられているものに相当する要素を有し、ユーザインタフェース550の様々な要素は、それらの参考文献での記述に基づいてさらに理解することができる。
図5に示されるプログラミング環境の第1の状態では、ユーザは、命令表現162cir「測定のためのセットアップ」を予め選択しており、この命令表現162cirを現行命令表現にする。
図6は、本明細書で開示される原理によるリモート参照情報アクセサリとの接続の確立に関係付けられる機能を含む、計測システムのプログラミング環境の一実施形態を含む、学習モードユーザインタフェース550の第2の状態の図600である。図6に示されるプログラミング環境の第2の状態では、ユーザは、メニューバー553上の「プログラム」メニューアイテム553Pを選択しており、それによりドロップダウンコマンドメニューボックス553cmbが現れ、次いで、ユーザは、「アクセサリの共有」コマンド350acを選択しており、それにより「リモートデバイス共有」ダイアログボックス350dbが現れている。図6に示される実施形態では、リモートデバイス共有ダイアログボックス350dbは、ユーザが読み取って実施すべき命令351及び352を含む。図6に示されるユーザインタフェースの状態は、ユーザが、ユーザインタフェース550を表示している計測システムを含むネットワークにリモートデバイス(例えば、ユーザのパーソナルスマートフォンやタブレットなど)を接続している場合を示している。例えば、様々な実施形態において、リモートデバイスは、既知の方法に従って、インターネット、イントラネット、有線ネットワーク、又は(例えばWi−Fiを使用する)無線ネットワーク、又は(例えばBluetooth(登録商標)接続を使用する)計測システム自体などに接続されてもよい。図6に示される実施形態では、リモートデバイスが、ユーザインタフェース550を表示している計測システムと同様にイントラネットに接続されている場合を示している。したがって、本明細書で述べる例示的な方法では、表示される命令351は、計測システムに関連付けられる特定のアドレス351aを、(例えば図7Aに示されるように)リモートデバイス上のインターネットブラウザのアドレスバーに入力するようにユーザに命令する。ユーザが、自分のリモートデバイスにそのアドレスを入力したのに応答して、アクセサリインタフェース部300には、リモートデバイスの存在及び/又はアドレスが通知され、アクセサリインタフェース部300は(例えば図7Bに示されるように)リモートデバイスに表示すべきウェブページ(又は、リモートデバイス上にあるアプリケーションによって提供される類似のユーザインタフェースを起動するコマンド)を送信するように構成される。アクセサリインタフェース部300とリモートデバイスとの間の通信は、例えば図10を参照して以下に概説する方法を使用して実装することができる。ここで述べる例では、表示されている命令352は、リモートデバイス上の表示に含まれるコード入力ボックス(例えば図7Bに示されるコード入力ボックス431b)に(アクセサリインタフェース部300によって生成される)特定の接続コード352aを入力するようにユーザに命令する。通常、ユーザは、自分のリモートデバイスが手元にある状態で計測システムの傍にいるので、これは容易に達成される。
様々な実施形態において、リモートデバイスコネクションダイアログボックス350dbは、計測システム及び/又はアクセサリインタフェース部300によって検出されるリモートデバイスに対応する1つ又は複数のリモートデバイスステータスボックス353を含むことができ、リモートデバイスステータスボックス353は、それぞれのリモートデバイス(例えば、リモートデバイスの識別子及び/又はネットワーク上でのデバイスアドレス)及びそれらの接続ステータスなどを表示することができる。リモートデバイスステータスボックス353は、例えば、リモートデバイスがBluetooth(登録商標)接続を介して計測システムに直接接続するときなどに特に有用であることがある。
図7及び図7Bは、計測システムプログラミング環境と対話するようにそのリモートデバイスを接続するためにリモートデバイス参照情報アクセサリ400上で使用可能なユーザインタフェース機能及び動作の一実施形態の第1の状態及び第2の状態をそれぞれ示す。図7Aは、タッチスクリーンディスプレイ400dを含むリモートデバイス参照情報アクセサリ400(例えばスマートフォン)を示し、タッチスクリーンディスプレイ400dは、アドレスバー430abを提供するインターネットブラウザインタフェースを含むユーザインタフェース430を提供する。図7Aに示される第1の状態は、ユーザが、図6に示したユーザインタフェース550を表示している計測システムを含むネットワークにリモートデバイス400を接続しており、図6の表示されている命令351に従っている場合を示している。この命令351は、リモートデバイス上の自分のインターネットブラウザのアドレスバーに、計測システムに関連付けられる特定のアドレス351aを入力するようにユーザに命令する。
図7Bは、図7Aで概説したように、ユーザが特定のアドレス351aを入力し、そのアドレス351aに接続された後の、リモートデバイス400の第2の状態を示す。アドレス入力に応答して、アクセサリインタフェース部300には、リモートデバイス400の存在及び/又はアドレスが通知され、アクセサリインタフェース部300は、図7Bに示されるようにリモートデバイスに表示すべきウェブページ431wpを送信する。ここで述べる例では、ウェブページ431wpは命令431aを含み、この命令431aは、コード入力ボックス431bに(図6に示した)特定の接続コード352aを入力するようにユーザに命令する(それにより、この接続コード352が、アクセサリインタフェース部300のアクセサリ接続マネージャ350に送信し返される)。通常、ユーザは、自分のリモートデバイスが手元にある状態で計測システムの傍におり、それぞれのディスプレイを見ることができるので、これは容易に達成される。アクセサリ接続マネージャ350は、リモートデバイス400から受信したコードを特定の接続コード352aと比較するように構成される。コードが一致する場合、アクセサリ接続マネージャ350は、(例えば図8及び図9などを参照して述べるように)本明細書で開示される様々な動作及び機能を実施するために計測システムのプログラミング環境と対話するようにリモートデバイス400を接続する。これは、工場イントラネットやネットワークなどにおいて他のリモートデバイス及び/又は計測システムがあるにも関わらず、ローカルユーザが自分のローカルパーソナルデバイスをローカル計測システムのみに接続するための方法を提供する1つの例示的な(非限定的な)方法である。
図8A〜図8Cは、プログラミング環境での現行命令表現に対応する汎用命令タイプに特に関連付けられる1組の参照情報の閲覧及び/又は作成に関係する、リモートデバイス参照情報アクセサリ400で使用可能なユーザインタフェース機能及び動作の一実施形態の様々な態様を示す。
図8Aは、ユーザインタフェース430を含む、アクセサリインタフェース部300を介してプログラミング環境と対話するように接続された後のリモートデバイス400の第1の状態を示す。様々な実施形態において、ユーザインタフェース430は、リモートデバイス上にローカルに常駐してアクティブ化されるソフトウェアルーチンによって提供されることがあり、あるいは、例えば、計測システムからダウンロードされても、計測システムから通信されたウェブページ機能を介してダウンロードされてもよい。図8Aに示される実施形態では、ユーザインタフェース430は、現行命令表現表示部(現行命令ディスプレイとも呼ぶ)430cidと、現行命令応答部431cirpと、サインアウトボタン430xとを含み、サインアウトボタン430xを使用して、リモートデバイスをアクセサリインタフェース部300から切断する、及び/又は計測システムへのリモートデバイスの接続を終了することができる。図8Aに示される特定の実施形態では、現行命令ディスプレイ430cidは、プログラミング環境での(現在アクティブな)現行命令表現のイメージ、再作成、又は他の表現を含む現行命令表現430cir(例えば図5における編集ウィンドウ161w内に示される現行命令表現162cir)、並びに周辺命令表現430irを含む。現行命令ディスプレイ430cidの図示される形態は例示にすぎず、これに限定するものではない。例えば、いくつかの実施形態では、リモートデバイス400上の現行命令表示は、リモートデバイス400で閲覧及び/又は作成される参照情報に関係付けられるターゲットノード及び/又は汎用命令タイプをユーザがより見易くする任意の形態で、単に、現行命令表現のみの再現、又はそのノード番号(プログラミング環境でも表示することができる)などでよい。他の実施形態では、現行命令ディスプレイ430cidは、代わりに、プログラミング環境での現行命令表現に対応する汎用命令タイプ(例えば、「円測定」汎用命令タイプ)を表示するディスプレイを含み得る。いずれにせよ、現行命令ディスプレイ430cidは、アクセサリインタフェース部300からの通信に基づいてリモートデバイス400によって頻繁に更新することができ、計測システムのプログラミング環境での(現在アクティブな)現行命令表現及び/又はその関連の「現行汎用命令タイプ」の変更を反映する。さらに、現行命令表現はプログラミング環境自体にも表示され、ユーザが両方のデバイスのディスプレイを見ることができるので、いくつかの実施形態では、リモートデバイス400での現行命令表現表示は単純に省かれることもある。しかし、そのような実施形態は、ユーザにとっていくぶん効率が悪いことがある。
図8Aに示される実施形態では、現行命令応答部431cirpは、モード選択ボタン431msと、命令参照情報部431iriとを含む。モード選択ボタン431msは、カスタマイズされた参照情報のみを現行汎用命令タイプに関して表示させる「カスタム」選択ボタンと、任意のカスタマイズされた参照情報と共に標準の参照情報(例えば、現行汎用命令タイプに対応する標準の「ヘルプ」文書の一部)を表示させる「カスタム+標準」選択ボタンとを含む。いくつかの実施形態では、リモートデバイス400は、カスタマイズされた参照のみを含むことがあり、「カスタム」選択ボタン及び「カスタム+標準」選択ボタンが省かれることもあることを理解すべきである。
また、モード選択ボタン431msは、「リスト」ボタン及び「表示」ボタンを含み、これらのボタンは、それぞれ、ユーザインタフェースが、現行汎用命令タイプに関連付けられる既存の参照情報を(例えば図8Aに示されるように)ファイルリストとして表示するか、又は(例えば図8Bに示されるように)ファイルコンテンツの表示として表示するかを制御する。また、モード選択ボタン431msは、「作成」ボタンを含み、このボタンは、ユーザインタフェースを表示させ、ユーザインタフェースは、(例えば図8Cに示されるように)現行汎用命令タイプに関連付けられる参照情報を作成するのに適している。いくつかの実施形態では、モード選択ボタン431msの効果は、プログラミング環境において現行命令表現(及びその対応する現行汎用命令タイプ)が変更されるときに持続することがある。
図8Aに示されるユーザインタフェース430の状態では、「カスタム」モードボタン及び「リスト」モードボタンが選択されている。例示される実施形態では、これは、命令参照情報部431iri内に含ませてファイル選択ボックス431fsbを表示させ、現行汎用命令タイプに関連する、リモートデバイスに予め記憶されている既存のカスタム参照情報ファイルのリストを表示する。リスト内のファイルは、既知の方法に従って、ユーザインタフェース430でファイルのコンテンツを表示するように選択されて開かれる(例えば、ファイルのファイル拡張子に対応するデフォルトプログラム及び/又はウィンドウを使用して開かれる)ことがある。
図8Bに示されるユーザインタフェース430の状態では、「カスタム」モードボタン及び「表示」モードボタンが選択されている。例示される実施形態では、これは、命令参照情報部431iri内に含ませて1つ又は複数の参照情報表示ボックス431ridbを表示させ、現行汎用命令タイプに関連する、リモートデバイスに予め記憶されている既存のカスタム参照情報ファイルのコンテンツを表示する。ファイルは、例えば、既知の方法に従って、それらのファイル拡張子に対応するデフォルトプログラム及び/又はウィンドウを使用して開かれて表示されることがある。リモートデバイス400は、限られたディスプレイサイズを有することがある。そのような場合、参照情報ディスプレイボックス431ridbが、個々のファイルコンテンツにわたってスクロールするためのディスプレイボックススクロール制御部431dbscを含むこと、及び/又は命令参照情報部431iriが、様々なファイル間でスクロールするための参照情報スクロール制御部431riscを含むことが有益であることがある。
ユーザインタフェースの命令参照情報部431iriは、アクセサリインタフェース部300からの通信に基づいてリモートデバイス400によって頻繁に更新することができ、計測システムのプログラミング環境での(現在アクティブな)現行命令表現及び/又はその関連の「現行汎用命令タイプ」の変更を反映することを理解すべきである。すなわち、プログラミング環境での現行命令表現に対応する現行汎用命令タイプに関連付けられる参照情報ファイル及び/又はファイルコンテンツのユーザインタフェース表示を、リモートデバイス400上で動的に更新することができる。
図8Cに示されるユーザインタフェース430の状態では、現行汎用命令タイプに関連付けられるカスタマイズされた参照情報を作成するための「作成」モードボタンが選択されている。例示される実施形態では、これは、「カスタム」モードボタンのみを表示させる。図8Cに示される実施形態では、現行命令応答部431cirpは、現行汎用命令タイプに自動的に関連付けることができる参照情報を作成及び/又は編集するのに適したユーザインタフェース要素を含む。例えば、命令参照情報部431iriは、(以下でより詳細に述べる)表示ウィンドウスクロール制御部431dwscを含み得る参照情報カスタマイズ及び表示ウィンドウ431ricdwと、(ウィンドウ431ricdwに含まれる情報に関する)参照情報ファイル名入力ボックス431rifnと、関連命令確認ボックス431aibと、ファイル保存ボタン431sfとを含むことがあり、ファイル保存ボタン431sfは、ウィンドウ431ricdw内に含まれる情報を、ファイル名ボックス431rifn内に示されるファイル名で、現行汎用命令タイプに関連付けて保存し、現行汎用命令タイプは、一実施形態では、関連命令確認ボックス431aib内の自動デフォルトエントリ(又は手動で入力されたオーバーライドエントリ)でよい。様々な実施形態において、関連付けは、例えば、ルックアップテーブルなど任意の適切な既知の方法を使用して、又はファイル名若しくは拡張子規則を使用して、又はXML命令/ヘッダでの適切な指定を使用して提供することができる。
ユーザインタフェース430の命令参照情報カスタマイズ部431iricpは、参照情報カスタマイズ及び表示ウィンドウ431ricdwと、参照情報ソースセレクタボタン431issとを含み、参照情報ソースセレクタボタン431issは、例えば、「ローカルファイル」ボタン、「メモ作成」ボタン、「カメラ」ボタン、及び/又は「ホストからペースト」ボタンを含み得る。
ユーザは、「ローカルファイル」ボタンを選択することができ、このボタンは、1つの例示的実施形態では、ファイルブラウザを開くことができ、ファイルブラウザは、カスタマイズ及び表示ウィンドウ431ricdw内でリストする、及び/又は開いて編集するための所望のファイルをユーザが選択できるようにする。
ユーザは、「メモ作成」ボタンを選択することができ、このボタンは、1つの例示的実施形態では、(例えば、図8Bに示される「CircleNotes.txt」表示ボックス431ridbと同様に現れることがある)カスタマイズ及び表示ウィンドウ431ricdw内で、使用可能なテキストエディタを開くことができる。
ユーザは、画像が参照情報ファイルとして望まれる場合には、「カメラ」ボタンを選択することができる。カメラボタンは、リモートデバイス400上に既に存在する画像取得及び記憶機能にアクセスするように動作されることがある。次いで、上で概説したように、得られた画像を参照情報ファイルとして処理することができ、及び/又はカスタマイズ及び表示ウィンドウ431ricdw内で開くことができる。当然、他のセンサ機能がリモートデバイス400に存在する場合には、類似の様式で参照情報を提供するようにそれらの機能にアクセスして使用することができる。
ユーザは、リモートデバイス400に接続されたプログラミング環境から参照情報が転送されることが望まれる場合には、「ホストからのペースト」ボタンを選択することができる。リモートデバイス400に接続されたホスト計測システムは、例えば、プログラミング環境からの情報やヘルプ文書などを選択して変換、保存、カット、若しくはコピーするために、計測システム及び/又はその関連のコンピュータオペレーティングシステム及びプログラム上に既に存在する機能を使用して動作させることができる。例えば、図9は、スニッピングツール970stの選択ボックス970sbによって選択される円ツールパラメータウィンドウ962を示し、スニッピングツール970stは、既知の方法に従って、スクリーンキャプチャされた選択ボックスコンテンツの画像をホスト計測システムのクリップボードに置くように動作する。図8Cに例示される実施形態では、「ホストからのペースト」ボタンにより、リモートデバイス400のカーソルがカスタマイズ及び表示ウィンドウ431ricdwに置かれ、既知の方法に従って「カット、コピー、ペースト」メニューが表示され、メニューで「ペースト」コマンドがアクティブ化されたときに、表示ウィンドウ431ricdwが、ホスト計測システムのクリップボードコンテンツを表示する。次いで、上で概説したように、得られたコンテンツを参照情報ファイルとして処理することができ、及び/又はカスタマイズ及び表示ウィンドウ431ricdw内で編集することができる。編集は、ユーザインタフェース430に提供される様々なツール又は動作、及び/又はリモートデバイス400に何らかの形で含まれるツール又は動作を使用して行うことができる。
いくつかの実施形態では、図8A〜図8Cを参照して上で概説したリモートデバイス400の様々な機能又は動作は、リモートデバイス400上に予め常駐している(通常は計測システムに関連付けられていない)アプリケーションを使用して実装することができる機能又は動作を含み得る。したがって、熟練していないユーザが、パーソナルデバイスをリモートデバイス参照情報アクセサリ400として容易に使用することができ、特別な訓練が必要ないという非常に望ましい利益を伴い、また、ユーザのパーソナルデバイスの障害を最小限にする。
図9は、図5に示した学習モードユーザインタフェース550の図900であり、現行命令表現及び/又はその対応する現行汎用命令タイプに関連付けられるリモートデバイス400によって提供される1組の参照情報の表示に関係付けられる機能を含む、計測システムのプログラミング環境の一実施形態を含む。図9に示されるプログラミング環境の状態では、現行命令表現162cirは、「円ツール」命令表現である。この例では、リモートデバイス400は、現行汎用命令タイプに関連付けられる1組の参照情報ファイルを含み、この例では現行汎用命令タイプは「円ツール」命令タイプである。さらに、リモートデバイス400は、1組の参照情報が現行汎用命令タイプに関して利用可能であるときには、この情報の利用可能性の通知をプログラミング環境に自動的にブロードキャストするように構成される。この例では、プログラミング環境は、例示されるように、現行命令表現の近くに命令参照情報利用可能フラグ162irifを表示するように構成される。図9に示される状態では、ユーザは、命令参照情報利用可能フラグ162irifを選択してアクティブ化しており、それによりこの例ではリモートデバイス参照情報ウィンドウ164wが現れ、リモートデバイス参照情報ウィンドウ164wは、図8A〜図8Cを参照して前に概説したように、リモートデバイス400の命令参照情報部431iriに対応する参照情報ディスプレイ164ridを含む。様々な実装形態において、表示される参照情報ファイル及び/又はそれらのコンテンツは、既知の方法に従って、また図10及び図11を参照して以下でさらに概説するように、リモートデバイス参照情報ウィンドウ164wの機能を使用してダウンロードすることができる。様々な実施形態において、リモートデバイス参照情報ウィンドウ164wは、既知の方法に従って、例えばサイズ変更する、移動する、最小化する、又は閉じることができる。あるいは、ウィンドウ164wを省き、既知の方法に従って、リモートデバイス参照情報ファイルをホスト計測システム上の適切なデフォルトプログラムで自動的に開くことができる。
図10は、本明細書で開示される様々な機能を実装するためにウェブサービスを使用する、リモートデバイス参照情報アクセサリ400及びプログラミング環境のアクセサリインタフェース部(例えばアクセサリインタフェース部300)の様々な機能及び動作の1つの例示的な実装形態のブロック図1000を示す。
一般的に言って、ウェブサービスは、アプリケーション又はシステム間でデータを交換するために使用されるプロトコル及び標準の集合体である。様々なプログラミング言語で書かれ、様々なプラットフォーム上で実行されるソフトウェアアプリケーションは、ウェブサービスを使用して、単一のコンピュータとのプロセス間通信と同様の様式で、コンピュータネットワーク(例えばインターネットなど)を介してデータを交換することができる。この相互動作性(interoperability)は、オープンスタンダード(例えば、TCP/IP、HTTP、Java(登録商標)、HTML、及びXML)の使用によるものである。ウェブサービスは、一般的なXML文法によって自己記述的(self-describing)なものであることがあり、単純な探索メカニズムによってネットワークを介して発見することができる(discoverable)ことが知られている。例えば、クライアントは、XMLメッセージを送信することによってウェブサービスを呼び出し、次いで、対応するXML応答を待機する。基本的なウェブサービスプラットフォームは、XML+HTTPである。標準のウェブサービスは、例えば、SOAP(Simple Object Access Protocol)、UDDI(Universal Description, Discovery and Integration)、及びWSDL(Web Services Description Language)といった既知のコンポーネントを使用して動作することがある。ウェブサービスの設計及び使用は、ソフトウェア開発者に知られており、計測システムに関するプログラミング環境の提供に関係付けられる技術分野の当業者が既知の技法に基づいて実装することができる。したがって、図10を参照して以下に述べる機能及び動作、並びに本明細書で開示される他の機能及び動作は、ここで詳細に述べる必要はない既知のウェブサービスプログラミング及び動作方法を使用して実装することができることを理解されたい。
図10は、前述したリモートデバイス参照情報アクセサリ400と、アクセサリインタフェース部300と、本説明に関連する前述したプログラミング環境のいくつかの要素とを示し、それらの要素は、ノードマネージャ190と、命令表示(又は編集)ウィンドウ161wと、リモートデバイス参照情報ウィンドウ164wとを含む。図10に示される実施形態では、前述したリモートデバイス通信部410は、プレゼンス(presence)サービス410PSと、通知(notification)サービス410NSと、配信(delivery)サービス410DSとを含むウェブサービス要素を含み得る。同様に、前述したアクセサリ通信マネージャ340は、プレゼンスサービス340PSと、通知サービス340NSと、配信サービス340DSとを含むウェブサービス要素を含み得る。前述したアクセサリインタフェース部300は、アクセサリインタフェースサービス300Sを含むウェブサービス要素を含み得る。
以下は、ウェブサービスを使用する本発明による動作の1つの代表的な例である。この例は例示にすぎず、これに限定するものではないことを理解されたい。動作時、リモートデバイス400は、ネットワークへの接続を確立し、このネットワークは、アクセサリインタフェース部300を含む計測システム及び/又はプログラミング環境にも接続される。次いで、リモートデバイス400は、アクセサリ通信マネージャ340のプレゼンスサービス340PSにコンタクトすることができる。プレゼンスサービス340PSは、アクセサリインタフェースサービス300Sに情報を提供し、したがって、リモートデバイス400は、プレゼンスサービス340PSにコンタクトして、リモートデバイス400に関する情報を供給する(例えば、それにより、アクセサリインタフェースサービス300Sは、ウェブページフォーマット及び他のデータを、互換性のあるフォーマットでリモートデバイス400に供給することができる)。リモートデバイス400は、リモートデバイス400がネットワークに接続されていることをプレゼンスサービス340PSに通知する。リモートデバイス400は、例えば、そのデバイス登録情報をSOAPメッセージにバンドルすることができ、当該リモートデバイス400のインタフェース又は表示特性など有用な情報を含むことができる。SOAPメッセージは、例えばHTTP POSTリクエストのボディとしてプレゼンスサービス340PSに送信することができる。プレゼンスサービス340PS及び/又はアクセサリインタフェースサービス300Sは、SOAPリクエストをアンパック(展開)して、情報を、アクセサリインタフェース部300の他の要素が理解することができるデータ、命令、又はコマンドに変換する。上記の動作により、まず、アクセサリインタフェース部300は、リモートデバイス400がプログラミング環境にまだ接続されていないことを認識し、例えば、プログラミング環境のユーザが、前に概説した「アクセサリへの接続」コマンドを使用してリモートデバイス400に関する接続を要求するまで、リモートデバイス400との許可される対話のタイプを制限する。次いで、アクセサリ接続マネージャ350、及びアクセサリインタフェース部300の他の要素が、例えば図6、図7A、及び図7Bを参照して上で概説したように関連の接続動作を行う。アクセサリインタフェース部300の要素は、アクセサリインタフェースサービス300Sを介してリモートデバイス400と対話し、アクセサリインタフェースサービス300Sは、それらのデータ、命令、又はコマンドを、リモートデバイス400が理解して使用することができる形態での情報に変換し、リモートデバイス400に情報を配信するようにデバイスサービス340DSに命令する。リモートデバイス400からの対話応答が、配信サービス410DSによってアクセサリインタフェース部300に返信され、アクセサリインタフェースサービス300Sで、アクセサリインタフェース部300の様々な要素が理解して使用することができる形態に変換される。このようにして、図6〜図9を参照して上で概説したような動作、及び本明細書で開示される他の動作及び機能は、計測システムに通常は関連付けられていない多様なリモートデバイス400を使用するときに、あまり熟練していないユーザによって達成することができる。
リモートデバイス400での現行命令表現162cirの表示に関して、一実施形態では、これは、前述したノードマネージャ190、ウィンドウ間自動スクロール部195、及びノード関連付け部330を使用して実装することができる。前述したように、ノードマネージャ190は、パートプログラムでのノード(例えば命令表現)に割り当てられるノード番号の割当て及び/又は管理を担当する。ウィンドウ間自動スクロール部195は、ノード番号を利用して、関連のパートプログラム要素及び対応する編集機能を、異なるウィンドウ、ルーチン、又はアプリケーションで同時に表示することができる。すなわち、ウィンドウ間自動スクロール部195により、それぞれのウィンドウが、関連のノード番号に対応する要素に自動的にスクロールし、ノード番号及び/又はノード番号に関連する他の情報に関連付けられる動作を実行することができる。ウィンドウ間通信の1つの例示的な方法及び/又は実装は、図11を参照して以下で述べる。ここで、ウィンドウ間自動スクロール部195は、ノード関連付け部330を含めた様々な接続された要素における選択イベントSEを通知されたときに、様々な接続されている要素に自動スクロール通知ASを送信する。例えば、ユーザが現行(現在アクティブな)命令表現162cirを新規の又は異なる命令表現に変更するときには常に、プログラム表示ウィンドウ161wで選択イベントSEが生じる。自動スクロール通知ASの受信に応答して、ノード関連付け部330は、その「現行ノード番号」を更新することができ、また、現行ノード番号の現行命令(もしあれば)に関連付けられる現行汎用命令タイプを識別することもできる。さらに、ノード関連付け部330は、アクセサリ動作ユーザインタフェース機能310に通知して、(例えば新たな現行命令表現を示す)更新された現行命令表示情報、及び更新された現行汎用命令タイプ(この情報が、更新された現行命令表示情報に基づいてリモートデバイス400自体でのルーチンによって決定されない場合)をリモートデバイス400に送信する。アクセサリ動作ユーザインタフェース機能310は、次いで、(必要であれば、更新された現行汎用命令タイプを含む)所要の更新された現行命令表示情報を準備することができ、それをアクセサリインタフェースサービス300Sに送信して、適切なフォーマッティングを行い、リモートデバイス400に配信する。いくつかの実施形態では、アクセサリインタフェースサービス300Sは、通知サービス340NSを使用して、そのような配信が利用可能であることをリモートデバイス400に通知することができ、その後、リモートデバイス400は、その進行中のネイティブ動作と互換性があるときには配信を要求することができる。
リモートデバイス400からアクセサリインタフェース部300への1組の参照情報の送信に関して、関連する前述した機能及び動作は、一実施形態では、以下のように実装することができる。1組の参照情報が、リモートデバイスでの現行汎用命令タイプに利用可能である場合、これにより、リモートデバイス400の通知サービス410NSが、そのような配信が利用可能であるという通知をアクセサリインタフェース部300に発行することができ、その後、アクセサリインタフェース部300は、その進行中のネイティブ動作と互換性があるときに当該配信を要求することができる。1組の参照情報が配信されるとき、アクセサリインタフェースサービス300Sは、アクセサリデータマネージャ320及び/又はプログラミング環境によって使用可能な形態で情報を準備することができる。アクセサリデータマネージャ320は、1組の参照情報を現行ノード番号に関連付けることができ、いくつかの実施形態では、現行ノード番号及び/又は現行汎用命令タイプに関連付けられる1組の参照情報を一時的又は永久的にダウンロードして記憶することができ、いくつかの実施形態では、図9を参照して概説したように、命令参照情報フラグ162irifの表示を編集ウィンドウ161wに行わせることができる。
様々なウェブサービス方法の実施に関して、ウェブサービスを教示する多数の文献に加えて、米国特許第7,506,059号、同第8,346,929号、同第6,732,111号、及び同第8,539,061号が、図10を参照して述べた機能及び動作を提供し、さらに本明細書で開示される様々な他の機能及び動作を実装するように適合させることができる様々な方法を述べている。
図11は、プログラミング環境での命令表現に関連付けられる参照情報の提供に関係する本明細書で開示される様々な機能及び動作と共にプログラミング環境で有用な、ウィンドウ、アプリケーション、又はデバイス間でのノード識別及び動作の調整の一実施形態を示す機能概略図1100である。図11は、ウィンドウ間自動スクロール部195と、プログラム表示(編集)ウィンドウ部161wと、クライアントウィンドウ部197(例えば、プログラミング環境内の別のウィンドウ)と、アクセサリインタフェース部300の概説したノード関連付け部330とを概略的に示す。「ウィンドウ部」又は「ウィンドウ」は、表示されるユーザインタフェース、並びにユーザインタフェースの関連の機能、及びユーザインタフェースの動作を提供する根底にあるルーチンを含み得ることを理解すべきである。また、語「スクロール」又は「自動スクロール」を本明細書で使用することがあるが、これらの語は、便宜上使用されるにすぎず、限定的なものではないことを理解すべきである。より一般的には、「自動スクロール」される要素は、そのそれぞれのウィンドウで、任意の簡便な及び/又は既知の方法によって見えるようにすることができ、これは、単純に、所望のコンテンツを含むウィンドウを再生することなどを含む。
図11に示される実施形態では、ウィンドウ間自動スクロール部195は、自動スクロール通知ASを介してウィンドウ部161w、197及びノード関連付け部330と対話し、また、それぞれのウィンドウ選択イベント通知SEを介してそれぞれのウィンドウ部161w、197と対話する。様々な選択イベント通知SEが個別に発行される。すなわち、ノード番号に関連付けられている要素の選択のホストである任意のウィンドウが、選択イベントによって開始されるそのウィンドウのルーチン又は動作に基づいて、その選択に応答する選択イベント通知SEを発行することがある。例えば、ユーザが現行(現在アクティブな)命令表現162cirを新規の又は異なる命令表現に変更するときには常に、プログラム表示ウィンドウ161wで選択イベントが生じる。対照的に、様々な実施形態において、各適用可能なウィンドウへの自動スクロール通知ASは、ウィンドウ間自動スクロール部195によって受信される任意の選択イベント通知に応答して発行され、一般に、全ての適用可能なウィンドウ及びノード関連付け部330に送信される。自動スクロール通知ASは、選択イベント通知SEによって開始されるウィンドウ間自動スクロール部195のルーチン又は動作に基づく。選択イベント通知SEは、選択された要素の識別子又はノード番号(例えば、新たな現行命令表現の識別子)を含むことがあり、いくつかの実施形態では、(例えば図2に示されるレコーダ/トランスレータ155で既知の方法に従って決定することができる)現行ノード又は命令表現の汎用命令タイプの識別を含むことがあり、それらのいずれか又は全てを自動スクロール通知ASによって渡すことができる。前述したように、自動スクロール通知ASの受信に応答して、ノード関連付け部330は、その現行ノード番号及び/又は現行汎用命令タイプを更新し、新たな現行ノード番号及び/又は新たな現行命令表現及び/又は新たな現行汎用命令タイプが有効であることを、アクセサリインタフェースサービス300Sを介してアクセサリデータマネージャ320及び/又はリモートデバイス400に通知することができ、それにより、当該通知を受信する各要素で適切な動作を行うことができるようにする。さらに、いくつかの実施形態では、ノード関連付け部330は、アクセサリ動作ユーザインタフェース機能310に通知して、リモートデバイス400上に新たな現行命令表現を表示する更新表示をサポートする通信を送信する。
一実施形態では、図11は、時として(例えばウェブページ間の通知のために使用される)XMLのような言語を使用して実装される「パブリッシャ−サブスクライバ」法を使用して実施されることがある。様々な実施形態において、パブリッシャ−サブスクライバ方法は、リストベースの方法、又はブロードキャストベースの方法、又はコンテンツベースの方法などの方法を、本明細書で開示される機能をサポートするように適合させることによって実施することができる。マシンビジョン検査システムでは、パブリッシャとサブスクライバは一般には同じ処理空間内に位置され、「サブスクライバ」ウィンドウの識別子を「パブリッシャ」が知ることができる。そのような場合に適用可能なものとして、米国特許第8,028,085号(「’085特許」)は、図11を参照して開示される機能をサポートするように適合させることができる低遅延の方法を述べている。
図12は、本明細書で開示される機能及び動作による、プログラム可能な計測システムのプログラミング環境に関係してリモートデバイスを動作させるための方法の1つの例示的実施形態を示す流れ図1200であり、ここで、リモートデバイスは、プログラミング環境での現行命令表現に応答して、現行命令表現に対応する汎用命令タイプに特に関係付けられる参照情報を表示する。
ブロック1210で、プログラム可能な計測システムが提供され、このシステムは、ワークピース計測部と、ワークピースを保持するための可動ステージと、制御部と、ディスプレイと、アクセサリ通信部を含むアクセサリインタフェース部と、プログラム可能な計測システムの学習モード中に動作可能であるプログラミング環境を含むユーザインタフェースとを含み、プログラミング環境は、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、パートプログラム表現は、現在アクティブな現行命令表現を含む命令表現を含む。ブロック1220で、通信接続が、リモートデバイスとプログラミング環境との間に提供される。ブロック1230で、アクセサリ通信部が、現行命令表現に対応する現行命令識別子をリモートデバイスに出力するように動作される。ブロック1240で、リモートデバイスが、現行命令識別子を受信するように動作される。ブロック1250で、リモートデバイスは、受信した現行命令識別子に応答して、現行命令表現に対応する汎用命令タイプに特に関するように構成された現行命令参照情報ユーザインタフェース部を表示するプログラム又はルーチンに従って動作される。
図12を参照して上で概説した方法は例示にすぎず、これに限定されるものではないことを理解されたい。様々な要素は、様々な組合せで行うことができ、本明細書で概説する機能及び動作の様々な組合せを使用して様々な実施形態で実施することができる。いくつかの実施形態では、リモートデバイスと対話するプログラミング環境は、シミュレータ及び/又は対応する計測システムのシミュレーションに基づいて提供することができ、プローブ及びワークピースを移動させる実際の運動制御要素及び他の物理的装置をシミュレートすることができる。
以上、本発明の特定の実施形態を、例示の目的で本明細書で述べてきたが、本発明の範囲から逸脱することなく様々な修正を施すことができることを理解されたい。
独占的所有権又は特権が請求される本発明の実施形態は、以下の添付の特許請求の範囲で定義される。
10 マシンビジョン検査システム
12 ビジョン測定機
14 制御コンピュータシステム
16 モニタ
18 プリンタ
20 ワークピース
22 ジョイスティック
24 キーボード
26 マウス
32 可動ワークピースステージ
34 光学撮像システム
100 マシンビジョン検査システム
120 制御システム部
125 コントローラ
128 電源部
130 入出力インタフェース
131 撮像制御インタフェース
132 運動制御インタフェース
133 照明制御インタフェース
134 レンズ制御インタフェース
140 メモリ
141 画像ファイルメモリ部
142 ワークピースプログラムメモリ部
142PP パートプログラム
143 ビデオツール部
143x 関心領域ジェネレータ
150 ワークピースプログラムジェネレータ及びエグゼキュータ
155 レコーダ/トランスレータ
156 学習モード部
157 実行モード部
160 編集部
180 代理データマネージャ
185 プログラムステータスマネージャ
190 ノードマネージャ
195 ウィンドウ間自動スクロール部
200 ビジョン構成要素部
205 光学アセンブリ部
210 ワークピースステージ
212 中央透明部
220、230、240 光源
221、231、241 信号ライン
250 対物レンズ
255 ワークピース光
260 カメラシステム
262 信号ライン
280 ターレットレンズアセンブリ
281 信号ライン
294 モータ
296 信号ライン
300 アクセサリインタフェース部
300’ アクセサリインタフェース部
400’ リモートデバイス参照情報アクセサリ

Claims (20)

  1. プログラム可能な計測システムのプログラミング環境に関係してリモートデバイスを動作させるための方法であって、前記プログラム可能な計測システムが、ワークピース計測部と、ワークピースを保持するための可動ステージと、制御部と、ディスプレイと、アクセサリ通信部を含むアクセサリインタフェース部と、プログラミング環境を含むユーザインタフェースとを含み、前記プログラミング環境が、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、前記編集可能パートプログラム表現が、現在アクティブな現行命令表現を含む命令表現を含み、
    前記方法が、
    前記リモートデバイスと前記プログラミング環境との間の通信接続を提供するステップと、
    前記現行命令表現に対応する現行命令識別子を前記リモートデバイスに出力するように前記アクセサリ通信部を動作させるステップと、
    前記現行命令識別子を受信するように前記リモートデバイスを動作させるステップと、
    前記現行命令表現に対応する汎用命令タイプに関するように構成された現行命令参照情報ユーザインタフェース部を表示するために、前記受信した現行命令識別子に応答するプログラム又はルーチンに従って前記リモートデバイスを動作させるステップと
    を含む、方法。
  2. 前記受信された現行命令識別子に応答する前記プログラム又はルーチンが、前記現行命令表現に対応する前記汎用命令タイプに関するように構成された前記現行命令参照情報ユーザインタフェース部を自動的に表示する、請求項1に記載の方法。
  3. 前記現行命令識別子が、前記現行命令表現と、対応する現行のパートプログラム命令と、前記現行命令表現に対応する前記汎用命令タイプとのうちの少なくとも1つを含む請求項1に記載の方法。
  4. 前記リモートデバイスのディスプレイ内で、前記現行命令表現と、前記現行命令表現に対応する前記汎用命令タイプとのうちの少なくとも1つを自動的に表示するように前記リモートデバイスを動作させるステップをさらに含む、請求項1に記載の方法。
  5. 前記現行命令参照情報ユーザインタフェース部が、a)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を識別する参照情報選択部と、b)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を表示する参照情報表示エリアと、c)前記現行命令表現に対応する前記汎用命令タイプに関連付けられるカスタム参照情報を設定するために使用可能な参照情報作成部とのうちの少なくとも1つを含む、請求項1に記載の方法。
  6. 前記現行命令参照情報ユーザインタフェース部が、少なくとも、c)前記参照情報作成部を含み、前記参照情報作成部が、さらに、前記現行命令表現に対応する前記汎用命令タイプに関連する前記参照情報を記憶するために使用可能である、請求項5に記載の方法。
  7. 前記参照情報作成部が、前記設定されたカスタム参照情報で使用するための前記現行命令表現を複製するように動作可能な複製要素を含む、請求項6に記載の方法。
  8. 前記現行命令参照情報ユーザインタフェース部が、a)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を識別する前記参照情報選択部と、b)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を表示する前記参照情報表示エリアとのうちの少なくとも1つを含み、
    前記a)において、前記識別された参照情報が、前記リモートデバイスのユーザによって予め設定されたカスタム参照情報を含み、
    前記b)において、前記表示された参照情報が、前記リモートデバイスのユーザによって予め設定されたカスタム参照情報を含む、請求項5に記載の方法。
  9. 前記a)及びb)において、前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている前記参照情報が、前記リモートデバイスのユーザによって予め設定されたカスタム参照情報からなる、請求項8に記載の方法。
  10. 前記a)において、前記参照情報選択部が、前記リモートデバイスのユーザによって予め設定されたカスタム参照情報からなる参照情報を識別するように構成された設定を含み、
    前記b)において、前記参照情報表示エリアが、前記リモートデバイスのユーザによって予め設定されたカスタム参照情報からなる参照情報を表示するように構成された設定を含む、請求項8に記載の方法。
  11. 前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報がカスタム参照情報を含むときに、前記方法が、
    i)リモート参照情報利用可能インジケータと、ii)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている前記カスタム参照情報のコピーとのうちの少なくとも1つを表示するように前記プログラミング環境を動作させるステップをさらに含む、請求項8に記載の方法。
  12. 前記リモートデバイスと、前記プログラム可能なシステムの前記プログラミング環境との間の対話が、少なくとも一部、ウェブサービスを使用して実施される、請求項1に記載の方法。
  13. 前記リモートデバイスが、前記プログラム可能な計測システム専用ではないポータブルデバイスであり、前記リモートデバイスと前記プログラミング環境との間の接続を提供するステップが、前記プログラム可能な計測システムに接続するために使用可能なネットワークに前記リモートデバイスを接続するステップを含む、請求項1に記載の方法。
  14. 前記リモートデバイスが、スマートフォン及びポータブルコンピュータのうちの1つである、請求項1に記載の方法。
  15. 前記計測システムの前記アクセサリインタフェース部が、アクセサリ接続部を含み、
    前記リモートデバイスと前記プログラミング環境との間の接続を提供するステップが、前記リモートデバイスを前記プログラミング環境に接続するように前記アクセサリ接続部を動作させるステップを含む、請求項1に記載の方法。
  16. 前記アクセサリ接続部が、前記プログラミング環境内で表示される接続ユーザインタフェースを含み、前記接続ユーザインタフェースが、前記リモートデバイスを使用して実行すべき命令を含む、請求項15に記載の方法。
  17. プログラム可能な計測システムのプログラミング環境に関係して動作されるリモートデバイスを含むシステムであって、ワークピース計測部と、ワークピースを保持するための可動ステージと、制御部と、ディスプレイと、プログラミング環境を含むユーザインタフェースとを含み、前記プログラミング環境が、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、前記編集可能パートプログラム表現が、現在アクティブな現行命令表現を含む命令表現を含み、
    前記リモートデバイスが、
    前記リモートデバイスと前記プログラミング環境との間の接続を提供するように構成されたリモートデバイス通信部と、
    ディスプレイ部と、
    ユーザインタフェースと、
    処理装置とを含み、
    前記処理装置が、
    前記プログラミング環境から、前記現行命令表現に対応する現行命令識別子を受信するように前記リモートデバイスを動作させること、及び
    前記受信した現行命令識別子に応答して、前記現行命令表現に対応する汎用命令タイプに特に関連付けられるように構成された現行命令参照情報ユーザインタフェース部を表示するように前記リモートデバイスを動作させること
    を含む動作を実施するために、前記プログラムされた命令を実行するように構成される、システム。
  18. 前記受信された現行命令識別子に応答して、現行命令参照情報ユーザインタフェース部を表示するように前記リモートデバイスを動作させることが、前記受信された現行命令識別子に応答して、前記現行命令表現に対応する前記汎用命令タイプに関するように構成された前記現行命令参照情報ユーザインタフェース部を自動的に表示するように前記リモートデバイスを動作させることを含む、請求項17に記載のシステム。
  19. 前記現行命令参照情報ユーザインタフェース部が、a)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を識別する参照情報選択部と、b)前記現行命令表現に対応する前記汎用命令タイプに関連する前記リモートデバイスに記憶されている参照情報を表示する参照情報表示エリアと、c)前記現行命令表現に対応する前記汎用命令タイプに関連付けられるカスタム参照情報を設定するために使用可能な参照情報作成部とのうちの少なくとも1つを含む、請求項17に記載のシステム。
  20. 前記リモートデバイスが、前記プログラム可能な計測システム専用ではないポータブルデバイスであり、前記リモートデバイス通信部が、前記プログラム可能な計測システムに接続するために使用可能なネットワークへの接続を提供するように構成される、請求項17に記載のシステム。
JP2014259218A 2013-12-23 2014-12-22 プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ Active JP6449643B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/139,591 2013-12-23
US14/139,591 US9606525B2 (en) 2013-12-23 2013-12-23 Remote accessory for generating customized and synchronized reference notes for a programmable metrology system

Publications (2)

Publication Number Publication Date
JP2015135673A JP2015135673A (ja) 2015-07-27
JP6449643B2 true JP6449643B2 (ja) 2019-01-09

Family

ID=53275613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014259218A Active JP6449643B2 (ja) 2013-12-23 2014-12-22 プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ

Country Status (4)

Country Link
US (1) US9606525B2 (ja)
JP (1) JP6449643B2 (ja)
CN (1) CN104731578B (ja)
DE (1) DE102014225409A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3292060A4 (en) * 2015-05-04 2019-05-08 Mitutoyo Corporation INSPECTION PROGRAM EDITING ENVIRONMENT PROVIDING USER-DEFINED COLLISION AVOIDANCE VOLUMES
CN105022636B (zh) * 2015-07-30 2018-11-09 张瑛 一种面向智能元的编程语言系统
US9640043B1 (en) * 2015-12-18 2017-05-02 Mitutoyo Corporation Remote display device for use in a metrology personal area network
US20170176226A1 (en) * 2015-12-18 2017-06-22 Mitutoyo Corporation Multi-mode metrology user interface device
JP6049923B1 (ja) * 2016-02-18 2016-12-21 三菱日立パワーシステムズ株式会社 部品情報検索装置、部品情報検索方法、およびプログラム
US10527397B2 (en) 2017-12-27 2020-01-07 Mitutoyo Corporation Cooperative measurement gauge system for multiple axis position measurement
US20190317048A1 (en) * 2018-04-17 2019-10-17 Illinois Tool Works Inc. Systems and methods to remotely manage non-destructive testing systems

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488258A (en) * 1982-09-20 1984-12-11 Allen-Bradley Programmable controller with control program comments
JPH0580814A (ja) * 1991-06-18 1993-04-02 Fuji Electric Co Ltd プログラマブルコントローラ用プログラミング装置
EP0858015B1 (en) 1997-02-10 2003-05-07 Mitutoyo Corporation Measuring method and measuring instrument with a trigger probe
US6732111B2 (en) 1998-03-03 2004-05-04 Siebel Systems, Inc. Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US6397378B1 (en) * 1998-08-21 2002-05-28 National Instruments Corporation Test executive system and method including distributed type storage and conflict resolution
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US7272815B1 (en) * 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7058928B2 (en) * 1999-12-23 2006-06-06 Identify Software Ltd. System and method for conditional tracing of computer programs
US6542180B1 (en) 2000-01-07 2003-04-01 Mitutoyo Corporation Systems and methods for adjusting lighting of a part based on a plurality of selected regions of an image of the part
US20030037321A1 (en) * 2001-01-29 2003-02-20 Matt Bowen System, method and article of manufacture for extensions in a programming lanauage capable of programming hardware architectures
US6691301B2 (en) * 2001-01-29 2004-02-10 Celoxica Ltd. System, method and article of manufacture for signal constructs in a programming language capable of programming hardware architectures
US7506059B2 (en) 2001-10-26 2009-03-17 Nokia Corporation Mobile client provisioning web service
DE10159610B4 (de) * 2001-12-05 2004-02-26 Siemens Ag System und Verfahren zur Erstellung einer Dokumentation von Arbeitsvorgängen, insbesondere im Umfeld Produktion, Montage, Service oder Wartung
EP1408410A1 (en) * 2002-09-30 2004-04-14 Sap Ag Remote debugging of computer programs
US8346929B1 (en) 2003-08-18 2013-01-01 Oracle America, Inc. System and method for generating secure Web service architectures using a Web Services security assessment methodology
US8417370B2 (en) * 2003-10-17 2013-04-09 Hexagon Metrology Ab Apparatus and method for dimensional metrology
US7251580B2 (en) 2003-10-20 2007-07-31 Mitutoyo Corporation Method for measuring curved surface of workpiece, program and medium thereof
US7030351B2 (en) * 2003-11-24 2006-04-18 Mitutoyo Corporation Systems and methods for rapidly automatically focusing a machine vision inspection system
US7324682B2 (en) 2004-03-25 2008-01-29 Mitutoyo Corporation System and method for excluding extraneous features from inspection operations performed by a machine vision inspection system
US7286896B2 (en) * 2004-09-13 2007-10-23 Taiwan Semiconductor Manufacturing Company, Ltd. Multi-function teach pendant for a semiconductor manufacturing environment
US7454053B2 (en) 2004-10-29 2008-11-18 Mitutoyo Corporation System and method for automatically recovering video tools in a vision system
US7627162B2 (en) * 2005-01-31 2009-12-01 Mitutoyo Corporation Enhanced video metrology tool
US8028085B2 (en) 2005-06-03 2011-09-27 Microsoft Corporation Optimizing message transmission and delivery in a publisher-subscriber model
US8045002B2 (en) * 2005-07-29 2011-10-25 Mitutoyo Corporation Systems and methods for controlling strobe illumination
US9234852B2 (en) * 2005-07-29 2016-01-12 Mitutoyo Corporation Systems and methods for controlling strobe illumination
CN101149254B (zh) * 2007-11-12 2012-06-27 北京航空航天大学 高精度视觉检测系统
US8539061B2 (en) 2008-09-19 2013-09-17 Georgia Tech Research Corporation Systems and methods for web service architectures
US8111938B2 (en) 2008-12-23 2012-02-07 Mitutoyo Corporation System and method for fast approximate focus
KR101060181B1 (ko) * 2009-08-03 2011-08-29 강원대학교산학협력단 원격 디버깅을 위한 웹 기반 소프트웨어 디버깅 장치 및 그 방법
US8111905B2 (en) 2009-10-29 2012-02-07 Mitutoyo Corporation Autofocus video tool and method for precise dimensional inspection
JP5523995B2 (ja) 2010-09-03 2014-06-18 株式会社ミツトヨ 測定装置
WO2012033900A1 (en) * 2010-09-10 2012-03-15 Gleason Metrology Systems Corporation Remote operator pendant for a metrology machine tool
US9013574B2 (en) * 2011-11-15 2015-04-21 Mitutoyo Corporation Machine vision system program editing environment including synchronized user interface features
US9213331B2 (en) * 2012-12-19 2015-12-15 Caterpillar Inc. Remote control system for a machine

Also Published As

Publication number Publication date
US9606525B2 (en) 2017-03-28
US20150177729A1 (en) 2015-06-25
CN104731578B (zh) 2018-06-05
DE102014225409A1 (de) 2015-06-25
CN104731578A (zh) 2015-06-24
JP2015135673A (ja) 2015-07-27

Similar Documents

Publication Publication Date Title
JP6449643B2 (ja) プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ
US10437921B2 (en) Methods and systems for invoking code in a different programming language
JP2873222B2 (ja) ロボット情報処理装置
US20060206827A1 (en) Live graphical user interface builder
US8181157B2 (en) Custom language support for project documentation and editing
CN107209773B (zh) 自动调用统一的可视化界面
JP2005339560A (ja) ジャストインタイムのユーザ支援を提供する手法
US20200276707A1 (en) Method and system for cloud-based programming and control of robotic platform
US8117042B2 (en) Communication and interface support system
Asendorf et al. Tiltification—an accessible app to popularize sonification
JPWO2013190714A1 (ja) 自動操作システム及び操作自動化方法
KR101610605B1 (ko) 전자 메뉴얼 열람 장치 및 시스템
JP2015143980A (ja) プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理
Stone et al. 1Augmented Reality Interface For Industrial Robot Controllers
Montalvo et al. Industrial control robot based on augmented reality and IoT protocol
JP7541286B1 (ja) 情報処理方法、プログラム及び情報処理システム
JP2005353009A (ja) セル生産作業支援装置、システム、プログラム
JP2008108093A (ja) Web上技術計算システム
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
EP1894124A2 (en) Data processing method and system
Martins Development of a front-end application for a human-robot collaborative framework
Prakasam et al. Mixed Reality Applications for Industrial Maintenance and Special Education of ASPOC and ILSEME Association Students
McKelvey et al. A human-centered intelligent platform for holographic control and management of 3D printers
Subramanian Building Bumblebot in Hardware
Nagy Utilizing building information models with mobile augmented reality and location-based services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180625

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181206

R150 Certificate of patent or registration of utility model

Ref document number: 6449643

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250