Pick-and-place-Anwendung

Das folgende Beispiel zeigt eine Analyse einer XTS-Anwendung zusammen mit einem Pick-and-place-Roboter. Es bietet Ihnen zwei Möglichkeiten:

  1. Sie können die Beispieldaten verwenden und Ihr eigenes TwinCAT Analytics-Projekt aufbauen.
  2. Sie können das fertige „ready-to-use“ TwinCAT Analytics-Projekt verwenden, um nachzuvollziehen, wie TwinCAT Analytics funktioniert.

In beiden Fällen ist es sinnvoll, die Maschinenanwendung zu verstehen, die die Daten für die Analyse liefert. Der Ablauf der Anwendung wird im Video gezeigt:

Anwendungsbeschreibung

Dieses Applikationsbeispiel beschreibt eine Simulation zur Bearbeitung von Produktionswaren. Die Anwendung transportiert Werkstücke über ein Beckhoff XTS-System von einem Lager zu einem Bohrer. Je nach Farbe des Werkstücks wird ein anderes Muster in jedes Teil gefräst. Das gezeigte XTS-System hat eine Länge von 4000 mm. Es umfasst zehn Mover, wobei zwei Mover zusammen eine Ablage tragen. Ein Pick-and-place-Roboter (1) ist am Werkstücklager (2) positioniert. Zwei rote und drei gelbe Teile liegen in fünf Lagerpositionen, die der Picker über eine Vakuumpumpe aufnehmen oder ablegen kann. Auf der gegenüberliegenden Seite des XTS befinden sich ein Vision System (3) zur Identifizierung der Werkstückfarbe und ein Fräser (4) für die spezifische Fräskontur.


Die Ablagen laufen zum Werkstücklager. Der Picker nimmt die Teile auf und be- oder entlädt die Ablagen. Anschließend läuft die Ablage zum Scanner. Dort wird die Farbe des Werkstücks gescannt und dem nachfolgenden Fräser mitgeteilt. Je nach Farbe werden die Werkstücke anders bearbeitet, in gelbe Teile wird ein Kreis, in rote Teile eine ovale Form gefräst. Danach läuft das Werkstück zurück zum Lager und wird dort vom Picker eingelagert. Die Ablage wird mit einem anderen Teil beladen und läuft weiter.

Pick-and-place-Anwendung 1:

Variablenbeschreibung

Die folgenden Variablen werden vom TwinCAT Analytics Logger im angehängten Analytics File Format aufgezeichnet. Sie können die Daten für Ihr eigenes Analytics-Konfiguratorprojekt oder für die vorgegebene Konfiguration in der bereitgestellten tnzip-Datei verwenden. Sinn und Funktion der einzelnen Variablen werden in der folgenden Tabelle dargestellt.

Variablenname

Data Type

Beschreibung

bMillerMilling

BOOL

Informationen zur Aktivität des Bohrers: 1, wenn der Bohrer aktiv ist, und 0, wenn der Bohrer inaktiv ist.

bMillerMovingZ

BOOL

Informationen zur Bewegung des Bohrers in z-Richtung: Ist 1, wenn sich der Bohrer in z-Richtung bewegt, und 0, wenn er sich nicht in z-Richtung bewegt.

bMillerSpindleRotation

BOOL

Informationen zur Aktivität der Bohrnadel: Ist 1, wenn sich die Nadel bewegt und der Bohrer aktiv ist, und 0, wenn sie sich nicht bewegt.

bNewWorkpieceColorScanned

BOOL

Registriert, ob eine neue Farbe gescannt wurde (= 1), und informiert dann den Bohrer. Wenn sich die Farbe ändert, muss das Bohrmuster geändert werden. Wenn die Farbe noch gleich ist (=0), ändert sich das Bohrmuster nicht.

bPickerHoldingWorkpiece

BOOL

Ist 1, wenn der Picker ein Werkstück hält, und 0, wenn nicht.

bPickerInStorage1Position

BOOL

Ist 1, wenn sich der Picker in Lagerposition 1 befindet.

bPickerInStorage2Position

BOOL

Ist 1, wenn sich der Picker in Lagerposition 2 befindet.

bPickerInStorage3Position

BOOL

Ist 1, wenn sich der Picker in Lagerposition 3 befindet.

bPickerInStorage4Position

BOOL

Ist 1, wenn sich der Picker in Lagerposition 4 befindet.

bPickerInStorage5Position

BOOL

Ist 1, wenn sich der Picker in Lagerposition 5 befindet.

bPickerInXtsPosition

BOOL

Ist 1, wenn sich der Picker in XTS-Position befindet, d. h. über dem XTS.

