网站手机客户端在线制作app软件定制开发一般多少钱
2026/4/11 6:37:42 网站建设 项目流程
网站手机客户端在线制作,app软件定制开发一般多少钱,seo网络推广技术员招聘,制作app的费用双泵程序(定时轮换#xff09;功能块 博图程序 一主一备 SCL功能块#xff0c;博图16编写#xff0c;可使用于其他支持ST语言设备#xff0c;双泵功能块#xff0c;scl语言#xff0c;带复位#xff0c;主副泵选择#xff0c;泵压简单控制#xff0c;泵屏蔽设置#…双泵程序(定时轮换功能块 博图程序 一主一备 SCL功能块博图16编写可使用于其他支持ST语言设备双泵功能块scl语言带复位主副泵选择泵压简单控制泵屏蔽设置定时轮询切换延时判断起泵程序精炼调用方便适合工控中水处理压力液位流量等简单控制启停方便。 实际工程中已使用稳定运行 面板需自己画功能块端口给的很详细了适配绝大部分ST语言编辑器不需要的接口可以空着。最近在某个水处理项目里折腾双泵控制逻辑现场两台离心泵需要定时轮换主备。这玩意看起来简单真要自己从头写逻辑绝对能掉一堆坑——切换时机怎么卡准故障屏蔽怎么处理手动复位会不会打架好在最后用SCL搓了个通用功能块实测跑了大半年没出幺蛾子今天把核心逻辑拆开聊聊。双泵程序(定时轮换功能块 博图程序 一主一备 SCL功能块博图16编写可使用于其他支持ST语言设备双泵功能块scl语言带复位主副泵选择泵压简单控制泵屏蔽设置定时轮询切换延时判断起泵程序精炼调用方便适合工控中水处理压力液位流量等简单控制启停方便。 实际工程中已使用稳定运行 面板需自己画功能块端口给的很详细了适配绝大部分ST语言编辑器不需要的接口可以空着。先看功能块外壳长啥样FUNCTION_BLOCK DualPumpControl VAR_INPUT Enable: BOOL; //总使能 Reset: BOOL; //复位信号 PumpA_Ready: BOOL; //泵A就绪 PumpB_Ready: BOOL; //泵B就绪 SwitchTime: TIME : T#8H; //切换周期 END_VAR VAR_OUTPUT RunCmd: BOOL; //总运行指令 PumpA_Run: BOOL; //泵A启动 PumpB_Run: BOOL; //泵B启动 ActivePump: INT; //当前主泵编号 END_VAR最骚的是切换逻辑部分用了个时间片轮询//定时切换核心 IF Enable THEN CASE ActivePump OF 1: IF PumpA_Ready THEN PumpA_Run : RunCmd; PumpB_Run : FALSE; IF T#8H SwitchTime THEN //时间到切换 ActivePump : 2; TON_Switch(IN:TRUE, PT:T#0S); END_IF; END_IF; 2: //...类似逻辑 END_CASE; END_IF;实际调试发现个坑——直接切换可能导致两台泵同时断电。解决方法是在切换时插入500ms延时//带延时的切换 TON_Switch(IN:ActivePump LastPump, PT:T#500MS); IF NOT TON_Switch.Q THEN RunCmd : FALSE; //切换间隙停泵 END_IF;现场应用时把功能块实例化后挂在OB30里跑//主程序调用 PumpControl( Enable : AutoMode, Reset : ResetBtn, PumpA_Ready : NOT PumpA_Fault, PumpB_Ready : NOT PumpB_Fault, SwitchTime : T#12H //12小时切换 );这模块最实用的其实是故障处理策略。当某个泵被屏蔽时自动切换逻辑会直接锁定在用泵直到复位信号触发才会重新激活轮换。实际测试中配合压力PID控制效果拔群特别是处理液位波动时双泵无缝切换能让系统压力曲线平滑得像德芙巧克力。最后给个忠告别在功能块里写死设备地址用结构体打包IO信号才是王道。毕竟工控现场最不缺的就是甲方突然想加第三个泵...别问我怎么知道的

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询