問題タブ [qtopcua]

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

android - QT モバイルの OPC UA サポート

iOSおよびAndroid用のOPC UAクライアントのオプションを検討していました。AndroidとiOSでネイティブに利用できるソリューションがいくつかあることがわかりました

この点で「QTモバイル」について考えている人はいますか?QT には「OPC UA」のサポートが組み込まれていますか。QT mobile に関する情報が限られているため、このトピックに関する詳細を見つけることができませんでした。

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

opc-ua - Node Opcua / QtOpcUa - メソッド呼び出し

QtOpcUa クライアント ライブラリを使用して Qt アプリケーションに接続するノード OPC サーバーがあります。

私のサーバーでは、HDA サポートがまだ利用できないため、基本的に大雑把な履歴アクセス リクエストであるメソッドを定義します。start_date と end_date を受け取り、配列で返す関連値をデータベースにクエリします。

次のようになります。

Prosys などのクライアントでこれを確認し、問題なく動作するメソッドを呼び出すことができます。

Prosysスクリーングラブ

ただし、Qt からこのメソッドを呼び出すことはできないようです。引数と結果ハンドラーのパッケージ化を省略しました (受信したパラメーターをリストするだけです)。

痕跡:

また、他のクライアントでもメソッドを見つけることができないようです。これは、電話の OPC UA クライアント アプリケーションからのもので、Trends オブジェクトの下には何も表示されません。

OPC UA クライアント アプリ

他のすべてにアクセスできるようです。変数をリクエストし、監視をすべて正常にセットアップできます。

ここに欠けているものはありますか、それとも QtOpcUa や他のクライアントの問題ですか?

入力引数と出力引数をキャプチャする代わりに変数を作成し、メソッド呼び出しを表すブール値を作成することでこれを回避できますが、すべてを単一のメソッドに結び付ける方がずっときれいです。

ありがとう

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

qt - Qt QOpcUaNode writeAttribute: サブスクリプションのエラー/クライアントの非アクティブ

Qt に問題があります。open 6254 で QOpcUa を使用して PLC でタグの読み取りと書き込みを行っていますが、次のエラーが発生することがあります。問題を特定しました。これは、PLC がこのタグに同時に書き込みを行っているために発生します。書き込む前にタグが利用可能かどうかを確認する方法があれば教えてください。

この件については既に学習済みで、StatusCode や monitoringStatus などの機能がありますが、適切に使用できません。

執筆時点でタグが利用できない場合、次のエラーが発生します: [2019-08-30 09:07:07.019 (UTC+0100)] エラー/サブスクリプション 36 のクライアントの非アクティブ。

  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 35 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 36 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 35 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 34 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 33 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 32 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 31 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 30 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 29 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 28 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 27 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 26 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 25 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 24 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 23 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 22 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 21 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 20 のエラー/クライアントの非アクティブ。
  • [2019-08-30 09:07:07.019 (UTC+0100)] サブスクリプション 19 のエラー/クライアントの非アクティブ。
  • 09:07:07: プログラムが予期せず終了しました。
  • 09:07:07: プロセスが強制終了されました。
0 投票する
0 に答える
53 参照

qt - AttributeRead は QOpcUaNode によって送信されず、ノードを読み取ることはできませんが、書き込むことはできます

Qt でプログラムを作成しており、QOpcUaNode クラスを使用しています。ここまでは、writeAttribute を使用して OPC に書き込むだけで済みましたが、問題なく動作しました (私のノードは、私が見る限り正しくセットアップされていることを意味します)。ここで、ノードに保存されている情報も読み取る必要がありますが、それを機能させることができず、qDebug() を使用して属性を表示しようとすると、常に QVariant(Invalid) を受け取ります。

ドキュメントで読んだことから、ノードを読み取る前に、信号 attributeRead を発行する必要があります。このシグナルを発行するために、readAttributes(QOpcUa::NodeAttribute::Value) と readValueAttribute() という 2 つの異なる方法を試しました。コードは次のとおりです。Flow は QOpcUaNode* で、m_custom はクラスの bool メンバーであり、最初は false に設定されています。

custom は単に m_custom = true; を実行するスロットです。プログラムをコンパイルして開始すると、これらの行に到達すると、iの値が上がり、停止することはありません。つまり、シグナルが送信されないことを意味します。私は最初に while ループなしで試してみました。待機せずに値を読み取るだけで、QVariant(Invalid) を受け取りました...

Flow ->writeAttribute(QOpcUa::NodeAttribute::Value, true ,QOpcUa::Types::Boolean); を使用して書き込みます。すべてが正常に動作します。

誰かがこれで私を助けてくれますか?