\documentclass[ngerman,11pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[top=2.5cm, right=2.5cm, bottom=2cm, left=2.5cm]{geometry}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage{csquotes}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{xcolor}
\usepackage{tikz}
\usepackage{graphicx,float}
\usepackage{longtable,booktabs}
\usepackage[titletoc,toc,page]{appendix}
\usepackage{pdfpages}

\usepackage{biblatex}
\addbibresource{references/references.bib}

% ------------- Zeilenabstand
\usepackage{setspace}
\onehalfspacing

\renewcommand{\familydefault}{\sfdefault}

\renewcommand{\appendixtocname}{Anhang}
\renewcommand{\appendixpagename}{Anhang}

\providecommand{\tightlist}{%
  \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}}

\author{jm}
\title{Energiemonitoring zur Prozessanalyse in industriellen Anlagen am Beispiel von Kernschießmaschinen}

\date{\today}

\usepackage{hyperref}

\begin{document}

\newgeometry{margin=0in}
\input{00-deckblatt}
\clearpage
\restoregeometry

\section*{Abstract}
\thispagestyle{empty}
Die Lebensdauer einer industriellen Maschine hängt stark von der Qualität der Instandhaltung ab. Sogar schon bei der Qualitätskontrolle ab Werk ist es enorm wichtig, kleine Defekte zu erkennen und zu beseitigen. In Kooperation mit der \emph{Laempe Mössner Sinto GmbH} (LMS) wird mit dieser Arbeit ein Energie-Monitoring-System entwickelt, welches Einblicke in die Effizienz und Zuverlässigkeit der im Unternehmen hergestellten Kernschießmaschinen gibt. Es hilft somit, die Qualität der ausgelieferten Anlagen und deren Instandhaltung zu verbessern und die Lebensdauer der Maschinen zu verlängern.

\setlength\parindent{0pt}

% light red accent color
\definecolor{color_red}{rgb}{0.886,0.035,0.09}
\begin{tikzpicture}[remember picture,overlay]
  \fill[color_red] (-25mm,-167mm) rectangle (210mm,-170mm);
\end{tikzpicture}

%-------------- Inhaltsverzeichnis
\newpage
\hypersetup{pageanchor=true}
\tableofcontents{}

%-------------- Abbildungsverzeichnis
\newpage
\cleardoublepage\phantomsection
\listoffigures

%-------------- Tabellenverzeichnis
\listoftables

%-------------- Abkürzungsverzeichnis
\section*{Abkürzungsverzeichnis}
\begin{description}
  \item[SPS] Steuerung einer industriellen Anlage
  \item[CPU] alternativer Name der Steuerung einer industriellen Anlage
  \item[SCADA] Kontrolle, Überwachung und Steuerung von industriellen Anlagen
  \item[Box-PC] Computer, welcher in industriellen Anlagen verbaut wird
  \item[CT] Stromwandler
  \item[TCP/IP] Menge aller Protokolle bis zur Transportschicht des OSI-Referenzmodells
  \item[LMS] Die Firma \emph{Laempe Mössner Sinto GmbH}
  \item[LDC] Das Produkt \emph{Laempe Digital Cockpit}
  \item[DIY] selbstgebaut; im Gegensatz zu: industriell hergestellt
  \item[BE] big-endian; Binärzahl, bei der die höchstwertigen Bits zuerst kommen
  \item[ADC] Analog-Digital-Umsetzer
  \item[HMI] Human-Machine-Interface; Bedienoberfläche für eingewiesene Personen
  \item[I/O] Input/Output
  \item[AC] Alternating Current; Wechselstrom
  \item[DC] Direct Current; Gleichstrom 
\end{description}

\setlength\parskip{1em}

\newpage

\section{Einleitung}\label{einleitung}

Mit dieser Arbeit werden diverse Konzepte zur Überwachung maschineller
Anlagen erforscht. Dabei soll ein autonomes Meldesystem aufgebaut
werden, welches auf schleichende Probleme aufmerksam machen kann bzw.
zur Verbesserung des Betriebsablaufes beiträgt. Es sollen im Speziellen die Versorgungsschnittstellen der Anlage instrumentiert werden, da dort am einfachsten ein Messwert mit einem Erwartungswert verglichen werden kann. Zudem ist die Versorgung der Anlage eine der größten Kostenfaktoren im Betrieb und somit auch der ideale Ansatzpunkt für Verbesserungen. 

Die LMS hat es sich als führender Anbieter von Kernschießmaschinen zur Aufgabe gemacht, die Effizienz ihrer Maschinen kontinuierlich zu verbessern.\cite{laempe_website} Mit steigenden Energiekosten wird es auch immer bedeutender, wie sich der Energieverbrauch ihrer Produkte über ihre gesamte Lebenszeit überwachen lässt. Die Verbrauchsüberwachung kann auch dazu beitragen, die Lebensdauer der Maschinen zu verlängern, da sie auf mögliche Probleme aufmerksam machen kann. Die Firma LMS hat sich daher entschlossen, den Funktionsumfang ihrer Produkte durch die Entwicklung eines Monitoring-Systems um diese Fähigkeiten zu erweitern.\footnote{Es ist bereits eine Speziallösung für Anlagen mit Siemenssteuerung von einem anderen Mitarbeiter entwickelt worden, deren Messwerte auf dem dazugehörigen Siemens HMI angezeigt werden konnten. Dieses bestehende System wurde nicht als Vorarbeit für diese Arbeit herangezogen, da dort keine Interoperabilität zwischen verschiedenen Steuerungstypen gegeben ist.}
Dieses soll die Energieeffizienz der Kernschießmaschinen beim Kunden messen und analysieren. Die Ergebnisse sollen dabei so aufbereitet werden, dass sie für den Endnutzer einfach zu verstehen sind. Zudem können sie zur Wahl besserer Komponenten für neue Anlagenrevisionen beitragen.

Ein zweiter Nutzen ist die genauere Erfassung von Fehlerzuständen. Die Kernschießmaschinen sind sehr komplex und bestehen aus vielen verschiedenen Baugruppen. Die LMS nutzt bereits Fehleranalysetools der Steuerungen, um Probleme mit den Anlagen zu identifizieren und zu beheben. Das Monitoring-System soll diesen Prozess so unterstützen, dass eine vorzeitige Erkennung und Meldungen von elektrischen Problemen bei der Qualitätskontrolle möglich ist und auch die Ursache für die Probleme besser ermittelt werden kann. Dieses Monitoring-System soll dabei helfen, die Anlagen in einem Zustand zu halten, in dem sie effizient arbeiten können und auch die Wartungskosten pro hergestelltem Kern möglichst gering bleiben.

\newpage
\section{Problemstellung}\label{problemstellung}

\subsection{Bestandteile und Inhalt}

Um ein Überwachungssystem aufzubauen, müssen Messwerte erhoben, analysiert und schließlich gespeichert werden. Der Fokus der Überwachung liegt vorerst auf der elektrischen Versorgung, aber es soll eine Möglichkeit geben, den Aufbau in Zukunft mit der Instrumentierung anderer Ressourcen zu erweitern. Es sind daher zuerst geeignete Sensoren zu suchen, dann diese mittels praktischer Versuche an Kernschießmaschinen auszutesten und schließlich an ein modulares System zur Datenübermittlung, -verarbeitung und -speicherung anzuknüpfen. Die Wahl der Sensoren beginnt im Kapitel \ref{loesungsansatz}, die Erschaffung des modularen Verarbeitungssystems folgt in Kapitel \ref{implementierung} und die praktischen Versuche sind im Kapitel \ref{praktische-versuche} dokumentiert. Die Ergebnisse werden zum Abschluss im Kapitel \ref{ergebnisse} zusammengefasst.

\begin{figure}[H]
\centering
\includegraphics[width=16cm]{out/diagrams/uebersicht/uebersicht.png}
\caption{Übersicht}
\label{uebersicht}
\end{figure}

In Abbildung \ref{uebersicht} sind die vier elementaren Bestandteile des Systems hervorgehoben. Zuerst ist die Energiemessung zu betrachten. Bei ihr entstehen Messwerte des aktuellen elektrischen Verbrauchs und somit viele separate Datenpunkte, die einzeln
betrachtet keine große Aussagekraft besitzen. Der folgende Schritt der
Datenverarbeitung kombiniert die eingehenden Datenströme und extrahiert
für den Endnutzer relevante Informationen. Für die Übertragung der Messwerte von den
Sensoren zur datenverarbeitenden Einheit werden Kommunikationsbusse
eingesetzt, welche bereits in den Kernschießmaschinen verwendet werden.
Es soll nach Möglichkeit kein weiterer Feldbus einer anderen Technologie
hinzugefügt werden, um die Kosten für die Integration möglichst gering
zu halten. Einige der einzubauenden Sensoren können beispielsweise mit einer Punkt-zu-Punkt-Verbindung an einem IO-Link-Master
angeschlossen werden, welcher wiederum über einen Feldbus zur zentralen Steuerung der Anlage kommuniziert. Diese
Steuerungen wird dann wiederum über ein auf Ethernet basierendem
Kommunikationsprotokoll mit der Datenverarbeitungseinheit kommunizieren.

Die Aggregation der Messwerte soll unabhängig von Modell und Auslegung
der Anlage möglich sein. Es werden verschiedene Wege in Betracht gezogen
und schließlich einer von diesen Wegen an einer echten Anlage getestet. Die
dafür notwendigen Komponenten sollten leicht in den bestehenden Aufbau
integrierbar sein. Bezüglich der Datenaggregation sollen zunächst die Einspeisung, die
Ströme einzelner Baugruppen und der Status der zentralen Steuerung der
Anlage erfasst werden. Der dabei verwendete Messintervall sollte klein
genug sein, um zwischen den Prozessschritten der Anlage unterscheiden zu
können. Während der Entwicklung werden die Rohwerte der
Messungen direkt gesichert, um den Analyseschritt in Zukunft mit Hilfe von echten Messwerten in einer simulierten Umgebung weiterentwickeln zu können.
Je präziser die Datenverarbeitung dann im Produktivsystem angesetzt ist, desto weniger Daten müssen während der Laufzeit der Anlage beim Kunden gespeichert werden. Die zu speichernden Werte bestehen aus periodisch wiederkehrenden Datenpunkten der einzelnen Prozessschritte,
welche in einer zeitbasierten Datenbank abgelegt werden müssen. Nur wenn
ein Datenpunkt ein festgelegtes Limit überschreitet, ist eine direkte
Meldung des Wertes notwendig. Um eine zuverlässige Speicherung zu
garantieren, sollten die Daten möglichst auf mehreren unabhängigen
Systemen gespeichert werden. Hierzu wird auch ein modularer Aufbau verwendet,
der es ermöglicht, unterschiedlichste Speichermethoden gleichzeitig
zu verwenden. Schließlich ist auch eine Löschungsstrategie notwendig, um
zu garantieren, dass immer genug Speicherplatz für neue Daten vorhanden
ist.

Die Visualisierung kann Dank der vorbereiteten Datensätze im einfachsten
Fall aus dem Plotten der Messreihen aus einer der Datenbanken bestehen.

\subsection{Relation zu bestehenden Systemen}

Diese Arbeit gibt einen Überblick über die Möglichkeiten der Überwachung von Anlagen. Dabei wird auch ein System entwickelt, welches die Datenverarbeitung, Speicherung und Visualisierung von Messwerten übernimmt. Eigene Marktrecherchen haben ergeben, dass es auch andere All-in-one-Lösungen für die Überwachung von Anlagen gibt. Diese Systeme sind jedoch meistens kostenintensiv, intransparent oder erfüllen nicht alle Anforderungen. Zudem ist es oft schwierig diese an die bestehenden Datenbusse der Anlagen anzupassen, was auch zu einem erhöhten Installationsaufwand führen kann. Die LMS hat sich daher entschlossen, ein eigenes System zu entwickeln, welches die Anforderungen der Firma erfüllt. Dieses System soll auch in Zukunft weiterentwickelt werden, um auch neu entstehende Anforderungen an die Produkte der Firma zu erfüllen.

Die Visualisierung der Messwerte wird in dieser Arbeit bewusst weniger thematisiert, da dafür in Zukunft die bestehende Visualisierungslösung der Firma verwendet werden soll. Diese Visualisierungslösung namens \emph{Laempe-Digital-Cockpit} (LDC) ist bereits in der Lage, andere Parameter der Kernschießmaschinen zu visualisieren.\cite{laempe_website} Sie soll in Zukunft auch die Messwerte des Energie-Monitoring-Systems anzeigen können.

\newpage
\section{Grundlagen}\label{grundlagen}

\subsection{Kernschießmaschinen}\label{kernschieuxdfmaschinen}

Kernschießmaschinen sind industrielle Anlagen, welche in der
Gießereiindustrie eingesetzt werden. Sie stellen aus Sand und
Bindemitteln Kerne her, welche beim Gießvorgang die Hohlräume der zu
gießenden Form ausfüllen. Nach ihrer Verwendung werden die Kerne wieder
aufgelöst und der Sand als Rohmaterial wieder dem Prozess zugeführt.
Abbildung \ref{fig:Herstellung von Kernen} zeigt den Materialfluss rund um eine Kernschießmaschine mit den dafür wichtigsten Komponenten. 

