FT_AVG bringt meine CPU in Stop

Begonnen von chaehnle, 09. Juni 2011, 09:42:33

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

chaehnle

Hallo zusammen,
ich verwende eine CPU S7-313C mit einem CP340, welcher mir von einem Messgerät über serrielle Kommunikation Messwerte überträgt. Dies geschieht im 500ms Takt. Die Messwerte im ASCII Format werden dekodiert und stehen dann im Real-Format in einem DB (immer nur der Aktuelle Wert).

Nun möchte ich die Messwerte mit der Funktion FT_AVG Mitteln um die Streuung zu glätten.
Beim Aufruf der Funktion geht allerdings meine CPU in Stop.
Der Diagnosepuffer bringt mir "Bereichslängenfehler beim Schreiben"  Im FB23 Zeile 19 (da wo es zum erstenmal was ins Array #buff.N geschrieben wird).
Ich zerbrech mir schon gansschön den Kopf und komm nicht drauf an was es liegt.
Kenne mich mit Arrays leider auch nicht gut aus. Und aus dem Programmcod (in AWL hab kein SCL) werd ich auch nicht schlau.

Kann mir jemand weiterhelfen? bin fast am verzweifeln

grüße

Anbei noch der Aufruf
      CALL  "FT_AVG" , "Db FT_AVG 1"
       IN :="Mess/Regelparameter".Aktualmesswert  //Messwert steht hier im Real drin
       E  :="M Abtastimpuls"//alle500ms für einen Zyklus 1
       N  :=20
       RST:="S Start"//Taster zum Rücksetzen
       AVG:=#Mittelwert_1

Fussel0804

Welche Release benutzt du?

3.11 oder 3.32?

Ich schau mir das heute abend mal an.

Gruß Stefan

chaehnle

hi,
ich benutze aktuell 3.32.
aber ich kann Entwarnung geben, ich habe einen neue Instanz-DB generiert mit neuer Nummer  (schon aus lauter Verzweiflung bevor ich MMC formatiert hätte) und dann hats auf einmal funktioniert. Ich kanns mir nicht genau erklären.
Aber ich danke dir Trotzdem für die Anteilnahme


Grüße

Fussel0804

Wahrscheinlich hast du die Lokalvariablen neu generiert und den DB nicht "nachgezogen"
(DB im OB aktualisieren und neu übertragen)

Gruß Stefan

chaehnle

Sowas könnte es gewesen sein, wobei ich immer beim Speichern den Hinweis aus Step7 bekam wenn was nicht mit den Daten übereinstimmt oder so ähnlich, und ich bin mir eigentlich auch sicher das ich das aus Verzweiflung irgenwie schonmal neu instanziert habe, aber wahrscheinlich hats halt nicht so richtig gepasst.

gruß chaehnle

Fussel0804

#5
Genau das ist das problem.

Step7 meldet das eben nicht.

Das fällt dir nur auf, wenn du den Baustein speichertst, anschließend den OB1 aufrufst.
Falls dann eine Daten inkonsistenz zwischen projektiertem FB und dem Lokalen DB besteht, wird der Call FB..... befehl ROT.

Anders sieht man das nicht.

Gruß Stefan