问题标签 [modbus-tcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Jamod TCP 单元标识符
在 net.wimpi.modbus.facade 中,ModbusSerialMaster.class 包含:
遗憾的是,ModbusTCPMaster.class 中缺少此代码,因此它始终默认读取单元标识符或 (1)。任何人都可以建议解决方法或提议将代码从串行复制到 TCP。
java - 套接字获取输入流多次读取错误值
我有一个 Java Modbus/TCP 应用程序,它不断地从设备读取数据。
这在 99.9% 的情况下都正常工作,但是在一个周末工作之后,它可能会进入一种奇怪的模式,在这种模式下,我会在几秒钟内得到我的读取多个保持寄存器函数的假值。
我已经使用 Modscan 应用程序进行了检查,并且客户端站点上出现了虚假值,这意味着服务器设备正在正确应答。
我能得到的答案是一个由 0、1 和其他随机值填充的字节数组。
这是我的 Modbus/TCP 答案阅读:
返回 null 在函数外部作为错误异常处理。
我添加了2个保护:
read() 方法在 EOF 之后返回 -1,所以我添加:
/li>对不支持的 Modbus/TCP 方法返回 null:
/li>
也许我在流式阅读中遗漏了更多我没有保护的东西。
c++ - 使用 Modbus 协议发布到 Kepware
我希望使用 modbus 将数据发送到 kepware。这是我的老板给我的一个全新的项目,我不知道从哪里开始我有限的知识。任何关于如何在 C++ 中实现这一点的见解将不胜感激!
telnet - 通过 Internet 向 Modbus 设备发送查询
我刚开始做一个没有背景的 Modbus 项目。我要做的是通过使用其 IP 地址、读取寄存器等来查询活动的 Modbus 设备。
我使用带有相关 IP 地址和端口号的“telnet”命令连接了设备,当它连接时,它等待命令. 问题是当我输入任何内容并按回车时,它似乎没有发送任何内容,因为它允许我在新行中写入更多内容并且它没有给出任何响应。
我想我缺乏关于通过 Internet 查询此类设备的一个非常基本的概念的知识。
java - Modbus4J Modbus RTU 主站
目前我正在使用 Schneider Power Logic 电气设备。我想从设备中读取数据并在我的系统中显示值。到目前为止,我发现了 J2mod、Jamod 和 Modbus4Java 库。我使用所有 modbus4java 来连接并获取设备的数据。
实际上我仍然很困惑我是否应该创建主端或从端。根据我的理解,设备将是从属设备,我的系统将是主设备(第一个问题)。
以下是在我的设备上的设置。表示设备处于从机模式,其协议为 Modbus RTU。那么,我需要创建一个使用 ModbusRTU 协议的主应用程序来与之通信,对吗?(第二个问题)
- 模式:奴隶
- 协议:Modbus RTU
- 地址1
- 波特率:38400
- 奇偶校验:无
以下是我的应用程序的代码充当主设备并使用 ModbusRTU 协议
这是我从 Modbus4Java 页面提供的示例代码中获得的代码。我关心的另一件事是params.setCommPortId("COM6");
我可以放在那里的除了“COM6”之外的其他值的值。因为基本上它接收一个字符串值。那么我可以给它添加任何字符串值吗?这个特定的 setCommPortID 的功能是什么。(第三题)
查看 Modbus4Java 页面提供的示例代码,它没有放置设备的 IP 地址。但就我而言,我的设备有一个 IP 地址。并且 IP 地址仅在从应用程序中使用。我的系统应该如何识别设备的 IP 地址?(第四题)。
在我运行这个代码片段之后,我得到了一个错误:
稳定的图书馆
本机库版本 = RXTX-2.1-7
Java 库版本 = RXTX-2.1-7
Modbus 主初始化错误:com.serotonin.io.serial.SerialPortException:gnu.io.NoSuchPortException
请,请,请帮助我。我被这个困住了将近一个月。真的希望有人能帮助我。提前感谢您的任何帮助和建议。
c++ - 使用 typedef 结构提升 shared_ptr
我遇到了libmodbus的编译问题。我有以下代码
但我收到以下错误
它指向 modbus.h 中的这一行
我对此了解不够,无法解决我的问题。你认为那是什么?这个库与智能指针不兼容吗?他们告诉您使用常规指针
谢谢你。
php - php rtu modbus连接写入线圈并读取保持寄存器
首先,这是我第一次尝试 PHP - Modbus。我正在尝试使用http://code.google.com/p/phpmodbus/
中的 phpmodbus 从 modbus 寄存器中读取寄存器
我的微控制器通过 Prolific usb-to-serial 通用端口连接到串行端口 COM10。
我已经在 modscan 中运行了它,它工作正常。我想读/写数据到寄存器。
我无法通过 php 进行通信。有人可以帮忙吗?
这是我尝试过的
我不确定应该提供哪个 IP 地址。
ios - 如何通过modbus通信获取ip地址?
我正在制作一个iOS应用程序,它将通过UDP套接字程序通过Modbus通信设备访问IP地址,而不是wifi中存在的所有IP地址,因为该项目已经存在于github中。我有 android 代码,它是用 java 编写的,与我在 objective-c 平台中需要的基本逻辑相同。它也不适用于 j2objc 转换器。这是android项目的java代码,需要与iOS平台相同的代码:
c# - 嵌入式 C 中的 Modbus RTU 实现
我的问题会很奇怪,所以我为此道歉。
我将在名为“DiGi Module Connect Me 9210”的电子设备中实现 Modbus RTU Master。通过这个设备,我将向 PIC 请求一些数据,如节点和温度等数据以及其他一些数据。我只想在我的设备中实现 FC 04/03/16。
Digi 模块是一种电子设备,因此为此我将创建 C# GUI 以通过 DiGi 模块使用 GUI 从 PIC 请求数据,因为 Digi 将使用 Modbus RTU 协议与 PIC 连接。在 Digi 中获取数据后,我们将使用 REST API 将数据发送到云端。
从 GUI 到 DIgI,我将拥有 TCP/IP,从 DIGI 到 PIC,我将拥有 Modbus RTU,在 Cloud 和 DiGi 之间,我将拥有 REST API。
我想在 C# 中删除我的数据,所以我只需通过 DIGI 从 GUI 向 PIC 发送请求(因此我的 DIGI 将作为 GUI 和 PIC 之间的桥梁)来配置节点或从 PIC 获取节点数据。我必须使用 80 个请求或其他方式一口气读取近 9999 个寄存器才能从 3X / 4X 寄存器中获取数据。现在问题来了。
☺ 如何在设备或系统中实现 Modbus RTU。
☺ 如何通过 GUI 读取所有 9999 寄存器,因为我可能想从 3X 寄存器中读取所有运行时数据。?
☺ 我怎样才能一次写入/读取所有 4X 寄存器。?
我们还实现了分页技术,这意味着第 0 页将有 9999 个寄存器,然后第 1 页将有 9999 个寄存器。因此,如果我想读取温度,我必须转到第 0 页并读取寄存器,如果我想读取速度值,我必须转到第 1 页并检查所有寄存器。?
GUI看起来像一些东西
用户将添加节点编号,然后添加温度并提交请求。
python - Pymodbus:对无效单元 ID 的读取操作会导致所有具有有效单元 ID 的未来事务失败
我有一个 modbus 模拟器,其中定义了 4 个从属 [1,2,3,4] [使用 modbus_tk],我还有一个 pymodbus 客户端通过 TCP 与这个 modbus 从属通信。只要我们使用正确的从设备 id(单元 id),一切都可以正常工作,但是一旦使用了无效的 id,即使对于有效的设备地址,所有事务都开始返回 None 。
下面提供了客户端代码和调试日志的示例片段以供参考,可以看出“5”是无效的从属 ID,并且它按预期失败(调试日志显示 0x83 0x4),即使对于有效设备( "1") 结果返回为 None ,从调试日志看来 data is available 。非常感谢任何关于可能出错的提示