`
sunxboy
  • 浏览: 2868498 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

在本地使用java收发/调试Modbus协议数据

 
阅读更多

1. 安装Modbus仿真工具Modbus Slave, 用来模仿一台Modbus设备

 1)  connection -> connection setup, 

如果使用TCP/IP方式,可选中TCP/IP

端口默认为502

 

 2) Setup->Slave Definition

选中要测试的Function. 如:02 Input Status(1x)

注意:

         这里有个Address 对应Java测试代码中的寄存器起始地址

                       Quantity对应java代码中的读取数量

 

2. 编写Java测试代码,去连接Modbus设备,并且发送指令,能成功接收从Modbus发回的数据。

    int port = Modbus.DEFAULT_PORT;
    TCPMasterConnection con = null; // the connection
    ModbusTCPTransaction trans = null; // the transaction
    ReadInputDiscretesRequest req = null; // the request
    ReadInputDiscretesResponse res = null; // the response
    InetAddress addr=InetAddress.getByName("localhost");

    con = new TCPMasterConnection(addr);
    con.setPort(port);
    con.connect();

     // 0 表示寄存器的起始地址
     // 3 表示要读取的数量
     req = new ReadInputDiscretesRequest(0, 3);
     // 此处1表示之前在Modbus Slave中选中的Function:Input Status(1x)
     req.setUnitID(1);

     trans = new ModbusTCPTransaction(con);
     trans.setRetries(5);
     trans.setRequest(req);

      int k = 0;
        do {
            trans.execute();
            res = (ReadInputDiscretesResponse) trans.getResponse();
            System.out.println("Digital Inputs Status=" + res.getDiscretes().toString());
            k++;
        } while (k < repeat);

        // 6. Close the connection
        con.close();

 运行之后,可以在控制台看到类似如下信息:

start to test connect modbus slave machine.....

Digital Inputs Status=00000101 

 

 

就表示成功了。

 

分享到:
评论
2 楼 sunxboy 2014-09-10  
jamod 包
1 楼 wangzhe_real 2014-09-03  
你好,我想问一下你的Java用的是什么包啊?

相关推荐

    android测试通过的modbus协议

    2. **数据传输**:Modbus协议使用主从架构,即一个主设备可以向多个从设备发送请求,从设备仅在接收到主设备的请求时才响应。请求包括读取或写入寄存器、线圈或输入寄存器等操作。 3. **Modbus4Android库**:该库...

    JAVA实现DL/T645-07协议, 通过485转USB通讯模块连接电脑下发和解析上行报文

    本程序采用JAVA实现, 通过485转USB接口连接电脑, 下发读取数据报文, 解析电表上行报文,显示对应的电表数据,智能电能表需具备485模块,通过485转USB线与电脑相链接,即可在电脑上读出电能表的数据。代码实现了DL/T...

    MODBUS——RTU通讯协议简介

    4. 可靠性:MODBUS-RTU协议采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。 MODBUS-RTU协议的两种模式:ASCII模式和RTU...

    JAVA程序与PLC通信——学习使用

    本篇将详细探讨"JAVA程序与PLC通信——学习使用"这一主题,包括如何使用Java实现与西门子PLC的串口通信,以及如何收发数据。 首先,我们要理解Java语言的优势。Java作为一种跨平台的编程语言,其强大的网络支持和...

    sscom串口调试工具

    2. **协议调试**:对于基于串口通信的协议,如MODBUS、CAN、Lora等,sscom32是理想的调试工具,可以直观地看到数据帧的发送与接收情况。 3. **物联网设备调试**:在物联网设备开发中,串口常用于设备与云平台之间的...

    利用Java代码读取大华门禁控制器反馈的IC卡号

    - 大华门禁控制器通常使用TCP/IP或串口通信,Java中的`java.net`和`javax.comm`库可以用来建立连接和收发数据。 - 数据交换可能基于如MODBUS、OPC、自定义协议等,需要对这些协议有深入理解。 2. **库文件封装**...

    自制串口调试助手

    串口调试助手是一款在电子工程和软件开发领域常用的工具,主要用于测试和调试设备间的串行通信。本文将详细介绍如何自制串口调试助手,并探讨其工作原理和基本功能。 一、串口通信基础 串口通信,即串行通信,是...

    串口调试助手源代码

    8. **协议解析**:如果需要调试特定的通信协议,如Modbus、CAN或TCP/IP over UART,源代码会包含相应的协议解析和封装逻辑。 9. **日志记录**:为了方便调试和问题排查,源代码可能会有日志记录功能,记录通信过程...

    serial-port-debugging_串口调试工具_

    5. **协议分析**:对于使用特定协议(如Modbus、ASCII或自定义协议)的通信,工具可以帮助解析和解码数据包。 6. **日志记录**:保存通信数据,方便后期分析和问题复现。 在实际项目中,开发者可能需要编写自己的...

    虚拟串口并定时向虚拟串口定时发数据

    9. **调试工具**:学会使用串口监视器或调试工具,以便查看数据收发情况,定位问题。 通过学习以上知识点,开发者可以创建一个程序,定时向虚拟串口发送数据,从而模拟串口通信环境,进行测试或开发其他应用程序。...

    参考资料-单片机与PC机互连系统设计.zip

    - **串口监视器**:查看收发数据,排查协议错误。 综上所述,单片机与PC机互连系统设计涵盖了硬件设计、通信协议选择、软件编程等多个环节。在实际项目中,开发者需要根据具体需求来综合考虑这些因素,以实现高效...

    UART_TEST.rar

    7. **串口配置**:在使用UART通信时,需要设置波特率、数据位、停止位和校验位等参数,这些都需要根据具体硬件和通信协议进行配置。UART_TEST可能提供了这些配置选项,以适应不同设备的需求。 8. **串口通信协议**...

    1702sl源代码.

    这通常涉及到ASCII码或二进制数据的收发,以及使用串口调试助手工具来查看和分析数据流。 3. **编程语言**:源代码可能由多种编程语言编写,如C/C++(用于低级硬件控制)、Python(用于快速开发和数据分析)、Java...

    霍尼韦尔扫描枪1900与三菱plc串口通讯

    在调试阶段,可能需要使用串口调试助手或者PLC的内置监视功能来检查数据的正确传输。如果遇到通讯失败,常见的问题可能包括硬件故障、参数不匹配、数据包格式错误等。通过仔细检查电缆连接、通讯参数和程序代码,...

    PCTOPC.rar_单片机_单片机 PC

    6. 错误检测与处理:为了保证数据的可靠性,通常会在数据帧中加入校验位,如CRC(循环冗余校验)或奇偶校验,以便检测传输过程中可能出现的错误。 在提供的压缩包文件“7.5 单片机与PC机的串行通信1”中,可能包含...

    串口学习资料 串口学习资料 串口学习资料

    1. **嵌入式系统**:在嵌入式开发中,串口常用于调试和配置,如串口下载器、UART(通用异步收发传输器)。 2. **传感器和设备连接**:许多工业设备和传感器使用串口进行通信,如温湿度计、PLC(可编程逻辑控制器)等...

    串口开发工具

    5. **编程实现**:使用编程语言(如C、Python、Java等)编写串口读写函数,实现数据的收发。 6. **异常处理**:考虑到通信过程中的各种异常情况,如超时、数据错误等,编写相应的错误处理代码。 7. **测试验证**:...

Global site tag (gtag.js) - Google Analytics