plc designer v3 -...

99
L Ä.OIrä 13464081 PLC Designer Engineering Tools Application Template PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Softwarehandbuch DE

Upload: nguyendieu

Post on 04-Jun-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

L

Ä.OIrä

1346

4081

PLC Designer

Engineering Tools

Application Template PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Softwarehandbuch DE

Page 2: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

2 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1 Über diese Dokumentation _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 41.1 Dokumenthistorie _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 61.2 Verwendete Konventionen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 71.3 Verwendete Hinweise _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 81.4 Verwendete Begriffe (geordnet nach der Reihenfolge in der Geräte-Ansicht) _ _ _ _ _ _ _ _ _ _ _ _ 9

2 Sicherheitshinweise _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 10

3 Voraussetzungen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 113.1 Systemvoraussetzung _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 113.2 Kommunikation zum Controller einrichten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 11

4 Was ist das ApplicationTemplate PackML? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 134.1 Ziele des ApplicationTemplate PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 134.2 Eigenschaften des ApplicationTemplate PackML im Überblick _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 144.3 Elemente des ApplicationTemplate PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 15

4.3.1 Maschinenmodulbaum (MachineModuleTree - MMT) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 154.3.2 Maschinenmodule (MM) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 164.3.3 Adressierung der Maschinenmodule _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 174.3.4 Modulapplikation (MAP) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 174.3.5 Modes: Betriebsarten der Maschine _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 184.3.6 Kommunikation zwischen den Maschinenmodulen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 18

4.3.6.1 Vordefinierte Betriebsarten in ModApp1 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 204.3.6.2 Eigene Modes anlegen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 21

4.3.7 Statemachine (Zustandsmaschine) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 234.3.7.1 Zustandsübergänge - Übersicht _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 234.3.7.2 Methoden zum Umschalten der Zustände _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 24

4.3.8 Alarmhandling (Fehlerbehandlung) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 24

5 Das Automationssystem strukturieren: Prinzipielle Vorgehensweise _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 255.1 Das Automationssystem modularisieren - Vorgehensweise _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 275.2 Strukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen _ _ _ _ _ 28

6 Übersicht - Die Ordnerstruktur im ApplicationTemplate PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 30

7 Das ApplicationTemplate PackML öffnen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 327.1 Neues Projekt erstellen - ApplicationTemplate PackML öffnen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 337.2 Controller im Projekt aktualisieren (optional) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 347.3 Online gehen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 34

7.3.1 Projektdaten übersetzen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 347.3.2 Projekt in die Steuerung übertragen - "Einloggen" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 34

7.4 PLC-Programm laden und starten _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 347.5 Erste Schritte - Das ApplicationTemplate PackML bedienen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 367.6 Visualisierung der Maschinenmodule _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 37

8 Arbeiten mit dem ApplicationTemplate PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 388.1 Realen Maschinenaufbau abbilden : Geräte anhängen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 398.2 Maschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen _ _ _ _ _ _ _ _ _ _ _ _ _ 428.3 Maschinenmodule in den MMT einbinden _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 438.4 Zuordnen der Modulapplikation (ModApp) zur Task _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 448.5 Create MM Instance: Instanzen eines Maschinenmoduls erstellen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 468.6 Delete Machine Module: Instanzen eines Maschinenmoduls entfernen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 478.7 Maschinenmodule entfernen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 488.8 Modulkennung _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 488.9 Achse einfügen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 50

Inhalt

Page 3: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 3

Inhalt

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.10 I/O-Module des I/O-System 1000 mit einem Maschinenmodul einbinden _ _ _ _ _ _ _ _ _ _ _ _ _ 528.11 Modulapplikationen erstellen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 54

8.11.1 Innerhalb der Modulapplikation programmieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 558.11.2 Modulapplikation einbinden _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 56

9 Architektur: Das ApplicationTemplate PackML im Detail _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 599.1 Auf Strukturvariablen von Maschinenmodulen zugreifen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 59

9.1.1 Auf moduleigene Strukturvariablen zugreifen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 599.1.2 User Tags: Eigene Datenelemente definieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 609.1.3 Auf Strukturen von anderen Maschinenmodulen zugreifen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 61

9.2 Die Struktur AppChannelData (ACD) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 619.2.1 ACD-Struktur im MFB deklarieren/registrieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 629.2.2 Auf die ACD-Struktur des Mastermoduls zugreifen - Mit der Modulapplikation des MFB _ 629.2.3 Auf die ACD-Struktur der Slavemodule zugreifen - Mit den Modi des Mastermoduls _ _ _ 639.2.4 Die Struktur MachineModuleData (MMD) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 64

9.3 Statemachine (Zustandsmaschine) im Detail _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 659.3.1 Zustandsübergänge und Bedingungen - Übersicht _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 669.3.2 Methoden zum Umschalten der Zustandsübergänge/Transitionen _ _ _ _ _ _ _ _ _ _ _ _ 669.3.3 Die Zustandsübergänge im Detail: Methode Command_CtrlCmds() _ _ _ _ _ _ _ _ _ _ _ _ 689.3.4 Die möglichen Zustände im Detail _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 69

9.4 Standardkopplung der Maschinenmodule _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 719.4.1 Vordefinierter Standardmechanismus der Zustandsmaschine _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 71

9.4.1.1 Die Methode Command_DisableModule: Module entkoppeln _ _ _ _ _ _ _ _ _ 729.4.1.2 Erneutes Ankoppeln von Maschinenmodulen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 72

9.5 Zustandsübergänge beeinflussen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 739.6 Zustandsmaschine: Abfragebeispiele _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 739.7 Wo ist das Verhalten eines Maschinenmoduls programmierbar? _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 75

9.7.1 Zustandsübergang (State-Entry/State-Exit) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 759.8 Alarmhandling (Fehlerbehandlung) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 76

9.8.1 Alarme definieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 769.8.2 Alarme quittieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 779.8.3 Alarme quittieren: Reaktion im Maschinenmodul _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 77

9.9 Alarme auslösen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 789.10 Zentrales Verwalten von Alarmen _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 799.11 Der Baustein Alarminformation _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 809.12 Übersicht der Alarme von allen Maschinenmodulen exportieren: CSV-Datei _ _ _ _ _ _ _ _ _ _ _ _ 809.13 Logbuch _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 819.14 Moduldiagnose _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 829.15 Multitasking _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 829.16 Konsistente Datenübertragung _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 84

10 Visualisieren im ApplicationTemplate PackML _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8610.1 Die Visualisierung erweitern _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8610.2 Eigenschaften von Schaltflächen definieren _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 8810.3 Eine Visualisierung hinzufügen: Prinzipielle Vorgehensweise _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 89

11 Die Methoden im Überblick _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 9111.1 Die Admin-Methoden im Überblick: Admin_xxx _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 9111.2 Die Command- Methoden im Überblick: Command_xxx _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 9211.3 Die Status-Methoden im Überblick: Status_xxx _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 93

Ihre Meinung ist uns wichtig _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 98

Page 4: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Über diese Dokumentation

4 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1 Über diese Dokumentation

Diese Dokumentation beschreibt die Funktionsweise der Lenze-Applikationsvorlage "Application-Template PackML", um auf Basis dieser Vorlage ein Lenze-Automationssystems programmieren zukönnen. Das verwendete Automationssystem "Controller-based Automation" besteht aus einemLenze-Controller und über das Bussystem angeschlossene Antriebskomponenten.

Tipp!

Informationen und Hilfsmittel zu Lenze-Produkten finden Sie im Download-Bereich unter:http://www.Lenze.com

Das vorliegende Handbuch ordnet sich in die Handbuchsammlung "Controller-based Automation"ein. Die Handbuchsammlung besteht aus folgenden Dokumentationen:

Hinweis!

Diese Dokumentation ergänzt die Onlinehilfe zum »PLC Designer«.

Dokumentationstyp Thema

Systemhandbücher Systemübersicht/Beispieltopologien• "Controller-based Automation"• Visualisieren

Kommunikationshandbücher Bussysteme• "Controller-based Automation" EtherCAT®• "Controller-based Automation" CANopen®• "Controller-based Automation" PROFIBUS®• "Controller-based Automation" PROFINET®

Onlinehilfen/Softwarehandbücher

Lenze Engineering Tools• »PLC Designer«: Programmieren• »Engineer«: Antriebsregler konfigurieren• »VisiWinNET® Smart«: Visualisieren• »Backup & Restore«: Daten sichern/wiederherstellen

Page 5: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 5

Über diese Dokumentation

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Weitere Technische Dokumentationen zu Lenze-Produkten

Weitere Informationen zu Lenze-Produkten, die in Verbindung mit der "Controller-based Automati-on" verwendbar sind, finden Sie in folgenden Dokumentationen:

Zielgruppe

Diese Dokumentation richtet sich an alle Personen, die ein Lenze-Automationssystem auf Basis derLenze-Applikationsvorlage "ApplicationTemplate PackML" im Rahmen der "Controller-based Auto-mation" projektieren, in Betrieb nehmen und programmieren.

Screenshots/Anwendungsbeispiele

Alle Screenshot in dieser Dokumentation sind exemplarische Anwendungsbeispiele. Je nach Firm-ware-Version der Lenze-Geräte und Software-Version der installierten Engineering-Tools (hier: »PLCDesigner«) kann die Darstellung von der tatsächlichen Bildschirm-Darstellung abweichen.

Montieren & Verdrahten Symbole

Montageanleitungen• Controller• Kommunikationskarten (MC-xxx)• I/O-System 1000 (EPM-Sxxx)• Inverter• Kommunikationsmodule

Gedruckte DokumentationOnlinehilfe im Lenze Engineering Tool/Softwarehandbücher und Kommunikationshandbücher sind als PDF-Datei im Internet verfügbar.

Beispielapplikationen/Applikationsvorlage verwenden

Onlinehilfe/Softwarehandbücher• Application Sample i700• Application Samples• ApplicationTemplate• ApplicationTemplate PackML

Parametrieren, Konfigurieren, in Betrieb nehmen

Onlinehilfe/Softwarehandbücher• Controller• Servo-Inverter i700• Servo Drive 9400 HighLine/PLC/

Versorgungs- und Rückspeisemodul• Inverter Drive 8400 StateLine/HighLine/TopLine• I/O-System 1000 (EPM-Sxxx)

Onlinehilfe/Kommunikationshandbücher• Bussysteme• Kommunikationsmodule

Page 6: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Über diese DokumentationDokumenthistorie

6 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Informationen zur Gültigkeit

Die Informationen in dieser Dokumentation sind gültig für folgende Lenze-Software:

Gültig für folgende Lenze-Applikationsvorlage:

• Applikations-Vorlage "Application Template PackML" nach PackML-Standard: L_ApplicationTemplate PackML

1.1 Dokumenthistorie

Software ab Softwarestand

»PLC Designer« 3.8

Version Beschreibung

1.0 05/2014 TD11 Erstausgabe

Page 7: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7

Über diese DokumentationVerwendete Konventionen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1.2 Verwendete Konventionen

Diese Dokumentation verwendet folgende Konventionen zur Unterscheidung verschiedener Artenvon Information:

Informationsart Auszeichnung Beispiele/Hinweise

Zahlenschreibweise

Dezimaltrennzeichen Punkt Es wird generell der Dezimalpunkt verwendet.Zum Beispiel: 1234.56

Textauszeichnung

Versionsinfo Textfarbe blau Alle Informationen, die nur für oder ab einem bestimmten Softwarestand des Antriebsreglers gelten, sind in dieser Do-kumentation entsprechend gekennzeichnet.Beispiel: Diese Funktionserweiterung ist ab dem Software-stand V3.0 verfügbar!

Programmname » « »PLC Designer«...

Fensterbereich kursiv Das Meldungsfenster... / Das Dialogfeld Optionen...

Variablenbezeichner Durch Setzen von bEnable auf TRUE...

Steuerelement fett Die Schaltfläche OK... / Der Befehl Kopieren... / Die Register-karte Eigenschaften... / Das Eingabefeld Name...

Folge von Menübefehlen Sind zum Ausführen einer Funktion mehrere Befehle nachei-nander erforderlich, sind die einzelnen Befehle durch einen Pfeil voneinander getrennt: Wählen Sie den Befehl DateiÖffnen, um...

Tastaturbefehl <fett> Mit <F1> rufen Sie die Onlinehilfe auf.

Ist für einen Befehl eine Tastenkombination erforderlich, ist zwischen den Tastenbezeichnern ein "+" gesetzt: Mit <Shift>+<ESC>...

Hyperlink unterstrichen Verweis auf weiterführenden Informationen: Hyperlink zu weiterführenden Informationen.

Symbole

Seitenverweis ( 7) Verweis auf weiterführenden Informationen: Seitenzahl in PDF-Datei.

Schrittweise Anleitung Schrittweise Anleitungen sind durch ein Piktogramm ge-kennzeichnet.

Page 8: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Über diese DokumentationVerwendete Hinweise

8 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1.3 Verwendete Hinweise

Um auf Gefahren und wichtige Informationen hinzuweisen, werden in dieser Dokumentation fol-gende Signalwörter und Symbole verwendet:

Sicherheitshinweise

Aufbau der Sicherheitshinweise:

Anwendungshinweise

Piktogramm und Signalwort!

(kennzeichnen die Art und die Schwere der Gefahr)

Hinweistext

(beschreibt die Gefahr und gibt Hinweise zur Abhilfe.)

Piktogramm Signalwort Bedeutung

Gefahr! Gefahr von Personenschäden durch elektrische SpannungHinweis auf eine unmittelbar drohende Gefahr, die den Tod oder schwere Verletzungen zur Folge haben kann, wenn nicht die entsprechenden Maß-nahmen getroffen werden.

Gefahr! Gefahr von Personenschäden durch eine allgemeine GefahrenquelleHinweis auf eine unmittelbar drohende Gefahr, die den Tod oder schwere Verletzungen zur Folge haben kann, wenn nicht die entsprechenden Maß-nahmen getroffen werden.

Stop! Gefahr von SachschädenHinweis auf eine mögliche Gefahr, die Sachschäden zur Folge haben kann, wenn nicht die entsprechenden Maßnahmen getroffen werden.

Piktogramm Signalwort Bedeutung

Hinweis! Wichtiger Hinweis für die störungsfreie Funktion

Tipp! Nützlicher Tipp für die einfache Handhabung

Verweis auf andere Dokumentation

Page 9: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 9

Über diese DokumentationVerwendete Begriffe (geordnet nach der Reihenfolge in der Geräte-Ansicht)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1.4 Verwendete Begriffe (geordnet nach der Reihenfolge in der Geräte-Ansicht)

Begriff/Abkürzung Position in der Geräte-Ansicht Funktion

MaschinenmodulbaumMMT A10_MachineModuleTree

Der Maschinenmodulbaum "MachineModuleTree" (MMT) bildet die Struktur des Automationssys-tems in Form von Maschinenmodulen ab.

• Im "MachineModulTree" sind alle für die Ma-schine erforderlichen Maschinenmodule ent-sprechend des mechtronischen Zusammenwirkens hierarchisch verschaltet.

ModuleApplicationCalls MAC A11_ModuleAppCalls

Innerhalb der "ModuleApplicationCalls" sind die Modulapplikationen der entsprechenden Task zu-zuordnen.

• Dadurch ist definiert, welche Modulapplikation in welcher Task abzuarbeiten ist.

MaschinenmodulMM A70_MachineModuleSources

Ein Maschinenmodul bildet eine Einheit des realen Maschinenaufbaus im »PLC Designer« ab.

• Das Maschinenmodul ist Bestandteil des Ma-schinenModulTree(MMT), in dem die einzelnen Maschinenmodule miteinander verschaltet sind.

Maschinenmodulappli-kationModApp/MAP

Die Maschinenmodulapplikation stellt die Funktio-nalität eines Maschinenmoduls bereit.

• Ein Maschinenmodul kann eine oder mehrere Maschinenmodulapplikationen enthalten.

Maschinenfunktionsbau-steinMFB

Der MaschinenFunktionsBaustein repräsentiert das Machinenmodul im Maschinenmodulbaum/MachineModuleTree (MMT).

Page 10: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Sicherheitshinweise

10 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

2 Sicherheitshinweise

Beachten Sie die folgenden Sicherheitshinweise, wenn Sie mit einen Antriebsregler bzw. eineAnlage in Betrieb nehmen möchten.

Lesen Sie die zum Antriebsregler bzw. zu den einzelnen Komponenten der Anlage mitgelieferte Dokumentation sorgfältig durch, bevor Sie mit der Inbetriebnahme der Geräte beginnen!

Die Gerätedokumentation enthält Sicherheitshinweise, die beachtet werden müssen!

Gefahr!

Nach heutiger wissenschaftlicher Erkenntnis ist es nicht möglich, die absolute Fehlerfreiheit einer Software sicherzustellen.

Sie müssen Anlagen mit eingebauten Antriebsreglern ggf. mit zusätzlichen Überwachungs- und Schutzeinrichtungen nach den jeweils gültigen Sicherheitsbestimmungen ausrüsten (z. B. Gesetz über technische Arbeitsmittel, Unfallverhütungsvorschriften), damit ein unzulässiger Betriebszustand zu keiner Gefährdung von Personen oder Einrichtungen führt.

Während der Inbetriebnahme dürfen sich keine Personen ohne ausreichenden Sicherheitsabstand in der Nähe des Motors oder den vom Motor angetriebenen Maschinenteilen aufhalten, da ansonsten eine Verletzungsgefahr durch bewegte Maschinenteile besteht.

Stop!

Wenn Sie im »PLC Designer« Parameter ändern, während eine Online-Verbindung zum Gerät besteht, werden die Änderungen direkt in das Gerät übernommen!

Eine falsche Parametrierung kann zu nicht vorhersehbaren Motorbewegungen führen. Durch ungewollte Drehrichtung, zu hohe Geschwindigkeit oder ruckhaftem Lauf können angetriebene Maschinenteile beschädigt werden!

Page 11: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 11

VoraussetzungenSystemvoraussetzung

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

3 Voraussetzungen

3.1 Systemvoraussetzung

[3-1] Beispielkonfiguration mit einem Controller 3200 C

3.2 Kommunikation zum Controller einrichten

• Verbinden Sie den Engineering-PC über ein Netzwerkkabel mit dem Controller. Der »PLC Designer« greift via Ethernet auf den Controller zu.

• Die IP-Einstellungen sind mit dem »PLC Designer« vorzunehmen.

So überprüfen Sie die Kommunikationseinstellungen:

1. In der Geräte-Darstellung den gewünschten Controller doppelklicken.

2. Gewünschte Einstellungen auf der Registerkarte Kommunikationseinstellungen vornehmen.• Schaltfläche Gateway hinzufügen betätigen, um einen Gateway einzuzufügen.

Engineering-PC Controller

Hardware PC/Notebook PLC (Logic) ab Firmware V3.8

Betriebssystem Windows XP Windows CE

