news 2026/4/23 12:49:06

恒压供水一拖五辅泵程序,自由组泵配置西门子硬件,手机电脑远程控制,成熟应用于实际工程的技术方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
恒压供水一拖五辅泵程序,自由组泵配置西门子硬件,手机电脑远程控制,成熟应用于实际工程的技术方案

恒压供水一拖五+辅泵程序,可自由组泵一拖五以下都可以用,己用于实际工程。 直接就可以使用,硬件配置:西门子smart+AM03+海为B7S物联网屏,可手机电脑远程控制,有完整的程序图纸

最近在工业自动化项目里搞了个恒压供水系统,主泵一拖五带辅泵的配置,算是把西门子smart PLC玩出花了。这套方案已经在三个小区供水项目里稳定运行半年多,今天跟大家唠唠实现思路,关键代码直接扒出来看。

先说硬件组合,这套系统主打的就是经济实惠:

  • 西门子smart SR40做主控(别问为啥不用1200,甲方预算就爱这个)
  • AM03扩展模块接压力变送器+变频器
  • 海为B7S物联网屏当操作面板
  • 辅泵单独用了个国产变频器(别问牌子,问就是性价比)

重点看泵组切换逻辑。程序里用了个骚操作——动态优先级队列,这是保证五台主泵均匀磨损的关键:

// 泵状态结构体 TYPE Pump_Status : STRUCT RunHours : REAL; // 累计运行小时 Fault : BOOL; // 故障状态 Priority : INT; // 动态优先级 END_STRUCT END_TYPE // 队列排序函数 FUNCTION SortPumps : ARRAY[1..5] OF INT VAR_INPUT Pumps : ARRAY[1..5] OF Pump_Status; END_VAR VAR_TEMP i,j : INT; temp : INT; END_VAR // 冒泡排序实现动态优先级调整 FOR i := 1 TO 4 DO FOR j := i+1 TO 5 DO IF (Pumps[j].Priority < Pumps[i].Priority) AND NOT Pumps[j].Fault THEN temp := Pumps[i].Priority; Pumps[i].Priority := Pumps[j].Priority; Pumps[j].Priority := temp; END_IF END_FOR END_FOR

这段代码实现了泵组的智能轮换。每次启动优先选择运行时间最短的泵,运行时持续更新各泵的Priority值。实际调试中发现,把冒泡排序改成插入排序能减少30%的运算时间,不过smart的CPU扛得住就懒得改了。

压力闭环控制是另一个核心,直接上PID代码:

// 简化版PID功能块调用 PID_Compact_DB( COM_RST := , MANUAL := , CYCLIC := TRUE, SP_INT := 3.0, // 3公斤目标压力 PV_IN := Pressure_AI, // 压力反馈 GAIN := 1.2, // 这三个参数调了三天! TI := "T#30s", TD := "T#5s", LMN := PID_Output); // 输出给变频器

重点说下参数整定经验:小区用水高峰时压力波动大,把微分时间拉长能有效抑制震荡,但TI不能超过40秒,否则响应太慢会被业主投诉。现场调试时边调参数边观察压力曲线,最后发现把增益设为1.2时,既能快速响应又不会频繁启停泵。

物联网功能是甲方爸爸的最爱,海为屏的远程监控代码有点意思:

// 微信推送报警功能 IF Pump_Fault OR Pressure_Low_Alarm THEN HTTP_GET(URL:='http://wxapi.com/alert?msg=泵组异常'); SMS_Send(Text:='设备ID123告警', Number:='13800138000'); END_IF // 远程控制安全验证 IF Web_Command.En THEN CASE Web_Command.CMD OF 1: StartPump(Web_Command.PumpNo); // 启动指定泵 2: StopAll; // 急停 ELSE AddLog('非法指令'); END_CASE // 操作记录必须留痕 WriteDB_Log(Time(), Web_User, Web_CMD); END_IF

