首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未连接modbus TCP

未连接modbus TCP
EN

Stack Overflow用户
提问于 2016-07-27 20:42:37
回答 1查看 539关注 0票数 0

我有一个问题,通过以太网modbus tcp连接。我将权限插入到AndroidManifest中,然后创建任务或连接和读取Modbus。我使用jamod库。

当我启动时,应用程序给我一个连接失败的错误。

这是我使用的代码:

代码语言:javascript
复制
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();
        }

    }

}

我哪里做错了?

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 17:11:04

请按照以下步骤操作

  1. 检查从设备是否正常工作
  2. 检查与主设备具有相同网络的从设备
  3. 检查端口安全设置(默认为502)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38613319

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档