Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 NGC Detector Control Software Base Software, Infrared Systems and AO-NGC J. Stegmeier.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

JED Microprocessors Pty Ltd Presenting the JED T430 low-cost Projector Controllers Nov 22nd, 2009.
Verilog Intro: Part 1.
Protocol Configuration in Horner OCS
Chapter 2Test Specification Process. n Device Specification Sheet – Purpose n Design Specification – Determine functionality of design n Test List Generation.
Software for the New General detector Controller (NGC) DETECTORS FOR ASTRONOMY Garching (Germany), October 2009 Claudio Cumani / Jörg Stegmeier.
Peter Chochula, January 31, 2006  Motivation for this meeting: Get together experts from different fields See what do we know See what is missing See.
Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 Computer System Overview OS-1 Course AA
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
Manfred Meyer & IDT & ODT 15 Okt Detectors for Astronomy 2009, ESO Garching, Okt Detector Data Acquisition Hardware Designs.
1 QED In Vivo USB Input Output Box configuration This tutorial contains a number of instructions embedded in a great deal of explanation. Procedures that.
10/12/2003NGC/SW NGC: the sw view. 10/12/2003NGC/SW Caveat Only very basic issues are covered No details, no “ready to go” solutions Not even requirements!
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Computerized Train Control System by: Shawn Lord Christian Thompson.
Linux Operations and Administration
A. Homs, BLISS Day Out – 15 Jan 2007 CCD detectors: spying with the Espia D. Fernandez A. Homs M. Perez C. Guilloud M. Papillon V. Rey V. A. Sole.
MICE III 68000/20/30 MICETEK International Inc. CPU MICEIII MICEView Examples Contents Part 1: An introduction to the MC68000,MC68020 and Part.
DELTA TAU Data Systems, Inc. 1 UMAC TurboTurbo PMAC PCIGeo Drive Single Source Machine Control motion logic data Power PMAC Project Management November.
High Speed Data Converter University
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
DTIAtlasBuilder Adrien Kaiser Neuro Image Research and Analysis Laboratories University of North Carolina at Chapel Hill A tool to create an atlas from.
MICROPROCESSOR INPUT/OUTPUT
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
DCE (distributed computing environment) DCE (distributed computing environment)
Gauge Operation and Software by Scott A. Ager. Computer Recommendations 750 MHz Pentium III 64 Meg SRAM 40 Gig Hard Drive 1024 x 768 graphics CD Writer.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Installation Overview Lab#2 1Hanin Abdulrahman. Installing Ubuntu Linux is the process of copying operating system files from a CD, DVD, or USB flash.
1 Performance Optimization In QTP Execution Over Video Automation Testing Speaker : Krishnesh Sasiyuthaman Nair Date : 10/05/2012.
2003 Dominic Swayne1 Microsoft Disk Operating System and PC DOS CS-550-1: Operating Systems Fall 2003 Dominic Swayne.
CHAPTER 2. Overview 1. Pre-Installation Tasks 2. Installing and Configuring Linux 3. X Server 4. Post Installation Configuration and Tasks.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Fast Fault Finder A Machine Protection Component.
Mark E. Fuller Senior Principal Instructor Oracle University Oracle Corporation.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Source Controller software Ianos Schmidt The University of Iowa.
Sensor testing and validation plans for Phase-1 and Ultimate IPHC_HFT 06/15/ LG1.
PAYware Transact Terminal Interface Manager
Linux Operations and Administration
IT3002 Computer Architecture
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
بسم الله الرحمن الرحيم MEMORY AND I/O.
Time Management.  Time management is concerned with OS facilities and services which measure real time.  These services include:  Keeping track of.
Observations with AMBER  General overview  P2VM  OB preparation with P2PP P2PP / OB / templates Available templates for observation procedure Typical.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 NGC optical SW Claudio Cumani.
Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 J.Knudstrup, ESO/DoE/CSE/CINS 3GTCCD – Detector Control.
ESO – A.Longinotti ESO Instrumentation Software Workshop Antonio Longinotti Testing Instrumentation Software Applications.
XTRP Software Nathan Eddy University of Illinois 2/24/00.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
An operating system (OS) is a collection of system programs that together control the operation of a computer system.
Chapter 4: server services. The Complete Guide to Linux System Administration2 Objectives Configure network interfaces using command- line and graphical.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
1 Chapter 1 Basic Structures Of Computers. Computer : Introduction A computer is an electronic machine,devised for performing calculations and controlling.
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
ESO New General detector Controller (NGC)
Chapter 2: System Structures
Instrument Control Systems 2014
The NeW GeneraL Detector Controller - NGC/OPT
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Chapter 13: I/O Systems.
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 NGC Detector Control Software Base Software, Infrared Systems and AO-NGC J. Stegmeier Instrument Control Systems 2014

Instrument Control System Seminar, 20 th -24 th October 2014 Overview Configuration Startup Procedure Controller Programming Data Interface Version Control & Patching Tools – Device Check Tool – Data Cube Player – FAQ All about “Chopping…” NGC - Detector Control Software

Instrument Control System Seminar, 20 th -24 th October 2014 NGC Systems Overview NGC DCS/IR VLTSW OS, ICS, RTD, BOB, ARCHIVER, … IWS NGC DFE PCIe LLCU NGC DFE PCIe LLCU NGC DFE PCIe LLCU NGC DFE PCIe LLCU NGC OPT NGC DCS/IR NGC DCS/IR SPARTA NGC PMC LCU RMN / VLTI RMN IFC NGC DCS/AO MVME6100/ VxWorks PC/LINUX CCD220 AONGC PCIe LLCU SPARTA Driver DMA, COM NGC DCS/- Serial FPDP

Instrument Control System Seminar, 20 th -24 th October 2014 The same user account is needed on the instrument workstation and on the detector workstation (LLCU). The user must be able to execute a remote shell (rsh) from the instrument workstation on the detector workstation. Example: “rsh which ngcbExecSrv” Then verify that you get the path which you expect: /vlt/VLT2014/CCSLite/bin/ngcbExecSrv or something like /introot/ /bin/ngcbExecSrv No $INS_ROOT is needed on the detector workstation. The NGC PCIe device driver needs to be installed only on the detector workstation. For System- and Network-Administrators

Instrument Control System Seminar, 20 th -24 th October 2014 Configuration Files Clock-Patterns (.clk) Control Server Server Command Line Options Detector Configuration (.dcf) Detector Configuration (.dcf) Seq.-Programs (.seq) Voltages (.v) System Configuration (.cfg) System Configuration (.cfg) Server Startup Configuration (xxdcfgStartup.cfg) Server Startup Configuration (xxdcfgStartup.cfg) Startup Configuration Sets (xxdcfgCONFIG.cfg) Startup Configuration Sets (xxdcfgCONFIG.cfg) Specifies… Executes… Reads… IR-Applications Acquisition Process Name (e.g. “IRDIS_NGC”)

Instrument Control System Seminar, 20 th -24 th October 2014 Startup tools: – ngcdcsStartServer [-gui] [other options] – ngcdcsStopServer – ngcdcsStartGui (only GUI) [other options] for maintenance (verbose mode etc.) or for overriding the keywords defined in the startup-configuration-set. The control server startup configuration is described by a unique name (configuration- set name). The refers to the name of a startup-configuration-set. The startup- configuration-sets are defined in the main configuration file: – $INS_ROOT/SYSTEM/COMMON/CONFIGFILES/xxdcfgCONFIG.cfg The startup-configuration-set describes the startup-configuration-file and some administrative options: – CONFIG.SET1.NAME "KMDCS"; – CONFIG.SET1.DICT "NGCCON"; – CONFIG.SET1.FILE1 "kmdcfg.cfg"; – CONFIG.SET1.PERM1 664; # all – CONFIG.SET1.BACKUP T; – CONFIG.SET1.LOG T; The startup-configuration-file defines the control server startup-options - e.g. auto- online, auto-start, database-point, server instance and the controller electronics system configuration file to be loaded at startup. Startup Procedure

Instrument Control System Seminar, 20 th -24 th October 2014 Startup-Configuration-File: – # Control server name – DET.CON.SERVER "ngcdcsEvh"; – # Database point – DET.CON.DATABASE "ngcdcs"; – # Instance label for server and OLDB – DET.CON.INSTANCE "myInst”"; – # HW system configuration file – DET.CON.SYSCFG "NGCIRSW/myNGC.cfg"; – # Startup mode (NORMAL, HW-SIM, LCU-SIM) – DET.CON.OPMODE "HW-SIM"; – # Go online after start – DET.CON.AUTONLIN F; – # Auto-start at online – DET.CON.AUTOSTRT F; – # Enable sub-system status polling – DET.CON.POLL T; – # Detector system index (DETi.XXX) – DET.CON.DETIDX 1; – # Dictionaries to load for this detector system – DET.CON.DICT "NGCDCS"; – # GUI name – DET.CON.GUI "ngcgui"; Startup Procedure

Instrument Control System Seminar, 20 th -24 th October 2014 Short-Fits format (keyword based). Keyword values can be read from environment variables (e.g. $HOST, $RTAPENV, $NGCPP_HOST, $NGCPP_DATA) The system-configuration-file describes the physical NGC system architecture. Defines the interfaces (PCI-boards). Defines the modules in the system (Sequencer, CLDC, ADC, Shutter, Preamplifier, AO-Camera-Head). Defines the default setup for all modules (e.g. number of clocks, auto- enable, number of ADC channels, …). IR- and AO-systems define a detector-configuration-file which contains the information how the NGC system is used: CHIP-data (name, dimension, pixel size, gain, …) Voltage-configurations and clock-pattern definitions Read-out modes: Sequencer program to be uploaded Acquisition process to be launched Set of parameter values to be applied when the mode is selected System Configuration

Instrument Control System Seminar, 20 th -24 th October 2014 # Device description DET.DEV1.NAME "/dev/ngc0_com"; # associated device name DET.DEV1.HOST "$NGCPP_HOST"; # host where interface resides DET.DEV1.TYPE "socket"; # interface instance type DET.DEV2.NAME "/dev/ngc1_com"; # associated device name DET.DEV2.HOST "$NGCPP_HOST"; # host where interface resides DET.DEV2.ENV "socket"; # interface instance type # CLDC modules DET.CLDC1.DEVIDX 1; # associated device index DET.CLDC1.ROUTE "2"; # route to module DET.CLDC1.AUTOENA "T"; # auto-enable at online DET.CLDC1.MARGIN 0.2; # margin for voltage check (in volts) DET.CLDC1.DCGN 2.0; # bias gain DET.CLDC1.CLKGN 1.0; # clock gain DET.CLDC2.DEVIDX 2; # associated device index DET.CLDC2.ROUTE "2"; # route to module DET.CLDC2.AUTOENA "T"; # auto-enable at online # Sequencers DET.SEQ1.DEVIDX 1; # associated device index DET.SEQ1.ROUTE "2"; # route to module # ADC modules DET.ADC1.DEVIDX 1; # associated device index DET.ADC1.ROUTE "2"; # route to module DET.ADC1.NUM 4; # number of enabled ADC units on board DET.ADC1.BITPIX 16; # number of bits per pixel DET.ADC1.FIRST "T"; # first in chain DET.ADC1.PKTCNT 1; # packet routing length (# of packets from down-link) DET.ADC2.DEVIDX 1; # associated device index DET.ADC2.ROUTE "5,2"; # route to module DET.ADC2.NUM 32; # number of enabled ADC units on board DET.ADC2.BITPIX 16; # number of bits per pixel DET.ADC2.FIRST "F"; # first in chain DET.ADC2.PKTCNT 0; # packet routing length (# of packets from down-link) System Configuration (Example)

Instrument Control System Seminar, 20 th -24 th October 2014 The detector voltages are defined in a voltage configuration file in Short-FITS format (xxx.v). The voltage configuration files can be loaded to any CLDC instance in the system. Clock-Pattern blocks can be defined both in ASCII-Format (xxx.clk) and in a Binary Format (xxx.bclk, output of the Graphical Editing Tool BlueWave). The formats can be converted automatically. Synchronization with external events (e.g. trigger) can be done after any state in any clock-pattern block. A Sequencer Programming Language has been defined to make maximum use of the HW capabilities. There may be multiple sequencer instances within one detector front end system. Controller Programming

Instrument Control System Seminar, 20 th -24 th October 2014 # Offsets: DET.CLDC.CLKOFF 10.0; # Global clock voltage offset DET.CLDC.DCOFF 10.0; # Global DC voltage offset # Clock Voltages: DET.CLDC.CLKHINM1 "clk1Hi"; # Name DET.CLDC.CLKHI ; # Setup value DET.CLDC.CLKHIGN1 1.0; # Gain (optional) DET.CLDC.CLKHIRA1 "[-9.000, 9.000]"; # Allowed range DET.CLDC.CLKLONM1 "clk1Lo"; # Name DET.CLDC.CLKLO ; # Setup value DET.CLDC.CLKLOGN1 1.0; # Gain (optional) DET.CLDC.CLKLORA1 "[-9.000, 9.000]"; # Allowed range # Up to 18 clock voltages like this... # DC Voltages: DET.CLDC.DCNM1 "DC1"; # Name DET.CLDC.DC ; # Setup value DET.CLDC.DCGN1 1.0; # Gain (optional) DET.CLDC.DCRA1 "[-9.000, 9.000]"; # Allowed range # Up to 20 DC-voltages like this... Detector Voltage Setup

Instrument Control System Seminar, 20 th -24 th October 2014 The clock pattern blocks define sequences of clock states, which are stored in a RAM inside the NGC sequencer hardware. The bits in the RAM define the state of each physical clock line plus: – Some control bits (“wait-for-trigger”, “end-of-pattern”). – The duration of each state (dwell time) is defined in the state itself. Clock Pattern Generation PATRAM Pattern RAM High Pattern RAM Low … + 0: State 1 … + 1: State 2 … + 2: State 3 : … +(n-1): State n … + n: State 1 … +(n+1): State 2 … +(n+2): State 3 : … +(n+m-1): State m ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ Clock Pattern 1 Pattern 2 End of Pattern

Instrument Control System Seminar, 20 th -24 th October 2014 # Clock mapping (can be spread over several lines) # This maps the clocks described below onto physical clock lines. # Mechanism is: Phys. clock line for logical clock n = MAP[n]. DET.CLK.MAP1 "1,2,3,33"; # Mapping list DET.CLK.MAP2 "37,4"; # Mapping list # Clock pattern definitions DET.PAT1.NAME “FrameStart"; DET.PAT1.NSTAT 5; DET.PAT1.CLK1 "00000"; DET.PAT1.CLK2 "00000"; DET.PAT1.CLK3 "00000"; DET.PAT1.CLK4 "00000"; # Convert DET.PAT1.CLK5 "00110"; # Start pulse DET.PAT1.CLK6 "00000"; DET.PAT1.DTV "2,2,2,2,2"; # Dwell-Time vector DET.PAT1.DTM "0,0,0,0,0"; # Dwell-Time modification flags DET.PAT2.NAME “ReadPix"; DET.PAT2.NSTAT 6; DET.PAT2.CLK1 "000111"; DET.PAT2.CLK2 “111000"; DET.PAT2.CLK3 "000000"; DET.PAT2.CLK4 "000010"; # Convert DET.PAT2.CLK5 "000000"; # Start pulse DET.PAT2.CLK6 "000000"; DET.PAT2.DTV "5,5,5,5,5,5"; # Dwell-Time vector DET.PAT2.DTM "1,1,1,1,1,1"; # Dwell-Time modification flags # Up to 2048 clock pattern blocks in this format... Clock Pattern ASCII-Format

Instrument Control System Seminar, 20 th -24 th October 2014 The sequencer program defines the order of execution of the defined clock pattern blocks. Simple 7-instruction code RAM. Easy to get compiled. Sequencer Programming Address : Pattern-RAM HI Pattern-RAM LO BIT [31..0] BIT [31..0] PATRAM+ 0: PATRAM+ 1: PATRAM+ 2: PATRAM+ 3: PATRAM+ 4: PATRAM+ 5: PATRAM+ 6: PATRAM+ 7: PATRAM+ 8: PATRAM+ 9: PATRAM+10: PATRAM+11: PATRAM+12: PATRAM+13: PATRAM+14: PATRAM+15: PATRAM+16: PATRAM+17: PATRAM+18: : Clock-Pattern Block 1 Clock-Pattern Block 1 Clock-Pattern Block 2 Clock-Pattern Block 2 Clock-Pattern Block 3 Clock-Pattern Block 3 Clock-Pattern Block 4 Clock-Pattern Block 4 Address : BIT [30..28] [26..11] [10..0] SEQRAM+0: [LOOP] [N] [-] SEQRAM+1: [EXEC] [N] [PATRAM offset] SEQRAM+2: [LOOP] [N] [-] SEQRAM+3: [EXEC] [N] [PATRAM offset] SEQRAM+4: [LOOPEND] [-] [-] SEQRAM+5: [JSR] [-] [SEQRAM offset] SEQRAM+6: [LOOPEND] [-] [-] SEQRAM+7: [EXIT] [-] [-] : … +offset : [EXEC] [N] [PATRAM offset] … +offset+1: [EXEC] [N] [PATRAM offset] … +offset+2: [RETURN] [-] [-] [LOOP] = 010 [JSR] = 101 [EXEC] = 001 [LOOPINF] = 100 [RETURN] = 110 [EXIT] = 000 [LOOPEND] = 011

Instrument Control System Seminar, 20 th -24 th October 2014 The sequencer programs are fully driven by setup parameters (e.g. integration time, number of integrations, window parameters, …). Support of arithmetic expression evaluation (TCL-syntax) to derive any program-loop parameter from the setup parameters and to compute attributes like exposure time estimation and minimum DIT. Support of sub-routines and include-files to minimize the code length. New feature: IF-ELSE instruction in the program code – The instruction is not executed at run-time but defines the code to be loaded into the RAM (Pre-Processor). The program complexity can be scaled: – Simply do not “USE” any setup parameter. – Simply omit the “SCRIPT” part for arithmetic expression evaluation. Sequencer Program Language

Instrument Control System Seminar, 20 th -24 th October 2014 # PATTERN DECLARATION GLOBAL_RESET = 14 # PARAMETER DECLARATION USE DET.NDIT DET.SEQ.DIT DET.DITDELAY DET.NDITSKIP # SUBROUTINE DECLARATION SUBRT RESET DELAY FRAME # EVALUATE SCRIPT if {$svar(DET.NDIT) <= 0} { set svar(DET.NDIT) 1 } set tr [expr {$time_r(RESET) / }] set tf [expr {$time_r(FRAME) / }] set td [expr {$time_r(DELAY) / }] set svar(DET.SEQ.MINDIT) $tf set t1 [expr {($svar(DET.NDIT) + $svar(DET.NDITSKIP))}] set svar(delFac) [expr {round(($svar(DET.SEQ.DIT) - $tf) / $td)}] set svar(ditDelay) [expr {round($svar(DET.DITDELAY) / $td)}] if {$svar(delFac) < 0} { set svar(delFac) 0 set svar(DET.SEQ.DIT) $svar(DET.SEQ.MINDIT) } set svar(globRst) 0 set svar(DET.SEQ.EXPTIME) [expr {($t1 * ($tr + ($svar(ditDelay)*$td) + ($svar(delFac)*$td) + ($tf*2)))}] SCRIPT_END # EXECUTE LOOP INFINITE IF $svar(globRst) EXEC GLOBAL_RESET 64 ELSE JSR RESET ENDIF JSR DELAY $ditDelay JSR FRAME JSR DELAY $delFac JSR FRAME END RETURN # SUBROUTINES RESET: INCLUDE "Hawaii2RGReset.seq" DELAY: INCLUDE "Hawaii2RGDelay.seq" FRAME: INCLUDE "Hawaii2RGFrame.seq" Sequencer Program Example

