diff --git a/doc/user/Makefile b/doc/user/Makefile index 8362973f..35cec6c9 100644 --- a/doc/user/Makefile +++ b/doc/user/Makefile @@ -4,7 +4,7 @@ # Mark Koennecke, Juli 1998 #------------------------------------------------------------------------ -all: topsi dmc sans focus poldi +all: topsi dmc sans focus poldi tricsman userrefman topsi: html2tex topman @@ -30,4 +30,20 @@ poldi: html2tex poldiman latex poldiman latex poldiman - dvips -o poldiman.ps poldiman.dvi \ No newline at end of file + dvips -o poldiman.ps poldiman.dvi +poldi: + html2tex poldiman + latex poldiman + latex poldiman + dvips -o poldiman.ps poldiman.dvi +tricsman: + html2tex tricsman + latex tricsman + latex tricsman + dvips -o tricsman.ps tricsman.dvi +userrefman: + html2tex userrefman + latex userrefman + latex userrefman + dvips -o userrefman.ps userrefman.dvi + diff --git a/doc/user/amor.htm b/doc/user/amor.htm new file mode 100644 index 00000000..9f5de87d --- /dev/null +++ b/doc/user/amor.htm @@ -0,0 +1,104 @@ + + +AMOR Reference Manual + + + +

AMOR Reference Manual

+ +

+Welcome to the reflectometer AMOR at SINQ! This manual describes how +to operate AMOR through the SICS instrument control software. +SICS means: Sinq Instrument Control System. AMOR can be operated in +one out of two modes: +

+

+ +

SICS Introduction

+

+SICS is a client server system. This means there is a magic server +program running on the instrument computer which does all the work. +The user interacts with SICS + only with client applications which communicate with the server +through the network. Most instrument hardware (motor controllers, +counter boxes etc.) is connected to the system through RS-232 serial +connections. These RS-232 ports are connected to a terminal server + which is accessed through another server program, the SerPortServer + program, which is also running on the instrument computer. Then there + is the position sensitive detector. Neutrons collected in the PSD are + formatted into a special message format by the elctronics and + forwarded through a fibre optic link to the histogram memory + computer. This is a VME Motorola on board computer which then is + responsible for summing the neutrons events appropriatetly. The on + board computer is connected to the TCP/IP network and acts as a + server as well which handles the configuration and readout of the + histogram memory. + The SICS server communicates with this terminal server and other +devices through the network. +

+ + +

Starting and Stopping

+ + +

General User Commands

+

+

+

+

AMOR in Single Counter Mode

+

+

+

+ +

AMOR in Time-Of-Flight Mode

+

+

+

+ +

Advanced Topics

+

+

+

+

Download Manual

+ + + + diff --git a/doc/user/amorman b/doc/user/amorman index 808b54d6..43aaf196 100644 --- a/doc/user/amorman +++ b/doc/user/amorman @@ -46,6 +46,7 @@ Switzerland\\ %html commandlog.htm 3 %html batch.htm 2 %html macro.htm 3 +%html exeman.htm 3 %html buffer.htm 3 %html token.htm 2 %html amomisc.htm 2 diff --git a/doc/user/amorstore.htm b/doc/user/amorstore.htm index 810773be..d0507ac3 100644 --- a/doc/user/amorstore.htm +++ b/doc/user/amorstore.htm @@ -34,8 +34,6 @@ interrogated by typing the name of the variable, and set by typing the name of the variable followed by the new value. The following variables are relevant:
-
chopperrotation -
Chopper Rotation speed.
user
User name
email diff --git a/doc/user/auto.htm b/doc/user/auto.htm new file mode 100644 index 00000000..cdc66e2d --- /dev/null +++ b/doc/user/auto.htm @@ -0,0 +1,22 @@ + + +TRICS Data Analysis with Autocloud + + +

TRICS Data Analysis with Autocloud

+

+Autcloud is an experimental software which integrates reflections from a + 3D data volume without any prior information. Reflections are located + through a template matching approach in 3D. Template Matching is a common + digital signal processing method for enhancing a signal against a +background. This program may still contain very major algorithmical +and programming errors as it could not yet be tested against real data. +Data Analysis with autocloud requires two steps: +

+

+ + diff --git a/doc/user/basic.htm b/doc/user/basic.htm index ac06a697..ee9302d2 100644 --- a/doc/user/basic.htm +++ b/doc/user/basic.htm @@ -42,13 +42,16 @@ operation. The general syntax for handling such parameters is:
 objectname parametername
 
-prints the current value of the parameter -

+prints the current value of the parameter
 objectname parametername newvalue
 
sets the parameter value to newvalue if you are properly authorized.

+

SICS variables

+

+ Most of the parameters SICS uses are hidden in the objects to which they belong. But some are separate objects of their own right and are accessible at top level. For instance things like Title or wavelength. They share a common syntax for changing and requesting their values. This is very simple: The command objectname will return the value, the command objectname newvalue will change the variable. But only if the authorisation codes match.

+

Authorisation

