2

C#S7.NET实现西门子PLCDB块数据采集的完整步骤 - yangbe1

 1 month ago
source link: https://www.cnblogs.com/Jerry9521/p/18152715
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

C#S7.NET实现西门子PLCDB块数据采集的完整步骤

1.C#S7.NET实现西门子PLCDB块数据采集的完整步骤04-23

前言

本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考。

用到的软件:

1.Windows环境下链路层网络访问的行业标准工具(WinPcap_4_1_3.exe)下载链接:https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe

2.模拟西门子PLC的软件(SIMATIC_PLCSIM_Advanced_V3_Upd1.exe)下载链接:https://support.industry.siemens.com/cs/attachments/109772889/SIMATIC_PLCSIM_Advanced_V3.exe
3.西门子PLC编程软件博图,用来编辑DB块等操作,提供测试环境(TIA_Portal_STEP_7_Pro_WINCC_Pro_V15)百度网盘链接:https://pan.baidu.com/s/1O4ndJKFKJKJcMQxLBM7P6Q?pwd=c8ht

提取码:c8ht

下载完后需要激活,可自行百度
软件安装流程:请按上面软件1-3依次安装,可以避开很多问题点。
配置流程:
1.S7-PLCSIM Advanced V3.0 Upd1的配置流程:
(1)Advanced V3.0支持仿真的类型只有S7-1500和smart200的PLC,别的型号暂不支持,但是原理一致;
(2)通讯的模式选择Local;
(3)模拟器中的IP地址设定为模拟的PLC的IP地址;
2586965-20240423135542918-1040973228.png
(4)设定完成之后,点击Start按钮;
2586965-20240423140205442-1741672999.png

 (5)模拟PLC正常启动,Active PLC中会显示PLC状态,此时为黄灯长亮(因为没有打开博图软件初始化PLC,初始化之后会变成绿灯长亮),至此PLCSIM Advanced配置完成;

 

2586965-20240423140238331-235177842.png

2.TIA Portal V15软件的配置流程:

(1)创建新项目

2586965-20240423141043426-2082920607.png

(2)添加新设备(S7-1500的CPU均可)

2586965-20240423141107196-204920088.png

(3)右键项目名称(S7TestVer)进入属性窗口,在保护中勾选“块编译时支持仿真”;

2586965-20240423141412362-1213180288.png

(4)右键设备名称(PLC_1)进入属性窗口,在 防护与安全 -- 连接机制 中勾选“允许来自远程对象的PUT/GET通信访问”,同时需要检查访问级别,选择该PLC的存取等级;

2586965-20240423141641214-1928893335.png

(5)右键程序块进入添加新块窗口,选择数据块(DB块)确认命名后点击确定;

2586965-20240423143247123-1536121380.png

(5)右键BD01块进入属性窗口,选择属性,取消勾选“优化的块访问”;

2586965-20240423143845661-389099117.png

(6)双击DB01块,添加内容,用于后续测试;

2586965-20240423144414784-562618703.png

(7)编译并下载参数到模拟PLC,下载时会提示先搜索PLC,完成后下载参数即可;

2586965-20240423144734668-577348237.png

 (8)下载完成后,可以看到Active PLC中显示的PLC状态为绿灯,至此PLC配置完成;

2586965-20240423144942823-1132411390.png

3.C#上位机的程序测试:

 1 Plc S71500 = new Plc(CpuType.S71500,"192.168.0.1",0,1);
 2 public Form1()
 3 {
 4     InitializeComponent();
 5 }
 6 
 7 private void btn_Comm_Click(object sender, EventArgs e)
 8 {
 9     if (S71500.IsConnected)
10     {
11         btn_Comm.BackColor = Color.Gray;
12         S71500.Close();
13         btn_Comm.Text = "未建立链接";
14     }
15     else
16     {
17         S71500.Open();
18         btn_Comm.BackColor = Color.Green;
19         btn_Comm.Text = "已连接";
20     }
21 }
22 
23 private void btn_Read_Click(object sender, EventArgs e)
24 {
25     if ((bool)S71500.Read("DB1.DBX0.0"))
26     {
27         txb_Bool.Text = "1";
28     }
29     else
30     {
31         txb_Bool.Text = "0";
32     }
33 }
34 
35 private void btn_Write_Click(object sender, EventArgs e)
36 {
37     if (txb_Bool.Text == "1")
38     {
39         S71500.Write("DB1.DBX0.0", 1);
40     }
41     else
42     {
43         S71500.Write("DB1.DBX0.0", 0);
44     }
45 }
2586965-20240423151910564-951855530.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK