Presentation is loading. Please wait.

Presentation is loading. Please wait.

Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 J.Knudstrup, ESO/DoE/CSE/CINS 3GTCCD – Detector Control.

Similar presentations


Presentation on theme: "Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 J.Knudstrup, ESO/DoE/CSE/CINS 3GTCCD – Detector Control."— Presentation transcript:

1 Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 J.Knudstrup, ESO/DoE/CSE/CINS 3GTCCD – Detector Control Software

2 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 2 - Purpose of the 3GTCCD DCS project: Provide general purpose Detector Control Software (platform), that can be deployed against COTS CCD cameras models from different vendors. - Product Name: Technical Detector Control Software – TDCS. Purpose

3 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 3 - Single application architecture. - Highly configurable. - Standard VLT DCS interface - Core business logic decoupled from specific vendor solutions via Com. Interfaces. - Maximum level of parallelism through multithreading – in parallel: - Reading out frame N. - Processing frame N-1. - Publishing frame N-2. - Two internal Data Processing Pipelines: - Add user specific Data Proc. Recipes. - Specify any sequence via set up. - Standard set of Proc. Recipes provided. - Three Data Publishers per Pipeline: - Publishing a slow process, speed up using parallelism. - Add user specific Data Proc. Recipes. - Specify any sequence via set up. - Standard set of Data Publisher Plug-Ins provided (FITS: Single/cube/MEF and RTD). - Simulator in separate process: - Record or generate sequence + play back via simulator. Main Features

4 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 4 - Based on the WSF2 toolkit: - Application modeled with MagicDraw (MD). - State machine engine + template source files generated from MD UML state charts. - The WSF2 toolkit takes care of most ‘application logistics’ like state machine checking/handling, creation and deletion of threads, logging + more … - Total of 10 internal threads deployed: - 1 Main Thread (CCS command handling, permanent). - 1 Acquisition Thread, taking care of communication with camera (active @ONLINE). - 2 Pipeline Processing Threads executing the pipeline processing specified in the setup (active @ONLINE). - 2 x 3 Data Publisher Threads, taking care of publishing e.g. into FITS files or in the RTD (active @ONLINE). Implementation

5 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 5 Architecture Main Thread Acq Thread Proc 1Proc 2 Input Queue Pub 1-1Pub 1-2Pub 1-3Pub 2-1Pub 2-2Pub 2-3 Output Queue 1Output Queue 2 TDCS

6 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 6 State Machine – ONLINE State

7 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 7 Deployment Production Environment - Example

8 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 8 Classes (Extract)

9 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 9 Deployment Creation of Binary - Example #include "tdcsCOM_INT_CCS.h" #include "tdcsprocPROC_FLAT_FIELD.h" #include "tdcsprocPROC_CENTROID.h" #include "tdcspubPUB_FITS.h" #include "tdcspubPUB_RTD.h" #include "tdcsavtCOM_INT_PVAPI.h" int main(int argc, char *argv[]) { // Register Communication Interfaces. tdcsavtCOM_INT_PVAPI comInt; tdcsCONFIG::SetComInt(comInt); tdcsCOM_INT_CCS comIntSim; tdcsCONFIG::SetComIntSim(comIntSim); // Register Processing Recipe Plug-In Factory Objects. tdcsprocPROC_CENTROID centroidProcRecFactory; tdcsPROC_BASE::AddProcRecipeFactoryObj(*stdErr, centroidProcRecFactory); tdcsprocPROC_FLAT_FIELD flatFieldProcRecFactory; tdcsPROC_BASE::AddProcRecipeFactoryObj(*stdErr, flatFieldProcRecFactory); // Register Data Publisher Plug-In Factory Objects. tdcspubPUB_FITS fitsDataPubFactory; tdcsPUB_BASE::AddDataPubFactoryObj(*stdErr, fitsDataPubFactory); tdcspubPUB_RTD rtdDataPubFactory; tdcsPUB_BASE::AddDataPubFactoryObj(*stdErr, rtdDataPubFactory); errCloseStack(stdErr); // Execute the application. if (tdcsExecuteApp(argc, argv) == FAILURE) … return EXIT_SUCCESS; }

