发表于:2018/10/10 11:10:01
#0楼
各位老师,前辈们大家好!这两天我这做西门子smart组态以太网与另3台smart通讯的实验时发现一个非常奇怪和不解的一个现象——1台plc做主站通过交换机与其他3台plc连接通讯。主站分别向3台从站写(put)3个字节(1、2字节为vw操作,第3字节用作位操作)的数据,同时读取(get)一个字节(用作位操作)的数据。每次上电一开始单独读取都正常,2号地址的plc在被写入一次后就不能正常通讯了。其余的1号和3号的plc读写都正常。
具体问题如下:主站get2号地址从站的vb1000到主站vb1700。上电测试正常。主站vb1045的3个字节(分别是vw1045=12,vb1047=2#0000 0000)写 到 2号站的 vb1001开始的3个字节(分别收到vw1001=12,vb1003=2#0000 0000) ,把从站的v1000.1置1,主站收到v1700.1=1,至此都正常。问题来了,把主站的v1047.0置1,从站接收正常。此时主站的1700.0被置1了。不管从站的v1000.0和v1000.1是0还是1。主站的1700.0始终是1,v1700.1始终是0.当把主站的v1047.0置0时,主站的 v1700.1复位为0.而v1700.0也0 .此时主站与该站通讯就不能读到从站的数据了。
简而言之就是主站对2号站能写不能读。主站本应存储读到的数据位莫名被写出去的数据篡改了。
put的存储器地址与get的存储器地址没有覆盖或交叉。
我是百试不得其解,望各位老师和前辈指点迷津!学生晚辈不胜感激!
主站的通讯向导配置如图
具体问题如下:主站get2号地址从站的vb1000到主站vb1700。上电测试正常。主站vb1045的3个字节(分别是vw1045=12,vb1047=2#0000 0000)写 到 2号站的 vb1001开始的3个字节(分别收到vw1001=12,vb1003=2#0000 0000) ,把从站的v1000.1置1,主站收到v1700.1=1,至此都正常。问题来了,把主站的v1047.0置1,从站接收正常。此时主站的1700.0被置1了。不管从站的v1000.0和v1000.1是0还是1。主站的1700.0始终是1,v1700.1始终是0.当把主站的v1047.0置0时,主站的 v1700.1复位为0.而v1700.0也0 .此时主站与该站通讯就不能读到从站的数据了。
简而言之就是主站对2号站能写不能读。主站本应存储读到的数据位莫名被写出去的数据篡改了。
put的存储器地址与get的存储器地址没有覆盖或交叉。
我是百试不得其解,望各位老师和前辈指点迷津!学生晚辈不胜感激!
主站的通讯向导配置如图
[此贴子已经被作者于2018/10/10 11:56:14编辑过]