未连接modbus TCP

问题描述:

我通过以太网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

按照以下步骤

  1. 检查你的奴隶正在

  2. 检查你的奴隶的设备具有相同的网络与主

  3. 检查安全端口设置(默认502)