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

Ergebnis 1 bis 7 von 7

Thema: Summe Messerte Berechnen

  1. #1
    Registriert seit
    24.09.2013
    Beiträge
    9
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Community,

    habe folgendes Problem:

    In einem DB sind Messwerte im Real Format gespeichert. von diesen Messwerten möchte ich gerne eine Summe Bilden mit hilfe eines SCL-Programms.
    Habe aber an einer stelle noch ein fehler im Code.


    FOR i := Anfang TO Ende BY Schrittweite DO
    // Anweisungsteil

    Summe := DB30.DD[i] + Summe;

    der Dickgedruckte teil wird nicht übersetzt, was muss ich hier reinschreiben das jeder Wert in dem DB adiert wird.

    Wäre toll wenn mir jemand schnell helfen könnte

    danke
    Zitieren Zitieren Summe Messerte Berechnen  

  2. #2
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    Es muss wie folgt heißen:
    Code:
    DB30.DBD

  3. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Mein Vorschlag "Es muss wie folgt heißen":
    Code:
    Summe := DWORD_TO_REAL(DB30.DD[i*4]) + Summe ;
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Standard

    Wobei das i*4 nicht sein muss, wenn es in der Schrittweite ist.
    Gruß
    M

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

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Noch besser wäre es, wenn symbolisch ("DB30".Messwerte[i]) auf das Messwerte-Array zugegriffen würde statt absolut (DB30.DD[i]).
    Dazu müßte das Messwerte-Array an den Baustein übergeben werden oder der DB mit dem Messwerte-Array in der gleichen SCL-Quelle erzeugt werden.
    Code:
    DATA_BLOCK "DB30"
      STRUCT
        Messwerte : ARRAY [0..19] OF REAL ;
      END_STRUCT
    BEGIN
    
    END_DATA_BLOCK
    
    FUNCTION .......
    
      FOR i := 0 TO 19 DO
        Summe := "DB30".Messwerte[i] + Summe ;
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    shutdown_TIA12 (23.01.2014)

  7. #6
    Registriert seit
    02.04.2013
    Beiträge
    143
    Danke
    7
    Erhielt 22 Danke für 20 Beiträge

    Standard

    @PN_DP:
    Du hast recht, ich habe murx geschrieben. Was mich irritiert, warum dein #3 im TIA PORTAL nicht funktioniert (Standardbaustein).
    Die symbolisch Variante gefällt mir eh am besten als absolute Sachen.

  8. #7
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von shutdown_TIA12 Beitrag anzeigen
    Was mich irritiert, warum dein #3 im TIA PORTAL nicht funktioniert (Standardbaustein).
    Was heißt "nicht funktioniert"?

    Kann es sein, daß man in TIA runde Klammern ( ) statt [ ] benutzen muß?

    [Nachtrag]
    Wie können Sie in STEP 7 (TIA Portal) in einem SCL Programm die indirekte Adressierung realisieren?
    #Var_DWord:= %DB20.DD(#i+0);
    Harald
    Geändert von PN/DP (23.01.2014 um 15:54 Uhr)
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Summe eines Arrays
    Von Dr.MirakulixX im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 29.12.2013, 15:09
  2. 2^x berechnen
    Von TimoK im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 23.02.2010, 09:31
  3. Summe der belegten Eingänge ermitteln
    Von madman im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 21.10.2007, 23:48
  4. Kalenderwoche berechnen
    Von Simatics im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 06.05.2007, 21:59
  5. CRC Summe Berechnen
    Von BadTaste im Forum Hochsprachen - OPC
    Antworten: 2
    Letzter Beitrag: 23.05.2005, 20:03

Lesezeichen

Berechtigungen

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