Home
ISC End Station User`s Manual - DCC
Contents
1. Channels not listed in any initialization list will default to zero and will be read only in any state other than 0 off e State 0 off and state 1 default always exist An arbitrary number of additional states can be defined e Inthe main state table for each state and for each EPICS channel one of the following has to be specified 1 a value or 2 manual operation through EPICS or 3 a pointer to the relevant sub state table LIGO 3 2 LIGO T1300958 v2 An arbitrary number of sub state tables can be provided Unlike the main state tables they do not have to list all channels in an initialization list In the sub state table for each sub state and for each involved EPICS channel one of the following has to be specified 1 a value or 2 manual operation through EPICS For binary channels manual mode can be commanded for every bit individually This is done via a manual mask In addition to the default state and the user defined states an off or manual state 1s implicitly defined It s state number is zero 0 For it all channels default to manual Example LSC MASTERSTATE Channel name INIT 0 OFF 1 DEFAULT 2 RUN LSC DARM GAIN 1 manual 2 3 LSC DARM SWIS OxFF manual 0x33 0x33 Mask OxF3 Mask OxF3 LSC CARM GAIN 0 manual manual manual LSC MICH GAIN 0 manual See INIT 0 Sub state LSC GAINSTEPPING LSC GAINSTEPPING Channel name 0 OFF 1 DEFAULT 2
2. STEP A 3 STEP B LSC MICH GAIN manual See default 1 2 above 3 3 XML Representation We are using an xml file format Taking the example table above and adding a few channels it will look like LIGO LIGO T1300958 v2 lt xml versionz 1 0 encoding UTF 8 standalone no lt This is a configuration file of the LIGO project gt ControlStateDef xmlns p https dcc ligo org LIGO T1300958 public Target Isc gt Assign Namez LSC REFL A RF45 GAIN 1 2 Assign lt Assign Namez LSC REFL A RF45 Q GAIN Type man gt 1 2 lt Assign gt Table Name LSC MASTERSTATE Type main Location internal gt lt Assign Name LSC DARM_GAIN gt 1 lt Assign gt lt Assign Name LSC DARM_SW1S gt 0xF3 lt Assign gt lt Assign Name LSC CARM_GAIN gt 0 lt Assign gt lt Assign Name LSC MICH_GAIN gt 0 lt Assign gt lt State Number 0 Name Off Ramp 0 gt lt State Number 1 Name Default gt lt Assign Name LSC DARM_GAIN Type val gt 2 lt Assign gt lt Assign Name LSC DARM_SW1S Type val Mask 0xF3 gt 0x33 lt Assign gt lt Assign Name LSC CARM_GAIN Type man gt lt State gt lt State Number 2 Name RUN gt lt Assign Name LSC DARM_GAIN Type val RAMP 3 0 gt 3 lt Assign gt lt Assign Name LSC DARM_SW41S Type val Mask 0xF3 gt 0x33 lt Assign gt lt Assign Name LSC CARM_GAIN Type man gt lt Assign Name LSC MICH_GAIN Type sub gt LSC GAINSTEPPING lt
3. top table LIGO LIGO T1300958 v2 3 3 6 State Tag This tag describes an individual control state Attribute Number This specifies the number of a state This corresponds to the selection value of the controlling EPICS channel specified in the attribute Name The number zero 0 is reserved for the off manual state The number one 1 is reserved for the default state Negative numbers are not allowed If all the state numbers are equal or below 15 an EPICS mbbo record will be used If at least one state value is larger than 15 an EPICS longout record will be used Attribute Name This specifies the name of the state This will be used to define the EPICS value type for mbbo records For EPICS longout records the name is ignored Channels can be reassigned inside a state Omitting a channel name implies inheriting the settings from the initialization section The State 1 default state of a table of type sub is implicitly defined as being equal to the State default state of the main table pointing to it However this implicit definition can be overwritten by explicitly defining a state 1 Channels in State 1 default state can have manual entries and Mask fields However this should be used sparsely and only where needed An example might be alignment sliders whose good settings can change from day to day State O off is special In this state all channels will default to manual mode unless specified otherwise At
4. Assign gt lt State gt lt Table gt Table Name LSC GAINSTEPPING Type sub Location internal gt lt State Number 0 Name Off gt lt State Number 1 Name Default gt State Number 2 Name STEP A RAMP 1 0 gt lt Assign Name LSC MICH_GAIN Type val gt 1 lt Assign gt lt State gt lt State Number 3 Name STEP B RAMP 1 0 gt Assign Name LSC MICH_GAIN Type val gt 2 lt Assign gt lt State gt lt Table gt lt ControlStateDef gt LIGO LIGO T1300958 v2 3 3 1 Header The XML header is as follows lt xml versionz 1 0 encoding UTF 8 standalone no gt I This is a configuration file of the LIGO project 3 3 2 ControlStateDef Tag This tag describes the top level container Attribute Target Contains the real time model name for which the file specifies states without the interferometer name Examples Isc asc susbs Attribute xmlns p Specifies XML namespace The name space points to the current version of this document It should be set to https dcc ligo org LIGO T1300958 public 3 3 3 Table Tag This tag describes a controlled state Attribute Name Specifies the name of the EPICS channel controlling the states defined in this table Attribute Type The choices are main or sub The default is main if omitted Defines whether the table specifies a main state or a sub state Attribute Location The choices are internal or external For inte
5. On compilation new previously non existing channels will be we set to a value 0 off or disabled In particular active user action in the GUI will be need to define a channel as manual Upon restart the front end code will load the initialization values and default to the default state Same infrastructure for Front end and Beckhoff Beckhoff EPICS interface will be upgraded to be able to parse the same format of state files for Beckhoff s EPICS channels 13
6. zero 0 If a tag is listed with type Yal but has no explicit value it is assumed to be zero 0 false bit or an empty string depending on the type 3 3 5 Global State Machine The global state machine can be referenced explicitly by defining a table of type top A table of type top has the following predefined states State 1 Init State 2 PreOp State 4 SafeOp and State 8 Op These states cannot be overwritten or extended Explicitly defining the global state machine makes the associated controls channels accessible by EPICS The table name is used to define the base name of the controls channel Assign statements can only be listed for state 4 SafeOp and state 8 Op These are the only states where the state definitions are enforced and thus the assignments associated for all other modes of the global state machines are irrelevant Table initialization outside the state definition is also possible It has similar meaning to normal tables A value assignment of type val is treated as a constant and the value is set to a fixed value for both SafeOp and Op modes A value assignment of type man with a specified value is set to a fixed value in SafeOp but left alone in Op mode A value assignment of type man without a specified value is left alone and ignored in all states A global initialization is an assignment tag outside any table definition It is treated exactly like a table definition inside the
7. LIGO LASER INTERFEROMETER GRAVITATIONAL WAVE OBSERVATORY LIGO Laboratory LIGO Scientific Collaboration LIGO T1300958 Advanced LIGO 3 3 2013 Front end Control State Implementation Stefan Ballmer Chris Wipf Daniel Sigg Distribution of this document LIGO Scientific Collaboration This is an internal working note of the LIGO Laboratory California Institute of Technology Massachusetts Institute of Technology LIGO Project MS 18 34 LIGO Project NW22 295 1200 E California Blvd 185 Albany St Pasadena CA 91125 Cambridge MA 02139 Phone 626 395 2129 Phone 617 253 4824 Fax 626 304 9834 Fax 617 253 7014 E mail info ligo caltech edu E mail info ligo mit edu LIGO Hanford Observatory LIGO Livingston Observatory P O Box 159 P O Box 940 Richland WA 99352 Livingston LA 70754 Phone 509 372 8106 Phone 225 686 3100 Fax 509 372 8137 Fax 225 686 7189 http www ligo caltech edu LIGO LIGO T1300958 v2 Table of Contents 1 TATOO OU GT ON ERE 3 2 Front end OpSrdllOll c tete tiic ut dn EE UIN 4 2 1 Operational MOG i uiesinlpititi niii dix fbl iiri bap Edad ua ERG Melde RD 4 2 2 Global State Machine 0 c ccceccecceecceeceeceecceeceecceeceecceseueceeccnsceeseeseneceeseneees 4 J Control File FOFrmaluoi sese B5 3 1 General Remarks 0 c cccecceeceeceneceeccneceeceeceneceeceuseneceesenecueceuseusceesenseneseeseneees 5 Sek EMG DIS 6 3 3 XML RepreseMtati N iius ssa qux dI S Rx ARA qR
8. The default if omitted is val Specifies the type of assignment made to the specified channel in the specified state The keyword sub implies that a sub state Table is defined which in turn will redefine the value Attribute Mask This specifies a binary mask up to 32 bits for the channel If a mask is used it has to be repeated in all associated assignments A channel can be split into multiple entities which have non overlapping bit masks Multiple entities of the same channel are for all practical purposes treated like separate channels Bits of a channel which are defined nowhere are set and kept at zero Omitting the Mask attribute implies that no mask is applied i e all bits of the data field are used With this definition a mask of 0 no mask and OxFFFFFFFF all bits used are identical in purpose A mask can be defined as a decimal octal or hexadecimal number The data field of an Assign tag contains the following For Typez val any of the following e Floating point number e g 58 1 or 58E0 e Decimal number e g 58 e Octal number e g 072 e Hexadecimal number e g 0x3A e Boolean value true or false e A sting in quotes indicating an EPICS field enum value e g inactive or off or a string value For type man the data field is either used as an initialization value or ignored For type sub the data field specifies the sub table channel name which is used to define this channel no q
9. and Hold can then be added by the user To facilitate large front end systems which contain multiple subtasks we also propose to implement sub state control variables An ISC system may contain an auto centering part and ALS part and an LSC part Each part can then define one or more sub state control variables Meaning the auto centering servo can have its own state control variable which is independent from the other parts The guardian control software now has a much easier task No longer does it have to watch a large number of channels just to make sure they are in the right state Active controls is also simplified Instead of setting numerous control values synchronously to instigate a state change only a few control variables have to be set The guardian control software still has the task to recognize error conditions deduced lock states inform the user and put the system into the desired state Summarizing this document proposes to implement front end control states to significantly reduce the complexity of tracking saving and referencing the interferometer status This will provide an effective status system implemented directly in the front end systems whenever possible LIGO LIGO T1300958 v2 2 Front end Operation 2 1 Operational Mode The front end to EPICS server channel interface will include an additional check against the configuration file This check could be implemented on either front end or EPICS server side A
10. and access to the hardware is active EPICS channels are manually accessible but the controls state definitions are not enforced SafeOp 4 The system is in a safe operating mode Access to the hardware is active The controls state definitions are enforced but all tables are held in their initialization state Op 8 The system is running normally Access to the hardware is active The controls state definitions are enforced and the tables can transition to any of their predefined states These additional flags are available Error 16 This indicates an error has occurred if reported by the readback channel It is interpreted as a request to clear the error when specified in the request channel LIGO LIGO T1300958 v2 e Configure 32 This indicates that the configuration file s are getting read if reported by the readback channel It is interpreted as a reconfiguration request when specified in the request channel The global state machine employs two controls channels e BASENAME STATE This is the readback channel of the global state machine indicating its actual state It 1s read only e BASENAME REQUEST This is the request channel of the global state machine which can be used to request a transition to a new state or an action 6 After start up the global state machine is set to the initialization state while the requested state is set to restart The restart option is a combination of mode bits and flags Transiti
11. ble It is treated as a simple reiteration If a table is redefined within the same ControlStateDef tag it should have the same type and location If not the later definition overwrites the previous one If a table is redefined across multiple ControlStateDef tags their location needs to be identical If a table is redefined with a different type the later definitions are ignored Two state definitions are considered identical if they are associated with the same table and if they have the same number If a state is redefined with a different name the later name is ignored An assignment defines a tag Two tags are considered identical if there name and mask are the same Tags are unique if they either have different names or if they have non overlapping bit masks and identical names Tags which are neither identical nor unique have the same name and overlapping bit masks They are a mistake and result in undefined behavior Tags are generally reiterated in different states of the same table This results in different values depending on the state of system A tag can also be reiterated in a different table if the first table is of type main and the others are of type sub If a tag is redefined within the same table and state the later definition overwrites the previous one A tag which is defined in a table of type sub but is never defined in a table of type main is lost and will be ignored However it i
12. e simplest case it just consists of servo on or servo off AII of the filter banks typically have fixed states so do the input and output matrices There may be an adjustable threshold to determine the minimum light power on a quadrant detector This is then used to determine when to operate the auto centering servo The idea proposed here is to define a small set of state control variables using a configuration file The configuration file will list the available states for each control variable It will further define whether a value is fixed or adjustable If it is a fixed value it will define it Since we are dealing with a configuration file which can be loaded at run time values are not hard coded in the front end model Changes are no more difficult than loading a new filter We will have the same version and configuration control as with foton filter files i e the files will get archived whenever they get loaded to the front end Channels which are controlled by a state control variable can no longer be changed by the user directly Using EPICS they become effectively read only channels This poses a problem for commissioning since being able to change a state on the fly and run a test is an important diagnostics tool We therefore recommend that each control state has two predefined states Default and Manual The default state also serves as a safe state and is the default state after booting Additional states such as Auto center
13. n implementation as part of the EPICS server side has the advantage that the same code could be used for controlling both front end and Beckhoff applications The desired state is commanded via additional EPICS channels specified in the configuration file one or more to command the main state s additional ones to command every sub state If the commanded main model state specifies a value for a given EPICS channel the value from the configuration file will be used in the front end and fed back to EPICS as a read only variable If the commanded main model state specifies a sub state for a given EPICS channel the value corresponding to the commanded sub state will be used and fed back to EPICS as a read only variable If the commanded main model state specifies manual operation for a given EPICS channel the channel value provided by EPICS will be used The configuration file can be read from disk upon request or on boot up like the current foton file On boot up the initialization values will be loaded Upon loading the configuration file a copy of the file is archived The main and sub state can be commanded through dedicated EPICS variables specified in the configuration file 2 2 Global State Machine The program responsible for commanding the control states is itself a state machine It has the following states Init 1 The system is initializing No hardware access is performed Preop 2 The system is ready to run
14. ons are only allowed between adjacent states A restart request from the initialization state will first clear any errors secondly read the configuration file and finally transition to Preop SafeOp and Op in sequence Similarly if the system is in Op mode it has to first transition through SafeOp to reach the PreOp state If multiple modes and flags are selected in a request the system will first transition to the lowest indicated state There it will perform any actions indicated by the flags An error will always be cleared before reading a new configuration Finally the system will try to transition to the highest indicated state If an error occurs and the system is in Op mode it will transition back to SafeOp and set the error flag If the error is due to a hardware access fault the system will transition all the way back to the initialization state With the exception of the startup a transition to a higher state always requires a user input 3 Control File Format 3 1 General Remarks e The file lists every EPICS channel used by the front end model with filter module related channels and matrix related channels grouped together e The IFO name will be omitted in the channel list allowing copying files between interferometers e For editing a dedicated GUI like foton will be written e The file will include tables to define the main state s and sub states e Inamain state table a initialization values have to be specified
15. ot used during initialization LIGO LIGO T1300958 v2 3 3 4 Table Initialization An Assign tag located inside the Table but outside a State tag is treated as a default value Any state which does not define its own assignment for a channel takes its value from the default This is only allowed for a table of type main It can only contain Assign tags of type val or man see below If it is defined as val its value is used for the default value When it is defined as man the default is defined as manual If no special SafeOp value is defined within the global state machine see below the default value also serves as the SafeOp value A special case is an assignment of type man which also has an associated valid value In this case the default value is defined as manual whereas the SafeOp value is derived from the specified value If the SafeOp value is indented to be manual but the default value is of type val the tag needs a separate assignment within the SafeOp state of the global state machine using the type man The ramp time for SafeOp values derived from table initialization is 0 An non zero ramp value for SafeOp values requires a definition within the global state machine The initialization list must define all channels associated with a main table No exception Any tag that is neither listed in the initialization list of a main table nor at the top level is set to and kept at
16. rnal the controlling EPICS channel is created in the EPICS server and it is not accessible by the front end itself For external the channel has to be defined in the front end and thus is accessible by the front end For tables of type main Every table of type main has at least a State O off manual and a State 1 default state If not listed explicitly the settings in state 1 correspond to the initialization values During initialization the table will be set to state 1 when not defined in the global state machine The default value can be overwritten by explicitly listing the table name in global state machine and define an Op value The SafeOp value is also 1 by default but again can be overwritten in the global state machine Multiple tables of type main are permissible but their channel lists as defined in the initialization section must be disjoint If a channel is neither listed in the initialization section of a table of type main or at the top level its value is set to 0 and not changeable in any state For tables of type sub The State 1 of a table of type sub is implicitly defined as being equal to the State 1 of the main table pointing to it However this implicit definition can be overwritten by explicitly defining a state 1 Attribute Ramp Defines the default ramp time in seconds for switching values within the table If omitted values are changed immediately Ramp times are n
17. s a mistake to redefine a tag across different tables of type main Or to redefine a tag in a table when it has already be defined as a global constant When conflicting tag definitions are present all but one of the definitions will be ignored Generally redefining a table or a state should be avoided In a some cases it may make sense to have a global control state definition file and keep site specific variations contained in separate files Within the same file it almost never makes sense to redefine a table or a state Overwriting a previous tag has similar implications Good practice is to keep the definitions of tables states and tags within the same group to avoid confusion 12 LIGO LIGO T1300958 v2 4 GUI for Editing the Configuration File The GUI provides an easily clickable graphical interface for setting the filter modules Using ezcaswitch logic not ezcawrite logic The GUI provides a formatted matrix interface of system matrices The GUI provides a bitmap interface of configuring binary control channel For all other channels the GUI allows entering the value manual or substate mode has to be command able on a per bit per FMx block per ON OFF switch or per value basis In addition to basic edit functions the GUI allows copying existing states 5 Other Remarks On compilation the front end code provides the list of channels and updates the existing configuration file
18. tribute Ramp Defines the default ramp time in seconds for switching values within the state If omitted values are changed immediately Ramp times cannot be specified for initialization Ramp times specified by a state override the one specified by a table 3 3 7 Assign Tag The Assign tag is used to assign values to channel names When defined under ControlStateDef it denotes a global constant using type val or a manual value using type man A manual value is used to initialize the channel but is then left in manual mode When defined inside a table it denotes an initial and default value for a channel When defined under a state it defines the value associated with a state A channel with its optional bit mask can be defined exactly once under a table It can be redefined inside multiple state tags of the same table or in an associated sub state table When defined at the top level it cannot be redefined inside a table When defined inside a table it cannot be redefined in another table Assign tags with the same channel name but a different bit mask are treated as different entities If a bit mask is used it has to match when a channel entity is reassigned inside the different states of a table Attribute Name This specifies the name of a channel but without the interferometer prefix e g LSC DARM GAIN or LSC_DARM_SW2S 10 LIGO LIGO T1300958 v2 Attribute Type The choices are either val man or sub
19. uotes This is only permitted in a table of type main It is not permitted in state 1 default state Omitting the data field for type val is equivalent to specifying 0 in the data field Attribute Ramp Defines the ramp time in seconds for changing to the assigned value Ramp times only makes sense for value assignments The value is ramped linearly from the previous one to the newly specified one when the state is changed Tables can specify a default ramp time which is used to switch all values used in the table If a state specified a different ramp time it gets precedence over the table ramp time Finally a ramp time specified as part of an assignment takes precedence over all others The ramp time of a value is set at the time the assignment is encountered This is an important distinction if the assignment is redefined later 11 LIGO LIGO T1300958 v2 3 4 Redefinition Rules The following rules apply when parsing one or more control state definition files Multiple ControlStateDef tags can be defined within a single file or in multiple files If multiple ControlStateDef tags are defined within a file they should have a different target If the same target name is used the tables states and assignments of the later definition will be added to the first Generally it is expected that each table definition has a unique name If a later table has the same name its states and assignments are added to the first ta
20. x PENAS RN PARA nayana REAPER S REND M DE 6 3 3 1 Header 8 3 3 2 ControlStateDef Tag sese 8 3 3 3 Table A P 8 3 3 4 Table Initialization eseeseseesseee enn rmn rennen 9 3 3 5 Global State Machine 9 336 rT NI RM 10 3 37 ASSIN T8O eoe iE UE REORUM Rode M EE IS afe 10 3 4 Redefinition Rules css sss sss sss sss sss s esea enean anean enean eae 12 4 GUI for Editing the Configuration Eie ssssssssssssceeeesssssssseeeeeeeeesssnene e 13 5 Other Remarks Pe 13 LIGO LIGO T1300958 v2 1 Introduction The purpose of this document is to define a workflow which reduced the exposed complexity of the LIGO front end models It is not a state machine or an active controls system but tries to simplify the exposed control complexity of a front end system by defining a number of state control variables which in turn define the state of a large number of EPICS parameters Looking at an auto centering servo we typically have two quadrant detectors with four input filters each followed by sum pitch and yaw calculation These values are then processed by two 2x2 input matrices 4 servo filter bands two 2x2 output matrix and actuation filters This exposes a vast array of EPICS control channels to the user Most of them have fixed values and never change some of them may change in a scripted way and a few are adjustable From a user point of view most of this complexity is unwanted The possible control states are only a few In th
Download Pdf Manuals
Related Search
Related Contents
RTC2 User Manual - MikroElektronika User Manual - Full Compass Service Manual for G-Carriage SOLICITUD DE HOMOLOGACION 28479_en_US_201501151403604_User Manual Brother P-Touch QL-570 User's Manual User's manual - Esse-ti telecomunicazioni DV-DH1000D/DH500D/DH250D/DH160D取扱説明書 注意喚起 Copyright © All rights reserved.
Failed to retrieve file