Technische Fachhochschule Berlin Fachbereich VIII€¦ · Dipl.-Ing. Wolfgang Liebner Übung...

44
Dipl.-Ing. Wolfgang Liebner Übung Produktionstechnik TFH- Berlin Seite 1 von 44 Technische Fachhochschule Berlin Fachbereich VIII Übung Produktionstechnik Bausteinstrukturen

Transcript of Technische Fachhochschule Berlin Fachbereich VIII€¦ · Dipl.-Ing. Wolfgang Liebner Übung...

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 1 von 44

Technische Fachhochschule BerlinFachbereich VIII

Übung ProduktionstechnikBausteinstrukturen

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 2 von 44

INHALT

• Allgemeines zu Bausteinen• Daten 5• Bausteinarten 7• Nutzen 11• Datenbaustein 12• Funktionen FC 17• Funktionsbaustein FB 19• Instanz-Datenbaustein 25• Globale Datenbaustein 31• Operationen mit FBs und FCs 34• Formal und Aktualparameter 37• Systemfunktionsbausteine etc. 41

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 3 von 44

Datenbausteine

Datenbausteine speichern die Daten des Anwenderprogramms. Bei denDatenbausteinen wird zwischen Global-Datenbausteinen und Instanz-

Datenbausteinen unterschieden.

* Auf Global-Datenbausteinen können Sie von jeder Stelle desAnwenderprogramms zugreifen.

* Instanz-Datenbausteine sind einem Funktionsbaustein zugeordnet und enthalten neben den Daten des FBs auch die Daten eventuell definierter Multiinstanzen. Deshalb sollten Sie auch nur im Zusammenhang mit diesem Funktionsbaustein

auf den Instanz-Datenbaustein zugreifen.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 4 von 44

Funktionsbausteine

Jeden Organisationsbaustein können Sie als strukturiertes Programm programmieren, indem Sie Funktionen ( FC ) und Funktionsbausteine ( FB ) erstellen und diese im Anwendungsteil aufrufen. Beim Bausteinaufruf müssen Sie die deklarierten Parameter entsprechend mit Daten versorgen.

* Ein Funktionsbaustein ( FB ) ist ein Codebaustein ‘’ mit Gedächtnis’’.Als Gedächtnis dient dabei ein dem FB zugeordneter Instanz-Daten-baustein, in dem die Aktualparameter und statischen Daten des Funk-tionsbausteins gespeichert werden.

* Eine Funktion ( FC ) ist ein Codebaustein ‘’ ohne Gedächtnis ‘’. Die Ausgangsparameter enthalten nach der Bearbeitung der FC die be-rechneten Funktionswerte. Die weitere Verwendung und Speicherungder Aktualparameter nach dem Aufruf einer FC liegt in der Hand des Anwenders.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 5 von 44

Daten (1)

Das Betriebssystem stellt Ihnen folgende Daten bereit:

* Peripherieein- und ausgänge

* Prozeßabbild der Ein- und Ausgänge

* Merker

* Zeiten

* Zähler

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 6 von 44

Daten (2)

Zusätzlich können Sie sich eigene Daten definieren:

* Globaldaten, die für das gesamte Anwenderprogramm Gültigkeit haben definieren Sie in Datenbausteinen.

* Statische Variablen sind jeweils in dem FB gültig, in dem sie definiert sind. Bei jedem FB-Aufruf wird ein Instanz-DBangegeben, der neben allen Parametern die statischen Daten

enthält.Sind Multiinstanzen definiert, sind deren Instanzdaten inklusive

deren statischer Daten in dem Instanz-DB eingebettet.

* Temporäre Daten definieren Sie bei der Erstellung von Codebausteinen.Sie belegen nur während der Bearbeitung des Codebausteins Speicherplatz im Stack.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 7 von 44

Bausteinarten (1)

Organisationsbaustein ( OB )

Anwenderschnittstelle zum Bertriebssystem

- gestaffelte Prioritäten (0.....27)- spezifische Startinformation in Lokaldatenstack

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 8 von 44

Bausteinarten (2)

Funktionsbaustein ( FB )

- parametrierbar- mit Gedächtnis ( = Speicher )

Funktion ( FC )

- parametrierbar ( Parameter müssen beim Aufruf beschalten werden )- Rückgabewert kann zurückgegeben werden- grundsätzlich ohne Gedächtnis

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 9 von 44

