Vorgehen bei TwinCAT 2
TwinCAT Scope2 unterstützt das Einlesen und die Anzeige von Oversampling-Prozessdaten wie sie von oversampling-fähigen Klemmen/Box zur Verfügung stehen.
Vorraussetzungen Es muss ein TwinCAT Scope2 auf dem System installiert sein. |
Das TwinCAT Scope2 bekommt über die ADS-Daten auch den Datentyp der Variablen übermittelt. Deshalb ist die ARRAY-Variable anzulegen
- in der PLC, siehe Schritt 1a
- oder direkt im System Manager wenn nur eine freie Task vorliegt, siehe Schritt 1b
Im Scope2 sind für beide Fälle dieselben Einstellungen vorzunehmen, siehe Schritt 2
Aufzeichnung einer PLC Variablen mit dem TwinCAT 2 – Scope2
Schritt 1a: Erzeugen einer PLC Variable über eine POU
Da die Kanaldaten in der PLC verwendet werden sollen, ist dort eine verlinkbare ARRAY-Variable anzulegen, wie in folgendem Beispiel gezeigt:
Im System Manager erscheint diese dann in der Liste, in der Regel ist sie dann auch ohne weitere Maßnahmen über ADS erreichbar da PLC-Variablen immer als ADS-Symbol im Hintergrund angelegt werden.
Hinweis: das Scope2 kann solche Variablen im Variablen Browser nur "sehen", wenn sich TwinCAT und die PLC im RUN befinden.
Schritt 1b: Erzeugen einer PLC Variable über eine freie Task
Die für das Scope2 notwendige Array-Variable kann alternativ auch manuell im System Manager definiert und angelegt werden.
Wie bisher im Programm (POU „Main“) ist auch hier eine ARRAY-Variable vom gleichen Typ wie die oversampling PDO der jeweiligen Klemme/Box anzulegen. In diesem Beispiel nun ein Array 0..9 vom Typ INT, also mit 10 Feldern.
Wenn diese Variable dem System Manager bekannt ist, kann eine Instanz davon einer zusätzlichen Task mit Rechtsklick zugeordnet werden. Sie erscheint in der nach Bitgröße sortierten Übersicht.
In diesem Beispiel wird die Variable Var152 angelegt. Sie kann nun mit dem PDO-Array vom jeweiligen Kanal der Klemme/Box verlinkt werden.
Wenn im Dialog MatchingSize aktiviert ist, bieten sich direkt die einzelnen Kanäle an.
Damit die Variablen auch über ADS im Scope2 zu finden sind, sind die ADS-Symbole zu aktivieren, so wie das Enable Auto-Start, sonst läuft die Task nicht selbsttätig. Dann werden ADS-Symboltabellen von allen Variablen angelegt, die diese Task in ihren Prozessdatenimages hat.
Schritt 2: Konfiguration im Scope2
Damit die Verlinkung funktioniert, muss im System Manager je eine Array-Variable mit den Kanaldaten der jeweiligen Klemme/Box vorliegen, d. h. jedes Oversampling-Datenpaket muss in einem Array vorliegen. Diese Array-Variable ist manuell zu definieren und anzulegen, siehe oben.
Im Scope2 kann nun bis zur betreffenden Variable gebrowst werden.
Es ist dann nicht das Array zu öffnen, sondern direkt das Array-Symbol per Rechtsklick AddSymbol auszuwählen.
Im Einstellungsdialog des nun erzeugten Kanals ist ForceOversampling und DataType INT16 einzustellen. Ggf. ist dazu vorübergehend SymbolBased zu deaktivieren.
Zur Überprüfung, dass wirklich die einzelnen Oversampling-Werte geloggt werden, können im Scope2 die Marks aktiviert werden. Bitte beachten Sie die Zusammenhänge aus Task-Zykluszeit, Sampling-Zeit des Scope2-Kanals und Oversamplingfaktor.
Ein weiteres Beispiel zeigt die folgende Abbildung der Darstellung einer Oversampling – Variablen der EL3751 mit 10 x Oversampling:
In der Abbildung ist nachträglich eingezeichnet, das die von der PLC stammende Oversampling Variable mit „Add Symbol“ einfach als Y-Kanal der Achse eingefügt wurde (Auswahl des PLC-POU Namen „MAIN“ im „ROUTES“ - Baum beachten). Hierbei ist „Force Oversampling“ aktiviert, da es sich nicht um eine von der Klemme/Box bereit gestellte Oversampling-Variablen handelt.
Vorgehen bei TwinCAT 2 / alternativ per ADS
Bei früheren TwinCAT 2 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 Scope2 sichtbar gemacht werden.
Es kann so ebenfalls auf die Erstellung einer Feldvariablen in einer PLC verzichtet werden. Dazu ist der ADS Server des EtherCAT Device zu aktivieren, an dem die oversampling fähige Klemme/Box angeschlossen ist.
Die Aktivierung des Servers erfolgt durch Auswahl des „Device – Image“ im linksseitigen Konfigurationsbaum: „I/O – Configuration → I/O Devices → Device .. (EtherCAT) → Device .. – 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 Scope2 per Target Browser auf Prozessdaten zugegriffen werden:
Siehe hierzu im Beckhoff Information System infosys.beckhoff.com → TwinCAT 2 → TwinCAT Supplement → Kategorie Measurement TS3xxx → TS3300 | TwinCAT Scope 2 → Anhang → Oversampling Aufnahme |
Beckhoff TwinCAT unterstützt das Scope2 bei einigen Oversampling-Geräten in spezieller Weise, indem es automatisch im Hintergrund ein besonderes ADS-Array-Symbol berechnet, das im Scope2 im Variablenbrowser erscheint. Dieses kann dann als Variable verlinkt werden und bringt automatisch die Array-Information mit.
Zusammenfassung: es muss eine ARRAY-Variable vorliegen die über ADS erreichbar ist. Dies kann eine PLC-Variable, eine im System Manager definierte ARRAY-Variable sein oder alternativ ist der ADS Server des Device der Klemme/Box aktiviert. Diese wird dann vom Scope2 erkannt.