\begin{figure}[H]
  \centering
  \includegraphics[width=14cm]{out/diagrams/kernschießmaschinen/Kernschießmaschinen.png}
  \caption{Prozessroutine des Kernschießens}
  \label{fig:Herstellung von Kernen}
  \end{figure}

Zuerst wird dem Mischer eine dosierte Menge Sand aus dem Sandsilo zugeführt. Danach wird dieser mit einem Bindemittel vermengt. Optional werden auch je nach Rezept Additive wie Holzfasern oder Asche beigemischt. Das Gemisch wird anschließend über einen Sandsender oder Sandtransportwagen in den Sandtrichter geladen. Aus dem Trichter wird dann erneut eine genau dosierte Menge Sand in die Schusskartusche abgegeben. Nun wird die Schusskartusche mit Druckluft befüllt und kurz danach mit bis zu $100\mathrm{bar}$ über die Schießplatte in den Kernkasten entleert. Alternativ zu selbst härtenden Bindemitteln des Cold-Box-Verfahrens, kann der Kernkasten im Hot-Box-Verfahren begast und erwärmt werden, um den Aushärtungsprozess des Bindemittels chemisch anzustoßen. Nach dem Schuss wird der fertige Kern mit einem Auswerfer aus dem Kernkasten entfernt und dann der Maschine entnommen. Danach können weitere Schritte wie das Entgraten des Kerns erfolgen, bis der Kern letztendlich in einer Gussform als Platzhalter für einen negativen Raum seine Aufgabe erfüllt. Abschließend kann er wieder chemisch aufgelöst werden, sodass der Sand als Recyclingmaterial wieder dem ursprünglichen Prozess beigefügt werden kann.\cite{DeGarmo2004-vf}

Die Kernschießmaschinen von LMS arbeiten komplett automatisch und können
mehrere Kerne pro Minute herstellen. Sie bestehen, wie viele
industrielle Anlagen, aus einer zentralen Steuereinheit und einer
Vielzahl von Sensoren und Aktoren. Diese Steuerung ist auch für die anderen Produkte verantwortlich. Je nach Ausführung können in einer Anlage Mischer, Sandsichter, Binder- und Additivversorgung oder auch andere Systeme von einer zentralen Stelle gesteuert werden. Mit ihr wird eine festgelegte
Sequenz von Schritten orchestriert, die unter anderem das Ein-/Ausfahren
des Kernkastens, das Schließen der Seitenteile oder das Befüllen der
Kernform beinhalten können. 


\subsection{Topologie von industriellen Anlagen}\label{topologie}

Die Kommunikationsstruktur von industriellen Anlagen wird in drei Ebenen
unterteilt: die Feldebene, die Kontrollebene und die Überwachungsebene. 
In der Feldebene befinden sich alle Sensoren (Temperatursensoren,
Lagesensoren, etc.) und Aktoren wie Motoren, Ventile und Leuchtsignale.
Sie sind über Feldbusverteiler beziehungsweise Interfacemodulen mit dem entsprechenden Feldbus verbunden. Bei LMS werden neben traditionellen, analog an Interfacemodule verbundenen Komponenten auch solche eingesetzt, die das Punkt-zu-Punkt-Protokoll \emph{IO-Link} unterstützen. Dieses eliminiert die Zuordnung der Komponenten zu individuellen I/O-Kanälen und ermöglicht eine einfache und flexible Konfiguration.
Mit der Verwendung von \emph{IO-Link} sind in allen Teilen der Anlagen IO-Link-Master verbaut, welche über Feldbusse wie \emph{ProfiNet} oder \emph{EtherNet/IP} mit der CPU kommunizieren. Auf diese Infrastruktur kann für die Umsetzung der Energiemessung zurückgegriffen werden.
Die Kontrollebene besteht aus einer oder mehreren
speicherprogrammierbaren Steuerungen (SPS) und ihren untergeordneten
Interfacemodulen. Das Zentralmodul einer SPS wird mit einer
echtzeitfähigen Sprache programmiert und kommuniziert mit den
Interfacemodulen, welche über Erweiterungskarten den verschiedenen
Geräten im Feld verbunden sind. Je nach Hersteller kommen hier
unterschiedliche Bussysteme zum Einsatz. Deren speziellen Eigenschaften
sind im folgenden Kapitel näher erläutert. Wenn mehrere Steuerungen sich
gegenseitig überwachen oder deren Einstellungen über ein
Human-Maschine-Interface (HMI) angepasst werden können, dann geschieht
dies in der Überwachungsebene. Sie ist die höchste
Automatisierungsebene, die sich am Ort der Anlage befindet. In ihr
befindet sich auch der Hauptteil des konzipierten Energieüberwachungssystems.

\subsection{Industrielle Steuerungen}

Industrielle Steuerungen sind das Herzstück industrieller Anlagen. Sie sind für die Steuerung der Anlage zuständig und kommunizieren mit den Sensoren und Aktoren über verschiedene Bussysteme. Früher wurden hauptsächlich sogenannte \emph{PLCs} (programmable logic controller, deutsch: SPS) eingesetzt. Diese sind spezielle echtzeitfähige Steuerungen, die mit ihrer eigenen Programmiersprache programmiert werden. Durch die stetige Entwicklung der Technik und die damit verbundene Verfügbarkeit von leistungsfähigeren und kostengünstigeren Hardwarekomponenten spricht man heute eher von \emph{CPUs} (central processing unit), da die Steuerung nicht nur für die Steuerung der Anlage zuständig ist, sondern auch ein Teil der höher gelegenen Kontrollsysteme (\emph{SCADA}) ist. Somit muss eine moderne Steuerung auch Protokolle wie HTTP oder OPC UA unterstützen, die den Austausch mit anderen Systemen auf Basis der Internetprotokolle ermöglichen.

\subsection{Feldbusverteiler}

Mit dem Aufkommen der Industrie 4.0 und der damit verbundenen Vernetzung von Anlagen und Maschinen wurde die Kommunikation zwischen den einzelnen Komponenten immer wichtiger. Um die Kommunikation zwischen den einzelnen Komponenten zu vereinfachen und zu beschleunigen, wurden sogenannte \emph{Feldbusverteiler} entwickelt. Diese sind dezentrale Geräte, die über verschiedene Schnittstellen mit den einzelnen Komponenten verbunden sind. Sie sind in der Lage, die Daten der einzelnen Komponenten zu sammeln und an die nächsthöhere Steuerung weiterzuleiten. Im Vergleich zu \emph{Interfacemodulen}, welche meist direkt neben der CPU angebracht sind, wird mit ihnen der Verdrahtungsaufwand zwischen den einzelnen Komponenten und der Steurung reduziert. Die Kommunikation zwischen den einzelnen Feldbusverteilern und der Steuerung erfolgt über ein Bussystem wie zum Beispiel \emph{EtherNet/IP} oder \emph{ProfiNet}.

\subsection{Feldbussysteme}\label{feldbusses}

In den Anlagen werden verschiedene Arten von Datenbussen verwendet. Die für dieses Projekt relevantesten sind \emph{ProfiNet}, \emph{EtherNet/IP} und \emph{CC-Link IE}. ProfiNet ist ein Feldbus, der von der \emph{Profibus Nutzerorganisation e.V.} (PNO) entwickelt wurde. Er ist ein offener Feldbus, der auf dem \emph{Ethernet}-Standard basiert. Er kommt hauptsächlich in CPUs von Siemens zum Einsatz. 
EtherNet/IP ist ein Feldbus, der von der \emph{Rockwell Automation} entwickelt wurde. Er ist für die Übertragung von Daten mit hoher Geschwindigkeit und hoher Zuverlässigkeit ausgelegt. Da er auf den \emph{TCP/IP}-Standards TCP und UDP aufbaut, ist er im Gegensatz zu ProfiNet mit allen normalen Ethernet-Teilnehmern kompatibel. Jedoch kann er dadurch nicht das strikte Echtzeitkriterium einhalten, so wie es bei ProfiNet der Fall ist. Er kommt hauptsächlich in CPUs von Allen-Bradley zum Einsatz.
CC-Link IE ist ein Feldbus, der von der \emph{CC-Link Partner Association} entwickelt wurde. Er wird bevorzugt in industriellen Steuerungen und Roboterarmen von Mitsubishi eingesetzt. Er basiert auf Gigabit-Ethernet. Er ist jedoch nicht so weit verbreitet wie die anderen beiden Feldbusse.\cite{Brooks2001EtherNetIPIP, mitsubishi_cpu, Profinet}

\subsection{Strommessung}

Die Stromstärke ist eine der wichtigsten Messgrößen in der Energieüberwachung. Sie ist die Grundlage für die Berechnung der Energiekosten und der Energieeffizienz. Die Strommessung wird in der Regel über Stromzähler durchgeführt. Die Stromstärke wird dabei über einen \emph{Hall-Sensor} gemessen. Dieser ist in der Lage, die magnetische Flussdichte zu messen, welche parasitär durch die Energieübertragung in elektrischen Leitern erzeugt wird. Der Energiefluss wird dann über die Stromstärke und die Spannung berechnet. Die Spannung wird meist über einen \emph{Spannungsteiler} gemessen. Dieser besteht aus zwei Widerständen, die in Reihe geschaltet sind. Der Spannungsteiler ist in der Lage, die Spannung zu reduzieren, sodass sie mit einem \emph{Analog-Digital-Wandler} (ADC) erfasst werden kann.

Alternativ zum Hall-Sensor kann auch eine andere Art von Stromsensoren verwendet werden. Diese ist speziell in der Lage, die Stromstärke eines Wechselstromsystems (AC) zu messen. Sie besteht aus einem \emph{Stromwandler} (CT) und einem Messwiderstand im Sekundärstromkreis des Wandlers. Die Spannung über diesen Widerstand ist proportional zur Stromstärke. Sie wird dann ebenfalls über einen ADC gemessen. Mit dieser Anordnung kann auch die Phasenlage des Stroms erfasst werden. Für die Messung eines DC Stroms im Kleinstspannungsbereich ist der Stromwandler nicht erforderlich und der Messwiderstand kann direkt im Strompfad angebracht werden.

\newpage
\section{Lösungsansatz}\label{loesungsansatz}

Die abstrakten Ideen aus der Problemstellung können nun in konkrete
Lösungen umgesetzt werden. Zuerst werden die benötigten Aufgaben
bestimmten Komponenten zugeordnet. Anschließend werden die einzelnen
Komponenten genauer beschrieben. Die Aufgaben des Energieüberwachungssystems können in fünf Kategorien unterteilt werden: die Datenerfassung, -übertragung, -verarbeitung, Datenspeicherung und -visualisierung. Darstellung \ref{fig:datenfluss} zeigt die
Zuordnung der Aufgaben zu den Komponenten, welche in den folgenden Abschnitten beschrieben werden.

\begin{figure}[H]
\centering
\includegraphics[width=16cm]{out/diagrams/datenfluss/Datenfluss.png}
\caption{Bestandteile des Projekts}
\label{fig:datenfluss}
\end{figure}

\subsection{Erfassung der Messwerte}\label{erfassung-der-messwerte}

Die Aufgabe der Energiemessung wird durch zwei Gruppen von Sensoren
übernommen. Die erste Gruppe besteht aus Sensoren, die an der
elektrischen Einspeisung der Kernschießmaschine angebracht sind und den
kompletten Momentanverbrauch der Anlage messen. Die zweite Gruppe
besteht aus Sensoren, die an den einzelnen Komponenten der Anlage
angebracht sind und den Verbrauch dieser Komponenten messen. Die
Messwerte der beiden Gruppen werden über den internen Datenbus der
Anlage an die zentrale Steuerung der Anlage übertragen.

In der ersten Gruppe werden für jede Phase jeweils Strom, 
Spannung und deren Beziehung
zueinander erfasst. Dies ergibt ein komplettes Bild über den momentanen
Leistungsbedarf und den Energieverbrauch der Anlage über einen längeren
Zeitraum. Wie in der Darstellung \ref{fig:datenfluss} zu sehen ist, wird die zweite Sensorgruppe an der \(24\mathrm{V}\) Kleinstspannungsverteilung
angebracht. Diese Entscheidung wurde getroffen, da die
Steuerspannungsversorgung nach firmeninterner Beobachtung viel
anfälliger für Überlastereignisse ist als die Versorgung der
Niederspannungsverbraucher. Dazu kommt, dass fast jeder Teil der Anlage
über diese Versorgung zumindest indirekt gesteuert wird und ein
Fehlerfall der \(24\mathrm{V}\)-Versorgung definitiv Auswirkungen auf
die Funktionalität der Anlage hat. Die Spannung wird direkt an der
\(24\mathrm{V}\)-Versorgung gemessen. 

Die Spannung an den einzelnen Komponenten wird nicht gemessen, 
da diese sich im Idealfall nicht stark
von der Versorgungsspannung unterscheidet. Potenzielle Abweichungen
skalieren bei konstantem Leitungswiderstand auch proportional zu den
Strömen, was ein weiterer Grund ist sie nur an einer Stelle zu messen.
Es ist auch nicht praktikabel den Strom jeder einzelnen Komponente zu
messen, deshalb findet die Messung an einer zentralen Stelle statt, wo
mehrere Komponentengruppen mit wenigen dutzend Strommesskanälen
abgedeckt werden können. Eine solche für die Messung der
\(24\mathrm{V}\)-Versorgung geeignete Stelle ist in den
Kernschießanlagen kurz vor den Potenzialklemmen, nämlich dort wo sich die
elektronischen Untersicherungen befinden. Diese Sicherungen werden,
neben den Netzteilen selbst, in der
Implementierung für die Messung der Ströme
instrumentiert.

