西门子 PLC 编程资料整理(官方/权威来源)
整理时间:2026-07-26
用途:作为后续"西门子PLC编程指导"任务的权威资料库。所有核心条目均来自西门子官方(Siemens Industry Online Support / 西门子(中国)工业支持中心)或其官方发布的 PDF 文档。
一、官方资料总入口
检索技巧:在 support.industry.siemens.com 直接搜索下表中的 Entry ID(如 81318674),可直达文档页并选择中英文版本下载。
二、核心官方文档(编程类,按重要度排序)
2.1 编程规范类(最重要的两份纲领性文件)
2.2 系统手册与入门指南(硬件 + 软件基础)
2.3 SCL(结构化文本)专项
| 文档 |
编号/出处 |
说明 |
| 《使用 SCL 编程》(Programming with SCL) |
出版物编号 67157426(支持站检索 "SCL programming") |
SCL 完整语言参考:语法、运算符、示例 |
| 《S7-SCL for S7-300/400》 |
编号 6ES7811-2CC04-0BA5 |
经典 STEP 7 V5.x 时代 SCL 手册(16 章),概念同样适用于博途 |
| TIA Portal 在线帮助 |
软件内 F1 / https://docs.tia.siemens.cloud |
S7-1200/1500 的 SCL 以博途帮助系统为准 |
三、官方程序库(直接复用,站在巨人肩膀上)
使用建议:开发程序块时遵守《编程指南》+《风格指南》,优先复用 LBC/LBP/LGF 中的 CM 级块,可显著提升标准化程度和开发效率。
四、官方编程核心建议速览(摘自《S7-1200/1500 编程指南》)
- 使用优化的块(Optimized blocks):S7-1200/1500 默认优化块访问,存储效率与访问速度更优。
- 符号化编程:用符号寻址替代绝对地址,提高可读性与可维护性。
- 程序结构清晰化:合理使用 OB/FB/FC/DB;用多个循环 Main OB 对工厂部件分组。
- 多重实例:定时器/计数器(TON、TOF 等)以多重实例方式调用,减少实例 DB 数量。
- 块的可复用性:把块视为封装的功能,只通过接口参数交换数据;避免在块内访问全局 DB、全局变量、单一背景 DB。
- 数据用 ARRAY 和 STRUCT/PLC 数据类型(UDT)组织,避免使用 ANY 指针——改用 VARIANT、ARRAY 和结构体(VARIANT 带类型检查,可早期发现错误)。
- 不用位存储器(M),改用全局数据块(S7-1200 的 M 区默认非保持,上传/下载会丢失)。
- 用库存储程序元素:项目库/全局库 + 类型概念,配合版本控制。
- "下载而不重新初始化":仅适用于优化块,RUN 模式下扩展块接口且保留现有变量实际值(内存预留默认 100 字节,最大 2 MB)。
- 新指令优先:MOVE_BLK_VARIANT、Serialize/Deserialize(S7-1500 及 S7-1200 FW4.1+)。
SCL 技巧(同文档):使用调用模板、REGION 关键字结构化代码、正确使用 FOR/WHILE/REPEAT 循环、不手动操作 FOR 循环计数器、善用 CASE。
五、编程语言概览(IEC 61131-3)
| 语言 |
缩写 |
适用场景 |
学习曲线 |
| 梯形图 |
LAD |
电气工程师、布尔逻辑、安全回路、顺控 |
低(推荐入门) |
| 功能块图 |
FBD |
过程控制、信号流 |
中 |
| 结构化控制语言 |
SCL(=ST) |
复杂算法、数组/数据处理、数学运算、可复用 FB |
中高 |
| 语句表 |
STL(AWL) |
维护 S7-300/400 旧项目;不支持部分 S7-1500 新特性(优化块等),新项目不建议 |
高 |
| 顺序功能图 |
GRAPH(≈SFC) |
顺序控制、状态机(比自己写逻辑更可靠) |
中 |
| CEM / CFC |
— |
TIA V17+ 新编辑器(因果矩阵/连续功能图) |
中 |
语言支持要点:SCL 需固件支持——S7-1200 自 V2.0+(博途 V11 SP2+)、S7-1500 自博途 V12 起;同一项目可混用语言,但单个块只能用一种语言;块间可互相调用。
六、软件与版本
| 项目 |
说明 |
| TIA Portal(博途) |
统一工程平台,集成 STEP 7(PLC)+ WinCC(HMI)+ 驱动配置;V13 起取代经典 STEP 7 V5.x |
| 当前主流版本 |
V17(CEM/CFC、OPC UA 增强)→ V18 → V19(AI 集成、边缘连接);S7-1200 固件最新 V4.5+ |
| 版本选择原则 |
Basic 版仅支持 S7-1200(LAD/FBD);SCL、S7-1500、GRAPH 需 Professional 版 |
| 试用 |
官网注册可下载 21 天全功能试用(建议用企业邮箱注册) |
| PLCSIM |
随 TIA Portal 提供的软件仿真 PLC,无硬件即可离线测试程序(学习必备) |
| 经典 STEP 7 V5.6/V5.7 |
仅用于维护 S7-300/400 旧系统;与博途是不同平台,项目需用迁移工具转换(参见应用说明 109748788) |
| S7-200 SMART |
用独立软件 STEP 7-Micro/WIN SMART,不属于博途体系 |
七、初学者常见坑(官方 FAQ 与社区高频问题)
- 忘记给 PLC 和编程电脑(PG/PC)分配同一网段 IP 地址。
- 未做硬件组态就下载程序。
- 数据类型混用(Bool 与 Int 混淆)。
- M 存储区默认非保持——上传/下载或断电后 M 值丢失,需用全局 DB 或设置保持区。
- 输入信号抖动:软件加 10 ms 滤波,必要时硬件并联电容。
- 调试三件套:强制表(模拟现场信号)、交叉引用(查信号关联)、诊断缓冲区(故障定位)。
八、学习路径建议(基于官方资源)
- 入门:S7-1200 使用入门(39644875)+ 中国支持中心"S7-1200 跟我学"视频课 → 完成第一个项目(启保停、正反转互锁)。
- 基础指令:定时器(TON/TOF/TP)、计数器(CTU/CTD/CTUD)、边沿检测(P/N)、置位/复位、MOV、比较、NORM_X/SCALE_X 模拟量标定。
- 结构化:OB/FB/FC/DB、多重实例、接口参数、UDT、ARRAY。
- 规范:通读《编程指南》(81318674)+《风格指南》(109478084)。
- 进阶:SCL、GRAPH 顺控、模拟量与 PID、通信(PROFINET/OPC UA/Modbus)、HMI 集成、运动控制(PTO/工艺对象)。
- 复用与工程化:官方库(LGF/LPD/LBC/LBP)、项目库/全局库、版本控制。
- 安全(可选):《安全编程指南》+ F-CPU、PROFIsafe。
九、来源可靠性说明
- 本资料以西门子官方站点(support.industry.siemens.com、assets.new.siemens.com、cache.industry.siemens.com、www.ad.siemens.com.cn)发布的文档与页面为准,权威等级最高。
- 部分背景信息(版本对比、学习建议)参考了行业知识库(如 Industrial Monitor Direct)与官方文档中的引用关系,已在正文中标注区分。
- 第三方下载站(如 CSDN 文库、技成培训 FTP)存在的官方 PDF 镜像(如《S7-1200/1500 编程指南》中文版)内容真实但非官方渠道,建议最终以上述官方链接下载的版本为准。
- 文档与软件均有版本演进,使用时请核对自己所用 TIA Portal 版本(V13–V19)与 CPU 固件版本对应的文档版本。