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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 40

Thema: Problem mit OUT Variabeln

  1. #11
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    2 Fragen dazu :
    1.) ist es 42B6 mit der das Problem auftritt ?
    2.) von den jeweiligen FC's - was sind davon IN's und was OUT's und was ist die Durchgangsvariable (IN_OUT) ?

    Gruß
    Larry

  2. #12
    explorer42 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2008
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo,
    zu 1) Nein mit -42B6 gibt es keine Probleme ist eine Zylinderabfrage. Es gibt Probleme wenn ich den Zustand des Sensor in eine statische Variable zwischenspeichere und es im Programm an einem anderen FC als IN verwenden sprich lesen möchte.
    zu 2) PrevOK, Next Ok sind IN Variabeln, RelPrev, RelNext sind Out Variabeln, Schrittnummer und ProdPrev und ProdNext sind inout variabeln.
    alle mit vorangestelltem # sind statische Variablen

    gruß
    explorer42

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.314
    Danke
    932
    Erhielt 3.329 Danke für 2.688 Beiträge

    Standard

    Zitat Zitat von explorer42 Beitrag anzeigen
    Es gibt Probleme wenn ich den Zustand des Sensor in eine statische Variable zwischenspeichere und es im Programm an einem anderen FC als IN verwenden sprich lesen möchte.
    Meinst Du das so?
    Code:
          U     "-42B6"
          =     #Stat_Sensorzustand
    
          U(
          O     "ResetMain"
          O     "ResetKartEinlage"
          )     
          =     L      1.0
    
          CALL  "Kartoneinlagentransport"
           StReset      :=L1.0
           PrevOK       :=#AufrEinlInPos
           NextOK       :=#Stat_Sensorzustand
           RelPrev      :=#KartEinlTranInPos1
           RelNext      :=#KartEinlTranInPos2
           Schrittnummer:="SchrNrKartEinlTran"
           ProdPrev     :="Einlage_aufgerichtet"
           ProdNext     :="Einlage_abgeschoben"
    
    
          CALL  "anderer_FC"
           IN_Sensor    :=#Stat_Sensorzustand
    Was genau ist denn nun Dein Problem? Laß' Dir doch nicht alles aus der Nase ziehen
    Wie lautet nochmal Deine Frage? Geht es nun um ein Problem bei OUT, IN_OUT oder IN ???

    Gruß
    Harald
    Zitieren Zitieren Wo ist das Problem? Wie lautet die Frage?  

  4. #14
    explorer42 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2008
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    also noch mal:

    FC1:

    U E1.0
    = #sensor (ist eine out variable)


    im FB1:

    Call FC1
    sensor:=#stat_sensorzustand (ist eine statische variable)
    ...

    Call FC2
    invariable:=#stat_sensorzustand
    ...

    so funktioniert aber Anlage richtig:

    Call FC2
    invariable:="-42B6"
    ...

  5. #15
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    multiinstanzen verarbeitet?
    ...und indirekte zugriffe?
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #16
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Also wenn man Out Variablen auch vorher lesen will, sollte man immer in_out verwenden. Es geht zwar normalerweise mit L/M/E und A Bereichen, da dort ein Pointer übergeben wird, aber was ist wenn Siemens dies dann mal ändern würde (wie auch immer). Und mit DB gehts nicht, und dann ist man am Fehlersuchen wenn man dann denkt das der Baustein sonnst immer Funktioniert hat!
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Out lesen...  

  7. #17
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    Zitat Zitat von explorer42 Beitrag anzeigen
    also noch mal:

    FC1:

    U E1.0
    = #sensor (ist eine out variable)


    im FB1:

    Call FC1
    sensor:=#stat_sensorzustand (ist eine statische variable)
    ...

    Call FC2
    invariable:=#stat_sensorzustand
    ...

    so funktioniert aber Anlage richtig:

    Call FC2
    invariable:="-42B6"
    ...
    Geht nicht, da eine Statische Variable eine DB variable ist, und auf DB gehen keine direkten Out Zugriffe.

    Du kannst ja mal mit meinem MC7 to AWL Converter nachsehen was der Step 7 aus deinem Call aufruf bei einem Eingangs und bei einem DB Zugriff macht. (gibts hier http://jochensserver.dyndns.org/wordpress/?page_id=55) Dann wirds vielleicht klarer...
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten

  8. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    Gerhard K (29.06.2010)

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

    Standard

    Wie oft rufst du den FB1 in deinem Programm eigentlich auf??
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  10. #19
    Registriert seit
    17.06.2004
    Ort
    Offenau
    Beiträge
    3.758
    Danke
    209
    Erhielt 421 Danke für 338 Beiträge

    Standard

    siehe aus dem:

    IN-Beispiel:

    Code:
          CALL  "POSITIONSKONTROLLE"
           aa:=EW1
    macht Step7

    Code:
     BLD   1             
          =     L15.0         
          UC    FC1           
                P#E 1.0
          BLD   2
    und aus..

    Code:
          CALL  "POSITIONSKONTROLLE"
           aa:=DB1.DBW0
    Code:
     BLD   1             
          =     L15.0         
          AUF   DB1           
          L     DBW0          
          T     LW16          
          UC    FC1           
                P#V 16.0
          BLD   2
    doch wenn Ich nun eine Out nehme, dann belibt der aufruf mit dem EW gleich, aber aus dem DB aufruf wird:

    Code:
     BLD   1             
          =     L15.0         
          UC    FC1           
                P#V 16.0
          L     LW16          
          AUF   DB1           
          T     DBW0          
          BLD   2
    ---------------------------------------------
    Jochen Kühner
    https://github.com/jogibear9988/DotN...ToolBoxLibrary - Bibliothek zur Kommunikation mit PLCs und zum öffnen von Step 5/7 Projekten
    Zitieren Zitieren Nochmal ich  

  11. Folgender Benutzer sagt Danke zu Jochen Kühner für den nützlichen Beitrag:

    explorer42 (29.06.2010)

  12. #20
    explorer42 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    30.01.2008
    Beiträge
    10
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für die Antworten!

    d.h. wenn ich es richtig verstanden habe:

    eine db-variable am in eingang eines FCs wird irgendetwas aus dem L-Stack geladen.
    bei einem Eingangswort nicht weil der Pointer direkt auf das EW zeigt.

    Aber was passiert wenn ich die db variable nicht vorher lese sondern vorher immer zyklisch über einen FC out beschreibe
    und dann später lese?

Ähnliche Themen

  1. [WinCCflexibel] Variabeln in Ordner
    Von rostiger Nagel im Forum HMI
    Antworten: 21
    Letzter Beitrag: 14.04.2011, 19:16
  2. flanken mit temp variabeln
    Von iPDI im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 12.07.2010, 09:20
  3. Problem mit PERSISTENT-Variabeln
    Von CoDeSys123456 im Forum CODESYS und IEC61131
    Antworten: 5
    Letzter Beitrag: 27.03.2010, 23:57
  4. Variabeln rangieren WinCC V6.2
    Von Chaos0815 im Forum HMI
    Antworten: 12
    Letzter Beitrag: 06.01.2010, 09:27
  5. Unbenutzte Variabeln suchen
    Von Reto im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.01.2007, 13:04

Lesezeichen

Berechtigungen

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