\documentclass[ngerman, 10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[top=2cm, right=2cm, bottom=2cm, left=4cm]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{longtable,booktabs}

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

\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}

\maketitle
{\huge Masterarbeit} \\

\begin{flushright}
\vspace{1cm}
Abgabe: \\
Köthen, Datum
\end{flushright}

%-------------- 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[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[EIP] EtherNet/IP (IP = Industrial Protocol)
  \item[DIY] selbstgebaut; im Gegensatz zu: industriell hergestellt
  \item[LSB] Binärzahl mit Nummerierung nach aufsteigender Wertigkeit  
\end{description}

%-------------- Symbolverzeichnis
\section*{Symbolverzeichnis}

\newpage

\section{Einleitung}\label{einleitung}

Es gibt viele gute Wege eine Messung durchzuführen, aber die
darauffolgende Auswertung kann oft nur im nachhinein manuell
durchgeführt werden. Dazu kommt zusätzlich, dass im industriellen Umfeld
viele proprietäre Lösungen existieren, die aber noch weniger
Flexibilität als DIY-Systeme bieten. Sie decken dabei auch häufig nicht
vollständig die Anforderungen der Kunden ab. Das hier vorgestellte
System arbeitet hingegen direkt mit der bereits im Unternehmen
etablierten Hardware zusammen und ermöglicht, dank Verwendung offener
Standards, eine leicht erweiterbare Datenaggregation und die Möglichkeit
der direkten programmatischen Analyse der Messwerte.

In Kooperation mit der Laempe Mössner Sinto GmbH wird mit dieser Arbeit
ein Energie-Monitoring-System entwickelt, welches Einblicke in die
Effizienz und Fehlerprävention der im Unternehmen hergestellten
Kernschießmaschinen geben kann. 

\section{Problemstellung}\label{problemstellung}

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 Optimierung des Betriebsablaufes beiträgt. Um dies zu erreichen,
müssen Messwerte erhoben, analysiert und schließlich gespeichert werden.
Die möglichen Auslegungen dieser Teilfunktionen sind im
\href{20_Theorie.md}{2. Kapitel Theorie} aufgelistet. Folgende
Darstellung zeigt die Bestandteile des entwickelten Monitoring-Systems:

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

Bei der Erhebung der Messwerte entstehen viele Datenpunkte, die einzeln
betrachtet keine große Aussagekraft besitzen. Der Schritt der
Datenverarbeitung kombiniert die eingehenden Datenströme und extrahiert
für den Endnutzer relevante Informationen. Für die Übertragung 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. Die einzubauenden Sensoren werden am bestehenden Feldbus
angeschlossen, welcher wiederum zu einem Interfacemodul führt. Für die
Koordination der Interfacemodule ist in jeder Anlage bereits eine
zentrale Steuerungseinheit (SPS oder CPU genannt) zuständig. Diese
Steuerungen verwenden ein meist auf Ethernet basiertes
Kommunikationsprotokoll, um mit dem Rest der Anlage zu kommunizieren.
{[}{]} Ihre Kommunikationspartner können zum Beispiel Interfacemodule,
Human-Machine-Interfaces (HMI) oder andere Steuerungen aus anderen
Anlagen sein.

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 an einer echten Anlage getestet. Die
dafür notwendigen Komponenten sollten leicht in den bestehenden Aufbau
integrierbar sein. Zunächst sollen die elektrische Versorgung, 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 ist es auch sinnvoll die Rohwerte der
Messungen zu sichern, um den Analyseschritt mit Hilfe von echten
Messwerten exemplarisch zu testen.

Je präziser die Datenverarbeitung angesetzt ist, desto weniger Daten
müssen anschließend gespeichert werden. In allen Fällen sind die zu
speichernden Werte periodische Kennzahlen der einzelnen Prozessschritte,
welche in einer zeitbasierten Datenbank abgelegt werden müssen. Nur wenn
eine Kennzahl 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 ein modularer Aufbau verwendet,
der es auch 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.

\begin{itemize}
\tightlist
\item
  fehlende Energieerfassung
\item
  Aufzeichnung von Anlagenzuständen in einer Datenbank
\item
  Korrelation mit Leistungswerten
\item
  Integration in den vorhandenen Aufbau
\end{itemize}

\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 die Rohmaterialien wieder dem Prozess zugeführt. Die
Kernschießmaschinen von Laempe 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. Mit ihnen wird eine festgelegte
Sequenz von Schritten orchestriert, die unteranderem das Ein-/Ausfahren
des Kernkastens, das Schließen der Seitenteile oder das Befüllen der
Kernform beinhalten. Eine genaue Aufzählung folgt im
\href{30_Implementierung.md}{Kapitel 3}.


\subsection{Topologie der
Kernschießmaschinen}\label{topologie-der-kernschieuxdfmaschinen}

Die Kommunikationsstruktur von industriellen Anlagen wird in 3 Ebenen
unterteilt:

\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\tightlist
\item
  Feldebene
\item
  Kontrollebene
\item
  Überwachungsebene
\end{enumerate}

In der Feldebene befinden sich alle Sensoren (Temperatursensoren,
Lagesensoren, etc.) und Aktoren wie Motoren, Ventile und Signalgeber.
Sie sind über Feldbusverteiler mit der nächsthöheren Kontrollebene
verbunden. Bei Laempe wird neben traditionellen analog verbundenen
Geräten hautsächlich auf das IO-Link Bussystem zurückgegriffen. Dadurch
sind in allen Teilen ihren Anlagen IO-Link-Feldbusverteiler verbaut, auf
die für die Umsetzung der Energiemessung zurückgegriffen werden kann.
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-Machine-Interface (HMI) angepasst werden können, dann geschieht
dies in der Überwachungsebene. Sie ist die höchste
Automatisierungsebene, die man am Ort der Anlage vorfinden kann. In ihr
befindet sich auch der Hauptteil des Energieüberwachungssystems, da
dieses nicht zur Steuerung der Anlage beiträgt.

\subsection{Datenbusse}\label{datenbusse}

In den Anlagen werden verschiedene Arten von Datenbussen verwendet.

\begin{itemize}
\tightlist
\item
  EtherNet/IP
\item
  ProfiNet
\item
  Modbus TCP
\end{itemize}


\subsection{Industrielle Steuerungen}

\subsection{Feldbusverteiler}

\subsection{Strommessung}

AC -> Stromwandler

DC -> Shunts/Strommesswiderstände

\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. Folgende Darstellung zeigt die
Zuordnung der Aufgaben zu den Komponenten.

\begin{figure}
\centering
\includegraphics[width=12cm]{out/diagrams/datenfluss/Datenfluss.png}
\caption{Bestandteile des Projekts}
\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 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 Potentialklemmen, nämlich da wo sich die
elektronischen Untersicherungen befinden. Diese Sicherungen werden,
neben den Netzteilen selbst, in der
\href{30_Implementierung.md}{Implementierung} für die Messung der Ströme
instrumentiert.

Der meistverwendete Feldbus in Laempe-Anlage ist IO-Link. Dieser Bus ist
für die Kommunikation mit den Sensoren und Aktoren der Anlage
vorgesehen. Die Sensoren werden über den IO-Link-Bus mit Strom versorgt
und können so ohne zusätzliche Versorgungsspannung betrieben werden. Die
hinzugefügten Energiesensoren werden vorzugsweise auch in dieses
Bussystem integriert. Es ist aber auch möglich, die Energiesensoren
direkt an das Steuernetzwerk einzubinden. Wenn dies nicht geschehen
kann, dann werden die Signale, so wie bei allen anderen Sensoren auch,
über Feldbusverteiler beziehungsweise Interfacemodule mit
IO-Link-Unterstützung zu der zentralen Steuerung der Anlage geleitet.

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. 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. {[}{]}

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. 

Die Datenverarbeitung findet in zwei Schritten statt. Zunächst wird
 periodisch mit den datenübermittelnden Komponenten des
Aufbaus kommuniziert, um dann anschließend die erhaltenen Datensätze für
die weitere Verarbeitung bereitzuhalten. Diese 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, so dass 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 Hubtisches
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 24V-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 gesetzt sind, 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 Hubtisch zuständige Ventil hat beim zweitausendsten Aktivieren einen zusätzlichen Strom von 1,3A verbraucht.''
getroffen werden.

\subsection{Datenspeicherung}\label{datenspeicherung}

\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 und es kann
deswegen auch auf fertige universelle Visualisierungsoberflächen
zurückgegriffen werden.


\section{Implementierung}\label{implementierung}

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

Für die Suche nach einem geeigneten 480V-Sensorsystem wurden
verschiedene Kriterien definiert, die ein System erfüllen muss. Diese
Kriterien sind:

\begin{enumerate}
\def\labelenumi{\arabic{enumi}.}
\item
  Die Messwerte müssen unmittelbar abrufbar sein.

  Wie bereits in der Theorie erwähnt, ist es 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 Reperaturaufwände
  gering zu halten. Zudem muss es die entsprechenden Zertifizierungen
  besitzen, um die Sicherheit des Systems zu gewährleisten.
\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 Laempe eingesetzt.
\item
  Das System muss internationale Versorgungsspannungen unterstützen.

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

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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\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}\tabularnewline
\bottomrule
\label{Tabelle1}
\end{longtable}

