首先要设置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);
}
}
}
采集结果