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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Sprung einer Steigung ermitteln

  1. #11
    Registriert seit
    29.03.2004
    Beiträge
    5.735
    Danke
    143
    Erhielt 1.685 Danke für 1.225 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    @Thomas:
    Da ich mich sehr viel mit dem Thema beschäftige würde mich da ein Lösungs-Vorschlag für den Tiefpass sehr interessieren. Stell doch mal was hier rein ...
    Als Vertreter eines Tiefpasses gibt es z.B. in der Oscat Bibliothek die PT1 und PT2 Glieder (IIR-Filter).
    Der PT1 als Filter 1. Ordnung (quasi eine 6 dB Frequenzweiche, ich komme eher von der Elektronik-Seite) und PT2 als Filter 2. Ordnung (12 dB).
    Es gibt auch noch andere Möglichkeiten digitale Filter zu programmieren wie z.B. die FIR-Filter.

    Als Einstieg in die digitale Signalverarbeitung kann man den DSP-Guide ( http://www.dspguide.com/ ) ganz gut lesen.
    Wie ich finde auch ohne tiefergehende Mathe-Kenntnisse noch zu verstehen, damit ist es bei mir auch nicht weit her.

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

    DennisBerger (29.06.2009)

  3. #12
    DennisBerger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2005
    Beiträge
    137
    Danke
    59
    Erhielt 6 Danke für 3 Beiträge

    Standard

    @larry:
    danke schon mal, wie benutze ich den ob35? hab ihn angelegt, die hardware neu geladen, der ob ist aber leer, wie ruf ich den intervall dann in meinem FC auf, so dass ich damit die werte zeitintervallbedingt verschiebe?

    @paule:
    ich verschieb ja die den neuen wert immer alle 500ms über den alten, wann soll ich denn dann rechnen? also die werte addieren und teilen und vergleichen? nicht dass es da eine überschneidung gibt?

    nioch ne frage:
    kann ich auch mit dem taktmerker arbeiten? hab ihn als mb 70 angelegt.
    Geändert von DennisBerger (29.06.2009 um 13:27 Uhr)

  4. #13
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo Dennis,
    der OB35 wird mit dem von dir in den CPU-Eigenschaften eingestellten Intervall aufgerufen. Es wird das von dem OB35 ausgeführt, was du dort hinein programmierst. Hier müßte also deine "Werte in DB"-Routine aufgerufen werden.

    Ein Zeit-Intervall von 500 ms halte für viel zu langsam. Ich glaube nicht, dass du so die Steigungsänderung genau genug erfassen kannst.

    Wie ich schon geschrieben habe würde ich hier einen ganzen Block von Werten aufnehmen und die dann auswerten. Mit nur 2 Werten (aktueller und letzter) halte ich die Chancen für eine erfolgreiche Auswertung für sehr niedrig.

    Gruß
    LL

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

    DennisBerger (29.06.2009)

  6. #14
    DennisBerger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2005
    Beiträge
    137
    Danke
    59
    Erhielt 6 Danke für 3 Beiträge

    Standard

    hi
    danke für die antwort,
    wenn ich also in den ob35 folgendes schreibe:
    U e0.0
    = m1.0

    wenn nun e0.0 immer 1 ist, dann wird der merker 1.0 immer alle 100ms high?

    da der ob35 ja nur alle 100ms aufgerufen wird.
    hab ich das so richtig verstanden?

    das mit den 500ms ist mir auch zu lange, ist nur ein fiktiver zeitwert, so dass ich auch online sehe was passiert.
    später wird es auf 100ms rauslaufen.


    das mit den messwerten dürfte gehen, da das ganze an sich rehct langsam ist.

  7. #15
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von DennisBerger Beitrag anzeigen
    hi
    wenn ich also in den ob35 folgendes schreibe:
    U e0.0
    = m1.0

    wenn nun e0.0 immer 1 ist, dann wird der merker 1.0 immer alle 100ms high?

    da der ob35 ja nur alle 100ms aufgerufen wird.
    hab ich das so richtig verstanden?
    Nein,
    der Merker M1.0 ist dann auch immer High!
    Er wird ja nirgends zurückgesetzt.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  8. #16
    DennisBerger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2005
    Beiträge
    137
    Danke
    59
    Erhielt 6 Danke für 3 Beiträge

    Standard

    ja richtig ist logisch, ich doofie

    und wie nutze ich dann diesen ob35 sinvoll und am besten?


    hab noch ne frage,
    wenn ich mit T1 per positive flanke immer den aktuellen messwert in einen anderen DB verschiebe.
    diese werte dann addiere bzw teile,
    also z.b.
    nw1
    pos t1
    move db1.dbd0 //immer der aktuelle istwert vom analogeingang)
    in
    db1.dbd4 //speicherplatz

    nw2
    db1.dbd4
    addiere
    db1.dbd8
    =
    db1.dbd8

    also so dass immer der aktuelle wert mit dem letzten summen ergebnis weiteraddiert wird.

    wie verhindere ich dass er sich in nw2 totrechnet also mehrmals rechnet, er soll ja nur addieren wenn auch im nw 1 wieder ein neuer wert hinzukam, es soll aber auch keine überschneidung zu nw1 geben.

    hoffe ich hab es verständlich ausgedrück?

    er soll immer nur einmal addieren und dann wieder warten bis per t1 ein neuer wert in db1.dbd4 geschoben wird und dann addieren.
    Geändert von DennisBerger (29.06.2009 um 20:33 Uhr)

  9. #17
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    wie verhindere ich dass er sich in nw2 totrechnet also mehrmals rechnet, er soll ja nur addieren wenn auch im nw 1 wieder ein neuer wert hinzukam, es soll aber auch keine überschneidung zu nw1 geben.
    Da gibt's verschiedene Möglichkeiten:

    Entweder Du springst über NW 2 drüber, aber das willst Du ja nicht wegen der Überschneidung.
    Oder Du verwendest die Flanke für NW 2 nochmal.
    Oder Du machst die Flanke außerhalb und rufst damit den Baustein auf, der wird dann nur bearbeitet wenn ein neuer Messwertvorliegt.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  10. #18
    DennisBerger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2005
    Beiträge
    137
    Danke
    59
    Erhielt 6 Danke für 3 Beiträge

    Standard

    guten morgen,

    hmm..dachte eigentlich wenn ich die positive flanke von t1 in nw1 und nw2 nehme, dass ich da eventuell ne überschneidung habe oder in nw2 noch die alten werte genommen werden?

    hab mir das so gedacht, dass ich mit pos T1 eine 2. zeit starte die 50ms verzögert eine positive flanke macht und dann in nw2 die werte addiert.
    geht das auch.


    kann mir jemand genaueres zu dem ob35 sagen wie man den verwendet?

    danke

    euch allen einen schönen, sonnigen tag schon mal
    Geändert von DennisBerger (30.06.2009 um 10:26 Uhr)

  11. #19
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Hallo Dennis,
    wie der OB35 funktioniert hatte ich dir schon geschrieben :
    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo Dennis,
    der OB35 wird mit dem von dir in den CPU-Eigenschaften eingestellten Intervall aufgerufen. Es wird das von dem OB35 ausgeführt, was du dort hinein programmierst.
    weitere Hilfe dazu findest du natürlich auch noch in der Step7-Hilfe - es ist damit aber eigentlich alles gesagt ...

    Gruß
    LL

  12. #20
    DennisBerger ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.01.2005
    Beiträge
    137
    Danke
    59
    Erhielt 6 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi larry,
    das hab ich ja gelesen, nur nicht so recht verstanden.

    hab den ob35 auf 100ms eingestellt, die cpu eigenschaften hochgeladen.
    nun mache ich eine bedingung in den ob35, der ob35 wird alle 100ms sekunden bearbeitet. also immer 100ms bearbeitet, 100ms nicht.
    richtig soweit?

    wie kann ich nun einen merker, den ich dort programmiere in einem anderen baustein z.b. fc5 als 100ms taktgeber verwenden
    (in fc5 mache ich diese werte berechnung und die db moves)

    das ist mir nicht so ganz klar.

    p.s. in derhilfe hab ich geschaut, da steht nur drin, wie man den ob35 parametriert, usw.. nicht aber wie ich den inhalt dann korrekt benutze
    Geändert von DennisBerger (30.06.2009 um 10:53 Uhr)

Ähnliche Themen

  1. AS Sprung in PRG
    Von Tyler-Durden im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 01.07.2011, 10:08
  2. Länge einer Struktur im DB ermitteln
    Von Knut333 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 22.01.2009, 18:04
  3. Sprung programmieren
    Von Stonie im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 22.12.2008, 22:49
  4. vergleich mit sprung?
    Von Ibaxx im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.09.2007, 09:50
  5. ob1 sprung in fc1
    Von Anonymous im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.11.2005, 17:32

Lesezeichen

Berechtigungen

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