The SeaServer is a sics server running in parallel to the Server for instrument control. The server program is just a copy of the SICServer. However, when testing new features, different versions might be used for instrument control (sics server process) and for sample environment (sea server process).
All stuff related to sea are placed in $HOME/sea. All script files needed for the sea server process are identical on all instruments and are placed in the directory ~/sea/tcl. There is one exception, ~/sea/sea.tcl. This file contains the location of the files and the instrument name, and calls the instrument independent startup file ~/sea/tcl/seainit.tcl. This file calls all scripts in the directory ~/sea/tcl/startup/'.
The server log files are located in sea/log, and the database for the logger in sea/logger. The copy of the SICServer for sea is sea/SICServer, and there is a link to it (sea/SeaServer) which is started with the script sea/startwithpid.
The following lines should to be included into the instruments startup script:
source $home/sea/tcl/remob.tcl connect_seaThe macro connect_sea tries to make a connection to sea. If the connection is successful, remob objects are created on sics for all objects listed in the variable env_object_list on sea. Likewise the sea server tries to make a connection to sics on startup and initiates the update of configured objects.
To select the sample environment device, the command samenv (defined in sea/tcl/seacom.tcl) is used. It calles the configuration script for the given device (sea/tcl/<name>.config). The configuration scripts do not call makeobject directly, but use the makenv script, which keeps a list of created objects and takes the host:port information from a small database managed by cfgenv.
Syntax:
samenv <device name> configure sea for the given SE device samenv show the actual configuration samenv none remove all objects related with the actual SE device cfgenv <driver> <host:port> configure the serial connection of a controller cfgenv list all configured controllers makenv <object> <driver> make an object, using the configuration defined with cfgenv (this command can be used in configuration scripts only)