Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // VARIABLES
- Variable DayOfWeek As Integer
- // SETPOINTS
- SPACE_TEMP_DEADBAND_AV = 2
- SPACE_TEMP_SP = 26
- CO_SENSOR_WARNING_SP = 40
- CO_SENSOR_ALARM_SP = 60
- CO_SENSOR_WARNING_DEADBAND = 10
- CO_SENSOR_ALARM_DEADBAND = 10
- 'MAX TEMP' = Max (RT1, RT2, RT3, RT4)
- MAX_CO = Max (CO1_LVL, CO2_LVL, CO3_LVL)
- // { result = } Switch(BinaryOutput, AnalogValue, OnValue, OffValue)
- FAN_ENABLE_BV = Switch ( FAN_ENABLE_BV, 'MAX TEMP', (SPACE_TEMP_SP + SPACE_TEMP_DEADBAND_AV || WARNING_CO_LEVEL_BV || ALARM_CO_LEVEL_BV), SPACE_TEMP_SP)
- // FAN CONTROL
- If FAN_ENABLE_BV = On Then
- FAN_LEAD_BV = On
- If 'MAX TEMP' > (SPACE_TEMP_SP + (2 * SPACE_TEMP_DEADBAND_AV)) || WARNING_CO_LEVEL_BV || ALARM_CO_LEVEL_BV Then // 30.1 TO TEST ON WAY UP // 29.9 TO GO DOWN
- FAN_LAG_BV = On
- Else
- FAN_LAG_BV = Off
- End If
- If 'MAX TEMP' > (SPACE_TEMP_SP + (3 * SPACE_TEMP_DEADBAND_AV)) || ALARM_CO_LEVEL_BV Then // 32.1 TO TEST ON WAY UP // 31.9 TO GO DOWN
- FAN_STANDBY1_BV = On
- Else
- FAN_STANDBY1_BV = Off
- End If
- If 'MAX TEMP' > (SPACE_TEMP_SP + (4 * SPACE_TEMP_DEADBAND_AV)) || ALARM_CO_LEVEL_BV Then // 34.1 TO TEST UP ON WAY UP // 33.9 TO GO DOWN
- FAN_STANDBY2_BV = On
- Else
- FAN_STANDBY2_BV = Off
- End If
- Else
- FAN_LAG_BV = Off
- FAN_LEAD_BV = Off
- FAN_STANDBY1_BV = Off
- FAN_STANDBY2_BV = Off
- End If
- // FAN ROTATION
- DayOfWeek = Weekday () // result is the weekday of the week of the controller's date
- //DayOfWeek = Weekday (05-Jan-2013) // result is 6 for Saturday
- IfOnce (Weekday = 2) Then
- If 'FAN DUTY' = 4 Then
- 'FAN DUTY' = 1
- Else
- 'FAN DUTY' = 'FAN DUTY' + 1
- End If
- End If
- If 'FAN DUTY' = FAN1 Then
- EF1_C = FAN_LEAD_BV
- EF2_C = FAN_LAG_BV
- EF3_C = FAN_STANDBY1_BV
- EF4_C = FAN_STANDBY2_BV
- End If
- If 'FAN DUTY' = FAN2 Then
- EF2_C = FAN_LEAD_BV
- EF3_C = FAN_LAG_BV
- EF4_C = FAN_STANDBY1_BV
- EF1_C = FAN_STANDBY2_BV
- End If
- If 'FAN DUTY' = FAN3 Then
- EF3_C = FAN_LEAD_BV
- EF4_C = FAN_LAG_BV
- EF1_C = FAN_STANDBY1_BV
- EF2_C = FAN_STANDBY2_BV
- End If
- If 'FAN DUTY' = FAN4 Then
- EF4_C = FAN_LEAD_BV
- EF1_C = FAN_LAG_BV
- EF2_C = FAN_STANDBY1_BV
- EF3_C = FAN_STANDBY2_BV
- End If
- // CO SENSOR ALARMS // { result = } Switch(BinaryOutput, AnalogValue, OnValue, OffValue)
- WARNING_CO_LEVEL_BV = Switch ( WARNING_CO_LEVEL_BV, MAX_CO, CO_SENSOR_WARNING_SP + 1, CO_SENSOR_WARNING_SP - CO_SENSOR_WARNING_DEADBAND)
- ALARM_CO_LEVEL_BV = Switch ( ALARM_CO_LEVEL_BV, MAX_CO, CO_SENSOR_ALARM_SP + 1, CO_SENSOR_ALARM_SP - CO_SENSOR_ALARM_DEADBAND)
- // SAFETY
- If WARNING_CO_LEVEL_BV = On Then
- FAN_LEAD_BV = On
- FAN_LAG_BV = On
- Else
- FAN_LEAD_BV = Off
- FAN_LAG_BV = Off
- End If
- If ALARM_CO_LEVEL_BV = On Then
- FAN_LEAD_BV = On
- FAN_LAG_BV = On
- FAN_STANDBY1_BV = On
- FAN_STANDBY2_BV = On
- ElseIf FAN_ENABLE_BV = Off Then
- FAN_LEAD_BV = Off
- FAN_LAG_BV = Off
- FAN_STANDBY1_BV = Off
- FAN_STANDBY2_BV = Off
- End If
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement