問題タブ [milo]
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.
java - 構成 OPC UA サーバー (Milo)?
Eclipse Milo Project ( https://projects.eclipse.org/proposals/milo )をチェックアウトしました。これは、OPC スタックが実装されていても、「オープンな」OPC UA クライアント/サーバーにとって素晴らしいプロジェクトのようです。github のプロジェクト ( https://github.com/eclipse/milo ) には、OPC サーバーが開始され、サンプル ノードがクライアントから送受信される Hello World の例が含まれています。すべてがうまくいきます!
しかし、次のステップでは、サーバーが正しく構成されているかどうかを確認したいと思いました。したがって、Matrikon Explorer をインストールしましたが、Explorer は起動直後に「このマシンに OPC サーバーがインストールされていません」と表示します (もちろん、実行中の OPC サーバーを使用した Hello World の例は実行中です)。
また、SAP Plant ConnectivityがOPCサーバーを認識しているかどうか(これが私のプロジェクトの目標です)->「システム/ローカルホストにOPCサーバーが見つかりません」
問題はどこにありますか?サーバーを正しくインストールして構成するには、どうすればよいですか?
Hello World の例を次に示します。
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 を選択できるかどうかわかりません...
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 が変更される理由がわかりません。
opc-ua - マイルでの requestedPublishingInterval とはどういう意味ですか?
milo に基づく OPC-UA クライアントの実装では、多くのサブスクリプションが必要です。したがって、次の例を使用しました。
しかし、requestedPublishingInterval の 1000.0 は何を
UaSubscription subscription = client.getSubscriptionManager().createSubscription(1000.0).get();
意味するのでしょうか?
さらに、パラメーター_samplingInterval
inはどこをMonitoringParameters
表していますか?
ありがとうございました!
opc-ua - milo OPCUA でフィルタリングするための ExtensionObject を作成するには?
サブスクリプションのフィルターを定義しようとしていますが、必要なフィルターを作成する方法がわかりませんExtensionObject
。ByteString
欠落しているかのいずれかXmlElement
ですが、いずれかを入手する方法や場所がわかりません。ByteString
を使用するとnull
、サーバーに接続しません。
「???」には何を挿入しますか 私のコードで?
ありがとうございました!
java - opc UAサーバーの再起動時にEclipse miloセッションが作成されない
OPC 実装用のアプリで eclipse milo Java OPCUA クライアント SDK を使用しています。セッション、サブスクリプション、およびモニターを作成できます。正常に動作していますが、opc サーバーが再起動し、以前のセッションを削除して同じパラメーターで新しいセッションを作成しようとすると、次の例外が発生します。
UaException: ステータス = Bad_Timeout、メッセージ = 承認待ちでタイムアウト
エラーをスローする行は次のとおりです。
EndpointDescription[] エンドポイント = UaTcpStackClient.getEndpoints(endpointurl).get();
サーバー側でエラーが発生します:
OPCUAServerEndPoint#_on_client_connection 最大接続数に達しました - 接続が拒否されました
ただし、同じパラメーターでセッションを再度作成しようとすると、作成されます