Presentation is loading. Please wait.

Presentation is loading. Please wait.

The CMS Pixel PLC Code1 Christian Veelken UC Davis last updated 03/05/08.

Similar presentations


Presentation on theme: "The CMS Pixel PLC Code1 Christian Veelken UC Davis last updated 03/05/08."— Presentation transcript:

1 The CMS Pixel PLC Code1 Christian Veelken UC Davis last updated 03/05/08

2 The CMS Pixel PLC Code2 Mission The purpose of the Pixel PLC Code is to ensure a safe Operation of the CMS Forward and Barrel Pixel Detectors in all Circumstances. To be a bit more specific, the two main Tasks of the Code are: continuously monitor the Temperature and Humidity values measured by Pt1000 RTD and HMX Sensors mounted within the Volume of the Pixel Detector react to Conditions that represent a Danger for the Safety of the Pixel Detector by switching-off (“Interlocking”) the CAEN Power Supplies

3 The CMS Pixel PLC Code3 Heart of the CMS Tracking System 3 Barrel Layers (BPix)  r=4.3, 7.2 and 11 cm  672 Full-Modules and 96 Half-Modules  11528 ROCs, 48 Million Pixels  Total area 0.78 m 2 4 Endcap Disks (FPix)  z=34.5 and 46.5 cm (inner Radius ~ 6 cm away from Beam Line)  96 Blades with 672 Plaquettes  4320 ROCs, 18 Million Pixels  Total area 0.28 m 2 Barrel Disks CMS Detector Diameter: 15m Length: 21.60m The CMS Pixel Detector

4 The CMS Pixel PLC Code4 CMS Pixel PLC System Commercial Siemens S7-300 System: 1 CPU 315-DP2 1 Ethernet Module 4 Relay Modules (32 Channels for Interlock Lines) 1 Analog Input Module (8 Channels for HMX Humidity Sensors) 1 Digital Input Module (16 Channels for Status Information provided by non-Pixel Safety Systems) 32 RTD Modules (256 Channels for Pt1000 RTD Temperature Sensors) 4 Profibus DP Communication Modules, which interconnect the 5 Crates

5 The CMS Pixel PLC Code5 CMS Pixel PLC Code 56 Functions (FC) about 2000 (estimated) Lines of Code, written in the Pascal-like Siemens Programming Language “Structured Control Language” (SCL) 3 Organization Blocks (OB) that implement the cyclically executed Main Program, some special Initialization, which is executed once at every PLC Start-up, and a Timer Interrupt that is executed once every 100ms 50 Data-Blocks (DB) which store Configuration Parameters, Process Values and Status Information and which are based on: 44 user-defined Data Types (UDT)

6 The CMS Pixel PLC Code6 Graphical User Interface The Implementation of the Graphical User Interface is based on the commercial SCADA 1 Software “Process Visualisierungs und Steuerungs System” (PVSS) 1 “Supervisory Control and Data Acquisition” PVSS is used to: retrieve Configuration Parameters from an Oracle Data-Base visualize Process Values and Status Information implement a Finite State Machine (FSM), which allows for a convenient Operation of the whole CMS Detector The Data-Blocks in the PLC are interfaced to PVSS Data-Points by means of a native Siemens S7-Driver developed at CERN N.B.: PVSS is also used to monitor and control the CAEN Power Supplies

7 The CMS Pixel PLC Code7 Let’s have a look at the PLC Code in a bit more Detail now...

8 The CMS Pixel PLC Code8 Functions (FC) The 56 Functions may be classified by the Functionality that they implement into different Groups: Functions that handle the “Upload” of Configuration Parameters and Operator Commands from PVSS into the PLC Functions that read Process Values from the Digital Input, Analog Input and RTD Modules and process them Functions that read “Diagnostics” Information describing the Status of the PLC System as a whole Functions that evaluate Interlock Conditions and open/close Relays accordingly “auxiliary” Functions, which implement specific Functionality needed by other Funtions 19 8 4 6

9 The CMS Pixel PLC Code9 Organization Blocks (OB) There are 3 Organization Blocks defined in the Pixel PLC Code: OB 1 the Main Program, which is executed endlessly by the Operating System of the PLC OB 35 a Timer Interrupt, which is executed every 100ms and generates a Heart-Beat Signal, indicating that the PLC is running OB 100 a Start-up Routine for Initialization of Data-Blocks, that is executed every Time the PLC is started/re-started

10 The CMS Pixel PLC Code10 Data-Blocks (DB) Like the Functions, the 50 Data-Blocks may be classified into different Groups, depending on the Type of Data they store: Data-Blocks that store Configuration Parameters and Operator Commands uploaded by PVSS Data-Blocks that store the Configuration Parameters actually in use by the PLC Data-Blocks that store the Operator Commands actually processed by the PLC Data-Blocks that store the Process Values from the Digital Input, Analog Input and RTD Modules Data-Blocks that store “Diagnostics” Information Data-Blocks that store the Status of Interlocks and of the Relays Data-Blocks that store “global” Constants, States and Operator Commands issued via the PVSS Graphical User Interface 10 9 3 7 4 7 N.B.: The “Upload” Data-Blocks allow to check all Configuration Parameters before they get used by the PLC 10

11 The CMS Pixel PLC Code11 User-defined Data Types (UDT) The 50 Data-Blocks are defined in terms of 44 user-defined Data Types. The Advantage of using user-defined Data Types is that: Definitions of Data-Structures can be re-used for different Data- Blocks Block-Transfer Commands can be used when transfering Information from one Data-Block to another Like the Functions and Data-Blocks, the user-defined Data Types may be classified into different Groups. As you might have guessed, there is actually a close Correspondence between the different Groups of Functions, Data-Blocks and user-defined Data Types. N.B. In C++ Language, the user-defined Data Types are like Classes and the Data-Blocks like Instances of those Classes. The concept of user-defined Data Types maps well to the concept of Data- Point Types, that are defined in PVSS.

12 The CMS Pixel PLC Code12 Data-Flow Configuration DB PVSS Configuration Parameters “PVSS Upload” Configuration Parameter and Operator Commands S7 driver Process Values, Status Information and read-back Configuration Parameter DB 60x DB 10x Settings Configuration Parameters actually processed by PLC BLKMOV DB 40x Readings (Process Values and Status Information) DB 51 DB 35 AI, RTD, DI Module and Channel Diagnostics PLC Frontpanel LEDs Conditions DB S7 driver PIW I Q Temperature, Humidity Sensors Digital Inputs Relay Digital Outputs Oracle DB 59 PLC Heart-Beat DB 52 Relay, Profibus Module Diagn. PVSS DB 20xDB 304 Operator Commands Relay Actions

13 The CMS Pixel PLC Code13 Main Program Cycle (I) Handle Configuration Parameters uploaded by PVSS 1 global Transfer Request issued by Operator to individual Data-Blocks propagate 1 1,2 1,2,3 1,2,3,4 5,6 6 1: FC 1116 computeCRC16CheckSum 2: FC 1000 checkDataBlockHeader 3: FC 1600 checkChannelAddress 4: FC 1110 isEven 5: FC 1601 checkIlkSensorMask 6: FC 1602 checkIlkRelayMask

14 The CMS Pixel PLC Code14 Main Program Cycle (II) Handle Commands issued by Operator via PVSS Graphical User Interface

15 The CMS Pixel PLC Code15 Main Program Cycle (III) Hande Operator Commands issued by PVSS Graphical User Interface open/close all Relays reset all Interlocks (provided the Conditions that triggered them are not fullfilled anymore) clear all Alarms (provided the Alarm Conditions are currently not fullfilled) 1 1 1 1: FC 1200 readPushButtonStatus

16 The CMS Pixel PLC Code16 Main Program Cycle (IV) Read System “Diagnostics” Information Wire-breaks, Module Errors,… summarized Status Information for Analog and Digital Input, RTD, Relay Digital Output and Profibus DP Communication Modules PLC Status Detailed “Diagnostics” Information for Analog Input, Digital Input and RTD Modules Check for PLC Errors and Problems with Profibus DP Connections 1 2 1: FC 1052 unpackBits 2: FC 1421 testBit

17 The CMS Pixel PLC Code17 Main Program Cycle (V) Read Process Values, process “Diagnostics” Information 1,2,3 1,2,3,4,5 1,2,3,6,7 1 1: FC 1116 computeCRC16CheckSum 2: FC 1400 computeAlarmStatus 3: FC 1401 computeDurStateNotOk 4: FC 1411 computeHumidity 5: FC 1412 computeDewPoint 6: FC 1420 unpackModuleStatusBits 6: FC 1421 testBit

18 The CMS Pixel PLC Code18 Main Program Cycle (VI) Evaluate Interlock Conditions, open/close Relays Interlocks based on RTD Temperature and HMX Humidity Sensors Interlocks based on Digital Inputs global “KILL” Request issued by Operator, severe Configuration Parameter Error open/close Relays, depending on Interlock Conditions

19 The CMS Pixel PLC Code19 Main Program Cycle (VII) Read Status of Relays for Display by PVSS only

20 The CMS Pixel PLC Code20 Set Date and Time of PLC System Main Program Cycle (VIII)

21 The CMS Pixel PLC Code21 Honorable Mention FC 6666 auxiliary Function to initialize Configuration Parameters; called from OB 100 in case PLC Code runs “stand-alone”, i.e. without Connection to PVSS Only used for Testing !!

22 The CMS Pixel PLC Code22 Summary The CMS Pixel PLC Code consists of about about 2000 (estimated) Lines of Code, written in the Pascal-like Siemens Programming Language SCL The main Objective of the Code is to interlock the CAEN Power Supplies providing the High and Low Voltages for the Operation of the Pixel Detector, based on the Process Values of 256 RTD Temperature and 8 HMX Humidity Sensors mounted within the Volume of the Pixel Detector The Pixel PLC Code provides a high Degree of Adaptability; its run-time Behavior can be changed to a large Extent by uploading Configuration Parameters from PVSS into the PLC (the latter Feature has been taken from the PLC Code developed by the CMS Silicon Strip Tracker DCS Group – see Acknowledgements )

23 The CMS Pixel PLC Code23 Apologies The Pixel PLC Code Code has been ready for Review since January 25 th. When I started working on the Graphical User Interfaces for PVSS Data-Points associated to the PLC System, I realized that I wanted to extend the Code I had developed by January 25 th, in order to improve the Handling of: Access Control Errors present in Configuration Parameters So, I went ahead and modified the PLC Code. The Information presented in this Talk is up-to-date. I might have overlooked outdated Information in the more detailed MS-Word Documentation at a few Places, however. Sorry !!

24 The CMS Pixel PLC Code24 Acknowledgements I would like to thank Andromachi Tsirou and Piero Giorgio Verdini from the CMS Silicon Strip Tracker DCS Group for kindly providing their PLC Code, which has been used as Basis for the Development of the Pixel PLC Code -and for answering quite a few Questions concerning their Code !!


Download ppt "The CMS Pixel PLC Code1 Christian Veelken UC Davis last updated 03/05/08."

Similar presentations


Ads by Google