Erforderliche Lenze-Software »PLC Designer« ab V3.8• Enthält das ApplicationTemplate

PackML• Enhält die Lenze-Bibliothek

"L_EATP_ApplicationTemplate.compiled-library"

Runtime Software• Logic• Motion (dazu sind die

Projektinformationen zu aktualisieren: "Geräte aktualisieren" )

Sonstiges - Je nach Anwendungsfall:• CAN-/EtherCAT-Bussystem• CAN-/EtherCAT-Busteilnehmer

Page 12: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

VoraussetzungenKommunikation zum Controller einrichten

12 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Gewünschte IP-Adresse des Controllers eingeben.

[3-2] Beispiel: IP-Adresse des Controllers eingeben, Standardeinstellung: 192.168.5.99

3. Schaltfläche OK betätigen, um den Controller als Gateway hinzuzufügen.

4. Durch Doppelklicken auf den gewünschten Kanal (oder Betätigen der Schaltfläche Aktiven Pfad setzen) in der Geräte-Ansicht unterhalb des Gateways ausgewählten Kanal als aktiven Pfad zum Controller setzen.• Dadurch beziehen sich alle Kommunikationsaktionen direkt auf diesen Kanal.• Der gerade aktive Pfad wird in der Liste fett dargestellt und "(aktiv)" wird angehängt:

5. Ein in Kursivschrift dargestelltes Gerät ist als aktiver Pfad gesetzt, wurde aber beim letzten Netzwerk-Scan nicht identifiziert.

Hinweis!

Beachten Sie bei der Erst-Inbetriebnahme die vordefinierte IP-Adresse: 192.168.5.99

Weiterführende Informationen finden Sie in folgender Dokumentation:

Controller - Parametrieren & Konfigurieren

Page 13: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 13

Was ist das ApplicationTemplate PackML?Ziele des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4 Was ist das ApplicationTemplate PackML?

Das Lenze ApplicationTemplate PackML ist eine Applikationsvorlage zum standardisierten,übersichtlichen Programmieren im »PLC Designer« nach PackML-Standard gemäß der OMAC ("TheOrganization for Machine Automation and Control").

• Ab »PLC Designer« Version 3.8 ist das ApplicationTemplate PackML als Projektvorlage enthalten. Neues Projekt erstellen - ApplicationTemplate PackML öffnen ( 33)

• Die Bibliothek L_EATP_ApplicationTemplate.compiled-library enthält den Aufbau und die Funktionalität der standardisierten Lenze-Applikationsvorlage (ApplicationTemplate) und die Erweiterung für das ApplicationTemplate PackML.

4.1 Ziele des ApplicationTemplate PackML

Das ApplicationTemplate PackML...

• ...hilft, die mechatronische Struktur eines Automationssystems modularisiert nach dem PackML-Standard umzusetzen. Dazu ist es hilfreich, im Vorfeld den Aufbau der Maschinen als Baumstruktur umzusetzen.

• ...ermöglicht das Einbinden von vordefinierten Maschinenmodulen mit vorbereiteten Applikationen/Technologiemodulen (beispielsweise die Funktionalität zum Querschneiden).

• ...vereinfacht und beschleunigt das Erstellen von PLC-Programmen nachhaltig durch das Wiederverwenden eines einheitlichen Projektaufbaus in Form einer modularisierten Ordnerstruktur.

Welche Vorteile bietet das ApplicationTemplate PackML?

Das ApplicationTemplate PackML gestaltet das Programmieren mit dem »PLC Designer«übersichtlicher...

• ....durch die definierte Ordnerstruktur, die "für Ordnung sorgt" und individuell erweiterbar ist.

• ...erleichtert Ihnen die Orientierung beim Erweitern oder Erstellen von Maschinenprogrammen.

Das ApplicationTemplate PackML enthält vorgefertigte, wiederverwendbare Maschinenmoduleund Modulapplikationen, die das Risiko von Kompilierungsfehlern minimieren. Das hilft, Zeit unddamit Kosten zu sparen.

Page 14: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Eigenschaften des ApplicationTemplate PackML im Überblick

14 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4.2 Eigenschaften des ApplicationTemplate PackML im Überblick

Die folgenden, vordefinierten Funktionen erleichtern Ihnen das Umsetzen einerMaschinenapplikation in einer PLC:

Statemachine (Zustandsmaschine) ( 23)

Alarmhandling (Fehlerbehandlung) ( 76)

Multitasking ( 82)

Weitere Vorteile beim Verwenden des ApplicationTemplate PackML:

• Konsistente Datenübertragung zwischen den Tasks.

• Diagnosefunktion für jedes Maschinenmodul ("generische Moduldiagnose").

• Ein fest definiertes Standardverhalten ("DefaultCoupling") der Zustandsmaschine. Standardkopplung der Maschinenmodule ( 71)

Weiterführende Informationen zu der jeweiligen Funktionen finden Sie in dem entsprechendenUnterkapitel.

Page 15: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 15

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4.3 Elemente des ApplicationTemplate PackML

4.3.1 Maschinenmodulbaum (MachineModuleTree - MMT)

Um das gewünschte Automationssystem mit dem ApplicationTemplate PackML im »PLC Designer«abzubilden, ist die Struktur der gesamten Maschinenanwendung im »PLC Designer« zu erstellen.

• Im ersten Schritt ist die elektronische Maschinenstruktur (Gesamtfunktionalität der Maschine) in Maschinenmodule (Teilfunktionen der Maschine) aufzuteilen.

• Der Maschinenmodulbaum A10_MachineModuleTree (MMT) veranschaulicht die Maschinenmodule in Form einer Baumstruktur von links nach rechts.

• Das oberste Modul ist das Maschinensteuermodul. Die Funktionen der Maschine sind dem Maschinensteuermodul untergeordnet.

[4-1] Abbildungsbeispiel: Machinenstrukturbaum (MMT) im ApplicationTemplate, Ordner A10_MachineModuleTree

Das ApplicationTemplate PackML...

• ...unterstützt zwei bis fünf Hierarchie-Ebenen von Maschinenmodulen.

• ...unterstützt bis zu 30 Maschinenmodule.

[4-2] MMT (Machine Module Tree) mit bis zu fünf möglichen Hierarchie-Ebenen von Maschinenmodulen

Page 16: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

16 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4.3.2 Maschinenmodule (MM)

Die Gesamtfunktionalität des Automationssystems ist im ApplicationTemplate PackMLmodularisiert aufgebaut. Das bedeutet, dass jede Teilfunktion der Maschine in jeweils einemMaschinenmodul enthalten ist. Durch den modularen Aufbau ermöglichen die Maschinenmoduledas Wiederverwenden von einzelnen (oder mehreren) Teilfunktionen einer Maschine. Der Vorteil:Die jeweilige Funktion ist für weitere Maschinenteile nicht komplett neu zu erstellen.

• Ein Maschinenmodul bildet die Funktion eines Maschinenteils der Maschine ab, beispielsweise ein Transportband oder einen Querschneider.

• Beispielsweise beinhaltet die Gesamtfunktionalität einer Schlauchbeutelmaschine die Teilfunktionen "Querschneider" und "Transporteinheit". Die beiden Teilfunktionen sind jeweils in ein separates Maschinenmodul zu überführen.

Maschinenmodul im ApplicationTemplate PackML

[4-3] Aufbau eines Maschinenmoduls

• Jedes Maschinenmodul enthält den BaseChannel ("Base Data"), der als Datenkanal für die Basis-Funktionen des ApplicationTemplate PackML dient.

• Basis-Funktionen des ApplicationTemplate PackML sind die Statemachine (Zustandsmaschine) und das Alarmhandling (Fehlerbehandlung).

Jedes Maschinenmodul besitzt eine AppChannelData-Struktur (ACD-Struktur). In einemMaschinenmodul ist eine ACD-Struktur bei Bedarf definierbar.

• Die ACD-Struktur verwaltet das Bereitstellen/Empfangen von Daten für das jeweils übergeordnete Maschinenmodul.

• Über die ACD-Struktursind Prozessdaten zwischen den eigenen Modulapplikationen austauschbar.

Ein Maschinenmodul (MFB) enthält immer mindestens eine Modulapplikation (MAP). Bis zu dreiMAPs pro MFB sind möglich).

• Über die Strukturen MM_IO, MM_Par; MM_Vis, MM_PD ist die Modulapplikation (MAP) an die "Außenwelt" (die jeweilige (Teil-)Funktion des Automationssystems) anzubinden.

• Durch die Struktur MM_IO sind die Ein-/Ausgänge der Klemmen/des Feldbusses zu verknüpfen.

• Die Struktur MM_Par enthält alle Variablen, die mit dem Rezepturverwalter zu verwalten sind.

• Die Struktur MM_Vis enthält alle Variablen, die über eine externe Visualisierung steuerbar/anzuzeigen sind.

• Die Struktur MM_PD enthält alle persistenten Variablen.

Page 17: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 17

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4.3.3 Adressierung der Maschinenmodule

[4-4] Abbildungsbeispiel: Beispieldarstellung MMT im Beispielprojekt L_ApplicationTemplate

Folgendes ist beim relativen Adressieren der Maschinenmodule zu beachten:

• Die relative Adresse ist jedem Maschinenmodul (Wertebereich: 1...29) zuzuweisen.

• Während der Initialisierungsphase generiert der »PLC Designer« für jedes Maschinenmodule eine absolute Adresse.

• Beispiel für die relative und absolute Moduladressierung:

Die Grafik stellt die absolute Modul-Adresse (schwarz) und die relative Modul-Adresse (weiß) dar.

• Im Fehlerfall ermöglicht die absolute Adresse eine Fehleranalyse. Dadurch ist beispielsweise nachvollziehbar, welches Modul den jeweiligen Fehler verursacht hat. Alarmhandling (Fehlerbehandlung) ( 76)

4.3.4 Modulapplikation (MAP)

Die Modulapplikation (MAP) enthält die Funktion des dazugehörigen Maschinenmoduls.

• Das ApplicationTemplate PackML unterstützt bis zu drei Tasks. Dadurch sind bis zu drei MAPS pro Maschinenmodul verwendbar.

Jedes Maschinenmodul hateinen Eingang MM_Address,mit dem Sie demMaschinenmodul die relativeAdresse zuweisen.

Page 18: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

18 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Im Ordner A11_ModuleAppCalls sind die MAPS den Tasks zuzuordnen: ModuleAppCalls (MAC). Zuordnen der Modulapplikation (ModApp) zur Task ( 44)

4.3.5 Modes: Betriebsarten der Maschine

Im ApplicationTemplate PackML sind folgende Maschinenbetriebsarten ("Modes") fest definiert:Producing, Maintenance und Manual. Weitere Modes sind individuell hinzufügbar.

[4-5] Das ApplicationTemplate PackML enthält drei fest definierte Betriebsarten, weitere sind selbst definierbar.

Jeder Mode beinhaltet eine separate Zustandsmaschine.

• Bei Bedarf sind weitere ""user-definded" Mode definierbar. Eigene Modes anlegen ( 21)

• Die Modes und die dazugehörige Zustandsmaschine sind in der Modulapplikation ModApp 1 eingebunden.

• Das Verhalten der Zustände ist im Ordner A12_PackML_Configuration in PackMLConfig definiert. Dort ist beispielsweise festgelegt, welcher State wann aktiv ist und in welchen Zu-ständen ein Umschalten des Modes zulässig ist. Vordefinierte Betriebsarten in ModApp1 ( 20)

• Beim Anlegen eines weiteren Mode sind die gewünschten Eigenschaften der Zustände im Pro-gramm PackMLConfig zu definieren.

4.3.6 Kommunikation zwischen den Maschinenmodulen

Die Maschinenmodule (MM_xxx) kommunizieren über das übergeordnete MaschinensteuermodulMM_Machine mit Hilfe des Kommunikationskanals BaseChannel und der Struktur AppChannelDatamiteinander.

• Die Kommunikationskanäle ermöglichen einen bidirektionalen Datenaustausch.

• Der BaseChannel ist als Struktur im ApplicationTemplate PackML definiert.

Ein oder mehrere Slave-Module sind immer genau mit einem übergeordneten Master-Modulverbunden. Dennoch kommuniziert der Master jeweils immer nur mit einem Slave-Modul. Slave-

Betriebsart "Producing" Betriebsart "Maintenance" Betriebsart "Manual"

Page 19: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 19

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Module können nicht direkt miteinander kommunizieren, sondern über das übergeordneteMastermodul.

Das übergeordnete Maschinenmodul (Master) kommuniziert über Datenkanäle (Channels) mit denuntergeordneten Maschinenmodulen (Slaves). Das ApplicationTemplate PackML enthältBaseChannel und eine AppChannelData(ACD)-Struktur.

[4-6] Informationsaustausch zwischen den Maschinenmodulen (L_ApplicationTemplate)

Bus (Data): Austausch von Steuer- und Zustandsdaten (Basisdaten Control/Status)

Basic functions im ApplicationTemplate PackML sind...

• ...die Steuer-/Statusinformationen der Zustandsmaschine (Statemachine).

• ...das Alarmhandling (Fehlerbehandlung/Fehlerreaktionen).

Die ACD-Struktur...

• ...dient zum Austausch von applikativen Prozessdaten zwischen den Maschinenmodulen.

• ...ist eine Datenstruktur zum Definieren von eigenen Prozessdaten.

Page 20: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

20 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4.3.6.1 Vordefinierte Betriebsarten in ModApp1

Jedes Maschinenmodul enthält die vordefinierten Betriebsarten Producing, Maintenance undManual.

Die Betriebsarten befinden sich in der Maschinenmodulvorlage im Ordner

A66_EmptyModule_PackML ModApp1\Modes.

• Die Modulapplikation App1 enthält die Instanzen der Modebausteine Producing, Maintenance und Manual.

• Der Aufruf der Modebausteininstanzen erfolgt in der Methode Modes.

Wo sind die Betriebsarten konfigurierbar?

Die Konfiguration der Betriebsarten ist im Ordner A12_PackMLConfiguration festgelegt. Dortist beispielsweise festgelegt, welcher Zustand aktiv und in welchen Zuständen ein Umschalten desModes zulässig ist.

Die Mode-FBs sind im MAP-FB im Ordner \ModApp1 deklariert. Aufruf der Mode-FBs in der dazugehörigen Methode Modes

Page 21: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 21

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[4-7] Definierte PackML-Betriebsmodi im Order A12

• In diesem Bereich sind die zu verwendenden Zustände innerhalb der einzelnen Modes definier-bar. Dadurch sind, durch Parametrieren (Beispiel: xDisableState…), individuelle Zustandsma-schine erstellbar, die in jeweils in der PackML-Konfiguration zu definieren sind.

• Die Übergänge der einzelnen Betriebsarten sind ebenfalls an diesem Baustein definierbar. Die dazugehörigen Eingänge (Beispiel: xEnableModeTrans…) ermöglichen das Umschalten der Be-triebsart aus dem jeweiligen Zustand heraus. Der Baustein Base definiert den Initial-Mode und -State. Diese Konfiguration ist in allen Maschinenmodulen der Applikation identisch.

4.3.6.2 Eigene Modes anlegen

Nach Bedarf sind weitere Betriebsarten definierbar.

So legen Sie einen Mode an:

1. Gewünschten Namen für den zusätzlichen Mode im Ordner A71_LocalSources im ENUM L_UserModes_PackML eintragen, durch Ersetzen von UserDefinedxx. Beispiel: Ersetzen von UserDefined01.

2. Eine Instanz erzeugen und die Konfiguration für den neuen Mode einstellen.

Page 22: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

22 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

3. ENUM- Wert für diesen Mode an den Konfigurationsbaustein anfügen.

4. Den neuen Mode in ModApp1 durch Kopieren/Einfügen eines bereits vorhandenen Modes hinzugefügen und passend umbenennen, Beispiel: ExampleMode.

5. Den neu erstellten Mode(FB) im Deklarationsteil der MAP instanziieren:

6. Den zusätzlichen Mode in der Methode Modes ergänzen und den ENUM-Wert des neuen Modes zuweisen.

Umschalten der Betriebsarten

Nachdem der zusätzliche Mode eingebunden ist, sind die Statemachine und das Umschalten derModes mit den PackML-Tags bedienbar.

Page 23: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 23

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Die Methoden im Überblick ( 91)

4.3.7 Statemachine (Zustandsmaschine)

Jedes Maschinenmodul hat jeweils eine eigene Zustandsmaschine. Die Statemachine eines Modesist individuell erstellbar: Durch Deaktivieren einzelner Zustände in der gesamten Statemachine.

Weiterführende Informationen: Statemachine (Zustandsmaschine) im Detail ( 65)

4.3.7.1 Zustandsübergänge - Übersicht

Das folgende Statusdiagramm veranschaulicht die möglichen Zustandsübergänge derStatemachine:

[4-8] Statemachine im ApplicationTemplate PackML

Der jeweils aktuelle Zustand der Statemachine ist rot hinterlegt.

• Aktiver Zustand in der Abbildung: "Idle"/"Leerlauf"

• "Idle" entspricht dem Zustand "Warten", ist daher normalerweise gelb hinterlegt.

Die Farbgebung in der Statemachine unterscheidet folgende Zustände:

• Gelb: Zustand "Warten"/Wait

• Grün: Zustand "Aktiv"/Acting

• Blau: Dualer Zustand (Kann "Warten" oder "aktiv" sein)

Die "wartende" Zustände "Stopped", "Aborted" und "Execute" sind nicht deaktivierbar.

Das Deaktivieren eines Zustands schaltet gleichzeitig dessen dazugehörige (ausgehende) Transitio-nen ab. Sofern es sich um den Zustand "Wait" handelt, schaltet dies auch dessen Zustand "Aktiv" ab.

Methode Beschreibung

Command_UnitMode (eUnitMode:= L_UserModes_PackML.ExampleMode, xUnitMode-Request:=TRUE)

Schaltet einen Mode um, sofern dies zulässig ist.

Status_ModeChangeAllowed (L_UserModes_PackML.ExampleMode)

Prüft, ob ein Umschalten des Modes im aktuellen Zustand zulässig ist.

Page 24: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Was ist das ApplicationTemplate PackML?Elemente des ApplicationTemplate PackML

24 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[4-9] Beispiel: Statemachine mit deaktiviertem Zustand "Complete".

Beispiel: Das Deaktivieren des Zustands "Complete" löscht die dazugehörige Kante "Reset", den Zu-stand "Completing" sowie dessen Postkante.

4.3.7.2 Methoden zum Umschalten der Zustände

Das ApplicationTemplate PackML enthält vordefinierte Methoden, um die Zustände der Statema-chine umschalten zu können. Im folgenden Abschnitt finden Sie eine Übersicht über alle Methoden:Die Methoden im Überblick ( 91)

4.3.8 Alarmhandling (Fehlerbehandlung)

