Step 7 Bausteinschnittstelle im OB1

siegener19

Level-2
Beiträge
255
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

wollte fragen, wozu man eigentlich die Bausteinschnittstelle im OB1 benötigt. Und kann man im OB1, wenn man mehrere FC´s und FB´s aufruft, an diesen FC's und FB´s immer den selben Ausgang %A1.0 beschreiben? Z.B rufe ich beim OB1 im Netzwerk1 die FC auf jund übergebe diesen %A1.0 an dessen out-Variable und im Netzwerk2 rufe ich einen FB auf und übergebe diesen %A1.0 an dessen out-Variable. Ist das erlaubt?

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
- die OB1-Baustein-Schnittstelle ermöglicht es dir zum Einen die OB1-Systemvariablen zur verwenden (z.B. OB1_Prev_Cycle welche dir dir Dauer des letzten Programmzyklusses angibt).
Zum Anderen kannst du darin weitere eigene TEMP-Variablen anlegen, wie in jedem anderen Baustein (FC,FB) auch.
- wenn du einen Ausgang mehrfach zuweist dann gilt für den Ausgang nur das Resultat der letzten Zuweisung.

Was ist der Hintergrund der Frage ?

Gruß
Larry
 
Danke für eure Antworten.
Habe nur gefragt, da ich mehrmals auf den Ausgang zugreifen muss, also je nach Bedingung soll diese Funktion oder jene aufgerufen werden, die auf diesen Ausgang zugreift.
Und wenn ich eine Temp-Variable, also jetzt nicht das "OB1_Prev_Cycle" im OB1 deklariere, wofür benötigt man diese?
 
da ich mehrmals auf den Ausgang zugreifen muss, also je nach Bedingung soll diese Funktion oder jene aufgerufen werden, die auf diesen Ausgang zugreift.
Auf die Hardwareausgänge muss man nicht mehrfach zugreifen.
Das ist einfach nur eine "unschöne" Methode. Die ich aber leider auch selbst noch so in der Schule gelernt habe. (Genau wie die Benutzung von Merkern statt lokalen Variablen.) :(
Besser ist es, alle Bedingungen für die Zuweisung an einer Stelle abzufragen bzw. die Bedingungen je nach Situation zu ersetzen und erst ganz zum Schluß das Ergebnis an die Ausgänge zu überweisen.


Und wenn ich eine Temp-Variable, also jetzt nicht das "OB1_Prev_Cycle" im OB1 deklariere, wofür benötigt man diese?
Z.B. um die Ergebnisse des Bausteinaufrufs in NW1 (schreibend) an den Bausteinaufruf in NW2 (lesend) zu übertragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was ich noch schnell fragen wollte, darf man in einem Baustein, der bibliotheksfähig sein soll, sprich nur lokale Variablen hat, Globale Datenbaustein verwenden. Also ich habe in einen Global-DB Bits hinterlegt, später für die Visualisierung. D.h, wenn ein Bit in diesem true wird, soll z.B. eine Fehlermeldung auf dem Touchpanel angezeigt werden. Darf man das?
 
Dürfen darf man so ziemlich alles. ;)
Aber machen sollte man das nicht.

Woher weißt Du denn, das genau dieser DB mit dem gleichen Aufbau auch im nächsten Projekt wieder vorhanden ist?
Solche Sachen gehören alle an die Schnittstelle und dort kannst Du dann außerhalb des Bausteins den DB angeben und innerhalb die Lokaldaten verwenden.
Und dies sollte man sich prinzipiell angewöhnen, egal ob bibliotheksfähig oder nicht.
 
Ach so. Also keinen DB in den FC's und FB's verwenden, sondern die Daten im DB in der Schnittstelle verschalten. Danke dir.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ach so. Also keinen DB in den FC's und FB's verwenden, sondern die Daten im DB in der Schnittstelle verschalten.
Genau so ist es.

Und was glaubst Du, was bei einem Austausch des DBs einfacher ist - die Angaben an der Schnittstelle zu ändern oder den ganzen Baustein zu durchsuchen, wo überall Daten des DBs verwendet werden (auch wenn's da Hilfsmittel gibt)?
Schon mal drüber nachgedacht?
 
Zurück
Oben