(Stand: 10.2021)

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 mehr in den zu
betrachtenden Kernschießmaschinen eingesetzt. 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 Laempe hergesttellten Produkten; wird aber
bei Kernschießmaschinen nur sehr selten eingesetzt. Außerdem
unterstützen alle Mitsubishisteuerungen das EtherNet/IP-Protokoll
{[}{]}, 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 480V AC ausgelegt sind. Dies ist für die meisten Kernschießmaschinen ausreichend, da diese in der Regel mit 480V AC betrieben werden. Für diejenigen Maschinen, die mit 690V 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 \texttt{UMG801} Power Analyser. Dieses
Protokoll ist ein offenes Protokoll das auf TCP/IP basiert, wodurch die
die softwareseitige Anbindung an diese Einheit möglich wäre. Nach einigen Tests
wurde festgestellt, dass die Kommunikation mit dem \texttt{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 \texttt{UMG801} Power Analyser über OPC-UA nicht wünschenswert.

Der letzte Strommesser
mit TCP/IP-Anbindung ist der \texttt{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 überstü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
\texttt{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}

\begin{longtable}[]{@{}lllll@{}}
\toprule
Hersteller & Artikelnummer & Bustyp & Nennstrom & Kanäle\tabularnewline
\midrule
\endhead
\bottomrule
\label{Tabelle2}
\end{longtable}

\begin{figure}
\centering
\includegraphics[width=12cm]{out/diagrams/datenfluss/Datenfluss.png}
\caption{Datenfluss}
\end{figure}

\begin{itemize}
\tightlist
\item
  Alternativen für Kleinstspannungskreise
\item
  Stromshunts mit ADC über IO-Link
\item
  Netzteile mit Modbus
\item
  elektronische Sicherungen mit IO-Link
\item
  Wahl der Sensoren
\item
  IFM elektronische Sicherung mit IO-Link
\end{itemize}

\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 selbst geschriebene Programm ``PLC-Connector'' ist in diesem
Abschnitt genauer beschrieben. Die Benutzerschnittstelle zum Benutzer
des Systems kann im nachhinein durch ein generisches Interface zur
Datenbank geschehen, da die dort enthaltenen Daten schon durch das
Programm ``PLC-Connector'' und dessen entsprechende
Signalverarbeitungsmodule aufbereitet sind.

\emph{PLC-Connector} ist modular aufgebaut, so dass verschiedene
Komponenten einfach ausgetauscht werden können. Die Module sind in drei
Kategorien unterteilt:

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

  Ein \emph{Input}-Modul stellt die Verbindung zu einer bestimmten
  Komponente der Anlage auf 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 entgegen nimmt und die für
  die Auswertung interessante Informationen extrahiert. Eine erste
  \emph{Middleware} nimmt beispielsweise die Werte mehrerer
  \emph{Inputs} entgegen 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} entgegen nehmen 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. 

\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.
Diese erfassten Rohdaten konnten zur Analyse und für die Erarbeitung der
Middleware-Module des PLC-Connector Programms (siehe vorheriges Kapitel)
wiederholt eingespielt werden. Zum Zeitpunkt der beiden Versuche fand
noch keine tiefgehende Analyse statt.

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

Der erste praktische Test wurde an einer Kernschießmaschine vom Typ
LFB65 in der KW 19 2022 durchgeführt. Als Sensoren sind hier zum Einen
Strommessung an der \(24\mathrm{V}\) Versorgung und zum Anderen eine
Instrumentierung der elektrischen Einspeisung vorgesehen.

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

Wie bereits im obigen Diagramm dargestellt, wird die Strommessung der
\(24\mathrm{V}\)-Ebene durch einen digitalen Leitungsschutzschalter von
IFM übernommen. Dieser besteht einem Kopfmodul (Typ DF2101) und bis zu
16 daran angereihten Sicherungskanälen. Das Kopfmodul besitzt eine
IO-Link Schnittstelle, über die die Versorgungsspannung und die Ströme
der einzelnen Sicherungskanäle abgefragt werden kann.

\begin{figure}[h]
  \centering
    \includegraphics[width=12cm]{images/hengli-ifm-sicherungen.jpg}
  \caption{Aufbau Hengli IFM Sicherungen}
  \label{Abbildung1}
\end{figure}

Das Kopfmodul DF2101 ist in diesem Versuch direkt an das zentrale
\(24\mathrm{V}, 40\mathrm{A}\) Netzteil der Anlage (links am Rand des
Bildes) angeschlossen. Die 8 Sicherungsmodule vom Typ DF2220 mit je 2
Kanälen, welche individuell zwischen \(1\) und \(10\mathrm{A}\)
einstellbar sind, übernehmen die Funktion der ursprünglich eingesetzten
Sitop Sicherungen von Siemens (grau im Bild, zwischen dem Netzteil und
den IFM Modulen). 4 von 5 Sitop-Sicherungen mit je 4 Kanälen sind
komplett deaktiviert, wobei die letzte noch drei der ursprünglich 19
Ausgangskanälen und den Rest des Versuchsstandes (nächstes Bild)
versorgt. Die Verteilung der Kanäle ist im Anhang 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 des Druckluftkompressors, denn die
Anlage war zu diesem Zeitpunkt 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, wie hier in Orange im Bild des Aufbaus zu sehen
ist.

\begin{figure}[h]
  \centering
    \includegraphics[width=12cm]{images/hengli-interfacemodul.jpg}
  \caption{Aufbau Hengli Interfacemodul}
  \label{Abbildung2}
\end{figure}

Am AI Energy Meter sind für die Messung der Versorgungsspannung auch die
drei Phasen der Einspeisung angeschlossen. Diese werden vor den
Hauptschalter der Anlage abgegriffen (siehe EPLAN Anhang 1) und mit
einem dreipoligen Leitungsschutzschalter (LS) mit \(6\mathrm{A}\)
Nennstrom abgesichert. Der LS ist rechts vom Trenner montiert.

Das Energy Meter ist auf einen sekundärseitigen Strom von
\(5\mathrm{A}\) und auf die Messung von drei L-N-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 die Einspeisung in industriellen
Anlagen, wie dieser Kernschießmaschine, ein kombiniertes PE-N System
verwendet wird. Die Trennung in Neutral- und Schutzleiter findet somit
erst im Schaltschrank der Anlage statt.}

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 obigen Bild 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 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
Programm der CPU besteht aus

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ßmaschienen von
Laempe ist dort auch ein Box-PC mit der hauseigenen
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
Eternetverbindung zum Überwachungsnetzwerk der Anlage. Die Steuerung
wurde von einem Laempe-Mitarbeiter so programmiert, dass sie eine große
Menge an Ausgangszustandsbits in einen eigens zum Auslesen angelegten
Speicherbereich (vgl. Datenbaustein DB3 im Diagramm) kopiert. Beim
Auslesen wird der Inhalt von DB3 als Bytearray zum PLC-Connector
übertragen. Die Struktur des Statusflags im Datenbaustein ist dabei
folgendermaßen definiert:

