Vorgehen bei TwinCAT 3

Ab TwinCAT 3.1 build 4012 und unter Verwendung der unten angegebenen Revision erkennt das integrierte ScopeView in seinem VariablenBrowser, dass die Oversampling-Daten ein Array-Paket sind und aktiviert ForceOversampling selbsttätig. Die Feldvariable ist per „Add Symbol“ als Array als Gesamtes auszuwählen (siehe Erläuterung im nächsten Abschnitt). Der erweiterte PDO-Name liefert dafür die Grundlage. Ab einer bestimmten Revision der jeweiligen Klemme/Box kann also ScopeView den Array-Typ einer Gruppe von Variablen von sich aus erkennen.

Klemme

Revision

EL4732

alle

EL4712

alle

EL3783

EL3783-0000-0017

EL3773

EL3773-0000-0019

EL3751

alle

EL3742

alle

EL3702

alle

EL3632

alle

EL2262

alle

EL1262-0050

alle

EL1262

alle

EP3632-0001

alle

EPP3632-0001

alle

Aufzeichnung einer PLC Variablen mit dem TwinCAT 3 – ScopeView

Unter Voraussetzung eines bereits erstellten TwinCAT 3 – Projekts und einer angeschlossenen PLC mit einer oversampling-fähigen Klemme/Box in der Konfiguration wird im Folgenden gezeigt, wie eine oversampling Variable im Scope (als Standard Bestandteil der TwinCAT 3 Umgebung) dargestellt werden kann. Dies wird Ausgehend von einem Beispielprojekt „SCOPE_with_Oversampling“, einem Standard PLC Projekt in einigen Schritten erklärt.

Schritt 1: Hinzufügen eines Projektes „Scope YT“

Dem Beispielprojekt „SCOPE_with_Oversampling“ wird durch Rechtsklick (A) und der Auswahl (B) „Add“ → „New Project..“ ein TwinCAT Measurement – Projekt „Scope YT Projekt“ (C) hinzugefügt. Als Name wird „Scope for OS“ eingetragen. Das neue Projekt erscheint sogleich im Solution Explorer (D).

Vorgehen bei TwinCAT 3 1:
Hinzufügen eines Scope Projekts zu einem bereits vorhandenen Projekt

Schritt 2a: Erzeugen einer PLC Variablen in einer POU

In der TwinCAT 3 Entwicklungsumgebung wird zunächst einer POU des Projekts eine Eingangsvariable als Feld mit entsprechender Größe des vorgegebenen Oversamplingfaktors in einer POU definiert wie im Folgenden im Beispiel mit strukturierten Text (ST) für die POU „MAIN“ für den Oversamplingfaktor 10 gezeigt ist:

PROGRAM MAIN
VAR
   aU1_Samples AT%I* : ARRAY[0..9] OF INT;
END_VAR

Die Kennzeichnung “AT%I*” steht für die spätere Auslagerung dieser Feldvariable um sie mit den Prozessdatenobjekten (PDOs) einer Klemme/Box zu Verknüpfen. Anzumerken ist, dass die Feldvariable lediglich die gleiche Anzahl von Elementen wie der Oversampling Faktor haben muss; daher können die Indizes auch von 0 bis 9 gesetzt werden. Sobald der Kompiliervorgang gestartet und erfolgreich abgeschlossen wurde (wobei zunächst nicht unbedingt Programmcode vorhanden sein muss), erscheint diese Feldvariable im Solution Explorer der TwinCAT 3 Entwicklungsumgebung in der Gruppe PLC unter „..Instance“.

In der folgenden Darstellung sind rechts Ausschnitte des Solution Explorers gezeigt. Beispielsweise wird hierbei das Verknüpfen einer Feldvariablen mit einem Satz an oversampling Prozessdaten einer EL3773 gezeigt:

Vorgehen bei TwinCAT 3 2:
Darstellung der erstellten PLC Feldvariablen („aUI_Samples“) zur Verknüpfung mit oversampling PDOs einer EL3773

