Siemens S7-300 Hardware Setup for the Test-Beam - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

Siemens S7-300 Hardware Setup for the Test-Beam

Description:

Christian Veelken. UC Davis. last updated 03/05/08. The CMS Pixel ... AI, RTD, DI Module and Channel Diagnostics. PLC Frontpanel LEDs. Conditions DB. S7 driver ... – PowerPoint PPT presentation

Number of Views:459
Avg rating:3.0/5.0
Slides: 25
Provided by: christia126
Category:

less

Transcript and Presenter's Notes

Title: Siemens S7-300 Hardware Setup for the Test-Beam


1
The CMS Pixel PLC Code
Christian Veelken UC Davis last updated 03/05/08
2
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 Detector
CMS Detector Diameter 15m Length 21.60m
  • 3 Barrel Layers (BPix)
  • r4.3, 7.2 and 11 cm
  • 672 Full-Modules and 96 Half-Modules
  • 11528 ROCs, 48 Million Pixels
  • Total area 0.78 m2

Disks
Heart of the CMS Tracking System
Barrel
  • 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

4
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)

5
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
Graphical User Interface
  • The Implementation of the Graphical User
    Interface is based
  • on the commercial SCADA1 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
Lets have a look at the PLC Code in a bit more
Detail now...
8
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
  • 19

9
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
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
  • 10
  • 7
  • 4
  • 3
  • 7
  • N.B. The Upload Data-Blocks allow to check all
    Configuration Parameters before they get used by
    the PLC

11
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
Data-Flow
13
Main Program Cycle (I)
1 FC 1116 computeCRC16CheckSum 2 FC 1000
checkDataBlockHeader 3 FC 1600
checkChannelAddress 4 FC 1110 isEven 5 FC 1601
checkIlkSensorMask 6 FC 1602 checkIlkRelayMask
Handle Configuration Parameters uploaded by PVSS
1,2,3,4
propagate1
1,2
1,2,3,4
1,2
5,6
1,2
6
1,2
1,2,3
1,2,3
1global Transfer Request issued by Operator to
individual Data-Blocks
14
Main Program Cycle (II)
Handle Commands issued by Operator via PVSS
Graphical User Interface
15
Main Program Cycle (III)
Hande Operator Commands issued by PVSS Graphical
User Interface
open/close all Relays
1
reset all Interlocks (provided the Conditions
that triggered them are not fullfilled anymore)
1
clear all Alarms (provided the Alarm Conditions
are currently not fullfilled)
1
1 FC 1200 readPushButtonStatus
16
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
1
Detailed Diagnostics Information for Analog
Input, Digital Input and RTD Modules
Check for PLC Errors and Problems with Profibus
DP Connections
2
1 FC 1052 unpackBits 2 FC 1421 testBit
17
Main Program Cycle (V)
Read Process Values, process Diagnostics
Information
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
18
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
Main Program Cycle (VII)
Read Status of Relays
for Display by PVSS only
20
Main Program Cycle (VIII)
Set Date and Time of PLC System
21
Honorable Mention
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 !!
FC 6666
22
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
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 !!

24
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 !!
Write a Comment
User Comments (0)
About PowerShow.com