Die meistverwendete Punkt-zu-Punkt-Verbindung in LMS-Anlagen ist \emph{IO-Link}. Dieses Protokoll ist
für die Kommunikation mit den Sensoren und Aktoren der Anlage
vorgesehen. Die Sensoren werden zusätzlich über den IO-Link-Master mit Strom versorgt und können so ohne eigene Potenzialverteilung betrieben werden. Die
hinzugefügten Energiesensoren werden vorzugsweise auch in dieses
Sensornetzwerk integriert. Wenn dies so umgesetzt wird, dann werden die Signale, so wie bei allen anderen Sensoren auch,
über Feldbusverteiler beziehungsweise Interfacemodule mit
IO-Link-Master-Karten zu der zentralen Steuerung der Anlage geleitet. Alternativ zur \emph{IO-Link}-Einbindung ist es aber auch möglich, die Energiesensoren direkt in die Feld- oder Steuerungsebene einzubinden, wenn jene über eine entsprechende Schnittstelle verfügen.

Unabhängig vom Feldbussystem muss eine Abfragerate der Energiesensoren
festgelegt werden. Als Referenz wird hier die Taktzeit einer
ausgelasteten zentralen Steuerung herangezogen, welche für die Zwecke
der hinzukommenden Übermittlerrolle der Messwerte zum
Verarbeitungssystem nicht unterschritten werden kann. Als oberes Limit
ist bei den zu betrachtenden Kernschießanlagen die Dauer der kürzesten
Aktorbetätigung der Kernschießmaschine anzusetzen. Nach Aussage der
zuständigen Mitarbeiter ist dafür ein Intervall von \(100\mathrm{ms}\)
ausreichend. Zudem werden von \emph{IO-Link}-Teilnehmern die Prozessdaten bereits periodisch übertragen. Beim \emph{IFM DF2101} $24\mathrm{V}$ IO-Link Sensorsystem ist beispielsweise eine minimale Zykluszeit von \(20\mathrm{ms}\) angegeben (siehe Anhang \ref{ifm_df2101}). In Kombination der beiden Grenzwerte wird daher je nach
Möglichkeit ein Messintervall von \(20\mathrm{ms}\) angestrebt. Somit
können auch sehr kurzzeitige Fehlerereignisse erkannt und analysiert
werden.

\subsection{Übertragung der
Messwerte}\label{uxfcbertragung-der-messwerte}

Für dieses Projekt ist neben den bereits genannten Standardkomponenten
der Energiesensoren, Feldbusverteilern und Interfacemodulen auch ein
Computer (Box-PC) hinzuzufügen, welcher die Aufgabe der Verarbeitung der
aufgenommenen Messwerte übernimmt. Ein solcher Computer ist in der Lage
mit der zentralen Steuerung (SPS) der Anlage zu kommunizieren und von
ihren Daten abzufragen. Die SPS ist daher so zu konfigurieren, dass sie
zusätzlich zu ihrer Hauptaufgabe, die Anlage zu steuern, auch die Daten
von den neu hinzugefügten Sensoren an den PC weiterreicht. Hierzu können
zwei Methoden verwendet werden: Zum einen kann der Box-PC die von der
SPS gesammelten Messwerte periodisch abfragen und zum anderen kann die
SPS die Daten selbstständig zum PC übermitteln. In beiden Fällen muss
jedoch ein Protokoll verwendet werden, welches von beiden Seiten
unterstützt wird. Es ist beispielsweise nicht möglich ProfiNet Pakete
über eine Ethernetverbindung mit einem generischen Linuxkernel zu
empfangen, weil dieser nicht in der Lage ist, das Echtzeitkriterium des
ProfiNet-Standards zu erfüllen. \cite{Profinet}

Zusätzlich zu den Energiewerten werden, wie in der Darstellung zu sehen
ist, auch Statusinformationen der Kernschießmaschine gesammelt und
ausgewertet. Diese helfen die Strommessungen in einem zeitlichen Kontext
einzuordnen und somit die Qualität der Analyse zu verbessern. Als
Datenpunkte sind hier hauptsächlich die Befehle der Steuerung an die
Aktoren von Interesse, denn diese Informationen lassen sich gut zu den
Verbräuchen der aktivierten Komponenten zuordnen. Während der
Datenverarbeitung kann somit beispielsweise gezielt nach
Anlagenzuständen gefiltert werden oder es können langfristige
Veränderungen der Energieverbräuche auf einen bestimmten Prozessschritt
zurückgeführt werden.

\subsection{Datenverarbeitung}\label{datenverarbeitung}

Die Verarbeitung findet auf einer PC-Plattform statt, da PC-Systeme
flexibel eingesetzt und die verwendete Software ohne großen Aufwand modifiziert werden kann. Die Verarbeitung der Daten
kann dadurch beispielsweise vor Ort auf einem industriellen Box-PC, oder
auch über eine Netzwerkverbindung aus einem entfernten Datenzentrum
durchgeführt werden. Aus sicherheitstechnischen Gründen darf die
verwendete Plattform nur lesend über die erhobenen Messwerte verfügen
und nicht in den Prozessablauf der Anlage eingreifen. Das in Abbildung \ref{fig:datenfluss} dargestellte Programm \emph{PLC-Connector} ist mit dieser Arbeit eigens für jenen Zweck entwickelt worden und wird in Kapitel \ref{verarbeitungssoftware} näher erläutert.

Die Datenverarbeitung findet in zwei Schritten statt. Zunächst wird
periodisch mit den datenüber-mittelnden Komponenten des
Aufbaus kommuniziert, um dann anschließend die erhaltenen Datensätze für
die weitere Verarbeitung bereitzuhalten. Diese abzufragenden Komponenten können zum
Beispiel die zentrale Steuerung der Kernschießmaschine, einzelne
Interfacemodule oder netzwerkfähige Energiesensoren aus dem vorherigen
Kapitel sein.
Jeder Datensatz wird unabhängig von seiner Quelle abgefragt und mit einem genauen Zeitstempel der PC-Plattform bestückt, um bei der folgenden asynchronen
Weiterverarbeitung die zeitlich korrekte Reihenfolge der Datensätze der
verschiedenen Quellen sicherzustellen. Im zweiten Schritt werden die Datensätze in einem zentralen Prozess weiterverarbeitet. Es werden zuerst die Verbrauchswerte wie Ströme und Spannungen mit dem
Status der Anlagensteuerung kombiniert, sodass pro Prozessschritt ein
wiederholbares Datenbild entsteht. Ein Prozessschritt ist ein zeitlich
begrenzter Zustand der Anlage, in der eine bestimmte Gruppe von Aktoren
aktiviert wird. Dies kann beispielsweise das Einfahren des Auswerfers
sein. Die elektrischen Verbräuche während dieses Schrittes können so als
Funktion der Schrittnummer und Zeit nach Beginn des Vorgangs dargestellt
werden. Das Datenbild besteht dann im einfachsten Fall aus
Versorgungsleistungen und Strömen der $24\mathrm{V}$-Kanäle.

Nun werden die Differenzen des Datenbildes zwischen dem Ausgangszustand
und der Aktivierung eines Prozessschrittes berechnet. Dadurch können die
Verbräuche der jeweiligen Prozessschritte von den Standbyströmen der
inaktiven Komponenten der Anlage isoliert werden. Der Ausgangszustand
sollte zeitlich nah am Messvorgang liegen, damit äußere Einflüsse
wie Versorgungsspannung und Umgebungstemperatur einen geringeren Effekt
auf die berechneten Differenzen haben.

Anschließend werden je nach erwartetem zeitlichem Verlauf des Datenbilds
einige Aggregationen wie Durchschnitt, Maximum oder Varianz einzelner
Kanäle erhoben, um schließlich einfache Kennzahlen für diesen Schritt zu
erhalten. Damit können nun Aussagen wie beispielsweise
„Das für den Auswerfer zuständige Ventil hat beim zweitausendsten Aktivieren einen zusätzlichen Strom von $1,3\mathrm{A}$ verbraucht.“
getroffen werden.

\subsection{Datenspeicherung}\label{datenspeicherung}

Die Ergebnisse der Datenverarbeitung werden in einer Datenbank gespeichert. Die Datenbank ist in der Lage, die errechneten Kennzahlen in einer Zeitserie zu speichern, sodass die Veränderung der Kennzahlen über einen längeren Zeitraum beobachtet werden kann. Sie ermöglicht es außerdem, die Daten in verschiedenen Formaten auszugeben, sodass die Ergebnisse in Tabellen, Diagrammen oder auch als Rohdaten exportiert werden können. Die Datenbank ist so aufgebaut, dass sie auch von anderen Programmen verwendet werden kann. So können beispielsweise die Daten in einem Programm zur statistischen Auswertung weiterverarbeitet werden, um die Ergebnisse zu visualisieren oder um statistische Kennzahlen zu berechnen.

\subsection{Visualisierung}\label{visualisierung}

Je nach Bedarf kann die Visualisierung vor Ort am HMI der Anlagen
erfolgen oder auch beispielsweise über einen Browser auf einem
entfernten PC. Hier besteht kein großer Entwicklungsbedarf, da eine Einbindung an ein bestehendes System der LMS angedacht ist. Für eine offene Verwendung des \emph{PLC-Connector} kann auch auf fertige universelle Visualisierungssoftware zurückgegriffen werden. Die einzige Einschränkung ist, dass diese mit der gewählten Datenbank kommunizieren können muss.

\newpage
\section{Implementierung}\label{implementierung}

\subsection{Wahl des
480V-Sensorsystems}\label{wahl-des-480v-sensorsystems}

Für die Suche nach einem geeigneten $480\mathrm{V}$-Sensorsystem wurden im Rahmen der Problemstellung diverse Kriterien definiert, die das Sensorsystem erfüllen muss. Diese Kriterien sind:

\begin{itemize}
\item
  Die Messwerte müssen unmittelbar abrufbar sein.

  Es ist wichtig, dass die Messung
  in Echtzeit erfolgt, damit die Verarbeitung und Filterung der Daten
  vor der Speicherung erfolgen kann. Zudem bietet dies die Möglichkeit,
  zeitnah Alarme aus möglichen Fehlzuständen zu generieren. Wenn die
  Messung nicht in Echtzeit erfolgt, dann müssten die Messwerte
  periodisch von der aufzeichnenden Hardware abgefragt werden. Das würde
  die Reaktionszeit des Systems verlangsamen und mögliche kurzzeitige
  Störungen könnten nicht erkannt werden.
\item
  Das System muss für industrielle Umgebungen geeignet sein.

  Da das System in einem industriellen Umfeld eingesetzt werden soll,
  muss es für diese Umgebung geeignet sein. Es muss eine lange
  wartungsarme Lebensdauer aufweisen, um mögliche Reparaturaufwände
  gering zu halten. Zudem muss es die entsprechenden Zertifizierungen
  besitzen, um die Sicherheit des Systems zu gewährleisten. Diese umfassen beispielsweise die Schutzart gegen Wasser und Fremdkörper oder die CE-Kennzeichnung.
\item
  Das Sensorsystem muss über einen Feldbus, TCP/IP oder IO-Link
  angesprochen werden können.

  Da das System in ein bestehendes Feldbusnetzwerk eingebunden werden
  soll, muss es über einen standardisierten Feldbus verfügen. Dieser
  muss von der bestehenden Hardware unterstützt werden. In diesem Fall
  müssen die Feldbusprotokolle ProfiNet und EtherNet/IP unterstützt
  werden. Alternativ kann das System über IO-Link angesprochen werden.
  Dieser Standard ist in der Industrie weit verbreitet und wird auch in
  allen Anlagen von LMS eingesetzt.
\item
  Das System muss internationale Versorgungsspannungen unterstützen.

  Da das System in Kernschießanlagen eingesetzt wird, die in verschiedene
  Länder exportiert werden, muss das System eine Vielzahl an
  Einspeisespannungen unterstützen. Da die Versorgungsspannung in den
  USA beispielsweise $480\mathrm{V}$ beträgt, muss das System auch diese Spannung
  unterstützen. Eine Ausnahme bildet das kanadische Stromnetz, welches
  $600\mathrm{V}$ verwendet. Für dieses Netz kann dem System später um eine
  entsprechende Spannungsumsetzung erweitert werden.
\end{itemize}

\pagebreak
Unter diesen Kriterien sind nun diverse Energieerfassungssysteme
recherchiert worden. Die Ergebnisse der Recherche sind in folgenden
Tabelle zusammengefasst:

\begin{longtable}[]{@{}lllll@{}}
\toprule
\begin{minipage}[b]{0.16\columnwidth}\raggedright\strut
Hersteller\strut
\end{minipage} & \begin{minipage}[b]{0.19\columnwidth}\raggedright\strut
Artikelnummer\strut
\end{minipage} & \begin{minipage}[b]{0.18\columnwidth}\raggedright\strut
Beschreibung\strut
\end{minipage} & \begin{minipage}[b]{0.12\columnwidth}\raggedright\strut
Feldbus\strut
\end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedright\strut
Kennwerte\strut
\end{minipage}\\
\midrule
\endhead
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Schneider Electric\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://www.se.com/de/de/download/document/PLSED310037EN_Web/}{EM3550}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Energiemonitor\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
600V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Mitsubishi\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://www.mitsubishielectric.com/fa/products/pmng/ems/pmerit/ecomonitor/ecomonitor_Light_2.html}{EMU4-HD1-MB}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Energiemonitor\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU / Modbus TCP / CC-Link / CC-Link IE\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
480V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Mitsubishi\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{http://dl.mitsubishielectric.com/dl/fa/document/catalog/ems/ym-c-y-0753/y0753b1706.pdf}{EMU4-HM1-MB}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
modularer Energiemonitor\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU, CC-Link\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
480V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Siemens\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://mall.industry.siemens.com/mall/en/de/Catalog/Products/10289825?activeTab=ProductInformation\#Application}{7KT
PAC1200}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
mehrkanäliger Strommesssser\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
LAN/IP\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
40/63 A\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Siemens\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://assets.new.siemens.com/siemens/assets/api/uuid:c9a01401-9ad0-424b-9621-b6ee730381f9/energiemonitoring-quick-selection-guide-brochure.pdf}{AI
Energy Meter} +
\href{https://support.industry.siemens.com/cs/mdm/109773210?c=152724557707\&lc=de-WW}{ET
200SP IM 155-6 MF HF}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Energiemeterkarte auf einem Interfacemodul\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
ProfiNet + EtherNet/IP\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
480V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Janitza\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://www.janitza.de/umg-801.html}{UMG801}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Power Analyser, modular erweiterbar\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU / TCP + OPC UA\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
480V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Hager\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://www.hager.ch/loesungen/zweckbau/schutzgeraete/leistungsschalter-h3+/423497.htm}{h3+}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Leistungsschalter\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
480V AC\strut
\end{minipage}\\
\begin{minipage}[t]{0.16\columnwidth}\raggedright\strut
Eaton\strut
\end{minipage} & \begin{minipage}[t]{0.19\columnwidth}\raggedright\strut
\href{https://datasheet.eaton.com/datasheet.php?model=192145\&locale=de_DE}{NZM2
PXR25}\strut
\end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright\strut
Leistungsschalter\strut
\end{minipage} & \begin{minipage}[t]{0.12\columnwidth}\raggedright\strut
Modbus RTU\strut
\end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright\strut
690V 100A AC\strut
\end{minipage}\\
\bottomrule \\
\caption{Anbieter von Energieerfassungssystemen} \footnote{Stand: 10.2021}

\label{480v_suppllier}
\end{longtable}


Zum Zeitpunkt der Recherche waren keine Energiesensoren mit
IO-Link-Schnittstelle für den industriellen Gebrauch auffindbar. IO-Link
ist jedoch ein Standard, der in der Industrie immer mehr an Bedeutung
gewinnt und in Zukunft sicherlich auch in diesem Bereich eingesetzt
werden wird. Sein Vorgänger, Modbus RTU, wird nicht in den zu
betrachtenden Kernschießmaschinen eingesetzt.\cite{EPLAN_113638_LFB65,EPLAN_113620_LL20} Daher können alle
Ergebnisse aus der Tabelle mit diesem Feldbus ausgeschlossen werden.
Ähnlich dazu ist auch CC-Link IE nicht wünschenswert, da es nur bei Anlagen
mit Mitsubishi Steuerungen zum Einsatz kommt. Dieser Feldbustyp
existiert zwar unter den von LMS hergestellten Produkten; wird aber
bei Kernschießmaschinen nur sehr selten eingesetzt. Außerdem
unterstützen alle Mitsubishisteuerungen das EtherNet/IP-Protokoll
\cite{mitsubishi_cpu}, auf das durch seine weit verbreitete Verwendung in
Rockwell-Anlagen eher zurückgegriffen werden sollte. Somit können in allen Mitsubishi Anlagen die EtherNet/IP-Sensoren verwendet werden. 
Zudem sind die Steuerungen vom Typ MELSEC iQ-R um eine ProfiNet-Karte erweiterbar, was auch den Einsatz des ProfiNet Feldbusses möglich macht.

Als letzte Einschränkung ist noch zu erwähnen, dass die meisten der hier aufgeführten Sensoren nur für $480\mathrm{V}$ AC ausgelegt sind. Dies ist für die meisten Kernschießmaschinen ausreichend, da diese in der Regel mit $480\mathrm{V}$ AC (US) oder $400\mathrm{V}$ AC (EU) betrieben werden. Für diejenigen Maschinen, die mit $690\mathrm{V}$ AC betrieben werden, ist der Eaton NZM2 PXR25 die einzige Option.

Die nächstbeste Kommunikationsschnittstelle, die zur direkten Anbindung
an den datenverarbeitenden Computer geeignet ist, ist unter den
Ergebnissen das OPC-UA vom \emph{UMG801} Power Analyser. Dieses
Protokoll ist ein offenes Protokoll das auf TCP/IP basiert, wodurch die
softwareseitige Anbindung an diese Einheit möglich wäre. Nach einigen Tests
wurde festgestellt, dass die Kommunikation mit dem \emph{UMG801} Power Analyser über OPC-UA nur mit Hilfe einer zusätzlichen Software möglich ist. Diese Software ist jedoch nicht kostenlos und muss separat erworben werden. 
Zudem liefert der UMG801 Power Analyser die Echtzeit-Messdaten nur über seine Modbus RTU Schnittstelle und nicht über OPC-UA. Daher ist die Kommunikation mit dem \emph{UMG801} Power Analyser über OPC-UA nicht wünschenswert.

Der letzte Strommesser
mit TCP/IP-Anbindung ist der \emph{7KT\ PAC1200} von Siemens. Dabei
handelt es sich aber nur um eine Reihe von Stromsensoren. Die somit fehlende Erfassung der Spannung lässt keine Berechnung der Momentanleistung der
Einspeisung zu. Hier wäre eine zusätzliche synchrone Erfassung der Drehspannungen nötig, welche wiederum Kosten und Komplexität mit sich bringt. Daher ist auch dieser Strommesser nicht wünschenswert.

Die letzte in Betracht kommende Option ist die Verwendung der Siemens
AI-Energy-Meter-Karte auf einem Siemens Interfacemodul. Diese Karte
erfüllt alle Kriterien und ist nebenbei eine sehr platzsparende
Messeinrichtung. Sie unterstützt einen Messbereich von \(480\mathrm{V}\)
und ist somit für den internationalen Einsatz geeignet. Als
Interfacemodul, an dem die Energiemeterkarte aufgesteckt wird, wird das
\emph{ET\ 200SP\ IM\ 155-6\ MF\ HF} eingesetzt. Dieses ist die
\emph{Multi-Fieldbus} Variante eines regulären Interfacemoduls und kann
dadurch in ProfiNet- und EtherNet/IP-Netzwerken eingesetzt werden.
Dadurch ist es möglich, die Messwerte an die entsprechende zentrale
Steuerung von Siemens oder Allen-Bradley zu übermitteln.

\subsection{Wahl des 24V-Sensorsystems}\label{wahl-des-24v-sensorsystems}

Für die Erfassung der Kleinstspannungskreise wird ein $24\mathrm{V}$-Strommesssystem eingesetzt. Dieses kann direkt im Netzteil, in den Untersicherungen oder als separate Einheit vor den Potenzialklemmen der Anlage platziert werden. Je nach Anordnung können so mehr oder weniger aufgeteilte Ströme erfasst werden. Die Messung der Spannung ist bei allen drei Varianten nur einmal notwendig, da es auf den kurzen Wegen im Schaltschrank zu keinen signifikanten Spannungsabfällen kommt. Mit Hilfe der Spannung und der Stromstärke kann die Leistungsaufnahme der einzelnen Komponentengruppen hinter den Stromsensoren berechnet werden. Wie bei der Messung der Einspeisung sind verschiedene Messsysteme in Betracht gezogen worden. Die Auswahlkriterien sind dabei die gleichen wie bei der Messung der Einspeisung. Die Messsysteme, die in Betracht gezogen wurden, sind in Tabelle \ref{24v_supplier} aufgeführt. Die Messsysteme sind in der Tabelle nach den Kriterien aufgelistet, die für die Integration in die bestehende Potenzialverteilung in LMS Kernschießanlagen wichtig waren.

\begin{longtable}[]{@{}lllllll@{}}
  \toprule 
  \begin{minipage}[b]{0.06\columnwidth}\raggedright
  Hersteller\strut
  \end{minipage} & \begin{minipage}[b]{0.18\columnwidth}\raggedright
  Artikelnummer\strut
  \end{minipage} & \begin{minipage}[b]{0.14\columnwidth}\raggedright
  Bustyp\strut
  \end{minipage} & \begin{minipage}[b]{0.09\columnwidth}\raggedright
  Nennstrom in A\strut
  \end{minipage} & \begin{minipage}[b]{0.08\columnwidth}\raggedright
  Kanäle max.\strut
  \end{minipage} & \begin{minipage}[b]{0.18\columnwidth}\raggedright
  Spannungsmessung\strut
  \end{minipage}\tabularnewline
  \midrule
  \endhead
  \begin{minipage}[t]{0.06\columnwidth}\raggedright
  Block\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.block.eu/de_DE/produktvariante/eb-io-link/}{EB-IO-LINK}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40x1\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  azyklisch\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.06\columnwidth}\raggedright
  Block\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.block.eu/de_DE/produktvariante/eb-io-link1/}{EB-IO-LINK1}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  16x1\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  azyklisch\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.06\columnwidth}\raggedright
  Wago\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.wago.com/de/stromversorgungen/elektronischer-schutzschalter/p/787-1668_000-080\#downloads}{787-1668/000-080}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  80\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  1x8\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  azyklisch $\pm 100\mathrm{mV}$\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.06\columnwidth}\raggedright
  Rockwell\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.rockwellautomation.com/de-at/products/hardware/allen-bradley/circuit-and-load-protection/electronic-circuit-protection-modules/1694-electronic-circuit-protection.html}{1694-PFD1244}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  16x1 / 16x2\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  azyklisch $\pm 10\mathrm{mV}$\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.06\columnwidth}\raggedright
  ifm\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.ifm.com/de/de/product/DF2101?tab=documents}{DF2101}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  16x1 / 8x2\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  zyklisch $\pm 10\mathrm{mV}$\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.08\columnwidth}\raggedright
  E-T-A\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.e-t-a.de/produkte/intelligente_stromverteilung/controlplex/controlplex_dinrail/controlplex_dinrail_em12d_tio/}{EM12D-TIO-000-DC24V-40A}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  IO-Link\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  16x1 / 8x2\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  zyklisch\strut
  \end{minipage}\tabularnewline
  \begin{minipage}[t]{0.08\columnwidth}\raggedright
  E-T-A\strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \href{https://www.e-t-a.de/produkte/intelligente_stromverteilung/controlplex/controlplex_dinrail/controlplex_system_cpc12_profinet_ethercat_ethernetip_modbus_tcp/}{ControlPlex®
  System CPC12}\strut
  \end{minipage} & \begin{minipage}[t]{0.14\columnwidth}\raggedright
  PROFINET, EtherCAT, EtherNET/IP, Modbus TCP\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  40\strut
  \end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright
  \strut
  \end{minipage} & \begin{minipage}[t]{0.18\columnwidth}\raggedright
  \strut
  \end{minipage}\tabularnewline
  \bottomrule \\
  \caption{Anbieter von 24V Strommesssystemen} \footnote{Stand: 10.2021}

  \label{24v_supplier}
  \end{longtable}

\noindent
Im Unterschied zu den Einspeisungsmesssystemen sind die Messsysteme hier nicht auf unerwünschte Bussysteme beschränkt, sondern können meist auch direkt mit dem Punkt-zu-Punkt-Protokoll IO-Link angesprochen werden. Unter den Systemen, die IO-Link unterstützen, gibt es fünf, welche auch mindestens $16$ Strommesskanäle besitzen. Die Anlagen von LMS sind meist in so viele logische Versorgungsgruppen unterteilt, sodass mit dieser Wahl eine Eins-zu-Eins Beziehung zwischen Versorgungsgruppen und Messkanälen möglich ist. Der gemeinsame Nennstrom von $40\mathrm{A}$ ist für den Anwendungsfall ausreichend, da in der Regel auch nur Netzteile mit $40\mathrm{A}$ Nennstrom eingesetzt werden. Von den fünf Kandidaten senden nur zwei den Messwert der Spannung im zyklischen Datensatz der IO-Link Verbindung. Die anderen drei senden nur den Messwert der Stromstärke. Da für die Berechnung der Leistungsaufnahme immer ein aktueller Spannungswert benötigt wird, können diese drei auch ausgeschlossen werden. Die beiden verbleibenden Systeme unterscheiden sich kaum und es kann sich möglicherweise um identische Hardware handeln, da diese beiden Produkte auch optisch sehr ähnlich aussehen. Letztendlich wurde sich bei der Durchführung der Testversuche für das IFM Kopfmodul \emph{DF2101} mit acht der zweikanaligen Sicherungsmodule \emph{DF2220} entschieden.