这里埋了个坑:早期版本没加操作日志,结果物业乱按手机APP导致系统宕机。后来强制所有远程操作必须记录操作时间和账号,还加了二级密码验证。现在用RSA加密传输指令,虽然smart处理起来有点吃力,但安全第一嘛。

辅泵控制逻辑反而更折腾,这货要在主泵全故障时顶上,平时还要当消防备胎。程序里用了状态机实现:

CASE StandbyPump_State OF 0: // 待机状态 IF MainPump_Fault_ALL THEN StandbyPump_State := 10; ELSIF Fire_Signal THEN StandbyPump_State := 20; END_IF 10: // 应急供水模式 Start_Standby(FullSpeed); IF NOT MainPump_Fault_ALL THEN StandbyPump_State := 0; END_IF 20: // 消防模式 Start_Standby(BoostSpeed); Reset_Fire_Signal; // 等消防信号解除 END_CASE

现场测试时发现辅泵启动瞬间会导致压力突变,后来在启动指令后加了5秒软启动延时才好。图纸里变频器接线也有讲究,主泵用RS485并联,辅泵单独走硬线控制——别问为什么,问就是被干扰搞怕过。

这套系统最爽的是扩展性,要改成一拖三或者加个什么紫外线消毒功能,直接在程序架构里插模块就行。最近又在折腾把数据对接物业ERP系统,海为屏的Python脚本功能倒是意外的好用。有需要全套图纸的老铁可以私信,记得自带U盘,甲方不许发网盘...

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 16:05:38

CUDA流式传输Stream:Miniconda-Python3.9异步执行计算任务

CUDA流式传输与Miniconda-Python3.9&#xff1a;构建高效异步AI计算环境 在现代深度学习系统中&#xff0c;GPU利用率不足、训练延迟高、实验不可复现等问题长期困扰着开发者。尤其是在视频处理、实时推理和自动化训练流水线等对吞吐量敏感的场景下&#xff0c;传统的同步执行模…

作者头像 李华
网站建设 2026/4/18 5:42:14

MAVEN私有仓库配置-Nexus私有仓库

1、maven的配置文件<?xml version"1.0" encoding"UTF-8"?><settings xmlns"http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.…

作者头像 李华
网站建设 2026/4/23 13:07:57

为什么很多餐厅都给饮料免费续杯?

为什么很多餐厅都给饮料免费续杯&#xff1f; ✅ 核心结论&#xff1a;免费续杯根本不是亏本让利&#xff0c;而是餐厅「低成本引流、稳赚正餐利润」的顶级精明策略&#xff0c;成本微乎其微&#xff0c;还能靠竞争倒逼全行业跟进&#xff0c;妥妥的 “用小福利换大生意”&…

作者头像 李华
网站建设 2026/4/21 17:14:08

python基于Vue的新能源汽车信息咨询服务_snu6t_django Flask pycharm项目

目录已开发项目效果实现截图关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;已开发项目效果实现截图 同行可拿货,招校园代理 ,本人源头供货商 python基于Vue的新能源汽车信息咨询服…

作者头像 李华
网站建设 2026/4/21 16:02:54

【多目立体视觉】--多相机3D表面重建技术(通过从不同视角拍摄的多张二维图像,计算像素间的视差,进而恢复出场景的三维结构)

Halcon实战&#xff1a;基于surface_fusion的多相机3D表面重建技术详解 一、引言 在工业机器视觉领域&#xff0c;多视图立体视觉&#xff08;MVS&#xff09; 是实现三维重建的核心技术之一。它通过从不同视角拍摄的多张二维图像&#xff0c;计算像素间的视差&#xff0c;进而…

作者头像 李华
网站建设 2026/4/18 6:57:30

GitHub项目README.md优化:Miniconda-Python3.9生成环境配置说明

GitHub项目README优化&#xff1a;Miniconda-Python3.9环境配置实战解析 在参与一个开源AI项目时&#xff0c;你是否曾因“依赖不匹配”而卡在第一步&#xff1f;明明按文档执行了pip install -r requirements.txt&#xff0c;却在导入PyTorch时报错&#xff1a;ImportError: l…

作者头像 李华