問題タブ [opc-da]

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 投票する
1 に答える
18419 参照

permissions - DCOM / COM セキュリティ設定の違いは何を意味しますか?

私たちのアプリケーションは COM と DCOM を広範囲に使用しているため、その一環として、COM セキュリティ権限が正しく設定されていることを確認する必要があります。コンポーネント サービス MMC スナップインでこれらのアクセス許可にアクセスできること、およびコンピューターのプロパティ ページで既定値/制限を設定できることを知っています。

マイ コンピュータのプロパティ ページのスクリーンショット

そして、DCOM Config ノードの下で、ドリルダウンして個々のアプリケーションのセキュリティ権限を設定できます

Logger アプリケーションのプロパティ ページのスクリーンショット

また、「デフォルト」(アプリケーションごとに権限が明示的に設定されていない限り、DCOM アプリケーションが使用するもの) と「制限」(アプリケーションごとの設定がこれらの設定を超えた場合でも適用される権限) の間の関係も理解していますが、設定できるさまざまな設定の違いがわかりません (ドキュメントが見つかりません)

  • 「アクセス」、「起動」、「アクティベーション」、および「構成」権限の違いは何ですか?
  • これらの設定は COM アプリケーションに影響しますか、それとも DCOM アプリケーションのみに影響しますか?
  • リモート DCOM を使用している場合、サーバーとクライアントの両方にアクセス許可を設定する必要がありますか? それともクライアントだけに設定する必要がありますか?
  • 上記を説明するドキュメントはありますか?
0 投票する
1 に答える
984 参照

c# - OPC Da Write Bit in Word

OPC DA Automation Wrapper を使用して AllenBradley PLC に接続しています。

他のビットとは独立して、ワード内にビットを設定する必要があります。

この機能を厳密に達成できる方法はありますか?

私が試した2つのオプションは次のとおりです。

OPC サーバー (Kepware) で単語を個別のビットとしてセットアップします。言い換えれば、16 個のタグがあり、それぞれのタグ名は次のようになります。

ただし、これは、多くの個別の OPCItem オブジェクトを保持する必要があることを意味します

もう 1 つの方法は、ワード全体を読み取り、 を使用してビットに変換しBitConverter、変更する必要があるビットを変更してから、保留ワードを PLC に書き戻すことです。

ただし、テスト中に、スレッド 1 が単語を読み取ることができることがわかりました。スレッド 2 はワードに書き込み、たとえばビット 2 を変更します。次にスレッド 1 がビット 4 を変更し、ワード全体を書き戻すと、ビット 2 への変更が上書きされます。

単一の OPCItem を使用して特定のビットに書き込む方法を知っている人はいますか?? それとも、特定のビットに関連する OPCItems がたくさんあることに固執していますか??

ありがとう

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

c# - リモート OPC サーバーへの接続方法

LAN 内のリモート PC にある OPC サーバーに接続しようとしています。ここにコードがあります

192.168.1.5リモート PC の IP です。リモートPCにはユーザー名とパスワードが含まれているため、接続するリモートPCのユーザー名とパスワードをどこに置くことができるかを知りたいです。

ありがとう

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

c# - OPC から値を読み取る方法

Interop.OPCAutomation.dllを使用して OPC サーバーから値を読み取ろうとしています。

このコードは OPC サーバーから値を返しません。この行でエラーが発生しています

エラー

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

c# - 複数の OPC 値を取得する

OPC サーバーから複数の値を取得するコードを次に示します。

コードでわかるように、私は 47 の値を取得しようとしていますif (Convert.ToInt32(ClientHandles.GetValue(count)) == 47)ClientHandle、これ以外の値を取得するたびに. すべての値を出力したところ、 の値47がランダムな場所にあることがわかりました。なぜランダムになるのかわかりませんか?

47 位の値は、その位だけに来るはずです。これは、OPC サーバーから複数の値を取得する良い方法ですか?

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

c# - イベントでの C# マルチスレッド

イベントが呼び出されるプログラムを作成しています。ここにコードがあります

この構文では、子スレッドから呼び出されるため、MessageBox.Show(Thread.CurrentThread.Name,"Alert");表示されることを期待していましたが、表示されています。イベントがメイン スレッドで実行されているのに、子スレッドでは実行されていないのはなぜですか?ChildMain

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

c# - OPC DataChangeEventHandler が呼び出されていません

以下は、OPC 値を読み取るために使用したコードです。

問題は、OPC タグの変更が発生するたびDIOPCGroupEvent_DataChangeEventHandlerにメソッドを呼び出す必要があることですが、メソッドは 3 ~ 4 回しか呼び出されません。opcGroup_DataChangeそれ以降は呼び出しません。変更が発生しても、メソッドは呼び出されません。

このコードの何が問題になっていますか?