Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
PLC Steuerung
via FESA
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 2
Inhalt
• PLC Aufbau & Einsatzgebiete
• IEPLC Framework vom CERN
• FESA Klasse für Kameraobjektive
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 3
PLC / SPS
PLC: Programmable Logic Controller
SPS: Speicherprogrammierbare Steuerung
!
Aufbau: CPU, Kommunikationsprozessor (optional) und I/O Module
(DAC, ADC, Relais, Regler, HMI für grafische Oberfläche)
Symbolbild (c) by Siemens
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 4
PLCs in der Strahldiagnose
• BIF System: Fesa 2.10 Klasse für Iris, Bildverstärker, LED,
Digital Outs, 6x an Unilac & TK
!
• Linosobjektive: Fesa 3, Iris und Focus, LED, Digital In, HTA,
HHT, HTP
!
• LEDs (Digital Outs) für Cryring, im Lab
!
• Pressluftantriebe: Bachelorarbeit, noch nicht in Fesa
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 5
BIF, Bilderverstärker & LEDs
PCaPAC 2010
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 6
IEPLC Framework
• Erstellt am CERN (Frank Locci, Stefano Magnoni)
• standardisierter Kommunikationsweg (nicht nur) für PLCs
• unterstützte Hardware: Siemens S7 300/400, Schneider,
Beckhoff, Rabbit Mikrocontroller, National Instruments
Hardware
!
• Sammlung von Programmen und Skripten (Python/C++)
• stellt C++ Library zur Kommunikation über Ethernet bereit
• generiert Sourcecode für die PLC
• NEU: generiert Fesaklasse mit passenden Datenfeldern und
Kommunikationsfunktionen
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 7
Vorgehensweise
1) Hardware anschaun
2) Equipment class
!
3) Mapping
!
4) Codegenerierung
!
5) FESA Klasse und PLC jeweils „ausprogrammieren“
!
6) Testen mit „Diagnostic Tool“ und Fesa Explorer
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 8
Vorgehensweise
Equipment class (Registerbeschreibung)
Mapping (welche Module/Programme sind
auf welcher PLC)
IEPLC Scripts
PLC Code !„Datenumschlagplatz“
FESA Klasse Datenfelder/Kommunikation/get&set
XML für Library (Registerbeschreibung)
orange = Benutzereingabe
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 9
Equipment class
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 10
Equipment class
!
Blöcke & Register
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 11
Mapping
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 12
Mapping
PLC Name
Klassen und Instanzen die auf dieser PLC laufen
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 13
Vorgehensweise
Equipment class (Registerbeschreibung)
Mapping (welche Module/Programme sind
auf welcher PLC)
IEPLC Scripts
PLC Code !„Datenumschlagplatz“
FESA Klasse Datenfelder/Kommunikation/get&set
XML für Library (Registerbeschreibung)
orange = Benutzereingabe
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 14
Test mit Diagnostic Tool
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 15
Vorgehensweise
IEPLC Scripts
PLC Code !„Datenumschlagplatz“
FESA Klasse Datenfelder/Kommunikation/get&set
XML für Library (Registerbeschreibung)
orange = Benutzereingabe
PLC Code Hardwareansteuerung
FESA Klasse GSI spezifische Felder hinzufügen
Init/Programmlogik
separates C++ Programm linkt Library, liest XML Registerbeschreibung
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 16
Klasse zur Objektivansteuerung
LinosMevisCm (Name des Objektivs)
!
• erstellt mit älterer IEPLC Version -> keine generierte
Fesaklasse
!
• steuert mehrere Hardwaremodule:
• Regler für Iris und Fokus (float Werte)
• LED zum Beleuchten der Kammer (bool bzw int)
• Digital In (im Moment unbenutzt)
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 17
LinosMevisCm Satellit
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 18
LinosMevisCm Satellit
Power Supply
Satelliten Controller ET 200M
3x Regler FM355C
Digital Out SM325
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 19
Settings (in „GUI Einheiten“)
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 20
CUPID
Slider
Slider
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 21
Experiment GUI an HTP
Eingabe als Spannung
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 22
Acquisition
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 23
Guru Acquisition
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 24
Fesaklasse
Singleton !
Init & Verbindung zur Hardware via IEPLC lib
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 25
Realtime Action
Wert von der PLC holen und in die FESA Datenfelder schreiben
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 26
Server Action
Wert an die PLC senden
Herausforderung: Repräsentation der Daten Float Wert als Integer Zahl 0.34071153 = 1079643694
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 27
Status und Zukunft
Status Quo
• läuft relativ stabil über Monate
• kann theoretisch von anderen Gruppen benutzt werden
!
ToDos
• Umstellung aller Instanzen auf 64bit Library
• noch keine Unterstützung für S7 1500 CPUs in IEPLC
• generierte Klasse + GSI FESA 3 testen
• IEPLC Framework selbst Updaten
• BIF auf neues IEPLC & FES 3.0 umziehen
28
Nothing can stop
automation
kthxbye
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 29
Backup
R. Haseitl, Beam Instrumentation PLC Steuerung via FESA 30
Guru Settings (Volt als Integer)