\pagebreak
\subsection{Verarbeitungssoftware}\label{verarbeitungssoftware}

Die Software für dieses Projekt übernimmt die Aufgaben der
Datenverarbeitung und -speicherung. Zudem müssen die aufgenommenen Messwerte von der zentralen Steuerung der Kernschießmaschine eingelesen werden.
Das dafür vom Autor selbst geschriebene Programm „PLC-Connector“ ist in diesem Abschnitt genauer beschrieben. Es ist der Arbeit beigefügt.\cite{plc_connector}
Dort befinden sich auch Anleitungen zur Installation und Nutzung der Software. 
Die Benutzerschnittstelle zur Visualisierung der Ergebnisse
des Systems kann im Nachhinein durch ein generisches Interface zur
Datenbank geschehen, da die dort enthaltenen Daten schon durch den \emph{PLC-Connector} und dessen entsprechende
Signalverarbeitungsmodule aufbereitet sind. Ein Beispiel für ein solches Setup ist auch im Softwareverzeichnis enthalten. Es besteht aus einer \emph{docker-compose} Datei, welche die Container für die Datenbank und das Interface startet. Das Interface ist in diesem Fall ein \emph{Grafana} Dashboard, welches die Daten aus der Datenbank abruft und visualisiert. Die Datenbank ist eine \emph{InfluxDB} Instanz. Ein \emph{Dockerfile} zum Bauen des Containers für den \emph{PLC-Connector} ist ebenfalls im Softwareordner enthalten.

\begin{figure}[H]
  \centering
  \includegraphics[width=16cm]{out/diagrams/plc-connector-main/PLC-Connector-main.png}
  \caption{Programmablaufplan des PLC-Connectors}
  \label{plc-connector}
\end{figure}

Der \emph{PLC-Connector} ist modular aufgebaut, sodass verschiedene
Module einfach ausgetauscht werden können. Abbildung \ref{plc-connector} zeigt, wie die verschiedenen Module (rot markiert) im Programm verwendet werden. Dazu sind sie in die folgenden drei Kategorien unterteilt:


\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
  Inputs

  Ein \emph{Input}-Modul stellt die Verbindung zu einer bestimmten
  Komponente der Anlage her und bezieht über diese periodisch die
  Messwerte eines oder mehrerer Sensoren. Die Komponenten können
  beispielsweise Feldbusverteiler, netzwerkfähige Sensoren oder die
  zentrale Steuerung einer Anlage sein. Je nach Modul kommen
  unterschiedliche Protokolle zur Kommunikation zum Einsatz. Unter
  diesen sind zum Beispiel EtherNet/IP und das S7-Protokoll vertreten.
\item
  Middlewares

  Eine \emph{Middleware} ist ein Algorithmus, der strukturierte
  Datensätze der aktiven \emph{Input}-Module entgegennimmt und die für
  die Auswertung interessanten Informationen extrahiert. Eine erste
  \emph{Middleware} ingestiert beispielsweise die Werte mehrerer
  \emph{Inputs} und führt eine zeitliche Korrelation durch. Die
  dadurch entstandenen Datenpakete können dann optional an weitere
  \emph{Middlewares} weitergegeben werden, welche andere Analysen
  durchführen. Schließlich kann eine Middleware ihre Ergebnisse an die
  \emph{Outputs} übergeben.
\item
  Outputs

  \emph{Outputs} sind Datensenken, welche Datensätze von
  \emph{Middlewares} entgegennehmen und abspeichern. Ein \emph{Output}
  archiviert beispielsweise die Datensätze in CSV Dateien und ein
  anderes sendet sie an eine Influxdb-Datenbank.
\end{enumerate}

Die Module werden durch ein zentrales Python-Programm geladen, welches auch die initiale Konfiguration und die Datenübertragung zwischen den Modulen orchestriert. Ansonsten arbeiten die Module komplett autonom.
Die Verbindungen und Parameter der Module sind in einer zentralen
Konfigurationsdatei \texttt{config.yml} definiert. Diese Datei wird von dem \emph{PLC-Connector} mittels \texttt{python3 main.py -c config.yml} geladen und gibt die Typen, die Parameter und die Untermodule der Module vor. Die Module werden dann entsprechend initialisiert und ausgeführt. Beispiele für mögliche Konfigurationsdateien sind in der beigefügten Software enthalten.

\newpage
\subsubsection*{Input-Module}
Das erste implementierte Input-Modul trägt den Namen \texttt{snap7\_connect} und stellt aktiv eine Verbindung zu einer Siemens-Steuerung auf. Die IP-Adresse der Steuerung kann über den Parameter \texttt{address} gesteuert werden. Im Versuch ist dieser Wert auf die Adresse der zentralen Steuerung der \emph{LFB665} gesetzt. Nachdem die Verbindung über das S7-Protokoll aufgebaut ist, beginnt das Modul aller $50\mathrm{ms}$ einen Lesebefehl zu senden. Es werden dabei die ersten fünf Bytes des Datenbausteins \texttt{DB3} abgefragt, welche die in Anhang \ref{siemens_tags} aufgelisteten Statusbits enthalten. Somit kann der Status einer LFB65 Kernschießmaschine an die Middleware-Module übertragen werden.
Das Input-Modul namens \texttt{snap7\_server} emuliert eine Siemens-Steuerung und lässt dadurch Verbindungsanfragen von echten CPUs auf das \emph{PLC-Connector}-Programm zu. Es wurde in den in Kapitel \ref{praktische-versuche} durchgeführten Versuchen verwendet, um von der \emph{ET200SP CPU} passiv Messwerte zu empfangen. Das Timing der S7-Pakete kann dabei über einen Interrupt in der SPS gesteuert werden und ist somit viel präziser als eine PC-seitige Anfrage. Für seine Verwendung ist die Erstellung eines S7-Send-Blocks in der Steuerung notwendig, aber bietet den Vorteil des genaueren Zeitintervalls. Zur Erhaltung eines PLC-seitigen Zeitstempels kann der Betriebszeitzähler $cpu\_uptime$ optional mit im Datenblock abgelegt werden und dann mit einer Tiefpass-gefilterten Differenz zum lokalen Zeitstempel $local\_time$ zu einem echten UTC Zeitstempel umgewandelt werden.

\begin{equation}
  \begin{aligned}
  \Delta T &= local\_time - cpu\_uptime \\
  dt_0 &= \alpha \cdot dt_{-1} + (1 - \alpha) \cdot \Delta T \\
  t &= cpu\_uptime + dt_0 \\
\end{aligned}
\end{equation}

Eine Referenzimplementierung dieses Verfahrens befindet sich im Modul \texttt{snap7\_server} in der Methode \texttt{get\_timestamp} mit dem Wert $\alpha = 0,999$. Bei einer Abfragefrequenz von $f=50\mathrm{Hz}$ entspricht dies einer Zeitkonstante des Filters von $T\approx20\mathrm{s}$:

\begin{equation}
  \begin{aligned}
    1-\frac 1 e &= 1 - \alpha^{f \cdot T} \\
    \frac{1}{e} - 0,999^{50} &= 0,999^T \\
    e &\approx e^{0,05T} \\
    T &\approx 20\mathrm{s} \\
\end{aligned}
\end{equation}

\subsubsection*{Middleware-Module}
Wie in Abbildung \ref{plc-connector} zu sehen ist, werden die Daten der \emph{Inputmodule} zyklisch an die \emph{Middleware}-Module übergeben. Das erste Modul dieser Kategorie übernimmt die Korrelation der Zeitstempel und die Synchronisation der relevanten Informationen. Es liegt in der Datei \texttt{time\_correlation.py}. Zur Korrelation werden alle Datensätze der verschiedenen Inputs in eine Liste kombiniert und anschließend nach ihrem Zeitstempel sortiert. Damit wird sichergestellt, dass die Datenpakete der verschiedenen Inputs während eines Durchlaufs immer synchron sind. Für die Messwerte, die sich zwischen zwei Zyklen der Hauptschleife der \emph{PLC-Connector}-Software befinden, wird ein zusätzlicher Schritt der Synchronisation angewendet: Anstelle die sortierten Datenpunkte direkt zusammenzuführen, werden sie für einen Zyklus zwischengespeichert und dann noch einmal den neuen Werten angefügt und sortiert. Danach wird nur die Anzahl der vorherigen Datenpunkte freigegeben und die neuen wieder zwischengespeichert. Somit werden Verzögerungen der Datenquellen um bis zu einer Intervallperiode ausgeglichen.
Zur Korrelation werden nun die sortierten Datensätze iteriert und pro Inputtyp in ein Statusverzeichnis kopiert. Für jeden Zeitpunkt wird so ein Abbild aller Inputs zu einem neuen Datentypen zusammengefasst und an die folgenden Middleware-Submodule weitergegeben.

Die nächste implementierte Middleware ist das \texttt{Aggregate}-Modul. Es nimmt eine Datenserie entgegen und wendet darauf eine oder mehrere Aggregationsfunktionen an. Die Aggregationsfunktionen werden in der Konfigurationsdatei definiert und können beliebig kombiniert werden. Gegenwärtig werden die folgenden Aggregationsfunktionen unterstützt: \texttt{avg}, \texttt{first}, \texttt{last}, \texttt{min}, \texttt{max} und \texttt{sum}. Sie werden über den eingestellten Zeitintervall auf eine gegebene Liste von Feldern der Datenquellen angewendet. Sobald ein Datensatz außerhalb des angegebenen Zeitintervalls liegt, wird die Aggregationsfunktion auf die vorherigen Daten angewendet und das Ergebnis an die nächsten Module weitergegeben. Dabei wird der letzte Datensatz kopiert und die Aggregationswerte in die Felder eingetragen. Um die Anzahl der resultierenden Datensätze zu untersuchen, kann das Debug-Modul \texttt{PrintStats} als Untermodul hinzugefügt werden. Es gibt die Rate der Datensätze in der Konsole aus.

Wenn nur bestimmte Datensätze weitergegeben werden sollen, dann können Module aus der Datei \texttt{filters.py} verwendet werden. Diese Module nehmen eine Datenserie entgegen und geben nur die Datensätze weiter, die den Filterkriterien entsprechen. Zur Zeit werden die folgenden Filter implementiert: \texttt{MatchAny}, \texttt{MatchAll} und \texttt{ComplexFilter}. Der \texttt{MatchAny}-Filter gibt alle Datensätze weiter, die mindestens einem der angegebenen Filterkriterien entsprechen. Der \texttt{MatchAll}-Filter gibt nur Datensätze weiter, die allen angegebenen Filterkriterien entsprechen. Der \texttt{ComplexFilter} ist ein allgemeiner Filter, der beliebige Filterkriterien anwenden kann. Die Filterkriterien werden in der Konfigurationsdatei definiert und können beliebig kombiniert werden. Momentan unterstützen \texttt{MatchAny} und \texttt{MatchAll} nur das Gleichheitskriterium. Der \texttt{ComplexFilter} unterstützt hingegen arbiträre Python-Ausdrücke, die auf die Felder der Datensätze angewendet werden. So kann dieser beispielsweise Kriterien wie \texttt{"measurement\_480v and measurement\_24v and sum(measurement\_24v.current) > 20"} ausführen, um nur Datensätze weiterzugeben, die die Daten aus dem AI-Energy-Meter und IFM-Sicherungen enthalten und deren gesamter $24\mathrm{V}$ Stromverbrauch größer als $20\mathrm{A}$ ist.

Die letzte implementierte Middleware ist das \texttt{Selector}-Modul. Es nimmt eine Datenserie entgegen und gibt nur die Felder weiter, die in der Konfigurationsdatei angegeben sind. Dieses Modul ist nützlich, wenn nur bestimmte Felder weitergegeben werden sollen. Es kann auch verwendet werden, um die Datensätze zu kürzen, die an die \emph{Output}-Module weitergegeben werden. Wie beim \texttt{ComplexFilter}-Modul kann auch ein individueller Python-Ausdruck angegeben werden, der auf die Felder angewendet wird. Dieser kann beispielsweise die Felder \texttt{"measurement\_24v.current"} und \texttt{"measurement\_24v.voltage"} zu einem Feld zusammenfassen, welches die Leistungsaufnahme pro Kanal beinhaltet: \\
\texttt{"tuple([ c * measurement\_24v.voltage for c in measurement\_24v.current])"}.

\subsubsection*{Output-Module}

Die \emph{Output}-Module sind die letzten Module in der Kette. Sie nehmen Datenserien von Middlewares entgegen und geben sie an einen \emph{Output}-Adapter weiter. Zur Zeit werden die folgenden \emph{Output}-Module implementiert: \texttt{CSVStorage}, \texttt{InfluxDB} und \texttt{JSONOutput}. Das \texttt{CSVStorage}-Modul speichert die Datensätze in CSV-Dateien ab. Dabei werden jeweils $50.000$ Zeilen in eine CSV-Datei geschrieben und diese dann in eine gleichnamige ZIP-Datei verschoben. Alle nachfolgenden CSV-Dateien werden im Anschluss dem ersten Archiv hinzugefügt. Das \texttt{InfluxDB}-Modul schreibt die Datensätze in eine InfluxDB-Datenbank. Heirbei wird das Feld \texttt{series} verwendet, um die verschiedenen Datenserien zu unterscheiden. Falls ein Feld vom Typ \texttt{tuple} ist, dann wird dessen Index als Tag \texttt{channel} umfunktioniert, um das Influxdb-Schema bestmöglich auszunutzen. Das \texttt{JSONOutput}-Modul gibt die Datensätze als JSON-Objekte in der Konsole aus. Dieses Modul ist nützlich, um die Daten zu debuggen.

