/Equipment ODB tree: Difference between revisions

From MidasWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 20: Line 20:
An empty /Equipment tree will be created by mlogger.
An empty /Equipment tree will be created by mlogger.


If an [[ Frontend Operation#Equipments and Events|Equipment]] is defined in [[Frontend user code]], the first time the frontend is run, that equipment
If an [[ Frontend Operation#Equipments and Events|Equipment]] is defined in [[Frontend user code]], the first time the frontend is run, if that equipment does not exist in the ODB, it
will be created in the ODB as a subtree  under the /Equipment tree  with the values supplied in the [[Frontend user code]].  
will be created (using db_create_record) in the ODB as a subtree  under the /Equipment tree  with the values supplied in the [[Frontend user code]].  


== Example of /Equipment tree ==
== Example of /Equipment tree ==
Line 57: Line 57:
         Event limit            DOUBLE  1    8    9h  0  RWD  0
         Event limit            DOUBLE  1    8    9h  0  RWD  0
         Num subevents          DWORD  1    4    9h  0  RWD  0
         Num subevents          DWORD  1    4    9h  0  RWD  0
         Log history            INT    1    4    2h  0  RWD  1
         Log history            INT    1    4    2h  0  RWD  60
         Frontend host          STRING  1    32    9h  0  RWD  lxpol.triumf.ca
         Frontend host          STRING  1    32    9h  0  RWD  lxpol.triumf.ca
         Frontend name          STRING  1    32    9h  0  RWD  pol_fevme
         Frontend name          STRING  1    32    9h  0  RWD  pol_fevme
Line 136: Line 136:
===  <span  style="color: purple;">''<equipment-name>''</span> subtree  ===
===  <span  style="color: purple;">''<equipment-name>''</span> subtree  ===
This subtree in the [[#top|/Equipment ODB tree]] The [[#top|/Equipment ODB tree]]  
This subtree in the [[#top|/Equipment ODB tree]] The [[#top|/Equipment ODB tree]]  
will be named for an [[Frontend Operation#Equipments and Events|Equipment]] defined in the [[Frontend user code]]. No two subtrees in an experiment can have the same name.  An <equipment-name> subtree will be present for every defined equipment in all the frontend(s) run on the experiment. The subtree will be created the first time the defining frontend is run. Note that if these parameters are later changed in the ODB, they will '''not''' be overwritten by the values in the frontend if the frontend is restarted.
will be named for an [[Frontend Operation#Equipments and Events|Equipment]] defined in the [[Frontend user code]]. No two subtrees in an experiment can have the same name.  An <equipment-name> subtree will be present for every defined equipment in all the frontend(s) run on the experiment.  
 
<div id="initial values"></div>
This subtree will be created (if it does not already exist) the first time the defining frontend is run, and the values set are defined in the  [[Equipment List Parameters]] in the [[Frontend user code]] that defines this particular equipment.
 
Note that if these parameters are later changed in the ODB, they will '''not''' be overwritten by the values in the frontend if the frontend is restarted.




Line 144: Line 149:


====  <span  style="color: purple;">''Common''</span> subtree  ====
====  <span  style="color: purple;">''Common''</span> subtree  ====
This subtree in an [[#<equipment-name> subtree|/Equipment/<equipment-name> subtree]] contains the parameters used by the system to process the  [[Frontend Operation#Equipments and Events|Equipment]]. The values of the Common parameters are
This subtree in an [[#<equipment-name> subtree|/Equipment/<equipment-name> subtree]] contains the parameters used by the system to process the  [[Frontend Operation#Equipments and Events|Equipment]].  
initially defined in the  [[Equipment List Parameters]] in the [[Frontend user code]] that defines this particular equipment.
 
The initial values of the Common parameters are set when this tree is created (see [[#initial value|initial values]]).


<br>
<br>
Line 153: Line 159:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' WORD
* '''Type:''' WORD
* '''Default:'''   
* '''Default:'''  See [[#initial value|initial value]]
</div>  
</div>  


This key in the [[#Common subtree|Common subtree]] contains the Event ID of this equipment. See '''[[Equipment List Parameters#EventID|EventID]]''' for details.
This key in the [[#Common subtree|Common subtree]] contains the Event ID of this equipment. See '''[[Equipment List Parameters#EventID|EventID]]''' for details.


The initial value of this parameter is defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. 
<br>
<br>
---------
---------
Line 165: Line 170:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' WORD
* '''Type:''' WORD
* '''Default:'''
* '''Default:'''   See [[#initial value|initial value]]
</div>  
</div>  


Line 171: Line 176:
This key in the [[#Common subtree|Common subtree]] contains the Trigger mask of this equipment.  See '''[[Equipment List Parameters#TriggerMask|TriggerMask]]''' for details.
This key in the [[#Common subtree|Common subtree]] contains the Trigger mask of this equipment.  See '''[[Equipment List Parameters#TriggerMask|TriggerMask]]''' for details.


The initial value of this parameter is defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.




Line 181: Line 185:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Type:''' STRING
* '''Default:''' "SYSTEM"
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  


Line 187: Line 191:
This key in the [[#Common subtree|Common subtree]] contains the Buffer parameter of this equipment.  See  
This key in the [[#Common subtree|Common subtree]] contains the Buffer parameter of this equipment.  See  
'''[[Equipment List Parameters#Buffer|Buffer]]''' for details.
'''[[Equipment List Parameters#Buffer|Buffer]]''' for details.
 
For Events that are to be logged as banks, Buffer is set to "SYSTEM".
The initial value of this parameter is defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.  For Events that are to be logged as banks, Buffer is set to "SYSTEM".


<br>
<br>
Line 197: Line 200:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  




This key in the [[#Common subtree|Common subtree]] contains the Type of this equipment.  See '''[[Equipment List Parameters#Type|Type]]''' for details.
This key in the [[#Common subtree|Common subtree]] contains the Type of this equipment.  See '''[[Equipment List Parameters#Type|Type]]''' for details.
 
The Type is one of the defined '''Equipment Flags'''.  
The initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.  The Type is one of the defined '''Equipment Flags'''.  




Line 214: Line 216:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  


Line 220: Line 222:
This key in the [[#Common subtree|Common subtree]] contains the Interrupt or Event Source of this equipment.  See '''[[Equipment List Parameters#Source|Source]]''' for details.
This key in the [[#Common subtree|Common subtree]] contains the Interrupt or Event Source of this equipment.  See '''[[Equipment List Parameters#Source|Source]]''' for details.


The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.




Line 231: Line 232:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' STRING
* '''Type:''' STRING
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  




This key in the [[#Common subtree|Common subtree]] contains the data format used for generating the event of this equipment. See '''[[Equipment List Parameters#Format|Format]]''' for details.
This key in the [[#Common subtree|Common subtree]] contains the data format used for generating the event of this equipment. See '''[[Equipment List Parameters#Format|Format]]''' for details.
 
   
The initial value of this parameter is  defined by  the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.  




Line 248: Line 248:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' BOOL
* '''Type:''' BOOL
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  


Line 254: Line 254:
This key in the [[#Common subtree|Common subtree]] indicated whether this equipment is active. See '''[[Equipment List Parameters#Enabled|Enabled]]''' for details.
This key in the [[#Common subtree|Common subtree]] indicated whether this equipment is active. See '''[[Equipment List Parameters#Enabled|Enabled]]''' for details.


The initial value of this parameter is  defined by  the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. 
 


<br>
<br>
Line 263: Line 263:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  




This key in the [[#Common subtree|Common subtree]] specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of [[ReadOn Flags]].  See '''[[Equipment List Parameters#ReadOn|Read on]]''' for details.
This key in the [[#Common subtree|Common subtree]] specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of [[ReadOn Flags]].  See '''[[Equipment List Parameters#ReadOn|Read on]]''' for details.
The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment. 




Line 279: Line 277:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  


Line 285: Line 283:
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Period|Period]]''' for details.
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Period|Period]]''' for details.


The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.




Line 303: Line 300:
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Event limit|Event limit]]''' for details.
This key in the [[#Common subtree|Common subtree]] specifies the time interval or time-out. See '''[[Equipment List Parameters#Event limit|Event limit]]''' for details.


The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.
 




Line 315: Line 312:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' DWORD
* '''Type:''' DWORD
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  


Line 321: Line 318:
This key in the [[#Common subtree|Common subtree]] enables the super-event capability. See '''[[Equipment List Parameters#Number of subevents|Number of subevents]]''' for details.
This key in the [[#Common subtree|Common subtree]] enables the super-event capability. See '''[[Equipment List Parameters#Number of subevents|Number of subevents]]''' for details.


The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.
 




Line 332: Line 329:
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
* '''Type:''' INT
* '''Type:''' INT
* '''Default:'''  
* '''Default:''' See [[#initial value|initial value]]
</div>  
</div>  




This key in the [[#Common subtree|Common subtree]] enables the [[History System]] for this equipment. See '''[[Equipment List Parameters#Log History|Log History]]''' for details.
This key in the [[#Common subtree|Common subtree]] enables the [[History System]] for this equipment. See '''[[Equipment List Parameters#Log History|Log History]]''' for details.
A value of 0 disables history logging. This parameter also controls how frequently the history events are generated.


The  initial value of this parameter is  defined by the  [[Equipment List Parameters|Equipment List]] in the [[Frontend user code]] that defines this particular equipment.




Line 445: Line 444:
If either
If either
* the [[#Read on|Read on]] parameter contains the [[ReadOn Flags|RO_ODB flag]] or  
* the [[#Read on|Read on]] parameter contains the [[ReadOn Flags|RO_ODB flag]] or  
* [[#Log history|Log history]] is enabled,
* [[#Log history|Log history]] is non-zero, i.e. History logging is enabled  
the event data will be copied to the ODB and listed in this subtree.  
the event data will be copied to the ODB and listed in this subtree.  



Revision as of 14:37, 12 June 2014

Links

Purpose

The ODB /Equipment tree contains user and system information related to a frontend.

Creating the /Equipment tree

An empty /Equipment tree will be created by mlogger.

If an Equipment is defined in Frontend user code, the first time the frontend is run, if that equipment does not exist in the ODB, it will be created (using db_create_record) in the ODB as a subtree under the /Equipment tree with the values supplied in the Frontend user code.

Example of /Equipment tree

The following is an example of the /Equipment tree from an experiment obtained with the odbedit ls command listing all the defined equipments in the experiment :

[local:pol:S]Settings>ls /Equipment -l
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
POL_ACQ                         DIR
Scaler                          DIR
Trigger                         DIR
VME                             DIR
SisPulser                       DIR
INFO                            DIR
HISTO                           DIR


The following is a listing of one of the equipments in the /Equipment tree shown above :

[local:pol:S]Settings>ls /Equipment/info/ -lr                
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
INFO                            DIR
   Common                      DIR
       Event ID                WORD    1     2     9h   0   RWD  3
       Trigger mask            WORD    1     2     9h   0   RWD  8
       Buffer                  STRING  1     32    9h   0   RWD  SYSTEM
       Type                    INT     1     4     9h   0   RWD  1
       Source                  INT     1     4     9h   0   RWD  0
       Format                  STRING  1     8     9h   0   RWD  MIDAS
       Enabled                 BOOL    1     4     9h   0   RWD  y
       Read on                 INT     1     4     9h   0   RWD  257
       Period                  INT     1     4     9h   0   RWD  100
       Event limit             DOUBLE  1     8     9h   0   RWD  0
       Num subevents           DWORD   1     4     9h   0   RWD  0
       Log history             INT     1     4     2h   0   RWD  60
       Frontend host           STRING  1     32    9h   0   RWD  lxpol.triumf.ca
       Frontend name           STRING  1     32    9h   0   RWD  pol_fevme
       Frontend file name      STRING  1     256   9h   0   RWD  pol_fevme.cxx
       Status                  STRING  1     256   9h   0   RWD  pol_fevme@lxpol.triumf.ca
       Status color            STRING  1     32    9h   0   RWD  #00FF00
       Hidden                  BOOL    1     4     9h   0   RWD  n
   Variables                   DIR
       DBUG                    FLOAT   10    4     8h   0   RWD  
                                       [0]             0
                                       [1]             101
                                       [2]             2121
                                       [3]             2121
                                       [4]             101
                                       [5]             2
                                       [6]             4
                                       [7]             1
                                       [8]             1
                                       [9]             0
       CYCL                    FLOAT   10    4     8h   0   RWD  
                                       [0]             1
                                       [1]             3520
                                       [2]             176
                                       [3]             20
                                       [4]             30
                                       [5]             176
                                       [6]             3520
                                       [7]             1
                                       [8]             0.05
                                       [9]             0.0522
       SUMS                    DOUBLE  4     8     8h   0   RWD  
                                       [0]             0
                                       [1]             10000
                                       [2]             0
                                       [3]             0
   Statistics                  DIR
       Events sent             DOUBLE  1     8     8h   0   RWD  176
       Events per sec.         DOUBLE  1     8     8h   0   RWD  0
       kBytes per sec.         DOUBLE  1     8     8h   0   RWD  0
   Settings                    DIR
       Names DBUG              STRING  12    32    9h   0   RWD  
                                       [0]             Data still buffered
                                       [1]             Num SIS LNE events
                                       [2]             LNE count from SIS
                                       [3]             LNE preset value
                                       [4]             number of bins
                                       [5]             data bytes code
                                       [6]             num enabled channels
                                       [7]             discard first bin
                                       [8]             discard first cycle
                                       [9]             not used
                                       [10]            not used
                                       [11]            not used
       Names CYCL              STRING  12    32    9h   0   RWD  
                                       [0]             Scan type code
                                       [1]             Number good cycles
                                       [2]             Number supercycles
                                       [3]             Cycle num within supercycle
                                       [4]             Sweep number
                                       [5]             Num cycles skipped
                                       [6]             Num cycles histogrammed
                                       [7]             DAC Increment number
                                       [8]             DAC Set Value (volts)
                                       [9]             DAC Readback (volts)
                                       [10]            not used
                                       [11]            not used
       Names SUMS              STRING  4     32    9h   0   RWD  
                                       [0]             SC Sum ch17
                                       [1]             SC Sum ch18
                                       [2]             SC Sum ch19
                                       [3]             SC Sum ch20

Keys in the /Equipment ODB tree

<equipment-name> subtree

This subtree in the /Equipment ODB tree The /Equipment ODB tree will be named for an Equipment defined in the Frontend user code. No two subtrees in an experiment can have the same name. An <equipment-name> subtree will be present for every defined equipment in all the frontend(s) run on the experiment.

This subtree will be created (if it does not already exist) the first time the defining frontend is run, and the values set are defined in the Equipment List Parameters in the Frontend user code that defines this particular equipment.

Note that if these parameters are later changed in the ODB, they will not be overwritten by the values in the frontend if the frontend is restarted.





Common subtree

This subtree in an /Equipment/<equipment-name> subtree contains the parameters used by the system to process the Equipment.

The initial values of the Common parameters are set when this tree is created (see initial values).




Event ID

This key in the Common subtree contains the Event ID of this equipment. See EventID for details.




Trigger mask


This key in the Common subtree contains the Trigger mask of this equipment. See TriggerMask for details.





Buffer


This key in the Common subtree contains the Buffer parameter of this equipment. See Buffer for details. For Events that are to be logged as banks, Buffer is set to "SYSTEM".




Type


This key in the Common subtree contains the Type of this equipment. See Type for details. The Type is one of the defined Equipment Flags.





Source


This key in the Common subtree contains the Interrupt or Event Source of this equipment. See Source for details.






Format


This key in the Common subtree contains the data format used for generating the event of this equipment. See Format for details.






Enabled


This key in the Common subtree indicated whether this equipment is active. See Enabled for details.





Read on


This key in the Common subtree specifies when the read-out of an event occurs or is enabled. It is set to one or a combination of ReadOn Flags. See Read on for details.





Period


This key in the Common subtree specifies the time interval or time-out. See Period for details.






Event limit
  • Type: DOUBLE
  • Default:


This key in the Common subtree specifies the time interval or time-out. See Event limit for details.







Num subevents


This key in the Common subtree enables the super-event capability. See Number of subevents for details.






Log history


This key in the Common subtree enables the History System for this equipment. See Log History for details. A value of 0 disables history logging. This parameter also controls how frequently the history events are generated.







Frontend host
  • Type: STRING
  • Default:


This key in the Common subtree contains the name of the Frontend host running the Frontend user code that defines this particular equipment. It is filled by the system.





Frontend name
  • Type: STRING
  • Default:


This key in the Common subtree contains the Frontend name defined in the Frontend user code that defines this particular equipment. It is filled by the system.





Frontend file name
  • Type: STRING
  • Default:


This key in the Common subtree contains the filename of the Frontend user code that defines this particular equipment. It is filled by the system.





Status
  • Type: STRING
  • Default:


This key in the Common subtree contains the combination of Frontend name and Frontend host Frontend host that define this particular equipment. It is filled by the system and used by mhttpd status page.





Status color
  • Type: STRING
  • Default: "#00FF00"


This key in the Common subtree contains a colour code to be used for the display of this equipment on the mhttpd status page.





Hidden
  • Type: BOOL
  • Default: "n"

This key in the Common subtree if set to "y" will prevent the display of this equipment on the mhttpd status page.





Variables subtree

  • Type: DIR

This is a subtree in the /Equipment ODB Tree.

If either

the event data will be copied to the ODB and listed in this subtree.

In that case, this subtree will contain array(s) of event data named for the bankname(s) in the readout function (see Frontend user code#Event Readout routine. See example above.





Statistics subtree

  • Type: DIR

This subtree in the /Equipment ODB Tree contains statistics written by the system.






Events sent subtree
  • Type: DOUBLE

This key in the Statistics subtree contains the number of events of Event ID sent. It is filled by the system and used for display on mhttpd status page. See example above.





Events per sec subtree
  • Type: DOUBLE

This key in the Statistics subtree contains the number of events of Event ID sent per second. It is filled by the system and used for display on mhttpd status page.





kBytes per sec subtree
  • Type: DOUBLE

This key in the Statistics subtree contains the number of kBytes per second for events of Event ID sent. It is filled by the system and used for display on mhttpd status page.




Settings subtree

  • Type: DIR

This subtree in the /Equipment ODB Tree contains user-defined settings, some of which may be used by the system. Any values defined in this subtree will appear in experim.h files.




<Names> subtree
  • Type: STRING (ARRAY)

These optional key(s) in the Settings subtree if present are used to define the names of variables in the Variables subtree. If more than one bank is defined, there will be multiple keys named for the bankname, which will be arrays whose elements contain the name of each variable in the bank. These keys are added by the user.

The Names array(s) if present will be used by mhttpd in the display of the Equipment variables, and by the History System to generate tags. See example above.