我的首个PLC上位机软件

学习心得记录--与西门子PLC建立通讯

工具:TIA v15.1 & PLC SIM

          Net To PLCsim

          Visual studio (S7.netplus.dll)

S7.Net application -1_.net

 

 

一、建立一个PLC程序

1.组态一个S7-1200(硬件组态内:连接机制-勾选允许  Get/Put访问)

S7.Net application -1_.net_02

 

 

 

2.程序内添加非优化访问DB块:DB1

   注意去除优化访问

S7.Net application -1_c程序_03

 

 

S7.Net application -1_c程序_04

二.设置PG/PC接口:控制面板

S7.Net application -1_控制台程序_05

 

 

 

三.打开Net To PLCSim并设置

  联机的IP我使用127.0.0.1了,按图设置,注意软件刚打开时要求停止西门子S7服务记得选OK

S7.Net application -1_连接机制_06

 

 

 

 

四.使用西门子仿真软件下载PLC程序:注意和3,4的先后顺序,我按网上有些大牛的顺序操作最终无法连通PLC和上位机软件

     完成后,记得返回第三步的软件点击“Start Server”

 

 

 S7.Net application -1_连接机制_07

 

 

 

 五.编辑上位机软件:VS

1.新建控制台程序并添加S7.net

  项目--邮件选管理NuGet--搜索“S7”--选择并安装

 

 

 S7.Net application -1_上位机_08

 

 

 

 2.插入程序



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using S7.Net;

namespace S7_communication
{
class Program
{
static void Main(string[] args)
{
using (var plc= new Plc(CpuType.S71200,"127.0.0.1",0,1))
{
plc.Open();
var db1Bool1 = plc.Read("DB1.DBX0.0");
Console.WriteLine("bool1: " + db1Bool1);

plc.Write("DB1.DBX0.1", false);
Console.WriteLine("bool2: " + "写入1");

int db1int = (ushort)plc.Read("DB1.DBW2.0");
Console.WriteLine("int: " + db1int);

var db1Real = ((uint)plc.Read("DB1.DBD4.0")).ConvertToFloat();
Console.WriteLine("real: " + db1Real);

var db1Dint = (uint)plc.Read("DB1.DBD8.0");
Console.WriteLine("real: " + db1Dint);
}
Console.WriteLine("Test Present!");
Console.ReadKey();
}
}
}


 

3.测试

S7.Net application -1_连接机制_09