java - JlibModbus Java 库的 Modbus 读取超时错误

标签 java linux ubuntu modbus

我正在使用 jlibmodbus-1.2.8.4用于在 Linux Ubuntu 14.04 LTS

上实现 Java 8 应用程序的 Java Modbud 库

对于串行通信,我使用 JSSC - Java 简单串行连接器。

我正在使用 USB 转串行转换器 电缆串行连接到我的机器。 我为我的 ubuntu 使用了 FTDI 驱动程序,因为我使用的转换器电缆不提供 Ubuntu 驱动程序。所以我安装了FTDI drivers对于 x86。

我有测试应用程序,它确实第一次完美运行,我能够使用测试 MODBUS 模拟器读/写寄存器。但是在重新启动后,我收到串行读取超时错误并且它已停止工作。

我有以下问题:

  1. 我需要使用 USB 转串行转换器 FTDI 驱动程序吗?或 Ubuntu 14.04 LTS 不需要它,它已内置支持。
  2. 我也确实使用 sudo modprobe usbserial vendor=0xXXXXX product=0xXXXXX 加载了 usbserial 模块,我是否需要这样做,并将其添加到 /etc/modules 中?
  3. 在最新版本的“JlibModbus”1.2.9.0 中,我收到 CRC 校验错误,而不是以前版本的串行读取超时错误?我已经验证了奇偶校验和波特率,这些参数没有问题,但读取保持寄存器的 CRC 仍然失败?
  4. MODBUS RTU Master Java based Library 还有其他选择吗?我看过 jamod 和 modbus4j,但看起来不支持 RTU Master,而且我找不到任何示例。

最佳答案

我正在使用最新的 (1.2.9.1) JLibModbus 库和 USB 转串口转换器。我使用的是 Moxa UPort 1150I 和 Noname USB 转 RS485 转换器。

请打开 DEBUG 模式并显示输出。

此外,您可以尝试使用 j2mod 库。

关于java - JlibModbus Java 库的 Modbus 读取超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47558315/

相关文章:

linux - Cron 作业未在 Ubuntu VM 上触发

php - 从 xampp 导入 MySQL 数据

java - 井字棋水平/垂直和对角线检查不起作用 - java

java - 如何在 whatsapp 和 facebook 分享 libgdx 游戏得分的截图?

Java Rest Api 返回 404

java - Jpa Repository save() 不更新现有数据

java - oracle-java7-installer 未安装在运行 Debian 的 PowerBook G4 上

linux - 无法终止由 bash 脚本中的另一个 ssh session 启动的进程

c++ - inotify递归怎么做呢?

c++ - 如何使用 C/C++ 检查文件系统是否已安装