2016-07-27 9 views
0

ethernet modbus tcpで接続に問題があります。 AndroidManifestにアクセス許可を挿入します。 私はタスクを作成したり、Modbusを接続して読み込んでいます。 jamodライブラリを使用しています。Modbus TCPを接続していません

アプリケーションを起動すると、接続に失敗したというエラーが表示されます。

は私が使用してこの私のコード:

class Task implements Runnable { 

    @ 
    Override 

    public void run() { 

     try { 
      ReadMultipleRegistersResponse result = null; 

      //Read And Write Register Sample 
      int port = Modbus.DEFAULT_PORT; 
      String refe = "4000"; //HEX Address 
      int ref = Integer.parseInt(refe, 16); //Hex to int   
      int count = 98; //the number Address to read 
      int SlaveAddr = 1; 
      String astr = "192.168.0.18"; //Modbus Device     

      InetAddress addr = InetAddress.getByName(astr); 
      TCPMasterConnection con = new TCPMasterConnection(addr); 
      ModbusTCPTransaction trans = null; //the transaction 


      //1.Prepare the request 
      /************************************/ 
      ReadMultipleRegistersRequest Rreq = new ReadMultipleRegistersRequest(ref, count); 
      ReadMultipleRegistersResponse Rres = new ReadMultipleRegistersResponse(); 

      Rreq.setUnitID(SlaveAddr); //set Slave Address 
      Rres.setUnitID(SlaveAddr); //set Slave Address 

      //2. Open the connection 
      con.setPort(port); 

      con.connect(); 

      con.setTimeout(2500); 

      //3. Start Transaction 
      trans = new ModbusTCPTransaction(con); 
      trans.setRetries(5); 

      trans.setReconnecting(true); 
      trans.setRequest(Rreq); 
      trans.execute(); 

      /*Print Response*/ 
      Rres = (ReadMultipleRegistersResponse) trans.getResponse(); 
     } catch (ModbusSlaveException me) { 

     } catch (UnknownHostException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (java.lang.Exception e) {; 
      e.printStackTrace(); 
     } 

    } 

} 

はどこで間違っているのでしょうか?

+0

そのIPアドレスは? – greenapps

答えて

0

あなたのスレーブがセキュリティのあなたのポート設定(デフォルトをチェックし、マスター

  • と同じネットワークを持つスレーブのデバイスをチェック

  • を働いている確認手順

    1. に従ってください502)

  • 関連する問題