Block Parameter

Wolflesch

Level-1
Beiträge
45
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo vielleicht kann mir jemand helfen,
welche Werte werden bei einem Block_FB oder FC Eingangsparameter übergeben, werden da die Eingangsparameter vom aufrufenden an den aufgerufenen übergeben oder werden da die Lokalen Daten übergeben, irgendwie wird das nirgendwo richtig beschrieben.
ich wollte dann noch fragen ob diese Anweisung funktioniert,
ob die Sprunganweisung den AKKU1 nicht verändert:

L #zahl
U #hilf
SPB hif1
T #index1
SPA hif2
hif1: T #index2
hif2: NOP 0
 
Wenn du den Wert von #zahl in Abhängigkeit von #hilf wahlweise in #index1 oder #index2 transferieren willst, dann lautet die Antwort "Ja".

Bei BLock_FB (bzw. _FC) wird die Kennung des wirklichen Baustein's übergeben.
Code:
als Input
var Baustein : BLOCK_FC ;
 
im Code dann :
call Baustein
 
Zuviel Werbung?
-> Hier kostenlos registrieren
verstehe den ersten teil der frage nicht so richtig, versuchen wir das mal aufzdröseln:

Wenn du einen FB/FC (im folgenden FC) in KOP/FUP (im folgenden KUP) aufrufst, so erstellt der Editor einen Code, der die Eingangsbeschaltung in lokale Variablen des aufrufenden Bausteins kopiert und beim CALL der FC, diese dann als Parameter übergibt.

Erstellst du den FC-Aufruf in AWL, so kannst du dir das kopieren in lokale Variablen sparen und die Zustände der angetragenen Operanden werden als Eingangsparameter übernommen.

Bei beiden Aufrufen, egal ob KUP oder AWL ist es so, dass die Zustände der Eingangsvariablen beim Aufruf, also beim öffnen der FC in den lokalen Bereich dieser übernommen werden.

zur zweiten Frage:
Die Befehle SPB und SPBN sind zum einen vom VKE abhängig und beeinflußen dieses. Das heißt ein VKE=0 wird durch einen SPBN zu 1.
Um das VKE zu retten, benutze SPBB und SPBNB. Dabei wird das VKE ins BIE kopiert.

Um das VKE zu rekonstruieren benutzt du dann einfach

Code:
*
U    BIE

Wie ich gerade sehe, geht es um die Parameterübergabe des Formates Block_FC, dazu hat Larry die richtige Antwort parat gehabt.
 
Danke für die schnelle Antwort,
kann also in einem Baustein nur der Baustein aufgerufen werden der als
Eingangsparameter deklariert ist, im Gegensatz kann der OB alle aufrufen,

Gruß Wolfgang
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Frage verstehe ich nun nicht so ganz.
Du kannst in einem FC (oder FB) natürlich jeden anderen (vorhandenen) Baustein aufrufen. Wenn du den Block-Parameter verwendest, dann übergibst du quasi einen Baustein (FC , FB , DB) als Parameter und dieser Parameter hat natürlich in dem Moment nur den einen Inhalt.

Ich habe leider im Moment dafür kein Anwendungsbeispiel parat ...
 
ich glaub das problem hier ist: was ist die kleinste einheit? bzw. ab welcher stufe fange ich an global zu adressieren...

die kleinste einheit wird bei mir bibliotheksfähig geschrieben, da ist mal ein SFC/SFB drin. die einheiten dann zusammenzufügen, wird für die einzelne anlage im speziellen gemacht. bei funktionellen gruppen, die es schaffen, immer wieder aufzutauchen ist es sicher sinnvoll, dass auch in einer bibliothek abzulegen. aber vorsicht beim umbenennen von bausteinen! manchmal kann man gar nicht so schnell gucken, wie man beim umdrehen mit dem arsch alles einreißt...

irgendwie hat für meine begriffe BLOCK_FC keine daseins-berechtigung *schulterzuck* ...zumindest habe ich es noch nie gebraucht, geschweigedenn vermisst
 
Hallo, danke, jetzt bin ich doch noch selber drauf gekommen das ja in einem parametisierten Baustein keine absoluten Adressen stehen sollten,
noch eine Frage zum Editor, ist das der Editor der Programmiersoftware oder
ist in der CPU auch ein Editor,

Gruß Wolfgang
 
Zurück
Oben