我使用jlibmodbus-1.2.8.4Java Modbud库在Linux Ubuntu 14.04 LTS
上实现Java 8应用程序
对于串行通信,我使用JSSC-Java简单串行连接器。
我正在使用USB to Serial Converter
电缆与我的机器进行串行连接。
我为我的ubuntu使用了FTDI驱动程序,因为我使用的转换器电缆不提供ubuntu驱动程序。所以我为x86安装了FTDI drivers。
我有测试应用程序,这是第一次完美地工作,我能够读/写寄存器与测试MODBUS模拟器。但重新启动后,我得到串行读取超时错误,它已经停止工作。
我有以下问题:
我需要使用USB到串行转换器FTDI驱动程序吗?或者Ubuntu14.04LTS不需要它,它有内置的支持。
我也使用sudo modprobe usbserial vendor=0xXXXXX product=0xXXXXX
加载了usbserial模块我需要这样做吗?我还将它添加到了/etc/modules
中?
在“JlibModbus”1.2.9.0
的最新版本中,我得到的是CRC校验错误,而不是以前版本的串行读取超时错误?我已经验证了奇偶校验和波特率,这些参数中没有问题,但读保持寄存器的CRC仍然失败?
MODBUS RTU Master基于Java的库还有其他选择吗?我见过jamod和modbus4j,但看起来不支持RTU Master,我也没有找到任何样本。
最佳答案
我正在使用最新的JLibModbus库(1.2.9.1)和一个USB到串行转换器。我正在使用Moxa UPort 1150I和一个非名称USB到RS485转换器。
请打开调试模式并显示输出。
另外,您可以尝试使用j2mod库。