bPickerMoving

BOOL

Information, wenn sich der Picker
bewegt (=1) oder inaktiv ist (=0).

fMillerPositionZ

LREAL

Gibt die z-Position des Bohrers an. Bei einem Wert von 224 befindet sich der Bohrer in der Bohrposition, bei 245 ist er inaktiv.

fMillerSpindleRotation

LREAL

Gibt die Anzahl der Umdrehungen pro Minute der Bohrnadel an.

nColorOfLastScannedWorkpiece

INT

Registriert die Farbe des zuletzt gescannten Werkstücks.

5 → gelbes Werkstück

4 → rotes Werkstück

nCurrentProductionTime

ULINT (64 Bit)

Registriert die aktuelle Produktionszeit.

nVacuumPressure

DINT

Der Picker greift die Werkstücke über Druckluft. Diese Variable gibt den aktuellen Druck in mbar an.

stMachineVibrations aMachineVibrations[1...10]

STRUCT with ARRAY of LREAL

Die Struktur stMachine Vibrations gibt die Vibrationen der Maschinenbasis in der Einheit m/s2 mit Oversampling an.

stPickerPosition aPickerPosition[1...3]

STRUCT with ARRAY of LREAL

Die Struktur stPickerPosition enthält ein Array mit drei Werten. Die Werte geben die x-/y- und z-Position des Pickers an.

stTableInMillingPosition aTableInMillingPosition[1...5]

STRUCT with ARRAY of BOOL

Die Struktur stTableInMillingPosition enthält ein Array mit fünf Werten, von denen jeder für eine Ablage steht: Wert 1 für Ablage 1, Wert 2 für Ablage 2... wenn der Wert 1 ist, befindet sich die Ablage in der Bohrposition.

stTableInStoragePosition aTableInStoragePosition[1...5]

STRUCT with ARRAY of BOOL

Die Struktur stTableInStoragePosition enthält ein Array mit fünf Werten, von denen jeder für eine Ablage steht: Wert 1 für Ablage 1, Wert 2 für Ablage 2... wenn der Wert 1 ist, befindet sich das Ablage im Werkstücklager.

stWorkpieceColors aWorkpieceColors[1...5]

STRUCT with ARRAY of INT

Die Struktur stWorkpieceColors enthält ein Array mit fünf Werten, von denen jeder für ein Werkstück steht und seine Farbe angibt (als Int-Wert):

Werkstück 1: gelb

Werkstück 2: gelb

Werkstück 3: rot

Werkstück 4: rot

Werkstück 5: gelb

stWorkpiecePositions aWorkpiecePosition[1...5]

STRUCT with ARRAY of INT

Die Struktur stWorkpiecePositions enthält ein Array mit fünf Werten für jedes Werkstück. Der Int-Wert gibt die aktuelle Position des Werkstücks an:

1: Lager 1

2: Lager 2

3: Lager 3

4: Lager 4

5: Lager 5

6: Ablage 1

7: Ablage 2

8: Ablage 3

9: Ablage 4

10: Ablage 5

11: Picker

stXtsMoverAcceleration aXtsMoverAcceleration[1...10]

STRUCT with ARRAY of LREAL

Die Struktur stXtsMoverAcceleration enthält ein Array mit zehn Werten für die Mover 1-10 und gibt die Beschleunigung des jeweiligen Movers an.

stXtsMoverMovingNegative aXtsMoverMovingNegative[1...10]

STRUCT with ARRAY of BOOL

Die Struktur stXtsMoverMovingNegative enthält ein Array mit zehn Werten für die Mover 1-10 und ist 1, wenn sich der jeweilige Mover rückwärts bewegt.

stXtsMoverMovingPositive aXtsMoverMovingPositive [1...10]

STRUCT with ARRAY of BOOL

Die Struktur stXtsMoverMovingPositive enthält ein Array mit zehn Werten für die Mover 1-10 und ist 1, wenn sich der jeweilige Mover vorwärts bewegt.

stXtsMoverPositionsX aXtsMoverPositionsX[1...10]

STRUCT with ARRAY of LREAL

Die Struktur stXtsMoverPositionsX enthält ein Array mit zehn Werten für die Mover 1-10. Der Wert gibt die x-Position des jeweiligen Movers auf dem XTS an.

stXtsMoverVelocity

aXtsMoverVelocity[1...10]

STRUCT with ARRAY of LREAL

Die Struktur stXtsMoverVelocity enthält ein Array mit zehn Werten für die Mover 1-10 und gibt die Geschwindigkeit des jeweiligen Movers an.

Wie Sie die Daten erhalten

Im Download-Bereich finden Sie eine 30-minütige Aufzeichnung des XTS-Systems, die für die weitere Analyse verwendet werden kann. Um auf diese Daten zuzugreifen, müssen Sie die Daten mit dem Analytics Storage Provider in einem historischen Stream bereitstellen. Die Verfügbarkeit eines Message-Brokers sollte dafür gegeben sein. Für die vorbereiteten Samples müssen alle Komponenten auf dem lokalen System laufen.

Installieren Sie den Analytics Storage Provider. Folgen Sie den gegebenen Anweisungen.

  1. Importieren Sie ihre Analytics File Daten in den Storage Provider (siehe: Importieren von Analytics Files).
  2. Nutzen Sie den Analytics Storage Provider Configurator um den Storage Provider Windows Service zu starten.
  3. Öffnen Sie den TwinCAT Target Browser in der TcXaeShell oder im Visual Studio®. Wählen Sie die TcAnalytics Registrierkarte aus und fügen Sie Ihren Message-Broker hinzu. Im Baum auf der linken Seite finden Sie nun einen Eintrag für die Historischen Daten, die Ihnen bei Auswahl in der Symbolliste auf der rechten Seite angezeigt werden.
  4. Verbinden Sie einzelne Symbole mit den Eingängen ihrer Analytics-Algorithmen.
  5. Starten Sie die Analyse.

Analyse mit der Analytics Workbench

Im Folgenden wird die Analyse erläutert, die Gegenstand des TwinCAT Analytics-Projektes aus dem Download-Bereich ist. Laden Sie das fertige Projekt herunter und öffnen Sie es.

Selektieren Sie den Virtual Mappings Knoten und browsen Sie zusätzlich im Target Browser auf das von Ihrem Storage Provider vorgegebene Topic. Wählen Sie die Daten aus und verknüpfen diese mit den entsprechenden Virtuellen Inputs im Editor.

Pick-and-place-Anwendung 2:

Beschreibung vom Analytics-Projekt

Netzwerkname

Verwendete Variablen

Verwendete Algorithmen

Beschreibung

1_Storage_Picker

bPickerinStoragePosition,

bPickerHoldingWorkpiece,

bPickerInXtsPosition,

bPickerInHomePosition,

bPickerMoving,

stPickerPosition

Edge Counter,

Math Operation,

Edge Counter OnOff,

Logic Operation Counter,

Numerical Compare,

Min Max Avg

Picker:

Dieses Netzwerk analysiert die Aktionen des Pickers. Es zählt die Mengen, wenn der Picker ein Werkstück hält, sich in der Ausgangsposition oder in der XTS-Position befindet. Zudem wird analysiert, wie oft der Picker ein Werkstück transportiert, wie oft er einen Mover belädt sowie seine xyz-Position.

Wie oft lädt der Picker ein Werkstück?

Speicherung:

Dieses Netzwerk analysiert die Lagernutzung der fünf Lagerpositionen neben dem Picker. Die Mengen und Anteile der Lagernutzungen werden gezählt.

Wird jedes Lager gleichermaßen genutzt?

2_Components

bNewWorkpieceColorScanned,

bMillerMilling,

nColorOfLastScannedWorkpiece,

stWorkpiecePosition

Logic Operation Counter,

Threshold String Classificator,

Histogram,

Trend Line

Dieses Netzwerk analysiert die Werkstücke selbst. Wie viele Werkstücke von jeder Farbe an Scanner und am Fräser verarbeitet werden sowie die aktuelle Position jedes Werkstücks kann erkannt werden. Die Histogramm-Algorithmen zeigen die Verteilung der Werkstückpositionen.

Wie viele rote Werkstücke wurden verarbeitet?

3_Mover

stTableInMillingPosition,

sXtsMoverPosition

 

XTS Velocity Analysis,

XTS Distance Integrator,

Min Max Avg Interval,

Math Operation,

Threshold Classificator,

Trend Line,

Edge Counter,

Lifecycle Analysis,

Logic Operation Counter

 

Distance:

Dieses Netzwerk analysiert die Strecke, die jede Ablage zurückgelegt hat, und berechnet die Gesamtstrecke aller Mover. Da die Länge des XTS-Systems bekannt ist (4000 mm), kann die durchschnittliche Anzahl der Runden für jede Ablage abgeleitet werden. Die Threshold-Analyse gibt eine Warnung nach 40 Runden und einen Alarm nach 45 Runden aus.

Welche Strecke haben alle Ablagen insgesamt zurückgelegt?

Ablageposition:

Dieses Netzwerk analysiert, wie oft die Ablagen am Lager oder am Fräser anhalten, und stoppt, wie lange eine Ablage für eine Runde benötigt.

Wie oft haben alle Ablagen am Fräser angehalten?

Velocity:

Dieses Netzwerk analysiert die aktuelle Geschwindigkeit der Ablagen sowie die minimale und maximale Geschwindigkeit in den letzten 20 Sekunden. Die Ablagen können sich rückwärts bewegen. Daher kann die minimale Geschwindigkeit negativ sein.

Welche maximale Geschwindigkeit können Sie ablesen?

4_Miller

bMillerMilling,

bMillerSpindleRotating,

bPickerMoving

Event Timing Analysis,

Lifetime Analysis

Dieses Netzwerk führt die Analyse für den Fräser durch.

Bohrzeit: Zeit, in der der Fräser aktiv ist.

Bewegungszeit der Bohrspitze: Zeit, in der die Bohrspitze aktiv ist.

Bewegungszeit des Bohrers: Zeit, in der der Bohrer aktiv ist.

Welche der drei Aktionen hat der Fräser am längsten ausgeführt?

5_System

bNewWorkpieceColorScanned,

bMillerMilling,

nVacuumPressure,

stMachineVibrations

Min Max Avg,

Min Max Avg Interval,

Timing Analysis,

Math Operation

Lifecycle Analysis,

Threshold Classificator,

Continuous Piece Counter

 

Productivity:

Die Produktivität wird analysiert, indem die verarbeiteten Werkstücke pro 20 Sekunden gezählt und mit den vorangegangenen Intervallen verglichen werden. Ausgehend von der maximalen Anzahl wird die Produktivität der folgenden Intervalle abgeleitet.

Wie lautet die maximale Anzahl der Werkstücke in einem Intervall?

Technische Bauteile:

Dieses Netzwerk analysiert den Vakuumdruck des Pickers und gibt eine Warnung oder Alarm Meldung aus, wenn der Lebenszyklus von der Vakuum-Ansauge unter definierte Schwellwerte fällt.

Wie lange dauert es bis zu einer Warnung?

SPS-Codegenerierung und HMI

Nach Abschluss der Analyse in der Analytics Workbench können Sie SPS-Code und ein HMI-Dashboard generieren (siehe auch: 24-stündige Anwendung von Analytics):

1. Mit einem Doppelklick auf den Projekt Knoten öffnet sich die Übersichtsseite. Dort wählen Sie deploy Runtime aus

2. Es öffnet sich der Deploy Wizard, der Sie Schritt für Schritt anleitet. Soweit keine individuellen Einstellungen gewünscht sind, können Sie einfach fortfahren.

3. Optional: Wählen Sie in der Registerkarte PLC einen CPU-Kern aus, auf dem die Analyse ausgeführt werden soll. Für die Ausführung in einer virtuellen Maschine muss ein isolierter Kern ausgewählt werden.

4. In der Registerkarte HMI Dashboard aktivieren Sie die Generierung. Passen Sie das Design nach Ihrem Geschmack an.

5. Nach abschließender Bestätigung über den Deploy Taster öffnet sich eine neue Entwicklungsumgebung. Es werden ein TwinCAT XAE Projekt und ein TwinCAT HMI Projekt automatisch generiert.

6. Am Ende der Generierung öffnet sich ihr Dashboard im Browser. Sie können ihre ursprünglichen Netzwerke über die Navigation betrachten.

7. Damit Sie ihre historischen Daten analysieren können, müssen Sie die Analyse starten. Dafür öffnen Sie das entsprechende Optionselement über das dritte Icon von oben rechts.

8. Wählen Sie den zu analysierenden Zeitbereich Ihrer aufgezeichneten Daten aus und starten Sie die Aufnahme, um die Analyseergebnisse zu verfolgen.

Pick-and-place-Anwendung 3:
Pick-and-place-Anwendung 4:
Pick-and-place-Anwendung 5:

Download der fertigen SPS-Code-Generierung

Falls Sie sich nur ein fertig generiertes Analytics SPS-Projekt mit der zugehörigen HMI anschauen möchten, ist auch dafür ein Download (Sample_Analysis_PickNPlace_PLC) verfügbar. Um dieses Projekt auch lauffähig zu haben, müssen das Main Topic und die Identifikations-GUID des Storage Providers im Code angepasst werden. Entsprechende Warnungen werden ausgegeben, wodurch Sie innerhalb von TwinCAT bequem zur entsprechenden Stelle navigieren können. Dort finden Sie auch Hinweise, wo die Informationen verfügbar sind.

Downloads