FESA-Instance BitMap Definition

Overall File Structure

The BitMap Definition file must be enclosed in the tag <BITMAP>.

The BitMap Definition file can hold several different BitMaps (different type of entries). E.g. detailed statusbit and module statusbit definitions both may be contained in the file. Each of such definitions must be enclosed in tags <!Bitmap>, which holds a Definition of the structure of the Bitmaps as well as the differetn data sets, which can be accessed by name.

bitMap Entry

The data file can hold different bitmap types. Each of such tpes hat to be handled within a <bitMap> tag. The file can hold multiple <bitMap> entries.

The values for each bit in the bitmap are given as attributes in <bit> - tags. Names of the attributes can be freely chosen. The location where to place the list items has to be specified is given by the attribute name. The Name of the attributes can be freely chosen.

BitMap Structure Definition

In the structure definition are is defined where to place the data in the FESA instance files.
Value Destination

For each attribute in the in the <bit> definitions in a tag <bitMapDescription> the location in the FESA instance file can be specified where the attibute values are to be inserted. A definition like

<bitMapDescription name='sev' entry='configuration.detailedStatus_severity'/>
<bitMapDescription name='txt' entry='configuration.detailedStatus_labels'/>

specifies that the values of attribute sev in the >bit< entries have to be placed in the <configuration> / <detailedStatus_severity> entry. Similarily to place the values of txt into <configuration> / <detailedStatus_labels>.

When no destination is specified for an attributes in the <bit> definitions, the attributre will not be used for insertion into the FESA instance file. This can be used for description, e.g. numbering, the bit values.
Size (Number of Bits) Destination

Often, the number of bits in the bitmap has to be inserted in the FESA instance file. This can be achieved by a tag <bitMapDimension>:

<bitMapDimension dest='acquisition.detailedStatus.dim'/>
<bitMapDimension dest='configuration.detailedStatusSize'/>

This will insert the number of bitmap items (the number of bits) into the specified items into the FESA instance-files.

Bitmap Value Definition

The values of the Bitmaps are given in the <bitMapping> section. The sets of values are identified by names which have to be given by a Name attribute.

Values of the entries have to be specified bit by bit as <bit> tags:

<bit num=' 0' sev='INFO' txt='outputOn_H'/>
<bit num=' 1' sev='INFO' txt='outputRampUp_H'/>
<bit num=' 2' sev='INFO' txt='outputRampDown_H'/>
<bit num=' 3' sev='INFO' txt='outputOverCurrent_H'/>
. . .

Values from the attributes which are specified in the <bitMapDescription> tags are placed as list in the specified target destination. The atrtribute num is given for better understanding only, it is not evaluated.

Example

Specification

<BITMAP>
<bitMap>

<bitMapDescription name='reg' entry='configuration.detailedStatus_MfuBitMapping'/>
<bitMapDescription name='sev' entry='configuration.detailedStatus_severity'/>
<bitMapDescription name='txt' entry='configuration.detailedStatus_labels'/>
<bitMapDimension dest='acquisition.detailedStatus.dim'/>
<bitMapDimension dest='configuration.detailedStatusSize'/>

<bitMapping name='YRT-MIL'>
<bit num='01' reg='{4711,9}' sev='ERROR_ON_FALSE' txt='PowerFault'/>
<bit num='02' reg='{4711,10}' sev='ERROR_ON_FALSE' txt='TempPS'/>
<bit num='03' reg='{4711,11}' sev='ERROR_ON_FALSE' txt='H2OPS'/>
<bit num='04' reg='{4711,12}' sev='ERROR_ON_FALSE' txt='CurrOver'/>
<bit num='05' reg='{4711,14}' sev='ERROR_ON_FALSE' txt='TempMagnet'/>
<bit num='06' reg='{4711,15}' sev='ERROR_ON_FALSE' txt='H2OMgn'/>
<bit num='07' reg='{4711,17}' sev='ERROR_ON_FALSE' txt='INet'/>
<bit num='08' reg='{4711,18}' sev='ERROR_ON_FALSE' txt='T1T4Fault'/>
<bit num='09' reg='{4711,19}' sev='ERROR_ON_FALSE' txt='T5Fault'/>
<bit num='10' reg='{4711,20}' sev='ERROR_ON_FALSE' txt='Ud1'/>
<bit num='11' reg='{4711,22}' sev='ERROR_ON_FALSE' txt='DCCT'/>
<bit num='12' reg='{4711,23}' sev='ERROR_ON_FALSE' txt='Fault2Ground'/>
<bit num='13' reg='{4711,25}' sev='ERROR_ON_FALSE' txt='SiSt'/>
<bit num='14' reg='{4711,31}' sev='INFO' txt='CurrCtrl'/>

<bitMapping name='YR-Quads'>
<bit num='0' reg='{4711,0}' sev='ERROR_ON_FALSE' txt='LoadTemp'/>
<bit num='1' reg='{4711,1}' sev='ERROR_ON_FALSE' txt='Waterflow'/>
<bit num='2' reg='{4711,3}' sev='ERROR_ON_FALSE' txt='DcctChokeTemp'/>
<bit num='3' reg='{4711,4}' sev='ERROR_ON_FALSE' txt='SnubFuse'/>
<bit num='4' reg='{4711,5}' sev='ERROR_ON_FALSE' txt='MCB'/>
<bit num='5' reg='{4711,6}' sev='ERROR_ON_FALSE' txt='TransTemp'/>
<bit num='6' reg='{4711,7}' sev='ERROR_ON_FALSE' txt='PhaseSynch'/>
<bit num='7' reg='{4711,10}' sev='ERROR_ON_FALSE' txt='DoorEmergency'/>
<bit num='8' reg='{4711,13}' sev='ERROR_ON_FALSE' txt='ThyrTemp'/>
</bitMapping>

<bitMap>
</BITMAP>
device-instance file

Using the above specification for the bitmapping YRT-MIL will result in entries in the configuration section of the device instance file like:

<detailedStatus_labels idref="_150511124306_86">
<value>{PowerFault,TempPS,H2OPS,CurrOver,TempMagnet,H2OMgn,INet,T1T4Fault,T5Fault,Ud1,DCCT,Fault2Ground,SiSt,CurrCtrl}</value>
</detailedStatus_labels>

<detailedStatus_severity idref="_150511124306_87">
<dim value="14"/>
<value>{ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,ERROR_ON_FALSE,INFO}</value>
</detailedStatus_severity>

<detailedStatus_MfuBitMapping idref="_150511124306_75">
<value>{{4711,9},{4711,10},{4711,11},{4711,12},{4711,14},{4711,15},{4711,17},{4711,18},{4711,19},{4711,20},{4711,22},{4711,23},{4711,25},{4711,31}}</value>
</detailedStatus_MfuBitMapping>

Example
See

Example 2: Update bitmaps, like detailed status entries
Topic revision: r4 - 19 Mar 2019, UdoKrause
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback