Handbuch TwinCAT 3 Scope View
Transcrição
Handbuch TwinCAT 3 Scope View
Handbuch TwinCAT 3 Scope View TwinCAT 3 Version: 1.4 Datum: 26.07.2016 Bestell-Nr.: TE13xx Inhaltsverzeichnis Inhaltsverzeichnis 1 Vorwort ....................................................................................................................................................... 4 1.1 Hinweise zur Dokumentation ............................................................................................................ 4 1.2 Sicherheitshinweise .......................................................................................................................... 5 2 Übersicht .................................................................................................................................................... 6 2.1 Produktbeschreibung........................................................................................................................ 6 3 Installation.................................................................................................................................................. 9 3.1 Systemvoraussetzungen .................................................................................................................. 9 3.2 Herunterladen der Setup-Datei......................................................................................................... 9 3.3 Installation......................................................................................................................................... 9 3.4 Nach der Installation ....................................................................................................................... 12 3.5 Lizensierung ................................................................................................................................... 13 4 Konfiguration ........................................................................................................................................... 18 4.1 Scope View..................................................................................................................................... 18 4.1.1 Scope View - Architektur..................................................................................................... 18 4.1.2 Scope View - Scope Menü.................................................................................................. 24 4.1.3 Scope View - Toolbar.......................................................................................................... 26 4.1.4 Scope View - Scope Eigenschaften.................................................................................... 27 4.1.5 Scope View YT Graph ........................................................................................................ 29 4.1.6 Scope View XY Graph ........................................................................................................ 38 4.1.7 Scope View Bar Graph ....................................................................................................... 48 4.1.8 Recording............................................................................................................................ 56 4.1.9 Cursor ................................................................................................................................. 58 4.1.10 Trigger................................................................................................................................. 62 4.1.11 Daten speichern und exportieren........................................................................................ 66 4.1.12 Reporting ............................................................................................................................ 70 4.1.13 Scope Optionen .................................................................................................................. 73 5 .NET API ................................................................................................................................................... 77 5.1 Scope View Control Integration ...................................................................................................... 77 5.1.1 Sample YT Chart ................................................................................................................ 78 5.1.2 Sample XY Chart ................................................................................................................ 83 5.1.3 Sample YT Cursor .............................................................................................................. 88 5.1.4 Sample Scope Export ......................................................................................................... 94 5.2 Integration in ein WPF (Windows Presentation Foundation) Projekt.............................................. 95 5.3 API Dokumentation......................................................................................................................... 96 6 Beispiele................................................................................................................................................... 98 6.1 TwinCAT 3 Scope View Erste Schritte ........................................................................................... 98 7 Anhang ................................................................................................................................................... 107 7.1 FAQ - Häufig gestellte Fragen und Antworten.............................................................................. 107 7.2 TwinCAT Scope Glossar .............................................................................................................. 108 7.3 How To's ....................................................................................................................................... 109 7.3.1 Oversampling-Aufnahmen mit dem TwinCAT 3 Scope .................................................... 109 7.3.2 .svd Dateien aus einem Netzwerkverzeichnis öffnen ....................................................... 112 TwinCAT 3 Scope View Version: 1.4 3 Vorwort 1 Vorwort 1.1 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. EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizensiert durch die Beckhoff Automation GmbH, Deutschland 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-, Gebrauchsmusteroder Geschmacksmustereintragung vorbehalten. 4 Version: 1.4 TwinCAT 3 Scope View Vorwort 1.2 Sicherheitshinweise Sicherheitsbestimmungen Beachten Sie die folgenden Sicherheitshinweise und Erklärungen! Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage, Verdrahtung, Inbetriebnahme usw. Haftungsausschluss Die gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und SoftwareKonfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über die dokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss der Beckhoff Automation GmbH & Co. KG. Qualifikation des Personals Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-, Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist. Erklärung der Symbole In der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehenden Sicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen und unbedingt zu befolgen! Akute Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittelbare Gefahr für Leben und Gesundheit von Personen! GEFAHR Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr für Leben und Gesundheit von Personen! WARNUNG Schädigung von Personen! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personen geschädigt werden! VORSICHT Schädigung von Umwelt oder Geräten Wenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Geräte geschädigt werden. Achtung Tipp oder Fingerzeig Dieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen. Hinweis TwinCAT 3 Scope View Version: 1.4 5 Übersicht 2 Übersicht 2.1 Produktbeschreibung Das TwinCAT 3 Scope ist das Charting- und Analyse-Tool für TwinCAT. Variablen in TwinCAT können aufgezeichnet und grafisch zur Anzeige gebracht werden. Dabei lassen sich die Abtastraten individuell für jeden Kanal einstellen. Aufnahmen im µs-Bereich sind genauso möglich wie Langzeitaufnahmen über mehrere Tage. Aufgrund der Aufteilung in ein Scope View mit Multicore Support für die Darstellung der Signale und einen Scope Server für die Aufzeichnung der Werte ist es möglich, sich von einem zentralen View aus auf im Feld verteilte Server zu verbinden. Somit steht nicht nur ein Tool für die MaschinenInbetriebnahme, sondern auch für die Prozessüberwachung zur Verfügung. Zum Funktionsumfang des TC3 Scopes gehören auch ein Cursor-Tool und Triggerfunktionalitäten. Auch im Bereich Engineering setzt das TC3 Scope neue Maßstäbe. Es ist, wie TwinCAT 3 selbst, auch im Microsoft Visual Studio integriert. So ist es möglich, TwinCAT 3 Projekte und Scope-Projekte parallel in einer Solution zu verwenden. Variablen können sehr einfach aus dem TwinCAT 3 Projekt heraus in eine ScopeKonfiguration verschoben werden. Selbstverständlich kann das Scope auch nach wie vor als StandaloneTool im Rahmen der Visual Studio Shell genutzt werden. Aufgrund der stetig steigenden Anforderungen im Bereich der Datenanalyse-Tools ist das TwinCAT 3 Scope in Produktlevel mit unterschiedlichem Feature-Umfang unterteilt. Das TwinCAT 3 Scope Base beinhaltet ein lizenzfreies View und einen lizenzfreien Server. Beide werden zusammen mit TwinCAT 3 XAE installiert. Produkthinweis Die Software TwinCAT 3 Scope setzt sich aus zwei Produkten zusammen: • TwinCAT 3 Scope View ist ein TwinCAT 3 Engineering Produkt und liefert die grafische Oberfläche für die Konfiguration von Aufnahmen und die Darstellung von Signalverläufen. Das View ist in verschiedenen Produktlevel verfügbar und wird auf dem Gerät lizensiert, wo das View auch angezeigt wird. Die technische Produktbeschreibung erfolgt in diesem Dokument. • TwinCAT 3 Scope Server ist eine TwinCAT 3 Function und liefert die Software für die Datenaufzeichnung. Der Server sendet die aufgenommenen Daten an das View. Die Software wird auf verteilten oder dem lokalen Zielgerät installiert. Die Lizensierung des Servers erfolgt ebenfalls auf dem Gerät, wo der Server läuft. In den meisten Fällen ist die Base Version, welche mit TwinCAT XAE oder dem Scope View zusammen installiert wird, ausreichend. Nur im Falle einer autarken Nutzung ohne View, beispielsweise bei der Ansteuerung durch einen SPS-Baustein, wird die Lizenz für den Server benötigt. Der TwinCAT 3 Scope Server wird im Bereich der TC3 Functions gesondert dokumentiert. Um das Scope nutzen zu können, müssen beide Komponenten im System verfügbar sein. Funktionsprinzip Das TwinCAT Scope View kommuniziert über ADS mit den im System verteilten Scope Servern. Der lokale Server, welcher sich mit dem View auf einem System befindet, kann für eine Aufnahme von lokalen Variablen genutzt werden. Er wird aber auch immer dann verwendet, wenn abgespeicherte Scope Datenfiles im View geöffnet werden. Das View übernimmt die Darstellung der Signalverläufe und dient zur Konfiguration von Aufnahmen. Produktlevel / Feature-Liste Diese Tabelle zeigt, welche Funktionalitäten mit welchem TwinCAT Scope-Level bei entsprechender Lizensierung zur Verfügung stehen. 6 Version: 1.4 TwinCAT 3 Scope View Übersicht Features Scope Base Server View Scope Server Full Licence Server Full 7 days trial version Scope View Professional Full View 7 days trial version General: Free of charge Local record Remote Record using Target Server Remote Record using Local Server Scope Control Integration Long Time Records > 1h Application Settings (TC 3.0) Ring Buffer - - - - - - - - - Auto Save - - - Restart Record View Multicore Support - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base: Create Configuration Target Browser Filter Individual Sample Rate Drag and Drop for Configuration Docking Windows YT Charts YT Overview Chart Stacked YAxes Time Based Charts TwinCAT 3 Scope View Version: 1.4 7 Übersicht Features Scope Base Scope Server Full Licence Scope View Professional XY Charts - - - Array Bar Charts Logarithmic Y-Axes Channel Marks Channel Offset Channel Scaling Panning - - - - - - - - - - - - - - - - - - Zoom - - - Cursor - - - Print Report - - - Extended data export with Export Tool - - - Trigger: Start Record - - - Stop Record - - - Stop Display - - - Restart Display Start Subsave Stop Subsave - - - - - - - - - 8 Version: 1.4 TwinCAT 3 Scope View Installation 3 Installation 3.1 Systemvoraussetzungen Die folgenden Systemvoraussetzungen müssen für eine ordnungsgemäße Funktion des TwinCAT 3 Scope Views erfüllt sein. Unterstützte Betriebssysteme Windows XP, Windows XP Embedded, Windows Embedded Standard 2009, Windows 7 TwinCAT Minimum ist TwinCAT 3 ADS. .NET Framework Es wird das .NET Framework 4.0 benötigt. Das TwinCAT 3 Scope Base wird zusammen mit TwinCAT 3 XAE installiert. Die weiteren Produktlevel und Features werden durch die Lizensierung freigeschaltet. Möchten Sie außerhalb eines TwinCAT 3 XAE Updates eine neuere Scope Version nutzen oder das Scope standalone auf einem PC ohne TwinCAT 3 Engineering installieren, so können Sie sich das entsprechende Setup aus dem Internet herunterladen. Das Scope View ist als Vollversion und als 7-Tage-Testversion lizensierbar. Einschränkungen der Testversion entnehmen Sie bitte der Produktübersichtsseite. 3.2 Herunterladen der Setup-Datei Wie viele andere TwinCAT 3 Engineering Tools, steht das TwinCAT Scope View als Download auf den Beckhoff Webseiten zur Verfügung. Es handelt sich hierbei um die jeweils aktuellste Version des Produkts, welche für jedes Produkt Level lizensierbar ist. Bitte führen Sie die folgenden Schritte durch, um die SetupDatei zu downloaden: 1. Starten Sie einen Webbrowser Ihrer Wahl und öffnen Sie die Beckhoff Webseite www.beckhoff.de 2. Navigieren Sie im Baum zum Knoten Automation/TwinCAT3/TE1xxx | TC3 Engineering/TE13xx | TC3 Scope View 3. Dort können Sie zwischen Download Full und Download Update auswählen. Wählen Sie Full aus, bringt das Setup auch die Microsoft Visual Studio Shell, in der sich das TwinCAT Scope View integriert, mit sich. Sollte die Shell oder eine andere Vollversion des Microsoft Visual Studios bereits auf dem Zielsystem installiert sein, reicht das Update Setup aus. 4. Klicken Sie auf den Download-Link, um die Software in den Warenkorb zu legen. Klicken Sie anschließend auf "Download starten" (Optional) Übertragen Sie die heruntergeladene Datei auf das TwinCAT-Laufzeitsystem, auf welchem Sie das Produkt installieren möchten 3.3 Installation Die Installation der TwinCAT 3 Function für Windows basierte Betriebssysteme erfolgt Schritt-für-Schritt. 1. Führen Sie einen Doppelklick auf die herunter geladene Datei „TFxxxx" aus. Hinweis: Bitte starten Sie die Installation unter Windows per „Als Administrator ausführen", indem Sie die Setup-Dateien mit der rechten Maus anklicken und die entsprechende Option im Kontextmenü auswählen. TwinCAT 3 Scope View Version: 1.4 9 Installation 2. Klicken Sie auf „Next" und akzeptieren Sie dann die Endbenutzervereinbarung 3. Geben Sie Ihre Benutzerdaten ein. 10 Version: 1.4 TwinCAT 3 Scope View Installation 4. Für eine vollständige Installation wählen Sie „Complete" als Installationstyp. Alternativ können Sie jede Komponente separat installieren, indem Sie "Custom" wählen. 5. Wählen Sie „Next“ und „Install" um die Installation zu beginnen. Das TwinCAT System muss gestoppt werden um mit der Installation fortzufahren. TwinCAT 3 Scope View Version: 1.4 11 Installation 6. Bestätigen Sie den Dialog mit „Yes“ 7. Wählen Sie „Finish" um das Setup zu beenden. ð Damit ist die Installation abgeschlossen. Der nächste Schritt nach einer erfolgreichen Installation ist die Lizensierung der TC3 Function [} 13]. 3.4 Nach der Installation Der nächste Schritt nach einer erfolgreichen Installation ist die Lizensierung der Produkte "TE130x Scope View" und / oder "TF3300 Scope Server". Standardmäßig ist das Produkt Level Base aktiv und steht ohne Lizenz zur Verfügung. Den erweiterten Funktionsumfang kann man durch eine entsprechende Lizensierung z.B. auf das Produkt Level Professional freischalten. Weitere mögliche Schritte sind dann: • Erste Schritte mit TwinCAT 3 Scope [} 98] • Detail Dokumentation der einzelnen Funktionalitäten [} 18] • Die Integration des TwinCAT 3 Scope View Controls in die eigene .NET basierte Visualisierung [} 77] 12 Version: 1.4 TwinCAT 3 Scope View Installation 3.5 Lizensierung Die TwinCAT 3 Function ist zusätzlich zur Vollversion auch in einer 7-Tage Testversion freischaltbar. Beide Lizenztypen sind über TwinCAT XAE aktivierbar. Weitere Information zum TwinCAT 3 Lizensierungsverfahren finden Sie im TwinCAT 3 Hilfesystem. Das folgende Dokument beschreibt den Lizensierungsvorgang einer TwinCAT 3 Function und gliedert sich dabei in die folgenden beiden Unterkapitel: • Lizensierung einer 7-Tage Testversion [} 13] • Lizensierung einer Vollversion [} 14] Lizensierung einer 7-Tage Testversion 1. Starten Sie TwinCAT XAE 2. Öffnen Sie ein bestehendes TwinCAT 3 Projekt, oder legen Sie ein neues Projekt an 3. Navigieren Sie im “Solution Explorer” zum Eintrag „System\License“ 4. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für Ihr Produkt hinzu (in diesem Screenshot „TE1300: TC3 Scope View Professional") 5. Optional : Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mit diesem Gerät über die TwinCAT XAE Toolbar verbinden TwinCAT 3 Scope View Version: 1.4 13 Installation 6. Aktivieren Sie in der Registerkarte „Order Information" über den Button „Activate 7 Days Trial License..." eine Testversion 7. Starten Sie im Anschluss daran das TwinCAT 3 System einmal neu Lizensierung einer Vollversion 8. Starten Sie TwinCAT XAE 9. Öffnen Sie ein bestehendes TwinCAT 3 Projekt oder legen Sie ein neues Projekt an 10. Navigieren Sie im "Solution Explorer" zum Eintrag „SYSTEM/License" 11. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für Ihr Produkt hinzu (in diesem Screenshot " TE1300: TC3 Scope View Professional "). 14 Version: 1.4 TwinCAT 3 Scope View Installation 12. Optional: Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mit diesem Gerät über die TwinCAT XAE Toolbar verbinden 13. Öffnen Sie die Registerkarte „Order Information" Die Felder „System-ID" und „HW Platform" können nicht geändert werden, sie beschreiben die zu lizensierende Plattform. Generell wird eine TwinCAT 3 Lizenz an zwei Kennzahlen gebunden: Die „System-ID" identifiziert Ihr Gerät eindeutig. Die „HW Platform" ist eine Kennzahl für die Performanz des Gerätes. 14. Tragen Sie optional eine eigene Bestellnummer und einen Kommentar für Ihre Zwecke ein 15. Generieren Sie in der Registerkarte „Order Information" über den Button „Generate License Request File..." eine Lizenzanforderungs-Datei, die durch einen Beckhoff-Lizenzserver validiert wird (wenn Ihnen Ihre „Beckhoff License ID“ nicht bekannt ist, wenden Sie sich an Ihren Ansprechpartner aus dem Beckhoff Vertrieb). 16. Nachdem Sie das „License Request File“ gespeichert haben, fragt das System, ob die Datei per Mail an den Beckhoff Lizenz Server geschickt werden soll: 17. Wenn Sie den Dialog mit „Yes" bestätigen, öffnet sich Ihr Standard E-Mail Client und erzeugt eine neue E-Mail für „[email protected]", die das „License Request File" enthält 18. Senden Sie diesen Activation Request an Beckhoff HINWEIS! das „License Response File“ wird an die dieselbe E-Mail Adresse versendet, die das „License Request File“ verschickt hat TwinCAT 3 Scope View Version: 1.4 15 Installation 19. Kurz darauf erhalten Sie vom Beckhoff-Lizenzserver eine Lizenzdatei, importieren Sie sie über den Button „Activate License Response File...“, um das Produkt zu aktivieren 20. Wählen Sie in Ihrem Ordnersystem das erhaltene „License Response File" aus 21. Das „License Response File" wird importiert und alle enthaltenen Lizenzen werden aktiviert, sämtliche betroffenen Demo-Lizenzen werden entfernt 16 Version: 1.4 TwinCAT 3 Scope View Installation 22. Starten Sie TwinCAT neu, um die Lizenz zu aktivieren HINWEIS! Das Lizenzfile wird automatisch auf Ihre lokale Festplatte unter „...\TwinCAT \3.1\Target\License" kopiert. TwinCAT 3 Scope View Version: 1.4 17 Konfiguration 4 Konfiguration 4.1 Scope View 4.1.1 Scope View - Architektur Im TwinCAT Scope View werden nicht nur Signalverläufe dargestellt, sondern auch AufnahmeKonfigurationen erstellt. Für die Erstellung dieser Konfigurationen ist es wichtig die Architektur des Scope Views zu kennen. Die Architektur spiegelt sich im Baumaufbau innerhalb des Measurement- Projekts im Solution Explorer wieder. Die Scope- Architektur: 18 Version: 1.4 TwinCAT 3 Scope View Konfiguration Measurement Scope Project: Hauptebene, in der mehrere Scopes eingefügt werden können. Die Scopes innerhalb eines Projektes können unabhängig voneinander gesteuert werden. Standard Scope Project: Ein Scope steht immer für eine Aufnahme-Konfiguration. Das heißt, alle darunter eingefügten Elemente unterliegen den gleichen Aufnahmeeinstellungen. Wird ein Scope angeklickt, werden die Einstellmöglichkeiten, wie Aufnahmedauer und Ringpuffer, im Visual Studio Property- Fenster angezeigt. Siehe auch: Scope Eigenschaften [} 27] YT Chart: Es können parallel in einem Scope mehrere YT Charts existieren. Sie sind die eigentliche Anzeigefläche im View und stellen die Zeitbasis zur Verfügung. Jedes Chart verfügt dabei über eine eigene Toolbar um die Anzeige zu ändern. Die Farb- und Achs-Einstellungen können im Property- Fenster vorgenommen werden. Bei einem Klick auf den Signalverlauf im Chart wird der entsprechende Kanal im Solution Explorer hervorgehoben. Siehe auch: YT Chart Eigenschaften [} 29] Axis: Ein Chart (YT oder XY) kann über mehrere Achsen verfügen. Eine Achse stellt den Wertebereich für die angeschlossenen Kanäle zur Verfügung. Im Property- Fenster kann unter anderem die automatische oder freie Skalierung eingestellt werden. Siehe auch: Achsen Eigenschaften [} 32] Kanal: Ein Kanal verkörpert die Style- Eigenschaften von einer ausgewählten Variablen. Im Property- Fenster können unter anderem die Farbe und die Marks eingestellt werden. Mit einem Doppelklick auf den Kanal wird das entsprechende Signal im Chart hervorgehoben. Acquisition: In der Acquisition stehen die Informationen zu der tatsächlich ausgewählten Variablen. Cursor: Cursor sind hierarchisch den Charts zugeordnet. Innerhalb eines Charts können X- und Y-Cursor hinzugefügt werden. Im Cursor Tool Window werden unter anderem die aktuellen Werte der Signal/CursorSchnittstelle und die Differenzen zu anderen Cursor angezeigt. Es können beliebig viele X- und Y-Cursor gesetzt werden. Siehe auch: Cursor Eigenschaften [} 58] XY Chart: In einem Scope können mehrere XY Charts parallel existieren. Sie sind die eigentliche Anzeigefläche im View. Jedes Chart verfügt dabei über eine eigene Toolbar um die Anzeige zu ändern. Die Farb- und Skalierungs-Einstellungen können im Property- Fenster vorgenommen werden. Bei einem Klick auf den Signalverlauf im Chart wird der entsprechende Kanal im Solution Explorer hervorgehoben. Siehe auch: XY Chart Eigenschaften [} 38] Array Bar Chart: Ein Array Bar Chart kann sich auf ein Array in der Steuerung verbinden und jedes Array-Element als ein Balken anzeigen. Es können in einem Scope mehrere Array Bar Charts parallel existieren. Die Einstellungen für das Chart können im Property- Fenster vorgenommen werden. Trigger: Trigger sind in der Baumstruktur des Scope Views den Scopes zugeordnet. Die Trigger-Aktion, z.B. ein Stop Record, ist im Property- Fenster der Trigger Group einstellbar. Die darunter liegenden Trigger können logisch zu einer Triggerbedingung verknüpft werden. Auch die Variablenauswahl findet an dieser Stelle im Property- Fenster statt. Siehe auch: Trigger Eigenschaften [} 62] TwinCAT 3 Scope View Version: 1.4 19 Konfiguration Fenster Die Oberflächen zur Steuerung des Scope View sind in mehrere einzelne Fenster (Tool Windows) aufgeteilt und in ihrer Position sowie Größe frei konfigurierbar. Die einzelnen Fenster im Überblick: 20 Version: 1.4 TwinCAT 3 Scope View Konfiguration Solution Explorer Cursor [} 58] Error List Target Browser [} 56] Properties Scope View Control Darstellung der Projektstruktur innerhalb einer Solution. Darstellung der Werte, die an dem X-/Y-Cursor anliegen. Auflistung der Fehler, Warnungen und Meldung. Jedes Scope-Projekt listet hier eigenständig die generierten Meldungen auf. Über den KontextmenüEintrag "Clear Error List" können die Meldungen des jeweils selektierten Scope gelöscht werden. Mit dem Target Browser können einer ScopeKonfiguration Kanäle über ihren Symbolnamen hinzugefügt werden. In den Properties können die Einstellungen des jeweiligen Elementes geändert werden, welches im Solution Explorer markiert ist. Darstellung der einzelnen Charts. Die Charts können innerhalb des Controls genau wie alle anderen Fenster nebeneinander oder in überlappenden Tabs dargestellt werden. Konfiguration Die Möglichkeiten eine Scope-Konfiguration zu erstellen bzw. zu bearbeiten sind im Folgenden erklärt. Wie die Eigenschaften der jeweiligen Elemente verändert werden können, ist in der Beschreibung des zugehörigen Fensters beschrieben. Zum Erstellen eines Measurement- Projekt: • File → New → Project → TwinCAT Measurement → Auswahl des gewünschten Templates. Liste der verfügbaren Templates: TwinCAT 3 Scope View Version: 1.4 21 Konfiguration Empty Measurement Project Scope YT Project Scope YT Project with Reporting Scope YT NC Project Scope XY Project Scope XY Project with Reporting Scope Array Bar Project Leeres Measurement- Projekt. Hier können ScopeKonfigurationen (.sv2 | .tcscope) oder Scope- Daten (.svd) nachträglich eingefügt werden. Enthält eine Scope- Instanz sowie ein vorkonfiguriertes YT Chart mit einer entsprechenden Achse. Siehe "Scope YT Project" eine vorgefertigte Druckvorlage zum Drucken von Charts. Enthält eine Scope- Instanz, die speziell für das Arbeiten mit Antriebsachsen vorkonfiguriert wurde. Das Template kann sehr einfach auf die Anzahl der tatsächlich konfigurierten Antriebsachsen erweitert werden. Enthält eine Scope- Instanz sowie ein vorkonfiguriertes XY Chart mit einer entsprechenden Achse. Siehe “Scope XY Project“ + eine vorgefertigte Druckvorlage zum Drucken von Charts. Enthält eine Scope- Instanz sowie ein vorkonfiguriertes Array Bar Chart mit einer entsprechenden Achse. Hinzufügen eines Scope / Report zu einem Measurement- Projekt: • Kontextmenü des Measurement Projekt → Add → New Item... → Auswahl des gewünschten Templates. Liste der verfügbaren Templates: Scope Project Scope NC Project Standard Report Scope- Instanz mit einem vorkonfigurierten Chart und einer Achse. Scope- Instanz, die speziell für das Arbeiten mit Achsen vorkonfiguriert wurde. Druckvorlage zum Drucken von Charts. • Kontextmenü des Measurement- Projekts → Add → Existing Item... → Auswahl der gewünschten Datei (.tcscope | .sv2 | .svd | .rdlc) • Drag&Drop der gewünschten Datei (.tcscope | .sv2 | .svd | .rdlc) auf das Mesaurement-Projekt im Solution Explorer. 22 Version: 1.4 TwinCAT 3 Scope View Konfiguration Hinzufügen von einzelnen Elementen: Neues Chart Kontextmenü der Scope- Instanz → New YT Chart → New XY Chart Kontextmenü der Scope- / Chart- Instanz → New Axis Kontextmenü der Scope- / Chart- / Axis- Instanz → New Empty Channel Drag&Drop von Symboldaten aus dem Target Browser auf eine vorhande Scope- / Chart- / AxisInstanz. PLC Editor → Kontextmenü von Variablen → Add to Scope Neue Achse Neuer Kanal Löschen von Elementen: • Auswahl des Elementes im Solution Explorer → <Entf> Taste. • Kontextmenü des Elementes → Delete Verschieben / kopieren einzelner Elemente: • Jedes Element kann mit Drag&Drop im Solution Explorer verschoben werden. Es muss dabei immer einem Element hinzugefügt werden, welches in der Hierarchie eine Ebene höher steht. Wird ein Element zu einem anderen Scope verschoben, so wird es lediglich kopiert. Es steht dann also noch im ursprünglichen Scope zur Verfügung. • Die beschriebenen Verschiebeoperationen stehen innerhalb eines Scopes auch nach dem Start der Aufnahme zur Verfügung. • Bei gedrückter <Strg> Taste während des Drag&Drop wird das selektierte Element immer kopiert anstatt verschoben. Speichern einer Scope- Konfiguration: • File → Save (Per Default vergebenes Tastenkürzel: Strg + S) Laden einer Scope- Konfiguration: • File → Open → Project/Solution → Auswahl der Solution / des Measurement-Projekts über den Dateiauswahldialog. • Sämtliche Scope- Dateien (.tcscope | .sv2 | .svd) können direkt per Doppelklick geöffnet werden. Da hierzu aber ein Measurement- Projekt als Grundlage fehlt, erscheint ein Auswahldialog, in welchem ein neues Projekt angelegt wird. Anschließend wird dem neu erstellten Projekt das per Doppelklick aufgerufene Scope angefügt (Es wird eine Kopie der Datei in das neue Projektverzeichnis gelegt). Hier bietet sich das "Empty Measurement Project" Template an. • Measurement-Projekt- Dateien (.tcmproj) sowie Solutions (.sln) können direkt per Doppelklick geöffnet werden. Versenden von Projekten via E-Mail: • Kontextmenü der zu versendenden Scope- Instanz → Send Project By E-Mail... ◦ Sollte das Scope-Daten enthalten (Scope State: Reply), so können Sie auswählen, ob auch die Daten versendet werden sollen. Kanal deaktivieren / aktivieren: Ein Kanal kann in der Konfiguration deaktiviert werden, um nicht mit aufgenommen zu werden. Beim Speichern der Konfiguration bleibt er aber erhalten. • Auswahl des Kanals im Solution Explorer → Properties → Disabled → true TwinCAT 3 Scope View Version: 1.4 23 Konfiguration 4.1.2 Scope View - Scope Menü Über das Menü sind die Funktionen des Scope erreichbar. Je nach angewähltem Knoten im Solution Explorer stellt das Menü einen anderen Inhalt dar. (Aus diesem Grund weicht der unten abgebildete Screenshot von der Beschreibung ab.) Dem Scope- Menü können auch die entsprechenden Tastenbelegungen entnommen werden. 24 Version: 1.4 TwinCAT 3 Scope View Konfiguration Target Browser Cursor Window Send Project By E-Mail... Clear Error List Change Ads Symbol... Change Index Group... New YT Chart New XY Chart New Array Bar Chart New Axis New Empty Channel Delete Export to CSV Export to Binary Export to DAT Export to TDMS Extract Scope Configuration Upload Configuration To Target Save Data Scope Messages Local Scope Server... Options... TwinCAT 3 Scope View Öffnet den Target Browser. Öffnet das Cursor Window. Kontextmenü der zu versendenden Scope- Instanz -> Send Project By E-Mail... Sollte das Scope Daten enthalten (Scope State: Reply), so können Sie auswählen, ob auch die Daten versendet werden sollen. Löscht alle Einträge (Error | Warning | Message) des derzeit aktiven Scope aus der Error List. Dialog zum Ersetzen von Zeichenketten. Es werden die Symbolnamen aller Kanäle bearbeitet, die sich unterhalb des selektierten Elementes befinden. Dialog zum Inkrementieren / Dekrementieren der Index-Group / Index-Offset. Es werden die Akquisitionen aller Kanäle bearbeitet, die sich unterhalb des selektierten Elementes befinden. Erstellt ein neues YT Chart innerhalb des Scope. Erstellt ein neues XY Chart innerhalb des Scope. Erstellt ein neues Array Bar Chart innerhalb des Scope. Erstellt eine neue Achse innerhalb des Charts. Ist das selektierte Element kein Chart, so wird zusätzlich ein neues Chart angelegt. Erstellt einen neuen Kanal innerhalb der Achse. Ist keine Achse selektiert, so wird zusätzlich eine neue Achse angelegt. Löscht das aktuell im Solution Explorer selektierte Element. Export in eine CSV oder TXT Datei Export in eine binär Datei Export in eine DAT Datei Export in eine TDMS Datei Löst die Scope- Konfiguration aus dem angewählten .svd heraus. Lädt die aktuelle Konfiguration als .tcscope Datei auf ein zu wählendes Zielsystem runter. Nach dem Stoppen der Aufnahme können die aktuellen Daten inklusive der Konfiguration in einer .svd-Datei gespeichert werden. Die erzeugte Scope- Daten- Datei (.svd) kann direkt dem Measurement- Projekt hinzugefügt werden oder per Verzeichnisauswahl- Dialog in ein gewünschtes Verzeichnis gespeichert werden. Einige häufig auftretende Nachrichten-Felder im Scope sind mit einem Schalter "Remember my Answer and don't ask again!" ausgestattet, um diese Frage beim nächsten Mal nicht zu wiederholen. Dies dient dazu, die Handhabung des Programms für jeden Nutzer individuell einstellbar zu machen. Ist ein Nachrichtenfeld einmal abgewählt, so kann es hier wieder aktiviert werden. Öffnet die Konfigurationsoberfläche des Scope Server. Öffnet das Visual Studio Options Fenster und selektiert den Scope-Eintrag. Version: 1.4 25 Konfiguration 4.1.3 Scope View - Toolbar Mit der Toolbar wird die Aufnahme des Scopes gestartet und gestoppt. Falls die Toolbar nicht standardgemäß sichtbar ist, oder geschlossen wurde, kann die Toolbar unter View → Toolbars → TwinCAT Measurement wieder aktiviert werden. Folgende Elemente sind per Default in der Toolbar vorhanden: 26 Version: 1.4 TwinCAT 3 Scope View Konfiguration Start Record: Alle benötigten Server werden aufgerufen und die Aufnahmeeinstellungen sowie die angeschlossenen Kanäle eingetragen. Sind bereits aufgenommene Daten aus einer vorangegangenen Sitzung vorhanden, so erscheint eine Abfrage, ob die aktuellen Daten gespeichert werden sollen. Danach wird die Aufnahme den obigen Einstellungen entsprechend gestartet. Nach dem Start ist eine Veränderung der Scope-Settings, der Akquisition oder das Hinzufügen oder Entfernen von Kanälen nicht mehr möglich. Stop Record: Die Aufnahme wird beendet. Die aufgenommenen Daten verbleiben jedoch auf den angeschlossenen Servern und können eingesehen werden. Nach dem Stoppen der Aufnahme ist das Verändern der Scope-Konfiguration wieder möglich. Die aktuellen Daten gehen dann allerdings verloren, sofern sie nicht gespeichert werden. Die Toolbar kann über das Kontextmenü (Auf der rechten Seite der Toolbar einblendbar) → Add or Remove Buttons → Customize... beliebig erweitert werden. Die zum Scope gehörenden Befehle finden Sie anschließend unter Add Command → Categories: Scope 4.1.4 Scope View - Scope Eigenschaften Vor dem Start einer Aufnahme müssen die Scope- Eigenschaften bestimmt werden. Die Einstellungen werden über das Property- Fenster (bei selektiertem Scope- Element im Solution Explorer) vorgenommen. TwinCAT 3 Scope View Version: 1.4 27 Konfiguration Auto Save • Auto Save Path: Hier kann per Datei-Browser der Datei-Pfad für die zu speichernde Aufnahme ausgewählt werden. • Filename Mask: Beeinflusst den Dateinamen der zu speichernden Aufnahme. So können z.B. fortlaufende Zeitstempel realisiert werden. • Use Auto Save: Schaltet das automatische Abspeichern einer gestoppten Aufnahme ein. Common • Comment: Hier kann ein freier Kommentar abgelegt werden. • File Name: Dateiname der aktuellen Scope- Instanz. • File Path: Verzeichnis, in dem die Scope- Instanz gespeichert wurde. • Graphics: Zeigt die aktuell verwendete Grafik an. Es wird zwischen GDI+ und DirectX unterschieden. • ViewDetailLevel: Hier kann das Detail-Level eingestellt werden, welches verschiedene Optionen einoder ausblendet. Das Extended- Level wird wegen der besseren Übersicht insbesondere für XY Plots empfohlen, daher gibt es die Option auch einmal nur für XY Plots. Für alle Chart-Typen gibt es die Optionen Default und Extended. Record • Restart Record: Hier kann die zuvor gestoppte Aufnahme direkt wieder gestartet werden. • Ringbuffer: Hier wird festgelegt, wie der Server reagieren soll, wenn die Aufnahmezeit erreicht worden ist. ◦ Ist die Option deaktiviert, wird die Aufnahme beim Erreichen der Aufnahmedauer gestoppt. Ein vorzeitiges Beenden der Aufnahme über den Stop-Button ist möglich. 28 Version: 1.4 TwinCAT 3 Scope View Konfiguration ◦ Ist die Option aktiviert, wird die Aufnahme nicht gestoppt, sondern die ältesten Daten im Speicher werden überschrieben. Damit steigt die Startzeit der Aufnahme an. Gestoppt wird die Aufnahme durch die Betätigung des Stop-Buttons. • Start Record: Hier kann eingestellt werden, ob die Aufnahme bei Betätigung des Aufnahmeknopfes (UserStart) oder bei Eintreffen eines Triggerereignisses (TriggerStart) erfolgen soll. Record Mode • File Store: Hier wird festgelegt, ob der Server die Daten in einer lokalen Datei zwischenspeichern (True) oder nur im Arbeitsspeicher halten (False) soll. Die Auswahl ist abhängig von der Menge der aufzunehmenden Daten und dem Aufnahmegerät. Die Zugriffszeit ist besser, wenn nur im Arbeitsspeicher gearbeitet wird. Bei größeren Datenmengen ist es jedoch meist nötig die „File Store“Option zu aktivieren. • Record Time: Hier wird die Gesamtzeit der Aufnahme bestimmt. Sie wird im Format Tage:Stunden:Minuten:Sekunden eingegeben. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Scopes gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.5 Scope View YT Graph Nachfolgend sind alle Eigenschaften der einzelnen Hierarchiestufen von YT Plots erklärt. Mit dem ViewDetailLevel, welches in den Scope- Eigenschaften eingestellt werden kann, können auf Kanal-Ebene durch eine zusätzliche Hierarchiestufe Kanal Style und Kanal Acquisition voneinander getrennt werden. Kanal Style und Kanal Acquisition werden im Folgenden getrennt betrachtet. 4.1.5.1 YT Chart Eigenschaften Hier können alle dem YT Chart zugeordneten Einstellungen vorgenommen werden. TwinCAT 3 Scope View Version: 1.4 29 Konfiguration Behavior • Auto Start: Ist diese Option aktiviert, startet das Chart die Live-Darstellung, wenn eine neue Aufnahme begonnen wird. • Data Tool Tip: Ist diese Option aktiviert, wird bei einem Klick auf einen Datenpunkt ein Tool-Tipp mit den exakten Werten des Datenpunktes auf X- und Y- Achse angezeigt sowie der Zeitstempel und der Name des entsprechenden Kanals. • Default Display Time: Diese Zeit gibt die Standardbreite des zugehörigen Charts an. Dieser Wert wird zum Beispiel eingestellt, wenn der Rescale - Button in der Chart-Toolbar gewählt wird. • Inverse X-Axis: Schaltet den Signalverlauf von Default von links nach rechts auf rechts nach links um. • Time Bar: Legt fest, ob die Time Bar im Chart angezeigt wird. • Tool Bar: Legt fest, ob die Tool Bar im Chart angezeigt wird. 30 Version: 1.4 TwinCAT 3 Scope View Konfiguration Color • Die Hintergrund- und Rahmenfarbe können mittels den Farb-Dialogen eingestellt werden. Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. • CPU Core: Hier kann für jedes Chart individuell eingestellt werden, welcher Kern der CPU für die aktuelle Chart-Darstellung genutzt werden soll. Es können bei Bedarf auch mehrere Kerne der CPU für ein Chart angegeben werden. Die Zeichen-Performance kann sich dadurch verbessern. • Show Name: Legt fest, ob der Name des Charts in der Grafik angezeigt wird. X-Axis Grid • Use X-Axis Grid: Die X-Unterteilungen im Chart können hier zu- oder abgeschaltet werden. • Use X-Axis SubGrid: Hilfslinien zur feineren X-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. • X-Grid Color: Die Farbe des Grid. • X-Grid Line Width: Linienstärke des Grid in Pixel. • X-SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. X-Axis Style Da die X-Achse einem Chart fest zugeordnet ist, können hier alle zugehörigen Einstellungen vorgenommen werden. • Ticks: Die Anzahl der Unterteilungen. • X-Axis Color: Die Farbe der X-Achse. • X-Axis LineWidth: Linienstärke der Achse in Pixel. Y-Settings • Scale on Zoom: Ist diese Option gewählt, weist das Chart alle Achsen (X und Y) an, nach einer Zoomoder Panningaktion eine Autoskalierung durchzuführen. Dadurch kann der gewählte Bereich aufgeweitet werden. • Stacked Y-Aches: Mit dieser Einstellung kann gewählt werden, ob die Achsen eines Charts nebeneinander liegen sollen, sodass die Werte der angefügten Kanäle innerhalb der gleichen Fläche dargestellt werden oder ob die Achsen übereinander stehen sollen, um jeweils einen eigenen Darstellungsbereich zu erhalten. • Y-Zoom: Hier kann eingestellt werden, wie sich ein Chart beim Zoomen verhält. Wird die Option gesetzt, kann in den Daten eines Charts auch in Y-Richtung navigiert werden. Das schließt sowohl Zoomen als auch Panning (das Verschieben der Anzeige mit der Maus) ein. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Charts gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. Mit der Toolbar wird die Anzeige des Charts bedient. Die Übersicht zeigt alle Buttons und deren Erklärung (von links): • Play: Startet den Live-Darstellungsmodus. Die aktuell auflaufenden Daten werden angezeigt. • Pause: Die Darstellung wechselt in den Pause-Modus. In den bereits aufgenommenen Daten kann nun navigiert werden, ohne die Aufnahme zu stoppen. • Display-Width: Hier wird die aktuelle Displayweite angezeigt. Sie kann im Format "hh:mm:ss,fff" editiert werden. Es kann bis in den µs-Bereich gezoomt werden. Alternativ kann die Displayweite verändert werden, indem in einem selektierten Chartfenster das Mausrad gedreht wird. Der veränderte Wert wird automatisch übernommen. TwinCAT 3 Scope View Version: 1.4 31 Konfiguration • Scroll Tasten: Die äußeren Scroll-Tasten bewegen die aktuelle Anzeige in Schritten, die der DisplayWidth entsprechen. Die inneren Scroll-Tasten bewegen die Anzeige nur um ein Zehntel der DisplayWidth und können gedrückt gehalten werden, um den Datensatz zu sichten. • Position: Hier wird die Position angezeigt. Sie kann im Format "hh:mm:ss,fff" editiert werden. Die Doppelpunkte dienen als Trennzeichen. Wenn nicht alle Einheiten editiert werden, wird das Format, bei Sekunden beginnend, aufsteigend sortiert. • Undo/Redo Time/Position: Hier können Sprünge der Displayweite oder der aktuellen Position, unabhängig von ihrer Entstehung (z.B.: Zoom, Scroll, etc.), rückgängig gemacht werden. Die rechte Maustaste ist ebenfalls mit dieser Funktion belegt. Einmal rückgängig gemachte Werte können mit Redo wiederholt werden. • Panning Horizontal: Im horizontalen Panning-Mode kann durch Klicken und Ziehen mit der Maus die aktuelle Anzeige auf der X-Achse verschoben werden. • Panning Free: Im freien Panning-Mode kann durch Klicken und Ziehen mit der Maus die aktuelle Anzeige auf der X- und Y- Achse verschoben werden. • Zoom Horizontal: Durch Aufspannen eines Rechtecks über der X-Achse kann ein neuer Zeitbereich für die Anzeige gewählt werden. • Zoom Free: Durch Aufspannen eines Rechtecks auf der Zeichenfläche kann in die aktuelle Anzeige hineingezoomt werden. • Rescale All: Führt ein Autoscale auf allen Achsen aus. Die X-Achse(n) werden auf die DefaultDisplaytime gesetzt. • Zoom Out Max: Skaliert die x-Achse so, dass alle aktuellen Werte in der Aufnahme in der Anzeige erscheinen. • Overview Chart: Mit dem Overview Chart wird ein Chart im Chart eingeblendet. Der aktuell im HauptChart gezeigte Signalbereich wird im Overview Chart hervorgehoben. Zudem bietet das Overview Chart eine absolute Zeit-Achse für die gesamte Aufnahmedauer. Durch das Drehen am Mausrad kann ebenfalls ein Zoom auf die aktuelle Anzeige durchgeführt werden. Die Cursorpositon der Maus gibt dabei das Zentrum vor. Die aktuellen Aufnahmezeiten werden in der Chart Toolbar angezeigt: • Start-Time: Der gemeinsame Anfangspunkt der Aufnahmen aller angeschlossenen Kanäle. Die StartTime gibt den Nullpunkt der Aufnahme an. • End-Time: Die größte gemeinsame Zeit aller angeschlossenen Kanäle. Die End-Time markiert somit den Endwert der Aufnahme. Die Differenz aus End-Time und Start-Time wird maximal so groß wie die eingestellte Record-Time (siehe Scope Eigenschaften [} 27]). • Position: Die Position-Time stellt den Nullpunkt des aktuellen Charts dar, also die Zeit von Start-Time bis zum Beginn der Anzeige. • Time: Die absolute Zeit im Ursprung des Charts. • Date: Das absolute Datum im Ursprung des Charts. 4.1.5.2 YT Achsen Eigenschaften An dieser Stelle können Einstellungen für jede verfügbare YT Achse separat vorgenommen werden. 32 Version: 1.4 TwinCAT 3 Scope View Konfiguration Common • Caption: Hier kann die Beschriftung der Achse eingetragen werden. • Comment: Hier kann ein freier Kommentar hinterlegt werden. • Enabled: Hier kann die Achse vollständig ein- oder ausgeschaltet werden. Diese Funktionalität steht auch über das Kontextmenu zur Verfügung. • Show Caption: Legt fest ob der Name des Charts (Caption) in der Grafik angezeigt wird. Grid • Grid Color: Die Farbe des Grids. • Grid Line Width: Linienstärke des Grid in Pixel. • SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. Bei logarithmischer Skalierung werden die Hilfslinien zur Bereichsunterteilung nur in der eingestellten Anzahl angezeigt, wenn der Wertebereich pro Tick genau eine Dekade beträgt. Andernfalls zeigt die dargestellte Hilfslinie die im Hauptnetz nicht dargestellten Dekaden an. • Use Grid: Die Y-Unterteilungen der Achse können hier ein- oder ausgeblendet werden. • Use SubGrid: Hilfslinien zur feineren Y-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. Hilfslinien besitzen keine Achsenbeschriftung. TwinCAT 3 Scope View Version: 1.4 33 Konfiguration Scale • Auto Scale: Ist Auto Scale aktiv, skaliert sich jede Achse so, dass das letzte bekannte Minimum und Maximum aller angeschlossenen Kanäle innerhalb des Anzeigebereiches liegen. • Axis Max: Ist Auto Scale inaktiv, kann der Maximalwert direkt editiert werden. • Axis Min: Ist Auto Scale inaktiv, kann der Minimalwert direkt editiert werden. • Logarithmic: Schaltet zwischen logarithmischer und linearer Skalierung der Achse um. • Precision: Hier gibt man die Anzahl signifikanter Stellen für die Achsbeschriftung an. Dies entspricht der sichtbaren Anzahl an Ziffern an der Achse. • Scale Mode: Man kann zwischen zwei Auto Scale Modes wählen. Der Default-Mode ist AutoGrowOnly. Das bedeutet, die Y-Achse skaliert immer auf das historische Maximum bis ein Rescale für die aktuelle Ansicht durchgeführt wurde. Alternativ ist AutoGrowNShrink auszuwählen. Dieser Modus passt das Maximum der Y-Achse immer automatisch auf das Maximum in der aktuellen Ansicht (Displayweite) an. Axis Style • Color: Die Farbe der Achse. • Line Width: Die Linienstärke in Pixel. • Ticks: Maximale Anzahl der Unterteilungen. Wenn nicht genug Platz für die gewählte Anzahl an Ticks ist, werden diese im Chart automatisch reduziert. Bei logarithmischer Skalierung ist die Anzahl der Ticks abhängig vom dargestellten Wertebereich und kann dadurch gegebenenfalls von den Einstellungen abweichen. • Visible: Gibt an ob die Achse im Chart ein- oder ausgeblendet wird. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Achsen gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.5.3 YT Kanal Style Hier können alle einem YT Kanal zugehörigen Style- Einstellungen vorgenommen werden. 34 Version: 1.4 TwinCAT 3 Scope View Konfiguration Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. Ggf. wird der Kommentar des verbundenen ADS-Symbols übernommen. • Visible: Hier kann eingestellt werden, ob der Kanal im Chart angezeigt werden soll. Line • Antialias: Diese Option entscheidet, wie die Linien gezeichnet werden. Antialias ist "schöner" aber deutlich rechenaufwendiger. Besonders bei vielen Kanälen mit großen Bewegungen hat dies Auswirkungen. • Fill Color: Mit einem Fill Mode kann ein Bereich, wie zum Beispiel die Fläche über oder unter einer Kurve, eingefärbt werden. Hier ist die entsprechende Farbe auszuwählen. • Fill Mode: Mit einem Fill Mode kann ein Bereich, wie zum Beispiel die Fläche über oder unter einer Kurve, eingefärbt werden. Default- Einstellung ist „None“. Eine Ausnahme bilden Variablen mit dem Datentyp BOOL. Bei BOOL-Variablen ist der Default-Wert: „Horizontal Zero“. Weitere Alternativen: Bottom, Top, Center und Source. • Fill Transparency: Der Transparent-Wert der Fill Color kann hier eingestellt werden. Der Default-Wert ist 50. • Line Color: Die Farbe des Graphen. • Line Width: Die Linienstärke des Graphen. Die Linienstärke 1 ist am wenigsten rechenaufwendig. TwinCAT 3 Scope View Version: 1.4 35 Konfiguration • Type: Ändert die Darstellung des Wertverlaufs zwischen Linie, Treppe und Balken. Der Default- Wert ist Linie. Marks • Mark Color: Die Farbe der Stützpunkt-Markierungen. • Marks: Auswahl der Sichtbarkeit von Markierungen -> On (Dauerhaft sichtbar) | Auto (Abhängig von der Zoomstufe) | Off (Markierungen ausgeschaltet). • Mark Size: Die Größe der Stützpunkt-Markierungen. Modify • Bit Mask: Im Feld Bit Mask kann ein Wert eingegeben werden, mit dem der Anzeigewert maskiert wird, sofern es sich nicht um einen Floatingpoint-Typ handelt. Das heißt, der Wert des Kanals wird mit dem Binärwert der Maske UND-verknüpft. Dies hilft um beispielsweise einzelne Bits eines Statusbytes zu beobachten. • Offset: Im Offsetfeld kann ein freies Offset zum Funktionswert des Kanals addiert werden. • Scale Factor: Mit dem Scale-Faktor kann der Anzeigewert eines Kanals verändert werden. Dies ist zum Beispiel sinnvoll, wenn Winkelsignale nicht in Radianten sondern in Grad angezeigt werden sollen. Mit einem Skalierungsfaktor von k = 360 / (2*Pi) = 57,296 würden also Grad statt Radianten angezeigt. • Time Shift: Diese Option ermöglicht es, den Graphen auf der Zeitachse zu verschieben. Dies kann zum Beispiel sinnvoll sein, wenn eine bekannte Buslaufzeit ausgeglichen werden soll. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.5.4 YT Kanal Acquisition Hier können alle einem YT Kanal zugehörigen Acquisitions- Einstellungen vorgenommen werden. 36 Version: 1.4 TwinCAT 3 Scope View Konfiguration Eigenschaften können unterschiedlich sein Die Eigenschaften der Kanäle können von der hier gezeigten Darstellung abweichen. Manche Einstellungsmöglichkeiten sind nur bei speziellen Kanälen sichtbar / editierbar. Hinweis Bsp.: Die Einstellung Array Length ist nur sichtbar bei Array-Symbolen. Acquisition • Array Length: Zeigt die Anzahl der Array- Elemente an. • Data-Type: Gibt den Datentyp der ausgewählten Variablen an. • Disabled: Hier wird entschieden, ob der konfigurierte Kanal aufgezeichnet werden soll oder nicht. • Force Oversampling: Diese Option wird nur bei Arrays eingeblendet. Wird die Option gesetzt, wird das Array als eine Variable interpretiert und zeigt die Werte der einzelnen Array- Elemente zusammenhängend an. Das entspricht dem Verhalten bei EtherCAT Oversampling-Klemmen. Vergleiche: Oversampling-Aufnahmen [} 109]. • Sample State: Hier kann eingetragen werden, ob man die Daten der gewählten Variablen mit der TaskSampleTime oder mit einer FreeSampleTime abtasten möchte. • Sample Time: Wenn der Sample State „FreeSampleTime“ gewählt wurde, kann hier die Abtastrate eingestellt werden. Diese ist immer größer als die TaskSampleTime. • Symbol based: Wenn diese Option gesetzt ist, werden die Variablen per Symbolname kommuniziert. Ist diese Option nicht gesetzt, werden die Variablen per Index Group und Offset kommuniziert und folglich die Eingabefelder für Group und Offset freigeschaltet. • Symbol Comment: Hier wird der tatsächliche Symbolkommentar angezeigt, sobald einer vorhanden ist. TwinCAT 3 Scope View Version: 1.4 37 Konfiguration • Symbol Index Group: Index Group der Variablen. • Symbol Index Offset: Index Offset der Variablen. • Symbol Name: Symbolname der ausgewählten Variablen. • Symbol Size: Zeigt die Größe der Variablen in Bytes. • Target Port: Zeigt den Port der Variablen auf dem entsprechenden TwinCAT- System an. Per DropDown- Box kann eine Auswahl der verfügbaren Ports des ausgewählten Zielsystems vorgenommen werden. • Target System: Gibt das Zielsystem an, von dem eine Aufnahme gemacht werden soll. Dies ist automatisch das Zielsystem der gewählten Variablen. • Time Offset [s]: Dient zur einmaligen Manipulation des Original- Zeitstempels bei der Aufnahme des Datenpunktes. So können Gangunterschiede von verschiedenen Zielsystemen ausgeglichen werden. Die Gangunterschiede müssen dabei manuell vom Nutzer ermittelt werden. • Use Local Server: Wenn diese Option gesetzt ist, wird der auf dem System des Scope Views installierte Scope Server für die Aufnahme verwendet. Ist die Option nicht gesetzt, wird eine Verbindung mit dem Remote Server des Zielsystems aufgebaut. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.6 Scope View XY Graph Nachfolgend sind alle Eigenschaften der einzelnen Hierarchiestufen von XY Plots erklärt. Mit dem ViewDetailLevel, welches in den Scope- Eigenschaften eingestellt werden kann, können auf Kanal-Ebene durch eine zusätzliche Hierarchiestufe Kanal Style und Kanal Acquisition voneinander getrennt werden. Kanal Style und Kanal Acquisition werden im Folgenden getrennt betrachtet. 4.1.6.1 XY Chart Eigenschaften Hier können alle dem XY Chart zugeordneten Einstellungen vorgenommen werden. 38 Version: 1.4 TwinCAT 3 Scope View Konfiguration Behavior • Auto Start: Ist diese Option aktiviert, startet das Chart die Live-Darstellung, wenn eine neue Aufnahme begonnen wird. • Data Tool Tip: Ist diese Option aktiviert, wird bei einem Klick auf einen Datenpunkt ein Tool-Tipp mit den exakten Werten des Datenpunktes auf X- und Y-Achse angezeigt sowie der Zeitstempel und der Name des entsprechenden Kanals. • Default Display Time: Diese Zeit gibt die Anzeigedauer des Signals bzw. die Länge des Signals im XY-Chart wieder. Dieser Wert wird z.B. eingestellt, wenn der Rescale - Button in der Chart-Toolbar gewählt wird. • Time Bar: Legt fest, ob die Time Bar im Chart angezeigt wird. • Tool Bar: Legt fest, ob die Tool Bar im Chart angezeigt wird. Color • Die Hintergrund- und Rahmenfarbe können mittels den Farb-Dialogen eingestellt werden. Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. • CPU Core: Hier kann für jedes Chart individuell eingestellt werden, welcher Kern der CPU für die aktuelle Chart-Darstellung genutzt werden soll. Es können bei Bedarf auch mehrere Kerne der CPU für ein Chart angegeben werden. Die Zeichen-Performance kann sich dadurch verbessern. • Show Name: Legt fest, ob der Name des Charts in der Grafik angezeigt wird. Settings TwinCAT 3 Scope View Version: 1.4 39 Konfiguration • Scale on Zoom: Ist diese Option gewählt, weist das Chart alle Achsen (X und Y) an, nach einer Zoomoder Panningaktion eine Autoskalierung durchzuführen. Dadurch kann der gewählte Bereich aufgeweitet werden. • Stacked Axes: Mit dieser Einstellung kann gewählt werden, ob die Achsen eines Charts nebeneinander oder übereinander liegen sollen. Liegen sie nebeneinander, werden die Werte der angefügten Kanäle innerhalb der gleichen Fläche dargestellt. Liegen sie übereinander, werden die Kanäle in jeweils eigenen Darstellungsbereich gezeichnet. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Charts gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. Mit der Toolbar wird die Anzeige des Charts bedient. Die Übersicht zeigt alle Buttons und deren Erklärung (von links): • Play: Startet den Live-Darstellungsmodus. Die aktuell auflaufenden Daten werden angezeigt. • Pause: Die Darstellung wechselt in den Pause-Modus. In den bereits aufgenommenen Daten kann nun navigiert werden, ohne die Aufnahme zu stoppen. • Display-Width: Hier wird die aktuelle Displayweite angezeigt. Sie kann im Format "hh:mm:ss,fff" editiert werden. Alternativ kann die Displayweite verändert werden, indem in einem selektierten Chartfenster das Mausrad gedreht wird. Der veränderte Wert wird automatisch übernommen. • Scroll Tasten: Die äußeren Scroll-Tasten bewegen die aktuelle Anzeige in Schritten, die der DisplayWidth entsprechen. Die inneren Scroll- Tasten bewegen die Anzeige nur um ein Zehntel der DisplayWidth und können gedrückt gehalten werden, um den Datensatz zu sichten. • Position: Hier wird die Position angezeigt. Sie kann im Format "hh:mm:ss,fff" editiert werden. Die Doppelpunkte dienen als Trennzeichen. Wenn nicht alle Einheiten editiert werden, wird das Format, bei Sekunden beginnend, aufsteigend sortiert. • Panning Free: Im freien Pannning-Mode kann durch Klicken und Ziehen mit der Maus die aktuelle Anzeige auf der X- und Y- Achse verschoben werden. • Zoom Free: Durch Aufspannen eines Rechtecks auf der Zeichenfläche kann in die aktuelle Anzeige hineingezoomt werden. • Rescale All: Führt ein Autoscale auf allen Achsen aus. Die X-Achse(n) werden auf die DefaultDisplaytime gesetzt. • Zoom Out Max: Skaliert die X- und Y-Achse so, dass alle aktuellen Werte in der Aufnahme in der Anzeige erscheinen. Bis zur maximalen Anzahl von darstellbaren Datenpunkten. Die maximale Anzahl beträgt 60.000 Datenpunkte. Durch Drehen am Mausrad kann ebenfalls ein Zoom auf die aktuelle Anzeige durchgeführt werden. Die Cursorpositon gibt dabei das Zentrum vor. Die aktuellen Aufnahmezeiten werden in der Chart Toolbar angezeigt: • Start-Time: Der gemeinsame Anfangspunkt der Aufnahmen aller angeschlossenen Kanäle. Die StartTime gibt somit den Nullpunkt der Aufnahme an. 40 Version: 1.4 TwinCAT 3 Scope View Konfiguration • End-Time: Die größte gemeinsame Zeit aller angeschlossenen Kanäle. Die End-Time markiert den Endwert der Aufnahme. Die Differenz aus End-Time und Start-Time wird maximal so groß wie die eingestellte Record-Time (siehe Scope Eigenschaften [} 27]). • Position: Die Position-Time stellt den Nullpunkt des aktuellen Charts dar, also die Zeit von Start-Time bis zum Beginn der Anzeige. • Time: Die absolute Zeit im Ursprung des Charts. • Date: Das absolute Datum im Ursprung des Charts. 4.1.6.2 XY Achsen Eigenschaften An dieser Stelle können Einstellungen für jede verfügbare XY Achse separat vorgenommen werden. TwinCAT 3 Scope View Version: 1.4 41 Konfiguration Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. • Enabled: Hier kann die Achse vollständig ein- oder ausgeschaltet werden. Diese Funktionalität steht auch über das Kontextmenu zur Verfügung. • Show X Caption: Legt fest, ob der Name der X-Achse in der Grafik angezeigt wird. • Show Y Caption: Legt fest, ob der Name der Y-Achse in der Grafik angezeigt wird. • X Caption: Hier kann die Beschriftung der X-Achse eingetragen werden. • Y Caption: Hier kann die Beschriftung der Y-Achse eingetragen werden. 42 Version: 1.4 TwinCAT 3 Scope View Konfiguration X Grid • Use X Grid: Die X-Unterteilungen der Achse können hier ein- oder ausgeblendet werden. • Use X SubGrid: Hilfslinien zur feineren X-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. Hilfslinien besitzen keine Achsenbeschriftung. • X Grid Color: Die Farbe des Grids. • X Grid Line Width: Linienstärke des Grid in Pixel. • X SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. Bei logarithmischer Skalierung werden die Hilfslinien zur Bereichsunterteilung nur in der eingestellten Anzahl angezeigt, wenn der Wertebereich pro Tick genau eine Dekade beträgt. Andernfalls zeigt die dargestellte Hilfslinie die im Hauptnetz nicht dargestellten Dekaden an. X Scale • X Auto Scale: Ist Auto Scale aktiv, skaliert sich jede Achse so, dass das letzte bekannte Minimum und Maximum aller angeschlossenen Kanäle innerhalb des Anzeigebereiches liegen. • X Axis Max: Ist Auto Scale inaktiv, kann der Maximalwert direkt editiert werden. • X Axis Min: Ist Auto Scale inaktiv, kann der Minimalwert direkt editiert werden. • X Logarithmic: Schaltet zwischen logarithmischer und linearer Skalierung der Achse um. • X Precision: Hier gibt man die Anzahl signifikanter Stellen für die Achsbeschriftung an. Dies entspricht der sichtbaren Anzahl an Ziffern an der Achse. • X Scale Mode: Man kann zwischen zwei Auto Scale Modes wählen. Der Default-Mode ist AutoGrowOnly. Das bedeutet, die X-Achse skaliert immer auf das historische Maximum bis ein Rescale für die aktuelle Ansicht durchgeführt wurde. Alternativ ist AutoGrowNShrink auszuwählen. Dieser Modus passt das Maximum der X-Achse immer automatisch auf das Maximum in der aktuellen Ansicht (Displayweite) an. X Style • X Color: Die Farbe der Achse. • X Line Width: Die Linienstärke in Pixel. • X Ticks: Maximale Anzahl der Unterteilungen. Wenn nicht genug Platz für die gewählte Anzahl an Ticks ist, werden diese im Chart automatisch reduziert. Bei logarithmischer Skalierung ist die Anzahl der Ticks abhängig vom dargestellten Wertebereich und kann dadurch gegebenenfalls von den Einstellungen abweichen. • X Visible: Gibt an ob die Achse im Chart ein- oder ausgeblendet wird. Y Grid • Use Y Grid: Die Y-Unterteilungen der Achse können hier ein- oder ausgeblendet werden. • Use Y SubGrid: Hilfslinien zur feineren Y-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. Hilfslinien besitzen keine Achsenbeschriftung. • Y Grid Color: Die Farbe des Grids. • Y Grid Line Width: Linienstärke des Grid in Pixel. • Y SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. Bei logarithmischer Skalierung werden die Hilfslinien zur Bereichsunterteilung nur in der eingestellten Anzahl angezeigt, wenn der Wertebereich pro Tick genau eine Dekade beträgt. Andernfalls zeigt die dargestellte Hilfslinie die im Hauptnetz nicht dargestellten Dekaden an. Y Scale • Y Auto Scale: Ist Auto Scale aktiv, skaliert sich jede Achse so, dass das letzte bekannte Minimum und Maximum aller angeschlossenen Kanäle innerhalb des Anzeigebereiches liegen. • Y Axis Max: Ist Auto Scale inaktiv, kann der Maximalwert direkt editiert werden. • Y Axis Min: Ist Auto Scale inaktiv, kann der Minimalwert direkt editiert werden. • Y Logarithmic: Schaltet zwischen logarithmischer und linearer Skalierung der Achse um. • Y Precision: Hier gibt man die Anzahl signifikanter Stellen für die Achsbeschriftung an. Dies entspricht der sichtbaren Anzahl an Ziffern an der Achse. TwinCAT 3 Scope View Version: 1.4 43 Konfiguration • Y Scale Mode: Man kann zwischen zwei Auto Scale Modes wählen. Der Default-Mode ist AutoGrowOnly. Das bedeutet, die Y-Achse skaliert immer auf das historische Maximum bis ein Rescale für die aktuelle Ansicht durchgeführt wurde. Alternativ ist AutoGrowNShrink auszuwählen. Dieser Modus passt das Maximum der Y-Achse immer automatisch auf das Maximum in der aktuellen Ansicht (Displayweite) an. Y Style • Y Color: Die Farbe der Achse. • Y Line Width: Die Linienstärke in Pixel. • Y Ticks: Maximale Anzahl der Unterteilungen. Wenn nicht genug Platz für die gewählte Anzahl an Ticks ist, werden diese im Chart automatisch reduziert. Bei logarithmischer Skalierung ist die Anzahl der Ticks abhängig vom dargestellten Wertebereich und kann dadurch gegebenenfalls von den Einstellungen abweichen. • Y Visible: Gibt an ob die Achse im Chart ein- oder ausgeblendet wird. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Achsen gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.6.3 XY Kanal Style Hier können alle einem XY Kanal zugehörigen Style- Einstellungen vorgenommen werden. 44 Version: 1.4 TwinCAT 3 Scope View Konfiguration Cap • Cap Color: Legt die Farbe der eingeschalteten Caps fest. • Cap Size: Legt die Größe der Caps fest. • End Cap: Schaltet das End Cap des Kanals ein. • Start Cap: Schaltet das Start Cap des Kanals ein. Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. Ggf. wird der Kommentar des verbundenen ADS-Symbols übernommen. • Visible: Hier kann eingestellt werden ob der Kanal im Chart angezeigt werden soll. TwinCAT 3 Scope View Version: 1.4 45 Konfiguration Line • Antialias: Diese Option entscheidet wie die Linien gezeichnet werden. Antialias ist "schöner" aber deutlich rechenaufwendiger. Besonders bei vielen Kanälen mit großen Bewegungen hat dies Auswirkungen. • Fill Color: Mit einem Fill Mode kann ein Bereich, wie zum Beispiel die Fläche über oder unter einer Kurve, eingefärbt werden. Hier ist die entsprechende Farbe auszuwählen. • Fill Mode: Mit einem Fill Mode kann ein Bereich, wie zum Beispiel die Fläche über oder unter einer Kurve, eingefärbt werden. Default- Einstellung ist “None“. Alternativen sind: Horizontal Zero, Bottom, Top, Center und Source. • Fill Transparency: Der Transparent-Wert der Fill Color kann hier eingestellt werden. Der Default-Wert ist 50. • Line Color: Die Farbe des Graphen. • Line Width: Die Linienstärke des Graphen. Die Linienstärke 1 ist am wenigsten rechenaufwendig. Marks • Mark Color: Die Farbe der Stützpunkt-Markierungen. • Marks: Auswahl der Sichtbarkeit von Markierungen -> On (Dauerhaft sichtbar) | Auto (Abhängig von der Zoomstufe) | Off (Markierungen ausgeschaltet). • Mark Size: Die Größe der Stützpunkt-Markierungen. Modify • X Bit Mask: Im Feld Bit Mask kann ein Wert eingegeben werden, mit dem der Anzeigewert maskiert wird, sofern es sich nicht um einen Floatingpoint-Typ handelt. Das heißt, der Wert des Kanals wird mit dem Binärwert der Maske UND-verknüpft. Dies hilft um beispielsweise einzelne Bits eines Statusbytes zu beobachten. • X Offset: Im Offsetfeld kann ein freier Offset zum Funktionswert des Kanals addiert werden. • X Scale Factor: Mit dem Scale-Faktor kann der Anzeigewert eines Kanals verändert werden. • Y Bit Mask: Im Feld Bit Mask kann ein Wert eingegeben werden, mit dem der Anzeigewert maskiert wird, sofern es sich nicht um einen Floatingpoint-Typ handelt. Das heißt, der Wert des Kanals wird mit dem Binärwert der Maske UND-verknüpft. Dies hilft um beispielsweise einzelne Bits eines Statusbytes zu beobachten. • Y Offset: Im Offsetfeld kann ein freies Offset zum Funktionswert des Kanals addiert werden. • Y Scale Factor: Mit dem Scale-Faktor kann der Anzeigewert eines Kanals verändert werden. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.6.4 XY Kanal Acquisition Hier können alle einem XY Kanal zugehörigen Acquisitions- Einstellungen vorgenommen werden. 46 Version: 1.4 TwinCAT 3 Scope View Konfiguration Eigenschaften können unterschiedlich sein Die Eigenschaften der Kanäle können von der hier gezeigten Darstellung abweichen. Manche Einstellungsmöglichkeiten sind nur bei speziellen Kanälen sichtbar / editierbar. Hinweis Bsp.: Die Einstellung Array Length ist nur sichtbar bei Array-Symbolen. Acquisition • Data-Type: Gibt den Datentyp der ausgewählten Variablen an. • Disabled: Hier wird entschieden, ob der konfigurierte Kanal wirklich aufgezeichnet werden soll oder nicht. • Force Oversampling: Diese Option wird nur bei Arrays eingeblendet. Wird die Option gesetzt, wird das Array als eine Variable interpretiert und zeigt die Werte der einzelnen Array-Elemente zusammenhängend an. Das entspricht dem Verhalten bei EtherCAT Oversampling-Klemmen. Vergleiche: Oversampling-Aufnahmen [} 109]. • Sample State: Hier kann eingetragen werden, ob man die Daten der gewählten Variablen mit der TaskSampleTime oder mit einer FreeSampleTime abtasten möchte. • Sample Time: Wenn der Sample State „FreeSampleTime“ gewählt wurde, kann hier die Abtastrate eingestellt werden. Diese ist immer größer als die TaskSampleTime. • Symbol based: Wenn diese Option gesetzt ist, werden die Variablen per Symbolname kommuniziert. Ist diese Option nicht gesetzt, werden die Variablen per Index Group und Offset kommuniziert und folglich die Eingabefelder für Group und Offset freigeschaltet. • Symbol Comment: Hier wird der tatsächliche Symbolkommentar angezeigt, sobald einer vorhanden ist. • Symbol Index Group: Index Group der Variablen. • Symbol Index Offset: Index Offset der Variablen. • Symbol Name: Symbolname der ausgewählten Variablen. • Symbol Size: Zeigt die Größe der Variablen in Bytes. TwinCAT 3 Scope View Version: 1.4 47 Konfiguration • Target Port: Zeigt den Port der Variablen auf dem entsprechenden TwinCAT- System an. Per DropDown- Box kann eine Auswahl der verfügbaren Ports des ausgewählten Zielsystems vorgenommen werden. • Target System: Gibt das Zielsystem an, von dem eine Aufnahme gemacht werden soll. Dies ist automatisch das Zielsystem der gewählten Variablen. • Time Offset [s]: Dient zur einmaligen Manipulation des Original Zeitstempels bei der Aufnahme des Datenpunktes. So können Gangunterschiede von verschiedenen Zielsystemen ausgeglichen werden. Die Gangunterschiede müssen dabei manuell vom Nutzer ermittelt werden. • Use Local Server: Wenn diese Option gesetzt ist, wird der auf dem System des Scope Views installierte Scope Server für die Aufnahme verwendet. Ist die Option nicht gesetzt, wird eine Verbindung mit dem Remote Server des Zielsystems aufgebaut. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.7 Scope View Bar Graph Nachfolgend sind alle Eigenschaften der einzelnen Hierarchiestufen von Array Bar Charts erklärt. Mit dem ViewDetailLevel, welches in den Scope- Eigenschaften eingestellt werden kann, können auf Kanal-Ebene durch eine zusätzliche Hierarchiestufe Kanal Style und Kanal Acquisition voneinander getrennt werden. Kanal Style und Kanal Acquisition werden im Folgenden getrennt betrachtet. 4.1.7.1 Bar Chart Eigenschaften Hier können alle dem Array Bar Chart zugeordneten Einstellungen vorgenommen werden. 48 Version: 1.4 TwinCAT 3 Scope View Konfiguration Behavior • Auto Start: Ist diese Option aktiviert, startet das Chart die Live-Darstellung, wenn eine neue Aufnahme begonnen wird. • Data Tool Tip: Ist diese Option aktiviert, wird bei einem Klick auf einen Datenpunkt ein Tool-Tipp mit den exakten Werten des Datenpunktes auf X- und Y-Achse angezeigt sowie der Zeitstempel und der Name des entsprechenden Kanals. • Default Display Time: Diese Zeit bezieht sich auf die Anzeigedauer der Min- und Max-Werte im Array Bar Chart. Die Werte werden grundsätzlich erfasst und man kann mit einer längeren Display Time in die vergangen Entwicklung der Extremwerte schauen. • Time Bar: Legt fest, ob die Time Bar im Chart angezeigt wird. • Tool Bar: Legt fest, ob die Tool Bar im Chart angezeigt wird. Color • Die Hintergrund- und Rahmenfarbe können mittels Farb-Dialogen eingestellt werden. Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. • CPU Core: Hier kann für jedes Chart individuell eingestellt werden, welcher Kern der CPU für die aktuelle Chart-Darstellung genutzt werden soll. Es können bei Bedarf auch mehrere Kerne der CPU für ein Chart angegeben werden. Die Zeichen-Performance kann sich dadurch verbessern. • Show Name: Legt fest, ob der Name des Charts in der Grafik angezeigt wird. Settings TwinCAT 3 Scope View Version: 1.4 49 Konfiguration • Stacked Axes: Mit dieser Einstellung kann gewählt werden, ob die Achsen eines Charts nebeneinander oder übereinander liegen sollen. Liegen sie nebeneinander, werden die Werte der angefügten Kanäle innerhalb der gleichen Fläche dargestellt. Liegen sie übereinander, werden die Kanäle in jeweils eigenen Darstellungsbereich gezeichnet. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Charts gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. Mit der Toolbar wird die Anzeige des Charts bedient. Die Übersicht zeigt alle Buttons und deren Erklärung (von links): • Play: Startet den Live-Darstellungsmodus. Die aktuell auflaufenden Daten werden angezeigt. • Pause: Die Darstellung wechselt in den Pause-Modus. In den bereits aufgenommenen Daten kann nun navigiert werden, ohne die Aufnahme zu stoppen. • Display-Width: Diese Zeit bezieht sich auf die Anzeigedauer der Min- und Max-Werte im Array Bar Chart. Die Werte werden grundsätzlich erfasst und man kann mit einer längeren Display Time in die vergangen Entwicklung der Extremwerte schauen. • Scroll Tasten: Die äußeren Scroll-Tasten bewegen die aktuelle Anzeige in Schritten, die der DisplayWidth entsprechen. Die inneren Scroll- Tasten bewegen die Anzeige nur um ein Zehntel der DisplayWidth und können gedrückt gehalten werden, um den Datensatz zu sichten. • Position: Die angezeigte Position kann im Position-Feld im Format "hh:mm:ss,fff" editiert werden. Die Doppelpunkte dienen hierbei als Trennzeichen. Wenn nicht alle Einheiten editiert werden, wird das Format, bei Sekunden beginnend, aufsteigend sortiert. • Undo/Redo Time/Position: Sprünge der Displayweite oder der aktuellen Position können hier, unhabhängig von ihrer Entstehung (z.B.: Zoom, Scroll, etc.) rückgängig gemacht werden. Die rechte Maustaste ist ebenfalls mit dieser Funktion belegt. Einmal rückgängig gemachte Werte können mit Redo wiederholt werden. • Panning Horizontal: Im horizontalen Panning-Mode kann durch Klicken und Ziehen mit der Maus die aktuelle Anzeige auf der X-Achse verschoben werden. • Panning Free: Im freien Panning-Mode kann durch Klicken und Ziehen mit der Maus die aktuelle Anzeige auf der X- und Y- Achse verschoben werden. • Zoom Horizontal: Durch Aufspannen eines Rechtecks über der X-Achse kann ein neuer Zeitbereich für die Anzeige gewählt werden. • Zoom Free: Durch Aufspannen eines Rechtecks auf der Zeichenfläche kann in die aktuelle Anzeige hineingezoomt werden. • Rescale All: Führt bei eingestelltem Autoscale ein Zoom auf die maximale Anzahl an Array-Elementen aus. Bei deaktiviertem Autoscale wird automatisch auf die definierten Grenzwerte gezoomt. • Zoom Out Max: Skaliert die x-Achse so, dass immer alle Array-Elemente angezeigt werden. 4.1.7.2 Bar Achsen Eigenschaften Hier werden alle Einstellungen für die Achsen von Array Bar Charts beschrieben. 50 Version: 1.4 TwinCAT 3 Scope View Konfiguration Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. • Enabled: Hier kann die Achse vollständig ein- oder ausgeschaltet werden. Diese Funktionalität steht auch über das Kontextmenu zur Verfügung. • Show X Caption: Legt fest, ob der Name der X-Achse in der Grafik angezeigt wird. • Show Y Caption: Legt fest, ob der Name der Y-Achse in der Grafik angezeigt wird. • X Caption: Hier kann die Beschriftung der X-Achse eingetragen werden. • Y Caption: Hier kann die Beschriftung der Y-Achse eingetragen werden. TwinCAT 3 Scope View Version: 1.4 51 Konfiguration X Grid • Use X Grid: Die X-Unterteilungen der Achse können hier ein- oder ausgeblendet werden. • Use X SubGrid: Hilfslinien zur feineren X-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. Hilfslinien besitzen keine Achsenbeschriftung. • X Grid Color: Die Farbe des Grids. • X Grid Line Width: Linienstärke des Grid in Pixel. • X SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. Bei logarithmischer Skalierung werden die Hilfslinien zur Bereichsunterteilung nur in der eingestellten Anzahl angezeigt, wenn der Wertebereich pro Tick genau eine Dekade beträgt. Andernfalls zeigt die dargestellte Hilfslinie die im Hauptnetz nicht dargestellten Dekaden an. X Scale • X Auto Scale: Ist Auto Scale aktiv, skaliert sich jede Achse so, dass das letzte bekannte Minimum und Maximum aller angeschlossenen Kanäle innerhalb des Anzeigebereiches liegen. • X Axis Max: Ist Auto Scale inaktiv, kann der Maximalwert direkt editiert werden. • X Axis Min: Ist Auto Scale inaktiv, kann der Minimalwert direkt editiert werden. • X Logarithmic: Schaltet zwischen logarithmischer und linearer Skalierung der Achse um. • X Precision: Hier gibt man die Anzahl signifikanter Stellen für die Achsbeschriftung an. Dies entspricht der sichtbaren Anzahl an Ziffern an der Achse. X Style • X Color: Die Farbe der Achse. • X Line Width: Die Linienstärke in Pixel. • X Ticks: Maximale Anzahl der Unterteilungen. Wenn nicht genug Platz für die gewählte Anzahl an Ticks ist, werden diese im Chart automatisch reduziert. Bei logarithmischer Skalierung ist die Anzahl der Ticks abhängig vom dargestellten Wertebereich und kann dadurch gegebenenfalls von den Einstellungen abweichen. • X Visible: Gibt an, ob die Achse im Chart ein- oder ausgeblendet wird. Y Grid • Use Y Grid: Die Y-Unterteilungen der Achse können hier ein- oder ausgeblendet werden. • Use Y SubGrid: Hilfslinien zur feineren Y-Unterteilung des Hauptnetzes können hier ein- oder ausgeblendet werden. Hilfslinien besitzen keine Achsenbeschriftung. • Y Grid Color: Die Farbe des Grids. • Y Grid Line Width: Linienstärke des Grid in Pixel. • Y SubGrid Divisions: Anzahl der Bereiche, in die das Hauptnetz durch Hilfslinien unterteilt wird. Bei logarithmischer Skalierung werden die Hilfslinien zur Bereichsunterteilung nur in der eingestellten Anzahl angezeigt, wenn der Wertebereich pro Tick genau eine Dekade beträgt. Andernfalls zeigt die dargestellte Hilfslinie die im Hauptnetz nicht dargestellten Dekaden an. Y Scale • Y Auto Scale: Ist Auto Scale aktiv, skaliert sich jede Achse so, dass das letzte bekannte Minimum und Maximum aller angeschlossenen Kanäle innerhalb des Anzeigebereiches liegen. • Y Axis Max: Ist Auto Scale inaktiv, kann der Maximalwert direkt editiert werden. • Y Axis Min: Ist Auto Scale inaktiv, kann der Minimalwert direkt editiert werden. • Y Logarithmic: Schaltet zwischen logarithmischer und linearer Skalierung der Achse um. • Y Precision: Hier gibt man die Anzahl signifikanter Stellen für die Achsbeschriftung an. Dies entspricht der sichtbaren Anzahl an Ziffern an der Achse. Y Style • Y Color: Die Farbe der Achse. • Y Line Width: Die Linienstärke in Pixel. 52 Version: 1.4 TwinCAT 3 Scope View Konfiguration • Y Ticks: Maximale Anzahl der Unterteilungen. Wenn nicht genug Platz für die gewählte Anzahl an Ticks ist, werden diese im Chart automatisch reduziert. Bei logarithmischer Skalierung ist die Anzahl der Ticks abhängig vom dargestellten Wertebereich und kann dadurch gegebenenfalls von den Einstellungen abweichen. • Y Visible: Gibt an ob die Achse im Chart ein- oder ausgeblendet wird. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Achsen gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.7.3 Bar Kanal Style Hier werden alle Style Properties von Array Bar Chart Kanälen erläutert. Common • Comment: Hier kann ein freier Kommentar hinterlegt werden. Ggf. wird der Kommentar des verbundenen ADS-Symbols übernommen. • Visible: Hier kann eingestellt werden, ob der Kanal im Chart angezeigt werden soll. Line • Antialias: Diese Option entscheidet wie die Linien gezeichnet werden. Antialias ist "schöner" aber deutlich rechenaufwendiger. Besonders bei vielen Kanälen mit großen Bewegungen hat dies Auswirkungen. TwinCAT 3 Scope View Version: 1.4 53 Konfiguration • Line Color: Die Farbe des Graphen. • Line Width: Die Linienstärke des Graphen. Die Linienstärke 1 ist am wenigsten rechenaufwendig. • Show Max: Wenn die Option auf TRUE steht, dann werden die Maximalwerte im Bezug auf die eingestellte Display-Weite dargestellt. • Show Min: Wenn die Option auf TRUE steht, dann werden die Minimalwerte im Bezug auf die eingestellte Display-Weite dargestellt. • Type: Hier kann zwischen verschiedenen Darstellungen umgeschaltet werden. Der Default-Wert bei einem Array Bar Chart ist: Bar. Andere Möglichkeiten sind: Line und Stair. Marks • Mark Color: Die Farbe der Stützpunkt-Markierungen. • Marks: Auswahl der Sichtbarkeit von Markierungen -> On (Dauerhaft sichtbar | Off (Markierungen ausgeschaltet). • Mark Size: Die Größe der Stützpunkt-Markierungen. Modify • X Offset: Im Offsetfeld kann ein freier Offset zum Funktionswert des Kanals addiert werden. • X Scale Factor: Mit dem Scale-Faktor kann der Anzeigewert eines Kanals verändert werden. • Y Offset: Im Offsetfeld kann ein freies Offset zum Funktionswert des Kanals addiert werden. • Y Scale Factor: Mit dem Scale-Faktor kann der Anzeigewert eines Kanals verändert werden. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.7.4 Bar Kanal Acquisition Hier werden alle Einstellungen für die Kanal Acquisition von Array Bar Chart Kanälen erläutert. 54 Version: 1.4 TwinCAT 3 Scope View Konfiguration Acquisition • Array Length: Gibt die Länge des ausgewählten Arrays an, welche auch maximal auf der X-Achse dargestellt wird. • Data-Type: Gibt den Datentyp der ausgewählten Variablen an. • Disabled: Hier wird entschieden, ob der konfigurierte Kanal aufgezeichnet werden soll oder nicht. • Sample State: Hier kann eingetragen werden, ob man die Daten der gewählten Variablen mit der TaskSampleTime oder mit einer FreeSampleTime abtasten möchte. Bei Array Bar Charts ist der Default-Wert „FreeSample“, da es keinen Sinn macht eine Balkenanzeige so schnell abzutasten, dass es das menschliche Auge nicht mehr wahrnehmen kann. • Sample Time: Wenn der Sample State „FreeSampleTime“ gewählt wurde, kann hier die Abtastrate eingestellt werden. Diese ist immer größer als die „TaskSampleTime“ und bei Array Bar Charts per Default auf 100ms eingestellt. Das ist eine für das menschliche Auge angenehme Abtastrate für Balkendiagramme. • Symbol based: Wenn diese Option gesetzt ist, werden die Variablen per Symbolname kommuniziert. Ist diese Option nicht gesetzt, werden die Variablen per Index Group und Offset kommuniziert und folglich die Eingabefelder für Group und Offset freigeschaltet. • Symbol Comment: Hier wird der tatsächliche Symbolkommentar angezeigt, sobald einer vorhanden ist. • Symbol Index Group: Index Group der Variablen. • Symbol Index Offset: Index Offset der Variablen. • Symbol Name: Symbolname der ausgewählten Variablen. • Symbol Size: Zeigt die Größe der Variablen in Bytes. • Target Port: Zeigt den Port der Variablen auf dem entsprechenden TwinCAT System an. Per Drop Down Box kann eine Auswahl der verfügbaren Ports des ausgewählten Zielsystems vorgenommen werden. TwinCAT 3 Scope View Version: 1.4 55 Konfiguration • Target System: Gibt das Zielsystem an, von dem eine Aufnahme gemacht werden soll. Dies ist automatisch das Zielsystem der gewählten Variablen. • Time Offset [s]: Dient zur einmaligen Manipulation des Original- Zeitstempels bei der Aufnahme des Datenpunktes. So können Gangunterschiede von verschiedenen Zielsystemen ausgeglichen werden. Die Gangunterschiede müssen dabei manuell vom Nutzer ermittelt werden. • Use Local Server: Wenn diese Option gesetzt ist, wird der auf dem System des Scope Views installierte Scope Server für die Aufnahme verwendet. Ist die Option nicht gesetzt wird versucht sich auf den Remote Server des Zielsystems zu verbinden. Gruppenweise Änderung Zum Ändern von Einstellungen mehrerer Kanäle gleichzeitig beachten Sie bitte das Kapitel Mehrfachselektierung [} 75]. 4.1.8 Recording 4.1.8.1 TwinCAT Scope View - Target Browser Mit dem Target Browser können einer Scope-Konfiguration Kanäle über ihren Symbol-Namen hinzugefügt werden. Der Target Browser ist in zwei Hälften unterteilt. Die eine zeigt einen Baum mit dem ersten Eintrag: ROUTES. Darunter werden alle im System-Manager angemeldeten Geräte angezeigt. Die Farbe des Targets gibt Aufschluss über den System-Zustand: Rot = nicht erreichbar (Stop-Modus), Blau = KonfigModus, Grün = System in Run-Modus. Die zweite Hälfte zeigt eine detaillierte Liste der Unterpunkte des gewählten Elementes der Baum-Struktur. Zudem hat man mit einem „Upper Folder“ Button die Möglichkeit einfach innnerhalb der Baumstruktur eine Ebene nach oben zu springen. 56 Version: 1.4 TwinCAT 3 Scope View Konfiguration Kanal anfügen In der Listen-Struktur kann jetzt ein oder mehrere Kanäle selektiert werden und mit Doppelklick oder Rechte Maus → "Add Symbol" ("Add Subsymbols") oder durch einen der Button in der Toolbar der Konfiguration hinzugefügt werden. Ausgewählte Elemente können ausserdem per Drag&Drop an eine beliebige Stelle innerhalb der Konfiguration eingefügt werden. Wird ein Ordner, ein Ads-Bigtype oder ein Array selektiert, der Sub-Symbole enthält, fügt die Option "Add Subsymbols" für jedes Subsymbol einen Kanal an. Die Option "Add Symbol" fügt nur einen Kanal mit den Informationen des selektierten Symbols ein. Task wählen Wählt man in der Baum- oder Listen-Struktur einen Zielrechner, werden die angeschlossenen Tasks sichtbar. Diese sind farbig markiert: Grün = PLC-Task, Blau = NC-Task, Rot = Andere. Wird eine Task nicht angezeigt, so kann durch die Enable - Servertypes Option ein Auswahlmenü aufgerufen werden, welches die Einschränkung auf bestimmte Tasks anzeigt. TwinCAT 3 Scope View Version: 1.4 57 Konfiguration Hier werden alle gängigen Ads-Ports, unabhängig davon ob es sich um einen Server-Tasks handelt, angezeigt. Ist ein Port hier nicht aufgeführt, kann er im Textfeld unten links eingegeben werden. Alle selektierten Ports, bei denen es sich um Server handelt, werden nach dem Bestätigen mit OK übernommen. Anschließend wird geprüft, welche der Ports existieren, um die Anzeige zu aktualisieren. Symbol Liste einsehen Ist für die gewählte Task eine Symbol-Liste verfügbar, kann diese durch Selektieren aufgerufen werden. Alle Symbole einer Task, werden nach Trennzeichen (z.B: '.') in eine hierarchische Ansicht überführt, die ein einfaches Browsen ermöglicht. Settings Mit der Option 'Name Detail Level' in den Settings kann die Detailstufe des aus dem Symbolnamem gebildeten Kanalnamen eingestellt werden. Ist die Detailstufe null, so wird nur der Teil des Symbolnamen nach dem letzten Punkt übergeben. Jedes weitere Level fügt dann den Term vor dem jeweils nächsten Punkt hinzu. Z.B. wird das Symbol: "Main.Signals.Sinus" mit einer Detailstufe 0 zu: "Sinus", mit Detailstufe 1 zu "Signals.Sinus" und mit 2 oder höher zu "Main.Signals.Sinus". Record Nach dem alle Kanäle für die Aufnahme ausgewählt wurden, kann die Aufnahme mit Start Record aus der Scope Toolbar gestartet werden. 4.1.9 Cursor 4.1.9.1 TwinCAT Scope View - Cursor Über das Cursor Modul können einem Chart Cursor hinzugefügt und verändert werden. 58 Version: 1.4 TwinCAT 3 Scope View Konfiguration Cursor Modul Das Cursor Modul (In jedem Chart-Element als "Cursor" aufgeführt) bietet folgende Einstellungsmöglichkeiten: TwinCAT 3 Scope View Version: 1.4 59 Konfiguration • Delta Values: Werden mehrere Cursor in einer Richtung verwendet können die Differenzen angezeigt werden, wenn Delta Types aktiviert ist. • Hex Valies: Hexadezimale Schreibweise der Schnittwerte der einzelnen Kanäle. Cursor Settings Jeder X-/Y-Cursor innerhalb des Cursor Modul bietet eigene Einstellungsmöglichkeiten • Color: Farbe des Cursors. • Comment: Hier kann ein Kommentar hinterlegt werden. • Line Width: Linienstärke des Cursors in Pixel. Cursor Window Die Wertedarstellung erfolgt im Cursor Window (Scope Kontextmenü -> Cursor Window) 60 Version: 1.4 TwinCAT 3 Scope View Konfiguration Status Times Die zu einem angefügten X-Cursor gehörenden Zeiten werden hier in drei Formaten angezeigt. • Absolute Position: Entspricht der tatsächlich registrierten Uhrzeit. • Record Position: Zeitwert des Cursors seit Beginn der Aufnahme. • Chart Position: Zeitwert des Cursors innerhalb der Aufnahme. Channel Im Channel-Feld werden die Schnittwerte der einzelnen Kanäle mit dem jeweiligen X-Cursor angezeigt. Die angezeigten Schnittwerte sind, wie die Anzeige, auf Pixelbreite komprimiert. Um die Zwischenwerte anzuzeigen, kann in die Aufnahme hineingezoomt werden. Axis Die Werte der Y-Cursor auf den jeweiligen Achsen werden im untersten Feld angezeigt. TwinCAT 3 Scope View Version: 1.4 61 Konfiguration 4.1.10 Trigger 4.1.10.1 TwinCAT Scope View - Trigger Der Scope-Konfiguration können verschiedene Triggerfunktionen hinzugefügt werden. Um eine möglichst einfache und freie Kombination von einzelnen Triggerbedingungen und -aktionen zu ermöglichen, werden diese in Trigger-Gruppen zusammengefasst. 62 Version: 1.4 TwinCAT 3 Scope View Konfiguration Eigenschaften der Trigger Group können abweichen Hinweis Die Eigenschaften der Trigger Group können von der hier gezeigten Darstellung abweichen. Manche Einstellungsmöglichkeiten sind nur bei speziellen Trigger Actions sichtbar / editierbar. Bsp. Die Einstellung Trigger Position ist nur sichtbar bei der Trigger Action "Stop Display". Trigger-Groups und Trigger-Sets können über das Trigger-Kontextmenü hinzugefügt werden. Trigger-Gruppe Die Trigger Group bietet folgende Einstellungsmöglichkeiten: TwinCAT 3 Scope View Version: 1.4 63 Konfiguration • StartRecord: Wird diese Option gewählt, sollte die Start-Record-Bedingung in den Scopesettings auf Trigger-Start stehen. Andernfalls würde das Scope die Aufnahme wie gewohnt beginnen. Beim Einstellen dieser Aktion erscheint daher ein Fragefeld, welches die Einstellung ggf. vornimmt. Betätigt man den Record-Knopf in der Menüleiste, verbindet sich das Scope wie gewohnt mit den beteiligten Servern und beginnt die angeschlossenen Kanäle zu sichten, ohne jedoch die eigentliche Aufnahme zu starten. Die Aufnahme beginnt mit dem Auslösezeitpunkt der letzten Trigger-Set-Bedingung. • StopRecord: Wird die Stop-Aktion gewählt, sollte das Scope im Ringbuffermode betrieben werden. Beim Einstellen dieser Aktion erscheint daher ein Fragefeld, welches die Einstellung ggf. vornimmt. Im Feld darunter kann man angeben ob ein fester Zeitbereich vor und/oder nach dem Triggerevent in der Aufnahme erscheinen soll. Ist der Pre-Trigger gewählt, werden Triggerevents vor dem Ablauf dieser Zeit ignoriert. Ist der Post-Trigger aktiv, läuft die Aufnahme nach Eintreffen des Triggerevents die angegebene Zeit nach. • StopDisplay: Die Stop-Display-Aktion hält alle Charts des Scope, die zum Auslösezeitpunkt im LiveModus sind, an. Dabei kann mit der Trigger-Position gewählt werden wieviel Prozent des angezeigten Displays (Display-Breite) vor, bzw. hinter dem Triggerereignis liegen sollen (Im Beispiel: positiver 0Durchgang des grünen Signals bei 10% von 2.5s = 0,25s). Wird die Triggerbedingung wiederholt erfüllt, springt die Anzeige zu diesem neuen Ereignis. Um dieses Nachtriggern zu unterbinden, kann im Chart Pause betätigt werden. • RestartDisplay: Alle duch einen StopDispay-Trigger pausierenden Charts werden beim Erfüllen der Trigger-Bedingung wieder fortgeführt. • StartSubsave: Beim Eintreten dieses Triggerereignisses wird eine Hintergrundaufnahme, mit der aktuellen Konfiguration, gestartet. Dieser Subsave läuft immer im Ringbuffer-Mode (unabhängig von den Einstellungen in den Scope-Settings). Es ist möglich, bis zu 5 Subsaves gleichzeitig zu starten (über einen oder mehrere Triggerevents). Die maximale Speichergröße des Subsaves kann im 'Record-Time'-Feld angegeben werden. Diese Aufnahmedauer darf auch länger sein als die Aufnahmedauer der Basiskonfiguration (hier sollte, dann jedoch ebenfalls der Ringbuffer-Betrieb gewählt werden. • StopSubsave: Nach dem StopSubsave-Triggerevent, wird das älteste Subsave gestoppt und im Hintergrund an das View übertragen. Von hier aus wird es unter dem angegebenen Pfad in ein .svdFile gespeichert. Der erzeugte Dateiname besteht aus dem Namen des Scopes in der Basiskonfiguration und einer Kennung aus Datum und Uhrzeit, in alphanumerischer Anordnung. 64 Version: 1.4 TwinCAT 3 Scope View Konfiguration Trigger-Set Jedes Trigger Set kann als eigenständige Triggerbedingung angesehen werden. Im Aktionsbericht der Trigger-Gruppe ist festgelegt was beim Auslösen einer Trigger-Gruppe geschieht Das Trigger Set bietet folgende Einstellungsmöglichkeiten: • Channel: Jedem Set ist ein Kanal zugeordnet, dessen Zustand auf die gewählte Auslösebedingung geprüft werden soll • Combine: Durch die Wahl einer Verknüpfung können diese einzelnen Bedingungen in Relation gesetzt werden. Hierbei ist zu beachten, dass UND-Verknüpfungen vor ODER-Verküpfungen behandelt werden. • Hit: Zeigt an, ob das Trigger Set ausgelöst wurde ( ) oder nicht ( ). • Release: Die Release-Bedingung kann entweder ein steigender (RisingEdge) oder fallender (FallingEdge) Durchgang sein. • Threshold: Der zugehörige Grenzwert. Sobald ein Triggerset ausgelöst wird, verändert sich das Icon im Solution Explorer von auf . Alle Triggersets bleiben solange gesetzt, bis die gesamte Trigger-Gruppe ausgelöst hat. Manuelles Auslösen von Trigger-Set Über den Trigger Set Kontextmenü-Eintrag "Manual Trigger Hit" können Trigger zu Testzwecken manuell ausgelöst werden. TwinCAT 3 Scope View Version: 1.4 65 Konfiguration 4.1.11 Daten speichern und exportieren 4.1.11.1 Speichern Daten die mit dem TwinCAT 3 Scope aufgenommen worden sind, können als .svd Datei abgespeichert werden. Eine .svd Datei ist ein spezifisches, nicht offengelegtes Datenformat des Scope Views. Speichern von Daten • Im Scope Menu → Save Data Die dann erzeugte Scope Daten Datei (svd) kann direkt dem Measurement Projekt hinzugefügt oder per Verzeichnisauswahl-Dialog in ein gewünschtes Verzeichnis gespeichert werden. • Fügt man mehrere svd Dateien zu einem Measurement Projekt hinzu, wird automatisch der Name der svd Datei mit einer Ziffer inkrementiert. Laden von Daten • Doppelklick auf die gewünschte .svd Datei → Visual Studio öffnet sich und bietet einen „New Project“ Dialog an. Die gängigste Auswahl ist dann häufig ein Empty Measurement Project. • Wenn ein Measurement Projekt bereits vorhanden ist, kann man die svd Datei über Add Existing Item auswählen und öffnen. • Man wählt direkt das Measurement Projekt aus, dem die erstellte svd Datei hinzugefügt worden ist File → Open → Project/Solution. Reload von svd Dateien • Wenn bereits abgespeicherte Daten durch ein Disconnect in der Scope internen Kommunikation zum Scope Server nicht mehr angezeigt werden, wird automatisch für das svd im Kontextmenu ein Eintrag mit Reload angeboten. So können die Daten erneut geladen werden. Extrahieren von Scope Konfigurationen aus einem svd Eine svd Datei ist als solche visuell gekennzeichnet. Im Solution Explorer wird ein entsprechendes gelbes Daten-Icon eingeblendet. So ist ausschließlich die Datenanalyse in der Datei möglich. Möchte man die Konfiguration aber weiterverwenden, beispielsweise um eine neue Aufnahme mit gleicher Konfiguration zu machen, so kann man über das Scope Menu die Option „Extract Scope Configuration“ auswählen. 66 Version: 1.4 TwinCAT 3 Scope View Konfiguration 4.1.11.2 Export CSV / Binary Aufgenommene Scope- Daten können in einem Scope Daten File (.svd) gespeichert werden. Alternativ können Daten auch nach einem Stopp der aktuellen Aufnahme in .csv, .txt oder in ein Binär-Format exportiert werden, um sie auch in anderen Programmen nutzen zu können. Kontextmenü des Scope → Export to CSV / Export to Binary Export to CSV: Die erzeugte Datei ist im Tabellenformat gehalten. Die Reihen sind hierbei durch Zeilen und die Spalten durch Tabulatoren getrennt. Die ersten Reihen beinhalten Informationen über die Aufnahme, wie ScopeName und Start- und Endzeit der Aufnahme. Danach folgt für jeden Kanal ein Definitionsbereich mit den Akquisitionsdaten. TwinCAT 3 Scope View Version: 1.4 67 Konfiguration Zum Schluss folgt für jeden Kanal eine Liste mit den aufgenommenen Daten. Jedem Zeitwert als Offset von der StartRecord- Zeit wird der entsprechende Datenwert zugeordnet. Export to Binary: Das binäre Datenformat ist an das Textformat angelehnt, enthält aber keinerlei Trennzeichen. Dafür ist in den entsprechenden Headern die Byte-Länge aller variablen Datentypen (wie Zeichenketten) enthalten. Alle Zeiten sind im File-Time-Format angegeben: 1Tick = 100ns; Ursprung ist der 1.1.1601 0h. Alle Zeichen sind in UTF8 gespeichert. 68 Version: 1.4 TwinCAT 3 Scope View Konfiguration Variable MAIN-HEADER HeaderSize NameSize Name StartTime EndTime ChannelCount Size (Bytes) or Number of character DataType 8 4 NameSize 8 8 4 Int64 Int32 Array of Char Int64 Int64 Int32 Variable Size (Bytes) Channel - Header #1 ChannelHeaderSize 8 NameSize 4 Name NameSize NetIdSize 4 NetId NetIdSize Port 4 Sample Time 8 SymbolBased 1 SymoblNameSize 4 Symbolname: SymbolNameSize CommentSize 4 Comment CommentSize IndexGroup 8 IndexOffset 8 DataTypeSize 4 DataType DataTypeSize DataTypeId 4 VariableSize 4 Samples in File 8 Data in File 8 File-StartPosition 8 Scalefactor 8 Offset 8 Bitmask 8 Channel - Header #2 ... Channel-Header #MainHeader.ChannelCount DataType Variable Size (Bytes) Data Channel #1 DataPoint #1 Timestamp 4 Value ChannelHeader1.VariableSize DataPoint #2 ... DataPoint ChannelHeader #1.Samples In File Data Channel #2 ... DataType TwinCAT 3 Scope View Version: 1.4 Int64 Int32 Array of Char Int32 Array of Char Int32 Int64 bool (as byte) Int32 Array of Char Int32 Array of Char Int64 Int64 Int32 Array of Char Int32 Int32 Int64 Int64 Int64 Real64 Real64 Int64 UInt32 ChannelHeader.DataType 69 Konfiguration Data Channel #MainHeader.ChannelCount 4.1.11.3 Export tdms / dat Aufgenommene Daten können in einem Scope Daten File (.svd) gespeichert werden. Alternativ können Daten nach einem Stopp der aktuellen Aufnahme in .tdms oder .dat exportiert werden. Beide Datenformate sind in der Messtechnik weitverbreitet und können mit der TwinCAT 3 Scope View Professional Version genutzt werden. Kontextmenü des Scope → Export to DAT / Export to TDMS 4.1.11.4 Automatisierter Export Ab der Scope Version 3.2.3129 wird ein sogenanntes TC3ScopeExportTool zusätzlich im TE130X-ScopeView Ordner installiert. Dieses kann genutzt werden um nachträglich Inhalte von .svd Dateien in die unterstützten Exportformate zu wandeln. Das Tool bringt seine Dokumentation bereits mit und benötigt eine Professional Lizenz. Das TC3ScopeExportTool kann durch Parameter auch über einen Kommandozeilenaufruf den Export durchführen. In der Kommandozeile kann man mit dem Schlüsselwort „silent“ dafür sorgen, dass die hier gezeigte Oberfläche nicht gestartet wird. Der Export wird dann im Hintergrund durchgeführt. Zur völligen Automatisierung des Exports kann das Tool aus der SPS mit NT_StartProcess aufgerufen werden. Hier ein kleines Code-Beispiel mit festen Strings und fbStartExport als Instanz von NT_StartProcess: fbStartExport( NETID:= '', PATHSTR:= 'C:\TwinCAT\Functions\TE130X-Scope-View\TC3ScopeExportTool.exe', DIRNAME:= 'C:\TwinCAT\Functions\TE130X-Scope-View', COMNDLINE:= '"svd=c:\Scope Project.svd" target=c:\TestExport.csv silent', START:= bStart, TMOUT:= T#20S, BUSY=> , ERR=> , ERRID=> ); 4.1.12 Reporting 4.1.12.1 TwinCAT Scope View - Reporting Mit Hilfe des Microsoft Visual Studio Report Designer ist es möglich komplexe Druckvorlagen zu generieren, welche vom TwinCAT Measurement benutzt werden, um beispielsweise Scope Charts zu drucken. 70 Version: 1.4 TwinCAT 3 Scope View Konfiguration Aus der hier dargestellten Aufnahme wird über die "Drucken"-Funktion von Visual Studio (File → Print | <Strg> + P) folgender Report generiert: http://infosys.beckhoff.com/content/1031/TE13xx_TC3_ScopeView/ Resources/pdf/18014398691815691.pdf. Einbinden eines Report in ein TwinCAT Measurement Projekt Beckhoff liefert mit dem TwinCAT Measurement bereits eine vorgefertigte Druckvorlage mit jeder Installation von TwinCAT 3.1 aus. Sie kann in jedes vorhande TwinCAT Measurement Projekt über das Kontextmenü → Add → New Item → Standard Report hinzugefügt werden. Bei dem TwinCAT Measurement Template "Measurement Scope Project with Reporting" ist diese Druckvorlage bereits im Projekt enthalten. Bearbeiten eines Reports Um einen Report zu bearbeiten kann der Microsoft Visual Studio Report Designer über einen Doppelklick auf die Druckvorlage geöffnet werden. TwinCAT 3 Scope View Version: 1.4 71 Konfiguration Zur Bearbeitung von Report-Vorlagen schauen Sie sich bitte folgenden Artikel an: Report Designer (Visual Studio). Daten des DataSet Für die eigene Gestalltung von Druckvorlagen bietet Beckhoff ein vorgefertiges DataSet an, welches alle relevanten Daten eines Scope-Chart enthält. • Built-in Fields ◦ Execution Time: Zeitpunkt zu dem der Druckauftrag erstellt wurde. ◦ Page Number: Aktuelle Seitenzahl. ◦ Report Name: Name des Report. ◦ Total Pages: Gesamtzahl der Seiten des Dokumentes. ◦ User ID: Benutzer-ID des Benutzers, der den Report in Autrag gegeben hat. ◦ Language: Eingestellte Systemsprache. • Parameters ◦ ChartImage: Konvertierte Grafik des Chart. Kann über Expression (System.Convert.FromBase64String(Parameters!ChartImage.Value) wieder in eine Grafik konvertiert werden. ◦ FilePath: Speicherort der zugehörigen Scope-Datei. 72 Version: 1.4 TwinCAT 3 Scope View Konfiguration ◦ Comment: Der im Scope-Element hinterlegte Kommentar. ◦ RecordStart: Startzeitpunkt der Aufnahme. ◦ RecordStop: Stopzeitpunkt der Aufnahme. • Images ◦ logo: Beckhoff Logo, welches in der Standard Vorlage verwendet wird. • Channel_Properties ◦ AxisName: Name der Achse. ◦ ChannelColorHex: Farbe des Kanals in hexadezimaler Schreibweise. ◦ ChannelComment: Kommentar des Kanals. ◦ ChannelName: Name der Kanals. • Cursor_Status_Times ◦ ColorHex: Farbe des Cursor in hexadezimaler Schreibweise. ◦ Column: Name der Cursor Column. ◦ Row: Name der Cursor Row. ◦ Value: Angezeigter Wert. • Cursor_X_Values ◦ ColorHex: Farbe des Cursor in hexadezimaler Schreibweise. ◦ Column: Name der Cursor Column. ◦ Row: Name der Cursor Row. ◦ Value: Angezeigter Wert. • Cursor_Y_Values ◦ ColorHex: Farbe des Cursor in hexadezimaler Schreibweise. ◦ Column: Name der Cursor Column. ◦ Row: Name der Cursor Row. ◦ Value: Angezeigter Wert. • Chart_Data ◦ Channel: Name des Kanals. ◦ Time: Zeitstempel des Wertes. ◦ Value: Angezeigter Wert. Nutzung von Chart_Data Hinweis Die Chart_Data sind die Rohdaten des Charts. Sie werden nur exportiert, wenn die Einstellung "Export Raw Data to Report" ausgewählt wurde (Menu Options [} 73]) Diese Einstellung verzögert die Erstellung von Reports erheblich. Die Rohdaten des Charts dienen zur Erstellung eigener Darstellungen. 4.1.13 Scope Optionen 4.1.13.1 TwinCAT Scope View - Scope Menü: Optionen Über den Scope- Menüpunkt "Options..." gelangen Sie direkt zu den TwinCAT Measurement- Optionen im Visual Studio Options Window. TwinCAT 3 Scope View Version: 1.4 73 Konfiguration Hier können die Standard- bzw. Default- Einstellungen vorgenommen werden. Reporting • General ◦ Show Chart Timebar: Gibt an, ob die Zeitleiste des Scope-Chart in der Druckvorlage sichtbar sein soll. ◦ Show Chart Toolbar: Gibt an, ob die Toolbar des Scope-Chart in der Druckvorlage sichtbar sein soll. 74 Version: 1.4 TwinCAT 3 Scope View Konfiguration ◦ Use Curstom Color: Wenn "Use Custom Color" aktiv ist werden die folgenden Farbeinstallungen angwendet, bevor das Chart für den Report exportiert wird (Hier können Farbkombinationen gewählt werden, die den Tintenverbrauch für Druckvorgänge reduzieren). ◦ Border Background Color: Farbe für den Rahmen des Chart. ◦ Chart Background Color: Farbe für den Hintergrund des Chart. ◦ X-Axis Color: Farbe für die Beschriftung der X-Achse. ◦ X-Axis Color: Farbe für Raster der X-Achse. ◦ Y-Axis Color: Farbe für die Beschriftung der Y-Achse. ◦ Y-Axis Color: Farbe für Raster der Y-Achse. ◦ Y-Axis Color: Farbe für Raster der Y-Achse. ◦ Export Raw Data to Report: Liefert die Rohdaten des Chart an den Report. (Verlängert die Generierungsdauer eines Reports erheblich | Nur für die Erstellung eigener Chart-Darstellungen notwendig). Scope • Root: Hier können Einstellungen zum Tracing der Scope View Produkt-Komponenten vorgenommen werden. • Acquisition: Festlegen der Standard- Akquisitionsdaten (Wird benutzt, wenn leere Kanäle eingefügt werden), zur detaillierten Beschreibung siehe Akquisition [} 36]. • Axis: Festlegen der Standard- Achseneinstellungen (Wird benutzt, wenn neue Achsen eingefügt werden), zur detaillierten Beschreibung siehe Achsen Eigenschaften [} 32]. • Channel: Festlegen der Standard- Kanaleinstellungen (Wird benutzt, wenn leere Kanäle eingefügt werden), zur detaillierten Beschreibung siehe Kanal Eigenschaften [} 34]. • Chart: Festlegen der Standard- Charteinstellungen (Wird benutzt, wenn neue Charts eingefügt werden), zur detaillierten Beschreibung siehe Chart Eigenschaften [} 29]. • Scope: Festlegen der Standard- Scope-Einstellungen (Wird benutzt, wenn neue Scope-Instanzen eingefügt werden), zur detaillierten Beschreibung siehe Scope Eigenschaften [} 27]. • Error List ◦ Clear on Record: Löscht die jeweiligen Fehlermeldungen für die Scope-Instanz aus der Error List, sobald ein Scope in den Record-Mode wechselt. ◦ Show Clear List Command: Zeigt den Kontextmenü-Eintrag "Clear Error List...". ◦ Show Messages: Zeigt Nachrichten vom Scope in der Error List. ◦ Show Warnings: Zeigt Warnungen vom Scope in der Error List. 4.1.13.2 TwinCAT Scope View - Mehrfachselektierung Gruppenweise ändern Einige Parameter, werden oft für mehrere oder alle Elemente geändert. Dazu können Sie über den Solution Explorer mehrere Elemente markieren und die Einstellungen aller markierten Elemente gleichzeitig bearbeiten. Daten, die sich zwischen den selektierten Elementen unterscheiden, werden als leere Felder dargestellt. Zur Mehrfachselektierung halten Sie während der Auswahl der Kanäle die <Strg>-Taste gedrückt. Bei aufeinanderfolgenden Elementen können Sie das erste Element auswählen, die <Shift>-Taste gedrückt halten und anschließend das letzte Element anwählen, um sämtliche dazwischenliegende Elemente zu markieren. Des Weiteren besteht die Möglichkeit, alle Kanäle eines Scopes unabhängig von der Konfigurationsstruktur sehr leicht zu selektieren. Dazu hält man die <Alt>-Taste gedrückt und führt einen Doppelklick auf den ersten Kanal in der Scope-Konfiguration aus. TwinCAT 3 Scope View Version: 1.4 75 Konfiguration Es können sämtliche Elemente des gleichen Typs ausgewählt werden. Mehrfachselektierung ist implementiert für: • Scopes • Charts • Achsen • Kanäle • Cursor • Trigger Groups • Trigger Sets 76 Version: 1.4 TwinCAT 3 Scope View .NET API 5 .NET API 5.1 Scope View Control Integration Integration des ScopeViewControl in eigene Anwendungen Das TwinCAT Scope besteht aus verschiedenen Komponenten. Hauptkomponenten sind das Scope View und der Scope Server. Das View beinhaltet wiederum das ScopeViewControl, welches als eigenständige Komponente für die kundenspezifische Visualisierung nutzbar ist. Die in .NET entwickelte ScopeViewControlLib steht mit der Installation des TwinCAT 3.1 ab Version 4006 zur Verfügung. Auf diese Weise ist eine einfache Einbindung in C#, VB.Net oder WPF-Applikationen möglich. Benötigte Software Das ScopeViewControl benötigt das .NET Framework 4.0. Das ".NET Framework 4 Client Profile" wird nicht unterstützt. Hinweis Installation des .NET Framework 4.0 1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie „Properties“ aus. 2. Wählen Sie unter „Application“ das Target framework „.NET Framework 4“ aus. ð Das .NET Framework 4.0 ist installiert. MS Visual Studio Um das ScopeViewControl einem bestehenden oder neu angelegten Projekt hinzuzufügen, verwenden Sie den Designer des Visual Studios: 1. Öffnen Sie die Form oder das Control, dem das ScopeViewControl hinzugefügt werden soll. TwinCAT 3 Scope View Version: 1.4 77 .NET API 2. Klicken Sie in der Toolbox mit der rechten Maustaste auf eine freie Stelle und wählen Sie „Choose Items..“ aus. ð Ein Dialog öffnet sich. 3. Wählen Sie „Browse“ aus. 4. Suchen Sie den Installationspfad des TE130X- Scope- View und öffnen diesen. 5. Wählen Sie die „TwinCAT.Scope2.View.Control.dll“ aus und bestätigen Sie. ð In der Toolbox erscheint nun ein Zahnrad mit dem Eintrag „ScopeViewControl“. 6. Ziehen Sie ein oder mehrere ScopeViewControls mit der Maus in den Designer und positionieren Sie ihn. ð Sie haben das ScopeViewControl einem Projekt hinzugefügt. Wird das Projekt nun kompiliert, meldet das Visual Studio ggf. fehlende Verweise zur 'TcAdsScope2Communications' und zur 'TwinCAT.Scope2.Tools' –Library. In diesem Fall führen Sie folgende Schritte aus: 1. Klicken Sie im Solution Explorer mit der rechten Maustaste auf das aktuelle Projekt und wählen Sie „Add Reference“ aus. ð Ein Dialog öffnet sich. 2. Wählen Sie im „Browse“- Tab den Installationspfad des .NET-GAC (Global Assembly Cache) aus. 3. Fügen Sie dem Projekt die folgenden Bibliotheken hinzu: • TwinCAT.Ads.dll • TwinCAT.Scope2.Tools.dll • TwinCAT.Scope2.Communications.dll 5.1.1 Sample YT Chart Um die wichtigsten Aspekte bei der Anwengung des ScopeViewControls zu demonstrieren, wird im Folgenden beispielhaft die abgebildete Anwendung erstellt. Erstellen Sie dazu eine neue Windows-Anwendung und fügen Sie der Form im Designer eine Toolbar und die dargestellten Buttons hinzu. Durch einen Doppelklick können Sie für jeden Button einen ClickEventhandler erzeugen, der im Folgenden mit dem Beispielcode gefüllt wird. Fügen Sie dann der Form, wie oben beschrieben, ein ScopeViewControl hinzu und setzen das 'Dock'-Property auf Full. 78 Version: 1.4 TwinCAT 3 Scope View .NET API Benötigte Software Das ScopeViewControl benötigt das .NET Framework 4.0. Das ".NET Framework 4 Client Profile" wird nicht unterstützt. Hinweis Installation des .NET Framework 4.0 1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie „Properties“ aus. 2. Wählen Sie unter „Application“ das Target framework „.NET Framework 4“ aus. ð Das .NET Framework 4.0 ist installiert. Das hier entwickelte Beispiel ist als VS2010 - Projekt verfügbar: http://infosys.beckhoff.com/content/1031/ TE13xx_TC3_ScopeView/Resources/zip/2646930955.zip Das Beispiel greift auf Variablen des Beispiel PLC-Programms zu: http://infosys.beckhoff.com/content/1031/ TE13xx_TC3_ScopeView/Resources/zip/2282225419.zip 5.1.1.1 Konfiguration laden Konfiguration laden Das nun ausführbare Projekt zeigt beim Start eine graue Fläche, da noch keine Konfiguration geladen oder erstellt ist. Prinzipiell kann eine Konfiguration programmatisch erstellt oder eine mit dem TwinCAT Scope erstellte Datei geladen werden. Das C# Codebeispiel zeigt den Aufruf aus einem 'ButtonClick-EventHandler' : private string filename = @"ScopeTest.sv2"; private void button_Load_Click(object sender, EventArgs e) { FileInfo finfo = new FileInfo(filename); if (!finfo.Exists) { MessageBox.Show(this, "File not found! Please use the 'New' buttons to create a config.\r\n Once a config is created and saved it can be load using the 'Load' -Button!", "File not found!", TwinCAT 3 Scope View Version: 1.4 79 .NET API MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { // alte Konfiguration löschen while (scopeViewControl1.Charts.Count > 0) { scopeViewControl1.DeleteChart(scopeViewControl1.Charts[0]); } // Konfiguration laden scopeViewControl1.LoadScopeConfig(filename); foreach (ScopeViewControlChannel channel in scopeViewControl1.ConnectedChannels) { channel.Acquisition.AmsNetId = AmsNetId.Local; } } } Konfiguration programmatisch erstellen Das ScopeViewControl bietet Methoden für alle Funktionen an, die auch vom TwinCAT Scope aufgerufen werden. Für Details sei auf die separate API-Dokumentation der ScopeViewControlLib verwiesen: ScopeViewControlLib 5.1.1.2 Hinzufügen von Elementen Alle Elemente die im TwinCAT Scope hinzugefügt werden können, werden im ScopeViewControl durch eine Methode im jeweils höheren Element erzeugt: • Charts: private void buttonChart_Click(object sender, EventArgs e) { ScopeViewControlChart chart = scopeViewControl1.NewChart(); } • (Y-)Axes: private void buttonAxis_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { ScopeViewControlYAxis axis = scopeViewControl1.Charts[0].NewAxis(); } } • Channels: private void buttonChannel_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes.Count == 0) { MessageBox.Show(this, "Please create an YAxis first!", "No axis connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes[0].Channels.Count > 0) { MessageBox.Show(this, "This sample contains only one channel!", "Channel still connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { ScopeViewControlChannel channel = scopeViewControl1.Charts[0].Axes[0].NewChannel(); ChangeChannelSettings(channel); SetAcquisition(channel); } } 5.1.1.3 Anpassen der Styles Jedes der erstellten Elemente hat ein 'Style'-Property, in dem alle Eigenschaften gespeichert sind, die auch im entsprechenden Properties Fenster des Visual Studio zu sehen sind. Einem Kanal etwa können Farbe und Linienstärke zugewiesen werden. private void ChangeChannelSettings(ScopeViewControlChannel channel) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes.Count == 0) { MessageBox.Show(this, "Please create an YAxis first!", "No axis connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes[0].Channels.Count == 0) { MessageBox.Show(this, "Please create a Channel first!", "No channel connected!", 80 Version: 1.4 TwinCAT 3 Scope View .NET API MessageBoxButtons.OK, } else { channel.Style.LineColor = channel.Style.MarkColor = channel.Style.LineWidth = } } 5.1.1.4 MessageBoxIcon.Exclamation); Color.Red; Color.DarkRed; 2; Anpassen der Akquisitionsdaten Jeder Kanal besitzt neben dem 'Style' auch das 'Acquisition'-Property. Hier wird die Verbindung zu einer System Variable eingestellt: private void SetAcquisition(ScopeViewControlChannel channel) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes.Count == 0) { MessageBox.Show(this, "Please create an YAxis first!", "No axis connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes[0].Channels.Count == 0) { MessageBox.Show(this, "Please create a Channel first!", "No channel connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { // AmsNetId und AmsPort benötigen die TwinCAT.Ads.dll channel.Acquisition.AmsNetId = AmsNetId.Local; channel.Acquisition.TargetPort = 851; channel.Acquisition.IsSymbolBased = true; channel.Acquisition.SymbolName = "Variables.fStairs"; channel.Acquisition.DataType = DataTypeConverter.AdsToScope2Datatype(AdsDatatypeId.ADST_INT16); channel.Acquisition.SampleTime = (uint)(10 * TimeSpan.TicksPerMillisecond); } } 5.1.1.5 Steuern der Aufnahme Alle Methoden und Eigenschaften um das ScopeViewControl zu steuern sind im 'Operating'-Property zusammengefasst. Hier sind alle Eigenschaften zu finden, die auch im Properties Fenster des VisualStudio bei selektiertem Scope zu sehen sind. Darüber hinaus stehen Methoden zum Starten und Stoppen der Aufnahme oder zum Speichern und Exportieren zur Verfügung. private void button_StartRecord_Click(object sender, EventArgs e) { try { // alte Daten verwerfen if (scopeViewControl1.State == ScopeViewControlStates.REPLY) scopeViewControl1.Operating.DisConnect(false); // Aufnahme starten if (scopeViewControl1.State == ScopeViewControlStates.CONFIG) scopeViewControl1.Operating.StartRecord(); // alle Charts starten if (scopeViewControl1.State == ScopeViewControlStates.CONNECTED) scopeViewControl1.Operating.StartAllDisplays(); } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on start record!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } TwinCAT 3 Scope View Version: 1.4 81 .NET API private void button_StopRecord_Click(object sender, EventArgs e) { try { if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Operating.StopRecord(); } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on stop record!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void button_Save_Click(object sender, EventArgs e) { try { // wenn Daten da sind speichern if (scopeViewControl1.State == ScopeViewControlStates.REPLY) { File.Create("ExportData.svd").Close(); scopeViewControl1.Operating.SaveData("ExportData.svd"); } // sonst nur die Konfiguration speichern else { File.Create(filename).Close(); scopeViewControl1.SaveScopeConfig(filename); } } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on save!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 5.1.1.6 Steuern eines Chart Alle Charts die der Konfiguration hinzugefügt wurden verfügen über eine eigene Toolbox um sie bedienbar zu machen. Es ist jedoch auch möglich, diese Funktionen über das 'ChartOperating'-Property zu bedienen. Dort finden sich auch Optionen um die Toolbar und die Zeitleiste ein und aus zu blenden. private void button_Run_Click(object sender, EventArgs e) { if (scopeViewControl1.State != ScopeViewControlStates.RECORD) { MessageBox.Show(this, "Only possible if a record is running!", "Run not possible!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Charts[0].ChartOperating.StartDisplay(); } private void button_Pause_Click(object sender, EventArgs e) { if (scopeViewControl1.State != ScopeViewControlStates.RECORD) { MessageBox.Show(this, "Only possible if a record is running!", "Pause not possible!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Charts[0].ChartOperating.StopDisplay(); } private void toolStripButtonDelChart_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "No chart is connected!", "Nothing to delete!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.State == ScopeViewControlStates.RECORD) { 82 Version: 1.4 TwinCAT 3 Scope View .NET API scopeViewControl1.Operating.StopRecord(); scopeViewControl1.Operating.DisConnect(false); } else if (scopeViewControl1.State == ScopeViewControlStates.REPLY) { scopeViewControl1.Operating.DisConnect(false); } else { scopeViewControl1.DeleteChart(scopeViewControl1.Charts[scopeViewControl1.Charts.Count - 1]); } } 5.1.2 Sample XY Chart In der oben abgebildeten Form ist eine Scope View Control Integration in C# mit einem XY-Chart dargestellt. Die Vorgehensweise wird im Folgenden erläutert. Zuerst wird eine Windows Forms Application mit einer Toolbar, in der die Buttons, welche oben in der Form zu sehen sind, erstellt. Danach wird ein ScopeViewControl zu der Form hinzugefügt und die ‚Dock‘-Property auf Full gesetzt, damit der Graph das ganze Fenster ausnutzen kann. Benötigte Software Das ScopeViewControl benötigt das .NET Framework 4.0. Das ".NET Framework 4 Client Profile" wird nicht unterstützt. Hinweis Installation des .NET Framework 4.0 1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie „Properties“ aus. 2. Wählen Sie unter „Application“ das Target framework „.NET Framework 4“ aus. ð Das .NET Framework 4.0 ist installiert. TwinCAT 3 Scope View Version: 1.4 83 .NET API Das Programm ist in der folgenden Datei zu finden: http://infosys.beckhoff.com/content/1031/ TE13xx_TC3_ScopeView/Resources/zip/2282227083.zip Die Variablen beziehen sich auf das TwinCAT Programm hinter folgender Datei: http://infosys.beckhoff.com/ content/1031/TE13xx_TC3_ScopeView/Resources/zip/2282225419.zip 5.1.2.1 Konfiguration laden private void button_load_Click(object sender, EventArgs e) { FileInfo finfo = new FileInfo(filename); if (!finfo.Exists) { MessageBox.Show(this, "File not found! Please use the 'Add Chart' buttons to create a config.\r\nOnce a config is created and saved it can be load using the 'Load' -Button!", "File not found!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { // alte Konfiguration löschen while (scopeViewControl1.Charts.Count > 0) { scopeViewControl1.DeleteChart(scopeViewControl1.Charts[0]); } // Konfiguration laden scopeViewControl1.LoadScopeConfig(filename); foreach (ScopeViewControlChannel channel in scopeViewControl1.ConnectedChannels) { channel.Acquisition.AmsNetId = AmsNetId.Local; } } } Der oben angegebene Code wird ausgeführt, wenn in der Oberfläche auf den Button „Load“ geklickt wird. Dieser dient dazu, eine Konfigurationsdatei (.tcscope), welche mit dem TwinCAT Scope erstellt wird, zu öffnen. Diese Datei enthält nur die Informationen über die Achsen und die Channels, aber nicht den Graphen (Messdaten) an sich. In dieser Methode wird zuerst die Existenz der Methode überprüft. Wenn dies der Fall ist, wird die im Programm geöffnete Konfiguration gelöscht und die aus der Datei wird an das ScopeViewControl übergeben. Der Graph wird dann mit einem Klick auf den Button „Start“ dargestellt. Nähere Informationen dazu sind unter dem Punkt „Aufnahme steuern“ zu finden. 5.1.2.2 Konfiguration erstellen In diesem Beispielprogramm wird eine Konfiguration mit drei Buttons erstellt, da eine Konfiguration auch aus drei Hierarchiestufen besteht, welche aufeinander aufbauen. Im Scope wird zunächst mit dem Button „Add Chart“ ein neues Chart erstellt. Das Chart ist die Umgebung, in welcher der Graph mit dem Koordinatensystem erscheint. Damit stellt das Chart das Grundgerüst dar und muss als erstes erstellt werden. Es ist zu beachten, dass die Property ChartType auf XY gesetzt ist. private void button_AddChart_Click(object sender, EventArgs e) { ScopeViewControlChart chart = scopeViewControl1.NewChart(); scopeViewControl1.Charts[scopeViewControl1.Charts.Count - 1].ChartType = TwinCAT.Scope2.Communications.scopeDisplayModes.XY; scopeViewControl1.ViewDetailLevel = ScopeViewDetailLevel.Extended; } Anschließend werden mit dem Button „Add Axis“ die X- und die Y-Achse hinzugefügt und so das Koordinatensystem erstellt. Da dieses Koordinatensystem im Chart angelegt wird, muss geprüft werden, ob es ein Chart gibt. Ohne ein Chart kann das Koordinatensystem nicht erzeugt werden. private void button_AddAxis_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { 84 Version: 1.4 TwinCAT 3 Scope View .NET API MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { ScopeViewControlYAxis axis = scopeViewControl1.Charts[0].NewAxis(); if (axis is ScopeViewControlXYAxis) { ScopeViewControlXYAxis xyAxis = (ScopeViewControlXYAxis)axis; } } } Wenn die Achsen erstellt sind, kann mit dem Button „Add Channel“ ein XY-Kanal hinzugefügt werden. Dieser XY-Kanal wird direkt mit den Achsen verbunden. Deshalb wird zuerst überprüft, ob auch schon Charts und Achsen erstellt wurden. Bei dem Erstellen des XY-Kanals ist zu beachten, dass von den YObjekten in die XY-Objekte gecasted wird. Dies ist einfach möglich, da die XY-Objekte von den Y-Objekten erben. private void button_AddChannel_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "Please create a chart first!", "No chart connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes.Count == 0) { MessageBox.Show(this, "Please create the Axis first!", "No axis connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.Charts[0].Axes[0].Channels.Count > 0) { MessageBox.Show(this, "This sample contains only one channel!", "Channel still connected!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { ScopeViewControlYAxis axis = scopeViewControl1.Charts[0].Axes[0]; if (axis is ScopeViewControlXYAxis) { ScopeViewControlXYAxis xyAxis = (ScopeViewControlXYAxis)axis; ScopeViewControlXYChannel channel = xyAxis.NewChannelPair(); ChangeChannelSettings(channel); SetAcquisition(channel); } } } Nach dem Erstellen des Kanals, kann der Style des Graphen geändert werden und die Akquisition eingestellt werden. Diese Methoden werden in den folgenden Kapiteln genauer erläutert. 5.1.2.3 Channel bearbeiten Style bearbeiten: Jeder Channel besitzt ein „Style“ Property, in dem Werte für die Graphen festgelegt werden. Dort können beispielsweise Farben und Linienstärke zugewiesen werden. private void ChangeChannelSettings(ScopeViewControlXYChannel channel) { channel.Style.LineColor = Color.Red; channel.Style.MarkColor = Color.DarkRed; channel.Style.LineWidth = 2; } Akquisitionsdaten bearbeiten: Die Akquisitionsdaten eines Channels beschreiben die Verbindung zwischen dem Scope und dem jeweiligen Wert der Maschinen-Steuerung. So wird bei der Akquisition den „SymbolName“ gesetzt. Dies ist der hierarchische Name des zu überwachenden Signals. Von dem Signal hängt der Datentyp ab, welcher bei „DataType“ eingegeben wird. Die „AmsNetId“ und der „TargetPort“ sind die Verbindungsdaten, die zu dem TwinCAT- Projekt führen. TwinCAT 3 Scope View Version: 1.4 85 .NET API private void SetAcquisition(ScopeViewControlXYChannel channel) { channel.Acquisition.AmsNetId = AmsNetId.Local; channel.Acquisition.TargetPort = 851; channel.Acquisition.IsSymbolBased = true; channel.Acquisition.SymbolName = "MAIN.Puls2"; channel.Acquisition.DataType = DataTypeConverter.AdsToScope2Datatype(AdsDatatypeId.ADST_REAL32); channel.Acquisition.SampleTime = (uint)(10 * TimeSpan.TicksPerMillisecond); channel.XAcquisition.AmsNetId = AmsNetId.Local; channel.XAcquisition.TargetPort = 851; channel.XAcquisition.IsSymbolBased = true; channel.XAcquisition.SymbolName = "MAIN.Puls1"; channel.XAcquisition.DataType = DataTypeConverter.AdsToScope2Datatype(AdsDatatypeId.ADST_REAL32); channel.XAcquisition.SampleTime = (uint)(10 * TimeSpan.TicksPerMillisecond); } 5.1.2.4 Aufnahme steuern Mit den Buttons „Start“ und „Stop“ wird die Aufnahme gestartet und gestoppt. private void button_Start_Click(object sender, EventArgs e) { try { // alte Daten verwerfen if (scopeViewControl1.State == ScopeViewControlStates.REPLY) scopeViewControl1.Operating.DisConnect(false); // Aufnahme starten if (scopeViewControl1.State == ScopeViewControlStates.CONFIG) scopeViewControl1.Operating.StartRecord(); // alle Charts starten if (scopeViewControl1.State == ScopeViewControlStates.CONNECTED) scopeViewControl1.Operating.StartAllDisplays(); } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on start record!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } private void button_Stop_Click(object sender, EventArgs e) { try { if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Operating.StopRecord(); } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on stop record!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Für den Start oder Stopp der Aufnahme sowie für die Einstellungen des Scopes stehen im Scope View Control die Properties „Operating“ zur Verfügung. Falls aktuell eine Aufnahme angezeigt wird, muss diese vor einer neuen Aufnahme erst entfernt werden. Danach wird die Aufnahme gestartet. Zur Darstellung auf der Oberfläche wird danach zusätzlich das Display gestartet. Um eine Aufnahme wieder zu stoppen, muss die Methode „StopRecord“ ausgeführt werden. Dazu muss der „Stop“- Button gedrückt werden. 5.1.2.5 Konfiguration/Aufnahme abspeichern private void button_Save_Click(object sender, EventArgs e) { try { 86 Version: 1.4 TwinCAT 3 Scope View .NET API // wenn Daten da sind speichern if (scopeViewControl1.State == ScopeViewControlStates.REPLY) { File.Create("ExportData.svd").Close(); scopeViewControl1.Operating.SaveData("ExportData.svd"); } // sonst nur die Konfiguration speichern else { File.Create(filename).Close(); scopeViewControl1.SaveScopeConfig(filename); } } catch (Exception err) { MessageBox.Show(this, err.Message, "Error on save!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } Wie dem Code entnommen werden kann, gibt es zwei Möglichkeiten des Abspeicherns: • Speichern der Aufnahmedaten in einer .svd- Datei • Erstellen einer Konfigurationsdatei (.tcscope) Der Unterschied besteht darin, dass die .svd- Datei in jedem TwinCAT 3 Scope View geöffnet werden kann, um sich die Daten anzeigen zu lassen. Die .tcscope- Datei beinhaltet dagegen nur die Konfiguration ohne Daten. Mit ihr kann man immer wieder neue Aufnahmen starten. 5.1.2.6 Chart steuern Mit den Buttons „Run“ und „Pause“ lässt sich der Graph während der Aufnahme pausieren und fortsetzen. Mit dem Button „DelChart“ wird der Chart geschlossen. private void button_Run_Click(object sender, EventArgs e) { if (scopeViewControl1.State != ScopeViewControlStates.RECORD) { MessageBox.Show(this, "Only possible if a record is running!", "Run not possible!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Charts[0].ChartOperating.StartDisplay(); } private void button_Pause_Click(object sender, EventArgs e) { if (scopeViewControl1.State != ScopeViewControlStates.RECORD) { MessageBox.Show(this, "Only possible if a record is running!", "Pause not possible!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } if (scopeViewControl1.State == ScopeViewControlStates.RECORD) scopeViewControl1.Charts[0].ChartOperating.StopDisplay(); } private void btn_DelChart_Click(object sender, EventArgs e) { if (scopeViewControl1.Charts.Count == 0) { MessageBox.Show(this, "No chart is connected!", "Nothing to delete!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else if (scopeViewControl1.State == ScopeViewControlStates.RECORD) { scopeViewControl1.Operating.StopRecord(); scopeViewControl1.Operating.DisConnect(false); } else if (scopeViewControl1.State == ScopeViewControlStates.REPLY) { scopeViewControl1.Operating.DisConnect(false); } else { scopeViewControl1.DeleteChart(scopeViewControl1.Charts[scopeViewControl1.Charts.Count - 1]); } } TwinCAT 3 Scope View Version: 1.4 87 .NET API Da diese Funktion nur im Aufnahmebetrieb genutzt werden kann, muss eine Abfrage erfolgen, ob aktuell Signale aufgenommen werden. Danach kann mit dem Run-Button und der dahinter liegenden Methode „StartDisplay“ das Chart fortgesetzt werden. Mit der Methode „StopDisplay“ kann über den Pause-Button das Display angehalten werden. Die Aufnahme läuft im Hintergrund weiter. Dies ist z.B. bei eingeschaltetem Overview-Chart erkennbar. Zum Löschen des Charts wird zunächst überprüft, ob ein Chart offen ist. Danach wird überprüft, ob momentan eine Aufnahme stattfindet. Ist dies der Fall, wird die aktuelle Aufnahme beendet. Mit der Methode „DisConnect“ in „Operating“ kann der Graph aus dem Chart gelöscht werden. Mit der Methode „DeleteChart“ kann ein Chart aus dem ScopeViewControl gelöscht werden. 5.1.3 Sample YT Cursor Im Folgenden wird die Verwendung von Cursorn in einem ScopeViewControl unter der Nutzung eines YTCharts erläutert. In diesem Sample wird die Programmiersprache C# verwendet. Zuerst wird eine Windows Forms Application erstellt. Mithilfe einer Tool-Bar kann das Menü mit den oben im Bild zu sehenden Buttons erstellt werden. Der Code hinter den Buttons „Load“ und „Create Configuration“ ist aus dem Sample zum ScopeViewControl YT Chart zu entnehmen. Benötigte Software Das ScopeViewControl benötigt das .NET Framework 4.0. Das ".NET Framework 4 Client Profile" wird nicht unterstützt. Hinweis 88 Version: 1.4 TwinCAT 3 Scope View .NET API Installation des .NET Framework 4.0 1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie „Properties“ aus. 2. Wählen Sie unter „Application“ das Target framework „.NET Framework 4“ aus. ð Das .NET Framework 4.0 ist installiert. Das Programm ist in der folgenden Datei zu finden: http://infosys.beckhoff.com/content/1031/ TE13xx_TC3_ScopeView/Resources/zip/2282228747.zip Die Variablen beziehen sich auf das TwinCAT Programm hinter folgender Datei: http://infosys.beckhoff.com/ content/1031/TE13xx_TC3_ScopeView/Resources/zip/2282225419.zip 5.1.3.1 Cursor hinzufügen Die Cursors eines Charts befinden sich in dem CursorModule. Um hier einen weiteren Cursor hinzufügen zu können, wird die Methode NewCursor(Boolean) aufgerufen. Mit dem Boolean-Wert wird festgelegt, ob der Cursor ein X- oder ein Y-Cursor ist. Um einen X-Cursor zu erstellen, wird der Wert auf „false“ gesetzt. Für einen Y-Cursor wird der Wert auf „true“ gesetzt. Nach dem Erstellen der Cursor werden Methoden- Events hinzugefügt, sodass die Tabellen auf der Oberfläche aktualisiert werden. Diese Methoden werden später genauer erläutert. Der letzte Event wird ausgelöst, wenn ein Mausklick auf den Cursor ausgeführt wurde. Diese Methode wird auch später genauer erläutert. Danach wird der neue Cursor inklusive seiner Farbe in der Tabelle hinzugefügt. Des Weiteren wird die refreshX-Methode aufgerufen, damit die aktuellen Werte in der Tabelle eingetragen werden und nicht erst, wenn jeder einzelne Cursor neue Werte bekommt. Zuletzt wird die Methode aufgerufen, welche die Ansicht der Delta-Werte neu erstellt. Diese Methoden werden später genauer beschrieben. Damit die Delta-Werte auch passend unter dem neuen Cursor dargestellt werden, werden zuerst alle alten Delta-Werte gelöscht. Danach werden alle neuen Delta-Werte ausgerechnet und in der Tabelle hinzugefügt. Dabei ist zu beachten, dass X-Cursor mehrere Werte haben, wenn es mehrere Channel gibt. Deshalb müssen bei diesen Cursor alle Channel-Werte noch einmal durchgegangen werden. Diese Abfragen fallen bei den Y-Cursor weg, da diese lediglich die Position haben. private void buttonXCursor_Click(object sender, EventArgs e) { try { ScopeViewControlCursor newCursor = scopeViewControl1.Charts[0].CursorModule.NewCursor(false); newCursor.ChannelValuesChanged += new System.EventHandler(this.resfreshX); newCursor.StatusTimesChanged += new System.EventHandler(this.timeRefreshX); newCursor.Selected += new System.EventHandler(this.actCursorRefresh); dataGridView1.Rows.Insert(scopeViewControl1.Charts[0].CursorModule.XCursor.Count - 1, newCursor.StatusTimes.ChartPositionTime.ToString(), newCursor.Style.Name); dataGridView1.Rows[scopeViewControl1.Charts[0].CursorModule.XCursor.Count - 1].Cells[1].Style.ForeColor = newCursor.Style.Color; resfreshX(newCursor, null); setXDeltaView(); } catch (Exception) { } } private void buttonYCursor_Click(object sender, EventArgs e) { try { ScopeViewControlCursor newCursor = scopeViewControl1.Charts[0].CursorModule.NewCursor(true); newCursor.AxesValuesChanged += new System.EventHandler(this.resfreshY); newCursor.Selected += new System.EventHandler(this.actCursorRefresh); dataGridView2.Rows.Insert(scopeViewControl1.Charts[0].CursorModule.YCursor.Count - 1, newCursor.Style.Name, newCursor.AxesValues[0]); dataGridView2.Rows[scopeViewControl1.Charts[0].CursorModule.YCursor.Count - 1].DefaultCellStyle.ForeColor = newCursor.Style.Color; setYDeltaView(); TwinCAT 3 Scope View Version: 1.4 89 .NET API } catch (Exception) { } } 5.1.3.2 Cursor löschen Die Methode CurserModule.DeleteCursor() löscht den ihr übergebenen Cursor aus der Liste. Die Cursordaten der Tabelle werden im Anschluss aktualisiert. Danach wird die Tabelle mit den Cursordaten überarbeitet. Dazu wird der Cursor zunächst aus der Tabelle gelöscht. Anschließend wird die Methode aufgerufen, welche die Delta-Werte aktualisiert. private void buttonDeleteXC_Click(object sender, EventArgs e) { try { scopeViewControl1.Charts[0].CursorModule.DeleteCursor(scopeViewControl1.Charts[0].CursorModule.XCursor[dataGridView1.SelectedCells[0].RowIndex]); dataGridView1.Rows.RemoveAt(dataGridView1.SelectedCells[0].RowIndex); setXDeltaView(); } catch (Exception) { } } private void butteonDeleteYC_Click(object sender, EventArgs e) { try { scopeViewControl1.Charts[0].CursorModule.DeleteCursor(scopeViewControl1.Charts[0].CursorModule.YCursor[dataGridView2.SelectedCells[0].RowIndex]); dataGridView2.Rows.RemoveAt(dataGridView2.SelectedCells[0].RowIndex); setYDeltaView(); } catch (Exception){} } 5.1.3.3 Delta-Werte Damit die Delta-Werte auch passend unter den bearbeiteten Cursor dargestellt werden, werden zuerst alle alten Delta-Werte gelöscht. Danach werden alle neuen Delta-Werte ausgerechnet und in der Tabelle hinzugefügt. Dabei ist zu beachten, dass X-Cursor mehrere Werte haben, wenn es mehrere Channel gibt. Deshalb müssen bei diesen Cursor alle Channel-Werte noch einmal durchgegangen werden. Diese Abfragen fallen bei den Y-Cursor weg, da diese lediglich die Position haben. Die Aktualisierung der Werte wird in Events vorgenommen. Dieses Vorgehen wird unter dem Punkt „Werte aktualisieren“ erstellt. private void setXDeltaView() { //delete old values while (scopeViewControl1.Charts[0].CursorModule.XCursor.Count != dataGridView1.Rows.Count) { dataGridView1.Rows.RemoveAt(dataGridView1.Rows.Count - 1); } //set new values for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; i++) { for (int k = i + 1; k < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; k++) { dataGridView1.Rows.Add(TimeSpan.Parse(dataGridView1[0, i].Value.ToString()) - TimeSpan.Parse(dataGridView1[0, k].Value.ToString()), dataGridView1[1, i].Value + " - " + dataGridView1[1, k].Value); for (int h = 2; h < scopeViewControl1.Charts[0].Axes[0].Channels.Count + 2; h++) { if (dataGridView1[h, k].Value != null) { dataGridView1[h, dataGridView1.Rows.Count - 1].Value = Convert.ToDouble(dataGridView1[h, i].Value) Convert.ToDouble(dataGridView1[h, k].Value); } } } } 90 Version: 1.4 TwinCAT 3 Scope View .NET API } private void setYDeltaView() { //delete old values while (scopeViewControl1.Charts[0].CursorModule.YCursor.Count != dataGridView2.Rows.Count) { dataGridView2.Rows.RemoveAt(dataGridView2.Rows.Count - 1); } //add new values for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.YCursor.Count; i++) { for (int k = i + 1; k < scopeViewControl1.Charts[0].CursorModule.YCursor.Count; k++) { dataGridView2.Rows.Add(dataGridView2[0, i].Value + " - " + dataGridView2[0, k].Value, Convert.ToDouble(dataGridView2[1, i].Value) - Convert.ToDouble(dataGridView2[1, k].Value)); } } } 5.1.3.4 Werte aktualisieren Da diese Methoden durch Events aufgerufen werden, werden die Cursor in den Parametern mitgeschickt. Dadurch kann dieser Cursor zuerst in der Tabelle gesucht werden, um dann die Werte abändern zu können. Folgend werden die Deltawerte überarbeitet. Hierbei werden mehrere Zeilen bearbeitet. Jede Zelle wird neu berechnet. Es sollte nur der Wert jeder Zelle bearbeitet werden und nicht die Zeile gelöscht und neu erstellt werden, da dies die Performance stark beeinträchtigen würde. Die Oberfläche würde anfangen zu flackern, da das Programm die Werte nicht schnell genug aktualisieren kann. Auch hierbei ist zu beachten, dass es bei den X-Cursor im Gegensatz zu den Y- Cursor mehrere Channel geben kann. Da sich bei den X-Cursor auch die Zeit ändern kann, gibt es eine weitere Methode, um die Zeit zu aktualisieren. Diese Methode läuft so ab, wie die oben erläuterten Funktionen, wobei nur die Zeit-Zeilen angesprochen werden. private void resfreshX(object sender, EventArgs e) { try { ScopeViewControlCursor tmpCursor = (ScopeViewControlCursor)sender; //set new channel value for (int k = 0; k < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; k++) { if (scopeViewControl1.Charts[0].CursorModule.XCursor[k] == tmpCursor) { for (int j = 0; j < tmpCursor.ChannelValues.Count; j++) { dataGridView1[j + 2, k].Value = tmpCursor.ChannelValues[j]; } break; } } //refresh all delta values int m = scopeViewControl1.Charts[0].CursorModule.XCursor.Count; for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; i++) { for (int k = i + 1; k < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; k++) { for (int h = 2; h < scopeViewControl1.Charts[0].Axes[0].Channels.Count + 2; h++) { if (dataGridView1[h, k].Value != null) { dataGridView1[h, m].Value = Convert.ToDouble(dataGridView1[h, i].Value) - Convert.ToDouble(dataGridView1[h, k].Value); } } m++; } } } catch (Exception) { } TwinCAT 3 Scope View Version: 1.4 91 .NET API } private void resfreshY(object sender, EventArgs e) { try { ScopeViewControlCursor tmpCursor = (ScopeViewControlCursor)sender; //set new axes value for (int i = 0; i < dataGridView2.Rows.Count; i++) { if (dataGridView2[0, i].Value.ToString() == tmpCursor.Style.Name) { dataGridView2[1, i].Value = tmpCursor.AxesValues[0].ToString(); break; } } //refresh all deltavalues int m = scopeViewControl1.Charts[0].CursorModule.YCursor.Count; for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.YCursor.Count; i++) { for (int k = i + 1; k < scopeViewControl1.Charts[0].CursorModule.YCursor.Count; k++) { dataGridView2[1, m].Value = Convert.ToDouble(dataGridView2[1, i].Value) - Convert.ToDouble(dataGridView2[1, k].Value); } m++; } } catch (Exception) { } } private void timeRefreshX(object sender, EventArgs e) { //refresh the cursortime for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; i++) { dataGridView1[0, i].Value = scopeViewControl1.Charts[0].CursorModule.XCursor[i].StatusTimes.ChartPositionTime.ToString(); } //refresh the deltatime int m = scopeViewControl1.Charts[0].CursorModule.XCursor.Count; for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; i++) { for (int k = i + 1; k < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; k++) { dataGridView1[0, m].Value = TimeSpan.Parse(dataGridView1[0, i].Value.ToString()) - TimeSpan.Parse(dataGridView1[0, k].Value.ToString()); m++; } } } 5.1.3.5 Cursor per Tastatur steuern Beim Bewegen der Cursor per Tastatureingaben wird immer der zuletzt markierte Cursor bewegt. Dies ist immer der, welcher in der Oberfläche markiert ist. Hierzu wird das KeyDown-Event der Form benutzt. Dieses Event wird immer ausgelöst, wenn eine Taste gedrückt wird. Unter dem Parameter des Typs KeyEventArgs befindet sich unter der Property „KeyCode“ der Wert der gedrückten Taste. Dieser Wert kann dann mit den erwarteten Werten verglichen werden. Um den Cursor zu bewegen, wird die Methode MoveCursor(int) verwendet. Der Parameter gibt an, wie weit sich der Cursor verschiebt. Wird eine positive Zahl eingegeben, wird der Cursor in den positiven Teil geschoben und bei einer negativen Zahl entsprechend in den negativen Teil. Die Methode wird direkt auf einen Cursor aufgerufen. Dieser befindet sich wie oben beschrieben in dem CursorModule. Die Stelle des Cursors im CursorModule kann aus der markierten Zelle in der Tabelle entnommen werden. Ein Cursor kann über zwei Wege in der Tabelle markiert werden: • durch direktes Klicken auf die Zeile in der Tabelle. Hierzu braucht man auch keinen weiteren Code. • durch Klicken auf den Cursor im ScopeViewControl 92 Version: 1.4 TwinCAT 3 Scope View .NET API In dem Moment wird das „Select“ Event des Cursors aufgerufen. Dieser Event ruft die unten angegebene Methode auf und in dem ersten Parameter wird der Cursor übergeben. So wird zuerst bei dem Cursor in der „Style.Orientation“- Eigenschaft geprüft, ob es ein X- oder Y-Cursor ist und danach wird der Cursor in dem Cursormodul gefunden. Hierbei wird mitgezählt, an welcher Stelle sich der Cursor im CursorModule befindet, damit die passende Zeile in der Tabelle markiert werden kann. private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.D) { try { scopeViewControl1.Charts[0].CursorModule.XCursor[dataGridView1.SelectedCells[0].RowIndex].MoveCursor(5); } catch (Exception) { MessageBox.Show("There is no X-Axis to move!"); } } else if (e.KeyCode == Keys.A) { try { scopeViewControl1.Charts[0].CursorModule.XCursor[dataGridView1.SelectedCells[0].RowIndex].MoveCursor(-5); } catch (Exception) { MessageBox.Show("There is no X-Axis to move!"); } } else if (e.KeyCode == Keys.W) { try { scopeViewControl1.Charts[0].CursorModule.YCursor[dataGridView2.SelectedCells[0].RowIndex].MoveCursor(5); } catch (Exception) { MessageBox.Show("There is no Y-Axis to move!"); } } else if (e.KeyCode == Keys.S) { try { scopeViewControl1.Charts[0].CursorModule.YCursor[dataGridView2.SelectedCells[0].RowIndex].MoveCursor(-5); } catch (Exception) { MessageBox.Show("There is no Y-Axis to move!"); } } } private void actCursorRefresh(object sender, EventArgs e) { ScopeViewControlCursor tmpCursor = (ScopeViewControlCursor)sender; if (tmpCursor.Style.Orientation == TwinCAT.Scope2.Charting.ChartingBase.CursorDirection.Vertical) { for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.XCursor.Count; i++) { if (tmpCursor == scopeViewControl1.Charts[0].CursorModule.XCursor[i]) { dataGridView1.ClearSelection(); dataGridView1[1, i].Selected = true; } } } else { for (int i = 0; i < scopeViewControl1.Charts[0].CursorModule.YCursor.Count; i++) { TwinCAT 3 Scope View Version: 1.4 93 .NET API if (tmpCursor == scopeViewControl1.Charts[0].CursorModule.YCursor[i]) { dataGridView2.ClearSelection(); dataGridView2[0, i].Selected = true; } } } } 5.1.4 Sample Scope Export Im folgenden Beispiel wird erläutert, wie eine Scope- Datei in einen anderen Dateityp (Beispielsweise .txt oder.csv) exportiert wird. Die Grundlage dieses Samples ist die Programmiersprache C# in einem Windows Forms- Projekt. Die Oberfläche dieses Samples besteht aus zwei Textboxen zur Eingabe der Pfade und einem Button um den Export zu starten. Das ScopeViewControl benötigt das .NET Framework 4.0. Das ".NET Framework 4 Client Profile" wird nicht unterstützt. Diese Anwendung ist eine 32-Bit basierte Anwendung. Hinweis Installation des .NET Framework 4.0 1. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen die „Properties“ aus. 2. Wählen Sie unter „Application“ das Target framework „.NET Framework 4.0“ aus Das Programm ist in der folgenden Datei zu finden: http://infosys.beckhoff.com/content/1031/ TE13xx_TC3_ScopeView/Resources/zip/2282223499.zip Die Variablen beziehen sich auf das TwinCAT Programm hinter folgender Datei: http://infosys.beckhoff.com/ content/1031/TE13xx_TC3_ScopeView/Resources/zip/2282225419.zip 5.1.4.1 Export Zunächst wird überprüft, ob beide Pfade richtig angegeben wurden. Danach wird die Konfigurationsdatei (.svd-Datei) in einem ScopeViewControl geladen. Dieses wird aber nicht wie in den anderen Samples dazu verwendet, die Konfiguration auf der Oberfläche auszugeben, sondern soll zum Exportieren dienen. Ist die Konfiguration geladen, wird der Pfad, in dem die neue Datei gespeichert werden soll, gesplittet, sodass einen String gebildet wird, in dem das Dateiformat enthalten ist. Dabei wird die Dateiendung zuerst auf alle zum Export möglichen Dateiformate überprüft. Ist das passende Format gefunden, wird auf die Instanz des ScopeViewControl die jeweilige Export-Methode aufgerufen. Als Parameter wird der Methode der Ziel- Pfad der neuen Datei übergeben. Danach ist zu beachten, dass die Konfiguration mit der Methode „DisConnect(true)“ vom Control getrennt wird und der Chart mit der Methode „DeleteChart()“ gelöscht wird. 94 Version: 1.4 TwinCAT 3 Scope View .NET API static String svdFile, destination; ScopeViewControl control = new ScopeViewControl(); private void export_button_Click(object sender, EventArgs e) { svdFile = @textBox_SVD.Text; destination = @textBox_Export.Text; try { //Checking the existens of the path if (destination == null) destination = Environment.CurrentDirectory; if (string.IsNullOrEmpty(svdFile) || !File.Exists(svdFile)) { Console.Write("SVD File could not be found."); } else { control.LoadScopeConfig(svdFile); } if (string.IsNullOrEmpty(destination)) { Console.Write("No destination file defined."); } else { //search the Method with the right export FileInfo fInfo = new FileInfo(destination); string format = fInfo.Extension; if (format.Equals(ScopeViewControl.socpeExportTdmsExtention)) { control.Operating.ExportDataToTDMS(destination); } else if (format.Equals(ScopeViewControl.ScopeExportCSVExtension) || format.Equals(ScopeViewControl.ScopeExportTXTExtension)) { control.Operating.ExportData(destination); } else if (format.Equals(ScopeViewControl.ScopeExportBinaryExtention)) { control.Operating.ExportDataBinary(destination); } else if (format.Equals(ScopeViewControl.ScopeExportDatExtention)) { control.Operating.ExportDataToDat(destination); } else { Console.Write("Unknown format."); } } //Disconnect the .svd File control.Operating.DisConnect(true); control.DeleteChart(control.Charts[0]); } catch (Exception ex) { Console.Write(ex.ToString()); Console.ReadLine(); control.Operating.DisConnect(true); } } 5.2 Integration in ein WPF (Windows Presentation Foundation) Projekt Um das ScopeViewControl auch innerhalb von WPF Anwendungen zu nutzen, benötigen Sie einen WindowsFormsHost als Grundlage, da das ScopeViewControl ein Windows Forms UserControl ist. TwinCAT 3 Scope View Version: 1.4 95 .NET API 1. Platzieren Sie in Ihrer erstellten WPF Applikation ein WindowsFormsHost- Control aus der Toolbar auf Ihrer Benutzeroberfläche. 2. Initialisieren Sie das ScopeViewControl wie es in den Windows Forms- Beispielen beschrieben ist und fügen Sie das erstellte ScopeViewControl dem WindowsFormsHost hinzu. Bei der Nutzung des ScopeViewControl innerhalb der WPF Applikation muss lediglich das Property "ScopeViewControl.Operating.SupportWpfRefresh" gesetzt werden. Eine beispielhafte Implementierung sähe demnach folgendermaßen aus: namespace WpfApplication { /// /// Interaction logic for MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); ScopeViewControl scopeViewControl = new ScopeViewControl(); scopeViewControl.Operating.SupportWpfRefresh = true; // Initialisierung des ScopeViewControl windowsFormsHost1.Child = scopeViewControl; } } } 5.3 API Dokumentation Die angehängte Klassenbibliothek bietet eine umfangreiche Informationsquelle für Entwickler, die mit den Technologien und Diensten von TwinCAT Scope arbeiten. Die Library enthält unter anderem Anleitungs- und Referenzdokumentationen, sowie Beispielcodes. 96 Version: 1.4 TwinCAT 3 Scope View .NET API Um die gewünschten Inhalte zu finden, navigieren Sie durch das Inhaltsverzeichnis, verwenden Sie die Suchfunktion, oder wechseln Sie mithilfe eines Quicklinks in einen der Bereiche der Bibliothek Für Beispielcodes wechseln Sie im linken Bereich der Oberfläche auf den Tab "Search" und suchen Sie nach dem Stichwort "examples". In den Suchergebnissen finden Sie so Beispielcodes zu den Bereichen TriggerModule, Cursor und vielen mehr. Dokumentation der Klassenbibliothek TwinCAT 3 Scope View Version: 1.4 97 Beispiele 6 Beispiele 6.1 TwinCAT 3 Scope View Erste Schritte Um den schnellen Einstieg zu ermöglichen und die Arbeit mit dem Software-Oszilloskop TwinCAT 3 Scope zu vereinfachen, werden auf dieser Seite die ersten Schritte kurz beschrieben. Es wird hier bewusst darauf verzichtet auf jedes Detail einzugehen. So sind beispielsweise triggergesteuerte Aufnahmen und die Reporterstellung nicht Gegenstand dieser Dokumentation. 1. Installation: Für das Grundverständnis ist es wichtig zu wissen, dass mit einem Scope View auch grundsätzlich ein Scope Server mitinstalliert wird, da andernfalls keine gespeicherten Daten lokal im View angezeigt werden könnten. Im Gegensatz dazu kann die Scope Komponenteninstallation den Server auch ohne View auf einem Zielgerät installieren. 2. Lizensierung: Egal ob das Scope View durch sein eigenes Setup oder durch das TwinCAT 3 XAE Setup installiert wurde, zunächst ist die aktivierte Lizenz "Base" für View und Server. Mit welchem Lizenzschlüssel welche Funktionalität freigeschaltet wird erfahren Sie hier [} 6]. 3. Neues Projekt: Im Windows Start Menu kann das Scope View unter dem Eintrag Beckhoff ausgewählt werden. Es öffnet sich das Visual Studio in seiner Shell oder in einer möglicherweise installierten Vollversion. Es kann zwischen verschiedenen Templates ausgewählt werden. 98 Version: 1.4 TwinCAT 3 Scope View Beispiele Im Solution Explorer baut sich dann der Ausgangspunkt für die neue Scope Konfiguration automatisch zusammen. 4. Auswählen von Kanälen: Der erzeugten Konfiguration müssen jetzt noch Variablen bzw. Kanäle hinzugefügt werden. Diese kann man über den Target Browser auswählen. Bei der erstmaligen Verwendung kann es sein, dass dieser nicht direkt als Fenster im Visual Studio sichtbar ist. Mit einem Rechtsklick auf den Scope Knoten kann der Target Browser im Kontextmenu ausgewählt werden. TwinCAT 3 Scope View Version: 1.4 99 Beispiele Alternativ kann der Target Browser auch über das Scope Menu im Visual Studio ausgewählt werden. Hat sich der Target Browser geöffnet, so kann das Fenster an einer beliebigen Stelle in der Oberfläche angedockt werden. Durch das Hineinbrowsen in das jeweilige Zielsystem ist es möglich die gewünschten Variablen auszuwählen. Die Variablen können per Multiselect ausgewählt und per Rechtsklick "Add Symbol" oder per Drag & Drop zur Konfiguration hinzugefügt werden. 100 Version: 1.4 TwinCAT 3 Scope View Beispiele Die gewählten Kanäle werden der zuletzt selektierten Achse zugewiesen. In diesem Fall ist nur eine Achse vorhanden. 5. Die Aufnahme: Vor einer Aufnahme müssen in den Scope Properties noch die grundlegenden Einstellungen zur Aufnahme gemacht werden. Standard ist eine zehn minütige Aufnahme, welche manuell gestartet und nach der entsprechenden Zeit automatisch gestoppt wird. Für alle Hierarchieebenen Scope, Chart, Achse und Kanal, sowie für Trigger und Cursor können die Einstellungen im Standard Property Fenster vom Visual Studio vorgenommen werden. Ein einfacher Klick auf dem entsprechenden Element im Solution Explorer genügt, vorausgesetzt das Property Fenster wurde bereits unter View im Visual Studio erstmalig geöffnet. TwinCAT 3 Scope View Version: 1.4 101 Beispiele Wenn man die Standardeinstellungen belässt, kann man die Aufnahme starten. Dazu muss bei erstmaliger Verwendung noch die Scope Toolbar geöffnet werden. Im Visual Studio > View Toolbars > TwinCAT Measurement. Klickt man das Icon mit dem roten Aufnahmesymbol an startet die Aufzeichnung. 102 Version: 1.4 TwinCAT 3 Scope View Beispiele 6. Während der Aufnahme: Um die Darstellung der Kanäle im View zu verbessern, können im TwinCAT 3 Scope View Charts und Achsen auch während der Aufnahme hinzugefügt und Kanäle innerhalb des Scopes verschoben werden. TwinCAT 3 Scope View Version: 1.4 103 Beispiele X- und Y-Cursor können ebenfalls zur Laufzeit hinzugefügt und gelöscht werden. 104 Version: 1.4 TwinCAT 3 Scope View Beispiele Ein wichtiges Feature ist die Möglichkeit, das Display der aktuellen Aufnahme anzuhalten, während die Aufzeichnung der Daten im Hintergrund weiter läuft. Ist das Display gestoppt, kann man ganz in Ruhe in die Daten hineinzoomen und mit den Cursorn den Signalverlauf analysieren. 7. Aufnahme stoppen und Daten abspeichern: In diesem Fall wird die gestartete Aufnahme automatisch nach Ablauf der Aufnahmezeit von zehn Minuten gestoppt. Alternativ kann natürlich auch zu jeder Zeit die Aufnahme manuell über den Stopp-Button in der Scope Toolbar beendet werden. Die aufgenommenen Daten sind erst konsitent, wenn sie als .svd Datei abgespeichert werden. Im Visual Studio auf das Scope Menu klicken und Save Data auswählen. TwinCAT 3 Scope View Version: 1.4 105 Beispiele 106 Version: 1.4 TwinCAT 3 Scope View Anhang 7 Anhang 7.1 FAQ - Häufig gestellte Fragen und Antworten In diesem Bereich werden häufig gestellte Fragen beantwortet, um Ihnen die Arbeit mit TwinCAT 3 Scope zu erleichtern. Wenn Sie noch weitere Fragen haben, kontaktieren Sie bitte unseren Support (-157) 1. Ist es richtig, dass in der TwinCAT 3 Welt "TC3 Scope" kein Produkt, sondern ein Oberbegriff für verschiedene Produkte ist? 2. Weshalb gibt es für das TC3 Scope unterschiedliche Produktlevel? 3. Kann man das Scope View Professional mit dem Scope Server Base betreiben? Welche Einschränkungen gibt es? 4. Wozu braucht man die TF3300 Scope Server, wenn man auch die "Use local Server" Option einschalten kann? 5. Kann man das TwinCAT Scope View in eine eigene Visualisierung einbinden? 6. Ist es möglich aufgenommene Scope Charts aus zu drucken? 7. Gibt es Multimedia Dokumentationen zum TwinCAT 3 Scope? 8. Meine Scope .svd Dateien liegen auf einem Netzlaufwerk. Warum kann ich diese nicht öffnen? ? Ist es richtig, dass in der TwinCAT 3 Welt "TC3 Scope" kein Produkt, sondern ein Oberbegriff für verschiedene Produkte ist? ! Ja, "TC3 Scope" ist ein Oberbegriff. Das TC3 Scope ist in die Produkte Scope View und Scope Server unterteilt. Dies bedeutet, dass sich ein TC3 Scope immer aus den Produkten View und Server zusammensetzt. Darüber hinaus gibt es noch unterschiedliche Produktlevel. ? Weshalb gibt es für das TC3 Scope unterschiedliche Produktlevel? ! Das Scope ist ein ständig wachsendes Tool für Datenaufzeichnung und Analyse, allerdings benötigt nicht jeder Scope-Nutzer immer den vollen Funktionsumfang für seine Zwecke. Daher bieten wir möglichst auf den Anwendungsfall zugeschnittene Produktlevel. Aktuell gibt es die Produktlevel Base und Professional. Base ist lizenzkostenfrei und kann hervorragend für die Maschineninbetriebnahme verwendet werden. Professional ist über die Maschineninbetriebnahme hinaus bestens für die Prozessüberwachung geeignet. ? Kann man das Scope View Professional mit dem Scope Server Base betreiben? Welche Einschränkungen gibt es? ! Ja, man kann das Professional View auch mit dem Base Server betreiben. Es sind lediglich die Einschränkungen der Base Server Version zu beachten. Auch möglich ist es beispielsweise ein RemoteGerät mit dem lokalen Base Server zu scopen. Dazu muss nur die Option "Use local Server" in den Kanaleinstellungen gesetzt werden. ? Wozu braucht man die TF3300 Scope Server, wenn man auch die "Use local Server" Option einschalten kann? ! Sobald ein Scope Server autark auf einem Remote-Gerät laufen soll, wird die TwinCAT Function TF3300 Scope Server benötigt. Der Server kann so z.B. aus der SPS gesteuert werden, ohne das ein View verbunden ist. ? Kann man das TwinCAT Scope View in eine eigene Visualisierung einbinden? ! Ja, man kann das Scope Control in die eigene .NET basierte Visualisierungs-Applikation einbinden. Das Lizenzmodell bleibt identisch. Details und Beispiele findet man hier. ? Ist es möglich aufgenommene Scope Charts aus zu drucken? ! Durch das Einfügen eines Reports in ein Scope Projekt kann der aktuell angezeigte Chart ausgedruckt werden. Darüber hinaus werden Randdaten wie Kanalname, Achsenname oder Werte, welche von Cursor dargestellt werden angezeigt und dem Ausdruck hinzugefügt. Mehr dazu erfahren Sie hier. TwinCAT 3 Scope View Version: 1.4 107 Anhang ? Gibt es Multimedia Dokumentationen zum TwinCAT 3 Scope? ! Ja es gibt eine Aufzeichnung von einem TwinCAT 3 Scope Webinar auf der Beckhoff Homepage. ? Meine Scope .svd Dateien liegen auf einem Netzlaufwerk. Warum kann ich diese nicht öffnen? ! Das wird daran liegen, dass der TwinCAT 3 Scope Server Service keine Zugriffsrechte auf das Netzwerkverzeichnis hat. Damit dennoch .svd Dateien geöffnet werden können, müssen diese entweder auf das lokale System kopiert oder dem Scope Server Service die entsprechenden Rechte eingeräumt [} 112] werden. 7.2 TwinCAT Scope Glossar Begriff Scope Scope Server Scope View YT Chart Overview Chart XY Chart Array Bar Chart Achse Kanal Data Picker Target Browser Solution Explorer Measurement Project Cursor Marks Trigger Quick View Chart 108 Beschreibung Das Scope bildet das oberste hierarchische Element in einer ScopeKonfiguration und verwaltet alle Aufnahmeeinstellungen. Der Scope Server ist das Logger-Programm vom TwinCAT Scope. Ein Scope verbindet sich mit einem Server um neue Daten aufzunehmen oder ein vorhandene Datei (.svd) auszulesen. Das Scope View ist das Front-End vom TwinCAT Scope. Von hier werden Konfigurationen erstellt oder geladen, die Anzeige eingestellt und Aufnahmen gesteuert. Das Chart stellt eine Zeichenfläche mit Zeitachse zur Verfügung. Alle angeschlossenen Kanäle werden auf den gleichen Zeitausschnitt skaliert. Ein Overview Chart kann in einem YT Chart eingeblendet werden. Er liefert eine Übersicht über die gesamte Aufnahmedauer mit absoluten Zeiten. Das Chart stellt eine Zeichenfläche für einen Kanal zur Verfügung, welcher sich aus zwei Variablen berechnet. Eine Variable wird auf der X-Achse und eine auf der Y-Achse angegeben. Das Chart stellt die Zeichenoberfläche für ein Array- Datentyp zur Verfügung, dessen Elemente jeweils einer Bar-Linie bzw. einem Balken zugeordnet sind. Eine (Y-) Achse stellt die Werteskalierung für angeschlossene Kanäle dar. Der Kanal bildet die Verbindung von Systemvariable und Graph. Daher gibt es ein Einstellfenster für die Akquisition und eines für die allgemeinen Einstellungen (Farben, Marks etc.). Ist ein Mauszeiger-Instrument, welches automatisch im Chart bei Überfahren eines Datenpunktes aktiviert wird. Durch einen Klick werden in einem Tool-Tipp die Werte von X- und Y- Achse, Kanalname und Absolutzeit für den ausgewählten Datenpunkt angezeigt. Mit dem Target Browser können alle angeschlossenen Systeme und deren Geräte einfach nach Systemvariablen durchsucht werden. Der Solution Explorer ist eine Art Projekt-Verwalter, unter anderem auch für die Measurement- Projekte, welche für eine Scope-Aufnahme notwendig sind. Das Measurement Project kann mehrere Scope-Projekte beinhalten, worin die tatsächlichen Aufnahmekonfigurationen erstellt werden. Zur Anzeige von Graph- und Achswerten und deren Differenzen dient das Cursor-Modul. Marks sind die tatsächlichen Datenpunkte einer aufgenommenen Variablen. Sie können über die Kanal-Eigenschaften eingestellt werden. Mit frei konfigurierbaren Triggergruppen können verschiedene Aktionen ausgelöst werden. Das Quick View Chart ist ein Chart, welches im Target Browser zur Verfügung steht. Dieses hilft um sich schnell ohne fertige Konfiguration eine Übersicht zu verschaffen, ob aktuell Werte geliefert werden. Version: 1.4 TwinCAT 3 Scope View Anhang 7.3 How To's 7.3.1 Oversampling-Aufnahmen mit dem TwinCAT 3 Scope Mit dem TwinCAT 3 Scope ist es möglich, Oversamping-Werte in einer einzigen Variablen darzustellen. Da beim Oversampling für jeden Zyklus n Werte (n = Oversampling-Faktor) aufgenommen werden, generiert der TwinCAT System Manager ein ADS-Symbol, welches für jeden einzelnen Wert einen eigenen Zeitstempel beinhaltet. Verbindet man sich auf dieses ADS-Symbol mit dem Scope, so übernimmt das Scope alle weiteren Einstellungen, um die n Werte in einer zeitlich korrekten Reihenfolge darzustellen. Damit das ADS-Symbol erzeugt wird und direkt von einer EtherCAT-Klemme (z.B. EL3702 oder EL3632) gescopet werden kann, müssen einige Einstellungen in der TwinCAT System Manager Konfiguration vorgenommen werden: Im EtherCAT Prozessabbild muss im Karteireiter ADS der ADS-Server aktiviert und die Option Symbole Erzeugen eingeschaltet werden. Der zugewiesene ADS-Port muss später im Scope angegeben werden, um die ADS-Symbole zu finden. Für die entsprechende Oversampling Klemme sollte der gewünschte Oversampling-Faktor im TwinCAT System Manager eingestellt werden, bevor dann die Konfiguration aktiviert wird. TwinCAT 3 Scope View Version: 1.4 109 Anhang Wenn die Konfiguration erfolgreich geladen wurde und TwinCAT im Run-Mode ist, kann man in das TwinCAT 3 Scope wechseln. Im Target Browser des Scopes sind die Server Settings aufzurufen. Im entsprechenden Dialog muss die vom TwinCAT System Manager zugewiesene ADS-Portnummer eingetragen und mit dem Add-Button hinzugefügt werden, vorausgesetzt der Port ist nicht schon zuvor eingetragen worden. 110 Version: 1.4 TwinCAT 3 Scope View Anhang Jetzt sollte im Scope Target Browser AdsPort of Image X (27905) erscheinen. Über diesen neuen Eintrag kann man in die EtherCAT Klemmen und so auch in die gewünschte Oversampling-Klemme hinein browsen. In der Oversampling-Klemme sollte die rot gekennzeichnete Variable mit dem Zusatz [T20] (20 steht in diesem Fall für 20-fach Oversampling, diese Zahl kann entsprechend dem Oversampling-Faktor variieren) für die Scope-Aufnahme ausgewählt werden. TwinCAT 3 Scope View Version: 1.4 111 Anhang Die INT16 Variable kann jetzt im TwinCAT Scope direkt aufgezeichnet werden. Im folgenden Screenshot 20fach Oversampling bei 1ms Zykluszeit. 7.3.2 .svd Dateien aus einem Netzwerkverzeichnis öffnen Wenn eine .svd Datei aus dem Netzwerk in die Solution eingebunden werden soll, wird ohne entsprechende Vorbereitung vermutlich folgende Fehlermeldung auftreten: 112 Version: 1.4 TwinCAT 3 Scope View Anhang An unknown Error occured. Error handling .svd file within scope server. Enable and check scope server tracing. Im Server Tracing Log findet sich dann meistens einer der folgenden Einträge: "ScopeServerTraceSource",Error,8442,"Access to the path '\\remote-PC\SVDs\test.svd' is denied.",,368,,"16","2014-04-28T07:26:59.9720667Z",, oder "ScopeServerTraceSource",Error,8442," Could not find file '\\remote-PC\SVDs\test.svd '.",,3376,,"16","2014-04-28T07:26:59.9720667Z",, Beide Fehler sagen aus, dass der TwinCAT Scope Server Service keine Zugriffsrechte auf das Netzwerkverzeichnis hat. Um dem TwinCAT Scope Server die nötigen Rechte zu erteilen, gehen Sie bitte wie folgt vor (Beispielhaft für Windows 7): 1. Machen Sie einen Rechtsklick auf das freizugebende Verzeichnis -> Properties -> Tab Sharing -> Share 2. Tragen Sie die Benutzer ein, die Zugriff auf das Verzeichnis bekommen sollen. Permisson Level Read ist für den Scope Server Zugriff und zur Darstellung der .svd Datei ausreichend. 3. Klicken Sie auf Windows-Taste + R -> „services.msc“ -> TwinCAT3 Scope Server -> Log on -> TwinCAT 3 Scope View Version: 1.4 113 Anhang 4. Geben Sie den Account an, mit dem Sie auf das Netzwerkverzeichnis Zugriffsrechte haben. 5. Achten Sie gegebenenfalls auf die korrekte Anwendung Ihrer Server Domain. 6. Starten Sie nach dem Bestätigen den Service einmal neu, um die neuen Benutzerdaten zu übernehmen. ð Anschließend können auf diesem System .svd Dateien aus dem eingerichteten Netzwerkverzeichnis im Measurement Projekt geöffnet werden. 114 Version: 1.4 TwinCAT 3 Scope View