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

Seite 2 von 12 ErsteErste 1234 ... LetzteLetzte
Ergebnis 11 bis 20 von 115

Thema: verschiedene ergebnisse aus 0b 35 addieren

  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
    Ist eine Frage, wie lange der Fahr-Vorgang dauert. Für eine reine Messwert-Aufnahme ist 25 ms OK. Für Statistik-Funktionen vielleicht etwas lahm ... Da wären vielleicht 5 ms besser ...

    Es wäre aber schon unwarscheinlich, das sich berechnete Werte absolut kompensieren ...
    Wir wissen allerdings auch nicht, was der FC ausgibt ...

  2. #12
    Registriert seit
    12.02.2008
    Ort
    Westfalen (Dort wo's Schwarzbrot gibt)
    Beiträge
    417
    Danke
    8
    Erhielt 87 Danke für 72 Beiträge

    Standard

    Hallo Stift,

    versuch doch einfach mal, irgendein freies Doppelwort anstelle Deines Wertes im DB zu verwenden. Wenns dann funktioniert, überschreibst Du irgendwo Deinen Wert im DB.

  3. #13
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    ihr habts erfasst.
    es geht wieder um diesen schlitten.
    mein signal das mein fc ausgibt ist zwar sinusförmig, aber ich rechne davon den betrag aus und desshalb können sich die negativen und die positiven werte nicht wegaddieren.
    meine drehzahl ist maximal 40 1/min das heist ein zyklus dauert max 1,5s.
    diese 1,5s splitte ich in lauter inkremente zu 50ms auf, d.h. mein ob35 soll mir die werte für t=0, 0,050, 0,100 usw. bis 1,5 s hochrechnen.
    Kurioserweise ist heute ein neues problem aufgetaucht.
    er rechnet mir überhaupt nichts mehr aus da er sagt dass t immer 0 ist.
    darum funktionieren die nachfolgenden netzwerke nicht mehr, da deren eingangsgröße ja dann logischerweise auch null ist.

    ob35 habe ich so programmiert dass ich sage
    Code:
    L DB10.Zeit_fuer_Umdrehung
    L Db10.Zeit
    <R
    
    SPBNB M001
    L DB10.Zeit
    L 5.000000e-002
    +R
    T DB10.Zeit
    M001: NOP 0
    Das müsste doch so passen oder.
    ich möchte dass er immer weiter 50ms hinzuzählt bis die zeit für eine umdrehung erreicht ist.

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

    ? ... tut mir leid, den Sinn des abgebildeten Netzwerkes habe ich leider nicht verstanden - trotz deiner Beschreibung.

    Wofür zählst du die Zeit hoch ?
    Warum zählst du die Zeit (wenn du sie benötigst) nicht ständig hoch und setzt sie auf "0.0" wenn du von neuem beginnst ?

    Gruß
    LL

  5. #15
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    genau das mache ich ja damit.
    also ob 35 habe ich jetzt ausreichend getestet. daran liegt es nicht.
    allerdings habe ich jetzt den betrag von meiner geschwindigkeit mal auf ein dbd gelegt und beobachtet und da ist ebenfalls ein fehler.

    meine betragsrechnung sieht folgendermaßen aus:
    Code:
             L #Geschwindigkeit
             L 0.000000e+000
             >R
             SPBNB M010
     
             L #Geschwindigkeit
             T #Betrag_Geschwindigkeit
     
    M010:    L #Geschwindigkeit
             L -1.000000e+000
             *R
             #Betrag_Geschwindigkeit
    Stimmt meine Rechnung so um den Betrag zu erhalten?
    Ich kann leider keinen Fehler finden.
    Habs schon verzweifelt versucht.

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

    ... wenn du auf diese Weise einen negativen Wert zu einem positiven machen willst, dann würde ich das so machen :
    Code:
    L #Geschwindigkeit
    L 0.000000e+000
    >R
    SPB M010
    SPA M020
     
    M010: L #Geschwindigkeit
             T #Betrag_Geschwindigkeit
             spa M030
    
    M020: L #Geschwindigkeit
             L -1.000000e+000
             *R
             T #Betrag_Geschwindigkeit
     
    M030: nop 0

  7. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    stift (20.02.2008)

  8. #17
    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 Larry Laffer Beitrag anzeigen
    ... wenn du auf diese Weise einen negativen Wert zu einem positiven machen willst, dann würde ich das so machen :
    Code:
    L #Geschwindigkeit
    L 0.000000e+000
    >R
    SPB M010
    SPA M020
     
    M010: L #Geschwindigkeit
             T #Betrag_Geschwindigkeit
             spa M030
    
    M020: L #Geschwindigkeit
             L -1.000000e+000
             *R
             T #Betrag_Geschwindigkeit
     
    M030: nop 0
    und warum nicht?

    Code:
    L #geschwindigkeit
    ABS
    T #betrag_geschwindigkeit
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    stift (20.02.2008)

  10. #18
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    es funktioniert.
    Danke!
    Famos, Famos.
    Jetzt hab ich nur noch ein paar eklige Rechenfehler drin, aber immerhin arbeitet die sache schon mal.

  11. #19
    Registriert seit
    15.01.2008
    Ort
    München
    Beiträge
    256
    Danke
    76
    Erhielt 17 Danke für 14 Beiträge

    Standard

    tut mir leid aber ich steht schon wieder auf dem schlauch.
    um die durchschnittsgeschwindigeit zu ermitteln addiere ich doch alle werte zu einer summe und dividiere die dann durch die anzahl der teilschritte (siehe oben)

    In den Befehl
    Code:
    L #Betrag_Geschwindigkeit
    L DB10.Summe_Momentangeschw
    +R
    T DB10.Summe_Momentangeschw
    musste ich noch eine Funktion einfügen dass nur solange addiert werden soll bis der ob35 einmal durch ist, d.h. bis er einmal den Zyklus abgearbeitet hat.
    Also bis alle Ergebnisse für die Zeiten 0s, 0,05s 0,1s usw. einmal addiert worden sind.
    Ansonsten würde ja immer weiter addiert und mein Ergebnis wäre total Schwachsinnig.
    Wie würdet ihr das machen?

  12. #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
    da wird nur einmal je weckalarm addiert ... oder ist dein codeschnipsel aus einem anderen, zyklisch durchlaufenen baustein? wenn ja, dann würd ichs so machen:

    Code:
          U     #TRIGGER
          FP    #HELP_FLAG
          SPN   _001
    
          L     #ACCU_1
          L     #ACCU_2
          +R    
          L     #ACCU_3
          +R    
          L     #ACCU_4
          +R    
          L     #ACCU_5
          +R    
          L     #ACCU_6
          +R    
          L     #ACCU_7
          +R    
          L     #ACCU_8
          +R    
          L     8.000000e+000
          /R    
          T     #OUTPUT
    _001: NOP
    und als trigger zum beispiel den cpu-takt
    Geändert von vierlagig (20.02.2008 um 11:17 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

Ähnliche Themen

  1. PCWorx Ergebnisse kürtzen
    Von dabotetz im Forum Sonstige Steuerungen
    Antworten: 2
    Letzter Beitrag: 15.03.2011, 21:24
  2. Taster verschiedene Wertigkeiten addieren
    Von blaupille29 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 30.11.2010, 11:36
  3. Antworten: 4
    Letzter Beitrag: 18.06.2010, 20:35
  4. Antworten: 19
    Letzter Beitrag: 19.04.2010, 12:53
  5. Antworten: 1
    Letzter Beitrag: 07.10.2008, 11:43

Lesezeichen

Berechtigungen

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