\begin{longtable}[]{@{}lllllllll@{}}
\toprule
\begin{minipage}[b]{0.05\columnwidth}\raggedright\strut
\textbf{byte{[}{]} ~LSB-0}\strut
\end{minipage} & \begin{minipage}[b]{0.10\columnwidth}\raggedright\strut
\textbf{7}\strut
\end{minipage} & \begin{minipage}[b]{0.10\columnwidth}\raggedright\strut
\textbf{6}\strut
\end{minipage} & \begin{minipage}[b]{0.08\columnwidth}\raggedright\strut
\textbf{5}\strut
\end{minipage} & \begin{minipage}[b]{0.08\columnwidth}\raggedright\strut
\textbf{4}\strut
\end{minipage} & \begin{minipage}[b]{0.10\columnwidth}\raggedright\strut
\textbf{3}\strut
\end{minipage} & \begin{minipage}[b]{0.07\columnwidth}\raggedright\strut
\textbf{2}\strut
\end{minipage} & \begin{minipage}[b]{0.10\columnwidth}\raggedright\strut
\textbf{1}\strut
\end{minipage} & \begin{minipage}[b]{0.10\columnwidth}\raggedright\strut
\textbf{0}\strut
\end{minipage}\tabularnewline
\midrule
\endhead
\begin{minipage}[t]{0.05\columnwidth}\raggedright\strut
\textbf{Byte 0}\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Unterteil einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Unterteil ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Auswerfer 1 heben\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Auswerfer 1 senken\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Auswerfer 2 heben\strut
\end{minipage} & \begin{minipage}[t]{0.07\columnwidth}\raggedright\strut
Auswerfer 2 senken\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Abdrücker Seitenteil links einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Abdrücker Seitenteil links ausfahren\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.05\columnwidth}\raggedright\strut
\textbf{Byte 1}\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Abdrücker Seitenteil rechts einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Abdrücker Seitenteil rechts ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Rolltor schließen\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Rolltor öffnen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Gaswagen ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.07\columnwidth}\raggedright\strut
Gaswagen einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Schwenkplatte abklappen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Schwenkplatte einklappen\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.05\columnwidth}\raggedright\strut
\textbf{Byte 2}\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 1 Unterteil einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 1 Unterteil ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Losteil 2 einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Losteil 2 ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 3 einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.07\columnwidth}\raggedright\strut
Losteil 3 ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 4 einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 4 ausfahren\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.05\columnwidth}\raggedright\strut
\textbf{Byte 3}\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 5 einfahren\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Losteil 5 ausfahren\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Seitenteil links schließen\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Seitenteil rechts schließen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Seitenteil links und rechts öffnen\strut
\end{minipage} & \begin{minipage}[t]{0.07\columnwidth}\raggedright\strut
Sandschleuse schließen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Sandschleuse öffnen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Sandmessung 3 Wege Ventil schließen\strut
\end{minipage}\tabularnewline
\begin{minipage}[t]{0.05\columnwidth}\raggedright\strut
\textbf{Byte 4}\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Sandmessung 3 Wege Ventil öffnen\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Schuss\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Hubtisch senken\strut
\end{minipage} & \begin{minipage}[t]{0.08\columnwidth}\raggedright\strut
Hubtisch heben\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
Oberteil heben\strut
\end{minipage} & \begin{minipage}[t]{0.07\columnwidth}\raggedright\strut
Oberteil senken\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
\strut
\end{minipage} & \begin{minipage}[t]{0.10\columnwidth}\raggedright\strut
\strut
\end{minipage}\tabularnewline
\bottomrule
\label{Tabelle3}
\end{longtable}

