SICS installation
Ferdi Franceschini
2008-01-25 09:46
SICS installation
Requirements
For your operating system, you must have these software components installed. The
links here are not maintained. They may or may not be up to date, and may or may not
link with the version of SICS you are trying to compile. The standard install
operating system for ANSTO is SuSE linux, version 9.2, 10, 10.2
HDF5
from http://www.hdfgroup.org/HDF5/
JSON-C from http://www.json.org/
mxml from http://mxml.sourceforge.net/
tcl8.4 - Get this from the RPMs for your operating system. Also requires
tcl-devel, zlib, zlib-devel, libghttp and libghttp-devel RPMs and tDOM
Getting SICS at ANSTO
To get sics you must have an account on boson and you need to belong to the nbip
group. If you are using the command line cvs client you need to set the CVS_RSH
environment variable to ssh. You can then check sics out with the following
command,
cvs -d:ext:uname@boson.ansto.gov.au:/projects/nbip/cvsroot co sics
where uname is your username on boson.
Getting a Release Branch
cvs -d:ext:uname@boson.ansto.gov.au:/projects/nbip/cvsroot
co -rRELEASE-<N>_0-BRANCH sics
where <N> is the branch number.
Compiling sics
After checking out sics cd to the site_ansto directory and
run make. This will build a SICServer binary
in the site_ansto directory.
The build system is a work in progress. I have manage to reduce it down to
two files a Makefile, and make_gen_variables which is essentially a copy of the
variables in the sics core make_gen file. The goal is to extract the variables
from make_gen and get rid of make_gen _variables.
http://gumtree:9080/nbicms/sics-control-system/ansto-sics/sics-configuration-and-deployment
Ferdi Franceschini
2007-03-21 15:29
Instrument Configuration and Deployment
TODO
Create motion control checklists for Wombat, Koala, Kowari, and Platypus based on
the Echidna Motion Control Functional Test Checklist
SICS Configuration Source Files
site_ansto/instrument is the toplevel directory for the
instrument configuration source files along with the shared configuration
information, deployment scripts, test code and scaffolding.
The top level of the site_ansto/instrument directory contains
the common instrument configuration files. All of the instruments depend on the
following files:
server_config.tcl defines paths, server options and variables
for all of the instruments.
util/utility.tcl file contains some tcl procs which are
useful for defining instrument configurations.
/config directory contains task specific configuration files
which may be shared by two or more instruments. It has the following structure:
config
|-- counter
|-- hipadaba
|-- hmm
|-- nexus
`-- scan
The instrument specific configuration files are stored in subdirectories of
site_ansto/instrument name as follows:
hipd (wombat)
hrpd (echidna)
pas (pelican)
qld (koala)
reflectometer (platypus)
rsd (kowari)
sans (quokka)
tas (taipan)
TODO We should really rename these directories, but
doing that in CVS requires a cool clear head and a calm steady hand.
Each of the instrument specific subdirectories should have the following layout:
<inst>
|-- DMC2280
|-- config
| |-- counter
| |-- hipadaba
| |-- hmm
| |-- nexus
| `-- scan
|-- script_validator
| `-- config
| |-- counter
| |-- hmm
| `-- motors
`-- util
`-- dmc2280
Each <inst> directory contains the following files
sics_ports.tcl
List of port names used by the SICS server for this instrument
extraconfig.tcl
In the future we will be able to override values recorded in the
status.tcl file by setting them here.
MANIFEST.TXT
List of files and subdirectories to be deployed to the ics1-<inst>
computer.
Makefile
Generates a simulated motor configuration file for the script validator
during deployment.
<instrument-name>_configuration.tcl
This is the main configuration file, it sources all the other
configuration files required to setup an instrument.
The <inst> directories are broken down into the following subdirectories,
DMC2280
Contains the programs which setup and run on the Galil motion
controllers. They will typically define subroutines and interrupt
handlers for limit switches, and motors.
config
Contains subdirectories which organise the instrument configuration
files by task. As well as the following files:
INSTCFCOMMON.TXT
Lists common configuration files that this instrument depends
on.
Makefile
Composes nexus dictionary files into task specific dictionaries for an
instrument
script_validator
The port numbers and simulation drivers required by the script
validator are defined here.
util
Maintenence and diagnostic utilities which can be run independently of
SICS can be found here.
Deploying SICS
Deploying to the TEST_SICS directory on bluegum from a working directory on
bluegum
The root directory for SICS for each instrument on bluegum is
/usr/local/TEST_SICS/<inst>
Under each of these root directories is the following directory structure:
/
|-- batch
|-- data
|-- log
|-- script_validator
| |-- batch
| |-- data
| |-- log
| |-- server
| |-- tmp
|-- server
`-- tmp
For a fresh install you have to create these directories.
Go to the source code directory site_ansto
cd instrument
./deploySICS.sh test/kowari localhost /usr/local/TEST_SICS/kowari/
Edit /etc/services
Add lines for the motor services e.g.
pmc1-kowari 62335/tcp
pmc2-kowari 62336/tcp
pmc3-kowari 62337/tcp
pmc4-kowari 62338/tcp
After deploying a test setup you will need to configure the fake motors for SICS
cd /usr/local/TEST_SICS/kowari/fakeDMC
./mkSimAxes.tcl kowari
Then you can run the fake motors in separate terminals
./cont.tcl -cont 1 -port pmc1-kowari
./cont.tcl -cont 2 -port pmc2-kowari
./cont.tcl -cont 3 -port pmc3-kowari
./cont.tcl -cont 4 -port pmc4-kowari
Then create the DataNumber file and launch SICS
cd /usr/local/TEST_SICS/kowari/sics/
touch data/DataNumber
cd server
./SICServer kowari_configuration.tcl
Deploying to ics1-dev.nbi.ansto.gov.au and ics1-test.nbi.ansto.gov.au
The instrument dev and test computers must have the information in the
sics_test_hosts and the
sics_test_services files under
the site_ansto/instrument/TEST_SICS/ directory appended to
the services and hosts files. This will allow us to run multiple instances of sics
on the test computer without changing the instrument configuration files.
cd instrument
./deploySICS.sh echidna/test ics1-dev.nbi.ansto.gov.au
Deploying to an instrument control server
cd instrument
./deploySICS.sh echidna