Open StarBrighter opened 3 years ago
我想的是从一个地址开始,按照顺序连续读取n个相同类型的变量;您上面那个批量读取,如果我想读取n个相同连续变量的话,我还需要把这些地址添加到批量表里才能读到
SiemensClient client = new SiemensClient(SiemensVersion.S7_200Smart, "127.0.0.1",102); client.ReadInt32("V400",5); 你试试,可能会有问题。
不建议用这种方式。一般的需求界面对数据的监控,应该不是连续的吧。
好的, 感谢 ! 我用过那个S7NetPlus这个库 连续读取的速度是比较快的
请问,你们是什么需求会要求读取连续的地址呢? 读取不连续地址的需求应该更常见才对啊。
我前段时间做了个上位机程序,大概用到了上千个PLC变量,我进行了读取测试,如果每个变量都单独读取,我把上千个变量读完可能得花2秒钟甚至更多,但如果我将用到的bool类型、int类型等都整理出来,进行连续的读取,读完以后再根据对应索引进行分配,速度提高了非常多,也就200ms左右,你上面提到的批量读取我也进行了测试,速度没有连续读取的快,但也提高了非常多。当然这有个前提,就是PLC下位机程序必须保证变量地址连续。
你能做下测试吗,用批量读取和连续读取。同样的变量数量,性能差距有多少,是否在接受范围之内。
我过几天测试,这两天PLC没在
连续读取