問題タブ [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.
c++ - プロトコル アダプタの実装方法
ソケット、opc、メッセージ キューなどを使用するためのユニバーサル インターフェイスをクライアントに提供できるアダプターを実装したいと考えています。つまり、上記の 3 つのプロトコルの API の使用方法を学ぶのは簡単なことではありません。
たとえば、クライアントが外部ソケット サーバーと通信したい場合、複雑な bsd-socket ではなく単純な API を使用する必要があるとします。
私が学ぶことができる既存の実装があるかどうかを知りたいです。ありがとう!
c - PLC (OPC クライアント サーバー Kepware) から MS Access、C への転送
私は PLC を使用するのはまったく初めてですが、OPC クライアント サーバーからデータを取得し、それを Access データベース テーブルに送信する必要があるプロジェクトがあります。OPCWriteGroupItems を除いたコードの大部分は、他の誰かからのものでした。OPCReadGroupItems から取得したデータを、関数 OPCWriteGroupItems の適切な変数に転送するときに迷ってしまいました。変数に読み込まれた値を取得したいだけです。ありがとう。参考までに、変数を正しく読み取るようにクエリステートメントを微調整する必要があることがわかっていますが、それは私が取り組んでいる別の問題です。これは、より差し迫った懸念事項です。
以下は、私が話した2つの機能です。
mercurial - Mercurial でエディターを指定する
一般に、タイプ W のカスタム ファイルがあり、カスタム アプリケーション/エディタ X を使用してそれを開き/表示したい場合、ファイルを編集/表示するときにアプリケーション X を呼び出すように Hg を設定するにはどうすればよいですか?
具体的な例: TortoiseHg を使用して、Kepserver と呼ばれる OPC サーバー アプリケーションであるカスタム アプリケーションによって作成された一連のファイルを追跡しています。Kepserver は .OPF ファイルを作成しますが、Hg はいつファイルが変更されたかを知ることができます。私は、Kepserver アプリケーションを使用して Hg Workbench からファイルを表示したいと考えています。
エディターを設定できる設定が表示されます。Kepserver アプリケーションへのパスを指定しましたが、ワークベンチでファイルをクリックすると、Kdiff3 を使用してバイナリ差分を実行しようとします。特定のリポジトリのエディターを指定するにはどうすればよいですか?
visual-studio - Visual Studio で実行すると DCom/OPC アプリケーションが接続しないが、.exe は完全に接続する
リモートサーバーに接続してデータなどを読み取るOPCクライアントを作成しています.advosolのBGServerクラスを使用しています。問題は、Visual Studio でプログラムを実行すると、グループの追加時に次のエラーが発生することです。
「HRESULT からの例外: 0x80040202」
私の問題は (http://stackoverflow.com/questions/5978721/opc-server-access-remotely-using-opcda-net-tools) に似ていますが、DCom 設定が正しく構成されていることはわかっています。 .exe をダブルクリックして同じコードに接続し、問題なくグループを追加できます。
したがって、ビジュアルスタジオが奇妙なユーザー/グループの下で実行されており、dcom 権限を台無しにしていると推測しています (主にコールバックを使用)。
編集:コード
c# - OPC XML DAサーバーでのシリアル化の問題:タイプこのコンテキストでは使用できません
C#を使用してデモ用のOPCXMLDAサーバーを構築しようとしています。開発は進行中ですが、アレイに関するシリアル化の問題で立ち往生しています。どうやら、ItemProperty.Value(Object型)をbyte []以外の任意の種類の配列に設定しようとすると、次の例外が発生します。
System.InvalidOperationException:タイプ<ArrayType>はこのコンテキストでは使用できません。
例外をトリガーするサンプルのGetProperties()メソッドの内容は次のとおりです。
フルスタックトレース(イタリア語)
私はすでにwsdl.exeによって生成されたサービススケルトンをプロジェクトに含めており、配列以外の値についてはまったく問題がありません。私のプロジェクトのターゲットフレームワークは.NET4.0です(ただし、3.5でも同じ問題が発生します)。
私の推測では、このメソッドはサービススケルトンのXmlIncludeAttribute()デコレータではうまく機能していません。それを機能させる方法についての手がかりはありますか?
お時間をいただきありがとうございます。
編集:XmlIncludeAttribute(typeof(int []))デコレータをGetProperties()メソッドに追加しようとしましたが(デコレータは継承できないと思います)、例外は発生しません。ただし、クライアントは基になるデータを適切に逆シリアル化できません。シリアル化解除後にクライアント(VB.NETで記述)から取得するのは、int[]ではなくXmlNode参照です。データはそこにありますが、適切にシリアル化されていません。
これは予想される動作ですか?それはクライアントの問題でしょうか?
opc - データヒストリアンを実装する方法は?
友人から、データヒストリアンを実装できるかどうか尋ねられました。私は調査を行ったり、グーグルで調べたり、UPC Unified Architectureを読んだりするのに忙しいのですが、やり遂げるのは大変なので、ここにいる誰かが(まだ調査を続けながら)その道を進んだことがあるかどうか尋ねます。
20年以上の開発者(または2人)が少なくとも実証可能な実用的なプロトタイプを入手するのにおよそ何ヶ月かかりますか?そして完了するまでにどれくらいの時間がかかりますか?
どのプログラミング言語?C ++は良いですか、それとも何ですか?
どのようなリソースを利用できますか?(私はOpen OPCフレームワークを見たと思いましたが、それを再び見つけることができません)。私がベースにできるFOSS、ライブラリ、または無料のコードはありますか?多分sourceForgeプロジェクト?
どのようにテストするのが最善ですか?
他のヒントはありますか?
oracle - コードを続行するために、特定の条件が満たされるまでプロシージャを待機させるにはどうすればよいですか?
私は OPC クライアントに取り組んでいます。このクライアントは、プロシージャを呼び出します。プロシージャは、1 つの「キュー」テーブルにいくつかの行を挿入します。
このクライアントには別のスレッドもあり、「キュー」テーブルを時々開き、テーブル内の項目に基づいて OPC 項目の値を更新します。各値を更新した後、スレッドは「キュー」テーブルから行をクリアします。
私が望むのは、プロシージャを呼び出し、値をキューに挿入し、他のスレッドが挿入した値をクリアするまで待機して、何か他のことを行うことです。
これは何らかの形で可能ですか?他の言語では、Sleep() で while ループのようなものを使用して、ループを終了するまで行がクリアされたかどうかをテストすることを考えています。
洞察をありがとう
-編集:
もう少し明確にしようと思います:
「INSERT」、「UPDATE」、「FINAL PROCESSING」の 3 つの異なるジョブ タイプがあるとします。
「INSERT」タイプのさまざまなジョブを多数持つことができ、それぞれが一意の ID でキューに挿入されます。
「UPDATE」ジョブは 1 つだけで、常にキューを読み取ってクリアします。
「INSERT」と同じように、そのタイプのジョブも複数あるため、「FINAL PROCESSING」の部分で立ち往生しています。
そのINSERT IDを持つすべての行が「UPDATE」によってクリアされた後、「INSERT ID」にリンクされている正しい「FINAL PROCESSING」ジョブをトリガーする方法がわかりません。
私の「UPDATE」ジョブが「ID = 1」のすべての行をクリアしたとします。ID=1 の最後の行がクリアされたら、FinalProcessingID1 というプロシージャをトリガーする必要があります。ID=2 を全てクリアした場合も同様です。
opc - OPC UAは、多くのScadaシステムからデータを取得するための最良の方法ですか?
私の会社には多くの分散サイトがあり、それぞれが単一のScadaシステムベンダーを使用しており(1つはWinccを使用し、他の場所は別の場所を使用しています...)、このシステムはほぼ同じ種類の情報で動作します。
これらのシステムからいくつかの一般的なデータを取得する必要があるため、OPCUAがそれを処理できるかどうかを知りたいと思います。
Webサービスを介してScadaシステムからクライアントにデータを取得するOPCUAサーバーを購入または開発することは可能ですか?
java - テストおよびデバッグ用のオンライン無料 OPC サーバー
Java を使用してプロセス制御プロトコルの OLE を調査するつもりです。私の問題は、テストデータの送信/取得用の OPC サーバーを見つけることです。OS X ユーザーとして、ローカルにインストールできる opc サーバーが見つかりません。したがって、私の考えは、外部サーバーを見つけてテストデータを取得することでしたか? それは可能ですか、または誰かがより良いアイデアを提案できますか?
vb6 - シーメンス OPC クライアントの VB6 コードの例?
古い VB6 プロジェクトを更新して、リモート OPC サーバーとの通信を有効にしようとしています。Siemens ツールキットをインストールしましたが、VB6 での使用方法に関する有用なドキュメントが見つかりません。(C#で動作)
アプリケーションは非常に簡単です。リモートサーバーに接続して、単一のアドレスを読み書きするだけです。
通信を処理すると思われる DatCon OCX コントロールを見つけましたが、手動で入力しようとしたすべての ServerName 値が機能しませんでした。
誰でも助けることができますか?