Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Wisconsin at Madison

Similar presentations


Presentation on theme: "University of Wisconsin at Madison"— Presentation transcript:

1 University of Wisconsin at Madison
DCOPS Readout James N. Bellinger University of Wisconsin at Madison 27-February-2007 DCOPS Readout System

2 Overview 60 Lasers 36 Lines 276 DCOPS sensors
(504 combinations of DCOPS and laser) 2 Terminal servers using 16 ports each Serial readout from each DCOPS We need to read out the entire profile and fit it

3 Core activities Read and fit the profiles
Store in database for each readout Fit results Raw profiles (for offline analysis) Error information Store in database for the run or as updated Configuration: which DCOPS were read out

4 Communications Make errors available to DCS via DimServer
Use Dim commands to control the lasers Accept control from DCS via DIM commands HALT: exit program when subprocesses end ABORT: kill subprocesses and exit program (bug) RUN: switch from paused to running status STANDBY: switch from running to paused status SETDCOPSON: Include selected DCOPS to be read SETDCOPSOFF: Exclude this DCOPS from readout

5 Comments I assume the default startup state is RUN
The SETDCOPSON and SETDCOPSOFF commands change the readout configuration, and that change will have to be logged. The current plan is to directly serve only errors and configuration information to DCS. DCS monitoring gets fits and profiles from the database on as-requested basis, not continuously.

6 Typical “Station” Y Three SLM lines with 10 DCOPS each, and
PT 2 Three SLM lines with 10 DCOPS each, and 6 DCOPS for the Transfer lines (which have 12 DCOPS along the Z direction PT 3 PT 1 X PT 4 PT 6 “Radial” SLM DCOPS “Axial” transfer line DCOPS PT 5

7 Typical “Station” Y X Terminal Server PT 2 PT 3 PT 1
All the DCOPS in a designated region are read out on a single port of the terminal server. This includes the Transfer Line DCOPS. Only one process at a time can communicate with a terminal server port. PT 4 PT 6 “Radial” SLM DCOPS “Axial” transfer line DCOPS PT 5

8 A different typical “Station”
Terminal Server PT 2 PT 3 PT 1 X Different “stations” read out on different ports. We can read out different “stations,” like ME+2 and ME+3, in parallel. PT 4 PT 6 “Radial” SLM DCOPS “Axial” transfer line DCOPS PT 5

9 Transfer Line issues Y X Terminal Server PT 2 PT 3 PT 1
A Transfer Line uses a DCOPS from each “station” along the line, and thus uses a port that an SLM line also uses. The readout of Transfer Lines cannot happen at the same time as the readout of SLM lines. PT 4 PT 6 “Radial” SLM DCOPS “Axial” transfer line DCOPS PT 5

10 Organization 12 “Stations:”
8 are EndCap with SLMs 4 are central MABS Read out the 8 EndCap “Stations” in parallel Have to read out the SLM lines in a “station” in turn, since they use the same ports To avoid reflections, only one laser on at a time in a “station” Then read out the 6 Transfer Lines

11 Lowest Level Action Execute a set of shell commands and read back the results in a pipe: Example (sleep .2; echo 52TT; sleep .5; echo 52CC; sleep 4; echo 52CG; sleep 5; echo BRK; echo exit) | telnet cmsatsplus.cern.ch 7001 Telnet to terminal server port 1 and accept the following input commands Wait briefly for server to catch up Send command to wake up DCOPS address 52 Wait briefly Send command to DCOPS to read CCDs Wait several seconds Send command to DCOPS to send the background subtracted profiles Send terminal server break Exit the port connection The output from this pipe is passed to the calling routine.

12 Second Level Action Turn on a laser for an SLM (reply not checked yet!) Send “group” sample and hold command on both ports Loop over DCOPS on SLM sending requests for data Turn off laser, turn on the other, and repeat

13 Third Level Action Loop over SLM's at a “station”
Fork a second level process to read an SLM. Set a timer and kill the fork if it times out. Return data in shared memory

14 Fourth Level Action Loop over endcap “stations”
Fork a third level process to read a “station.” Set a timer and kill the fork if it times out. As data is returned, interleave fitting with waiting When all data is fit, return

15 Top Level Action Default is to loop forever over the following:
Call the routine to read all SLMs Call the routine to read all Transfer Lines Tag all data with a timestamp and store fits and errors and compressed profiles in Oracle If standby is requested, sleep and check for change If halt is requested, exit the program

16 Status On a 2.4 GHz P4 with local MySQL, a readout cycle in my testbed takes 15 minutes. I believe this is realistic. Writing profile and error blobs to MySQL works, not tested on Oracle yet DimService of error bits works The DIM abort command leaves stray processes around Configuration for minus side not created yet Run configuration needs to be read from and written back to Oracle


Download ppt "University of Wisconsin at Madison"

Similar presentations


Ads by Google