搭建西门子S7通信仿真环境
一、博图配置
1、右键项目树中的项目名称(项目1)→属性→保护→勾选块编译时支持仿真→确认。
2、设置CPU的X1接口的IP地址,这里设置为192.168.0.2,如下图:
3、右键CPU→属性→常规→连接机制→允许来自远程对象访问
4、如果要访问DB块中的数据,需要取消勾选数据块属性中优化的块访问,操作如下图:
二、设置PLCSIM ADVANCED
PLCSIM Advanced是西门子推出的一款功能强大的仿真软件
1、先确保已安装此插件,否则后续会出问题
2、安装成功后会多一个西门子的虚拟网卡(以太网4)并设置网卡如下;此处以太网3为真实网卡,真实网卡IP地址设置为与博图PLC同一网段:
3、以管理员的身份运行 PLCSIM ADVANCED并按下图配置
三、下载程序到仿真软件
网卡一定要选择文上所说的虚拟网卡,就可以将博图的程序下载到 PLCSIM ADVANCED
完成以上步骤就可以在博图中进行下载程序、在线、启动PLC,等待上位机连接了。
四、C#程序
1、使用s7Netplus库,可以在nuget中下载。
2、引s7.net库通讯测试
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using S7.Net;
namespace testDemo
{
class S7Communication
{
// CPU类型,IP地址,机架号,插槽号
public Plc plc = new Plc(CpuType.S71500, "192.168.0.2", 0, 1);
plc.Open();//打开S7
public void ConnectS7()
{
if (plc.IsConnected == false)
{
Console.WriteLine("S7");
}
else
{
Console.WriteLine("S7通讯连接成功");
}
}
public void CloseS7()
{
plc.Close();//关闭S7
}
}
}