LabVIEW论坛
直播中

尘尘

5年用户 53经验值
私信 关注
[问答]

如何通过LabVIEW的Modbus TCP和负载柜之间通过网线进行通讯,谢谢

要求:通过labview程序,让电脑通过网线和负载柜进行通讯;
目前的状况:电脑和负载柜之间已经连上网线,可以ping的通,并且用负载柜厂家给的模拟软件也可以进行通讯。
存在的问题:LabVIEW程序没办法和负载进行通讯;正常情况下,我发送一串“询问帧”给负载柜,他会返回来给一个“应签帧”。但是目前没有。

因为新学LabVIEW几个星期,Modbus Tcp更是刚接触,所以,我不太知道是因为我程序写的有问题,还是我发送、接收的命令、地址或格式有问题,恳请各位能帮忙解决下。

我写的程序及负载柜的通讯协议如下。非常谢谢大家。

前面板 程序框图



承诺:此问题解决后,我会把问题的解决方法、源代码及出错原因详细说明后附上本贴,以方便大家。谢谢。


已退回15积分

回帖(12)

李骏鹏

2019-3-18 10:53:12
负载柜给的模拟软件是用什么协议通信的?
1 举报
  • 尘尘: 你好: Modbus TCPIP通讯协议。

    电子负载:系统采用以太网接口,使用 Modbus TCPIP通讯协议。可与建立在标准Modbus通讯协议基础上的软件进行无缝连接。

王志博

2019-3-18 10:56:43
有一些PLC不支持MODBUS TCP,PING通是没什么问题,像OMRON就不支持MODBUS TCP
2 举报
  • 尘尘: 你好,没有用到PLC。
  • 王志博 回复 尘尘: 我看了一下协议,1001是只读寄存器,写不了啊,你换到2050,51,52,53。54试试

xujian

2019-3-18 12:47:22
应该不是TCP Master吧,试试Client。
1 举报
  • 尘尘: 你好,只有Master和Slave,负载柜已经定义了IP地址,所以我用了Master填写IP来连接,如果我用Slave的话,就没有办法填写IP地址了。

尘尘

2019-3-18 18:37:55
自己顶一顶,请大神们帮忙看下,谢谢了。
5 举报
  • 王志博: 我已经说了,你的协议里1001的地址是只读的,不能写数据进去,换读写地址试试。
  • 尘尘 回复 王志博: 你好,我试了还是不行的,负载没有任何反应给我。
    还有一点就是想请教下,他的模式是:有询问帧询问,才会有应答帧回来,如果他的只读是不让问的话,那如何会有应答呢?是我用的函数不对?或者是有其它方法?请指教,非常谢谢。
  • 王志博 回复 尘尘: 地址改了,参数也得改啊,你原来程序的参数写的是个啥,读取还只读两位,这两位写的是0也读取不出来啥啊,另外你程序报错吗?不报错通讯协议就没问题,错的是你的编程。有报文说明书就好好研究研究,实在不行还有modbus TCPIP通讯助手可以用。
  • 尘尘 回复 王志博: 程序上没有报错要停止,但是加上探针看到是有错误的。我等下发个图片您帮忙看下,谢谢。
  • 尘尘 回复 王志博: 不好意思,不是加了探针,是点亮后。

更多回帖

发帖
×
20
完善资料,
赚取积分