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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: Bitte um Hilfe bei einem Problem (zyklische Abfrage)

  1. #1
    Registriert seit
    09.04.2008
    Beiträge
    21
    Danke
    5
    Erhielt 3 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo erstmal!
    Bin ganz neu in der Branche und kenne mich leider fast garnicht aus..
    Hoffe das ändert sich mit der Hilfe von euch!
    Kann einwenig C und Java.
    Nun steh ich vor dem ersten Problem in SCL.
    Von der Simotion bekomme ich in einen DB einen Wert(Nm - DMax) eines Drehzahlmotors geschrieben.
    Dieser Wert würde ich gerne alle 100ms (das 10* = 1sek) abfragen, und dies in einen ersten Puffer schreiben und in der 2 sek nochmal 10 mal abfragen (je 100ms) in einen 2ten Puffer schreiben.
    Nun den Mittelwert vom ersten Puffer berechnen und den Mittelwert vom 2 Puffer berechnen.
    Diese 2 Mittelwerte nun vergleichen.
    Wenn der Mittelwert des 2ten Puffers gestiegen ist,soll eine Meldung rausgehauen werde oder es soll in eine Variable ein Bool wert geschrieben werden.
    Diese komplette Prozedur wiederholt sich dann nach jeder 2 Sekunde.
    Dieser züglicher Aufruf alle 100ms und der Vergleich der 2 Puffer bereitet mir sehr Probleme.
    Wäre über eure Hilfe wirklich sehr sehr dankbar!
    LG
    Bosga
    Zitieren Zitieren Bitte um Hilfe bei einem Problem (zyklische Abfrage)  

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

    vermisse die frage! vermisse die darstellung des problems!
    ICH VERMISSE EIGENINITIATIVE
    ...und ich vermisse angaben zur verwendeten hardware und software und den daten ... sinds nun INT, DINT, REAL und soweiter und sofort ...

    ein tipp von mir: es gibt einen CPU-Taktmerker mit 100ms -> Mx.0
    Geändert von vierlagig (17.05.2008 um 21:45 Uhr)
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  3. #3
    Bosga ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    09.04.2008
    Beiträge
    21
    Danke
    5
    Erhielt 3 Danke für 1 Beitrag

    Standard

    Ist ein REAL wert.
    Hardware CPU 317
    Bekommt die Werte von einer Simotion. Aber denke ist für mich hier nicht so wichtig.
    Gruß
    Geändert von Bosga (17.05.2008 um 21:51 Uhr)

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

    was hast du denn schon?
    hapert es an den SCL-Grundlagen oder am Datenhandling?
    am Summieren und durch die Anzahl der Summanden dividieren dürfte es nicht scheitern, oder?

    also kurz gesagt: was willst du wissen
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

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

    es geschehen noch wunder:

    Zitat Zitat von bosga
    Mir fehlt einfach das handling. Wie gesagt mein hauptroblem ist das ich keine ahnung habe wie ich eine variable alle 100ms abrufe, dessen wert in ein array schreibe ....
    was läßt sich da finden? *klick* suche ... hmm ... SCL *tipp* array *enter*

    Pointer in SCL ?

    [edit] besonders der beitrag von kai [/edit]
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  6. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard

    @Vierlagig: Ich glaube, da bist du jetzt ein wenig hart mit Bosga. Er hat seine Problemstellung doch schön beschrieben ...

    @Bosga: Ich würde da wie folgt vorgehen ...
    Einen FB bauen, der im OB35 im gewünschten Zeitraster aufgerufen wird.
    Bei jedem Aufruf des FB's zählst du einen internen Zähler hoch. Ist der Zähler im Bereich 1 .. 20 schreibst du die eingelesenen Werte in dein ARRAY (vom Instanz-DB). Ist der Zähler = 21, dann wertest du das aus. Ist der Zähler 22 .. 41 dann schreibst du die Werte in das 2. ARRAY und ist der Zähler 42 dann wertest du dieses aus und setzt den Zähler zurück.
    Versuch doch mal, das umzusetzen ...

    Gruß
    LL

  7. #7
    Registriert seit
    01.11.2007
    Beiträge
    1.237
    Danke
    91
    Erhielt 407 Danke für 368 Beiträge

    Standard

    Würde es nicht auch genügen, die jeweils 10 Werte aufzusummieren und dann die Summen zu vergleichen?

    Grüße von HaDi

  8. #8
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Ich würde auch so vorgehen
    Geändert von Chefmech (18.05.2008 um 18:05 Uhr)

  9. #9
    Registriert seit
    18.03.2008
    Beiträge
    267
    Danke
    3
    Erhielt 26 Danke für 26 Beiträge

    Standard

    Ich würde auch so vorgehen wie Larry Laffer das beschreibt.
    Der Vergleich der beiden Mittelwerte bereitet dir auch Probleme? Warum nimmst du nicht einfach eine If-Abfrage???

    IF rMittelwert1 = rMittelwert2 THEN
    //----- Werte sind gleich -----
    ;
    ElSIF rMittelwert1 > rMittelwert2 THEN
    //----- Grösser -----
    ;
    ElSIF rMittelwert1 < rMittelwert2 THEN
    //----- Kleiner -----
    ;
    ENDIF;

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.401 Danke für 2.001 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ... ob man die beschriebene Aufgabe so oder so erledigt ist (glaube ich) nicht das Thema. Ich würde da ggf. auch anders vorgehen (kommt immer darauf an, was man noch so vorhat). Bei mir stehen bei solchen Sachen ganz häufig Kennlinie-Darstellungen mit auf dem Programm und deshalb halte ich diesen Lösungsweg auch nicht für abwegig.

    Deswegen - wenn es "nur" um die Mittelwerte geht, dann stimme ich HaDi zu 100% zu. Falls mehr angesagt ist, dann ist der Ansatz von Bosga auf jeden Fall absolut OK ...

    Gruß
    LL

Ähnliche Themen

  1. Bitte um Hilfe
    Von Ngouagnia im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 29.11.2010, 10:30
  2. Suche Hilfe bei einem Problem
    Von würgi im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 25.10.2010, 23:06
  3. Bitte um Hilfe
    Von SirDaniel86 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 06.01.2009, 12:00
  4. Hilfe, bitte 315-2DP
    Von Mike Anderson im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 19.11.2004, 15:37

Lesezeichen

Berechtigungen

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