一位同行朋友,做了个Modbus TCP通讯,通过1500读取仪表数据,调试了好几天,一直调试不出来,让我帮忙,程序直接发我 了。可我没有实际硬件,不好测试呀,于是跟我朋友说,我先帮你看看程序有没有问题吧。
打开程序后,发现就一个MB_CLIENT的测试程序,后来想了一下,是不是可以通过S7-PLCSIM Advanced与Modbus Slave来做模拟?说干就干,测试下来,还真能通讯 上(相关模拟软件有很多,大家可以百度)
PORTAL程序准备,如下图:
S7-PLCSIM Advanced设置
这里的IP要于硬件组态内的地址相同,选择PLCSIM virtual Eth.adapter,在TCP/IP communication With 选择LOCAL,这个LOCAL是对应虚拟网卡的,如下图
这里面的IP地址,要于DB块内组态的IP地址相同,后面modbus slave也要相同
Modbus slave设置
设置功能码,对应程序的读功能码40001
设置Connection和IP地址,这里要选择忽略ID,不然通讯不上
最后给出数据,对应的DB块内,可以看到数据已经读上来了,如上图