1. 项目背景与系统架构
去年给本地一家酒店做供水改造时,遇到了个典型的一拖二恒压供水需求。酒店白天用水高峰需要两台7.5kW水泵同时运行,夜间则只需单泵维持压力。传统继电器控制方案压力波动大、能耗高,最终我们采用西门子S7-200 SMART PLC+ABB变频器的方案,通过RS485通讯实现精准控制。实测下来,这套系统压力控制精度达到±0.02MPa,比老式压力开关方案节能23%。
1.1 核心硬件选型
选型时主要考虑三点:成本控制、通讯可靠性和维护便利性。主控采用SR30型PLC,自带RS485接口省去了EM277模块(节省约800元预算)。变频器选用ABB ACS550系列,支持Modbus RTU协议且内置PID功能。这里有个细节:ACS550的7.5kW机型(型号ACS550-01-07A5-4)自带EMC滤波器,特别适合酒店这种有精密电子设备的场合。
触摸屏选了Smart 700 IE V3,主要看中其红色按钮界面在强光下依然清晰可见。压力变送器采用0-1.6MPa量程的4-20mA型号,安装在供水主管道距水泵出口15米处(避免水锤影响测量精度)。所有设备通过PROFIBUS电缆手拉手连接,终端电阻设为120Ω。
1.2 系统通讯拓扑
系统采用三级通讯架构:
- PLC作为Modbus主站,通过Port0口(RS485)与两台变频器通讯
- 触摸屏通过Port1口与PLC进行PPI通讯
- 压力变送器信号直接接入PLC的AIW0模拟量输入通道
这种架构的优势在于:
- 将实时性要求高的压力采样与通讯控制分离
- 变频器状态轮询与HMI数据刷新互不干扰
- 单总线结构降低施工复杂度
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 关键程序设计解析
2.1 Modbus通讯初始化
PLC上电后首先要配置通讯参数。S7-200 SMART使用SMB30寄存器设置端口属性,这里设置为9600bps/8位数据/无校验(与变频器默认参数一致):
stl复制// 主站初始化程序
LD SM0.1 // 首次扫描脉冲
MOVB 16#09, SMB30 // 9600bps,无校验
MOVB 4, MBUS_CTRL:Mode // 启用Modbus主站模式
MOVB 3, MBUS_CTRL:Baud // 波特率与SMB30对应