Instrument Control System Seminar, 20 th -24 th October 2014 Synchronization points can be inserted at any place in any clock pattern executed by the sequencer program (i.e. set the “wait-for-trigger” bit in the particular state). When reaching such a point, the pattern execution is suspended after the dwell-time of this state until the arrival of an external trigger signal. Example: External Synchronization # Clock mapping (can be spread over several lines). # This maps the clocks described below onto physical clock lines. # Mechanism is: Phys. clock line for logical clock n = MAP[n]. DET.CLK.MAP1 "1,2,3,33"; # Mapping list DET.CLK.MAP2 "37,4,61"; # Mapping list # Clock pattern definitions DET.PAT1.NAME “FrameStartSync"; DET.PAT1.NSTAT 5; DET.PAT1.CLK1 "00000"; DET.PAT1.CLK2 "00000"; DET.PAT1.CLK3 "00000"; DET.PAT1.CLK4 "00000"; # Convert DET.PAT1.CLK5 "00110"; # Start pulse DET.PAT1.CLK6 "00000"; DET.PAT1.CLK7 “10000"; # Sync DET.PAT1.DTV "2,2,2,2,2"; # Dwell-Time vector DET.PAT1.DTM "0,0,0,0,0"; # Dwell-Time modification flags Wait for Trigger

Instrument Control System Seminar, 20 th -24 th October 2014 Multi-threaded pre-processing framework: Capture (DMA, circular buffer) Process (Averaging, Least-Square-Fit, Fowler-Pairs, Pixel-Demultiplexing, Digital Filters, …) Transfer – e.g.: →Transfer “INT”-frames to IWS for FITS-file →Transfer “DIT”-frames to on or more RTDs One executable process per read-out mode. Sustained DMA-transfer supporting multiple DMA-channels (multiplexed or parallel). Parallel processing (partitioned or pipelined). CPU-affinity control. RT-preemptive thread scheduling capability (if enabled in the kernel!). Template Processes have been developed, which are an easy-to-use and stand-alone tool to visualize NGC raw-data on the RTD. Standard acquisition processes for the ESO Standard IR Detectors (HAWAII 1Kx1K, HAWAII2- RG 2Kx2K, SAPHIRA, AQUARIUS, …) are available within the NGC software package. Special setups (e.g. mosaics) may require special software modules. One acquisition process for the AO-NGC (CCD220). This is used for tests, evaluations and calibrations. Real-time simulation capabilities serving for system dimensioning. Data Acquisition Processes

Instrument Control System Seminar, 20 th -24 th October 2014 User-definable Frame-Types (DIT, STDEV, HCYCLE, intermediate results…). The types can be selected to be generated and/or stored during an “exposure”. Exposure Break-Conditions can be set per “per frame-type”. This is the number of frames of a certain type to be stored during the exposure. The exposure terminates when all break- conditions are met. A zero value indicates to store as much as possible frames of that type until all other break-conditions are met. FITS-Files – Wait for exposure termination and read the generated FITS-file(s). – Default data format is “Image Extension”. – Data Cubes for fast data acquisitions. Minimum overhead One cube per frame-type – Single files For detector tests in the lab To optimize merging process: start merging already before exposure is completed (e.g. VISTA-instrument). Direct connection to the acquisition process (e.g. RTD) – Retrieve the binary image data with just minimum header information (dimension, type, sequential number). Post-Processing Call-Back – The control server calls a user-defined procedure before the frame is stored. Data Interface

Instrument Control System Seminar, 20 th -24 th October 2014 On the LLCUs the NGC Base-SW only needs the Kernel, the Compiler and the Makefile. The NGCSW-trunk is backwards compatible up to VLTSW release FEB2006 (i.e. it compiles, installs and runs without any performance penalty). Since VLT2013 a 64-bit kernel is provided. On LLCUs with large memory installed this increases the maximum data burst length (e.g. for Queue Mode). The VLSTW version on LLCU and IWS may differ without having any impact on the system behavior. The NGCSW version on LLCU and on IWS should be the same. Caution: typically the NGCSW delivered in the $VLTROOT is outdated! – New read-out features (frequent) – New config-/setup-keywords to switch between modes (frequent) – Bug fixes (less frequent… ) – New maintenance tools (device-check, self- test, stress-test,…) Then you have to patch… NGCSW + VLTSW Linux Kernel + Runtime Environments (C, C++, Tcl/Tk, Java, Python, …) Compiler (gcc) Makefile NGCSW on LLCU NGCSW on IWS VLT – Software Libraries(lib) Executables(bin) Include Files(include) Configuration Files (config, dbl, CDT) VLTSW-RELEASE 2006/2008/2010/2011/2013/2014/…

Instrument Control System Seminar, 20 th -24 th October 2014 Official patches are delivered as new RPM. For quick fixes there is a quick alternative: – Login – Create an INTROOT (if not yet existing) getTemplateForDirectory INTROOT $INTROOT[1 second] – Retrieve NGC package cd /tmp svn co {URL as provided for the patch}[5 seconds] – Build… cd /tmp/NGC make man all install[3-4 minutes] – Install device driver (if indicated) cd /tmp/NGC/ngcdrv/src make driver [5 seconds] [enter root-password when being asked for it] Just about 5 minutes per detector workstation… When patching an instrument workstation then a database rebuild may be required. This may take a bit longer – depending on the complexity of the database structure. Installing a Patch

Instrument Control System Seminar, 20 th -24 th October 2014 The utility checks the NGC PCIexpress interface device and displays the link-status. If the link is up then the tool tries to explore the DFE board configuration. Two variants available: – Shell command to be executed on the NGC-LLCU when the SW is off-line: ngcbCheckDev [device name] – Command to be sent to the DCS control server when the SW is in “LOADED” state. ngcbCmd “checkdev [device number]” msgSend “” ngcircon EXEC “checkdev [device number]” “Menu-Button” in the ngcgui. This takes into account the device names and LLCU host names as defined in the DCS system configuration file. The tools work both with and without NGC-PMC board in the chain. NGC Device-Check-Tool

Instrument Control System Seminar, 20 th -24 th October 2014 The NGC-SW provides a maintenance tool to playback multi-dimensional FITS-files (data-cubes, NAXIS=3). The player (ngcbCube2Rtd) can be launched from the ngcrtdGui menu. It can either be operated manually or it automatically plays the image slices at selectable speed. Data Cube Player

Instrument Control System Seminar, 20 th -24 th October 2014 The NGC-DCS maintains a list of Frequently Asked Questions (FAQ). The list can be displayed – with the “ngcdcsFaq” browsing tool – through the “Help → Extended Help” menu button in the graphical user interface. – in plain ASCII format: “ngcdcs/config/ngcdcs.faq” When using the browsing tool then the list refers to the software version actually installed. Frequently Asked Questions

Instrument Control System Seminar, 20 th -24 th October 2014 One of the most frequently asked questions…

Instrument Control System Seminar, 20 th -24 th October 2014 The synchronization of the detector read-out with a chopper device is done via the external trigger input of the sequencer. The chopping mode is enabled or disabled with the setup parameter DET.CHOP.ST (T/F). This will also enable/disable the external trigger input on all sequencer instances. The DET.CHOP.ST parameter enables/disables the chop-cycle-processing in the data acquisition chain whereas the DET.SEQi.TRIGGER parameter just enables/disables the “wait-for-trigger” states in the sequencer program. Chopper synchronization can be done per phase transition or per read-out or per detector integration cycle (i.e. per “DIT”). Chopping Chopper VLT-TIM NGC-Sequencer Trigger Start-Time, Frequency Start-Time, Period DET.CHOP.TIM Transition-Time Detector Integration Time Read-Speed Chopping Parameters: DET.NDIT DET.NDITSKIP DET.CHOP.NCYCLES DET.CHOP.CYCSKIP DET.DITDELAY,… NGCIRSW OS

