You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

  1. Requirements
    1. #Ignore Logic
    2. #Faults
    3. #Logic
    4. #Bypass Dialog
    5. #Interactive View
  2. Schedule

Ignore Logic

New States

  • Truth table is an ignoring table
    • Truth table is ignoring state = MPSTruthTableIgnoreIgnoring = 201 = -55
    • Truth table is not ignoring state = MPSTruthTableIgnoreNotIgnoring = 200 = -56
  • Truth table has an invalid state
    • state = MPSTruthTableStateInvalid = 203 = -53
  • Truth table is not ignored
    • state = truth table's state
  • Truth table is ignored
    • state = 0x80 | (truth table's state)

Therefore, if the truth table's state is not 200, 201, or 203 (-56, -55, -53) the truth table's state is 0x7F & (truth table state) and whether or not it is ignored is 0x80 & (truth table state).

  • If the truth table's state can't be found in the Logic DB, make an alert panel that shows the truth table's name, the raw state value from the IOC:BSY0:MP01:TTBLST array, and a message saying "Send the above information to the controls group."

Mockup

======================================= Ignore Logic ===========================================

------------------------------------------------------------------------------------------------
                                          Logic History
                                      
 |=========================< slider >============================================|  [] Show Live

------------------------------------------------------------------------------------------------
         Ignore Logic                                      Ignored Truth Tables
   Sort 2        Sort 0      Sort 1   |                Sort 1                    Sort 0
============== ===========  ========  |   ================================ =================
 Ignore Logic  Is Ignoring  Min Rate  |   Truth Table                           Min Rate
============== ===========  ========  |   ================================ =================
TD11 Is In         Yes         0 Hz   |   BFW 1910 Position                             0 Hz
TDUND Is In         No        10 Hz   |   BCS LION753 Threshold                         0 Hz
YG BL211 Is In      No        60 Hz   |   BLM Pedestal Thresholds: UND 920              0 Hz
============== ===========  ========  |   Temperature: North Arc Summary                0 Hz
                                      |   VVPG LI22 Position                            0 Hz
                                      |   YAG IN20 211 Position                        10 Hz
                                      |   PIC HVPS B912                                10 Hz
                                      |   PIC HVPS B913                               120 Hz
                                      |   ================================ =================
                                      |   
--------------------------------------+------------------------------------------------------

         Name: YAG IN20 211 Position
 Ignored When: TD11 Is In, or YG BL211 Is In, or ...
Current State: Out
     Solution: --
     Contacts: --

====== = = ==================== ==================== ==================== ====================
 Name  B A     Pockels Cell      Mechanical Shutter         BYKIK         Laser Heater Shutter
====== = = ==================== ==================== ==================== ====================   
Moving F F                 0 Hz                 0 Hz                 0 Hz                   --  [Bypass to state]
Out    F T               120 Hz               120 Hz               120 Hz                   --  [Bypass to state] -> window shows PVs and asks for bypass time
In     T F                10 Hz                10 Hz                10 Hz                   --  [Bypass to state]
Broken T T                 0 Hz                 0 Hz                 0 Hz                   --  [Bypass to state]
====== = = ==================== ==================== ==================== ====================

Where::
Note to sergei:  Device name_Fault name from config db
    A = (YG_BL211_OUT_LIMIT)_(STATE) as PV Name
    B = (YG_BL211_IN_LIMIT)_(STATE) as PV Name

------------------------------------------------------------------------------------------------
Summary / Faults / Logic / Ignore Logic / History /

Ignore Logic Mockup

Test on lcls-dev2

mpsgui \
jdbc:sqlite:/afs/slac.stanford.edu/u/xr/snorum/ioc/mpsConfiguration/database/ \
jdbc:sqlite:/afs/slac.stanford.edu/u/xr/snorum/ioc/mpsConfiguration/algorithm/ \
jdbc:oracle:thin:MPS_HISTORY/Neutrin0!@slac-oracle02.slac.stanford.edu:1521:SLACDEV \
&
  • Ignore/unignore truth tables by writing 0 or 1 to YAGS:IN20:211:IN_LMTSW_BYPV
    caput YAGS:IN20:211:IN_LMTSW_BYPV 1 to ignore
    caput YAGS:IN20:211:IN_LMTSW_BYPV 0 to unignore
    
  • Default solution etc. is "--"

Faults

  • Remove the 2nd splitpane (Area/PV); have either 2 or 3 panes visible

Logic

  • Add rate to ignored states
  • Say "Ignored/State" for ignore states

Bypass Dialog

  • Change on both, Faults and Ignore Logic tabs
  • Allow to select any state
  • Let's drop the calendar view and simplify the interface.
  • Default to 0 for all duration values
    • If bypass time is 0, don't send any messages to MPS
  • Show truth table name in the window's title bar
  • Read-only values in table
  • Allow tabbing between duration values
    • Tab order: days -> hours -> minutes -> seconds -> days
  • Initialize window with days field selected
  • Add bypass messages to cmlog (hostname, time)

Mockup

Bypass Dialog Mockup

Interactive View

  • Use progress bar instead of spinning wheel (misinterpreted as "can't do anything")
  • Figure out why loading is slow (if database a problem, do partial loading)

Schedule

  • Ignore Logic, Bypass Dialog (4 man-weeks)
  • Faults, Logic, Interactive View (6 man-days)
  • No labels