Für die Übertragung der Daten von der ET-200SP CPU werden 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\tabularnewline
\midrule
\endhead
Byte 0-3 & Spannung \(U_1\) & V\tabularnewline
Byte 4-7 & Spannung \(U_2\) & V\tabularnewline
Byte 8-11 & Spannung \(U_3\) & V\tabularnewline
Byte 12-15 & Primärstrom \(I_1\) & A\tabularnewline
Byte 16-19 & Primärstrom \(I_2\) & A\tabularnewline
Byte 20-23 & Primärstrom \(I_3\) & A\tabularnewline
Byte 24-27 & Phasenwinkel \(\varphi_1\) & $^{\circ}$\tabularnewline
Byte 28-31 & Phasenwinkel \(\varphi_2\) & $^{\circ}$\tabularnewline
Byte 32-35 & Phasenwinkel \(\varphi_3\) & $^{\circ}$\tabularnewline
\bottomrule
\label{Tabelle4}
\end{longtable}

Die zweite Datenstruktur beinhaltet die Statusinformationen der
elektronischen Sicherung 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 \texttt{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 \texttt{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}
\centering
\includegraphics[width=12cm]{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 24V 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}\) 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 \texttt{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 Anlagenstatuses wurde in
diesem Fall kein neuer Speicherbereich angelegt; der Zugriff auf die
Flags kann nämlich direkt erfolgen:

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

Diese Tags werden von der PLC-Connector Anwendung aller
\(20\mathrm{ms}\) über das EtherNet/IP Protokoll (EIP) von der Steuerung
abgefragt. Dabei können mehrere Leseanfragen in einem EIP Paket
kombiniert werden, was die Anzahl an benötigten Ethernet Roundtrips
geringhä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 150A:5A eingesetzt, während im zweiten Test ein
Faktor von 50A:5A 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.

\subsection{Ergebnisse}\label{ergebnisse}


\section{Fazit}

%-------------- Literaturverzeichnis
\newpage
\addcontentsline{toc}{section}{Literatur}
\bibliography{Quellen}


%-------------- Anhang
\newpage
\appendix
\section{Anhang 1}
Anhang 1


\newpage
\section*{Eidesstattliche Erklärung}
Ich versichere an Eides statt, dass ich die vorstehende Arbeit selbstä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}