(57)【要約】  エンジニアリングツールは、スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータをスプレッドシートのセルのうちの１つのセルに設定することによって、または、スプレッドシートのセルのうちのいくつかのセルに定義された計算を、スプレッドシートのセルのうちの他のセルに関連して設定することによって、定義を編集するように構成されたスプレッドシートエディターと、コントローラが機器を制御するために、編集された定義に基づいて、コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部とを含む。
2017077887.tif 000002
【特許請求の範囲】
【請求項１】
スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、
を備えるエンジニアリングツール。
【請求項２】
前記エンジニアリングツールは、データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項３】
前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに備える、請求項１に記載のエンジニアリングツール。
【請求項４】
前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項５】
前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成される、請求項１に記載のエンジニアリングツール。
【請求項６】
前記エンジニアリングツールは、構成されたディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成される、請求項１に記載のエンジニアリングツール。
【請求項７】
前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第１のフォーマットから第２のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成される、請求項１に記載のエンジニアリングツール。
【請求項８】
前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第２のフォーマットから前記第１のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成される、請求項７に記載のエンジニアリングツール。
【請求項９】
前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成される、請求項８に記載のエンジニアリングツール。
【請求項１０】
前記エンジニアリングツールは、
サード・パーティ・アプリケーションと、
前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも１つの機能へのアクセスを与えるように構成された入出力設定インターフェースと、
をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項１１】
プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項１２】
データを処理するように構成されたシステムであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいてモジュールファイルを生成するように構成されたモジュールファイル生成部と、
データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、
複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、
を備えるエンジニアリングツールと、
前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、
前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、
前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、
を備えるコントローラと、
を備えるシステム。
【請求項１３】
前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの１つの構造を編集するように構成されたデータモデル構造エディターをさらに備える、請求項１２に記載のシステム。
【請求項１４】
前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備え、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに備える、請求項１４に記載のシステム。
【請求項１６】
コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、
を備えるエンジニアリングツール。
【請求項１７】
コントローラで使用され、スプレッドシートに基づいてエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、
前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、
前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、
モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示する例示的実施形態は、例えば、産業ロボット、工作機械、組み込み機器を含むファクトリーオートメーション（ＦＡ）機器などの機器から得たデータを処理する装置、システム、および方法に関する。
【背景技術】
【０００２】
ファクトリーオートメーション（「ＦＡ」）の技術分野において、工場の機器の操作者は、工場の機器の監視および工場の機器に関するデータの処理などの様々なタスクを実行するのに、ワールド・ワイド・ウェブに接続したコンピュータシステム（ウェブベースのコンピュータシステム）などのネットワーク・コンピュータ・システムを使用することが多い。関連技術において、ウェブベースのコンピュータシステムを構築する一般的な方法では、情報技術（ＩＴ）システムと通信するためのプログラム、工場の機器と通信するためのプログラム、データ処理のためのプログラム、ウェブ上で処理データを表示および実行するためのプログラムなどの各種のプログラムを別々に作成し、これらの別々に作成されたプログラムが通信プロトコルを介して互いに通信するように設定する。【０００３】
ウェブベースの技術は世界中で利用されているので、工場の機器の視覚化および情報処理動作を実行するのにウェブベースの技術が使用されるようになってきた。【０００４】
図１６は、関連技術に係る、ＦＡ機器から得たデータを処理するウェブベースシステムを示す。図１６に示すように、ウェブベースシステム１６００は実デバイス１６０３とプログラミング環境１６２３（例えば、コードの書き込み、コードの正当性の検証、および特定の対象プラットフォームで実行するためのコードのコンパイルに使用するツール）とを含む。【０００５】
実デバイス１６０３は、データ処理プログラム１６０７と外部機器との通信プログラム１６０９とを含むプログラム実行スペース１６０５と、ウェブサーバー１６１５とを含む。データ処理プログラム１６０７はデータの選別、集計、変換（スケーリングなど）、判定（ビジネスロジック）などの各種のデータ処理動作を実行し、ウェブサーバー１６１５と通信し、ウェブサーバー１６１５はウェブクライアント１６１９と通信する。データ処理プログラム１６０７はまた、コーディング環境１６１７と通信する。外部機器との通信プログラム１６０９は、各種の通信プロトコルにより、各種のシステムと通信可能である。外部機器との通信プログラム１６０９は、ＨＴＴＰ、ＦＴＰ、またはＪＤＢＣなどの通信プロトコルを使用してＩＴシステム１６１１と通信し、ＲＳ−２３２Ｃ、イーサネット（登録商標）、または低レベルＩ／Ｏを使用してファクトリーオートメーション（ＦＡ）機器１６１３と通信する。外部機器との通信プログラム１６０９はさらにコーディング環境１６１７と通信する。【０００６】
プログラミング環境１６２３は、上記処理を実行するためのコンピュータコードを作成する環境であるコーディング環境１６１７を含む。ユーザーはコーディング環境１６１７を用いて、（１）工場の機器と通信するためのＣ言語に基づくコード、（２）ＩＴシステム１６１１と通信するためのＪａｖａ（登録商標）に基づくコード、（３）ウェブアプリケーションのためのＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）、またはＰＨＰに基づくコード、（４）データベースにアクセスするためのＳＱＬに基づくコード、（５）ビジネスロジックを記述するためのＬｕａに基づくコードを含む、少なくとも５種類のコンピュータコードを作成する。特定の状況では、５を超える種類のコードが必要なこともある。ユーザーがこれらの各種のコンピュータコードを作成すると、コーディング環境１６１７はこれらの作成されたコードを使用して、データ処理プログラム１６０７と、外部機器との通信プログラム１６０９と、ワールド・ワイド・ウェブ用のウェブファイル１６２１と通信する。【０００７】
上述のように、関連技術のウェブベースシステム１６００によれば、ウェブベースシステム１６００を構築し操作する人は、各ＦＡ機器のデータを処理するのに適した各種のコンピュータコードを作成するために様々な種類のコンピュータ言語に堪能である必要があり、また、ウェブベースシステム１６００、各ＦＡ機器、ＩＴシステム、および他の実体との間でデータを交換するのに使用する様々な種類のプロトコルに堪能である必要もある。さらに、ウェブベースシステム１６００の操作者は、ＦＡシステム自体だけでなく、ＦＡシステムと対話するＩＴシステム１６１１およびウェブクライアント１６１９を含む他のシステムに関する高度に専門的な知識を有する必要がある。さらに、ウェブベースシステム１６００の操作者は、データ処理動作と通信処理動作とを連続的に組み合わせる方法を知っている必要があるが、これは非常に複雑な処理になることがある。【０００８】
その結果、ＦＡ機器のデータ処理のためのウェブベースシステムを構築し操作するのに必要な技能を持つ人は非常に少ない。【０００９】
Ｒｏｓｅｍａｎの米国特許第５，０３８，３１８号は、工作機械の自動運転と処理装置とを指示するプログラマブル・ロジック・コントローラを開示している。【００１０】
Ｆｒｅｄｅｒｉｃｋらの米国特許第７，１１７，０４３号は、プログラマブル・ロジック・コントローラ（ＰＬＣ）によって制御されるシステムの機器および機能に関する情報を含むスプレッドシートを作成し、スプレッドシートを分析し、システムを制御するためのＰＬＣロジックを書く技術を開示している。【００１１】
Ｂｅｄａｒｄの米国特許出願第２０１４／０１４９８３６号は、スプレッドシートファイルとダッシュボード構造ファイルとを含むダッシュボード・コンテナ・ファイルを受信する方法を開示し、スプレッドシートファイルとダッシュボード構造ファイルはそれぞれ、テキストベースの、言語非依存のデータ交換フォーマットに変換されるので、ダッシュボードの特徴を示すデータを、変換されたスプレッドシートおよびダッシュボードファイルを使用して提供することができる。【００１２】
しかしながら、これらの関連技術の技法では、ＦＡ機器などの機器のデータを処理するウェブベースシステムを構築および操作するのに必要な技能を持つ人が非常に少ないという上記の問題は解決しない。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】米国特許第５，０３８，３１８号明細書
【特許文献２】米国特許第７，１１７，０４３号明細書
【特許文献３】米国特許出願公開第２０１４／０１４９８３６号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記関連技術の説明は、先行技術を認めるものでは決してない。【００１５】
本例示的実施形態の態様は、ＦＡ機器のデータを処理するための関連技術のウェブベースシステムに関するこれらの問題および／または他の問題を解決することを目的とする。しかしながら、本例示的実施形態の態様は、上記の問題を解決するのに必然ではないものとする。
【課題を解決するための手段】
【００１６】
一例示的実施形態の一態様によれば、スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を含むエンジニアリングツールが提供される。【００１７】
前記エンジニアリングツールは、データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部を含んでもよい。【００１８】
前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに含んでもよい。【００１９】
前記エンジニアリングツールは、前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよい。【００２０】
前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成されてもよい。【００２１】
前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成されてもよい。【００２２】
前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第１のフォーマットから第２のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成されてもよい。【００２３】
前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第２のフォーマットから前記第１のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成されてもよい。【００２４】
前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成されてもよい。【００２５】
前記エンジニアリングツールは、サード・パーティ・アプリケーションと、前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも１つの機能へのアクセスを与えるように構成された入出力（Ｉ／Ｏ）設定インターフェースとをさらに含んでもよい。【００２６】
前記エンジニアリングツールは、プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに含んでもよい。【００２７】
他の例示的実施形態の一態様によれば、データを処理するように構成されたシステムであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて、スクリプトファイルであってもよいモジュールファイルを生成するように構成されたモジュールファイル生成部と、データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、を含むエンジニアリングツールと、前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、を含むコントローラと、を含むシステムが提供される。【００２８】
前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの１つの構造を編集するように構成されたデータモデル構造エディターをさらに含んでもよい。【００２９】
前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するようにさらに構成されてもよい。【００３０】
前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよく、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに含んでもよい。【００３１】
他の例示的実施形態の一態様によれば、コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、を含むエンジニアリングツールが提供される。【００３２】
他の例示的実施形態の一態様によれば、コントローラで使用され、スプレッドシートに基づいてエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、モジュールが提供される。【００３３】
これらの態様および／または他の態様は、添付の図面と共に解釈することで、以下の例示的実施形態の説明により明らかとなり、より容易に理解されるであろう。
【図面の簡単な説明】
【００３４】
【図１】第１の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図２】第２の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図３】第３の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図４】第４の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図５】第５の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図６】第６の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図７】第７の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図８】第８の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図９】第９の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１０】第１０の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１１】第１１の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１２】第１２の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１３】第１３の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１４】第１４の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１５】第１５の例示的実施形態による、データを処理するためのウェブベースシステムの説明図
【図１６】関連技術による、データを処理するためのウェブベースシステムの説明図
【図１７】一例示的実施形態による、ファクトリーオートメーション（ＦＡ）機器のステータスを示すスクリーンショットの一例を示す図
【図１８】一例示的実施形態による、ファクトリーオートメーション（ＦＡ）機器のステータスを示すスクリーンショットの一例を示す図
【図１９】一例示的実施形態によるデータモデルの一例を示す図
【図２０】一例示的実施形態による警告情報の一例を示す図
【図２１】一例示的実施形態によるスプレッドシートを示す図
【図２２】一例示的実施形態によるスプレッドシートを示す図
【図２３】一例示的実施形態による電子メールを示す図
【図２４】一例示的実施形態によるデータモデルを含む画面の一例を示す図
【図２５】一例示的実施形態によるデータモデルを含む画面の一例を示す図
【図２６】一例示的実施形態によるフローチャートの一例を示す図
【図２７】一例示的実施形態によるウェブベースシステムのハードウェア構成の一例を示す図
【図２８】一例示的実施形態による、ウェブベースシステムの一態様を実現するハードウェア装置の一例を示す図
【発明を実施するための形態】
【００３５】
ウェブベースシステムの概要
各例示的実施形態の態様により、産業ロボット、工作機械、組み込み機器などのファクトリーオートメーション（ＦＡ）機器の操作者が、ＦＡ機器を制御し、ＦＡ機器から得たデータを処理する能力を高めるウェブベースシステムが提供される。しかしながら、本例示的実施形態はＦＡ機器に限定されず、各種のネットワークで直接的または間接的に互いに接続される他の様々な種類の機器にも適用できる。例えば、本例示的実施形態は、インターネット、モノのインターネット（ＩｏＴ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、セルラーネットワーク、ブルートゥース（登録商標）ネットワーク、近距離無線通信（ＮＦＣ）ネットワーク、および他の様々な種類のネットワークを介して接続された機器を制御するのに使用することができる。機器には、ホーム・オートメーション・システム機器（例えば、冷蔵庫、食洗機、テレビ、冷暖房空調設備、照明など）などの、ネットワークに接続可能なあらゆる種類の機器が含まれる。各例示的実施形態の態様は、産業的用途だけでなく、個人的用途（例えば、趣味）にも適用可能であり、特定の種類の用途に限定されない。
【００３６】
「情報」、「データ」、「定義」、および他の類似した用語などの用語は、本例示的実施形態の説明で使用されるが、様々な種類の情報、データ、および定義を広く指すものであり、特定の文脈に限定されない。例えば、用語「情報」または「データ」は、電子装置の固定的な特徴（例えば、識別情報）に関する情報またはデータ、動的に変化するステータス情報（例えば、電力レベル、パフォーマンス情報、サイクル／秒、インクレベル、メモリ記憶レベル、他の設定値）、接続情報（例えば、Ｗｉ−Ｆｉ、セルラー、イントラネット、インターネットなど）、位置情報（例えば、固定位置情報、ＧＰＳ座標）、金融情報、および電子装置に直接的および間接的に関連する、他の様々な種類の情報を意味し得る。さらに、用語「定義」は、例えば、スプレッドシートのセルに記述されるあらゆる種類の情報を広く指し得る。記述は、記述が与えられる文脈によって様々な意味を持ち得る。スプレッドシート環境では、各記述の文脈により、各セルにおいて記述が持つ意味の種類が変わる。用語「定義」は、特定の文脈にかかわらず、スプレッドシートのセルにおける情報の記述を意味し得る。言い換えると、「定義」は広くスプレッドシートセルの情報の文脈に依存しない記述であり得る。別の例として、「定義」は、例えば、数学的またはビジネスロジック定義（例えば、ＳＵＭ機能または条件付きロジック機能（ＩＦ、ＥＬＳＥなど））、属性、配列、設定、規則（例えば、アルゴリズム）、または機器および機器自身の情報の他の特徴を定義するものであり得る。さらに、例示的実施形態は工場の機器に関連して説明されるが、例示的実施形態はそれらに限定されず、パーソナル電子装置、ホームオートメーションおよび家電、自動車用装置、およびその他様々な種類の電子装置または非電子装置を含む、他の様々な種類の機器に応じて実現できるものとする。
【００３７】
一例示的実施形態によれば、エンジニアリングツールを使用して、ウェブベースシステムに表示するセットアップ画面を作成する。セットアップ画面は、エクセル文書に似たスプレッドシートアプリケーションでもよいが、必ずしもエクセル文書とは限らない。システムはある種類のスプレッドシートに基づいて作成され、スプレッドシートを使用して計算を実行し、グラフを使用して視覚化を実現し、さらにプロセスシーケンスを作成および変更し、プロセスシーケンスを使用して機器を制御または検査する。
【００３８】
一例示的実施形態によるウェブベースシステムは、ウェブベースシステムのユーザーが各種のデータ処理および監視操作のためのデータを取得する（例えば、機器のパフォーマンスのグラフを生成する）ことを容易に可能にする改良技術を提供する。このウェブベースシステムは、プログラマブル・ロジック・コントローラ（ＰＬＣ）、メールサーバー、およびその他の装置など、各種の装置に接続可能である。例えば、ウェブベースシステムのユーザーがシーケンサ（例えば、工場の機器の動作順序など、一連のイベントを自動的に制御する電気機械システム）に接続したい場合、シーケンサに保存されたデータがウェブベースシステムの画面に表示される。他の例として、ウェブベースシステムのユーザーがデータベース（ＤＢ）に接続したい場合、ＤＢのデータテーブルが表示される。
【００３９】
一例示的実施形態によれば、ウェブベースシステムは３つの主な特徴を含む。
【００４０】
第１の特徴はデータモデルであり、データモデルによりユーザーは、同じ簡単な技術を用いて、シーケンサ、データベース、メールサーバーなどの各種の外部装置からのデータにアクセスし、操作することができる。例示的実施形態によれば、用語「データモデル」は、オブジェクトモデルを意味する一般的な用語であり、オブジェクトモデルはデータで記述され、データを論理的に配置するデータ構造を有するように構成される。データモデルは、機械が保持する内部統計値や記録、および機械が保存するその他の種類のデータを含む、機械から抽出できる全てのデータを含むことができる。データモデル（第１の特徴）の例を、図１９、図２４、および図２５に示す。図１９に示すデータモデル１９００は、「オブジェクトブラウザ」として表されている。図２４に示すように、画面２４００は、データベース（例えば、「ＡｚｕｒｅＤＢ」）に関するデータモデルの一例であるデータモデル２４０２（「オブジェクトブラウザ」）を含み、さらに、データベースＡｚｕｒｅＤＢへのアクセスを可能にするアクセス設定２４０４を含む。また、画面２５００は、ＣＰＵ（例えば、「ＬＣＰＵ」）に関するデータモデルの一例であるデータモデル２５０２（「オブジェクトブラウザ」）を含み、さらにＬＣＰＵへのアクセスを可能にするアクセス設定２５０４を含む。データモデル１９００，２４０２、および２５０２を使用して、異種のハードウェアに関する情報を整理する。様々な種類のデータモデルが可能であり、例示的な情報１７００（図１７）および１８００（図１８参照）などのファクトリーオートメーション（ＦＡ）機器のステータスを示す情報に関し使用することができる。図１９、図２４、および図２５はデータモデルとして「オブジェクトブラウザ」を例示しているが、例示的実施形態はデータモデルとして「オブジェクトブラウザ」を使用することに限定されず、データモデルは視覚的および論理的に、他の様々な方法で実現できるものとする。
【００４１】
第２の特徴はスプレッドシートであり、スプレッドシートにより、ユーザーが情報を処理するためのプログラムや、データベース間で情報を転送するプログラム、およびデータを視覚化するプログラムを容易に書くことが可能となる。一例示的実施形態によるウェブベースシステムによって生成されたスプレッドシート画面の一例を図２１および図２２に示す。図２１の生成画面は、「Ａｌａｒｍ  Ｃｈｅｃｋ」モードと例示され、各種機器のステータス（例えば、インクレベル、バッテリーステータス、冷却ファン時間）を示すステータス情報２１０２を含むスプレッドシートである。図２２の生成画面は、「Ｓｅｎｄ  Ａｌａｒｍ」モードと例示されるスプレッドシートであり、各種機器の警告レベルのステータスを示す警告情報２２０２を含む。図２３の生成画面は、警告情報２２０２に相当する電子メール内容２３０２を含む電子メールであり、電子メールによってユーザーに警告情報を通知する。電子メールはさらに、図２２に示すスプレッドシートにリンクするリンク２３０４を含む。図２０はまた警告情報２０００を示す。
【００４２】
図２１および図２２に示す画面で、ユーザーはデータを、データベースから画面に示されるセルに移動できるだけでなく、セルからデータベースにデータをエクスポートできる。ユーザーはまた、入力／出力機能を使用して特定の値を計算し、項目を視覚的に表示することができる。
【００４３】
図２１から図２３に示すように、スプレッドシートは、外部機器（例えば、シーケンサ、プリンタ、工作機械、パーソナル電子装置、家庭用電気製品など）から値を持ち込むプログラムを実行して、各種機器の異常を検出してもよい。異常検出プログラムは、スプレッドシートでの計算により実行される。現在のステータスデータの全てをカラムの１つ（例えば、図２１のカラムＥ）に挿入してもよく、ウェブベースシステムは現在のステータスデータを前回値または正常値と比較して差を検出する。異常検出プログラムの結果は、メールサーバーに出力として送ることができ、例として、電子メールにより異常検出結果を示すメッセージを出力してもよい。図２３に示すように、電子メールの受信者が見る実際のメール内容は、リンク２３０４を介してスプレッドシートに接続される。実際のメール内容には、異常の存在だけでなく、異常（例えば、冷却ファンの異常、インクレベルの異常など）の特定値を含めてもよい。その結果、ウェブベースシステムの操作者はＣ言語を知らなくても、常時異常を通知される。
【００４４】
第３の特徴はフローチャートであり、スプレッドシートには特定の長所と短所があるので、フローチャートによりスプレッドシートを補助し強化する。一例示的実施形態によるウェブベースシステムによって生成されたフローチャート（第３の特徴）の例を図２６に示す。スプレッドシート（例えば、図２１および図２２）には特定の利点と不利点がある。例えば、スプレッドシートは、効率的に計算を実行できるという利点があるが、スプレッドシートだけを使用して計算の優先順位または順序を決定するのは難しい場合があるという不利点がある。言い換えると、スプレッドシートは因果関係、すなわち、ｉｆ→ｔｈｅｎ演算に関して不利である。フローチャートにより、計算の実行、データモデルからのデータ入力、およびデータモデルへのデータ出力などのスプレッドシートの機能を制御することができる。スプレッドシートは計算のタイミング、およびデータ入力／出力機能を記述できない場合があるので、フローチャートは有益である。スプレッドシートにはデータと実行トリガーを与えなければならない。エクセルの場合、タイミングを、デフォルトではユーザーがデータを入力した時点として定義してもよい。しかしながら、実デバイスの場合、処理は人によって操作されないので、ユーザーがデータを入力したデフォルトタイミングの代わりに、特定のタイミングを定義する必要があるか、それが望まれることがある。したがって、第２の特徴と第３の特徴を組み合わせることで、ユーザーは外部機器（例えば、ＦＡ機器）との間で送受信したデータをより簡単に処理し操作することができる場合がある。
【００４５】
例示的実施形態はフローチャートを使用することに限定されず、代わりに設定テーブル、および動作と情報の間の関係を記述するその他の機構（例えば、リストまたはグリッドなど）を使用してもよいものとする。
【００４６】
図２６に示すように、フローチャート２６００はデータを処理するための一連の動作を含む。動作２６０２において、データ処理動作を開始する。動作２６０４で、データをスプレッドシートの１つのカラムから別のカラムにコピーする。例えば、図２１のスプレッドシートにおいて、データをセルＧ２からＧ９（「Ｃｕｒｒｅｎｔ」）からコピーし、セルＦ２からＦ９（「Ｐｒｅｖｉｏｕｓ」）に挿入する。動作２６０６において、データを物理的装置から入力する。例えば、図２１のスプレッドシートにおいて、データをＬＣＰＵからセルＥ２からＥ９（「Ｃｕｒｒｅｎｔ（Ｒａｗ）」）に入力する。動作２６０８において、計算を実行する。例えば、「Ｃｕｒｒｅｎｔ（Ｒａｗ）」データと「Ｐｒｅｖｉｏｕｓ」データとの比較に基づいて異常検出を行う。動作２６１０において、図２２のスプレッドシートのカラムＡ１０の値が１に等しい場合、処理は動作２６１２に進み、その他の場合、カラムＡ１０の値をクリアし（動作２６２０）、処理を終了する（動作２６２２）。動作２６１２において、カラムＨ１０の値が「ＴＲＵＥ」（「ＳｅｎｄＡｌａｒｍ！」）である場合、処理は動作２６１４に進み、その他の場合、処理は終了する（動作２６２２）。動作２６１４において、実デバイスの情報（例えば、図２１のカラムＡ１５からＥ２３）を含むＡｌａｒｍ  Ｃｈｅｃｋを出力する。動作２６１６において、カラムＡ１１の値が１に等しい場合、処理は動作２６１８に進み、動作２６０８での計算結果を電子メールの内容として含む、図２３に関して上述した電子メールなどの電子メールを出力し、その他の場合、処理は終了する（動作２６２２）。
【００４７】
一例示的実施形態によれば、トリガータイミングをユーザーが設定して、特定の動作を所定の間隔で実行することができる。例えば、トリガータイミングをユーザーが設定して、図２６の特定の動作を所定の間隔（例えば、１秒、５秒、１０秒、１分、１時間など）で実行することができる。
【００４８】
さらに、他の例示的実施形態によれば、ユーザーはスプレッドシートを使用せずにフローチャートと対話してもよく、その場合、スクリプト生成処理を変更して、スプレッドシートに関するスクリプト部分を省略する。
【００４９】
一例示的実施形態によれば、フローチャート要素をグラフィカルな動作（例えば、ドラッグ・アンド・ドロップ動作など）によって操作するように構成する。例えば、ドラッグ・アンド・ドロップ動作および他の種類の動作を使用して、フローチャートの各種処理または決定を再配列または変更することができる。さらに、各種方法でデータをフローチャート要素に挿入することができる。例えば、動作２６０４において、セル範囲をＧ２からＧ９から別のセル範囲に変更するために、ユーザーは動作２６０４を示す枠を選択し、異なるセル範囲を入力することができる。一例示的実施形態によれば、セル範囲選択ダイアログは、マイクロソフト・エクセル（登録商標）と同様にまたは全く同じように機能するものでもよい。
【００５０】
これらの３つの特徴を実現することで、一例示的実施形態によるウェブベースシステムは、ＦＡエンジニアがプログラム言語を知らなくても情報処理のシステムを構築できるようにする。一例示的実施形態によれば、ウェブベースシステムはマイクロソフト・エクセル（登録商標）に基づいているので、ウェブベースシステムのユーザーは、ウェブベースシステムを使用するのに、マイクロソフト・エクセル（登録商標）に基本的に精通しているだけでよい。他の例示的実施形態によれば、ウェブベースシステムはテンプレートを使用するので、ウェブベースシステムのユーザーはウェブベースシステムを使用するのに、マイクロソフト・エクセル（登録商標）に精通している必要さえない。
【００５１】
ウェブベースシステムが実現するその他の利点は、外部機器と内部処理動作が分かれているということである。
【００５２】
ウェブベースシステムのハードウェア構成の概要
図２７は、一例示的実施形態によるウェブベースシステムのハードウェア構成を示す。
【００５３】
図２７に示すように、ハードウェア構成２７００は、基準テンプレート・アプリケーション・パーツ・パッケージ２７０２と、ウェブブラウザ２７０４と、スプレッドシートベースのヒューマン・マシン・インターフェース（ＨＭＩ）・ビルダー２７０６と、情報共有プラットフォーム２７０８と、機器２７１０（例えば、プロファイルおよび標準化方式によりすでに定義されたデータモデルを有する機器）と、内蔵データベース２７１２と、プログラマブル・ロジック・コントローラ（ＰＬＣ）２７１４と、ＯＰＣ−ＵＡクライアント／サーバー２７１６と、遠隔端末２７１８と、遠隔システム２７２０と、クラウド２７２２と、分析サービス２７２６とを含む。情報共有プラットフォーム２７０８を、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実現してもよく、他の様々な種類（例えば、ハードウェア装置と開発コードの組み合わせなど）として提供してもよい。さらに、機器２７１０は、プリンタ、インク・レベル・センサー、冷却ファン、組立ライン機器、パーソナル電子装置、家庭用電気製品など、様々な種類のものでもよい。
【００５４】
例えば、情報共有プラットフォーム２７０８をファクトリーオートメーション（ＦＡ）機器として実現する場合、情報共有プラットフォーム２７０８を、プログラマブル・ロジック・コントローラ、Ｃコントローラ（ＭＥＬＳＥＣシステムアーキテクチャに基づくＣ言語形式プログラムを実行可能な、一般的なオープン・プラットフォーム・コントローラ）、一種のヒューマン・マシン・インターフェース（ＨＭＩ）であるグラフィック・オペレーション・ターミナル（ＧＯＴ）、コンピュータ数値制御装置（ＣＮＣ）、または他の種類のＦＡ機器として実現してもよい。他の例として、情報共有プラットフォーム２７０８を非ＦＡ機器として実現する場合、情報共有プラットフォーム２７０８を販売時点情報管理（ＰＯＳ）端末として実現してもよい。情報共有プラットフォーム２７０８は他の様々な種類の装置として実現できるものとする。
【００５５】
これらのハードウェア装置はそれぞれ、本例示的実施形態の特徴を利用するために、様々な方法で互いに対話するように構成されていてもよい。例えば、基準テンプレート・アプリケーション・パーツ・パッケージ２７０２、ウェブブラウザ２７０４、およびスプレッドシートベースのＨＭＩビルダー２７０６を使用して、フロー図およびスプレッドシート２７２８を生成してもよい。さらに、遠隔端末２７１８と遠隔システム２７２０はクラウド２７２２を介してフロー図とスプレッドシート２７２８にアクセスすることにより、データを処理し、ファクトリーオートメーション（ＦＡ）機器を制御してもよい。さらに、これらのハードウェア装置は例にすぎず、図２７に示すハードウェア装置の代わりに、またはそれらに加えて、様々な種類のハードウェア装置を本例示的実施形態にしたがって使用できるものとする。例えば、ウェブベースシステムをシーケンサに組み込むことができる。他の例として、ウェブベースシステムを、ＰＣ、タブレット装置、またはスマートフォンに含まれる、特別に構成されたハードウェアとソフトウェアの組み合わせとして実現することができる。本例示的実施形態において、マイクロプロセッサ、メモリ装置、記憶装置、イーサネット（登録商標）ポート、またはＩＰプロトコルに基づいて他の装置と通信可能な装置の組み合わせを利用してもよい。他の例示的実施形態により、その他様々なハードウェアとソフトウェアの組み合わせが可能である。
【００５６】
これらの様々なハードウェア装置の１つまたは組み合わせにおいて例示的実施形態によるウェブベースシステムを実現してもよい。
【００５７】
図２８は、一例示的実施形態によるウェブベースシステムの一態様を実現するハードウェア装置の一例である。図２８に示すように、ハードウェア装置２８００は、入力（例えば、機械のステータスを示すデータ）を受信する入力モジュール２８０２と、指定された処理を実行し、ハードウェア装置２８００の動作全体を制御する中央処理装置（ＣＰＵ）２８０４と、受信した入力と、他のデータ、プログラム、および他の種類の情報を記憶するメモリ２８０６と、ＣＰＵ２８０４が実行した処理の結果を出力する出力モジュール２８０８と、入力モジュール２８０２、ＣＰＵ２８０４、メモリ２８０６、および出力モジュール２８０８に電力を供給する電力供給部２８１０とを含む。ＣＰＵ２８０４は外部のプログラミング端末２８１２と通信するので、ハードウェア装置２８００にプログラミング端末２８１２を使用してプログラムを書き込むことができる。図２８は入力モジュール２８０２と出力モジュール２８０８とを異なるモジュールとして例示しているが、いくつかの例示的実施形態によれば、入力モジュール２８０２と出力モジュール２８０８とを同一モジュール内で実現してもよい。
【００５８】
一例示的実施形態によれば、ハードウェア装置２８００はプログラマブル・ロジック・コントローラ（ＰＬＣ）として実現可能であるが、それに限定されない。他の例示的実施形態によれば、ハードウェア装置２８００を、ホーム・オートメーション・システム装置、スマートフォン、タブレット、カメラ、自動車用装置などの、ＰＬＣ以外の様々な種類の装置として実現してもよい。当業者であれば、ハードウェア装置２８００を様々な方法で実現できることがわかるだろう。
【００５９】
ウェブベースシステムの論理構造の概要
図１は、例示的実施形態のいくつかによるウェブベースシステムの構造の概要を示す。後述のように、各例示的実施形態が、その例示的実施形態の特定の機能および目的に応じて、図１に示すウェブベースシステムの特定の処理部の独自の組み合わせを使用できる点で、特定の例示的実施形態は互いに差別化される。当業者であればわかるように、各種例示的実施形態は様々な方法で組み合わせ可能であるものとする。例えば、図１から図１５に示す処理装置の異なる組み合わせを、様々な方法で組み合わせて、様々な機能を実現してもよい。
【００６０】
図１に示すように、ウェブベースシステム１００は実デバイス１０２（例えば、ＰＬＣモジュール）とエンジニアリングツール１４０（例えば、ＰＣ、タブレット、スマートフォン、または他のコンピュータ装置）とを含む。
【００６１】
エンジニアリングツール１４０は、フローチャートエディター１４２（例えば、「フローチャートエディター」）と、スプレッドシートエディター１４４（例えば、「スプレッドシートエディター」）と、データモデル構造エディター１４６（例えば、「データモデル構造エディター」）と、外部機器へのアクセス設定エディター１４８（例えば、「外部機器アクセス設定エディター」）と、ウェブ表示ファイル生成部１５０（例えば、「ウェブ表示ファイル生成部」）と、実行可能モジュールファイル生成部１５１と、データモデルの情報管理部１５４（例えば、「データモデル情報管理部」）とを含む。
【００６２】
フローチャートエディター１４２はフローチャートを生成および編集するように構成される。編集するフローチャートの一例は、図２６に例示するフローチャート２６００であるが、例示的実施形態はそれに限定されず、様々な種類のフローチャートを作成および編集してもよい。フローチャートを編集するために、フローチャートエディター１４２は、図２６に関して上述したように、エンジニアリングツール１４０に接続した入力装置（例えば、キーボード、タッチスクリーンなど）を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター１４２はさらに、編集したフローチャートに基づいてプロセスシーケンス設定１５６（例えば、「プロセスシーケンス設定」）を生成するように構成される。
【００６３】
プロセスシーケンス設定１５６には、フローチャートの詳細、つまりデータ処理動作中に実行される一連のイベントの詳細を記述する。一連のイベントの詳細は、例えば、フローチャートにおける動作および移行の数と、動作と移行の間の関係と、フローチャートにおける特定の動作での出力を決定する特定の状況と、その他のフローチャートの各種特徴とを含む。フローチャートエディター１４２はさらに、プロセスシーケンス設定１５６をスプレッドシートエディター１４４に送信するように構成される。
【００６４】
スプレッドシートエディター１４４は、受信したプロセスシーケンス設定１５６と受信したデータモデル全体の設定１６２（例えば、「データモデル全体設定」）に基づいてスプレッドシートを編集するように構成される。編集するスプレッドシートの一例は、図２１および図２２に例示するスプレッドシート２１００および２２００であるが、例示的実施形態はこれらに限定されず、様々な種類のスプレッドシートを編集してもよい。スプレッドシートエディター１４４は編集されたフローチャートに基づいてスプレッドシートを編集する。例えば、計算時にどのセルを使用するかを変更するようにフローチャートが編集された場合、スプレッドシートエディター１４４はそれに応じて、計算時に使用されるセルを変更する。スプレッドシートエディター１４４はさらに、スプレッドシートに対する編集を示す情報を含むスプレッドシート設定１５８（例えば、「スプレッドシート設定」）を生成し、スプレッドシート設定１５８および１６０をウェブ表示ファイル生成部１５０と実行可能モジュールファイル生成部１５１とに送信するように構成される。スプレッドシート設定１５８および１６０を互いに異なるようにフォーマットしてもよい。例えば、スプレッドシート設定１６０を内部処理のために最適化してもよく、一方、スプレッドシート設定１５８をＧＵＩで使用するために最適化してもよい。
【００６５】
データモデル構造エディター１４６は、データモデルの構造を編集するように構成される。データモデルはデータにアクセスするためのパスを提供する。データモデルの例を図２４および図２５に関して上述したが、例示的実施形態はこれらに限定されない。データモデルを編集するために、データモデル構造エディター１４６は、エンジニアリングツール１４０に動作可能に接続した入力装置（例えば、キーボード、タッチスクリーンなど）を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。例えば、新たな機械がファクトリーオペレーションに追加される場合（例えば、プリンタ、ＣＰＵ、メールサーバー）、ユーザーによる簡単な操作に基づいて新たな機械をデータモデルに加えることができる。さらに、ユーザーはすでに構築されているデータモデルを再利用またはリサイクルすることができる。例えば、ユーザーは現存のプリンタデータモデルをコピーおよび編集することによって、新たなプリンタを加えることができる。データモデル構造エディター１４６はさらに、データモデルの設定構造１６４（例えば、「データモデル設定構造」）をデータモデルの情報管理部１５４に送信するように構成される。
【００６６】
データモデルの情報管理部１５４はデータモデル構造エディター１４６からデータモデルの設定構造１６４を受信し、外部機器にアクセスする実行部１１０から各外部機器のデータモデル１７６を受信するように構成される。データモデルの設定構造１６４および各外部機器のデータモデル１７６に基づき、データモデルの情報管理部１５４はデータモデル全体の設定１６２（例えば、データモデル全体設定）を生成し、スプレッドシートエディター１４４に送信するように構成される。データモデルの情報管理部１５４はさらに、データモデル全体の設定１７４をドライバソルバー１０８に送信するように構成される。データモデル全体の設定１６２および１７４を互いに異なるようにフォーマットしてもよい。例えば、データモデル全体の設定１６２は、データモデル全体の設定１７４が各外部機器のデータモデルの全てに関する情報の全てを有する状態で、データモデル全体の設定１７４の部分集合でもよく、一方、データモデル全体の設定１６２は参照のためだけの情報を有してもよい。
【００６７】
外部機器へのアクセス設定エディター１４８は、外部機器へのアクセス設定定義１６６（例えば、「外部機器アクセス設定定義」）を受信するように構成される。外部機器へのアクセス設定定義１６６に基づき、外部機器へのアクセス設定エディター１４８はさらに、外部機器へのアクセス設定１７８（例えば、「外部機器アクセス設定」）を生成し、外部機器にアクセスする実行部１１０に送信するように構成される。
【００６８】
ウェブ表示ファイル生成部１５０は、スプレッドシートエディター１４４から受信したスプレッドシート設定１５８に基づいてウェブ表示ファイル１７０（例えば、「ウェブファイル」）を生成し、生成したウェブ表示ファイル１７０をウェブサーバー１０４に送信するように構成される。
【００６９】
実行可能モジュールファイル生成部１５１はスプレッドシート設定１６０を受信するように構成される。実行可能モジュールファイル生成部１５１はさらに、スプレッドシート設定１６０に基づいて実行モジュールファイル１７１を生成し、生成した実行モジュールファイル１７１をモジュールファイル実行部１０５に送信するように構成される。スプレッドシートデータからモジュールファイルを生成するために、実行可能モジュールファイル生成部１５１は以下の一連の動作を実行する。初めに、実行可能モジュールファイル生成部１５１は、セル間の参照依存状態を解くことによって、計算順序をソートする。次に、実行可能モジュールファイル生成部１５１は、例えば、「ＳＵＭ」などのスプレッドシート機能（例えば、エクセル機能）を、対象モジュールファイルが有する機能または対象モジュールファイルの実行環境で実行される機能に変換する。第３に、実行可能モジュールファイル生成部１５１は第１の動作で解いた順序で機能を記載する。実行モジュールファイル１７１は、データモデルを使用した外部機器へのアクセスを可能にする実行可能なモジュールファイルである。いくつかの例示的実施形態において、実行可能なモジュールファイルはスクリプト（例えば、テキスト）として実現される。この場合、実行可能モジュールファイル生成部１５１と、実行モジュールファイル１７１と、モジュールファイル実行部１０５とをそれぞれ、実行スクリプトファイル生成部１５２と、実行スクリプトファイル１７２と、スクリプト実行部１０６として例示し説明してもよい。しかしながら、例示的実施形態はスクリプトである実行可能なモジュールファイルに限定されず、例示的実施形態全体において、実行可能なモジュールファイルは、Ｊａｖａ（登録商標）クラスファイル（中間コード）、機械コードなど、スクリプト以外の様々な種類のファイルとして実現してもよい。したがって、例示的実施形態による実行可能なモジュールファイルを、様々なレベル（高レベル、中間レベル、低レベルなど）で互換性があるファイルとして構成してもよく、特定のプラットフォームで実行可能であってもよい。
【００７０】
実デバイス１０２はワールド・ワイド・ウェブ（例えば、「ウェブ」）サーバー１０４と、モジュールファイル実行部１０５（例えば、「モジュールファイル実行部」）と、データモデルにアクセスするプロセッサ１０８（例えば、「ドライバソルバー」）と、外部機器にアクセスする実行部１１０（例えば、「外部機器実行部」）とを含む。実デバイス１０２を、例えば、ハードウェア装置２８００（図２８参照）として実現してもよく、この場合、ＣＰＵ２８０４を含めてもよく、ＣＰＵ２８０４は、以下により詳細に説明するように、ウェブサーバー１０４、モジュールファイル実行部１０５、ドライバソルバー１０８、外部機器にアクセスする実行部１１０、および／または他の構成要素のパフォーマンスおよび機能を制御するように特別に構成されていてもよい。
【００７１】
ウェブサーバー１０４はウェブクライアント１９０と通信するように構成される。ウェブサーバー１０４はウェブ表示ファイル１９２をウェブクライアント１９０に送信し、要求メッセージ１９４をウェブクライアント１９０から受信し、応答データ１９６をウェブクライアント１９０に返信するように構成される。要求メッセージ１９４を、例えば、機器データを要求するアプリケーション・プログラミング・インターフェース（ＡＰＩ）の一部として使用してもよく、応答データ１９６もまたＡＰＩの一部として使用してもよく、例えば、機器データを得るためのものであってもよい。
【００７２】
モジュールファイル実行部１０５は、実行モジュールファイル１７１に基づいてモジュールファイル（例えば、特定のプログラムによって実行可能なコマンドリスト）を実行するように構成される。モジュールファイル実行部１０５は、コール１１２をウェブサーバー１０４から受信し、結果１１４をウェブサーバー１０４に返信するように構成される。モジュールファイル実行部１０５はさらに、要求１１６をドライバソルバー１０８に送信し、応答データ１１８をドライバソルバー１０８から受信するように構成される。要求メッセージ１９４および応答データ１９６と同様に、要求１１６および応答データ１１８はデータを交換するＡＰＩの一部であってもよい。
【００７３】
ドライバソルバー１０８はデータモデルにアクセスするように構成される。ドライバソルバー１０８は要求１１６をモジュールファイル実行部１０５から受信し、応答データ１１８をモジュールファイル実行部１０５に返信するように構成される。ドライバソルバー１０８はさらに、要求１２４をウェブサーバー１０４から受信し、応答データ１２６をウェブサーバー１０４に返信するように構成される。ドライバソルバー１０８はさらに、要求１２０を外部機器にアクセスする実行部１１０に送信し、応答データ１２２を外部機器にアクセスする実行部１１０から受信するように構成される。ドライバソルバー１０８はさらに、データモデル全体の設定１７４をデータモデルの情報管理部１５４から受信するように構成される。
【００７４】
外部機器にアクセスする実行部１１０は、要求１２０をドライバソルバー１０８から受信し、応答データ１２２をドライバソルバー１０８に返信するように構成される。外部機器にアクセスする実行部１１０はさらに、要求メッセージ１２８を外部機器１８０に送信し、応答データ１３０を外部機器１８０から受信するように構成される。要求１２０は、例えば、外部機器１８０に関する詳細（例えば、外部機器１８０のアイデンティティ、外部機器１８０のステータスなど）に関する要求であってもよく、応答データ１２２は要求された詳細を含むものであってもよい。要求メッセージ１９４および応答データ１９６と同様に、要求１２０および応答データ１２２はデータを交換するＡＰＩの一部であってもよい。外部機器にアクセスする実行部１１０を、外部機器１８０と通信するように構成されたポートとして実現してもよい。さらに、外部機器にアクセスする実行部１１０を、外部機器へのアクセス設定１７８を外部機器へのアクセス設定エディター１４８から受信するように構成してもよい。
【００７５】
第１の例示的実施形態
図１は、第１の例示的実施形態による、データを処理するためのウェブベースシステムを示す。
【００７６】
一般に、人々は様々な目的のために、生活の中で様々な種類の電子装置を使用する。例えば、工場の環境では、工場労働者はファクトリーオートメーション（ＦＡ）機器を監視または制御する必要があるだろう。他の例として、住宅所有者は、家の特定の電気器具を監視する必要があることがあり、また学生は学校で特定の電子装置を監視する必要があることがある。しかしながら、多くの電子装置は、ヒューマン・マシン・インターフェース（ＨＭＩ）などの、ユーザーが機器を監視または制御するのを可能にするコンピューティング資源を欠いている。その結果、関連技術において、電子装置に格納されたコンピュータプログラムを編集または制御するのは非常に難しいかまたは不可能なことがある。
【００７７】
第１の例示的実施形態では、スプレッドシートエディター１４４と、実行可能モジュールファイル生成部１５１と、モジュールファイル実行部１０５の機能を結合したものを使用し、それらは共に機能して、スプレッドシート編集結果をモジュールファイル（例えば、スクリプトなどの実行モジュールファイル１７１）に変換し、モジュールファイルを実行する。関連技術によれば、ユーザーがスプレッドシートソフトウェアを使用してスプレッドシートを編集および実行する際、編集および実行動作は組み合わされる。しかしながら、第１の例示的実施形態によるウェブベースシステム１００では、エンジニアリングツール１４０で実行したスプレッドシートプログラムから得た結果は、実デバイス１０２（例えば、ＰＬＣモジュール）で実行可能なモジュールファイル（例えば、実行モジュールファイル１７１）に変換され、実デバイス１０２はモジュールファイルを実行できる。したがって、編集および実行を別に行うことができる。その結果、ユーザーはスプレッドシートを編集することによって複雑な演算処理を記述することができ、演算処理を別の装置（例えば、ディスプレイのない装置）で別に実行することができる。編集処理およびモジュールファイル実行処理は別々に行われるので、パーソナルコンピュータ（ＰＣ）などの、豊富な資源を有するハードウェアを編集に使用することができ、豊富な資源を持たない別の装置で、編集されたモジュールファイルを実行することができる。なお、編集されたモジュールファイルを実行する装置は、処理力または帯域幅の増大、低遅延、または機器データへの直接アクセスなどの、特定の有益な特徴を有してもよいこととする。
【００７８】
モジュールファイルを「スクリプト」として実現する場合、本明細書で使用されるように、用語「スクリプト」は、編集処理と実行処理の間で使用される中間通信媒体を広く意味するものとする。例えば、スクリプトは、コントローラが機器を制御するために、コントローラの実行環境で実行されるように構成される実行可能なモジュールファイルであってもよい。例示的実施形態によれば、様々な種類のスクリプトを用いることができる（例えば、Ｌｕａ、Ｊａｖａｓｃｒｉｐｔ（登録商標）など）。
【００７９】
第１の例示的実施形態では、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、スプレッドシートエディター１４４と、実行可能モジュールファイル生成部１５１と、モジュールファイル実行部１０５のパフォーマンスを制御するように特別に構成してもよい。
【００８０】
第２の例示的実施形態
図２は、第２の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第２の例示的実施形態によるウェブベースシステム２００と第１の例示的実施形態によるウェブベースシステム１００の間の主な違いは、第２の例示的実施形態によるウェブベースシステム２００は、スプレッドシートデータ生成部２０４（例えば、「スプレッドシートデータ生成部」）とスプレッドシート実行部２０２とを含むことである。前述の図面に示す構成要素と同じ参照番号を有する図２の他の構成要素は、前述の図面に示す構成要素と同一でもよく、その詳細な説明を省略する。
【００８１】
ウェブベースシステム２００において、スプレッドシートデータ生成部２０４はスプレッドシート設定１６０をスプレッドシートエディター１４４から受信し、スプレッドシート設定１６０に基づいてスプレッドシートデータ２０６を生成する。スプレッドシートデータ２０６は、ＸＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、または他の当業者が知っている言語などのデータ記述言語により定義される。次に、スプレッドシートデータ生成部２０４はスプレッドシートデータ２０６をスプレッドシート実行部２０２に送信し、スプレッドシート実行部２０２はスプレッドシートデータ２０６をロードし、計算を実行する。
【００８２】
第２の例示的実施形態の主な利点は、エンジニアリングツール１４０で実行されたスプレッドシートプログラムから得た結果が、データ記述言語（例えば、ＸＭＬ、ＪＳＯＮ）により定義されたデータとして保存され、実デバイス１０２（例えば、ＰＬＣモジュール）に転送されることである。したがって、スプレッドシートデータをスクリプトに変換する第１の例示的実施形態によるウェブベースシステム１００とは異なり、実デバイス１０２のスプレッドシート実行部２０２はマークアップ言語（例えば、ＸＭＬ、ＪＳＯＮ）でデータをロードして計算とデータを実行し、データは保存されたデータに応じて入出力される。したがって、スプレッドシートデータをスクリプトに変換する必要はない（中間スクリプト表現は必要ない）。
【００８３】
したがって、第２の例示的実施形態によれば、スクリプト生成処理は省略される。さらに、装置（例えば、シーケンサ装置）によって実行可能な種類のコードを含むデータ記述言語を生成してもよく、生成したデータ記述言語は直接実行可能であるので、中間スクリプト表現が要らないようにデータとコードを共に束ねてもよい。
【００８４】
さらに、第１の例示的実施形態と同様に、編集および実行を別々に行ってもよい。その結果、ユーザーは、スプレッドシートを使用して複雑な演算処理を記述することができるので、演算処理を他の装置（例えば、ディスプレイのない装置）で別に実行することができる。
【００８５】
第２の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時にスプレッドシートデータ生成部２０４とスプレッドシート実行部２０２のパフォーマンスを制御するように特別に構成してもよい。
【００８６】
第３の例示的実施形態
図３は、第３の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第３の例示的実施形態によるウェブベースシステム３００と第１の例示的実施形態によるウェブベースシステム１００の間の主な違いは、第３の例示的実施形態によるウェブベースシステム３００は、データモデルにアクセスするプロセッサ（例えば、ドライバソルバー）３０８と、外部機器にアクセスする実行部３１０と、外部機器へのアクセス設定エディター３４８と、データモデルの情報管理部３５４とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図３に示すその他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【００８７】
外部機器へのアクセス設定エディター３４８は、外部機器へのアクセス設定定義３６６を受信するように構成される。外部機器へのアクセス設定定義３６６をＸＭＬスキーマの形で提供してもよい。ＸＭＬスキーマは、（１）外部機器についての情報と、（２）作成するファイルについての情報とを含む。外部機器へのアクセス設定定義３６６に基づき、外部機器へのアクセス設定エディター３４８は、ユーザーがアクセスできる設定画面を生成するように構成される。ユーザーは、生成された設定画面にデータを入力することによって、アクセス定義を設定する。外部機器へのアクセス設定エディター３４８は、ユーザーが設定したアクセス定義に基づいて外部機器へのアクセス設定３７８（例えば、アクセス定義ファイル）を生成し、外部機器へのアクセス設定３７８を、外部機器へのアクセス・ドライバ・モジュール３６８（例えば、「外部機器アクセス・ドライバ・モジュール」）と共に、外部機器にアクセスする実行部３１０に送信する。
【００８８】
図３は、外部機器へのアクセス・ドライバ・モジュール３６８が実デバイス１０２とは別でもよいことを例示しているが、いくつかの例示的実施形態によれば、外部機器へのアクセス・ドライバ・モジュール３６８は実デバイス１０２に含まれてもよい。
【００８９】
外部機器にアクセスする実行部３１０は外部機器へのアクセス設定３７８と外部機器へのアクセス・ドライバ・モジュール３６８とを受信するように構成される。外部機器にアクセスする実行部３１０を、例えば、外部機器にアクセスする実行部１１０と同様に実現してもよい。機器情報が不明である場合、外部機器にアクセスする実行部３１０は外部機器３８０についての機器情報を要求するように構成される。機器情報は、固定情報（例えば、外部機器３８０の識別情報）、動的に変化するステータス情報（例えば、電力レベル、パフォーマンス情報、サイクル／秒、インクレベル、メモリ記憶レベル、その他の設定）、接続情報（例えば、Ｗｉ−Ｆｉ、セルラー、イントラネット、インターネットなど）、位置情報、およびその他の種類の情報など、外部機器３８０に関するいかなる種類の情報でもよい。機器情報を要求するために、外部機器にアクセスする実行部３１０は、ＸＭＬスキーマに対応する少なくとも１つの外部機器３８０に関する詳細を要求する要求メッセージ３２８を送信し、少なくとも１つの外部機器３８０からその詳細を含む応答データ３３０を受信するように構成される。応答データ３３０は少なくとも１つの外部機器３８０に保存されるデータの種類を示してもよい（例えば、シーケンサはレジスタを有し、ＤＢはテーブルを有する）。外部機器にアクセスする実行部３１０はさらに、外部機器へのアクセス設定３７８と応答データ３３０とに基づいて各外部機器のデータモデル３７６を生成し、生成した各外部機器のデータモデル３７６をデータモデルの情報管理部３５４に送信するように構成される。外部機器にアクセスする実行部３１０は、各種要因に従って各外部機器のデータモデル３７６を柔軟に生成してもよい。例えば、外部機器にアクセスする実行部３１０を、データのカテゴリをソートし、データモデル内のどこに情報を置くかを決定し、自由にマッピングを変更するように構成してもよい。データ定義が外部機器３８０に保存されている場合、外部機器へのアクセス・ドライバ・モジュール３６８は外部機器３８０に照会する。しかしながら、アクセス・ドライバ・モジュール３６８が管理する外部機器３８０のデータ定義が固定されている場合、アクセス・ドライバ・モジュール３６８は機器に照会しなくてもよく、代わりに内部でデータモデルを生成することができる。
【００９０】
データモデルの情報管理部３５４は、少なくとも１つの外部機器３８０のそれぞれに関し、生成された各外部機器のデータモデル３７６を収集し、データモデル全体の設定３７４を生成する。データモデル全体の設定３７４を、例えばオブジェクトブラウザ２４０２（図２４参照）として視覚的に提示してもよい。次にデータモデルの情報管理部３５４は、生成したデータモデル全体の設定３７４をドライバソルバー３０８に送信する。ドライバソルバー３０８は要求３２０を外部機器にアクセスする実行部３１０に送信し、応答データ３２２を外部機器にアクセスする実行部３１０から受信する。
【００９１】
ドライバソルバー３０８は、データモデル全体の設定３７４をロードし、ロードしたデータモデル全体の設定３７４に基づいて、外部機器にアクセスする実行部３１０による機器データへのアクセスを可能にするインターフェースを生成する。ユーザーがデータモデル全体の設定３７４を編集する際、ドライバソルバー３０８はどの外部機器を使用するべきかを決定し、その機器にアクセスする。
【００９２】
第３の例示的実施形態の主な利点は、外部機器へのアクセス設定定義３６６と外部機器へのアクセス・ドライバ・モジュール３６８の両方をウェブベースシステム３００に追加できるということである。第３の例示的実施形態の別の主な利点は、ウェブベースシステム３００が複数の外部機器に対し同じオペレーションスキームを使用することでデータアクセスを実現するということである。製造者（例えば、サードパーティ）は新たなスキーマまたはドライバを追加して、市場のニーズおよび他の考慮すべき事項に基づいて各種機器にアクセスできる。
【００９３】
第３の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ドライバソルバー３０８と、外部機器にアクセスする実行部３１０と、外部機器へのアクセス設定エディター３４８と、データモデルの情報管理部３５４のパフォーマンスを制御するように特別に構成してもよい。
【００９４】
第４の例示的実施形態
図４は第４の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第４の例示的実施形態によるウェブベースシステム４００と第３の例示的実施形態によるウェブベースシステム３００の間の主な違いは、第４の例示的実施形態によるウェブベースシステム４００はデータモデル構造エディター４４６（例えば、「データモデル構造エディター」）をさらに含むことである。前述の図に示す構成要素と同じ参照番号を有する図４に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【００９５】
データモデル構造エディター４４６は、データモデルの構造を編集するように構成される。データモデルを編集するために、データモデル構造エディター４４６は、エンジニアリングツール１４０に接続された入力装置（例えば、キーボード、タッチスクリーンなど）を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。
【００９６】
第４の例示的実施形態の主な利点は、データモデル構造エディター４４６により、ユーザーがデータを整理および再構成できるようにすることで、データ管理を改良できることである。
【００９７】
第４の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、データモデル構造エディター４４６のパフォーマンスを制御するように特別に構成してもよい。
【００９８】
第５の例示的実施形態
図５は、第５の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第５の例示的実施形態によるウェブベースシステム５００は、第１の例示的実施形態によるウェブベースシステム１００（または第２の例示的実施形態によるウェブベースシステム２００）の特徴と、第３の例示的実施形態によるウェブベースシステム３００の特徴とを組み合わせたものである。前述の図に示す構成要素と同じ参照番号を有する図５に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【００９９】
ウェブベースシステム５００は、スクリプト実行部５０６と、ドライバソルバー５０８と、スプレッドシートエディター５４４と、実行スクリプトファイル生成部５５２と、データモデルの情報管理部５５４とを含む。
【０１００】
スプレッドシートエディター５４４は、データモデル全体の設定５６２をデータモデルの情報管理部５５４から受信し、ユーザー入力とデータモデル全体の設定５６２の両方に基づいてスプレッドシート設定５６０を生成するように構成される。データモデルの情報管理部５５４は、データモデル全体の設定５７４を生成するように構成される。
【０１０１】
実行スクリプトファイル生成部５５２は、スプレッドシート設定５６０を受信し、受信したスプレッドシート設定５６０に基づいて実行スクリプトファイル５７２を生成するように構成される。実行スクリプトファイル生成部５５２はさらに、実行スクリプトファイル５７２をスクリプト実行部５０６に送信するように構成される。
【０１０２】
スクリプト実行部５０６は、実行スクリプトファイル５７２に基づいてスクリプト（例えば、特定のプログラムによって実行可能なコマンドリスト）を実行するように構成される。また、スクリプトを実行した結果、スクリプト実行部５０６は要求５１６をドライバソルバー５０８に送信し、応答データ５１８をドライバソルバー５０８から受信することによって、外部機器にアクセスするように構成される。
【０１０３】
第５の例示的実施形態の主な利点は、データ処理動作を、ドライバソルバー５０８がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。
【０１０４】
第５の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の構成要素が上記の機能を実行する際に、該構成要素のパフォーマンスを制御するように特別に構成してもよい。
【０１０５】
第６の例示的実施形態
図６は、第６の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第６の例示的実施形態によるウェブベースシステム６００は、ウェブサーバー６０４と、データモデル全体の設定６１４を受信するドライバソルバー６０８と、スプレッドシートエディター６４４と、ウェブ表示ファイル生成部６５０と、データモデルの情報管理部６５４とを含む。前述の図に示す構成要素と同じ参照番号を有する図６に示す他の構成要素は、図１に示す構成要素と同一でもよく、その詳細な説明は省略する。
【０１０６】
スプレッドシートエディター６４４は、データモデル全体の設定６６２をデータモデルの情報管理部６５４から受信し、受信したデータモデル全体の設定６６２に基づいてスプレッドシート設定６５８を生成し、生成したスプレッドシート設定６５８をウェブ表示ファイル生成部６５０に送信するように構成される。ウェブ表示ファイル生成部６５０は、スプレッドシート設定６５８に基づいてウェブ表示ファイル６７０を生成し、ウェブ表示ファイル６７０をウェブサーバー６０４に送信するように構成される。ウェブサーバー６０４は、ウェブ表示ファイル６９２をウェブクライアント６９０に送信するように構成され、ウェブクライアント６９０は、要求メッセージ６９４と応答データ６９６を使用して、ウェブサーバー６０４と通信するように構成される。
【０１０７】
第６の例示的実施形態の主な利点は、データ処理動作とデータ視覚化動作を、ドライバソルバー６０８がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。第６の例示的実施形態と第５の例示的実施形態との違いは、第６の例示的実施形態によれば、スプレッドシートから出力されるデータ処理結果がウェブ表示ファイル６９２に変換され、ウェブサーバー６０４を介してウェブブラウザに届けることができることである。ウェブブラウザがウェブ表示ファイル６９２に基づいて情報を表示することにより、ユーザーが表示された情報を見て、ウェブブラウザにコマンドを入力できるようにしてもよい。そして入力コマンドをウェブサーバー６０４に返信してもよく、ウェブサーバー６０４はドライバソルバー６０８を介してデータモデルにアクセスする。このように、実デバイス１０２が動作を実行する代わりに、ウェブサーバー６０４とウェブクライアント６９０が一対としてその動作を実行する。
【０１０８】
第６の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブサーバー６０４と、ドライバソルバー６０８と、スプレッドシートエディター６４４と、ウェブ表示ファイル生成部６５０と、データモデルの情報管理部６５４のパフォーマンスを制御するように特別に構成してもよい。
【０１０９】
第７の例示的実施形態
図７は、第７の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第７の例示的実施形態によるウェブベースシステム７００と第１の例示的実施形態によるウェブベースシステム１００との違いは、第７の例示的実施形態によるウェブベースシステム７００はフローチャートエディター７４２を付加していることである。前述の図に示す構成要素と同じ参照番号を有する図７に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【０１１０】
フローチャートエディター７４２は、フローチャートを生成し、編集するように構成される。フローチャートを編集するために、フローチャートエディター７４２は、エンジニアリングツール１４０に接続された入力装置（例えば、キーボード、タッチスクリーンなど）を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター７４２はさらに、編集したフローチャートに基づいてプロセスシーケンス設定７５６を生成し、プロセスシーケンス設定７５６をスプレッドシートエディター７４４に送信するように構成される。
【０１１１】
スプレッドシートエディター７４４は、受信したプロセスシーケンス設定７５６に基づいてスプレッドシートを編集し、編集したスプレッドシートに基づいてスプレッドシート設定７６０を生成し、スプレッドシート設定７６０を実行スクリプトファイル生成部７５２に送信するように構成される。
【０１１２】
実行スクリプトファイル生成部７５２は、スプレッドシート設定７６０に基づいて実行スクリプトファイル７７２を生成し、生成した実行スクリプトファイル７７２をスクリプト実行部７０６に送信するように構成される。実行スクリプトファイル７７２により、データモデルを使用して外部機器にアクセスすることができる。
【０１１３】
スクリプト実行部７０６は、実行スクリプトファイル７７２に基づいてスクリプト（例えば、特定のプログラムによって実行可能なコマンドリスト）を実行するように構成される。
【０１１４】
第７の例示的実施形態の動作例を以下に示す。
【０１１５】
最初に、ユーザーがフローチャート２６００（図２６参照）を編集する。例えば、外部機器１８０がプリンタである場合、ユーザーは、いずれかのプリンタのインクレベルが１０％を下回った場合、警告をそのプリンタに発するというパラメータを設定する。パラメータを設定するために、ユーザーはフローチャートでパラメータを特定し、さらにプリンタのインク・レベル・ステータスに対応するスプレッドシートのセルを指定する（例えば、セルＧ２からＧ９、図２１参照）。次に、フローチャートエディター７４２は編集されたフローチャートに基づいてプロセスシーケンス設定７５６を生成し、プロセスシーケンス設定７５６をスプレッドシートエディター７４４に送信し、次にスプレッドシートエディター７４４はプロセスシーケンス設定７５６に基づいて（上述のような）スクリプト生成処理を開始する。
【０１１６】
第７の例示的実施形態の主な利点は、フローチャートエディター７４２を使用してフローチャートを編集するため、また、スプレッドシートエディター７４４が編集されたフローチャートに基づいてスプレッドシートを編集するため、簡単で効果的な方法で高度なデータ処理を実現できることである。
【０１１７】
第７の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、フローチャートエディター７４２のパフォーマンスを制御するように特別に構成してもよい。
【０１１８】
第８の例示的実施形態
図８は、第８の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第８の例示的実施形態によるウェブベースシステム８００と第６の例示的実施形態によるウェブベースシステム６００との違いは、第８の例示的実施形態によるウェブベースシステム８００において、スプレッドシートエディター８４４がプロセスシーケンス設定８５６に基づいてスプレッドシート設定８５８を生成するように構成されており、一方、第６の例示的実施形態によるウェブベースシステム６００において、スプレッドシートエディター６４４はデータモデル全体の設定６６２に基づいてスプレッドシート設定６５８を生成するように構成されていることである。その結果、フローチャートを使用してスプレッドシートとの間で柔軟にデータを送受信し、柔軟にスプレッドシート計算を指示することができる。前述の図に示す構成要素と同じ参照番号を有する図８に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【０１１９】
フローチャートエディター８４２は、フローチャートを生成および編集し、編集したフローチャートに基づいてプロセスシーケンス設定８５６を生成し、プロセスシーケンス設定８５６をスプレッドシートエディター８４４に送信するように構成される。
【０１２０】
スプレッドシートエディター８４４は、プロセスシーケンス設定８５６に基づいてスプレッドシート設定８５８を生成し、スプレッドシート設定８５８をウェブ表示ファイル生成部８５０に送信するように構成される。
【０１２１】
ウェブ表示ファイル生成部８５０は、スプレッドシート設定８５８に基づいてウェブ表示ファイル８７０を生成し、ウェブ表示ファイル８７０をウェブサーバー８０４に送信するように構成される。ウェブサーバー８０４は、ウェブ表示ファイル８９２をウェブクライアント８９０に送信するように構成され、ウェブクライアント８９０は、要求メッセージ８９４と応答データ８９６とを使用してウェブサーバー８０４と通信するように構成される。
【０１２２】
第８の例示的実施形態の主な利点は、簡単で効果的な方法で高度なデータ処理と高度なデータ視覚化を実現できることである。
【０１２３】
第８の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、上記構成要素のパフォーマンスを制御するように特別に構成してもよい。
【０１２４】
第９の例示的実施形態
図９は、第９の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
【０１２５】
第９の例示的実施形態によるウェブベースシステム９００は、スプレッドシート９０２とデータモデル９０４とを同時に表示するように構成される。上記第１から第８の例示的実施形態を任意に組み合わせることによって、スプレッドシート９０２とデータモデル９０４とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、スプレッドシート９０２とデータモデル９０４の間のリンクを設定する。
【０１２６】
第９の例示的実施形態の主な利点は、簡単で効果的な方法で、スプレッドシート９０２とデータモデル９０４の間の相互連関を視覚化することである。
【０１２７】
第９の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブベースシステム９００の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＯＬＥＤなど）を、ウェブベースシステム９００の一部として実現してもよいし、ウェブベースシステム９００とは別にしてもよい。
【０１２８】
第１０の例示的実施形態
図１０は、第１０の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
【０１２９】
第１０の例示的実施形態によるウェブベースシステム１０００は、フローチャート１００６とデータモデル１００４とを同時に表示するように構成される。上記第１から第９の例示的実施形態を任意に組み合わせることによって、フローチャート１００６とデータモデル１００４とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、フローチャート１００６とデータモデル１００４の間のリンクを設定する。
【０１３０】
第１０の例示的実施形態の主な利点は、簡単で効果的な方法で、フローチャート１００６とデータモデル１００４の間の相互連関を視覚化することである。
【０１３１】
第１０の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブベースシステム１０００の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＯＬＥＤなど）を、ウェブベースシステム１０００の一部として実現してもよいし、ウェブベースシステム１０００とは別にしてもよい。
【０１３２】
第１１の例示的実施形態
図１１は、第１１の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
【０１３３】
第１１の例示的実施形態によるウェブベースシステム１１００は、ウェブベースシステム１１００が、例えばＸＭＬを使用する情報技術（ＩＴ）システムなどの外部システムに接続されていることを前提とする。ウェブベースシステム１１００は、セルを連結する連結機能と、ＸＭＬで使用不可能な文字をＸＭＬに準拠したフォーマットに変換するエスケープ機能（「変換」機能とも呼ぶ）とを含む２つの主な機能を実行するように構成される。ウェブベースシステム１１００を、上記第１から第８の例示的実施形態に含まれる、スプレッドシートエディター（例えば、スプレッドシートエディター１４４）、モジュールファイル実行部（例えば、モジュールファイル実行部１０５）、またはメッセージを生成するウェブクライアント（例えば、ウェブクライアント１９０）などの各種構成要素にロードしてもよい。
【０１３４】
図１１に例示するように、ウェブベースシステム１１００は他のセル（例えば、「＜ａｂｃ＞」および「Ｂ＆Ｗ」）からデータを受け取ってもよい。しかしながら、データに含まれる、文字「＜」、「＞」、および「＆」などの特定の文字はＸＭＬに準拠しないことがある。したがって、ウェブベースシステム１１００はまず、文字「＜」、「＞」、および「＆」をＸＭＬに準拠した文字に変換するエスケープ機能１１０８を実行し、次に、データを連結し、連結したデータを外部ＩＴシステムに送信する連結機能１１１０を実行する。
【０１３５】
第１１の例示的実施形態によるウェブベースシステム１１００の主な利点は、外部ＩＴシステムなどの外部システムのコンピュータ言語に準拠したテキストベースのメッセージを生成する、簡単で効果的な方法を提供することである。当然ながら、ウェブベースシステム１１００はメッセージをＸＭＬに変換することに限定されず、代わりにメッセージをその他の様々な種類のコンピュータ言語、例えばＪＳＯＮに変換してもよいものとする。
【０１３６】
第１１の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブベースシステム１１００の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＯＬＥＤなど）を、ウェブベースシステム１１００の一部として実現してもよいし、ウェブベースシステム１１００とは別にしてもよい。
【０１３７】
第１２の例示的実施形態
図１２は、第１２の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
【０１３８】
第１２の例示的実施形態によるウェブベースシステム１２００は、第１１の例示的実施形態によるウェブベースシステム１１００の逆機能を実行する。ウェブベースシステム１２００は、正規表現抽出機能１２０８とエスケープ解除機能１２１０（変換解除機能とも呼ぶ）とを含む。
【０１３９】
まず、ウェブベースシステム１２００は、外部システム（例えば、外部ＩＴシステム）からデータを含むテンプレートを受信し、テンプレートに対し正規表現抽出機能１２０８を実行して空白セルを抽出する。空白セルはユーザー設定に基づいてユーザーにより指定される。テンプレートを正規表現列に連結し、指定された空白セルを、「（．）」などの正規表現のパターンマッチングのための特別列として連結し、正規表現抽出機能１２０８により対応するデータを抽出できるようにする。次に、ウェブベースシステム１２００は、空白セルに含まれる文字を抽出し、空白セルに含まれる文字に対しエスケープ解除機能１２１０を実行することにより、データモデルで使用可能なフォーマットに文字を変換する。例えば、エスケープ解除機能１２１０により、文字を、ＸＭＬフォーマットから、データモデルで使用可能な非ＸＭＬフォーマットに変換する。次に、ウェブベースシステム１２００は変換した文字を適切な場所（例えば、データモデルを制御する装置またはプログラム）に送信する。
【０１４０】
第１２の例示的実施形態によるウェブベースシステム１２００の主な利点は、外部ＩＴシステムから受信されるメッセージを受信し、受信したメッセージをスプレッドシートのコンピュータ言語に準拠するようにする簡単で効果的な方法を提供することである。
【０１４１】
当然ながら、ウェブベースシステム１２００はメッセージをＸＭＬから変換することに限定されず、代わりにメッセージを他の様々な種類のコンピュータ言語、例えばＪＳＯＮに変換してもよい。
【０１４２】
第１２の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブベースシステム１２００の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＯＬＥＤなど）を、ウェブベースシステム１２００の一部として実現してもよいし、ウェブベースシステム１２００とは別にしてもよい。
【０１４３】
第１３の例示的実施形態
図１３は、第１３の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
【０１４４】
第１３の例示的実施形態によるウェブベースシステム１３００が第１２の例示的実施形態によるウェブベースシステム１２００と違うのは、第１３の例示的実施形態によるウェブベースシステム１３００は、パーサ１３０２と、差抽出部１３１０と、マッピングソルバ１３１４とを含むことである。
【０１４５】
パーサ１３０２は、システム（例えば、外部ＩＴシステム）から受信した応答メッセージを構文解析することによって、応答中間データ１３０４を生成するように構成される。さらに、パーサ１３０２は、テンプレートを構文解析することによって、テンプレート中間データ１３０６とマッピングデータ１３０８を生成するように構成される。応答中間データ１３０４とテンプレート中間データ１３０６は、例えば、ＸＭＬオブジェクト、ドキュメント・オブジェクト・モデル（ＤＯＭ）オブジェクト、ＪＳＯＮオブジェクト、または他の種類のデータでもよい。差抽出部１３１０は、応答中間データ１３０４とテンプレート中間データ１３０６との差を求め、その差を示す差データ１３１２を生成するように構成される。マッピングソルバ１３１４は、マッピングデータ１３０８を使用することでデータ１３１６を差データ１３１２から抽出し、次に抽出したデータ１３１６を適切な場所（例えば、データモデルを制御する装置またはプログラム）に送信するように構成される。
【０１４６】
第１３の例示的実施形態の主な利点は、第１２の例示的実施形態の特定の特徴を高めることである。ＸＭＬでは幅広い柔軟性は与えられない。第１３の例示的実施形態によれば、より柔軟なアプローチが提供される。外部システムから受信した応答メッセージはテンプレートと正確に一致していなくてもよく、代わりに、テンプレートのデータ記述言語に一致しているだけでよい。タスクを実行するのに文字を使用する代わりに、文字を中間データに置き換える。さらに、差データ１３１２とマッピングデータ１３０８とを使用することで、ウェブベースシステム１３００はソースを識別し、正確な値を正確に抽出することができる。
【０１４７】
第１３の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、ウェブベースシステム１３００の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ（例えば、ＣＲＴ、ＬＣＤ、ＯＬＥＤなど）を、ウェブベースシステム１３００の一部として実現してもよいし、ウェブベースシステム１３００とは別にしてもよい。
【０１４８】
第１４の例示的実施形態
図１４は、第１４の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第１４の例示的実施形態によるウェブベースシステム１４００と第１の例示的実施形態によるウェブベースシステム１００との違いは、第１４の例示的実施形態によるウェブベースシステム１４００は、設定Ｉ／Ｏインターフェース１４０２とサード・パーティ・アプリケーション１４０４とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図１４に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【０１４９】
設定Ｉ／Ｏインターフェース１４０２は、外部機器へのアクセス設定定義１６６とデータモデル全体の設定１４６２に基づいて生成されるアプリケーション・プログラミング・インターフェース（ＡＰＩ）である。設定Ｉ／Ｏインターフェース１４０２により、サードパーティはそのブランドのＧＵＩソフトウェアを容易に作ることができる。最初に生成されたＧＵＩは秘匿されるが、有用で汎用性のあるＧＵＩパーツを便宜上サードパーティに提供してもよい。設定Ｉ／Ｏインターフェース１４０２をアプリケーション・プログラミング・インターフェース（ＡＰＩ）として提供して、サード・パーティ・アプリケーション１４０４が内部機能に呼び出すことができるようにする。内部機能を呼び出すため、サード・パーティ・アプリケーション１４０４はコール１４０６を設定Ｉ／Ｏインターフェース１４０２に送信し、コール１４０６に基づいた設定Ｉ／Ｏインターフェース１４０２からの結果１４０８を受信する。内部機能の例には、プロジェクト機能をロードすること（例えば、元のエンジニアリングツールによってテンプレートとして予め作成されたプロジェクトファイルをロードすること）と、設定機能を変更すること（例えば、サードパーティによって作られたソフトウェアからロードされたプロジェクトデータをコピー、削除、および変更すること）と、プロジェクトを実デバイスの機能に書き込むこと（例えば、変更されたプロジェクトデータからウェブ画面用のスクリプトおよびファイルを生成し、生成したスクリプトとファイルを実デバイスに転送すること）が含まれる。その他様々な種類の機能も使用できるものとする。
【０１５０】
第１４の例示的実施形態の主な利点は、サードパーティが、エンジニアリングツール１４０によって予め生成されたスクリプトを使用できるようにすることである。スプレッドシート編集およびフローチャート編集から生じるＧＵＩ画面を削除することで、サードパーティはスクリプトを他の目的に使用することができる。したがって、第１４の例示的実施形態は、サードパーティが、エンジニアリングツール１４０によってすでに作成されたものを基礎にして、機能を追加すること、および以前から存在する機能を変更することを望む状況において有効である。さらに、第１４の例示的実施形態によるウェブベースシステム１４００を使用することで、サードパーティはそれ自身のシステムを作り出し、新たに作ったシステムを市場に出して売ることができる。
【０１５１】
第１４の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、設定Ｉ／Ｏインターフェース１４０２のパフォーマンスを制御するように特別に構成してもよい。
【０１５２】
第１５の例示的実施形態
図１５は、第１５の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第１５の例示的実施形態によるウェブベースシステム１５００と第３の例示的実施形態によるウェブベースシステム３００との違いは、第１５の例示的実施形態によるウェブベースシステム１５００は、プロファイル定義１５３０に基づいてデータモデルを生成することである。前述の図に示す構成要素と同じ参照番号を有する図１５に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
【０１５３】
プロファイルでアクセスする実行部１５１０（例えば、「プロファイル実行部」）は、プロファイル定義１５３０を受信し、プロファイル定義１５３０に基づいてデータモデルを生成するように構成される。
【０１５４】
第１５の例示的実施形態の主な利点は、アクセスドライバを使用してデータモデルを生成する第３の例示的実施形態とは異なり、第１５の例示的実施形態においては、プロファイル定義１５３０を使用してデータモデルを生成することである。プロファイル定義１５３０を使用することで、外部機器が、特定のプロファイル仕様を有するいくつかの標準化通信プロトコルに対応する場合、ユーザーはデバイス・アクセス・ドライブなしで外部機器にアクセスすることができる。その結果、機器のプロファイルデータのみが必要であることによって、データ処理動作が簡単なものになる。
【０１５５】
第１５の例示的実施形態において、ＣＰＵ２８０４（図２８）などのプロセッサを、上記の機能の実行時に、プロファイルでアクセスする実行部１５１０のパフォーマンスを制御するように特別に構成してもよい。
【０１５６】
上記例示的実施形態の態様をコンピュータプログラムとして書いてもよいし、コンピュータ読み取り可能記録媒体を使用してプログラムを実行する汎用デジタルコンピュータで実現してもよい。コンピュータ読み取り可能記録媒体の例には、磁気記憶媒体（例えば、ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスクなど）、光記録媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ）、およびその他の種類の記録媒体が含まれる。
【０１５７】
前述の例示的実施形態および利点は例にすぎず、上記例示的実施形態を限定するものとして解釈されるものではない。上記例示的実施形態は、ファクトリーオートメーション（ＦＡ）機器以外の機器などの他の種類の機器にも容易に適用可能である。例えば、上記例示的実施形態を、例えば、インターネット、モノのインターネット（ＩＯＴ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）などのネットワークを介して互いに接続される各種電子装置に適用してもよい。また、上記例示的実施形態の説明は例示を目的とするものであり、請求項の範囲を限定するものではなく、当業者であれば様々な変更、修正、および変形が明らかであろう。
【図１】
2017077887.tif 000003
【図２】
2017077887.tif 000004
【図３】
2017077887.tif 000005
【図４】
2017077887.tif 000006
【図５】
2017077887.tif 000007
【図６】
2017077887.tif 000008
【図７】
2017077887.tif 000009
【図８】
2017077887.tif 000010
【図９】
2017077887.tif 000011
【図１０】
2017077887.tif 000012
【図１１】
2017077887.tif 000013
【図１２】
2017077887.tif 000014
【図１３】
2017077887.tif 000015
【図１４】
2017077887.tif 000016
【図１５】
2017077887.tif 000017
【図１６】
2017077887.tif 000018
【図１７】
2017077887.tif 000019
【図１８】
2017077887.tif 000020
【図１９】
2017077887.tif 000021
【図２０】
2017077887.tif 000022
【図２１】
2017077887.tif 000023
【図２２】
2017077887.tif 000024
【図２３】
2017077887.tif 000025
【図２４】
2017077887.tif 000026
【図２５】
2017077887.tif 000027
【図２６】
2017077887.tif 000028
【図２７】
2017077887.tif 000029
【図２８】
2017077887.tif 000030
【手続補正書】
【提出日】平成29年11月22日(2017.11.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、
データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
を備えるエンジニアリングツール。
【請求項２】
前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに備える、請求項１に記載のエンジニアリングツール。
【請求項３】
前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項４】
スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を備え、
ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成される、エンジニアリングツール。
【請求項５】
前記エンジニアリングツールは、構成されたディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成される、請求項１に記載のエンジニアリングツール。
【請求項６】
前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第１のフォーマットから第２のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成される、請求項１に記載のエンジニアリングツール。
【請求項７】
前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第２のフォーマットから前記第１のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成される、請求項６に記載のエンジニアリングツール。
【請求項８】
前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成される、請求項７に記載のエンジニアリングツール。
【請求項９】
前記エンジニアリングツールは、
サード・パーティ・アプリケーションと、
前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも１つの機能へのアクセスを与えるように構成された入出力設定インターフェースと、
をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項１０】
プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに備える、請求項１に記載のエンジニアリングツール。
【請求項１１】
データを処理するように構成されたシステムであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいてモジュールファイルを生成するように構成されたモジュールファイル生成部と、
データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、
複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、
を備えるエンジニアリングツールと、
前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、
前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、
前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、
を備えるコントローラと、
を備えるシステム。
【請求項１２】
前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの１つの構造を編集するように構成されたデータモデル構造エディターをさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するように構成される、請求項１２に記載のシステム。
【請求項１４】
前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備え、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに備える、請求項１３に記載のシステム。
【請求項１５】
コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、
データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
を備えるエンジニアリングツール。
【請求項１６】
コントローラで使用され、スプレッドシートに基づいて、請求項１から１０，１５のいずれか１項に記載のエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、
前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、
前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、
モジュール。
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図１
【補正方法】変更
【補正の内容】
【図１】
2017077887.tif 000031
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2017077887.tif 000032
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2017077887.tif 000033
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2017077887.tif 000034
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2017077887.tif 000035
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2017077887.tif 000036
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2017077887.tif 000037
【手続補正９】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2017077887.tif 000038
【手続補正１０】
【補正対象書類名】図面
【補正対象項目名】図１４
【補正方法】変更
【補正の内容】
【図１４】
2017077887.tif 000039
【手続補正１１】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2017077887.tif 000040
【手続補正書】
【提出日】平成30年3月16日(2018.3.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、
データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
を備えるエンジニアリングツール。
【請求項２】
スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの１つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を備え、
ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成され、前記データモデルは、データを論理的に配置するデータ構造を有するように構成され、かつ前記機器が保持する内部統計値および記録を含むことができる、エンジニアリングツール。
【請求項３】
前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに備える、請求項１又は２に記載のエンジニアリングツール。
【請求項４】
前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備える、請求項１又は２に記載のエンジニアリングツール。
【請求項５】
前記エンジニアリングツールは、構成されたディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成される、請求項１又は２に記載のエンジニアリングツール。
【請求項６】
前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第１のフォーマットから第２のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成される、請求項１又は２に記載のエンジニアリングツール。
【請求項７】
前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第２のフォーマットから前記第１のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成される、請求項６に記載のエンジニアリングツール。
【請求項８】
前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成される、請求項７に記載のエンジニアリングツール。
【請求項９】
前記エンジニアリングツールは、
サード・パーティ・アプリケーションと、
前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも１つの機能へのアクセスを与えるように構成された入出力設定インターフェースと、
をさらに備える、請求項１又は２に記載のエンジニアリングツール。
【請求項１０】
プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに備える、請求項１又は２に記載のエンジニアリングツール。
【請求項１１】
データを処理するように構成されたシステムであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいてモジュールファイルを生成するように構成されたモジュールファイル生成部と、
データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、
複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、
を備えるエンジニアリングツールと、
前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、
前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、
前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、
を備えるコントローラと、
を備え、前記データモデルは、データを論理的に配置するデータ構造を有するように構成され、かつ前記機器が保持する内部統計値および記録を含むことができるシステム。
【請求項１２】
前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの１つの構造を編集するように構成されたデータモデル構造エディターをさらに備える、請求項１１に記載のシステム。
【請求項１３】
前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するように構成される、請求項１２に記載のシステム。
【請求項１４】
前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備え、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに備える、請求項１３に記載のシステム。
【請求項１５】
コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、
機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、
データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
を備えるエンジニアリングツール。
【請求項１６】
コントローラで使用され、スプレッドシートに基づいて、請求項１から１０，１５のいずれか１項に記載のエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、
前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、
前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、
モジュール。
【国際調査報告】
2017077887.tif 000041
2017077887.tif 000042