In order to match this need a new system was designed. The main design goals were: maximum portability, extensibility, generality in terms of instrument types and good remote access. Furthermore the new SINQ Instrument Control Software (SICS) should serve as a testbed for graphical user interface development.
In order to achieve these design goals, SICS was designed as a client server system. The SICS server does the actual job of controlling the instruments. SICS clients just implement the user interface. SICS clients and the SICS server communicate via a simple ASCII command protocol through TCP/IP sockets.
The SICS server consists of a kernel which handles client multitasking, access serialisation and authorisation and a database of SICS objects. SICS objects represent hardware devices in the system, commands and measurement procedures. This object database is easily configured and can be extended via a well defined interface.
The SICS server provides Tcl as internal macro language. The new system writes data files in NeXus format.
SICS is in continuing development. It is now in use on a powder diffractometer, a two circle diffractometer and a small angle scattering machine. Further instruments will follow.
(posted 19-Nov-97 jw)