Professional Documents
Culture Documents
Christian Veelken
UC Davis
last updated
03/05/08
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
CMS Detector
Diameter: 15m
Length: 21.60m
32 RTD Modules
(256 Channels for Pt1000 RTD Temperature Sensors)
Functions (FC)
The 56 Functions may be classified by the Functionality
that they implement into different Groups:
19
8
4
6
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
10
Data-Blocks that store the Process Values from the Digital Input, Analog
Input and RTD Modules
N.B.: The Upload Data-Blocks allow to check all Configuration Parameters before they get used by the PLC
10
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 DataPoint Types, that are defined in PVSS.
11
Data-Flow
Settings
Configuration Parameters
actually processed by PLC
DB 10x
Operator
Commands
Relay
Actions
DB 20x
DB 304
Readings
(Process Values and
Status Information)
DB 40x
BLKMOV
DB 60x
PVSS Upload
Configuration Parameter
and Operator Commands
S7 driver
PVSS
Oracle
Configuration DB
Configuration Parameters
PIW
Temperature, Humidity
Sensors
Digital Inputs
DB 35
PLC Heart-Beat
DB 51
DB 52
DB 59
S7 driver
PVSS
Conditions DB
Oracle
12
propagate
1: FC 1116 computeCRC16CheckSum
2: FC 1000 checkDataBlockHeader
3: FC 1600 checkChannelAddress
4: FC 1110 isEven
5: FC 1601 checkIlkSensorMask
6: FC 1602 checkIlkRelayMask
1,2,3,4
1,2
1,2,3,4
1,2
1,2
1,2
5,6
1,2,3
1,2,3
13
14
1: FC 1200 readPushButtonStatus
15
PLC Status
1: FC 1052 unpackBits
2: FC 1421 testBit
16
1,2,3,6,7
1,2,3
1,2,3,6,7
1,2,3
1,2,3,6,7
1,2,3,4,5
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
17
18
19
20
Honorable Mention
FC 6666
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 !!
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