The input pins are scheduledCurrentState, WMOverride, NetworkManOcc and OccSensorState.The output pins are EFF_OCC_CURRENT_STATE and MANUAL_OVERRIDE_STATE. This function computes the current Effective Occupancy Current State and the Manual Override State.
Inputs
| Range | ||||
| Input Name | Low | High | Input Value | Description |
| scheduleCurrentState | 0 | 1,3,255 | unconnected | Schedule Current State = 255 (OCCNUL) |
| invalid | Schedule Current State = 255 (OCCNUL) | |||
| VAL < low | Schedule Current State =0 (OCC) | |||
| VAL > high | Schedule Current State = 255 (OCCNUL) | |||
| WMOverride | 0 | 1-3,255 | unconnected | WM Override = 255 (OCCNUL) |
| invalid | WM Override = 255 (OCCNUL) | |||
| VAL < low | WM Override = 0 (OCC) | |||
| VAL > high | WM Override = 255 (OCCNUL) | |||
| NetworkManOcc | 0 | 1-3,255 | unconnected | Network Man Occ = 255 (OCCNUL) |
| invalid | Network Man Occ = 255 (OCCNUL) | |||
| VAL < low | Network Man Occ = 0 (OCC) | |||
| VAL > high | Network Man Occ = 255 (OCCNUL) | |||
| OccSensorState | 0 | 1, 255 | unconnected | Occ Sensor State = 255 (OCCNUL) |
| invalid | Occ Sensor State = 255 (OCCNUL) | |||
| VAL < low | Occ Sensor State = 0 (OCC) | |||
| VAL > high | Occ Sensor State = 255 (OCCNUL) | |||
Occ = 0, Unocc=1, Bypass =2, Standby = 3, Null = 255
Outputs
| Output Name | Range | Description |
| EFF_OCC_CURRENT_STATE | 0 to 3 (Occupied, Unoccupied, Bypass, Standby) | Effective Occupancy Current state |
| MANUAL_OVERRIDE_STATE | 0 to 3, 255 (Occupied, Unoccupied, Bypass, Standby, Null) | Manual Override State |
Configuration:
Operation
The Occ Arb Function Block has two levels of functioning. At the first level, inputs are provided to Manual Override Arbitrator. The Network Man Occ, WMOverride, and NetWins / Last-inWins is provided as inputs to Manual Override Arbitrator. The output obtained at this stage is the Manual Override state Saken which is taken as input for the next level. At the second level, Occupancy Arbitrator takes inputs from Manual Override State, Occ Sensor State, Schedule Current State, and Occupancy Sensor Operation. The final output is Effective Occ Current State.
The valid values for each of these parameters are given below:
| Parameter | Valid values |
| Network Man Occ | Occ, Stdby, Byp, Unocc, Null |
| WMOverride | Occ, Stdby, Byp, Unocc, Null |
| Manual Override State | Occ, Stdby, Byp, Unocc, Null |
| Occ Sensor State | Occ, Unocc, Null |
| Schedule Current State | Occ, Stdby, Unocc, Null |
| Effective Occ Current State | Occ, Stdby, Byp, Unocc, Null |
Manual Override Arbitration Mechanism
Manual Override Arbitration mechanism determines the value of Manual Override State. This value is used as an input to the Occupancy Arbitrator.
The Manual Override Arbitrator uses either a Net Wins or a Last in Wins scheme to evaluate the inputs. Net Wins means the network command always takes precedence over the wall module command. The following truth table is followed.
| Net Wins/ Last in Wins |
Network Man Occ |
WM Override | RESULT: Manual Override State |
Comment |
| Net Wins | OCC | Do not Care | OCC | Result set to Network Man Occ. |
| Net Wins | UNOCC | Do not Care | UNOCC | Result set to Network Man Occ. |
| Net Wins | BYPASS | Do not Care | BYPASS | Result set to Network Man Occ. |
| Net Wins | STANDBY | Do not Care | STANDBY | Result set to Network Man Occ. |
| Net Wins | OCCNUL | OCC | OCC | Result set to the wall module override. |
| Net Wins | OCCNUL | STANDBY | STANDBY | Result set to the wall module override. |
| Net Wins | OCCNUL | BYPASS | BYPASS | Result set to the wall module override. |
| Net Wins | OCCNUL | UNOCC | UNOCC | Result set to the wall module override. |
| Net Wins | OCCNUL | OCCNUL | OCCNUL | Override canceled. |
With Last in Wins, the last override source is used to determine the final state. If multiple sources change state in the same second, they are evaluated in order: Network Man Occ, WM Override. Each second the function block is called, the algorithm looks for a change of state to Network Man Occ or WM Override. If either of these changed state, then appropriate action is taken. Generally, a new command on any input cancels prior action by another source.
| Net Wins/ Last in Wins |
Network Man Occ (note2) |
WM Override (note 2) |
RESULT: Manual Override State |
Comment |
| Last in Wins | OCC | Do not Care | OCC | Result set to Network Man Occ. |
| Last in Wins | UNOCC | Do not Care | UNOCC | Result set to Network Man Occ. |
| Last in Wins | BYPASS | Do not Care | BYPASS | Result set to Network Man Occ. |
| Last in Wins | STANDBY | Do not Care | STANDBY | Result set to Network Man Occ. |
| Last in Wins | OCCNUL | Do not Care | OCCNUL | Override canceled. |
| Last in Wins | Do not Care | OCC | OCC | Result set to the wall module override. |
| Last in Wins | Do not Care | STANDBY | STANDBY | Result set to the wall module override. |
| Last in Wins | Do not Care | BYPASS | BYPASS | Result set to the wall module override. |
| Last in Wins | Do not Care | UNOCC | UNOCC | Result set to the wall module override. |
| Last in Wins | Do not Care | OCCNUL | OCCNUL | Override canceled. |
Note:
Any other input value not listed, is not a valid state. If received, it is treated as OCCNUL.
For last in wins, the value in the table was just changed from another state and this is the current state.
This function block does not have the ability to trigger on a network variable update. This differs from E-Bus Mechanisms which state the node should do the bypass timing for the network Manual Occupancy Command and reload the timer when a BYPASS update occurs.
From iteration to iteration of the Function Block, the Occupancy Arbitrator keeps track of the last state of the Network Man Occ and WM Override inputs so that it knows when a transition occurs. On power up/reset the last latch value is set to FALSE, regardless of the negation configuration. Override is canceled after a power outage. The Network Man Occ and WM Override inputs must reassert themselves after a power outage.
Network Manual Occupancy Input
Network Man Occ is a method to command the occupancy state from a network workstation or a node. The user may write logic to combine these if both are required for the application. Network Man Occ can command the state to be occupied, unoccupied, standby, bypass or null. It is required that the workstation (nviManOccCmd) or network node (nviBypass) perform any timing needed (i.e. bypass).
WM Override Input
WM Override is a method to command the occupancy state from a locally wired wall module. WM Override can command the state to be occupied, unoccupied, standby, bypass or null. It is required the function block wired to this input perform any timing needed (i.e. bypass). Note: the current T7770 wall module function does not support occupied or standby override, but future wall modules might.
Occupancy Arbitration Mechanism
The Occupancy Arbitrator computes the effective occupancy status. The inputs of the Effective Occupancy Arbitrator include the Schedule Current State, Occ Sensor State, and Manual Override State. The Manual Override State comes from above.
The Effective Occupancy Arbitrator sets the Effective Occ Current State. Valid states of current state are:
OCCNUL is not a valid output. If all inputs are OCCNUL, the output is set to occupied.
| Manual Override State |
Schedule Current State |
Occ Sensor State |
Occ Sensor Operation | RESULT: effOcc CurrentState |
Comments | Follows LonMark SCC |
| OCC | Do not Care | Do not Care | Do not Care | OCC | Result = Manual Override State | Yes |
| STANDBY | Do not Care | Do not Care | Do not Care | STANDBY | Result = Manual Override State | Yes |
| UNOCC | Do not Care | Do not Care | Do not Care | UNOCC | Result = Manual Override State | Yes |
| BYPASS | OCC | Do not Care | Do not Care | OCC | Result stays at occupied because bypass is not effective when scheduled for occupied. | Yes |
| BYPASS | STANDBY | Do not Care | Do not Care | BYPASS | Result stays at bypass. | Yes |
| BYPASS | UNOCC | Do not Care | Do not Care | BYPASS | Result = bypass | Yes |
| BYPASS | OCCNUL | OCC | Do not Care | OCC | Result follows occupancy sensor | Yes |
| BYPASS | OCCNUL | UNOCC | Do not Care | BYPASS | Result follows manual override | Yes |
| BYPASS | OCCNUL | OCCNUL | Do not Care | OCC | When occupancy sensor is null, default to occupied. | Yes |
| OCCNUL | STANDBY | Do not Care | Do not Care | STANDBY | Result = scheduled state. | Yes |
| OCCNUL | OCC | OCC | Do not Care | OCC | All say we are Occupied. | Yes |
| OCCNUL | OCC | UNOCC | Do not Care | STANDBY | We are schedule to be occupied but room is actually unoccupied, so go to standby to save energy. | Yes |
| OCCNUL | OCC | OCCNUL | Do not Care | OCC | Sensor not present so use schedule. | Yes |
| OCCNUL | UNOCC | UNOCC | Do not Care | UNOCC | All say we are unoccupied. | Yes |
| OCCNUL | UNOCC | OCCNUL | Do not Care | UNOCC | Sensor not present so use schedule | Yes |
| OCCNUL | OCCNUL | OCC | Do not Care | OCC | Result -= occupancy sensor state. | Yes |
| OCCNUL | OCCNUL | UNOCC | Do not Care | UNOCC | Result -= occupancy sensor state. | Yes |
| OCCNUL | OCCNUL | OCCNUL | Do not Care | OCC | Result = occupied because the LonMark SCC sets a null occupancy sensor to Occupied. | Yes |
| OCCNUL | UNOCC | OCC | Conference Room | UNOCC | Stay unoccupied regardless of what the sensor says (i.e. save energy). | Yes |
| OCCNUL | UNOCC | OCC | Cleaning Crew | STANDBY | We are schedule to be unoccupied but the room is actually occupied, so go to standby for the comfort of the cleaning crew. | No |
| OCCNUL | UNOCC | OCC | Tenant | OCC | We are schedule to be unoccupied but the room is actually occupied, so go to occupied for the comfort of the tenant. | No |