西门子S7-1200 PLC 综合教程
本教程将分为以下几个核心部分,建议您按照顺序循序渐进地学习:

- 第一部分:入门基础 - 认识S7-1200
- 第二部分:软件安装与项目创建
- 第三部分:硬件组态与符号编程
- 第四部分:核心编程语言 - LAD (梯形图)
- 第五部分:指令系统详解
- 第六部分:项目实践 - 经典案例
- 第七部分:进阶功能与拓展
- 第八部分:学习资源与建议
第一部分:入门基础 - 认识S7-1200
1 什么是PLC?
PLC(Programmable Logic Controller,可编程逻辑控制器)是一种专为工业环境设计的数字运算操作电子系统,它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,并通过数字式或模拟式的输入/输出,控制各种类型的机械设备或生产过程。
2 为什么选择西门子S7-1200?
- 性能强大:集成了标准CPU、PROFINET网络接口、高速计数、脉冲输出、PID控制等功能。
- 紧凑设计:模块化结构,体积小巧,节省控制柜空间。
- 易于使用:使用TIA Portal(博途)软件进行统一编程,界面直观,上手快。
- 功能全面:支持多种编程语言(LAD, FBD, STL, SCL),适用于复杂的控制任务。
- 性价比高:在中小型自动化项目中,提供了极高的性价比。
3 S7-1200 系统组成
一个典型的S7-1200系统包括:
- CPU:中央处理器,负责执行程序和处理数据,不同型号的CPU在性能、I/O点数、通信能力上有所不同(如CPU 1214C, 1215C, 1217C等)。
- 信号板:可选的小型I/O模块,直接插在CPU前面,用于扩展少量数字量或模拟量I/O。
- 数字量I/O模块:用于开关量信号的输入(如按钮、传感器)和输出(如继电器、指示灯)。
- 模拟量I/O模块:用于连续变化的物理量(如温度、压力、流量)的采集和控制。
- 通信模块:用于扩展通信接口,如RS485/232等。
- 导轨:用于安装所有模块。
第二部分:软件安装与项目创建
1 安装TIA Portal (博途)
TIA Portal是西门子全集成自动化平台的软件,是S7-1200的编程、配置和监控平台。
- 下载:从西门子官网下载最新版的TIA Portal(例如V16或V17/V18),通常会分为两个版本:
- PLCSIM Advanced:用于高级仿真(推荐)。
- S7-PLCSIM:用于基础仿真。
- 安装:按照向导进行安装。注意:安装时最好关闭杀毒软件,并使用管理员权限。
- 授权:安装完成后,软件会自动识别并使用免费授权(通常限制在几个项目或一定点数内),满足学习需求。
2 创建第一个项目
- 打开TIA Portal,点击“创建新项目”。
- 在弹出的窗口中,为你的项目命名(
My_First_Project),选择项目存储路径,并选择使用的编程语言(通常选择“LAD/FBD/SCL”组合)。 - 点击“创建”后,你将看到一个空的项目树。
第三部分:硬件组态与符号编程
1 硬件组态
硬件组态就是在软件中模拟你的物理PLC硬件配置。
- 在项目树中,双击“设备配置”。
- 在右侧的“硬件目录”中,找到你的CPU型号(
6ES7 214-1AG40-0XB0),将其拖拽到视图中的“导轨”上。 - 根据你的实际硬件,依次添加数字量输入/输出模块、模拟量模块等,并将它们拖拽到CPU的右侧。
- 组态完成后,点击“编译”按钮,如果编译成功,说明你的硬件配置没有问题。
2 符号编程
使用符号(如“电机启动”代替“I0.0”)可以使程序更易读、更易维护。
- 在项目树中,双击“符号”表。
- 在表格中,你可以添加符号名称、绝对地址(如
I0.0)、数据类型和注释。- 示例:
- 符号名称:
Start_Button - 地址:
%I0.0 - 数据类型:
Bool - 注释:
电机启动按钮
- 符号名称:
- 示例:
- 在后续的编程中,你就可以直接使用
Start_Button这个符号名,而不是地址I0.0。
第四部分:核心编程语言 - LAD (梯形图)
LAD是最接近继电器电路图的编程语言,非常适合初学者。
1 LAD基本元素
- 触点:代表输入条件。
- 常开触点:,对应物理输入点为ON时,触点闭合。
- 常闭触点:,对应物理输入点为OFF时,触点闭合。
- 线圈:代表输出结果。
普通输出线圈。
- 方框:代表功能指令,如定时器、计数器、数学运算等。
2 程序组织块
程序是在“程序块”中编写的。
- 在项目树中,右键点击“程序块” -> “添加新块” -> “组织块”。
- 选择
OB1(主循环组织块),这是PLC循环执行的程序主体。 - 双击
OB1打开编程视图。
3 编写第一个程序:启停控制
这是一个最经典的例子:用一个按钮启动电机,另一个按钮停止。
- 硬件:
I0.0:启动按钮(常开)I0.1:停止按钮(常闭)Q0.0:电机输出线圈
- LAD程序:
// 网络1: 启停控制 I0.0 |----| | (Start_Button) Q0.0 I0.1 |----|/| (Stop_Button) (Motor) M0.0 |----| | (Motor_Memory) // 使用内部位作为自锁 Q0.0 |----| | (Motor) |- 工作原理:
- 当按下启动按钮
I0.0时,电流流过M0.0线圈和Q0.0线圈,电机启动。 M0.0的常开触点闭合,形成“自锁”电路,即使松开启动按钮,电流也能通过M0.0的触点继续流过线圈,保持电机运行。- 当按下停止按钮
I0.1时,其常闭触点断开,整个回路被切断,电机停止运行。
- 当按下启动按钮
- 工作原理:
第五部分:指令系统详解
1 定时器指令
S7-1200提供了多种定时器,最常用的是接通延时定时器。
- 指令方框:
TON - 参数:
IN:启动输入。PT:预设时间(T#10S表示10秒)。ET:当前已用时间。Q:定时器状态。
- 示例:按下按钮
I0.0,10秒后点亮灯Q0.0。I0.0 |----(TON T1, PT:=T#10S)| Q0.0
2 计数器指令
- 加计数器:
CTUCU:加计数输入。PV:预设计数值。Q:计数器状态。
- 示例:每按下一次
I0.0,计数器C1加1,当计数值达到5时,Q0.0输出。I0.0 |----(CTU C1, PV:=5)| Q0.0
3 比较指令
用于比较两个数据的大小。
- 指令:,
>,<,>=,<=,<> - 示例:如果模拟量输入
IW64的值大于50.0,则输出Q0.0。"AI_Value" |----| > 50.0 |----( ) Q0.0
4 移动指令
用于将一个数据复制到另一个地址。
- 指令:
MOVE - 示例:将常数
100移动到MW10。100 |----(MOVE)----> MW10
第六部分:项目实践 - 经典案例
案例1:电机正反转控制
-
需求:实现电机的正转、反转和停止控制,并设置互锁,防止正转和反转同时接通。
-
硬件:
I0.0:正转启动按钮I0.1:反转启动按钮I0.2:停止按钮Q0.0:正转接触器Q0.1:反转接触器
-
LAD程序:
// 网络1: 正转控制 I0.0 |----| | (Forward_Start) Q0.0 I0.2 |----|/| (Stop_Button) (Forward_Contact) Q0.1 |----|/| (Reverse_Contact) // 反转互锁 Q0.0 |----| | (Forward_Contact) // 自锁 // 网络2: 反转控制 I0.1 |----| | (Reverse_Start) Q0.1 I0.2 |----|/| (Stop_Button) (Reverse_Contact) Q0.0 |----|/| (Forward_Contact) // 正转互锁 Q0.1 |----| | (Reverse_Contact) // 自锁
案例2:水箱水位控制
- 需求:通过一个模拟液位传感器监控水箱水位,当水位低于20%时,启动水泵;当水位高于80%时,停止水泵。
- 硬件:
IW64:模拟量输入(来自液位传感器,0-27648对应0-100%)Q0.0:水泵输出
- 程序逻辑:
- 将
IW64的值转换为百分比(AI_Value)。 - 比较
AI_Value与20和80。 - 当
AI_Value < 20时,启动水泵Q0.0。 - 当
AI_Value > 80时,停止水泵Q0.0。
- 将
第七部分:进阶功能与拓展
1 通信功能
- PROFINET:S7-1200自带的PROFINET接口是核心通信方式,可以用于:
- HMI通信:与西门子精智系列触摸屏进行数据交换。
- PLC-PLC通信:与其他S7-1200或S7-1500 PLC进行数据交换。
- 与第三方设备通信:支持标准PROFINET协议的设备。
- MODBUS RTU/TCP:通过通信模块或CPU固件支持,可以方便地与变频器、仪表等第三方设备通信。
2 运动控制
S7-1200集成了运动控制功能,可以控制步进电机和伺服电机,实现定位、速度控制等。
3 PID控制
S7-1200内置了强大的PID控制功能块,可以轻松实现温度、压力、流量等闭环控制。
4 触摸屏组态
使用TIA Portal中的“WinCC Advanced”工具,可以创建与PLC通信的人机界面,实现数据显示、参数设置、手动操作等功能。
第八部分:学习资源与建议
1 官方资源
- 西门子官方支持网站:提供产品手册、技术支持、下载等。
- TIA Portal 帮助文档:软件内置的F1帮助是最好的老师,内容详尽。
- 西门子官方培训课程:线上或线下,系统化学习。
2 视频教程
- Bilibili (B站):搜索“西门子S7-1200教程”,有大量国内优秀的免费视频教程,从入门到精通。
- YouTube:搜索 "Siemens S7-1200 Tutorial",有许多高质量的英文教程。
3 学习建议
- 动手实践:理论学习后,一定要亲自动手编程、仿真、下载。“纸上得来终觉浅,绝知此事要躬行”。
- 从简单到复杂:不要一开始就挑战复杂项目,从单个电机控制、定时器、计数器开始,逐步组合。
- 多看多问:遇到问题,先查阅手册,再尝试搜索,在相关的技术论坛(如“工控人家”、“中国工控网”)或社区提问。
- 建立符号化编程习惯:从一开始就使用符号表,这会让你受益匪浅。
- 善用仿真:在没有硬件的情况下,使用PLCSIM进行仿真,可以大大提高学习和测试效率。
祝您学习顺利,早日成为S7-1200编程高手!
