首先要设置PLC的访问权限
1.设备组态 > PLC > 属性 > 防护与安全 > 访问级别 > "设置为完全访问权限"。
2.设备组态 > PLC > 属性 > 防护与安全 > 连接机制> "勾选允许来自远程对象的PUT/GET通信访问"。
还需要设置数据块为绝对地址访问
1.选中目标数据块 > 右键属性 > 属性 > "不勾选优化的块访问" 。然后重新编译一下,就可以看到数据的绝对地址。
PLCSim仿真过程中,不能直接通过程序连接。需要使用NetToPlcSim进行桥接,具体操作可以参考下面这篇博客。
VS_NetToPlcSim_PLC_fenglingxicao的博客-CSDN博客
下面是一个类似流水灯的测试案例。
VS采集代码
static void Main(string[] args){bool flag = true;Console.WriteLine("Hello World!\n");Plc plc = new Plc(CpuType.S71200,"10.0.2.15",0,1);try{plc.Open();}catch(Exception){flag = false;Console.WriteLine("error! \n");}if (flag){Console.WriteLine("connect!\n");int i = 20; while (i>0){bool I0 = (bool)plc.Read("I0.0");bool Q0 = (bool)plc.Read("Q0.0");byte BD0 = (byte)plc.Read("DB1.DBB0");Console.WriteLine("I0.0:" + I0 + "; Q0.0:" + Q0 + "; BD0:" + BD0 + "\n");i--;System.Threading.Thread.Sleep(500);}}}
采集结果