![西门子S7-1200 PLC编程从入门到实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/150/43738150/b_43738150.jpg)
1.2.3 【实例1-1】液位自动控制
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/018-2.jpg?sign=1739271657-AbW5ZQYNYrrOejJtzvknlzvTklQBLtCY-0-71da4e2beb4de2e4dca76df929d10a4f)
实例说明
图1-15是某泵站采用S7-1200 CPU 1215C DC/DC/DC进行液位自动控制示意图,当下液位开关检测到ON时,启动水泵,进行注水;当水位达到一定值时,上液位开关检测到ON,则停止水泵。请设计电气线路,并进行PLC编程和下载。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/018-4.jpg?sign=1739271657-eakFmCduhlz6EoOnvCMdtaAAZo3yoPfq-0-8798572bb9cb732cf1741772aa0563c2)
图1-15 液位自动控制示意图
实施步骤
步骤1:电气接线和输入/输出定义
根据实例说明可以得出,液位开关信号有2个,分别是下液位开关信号和上液位开关信号,分别定义为I0.0、I0.1;输出为水泵接触器,定义为Q0.0。本实例选用CPU 1215C DC/DC/DC,进线电源部分为DC24V,输入部分可以采取漏型接法,输出部分采用DC24V线圈的水泵接触器,表1-4为输入/输出定义,电气线路如图1-16所示。
表1-4 输入/输出定义
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/018-01.jpg?sign=1739271657-mdO0NWiPUUynIT1deomL0He9SOlSQJAM-0-0047532c0498b1db4dde7038deb7ed11)
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/019-2.jpg?sign=1739271657-QIeN1FiMaOfRJnjrGeak0ycynuBVdHUR-0-b56a63b5c9d1d29d47817a10f21e711c)
图1-16 电气线路
步骤2:在博途软件中创建新项目
进入博途软件后,如图1-17所示,选择“启动”→“创建新项目”后,输入项目名称(如本实例的“液位控制”),单击图符输入存放路径。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/019-4.jpg?sign=1739271657-zyFMayJ2ctFlo3rm4O0g6kb0NZI94P89-0-94c76d05cdf05f26751c42d0e73c8ef0)
图1-17 创建新项目
输入项目名称后,就会看到“新手上路”提示(见图1-18),包含创建完整项目所必需的“组态设备”“创建PLC程序”“组态工艺对象”“组态HMI画面”或“打开项目视图”等步骤。新手一步步操作即可。这里先选择“组态设备”。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/019-5.jpg?sign=1739271657-aRHlfcNtdf57gHZU1OZMjy6VgSZKhJDT-0-e7297641c9a079ea3605377602dc6041)
图1-18 新手上路
S7-1200 PLC提供了控制器、HMI、PC系统等设备,选择“SIMATIC S7-1200”,依次单击CPU类型(本案例为“CPU 1215C DC/DC/DC”),最终选择订货号6ES7 215-1AG40-0XB0,其中版本号可根据实际情况来选择,如V4.2,如图1-19所示。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/020-2.jpg?sign=1739271657-XrTxhSOdYXNz30h8htch9c1Oe7XvhKs4-0-528bae5bbec3745b70dc56f6a473484c)
图1-19 添加新设备
单击“添加”按钮后,就会出现如图1-20所示的完整设备视图。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/020-3.jpg?sign=1739271657-bQXUvkV27c4tc3JT1WkrZ1WjONFQxCnH-0-d69f94dda4b940a26061b2a47537e9e2)
图1-20 完整设备视图
步骤3:硬件配置
在设备视图中,单击CPU模块,按右键就会出现很多菜单,这里选择“属性”,如图1-21所示。
CPU的属性内容非常丰富,包括常规、PROFINET接口、DI 14/DQ10等。图1-22为CPU的目录信息,可以看到版本号,还设有“更改固件版本”按钮用于升级。
图1-23是PROFINET接口属性。这里选择默认值192.168.0.1。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/021-2.jpg?sign=1739271657-LwScNxOmuO5KIUvJVUdkwFotcIwyVSJX-0-d99684b0b22e651f3954bfec496e7a69)
图1-21 选择“属性”
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/021-3.jpg?sign=1739271657-vlDRrGuBKL03PJ18jUF7s7966XSE1gJ8-0-ccf021539a01953f5f958065702bcb38)
图1-22 CPU的目录信息
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/021-4.jpg?sign=1739271657-LfLtE9QUhAXuHJeMGHmQIZ6jBJdGCVwg-0-5299d752c5789d2fc8038f85571cd3d9)
图1-23 PROFINET接口属性
S7-1200 PLC提供了自由地址功能,如图1-24所示,可以对I/O地址进行起始地址的自由选择,如0-1022(因为输入地址最多到I1023.7,本机地址就有2个字节,因此到1022为止。)
步骤4:梯形图编程
图1-25为项目树全貌,找到“液位控制”→“PLC_1”→“程序块”→“Main”,就是梯形图编程的地方。图1-26是Main空程序块。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/022-1.jpg?sign=1739271657-IMbXITPHWESYbluHPMziqKS1k6EwZ559-0-9f8d5db3be6a9544ed431c0708384fa7)
图1-24 I/O地址
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/022-2.jpg?sign=1739271657-yGfkza1upb9zlvgeMRNsCoRNuGeRuS47-0-7619aed3c151c2a6f424ea7ed02d2fc1)
图1-25 项目树全貌
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/022-3.jpg?sign=1739271657-28Hpfkhk6ivjQjI2Y9uZdSAkl0SsJLYP-0-cc7f4738f7ccaa49a212044f629dafcb)
图1-26 Main空程序块
用户要创建程序,只需将指令拖到程序段即可,比如本实例首先要使用常开触点,则从收藏夹中将常开触点直接拉入程序段1,如图1-27(a)所示,程序段1出现符号,表示该程序段处于语法错误状态,尚未完成编辑过程;然后,在<??.?>处输入“%I0.0”或“I0.0”;根据梯形图的编辑规律,使用图符
打开分支,输入接触器自保触点“%Q0.0”或“Q0.0”,并用图符
关闭分支;同理,使用图符
、
完成后续编辑过程。完成后的梯形图如图1-27(b)所示,此时
符号已经消失。
从这里可以看出,变量名称自动变成“Tag_1”“Tag_2”“Tag_3”,不便于阅读,因此需要对变量名称进行重新定义。变量是PLC I/O地址的符号名称。用户创建PLC变量后,博途软件将变量存储在变量表中。项目中的所有编辑器(如程序编辑器、设备编辑器、可视化编辑器和监视表格编辑器)均可访问该变量表。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/023-2.jpg?sign=1739271657-CoSV3aJPNkYdhLlm0UA0A77l8QI1P5Ay-0-57672cf0801c14d9d57a297306b70f36)
图1-27 创建梯形图
在项目树中找到“液位控制”→“PLC_1”→“PLC变量”→“显示所有变量”(见图1-28),单击后找到这3个变量名进行修改(见图1-29)。修改完成后,再次返回Main程序,如图1-30所示,就会看到相关变量名称已经替换,阅读起来非常方便。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/023-3.jpg?sign=1739271657-Qky2t8zLUdceu62uiee5VDreauaZ4gFW-0-ad891b868b2cb5a112689582db361969)
图1-28 PLC变量
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/024-2.jpg?sign=1739271657-SVU9laL1Lf1TAtDLR8BZuLgHwHsTMdCf-0-a4f248e0d0f5c1f8a6af75eb5ff1af67)
图1-29 修改PLC变量
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/024-3.jpg?sign=1739271657-R2RdkrDmAZ2fAoZSIZpMT7FtPUZYxg2y-0-7f92379bc0d87e08e5f943ad34bf7309)
图1-30 修改变量名称后的梯形图程序
需要注意的是,定义变量也可以在程序编辑前完成,即在编辑时,可以直接在<??.?>中选择变量,无需直接输入。这个可根据用户编辑习惯选择。
步骤5:编译、下载、调试
在创建阶段只是完成了梯形图语法的输入验证,若要完成程序的可行性,还必须执行编译命令。如图1-31所示,选择项目树中的“PLC_1[CPU 1215C DC/DC/DC]”,按右键弹出菜单,用户可以直接选择下载命令,博途软件会自动先执行编译命令,当然,也可以单独选择编译命令。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/024-4.jpg?sign=1739271657-eIO979GOreQtgILgHKiXBtk4UeVIVKvb-0-b5ab8e4fe36e480f5e67d7e55169cf57)
图1-31 执行编译
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/025-2.jpg?sign=1739271657-tGMyraGDK1fyExPBrHDjeV7hCx3m9JAy-0-93e517841102ddcbded22a2745eadc27)
图1-31 执行编译(续)
博途需要对PLC的硬件配置和软件分别编译,并分别下载,只有两者均正确时才能完成下载。下载之前,还需要确保PC与PLC同在192.168.1. *频段内,但不重复(本实例中PLC地址为192.168.0.1)。图1-32是“扩展下载到设备”界面,在“选择目标设备”时,有3个选项,即“显示地址相同的设备”“显示所有兼容的设备”“显示可访问的设备”。需要注意的是,第一次连机时,存在PLC的IP地址与PC的IP地址不在同一个频段、PLC的CPU第一次使用无IP地址等情况,因此在“选择目标设备”时,不能选择“显示地址相同的设备”,而是选择“显示所有兼容的设备”,接口类型为ISO,访问地址是MAC地址,此时可以连接CPU,等下载结束后,再次连机,就会出现正常的连机情况了。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/025-3.jpg?sign=1739271657-BJMrrZ5DBLcwwHnyt4KdA1w1n34VuWLk-0-45c0a70be3d4b10b3e001aff70da8bc1)
图1-32 “扩展下载到设备”界面
图1-33为下载信息反馈,描述了硬件配置下载、Main程序下载的过程。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/026-2.jpg?sign=1739271657-9wy96ZmqEbyOQ1w3dY6nsjNu60QwzCXF-0-c1a302812fcda4e7989ca4c3d0e2d496)
图1-33 下载信息反馈
步骤6:程序调试
完成以上步骤后,PLC会自动切换到运行状态,此时选择图标栏中的
进入程序块的在线监控(见图1-34),用绿色实线表示接通、蓝色虚线表示断开。程序解释如下:
(1)液位刚好处于上、下液位开关均没有动作的时候,水泵接触器不动作,程序状态如图1-34(a)所示。
(2)随着用水量的增加,液位不断下降,当下液位开关检测到ON时,水泵接触器马上接通,程序状态如图1-34(b)所示。
(3)水泵接触器动作后,水位马上上升,下液位开关变为OFF,根据自保原理,水泵接触器还继续接通,程序状态如图1-34(c)所示。
(4)当水泵的送水量大于用水量,液位不断上升,直到上液位开关检测到ON时,水泵接触器马上断开,程序状态如图1-34(d)所示。
(5)当液位从最高下降时,即使上液位开关为OFF,下液位开关也不会触发,水泵接触器不动作,程序状态回到如图1-34(a)所示状态。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/026-5.jpg?sign=1739271657-zCHkCpeUPiMRsLWA5U9P2pezFgfpzAoB-0-bc3206b6466605ab49ecf909585e2fc1)
图1-34 程序块的在线监控
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/027-2.jpg?sign=1739271657-KG1jnLsNltewA9PR5EcThtZpWVXG6fL5-0-4d0c668efd8e19ce909f32870b05ae9f)
图1-34 程序块的在线监控(续)
小贴士
S7-1200 PLC的输入可以接两种类型的传感器,即PNP型(漏型接法)和NPN型(源型接法),其公共点不同,如图1-35所示。图中,虚线框内为传感器。
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/027-4.jpg?sign=1739271657-QAulWKxkB3l3qcQe0oEYisE5qYWGYtwj-0-f26044a0a043a32da5443fa7b0087ccc)
图1-35 两种类型传感器接入PLC示意图
![](https://epubservercos.yuewen.com/0B5EE2/23020643401653606/epubprivate/OEBPS/Images/028-2.jpg?sign=1739271657-jHzWMrW57eUBQuYZQ46JIIuMsKy2i1pO-0-8917937da9a3936681ae6d9bc97e69da)
图1-35 两种类型传感器接入PLC示意图(续)