一、引言:为什么是S7-1200 G2
在西门子PLC家族中,S7-1200一直是个"不上不下"的存在——比S7-200 SMART强大,又比S7-1500便宜。2025年西门子推出的S7-1200 G2(第2代),更是将这款中型PLC推向了新的高度。
G2相比G1(第1代)有哪些升级?
· CPU性能提升:布尔指令从0.72μs提升到0.08μs
· 程序空间翻倍:从150KB提升到300KB(CPU 1215/1217)
· 运动控制增强:最多16个运动轴(PN版本),支持等时同步(IRT)
· PROFINET增强:支持共享设备(Shared Device)、IRT、MRP环网
· 安全功能:支持访问保护、权限管理、加密通讯(HTTPS/FTPS)
一句话定位:S7-1200 G2是中型自动化系统的核心控制器,既能处理复杂的逻辑和数据运算,又能驾驭PROFINET运动控制和工业通讯。
二、硬件选型:CPU家族一表打尽
S7-1200 G2系列共5款CPU,从左到右越来越强:
型号 | 数字量 | 模拟量 | 高速计数 | 脉冲输出 | PN接口 | 特殊功能 |
1211C DC/DC/RLY | 6DI/4DO | 2AI | 3路(100kHz) | 2路(100kHz) | 1个PN口 | 紧凑型 |
1212C DC/DC/RLY | 8DI/6DO | 2AI | 3路(100kHz) | 2路(100kHz) | 1个PN口 | 紧凑型 |
1214C DC/DC/RLY | 14DI/10DO | 2AI | 6路(100kHz) | 4路(100kHz) | 1个PN口 | 标准型 |
1215C DC/DC/RLY | 14DI/10DO | 4AI/2AQ | 6路(100kHz) | 4路(100kHz) | 2个PN口 | 运动控制型 |
1217C DC/DC/3PH | 14DI/10DO | 4AI/2AQ | 6路(200kHz) | 4路(200kHz) | 2个PN口 | 高速增强型 |
选型建议:
· DI/DO点数 < 20:选1211C或1212C(紧凑型,价格最低)
· 需要模拟量输出(AO):选1214C或1215C(1211/1212没有AO)
· 做运动控制:选1215C或1217C(双PN口+多轴支持)
· 高速编码器(200kHz以上):选1217C(唯一支持200kHz的型号)
信号模块(SM)选型
模块 | 点数 | 类型 | 备注 |
SM1221 | 16路 DI | 数字量输入 | 可选源型/漏型 |
SM1222 | 8/16路 DO | 数字量输出 | 晶体管/继电器 |
SM1223 | 8DI/8DO | 数字量混合 | 晶体管/继电器 |
SM1231 | 4/8AI | 模拟量输入 | 热电阻/热电偶/电压/电流 |
SM1232 | 2/4AQ | 模拟量输出 | 电压/电流 |
SM1234 | 4AI/2AQ | 模拟量混合 | 通用型 |
总线模块(BM)选型:支持最多8个信号模块+8个通信模块,通过分布式方式连接,减少CPU本体的插接数量限制。
三、TIA Portal项目架构:规范化是第一步
TIA Portal(Totally Integrated Automation Portal)是西门子全集成自动化门户,也是S7-1200/1500的编程环境。一个好的TIA项目结构,决定了项目的可维护性和可扩展性。
3.1 标准化项目结构
推荐的项目结构:
· 【设备配置】设备组态 → 网络组态 → 安全配置
· 【工艺对象】运动控制轴 → PID控制回路 → 计数功能
· 【程序组织】组织块(OB)/功能块(FB)/功能(FC)/数据块(DB)
· 【工艺库】可复用的FB/FC库(电机控制库/PID库/报警库)
3.2 程序组织单元(POE)设计原则
POE类型 | 作用 | 设计原则 |
组织块 OB | 程序入口,循环/中断执行 | OB1主循环;OB100启动组织块;OB30~OB38循环中断 |
功能 FC | 无背景数据块的重复代码 | 纯逻辑计算/数据转换/通讯指令封装 |
功能块 FB | 有背景数据块,可参数化 | 电机块/PID块/报警块;每个实例对应一个DB |
数据块 DB | 存储数据,分全局和背景 | 全局DB存工艺参数;背景DB随FB实例化 |
四、SCL结构化编程:从梯形图到文本语言
TIA Portal支持LAD(梯形图)、FBD(功能块图)、SCL(结构化控制语言)三种编程语言。对于复杂的数据处理、通信和算法,SCL远比LAD简洁高效。
4.1 SCL基础语法速查
功能 | SCL语法 | 说明 |
赋值 | | 变量赋值和运算 |
IF条件 | IF a > 10 THEN ... ELSIF ... END_IF; | 条件分支 |
FOR循环 | FOR i := 1 TO 10 DO ... END_FOR; | 计数循环 |
WHILE循环 | WHILE a < 100 DO ... END_WHILE; | 条件循环 |
CASE多分支 | CASE cmd OF 1: ... 2: ... END_CASE; | 状态机常用 |
函数调用 | "MyFC"(in1 := a, out1 => b); | 调用FC |
FB调用 | "MyMotor"(sSpeed := 50); | 实例化FB |
数组访问 | | 一维数组 |
结构体 | | 访问结构体成员 |
4.2 状态机设计(SCL实战)
状态机是工业编程的核心武器——几乎所有离散控制逻辑(设备启停、工序流程)都可以用状态机实现。
// 状态机主逻辑(SCL示例)
// 状态0:待机
0: IF xStart THEN nState := 10; END_IF; // 状态10:启动
10: "MotorFB"(bEnable := TRUE, rTarget := 1500);
IF "MotorFB".bRunning THEN nState := 20; END_IF;
// 状态20:运行
20: IF xStop THEN nState := 30; END_IF; // 状态30:停止
30: "MotorFB"(bEnable := FALSE);
IF NOT "MotorFB".bRunning THEN nState := 0; END_IF;
END_CASE;
状态机设计的四个原则:
· 状态编号要连续,便于CASE语句处理
· 状态转换条件要明确,避免歧义
· 每个状态的输出(调用FB)要放在状态分支内
· 超时有保护(用TON定时器,超时跳转错误状态)
五、PROFINET高级功能:不止是连上去
5.1 等时同步模式(IRT)
IRT是PROFINET实时通信的最高级别,应用于运动控制场景。与RT(实时)相比,IRT的抖动(jitter)更小(<1μs),适合多轴同步控制。
· 配置要点:在网络视图中选中PN接口,勾选"等时同步模式"
· 刷新周期:1ms、2ms、4ms可选,周期越短对CPU性能要求越高
· 运动轴配置:在工艺对象中关联PN IO驱动器,设置等时同步参数
5.2 MRP环网冗余
MRP(Media Redundancy Protocol)可以让PROFINET网络在断线时快速恢复(<200ms),提高系统可靠性。
· 配置方法:所有PN设备加入同一个MRP域,设置一个管理器(Manager)和多个客户端(Client)
· 适用场景:工业现场网线容易受损的环境(机械磨损、设备挪动)
5.3 共享设备(Shared Device)
S7-1200 G2支持共享设备功能,允许多个控制器共享同一个PN IO设备。例如:一台远程IO由两个CPU共同使用,不同CPU控制不同的子模块。
· 典型应用:备用CPU热备(主备切换时IO不中断)
六、通讯功能:S7-1200 G2是一个通讯枢纽
6.1 S7通信(PUT/GET)
S7通信是西门子PLC之间的"内部高速总线",比Modbus TCP快很多。S7-1200 G2作为S7服务器时,可以被S7-1500/S7-1200/S7-300通过PUT/GET指令读写数据。
无需编程,直接在CPU属性中启用"访问权限"即可。客户端CPU使用PUT/GET指令:
· PUT:写入远程CPU的数据区(WRITE)
· GET:读取远程CPU的数据区(READ)
· 最多16个S7连接,支持HMI/PLC/PC多种客户端
6.2 Open User Communication(OUC)
OUC是TCP/UDP的自由口通信,可以与任何支持TCP/UDP的设备对接:机器人、视觉系统、PC端、数据库等。
指令 | 类型 | 用途 |
TSEND_C / TRCV_C | TCP/ISO-on-TCP | 带连接的发送/接收,适合长期通信 |
TSEND / TRCV | TCP/UDP | 自由口发送/接收,适合与任意设备对接 |
TCON / TDISCON | TCP/ISO-on-TCP | 建立/断开连接 |
MB_CLIENT | Modbus TCP客户端 | 作为Modbus TCP主站访问从站 |
MB_SERVER | Modbus TCP服务器 | 作为Modbus TCP从站响应主站 |
实战案例:S7-1200 G2通过OUC与视觉系统通信,将检测结果(OK/NG、缺陷类型、坐标)写入PLC,PLC据此执行分拣动作。
七、三个典型应用案例
案例1:六轴机器人涂胶工作站
某汽车零部件厂,六轴工业机器人配合视觉定位,对发动机缸体进行涂胶密封。
· 挑战:机器人需要与视觉系统、涂胶泵、安全门、夹具等多个外围设备联动
· 方案:S7-1215C(双PN口)+ PROFINET机器人 + PN视觉 + PN安全模块
· 关键点:使用PROFINET IRT实现机器人与视觉的同步(视觉拍照时机器人静止,精度<1ms抖动)
· 效果:涂胶精度±0.2mm,节拍时间12s/件,一次合格率达到99.4%
· 踩坑:初期用RT模式,视觉与机器人同步性差;切换到IRT模式后问题解决
案例2:市政泵站SCADA系统
某城市排水泵站,4台大功率水泵(每台250kW),需要根据液位自动启停,并上传数据到区级SCADA平台。
· 挑战:泵的启动电流大(直接启动),需要软启配合;SCADA需要实时数据(液位/流量/能耗)
· 方案:S7-1214C + 模拟量模块(液位计/流量计/功率变送器)+ Modbus TCP变频器 + PN通信模块
· 关键点:使用PID控制(CONT_C)调节变频器频率,维持集水池液位稳定
· 效果:能耗降低18%(按需启停,避免"跑冒滴漏"),SCADA数据刷新延迟<2s
· 踩坑:功率变送器通信不稳定,加信号隔离器后解决;PID参数整定用自整定功能
案例3:锂电池模组PACK线
某动力电池厂,模组PACK产线需要完成电芯上料、极耳焊接、模组组装、入箱测试等工序,产能要求60PPM(件/分钟)。
· 挑战:工位多(12个)、节拍紧(1秒/工位)、追溯要求高(每颗电芯数据绑定)
· 方案:主站S7-1515 + 4个从站S7-1215C(PROFINET IO)+ RFID电芯追溯 + MES数据上传
· 关键点:主从站通过S7通信交换工艺参数;RFID数据写入背景DB,实现100%追溯
· 效果:追溯系统覆盖率100%,数据完整率99.9%,满足《新能源汽车动力蓄电池回收利用管理暂行办法》要求
· 踩坑:RFID标签读取失败率高,检查后发现是金属屏蔽问题;改用抗金属标签+增大读写功率后解决
八、S7-1200 G2 vs S7-1500:边界在哪里
对比项 | S7-1200 G2 | S7-1500 | 选型建议 |
定位 | 中级紧凑型 | 高级模块化 | 点数多→1500;点数少→1200 |
性能 | 0.001μs/布尔指令 | 0.001μs/布尔指令 | 速度相当,1500指令库更丰富 |
程序空间 | 300KB | 8MB | 超复杂程序→1500 |
最大IO | 约2000点 | 约30000点 | IO点多→1500 |
运动控制轴 | 最多16轴(PN) | 最多128轴(PN) | 多轴→1500 |
安全功能 | 基础访问保护 | F-CPU安全PLC | 安全仪表系统→1500 F |
诊断功能 | 基本LED诊断 | 前端LED + 通道诊断 | 维护复杂→1500 |
价格 | 基准的50%~70% | 基准 | 成本敏感→1200 |
一条经验法则:点数 < 500、控制规模 < 16轴、预算有限 → S7-1200 G2;反之 → S7-1500。
九、避坑清单(Checklist)
维度 | 检查项 | 优先级 |
选型 | CPU型号是否满足DI/DO/AI/AO点数需求? | P0 |
选型 | 运动控制轴数是否超出CPU支持上限? | P0 |
电气 | 电源选型:CPU+所有模块的总电流 < 电源容量? | P0 |
项目结构 | FB/FC/DB命名规范了吗(建议用"类型_名称"格式)? | P1 |
编程 | 工艺参数放全局DB还是局部DB(建议全局DB,方便HMI访问)? | P1 |
编程 | SCL代码是否加了错误处理(超出数组边界怎么办)? | P1 |
通信 | PROFINET设备IP地址是否有冲突? | P0 |
通信 | IRT刷新周期是否设置合理(周期越短CPU负载越高)? | P0 |
安全 | 是否设置了CPU访问密码(防止程序被读出)? | P1 |
调试 | OB80/OB82/OB86/OB122等系统组织块是否处理了(避免意外停机)? | P1 |
文档 | IO分配表、变量表、IP地址表是否完整? | P1 |
十、总结
S7-1200 G2搭配TIA Portal,是中型自动化系统的黄金组合。它既有足够的性能应对复杂的逻辑、运动和通讯需求,又有友好的编程环境和丰富的生态支持。
核心要点回顾:
· G2最大升级:布尔指令0.001μs + 300KB程序空间 + PROFINET IRT + 最多16轴运动控制
· TIA项目结构:规范化是维护的基础,FB/FC/DB命名要统一
· SCL是复杂逻辑的首选,状态机是离散控制的核心武器
· PROFINET高级功能:IRT运动同步、MRP环网冗余、共享设备
· 通讯:S7通信适合西门子内部,OUC适合第三方设备,Modbus TCP适合通用场景