C# 正则表达式校验西门子 PLC IO 地址

发布时间:2026/9/27 5:56:03

C# 正则表达式校验西门子 PLC IO 地址 1. 引言在工业自动化项目中,经常需要与西门子 PLC 进行通信,读取或写入 IO 地址。无论是上位机软件、数据采集系统还是 HMI 界面,都离不开对 IO 地址的输入与校验。如果用户输入了非法的地址格式,轻则导致通信失败,重则引发程序异常甚至设备误动作。本文将介绍如何使用 C# 正则表达式对西门子 PLC 的 IO 地址进行校验,涵盖常见的地址类型(I、Q、M、DB 等),并提供可直接复用的代码示例。2. 西门子 IO 地址格式概述西门子 PLC 的 IO 地址通常由地址区标识符和地址编号两部分组成,常见格式如下:地址区含义示例I数字量输入I0.1、I1.7Q数字量输出Q0.3、Q2.0M位存储区M0.0、M10.7DB数据块DB1.DBX0.0、DB10.DBD4其中:位地址:如I0.0,由字节地址和位号组成,位号范围为 0~7。字节/字/双字地址:如IB0、IW2、ID4,分别表示字节、字、双字。数据块地址:如DB1.DBX0.0,由数据块号、数据类型和偏移量组成。3. 正则表达式设计3.1 数字量输入/输出(I / Q)数字量输入和输出的位地址格式为区标识 + 字节号 + 小数点 + 位号,其中位号只能是 0~7:stringpatternIQ=@"^[IQ]\d+\.\d$";说明:[IQ]:匹配 I 或 Q。\d+:匹配一个或多个数字(字节号)。\.:匹配小数点。\d:匹配 0~9 的单个数字(位号)。3.2 位存储区(M)M 区的位地址格式与 I/Q 相同:stringpatternM=@"^M\d+\.\d$";3.3 数据块地址(DB)数据块地址格式为DB + 块号 + 点 + 数据类型 + 偏移量:stringpatternDB=@"^DB\d+\.DB[BWXD]\d+(\.\d)?$";说明:DB\d+:匹配数据块号。\.:匹配小数点。DB[BWXD]:匹配数据类型(B=字节、W=字、X=位、D=双字)。\d+:匹配偏移量。(\.\d)?:可选的小数点位号(用于 DBX 位地址)。4. 完整代码示例下面是一个完整的 C# 校验类,支持上述所有地址类型:usingSystem;usingSystem.Text.RegularExpressions;publicclassSiemensAddressValidator{// 数字量输入/输出位地址:I0.0、Q1.5privatestaticreadonlyRegexIqPattern=newRegex(@"^[IQ]\d+\.\d$");// 位存储区地址:M0.0、M10.7privatestaticreadonlyRegexMPattern=newRegex(@"^M\d+\.\d$");// 数据块地址:DB1.DBX0.0、DB10.DBD4privatestaticreadonlyRegexDbPattern=newRegex(@"^DB\d+\.DB[BWXD]\d+(\.\d)?$");/// summary/// 校验西门子 IO 地址格式是否合法/// /summary/// param待校验的地址字符串/param/// returns合法返回 true,否则返回 false/returnspublicstaticboolIsValid(stringaddress){if(string.
延伸阅读

更多相关文章

2026/9/27 5:56:03

BLDC六步换向实战指南:霍尔选型、PWM调制与硬件协同

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 5:56:03

STM32低功耗RTC备电设计:CR2032供电与32.768kHz晶振实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 5:51:03

Ubuntu 22.04 源码编译 CloudCompare 并集成 PCL/PDAL 插件指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/27 6:51:06

Python数据可视化 Pyecharts 制作 WordCloud 词云图

词云图通过直观的视觉效果展示了文本数据中词汇的频率分布,词汇频率越高,字体的大小越大。 本文介绍了如何使用pyecharts库中的WordCloud类生成自定义词云图,并通过一系列配置选项实现词云的定制化。WordCloud类提供了丰富的自定义功能,用户可以灵活调整词汇的排列方式、字…

2026/9/27 6:51:06

成都建站平台怎么选?搞懂域名服务器,性能优化才不踩坑

成都建站平台怎么选?搞懂域名服务器,性能优化才不踩坑 域名买错类型,服务器选错配置,这是80%新手在接触成都建站平台时最容易翻车的两个地方。很多老板以为建站就是找个公司做个页面,结果上线后访问慢、备案难、甚至因为SSL证书没配好被浏览器标红…

2026/9/27 6:51:06

网页图片另存为的时候保存不了jpg?5个方案对比评测

网页图片另存为的时候保存不了jpg?5个方案对比评测 备案流程一头雾水?很多老板建站时卡在ICP备案,但更隐蔽的坑在图片加载。你辛辛苦苦做的官网,用户右键“图片另存为”却死活存不下jpg,甚至存成损坏文件。这不是浏览器bug,是你网站架构的…

2026/9/27 6:51:06

红河蒙自网站开发避坑指南:5个实操细节教你做出最佳实践

红河蒙自网站开发避坑指南:5个实操细节教你做出最佳实践 还在为模板网站太丑、功能不够用而头疼?在红河蒙自做网站开发,光选个好看模板根本不够。很多老板花了几千块买模板,上线后才发现手机看是乱码,后台改个价格都要找技术员,这种“伪建站”不仅浪费…

2026/9/27 6:51:06

AI技术在表格办公场景中的应用现状

近年来,生成式人工智能技术逐步进入办公软件,表格处理是其中较常见的一类场景。本文仅从技术应用角度,对当前相关情况作简要梳理。一、当前常见做法(一)百度文库百度文库依托原有文档资源,在表格场景中尝试…

2026/9/27 6:46:05

conda中虚拟环境的使用

查看所有虚拟环境 conda info --envs conda env list 新建一个虚拟环境(以tensorflow为例子) conda create -n tensorflow python3.5 conda create --prefixD:\anaconda20240917\envs\my37 python3.7 设置下载通道(使用清华镜像) con…

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