JP2018501532A - 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング - Google Patents

密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング Download PDF

Info

Publication number
JP2018501532A
JP2018501532A JP2017517718A JP2017517718A JP2018501532A JP 2018501532 A JP2018501532 A JP 2018501532A JP 2017517718 A JP2017517718 A JP 2017517718A JP 2017517718 A JP2017517718 A JP 2017517718A JP 2018501532 A JP2018501532 A JP 2018501532A
Authority
JP
Japan
Prior art keywords
physical
components
user
simulation
component
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
Application number
JP2017517718A
Other languages
English (en)
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2018501532A publication Critical patent/JP2018501532A/ja
Priority to JP2020002854A priority Critical patent/JP6931099B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0421Multiprocessor system
    • 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/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • 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/23Pc programming
    • G05B2219/23291Process, graphic programming of a process, text and images

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)
  • Programmable Controllers (AREA)

Abstract

ユーザからの入力に基づきオートメーションアプリケーションを設計するシステムは、ライブラリインタフェースと三次元ワークスペースとシミュレーションエンジンとコントローラコード生成ユニットを含む。ライブラリインタフェースは、コンポーネントライブラリからの複数のコンポーネントのユーザ選択を受け取るように構成されている。三次元ワークスペースは、コンポーネントを表示し、ユーザにより供給される1つまたは複数の命令に基づき、コンポーネントを用いて三次元ワークスペース内にシステム設計を生成するように構成されている。シミュレーションエンジンは、三次元ワークスペース内のシステム設計に基づきシミュレーションコードを生成し、ユーザからのコマンドに応じてシミュレーションコードを実行するように構成されている。三次元ワークスペース内の1つまたは複数のコンポーネントを、シミュレーションコードの実行中、アニメーションで表示可能である。コントローラコード生成ユニットは、三次元ワークスペース内のコンポーネントに対応する1つまたは複数の物理コントローラを識別し、システム設計に基づきそれらの物理コントローラのために、コントローラにより実行可能なコードを生成するように構成されている。

Description

本発明は、全般的に言えば、密結合ロジックおよび物理的シミュレーションの技術を採用した三次元グラフィックインタフェースを用いたオートメーションシステムをプログラミングするための方法、システムおよび装置に関する。
背景技術
慣用のオートメーションソフトウェアのプログラミング環境において、プログラマは多数の別個のツールを使用し、これらのツールは各々、オートメーションの挙動の態様をプログラミングするために特定の目的を有している。たとえば、あるツールはネットワークプロトコルをセットアップし、別のツールは入力デバイスおよび出力デバイスのためにメモリを割り当て、さらに別のツールは命令をコーディングするために用いられる。これらのツールは完全に独立しており、手動でコンフィギュレーションしなければならず、あるツール内で用いられるコーディング間の何らかのミスマッチによって、たいていは別のツールまたはオートメーションにエラーが引き起こされることになる。さらに、既定のツールの言語と、オートメーションの実行に使用される実際の物理ハードウェアとのマッピングがほとんどない。オートメーションツールにおいて定義される論理要素の多くは、各ツールの構造同士のマッピングを確立すること自体に用いられ、何らかの種類の機械の挙動の実施とは間接的にしか結び付けられていない。
いくつかの慣用のアプリケーションによって要求されるのは、それらがシミュレーションのために一般的に用いられているとはいえ、それらの命令をあるコントロールデバイスに移植することによってランタイムファンクションも生成できるようにすることである。たとえばモデルベースの制御の分野では、制御プログラムを記述するために、シミュレーションシステムにより提供される種類の等式が利用される。このような状況では、物理デバイスの実際のシミュレーションが行われない場合が多い。むしろ、あるシミュレーションをプログラミングするために通常用いられることになるプログラミング方法は、制御ファンクションをプログラミングするために用いられているものである。別のシステムによればそれらのシミュレーションコードが、Cなどの低レベル言語に変換され、それによって特別なランタイムを必要とすることなく、ある環境においてそのコードを実行させることができる。ただしこのシミュレーションコードは依然として、オートメーションが開発されるデバイスおよび環境をシミュレートするというよりは、汎用プログラミング言語として用いられているにすぎない。
いくつかの慣用のコントローラおよびデータ収集ボードは、非標準的なまたは独自の言語を用いてプログラミングされる。それらのコントローラは多種多様であり、それらのうちのいくつかは、テスト中に手動で特定のI/Oの状態を制御可能であるという意味で、一種のシミュレーションを実行することになる。たとえば、ホームオートメーションデバイスによってユーザは、ある種のウェブインタフェースを介して照明のオン/オフをプログラミングできるようになる。しかしながらこの種の慣用の技術では、単純な切り替え以上のことは行われず、たとえばシミュレートされるオブジェクトの属性を利用するなどして指定される物理的シミュレーションを提供できるようにするために、手動でプログラミングされる挙動以上のことは行われない。
概要
本発明の実施形態は、物理的シミュレーションを用いる三次元グラフィックインタフェースにおいてオートメーションをプログラミングするための方法、システムおよび装置を提供することによって、上述の不都合な点および欠点のうちの1つまたは複数と取り組み、それを克服しようというものである。ここで開示する技術はたとえば、様々な産業環境および機械装置を設計、シミュレートおよびインプリメントするために用いることができる。
簡単に述べると、本発明の様々な実施形態は、グラフィックシミュレーション環境について説明するものであって、この場合、論理コンポーネントと物理コンポーネントが同じワークスペース内に存在していて、それらをその場その場で編集、修正および実行することができる。たとえば1つの実施形態によれば、設計が不完全であっても、または結果として失敗しているとしても、設計プロセス中の任意の時点にシミュレーションを実行することができる。ロジックを使用して、コンポーネントの状態を変更することができ、また、たとえば他のコンポーネントとインタラクトする可能性のあるワークアイテムを表すために、新たなコンポーネントを生成することができる。コンポーネントの物理的シミュレーションによって、物理的制約のインタラクションに従い、ワークアイテムが除去および変更されるようにすることができる。たとえばコンベヤは、衝突支援を提供し、かつボックスを前方に押し出す力を与えることによって、ボックスを移動させることができる。センサは、シミュレートされるオブジェクトの幾何学的属性またはその他の物理的属性に基づき、値を検出して発生させることができる。ロジックは値を転送してアクティビティを開始することができ、またはそうでなければ、それらのファンクションに基づきアクティビティを制御することができる。一般的にはオートメーションを、物理的に組み合わせられたものであるかのように、シミュレートされた環境において実行することができる。ユーザは、シミュレーション実行時にシミュレーションのオペレーションを検査して、エラーを見つけ出すことができ、そうでなければシステムのファンクションを検証することができる。ユーザは、任意の時点でシミュレーションを停止して、オブジェクトの初期状態を復元することができ、設計されたオートメーションを引き続き編集することができる。
本発明のいくつかの実施形態によれば、ユーザからの入力に基づきオートメーションアプリケーションを設計するためのシステムは、ライブラリインタフェースと三次元ワークスペースとシミュレーションエンジンとコントローラコード生成ユニットとを含んでいる。ライブラリインタフェースは、コンポーネントライブラリからの複数のコンポーネントのユーザ選択を受け取るように構成されている。いくつかの実施形態によれば、リモートのマーケットプレイスサーバからダウンロードされたデバイスモデルに部分的に基づき、ライブラリを移入することができる。三次元ワークスペースは、コンポーネントを表示し、ユーザにより供給される1つまたは複数の命令に基づき、コンポーネントを用いてシステム設計を生成する。ついでシミュレーションエンジンは、システム設計に基づきシミュレーションコードを生成し、ユーザからのコマンドに応答してシミュレーションコードを実行することができる。いくつかの実施形態によれば、シミュレーションコードを仮想マシン環境において実行することができる。さらにいくつかの実施形態によれば、三次元ワークスペース内の1つまたは複数のコンポーネントが、シミュレーションコードの実行中、アニメーションで表示される。前述のシステムに含まれているコントローラコード生成ユニットは、三次元ワークスペース内のコンポーネントに対応する物理コントローラを(たとえばコントローラから受け取ったデバイス通知メッセージに基づき)識別し、システム設計に基づきそれらのコントローラのために、コントローラにより実行可能なコードを生成するように構成されている。
前述のシステムのいくつかの実施形態によれば、三次元ワークスペースを、付加的な機能を実行するように構成することができる。たとえばいくつかの実施形態によれば、ユーザにより選択されたコンポーネントには、1つの物理デバイスモデルに対応づけられた物理コンポーネントと、1つの論理演算に対応づけられた論理要素とを含むことができる。このようにして三次元ワークスペースは、複数の論理要素と複数の物理コンポーネントとの対応づけを、1つまたは複数のユーザ命令に基づき生成することができる。択一的に(または付加的に)三次元ワークスペースは、第1のユーザリクエストに基づき、1つまたは複数の論理要素を含む論理要素コンテナを生成することができる。ついで第2のユーザリクエストに基づき、論理要素コンテナと、複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントとの間で、対応づけを生成することができる。このような対応づけを生成するために、様々な技術を用いることができる。たとえば1つの実施形態によれば、この対応づけは以下により生成される。すなわち、
・第1のユーザ選択に基づき、第1の物理オブジェクトを識別し、
・論理要素コンテナの論理入力ポートオブジェクトを、第1の物理オブジェクトのデバイス出力ポートオブジェクトと接続し、
・第2のユーザ選択に基づき、第2の物理オブジェクトを識別し、
・論理要素コンテナの論理出力ポートオブジェクトを、第2の物理オブジェクトのデバイス入力ポートオブジェクトと接続する
ことにより生成される。いくつかの実施形態によれば、三次元ワークスペースをさらに、複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントのための1つまたは複数の属性値のユーザコンフィギュレーションを受け取るように、構成することができる。これらの属性値をたとえば、シミュレーションコード実行中、1つまたは複数の物理コンポーネントの挙動をシミュレートするために用いられる物理モデルへの入力に対応させることができる。
いくつかの実施形態によって説明するように本発明の別の態様によれば、ユーザからの入力に基づきオートメーションアプリケーションを設計するためのシステムは、ワークスペースと、シミュレーションエンジンと、コントローラコード生成ユニットとを含んでいる。ワークスペースは、産業環境の三次元モデルをユーザが生成および操作できるように構成されている。シミュレーションエンジンは、三次元モデルの物理的挙動をシミュレートするように構成されている。1つの実施形態によれば、シミュレーションエンジンは、シミュレーション実行中、三次元モデルをアニメーションで表示する。コントローラコード生成ユニットは、三次元モデルに含まれる物理コンポーネントに対応する1つまたは複数の物理コントローラのために、コントローラにより実行可能なコードを生成するように構成されている。いくつかの実施形態によれば、システムは、マーケットプレイスサーバから新たな物理デバイスモデルを取り出すように構成されたマーケットプレイスインタフェースも含んでいる。このようにしてマーケットプレイスインタフェースは、新たな物理デバイスモデルを使用して、三次元モデルにおいて使用するための新たな物理コンポーネントを生成することができる。1つの実施形態によれば、マーケットプレイスインタフェースは、新たな物理デバイスモデルに対応する物理デバイスの(たとえばマーケットプレイスサーバを介した)ユーザによる取得を、補助して円滑に進めることもできる。
本発明のさらに別の実施形態によれば、ユーザからの入力に基づきオートメーションアプリケーションを設計する、コンピュータにより実施される方法には、コンポーネントライブラリからの複数のコンポーネントのユーザ選択をコンピュータが受け取るステップが含まれている。コンピュータは、ユーザにより供給される1つまたは複数の命令に基づき、コンポーネントを用いて三次元ワークスペース内にシステム設計を生成する。ついでコンピュータは、システム設計に基づきシミュレーションコードを生成し、ユーザからのコマンドに応答してこのコードを実行する。コンピュータは、三次元ワークスペース内の複数のコンポーネントに対応する物理コントローラを識別し、システム設計に基づきそれらの物理コントローラのために、コントローラにより実行可能なコードを生成する。
添付の図面を参照しながら例示的な実施形態について以下で詳しく説明することで、本発明のその他の特徴および利点を明らかにしていく。
以下の詳細な説明を添付の図面を参照しながら読めば、本発明の前述の態様およびその他の態様の理解が最も深まる。本発明を例示する目的で、図面には現時点で好ましい実施形態が示されているが、本発明が特定の詳細な説明に限定されるものではないことを理解されたい。
本発明のいくつかの実施形態による、オートメーションをプログラミングするためのシステムの概要を示す図 本発明のいくつかの実施形態によるエンジニアリングツールの一例を示す図 本発明のいくつかの実施形態によるコントローラアーキテクチャの一例を示す図 本発明のいくつかの実施形態による、シミュレーション環境においてオートメーション実行時に実施されるプロセスの概要を示す図 本発明の実施形態をインプリメント可能なコンピューティング環境の一例を示す図
詳細な説明
以下の開示では、密結合ロジックおよび物理的シミュレーションを用いるグラフィック環境におけるオートメーションをプログラミングするための方法、システムおよび装置を対象としたいくつかの実施形態に従って、本発明を説明する。ここで説明する本発明の種々の実施形態によれば、シミュレーションと制御プログラミングとが融合されて、もはや別々の実行項目ではなくなるように、それらが共に同じツールに組み込まれる。ここで説明する技術は、産業用途に特に適用可能なシステムの設計およびインプリメンテーションであるが、それらに限定されるものではない。
図1には、本発明のいくつかの実施形態による、オートメーションをプログラミングするためのシミュレーション環境100の概要が示されている。簡単に述べると、コンポーネント供給業者105および110は、ネットワーク125を介してマーケットプレイスサーバ115へデバイスモデルを提供する。ついで製造業者サイト120におけるユーザ120Aは、ユーザコンピュータ120Bにおいて実行されるシミュレーション環境で使用するために、ネットワーク125を介してそれらのモデルをマーケットプレイスサーバ115からダウンロードすることができる。ユーザコンピュータ120Bによってユーザ120Aは、コントローラコード120Fを生成することができ、その後、それらのコントローラコード120Fを、物理デバイス120Dおよび120Eに対応づけられたコントローラにアップロードすることができる。
コンポーネント供給業者105およびコンポーネント供給業者110は、それぞれ物理コンベヤおよび物理モータのモデルを、ネットワーク125を介してマーケットプレイスサーバ115へ供給する。各モデルは、拡張マークアップ言語(XML)などのように標準化された言語を用いて、デバイスに関する詳細情報を提供する。機能的に自己完結型に、また、必要に応じてインテリジェント型に、モデルを設計することができる。モデルは、センサまたはアクチュエータ、制御デバイスたとえばプログラマブルロジックコントローラなどのような物理デバイスを表現することができ、さらに物理的実体を伴わないアプリケーションにおいて適用可能なファンクションを表すことができる。モデルのコンテンツにはたとえば、対応する物理デバイスのジオメトリ、キネマティクスおよび挙動に関する詳細情報を含めることができる。さらにモデルには、他のモデルとのインタフェースのための、および異なるコンフィギュレーションを提供するための表示も含めることができる。コンピュータ支援型設計ソフトウェアの拡張を利用して、機械設計を組み込むことによりモデルを生成することができる。マーケットプレイスサーバ115は、各コンポーネント供給業者により生成されたモデルのレポジトリのホストの役割を果たす。マーケットプレイスサーバ115は、レポジトリに対するインタフェースを提供し、これによってユーザは、モデルを閲覧およびダウンロードすることができる。たとえば、いくつかの実施形態において、マーケットプレイスサーバ115はウェブページインタフェースを使用し、これによってダウンロードで入手可能な様々なモデルのカタログが提供される。このインタフェースには、各モデルに関する詳細情報を含めることができ、この情報にはたとえば、モデリングされた物理デバイスのイメージ、入出力ポートの一覧、コンフィギュレーション可能な属性、およびモデル挙動の記述などが含まれている。いくつかの実施形態によれば、マーケットプレイスサーバ115は、ユーザと様々なコンポーネント供給業者との間のトランザクションを処理することもできる。たとえば1つの実施形態によれば、マーケットプレイスサーバ115からダウンロードされた各モデルについて、ユーザに対し料金が請求される。別の実施形態によれば、マーケットプレイスサーバ115は、特定のモデルに対応する物理デバイスの取得にあたり、ユーザとコンポーネント供給業者との間のトランザクションを補助して円滑に進める。
製造業者サイト120において、ユーザ120Aはユーザコンピュータ120Bを利用して、(図2を参照しながらあとで詳しく説明する)エンジニアリングツール120Cを実行する。エンジニアリングツール120Cによりユーザ120Aは、モータのモデルおよびコンベヤのモデルをユーザコンピュータ120Bにダウンロードすることができる。その後、エンジニアリングツール120Cは、ダウンロードされたモデルをシミュレーション環境において使用することができ、このシミュレーション環境によって、モデリングされたアイテムの物理的アクティビティを模倣する計算が実施される。簡単に述べると、エンジニアリングツールは、3Dグラフィックエディタおよび可視化環境に組み込まれたダイナミクスシミュレーションを有している。このシミュレーションには、ハードウェアデバイスおよびこのデバイスが操作および変形する加工製品の物理的シミュレーションが含まれている。シミュレートされる物理オブジェクトは、現実のハードウェアデバイスを表している。既定のデバイスのためのシミュレーションは、そのデバイスの挙動が整合されて、同じ入力条件においてシミュレーションの能力範囲内で同じアクションが実施されるように設定される。シミュレーションによって、オブジェクトの幾何学的形状、ポジション、キネマティクス連鎖、およびダイナミクスを追従することができる。さらにシミュレーションには、オブジェクトの追加およびシミュレーションからの除去を動的に行う能力も含めることができる。この能力を用いて、たとえば切断、圧搾、成形などのようなオブジェクトの変形をシミュレートすることができる。さらにこの能力を用いて、加工製品の導入およびプロセスからの除去をシミュレートすることもできる。
産業環境のシミュレートにおいて、ユーザ120Aは、特有のプロセスをインプリメントするために要求される必要な物理コンポーネントとレイアウトを、簡単に同定することができる。レイアウトの決定が完了すると、エンジニアリングツール120Cは、さらに詳細な事項(たとえばパーツリストおよび/または青図)を生成することができ、それによって必要とされる物理コンポーネントを(それらがまだ取得されていなかったならば)発注することができ、所望のレイアウトでコンフィギュレーションすることができる。これらに加えいくつかの実施形態によれば、エンジニアリングツール120Cは、プログラマブルロジックコントローラなどのような物理コンポーネントにおいてそのまま使用可能なコントローラコードを生成する。たとえば図1によれば、エンジニアリングツールは、物理モータ120Dおよび物理コンベヤ120Eに対応づけられたコントローラ上でそのまま使用可能なコントローラコード120Fを生成することができる。したがって、設計が完了するとただちに、ユーザのためにコントローラコード120Fが準備完了状態となることから、物理デバイスの導入が簡素化される。
図2には、本発明のいくつかの実施形態によるエンジニアリングツール200の一例が示されている。手短に述べると、エンジニアリングツール200は、3Dグラフィックエディタおよび可視化環境に組み込まれた3D多体ダイナミクスシミュレーションを有している。エンジニアリングツール200には、3Dワークスペース205と、ツールバー210と、ユーザが3Dワークスペース205内に配置可能な論理要素のギャラリ215とが含まれている。なお、図2の場合、設計の大部分の様相を、3Dワークスペース205内で視覚的に得ることができる。このため、ツール間で切り替えを行わずに単一のインタフェースで、レイアウト、可視化、プログラミング、シミュレーションを実施することができる。このことに加え、あとで説明するように、3Dコンポーネントとロジックとが、同じスペース内で共働する。
エンジニアリングツール200によって、使いやすさと効率的な編集のためにスタンドアローンで実行するように設計された、低コストにし得るツールが提供される。エンジニアリングツール200内のコンポーネントは、それらが実世界にあるかのように動作し、その際にそれらがどのように動作するのか、アニメーションで挙動が示される。物理システムのコンポーネントを、ベンダが提供するセレクションから生成することができ、この場合、グラフィックの複雑の程度はベンダによって決定される(すなわちユーザが改めて描き直す必要はない)。センサからの入力をロジックへ、さらには出力デバイスへつなぐことによって、コンポーネントの挙動を描写するために、物理システムを「配線」することができる。これに加え、いくつかの実施形態によれば、内部値および他の状態を即座にフィードバックできるようにすることで、シミュレーションにより瞬時のデバッグが提供される。同様にシミュレーションによって、物理的インタラクションが意図されたものではないケースを示すことによって、オートメーションによる問題を評価することができる。エンジニアリングツール200によって、工業設計にあたりいくつかの利点が提供される。シミュレートされた3D環境においてそのままプログラミングすることによって、設計およびインプリメンテーションのプロセス中に発生する可能性のある間接性のレベルが低減する。これに加え、三次元の物理的シミュレーションによって、迅速な設計検証が可能となる。このように許容性のあるエンジニアリングモデルにより、テスト環境において直接、アイデアの探求が促進される。
図2に具体例として示したエンジニアリングツール200に含まれているギャラリ215は、ライブラリインタフェースセクション215Aと物理セクション215Bとを有している。ライブラリインタフェースセクション215Aには、3Dワークスペース205に追加することのできる種々のコンポーネントが含まれている。ユーザは、ライブラリインタフェースセクション215Aの最上部に含まれているタブとインタラクトして、3Dワークスペース205内で使用するために入手可能な種々の物理コンポーネントと論理コンポーネントを閲覧することができる。3Dワークスペース内の各コンポーネントの物理的特性を閲覧し、物理セクション215Bを介して調節することができる。
エンジニアリングツール200による設計を進展させるために、ユーザはデバイスモデルをギャラリ215の外にドラッグして、3Dワークスペース205内に配置する。オブジェクトを選択して位置決めするための他の方法を、択一的に用いてもよい。デバイスモデルを3Dワークスペース内に配置することによって、モデルを表現する視覚的コンポーネントが生成される。各コンポーネントは、関連するコンポーネントまたは他のオブジェクトを取り付けることのできるコネクションポイントを有することができる。いくつかの実施形態によれば、接続されたオブジェクトは自動的に整列されて、周囲を取り囲むモデルのジオメトリと照合済みの隙間を有することができる。3Dワークスペース205内のポジションは、プロセスにおけるデバイスの物理的ポジションを表すように意図されており、類似した幾何学的依存性を保持するのが望ましい。たとえば、プロセスにおいて2つのコンベヤが存在しており、一方のコンベヤが材料を搬送して、他方のコンベヤに材料を落とすような場合であれば、シミュレートされる挙動がこのパターンに従うよう、シミュレートされる空間においてこれらのコンベヤを、端部同士が接続されるように配置するのが望ましい。図2には、一例として単純な設計が含まれており、これによれば、モータコンポーネント205Fがベルトコンベヤコンポーネント205Aを駆動して、2つの光センサコンポーネント205Bと205Dとの間でボックスコンポーネント205Iを移動させる。モータコンポーネント205Fのアクティベートにより、ベルトコンベヤコンポーネント205Aは指定速度で動作するようになる。
各デバイスモデルは、入力値を供給しモデルから出力値を受け取るポートオブジェクトを含むことができる。たとえば図2の場合、モータコンポーネント205Fは、入力値を受け取るモータポートオブジェクト205Gを含んでいる。これらの入力値に基づきモータコンポーネント205Fは、その動作速度を相応に設定する。光センサコンポーネント205Bおよび205Dは、光センサポートオブジェクト205Cおよび205Eをそれぞれ含んでいる。各光センサポートオブジェクト205Cおよび205Eは、それらのオブジェクトの個々の光センサがトリガされると、出力値を生成する。
デバイスモデルに機能を提供するために、デバイスモデルのポートオブジェクトに論理要素が接続される。論理要素は、ポートを備えたブロックとして描かれ、その際、あるブロックを別のブロックと接続することができる。デバイスモデルのポートオブジェクトを論理要素のポートと接続することによって、デバイスモデルを論理ブロックとリンクすることができる。同様にユーザは、あるブロックを別のブロックのポートと接続することによって、2つのブロックをリンクすることができる。いくつかの実施形態によれば、ポートを入力型および出力型として分類することができる。入力ポートは出力ポートと接続され、その際、1つのリンクだけが1つの既定の入力ポートと接続されるようにしてもよいが、複数のリンクが1つの出力ポートに接続されるようにしてもよい。別の実施形態によれば、ポートを双方向とすることができ、その場合、それらのポートは同時に入力端子と出力端子の両方とすることができ、任意に接続することができる。さらにポートを、それぞれ異なる様式および型が混合されたものとしてもよい。いくつかの実施形態によればポートは、ブーリアン、整数、値の配列、複数のフィールド値を含む構造化された値など、様々な型の値をサポートすることができる。各ポート同士の型が両立しない場合には、各ポート間の接続を制限することができる。いくつかの実施形態によればポートは、それぞれ異なる種類のコンポーネントにおいて演算を汎用的に実施できるように、コンポーネントまたは他の論理要素に対する参照である値を生成することができ、あるいは、様々なグループの無効化または反復など、アプリケーションのロジックにおける操作を実施することができる。
種々のタイプの論理要素を用いることができ、以下に限定されるものではないが具体例を挙げると、算術演算、選択、信号、メモリ状態、コンテナ、およびオブジェクト影響因子などである。いくつかの実施形態によれば、ロジックを多重定義することができる。たとえばプラスの算術演算を、浮動小数点、整数の加算のために、およびブール値における論理OR演算の実施のために用いることができる。ロジックによって、シミュレーションオブジェクト、物理デバイスの挙動、またはこれらの双方ならびに他のロジックに影響を与えることができる。一般にコンポーネントと同様に、論理要素は属性を有している。これらの属性が変化すると、論理要素のセマンティクスおよび/またはトポロジーが変化する。ある論理要素コンテナ内のロジックの挙動は、そのコンテナと接続されている(1つまたは複数の)シミュレーションオブジェクトに伝播する。
ユーザは、デバイスの追加と同じ手法を用いて、ロジックをシステム設計に加えることができる。エンジニアリングツール200には、ユーザが選択可能な(図2には示されていない)論理要素のギャラリが含まれている。論理要素は一般に、ファンクションまたはオペレーションを表現するために用いられる。ユーザは、ギャラリから論理要素をドラッグし、3Dワークスペース内に配置する。物理コンポーネント上にロジックを配置することによって、そのコンポーネントの挙動を変えることができる。コンポーネントに取り付けられたロジックは、コンポーネントが動かされたときに、そのコンポーネントに付随する。ユーザはロジックを使用して、他のコンポーネントとインタラクトすることのできる加工製品を生成するなど、シミュレーションを強化することができる。論理要素をフリースペース内、デバイスオブジェクト上、または論理要素コンテナ内に配置することができる。3Dスペース内または3Dデバイスモデル上に配置された論理要素は、3Dポジションを有する。エンジニアリングツール200は、論理要素が取り付けられたコンポーネントを用いて、そのコンポーネントに特有の挙動を実施することができる。プログラミングとポジションを相互に関連づけることができる。論理要素のタイプによって、その目的と、取り付けられた何らかのデバイスモデルがそのファンクションの一部として用いられることになるか否か、が決定される。論理要素において算出された値は、リンク経路を辿って伝達される。ユーザがワークスペースビューを、回転および並進またはさもなければ変形させると、論理要素のポジションは新たなビューポジションで表示されることになる。
図2の論理要素コンテナ205Hにより、1つのコンテナを用いて複数の論理要素から成る1つのグループを包含可能な手法の一例が示されている。3Dワールドに帰属するオブジェクトにおいて振る舞う1つの論理要素に関して、1つのコンテナ内の1つの要素は、そのコンテナが帰属するオブジェクトにおいて動作し、または再帰的にこのコンテナが、ある1つのコンテナ自体の中に配置されているならば、そのコンテナに向かう方向で動作する。コンテナの外側から内側のブロックへのリンクにより、コンテナおよび必要に応じてネストされた他のコンテナにおいて、インタフェースポートを自動的に生成することができる。たとえば図2を参照すると、論理要素コンテナ205Hには、光センサポートオブジェクト205Cおよび205Eから受け取った入力に基づき、モータコンポーネント205Fを制御するために用いられる論理要素が含まれている。特に論理要素コンテナ205Hは、光センサコンポーネント205B,205Dのいずれがトリガされたのかに応じて、−5〜5の間でモータコンポーネント205Fの速度を調節する。いくつかの実施形態によれば、論理要素コンテナを、エンジニアリングツール200内の二次元フィールドによって表すことができる。ただし別の実施形態によれば、三次元コンテナを使用することができる。ユーザは、必要に応じてインタフェースポートを再配置するために、論理要素コンテナ内(または回路間)でブロックを移動させることができる。いくつかの実施形態において、3Dワークスペース内の局所的な要素コンテナにより占有されているスペースを、オープン/クローズすることができ、ユーザが内容に満足して散乱状態を少なくしたいときに、回路内部を隠すことができる。さらにコンテナを単一のユニットとしてコピーすることもでき、このようにすれば種々の入出力接続が使用可能な特有のコンテナの内容が生成される。なお、オリジナルのコンテナとコピーされたコンテナは、互いに独立して振る舞うことができる。たとえば、異なるコンテナへ異なる入力を行った結果、異なる出力を生じさせることができ、異なる状態を記憶させることができ、非決定性の演算により異なる結果を生じさせることができる。ユーザが内容の変更を望まないならば、またはユーザが、内容をリンクさせたままにして変更が共有されるようにしたいならば、コピーされた論理要素コンテナのためのロジックのストレージを、場合によっては共有することができる。論理要素コンテナを、外部のデバイスからインポートすることもでき、それによって複雑なファンクションをパッケージ化して、それらをアプリケーション間で共有できるようになる。論理要素コンテナは、コンテナ自体の状態を制御するコネクションを提供することもできる。コンテナは、ネストされたコンテナを含めコンテナの内容全体の挙動をアクティベートおよびディアクティベートする入力ポートを提供することができる。コンテナがディアクティベートされているときには、コンテナの内容を更新することはできず、コンテナの出力ポートをゼロまたはフォールスのようなデフォルト状態にセットすることができる。他の種類のコンテナが、1つのシーケンス内で実施されるグループ化ロジックのような、他の種類のオペレーションをサポートすることができ、または有限状態オートマトンのように振る舞うことができ、または単一のタイムサイクル内で1つのロジックグループを繰り返し実行させることができる。
エンジニアリングツール200のツールバー210は、種々のサブセクションを含んでおり、それらのサブセクションによってユーザはモデルとインタラクトすることができる。クリップボードサブセクション210Aに含まれているインタフェースコンポーネントによって、ユーザは、自身のクリップボードへワークスペース205の一部分(たとえば1つのコンポーネント)をカット(またはコピー)することによって、3Dワークスペース205を編集することができる。ついでその部分をワークスペース205内にペーストして戻してもよいし、またはすべてを他のワークスペースにペーストしてもよい。ツールバー210におけるサブセクション210Bに含まれているインタフェースコンポーネントによって、ユーザは、3Dワークスペース205内のコンポーネントを選択、移動および回転することができる。たいていのコンポーネントは、既存のデバイスモデルによってユーザに提供されているとはいえ、ユーザはジオメトリサブセクション210Cとインタラクトして、様々な形状を3Dワークスペース205に追加することができる。このようにしてユーザは、事前に生成されたデバイスモデルだけを単独で用いて得られる以上に、設計レイアウトをカスタマイズすることができる。同様にスタイルサブセクション210Dにより提供されるインタフェースコンポーネントによって、ユーザは、3Dワークスペース205内に配置された種々のコンポーネントの外観(たとえば色、線幅等)を調節することができる。あとでさらに詳しく説明するようにツールバー210には、さらに実行サブセクション210Eと物理サブセクション210Fが含まれており、これらによって、3Dワークスペース205内に配置されたコンポーネントと対応づけられたシミュレーションを生成して、それとインタラクトするためのインタフェースコンポーネントが提供される。最後に、ビューサブセクション210Gによって、ユーザは、エンジニアリングツール200内の特定のアイテムを表示すべきか否かを選択することができる。
エンジニアリングツール200には、ハードウェアデバイスおよびこのデバイスが操作および変形する加工製品の物理的シミュレーションが含まれている。ツールバー210における実行サブセクション210Eによって、ユーザは、システム設計が3Dワークスペース205内で開発されている期間中、シミュレーションをアクティベートおよびストップすることができる。ツールバー210における物理サブセクション210Fに含まれるインタフェースコンポーネントによって、ユーザは、シミュレーションのタイミングおよび他の属性を調節することができ、さらにシミュレーションによって生じる何らかのエラーを見ることができる。シミュレーションの実行中、ワークスペースは、このワークスペースにユーザが追加した種々のコンポーネントの保守、計算およびアニメーションを行う。たとえば、物理オブジェクトがそれらの動的属性に基づき移動および変形し、検知オブジェクトが対応するそれらのターゲットを検出し、挙動オブジェクトが値を読み出し、書き込み、計算する、などである。ユーザがシミュレーションを停止すると、3Dワークスペース205はその本来のコンフィギュレーションに復帰することができ、ユーザは編集を続けることができる。いくつかの実施形態によれば、シミュレーション実行中、ユーザに対しシステム設計の編集が許可されている。このケースでは、シミュレーションを実行中と見なしてもよいし、または休止状態と見なしてもよく、ユーザはオブジェクトをいつでも追加、削除および編集することができる。いくつかの実施形態によれば、実行サブセクション210Eのインタフェースとインタラクトすることで、明示的なコンパイルを行わずにシミュレーションを即座に実行することができる。さらにここで述べておくと、3Dワークスペース205における設計が、完全に開発されたものでなくてもよく、設計プロセス中にいつでもシミュレーションを実行することができる。いくつかの実施形態によれば、色の変更またはフラッシュなどのような視覚的キューを用いて、ロジックがアクティブである個所が示される。ユーザは、ロジック実行時にそのロジックを調べることができ、値を変更してシナリオを実際に試すことができる。
基本的に、エンジニアリングツール200により生成されるシミュレーションの複雑さの程度を、任意のレベルとすることができる。ただし本発明の多くの実施形態によれば、エンジニアリングツール200は、ユーザがデバイスおよび加工製品について高位レベルの属性を指定することによって、シミュレートされるオブジェクトを設定および実行できるように構成されている。シミュレーションによって、仮想の加工製品を生成することができ、オートメーションデバイスにより実行される様々なプロセスを通過するそれらの加工製品の流れを追従し、加工製品において生じる何らかの変化、およびその変化がデバイスにどのような影響を及ぼすことになるのか、を計算することができる。さらにシミュレーションによって、オートメーションデバイスの状態および挙動をシミュレートして、それらが加工製品にどのような影響をもたらすのかを把握することもできる。シミュレーションの忠実度は、オートメーションの主要なファンクションを仮想世界で実行して、オートメーションのプログラミングを検証できる程度に十分なものであるのが望ましい。シミュレーションにより実行可能なその他の挙動は、それらの挙動が現実に即しており、特定するのが難しすぎないかぎり、有用であると見なされる。シミュレーションの許容範囲および精度を、サイズ、速度、オートメーションの汎用的な必要性に応じて、調節することができる。オートメーションの分野と整合させるように、シミュレーションを提供することができる。たとえばロボットのオートメーションであればおそらくは、三次元でキネマティックであり、ダイナミクスを使用する可能性もあるシミュレーションを用いることになる。これとは逆に、石油精製所のオートメーションであれば、パイプなどの液体回路網の圧力、流量およびトポロジーならびに数値を表す一次元のファンクションが用いられる可能性がある。
図3には、本発明のいくつかの実施形態によるコントローラアーキテクチャ300の一例が示されている。このコントローラアーキテクチャ300は概念的なものであり、1つまたは複数の接続された物理デバイスにエンジニアリングツール305を結合するネットワークを想定している。物理ポートまたは結線されたコネクションなどのように、他の種類のデバイスを用いてもよい。エンジニアリングツール305は、接続された任意のデバイスの識別を要求する汎化されたリクエストをネットワークに送信する。デバイスは、デバイス通知メッセージ315を介して供給されるデバイス情報310によって応答する。エンジニアリングツール305は、受け取ったデバイス情報310に基づいて、仮想コンポーネントと物理デバイスとの間の仮想コネクションを生成して記憶することができる。いくつかの実施形態によれば、仮想コネクションは、コンポーネント識別子とアプリケーション識別子とを有する。したがって同じアプリケーション内に複数の物理デバイスが存在するならば、それらをアプリケーション識別子と共に対応づけることができる一方、異なるコンポーネント識別子を介して異なる仮想デバイスと対応づけることができる。
引き続き図3を参照すると、エンジニアリングツール305がデバイスおよびそれらに対応する仮想コネクションを識別したならば、エンジニアリングツール305はエンジニアリングファンクションをウェブサーバ320へ伝達する。エンジニアリングファンクションは、特定の物理デバイスに論理機能をインプリメントする命令を有する。ウェブサーバ320は、受け取ったエンジニアリングファンクションに基づき、プログラムを生成し、それをプログラムストア325に記憶する。いくつかの実施形態によれば、エンジニアリングツール305は、プログラムをダイレクトに生成するように構成されており、ウェブサーバ320によりこのファンクションが実行されるわけではない。このようなシナリオによればウェブサーバ320は、エンジニアリングツール305から受け取った何らかのプログラムを、プログラムコードの付加的な前処理を行って、または行わずに、プログラムストア325に伝送するだけとなる。ついでプログラムは、(1つまたは複数の)物理コントローラによって実行され、これはロジック実行矢印330によって概念的に表されている。エンジニアリングツール305および/またはウェブサーバ320は、(1つまたは複数の)物理コントローラと通信して、プログラムのスタート、ストップ、リセットなどのようなファンクションを実行することができる。各コントローラは、当技術分野で周知の任意の技術を用いて、1つまたは複数の物理デバイスと通信する。たとえばいくつかの実施形態によれば、コントローラはそれらに対応する物理デバイスとのダイレクトな電気接続を有しており、Universal Serial Bus (USB) またはパルス幅変調(PWM)などのプロトコルを用いて通信する。別の実施形態によれば、コントローラはそれらの物理デバイスと、有線(たとえばEthernet)またはワイヤレス(たとえばIEEE 802.11)の通信ネットワークを介して通信することができる。
状態ストア335は第一には、ネットワークに組み込まれた複数のコントローラ間で共有される状態を伝送するために用いられるが、プログラムがコントローラによって実行されているときに、エンジニアリングツール305がプログラムについて状態検査を実行できるようにすることもできる。つまりエンジニアリングツール305は、各コントローラにおいて実行中のコードの現在の状態を特定することができる。いくつかの実施形態によれば、状態ストア335は、ネットワークデータシェア350を介して、種々の物理コントローラ間で共有される。これらに加え、ネットワークデータシェア350を用いて、たとえば監視制御およびデータ取得サーバ(SCADA)または統一化プラントナレッジウェアハウスなどのような、他のエンティティの状態情報を共有することもできる。データを受け取ることのできる様々なエンティティを、ここでは「パートナ」と称する。ネットワークパートナファインダ355を用いて、状態情報を要求するまたは必要とするパートナを見つけることができる。分散型制御のシナリオであれば、これらのパートナを、ロジックが分散された他のコントローラとすることができる。ネットワークパートナファインダ355は、見つけ出された各パートナのアドレスを供給する。ついで状態ストア335はそれらのアドレスを用い、I/O通信API360を介して、パートナへ状態情報を分配することができる。
図4には、本発明のいくつかの実施形態による、シミュレーション環境100において実施されるプロセス400の概要が示されている。ステップ405においてユーザは、マーケットプレイスサーバから1つまたは複数の物理デバイスモデルをダウンロードする。各物理デバイスモデルはそれぞれ、1つの物理デバイスに対応する。たとえば、ある物理デバイスモデルには、物理コンベヤベルトの三次元モデルを生成するための命令を、この種のデバイスに対応づけることのできる種々の属性と共に、含めることができる。物理デバイスモデルにおける情報を使用して、エンジニアリングツール用の物理コンポーネントが生成される。いくつかの実施形態によれば、エンジニアリングツールはこの生成を自動的に実行する。たとえば1つの実施形態によれば、エンジニアリングツールには、マーケットプレイスサーバに対するインタフェースが含まれている。ユーザは、このインタフェースとのユーザインタラクションを通して、物理デバイスモデルをローカルでダウンロードすることができ、それによってエンジニアリングツールは対応する物理デバイスモデルを生成することができる。この生成プロセスを自動的なものとしてもよいし、ユーザが明示的にモデル生成を要求する必要があるようにしてもよい。さらにここで述べておくと、いくつかの実施形態によれば、マーケットプレイスサーバ以外の場所で物理デバイスモデルをダウンロードすることができる。つまりたとえば複数のユーザが、それらのユーザの個々のエンジニアリングツールにおいて使用するために、Eメールによって物理デバイスモデルを共有することができる。
引き続き図4を参照すると、ステップ410においてユーザは、三次元ワークスペースにコンポーネントを追加し調節することによって、このワークスペース内にシステム設計を生成する。いくつかの実施形態によればエンジニアリングツールは、ワークスペースと共働して使用可能なコンポーネントのライブラリを提供し、それによってユーザは、(マウスベースの環境であれば)クリック&ドラッグ、または(タッチベースのディスプレイを用いた環境であれば)タッチ&ドラッグなどのようなインタラクションを介して、コンポーネントを選択し、ワークスペース内に配置することができる。次にステップ415においてユーザは、論理コンポーネントをこの環境に追加する。上述のように、各論理コンポーネントは1つの論理演算と対応づけられており、ユーザは、複数の論理コンポーネントを含むコンテナを生成することができる。論理コンポーネントがワークスペースに追加されたならば、それらのコンポーネントを使用し、コンポーネントの入力と出力との間の対応づけを生成することによって、物理コンポーネントにロジックが追加される。たとえば、図2を参照しながらすでに説明したように、センサを表す物理デバイスのコンポーネントの出力を、論理コンテナの入力と結び付けることができ、他方、論理コンテナの出力は、モータを表す物理デバイスのコンポーネントの入力と結び付けられている。物理コンポーネントと論理コンポーネントとの対応づけを、ワークスペースにコンポーネントを追加するための上述の技術と同様の手法で実施することができる。たとえば、コンポーネントの出力をクリック(またはタッチ)し、他のコンポーネントの入力に向けてそれをドラッグすることにより、対応づけを生成することができる。
ステップ420において、ワークスペース内のコンポーネントに基づきシミュレーションが実行される。このシミュレーションは、コンポーネントの物理的および電気的な挙動をシミュレートする。いくつかの実施形態によれば、これらのコンポーネントのうちの1つまたは複数を、シミュレーション実行中にアニメーションで示すことができる。たとえばコンベヤベルトコンポーネントを、取り付けられたモータコンポーネントのアクティベートに応答して回転させることができる。ここで述べておくと、設計プロセス中、任意のポイントでシミュレーションを実行することができる。したがってシミュレーションが実行された後、ユーザは、望ましい結果をもたらしているか否かを判定する。望ましい結果がもたらされていなければ、ステップ410、415、420を繰り返し実施することができ、それによってユーザは、物理コンポーネントおよび関連するロジックをワークスペースに追加することができる。その後、ユーザは、望ましい結果が達成されるまで、反復のたびに結果を評価することができる。
次にステップ425において、三次元ワークスペース内のシステム設計に基づき、コントローラコードが生成される。さらに具体的には、エンジニアリングツールは、物理デバイスに対応する物理コントローラを識別し、それらのデバイスにより実行可能なコードを生成する。コントローラを識別するために、様々な技術を用いることができる。たとえばいくつかの実施形態によれば、各コントローラは固定のハードウェアアドレスを有しており、このアドレスがユーザによってエンジニアリングツールへ供給される。他の実施形態によれば、エンジニアリングツールはデバイスディスカバリプロセスを実行することができ、このプロセスにおいてエンジニアリングツールは、物理デバイスから受け取ったデバイス通知メッセージを処理して、それらの個々のアドレスおよび他の関連情報を取得する。これらの物理デバイスが、ユーザがエンジニアリングツールにおいて選択したデバイスモデルと同じタイプのものでなければならないようにしてもよいし、または別の選択肢として物理デバイスが、アプリケーションによって定義された所定のファンクションセットを実行可能なものであればよいとすることもできる。いくつかの実施形態によれば、エンジニアリングツールは、論理要素とシミュレーションコードとに基づき、各コントローラごとにコードを生成してコンパイルする。他の実施形態によれば、エンジニアリングツールには、シミュレーション実行中にコントローラコードを実行する仮想マシンが含まれている。したがってシミュレーションにおいて使用されるコードを、さらにコンパイルすることもなく、各コントローラにおいてそのまま使用することができる。
コードが生成されると、ステップ430においてそのコードが物理コントローラにダウンロードされる。いくつかの実施形態によれば、エンジニアリングツールによりネットワークコネクションを介してコントローラへ、コードをそのまま送信することができる。別の実施形態によれば、エンジニアリングツールを、物理コントローラと通信する中間サーバまたは中間ストレージ媒体として用いることができる。
図5には、本発明の実施形態をインプリメント可能なコンピューティング環境500の一例が示されている。たとえばコンピューティング環境500を用いて、図1に示したシミュレーション環境100の1つまたは複数のコンポーネントをインプリメントすることができる。コンピュータシステム510およびコンピューティング環境500といったコンピュータおよびコンピューティング環境は、当業者には周知であり、よって、これらについてはここでは手短に説明する。
図5に示されているように、コンピュータシステム510は、システムバス521などのような通信メカニズムを含むことができるし、またはコンピュータシステム510内の情報を通信するための他の通信メカニズムを含むことができる。さらにコンピュータシステム510は情報を処理するために、システムバス521と接続された1つまたは複数のプロセッサ520を含んでいる。
プロセッサ520は、1つまたは複数の中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または当技術分野において周知の他の任意のプロセッサを含むことができる。もっと一般的に述べると、ここで用いられるプロセッサは、タスクを実施するためコンピュータ読み取り可能媒体に記憶された機械読み取り可能な命令を実行するデバイスであり、ハードウェアおよびファームウェアのうち任意の1つまたはこれらの組み合わせを含むことができる。プロセッサは、タスクを実施するために実行可能である機械読み取り可能な命令を記憶するメモリを含むこともできる。プロセッサは情報に応答して動作し、その際、実行可能なプロシージャまたは情報デバイスによって使用するために、情報を操作、分析、変更、変換または伝送し、および/または、この情報を出力デバイスにルーティングする。プロセッサはたとえば、コンピュータ、コントローラまたはマイクロプロセッサの能力を使用することができ、または含むことができ、汎用のコンピュータによって実行されない特別な目的のファンクションを実施するために実行可能な命令を用いて、コンディショニングすることができる。プロセッサを、他の任意のプロセッサと(電気的に、および/または実行可能なコンポーネントを含むように)接続することができ、これによってそれらの間のインタラクションおよび/またはコミュニケーションが可能となる。ユーザインタフェースプロセッサまたはユーザインタフェースジェネレータは、周知の要素であり、ディスプレイイメージまたはその一部分を生成するために、これには電子回路またはソフトウェアまたは両者の組み合わせが含まれている。ユーザインタフェースには、プロセッサまたは他のデバイスとのユーザインタラクションを可能にする1つまたは複数のディスプレイイメージが含まれている。
引き続き図5を参照すると、コンピュータシステム510にはさらに、情報とプロセッサ520によって実行すべき命令とを記憶するために、システムバス521と接続されたシステムメモリ530も含まれている。システムメモリ530は、リードオンリメモリ(ROM)531および/またはランダムアクセスメモリ(RAM)532などのような、揮発性メモリおよび/または不揮発性メモリの形態のコンピュータ読み取り可能なストレージ媒体を含むことができる。システムメモリのRAM532は、(1つまたは複数の)他のダイナミックストレージデバイス(たとえばダイナミックRAM、スタティックRAM、およびシンクロナスDRAM)を含むことができる。システムメモリのROM531は、(1つまたは複数の)他のスタティックストレージデバイス(たとえばプログラマブルROM、消去可能なPROM、および電気的に消去可能なPROM)を含むことができる。これらに加え、システムメモリ530を、プロセッサ520による命令実行中、一時的な変数または他の中間段階の情報を記憶するために用いることができる。始動中などに、コンピュータシステム510内の各要素間での情報伝送を補助する基本ルーチンを含む基本入出力システム533(BIOS)を、システムメモリのROM531に記憶させることができる。システムメモリのRAM532には、プロセッサ520により即座にアクセス可能な、および/またはプロセッサ520により目下実行されているデータモジュールおよび/またはプログラムモジュールを含めることができる。これらに加えシステムメモリ530は、たとえばオペレーティングシステム534、アプリケーションプログラム535、他のプログラムモジュール536、およびプログラムデータ537も含むことができる。
コンピュータシステム510には、情報および命令を記憶するための1つまたは複数のストレージデバイスたとえば磁気ハードディスク541およびリムーバブル媒体ドライブ542(たとえばフロッピーディスクドライブ、コンパクトディスクドライブ、テープドライブ、および/またはソリッドステートドライブ)などを制御するために、システムバス521と接続されたディスクコントローラ540も含まれている。これらのストレージデバイスを、適切なデバイスインタフェース(たとえばsmall computer system interface (SCSI), integrated device electronics (IDE), Universal Serial Bus (USB)またはFire Wire)を用いて、コンピュータシステム510に追加することができる。
コンピュータシステム510にはさらに、コンピュータユーザに情報を表示するための、ブラウン管(CRT)または液晶ディスプレイ(LCD)などのようなディスプレイ566を制御するために、システムバス521と接続されたディスプレイコントローラ565も含めることができる。コンピュータシステムには、コンピュータユーザとのインタラクションおよび1つまたは複数のプロセッサ520への情報の供給のために、入力インタフェース560と、キーボード562およびポインティングデバイス561などのような1つまたは複数の入力デバイスが含まれている。方向情報およびコマンド選択を1つまたは複数のプロセッサ520へ伝達するために、およびディスプレイ566上でのカーソルの動きを制御するために、ポインティングデバイス561をたとえばマウス、ライトペン、トラックボール、またはポインティングスティックとすることができる。ディスプレイ566によって、タッチスクリーンインタフェースを提供することができ、このインタフェースによって、ポインティングデバイス561による方向情報およびコマンド選択の伝達を補足または置き換えるための入力が可能となる。
コンピュータシステム510は、システムメモリ530などのようなメモリ内に含まれている1つまたは複数の命令の1つまたは複数のシーケンスを実行する、1つまたは複数のプロセッサ520に応答して、本発明の実施形態の処理ステップの一部分またはすべてを実行することができる。このような命令を、磁気ハードディスク541またはリムーバブル媒体ドライブ542など他のコンピュータ読み取り可能媒体から、システムメモリ530に読み込むことができる。磁気ハードディスク541は、本発明の実施形態により使用される1つまたは複数のデータストアおよびデータファイルを含むことができる。セキュリティ向上のため、データストアのコンテンツおよびデータファイルを暗号化することができる。システムメモリ530内に含まれている1つまたは複数の命令シーケンスを実行するために、複数のプロセッサ520をマルチプロセッシング構成で使用することもできる。択一的な実施形態によれば、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路を用いてもよい。したがって、ハードウェア回路とソフトウェアの何らかの特定の組み合わせに、実施形態が限定されるものではない。
上述のようにコンピュータシステム510は、本発明の実施形態に従ってプログラミングされた命令を保持するための、およびデータ構造、テーブル、レコードまたはここで述べた他のデータを入れるための、少なくとも1つのコンピュータ読み取り可能媒体またはメモリを含むことができる。ここで用いられている用語「コンピュータ読み取り可能媒体」は、実行のために1つまたは複数のプロセッサ520に命令を供給することに関与する何らかの媒体のことを指す。コンピュータ読み取り可能媒体は、以下に限定されるものではないが、非一時的媒体、不揮発性媒体、揮発性媒体および伝送媒体を含む数多くの形態をとることができる。不揮発性媒体の非限定的な例を挙げると、光ディスク、ソリッドステートドライブ、磁気ディスク、および光磁気ディスクであり、たとえば磁気ハードディスク541またはリムーバブル媒体ドライブ542などである。揮発性媒体の非限定的な例を挙げると、システムメモリ530などのようなダイナミックメモリである。伝送媒体の非限定的な例を挙げると、同軸ケーブル、銅線、および光ファイバであり、これにはシステムバス521を構築するワイヤが含まれる。伝送媒体には、電波や赤外線によるデータ通信中に発せられるような、音響波または光波の形態を含めることができる。
コンピューティング環境500にはさらに、リモートコンピュータ580などのような1つまたは複数のリモートコンピュータとの論理接続を用いてネットワークが構築された環境で動作するコンピュータシステム510を含めることができる。リモートコンピュータ580を、パーソナルコンピュータ(ラップトップまたはデスクトップ)、モバイルデバイス、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードとすることができ、このリモートコンピュータ580には一般に、コンピュータシステム510に関連して述べた上述の要素のうちの多数またはすべてが含まれている。ネットワーキング環境で用いられる場合、コンピュータシステム510には、インターネットなどのようなネットワーク571を介して通信を確立するために、モデム572を含めることができる。モデム572を、ユーザネットワークインタフェース570を介して、または他の適切なメカニズムを介して、システムバス521と接続することができる。
ネットワーク571を、当技術分野において一般的に知られている任意のネットワークまたはシステムとすることができ、これにはインターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、1つのダイレクトコネクションまたは一連のダイレクトコネクション、セルラ電話回線網、またはコンピュータシステム510と他のコンピュータ(たとえばリモートコンピューティング580)との間の通信を促進することのできる他の任意のネットワークまたは媒体が含まれる。ネットワーク571を有線、ワイヤレス、またはそれらの組み合わせとすることができる。有線コネクションを、Ethernet、Universal Serial Bus (USB)、RJ-6、または当技術分野で一般的に知られている他の任意の有線コネクションを用いて、インプリメントすることができる。ワイヤレスコネクションを、Wi-Fi、WiMAXおよびBluetooth、赤外線ネットワーク、セルラネットワーク、衛星、または当技術分野で一般的に知られている他の任意のワイヤレスコネクション技法を用いて、インプリメントすることができる。これらに加え、複数のネットワークを単独で動作させてもよいし、または互いに通信し合う状態で動作させてもよく、これによればネットワーク571における通信が容易になる。
ここで用いられる実行可能なアプリケーションは、たとえばユーザのコマンドまたは入力に応答して、オペレーティングシステム、コンテキストデータ取得システムまたは他の情報処理システムのファンクションなど、予め定められたファンクションをインプリメントするために、プロセッサをコンディショニングするためのコードまたは機械読み取り可能な命令を含んでいる。実行可能なプロシージャは、1つまたは複数の特定のプロセスを実施するために実行可能なアプリケーションの、コードまたは機械読み取り可能な命令の1つのセグメント、サブルーチン、またはコードまたは一部分の他の別個のセクションである。これらのプロセスとして挙げられるのは、入力データおよび/またはパラメータの受け取り、受け取った入力データに基づくオペレーションの実施、および/または受け取った入力パラメータに応答したファンクションの実施、および結果として生じた出力データおよび/またはパラメータの供給である。
ここで用いられるグラフィックユーザインタフェース(GUI)には、ディスプレイプロセッサにより生成される1つまたは複数のディスプレイイメージが含まれており、これによってプロセッサまたは他のデバイスおよび対応づけられたデータ取得および処理のファンクションとのユーザインタラクションが可能になる。GUIには、実行可能なプロシージャまたは実行可能なアプリケーションも含まれている。実行可能なプロシージャまたは実行可能なアプリケーションによって、GUIディスプレイイメージを表す信号を発生させるために、ディスプレイプロセッサがコンディショニングされる。これらの信号は、ユーザが閲覧するためのイメージを表示するディスプレイデバイスに供給される。プロセッサは、実行可能なプロシージャまたは実行可能なアプリケーションの制御に従い、入力デバイスから受け取った信号に応答して、GUIディスプレイイメージを操作する。このようにしてユーザは、プロセッサまたは他のデバイスとのユーザインタラクションを可能にする入力デバイスを用いることで、ディスプレイイメージとインタラクトすることができる。
ここでファンクションおよびプロセスステップを、ユーザコマンドに応答して、完全にまたは部分的に自動的に実施させることができる。自動的に実施される1つのアクティビティは(1つのステップを含めて)、そのアクティビティをユーザがじかに開始させることなく、1つまたは複数の実行可能な命令またはデバイスオペレーションに応答して実施される。
図面のシステムおよびプロセスは、排他的なものではない。同じ目的を達成するために、本発明の原理に従って他のシステム、プロセスおよびメニューを派生させることができる。これまで本発明について、特定の実施形態を参照しながら説明してきたが、ここに示して説明した実施形態および変形形態は例示目的であるにすぎない、という点を理解されたい。当業者であれば、本発明の範囲を逸脱することなく、現行の設計に対する変更をインプリメントすることができる。さらにこれまで述べてきたように、様々なシステム、サブシステム、エージェント、マネージャおよびプロセスを、ハードウェアコンポーネント、ソフトウェアコンポーネント、および/またはそれらの組み合わせを用いてインプリメントすることができる。本願の特許請求の範囲の構成要件を「〜のための手段」"means for"というフレーズを用いて特別に挙げないかぎり、その要件は米国特許法第112条第6項の条項に従って解釈されるものではない。

