Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: IN OUT Variable UDT

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    stell doch mal deinen Code hier ein ...
    vielleicht sieht man dann etwas ...

  2. #12
    slma ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ok kann ich machen...nur wird sich niemand auskennen aber versuchen wirs mal

    also ich stell ihn so mit vorher-nachher hinein

    Vorher habe ich FB4 und FB5 verwendet, da hatte ich das Problem nicht aber jetzt soll ich es eben nur mit einem (FB5) machen und daher musste ich die IN-OUT var. in einem FB durchgeben und das funktioniert ja nicht mit IN-OUT

    Kurze Erklärung:

    E2.0 zum starten
    im DB10 (altes Programm) bzw. DB11 sieht man an den Variablen TEMP1..4 dass hinaufgezählt wird! Die daten/nummer werden von einem Array ins nächste geschoben (siehe DB50)

    Im neuen Programm mit Temp var. sollte das genauso sein (DB10)..nur hört es beim ersten auf und es wird nichts weitergeschoben...

    Vielleicht hat jemand Zeit zum ansehen...

    Danke!
    Angehängte Dateien Angehängte Dateien

  3. #13
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    [/quote =LL]
    Das ist in SCL so, weil indirekt eine Art Block-Move durchgeführt wird,
    ... musst du aber in AWL per Hand auch machen ...[/quote]

    Wie auch immer, ich vermeide sie seit dem an den IN_OUT Schnittstellen. Der Effekt ist übrigens auch, wenn der Aufruf aus einem KOP / FUP -FC kommt.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  4. #14
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    Hallo,
    ich habe mir mal dein Testprojekt_geht_gar_nicht angesehen. Ich muss sagen, dass ich nicht schlau daraus geworden bin. Was möchtest du bewirken und wie geschieht das ?
    Du musst, glaube ich, noch ein bisschen mehr dazu schreiben ...

  5. #15
    slma ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    OK...

    Ich möchte eine Anlage simulieren mit 2 Grundsystemen (FB5 bzw FB4) und jeweils 4 Modulen (FB22-führen die eigentliche Arbeit aus).
    Es werden die Arbeitszeit, Störung, IO,NIO (In Ordnung,nicht in Ordnung) simulieren.
    Die Anzahl der Durchläufe wird gezählt, damit werden die Vorgaben wann ein NIO Teil, Störung lang,... anfällt. Das sind die Zahlen beim FB5.
    Wenn ein Teil nicht NIO ist durchläuft es die ganze Anlage.
    Wenn es NIO ist wird es schon bei der ersten ausgeschieden und ein neues Teil kommt vorne herein. (Siehe Temp1-Temp4 in den jeweiligen InstanzDBs)

    Dann war meine Vorgabe dass die Grundsysteme (FB5-FB4) Multiinstanzbausteine sein sollen. Also habe ich den FB5 hergenommen und musste die IN-OUT Variablen auf IN-TEMP-OUT ändern, da das sonst nicht funktionier.
    Jetzt gebe ich die Nummern der Arrays einen Baustein darüber an.
    Und das funktioniert nicht mehr.
    Siehe das neuere Programm.

    mfg

  6. #16
    Registriert seit
    27.08.2004
    Beiträge
    65
    Danke
    1
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die IN_OUT Variable ist wie schon gesagt ja nur ein Pointer mit 6 Byte! Es steht somit nicht der Inhalt des UDT in der Variablen. Wenn Du nun über indirekte Adressierung den Inhalt dieses Pointers in den Pointer des FB22 kopierst dann funzt das. Weil dann dieser Pointer genau auf die Adresse schaut wie der umhüllende Baustein. Ist halt ein bisschen tricki!

    Du kannst Dir ja mal die Inhalt der Variablen anschauen! Vom der Variablen des Hüllbausteins und vom FB22. Da muss das selbe drin stehen. Zum testen kannst Du die FB22 Variable über Steuern Variablen so setzten wie Du es am Hüllbaustein siehst. Damit kannst Du prüfen ob das funktionieren würde! Die interen Beschreibung der Variable vom FB22 muss Du natürlich auskommentieren.

    Gruss Ligatschow

Ähnliche Themen

  1. S7 Variable in Java Variable umwandeln
    Von maxi81 im Forum HMI
    Antworten: 0
    Letzter Beitrag: 26.11.2010, 17:55
  2. INT Variable
    Von snowkopp im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 21.09.2009, 22:59
  3. # vor Variable !?
    Von the im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 24.06.2009, 10:34
  4. Antworten: 7
    Letzter Beitrag: 05.03.2008, 07:38
  5. OP7 Variable
    Von godi im Forum HMI
    Antworten: 5
    Letzter Beitrag: 25.04.2006, 22:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •