Stefan KoestnerTutorial – User GuideSeptember 2007 TELL1 - CONTROL Guidelines for Users & Developers.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

CIMCO Integration Software Products
DCS workshop 13-14/6/2005G. De Cataldo, CERN-CH and INFN bari1 Common FSM’s updates An exercise to design the standard FSMs for the DCS, the HV and the.
CHEP 2012 – New York City 1.  LHC Delivers bunch crossing at 40MHz  LHCb reduces the rate with a two level trigger system: ◦ First Level (L0) – Hardware.
Chapter 7 Interupts DMA Channels Context Switching.
Clara Gaspar, May 2010 The LHCb Run Control System An Integrated and Homogeneous Control System.
Control and monitoring of on-line trigger algorithms using a SCADA system Eric van Herwijnen Wednesday 15 th February 2006.
Clara Gaspar, March 2006 LHCb’s Experiment Control System Step by Step.
Framework for Online Alignment 4th LHCb Computing Workshop 6 November 2014 Beat Jost / Cern.
Calo Piquet Training Session - Xvc1 ECS Overview Piquet Training Session Cuvée 2012 Xavier Vilasis.
MDT PS DCS for ATLAS Eleni Mountricha
Clara Gaspar, October 2011 The LHCb Experiment Control System: On the path to full automation.
André Augustinus 10 September 2001 DCS Architecture Issues Food for thoughts and discussion.
D etector C ontrol S ystem ALICE DCS workshop G. De Cataldo CERN-CH, A. Franco INFN Bari, I 1 Finite State Machines (FSM) for the ALICE DCS:
ATLAS DCS S. KhomoutnikovDDC Tutorial1 DAQ – DCS Communication Tutorial ( DDC v. 4.1, online ) 58 slides with comments printing note pages before.
ALICE, ATLAS, CMS & LHCb joint workshop on
1 Outline Firmware upgrade of the HV_LED_DAC boards. HV Status Bits board. Status of the board integration into the LHCb TFC system. CALO HV system and.
Giovanni Polese1 RPC Detector Control System for MTCC Pierluigi Paolucci, Anna Cimmino I.N.F.N. of Naples Giovanni Polese Lappeenranta University.
Management of the LHCb DAQ Network Guoming Liu * †, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
Clara Gaspar, March 2005 LHCb Online & the Conditions DB.
1 ECS CALO HV Control CALO Piquet Training Session Anatoli Konoplyannikov /ITEP/ Outline  ECS HV control of the ECAL/HCAL sub-detectors.  Introduction.
Bruno Belbute, October 2006 Presentation Rehearsal for the Follow-up meeting of the Protocol between AdI and CERN.
Overview of DAQ at CERN experiments E.Radicioni, INFN MICE Daq and Controls Workshop.
CERN, O.Pinazza: ALICE TOF DCS1 ALICE TOF DCS Answers to DCS Commissioning and Installation related questions ALICE week at CERN O. Pinazza and.
Peter Chochula ALICE Offline Week, October 04,2005 External access to the ALICE DCS archives.
L0 DAQ S.Brisbane. ECS DAQ Basics The ECS is the top level under which sits the DCS and DAQ DCS must be in READY state before trying to use the DAQ system.
FSM – ConfDB Integration FW WG Meeting 17 th March, 2006 Fernando Varela Rodriguez, IT-CO (with the input from: Clara, Alex, Sascha, Piotr and Francisca)
Management of the LHCb Online Network Based on SCADA System Guoming Liu * †, Niko Neufeld † * University of Ferrara, Italy † CERN, Geneva, Switzerland.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
1 Calorimeters LED control LHCb CALO meeting Anatoli Konoplyannikov /ITEP/ Status of the calorimeters LV power supply and ECS control Status of.
Alarm Handling Oliver Holme 7 th November Guidelines & Strategies All provide recommendation to use Framework Classes Standard severities/behaviour/colours.
Clara Gaspar, December 2012 Experiment Control System & Electronics Upgrade.
Configuration database status report Eric van Herwijnen September 29 th 2004 work done by: Lana Abadie Felix Schmidt-Eisenlohr.
The Software for the CERN Detector Safety System G. Morpurgo, R. B. Flockhart and S. Lüders, CERN IT/CO.
TDAQ Experience in the BNL Liquid Argon Calorimeter Test Facility Denis Oliveira Damazio (BNL), George Redlinger (BNL).
TELL1 command line tools Guido Haefeli EPFL, Lausanne Tutorial for TELL1 users : 25.February
Clara Gaspar on behalf of the ECS team: CERN, Marseille, etc. October 2015 Experiment Control System & Electronics Upgrade.
Clara Gaspar, April 2006 LHCb Experiment Control System Scope, Status & Worries.
LHCb Configuration Database Lana Abadie, PhD student (CERN & University of Pierre et Marie Curie (Paris VI), LIP6.
Management of the LHCb DAQ Network Guoming Liu *†, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
Alignment in real-time in current detector and upgrade 6th LHCb Computing Workshop 18 November 2015 Beat Jost / Cern.
The DCS Databases Peter Chochula. 31/05/2005Peter Chochula 2 Outline PVSS basics (boring topic but useful if one wants to understand the DCS data flow)
1 ECS CALO HV Control CALO Piquet Training Session Anatoli Konoplyannikov /ITEP/ Outline  ECS HV control of the ECAL/HCAL sub-detectors.  Introduction.
Markus Frank (CERN) & Albert Puig (UB).  An opportunity (Motivation)  Adopted approach  Implementation specifics  Status  Conclusions 2.
Stefan KoestnerTutorial - PanelsJanuary 2008 TELL1 A brief introduction to the Device Unit Panels.
DAQ & ConfDB Configuration DB workshop CERN September 21 st, 2005 Artur Barczyk & Niko Neufeld.
1 ECS CALO LED Control System CALO Piquet Training Session Anatoli Konoplyannikov /ITEP/ Outline  Introduction  Calorimeter ECS LED monitoring.
DCS Meeting - 17/6/2002 G. De Cataldo, A.Franco - INFN Bari - 1 The implementation of the HMPID DCS in the PVSS-JCOP Framework The Liquid Circulation and.
JCOP Framework and PVSS News ALICE DCS Workshop 14 th March, 2006 Piotr Golonka CERN IT/CO-BE Outline PVSS status Framework: Current status and future.
Sep. 18th 2006 Stefan Koestner FwHw Tutorial ECS-tools for the CCPC/Tell1: How to create a framework component of your hardware and distribute it? challenging.
Clara Gaspar, February 2007 LHCb’s Experiment Control System & Electronics Integration Step by Step.
20OCT2009Calo Piquet Training Session - Xvc1 ECS Overview Piquet Training Session Cuvée 2009 Xavier Vilasis.
Clara Gaspar, May 2010 SMI++ A Tool for the Automation of large distributed control systems.
1 The user’s view  A user is a person employing the computer to do useful work  Examples of useful work include spreadsheets word processing developing.
Stefan Koestner IEEE NSS – San Diego 2006 IEEE - Nuclear Science Symposium San Diego, Oct. 31 st 2006 Stefan Koestner on behalf of the LHCb Online Group.
1 Calorimeter LED & LV - HV control systems LHCb CALO meeting Anatoli Konoplyannikov /ITEP/ Outline Status of the calorimeters LV & MV power supplies.
CMS High Level Trigger Configuration Management
Online Control Program: a summary of recent discussions
Controlling a large CPU farm using industrial tools
WinCC-OA Upgrades in LHCb.
MiniDAQ2 Workshop Control System.
The LHCb Run Control System
Control and monitoring of trigger algorithms using Gaucho
IEEE - Nuclear Science Symposium San Diego, Oct. 31st 2006
User Specific Framework Component
Pierluigi Paolucci & Giovanni Polese
Pierluigi Paolucci & Giovanni Polese
Tools for the Automation of large distributed control systems
Pierluigi Paolucci & Giovanni Polese
Presentation transcript:

Stefan KoestnerTutorial – User GuideSeptember 2007 TELL1 - CONTROL Guidelines for Users & Developers

Stefan KoestnerTutorial – User GuideSeptember 2007 Contents: framework components (fwCcpc, fwHw, fwTell1) configuration of Tell1 boards finite state machines design issues - special requirements user specific - what you still have to do

Stefan KoestnerTutorial – User GuideSeptember 2007 fwCcpc – in a nutshell: interface between PVSS and CCPC using DIM and a generic server basic test panels & PVSS library doxygen documentation and tutorial under: online/ecs/PVSS_CCPC/default.html

Stefan KoestnerTutorial – User GuideSeptember 2007 fwCcpc – in a nutshell: communication via Ccpc DP each Tell1 has its own DP and each bus has its own DP element Note: use fwHw for accessing registers and not this DP! (model your hardware)

Stefan KoestnerTutorial – User GuideSeptember 2007 fwHw – in a nutshell: a tool (panels & library) for modeling hardware as PVSS DPs and creating recipes. generic: SPECS & CCPC

Stefan KoestnerTutorial – User GuideSeptember 2007 fwHw – in a nutshell: each register has its own DP and DIM srvcs/cmnds associated subscription : - register settings transferred to ccpc and stored there in list. - create DIM server cmnds/srvcs. (establishes communication between server & PVSS) doxygen documentation and tutorial under: online/ecs/FwHw/default.html

Stefan KoestnerTutorial – User GuideSeptember 2007 Recipes – in a nutshell: a recipe is a collection of registers, whose values can be stored in the configuration DB - from where they can be applied to hardware at any time. Panels and framework functions to create and operate on recipes are provided. documentation under: online/ecs/FwHw/default.html

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 – in a nutshell: datapoint representations of Tell1 types (including detector specific parts) standard recipes of all recipe types (including detector specific part) To be imported from hardware: myTell1_type panels for device units (stopped counting ) – adopting automatically to Tell1 type control unit with user interface finite state machines

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 – in a nutshell: use fwHw tool to instantiate your Tell1 boards (instantiate datapoints) use DEN (device editor/navigator) to associate device unit with datapoint create your FSM tree screenshot of Device Editor/Navigator

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 control unit: pof – file: stores the firmware of FPGAs cfg – file: server can access EPFL C-code to configure the boards each board has its own ccpc

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 control unit: Commonly modified configurations can be sent to enabled boards Send down commands to enabled boards. (configure uses recipes e.g. PHYSICS\Configure

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: A tab register is provided that allows you to access the common part of each Tell1 board. A tab for specific part is foreseen. The panel configures automatically according to board type. Some checks are performed. Watch the info buttons and tooltips for documentation. And many registers to be monitored … (a few hundred)

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: in fact a lot of panels … We provide tool-tips and info buttons for help! And perhaps a dedicated tutorial on device unit panels.

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: This is where you can put your own panels!

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: We are not providing the monitoring of each sub-detector specific parameters. (but a few…)

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: We allow for spying on the data of the MEP buffer. The structure of the MEP buffer differs – we do not provide parsers for each sub-detector.

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: Some examples for parsing the MEP buffer…

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Tell1 device unit: We divide between 3 sub-recipes. Each sub-recipe has its own panel. You can export/import recipes or simply read them directly from hardware.

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 : Define your specific recipe type. Create the appropriate panels. specific recipes:

Stefan KoestnerTutorial – User GuideSeptember 2007 fwTell1 – conclusion: for commissioning you can just use the common part BUT: start developing the specific part NOW! NOTE: the specific part is related to your firmware. Get in touch with EPFL Lausanne before you start! You might profit from already existing things. doxygen documentation and tutorial under: online/ecs/PVSS_TELL1/default.html

Stefan KoestnerTutorial – User GuideSeptember 2007 Ctrl managers – in a nutshell: fwCcpcScript.ctl: connects to running servers, automatic register subscription (crash/restart) fwTell1FSM.ctl: needed to stop monitoring of registers when switching panels in DUs fwTell1DisableArchives: disables the archive bit of registers gain speed for configuration fwFSMServer

Stefan KoestnerTutorial – User GuideSeptember 2007 Configuration of many boards: trials and errors benchmarking results

Stefan KoestnerTutorial – User GuideSeptember 2007 Configuration of many boards: A first impression of scaling: a snapshot from the talk of June 2007: 50 boards ~ 6 minutes

Stefan KoestnerTutorial – User GuideSeptember 2007 first steps … black: old - no changes applied yellow/yellow: disabling archiving (but 35% CPU load from panels) l pink: disabling archiving & 1 ctrl manager per DU (still 35% CPU load from panels) green: disabling archiving (no CPU load from panels) red: disabling archiving & 1 ctrl manager per DU (no CPU load from panels) blue: reference when applying just specific part of recipes (disabled & 1 ctrl/DU) 50 boards ~ 3.5 minutes disabling archiving significant additional ctrl managers in FSM significant under high load panels consuming much CPU?

Stefan KoestnerTutorial – User GuideSeptember 2007 same as before – two (lower) lines added … black: checks on serverside - comparison of applied values with hardware values read back cyan: common part of recipes (16 registers of 32 bit) 50 boards ~ 2.5 minutes changes on server significant but still too small complete recipe of type ST: 236 registers ~80 kB grouping and packing together memory blocks would help, but not so easy to implement in FPGAs

Stefan KoestnerTutorial – User GuideSeptember 2007 so where does the time go … most of the time consumed by DIM, Event and Data manager in current design each register is sending a DIM command

Stefan KoestnerTutorial – User GuideSeptember 2007 parallelizing helps … … but not yet enough!

Stefan KoestnerTutorial – User GuideSeptember 2007 new approach – without changing the hardware representation … getApplyRecipes() for fast Tell1 configuration: retrieve recipes from configuration DB pack them together in one buffer send them as one buffer/DIM command decode it on server

Stefan KoestnerTutorial – User GuideSeptember 2007 \0& …… C&C& … The buffer - array of unsigned char: # registers register-names size of registers data checks buffer corruption … command character

Stefan KoestnerTutorial – User GuideSeptember 2007 \0& … &C& on the server side: parsing through buffer get number of registers get strings, compare them with list fill array of pointers to list of registers (all hardware info stored) note: subscription is necessary! check for corruption fill array of register sizes check for corruption execute commands with appropriate data final check

Stefan KoestnerTutorial – User GuideSeptember 2007 the results for getApplyRecipes(): red: one DIM command per register (old design) – but improved framework blue: sending one single buffer containing all registers (new design) grey: applying.cfg file 1.5 sec/board 1 sec/board no slope 50 boards < 1 minute most time gets lost when retrieving the recipes from DB storing the whole buffer? I am optimistic that we could come closer to the.cfg file!

Stefan KoestnerTutorial – User GuideSeptember 2007 how to create recipes without typing several thousand parameters: get image from current board settings reads registers from hardware and saves them as a recipe (you can upload the.cfg file before) import recipe from other hardware takes the recipe previously defined for another hardware. (you can use myTell1_type as default recipe)

Stefan KoestnerTutorial – User GuideSeptember 2007 Conlcusion: creating recipes is not a big deal (tools are available) downloading recipes to hardware is already fast & sufficient we still support the interface to the.cfg files (original C-code) Note: some parameters are provided by Gaudi jobs. interface under development

Stefan KoestnerTutorial – User GuideSeptember 2007 Finite State Machines: towards a fully automatized expert system …

Stefan KoestnerTutorial – User GuideSeptember 2007 Tell1 boards belong to the DAQ domain. Predefined transitions and states: FSM – in a nutshell: Recipes are applied under Configure – transition from NOT_READY to READY. Checks are done to verify the status of the board. If they fail status moves to ERROR. If connection to ccpc is lost, it moves to UNKNOWN.

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – in a nutshell: functions to be called by FSM are provided in fwTell1.ctl if needed you can provide a specific function to be called by the FSM (e.g. for calibration) fwTell1_Muon_Cmnd(string domain, string device, string command, string parameter) Please read Integration Guidelines: and FSM Guidelines:

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – from a higher point of view: OTA DCS OTA HV OTA DAI OTA DAQ INFDCSHVDAIDAQL0TFCHLTLHC OTA LV OTA TEMP OTA FEE OTA TELL1 OTA CRATES OTA COOLING OTAOTC OT Templates available: Please use them as they are Contact Clara for integration issues! Storage ECS

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – Run Control: Run Control is like a Matrix, can exclude/include: –by SubDetector part –Or by Domain Standalone run, need to allocate: TFC HLT Storage Monitoring Allocate uses the Partition Settings TFC, HLT, Storage, etc. will be ready soon.

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – Run Sequences: 1 - Configure/RUN_TYPE=CALIB_TIMMING 1 - Configure/RUN_TYPE=CALIB_TIMMING/N_STEPS= READY 3 – Start 4 – RUNNING 5 - Start/N_TRIGGERS= RUNNING 7 - TFC Paused (after N_TRIGGERS) 8 - Step/RUN_TYPE =CALIB_TIMMING/STEP_NR=1 9 - RUNNING 10 - Continue/N_TRIGGERS=10000 OTAOTA_DAQ TFC N Steps OTA DAQ OTA TFC OTA FEE OTA TELL1 OTA OTA Dev1 OTA DevN OTA Dev1 OTA Tell1N

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – Run Sequences: The Activity can be saved, contains: –Nr Triggers –Nr Steps –Nr Sub-Farms, etc. It corresponds to the RUN_TYPE that gets propagated down and used to form a recipe name by all devices.

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – Run Sequences: Configure Command –As usual propagates down so that each device can apply a recipe (or more) based on: –RUN_TYPE (and N_STEPS) Step Command –Again propagates down, should be accepted in state RUNNING (and return RUNNING) Each device should change only the necessary values based on: –RUN_TYPE and STEP_NR

Stefan KoestnerTutorial – User GuideSeptember 2007 FSM – Conventions: Recipe Names: –Guideline: /, ex.: »PHYSICS/Configure, PHYSICS/Start »CALIBRATION/Configure, etc. Necessary because a Configurator Object will preload recipes from DB to cache

Stefan KoestnerTutorial – User GuideSeptember 2007 started with a generic/altruistic server more and more intelligence moved to server side few comments on design:

Stefan KoestnerTutorial – User GuideSeptember 2007 clear separation between hardware and control issues – a smarter server: server keeps track of all the information about the register (e.g. type, address,…) and stores it in a list server treats each register in the appropriate manner (e.g. Fifo vs. standard blockwrite or different I2C derivates) Once the register is defined the control system (PVSS) knows nothing about the hidden details and just writes to or reads from a register less and more readable code & better performance (interpreted language) server-side PVSS-side Intelligence related to hardwareIntelligence related to ECS

Stefan KoestnerTutorial – User GuideSeptember 2007 how to keep the design open: a commonOperation part of the Ccpc DP allows to send a string to the server. Anything can be done. Identifier and parameters are separated by comas. a user specific register type which offers many parameters to be filled in inside the fwHw tool. Any type of register can be modeled. the new recipe block executed via configurationOperation on the Ccpc DP is in fact a set of instructions, which in addition can be stored in the Configuration DB. \0& … &C& commands

Stefan KoestnerTutorial – User GuideSeptember 2007 What is left for the sub-detectors? in fact not much … Specific part has to be inserted into datapoint type The panels related to the specific part: - MEP buffer spy - Monitoring of specific registers/values - Recipe related things specific functions to be called by FSM (e.g. for calibration) preferably packed as a library (obey to naming conventions) Scripts inside device units might have to be extended … but still a bit!