Step 7 Integerwert weitergeben

Hatcher91t

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

mein Problem sieht wie folgt aus.
Ich habe zwei FB´s in meinem OB aufgerufen. Einer der FB´s gibt einen Integer Wert am Ausgang des Bausteins aus. Diesen Integer Wert möchte ich dann
am Eingang des anderen FB zuschalten. Ich habe es versucht diesen Integer Wert mit einem Merkerword zu speichern. Hat aber auch nicht funktioniert.
Könnt ihr mir da ein Tipp geben wie man das hinbekommt?

Gruß Hatcher91t
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
um den Beitrag von Vierlagig zu vervollständigen : der von dir beschriebene Weg wäre ein mögliche Vorgehensweise, dass genannte zu tun. Wenn es aber nun nicht funktioniert dann wird der gewünschte Wert entweder vom ersten der Bausteine nicht ausgegeben oder vom zweiten der Bausteine nicht eingelesen bzw. weiter verarbeitet. Es gibt auch noch die Möglichkeit, dass die Aufrufe der Bausteine nicht unmittelbar hintereinander liegen und dass etwas anderes noch das genannte Merkerwort ändert. Ich würde hier aber erstmal auf die Bausteine selbst tippen. Vielleicht tellst du deinen Code hier mal ein - dann kann man vielleicht etwas mehr sagen ...

Gruß
Larry
 
Also ich versuche es mal genauer zu beschreiben.

Wenn ich die Bausteine mit der PLCSIM simuliere und die Werte parallel mit der "Brille" kontrolliere sehe ich das der eine FB ein Integer Werte ausgibt. Von diesem Ausgang habe ich versucht diesen mim Merkerwort zu speichern. Diesen Merkerwort hab ich dann an den Eingang des anderen FB geschaltet. Doch statt den gleichen Wert wie beim anderen FB Ausgang anzuzeigen bleibt der Wert bei Null. Beide Bausteine habe ich mit SCL programmiert und die bestimmten in bzw outputs mit Integer deklariert.
Zwischen dem Merkerwort ist nichts verschaltet das diesen in irgendeiner weise verfälschen würde.
Jeder FB hat ein Instanzdatenbaustein ( liegt es vllt irgendwo daran?)
 
sieht es ungefähr so aus:

Code:
call fb1, db1
    InInt := 2
    OutInt := MW10

call fb1, db2
    InInt := MW10
    OutInt := AW0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also die FB`s habe ich in SCL programmiert. Diese dann im OB aber in FUP aufgerufen und versucht zu verknüpfen. Aber wenn ich mir dein Beispiel so anschaue habe ich es genauso aber eben im FUP versucht umzusetzen.
 
Hi!

Der Merkerbereich wird definitiv von irgendwo überschrieben. Gibt es vielleich eine Überlagerung die du übersehen hast?

Gruß,

Ottmar
 
Ist das in FUP in einem Netzwerk?

Dann wird das MD wahrscheinlich vor dem Aufruf der FBs an Lokalparameter LD übergeben und deshalb zwischenzeitlich nicht aktualisiert.
Also in dem Fall die Aufrufe der FBs auf 2 Netzwerke verteilen.



PS: Oder war/ist das nur bei Bools so?
:confused:
 
Zuletzt bearbeitet:
@ Vierlagig
hatte wohl noch nicht genug koffeein. Habe integer gelesen und real verstanden .
Wo du recht hast hast du recht.

Das zweite wäh?
hatte ich so verstanden, dass Ottmar glaubt dass evtl irgendwo im Programm ein oder mehrere Merker aus diesem Bereich mal anderweitig verwendet werden.
Ist ja nicht soo abwegig ( soll sogar mir schon passiert sein - daher nehme ich in für soche Fälle immer eine DW ) .

peter(R)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
hatte ich so verstanden, dass Ottmar glaubt dass evtl irgendwo im Programm ein oder mehrere Merker aus diesem Bereich mal anderweitig verwendet werden.
Ist ja nicht soo abwegig ( soll sogar mir schon passiert sein - daher nehme ich in für soche Fälle immer eine DW ) .

aber definitiv? definitiv kann man das nur sagen, wenn man das programm vor sich hat.

selbst wenn es in irgendeinem programmteil beschrieben wird, bei aufeinander folgenden aufrufen ist das irrelevant!
 
Zurück
Oben