Schritt 2b: Erzeugen einer PLC Variablen über eine freie Task

Wird eine POU auf dem jeweiligen System nicht benötigt, so kann eine Variablenreferenz auch über eine freie Task angelegt werden. Falls eine freie Task noch nicht vorhanden ist, ist sie über rechts-Klick auf „Tasks“ über das Projekt im SYSTEM per „Add New Item…“ zu erstellen:

Vorgehen bei TwinCAT 3 3:
Einfügen einer "freien" Task

Die Task ist als „TwinCAT Task With Image“ einzufügen und erzeugt dadurch auch einen „Inputs“ und „Outputs“ Ordner. Die Eigenschaften der neuen (oder ggf. Vorhandenen Task) muss die Einstellung „Create symbols“ aktiviert haben, damit der „Target Browser“ des Scope diese später auswählbar macht. Die Taskzykluszeit ist ggf. ebenfalls einzustellen. In diesem Fall wird beispielsweise bei 10 x Oversampling mit der EL3751 1 ms bei 100 µs Basiszeit, also 10 Ticks gewählt:

Vorgehen bei TwinCAT 3 4:
Task Eigenschaft "Create symbols" ist zu aktivieren

Für die Portangabe liegt eine Voreinstellung vor (hier: 301) und kann falls nötig geändert werden. Diese Zahl muss später ggf. dem Scope bekannt gemacht werden. Durch einen rechts-Klick auf „Inputs“ kann nun die dem Oversampling zugrunde liegende Variable mit dem passenden Datentyp als Array hinzugefügt werden; in diesem Fall „ARRAY [0..9] OF DINT“ mit der Bezeichnung „Var 1“:

Vorgehen bei TwinCAT 3 5:
Einfügen der zum Oversampling passenden Variablen „Var 1“

Schritt 3: Verknüpfen der Feldvariablen mit einem oversampling PDO

Durch Rechtsklick auf „MAIN.aUI_Samples“ (für den vorhergehenden Schritt 2a) bzw. „Var 1“ der freien Task 1 (für den vorhergehenden Schritt 2b) im Solution Explorer wird ein Fenster zur Auswahl der Prozessdaten geöffnet:

Vorgehen bei TwinCAT 3 6:
Setzen der Verknüpfung der PLC Feldvariablen (links: vorhergehender Schritt 2a; rechts: : vorhergehender Schritt 2b)
Vorgehen bei TwinCAT 3 7:
Auswahl des EL3773 PDO "L1 Voltage Samples" zum Erstellen eines Links mit der PLC Feldvariablen „aUI_Samples“

Die Auswahl des PDO "U1 Samples" der EL3773 für “MAIN.aUI_Samples”, wie oben gezeigt, basiert auf für den vorhergehenden Schritt 2a und ist ggf. für "Var 1" in gleicher Weise vorzunehmen.

Schritt 4: Auswahl der PLC Feldvariablen für die Y-Achse des Scope

Nun wird die Konfiguration aktiviert (Vorgehen bei TwinCAT 3 8:)und auf die PLC eingeloggt (Vorgehen bei TwinCAT 3 9:), damit für den „target browser“ des Scope die Feldvariable zur Auswahl erscheinen kann.

Dazu wird mit einem Rechtsklick auf „Axis“ (A) das drop-down Menü für die Auswahl der Scope Funktionen geöffnet (B):

Vorgehen bei TwinCAT 3 10:
Auswahl der oversampling - Variablen mit dem "target browser"

Mit dem Anwählen des jeweiligen Systems, der die PLC mit der Feldvariablen aus der POU „MAIN“ entspricht (in diesem Fall „Any PC (CX2040)“) wird bis zu der „aUI_Samples“ Variablen navigiert (C):

Vorgehen bei TwinCAT 3 11:
Hinzufügen der "aUI_Samples" Feldvariablen zu "Axis" des Scope
Vorgehen bei TwinCAT 3 12:

Variable erscheint nicht im Target Browser

Falls „ROUTES“ keine Auswahlmöglichkeit der bereitgestellten Variablen bietet, sollte der entsprechende Port dem Target Browser bekannt gemacht werden:
Vorgehen bei TwinCAT 3 13:

Mit „Add Symbol“ wird sogleich die „aUI_Samples“ Feldvariable unterhalb von „Axis“ des Scope-Projekts im Solution Explorer angezeigt.

Vorgehen bei TwinCAT 3 14:

Nun ist – obwohl bislang kein Programm vorliegt – mit Vorgehen bei TwinCAT 3 15: der Programmstart formal vorzunehmen. Mit „Start Recording“ Vorgehen bei TwinCAT 3 16: kann nun der Prozessdatenwert des Oversampling-PDO „L1 Voltage Samples“ über die verlinkte PLC Feldvariable zeitlich aufgezeichnet werden.

Als Beispiel wird eine Sinusförmige Eingangsmessgröße (204,5 Hz) im Folgenden dargestellt:

Vorgehen bei TwinCAT 3 17:
Beispiel einer Messung eines Sinussignals mit 10 Fach Oversampling bei 1 ms Messzykluszeit

Mittels „Panning X“ Vorgehen bei TwinCAT 3 18: ist nach Beendigung der Aufzeichnung Vorgehen bei TwinCAT 3 19: die X-Achse passend sakaliert. Nachfolgend die „Chart“-Eigenschaft „Use X-Axis SubGrid“ auf „True“ mit 10 Teilungen sowie innerhalb der „.ChannelNodeProperties“ die Eigenschaft „Marks“ auf „On“ mit den Farben „Line Color“ Blau und „Mark Color“ Rot eingestellt worden. Letzteres zeigt somit die 10 oversampling-Messpunkte durch die roten Markierungen.

Vorgehen bei TwinCAT 3 / alternativ per ADS

Bei früheren TwinCAT 3 Versionen (oder einer kleineren Revision der Klemme als wie in obiger Tabelle angegeben) kann per Aktivierung des ADS Servers das Oversampling-PDO der betreffenden oversampling fähigen Klemme/Box für das ScopeView sichtbar gemacht werden.

Vorgehen bei TwinCAT 3 20:
Aktivierung des ADS Servers des EtherCAT Device (TwinCAT 3)

Die Aktivierung des Servers erfolgt durch Auswahl von „Image“ im linksseitigen Solution Explorer:
„I/O → Devices → Device .. (EtherCAT) → Image“.

Hier wird dann der Karteireiter „ADS“ ausgewählt und jeweils die Checkbox „Enable ADS Server“ und dann „Create symbols“ aktiviert (der Port – Eintrag erfolgt automatisch).

Dadurch kann ohne eine eingebundene POU bzw. ohne einen Variablenverweis mit dem ScopeView per Target Browser auf Prozessdaten zugegriffen werden:

Vorgehen bei TwinCAT 3 21:
Direkter Zugriff des ScopeView auf PDOs der Klemme
Vorgehen bei TwinCAT 3 22:

Datentyp nicht korrekt

Es kann vorkommen, dass es dem „Target Browser“ nach dem Einfügen des oversampling PDO (entspricht i.d.R. einer Feldvariable) nicht gelingt den Datentyp zu ermitteln. In diesem Fall kann dieser nachträglich in den Kanaleigenschaften geändert werden:
Vorgehen bei TwinCAT 3 23:

Vorgehen bei TwinCAT 3 24:

TwinCAT 3: ADS Server des EtherCAT Gerätes aktivieren

Siehe hierzu im Beckhoff Information System:
infosys.beckhoff.com → TwinCAT 3 → TExxxx | TwinCAT 3 Engineering → TE13xx | ScopeView → Anhang → How To → Oversampling-Aufnahmen mit dem TwinCAT 3 Scope
Vorgehen bei TwinCAT 3 25: