Drucksensor Delta p/Delta t

borntobefly

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich soll zu einem vorhandenen Drucksensor einen redudanten Drucksensor anbauen (einfach) und Programmieren.
Die Skalierung ist ja recht einfach, da habe ich ein FC100 Analog.
Einen Merker zu setzen, sobald die Druckabweichung der beiden Drucksensoren mehr als 0,5bar ist bekomme ich auch noch hin ;-)
Nur soll auch ein evtl. Schlauchplatzen dedektert werden, das heißt ja das sich der Druck recht schlagartig ändert, wobei die anlage auch Druckschwankungen hat.
Also bräuchte ich eine Tipp wie ich eine solche Funktion hinbekomme, eigentlich recht einfach??? halt eine Delta Druck zu Delta Zeit dedektion.
Kann mir jemand mal ein Tipp geben, wäre echt nett weil mei Kopf schon raucht :)
MfG
 
Hallo,

"Aktueller Druck" mit Flanke auf "Druckwert Gespeichert"
Nach "Delta Zeit" kontrollieren
ob "Aktueller Druck" + "Delta Druck" > als "Druckwert Gespeichert"
oder
ob "Aktueller Druck" - "Delta Druck" < als "Druckwert Gespeichert"
wenn "Ja" Fehler
wenn "Nein" wieder "Aktuellen Druck" auf Druckwert Gespeichert" und Zeit erneut starten.

"Delta Druck" gibt die zulässige Druckschwankung an.
 
Hab dir ein Kleines Programm gebaut das die Druchsteigung berechnet und auf Drucksteigung_zu_gross
eine Meldung ausgibt.
Aufgerufen wird der Baustein im OB35.
Code:
FUNCTION_BLOCK "Steigung_Druck"
TITLE =
VERSION : 0.1


VAR_INPUT
  Druck : REAL ;    
  Abtastzeit : INT ;    
  Max_Drucksteigung : REAL ;    
END_VAR
VAR_OUTPUT
  Drucksteigung : REAL ;    
  Drucksteigung_zu_gross : BOOL ;    //1=Fehler Drucksteigung
END_VAR
VAR
  Altwert_druck : REAL ;    
END_VAR
VAR_TEMP
  Delta_Druck : REAL ;    
END_VAR
BEGIN
NETWORK
TITLE =Druck nach dt

      L     #Druck; //Erechne Delta Druck
      L     #Altwert_druck; //bezogen auf letzte Messung
      -R    ; 
      T     #Delta_Druck; 
      L     #Abtastzeit; //Umrechnen der Abtastzeit nach real
      ITD   ; 
      DTR   ; 
      L     1.000000e+003; 
      /R    ; //Erechne Drucksteigung
      L     #Delta_Druck; 
      TAK   ; 
      /R    ; 
      ABS   ; //Absolutwerterrechnung
      L     #Max_Drucksteigung; 
      >R    ; 
      =     #Drucksteigung_zu_gross; 
      L     #Druck; //Übergabe Druck an Altwert
      T     #Altwert_druck; // für den nächsten Messdurchlauf

END_FUNCTION_BLOCK
Viele Grüße Bernard
 

Anhänge

  • Drucksteigung.JPG
    Drucksteigung.JPG
    66,9 KB · Aufrufe: 21
Zuletzt bearbeitet:
Hey Danke -Super-,
Profis am Werk!
Danke für den Tipp/Anleitung, ich werde es am WE ausprobieren!
Kopf raucht nicht mehr so! Stein auch vom Herzen gefallen.
MfG
 
Zurück
Oben