\section{Praktische Versuche}\label{praktische-versuche}

Der gewählte Messaufbau wurde bisher an zwei Kernschießanlagen getestet.
Dazu wurden alle benötigten Sensoren im Steuerungsschrank temporär
verbaut und die aufgenommenen Daten extern mit einer weiteren ET200
Siemens Steuerung verarbeitet. Bei den Kernschießmaschinen handelt es
sich um eine Anlage mit einer Steuerung von Siemens und eine mit einer
Allen-Bradley Steuerung. In beiden Versuchen wurden die elektrischen
Werte der Einspeisung, die Ströme der Kleinstspannungsverbraucher und
der Anlagenstatus anhand des Programms auf der Steuerung aufgezeichnet.
Zum Zeitpunkt der beiden Versuche fand noch keine tiefgehende Analyse statt.
Diese erfassten Rohdaten wurden anschließend zur Analyse und für die Erarbeitung der Middleware-Module des PLC-Connector Programms (siehe vorheriges Kapitel) per Replay-Inputmodul wiederholt eingespielt.

\subsection{Siemens Anlage LFB65}\label{siemens-anlage-lfb65}

Der erste praktische Test wurde an einer Kernschießmaschine vom Typ
LFB65 in der 19. Kalenderwoche 2022 durchgeführt. Als Sensoren sind hier zum einen eine Strommessung an der \(24\mathrm{V}\) Versorgung mit Hilfe der elektrischen Sicherungen von IFM und zum anderen eine
Instrumentierung der elektrischen Einspeisung mit dem AI-Energy-Meter von Siemens vorgesehen. Die Messwerte der beiden Sensorgruppen werden über IO-Link und respektive Rückwandbus zu einer \emph{ET200SP CPU} zusammengeführt. Diese CPU ist nicht die zentrale Steuerung der Anlage und befindet sich im Versuch auf einem separaten Teststand, der an die Kernschießmaschine angeschlossen wurde (siehe Anlage \ref{img_interfacemodul}).

\begin{figure}[H]
\centering
\includegraphics[width=16cm]{out/diagrams/hengli/Hengli.png}
\caption{Siemens Versuch}
\label{hengli}
\end{figure}

Die Strommessung der
\(24\mathrm{V}\)-Ebene wird durch einen digitalen Leitungsschutzschalter von
IFM über-nommen. Dieser besteht einem Kopfmodul (Typ DF2101) und bis zu
16 daran angereihten Sicherungskanälen. Am Kopfmodul kann eine \(24\mathrm{V}\)-Versorgung mit bis zu $40\mathrm{A}$ Nennstrom angeschlossen werden. Es besitzt auch die IO-Link Schnittstelle, mit der die Werte der Versorgungsspannung und der Ströme der einzelnen Sicherungskanäle abgefragt werden können. Das Kopfmodul DF2101 ist in diesem Versuch direkt an das zentrale
\(24\mathrm{V}, 40\mathrm{A}\) Netzteil der Anlage (links am Rand des
Fotos im Anhang \ref{img_ifm}) angeschlossen. Die acht Sicherungsmodule vom Typ DF2220 mit je zwei Kanälen sind von der CPU individuell zwischen \(1\) und \(10\mathrm{A}\) einstellbar. Sie übernehmen die Funktion der ursprünglich eingesetzten
Sitop Sicherungen von Siemens (grau im Foto \ref{img_ifm}, zwischen dem Netzteil und den IFM Modulen). Vier von fünf Sitop-Sicherungen mit je vier Kanälen sind
komplett deaktiviert, wobei die letzte noch drei der ursprünglich $19$
Ausgangskanälen und den Rest des Versuchsstandes (Foto \ref{img_interfacemodul})
versorgt. Die Verteilung der Kanäle ist im Anhang \ref{eplan_lfb65} als EPLAN-Auszug
dokumentiert.

Die zweite Sensorbaugruppe besteht zuerst aus drei Stromwandlern, die an
der Einspeisung der Anlage verbaut sind. Sie messen somit den gesamten
elektrischen Stromverbrauch der im Werk aufgebauten Anlage, inklusive
der Standby-Verbräuche. Zu den nicht aufgenommenen Energieverbräuchen
zählt wiederum die Stromaufnahme der Versorgungsmaschinen, welche die Anlage mit anderen Ressourcen wie Druckluft versorgt. Die
Anlage war beispielsweise zum Zeitpunkt der Messung am pneumatischen Netz des Prüfstandes angeschlossen. Des Weiteren werden bei den Prüfläufen der Anlagen nicht alle Anlagenteile aktiviert, da zum Beispiel während der Zyklen keine echten Sandkerne geschossen wurden.

Der Wandlungsfaktor, der bei der LFB65 Anlage eingesetzten Stromwandler
beträgt \(150\mathrm{A}:5\mathrm{A}\), was der maximalen Stromaufnahme
dieser Anlage entspricht. Zur Digitalisierung der elektrischen Werte
wird die Energiemeterkarte „AI Energy Meter“ von Siemens eingesetzt.
Diese ist über einen sechspoligen Trenner mit den eben genannten
Stromwandlern verbunden, welcher in Orange im Anhang \ref{img_interfacemodul} zu sehen ist. Am AI Energy Meter sind für die Messung der Versorgungsspannung auch die
drei Phasen der Einspeisung angeschlossen. Diese werden vor dem
Hauptschalter der Anlage abgegriffen (siehe EPLAN Anhang \ref{eplan_lfb65}) und mit
einem dreipoligen Leitungsschutzschalter (LS) mit \(6\mathrm{A}\)
Nennstrom abgesichert. Der LS ist rechts vom Trenner montiert.

Die AI-Energy-Meter-Karte ist auf einen sekundärseitigen Strom von
\(5\mathrm{A}\) und auf die Messung von Spannungen à
\(400\mathrm{V}\) eingestellt. Zur Fixierung des Sternpunktes der
Spannungen ist zusätzlich zu den drei Leitern auch der Neutralleiter 
der Einspeisung verbunden.
\footnote{Es ist hierbei anzumerken, dass bei der Einspeisung in industriellen
Anlagen, wie dieser Kernschießmaschine, häufig ein kombiniertes PE-N System (TN)
verwendet wird. Die Trennung in Neutral- und Schutzleiter findet somit
erst im Schaltschrank der Anlage statt. Alternativ ist auch ein IT oder TT System möglich.}

Links neben der Energiemeterkarte ist ein IO-Link-Master verbaut. Dieser
ist über ein dreipoliges IO-Link Kabel mit dem Kopfmodul der IFM
Sicherungen verbunden. Beide Karten stecken auf einer programmierbaren
ET-200SP CPU. Diese befindet sich im Anhang \ref{img_interfacemodul} direkt angrenzend zu
den beiden Karten und ist mit der darüberliegenden Netzwerk-Switch per
Ethernetkabel verbunden. Beide werden über die vorhin genannte
Sitop-Sicherung mit \(24\mathrm{V}\) Betriebsspannung versorgt.
\footnote{Auf dem Teststand befinden sich auch ein weiteres Netzteil, ein
Leitungsschutzschalter und ein ET-200SP Interfacemodul, welche alle
während des Versuchs nicht verwendet wurden.}

Die ET-200SP CPU erfasst periodisch die Messwerte der beiden per
Rückwandbus verbundenen Siemens-Karten und sendet sie via S7-Protokoll
an die selbstgeschriebene Anwendung „PLC-Connector“. Über IO-Link
werden dabei alle \(20\mathrm{ms}\) folgende Zustände der
IFM-Sicherungen ermittelt: Der gemessene Strom je Kanal im Bereich von
\([0.1,0.2,...,10.0]\mathrm{A}\), Schalt-, Überlast-, Kurzschluss-,
Grenzwert- und Tasterzustände, sowie die Spannung am Kopfmodul. Vom AI
Energy Meter werden zudem alle \(60\mathrm{ms}\) die L-N-Spannungen,
Leiterströme und Phasenwinkel der Drehstomversorgung aufgenommen.

Das verwendete Ethernetnetzwerk ist eine Erweiterung des
Überwachungsnetzes der Kernschießmaschine. Darin befinden sich
üblicherweise die zentrale Steuerung, mobile Zugänge zur Programmierung
der Anlage und das Bedienpult (HMI). In manchen Kernschießmaschinen von
LMS ist dort auch ein Box-PC mit der hauseigenen
\emph{Laempe-Digital-Cockpit}-Software (LDC) vorzufinden. Bei der im Versuch
verwendeten LFB65-Anlage sind alle bereits vorhandenen Teilnehmer in der
unteren Hälfte des Subnetzes \texttt{192.168.0.0/24} anzufinden. Zum
Beispiel besitzt die zentrale Steuerung die Adresse
\texttt{192.168.0.5}. Demzufolge werden für die Erweiterung des
Netzwerks statische Adressen im Subnetz \texttt{192.168.0.192/26}
eingesetzt. Die hinzugefügten Teilnehmer umfassen die ET-200SP CPU mit
der IP-Adresse \texttt{192.168.0.206} und ein Laptop mit der Adresse
\texttt{192.168.0.201}, der als Anwendungsserver fungiert.