A client server system is potentially open to unauthorised hackers @@ -60,25 +63,8 @@ sets the parameter value to newvalue if you are properly authorized.

  • Manager has the permission to mess with almost everything. A very dangerous person.
  • Internal is not accessible to the outside world and is used to circumvent protection for internal uses. However some parameters are considered to be so critical that they cannot be changed during the runtime of the SICS-server, not even by Managers. - All this is stated here in order to explain the common error message: You are not authorised to do that and that or something along these lines.

    -

    SICS variables

    -

    - Most of the parameters SICS uses are hidden in the objects to which they belong. But some are separate objects of their own right and are accessible at top level. For instance things like Title or wavelength. They share a common syntax for changing and requesting their values. This is very simple: The command objectname will return the value, the command objectname newvalue will change the variable. But only if the authorisation codes match.

    -

    -

    The SICS Command Line Client

    -The most common client for controlling SICS is the SICS command line -client. -This application can be started by typing the command: -
    -sics &
    -
    -at the Unix prompt. Before this program is ready to collaborate with you you -have to connect it to an instrument using the options in the connect -pulldown menu. The screen is roughly divided in three areas: The top area -shows all input to and output from the server. The middle area shows the -command history. At the lower end is a text entry field which allows you to type -commands to be sent to the SICS server. For more information about this client consult -the online help of this application. -

    + All this is stated here in order to explain the common error message: + You are not authorised to do that and that or something along these + lines.

    diff --git a/doc/user/batch.htm b/doc/user/batch.htm index 89e3d1ad..9c29d483 100644 --- a/doc/user/batch.htm +++ b/doc/user/batch.htm @@ -13,6 +13,8 @@ sleep. SICS supports two different ways of doing this: popular scripting language Tcl. The most primitive usage of this facility is processing batch files.
  • Second there is the LNS Rünbuffer system. +
  • Third there is the new Batch File execution +system.

    diff --git a/doc/user/chopper.htm b/doc/user/chopper.htm index 17ad157b..2c780a8e 100644 --- a/doc/user/chopper.htm +++ b/doc/user/chopper.htm @@ -5,8 +5,8 @@

    Chopper Control

    -FOCUS is equipped with a Dornier Chopper system running two choppers: -a disk chopper and a fermi chopper. In most situations the diskchopper is +Some instruments are equipped with a Dornier Chopper system running one or more choppers: +a disk chopper and possibly a fermi chopper. In most situations the diskchopper is in slave mode. This means his speed is a predefined ratio of the speed of the fermichopper. Furthermore, there is a phase difference between the two choppers in order to allow for the fligh time of neutrons @@ -41,7 +41,7 @@ The following virtual motor variables exist for the chopper system.

    fermispeed
    fermi chopper speed -
    diskspeed +
    diskspeed or chopperspeed
    disk chopper speed. Note, that driving this parameter while the chopper system is in synchronous mode will throw an error condition.
    phase diff --git a/doc/user/config.htm b/doc/user/config.htm index 93e771f2..499c8bf3 100644 --- a/doc/user/config.htm +++ b/doc/user/config.htm @@ -40,6 +40,12 @@ filename in unix.
  • config close num closes the log file denoted by num again.
  • config list lists the currently active values for outcode and user rights. +
  • config myname retruns the name of the connection. +
  • config myrights prints the rights associated with your connection. +
  • config listen 0 or 1switches listening to the commandlog on +or off for this conenction. If this on, all output to the commandlog, +i.e. all interesting things happening in SICS, is printed to your +connection as well.

    diff --git a/doc/user/count.htm b/doc/user/count.htm index 1bd21752..d548f482 100644 --- a/doc/user/count.htm +++ b/doc/user/count.htm @@ -15,6 +15,6 @@

    Calls count num times. num is a required parameter. The other two are optional and are handled as described above for count.
  • -Both commands make sure, that measured data is written to files. +Both commands make sure that measured data is written to files. diff --git a/doc/user/dmcman b/doc/user/dmcman index c2f3cfb9..df11991a 100644 --- a/doc/user/dmcman +++ b/doc/user/dmcman @@ -51,6 +51,7 @@ adjusted to any value within its wavelength range. %html system.htm 1 %html config.htm 1 %html macro.htm 1 +%html exeman.htm 2 %html buffer.htm 1 %html drive.htm 1 %html logbook.htm 2 diff --git a/doc/user/drive.htm b/doc/user/drive.htm index 50301724..938d914e 100644 --- a/doc/user/drive.htm +++ b/doc/user/drive.htm @@ -5,7 +5,7 @@

    Drive commands

    - Many objects in SICS are drivable . This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. This class of objects can be operated by the drive, run, Success family of commands. These commands cater for blocking and non-blocking modes of operation.

    + Many objects in SICS are drivable . This means they can run to a new value. Obvious examples are motors. Less obvious examples include composite adjustments such as setting a wavelength or an energy. Such devices are alos called virtual motors. This class of objects can be operated by the drive, run, Success family of commands. These commands cater for blocking and non-blocking modes of operation.

    run var newval var newval ... can be called with one to n pairs of object new value pairs. This command will set the variables in motion and return to the command prompt without waiting for the requested operations to finish. This feature allows to operate other devices of the instrument while perhaps a slow device is still running into position.

    diff --git a/doc/user/foman b/doc/user/foman index 6617dbba..d3271769 100644 --- a/doc/user/foman +++ b/doc/user/foman @@ -43,6 +43,7 @@ Switzerland\\ %html commandlog.htm 3 %html batch.htm 2 %html macro.htm 3 +%html exeman.htm 3 %html buffer.htm 3 %html token.htm 2 %html focussps.htm 2 diff --git a/doc/user/fowrite.htm b/doc/user/fowrite.htm index 5ef605c5..352d08ec 100644 --- a/doc/user/fowrite.htm +++ b/doc/user/fowrite.htm @@ -12,14 +12,16 @@ handled automatically by the count command. However, data file writing can be initiated and configured manually from the command line through the following commands:

    -
    storefocus start +
    focusstart
    Write a new data file -
    storefocus update +
    focusupdatescript
    Updates the current data file. -
    storefocus intervall +
    focuslink +
    Creates NeXus links in the data file. +
    focusupdate updateintervall
    prints the current update intervall to use during counting. Units is minutes. -
    storefocus intervall newval +
    focusupdate updateintervall newval
    Sets the update intervall to newval minutes.
    FOCUS has three detector banks which may not all be active at all diff --git a/doc/user/general.htm b/doc/user/general.htm index de54a0fe..20a356f7 100644 --- a/doc/user/general.htm +++ b/doc/user/general.htm @@ -17,6 +17,7 @@ the SICS server.
  • A few commands change user rights, set output files and the like.
  • SICS has a built in macro facility which is accessible through a few commands.
  • Then there is the famous LNS-Rünbuffer system. +
  • The new batch file processing system.
  • Motors and parameters need to be driven.
  • SICS has a facility to optimise a peak with respect to several parameters. @@ -26,7 +27,7 @@ parameters. SICS has various ways (to many!) to log the I/O from and to an instrument control server. This has devolped over time and may need a cleanup. -
      +
      • There exists a server log where all I/O and internal messages is written to automatically. As this can get quite large the files diff --git a/doc/user/hklscan.htm b/doc/user/hklscan.htm index 47a00dbc..2c7931ad 100644 --- a/doc/user/hklscan.htm +++ b/doc/user/hklscan.htm @@ -3,7 +3,7 @@ Hklscan -

        Hklscan and Hklscan2d

        +

        Hklscan and Hklscan2d (Obsolete)

        Hklscan is a command which allows to scan in reciprocal space expressed as Miller indizes on a four circle diffractometer. Hklscan operates with @@ -39,5 +39,9 @@ Data is written automatically into a slightly modified TOPSI data format might be slightly erratic as it uses two theta as x-axis. Hklscan2d writes data into NeXus files.

        +

        +hklscan is obsolete. As of 2005, h, k, l are normal virtual motors and can be +used with the SICS built in scan commands. +

        diff --git a/doc/user/hrptdev.htm b/doc/user/hrptdev.htm new file mode 100755 index 00000000..60e16abb --- /dev/null +++ b/doc/user/hrptdev.htm @@ -0,0 +1,47 @@ + + +HRPT motor list + + +

        HRPT motor list

        +

        +

        +
        CEX1 +
        inner collimator drum +
        CEX2 +
        outer collimator drum +
        MOMU, A1 +
        omega rotation of upper monochromator crystal. +
        MTVU, A12 +
        translation vertical to the upper crystal. +
        MTPU, A13 +
        translation paralell to the upper crystal +
        MGVU, A14 +
        tilt goniometer vertical to upper crystal. +
        MGPU, A15 +
        tilt goniometer paralell to upper crystal. +
        MCVU, A16 +
        vertical curvature of upper crystal. +
        MOML, B1 +
        omega rotation of lower monochromator crystal. +
        MTVL, A22 +
        translation vertical to the lower crystal. +
        MTPL, A23 +
        translation paralell to the lower crystal +
        MGVL, A24 +
        tilt goniometer vertical to lower crystal. +
        MGPL, A25 +
        tilt goniometer paralell to lower crystal. +
        MCVL, A26 +
        vertical curvature of lower crystal. +
        MEXZ, A37 +
        lift +
        Table, A3 +
        Sample rotation. +
        TwoThetaD, A4 +
        Two Theta detector. +
        +

        + + + diff --git a/doc/user/logging.htm b/doc/user/logging.htm index 1f58ae45..dba4f6a1 100644 --- a/doc/user/logging.htm +++ b/doc/user/logging.htm @@ -8,15 +8,6 @@ SICS offers not less then three different ways of logging your commands and the SICS server's responses:
          -
        • The SICS command line client allows to open a log file on your -local computer and on your account. This can be achieved through the -File/Open Logfile menu entry. Select a file name and hit save. From -then on, any output in the SICS clients terminal area will be written -into the selected file. There is a gotcha: ouptut may not be immediately -visible in the file. This is due to buffering of I/O by the operating -system. If you want to flush, either open a new file or exit the -client. Flushing I/O at each line written is possible, but would have -a massive and unacceptable performance impact.
        • You may create a similar per client log file on the computer running the SICS server through the logbook command.
        • Then there is a way to log all activity registered from users with diff --git a/doc/user/macro.htm b/doc/user/macro.htm index 29d6a2e0..0b07be0a 100644 --- a/doc/user/macro.htm +++ b/doc/user/macro.htm @@ -16,7 +16,11 @@ configured in the variable batchroot and then executes that batchfile. The usage scenerio is that you have a directory where you keep batch files. Then the variable batcroot is set to contain the path to that directory. Batchrun then allows to start scripts in that -directory without specifying the full path. +directory without specifying the full path. Please note that fileeval and batchrun are obsolete and +to be replaced by the new batch manager command, exe, as described below. +

          + +

          Then there are some special commands which can be used within macro-sripts:

          ClientPut sometext1 ... Usally SICS suppresses any messages diff --git a/doc/user/madsim.htm b/doc/user/madsim.htm new file mode 100644 index 00000000..5bc608c8 --- /dev/null +++ b/doc/user/madsim.htm @@ -0,0 +1,24 @@ + + +Simulation Mode + + +

          Simulation Mode

          +

          +For testing batch files or in order to check the movement of the +instrument it may be helpful to run SICS in simulation mode. You must +theb connect to a special simulation +SICS server which may have been setup for you. In the +simulation server, everything is like in the actual SICS server, +except that no hardware is moved, co counts collected and no data file +written. There is one speciality, however. The command: +

          +
          +   sync
          +
          +
          +synchronizes the parameters and limits in the simulation server with +those in the instrument server. +

          + + diff --git a/doc/user/motor.htm b/doc/user/motor.htm index 332c21b6..02529942 100644 --- a/doc/user/motor.htm +++ b/doc/user/motor.htm @@ -34,6 +34,7 @@ status display clients. Please note that the actual driving of the motor is done via the drive command.


          The motor parameters

          +

          • HardLowerLim is the hardware lower limit. This is read from the motor controller and is identical to the limit switch welded to the instrument. Can usually not be changed.
          • HardUpperLim is the hardware upper limit. This is read from the motor controller and is identical to the limit switch welded to the instrument. Can usually not be changed. @@ -58,9 +59,12 @@ desired position was reached. If the position read back from the motor is not within precision to the desired value, the motor is restarted. This is done at max maxretry times. After maxretry retries, the motor throws an error. -
          • ignorefault If this is bigger then 0, positioning faults +
          • ignorefault If this is bigger then 0, positioning faults from the motor will be ignored.
          +This list of parameters may be enhanced buy driver specific +parameters. motor list will show all parameters. +

          Motor Error Handling Concepts

          @@ -94,13 +98,13 @@ maxretries repositionings, a HWFault is assumed. In any case lots of warnings and infos are printed.

          -If SICS tries to drive an axis which is for some reason broken to -often hardware damage may occur (and HAS occurred!). Now, SICS has no +If SICS tries to drive an axis which is broken hardware damage may +occur (and HAS occurred!). Now, SICS has no means to detect if the mispositioning of a motor is due to a concrete block in the path of the instrument or any other reason. What SICS can do though is to count how often a motor mispositions in -sequence. This means SICS counts mispositionings if it cannot drive a -motor, if the motor is driven succesfully, the count is cleared. If +sequence. This means SICS increments a mispositioning counter if it cannot drive a +motor, if the motor is driven succesfully, the mispositioning counter is cleared. If the count of mispositionings becomes higher then the parameter failafter, SICS thinks that there is something really, really wrong and aborts the measurement and prints an error message containing the @@ -116,7 +120,7 @@ check for the interrupt in upper level code.

          SICS falsly reports mispositionings.
          Solution: increase the precision parameter.
          You know that a motor is broken, you cannot fix it, but you want -to measure anyway. + to measure anyway.
          Solution: increase the precision parameter, if SICS finds the positioning problem, increase maxretries, increase the failafter parameter. In the worst case set the ignorefault parameter to greater diff --git a/doc/user/poldiman b/doc/user/poldiman index 4b8d1f03..5fcb460c 100644 --- a/doc/user/poldiman +++ b/doc/user/poldiman @@ -42,7 +42,8 @@ Switzerland\\ %html logbook.htm 3 %html commandlog.htm 3 %html batch.htm 2 -%html macro.htm 3 +%html macro.htm 3 +%html exeman.htm 3 %html buffer.htm 3 %html token.htm 2 diff --git a/doc/user/psddata.htm b/doc/user/psddata.htm index 98b4e7e8..268befd9 100644 --- a/doc/user/psddata.htm +++ b/doc/user/psddata.htm @@ -7,10 +7,12 @@

          As of now two packages are provided:

            -
          • A data analysis package based on XDS. -
          • An experimental package based on a -novel volume matching approach. +
          • A program called cami4pcd for visually inspecting TRICS data files and for performing + computer aided manual integration of TRICS data files. +
          • A program called anatric for extracting reflection positions for UB matrix refinement +and the extraction of integrated intensities for structure determination.
          +Both programs are described in separate documents (or not as in the case of cami4psd).

          diff --git a/doc/user/samenv.htm b/doc/user/samenv.htm index 282ad0c4..aa592ab3 100644 --- a/doc/user/samenv.htm +++ b/doc/user/samenv.htm @@ -88,6 +88,8 @@ implemented are:
          Safe
          Tries to run the environment device to a value considered safe by the user. +
          Script +
          Run a user defined script to do any magic things you may want.
  • @@ -176,9 +178,13 @@ Possible values are:
  • 1 for Pause.
  • 2 for Interrupt
  • 3 for Safe. +
  • 4 for Script. For an explanantion of these values see the section about error handling above. +
    errorscript +
    The user specified script to execute when the controlled value goes out of + tolerance. Will be used whne the ErrHandler 4, script, is used.
    Interrupt
    The interrupt to issue when an error is detected and Interrupt error handling is set. Valid values are: diff --git a/doc/user/sansman b/doc/user/sansman index 689b57f0..6dc8cb31 100644 --- a/doc/user/sansman +++ b/doc/user/sansman @@ -42,6 +42,7 @@ programmers reference. %html system.htm 1 %html config.htm 1 %html macro.htm 1 +%html exeman.htm 2 %html buffer.htm 1 %html drive.htm 1 %html logbook.htm 3 diff --git a/doc/user/sicsinvoc.htm b/doc/user/sicsinvoc.htm index e212c574..af327252 100644 --- a/doc/user/sicsinvoc.htm +++ b/doc/user/sicsinvoc.htm @@ -29,7 +29,7 @@ Currently the following SICS clients are available:
  • A command line control client for sending commands to the SICS server and displaying its repsonses.
  • A status display for the powder diffractometers DMC and HRPT. -
  • A status display for TOPSI. +
  • A status display for MORPHEUS and general scans.
  • A status display for SANS and SANS2.
  • A status display for FOCUS.
  • A AMOR control and status program. @@ -53,7 +53,7 @@ privileged SICS user.

    Starting SICS client applications

    -These programs can be started on a DigitalUnix system by issuing the +These programs can be started on a Linux system by issuing the following commands at the command prompt:

    sics & @@ -61,7 +61,7 @@ following commands at the command prompt:
    powderstatus &
    for the DMC status display client.
    topsistatus & -
    for the TOPSI status display. +
    for the MORPHEUS status display.
    sansstatus &
    for the SANS status display.
    focustatus @@ -72,13 +72,9 @@ following commands at the command prompt:
    for the triple axis status display and control application.
    varwatch &
    for the variable watcher. -
    trics-& +
    trics &
    for the starting the TRICS graphical client.
    -On a PC you may find icons for starting the different programs on the -desktop. -Each of these clients has usage instructions online which can be displayed -through the help/about menu entry.

    Another option to start SICS clients is the Java Webstart mechanism @@ -102,41 +98,82 @@ active. A connection is established through the connect menu of the client. SICS is a multi user instrument control system. In order to prevent malicious manipulations of the instrument SICS supports a hierarchy of user rights. In order to run an experiment you need at least user level privilege. -In order to achieve this privilege you have to invoke the User Parameter/Set -Rights dialog. There you have to enter the apropriate username and password +In order to achieve this privilege you have to invoke the Authorize +dialog. There you have to enter the apropriate username and password kindly provided by your instrument scientist.

    Restarting the Server

    The SICS server should be running all the time. It is only down if something went wrong. You can check for the presence of the SICS server by loging in -to the instrument computer and typing CheckSICS at the command +to the instrument computer and typing monit status at the command prompt. The output will tell you what is happening. If you need to restart the SICS server log in as the instrument user at the instrument computer and invoke the appropriate command to start the server. These are:

    DMC -
    Computer = lnsa05, User = DMC +
    Computer = dmc, User = dmc
    TOPSI -
    Computer = topsi, User = TOPSI +
    Computer = morpheus, User = morpheus
    SANS -
    Computer = sans, User = SANS +
    Computer = sans, User = sans +
    SANSLI +
    Computer = sans2, User = sans2
    TRICS -
    Computer = lnsa18, User = TRICS +
    Computer = trics, User = trics
    HRPT -
    Computer = lnsa11, User = HRPT +
    Computer = hrpt, User = hrpt
    FOCUS -
    Computer = lnsa16, User = FOCUS +
    Computer = focus, User = focus
    AMOR -
    Computer = lnsa14, User = AMOR +
    Computer = amor, User = amor
    TASP -
    Computer = tasp, User = TASP +
    Computer = tasp, User = tasp
    POLDI -
    Computer = poldi, User = POLDI +
    Computer = poldi, User = poldi
    -For starting the SICS server type startsics. This is a shell script -which will starts all necessary server programs. This script works only on -the instrument computer and in the appropriate instrument account. +The SICS server process are controlled through the monit program. Usually the monit + daemon is running. If not, for instance after a reboot, it can be + started by typing monit at the unix prompt logged in as the + instrument user. Further monit commands: +
    +
    monit start target +
    start the monit surveyed process target. For the choice of targets +see below. +
    monit stop target +
    stops the monit surveyed process target. For the choice of targets +see below. +
    monit restart target +
    restart the monit surveyed process target. Possible targets are: +
    +
    sicsserver +
    The SICServer +
    SerPortServer +
    The serial port control program +
    sync +
    The file synchronisation program. This is responsible for coyping +data files to the common AFS area. +
    simserver +
    Only on TASP: a simulation SICS server +
    all +
    Stop all processes +
    +
    monit status +
    prints a status listing of everything watched by monit +
    monit quit +
    Stops monit itself +
    +Stopping everything thus involves two commands: +
      +
    • monit stop all +
    • monit quit +
    +Restarting after this involves: +
      +
    • monit +
    +The older command startsics and killsics are still working and operate +on the monit daemon as of now.

    If all this does not help look under trouble shooting diff --git a/doc/user/topman b/doc/user/topman index f8ce294a..003f5e14 100644 --- a/doc/user/topman +++ b/doc/user/topman @@ -35,6 +35,7 @@ Switzerland\\ %html system.htm 1 %html config.htm 1 %html macro.htm 1 +%html exeman.htm 2 %html buffer.htm 1 %html drive.htm 1 %html logbook.htm 2 diff --git a/doc/user/topscan.htm b/doc/user/topscan.htm index 9d979eee..9e112ba5 100644 --- a/doc/user/topscan.htm +++ b/doc/user/topscan.htm @@ -93,6 +93,37 @@ can be given in order to allow for several scan variables. the mode currently configured active in the scan object is used.

    +

    Fastscan

    +

    +At some instruments there is a fastscan facility. This scan starts a +motor and the counter. As often as possible or configured, the scan +module will calculate the difference to the previous count, normalize +it to the monitor difference and print it. This is usually faster then +doing a step scan. There are limitations, though: +

      +
    • Fastscans are restricted to one motor. There is no way that a +coordinated movement of several motors can be enforced by fastscan +without mechanical coupling. +
    • Due to the volatile nature of the beam at SINQ, this type of scans +come into problems when the beam is off. A warning is printed, but... +
    • If the motor is driving to fast, there might not be enough +neutrons around even in the peak to be registered. +
    +Basically, if you see a feauture in fastscan, it is there, if not, +that does not mean anything!. Fastscan comes into its own for +alignment scans or when searching peaks. The syntax is: +
    +
    fastscan motor start stop speed +
    Runs a fastscan on motor between start and stop. Speed is the +speed with which the motor is run. The motors speed is reset to the +original value when fastscan finishes. +
    diffscan skip val +
    If fastscan produces to much output on to short intervalls, +increasing the skip parameter allows to control that. Skip is the +number of SICS cyles to skip between measurements. Thus this value is +highly dependent on the overall performance of SICS. +
    +

    Peak And Center

    These two commands are related to the scan command insofar as they act upon @@ -107,5 +138,17 @@ the position, FWHM and maximum value of the peak in the last scan. The The two points are interpolated from the data and the peak position calculated as the middle point between the two halfheight points.

    +

    PSD scans

    +

    +Some instrument wish to perform scans with position sensitive +detectors. In such cases the scan mode can be switched between PSD and +normal mode. This is done through the commands: +

    +
    scan2d +
    Switches PSAD detetcor scanning on. +
    scan1d +
    Switches back to normal scan mode on a single counter. +
    +

    diff --git a/doc/user/tricsman b/doc/user/tricsman index 3ace0dd5..3a4cc052 100644 --- a/doc/user/tricsman +++ b/doc/user/tricsman @@ -41,7 +41,8 @@ Switzerland\\ %html logbook.htm 2 %html commandlog.htm 2 %html macro.htm 1 -%html buffer.htm 1 +%html exeman.htm 3 +%html buffer.htm 2 %html hkl.htm 2 %html config.htm 1 %html system.htm 1 @@ -339,6 +340,7 @@ H H L \end{verbatim} %html mesure.htm 2 +%html ubcalc.htm 2 %html hklscan.htm 2 %html tricspsd.htm 1 @@ -349,7 +351,4 @@ H H L %html trscan.htm 2 %html psddata.htm 1 -%html xds.htm 2 -%html auto.htm 2 -%html autocloud.htm 3 \end{document} diff --git a/doc/user/trouble.htm b/doc/user/trouble.htm index 1d2b6bd1..be4f1e80 100644 --- a/doc/user/trouble.htm +++ b/doc/user/trouble.htm @@ -71,6 +71,13 @@ The log files show you all commands given and all the responses of the system. safely ignored, SICS fixes this condition.

    +

    Restarting SICS

    +

    +All of SICS can be restarted through the command: +

    +monit restart all
    +
    +

    Starting SICS

    An essential prerequisite of SICS is that the server is up @@ -79,7 +86,7 @@ fails. Only after a reboot or when the keepalive processes were killed (see below) the SICServer must be restarted. This is done for all instruments by typing:

    -startsics 
    +monit
     
    at the command prompt. startsics actually starts two programs: one is the replicator application which is responsible for the automatic @@ -95,9 +102,10 @@ everything the server process must be killed. This can be accomplished either m

    Stopping SICS

    -All SICS processes can be stopped through the command: +All SICS processes can be stopped through the commands:

    -killsics
    +monit stop all
    +monit quit
     
    given at the unix command line. You must be the instrument user (for example DMC) on the instrument computer for this to work properly. @@ -123,81 +131,40 @@ can not be resolved by simple means.

    Sometimes it happens that the SICServer hangs while starting up or hardware components are not properly initialized. In such cases it is useful to - look at the SICS servers startup messages. In order to do so, both the - SICServer and its keepalive process must be killed first. On the instrument - acount issue the command: + look at the SICS servers startup messages. + On the instrument account issue the commands:

    -ps -A | grep SICS
    +monit stop sicsserver
    +cd inst_sics
    +./SICServer inst.tcl | more
     
    -A message like this will be printed: +Replace inst with the name of the appropriate instrument in lower case. +For example, from the home directory of the hrpt account on the computer hrpt:
    -  23644 ??       I        0:00.00 ksh keepalive SICServer focus.tcl
    - 23672 ??       R       59:24.05 SICServer focus.tcl
    -  7119 ttyp6    S  +     0:00.00 grep SICS
    +cd
    +monit stop sicsserver
    +cd hrpt_sics
    +./SICServer hrpt.tcl | more
     
    -Remember the numbers in the first columns (the PID's) and kill both - programs by issuing the command: -
    -kill -9 pid pid
    -
    -Example: -
    -kill -9 23644 23672
    -
    -Note, the numbers are those displayed with the ps -A command. -Then cd into the bin directory of the instrument account and issue - the unix command: -
    -SICServer inst.tcl | more
    -
    -Replace inst.tcl with the name of the appropriate instrument initialisation - file. This allows to page through SICS startup messages and will help to +This allows to page through SICS startup messages and will help to identify the troublesome component. The proceed to check the component and the connections to it.

    -

    Getting New SICS Software

    -

    -Sometimes you might want to be sure that you have the latest SICS software. -This is how to get it: -

      -
    1. Login to the instrument account. -
    2. If you are no there type cd to get into the home directory. -
    3. Type killsics at the unix prompt in order to stop the SICS server. -
    4. Type sicsinstall exe at the unix prompt for copying new - SICS software from the general distribution area. -
    5. Type startsics to restart the SICS software. -
    -

    -

    Hot Fixes

    -

    -When there is trouble with SICS you may be asked by one of the SICS - programmers to copy the most recent development reason of the SICS server - to your machine. This is done as follows: -

      -
    1. Login to the instrument account. -
    2. cd into the bin directory, for example: /home/DMC/bin. -
    3. Type killsics at the unix prompt in order to stop the SICS server. -
    4. Type cp /data/koenneck/src/sics/SICServer . at the unix prompt. -
    5. Type startsics to restart the SICS software. -
    -!!!!!! WARNING !!!!!!!. Do this only when advised to do so by a competent - SICS programmer. Otherwise you might be copying a SICS server in an - instable experimental state! -

    HELP debugging!!!!

    The SICS server hanging or crashing should not happen. In order to sort such problems out it is very helpful if any available debugging information is saved and presented to the programmers. Information available are the log files as written continously by the SICS server and posssible core files -lying around. They have just this name: core. In order to save them create a +lying around. They have just this name: core.pid, where pid is the process identification number. + In order to save them create a new directory (for example dump2077) and copy the stuff in there. This looks like:

     /home/DMC> mkdir dump2077
     /home/DMC> cp log/*.log dump2077
    -/home/DMC> cp core dump2077
    +/home/DMC> cp core.2077 dump2077
     
    The /home/DMC> is just the command prompt. Please note, that core files are only available after crashes of the server. These few commands diff --git a/doc/user/trscan.htm b/doc/user/trscan.htm index e6608c93..3de0794e 100644 --- a/doc/user/trscan.htm +++ b/doc/user/trscan.htm @@ -4,8 +4,23 @@

    PSD-TRICS Count and Tricsscan Command

    +

    New Commands

    +

    +As of 2005, the normal SICS scan command can be used for TRICS. There is +now a special command: +

    +scan2d 
    +
    +which switches to PSD scan mode. Switching to single detector mode is +achieved through: +
    +scan1d 
    +
    +H, k and l are now virtual motors in SICS and can be scanned normally. +

    +

    Obsolete Commands

    -Two special commands have been defined for TRICS with a PSD: +Several special commands have been defined for TRICS with a PSD:

    count mode preset
    counts with all three detectors. The parameter mode defines which @@ -45,6 +60,5 @@ documentation for hklscan. Please note that for a PSD HKL scan, all commans have to start with hklscan2d.

    - diff --git a/doc/user/ubcalc.htm b/doc/user/ubcalc.htm new file mode 100644 index 00000000..4fc158f2 --- /dev/null +++ b/doc/user/ubcalc.htm @@ -0,0 +1,70 @@ + + +The Online UB Calculation Routine + + +

    The Online UB Calculation Routine

    +

    +This module allows to calculate the UB matrix from either two reflections and the + cell constants or standalone from three reflections. A little aid for + indexing is implemented too. As usual when dealing with calculations + the common rule: shit in, shit out holds true. In this case this + means that the quality of the UB matrix obtained increases when: +

      +
    • Reflections have been centered as accuratly as possible, i.e. with + slits closed and collimators in. +
    • Two theta has been calibrated against a standard beforehand. +
    • The crystal under investigation has been properly centered. +
    • Cell constants and wavelength are accurate. +
    +This module is for classic four circle diffraction only. +

    +

    +A range of commands allows for reflection and data input and +calculations. For the following discussion it is assumed that the UB +matrix calculation object has been configured into the system under +the name ubcalc. +

    +
    ubcalc ref1, ref2, ref3 h k l two_theta omega chi phi +
    Reflection input for up to three reflections. Miller indices must +be given. When angles are not given, the current position of motors +stt, om, chi, phi is read. +
    ubcalc cell a b c alpha beta gamma +
    Input of cell constants +
    ubcalc ub2ref +
    Calculate the UB matrix from ref1, ref2 and the cell constants. +
    ubcalc ub3ref +
    Calculate the UB matrix from the three reflections ref1, ref2 and +ref3. +
    ubcalc listub +
    Print the calculated UB matrix +
    ubcalc cellub +
    Caclulate and print the cell constants as calculated from the UB matrix. +
    ubcalc activate +
    Copies the UB matrix to the hkl module. The positions of new +reflections can then be calculated with hkl. +
    ubcalc index two_theta +
    Makes suggestions for possible miller indices matching +two_theta. If two_theta is omitted, the current value of two theta is +read from the motor stt. A brute force search through the space of +possible indices is undertaken using the cell constants given and the + wavelength from the hkl module. This routine is controlled by three + parameters within ubcalc: +
      +
    • difftheta, The maximum permissible difference in two_theta +
    • maxindex, The maximum value for miller indices in any direction. +
    • maxlist, The maximum number of suggestions to list. +
    +
    ubcalc difftheta, maxindex, maxlist value +
    Inquire or set the above parameters. For inquiry, give no value, +for setting the parameter give tha name and the value. +
    ubcalc list +
    Print all the data in ubcalc. +
    ubcalc listcell +
    Print the cell constants. +
    ubcalc listref1, listref2, listref2 +
    Print reflections 1, 2 or 3 +
    +

    + + diff --git a/doc/user/userrefman b/doc/user/userrefman index 8fd3fd5d..7e5e21fa 100644 --- a/doc/user/userrefman +++ b/doc/user/userrefman @@ -29,6 +29,7 @@ Switzerland\\ \clearpage \tableofcontents \clearpage +\clearpage \chapter{Introduction} This is the master user manual for SICS. It gives an overview over all @@ -40,13 +41,14 @@ SICS built in scripting language. Only the most common of such commands are listed here. \chapter{System Commands and Concepts} -%html sicsinvoc.htm 2 %html basic.htm 2 +%html sicsinvoc.htm 2 %html logging.htm 2 %html logbook.htm 3 %html commandlog.htm 3 %html batch.htm 2 %html macro.htm 3 +%html exeman.htm 3 %html buffer.htm 3 %html token.htm 2 %html system.htm 2 @@ -63,13 +65,12 @@ commands are listed here. %html count.htm 2 %html histogram.htm 2 %html samenv.htm 2 -%html ctrl.htm 2 +%html ../manager/rs232.htm 2 %html velocity.htm 2 %html velolambda.htm 2 \chapter{Common User Commands} %html topscan.htm 2 -%html hkl.htm 2 %html optimise.htm 2 %html xytable.htm 2 %html lowmax.htm 2 @@ -85,8 +86,10 @@ commands are listed here. %html amortof.htm 3 \section{TRICS Specific Commands} -%html hklscan.htm 3 %html trscan.htm 3 +%html hklscan.htm 3 +%html hkl.htm 3 +%html ubcalc.htm 3 %html mesure.htm 3 %html nextrics.htm 3 %html peaksearch.htm 3 diff --git a/fomerge.c b/fomerge.c index 8d32a8e5..96f5333c 100644 --- a/fomerge.c +++ b/fomerge.c @@ -505,6 +505,23 @@ static int *calculateSum(HistInt *data, int iDet, int iTime) } return sum; } +/*--------------------------------------------------------------------*/ +static void checkSum(HistInt *sum, int iDet, char *name, SConnection *pCon){ + int i, count; + char pBueffel[256]; + + for(i = 0, count = 0; i < iDet; i++){ + if(sum[i] == 0){ + count++; + } + } + if(count == iDet || count == 0){ + return; + } + snprintf(pBueffel,255,"WARNING: %d of %d detectors in bank %s are empty", + count, iDet, name); + SCWrite(pCon,pBueffel,eWarning); +} /*---------------------------------------------------------------------*/ static int putSum(SicsInterp *pSics, SConnection *pCon, pNXScript nxscript, char *name, char *alias) @@ -546,6 +563,7 @@ static int putSum(SicsInterp *pSics, SConnection *pCon, SCWrite(pCon,"ERROR: out of memory summing bank",eError); return NX_ERROR; } + checkSum(sum,iDet, name,pCon); status = NXDputalias(nxscript->fileHandle,nxscript->dictHandle, alias,sum); diff --git a/ubcalc.c b/ubcalc.c index 5757eb2f..71869946 100644 --- a/ubcalc.c +++ b/ubcalc.c @@ -571,11 +571,11 @@ int UBCalcWrapper(SConnection *pCon, SicsInterp *pSics, void *pData, } else if(strcmp(argv[1],"listub") == 0){ listUB(pCon,self->UB); return 1; - } else if(strcmp(argv[1],"calcub") == 0){ + } else if(strcmp(argv[1],"ub2ref") == 0){ return calcUB(self,pCon); - } else if(strcmp(argv[1],"calcub3ref") == 0){ + } else if(strcmp(argv[1],"ub3ref") == 0){ return calcUB3Ref(self,pCon); - } else if(strcmp(argv[1],"cellfromub") == 0){ + } else if(strcmp(argv[1],"cellub") == 0){ return cellFromUBWrapper(self,pCon); } else if(strcmp(argv[1],"listcell") == 0){ listCell(pCon,argv[0],self->direct); diff --git a/ubfour.c b/ubfour.c index dd52be23..948f3be0 100644 --- a/ubfour.c +++ b/ubfour.c @@ -280,7 +280,7 @@ MATRIX calcUBFromThreeReflections(reflection r1, reflection r2, reflection r3, HIINV = mat_inv(HI); if(HIINV == NULL){ - *errCode = UBNOMEMORY; + *errCode = NOTRIGHTHANDED; killVector(u1); killVector(u2); killVector(u3);