26th March 1999
The controller provides control of heating and cooling for a Fan Coil or office
space as described for standard SeaChange Fan Coil
controllers, see the SeaChange CD for more details. This version has extended
Occupancy features and has been adapted to facilitate Open System binding.
The controller has a setpoint for when the area is occupied (SPFC also nviOccSetpoint) and
a setpoint for when the area is not Occupied (nviNoOccSetpoint), a non occupied Cooling
setpoint is also calculated to be the same amount above the Occupied setpoint as the not
Occupied setpoint is below it. So if the Occupied setpoint is set to 20 and the non
occupied (heating) setpoint is 10, then the non occupied cooling setpoint will be 30.
Similarly heating and cooling setpoints are calculated above and below the Occupied
setpoint with a deadband of 1C between them. This deadband can be adjusted with a
configuration variable (SPDB) or by changing nviSetPtDbnd.
The Occupied and non Occupied setpoints will be provided by binding the appropriate
network variables to a SeaChange Zone Controller, or other LonWorks device. The SeaChange
Zone Controller will provide optimum start based on occupation time profiles stored within
it, the outside temperature, the time of day and the space temperature and will reflect
the Occupation status using the output network variable nvoOccupancy. This variable must
be bound to all Fan Coil controllers controlled by this Zone Controller.
The Fan Coil controller will control to the setpoint indicated by nviOccupancy. If this
variable shows not occupied, then the status of nviPIROccupancy will be checked, if this
changes to OC_OCCUPIED then, after an adjustable delay has elapsed (PIRD), and
PIROccupancy still shows OC_OCCUPIED the Fan Coil Controller will switch to the Occupied
setpoint. The Fan Coil nvoOccupancy network variable will show this state by sending
OC_BYPASS (temporarily occupied).
Standby mode
It is intended that nviPIROccupancy is bound to an occupancy sensor which is part of the lighting system. During the normal daily occupied period, as defined by the Zone Controller's time profile, the data from the lighting system's occupancy sensor is used to change the deadband between the heating and cooling setpoint. The occupied deadband is defined on config variable Setpoint Deadband (SPDB also nviSetPtDbnd) and this will be increased by adding the value of Standby Deadband (SBDB also nviSetPtStbyDbnd) when nviPIROccupancy shows unoccupied.
If nviPIROccupancy shows OC_OCCUPIED when nviOccupancy (from Zone) changes to OC_UNOCCUPIED then the Fan Coil will continue running until the PIR indicates unoccupied, this caters for staff remaining in the office after normal office hours.
Outside Normal Working Hours
If nviPIROccupancy changes to OC_OCCUPIED outside normal office hours, nviOccupancy is UN_OCCUPIED, then the PIR needs to continuously send OC_OCCUPIED for the delay time defined by PIRD (default 10 minutes) before the Fan Coil will switch to occupied. This prevents the system being activated by short term visits by cleaners or staff briefly returning to their desks. Once activated the Fan Coil will run on for a minimum time RMIN (default 10 minutes) after the last OC_OCCUPIED signal from the PIR, this is to prevent short cycling of the Fan Coil.
If the Fan Coil controller does not have a network variable bound to nviPIROccupancy
then the Occupied Deadband is controlled solely by SPDB.
If the controller is powered up with the registration button depressed then it will enter a factory test mode.
Warning: this mode changes the selectors on nviConfigData and nviConfigPara to suit the factory test equipment so the unit will need to be re-commissioned when replaced in a system.
The Controller has a manual mode which cycles through the following steps by pressing the
override button repeatedly.
Manual mode can be cancelled over the network using configuration variables.
The controller will detect if it's sensor fails open circuit or short circuit or if it
reads outside the range 1-40C. A common sensor fail alarm will be generated and broadcast
to the network as nvoConfigData with the size field set to 0. The network interface needs
to decode the config variable number, the label, and the source address. The controller
can then be polled to get it's location label for identification of the alarm to the user.
The controller will take action on the alarm depending on the setting of config ALRM. When
this parameter is set to 2, a sensor fail alarm will set the controller to manual with
both heating and cooling set to zero, the fan will run if the controller is Occupied.
The controller will also shut down the fan coil on receipt of a STOP alarm if ALRM=3. The
Fan Coil will remain shut down until receipt of a CLEAR alarm from the same address.
Alternatively the alarm can be cleared by setting ALRM to zero.
The variables nviConfigPara and nvoConfigData are used to allow configuration variables
and all measured variables both real and calculated to be made available at any Zone
Controller. It is necessary for the Network interface for the supervisor to have matching
input and output network variables. The output config network variables need to be bound
to all the corresponding input network variables on all SeaChange nodes, also they need to
be bound to the network interface's corresponding input network variables as shown in this
diagram.
This binding scheme causes the binding tool to create a common selector for all ConfigPara
network variables and similarly for all ConfigData network variables, it also puts all
SeaChange nodes in one group, this allows any Zone Controller to access the data from any
other SeaChange node. The SeaChange nodes create output network variable messages from
within the application code using the same network variable selector as the same type
input network variable. These messages are addressed to the requesting node.
If a SeaChange network interface module (SLTX) is used together with the PC program
SeaChange Doorway then the configuration variables may be displayed and changed from the
PC.
If a non SeaChange interface is used then some programming will be needed to access the
configuration variables at the network interface. The network interface needs to create
config variable requests on nvoConfigPara and decode the reply received on nviConfigData.
The structures for these variables are
ConfigPara
Single byte, unsigned variable requesting config parameter 1-255
ConfigData
Neuron C structure of the form
typedef struct cnfg_data{
unsigned int number;
unsigned int label[4];
unsigned int size;
//used to decode
differing data formats
long
minimum;
long
maximum;
unsigned int relative :1;
unsigned int unit
:7;
unsigned int spare;
unsigned int dp;
}cnfg_data;
number : the config parameter number
label :a four character ascii label
size :allows for different packing formats
0 used for alarm formats
1 variables are single byte integers
2 variables are signed long (2 bytes)
3 variables are TRN format (3 bytes)
minimum: minimum value for this variable
maximum: maximum value for this variable
value :value of the variable
For Open Systems product ConfigData is always sent with size=2.