modbus-tcp协议通过Java代码获取从机数据
一、软件下载
1、modscan32软件下载,里面包含modscan32(主机),以及modsim32(从机),下载地址有很多大家可以直接到网上搜索下载modsacn32
二、modsim32从机配置准备
1.连接从机
2.设置端口号,这里默认端口号为502
3.设置参数
4.点击坐标例设置对应的值
这里设置值有两中方式,一种是设置固定值,第二种是点击自动模拟获取随机数
三、编写Java代码充当主机获取数据
1.添加jlibmodbus依赖
<dependency><groupId>com.intelligt.modbus</groupId><artifactId>jlibmodbus</artifactId><version>1.2.9.7</version></dependency>
2.这里用来演示的是功能码03
public static void main(String[] args) {try {// 设置主机TCP参数TcpParameters tcpParameters = new TcpParameters();// 设置TCP的ip地址-本地地址InetAddress adress = InetAddress.getByName("127.0.0.1");// tcpParameters.setHost(InetAddress.getLocalHost());tcpParameters.setHost(adress);// TCP设置长连接tcpParameters.setKeepAlive(true);// TCP设置端口,这里设置是默认端口502tcpParameters.setPort(502);// 创建一个主机ModbusMaster master = ModbusMasterFactory.createModbusMasterTCP(tcpParameters);Modbus.setAutoIncrementTransactionId(true);int slaveId = 1;//从机地址int offset = 0;//寄存器读取开始地址int quantity = 10;//读取的寄存器数量System.out.println("准备执行开启连接");try {if (!master.isConnected()) {master.connect();// 开启连接}System.out.println("读取对应从机的数据");//读取对应从机的数据,这里演示的是功能码03//功能码01 readCoils()//功能码02 readDiscreteInputs()//功能码03 readHoldingRegisters()//功能码04 readInputRegisters()int[] registerValues = master.readHoldingRegisters(slaveId, offset, quantity);System.out.println("成功!");// 控制台输出for (int value : registerValues) {System.out.println("Address: " + offset++ + ", Value: " + value);}} catch (ModbusProtocolException e) {e.printStackTrace();} catch (ModbusNumberException e) {e.printStackTrace();} catch (ModbusIOException e) {e.printStackTrace();} finally {try {master.disconnect();} catch (ModbusIOException e) {e.printStackTrace();}}} catch (RuntimeException e) {throw e;} catch (Exception e) {e.printStackTrace();}}
3.输出结果
准备执行开启连接
读取对应从机的数据
成功!
address: 0, value: 11
address: 1, value: 23
address: 2, value: 30
address: 3, value: 47
address: 4, value: 33
address: 5, value: 0
address: 6, value: 24
address: 7, value: 0
address: 8, value: 66
address: 9, value: 0
modbus-tcp协议通过Java代码获取从机数据相关推荐
- 如何使用python读取modbus/TCP协议数据
文章目录 前言 一.modbus_tk是什么? 二.modbus_tk的使用步骤 三.使用modscan测试 四.32位无符号短整型数据转为64位float数据 五.总结 前言 在做项目的时候,需要使 ...
- Modbus TCP协议解析
在之前的文章中,我们介绍了Modbus RTU协议的内容和实现方法.最近在进行网络通讯的时候又用到了Modbus TCP协议,因此这里把自己对Modbus TCP的了解总结一下. 文章目录 一.Mod ...
- ModBus/TCP协议分析
ModBus/TCP协议分析 一.术语 1 word = 2 byte; 1 byte = 8 bit. 校验码:校验码是由前面的数据通过某种算法得出的,用以检验该组数据的正确性.代码作为数据在向计算 ...
- java 读取流的字符编码格式_如何使用Java代码获取文件、文件流或字符串的编码方式...
标签: 今天通过网络资源研究了一下如何使用Java代码获取文件.文件流或字符串的编码方式,现将代码与大家分享: package com.ghj.packageoftool; import info.m ...
- java获取jndi密码_用JAVA代码获取Weblogic配置的JNDI 数据源连接
第一步:生成与JDK版本对应的weblogicjar,利用cmd 进入到weblogic_home 路径下进入到server/lib目录,然后运行 JDK 1.6 命令 "java -j ...
- C#上位机与台达PLC通信,modbus TCP协议
C#上位机与台达PLC通信,modbus TCP协议. 1.真实使用项目,该程序框架完整,适合在此基础上开发项目. 2.使用VS2019开发. 3.项目还涉及到halcon视觉检测功能. YID:76 ...
- java代码获取银行实时汇率
java代码获取银行实时汇率 因为工作的时候甲方要求实施获取银行汇率,并且他们还不提供免费的接口,我就自己去网上找了接口,并写了实现代码,如果你需要的话直接复制粘贴就可以用了. 我用的是idea开发的 ...
- 力控 串口服务器 虚拟串口,M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf...
M4系列串口服务器与力控组态软件MODBUS TCP 协议通信--有人物联网.pdf M4 系列串口服务器与力控组态软件MODBUS TCP 协议通信 M4系列串口服务器与力控组态软件MODBUS T ...
- 如何使用java代码获取屏幕显示器个数
使用java代码获取屏幕显示器个数,主要是使用java中的GraphicsEnvironment对象,关于GraphicsEnvironment对象的介绍,可以去GraphicsEnvironment ...
- Mcgs跟转接小板(用电脑模拟)收发数据(通过Modbus Tcp协议)
1.Mcgs跟转接小板(用电脑模拟)收发数据(通过Modbus Tcp协议),转化为后台需要的数据格式 2.调试工具:Modbus Poll , 3. 所有端口配置为同一个,配置好本地和远程ip地址 ...
最新文章
- 嵌入式linux hdmi分辨率,【Firefly3399Pro】rk3399pro在Framebuffer状态命令行模式中强制HDMI输出固定分辨率...
- OAF[1]开发环境的配置
- python安装numpy-NumPy 安装
- java高级反射_反射---Java高级开发必须懂的
- wordpress 调用css,WordPress调用CSS最常用的方法有哪些?
- asp.net 窗体关闭事件_关于滁州一地煤气爆炸事件!最新消息来了!
- PHP生成有背景的二维码图,摘自网络
- 讨论下怎么能实现保证新闻时效性推荐算法机制
- OFFICE技术讲座:连续内容分断的规则
- 课程设计 计算机公共基础,基于Moodle的大学计算机公共基础课程设计
- 公众号运营实用小工具推荐
- 华为交换机重置Console口密码
- java基本数据类型字节大小,Java基本数据类型及所占字节大小
- java pdf转jpg清晰度_java 库 pdfbox 将 pdf 文件转换成高清图片方法
- java语言编写计算器_第二次作业利用java语言编写计算器进行四则运算
- apache基于端口的虚拟主机配置
- airpods二代圆点按钮是啥_AirPods 2 使用技巧(基础篇)| 如何分辨两代 AirPods?
- Android团队的组建和管理
- 安装mysql中遇到的问题
- 递归法求二叉树的深度
热门文章
- java+整合handwrite_GitHub - wmz46/HandWriteRecognizer: 封装Microsoft.Ink为C++动态库,可供其他语言调用手写识别...
- [Excel] 数据透视表
- 第14课:JSP动作 JSP param动作(JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
- SVN 使用beyondcompare 来版本对比
- python写彩票预测软件_python写彩票预测软件
- 数据库常见面试题(附答案)
- 5006.推荐初学者几本CCNA教程和材料
- gateway权限统一认证
- 小说阅读器java源代码_Android项目源码任阅小说阅读器高仿追书神器
- BXP无盘介绍(转)