Einführung AFL Standardbausteine für CODESYS V2
Mit AFL Standardbausteinen wird die Funktionalität der AMK Geräte in ein PLC Projekt eingebunden. Der Programmieraufwand durch die Verwendung der AFL Standardbausteine ist deutlich reduziert. Die AFL Standardbausteine bestehen aus einer Vielzahl von Funktionsbausteinen aus verschiedenen AMK Bibliotheken.
Übersicht der AMK Bibliotheken
|
Die AFL Standardbausteine bestehen aus AFL Applikationsbausteinen und sind Bestandteil der AFL Function Library. Siehe 'AMK AFL Applikationsbausteine'. Die AFL Applikationsbausteine bestehen aus den PLC Grundbausteinen. (Siehe DokumentSoftwarebeschreibung AIPEX PRO V3 (Teile-Nr.205210)) |
Beispiel anhand dem Standardbaustein 'STANDARD_AXIS':
AFL Standardbausteine
Der Standardbaustein
AFL Applikationsbausteine
AMK stellt mit den AFL Applikationsbausteinen komplexere Funktionen zur Verfügung. Sie bestehen aus einzelnen PLC Grundbausteinen. Die Funktionalität der AFL Applikationsbausteine ist fest definiert und kann vom Anwender nicht editiert werden.
Beispiel: MANUAL_JOG_VAJ (FB) aus der AMK AFL Library (AmkAfl.lib)
Der AFL Applikationsbaustein 'MANUAL_JOG_VAJ' realisiert den Tippbetrieb (Plus / Minus) in Lageregelung. Dabei kann der Anwender neben Position, Geschwindigkeit und Beschleunigung auch den Ruck vorgeben.
PLC Grundbausteinen
Der AFL Applikationsbaustein
Verwendung der AFL Standardbausteine
Die AFL Standardbausteine ermöglichen dem Anwender den einfachen Zugriff auf alle Standard Funktionen der Steuerungen, Einspeisungen und Achsen (Antriebe).
Vordefinierte Strukturen ermöglichen den Zugriff auf Soll- und Istwerte, Steuer- und Statusbits, Parameter und Diagnosemeldungen.
Zusätzlich stehen Funktionen wie Folgeachse, Getriebeverhältnisse, Wickler, Druckmarkenregelung und Tabellenbearbeitung zu Verfügung. Die Funktionalität wird kontinuierlich erweitert.
Die für die Applikation benötigten AFL Standardbausteine werden in das PLC Projekt importiert. Der Quelltext liegt offen und kann vom Anwender applikationsspezifisch editiert werden.
Die Standardbausteine werden im CODESYS Programmbaustein 'PLC_PRG' aufgerufen. Achsbausteine verfügen zusätzlich über eine synchrone Aktion (actSync). Die synchrone Aktion wird im 'FPLC_PRG' aufgerufen.
Beispiel: Instanzierter Standardbaustein Typ 'STANDARD_AXIS'
Programmbaustein 'PLC_PRG': |
Freilaufende Task für asynchrone Funktionalität / Aufruf und Deklaration 'STANDARD_AXIS' |
Programmbaustein 'FPLC_PRG': | Extern ereignisgesteuerte Task, synchronisiert zur ID2 'SERCOS-Zykluszeit' für synchrone Funktionalität / Aufruf synchrone Aktion (actSync) |
Editierbarer Quelltext 'STANDARD_AXIS'
|
Ein PLC Projekt mit AFL Standardbausteinen kann mit AFL Applikationsbausteinen und PLC Grundbausteinen erweitert werden.
Achten Sie darauf, dass sich die Funktionalität der verwendeten Bausteine nicht gegenseitig widerspricht, z. B. mehrere Bausteine in einem Projekt die das Steuersignal 'RF Reglerfreigabe' setzen können.
|
Programmaufbau mit CODESYS V2 und AFL Standardbausteinen
Legen Sie für jedes Geräte (Einspeisung, Steuerung, Antriebe ... ), auf das vom PLC Programm zugegriffen werden soll, einen Standardbaustein an.
Die Standardbausteine werden im CODESYS Programmbaustein 'PLC_PRG' aufgerufen. Achsbausteine verfügen zusätzlich über eine synchrone Aktion (actSync). Die synchrone Aktion wird im 'FPLC_PRG' aufgerufen. Der FB BASIC_MOTION ist in jeder Standard Achse integriert und muss somit nicht separat im PLC Programm aufgerufen werden.
Die Schnittstelle zwischen Gerät und AFL Funktionsbaustein wird mit der Variable 'ST_DEVICE' realisiert. 'ST_CONTROL' fasst die steuerungsspezifischen und 'ST_AXIS_DRIVE' die achsspezifischen Daten zusammen.
Zu jedem Standardbaustein wird eine dazu passende Visualisierung importiert.
Die Standardbausteine werden mit Hilfe von Makros in das aktuelle PLC Projekt importiert. Das Makro enthält alle Anweisungen, um einen exportierten Standardbaustein in das aktuelle Projekt zu importieren.
Voraussetzungen:
- AMK Software AFL Function Library für CODESYS V2 AMK Teile-Nr. O877 installiert.
- AFL Template angewählt. Siehe 'Konfiguration erstellen (allgemein)'.
Die Makros werden unter CODESYS V2 mit dem Menü 'Bearbeiten' → 'Makros' ausgeführt.
Standard Funktionsbausteine |
Makro Ordner |
Makro |
Für Gerät |
---|---|---|---|
STANDARD_CONTROL (FB) 1) |
AflImportStandard |
AflImportStandardControl |
AMKAMAC |
STANDARD_CONTROL _iSA (FB) 1) |
AflImportStandard |
AflImportStandardControl_iSA |
AMKASMART iSA |
STANDARD_KE (FB) |
AflImportStandard |
AflImportStandardKE |
AMKASYN KE/KEN/KES |
STANDARD_AXIS_IDT4 (FB) 2) |
AflImportStandard |
AflImportStandardAxisIDT4 |
AMKASMART iDT4 |
STANDARD_AXIS_KWZ (FB) 2) |
AflImportStandard |
AflImportStandardAxisKWZ |
AMKASYN KWZ |
STANDARD_AXIS_ihX (FB) 2) |
AflImportStandard |
AflImportStandardAxis_ihX |
AMKASMART ihX |
STANDARD_AXIS (FB) 2) |
AflImportStandard |
AflImportStandardAxis |
|
STANDARD_AXIS_ POSITION_INTERPOSED (FB) 2) |
AflImportAdvanced- Positioning |
AflImportAdvancedPositioning |
AMKASYN KW/KWD (KW-R06, KW-R07, KW-R16, KW-R17, KW-R24-R, KW-R25, KW-R26,
AMKASMART iDT5 AMKASMART ihX 3) |
STANDARD_AXIS_ POSITION_TO_THE_MARK (FB) 2) |
AflImportPrintMarkAxis |
AflImportStandardAxis- PrintMarkPositionToTheMark |
|
STANDARD_AXIS_ PRINTMARK_INSETTER_ INTERVAL (FB) 2) |
AflImportPrintMarkAxis |
AflImportStandardAxis- PrintMarkInsetterInterval |
|
STANDARD_AXIS_ PRINTMARK_INSETTER_ CONT (FB) 2) |
AflImportPrintMarkAxis |
AflImportStandardAxis- PrintMarkInsetterCont |
|
STANDARD_AXIS_ PRINTMARK_REGISTER_CONTROL_CONT (FB) 2) |
AflImportPrintMarkAxis |
AflImportStandardAxis- PrintMarkRegisterControlCont |
|
STANDARD_AXIS_ PRINTMARK_REGISTER_CONTROL_DISCONT (FB) 2) |
AflImportPrintMarkAxis |
AflImportStandardAxis- PrintMarkRegisterControlDiscont |
|
STANDARD_FOLLOW_AXIS_GEAR (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxisGear |
|
STANDARD_FOLLOW_AXIS_ CONTINUOUS_TABLE1_TABLE2 (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- ContinuousTable1Table2 |
|
STANDARD_FOLLOW_AXIS_ SWITCHING_TABLE_WITH_OUTGEAR (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- SwitchingTableWithOutgear |
|
STANDARD_FOLLOW_AXIS_ SWITCHING_TABLE1_TABLE2 (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- SwitchingTable1Table2 |
|
STANDARD_FOLLOW_AXIS_ TABLE_CONTINUOUS (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- ContinuousTable |
|
STANDARD_FOLLOW_TABLE_ ENGAGE_DISENG_AXIS (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- TableEngageDiseng |
|
STANDARD_FOLLOW_TABLE_ START_AUTOSTOP_AXIS (FB) 2) |
AflImportFollowAxis |
AflImportFollowAxis- TableStartAutoStop |
|
STANDARD_WINDER_DANCER_AXIS (FB) 2) |
AflImportStandardWinder |
AflImportStandardWinderDancer |
|
STANDARD_WINDER_TORQUE_AXIS (FB) 2) |
AflImportStandardWinder |
AflImportStandardWinderTorque |
|
1) Alle Standardbausteine vom Typ CONTROL benötigen die 'AMK CONTROL STRUCTURE' 'ST_CONTROL (STRUCT)'. 'ST_CONTROL (STRUCT)' wird mit dem Makro AflImportBasicControl aus dem Ordner AflImportBasic importiert. 'ST_CONTROL (STRUCT)' muss 1 x pro PLC Projekt importiert werden.
2) Alle Standardbausteine vom Typ AXIS rufen den FB 'BASIC_MOTION' auf. Der FB 'BASIC_MOTION' wird mit dem Makro AflImportBasicDrive aus dem Ordner AflImportBasic importiert. FB 'BASIC_MOTION' muss 1 x pro PLC Projekt importiert werden.
3) Alle Standard Funktionsbausteine mit erweiterter Funktionalität können mit einer Modifikation für den ihX verwendet werden. Siehe 'Modifizierte 'Standard Achsen' für ihX Antriebe'.
Beispielapplikation:
Aufbau dazugehöriges PLC Programm:
Die Makros 'AflImport...' importieren die Standardbausteine und Strukturen in das aktuelle PLC Projekt.
*1 |
AflImportBasicControl importiert die Struktur 'ST_CONTROL' und muss pro Projekt nur einmal eingefügt werden. |
*2 |
Wird nur beim Einsatz der Einspeisemodule KE, KEN oder KES benötigt. (Ausnahme: KEN 05-xx ). Die Geräte AMKASMART iC und AMKASYN KEN 05-xx laden automatisch den Zwischenkreis für die angeschlossenen Wechselrichter. |
*3 |
AflImportBasicDrive importiert den 'BASIC_MOTION' (FB) und muss pro Projekt nur einmal eingefügt werden. Der 'BASIC_MOTION' muss nicht vom Anwender instanziert werden. Er wird im PLC Projekt automatisch über die 'STANDARD_AXIS' Funktionsbausteine aufgerufen. |
|
Eine Instanz des Funktionsbausteins 'STANDARD_CONTROL' (bei A-Serie) bzw.'STANDARD_CONTROL'_iSA (bei iSA) muss zwingend in jedem PLC Projekt verwendet werden. |
|
EtherCAT Die Kombination mit einem der AFL Funktionsbausteine 'STANDARD_AXIS' und ID32796 'Quelle Reglerfreigabe' Code 0: 'RF über Binäreingang' ist nicht zulässig. Das Steuersignal RF muss zwingend über den Funktionsbaustein gesetzt werden. Zulässige Varianten: Code 5: 'RF über EtherCAT' bzw. Code 25: 'RF über EtherCAT UND-verknüpft mit dem Binäreingang RF' |
Visualisierung Standardbausteine
Die Visualisierungen der Standardbaustein werden in den Tap/Ordner 'Visualisierungen' importiert.
Für jeden Standardbaustein muss eine Instanz der Visualisierung gebildet werden.
Übersicht Standardbausteine und Achsstrukturen
Die Standardbausteine werden bei CODESYS V2 mit Hilfe von Makros in das aktuelle PLC Projekt eingefügt. Siehe CODESYS Menü 'Bearbeiten' → 'Makros'.
STANDARD_CONTROL (FB)
(Makro: AflImportBasic - AflImportBasicControl + AflImportStandard - AflImportStandardControl)
Folgende Grundfunktionalität für die Steuerung steht zu Verfügung:
- Statusbits (SBM Systembereit Meldung, QFL Quitt. Fehler gelöscht, Netzwerk und Bus Informationen)
- Steuern von FL Fehler löschen
- Auslesen von Diagnosemeldungen
Siehe 'STANDARD_CONTROL (FB)'.
STANDARD_CONTROL _iSA (FB)
(Makro: AflImportBasic - AflImportBasicControl + AflImportStandard - AflImportStandardControl_iSA)
Folgende Grundfunktionalität für die Steuerung mit Einspeisung steht zu Verfügung:
- auslesen der Statusbitinformationen (Netzwerk bereit, Bus bereit, Bus Warnung, Bus Fehler, SBM, QUE und QFL)
- das Steuern von FL
- das Auslesen von Diagnosemeldungen
Siehe 'STANDARD_CONTROL_iSA (FB)'.
STANDARD_KE (FB)
(Makro: AflImportStandard - AflImportStandardKE)
Folgende Grundfunktionalität für die Einspeisung steht zu Verfügung:
- Statusbits (QUE Quitt. Umrichter Ein, SBM Systembereit Meldung)
- Steuerbits (UE Umrichter Ein, FL Fehler Löschen)
- Ausgabe Diagnosenummer
STANDARD_AXIS (FB)
STANDARD_IDT4 (FB)
STANDARD_ihX (FB)
STANDARD_KWZ (FB)
(Makro: AflImportBasic - AflImportBasicDrive + AflImportStandard - AflImportStandardAxis)
Folgende Grundfunktionalität für die Achse steht zu Verfügung:
Ein und Ausgänge am Funktionsblock
- Steuersignale (RF Reglerfreigabe, FL Fehler Löschen)
- Not-Halt
- Drehzahlregelung
- Referenzpunktfahrt
- Positionierung (absolut / relativ)
- Tippbetrieb (Minus / Plus)
- Statussignale der Achsfunktionen
Zugriff über Programmcode
- Konfiguration von Statusmeldungen (ID26 'Konfiguration Statusbits')
- Lesen von Parametern entsprechend einer Vorgabeliste
- Positionsistwerte gelached
- Vorsteuerung (Moment und Drehzahl)
Siehe 'STANDARD_AXIS (FB) (STANDARD_AXIS_KWZ, STANDARD_AXIS_IDT4, STANDARD_AXIS_ihX)'.
Erweiterte Standard Achsen
Die erweiterten Achsen verfügen über dieselben Grundfunktionalitäten wie der Funktionsbaustein 'STANDARD_AXIS'.
Mit den Achsen vom Typ 'Winder' kann ein Tänzerwickler oder ein sensorloser Auf- und Abwickler realisiert werden.
Mit der Achse vom Typ 'Position' können Sie eine Druckmarkenregelung oder ablösende Positionierung realisieren.
Mit den Achsen vom Typ 'Printmark' können Sie eine Druckmarkenregelung realisieren.
Es stehen Achsen vom Typ 'Follow' zu Verfügung. Diese folgen synchron einem Sollwert (Master).
Zusätzlich können Tabellen für z. B. Kurvenscheiben–Funktionen verrechnet werden.
STANDARD_AXIS_POSITION_INTERPOSED (FB)
(Makro: AflImportAdvancedPositioning - AflImportAdvancedPositioning)
Erweiterte Funktionalität:
- Ablösende Positionierung
Siehe 'STANDARD_AXIS_POSITION_INTERPOSED (FB)'.
STANDARD_AXIS_POSITION_TO_THE_MARK (FB)
(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkPositionToTheMark)
Erweiterte Funktionalität:
- Druckmarkenregelung
Siehe 'STANDARD_AXIS_POSITION_TO_THE_MARK (FB)'.
STANDARD_AXIS_PRINTMARK_INSETTER_CONT (FB)
(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkInsetterCont)
Erweiterte Funktionalität:
- Druckmarkenregelung: Die Position des zu bearbeitenden Bandes wird zu einem Masterformat geregelt (Insetting)
Siehe 'STANDARD_AXIS_PRINTMARK_INSETTER_CONT (FB)'.
STANDARD_AXIS_PRINTMARK_INSETTER_INTERVAL (FB)
(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkInsetterInterval)
Erweiterte Funktionalität:
- Druckmarkenregelung: Die Position des zu bearbeitenden Bandes wird zu einem Masterformat geregelt (Insetting)
Siehe 'STANDARD_AXIS_PRINTMARK_INSETTER_INTERVAL (FB)'.
STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_CONT (FB)
(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkRegisterControlCont)
Erweiterte Funktionalität:
- Druckmarkenregelung: Die Position des bearbeitenden Aggregats (z.B. Messer, Magnetstanze) wird zu einem Masterformat geregelt (Registerregler)
Siehe 'STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_CONT (FB)'.
STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_DISCONT (FB)
(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkRegisterControlDiscont)
Erweiterte Funktionalität:
- Druckmarkenregelung: Die Position des bearbeitenden Aggregats (z.B. Messer, Magnetstanze) wird zu einem Masterformat geregelt (Registerregler)
Siehe 'STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_DISCONT (FB)'.
STANDARD_FOLLOW_AXIS_GEAR (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisGear)
Erweiterte Funktionalität:
- Die Slave Achse folgt kontinuierlich einem Master.
- Ein Getriebeverhältnis kann vorgegeben werden.
Siehe 'STANDARD_FOLLOW_AXIS_GEAR (FB)'.
STANDARD_FOLLOW_AXIS_CONTINUOUS_TABLE1_TABLE2 (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisContinuousTable1Table2)
Erweiterte Funktionalität:
- Die Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle.
- Am Tabellenende kann eine Tabellenumschaltung durchgeführt werden.
Siehe 'STANDARD_FOLLOW_AXIS_CONTINUOUS_TABLE1_TABLE2 (FB)'.
STANDARD_FOLLOW_AXIS_SWITCHING_TABLE_WITH_OUTGEAR (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisSwitchingTableWithOutgear)
Erweiterte Funktionalität:
- Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle.
- Am Tabellenende kann eine Tabellenumschaltung durchgeführt werden.
- Die Tabelle kann über ein Getriebeverhältnis angepasste werden (Stauchen und Stecken).
Siehe 'STANDARD_FOLLOW_AXIS_SWITCHING_TABLE_WITH_OUTGEAR (FB)'.
STANDARD_FOLLOW_AXIS_SWITCHING_TABLE1_TABLE2 (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisSwitchingTable1Table2)
Erweiterte Funktionalität:
- Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle mit Ein- und Auskuppeltabelle.
- Am Tabellenende kann eine Tabellenumschaltung durchgeführt werden.
Siehe 'STANDARD_FOLLOW_AXIS_SWITCHING_TABLE1_TABLE2 (FB)'.
STANDARD_FOLLOW_AXIS_TABLE_CONTINUOUS (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisContinuousTable)
Erweiterte Funktionalität:
- Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle.
Siehe 'STANDARD_FOLLOW_AXIS_TABLE_CONTINUOUS (FB)'.
STANDARD_FOLLOW_TABLE_ENGAGE_DISENG_AXIS (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisTableEngageDiseng)
Erweiterte Funktionalität:
- Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle mit Ein- und Auskuppeltabelle.
Siehe 'STANDARD_FOLLOW_TABLE_ENGAGE_DISENG_AXIS (FB)'.
STANDARD_FOLLOW_TABLE_START_AUTOSTOP_AXIS (FB)
(Makro: AflImportFollowAxis - AflImportFollowAxisTableStartAutoStop)
Erweiterte Funktionalität:
- Slave Achse folgt kontinuierlich einer frei wählbaren Tabelle mit Ein- und Auskuppeltabelle.
Siehe 'STANDARD_FOLLOW_TABLE_START_AUTOSTOP_AXIS (FB)'.
STANDARD_WINDER_DANCER_AXIS (FB)
(Makro: AflImportStandardWinder - AflImportStandardWinderDancer)
Erweiterte Funktionalität:
- Der Funktionbaustein 'STANDARD_WINDER_TORQUE_AXIS' realisiert einen sensorlosen Auf- und Abwickler und konfigurierbarer Bahnspannung mit folgenden Merkmalen:
- Momentgesteuerter Zentrumswickler
- Betrieb als Auf- und Abwickler
- Durchmesserberechnung
- Durchmessersuche beim Start des Wicklers
- Ermittlung des Rollenträgheitsmoments bei unbekanntem Durchmesser
- Synchronisieren auf eine laufende Bahn
Siehe 'STANDARD_WINDER_DANCER_AXIS (FB)'.
STANDARD_WINDER_TORQUE_AXIS (FB)
(Macro: AflImportStandardWinder - AflImportStandardWinderTorque)
Erweiterte Funktionalität:
- Der Funktionsbaustein 'STANDARD_WINDER_DANCER_AXIS' realisiert einen Tänzerwickler mit folgenden Merkmalen:
- PID geregelter Tänzerwickler
- Betrieb als Auf- und Abwickler
- Durchmesserberechnung
- Durchmessersuche bei Start des Wicklers
Strukturen
Folgende Zugriffsmöglichkeiten stehen zu Verfügung:
PLC Steuerung (ST_CONTROL):
- Statusbits (SBM Systembereitmeldung, Netzwerkstatus)
- Steuerbits (FL Fehler Löschen, Diagnosemeldung Lesen)
- Diagnosearray (Speicher für 10 Diagnosemeldungen)
Achse (ST_AXIS_DRIVE):
- Sollwerte (Drehzahl-, Lage-, Momentsollwerte, Vorsteuerwerte)
- Istwerte (Drehzahl-, Lage-, Momentistwert, Messwerte ...)
- Steuerbits (RF Reglerfreigabe, FL Fehler Löschen, Diagnosemeldung Lesen)
- Statusbits (Drehzahlfenster, Stillstandsfenster...)
- Diagnosearray (Speicher für 10 Diagnosemeldungen)
- Parameterliste Lesen
- Konfiguration (PLC Funktionen)