You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Instructions to run on hpstracker in group C

The epics setup for HPS has been checked to run on the zed board but is developed mainly on the hps tracker machine in group C. 

The development is based from the standard epics_example at:

/home/tracker/pelle/epics/example

and is currently on github under user "perhansson" and project name "svt-epics"

 

Instructions for MPOD power supply control
Start IOC

Setup EPICS environment (part of the DAQ setup script):

$ cd /u1/software/software_new

$ source setup_env.csh

Go to the MPOD App IOC boot directory:

$ cd /home/tracker/pelle/epics/svt-epics/example/iocBoot/iochvCaen/

Start the IOC

$./svt-voltages.cmd

This should run the epics hvCaenApp IOC and you should see output to the screen. Depending on the debug level (see below) there might be lots of output here.

Open up the GUIs according to the instructions below. 

Instructions for hybrid power control
Start IOC

Setup EPICS environment (part of the DAQ setup script):

$ cd /u1/software/software_new

$ source setup_env.csh

Start the IOC

$ cd /home/tracker/pelle/epics/svt-epics/example/iocBoot/iocmyexampleApp

$./st.cmd

This should run the epics IOC and you should see output to the screen where it queries the socket for information. Depending on the debug level (see below) there might be lots of output here. If there is no control server running or it's not configured properly (see below) you should see it retrying to connect. 

2. Setting up the control server

Power the FEB according to instruction below with GUIs or manually.

Start the control server and GUI

$ cd /u1/software/software_new

$ source setup_env.csh

./bin/frontEndTestGui &

If the IOC is running (if not start it) you should see that the IOC now gets information from the control server. 

NOTE: if you don't see a connection you might need to change the TCP/IP settings  in the dedicated GUI.


Power control GUIs
Setup MEDM environment (part of the DAQ setup script):

$ cd /u1/software/software_new

$ source setup_env.csh

Go to the SVT MEDM directory:

/home/tracker/pelle/epics/svt-medm

Start ALL GUIs using scripts:
$ ./runSVTGUIs.sh x 
 
Individual GUIs can be opened with
medm gui-name.adl & (if you don't add -x it will open in edit mode and you'll have to hit "execute" in one of the windows popping up.

1. Power the flange using flange "hps_svt_FLLV_all.adl" GUI
2. Power the FEB using "hps_svt_FELV_all.adl" (DIGI first)
3. Configure the FEB
4. Control hybrid power from "svtStatusPS_latest_onoff_control.adl"

Notes on the hybrid power:

 
  • The update frequency need to be tuned, sometimes it can take 1-2s before values are updated.  
  • If the DAQ GUI (actually the server) dies and you restart the GUI's may not reflect the new state. For example the GUI's may say ON when channel is OFF. You can press OFF and then ON in that case to sync up manually. Working on a fix for this. 

Development
Changing debug output for hybrid IOC

The debug level for the subProcess (essentially stuff in myexampleApp/src/dbSubExample.c) is controlled by "int mySubDebug". (0=least output)

This can be controlled from the IOC startup script /home/tracker/pelle/epics/example/iocBoot/iocmyexampleApp/st.cmd  by changing line:

var mySubDebug 0

The debug level for some of the low-level SVT code is controlled by "int client_util_debug" which is in myexampleApp/src/client_util_debug.c 
Hybrid IOC development

Compiling source and DB

$ cd /home/tracker/pelle/epics/svt-epics/example/myexampleApp

$ make

Interesting files for development:
EPICS Db: /home/tracker/pelle/epics/svt-epics/example/myexampleApp/Db/
dbSVT.db: controls the polling from the control server
dbFebTemp.db: FEB temperature records
dbHybLV.db: hybrid low voltage records
dbHybT.db: hybrid temperature records


/home/tracker/pelle/epics/svt-epics/example/myexampleApp/src/
dbSubExample.c: contains backend code for parsing and delegating communication with the control server.
client_util.c: Utility functions to communicate with control server and parsing/creating of xml strings


 

  • No labels