10 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 10 Configuration DET1.CAM.NAME "TestCamera" DET1.CAM.ID "SN:02-2152A-16289" DET1.CAM.MODEL "GC1600H" DET1.CAM.DETMODEL "Sony ICX274AL CCD" DET1.CAM.TYPE "CCD" DET1.CAM.MANUFACT "Allied Vision Technologies" DET1.CAM.PROTOCOL "GigE Vision" DET1.CAM.API "PvAPI" DET1.CAM.ADDRESS "134.171.12.196" DET1.CAM.DETSIZEX 1220 DET1.CAM.DETSIZEY 1620 DET1.CAM.MAXRATE 5 #----------------------------------------------------------------------------- DET1.DIC1 "TDCSPUB" DET1.ORIGIN "ESO" DET1.OUTQBUF 3 DET1.SIM.ADDRESS "tdcsSim_tccd1" DET1.SIM.ST F DET1.SYSTEM "TEST-SYSTEM" DET1.TELESCOP "NONE" # INIT Subsystem Keys: DET1.INIT.SETUP "tdcsSimTest1.det" …

11 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 11 Configuration – Cont’d … # PROC Subsystem Keys: DET1.PROC1.SKIPFRAM F DET1.PROC2.SKIPFRAM F # PUB Subsystem Keys: DET1.PROC1.PUB1.SKIPFRAM F DET1.PROC1.PUB2.SKIPFRAM F DET1.PROC1.PUB3.SKIPFRAM F DET1.PROC2.PUB1.SKIPFRAM F DET1.PROC2.PUB2.SKIPFRAM F DET1.PROC2.PUB3.SKIPFRAM F

12 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 12 Setup DET1.EXPO.MODE "CONTINUOUS"; # CONTINUOUS, SINGLE DET1.EXPO.NREP 10 DET1.EXPO.RATE 10 DET1.EXPO.TIME 0.5 DET1.EXPO.WIN.STARTX 512 DET1.EXPO.WIN.STARTY 512 DET1.EXPO.WIN.NX 256 DET1.EXPO.WIN.NY 256 DET1.EXPO.WIN.BINX 1 DET1.EXPO.WIN.BINY 1 …

13 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 13 Setup – Cont’d … # Processing Pipeline 1 + Publishers: DET1.PROC1.ST F DET1.PROC1.RECIPE1.ST F DET1.PROC1.RECIPE1.NAME "" DET1.PROC1.RECIPE2.ST F DET1.PROC1.RECIPE2.NAME "" DET1.PROC1.PUB1.METHOD1.ST T DET1.PROC1.PUB1.METHOD1.NAME "tdcspubPUB_RTD" DET1.PROC1.PUB1.METHOD1.RTDCAM "TdcsTestCam1" DET1.PROC1.PUB1.METHOD1.MAXRATE 5 DET1.PROC1.PUB1.METHOD2.ST F DET1.PROC1.PUB1.METHOD2.NAME "“ DET1.PROC1.PUB2.METHOD1.ST T DET1.PROC1.PUB2.METHOD1.NAME "tdcspubPUB_FITS" DET1.PROC1.PUB2.METHOD1.FILENAME "TdcsTest" DET1.PROC1.PUB2.METHOD1.MAXSIZE "20" DET1.PROC1.PUB2.METHOD1.NUMBER "12" DET1.PROC1.PUB2.METHOD1.MODE "CUBE"; # SINGLE, CUBE, MEF DET1.PROC1.PUB2.METHOD1.RECMODE "ALL"; # ALL, I:, P: DET1.PROC1.PUB3.METHOD1.ST F DET1.PROC1.PUB3.METHOD1.NAME "" …

14 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 14 Before first release: - Solve compatibility issue with Vimba and multithreaded CCS. - Implement TDCS Simulator. - ESPRESSO needs implementation very soon – provide first version with features only for ESPRESSO. - Graphical User Interface (generic). - User Manual, Design description: “VLT-SPE-ESO-17240-6093” (to be updated at the end of the implementation). - Carry out performance tests. - Official release: 1 st half of 2015. After first release: - Test with other cameras to verify architecture – TBD. - New project: Investigate option of replacing existing TCCD HW (where relevant) with COTS TCCD solution – TBD. - New project: Provide Super-DCS facilitating operation of an array of TCCDs, seen as one DCS – on justified demand … Status

15 Instrument Control System Seminar, 20 th -24 th October 2014, Slide 15 Demo Main Thread Acq Thread Proc 1Proc 2 Input Queue Pub 1-1Pub 1-2Pub 1-3Pub 2-1Pub 2-2Pub 2-3 Output Queue 1Output Queue 2 RTD 1 RTD 2 TDCS FITS Files


Download ppt "Instrument Control Systems Seminar 2014, 20 th -24 th October 2014 Instrument Control Systems 2014 J.Knudstrup, ESO/DoE/CSE/CINS 3GTCCD – Detector Control."

Similar presentations


Ads by Google