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.


TwinCAT ADS Monitor: Übersicht

TwinCAT ADS Monitor

Übersicht

Der TwinCAT ADS Monitor ist in zwei Applikationen aufgeteilt. Zum einen handelt es sich um den AMS Logger (TcAmsLog.exe) und zum anderen um den AMS Viewer (TcAmsAdsViewer.exe). Der Logger dient zur Aufzeichnung der AMS Kommandos und der AMS/ADS Viewer zum Anzeigen dieser Daten. Außerdem besteht noch die Möglichkeit den Logger mit Hilfe des Viewers via TCP/IP fernzusteuern. Das folgende Diagramme zeigt den Zusammenhang der einzelnen Komponenten:


TwinCAT AMS Logger: Übersicht

TwinCAT ADS Monitor- AMS Logger

Übersicht

Der AMS Logger(TcAmsLog.exe) dient zur Aufzeichnung von AMS-Kommandos. Der Logger wird über eine XML-Datei konfiguriert, die mit Load Configuration geladen werden kann. Unter anderem kann hier festgelegt werden, wie groß die Datei maximal werden kann und ob ein Ringpuffer verwendet werden soll. Beim Starten der Applikation wird versucht eine Konfigurationsdatei mit dem TcAmsLogger.xml im Ausführungsverzeichnis zu laden.

Sobald man Start betätigt, wird mit der Aufzeichnung der AMS-Kommandos begonnen. Mit Hilfe des Stop Buttons kann die Aufzeichnung beendet werden. In der Default-Einstellung werden die aufgezeichneten AMS-Kommandos in der Datei ..\TwinCAT\Boot\Current.cap abgespeichert. Der Name dieser Datei kann mit Hilfe der XML-Konfigurationsdatei geändert werden, aber nicht der Pfad. Diese Datei kann dann mit Hilfe des AMS Viewers geladen und ausgewertet werden.

Folgende Tags werden in der XML-Konfigurationsdatei verwendet:

Tags | Description | Default
<FileSize> | Maximale Größe der Capture-Datei. | 1MB
<AutoSave> | Wenn <AutoSave> auf false gesetzt ist, werden die AMS Nachrichten in einer temporären Datei gespeichert. Nachdem die Aufzeichnung beendet worden ist, wird die Datei gelöscht. Diese Konfiguration macht nur Sinn, wenn der Logger vom Viewer ferngesteuert wird. Wenn <AutoSave> auf true gesetzt ist, werden die AMS Nachrichten in einer Datei im TwinCAT Boot Verzeichnis gespeichert. Der Name dieser Datei kann mit dem Tag <AutoSaveName> gesetzt werden. | true
<AutoSaveName> | Name der Capture-Datei. | Current.cap
<RingBuffer> | Legt das Verhalten fest, wenn die maximale Dateigröße (<FileSize>) erreicht worden ist. Wenn dieser Wert auf false gesetzt ist, wird die Aufzeichnung beendet. Ansonsten wird ein Ring-Puffer verwendet. Dazu wird die Aufzeichnung auf 2 oder mehreren Dateien verteilt. Wenn alle Dateien voll sind, wird die älteste wieder überschrieben. Die Anzahl der Dateien kann mit RingBufferFiles gesetzt werden. Die Größe einer Datei ergibt sich aus der maximalen Dateigröße (<FileSize>) geteilt durch die Anzahl der Dateien(<RingBufferFiles>). | true
<RingBufferFiles> | Anzahl der Dateien, die für den Ring-Puffer verwendet. | 2
<OverwriteExisting> | Wenn dieser Wert auf true gesetzt ist, wird eine bereits existierende Capture-Datei überschrieben. Ansonsten werden die neuen Nachrichten ans Ende der existierenden Datei gehängt. | true

Steuerung des Loggers durch den AMS/ADS Viewer

Es besteht auch die Möglichkeit den Logger vom AMS/ADS Viewer aus fernzusteuern. Sobald der Logger aufgerufen wird, wartet er darauf, dass ein Viewer eine Verbindung mit dem Logger aufbauen will. Ist dies der Fall, erscheint im Unterbereich des Loggers der Text Viewer Connected. Nun kann der Viewer den Logger starten, den Logger stoppen, die Konfiguration ändern etc.


TwinCAT AMS/ADS Viewer: Übersicht

TwinCAT ADS Monitor - AMS/ADS´Viewer

