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

Seite 2 von 5 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 41

Thema: Einlesen eines Analogwertes über mehrere Sekunden, anschl. speichern und anzeigen

  1. #11
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    und wenn ihr jetzt noch davon wegkommt mit dem PEW6 zu vergleichen, dann wird alles gut
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  2. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    OHGN (04.12.2008)

  3. #12
    Registriert seit
    12.11.2008
    Beiträge
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also die Idee von Gebs ist mir so langsam klar, aber was magst Du jetzt nicht am PEW 6 ?

    Aber sonst scheint in dem von ihm vorgeschlagenen Code

    Code:
    U E 0.4 //Prüfen ob noch in Endlage
    SPBN P001
    CALL FC 105
    L MD 0
    L PEW 6 //angenommen es wäre dieser Analog-Eingang
    <I //wenn neuer Wert grösser als alter wert
    SPB P001
    T MD 0 //dann neuen Wert in MD 0 schreiben
    
    P001: NOP 0
    alles drin zu sein was ich brauche.

    Also:
    1. Einlesen einer Spannung zwischen 0...10V als analoger Eingangswert
    2. Vergleichen mit dem letzten Maximalwert und überschreiben des Letzteren wenn der kleiner war
    3. Beim nächsten Zyklus wird geprüft ob das Ganze noch in Endlage ist. wenn ja, zu 1. , wenn nicht weiter zu 4.
    4. Sprung hinter den Vergleich

    Sollte an sich alles passen. Bleibt halt die Frage mit dem PEW 6 da die SPS leider noch immer nicht geliefert wurde und ich aus dem Datenblatt der CPU auch nicht unbedingt herausfinden kann wo die Analogeingänge anfangen.

  4. #13
    Registriert seit
    08.04.2008
    Ort
    Köln
    Beiträge
    844
    Danke
    39
    Erhielt 244 Danke für 199 Beiträge

    Standard

    Hallo Praktikant,

    Zitat Zitat von DerPraktikant Beitrag anzeigen
    aber was magst Du jetzt nicht am PEW 6 ?
    was VL damit sagen will ist, dass man mit dem normierten Wert, den der FC 105 ausspuckt
    arbeiten soll.

    Grüße
    Gebs

  5. #14
    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

    Zitat Zitat von DerPraktikant Beitrag anzeigen
    aber was magst Du jetzt nicht am PEW 6 ?
    gehen wir mal von 5V am analogeingang aus:

    so hast du im MD0, je nach skalierung, ich geh jetzt mal von 0..10 aus, eine 5.00e00
    im PEW6 aber eine W#16#3600

    und jetz sag er mir, wie er das vergleichen möchte! vorallem mit dem <I wird das nischts ... wie ich bereits im ersten beitrag erwähnte brauchst du zwei speicherbereiche, die mit einem <R verglichen werden sollten

    Zitat Zitat von DerPraktikant Beitrag anzeigen
    Bleibt halt die Frage mit dem PEW 6 da die SPS leider noch immer nicht geliefert wurde und ich aus dem Datenblatt der CPU auch nicht unbedingt herausfinden kann wo die Analogeingänge anfangen.
    im normfall kannst du die bereiche einstellen! ... übrigens: wenn die werte innerhalb des prozessabbildes liegen kannst du auch mit EW6 arbeiten, der zugriff erfolgt schneller ... den unterschied haste ja in der FAQ nachlesen können.
    Geändert von vierlagig (04.12.2008 um 14:48 Uhr) Grund: rechenfehler - mein kopf hat während der abstinenz zu wenig zu tun gehabt
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #15
    Registriert seit
    08.11.2006
    Ort
    Uckermark
    Beiträge
    903
    Danke
    201
    Erhielt 256 Danke für 208 Beiträge

    Standard

    Die Vorschläge hier sind doch etwas merkwürdig.
    Der Aufruf des FC105 ohne Parameterübergabe, vergleichen des PEW mit dem Doppelwort, das auch mit dem Inhalt des PEW beschrieben wird...
    Wozu brauche ich dann den FC105

    Mein Vorschlag zur Lösung:
    Code:
          U     E      0.4                  //Prüfen ob noch in Endlage
          SPBN  p001
          CALL  FC   105
           IN     :=PEW6                    //angenommen es wäre dieser Analog-Eingang
           HI_LIM :=2.000000e+001           //Maxwert ist 20kN
           LO_LIM :=0.000000e+000           //Minwert ist 0kN
           BIPOLAR:=FALSE
           RET_VAL:=MW50
           OUT    :=MD0                     //normierter Wert
          L     MD     0                    //normierter Wert
          L     MD     4                    //max Speicherwert
          <R                                //wenn neuer Wert grösser als alter wert
          SPB   p002
          TAK   
          T     MD     4                    //dann neuen Wert in MD 4 schreiben
          SPA   p002
    p001: L     0.000000e+000               //wenn nicht mehr in Endlage
          T     MD     0                    // 0 in MD0 schreiben
          T     MD     4                    //und MD4 schreiben
    p002: NOP   0
    Neue Ideen begeistern jene am meisten, die auch mit den alten nichts anzufangen wussten.
    Karl Heinrich Waggerl (1897-1973)

  7. #16
    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

    Zitat Zitat von OHGN Beitrag anzeigen
    Der Aufruf des FC105 ohne Parameterübergabe,
    ich glaub es ging erstmal nur um die schematische darstellung ... zumindest hatte ich punkte unter meinem aufruf um das so darzustellen ... ich hoffe sehr, dass die anderen das auch alle so erkannt haben.
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  8. #17
    Registriert seit
    12.11.2008
    Beiträge
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ich nehme mir dann einmal die Freiheit den Code von OHGN zu nutzen.
    Ich hätte da aber noch einige Fragen:

    Zitat:

    Code:
          U     E      0.4                  //Prüfen ob noch in Endlage
          SPBN  P401
          CALL  FC   105
           IN     :=PEW6                    //angenommen es wäre dieser Analog-Eingang
           HI_LIM :=2.000000e+001           //Maxwert ist 20kN
           LO_LIM :=0.000000e+000           //Minwert ist 0kN
           BIPOLAR:=FALSE
           RET_VAL:=MW50
           OUT    :=MD0                     //normierter Wert
          L     MD     0                    //normierter Wert
          L     MD     4                    //max Speicherwert
          <R                                //wenn neuer Wert grösser als alter wert
          SPB   P402
          TAK   
          T     MD     4                    //dann neuen Wert in MD 4 schreiben
          SPA   P402
    P401: L     0.000000e+000               //wenn nicht mehr in Endlage
          T     MD     0                    // 0 in MD0 schreiben
          T     MD     4                    //und MD4 schreiben
    P402: NOP   0
    In diesem Teil:

    Code:
    P401: L     0.000000e+000               //wenn nicht mehr in Endlage
          T     MD     0                    // 0 in MD0 schreiben
          T     MD     4                    //und MD4 schreiben
    Hier habe ich das Gefühl als wenn das MD4 = 0 gesetzt würde sobald die Schubstange die Endlage verlässt ( UN E 0.4 ). Was allerdings ziemlich unpraktisch wäre da ich ja viermal eine Kraft messe und am Ende des Ganzen die vier gemessenen Kräfte noch zur Verfügung haben muss.

    Wenn das dann der Fall wäre dass hier MD4 = 0 gesetzt würde, würde ich vorschlagen diesen Teil

    Code:
    P401: L     0.000000e+000               //wenn nicht mehr in Endlage
          T     MD     0                    // 0 in MD0 schreiben
          T     MD     4                    //und MD4 schreiben
    durch diesen zu ersetzen:

    Code:
    P401: L     0.000000e+000               //wenn nicht mehr in Endlage
          T     MD     0                    // 0 in MD0 schreiben
    Und bei der zweiten Messung würde ich dann den Wert in MD8 speichern anstelle in MD4 , resp. MD12 und MD16 bei den beiden letzten Messungen, und am Ende würde ich mir dann die Werte von MD4, MD8, MD12 undMD16 auf dem TP anzeigen lassen können.

    Und nach dem Quittieren der Testergebnisse, resp. wenn ein neuer Test gestartet wird, füge ich dann noch diese Zeilen ein, ehe es losgeht:

    Code:
    L     0.000000e+000               //wenn nicht mehr in Endlage
    T     MD     0                    // 0 in MD0 schreiben
    T     MD     4                    //und MD4 schreiben
    T     MD     8                    //und in MD8 schreiben
    T     MD    12                   //und in MD12 schreiben
    T     MD    16                   //und in MD16 schreiben
    Das müsste dann passen nehme ich an.

  9. #18
    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

    Zitat Zitat von DerPraktikant Beitrag anzeigen
    Das müsste dann passen nehme ich an.
    wenn du auf die flanke acht gibst, ja, dann könnte das funktionieren, wobei du den messwert nicht nullen mußt
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #19
    Registriert seit
    12.11.2008
    Beiträge
    65
    Danke
    43
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Irgendwie sehe ich hier keine kritische Flanke , aber es ist noch früh am Morgen...

    Eine wahrscheinlich eher triviale Frage, OHGN schägt als Maximalwert HI_LIM=2.000000e+001 vor, da ich von 20kN redete. Tatsächlich geht es aber um 20.000N

    Demnach müsste ich dann nur HI_LIM=2.000000e+004 schreiben an der Stelle?

  11. #20
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von DerPraktikant Beitrag anzeigen
    Irgendwie sehe ich hier keine kritische Flanke , aber es ist noch früh am Morgen...
    wenn du keine flankenauswertung machst, bügelst du die 0 immer drüber, egal ob die messung gerade neu gestartet wurde, sie schon stunden läuft oder gerade inaktiv ist ... wobei letzteres könnteste fast verhindern

    Zitat Zitat von DerPraktikant Beitrag anzeigen
    Demnach müsste ich dann nur HI_LIM=2.000000e+004 schreiben an der Stelle?
    jopp
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  12. Folgender Benutzer sagt Danke zu vierlagig für den nützlichen Beitrag:

    DerPraktikant (05.12.2008)

Ähnliche Themen

  1. Glättung eines Analogwertes
    Von hank12 im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 27.11.2014, 21:49
  2. Antworten: 8
    Letzter Beitrag: 30.03.2011, 09:46
  3. Antworten: 8
    Letzter Beitrag: 23.07.2010, 08:19
  4. Impuls für mehrere Sekunden wiederkehrend
    Von outbreak7 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 06.05.2010, 15:07
  5. REAL Wert einlesen und speichern
    Von Franzmann im Forum Simatic
    Antworten: 70
    Letzter Beitrag: 19.06.2008, 10:41

Lesezeichen

Berechtigungen

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