Bausteinarten (3)

Systemfunktionsbaustein ( SFB )

- im Betriebssystem (BESY) der CPU hinterlegter undvom Anwender aufrufbarer FB ( mit Gedächtnis )

Systemfunktion ( SFC ) - im BESY der CPU hinterlegte und vom Anwenderaufrufbare Funktion ( ohne Gedächtnis )

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 10 von 44

Bausteinarten (4)

Datenbaustein ( DB )

- struktuierte Datenablage lokal ( Instanz DB )- struktuierte Datenablage global ( gültig im ganzen Programm )

Systemdatenbaustein ( SDB )

- Datenbaustein für Konfigurationsdaten und Parameter

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 11 von 44

Nutzen

• Die gesamte Autorisierungsaufgabe kann in kleinere, überschaubare Teilaufgaben untergliedert werden.

• Parametrierbare Bausteine, wie z.B. FB s, SFB s, FC s, und SFC s können wiederverwendet , d.h. mit unterschiedlichen Parametern beliebig oft aufgerufen werden.

• Spezielle Bausteine ( FB´s und SFB´s) verfügen über ein Gedächtnis und eignen sich des halb besonders gut für Berechnungen, deren Ergebnis auch nach der Bearbeitung des Bausteins noch benötigt wird (Regelungsaufgaben, usw. ) .

• Bausteine können getrennt geändert, geladen und getestet werden. Damit läßt sich Software während der Programmlaufzeit bausteinweise ändern und nachladen.

• Für viele Aufgaben können Bausteine für spezielle Aufgaben in vorkonfektioniertenBibliotheken ausgeliefert und dann in das jeweilige Anwenderprogramm eingebunden werden.

• Bausteine für oft verwendete Standartaufgaben lassen sich vom Hersteller als Systemfunktionsbaustein (SFB ) oder als Systemfunktion ( SFC ) in das CPU-Betriebssystem integrieren

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 12 von 44

Erzeugen von Datenbausteinen

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 13 von 44

Erstellung

• Die Datenbausteine können mit dem Werkzeug Programm Editor erstellt werden. Bei einem globalen Datenbaustein geben Sie für jedes Datenelement folgende Werte in einer Tabelle ein :

• - Variable, enthält den symbolischen Namen• - Typ, definiert den Datentyp wie z.B. Boot für ein einzelnes Bit oder INT für

eine 16-Bit-Festpunktzahl.• Falls Sie eine bestimmte Datenstruktur mit gleichem Aufbau mehrmals

benötigen, können einen Datentyp ( UDT) definiert und anschließend diese Datenstruktur als Datentyp verwendet werden.

• Bei Instanz-Datenbausteinen erstellen Sie zunächst den Funktionsbaustein und dann wird über den Programm Editor ein dem Funktionsbaustein zugeordneter DB erzeugt.

• Alle gewünschten Bausteine können über den SIMATIC-MANAGER aufgerufen werden.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 14 von 44

Datenbausteinoperationen

Öffnen der Datenbausteine

Beschreibung

Mit der Operation AUF (Aufschlagen Datenbaustein) können Sie einen globalen Datenbaustein oder einen Instanz-Datenbaustein öffnen. Es kann gleichzeitig im Programm je ein globaler Datenbaustein und ein Instanz-Datenbaustein geöffnet sein.

Die unten aufgeführten Tabellen fassen die Operanden und Operandenbereiche der Operation AUF zusammen.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 15 von 44

Datenbausteinbereich

Maximaler Adressbereich je nach Adressierungsart:

direkt speicherindirekt

[ DBW ]DB [ DIW ]

1 bis 65535 1 bis 65534 DI [ LW ]

[ MW ]

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 16 von 44

Tauschen der Datenbausteinregister

Beschreibung:

Mit der Operation Tausche Global-DB und Instanz-DB ( TDB ) können Sie Datenbausteinregister tauschen. Ein Global-Datenbaustein wird so zum Instanz-DB und umgekehrt.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 17 von 44

Funktionen (FC)

Definition

Funktionen gehören zu den Bausteinen, die Sie selbst programmieren. Eine Funktion ist ein Codebaustein ”ohne Gedächtnis”. Temporäre Variablen der FC werden im Lokaldatenstack gespeichert. Diese Daten gehen nachder Bearbeitung der FC verloren. Funktionen können zum Speichern von Daten globale Datenbausteine nutzen.

Weil eine FC keinen zugeordneten Speicher hat, müssen Sie immerAktualparameter für eine FC angeben. Sie können den Lokaldaten einer FC keine Anfangswerte zuordnen.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 18 von 44

Anwendungsbereich FC

Eine FC enthält ein Programm, das immer dann ausgeführt wird, wenn die FC von einem anderen Codebaustein aufgerufen wird. Funktionen können eingesetzt werden, um

• einen Funktionswert an den aufrufenden Baustein zurückzugeben (Beispiel: mathematische Funktion )

• eine technologische Funktion auszuführen (Beispiel: Einzelsteuerung mit Binärverknüpfung )

ZuordnungSie müssen den Formalparametern einer FC immer Aktualparameter zuordnen. Die Eingangs-, Ausgangs- und Durchgangsparameter, die von der FC verwendet werden, werden als Pointer auf die Aktualparameter des Codebausteins gespeichert, der die FC aufgerufen hat.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 19 von 44

Funktionsbausteine (FB)

Funktionsbausteine gehören zu den Bausteinen, die Sie selbst programmieren. Ein Funktionsbaustein ist ein Baustein ”mit Gedächtnis”. Er verfügt über einen zugeordneten Datenbaustein als Speicher (Instanz-Datenbaustein). Die Parameter, die an den FB übergeben werden, sowie die statischen Variablen werden im Instanz-DB gespeichert. Die temporären Variablen werden im Lokaldaten-Stack gespeichert.

Daten, die im Instanz-DB gespeichert werden, gehen nicht verloren, wenn die Bearbeitung des FB beendet ist. Daten, die im Lokaldaten-Stackgespeichert werden, gehen nach der Bearbeitung des FB verloren.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 20 von 44

Anwendungsbereich FB

Ein FB enthält ein Programm, das immer dann ausgeführt wird, wenn der FB von einem anderen Codebaustein aufgerufen wird.

Funktionsbausteine erleichtern das Programmieren häufig wiederkehrender, komplexer Funktionen.

FBs und Instanz-DBs:Jedem Aufruf eines Funktionsbausteins, der Parameter übergibt, ist ein Instanz-Datenbaustein zugeordnet.Durch das Aufrufen mehrerer Instanzen eines FB können Sie mit einem FB mehrere Geräte steuern. Ein FB für einen Motortyp beispielsweise kann verschiedene Motoren steuern, indem er verschiedene Instanz-Daten für die verschiedenen Motoren verwendet. Die Daten für jeden einzelnen Motor (wie Drehzahl, Ramping, akkumulierte Betriebszeit usw.) können in einem oder mehreren Instanz-DBs gespeichert werden zeigt die Formalparameter eines FB, der die Aktualparameter verwendet, die im Instanz-DBgespeichert sind.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 21 von 44

Beispiel FB

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 22 von 44

Variablen vom Datentyp FB (1)

Ist Ihr Anwenderprogramm so strukturiert, daß in einem FB weitere, bereits existierende Funktionsbausteine aufgerufen werden, können Sie in die Variablendeklarationstabelle des aufrufenden FB die aufzurufenden FBs als statische Variablen mit dem Datentyp FB aufnehmen. Damit erreichen Sie eine Verschachtelung von Variablen und die Konzentrierung der Instanzdaten in einem Instanz-Datenbaustein (Multiinstanz).

Zuordnung von Aktualparametern zu Formalparametern:Im allgemeinen ist es in STEP 7 nicht erforderlich, daß Sie den Formalparametern eines FB Aktualparameter zuordnen. Es gibt jedoch Ausnahmen: Aktualparameter müssen zugeordnet werden:

* bei einem Durchgangsparameter eines zusammengesetzten Datentyps (z. B. STRING, ARRAY oder DATE_AND_TIME )

* bei allen Parametertypen ( z.B. TIMER, COUNTER oder POINTER )

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 23 von 44

Variablen vom Datentyp FB (2)

STEP 7 ordnet den Formalparametern eines FB die Aktualparameter folgendermaßen zu:

* Wenn Sie in der Aufrufanweisung Aktualparameter angeben: Die Operationen des FB verwenden die bereitgestellten Aktualparameter.

* Wenn Sie in der Aufrufanweisung keine Aktualparameter angeben: Die Operationen des FB verwenden die Werte, die in dem Instanz-DBgespeichert sind.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 24 von 44

