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

Ergebnis 1 bis 5 von 5

Thema: Analogwertverarbeitung mit Wertabspeicherung

  1. #1
    Registriert seit
    21.04.2010
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,
    ich habe folgendes Problem, ich muss analoge Werte die mittels eines Potis eingestellt werden können. Nun müssen mit 2 werte auf 2 Kippschaltern gespeichtert werden.

    Die Einstellung des mit dem Leuchtband (siehe Bild) angezeigten Sollpegels "minimum" erfolgt mit dem Stellknopf. Hierzu muß der Kippschalter s6 in die Mittelstellung geschaltet, so wird der zu diesem Zeitpunkt vom Leutband angezeigte Pegel Als Sollwert "max abgespeichert werden.

    Das selbe gilt, dann auch für den Schalter s7 der den wert "min" abspeichern soll.

    Wenn die schalter s6 und s7 betätigt werden, sollen die abgespeicherten Pegel auf dem Leuchtband angezeigt werden.

    Ich muss das Ganze mit Struckturiertem Text und S7-Graph Programmieren. und weis nicht wie ich das realisieren soll.

    Ich bitte euch um eure HILFE

    DANKE im voraus.


    LG
    Angehängte Grafiken Angehängte Grafiken
    Zitieren Zitieren Analogwertverarbeitung mit Wertabspeicherung  

  2. #2
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard

    HA! Genau das selbe Übungsboard hatte ich auch auf einem SPS - Kurs!

    Zeig mal wie weit du schon bist:
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

  3. #3
    asima ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2010
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    ich bin erst soweit das sich die beiden pumpen abwechselnd den behälter befüllen und. mit der analogwertverarbeitung weis ich noch gar nich wie ich anfangen soll.

    hier mein quellcode:

    FUNCTION_BLOCK FB_Pumpen_SCL
    // FB steuert zwei Pumpen an und hält den Fluessigkeitspegel zw. 2 Grenzwerten b1 und b2
    VAR_INPUT
    // Eingangsparameter
    s0, s1, s2, s4, s5, b1, b2: BOOL;
    s6, s7: INT;
    END_VAR

    VAR_OUTPUT
    // Ausgangsparameter
    h1, h2, k1, k4: BOOL;
    END_VAR

    VAR
    // statische Variablen => im Instanz-Datenbaustein (hier DB1)
    phaseL: BOOL:=true; phaseR: BOOL:=false;
    fuellen: BOOL:=true; leeren: BOOL:=false;
    END_VAR

    h1 := 1;

    // Anweisungsteil
    IF NOT b1 AND NOT b2 AND phaseL AND fuellen THEN //Fuellen: an Untergrenze in PhaseL, K1 ein)
    k1:=true; k4:=false;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseR AND fuellen THEN //Fuellen: an Untergrenze in PhaseR, K4 ein)
    k1:=false; k4:=true;
    END_IF;

    IF b1 AND b2 AND phaseL AND fuellen THEN //Fuellen: Obergrenze in PhaseL erreicht
    k1:=false;
    leeren:=true; fuellen:=false;
    END_IF;

    IF b1 AND b2 AND phaseR AND fuellen THEN //Fuellen: Obergrenze in PhaseR erreicht
    k4:=false;
    leeren:=true; fuellen:=false;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseL AND leeren THEN //Leeren: an Untergrenze Phasenumschalt. L-R
    phaseL:=false; phaseR:=true;
    leeren:=false; fuellen:=true;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseR AND leeren THEN //Leeren: an Untergrenze Phasenumschalt. R-L
    phaseR:=false;
    phaseL:=true;
    leeren:=false; fuellen:=true;
    END_IF;

    nun muss ich mit den Analogwerterten arbeiten und hab hab kp wie ich das machen soll, da ich noch ein anfänger bin

    wie funktioniert das mit dem skalieren und was brauche ich da alles für?


    FUNCTION_BLOCK fc_105

    CALL "SCALE"
    IN :=PEW320
    HI_LIM :=1.000000e+001
    LO_LIM :=-1.000000e+001
    BIPOLAR:=TRUE
    RET_VAL:=MW3
    OUT :=MD20


    CALL "SCALE"
    IN :=PEW322
    HI_LIM :=1.000000e+001
    LO_LIM :=0.000000e+000
    BIPOLAR:=FALSE
    RET_VAL:=MW2
    OUT :=MD10
    END_FUNCTION_BLOCK;
    Geändert von asima (08.06.2010 um 14:41 Uhr)

  4. #4
    asima ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    21.04.2010
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    kann mir denn keiner irgend einen tipp geben wie ich mit den analogwerten arbeiten kann und ob das mit dem baustein fc 105 richtig ist und wenn ja, wie ich damit umgehen soll????

  5. #5
    Registriert seit
    21.12.2006
    Ort
    Wiener Neustadt
    Beiträge
    931
    Danke
    154
    Erhielt 169 Danke für 127 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von asima Beitrag anzeigen
    ich bin erst soweit das sich die beiden pumpen abwechselnd den behälter befüllen und. mit der analogwertverarbeitung weis ich noch gar nich wie ich anfangen soll.

    hier mein quellcode:

    FUNCTION_BLOCK FB_Pumpen_SCL
    // FB steuert zwei Pumpen an und hält den Fluessigkeitspegel zw. 2 Grenzwerten b1 und b2
    VAR_INPUT
    // Eingangsparameter
    s0, s1, s2, s4, s5, b1, b2: BOOL;
    s6, s7: INT;
    END_VAR


    VAR_OUTPUT
    // Ausgangsparameter
    h1, h2, k1, k4: BOOL;
    END_VAR

    VAR
    // statische Variablen => im Instanz-Datenbaustein (hier DB1)
    phaseL: BOOL:=true; phaseR: BOOL:=false;
    fuellen: BOOL:=true; leeren: BOOL:=false;
    END_VAR

    h1 := 1;

    // Anweisungsteil
    IF NOT b1 AND NOT b2 AND phaseL AND fuellen THEN //Fuellen: an Untergrenze in PhaseL, K1 ein)
    k1:=true; k4:=false;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseR AND fuellen THEN //Fuellen: an Untergrenze in PhaseR, K4 ein)
    k1:=false; k4:=true;
    END_IF;

    IF b1 AND b2 AND phaseL AND fuellen THEN //Fuellen: Obergrenze in PhaseL erreicht
    k1:=false;
    leeren:=true; fuellen:=false;
    END_IF;

    IF b1 AND b2 AND phaseR AND fuellen THEN //Fuellen: Obergrenze in PhaseR erreicht
    k4:=false;
    leeren:=true; fuellen:=false;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseL AND leeren THEN //Leeren: an Untergrenze Phasenumschalt. L-R
    phaseL:=false; phaseR:=true;
    leeren:=false; fuellen:=true;
    END_IF;

    IF NOT b1 AND NOT b2 AND phaseR AND leeren THEN //Leeren: an Untergrenze Phasenumschalt. R-L
    phaseR:=false;
    phaseL:=true;
    leeren:=false; fuellen:=true;
    END_IF;

    nun muss ich mit den Analogwerterten arbeiten und hab hab kp wie ich das machen soll, da ich noch ein anfänger bin

    wie funktioniert das mit dem skalieren und was brauche ich da alles für?


    FUNCTION_BLOCK fc_105

    CALL "SCALE"
    IN :=PEW320
    HI_LIM :=1.000000e+001
    LO_LIM :=-1.000000e+001
    BIPOLAR:=TRUE
    RET_VAL:=MW3
    OUT :=MD20


    CALL "SCALE"
    IN :=PEW322
    HI_LIM :=1.000000e+001
    LO_LIM :=0.000000e+000
    BIPOLAR:=FALSE
    RET_VAL:=MW2
    OUT :=MD10
    END_FUNCTION_BLOCK;

    Hallo!
    Erstens: Bitte verwende die Code tags, das ist die Raute über dem Eingabefeld. Das macht´s übersichtlicher:

    Code:
    blablabla
    .

    den SCL hab ich mer jetzt noch nicht angeschaut, ABER:
    Code:
    FUNCTION_BLOCK fc_105
     
    CALL "SCALE"
    IN :=PEW320
    HI_LIM :=1.000000e+001
    LO_LIM :=-1.000000e+001
    BIPOLAR:=TRUE
    RET_VAL:=MW3
    OUT :=MD20
     
     
    CALL "SCALE"
    IN :=PEW322
    HI_LIM :=1.000000e+001
    LO_LIM :=0.000000e+000
    BIPOLAR:=FALSE
    RET_VAL:=MW2
    OUT :=MD10
    END_FUNCTION_BLOCK;
    beim du nimmst einmal das MW2 für Return und einmal das MW3. Wenn du das wirklich auswerten willst wird das nix, weil sich das überschneidet.
    MW 0 --> MB 0 und MB 1
    MW 2 --> MB 2 und MB 3
    MW 4 --> MB 4 und MB 5

    weiters: MD 0 --> MW 0 und MW 2 --> MB 0, 1, 2, 3! klar soweit?
    Ich würd auch kein MD10 nehmen, weil wenn schon Double, dann (meine Meinung) sollte es durch 4 teilbar sein.

    viel Erfolg!
    Gruß
    M

    Handbook not read error...
    Klare Frage - klare Antwort

Ähnliche Themen

  1. Analogwertverarbeitung
    Von PapaDjango im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.07.2010, 14:16
  2. Analogwertverarbeitung
    Von scirocco im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 08.02.2010, 09:24
  3. Analogwertverarbeitung mit S5
    Von Approx im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 16.01.2008, 12:13
  4. Analogwertverarbeitung....???
    Von *Oli* im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 10.10.2007, 11:11
  5. Analogwertverarbeitung mit S5?
    Von Anonymous im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 29.06.2003, 21:53

Stichworte

Lesezeichen

Berechtigungen

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