2016-08-08 20 views
2

Eclipse Miloプロジェクト(https://projects.eclipse.org/proposals/milo)をチェックアウトしました。これは、OPCスタックが実装されていても、「オープン」OPC UAクライアント/サーバーの素晴らしいプロジェクトのようです。 github(https://github.com/eclipse/milo)のプロジェクトには、OPCサーバーが起動され、クライアントからサンプルノードが送受信されるHello Worldの例が含まれています。すべてうまく動作します!設定OPC UAサーバ(Milo)?

私の次のステップでは、サーバーが正しく構成されているかどうかを確認したいと考えました。したがって、私はMatrikon Explorerをインストールしましたが、エクスプローラは起動直後(実行中のOPCサーバーを使用したhello worldの例はもちろんですが)、「このマシンにインストールされているOPCサーバーはありません」と述べています。

SAPプラント接続が(私のプロジェクトの目標である)OPCサーバを認識している場合、また、チェックする - >私の問題である

、私は何を「あなたのシステムにはOPCサーバ/ localhostのが見つかりません」サーバーを正しくインストールして構成する必要がありますか?

ここでHello Worldの例です:

public static void main(String[] args) throws Exception { 
    // Start server 

    int port = 12686; 
    String serverName = "test-server"; 
    OpcUaServerConfig serverConfig = OpcUaServerConfig.builder() 
     .setBindPort(port) 
     .setCertificateManager(new DefaultCertificateManager()) 
     .setCertificateValidator(new DefaultCertificateValidator(createTempDir())) 
     .setServerName(serverName) 
     .setUserTokenPolicies(singletonList(USER_TOKEN_POLICY_ANONYMOUS)) 
     .build(); 

    OpcUaServer server = new OpcUaServer(serverConfig); 

    server.getNamespaceManager().registerAndAdd(
     "urn:eclipse:milo:opcua:test-namespace", 
     idx -> new HelloNamespace()); 

    server.startup(); 

    while(true){ 
     System.out.println("server running"); 
    } 
} 

答えて

2

MATRIKON Explorerは、OPC-COM/DAクライアントであり、そしておそらく登録COMクライアントを見つけるためにOPCのEnumサービスに問い合わせています。

OPC-UAは、完全に異なる、プラットフォームに依存しない技術です。登録の概念はまだ存在しますが、デフォルトでは強制されません。

UaExpertのようなOPC-UAクライアントを使用して接続してみてください。あなたがコピーした設定が与えられたら、エンドポイントのURLでUaExpertを指し示すことになります。opc.tcp:// localhost:12686/test-server

私は接続したら問題が発生すると思います部分的に実装された "hello world"名前空間。私は、今週コミットした完全に使える名前空間の例を確実に取得します。

OpcUaClientIT統合テストクラスでは、さまざまなクライアント機能とサーバー設定の別の例を参照することもできます。

+0

非常に迅速かつ有益な答えをありがとう。ご存知の通り、私はOPCアーキテクチャの初心者です。現在、OPC-COM/DAとOPC-UAの関係についていくつかの調査を行っています。 – Martin

+0

...現在の問題:OPCサーバをSAP Plannt Connectivityのソースシステムとして設定しました。システム)。私はServer Endpointを "opc.tcp:// localhost:12686/test-server"として設定しました。接続をテストすることで、サーバーは認識されたように見えますが、「サーバーは、セキュアなチャネルを作成するために使用されたものと一致するEndpointDescriptionを返しませんでした」と述べています。 Milo Server Configurationに問題があるのですか、SAP側で問題が発生する可能性は高いですか?あなたはこの種のエラーを知っていますか、それを修正するための提案がありますか? – Martin

+0

このようなエラーは、通常どちらの側でも修正できます。基本的には、exampleをlocalhostにバインドするように設定していますが、SAPは別のIPアドレスを使用して接続しています。場合によっては、使用する外部IPがバインドできないリモートサーバーに接続しているときなど、これは回避できません。この場合、おそらくMiloの設定を変更して、追加するアドレスをバインドすることができます。サーバ設定をビルドするときに 'setBindAddresses'を呼び出します。 –

関連する問題