Instrument Control System Seminar, 20 th -24 th October 2014 The minimum value for the INS.TIMi.PERIOD is computed by the sequencer program and is stored in the parameter DET.CHOP.TIM. The computed value can either be retrieved via STATUS command or via the database attribute ‘ ngcircon:chopper.tim’ A margin (“+Tx”) is needed to compensate rounding errors in the TIM software. When the trigger pulse (red) falls into the pattern execution area (green) then the pulse is missed and only every second trigger comes through (self-subtraction). Synchronize per Phase Transition DIT MINDIT Chopper Period Reset Read1Delay Read2 ResetRead1Delay Read2 X Pattern Execution Block X XXXX {NDIT = 4} DET.CHOP.TIM =1 / (2 x DET.CHOP.FREQ) {NDITSKIP = 1} X Margin (“+ T x ”) INS.TIMi.PERIOD XXXX {NDIT = 4} DET.CHOP.TIM =1 / (2 x DET.CHOP.FREQ) {NDITSKIP = 1} X

Instrument Control System Seminar, 20 th -24 th October 2014 One trigger signal is delivered per detector read-out. Typically this mechanism is used in the so-called “Uncorrelated” (or “Rolling”) read-out modes. The detector integration time (DIT) is directly set via the TIM. It is always equal to INS.TIMi.PERIOD. When applying the minimum DIT (i.e. DIT=MINDIT) then still a margin (“+ Tx”) is needed to compensate rounding errors in the TIM software. When the trigger pulse (red) falls into the pattern execution area (green) then the pulse is missed and only every second trigger comes through. The exposure will then take twice as long as expected. The DET.SEQi.DIT parameter should always be set to INS.TIMi.PERIOD in order to finally have the right value in the FITS header. NGC-DCS has no access to the value of INS.TIMi.PERIOD! Synchronize per Read-Out Read+Reset DIT MINDIT INS.TIMi.PERIOD Read+Reset MINDIT Margin (“+ T x ”) RdRst Chopper Period {NDIT = 4}{NDITSKIP = 1}

Instrument Control System Seminar, 20 th -24 th October 2014 One trigger signal is delivered at the start of each detector integration cycle. Typically this mechanism is used for the “Double-Correlated” (or “CDS”) read- out modes and for the non-destructive modes (“Least Square Fit” or “Fowler”). The detector integration time (DIT) is not equal to INS.TIMi.PERIOD. The integration time is set via the DET.SEQi.DIT parameter which causes the sequencer program to execute delay patterns of appropriate length. The second read-out (“Read2”) and the reset pattern (“Reset”) add to the length of the pattern execution block (“X”). There may be more even more delay patterns (e.g. DET.DITDLEAY between “Reset” and “Read1”). The NGC ‑ TIM signal does not trigger the array read ‑ out but it triggers the execution of a pattern execution block. Again a margin (“+ Tx”) is needed to avoid that due to TIM software internal rounding the trigger pulse (red) falls into the pattern execution block (green). Synchronize per DIT DIT MINDIT INS.TIMi.PERIOD X X XX XX XX XX X Chopper Period {NDIT = 4}{NDITSKIP = 1} Reset Read1Delay Read2 DET.CHOP.TIM ResetRead1Delay Read2 Margin (+T x ) X Pattern Execution Block X

Instrument Control System Seminar, 20 th -24 th October 2014 Documentation VLT-MAN-ESO “New General Detector Controller - Infrared Detector Control Software – User Manual” The latest (but possibly not yet released) version is always stored here: Repository – Trunk: – Tags: The End