C#S7.NET实现西门子PLCDB块数据采集的完整步骤
前言
本文介绍了如何使用S7.NET库实现对西门子PLC DB块数据的读写,记录了使用计算机仿真,模拟PLC,自至完成测试的详细流程,并重点介绍了在这个过程中的易错点,供参考。
用到的软件:
1.Windows环境下链路层网络访问的行业标准工具(WinPcap_4_1_3.exe)下载链接:https://www.winpcap.org/install/bin/WinPcap_4_1_3.exe

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

2.TIA Portal V15软件的配置流程:
(1)创建新项目

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

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

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

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

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

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

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

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

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 }

C#S7.NET实现西门子PLCDB块数据采集的完整步骤的更多相关文章
- VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]
VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] - tingya的专栏 - 博客频道 - CSDN.NET VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法] 分类 ...
- 西门子S7系列PLC的主要种类及应用软件
德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金.化工.印刷生产线等领域都有应用.西门子(SIEMENS)公司的PLC产品包括LOGO,S7-200,S7-300,S ...
- Python通过snap7库与西门子S7-1200建立S7通信,读写存储器数据,顺便写个流水灯
1.snap7 简介 snap7 是一个基于以太网与S7系列的西门子PLC通讯的开源库. 支持包括S7系列的S7-200.S7-200 Smart.S7-300.S7-400.S7-1200以及S7- ...
- 使用PLCcom.dll操作西门子系列PLC
工作中经常需要了解plcdb块的数据!由于工作使用OPC类库进行通讯,开发,配置,使用都比较麻烦, 特在网上找到一个名为PLCcom.dll的类库,可以实现PLC读写操作,下面演示C#如何使用PLCc ...
- 实训41 S7通信 单向连接 基于DP网络通信
连接的基本概念? 连接是指两个通信伙伴之间执行通信服务建立的逻辑链路,而不是指两个站之间用物理媒体(例如电缆)实现的连接. 连接相当于 通信伙伴之间 一条虚拟的"专线". 一条物理 ...
- 【新阁教育】S7.NET+Log4Net+SQLSugar+MySQL搭建Iot平台
1.搭建西门子S7仿真环境 新阁教育提醒您基于PLCSIM-Advanced搭建西门子S7仿真环境注意事项: 1.通过dotNet工控上位机公众号后台发送PLCSIM-Advanced获取软件 2.安 ...
- 企业架构研究总结(35)——TOGAF架构内容框架之构建块(Building Blocks)
之前忙于搬家移居,无暇顾及博客,今天终于得闲继续我的“政治课”了,希望之后至少能够补完TOGAF方面的内容.从前面文章可以看出,笔者并无太多能力和机会对TOGAF进行理论和实际的联系,仅可对标准的文本 ...
- TOGAF架构内容框架之构建块(Building Blocks)
TOGAF架构内容框架之构建块(Building Blocks) 之前忙于搬家移居,无暇顾及博客,今天终于得闲继续我的“政治课”了,希望之后至少能够补完TOGAF方面的内容.从前面文章可以看出,笔者并 ...
- x264宏块及子块划分方式
1 宏块划分方式 一副图像(帧,非场图像,x264支持宏块级场编码,这里以帧图像为例说明)按从左到右.从上到下16x16的方式划分宏块,对于图像宽度不是16的倍数的情况,会扩展至16的倍数,然后通过s ...
- 转载>>六款大数据采集平台的架构分析
随着大数据越来越被重视,数据采集的挑战变的尤为突出.今天为大家介绍几款数据采集平台: Apache Flume Fluentd Logstash Chukwa Scribe Splunk Forwar ...
随机推荐
- 【算法】C和Python实现快速排序-三数中值划分选择主元(非随机)
一.快排基础 1.1 快排的流程 将数组A进行快速排序的基本步骤-quick_sort(A): 递归基础情况:如果A中的元素个数是1或0,则返回. 选取主元:取A中的任意一个元素v,作为主元(pivo ...
- Access注入-偏移注入
Access注入-偏移注入 1.偏移注入使用场景及方法 一.偏移注入使用场景及方法 偏移注入使用的场景 1)在sql注入时遇到无法查询数据库字段名时,比如系统自带的数据权限不够无法访问系统自带库 2) ...
- 简洁版docker跑mongo
参考,欢迎点击原文:https://www.runoob.com/docker/docker-install-mongodb.html(菜鸟) 以下是拉取docker镜像并运行起来 docker pu ...
- Linux 使用 selenium 环境配置
1.需要安装 Chrome 浏览器 yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64 ...
- [深度学习] 计算机视觉低代码工具Supervision库使用指北
Supervision库是一款出色的Python计算机视觉低代码工具,其设计初衷在于为用户提供一个便捷且高效的接口,用以处理数据集以及直观地展示检测结果.Supervision库的官方开源仓库地址为: ...
- JavaScript知识总结 异步编程篇
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 异步编程的实现方式? JavaScript中的异步机制可以分为以下几种: 回调函数 的方式,使用回调函数的方式有一个缺点是,多个回调 ...
- quartus之ram的IP测试
quartus之ram的IP测试 1.基本原理 ram,读取存储器,用于储存数据.基本的原理就是使用时钟驱动时序,利用地址区分位置,使用使能控制写入.输出的结果以写入的位宽输出. 2.实际操作 顶层代 ...
- FPGA原语初步试验
FPGA原语初步实验 1.实验原理 将FPGA的原语基本语法加入到实际的工程中,可以通过实验具体得到相应的数字电路.这里先从与.或.非门开始,准备将数字电路的设计思路引入verilog细节设计. 2. ...
- Kingbase ES 自定义聚合函数浅析
文章概要: 基于前面的博文<Kingbase ES 自定义聚合函数和一次改写案例>这篇文章,我们只考虑了自定义聚合函数非并行的情况, 因此,本篇文章将着重解析一下使用PLPGSQL编写并行 ...
- Spring---AoP(面向切面编程)原理学习笔记【全】
1.AOP 1.1.什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延 ...