基于s7-1200plc得温室蔬菜大棚设计 包含:动态仿真,图纸文档。 博图v16打开,可动态仿真,联系送软件安装包。

最近在搞温室大棚自动化改造的项目,用西门子S7-1200 PLC搭了套控制系统。实测这套方案性价比超高,特别是动态仿真功能真能省下不少调试时间,今儿就跟大伙儿唠唠具体实现方案。

硬件配置直接上干货:

// 硬件组态代码片段
VAR_CONFIG
    DI_1 : ARRAY[0..7] OF BOOL := [TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE]; // 数字量输入
    AI_1 : ARRAY[0..3] OF REAL := [25.5, 60.2, 0.0, 0.0]; // 模拟量输入
    DO_1 : ARRAY[0..5] OF BOOL; // 数字量输出
    PID_Heater : PID_Compact;  // 加热PID控制块
END_VAR

这里重点说下模拟量处理——温度传感器采集到的4-20mA信号转成0-50℃的实际值,用SCALE_X指令做线性转换,比直接写公式省事多了。湿度控制同理,不过要注意加个2秒的滤波时间防止执行器频繁动作。

动态仿真这块必须重点安利博图V16的PLCSIM Advanced,直接拖拽IO变量就能建虚拟大棚模型:

// 通风控制逻辑
IF "温室温度" > 28.0 THEN
    "侧窗电机正转" := 1;
    "排风扇启动" := 1;
ELSIF "温室温度" < 25.0 THEN
    "侧窗电机反转" := 1;
    "排风扇停止" := 1;
END_IF;

仿真时能看到温度曲线实时变化,比干看代码直观得多。测试时故意把阈值设错,立马看到通风系统抽风似的开关,这种可视化调试比现场改程序快十条街。

图纸文档管理有讲究,建议用TIA Portal自带的版本对比功能。上周改控制柜布局时,新旧图纸自动比对直接标出修改点,连螺丝孔位变化都清清楚楚,再也不用在文件命名里写"最终版_再也不改版"了。

说到PID参数整定,现场实测这个加热公式靠谱:

// 加热器PID算法
#PID_Heater.Cycle := T#1S;
#PID_Heater.Input := "温度反馈值";
#PID_Heater.Setpoint := "目标温度";
#PID_Heater.Mode := 0; // 自动模式
IF ABS(#PID_Heater.Error) > 5.0 THEN
    #PID_Heater.P_Temp := 3.5;
    #PID_Heater.I_Temp := 120;
END_IF;

注意死区设置别太小,实测温差2℃内不动作能省20%电费。程序里加了个温差过大自动切手动的保险逻辑,毕竟菜苗可比PLC值钱多了。

整套方案在博图V16里打包成库文件,仿真时连浇水延迟效果都能模拟出来。需要参考源码的兄弟私信拿安装包,记得备注"种菜大佬"有惊喜——附赠我调试时踩坑记录的思维导图,保你少走半个月弯路。

更多推荐