西门子plc S7-1200学习历程(1)

学习自动控制的人都知道,自动控制就是控制冰冷的机器更加人性化、智能化。那么控制机器更加的人性化,智能化需要什么条件呢?我们不妨参照人这个参照物来看看需要哪些先决条件,人有脑子、脸、眼、耳朵、鼻子、嘴巴、手、皮肤、还有一个最重要的是心!那么我们有没有达到这个效果了呢,回答是:已经达到了。不过我们接下来学习的S7-1200本身却没有达到这个要求,接下来我们看看S7-1200到底达到了哪些要求。
首先要想让一个人了解另一个人的话是要介绍一下他,例如长相啦、能力啦、内涵啦、习惯啦,接下来我们就要介绍一下S7-1200的长相和能力。当然了,1200是没有习惯的,
如果想让它有习惯,那么你可以去西门子公司给他安装一个大数据的扩展模块,
I believe you can do it!!!
一、S7-1200的介绍
在这里插入图片描述
OK,1200就长这个样子,是不是很意外,是不是很惊喜?
S7-1200是西门子公司一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务 。它是单机小型自动化系统的完美解决方案。 对于需要网络通信功能和单屏或多屏HMI的自动化系统,易于设计和实施。具有支持小型运动控制系统、过程控制系统的高级应用功能。
其实上面这段话是我百度的,其实说实话,plc就是一个可编程的控制器,现在全球的控制器多了去了,为什么要学plc呢?
如果你要做一个简单的控制,其实用单片机也可以,plc主要用于工业控制中,它可以用于开关量控制、用于模拟量控制、用于数字量控制、用于数据采集、用于进行监控、用于联网、通讯,而且这些plc都已经帮我们集成好了,就等我们去用了。
S7-1200也一样,都有这些功能,在小型plc里面比较优秀(2020年8月31号之前)
奉上S7-1200的型号:
在这里插入图片描述
除此之外,每种CPU还有3种电源电压和输入、输出的版本,如下图:在这里插入图片描述
奉上接线图:
在这里插入图片描述
好了,介绍就介绍到这里,接下来我们讲讲他的能力和内涵
二:S7-1200的硬件结构
每个人有脑子、脸、眼、耳朵、鼻子、嘴巴、手、皮肤、心,那么1200相对应的是什么呢?
2.1.CPU模块(相当于人的大脑)
S7-1200的CPU模块将微处理器、电源、数字量输入/输出、模拟量输入/输出电路、PROFIBUS以太网接口、高速运动控制功能组合到一个设计紧凑的外壳中。
其中的PROFIBUS以太网接口用于与计算机编程。HIMI、其他PLC或其他设备通讯。
2.1.1CPU的共性
**a:**S7-1200可以使用梯形图(LAD)、函数块图(FDB)和结构化控制语言(SCL)。每条布尔运算指令和浮点数数学运算指令的执行时间分别为0.08μs、1.7μs和2.3μs
**b:**CPU1211C和CPU1212C的位存储器(M)为4096B,其他CPU(见上图)为8192B
**c:**过程映像输入和过程映像输出(I/O)各1024B,集成的数字量输入电路的输入类型为漏型/源型,电压额定值为DC24V,输入电流为4mA。1状态允许的最小电压/电流为DC1V/2.5mA,0状态允许的最大电压/电流为DC5V/1mA
继电器输出的电压范围为DC5到30V,AC5到250V
**d:**1215C和1217C有2个以太网网口,其他只有一个,传输速度为10M/s或者100M/s
**e:**实时时钟的保存时间通常为20天,40℃时最少为12天,最大误差为±60s/月
2.1.2CPU集成的工艺性能
**a:**高速计数与频率测量
对多可组态6个使用CPU内置或信号板输入的高速计数器,CPU1217有4点最高频率为1MHz的高速计数器
**b:**高速脉冲输出
各种型号CPU最多4点高速脉冲输出。CPU1217C的高速脉冲输出最高频率为1MHz,其他CPU100kHz,信号板200kHz
**c:**PWM(脉冲宽度调制)
利用微处理器的数字输出来对模拟电路进行控制
**d:**运动控制
可以用于步进电机或伺服电动机的速度和位置控制
**e:**PID控制
用于对闭环过程进行控制,建议PID控制回路的个数不超过16个
2.2信号板与信号模块(相当于人的眼睛)
各种CPU正面都可以增加一个信号板。信号模块连接到CPU的右侧,以扩展其数字量或模拟量I/O点数。CPU1211C不能扩展信号模块,CPU121C只能连接俩个信号模块,其他CPU可以连接8个信号模块。所有的S7-1200都可以在CPU左侧安装最多3个通信模块
**a:**信号板
SB1221数字量输入信号板
SB1222数字量输出信号板
SB1223数字量输入/输出信号板
SB1231热电偶和热电阻信号板
SB1231模拟量输入信号板
SB1232模拟量输出信号板
CB1241RS485信号板
BB1297电池板
**b:**数字量I/O模块在这里插入图片描述**c:**模拟量I/O模块
SM1231模拟量输入模块
SM1231热电偶和热电阻模拟量输入模块
SM1232模拟量输出模块
SM1234四路模拟量输入/两路模拟量输出模块
2.3集成的通讯接口与通讯模块
S7-1200具有非常强大的通讯功能,提供:
I-Device(智能设备)
PROFINET/PROFIBUS(PROFIBUS最多可以增加3个通讯模块)
远距离控制通讯
点对点(ptp)通讯
USS通讯
Modbus-RTU
AS-i
I/OLink MASTER
三:编程软件与仿真软件(相当于人的心)
工欲善其事必先利其器,要自动控制,必须有一个工具,我们的工具TIA博图中的STEP7 Basic或STEP7 Professional编程
安装博图需要注意:
**a:**计算机系统不能是家用版(可以安装在虚拟机里面)
**b:**安装时关闭杀毒软件
其他的安装过程参照西门子官网
至此S7-1200的概述已经学习完了,接下来就是安装软件和学习软件了
我们一起加油努力!!!!!!

<think>嗯,用户想了解如何使用S7-1200 PLC设计并实现恒压供水系统。首先,我需要回忆恒压供水系统的基本原理,通常它通过调节水泵的转速来维持管网压力恒定。这里涉及到PLC控制、变频器、压力传感器等组件。 接下来,系统设计部分需要分模块考虑。硬件部分包括PLC选型,S7-1200系列应该足够,还要确定扩展模块,比如模拟量输入模块用于压力传感器信号。然后是变频器的选择,需要支持PID控制,比如西门子的G120系列。传感器方面,压力传感器的量程和输出信号类型(4-20mA或0-10V)需要匹配PLC的输入模块。水泵机组可能需要多台泵,根据流量需求进行切换,这涉及到逻辑控制。 软件设计方面,首先要进行PID参数整定。恒压控制通常用PID算法,PLC需要编写PID程序,或者使用内置的PID功能块。然后是多泵切换逻辑,比如根据压力偏差决定启动或停止水泵,还要考虑轮换使用以均衡磨损。HMI界面设计也是重要的一环,用于显示实时压力和设置目标压力。 实现步骤上,硬件接线是关键,特别是传感器和变频器与PLC的连接,要确保信号正确。然后是PLC编程,使用TIA Portal软件配置硬件,编写PID控制程序和多泵逻辑。接着是调试,先测试PID响应,再调整参数,最后整体联调。 可能遇到的问题包括PID参数整定困难,这时候需要逐步调整比例、积分、微分参数。多泵切换时的压力波动也需要处理,可能需要在切换时短暂调整目标压力值。还有通信问题,比如PLC与变频器之间的通信协议是否正确配置,比如PROFINET或Modbus。 用户可能还想知道如何优化系统,比如引入模糊控制或者预测算法,但作为基础设计,PID已经足够。另外,节能考虑,变频器调节转速可以节省能源,系统可以根据需求调整泵的数量和转速。 最后,需要确保安全措施,比如压力过高时的紧急停机,泵的过载保护等。可能还需要数据记录功能,方便后续维护和分析。 相关的问题可能涉及具体的PID参数调整方法,如何选择压力传感器,或者如何处理多泵切换时的压力突变。另外,用户可能想知道如何通过HMI远程监控系统,或者如何扩展系统以适应更大规模的供水需求。</think>### 基于S7-1200 PLC的恒压供水系统设计与实现 #### 一、系统设计原理 恒压供水系统通过闭环控制维持管网压力恒定,核心公式为: $$ P_{\text{实际}} = P_{\text{设定}} + K_p \cdot e(t) + K_i \int e(t)dt + K_d \frac{de(t)}{dt} $$ 其中$e(t)$为压力偏差,$K_p$、$K_i$、$K_d$为PID参数[^1]。系统通过压力传感器反馈实时压力值,PLC计算后输出控制信号至变频器,调节水泵转速。 #### 二、硬件架构设计 1. **核心控制器** S7-1200 CPU 1214C(支持4路高速计数器,2路PWM输出) 2. **扩展模块** - SM1231模拟量输入模块(接收4-20mA压力信号) - SM1232模拟量输出模块(输出0-10V至变频器) 3. **变频器配置** 西门子G120变频器,通过PROFINET与PLC通信 4. **压力传感器** 量程0-1.6MPa,4-20mA输出,精度&plusmn;0.5% FS #### 三、软件实现流程 1. **TIA Portal配置** ```pascal // 硬件组态示例 HW_Config := CPU1214C + SM1231(AI4x16bit) + SM1232(AQ2x16bit) + G120(PN_Interface); ``` 2. **PID控制程序** ```pascal PID_Compact_DB(REQ := TRUE, SETPOINT := 设定压力, INPUT := 实际压力, MANUAL_ENABLE := FALSE); ``` 3. **多泵控制逻辑** ```pascal IF 压力偏差 > 0.1MPa THEN 启动备用泵  ̄ ̄ ̄ ̄ ̄ ̄ ELIF 压力偏差 < -0.08MPa THEN 停止最后启动的泵  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ``` #### 四、调试关键步骤 1. **PID参数整定** 采用临界比例度法: - 先设$K_i=0, K_d=0$ - 增大$K_p$至系统振荡 - 取临界值$K_{cr}$和振荡周期$T_{cr}$ - 按Ziegler-Nichols公式计算参数: $$ K_p = 0.6K_{cr}, T_i = 0.5T_{cr}, T_d = 0.125T_{cr} $$ 2. **通信测试** 使用TSEND/TRCV指令验证PROFINET通信: ```pascal TSEND(CONNECT := DB10, DATA := P#M100.0 BYTE 10); ``` #### 五、典型问题解决方案 1. **压力振荡** - 检查传感器采样周期(推荐50-100ms) - 增加滤波参数$T_f$(建议0.1-0.3s) 2. **水泵频繁启停** - 设置死区范围(&plusmn;0.02MPa) - 增加切换延时定时器(T#30s) 3. **通信中断** - 检查终端电阻(应启用末端站点) - 验证GSD文件版本(需与硬件匹配)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值