Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Intro

TwinCAT ADS .NET Komponente

Einleitung

Die TwinCAT.Ads Dll ist eine .NET Klassenbibliothek, die Klassen zur Verfügung stellt um mit einem ADS-Gerät zu kommunizieren. Die Klassenbibliothek ist Teil der TwinCAT Ads Communication Library, die auf der Beckhoff Supplement CD zu finden ist. Nach der Installation der Communication Library befindet sich die TwinCAT.Ads Dll für das .NET Framework v1.1 (Microsoft Visual Studio 2003/Borland Developer Studio 2006) im Verzeichnis ..\TwinCAT\ADS Api\.NET\v1.1.4322, und für das .NET Framework v1.0 (Microsoft Visual Studio 2002) im Verzeichnis ..\TwinCAT\ADS Api\.NET\v1.0.3705.

Das Verzeichnis ..\TwinCAT\ADS Api\CompactFramework enthält außerdem eine Version für das .NET Compact Framework v1.0 (CE).


TwinCAT.Ads in Visual Studio .NET (C#)

Einbinden in Microsoft Visual Studio .NET (C#)

Neues Projekt erstellen

Erstellen Sie im Microsoft Visual Studio ein neues Projekt (Windows Forms Application).

Referenz hinzufügen

Um die Klassenbibliothek TwinCAT.Ads zu selektieren müssen Sie das Kommando Add Reference... des Project -Menus auswählen. Dies öffnet den Add Reference Dialog.

In diesem Dialog müssen Sie den Browse Button betätigen und die Datei TwinCAT.Ads.dll auswählen. Im Solution Explorer kann man überprüfen, ob die Komponente zu der Liste der Referenzen hinzugefügt worden ist.

Alle Typen der Klassenbibliothek gehören zum Namespace TwinCAT.Ads. Deshalb muss man folgende Zeilen am Anfang des Quelltextes anfügen:

using System.IO, TwinCAT.Ads;

Dies ermöglicht den Zugriff auf die in der TwinCAT.Ads definierten Datentype ohne jedes mal den Namespace anzugeben. Die Klasse TcAdsClient ist der Kern der TwinCAT.Ads Klassenbibliothek und ermöglicht es dem Anwender mit einem Ads-Gerät zu kommunizieren. Als erstes muss eine Instanz der Klasse TcAdsClient erzeugt werden. Dann wird mit Hilfe der Connect Methode eine Verbindung mit dem Ads-Gerät hergestell.

Eine Verbindung zu einem Ads-Gerät herstellen:

TcAdsClient tcAds = new TcAdsClient();
tcAds.Connect("172.16.3.217.1.1",801);

Die Daten werden mit Hilfe der AdsStream Klasse, die von System.IO.MemoryStream abgeleitet, übermittelt. Um Daten in Stream zu schreiben, kann die Klasse System.IO.BinaryWriter verwendet werden, und für das Lesen der Daten aus dem Stream ist die Klasse Klasse System.IO.BinaryReader verantwortlich.

Lesen einer SPS-Variablen:

// creates a stream with a length of 4 byte
AdsStream ds = new AdsStream(4);
BinaryReader br = new BinaryReader(ds);

// reads a DINT from PLC
tcAds.Read(0x4020,0,ds);

ds.Position = 0;
textBox1.Text = br.ReadInt32().ToString();

Schreiben einer SPS-Variablen:

// creates a stream with a length of 4 byte
AdsStream ds = new AdsStream(4);
BinaryWriter bw = new BinaryWriter(ds);

ds.Position = 0;
bw.Write((int) 100);

// writes a DINT to PLC
tcAds.Write(0x4020,0,ds);

Eine Verbindung zu einem Ads-Gerät trennen:

tcAds.Dispose();

SPS-Programm:

PROGRAM MAIN
VAR
    test AT%MD0 : DINT;
END_VAR
test := test + 1;


TwinCAT.Ads in Visual Studio .NET (VB)

Einbinden in Microsoft Visual Studio .NET (VB)

Neues Projekt erstellen

Die TwinCAT.Ads-Komponente kann nur in ein existierendes Projekt eingebunden werden. Starten Sie Visual StudioS und wählen Sie aus dem Menü das Kommando: File->New->Project...

Im New Project-Dialog wählen Sie bitte als Projekttyp: Visual Basic->Windows Forms Application.

Referenz hinzufügen

Um die Klassenbibliothek TwinCAT.Ads zu selektieren müssen Sie das Kommando Add Reference... des Project -Menus auswählen. Dies öffnet den Add Reference Dialog.
Alternativ können Sie auch mit einem Doppelklick auf My Project (1) die Projekt-Eigenschaften öffnen und dort unter References (2) den den Add...-Button (3) betätigen.

In diesem Dialog müssen Sie den Browse-Reiter auswählen und dort zu der Datei TwinCAT.Ads.dll navigieren. Bestätigen Sie dann die ausgewählte dll mit OK. Standardmäßig befindet sich die TwinCAT.Ads-Komponente im ..TwinCAT\Ads Api\.NET\-Ordner.

Namespace hinzufügen

Alle Typen der Klassenbibliothek gehören zum Namespace TwinCAT.Ads. Deshalb müssen folgende Zeilen am Anfang des Quelltextes anfügt werden:

Imports TwinCAT.Ads
Imports System.IO

Dies ermöglicht den Zugriff auf die in der TwinCAT.Ads definierten Datentypen ohne jedes mal den Namespace anzugeben. Die Klasse TcAdsClient ist der Kern der TwinCAT.Ads Klassenbibliothek und ermöglicht es dem Anwender mit einem ADS-Gerät zu kommunizieren. Als erstes muss eine Instanz der Klasse TcAdsClient erzeugt werden. Dann wird mit Hilfe der Connect Methode eine Verbindung mit dem ADS-Gerät hergestellt.

Eine Verbindung zu einem Ads-Gerät herstellen:

Private tcAds As TcAdsClient
...

tcAds = New TcAdsClient
tcAds.Connect("1.2.3.4.1.1", 801)

...

Die Daten werden mit Hilfe der AdsStream Klasse, die von System.IO.MemoryStream abgeleitet, übermittelt. Um Daten in Stream zu schreiben, kann die Klasse System.IO.BinaryWriter verwendet werden, und für das Lesen der Daten aus dem Stream ist die Klasse System.IO.BinaryReader verantwortlich.

Lesen einer SPS-Variablen:

' creates a stream with a length of 4 byte
Dim ds = New AdsStream(4)
Dim br = New BinaryReader(ds)

' reads a DINT from PLC
tcAds.Read(&H4020, 0, ds)
ds.Position = 0
TextBox1.Text = br.ReadInt32().ToString()

Schreiben einer SPS-Variablen:

' creates a stream with a length of 4 byte
Dim ds = New AdsStream(4)
Dim bw = New BinaryWriter(ds)

ds.Position = 0
bw.Write(New Integer = 100)

' writes a DINT to PLC
tcAds.Write(&H4020, 0, ds)

Eine Verbindung zu einem Ads-Gerät trennen:

tcAds.Dispose();

SPS-Programm:

PROGRAM MAIN
VAR
    test AT%MD0 : DINT;
END_VAR
test := test + 1


Delphi Beispiele: TwinCAT.Ads in BDS2006

Einbinden in Borland Developer Studio 2006

Neues Projekt erstellen

Erstellen Sie im Borland Developer Studio ein neues Projekt (Windows Forms Application).

Referenz hinzufügen

Um die Klassenbibliothek TwinCAT.ADS zu selektieren müssen Sie das Kommando Add Reference... des Project -Menüs auswählen. Dies öffnet den Add Reference Dialog.

In diesem Dialog müssen Sie den Browse... Button betätigen und die Datei TwinCAT.Ads.dll auswählen.

Namespace hinzufügen

Im Project Manager kann man überprüfen, ob die Komponente zu der Liste der Referenzen hinzugefügt worden ist.

Alle Typen der Klassenbibliothek gehören zum Namespace TwinCAT.ADS. Dieses Namespace muss im im uses-Abschnitt hinzugefügt werden:

uses
    System.Drawing, System.Collections, System.ComponentModel,
    System.Windows.Forms, System.Data, System.IO, TwinCAT.Ads;

Dies ermöglicht den Zugriff auf die in der TwinCAT.ADS definierten Datentypen ohne jedes mal den Namespace angeben zu müssen. Die Klasse TcAdsClient ist der Kern der TwinCAT.ADS Klassenbibliothek und ermöglicht es dem Anwender mit einem Ads-Gerät zu kommunizieren. Als erstes muss eine Instanz der Klasse TcAdsClient erzeugt werden. Dann wird mit Hilfe der Connect Methode eine Verbindung mit dem ADS-Gerät hergestellt.

Eine Verbindung zu einem ADS-Gerät herstellen:

var	tcAds : TcAdsClient;
procedure TWinForm.Connect();
begin
    tcAds := TcAdsClient.Create();
    tcAds.Connect('172.16.3.217.1.1', 801);
end;

Lesen einer SPS-Variablen:

Die Daten (4 Byte integer im Merkerbereich) werden mit Hilfe der AdsStream Klasse, die von System.IO.MemoryStream abgeleitet werden, übermittelt. Um Daten in Stream zu schreiben, kann die Klasse System.IO.BinaryWriter verwendet werden, und für das Lesen der Daten aus dem Stream ist die Klasse Klasse System.IO.BinaryReader verantwortlich.

procedure TWinForm.ReadVar();
var 	ds : AdsStream;
    br : BinaryReader;
begin
    // creates a stream with a length of 4 byte
    ds := AdsStream.Create(4);
    br := BinaryReader.Create(ds);

    // reads a DINT from PLC
    tcAds.Read($4020,0,ds);

    ds.Position := 0;
    textBox1.Text := br.ReadInt32().ToString();
end;

Schreiben einer SPS-Variablen:

procedure TWinForm.WriteVar();
var 	ds : AdsStream;
    bw : BinaryWriter;
begin
    // creates a stream with a length of 4 byte
    ds := AdsStream.Create(4);
    bw := BinaryWriter.Create(ds);

    ds.Position := 0;
    bw.Write( Int32(100));

    // writes a DINT to PLC
    tcAds.Write($4020,0,ds);
end;

Eine Verbindung zu einem ADS-Gerät trennen:

procedure TWinForm.Disconnect();
begin
    tcAds.Dispose();
end;

SPS Programm:

PROGRAM MAIN
VAR
    test AT%MD0 : DINT;
END_VAR
test := test + 1;


Delphi Prism Beispiele: TwinCAT.Ads in VS2010

Einbinden in Delphi Prism (Embarcadero Prism XE2, Oxygene for .NET)

Embarcadero Prism XE2 = Oxygene for .NET

Delphi Prism verwendet als IDE das Microsoft Visual Studio 2010 und integriert sich dort bei einer bereits vorhandenen Installation von VS. Die Visual Studio IDE wird mit der Delphi Prism Installation mitgeliefert wenn sie noch nicht vorhanden ist.

Neues Projekt erstellen

Die TwinCAT.ADS-Komponente kann nur in ein existierendes Projekt eingebunden werden. Starten Sie VS und wählen Sie aus dem Menü das Kommando: File->New->Project...

Im New Project-Dialog wählen Sie bitte als Projekttyp: Delphi Prism->Windows Forms Application.

Referenz hinzufügen

Um die Klassenbibliothek TwinCAT.ADS zu selektieren müssen Sie das Kommando Add Reference... des Project -Menüs auswählen, dies öffnet den Add Reference Dialog.

In diesem Dialog müssen Sie den Browse-Reiter auswählen und dort zu der Datei TwinCAT.ADS.dll navigieren. Bestätigen Sie dann die ausgewählte dll mit Add. und OK. Standardmäßig befindet sich die TwinCAT.ADS-Komponente im Ordner ..TwinCAT\Ads Api\.NET\ .

Namespace hinzufügen

Im Project Manager können Sie überprüfen, ob die Komponente zu der Liste der Referenzen hinzugefügt worden ist.

Alle Typen der Klassenbibliothek gehören zum Namespace TwinCAT.ADS. Dieses Namespace muss im uses-Abschnitt hinzugefügt werden:

namespace AdsNETSample;'
interface

uses
  System.Drawing,
  System.Collections,
  System.Collections.Generic,
  System.Windows.Forms,
  System.ComponentModel,
  System.IO,
  TwinCAT.Ads;

Dies ermöglicht den Zugriff auf die in der TwinCAT.ADS definierten Datentypen ohne jedes mal den Namespace angeben zu müssen. Die Klasse TcAdsClient ist der Kern der TwinCAT.ADS Klassenbibliothek und ermöglicht es dem Anwender mit einem ADS-Gerät zu kommunizieren. Als erstes muss eine Instanz der Klasse TcAdsClient erzeugt werden. Dann wird mit Hilfe der Connect Methode eine Verbindung mit dem ADS-Gerät hergestellt.

Eine Verbindung zu einem ADS-Gerät herstellen:

type

//...

  MainForm = partial class(System.Windows.Forms.Form)
  private
    tcAds : TcAdsClient;
    method MainForm_Load(sender: System.Object; e: System.EventArgs);
    method MainForm_FormClosing(sender: System.Object; e: System.Windows.Forms.FormClosingEventArgs);
    method ReadVar_Click(sender: System.Object; e: System.EventArgs);
    method WriteVar_Click(sender: System.Object; e: System.EventArgs);
  protected
    method Dispose(disposing: Boolean); override;
  public
    constructor;
  end;

implementation
//...
ethod MainForm.MainForm_Load(sender: System.Object; e: System.EventArgs);
begin
    tcAds := new TcAdsClient();
    tcAds.Connect('1.2.3.4.1.1', 801);
end;

Lesen einer SPS-Variablen:

Die Daten (4 Byte integer im Merkerbereich) werden mit Hilfe der AdsStream Klasse, die von System.IO.MemoryStream abgeleitet werden, übermittelt. Um Daten in Stream zu schreiben, kann die Klasse System.IO.BinaryWriter verwendet werden, und für das Lesen der Daten aus dem Stream ist die Klasse Klasse System.IO.BinaryReader verantwortlich.

method MainForm.ReadVar_Click(sender: System.Object; e: System.EventArgs);
begin
    // creates a stream with a length of 4 byte
    var ds := new AdsStream(4);
    var br := new BinaryReader(ds);
    // reads a DINT from PLC
    tcAds.Read($4020,0,ds);
    ds.Position := 0;
    textBox1.Text := br.ReadInt32().ToString();
end;

Schreiben einer SPS-Variablen:

method MainForm.WriteVar_Click(sender: System.Object; e: System.EventArgs);
begin
    // creates a stream with a length of 4 byte
    var ds := new AdsStream(4);
    var bw := new BinaryWriter(ds);
    ds.Position := 0;
    bw.Write( Int32(100));
    // writes a DINT to PLC
    tcAds.Write($4020,0,ds);
end;

Eine Verbindung zu einem ADS-Gerät trennen:

method MainForm.MainForm_FormClosing(sender: System.Object; e: System.Windows.Forms.FormClosingEventArgs);
begin
    tcAds.Dispose();
end;

SPS Programm:

PROGRAM MAIN
VAR
    test AT%MD0 : DINT;
END_VAR
test := test + 1;