Difference between revisions of "/Sequencer ODB tree"

From MidasWiki
Jump to navigation Jump to search
m
Line 7: Line 7:
  
 
== Purpose  ==
 
== Purpose  ==
The ODB /Sequencer tree contains information related to the [[Sequencer]]. The keys are used by the Sequencer system and are not accessed directly by the user.
+
The ODB /Sequencer tree contains information related to the [[Sequencer]]. The keys are used by the Sequencer system and are not usually accessed directly by the user (but see [[#Path]]).
  
 
== Creating the /Sequencer tree ==
 
== Creating the /Sequencer tree ==
Line 24: Line 24:
 
Sequencer                      DIR
 
Sequencer                      DIR
 
     State                      DIR
 
     State                      DIR
        Path                    STRING  1    256  14s  0  RWD  /home/midas/online/
+
      Path                    STRING  1    256  0s  0  RWD  /home/midas/online/seq
         Filename                STRING  1    256  14s  0  RWD   
+
         Filename                STRING  1    256  0s  0  RWD  test_seq.msl
         Error                  STRING  1    256  14s  0  RWD
+
         Error                  STRING  1    256  0s  0  RWD
         Error line              INT    1    4    14s  0  RWD  0
+
         Error line              INT    1    4    0s  0  RWD  0
         SError line            INT    1    4    14s  0  RWD  0
+
         SError line            INT    1    4    0s  0  RWD  0
         Message                STRING  1    256  14s  0  RWD
+
         Message                STRING  1    256  0s  0  RWD
         Message Wait            BOOL    1    4    14s  0  RWD  n
+
         Message Wait            BOOL    1    4    0s  0  RWD  n
         Running                BOOL    1    4    14s  0  RWD  n
+
         Running                BOOL    1    4    0s  0  RWD  y
         Finished                BOOL    1    4    14s  0  RWD  y
+
         Finished                BOOL    1    4    0s  0  RWD  n
         Paused                  BOOL    1    4    14s  0  RWD  n
+
         Paused                  BOOL    1    4    0s  0  RWD  n
         Current line number    INT    1    4    14s  0  RWD  0
+
         Current line number    INT    1    4    0s  0  RWD  8
         SCurrent line number    INT    1    4    14s  0  RWD  0
+
         SCurrent line number    INT    1    4    0s  0  RWD  7
         Stop after run          BOOL    1    4    14s  0  RWD  n
+
         Stop after run          BOOL    1    4    0s  0  RWD  n
         Transition request      BOOL    1    4    14s  0  RWD  n
+
         Transition request      BOOL    1    4    0s  0  RWD  n
         Loop start line        INT    4    4    14s  0  RWD
+
         Loop start line        INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            6
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         SLoop start line        INT    4    4    14s  0  RWD
+
         SLoop start line        INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            5
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Loop end line          INT    4    4    14s  0  RWD
+
         Loop end line          INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            11
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         SLoop end line          INT    4    4    14s  0  RWD
+
         SLoop end line          INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            10
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Loop counter            INT    4    4    14s  0  RWD
+
         Loop counter            INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            2
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Loop n                  INT    4    4    14s  0  RWD
+
         Loop n                  INT    4    4    0s  0  RWD
                                         [0]            0
+
                                         [0]            3
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Subdir                  STRING  1    256  14s  0  RWD
+
         Subdir                  STRING  1    256  0s  0  RWD
         Subdir end line        INT    1    4    14s  0  RWD  0
+
         Subdir end line        INT    1    4    0s  0  RWD  0
         Subdir not notify      INT    1    4    14s  0  RWD  0
+
         Subdir not notify      INT    1    4    0s  0  RWD  0
         Stack index            INT    1    4    14s  0  RWD  0
+
         Stack index            INT    1    4    0s  0  RWD  0
         Subroutine end line    INT    4    4    14s  0  RWD
+
         Subroutine end line    INT    4    4    0s  0  RWD
 
                                         [0]            0
 
                                         [0]            0
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Subroutine return line  INT    4    4    14s  0  RWD
+
         Subroutine return line  INT    4    4    0s  0  RWD
 
                                         [0]            0
 
                                         [0]            0
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Subroutine call line    INT    4    4    14s  0  RWD
+
         Subroutine call line    INT    4    4    0s  0  RWD
 
                                         [0]            0
 
                                         [0]            0
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         SSubroutine call line  INT    4    4    14s  0  RWD
+
         SSubroutine call line  INT    4    4    0s  0  RWD
 
                                         [0]            0
 
                                         [0]            0
 
                                         [1]            0
 
                                         [1]            0
 
                                         [2]            0
 
                                         [2]            0
 
                                         [3]            0
 
                                         [3]            0
         Subroutine param        STRING  4    256  14s  0  RWD
+
         Subroutine param        STRING  4    256  0s  0  RWD
                                         [0]            
+
                                         [0]
                                         [1]            
+
                                         [1]
                                         [2]            
+
                                         [2]
                                         [3]            
+
                                         [3]
         Wait value              FLOAT  1    4    14s  0  RWD  0
+
         Wait value              FLOAT  1    4    0s  0  RWD  6
         Wait limit              FLOAT  1    4    14s  0  RWD  0
+
         Wait limit              FLOAT  1    4    0s  0  RWD  25
         Start time              DWORD  1    4    14s  0  RWD  0
+
         Start time              DWORD  1    4    0s  0  RWD  0
         Wait type              STRING  1    32    14s  0  RWD   
+
         Wait type              STRING  1    32    0s  0  RWD  ODB>=
         Last msg                STRING  1    10    14s  0  RWD  00:00:00
+
         Last msg                STRING  1    10    0s  0  RWD  12:54:58
 +
    Variables                  DIR
 +
        runs                    STRING  1    2    2m  0  RWD  3
 +
 
 
</pre>
 
</pre>
  
Line 112: Line 115:
 
</div>  
 
</div>  
  
This subtree in the  [[#top|/Sequencer ODB tree]] is created by [[mhttpd]]. It is used for data needed by the [[Sequencer]].
+
The  {{Odbpath|path=State}} subtree in the  [[#top|/Sequencer ODB tree]] is created by [[mhttpd]]. It is used by the [[Sequencer]] to store various data while running the sequence.
 +
 
 +
The user may wish to change the path of where Sequencer files are stored (see [[#Path]]) otherwise this tree is largely for internal use.  
  
 
<br>
 
<br>
Line 471: Line 476:
 
* '''Default:'''  0
 
* '''Default:'''  0
 
</div>  
 
</div>  
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains ...
+
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and is used when the Sequencer is Waiting
 +
(i.e. is executing a Wait statement in the Sequencer script). It will contain the current value of the wait parameter. For example,
 +
if executing the statement "WAIT events 500" and the current count is 250, this key will contain 250. When the Sequencer is not executing a WAIT statement, this key will be set to 0.
 +
 
  
 
<br>
 
<br>
Line 483: Line 491:
 
* '''Default:'''  0
 
* '''Default:'''  0
 
</div>  
 
</div>  
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains ...
+
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and is used when the Sequencer is Waiting
 
+
(i.e. is executing a Wait statement in the Sequencer script). It will contain the Wait limit, e.g. it will contain '5' if the Sequencer is executing the statement "WAIT seconds 5".  When the Sequencer is not executing a WAIT statement, this key will be set to 0.
 
<br>
 
<br>
 
---------
 
---------
Line 496: Line 504:
 
* '''Default:'''  0
 
* '''Default:'''  0
 
</div>  
 
</div>  
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains ...
+
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]]. If the Sequencer is Waiting for a certain time (i.e. executing a Wait Seconds statement in the Sequencer script), this key will contain the time that the Sequencer started waiting. In all other cases, it will be set to 0.
  
 
<br>
 
<br>
Line 509: Line 517:
 
* '''Default:'''  ""
 
* '''Default:'''  ""
 
</div>  
 
</div>  
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains ...
+
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]]. If the Sequencer is Waiting (i.e. is executing a Wait statement in the Sequencer script) it will contain the type of the Wait, e.g. "Seconds", "Events" or "ODB" and operator (e.g. "ODB>=" see [[#Example of /Sequencer tree|example above]]).
  
 
<br>
 
<br>
Line 521: Line 529:
 
* '''Default:'''  "00:00:00"
 
* '''Default:'''  "00:00:00"
 
</div>  
 
</div>  
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains ...
+
This key in the [[#State subtree|State subtree]]  is filled by the [[Sequencer]] and contains the time of the latest MIDAS message.
 +
 
 +
<br>
 +
---------
 +
<br>
 +
 
 +
 
 +
=== <span style="color:purple; font-style:italic">Variables</span> subtree ===
 +
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
 +
* '''Type:''' DIR
 +
</div>
 +
 
 +
The  {{Odbpath|path=Variables}} subtree in the  [[#top|/Sequencer ODB tree]] is created by the [[Mhttpd]]. It is used by the [[Sequencer]] to store input parameters used by the sequence.
 +
 
 +
 
 +
<br>
 +
---------
 +
<br>
 +
 
 +
 
 +
==== <span style="color:purple; font-style:italic"><parameter name></span>  ====
 +
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
 +
* '''Type:''' STRING
 +
* '''Default:''' 
 +
 
 +
Keys are created when PARAM statements are included in the Sequencer file. In  the [[#Example of /Sequencer tree|example above]],
 +
the ODB key  {{Odbpath|path=runs}} has been created with the value 3. The Sequencer file used in the example contains a statement
 +
"PARAM runs", and when the sequence was started, the user entered the value "3" for the number of runs.
 +
 
  
 
<br>
 
<br>

Revision as of 13:32, 2 July 2015

Links

Purpose

The ODB /Sequencer tree contains information related to the Sequencer. The keys are used by the Sequencer system and are not usually accessed directly by the user (but see #Path).

Creating the /Sequencer tree

The /Sequencer ODB tree is created the first time that the Sequencer button on the MIDAS web browser mhttpd is pressed. It will be filled with default values.

Example of /Sequencer tree

An example of the /Sequencer tree where the sequencer is running is shown below.

$mhttpd -p 8080 -D
$odbedit
[local:Defaults:S]ls -rwl /Sequencer
Key name                        Type    #Val  Size  Last Opn Mode Value
---------------------------------------------------------------------------
Sequencer                       DIR
    State                       DIR
       Path                    STRING  1     256   0s   0   RWD  /home/midas/online/seq
        Filename                STRING  1     256   0s   0   RWD  test_seq.msl
        Error                   STRING  1     256   0s   0   RWD
        Error line              INT     1     4     0s   0   RWD  0
        SError line             INT     1     4     0s   0   RWD  0
        Message                 STRING  1     256   0s   0   RWD
        Message Wait            BOOL    1     4     0s   0   RWD  n
        Running                 BOOL    1     4     0s   0   RWD  y
        Finished                BOOL    1     4     0s   0   RWD  n
        Paused                  BOOL    1     4     0s   0   RWD  n
        Current line number     INT     1     4     0s   0   RWD  8
        SCurrent line number    INT     1     4     0s   0   RWD  7
        Stop after run          BOOL    1     4     0s   0   RWD  n
        Transition request      BOOL    1     4     0s   0   RWD  n
        Loop start line         INT     4     4     0s   0   RWD
                                        [0]             6
                                        [1]             0
                                        [2]             0
                                        [3]             0
        SLoop start line        INT     4     4     0s   0   RWD
                                        [0]             5
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Loop end line           INT     4     4     0s   0   RWD
                                        [0]             11
                                        [1]             0
                                        [2]             0
                                        [3]             0
        SLoop end line          INT     4     4     0s   0   RWD
                                        [0]             10
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Loop counter            INT     4     4     0s   0   RWD
                                        [0]             2
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Loop n                  INT     4     4     0s   0   RWD
                                        [0]             3
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Subdir                  STRING  1     256   0s   0   RWD
        Subdir end line         INT     1     4     0s   0   RWD  0
        Subdir not notify       INT     1     4     0s   0   RWD  0
        Stack index             INT     1     4     0s   0   RWD  0
        Subroutine end line     INT     4     4     0s   0   RWD
                                        [0]             0
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Subroutine return line  INT     4     4     0s   0   RWD
                                        [0]             0
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Subroutine call line    INT     4     4     0s   0   RWD
                                        [0]             0
                                        [1]             0
                                        [2]             0
                                        [3]             0
        SSubroutine call line   INT     4     4     0s   0   RWD
                                        [0]             0
                                        [1]             0
                                        [2]             0
                                        [3]             0
        Subroutine param        STRING  4     256   0s   0   RWD
                                        [0]
                                        [1]
                                        [2]
                                        [3]
        Wait value              FLOAT   1     4     0s   0   RWD  6
        Wait limit              FLOAT   1     4     0s   0   RWD  25
        Start time              DWORD   1     4     0s   0   RWD  0
        Wait type               STRING  1     32    0s   0   RWD  ODB>=
        Last msg                STRING  1     10    0s   0   RWD  12:54:58
    Variables                   DIR
        runs                    STRING  1     2     2m   0   RWD  3


Keys in the /Sequencer ODB tree

State subtree

  • Type: DIR

The State subtree in the /Sequencer ODB tree is created by mhttpd. It is used by the Sequencer to store various data while running the sequence.

The user may wish to change the path of where Sequencer files are stored (see #Path) otherwise this tree is largely for internal use.





Path

  • Type: STRING
  • Default: ""

This key in the State subtree contains the directory path of the sequencer loadfile(s)




Filename

  • Type: STRING
  • Default: ""

This key in the State subtree contains the name of the current sequencer loadfile.





Error

  • Type: STRING
  • Default: ""

This key in the State subtree contains the error message from the system when an error is detected, or blank if no error.





Error line

  • Type: INT
  • Default: 0

This key in the State subtree contains the loadfile line number where error occurred, or zero if no error.





Serror line

  • Type: INT
  • Default: 0

This key in the State subtree contains the ??? line number where error occurred, or zero if no error.





Message

  • Type: STRING
  • Default: ""

This key in the State subtree contains the Sequencer message





Message wait

  • Type: BOOL
  • Default: "n"

This key in the State subtree contains ...




Running

  • Type: BOOL
  • Default: "n"

This key in the State subtree indicates whether the sequencer is running.




Finished

  • Type: BOOL
  • Default: "y"

This key in the State subtree indicates whether the sequencer is finished.





Paused

  • Type: BOOL
  • Default: "y"

This key in the State subtree indicates whether the sequencer is paused.





Current line number

  • Type: INT
  • Default: 0

This key in the State subtree indicates the line number in the loadfile that the sequencer is currently executing.





SCurrent line number

  • Type: INT
  • Default: 0

This key in the State subtree indicates the line number in ??? that the sequencer is currently executing.





Stop after run

  • Type: BOOL
  • Default: "n"

This key in the State subtree indicates whether the sequencer should stop after current run





Transition request

  • Type: BOOL
  • Default: "n"

This key in the State subtree indicates whether a transition has been requested by the sequencer loadfile.





Transition request

  • Type: BOOL
  • Default: "n"

This key in the State subtree indicates whether a transition has been requested by the sequencer loadfile.





Loop start line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree contains the line number(s) in the sequencer loadfile where a loop starts.





SLoop start line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree contains the line number(s) ...




Loop end line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains the line number(s) in the sequencer loadfile where a loop ends.





SLoop end line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains the line number(s) ... where a loop ends.





Loop counter

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains the loop counter for loops.





Loop n

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains ...





Subdir

  • Type: STRING
  • Default: ""

This key in the State subtree is filled by the Sequencer and contains ...





Subdir end line

  • Type: INT
  • Default: 0

This key in the State subtree is filled by the Sequencer and contains ...





Subdir not notify

  • Type: INT
  • Default: 0

This key in the State subtree is filled by the Sequencer and contains ...





Stack index

  • Type: INT
  • Default: 0

This key in the State subtree is filled by the Sequencer and contains ...





Subroutine end line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains ...





Subroutine return line

  • Type: INT array of 4 elements
  • Default: 0,0,0,0

This key in the State subtree is filled by the Sequencer and contains ...






Subroutine param

  • Type: STRING array of 4 elements
  • Default:

This key in the State subtree is filled by the Sequencer and contains ...





Wait value

  • Type: FLOAT
  • Default: 0

This key in the State subtree is filled by the Sequencer and is used when the Sequencer is Waiting (i.e. is executing a Wait statement in the Sequencer script). It will contain the current value of the wait parameter. For example, if executing the statement "WAIT events 500" and the current count is 250, this key will contain 250. When the Sequencer is not executing a WAIT statement, this key will be set to 0.






Wait limit

  • Type: FLOAT
  • Default: 0

This key in the State subtree is filled by the Sequencer and is used when the Sequencer is Waiting (i.e. is executing a Wait statement in the Sequencer script). It will contain the Wait limit, e.g. it will contain '5' if the Sequencer is executing the statement "WAIT seconds 5". When the Sequencer is not executing a WAIT statement, this key will be set to 0.




Start time

  • Type: DWORD
  • Default: 0

This key in the State subtree is filled by the Sequencer. If the Sequencer is Waiting for a certain time (i.e. executing a Wait Seconds statement in the Sequencer script), this key will contain the time that the Sequencer started waiting. In all other cases, it will be set to 0.





Wait type

  • Type: STRING
  • Default: ""

This key in the State subtree is filled by the Sequencer. If the Sequencer is Waiting (i.e. is executing a Wait statement in the Sequencer script) it will contain the type of the Wait, e.g. "Seconds", "Events" or "ODB" and operator (e.g. "ODB>=" see example above).





Last msg

  • Type: STRING
  • Default: "00:00:00"

This key in the State subtree is filled by the Sequencer and contains the time of the latest MIDAS message.





Variables subtree

  • Type: DIR

The Variables subtree in the /Sequencer ODB tree is created by the Mhttpd. It is used by the Sequencer to store input parameters used by the sequence.






<parameter name>

  • Type: STRING
  • Default:

Keys are created when PARAM statements are included in the Sequencer file. In the example above, the ODB key runs has been created with the value 3. The Sequencer file used in the example contains a statement "PARAM runs", and when the sequence was started, the user entered the value "3" for the number of runs.