Step 7 Änderungen in einem DB feststellen

Maggi

Level-2
Beiträge
80
Reaktionspunkte
10
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi!

Ich muss in einem Projekt 200 Thermoelemente erfassen und mittels einer 2-Punkt Kalibrierung den eingelesenen Rohwert Kalibrieren. Ich habe mir hierzu eine Funktion geschrieben die mittels 4 Real Werten, einen Faktor und einen Offset ermittelt und hierrüber den Rohwert kalibriert. Um die Zykluszeit so gering wie möglich zu halten, möchte ich den Faktor sowie den ermittelten Offset nicht bei jedem Zyklus neu berechnen. Ich möchte dies nur machen, wenn in dem DB mit dem 4 Real Werten je Thermoelement sich ein Wert ändert.
Nun zu meiner Frage:
Gibt es einen einfachen Weg, das ändern nur eines Real Wertes in einem DB mit mehreren Real Werten zu erfassen, sodass ich darauf hin mein Faktor sowie Offset neu berechne?

Hoffe es ist einigermassen verständlich was ich erreichen möchte.

Gruß
Markus
 
Zuletzt bearbeitet:
Aus mathematischer Sicht köntest du alle Werte des DB addieren und die Summe mit der Summe des vorigen Zyklus vergleichen.
Aus prozesstechnischer Sicht willst du auf der einen Seite Zykluszeit sparen, auf der anderen wieder etwas dazu tun,
da frage ich mich ob es nicht sinnvoller wäre die Hardware etwas aufzurüsten?

mfG Sinix
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Du könntest in jedem SPS-Zyklus nur eine bestimmte Anzahl von Werten skalieren. Ist halt eine Frage, wie schnell sich deine Werte ändern und welche Zykluszeit du bereits hast, bzw. wieviel sich deine Zykluszeit erhöhen darf.
 
Ist Deine CPU zu langsam für Deinen Prozess oder wieviel Zykluszeit hoffst Du umständlich einzusparen?

Wenn Du sowieso jeden Wert zwecks Änderungserkennung anfassen mußt (womöglich auch noch indirekt addressiert), dann kannst Du vermutlich auch gleich das bisschen Rechnerei machen.

Harald
 
Danke für eure Antworten.

Hab mir schon sowas gedacht, dass es hierzu keine "fertige" bzw. einfache Lösung gibt.
Ihr habt recht so wild sind die Berechnungen auch nicht, dachte nur was nicht unbedingt immer wieder neu bearbeitet werden muss kann man sich sparen. Aber der Aufwand hierzu ist wahrscheinlich größer als die Berechnung an sich.

Schönen Abend noch!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist die Arbeitsweise einer SPS, daß sie ...zig mal je Sekunde immer wieder neu berechnet, was sie bereits kurz davor schonmal berechnet hat, und in den meisten Fällen hat sich zur vorherigen Berechnung nichts geändert.

Harald
 
Ich würde mir einfach den alten Wert am Ende jedes Zyklus speichern und im nächsten Zyklus alt mir neu vergleichen. Man könnte hier sogar noch eine kleine Hysterese mit einbauen. Ob du jetzt alle Werte in jedem Zyklus prüfst oder nur die Hälfte / Drittel ist dir und deinem Prozess überlassen. Ich denke aber, dass das die Zykluszeit nicht wirklich nach oben schnellen lässt.
 
Zurück
Oben