Das ApplicationTemplate PackML enthält ein vordefiniertes Alarmhandling. DieseFehlerbehandlung stellt Mechanismen bereit, mit denen in den Modulapplikationen (ModApps) derMaschinenmodule (MM) Reaktionen (Fehler, Warnungen, Meldungen) definier- und auslösbar sind.

Weitere Mechanismen des Alarmhandlings sind:

• Das Weiterleiten von Fehlerzuständen im MachineModuleTree (MMT).

• Eine (applikations-)globale Fehlerliste mit dem aktuellen Fehlerzustand von allen im MMT eingebundenen Maschinenmodulen.

• Übermitteln von Fehlern und Ereignissen an das zentrale Logbuch des Controllers.

Weiterführende Informationen finden Sie unter: Alarmhandling (Fehlerbehandlung) ( 76)

Page 25: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 25

Das Automationssystem strukturieren: Prinzipielle Vorgehensweise

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

5 Das Automationssystem strukturieren: Prinzipielle Vorgehensweise

Dieser Abschnitt beschreibt die prinzipielle Vorgehensweise, um eine Applikation mit dem »PLCDesigner« auf Basis des ApplicationTemplate PackML zu erstellen.

• Orientieren Sie sich an den nachfolgenden Empfehlungen, um anschließend im »PLC Designer« mit dem ApplicationTemplate PackML strukturiert ein PLC-Projekt zu erstellen und effektiv programmieren zu können.

• Der strukturierte Aufbau des ApplicationTemplate PackMLs (und das "Einhalten"/Fortführen der Strukturen) ermöglicht ein schnelleres Erstellen von Applikationen und damit ein schnelleres Einarbeiten in ein bestehenes PLC-Programm.

[5-1] Empfohlene Vorgehensweise zum effizienten Erstellen eines Projektes.

Page 26: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Das Automationssystem strukturieren: Prinzipielle Vorgehensweise

26 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Schritt Tätigkeit Was ist zu tun? Beschreibung

Verschaffen Sie sich einen Überblick über die Gesamtfunktionalität des Maschinenaufbaus.

• Teilen Sie die Gesamtfunktionalität des Maschineaufbaus in Teilfunktionen auf.

• Überführen Sie die ermittelten Teilfunktionen des Maschinenaufbaus in Maschinenmodule.

In dieser Projektphase ist noch kein Programmieren erforderlich! Das Automationssystem modularisieren - Vorgehensweise ( 27)

Erstellen Sie Maschinenmodule, die jeweils die Teilfunktionen des Maschinenaufbaus enthalten: Eine Teilfunktion = Ein Maschinenmodul

• Um Maschinenfunktionen in verschiedenen Tasks aufrufen zu können, sind entsprechende Modulapplikationen zu erstellen.

• Weiterführende Informationen zum Strukturieren innerhalb einer Modulapplikation: Strukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen ( 28)

• Definieren Sie die Schnittstellen zu den Modulapplikationen (MAPs).

• Erstellen Sie optional die Visualisierung für das jeweilige Maschinenmodul.

• Jedes Maschinenmodul besitzt eine Zustandsmaschine. Die Modulapplikation (MAP) ruft, abhängig vom aktiven Zustand, eine entsprechende Aktion auf. Die Aktion ist der Modulapplikation untergeordnet.

• Erstellen Sie in diesen Aktionen die Logik, die auszuführen ist, wenn sich das MaschinenModul (MM) in dem entsprechenden Zustand befindet.

• Variablen definieren.• Variablen in den Variablenlisten

(MM_IO, MM_Par, MM_Vis, MM_PD) deklarieren

• Neu erstellte Maschinenmodule in den MMT (Maschinenmodulbaum) integrieren.

• Die relative Adresse den Maschinenmodulen zuweisen.

Modulapplikationen erstellen ( 54)

Page 27: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 27

Das Automationssystem strukturieren: Prinzipielle VorgehensweiseDas Automationssystem modularisieren - Vorgehensweise

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

5.1 Das Automationssystem modularisieren - Vorgehensweise

Um das Programmieren einer Maschinenanlage modular zu gestalten, sind die einzelnenTeilfunktionen der Gesamtfunktionalität des Automationssystems in Form vonMaschinenmodulen abzubilden.

Beispiel: Schlauchbeutelmaschine ("Flow Packer")

• Es ist hilfreich, den Maschinenaufbau mit den einzelnen Teilfunktionen in einer Baumstruktur zu skizzieren.

• Die einzelnen Teilfunktionen der Maschine sind dazu in entsprechende Maschinenmodule zu überführen.

• Sofern die einzelnen Teilfunktionen in Form von Maschinenmodulen strukturiert sind, sind die Schnittstellen der Modulapplikation (MAP) zuzuweisen. Maschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen ( 42)

• Die Ein- und Ausgangsvariablen sind zuzuordnen...

...in den Variablenlisten MM_IO, MM_Par, MM_Visu und MM_PD und

...zu den Variablen der AppChannelData (ACD)-Struktur.

Beispiele für Maschinenmodule:

• "Virtual master"

• "infeed" (Einzug)

• "outfeed" (Auszug)

Page 28: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Das Automationssystem strukturieren: Prinzipielle VorgehensweiseStrukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen

28 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

5.2 Strukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen

Um eine Modulapplikation übersichtlich zu gestalten, ist es sinnvoll, die Modulapplikationen(MAPs) in Teilfunktionen zu unterteilen und entsprechend zu strukturieren.

• Jedes Maschinenmodul enthält drei Modulapplikationen MAP 1-3, die jeweils verschieden prio-risierten Tasks zugeordnet sein können.

• Task und Modulapplikation sind im Ordner A11_ModuleAppCalls zugeordnet. Das Zuordnen

ist per Rechtsklick auf den Ordner möglich: Mit Befehl Create Task Call . Zuordnen der Modulapplikation (ModApp) zur Task ( 44)

Im ersten Schritt sind die Funktionen den einzelnen Tasks zuzuordnen. Das ApplicationTemplatePackML unterstützt Multitasking mit drei Tasks. Weiterführende Informationen finden Sie unter:Multitasking ( 82)

Vordefinierte Tasks

Pro Task ist jeweils eine Modulapplikation verwendbar.

• Task und Modulapplikation sind im Ordner A11_ModuleAppCalls zugeordnet.

• Beispielsweise ruft der Programmteil MAC_Task_High alle Modulapplikationen auf, die die

hochpriore Task Task_High durchlaufen sollen.

Task/Priorität Standardwert Verwendbar zum... (Beispiel)

"High"HighPriority

2 ms Ausführen von Motion-Funktionen

"Mid"MidPriority

6 ms Umrechnen für eine externe Visualisierung

"Free"freilaufend

freilaufend Kommunizieren via NRT-Ethernet

Page 29: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 29

Das Automationssystem strukturieren: Prinzipielle VorgehensweiseStrukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[5-2] Beispielprojekt ApplicationTemplate Counter: MAC_Task_High ruft die Modulapplikation Module1_App1 auf.

Page 30: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Übersicht - Die Ordnerstruktur im ApplicationTemplate PackML

30 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

6 Übersicht - Die Ordnerstruktur im ApplicationTemplate PackML

Das ApplicationTemplate PackML ist eine Lenze-Applikationsvorlage, die Ihnen das Programmierenmit dem »PLC Designer« erleichtert. Das ApplicationTemplate PackML hat den folgenden Aufbau:

A10_MachineModuleTree (MMT)Der Maschinenmodulbaum bildet die mechatronische Funktionalität der Maschinenstruktur in Form von Maschinenmodulen (MM) ab.

A11_ModuleAppCalls (MAC)...enthält die Zuordnungen der Modulapplikationen (MAP) zu den Tasks. Zuordnen der Modulapplikation (ModApp) zur Task ( 44)

A12_PackML_Configuration...enthält die Konfiguration der Betriebsarten und der Zu-standsmaschine. Vordefinierte Betriebsarten in ModApp1 ( 20)

A20_Visualisation...enthält die Visualisierungen für die geräteunabhängigen Funktionen. Erste Schritte - Das ApplicationTemplate PackML bedienen ( 36)

A55_VarLists...enthält die Deklarationen der globalen Variablen:

• Verwendete Maschinenmodule: MM_Dcl• IO-Variablen: MM_IO• Parameter: MM_Par• Variablen für eine externe Visualisierung: MM_Vis• Persistente Daten: MM_PD

A66_EmptyModule_PackML• ...enthält die Quelldaten der Maschinenmodule• ...enthält die Vorlage EmptyModule_PackML zum

Erstellen von eigenen Maschinenmodulen. Maschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen ( 42)

A70_MachineModuleSources• ...enthält die selbst erstellten Maschinenmodule. Maschinenmodule (MM) ( 16)

• ...enthält die Visualisierung der Maschinenmodule.

A71_LocalSources...enthält maschinenunabhängige Enumerationen, Funkti-onsbausteine, Strukturen, Visualisierungen.

A75_UserTags...enthält individuell definierbare Datenelemente, die zu-sätzlich programmierbar sind. User Tags: Eigene Datenelemente definieren ( 60)

A90_Resources...enthält die Systeminformationen wie beispielsweise:

• Taskeinstellungen,• Verwendete Bibliotheken,• Rezepturverwalter,• Visualisierungs-Manager.

Page 31: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 31

Übersicht - Die Ordnerstruktur im ApplicationTemplate PackML

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Tipp!

Fassen Sie die „lokalen Quellen“ aus dem Ordner A71_LocalSources in einer Bibliothekzusammen.

Page 32: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Das ApplicationTemplate PackML öffnen

32 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

7 Das ApplicationTemplate PackML öffnen

Prinzipielle Vorgehensweise

Die Hauptschritte sind in der folgenden Tabelle zusammengefasst:

Detaillierte Inbetriebnahmeschritte

Der folgende Abschnitt beschreibt die einzelnen Inbetriebnahmeschritte im Detail.

Folgen Sie den aufgeführten Anweisungen Schritt für Schritt, um Ihr Automationssystem in Betriebzu nehmen.

Schritt Tätigkeit

1. Neues Projekt erstellen - ApplicationTemplate PackML öffnen ( 33)

2. Controller im Projekt aktualisieren (optional) ( 34)

3. Online gehen ( 34)

• Projektdaten übersetzen ( 34)

• Projekt in die Steuerung übertragen - "Einloggen" ( 34)

4. PLC-Programm laden und starten ( 34)

5. Erste Schritte - Das ApplicationTemplate PackML bedienen ( 36)

Weiterführende Informationen zum Parametrieren und Konfigurieren des jeweiligen Bussystems finden Sie in dem zum Bussystem passenden Kommunikationshandbuch.

Page 33: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 33

Das ApplicationTemplate PackML öffnenNeues Projekt erstellen - ApplicationTemplate PackML öffnen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

7.1 Neues Projekt erstellen - ApplicationTemplate PackML öffnen

Das ApplicationTemplate PackML ist als Projektvorlage (*.project, ) im »PLC Designer« ab Version3.8 enthalten. Um das ApplicationTemplate PackML aufzurufen, ist ein neues Projekt mit demApplicationTemplate PackML als Vorlage zu erstellen.

So gehen Sie vor:

1. Neues Projekt erstellen:

• Datei Neues Projekt• Kategorie Lenze Application Template PackML wählen• Die Vorlage L_ApplicationTemplate_PackML öffnen

Welche Vorlage möchten Sie verwenden?

Funktion

ApplicationTemplate PackML Die Lenze-Applikationsvorlage L_ApplicationTemplatePackML enthält einen von Lenze vordefinierten Aufbau, der es ermöglicht...

• ...Applikationen nach PackML-Standard durch eine definierte Ordnerstruktur zu erstellen.

• ...Applikationen mit Hilfe von Maschinenmodulen zu strukturieren.

Page 34: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Das ApplicationTemplate PackML öffnenController im Projekt aktualisieren (optional)

34 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

7.2 Controller im Projekt aktualisieren (optional)

In welchen Fällen ist das Projekt zu aktualisieren?

Der Controller ist im »PLC Designer« zu aktualisieren, wenn...

• ...das Projekt ältere Firmware-Informationen enthält als die zu verwendende Hardware oder

• ...ein anderer Controller als der eingebundene Controller 3200 C gewünscht ist (Beispiel: p500).

Sofern der Controller nach dem Öffnen des Projektes mit dem Symbol gekennzeichnet ist, sinddie Geräteinformationen des »PLC Designer«-Projektes zu aktualisieren.

Firmware des Controllers ermitteln

So gehen Sie vor:

• Überprüfen Sie mit der »WebConfig«, welche Firmware der Controller verwendet, um anschließend die passenden Geräteinformationen im »PLC Designer« auszuwählen.

7.3 Online gehen

Um eine Onlineverbindung zum Controller aufbauen zu können, ist vorab die Inbetriebnahme derKommunikationseinstellungen (Aktiven Pfad setzen) erforderlich. Kommunikation zumController einrichten ( 11)

7.3.1 Projektdaten übersetzen

Um die Projektdaten zu übersetzen, wählen Sie den Menübefehl ErstellenÜbersetzen, oderbetätigen Sie die Funktionstaste <F11>.

• Treten beim Übersetzen Fehler auf, sind diese anhand der »PLC Designer«-Fehlermeldungen zu lokalisieren und entsprechend zu korrigieren. Übersetzen Sie danach die Projektdaten erneut.

• Treten beim Übersetzen keine Fehler auf, ist das »PLC Designer«-Projekt zu speichern:

Datei Projekt speichern

7.3.2 Projekt in die Steuerung übertragen - "Einloggen"

Das gewünschte Projekt ist auf das PLC-Gerät durch "Einloggen" in den Controller zu übertragen:

Den Menübefehl Online Einloggen aufrufen.

7.4 PLC-Programm laden und starten

• Das PLC-Programm auf den Controller laden: Menübefehl OnlineLaden aufrufen.

Hinweis!

Zum "Einloggen" muss das PLC-Programm fehlerfrei sein. Dazu muss der Menübefehl ErstellenÜbersetzen (F11) ohne Fehlermeldung durchführbar sein.

Page 35: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 35

Das ApplicationTemplate PackML öffnenPLC-Programm laden und starten

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Das PLC-Programm starten: Menübefehl OnlineStart aufrufen.

• Alternativ können Sie den Menübefehl DebugStart ausführen oder <F5> drücken.

Tipp!

Um ein Projekt nach dem Neustart eines Gerätes automatisch zu laden, ist dies als "Boot-Projekt" definierbar.

Projekt als Bootapplikation einrichten

So richten Sie das Projekt als Boot-Projekt ein:

1. Wählen Sie den Menübefehl OnlineErzeuge Bootapplikation für L-force Controller.

Page 36: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Das ApplicationTemplate PackML öffnenErste Schritte - Das ApplicationTemplate PackML bedienen

36 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

7.5 Erste Schritte - Das ApplicationTemplate PackML bedienen

In der Geräte-Ansicht ist der Ordner A20_Visualisation auszuwählen: Visualisierung L_Maindoppelklicken.

Startseite - Visualisierung L_Main

Die Bedienoberfläche der Visualisierung gliedert sich in folgende Bereiche:

[7-1] Beispiel: ApplicationTemplate Counter mit zwei Maschinenmodulen (Module 1, Module 2)

Maschinenmodul wählen Statemachine/AdminTags/Alarmhandling auswählen

Detailansicht der Maschinenmodule Zustände aktivieren

Globale Alarmübersicht wählen Alarme quittieren

Statemachine (Zustandsmaschine) Modes aktivieren

Page 37: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 37

Das ApplicationTemplate PackML öffnenVisualisierung der Maschinenmodule

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

7.6 Visualisierung der Maschinenmodule

• Ist beispielweise Machine Control ausgewählt, sind über die Felder Al[01...04] von L_EATP_Alarm_PackML Alarme auslösbar.

• Mögliche Reaktionen (Reac.) sind: Abort, Stop, Error, SystemFault, Warning, Information.

• Das Maschinenmodul gibt den Reaktionstyp an das übergeordnete Maschinenmodul weiter. Die gewünschte Reaktion auf den Alarm ist individuell programmierbar, außer für die Kommandos Abort/Stop.

• Sofern keine Fehlerreaktion programmiert ist, bleibt die Statemachine im aktuellen Zustand.

• Die Schaltfläche Modules ruft die Detailansicht zu den Maschinenmodulen auf.

• Klicken Sie auf das gewünschte Maschinenmodul, um den jeweiligen Zustand und weitere Details anzuzeigen.

• Alle Alarmmeldungen sind in der globalen Alarmliste sichtbar, die über die Schaltfläche Alarm List aufrufbar ist. Die globale Alarmliste liefert einen Überblick über alle aufgetretenen Alarme.

• Die Schaltfläche Alarm Quit ist zu betätigen, um den Fehler zurückzusetzen. Die Ursache für die Auslösung ist zu beheben. Anschließend ist der entsprechende Alarm zurücksetzbar.

Page 38: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackML

38 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8 Arbeiten mit dem ApplicationTemplate PackML

In diesem Kapitel erfahren Sie, wie Sie mit der Maschinenmodul-Vorlage EmptyModule_PackML imApplicationTemplate PackML Maschinenmodule erstellen. EmptyModule_PackML ist eine Vorlage,die das Erstellen von eigenen Maschinenmodulen erleichtert.

Programmieren mit dem ApplicationTemplate PackML: Was ist zu tun?

Schritt Tätigkeit Detailinformationen

1. Das Automationssystem strukturieren• Die Gesamt-Funktionalität

(Maschinenapplikation) des Automationssystems ist modular abzubilden:Eine Teilfunktion = ein Maschinenmodul

• In dieser Projektphase ist noch kein Programmieren erforderlich!

Das Automationssystem modularisieren - Vorgehensweise ( 27)

2. Das ApplicationTemplate PackML starten Das ApplicationTemplate PackML öffnen ( 32)

3. Projekt aktualisieren (optional)• Versionsstand der Geräteinformationen im

»PLC Designer«-Projekt mit dem Firmwarestand des Controllers abgleichen.

• Sofern gewünscht, einen anderen Controller in das Projekt einbinden, enthalten ist der 3200 C.

Controller im Projekt aktualisieren (optional) ( 34)

4. Realen Maschinenaufbau im »PLC Designer« abbilden

Realen Maschinenaufbau abbilden : Geräte anhängen ( 39)

6. Eigene Maschinenmodule erstellen/einbinden Maschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen ( 42)

7. Geräte einbinden Achse einfügen ( 50)

I/O-Module des I/O-System 1000 mit einem Maschinenmodul einbinden ( 52)

Modulapplikation einbinden ( 56)

8. Online gehen Online gehen ( 34)

9. PLC-Programm starten PLC-Programm laden und starten ( 34)

Page 39: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 39

Arbeiten mit dem ApplicationTemplate PackMLRealen Maschinenaufbau abbilden : Geräte anhängen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.1 Realen Maschinenaufbau abbilden : Geräte anhängen

