Chris, Daniel, Stefan We implemented the first operational version of a control state definition (LIGO-T1300958). We chose the x-end PLC2 ethercat system to test the code. The related files are currently in als/common/guardian, but will likely have to move again. - PLC2_X.xml: the xml file defining the control state - PLC2_X.py: auto-generated python code using Daniel's csdinfo utility, based on PLC_X.xml (currently only available in windows, but soon to be ported to unix by Chris) - csd_PLC_X.db: data base for the new epics channels controlling the control state. Also auto-generated by csdinfo, based on PLC_X.xml - csd_PLC2_X.adl: auto-genereted medm screen, created from csd_PLC_X.db using makeMEDMfromDB - makeMEDMfromDB: bash script for generating medm screens from data base - csd_PLC2_X.cmd: ioc startup file for launching the epics data base A guardian instance controls the global state machine (see LIGO-T1300958). It implements the states "SAFEOP" and "OP". It also has dry versions of each state for testing - they only log differences as opposed to enforcing the settings. The guardian can be started by guardmedm H1ECATX1PLC2 The IOC was started on h1guardian0 using softIoc -D /ligo/apps/linux-x86_64/epics/base/dbd/softIoc.dbd csd_PLC2_X.cmd The associated MEDM screen can be started with medm -x csd_PLC2_X.adl Remarks: - more work is needed to make the loading process smooth - most importantly csdinfo has to run on unix. - the xml file likely still needs some tweaking to properly work with the Beckhoff auto-locker. Attached text files: - xml file - the source of everything - the auto-generated py file - the auto-generated db file - script generating the medm screen Attached screen shots: - guardian for the global state machine - medm screen for the new state variables for PLC2