Lines 4-7 were replaced by lines 4-6 |
- to go also for a new sample environment framework Frappy. Frappy is a Python Framework developed by Enrico Faulhaber (MLZ) and Markus |
- Zolliker (PSI), for creating servers to access mobile equipment like |
- sample environment, using [SECoP|https://github.com/SampleEnvironment/SECoP] as communication |
- protocol towards the experiment control software. |
+ to go also for a new sample environment framework Frappy. Frappy is a Python Framework developed at MLZ and PSI, |
+ for creating servers to access mobile equipment like sample environment, |
+ using [SECoP|https://github.com/SampleEnvironment/SECoP] as communication protocol towards the experiment control software. |
Line 9 was replaced by line 8 |
- For a transition period [SEA|Sea] is still used for all devices not yet migrated to Frappy. Today (spring 2022) still most |
+ For a transition period [SEA|Sea] is still used for all devices not yet migrated to Frappy. Today (spring 2025) still a lot |
Removed lines 12-21 |
- !! Instruments using NICOS and Sample Environment |
- |
- Currently (April 2022), the following instruments running NICOS are supported to access sample environment: |
- |
- * __HRPT, ZEBRA, TASP, EIGER, CAMEA, FOCUS, SANS-I, AMOR__ |
- |
- Some of the features described here might not yet be up to date on your instrument, |
- please contact [Markus Zolliker], if you want to use sample environment with NICOS, and things are not working as expected. |
- |
- |
Removed lines 25-26 |
- ''note: use {{AddSetup('frappy')}} if the setup is not yet loaded'' |
- |
Lines 29-34 were replaced by lines 16-21 |
- frappy_main('<main cfg>') # change main SE configuration (e.g. cryostat) |
- frappy_stick('<stick cfg>') # change sample-stick configuration |
- frappy_stick('') # remove stick |
- frappy_main('') # remove main SE apparatus |
- frappy_main() # show the current SE configuration |
- frappy_addons(...) # similar to above, for additional equipment not covered by main/stick |
+ frappy('<main cfg>') # change main SE configuration (e.g. cryostat) |
+ frappy('<main cfg>', '<stick cfg>') # change main and sample-stick configuration |
+ frappy(stick='<stick cfg>') # change stick only |
+ frappy('') # remove main SE apparatus including stick |
+ frappy.show() # show the current SE configuration |
+ frappy(addons=...) # similar to above, for additional equipment not covered by main/stick |
At line 37 added 1 line. |
+ ''note: use {{AddSetup('frappy')}} if the setup is not yet loaded'' |
Line 39 was replaced by lines 27-28 |
- !! Test integration of SE into NICOS |
+ There is some automatic detection of devices in SEA. You might get a message in NICOS |
+ to accept the detected devices. To confirm, execute simply {{frappy()}} |
Removed lines 41-43 |
- For testing there are 2 simulated main devices 'cryosim' and 'magsim' available. Please check with them if |
- temperatures and magnetic field values are saved in your datafile, and other things like temperature or |
- magnetic field scans. |
Removed line 54 |
- * __Tr__: the regulation temperature (e.g. VTI), readonly |
Line 58 was replaced by line 43 |
- Typically, either T and Tr or T and Ts point to the same real device. |
+ When the sample temperature is controlled, T and Ts point to the same real device. |
Lines 65-66 were replaced by line 50 |
- It might be that the SEA server is not yet running. On the instruments mentioned above, the SEA server is no longer |
- controlled by monit. Controlling the SEA and Frappy servers: |
+ It might be that the SEA server is not yet running. Controlling the SEA and Frappy servers: |
At line 79 added 33 lines. |
+ |
+ ! How to Restart a Frappy server(s) |
+ |
+ If a sample environment device is not working properly, for example due to communication |
+ problems, it might be helpful to restart the frappy server(s): |
+ {{{ |
+ frappy('restart') # stop and start main and stick frappy servers |
+ }}} |
+ |
+ If the problem is related to a device on the stick or addons, you can restart them individually with {{frappy(stick=...)}} or {{frappy(addons=...)}}. |
+ |
+ ! How do I configure to use the sample stick rotation instead of the sample table for omega? |
+ |
+ With vertical field cryomagnets, typically the stick rotation should be used instead of the |
+ standard sample table for omega. In this case (configured on TASP, EIGER, CAMEA, ZEBRA and DMC), |
+ the frappy_main setups should contain a device __se_om__ for the stick rotation. This is |
+ automatically assigned to the device used for omega. |
+ |
+ ||Instrument || name of omega || name of sample table |
+ |TASP | a3 | a3_st |
+ |EIGER | a3 | a3_raw |
+ |ZEBRA | om | om_raw |
+ |DMC | a3 | a3s |
+ |CAMEA | a3 | som |
+ |
+ On horizontal field magnets, the stick rotation is called __om_stickrot__, and is |
+ not automatically assigned to omega. In both cases, an alias __dom__ is assigned to |
+ either __se_om__ or __se_stickrot__, whatever is present. |
+ |
+ To change this behaviour, it is possible to assign another device to the alias, e.g. |
+ |
+ {{om.alias = se_stickrot}} |
+ |