Das ApplicationTemplate PackML enthält eine vordefinierte Struktur, die um die individuellenAnforderungen erweiterbar ist. Führen Sie folgende Schritte durch, um den realenMaschinenaufbau abzubilden.

So erstellen Sie die Steuerungskonfiguration im »PLC Designer«:

1. Im Kontextmenü des Zielsystems mit dem Befehl Gerät anhängen die

Steuerungskonfiguration mit "EtherCAT Master" erweitern.

Hinweis!

Beachten Sie vor dem Aufbau einer EtherCAT-Konfiguration im »PLC Designer« folgende Bedingungen:• Die Reihenfolge der EtherCAT-Slaves in der Geräte-Ansicht muss der physikalischen

Anordnung der EtherCAT-Topologie entsprechen.• Wählen Sie die Zykluszeiten gemäß den technischen Daten von 1 ... 10 ms.

Page 40: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLRealen Maschinenaufbau abbilden : Geräte anhängen

40 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

2. Unter dem EtherCAT-Master einen EtherCAT-Slave anhängen: Per Rechtsklick auf den

EtherCAT-Master Gerät anhängen:

Wählen Sie aus Auswahlliste das gewünschte Gerät.

Der »PLC Designer« bietet einen "Feldbus-Scan" an, der die am Feldbus angeschlossenen Geräte automatisch erkennt.

Weiterführende Informationen finden Sie im Abschnitt "Controller-based Automation EtherCAT" der Onlinehilfe zum »PLC Designer« sowie im Kommunikationshandbuch(KHB) Controller-based Automation EtherCAT

Wiederholen Sie den Befehl Gerät anhängen solange, bis alle am Feldbus teilnehmenden Slaves in die Geräte-Ansicht eingebunden sind.

Page 41: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 41

Arbeiten mit dem ApplicationTemplate PackMLRealen Maschinenaufbau abbilden : Geräte anhängen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

3. Den eingefügten Slaves eindeutige Bezeichnungen geben(Beispiel: "L_94_HL_ActuatorSpeed").

Die Bezeichnungen sind frei wählbar und dürfen …• nur die Zeichen "A ... Z", "a ... z", "0 ... 9" oder "_" enthalten;• nicht mit einer Ziffer beginnen.

Durch einen Mausklick auf das Element wird die Bezeichnung zur Eingabe freigegeben.

Beispiel:

4. Zykluszeit einstellen• Der Wert für die Zykluszeit des EtherCAT-Masters ist entsprechend der Zykluszeit der

schnellsten Task festzulegen.

• Das Symbol vor dem jeweiligen Geräte signalisiert die erfolgreicheEtherCAT-Kommunikation.

Hinweis: Die EtherCAT-Zykluszeit ist auf auf die schnellsteingestellte Taskzykluszeit einzustellen. Die schnellste Taskzykluszeit ist in diesem ApplicationTemplate PackML auf 2 ms eingestellt, dementsprechend sind 2000 μs einzustellen.• Ist bei allen Antriebsreglern die Option "Distributed Clocks" aktiviert und die

Kommunikation erfolgreich, gibt der EtherCAT-Master die Meldung "DC In-Sync" aus:

Page 42: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLMaschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen

42 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.2 Maschinenmodule erstellen: Maschinenmodulvorlage kopieren/einfügen

Tipp!

Beim Erstellen von eigenen Maschinenmodule vergibt das ApplicationTemplate PackMLautomatisch die passenden Maschinenmodul-internen Benennungen.

Maschinenmodule erstellen: Was ist zu tun?

So gehen Sie vor:

1. Maschinenmodul-Vorlage EmptyModule_PackML kopieren:

• Rechtsklick auf den Ordner A66 EmptyModule_PackML\MM_EmptyModule_PackML

Copy Empty Module auswählen.

2. Das zuvor kopierte Maschinenmodul (MM_Empty Module_PackML) unterhalb des Ordners

A70_MachineModuleSources einfügen:

• Rechtsklick auf den Ordner A70_MachineModuleSources Insert Empty Module

3. Gewünschten Modulnamen eingeben.

Der Modulname ist frei wählbar und darf …• kein "MM_" enthalten• nur die Zeichen "A ... Z", "a ... z", "0 ... 9" enthalten• keine Sonderzeichen enthalten.

4. Insert klicken, um das Maschinenmodul einzufügen.• Das Maschinenmodul ist mit den passenden Namen der MAPs/des MFB, Strukturen und

Visualisierung eingefügt.• Das Maschinenmodul wird mit dem zuvor vergebenen Namen instanziiert.

5. Das eingefügte Maschinenmodul (MFB_*) ist in den MMT im Ordner

A10_MachineModuleTree einzufügen. Maschinenmodule in den MMT einbinden

6. Die Modulapplikation (MAP_*) ist im Ordner A11_ModuleAppCalls ist in den gewünschten Modulapplikationsaufruf (MAC_Task_*) einzufügen. Zuordnen der Modulapplikation (ModApp) zur Task

Die Maschinenmodul-Vorlage EmptyModule_PackML ist...

• ...im Ordner A66 EmptyModule_PackML mit dem

Befehl Copy Empty Module zu kopieren und

• ...anschließend mit dem Befehl Insert Empty Module

in den Ordner A70_MachineModuleSources einzufügen.

Page 43: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 43

Arbeiten mit dem ApplicationTemplate PackMLMaschinenmodule in den MMT einbinden

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.3 Maschinenmodule in den MMT einbinden

Ein (auf Basis der Maschinenmodul-Vorlage EmptyModule_PackML) erstelltes Maschinenmodul istin den MachineModuleTree (MMT) einzubinden, um es funktionsfähig in das ApplicationTemplatePackML zu integrieren.

[8-1] Beispiel: MachineModuleTree im ApplicationTemplate PackML

So gehen Sie vor:

1. In der Geräte-Ansicht den Ordner A10_MachineModuleTree doppelklicken.

• MMT (PRG) doppelklicken.Hinweis: Die Programmiersprache von MMT (PRG) ist CFC (Continous Function Chart).

• Im Dialogfenster Werkzeuge die Schaltfläche Baustein klicken.• Neuen FB per drag-and-drop erstellen.

• Im Bereich des FBs doppelklicken, Schaltfläche klicken.

Mit der Eingabehilfe aus dem Element Application...• ...den FB MFB_CrossCutter zuweisen.• ...die Instanz CrossCutter zuweisen.

Hinweis: In der Eingabehilfe ist die Option Namensraum-Präfix einfügen beim Zuweisen des Instanznamens zu aktivieren.

2. Relative Adresse für das Maschinenmodul festlegen.

• Im Dialogfenster Werkzeuge die Schaltfläche Eingang klicken.• Neuen Eingang bei MM_Address hinzufügen• Relative Adresse (Beispiel: "3") zuweisen.

3. Die FBs MFB_MachineControl und MFB_CrossCutter miteinander verbinden.• Beispiel:

Page 44: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLZuordnen der Modulapplikation (ModApp) zur Task

44 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Hinweis: Nach dem Einfügen eines Maschinenmoduls ist die Ausführungsreihenfolge der Maschinenmodule zu prüfen, die sich nach dem Einfügen des weiteren Maschinenmoduls ergibt.

Zum Ändern der Ausführungsreihenfolge sind die Elementnummern in der oberen rechten Ecke des entsprechenden Maschinenmoduls anzupassen.• Dazu ist im Kontextmenü der Elementnummer (rechte Maustaste) der Menüpunkt

Ausführungsreihenfolge aufzurufen.

Hinweis: Bei deaktivierter Option "Strukturierte Ansicht" ist ein FB (Beispiel: MFB_CrossCutter) über die Eingabehilfe (Kategorie: Instanzen) erreichbar.

8.4 Zuordnen der Modulapplikation (ModApp) zur Task

Bei Maschinenmodulen, die mit der Maschinenmodul-Vorlage EmptyModule_PackML erstellt sind,ist ein einfaches Zuordnen von MAP und Task über ein Dialogfenster möglich.

Tipp!

Verwenden Sie zum Erstellen von Maschinenmodulen die Maschinenmodul-Vorlage

EmptyModule_PackML im Ordner A66_EmptyModule_PackML, um das Zuordnen vonModulapplikation und Tasks einfacher durchführen zu können.

So gehen Sie vor:

1. Rechtsklick auf den Ordner A11_ModuleAppCalls:

• Create Task Call aufrufen.

2. Die Modulapplikationen sind den unterschiedlichen Tasks zuzuordnen. Im folgenden

Dialogfenster die Modulapplikation im Bereich (Beispiel: MM_NewModule) markieren,

im Bereich die Task markieren, zu der die MAP zuzuordnen ist.• Die jeweilige MAP mit <</>> der Task zuordnen/Zuordnung aufheben.

Page 45: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 45

Arbeiten mit dem ApplicationTemplate PackMLZuordnen der Modulapplikation (ModApp) zur Task

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[8-2] Beispiel: ModuleApp1 ist der höchstprioren Task Task_High zugeordnet.

• Zuordnung durch Klicken auf OK bestätigen.

Die Funktionen der Maschinenmodule sind in den "State"-Methoden der einzelnen Betriebsmodiprogrammierbar.

States: Zustände mit vordefinierten Funktionen

[8-3] Die Zustände der Statemachine enthalten eine vordefinierte Programmierung

Jeder Zustand der Statemachine enthält bereits eine vordefinierte Programmierung.

• Durch Doppelklicken auf den jeweiligen State ist der Programmcode sichtbar, der die kommen-tierten Anwenderfunktionen enthält.

• Die Kommentare weisen darauf hin, an welchen Stellen weitere Funktionen hinzufügbar sind.

Page 46: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLCreate MM Instance: Instanzen eines Maschinenmoduls erstellen

46 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Der MAP-Baustein enthält die Aktion S00_Cyclic, die zyklisch bearbeitet wird.

8.5 Create MM Instance: Instanzen eines Maschinenmoduls erstellen

Um weitere Instanzen eines Maschinenmoduls zu erstellen, enthält das ApplicationTemplate dieFunktion Create MM Instance.

So gehen Sie vor:

1. Rechtsklick auf den Ordner A70_MachineModuleSourcesCreate MM Instance:

2. Maschinenmodul auswählen, von dem eine Instanz zu erstellen ist.

• Instanznamen eingeben, Beispiel: Modul_1_NewInstance.• Insert klicken, um die Instanz einzubinden.

Page 47: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 47

Arbeiten mit dem ApplicationTemplate PackMLDelete Machine Module: Instanzen eines Maschinenmoduls entfernen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.6 Delete Machine Module: Instanzen eines Maschinenmoduls entfernen

Um die Instanz eines Maschinenmoduls zu löschen, enthält das ApplicationTemplate die FunktionDelete Machine Module References.

• Das Ausführen des Befehls bewirkt, dass alle Einträge in den Datencontainern und Aufrufe ge-löscht werden.

Manuelles Entfernen der Instanzen

Die Instanzen eines Maschinenmoduls sind im Ordner A55_VarLists aus den globalen Variablen-listen zu entfernen.

So gehen Sie vor:

1. Ordner A55_VarLists doppelklicken.

2. Globale Variablenliste MM_Dcl doppelklicken.

3. Rechtsklick auf die zu löschende Instanz (Beispiel: NewModule):

Page 48: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLMaschinenmodule entfernen

48 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.7 Maschinenmodule entfernen

Um ein Maschinenmodul inklusive aller Instanzen aus dem »PLC Designer«-Projekt zu entfernen, ist

der Befehl Löschen auszuführen.

So gehen Sie vor:

Per Rechtsklick auf den Modulnamen im Ordner A70_MachineModuleSources den

Befehl Löschen ausführen.

8.8 Modulkennung

• Jedes Maschinenmodul ist durch eine eindeutige Modulkennung CompID identifizierbar, die in jedem MFB des jeweiligen Maschinenmoduls hinterlegt ist.

• Die Modulkennung ist im BaseChannel definiert und durch die Methode setCompIDAndVersion() setzbar.

• Die jeweilige Modulkennung (CompID) ist in der Visualisierung unter Machine Module Details

sichtbar: Ordner A20_Visualisation L_Main, Schaltfläche Module List.

Page 49: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 49

Arbeiten mit dem ApplicationTemplate PackMLModulkennung

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Tipp!

Vergeben Sie bei jedem neu erstellten Maschinenmodul eine passende Kennung CompID.

Beim Überarbeiten eines Moduls ist es hilfreich, die Version entsprechend zu aktualisieren.

Page 50: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLAchse einfügen

50 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.9 Achse einfügen

Um eine Achse an ein Maschinenmodul anzubinden, ist dies beim Erstellen eines Maschinenmodulszu berücksichtigen.

• Das folgende Beispiel zeigt exemplarisch, wie eine Achse an das Maschinenmodul MM_Module2 anzubinden ist.

• Die Achse ist an die höchstpriore Task MAC_Task_High anzubinden.

So gehen Sie vor:

1. Die Modulapplikation aufrufen, in der eine Achse anzubinden ist:

• Die Modulapplikation um die Deklaration erweitern: AXIS: AXIS_REF_SM3

2. Im Ordner A11_ModuleAppCalls die Task aktualisieren, in der die Modulapplikation

eingebunden ist: MAC_Task_High• Den vorhandenen Modulnamen (hier: MAP2_Modul2_App1) im FB der

Modulapplikation löschen:

3. Den Namen der Modulapplikation (Beispiel: MAP_Module2_App1) dem FB zuordnen:

Page 51: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 51

Arbeiten mit dem ApplicationTemplate PackMLAchse einfügen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

4. Den Namen der Instanz (Beispiel: MM_Dcl.Module2.App1) der Modulapplikation zuordnen:

5. Die Achse der Modulapplikation zuordnen. Voraussetzung dazu ist, dass der reale Maschinenaufbau im »PLC Designer«-Projekt abgebildet ist. Realen Maschinenaufbau abbilden : Geräte anhängen ( 39)(Der Eingang dwTestCounter erhält keine Übergabevariable.)

• Gewünschte Achse auswählen (Beispiel: SM_Drive_ETC_9400HL)• OK klicken, um die Achse einzufügen.• Die Achse ist an das Maschinenmodul angebunden:

Page 52: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLI/O-Module des I/O-System 1000 mit einem Maschinenmodul einbinden

52 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.10 I/O-Module des I/O-System 1000 mit einem Maschinenmodul einbinden

Dieses Kapitel beschreibt, wie aus einem Maschinenmodul auf die Module eines über CANangeschlossenes I/O-System zugreifbar ist.

Beispiel: Aus dem Maschinenmodul MM_Modul1 auf drei digitale Ein-/Ausgänge und einemanalogen Eingang des I/O-System 1000 zugreifen.

So gehen Sie vor:

1. Rechtsklick I_O_Modul_Koppler• Menübefehl Geräte suchen ausführen

Das nachfolgende Dialogfenster zeigt alle identifizierten I/O-Module an.

• Betätigen Sie die Schaltfläche Alle Geräte ins Projekt kopieren, um alle gefundenen Geräte in das Projekt einzufügen.

Page 53: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 53

Arbeiten mit dem ApplicationTemplate PackMLI/O-Module des I/O-System 1000 mit einem Maschinenmodul einbinden

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

2. Die Variablen-Namen, die im Maschinenmodul verwendet werden und eine Anbindung an das I/O-System haben, sind in der Struktur MM_IO zusammengefasst.

3. Die Variablen sind den physikalischen I/O-Modulen zuzuordnen.

4. Die Option Variablen immer aktualisieren ist durch Setzen des Häkchens () zu aktivieren.

Page 54: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLModulapplikationen erstellen

54 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

8.11 Modulapplikationen erstellen

Dieses Kapitel beschreibt, wie Sie eine Modulapplikation zu erstellen ist.

Tipp!

Im ApplicationTemplate PackML sind alle Stellen mit dem SchlüsselwortAT_ACTION_CREATE_NEW_MODULEAPPLICATION gekennzeichnet, die zu editieren sind,wenn eine neue Modulapplikation zu erstellen ist.

Die Suchfunktion im »PLC Designer« erleichtert das Finden der zu editierenden Stellen:• Menübefehl BearbeitenSuchen&ErsetzenSuchen ausführen• Gewünschtes Schlüsselwortes eingeben und suchen/weitersuchen, um an die

entsprechenden Stellen im ApplicationTemplate PackML zu navigieren.

Beispiel: Erweitern des Maschinenmoduls MM_Module1 um eine Modulapplikation.

So erstellen Sie eine Modulapplikation:

1. Den Ordner MM_Module1\ModApp1 kopieren (Rechtsklick: Kopieren) und in den

Maschinenmodul-Ordner MM_Module1 einfügen (Rechtsklick: Einfügen).

Folgende Elemente sind (über Rechtsklick Eigenschaften) umzubenennen:

• Der Ordnername (vorher: ModApp1): ModApp2

• Ausgangssituation:• Ein Maschinenmodul (Beispiel:

MM_Module1) ist um eine Modulapplikation zu erweitern.

• Erstellen Sie die Modulapplikation in folgendem Ordner des Maschinenmoduls:

MM_Module1\ModApp1

Page 55: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 55

Arbeiten mit dem ApplicationTemplate PackMLModulapplikationen erstellen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Der FB-Name (vorher: MAP_Module1_App1): MAP_Module1_App2

Die Modulapplikation ist nun eingefügt.

Im Funktionsbaustein MFB_Module1 ist die eingefügte Modulapplikation zu deklarieren:

8.11.1 Innerhalb der Modulapplikation programmieren

Um die Teilfunktionen einer Modulapplikation zu strukturieren, sind die Aktionen zu verwenden,die im ApplicationTemplate PackML enthalten sind.

Tipp!

Verwenden Sie zum Programmieren die Aktionen und Methoden, die imApplicationTemplate PackML enthalten sind.

Statemachine (Zustandsmaschine) im Detail ( 65)

[8-4] Betriebsarten (Modes) von Modulapplikati-on 1 (MAP 1)

• Die Aktionen sind jeweils in jeder Betriebs-art (Mode) enthalten.

• Die Statemachine ist für jede Betriebsart individuell programmierbar. Dadurch ist das Verhalten jedes Zustands separat be-einflussbar.

• Eine individuell programmierte Statema-chine/ein Mode wirkt sich nur innerhalb der dazugehörigen Modulapplikation aus, Beispiel hier: ModApp1/MAP 1.

• Die weiteren Modulapplikationen können den aktuellen Zustand der Statemachine und die Betriebsart dieser Modulapplikati-on abfragen, aber nicht beeinflussen.

Page 56: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLModulapplikationen erstellen

56 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Alarmhandling (Fehlerbehandlung) ( 76)

Die Struktur AppChannelData (ACD) ( 61)

8.11.2 Modulapplikation einbinden

Dieser Abschnitt beschreibt die Vorgehensweise zum Einbinden einer neu erstelltenModulapplikation in ein Maschinenmodul.

Tipp!