Claims (20)

  1. ユーザからの入力に基づき、オートメーションアプリケーションを設計するためのシステムであって、
    当該システムは、ライブラリインタフェースと、三次元ワークスペースと、シミュレーションエンジンと、コントローラコード生成ユニットとを含み、
    前記ライブラリインタフェースは、
    ・コンポーネントライブラリからの複数のコンポーネントのユーザ選択を受け取る
    ように構成されており、
    前記三次元ワークスペースは、
    ・前記複数のコンポーネントを表示し、
    ・ユーザにより供給された1つまたは複数の命令に基づき、前記複数のコンポーネントを用いて、当該三次元ワークスペース内にシステム設計を生成する
    ように構成されており、
    前記シミュレーションエンジンは、
    ・前記三次元ワークスペース内の前記システム設計に基づき、シミュレーションコードを生成し、
    ・ユーザからのコマンドに応答して、前記シミュレーションコードを実行する
    ように構成されており、ただし、前記三次元ワークスペース内の前記複数のコンポーネントのうち少なくとも1つのコンポーネントは、前記シミュレーションコード実行中、アニメーションで表示され、
    前記コントローラコード生成ユニットは、
    ・前記三次元ワークスペース内の前記複数のコンポーネントに対応する、1つまたは複数の物理コントローラを識別し、
    ・前記システム設計に基づき、前記1つまたは複数の物理コントローラのために、コントローラにより実行可能なコードを生成する
    ように構成されている、
    オートメーションアプリケーションを設計するためのシステム。
  2. 前記複数のコンポーネントは、
    ・1つの物理デバイスモデルに各々対応づけられた複数の物理コンポーネントと、
    ・1つの論理演算に各々対応づけられた複数の論理要素と
    を含む、
    請求項1記載のシステム。
  3. 前記三次元ワークスペースはさらに、
    ・前記複数の論理要素と前記複数の物理コンポーネントとの対応づけを、1つまたは複数のユーザ命令に基づき生成する
    ように構成されている、
    請求項2記載のシステム。
  4. 前記三次元ワークスペースはさらに、
    ・第1のユーザリクエストに基づき、前記複数の論理要素のうち1つまたは複数の論理要素を含む論理要素コンテナを生成し、
    ・第2のユーザリクエストに基づき、前記論理要素コンテナと、前記複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントとの対応づけを生成する
    ように構成されている、
    請求項2記載のシステム。
  5. 前記論理要素コンテナと、前記複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントとの対応づけは、以下により生成される、すなわち、
    ・第1のユーザ選択に基づき、第1の物理オブジェクトを識別し、
    ・前記論理要素コンテナの論理入力ポートオブジェクトを、前記第1の物理オブジェクトのデバイス出力ポートオブジェクトと接続し、
    ・第2のユーザ選択に基づき、第2の物理オブジェクトを識別し、
    ・前記論理要素コンテナの論理出力ポートオブジェクトを、前記第2の物理オブジェクトのデバイス入力ポートオブジェクトと接続する
    ことにより生成される、
    請求項4記載のシステム。
  6. 前記三次元ワークスペースはさらに、
    ・前記複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントのための1つまたは複数の属性値のユーザコンフィギュレーションを受け取る
    ように構成されており、ただし、前記1つまたは複数の属性値は、前記シミュレーションコード実行中、前記複数の物理コンポーネントのうち少なくとも1つの物理コンポーネントの挙動をシミュレートするために用いられる物理モデルへの入力に対応する、
    請求項2記載のシステム。
  7. 前記シミュレーションエンジンによる前記シミュレーションコードの実行は、前記コントローラにより実行可能なコードを仮想マシンにおいて実行することを含む、
    請求項1記載のシステム。
  8. 当該システムは、マーケットプレイスインタフェースコンポーネントをさらに含み、該マーケットプレイスインタフェースコンポーネントは、
    ・マーケットプレイスサーバから1つまたは複数のデバイスモデルを取り出し、
    ・前記1つまたは複数のデバイスモデルに基づき、前記コンポーネントライブラリ内に1つまたは複数の新たなコンポーネントを生成する
    ように構成されている、
    請求項1記載のシステム。
  9. 前記三次元ワークスペース内の前記複数のコンポーネントに対応する前記1つまたは複数の物理コントローラは、該1つまたは複数の物理コントローラから受け取ったデバイス通知メッセージに基づき識別される、
    請求項1記載のシステム。
  10. ユーザからの入力に基づき、オートメーションアプリケーションを設計するためのシステムであって、
    当該システムは、
    ・産業環境の三次元モデルをユーザが生成および操作できるように構成されたワークスペースと、
    ・前記三次元モデルの物理的挙動をシミュレートするように構成されたシミュレーションエンジンと、
    ・前記産業環境の前記三次元モデルに含まれている物理コンポーネントに対応する1つまたは複数の物理コントローラのために、コントローラにより実行可能なコードを生成するように構成された、コントローラコード生成ユニットと
    を含む、
    ユーザからの入力に基づき、オートメーションアプリケーションを設計するためのシステム。
  11. 前記シミュレーションエンジンは、
    ・前記産業環境の前記三次元モデルを、該三次元モデルの物理的挙動のシミュレーション中、アニメーションで表示する
    ように構成されている、
    請求項10記載のシステム。
  12. 前記産業環境の前記三次元モデルは、
    ・1つの物理デバイスモデルに各々対応する複数の物理コンポーネントと、
    ・1つの論理デバイス演算子に各々対応する複数の論理コンポーネントと、
    ・前記複数の物理コンポーネントと前記複数の論理コンポーネントとの少なくとも1つの対応づけと
    を含む、
    請求項10記載のシステム。
  13. 前記複数の論理コンポーネントは、前記ワークスペース内に表示される1つの論理コンポーネントコンテナにグループ分けされる、
    請求項12記載のシステム。
  14. 当該システムは、デバイスディスカバリインタフェースをさらに含み、該デバイスディスカバリインタフェースは、
    ・前記1つまたは複数の物理コントローラからデバイス通知メッセージを受け取り、
    前記デバイス通知メッセージに基づき、前記1つまたは複数の物理コントローラを識別する
    ように構成されている、
    請求項12記載のシステム。
  15. 当該システムは、マーケットプレイスインタフェースをさらに含み、該マーケットプレイスインタフェースは、
    ・1つの物理デバイスに対応する新たな物理デバイスモデルを、マーケットプレイスサーバから受け取り、
    ・前記新たな物理デバイスモデルに基づき、前記産業環境の前記三次元モデルにおいて使用するために、新たな物理コンポーネントを生成する
    ように構成されている、
    請求項12記載のシステム。
  16. 前記マーケットプレイスインタフェースはさらに、
    ・前記マーケットプレイスサーバを介した前記物理デバイスのユーザによる取得を補助する
    ように構成されている、
    請求項15記載のシステム。
  17. コンピュータにより実施される、ユーザからの入力に基づきオートメーションアプリケーションを設計する方法であって、
    当該方法は以下のステップを含む、すなわち
    ・コンポーネントライブラリからの複数のコンポーネントのユーザ選択を、コンピュータにより受け取るステップと、
    ・ユーザにより供給された1つまたは複数の命令に基づき、前記複数のコンポーネントを用いて、前記コンピュータにより三次元ワークスペース内にシステム設計を生成するステップと、
    ・前記三次元ワークスペース内の前記システム設計に基づき、前記コンピュータによりシミュレーションコードを生成するステップと、
    ・ユーザからのコマンドに応答して、前記コンピュータにより前記シミュレーションコードを実行するステップと、
    ・前記三次元ワークスペース内の前記複数のコンポーネントに対応する、1つまたは複数の物理コントローラを、前記コンピュータにより識別するステップと、
    ・前記システム設計に基づき、前記1つまたは複数の物理コントローラのために、コントローラにより実行可能なコードを、前記コンピュータにより生成するステップと
    を含む、
    コンピュータにより実施される、オートメーションアプリケーションを設計する方法。
  18. ユーザからのコマンドに応答して前記シミュレーションコードを実行する前記ステップは、前記コントローラにより実行可能なコードを仮想マシンにおいて実行するステップを含む、
    請求項17記載の方法。
  19. 前記三次元ワークスペース内の前記複数のコンポーネントのうち少なくとも1つのコンポーネントを、前記シミュレーションコードの実行中、アニメーションで表示する、
    請求項17記載の方法。
  20. 当該方法はさらに、
    ・前記1つまたは複数の物理コントローラからデバイス通知メッセージを、前記コンピュータにより受け取るステップと、
    前記デバイス通知メッセージに基づき、前記1つまたは複数の物理コントローラを、前記コンピュータにより識別するステップと
    を含む、
    請求項17記載の方法。
