\section[Integration]{Integrationsm\"oglichkeiten von RTCORBA in die bestehende Lasersteuerung} 
\label{sec:integration}
Dieses Kapitel beschreibt, wie und wo RTCORBA \cite{rtcorbaspec} in die aktuelle TruControl 1000 Software, zur Steuerung von TRUMPF Festk\"orperlasern \cite{trumpfprog}, integriert werden k\"onnte.

\subsection{generische RTCORBA Schnittstelle}
\label{sec:generic}

Die Lasersteuerung ist komplett in C implementiert. Es ist eine Schnittstelle implementiert, \"uber welche der Laser angesteuert werden kann und Zust\"ande abgefragt werden k\"onnen.

W\"urde man diese Schnittstellen in IDL (siehe Kapitel \ref{sec:idl}) nachbilden, k\"onnte man in der IDL-Schnittstellenimplementation die Befehle an die Laserschnittstelle durchreichen. Somit k\"onnte der Laser per RTCORBA \"uber Real-time Ethernet angesteuert werden.

\subsection[DAIS]{DAIS - Data Acquisition From Industrial System}

Die DAIS Spezifikation \cite{daisspec} beschreibt einen DAIS Server, DAIS Data Access, sowie Alarms \& Events. Der DAIS Server hostet Messwerte, welche per DAIS Data Access \"uber ein Netzwerk abgerufen werden k\"onnen. F\"ur das Abrufen der Messwerte erzeugt sich ein Data Accessor beim Server ein neues Session Interface und definiert, welche Werte er in welchem Intervall erhalten m\"ochte. \"Uber Alarms \& Events k\"onnen Grenzwerte f\"ur Messwerte definiert werden. Beim \"Uberschreiten eines Grenzwertes versendet der Server einen Alarm beziehungsweise Event an den entsprechenden Data Acccessor.

\begin{figure}
\begin{center}
\includegraphics[width=0.6\textwidth]{./img/homagdais.jpg}
\caption{Konzept: Homag DAIS Server}
\label{img:homagdais}
\end{center}
\hrule
\end{figure}

Homag \cite{homaghp} hat DAIS Server und Data Access in C++ und ACE/TAO \cite{taohp} implementiert. Der Homag DAIS Server hat auf Steuerungsseite ein Plugin Interface, an welches entweder ein spezielles Plugin (Abb. \ref{img:homagdais}, Konfiguration I) oder ein Master Plugin und dahinter mehrere spezielle Plugins (Abb. \ref{img:homagdais}, Konfiguration II) angedockt werden k\"onnen.

Um die Werte eines Lasers per DAIS zu \"uberwachen, k\"onnte ein Plugin f\"ur den Homag DAIS Server geschrieben werden. Innerhalb des Plugins k\"onnte \"uber die in Kapitel \ref{sec:generic} vorgestellte Schnittstelle auf den Laser zugegriffen werden.

Der Homag DAIS Server wurde im Rahmen der Diplomarbeit bei TRUMPF aufgesetzt. Ein kurzer Test mit einem Simulationsplugin fand statt.

\subsection{Anbindung des .NET HMI}

Zur Zeit ist das HMI des Lasers \"uber eine Datenbank angebunden. Um eine Anbindung per CORBA \cite{corbaspec} zu realisieren m\"u\ss ten in dotgnu \cite{dotgnu} die momentan noch fehlenden Klassen und Funktionen implementiert werden, welche von IIOP.NET \cite{iiop} ben\"otigt werden (siehe Kapitel \ref{sec:IIOP.NET}). 

Momentan wird f\"ur den Zugriff von dem HMI auf die Lasersteuerung ein generischer Wrapper verwendet, der die entsprechenden Daten aus der Datenbank liest, beziehungsweise in die Datenbank schreibt. Dieser Wrapper k\"onnte durch einen IIOP.NET, CORBA Wrapper ausgetauscht werden, welcher die in Kapitel \ref{sec:generic} erw\"ahnte CORBA Schnittstelle ansteuert.

%\subsection{Prozess\"uberwachung von Steuerungen/Anlagen via EventService}

%Alle Steuerungen einer Produktionslinie registrieren sich bei dem f\"ur diese Produktionslinie zust\"andigen EventService. Es w\"are denkbar, je nach gr\"o\ss e der Produktionslinie und dem Umfang der vom Unternehmen gew\"unschten Meldungen, die Last auf mehrere EventServices zu verteilen.

%\subsubsection{\"Uberwachungsinterface der Steuerungen}

%Ein Interface dient der Steuerung der Nachrichtenkreierung. Beispielsweise: alle 5 sec. Wert 15 an 192.168.0.23, oder bei \"Uberschreitung von Wert 16 vom definierten Grenzwert Meldung an 192.168.0.25, \dots

%Die so von den \"Uberwachungsapplikationen kreierten Regeln zur Erstellung von Nachriten k\"onnten beispielsweise in der mySQL Datenbank gehalten werden. Daraus werden cronjobs f\"ur regelm\"assige Aktionen und Trigger in den Datenbanken f\"ur Grenzwert\"uberschreitungen angelegt, welche entsprechende Nachrichten an den zentralen EventService senden.

%Wichtige Werte, wie z.B. Kennzahlen der Produktivit\"at, k\"onnen als Defaultmeldungen regelm\"assig an den EventService gesendet werden, unabh\"angig des Regelwerks in der Datenbank.

%\subsubsection{\"Uberwachungsapplikation}

%Die \"Uberwachungsapplikation kann beim EventService erfragen, welche Steuerungen gerade online sind. Es kann, durch Filterung nach Sender ID am EventService, bestimmt werden, von welchen Steuerungen die Defaultmeldungen empfangen werden sollen. \"Uber das Interface jeder Steuerung, welches die Nachrichtenkreierung steuert, k\"onnen f\"ur die auf diesem PC laufende \"Uberwachungsapplikation geltende Regeln erstellt werden. Ein Login / Logout Signal der \"Uberwachungsapplikation verhindert das Kreiieren von Nachrichten, die keine \"Uberwachungsapplikation empf\"angt.

%\subsubsection{ERP Interface}

%Das ERP Interface registriert sich beim EventService f\"ur die Kan\"ale, welche die f\"ur das im Unternehmen eingesetzte ERP System interessante Kennzahlen liefern. Diese werden automatisch auf das Interface zum entsprechenden ERP System geschrieben.

%\begin{figure}
%\includegraphics[width=\textwidth]{./img/ue-app.jpg}
%\caption{Schema Prozess\"uberwachung}
%\label{img:ue-app}
%\end{figure}
