OPCUAサーバーの​EndpointUr​lのポートがプログラ​ムで指定したポートと​ずれる原因を教えてく​ださい

1 view (last 30 days)
千仁
千仁 on 30 Jan 2025
Edited: 千仁 on 5 Feb 2025
MATLABで、下記のプログラムを実行しました。
uaserver = opcua('opc.tcp://abcde:51311');
connect(uaserver,'username','password');
作成されたクライアント変数の中身は以下のようになりました。
Hostname: 'abcde'
Port: 51311
EndpointUrl: 'opc.tcp://Devicegateway:51310'
EndpointUrlのポート番号がプログラムで設定した値と異なるため、所望の信号の値を取得することができません。
原因は何でしょうか?

Answers (1)

Kojiro Saito
Kojiro Saito on 31 Jan 2025
OPCのエンドポイントが複数あるためにEndpointUrlが指定したポート番号と異なるのかと思われます。
opcuaserverinfo 関数を使ってエンドポイントの情報を動的に取得する方法を試してみてはいかがでしょうか?
serverInfo = opcuaserverinfo("abcde");
uaserver = opcua(serverInfo(1)); % またはserverInfo(2)
connect(uaserver,'username','password');
  1 Comment
千仁
千仁 on 5 Feb 2025
Edited: 千仁 on 5 Feb 2025
ご回答いただきありがとうございました。
serverInfo = opcuaserverinfo("abcde");
こちらを実行しても、1つの情報しか取得できず(serverInfo(2)が存在しない)、こちらのポートが51310となっていました。
MATLAB側で、"abcde"のエンドポイントとしてポート51310しか認識していないように考えられるのですが、何か設定することによりポート51311も認識させることは可能でしょうか?

Sign in to comment.

Products


Release

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!