简介:这份西门子 SIMATIC S7-1200 可编程控制器选型样本手册(2022.09 版),面向从事中小型自动化项目设计、电气选型与 PLC 编程调试的工程师,以及需要查阅官方订货数据的院校师生,用于解决 CPU、扩展模块与附件型号繁多、技术指标难以横向比对的问题。压缩包为 1 个 PDF 文件,体积约 9.72MB,便于离线翻阅与打印存档。手册内容覆盖产品技术综述、CPU 1211C 至 CPU 1217C 的标准型与故障安全型选型,SM 1221/1222/1223 数字量模块、SM 1231/1232/1234 模拟量模块,信号板 SB 与通信板 CB,以及 CM 1241、CM 1243-5、CP 1243-1 等通信模块和故障安全扩展模块。附件部分给出电源模块 PM 1207、输入仿真器、存储卡等订货信息,附录还提供 CPU 与扩展模块接线图、通用技术规范和订货数据表,可辅助完成方案配置与图纸设计。目前已有 2275 人学习下载,适合作为选型与备料阶段的常用参考。注:以官方最新发布为准。
1. 选型手册不是产品目录:S7-1200 选型的三个判断维度
多数人打开这份 PDF 的第一反应是翻到 CPU 页面看点数,然后按点数挑一个型号报价。等到博途里组态才发现:信号模块挂不上、24V 传感器电源不够、想走 Modbus RTU 却发现 CPU 本体根本没有 RS485 口。选型样本手册的价值不在"哪个型号有几个输入点",而在于它把每个模块的电流消耗、扩展槽数量、通讯能力和固件边界都列了出来,这些才是决定方案成不成立的东西。
做中小型设备的电控方案时,我从这份手册里只抓三件事。一看点数与类型够不够:本体 I/O 加扩展到底能到多少,模拟量走模块还是走信号板。二看供电与电流预算:CPU 的 5V 背板总线电流和 24V 传感器电源能带几个模块,这是最容易被忽略的硬约束。三看通讯与工艺能力:集成以太网口、RS485 通讯模块、工艺模块各自解决什么问题。这三条任何一条越界,方案在图纸阶段就得推翻,而不是等到现场调试再改。
2. 拆解 S7-1200 模块化组成架构:从 CPU 到信号板的手册阅读顺序
S7-1200 的"模块化"是有层次的:CPU 本体、插在 CPU 正面的信号板 SB、挂在右侧的信号模块 SM、通讯模块 CM 与通讯处理器 CP、以及工艺模块 TM。手册的目录基本按这个顺序排,顺着目录读一遍,比跳着翻省时间,也不容易漏掉安装位置和槽位限制这类细节。
2.1 CPU 型号与订货号:手册里怎么定位一款具体的 S7-1200
CPU 一览表是整本手册信息密度最高的一页。常见做法是把这张表横向拆成几组字段:本体 I/O 配置(DI/DO/AI/AO 各几个)、可扩展的信号模块数量、可插的信号板数量、可挂的通讯模块数量、装载存储器与工作存储器容量、位指令执行时间。选型时真正卡人的往往不是本体那十几个输入点,而是"最多能扩几个 SM"这一栏,它决定了这套配置的天花板。
订货号是另一条线索,用来把手册里的某一行和采购单、博途硬件目录对上。常见格式像6ES7 214-1AG40-0XB0这样分段:前缀段标识产品系列,中间段对应具体模块型号与 I/O 规格,短横线后的字段区分功能等级与版本,末段一般与固件版本、包装形式相关。实际下单时不要凭记忆拼订货号,直接在手册的订货号索引里查,或者反过来把博途硬件目录里选中的模块订货号抄下来,两边对一遍。
提示:同一型号 CPU 的不同固件版本,订货号末段可能不同。手册和博途目录对不上时,先确认固件版本,而不是怀疑选错了型号。
下面这张表把手册里 CPU 参数表常见的字段做个归类,方便快速定位:
| 参数分组 | 手册中常见的字段 | 选型时看什么 |
|---|---|---|
| 本体 I/O | 数字量输入/输出点数、模拟量输入/输出点数 | 是否够用,不够要留出扩展位置 |
| 扩展能力 | 信号模块数量、信号板数量、通讯模块数量 | 决定 I/O 与通讯的上限 |
| 存储与性能 | 工作存储器、装载存储器、位指令时间 | 程序规模大、扫描周期要求高时看 |
| 供电 | 5V 背板总线电流、24V 传感器电源电流 | 加模块前先做电流预算 |
| 通讯接口 | 集成以太网口数量、支持的协议 | 决定要不要额外加通讯模块 |
2.2 信号模块 SM 与信号板 SB:I/O 点数怎么按手册算
信号模块 SM 挂在 CPU 右侧:数字量输入、数字量输出、数字量混合、模拟量输入、模拟量输出、模拟量混合,还有热电阻和热电偶专用模块。手册里每个模块都会给"每模块占用的 I/O 点数与地址长度",模拟量模块还会给分辨率和转换时间。信号板 SB 则是插在 CPU 正面的小板,典型用途是补一两个模拟量通道或者补一个 RS485 口,它不占右侧扩展槽位,槽位已经用满时这一条非常关键。
点数不是简单相加。S7-1200 的 I/O 地址按模块顺序自动分配,扩展模块的类型和排列顺序会影响地址映射,做接线图和点表时最好按手册里模块排列顺序相关章节,把物理顺序和地址顺序固定下来,避免后期调整模块位置导致点表全乱。下面这段脚本用来把手册里抄下来的模块清单做一次汇总,算总点数、总槽位和总电流:
# modules.csv 从手册表格手工摘录,表头:名称,类型,DI,DO,AI,AO,槽位,5V电流mA,24V电流mA import csv def summarize(path): total = {"DI": 0, "DO": 0, "AI": 0, "AO": 0, "slots": 0, "i5v": 0, "i24v": 0} with open(path, newline="", encoding="utf-8") as f: for row in csv.DictReader(f): if row["类型"] != "CPU": # CPU 本体不占扩展槽位 total["slots"] += int(row["槽位"]) for k in ("DI", "DO", "AI", "AO"): total[k] += int(row[k]) # 电流逐模块累加,手册给的是典型值 total["i5v"] += int(row["5V电流mA"]) total["i24v"] += int(row["24V电流mA"]) return total result = summarize("modules.csv") print(result) # 判断一:result["slots"] 是否超过手册中该 CPU 的“信号模块数量”上限 # 判断二:result["i5v"] 是否超过 CPU 提供的 5V 背板总线电流逻辑是逐行累加,类型字段用来把 CPU 本体排除在槽位计数之外。5V电流mA和24V电流mA必须分开累加:5V 是背板总线供电,24V 是模块自身与传感器负载的电源需求,两者上限不同,混在一起算就失去了判断意义。参数上,槽位一列按模块实际占用的槽位数填,多数 SM 占 1 个,部分模块占 2 个。任一结果超限,方案就得换 CPU 或者改用信号板补点。
2.3 通讯模块 CM 与工艺模块:什么场景必须加卡
通讯相关的选型分歧最多。CPU 本体的以太网口可以走 Modbus TCP,也可以用开放式用户通讯指令建立 TCP/UDP 连接,所以"一台 PLC 轮询几台支持 Modbus TCP 的变频器"这类需求通常不需要额外加通讯模块,重点反而落在轮询调度上:连接数、超时时间和扫描周期三者的关系要提前算,轮询台数越多,单台设备的响应间隔越长,对响应敏感的设备就得拆到不同连接或调整轮询策略。
需要 RS485 走 Modbus RTU 时,CPU 本体没有串口,必须加 CM 1241(RS232 或 RS485)或者 CB 1241 信号板。接 PROFIBUS DP 主站用 CM 1243-5,做 DP 从站用 CM 1242-5,要与上位系统走独立的以太网通讯可以考虑 CP 1243-1 这类通讯处理器。工艺模块 TM 对应特定功能,比如高速计数、脉冲输出、控制伺服或步进,选之前先确认 CPU 本体自带的高速计数器和脉冲输出通道数量够不够,这几项在 CPU 参数表里都有。
注意:通讯模块有的是左侧安装、有的是右侧安装,安装位置在手册的模块安装章节有明确要求。装错侧会让总线连接器走线和地址顺序都乱掉。
3. 用参数表做选型:电源、电流预算与 I/O 余量的计算
选型失误里,电流预算算错的比例不比点数算错低。手册给的是每个模块的典型电流消耗,工程上要按最坏情况留余量,尤其是带继电器输出的模块和带大量传感器的输入点。
3.1 24V DC 负载与背板总线电流预算
CPU 提供给扩展模块的电源分两路:一路是 5V 背板总线电流,一路是 24V DC 传感器电源。手册里每个 SM、SB、CM 都会列出它从背板总线取多少 5V 电流、从 24V 电源取多少电流。做法很直接:把清单里所有模块的两项电流分别求和,与 CPU 参数表里的"5V 背板总线电流"和"24V 传感器电源电流"逐项比较,任一超限就要考虑外接 24V 电源或者减少模块数量。
容易踩的坑是 24V 部分只算了模块本身,忘了传感器和负载。数字量输入点接的接近开关、光电开关都要从 24V 取电,输出点驱动的中间继电器线圈同样是负载。我的习惯是先把现场所有 24V 负载列一张表,再加上模块自身消耗,最后统一和 CPU 的 24V 供电能力比,多出来的部分用外部开关电源补。手册里 CPU 的 24V 输出还有短路保护相关说明,也要看一眼,外部负载超过保护阈值时会出现整组模块掉电。
3.2 数字量输入输出的电压电流参数怎么读
数字量输入的参数表里,需要重点关注额定输入电压、逻辑 1 和逻辑 0 的电压门限、输入电流,以及是否支持漏型/源型两种接法。S7-1200 的 DI 通常两种接法都支持,具体以手册接线图为准,图上会标明公共端接 24V 还是接 0V。NPN 和 PNP 传感器混用的现场,先看这一栏,接反了不会报错,但输入点永远读不到变化。
数字量输出分晶体管型和继电器型。晶体管型有负载电流上限、漏电流、开关频率这些参数,驱动感性负载要加续流二极管;继电器型有机械寿命和动作频率限制,不能拿来做高速脉冲输出。手册里会分别给出不同输出类型的参数表,按负载类型查对应的那张表,不要拿晶体管型的数据套在继电器型上。选型阶段确认输出类型,比后期加中间继电器省事得多。
3.3 模拟量模块的精度与量程参数表解读
模拟量模块的参数表字段最多,抓住四组就够:量程与测量类型(电压、电流、RTD、TC)、分辨率、转换时间、共模抑制与输入阻抗。分辨率决定能分辨的最小变化量,转换时间决定多通道轮流采样的总周期——通道数乘以转换时间就是一轮扫描要花的时间,控制回路依赖模拟量反馈时,这个数必须小于控制周期。
RTD 和 TC 模块还有额外的点:接线方式(两线、三线、四线)直接影响测量精度,三线制补偿导线电阻,四线制精度更高但接线复杂。手册接线图会把不同接线方式的端子连接画出来,选型阶段至少要确认模块支持现场传感器的接线方式,否则到现场只能改传感器或加变送器。屏蔽与接地在安装章节也有要求,模拟量通道跳变大多数情况下和接地处理有关,而不是模块本身的毛病。
4. 从手册落到博途:订货号、GSD 与资源占用核对
手册选完型,下一步是把清单搬进博途组态。这一步最容易出问题的地方不在硬件配置本身,而在版本和资源余量。
4.1 在博途里按订货号组态并查看 PLC 资源使用情况
流程是:新建项目,添加 CPU 设备,在硬件目录里按订货号筛选模块,逐个拖到机架对应槽位。拖动时博途会自动校验槽位顺序和模块数量,超出 CPU 扩展能力的模块直接拖不进去,这比翻手册核对快得多。全部拖完后编译,看编译信息里有没有槽位或电流相关的告警。
编译通过后在线连接 CPU,在设备视图或在线诊断里看资源占用。程序存储器、工作存储器、位存储器、定时器和计数器的占用都会列出来。选型阶段如果程序规模大,可以先用空程序跑一遍看基础占用,估算加完逻辑之后还剩多少余量。位存储器占用尤其值得看,习惯用 M 点做中间变量的项目,用多了会吃掉不少空间,手册里给的位存储器容量只是一个上限参考。
# 备份当前工程,便于对比不同 CPU 选型下的资源占用 # 路径按实际工程修改,这里只示意目录结构 tia_project="/d/Projects/Line1" cp -r "$tia_project" "${tia_project}_bak_$(date +%Y%m%d)" ls -lh "${tia_project}_bak_$(date +%Y%m%d)"这段命令把当前工程整体复制一份带日期的备份。tia_project指向工程目录,按自己的盘符和路径改;date +%Y%m%d生成日期后缀,避免多次备份互相覆盖。换 CPU 型号、改模块配置之前先备份,是保证能退回上一个可用版本的常规动作。
4.2 数据类型与多重实例的选型影响
选型阶段很少人关注数据类型,但它直接决定内存够不够。REAL 占 4 字节,DINT 占 4 字节,LReal 占 8 字节;数组和结构体在 DB 里按声明顺序占用,中间还可能有对齐填充。程序里大量使用 LReal 和大数组时,工作存储器消耗会明显上去,这时候不同 CPU 型号的容量差别就体现出来了。
多重实例是另一个吃内存的点。把 TON、TOF、CTU 这类指令的背景数据块声明为多重实例,放在功能块自己的实例 DB 里,比每个定时器单独建全局 DB 更好管理,但总量上并不会省太多空间。真正影响选型的是实例数量:几十个功能块实例叠加起来,装载存储器和主存储器都要重新算一遍。可以先把主要功能块的实例数和每个实例的大致字节数估出来,对照手册里的存储器容量,而不是等程序写完才发现不够。
4.3 手册参数与实际运行值对不上的排查
对不上通常归到四类。第一类是固件版本:博途中组态的模块固件版本高于实际模块,编译能过但下载报错,处理办法是改成实际固件版本或者升级模块固件。第二类是背板总线超限:模块数量在允许范围内但 5V 电流超了,表现为部分模块时有时无,诊断缓冲区里会出现模块故障记录。第三类是 24V 供电不足:现场表现为整组输入点同时读不到信号,用万用表量 CPU 的 24V 输出端就能确认。第四类是地址分配与接线点表不一致:模块顺序调整后没同步更新点表,程序读到的是别的模块的通道。
排查顺序建议从诊断缓冲区开始,在线诊断会把出问题的模块和错误类型直接列出,比逐个量线快。诊断缓冲区没有记录时,再看模块 LED 指示灯状态,手册里每个模块都有指示灯含义的表格,闪烁频率对应不同故障类型。这一步能省掉大量来回插拔的时间。
提示:手册里关于诊断和 LED 指示灯的章节通常放在每个模块末尾,容易被跳过,但现场排错时翻得最多的就是这几页。
5. 选型复核:把手册数据变成一份可交付的 BOM 核对清单
选型做完之后,最后一步是把手册里的数据整理成能给采购和现场用的清单,同时做一次交叉核对。这一步花的时间不多,但能挡住大部分返工。
我把复核固定成五查。第一查点数余量:数字量输入输出各留 15% 到 20% 的备用点,模拟量至少留一个通道或者一个信号板位置,现场临时加一个传感器是常事。第二查电流余量:5V 背板总电流不超过 CPU 上限的合理比例,24V 负载总量留出外部开关电源的接入位置。第三查槽位余量:扩展槽不要刚好用满,留一到两个位置,同时确认信号板位置是否空着。第四查版本一致性:所有模块的固件版本和博途硬件目录里能选到的版本对齐,不要出现同一项目中混用多个版本的情况。第五查订货号对应关系:手册里的订货号、博途里选中的订货号、询价单上的订货号三者一致,末段的固件后缀也要一致。
清单建议直接用 CSV,而不是截图和 Excel 混着发。把手册表格里摘出来的字段固定成:名称、订货号、类型、DI、DO、AI、AO、槽位数、5V 电流、24V 电流、固件版本、数量、备注。这样一个文件既能给采购询价,又能给现场做接线核对,还能直接喂给前面那段统计脚本做余量检查。字段名固定下来之后,同一套脚本可以复用到下一个项目,换的只是 CSV 的内容。
如果项目要做成标准化机型,可以把这份 CSV 按"基础配置 + 选配项"两段拆开:基础配置写死,选配项按客户需求增删,每次增删后重跑一次电流和槽位统计。这样即使后续换了 CPU 型号,只要脚本里的上限值跟着手册更新,余量判断就不会漏。手工核对几十行模块清单容易出错,把判断逻辑写进脚本,输出的就是一份带结论的清单,而不是一堆需要自己加减的数字。
# 把复核结论固化成一个可复用的检查入口,每次改完配置跑一次 python3 check_bom.py modules.csv \ --slots-max 8 \ # 该 CPU 允许的信号模块数量上限,从手册 CPU 参数表查 --i5v-max 1000 \ # 5V 背板总线电流上限,单位 mA,从手册查 --i24v-max 400 # 24V 传感器电源电流上限,单位 mA,从手册查这三个上限参数必须来自手册当前版本的 CPU 参数表,而不是上一代型号或记忆里的数字。换 CPU 型号时同步更新这三个值,其余逻辑不用动,输出就是一份带超限提示的 BOM 结论。
本文还有配套的精品资源,点击获取