問題タブ [opc]

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 に答える
926 参照

c# - 「タイプ 'OpcCom.Factory' のオブジェクトをタイプ 'Opc.IFactory' にキャストできません」というエラーが表示されるのはなぜですか?

Visual Studio 2012 で OPC Foundation .NET API を使用しています。接続しようとすると、次のエラーが発生します。

タイプ「OpcCom.Factory」のオブジェクトをタイプ「Opc.IFactory」にキャストできません

...new Opc.Da.Server(このコードの命令で:

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

opc - OPC アイテムがサーバーで作成されない

ofs opc サーバーに接続する opc クライアントを作成しようとしています。

クライアントのコードは次のとおりです。

このコードは、サーバーにグループを正常に作成しますが、アイテムの作成に失敗し、エラーは発生しません。

'''

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

networking - OPC サーバーへの接続アボートの処理方法

opc サーバーに接続し、サブスクリプションを作成してデータの変更に関する通知を受け取るライブラリを作成しました。opc サーバーがシャットダウンしようとしているときに発生するイベントもあります。OPC .NET API と C# を使用しています。

ネットワーク障害 (サーバーのクラッシュ、ケーブルの抜き差し) による接続の中断を処理するにはどうすればよいですか?

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

c# - C# を使用してリモート マシンでアプリケーションをリモート起動する

お願いします、

私はどうしても助けが必要です。リニアモーターを制御および監視できるようにするために、TCP データパケット (C#) を OPC サーバーに送信する方法を見つけようとしています。簡単な解決策は、リモート コンピューターで OPC サーバーのアプリケーション (exe.file) を起動することです。しかし、C# を使用してアプリケーションをリモートで起動する方法がわかりません。誰か助けてくれませんか?

前もって感謝します。

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

client-server - OPC サーバーとのハンドシェーク

Interop.OPCAutomation.DLL (OPC DA Automation Wrapper 2.02) を使用し、リモート I/O と通信するように構成されたKepware サーバーに接続しています。すべてが機能している場合、クライアントは通信を正常に処理しますが、接続が失われたかどうか (マシンのイーサネット ケーブルが抜かれているなど) を判断するほどスマートではありません。

リモート I/O ステータスを取得するための唯一の選択肢は、ConnectedGroup_DataChange にサブスクライブして OPC アイテムの品質情報を監視することだと思いますが、もっと簡単な方法はありますか? 「-ping-こんにちはリモート I/O、まだそこにいますか?」のようなものです。

同様に、サーバーが稼働しているかどうか、または存在するかどうかを確認する方法が必要です( -ping-サーバーはありますか?) 現状では、ハンドシェイクは一切なく、クライアントは 2 つの単純な行でサーバーに接続します。 :

サーバーの状態を返す関数を作成しましたが、KEPServerEX を終了した後でも常に 1 を返すようです。編集:プログラムを終了しても、実際にはサーバーが閉じられないことがわかりました。sysinternals スイートの Process Explorer を使用して、サーバーを見つけて中断しました。そうすることで、アプリケーションが .Connect 行でハングアップしました。実際に接続するまでサーバーの状態を取得することはできません。接続を試みる前にサーバーが存在するかどうかを確認するにはどうすればよいですか?


アップデート

最終プロジェクトの関連部分を共有すると思いました。C# で新しい Interop.OPCAutomation dll ラッパー クラスを作成することになりました。

OPCAutomation dll の COM オブジェクトの性質により、通信に問題が発生すると、例外がスローされます。そのため、OPC 通信クラスのすべての関数に例外キャッチを実装しました。特定のエラー メッセージを探し、それに応じて対処します。
簡単に回復できる愚かな何かのためにアプリケーションをクラッシュさせるよりも優れています。
ServerState の場合、メッセージが何であるかは気にしないので、例外オブジェクトをキャッチしません。

これが私のステータス関数です:

ご覧のとおり、「int state」は常に「1」を返すか、例外をスローするため、わざわざ何もしません。

私はすべての OPC 通信をスレッド上で行っているため、ロギング イベントをメイン スレッドに報告するスレッド セーフな方法を実装しました。

それでおしまい。それが誰かを助けることを願っています。

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

c# - Opc.Ua.ModelCompiler.exe はどこにありますか?

私は ac# OPC UA サーバーを開発しています。OPC UA 1.02 .NET スタックとサンプル アプリケーションが提供される「UA サンプル サーバー」プロジェクトに基づいてサーバーを構築しています。

サーバー モデルを生成するには、SDK で提供されていない Opc.Ua.ModelCompiler.exe という実行可能ファイルを実行する必要があるようです。(ファイル「BuildDesign.bat」でそれを見つけました)。

「OPC UA SDK 1.01 Redistributables Setup」と「OPC UA SDK 1.01 COM Interop Components Setup」をインストールしようとしましたが、まだディスク上にその実行可能ファイルが見つかりません。

その実行可能ファイルがどこにあるか知っている人はいますか?

(私たちはOPCFundationの法人会員です)

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

opc - OPC UA 履歴データ アクセス - イベント履歴

履歴データ アクセス、より正確にはデータおよびイベント履歴をサポートする現在利用可能な OPC UA クライアントがあるかどうかを知りたいです。

Unified Automation の UA Expert は、最も高度な OPC UA クライアントの 1 つであるように見えますが、イベントではなくデータの履歴化のみをサポートしています。

両方を実行できる、より優れた OPC UA クライアントがあるのではないかと思います。