基于Java实现Modbus TCP Server的示例代码,使用Jamod库

基于Java实现Modbus TCP Server的示例代码,使用Jamod库缩略图

基于Java实现Modbus TCP Server的示例代码,使用Jamod库概述

import net.wimpi.modbus.Modbus;
import net.wimpi.modbus.ModbusCoupler;
import net.wimpi.modbus.io.ModbusTCPListener;
import net.wimpi.modbus.procimg.*;
import net.wimpi.modbus.util.*;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class ModbusTCPServerExample {

  public static void main(String[] args) {

    try {
      // 创建一个实现了ModbusSlave接口的SimpleProcessImage
      SimpleProcessImage spi = new SimpleProcessImage();
      spi.addDigitalOut(new SimpleDigitalOut(true));
      spi.addDigitalIn(new SimpleDigitalIn(false));
      spi.addInputRegister(new SimpleInputRegister(45));
      spi.addRegister(new SimpleRegister(251));
      ModbusCoupler.getReference().setProcessImage(spi);
      ModbusCoupler.getReference().setMaster(false);
      ModbusCoupler.getReference().setUnitID(1);

      // 获取本地IP地址
      InetAddress addr = InetAddress.getLocalHost();
      String ipAddress = addr.getHostAddress();

      // 创建ModbusTCPListener对象,监听指定端口
      ModbusTCPListener listener = new ModbusTCPListener(1);
      listener.setAddress(addr);
      listener.open();

      // 打印服务器信息
      System.out.println("Modbus TCP server running at " + ipAddress + ":" + Modbus.DEFAULT_PORT);

    } catch (UnknownHostException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

这个示例代码创建了一个简单的Modbus TCP服务器,使用一个实现了ModbusSlave接口的SimpleProcessImage来存储数据。SimpleProcessImage包括一个数字输出、一个数字输入、一个输入寄存器和一个保持寄存器。在main函数中,首先创建一个SimpleProcessImage,然后将其设置为ModbusCoupler的过程映像。然后,将ModbusCoupler的主/从模式设置为从模式,并将单位ID设置为1。接下来,获取本地IP地址,并使用ModbusTCPListener对象监听默认端口(502)。最后,打印服务器信息。

技术术语(共 3 个)—— 点击展开
Modbus TCP基于以太网的Modbus协议变体,使用TCP/IP传输
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
保持寄存器Modbus 16位可读写数据,地址从40001开始
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 Modbus编程开发 字数 1393 字 · 阅读约 4 分钟 更新 2023-02-11 永久链接 https://www.modbus.cn/ji-yu-java-shi-xian-modbus-tcp-server-de-shi-li-dai-ma-shi-yong-jamod-ku/
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

VIP会员专享

解锁全部Modbus技术资源

5169+工程师已加入VIP,享受无限制工具使用、专属技术文章、优先技术支持等权益

✓ 高级工具无限制使用
✓ VIP专属技术文章+视频教程
✓ 下载资源无限制
✓ 优先工单技术支持
了解VIP权益 低至¥0.3/天 | 支持微信/支付宝 | 随时取消

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

//创建ModbusTCPLi