Im ApplicationTemplate sind alle Stellen mit dem SchlüsselwortAT_ACTION_ADD_MODULEAPPLICATION gekennzeichnet, die zu editieren sind, wenn eineneue Modulapplikation einzubinden ist.

Die Suchfunktion im »PLC Designer« erleichtert das Finden der zu editierenden Stellen:• Menübefehl BearbeitenSuchen&ErsetzenSuchen ausführen.• Gewünschtes Schlüsselwortes eingeben und suchen/weitersuchen, um an die

entsprechenden Stellen im ApplicationTemplate PackML zu navigieren.

Beispiel: Einbinden der Modulapplikation in die Task Task_Mid.

So binden Sie eine Modulapplikation ein:

Das Beispiel zeigt anhand des Maschinemoduls MM_Module1, wie die neu erstellteModulapplikation App2 in das ApplicationTemplate PackML einzubinden ist.

1. Aufruf der neu erstellten Modulapplikation in der entsprechenden Task (Ordner

A11_ModuleAppCalls, Baustein MAC_Task_Mid).• Den Baustein MAP_Module markieren.

• Den Baustein kopieren und einfügen (Rechtsklick: Kopieren/ Einfügen)

Page 57: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 57

Arbeiten mit dem ApplicationTemplate PackMLModulapplikationen erstellen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

2. Die neue Modulapplikation (MAP) einbinden.• Auf den FB-Namen klicken

• Eingabehilfe durch Betätigen der Schaltfläche aufrufen.

• Mit der Eingabehilfe aus dem Element Application die gewünschte Modulapplikation auswählen, die in die Task eingebunden werden soll.

Beispiel: Modulapplikation MAP_Module1_App2

3. Schaltfläche OK betätigen, um die Modulapplikation einzubinden.

4. Der Instanzname ist entsprechend anzupassen:• Instanznamen passend angeben, Beispiel: MM_Dcl.Module1.App2

Page 58: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Arbeiten mit dem ApplicationTemplate PackMLModulapplikationen erstellen

58 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Weiterführende Informationen zum Erweitern der Visualisierung finden Sie in folgendemAbschnitt: Die Visualisierung erweitern ( 86)

Page 59: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 59

Architektur: Das ApplicationTemplate PackML im DetailAuf Strukturvariablen von Maschinenmodulen zugreifen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9 Architektur: Das ApplicationTemplate PackML im Detail

9.1 Auf Strukturvariablen von Maschinenmodulen zugreifen

9.1.1 Auf moduleigene Strukturvariablen zugreifen

Die Strukturen der Maschinenmodule enthalten die Ein- und Ausgangsvariablen derMaschinenmodule zum Anbinden der Daten an das Gesamtsystem:

• I/O-Daten: Struktur MIO

• Parameter/Daten des Rezepturverwalters: Struktur MPar

• Persistente Daten: Struktur MPD

• Daten der Visualisierung: Struktur MVis

Das folgende Beispiel zeigt, wie eine Strukturvariable für eine externe Visualisierung (die der MAPzugeordnet ist) innerhalb einer Modulapplikation aufzurufen ist (beim Einfügen eines Moduls mitautomatisch passenden Namen sind die passenden Einträge automatisch hinzugefügt):

[9-1] Auszug aus der Struktur MVIS_scMachineControl_PackML

[9-2] Auszug aus der Betriebsart "Manual" von MM_MachineControl_PackML

Der dazugehörige Programmaufruf in der Maschinenapplikation hat die folgende Syntax:Vis.diPieces := 4711;

Strukturen (Structs) für ...

...IOs

...Parameter (Rezepturverwalter)

...persistente Daten

...externe Visualisierung

// MVis_scMachineControl_PackML// für MAP1diPieces : DINT;

// für MAP2diLength : DINT;

Page 60: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailAuf Strukturvariablen von Maschinenmodulen zugreifen

60 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.1.2 User Tags: Eigene Datenelemente definieren

Das ApplicationTemplate PackML enthält folgende vordefinierten Datenelemente Struktur/Typ, so-genannte "Tags": Command-, Status-, Admin-Tag.

• Weitere individuelle Tags sind in der Struktur UserTags_PackML definierbar.

• Die Struktur für individuelle Datenelemente befindet sich im Ordner A75_UserTags.

[9-3] Beispiel: Individuell erstelltes UserTag

• Der Strukturname L_UserTags_PackML muss beibehalten werden.

• Die Datenelemente der Struktur sind frei definierbar.

Die Struktur ist für alle Maschinenmodule in einer Applikation identisch, jedes Maschinenmodulverfügt über eine eigene Instanz der UserTag-Daten.

Folgende Zugriffe auf die UserTag-Daten sind möglich:

1. Lesen/Schreiben von einzelnen UserTag-Elemente des eigenen Maschinenmoduls.

[9-4] Beispiel: Zugriff auf ein UserTag in State-Aktion S04, eigenes Modul.

Anstelle der Konstante L_EATP_CONST.OWNID ist der Zahlenwert "0" verwendbar, um auf das eigene Modul zuzugreifen.

2. Lesen/Schreiben von einzelnen UserTag-Elemente eines Slave-Maschinenmoduls.

[9-5] Beispiel: Zugriff auf das UserTag eines einzelnen Slave-Moduls, Adresse 96.

3. "Broadcast"-Schreiben:• Schreiben eines UserTag-Elements in alle Slaves-Maschinenmodule.

[9-6] Beispiel: Zugriff auf alle Slavemodule, ohne das eigene Maschinenmodul.

• Schreiben eines UserTag-Elements in das eigene Maschinenmodul sowie alle Slaves-Ma-schinenmodule.

Page 61: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 61

Architektur: Das ApplicationTemplate PackML im DetailDie Struktur AppChannelData (ACD)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[9-7] Beispiel: Schreiben eines UserTags in alle Slavemodule, inklusive dem eigenen Modul.

9.1.3 Auf Strukturen von anderen Maschinenmodulen zugreifen

Die globalen Maschinenmodul-Strukturen sind im Ordner A55_VarLists instanziert.

• Dadurch sind die Strukturen und Maschinenmodule des ApplicationTemplate PackML wiederverwendbar.

• Die Strukturvariablen eines beliebigen Maschinenmoduls sind von einem anderen Maschinenmodul aus verwendbar.

• Um die Variablen einer globalen Struktur des Maschinenmoduls 1 (Beispiel: MM_Module1) in einer anderen Maschinenapplikation von Maschinenmodul 2 (Beispiel: MM_Module2) nutzen zu können, ist folgender Programmaufruf erforderlich:

[9-8] Beispielprogramm: Auf die Struktur MM_Vis von Modul 1 zugreifen.

9.2 Die Struktur AppChannelData (ACD)

Sofern benötigt, ist die Datenstruktur vom Typ MACD_scModulname im gewünschtenMaschinenmodul (MFB) zuweisbar. Die Datenstruktur muss die in der BibliothekL_EATP_ApplicationTemplate PackML enthaltene Struktur L_EATP_ACD_Base erben.

• Die Struktur MACD_scModule1 definiert die Variable diCounter vom Datentyp DINT.

[9-9] Aufbau der ACD-Struktur mit vererbter Struktur L_EATP_ACD_Base

• Der MACD_sc<Modulname> ist mit den benötigten Datentypen individuell erweiterbar.

• Durch die geerbte Struktur sind in der ACD-Struktur spezielle Steuer- und Statusbits verfügbar.

• In der Struktur ist der Baustein L_EATP_CriticalSection instanziiert, der einen konsistenten Austausch von Datenaustausch gewährleistet (sofern der FB korrekt verwendet wird).

diPiecesModul1 := MM_Vis.scModule1;

Page 62: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailDie Struktur AppChannelData (ACD)

62 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.2.1 ACD-Struktur im MFB deklarieren/registrieren

Um die ACD-Struktur in den Modes eines MFBs und dessen Master verwenden zu können, ist dieInstanz der ACD-Struktur im MFB lokal zu deklarieren.

[9-10] Deklaration der ACD-Struktur im MFB_Module1

Die ACD-Struktur ist im Programmteil des MFB registriert, hierdurch werdenSicherheitsmechanismen aktiviert.

• An die Methode RegisterACD() ist der zu registrierende Instanzname und die Größe der Struktur zu übergeben.

• Die Struktur ist in jedem Zyklus neu zu registrieren. (Eine fehlende Registrierung löst einen Infrastrukturfehler aus.)

[9-11] Registrierte ACD-Struktur im MFB_Module1

9.2.2 Auf die ACD-Struktur des Mastermoduls zugreifen - Mit der Modulapplikation des MFB

[9-12] Schematische Darstellung: Von der Modulapplikation (MAP) eines Maschinenmoduls (MM_Module) auf die ACD-Struktur zugreifen

Um aus einem Mode des MFBs auf die ACD-Struktur zuzugreifen, sind...

• ...ein POINTER auf die ACD-Struktur und

• ...eine Referenz auf die ACD-Struktur in der gewünschten Modulapplikation zu deklarieren.

Page 63: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 63

Architektur: Das ApplicationTemplate PackML im DetailDie Struktur AppChannelData (ACD)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

[9-13] Deklaration von POINTER und REFERENZ auf die ACD-Struktur in der MAP des Maschinenmoduls MM_Module1_PackML

Im Programmteil der Modulapplikation (MAP) ist der Zugriff auf die ACD-Struktur durch dieMethode AccessACD() zu gewährleisten:

[9-14] Beispiel: Programmteil von Mode M03_Module1_PackML_Manual: Zugriff auf die ACD-Struktur zertifizieren

Dadurch ist ein Lese-/Schreibzugriff mit Hilfe der Referenz und der Intellisensefunktion auf dieDateninhalte der ACD- Struktur möglich:

[9-15] Kommando zum Schreiben von Daten auf die ACD-Struktur

9.2.3 Auf die ACD-Struktur der Slavemodule zugreifen - Mit den Modi des Mastermoduls

[9-16] Schematische Darstellung: Von den Modes des Masters (Machine Control) auf die ACD-Struktur der Slave-Module zugreifen

Page 64: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailDie Struktur AppChannelData (ACD)

64 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Zugriff auf die Slave-Module

• Um aus den Modes des Master-Moduls auf die ACD-Struktur eines unterlagerten Slave-Maschi-nenmoduls zugreifen zu können sind ein Pointer und eine Referenz auf die ACD-Struktur des Slaves zu deklarieren.

• Pointer und Referenz sind in der Modulapplikation(ModApp) des Masters zu deklarieren.

[9-17] Deklaration von POINTER und REFERENZ auf die ACD-Struktur im Mode M03_Manual von MM_MachineControl_PackML

Im Programmteil der Modulapplikation (MAP) ist der Zugriff auf die ACD-Struktur durch dieMethode AccessACD() zu gewährleisten:

[9-18] Beispiel: Programmteil von Mode M03_Module1_PackML_Manual: Zugriff auf die ACD-Struktur zertifizieren

Dadurch ist ein Lese-/Schreibzugriff mit Hilfe der Referenz und der Intellisensefunktion auf dieDateninhalte der ACD- Struktur möglich:

[9-19] Kommando zum Schreiben von Daten auf die ACD-Struktur

9.2.4 Die Struktur MachineModuleData (MMD)

Die Struktur MachineModuleData (MMD) vom Typ MMD_scModulname dient zum Instanziierenvon Maschinenmoduldaten.

• Das ApplicationTemplate PackML enthält Variablen und Funktionsbausteine zum Instanziieren von Maschinenmoduldaten.

• Alle Modulapplikationen (MAPs) eines Maschinenmoduls können auf diese MMD-Struktur zu-greifen.

Page 65: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 65

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Die Datenstruktur erbt die in der Bibliothek L_EATP_ApplicationTemplate enthaltene StrukturL_EATP_MMD_Base:

[9-20] Aufbau der MMD-Struktur im Ordner A65 EmptyModule\MM_EmptyModule\Structs MMD_scEmptyModule

• Der MMD_sc<Modulname> ist mit den jeweils benötigten Datentypen und Funktionsbaustei-nen individuell zu erweitern.

• In der Struktur ist der Baustein L_EATP_CriticalSection instanziiert, der einen konsistenten Aus-tausch von Datenaustausch gewährleistet (Voraussetzung dazu ist, dass der Baustein korrekt verwendet ist).

Auf die MMD-Struktur zugreifen - Mit der Modulapplikation des MFB

[9-21] Schematische Darstellung: Von der Modulapplikation (MAP) eines Maschinenmoduls (MM_Module) auf die MMD-Struktur zugreifen

[9-22] Kommandos zum Schreiben von Daten auf die MMD-Struktur

9.3 Statemachine (Zustandsmaschine) im Detail

Das oberste Maschinensteuermodul MM_MachineControl_PackML ist das Master-Modul und...

Hinweis!

Im Gegensatz zur ACD-Struktur ist der Zugriff eines übergeordneten Mastermoduls auf die MMD-Struktur nicht möglich!

• Intellisensefunktion: In jeder MAP ist die Referenz „rMMD“ deklariert, die den Lese-/Schreibzugriff auf die Dateninhalte der MMD- Struktur ermöglicht.

Page 66: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

66 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• ...befindet sich an erster/oberster Stelle im MachineModuleTree (MMT)

• ...steuert die Statemachine von allen untergeordneten Slave-Maschinenmodulen.

Die vom Master-Modul ausgelösten Zustandsübergänge beeinflussen die untergeordneten Slave-Maschinenmodule.

9.3.1 Zustandsübergänge und Bedingungen - Übersicht

Dieser Abschnitt stellt die einzelnen Zustandsübergänge der Zustandsmaschine desApplicationTemplate PackML dar.

[9-23] Vollständiges Zustandsdiagramm nach PackML-Standard

Die Bedingung zum Schalten der Zustandsübergänge (Transitionen), ist, dass die MethodeCommand_StateBusy(xAllOrSlaves:=TRUE) als Ergebnis FALSE hat, ausgenommen sind die Transiti-onen "Abort" und "Stop".

• Mit der Transition "Stop" ist aus allen Zuständen in Bereich der Übergang in den Zustand

"Stopping" möglich, ohne dass Command_StateBusy (xAllOrSlaves:=TRUE)=FALSE ist.

• Mit der Transition "Abort" ist aus allen Zuständen in Bereich und der Übergang in den Zu-

stand "Aborting" möglich, ohne dass Command_StateBusy (xAllOrSlaves:=TRUE)=FALSE sein muss.

• Alle übrigen Zustandsübergänge finden Sie im folgenden Abschnitt mit den zugehörigen Command_CtrlCmds _xxx. Die Zustandsübergänge im Detail: Methode Command_CtrlCmds() ( 68)

9.3.2 Methoden zum Umschalten der Zustandsübergänge/Transitionen

Im folgenden Abschnitt finden Sie eine Übersicht über alle Methoden im ApplicationTemplatePackML: Die Methoden im Überblick ( 91)

Einzelne Transition umschalten

[9-24] Beispiel: Schaltet die Transition "Start" von "Idle""Starting".

Command_CtrlCmd(eCtrlCmd:=L_EATP_CtrlCmd_PackML.Start , xCmdChangeRequest:=TRUE)

Page 67: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 67

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Dadurch befindet sich die Zustandsmaschine anschließend im aktiven Zustand "Starting".

• Der Wert xCmdChangeRequest der Methode führt zum Schalten der Transition durch eine posi-tive Flanke.

• Solange eines der Slavemodule noch den Status xBusy aufweist, wird das Umschalten der State-machine verhindert.

Zustand abfragen

[9-25] Beispiel: Fragt den Zustand aller untergeordneten Slavemodule und das eigene Modul ab.

• xAllOrSlaves:=TRUE bewirkt, auch das eigene Modul mit abzufragen

• xAllOrSlaves:=FALSE fragt nur die untergeordneten Slaves des Moduls ab.

Aktuellen Zustand abfragen

Status_StateBusy(xAllOrSlaves:=TRUE)

Status_UnitStateCurrent (MM_Address:= L_EATP_CONST.OWNID)

Page 68: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

68 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.3.3 Die Zustandsübergänge im Detail: Methode Command_CtrlCmds()

GewünschterZustandswechsel von... nach...

Erforderli-ches Kom-

mando(CtrlCmd)

Aufruf der MethodeCommand_CtrlCmd(eCtrlCmd:=L_EATP_CtrlCmds_PackML.[CtrlCmd],xCmdChangeRequest:=TRUE);

Ist- Soll-Zustand Beispiel: Command_CtrlCmd...

"Idle""Starting" Start ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Start,xCmdChangeRequest:=TRUE);

"Starting""Execute"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Execute""Completing"

"Completing""Complete"

"Complete""Resetting"

Reset ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Reset,xCmdChangeRequest:=TRUE);

"Resetting""Idle"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Execute""Holding"

Hold ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Hold,xCmdChangeRequest:=TRUE);

"Holding""Held"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Held""UnHolding"

UnHold ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Unhold,xCmdChangeRequest:=TRUE);

"UnHolding""Execute"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Execute""Suspending"

Suspend ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Suspend,xCmdChangeRequest:=TRUE);

"Suspending""Suspended"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Suspended""UnSuspending"

Unsuspend ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Unsuspend,xCmdChangeRequest:=TRUE);

"UnSuspending""Execute"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"All""Stopping"

Stop ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Stop,xCmdChangeRequest:=TRUE);

"All""Aborting"

Abort ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Abort,xCmdChangeRequest:=TRUE);

"Aborting""Aborted"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Aborted""Clearing"

Clear ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Clear,xCmdChangeRequest:=TRUE);

"Clearing""Stopped"

StateComplete

(SC)

...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.StateComplete,xCmdChangeRequest:=TRUE);

"Stopping""Stopped"

"Stopped""Resetting"

Reset ...(eCtrlCmd:=L_EATP_CtrlCmds_PackML.Reset,xCmdChangeRequest:=TRUE);

Page 69: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 69

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.3.4 Die möglichen Zustände im Detail

Die möglichen Zustände der Statemachine sind in den Enumerationen L_EATP_CtrlCmds_PackMLund L_EATP_States_PackML hinterlegt.

Kommandowerte/Zustandswerte

Mögliche Zustände

• Die Kommandowerte der Zustandswerte sind in ENUM L_EATP_CtrlCmds_PackML hinterlegt.

• Die Zustandswerte sind in ENUM L_EATP_States_PackML hinterlegt.

Zustand (State) Kategorie Farbe Beschreibung

ABORTED Warten gelb Dieser Zustand behält die relevanten Statusinformationen der Maschi-ne, die für einen Abbruch relevant sind. Die Maschine kann den Zustand ABORTED nur nach einem ausgelösten CLEAR-Kommando verlassen, so-fern die Ursache für den Fehler in der Maschine behoben/zurückgesetzt ist.

ABORTING Aktiv grün Dieser Zustand ist jederzeit als Reaktion auf ein ABORT-Kommando er-reichbar. Die Abbruchlogik führt zu einem schnellen, sicheren Stopp der Maschine.

