水箱串级控制MCGS6.2仿真运行程序2,带pid功能和实时曲线 ,带西门子200plc程序2
水箱串级控制MCGS6.2仿真运行程序2带pid功能和实时曲线 带西门子200plc程序2带io表和接线图今天咱们来盘一个工业控制里经典的水箱串级控制项目。这玩意儿用西门子S7-200 PLC做主控配上MCGS6.2组态软件做上位机监控重点在于实现双闭环PID调节。直接看干货先甩个系统架构图!接线图示意图液位传感器进AIW0电磁阀接Q0.0变频器控制端接AQW0水箱串级控制MCGS6.2仿真运行程序2带pid功能和实时曲线 带西门子200plc程序2带io表和接线图IO分配表长这样PLC地址设备类型备注AIW0超声波液位主水箱反馈AIW2压力变送器副水箱反馈AQW0变频器副回路执行器Q0.0电磁阀主回路执行器主程序里最关键的是这个PID双环结构。先看PLC端的PID指令// 主回路PID LD SM0.0 MOVR VD100, VD200 // 设定值传送 MOVR AIW0, VD204 // 主反馈 PID VB10, VD200, VD204, VD208 // 输出到副回路设定 // 副回路PID MOVR VD208, VD300 // 副设定 MOVR AIW2, VD304 // 副反馈 PID VB20, VD300, VD304, AQW0 // 输出到变频器这里VB10和VB20是PID参数存储区注意西门子200的PID指令自整定得手动触发。调试时建议先用MCGS曲线观察系统响应别急着调参。MCGS那边主要做两件事实时曲线和参数整定。脚本里这个定时器事件负责数据采集Sub Timer1_Timer() Data1 ReadPLC(AIW0) // 主液位 Data2 ReadPLC(AQW0) // 变频器输出 UpdateCurve(Curve1, Data1, Data2) End Sub曲线控件属性里记得把采样周期设为200ms太密集了容易卡。遇到曲线毛刺别慌八成是模拟量信号干扰在PLC程序里加个滤波// 滑动平均滤波 MOVW AIW0, LW0 I LW0, LW2 MOVW LW2, LW4 /I 4, LW4 // 4次平均调试时碰到主副回路打架怎么办先把副环的P参数调小让内环响应比外环快3倍以上。曾经有个坑——忘记把副PID的输出限幅导致变频器输出超范围电机直接罢工。最后说个骚操作在MCGS里做自动整定按钮点击后通过Modbus往PLC写整定命令。这样不用连编程电缆就能在线调参甲方看了直呼专业。源码包里的《PID参数整定口诀.txt》才是精髓比教科书管用多了。