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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 22

Thema: IN-Variable im Baustein setzen?

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    der folgende Code verwirrt mich:

    Code:
     U     #Temp_OK
      R     #Temp_OK
    Temp_OK wurde im Baustein als IN-Variable deklariert. Beim Aufruf wird ein Merker aufgeschaltet: "VE_V81_Temp_OK"
    Der Baustein schafft es tatsächlich den Merker "VE_V81_Temp_OK" zurückzusetzen - wie kann das sein? Warum läßt Step7 überhaupt das Rücksetzen zu?
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)
    Zitieren Zitieren IN-Variable im Baustein setzen?  

  2. #2
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard

    Zitat Zitat von kiestumpe Beitrag anzeigen
    Hallo,

    der folgende Code verwirrt mich:

    Code:
     U     #Temp_OK
      R     #Temp_OK
    Temp_OK wurde im Baustein als IN-Variable deklariert. Beim Aufruf wird ein Merker aufgeschaltet: "VE_V81_Temp_OK"
    Der Baustein schafft es tatsächlich den Merker "VE_V81_Temp_OK" zurückzusetzen - wie kann das sein? Warum läßt Step7 überhaupt das Rücksetzen zu?



    Das Eingangsabbild wird beim Aufruf EINMAL eingelesen und kann dann beliebig verändert werden.

    Bei realen Eingängen der SPS ist es auch so

    Code:
     
    SET
    U E1.1
    R E1.1
    S E1.2
    usw.

    Das mit S Ex.x ist ja ganz nützlich, man sollte es aber nur im OB1 - GAAANZ OBEN - NW1 machen
    damit diese IBN-Tricks keiner übersieht.
    Geändert von IBFS (29.08.2007 um 14:01 Uhr)

  3. #3
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Mit den E/A habe ich da kein Problem, aber hier handelt es sich um die IN-Variable eines FC's ???
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  4. #4
    Registriert seit
    02.04.2006
    Ort
    nähe Muc
    Beiträge
    2.787
    Danke
    115
    Erhielt 126 Danke für 107 Beiträge

    Standard

    Zitat Zitat von kiestumpe Beitrag anzeigen
    Hallo,

    der folgende Code verwirrt mich:

    Code:
     U     #Temp_OK
      R     #Temp_OK
    Temp_OK wurde im Baustein als IN-Variable deklariert. Beim Aufruf wird ein Merker aufgeschaltet: "VE_V81_Temp_OK"
    Der Baustein schafft es tatsächlich den Merker "VE_V81_Temp_OK" zurückzusetzen - wie kann das sein? Warum läßt Step7 überhaupt das Rücksetzen zu?
    Hallo,

    ich habe deine Frage nicht ganz kapiert.

    Du schalltest auf den Call Befehl des FC auf #Temp_OK das DatenWort/bit einen Merker.

    Damit verbindet sich ja der Merker fest mit dem #Temp_OK
    Dies bedeutet solang der Call des FC abgearbeitet wird ist der Merker und das #Temp_OK wie eine Varibale zu behandeln.
    Wie eien feste Variablenverknüofung (istzwar nicht richtig erklärt aber hier hat dein Temp_OK=Mx.x bzw.

    u #Temp_OK
    = Mx.x

    Wird das Temp_OK verändert, wird immer auch gleichzeitig der Merker verändert.
    ___________________________________________





    Sende eine SMS mit dem Stichwort "Feuer" an die 112 und innerhalb von 10 Minuten steht ein roter Partybus mit derbem Sound vor deiner Tür.


    AGB: Wer Rechtschreibfehler findet darf diese behalten. Bitte meine in eile gefertigten, selten anfallenden Vertipsler zu entschuldigen.

  5. #5
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    Genau, der Call-Aufruf sieht etwa so aus.

    Code:
          CALL  FC 102
    ...
           Soll_Temp         :="EBR".DS81_Soll_Wassertemp
           Ist_Temp          :="EBR".VE_TICRA02
           Anf_Wasser        :="DS81_Anf_Ve_Wasser"
           Freig_Wasser      :="FRG_VE_Wasser"
           Temp_OK           :="VE_V81_Temp_OK"
    ...
    wohlgemerkt, es handelt sich um eine IN-Variable. Eigentlich hatte ich eher erwartet, dass der Wert von "VE_V81_Temp_OK" auf die Variable Temp_OK kopiert, nicht aber dass dies ein und das selbe ist. Dazu sollten doch nur die IN-OUT Variablen da sein.
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  6. #6
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    hmm, beim Aufruf in FUP/KOP passiert's nicht, da Step 7 hier intern die Variable auf ein Lokal-Bit kopiert.
    Ist aber schon ein starkes Stück
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)

  7. #7
    Registriert seit
    16.12.2004
    Ort
    Schleswig-Holstein
    Beiträge
    400
    Danke
    21
    Erhielt 24 Danke für 21 Beiträge

    Standard

    Dies funkioniert nur mit elementare Datentypen, nicht mit komplexen Typen wie, z.B. volle DB addressen vom Typ DB1.DBX1.0.

    Ich habe mich auch herumschlagen müssen mit Programmen die sowas machen und ich mag es überhaupt nicht. Ich finde es extrem irretierend, trotzdem, Tatsache ist mit einfachen Datentypen funktioniert es.

    Eine bessere Erklärung findest Du hier.
    Geändert von RMA (29.08.2007 um 17:36 Uhr)

  8. Folgende 2 Benutzer sagen Danke zu RMA für den nützlichen Beitrag:

    IBFS (29.08.2007),kiestumpe (30.08.2007)

  9. #8
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Daumen hoch

    Zitat Zitat von RMA Beitrag anzeigen
    Eine bessere Erklärung findest Du hier.
    Der Link ist Klasse!

  10. #9
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.255
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Aber nur zur Unterhaltung von Bush & Co.....

    und, worüber sich die Irren in dem Link unterhalten ist:
    Jaaaaa, Maschinencode ist nicht Step7.... auch wenn es AWL ist!
    Geändert von borromeus (30.08.2007 um 01:01 Uhr)

  11. #10
    Avatar von kiestumpe
    kiestumpe ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Für mich heisst das nun:

    1. Auf IN-Variablen in Bausteinen NIE zu schreiben.
    2. Bei fremden Programmen den Aufruf call nicht durch den FUP/KOP-Aufruf ohne weiteres zu ersetzen.
    3. Die Referenzliste gibt nur bedingt Auskunft zum schreiben auf Globale Daten...

    Ist das eigentlich in anderen Steuerungen genauso? Also z.B. CoDeSy, Elau usw?
    "Das Leben ist viel zu kurz, um schlecht zu essen !"
    (Johann Lafer zur SWR3 Grillparty)
    Zitieren Zitieren Fazit und Bei anderen System?  

Ähnliche Themen

  1. Multiplex-Variable vom Typ Bool setzen?
    Von mercury_26 im Forum HMI
    Antworten: 16
    Letzter Beitrag: 20.04.2011, 09:35
  2. Bei Array Variable Grenzen setzen
    Von vita-2002 im Forum HMI
    Antworten: 1
    Letzter Beitrag: 20.04.2010, 12:02
  3. In einer INT-Variable ein gezieltes Bit setzen
    Von noeppkes im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 04.08.2006, 16:58
  4. CP 443-1 und WinCC Variable setzen
    Von ottopaul im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 22.07.2006, 16:46
  5. Bit in einer 8Bit Variable mit VBS setzen
    Von Anonymous im Forum HMI
    Antworten: 4
    Letzter Beitrag: 14.12.2005, 11:45

Lesezeichen

Berechtigungen

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