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).
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:
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:
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:
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“:
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:
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 ()und auf die PLC eingeloggt (), 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):
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):
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: |
Mit „Add Symbol“ wird sogleich die „aUI_Samples“ Feldvariable unterhalb von „Axis“ des Scope-Projekts im Solution Explorer angezeigt.
Nun ist – obwohl bislang kein Programm vorliegt – mit der Programmstart formal vorzunehmen. Mit „Start Recording“ 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:
Mittels „Panning X“ ist nach Beendigung der Aufzeichnung 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.
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:
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: |
TwinCAT 3: ADS Server des EtherCAT Gerätes aktivieren Siehe hierzu im Beckhoff Information System: |