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 'STANDARD_AXIS'  (FB) besteht aus den AFL Applikationsbausteinen 'MANUAL_JOG_VAJ', 'POSITION_ABSOLUT_VAJ', 'MANUAL_VELOCITY', 'POSITION_HOMING_FIXED_STOP' und weiteren aus der AMK AFL Library (AmkAfl.lib). Der Quellcode des Standardbausteins ist vom Anwender editierbar.

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 'MANUAL_JOG_VAJ' besteht aus den PLC Grundbausteinen 'VGEN_AJ' und 'RATIO_INC' aus der Bibliothek AmkBase.lib. Die Funktionalität der PLC Grundbausteine ist fest definiert und kann vom Anwender nicht editiert werden.

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:

 

Die Makros werden unter CODESYS V2 mit dem Menü 'Bearbeiten' → 'Makros' ausgeführt.

 

Übersicht der Standardbausteine und der dazugehörigen Makros:

Standard Funktionsbausteine

Makro Ordner

Makro

Für Gerät

STANDARD_CONTROL (FB) 1)

AflImportStandard

AflImportStandardControl

AMKAMAC
A4, A5, A6

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,

KW-R27)

 

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.

Siehe 'Visualisierung'.

 

Ü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:

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:

Siehe 'STANDARD_CONTROL_iSA (FB)'.

 

STANDARD_KE (FB)

(Makro: AflImportStandard - AflImportStandardKE)

Folgende Grundfunktionalität für die Einspeisung steht zu Verfügung:

Siehe 'STANDARD_KE (FB)'.

 

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

 

Zugriff über Programmcode

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:

Siehe 'STANDARD_AXIS_POSITION_TO_THE_MARK (FB)'.

 

STANDARD_AXIS_PRINTMARK_INSETTER_CONT (FB)

(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkInsetterCont)

Erweiterte Funktionalität:

Siehe 'STANDARD_AXIS_PRINTMARK_INSETTER_CONT (FB)'.

 

STANDARD_AXIS_PRINTMARK_INSETTER_INTERVAL (FB)

(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkInsetterInterval)

Erweiterte Funktionalität:

Siehe 'STANDARD_AXIS_PRINTMARK_INSETTER_INTERVAL (FB)'.

 

STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_CONT (FB)

(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkRegisterControlCont)

Erweiterte Funktionalität:

Siehe 'STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_CONT (FB)'.

 

STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_DISCONT (FB)

(Makro: AflImportPrintMarkAxis - AflImportStandardAxisPrintMarkRegisterControlDiscont)

Erweiterte Funktionalität:

Siehe 'STANDARD_AXIS_PRINTMARK_REGISTER_CONTROL_DISCONT (FB)'.

 

STANDARD_FOLLOW_AXIS_GEAR (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisGear)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_AXIS_GEAR (FB)'.

 

STANDARD_FOLLOW_AXIS_CONTINUOUS_TABLE1_TABLE2 (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisContinuousTable1Table2)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_AXIS_CONTINUOUS_TABLE1_TABLE2 (FB)'.

 

STANDARD_FOLLOW_AXIS_SWITCHING_TABLE_WITH_OUTGEAR (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisSwitchingTableWithOutgear)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_AXIS_SWITCHING_TABLE_WITH_OUTGEAR (FB)'.

 

STANDARD_FOLLOW_AXIS_SWITCHING_TABLE1_TABLE2 (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisSwitchingTable1Table2)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_AXIS_SWITCHING_TABLE1_TABLE2 (FB)'.

 

STANDARD_FOLLOW_AXIS_TABLE_CONTINUOUS (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisContinuousTable)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_AXIS_TABLE_CONTINUOUS (FB)'.

 

STANDARD_FOLLOW_TABLE_ENGAGE_DISENG_AXIS (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisTableEngageDiseng)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_TABLE_ENGAGE_DISENG_AXIS (FB)'.

 

STANDARD_FOLLOW_TABLE_START_AUTOSTOP_AXIS (FB)

(Makro: AflImportFollowAxis - AflImportFollowAxisTableStartAutoStop)

Erweiterte Funktionalität:

Siehe 'STANDARD_FOLLOW_TABLE_START_AUTOSTOP_AXIS (FB)'.

 

STANDARD_WINDER_DANCER_AXIS (FB)

(Makro: AflImportStandardWinder - AflImportStandardWinderDancer)

Erweiterte Funktionalität:

Siehe 'STANDARD_WINDER_DANCER_AXIS (FB)'.

 

STANDARD_WINDER_TORQUE_AXIS (FB)

(Macro: AflImportStandardWinder - AflImportStandardWinderTorque)

Erweiterte Funktionalität:

Siehe 'STANDARD_WINDER_TORQUE_AXIS (FB)'.

Strukturen

Folgende Zugriffsmöglichkeiten stehen zu Verfügung:

 

PLC Steuerung (ST_CONTROL):

Siehe 'ST_CONTROL (ST)'.

 

Achse (ST_AXIS_DRIVE):

Siehe 'ST_AXIS_DRIVE (ST)'.