Übersicht

Der TwinCAT AMS/ADS Viewer (TcAmsAdsView.exe) dient zum einem zum Anzeigen von Capture-Dateien (Offline-Modus), die vom TwinCAT AMS Logger aufgezeichnet wurden, und zum anderen zur Fernsteuerung des AMS Loggers. Im Offline Modus (keine Verbindung mit dem Logger) können die aufgezeichneten AMS-Kommandos geladen und analysiert werden.


TwinCAT AMS/ADS Viewer: Laden und Analysieren

TwinCAT ADS Monitor - AMS/ADS Viewer

Laden und analysieren von Capture-Dateien (Offline-Modus)

Wenn der Viewer nicht mit dem Logger verbunden ist, können die vom AMS-Logger aufgezeichnete AMS-Kommando geladen werden. Die Anzeige unterteilt sich in drei Splitterfenster. Das oberste Fenster ist ein List-View und enthält eine Auflistung aller aufgezeichneten Kommandos. Der Parser-View in der Mitte gibt nähere Auskunft über das im List-View selektierte Kommando. Das unterste View gibt einen HEX-Dump des Kommandos aus.

Abspeichern einer Datei:

Um eine Aufzeichnung abzuspeichern, muss mit der rechten Maustaste auf den Eintrag AmsViewer in der Baumansicht geklickt werden. In dem hierdurch geöffneten Kontextmenü muss der Eintrag Save Capture As... ausgewählt werden. Dies öffnet den Save As Dialog:

Mit den Editierfeldern Range From und Range To kann der Bereich angegeben werden, der abgespeichert werden soll. Wenn die Filtered Checkbox gecheckt ist, werden nur die gefilterten AMS-Kommandos abgespeichert. Dies ist besonders nützlich bei größeren Dateien, um die Datenmenge zu minimieren.

Filtern der Capture-Datei:

Im Offline-Modus gibt es die Möglichkeit die aufgezeichneten AMS/ADS Kommandos zu filtern. Die Filtermöglichkeiten sind hierbei wesentlich umfangreicher als die Filter, die beim Aufzeichnen von AMS/ADS-Kommandos zur Verfügng stehen. Um einen neuen Filter einzugeben, muss mit der rechten Maustaste auf den Eintrag AmsViewer in der Baumansicht geklickt werden. In dem hierdurch geöffneten Kontextmenü muss der Eintrag Set Display Filter ausgewählt werden. Dies öffnet folgenden Dialog:

Im Editierfeld Filter kann ein Filterstring eingegeben wenn. Hierbei kann man Ausdrücke mit booleschen Operatoren(AND,OR,NOT) miteinander verknüpfen. Ein Ausdruck ist entweder eine Kombination aus einer Eigenschaft (z.b. TargetNetId) einer Relation(!=,==,<,>,>=,<) und einem Wert( Zahl,NetId etc.) oder nur eine alleinstehende Eigenschaft. Wenn eine Eigenschaft als Ausdruck verwendet wird, wird überprüft, ob diese Eigenschaft im Kommando enthalten ist. Wenn als Filterstring z.B.

Ads_IndexGroup

eingegeben wird, werden alle Kommandos angezeigt, die diese Eigenschaft enthalten. In diesem Fall sind das alle ADS Write, Read, ReadWrite und AddDeviceNotification Request. Wenn nun als Filterstring:

Ads_IndexGroup == 0x4020

eingegeben wird, werden alle ADS Write, Read, ReadWrite und AddDeviceNotification Request angezeigt, dessen IndexGroup 0x4020 entspricht. Es gibt auch Eigenschaften, die nur alleine stehen können und nicht mit einer Relation verknüpft werden können. Z.B. werden mit Hilfe des Filterstrings:

AdsCmd

alle ADS-Kommandos angezeigt. Die Eigenschaften, die mit Ads_ beginnen, sind ADS-spezifische Eigenschaften.

Folgende Tabelle listet die unterstützten Eigenschaften auf:

