Bryan Boilers 250 Boiler User Manual


 
Date: 8-4-2010
Revision: 0
Form: 2396
assigning an ordering number and that the
lowest numbers are the first to be added.
• Any Available slaves that have a mode of Use
First will have the lowest ordering numbers. If
two or more Use First boilers exist, they are
numbered according to their assigned Slave
sequence order or Modbus address if this value
is zero, as descibed above.
• Next are slaves that have the mode of Equalize
Runtime. When the add boiler routine gets to
this group it first invokes the Voluntary Lead
Rotation routine (to make sure this is done, but
only once) and then selects an Available boiler,
if any, ordered according to:
— The first is the lead boiler per the
LeadBoilerSeqNum parameter.
— The rest are the other slaves ordered
according to the LL –Lag selection method}
parameter:
• If this parameter is "Rotate in sequence order",
then they are ordered according to their LL –
Slave sequence order or Modbus address if
this value is zero, as descibed above.
• If this parameter is "Measured run time" then
they are ordered according to their reported run
time. If two have the same measured run time,
then either may be selected.
• Last are any Available slaves that have a mode
of Use Last. These will have the highest
numbers. If two or more Use Last boilers exist,
they are numbered according to their assigned
Slave sequence order or Modbus address if
this value is zero, as described above.
Voluntary Lead Rotation
The current lead boiler is identified by the
LeadBoilerSeqNum value. This value will
change when the stager has asked the
sequencer for a boiler to add and either:
• the boiler identified by LeadBoilerSeqNum is
neither Available nor Firing (i.e. it has a fault or
is OnLeave), or
• the LeadBoilerRunTime value exceeds Lead
rotation time.
In either of these cases, the algorithm performed
is: If the Lead selection method is "Rotate in
sequence order", then LeadBoilerSeqNum is
incremented, and then new lead boiler is the one
that is a slave in Equalize Runtime mode that is
responding to the LL master (i.e. not OnLeave or
Recovering, but it might be Firing), and:
— has a sequence number equal to
LeadBoilerSeqNum, or.
— If no boiler has this then the closest one with
a sequence number greater than this number is
used, or
— If no boiler has a greater sequence number,
then the one that has the smallest sequence
number is used (wrap around).
Otherwise when the Lead selection method is
"Measured run time", then the lead boiler is the
one having the lowest Measured run time value.
If two have the same measured run time, then
either may be selected.
The LeadBoilerRunTime value is then set to
zero to give the new lead boiler a fresh
allotment. Note: if the old lead boiler is the only
one, then this process may end up re-
designating this as the "new" lead with a fresh
time allotment.
Sequencer ordering function
Part of the sequencer is called by the stager just
before the stager runs, to give the sequencer a
chance to assign order numbers to stages that
very recently turned on, and to maintain these in
a sequence. It uses the StagingOrder item in
the Slave Status table for this purpose.
The sequencer ordering function examines all
slaves and sets to zero the StagingOrder of any
stage that is not Firing.
This ensures that any stage that has left the
Firing condition recently is no longer in the
number sequence.
Next, skipping all of those that have 0 values in
StagingOrder it finds the lowest numbered
StagingOrder and gives it the value 1, the next
receive 2, etc.
Thus if gaps have developed due to a slave
dropping out these are filled in.
Finally, the ordering function continues on,
giving the next numbers to and Firing stages
which have a 0 StagingOrder values (i.e. they
recently were added, or they recently returned
from OnLeave).
Example: Before After Notfiring 3 0 Notfiring 0 0
Firing 2 1 Firing 5 3 Firing 0 4 Firing 4 2
Sequencer Drop Lag boiler selection
When the stager asks the sequencer for a lag
boiler to drop the sequencer looks at the
74