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

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

Thema: Strukturierter Text _Temp need ya help

  1. #1
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hallo,
    und zwar sitz gerade in der arbeit und hab keinen Plan von ST programmiern (für die SPS)
    Ich weiß es ist nicht der richtige Thread aber es gab keinen zu ST und daher viele sprachen ähnlich sind, hab ich mir gedacht, vl. wisst ihr mehr darüber.

    Codebeispiel:

    Schaltspiele := SChaltspiele + (BOOL_TO_DWORD(NOT Befehl AND Befehl_temp);
    Befehl_temp := Befehl;

    was bitte sagd temp aus... und warum erkennt das programm überhaubt das es sich dabei um eine bestimmte variable handelt, da ja eig. _keine genauere zuweisung von Befehl ist, sondern eig. nur ein normaler name...

    bitte um antworten...
    danke
    mfg
    Tobias
    Zitieren Zitieren Strukturierter Text _Temp need ya help  

  2. #2
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Temp im Variabelnnamen bedeutet soviel wie Otto, Helmut oder Maria.

    Üblicherweise deutet es aber auch darauf hin, dass es sich um eine Lokale und temporäre Variable handelt - dies müsste aber in der Deklaration ersichtlich sein.
    mfG Aventinus

  3. #3
    skillrun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    das ist ja das komische, ich weiß das es eine temporäre variable ist, aber wird ganz normal deklariat, (Befehl_temp :BOOL
    aber wie funktionieren eig. temporäre variablen an sich ?

    nehmen irgendwi immer den wert an vom letzten vorgang oder so... ? ? ?

  4. #4
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Nein, so ist es nicht. Da du dich nicht darüber ausgelassen hast welche Steuerung du verwendest schreib ich mal was ich allgemein über temporäre Variablen sagen kann. Mag sein dass die einzelenen Steuerungen in Details etwas anders sind.

    Beim Aufruf deiner Funktion wird in der CPU ein Speicherbereich reserviert, der in der Größe der Summe der temporären Variablen entspricht (Vergleichbar mit einem Stück einer Schultafel)
    Du weißt jetzt zwar, welcher Speicherbereich dir gehört, aber es steht noch das drin was der letzte reingeschrieben hat (Schultafel: Unterrichtsstoff der letzten Stunde)
    Also löscht du dein Zeugs ab und beschreibst es neu (Schultafel: jetzt steht das aktuelle Zeugs drauf)
    Wenn die Funktion abgearbeitet ist wird der Speicher wieder freigegeben (Die Schultafel darf jetzt wieder von anderen benutzt werden - natürlich sollten die erstmal löschen)
    mfG Aventinus

  5. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    skillrun (12.09.2012)

  6. #5
    skillrun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    danke, a hab ich ganz vergessen, TwinCAT PLC Control: ST

    Und weisd du zufällig worin da der Sinn bestehen soll ?
    ->

    Summenstoerung := Summenstoerung OR Stoerung;

    Also Stoerung wird zuvor so festgelegt; Stoerung := Stoerung_GS OR Stoerung_AS OR Stoerung_Beide OR usw. (alle stoerungen aufgelistet)
    für was ist die summenstoerung gut und warum schreibt man summenstoerung := summenstoerung ergibt ja auch keinen Sinn ?

  7. #6
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    schau mal in deinen anderen Fred
    mfG Aventinus

  8. #7
    skillrun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    du auch, weitere frage endless questions... so much questions... in my head... fuck ^^ so kompliziert .... ich stell mal ein beispiel rein vl. is dann leichter zu verstehn was ich meine

  9. #8
    skillrun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Code:
    in_GS_temp := Endschalter_GS_temp AND NOT Endschalter_AS_temp AND NOT Befehl;
    in_AS_temp := Endschalter_AS_temp AND NOT Endschalter_GS_temp AND Befehl;
    
    TON_GS(IN := in_GS_temp, PT := Applikationszeit_GS, Q => in_GS); 
    TON_AS(IN := in_AS_temp, PT := Applikationszeit_AS, Q => in_AS);
    
    Spule_GS := NOT Befehl AND NOT Sperre_GS;
    Spule_AS := Befehl AND NOT Sperre_AS;
    
    Stoerung_GS_temp := Spule_GS AND NOT in_GS_temp;
    Stoerung_AS_temp := Spule_AS AND NOT in_AS_temp;
    Stoerung_beide_temp := (Spule_GS OR Spule_AS) AND Endschalter_AS AND Endschalter_GS;
    und dass geht immer so weiter mit den vielen temp, und ich komm nicht dahinter was der sinn davon ist..

    und deklariert werden die temp so:

    Code:
    Endschalter_GS_temp            : BOOL;
        Endschalter_AS_temp            : BOOL;
        in_GS_temp                    : BOOL;
        in_AS_temp                    : BOOL;
        Stoerung_GS_temp            : BOOL;

    also wie ganz normale namen, ich verstehs nicht wi das programm mitkriekt das es keine normalen variablen sind... und was das _temp bringt

  10. #9
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Ok, die Variable "in_GS_temp" wird wahrscheinlich in deinem Programm mehrmals abgefragt. Man könnte natürlich auch jedes mal den ganzen Ausdruck "Endschalter_GS_temp AND NOT Endschalter_AS_temp AND NOT Befehl" hintippen, aber wer will das schon. Und ausserdem benötigt das dann auch mehr Zeit bei der Bearbeitung.
    Also wird erstmal zusammengefasst was zusammengehört und dann damit weitergearbeitet.

    Ich bin kein Twincat-Programmierer aber ich gehe davon aus dass dein Baustein irgendwie so aussicht:
    Code:
    
    FUNCTION FCxxx : INT
    
    
    VAR_INPUT
        // Eingangsvariablen
    END_VAR
    
    
    VAR_INPUT
        // Ausgangsvariablen
    END_VAR
    
    
    VAR_TEMP
        // Temporary Variables
         Endschalter_GS_temp            : BOOL;
         Endschalter_AS_temp            : BOOL;
         in_GS_temp                    : BOOL;
    Code:
       in_AS_temp                    : BOOL;
    END_VAR
    
    
    END_FUNCTION
    
    
    

    Und dann kennt der Compiler anhand des Schlüsselworts VAR_TEMP dass es sich um temporäre Variablen handelt.

    Geändert von Aventinus (12.09.2012 um 14:30 Uhr)
    mfG Aventinus

  11. Folgender Benutzer sagt Danke zu Aventinus für den nützlichen Beitrag:

    skillrun (12.09.2012)

  12. #10
    skillrun ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    12
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    dasselbe hab ich mir auch schon gedacht, aber das sicke daran ist, das der ganze spaß

    VAR
    >>>>hier deklariert ist - in den normalen variablen<<<<<<<
    END_VAR

Ähnliche Themen

  1. Aufgaben Strukturierter Text
    Von Jumpinjack im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 27.01.2011, 23:27
  2. Strukturierter Text ????HÄ?????
    Von Pinky im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 22.04.2010, 14:26
  3. Mitsubishi FX3U und Strukturierter Text
    Von Jorge im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 10.02.2010, 20:38
  4. For Schleif Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 28.01.2010, 20:45
  5. Strukturierter Text
    Von bluebird277 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 21.01.2010, 15:54

Stichworte

Lesezeichen

Berechtigungen

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