150 likes | 418 Views
LabVIEW for Large Detector Systems. Is LabVIEW a Suitable Basis for Large Detector Control Systems? LabVIEW Hardware Platforms LabVIEW Tools & Libraries LabVIEW Connectivity CS Framework Status and Near Future Long-term Future. It‘s a graphical programming language
E N D
LabVIEW for Large Detector Systems Is LabVIEW a Suitable Basis for Large Detector Control Systems? LabVIEW Hardware Platforms LabVIEW Tools & Libraries LabVIEW Connectivity CS Framework Status and Near Future Long-term Future Holger Brand, PANDA DCS Meeting
It‘s a graphical programming language Virtual Instrument (VI, subVI) Front Panel and Block Diagram Front Panel controls and indicators correspond to Block Diagram data sources and sinks Dataflow paradigm: Dataflow: Data flow from source to sinks=> No defined lifetime! Wire fork: Data is copied to be used for parallel threads => intrinsically thread safe Classical variables do not exist! The VI is the code! It becomes compiled directly. What is LabVIEW? Holger Brand, PANDA DCS Meeting
LabVIEW on PC & Workstation Windows, Linux, Mac OS LabVIEW Realtime on PACs Programmable Automation Controllers PXI, CompactFieldPoint, CompactRIO, CompactVision, Industrial PC LabVIEW FPGA PCI/PXI-RIO, CompactRIO, CompactVision LabVIEW PDA PDA, SmartPhones, TouchPanel LabVIEW Embedded Blackfin (ADI), DSP (TI), arbitrary 32bit OS Lots of NI IO Hardware LabVIEW Hardware Platforms Holger Brand, PANDA DCS Meeting
LabVIEW Professional Development Sytem Application Builder, Metrix, SCC LabVIEW Modules Data Logging and Supervisory Control DSP, FPGA, PDA, Realtime, Vision Embedded LabVIEW Addons Digital Filter Design Toolkit, Execution Trace Toolkit, Express VI Development Toolkit, NI VI Analyzer Toolkit, State Diagram Toolkit, NI LabVIEW Simulation Interface Toolkit, Control Design Toolkit, System Identification Toolkit, Simulation Module, Netzwerk-Panels, LabVIEW Report Generation Toolkit, Math Interface Toolkit, NI LabVIEW Internet Developers Toolkit, LabVIEW PID/Fuzzy Control Toolset, NI LabVIEW Signal Processing Toolkit für Windows, LabVIEW-Tools zur Motorensteuerung, Sound and Vibration Toolkit, NI Industrial Automation OPC Server, LabVIEW Database Connectivity Toolkit, Sound and Vibration Measurement Suite LabVIEW Modules & Addons Holger Brand, PANDA DCS Meeting
Fieldbus RS232/485, GPIB, USB, Firewire IEEE 1394, CAN, DeviceNet, Profibus, Ethernet (TCP, UDP, IEEE 1588), I²C, SPI, IrDA, BlueTooth High Level Protocolls Modbus (TCP/Serial), CANopen, DeviceNet, Profibus/DP IEEE 1588, EtherCAT? Software OPC (client and server), DIM, ChannelAccess (client) LabVIEW instrument driver, IVI, DLL, ActiveX, .Net, SMTP Mail, ODBC Database, Telnet, FTP, XML DOM, CGI, DataSocket, Shared Variable (Publisher-Subscriber Protocol) MBS Data, ESONE, UfsAcc LabVIEW Connectivity Holger Brand, PANDA DCS Meeting
Standardization of components Flexibility: Plugging components together via events Main emphasis: device control, not process control GUI Cycle Control HV Timing+DAQ AFG Definition of the CS framework "Three-layer architecture" Back-end (SCADA, GUI, ...) Ansatz: Application layer (sequencer, ...) Front-end (devices, drivers, ...) Holger Brand, PANDA DCS Meeting
One development tool LabVIEW easy to learn, from SCADA to FPGA Standardization object oriented approach Distribution to many nodes DIM (www.cern.ch/dim) Event driven communication for everything Scaling to large systems by distribution Remote access … Encapsulated SCADA functionality (alarming, trending, …) LabVIEW DSC module Alternatives: e.g. EPICS, PVSS II Cooking recipe for CS framework Holger Brand, PANDA DCS Meeting
"BaseClass" provides basic functionality (communication layer, active threads, ...) "DeviceClass" adds functionality according to specs of device "DS345". Instantiation: one object per device Object Orientation (OO) with CS "BaseClass" inheritance "Device Class" AFG3 AFG1 AFG2 • of course: classes for GUIs, Sequencer, State machines, ... • OO implemented by CS using pure LabVIEW (no LVOOP) Holger Brand, PANDA DCS Meeting
an entity waits for the next event, no polling! timeout handling is an important issue Event basics command pattern: "many-to-one" observer pattern: "one-to-many" client client client publisher data command subscriber subscriber subscriber receiver example: radio, television added in CS 3.0 example: typical human communication sole possibility for CS < 3.0 Holger Brand, PANDA DCS Meeting
Distributed Information Management: www.cern.ch/dim originally developed at DELPHI@LEP/CERN around 1991 available for a multitude of platforms and languages light-weight, aiming at high performance, based on TCP/IP today: "backbone" of control systems for LHC experiments concept: named services, peer-to-peer connections Communication Layer: DIM DIM name server (negotiates connections) DIM client 1 command "iii" DIM server A service "i" DIM server B DIM client 2 service "ii" Holger Brand, PANDA DCS Meeting
Domain Management System: Process Management in a Distributed Environment Holger Brand, PANDA DCS Meeting
User PC n On-line Analysis GUI Control GUI Central PC DSC Interface DSC Engine DataCollector Sequencer DiscArchiver Data Acquisition Timing AFG High Voltage DataAcq. Instr. Driver Timing Instr. Driver AFG Instr. Driver HV Instr. Driver Front-end PC 1 Front-end PC n SR430 PPG100 DS345 IHQF015p Event Hardware Software (Proc) Software (Lib) Exp. Specific General Part Buy! OPC Example for a simple control system Holger Brand, PANDA DCS Meeting
DIM (www.cern.ch/dim) as communication layer Real publisher-subscriber mechanism CSAccessSystem: reservation mechanism for (groups of) objects DomainManagementSystem: distributed process management (Windows, Linux) Source code control via Subversion Packaging http://wiki.gsi.de/cgi-bin/view/CSframework/WebHome : Documentation, ... https://sourceforge.net/projects/cs-framework/ : Downloads, ... Performance: 1,000,000 PVs demonstrated, an even larger number should be feasible 5,000 objects (~ hardware devices) demonstrated, more should be feasible Stability of a distributed CS system is better than a few hundred hours, requiring binaries, dlls, etc. are NOT on a network drive (MS-Windows) a node is rebooted and local processes are restarted after installation of software updates (MS-Windows) Usage: About 12 experiments at GSI, CERN, MSU, Mainz, Greifswald GPL licensed Status of CS Holger Brand, PANDA DCS Meeting
New experiment: HITRAP Selected by first experiment (MATS) at FAIR Long-term support for CS is assured No big changes planned or requested at the moment Standards for common experiment equipment -> BaseClasses No CS++ (analog C C++, maybe possible with LVOOP) December 17-19, 2007: LVOOP Hands-On Course @ GSI Introduction LabVIEW Design Patterns CS– (CSMM), Codename CSOOMM ("Zoom") February 2008 4.-6. CS Framework Hands-On Course 7.-8. CS Framework Workshop ... Outlook – Long-term future Holger Brand, PANDA DCS Meeting
Yes! LabVIEW is a Suitable Basis for Large Detector Control Systems. It covers the whole range of controls applicationswithin one single development environment. LabVIEW is a programming language Intrinsically multi-threaded and thread safe Event and synchronization methods available Scalable distributed network application via DIM easily possible Extended signal processing and controls libraries available ODBC database connectivity Object oriented (LV classes and/or CS-Framework) Embedded support Realtime, FPGA, DSP, PDA (for NI products) Arbitrary 32bit OS (to be customized for selected FEE) SCADA OPC client and server Distributed historical database and alarming Conclusion Holger Brand, PANDA DCS Meeting