Zuordnen von Anfangswerten zu Formalparametern

Sie können den Formalparametern im Deklarationsteil des FB Anfangswerte zuordnen.

Diese Werte werden in den Instanz-DB übernommen, der einem FB zugeordnet wird.

Ordnen Sie den Formalparametern in der Aufrufanweisung keine Aktualparameter zu, dann verwendet STEP 7 die Werte, die im Instanz-DBgespeichert sind.

Diese Daten können Anfangswerte sein, die in der Variablendeklarationstabelle eines FB eingegeben wurden.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 25 von 44

Instanz-Datenbausteine

Definition

Jedem Aufruf eines Funktionsbausteins, der Parameter übergibt, ist ein Instanz-Datenbaustein zugeordnet. Im Instanz-DB sind die Aktualparameter und die statischen Daten des FB abgelegt. Die im FB deklarierten Variablen bestimmen die Struktur des Instanzdatenbausteins.Mit Instanz wird der Aufruf eines Funktionsbausteins bezeichnet.Wird z. B. ein Funktionsbaustein im S7-Anwenderprogramm fünfmal aufgerufen, so existieren fünf Instanzen dieses Bausteins.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 26 von 44

Erzeugen eines Instanz-DB

Bevor Sie einen Instanz-Datenbaustein erzeugen, muß der zuzuordnende FB bereits existieren. Die Nummer dieses FBs geben Sie beim Anlegen des Instanz-Datenbausteins an.

Ein Instanz-DB für jede Instanz:

Wenn Sie mehrere Instanz-Datenbausteine einem Funktionsbaustein (FB) zuordnen, der einen Motor steuert, so können Sie diesen FB zum Steuern verschiedener Motoren verwenden.

Die unterschiedlichen Daten für die einzelnen Motoren (wie z. B. Drehzahl, Hochlaufzeit, Gesamtbetriebszeit) werden in den verschiedenen Datenbausteinen gespeichert. Je nachdem, welcher DB dem FB beim Aufruf zugeordnet wird, kann ein anderer Motor gesteuert werden. Auf diese Weise wird nur ein Funktionsbaustein für mehrere Motoren benötigt (siehe Bild ).

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 27 von 44

Beispiel

CALL FB22 , DB 201Aufruf von Funktionsbaustein FB 22 mit Instanz-Datenbaustein DB201

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 28 von 44

Ein Instanz-DB für mehrere Instanzen eines FB

Sie können einem FB die Instanzdaten für verschiedene Motoren gemeinsam in einem Instanz-DB übergeben. Dazu müssen Sie den Aufruf der Motorensteuerungen in einem weiteren FB vornehmen und im Deklarationsteil des rufenden FB statische Variablen mit dem Datentyp eines FB für die einzelnen Instanzen deklarieren (Multiinstanzen).Wenn Sie einen Instanz-DB für mehrere Instanzen eines FB verwenden, sparen Sie Speicherplatz und optimieren den Einsatz von Datenbausteinen.

Im nachfolgenden Bild ist beispielsweise der rufende FB der FB 21 ”Motorbearbeitung”, die Variablen sind vom Datentyp FB 22 und die Instanzen werden mit Motor_1, Motor_2 und Motor_3 bezeichnet. Der FB 22 braucht in diesem Beispiel keinen eigenen Instanzdaten-Baustein, weil seine Instanzdaten im Instanz-Datenbaustein des FB gespeichert sind.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 29 von 44

Beispiel

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 30 von 44

Ein Instanz-DB für mehrere Instanzen unterschiedlicher FBs

Sie können in einem Funktionsbaustein Instanzen anderer, bereits erstellter FBs aufrufen. Indem Beispiel im nachfolgenden Bild werden die zugeordneten Instanzdaten ebenfalls gemeinsam in einem Instanz-DB gespeichert.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 31 von 44

Globale Datenbausteine (DB)

DefinitionDatenbausteine enthalten im Gegensatz zu Codebausteinen keine STEP 7-Anweisungen. Sie dienen der Aufnahme von Anwenderdaten, d. h. in den Datenbausteinen stehen variable Daten, mit denen das Anwenderprogramm arbeitet. Globale Datenbausteine dienen der Aufnahme von Anwenderdaten, die von allen anderen Bausteinen aus verwendet werden können.Die Größe von DBs kann variieren. Die maximal zulässige Größe entnehmen Sie den CPU-Beschreibungen.

StrukturDie Struktur globaler Datenbausteine können Sie beliebig festlegen.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 32 von 44

Globale Datenbausteine im Anwenderprogramm

Wird ein Codebaustein (FC, FB oder OB) aufgerufen, so kann er temporär Speicherplatz im Lokaldatenbereich (L-Stack) belegen. Zusätzlich zu diesem Lokaldatenbereich kann ein Codebaustein einen Speicherbereich in Form eines DB öffnen. Im Gegensatz zu den Daten im Lokaldatenbereich werden die in einem DB enthaltenen Daten nicht gelöscht, wenn der DB geschlossen wird, bzw. die Bearbeitung des zugehörigen Codebausteins beendet ist.

Jeder FB, FC oder OB kann die Daten aus einem globalen DB lesen oder selbst Daten in einen globalen DB schreiben. Diese Daten bleiben im DB auch dann erhalten, wenn der DB verlassen wird.

Ein globaler DB und ein Instanz-DB können gleichzeitig geöffnet sein.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 33 von 44

Beispiel

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 34 von 44

Operationen mit FCs und FBs

Parametrierung bei Aufruf von FCs und FBsBegriffeFür den Aufruf von parametrierbaren Bausteinen sind die beiden Begriffe Formalparameter und Aktualparameter wichtig.

Ein Formalparameter ist ein Parameter, dessen Name und Datentyp bei der Erstellung des parametrierbaren Bausteins festgelegt und zum Beispiel alsINPUT oder OUTPUT deklariert wurde. Beim Aufruf des Bausteins (z.B. CALL SFC 31) im inkrementellen Editor zeigt STEP 7 automatisch die Liste der Formalparameter an.Diesen Formalparametern müssen Sie dann Aktualparameter zuweisen. Ein Aktualparameter ist ein Parameter, mit dessen Wert die Funktion oder der Funktionsbaustein zur Laufzeit des Anwenderprogramms arbeitet.

Das folgende Bild zeigt den Aufruf der SFC 31 ”QRY_TINT” (Uhrzeitalarm abfragen) in AWL.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 35 von 44

Beispiel

Beispiel: CALL SFC 31 (OB_NR = 10RET_VAL = MW 22STATUS = MW 100 )

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 36 von 44

Aufrufen der Funktionen und Funktionsbausteine mit CALL

• Mit der Operation Bausteinaufruf (CALL) können Sie Funktionen (FCs) und Funktionsbausteine (FBs) aufrufen, die Sie selbst für Ihr Programm erstellt haben oder die Sie von Siemens als Standardfunktionen und Standardfunktionsbausteine erhalten haben. Die Operation CALL ruft die FC oder den FB auf, die bzw. den Sie als Operanden angeben, unabhängig vom Verknüpfungsergebnis oder einer beliebigen anderen Bedingung.

• Wenn Sie mit der Operation CALL einen Funktionsbaustein aufrufen, müssen Sie ihn mit einem Instanz-Datenbaustein (Instanz-DB) versehen oder als lokale Instanz deklarieren. In diesem Instanz-Datenbaustein werden alle statischen Variablen und Aktualparameter des Funktionsbausteins gespeichert.

• Informationen darüber, wie Sie eine Funktion oder einen Funktionsbaustein programmieren bzw. wie Sie mit ihren Parametern arbeiten können, finden Sie im Programmierhandbuch.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 37 von 44

Formal-und Aktualparameter

• Beim Aufruf einer Funktion (FC) oder eines Funktionsbausteins (FB) müssen Sie den bei der Bausteinvereinbarung definierten Formalparametern entsprechende Aktualparameter zuweisen.

• Der Aktualparameter, der beim Aufrufen eines Funktionsbausteins angegeben wird, muß denselben Datentyp wie der Formalparameter haben.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 38 von 44

Angeben der Aktualparameter

• Die Aktualparameter, die beim Aufrufen einer Funktion oder einesFunktionsbausteins verwendet werden, werden in der Regel als symbolische Namen angegeben.

• Die absolute Adressierung von Aktualparametern ist nur bei Operanden möglich, deren maximale Größe ein Doppelwort beträgt (z.B. E 1.0, MB2, AW4, ED0).

• Wenn Sie Funktionen aufrufen, müssen alle Formalparameter mitAktualparametern versehen sein.

• Wenn Sie Funktionsbausteine aufrufen, müssen Sie nur die Aktualparameter angeben, die sich gegenüber dem letzten Aufruf ändern sollen (die Aktualparameter bleiben nach Bearbeitung des FB im Instanz-DB gespeichert).

• Wenn Sie einen Funktionsbaustein aufrufen, kopiert die Operation CALL einen der folgenden Werte in den Instanz-Datenbaustein des Funktionsbausteins, je nach dem Datentyp des Aktualparameters und nach der Deklaration des Formalparameters (EIN, AUS, EIN-AUS).

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 39 von 44

Aufrufen eines FB mit Instanz-DB und Bausteinparameter

• Der Aufruf erfolgt unter Angabe* des Funktionsbausteinnamens,* des Instanz-Datenbausteinnamens sowie* der Parameterversorgung.

Der Aufruf kann absolut oder symbolisch erfolgen.• Absoluter Aufruf:

CALL FBx,DBy ( Parameterversorgung);x = Bausteinnummer y = Datenbausteinnummer

• Symbolischer Aufruf:CALL fbname,datenbausteinname (Parameterversorgung);fbname = symbolischer Bausteinname datenbausteinname = symbolischer Datenbausteinname

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 40 von 44

BeispielAWL ErläuterungCall FB40,DB41 Aufruf von Funktionsbaustein FB40 mit Instanz-

Datenbaustein DB 41EIN1: = E 1.0 EIN1 ( Formalparameter ) wird E 1.0 ( Aktualparameter )

zugeordnet.EIN2: = MW2 EIN2 ( Formalparameter ) wird MW2 ( Aktualparameter )

zugeordnet.AUS1:=MD20 AUS1( Formalparameter ) wird MD20 ( Aktualparameter

) zugeordnet.L MD20 Mit dieser Operation greift das Programm auf den

Formalparameter AUS1 zu.

Im folgenden Beispiel wird der Funktionsbaustein FB50 mit dem Instanzbaustein DB51aufgerufen. In diesem Beispiel haben die Formalparameter folgende Datentypen:EIN10: BOOLAUS11: STRUCT

V1: BOOLV2: INT

END_STRUCT

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 41 von 44

Systemfunktionsbausteine (SFB) und Systemfunktionen (SFC)

(1)

• Vorgefertigte Bausteine:

Sie müssen nicht jede Funktion selbst programmieren. S7-CPUs bieten Ihnen vorgefertigte Bausteine, die Sie aus dem Anwenderprogramm heraus aufrufen können.

• Systemfunktionsbausteine:

Ein Systemfunktionsbaustein SFB ist ein Funktionsbaustein, der in die S7-CPU integriert ist. Weil SFBs Teil des Betriebssystems sind, werden sie nicht als Teil des Programms geladen. Wie FBs sind SFBs Bausteine ”mit Gedächtnis”. Sie müssen auch für SFBs Instanz-Datenbausteine erstellen und als Teil des Progamms in die CPU laden.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 42 von 44

Systemfunktionsbausteine (SFB) und Systemfunktionen (SFC)

(2)

• S7-CPUs bieten SFBs* zum Datenaustausch über Kommunikations-Funktionsbausteine* zur Integrierten Regelung

• SystemfunktionenEine Systemfunktion ist eine vorprogrammierte, getestete Funktion, die in die S7-CPU integriert ist. Sie können die SFC aus Ihrem Programm aufrufen. Weil SFCs Teile des Betriebssystems sind, werden sie nicht als Teil des Programms geladen. Wie FCs sind SFCs Bausteine ”ohne Gedächtnis”.

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 43 von 44

Systemfunktionsbausteine (SFB) und Systemfunktionen (SFC)

(3)

S7-CPUs bieten SFCs für:

* Kopier- und Bausteinfunktionen* die Programmkontrolle* die Hantierung der Uhr und des Betriebsstundenzählers* die Übertragung von Datensätzen* die Hantierung von Uhrzeit- und Verzögerungsalarmen* die Hantierung von Synchronfehlerereignissen, Alarm- und

Asynchronfehlerereignissen* die Systemdiagnose * die Prozeßabbildaktualisierung und die Bitfeldbearbeitung* die Adressierung von Baugruppen* die dezentrale Peripherie* die Globaldaten-Kommunikation

Dipl.-Ing. Wolfgang Liebner Übung ProduktionstechnikTFH- Berlin

Seite 44 von 44

Notizen