Prof. Dr. J. Bechtloff
   Arbeitsschwerpunkt: Simulation - Systemkopplung
 

Projektbeschreibung

Mit der Abwicklung der Diplomarbeit "Regelungstechnik in CFC" besteht die Notwendigkeit, die in der Automatisierungstechnik realisierten Reglerfunktionen zu testen. Ein möglicher Zugang ist die Verwendung einer Simulation der Strecke. Für diese Streckensimulation wird im Labor das PC-System BORIS (Blockorientierte Simulation, Ingenieurbüro Dr. Kahlert, Hamm) eingesetzt. In BORIS besteht die Möglichkeit, sogenannte User-DLL's einzusetzen, um spezielle Sonderfunktionen realisieren zu können.

Als Automatisierungssystem wird TwinCAT der Fa. Beckhoff eingesetzt. Dieses PC-basierte System setzt die SPS-Programmierumgebung und Laufzeitsystem von 3S ein. Die Einbettung des Laufzeitsystems geschieht bei TwinCAT durch ein Echtzeitmultitasking-System, das neben das MS-Windows-NT System gestellt wird un dim Kernel-Mode von NT läuft. Die SPS ist mittels IEC 6-1131 programmierbar (AWL, FUB, KOP, CFC).

Ziel ist es nun, eine direkte Kopplung von BORIS und TwinCAT zu erreichen, um z.B. auf ein und derselben Hardware, sprich PC, sowohl die Programmierung als auch die Simulation durchführen zu können.


Lösung

TwinCAT bietet zwei Möglichkeiten, Daten mit anderen Windows-Anwendungen austauschen zu können:

OPC

Die wichtigste Basistechnologie von Microsoft zum Austausch von Daten zwischen Applikationen ist COM/OLE. OLE for Process Control (OPC) setzt auf diese Technologie auf. Wichtigstes Ziel der OPC Aktivitäten ist es, ein einheitliches Softwareinterface zu schaffen, das aufbauend auf der bekannten Microsoft-Technologie für die Nutzer einfach zu handhaben sowie für die Anbieter von Automatisierungssystemen einfach zu implementieren ist.

ADS-Interface

Die Systemarchitektur von TwinCAT erlaubt es, die einzelnen Teile der Software (z.B. TwinCAT PLC, TwinCAT NC, ...) als eigenständige Geräte zu betrachten: Für jede Aufgabe gibt es ein Softwaremodul ("Server" oder "Client"). Die Server im System sind die ausführenden Arbeits-"Geräte" in Form von Software, welche in ihrem Betriebsverhalten genau einem Hardwaregerät entsprechen. Man kann daher von "virtuellen" Geräten in Softwareform sprechen. Die "Clients" sind Programme, welche die Dienste der "Server" anfordern, z.B. eine Visualisierung oder auch ein "Programmiergerät" in Form eines Programms. Auf diese Weise kann TwinCAT wachsen, indem immer neue Server und Clients entstehen, für Aufgaben, wie z.B. Nockenschaltwerk, Oszilloskop, PID - Regler, etc.

Der Nachrichtenaustausch zwischen diesen Objekten wird über eine einheitliche ADS-Schnittstelle (Automation Device Specification) vom "Message-Router" abgewickelt. Dieser verwaltet und verteilt alle Nachrichten im System und über TCP/IP - Verbindungen.

Somit können alle TwinCAT - Server und Client-Programme Befehle und Daten austauschen, Nachrichten versenden, Statusinformationen übermittlen etc..

Da der ADS-Nachrichtenaustausch sehr effizient über das ActiveX-Objekt ADSOCXLib nutzbar ist, wurde für die Laborversuche diese Art der Kopplung genutzt.


User-DLL

Die User-DLL "ADS-client.dll" wird in BORIS über die Leiste "USER" eingefügt:

Die Parametrierung der Kommunikationsschnittstelle geschieht über den BORIS-User-DLL-Dialog:

Der eigentliche Parameter-Dialog bietet die Möglichkeiten, den Zugriff auf TwinCAT/ADS-Server ud die Variabln an sich zu parametrieren. Dazu ist es erforderlich, dass das Laufzeitsystem auch tatsächlich aktiv ist und das gewünschte Programm auch läuft.

Der Zugriff auf das Laufzeitsystem wird mit dem OCX-Dialog durchgeführt:

Der Zugriff auf die SPS-Variablen wird mit diesem Dialog einfach durch Drag-and-Drop-Operationen zwischen dem SPS-Variablen-Fenster und dem Sende- bzw. Empfangsfenster gestaltet. In dem SPS-Variablenfenster wird die gesamte SPS-Resource in Form einer Baumstruktur dargestellt. Die oberste Ebene stellen die globalen Variablen [GLOBAL] und das SPS-Hauptprogramm [MAIN] dar. Wird das Hauptprogramm aufgeklappt, so erscheinen die evtl. vorhandenen Funktionsbausteine und Variablen der entsprechenden Ebene:

Die verfügbaren Variablen werden direkt aus der SPS ausgelesen.

Es werden immer die aktuell angewählten Variablentypen, default REAL-Typen, angezeigt. Sollen auch andere Typen, z.B. Bitgrößen, angezeigt und ausgewählt werden können, so kann dies mit dem Variablen-Typen-Dialog eingestellt werden:

Wurden alle Einstellungen vorgenommen, so erscheint der User-Block "ADS_client" mit den Signalleitungen wie folgt:



Download

Zum Testen steht eine Prototypen-Version die BORIS-User-DLL hier zum Download bereit:

Aktion Datum Version Beschreibung
Download

294kB
10.09.2k1 0.3.0 ads_client.dll Beta-Release 0.3.0:

Dieser Download ist als Selfextract ausgeführt. Einfach starten und das Programm-Verzeichnis von Boris in das Unterverzeichnis "UserDLLs" angeben!

Download

31kB
10.09.2k1 0.1 BORIS-Beispielprojekte

Einfach starten und ein beliebiges Projektverzeichnis angeben!

Download

31kB
10.09.2k1 0.1 TwinCAT-Beispielprojekte

Einfach starten und ein beliebiges Projektverzeichnis angeben!

 

Letzte Änderung: 9.11.2006