使用modbus协议的智能仪表可以通过串口通信,但是使用串口服务器的虚拟串口模式却无法通信

whleve 2016-03-01 09:57:16
我要编写一个水压监控的系统,水压采集端使用ACD-201数字压力表,这个压力表的数据传输采用Modbus-RTU协议,我进行了如下的工作:
1. 我用RS485转232的转接头将压力表接到了计算机的串口上,然后用java写了一个串口通信的程序,测试过可以正常通信,能够正常读取寄存器中的水压值;
2. 由于施工条件的限制,在具体应用时无法将水压表直接连接到电脑的串口上,所以后来我把数字压力表连接到UT-6720串口服务器上(支持TCP/IP到RS-232/485/422转换),希望设备联网,选用的工作模式为虚拟串口模式,java程序中的串口改为了映射的虚拟串口,其余的地方没有做任何修改,结果通信就没反应了,使用第三方的串口调试助手也无法进行通信。
相关的虚拟串口设置如下图,使用的是串口服务器自带的配置软件,点击连接后显示连接成功,其中远程主机IP和端口写的是串口服务器的IP和端口。
因为是第一次做这种东西,所以很多东西都不太了解,串口通信的程序没有问题,但是连接串口服务器后就有问题了,不知道是不是我设置上出错了,希望大家不吝赐教,谢谢。
...全文
739 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用了另外一台电脑,将串口服务器的输出端,看看数据能不能经过串口服务器正确转发,如果不能,需要设置串口服务器或更换串口服务器 如果能,最有可能的是时序问题,因为标准Modubus-RTU区分一帧是根据时间来的,如果超过3.5个字节传输时间没有收到数据,则认为是一帧结束.另外字节和字节之间的延时也不能超过1.5个字节传输时间,这要跟传感器厂商咨询这些时间的 如果是时序问题,尝试降低波特率,串口服务器关闭缓存(收到一帧数据立即转发)等措施
dceacho 2016-03-04
  • 打赏
  • 举报
回复
把RX,TX调换下试试

27,372

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