简介:这份资源面向零基础想入门西门子S7-1200 PLC编程的新手,以电动机点动控制为切入点,解决市面上带实物教程无法上手、纯理论仿真又过于抽象的问题。教程基于博途V15.1制作,需该版本及以上才能打开,压缩包内含PLC程序与HMI仿真,可直接运行HMI查看效果,与实际工况一致。资源共82个文件,约6.7MB,以cfs、del、xml、dat等工程与配置文件为主,另含gif、jpg画面素材及tvx、tvd等仿真数据文件,覆盖程序、HMI画面与仿真运行所需模块。已有1245人学习下载。读者可借此理解继电器与接触器工作原理,掌握开关控制接触器、接触器控制电机的硬件电路与梯形图程序对应关系,并直接在HMI上操作按钮观察程序实时状态,为后续启保停等控制打下基础。
1. 没有实物也能跑通 S7-1200:点动控制仿真到底能解决什么
很多人卡在学 PLC 的第一步不是编程,而是手里没有硬件。一台 S7-1200 加上开关电源、断路器、接触器、按钮、指示灯,配齐一套少说也要上千块,而且接线错了还可能烧端口。我见过不少电工电子方向的从业者,梯形图看得懂,指令表也能读,但一到自己动手就发怵,因为从来没让程序真正“跑”起来过。这份资源要解决的就是这个断层:用西门子 TIA Portal 自带的 PLCSIM 仿真器,配合 S7-1200 的虚拟 CPU,把电动机点动控制这个最经典的入门回路完整跑一遍。你不需要买任何实物,只需要一台能装 TIA Portal 的电脑,就能看到按下启动按钮电机转、松开按钮电机停的完整逻辑。它适合三类人:刚接触 PLC 的零基础新手、想验证程序逻辑但懒得接线的熟手、以及需要给学生演示却苦于设备不够的培训人员。点动控制虽然简单,但它是所有自锁、互锁、正反转回路的母题,把这个跑通,后面的东西才有根。
2. 把 TIA Portal 和 PLCSIM 装明白:环境搭建与项目创建
2.1 版本选择与安装顺序的坑
TIA Portal 的版本兼容性是第一个拦路虎。S7-1200 的固件版本和 TIA Portal 版本之间有严格的对应关系,比如 V4.x 的 CPU 固件通常需要 TIA Portal V15 及以上才能组态。我一般建议新手直接上 TIA Portal V16 或 V17,这两个版本对 PLCSIM 的支持最稳定,而且网上能找到的教程资料也最集中。安装顺序不能乱:先装 TIA Portal 本体,再装 PLCSIM,最后装 PLCSIM Advanced(如果你需要更高级的通信仿真)。如果顺序反了,PLCSIM 可能识别不到 TIA Portal 的接口,表现为仿真启动按钮灰色不可点。
安装过程中有一个血泪经验:Windows 用户名不能带中文。TIA Portal 的某些组件对中文路径支持极差,安装到一半报错“无法创建目录”是常见现象。如果你现在的用户名已经是中文,要么新建一个英文用户,要么重装系统时直接设成英文。另外,安装前把杀毒软件关掉,TIA Portal 的安装程序会往注册表写大量条目,杀毒软件拦截后会导致 PLCSIM 的虚拟网卡驱动装不上,后面仿真时连不上 CPU。
2.2 新建项目与硬件组态
打开 TIA Portal,点击“创建新项目”,项目名称用英文或拼音,路径同样不要有中文。进入项目视图后,在“项目树”里找到“添加新设备”,选择“控制器”下的“SIMATIC S7-1200”,然后选 CPU 型号。对于点动控制这种练习,选 CPU 1214C DC/DC/DC 就够用,这个型号有 14 个数字量输入和 10 个数字量输出,完全覆盖需求。固件版本选 V4.0 或以上,因为低版本固件在 PLCSIM 里不支持某些新指令。
# 这不是命令行操作,而是组态时的检查清单 # 1. 项目路径:D:\PLC_Sim\JogControl (全英文) # 2. CPU 型号:CPU 1214C DC/DC/DC # 3. 固件版本:V4.0 及以上 # 4. 机架:0,插槽:1 # 5. 以太网地址:192.168.0.1,子网掩码 255.255.255.0组态完成后,双击“设备与网络”进入设备视图,确认 CPU 的以太网接口已经分配了 IP 地址。这个 IP 在仿真时会被 PLCSIM 虚拟网卡接管,所以不用和你的物理网卡冲突。如果你后面要连真实的 HMI 或者做 Modbus TCP 通信,这个 IP 段要提前规划好,但点动控制阶段用默认的就行。
2.3 PLCSIM 的启动与连接
硬件组态编译通过后,点击工具栏上的“开始仿真”按钮(一个带绿色三角的芯片图标)。TIA Portal 会自动调用 PLCSIM,弹出一个虚拟 CPU 的控制面板。第一次启动时,PLCSIM 会提示你选择网络适配器,这里选“PLCSIM Virtual Ethernet Adapter”,不要选你的物理网卡。选错的话,TIA Portal 会尝试通过物理网卡连接虚拟 CPU,结果就是一直显示“正在连接”然后超时。
PLCSIM 面板上有一排指示灯,RUN/STOP 灯亮绿色表示 CPU 处于运行状态。如果灯是黄色,说明 CPU 在 STOP 模式,程序不会执行。你可以手动拨动面板上的开关到 RUN 位置。另外,面板上还有一个“下载”按钮,但通常我们直接在 TIA Portal 里点“下载到设备”就行,PLCSIM 会自动接收。下载时如果提示“目标设备拒绝连接”,八成是虚拟网卡的防火墙没放行,去 Windows 防火墙里把 PLCSIM 和 TIA Portal 都加进允许列表。
3. 点动控制的梯形图逻辑:从 I/O 分配到程序下载
3.1 I/O 分配与变量表建立
点动控制的核心逻辑是:按下按钮,输出接通;松开按钮,输出断开。没有自锁,没有保持。所以输入只需要一个启动按钮(常开触点),输出只需要一个接触器线圈(控制电机)。但在实际工程中,我们还会加一个停止按钮作为硬件保护,虽然点动逻辑里停止按钮不参与程序运算,但它在电气回路上是串联的。仿真阶段为了简化,可以只用一个输入。
在 TIA Portal 的“PLC 变量”表里,按下面的格式建立变量:
| 变量名称 | 数据类型 | 地址 | 注释 |
|---|---|---|---|
| StartBtn | Bool | %I0.0 | 启动按钮(常开) |
| MotorRun | Bool | %Q0.0 | 电机接触器线圈 |
| StopBtn | Bool | %I0.1 | 停止按钮(常闭) |
注意地址格式:S7-1200 的输入是 %I,输出是 %Q,后面跟字节号和位号。%I0.0 表示输入字节 0 的第 0 位。变量名称不要用中文,虽然 TIA Portal 支持中文变量名,但在 PLCSIM 仿真时,中文变量名偶尔会导致监控表刷新异常,这是玄学问题,但遇到了很耽误时间。
3.2 梯形图编写与指令选择
在“程序块”里打开“Main [OB1]”,开始画梯形图。点动控制的梯形图极其简单:一个常开触点 %I0.0 直接驱动一个线圈 %Q0.0。但这里有一个新手容易翻车的地方:触点选“常开”还是“常闭”?按钮的物理特性是按下接通、松开断开,所以程序里用常开触点(Normally Open,NO)。如果你用了常闭触点,逻辑就反了,按下按钮反而断开输出。
// 梯形图逻辑(用文本示意,实际在 TIA Portal 里拖拽) // Network 1: 点动控制 // |---[ ]---( )---| // I0.0 Q0.0 // 启动按钮 电机线圈在 TIA Portal 里,从右侧指令树拖一个“常开触点”到网络 1,地址填 %I0.0;再拖一个“线圈”到触点右侧,地址填 %Q0.0。两个元件之间自动连线。如果你想让程序更规范,可以在线圈前加一个停止按钮的常闭触点 %I0.1,这样在仿真时也能模拟停止功能。但注意,点动逻辑里停止按钮不参与自锁,它只是串联在回路上,按下停止按钮时输出断开,松开后如果启动按钮还按着,输出会重新接通。这和真实电气回路的行为一致。
3.3 编译、下载与仿真运行
梯形图画完后,点击“编译”按钮(一个带锤子的图标)。编译成功后,底部信息栏会显示“编译完成,无错误”。如果有错误,最常见的是地址重复或者指令不支持。比如你把线圈地址写成了 %I0.0,编译会报“输出地址不能用于输入”。编译通过后,点击“下载到设备”,选择“PN/IE”接口,PLCSIM 虚拟网卡会自动出现在下拉列表里。下载完成后,PLCSIM 面板上的 CPU 会从 STOP 切换到 RUN。
现在打开“监控表”,添加 %I0.0 和 %Q0.0 两个变量。在“修改值”列里,把 %I0.0 改成 TRUE,然后点“立即修改”。你会看到 %Q0.0 立刻变成 TRUE,PLCSIM 面板上对应的输出指示灯也会亮。再把 %I0.0 改回 FALSE,%Q0.0 随即熄灭。这就是点动控制的完整仿真过程。如果你想让操作更接近真实按钮,可以在 PLCSIM 面板上使用“输入开关”功能,直接拨动 I0.0 的开关,效果一样。
4. 仿真跑通之后:常见报错与排查思路
4.1 下载时提示“无法建立连接”
现象:点击下载后,TIA Portal 弹出对话框说“无法建立到目标设备的连接”,PLCSIM 面板上的 CPU 显示 STOP 或 ERROR。
原因:最常见的是虚拟网卡没有正确安装或者被防火墙拦截。PLCSIM 安装时会创建一个虚拟以太网适配器,如果安装时杀毒软件拦截了驱动安装,这个适配器就不会出现在网络连接列表里。另一个原因是 TIA Portal 的“在线访问”设置里选错了网卡。
解决:打开 Windows 的“网络连接”,确认有一个叫“PLCSIM Virtual Ethernet Adapter”的适配器,并且状态是“已启用”。如果没有,卸载 PLCSIM 重新安装,安装前关闭杀毒软件。然后在 TIA Portal 的“在线访问”里,双击“PLCSIM”节点,让它自动搜索虚拟网卡。如果还是不行,把 TIA Portal 和 PLCSIM 都加到防火墙白名单里。
4.2 监控表里变量值不刷新
现象:在监控表里修改了 %I0.0 的值,但 %Q0.0 不跟着变,或者监控表里的数值一直是灰色。
原因:监控表没有处于“在线”状态。TIA Portal 的监控表需要先点击“眼镜”图标(监视按钮)才能实时刷新。另一个原因是 PLCSIM 的 CPU 处于 STOP 模式,程序不执行,输出自然不会变。
解决:先确认 PLCSIM 面板上的 RUN 灯是绿色。然后在监控表工具栏上点击“全部监视”按钮(一个带眼镜的图标),监控表里的数值会变成实时的彩色显示。如果还是灰色,检查监控表是否绑定到了正确的 CPU,有时候项目里有多个 CPU 会导致绑定错误。
4.3 程序下载后 CPU 报错
现象:下载完成后,PLCSIM 面板上的 ERROR 灯亮红色,CPU 无法进入 RUN 模式。
原因:程序里有语法错误或者硬件组态不匹配。比如你组态的 CPU 型号是 1214C,但程序里用了 1215C 才支持的指令。或者你在 OB1 里调用了未定义的函数块。
解决:在 TIA Portal 的“在线和诊断”里查看诊断缓冲区,里面会明确告诉你错误代码和出错位置。常见的错误代码如“区域长度错误”通常是因为地址越界,比如你用了 %I100.0 但 CPU 只支持到 %I15.7。把地址改回有效范围即可。如果是指令不支持,换一个兼容的指令或者升级 CPU 固件版本。
4.4 仿真时输出抖动或闪烁
现象:在监控表里修改输入值时,输出 %Q0.0 快速闪烁,而不是稳定接通。
原因:PLCSIM 的扫描周期和监控表的刷新周期不同步。当你手动修改输入值时,PLCSIM 可能在一个扫描周期内多次读取到变化的值,导致输出抖动。这在真实 PLC 上不会发生,因为真实按钮的机械触点有消抖。
解决:这不是程序逻辑错误,是仿真环境的特性。你可以在监控表里用“修改值”而不是“立即修改”,或者把输入开关拨动后停留一秒再观察。如果确实需要消抖,可以在程序里加一个 TON 定时器,延时 50ms 再输出,但这对于点动控制来说属于过度设计,仿真阶段没必要。
4.5 项目保存后重新打开,PLCSIM 连不上
现象:昨天还能仿真,今天打开项目,点仿真按钮没反应,或者提示“找不到 PLCSIM 实例”。
原因:PLCSIM 的虚拟网卡在电脑重启后可能没有自动启用,或者 IP 地址被其他软件占用了。另外,TIA Portal 的项目文件如果是从别人那里拷贝来的,项目里的 CPU 固件版本可能和你本地的 PLCSIM 不匹配。
解决:先检查网络连接里的虚拟网卡是否启用。然后打开 TIA Portal 的“在线访问”,重新搜索一次 PLCSIM 节点。如果还不行,在 PLCSIM 面板上点“复位”按钮,把虚拟 CPU 恢复到出厂设置,再重新下载程序。养成习惯:每次仿真前先启动 PLCSIM,再打开 TIA Portal 项目,顺序反了容易出玄学问题。
5. 从点动到自锁:一个仿真技巧的延伸用法
点动控制跑通之后,我建议你立刻做一件事:把程序改成自锁回路,然后对比两者的区别。这个动作只需要在梯形图里加一个并联的常开触点 %Q0.0,地址和线圈一样。改完后重新下载,你会发现按下启动按钮后松开,输出依然保持接通,直到按下停止按钮才断开。这个对比能让你直观理解“自锁”的本质——用输出自己的常开触点给自己供电。
但这里有一个仿真环境特有的坑:在 PLCSIM 里,如果你用监控表强制 %Q0.0 为 TRUE,然后试图用停止按钮断开它,可能会失败。因为强制值会覆盖程序运算结果,程序里线圈得电,但强制值把它压住了。所以做自锁实验时,不要用强制功能,老老实实通过输入开关来操作。我一般会建一个监控表,把 %I0.0、%I0.1、%Q0.0 都放进去,然后用“修改值”来模拟按钮动作,这样最接近真实工况。
另一个延伸用法是加定时器。点动控制里电机启动瞬间电流很大,真实工程中可能会加一个星三角启动或者软启动器。在仿真里,你可以用一个 TON 定时器,让输出在按下按钮后延时 2 秒再接通,模拟一个软启动过程。定时器的 PT 参数填 T#2S,IN 端接 %I0.0,Q 端接 %Q0.0。这样你就能看到按下按钮后等两秒电机才转,松开按钮电机立刻停。这个练习能帮你理解定时器在启停控制里的作用。
还有一个技巧是导出仿真数据。PLCSIM 支持把变量变化记录成 CSV 文件,在 PLCSIM 面板上点“记录”按钮,选择要记录的变量和采样周期,仿真结束后就能拿到一份时间戳数据。这份数据可以导入 Excel 画曲线,用来分析按钮按下的持续时间和输出响应的延迟。对于做课程设计或者写报告的人来说,这个功能比截图有说服力得多。
从那以后我每次带新人做仿真,都强制他们先跑一遍点动,再跑一遍自锁,最后把两个程序合并到一个项目里用不同的 OB 块调用。这样做的目的是让他们在同一个仿真环境里反复切换逻辑,形成肌肉记忆。仿真最大的价值不是替代实物,而是让你在零成本的前提下把逻辑试错做到极致。希望帮到你。
本文还有配套的精品资源,点击获取