草庐IT

modbus_tk

全部标签

教你Java中使用jlibmodbus开发modbus的master端

一、准备1.slave本文使用java开发modbus的master端,如果没有现成的slave端,可以去下在一个modbusslave软件模拟slave数据。modbusslave下载2.java环境依赖dependency>groupId>com.intelligt.modbusgroupId>artifactId>jlibmodbusartifactId>version>1.2.9.7version>dependency>二、创建slave1.打开modbussalve,菜单栏的connection->connect,端口默认502,然后ok就建好slave端。2.每个slave默认10

基于modbus-master-tcp的异步java库的封装工具类

本人在项目工作中遇到了需要低时延、高并发采集Modbus设备数据的场景,为了最大限度的节省资源,于是尝试采用了modbus-master-tcp库,该库基于Netty编写,天然的支持异步和并发。实际效果还不错,所以把自己编写的工具类,分享给大家。一、导入依赖在pom.xml中添加如下依赖并更新com.digitalpetri.modbusmodbus-master-tcp1.2.0二、编写工具类为了封装ip和port,这里我封装了一个ModbusNetworkAddress类importModbusMasterUtil;importjava.util.Objects;/***@authorhu

tcp - MODBUS,设备响应的最长时间是否有限制?

在与MODBUS设备通信时,设备在被视为超时之前可以花费多长时间做出响应是否有上限?我正在尝试找出将读取超时设置为什么。MODBUSRTU和TCP的答案都很好。 最佳答案 在MODBUSoverseriallinespecificationandimplementationguideV1.02.5.2.1MODBUS消息ASCII帧部分建议在慢速WAN配置中字符间延迟最多5秒是合理的。2.6错误检查方法表示超时配置没有指定任何值。当前ModiconModbusProtocolReferenceGuidePI–MBUS–300Rev.

silverlight - 用于 silverlight 的 Modbus Tcp

原始问题:我正在寻找一个silverlight库或示例,它们向我展示了如何使用silverlight框架通过tcp连接到modbus设备。我发现有多个库使用来自system.net.sockets.tcpclient的tcpClient,但此命名空间在silverlight中不可用。所以.net库无法解决问题此外,仅作为背景信息,我正在构建一个WindowsPhone应用程序,并且我已经在msdn站点上查看了示例“在Windowsphone中使用套接字”(Link)编辑1:经过一段时间的编程,我可以只使用System.net.sockets库来编写modbus设备的保持寄存器。问题是,

tcp - 如何减少 MODBUS TCP 的 ARP 刷新导致的 TCP 延迟

我们有一个应用程序以定义的速率定期发送TCP消息(使用MODBUSTCP)。如果在设定时间内未收到消息,则会发出警报。但是,每隔一段时间,接收消息似乎会有延迟。调查表明,这与正在刷新的ARP缓存有关,导致重新发送TCP消息。IP堆栈提供者告诉我们这是TCP的预期行为。问题是,这是IP堆栈的预期行为吗?如果不是,其他堆栈如何在IP/MAC地址转换不可用期间工作如果这是预期的行为,我们如何才能减少这段时间内TCP消息的延迟?(永久ARP条目已尝试过,但不是最佳解决方案) 最佳答案 在我上一份工作中,我曾在一家制造路由器和交换机的公司工作

javascript - Modbus TCP 到 JavaScript 的转换

我想知道ModbusTCP协议(protocol)是否已经导出或转换为JavaScript或某种插件,以便可以在Dreamweaver等HTML编辑器中创建网页,该编辑器可以访问此脚本并将其用于控制​​机器的PLC输入和输出以及操作和接收来自模拟传感器的温度和压力数据。有谁知道是否已经用Java编写了一种网关,可以在PLC内部的Modbus-TCP协议(protocol)和HTML页面之间进行交互?我是PLC程序员和Dreamweaver用户,有兴趣为Android平板电脑或智能手机开发网页,并能够通过Wi-Fi在本地查看和控制我们的机器。我知道我总是可以使用专用的触摸屏,但我希望获得

java - 定期接收数据(MODBUS TCP JAVA)

我目前正在使用jamod库开发一个ModbusTCPJAVA项目。到目前为止,我能够毫无问题地读取和写入Modbus网络(网关和来自4-noks的一些传感器)。我的下一步是自动接收传感器的数据。我使用的设备定期(大约20-60秒)将它们的寄存器发送到Modbus网关。不幸的是,我在接收这些数据时遇到了一些问题。网关有一个寄存器,它在其中计算接收到的消息,它确实接收传感器的数据,但是我如何使用java(jamod,或者其他库)将这些数据显示到我的PC上?上周我一直在寻找和尝试,但我没有想法。如果能获得有关如何实现此目标的一些信息,那就太好了! 最佳答案

c# - 如何通过 GPRS 发送命令到 GPS 跟踪器(TK103、GT02、GT06、TK102 等)

这已经在这里问过https://stackoverflow.com/questions/25460743/gps-tracker-tk103-how-to-send-message-through-server.但是没有任何答案!从GPS设备接收数据:我有一个TCP服务器设置,它从各种GPS跟踪器(TK103、GT02等)接收数据。每个GPS设备发起请求,服务器接受它,并开始接收NMEA数据。效果很好。通过短信向GPS设备发送数据:目前,我们必须向各个设备发送SMS以进行各种配置。这是非常乏味和不准确的。通过GPRS向GPS设备发送数据(这就是我们要实现的):我们想使用TCP或UDP通

networking - Modbus 从站数量限制

我有两个问题:为什么Modbus只允许247个slave连接到同一个网络?ModbusTCP/IP如何克服这个限制? 最佳答案 1)Modbus定义的帧中的地址字段只有8位宽。这将提供256个可能的从属地址。地址0保留为“广播”地址。我找不到具体原因,但大概还有八个其他“保留”地址对从站无效。256-9=247。2)ModbusTCP/IP在标准IPv4寻址之上实现,仅受限于本地子网的大小(例如10.10.0.0)。网络上的每个“网关”都有自己的IP地址,因此网关的数量可能远不止247个。此外,每个网关后面可以有多个Modbus设备

C# Modbus/tcp - 挂起连接

我编写了Windows服务,它使用NModbus通过TCP执行ModbusWriteMultipleRegisters函数调用每10分钟将库传输到3方设备(System.Threading.Timer的滴答声)。偶尔这个连接会挂断,通常是在网络问题期间。由于设备一次只接受一个Modbus连接而其他连接被拒绝,因此所有下一个滴答期间的连接都会失败并出现SocketException-ConnectionRefused。但是设备会自动关闭短时间后没有响应的连接。即使是两天,也必须在我身边保持连接。更重要的是,当我的服务重新启动时,一切都恢复正常了。所以肯定有一些被遗忘的开放连接。但是我没有