Die
\href{https://gogs.justprojects.de/Master/smart-energy-monitor/src/jiangsu-hengli-LFB65/box-pc/application}{PLC-Connector}
Anwendung ist für den Versuch so konfiguriert, dass sie Daten von der
zentralen Steuerung abfragt, Verbindungen von der ET-200SP CPU zulässt
und alle Messwerte in zwei redundanten Datenbänken abspeichert. Die
Abfrage der zentralen S7-1500 CPU erfolgt über das S7-Protokoll auf der
Ethernetverbindung zum Überwachungsnetzwerk der Anlage. Dazu wurde die 
Steuerung von einem LMS-Mitarbeiter so programmiert, dass sie die 
Ausgangszustandsbits in einen eigens zum Auslesen angelegten
Speicherbereich (vgl. Datenbaustein DB3 in Abbildung \ref{hengli}) kopiert. Beim
Auslesen wird der Inhalt von DB3 als Bytearray zum PLC-Connector
übertragen. Die dabei verwendete Struktur der Statusflags im Datenbaustein ist  im Anhang \ref{siemens_tags} definiert.

Für die Übertragung der Daten von der \emph{ET-200SP CPU} werden neben DB3 zwei weitere Datenstrukturen eingesetzt. Die Erste umfasst die Messwerte der
AI-Energy-Meter-Karte und besteht aus folgenden neun IEEE 754 LSB
Fließkommawerten:

\begin{longtable}[]{@{}lll@{}}
\toprule
\textbf{byte{[}{]}} & Fließkommawert & Einheit\\
\midrule
\endhead
Byte 0-3 & Spannung \(U_1\) & V\\
Byte 4-7 & Spannung \(U_2\) & V\\
Byte 8-11 & Spannung \(U_3\) & V\\
Byte 12-15 & Primärstrom \(I_1\) & A\\
Byte 16-19 & Primärstrom \(I_2\) & A\\
Byte 20-23 & Primärstrom \(I_3\) & A\\
Byte 24-27 & Phasenwinkel \(\varphi_1\) & $^{\circ}$\\
Byte 28-31 & Phasenwinkel \(\varphi_2\) & $^{\circ}$\\
Byte 32-35 & Phasenwinkel \(\varphi_3\) & $^{\circ}$\\
\bottomrule \\
\caption{Datenstruktur der AI-Energy-Meter-Karte}
\label{ai_bytes}
\end{longtable}

Die zweite Datenstruktur beinhaltet die Statusinformationen der
elektronischen Sicherung \emph{DF2101}. Sie ist identisch zu der vom Hersteller
IFM definierten Struktur der IO-Link Prozessdaten des Moduls (siehe
\href{https://www.ifm.com/download/files/ifm-DF2101-20190131-IODD11-de_V5/$file/ifm-DF2101-20190131-IODD11-de_V5.pdf}{DF2101
Schnittstellenbeschreibung} im Anhang)

Beiden Strukturen ist außerdem ein Zeitstempel der CPU vorangestellt,
welcher bei der genauen Bestimmung des Messzeitpunktes herangezogen
wird. Der Zeitstempel besteht aus einer ganzzahliger Anzahl an
Millisekunden, die seit dem Start der CPU vergangen sind. Er ist als
vorzeichenlose, vier Byte LSB Zahl kodiert. Somit wird er circa aller $50$
Tagen überlaufen, was auch bei der Implementierung der Zeitbestimmung im
vorherigen Kapitel beachtet wurde.

Die PLC-Connector Anwendung verwendet zur Kommunikation mit der ET-200SP
CPU die \emph{snap7} Pythonbibliothek. Diese Bibliothek stellt hier
einen TCP-Server auf Port 102 bereit und emuliert damit das Verhalten
einer S7-Steuerung. Die ET-200SP CPU baut anschließend eine Verbindung
zu diesem Server auf. Aus der Sicht des SPS-Programms handelt es sich
beim \emph{snap7} Service um eine Partner-CPU, zu der nun aktiv eine
Verbindung über das S7-Protokoll aufgebaut wird. Die ET-200SP CPU
beginnt nun mit dem Senden der zwei Speicherbereiche. Der erste Bereich
mit den Energiedaten wird in den emulierten Datenbaustein \texttt{DB2}
und der zweite wird in den Baustein \texttt{DB1} der PLC-Connector
Anwendung geschrieben.

\subsection{Allen-Bradley Anlage LL20}\label{allen-bradley-anlage-ll20}

Der zweite Versuchsaufbau dient zur Demonstration der
Anpassungsfähigkeit der Hardware an eine andere Anlagenstruktur, im
Speziellen an Kernschießanlagen mit einer zentralen Compact Logix
Steuerung von Allen-Bradley und der Verwendung des EtherNet-IP
Protokolls. Er fand an einer Anlage vom Typ LL20 in der 20./21. KW 2022
statt. Wie auch beim ersten Versuch werden die elektrischen Werte der
Einspeisung, die Stromverbräuche der Kleinstspannungsverbraucher und der
Anlagenzustand erfasst.

\begin{figure}[H]
\centering
\includegraphics[width=16cm]{out/diagrams/benton/Benton.png}
\caption{AB Versuch}
\end{figure}

Zur Energieerfassung kommen hier die gleichen Baugruppen wie im letzten
Versuch zum Einsatz. Für die $24\mathrm{V}$ Strommessung werden wieder die
elektronischen Sicherungen von IFM verwendet und zur Instrumentierung
der Einspeisung wird die Energiemeterkarte in Kombination mit
\(50\mathrm{A}:5\mathrm{A}\) Stromwandlern eingesetzt. Beide werden wieder von einer
ET-200ST CPU gesteuert. Beim Auslesen der zentralen Steuerung ist jedoch
ein großer Unterschied vorzufinden: Ihre Programmierung unterscheidet
sich stark von der Programmstruktur einer Siemens CPU. Anstelle von
Datenbausteinen werden hier sogenannte Tags verwendet, um interne
Zustandsvariablen anzulegen. Diese Tags können über EtherNet/IP mit Hilfe der \emph{pylogix} Bibliothek von der
\href{https://gogs.justprojects.de/Master/smart-energy-monitor/src/benton-foundry-LL20/box-pc/application}{PLC-Connector}
Anwendung ausgelesen werden. Zum Lesen des Anlagenstatus wurde in
diesem Fall kein neuer Speicherbereich angelegt; der Zugriff auf die
Tags kann nämlich direkt erfolgen. Eine Auflistung der ausgelesenen Tags befindet sich im Anhang \ref{ab_Tags}. Diese Tags werden von der PLC-Connector Anwendung aller
\(20\mathrm{ms}\) über das EtherNet/IP Protokoll von der Steuerung
abgefragt. Dabei können mehrere Leseanfragen in einem Paket
kombiniert werden, was die Anzahl an benötigten Ethernet Roundtrips
gering hält. Für die Anbindung an das Überwachungsnetzwerk der
Allen-Bradley-Steuerung wird auch ein anderes Subnetz verwendet. Das
Subnetz ist hier \texttt{192.168.1.0/24} und die IP-Adresse der
Steuerung lautet \texttt{192.168.1.15}.

\subsection{Vergleich der Versuche}\label{vergleich-der-versuche}

Bei der LL20 handelt es sich im Vergleich zur LFB65 um eine kleinere und
kompaktere Kernschießmaschine. In den Versuchen konnten fast identische
externe Komponenten eingesetzt werden. Der einzige Unterschied in der
Hardware war die Verwendung von Stromwandlern mit unterschiedlichen
Umsetzungsfaktoren. Im ersten Test wurden Wandler mit einem
Umsetzungsfaktor von $150\mathrm{A}:5\mathrm{A}$ eingesetzt, während im zweiten Test ein
Faktor von $50\mathrm{A}:5\mathrm{A}$ ausreichend war. Die Kommunikation mit den Sensoren
war in beiden Fällen identisch, da dies durch eine externe Steuerung
übernommen wurde. In Zukunft wird für den Aufbau jedoch keine externe
Steuerung mehr nötig sein, denn diese übermittelnde Funktion der ET200
CPU soll auch durch die Steuerung der jeweiligen Anlage übernommen
werden.

Die Versuche unterschieden sich auch im Kommunikationsprotokoll zwischen
dem Computer und der jeweiligen Steuerung der Anlage. Es wurden zwei
unterschiedliche Versionen der Verarbeitungssoftware eingesetzt; bei der
einen fand die Kommunikation mit der Steuerung über das S7-Protokoll
statt und bei der anderen über EtherNet-IP. Beide Protokolle bauen auf
TCP/IP auf und sind so beide in der Anwendungsschicht des
Internetprotokolls anzufinden.

\section{Ergebnisse}\label{ergebnisse}

Beim Versuch an der LFB65 wurden insgesamt über $70.000.000$ Datenpunkte über $7$ Stunden kontinuierlichen Betriebs der Kernschießmaschine aufgezeichnet. Allein anhand der Strommesswerte ist ein klares Bild des automatischen Zyklusablaufs zu erkennen. Beim zweiten Versuch kam hingegen kein kontinuierlicher Betrieb zustande, da die Anlage ein anderes technisches Problem aufzeigte. Über die Dauer des zweiten Versuchs war die LL20 Anlage häufig wegen der Reparaturen außer Betrieb.

\begin{figure}[H]
  \centering
  \includegraphics[width=16cm]{analyse/data/400v_total_power.pdf}
  \caption{Leistungsaufnahme der LFB65}
  \label{fig:400v_total_power}
\end{figure}

Abbildung \ref{fig:400v_total_power} zeigt die Leistungsaufnahme der LFB65 über die ersten Stunden des Betriebszeitraums. Zur Überlappung der Zeitachse wurden die von der SPS aufgenommenen Statusbits herangezogen und der Verlauf jeweils bei Beginn eines neuen Zykluses zurückgesetzt. Dazu ergänzend zeigt Anhang \ref{raw_measurements_one_cycle} die rohen Strommessungen der Einspeisung und der jeweiligen $24\mathrm{V}$ Kanäle zusammen mit den entsprechenden SPS-Statussignalen über einen einzelnen Maschinenzyklus. Daneben sind auch von diesem einen Zyklus die einzelnen Phasen des Zyklusablaufs in der LFB65 aufgeführt.
Die größte Leistungsaufnahme der Gesamtanlage tritt beim Öffnen der Seitenteile auf, gefolgt vom Heben und Senken des Hubtisches. Das ist dadurch zu erklären, dass das dafür verwendete hydraulische Aggregat mit der größte Verbraucher der Maschine ist. Der Grundverbrauch der Gesamtanlage im betriebsbereiten Zustand beträgt rund $20\mathrm{A}$, was zusammen mit der dreiphasigen $400\mathrm{V}$ Netzspannung der folgenden Mindestleistungsaufnahme entspricht: $$ I_L \cdot \frac {U_{LL}} {\sqrt{3}} \cdot 3 = 20\mathrm{A} \cdot 400\mathrm{V} \cdot \sqrt{3} \approx 14\mathrm{kVA}$$

Im Plot ist auch ein Drift in der Leistungsaufnahme zu erkennen. Dieser ist auf die Veränderung der Netzspannung zurückzuführen. Die Netzspannung schwankt im Bereich von $390\mathrm{V}$ bis $405\mathrm{V}$, was zu einer Veränderung der Leistungsaufnahme führt. Die Leistungsaufnahme der LFB65 ist also nicht nur vom programmierten Zyklus, sondern auch von der Netzspannung abhängig. Eine Änderung der Spannung führt auch zu einer Änderung der Taktzeit. Die Taktzeit schwankt in einem Bereich von $33$ bis $34\mathrm{s}$, wobei die schnellere Taktzeit mit der höheren Netzspannung einhergeht. Dies kann zum Beispiel durch das schnellere Erreichen von Endlagen der Aktoren erklärt werden. Alle fünf Minuten ist ein kurzer Ausfall der Stromstärke aufgezeichnet worden. Dieser ist auf eine Fehlfunktion der Datenübertragung zurückzuführen, da der Ausfall nur einzelne Werte der Stromstärke der Einspeisung betrifft. Der numerische Wert der Ausfälle ist immer exakt $0,00\mathrm{A}$, wodurch eine reale Ursache ausgeschlossen werden kann.

\begin{figure}[H]
  \centering
  \includegraphics[width=16cm]{analyse/data/24v_current.pdf}
  \caption{24V Gesamtstrom an der LFB65}
  \label{fig:24v_current}
\end{figure}

In der Kleinstspannungsebene sind die Relais und Schütze auf Kanal sechs der elektronischen Sicherungen mit die größten Verbraucher. Sie benötigen zeitweise über $5\mathrm{A}$, was der Hälfte des eingestellten Auslösestroms entspricht. Alle Kanäle zusammen benötigen durchschnittlich $18\mathrm{A}$, jedoch taucht sporadisch ein Überstromereignis auf Kanal $10$ auf. An diesem Kanal sind die Proportionalventile der Anlage angeschlossen (siehe Anlage \ref{eplan_lfb65}). Durch diese Abnormalität betrug der maximale Stromverbrauch der $24\mathrm{V}$ Komponenten während des kompletten Laufs $27,9\mathrm{A}$. Wenn dieses Fehlverhalten pro Vorkommen noch länger andauern würde, dann würde die Sicherung für den Kanal $10$ auslösen und die Anlage wegen der dadurch entstehenden Kommunikationsfehler anhalten. Der gemessene Maximalstrom liegt noch unterhalb des Nennstroms des Netzteils, welches bis zu $40\mathrm{A}$ kontinuierlich liefern kann.

Bezüglich der Qualität der Daten gibt es auch einige Besonderheiten. Auf den Messwerten des \emph{AI Energy Meters} wird eine aggressive Filterung direkt im Gerät durchgeführt. Dieses Verhalten ist nicht gut dokumentiert und führt dazu, dass kurze Ereignisse wie Anlaufströme oder hochfrequente Resonanzen nicht mehr in den Daten erkennbar sind.\cite{voltage_disturbance} Der Verlauf des Graphen in Abbildung \ref{fig:400v_total_power} hat für den verwendeten Messintervall von $60\mathrm{ms}$ zu wenig hochfrequente Anteile. Eine Verbesserung könnte mit dem Auslesen der vom Modul zur Verfügung gestellten Oberfrequenzanteilen geschehen. Die Stromwerte der elektrischen Sicherungsmodule von \emph{IFM} entsprechen auch nicht ganz den Erwartungen. Obwohl das aufgebaute Datenübertragungs- und Verarbeitungssystem in der Lage ist, Messpunkte aller $20\mathrm{ms}$ entgegenzunehmen, werden die Prozessdaten des IO-Link-Geräts nicht so häufig aktualisiert. Die Folge ist, dass bis zu $30$ identische Messwerte in die Datenbank geschrieben wird, bis der Wert von der Sensorbaugruppe geändert wird. Dies entspricht nicht dem erwarteten Verhalten des \emph{DF2101}, da es laut Dokumentation bis zu 50-mal pro Sekunde Prozessdaten an den IO-Link-Master liefern sollte (vgl. Anhang \ref{ifm_df2101}). Als Resultat weisen die Graphen der Stromverläufe nicht realitätsgetreue Schrittfunktionen mit einem individuellen Aktualisierungsintervall von ca. $700\mathrm{ms}$ auf. 

Eine mögliche Erweiterung des Informationsgehalts der Strommesswerte könnte das Auslesen und Zurücksetzen der azyklischen Maximalwerte des IFM Kopfmoduls sein. Es wäre möglich, dass diese öfter aktualisiert werden als die zyklischen Prozessdaten und somit mehr über den tatsächlichen Maximalstrom aussagen. Diese Werte bieten mit ihrer zusätzlichen Dezimalstelle den Vorteil einer höheren Präzision als die zyklischen Prozessdaten. Der Nachteil dieser Datenquelle ist jedoch der erhöhte Kommunikationsaufwand in der SPS und die damit verbundene negative Beeinträchtigung ihrer Zykluszeit.

\newpage
\section{Fazit}

Das erstellte System zur Erfassung und Auswertung von Energieverbrauchswerten in einer Kernschießmaschine hat sich als sehr nützlich erwiesen. Die Messdaten können in Echtzeit aufbereitet und visualisiert werden. Die Einsicht in die Ströme der einzelnen $24\mathrm{V}$ Kanäle ermöglicht eine schnelle Analyse von Problemen und die Erkennung von Abweichungen von den Normwerten. Auf Basis der Stromverläufe können die einzelnen Sicherungen identifiziert werden, die einen hohen Stromverbrauch aufweisen. Die anderen Sicherungen können in Zukunft nach einem validierten Referenzstromverbrauch auf einen passenden Auslösewert eingestellt werden.
Die Stromverläufe können auch für das Netzteil der $24\mathrm{V}$ Versorgung verwendet werden, um die maximale Leistungsabgabe im Betrieb zu bestimmen.

Bei der Wahl der Hardware sind mangels Kompatibilität einige Kompromisse eingegangen worden. Es wäre besser, wenn alle Energiesensoren über eine einheitliche Kommunikationsschnittstelle verfügen würden. Auch die Aktualisierungsrate des DF2101 ist nicht optimal. Nichtsdestotrotz ist ein System entstanden, welches die gewünschten Messwerte liefert und den Bedingungen des Umfelds gerecht wird.

Die PC-basierte Datenbank bietet eine gute Möglichkeit, die Messwerte zu speichern und zu analysieren. Eine Anlage konnte im Versuch mit den gewonnenen Informationen verbessert werden; insbesondere wurde ein Problem aufgedeckt, welches zu irregulären Überstromereignissen in der $24\mathrm{V}$ Unterverteilung führt. Die Messdaten können auch für die Dokumentation neuer Anlagen verwendet werden, indem das System zukünftig während der Qualitätskontrolle eingesetzt wird.
In Zukunft wird die Software durch ihren modularen Aufbau noch mehr Anlagentypen unterstützen können und deren Konstrukteuren steht es offen weitere Middleware-Module zur Datenanalyse und -aufbereitung zu entwickeln.

%-------------- Literaturverzeichnis
\newpage
\nocite{*}
\printbibliography


%-------------- Anhang
\newpage

\begin{appendices}

\renewcommand{\thesubsection}{\Roman{subsection}}

\subsection{IFM Sicherungen im Schaltschrank der LFB Anlage}
\label{img_ifm}
\includegraphics[width=16cm]{images/hengli-ifm-sicherungen.jpg}

\subsection{Änderungen an der LFB65 Anlage}
\label{eplan_lfb65}

Modifizierter EPLAN der LFB65 Anlage mit den Änderungen, die für die Messung der Energieverbrauchswerte notwendig waren. Die originalen Zeichnungen wurden von einem anderen Mitarbeiter der LMS erstellt. vgl. \cite{EPLAN_113638_LFB65}

(nächste Seite)
\includepdf[angle=90,scale=0.9]{eplan-lfb65/p20.pdf}
\includepdf[angle=90,scale=0.9]{eplan-lfb65/p21.pdf}
\includepdf[angle=90,scale=0.9]{eplan-lfb65/p70.pdf}
\includepdf[angle=90,scale=0.9]{eplan-lfb65/p71.pdf}
\includepdf[angle=90,scale=0.9]{eplan-lfb65/p72.pdf}

\newpage
\subsection{Datenerfassung an der LFB Anlage}
\label{img_interfacemodul}
\includegraphics[width=16cm]{images/hengli-interfacemodul.jpg}

\subsection{PLC Programm der ET200SP in den Versuchen 1 und 2}
\label{plc_programm}
(nächste Seite)
\includepdf[pages=-]{AI-energy-meter-Project/main.pdf}
\includepdf[pages=-]{AI-energy-meter-Project/interrupt20ms.pdf}
\includepdf[pages=-]{AI-energy-meter-Project/interrupt60ms.pdf}

\newpage
\subsection{PLC Datenbaustein der LFB65 Kernschießmaschine}
\label{siemens_tags}
\begin{longtable}[]{@{}lll@{}}
  \toprule
  \textbf{Offset in DB3} & BE Bit Index & Name\\
  \midrule
  \endhead

  Byte 0 & Bit 7 & Unterteil einfahren \\
  Byte 0 & Bit 6 & Unterteil ausfahren \\
  Byte 0 & Bit 5 & Auswerfer 1 heben \\
  Byte 0 & Bit 4 & Auswerfer 1 senken \\
  Byte 0 & Bit 3 & Auswerfer 2 heben \\
  Byte 0 & Bit 2 & Auswerfer 2 senken \\
  Byte 0 & Bit 1 & Abdrücker Seitenteil links einfahren \\
  Byte 0 & Bit 0 & Abdrücker Seitenteil links ausfahren \\
  \midrule
  Byte 1 & Bit 7 & Abdrücker Seitenteil rechts einfahren \\
  Byte 1 & Bit 6 & Abdrücker Seitenteil rechts ausfahren \\
  Byte 1 & Bit 5 & Rolltor schließen \\
  Byte 1 & Bit 4 & Rolltor öffnen \\
  Byte 1 & Bit 3 & Gaswagen ausfahren \\
  Byte 1 & Bit 2 & Gaswagen einfahren \\
  Byte 1 & Bit 1 & Schwenkplatte abklappen \\
  Byte 1 & Bit 0 & Schwenkplatte einklappen \\
  \midrule
  Byte 2 & Bit 7 & Losteil 1 Unterteil einfahren \\
  Byte 2 & Bit 6 & Losteil 1 Unterteil ausfahren \\
  Byte 2 & Bit 5 & Losteil 2 einfahren \\
  Byte 2 & Bit 4 & Losteil 2 ausfahren \\
  Byte 2 & Bit 3 & Losteil 3 einfahren \\
  Byte 2 & Bit 2 & Losteil 3 ausfahren \\
  Byte 2 & Bit 1 & Losteil 4 einfahren \\
  Byte 2 & Bit 0 & Losteil 4 ausfahren \\
  \midrule
  Byte 3 & Bit 7 & Losteil 5 einfahren \\
  Byte 3 & Bit 6 & Losteil 5 ausfahren \\
  Byte 3 & Bit 5 & Seitenteil links schließen \\
  Byte 3 & Bit 4 & Seitenteil rechts schließen \\
  Byte 3 & Bit 3 & Seitenteil links und rechts öffnen \\
  Byte 3 & Bit 2 & Sandschleuse schließen \\
  Byte 3 & Bit 1 & Sandschleuse öffnen \\
  Byte 3 & Bit 0 & Sandmessung 3 Wege Ventil schließen \\
  \midrule
  Byte 4 & Bit 7 & Sandmessung 3 Wege Ventil öffnen \\
  Byte 4 & Bit 6 & Schuss \\
  Byte 4 & Bit 5 & Hubtisch senken \\
  Byte 4 & Bit 4 & Hubtisch heben \\
  Byte 4 & Bit 3 & Oberteil heben \\
  Byte 4 & Bit 2 & Oberteil senken \\
  Byte 4 & Bit 1 &  \\
  Byte 4 & Bit 0 &  \\
  
  \bottomrule \\
  \caption{Struktur des Datenbausteins DB3 im LFB Versuch}
\end{longtable}

\subsection{Messergebnisse eines Anlagenzykluses an der LFB65}
\label{raw_measurements_one_cycle}
\includegraphics[width=10cm]{diagrams/raw-measurement-lfb65-rotated.png}
\includegraphics[angle=90,width=6cm]{out/diagrams/hengli-timing/Hengli-Timing.png}

\newpage
\subsection{PLC Tags der LL20 Kernschießmaschine}
\label{ab_Tags}
\begin{longtable}[]{@{}lll@{}}
  \toprule
  \textbf{Tag{[}Byte Offset{]}} & BE Bit Index & Name\\
  \midrule
  \endhead
  B14{[}31{]} & 1 & ejector\_move\_down\\
  B14{[}32{]} & 1 & ejector\_move\_up\\
  B14{[}34{]} & 1 & carriage\_move\_out\\
  B14{[}35{]} & 1 & carriage\_move\_in\\
  B14{[}37{]} & 1 & side\_clamps\_open\\
  B14{[}38{]} & 1 & side\_clamps\_close\\
  B14{[}42{]} & 1 & table\_move\_down\\
  B14{[}43{]} & 1 & table\_move\_up\\
  B14{[}45{]} & 1 & gassing\_platemove\_out\\
  B14{[}46{]} & 1 & gassing\_plate\_move\_in\\
  B14{[}48{]} & 1 & cope\_eject\_plate\_move\_out\\
  B14{[}49{]} & 1 & cope\_eject\_plate\_move\_in\\
  B14{[}51{]} & 1 & top\_part\_move\_up\\
  B14{[}52{]} & 1 & top\_part\_move\_down\\
  B14{[}54{]} & 1 & front\_door\_open\\
  B14{[}55{]} & 1 & front\_door\_close\\
  B14{[}57{]} & 1 & pneumatic\_loose\_part\_1\_move\_out\\
  B14{[}58{]} & 1 & pneumatic\_loose\_part\_1\_move\_in\\
  B14{[}60{]} & 1 & hydraulic\_loose\_part\_2\_move\_out\\
  B14{[}61{]} & 1 & hydraulic\_loose\_part\_2\_move\_in\\
  B14{[}63{]} & 1 & hydraulic\_loose\_part\_3\_move\_out\\
  B14{[}64{]} & 1 & hydraulic\_loose\_part\_3\_move\_in\\
  B14{[}69{]} & 1 & clamping\_device\_side\_clamp\_left\_clamp\\
  B14{[}70{]} & 1 & clamping\_device\_side\_clamp\_left\_loose\\
  B14{[}72{]} & 1 & clamping\_device\_side\_clamp\_right\_clamp\\
  B14{[}73{]} & 1 & clamping\_device\_side\_clamp\_right\_loose\\
  B14{[}81{]} & 1 & clamping\_device\_shoot\_plate\_clamp\\
  B14{[}82{]} & 1 & clamping\_device\_shoot\_plate\_loose\\
  B14{[}83{]} & 1 & sand\_refill\\
  B14{[}84{]} & 1 & sand\_gate\_close\\
  B14{[}85{]} & 1 & sand\_gate\_open\\
  B14{[}93{]} & 1 & shoot\\
  B14{[}103{]} & 1 & clamping\_device\_gassing\_plate\_clamp\\
  B16{[}12{]} & 1 & central\_amine\_supply\_refill\\
  B16{[}13{]} & 1 & gassing\\
  B16{[}15{]} & 1 & gas\_generator\_process\_coldbox\_betaset\\
  B18{[}31{]} & 1 & mixer\_lid\_move\_up\\
  B18{[}32{]} & 1 & mixer\_lid\_move\_down\\
  B18{[}35{]} & 7 & mixer\_wing\_motor\_on\\
  B18{[}37{]} & 1 & mixer\_move\_up\\
  B18{[}38{]} & 1 & mixer\_move\_down\\
  B18{[}40{]} & 1 & sand\_dosing\_unit\_inlet\\
  B18{[}42{]} & 1 & sand\_dosing\_unit\_outlet\\
  B18{[}44{]} & 1 & binder\_1\_sucking\\
  B18{[}45{]} & 1 & binder\_1\_blowing\\
  B18{[}47{]} & 1 & binder\_2\_suction\\
  B18{[}48{]} & 1 & binder\_2\_blowing\\
  B18{[}50{]} & 1 & binder\_3\_sucking\\
  B18{[}51{]} & 1 & binder\_3\_blowing\\
  B18{[}53{]} & 1 & binder\_4\_sucking\\
  B18{[}54{]} & 1 & binder\_4\_blowing\\
  B18{[}59{]} & 1 & additive\_1\_dosing\\
  B18{[}60{]} & 1 & additive\_2\_dosing\\
  B18{[}62{]} & 1 & mixer\_bowl\_direction\_eject\_1\_machine\\
  B18{[}63{]} & 1 & mixer\_bowl\_direction\_eject\_2\_scrap\\
  B18{[}65{]} & 1 & cleaning\_cylinder\_move\_up\\
  B18{[}66{]} & 1 & cleaning\_cylinder\_move\_down\\
  B18{[}68{]} & 1 & mixer\_sand\_slide\_move\_to\_machine\\
  B18{[}69{]} & 1 & mixer\_sand\_slide\_move\_to\_scrap\\
  B18{[}71{]} & 1 & vertical\_mixersand\_slide\_gateclose\\
  B18{[}72{]} & 1 & vertical\_mixer\_sand\_slide\_gate\_open\\
  B18{[}73{]} & 1 & sand\_sender\\
  \bottomrule \\
  \caption{Ausgelesene PLC-Tags im LL20 Versuch}
  \end{longtable}

\subsection{DF2101 Datenblatt}
\label{ifm_df2101}
Quelle: \url{https://www.ifm.com/de/de/product/DF2101}

\noindent
Stand: 01.10.2021

\noindent
(nächste Seite)
\includepdfmerge[pages=-,scale=0.9,nup=1x2]{external-content/ifm-DF2101-20190131-IODD11-de_V5.pdf}

\end{appendices}

\newpage
\section*{Eidesstattliche Erklärung}
Ich versichere an Eides statt, dass ich die vorstehende Arbeit selbstständig und ohne fremde Hilfe angefertigt und mich anderer als der im beigefügten Verzeichnis angegebenen Hilfsmittel nicht bedient habe. Alle Stellen, die wörtlich oder sinngemäß aus Veröffentlichungen übernommen wurden, sind als solche kenntlich gemacht. Alle Internetquellen sind der Arbeit beigefügt. Des Weiteren versichere ich, dass ich die Arbeit vorher nicht in einem anderen Prüfungsverfahren eingereicht habe und dass die eingereichte schriftliche Fassung der auf dem elektronischen Speichermedium entspricht.


\vspace{3cm}
\begin{flushleft}
Ort, Datum \hspace{10.76cm} Unterschrift
\end{flushleft}

\end{document}