Eigenschaft | Beschreibung | Beispiel
SenderPort | Portnummer des sendenden ADS-Gerätes . | SenderPort > 800
SenderNetId | AMS-NetId des sendenden ADS-Gerätes. | SenderNetId == 172.16.17.5.1.1
TargetPort | Portnummer des empfangenden ADS-Gerätes. | TargetPort == 123
TargetNetId | AMS-NetId des empfangenenden ADS-Gerätes. | TargetNetId != 127.12.2.3.1.1
ErrorCode | AMS Fehlercode. Wenn kein Fehler vorhanden ist, ist dieser Wert 0. | ErrorCode > 0
CmdId | Id des AMS-Kommandos. |
hUser | Userhandle | hUser == 0x12345678
cbData | Länge der Daten in Bytes. | cbData > 40
StateFlags | AMS_Zustandsflags. |
Response | Ist wahr, wenn es sich beim Kommando um eine Response handelt. | Response
Data | Daten des Ams-Kommandos. | Data == 'MAIN.Variables[10]'
AdsCmd | Ist wahr, wenn das Kommando ein ADS-Befehl ist. | AdsCmd
Ads_Read | Ist wahr, wenn das Kommando ein ADS-Read Befehl ist. | Ads_Read
Ads_Write | Ist wahr, wenn das Kommando ein ADS-Write Befehl ist. | Ads_Write
Ads_ReadWrite | Ist wahr, wenn das Kommando ein ADS-ReadWrite Befehl ist. | Ads_ReadWrite
Ads_ReadDeviceInfo | Ist wahr, wenn das Kommando ein ADS-ReadDeviceInfo Befehl ist. | Ads_ReadDeviceInfo
Ads_ReadState | Ist wahr, wenn das Kommando ein ADS-ReadState Befehl ist. | Ads_ReadState
Ads_WriteCtrl | Ist wahr, wenn das Kommando ein ADS-WriteCtrl Befehl ist. | Ads_WriteCtrl
Ads_AddDeviceNote | Ist wahr, wenn das Kommando ein ADS-AddDeviceNotification Befehl ist. | Ads_AddDeviceNote
Ads_DelDeviceNote | Ist wahr, wenn das Kommando ein ADS-DeleteDeviceNotification Befehl ist. | Ads_DelDeviceNote
Ads_DeviceNote | Ist wahr, wenn das Kommando ein ADS-DeviceNotification Befehl ist. | Ads_DeviceNote
Ads_IndexOffset | Index-Offset des ADS-Kommandos. | Ads_IndexOffset
Ads_IndexGroup | Index-Group des ADS-Kommandos. | Ads_IndexGroup
Ads_Result | Ergebnis des ADS-Aufrufes. Ein Wert ungleich 0 bedeutet, dass ein Fehler aufgetreten ist. | Ads_Result
Ads_data | Daten des Ads-Kommandos. | Ads_data

Um die Eingabe der Ausdrücke zu vereinfachen, kann mit Add Expression ... der Filter Expression Dialog geöffnet werden. Im linken Listenfeld sind alle Eigenschaften aufgelistet. Wenn eine Eigenschaft selektiert ist, werden im Relation Listenfeld die möglichen Relation angegeben. Im Editierfeld Value kann der Wert eingegeben werden, mit der die Eigenschaft verglichen werden soll.

Wenn der Dialog mit OK bestätigt wird, wird der Ausdruck dem Filter Editierfeld hinzugefügt.

Beispiel 1:

Es sollen alle AMS-Kommandos angezeigt werden, die von einem ADS-Gerät mit der AMS-NetId 172.16.7.70.1.1 gesendet oder empfangen wurden:

sendernetid == 172.16.7.70.1.1 OR targetnetid == 172.16.7.70.1.1

Im zweiten Schritt wollen wir diese Menge auf alle ADS Write-Befehle minimieren:

(sendernetid == 172.16.7.70.1.1 OR targetnetid == 172.16.7.70.1.1) AND ads_write

Beispiel 2:

Es soll nach dem String 'MAIN.Values' gesucht werden:

ads_data contains 'MAIN.Values'

Beispiel 3:

Es soll nach dem Byte-Pattern '01 25 a0' gesucht werden:

ads_data contains '01 25 a0'


TwinCAT AMS/ADS Viewer: Fernsteuern

TwinCAT ADS Monitor - AMS/ADS Viewer

Fernsteuern des Loggers(Online-Modus)

Mit Hilfe des Viewers kann der AMS Loggers ferngesteuert werden. So kann der Logger von einem anderen PC aus gestartet bzw. gestoppt und konfiguriert werden.

Verbindung mit dem AMS Logger herstellen:

Wählen Sie im Menü Connection den Eintrag Connect aus. Dies öffnet den Connect Dialog:

Wählen Sie nun den Rechner aus, auf dem sich der AMS Logger befindet und bestätigen Sie den Dialog.

Filtern im Online-Modus:

Im Online-Modus gibt es die Möglichkeit einen Filter zu setzen, um die Anzahl der AMS/ADS-Kommandos, die aufgezeichnet werden sollen, zu minimieren. Dazu muss im Kontextmenu des Baumansicht-Eintrages AmsViewer der Eintrag Set Capture Filter... ausgewählt werden. Dies öffnet den Set Filter Dialog:

Wenn die ADS Message Button gecheckt ist, werden nur ADS-Befehle aufgezeichnet. Wenn der Response with Error Button gecheckt ist, werden nur AMS bzw. ADS-Befehle mit einem Fehler aufgezeichnet.

Wenn der Included Addresses Button gesetzt ist, kann mit Set ... eine Liste von ADS-Geräten angegeben werden, dessen Telegramme aufgezeichnet werden sollen.

Mit Excluded Addresses kann eine Liste von ADS-Geräten erstellt werden, dessen Telegramme nicht angezeigt werden sollen.

Starten der Kommunikation:

Die Aufzeichnung wird mit der <F5>-Taste oder durch Drücken des abgebildeten Buttons in der Toolbar aktiviert.

Die Aufzeichnung kann mit der Tastenkombination <Shift> + <F5> oder durch Betätigen des abgebildeten Buttons in der Toolbar beendet werden. Um sich die aufgezeichneten AMS/ADS-Kommandos anzuschauen, muss im Kontextmenu des Baumansicht-Eintrages AmsViewer der Eintrag Display Captured Packets... ausgewählt werden.


Übersicht

Der ADS Testmonitor ermöglicht es Testsignale zu konfigurieren, um die Funktionalität des ADS Servers zu testen.

Verbindung zum ADS Server aufbauen:

Mit Auswahl des TCATAdsTest können Sie im Hauptfenster die Ams Net Id und den konfigurierten Ams Port angeben.

Mit einer bestehenden Verbindung können konfigurierbare Signale an den ADS Server gesendet werden.

Beispielsignale:

  • Lesebefehl
  • Schreibbefehl


Lesebefehl

Mit einen Rechtsklick auf den ADS Test TCATAdsTest können Sie über den Kontextdialog Append Command... ein Testsignal erzeugen.

Anlegen von Testsignalen:

Es öffnet sich ein Dialog um das Signal zu konfigurieren:

Vergeben Sie einen Namen, wählen Sie den Befehl Extended Read Request und bestätigen Sie die Eingabe mit OK.

Beispielkonfiguration eines erweiterten Lesebefehls:

Im Hauptfenster müssen Sie die Index Group und den Index Offset des ADS Servers angeben:

Die zu lesenden Daten lassen sich mit einem Rechtsklick über das Kontextmenü Append Item hinzufügen.

Im folgenden Dialog lässt sich der Typ (Type) des gelesenen Wertes angeben :

Bitte beachten Sie, dass die Datenlänge (Length) mit den empfangenen Daten übereinstimmen. Der Repeat Parameter legt fest, wie häufig die Daten angelegt werden. Bestätigen Sie die Eingabe mit OK.

Über den Button Transfer wird das Signal abgeschickt.


Schreibbefehl

Mit einen Rechtsklick auf den ADS Test TCATAdsTest können Sie über den Kontextdialog Append Command... ein Testsignal erzeugen.

Anlegen des Testsignals:

Es öffnet sich ein Dialog um das Signal zu konfigurieren:

Vergeben Sie einen Namen, wählen Sie den Befehl Extended Write Request und bestätigen Sie die Eingabe mit OK.

Beispielkonfiguration eines erweiterten Schreibbefehls:

Im Hauptfenster müssen Sie die Index Group und den Index Offset des ADS Servers angeben:

Die zu schreibenden Daten lassen sich mit einem Rechtsklick über das Kontextmenü Append Item hinzufügen.

Im folgenden Dialog lassen sich der Typ (Type) und Inhalt (Data) der Daten angeben:

Beachten Sie bitte, dass Ihr ADS Server die Datenlänge (Length) unterstützt. Der Repeat Parameter legt fest, wie häufig die Daten angelegt werden. Bestätigen Sie die Eingabe mit OK.

Über den Button Transfer wird das Signal abgeschickt.