IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フル スピード オートメーション,インコーポレイテッドの特許一覧

特表2023-547855コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器
<>
  • 特表-コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器 図1
  • 特表-コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器 図2
  • 特表-コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器 図3
  • 特表-コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-14
(54)【発明の名称】コードを書くことなしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステム及び機器
(51)【国際特許分類】
   G06F 8/34 20180101AFI20231107BHJP
   G05B 19/05 20060101ALI20231107BHJP
【FI】
G06F8/34
G05B19/05 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023524571
(86)(22)【出願日】2021-10-21
(85)【翻訳文提出日】2023-06-16
(86)【国際出願番号】 US2021055966
(87)【国際公開番号】W WO2022087212
(87)【国際公開日】2022-04-28
(31)【優先権主張番号】63/094,869
(32)【優先日】2020-10-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Linux
2.PYTHON
3.JAVASCRIPT
4.VISUAL BASIC
(71)【出願人】
【識別番号】523135610
【氏名又は名称】フル スピード オートメーション,インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】ルロワ,ラック
【テーマコード(参考)】
5B376
5H220
【Fターム(参考)】
5B376BC43
5B376FA07
5B376GA13
5H220AA01
5H220BB18
5H220CC07
5H220GG03
5H220GG14
5H220JJ12
5H220JJ17
(57)【要約】
統合開発環境又は統合開発環境へのプラグインは、自動化制御コンポーネント用のコマンドを顕在化させるためのソースコードを自動で生成するように構成されるソースコード生成モジュールを含む。グラフィカルユーザインタフェースは、互いにインタフェースされる及びソースコード生成モジュールにリンクされる自動化制御コンポーネントを表す視覚的コンポーネントを有する。如何なるソースコードも書く又は編集する必要なしに複数のイベントハンドラを実装できるように、統合開発環境はコンポーネントインタフェースの修正を可能にする。統合開発環境を使用してプロジェクト内にコンポーネントをインスタンス化することが、コンポーネントから通信チャネルへの信号を捕捉しブロードキャストする、インタフェースによって要求に応じて宣言されるソースコードの生成を自動化する。ウェブアプリケーションがコントローラから受信される各信号のテレメトリデータを表すためのグラフ又は表を自動で作成する。
【特許請求の範囲】
【請求項1】
自動化制御コンポーネントに対応する1つ又は複数の視覚的要素を表示するグラフィカルユーザインタフェースと、
イベントハンドラとして使用可能な関数により前記自動化制御コンポーネント用のコマンドを顕在化させるためのソースコードを自動で生成するように構成されるソースコード生成モジュールと
を含む、統合開発環境。
【請求項2】
前記イベントハンドラに関するソースコードを書く又は編集する必要なしに複数の前記イベントハンドラの処理を可能にするために、前記自動化制御コンポーネントに関連するインタフェースの修正を可能にする、請求項1に記載の統合開発環境。
【請求項3】
前記グラフィカルユーザインタフェースが、前記自動化制御コンポーネントに対応する前記視覚的要素の追加、除去、又は修正を可能にする、請求項1に記載の統合開発環境。
【請求項4】
プロジェクト内に前記自動化制御コンポーネントをインスタンス化することが、前記自動化制御コンポーネントから通信チャネルへの信号を捕捉しブロードキャストするソースコードを自動で生成し、前記自動化制御コンポーネントから生じる自動化されたテレメトリを可能にする、請求項1に記載の統合開発環境。
【請求項5】
各信号のテレメトリデータの視覚的表現を自動で作成するように構成されるウェブアプリケーションを含み、前記テレメトリデータは前記自動化制御コンポーネントから生じる前記テレメトリに関連する、請求項4に記載の統合開発環境。
【請求項6】
前記信号が前記自動化制御コンポーネントに関連するプログラム可能ロジックコントローラから受信される、請求項5に記載の統合開発環境。
【請求項7】
前記ウェブアプリケーションがテレメトリサーバと通信するウェブサーバによってホストされ、前記テレメトリサーバは前記信号を捕捉及びブロードキャストする、請求項5に記載の統合開発環境。
【請求項8】
統合開発環境のためのプラグインであって、
自動化制御コンポーネントに対応する1つ又は複数の視覚的要素を表示するグラフィカルユーザインタフェースと、
イベントハンドラとして使用可能な関数により前記自動化制御コンポーネント用のコマンドを顕在化させるためのソースコードを自動で生成するように構成されるソースコード生成モジュールと
を含む、プラグイン。
【請求項9】
前記イベントハンドラに関するソースコードを書く又は編集する必要なしに複数の前記イベントハンドラの処理を可能にするために、前記自動化制御コンポーネントに関連するインタフェースの修正を可能にする、請求項8に記載のプラグイン。
【請求項10】
前記グラフィカルユーザインタフェースが、前記自動化制御コンポーネントに対応する前記視覚的要素の追加、除去、又は修正を可能にする、請求項8に記載のプラグイン。
【請求項11】
プロジェクト内に前記自動化制御コンポーネントをインスタンス化することが、前記自動化制御コンポーネントから通信チャネルへの信号を捕捉しブロードキャストするソースコードを自動で生成し、前記自動化制御コンポーネントから生じる自動化されたテレメトリを可能にする、請求項8に記載のプラグイン。
【請求項12】
各信号のテレメトリデータの視覚的表現を自動で作成するように構成されるウェブアプリケーションを含み、前記テレメトリデータは前記自動化制御コンポーネントから生じる前記テレメトリに関連する、請求項11に記載のプラグイン。
【請求項13】
前記信号が前記自動化制御コンポーネントに関連するプログラム可能ロジックコントローラから受信される、請求項12に記載のプラグイン。
【請求項14】
前記ウェブアプリケーションがテレメトリサーバと通信するウェブサーバによってホストされ、前記テレメトリサーバは前記信号を捕捉及びブロードキャストする、請求項12に記載のプラグイン。
【請求項15】
自動化制御コンポーネントをプログラミングする方法であって、
a.(i)グラフィカルユーザインタフェース及び(ii)ソースコード生成モジュールを含む統合開発環境を提供すること、
b.自動化制御コンポーネントに対応する1つ又は複数の視覚的要素を前記グラフィカルユーザインタフェースによって追加すること、
c.イベントハンドラとして使用可能な関数により前記自動化制御コンポーネント用のコマンドを顕在化させるためのソースコードを自動で生成すること、
d.前記イベントハンドラに関するソースコードを書く又は編集する必要なしに複数の前記イベントハンドラの処理を可能にするために、前記自動化制御コンポーネントに関連するインタフェースを修正すること、
e.前記自動化制御コンポーネントから通信チャネルへの信号を捕捉しブロードキャストするソースコードを自動で生成し、前記自動化制御コンポーネントから生じる自動化されたテレメトリを可能にすること、及び
f.各信号のテレメトリデータの視覚的表現を作成することであって、前記テレメトリデータは前記自動化制御コンポーネントから生じる前記テレメトリに関連する、作成すること
を含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、2020年10月21日に出願された米国仮特許出願第63/094,869号の優先権を主張する。
【0002】
技術分野
本発明は、一般に自動化制御技術に関し、具体的にはコードを書く必要なしに自動化インタフェース及びプロセスをオーサリングし開発するためのシステムに関する。
【背景技術】
【0003】
背景技術
自動化制御の分野におけるプログラム可能ロジックコントローラの導入以降、より優れた計算を可能にするより高速なマイクロプロセッサ、より大量のデータを操作するより大きく複雑なプログラムの実行を可能にするより大きく高速のメモリにより、コンピュータの機能は大幅に改善した。ネットワークの相互接続性も劇的に改善し、アナログ信号を駆動する直接線によって初期のAllen Bradleyのプログラム可能ロジックコントローラ(PLC)等のPLCに接続されていたコンポーネントは、現在はEthernet又は同様のネットワークプロトコル上でロジックコントローラと通信していることが多い。Intelプロセッサに基づき、Microsoft Windows、Linuxの様々なディストリビューション、又は同様のオペレーティングシステム等、パーソナルコンピュータ、専門ワークステーション、及びサーバ向けに設計されたオペレーティングシステムを実行可能なコンピュータシステム等のパーソナルコンピュータと同様の電子機器を人気のあるプログラム可能ロジックコントローラが今日では使用する程度にまで、プログラム可能ロジックコンピュータは時が経つにつれてコンピュータへと成長した。かかる現代のプログラム可能ロジックコントローラの人気のある例はSiemens SIMATIC又はBeckhoff CXファミリーのコントローラである。
【0004】
製造分野における要件及び慣行も同様に進化した。モデリングツールは、機器、製造ライン、及び工場の複雑さが著しく増すことを可能にした。単一のコントローラに接続される(基本的なセンサから洗練された工業用ロボットまで)数百台の装置を認めることも稀ではない。コントローラ及びコンポーネント間で転送されるデータの頻度及び量も同じ傾向をたどっている。専門コントローラに関してレイテンシがミリ秒単位で、ときとしてマイクロ秒単位で測定されることを伴う、1秒当たり転送される数百メガバイトのデータが一般的なトレードである。材料の流れ、サプライチェーン、製品品質、人的資源、及び無数の他の分野に関係するデータが、今ではコントローラ及び製造実行システムによって操作されるデータの一部である。
【0005】
人間-機械インタフェースは、歴史的に見てプログラム可能ロジックコントローラから分離され、接続されてきた。より最近では、工場における接続性が高まりサーバの使用が増えたことを受けて、プログラム可能ロジックコントローラから情報を直接又は間接的に受信するサーバにこれらのインタフェースを接続することができ、人間-機械インタフェースは主にコンピュータディスプレイ上のユーザインタフェースで構成される。
【0006】
ことによると製造現場の外部のサーバ上に、及び時として分散システム上にホストされる製造実行システムを見つけることもよくある。製造を指揮し、材料の流れ及び他のシステムを調整するために、製造実行サーバはプログラム可能ロジックコントローラからサイクルデータを収集し、それらのコントローラにデータを送信することを担う。
【0007】
例えば品質管理に使用されるスマートカメラ又はプレゼンスセンサ等の他の装置及びシステムは、慣例的にプログラム可能ロジックコントローラから分離されるが直接接続される。工場内の接続された装置及びシステムの数がそのように増加することはネットワークインフラにわたるトラフィックの増加、及び接続を管理するための一層の複雑さを招いた。これらの接続を管理することの1つの極めて重要な側面は、多数の装置及びコンポーネントが許容時間の下で動作し得るように、工場内のネットワーク容量が十分適時にデータを転送するための帯域幅要件と連携することを確実にすることである。これはとりわけ、数マイクロ秒から数ミリ秒に及ぶ短時間のうちに動作し反応しなければならない安全装置及び遮断装置並びにコンポーネントに当てはまる。コンポーネント間の通信の性能を最適化するために、アナログだろうがデジタルだろうが接続の種類が適切に選択され得る。
【0008】
これらの接続性の要件を満たすことを助けるために、現代のプログラム可能ロジックコントローラは典型的には複数の種類の接続をサポートする。例えばコントローラのコアユニットに接続可能な通信拡張として、複数のアナログポートを利用することができる。コアコントローラはAllen-Bradley、Siemens、及びBeckhoffによってそれぞれ開発されたEthernetIP、Profinet、又はEtherCAT等の独自プロトコルを使用して、アクチュエータ、モーター、センサ、及びロボット等の殆どの自動化装置と接続する。更に、2000年代初頭以降、企業のネットワークと通信することを可能にする少なくとも1つのEthernetポートを殆どのプログラム可能ロジックコントローラが備えている。
【0009】
製造機器の実行及び安全にとって極めて重要な複数の装置とインタフェースするコントローラをプログラムするために使用する言語を選択する際、決定性が重要要件である。複雑なプログラムを素早く開発するにはPython及びjavascript等の高水準インタプリタ型言語が魅力的である。しかしそのような言語は、予測可能なタイミングでコードの実行が一貫して確実にされる保証を提供することができない。かかる言語は、ユーザインタフェース、製造自動化システム用の人間-機械インタフェースの一部を開発するには適している可能性があるが、機器及び自動化装置を指揮する及び/又はそれらとインタフェースするロジックを開発するために使用すべきではない。
【0010】
テレメトリは、自動化制御に関するもう1つの重要要件である。プロセス及び機器の状態をモニタするために、装置、プロセス、及びシステムから生じたデータを理想的には捕捉し、かかるデータの解析を可能にするために利用できるようにする。かかるデータを利用可能にする利点は、効率、品質を高め、障害を最低限に抑えるために、機器及びシステムの挙動をトラブルシュート及び診断できること並びにより十分理解できることを含む。
【0011】
より効率的な、費用効率の高い、及び発展的な自動化制御システムをもたらすために、本発明は自動化コントローラ、人間-機械インタフェースシステム、又は製造実行システム上で実行されるプログラムを作成するタスクを単純化するグラフィカルユーザインタフェースを提供する。
【発明の概要】
【課題を解決するための手段】
【0012】
発明の説明
一部の実施形態では、本発明は、マウス、キーボード、音声入力装置、ユーザからのジェスチャを受け付けるためのタッチ入力装置、ユーザによる非タッチジェスチャ及び他の動きを検出するためのモーション入力装置等の1つ又は複数のユーザ入力装置によって使用されるグラフィカルユーザインタフェースを含む統合開発環境を含む。グラフィカルディスプレイ、スピーカ、プリンタ、触覚装置等の出力装置、及び他の種類の出力装置もユーザインタフェースに含まれ得る。
【0013】
ユーザインタフェースは、モーター、センサ、スタックライト、スキャナ等の自動化制御装置を制御しそこから読み出すための1つ又は複数のコネクタを保持する組み込み型コンピュータによって実行される。一部の実施形態では、グラフィカルユーザインタフェースがWindows上で実行され、C#(Cシャープ)言語を使用してMicrosoft Visual Studio向けに開発されている。しかし、本発明に記載のグラフィカルユーザインタフェースはC++、Visual Basic等の他の言語を使用するように適合することができ、Linux等の他のオペレーティングシステム上で機能するように修正できることも認められ、理解されよう。一部の実施形態では、本発明は統合開発環境に対する拡張又は追加部分(又はプラグインと呼ばれることもある1組の拡張又は追加部分)を含み、又は一部の実施形態では独立型の統合開発環境を含むことができ、それぞれの事例でグラフィカルユーザインタフェースが顕在化される。
【0014】
図1図3は、本発明による統合開発環境の一部の典型的なコンポーネント及びインタフェースを強調する。述べたように、一部の実施形態では、プラグインと呼ばれることもある1つ又は複数の拡張が開発環境に与えられ追加される。それらの拡張は、コードを書くことも編集することもなしに自動化アプリケーションの作成及び修正を可能にするための視覚的及びプログラム上の機能を追加する。それどころか視覚的コンポーネントは、好ましくは統合開発環境のユーザインタフェースの設計者ツールを使用してユーザインタフェース内で操作される。各コンポーネントに関連するプロパティ及びイベントは、これだけに限定されないが既定値、他のローカル又はリモートコンポーネントとの対話等を含むコンポーネントの構成及び挙動の記述を可能にする。
【0015】
グラフィック指向のプログラミングツールは当技術分野で知られており、かかるツールはプログラムのユーザがアプリケーション又はシステム用のスケルトンを作成することを助けるキャンバスを作成するが、システムのコンポーネント間の所要の機能を埋めるためのコードを書くのに十分なプログラミング又は開発者の知識をユーザが有することを最終的に必要とする。他方で本発明は、ボタン、スキャナ、モーター、ライト等の物理的な装置又はコンポーネントのデジタル表現であるプログラムコンポーネントを統合開発環境に顕在化させる。各コンポーネントのプロパティが統合開発環境に提供され、標的プロジェクト用の開発環境から継承される他の既定のプロパティと共に顕在化される同じ「プロパティインタフェース」による属性の構成及びセットアップを可能にする。コンポーネントに固有の既定のプロパティは、追加コンポーネントに固有のプロパティで増補され、既定のプロパティがアクセス可能なユーザインタフェースの同じ位置で入手可能である。一部のプロパティはプログラムコンポーネントに追加され、統合開発環境によって標的プロジェクト用のユーザインタフェースに自動で顕在化されるのに対し、他のプロパティはユーザインタフェースを増補する統合開発環境への拡張を必要とする場合があり、そのため関係するプロパティを含むコンポーネントが標的プロジェクトに含まれる場合、かかるプロパティがユーザに対して顕在化される。
【0016】
グラフィカルユーザインタフェースは、プロパティ及びイベントに加えて関数及びアクションを顕在化させ利用するように構成される。イベントの事例では、統合開発環境を使用するユーザは、かかるイベントがポピュレートされるときに呼び出される空の関数(イベントハンドラと呼ばれることがある)のためのコードの生成を既定で自動化することができる。従来の設定では、かかるイベントの受信時にコンポーネントの挙動を駆動するロジックを実装するために、関数の本体を埋めるためのコードを書くことによってイベントハンドラを編集するための開発者が必要である。プロジェクトの或るコンポーネントと別のコンポーネントとの間の対話の事例では、コードを書いている開発者が他のコンポーネントの識別情報、及びかかるコンポーネントの挙動のプログラミングを可能にするインタフェースをどのように使用するのかを知る必要がある。しかし本発明は、現在編集されているソースファイルのコードに追加されるコマンド又はアクションごとに1つの関数があるように、プロジェクトに追加される全てのコンポーネントについて全てのあり得るコマンド及びアクションを扱うコードを自動で生成する。
【0017】
ユーザインタフェースに追加される自動化コンポーネントが電気モーター、より具体的には可変周波数ドライブの表現である例では、既定のアクション(停止、前進、後退)及び速度並びにモーターと通信するためにどのポート又はアドレスが使用されるのか等、電気モーターに関する既定のプロパティを顕在化させるユーザインタフェースとして拡張が用いられる。加えて、モーターのコンポーネントによって生成されるイベントが顕在化される。先述したように一部は既定であるのに対し、他の一部のものはモータードライブに固有である。例えばモーターの状態変化又は速度変化は、プログラムによって捕捉され利用され得る可能なイベントである。
【0018】
従来の設定では、既定のインタフェースはコンポーネントに関する可能な関数コマンドを顕在化させることを認めない。例えば或るイベントが発生したときにモーターを始動させたい場合、典型的にはパラメータの正しい種類及び数字並びに戻り値の正しい種類等の適当な属性で適切にフォーマットされる関数を作成し、モーターを参照しモーターに適当な情報を伝えるための1つ又は複数のメソッド又は関数を呼び出すコードを書くことによってその関数を埋める必要がある。このようにコードを書くことは、プログラミング言語及びモーターにコマンドを出すインタフェースの関数的知識をプログラマが有することを必要とする。逆に本発明は、それらの関数の本体に必要なコードを含むかかる関数を生成し、そのためコンポーネントに関してあり得る全てのアクション及びコマンドが統合開発環境のユーザインタフェース内で直接利用可能である。その結果、ユーザはイベントに対する応答としてコマンドを単純に参照することができる。例えば或るモーターが停止したときに別のモーターを始動させたい場合、かかるイベントを引き起こすモーターの所望のイベントに対する応答として呼び出すことができる関数の一覧内で、所望のモーターを始動させるための関数を見つけることができる。本発明は1つのイベントに関して複数のイベントハンドラを選択することも可能にするのに対し、従来の統合開発環境はイベントハンドラを1つだけ選択することを可能にするユーザインタフェースを顕在化させる。
【0019】
製造の自動化等の実際のビジネスプロセスは、複数のコンポーネントが互いに同時に対話することを必要とする。例えばパーツを検出することが運搬用の1つ又は複数のモーターの始動をトリガし、実行すべき幾つかのソフトウェア手続きの1つを開始し得る。自動化、とりわけ製造分野における難題は、プロセスの実行を担うコンポーネント及び装置に固有のデータを集めることである。これらのプロセスは純粋にソフトウェア、例えばデータベース内にデータを記録すること、又はモーターの状態及び回転速度、電流及び電圧の値等のハードウェアであり得る。人間のオペレータによって開始されるタスクもイベント及び記録可能なデータをもたらし、例えばネジのボルト締めはトルク値を記録するツールを使用して行われ得る。その結果、人間のアクションによって開始されるタスク又は自動化プログラムによって自動で実行されるタスクは、障害の検出、障害モードのモデリング等を可能にするために、診断、可観測性を含む複数の理由から、更にはそれらのコンポーネントの挙動を特徴付けるために記録する価値のあるデータを生成する。所与のコンポーネントに関するそれぞれの一連のデータポイントは、人間によるかかるデータの解釈を促進するために経時曲線として往々にして表現する価値のある信号を構成する。従って本発明は、開発環境内でインスタンス化されるコンポーネントのためのデータを系統的に集めるように構成される。加えて、データを集約してそれを集中又は分散ディスパッチシステムに送信するのに必要なパイプラインが自動で生成される。コンポーネントごとに、コンポーネントがその上で実行される(又はコンポーネントが接続される)コントローラが、所与のコンポーネントに固有のサーバ又は分散システムとの通信チャネルを開く。データをサブスクライブするクライアントが信号のソースをより容易に識別できるように、チャネルはコンポーネント自体にちなんで名付けられる。加えて、本発明に関連するデータサーバはコントローラから受信される信号の表示を可能にするインタフェースを自動で生成する。
【0020】
自動化コンポーネントがプロジェクトに追加されるたびに、コンポーネントに関連するコマンドにマップする関数が自動で生成され、それによりそれらの関数は統合開発環境のユーザインタフェースからインスタンス化され得る。このことはコードを編集することなしに複雑なロジック及び対話を開発できるようにし、ユーザについて必要とされるスキルがはるかに低いながらも、より素早い導入及び開発時間をもたらす。本発明の統合開発環境によって顕在化されるユーザインタフェースは、同一イベントに応答して複数のイベントハンドラを選択できるようにも改善される。ランタイム中、全てのコンポーネントからの信号が集められ自動でブロードキャストされ、コードを書く必要なしに自動テレメトリをもたらす。このことは、図4で強調するように完全なテレメトリパイプラインを全部自動で与えることをもたらす。
【0021】
本発明による統合開発環境は、如何なるコードも書く又は編集する必要なしに、自動化されたワークフローのためのプロセスを実行可能なプログラムのユーザインタフェース及びロジックの両方を設計し、実装し、開発するために使用することができる。
【0022】
図面の簡単な説明
以下の説明は、多くの異なる代替的実施形態を提供するために様々なやり方で適用され得る本開示の原理の例示に過ぎないことを当業者なら理解されよう。この説明は本開示の発明の教示の一般原理を示すために行い、本明細書で開示する発明の概念を限定することは意図しない。
【0023】
本明細書に援用し本明細書の一部を構成する添付図面は本開示の実施形態を示し、本開示の上記の全般的な説明及び以下の図面の詳細な説明と共に本開示の原理を説明する。
【図面の簡単な説明】
【0024】
図1】パーツプレゼンスセンサに関するグラフィカルユーザインタフェースの抜粋であり、このグラフィカルユーザインタフェースは本発明によって使用可能にされる。
図2】ハンドスキャナに関するグラフィカルユーザインタフェースの抜粋であり、このグラフィカルユーザインタフェースは本発明によって使用可能にされる。
図3】カスタムコントローラに関してプロジェクトがコンパイルされた後のグラフィカルユーザインタフェースの別の抜粋であり、このグラフィカルユーザインタフェースは本発明によって使用可能にされる。
図4】データ収集システム及び関係するテレメトリ制御の概略図である。
【発明を実施するための形態】
【0025】
図面は必ずしも縮尺通りではない。一定の例では、本開示の理解に不要な詳細又は他の詳細の認識を困難にする詳細は省略している場合がある。当然ながら、本開示は必ずしも本明細書で示す実施形態に限定されないことを理解すべきである。
【0026】
発明を実行するための最良の形態
本発明は、広範囲の試みにわたりその利益を提供する。開示する具体例を参照する要件によって課される制限的な表現に思われ得るが、開示する発明の範囲及び趣旨に沿う広がりを本明細書及び添付の特許請求の範囲に与えることを出願人は意図する。従って、本発明に最も近く関係する当業者に熟知させるために、本発明の性質を示す目的で本システムの好ましい実施形態を開示する。本発明を実施し得る全ての様々な形式及び修正を記載しようと試みることなしに、本システムを動作させる例示的な方法を好ましい実施形態に従って詳細に記載する。そのため本明細書に記載する実施形態は例示であり、当業者に明らかになるように、本発明の範囲及び趣旨の中で数多くのやり方で修正することができ、本発明は本明細書の詳細ではなく添付の特許請求の範囲によって判断される。
【0027】
以下の文は数多くの異なる実施形態の詳細な説明を記載するが、この説明の法的範囲は添付の特許請求の範囲の言葉によって定められる。この説明は例示として解釈すべきであり、あり得る全ての実施形態を記載することは不可能ではないにせよ非現実的なので、あり得る全ての実施形態は記載しない。現在の技術又はこの特許の出願日の後で開発される技術を使用して数多くの代替的実施形態を実装することができ、それらは特許請求の範囲に依然として含まれる。
【0028】
本明細書において用語が明確に定義されていない限り、その用語の意味をその平明な又は通常の意味を超えて明確に又は含意的に限定する意図はなく、そのような用語は(特許請求の範囲の文言以外の)本願の任意の節で行う任意の記述に基づき範囲の点で限定的に解釈すべきではないことも理解すべきである。添付の特許請求の範囲に記載する任意の用語が単一の意味と一致するやり方で本明細書において言及される限りにおいて、それは読者を混乱させないように専ら明確化するために行われており、かかる請求項の用語、その単一の意味に限定されることにより、含意又は他のやり方によって意図されない。最後に、請求項の要素が「手段」という用語を挙げることによって及び如何なる構造も挙げずに機能によって定められていない限り、如何なる請求項の要素の範囲も米国特許法第112条サブパラグラフ(f)の適用に基づいて解釈されることは意図しない。
【0029】
図1は、本発明によるグラフィカルユーザインタフェースを含む統合開発環境の典型的なコンポーネント及びインタフェースを示す。この環境はMicrosoftによって開発されたVisual Studioにおいてのみ例示目的で用意した。一部の実施形態ではユーザインタフェースを使用可能にする拡張(追加部分又はプラグイン)を含む本発明の追加部分によって統合開発環境が増補されている。メインウィンドウ(101)は、ユーザがソフトウェアプログラム及びライブラリを設計し、開発し、コンパイルし、リリースし、デバッグし、導入するのに必要な全てのインタフェース及びツールを含む。インタフェースはメニューバー(102)、殆どの使用ツールへのアクセスを与えるクイックツールバー(103)、グラフィカルインタフェースを使用してユーザがユーザインタフェースを作成し構成することができるデザイナウィンドウ(104)を含む。コンポーネントのカテゴリの下に配置される、インタフェース内に挿入するために利用可能なコンポーネントの一覧を含む一次パネル(105)は、デザイナウィンドウ(104)内で設計されているインタフェース内に挿入されるコンポーネントをユーザが選択することを可能にする。二次パネル(106)は、本発明により統合開発環境に追加されている自動化コンポーネントの1つ又は複数を顕在化させる。それらはインタフェースデザイナウィンドウ(104)内にインスタンス化されており、インタフェースデザイナウィンドウ(104)は、手動バーコードスキャナ、電気モーター、1つ又は複数のパーツプレゼンスセンサ、緊急停止ボタン、及び(例示目的でBeckhoffControllerとして識別する)プログラム可能ロジックコントローラ(PLC)のインスタンスを含む様々な自動化制御コンポーネントに対応する視覚的要素を例示目的で含む。プロパティパネル(108)は、デザイナウィンドウ(104)内で選択されるアイテムに関して利用可能なプロパティを表示する。コンテキスト情報パネル(109)は、現在選択されているプロパティをユーザが理解するのを助ける情報を表示することができる。ナビゲーションパネル(110)は、現在のプロジェクト又はソリューションに含まれる全てのファイル及び資源への素早いアクセスを可能にする。
【0030】
より詳細には、図1はグラフィカルユーザインタフェース内で選択されるパーツプレゼンスセンサに関するプロパティを示す。パーツが到着すること又は去っていくことをこのセンサが検出したときどのモーターを自動で始動及び停止させることができるのか等、プロパティパネル(108)はコードの生成に関係する選択肢を強調する。一部の実施形態では、このパーツセンサのための物理装置がPLCに接続される。プロパティパネル(108)は、どのPLCがこのセンサをどのI/Oブロック及びポート上でホストするのかを示す。このユーザインタフェースは、このパーツプレゼンスセンサに関する全ての関心イベントが「DataRecorder」フィールド内に記載のデータベース内に記憶されるべきであることも示す。イベントハンドラとしても知られる利用可能な関数の一覧が、被選択コンポーネントに関する自動生成済み関数を含む。かかる実装を使用し、ユーザは如何なるコードも書くことなしにプロセスを作成することができる。
【0031】
図2は、工業用コンピュータに接続されるハンドスキャナに関する選択肢を例示目的で示す。プロパティパネル(108)は、走査されたコードがテキスト編集ボックス「PARTNUM_TEXT_BOX」内に表示されることを強調する。プロパティパネル(108)は、走査されたコードがローカルSQLデータベース内に記憶されることも示す。一部の実施形態では、このステーションにおけるプロセスに関する現在の状態及びサイクル時間並びに何サイクル実行されているのかをユーザインタフェースの右側の1つのコンポーネントが示す。開始及び終了するためのプロセスをトリガするイベントをインタフェース内のどのコンポーネントが作り出すのかをユーザが定めると、これが自動で生成される。それにより、プログラムする必要なしにサイクル時間並びに何サイクル実行されたのかを追跡することが可能になる。
【0032】
図3は、コンパイルされカスタムPLC上に導入されたときの図1及び図2に示すプロジェクトのスクリーンショットである。PLCのインスタンス上のLED(300)は接続が確立され、CONV B2グループ内のEtherCATコンポーネントがオンラインであることを強調する。このようにして、ユーザインタフェースはローカル装置及びリモート装置の組み合わせのためのコードをシームレスに制御し生成することができる。
【0033】
一部の実施形態では、統合開発環境(又は統合開発環境への拡張、追加部分、若しくはプラグイン)が、イベントハンドラとして使用可能な関数により自動化制御コンポーネント用のコマンドを顕在化させるためのソースコードを生成するように構成されるソースコード生成モジュールを含む。グラフィカルユーザインタフェースにより視覚的コンポーネントを統合開発環境に追加することができ、視覚的コンポーネントは他のコンポーネントとインタフェースされる及びソースコード生成モジュールにリンクされる物理的及び論理的なコンポーネント及びシステムを表す。各コンポーネントに対応するソースコードを自動で生成するようにソースコード生成器が構成される。イベントハンドラに関する如何なるソースコードも書く又は編集する必要なしに各イベントが複数のイベントハンドラの処理を可能にされ得るように、統合開発環境はコンポーネントインタフェースの修正を可能にする。一部の実施形態では、統合開発環境を使用してプロジェクト内にコンポーネントをインスタンス化することが、コンポーネントから通信チャネルへの信号を捕捉しブロードキャストする、要求に応じて宣言されるソースコードの生成を自動化し、ランタイム中にコンポーネント(又はコンポーネントに接続されるPLC)から生じる自動化されたテレメトリをもたらす。以下で更に説明するように、一部の実施形態では、ウェブアプリケーションがコントローラから受信される各信号のテレメトリデータを表すためのグラフ又は表を自動で作成する。
【0034】
図4は、本発明のこの実施形態に関するデータインフラ実装の概略図である。物理的な又は仮想化されたコンピュータ(409)上で実行される人間-機械実行ランタイム(404)は、自動化コンポーネントの一覧の最初(405)と最後(406)と共にここで示す自動化コンポーネントの複数のインスタンスを含む。これらのコンポーネントのそれぞれについて、ランタイム(404)がそれぞれ(407)から(408)までの通信チャネルをインスタンス化する。これらの全てのチャネルは、テレメトリサーバ(401)上へと通信パイプライン(411)にデータをポストする。ウェブサーバ(402)は、ウェブページ(403)がプログラムを実行するときチャート及び表を動的に処理し出力するコードを含むウェブアプリケーションをホストする。ウェブページ(403)は、データパイプライン(413)によってテレメトリサーバ(401)からのデータを消費してデータを表示する。一部の実施形態では、人間-機械実行ランタイム(404)とテレメトリサーバ(401)との間で、並びにテレメトリサーバとウェブページ(403)との間でデータをやり取りするためにウェブソケットが使用される。
【0035】
記載した統合開発環境(又は統合開発環境への拡張、追加部分、若しくはプラグイン)は単一の処理装置内に実装することができるが、プログラム命令を実行する際に共働する複数の処理装置又はサブシステムに分散させることもできる。処理システムの例は汎用中央処理装置、特定用途向けプロセッサ、及び論理機構、並びに他の任意の種類の処理装置、処理装置の組み合わせ、又はその異体を含む。記憶システムは、処理システムによって読み出すことができ、ソフトウェアを記憶することができる任意の記憶媒体を含み得る。記憶システムは、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータ等の情報を記憶するための任意の方法又は技術によって実装される揮発性及び不揮発性の脱着可能及び脱着不能媒体を含み得る。記憶システムは単一の記憶装置として実装することができるが、複数の記憶装置又はサブシステムにわたって実装することもできる。記憶システムは、システムと通信可能なコントローラ等の追加の要素を含むことができる。記憶媒体の例はランダムアクセスメモリ、読み出し専用メモリ、磁気ディスク、光ディスク、フラッシュメモリ、仮想メモリ、及び非仮想メモリ、磁気カセット、磁気テープ、磁気ディスク記憶域、又は他の磁気記憶装置、又は所望の情報を記憶するために使用することができ、命令実行システムによってアクセスされ得る他の任意の媒体、並びにその任意の組み合わせ又は異体、又は他の任意の種類の記憶媒体を含む。一部の実装形態では、記憶媒体が非一時的記憶媒体であり得る。一部の実装形態では、記憶媒体の少なくとも一部が一時的であり得る。どんな場合にも記憶媒体は伝搬信号ではない。
【0036】
含まれる説明及び図面は、最良の形態をどのように作り使用するのかを当業者に教示するための具体的な実装形態を示す。本発明の原理を教示する目的で、一部の従来の側面を単純化し又は省略している。本発明の範囲に含まれるこれらの実装形態からの異体を当業者なら理解されよう。複数の実装形態を形成するために上記の特徴を様々なやり方で組み合わせることができることも当業者なら理解されよう。その結果、本発明は上記の特定の実装形態に限定されず、特許請求の範囲及び等価物によってのみ限定される。
【0037】
本開示の上記の解説は、例示目的及び説明目的で提示してきた。上記の内容は、本明細書で開示した形式に本開示を限定することは意図しない。例えば上記の詳細な説明では、本開示を簡素化するために本開示の様々な特徴を1つ又は複数の実施形態にまとめている。本開示のこの方法は、各請求項の中で明示的に挙げられているよりも多くの特徴を特許請求の範囲に記載の開示が必要とするという意図を反映するものとして解釈すべきでない。むしろ、添付の特許請求の範囲が反映するように、本発明の態様は上記で開示した単一の実施形態の全ての特徴よりも少ない特徴にある。このため、各請求項が本開示の別個の好ましい実施形態として独立した状態で、添付の特許請求の範囲をこの詳細な説明に援用する。
【0038】
更に、本開示は1つ又は複数の実施形態並びに特定の改変形態及び修正形態の説明を含んだが、他の改変形態及び修正形態も本開示の範囲に含まれ、例えば上記で単独で又は他のコンポーネントと組み合わせて記載した一定のコンポーネントを使用することがシステムを構成し得るのに対し、他の態様ではシステムは本明細書に記載したコンポーネント全ての、及び本開示の新規の側面を伝えるために採用された順序と異なる順序の組み合わせであり得る。本開示を理解した後、他の改変形態及び修正形態が当業者の技能及び知識に含まれ得る。本開示のこの方法は、特許請求の範囲に記載するものに対して代替的な、置換可能な、及び/又は等価の構造、機能、範囲、若しくはステップを含む代替的実施形態を含む権利を、かかる代替的な、置換可能な、及び/又は等価の構造、機能、範囲、若しくはステップが本明細書で開示されていようがいまいが関係なく、及び特許性のある如何なる内容も公に供することを意図することなしに、認められる範囲内で得ることを意図する。
図1
図2
図3
図4
【国際調査報告】