問題タブ [opc-ua]

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.

0 投票する
2 に答える
6290 参照

web-services - OPC UA と REST Web サービスの違い

OPC UA と REST Web サービスの違いは何ですか。

0 投票する
1 に答える
2036 参照

c# - OPC UA サーバーでノードを更新する方法

新しい質問があります: OPC UA サーバーでノードを更新する方法 - C#?

EmptyNodeManager.cs の CreateAddressSpace にノードを作成しました。すべて正常に動作しますが、実際のノードで値が変化すると、クライアントは変化を観察しません。

下にコードがあります:

0 投票する
1 に答える
2034 参照

opc - OPC UA - クライアント - Milo - ベスト プラクティス - データ変更へのサブスクリプション

OPC UA クライアントを作成するために、Milo プロジェクトを使用して OPC UA プロジェクトを開始しました。私はまだOPC UAの初心者です。現在、特定のノードのデータ変更後に複数のノードから値を読み取るためのベスト プラクティスを探しています。

情報モデルは次のようになります

私のサーバーには、この RfidSensorType のオブジェクトがいくつかあります。クライアントは、CurrentAtTag ノードでサブスクリプションを作成して、データの変更をリッスンします。

私の質問: CurrentAtTag の値が変更されると、UaMonitoredItem と CurrentAtTag の DataValue を含むコールバック関数がクライアントで呼び出されます。私のアプリケーションでは、その時点で変更される Station、IOLPort、および CurrentValue の値も (同時に) 処理する必要があります。CurrentAtTag からのコールバック内でこれらの値にアクセスするにはどうすればよいですか?

私の唯一の解決策は、そのコールバック内で同期読み取り要求を使用することです->それは正当なアプローチですか?

私の調査: 1) TriggeringService TriggerigService が存在することを確認しました。これは、特定のノードが値を変更した場合にのみアイテムを監視してレポートを送信します。問題: これにより、複数のコールバックが呼び出され、1 つだけ noz が呼び出されます。それらをさらに処理するには、すべての情報が同時に必要です。

2) イベント監視 イベント監視では、イベント通知ごとに返される「イベント フィールド」を選択できます。CurrentAtTag、Station、IOLPort、および CurrentValue を選択できるかどうかわかりません...

0 投票する
1 に答える
865 参照

node.js - node-opcua サブスクリプションの優先順位を使用するには?

node-opcua のクライアント サブスクリプションには、 というオプションがありますpriority。数値フィールドです。Priotity=1のサブスクリプションの優先度が高くなるか低くなるかわかりませんPriority=10

ソース コードのデフォルトの優先度は です1。それは最低ですか、それとも最高ですか?1、10、100、どちらが優先されますか?

0 投票する
2 に答える
3741 参照

node.js - node-opcua を使用して OPC DA サーバーから読み取るには?

のリポジトリページにnode-opcuaは、サポートされていると書かれていますDataAccess。しかし、OPC DA サーバーに接続してデータを読み取る例は見つかりませんでした。

これまでのところ、 server_with_da_variablesの例を試しました。sample_clientを使用してそのデータを読み取ることができました。

OPC UAサーバーへの接続方法と同じですか?エンドポイント URL を使用してセッションを作成し、NodeId を使用して読み取りますか、それとも手順が異なりますか?

0 投票する
1 に答える
1017 参照

opc - OPC UA クライアント - タグ グループが空でない場合に空として表示される

OPC タグのクエリと読み取りを可能にする UA クライアント DLL を作成しています。私は以前に DA バージョンを書いたことがありますが、今は時代とともに動き、DCOM 地獄の穴を放っておく時が来ました。

すべて順調に進んでいますが、OPC プロジェクトで有効であることがわかっている特定のタグを参照できないことに気付きました。これらのタグのいずれかのコンテナ ノードをブラウザで検索すると、ノードが含まれておらず、例外がスローされると報告されますが、含まれるグループとタグは DA プロセスで参照できます。OPC Foundation が提供するサンプル UA クライアント アプリでさえ、これらのタグをリストしていません。たとえば、以下を参照してください。

問題のタググループは「TKPlant.CL535E.Global.iaHomg_Press」です。

Kepware では、グループには次の 6 つのタグがあります。

Kepware のスクリーン ショット

OPC Quick Client では、タグの状態と値は.... (すべて問題ありません)

OPCクイッククライアント

しかし、UA Client Sample App では、ブラウズすると次のように表示されます。

UA サンプル クライアント

このグループにはノードが存在しないことがわかります。ノードのプロパティは次のとおりです。

ここに画像の説明を入力

これを同様のグループと比較してください。

ここに画像の説明を入力

そして、このグループのプロパティ:

グループのプロパティ

違いはわかりませんが、UA Sample Client の結果はブラウズ機能と同じようです。グループ内にタグが表示されません。

UA クライアントは、これはグループとしてではなく、それ自体がタグであると考えていると思います。しかし、このプロジェクトは実際に現場で稼働しています。不思議なことに、Quick Client のスクリーンショットを見ると、グループ自体が表示され、値が与えられています???? -

タグ グループに値があります

これはおそらくロングショットだと思いますが、UAを使用してアクセスすると、タグを持っているこのグループが空として表示される理由を誰か知っていますか?

ありがとう

スティーブ

0 投票する
3 に答える
3742 参照

opc - OPC UA サーバーからデータ型を読み取る方法

私はこれを理解できないようです:

タグに書き込む前に、期待されるデータ型を知る必要があります (mywrite 関数が受け取る値は常に文字列です)。

サーバーからデータ型を読み取る必要があることはわかっています。これを行うためのコードを次に示しますが、返された情報を使用する方法について途方に暮れています。

valデータ型を判別するにはどうすればよいですか?

Val.Valueor Val.WrappedValueorを使用しますかVal.WrappedValue.Value(違いは何ですか?)

テストに使っていたタグが戻ってきました Val = "i=6".....

これは何を指していますか?

「6」とはどのようなデータ型で、

val を使用できるものに変換するにはどうすればよいですか。

どんな助けでも大歓迎です。

ありがとう

0 投票する
1 に答える
2602 参照

java - Java OPC-UA クライアントの Eclipse Milo エンドポイント URL が localhost に変更される

Java OPC-UA クライアントEclipse Miloを使用しています。サーバーのエンドポイント URL を使用してセッションを作成するたびに、メソッドUaTcpStackClient.getEndpoints()は URL を に変更しますlocalhost

ただし、接続に失敗した結果の値がendpoint.getEndpointUrl()返されます。opc.tcp://127.0.0.1:4880/

OPC URL が変更される理由がわかりません。

0 投票する
1 に答える
135 参照

java - Java Opc-UaClient Eclipse Milo のスケジューリングが機能しない

EJB で OPC UA クライアントを使用しているときに奇妙な問題に直面しています。

一定の間隔で OPC サーバーと通信するバックグラウンド サービスを作成する必要があります。EJB でのスケジューリングに Quartz API を使用しています。

スケジューリングは正しく機能していますが、ClientExample を実装するクラスを使用して OPCUA サーバーを呼び出すと、データを 2 回しか取得できません。

3 回目の呼び出しでエラーが発生し、サーバーの自動シャットダウンが発生します。

これについて私を案内してください。

0 投票する
0 に答える
256 参照

java - Java OPC UA org.eclipse.milo.examples.client.ClientExampleRunner エラー

org.eclipse.milo ライブラリを使用して Java で OPC UA サーバーと通信しています。サーバーと通信してデータを取得できます。しかし、ログでは、OPC UA サーバーとの通信の間に以下の例外を確認できます。

私も Quartz API を使用しています。以下は例外です