(57)【要約】      （修正有）【課題】ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするためのシステムおよび方法を提供する。【解決手段】ソースアプリケーションから抽出されたソースデータがターゲットアプリケーション中のターゲットデータとデータ構造に関して一致しない場合、ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するように構成され、相関定義ステータスにおいてターゲットアプリケーションとソースアプリケーションとの間のデータ構造の階層的な確認を実行し、ソースデータをターゲットアプリケーションの中のターゲットデータへとマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するように構成される。【選択図】図４Ｂ
2019008799.tif 000002
【特許請求の範囲】
【請求項１】
産業プラントにおける制御システムによって実行されるコンピュータ実施方法であって、前記制御システムが、1つまたは複数のハードウェアプロセッサと、前記1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとを備え、前記方法は、
ソースアプリケーションからソースデータを抽出するステップと、
ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、前記ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、前記ターゲットアプリケーションの少なくとも一部と前記ソースアプリケーションの少なくとも一部との間でデータ構造の階層的な確認を実行するステップと、
前記ソースデータを前記ターゲットアプリケーションの中のターゲットデータへとマージするための前記階層的な確認の結果に少なくとも一部基づいて、前記ソースアプリケーションからの前記ソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップとを含む、コンピュータ実施方法。
【請求項２】
前記ソースアプリケーションから前記ソースデータを抽出するステップが、
前記ターゲットアプリケーションによる要件に少なくとも一部基づいて、前記ソースアプリケーションから前記ソースデータを選択するステップと、
選択された前記ソースデータがプロセスフィールドネットワークの事前に定義された産業用通信プロトコルに従って前記ターゲットアプリケーションによってサポート可能であるかどうかを判定するステップと、
選択された前記ソースデータが前記事前に定義された産業用通信プロトコルに従って前記ターゲットアプリケーションによってサポート可能であると判定される場合、選択された前記ソースデータを検証するステップとを含む、請求項1に記載のコンピュータ実施方法。
【請求項３】
選択された前記ソースデータがサポート可能であるかどうかを判定するステップが、
前記ターゲットアプリケーションによってサポートされるサポート条件のもとで抽出ルールセットを決定するステップを含み、前記サポート条件が前記事前に定義された産業用通信プロトコルを含み、
選択された前記ソースデータがサポート可能であるかどうかを判定するステップが、選択された前記ソースデータが前記抽出ルールセットに従ってサポート可能であるかどうかを判定するステップを含む、請求項2に記載のコンピュータ実施方法。
【請求項４】
前記相関定義ステータスにおいて前記データ構造の前記階層的な確認を実行するステップが、
前記ターゲットアプリケーションおよび前記ターゲットデータファイルのうちの前記少なくとも1つの前記ターゲットパラメータを参照し、前記ソースアプリケーションおよび前記ソースデータファイルのうちの前記少なくとも1つの前記ソースパラメータを参照する前記相関定義ステータスに関して、前記ソースアプリケーションと前記ターゲットアプリケーションとの間で前記階層的な構造のレベルごとの比較を実行するステップを含む、請求項2に記載のコンピュータ実施方法。
【請求項５】
前記ソースアプリケーションと前記ターゲットアプリケーションとの間で前記階層的な構造の前記レベルごとの比較を実行するステップがさらに、
前記ターゲットアプリケーションから得られた主グループが前記ターゲットアプリケーションから得られた従属グループを有するという第1の条件が満たされているかどうかを判定するステップであって、前記従属グループが前記主グループに従属する、ステップと、
前記ソースアプリケーションから抽出された前記ソースデータが少なくともあるデバイスのデータセットを有するという第2の条件が満たされているかどうかを判定するステップと、
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中のターゲットデータとの間で、前記階層的な構造の前記レベルごとの比較を実行するステップとを含む、請求項4に記載のコンピュータ実施方法。
【請求項６】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
少なくとも前記デバイスの前記データセットを有する前記ソースデータが前記従属グループの中のいずれかの中に存在するかどうかを判定するステップと、
少なくとも前記デバイスを有する前記ソースデータが前記従属グループのいずれの中にも存在しないと判定される場合、少なくとも前記デバイスが少なくとも前記デバイスの少なくともサブモジュールを有するかどうかを判定するステップと、
少なくとも前記デバイスが少なくとも前記サブモジュールを有すると判定される場合、前記主グループに従属する新しい異なる従属グループを作成するステップとを含む、請求項5に記載のコンピュータ実施方法。
【請求項７】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
少なくとも前記デバイスの関連するデータセットを有する前記従属グループが前記ソースデータの中に存在するかどうかを判定するステップと、
少なくとも前記デバイスの前記関連するデータセットを有する前記従属グループが前記ソースデータの中に存在しないと判定される場合、前記従属グループを削除のためにマークするステップと、
削除のための前記従属グループがあると判定される場合、削除のためにマークされた前記従属グループまたは削除のためにマークされた複数の前記従属グループを削除するステップとを含む、請求項5に記載のコンピュータ実施方法。
【請求項８】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
少なくとも前記デバイスの前記データセットを有する前記従属グループが前記ソースデータの中に存在するかどうかを判定するステップと、
少なくとも前記デバイスの前記データセットを有する前記従属グループが前記ソースデータの中に存在しないと判定される場合、前記従属グループを削除のためにマークするステップと、
削除のためにマークされた前記従属グループがあるかどうかを判定するステップと、
削除のための前記従属グループがあると判定される場合、削除のためにマークされた前記従属グループまたは削除のためにマークされた複数の前記従属グループを削除するステップとを含む、請求項6に記載のコンピュータ実施方法。
【請求項９】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
前記ソースデータが少なくとも前記デバイスの前記データセットを有するかどうか、および前記従属グループのいずれかが前記ソースデータの少なくとも前記デバイスの前記データセットに一致する少なくとも前記デバイスの前記データセットと関連付けられるかどうかを判定するステップと、
前記一致したデータと関連付けられる前記ソースデータおよび前記一致したデータと関連付けられる前記ターゲットデータを処理するステップと、
削除のための前記従属グループがあるかどうかを判定するステップと、
削除のための前記従属グループがあると判定される場合、削除のためにマークされた前記従属グループまたは削除のためにマークされた複数の前記従属グループを削除するステップとを含む、請求項5に記載のコンピュータ実施方法。
【請求項１０】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
前記ソースデータが少なくとも前記デバイスの前記データセットを有するかどうか、および前記従属グループのいずれかが前記ソースデータの少なくとも前記デバイスの前記データセットに一致する少なくとも前記デバイスの前記データセットと関連付けられるかどうかを判定するステップと、
前記一致したデータと関連付けられる前記ソースデータおよび前記一致したデータと関連付けられる前記ターゲットデータを処理するステップと、
削除のための前記従属グループがあるかどうかを判定するステップと、
削除のための前記従属グループがあると判定される場合、削除のためにマークされた前記従属グループまたは削除のためにマークされた複数の前記従属グループを削除するステップとを含む、請求項6に記載のコンピュータ実施方法。
【請求項１１】
前記第1の条件と前記第2の条件の両方が満たされていると判定される場合、前記ソースアプリケーションから抽出された前記ソースデータと前記ターゲットアプリケーションからの前記従属グループの中の前記ターゲットデータとの間で前記レベルごとの比較を実行するステップが、
前記ソースデータが少なくとも前記デバイスの前記データセットを有するかどうか、および前記従属グループのいずれかが前記ソースデータの少なくとも前記デバイスの前記データセットに一致する少なくとも前記デバイスの前記データセットと関連付けられるかどうかを判定するステップと、
前記一致したデータと関連付けられる前記ソースデータおよび前記一致したデータと関連付けられる前記ターゲットデータを処理するステップと、
削除のための前記従属グループがあるかどうかを判定するステップと、
削除のための前記従属グループがあると判定される場合、削除のためにマークされた前記従属グループまたは削除のためにマークされた複数の前記従属グループを削除するステップとを含む、請求項8に記載のコンピュータ実施方法。
【請求項１２】
前記第1の条件が満たされず前記第2の条件が満たされると判定される場合、前記ソースデータが少なくとも前記デバイスの少なくともサブモジュールのデータセットを有するかどうかを判定するステップと、
前記ソースデータが少なくとも前記サブモジュールを有すると判定される場合、前記主グループに従属する新しい異なる従属グループを作成するステップと、
前記第1の条件が満たされ前記第2の条件が満たされないと判定される場合、前記主グループに属する前記従属グループのすべてを削除のためにマークするステップと、
前記従属グループのすべてを削除するステップとをさらに含む、請求項5に記載のコンピュータ実施方法。
【請求項１３】
前記第1の条件が満たされず前記第2の条件が満たされると判定される場合、前記ソースデータが少なくとも前記デバイスの少なくともサブモジュールのデータセットを有するかどうかを判定するステップと、
前記ソースデータが少なくとも前記サブモジュールを有すると判定される場合、前記主グループに従属する新しい異なる従属グループを作成するステップと、
前記第1の条件が満たされ前記第2の条件が満たされないと判定される場合、前記主グループに属する前記従属グループのすべてを削除のためにマークするステップと、
前記従属グループのすべてを削除するステップとをさらに含む、請求項11に記載のコンピュータ実施方法。
【請求項１４】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップが、
前記プロセスフィールドネットワークのための前記従属グループのうちの少なくとも1つと関連付けられる少なくともスロットが値を有するという第3の条件が満たされているかどうかを判定するステップと、
前記ソースデータが前記プロセスフィールドネットワークのためのスロットと関連付けられるという第4の条件が満たされているかどうかを判定するステップとを含む、請求項9に記載のコンピュータ実施方法。
【請求項１５】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあるかどうかを判定するステップと、
前記従属グループのいずれの中にも存在しない前記スロットと関連付けられるソースデータがあると判定される場合、前記ソースデータが前記スロットと関連付けられるかどうかを判定するステップと、
前記ソースデータが前記スロットと関連付けられると判定される場合、前記主グループに従属する新しい異なる従属グループを作成するステップとを含む、請求項14に記載のコンピュータ実施方法。
【請求項１６】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータの中に存在しない前記スロットと関連付けられる前記従属グループがあるかどうかを判定するステップと、
前記ソースデータの中に存在しない前記スロットと関連付けられる前記従属グループがあると判定される場合、前記従属グループを削除のためにマークするステップと、
削除のためにマークされた前記従属グループを削除するステップとを含む、請求項14に記載のコンピュータ実施方法。
【請求項１７】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータの中に存在しない前記スロットと関連付けられる前記従属グループがあるかどうかを判定するステップと、
前記ソースデータの中に存在しない前記スロットと関連付けられる前記従属グループがあると判定される場合、前記従属グループを削除のためにマークするステップとを含む、請求項15に記載のコンピュータ実施方法。
【請求項１８】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータがスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記スロットに一致するスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータおよび前記従属グループのいずれかが前記一致したスロットと関連付けられると判定される場合、前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップとを含む、請求項14に記載のコンピュータ実施方法。
【請求項１９】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータがスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記スロットに一致するスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータおよび前記従属グループのいずれかが前記一致したスロットと関連付けられると判定される場合、前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップとを含む、請求項15に記載のコンピュータ実施方法。
【請求項２０】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータがスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記スロットに一致するスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータおよび前記従属グループのいずれかが前記一致したスロットと関連付けられると判定される場合、前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップとを含む、請求項16に記載のコンピュータ実施方法。
【請求項２１】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータがスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記スロットに一致するスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータおよび前記従属グループのいずれかが前記一致したスロットと関連付けられると判定される場合、前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップとを含む、請求項17に記載のコンピュータ実施方法。
【請求項２２】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件が満たされ前記第4の条件が満たされないと判定される場合、前記ソースデータの中に存在しない前記スロットと関連付けられる前記従属グループがあると判定される場合、前記従属グループを削除のためにマークするステップと、
削除のためにマークされた前記従属グループを削除するステップとを含む、請求項13に記載のコンピュータ実施方法。
【請求項２３】
前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップがさらに、
前記プロセスフィールドネットワークのための前記従属グループのうちの少なくとも1つと関連付けられる少なくともサブスロットが値を有するという第5の条件が満たされているかどうかを判定するステップと、
前記ソースデータが前記プロセスフィールドネットワークのための少なくともあるデバイスサブモジュールのデータセットを有するという第6の条件が満たされているかどうかを判定するステップとを含む、請求項18に記載のコンピュータ実施方法。
【請求項２４】
前記ソースアプリケーションからの前記ソースデータおよび前記ターゲットアプリケーションの中の前記ターゲットデータを処理するステップがさらに、
前記第3の条件および前記第4の条件が満たされていると判定される場合、前記ソースデータがスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記スロットに一致するスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータおよび前記従属グループのいずれかが前記一致したスロットと関連付けられると判定される場合、前記一致したスロットと関連付けられる前記ソースデータおよび前記一致したスロットと関連付けられる前記ターゲットデータを処理するステップと、
前記第5の条件および前記第6の条件が満たされていると判定される場合、前記従属グループのいずれの中にも存在しないサブスロットと関連付けられる前記ソースデータがあるかどうかを判定するステップと、
前記従属グループのいずれの中にも存在しないサブスロットと関連付けられる前記ソースデータがある場合、前記主グループに従属する新しい異なる従属グループを作成するステップと、
前記第5の条件および前記第6の条件が満たされていると判定される場合、前記ソースデータの中に存在しない前記サブスロットと関連付けられる前記従属グループがあるかどうかを判定するステップと、
前記ソースデータの中に存在しない前記サブスロットと関連付けられる前記従属グループがあると判定される場合、前記従属グループを削除のためにマークするステップと、
削除のためにマークされた前記従属グループを削除するステップと、
前記第5の条件および前記第6の条件が満たされていると判定される場合、前記ソースデータがサブスロットと関連付けられるかどうか、および前記従属グループのいずれかが前記ソースデータと関連付けられる前記サブスロットに一致するサブスロットと関連付けられるかどうかを判定するステップと、
前記ソースデータがサブスロットと関連付けられ、前記従属グループのいずれかが前記ソースデータと関連付けられる前記サブスロットに一致するサブスロットと関連付けられる場合、前記ソースデータと一致するように前記従属グループを更新するステップとを含む、請求項23に記載のコンピュータ実施方法。
【請求項２５】
前記ソースアプリケーションから抽出された前記ソースデータの少なくとも一部が前記ターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないかどうか判定するステップと、
前記ソースデータの前記少なくとも一部が前記ターゲットアプリケーションの中の前記ターゲットデータの前記少なくとも一部とデータ構造に関して一致しないと判定される場合、前記ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するステップとをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項２６】
前記ソースデータが前記ターゲットアプリケーションの前記データ構造要件によってサポート可能ではないと判定される場合、前記ソースアプリケーションから抽出された前記ソースデータの複数のセットを、前記ターゲットアプリケーションの中の前記ターゲットデータの単一のセットとしてディスプレイデバイスにより表示されるべき前記ソースデータの単一のセットへと合成するステップをさらに含む、請求項25に記載のコンピュータ実施方法。
【請求項２７】
前記ソースデータが前記ターゲットアプリケーションの前記データ構造要件によってサポート可能ではないと判定される場合、前記ソースアプリケーションから抽出された前記ソースデータのセットを前記ターゲットアプリケーションによりサポート可能となるように前記ソースデータの複数のセットへと分割するステップをさらに含む、請求項25に記載のコンピュータ実施方法。
【請求項２８】
1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとを備える、産業プラントにおける制御システムであって、前記コンピュータ実行可能命令が、前記1つまたは複数のハードウェアプロセッサによって実行されると、前記1つまたは複数のハードウェアプロセッサに、
ソースアプリケーションからソースデータを抽出するステップと、
前記ソースアプリケーションから抽出された前記ソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないかどうか判定するステップと、
前記ソースデータの前記少なくとも一部が前記ターゲットアプリケーションの中の前記ターゲットデータの前記少なくとも一部とデータ構造に関して一致しないと判定される場合、前記ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するステップと、
前記ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、前記ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、前記ターゲットアプリケーションと前記ソースアプリケーションとの間で前記データ構造の階層的な確認を実行するステップと、
前記ソースデータを前記ターゲットアプリケーションの中の前記ターゲットデータへとマージするための前記階層的な確認の結果に少なくとも一部基づいて、前記ソースアプリケーションからの前記ソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップとを含む、方法を実行させ、
コンピュータで実装されるシステムが、少なくとも1つのフィールドデバイスを制御するように構成されるフィールド制御デバイスに通信可能に結合されるように構成され、前記コンピュータで実装されるシステムが、前記フィールド制御デバイスにマージされるものとして前記ターゲットデータを送信するように構成される、制御システム。
【請求項２９】
産業プラントにおける制御システムの1つまたは複数のハードウェアコンピュータによって実行されると、
ソースアプリケーションからソースデータを抽出するステップと、
前記ソースアプリケーションから抽出された前記ソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないかどうか判定するステップと、
前記ソースデータの前記少なくとも一部が前記ターゲットアプリケーションの中の前記ターゲットデータの前記少なくとも一部とデータ構造に関して一致しないと判定される場合、前記ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するステップと、
前記ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、前記ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、前記ターゲットアプリケーションと前記ソースアプリケーションとの間で前記データ構造の階層的な確認を実行するステップと、
前記ソースデータを前記ターゲットアプリケーションの中の前記ターゲットデータへとマージするための前記階層的な確認の結果に少なくとも一部基づいて、前記ソースアプリケーションからの前記ソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップと
を備える方法を前記1つまたは複数のコンピュータに実行させるコンピュータ可読プログラムを記憶する、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は全般に、ソースアプリケーションからのソースデータをターゲットアプリケーションのターゲットデータへとマージするための方法、システム、およびコンピュータプログラム製品に関する。
【背景技術】
【０００２】
産業プラントにおける典型的なエンジニアリングオペレーションでは、特定のエンジニアリング作業を実行するために、複数のエンジニアリングアプリケーションが関与することがある。たとえば、エンジニアリングアプリケーション(自動化エンジニアリングシステム)が、自身固有のデータのセットに対して統合および/または確認されることになる、別のエンジニアリングアプリケーション(ソースアプリケーションY)からのデータを使用することがある。
【０００３】
ターゲットアプリケーション(自動化エンジニアリングシステム)が別のアプリケーション(アプリケーションY)からのデータを使用するには、両方のアプリケーションのユーザが、別のアプリケーション(アプリケーションY)のデータを、ターゲットアプリケーション(自動化エンジニアリングシステム)へと手動でインポートされるように外部ファイルに手動でエクスポートまたは保存しなければならない。
【０００４】
このデータのインポートは、ターゲットアプリケーション(自動化エンジニアリングシステム)のエディタ(通信I/Oエディタ)のうちの1つを介して行われることが可能であり、そのエディタにおいて、ターゲットアプリケーションは、普通は外部ファイルであるデータをソースから取り出し、インポートされるべきデータを特定するようにユーザに求める。この特定は、面倒であり、時間がかかり、誤りを生みやすいことがあり、長期的にユーザの生産性の低下をもたらす。
【０００５】
たとえば、デバイス(サブモジュール)のパラメータは別のアプリケーションのエディタを介して設定される。このパラメータは、エディタ(通信I/Oエディタ)にも存在する。エディタ(通信I/Oエディタ)においてこのパラメータデータを更新するために、ユーザは、別のアプリケーション(アプリケーションY)からのデータを外部ファイルにエクスポートし、次いでこのファイルをエディタにインポートする必要がある。インポートの間に、ユーザはデバイスの何らかの他のパラメータ設定とともにこのパラメータをインポートすることがある。その上、パラメータがエディタ(通信I/Oエディタ)にすでに存在する場合、最新のデータで更新するには、ユーザは外部ファイルから対応するインポートパラメータを特定する必要がある。
【０００６】
インポートの後で、ターゲットアプリケーションにおいて保たれるべき/マージされるべき部分的なデータをユーザに選択させるために、データがターゲットアプリケーションにロード(表示)され得る。従来技術では、特定はユーザにより行われ(ユーザはインポートファイルおよびターゲットアプリケーションにおけるパラメータの対応する名前を知っている)、アプリケーションはただ、入力ファイルの中にあるものを何でもロードする。典型的な産業プラントには数千のフィールドデバイスがあるので、プラントのための多数のアプリケーションによりエクスポートされる設計データは非常に大きい。どのアプリケーションからどのデータをインポートするか、およびどの既存のデータが更新を必要としているかを特定することは、ややこしく大きな労力を必要とする。
【０００７】
米国特許第8464227B2号明細書は、図1に示されるように、入力スクリプトを取り込んで出力スクリプトを処理し生成することを開示する。このシステムは、オブジェクトのためのスクリプトを指定するのを容易にするスクリプトエディタインターフェースを有し、このスクリプトエディタインターフェースは複数の別個のユーザ側スクリプト言語をサポートする。
【０００８】
欧州特許出願公開第3101489A1号明細書は、図2に示されるように、第1のスクリプトをロードし、第1のスクリプトをコンパイルして第2のスクリプトを形成することを開示し、第2のスクリプトはプロセスプラントのための特定のプロセス制御システムと関連付けられるベンダー固有の構成言語に従って構築される。
【０００９】
図3に示されるように、外部ファイルをターゲットアプリケーションにインポートすることは一般的な方法である。ターゲットアプリケーションは、既存のデータを用いて外部ファイルをロードしてマッピングする。ユーザが所望のデータを特定する。データはユーザの選択に基づいて変更(更新/追加/削除)される。
【００１０】
米国特許第8464227B2号明細書および欧州特許出願公開第3101489A1号明細書の各々が、入力データを取り込んで処理し、かつ出力データを生成する。既存のデータの取扱には言及がされていない。ファイルがエクスポートされ、次いでインポートされるようにするために、余分なユーザのステップが関わっている。ターゲットアプリケーションが別のアプリケーションからのデータのすべてを必要とはしない場合、ユーザは苦労して別のアプリケーションのデータのすべてを選別し、ターゲットアプリケーションとしてのアプリケーションAが必要とするデータのみをインポートしなければならない。どのデータをインポートするかを特定するには、ユーザの知識が必要である。複数のインポートファイルはややこしく、長期的には管理が難しくなる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許第8464227B2号明細書
【特許文献２】欧州特許出願公開第3101489A1号明細書
【発明の概要】
【課題を解決するための手段】
【００１２】
いくつかの実施形態では、産業プラントにおける制御システムによって方法が実行される。制御システムは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとを備える。方法は、ソースアプリケーションから抽出されたソースデータがターゲットアプリケーションとデータ構造について一致していないかどうかを判定するステップを含む。方法は、ソースデータがターゲットアプリケーションの中のターゲットデータとデータ構造について一致していない場合、ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するステップを含む。方法は、相関定義ステータスにおいて、ターゲットアプリケーションとソースアプリケーションとの間でデータ構造の階層的な確認を実行するステップを含む。方法は、ソースデータをターゲットアプリケーションの中のターゲットデータへとマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新するステップ、削除するステップ、および追加するステップのうちの少なくとも1つを実行するステップを含む。
【図面の簡単な説明】
【００１３】
【図１】関連技術において他のアプリケーションから外部データをエクスポートする方法のフローチャートである。
【図２】関連技術において他のアプリケーションから外部データをエクスポートする方法のフローチャートである。
【図３】関連技術において他のアプリケーションから外部データをエクスポートする方法のフローチャートである。
【図４Ａ】複数のフィールドデバイス、自動化エンジニアリングシステム、およびインターフェースを制御するためのフィールド制御デバイスを含む、統合システムを示す図である。
【図４Ｂ】図4Aの自動化エンジニアリングシステムのある実装形態のサンプルを示す図である。
【図５】図4Aおよび図4Bの自動化エンジニアリングシステムにおける、自動化エンジニアリングシステムまたは自動化エンジニアリングシステムのエンジニアリングツールに統合されるターゲットデータへとソースデータをマージするためのシステムを示すブロック図である。
【図６Ａ】ソースデータの単一のセットを、ターゲットデータとマージされるべきソースデータの複数の分割されたセットへと分割するプロセスの、説明のための例の図である。
【図６Ｂ】ソースデータの複数のセットを、ターゲットデータとマージされるべきソースデータの単一の合成されたセットへと合成するプロセスの、説明のための例の図である。
【図７】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図８】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図９】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図１０】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図１１】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図１２】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図１３】図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々におけるソースデータ構造およびターゲットデータ構造を示すデータテーブルである。
【図１４】図5に示され、図4Aおよび図4Bの自動化エンジニアリングシステムにより実施されるようなマージプロセスのフローチャートである。
【図１５】図5に示されるようなマージプロセスに含まれる、一致したデバイスをともに有するソースデータおよびターゲットデータを処理するフローチャートである。
【図１６】図15に示されるような一致したデバイスをともに有するソースデータおよびターゲットデータを処理するためのプロセスに含まれる、一致したスロットをともに有するソースデータおよびターゲットデータを処理するフローチャートである。
【発明を実施するための形態】
【００１４】
[ソースアプリケーションの中のソースデータをターゲットアプリケーションの中のターゲットデータへとマージするためのシステムおよび方法の概要]
ソースアプリケーションの中のソースデータをターゲットアプリケーションの中のターゲットデータへとマージするためのシステムおよび方法の概要が、以下で説明される。
【００１５】
いくつかの実施形態では、コンピュータ実施方法が産業プラントにおける制御システムにより実行されてよく、制御システムは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとを備える。方法は、限定はされないが、ターゲットアプリケーションによる要件に少なくとも一部基づいて、ソースアプリケーションからソースデータを抽出するステップを含み得る。方法は、ソースアプリケーションから抽出されたソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致していないかどうかを判定するステップを含み得る。方法は、ソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致していないと判定された場合、ターゲットアプリケーションのデータ構造要件に従って、ターゲットデータ構造と一致するようにソースデータ構造を変換するステップを含み得る。方法は、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、ターゲットアプリケーションとソースアプリケーションとの間でデータ構造の階層的な確認を実行するステップを含み得る。方法は、ソースデータをターゲットアプリケーションの中のターゲットデータへとマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップを含み得る。
【００１６】
いくつかの場合、ソースアプリケーションからソースデータを抽出するステップは、限定はされないが、ソースアプリケーションからソースデータを選択するステップと、選択されたソースデータがプロセスフィールドネットワークの事前に定義された産業用通信プロトコルに従ってターゲットアプリケーションによりサポート可能であるかどうかを判定するステップと、選択されたソースデータが事前に定義された産業用通信プロトコルに従ってターゲットアプリケーションによりサポート可能であると判定される場合、選択されたソースデータを検証するステップとを含み得る。
【００１７】
いくつかの場合、選択されたソースデータがサポート可能であるかどうかを判定するステップは、限定はされないが、ターゲットアプリケーションによりサポートされるサポート条件のもとで抽出ルールセットを決定するステップを含むことがあり、サポート条件は事前に定義された産業用通信プロトコルを備え、選択されたソースデータがサポート可能であるかどうかを判定するステップは、選択されたソースデータが抽出ルールセットに従ってサポート可能であるかどうかを判定するステップを備える。
【００１８】
いくつかの場合、相関定義ステータスにおいてデータ構造の階層的な確認を実行するステップは、限定はされないが、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスに関して、ソースアプリケーションとターゲットアプリケーションとの間で階層構造のレベルごとの比較を実行するステップを含み得る。
【００１９】
いくつかの場合、ソースアプリケーションとターゲットアプリケーションとの間で階層構造のレベルごとの比較を実行するステップはさらに、限定はされないが、ターゲットアプリケーションから得られた主グループがターゲットアプリケーションから得られた従属グループを有するという第1の条件が満たされているかどうかを判定するステップであって、従属グループが主グループに従属する、ステップと、ソースアプリケーションから抽出されたソースデータが少なくともあるデバイスのデータセットを有するという第2の条件が満たされているかどうかを判定するステップと、第1の条件と第2の条件の両方が満たされていると判定される場合、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間で、階層構造のレベルごとの比較を実行するステップとを含み得る。
【００２０】
いくつかの場合、第1の条件と第2の条件の両方が満たされていると判定される場合、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、限定はされないが、少なくともそのデバイスのデータセットを有するソースデータが従属グループのいずれかの中に存在するかどうかを判定するステップと、少なくともそのデバイスを有するソースデータが従属グループのいずれの中にも存在しないと判定される場合、少なくともそのデバイスが少なくともそのデバイスの少なくともサブモジュールを有するかどうかを判定するステップと、少なくともそのデバイスが少なくともサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップとを含み得る。
【００２１】
いくつかの場合、第1の条件と第2の条件の両方が満たされていると判定される場合、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、限定はされないが、少なくともそのデバイスの関連するデータセットを有する従属グループがソースデータの中に存在するかどうかを判定するステップと、少なくともそのデバイスの関連するデータセットを有する従属グループがソースデータの中に存在しないと判定される場合、その従属グループを削除のためにマークするステップと、削除のためにマークされた従属グループがあるかどうかを判定するステップと、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループを削除するステップとを含み得る。
【００２２】
いくつかの場合、第1の条件と第2の条件の両方が満たされていると判定される場合、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、限定はされないが、そのソースデータが少なくともそのデバイスのデータセットを有するかどうか、および従属グループのいずれかがそのソースデータの少なくともそのデバイスのデータセットと一致する少なくともそのデバイスのデータセットと関連付けられるかどうかを判定するステップと、一致したデータと関連付けられるソースデータおよび一致したデータと関連付けられる既存のデータを処理するステップと、削除のための従属グループがあるかどうかを判定するステップと、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループを削除するステップとを含み得る。
【００２３】
いくつかの場合、コンピュータ実施方法はさらに、限定はされないが、第1の条件が満たされないが第2の条件が満たされると判定される場合、そのソースデータが少なくともそのデバイスの少なくともサブモジュールのデータセットを有するかどうかを判定するステップと、そのソースデータが少なくともそのサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップと、第1の条件が満たされるが第2の条件が満たされないと判定される場合、主グループに属する従属グループのすべてを削除のためにマークするステップと、従属グループのすべてを削除するステップとを含み得る。
【００２４】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップは、限定はされないが、プロセスフィールドネットワークのための従属グループのうちの少なくとも1つと関連付けられる少なくともスロットが値を有するという第3の条件が満たされているかどうかを判定するステップと、そのソースデータがプロセスフィールドネットワークのためのスロットと関連付けられるという第4の条件が満たされているかどうかを判定するステップとを含み得る。
【００２５】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件および第4の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあるかどうかを判定するステップと、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあると判定される場合、そのソースデータがそのスロットと関連付けられるかどうかを判定するステップと、そのソースデータがそのスロットと関連付けられると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップとを含み得る。
【００２６】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあるかどうかを判定するステップと、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップとを含み得る。
【００２７】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータがスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるスロットに一致するスロットと関連付けられるかどうかを判定するステップと、そのソースデータおよび従属グループのいずれかが一致したスロットと関連付けられると判定される場合、一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理するステップとを含み得る。
【００２８】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件が満たされるが第4の条件が満たされないと判定される場合、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップを含み得る。
【００２９】
いくつかの場合、一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理するステップはさらに、限定はされないが、プロセスフィールドネットワークのための従属グループのうちの少なくとも1つと関連付けられる少なくともサブスロットが値を有するという第5の条件が満たされているかどうかを判定するステップと、そのソースデータがプロセスフィールドネットワークのためのサブスロットと関連付けられるという第6の条件が満たされているかどうかを判定するステップとを含み得る。
【００３０】
いくつかの場合、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータがスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるスロットに一致するスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、そのソースデータおよび従属グループのいずれかが一致したスロットと関連付けられると判定される場合、一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理するステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないサブスロットと関連付けられるソースデータがあるかどうかを判定するステップを含み得る。ステップは、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあると判定される場合、そのソースデータがスロットの中の少なくともサブスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、ソースデータがスロットの中に少なくともサブスロットを有すると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、ソースデータの中に存在しないサブスロットと関連付けられる従属グループがあるかどうかを判定するステップを含み得る。ステップは、そのソースデータの中に存在しないサブスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、そのソースデータがサブスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるサブスロットに一致するサブスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、ソースデータおよび従属グループのいずれかが一致したサブスロットと関連付けられると判定される場合、一致したサブスロットと関連付けられるソースデータおよび一致したサブスロットと関連付けられる既存のデータを処理するステップを含み得る。
【００３１】
いくつかの場合、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、第1の条件と第2の条件の両方が満たされていると判定される場合、限定はされないが、少なくともそのデバイスのデータセットを有するソースデータが従属グループのいずれかの中に存在するかどうかを判定するステップを含み得る。ステップは、少なくともそのデバイスを有するソースデータが従属グループのいずれの中にも存在しないと判定される場合、少なくともそのデバイスが少なくともそのデバイスの少なくともサブモジュールを有するかどうか判定するステップを含み得る。ステップは、少なくともそのデバイスが少なくともサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップを含み得る。ステップは、少なくともそのデバイスに少なくともサブモジュールがないと判定される場合、削除のための従属グループがあるかどうかを判定するステップを含み得る。ステップは、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループを削除するステップを含み得る。ステップは、少なくともそのデバイスのデータセットを有する従属グループがそのソースデータの中に存在するかどうかを判定するステップを含み得る。ステップは、少なくともそのデバイスのデータセットを有する従属グループがそのソースデータの中に存在しないと判定される場合、その従属グループを削除のためにマークするステップを含み得る。ステップは、削除のためにマークされた従属グループがあるかどうかを判定するステップを含み得る。ステップは、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループを削除するステップを含み得る。ステップは、そのソースデータがその少なくともデバイスのデータセットを有するかどうか、および従属グループのいずれかがそのソースデータの少なくともそのデバイスのデータセットに一致する少なくともそのデバイスのデータセットと関連付けられるかどうかを判定するステップを含み得る。ステップは、一致したデータと関連付けられるソースデータおよび一致したデータと関連付けられる既存のデータを処理するステップを含み得る。ステップは、削除のための従属グループがあるかどうかを判定するステップを含み得る。ステップは、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループを削除するステップを含み得る。
さらに、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、第1の条件が満たされず第2の条件が満たされると判定される場合、限定はされないが、そのソースデータが少なくともそのデバイスの少なくともサブモジュールのデータセットを有するかどうかを判定するステップと、そのソースデータが少なくともサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップとを含み得る。その上、ソースアプリケーションから抽出されたソースデータとターゲットアプリケーションからの従属グループの中の既存のデータとの間でレベルごとの比較を実行するステップは、第1の条件が満たされ第2の条件が満たされないと判定される場合、限定はされないが、主グループに属する従属グループのすべてを削除のためにマークするステップと、従属グループのすべてを削除するステップとを含み得る。
加えて、ソースアプリケーションからのソースデータとターゲットアプリケーションの中の既存のデータとを処理するステップはさらに、限定はされないが、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあるかどうかを判定するステップを含み得る。ステップは、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップを含み得る。ステップは、第3の条件および第4の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあるかどうかを判定するステップを含み得る。ステップは、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあると判定される場合、そのソースデータがそのスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、そのソースデータがそのスロットと関連付けられると判定される場合、主グループに従属する新しい異なる従属グループを作成するステップを含み得る。ステップは、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあるかどうかを判定するステップを含み得る。ステップは、そのソースデータの中に存在しないスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップを含み得る。ステップは、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータがスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるスロットに一致するスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、ソースデータおよび従属グループのいずれかが一致したスロットと関連付けられると判定される場合、一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理するステップを含み得る。ステップは、プロセスフィールドネットワークのための従属グループのうちの少なくとも1つと関連付けられる少なくともサブスロットが値を有するという第5の条件が満たされているかどうかを判定するステップを含み得る。ステップは、そのソースデータがプロセスフィールドネットワークのための少なくともあるデバイスモジュールのデータセットを有するという第6の条件が満たされているかどうかを判定するステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないサブスロットと関連付けられるソースデータがあるかどうかを判定するステップを含み得る。ステップは、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあると判定される場合、そのソースデータがスロットの中の少なくともサブスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、そのソースデータがスロットの中の少なくともサブスロットを有すると判定され��場合、主グループに従属する新しい異なる従属グループを作成するステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、そのソースデータの中に存在しないサブスロットと関連付けられる従属グループがあるかどうかを判定するステップを含み得る。ステップは、そのソースデータの中に存在しないサブスロットと関連付けられる従属グループがあると判定される場合、その従属グループを削除のためにマークするステップを含み得る。ステップは、第5の条件および第6の条件が満たされていると判定される場合、そのソースデータがサブスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるサブスロットに一致するサブスロットと関連付けられるかどうかを判定するステップを含み得る。ステップは、ソースデータおよび従属グループのいずれかが一致したサブスロットと関連付けられると判定される場合、一致したサブスロットと関連付けられるソースデータおよび一致したサブスロットと関連付けられる既存のデータを処理するステップを含み得る。
【００３２】
いくつかの場合、コンピュータ実施方法はさらに、限定はされないが、ソースアプリケーションから抽出されたソースデータの複数のセットを、そのソースデータがターゲットアプリケーションのデータ構造要件によりサポート可能ではないと判定される場合、ターゲットアプリケーションの中のターゲットデータの単一のセットとしてディスプレイデバイスにより表示されるべきソースデータの単一のセットへと合成するステップを含み得る。
【００３３】
いくつかの場合、コンピュータ実施方法はさらに、限定はされないが、ソースアプリケーションから抽出されたソースデータのセットを、そのソースデータがターゲットアプリケーションのデータ構造要件によりサポート可能ではないと判定される場合、ターゲットアプリケーションによりサポート可能となるようにソースデータの複数のセットへと分割するステップを含み得る。
【００３４】
他の実施形態では、産業プラントの中の制御システムは、限定はされないが、1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとを含むことがあり、このコンピュータ実行可能命令は、1つまたは複数のハードウェアプロセッサによって実行されると、1つまたは複数のハードウェアプロセッサに方法を実行させる。方法は、限定はされないが、ターゲットアプリケーションによる要件に少なくとも一部基づいて、ソースアプリケーションからソースデータを抽出するステップを含み得る。方法は、ソースアプリケーションから抽出されたソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないかどうかを判定するステップを含み得る。方法は、そのソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないと判定される場合、ターゲットアプリケーションのデータ構造要件に従ってターゲットデータ構造と一致するようにソースデータ構造を変換するステップを含み得る。方法は、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、ターゲットアプリケーションとソースアプリケーションとの間でデータ構造の階層的な確認を実行するステップを含み得る。方法は、ターゲットアプリケーションの中のターゲットデータへとソースデータをマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップを含み得る。
【００３５】
他の実施形態では、非一時的コンピュータ可読記憶媒体は、1つまたは複数のコンピュータによって実行されると1つまたは複数のコンピュータに方法を実行させるコンピュータ可読プログラムを記憶する。方法は、限定はされないが、ターゲットアプリケーションによる要求に少なくとも一部基づいて、ソースアプリケーションからソースデータを抽出するステップを含み得る。方法は、ソースアプリケーションから抽出されたソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないかどうかを判定するステップを含み得る。方法は、ソースデータの少なくとも一部がターゲットアプリケーションの中のターゲットデータの少なくとも一部とデータ構造に関して一致しないと判定される場合、ターゲットアプリケーションのデータ構造要件に従ってターゲットデータ構造と一致するようにソースデータ構造を変換するステップを含み得る。方法は、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、ターゲットアプリケーションとソースアプリケーションとの間でデータ構造の階層的な確認を実行するステップを含み得る。方法は、ターゲットアプリケーションの中のターゲットデータへとソースデータをマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップを含み得る。
【００３６】
[ソースデータをターゲットデータへとマージするためのシステムおよび方法が適用可能な統合システムの概要]
ソースデータをターゲットデータへとマージするための上で説明されたシステムおよび方法が適用可能な統合システムの概要が、以下で説明される。
【００３７】
図4Aは、複数のフィールドデバイス50000、自動化エンジニアリングシステム2000、およびインターフェース3000を制御するためのフィールド制御デバイス40000を含む、統合システムを示す図である。図4Bは、図4Aの自動化エンジニアリングシステム2000のある実装形態のサンプルを示す図である。インターフェース3000は、限定はされないが、ヒューマンインターフェースステーション(HIS)により実装され得る。インターフェース3000は、任意の利用可能なネットワークを介してフィールド制御デバイス40000に通信可能に結合されるように構成され得る。インターフェース3000は操作環境をオペレータに提供するように構成される。インターフェース3000は、利用可能なネットワークを介して自動化エンジニアリングシステム2000に通信可能に結合されるように構成され得る。インターフェース3000は、フィールド制御デバイス40000および自動化エンジニアリングシステム2000を操作し、制御し、管理するために、オペレータによって使用される。自動化エンジニアリングシステム2000は、限定はされないが、少なくとも自動化設計スイート2000を含み得る。自動化エンジニアリングシステム2000は、限定はされないが、プラント計装、安全計装、および保守管理を含み得る、制御システム全体の構成および保守を行うための、統合エンジニアリング環境を提供するように構成され得る。自動化エンジニアリングシステム2000は、プラント計装、安全計装、および保守管理を含む、計装全体の構成および保守を行うための、エンジニアリング環境を提供するように構成され得る。自動化エンジニアリングシステム2000は、限定はされないが、進化した分散制御システム(DCS)などの特定のデバイスまたはシステムにまで、従来のものに加えて新しいエンジニアリング方法を提供するように構成され得る。データをターゲットデータへとマージするための方法およびシステムの実施形態に関して、自動化エンジニアリングシステム2000または自動化エンジニアリングシステム2000の中の自動化エンジニアリングシステム22000のエンジニアリングツールは、データをターゲットデータへとマージするように構成され得る。自動化エンジニアリングシステム2000は、限定はされないが、自動化設計サーバ(自動化エンジニアリングシステムのエンジニアリングサーバ)21000、自動化エンジニアリングシステム22000のエンジニアリングツール、およびVPビルダを含み得る。エンジニアリングツールは、限定はされないが、自動化設計オーガナイザなどの自動化設計ツールを含み得る。自動化エンジニアリングシステム2000はさらに、限定はされないが、自動化設計マスターデータベース2300を含み得る。自動化設計サーバ(自動化エンジニアリングシステムのエンジニアリングサーバ)21000は、自動化エンジニアリングシステム2000のすべてのエンジニアリングデータを管理するように構成され得る。自動化エンジニアリングシステム22000のエンジニアリングツールは、限定はされないが、モジュールベースエンジニアリングのためのエンジニアリング向けの主ソフトウェアコンポーネントを含み得る。自動化エンジニアリングシステム2000は、限定はされないが、自動化設計サーバ(自動化エンジニアリングシステムのエンジニアリングサーバ)21000上での分散制御システム(DCS)のエンジニアリン���データなどのすべてのシステムエンジニアリングデータを集中的に管理するように構成され得る。システムを拡張するとき、変更するとき、または保守するときに、最新の設計情報を利用可能にすることができ、このことは、設計情報とシステムに記憶されている実際の情報との不一致を確認するための不要なエンジニアリング作業を防ぐ。エンジニアリングサーバ機能および標準的なエンジニアリング機能は、同じコンピュータ上で実行され得る。複数の標準的なエンジニアリング機能が、単一のエンジニアリングサーバ機能とともに使用され得る。
【００３８】
エンジニアリング機能を使用することにより編集されるエンジニアリングデータは、以下のプロジェクトに記憶される。自動化設計(AD)プロジェクトは、エンジニアリングデータが記憶されるデータのグループである。自動化エンジニアリングシステム2000では、エンジニアリングデータは自動化設計(AD)プロジェクトによって管理される。自動化エンジニアリングシステム22000のエンジニアリングツールを使用することにより編集されるエンジニアリングデータは、自動化設計サーバ(自動化エンジニアリングシステムのエンジニアリングサーバ)21000上の自動化設計マスターデータベース23000において作成される自動化設計(AD)プロジェクトに記憶される。複数の自動化設計(AD)プロジェクトは、自動化設計マスターデータベース23000において作成され得る。VPプロジェクトは、VPビルダにより編集されたエンジニアリングデータが記憶されるデータのグループである。VPプロジェクトは、標準的なエンジニアリング機能がインストールされるコンピュータまたはサーバにおいて作成され得る。VPプロジェクトは、自動化設計(AD)プロジェクトに登録されることにより利用可能になる。自動化エンジニアリングシステム22000のエンジニアリングツールのエンジニアリングデータは自動化設計(AD)プロジェクトに記憶されるが、VPビルダのエンジニアリングデータはVPプロジェクトに記憶される。
【００３９】
自動化エンジニアリングシステム2000は、分散制御システム(DCS)のためだけではなく、安全計装システムを含む計装システム、フィールドデバイス、およびネットワークデバイスのすべての構成要素のためにも、統合エンジニアリング環境を提供するように構成され得る。自動化エンジニアリングシステム2000は、エンジニアリング作業を自動化および標準化するように構成されることがあり、これは、作業効率を改善しエンジニアリングエラーを減らすこと、および情報を最新に保ち情報をユーザに適切に与えることに効果的である。
【００４０】
モジュールエンジニアリングは、自動化エンジニアリングシステム2000によって提供される新しいエンジニアリング方法の顕著な特徴である。モジュールは、ハードウェアとは独立に開発することができる機能アプリケーションであり、設計情報、制御論理、調整パラメータ、警告属性、添付ファイルを含み得る。エンジニアリングは各モジュールに対して実行され、モジュール要素は全体として管理され得る。分散制御システム(DCS)の従来のエンジニアリング機能は、設計情報の管理をカバーしない。したがって、繰り返される変更の間に実装(特定の制御論理など)が設計情報からずれ、設計情報を参照することが不可能になる。対照的に、自動化エンジニアリングシステム2000は、設計情報と実装情報の両方と統合された方式で定義し、繰り返される変更の間にも設計情報と実装を同時に更新するので、不一致を防ぐ。モジュールエンジニアリングでは、モジュールの注意深い設計が、エンジニアリングの最終段階における変更により引き起こされるリグレッション作業を劇的に減らし、構築の遅延およびコストの増大などのリスクを減らすことが期待される。一方、ユーザの設計作業の負担を減らすために、自動化エンジニアリングシステム2000は、エンジニアリングのノウハウを基礎に開発され検証されている産業用のモジュールのライブラリを、再使用のために提供するように設計され得る。
【００４１】
図4Bに示される説明のための例として、自動化エンジニアリングシステムのエンジニアリングツールの安全通信I/Oエディタは、PROFINET(アプリケーションY)コンフィギュレータからのPROFINETデータ/設定の選択されたセットを、以下のステップを介してエディタにおいて他のデータ/設定とともに使用して統合するために、抽出する機能を有する。1)ユーザがソースアプリケーションYを構成し、2)自動化エンジニアリングシステムのエンジニアリングツールが安全通信I/Oエディタのボタンのクリック「PROFINETコンフィギュレータの結果を読み取る」および「コンフィギュレータを起動する」を介してソースアプリケーションYのデータを読み取り、3)自動化エンジニアリングシステムのエンジニアリングツールが、要件主導のルールに基づいてソースアプリケーションYのデータを抽出し、変換し、リファイニングし、4)自動化エンジニアリングシステムのエンジニアリングツールが、ソースデータを既存のデータにマッピングして、データを追加/更新/削除し、5)自動化エンジニアリングシステムのエンジニアリングツールがステップ4で得られたデータを表示する。
【００４２】
データをターゲットデータへとマージするための方法およびシステムの実施形態に関して、自動化エンジニアリングシステム2000または自動化エンジニアリングシステム2000の中の自動化エンジニアリングシステム22000のエンジニアリングツールは、データをターゲットデータへとマージするように構成され得る。
【００４３】
[ソースデータをターゲットデータへとマージするためのシステムの例]
ソースアプリケーションの中のソースデータをターゲットアプリケーションの中のターゲットデータへとマージするためのシステムおよび方法の概要、ならびに、ソースデータをターゲットデータへとマージするためのシステムおよび方法が適用可能である統合システムの概要が説明された。
【００４４】
自動化エンジニアリングシステム2000または自動化エンジニアリングシステム2000の中の自動化エンジニアリングシステム22000のエンジニアリングツールに統合されるターゲットデータへとソースデータをマージするためのシステムの説明のための例が、以下で説明される。図5は、図4Aおよび図4Bの、自動化エンジニアリングシステム2000または自動化エンジニアリングシステム2000の中の自動化エンジニアリングシステム22000のエンジニアリングツールに統合されるターゲットデータへとソースデータをマージするためのシステムを示すブロック図である。システム20000は、ソースアプリケーション50000の中のソースファイルからソースデータを抽出し、ソースデータをターゲットアプリケーション4000の中のターゲットデータへとマージするように構成される。システム20000は、抽出器20100、変換器20200、リファイナ20300、およびマージャ20400を含む。ソースアプリケーション50000の中のソースファイルの中のソースデータをターゲットアプリケーション4000の中のターゲットデータへとマージするためのプロセスは、抽出器20100、変換器20200、リファイナ20300、およびマージャ20400を通じて実施されることが可能であり、これらの各々が以下で詳細に説明される。
【００４５】
[ソースアプリケーションからソースデータを抽出する]
方法は、ソースアプリケーションからのソースデータの抽出のプロセスを含み得る。このプロセスは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとによって実施され得る。システムは、ソースアプリケーションからソースデータを抽出するように構成される抽出器を含み得る。システムは、1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとによって実装されることがあり、このコンピュータ実行可能命令は、1つまたは複数のハードウェアプロセッサによって実行されると、ソースアプリケーションからのソースデータの抽出のプロセスを1つまたは複数のハードウェアプロセッサに実行させる。
【００４６】
方法は、ターゲットアプリケーションによる要件に少なくとも一部基づいて、ソースアプリケーションからソースデータを抽出し得る。言い換えると、どのソースデータが抽出されるかは、ターゲットアプリケーションが何を要求するかに少なくとも一部依存する。いくつかの場合、ソースデータまたはソースファイルのタイプもしくはフォーマットのいくつかの例は、テキスト、XML、XAML、Excel、CSVなどのフォーマットの任意の利用可能なタイプであり得るが、どのような特定のタイプにも限定されない。
【００４７】
抽出は、何らかの条件のもとで実行され得る。抽出条件の例は、以後モジュールまたは複数のモジュールと呼ばれるデバイスモジュールまたは複数のデバイスモジュールが、ターゲットアプリケーションにおいてサポートされなければならないということであり得る。この場合、条件は、ターゲットアプリケーションにおいてサポートされない任意のサポート不可能な1つまたは複数のモジュールを除去するために使用される。いくつかの場合、ターゲットアプリケーションにおける1つまたは複数のデバイスモジュールのサポート可能性は、特定のネットワークの任意のサポート可能な1つまたは複数の通信プロトコルに依存し得る。特定のネットワークの1つまたは複数のサポート可能な通信プロトコルの例は、限定はされないが、PROFINET(登録商標)およびPROFIBUSなどのプロセスフィールドネットワークの事前に定義された産業用通信プロトコルであり得る。
【００４８】
いくつかの場合、ソースアプリケーションからソースデータを抽出することは、限定はされないが、選択、判定、および検証を含み得る。選択は、ターゲットアプリケーションによる要件に少なくとも一部基づいて、ソースアプリケーションからソースデータを選択するようになされ得る。判定は、選択されたソースデータがプロセスフィールドネットワークの事前に定義された産業用通信プロトコルに従ってターゲットアプリケーションによってサポート可能であるかどうかを判定するようになされ得る。検証は、選択されたソースデータが事前に定義された産業用通信プロトコルに従ってターゲットアプリケーションによってサポート可能であると判定される場合に、選択されたソースデータを検証するようになされ得る。
【００４９】
選択されたソースデータがターゲットアプリケーションにおいてサポート可能であるかどうかを判定するための判定は、任意の利用可能な方法により実施され得る。いくつかの場合、サポート可能性についての判定は、限定はされないが、抽出ルールの決定を含み得る。抽出ルールの決定は、ターゲットアプリケーションによりサポートされるサポート条件のもとで任意の利用可能な抽出ルールのセットを決定するようになされ得る。サポート条件は、限定はされないが、ターゲットアプリケーションによる、PROFINET(登録商標)などのプロセスフィールドネットワークの事前に定義された産業用通信プロトコルを含み得る。
【００５０】
[ターゲットアプリケーションと一致するようにソースデータのデータ構造を変換する]
方法は、抽出されたソースデータのデータ構造の決定のプロセスを含み得る。方法は、抽出されたソースデータのデータ構造がターゲットアプリケーションのデータ構造と一致するかどうかを判定するステップを含み得る。方法はさらに、ターゲットアプリケーションのデータ構造と一致するように、抽出されたソースデータの判定されたデータ構造を変換するプロセスを含み得る。この判定および変換のプロセスは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとによって実施され得る。システムは、抽出されたソースデータのデータ構造がターゲットアプリケーションのデータ構造と一致するかどうかを判定し、ターゲットアプリケーションのデータ構造と一致するように、抽出されたソースデータの判定されたデータ構造を変換するように構成される、変換器を含み得る。変換器は、1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとによって実装されることがあり、このコンピュータ実行可能命令は、1つまたは複数のハードウェアプロセッサによって実行されると、ソースアプリケーションからのソースデータの抽出のプロセスを1つまたは複数のハードウェアプロセッサに実行させる。
【００５１】
いくつかの場合、抽出されたソースデータまたは抽出されたソースデータファイルは、ターゲットアプリケーションのデータ構造と一致するデータ構造を有し得る。他の場合、ソースデータ構造はターゲットデータ構造と一致しない。この場合、抽出されたソースデータまたは抽出されたソースデータファイルのソースデータ構造は、ターゲットアプリケーションのターゲットデータまたはターゲットファイルとデータ構造に関して一致するように変換される。普通は、ターゲットアプリケーションのデータ構造は、ターゲットアプリケーションが適合する規格に従って、データ構造に対する事前に定義された要件により決められ得る。データ構造の規格は、任意の利用可能なデータ安全規格であり得る。抽出されたソースデータまたは抽出されたソースデータファイルのソースデータ構造の変換は、ターゲットアプリケーションが適合する規格に従って、データ構造のために事前に定義された要件に少なくとも一部基づいて行われ得る。「データ構造」の例は、限定はされないが、1)グループ名、2)デバイス名、3)スロット、および4)サブスロットなどの主要なインデクシングと、また、5)IPアドレス、6)デバイスタグ、7)フィールドパラメータ設定、および8)接続設定などの任意選択のデータ構造設定とを含み得る。
【００５２】
[ソースデータをリファイニングする]
方法は、一部の場合にターゲットアプリケーションのデータ構造と一致するようなデータ構造においては変換されたが、ターゲットアプリケーションのデータ構造とすでに一致しているデータ構造においては変換されなかった、抽出されたソースデータのリファイニングのプロセスを含み得る。リファイニングプロセスは、データ合成プロセスおよびデータ分割プロセスという2つに分類され得る。データ合成プロセスは、ソースデータの複数のセットをソースデータの単一のセットへと合成し、ソースデータのセットを分割するようになされ得る。普通は、データ合成プロセスは、ソースアプリケーションから抽出されるソースデータがターゲットアプリケーションのデータ構造要件によりサポート可能ではないと判定される場合、ターゲットアプリケーションの中のターゲットデータの単一のセットとしてディスプレイデバイスにより表示されるべきソースデータの単一のセットへと、そのソースデータの複数のセットを合成するようになされ得る。データ分割プロセスは、ターゲットアプリケーションによりサポート可能となるように、ソースアプリケーションから抽出されたソースデータのセットをソースデータの複数のセットへと分割するようになされ得る。普通は、データ分割プロセスは、ソースデータがターゲットアプリケーションによりサポート可能ではないと判定される場合、ターゲットアプリケーションによりサポート可能となるように、ソースアプリケーションから抽出されたソースデータのセットをソースデータの複数のセットへと分割するようになされ得る。リファイニングのプロセスは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとによって実施され得る。システムは、ソースデータがターゲットアプリケーションによりサポート可能ではないと判定される場合、ターゲットアプリケーションの中のターゲットデータの単一セットとしてディスプレイデバイスにより表示されるべきソースデータの単一のセットへと、ソースアプリケーションから抽出されたソースデータの複数のセットを合成し、ソースデータがターゲットアプリケーションのデータ構造要件によりサポート可能ではないと判定される場合、ターゲットアプリケーションによりサポート可能となるように、ソースアプリケーションから抽出されたソースデータのセットをソースデータの複数のセットへと分割するように構成される、リファイナを含み得る。リファイナは、1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとによって実施されることがあり、このコンピュータ実行可能命令は、1つまたは複数のハードウェアプロセッサによって実行されると、ソースアプリケーションからのソースデータの抽出のプロセスを1つまたは複数のハードウェアプロセッサに実行させる。
【００５３】
いくつかの場合、ソースアプリケーションの中の1つまたは複数のソースファイルから抽出された複数のデータセットデータA、データB、およびデータCは、ターゲットアプリケーションにおいて単一のデータセットデータDとして表示されることが必要である。ターゲットアプリケーションにおいて単一のデータセットデータDを表示するために、複数のデータセットデータA、データB、およびデータCを単一のデータセットデータDへと合成するために、データ合成が行われ得る。いくつかの場合、単一のデータセットデータDは、複数のデータセットデータA、データB、およびデータCのすべては含まない。単一のデータセットデータDは、複数のデータセットデータA、データB、およびデータCの一部であり得る。複数のデータセットの合成は、複数のデータセットデータA、データB、およびデータCを単に合成することを常に行うのではない。いくつかの場合、合成は、複数のデータセットデータA、データB、およびデータCの一部である単一のデータセットデータDを作り出す。
【００５４】
他の場合、ソースアプリケーションの中のソースファイルからの単一のデータセットデータEは、ターゲットアプリケーションにより受け入れ可能ではなく、またはターゲットアプリケーションによる事前に定義された要件に適合しない。したがって、ソースアプリケーションの中のソースファイルからの単一のデータセットデータEは、ターゲットアプリケーションによる要件と一致するように、複数のデータセットデータE1、データE2、およびデータE3へと分割される必要がある。この分割は、ターゲットアプリケーションによる事前に定義された要件に従って行われ得る。ターゲットアプリケーションによる事前に定義された要件はまた、上で説明されたソースデータのデータ構造の変換のために使用され得る。この変換は、任意選択であり不可欠ではないことがある。いくつかの場合、ソースデータのデータ構造がターゲットデータのデータ構造と一致しないと判定された場合でも、変換が行われないことがある。この場合、リファイニング、たとえば分割が、ソースデータをターゲットデータと一致させるために行われる。
【００５５】
図6Aは、ターゲットデータとマージされるべきソースデータの複数の分割されたセットへと、ソースデータの単一のセットを分割するプロセスの説明のための例の図である。ターゲットデータとマージされるべきソースデータの複数の分割されたセットへとソースデータの単一のセットを分割するためのプロセスは、ターゲットアプリケーション40000による要求に従って行われ得る。ソースアプリケーションのデータタイプサイズはターゲットアプリケーションのデータタイプサイズより大きいことがあり、そうすると、ソースデータが以下のルールに従って分割されることが要求される。ソースデータはUnsigned32(これは4バイトである)を超えてはならない。超える場合、差分がソースデータ固有の信号に割り振られなければならない。ソース信号のデータタイプは6バイトのアレイであり、これは48のサイズ(6*8、ここで8は1バイトと等価である)である。したがって、ターゲット信号はそれぞれ、1つのunsigned32および1つのunsigned16でなければならない。
【００５６】
図6Bは、ターゲットデータとマージされるべきソースデータの単一の合成されるセットへとソースデータの複数のセットを合成するプロセスの説明のための例の図である。ソースアプリケーションがターゲットアプリケーションよりも多くの列を有するので、列の一部が少なくとも1つの列へとマージされることが要求される。ソース列表示名、データタイプ、信号タイプ、配線、データアドレス、IOPSアドレス、およびIOCSアドレスはすべて、PN信号情報である1つのターゲット列となるように合成される。
【００５７】
[ソースデータをターゲットデータにマージする]
方法は、ソースアプリケーションからのソースデータをターゲットアプリケーションの中のターゲットデータにマージするプロセスを含み得る。このプロセスは、1つまたは複数のハードウェアプロセッサと、1つまたは複数のハードウェアプロセッサにより実行されるべき1つまたは複数のソフトウェアコンポーネントとによって実施され得る。システムは、ソースアプリケーションからのソースデータをターゲットアプリケーションの中のターゲットデータへとマージするように構成される抽出器を含み得る。システムは、1つまたは複数のハードウェアプロセッサと、コンピュータ実行可能命令を備える1つまたは複数のソフトウェアコンポーネントとによって実施されることがあり、このコンピュータ実行可能命令は、1つまたは複数のハードウェアプロセッサによって実行されると、ソースアプリケーションからのソースデータをターゲットアプリケーションの中のターゲットデータへとマージするプロセスを1つまたは複数のハードウェアプロセッサに実行させる。
【００５８】
ソースアプリケーションからのソースデータをターゲットアプリケーションの中のターゲットデータへとマージするマージプロセスは、限定はされないが、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、ターゲットアプリケーションの少なくとも一部とソースアプリケーションの少なくとも一部との間でデータ構造の階層的な確認を実行するステップと、ソースデータをターゲットアプリケーションの中のターゲットデータへとマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップとを含み得る。
【００５９】
マージプロセスは、図7から図16を参照して説明される。図7から図13は、図5に示されるような抽出、変換、リファイニング、およびマージのステップの各々における、ソースデータ構造およびターゲットデータ構造を示すデータテーブルである。上で説明されたように、マージプロセスは、限定はされないが、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスにおいて、ターゲットアプリケーションの少なくとも一部とソースアプリケーションの少なくとも一部との間でデータ構造の階層的な確認を実行するステップと、ソースデータをターゲットアプリケーションの中のターゲットデータへとマージするための階層的な確認の結果に少なくとも一部基づいて、ソースアプリケーションからのソースデータを更新すること、削除すること、および追加することのうちの少なくとも1つを実行するステップとを含み得る。相関定義ステータスにおけるデータ構造の階層的な確認は、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスに関する、ソースアプリケーションとターゲットアプリケーションとの間での階層的な構造のレベルごとの比較により実行され得る。
【００６０】
図7は、ソースデータおよびターゲットデータの階層的なデータ構造の例を示すテーブル1を示す。マージステップは、3つの参照テーブルにおいて説明されるような、ソースアプリケーションとターゲットアプリケーションとの間での相関「定義」ステータスの「階層的な」確認の結果に基づく。実行される確認を通じて、ターゲットアプリケーションのための更新/削除/追加の動作が決定され、行われる。ソースアプリケーションとターゲットアプリケーションとの間の相関「定義」ステータスとは、ソースアプリケーション(SYCON)の中のパラメータおよびターゲットアプリケーション(自動化エンジニアリングシステムのエンジニアリングツール)の中のパラメータを指す。相関「定義」ステータスの「階層的な」確認が実行されることの目的は、ソースアプリケーション(SYCON)からのデータをどのようにターゲットアプリケーション(自動化エンジニアリングシステムのエンジニアリングツール)の中のデータとマージする(更新する/削除する/追加する)かを決めるためである。「階層的」とは「階層化された」確認/比較を表し、テーブル3、5、および6に従った確認/比較が順番に行われる。「階層的な」確認を行う方法は、テーブル3、5、および6がそれぞれ対応する図14、図15、および図16のプロセスフローに示される。更新/削除/追加の動作は、ターゲットアプリケーションとソースアプリケーションとの間の確認/比較の結果に基づく。ソースアプリケーションおよびターゲットアプリケーションのデータ階層の例は、図7のテーブル1に示されている。ソースアプリケーションのデータ階層は、コントローラ、デバイス、スロット、およびサブスロットであり、一方でターゲットアプリケーションのデータ階層は、主グループ、従属グループ、スロット、およびサブスロットである。ソースアプリケーションおよびターゲットアプリケーションのデータ構造の例は、図8のテーブル2に示されている。ソースデータのデータ構造は、コントローラ、デバイス名、スロット値、およびサブスロット値である。ソースデータのデータ構造は、主グループ名、従属グループ名、デバイス名、スロット値、およびサブスロット値である。フローチャート14に対応する図9のテーブル3に示されるように、たとえばターゲットアプリケーションの中のグループB4およびグループB5は、「デバイス3」がソースアプリケーションにおいて定義されていないので、確認/比較の後で削除される。
【００６１】
図10の表4に示されるように、別の場合、デバイス2、およびソースアプリケーションの中のそのスロット、サブスロットは、デバイス2がソースアプリケーションにおいては定義されているがターゲットアプリケーションにおいては定義されていないので、確認/比較の後にターゲットアプリケーションに追加される。2つの新しいグループB(B6、B7)が以下のように追加される(デバイス2が2つのサブスロットを有するので)。
【００６２】
図15のフローチャートに対応する図11のテーブル5に示されるように、グループB1のデバイス名(デバイス1)をソースアプリケーションにおいて見出すことができる(ターゲットアプリケーションおよびソースアプリケーションが同じパラメータ(デバイス名)に対して同じ値を有する)ので、ターゲットアプリケーションの中のデバイス1のもとにあるスロット(「親」のもとにある「子」)およびソースアプリケーションの中のデバイス1のスロットが、この階層化された比較において比較される。
【００６３】
図16のフローチャートに対応する図12のテーブル6に示されるように、グループB1のデバイス名(デバイス1)をソースアプリケーションにおいて見出すことができ(ターゲットアプリケーションおよびソースアプリケーションが同じパラメータ(デバイス名)に対して同じ値を有する)、ターゲットアプリケーションおよびソースアプリケーションはまた、ターゲットアプリケーションの中のスロットのもとにあるサブスロット(「親」のもとにある「子」)およびソースアプリケーションのスロットのサブスロットを比較するステップにここでは先行するテーブル5における比較の後、同じスロット値を有する。
【００６４】
図16のフローチャートに対応する図11のテーブル5に示されるように、従属グループB3のスロット値3がソースアプリケーションの中にないので、従属グループB3は削除される。デバイス1、スロット2に関して、デバイス1のスロット2が2つのサブスロットを有するので、2つの従属グループBがターゲットアプリケーションにおいて従属グループB8およびB9として追加される。2つの従属グループB1およびB2は、2つの従属グループB1およびB2がソースアプリケーションと同じスロット値「1」を有するので、次のレベルの比較に進む。
【００６５】
図16のフローチャートに対応する図13のテーブル7に示されるように、従属グループB2のサブスロット値3がソースアプリケーションの中に存在しないので、従属グループB2は削除される。デバイス1、スロット1、サブスロット2に関して、1つの従属グループB10がターゲットアプリケーションの中に存在するので、1つの従属グループBが追加される。従属グループB1は、テーブルの中に存在しない、マージに関連しない他のパラメータ値を更新することにより更新される。ソースデータをターゲットデータへとマージした後の最終結果が図13のテーブル7に示されている。
【００６６】
図14は、図5に示され、図4Aおよび図4Bの自動化エンジニアリングシステム20000によって実施されるような、マージプロセスのフローチャートである。図15は、図5に示されるようなマージプロセスに含まれる一致したデバイスを両方が有する、ソースデータおよびターゲットデータを処理するフローチャートである。図16は、図15に示されるような一致したデバイスを両方が有するソースデータおよびターゲットデータを処理するためのプロセスに含まれる、一致したスロットを両方が有するソースデータおよびターゲットデータを処理するフローチャートである。
【００６７】
図14に示されるように、ステップS11000において、グループAに従属するすべての従属グループBおよびソースデータが、ソースフィルム50000から得られる。その後、相関定義ステータスにおけるデータ構造の階層的な確認が、ターゲットアプリケーションおよびターゲットデータファイルのうちの少なくとも1つのターゲットパラメータを参照し、ソースアプリケーションおよびソースデータファイルのうちの少なくとも1つのソースパラメータを参照する相関定義ステータスに関して、ソースアプリケーション50000とターゲットアプリケーション40000との間での階層的な構造のレベルごとの比較により実行され得る。
【００６８】
ステップS12000において、ソースアプリケーション50000とターゲットアプリケーション40000との間の階層的な構造のレベルごとの比較は判定ステップを含み、ここで、ターゲットアプリケーション40000から得られた主グループがターゲットアプリケーション40000から得られた従属グループを有するという第1の条件が満たされているかどうかの判定が行われ、従属グループは主グループに従属し、ソースアプリケーションから抽出されたソースデータが少なくともあるデバイスのデータセットを有するという第2の条件が満たされているかどうかの追加の判定が行われる。第1の条件と第2の条件の両方が満たされていると判定される場合、ソースアプリケーション50000から抽出されたソースデータとターゲットアプリケーション40000からの従属グループの中の既存のデータとの間の階層的な構造においてレベルごとの比較が行われる。いくつかの場合、第1の条件および第2の条件は、従属グループの既存のデータまたはターゲットデータとソースデータとの両方にPROFINET設定があるということであり得る。
【００６９】
ステップS13000において、ソースアプリケーション50000とターゲットアプリケーション40000との間の階層的な構造のレベルごとの比較は判定ステップを含み、ここで、第1の条件と第2の条件の両方が満たされていると判定される場合、ソースデータとターゲットデータとの間で、デバイスデータ設定の比較が行われる。ターゲットデータはまた、ターゲットアプリケーション40000に存在する、現存データとも呼ばれ得る。ソースデータとターゲットデータとの間でデバイスデータ設定において行われる比較は、以下の3つのプロセスを含み得る。
【００７０】
ステップS13100において、少なくともそのデバイスのデータセットを有するソースデータが従属グループのいずれかの中に存在するかどうかの判定が行われる。
【００７１】
ステップS13400において、少なくともそのデバイスを有するソースデータが従属グループのいずれの中にも存在しないと判定される場合、少なくともそのデバイスが少なくともそのデバイスの少なくともサブモジュールを有するかどうかの判定が行われる。
【００７２】
ステップS13500において、少なくともそのデバイスが少なくともサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループが作成される。
【００７３】
ステップS13200において、少なくともそのデバイスのデータセットを有するソースデータが従属グループのいずれの中にも存在しないかどうかの判定が行われる。
【００７４】
ステップS13200に続いて、少なくともそのデバイスの関連するデータセットを有する従属グループがソースデータの中に存在するかどうかの判定が行われる。少なくともそのデバイスの関連するデータセットを有する従属グループがソースデータの中に存在しないと判定される場合、削除のための従属グループがマークされる。
【００７５】
ステップS13600において、削除のための従属グループがあると判定される場合、削除のためにマークされた従属グループまたは削除のためにマークされた複数の従属グループの削除が行われる。
【００７６】
ステップS13300において、ソースデータが少なくともそのデバイスのデータセットを有するかどうか、および従属グループのいずれかがそのソースデータの少なくともそのデバイスのデータセットに一致する少なくともそのデバイスのデータセットと関連付けられるかどうかの判定が行われる。
【００７７】
ステップS13700において、一致したデータと関連付けられるソースデータおよび一致したデータと関連付けられる既存のデータが処理され、これらは図15を参照して後で説明される。
【００７８】
ステップS14000において、第1の条件が満たされず第2の条件が満たされると判定される場合、ソースデータが少なくともそのデバイスの少なくともデバイス設定データセットを有するかどうかの判定が行われる。
【００７９】
ステップS14100において、ソースデータが少なくともそのデバイスの少なくともデバイス設定データセットを有すると判定される場合、そのソースデータが少なくともそのデバイスの少なくともサブモジュールのデータセットを有するかどうかの判定が行われる。
【００８０】
ステップS14200において、ソースデータが少なくともサブモジュールを有すると判定される場合、主グループに従属する新しい異なる従属グループが作成される。
【００８１】
ステップS15000において、第1の条件が満たされ第2の条件が満たされないかどうかの判定が行われる。
【００８２】
ステップS15100において、第1の条件が満たされ第2の条件が満たされないと判定される場合、主グループに属する従属グループのすべてを削除のためにマークするプロセスが行われる。
【００８３】
ステップS15200において、マークされた従属グループが削除される。
【００８４】
図15を参照すると、ステップS1370においてソースアプリケーションからのソースデータおよびターゲットアプリケーションの中の既存のデータを処理することは、プロセスフィールドネットワークのための従属グループのうちの少なくとも1つと関連付けられる少なくともスロットが値を有するという第3の条件が満たされているかどうかを判定するためのステップS13710における判定と、ソースデータがプロセスフィールドネットワークのためのスロットと関連付けられるという第4の条件が満たされているかどうかの判定とを含む。ステップS13721において、第3の条件および第4の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあるかどうかの判定が行われる。ステップS13730において、従属グループのいずれの中にも存在しないスロットと関連付けられるソースデータがあると判定される場合、ソースデータがスロットと関連付けられるかどうかの判定が行われる。ステップS13740において、ソースデータがスロットと関連付けられると判定される場合、主グループに従属する新しい異なる従属グループが作成される。ステップS13722において、第3の条件および第4の条件が満たされていると判定される場合、ソースデータの中に存在しないスロットと関連付けられる従属グループがあるかどうかの判定が行われる。ステップS13750において、ソースデータの中に存在しないスロットと関連付けられる従属グループがあると判定される場合、その従属グループが削除のためにマークされる。ステップS13770において、削除のためにマークされた従属グループが削除される。ステップS13710においてソースアプリケーションからのソースデータおよびターゲットアプリケーションの中の既存のデータを処理することはさらに、第3の条件および第4の条件が満たされていると判定される場合、そのソースデータがスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるスロットに一致するスロットと関連付けられるかどうかを判定するための、ステップS13723における判定プロセスを含む。ステップS13660において、ソースデータおよび従属グループのいずれかが図16に示されるような一致したスロットと関連付けられると判定される場合、一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理するためのプロセスが行われる。
【００８５】
ステップ13760において一致したスロットと関連付けられるソースデータおよび一致したスロットと関連付けられる既存のデータを処理することは、プロセスフィールドネットワークのための従属グループのうちの少なくとも1つと関連付けられる少なくともサブスロットが値を有するという第5の条件が満たされているかどうかの判定が行われ、そのソースデータがプロセスフィールドネットワークのための少なくともあるデバイスサブモジュールのデータセットを有するという第6の条件が満たされているかどうかの判定が行われる、ステップS13761を含む。
【００８６】
ステップS13762において、第5の条件および第6の条件が満たされていると判定される場合、従属グループのいずれの中にも存在しないサブスロットと関連付けられるソースデータがあるかどうかの判定が行われる。
【００８７】
ステップS13765において、従属グループのいずれの中にも存在しないサブスロットと関連付けられるソースデータある場合、主グループに従属する新しい異なる従属グループが作成される。
【００８８】
ステップS13763において、第5の条件および第6の条件が満たされていると判定される場合、ソースデータの中に存在しないサブスロットと関連付けられる従属グループがあるかどうかの判定が行われる。
【００８９】
ステップS13766において、ソースデータの中に存在しないサブスロットと関連付けられる従属グループがあると判定される場合、その従属グループが削除のためにマークされる。
【００９０】
ステップS13768において、削除のためにマークされた従属グループが削除される。
【００９１】
ステップS13768において、第5の条件および第6の条件が満たされていると判定される場合、ソースデータがサブスロットと関連付けられるかどうか、および従属グループのいずれかがそのソースデータと関連付けられるサブスロットに一致するサブスロットと関連付けられるかどうかの判定が行われる。
【００９２】
ステップS13768において、そのソースデータがサブスロットと関連付けられ、従属グループのいずれかがそのソースデータと関連付けられるサブスロットに一致するサブスロットと関連付けられる場合、そのソースデータと一致するように従属グループが更新される。
【００９３】
システムは、1つまたは複数のアプリケーションからターゲットアプリケーションにデータをインポートするために単一のユーザ入力(単一のクリックまたは1回のクリック)を通じて他のアプリケーションからデータを得ることの効率を上げることができる。ユーザの準備は必要ではなく、「ワンクリック」が所望のデータを選択するのを助け得る。システムは、入力されたファイルとともにターゲットデータを自動的に扱うことができる。データのさらなる操作は必要ではない。システムは、特徴として、アプリケーション間のユーザフレンドリーでカスタマイズ可能で誤りのないデータのインポートを実現することができる。システムは、インポートに必要とされるものを効率的に取得するためにデータをフィルタリングすることができる。システムは、ユーザが手動ですべてのデータをフィルタリングして整理するよりも効率的に、データの完全に自動的なマージを実現することができる。システムは、カスタマイズ可能なデータ特定/処理プロセスを実施することを通じて、容易にかつ正確にソースファイルからターゲットアプリケーションのための所望のデータを取得することができる。ターゲットアプリケーションのための所望のデータを特定して取得するのに、ユーザの選択は必要ではない。
【００９４】
いくつかの変更が可能であることがあり、たとえば、限定はされないが、2つ以上のソースファイルが入力であり得る。ソースファイルは2つ以上のアプリケーションからのものであり得る。2つ以上のソースファイルの各々は互いに異なるフォーマットを有し得る。ソースアプリケーションからターゲットアプリケーションにデータをマージする前に、変換が行われ得る。抽出のための条件は、編集可能な設定可能物であるルールのセットであり得る。抽出ルールは、ターゲットアプリケーションを再インストールする/ターゲットアプリケーションにパッチを当てることなく抽出ルールを変えるために別個のファイルに記憶され得る。しかし、本発明では、抽出ルールはターゲットアプリケーションに埋め込まれるので、抽出ルールに変更を行うことができず、したがって編集可能ではない。
【００９５】
上で説明されたゲーム装置の各要素またはデバイスは、ソフトウェアとともに、またはソフトウェアなしで、ハードウェアによって実装され得る。いくつかの場合、ゲーム装置は、1つまたは複数のハードウェアプロセッサおよび1つまたは複数のソフトウェアコンポーネントによって実装されることがあり、1つまたは複数のソフトウェアコンポーネントは、ゲーム装置のための各要素またはデバイスを実装するために1つまたは複数のハードウェアプロセッサによって実行されることになる。いくつかの他の場合、ゲーム装置は、ゲーム装置のための各要素またはデバイスの各動作を実行するように構成される、1つまたは複数の回路のシステムによって実装され得る。
【００９６】
上で説明された実施形態のシステムおよび方法は、コンピュータソフトウェア、ソフトウェアコンポーネント、プログラムコード、および/または命令を1つまたは複数のプロセッサ上で実行する機械または回路を通じて、一部または全体が展開され得る。1つまたは複数のプロセッサは、汎用コンピュータ、サーバ、クラウドサーバ、クライアント、ネットワークインフラストラクチャ、モバイルコンピューティングプラットフォーム、固定式コンピューティングプラットフォーム、または他のコンピューティングプラットフォームの一部であり得る。1つまたは複数のプロセッサは、プログラム命令、コード、バイナリ命令などを実行することが可能な、任意の種類の1つまたは複数の計算デバイスまたは処理デバイスであり得る。1つまたは複数のプロセッサは、信号プロセッサ、デジタルプロセッサ、埋め込みプロセッサ、マイクロプロセッサ、または、記憶されているプログラムコードもしくはプログラム命令の実行を直接または間接的に支援できる、コプロセッサ、たとえばマスコプロセッサ、グラフィックコプロセッサ、通信コプロセッサなどの任意の変形であることがあり、またはそれらを含むことがある。加えて、1つまたは複数のプロセッサは、複数のプログラム、スレッド、およびコードの実行を可能にし得る。スレッドは、1つまたは複数のプロセッサの性能を強化するために、かつアプリケーションの同時動作を支援するために、同時に実行され得る。本明細書において説明されるプログラムコード、プログラム命令などは、1つまたは複数のスレッドにおいて実装され得る。1つまたは複数のプロセッサは、本明細書において説明されるようなコード、命令、およびプログラムを記憶するメモリを含み得る。プロセッサは、本明細書および他で説明されるようなコード、命令、およびプログラムを記憶し得るインターフェースを通じて非一時的プロセッサ可読記憶媒体にアクセスし得る。コンピューティングデバイスまたは処理デバイスにより実行されることが可能なプログラム、コード、プログラム命令、または他のタイプの命令を記憶するための、プロセッサと関連付けられる非一時的プロセッサ可読記憶媒体は、メモリ、ハードディスク、フラッシュドライブ、RAM、ROM、CD-ROM、DVD、キャッシュなどのうちの1つまたは複数を含むことがあるが、限定はされないことがある。
【００９７】
プロセッサは、マルチプロセッサの速度および性能を強化できる1つまたは複数のコアを含み得る。いくつかの実施形態では、プロセッサは、デュアルコアプロセッサ、クアッドコアプロセッサ、2つ以上の独立のコアを組み合わせる他のチップレベルマルチプロセッサなどであり得る。
【００９８】
本明細書において説明される方法およびシステムは、サーバ、クライアント、ファイアウォール、ゲートウェイ、ハブ、ルータ、または他のそのようなコンピュータおよび/もしくはネットワーキングハードウェア上でコンピュータソフトウェアを実行する機械を通じて、一部または全体が展開され得る。
【００９９】
ソフトウェアプログラムは、ファイルクライアント、プリントクライアント、ドメインクライアント、インターネットクライアント、イントラネットクライアント、および、セカンダリクライアント、ホストクライアント、分散クライアントなどの他の変形を含み得る、1つまたは複数のクライアントと関連付けられ得る。クライアントは、メモリ、プロセッサ、コンピュータ可読媒体、記憶媒体、物理および仮想ポート、通信デバイス、ならびに、有線媒体またはワイヤレス媒体を通じて他のクライアント、サーバ、機械、およびデバイスにアクセスすることが可能なインターフェースなどのうちの、1つまたは複数を含み得る。本明細書において説明されるプログラムまたはコードはクライアントによって実行され得る。加えて、本出願において説明されるような方法の実行に必要な他のデバイスは、クライアントと関連付けられるインフラストラクチャの一部であると見なされ得る。クライアントは、サーバ、他のクライアント、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバなどを含む他のデバイスへのインターフェースを提供し得る。この結合および/または接続は、ネットワークにわたるプログラムの遠隔の実行を容易にし得る。これらのデバイスの一部またはすべてのネットワーク化は、1つまたは複数の位置におけるプログラムまたは方法の並列処理を容易にし得る。加えて、インターフェースを通じてクライアントに接続されるデバイスのいずれもが、方法、プログラム、アプリケーション、コード、および/または命令を記憶することが可能な少なくとも1つの記憶媒体を含み得る。中央リポジトリが、異なるデバイスで実行されるべきプログラム命令を提供し得る。この実装形態では、遠隔のリポジトリが、プログラムコード、命令、およびプログラムのための記憶媒体として活動し得る。
【０１００】
ソフトウェアプログラムは、ファイルサーバ、プリントサーバ、ドメインサーバ、インターネットサーバ、イントラネットサーバ、および、セカンダリサーバ、ホストサーバ、分散サーバなどの他の変形を含み得る、1つまたは複数のサーバと関連付けられ得る。サーバは、メモリ、プロセッサ、コンピュータ可読媒体、記憶媒体、物理および仮想ポート、通信デバイス、ならびに、有線媒体またはワイヤレス媒体を通じて他のサーバ、クライアント、機械、およびデバイスにアクセスすることが可能なインターフェースなどのうちの、1つまたは複数を含み得る。本明細書において説明される方法、プログラム、またはコードはサーバによって実行され得る。加えて、本出願において説明されるような方法の実行に必要な他のデバイスは、サーバと関連付けられるインフラストラクチャの一部として見なされ得る。サーバは、クライアント、他のサーバ、プリンタ、データベースサーバ、プリントサーバ、ファイルサーバ、通信サーバ、分散サーバ、ソーシャルネットワークなどを含む、他のデバイスへのインターフェースを提供し得る。この結合および/または接続は、ネットワークにわたるプログラムの遠隔の実行を容易にし得る。これらのデバイスの一部またはすべてのネットワーク化は、1つまたは複数の位置におけるプログラムまたは方法の並列処理を容易にし得る。インターフェースを通じてサーバに接続されるデバイスのいずれもが、プログラム、コード、および/または命令を記憶することが可能な少なくとも1つの記憶媒体を含み得る。中央リポジトリは、異なるデバイスで実行されるべきプログラム命令を提供し得る。この実装形態では、遠隔のリポジトリが、プログラムコード、命令、およびプログラムのための記憶媒体として活動し得る。
【０１０１】
本明細書において説明される方法およびシステムは、ネットワークインフラストラクチャを通じて一部または全体が展開され得る。ネットワークインフラストラクチャは、コンピューティングデバイス、サーバ、ルータ、ハブ、ファイアウォール、クライアント、パーソナルコンピュータ、通信デバイス、ルーティングデバイス、ならびに、当技術分野で知られている他のアクティブなおよびパッシブなデバイス、モジュール、および/または構成要素などの、要素を含み得る。ネットワークインフラストラクチャと関連付けられるコンピューティングおよび/または非コンピューティングデバイスは、他の構成要素とは別に、フラッシュメモリ、バッファ、スタック、RAM、ROMなどの記憶媒体を含み得る。本明細書および他で説明されるプロセス、方法、プログラムコード、命令は、ネットワークインフラストラクチャ要素のうちの1つまたは複数によって実行され得る。
【０１０２】
本明細書において説明される方法、プログラムコード、および命令は、複数のセルを有するセルラーネットワーク上で実装され得る。セルラーネットワークは、周波数分割多元接続(FDMA)ネットワークまたは符号分割多元接続(CDMA)ネットワークのいずれかであり得る。セルラーネットワークは、モバイルデバイス、セルサイト、基地局、リピータ、アンテナ、塔などを含み得る。セルネットワークは、GSM(登録商標)、GPRS、3G、EVDO、メッシュ、または他のネットワークタイプであり得る。
【０１０３】
本明細書および他で説明される方法、プログラムコード、および命令は、モバイルデバイス上で、またはモバイルデバイスを通じて実装され得る。モバイルデバイスは、ナビゲーションデバイス、携帯電話(cell phone)、携帯電話(mobile phone)、モバイル携帯情報端末、ラップトップ、パームトップ、ネットブック、ページャ、電子書籍リーダ、音楽プレーヤなどを含み得る。これらのデバイスは、他の構成要素とは別に、フラッシュメモリ、バッファ、RAM、ROM、および1つまたは複数のコンピューティングデバイスなどの、記憶媒体を含み得る。モバイルデバイスと関連付けられるコンピューティングデバイスは、記憶されているプログラムコード、方法、および命令を実行することが可能にされ得る。代わりに、モバイルデバイスは、他のデバイスと協調して命令を実行するように構成され得る。モバイルデバイスは、サーバとインターフェースしプログラムコードを実行するように構成される基地局と通信し得る。モバイルデバイスは、ピアツーピアネットワーク、メッシュネットワーク、または他の通信ネットワーク上で通信し得る。プログラムコードは、サーバと関連付けられ、サーバに埋め込まれるコンピューティングデバイスにより実行される、記憶媒体に記憶され得る。基地局は、コンピューティングデバイスおよび記憶媒体を含み得る。記憶デバイスは、基地局と関連付けられるコンピューティングデバイスにより実行されるプログラムコードおよび命令を記憶し得る。
【０１０４】
コンピュータソフトウェア、プログラムコード、および/または命令は、ある期間の間計算に使用されるデジタルデータを保持するコンピュータ構成要素、デバイス、および記録媒体;ランダムアクセスメモリ(RAM)として知られている半導体ストレージ;光学ディスク、ハードディスク、テープ、ドラム、カードのような複数の形態の磁気ストレージ、および他のタイプなどの、典型的にはより恒久的な記憶のためのマスストレージ;プロセッサレジスタ、キャッシュメモリ、揮発性メモリ、不揮発性メモリ;CD、DVDなどの光学ストレージ;フラッシュメモリ、たとえばUSBスティックまたはキー、フロッピーディスク、磁気テープ、紙テープ、パンチカード、スタンドアロンRAMディスク、Zipドライブ、取り外し可能マスストレージ、オフラインなどの取り外し可能媒体;ダイナミックメモリ、スタティックメモリ、読取り/書込みストレージ、可変ストレージ、読取り専用、ランダムアクセス、順次アクセス、位置アドレス指定可能、ファイルアドレス指定可能、コンテンツアドレス指定可能、ネットワーク接続ストレージ、ストレージエリアネットワーク、バーコード、磁気インクなどの他のコンピュータメモリを含み得る、機械可読媒体上で記憶および/またはアクセスされ得る。
【０１０５】
本明細書において説明される方法、デバイス、装置、およびシステムは、物理的な、および/または無形のアイテムをある状態から別の状態に変換することができる。本明細書において説明される方法およびシステムはまた、物理的な、および/または無形のアイテムを表すデータを、ある状態から別の状態に変換することができる。
【０１０６】
図面全体のフローチャートおよびブロック図を含む、本明細書において説明されるモジュール、エンジン、構成要素、および要素は、モジュール、エンジン、構成要素、および要素の間の論理的な境界を示唆する。しかしながら、ソフトウェアまたはハードウェアのエンジニアリングの実践によれば、モジュール、エンジン、構成要素、および要素、ならびにそれらの機能は、コンピュータ実行可能媒体を通じて1つまたは複数のプロセッサ、コンピュータ、機械で実装されることがあり、これらのプロセッサ、コンピュータ、機械は、一体のソフトウェア構造として、スタンドアロンのソフトウェアモジュールとして、または、外部ルーチン、コード、サービス、もしくはこれらの任意の組合せを利用するモジュールとして、記憶されているプログラム命令を実行することが可能であり、すべてのそのような実装形態が本開示の範囲内にあり得る。そのような機械の例は、限定はされないが、携帯情報端末、ラップトップ、パーソナルコンピュータ、携帯電話、他のハンドヘルドコンピューティングデバイス、医療機器、有線またはワイヤレス通信デバイス、トランスデューサ、チップ、計算器、衛星、タブレットPC、電子書籍、ガジェット、電子デバイス、人工知能を有するデバイス、コンピューティングデバイス、ネットワーキング機器、サーバ、ルータ、プロセッサが埋め込まれたアイウェアなどを含み得る。さらに、フローチャートおよびブロック図の中のモジュール、エンジン、構成要素、および要素、または任意の他の論理構成要素は、プログラム命令を実行することが可能な1つまたは複数の機械、コンピュータ、またはプロセッサ上で実装され得る。前述の説明および説明が行われた図面は、開示されるシステムのいくつかの機能的な態様を記載したが、これらの機能的な態様を実装するためのソフトウェアの具体的な構成は、明示的に述べられない限り、または文脈から別様に明確でない限り、これらの説明から推測されるべきではない。上で特定され説明された様々なステップは変化することがあり、ステップの順序は本明細書において開示される技法の特定の適用形態に適合され得ることも理解されるだろう。すべてのそのような変形および修正は、本開示の範囲内にあることが意図される。様々なステップの順序の説明は、特定の適用形態により要求されない限り、または明示的に述べられない限り、または文脈から別様に明らかではない限り、それらのステップの実行の特定の順序を必要とするものと理解されるべきではない。
【０１０７】
上で説明された方法および/またはプロセス、ならびにそれらのステップは、ハードウェアで、ソフトウェアで、または、特定の適用形態に適したハードウェアとソフトウェアの任意の組合せで実現され得る。ハードウェアは、汎用コンピュータおよび/もしくは専用コンピューティングデバイス、または固有のコンピューティングデバイス、または固有のコンピューティングデバイスの特定の態様もしくは構成要素を含み得る。プロセスは、1つまたは複数のマイクロプロセッサ、マイクロコントローラ、埋め込みマイクロコントローラ、プログラマブルデジタル信号プロセッサ、または他のプログラマブルデバイスにおいて、内部メモリおよび/または外部メモリとともに実現され得る。プロセスはまた、または代わりに、特定用途向け集積回路、プログラマブルゲートアレイ、プログラマブルアレイ論理、または、電気信号を処理するように構成され得る任意の他のデバイスもしくはデバイスの組合せにおいて具現化され得る。プロセスの1つまたは複数は、機械可読媒体上で実行されることが可能なコンピュータ実行可能コードとして実現され得ることがさらに理解されるだろう。
【０１０８】
コンピュータ実行可能コードは、上記のデバイス、ならびに、プロセッサの異種の組合せ、プロセッサアーキテクチャ、または異なるハードウェアとソフトウェアの組合せ、またはプログラム命令を実行することが可能な任意の他の機械のうちの1つで実行するために、記憶され、コンパイルされ、または解釈され得る、Cなどの構造化プログラミング言語、C++などのオブジェクト指向プログラミング言語、または任意の他の高水準もしくは低水準プログラミング言語(アセンブリ言語、ハードウェア記述言語、およびデータベースプログラミング言語と技術)を使用して作成され得る。
【０１０９】
したがって、一態様では、上で説明された各方法およびそれらの組合せは、1つまたは複数のコンピューティングデバイス上で実行するとそれらのステップを実行するコンピュータ実行可能コードにおいて具現化され得る。別の態様では、方法は、それらのステップを実行するシステムにおいて具現化されることがあり、いくつかの方法でデバイスにわたって分散されることがあり、または機能のすべてが専用のスタンドアロンデバイスもしくは他のハードウェアに統合されることがある。別の態様では、上で説明されたプロセスと関連付けられるステップを実行するための手段は、上で説明されたハードウェアおよび/またはソフトウェアのいずれかを含み得る。すべてのそのような置換および組合せが、本開示の範囲内にあることが意図される。
【０１１０】
本発明のいくつかの実施形態が説明されたが、これらの実施形態は単なる例として提示されたものであり、本発明の範囲を限定することは意図されていない。実際に、本明細書において説明される新規性のある実施形態は、様々な他の形式で具現化され得る。さらに、本明細書において説明される実施形態の形式における様々な省略、置換、および変更が、本発明の範囲から逸脱することなく行われ得る。添付の特許請求の範囲およびそれらの均等物は、本発明の範囲および趣旨の範囲内にあるような形式および修正を包含することが意図される。
【符号の説明】
【０１１１】
2300  ユーザ側の多言語スクリプトエディタインターフェース
2302  エディタスクリプト出力(複数のユーザ側のスクリプト言語)
2304  複数のスクリプト言語固有のトランスレータ
2306  スクリプトトランスレータ出力
2308  スクリプティングエンジン
20000  システム
20100  抽出器
20200  変換器
20300  リファイナ
20400  マージャ
22000  自動化エンジニアリングシステム
23000  自動化設計マスターデータベース
30000  HIS
40000  ターゲットアプリケーションデータ
50000  ソースファイル
【図１】
2019008799.tif 000003
【図２】
2019008799.tif 000004
【図３】
2019008799.tif 000005
【図４Ａ】
2019008799.tif 000006
【図４Ｂ】
2019008799.tif 000007
【図５】
2019008799.tif 000008
【図６Ａ】
2019008799.tif 000009
【図６Ｂ】
2019008799.tif 000010
【図７】
2019008799.tif 000011
【図８】
2019008799.tif 000012
【図９】
2019008799.tif 000013
【図１０】
2019008799.tif 000014
【図１１】
2019008799.tif 000015
【図１２】
2019008799.tif 000016
【図１３】
2019008799.tif 000017
【図１４】
2019008799.tif 000018
【図１５】
2019008799.tif 000019
【図１６】
2019008799.tif 000020
【外国語明細書】
2019008799000001.pdf