JP2015143980A - プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理 - Google Patents
プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理 Download PDFInfo
- Publication number
- JP2015143980A JP2015143980A JP2014257678A JP2014257678A JP2015143980A JP 2015143980 A JP2015143980 A JP 2015143980A JP 2014257678 A JP2014257678 A JP 2014257678A JP 2014257678 A JP2014257678 A JP 2014257678A JP 2015143980 A JP2015143980 A JP 2015143980A
- Authority
- JP
- Japan
- Prior art keywords
- remote device
- accessory
- reference information
- programming environment
- user interface
- 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.)
- Pending
Links
- 238000005259 measurement Methods 0.000 title claims abstract description 68
- 238000007726 management method Methods 0.000 claims abstract description 49
- 238000004891 communication Methods 0.000 claims abstract description 29
- 230000014509 gene expression Effects 0.000 claims abstract description 23
- 238000013523 data management Methods 0.000 claims abstract 6
- 230000006870 function Effects 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 46
- 238000013475 authorization Methods 0.000 claims description 20
- 230000003993 interaction Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000007689 inspection Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 13
- 230000004044 response Effects 0.000 description 12
- 238000012549 training Methods 0.000 description 7
- 238000005286 illumination Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000005441 aurora Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/409—Numerical 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 using manual data input [MDI] or by using control panel, e.g. controlling functions with the panel; characterised by control panel details or by setting parameters
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/427—Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Telephonic Communication Services (AREA)
Abstract
【課題】プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理を提供する。【解決手段】計測システムに対するプログラミング環境は、計測システムとは通常関連付けられないリモートデバイスに接続するアクセサリ管理部300’を含み、アクセサリ管理部は、リモートデバイスと通信するよう構成されたアクセサリ通信部と、リモートデバイスをプログラミング環境に接続することを許可するよう構成されたアクセサリ許可部と、許可されたリモートデバイスからの参考情報データセットを受信して格納するよう構成されたアクセサリデータ管理部とを含む。許可されたリモートデバイスが参考情報データセットをアクセサリデータ管理部に送信する際、参考情報データセットが、プログラミング環境及びリモートデバイスのユーザインタフェースのうちの少なくとも1つに示される現行のパートプログラム命令表現と自動的に関連付ける。【選択図】図2
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月発行)で述べられており、それら各文献の全体を参照により本明細書に援用する。
一般に使用されているプログラム可能な計測システムは、マシンビジョン検査システム(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/0229662A1号で開示されるような専用タブレットデバイス、ティーチングペンダント等の専用リモートデバイスにリンクされるだけであった。そのようなリモートデバイスが専用の及び/又は特別にプログラムされたインタフェース機能を有するための要件は、デバイスの利用可能性及びデバイスの動作を制約する。デバイスの関連ホストシステムと同様に、そのようなリモートデバイスは、デバイスのユーザが、デバイスのホストシステムと併せてデバイスの動作に対する専門的なトレーニングを受ける必要があり得る。その上、そのようなリモートデバイスに対するユーザインタフェースは、通常、ホストシステムに対するプログラミング環境で動作させる間に、あまり熟練していないユーザがパートプログラムの特定の位置で多彩及び/又は複雑な補足情報を添付し易いようにするという問題に対処できるようにはなっていない。ユーザが好きなように、利用可能なハードウェア及び方法における上述の制約及び欠点に遭遇することなく、ホストシステムに対するプログラミング環境で操作しながら、ユーザがパートプログラムの特定の位置で多彩な及び/又は複雑な補足情報を添付できることが望ましい。
図面の説明
本開示の前述の態様及び付随する利点の多くは、添付の図面と併せて取り入れる際に、以下の詳細な説明を参照することによって同態様及び利点をより良く理解するにつれて、より容易に理解されよう。
本開示の前述の態様及び付随する利点の多くは、添付の図面と併せて取り入れる際に、以下の詳細な説明を参照することによって同態様及び利点をより良く理解するにつれて、より容易に理解されよう。
詳細な説明
プログラム可能な計測システムにあまり熟練していないユーザは、上記で概説した制約及び欠点を伴う専用リモートデバイスではなく、ユーザが既に熟知しているパーソナルコンピューティングデバイス及び/又はファイル記憶装置(例えば、タブレット、スマートフォン又は同様のもの)を持ち歩くことが多い。そのようなデバイス上では、ユーザは、プログラミングコマンド及び/若しくはシステムトレーニング、特別なワークピース及び/若しくはセットアップ機能、又は、パートプログラミングに関連するその他の考慮事項を文書化したり思い出したりする上で役立つパーソナルノート、ファイル及び/又は写真を保持することができる。その上、そのようなパーソナルコンピューティングデバイス及び/又はファイル記憶装置は、ユーザが熟知しており、且つパートプログラムを作成しながら追加の参考情報を生成するために使用したくなるであろう、カメラ、インターネットブラウザ及び他のデバイスやプログラムを含むことが多い。しかし、あまり熟練していないユーザは、そのような熟知しているパーソナルデバイスをリモートアクセサリとして計測システムに接続する能力に欠ける。その上、計測システムのプログラミング環境には、そのようなデバイスの接続を容易にする機能も、パートプログラムの特定の位置で提供できるように参考情報を容易に付加する機能も含まれていない。
プログラム可能な計測システムにあまり熟練していないユーザは、上記で概説した制約及び欠点を伴う専用リモートデバイスではなく、ユーザが既に熟知しているパーソナルコンピューティングデバイス及び/又はファイル記憶装置(例えば、タブレット、スマートフォン又は同様のもの)を持ち歩くことが多い。そのようなデバイス上では、ユーザは、プログラミングコマンド及び/若しくはシステムトレーニング、特別なワークピース及び/若しくはセットアップ機能、又は、パートプログラミングに関連するその他の考慮事項を文書化したり思い出したりする上で役立つパーソナルノート、ファイル及び/又は写真を保持することができる。その上、そのようなパーソナルコンピューティングデバイス及び/又はファイル記憶装置は、ユーザが熟知しており、且つパートプログラムを作成しながら追加の参考情報を生成するために使用したくなるであろう、カメラ、インターネットブラウザ及び他のデバイスやプログラムを含むことが多い。しかし、あまり熟練していないユーザは、そのような熟知しているパーソナルデバイスをリモートアクセサリとして計測システムに接続する能力に欠ける。その上、計測システムのプログラミング環境には、そのようなデバイスの接続を容易にする機能も、パートプログラムの特定の位置で提供できるように参考情報を容易に付加する機能も含まれていない。
タブレットやスマートフォンなどのパーソナルモバイル又はリモートデバイスは、より汎用性が高くなり、プログラム可能な計測システムが、そのような計測システムのネイティブ動作及びプログラミング環境能力を補足するために、そのようなリモートデバイスの「無料の」、使い慣れた、容易に利用可能な機能を提供するために容易に接続することができるようにする機能を含んでいることが望ましい。
本明細書で開示されるように、計測システムとは通常関連付けられないリモートデバイスは、プログラミング及び/若しくはプログラムされた測定動作の注釈付け等の支援に使用することができる追加データを提供するため、計測システムのプログラミング環境に統合することができる。具体的には、そのようなデバイスは、あまり熟練していないユーザが、パートプログラム(例えば、標準値、セットアップ命令、写真、ビデオ、及び/又は、プログラムされた命令若しくは動作の説明、及び、同様のもの)を作成及び/又は編集しながら、補足若しくは参考情報をパートプログラム中に埋め込んだり、及び/又はそれらの表現を編集環境中に埋め込むことができるように、計測システムと一体化された構成でリンクすることができる。
図1は、本明細書に記載される方法に従って使用可能な1つの例示的なマシンビジョン検査システム10の様々な典型的な構成要素を示す図である。マシンビジョン検査システム10は、データや制御信号を交換するために(例えば、コネクタ又は無線接続を通じて)制御コンピュータシステム14と接続されたビジョン測定機12を含む。制御コンピュータシステム14は、データや制御信号を交換するためにモニタ又はディスプレイ16、プリンタ18、ジョイスティック22、キーボード24及びマウス26とさらに接続される。モニタ又はディスプレイ16は、マシンビジョン検査システム10の動作の制御及び/又はプログラミングに適したユーザインタフェースを表示することができる。様々な実施形態では、タッチスクリーンタブレット等を、コンピュータシステム14、ディスプレイ16、ジョイスティック22、キーボード24及びマウス26のいずれか又はすべての機能の代わりに用いること及び/又は同機能と重複して提供することができることが理解されよう。
制御コンピュータシステム14は、一般に、パーソナルコンピュータ、サーバコンピュータ、ミニコンピュータ、メインフレームコンピュータ、前述のいずれかを含む分散コンピューティング環境などの任意のコンピューティングシステム又はデバイスからなり得る。1つ又は複数のプロセッサは、本明細書に記載される機能を実行するためにソフトウェアを実行することができる。プロセッサは、プログラム可能な汎用若しくは専用マイクロプロセッサ、プログラム可能コントローラ、特定用途向け集積回路(ASIC)、プログラム可能論理デバイス(PLD)など、あるいは、そのようなデバイスの組合せを含む。ソフトウェアは、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリなど、又は、そのような構成要素の組合せなどのメモリに格納することができる。また、ソフトウェアは、磁気若しくは光学ベースのディスク、フラッシュメモリデバイス又はデータを格納する任意のその他のタイプの不揮発性記憶媒体などの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、並びに、中央透明部212を有するワークピースステージ210を含む。ワークピースステージ210は、ワークピース20を配置することができるステージの表面に概ね平行な平面にあるX軸及びY軸に沿って移動制御可能である。光学アセンブリ部205は、カメラシステム260、交換可能な対物レンズ250を含み、ターレットレンズ280又はその代替として固定若しくは交換式の倍率変更レンズなどを含むことができる。光学アセンブリ部205は、制御可能モータ294を使用して、X軸及びY軸に直交するZ軸に沿って移動制御可能である。
ワークピース20、又は多数のワークピース20を保持する固定具は、ワークピースステージ210上に配置することができる。ワークピースステージ210は、交換可能な対物レンズ250がワークピース20上の位置間を移動するように制御することができる。光源のうちの1つ又は複数は、ワークピース20を照らすため、それぞれの光源光222、232又は242を放出することができる。光源光は、ワークピース照明光255として反射又は透過され、交換可能な対物レンズ250及びターレットレンズアセンブリ280を通過し、カメラシステム260によって収集される。カメラシステム260によって取り込まれた画像は、信号ライン262上で、制御システム部120に出力される。光源220、230及び240は、信号ライン又はバス221、231及び241のそれぞれを通じて制御システム部120に接続することができる。画像の倍率を変更するため、制御システム部120は、信号ライン又はバス281を通じてターレットレンズアセンブリ280の回転を制御することができる。
光学アセンブリ部205は、アクチュエータを駆動する制御可能モータ294を使用して、ワークピースステージ210に対して垂直なZ軸方向に移動可能であり、光学アセンブリ部205を移動して、カメラシステム260によって取り込まれる画像の焦点を変更する。Z軸という用語は、本明細書で使用される場合、画像の焦点調整に使用される軸を指す。制御可能モータ294は、使用される場合、信号ライン296を介して、入出力インタフェース130に接続される。
図2に示されるように、様々な例示的な実施形態では、制御システム部120は、以下でさらに詳細に説明されるように、コントローラ125、電源部128、入出力インタフェース130、メモリ140、ワークピースプログラムジェネレータ及びエグゼキュータ150、レコーダ/トランスレータ155、学習モード部156、実行モード部157、編集部160、代理データマネージャ180、プログラムステータスマネージャ185、ノードマネージャ190、ウィンドウ間自動スクロール部195、並びに、リモートデバイス情報アクセサリ400’への接続に使用することができるアクセサリ管理部300’を含む。これらの構成要素の各々及び以下で説明される追加構成要素は、1つ若しくは複数のデータ/制御バス及び/若しくはアプリケーションプログラミングインタフェースによって、又は、様々な要素間のダイレクト接続によって、相互接続することができる。
入出力インタフェース130は、撮像制御インタフェース131、運動制御インタフェース132、照明制御インタフェース133及びレンズ制御インタフェース134を含む。照明制御インタフェース133は、例えば、該当する場合、マシンビジョン検査システム100の様々な対応する光源について、選択、電力、オン/オフ切替え及びストロボパルスタイミングを制御する。
メモリ140は、画像ファイルメモリ部141、1つ又は複数のパートプログラム142PPなどを含み得るワークピースプログラムメモリ部142、及び、ビデオツール部143を含む。ビデオツール部143は、ビデオツール部143a及び他のビデオツール部を含み、対応するビデオツールの各々に対するGUI、画像処理動作などを決定する。また、ビデオツール部143は、ビデオツール部143に含まれる様々なビデオツールで動作可能な様々なROIを定義する自動、半自動及び/又は手動動作をサポートする関心領域(ROI)ジェネレータ143xも含む。
一般に、メモリ部140は、所望の画像特性を有するワークピース20の画像を取得するようにビジョンシステムを動作させるのに使用可能なデータを記憶する。また、メモリ部140は、検査結果データを記憶することもあり、さらに、(例えばビデオツールとして一部実装された)取得された画像に対する様々な検査及び測定動作を手動又は自動で行って、それらの結果を入出力インタフェース130を介して出力するようにマシンビジョン検査システム100を動作させるために使用可能なデータを記憶することもある。また、メモリ部140は、入出力インタフェース130を介して動作可能なユーザインタフェースを定義するデータを含むこともある。
照明光源の信号ライン又はバス221、231及び241、カメラシステム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の一部と見なすことができる。それに加えて、図3〜9を参照してさらに詳細に説明されるリモートデバイス情報アクセサリ400’を、コントローラ125にリンクすることができる(例えば、アクセサリ管理部300’を通じて)。リモートデバイス情報アクセサリ400’は、いくつかの実施形態では、制御システム部120の外部にあるが、制御システム部120と相互動作させるように通信するアクセサリと見なすことができる。ワークピースプログラムジェネレータ及びエグゼキュータ150は、パートプログラムの作成及び実行を担う。「ワークピースプログラム」及び「パートプログラム」という用語は、本明細書では同義で使用できることが理解されよう。
ワークピースプログラムジェネレータ及びエグゼキュータ150の動作によれば、様々な例示的な実施形態では、ユーザがマシンビジョン検査システム100を利用してワークピース20に対するパートプログラムを作成する際、ユーザは、ワークピースプログラミング言語を使用して、自動、半自動若しくは手動で命令を明確にコード化することによってパートプログラム命令を生成する、及び/又は、学習モードでマシンビジョン検査システム100を動作させて(例えば、学習モード部156によって制御されるように)所望の画像取得トレーニングシーケンスを提供することによって命令を生成する。例えば、トレーニングシーケンスは、視野(FOV)内にワークピース要素を配置するステップ、照明光レベルを設定するステップ、焦点調整又は自動焦点調整を行うステップ、画像を取得するステップ、及び画像に適用された検査トレーニングシーケンスを提供するステップ(例えば、ビデオツールを使用して)を含み得る。学習モードは、シーケンスを取得又は記録し、対応するパートプログラムステップ(すなわち、命令)に変換するように動作する。これらのパートプログラムステップは、パートプログラムが実行モードで実行されると(例えば、実行モード部157によって制御されるように)、パートプログラムの作成の際に使用されたワークピースと一致する1つ又は複数のワークピースを自動的に検査するため、トレーニングされた画像取得及び検査動作を再現することをマシンビジョン検査システムに行わせる。
レコーダ/トランスレータ155は、マシン動作をパートプログラムコードに変換するために利用される。言い換えれば、ユーザが動作(例えば、ワークピース上の機能の測定に使用されるビデオツールを変更するなど)を実行すれば、命令が生成され、マシン可読言語への命令の変換が行われ、逆の変換も実行することができる。以下でさらに詳細に説明されるように、本明細書で開示されるある実施形態では、パートプログラムのある命令は、ユーザインタフェースにおける命令表現に変換することもできる。いくつかの実施形態では、パートプログラム命令は、マークアップタイプの言語コードで記述することができる。1つの特定の例示的な実施形態では、マークアップ言語コードは、XMLコードであり得る。編集部160は、編集ユーザインタフェース部160ui内でのパートプログラムの編集に関連する様々な動作及びユーザインタフェース機能を提供又は起動し、編集ユーザインタフェース部160uiは、以下でさらに詳細に説明されるように、パートプログラム表示ウィンドウを含み得る。
代理データマネージャ180は、存在しなくともよいが、いくつかの実施形態と組み合わせて使用することができる。簡潔には、代理データマネージャ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は、計測システムのプログラミング環境で使用可能なアクセサリ管理部300(例えば、図2に示されるアクセサリ管理部300’のような)の例示的な一実施形態と、アクセサリ管理部300に接続されてリモートデバイス参考情報プログラミングアクセサリ400(例えば、図2に示されるリモートデバイス情報アクセサリ400’のような)として使用可能なリモートデバイスの例示的な一実施形態とのブロック図である。図3に示される実施形態では、アクセサリ管理部300は、アクセサリ動作ユーザインタフェース310、アクセサリデータマネージャ320、ノード関連付け部330、アクセサリ通信マネージャ340及びアクセサリ許可マネージャ350を含む。リモートデバイス参考情報プログラミングアクセサリ400(以下では、リモートデバイス参考情報アクセサリ、又は単にリモートデバイスとも称す)は、リモートデバイス通信部410、リモートデバイス登録データ420、リモートデバイスユーザインタフェース430及びリモートデバイス現行命令応答部440を含み、リモートデバイス現行命令応答部440は、図3に示される実施形態では、リモートデバイスファイルジェネレータ/マネージャ441及び/又はリモートデバイスセンサ443を含み得る。
一般的に言えば、アクセサリ管理部300は、パートプログラムを作成及び編集する間に使用するリモートアクセサリとして、熟知しているパーソナルデバイスを計測システムに接続する機能を、あまり熟練していないユーザに提供するよう構成される。このことは、例えば、そのようなデバイスの接続や、ユーザがパートプログラムの特定の位置でそのようなアクセサリからの参考情報を容易に付加することを可能にする要素の接続を容易にするユーザインタフェース機能及び動作を提供することによって達成される。いくつかの実施形態では、アクセサリ管理部300は、接続し易さや、計測システムプログラミング環境内でのリモートデバイス参考情報アクセサリ400の使い易さが特に強調されるように構成される。アクセサリ動作ユーザインタフェース310は、例えば、以下で図4〜9に示される例示的な実施形態を参照して概説されるように、この強調をサポートするために、コマンド、ダイアログボックス及び他の表示要素を含み得る。アクセサリ通信マネージャ340は、例えば、以下で図10に示される例示的な実施形態を参照して概説されるように、この強調をサポートするために、デバイス通信回路及び/又はルーチンを含み得る。アクセサリ通信マネージャ340は、例えば、アクセサリ許可マネージャ350及びアクセサリデータマネージャ320の動作をサポートするためなど、プログラミング環境とリモートデバイス参考情報アクセサリ400との間の通信を管理することができる。
アクセサリ許可マネージャ350は、例えば、以下で図5〜7に示される例示的な実施形態を参照して概説されるように、計測システムプログラミング環境に関連して信頼されているリモートデバイスを登録する許可ルーチン及び関連するユーザインタフェース機能を含み得る。アクセサリデータマネージャ320は、リモートデバイス参考情報アクセサリ400からの特定の参考情報をプログラミング環境の特定のパートプログラム命令表現(例えば、現行のパートプログラム命令表現)と関連付け、その関連性をサポートするようにそれを格納するため、ノード関連付け部330と協働して動作させることができる。
ノード関連付け部330は、アクセサリ管理部300の他の要素の動作をサポートするよう構成される。一実施形態では、ノード関連付け部330は、本明細書で開示される原理及び動作に従って、アクセサリ管理部300及びリモートデバイス参考情報アクセサリ400の様々な要素が現ノード番号情報及び/又は関連パートプログラム命令表現などを交換できるように、ノードマネージャ190及び/又はウィンドウ間自動スクロール部195と相互動作させること、並びに/あるいは、類似の方法を使用することができる。ノードマネージャ190については、’232出願及び’061出願でさらに詳細に説明されており、ウィンドウ間自動スクロール部195の例示的な一実施形態は、以下で図11を参照して概説される。
一般的に言えば、リモートデバイス参考情報アクセサリ400は、計測システムパートプログラムに関連し、アクセサリ管理部300に接続可能な(例えば、ネットワーク及び/又はBluetooth(登録商標)若しくはWiFiなどの無線接続又は同様のものを通じて)参考情報の生成及び/又は格納が可能ないかなるデバイスでもよい。しかし、上記で概説したように、プログラム可能な計測システムのユーザは、計測システムの専用の又は特別に構成されたアクセサリではなく、ユーザが熟知しているパーソナルコンピューティングデバイス及び/又はファイル記憶装置(例えば、タブレット、スマートフォン又は同様のもの)を持ち歩くことが多い。そのようなパーソナルコンピューティングデバイス及び/又はファイル記憶装置は、ユーザが熟知しており、且つパートプログラムを作成しながら追加の参考情報を生成するために使用したくなるであろう、カメラ、インターネットブラウザ及び他のデバイスやプログラムを含むことが多い。いくつかの実施形態では、そのようなデバイスは、本明細書で開示される方法で特定のタイプの計測システムと対話するようにカスタマイズされたローカルに存在するアプリケーションを含むよう構成することができる。しかし、他の実施形態では、接続し易さ及び/又は使い易さを促進するため、少なくともリモートデバイスをプログラミング環境に接続することを許可する前に、リモートデバイスは、プログラム可能な計測システムのプログラミング環境と対話するようにカスタマイズされた格納プログラム又はアプリケーションを含まなくともよい。いくつかの実施形態では、リモートデバイス上に予め存在する(そして、計測システムとは通常関連付けられない)インターネットブラウザ及び/又は他のアプリケーションは、例えば、以下で図4〜10に示される例示的な実施形態を参照して概説されるように、本明細書に開示される機能及び動作を提供するために必要な機能のすべてを提供することができる。
リモートデバイス通信部410は、例えば、以下で図10に示される例示的な実施形態を参照して概説されるように、デバイス通信回路及び/又はルーチンを含み得る。リモートデバイス通信部410は、本明細書で開示されるアクセサリ管理部300の様々な機能及び動作をサポートするため、リモートデバイス参考情報アクセサリ400との通信のやり取りを提供及び/又は管理することができる。
リモートデバイス登録データ420は、例えば、以下で図6〜7に示される例示的な実施形態を参照して概説されるように、リモートデバイス参考情報アクセサリ400を特定し、本明細書で開示されるアクセサリ許可マネージャ350の様々な機能及び動作をサポートする情報及び動作を含み得る。
リモートデバイスファイルジェネレータ/マネージャ441及び/又はリモートデバイスセンサ443を含み得るリモートデバイス現行命令応答部440は、特定のパートプログラム命令表現と関連付ける、リモートデバイス参考情報アクセサリ400上で参考情報の特定のセットを準備するように動作させることができる。リモートデバイスセンサ443は、様々な実施形態では、例えば、カメラ、マイクロホン、温度センサ、振動センサ、コンパス、GPS、バーコードセンサ、RFIDセンサのうちの1つ又は複数を含み得る。準備された時点で、参考情報セットは、例えば、以下で図7、8、10及び11を参照して概説されるように、その特定のパートプログラム命令表現(例えば、現行のパートプログラム命令表現)と関連付けられたプログラミング環境に送信することができる(例えば、アクセサリ管理部300を通じて)。リモートデバイスユーザインタフェース430は、例えば、以下で図4〜8、10及び11に示される例示的な実施形態を参照して概説されるように、プログラミング環境との対話をサポートするために(例えば、アクセサリ管理部300を通じて)、コマンド、ダイアログボックス及び他の表示要素を含み得る。いくつかの実施形態では、リモートデバイスユーザインタフェース430は、本明細書で開示される機能及び動作を提供するため、ウェブページ機能、対話型ウェブページ機能又は同様のもの、並びに/あるいは、リモートデバイス上に予め存在する(そして、計測システムとは通常関連付けられない)インターネットブラウザ及び/又は他のアプリケーションの機能を含み得るか、あるいは、同機能からなり得る。しかし、そのような実施形態は、単なる例示であり、制限するものではない。いくつかの実施形態では、ユーザインタフェース機能を含むアプリケーションは、実行のためにリモートデバイス参考情報アクセサリ400にダウンロードすることができる。
図4は、本明細書で開示される原理による、計測システムのプログラミング環境で使用可能なアクセサリ管理部300(リモートデバイス参考情報アクセサリ400にリンクすることができる)及び他の要素を含む、編集部160(例えば、図2に示される編集部160として使用可能な)の例示的な一実施形態のブロック図である。図4に示されるように、編集部160は、編集動作コントローラ174、編集ユーザインタフェース部160ui、エディタコマンド部177及び実行編集部178を含む。編集動作コントローラ174は、編集機能に対する動作を制御し、編集ユーザインタフェース部160uiは、編集機能に対するユーザインタフェース機能を提供する。編集ユーザインタフェース部160uiは、プログラム表示ウィンドウ部161を含み、プログラム表示ウィンドウ部161は、表現ユーザインタフェース機能162を含み、表現ユーザインタフェース機能162は、ノードユーザインタフェース機能163及び参考情報ユーザインタフェース機能164を含む。一実施形態では、プログラム表示ウィンドウ内のパートプログラム表現は、木構造で提供することができる。表現ユーザインタフェース機能162は、コンテキストの状態や、コンテキストがどのように入手されたか(例えば、コンテキストが、代理データから生成されたか、実際の実行によって生成されたかなど)に応じて色を変更することができる挿入ポインタなどの機能を提供する。ノードユーザインタフェース機能163に関し、一実施形態では、これらの機能は、命令表現「ノード」がアクティブな現行(カレント)ノードであるかどうかなどを示すため(すなわち、それが、ユーザインタフェースの現行の動作による影響を受けるターゲットであることを示すため)、アイコン又はブロークンアイコンや、色のハイライトなどの機能を含み得る。いくつかの例示的な参考情報ユーザインタフェース機能164を含む、編集ユーザインタフェース部160ui及びプログラム表示ウィンドウ部161の様々な機能のいくつかの例示的な実施形態については、例えば、以下で図5、6、8及び9に関してより詳細に説明される。
編集実行部178は、編集プロセス中の様々な実行モードを担当し、代理モード部180と、実モード部191と、編集実行ユーザインタフェース機能部192とを含む。代理モード部180が代理実行モードを動作させるとき、継続的な編集動作のためのコンテキストを生成するために代理データが利用される。実モード部191は、従来のマシンビジョンシステムによって従来行われている動作を含む。実モード部191は、必要時に、実際マシン動作を行うために代理モード部180によって呼び出される。編集実行ユーザインタフェース機能192は、編集機能の実行に関するユーザインタフェース機能(例えば様々な実行動作のステータスに関する表示、例えば、パートプログラムのどの部が代理データを利用しているか、又は実際の実行動作によって実行されているかなどを示すカラーコード)を提供する。さらに、編集実行部178の要素は、’232出願及び’061出願において同様に論述、記載、及び/又は参照されている要素であるそれらの類似又は実質的に同様の対応する要素の説明に基づいて理解することができる。
エディタコマンド177は、’232出願で詳細に説明されるセグメント実行部177a、修正部177b及び挿入/付加部177cと、一実施形態では、以下で(例えば、図5〜9を参照して)さらに詳細に説明される原理に従って動作させることができる参考情報追加部177dとを含む。
アクセサリ管理部300は、アクセサリ動作ユーザインタフェース310、アクセサリデータマネージャ320、ノード関連付け部330、アクセサリ通信マネージャ340及びアクセサリ許可マネージャ350を含む。アクセサリ管理部300及びその様々な要素については、すでに図3を参照して概説しており、さらに図を参照して後述するので、ここでさらに説明する必要はない。図4に示されるように、リモートデバイス参考情報プログラミングアクセサリ400は、アクセサリ通信マネージャ340を通じてアクセサリ管理部300と通信するためにリンクすることができ(例えば、以下で図5〜7及び図10を参照して説明されるように)、それにより、編集部160によって提供されるプログラミング環境のアクセサリパートとなり得る。リモートデバイス参考情報アクセサリ400は、リモートデバイス通信部410、リモートデバイス登録データ420、リモートデバイスユーザインタフェース430及びリモートデバイス現行命令応答部440を含み得、リモートデバイス現行命令応答部440は、図4に示される実施形態では、リモートデバイスファイルジェネレータ/マネージャ441及び/又はリモートデバイスセンサ443を含み得る。リモートデバイス参考情報アクセサリ400及びその様々な要素については、すでに図3を参照して概説しており、さらに図を参照して後述するので、ここでさらに説明する必要はない。
図5は、本明細書で開示される原理による、リモートアクセサリから参考情報を追加することに関連する機能を含む、計測システムのプログラミング環境の一実施形態を含む学習モードユーザインタフェース550の第1の状態の図500である。図5に示される実施形態では、プログラミング環境の第1の状態は、メニューバー553、ツールバー555、ツールバー560、ステージ位置表示570、視野表示580、パートプログラム表示ウィンドウ161w(本明細書のいくつかのコンテキストでは編集ウィンドウ161wとも呼ばれる)、コマンドメニューボックス177mb及び参考情報源メニューボックス310mbを含む。パートプログラム表示ウィンドウ161wは、パートプログラム命令表現セット162irを含み、パートプログラム命令表現セット162irは、現行命令表現162cirを含み、現行命令表現162cirは、ポインタ162pの位置によって現在アクティブな命令表現として示すことができる。図では、現行命令表現162cirを分かりやすくするために、囲み枠で示している。ツールバー555は、ユーザインタフェース550の上側に水平に配置された様々なユーザツール(例えば、測定ビデオツール)を含む。ツールバー560は、ユーザインタフェース550の右側に垂直に配置されたユーザツール(例えば、アラインメント及び拡大ツール)を含む。ステージ位置表示570は、ステージ32の位置を示すX、Y及びZ座標を表示する。視野表示580は、カメラ260によって撮像されたマシンビジョン検査システム100の視野のリアルタイムビデオ画像を表示することができ、参考までに、ユーザによって定義及び記録される際に円ツール関心領域581(例えば、命令表現162irに含まれる「円ツール」命令表現に相当する)が現れる位置の輪郭を点線で概略的に表示する。ユーザインタフェース550は、’232出願及び’061出願で説明されているものに対応する要素を有し、その様々な要素は、それらの出願における記述に基づいてさらに理解することができる。
図5に示されるプログラミング環境の第1の状態では、ユーザは、まず命令表現162cir「測定用にセットアップする」を選択して、それを現行命令表現とし、そして、その命令表現と関連付けてコマンドメニューボックス177mbを出現させるユーザ入力を入力している(例えば、命令表現162cirをマウスオーバーしながら、マウスボタンを「右クリック」することによって)。次いで、ユーザは、「参考情報を追加する」コマンド177dを選択し、そのコマンドと関連付けて参考情報源メニューボックス310mbを出現させるユーザ入力を入力している(例えば、上記で概説される「右クリック」動作を使用することによって)。図5に示される実施形態では、参考情報源メニューボックス310mbは、「ローカルをブラウズする」(例えば、ローカルの計測システムに位置する所望の参考情報ファイルの検索にファイルブラウザを使用するため)、「リモートアクセサリから現行情報セットを送信する」(例えば、以下で図7Cを参照して説明される、リモートデバイス情報アクセサリ400に位置する「現行命令に送信する」ボタン431sと同等である)及び「リモートアクセサリを許可する」(例えば、参考情報をプログラミング環境に送信することが未だ許可されていないユーザのパーソナルデバイスなどのリモートデバイスから参考情報を入手することが望まれる際)のうちの1つを選択するボタンを含む。ユーザは、以下で図6を参照して説明されるように、リモートデバイス許可を起動する一方法として、メニューから「リモートアクセサリを許可する」動作を選択することができる。
図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は、リモートデバイスの存在及び/又はアドレスについての通知を受け、リモートデバイス上に表示するウェブページを送信するよう構成される(例えば、図7Bに示されるように)。アクセサリ管理部300とリモートデバイスとの間の通信は、例えば、以下で図10を参照して概説される方法を使用して実施することができる。ここで説明する例では、表示された命令352は、特定の許可コード352a(アクセサリ管理部300によって生成される)を、送信されたウェブページに含まれるコードエントリボックス(例えば、図7Bに示されるコードエントリボックス431b)に入力するようにユーザに指示する。ユーザは、一般に、自分のリモートデバイスを手にした状態で計測システムのところに居るため、このことは、容易に達成される。
様々な実施形態では、リモートデバイス許可ダイアログボックス350dbは、計測システム及び/又はアクセサリ管理部300によって検出されたリモートデバイスに対する1つ又は複数のリモートデバイス状態ボックス353を含み得、リモートデバイス状態ボックス353は、それぞれのリモートデバイス(例えば、ネットワーク上でのリモートデバイスの識別子及び/又はリモートデバイスのアドレス)及びそれらの許可状態などを表示することができる。リモートデバイス状態ボックス353は、例えば、リモートデバイスがBluetooth(登録商標)接続などを通じて計測システムに直接接続される際に特に有益なものであり得る。
図7A〜7Cは、そのリモートデバイスを計測システムプログラミング環境との対話のために接続することを許可し、プログラミング環境における現行命令表現に参考情報セットを追加するためにリモートデバイス参考情報アクセサリ400上で使用可能な、ユーザインタフェース機能及び動作の一実施形態の第1、第2及び第3の状態のそれぞれを示す。図7Aは、タッチスクリーンディスプレイ400dを含むリモートデバイス参考情報アクセサリ400(例えば、スマートフォン)を示し、タッチスクリーンディスプレイ400dは、ユーザインタフェース430を提供し、ユーザインタフェース430は、アドレスバー430abを提供するインターネットブラウザインタフェースを含む。図7Aに示される第1の状態は、ユーザが、リモートデバイス400を、図6のユーザインタフェース550を表示している計測システムを含むネットワークに接続し、図6に示される表示された命令351(計測システムと関連付けられた特定のアドレス351aを、リモートデバイス上のユーザのインターネットブラウザのアドレスバーに入力するようにユーザに指示する)に従った場合を示している。
図7Bは、図7Aに概説されるように、ユーザが特定のアドレス351aを入力して接続した後のリモートデバイス400の第2の状態を示す。アドレス入力に応答して、アクセサリ管理部300は、リモートデバイス400の存在及び/又はアドレスについての通知を受け、図7Bに示されるようにリモートデバイス上に表示するウェブページ431wpを送信する。ここで説明される例では、ウェブページ431wpは、命令431aを含み、命令431aは、特定の許可コード352a(図6に示される)をコードエントリボックス431bに入力する(その結果、コードは、アクセサリ管理部300のアクセサリ許可マネージャ350に返信される)ようにユーザに指示する。ユーザは、一般に、自分のリモートデバイスを手にしながら計測システムのところに居り、計測システム及びリモートデバイスの各々のディスプレイを観察し得るため、このことは、容易に達成される。アクセサリ許可マネージャ350は、リモートデバイス400から受信したコードを特定の許可コード352aと比較するよう構成される。それらのコードが一致すれば、アクセサリ許可マネージャ350は、リモートデバイス400が計測システムのプログラミング環境と対話し、本明細書で開示される様々な動作及び機能を実施することを許可する(例えば、図7C及び8を参照して説明されるようになど)。これは、工場のイントラネットやネットワークなどに他のリモートデバイス及び/又は計測システムが存在していても、自分のローカルパーソナルデバイスをローカルの計測システムにのみに接続する確実な方法をローカルユーザに提供する例示的な一方法である。
図7Cは、リモートデバイス400がアクセサリ管理部300を通じて計測システムのプログラミング環境との対話を許可された後のリモートデバイス400の第3の状態を示す。対話が許可されると、アクセサリ管理部300は、1つ又は複数の追加の「許可された」ウェブページ431awpをリモートデバイス400に送信することができる。図7Cに示される実施形態では、許可されたウェブページ431awpは、現行命令表現表示部431d、現行命令応答部440ui、「現行命令に送信する」ボタン431s及びサインアウトボタン431x(アクセサリ管理部300からのリモートデバイスの切断及び/又はその許可の終了に使用することができる)を含む。図7Cに示される実施形態では、現行命令表現表示部431dは、プログラミング環境における(現在アクティブな)現行命令表現の画像、再現又は他の表現を含む現行命令表現表示431cir(例えば、図5の編集ウィンドウ161wに示される現行命令表現162cir)と、その周囲の命令表現431irとを含む。現行命令表現表示部431dは、計測システムのプログラミング環境における(現在アクティブな)現行命令表現のいかなる変化も反映するため、アクセサリ管理部300によって頻繁に更新することができる。現行命令表現表示部431dの図示の形態は、単なる例示であり、これに限定するものではない。他の実施形態では、リモートデバイス400上の現行命令表現表示は、リモートデバイス400によって提供される参考情報に対するターゲットノードをユーザが視認しやすくなるような任意の形態での、現行命令表現のみの単なる再現、又はそのノード番号(プログラミング環境にも表示することができる)などでよい。その上、いくつかの実施形態では、現行命令表現はプログラミング環境自体に示され、ユーザは両方のデバイスの表示を見ることができるため、リモートデバイス400上の現行命令表現表示は、単に省略することができる。しかし、そのような実施形態は、ユーザにとって多少効率の悪いものであり得る。
図7Cに示される実施形態では、現行命令応答部440uiは、動作選択ボタン440os及び参考情報確認部441uiを含む。動作選択ボタン440osは、カメラ選択ボタン及びペーストボタンを含む。この例では、所望の参考情報ファイルがリモートデバイス400上に既に存在する場合、ユーザは、単に、リモートデバイスのネイティブ(元々備わっている)プログラム又はアプリケーションを使用して、その参考情報ファイルを位置付けてコピーすることも、その参考情報ファイルにリンクすることもできる(すなわち、ユーザは、例えば、ウェブページ431awpを一時的に最小化することによってリモートデバイスの他の能力を使用することができる)ことが想定される。そのような事例では、ファイルがリモートデバイスのクリックボードなどにコピー又はリンクされると、ウェブページ431awpに戻って、当該ファイルをペーストする、又はリモートデバイス400内の現行命令表現と関連する参考情報ファイルのリストにリンクするために、ペーストボタンが操作される。そのリストに含まれる参考情報ファイルは、参考情報確認部441uiの表示枠内に表示することができる(例えば、ファイル名、サムネイル画像、アイコン又は同様のもののリストとして)。現行命令に送信するボタン431sは、ファイルリスト内の参考情報セットに対応するデータをアクセサリ管理部300に送信するためにいつでも使用することができる。次いで、アクセサリデータマネージャ320は、リモートデバイス400から受信した特定の参考情報セットを現行のパートプログラム命令表現と関連付け、パートプログラム及び現行のパートプログラム命令表現及び/又はその基本的なパートプログラム命令とのその関連性をサポートするようにそれを格納することができる。ここで概説した様々な動作は、前述したファイルジェネレータ/マネージャ441と関連付けることができることが理解されよう。所望の参考情報ファイルがリモートデバイス400上に未だ存在せず、画像が参考情報ファイルとして望まれる場合、要素440osのカメラボタンを操作して、ウェブページ431awpを最小化すること、並びに/又は、リモートデバイス400上に既に存在する画像取得及び格納機能にアクセスすることができることが理解されよう。次いで、結果として得られた画像は、上記で概説したように、参考情報ファイルとして取り扱うことができる。もちろん、他のセンサ機能がリモートデバイス400に存在する場合は、これらの機能にアクセスして使用し、類似の方法で参考情報を提供することができる。
いくつかの実施形態では、図7A〜7Cを参照して上記で概説されるリモートデバイス400の機能及び動作は、ウェブページ機能、対話型ウェブページ機能など、並びに/あるいは、リモートデバイス上に予め存在する(そして、計測システムとは通常関連付けられない)インターネットブラウザ及び/又は他のアプリケーションを使用して実装することができる機能を含み得るか、あるいは、同機能のみからなり得る。このように、熟練していないユーザが、リモートデバイス参考情報アクセサリ400としてパーソナルデバイスを容易に使用することができ、特別なトレーニングが不要であり、ユーザのパーソナルデバイスに対する大した妨害もないという非常に望ましい利益を伴う。しかし、そのような実施形態は、単なる例示であり、これに限定するものではない。いくつかの実施形態では、ユーザインタフェース機能を含むアプリケーションを、実行のためにリモートデバイス参考情報アクセサリ400にダウンロードすることができる。
図8は、現行命令表現と関連付けられた参考情報セットを追加することに関連する機能を含む、計測システムのプログラミング環境の一実施形態を含む学習モードユーザインタフェース550の第3の状態の図800である。図8に示されるプログラミング環境の第3の状態では、ユーザは、上記で図5、6及び7A〜7Cを参照して概説した動作を実行しており、同動作は、リモートデバイス400からアクセサリ管理部300に参考情報セットを送信する動作と、パートプログラム及び現行命令表現(及び/又はその対応する基本的なパートプログラム命令)とのその関連性をサポートするように計測システムにそれを格納する動作とを含む。具体的には、図8に示される例では、現行命令表現162cirと関連付けられた参考情報セットを格納する動作の完了と同時に、参考情報インジケータ又はフラグ164rif(ユーザインタフェース機能)が、現行命令表現162cirの最も近くに「添付」される。その特定の命令表現の最も近くへのフラグ164rifの添付は、当該命令表現がもはや現行命令表現ではなくなる際並びに/又は編集ウィンドウ161wにおいてビューのスクロールイン及びスクロールアウトが行われる際などにも持続する。図8に示される例は、ユーザが、参考情報ウィンドウ164wを表示させる操作を実行し終えたところである(例えば、フラグ164rifをクリックすることによって)。参考情報ウィンドウ164wは、参考情報インジケータ164rif及び/又はその関連命令表現と関連付けられた特定の参考情報ファイルセットに対応するファイルリスト又はメニュー164fmを含み得る。図8に示される実施形態では、参考情報ウィンドウ164wは、ファイルリスト又はメニュー164fmに対するスクロールバー制御164scと、ファイルリスト又はメニュー164fmから選択されたファイルのコンテンツを表示する参考情報表示部164ridとをさらに含む。参考情報ウィンドウ164wは、公知の方法に従って、サイズ変更したり、移動したり、最小化したり、閉じたりすることなどを行うことができる。あるいは、参考情報ウィンドウ164wを省略し、公知の方法に従って、適切なデフォルトプログラムで参考情報ファイルを自動的に開くことができる。
図8及び9は共に、参考情報インジケータ又はフラグ164rifの一実施形態と関連付けられたユーザインタフェース機能を示す。図8に示されるように、参考情報インジケータ164rifは、親ノード命令表現162irpnの子ノード162ircnである(例えば、「測定用にセットアップする」動作は、「円(円1)を測定する」動作のサブ動作である)命令表現162cirと関連付けられる。図9に示される学習モードユーザインタフェース550の第4の状態の図900では、ユーザは、親ノード命令表現162irpnの前に示される+/−アイコンをクリックし、その子ノードが隠れるようにその子ノードの表示を折り畳んでいる。しかし、ユーザにとって、折り畳まれた又は隠された子ノードと関連付けて参考情報が利用可能であることを知っていることが有利であり得る。したがって、様々な実施形態では、参考情報インジケータ164rifが、折り畳まれた又は隠された子ノードと関連付けられている場合、例えば、図9に示されるように、その親ノードに対して一時的な参考情報インジケータ164rif’が添付されて表示される。様々な実施形態では、一時的な参考情報インジケータ164rif’をクリックすることにより、先に概説したように、関連する参考情報セットを表示すること、並びに/又は、隠された子ノード及びそれに関連付けられている参考情報インジケータ164rifを展開して表示することができる。
図10は、ウェブサービスを使用する、アクセサリ管理部(例えば、アクセサリ管理部300)の様々な機能及び動作の例示的な一実装形態のブロック図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及びワークピースプログラムメモリ142を含む。図10に示される実施形態では、前述したリモートデバイス通信部410は、存在サービス(presence service)410PS、通知サービス(notification service)410NS及び配信サービス(delivery service)410DSを含むウェブサービス要素を含み得る。同様に、前述したアクセサリ通信マネージャ340は、存在サービス340PS、通知サービス340NS及び配信サービス340DSを含むウェブサービス要素を含み得る。前述したアクセサリ管理部300は、アクセサリ管理サービス300Sを含むウェブサービス要素を含み得る。
以下は、ウェブサービスを使用する、本発明による動作の1つの代表例である。この例は、単なる代表例であり、これに限定するものではないことが理解されよう。動作の際、リモートデバイス400は、ネットワークへの接続を確立し、ネットワークもまた、アクセサリ管理部300を含む計測システム及び/又はプログラミング環境に接続される。次いで、リモートデバイス400は、アクセサリ通信マネージャ340の存在サービス340PSにコンタクトすることができる。存在サービス340PSは、アクセサリ管理サービス300Sに情報を提供し、したがって、リモートデバイス400は、リモートデバイス400についての情報を供給するため、存在サービス340PSにコンタクトする(例えば、その結果、アクセサリ管理サービス300Sは、互換性のあるフォーマットでウェブページフォーマット及び他のデータをリモートデバイス400に供給することなどができる)。リモートデバイス400は、ネットワークに接続されていることを存在サービス340PSに通知する。リモートデバイス400は、例えば、そのデバイス登録情報をSOAPメッセージにバンドルすることができ、当該リモートデバイスのインタフェース又は表示特性などの有益な情報を含み得る。SOAPメッセージは、例えば、HTTP POST要求のボディとして存在サービス340PSに送信することができる。存在サービス340PS及び/又はアクセサリ管理サービス300Sは、SOAP要求を解凍し、情報を、アクセサリ管理部300の他の要素が理解できるデータ、命令又はコマンドに変換することができる。上記の動作の結果、まず最初に、アクセサリ管理部300は、リモートデバイス400が未だ許可されていないことを認識し、例えば、先に概説した「アクセサリを許可する」コマンドを使用してプログラミング環境のユーザがリモートデバイス400に対する許可を要求するまで、リモートデバイス400で許可される対話のタイプを制限する。次いで、アクセサリ許可マネージャ350及びアクセサリ管理部300の他の要素は、例えば、上記で図5、6、7A及び7Bを参照して概説したように、関連する許可動作を実行する。アクセサリ管理部300の要素は、アクセサリ管理サービス300Sを通じてリモートデバイス400と対話し、アクセサリ管理サービス300Sは、リモートデバイス400が理解して使用できる形式で、それらのデータ、命令又はコマンドを情報に変換し、リモートデバイス400に情報を配信するように配信サービス340DSに指示する。リモートデバイス400からの対話の応答は、配信サービス410DSによってアクセサリ管理部300に返信され、アクセサリ管理サービス300Sにおいてアクセサリ管理部300の様々な要素が理解して使用できる形式に変換される。このように、上記で図5〜8を参照して概説した動作並びに本明細書で開示される他の動作及び機能は、計測システムとは通常関連付けられない種々のリモートデバイス400を使用する際、あまり熟練していないユーザによって達成することができる。
リモートデバイス400上での現行命令表現162cirの表示に関しては、一実施形態では、前述したノードマネージャ190、ウィンドウ間自動スクロール部195及びノード関連付け部330を使用してこの表示を実装することができる。前述したように、ノードマネージャ190は、パートプログラムにおいてノードに割り当てられるノード番号(例えば、命令表現)の割り当て及び/又は管理を担う。ウィンドウ間自動スクロール部195は、ノード番号を利用して、異なるウィンドウ、ルーチン又はアプリケーションに関連パートプログラム要素及び対応する編集機能を同時に表示することができる。言い換えれば、ウィンドウ間自動スクロール部195は、それぞれのウィンドウを、関連ノード番号に対応する要素に自動的にスクロールさせる。ウィンドウ間通信の例示的な一方法及び/又は実装形態については、以下で図11を参照して説明され、ウィンドウ間自動スクロール部195は、様々な接続要素の選択イベントSEについて通知を受けたときに、ノード関連付け部330を含む様々な接続要素に自動スクロール通知ASを送信する。例えば、選択イベントSEは、ユーザが現行(現在アクティブな)命令表現162cirを新しい又は異なる命令表現に変更するたびに、プログラム表示ウィンドウ161wで起こる。自動スクロール通知ASの受信に応答して、ノード関連付け部330は、その「現行ノード番号」を更新し、アクセサリ管理サービス300Sを通じて、リモートデバイス400から送信され、アクセサリデータマネージャ320によって受信された新規の参考情報セットは全て、その新しい現ノード番号と関連付けるべきであることをアクセサリデータマネージャ320に通知することができる。それに加えて、ノード関連付け部330は、新しい現行命令表現を示す更新表示(例えば、更新ウェブページ又はウェブページ要素)をリモートデバイス400に送信するように、アクセサリ動作ユーザインタフェース機能310に通知することができる。次いで、アクセサリ動作ユーザインタフェース機能310は、必要な更新表示を準備し、正しいフォーマット及びリモートデバイス400への配信のためにアクセサリ管理サービス300Sにそれを送信することができる。いくつかの実施形態では、アクセサリ管理サービス300Sが、通知サービス340NSを使用して、そのような更新表示の配信準備ができていることをリモートデバイス400に通知し、リモートデバイス400は、進行中のネイティブ動作との互換性を有するときに、その配信を要求する。
リモートデバイス400からアクセサリ管理部300に参考情報セットを送信することに関し、前述した関連する機能及び動作は、一実施形態では、以下のように実施することができる。ユーザがリモートデバイス上で参考情報セットを準備した時点で(例えば、以前に図7Cを参照して概説したように)、ユーザは、配信を開始するため、「送信」ボタンを起動することができる。これにより、リモートデバイス400の通知サービス410NSがそのような参考情報セットの配信準備ができていることの通知をアクセサリ管理部300に発し、アクセサリ管理部300は、進行中の動作との互換性を有するときに、その配信を要求する。参考情報セットが配信されると、アクセサリ管理サービス300Sは、アクセサリデータマネージャ320及び/又はプログラミング環境で使用可能な形式で情報を準備することができる。アクセサリデータマネージャ320は、参考情報セットを現行ノード番号と関連付け、その関連性をサポートするようにワークピースプログラムメモリ142にそれを格納することができる。
様々なウェブサービス方法の実装形態に関し、膨大なウェブサービス教育文献に加えて、米国特許第7,506,059号、同第8,346,929号、同第6,732,111号及び同第8,539,061号は、図10を参照して説明した機能及び動作を提供するのに適用できる様々な方法を説明している。
図11は、ウィンドウ間自動スクロール部195によって実施することができる通信ルーチン及び/又は動作の一実施形態の機能上の概略表現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は、選択要素の識別子又はノード番号(例えば、新しい現行命令表現の識別子)を含み得、同識別子又はノード番号は、自動スクロール通知ASを通じて受け渡すことができる。前述したように、自動スクロール通知ASの受信に応答して、ノード関連付け部330は、その「現行ノード番号」を更新し、アクセサリ管理サービス300Sを通じて、リモートデバイス400から送信され、アクセサリデータマネージャ320によって受信された新規の参考情報セットは全て、その新しい現ノード番号と関連付けるべきであることをアクセサリデータマネージャ320に通知することができる。それに加えて、ノード関連付け部330は、新しい現行命令表現を示す更新表示(例えば、更新ウェブページ又はウェブページ要素)をリモートデバイス400に送信するように、アクセサリ動作ユーザインタフェース機能310に通知することができる。
一実施形態では、図11は、時として(例えばウェブページ間の通知のために使用される)XMLのような言語を使用して実装される「パブリッシャ−サブスクライバ」法を使用して実施されることがある。様々な実施形態において、パブリッシャ−サブスクライバ方法は、リストベースの方法、又はブロードキャストベースの方法、又はコンテンツベースの方法などの方法を、本明細書で開示される機能をサポートするように適合させることによって実施することができる。マシンビジョン検査システムでは、パブリッシャとサブスクライバは一般には同じ処理空間内に位置され、「サブスクライバ」ウィンドウの識別子を「パブリッシャ」が知ることができる。そのような場合に適用可能なものとして、米国特許第8,028,085号(「’085特許」)は、図11を参照して開示される機能をサポートするように適合させることができる低遅延の方法を述べている。
図12は、本明細書で開示される機能及び動作による、プログラム可能な計測システムのプログラミング環境のアクセサリ管理部を動作させるための方法の例示的な一実施形態を示すフロー図1200である。
ブロック1210では、プログラム可能な計測システムに対するプログラミング環境を含むユーザインタフェースが提供され、プログラミング環境は、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、パートプログラム表現は、命令表現を含む。
ブロック1220では、プログラミング環境のリモートアクセサリ管理部が提供され、リモートアクセサリ管理部は、アクセサリ通信部、アクセサリ許可部及びアクセサリデータ管理部を含む。
ブロック1230では、アクセサリ許可部が、リモートデバイスをプログラミング環境に接続することを許可するように動作される。
ブロック1240では、現行のパートプログラム命令表現が、プログラム編集環境及びリモートデバイスのユーザインタフェースのうちの少なくとも1つに示される。
ブロック1250では、許可されたリモートデバイスが、参考情報データセットをアクセサリデータ管理部に送信するように動作され、参考情報データセットは、現行のパートプログラム命令表現と関連付けることが意図される。
ブロック1260では、アクセサリデータ管理部が、許可されたリモートデバイスから送信される参考情報データセットを受信して格納するように動作される。
ブロック1270では、リモートアクセサリ管理部が、受信されて格納された参考情報データセットを、プログラム編集環境及びリモートデバイスのユーザインタフェースのうちの少なくとも1つに示される現行のパートプログラム命令表現と自動的に関連付けるように動作される。
前述から、本開示の特定の実施形態が例示を目的として本明細書で説明されてきたが、本発明の範囲から逸脱することなく、その様々な変更を行うことができることが理解されよう。
独占的な所有権又は特権が請求される本発明の実施形態は、以下の通り定義される。
120 制御システム部
125 コントローラ
128 電源部
130 入出力インタフェース
131 撮像制御インタフェース
132 運動制御インタフェース
133 照明制御インタフェース
134 レンズ制御インタフェース
140 メモリ
141 画像ファイルメモリ部
142 ワークピースプログラムメモリ部
142PP パートプログラム
143 ビデオツール部
143x 関心領域ジェネレータ
150 ワークピースプログラムジェネレータ及びエグゼキュータ
155 レコーダ/トランスレータ
156 学習モード部
157 実行モード部
160 編集部
160ui 編集ユーザインタフェース部
161 プログラム表示ウィンドウ部
161w プログラム表示ウィンドウ部
162 表現ユーザインタフェース機能
162cir 現行命令表現
163 ノードユーザインタフェース機能
164 参考情報ユーザインタフェース機能
174 編集動作コントローラ
177 エディタコマンド
177a セグメント実行部
177b 修正部
177c 挿入/付加部
177d 参考情報追加部
178 実行編集部
180 代理データマネージャ
185 プログラムステータスマネージャ
190 ノードマネージャ
195 ウィンドウ間自動スクロール部
197 クライアントウィンドウ部
200 ビジョン構成要素部
300 アクセサリ管理部
300’ アクセサリ管理部
300S アクセサリ管理サービス
310 アクセサリ動作ユーザインタフェース
320 アクセサリデータマネージャ
330 ノード関連付け部
340 アクセサリ通信マネージャ
340DS 配信サービス
340NS 通知サービス
340PS 存在サービス
350 アクセサリ許可マネージャ
400 リモートデバイス参考情報プログラミングアクセサリ
400’ リモートデバイス情報アクセサリ
410 リモートデバイス通信部
410 通信部
410DS 配信サービス
410NS 通知サービス
410PS 存在サービス
420 リモートデバイス登録データ
420 登録データ
430 リモートデバイスユーザインタフェース
431 編集環境対話ユーザインタフェース機能
431s 「現行命令に送信する」ボタン
431x サインアウトボタン
440 リモートデバイス現行命令応答部
441 ファイルジェネレータ/マネージャ
443 リモートデバイスセンサ
125 コントローラ
128 電源部
130 入出力インタフェース
131 撮像制御インタフェース
132 運動制御インタフェース
133 照明制御インタフェース
134 レンズ制御インタフェース
140 メモリ
141 画像ファイルメモリ部
142 ワークピースプログラムメモリ部
142PP パートプログラム
143 ビデオツール部
143x 関心領域ジェネレータ
150 ワークピースプログラムジェネレータ及びエグゼキュータ
155 レコーダ/トランスレータ
156 学習モード部
157 実行モード部
160 編集部
160ui 編集ユーザインタフェース部
161 プログラム表示ウィンドウ部
161w プログラム表示ウィンドウ部
162 表現ユーザインタフェース機能
162cir 現行命令表現
163 ノードユーザインタフェース機能
164 参考情報ユーザインタフェース機能
174 編集動作コントローラ
177 エディタコマンド
177a セグメント実行部
177b 修正部
177c 挿入/付加部
177d 参考情報追加部
178 実行編集部
180 代理データマネージャ
185 プログラムステータスマネージャ
190 ノードマネージャ
195 ウィンドウ間自動スクロール部
197 クライアントウィンドウ部
200 ビジョン構成要素部
300 アクセサリ管理部
300’ アクセサリ管理部
300S アクセサリ管理サービス
310 アクセサリ動作ユーザインタフェース
320 アクセサリデータマネージャ
330 ノード関連付け部
340 アクセサリ通信マネージャ
340DS 配信サービス
340NS 通知サービス
340PS 存在サービス
350 アクセサリ許可マネージャ
400 リモートデバイス参考情報プログラミングアクセサリ
400’ リモートデバイス情報アクセサリ
410 リモートデバイス通信部
410 通信部
410DS 配信サービス
410NS 通知サービス
410PS 存在サービス
420 リモートデバイス登録データ
420 登録データ
430 リモートデバイスユーザインタフェース
431 編集環境対話ユーザインタフェース機能
431s 「現行命令に送信する」ボタン
431x サインアウトボタン
440 リモートデバイス現行命令応答部
441 ファイルジェネレータ/マネージャ
443 リモートデバイスセンサ
Claims (20)
- プログラム可能な計測システムのプログラミング環境を動作させるための方法であって、前記プログラム可能な計測システムが、ワークピース計測部と、ワークピースを保持するためのステージと、制御部と、ディスプレイと、前記プログラム可能な計測システムの学習モード中に動作可能であるプログラミング環境を含むユーザインタフェースとを含み、前記プログラミング環境が、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、前記編集可能パートプログラム表現が、命令表現を含み、
前記方法が、
アクセサリ通信部、アクセサリ許可部及びアクセサリデータ管理部を含む、前記プログラミング環境のリモートアクセサリ管理部を提供するステップと、
リモートデバイスを前記プログラミング環境に接続することを許可するように前記アクセサリ許可部を動作させるステップと、
前記プログラミング環境及び前記リモートデバイスのユーザインタフェースのうちの少なくとも1つに現行のパートプログラム命令表現を示すステップと、
前記現行のパートプログラム命令表現と関連付けることが意図される参考情報データセットを前記アクセサリデータ管理部に送信するように前記許可されたリモートデバイスを動作させるステップと、
前記許可されたリモートデバイスから送信された前記参考情報データセットを受信して格納するように前記アクセサリデータ管理部を動作させるステップと、
前記受信されて格納された参考情報データセットを、前記プログラミング環境及び前記リモートデバイスの前記ユーザインタフェースのうちの少なくとも1つに示される前記現行のパートプログラム命令表現と自動的に関連付けるように前記アクセサリ管理部を動作させるステップと
を含む、方法。 -
前記編集ウィンドウ内に前記現行のパートプログラム命令表現に対する参考情報インジケータを表示し、当該パートプログラム命令表現が、当該パートプログラム命令表現に対して利用可能な格納済みの参考情報データセットを有することを示すステップ
をさらに含む、請求項1に記載の方法。 - 前記参考情報インジケータが表示されたパートプログラム命令表現が子ノードであり、その子ノードの親ノードが、その子ノードが隠れるように前記編集ウィンドウで折り畳まれている場合に、前記親ノードの前記パートプログラム命令表現に対して前記参考情報インジケータを自動的に表示するステップ
をさらに含む、請求項2に記載の方法。 - 前記参考情報インジケータに対応する前記格納済み参考情報データセットの表示に使用可能な動作を起動するように前記参考情報インジケータを動作させるステップ
をさらに含む、請求項2に記載の方法。 - 前記受信されて格納された参考情報データセットを前記現行のパートプログラム命令表現と自動的に関連付けるように前記アクセサリ管理部を動作させるステップと併せて、前記編集ウィンドウ内に前記現行のパートプログラム命令表現に対する前記参考情報インジケータを自動的に表示させる、請求項2に記載の方法。
- 参考情報データセットを前記アクセサリデータ管理部に送信するように前記許可されたリモートデバイスを動作させるステップが、前記リモートデバイスのユーザインタフェース機能が操作されることによって、前記参考情報データセットを送信するステップを含み、その参考情報データセットの送信又は受信に関し、前記プログラミング環境でのユーザインタフェースの操作を必要としない、請求項1に記載の方法。
- 前記現行のパートプログラム命令表現を示すステップは、前記プログラミング環境と前記リモートデバイスの前記ユーザインタフェースの両方に前記現行のパートプログラム命令表現を示す、請求項1に記載の方法。
- 前記アクセサリ許可部が、前記プログラミング環境に表示された許可ユーザインタフェースを含み、前記許可ユーザインタフェースが、前記リモートデバイスに含まれるウェブブラウザを使用して実行すべき命令を含む、請求項1に記載の方法。
- 前記アクセサリ許可部が、前記リモートデバイスに含まれる前記ウェブブラウザを使用して表示されるユーザインタフェース機能を含む、請求項8に記載の方法。
- 前記リモートデバイスのユーザインタフェースに前記現行のパートプログラム命令表現を示すステップをさらに含み、当該ユーザインタフェースが、前記アクセサリ通信部を使用して提供され、前記リモートデバイスに含まれるウェブブラウザを使用して表示されるユーザインタフェース機能を含む、請求項1に記載の方法。
- 少なくとも前記リモートデバイスの前記プログラミング環境に接続することの許可前に、前記リモートデバイスは、前記プログラム可能な計測システムの前記プログラミング環境と対話するようにカスタマイズされた格納プログラム又はアプリケーションを含まない、請求項1に記載の方法。
- 前記許可後も、前記リモートデバイスは、前記プログラム可能な計測システムの前記プログラミング環境と対話するようにカスタマイズされた格納プログラム又はアプリケーションを含まない、請求項11に記載の方法。
- 前記リモートデバイスと、前記プログラム可能な計測システムの前記プログラミング環境との間の対話が、ウェブサービスを使用して実施される、請求項12に記載の方法。
- 少なくとも前記許可前に、前記リモートデバイスと、前記プログラム可能な計測システムの前記プログラミング環境との間の対話が、ウェブサービスを使用して実施される、請求項11に記載の方法。
- 前記リモートデバイスは前記プログラム可能な計測システム専用ではないポータブルデバイスであり、
前記リモートデバイスを、前記プログラム可能な計測システムへの接続に使用可能なネットワークに接続するステップをさらに含む、請求項1に記載の方法。 - 前記リモートデバイスが、デジタルカメラ、スマートフォン及びポータブルコンピュータのうちの1つである、請求項15に記載の方法。
- プログラム可能な計測システムであって、ワークピース計測部と、ワークピースを保持するためのステージと、制御部と、ディスプレイと、前記プログラム可能な計測システムの学習モード中に動作可能であるプログラミング環境を含むユーザインタフェースとを含み、前記プログラミング環境が、編集ウィンドウ内のパートプログラム命令の編集可能パートプログラム表現を含み、前記編集可能パートプログラム表現が、命令表現を含み、
前記プログラミング環境が、リモートアクセサリ管理部をさらに含み、
前記リモートアクセサリ管理部が、
リモートデバイスと通信するよう構成されたアクセサリ通信部と、
前記リモートデバイスを前記プログラミング環境に接続することを許可するよう構成されたアクセサリ許可部と、
前記許可されたリモートデバイスからの参考情報データセットを受信して格納するよう構成されたアクセサリデータ管理部と
を含み、
前記リモートアクセサリ管理部は、許可されたリモートデバイスが前記参考情報データセットを前記アクセサリデータ管理部に送信する際、前記参考情報データセットが、前記プログラミング環境及び前記リモートデバイスのユーザインタフェースのうちの少なくとも1つに示される現行のパートプログラム命令表現と自動的に関連付けられるように構成される、プログラム可能な計測システム。 -
前記計測システムの前記ユーザインタフェースは、前記現行のパートプログラム命令表現に対して前記編集ウィンドウ内に表示され、当該パートプログラム命令表現が、当該パートプログラム命令表現に対して利用可能な格納済みの参考情報データセットを有することを示す参考情報インジケータを含み、
前記計測システムの前記ユーザインタフェースは、前記リモートデバイスのユーザインタフェース機能が前記参考情報データセットを前記アクセサリデータ管理部に送信するように操作されると、その参考情報データセットの送信又は受信に関連し、前記プログラミング環境でのユーザインタフェースの事前操作を必要とせずに、前記受信されて格納された参考情報データセットを前記現行のパートプログラム命令表現と自動的に関連付けるように前記アクセサリ管理部を動作させると共に、前記編集ウィンドウ内に前記現行のパートプログラム命令表現に対する前記参考情報インジケータが自動的に表示されるように構成される、請求項17に記載のプログラム可能な計測システム。 - 前記リモートアクセサリ管理部が、
前記リモートデバイスが、前記プログラム可能な計測システム専用ではないポータブルデバイスであり得るように、かつ、
少なくとも前記リモートデバイスの前記プログラミング環境に接続することの許可前に、前記リモートデバイスが、前記プログラム可能な計測システムの前記プログラミング環境と対話するようにカスタマイズされた格納プログラム又はアプリケーションを含む必要がないように
構成される、請求項17に記載のプログラム可能な計測システム。 - 前記リモートアクセサリ管理部が、
前記リモートデバイスのユーザインタフェースが、前記アクセサリ通信部を使用して提供され、前記リモートデバイスに含まれるウェブブラウザを使用して表示されるユーザインタフェース機能を含むように、かつ、
前記リモートデバイスと、前記プログラム可能な計測システムの前記プログラミング環境との間の対話は、ウェブサービスを含む要素を使用して実施されるように
構成される、請求項19に記載のプログラム可能な計測システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/137,969 | 2013-12-20 | ||
US14/137,969 US20150178484A1 (en) | 2013-12-20 | 2013-12-20 | Remote Accessory Management in a Programming Environment for a Progammable Metrology System |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015143980A true JP2015143980A (ja) | 2015-08-06 |
Family
ID=53275603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014257678A Pending JP2015143980A (ja) | 2013-12-20 | 2014-12-19 | プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150178484A1 (ja) |
JP (1) | JP2015143980A (ja) |
CN (1) | CN104731021A (ja) |
DE (1) | DE102014224273A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016209557B4 (de) * | 2016-06-01 | 2022-03-31 | Carl Zeiss Industrielle Messtechnik Gmbh | Verfahren zur Identifizierung eines Werkstücks, Ermitteln eines Messablaufs und Vermessung eines Werkstücks mit einem Messgerät |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
US7506059B2 (en) | 2001-10-26 | 2009-03-17 | Nokia Corporation | Mobile client provisioning web service |
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 |
US7251580B2 (en) | 2003-10-20 | 2007-07-31 | Mitutoyo Corporation | Method for measuring curved surface of workpiece, program and medium thereof |
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 |
US7454053B2 (en) | 2004-10-29 | 2008-11-18 | Mitutoyo Corporation | System and method for automatically recovering video tools in a vision system |
US8028085B2 (en) | 2005-06-03 | 2011-09-27 | Microsoft Corporation | Optimizing message transmission and delivery in a publisher-subscriber model |
US7494062B2 (en) * | 2006-11-17 | 2009-02-24 | Ncr Corporation | Secure reader for use in data management |
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 |
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 |
-
2013
- 2013-12-20 US US14/137,969 patent/US20150178484A1/en not_active Abandoned
-
2014
- 2014-11-27 DE DE102014224273.8A patent/DE102014224273A1/de not_active Withdrawn
- 2014-12-16 CN CN201410781526.8A patent/CN104731021A/zh active Pending
- 2014-12-19 JP JP2014257678A patent/JP2015143980A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
US20150178484A1 (en) | 2015-06-25 |
DE102014224273A1 (de) | 2015-06-25 |
CN104731021A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6449643B2 (ja) | プログラム可能な計測システムのためのカスタマイズされて同期された参照メモを生成するためのリモートアクセサリ | |
JP3827092B2 (ja) | 制御システム設定装置および制御システム設定方法ならびに設定プログラム | |
JP6386540B2 (ja) | 動作コンテキストを意識したコピーアンドペースト機能を含むマシンビジョンシステムプログラム編集環境 | |
Tzimas et al. | Machine tool setup instructions in the smart factory using augmented reality: a system construction perspective | |
US20060206827A1 (en) | Live graphical user interface builder | |
US20040032433A1 (en) | Representing unspecified information in a measurement system | |
CN105740153A (zh) | 云测试方法及装置 | |
JP2021528777A (ja) | 拡張現実を用いた自動動的診断ガイド | |
CN110050237A (zh) | 数据收集装置、数据收集方法及程序 | |
JPH10315171A (ja) | ロボット情報処理装置 | |
US8117042B2 (en) | Communication and interface support system | |
EP3259679A1 (en) | An automatically invoked unified visualization interface | |
JP5740634B2 (ja) | 自動操作システム及び操作自動化方法 | |
EP3761127B1 (en) | Display device, screen generation method, and screen generation program | |
Klimant et al. | Augmented reality solutions in mechanical engineering | |
JP2015143980A (ja) | プログラム可能な計測システムに対するプログラミング環境におけるリモートアクセサリ管理 | |
JP2019003492A (ja) | 機器管理装置、機器管理プログラム、および記録媒体 | |
JP2020060855A (ja) | 開発支援プログラム、開発支援装置、および開発支援方法 | |
Stone et al. | 1Augmented Reality Interface For Industrial Robot Controllers | |
CN105677365B (zh) | 一种在线软件开发方法及系统 | |
US20230342366A1 (en) | Operating assistance system and operating assistance method | |
JP2002344961A (ja) | 画面構成方法、画面構成装置、及び画像表示システム | |
WO2023224030A1 (ja) | 情報処理方法、情報処理装置、及び情報処理プログラム | |
Miranda | Teaching ros2 with a minimalistic mobile robot | |
JP2023051499A (ja) | 二次元コード生成装置、制御システム、二次元コード生成方法及びプログラム |