CLEARING Aktiv grün Dieser Zustand löst das Quittieren von Fehlern aus, die im Zustand AB-ORTING ausgelöst sind und im Zustand ABORTED noch vorhanden sind. Anschließender Wechsel in den Zustand STOPPED.

COMPLETE Warten gelb Die Maschine hat den Zustand COMPLETING beendet, wartet auf das Kommando RESET. Anschließender Wechsel in den Zustand RESETTING.

COMPLETING Aktiv grün Der Wechsel in diesen Zustand folgt automatisch nach dem Zustand EXECUTE. Die Maschine fährt herunter, dazu stoppt die Produktzufuhr.

EXECUTE Dual blau Sobald die Maschine Material verarbeitet, befindet sie sich im Zustand EXECUTE. Die unterschiedlichen Betriebsarten enthalten spezifische Ak-tivitäten, die im Zustand EXECUTE möglich sind. Beispielsweise bewirkt die Betriebsart "Producing", dass die Maschine produziert, die Betriebs-art "Clean out" bewirkt, dass die Maschine gereinigt wird. Biedes ist im im Zustand EXECUTE möglich.

Page 70: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailStatemachine (Zustandsmaschine) im Detail

70 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

HELD Warten gelb Dieser Zustand wird erreicht wie beim Zustand HOLDING beschrieben. Im Zustand HELD stoppt die Maschine, entweder durch vollständiges Stoppen oder durch fortlaufendes "Trockenlaufen".

• Sobald der INTERNE Maschinenzustand sich ändert/der Betreiber das Kommando UNHOLD auslöst, wechselt die Maschine in den Zustand UNHOLDING.

• Üblicherweise betrachtet das Performance Management/OEE Sys-tem den Zustand HELD (Warten auf Eingabe des Betreibers) als "nicht verfügbar".

HOLDING Aktiv grün Dieser Zustand ist erreicht, wenn ein interner Zustander der Maschine dazu führt, dass die Produktion stoppt. Die Maschine verlässt den Zu-stand EXECUTE, bedingt durch einen INTERNEN Auslöser.

• Üblicherweise tritt der Zustand HOLDING bei sich wiederholenden Maschinenzuständen ein, die eine Aktion des Bedieners erfordern. Anschließend kann die Maschine weiter produzieren.

• Der Zustand HOLDING ist automatisch oder manuell durch den Be-diener auslösbar/zurücknehmbar. Beispielsweise benötigt das regel-mäßige Auffüllen von Material eine Aktion des Bedieners, wie das Ausfüllen von Klebstoffspender oder Kartonspeicher.

• Dies kann erforderlich sein, wenn durch den mechanischen Aufbau der Maschine eine bestimmte Aktion nur bei gestoppter Maschine möglich sind.

• Um nach dem Zustand HELD die Maschine wieder kontrolliert zu starten, sind alle relevanten Prozesss-Sollwerte/Rücksprung-Stati der Prozeduren zu sichern, die zum Zeitpunkt des HOLD-Kommandos in der Maschinensteuerung vorhanden sind.

IDLE Warten gelb Dieser Zustand signalisiert, dass der Zustand RESETTING abgeschlossen ist. Der Zustand IDLE behält den aktuellen Zustand der Maschinen bei, die während des Zustands RESETTING erreicht wurden und führt die an-geforderten Operationen aus.

RESETTING Aktiv grün Dieser Zustand ist aktiv, nachdem das Kommando RESET im Zustand RE-SET/STOPPED ausgelöst ist.

• Fehler- und Stoppereignisse sind zurückgesetzt.• Der Zustand RESETTING aktiviert üblicherweise Sicherheitsvorrich-

tungen. Das bewirkt, dass die Maschine in den Zustand IDLE wech-selt, um auf das START-Kommando zu warten. Dadurch ist gewährleistet, dass die Maschine in diesem Zustand keine gefährli-chen Bewegungen ausführt.

STARTING Aktiv grün Dieser Zustand beinhaltet die Schritte, die zum Anfahren/Starten der Maschine notwendig sind und ist die Folge eines START-Kommandos. Nach erfolgreichem Starten: Wechsel in den Zustand EXECUTE.

STOPPED Warten gelb Nach Verlassen des Zustands STOPPING ist die Maschine eingeschaltet und im Stillstand. Die Kommunikation zu anderen Systemen ist voll funktionsfähig. Das Kommando RESET löst den Wechsel in den Zustand RESETTING aus.

STOPPING Aktiv grün Dieser Zustand führt die Schritte aus, die die Maschine zu einem kontrol-lierten Stopp bringt, siehe Zustand STOPPED. Die Maschine ist nicht wie-der startbar, bis ein Neustart der Maschine durchgeführt ist.

SUSPENDED Warten gelb Dieser Zustand wird erreicht wie beim Zustand SUSPENDING beschrie-ben. In diesem Zustand stoppt die Maschine, entweder durch ein voll-ständiges Stoppen oder durch Weiterbewegen ohne zu produzieren, bis der externe Zustand sich normalisiert hat.

• Typischerweise wechselt der Zustand von SUSPENDED zu UNSUS-PENDING, ohne dass der Betreiber ein Kommando auslösen muss.

• Üblicherweise betrachtet das Performance Management/OEE Sys-tem den State SUSPENDED (Blockade/Versorgungsengpass) als "ver-fügbar".

Zustand (State) Kategorie Farbe Beschreibung

Page 71: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 71

Architektur: Das ApplicationTemplate PackML im DetailStandardkopplung der Maschinenmodule

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.4 Standardkopplung der Maschinenmodule

Die Zustandsmaschine im ApplicationTemplate PackML verfügt über ein Standardverhalten, beidem das oberste Master-Maschinenmodul alle untergeordneten Slave-Module steuert. In diesemAbschnitt erhalten Sie Informationen, wie ein untergeordnetes Slave-Maschinenmodul vomMaster-Modul zu entkoppeln ist.

• Das übergeordnete Maschinenmodul gibt den untergeordneten Slaves die Soll-Zustände vor und prüft dabei die aktuellen Ist-Zustände der Slaves.

• Erkennt ein untergeordnetes Slave-Modul einen ausgelösten Alarm...• ...dann reagiert dieses Modul mit einer Alarmreaktion (entsprechend der programmierten

Alarmreaktion) und• ...leitet es diese Information an das übergeordnete Maschinenmodul weiter.• Existiert ein weiteres, übergeordnetes Maschinenmodul, dann wird die Information nach

oben geleitet.

Die Standardkopplung der Maschinenmodule im ApplicationTemplate PackML ist, sofern benötigt,durch entsprechendes Programmieren individuell veränderbar.

9.4.1 Vordefinierter Standardmechanismus der Zustandsmaschine

Im ApplicationTemplate PackML steuert das oberste Master-Maschinenmodul standardmäßig dieuntergeordneten Slave-Maschinenmodule mit deren Zustandsmaschinen und Betriebsarten.

SUSPENDING Aktiv grün Dieser Zustand ist zu verwenden, wenn es mit dem EXTERNEN Prozess-zustand nicht möglich ist die Maschine weiter produzieren zu lassen. Das bedeutet, dass die vor- oder nachgeschaltete Maschine in einer Linie den Zustand EXECUTE verlässt. Möglicher Auslöser sind Blockaden oder Versorgungsengpässe in der Maschine.

• Der Zustand SUSPENDING könnte durch einen lokalen Sensor in der Maschine ausgelöst sein oder durch ein externes Kontrollsystem. Üb-licherweise stoppt die Maschine in diesem Zustand kontrolliert, wechselt anschließend in den Zustand SUSPENDED.

• Um die Maschine nach dem Zustand SUSPENDED erneut kontrolliert zu starten, sind alle relevanten Prozesss-Sollwerte/Rücksprung-Stati der Prozeduren zu sichern, die beim Auslösen des Kommandos SUS-PEND vorhanden sind.

UNHOLDING Aktiv grün Dieser Zustand wird erreicht wie beim Zustand HOLDING beschrieben. In diesem Zustand stoppt die Maschine, entweder durch ein vollständi-ges Stoppen oder durch fortlaufendes "Trockenlaufen".

• Sobald sich der INTERNE Maschinenzustand ändert oder der Betreiber das Kommando UNHOLD auslöst, wechselt die Maschine in den Zu-stand UNHOLDING.

• Üblicherweise betrachtet das Performance Management/OEE Sys-tem den Zustand SUSPENDED (Blockade/Versorgungsengpass) als "verfügbar".

UNSUSPENDING Aktiv grün Dieser Zustand wird erreicht wie beim Zustand SUSPENDED beschrie-ben. Der Zustand UNSUSPENDED ist erreichbar, sobald sich der externe Zustand der Maschine normalisiert hat.

• Der Zustand UNSUSPENDING leitet alle notwendigen Aktionen/Se-quenzen ein, damit die Maschine in den Zustand EXECUTE wechseln kann.

• Zum Wiederanlauf der Maschine sind die Daten wiederherzustellen, die zuvor beim Auslösen des Kommando SUSPEND gesichert sind (sie-he Zustand SUSPENDING).

Zustand (State) Kategorie Farbe Beschreibung

Page 72: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailStandardkopplung der Maschinenmodule

72 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Das Master-Modul schaltet die Zustandsmachinen/Betriebsarten um, indem zuerst das Modul der untersten Ebene geschaltet wird. Erst wenn alle Slave-Module in den angeforderten Zu-stand gewechselt haben, wechselt auch das Master-Modul in diesen Zustand.

• Zum Standardverhalten gehört auch, dass alle Alarmreaktionen der Slave-Module an den Mas-ter weitergeleitet werden.

Das Standardverhalten des MMT ist veränderbar, durch Entkoppeln von einzelnen Modulen oderdurch Deaktivieren von einzelnen Maschinenmodulen über:

[9-26] Deaktivieren eines Moduls, "MM_Address" verweist auf die Adresse des Moduls, hier das eigene Modul.

9.4.1.1 Die Methode Command_DisableModule: Module entkoppeln

Die Methode Command_DisableModule ermöglicht das Abkoppeln eines Slave-Moduls vom Mas-ter.

• Dadurch sind Statemachine und Mode des abgekoppelten Moduls vom übergeordneten Master entkoppelt: Das Maschinenmodul behält den aktuellen Zustand und die Betriebsart bei. Nach-dem das entsprechende Modul entkoppelt ("disabled") ist, sind die Statemachines des Masters und des abgekoppelten Moduls unabhängig voneinander bedienbar.

• Das abgekoppelte Modul ist ab dem Zeitpunkt des Abkoppelns der Master für die Slave-Module, die diesem Modul untergeordnet sind.

9.4.1.2 Erneutes Ankoppeln von Maschinenmodulen

Um das Modul wieder an den Master zu koppeln sind die unterschiedlichen Zustände/Betriebsartender Statemachines von Master und Slave anzugleichen. Um den aktuellen Zustand und die Betriebs-art des Masters abzufragen, sind die Methoden Status_MasterUnitModeCurrent undStatus_MasterUnitStateCurrent zu verwenden.

• Das Kommando L_EATP_CtrlCmds_PackML und die Methode Command_UnitMode gleichen Zustandsmaschine und Betriebsart des abgekoppelten Moduls mit dem Mastermodul ab.

• Sind Zustand und Betriebsart des Master- und Slavemoduls identisch, ist ein erneutes Ankop-peln des Moduls mit der Methode Command_DisableModule möglich.

Weiterführende Informationen zu den Methoden: Die Status-Methoden im Überblick:Status_xxx ( 93)

Die Methode Command_SendAlarmReactionIfDisabled: Alarmreaktion an den Master

Das Entkoppeln eines Moduls mit der Methode Command_DisableModule deaktiviert das stan-dardmäßige Weiterleiten der Alarmreaktion an das Master-Modul.

• Um den Reaktionstyp eines deaktivierten Modul an den Master zu übermitteln, ist die Methode Command_SendAlarmReactionIfDisabled zu verwenden und der entsprechende Reaktionstyp auf "TRUE" zu setzen.

Beispiel: Parameter "xSendFault:=TRUE", um nur den Reaktionstyp Fault an den Master weiterzulei-ten.

Command_DisableModule(MM_Address:= L_EATP_CONST.OWNID, xValue:=TRUE);

Command_SendAlarmReactionIfDisabled(MM_Address:=L_EATP_CONST.OWNID,xSendSystemFault :=FALSE,xSendAbort:=FALSE,xSendStop:=FALSE,xSendFault:=TRUE,xSendWarning:=FALSE);

Page 73: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 73

Architektur: Das ApplicationTemplate PackML im DetailZustandsübergänge beeinflussen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Weiterführende Informationen zu den Methoden: Die Command- Methoden im Überblick:Command_xxx ( 92)

9.5 Zustandsübergänge beeinflussen

Die Variable xStateBusy kann das Umschalten eines Zustandsübergangs verhindern.

• Solange ein Zustand eines Slave-Moduls xStateBusy= TRUE hat, ist das Umschalten der State-machine verhindert. Eine Ausnahme bildet das Auslösen der Kommandos "Abort" oder "Stop".

Das Modul wird standardmäßig in den jeweiligen Zustand mit dem Kommando im ersten Zyklus

von Zustand gesetzt.

Sind in diesem Zustand alle Aufgaben erledigt, kann xStateBusy wieder zurückgesetzt werden ,um das Umschalten in einen anderen Zustand zu ermöglichen.

Die folgende Programmzeile fragt den Zustand ab:

"xAllOrSlaves:=TRUE" fragt auch das eigene Modul ab, "xAllOrSlaves:=FALSE nur die Slaves des Mo-duls.

9.6 Zustandsmaschine: Abfragebeispiele

Dieser Abschnitt zeigt (in Form von Programmbeispielen), wie...

• ...auf die Zustandsmaschine zuzugreifbar ist.

• ...wie Stati abzufragen sind.

Command_StateBusy(xStateBusy:= TRUE)

Status_StateBusy(xAllOrSlaves:=TRUE)

Page 74: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailZustandsmaschine: Abfragebeispiele

74 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Ziel/Aufruf Beispiel

Aktuellen Zustand abfragen

• IF-Bedingung• Untergeordnete Modul-

Statusabfrage durch Methode(Beispiel: Slave, Adresse = 1)

IF Status_UnitStateCurrent (MM_Address:= 1)= L_EATP_States_PackML.Execute THEN// Do something if Statemachine is in state EXECUTEEND_IF

• IF-Bedingung• Moduleigenen Zustand abfragen

IF Status_UnitStateCurrent (MM_Address:= L_EATP_CONST.OWNID)= L_EATP_States_PackML.Execute THEN// Do something if Statemachine is in state EXECUTEEND_IF

• CASE-Anweisung• Moduleigene/untergeordnete

Modul-Statusabfrage durch Methode

CASE Status_UnitStateCurrent (MM_Address:= L_EATP_CONST.OWNID)OF L_EATP_States_PackML.Execute:// Do something if Statemachine is in state EXECUTEL_EATP_States_PackML.Complete:// Do something else if Statemachine is in state COMPLETEL_EATP_States_PackML.Stopped:// Do something else if Statemachine is in state STOPPEDEND_CASE

Aktive Warnung abfragen

• IF-Bedingung• Moduleigene Warnung abfragen

IF AlarmInformation.eReaction= L_EATP_AlarmReactionType.Warning THEN// Do something if warning is activeELSE// Do something else if warning is not activeEND_IF

SOLL-Zustand des Masters abfragen

• IF-Bedingung• signalbasiert mit Methode

Status-StateRequested

IF Status_UnitStateCurrent (MM_Address:=L_EATP_CONST.OWNID) = L_EATP_States_PackML.Execute THENIF Status_StateRequested(MM_Address:= L_EATP_CONST.OWNID) = L_EATP_States_PackML. CompletingTHEN// Do something if actual state is EXECUTE and setstate to COMPLETING;END_IFEND_IF

Page 75: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 75

Architektur: Das ApplicationTemplate PackML im DetailWo ist das Verhalten eines Maschinenmoduls programmierbar?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.7 Wo ist das Verhalten eines Maschinenmoduls programmierbar?

Die individuelle PLC-Applikation ist in den Statemachines der einzelnen Betriebsarten zu program-mieren. Strukturieren innerhalb eines Maschinenmoduls: MAP-Teilfunktion den Tasks zuordnen( 28)

9.7.1 Zustandsübergang (State-Entry/State-Exit)

Jeder Wechsel einer zustandsbezogenen Aktion (in einer Aktion oder aus einer Aktion heraus) setztein bestimmtes Flag für einen Taskzyklus auf "TRUE".

• xStateEntry: Die zustandsbezogene Aktion setzt dieses Flag beim Eintritt für einen Taskzyklus auf "TRUE".

• xStateExit: Die zustandsbezogene Aktion setzt dieses Flag beim Verlassen für einen Taskzyklus auf "TRUE".

[9-27] Vordefinierte States: Beispiel Programmgerüst mit xStateEntry/xStateExit

Hinweis!

Folgender Ablauf ist bei Tasktiming-bezogenen Programmbefehlen zu berücksichtigen:• Das Zuordnen von Aktionen zu den einzelnen Taskzyklen ist bei einem Zustandsüber-

gang so umgesetzt wie bei der Ablaufsprache AS.• Beim Zustandsübergang "Idle""Execute" durchläuft der Taskzyklus...

...zuerst die Aktion Idle mit gesetztem xStateExit-Flag.

...danach die Aktion Execute mit gesetztem xStateEntry-Flag.

Page 76: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailAlarmhandling (Fehlerbehandlung)

76 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.8 Alarmhandling (Fehlerbehandlung)

Das ApplicationTemplate PackML enthält ein Alarmhandling zur Ausgabe von Alarmen. Dasstandardmäßig definierte Alarmhandling ist individuell veränderbar. In den Modulapplikationen(MAP) der Maschinenmodule sind Fehler/Warnungen/Informationen definierbar.

Das Alarmhandling hat folgende Funktionen:

• Alarmzustände innerhalb des MachineModuleTree (MMT) weiterleiten.

• Applikationsglobale Alarmliste mit dem aktuellen Alarmzustand aller im MMT enthaltenen Maschinenmodule.

• Das Alarmhandling ist an das Logbuch des Controllers angebunden, so dass die Fehlermeldungen im Logbuch sichtbar sind.

9.8.1 Alarme definieren

Die Methode SetAlarms definiert die Alarme mit den entsprechenden Eigenschaften in der je-weiligen Modulapplikation. Zum Verändern des Alarmhandlings gibt es im ApplicationTemplatePackML den FB L_EATP_Alarm_PackML. Am Eingang xAlarmTrigger sind applikationsspezifischeFehler auslösbar.

[9-28] Fügen Sie weitere Instanzen dieses FBs ein, wenn mehr als vier Fehlereingänge pro Instanz erforderlich sind.

Ein Alarm ist durch folgende Eigenschaften am FB definierbar:

Der FB L_EATP_Alarm_PackML hat vier Eingänge xAlarmTrigger[1...4] zum Setzen von Alarmen.Pro xAlarmTrigger-Eingang ist jeweils ein Alarm setzbar. L_EATP_Alarm_PackML ( 98)

Eigenschaft Beschreibung Weiterführende Information

wAlarmID Eindeutige Alarmnummer (ID). 16 Bit-Alarmnummer, Datentyp: WORD.

dwAlarmValue Detaillierte Alarminformation: Für jeden Alarm ist ein Zusatzattribut vom Typ DWORD verwendbar, das (in Zusammenhang mit der Alarmnum-mer) interpretierbar ist.

Beispielhaft sind bei einem SammelAlarm "Drive Error" die detaillierten Alarminformationen des jeweiligen Antriebsreglers verwendbar.

sAlarmMessage Textuelle Beschreibung des Fehlers. Der Alarmtext ist in der Attributtabelle hinterlegt. Der Alarmtext ist immer dann zu verwenden, wenn kein übergeordneter Mechanismus zum landessprachlichen Umsetzen der Alarmnummer aktiviert ist (Beispiel: Übergeordnete Visualisierung).

dwAlarmCategory Kategorie/Typ des Alarms.

eAlarmReaction Alarmreaktion: Aus der Liste auswählbar.

dwAlarmPriority Priorität für Alarme des gleichen Reaktionstyps vergeben.

xAlarmAckNeeded Quittierverhalten: Angabe (ja/nein), ob der ausgelöste Alarm zu quittieren ist.

Das Quittierverhalten ist nicht bei allenAlarmreaktionstypen veränderbar.

Page 77: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 77

Architektur: Das ApplicationTemplate PackML im DetailAlarmhandling (Fehlerbehandlung)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.8.2 Alarme quittieren

Das Quittieren von Alarmen löscht alle als quittierpflichtig definierten Meldungen/Fehlerursachenaus der Alarm List. Das Quittieren von Alarmen ist durch folgende Vorgehensweisen aktivierbar:

1. Dauerhaft aktivieren: Innerhalb der Modulapplikation über folgenden Programmbefehl:

2. Für einen Zyklus aktivieren: Mit der Methode Command_AlarmQuit, steigende Flanke FALSETRUE. Die Methode setzt den Eingang xQuitErrors für einen Zyklus = TRUE.

Sofern mehrere Alarme auftreten, sind diese nicht einzeln quittierbar.

9.8.3 Alarme quittieren: Reaktion im Maschinenmodul

Der Ausgang xErrorQuitActive am Baustein L_EATP_ModuleErrorHandler_PackML ist innerhalbeiner Modulapplikation verwendbar, um das Quittieren von Alarmen an einem eingebundenenFunktionsbaustein auszuführen.

Alarme definieren - Prinzipielle Vorgehensweise

ErrorHandler.xQuitErrors := TRUE; //Alarmquittieren aktiv, solange Wert = TRUE

• Die Methode SetAlarms ist um einen Funktionsbaustein zu erweitern.

• Der FB MAP_EmptyModul_App1 ist um die dazugehörige Deklaration zu erweitern.

• Die Eingänge xAlarmTrigger[1...4] sind mit der Modulapplikation zu verknüpfen.

• Dem jeweiligen Alarm-Eingang ist der entsprechenden Parameter zuzuordnen:• Nummer,• Text,• Priorität,• Kategorie,• Quittierverhalten

Page 78: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailAlarme auslösen

78 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.9 Alarme auslösen

Beispiel: Alarm auslösen/weiterleiten - innerhalb eines Maschinenmoduls

Programmierzeile zum Auslösen eines Alarms innerhalb der Maschinenapplikation:

[9-29] Beispiel: Alarm1 von FB AlarmsA auslösen

Zwischen dem Alarmhandling und der Statemachine gibt es für die Alarmreaktionen "Stop" und"Abort" eine vordefinierte Kopplung.

• Die Alarmreaktionen lösen im Modul, in dem der Fehler aufgetreten ist, ein PackML-Kommando "STOP" oder "ABORT" aus.

• Diese Alarmtypen deaktivieren das Modul automatisch, dies hat keine direkte Auswirkung auf das Master-Modul.

• Die Alarmreaktionstypen der Slaves und die des eigenen Moduls sind individuell definierbar, so dass dadurch der gewünschte Zustandswechsel in der Statemachine möglich ist.

Beispiel: Ausgelöster Alarm mit Reaktionstyp "Abort" bei Modul 1

Das nachfolgende Beispiel zeigt exemplarisch den Ablauf, wenn ein Alarm vom "Abort" an einemSlave-Modul ausgelöst wird. Das Beispiel enthält zwei unterlagerte Slave-Module.

scMAL.AlarmsA.xAlarm1Trigger:=True;

• Die Statemachine befindet sich im Zustand "Execute".

• Der aktuelle Zustand ist rot hinterlegt.

• Ein Alarm des Reaktionstyps "Abort" wird im Slavemodul Module_1 ausgelöst, der Eingang Al. 1. ist rot hinterlegt.

Page 79: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 79

Architektur: Das ApplicationTemplate PackML im DetailZentrales Verwalten von Alarmen

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Um das Slavemodul Modul_1 wieder an den Master anzukoppeln ist zuerst die Ursache für denAlarm zu beheben.

• Mit Hilfe einer Prozedur ist sind beide Statemachines, von Master- und Slave-Modul zu synchro-nisieren.

• Das deaktivierte Slave-Modul ist über die Methode Command_DisableModule wieder an die Statemachine des Master-Moduls anzukoppeln. Erneutes Ankoppeln von Maschinenmodulen ( 72)

9.10 Zentrales Verwalten von Alarmen

Das Alarmhandling übermittelt alle Alarme, die in den Maschinenmodulen auftreten, an die globaleAlarm List.

• Die Statemachine des Slave-Moduls Modul_1 entkoppelt sich automatisch vom Master-Modul, "Module Disabled" ist rot hinterlegt.

• Die Statemachine wechselt in den Zustand "ABORTING".

• Das Master-Modul Machine Control bleibt unverändert im Zustand "EXECUTE".

• Die Maschinenmodule leiten die Meldungen an den Alarm List-Handler weiter.

• Alle aktuellen Alarme sind in der globalen Alarm List sichtbar.

Page 80: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailDer Baustein Alarminformation

80 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

So starten Sie die globale Alarmliste:

1. Ordner A20_Visualisation, L_Main aufrufen.

2. Schaltfläche Alarm List klicken, um die globale Fehlerliste anzuzeigen.

• Im Bereich Alarm List sind die als „quittierpflichtig“ definierten Alarme sichtbar, die noch anstehen/zu quittieren sind.

9.11 Der Baustein Alarminformation

Dieser Baustein ist verwendbar, um eine Alarmsammelinformation für das eigene Maschinenmo-dul und alle untergeordneten Slavemodule zu erhalten.

Eine Instanz Alarminformation ist in der Methode GetAlarmInformation in jedem Mode-FB zum Ma-schinenmodul vordefiniert, die ohne weiteres Programmieren verwendbar ist.

9.12 Übersicht der Alarme von allen Maschinenmodulen exportieren: CSV-Datei

Das ApplicationTemplate PackML bietet die Möglichkeit, alle Fehler/Fehlerdefinitionen in eine*.CSV-Datei zu erstellen.

• Die CSV-basierte Textdatei enthält die Fehlerdefinitionen von allen im Maschinenmodulbaum (MMT) eingebunden Maschinenmodulen.

Defaultbelegung der Eingänge:

• xEnable:=TRUE

• xIncludeOwnModule:=TRUE

Page 81: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 81

Architektur: Das ApplicationTemplate PackML im DetailLogbuch

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Die CSV-Datei (Dateiname: AT_DefinedErrors.CSV) ist nach dem Erstellen aus dem »PLC Designer« im Hauptverzeichnis des Controllers zu finden (flüchtig im Flash-Speicher des Controllers). Dadurch ist die Datei während der Projektierungsphase einer Maschinenapplikation (Beispiel: für ein externes Visualisierungssystem) verwendbar.

So schreiben Sie die CSV-Datei:

Klicken Sie auf der Visualisierungsoberfläche von L_Main auf die Schaltfläche Create CSV File.

[9-30] Beispiel: Struktur der exportierten CSV-Datei

Für Experten: Export der CSV-Datei via Applikation

• Alternativ ist der Datei-Export über xExecuteCreateCSVFile des Error List-Handlers L_EATP_GVL.ErrorListHandler aus dem Applikationsprogramm heraus aufrufbar (FALSE->TRUE Flanke).• Folgende Ausgänge liefern Informationen über den Fortschritt:

xBusyCreateCSVFile, xDoneCreateCSVFile und sInfoCreateCSVFile .

9.13 Logbuch

Das ApplicationTemplate PackML übermittelt die Fehlerereignisse an die Logbuch-Funktion desControllers. Die Logbuch-Einträge sind in chronologischer Reihenfolge im Logbuch des Controllerssichtbar.

So zeigen Sie das Logbuch des Controllers an:

1. Den Controller in der Geräte-Ansicht doppelklicken.

2. Die Registerkarte Log aufrufen, um die Inhalte des Logbuchs anzuzeigen:

• Beispiel: Logbuch-Ansicht (zwei Warnungen/Fehler). Klicken Sie die Schaltfäche , um die Ansicht zu aktualisieren.

Die Spalte Beschreibung enthält Informationen über die Ursache der jeweiligen Meldung.

Die Logbuch-Einträge (Spalte Beschreibung) haben den folgenden Aufbau:

Page 82: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailModuldiagnose

82 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Beispiel:

M1.2, Module2, F12002, Demo: Drive Error of drive 2

9.14 Moduldiagnose

Zum Diagnostizieren der Module steht im ApplicationTemplate PackML eine Visualisierung zurVerfügung.

• Die Schaltfläche Modules ruft die Detailansicht zu den Maschinenmodulen auf.

• Klicken Sie auf das gewünschte Maschinenmodul, um den jeweiligen Zustand und weitere Details anzuzeigen.

• Die Visualisierung zur Moduldiagnose ist als separate Visualisierung L_EATP_VisModuleList (beispielsweise für eigene Visualisierungen) verfügbar.

9.15 Multitasking

Das ApplicationTemplate PackML ist Multitasking-fähig, folgende Tasks sind definiert:

<(absolute) Maschinenmodul-Adresse>, <Modul-Name>, <Fehlerreaktion mit Fehler-ID>,<Fehlertext> <(optionale) Detaillierte Fehlerinformation >

Bestandteil Ursprung

M1.2 Absolute ID des Maschinenmoduls

Module2 Name des Maschinenmoduls

F12002 ID des Fehlers, Reaktionstyp: Fehler

Demo: Drive Error of drive 2 Fehlertext

Taskebene Priorität Typ Zykluszeit(fett = Defaultwert)

Task_High hoch zyklisch kurz (1, 2, 4 ms)

Task_Mid mittel zyklisch mittel (4, 6, 8, 16 ms)

Task_Free gering freilaufend freilaufend

Page 83: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 83

Architektur: Das ApplicationTemplate PackML im DetailMultitasking

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Im Ordner A11_ModuleAppCalls ist die jeweilige Modulapplikationen der entsprechenden Task zuzuordnen.• ModuleAppCalls (MAC) sind die Aufrufe einer Modulapplikationen (MAP) von den

dazugehörigen Maschinenmodulen (MM) der entsprechenden Task.

[9-31] Entsprechend der Taskkonfigurationen sind die dazugehörigen Programme (CallFree, CallHigh und CallMid) aufgerufen. Diese wiederum rufen die ModulAppCall-Programme (MAC_Task_Free, MAC_Task_High und MAC_Task_Mid) auf.

[9-32] Das ModulAppCall-Programm enthält Maschinenmodul-Applikationen, die der entsprechenden Task zugeordnet sind.

• Das Anbinden an die Peripherie (wie beispielsweise I/O-System und Visualisierung) ist im entsprechenden ModulAppCall-Programm (MAC) vorzunehmen.

• Die Modulapplikationen , die den entsprechenden Tasks zugeordnet sind, befinden sich...

• ...im Ordner A70_MachineModuleSources oder• ...in den entsprechenden Modulbibliotheken.

Um die Multitasking-Funktionalität in einemMaschinenmodul nutzen zu können, verfügtjedes Maschinenmodul über dreiModulapplikationen (ModApp) verfügen.

Page 84: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Architektur: Das ApplicationTemplate PackML im DetailKonsistente Datenübertragung

84 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

9.16 Konsistente Datenübertragung

Ein definierter Datenbereich wird so zwischen zwei Tasks ausgetauscht, dass dieser konsistent andie andere Task übergeben wird.

Die Datenkonsistenz ist...

• ...abhängig von den Daten gewährleistet oder

• ...bei bestimmten Anwendungsfällen zu gewährleisten. Je nach Anwendungsfall ist wie folgt vorzugehen:

Reservieren/Sperren von Datenbereichen der AppChannelData(ACD)-Struktur

Die ACD-Struktur enthält einen Baustein L_EATP_CriticalSection, der mit folgenden Methoden dieDatenkonsistens echtzeitkritischer Daten gewährleistet.

• Sollten mehrere Bausteine benötigt werden, sind in der ACD-Struktur weitere Instanzen des Bausteins verwendbar.

Anwendungsfall Datenelement/Datentyp Beschreibung

Datenkonsistenz innerhalb einzelner Datenelemente

GanzzahligINT

DINT

Direkter Zugriff ist erlaubt.

BitfelderWORD

DWORD

Datenkonsistenz innerhalb eines Datenelementes

GleitkommaLREAL

Beim Einsatz des Controllers ist die Datenkonsistenz einer LREAL-Variable gewährleistet.

Datenkonsistenz für mehr als ein Datenelement

Die Datenbereiche sind...• ...vor dem ersten Zugriff mit der

Methode Lock() für andere Tasks zu sperren.

• ...nach dem letzten Zugriff mit der Methode Unlock() wieder freizugeben.

Methode Funktion

Lock() Datenbereich des ACD-Struktur reservieren .

Unlock() Reservierte Daten der ACD-Struktur freigeben.

LockState() Sperrzustand eines Datenbereiches abfragen.

Hinweis!

Performanceverlust vermeiden

Vermeiden Sie es, echtzeitkritische Daten der ACD-Struktur durch mehrere MAPs innerhalb des gleichen Maschinenmoduls durch die CriticalSection zu sperren.• Reservieren Sie für jede MAP einen eigenen Bereich für echtzeitkritische Daten in der

ACD-Struktur , um zu verhindern, dass die Modulapplikation(MAP) einer niederpriorisierten Task(Task_Mid) die MAP einer höherpriorisierten Task(Task_High) ausbremst.

Page 85: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 85

Architektur: Das ApplicationTemplate PackML im DetailKonsistente Datenübertragung

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

1. Bevor auf den zu übertragenden Datenbereich konsistent zugreifbar ist, ist in einer Task die Methode Lock() aufzurufen. Die Methode Lock() liefert einen BOOL-Wert zurück, wenn...• ...eine andere Task die Methode bereits aufgerufen hat ("TRUE").• ...keine Task die Methode bisher aufgerufen hat ("FALSE").

[9-1] Beispiel: Die Methode Lock() sperrt echtzeitkritische Daten der ACD-Struktur.

2. Nach dem letzten exklusiven Zugriff auf den Datenbereich muss eine Task die Methode Unlock() aufrufen, um den Datenbereich freizugeben.

[9-2] Beispiel: Die Methode UnLock() gibt einen reservierten Datenbereich der ACD-Struktur frei.

Programm in Maschinenmodul 1 ( TaskMidPriority = 4 ms):

Programm in Maschinenmodul 2 ( TaskHighPriority = 2 ms):

Hinweis!

Eine Task darf den Datenbereich nur verwenden (lesend oder schreibend), wenn die Methode appChannelLock() den Wert TRUE zurückgeliefert hat.

IF Lock() THEN For i:=0 TO 2000 by 1 DO rACDOwn.aCAMData[i] := aCAMData[i];END_FOR

IF Lock() THEN For i:=0 TO 2000 by 1 DO rACDOwn.aCAMData[i] := aCAMData[i];END_FOR

Unlock()

IF Lock() THEN For i:=0 TO 2000 by 1 DO rACDOwn.aCAMData[i] := aCAMData[i];END_FOR

Unlock()

IF NOT LockState() THEN For i:=0 TO 2000 by 1 DO aCAMData[i] := rACDModule1.aCAMData[i];END_FOREND_IF

Page 86: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Visualisieren im ApplicationTemplate PackMLDie Visualisierung erweitern

86 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

10 Visualisieren im ApplicationTemplate PackML

Das ApplicationTemplate PackML enthält die vordefinierte Visualisierung L_Main

im Ordner A20_Visualisation.

Um eine weitere Visualisierung aus den Visualisierungselementen im ApplicationTemplate PackMLzu erstellen, sind die im folgenden Abschnitt beschriebenen Schritte auszuführen.

10.1 Die Visualisierung erweitern

In diesem Abschnitt erfahren Sie, wie Sie exemplarisch die Visualisierung L_Main um weitereVisualisierungsseiten erweitern können.

So gehen Sie vor:

1. Visualisierung aufrufen:

• Den Ordner 20_Visualisation doppelklicken.

• L_Main doppelklicken.

• Voraussetzung zum Erweitern der Visualisierung ist in diesem Beispiel, dass vorab weitere Maschinenmodule in den

MaschinenModulTree ( MMT) einzubinden sind. Maschinenmodule in den MMT einbinden ( 43)

• Im Ordner A11_ModulAppCalls ist die weitere Modulapplikation im Programmteil einzubinden.

• MAC_Task_High aufzurufen. (Beispiel: MM_Dcl.Modul3.App1)

Page 87: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 87

Visualisieren im ApplicationTemplate PackMLDie Visualisierung erweitern

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

2. Visualisierungs-Elementenliste öffnen:

• <Alt>+<F6> oder den Menübefehl Visualisierung Elementliste aufrufen.

3. Auf der Registerkarte Elementliste die Visualisierung #0 Frame auswählen.• Per Rechtsklick auf den Visualisierungs-Frame den Befehl Frame Auswahl auswählen.

• Elementliste auswählen: Befehl Visualisierung Elementliste (oder <Alt>+<F6>).

4. Per Rechtsklick den Befehl Frame Auswahl aufrufen.• In folgendem Dialogfenster sind die Framevisualisierungen in der Reihenfolge

aufgelistet, wie die Schaltflächen/Steuerelemente angeordnet sind.

• Die Visualisierung des neuen Moduls (Beispiel: MVis_Module3) markieren.• Schaltfläche > klicken, um die Visualisierung auszuwählen.• Die Auswahl durch Klicken von OK bestätigen.

