510 likes | 726 Views
PVSS for VELO and TELL1 at EPFL. outlines. Introduction to PVSS Introduction to SMI++ and FSM (ECS control) VELO – Hybrid’s Low Voltage TELL1 DIM, fwCcpc, fwHw Present Developments Outlooks. (eng: Process visualization and control system). PVSS – CERN.
E N D
PVSS for VELO and TELL1 at EPFL Cédric Potterat - LPHE Monday Meeting
outlines • Introduction to PVSS • Introduction to SMI++ and FSM (ECS control) • VELO – Hybrid’s Low Voltage • TELL1 • DIM, fwCcpc, fwHw • Present Developments • Outlooks Cédric Potterat - LPHE Monday Meeting
(eng: Process visualization and control system) PVSS – CERN • Historically at CERN the control of equipment not used directly for data acquisition has been called "slow control" • In many applications it has become possible to use commercial off-the-shelf (COTS) solutions, with the advantage that the physics community does not need to develop or maintain them. • PVSS (Prozeßvisualisierungs- und Steuerungssystem), from the Austrian company ETM, was selected after a formal tender process in 1999 for use in the slow control systems of the four LHC experiments. • CERN provides: • A global PVSS Framework • LHCb provides: • Specific PVSS components Volume 45, number 5, June 2005 Cédric Potterat - LPHE Monday Meeting
PVSS Features – Structure • Open Architecture • We can write our own managers • It can be interfaced to anything (FSM, DIM) Cédric Potterat - LPHE Monday Meeting
PVSS Features – Distributivity • Highly Distributed • 130 Systems (PCs) tested • No major problem found Cédric Potterat - LPHE Monday Meeting
PVSS Features - Datapoint Concept • DP type DP • Standard Interface • All data of all sub-systems defined as Configs Cédric Potterat - LPHE Monday Meeting
Building User Interfaces • Static Part Drag & Drop • Dynamic part Control Scripts ("C" like) • few useful calls for accessing DPs: • dpGet (string dpName, <data_type> value) • dpSet (string dpName, <data_type> value) • dpConnect (string call-back, string dpName) • few useful calls for accessing Widgets: • getValue (string widgetName, string widgetProperty, <widget dependent data>) • setValue (string widgetName, string widgetProperty, <widget dependent data>) Cédric Potterat - LPHE Monday Meeting
Central Hierarchy - ECS ECS T.S. LHC DAQ DSS DCS ... ... Abstract levels GAS DetDcs1 DetDcsN DetDaq1 Status & Alarms Commands SubSys1 SubSys2 SubSysN Dev1 Dev2 Dev3 DevN To Devices (HW or SW) Cédric Potterat - LPHE Monday Meeting
ECS Central Hierarchy - ECS INF DCS HV DAI DAQ TFC HLT LHC L0 VELO VELOA VELOC VELOADCS VELOAHV VELOADAI VELOADAQ VELOCDCS VELOCHV VELOCDAI VELOCDAQ VELOAFEE VELOATELL1 VELOALV VELOATEMP VELOCFEE VELOCTELL1 VELOCLV VELOCTEMP Cédric Potterat - LPHE Monday Meeting
FSM – SMI++ • PVSS II does not have tools specifically for: • Abstract behavior modeling • Finite State Machines (FSM) • Automation & Error Recovery • Expert System • But… • FSM (SMI++) does • State Management Interface (SMI++ which was developed for the DELPHI experiment) is used to control the FSM Cédric Potterat - LPHE Monday Meeting
FSM – SMI++ • Device Level: Proxies • C, C++, PVSS ctrl scripts • drive the hardware: • deduce State • handle Commands • Abstract Levels: Domains • Internal objects • Dedicated language • Implement the logical model • User Interfaces • For User Interaction Cédric Potterat - LPHE Monday Meeting
FSM – SMI++ • SMI++ - The Language • SML – State Management Language • Finite State Logic • Objects are described as FSMstheir main attribute is a STATE • Parallelism • Actions can be sent in parallel to several objects. Tests on the state of objects can block if the objects are still “transiting” • Asynchronous • Actions can be triggered by logical conditions on the state of other objects Cédric Potterat - LPHE Monday Meeting
FSM – PVSS basic Panel ECS DAQ DCS LHC ... ... ... Cédric Potterat - LPHE Monday Meeting
LV – VELO Project • Aim: • Control the Low Voltage Power Supplies for the Hybrids • Each Hybrid gets 3 LV Channels (-5.5V, 5.5V and 6V) • LV Devices – CAEN: • Crate: SY2527 with a BranchController (A1676A) • esayCarte: ESAY3000 with five A3009 Boards (12 channels) plugged in Cédric Potterat - LPHE Monday Meeting
Main Panel: Control the state, the voltage of all the hybrids Hybrid Panel: Control the state, the voltage of its three channels Channel Panel: Control the state, the voltage Velo_C Velo_A Hyb 1 Hyb 2 Hyb N Channel 1 Channel 2 Channel 3 LV – VELO Project FSM Hierarchy Cédric Potterat - LPHE Monday Meeting
ERROR Recover An error RAMPING_UP Switch_ON OFF READY Switch_OFF RAMPING_DOWN LV – FSM FSM State: very basic • Channel Cédric Potterat - LPHE Monday Meeting
LV – VELO Project • This PVSS project: • developed with a simulator • successfully tested with real hardware • waiting for new information about the power supplies that will be used Cédric Potterat - LPHE Monday Meeting
TELL1 – PVSS Project • We are attending to a crucial point in Switzerland History and Symbol Before LHCb Since LHCb Cédric Potterat - LPHE Monday Meeting
TELL1 – PVSS – Outlines • We focus on the description (DPT, Panels) of a VeLo Tell1. (VeLo TELL1 is now completely described (registers, settings, addresses)) • The access to the configuration database and recipe definition interface is finished • We put hands on the FSM (Rules, Panels) Cédric Potterat - LPHE Monday Meeting
Optical Receiver Power ECS Interface PP-FPGAs TTC IF Optical Receiver Sync Link- FPGA GBE TELL1 – PVSS Project Cédric Potterat - LPHE Monday Meeting
TELL1 – PVSS Tools • DIM • fwDim (C. Gaspar) • http://dim.web.cern.ch/dim/ • ccserv (S. Koestner) • fwCcpc (S. Koestner - R. Fernandes) • http://lhcb-online.web.cern.ch/lhcb-online/ecs/PVSS_CCPC/default.html • fwHw (R. Fernandes) • http://lhcb-online.web.cern.ch/lhcb-online/ecs/FWHW/default.html Cédric Potterat - LPHE Monday Meeting
DIM Distributed Information Management System • Publish/Subscribe mechanism • Servers publish Services. • Clients subscribe to Services: • On change or at regular intervals • Clients can send commands to Servers • Services • A set of data • any type or size • Identified by a name • A Name Server • Keeps a list of available Services Cédric Potterat - LPHE Monday Meeting
DIM Some Characteristics • Transparency • DIM clients do not know where their interlocutors are. • DIM components can move from one machine to another, all connections are transparently re-established. • Available on mixed environments: • UNIX (HP-UX, Sun-OS, Sun-Solaris, IBM-AIX, DEC-OSF, Linux), Windows, VMS, Real-time OSs (OS9, LynxOS, VxWorks) • API available in “C”, C++ and Java • Easy to Use • One “call” and a process can become a server or a client. • Monitoring and Visualization Tools Available. • Documentation and examples at: http://www.cern.ch/dim Cédric Potterat - LPHE Monday Meeting
PVSSDIM • FwDIM component: • Server is a DIM Server • Client is a PVSS Manager (PVSS00dim) • Correspondence: PVSS DPs DIM Services • Can be setup graphically via fwDIM panel • Or via a script library • When setup • When Server updates Service data goes into DP • Writing to DP will send a DIM Command • Documentation at: • http://www.cern.ch/lhcb-online/ecs/fw/FwDim.html Cédric Potterat - LPHE Monday Meeting
CCPC – PVSS Interface: the server (S.Koestner) Server is built on various software layers with the aim to hide as much as possible hardware complexity.(e.g. no need for users to read the docs of Tell1 components) - Ccpc server:A generic DIM server (ccserv)running in a credit-card PC, which allows access to all features of the CCPC/glue card including access to any chips over I2C, JTAG and parallel bus. Server runs on embedded PC (i486 compatible,133 MHz).Access to 3 bus-types via Plx/PCI bridge to gluecard: - parallel bus (8/16/32 bits) - I2C bus (4 distinct lines) - JTAG (3 chains) Cédric Potterat - LPHE Monday Meeting
fwCcpc provides: Dim client (PVSS00dim) control panels which can access every CCPC connected to the same Name Server (DIM_DNS_NODE) Functions for reading, writing the registers of each type (I2C, LBUS,…) CCPC – PVSS Interface: the Client Cédric Potterat - LPHE Monday Meeting
fwHw (R. Ferrandes) All the TELL1 components are described as a type And TELL1 is build up with all these components Cédric Potterat - LPHE Monday Meeting
TELL1address TELL1 components structure To subscribe all the registers of the selected component to the server Registers Register’s settings fwHw Cédric Potterat - LPHE Monday Meeting
fwHw • Scripts can be executed • All the TELL1 board is now described in PVSS as a DPT, and complete TELL1’s can be created as DP (correct name, addresses…) according to the “ECS Interface Library User Guide” (H. Gong, A. Gong, H. Lei and G. Haefeli) (S. Koestner & C. Potterat) Cédric Potterat - LPHE Monday Meeting
Client lphe1pc7 (windows) Server (ccserv) lphe1tell7 TCP/IP >% dns & lphe1pc60 (linux) Name Server (DIM_DNS_NODE = lphe1pc60) TELL1 – Setup ~ 1000 (writings/readings) ~ 500 (commands) Cédric Potterat - LPHE Monday Meeting
TELL1 – PVSS • Goals: • Create FSM to control all the TELL1’s (Rules, Panels) (S.Koestner) • Create Panels which can replace the “console_tell1 ”, which will be called from the FSM panels (C.Potterat) Cédric Potterat - LPHE Monday Meeting
FSM - State Diagram DAQ Domains: Recover ERROR NOT_READY UNKNOWN Configure Reset READY Start Stop RUNNING The possible states of the Tell1: From NOT_READY to READY the configuration of the Tell1 is done a compilation of applying recipes, pulling trigger lines and hardcoded sequences on the server side, which is the main job. The transition from Ready to Running is less massive (e.g. enabling triggers). UNKNOWN appears if ECS control is lost (e.g. server crashes) Cédric Potterat - LPHE Monday Meeting
TELL1 – FSM 1st and basic FSM Panel to be used for the 1st test (in development) Cédric Potterat - LPHE Monday Meeting
The Actual Rates console_tell1 Cédric Potterat - LPHE Monday Meeting
console_tell1 The Event Monitor Counters Cédric Potterat - LPHE Monday Meeting
console_tell1 The Pedestals Cédric Potterat - LPHE Monday Meeting
console_tell1 The Linear Common Mode Suppression's (LCMS) Average and Slope Cédric Potterat - LPHE Monday Meeting
console_tell1 The last 128 MEP in the MEP buffer, and all the information attached to. Cédric Potterat - LPHE Monday Meeting
console_tell1 Global information about the TELL1, the server (ccserv) and PVSS components Cédric Potterat - LPHE Monday Meeting
Outlook • Continue to create panels to control or monitor the TELL1’s registers • PP and SyncLink FPGA (C.Potterat) • GBE, TTCRx and FEM (S.Koestner) • Update the DP according to the latest ECS doc (C.Potterat) • Provide a fwTELL1 component including the FSM, the ccpc client and all the current panels • http://lhcb-online.web.cern.ch/lhcb-online/ecs/PVSS_TELL1/default.html (all the current versions and tutorials about fwCcpc, fwHw and TELL1’s FSM are available on this web page) Cédric Potterat - LPHE Monday Meeting
Back up Cédric Potterat - LPHE Monday Meeting
CCPC Client : how it works Cédric Potterat - LPHE Monday Meeting
PVSS Client (LBUS): Choose ccpc from the list of running servers Choose type (width) of local bus 32,16,8 bits Determines number of words (e.g. 4 bytes for 32 bit bus) to be read or written. ‘Data in’ (to be written) must have the exact size. Masked write operation can be defined (e.g. reset registers on fpga). leave empty if not required Indicates success of operation Cédric Potterat - LPHE Monday Meeting
PVSS Client (GBE): Gigabit Ethernet card accessed over a 16 bit bus. MAC registers however 32 bits. Interface to be used as if it were a 32 bit bus. (1 word = 4 bytes) The addresses to be given in the address field correspond to the addresses given in the Intel MAC data sheet (same functionalities as LBUS) Cédric Potterat - LPHE Monday Meeting
PVSS Client (I2C): Some hardware can just be written in pages (e.g. EEPROMs on Tell1 with a pagesize of 16 bytes) This will be respected on the server side. Leave empty if no pagesize is required. Combined: Subaddress and data is written in one go (usual). Separated: Subaddress is written first to pointer register. (it is the one you have to provide in the address field) Shift register: One byte has to be specified. This is shifted then by the server. (periodic pattern) Cédric Potterat - LPHE Monday Meeting
PVSS Client (JTAG): Select JTAG chain Number of bits to be shifted Data is shifted with the least significant bits first. Missing MSBs are replaced by zeros. Data must be a multiple of 2 to represent byte stream. Indicates the state of the state machine. Cédric Potterat - LPHE Monday Meeting
PVSS Client (GPIO): Interface to the 9 GPIO lines should be used just by experts only! (click and try could harm hardware) Declaring and enabling GPIO lines Apply value to GPIO lines (high, low) Get current status of GPIO lines Cédric Potterat - LPHE Monday Meeting
PVSS Client (Command): Emulates a shell on the Ccpc: Commandline tools of the ccpc can be launched to crosscheck the results obtained from the server. Everlasting commands like ‘ping’ are timed out after 10 seconds. Does not follow change of directories. Cédric Potterat - LPHE Monday Meeting
PVSS Client (Advanced): CONTROL scripts using the PVSS or framework libraries can be edited and executed directly. Cédric Potterat - LPHE Monday Meeting