Difference between revisions of "Sequencer Page"

From MidasWiki
Jump to navigation Jump to search
m
Line 19: Line 19:
  
 
== How to input and run a Sequencer Script ==
 
== How to input and run a Sequencer Script ==
See [[Sequencer|Sequencer Commands]] for the list of commands recognized by the Sequencer.  
+
'''A Sequencer Script is written using commands recognized by the Sequencer.''' See [[Sequencer|Sequencer Commands]] for the list of sequencer commands.  
  
 +
=== Load a Sequencer Script ===
 
<ul>
 
<ul>
 
<li>Press {{Button|name=Sequencer}} on [[Status Page]]. The first time the button is pressed, the Sequencer Page will appear as in Figure 1, where no load file has been specified.</li>
 
<li>Press {{Button|name=Sequencer}} on [[Status Page]]. The first time the button is pressed, the Sequencer Page will appear as in Figure 1, where no load file has been specified.</li>
;Note
 
:The directory path where the sequencer files will be saved is set by the ODB parameter [[/Sequencer ODB tree#Path|/Sequencer/State/Path]].
 
  
 
<li>Either</li>
 
<li>Either</li>
 
<ul>
 
<ul>
<li> press {{Button|name=Edit Script}}  and input a new test sequence (e.g. [[Sequencer#Sequence File|test_seq.msl]]) as in Figure 2.</li>
+
<li> Press {{Button|name=Edit Script}}  and input a new test sequence
 +
:: i.e. type in [[Sequencer|Sequencer Commands]] or paste in an example file (e.g. [[#Sequence file]] or one of [[Sequencer#MSL Example|MSL Example file]] or [[Sequencer#XML Example|MSL Example file]] ) as in Figure 2.</li>
 
<li> save the script by pressing {{Button|name=Save}}. You will be asked for a file name. </li>
 
<li> save the script by pressing {{Button|name=Save}}. You will be asked for a file name. </li>
 
</ul>
 
</ul>
 
<li>Or </li>
 
<li>Or </li>
 
<ul>
 
<ul>
<li>load an existing script using {{Button|name=Load Script}} as in Figure 3.</li>
+
<li>load an existing sequencer scriptfile using {{Button|name=Load Script}} as in Figure 3.</li>
 
</ul>
 
</ul>
<br>
+
</ul>
 +
 
 +
;Note
 +
:The directory path where the sequencer files will be saved is set by the ODB parameter [[/Sequencer ODB tree#Path|/Sequencer/State/Path]].
 +
 
 +
{|  style="text-align: left; width: 100%; background-color: rgb(255, 255, 255);" border="1" cellpadding="2" cellspacing="2"
 +
|+ Table 1
 +
|-
 +
| rowspan="1"  style="background-color:lemonchiffon; font-weight:bold" | Figure 1:  Initial Sequencer page
 +
| rowspan="1" style="background-color:lemonchiffon; font-weight:bold"  | Figure 2: Display and/or Edit a Sequencer script
 +
| rowspan="1" style="background-color:lemonchiffon; font-weight:bold" |Figure 3: Select a Sequencer file
 +
|-
 +
| rowspan="1" | [[File:sequencer_noscript.png|Figure 1: Initial Sequencer page]]
 +
| rowspan="3"| [[File:sequencer_scripteditor.png|500px|Figure 2: Editing a Sequencer script]]
 +
| rowspan="3"| [[File:sequencer_filelist.png|Figure 3: Select a Sequencer file]]
 +
|-
 +
| rowspan="1"  style="background-color:lemonchiffon; font-weight:bold" | Figure 4: Select a Sequencer file
 +
|-
 +
| rowspan="1" | [[File:sequencer_startscript.png|Figure 4: Select a Sequencer file]]
 +
|-
 +
|}
 +
 
 +
=== Start a Sequencer Script ===
 +
After a sequencer script has been [[#Load a Sequencer Script||loaded]], start the script:
 +
<ul>
 
<li> Press {{Button|name=Start Script}} button to start the script. </li>
 
<li> Press {{Button|name=Start Script}} button to start the script. </li>
 
<ul>
 
<ul>
Line 42: Line 66:
 
<li>In this example, the script contains an error that prevents the script from running (Figure 5)</li>
 
<li>In this example, the script contains an error that prevents the script from running (Figure 5)</li>
 
</ul>
 
</ul>
 +
</ul>
 +
 +
=== C. Edit a Sequencer Script ===
 +
<ul>
 +
<li> The script can be edited by pressing  {{Button|name=Edit Script}}, and any errors corrected.</li>
 
<br>
 
<br>
<li> The script is edited by pressing  {{Button|name=Edit Script}}, and the error corrected.</li>
+
<li> The script will run when  {{Button|name=Start Script}}  is pressed. A visual status is displayed in the Progress window, and the current position in the sequence file is also highlighted (Figure 6).</li>
<br>
 
<li> Now the script will run when  {{Button|name=Start Script}}  is pressed. A visual status is displayed in the Progress window, and the current position in the sequence file is also highlighted (Figure 6).</li>
 
 
<br>
 
<br>
 
<li> The sequencer can be paused by pressing the  {{Button|name=Pause Script}} button (Figure 7).</li>
 
<li> The sequencer can be paused by pressing the  {{Button|name=Pause Script}} button (Figure 7).</li>
 
<br>
 
<br>
 
<li>The progress window will indicated when the sequencer is finished  (Figure 8).</li>
 
<li>The progress window will indicated when the sequencer is finished  (Figure 8).</li>
 +
</ul>
 
</ul>
 
</ul>
  
;Click on a thumbnail to enlarge
 
<gallery>
 
File:sequencer_noscript.png|Figure 1: Initial Sequencer page
 
File:sequencer_scripteditor.png|Figure 2: Editing a Sequencer script
 
File:sequencer_filelist.png|Figure 3: Select a Sequencer file
 
File:sequencer_startscript.png|Figure 4: Select a Sequencer file
 
File:sequencer_error.png|Figure 5: There is an error in the script
 
File:sequencer_running.png|Figure 6: Sequencer is running
 
File:sequencer_paused.png|Figure 7: Sequencer is paused
 
File:sequencer_finished.png|Figure 8: Sequencer is finished
 
</gallery>
 
  
 +
<br clear=all>
 +
 +
{|  style="text-align: left; width: 100%; background-color: rgb(255, 255, 255);" border="1" cellpadding="2" cellspacing="2"
 +
| rowspan="1"  style="background-color:lemonchiffon; font-weight:bold" | Figure 5: There is an error in the script
 +
| rowspan="1" style="background-color:lemonchiffon; font-weight:bold"  | Figure 6: Sequencer is running
 +
|-
 +
| rowspan="1" | [[File:sequencer_error.png|500px|Figure 5: There is an error in the script]]
 +
| rowspan="1" | [[File:sequencer_running.png|500px|Figure 6: Sequencer is running]]
 +
|-
 +
|}
 +
<br clear=all>
 +
{| style="text-align: left; width: 100%; background-color: rgb(255, 255, 255);" border="1" cellpadding="2" cellspacing="2"
 +
| rowspan="1" style="background-color:lemonchiffon; font-weight:bold" |  Figure 7: Sequencer is paused
 +
| rowspan="1" style="background-color:lemonchiffon; font-weight:bold" |Figure 8: Sequencer is finished
 +
|-
 +
| rowspan="1" | [[File:sequencer_paused.png|500px|Figure 7: Sequencer is paused]]
 +
| rowspan="1" | [[File:sequencer_finished.png|500px|thumb|Figure 8: Sequencer is finished]]
 +
|-
 +
|}
 +
<br clear=all>
  
 
=== Sequence file  ===
 
=== Sequence file  ===
Line 83: Line 120:
  
 
[[Category: mhttpd Pages]] [[Category: Sequencer]]
 
[[Category: mhttpd Pages]] [[Category: Sequencer]]
 +
 +
 +
 +
{{Pagelinks}}

Revision as of 15:55, 28 September 2017



Links


Purpose

The purpose of the mhttpd Sequencer Web Page to provide a visual display for the Sequencer. Using the Sequencer Page, Sequencer scripts can be loaded, edited and run.


Access to the Sequencer Page

The Sequencer Page is displayed by clicking on Sequencer button on the mhttpd Status Page or other mhttpd web page.

Note
If the Sequencer button is not present on the Status Page, it may have been suppressed.

Features of the Sequencer Page

The Sequencer Page takes its parameters from the /Sequencer ODB tree. Sequencer scripts can be loaded and run from the Sequencer Page. A visual editor is provided to edit scripts. A display is provided showing the progress of a running script, and the last few Midas messages are also shown (Figure 5). If Edit-on-Sequence Parameters are defined, these will be displayed when a sequence is started.

How to input and run a Sequencer Script

A Sequencer Script is written using commands recognized by the Sequencer. See Sequencer Commands for the list of sequencer commands.

Load a Sequencer Script

  • Press Sequencer on Status Page. The first time the button is pressed, the Sequencer Page will appear as in Figure 1, where no load file has been specified.
  • Either
  • Or
    • load an existing sequencer scriptfile using Load Script as in Figure 3.
Note
The directory path where the sequencer files will be saved is set by the ODB parameter /Sequencer/State/Path.
Table 1
Figure 1: Initial Sequencer page Figure 2: Display and/or Edit a Sequencer script Figure 3: Select a Sequencer file
Figure 1: Initial Sequencer page Figure 2: Editing a Sequencer script Figure 3: Select a Sequencer file
Figure 4: Select a Sequencer file
Figure 4: Select a Sequencer file

Start a Sequencer Script

After a sequencer script has been |loaded, start the script:

  • Press Start Script button to start the script.
    • You will be asked to input any required parameters as in Figure 4 (in this case the number of runs, see test_seq.msl).
    • If Edit-on-Sequence Parameters are defined, these will be displayed in addition to any required parameters
    • In this example, the script contains an error that prevents the script from running (Figure 5)

C. Edit a Sequencer Script

  • The script can be edited by pressing Edit Script, and any errors corrected.

  • The script will run when Start Script is pressed. A visual status is displayed in the Progress window, and the current position in the sequence file is also highlighted (Figure 6).

  • The sequencer can be paused by pressing the Pause Script button (Figure 7).

  • The progress window will indicated when the sequencer is finished (Figure 8).



Figure 5: There is an error in the script Figure 6: Sequencer is running
Figure 5: There is an error in the script Figure 6: Sequencer is running


Figure 7: Sequencer is paused Figure 8: Sequencer is finished
Figure 7: Sequencer is paused
Figure 8: Sequencer is finished


Sequence file

The following is the contents of the sequence file used for testing test_seq.msl in the example above.

COMMENT "This is a MSL test file"
RUNDESCRIPTION "Test run"
PARAM runs

LOOP $runs
     TRANSITION START
     WAIT ODBvalue "/Equipment/FIFO_acq/Statistics/Events sent" >= 25
     TRANSITION STOP
     WAIT seconds 5
ENDLOOP