5. Auf der Registerkarte Elementliste die Visualisierung #0 Frame auswählen.• Im Dialogfenster Eigenschaften den Bereich Referenzierte Visualisierungen auswählen.

Die gewünschten Daten sind der entsprechenden Visualisierung zuzuordnen:• Auf den Namen der Visualisierung klicken.• Im rechten Bereich von m_Input_FB das gewünschte Feld anklicken.

• Hinweis: Die Option Namensraum-Präfix einfügen ist zu aktivieren.

Page 88: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Visualisieren im ApplicationTemplate PackMLEigenschaften von Schaltflächen definieren

88 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Mit der Eingabehilfe aus dem Element Application• ...den gewünschten Funktionsbaustein auswählen, der die Daten für die entsprechende

Visualisierungsseite bereitstellt.

10.2 Eigenschaften von Schaltflächen definieren

So gehen Sie vor:

1. Im Ordner A71_LocalSources\Structs ENUM Vis_eFrame erweitern:

Den Namen der Visualisierung manuell hinzufügen, Beispiel: MVis_Module3

Hinweis: Die Anordnung der Einträge im ENUM Vis_eFrame muss der Reihenfolge der

Auswahl von #0 Frame der Visualisierung L_Main entsprechen.

2. Im Order A20_Visualisation\SubVisu die Visualisierung Keys_Main doppelklicken.

3. Eine neue Schaltfläche erzeugen.• Die Schaltfläche Module 2 markieren:

• Rechtsklick Kopieren

• Rechtsklick Einfügen• Die Schaltfläche an die gewünschte Stelle platzieren.• Schaltfläche umbennen (Beispiel: Module 3):

4. Im Eigenschaften-Dialog der Schaltfläche Module 3 die Variable Color variables\Toggle color auswählen.

5. Den Wert der zuvor kopierten Schaltfläche an den neuen Namen anpassen (Beispiel: Module3).

Page 89: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 89

Visualisieren im ApplicationTemplate PackMLEine Visualisierung hinzufügen: Prinzipielle Vorgehensweise

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

• Bei Toggle color die Zeile MVis.scVisuIntern.diFrame=Vis_eFrame.MVis_Module3 eintragen.

6. Bei OnMouseUp den ST-Code in MVis.scVisuIntern.diFrame:=Vis_eFrame.MVis_Module3 ändern:

10.3 Eine Visualisierung hinzufügen: Prinzipielle Vorgehensweise

• Die Visualisierung ist im Ordner

A20 Visualisation hinzuzufügen:

Per Rechtsklick auf den Ordner A20 Visualisation folgenden Befehl ausführen:

Objekt

hinzufügen Visualisierung

• Den gewünschten Namen der Visualisierung vergeben.Öffnen klicken.

• Die Visualisierung ist im Ordner

A20 Visualisation hinzugefügt.

• Einen Frame in der Visualisierung anlegen: Per Drag&Drop einen Frame aus dem Dialogfenster Werkzeuge anlegen.

Page 90: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Visualisieren im ApplicationTemplate PackMLEine Visualisierung hinzufügen: Prinzipielle Vorgehensweise

90 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

p

• Die Frame-Größe anpassen.

• Per Rechtsklick in den Frame den Befehl Frame Auswahl ausführen.• Die gewünschte Visualisierung unter

Verfügbare Visualisierungen durch Klicken der Schaltfläche > in die Auswahl übernehmen.

• OK klicken, um die Visualisierung in den Frame zu übernehmen.

• Beispiel : Um die globale Fehlerliste zu übernehmen, ist der Eintrag L_EATP.L_EATP_VisErrorList auszuwählen.

• Die Größe der Visualisierung anpassen/positionieren.

• Für die Fehlerliste (Error List) sind keine weiteren Zuordnungen notwendig.Ergebnis: Die Visualisierung ist nun funktionsfähig

• Beispiel: Um ein Fenster zum Aktivieren von Fehlern für ein bestimmtes Maschinenmodul einzufügen, ist die Visualisierung L_EATP.L_EATP_VisErrorSet auszuwählen.

Beispiel: Zuweisen der Visualisierung für den Block ErrorsA der Modulapplikation App1 von Module1.

• Der Visualisierung L_EATP.L_EATP_VisErrorSet ist die Datenquelle zuzuweisen:• Im Dialogfenster Eigenschaften die

entsprechende Datenquelle zuweisen.

• Tipp: Für die vordefinierten Visualisierungselemente des ApplicationTemplate PackML sind keine manuellen Datenzuordnungen erforderlich.• Dadurch ist (nach dem

Kompiliervorgang) ohne Mehraufwand ein Einloggen/Online gehen möglich.

Page 91: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 91

Die Methoden im ÜberblickDie Admin-Methoden im Überblick: Admin_xxx

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

11 Die Methoden im Überblick

11.1 Die Admin-Methoden im Überblick: Admin_xxx

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Admin_ModeCumulativeTimeLiest die gesamte Wartezeit des angegebe-nen Moduls aus.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

eModeL_EATP_Modes_PackML

Mode angeben, dessen Zeitbedarf angeziegt werden soll.

Rückgabewert/Datentyp

MethodeUDINT

Zeit in Sekunden

Admin_ModeCurrentTimeLiest die Wartezeit aus, seitdem sich das an-gefragte Modul im aktuellen Mode befindet.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeUDINT

Zeit in Sekunden

Admin_ResetAllTimesZurücksetzen aller Zeiten in allen Modes des Slave-Moduls/das eigenen Moduls auf null.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Admin_ResetCurrentModeTimesZurücksetzen aller Zeiten im aktuellen Mode des Slave-Modul/des eigenen Moduls auf null.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Admin_StateCumulativeTime Liest die gesamte Wartezeit des Slave-Mo-dul/des eigenen Moduls im aktuellen Mode/Zustand aus.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

eModeL_EATP_Modes_PackML

Mode, dessen Zeit auszulesen ist.

eStateL_EATP_States_PackML

Zustand, dessen Zeit auszulesen ist.

Rückgabewert/Datentyp

MethodeUDINT

Zeit in Sekunden

Admin_StateCurrentTimeLiest die aktuelle Wartezeit des Slave-Mo-duls/des eigenen Moduls im aktuellen Zu-stand aus.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeUDINT

Zeit in Sekunden

Page 92: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Die Methoden im ÜberblickDie Command- Methoden im Überblick: Command_xxx

92 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

11.2 Die Command- Methoden im Überblick: Command_xxx

Die Command-Methoden in alphabetischer Reihenfolge.

Admin_StatesAvailableLiefert den Status der aktivierten/deaktivier-ten Zustand im aktuellen Mode zurück, als Bit-Maske.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeDWORD

Bit-Status• TRUE: Zustand ist aktiviert.• FALSE: Zustand ist deaktiert.

Bit/Zustand

0: Undefined 1: Clearing 2: Stopped 3: Starting 4: Idle 5: Suspended 6: Execute 7: Stopping 8: Aborting 9: Aborted10: Holding11:Held12: UnHolding13: Suspending14: UnSuspedning15:Resetting16:Completing17:Complete

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Command_AlarmQuitSetzt das Bit zum Quittieren eines Alarms bei eine Slave-Modul/beim eigenen Maschinen-modul

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

xValueBOOL

• TRUE: Das Quittieren von Alarmen ist aktiviert.

• FALSE: Das Quittieren von Alar-men ist deaktiviert.

Command_CmdStateBusySetzt das Maschinenmodul in den Zustand "Busy". Das verhindert ein Weiterschalten der Transition.

Eingang

xStateBusyBOOL

• TRUE: Zustand "Busy" setzen.• FALSE: Zustand "Busy"

zurücksetzen.

Command_CtrlCmdUmschalten der jeweiligen Transitionen der PackML-Statemachine.

Eingänge

eCtrlCmdL_EATP_CtrlCmds_PackML

Zu setzender Soll-Zustand des ange-fragten Maschinenmoduls.

xCmdChangeRequestBOOL

TRUE: Soll-Zustand abfragen.

Page 93: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 93

Die Methoden im ÜberblickDie Status-Methoden im Überblick: Status_xxx

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

11.3 Die Status-Methoden im Überblick: Status_xxx

Command_DisableModuleAktiviert/Deaktiviert das Entkoppeln eines Slave-Maschinenmoduls vom Master.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

xValueBOOL

• TRUE: Entkoppeln aktivieren.• FALSE: Entkoppeln deaktivieren:

Das Maschinenmodul ist an das Master-Modul gekoppelt.

Command_SendAlarmReactionIfDisabledAktiviert/Deaktiviert das Senden von Alarm-reaktionstypen zum Master-Modul, auch wenn das Modul deaktiviert ist (DisableMo-dule).

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

xSend... Aktiviert/Deaktiviert das Senden ei-nes Alarm-Reaktionstyps:TRUE: Senden des Typs aktivieren/ FALSE: Senden des Typs deaktivieren.

• ...SystemFault• ...Abort• ...Stop• ...Fault

BOOL

• Reaktionstyp "Systemfault"• Reaktionstyp "Abort"• Reaktionstyp "Stop"• Reaktionstyp "Fault"

Command_UnitModeUmschalten der Betriebsarten aus den States heraus, die in der PackMLConfig definiert sind. Vordefinierte Betriebsarten in ModApp1 ( 20)

Eingänge

eUnitModeL_EATP_Modes_PackML

Zu setzender Mode.

xUnitModeRequestBOOL

TRUE: Soll-Mode abfragen.

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Status_DisabledModulePrüft, ob das Slave-Modul/das eigene Modul vom Master entkoppelt ("disabled") ist.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

xValueBOOL

• TRUE: Entkoppeln ist aktiviert.• FALSE: Entkoppeln deaktiviert/

Das Maschinenmodul ist an das Master-Modul gekoppelt.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Maschinenmodul ist ent-koppelt (Status: "disabled").

• FALSE: Maschinenmodul ist an den Master gekoppelt (Status: "enabled").

Mastermodul abfragen

Status_MasterUnitModeCurrentGibt den aktuellen Mode des Mastermoduls zurück.

Rückgabewert/Datentyp

MethodeL_EATP_Modes_PackML

-

Page 94: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Die Methoden im ÜberblickDie Status-Methoden im Überblick: Status_xxx

94 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Status_MasterUnitStateCurrentGibt den aktuellen Zustand des Mastermo-duls zurück.

Rückgabewert/Datentyp

MethodeL_EATP_States_PackML

-

Zustände abfragen

Status_StateBusyPrüft, ob sich Module im Zustand "Busy" sind. Falls ja, wird das Umschalten der Statemachine verhindert.

Eingänge

xAllOrSlavesBOOL

• TRUE: Alle Module abfragen.• FALSE: Nur die Slave-Module

abfragen.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Eines der Module hat den Zustand "Busy".

• FALSE: Kein Modul ist im Zustand "Busy".

Status_StateChangeInProcess Prüft, ob das abgefragte Modul aktuell einen Zustandswechsel durchführt.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Zustandswechsel aktiv.• FALSE: Kein Zustandswechel.

Status_StateRequestedPrüft, ob am abgefragten Modul ein Zustand angefordert ist.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Zustandsanfrage ist aktiv.• FALSE: Aktuell keine Zustandsan-

frage am Modul.

eStateRequestedL_EATP_States_PackML

Angeforderter Zustand des Moduls.

Status_UnitStateCurrentPrüft, in welchem Zustand sich das angefrag-te Modul aktuell befindet.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeL_EATP_States_PackML

Aktueller Zustand des angefragten Maschinenmoduls.

Modes abfragen

Status_ModeChangeAllowedPrüft, ob ein bestimmter Mode-Wechsel für das angefragte Modul zulässig ist.

Eingänge

eNextModeL_EATP_Modes_PackML

Gewünschter Mode, in den das Ma-schinenmodul wechseln soll.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Der gewünschte Mode-Wechsel ist für das Modul zuläs-sig.

• FALSE: Der Wechsel in den am Ein-gang gesetzten Mode ist bei die-sem Modul nicht zulässig.

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Page 95: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 95

Die Methoden im ÜberblickDie Status-Methoden im Überblick: Status_xxx

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Status_UnitModeChangeInProcessPrüft, ob das angefragte Modul aktuell einen Wechsel des Modes durchführt.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Das Modul führt einen Wechsel des Modes durch.

• FALSE: Aktuell kein Wechsel des Modes aktiv.

Status_UnitModeCurrentPrüft, in welchem Mode sich das angefragte Modul aktuell befindet.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeL_EATP_Modes_PackML

Aktueller Mode des angefragten Ma-schinenmoduls.

Status_UnitModeRequestedPrüft, ob am angefragten Modul aktuell der Mode angefragt ist/in welchem Mode sich das Modul aktuell befindet.

Eingänge

MM_AddressL_EATP_MM_Address

ID des Moduls, dessen aktueller Zu-stand anzufragen ist. Der Wert "0" und L_EATP_CONST.OWNID adres-sieren die moduleigene ID.

Rückgabewert/Datentyp

MethodeBOOL

• TRUE: Anfrage des aktuellen Mo-des ist aktiv.

• FALSE: Kein Mode angefragt.

eStateRequestedL_EATP_Modes_PackML

Angeforderter Mode.

Bezeichner/Funktion Übergabewert/Datentyp Beschreibung

Page 96: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Index

96 Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

AA75 UserTags 60

AbfragebeispielSOLL-Zustand der Zustandsmaschine des übergeordneten Masters abfragen 74Zustandsmaschine abfragen (IF-Bedingung) 74

AbfragebeispieleZustandsmaschine 74

ACD-Struktur 61, 64

Achse einfügen 50

Adressierung der Maschinenmodule 17

Alarme definieren - Prinzipielle Vorgehensweise 77

Alarme quittieren 77

Alarmhandling 76, 79Fehler auslösen 78Fehler definieren 76

Alarminformation 80

Anwendungshinweise (Darstellung) 8

appChannelLock 84

appChannelUnlock 84

ApplicationTemplate starten 32

Arbeiten mit dem ApplicationTemplate 38

AT_ACTION_ADD_MODULE 43

AT_ACTION_ADD_MODULEAPPLICATION 56

AT_ACTION_CREATE_NEW_MODULE 42

AT_ACTION_CREATE_NEW_MODULEAPPLICATION 54

Auf moduleigene Strukturvariablen zugreifen 59

Auf Strukturen von anderen Maschinenmodulen zugreifen 61

Auf Strukturvariablen von Maschinenmodulen zugreifen 59

Aufbau eines Maschinenmoduls 16

BBaseChannel 18

CCommand_AlarmQuit 92

Command_CmdStateBusy 91

Command-Methoden 92

DDokumenthistorie 6

EEin Modul umbenennen 43

Einloggen 34

Elemente des ApplicationTemplates 15

E-Mail an Lenze 98

Erneutes Ankoppeln von Maschinenmodulen 72

Error ListCSV-Datei exportieren 80

Errorhandling (Fehlerbehandlung) 24, 76

Erste Schritte - ApplicationTemplate bedienen 36

Erstelltes Maschinenmodul einbinden 43

FFeedback an Lenze 98

Fehler quittieren- Reaktion im Maschinenmodul 77

Fehlerbehandlung 76

Fehlerreaktionstypen 76

Funktionalität des Maschinenaufbaus in Maschinenmodule überführen 27

GGültigkeit der Dokumentation 6

II/O-Module einbinden 52

Innerhalb der Modulapplikation programmieren 55

KKommunikation zum Controller einrichten 11

Kommunikation zwischen den Maschinenmodulen 18

Konsistente Datenübertragung 84

LLogbuch 81

MMAC_Task_Free 82

MAC_Task_High 82

MAC_Task_Mid 82

machine module 16

machine module tree 16

MachineModulTree 15

MAP 17

Maschinenmodul (MM) 16

Maschinenmodul erstellen 42

Maschinenmodulbaum 15

Methoden-Übersicht - ApplicationTemplate 91

MM 16

MM_Dcl 30

MM_EmptyModule_PackML 42

MM_IO 30

MM_Par 30

MM_PD 30

MM_Vis 30

MMD-Struktur 64

MMT 15

Modes 18

Moduladresse, absolute 17

Moduladresse, relativ 17

Modulapplikation 17

Modulapplikation einbinden 56

Modulapplikation erstellen 54

Modularisieren des Automationssystems 27

Moduldiagnose 82

Module Application 17

Index

Page 97: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 97

Index

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

ModuleAppCalls 17, 28, 30, 82

Modulkennung 48

Multitasking 82

PPLC-Programm laden und starten 34

Projekt in die Steuerung übertragen (Einloggen) 34

Projektdaten übersetzen 34

Projekterstellung - Prinzipielle Vorgehensweise 25

SScreenshots 5

Sicherheit 10

Sicherheitshinweise (Darstellung) 8

Standardverhalten 71

Statemachine 23, 65

Stati/Zustände 69

Status-Austritt (State-Exit) 75

Status-Eintritt (State-Entry) 75

Status-Methoden 93

Statusübergänge beeinflussen 73

Statusübergänge und Bedingungen - Übersicht 23

Strukturieren innerhalb eines Maschinenmoduls 28

TTransitionen umschalten, Methoden 66

UUserTags 60

VVerwendete Hinweise 8

Verwendete Konventionen 7

VisualisierungSchaltflächen definieren 88

Visualisierung der Maschinenmodule 37

Visualisierung erweitern 86

WWeitere Geräte anhängen - Bussystem EtherCAT 39

ZZiel des ApplicationTemplates 13

Zielgruppe 5

Zusätzlichen Betriebsmodus anlegen 21

Zustandsmaschine (Statemachine) 23, 65

Zustandsmaschine-Programmbeispiele 73

Zustandsübergänge im Detail 68

Page 98: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

98 L

Ihre Meinung ist uns wichtig

Wir erstellten diese Anleitung nach bestem Wissen mit demZiel, Sie bestmöglich beim Umgang mit unserem Produkt zuunterstützen.

Vielleicht ist uns das nicht überall gelungen. Wenn Sie dasfeststellen sollten, senden Sie uns Ihre Anregungen und IhreKritik in einer kurzen E-Mail an:

[email protected]

Vielen Dank für Ihre Unterstützung.

Ihr Lenze-Dokumentationsteam

Page 99: PLC Designer V3 - download.lenze.comdownload.lenze.com/AKB/German/201400199/SW_ApplicationTemplate... · Lenze · ApplicationTemplate PackML · 1.0 DE - 05/2014 7 Über diese Dokumentation

© 05/2014

Lenze Automation GmbHHans-Lenze-Str. 1D-31855 AerzenGermany

Service Lenze Service GmbHBreslauer Straße 3D-32699 ExtertalGermany

+49 (0)5154 – 82 -0 00 80 00/24 4 68 77 (24 h helpline)

+49 (0)5154 – 82 - 2800 +49 (0)51 54/82-11 12

[email protected] [email protected]

www.Lenze.com

SHPPLCDSD-NG 13464081 DE 1.0 TD11

10 9 8 7 6 5 4 3 2 1