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

Ergebnis 1 bis 9 von 9

Thema: TEMP-Variable

  1. #1
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    ich habe eine FC1, in der eine TEMP-Variable deklariert ist. Diese FC1 wird in einer FC2 aufgerufen...

    Frage:

    Kann man in diesem Fall eine TEMP-Variable verwenden, da ich gelesen habe, dass eine TEMP-VAR nur innerhalb des Bausteins, in dem sie deklariert wurde, gültig ist - hier wird ja aber die FC1 auch in der FC2 verwendet?

    Lieben Dank!
    Grüße
    anne
    Zitieren Zitieren TEMP-Variable  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    Hallo,
    wenn du die TEMP-variable des ersten FC's im zweiten FC verwenden willst, so geht das nur über die Schnittstelle des Bausteins (also z.B. als IN-Parameter übergeben).

    Gruß
    LL

  3. #3
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Ok danke LL,

    das heißt, in der FC1 kann ich schon eine Variable, z.B. "Test", als TEMP-Var deklarieren.

    Möchte ich diese Variable "Test" jedoch in einer zweiten FC (hier FC2) verwenden, so muss die TEMP-Variable "Test" als IN-Parameter übergeben werden. Schreibe ich dann einfach diese Variable "Test" in den IN-Bereich der FC2 oder wie funktioniert das?
    Geändert von anne (11.06.2010 um 10:54 Uhr)
    Grüße
    anne

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.792
    Danke
    398
    Erhielt 2.416 Danke für 2.012 Beiträge

    Standard

    Zitat Zitat von anne Beitrag anzeigen
    Schreibe ich dann einfach diese Variable "Test" in den IN-Bereich der FC2 oder wie funktioniert das?
    Ja ... genau so ... und beim Aufruf von FC2 im FC1 übergibst du die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2.

    ...

  5. #5
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ... und beim Aufruf von FC2 im FC1 übergibst du die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2.

    ...
    ... aber die FC1, in der die TEMP-Var "myTemp" deklariert ist, wird ja in der FC2 aufgerufen! Ich übergebe aber trotzdem die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2, oder?
    Geändert von anne (11.06.2010 um 11:13 Uhr)
    Grüße
    anne

  6. #6
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von anne Beitrag anzeigen
    ... aber die FC1, in der die TEMP-Var "myTemp" deklariert ist, wird ja in der FC2 aufgerufen! Ich übergebe aber trotzdem die TEMP "myTemp" vom FC1 an den IN_Parameter des FC2, oder?
    Also im FC2 steht Call FC1?

    Dann müsstest du im FC1 eine Out-Var in die Schnittstelle integrieren z.B. 'OutA'.
    Im FC1 schreibst Du die interne Temp-Var 'myTemp' auf 'OutA'.
    Beim Aufruf von FC1 im FC2 hast du dann die Var 'OutA' aus FC1 (entspricht dann 'myTemp') im FC2 zur Verfügung.

  7. #7
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke, aber klar ist es mir noch immer nicht...

    1) Ich deklariere in der FC1 eine TEMP-Variable namens "myTemp".

    2) Ich rufe die FC1 in der FC2 mittels "Call FC1" auf.

    3) In die IN-Schnittstelle der FC2 schreibe ich nochmals die Variable "myTemp" mit gleichem Datentyp wie auch in der FC1.

    Es wird aber in der FC2 nach keinen Aktualparametern gefragt, da die Variable in der FC1 ja eine TEMP-Var ist. Irgendwas kann noch nicht ganz stimmen, oder?
    Grüße
    anne

  8. #8
    Registriert seit
    19.06.2003
    Ort
    Im Staub ...
    Beiträge
    337
    Danke
    115
    Erhielt 26 Danke für 23 Beiträge

    Standard

    Zitat Zitat von anne Beitrag anzeigen
    Danke, aber klar ist es mir noch immer nicht...

    1) Ich deklariere in der FC1 eine TEMP-Variable namens "myTemp".

    2) Ich rufe die FC1 in der FC2 mittels "Call FC1" auf.

    3) In die IN-Schnittstelle der FC2 schreibe ich nochmals die Variable "myTemp" mit gleichem Datentyp wie auch in der FC1.

    Es wird aber in der FC2 nach keinen Aktualparametern gefragt, da die Variable in der FC1 ja eine TEMP-Var ist. Irgendwas kann noch nicht ganz stimmen, oder?
    1) ja
    2) ja
    3) nö, muss nicht sein

    Die Schnittstelle von FC1 hat die Temp-Var 'myTemp'.
    Damit du die aber nach drausen (also raus aus dem FC1) bringst, musst du im FC1 eine OUT-Var deklarieren.
    Im FC2 brauchst du keine 'myTemp'.

    Dein FC2 sieht in etwa so aus ...
    Code:
    U M n.n
    = A n.n
    
    CALL FC1
      OutA: MW 10  //hier kann irgendeine Var stehen, auch eine Temp-Var von FC2
                   //je nachdem was du mit der Var weiter machen möchtest
    
    L MW 10
    T MW 20
    
    U E n.n
    = M n.n
    Dein FC1 sieht in etwa so aus ...
    Code:
    ...
    L #myTemp
    T #OutA  //in der Schnittstelle von FC1 als OUT deklariert
    ...
    Du könntest dann evtl. sogar auf die myTemp Variable verzichten, und im FC1 gleich die OutA bearbeiten.
    z.B.
    Code:
    ...
    L 17
    T #OutA
    ...

  9. #9
    anne ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.02.2010
    Beiträge
    345
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für deine Antwort "ssound1de" - denke das ist soweit klar geworden....

    Aber es macht wohl keinen Sinn in einer FC eine TEMP-Var zu deklarieren, wenn diese in einer anderen FC benötigt wird - dann ist es wohl sinnvoller gleich eine OUT-Var zu verwenden.
    Grüße
    anne

Ähnliche Themen

  1. Problem mit Temp-Variable im FC
    Von Bär1971 im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 20.01.2011, 12:15
  2. FB mit Temp Variable ergänzen.
    Von swisscrane im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 27.02.2009, 13:42
  3. Temp Variablen
    Von centrox im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 23.02.2009, 16:05
  4. Antworten: 17
    Letzter Beitrag: 06.10.2004, 12:02
  5. Antworten: 2
    Letzter Beitrag: 23.09.2004, 09:26

Lesezeichen

Berechtigungen

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