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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 39

Thema: Zuweisung von werten auf Out-Variablen

  1. #1
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Auf dem Bild ist der Quellcode des aufgerufenen Bausteins und sein Aufruf im Status zu sehen. Es werden einfach nur 3 Werte abhängig von 3 Eingangsbits auf drei Ausgänge kopiert.
    Meine Frage ist nun, warum nimmt bei der gezeigten Beschaltung die Ausgangsvariable den Wert von Out2 an und nicht den von Out3 ?
    Angehängte Grafiken Angehängte Grafiken
    Lieber Feste feiern, als feste arbeiten.
    Zitieren Zitieren Zuweisung von werten auf Out-Variablen  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard

    Weil an ein2 ein 1-Signal liegt (Eingang ist negiert)
    An ein3 liegt ein 0-Signal und daher wird der Abschnitt
    Code:
    *
    ...
    L #in3
    T #out3
    ...
    übersprungen

  3. #3
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Hallo,

    Zitat Zitat von blasterbock Beitrag anzeigen
    Meine Frage ist nun, warum nimmt bei der gezeigten Beschaltung die Ausgangsvariable den Wert von Out2 an und nicht den von Out3 ?
    Wenn du alle Ausgänge mit ein und derselben Variablen belegst, müssen alle den gleichen Wert haben. Unterschiedliche Variablen -> und es funzt.

    MfG
    FrankW

  4. #4
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    Das ist mir schon klar.
    Es erfolgt aber an out3 eine weitere Zuweisung zu der gleichen Variablen.
    Wenn ich an den out3 eine andere Variable schreibe, wird der Wert 0 an out3 angezeigt, wie es auch richtig ist.
    Aber warum wird dummyint nicht auf 0 geschrieben ?

    @Frank W
    Ich sehe es ja, dass es funktioniert, aber warum wird der out3 nicht in die Variable geschrieben ?
    Geändert von blasterbock (02.12.2008 um 08:56 Uhr)
    Lieber Feste feiern, als feste arbeiten.

  5. #5
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Zitat Zitat von blasterbock Beitrag anzeigen
    Das ist mir schon klar.
    Es erfolgt aber an out3 eine weitere Zuweisung zu der gleichen Variablen.
    Wenn ich an den out3 eine andere Variable schreibe, wird der Wert 0 an out3 angezeigt, wie es auch richtig ist.
    Aber warum wird dummyint nicht auf 0 geschrieben ?

    @Frank W
    Ich sehe es ja, dass es funktioniert, aber warum wird der out3 nicht in die Variable geschrieben ?
    Weil du nichts schreibst, du überspringst ja das schreiben bei nicht gesetzten Eingang.

    MfG
    FrankW

  6. #6
    Registriert seit
    05.10.2005
    Beiträge
    2.387
    Danke
    321
    Erhielt 298 Danke für 268 Beiträge

    Standard

    weil du nirgends ein
    Code:
    
    t #out3
    in dienem Code abarbeitest

  7. #7
    Avatar von blasterbock
    blasterbock ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    08.07.2007
    Ort
    Burbach
    Beiträge
    366
    Danke
    81
    Erhielt 34 Danke für 32 Beiträge

    Standard

    Das stimmt nicht. Die Variable out3 wird intern mit dem Wert 0 belegt (sieht man, wenn man eine andere Variable an out3 legt).

    So weit ich das System verstehe, werden bei einem Bausteinaufruf alle Übergabeparameter auf den Stack geschrieben. Also muss beim Rücksprung aus dem FC out3 einen Wert haben.

    Wo liegt mein Denkfehler ?
    Lieber Feste feiern, als feste arbeiten.

  8. #8
    Registriert seit
    29.09.2008
    Ort
    Land der Frühaufsteher
    Beiträge
    104
    Danke
    6
    Erhielt 22 Danke für 21 Beiträge

    Standard

    Dein Denkfehler liegt darin, dass du der Meinung bist, die SPS tut etwas von selbst. Dem ist nicht so. Du schreibst nicht auf die Variable! Wenn du in ein MW z.Bsp. die Zahl 14 schreibst und das MW danach als #out3 nimmst, bleibt die 14 so lange stehen bis #ein3 TRUE ist, dann steht dort der #in3-Wert!!!!

    MfG
    FrankW

  9. #9
    Registriert seit
    15.06.2008
    Beiträge
    119
    Danke
    19
    Erhielt 24 Danke für 19 Beiträge

    Standard

    BOAH, das kann doch nun wirklich nicht so schwer sein!

    du hast eine IF-THEN-Anweisung gebaut. problem dabei, es wird nicht mehr beschrieben, also der wert bleibt. das was du willst ist ein IF-THEN-ELSE-Konstrukt:

    Code:
        IF ein1 
            THEN out1:=in1; 
            ELSE out1:=0; 
        END_IF;
    und jetzt gehst du zu deinem chef und sagst, dass du ganz dringend einen leergang brauchst!
    Geändert von forendiva (02.12.2008 um 09:28 Uhr) Grund: rot und fett

  10. #10
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    du hast im OB1 die tempvariable #dummyint definiert und beschreibst sie durch dein out2 mit 2.dann steht die 2 natürlich da drinnen.egal wo du sie anlegst.wie schon oben beschrieben.nimm drei verschiedene und es passt.
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

Ähnliche Themen

  1. bedingte Zuweisung im FUP?
    Von McNugget im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 26.11.2009, 11:16
  2. Ungültige Zuweisung, SCL
    Von petzi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.05.2009, 13:55
  3. Zuweisung
    Von snowbda im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 03.12.2008, 15:11
  4. Zuweisung von Adressen
    Von buenne im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 05.04.2007, 16:19
  5. Zuweisung von Hardware Eingängen
    Von chivas im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.10.2004, 16:35

Lesezeichen

Berechtigungen

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