Using PVSS for the control of the LHCb TELL1 detector emulator (OPG) P. Petrova, M. Laverne, M. Muecke, G. Haefeli, J. Christiansen CERN European Organization for Nuclear Resarch
TELL1 - OPG Control2 Outline Data Acquisition for LHCb –System overview –TELL1 –OPG SCADA&PVSS –Use of SCADA tools in control applications –What is PVSS? GUI-control for OPG –Configuration panel set –DIM –Why GUI? –PVSS challenges –Design problems Summary and conclusions
TELL1 - OPG Control3 Data Acquisition for LHCb DAQ system overview
TELL1 - OPG Control4 TELL1 board overview TELL1 is an FPGA based readout board, part of the off-detector acquisition electronics used in the LHCb experiment TELL1 board
TELL1 - OPG Control5 TELL1 - functions TELL1 is a receiver card for the analogue or optical data from the detector front-end electronics It provides basic signal processing and filtering of the subdetector signals TELL1 is designed to accept input “mezzanine” cards for both copper and optical link configurations, requested by the different subsystems. It performs Level 1 (L1) buffering and interfacing to the Level 1/High Level Trigger (L1/HLT) Connects to the HLT via Gigabit Ethernet network TELL1 is controlled by ECS (Experiment Control System) via a “Credit– Card PC” (CCPC) Via a “GlueCard” PCI bridge the CCPC connects to 3 different buses On-board are used 3 types of buses: Parallel Local Bus, JTAG and I 2 C The TELL1 board is planned to perform intensive processing of the input dataflow from the seven different LHCb detectors
TELL1 - OPG Control6 OPG OPG – Optical Pattern Generator It emulates the subdetector output signals of the six subdetectors using optical links with their specific format OPG boards exist for use with optical links only Emulated signal parameters –pattern files – configuration database - shorter configuration time, unification of the test patterns and possible reuse of the same parameterization OPG has the same control as TELL1 via CCPC and GlueCards
TELL1 - OPG Control7 SCADA for control SCADA (Supervisory Control and Data Acquisition) systems used in industrial and engineering applications for monitoring and control of distributed systems from a master location focus on supervising purely software package that is positioned on top of hardware to which it interfaces. used in industry and experimental physics laboratories rely on various functionality, scalability, performance and openness alternative to “in-house” developed packages, even for very demanding and complex control systems as those of physics experiments
TELL1 - OPG Control8 What is PVSS? PVSS II is one of the existing industrial SCADA applications, produced by the Austrian company ETM. PVSS can connect to hardware (or software) devices, acquire the data they produce and use it for their supervision It can monitor devices’ behaviour and initialize, configure and operate them PVSS can run in a distributed manner – as one single system – as various interconnected systems It has multi-platform support (Linux and Windows).
TELL1 - OPG Control9 PVSS features It has mechanisms for: –alarm handling –access control –archiving –trending Provides various interfaces and drivers (OPC, ProfiBus, CanBus, Modbus TCP/IP and Applicom) to external hardware and software Some additional interfaces (like DIM extended for CCPC/SPECS) - developed at CERN JCOP Framework for PVSS PVSS provides development environment with Human Machine Interface (HMI) and scripting/API (Application Programming Interface) capabilities
TELL1 - OPG Control10 PVSS DataPoints A key SCADA/PVSS concept is the data point (DP) In PVSS every object is modeled using data point types Data point type is collection of data point elements. It’s analogous to an object oriented class with attributes, that provides inheritance. What is the DataPoint? - Data points are particular instances of a data point type Device/signals correspondence
TELL1 - OPG Control11 Example DataPoint Example of a DP Structure as device representation
TELL1 - OPG Control12 GUI Control GUI (Graphical User Interfface) The best way of presenting control information to the user It gives the easiest and fastest way of communication with the hardware The graphical environment masks all hardware processes and the user interacts with the system via simple commands Important feature of the GUI implementation - it “hides” the real system that stands behind it No detailed knowledge of the hardware on the user side required for the communication Via GUI-based control all devices in the network can be displayed at the same time, as well as their features
TELL1 - OPG Control13 OPG Control panels OPG control constists of a set of five panels created in the PVSS environment They are used for configuration and control of the board They show dynamically updated graphics, representing the feedback of the entered dataflow configuration Two of the panels are for OPG parameterization and visualization of the entered values (Fragment Definition, Package Visualization) Fragment definition panel
TELL1 - OPG Control14 OPG Control panels The graphics display is constantly updated when a change in the monitored parameters is detected This change might be due to user new entries or to hardware feedback Most of the monitored parameters are part of the board configuration Header visualization
TELL1 - OPG Control15 OPG Control panels Additional panel exists, in which is displayed the signal pattern file, currently used by the OPG board The signal pattern file could be modified through it The changes in this panel update the other visual information displays Configuration visualization
TELL1 - OPG Control16 OPG Control panels The “OPG Control” panel uses DIM server (DIM DNS node) connection for getting the available in the network OPG and TELL1 board names The user can identify the type of any of the boards, if it’s OPG or TELL1 The mechanism of the routine is based on a JTAG chain scan of the selected board The panel provides additional functionalities to be executed for the selected devices: – downloading/uploading of the FPGAs configuration information – monitoring of several dataflow parameters OPG Control panel
TELL1 - OPG Control17 DIM DIM is a communication mechanism running on several platforms PVSS-DIM toolkit is an add-on software, which allows the interface of PVSS to devices which do not provide any of the PVSS supported protocols The basic concept in the DIM approach is the concept of "service“ Usually all CCPCs (mounted on TELL1 or OPG), register as services to one of the provided DIM servers. Thus the information about their status and functionalities becomes available to the possible clients, interested in them
TELL1 - OPG Control18 Why GUI? Advantages: – simplifies the user-to-hardware communication – allows simultaneous monitoring of several devices or interconnected systems – makes possible distant system maintenance – possible comparison and cross-references – possibility for representing even complex architectures in an intuitive and “obvious” way – speeds up and makes easier the process of setting up the necessary input values – gives simultaneous feedback with the system response to new settings – reduces the time for getting used to the new hardware – increases usability
TELL1 - OPG Control19 PVSS challenges and design problems PVSS has some restrictions that make the realization of the GUI difficult and not very nice looking ActiveX functions –Microsoft technology vs. Linux –Unwanted slow-down due to real time graphics rendering Control scripts –PVSS custom programming language CTRL –Script functions’ imperfections –Limited function set –Limited variable types and use –DP oriented programming algorithms Some additional constraints arise from the DAQ electronics requirements and CERN software compatibility policy
TELL1 - OPG Control20 Conclusions The presented GUI for OPG boards control has shown to be a good approach for implementing the needed supervisory tools Although in the process of realization in the PVSS environment the initial idea went through several major transformations, due to many toolkit constraints – mainly on the visual part, the result is satisfying and meets the predefined goals. Most of the graphics have been elaborated with custom made scripts. Although this is slowing down the development process, it makes the GUI executable under both Windows and Linux environment. This is essential requirement for all CERN control systems.