JP2017517718A 2014-10-02 2014-10-02 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング Pending JP2018501532A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020002854A JP6931099B2 (ja) 2014-10-02 2020-01-10 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/058769 WO2016053337A1 (en) 2014-10-02 2014-10-02 Programming automation in a 3d graphical editor with tightly coupled logic and physical simulation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020002854A Division JP6931099B2 (ja) 2014-10-02 2020-01-10 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング

Publications (1)

Publication Number Publication Date
JP2018501532A true JP2018501532A (ja) 2018-01-18

Family

ID=51799311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017517718A Pending JP2018501532A (ja) 2014-10-02 2014-10-02 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング

Country Status (6)

Country Link
US (1) US10620917B2 (ja)
EP (1) EP3201702B1 (ja)
JP (1) JP2018501532A (ja)
CN (1) CN107077339B (ja)
RU (1) RU2678356C2 (ja)
WO (1) WO2016053337A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021525911A (ja) * 2018-05-30 2021-09-27 ソニー・インタラクティブエンタテインメント エルエルシー マルチサーバクラウド仮想現実(vr)ストリーミング

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10429437B2 (en) * 2015-05-28 2019-10-01 Keysight Technologies, Inc. Automatically generated test diagram
CA2931901A1 (en) * 2015-06-08 2016-12-08 Wal-Mart Stores, Inc. Systems and methods for controlling checkout belt speed
DE102016107560A1 (de) * 2016-04-22 2017-10-26 Festo Ag & Co. Kg Lebenszyklus-Managementsystem für Anlagenkomponenten
US20180004393A1 (en) 2016-07-01 2018-01-04 Autodesk, Inc. Three dimensional visual programming interface for a network of devices
US11820025B2 (en) * 2017-02-07 2023-11-21 Veo Robotics, Inc. Safe motion planning for machinery operation
CN110312974B (zh) * 2017-02-20 2023-08-22 西门子股份公司 用于过程工业的模拟中的编程
US10528700B2 (en) 2017-04-17 2020-01-07 Rockwell Automation Technologies, Inc. Industrial automation information contextualization method and system
US10877464B2 (en) 2017-06-08 2020-12-29 Rockwell Automation Technologies, Inc. Discovery of relationships in a scalable industrial analytics platform
KR102384855B1 (ko) * 2017-09-29 2022-04-08 주식회사 한화 신호 처리 방법, 장치 및 프로그램
US20200262073A1 (en) * 2017-09-30 2020-08-20 Siemens Aktiengesellschaft Engineering autonomous systems with reusable skills
RU2750060C2 (ru) * 2017-12-06 2021-06-21 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для контроля промышленного процесса с помощью обученного алгоритма машинного обучения (MLA)
WO2020077430A1 (en) * 2018-10-15 2020-04-23 Eight Solutions Inc. Method and system for processing operating condition data associated with execution of a process
US11403541B2 (en) 2019-02-14 2022-08-02 Rockwell Automation Technologies, Inc. AI extensions and intelligent model validation for an industrial digital twin
US11086298B2 (en) 2019-04-15 2021-08-10 Rockwell Automation Technologies, Inc. Smart gateway platform for industrial internet of things
EP3792206A1 (en) 2019-09-11 2021-03-17 Interroll Holding AG A conveyor device and method for configuring a conveyor device
US10942710B1 (en) 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US11080176B2 (en) 2019-09-26 2021-08-03 Rockwell Automation Technologies, Inc. Testing framework for automation objects
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11163536B2 (en) 2019-09-26 2021-11-02 Rockwell Automation Technologies, Inc. Maintenance and commissioning
US11733687B2 (en) 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11442439B2 (en) * 2019-09-27 2022-09-13 Rockwell Automation Technologies, Inc. System and method for industrial automation device library
US11841699B2 (en) 2019-09-30 2023-12-12 Rockwell Automation Technologies, Inc. Artificial intelligence channel for industrial automation
US11435726B2 (en) 2019-09-30 2022-09-06 Rockwell Automation Technologies, Inc. Contextualization of industrial data at the device level
US20210141870A1 (en) * 2019-11-11 2021-05-13 Rockwell Automation Technologies, Inc. Creation of a digital twin from a mechanical model
US11318616B2 (en) 2019-11-11 2022-05-03 Rockwell Automation Technologies, Inc. Robotic digital twin control with industrial context simulation
CN111198674B (zh) * 2019-12-23 2021-10-15 华为技术有限公司 一种软件架构的可视化方法及装置
CN111158684B (zh) * 2019-12-30 2023-07-04 北京天融信网络安全技术有限公司 系统创建方法、装置、电子设备及可读存储介质
US11249462B2 (en) 2020-01-06 2022-02-15 Rockwell Automation Technologies, Inc. Industrial data services platform
US11526159B2 (en) * 2020-02-14 2022-12-13 Rockwell Automation Technologies, Inc. Augmented reality human machine interface testing
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment
US20230161331A1 (en) * 2020-04-25 2023-05-25 Goran Music Method for programming a plant control system
US11593393B1 (en) 2020-05-22 2023-02-28 Cigna Intellectual Property, Inc. Systems and methods for providing automated integration and error resolution of records in complex data systems
US11726459B2 (en) * 2020-06-18 2023-08-15 Rockwell Automation Technologies, Inc. Industrial automation control program generation from computer-aided design
CN112083922A (zh) * 2020-09-21 2020-12-15 深圳市金玺智控技术有限公司 可视化编程方法、装置、设备及存储介质
US11675936B2 (en) 2020-09-28 2023-06-13 Rockwell Automation Technologies, Inc. Unifying multiple simulation models
CN112631570A (zh) * 2020-12-31 2021-04-09 深圳市大富网络技术有限公司 一种动画电影制作方法、系统、装置及计算机存储介质
CN114968217A (zh) * 2021-02-25 2022-08-30 西门子股份公司 数控机床系统的编程方法及装置
CN114003004A (zh) * 2021-09-28 2022-02-01 南京睿首智能技术研究院有限公司 一种多模式仿真交互实现方法、系统、设备及存储介质
US20230273588A1 (en) * 2022-02-28 2023-08-31 Rockwell Automation Technologies, Inc. Manufacturing process data conversion and structuring
US11853311B2 (en) * 2022-02-28 2023-12-26 Rockwell Automation Technologies, Inc. Manufacturing process data orchestration

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272844A (ja) * 1995-03-30 1996-10-18 Omron Corp 生産設備設計運用支援装置および方法
JPH10143221A (ja) * 1996-11-11 1998-05-29 Mitsubishi Electric Corp 機器制御プログラムの開発支援システムおよび開発支援方法
JP2004199656A (ja) * 2002-10-22 2004-07-15 Fisher Rosemount Syst Inc プロセス制御システムエレメント
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
JP2007241857A (ja) * 2006-03-10 2007-09-20 Fanuc Ltd ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP2013536480A (ja) * 2010-05-25 2013-09-19 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド 閉ループ制御器のプログラミングのための方法およびシステム

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5184307A (en) 1988-04-18 1993-02-02 3D Systems, Inc. Method and apparatus for production of high resolution three-dimensional objects by stereolithography
JP2927484B2 (ja) * 1989-01-25 1999-07-28 株式会社日立製作所 プログラムの自動生成方法及び装置
US5812394A (en) * 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5847953A (en) * 1996-09-23 1998-12-08 National Instruments Corporation System and method for performing class checking of objects in a graphical data flow program
US6161051A (en) * 1998-05-08 2000-12-12 Rockwell Technologies, Llc System, method and article of manufacture for utilizing external models for enterprise wide control
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6477435B1 (en) * 1999-09-24 2002-11-05 Rockwell Software Inc. Automated programming system for industrial control using area-model
US6556950B1 (en) * 1999-09-30 2003-04-29 Rockwell Automation Technologies, Inc. Diagnostic method and apparatus for use with enterprise control
US6993456B2 (en) * 1999-09-30 2006-01-31 Rockwell Automation Technologies, Inc. Mechanical-electrical template based method and apparatus
US7865349B2 (en) * 2001-01-19 2011-01-04 National Instruments Corporation Simulation, measurement and/or control system and method with coordinated timing
US6819960B1 (en) * 2001-08-13 2004-11-16 Rockwell Software Inc. Industrial controller automation interface
US20050177816A1 (en) * 2002-03-08 2005-08-11 National Instruments Corporation Automatic generation of graphical program code for a graphical program based on the target platform of the graphical program
US7146231B2 (en) 2002-10-22 2006-12-05 Fisher-Rosemount Systems, Inc.. Smart process modules and objects in process plants
US20060250401A1 (en) * 2005-05-06 2006-11-09 Patrick Pannese Systems and methods for generating 3D simulations
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US7797673B2 (en) * 2004-12-16 2010-09-14 The Mathworks, Inc. Applying coding standards in graphical programming environments
US8365086B2 (en) * 2005-05-03 2013-01-29 The Mathworks, Inc. System and method for building graphical instrument panels
GB2425859A (en) * 2005-05-05 2006-11-08 Advanced Risc Mach Ltd Modelling of programmable devices
CN100476853C (zh) * 2006-03-29 2009-04-08 北京航空航天大学 Sins/cns/gps组合导航半实物仿真系统
WO2007129488A1 (ja) * 2006-05-10 2007-11-15 National Institute Of Advanced Industrial Science And Technology 電子商取引システム及び方法
US8046739B2 (en) * 2006-08-04 2011-10-25 National Instruments Corporation System and method for enabling a graphical program to propagate attributes of inputs and outputs of blocks
US8578347B1 (en) * 2006-12-28 2013-11-05 The Mathworks, Inc. Determining stack usage of generated code from a model
WO2009021541A1 (de) * 2007-08-16 2009-02-19 Siemens Aktiengesellschaft System zur erstellung eines simulationsprogramms
US20090063686A1 (en) * 2007-08-30 2009-03-05 Schmidt Brian K Automated service discovery and dynamic connection management
US20090089234A1 (en) * 2007-09-28 2009-04-02 Rockwell Automation Technologies, Inc. Automated code generation for simulators
US8555243B2 (en) * 2010-07-30 2013-10-08 National Instruments Corporation Generating and debugging timing accurate simulations in a graphical specification and constraint language
US8539389B2 (en) * 2010-09-27 2013-09-17 Teseda Corporation Correlation of device manufacturing defect data with device electrical test data
US8798775B2 (en) 2011-06-28 2014-08-05 Rockwell Automation Technologies, Inc. Binding graphic elements to controller data
US9110653B2 (en) * 2011-08-26 2015-08-18 Siemens Product Lifecycle Management Software Inc. Generating PLC code from CAD models
EP2568400A1 (en) 2011-09-08 2013-03-13 Dassault Systèmes Method and system for designing an assembly of objects in a system of computer-aided design
US8600714B2 (en) * 2011-09-13 2013-12-03 The Procter & Gamble Company Systems for machine emulation and process response prediction
CN102402638B (zh) * 2011-12-20 2014-11-26 黄天驰 基于Modelica语言的液压起升机构仿真建模方法
US8656345B2 (en) * 2012-03-19 2014-02-18 National Instruments Corporation Managing hardware implementation and deployment of a graphical program
US20140019112A1 (en) * 2012-07-10 2014-01-16 Siemens Product Lifecycle Management Software Inc. Synthesis of simulation models from systems engineering data
US9720393B2 (en) * 2012-08-31 2017-08-01 P.C. Automax Inc. Automation system and method of manufacturing product using automated equipment
RU132297U1 (ru) 2013-03-26 2013-09-10 Открытое акционерное общество "Научно-исследовательский институт "Кулон" Автоматизированная система проектирования электронных устройств
WO2017040145A1 (en) * 2015-08-28 2017-03-09 Turck Holding Gmbh Web-based programming environment for embedded devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272844A (ja) * 1995-03-30 1996-10-18 Omron Corp 生産設備設計運用支援装置および方法
JPH10143221A (ja) * 1996-11-11 1998-05-29 Mitsubishi Electric Corp 機器制御プログラムの開発支援システムおよび開発支援方法
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
JP2004199656A (ja) * 2002-10-22 2004-07-15 Fisher Rosemount Syst Inc プロセス制御システムエレメント
JP2007241857A (ja) * 2006-03-10 2007-09-20 Fanuc Ltd ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP2013536480A (ja) * 2010-05-25 2013-09-19 シーメンス プロダクト ライフサイクル マネージメント ソフトウェアー インコーポレイテッド 閉ループ制御器のプログラミングのための方法およびシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021525911A (ja) * 2018-05-30 2021-09-27 ソニー・インタラクティブエンタテインメント エルエルシー マルチサーバクラウド仮想現実(vr)ストリーミング
JP7273068B2 (ja) 2018-05-30 2023-05-12 ソニー・インタラクティブエンタテインメント エルエルシー マルチサーバクラウド仮想現実(vr)ストリーミング

Also Published As

Publication number Publication date
CN107077339A (zh) 2017-08-18
EP3201702C0 (en) 2023-06-07
RU2017114994A3 (ja) 2018-11-06
CN107077339B (zh) 2021-09-14
US10620917B2 (en) 2020-04-14
WO2016053337A1 (en) 2016-04-07
EP3201702A1 (en) 2017-08-09
EP3201702B1 (en) 2023-06-07
RU2017114994A (ru) 2018-11-06
RU2678356C2 (ru) 2019-01-29
US20170249129A1 (en) 2017-08-31

Similar Documents

Publication Publication Date Title
US10620917B2 (en) Programming automation in a 3D graphical editor with tightly coupled logic and physical simulation
US11816309B2 (en) User interface logical and execution view navigation and shifting
US11972177B2 (en) Interface for data exchange between industrial controllers and simulation applications for simulating a machine
EP3798757B1 (en) System and method for developing industrial applications
CN112784328B (zh) 用于开发自动化系统模型的系统和方法
US10747915B2 (en) Programming automation sensor applications using simulation
CN105467858A (zh) 一种机器人控制程序图形化集成开发环境
US20220156433A1 (en) Industrial network communication emulation
KR20180100276A (ko) 머신 비전 시스템들을 위한 비주얼 프로그램을 제공하기 위한 장치들, 시스템들 및 방법들
US11675936B2 (en) Unifying multiple simulation models
US20230153486A1 (en) Method and device for simulation
US20220317833A1 (en) Preferential automation view curation
EP3673334B1 (en) Method for engineering autonomous system with reusable skills
US20160098038A1 (en) Sizing and selection closer to the executing environment
JP6931099B2 (ja) 密結合ロジックおよび物理的シミュレーションを用いた3dグラフィックエディタにおけるオートメーションのプログラミング
Rocha et al. 3D virtual system of an Apple sorting process using hardware-in-the-loop technique
US20220100181A1 (en) Wiring diagram manager and emulator
Flake et al. Customer-oriented systems design through virtual prototypes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190107

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190405

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190910