JP6351869B2 - エンジニアリングツール、システムおよびモジュール - Google Patents

エンジニアリングツール、システムおよびモジュール Download PDF

Info

Publication number
JP6351869B2
JP6351869B2 JP2017548709A JP2017548709A JP6351869B2 JP 6351869 B2 JP6351869 B2 JP 6351869B2 JP 2017548709 A JP2017548709 A JP 2017548709A JP 2017548709 A JP2017548709 A JP 2017548709A JP 6351869 B2 JP6351869 B2 JP 6351869B2
Authority
JP
Japan
Prior art keywords
data
spreadsheet
web
exemplary embodiment
data model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017548709A
Other languages
English (en)
Other versions
JPWO2017077887A1 (ja
Inventor
偉浩 李
偉浩 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2017077887A1 publication Critical patent/JPWO2017077887A1/ja
Application granted granted Critical
Publication of JP6351869B2 publication Critical patent/JP6351869B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Description

本明細書に開示する例示的実施形態は、例えば、産業ロボット、工作機械、組み込み機器を含むファクトリーオートメーション(FA)機器などの機器から得たデータを処理する装置、システム、および方法に関する。
ファクトリーオートメーション(「FA」)の技術分野において、工場の機器の操作者は、工場の機器の監視および工場の機器に関するデータの処理などの様々なタスクを実行するのに、ワールド・ワイド・ウェブに接続したコンピュータシステム(ウェブベースのコンピュータシステム)などのネットワーク・コンピュータ・システムを使用することが多い。関連技術において、ウェブベースのコンピュータシステムを構築する一般的な方法では、情報技術(IT)システムと通信するためのプログラム、工場の機器と通信するためのプログラム、データ処理のためのプログラム、ウェブ上で処理データを表示および実行するためのプログラムなどの各種のプログラムを別々に作成し、これらの別々に作成されたプログラムが通信プロトコルを介して互いに通信するように設定する。
ウェブベースの技術は世界中で利用されているので、工場の機器の視覚化および情報処理動作を実行するのにウェブベースの技術が使用されるようになってきた。
図16は、関連技術に係る、FA機器から得たデータを処理するウェブベースシステムを示す。図16に示すように、ウェブベースシステム1600は実デバイス1603とプログラミング環境1623(例えば、コードの書き込み、コードの正当性の検証、および特定の対象プラットフォームで実行するためのコードのコンパイルに使用するツール)とを含む。
実デバイス1603は、データ処理プログラム1607と外部機器との通信プログラム1609とを含むプログラム実行スペース1605と、ウェブサーバー1615とを含む。データ処理プログラム1607はデータの選別、集計、変換(スケーリングなど)、判定(ビジネスロジック)などの各種のデータ処理動作を実行し、ウェブサーバー1615と通信し、ウェブサーバー1615はウェブクライアント1619と通信する。データ処理プログラム1607はまた、コーディング環境1617と通信する。外部機器との通信プログラム1609は、各種の通信プロトコルにより、各種のシステムと通信可能である。外部機器との通信プログラム1609は、HTTP、FTP、またはJDBCなどの通信プロトコルを使用してITシステム1611と通信し、RS−232C、イーサネット(登録商標)、または低レベルI/Oを使用してファクトリーオートメーション(FA)機器1613と通信する。外部機器との通信プログラム1609はさらにコーディング環境1617と通信する。
プログラミング環境1623は、上記処理を実行するためのコンピュータコードを作成する環境であるコーディング環境1617を含む。ユーザーはコーディング環境1617を用いて、(1)工場の機器と通信するためのC言語に基づくコード、(2)ITシステム1611と通信するためのJava(登録商標)に基づくコード、(3)ウェブアプリケーションのためのHTML、JavaScript(登録商標)、またはPHPに基づくコード、(4)データベースにアクセスするためのSQLに基づくコード、(5)ビジネスロジックを記述するためのLuaに基づくコードを含む、少なくとも5種類のコンピュータコードを作成する。特定の状況では、5を超える種類のコードが必要なこともある。ユーザーがこれらの各種のコンピュータコードを作成すると、コーディング環境1617はこれらの作成されたコードを使用して、データ処理プログラム1607と、外部機器との通信プログラム1609と、ワールド・ワイド・ウェブ用のウェブファイル1621と通信する。
上述のように、関連技術のウェブベースシステム1600によれば、ウェブベースシステム1600を構築し操作する人は、各FA機器のデータを処理するのに適した各種のコンピュータコードを作成するために様々な種類のコンピュータ言語に堪能である必要があり、また、ウェブベースシステム1600、各FA機器、ITシステム、および他の実体との間でデータを交換するのに使用する様々な種類のプロトコルに堪能である必要もある。さらに、ウェブベースシステム1600の操作者は、FAシステム自体だけでなく、FAシステムと対話するITシステム1611およびウェブクライアント1619を含む他のシステムに関する高度に専門的な知識を有する必要がある。さらに、ウェブベースシステム1600の操作者は、データ処理動作と通信処理動作とを連続的に組み合わせる方法を知っている必要があるが、これは非常に複雑な処理になることがある。
その結果、FA機器のデータ処理のためのウェブベースシステムを構築し操作するのに必要な技能を持つ人は非常に少ない。
Rosemanの米国特許第5,038,318号は、工作機械の自動運転と処理装置とを指示するプログラマブル・ロジック・コントローラを開示している。
Frederickらの米国特許第7,117,043号は、プログラマブル・ロジック・コントローラ(PLC)によって制御されるシステムの機器および機能に関する情報を含むスプレッドシートを作成し、スプレッドシートを分析し、システムを制御するためのPLCロジックを書く技術を開示している。
Bedardの米国特許出願第2014/0149836号は、スプレッドシートファイルとダッシュボード構造ファイルとを含むダッシュボード・コンテナ・ファイルを受信する方法を開示し、スプレッドシートファイルとダッシュボード構造ファイルはそれぞれ、テキストベースの、言語非依存のデータ交換フォーマットに変換されるので、ダッシュボードの特徴を示すデータを、変換されたスプレッドシートおよびダッシュボードファイルを使用して提供することができる。
しかしながら、これらの関連技術の技法では、FA機器などの機器のデータを処理するウェブベースシステムを構築および操作するのに必要な技能を持つ人が非常に少ないという上記の問題は解決しない。
米国特許第5,038,318号明細書 米国特許第7,117,043号明細書 米国特許出願公開第2014/0149836号明細書
上記関連技術の説明は、先行技術を認めるものでは決してない。
本例示的実施形態の態様は、FA機器のデータを処理するための関連技術のウェブベースシステムに関するこれらの問題および/または他の問題を解決することを目的とする。しかしながら、本例示的実施形態の態様は、上記の問題を解決するのに必然ではないものとする。
一例示的実施形態の一態様によれば、スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの1つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を含むエンジニアリングツールが提供される。
前記エンジニアリングツールは、データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部を含んでもよい。
前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに含んでもよい。
前記エンジニアリングツールは、前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよい。
前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成されてもよい。
前記エンジニアリングツールは、ディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成されてもよい。
前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第1のフォーマットから第2のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成されてもよい。
前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第2のフォーマットから前記第1のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成されてもよい。
前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成されてもよい。
前記エンジニアリングツールは、サード・パーティ・アプリケーションと、前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも1つの機能へのアクセスを与えるように構成された入出力(I/O)設定インターフェースとをさらに含んでもよい。
前記エンジニアリングツールは、プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに含んでもよい。
他の例示的実施形態の一態様によれば、データを処理するように構成されたシステムであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて、スクリプトファイルであってもよいモジュールファイルを生成するように構成されたモジュールファイル生成部と、データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、を含むエンジニアリングツールと、前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、を含むコントローラと、を含むシステムが提供される。
前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの1つの構造を編集するように構成されたデータモデル構造エディターをさらに含んでもよい。
前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するようにさらに構成されてもよい。
前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに含んでもよく、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに含んでもよい。
他の例示的実施形態の一態様によれば、コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、を含むエンジニアリングツールが提供される。
他の例示的実施形態の一態様によれば、コントローラで使用され、スプレッドシートに基づいてエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、モジュールが提供される。
これらの態様および/または他の態様は、添付の図面と共に解釈することで、以下の例示的実施形態の説明により明らかとなり、より容易に理解されるであろう。
第1の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第2の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第3の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第4の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第5の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第6の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第7の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第8の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第9の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第10の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第11の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第12の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第13の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第14の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 第15の例示的実施形態による、データを処理するためのウェブベースシステムの説明図 関連技術による、データを処理するためのウェブベースシステムの説明図 一例示的実施形態による、ファクトリーオートメーション(FA)機器のステータスを示すスクリーンショットの一例を示す図 一例示的実施形態による、ファクトリーオートメーション(FA)機器のステータスを示すスクリーンショットの一例を示す図 一例示的実施形態によるデータモデルの一例を示す図 一例示的実施形態による警告情報の一例を示す図 一例示的実施形態によるスプレッドシートを示す図 一例示的実施形態によるスプレッドシートを示す図 一例示的実施形態による電子メールを示す図 一例示的実施形態によるデータモデルを含む画面の一例を示す図 一例示的実施形態によるデータモデルを含む画面の一例を示す図 一例示的実施形態によるフローチャートの一例を示す図 一例示的実施形態によるウェブベースシステムのハードウェア構成の一例を示す図 一例示的実施形態による、ウェブベースシステムの一態様を実現するハードウェア装置の一例を示す図
ウェブベースシステムの概要
各例示的実施形態の態様により、産業ロボット、工作機械、組み込み機器などのファクトリーオートメーション(FA)機器の操作者が、FA機器を制御し、FA機器から得たデータを処理する能力を高めるウェブベースシステムが提供される。しかしながら、本例示的実施形態はFA機器に限定されず、各種のネットワークで直接的または間接的に互いに接続される他の様々な種類の機器にも適用できる。例えば、本例示的実施形態は、インターネット、モノのインターネット(IoT)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、セルラーネットワーク、ブルートゥース(登録商標)ネットワーク、近距離無線通信(NFC)ネットワーク、および他の様々な種類のネットワークを介して接続された機器を制御するのに使用することができる。機器には、ホーム・オートメーション・システム機器(例えば、冷蔵庫、食洗機、テレビ、冷暖房空調設備、照明など)などの、ネットワークに接続可能なあらゆる種類の機器が含まれる。各例示的実施形態の態様は、産業的用途だけでなく、個人的用途(例えば、趣味)にも適用可能であり、特定の種類の用途に限定されない。
「情報」、「データ」、「定義」、および他の類似した用語などの用語は、本例示的実施形態の説明で使用されるが、様々な種類の情報、データ、および定義を広く指すものであり、特定の文脈に限定されない。例えば、用語「情報」または「データ」は、電子装置の固定的な特徴(例えば、識別情報)に関する情報またはデータ、動的に変化するステータス情報(例えば、電力レベル、パフォーマンス情報、サイクル/秒、インクレベル、メモリ記憶レベル、他の設定値)、接続情報(例えば、Wi−Fi、セルラー、イントラネット、インターネットなど)、位置情報(例えば、固定位置情報、GPS座標)、金融情報、および電子装置に直接的および間接的に関連する、他の様々な種類の情報を意味し得る。さらに、用語「定義」は、例えば、スプレッドシートのセルに記述されるあらゆる種類の情報を広く指し得る。記述は、記述が与えられる文脈によって様々な意味を持ち得る。スプレッドシート環境では、各記述の文脈により、各セルにおいて記述が持つ意味の種類が変わる。用語「定義」は、特定の文脈にかかわらず、スプレッドシートのセルにおける情報の記述を意味し得る。言い換えると、「定義」は広くスプレッドシートセルの情報の文脈に依存しない記述であり得る。別の例として、「定義」は、例えば、数学的またはビジネスロジック定義(例えば、SUM機能または条件付きロジック機能(IF、ELSEなど))、属性、配列、設定、規則(例えば、アルゴリズム)、または機器および機器自身の情報の他の特徴を定義するものであり得る。さらに、例示的実施形態は工場の機器に関連して説明されるが、例示的実施形態はそれらに限定されず、パーソナル電子装置、ホームオートメーションおよび家電、自動車用装置、およびその他様々な種類の電子装置または非電子装置を含む、他の様々な種類の機器に応じて実現できるものとする。
一例示的実施形態によれば、エンジニアリングツールを使用して、ウェブベースシステムに表示するセットアップ画面を作成する。セットアップ画面は、エクセル文書に似たスプレッドシートアプリケーションでもよいが、必ずしもエクセル文書とは限らない。システムはある種類のスプレッドシートに基づいて作成され、スプレッドシートを使用して計算を実行し、グラフを使用して視覚化を実現し、さらにプロセスシーケンスを作成および変更し、プロセスシーケンスを使用して機器を制御または検査する。
一例示的実施形態によるウェブベースシステムは、ウェブベースシステムのユーザーが各種のデータ処理および監視操作のためのデータを取得する(例えば、機器のパフォーマンスのグラフを生成する)ことを容易に可能にする改良技術を提供する。このウェブベースシステムは、プログラマブル・ロジック・コントローラ(PLC)、メールサーバー、およびその他の装置など、各種の装置に接続可能である。例えば、ウェブベースシステムのユーザーがシーケンサ(例えば、工場の機器の動作順序など、一連のイベントを自動的に制御する電気機械システム)に接続したい場合、シーケンサに保存されたデータがウェブベースシステムの画面に表示される。他の例として、ウェブベースシステムのユーザーがデータベース(DB)に接続したい場合、DBのデータテーブルが表示される。
一例示的実施形態によれば、ウェブベースシステムは3つの主な特徴を含む。
第1の特徴はデータモデルであり、データモデルによりユーザーは、同じ簡単な技術を用いて、シーケンサ、データベース、メールサーバーなどの各種の外部装置からのデータにアクセスし、操作することができる。例示的実施形態によれば、用語「データモデル」は、オブジェクトモデルを意味する一般的な用語であり、オブジェクトモデルはデータで記述され、データを論理的に配置するデータ構造を有するように構成される。データモデルは、機械が保持する内部統計値や記録、および機械が保存するその他の種類のデータを含む、機械から抽出できる全てのデータを含むことができる。データモデル(第1の特徴)の例を、図19、図24、および図25に示す。図19に示すデータモデル1900は、「オブジェクトブラウザ」として表されている。図24に示すように、画面2400は、データベース(例えば、「AzureDB」)に関するデータモデルの一例であるデータモデル2402(「オブジェクトブラウザ」)を含み、さらに、データベースAzureDBへのアクセスを可能にするアクセス設定2404を含む。また、画面2500は、CPU(例えば、「LCPU」)に関するデータモデルの一例であるデータモデル2502(「オブジェクトブラウザ」)を含み、さらにLCPUへのアクセスを可能にするアクセス設定2504を含む。データモデル1900,2402、および2502を使用して、異種のハードウェアに関する情報を整理する。様々な種類のデータモデルが可能であり、例示的な情報1700(図17)および1800(図18参照)などのファクトリーオートメーション(FA)機器のステータスを示す情報に関し使用することができる。図19、図24、および図25はデータモデルとして「オブジェクトブラウザ」を例示しているが、例示的実施形態はデータモデルとして「オブジェクトブラウザ」を使用することに限定されず、データモデルは視覚的および論理的に、他の様々な方法で実現できるものとする。
第2の特徴はスプレッドシートであり、スプレッドシートにより、ユーザーが情報を処理するためのプログラムや、データベース間で情報を転送するプログラム、およびデータを視覚化するプログラムを容易に書くことが可能となる。一例示的実施形態によるウェブベースシステムによって生成されたスプレッドシート画面の一例を図21および図22に示す。図21の生成画面は、「Alarm Check」モードと例示され、各種機器のステータス(例えば、インクレベル、バッテリーステータス、冷却ファン時間)を示すステータス情報2102を含むスプレッドシートである。図22の生成画面は、「Send Alarm」モードと例示されるスプレッドシートであり、各種機器の警告レベルのステータスを示す警告情報2202を含む。図23の生成画面は、警告情報2202に相当する電子メール内容2302を含む電子メールであり、電子メールによってユーザーに警告情報を通知する。電子メールはさらに、図22に示すスプレッドシートにリンクするリンク2304を含む。図20はまた警告情報2000を示す。
図21および図22に示す画面で、ユーザーはデータを、データベースから画面に示されるセルに移動できるだけでなく、セルからデータベースにデータをエクスポートできる。ユーザーはまた、入力/出力機能を使用して特定の値を計算し、項目を視覚的に表示することができる。
図21から図23に示すように、スプレッドシートは、外部機器(例えば、シーケンサ、プリンタ、工作機械、パーソナル電子装置、家庭用電気製品など)から値を持ち込むプログラムを実行して、各種機器の異常を検出してもよい。異常検出プログラムは、スプレッドシートでの計算により実行される。現在のステータスデータの全てをカラムの1つ(例えば、図21のカラムE)に挿入してもよく、ウェブベースシステムは現在のステータスデータを前回値または正常値と比較して差を検出する。異常検出プログラムの結果は、メールサーバーに出力として送ることができ、例として、電子メールにより異常検出結果を示すメッセージを出力してもよい。図23に示すように、電子メールの受信者が見る実際のメール内容は、リンク2304を介してスプレッドシートに接続される。実際のメール内容には、異常の存在だけでなく、異常(例えば、冷却ファンの異常、インクレベルの異常など)の特定値を含めてもよい。その結果、ウェブベースシステムの操作者はC言語を知らなくても、常時異常を通知される。
第3の特徴はフローチャートであり、スプレッドシートには特定の長所と短所があるので、フローチャートによりスプレッドシートを補助し強化する。一例示的実施形態によるウェブベースシステムによって生成されたフローチャート(第3の特徴)の例を図26に示す。スプレッドシート(例えば、図21および図22)には特定の利点と不利点がある。例えば、スプレッドシートは、効率的に計算を実行できるという利点があるが、スプレッドシートだけを使用して計算の優先順位または順序を決定するのは難しい場合があるという不利点がある。言い換えると、スプレッドシートは因果関係、すなわち、if→then演算に関して不利である。フローチャートにより、計算の実行、データモデルからのデータ入力、およびデータモデルへのデータ出力などのスプレッドシートの機能を制御することができる。スプレッドシートは計算のタイミング、およびデータ入力/出力機能を記述できない場合があるので、フローチャートは有益である。スプレッドシートにはデータと実行トリガーを与えなければならない。エクセルの場合、タイミングを、デフォルトではユーザーがデータを入力した時点として定義してもよい。しかしながら、実デバイスの場合、処理は人によって操作されないので、ユーザーがデータを入力したデフォルトタイミングの代わりに、特定のタイミングを定義する必要があるか、それが望まれることがある。したがって、第2の特徴と第3の特徴を組み合わせることで、ユーザーは外部機器(例えば、FA機器)との間で送受信したデータをより簡単に処理し操作することができる場合がある。
例示的実施形態はフローチャートを使用することに限定されず、代わりに設定テーブル、および動作と情報の間の関係を記述するその他の機構(例えば、リストまたはグリッドなど)を使用してもよいものとする。
図26に示すように、フローチャート2600はデータを処理するための一連の動作を含む。動作2602において、データ処理動作を開始する。動作2604で、データをスプレッドシートの1つのカラムから別のカラムにコピーする。例えば、図21のスプレッドシートにおいて、データをセルG2からG9(「Current」)からコピーし、セルF2からF9(「Previous」)に挿入する。動作2606において、データを物理的装置から入力する。例えば、図21のスプレッドシートにおいて、データをLCPUからセルE2からE9(「Current(Raw)」)に入力する。動作2608において、計算を実行する。例えば、「Current(Raw)」データと「Previous」データとの比較に基づいて異常検出を行う。動作2610において、図22のスプレッドシートのカラムA10の値が1に等しい場合、処理は動作2612に進み、その他の場合、カラムA10の値をクリアし(動作2620)、処理を終了する(動作2622)。動作2612において、カラムH10の値が「TRUE」(「SendAlarm!」)である場合、処理は動作2614に進み、その他の場合、処理は終了する(動作2622)。動作2614において、実デバイスの情報(例えば、図21のカラムA15からE23)を含むAlarm Checkを出力する。動作2616において、カラムA11の値が1に等しい場合、処理は動作2618に進み、動作2608での計算結果を電子メールの内容として含む、図23に関して上述した電子メールなどの電子メールを出力し、その他の場合、処理は終了する(動作2622)。
一例示的実施形態によれば、トリガータイミングをユーザーが設定して、特定の動作を所定の間隔で実行することができる。例えば、トリガータイミングをユーザーが設定して、図26の特定の動作を所定の間隔(例えば、1秒、5秒、10秒、1分、1時間など)で実行することができる。
さらに、他の例示的実施形態によれば、ユーザーはスプレッドシートを使用せずにフローチャートと対話してもよく、その場合、スクリプト生成処理を変更して、スプレッドシートに関するスクリプト部分を省略する。
一例示的実施形態によれば、フローチャート要素をグラフィカルな動作(例えば、ドラッグ・アンド・ドロップ動作など)によって操作するように構成する。例えば、ドラッグ・アンド・ドロップ動作および他の種類の動作を使用して、フローチャートの各種処理または決定を再配列または変更することができる。さらに、各種方法でデータをフローチャート要素に挿入することができる。例えば、動作2604において、セル範囲をG2からG9から別のセル範囲に変更するために、ユーザーは動作2604を示す枠を選択し、異なるセル範囲を入力することができる。一例示的実施形態によれば、セル範囲選択ダイアログは、マイクロソフト・エクセル(登録商標)と同様にまたは全く同じように機能するものでもよい。
これらの3つの特徴を実現することで、一例示的実施形態によるウェブベースシステムは、FAエンジニアがプログラム言語を知らなくても情報処理のシステムを構築できるようにする。一例示的実施形態によれば、ウェブベースシステムはマイクロソフト・エクセル(登録商標)に基づいているので、ウェブベースシステムのユーザーは、ウェブベースシステムを使用するのに、マイクロソフト・エクセル(登録商標)に基本的に精通しているだけでよい。他の例示的実施形態によれば、ウェブベースシステムはテンプレートを使用するので、ウェブベースシステムのユーザーはウェブベースシステムを使用するのに、マイクロソフト・エクセル(登録商標)に精通している必要さえない。
ウェブベースシステムが実現するその他の利点は、外部機器と内部処理動作が分かれているということである。
ウェブベースシステムのハードウェア構成の概要
図27は、一例示的実施形態によるウェブベースシステムのハードウェア構成を示す。
図27に示すように、ハードウェア構成2700は、基準テンプレート・アプリケーション・パーツ・パッケージ2702と、ウェブブラウザ2704と、スプレッドシートベースのヒューマン・マシン・インターフェース(HMI)・ビルダー2706と、情報共有プラットフォーム2708と、機器2710(例えば、プロファイルおよび標準化方式によりすでに定義されたデータモデルを有する機器)と、内蔵データベース2712と、プログラマブル・ロジック・コントローラ(PLC)2714と、OPC−UAクライアント/サーバー2716と、遠隔端末2718と、遠隔システム2720と、クラウド2722と、分析サービス2726とを含む。情報共有プラットフォーム2708を、ハードウェア、ソフトウェア、またはそれらの組み合わせとして実現してもよく、他の様々な種類(例えば、ハードウェア装置と開発コードの組み合わせなど)として提供してもよい。さらに、機器2710は、プリンタ、インク・レベル・センサー、冷却ファン、組立ライン機器、パーソナル電子装置、家庭用電気製品など、様々な種類のものでもよい。
例えば、情報共有プラットフォーム2708をファクトリーオートメーション(FA)機器として実現する場合、情報共有プラットフォーム2708を、プログラマブル・ロジック・コントローラ、Cコントローラ(MELSECシステムアーキテクチャに基づくC言語形式プログラムを実行可能な、一般的なオープン・プラットフォーム・コントローラ)、一種のヒューマン・マシン・インターフェース(HMI)であるグラフィック・オペレーション・ターミナル(GOT)、コンピュータ数値制御装置(CNC)、または他の種類のFA機器として実現してもよい。他の例として、情報共有プラットフォーム2708を非FA機器として実現する場合、情報共有プラットフォーム2708を販売時点情報管理(POS)端末として実現してもよい。情報共有プラットフォーム2708は他の様々な種類の装置として実現できるものとする。
これらのハードウェア装置はそれぞれ、本例示的実施形態の特徴を利用するために、様々な方法で互いに対話するように構成されていてもよい。例えば、基準テンプレート・アプリケーション・パーツ・パッケージ2702、ウェブブラウザ2704、およびスプレッドシートベースのHMIビルダー2706を使用して、フロー図およびスプレッドシート2728を生成してもよい。さらに、遠隔端末2718と遠隔システム2720はクラウド2722を介してフロー図とスプレッドシート2728にアクセスすることにより、データを処理し、ファクトリーオートメーション(FA)機器を制御してもよい。さらに、これらのハードウェア装置は例にすぎず、図27に示すハードウェア装置の代わりに、またはそれらに加えて、様々な種類のハードウェア装置を本例示的実施形態にしたがって使用できるものとする。例えば、ウェブベースシステムをシーケンサに組み込むことができる。他の例として、ウェブベースシステムを、PC、タブレット装置、またはスマートフォンに含まれる、特別に構成されたハードウェアとソフトウェアの組み合わせとして実現することができる。本例示的実施形態において、マイクロプロセッサ、メモリ装置、記憶装置、イーサネット(登録商標)ポート、またはIPプロトコルに基づいて他の装置と通信可能な装置の組み合わせを利用してもよい。他の例示的実施形態により、その他様々なハードウェアとソフトウェアの組み合わせが可能である。
これらの様々なハードウェア装置の1つまたは組み合わせにおいて例示的実施形態によるウェブベースシステムを実現してもよい。
図28は、一例示的実施形態によるウェブベースシステムの一態様を実現するハードウェア装置の一例である。図28に示すように、ハードウェア装置2800は、入力(例えば、機械のステータスを示すデータ)を受信する入力モジュール2802と、指定された処理を実行し、ハードウェア装置2800の動作全体を制御する中央処理装置(CPU)2804と、受信した入力と、他のデータ、プログラム、および他の種類の情報を記憶するメモリ2806と、CPU2804が実行した処理の結果を出力する出力モジュール2808と、入力モジュール2802、CPU2804、メモリ2806、および出力モジュール2808に電力を供給する電力供給部2810とを含む。CPU2804は外部のプログラミング端末2812と通信するので、ハードウェア装置2800にプログラミング端末2812を使用してプログラムを書き込むことができる。図28は入力モジュール2802と出力モジュール2808とを異なるモジュールとして例示しているが、いくつかの例示的実施形態によれば、入力モジュール2802と出力モジュール2808とを同一モジュール内で実現してもよい。
一例示的実施形態によれば、ハードウェア装置2800はプログラマブル・ロジック・コントローラ(PLC)として実現可能であるが、それに限定されない。他の例示的実施形態によれば、ハードウェア装置2800を、ホーム・オートメーション・システム装置、スマートフォン、タブレット、カメラ、自動車用装置などの、PLC以外の様々な種類の装置として実現してもよい。当業者であれば、ハードウェア装置2800を様々な方法で実現できることがわかるだろう。
ウェブベースシステムの論理構造の概要
図1は、例示的実施形態のいくつかによるウェブベースシステムの構造の概要を示す。後述のように、各例示的実施形態が、その例示的実施形態の特定の機能および目的に応じて、図1に示すウェブベースシステムの特定の処理部の独自の組み合わせを使用できる点で、特定の例示的実施形態は互いに差別化される。当業者であればわかるように、各種例示的実施形態は様々な方法で組み合わせ可能であるものとする。例えば、図1から図15に示す処理装置の異なる組み合わせを、様々な方法で組み合わせて、様々な機能を実現してもよい。
図1に示すように、ウェブベースシステム100は実デバイス102(例えば、PLCモジュール)とエンジニアリングツール140(例えば、PC、タブレット、スマートフォン、または他のコンピュータ装置)とを含む。
エンジニアリングツール140は、フローチャートエディター142(例えば、「フローチャートエディター」)と、スプレッドシートエディター144(例えば、「スプレッドシートエディター」)と、データモデル構造エディター146(例えば、「データモデル構造エディター」)と、外部機器へのアクセス設定エディター148(例えば、「外部機器アクセス設定エディター」)と、ウェブ表示ファイル生成部150(例えば、「ウェブ表示ファイル生成部」)と、実行可能モジュールファイル生成部151と、データモデルの情報管理部154(例えば、「データモデル情報管理部」)とを含む。
フローチャートエディター142はフローチャートを生成および編集するように構成される。編集するフローチャートの一例は、図26に例示するフローチャート2600であるが、例示的実施形態はそれに限定されず、様々な種類のフローチャートを作成および編集してもよい。フローチャートを編集するために、フローチャートエディター142は、図26に関して上述したように、エンジニアリングツール140に接続した入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター142はさらに、編集したフローチャートに基づいてプロセスシーケンス設定156(例えば、「プロセスシーケンス設定」)を生成するように構成される。
プロセスシーケンス設定156には、フローチャートの詳細、つまりデータ処理動作中に実行される一連のイベントの詳細を記述する。一連のイベントの詳細は、例えば、フローチャートにおける動作および移行の数と、動作と移行の間の関係と、フローチャートにおける特定の動作での出力を決定する特定の状況と、その他のフローチャートの各種特徴とを含む。フローチャートエディター142はさらに、プロセスシーケンス設定156をスプレッドシートエディター144に送信するように構成される。
スプレッドシートエディター144は、受信したプロセスシーケンス設定156と受信したデータモデル全体の設定162(例えば、「データモデル全体設定」)に基づいてスプレッドシートを編集するように構成される。編集するスプレッドシートの一例は、図21および図22に例示するスプレッドシート2100および2200であるが、例示的実施形態はこれらに限定されず、様々な種類のスプレッドシートを編集してもよい。スプレッドシートエディター144は編集されたフローチャートに基づいてスプレッドシートを編集する。例えば、計算時にどのセルを使用するかを変更するようにフローチャートが編集された場合、スプレッドシートエディター144はそれに応じて、計算時に使用されるセルを変更する。スプレッドシートエディター144はさらに、スプレッドシートに対する編集を示す情報を含むスプレッドシート設定158(例えば、「スプレッドシート設定」)を生成し、スプレッドシート設定158および160をウェブ表示ファイル生成部150と実行可能モジュールファイル生成部151とに送信するように構成される。スプレッドシート設定158および160を互いに異なるようにフォーマットしてもよい。例えば、スプレッドシート設定160を内部処理のために最適化してもよく、一方、スプレッドシート設定158をGUIで使用するために最適化してもよい。
データモデル構造エディター146は、データモデルの構造を編集するように構成される。データモデルはデータにアクセスするためのパスを提供する。データモデルの例を図24および図25に関して上述したが、例示的実施形態はこれらに限定されない。データモデルを編集するために、データモデル構造エディター146は、エンジニアリングツール140に動作可能に接続した入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。例えば、新たな機械がファクトリーオペレーションに追加される場合(例えば、プリンタ、CPU、メールサーバー)、ユーザーによる簡単な操作に基づいて新たな機械をデータモデルに加えることができる。さらに、ユーザーはすでに構築されているデータモデルを再利用またはリサイクルすることができる。例えば、ユーザーは現存のプリンタデータモデルをコピーおよび編集することによって、新たなプリンタを加えることができる。データモデル構造エディター146はさらに、データモデルの設定構造164(例えば、「データモデル設定構造」)をデータモデルの情報管理部154に送信するように構成される。
データモデルの情報管理部154はデータモデル構造エディター146からデータモデルの設定構造164を受信し、外部機器にアクセスする実行部110から各外部機器のデータモデル176を受信するように構成される。データモデルの設定構造164および各外部機器のデータモデル176に基づき、データモデルの情報管理部154はデータモデル全体の設定162(例えば、データモデル全体設定)を生成し、スプレッドシートエディター144に送信するように構成される。データモデルの情報管理部154はさらに、データモデル全体の設定174をドライバソルバー108に送信するように構成される。データモデル全体の設定162および174を互いに異なるようにフォーマットしてもよい。例えば、データモデル全体の設定162は、データモデル全体の設定174が各外部機器のデータモデルの全てに関する情報の全てを有する状態で、データモデル全体の設定174の部分集合でもよく、一方、データモデル全体の設定162は参照のためだけの情報を有してもよい。
外部機器へのアクセス設定エディター148は、外部機器へのアクセス設定定義166(例えば、「外部機器アクセス設定定義」)を受信するように構成される。外部機器へのアクセス設定定義166に基づき、外部機器へのアクセス設定エディター148はさらに、外部機器へのアクセス設定178(例えば、「外部機器アクセス設定」)を生成し、外部機器にアクセスする実行部110に送信するように構成される。
ウェブ表示ファイル生成部150は、スプレッドシートエディター144から受信したスプレッドシート設定158に基づいてウェブ表示ファイル170(例えば、「ウェブファイル」)を生成し、生成したウェブ表示ファイル170をウェブサーバー104に送信するように構成される。
実行可能モジュールファイル生成部151はスプレッドシート設定160を受信するように構成される。実行可能モジュールファイル生成部151はさらに、スプレッドシート設定160に基づいて実行モジュールファイル171を生成し、生成した実行モジュールファイル171をモジュールファイル実行部105に送信するように構成される。スプレッドシートデータからモジュールファイルを生成するために、実行可能モジュールファイル生成部151は以下の一連の動作を実行する。初めに、実行可能モジュールファイル生成部151は、セル間の参照依存状態を解くことによって、計算順序をソートする。次に、実行可能モジュールファイル生成部151は、例えば、「SUM」などのスプレッドシート機能(例えば、エクセル機能)を、対象モジュールファイルが有する機能または対象モジュールファイルの実行環境で実行される機能に変換する。第3に、実行可能モジュールファイル生成部151は第1の動作で解いた順序で機能を記載する。実行モジュールファイル171は、データモデルを使用した外部機器へのアクセスを可能にする実行可能なモジュールファイルである。いくつかの例示的実施形態において、実行可能なモジュールファイルはスクリプト(例えば、テキスト)として実現される。この場合、実行可能モジュールファイル生成部151と、実行モジュールファイル171と、モジュールファイル実行部105とをそれぞれ、実行スクリプトファイル生成部152と、実行スクリプトファイル172と、スクリプト実行部106として例示し説明してもよい。しかしながら、例示的実施形態はスクリプトである実行可能なモジュールファイルに限定されず、例示的実施形態全体において、実行可能なモジュールファイルは、Java(登録商標)クラスファイル(中間コード)、機械コードなど、スクリプト以外の様々な種類のファイルとして実現してもよい。したがって、例示的実施形態による実行可能なモジュールファイルを、様々なレベル(高レベル、中間レベル、低レベルなど)で互換性があるファイルとして構成してもよく、特定のプラットフォームで実行可能であってもよい。
実デバイス102はワールド・ワイド・ウェブ(例えば、「ウェブ」)サーバー104と、モジュールファイル実行部105(例えば、「モジュールファイル実行部」)と、データモデルにアクセスするプロセッサ108(例えば、「ドライバソルバー」)と、外部機器にアクセスする実行部110(例えば、「外部機器実行部」)とを含む。実デバイス102を、例えば、ハードウェア装置2800(図28参照)として実現してもよく、この場合、CPU2804を含めてもよく、CPU2804は、以下により詳細に説明するように、ウェブサーバー104、モジュールファイル実行部105、ドライバソルバー108、外部機器にアクセスする実行部110、および/または他の構成要素のパフォーマンスおよび機能を制御するように特別に構成されていてもよい。
ウェブサーバー104はウェブクライアント190と通信するように構成される。ウェブサーバー104はウェブ表示ファイル192をウェブクライアント190に送信し、要求メッセージ194をウェブクライアント190から受信し、応答データ196をウェブクライアント190に返信するように構成される。要求メッセージ194を、例えば、機器データを要求するアプリケーション・プログラミング・インターフェース(API)の一部として使用してもよく、応答データ196もまたAPIの一部として使用してもよく、例えば、機器データを得るためのものであってもよい。
モジュールファイル実行部105は、実行モジュールファイル171に基づいてモジュールファイル(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。モジュールファイル実行部105は、コール112をウェブサーバー104から受信し、結果114をウェブサーバー104に返信するように構成される。モジュールファイル実行部105はさらに、要求116をドライバソルバー108に送信し、応答データ118をドライバソルバー108から受信するように構成される。要求メッセージ194および応答データ196と同様に、要求116および応答データ118はデータを交換するAPIの一部であってもよい。
ドライバソルバー108はデータモデルにアクセスするように構成される。ドライバソルバー108は要求116をモジュールファイル実行部105から受信し、応答データ118をモジュールファイル実行部105に返信するように構成される。ドライバソルバー108はさらに、要求124をウェブサーバー104から受信し、応答データ126をウェブサーバー104に返信するように構成される。ドライバソルバー108はさらに、要求120を外部機器にアクセスする実行部110に送信し、応答データ122を外部機器にアクセスする実行部110から受信するように構成される。ドライバソルバー108はさらに、データモデル全体の設定174をデータモデルの情報管理部154から受信するように構成される。
外部機器にアクセスする実行部110は、要求120をドライバソルバー108から受信し、応答データ122をドライバソルバー108に返信するように構成される。外部機器にアクセスする実行部110はさらに、要求メッセージ128を外部機器180に送信し、応答データ130を外部機器180から受信するように構成される。要求120は、例えば、外部機器180に関する詳細(例えば、外部機器180のアイデンティティ、外部機器180のステータスなど)に関する要求であってもよく、応答データ122は要求された詳細を含むものであってもよい。要求メッセージ194および応答データ196と同様に、要求120および応答データ122はデータを交換するAPIの一部であってもよい。外部機器にアクセスする実行部110を、外部機器180と通信するように構成されたポートとして実現してもよい。さらに、外部機器にアクセスする実行部110を、外部機器へのアクセス設定178を外部機器へのアクセス設定エディター148から受信するように構成してもよい。
第1の例示的実施形態
図1は、第1の例示的実施形態による、データを処理するためのウェブベースシステムを示す。
一般に、人々は様々な目的のために、生活の中で様々な種類の電子装置を使用する。例えば、工場の環境では、工場労働者はファクトリーオートメーション(FA)機器を監視または制御する必要があるだろう。他の例として、住宅所有者は、家の特定の電気器具を監視する必要があることがあり、また学生は学校で特定の電子装置を監視する必要があることがある。しかしながら、多くの電子装置は、ヒューマン・マシン・インターフェース(HMI)などの、ユーザーが機器を監視または制御するのを可能にするコンピューティング資源を欠いている。その結果、関連技術において、電子装置に格納されたコンピュータプログラムを編集または制御するのは非常に難しいかまたは不可能なことがある。
第1の例示的実施形態では、スプレッドシートエディター144と、実行可能モジュールファイル生成部151と、モジュールファイル実行部105の機能を結合したものを使用し、それらは共に機能して、スプレッドシート編集結果をモジュールファイル(例えば、スクリプトなどの実行モジュールファイル171)に変換し、モジュールファイルを実行する。関連技術によれば、ユーザーがスプレッドシートソフトウェアを使用してスプレッドシートを編集および実行する際、編集および実行動作は組み合わされる。しかしながら、第1の例示的実施形態によるウェブベースシステム100では、エンジニアリングツール140で実行したスプレッドシートプログラムから得た結果は、実デバイス102(例えば、PLCモジュール)で実行可能なモジュールファイル(例えば、実行モジュールファイル171)に変換され、実デバイス102はモジュールファイルを実行できる。したがって、編集および実行を別に行うことができる。その結果、ユーザーはスプレッドシートを編集することによって複雑な演算処理を記述することができ、演算処理を別の装置(例えば、ディスプレイのない装置)で別に実行することができる。編集処理およびモジュールファイル実行処理は別々に行われるので、パーソナルコンピュータ(PC)などの、豊富な資源を有するハードウェアを編集に使用することができ、豊富な資源を持たない別の装置で、編集されたモジュールファイルを実行することができる。なお、編集されたモジュールファイルを実行する装置は、処理力または帯域幅の増大、低遅延、または機器データへの直接アクセスなどの、特定の有益な特徴を有してもよいこととする。
モジュールファイルを「スクリプト」として実現する場合、本明細書で使用されるように、用語「スクリプト」は、編集処理と実行処理の間で使用される中間通信媒体を広く意味するものとする。例えば、スクリプトは、コントローラが機器を制御するために、コントローラの実行環境で実行されるように構成される実行可能なモジュールファイルであってもよい。例示的実施形態によれば、様々な種類のスクリプトを用いることができる(例えば、Lua、Javascript(登録商標)など)。
第1の例示的実施形態では、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、スプレッドシートエディター144と、実行可能モジュールファイル生成部151と、モジュールファイル実行部105のパフォーマンスを制御するように特別に構成してもよい。
第2の例示的実施形態
図2は、第2の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第2の例示的実施形態によるウェブベースシステム200と第1の例示的実施形態によるウェブベースシステム100の間の主な違いは、第2の例示的実施形態によるウェブベースシステム200は、スプレッドシートデータ生成部204(例えば、「スプレッドシートデータ生成部」)とスプレッドシート実行部202とを含むことである。前述の図面に示す構成要素と同じ参照番号を有する図2の他の構成要素は、前述の図面に示す構成要素と同一でもよく、その詳細な説明を省略する。
ウェブベースシステム200において、スプレッドシートデータ生成部204はスプレッドシート設定160をスプレッドシートエディター144から受信し、スプレッドシート設定160に基づいてスプレッドシートデータ206を生成する。スプレッドシートデータ206は、XML、JavaScript(登録商標) Object Notation(JSON)、または他の当業者が知っている言語などのデータ記述言語により定義される。次に、スプレッドシートデータ生成部204はスプレッドシートデータ206をスプレッドシート実行部202に送信し、スプレッドシート実行部202はスプレッドシートデータ206をロードし、計算を実行する。
第2の例示的実施形態の主な利点は、エンジニアリングツール140で実行されたスプレッドシートプログラムから得た結果が、データ記述言語(例えば、XML、JSON)により定義されたデータとして保存され、実デバイス102(例えば、PLCモジュール)に転送されることである。したがって、スプレッドシートデータをスクリプトに変換する第1の例示的実施形態によるウェブベースシステム100とは異なり、実デバイス102のスプレッドシート実行部202はマークアップ言語(例えば、XML、JSON)でデータをロードして計算とデータを実行し、データは保存されたデータに応じて入出力される。したがって、スプレッドシートデータをスクリプトに変換する必要はない(中間スクリプト表現は必要ない)。
したがって、第2の例示的実施形態によれば、スクリプト生成処理は省略される。さらに、装置(例えば、シーケンサ装置)によって実行可能な種類のコードを含むデータ記述言語を生成してもよく、生成したデータ記述言語は直接実行可能であるので、中間スクリプト表現が要らないようにデータとコードを共に束ねてもよい。
さらに、第1の例示的実施形態と同様に、編集および実行を別々に行ってもよい。その結果、ユーザーは、スプレッドシートを使用して複雑な演算処理を記述することができるので、演算処理を他の装置(例えば、ディスプレイのない装置)で別に実行することができる。
第2の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時にスプレッドシートデータ生成部204とスプレッドシート実行部202のパフォーマンスを制御するように特別に構成してもよい。
第3の例示的実施形態
図3は、第3の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第3の例示的実施形態によるウェブベースシステム300と第1の例示的実施形態によるウェブベースシステム100の間の主な違いは、第3の例示的実施形態によるウェブベースシステム300は、データモデルにアクセスするプロセッサ(例えば、ドライバソルバー)308と、外部機器にアクセスする実行部310と、外部機器へのアクセス設定エディター348と、データモデルの情報管理部354とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図3に示すその他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
外部機器へのアクセス設定エディター348は、外部機器へのアクセス設定定義366を受信するように構成される。外部機器へのアクセス設定定義366をXMLスキーマの形で提供してもよい。XMLスキーマは、(1)外部機器についての情報と、(2)作成するファイルについての情報とを含む。外部機器へのアクセス設定定義366に基づき、外部機器へのアクセス設定エディター348は、ユーザーがアクセスできる設定画面を生成するように構成される。ユーザーは、生成された設定画面にデータを入力することによって、アクセス定義を設定する。外部機器へのアクセス設定エディター348は、ユーザーが設定したアクセス定義に基づいて外部機器へのアクセス設定378(例えば、アクセス定義ファイル)を生成し、外部機器へのアクセス設定378を、外部機器へのアクセス・ドライバ・モジュール368(例えば、「外部機器アクセス・ドライバ・モジュール」)と共に、外部機器にアクセスする実行部310に送信する。
図3は、外部機器へのアクセス・ドライバ・モジュール368が実デバイス102とは別でもよいことを例示しているが、いくつかの例示的実施形態によれば、外部機器へのアクセス・ドライバ・モジュール368は実デバイス102に含まれてもよい。
外部機器にアクセスする実行部310は外部機器へのアクセス設定378と外部機器へのアクセス・ドライバ・モジュール368とを受信するように構成される。外部機器にアクセスする実行部310を、例えば、外部機器にアクセスする実行部110と同様に実現してもよい。機器情報が不明である場合、外部機器にアクセスする実行部310は外部機器380についての機器情報を要求するように構成される。機器情報は、固定情報(例えば、外部機器380の識別情報)、動的に変化するステータス情報(例えば、電力レベル、パフォーマンス情報、サイクル/秒、インクレベル、メモリ記憶レベル、その他の設定)、接続情報(例えば、Wi−Fi、セルラー、イントラネット、インターネットなど)、位置情報、およびその他の種類の情報など、外部機器380に関するいかなる種類の情報でもよい。機器情報を要求するために、外部機器にアクセスする実行部310は、XMLスキーマに対応する少なくとも1つの外部機器380に関する詳細を要求する要求メッセージ328を送信し、少なくとも1つの外部機器380からその詳細を含む応答データ330を受信するように構成される。応答データ330は少なくとも1つの外部機器380に保存されるデータの種類を示してもよい(例えば、シーケンサはレジスタを有し、DBはテーブルを有する)。外部機器にアクセスする実行部310はさらに、外部機器へのアクセス設定378と応答データ330とに基づいて各外部機器のデータモデル376を生成し、生成した各外部機器のデータモデル376をデータモデルの情報管理部354に送信するように構成される。外部機器にアクセスする実行部310は、各種要因に従って各外部機器のデータモデル376を柔軟に生成してもよい。例えば、外部機器にアクセスする実行部310を、データのカテゴリをソートし、データモデル内のどこに情報を置くかを決定し、自由にマッピングを変更するように構成してもよい。データ定義が外部機器380に保存されている場合、外部機器へのアクセス・ドライバ・モジュール368は外部機器380に照会する。しかしながら、アクセス・ドライバ・モジュール368が管理する外部機器380のデータ定義が固定されている場合、アクセス・ドライバ・モジュール368は機器に照会しなくてもよく、代わりに内部でデータモデルを生成することができる。
データモデルの情報管理部354は、少なくとも1つの外部機器380のそれぞれに関し、生成された各外部機器のデータモデル376を収集し、データモデル全体の設定374を生成する。データモデル全体の設定374を、例えばオブジェクトブラウザ2402(図24参照)として視覚的に提示してもよい。次にデータモデルの情報管理部354は、生成したデータモデル全体の設定374をドライバソルバー308に送信する。ドライバソルバー308は要求320を外部機器にアクセスする実行部310に送信し、応答データ322を外部機器にアクセスする実行部310から受信する。
ドライバソルバー308は、データモデル全体の設定374をロードし、ロードしたデータモデル全体の設定374に基づいて、外部機器にアクセスする実行部310による機器データへのアクセスを可能にするインターフェースを生成する。ユーザーがデータモデル全体の設定374を編集する際、ドライバソルバー308はどの外部機器を使用するべきかを決定し、その機器にアクセスする。
第3の例示的実施形態の主な利点は、外部機器へのアクセス設定定義366と外部機器へのアクセス・ドライバ・モジュール368の両方をウェブベースシステム300に追加できるということである。第3の例示的実施形態の別の主な利点は、ウェブベースシステム300が複数の外部機器に対し同じオペレーションスキームを使用することでデータアクセスを実現するということである。製造者(例えば、サードパーティ)は新たなスキーマまたはドライバを追加して、市場のニーズおよび他の考慮すべき事項に基づいて各種機器にアクセスできる。
第3の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ドライバソルバー308と、外部機器にアクセスする実行部310と、外部機器へのアクセス設定エディター348と、データモデルの情報管理部354のパフォーマンスを制御するように特別に構成してもよい。
第4の例示的実施形態
図4は第4の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第4の例示的実施形態によるウェブベースシステム400と第3の例示的実施形態によるウェブベースシステム300の間の主な違いは、第4の例示的実施形態によるウェブベースシステム400はデータモデル構造エディター446(例えば、「データモデル構造エディター」)をさらに含むことである。前述の図に示す構成要素と同じ参照番号を有する図4に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
データモデル構造エディター446は、データモデルの構造を編集するように構成される。データモデルを編集するために、データモデル構造エディター446は、エンジニアリングツール140に接続された入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてデータモデルを編集する。
第4の例示的実施形態の主な利点は、データモデル構造エディター446により、ユーザーがデータを整理および再構成できるようにすることで、データ管理を改良できることである。
第4の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、データモデル構造エディター446のパフォーマンスを制御するように特別に構成してもよい。
第5の例示的実施形態
図5は、第5の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第5の例示的実施形態によるウェブベースシステム500は、第1の例示的実施形態によるウェブベースシステム100(または第2の例示的実施形態によるウェブベースシステム200)の特徴と、第3の例示的実施形態によるウェブベースシステム300の特徴とを組み合わせたものである。前述の図に示す構成要素と同じ参照番号を有する図5に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
ウェブベースシステム500は、スクリプト実行部506と、ドライバソルバー508と、スプレッドシートエディター544と、実行スクリプトファイル生成部552と、データモデルの情報管理部554とを含む。
スプレッドシートエディター544は、データモデル全体の設定562をデータモデルの情報管理部554から受信し、ユーザー入力とデータモデル全体の設定562の両方に基づいてスプレッドシート設定560を生成するように構成される。データモデルの情報管理部554は、データモデル全体の設定574を生成するように構成される。
実行スクリプトファイル生成部552は、スプレッドシート設定560を受信し、受信したスプレッドシート設定560に基づいて実行スクリプトファイル572を生成するように構成される。実行スクリプトファイル生成部552はさらに、実行スクリプトファイル572をスクリプト実行部506に送信するように構成される。
スクリプト実行部506は、実行スクリプトファイル572に基づいてスクリプト(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。また、スクリプトを実行した結果、スクリプト実行部506は要求516をドライバソルバー508に送信し、応答データ518をドライバソルバー508から受信することによって、外部機器にアクセスするように構成される。
第5の例示的実施形態の主な利点は、データ処理動作を、ドライバソルバー508がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。
第5の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の構成要素が上記の機能を実行する際に、該構成要素のパフォーマンスを制御するように特別に構成してもよい。
第6の例示的実施形態
図6は、第6の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第6の例示的実施形態によるウェブベースシステム600は、ウェブサーバー604と、データモデル全体の設定614を受信するドライバソルバー608と、スプレッドシートエディター644と、ウェブ表示ファイル生成部650と、データモデルの情報管理部654とを含む。前述の図に示す構成要素と同じ参照番号を有する図6に示す他の構成要素は、図1に示す構成要素と同一でもよく、その詳細な説明は省略する。
スプレッドシートエディター644は、データモデル全体の設定662をデータモデルの情報管理部654から受信し、受信したデータモデル全体の設定662に基づいてスプレッドシート設定658を生成し、生成したスプレッドシート設定658をウェブ表示ファイル生成部650に送信するように構成される。ウェブ表示ファイル生成部650は、スプレッドシート設定658に基づいてウェブ表示ファイル670を生成し、ウェブ表示ファイル670をウェブサーバー604に送信するように構成される。ウェブサーバー604は、ウェブ表示ファイル692をウェブクライアント690に送信するように構成され、ウェブクライアント690は、要求メッセージ694と応答データ696を使用して、ウェブサーバー604と通信するように構成される。
第6の例示的実施形態の主な利点は、データ処理動作とデータ視覚化動作を、ドライバソルバー608がアクセスする外部機器データにリンクする一律の簡単な方法を実現していることである。第6の例示的実施形態と第5の例示的実施形態との違いは、第6の例示的実施形態によれば、スプレッドシートから出力されるデータ処理結果がウェブ表示ファイル692に変換され、ウェブサーバー604を介してウェブブラウザに届けることができることである。ウェブブラウザがウェブ表示ファイル692に基づいて情報を表示することにより、ユーザーが表示された情報を見て、ウェブブラウザにコマンドを入力できるようにしてもよい。そして入力コマンドをウェブサーバー604に返信してもよく、ウェブサーバー604はドライバソルバー608を介してデータモデルにアクセスする。このように、実デバイス102が動作を実行する代わりに、ウェブサーバー604とウェブクライアント690が一対としてその動作を実行する。
第6の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブサーバー604と、ドライバソルバー608と、スプレッドシートエディター644と、ウェブ表示ファイル生成部650と、データモデルの情報管理部654のパフォーマンスを制御するように特別に構成してもよい。
第7の例示的実施形態
図7は、第7の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第7の例示的実施形態によるウェブベースシステム700と第1の例示的実施形態によるウェブベースシステム100との違いは、第7の例示的実施形態によるウェブベースシステム700はフローチャートエディター742を付加していることである。前述の図に示す構成要素と同じ参照番号を有する図7に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
フローチャートエディター742は、フローチャートを生成し、編集するように構成される。フローチャートを編集するために、フローチャートエディター742は、エンジニアリングツール140に接続された入力装置(例えば、キーボード、タッチスクリーンなど)を使用したユーザーからの入力を受信し、受信した入力に基づいてフローチャートを編集する。フローチャートエディター742はさらに、編集したフローチャートに基づいてプロセスシーケンス設定756を生成し、プロセスシーケンス設定756をスプレッドシートエディター744に送信するように構成される。
スプレッドシートエディター744は、受信したプロセスシーケンス設定756に基づいてスプレッドシートを編集し、編集したスプレッドシートに基づいてスプレッドシート設定760を生成し、スプレッドシート設定760を実行スクリプトファイル生成部752に送信するように構成される。
実行スクリプトファイル生成部752は、スプレッドシート設定760に基づいて実行スクリプトファイル772を生成し、生成した実行スクリプトファイル772をスクリプト実行部706に送信するように構成される。実行スクリプトファイル772により、データモデルを使用して外部機器にアクセスすることができる。
スクリプト実行部706は、実行スクリプトファイル772に基づいてスクリプト(例えば、特定のプログラムによって実行可能なコマンドリスト)を実行するように構成される。
第7の例示的実施形態の動作例を以下に示す。
最初に、ユーザーがフローチャート2600(図26参照)を編集する。例えば、外部機器180がプリンタである場合、ユーザーは、いずれかのプリンタのインクレベルが10%を下回った場合、警告をそのプリンタに発するというパラメータを設定する。パラメータを設定するために、ユーザーはフローチャートでパラメータを特定し、さらにプリンタのインク・レベル・ステータスに対応するスプレッドシートのセルを指定する(例えば、セルG2からG9、図21参照)。次に、フローチャートエディター742は編集されたフローチャートに基づいてプロセスシーケンス設定756を生成し、プロセスシーケンス設定756をスプレッドシートエディター744に送信し、次にスプレッドシートエディター744はプロセスシーケンス設定756に基づいて(上述のような)スクリプト生成処理を開始する。
第7の例示的実施形態の主な利点は、フローチャートエディター742を使用してフローチャートを編集するため、また、スプレッドシートエディター744が編集されたフローチャートに基づいてスプレッドシートを編集するため、簡単で効果的な方法で高度なデータ処理を実現できることである。
第7の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、フローチャートエディター742のパフォーマンスを制御するように特別に構成してもよい。
第8の例示的実施形態
図8は、第8の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第8の例示的実施形態によるウェブベースシステム800と第6の例示的実施形態によるウェブベースシステム600との違いは、第8の例示的実施形態によるウェブベースシステム800において、スプレッドシートエディター844がプロセスシーケンス設定856に基づいてスプレッドシート設定858を生成するように構成されており、一方、第6の例示的実施形態によるウェブベースシステム600において、スプレッドシートエディター644はデータモデル全体の設定662に基づいてスプレッドシート設定658を生成するように構成されていることである。その結果、フローチャートを使用してスプレッドシートとの間で柔軟にデータを送受信し、柔軟にスプレッドシート計算を指示することができる。前述の図に示す構成要素と同じ参照番号を有する図8に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
フローチャートエディター842は、フローチャートを生成および編集し、編集したフローチャートに基づいてプロセスシーケンス設定856を生成し、プロセスシーケンス設定856をスプレッドシートエディター844に送信するように構成される。
スプレッドシートエディター844は、プロセスシーケンス設定856に基づいてスプレッドシート設定858を生成し、スプレッドシート設定858をウェブ表示ファイル生成部850に送信するように構成される。
ウェブ表示ファイル生成部850は、スプレッドシート設定858に基づいてウェブ表示ファイル870を生成し、ウェブ表示ファイル870をウェブサーバー804に送信するように構成される。ウェブサーバー804は、ウェブ表示ファイル892をウェブクライアント890に送信するように構成され、ウェブクライアント890は、要求メッセージ894と応答データ896とを使用してウェブサーバー804と通信するように構成される。
第8の例示的実施形態の主な利点は、簡単で効果的な方法で高度なデータ処理と高度なデータ視覚化を実現できることである。
第8の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、上記構成要素のパフォーマンスを制御するように特別に構成してもよい。
第9の例示的実施形態
図9は、第9の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
第9の例示的実施形態によるウェブベースシステム900は、スプレッドシート902とデータモデル904とを同時に表示するように構成される。上記第1から第8の例示的実施形態を任意に組み合わせることによって、スプレッドシート902とデータモデル904とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、スプレッドシート902とデータモデル904の間のリンクを設定する。
第9の例示的実施形態の主な利点は、簡単で効果的な方法で、スプレッドシート902とデータモデル904の間の相互連関を視覚化することである。
第9の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム900の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム900の一部として実現してもよいし、ウェブベースシステム900とは別にしてもよい。
第10の例示的実施形態
図10は、第10の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
第10の例示的実施形態によるウェブベースシステム1000は、フローチャート1006とデータモデル1004とを同時に表示するように構成される。上記第1から第9の例示的実施形態を任意に組み合わせることによって、フローチャート1006とデータモデル1004とを生成し編集することができる。一例示的実施形態によれば、フローチャート部分または設定テーブルの特性を利用して、フローチャート1006とデータモデル1004の間のリンクを設定する。
第10の例示的実施形態の主な利点は、簡単で効果的な方法で、フローチャート1006とデータモデル1004の間の相互連関を視覚化することである。
第10の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1000の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1000の一部として実現してもよいし、ウェブベースシステム1000とは別にしてもよい。
第11の例示的実施形態
図11は、第11の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
第11の例示的実施形態によるウェブベースシステム1100は、ウェブベースシステム1100が、例えばXMLを使用する情報技術(IT)システムなどの外部システムに接続されていることを前提とする。ウェブベースシステム1100は、セルを連結する連結機能と、XMLで使用不可能な文字をXMLに準拠したフォーマットに変換するエスケープ機能(「変換」機能とも呼ぶ)とを含む2つの主な機能を実行するように構成される。ウェブベースシステム1100を、上記第1から第8の例示的実施形態に含まれる、スプレッドシートエディター(例えば、スプレッドシートエディター144)、モジュールファイル実行部(例えば、モジュールファイル実行部105)、またはメッセージを生成するウェブクライアント(例えば、ウェブクライアント190)などの各種構成要素にロードしてもよい。
図11に例示するように、ウェブベースシステム1100は他のセル(例えば、「<abc>」および「B&W」)からデータを受け取ってもよい。しかしながら、データに含まれる、文字「<」、「>」、および「&」などの特定の文字はXMLに準拠しないことがある。したがって、ウェブベースシステム1100はまず、文字「<」、「>」、および「&」をXMLに準拠した文字に変換するエスケープ機能1108を実行し、次に、データを連結し、連結したデータを外部ITシステムに送信する連結機能1110を実行する。
第11の例示的実施形態によるウェブベースシステム1100の主な利点は、外部ITシステムなどの外部システムのコンピュータ言語に準拠したテキストベースのメッセージを生成する、簡単で効果的な方法を提供することである。当然ながら、ウェブベースシステム1100はメッセージをXMLに変換することに限定されず、代わりにメッセージをその他の様々な種類のコンピュータ言語、例えばJSONに変換してもよいものとする。
第11の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1100の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1100の一部として実現してもよいし、ウェブベースシステム1100とは別にしてもよい。
第12の例示的実施形態
図12は、第12の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
第12の例示的実施形態によるウェブベースシステム1200は、第11の例示的実施形態によるウェブベースシステム1100の逆機能を実行する。ウェブベースシステム1200は、正規表現抽出機能1208とエスケープ解除機能1210(変換解除機能とも呼ぶ)とを含む。
まず、ウェブベースシステム1200は、外部システム(例えば、外部ITシステム)からデータを含むテンプレートを受信し、テンプレートに対し正規表現抽出機能1208を実行して空白セルを抽出する。空白セルはユーザー設定に基づいてユーザーにより指定される。テンプレートを正規表現列に連結し、指定された空白セルを、「(.)」などの正規表現のパターンマッチングのための特別列として連結し、正規表現抽出機能1208により対応するデータを抽出できるようにする。次に、ウェブベースシステム1200は、空白セルに含まれる文字を抽出し、空白セルに含まれる文字に対しエスケープ解除機能1210を実行することにより、データモデルで使用可能なフォーマットに文字を変換する。例えば、エスケープ解除機能1210により、文字を、XMLフォーマットから、データモデルで使用可能な非XMLフォーマットに変換する。次に、ウェブベースシステム1200は変換した文字を適切な場所(例えば、データモデルを制御する装置またはプログラム)に送信する。
第12の例示的実施形態によるウェブベースシステム1200の主な利点は、外部ITシステムから受信されるメッセージを受信し、受信したメッセージをスプレッドシートのコンピュータ言語に準拠するようにする簡単で効果的な方法を提供することである。
当然ながら、ウェブベースシステム1200はメッセージをXMLから変換することに限定されず、代わりにメッセージを他の様々な種類のコンピュータ言語、例えばJSONに変換してもよい。
第12の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1200の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1200の一部として実現してもよいし、ウェブベースシステム1200とは別にしてもよい。
第13の例示的実施形態
図13は、第13の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。
第13の例示的実施形態によるウェブベースシステム1300が第12の例示的実施形態によるウェブベースシステム1200と違うのは、第13の例示的実施形態によるウェブベースシステム1300は、パーサ1302と、差抽出部1310と、マッピングソルバ1314とを含むことである。
パーサ1302は、システム(例えば、外部ITシステム)から受信した応答メッセージを構文解析することによって、応答中間データ1304を生成するように構成される。さらに、パーサ1302は、テンプレートを構文解析することによって、テンプレート中間データ1306とマッピングデータ1308を生成するように構成される。応答中間データ1304とテンプレート中間データ1306は、例えば、XMLオブジェクト、ドキュメント・オブジェクト・モデル(DOM)オブジェクト、JSONオブジェクト、または他の種類のデータでもよい。差抽出部1310は、応答中間データ1304とテンプレート中間データ1306との差を求め、その差を示す差データ1312を生成するように構成される。マッピングソルバ1314は、マッピングデータ1308を使用することでデータ1316を差データ1312から抽出し、次に抽出したデータ1316を適切な場所(例えば、データモデルを制御する装置またはプログラム)に送信するように構成される。
第13の例示的実施形態の主な利点は、第12の例示的実施形態の特定の特徴を高めることである。XMLでは幅広い柔軟性は与えられない。第13の例示的実施形態によれば、より柔軟なアプローチが提供される。外部システムから受信した応答メッセージはテンプレートと正確に一致していなくてもよく、代わりに、テンプレートのデータ記述言語に一致しているだけでよい。タスクを実行するのに文字を使用する代わりに、文字を中間データに置き換える。さらに、差データ1312とマッピングデータ1308とを使用することで、ウェブベースシステム1300はソースを識別し、正確な値を正確に抽出することができる。
第13の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、ウェブベースシステム1300の構成要素のパフォーマンスを制御するように特別に構成してもよく、任意の種類のディスプレイ(例えば、CRT、LCD、OLEDなど)を、ウェブベースシステム1300の一部として実現してもよいし、ウェブベースシステム1300とは別にしてもよい。
第14の例示的実施形態
図14は、第14の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第14の例示的実施形態によるウェブベースシステム1400と第1の例示的実施形態によるウェブベースシステム100との違いは、第14の例示的実施形態によるウェブベースシステム1400は、設定I/Oインターフェース1402とサード・パーティ・アプリケーション1404とを含むことである。前述の図に示す構成要素と同じ参照番号を有する図14に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
設定I/Oインターフェース1402は、外部機器へのアクセス設定定義166とデータモデル全体の設定1462に基づいて生成されるアプリケーション・プログラミング・インターフェース(API)である。設定I/Oインターフェース1402により、サードパーティはそのブランドのGUIソフトウェアを容易に作ることができる。最初に生成されたGUIは秘匿されるが、有用で汎用性のあるGUIパーツを便宜上サードパーティに提供してもよい。設定I/Oインターフェース1402をアプリケーション・プログラミング・インターフェース(API)として提供して、サード・パーティ・アプリケーション1404が内部機能に呼び出すことができるようにする。内部機能を呼び出すため、サード・パーティ・アプリケーション1404はコール1406を設定I/Oインターフェース1402に送信し、コール1406に基づいた設定I/Oインターフェース1402からの結果1408を受信する。内部機能の例には、プロジェクト機能をロードすること(例えば、元のエンジニアリングツールによってテンプレートとして予め作成されたプロジェクトファイルをロードすること)と、設定機能を変更すること(例えば、サードパーティによって作られたソフトウェアからロードされたプロジェクトデータをコピー、削除、および変更すること)と、プロジェクトを実デバイスの機能に書き込むこと(例えば、変更されたプロジェクトデータからウェブ画面用のスクリプトおよびファイルを生成し、生成したスクリプトとファイルを実デバイスに転送すること)が含まれる。その他様々な種類の機能も使用できるものとする。
第14の例示的実施形態の主な利点は、サードパーティが、エンジニアリングツール140によって予め生成されたスクリプトを使用できるようにすることである。スプレッドシート編集およびフローチャート編集から生じるGUI画面を削除することで、サードパーティはスクリプトを他の目的に使用することができる。したがって、第14の例示的実施形態は、サードパーティが、エンジニアリングツール140によってすでに作成されたものを基礎にして、機能を追加すること、および以前から存在する機能を変更することを望む状況において有効である。さらに、第14の例示的実施形態によるウェブベースシステム1400を使用することで、サードパーティはそれ自身のシステムを作り出し、新たに作ったシステムを市場に出して売ることができる。
第14の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、設定I/Oインターフェース1402のパフォーマンスを制御するように特別に構成してもよい。
第15の例示的実施形態
図15は、第15の例示的実施形態によるデータを処理するためのウェブベースシステムを示す。第15の例示的実施形態によるウェブベースシステム1500と第3の例示的実施形態によるウェブベースシステム300との違いは、第15の例示的実施形態によるウェブベースシステム1500は、プロファイル定義1530に基づいてデータモデルを生成することである。前述の図に示す構成要素と同じ参照番号を有する図15に示す他の構成要素は、前述の図に示す構成要素と同一でもよく、その詳細な説明は省略する。
プロファイルでアクセスする実行部1510(例えば、「プロファイル実行部」)は、プロファイル定義1530を受信し、プロファイル定義1530に基づいてデータモデルを生成するように構成される。
第15の例示的実施形態の主な利点は、アクセスドライバを使用してデータモデルを生成する第3の例示的実施形態とは異なり、第15の例示的実施形態においては、プロファイル定義1530を使用してデータモデルを生成することである。プロファイル定義1530を使用することで、外部機器が、特定のプロファイル仕様を有するいくつかの標準化通信プロトコルに対応する場合、ユーザーはデバイス・アクセス・ドライブなしで外部機器にアクセスすることができる。その結果、機器のプロファイルデータのみが必要であることによって、データ処理動作が簡単なものになる。
第15の例示的実施形態において、CPU2804(図28)などのプロセッサを、上記の機能の実行時に、プロファイルでアクセスする実行部1510のパフォーマンスを制御するように特別に構成してもよい。
上記例示的実施形態の態様をコンピュータプログラムとして書いてもよいし、コンピュータ読み取り可能記録媒体を使用してプログラムを実行する汎用デジタルコンピュータで実現してもよい。コンピュータ読み取り可能記録媒体の例には、磁気記憶媒体(例えば、ROM、フロッピー(登録商標)ディスク、ハードディスクなど)、光記録媒体(例えば、CD−ROM、DVD)、およびその他の種類の記録媒体が含まれる。
前述の例示的実施形態および利点は例にすぎず、上記例示的実施形態を限定するものとして解釈されるものではない。上記例示的実施形態は、ファクトリーオートメーション(FA)機器以外の機器などの他の種類の機器にも容易に適用可能である。例えば、上記例示的実施形態を、例えば、インターネット、モノのインターネット(IOT)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)などのネットワークを介して互いに接続される各種電子装置に適用してもよい。また、上記例示的実施形態の説明は例示を目的とするものであり、請求項の範囲を限定するものではなく、当業者であれば様々な変更、修正、および変形が明らかであろう。

Claims (16)

  1. スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの1つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
    コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、
    データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
    を備えるエンジニアリングツール。
  2. スプレッドシートのセルにおいて定義を表示し、機器の割り当てデータを前記スプレッドシートのセルのうちの1つのセルに設定することによって、または、前記スプレッドシートのセルのうちのいくつかのセルに定義された計算を、前記スプレッドシートのセルのうちの他のセルに関連して設定することによって、前記定義を編集するように構成されたスプレッドシートエディターと、
    コントローラが前記機器を制御するために、前記編集された定義に基づいて、前記コントローラの実行環境で実行されるように構成された実行可能モジュールファイルを生成するように構成された実行可能モジュールファイル生成部と、を備え、
    ディスプレイに、前記スプレッドシートと、前記機器についての情報を含むデータモデルとを同時に表示させるように構成され、前記データモデルは、データを論理的に配置するデータ構造を有するように構成され、かつ前記機器が保持する内部統計値および記録を含むことができる、エンジニアリングツール。
  3. 前記エンジニアリングツールは、フローチャートのプロセスシーケンスを編集する入力を受信し、前記入力に基づいて前記定義を編集するように構成されたフローチャートエディターをさらに備える、請求項1又は2に記載のエンジニアリングツール。
  4. 前記編集された定義に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備える、請求項1又は2に記載のエンジニアリングツール。
  5. 前記エンジニアリングツールは、構成されたディスプレイに、前記スプレッドシートと、前記スプレッドシートに関するフローチャートとを同時に表示させるように構成される、請求項1又は2に記載のエンジニアリングツール。
  6. 前記スプレッドシートエディターは、前記スプレッドシートのセルに含まれるセルデータを、第1のフォーマットから第2のフォーマットに変換し、前記変換したデータを連結し、前記連結したデータを外部システムに送信するようにさらに構成される、請求項1又は2に記載のエンジニアリングツール。
  7. 前記スプレッドシートエディターは、前記外部システムから連結データを受信し、前記データを連結解除し、前記連結解除したデータを、前記第2のフォーマットから前記第1のフォーマットに変換し、前記変換したデータを、前記外部システムに格納されたデータモデルを制御するプログラムまたは装置に送信するようにさらに構成される、請求項6に記載のエンジニアリングツール。
  8. 前記スプレッドシートエディターは、前記外部システムから受信した応答メッセージを構文解析することにより応答中間データを生成し、前記外部システムから受信したテンプレートを構文解析することによりテンプレート中間データとマッピングデータとを生成し、前記応答中間データと前記テンプレート中間データとの差を抽出することにより差データを生成し、前記マッピングデータに基づいて前記差データを最終データにマッピングし、前記最終データを、前記データモデルを制御する前記プログラムまたは装置に送信するようにさらに構成される、請求項7に記載のエンジニアリングツール。
  9. 前記エンジニアリングツールは、
    サード・パーティ・アプリケーションと、
    前記サード・パーティ・アプリケーションに、前記エンジニアリングツールの少なくとも1つの機能へのアクセスを与えるように構成された入出力設定インターフェースと、
    をさらに備える、請求項1又は2に記載のエンジニアリングツール。
  10. プロファイル定義に基づいて前記スプレッドシートに関するデータモデルを生成し、前記データモデルを前記スプレッドシートにリンクするように構成されたプロファイル実行部をさらに備える、請求項1又は2に記載のエンジニアリングツール。
  11. データを処理するように構成されたシステムであって、
    機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
    前記スプレッドシート設定に基づいてモジュールファイルを生成するように構成されたモジュールファイル生成部と、
    データ記述言語に基づいて設定画面を生成するように構成された外部機器アクセス設定エディターと、
    複数の外部機器のデータモデルに基づいて、データモデル全体の設定を生成するように構成されたデータモデル情報管理部と、
    を備えるエンジニアリングツールと、
    前記スプレッドシートプログラムを実行する前記スプレッドシートエディターとは別に、前記モジュールファイルを実行するように構成されたモジュールファイル実行部と、
    前記複数の外部機器の機器情報を取得し、前記機器情報に基づいて前記データモデルを生成するように構成された外部機器実行部と、
    前記データモデル全体に基づいて、前記外部機器の機器データへのアクセスを可能にするインターフェースを生成するように構成されたドライバソルバーと、
    を備えるコントローラと、
    を備え、前記データモデルは、データを論理的に配置するデータ構造を有するように構成され、かつ前記機器が保持する内部統計値および記録を含むことができるシステム。
  12. 前記エンジニアリングツールは、ユーザー入力を受信し、前記ユーザー入力に基づいて前記データモデルの1つの構造を編集するように構成されたデータモデル構造エディターをさらに備える、請求項11に記載のシステム。
  13. 前記スプレッドシートエディターは、前記データモデル全体に基づいて前記スプレッドシート設定を生成するように構成される、請求項12に記載のシステム。
  14. 前記エンジニアリングツールは、前記スプレッドシート設定に基づいてウェブファイルを生成するように構成されたウェブ表示ファイル生成部をさらに備え、前記コントローラは、前記ウェブファイルをウェブクライアントと交換するように構成されたウェブサーバーをさらに備える、請求項13に記載のシステム。
  15. コントローラが、前記コントローラに接続された機器を制御するのに実行するモジュールファイルを生成するためのエンジニアリングツールであって、
    機器のデータを含むスプレッドシートを表示し、前記データに基づいてスプレッドシートプログラムを実行することにより、スプレッドシート設定を実行結果として生成するように構成されたスプレッドシートエディターと、
    前記スプレッドシート設定に基づいて前記モジュールファイルを生成するように構成されたモジュールファイル生成部と、
    データ記述言語でスプレッドシートデータを生成し、前記スプレッドシートデータを前記コントローラに送信するように構成されたスプレッドシートデータ生成部と、
    を備えるエンジニアリングツール。
  16. コントローラで使用され、スプレッドシートに基づいて、請求項1から10,15のいずれか1項に記載のエンジニアリングツールにより生成されたモジュールファイルに基づいて、前記コントローラに接続された機器を制御するためのモジュールであって、
    前記エンジニアリングツールとは別に前記モジュールファイルを実行するように構成されたモジュールファイル実行部を備え、
    前記コントローラは、前記モジュールファイル実行部の実行に応じて前記機器を制御する、
    モジュール。
JP2017548709A 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール Active JP6351869B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/934,948 2015-11-06
US14/934,948 US10198422B2 (en) 2015-11-06 2015-11-06 Information-processing equipment based on a spreadsheet
PCT/JP2016/081335 WO2017077887A1 (ja) 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール

Publications (2)

Publication Number Publication Date
JPWO2017077887A1 JPWO2017077887A1 (ja) 2018-04-26
JP6351869B2 true JP6351869B2 (ja) 2018-07-04

Family

ID=58661883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017548709A Active JP6351869B2 (ja) 2015-11-06 2016-10-21 エンジニアリングツール、システムおよびモジュール

Country Status (6)

Country Link
US (1) US10198422B2 (ja)
JP (1) JP6351869B2 (ja)
KR (1) KR101936027B1 (ja)
CN (1) CN108351636B (ja)
TW (1) TWI649662B (ja)
WO (1) WO2017077887A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126391A (zh) * 2016-06-28 2016-11-16 北京百度网讯科技有限公司 系统监控方法和装置
CN106383766B (zh) * 2016-09-09 2018-09-11 北京百度网讯科技有限公司 系统监控方法和装置
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
CN108626850B (zh) * 2017-03-20 2020-06-12 台达电子工业股份有限公司 空调设备的远程智能有限状态机控制系统
US10492046B2 (en) * 2017-04-07 2019-11-26 Servicenow, Inc. System of actions for IoT devices
US11422833B1 (en) 2017-06-30 2022-08-23 Cognex Corporation System and method for automatic generation of human-machine interface in a vision system
US10620798B2 (en) 2017-10-21 2020-04-14 Mordechai Teicher Autonomously cooperating smart devices
US10742442B2 (en) 2017-10-21 2020-08-11 Mordechai Teicher Cluster of smart devices operable in hub-based and hub-less modes
US10715459B2 (en) * 2017-10-27 2020-07-14 Salesforce.Com, Inc. Orchestration in a multi-layer network
JP6860529B2 (ja) * 2018-07-20 2021-04-14 ファナック株式会社 数値制御装置及びデータ編集方法
JP6838022B2 (ja) * 2018-10-11 2021-03-03 ファナック株式会社 製造装置の制御装置及び監視システム
TWI709908B (zh) * 2019-05-03 2020-11-11 直得科技股份有限公司 在plc編輯環境中與其他軟體協作之方法、程式產品、電腦可讀取媒體
US20230168651A1 (en) * 2020-04-07 2023-06-01 Tineco Intelligent Technology Co., Ltd. Generating method, processing method and executing method of data and device
US11157267B1 (en) * 2020-09-09 2021-10-26 International Business Machines Corporation Evaluation of dynamic relationships between application components
TWI757926B (zh) 2020-10-22 2022-03-11 財團法人工業技術研究院 工具機數值控制器軟體動態產生裝置及方法
CN114765558B (zh) 2021-01-15 2024-04-09 台达电子工业股份有限公司 工业设备监控方法及工业设备监控系统
TWI795009B (zh) * 2021-10-01 2023-03-01 王世華 應用程式介面(api)生成與管理系統
TWI805093B (zh) * 2021-11-24 2023-06-11 台中精機廠股份有限公司 人機介面機台控制系統
CN114625093B (zh) * 2022-03-25 2023-05-02 佛山市博顿光电科技有限公司 工艺控制方法、装置及工业控制系统
US11909707B2 (en) * 2022-04-15 2024-02-20 Red Hat, Inc. Message schema migration in messaging systems
CN115544983B (zh) * 2022-11-29 2023-03-21 明度智云(浙江)科技有限公司 基于矩阵类设备的数据处理方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5038318A (en) 1987-12-17 1991-08-06 Square D Company Device for communicating real time data between a programmable logic controller and a program operating in a central controller
JPH09201746A (ja) 1996-01-25 1997-08-05 Denso Corp 生産システム設計支援装置
AU5025600A (en) 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
JP2002370142A (ja) 2001-06-14 2002-12-24 Ntn Corp 生産ラインおよびその工程変更方法
US7117043B1 (en) 2002-03-28 2006-10-03 Integrator.Com Method for programming a programmable logic controller
WO2009149262A1 (en) 2008-06-04 2009-12-10 Us Biomedical Information Systems, Inc. Methods and systems for creating and editing a graph data structure
US9053260B2 (en) * 2009-04-13 2015-06-09 Honeywell International Inc. Utilizing spreadsheet user interfaces with flowsheets of a CPI simulation system
US9256219B2 (en) 2009-08-11 2016-02-09 Fisher-Rosemount Systems, Inc. System configuration using templates
WO2011095988A2 (en) 2010-02-03 2011-08-11 Puranik Anita Kulkarni A system and method for extraction of structured data from arbitrarily structured composite data
US20140149836A1 (en) 2012-11-29 2014-05-29 Jason Bedard Dashboard Visualizations Using Web Technologies

Also Published As

Publication number Publication date
KR101936027B1 (ko) 2019-01-07
CN108351636B (zh) 2020-04-10
TW201723886A (zh) 2017-07-01
US10198422B2 (en) 2019-02-05
CN108351636A (zh) 2018-07-31
TWI649662B (zh) 2019-02-01
KR20180061280A (ko) 2018-06-07
WO2017077887A1 (ja) 2017-05-11
JPWO2017077887A1 (ja) 2018-04-26
US20170132194A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
JP6351869B2 (ja) エンジニアリングツール、システムおよびモジュール
Park et al. Plant model generation for PLC simulation
JP6624008B2 (ja) エンジニアリングツール連携装置、エンジニアリングツール連携方法、エンジニアリングツール連携プログラム及び記録媒体
Bloomfield et al. Interoperability of manufacturing applications using the Core Manufacturing Simulation Data (CMSD) standard information model
JP2016526231A (ja) 技術設備を記述したデータの交換の方法
US11231911B2 (en) System and method for using a graphical user interface to develop a virtual programmable logic controller
CN113168564A (zh) 用于生成人工智能模型的方法和系统
CN105159754A (zh) 基于商业智能云平台的在线仿真方法及装置
Sauer Developments and trends in shopfloor-related ICT systems
Papakonstantinou et al. Object oriented extensions of IEC 61131–3 as an enabling technology of software product lines
JP2020102115A (ja) エンジニアリング支援システム及びエンジニアリング支援方法
Xue et al. Learning with remote laboratories: Designing control algorithms with both block diagrams and customized C code schemes
JP2014035687A (ja) エンジニアリングシステムとその監視制御方法
Nelson Smart factories leverage cloud, edge computing
Ivanovic et al. Technologies for a diagnostic technique for HVAC systems using IoT and cloud-based architecture
Mónica et al. Agent-based communication to map and exchange shop floor data between MES and material flow simulation based on the open standard CMSD
CN115525321A (zh) 分布式任务生成方法、装置、设备及存储介质
WO2022068105A1 (zh) 非标设备测试系统、方法和存储介质
Rädler et al. Participative Method to identify Data-Driven Design Use Cases
Lucke et al. Implementation of the MIALinx user interface for future manufacturing environments
Neges et al. Enabling round-trip engineering between P&I diagrams and augmented reality work instructions in maintenance processes utilizing graph-based modelling
JP2020027663A (ja) 仕様書作成部
WO2019240743A1 (en) A method and system for semantic integration approach for field device life cycle management
Schilberg et al. Virtual Production-The connection of the modules through the Virtual Production Intelligence
US11789421B2 (en) Efficient client updates using patience difference algorithm in a unidirectional data flow architecture for industrial automation design

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171122

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171122

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171122

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20171226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180605

R150 Certificate of patent or registration of utility model

Ref document number: 6351869

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250