frig_wildcard_syntax (ul_friglib)

	    Information on frig wildcard devices.
		Last modified 11-29-95

   There are 6 lists of wildcard devices.
   1 for tev refrigerators		T:WR***
   1 for tev compressors		T:WC***
   1 for tev combined lists		T:WF***
   1 for all refrigerators		T:WG***
   1 for all compressors		T:WO***
   1 for all combined houses		T:WA***

   Besides the wildcard devices for FSM structures, there are 2 sets of
   overhead information sturctures. One returns the number of houses
   currently running as new houses and the other returns the ASCII strings
   for the houses' names.

   These structures are:

   T:WRLEN  - number of tev refrigerator houses 
   T:WCLEN  - number of tev compressor houses
   T:WFLEN  - number of total tev frig houses
   T:WARLEN - number of all refrigerator houses
   T:WACLEN - number of all compressor houses
   T:WAFLEN - number of all frig houses
   T:WRHSES - names of tev refrigerator houses
   T:WCHSES - names of tev compressor houses
   T:WFHSES - names of tev combined frig houses
   T:WARHSS - names of all refrigerator houses
   T:WACHSS - names of all compressor houses
   T:WAFHSS - names of all frig houses

   Note:
   The consolidator will return data for exactly the number of houses it
   currently supports as indicated by T:**LEN. A request for a length which
   is not exactly what the consolidator is supporting:
   (length per house + 2 bytes status) * current number of houses
   will cause an error.

   The data pool manager checks to make sure the requested length +
   the requested offset is <= the maximum length stored in the data base.
   Consequently, the maximum length stored in the data base must be the maximum
   possible offset (for simplicity use the max length for the corresponding non 
   wild card device) + the maximum wildcard length required to return the wildcard
   information for 30 houses.

   More information on how wildcard length and offsets are determined:

   A standard device, such as, T:A1OP00 stores 32 operations (00 - 31) in a 
   single ACNET device.  It is arranged with a standard length and offset for 
   settings as follows:

   offset 0    OPER 000  length is 96 bytes
   offset 96   OPER 001  length is 96 bytes
   offset 192  OPER 002  length is 96 bytes
            .
            .
            .
   offset 2976 OPER 031  length is 96 bytes
   offset 3072 is first byte past the end of the array

   Wildcard devices are arranged as a 2 dimensional array with operations on one
   axis and house on the other. A wildcard device, such as, T:WROP00 stores
   32 operations (00-31) by up to 30 houses, (actual number returned is
   determined at run-time via T:WRLEN with house names determined at run-time
   via T:WRHSES). It is arranged with a non-standard length and offset for
   settings as follows:

   offset 0    OPER 000 for A1  OPER 000 for A2 OPER 000 for A3 ... 30*96 = 2940
   offset 96   OPER 001 for A1  OPER 001 for A2 OPER 001 for A3 ... 30*96 = 2940
   offset 192  OPER 002 for A1  OPER 002 for A2 OPER 002 for A3 ... 30*96 = 2940
   .
   .
   .
   offset 2976 OPER 031 for A1  OPER 031 for A2 OPER 031 for A3 ... 30*96 = 2940
   offset 3072 is first byte past the end of the array. The entire device (all
   32 operations) can be returned at once without surpassing the ACNET length
   limit.

   The length required for this device is computed as follows:
   (96 bytes length + 2 bytes status) * 30 houses possible = 2940
   possible max offset of 96 bytes * 32 members per device = 3072

   Since the size of the entire array would surpass the ACNET packet limit,
   only a single operation can be requested at a time. This corresponds to a
   single row of the array, with the wildcard mechanism automatically returning
   data for all of the supported columns, (determined by T:WRLEN). The row is
   selected by using the offset. To stay within ACNET limits, the offset is
   interpreted by the consolidator the same for wildcard devices as it is for
   standard devices. For example, to get data for OPER 002 from all houses
   supported by the wildcard, the offset submitted is 192 and the length is
   96 * number of supported houses. The offset ignores the fact this is a
   wildcard device returning data for multiple houses.

   The SSDN's are adjusted for the wildcard devices as follows:
   single device	is 0038
   T:WR***		is 01FE
   T:WC***		is 02FE
   T:WF***		is 03FE
   T:WO***		is 05FE
   T:WG***		is 06FE
   T:WA***		is 07FE

   Information for each device:

   T:**OP00 thru T:**OP15 containing 32 operations per device
   Lengths:
   setting   96        (96+2)*30 = 2940 + 3072 = 6012
   reading    4        (4+2)*30  = 180  + 128  = 308
   status     2        (2+2)*30  = 120  + 64   = 184
   control    2        (2+2)*30  = 120  + 64   = 184

   T:**AN00 thru T:**AN07 containing 32 actions per device
   Lengths:
   setting    4        (4+2)*30  = 180  + 128  = 308
   reading    -
   status     2        (2+2)*30  = 120  + 64   = 184
   control    -

   T:**AS00 thru T:**AS07 containing 32 actions per device
   Lengths:
   setting   96        (94+2)*30 = 2880 + 3008 = 5888
   reading    -
   status     2        (2+2)*30  = 120  + 64   = 184
   control    - 

   T:**TMS containing 64 timers per device
   Lengths:
   setting   48        (48+2)*30 = 1500 + 3072 = 4572
   reading    -
   status     -
   control    -

   T:**TIM containing 64 timers per device
   Lengths:
   setting    4        (4+2)*30 = 180  + 256  = 436
   reading    4        (4+2)*30 = 180  + 256  = 436
   status     2        (2+2)*30 = 120  + 128  = 248
   control    -

   T:**STR containing 64 stores per device
   Lengths:
   setting   50        (50+2)*30 = 1560 + 3200 = 4760
   reading    4        (4+2)*30  = 180  + 256  = 436
   status     2        (2+2)*30  = 120  + 128  = 248
   control    -

   T:**SA00 thru T:**SA31 containing 4 states per device
   Lengths:
   setting  40        (40+2)*30 = 1260 (includes only thru description) + 2568 =
   reading   -                                                            3828
   status    2        (2+2)*30  = 120  + 8  = 128
   control   -

   T:**FS00 thru T:**FS31 containing 1 FSM per device
   Lengths:
   setting 268        (268+2)*30 = 8100 + 0 = 8100
   reading  18        (18+2)*30  = 600  + 0 = 600
   status    2        (2+2)*30   = 120  + 0 = 120 
   control   2        (2+2)*30   = 120  + 0 = 120

   T:WRQNCH containing 1 quench per device (only refrigerators have quench)
   Lengths:
   setting   -
   reading   -
   status    2	   (2+2)*30   = 120  + 0 = 120
   control   2        (2+2)*30   = 120  + 0 = 120

   Tev devices (** = WR, WC, WF) are what is shown above with 30 houses supported
   Global devices (** = WG, WO, WA) are exactly the same with what is shown
   above but the number of possible houses supported by the data base are not 30.
   For WG, which is only global type currently supported, the number of possible
   houses supported by the data base is 38.