当前位置: 首页 > news >正文

西门子PLC数据采集(一):通过.net采集西门子PLC数据的方法

一、前言:

(本文对于会一点.net Core开发的PLC自动化工程师及了解西门子PLC的.net 软件开发工程师比较友好)

谈到通过.net Core采集西门子PLC的数据,其实不仅仅涉及到采集,其中还包括数据的存储、展示、分析、数据上云等(本文主要讲采集)。

(一). 采集*

采集主要通过西门子PLC自家的协议S7,在VS中的NuGet搜索结果如下

(二). 存储:

目前关于采集的原始数据的存储我主要采用将原始数据存储为二进制数据或将原始数据存储到时序数据库中的方式。

(三). 展示

数据展示主要通过Vue前端的各种数据展示插件(Element Plus、Echart、Uplot)

(四). 分析

分析主要就是数据的时域或频域分析(FFT等)

(五). 数据上云

数据上云主要采用Mqtt协议

(六). 数据传输简图

二、采集前准备

(一). 以下两篇文章的说得比较清楚(依先后阅读)

C#与西门子PLC通讯——新手快速入门
C#利用S7netplus读写西门子PLC数据

(二). 对于上面两篇文章的补充说明*

1. S7netplus主要可以采集的西门子的设备型号如下:

2. 采集的通道地址的规则说明

a. 机架号槽号说明


b. 通过PLC通道地址读取PLC通道数据说明(读取PLC不同类型的数据需要进行转换,以下只是简单示例)

c. 关于读取具体通道的说明

d. 读取数据块

e. 读取PLC变量

c. 关于PLC smart 200的数据读取说明
smart 200会出现以下VD开头的地址,切记不能直接填写该地址,采用DB块的读取方式读取,比如读取VD414,转换成DB1.DBD414

附:PLC变量一览表:


**补充说明:**特别要注意String字符串的数据读取及写入

Byte0→ 最大长度(MaxLen)Byte1→ 当前长度(CurrentLen)Byte2~n → 实际字符串内容(ASCII)
  1. 举个例子:
    定义:
    STRING[10]
    PLC内存实际是:
    字节位置 内容
    010(最大长度)15(当前长度)2-6"Hello"7-11 空
  2. 读字符串
publicstaticstringParseS7String(byte[]bytes){if(bytes==null||bytes.Length<2)returnstring.Empty;intmaxLen=bytes[0];intlen=bytes[1];returnEncoding.ASCII.GetString(bytes,2,len);}
  1. 写字符串
publicstaticbyte[]BuildS7String(stringvalue,intmaxLen){varbytes=newbyte[maxLen+2];// 最大长度bytes[0]=(byte)maxLen;// 当前长度varstrBytes=Encoding.ASCII.GetBytes(value);intlen=Math.Min(strBytes.Length,maxLen);bytes[1]=(byte)len;// 拷贝内容Array.Copy(strBytes,0,bytes,2,len);returnbytes;}vardata=BuildS7String("Hello",10);plc.WriteBytes(DataType.DataBlock,1,0,data);
http://www.jsqmd.com/news/768087/

相关文章:

  • Navicat连不上MySQL?别慌!手把手教你排查2002错误(从服务状态到防火墙)
  • 别再只用默认参数了!mkfs.ext4格式化磁盘时,这几个参数调一调性能提升明显
  • 达梦DMRMAN备份集查看实战:从SHOW命令到XML导出,一份保姆级排查手册
  • Unity Timeline实战:用自定义对话轨道打造电影级游戏过场动画(附完整资源)
  • LinkSwift网盘直链下载助手:免费解锁九大网盘极速下载的终极指南
  • AI浏览器扩展开发实战:构建智能网页内容处理代理
  • 终极指南:C++20类类型非类型模板参数的创新应用
  • OCCT可视化系统揭秘:构建高性能3D图形渲染引擎
  • 2026高速四轴分切机厂家/高速分切机厂家推荐,精研分切技艺,赋能产业升级 - 栗子测评
  • 大语言模型在编程中的效率提升与风险防范
  • 终极Voyager代码统计报告:语言分布与复杂度深度分析
  • 本地部署ChatGPT:基于GGUF与llama.cpp的私有化AI对话实践
  • Myriade-AI:开源大模型推理优化工具包部署与调优实战
  • 智能客服对话数据收集与分类技术实践
  • 2026年4月热门的蔡司工业CT代理商推荐,手持式3d扫描仪/蔡司扫描电子显微镜,蔡司工业CT厂家推荐 - 品牌推荐师
  • Rust版LangChain:llm-chain构建高性能LLM应用实践
  • Linux死锁检测与排障实战 从Lockdep到ftrace与crash
  • 告别SegFormer!用U-MixFormer+B0在ADE20K上轻松涨点3.8%,附保姆级复现教程
  • ighack高级配置技巧:如何优化攻击性能与匿名性
  • JAVA自营商城小程序APP商城源码单商户源码的uniapp代码片段
  • 无人机巡检中输电线路缺陷检测数据集(YOLO格式)
  • Windows服务器运维:如何用PM2守护你的多个Node.js应用进程并查看日志
  • 终极Composio性能优化指南:工具调用延迟与吞吐量提升技巧
  • 无人机日志分析终极指南:3分钟掌握UAV Log Viewer免费工具
  • MP3解码器音频协处理器架构与优化实践
  • 开源AI模型API网关:统一接口、多模型路由与免费资源管理
  • AI智能体开发新范式:引入节奏与记忆系统优化长期任务执行
  • 磁力链接转种子文件:为什么你需要这个看似简单的工具?
  • 安全评审实战指南:从威胁建模到DevSecOps全流程
  • 需要抢答器功能?知识竞赛软件选购指南