問題タブ [historian]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonでヒストリアンからデータを簡単に抽出するにはどうすればよいですか?
私は Proficy Historian と Python の初心者です。私のアプリケーションの目的は、Proficy からデータを抽出することです。
GE (Proficy) Historian は仮想マシンServer Aにインストールされ、Python は別の VM にインストールされますServer B。
両方のサーバーが同じファイアウォールの下にあり、同じ VLAN にあるため、通信できます。
私は周りを見回そうとしましたが、データを抽出する最も簡単な方法はどれかわかりません... 何か助けはありますか?
opc-ua - TranslateBrowsePathsToNodeIds() Simatic ProcessHistorian を使用した OPC-UA メソッド
TranslateBrowsePathsToNodeIdsSimatic ProcessHistorian (Simatic PCS 7 バージョン 8.1) に対して OPC-UA クライアントを使用してメソッド (OPC-UA 標準の View Service Set で定義)を呼び出そうとしています。
UA-.NETからサンプル クライアントを使用してサーバーを参照すると、オブジェクト ルートの下に 2 つのノードが表示されます。
- サーバ
- プロセス ヒストリアン {7a3ea44f-b495-414c-84f9-7498095d43bd}
ノードの場合Server、メソッドは正常に機能しますが、ノードをツリーから下に移動する方法がわかりませんProcess Historian {7a3ea44f-b495-414c-84f9-7498095d43bd}(実際にはデータモデルです)。
コードは次のようになります (C#):
結果の StatusCode はBadNoMatchです。
relativePathパラメータは(Sample Client がその3:Process Historian {7a3ea44f-b495-414c-84f9-7498095d43bd}ノードの BrowseName として表示する値) です。3:namespaceId プレフィックスなしでも試してみましたが、違いはありませんでした。
Process Historian {7a3ea44f-b495-414c-84f9-7498095d43bd}ノードの NodeId をstartNodeIdパラメーターとして使用しようとすると、結果の StatusCode はBadNodeIdUnknown.
同じコードは、KEPServerEX や Aspen InfoPlus21 などの他の OPC-UA サーバーでもうまく機能します。コードが異なるべきなのか、それとも ProcessHistorian がサポートしていないだけなのかはわかりません。どんな助けでも感謝します。
編集:RelativePath @AndrewCullen が指摘したように、インスタンス
を取得する方法はいくつかあります。UA-.NETのコードを調べ、RelativePathオブジェクトのあらゆる側面を制御するコンストラクターを使用して作成も試みました。
OPC UA Part 04 - サービス(第 7.26 章) によると、 が指定されていない場合 (のコンストラクターのreferenceTypeId最初の引数)、すべての参照が含まれ、パラメーター includeSubtypes は無視されます。したがって、この構成は最も普遍的なものになるはずです (私が正しく理解している場合)。しかし、このアプローチはどちらも成功しませんでした。RelativePath
EDIT2:
Process Historian ノードのビュー ノード属性のアタッチ:
そして、実際に必要なのは、ブラウズ パスをタグに変換することです。1 つのサンプル タグの属性を次の図に示します。
そのため、次のようなパス3:Process Historian {7a3ea44f-b495-414c-84f9-7498095d43bd}/3:CMC/3:OSS1/3:OSS1_OSS1/3:ZAKLADAC/POC_VRSTEV.Vをその NodeId に解決する必要があります。別のキャッチがあるかもしれません-名前のスラッシュ-何とかエスケープする必要がありますか?
編集3:
OPCFoundation の GitHub にも issueとして登録されています
sql - SQLクエリで別々の時間間隔を同時に選択するにはどうすればよいですか?
以下は、私の SQL クエリのセクションです。表示された期間からデータを選択したい。「または」ステートメントに含める必要がある特定の日付範囲が多数あります。これが期待どおりに機能するようにクエリを変更するにはどうすればよいですか。
このクエリは Aspen SQLPlus で作成され、ヒストリアン データベースにアクセスしています。クエリを機能させるために、一時テーブルを作成し、そのテーブルにクエリを実行します。これが違いを生むかどうかはわかりませんが、注目に値します。
また、
うまく動作します。

