Documente Academic
Documente Profesional
Documente Cultură
Christian Veelken
UC Davis
last updated 03/05/08
The CMS Pixel PLC Code 1
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
Heart of the CMS Tracking System 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 m2 The CMS Pixel PLC Code
Barrel
32 RTD Modules
(256 Channels for Pt1000 RTD Temperature Sensors)
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
The CMS Pixel PLC Code 6
Lets have a look at the PLC Code in a bit more Detail now...
Functions (FC)
The 56 Functions may be classified by the Functionality that they implement into different Groups:
19 8 4
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
Data-Blocks (DB)
Like the Functions, the 50 Data-Blocks may be classified into different Groups, depending on the Type of Data they store:
10 9 10 7 4 3 7
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
N.B.: The Upload Data-Blocks allow to check all Configuration Parameters before they get used by the PLC
The CMS Pixel PLC Code 10
Data-Flow
Settings Configuration Parameters actually processed by PLC DB 10x Operator Commands DB 20x Relay Actions DB 304 Readings (Process Values and Status Information) DB 40x
PIW I Q DB 35 DB 51 DB 52
PLC Heart-Beat
PLC Frontpanel LEDs Relay, Profibus Module Diagn. AI, RTD, DI Module and Channel Diagnostics
BLKMOV DB 59
DB 60x PVSS Upload Configuration Parameter and Operator Commands S7 driver PVSS
S7 driver
PVSS
Oracle
Configuration DB
Conditions DB
Oracle
Configuration Parameters
12
1: FC 1116 computeCRC16CheckSum 2: FC 1000 checkDataBlockHeader 3: FC 1600 checkChannelAddress 4: FC 1110 isEven 5: FC 1601 checkIlkSensorMask 6: FC 1602 checkIlkRelayMask
FC 110 transferCfgPar_Temp
propagate1
1,2,3,4
FC 200 processTransferCfgParReq
1,2
FC 111 transferCfgPar_Humid
1,2,3,4
FC 120 transferCfgPar_inputMod
1,2
FC 101 transferCfgPar_AnaIlkGr
FC 124 transferCfgPar_outputMod
1,2 1,2
5,6
FC 130 transferCfgPar_profibMod
FC 108 transferCfgPar_DigIlk
FC 102 transferCfgPar_Input
1,2,3
FC 1007 processCfgParStatus
FC 104 transferCfgPar_Relay
1,2,3
FC 1009 processCfgParError
1global
Transfer Request issued by Operator to individual Data-Blocks The CMS Pixel PLC Code
13
FC 220 transfCommands_inputMod
FC 211 transfCommands_Humid
FC 224 transfCommands_outputMod
FC 201 transfCommands_AnaIlkGr
FC 230 transfCommands_profibMod
FC 208 transfCommands_DigIlk
FC 202 transfCommands_Input
FC 240 transfCommands_PLC
FC 204 transfCommands_Relay
OB 1
14
FC 1007 procGlobalKillRequest
FC 1008 procGlobalResetRequest
(provided the Conditions that triggered them are not fullfilled anymore)
FC 1006 procGlobalAcknRequest
1: FC 1200 readPushButtonStatus
15
summarized Status Information for Analog and Digital Input, RTD, Relay Digital Output and Profibus DP Communication Modules
1
FC 52 execRDSYSST_2
PLC Status Detailed Diagnostics Information for Analog Input, Digital Input and RTD Modules Check for PLC Errors and Problems with Profibus DP Connections
FC 59 execRD_REC
FC 53 checkSystemStatus
16
1,2,3,6,7
1,2,3
FC 424 readOutputModuleStatus
1,2,3,6,7
FC 410 readTemperatureSensors
1,2,3
FC 430 readProfibModuleStatus
1,2,3,6,7
FC 411 readHumiditySensors
1,2,3,4,5
FC 440 readPLC_Status
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 The CMS Pixel PLC Code
17
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
FC 308 processDigInterlock
FC 1307 processGlobalInterlock
FC 304 setRelays
18
FC 404 readRelayStatus
19
FC 1240 syncSystemDate_and_Time
End
20
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
21
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 )
22
Apologies
The Pixel PLC Code Code has been ready for Review since January 25th.
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 25th, 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 !!
The CMS Pixel PLC Code 23
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 !!
24