用SCL写一段水处理程序
1.净循环冷却塔,共3台,设有机旁手动和集中手动和自动运行操作方式。2.根据净环水供水泵出水管上的水温启、停冷却塔风机.3.当出水温度≥33℃时启动第1台冷却塔风机,当出水温度≥34℃时启动第2台冷却塔风机,当出水温度继续升温≥35℃时启动第3台冷却塔风机。4当出水温度降低到<33℃时,将1台冷却塔风机关停,当出水温度降低到<32℃时,将2台冷却塔风机关停,当出水温度降低到<31℃时,停3台冷却塔风机。5.冷却塔风机油温有检测并报警,当油温升至78℃时报警,当油温继续升至82℃时,风机自动停机。6.冷却塔风机振动有检测并报警,当振动值达6.3 mm/s时报警,当振动值达7 mm/s时停机。/* SCL程序 - 净循环冷却塔程序*/
/* 作者:你的名字 */
/* 日期:2021年10月10日 */
// 定义常量
CONST
// 出水温度阈值
T1 = 33;
T2 = 34;
T3 = 35;
// 振动和油温阈值
VIB_ALARM = 6.3;
VIB_STOP = 7.0;
OIL_ALARM = 78;
OIL_STOP = 82;
END_CONST
// 定义变量
VAR
// 冷却塔风机数目
FAN_NUM : INT := 3;
// 温度传感器读取的温度
TEMP : INT;
// 风机开/关状态
FAN_STATE : BOOL;
// 振动和油温的值
VIB_VALUE : REAL;
OIL_VALUE : INT;
END_VAR
// 主程序
MAIN
// 初始化风机状态为关闭
FOR i:=1 TO FAN_NUM DO
FAN_STATE := FALSE;
END_FOR
// 循环检测温度
WHILE TRUE DO
// 读取出水温度值
TEMP := READ_TEMP();
// 判断是否需要开启风机
IF TEMP >= T3 THEN
FAN_STATE := TRUE;
ELSIF TEMP >= T2 THEN
FAN_STATE := TRUE;
ELSIF TEMP >= T1 THEN
FAN_STATE := TRUE;
END_IF
// 判断是否需要关闭风机
IF TEMP < T1 THEN
FAN_STATE := FALSE;
END_IF
IF TEMP < T2 THEN
FAN_STATE := FALSE;
END_IF
IF TEMP < T3 THEN
FAN_STATE := FALSE;
END_IF
// 检测风机振动是否达到报警值
VIB_VALUE := READ_VIBRATION();
IF VIB_VALUE >= VIB_ALARM THEN
ALARM("风机振动报警");
END_IF
// 检测风机油温是否达到报警值
OIL_VALUE := READ_OIL_TEMPERATURE();
IF OIL_VALUE >= OIL_ALARM THEN
ALARM("风机油温报警");
END_IF
// 判断是否需要停机
IF VIB_VALUE >= VIB_STOP OR OIL_VALUE >= OIL_STOP THEN
FOR i:=1 TO FAN_NUM DO
FAN_STATE := FALSE;
END_FOR
STOP("风机停机");
END_IF
// 更新风机开/关状态
WRITE_FAN_STATE(FAN_STATE);
// 等待一段时间再重新检测温度
DELAY(1000);
END_WHILE
END_MAIN
// 读取出水温度的函数
FUNCTION READ_TEMP : INT
VAR
TEMP : INT;
END_VAR
// 这里添加具体的读取温度的代码
RETURN TEMP;
END_FUNCTION
// 读取风机振动值的函数
FUNCTION READ_VIBRATION : REAL
VAR
VIB_VALUE : REAL;
END_VAR
// 这里添加具体的读取风机振动值的代码
RETURN VIB_VALUE;
END_FUNCTION
// 读取风机油温的函数
FUNCTION READ_OIL_TEMPERATURE : INT
VAR
OIL_VALUE : INT;
END_VAR
// 这里添加具体的读取风机油温的代码
RETURN OIL_VALUE;
END_FUNCTION
// 写入风机开/关状态的函数
FUNCTION WRITE_FAN_STATE(FAN_STATE : ARRAY OF BOOL)
// 这里添加具体的写入风机开/关状态的代码
END_FUNCTION
// 报警函数
FUNCTION ALARM(msg : STRING)
// 这里添加具体的报警代码
END_FUNCTION
// 停机函数
FUNCTION STOP(msg : STRING)
// 这里添加具体的停机代码
END_FUNCTION
页:
[1]