第3章:PLC编程入门(西门子1200)
各位同行,今天咱们聊聊西门子1200 PLC的编程入门。说实话,我刚入行那会儿,面对TIA Portal这个软件也是一头雾水。但别担心,跟着我的节奏走,你会发现其实没那么复杂。
3.1 TIA Portal软件安装与界面介绍
TIA Portal,全称是Totally Integrated Automation Portal。说白了,它就是西门子搞的一个“大杂烩”平台,把PLC编程、HMI组态、驱动配置全塞一块儿了。我个人习惯叫它“博途”,听着顺口。
3.1.1 软件安装要点
安装TIA Portal,我踩过不少坑。这里给你几个关键点:
- 版本选择:V15.1或V16比较稳定,我项目上用的就是V16。别追新,稳定第一。
- 系统要求:Windows 10专业版,64位。内存至少8GB,我建议16GB。硬盘留100GB空余,别问我怎么知道的——装到一半空间不够,那叫一个尴尬。
- 安装顺序:先装基础包,再装对应的STEP 7 Professional。别搞反了。
- 杀毒软件:安装时关掉。我遇到过杀毒软件把关键dll文件给隔离了,折腾半天。
3.1.2 界面布局
装好之后打开软件,你会看到这样一个界面:
- 项目树:左边这一溜,管理你的所有项目文件。有点像Windows的资源管理器。
- 工作区:中间大片区域,编程、组态都在这里干。
- 工具箱:右边,拖拽指令用的。我刚开始找定时器找了半天,原来藏在这里。
- 属性窗口:下面,选中啥就显示啥的属性。比如选中一个变量,这里就能改它的数据类型。
嗯,这里要注意:刚打开时可能有些窗口没显示。别慌,在“视图”菜单里勾上就行。
3.2 创建第一个项目与硬件组态
好,咱们动手创建一个项目。我带你走一遍流程:
3.2.1 创建项目
- 点击“创建新项目”。
- 输入项目名称,比如“MyFirstPLC”。
- 版本选你安装的对应版本。
- 点击“创建”。
就这么简单?对,就这么简单。但别高兴太早,重头戏在后面。
3.2.2 硬件组态
硬件组态,说白了就是告诉软件你实际用了哪些硬件。我见过有人组态时选错CPU型号,结果程序下载进去跑不起来。
- 在项目树里双击“添加新设备”。
- 选择“控制器”→ “SIMATIC S7-1200”→ 找到你的具体型号。比如我常用的是CPU 1214C DC/DC/DC。
- 点击“添加”。
这时候你会看到一个CPU的图形界面。嗯,这就是你的“虚拟PLC”。
配置IP地址:双击CPU上的以太网口,在属性里设置IP。我习惯用192.168.0.1,子网掩码255.255.255.0。记住,PLC和电脑要在同一个网段。
3.3 基本指令应用
好了,硬件组态完了,咱们开始写程序。西门子1200用的是梯形图(LAD),说白了就是画电路图。你想想看,继电器电路怎么画,梯形图就怎么画。
3.3.1 位逻辑指令
位逻辑是最基础的,就是处理“通”和“断”。
- 常开触点(--| |--):输入为1时导通。相当于继电器线圈得电。
- 常闭触点(--|/|--):输入为0时导通。相当于继电器线圈失电。
- 线圈(--( )--):输出赋值。前面条件满足,线圈得电。
举个例子:
// 梯形图示例:启动-停止电路
// I0.0 启动按钮(常开)
// I0.1 停止按钮(常闭)
// Q0.0 电机接触器
Network 1:
I0.0 I0.1 Q0.0
--| |--------|/|---------( )--
| |
| Q0.0 |
+----| |------------+
这个电路我用了不知道多少次。启动按钮按一下,Q0.0自锁;停止按钮按一下,断开。我在项目里遇到过一个问题:停止按钮用了常开,结果一按停止反而启动了。后来发现是接线和程序不匹配。记住:急停、停止按钮在程序里通常用常闭触点。
3.3.2 定时器指令
定时器,说白了就是延时。西门子1200里有好几种,我常用的就两个:
| 指令 | 功能 | 应用场景 |
|---|---|---|
| TON(接通延时) | 输入ON后,延时一段时间输出ON | 电机启动延时、防抖动 |
| TOF(断开延时) | 输入OFF后,延时一段时间输出OFF | 风扇延时停止、冷却延时 |
举个例子:电机启动后,需要先打开冷却水泵,5秒后再启动电机。
// TON定时器示例
// I0.0 启动信号
// T1 定时器,PT=5000ms(5秒)
// Q0.0 冷却水泵
// Q0.1 电机
Network 1: 启动定时器
I0.0
--| |----( T1 TON )
PT=5000ms
Network 2: 冷却水泵直接启动
I0.0
--| |----( Q0.0 )
Network 3: 定时时间到,启动电机
T1.Q
--| |----( Q0.1 )
我曾经在锂电池注液机上用过这个逻辑。注液前先开真空泵,延时3秒再开注液阀。如果顺序搞反了,电解液会喷出来——别问我怎么知道的。
3.3.3 计数器指令
计数器,就是数数的。比如数有多少个电池片过去了。
- CTU(加计数器):每来一个脉冲,计数值加1。
- CTD(减计数器):每来一个脉冲,计数值减1。
- CTUD(加减计数器):既能加又能减。
举个例子:传送带上每通过一个电池,传感器检测到,计数器加1。当计到100个时,发出满盘信号。
// CTU计数器示例
// I0.0 传感器信号(上升沿触发)
// I0.1 复位信号
// C1 计数器,PV=100
// Q0.0 满盘指示灯
Network 1: 计数
I0.0
--|P|----( C1 CTU )
PV=100
Network 2: 复位
I0.1
--| |----( C1.R )
Network 3: 计数值到达
C1.Q
--| |----( Q0.0 )
这里有个坑:计数器的复位信号要小心处理。我遇到过复位信号一直为1,结果计数器永远计不了数。后来发现是复位逻辑写错了,应该用上升沿触发复位。
- 位逻辑:理解常开、常闭、线圈的关系
- 定时器:TON和TOF的区别,PT时间设置
- 计数器:CTU的复位逻辑,PV值的设定
- 硬件组态:CPU型号、IP地址必须与实际一致
好了,这一章的内容就这些。你回去可以自己动手试试,在TIA Portal里建个项目,拖几个指令玩玩。刚开始可能会觉得别扭,但多练几次就顺手了。记住,PLC编程没什么神秘的,就是逻辑+经验。
公众号:蓝海资料掘金营,微信deep3321