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

Ergebnis 1 bis 7 von 7

Thema: Drucktest

  1. #1
    Registriert seit
    22.06.2015
    Beiträge
    34
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    ich habe mal wieder eine Frage an euch. Ich würde gern für mein Projekt einen Drucktest durchführen. Dieser Test soll aus drei Phasen bestehen, welche manuell durch jeweils einen Button anwählbar sein soll. Druckaufbau, Druckprüfung und Druckabbau. Diese Drei Phasen sollen durch ein Diagramm optisch visualisiert werden. Jeder der drei Phasen besteht aus einer seperaten Kurve.

    Eckdaten: Ich programmiere in Fup mit Codesys 3.5.6 und visualisiere mit Galileo 10.0.2 von Eaton. Steuerung: XV303, Drucktransmitter: 4...20mA0...1,6 bar

    So und nun mein Problem:
    Im Galileo ist es leider nicht möglich einzelne Kurven an- oder auszuschalten. Sprich, ich kann meine drei Phasen nur in drei Diagramme gleichzeitig darstellen.
    Vielleicht habe ich nur einen Denkfehler aber wie kann ich meinen Real-Wert des Drucksensors in drei aufteilen und diese seperat abfragen? Ich hätte gern jeweils eine boolsche Variable zum aktivieren und deaktiveren der Druckwerte aber da es sich hierbei um einen Real-Wert handelt wird dies ja nicht möglich sein, oder?
    Mit einer solchen boolschen Variable wäre es mir widerum möglich, im Graphen die Kurven einzeln zu starten/stoppen.

    LG Messi
    Zitieren Zitieren Drucktest  

  2. #2
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Wieso du hast 3 Bits.Mit denen erzeugst du die 3 Werte für die 3 Zustände.Die Zahl zeigst du mit an.

    1=Druckaufbau
    2=Druckprüfung
    3=Druckaufbau.

    In Abhängigkeit von deinem Bit schiebst du die Werte in eine Variable und zeigst es mit an.
    Drunter noch eine legende was die Zahl bedeuted.

  3. Folgender Benutzer sagt Danke zu silverfreaky für den nützlichen Beitrag:

    Messi90 (17.09.2015)

  4. #3
    Registriert seit
    22.06.2015
    Beiträge
    34
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also so ganz verstehe ich nicht wie du das meinst. Kannst du mir das vllt als Programmcode zeigen?

    Anbei der Programmabschnitt vom Drucksensor.
    Mir ist nun hier nicht klar wie ich den Wert "Druck" auf drei Variablen geschrieben bekomme und diese ein- und ausschalten kann.
    Angehängte Grafiken Angehängte Grafiken

  5. #4
    Registriert seit
    19.06.2015
    Beiträge
    459
    Danke
    26
    Erhielt 40 Danke für 35 Beiträge

    Standard

    Du hast gesagt du hast pro Druckzustand ein Bit.
    Ich habe kein Logo.

    Du schiebst mit dem Move befehl jeweils in Abhängigkeit von dem jeweiligen Bit 1 oder 2 oder 3 in eine Integervariable.
    Diese Integervariable nimmst du mit in den Trend.einen Trend.Eine trendvariable für den Druck und eine in welchem Zustand du bist.Dann hast du einen Trend.
    Wenn man den Trend dann anschaut weiss man wenn die Trendvariable "Druckszustand" auf 1 steht das du im Druckaufbau bist.
    Die legende schreibst du darunter.

    Wieso brauchst du da 3 Trend-Kurven?

  6. Folgender Benutzer sagt Danke zu silverfreaky für den nützlichen Beitrag:

    Messi90 (17.09.2015)

  7. #5
    Registriert seit
    22.06.2015
    Beiträge
    34
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Anbei mal eine Grafik wie das Ganze am Ende aussehen sollte.

    Wohlgemerkt, ich nutze keinen Trend im Codesys sondern die Visu von Galileo. Dabei ist es nicht möglich mit einer Variable 3 Kurven zu zeichnen.

    Momentan habe ich auch noch kein Druckzustand. Mir ist noch unklar wie ich den Druckzustand programmieren soll.
    Angehängte Grafiken Angehängte Grafiken

  8. #6
    Registriert seit
    16.11.2007
    Beiträge
    179
    Danke
    11
    Erhielt 53 Danke für 39 Beiträge

    Standard

    Ich habe zwar nur CoDeSys 2.3, aber du könntest den "MOVE"-Befehl nutzen, oder es in AWL mit Sprüngen programmieren:
    Code:
    VAR
     x_Aufbauphase     :BOOL;
     x_Pruefphase      :BOOL;
     x_Abbauphase     :BOOL;
     r_Istdruck       :REAL;
     r_Druck_Aufbauphase   :REAL;
     r_Druck_Pruefphase    :REAL;
     r_Druck_Abbauphase   :REAL;
    END_VAR
    
     LD  x_Aufbauphase
     JMPCN M001
    
     LD  r_Istdruck
     ST  r_Druck_Aufbauphase
    
    M001:
    
     LD  x_Pruefphase
     JMPCN M002
    
     LD  r_Istdruck
     ST  r_Druck_Pruefphase
    
    M002:
    
     LD  x_Abbauphase
     JMPCN M003
    
     LD  r_Istdruck
     ST  r_Druck_Abbauphase
    
    M003:


    Jan

  9. Folgender Benutzer sagt Danke zu Mr.Spok für den nützlichen Beitrag:

    Messi90 (17.09.2015)

  10. #7
    Registriert seit
    22.06.2015
    Beiträge
    34
    Danke
    23
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich versuche die Problematik noch mal genauer zu schildern, da ich mich wahrscheinlich oben nicht so gut ausgedrückt habe:

    Die Messkurve wird in verschiedenen Farben dargestellt, abhängig davon welche Phase des Tests gerade abläuft. Dabei erscheint in der Legende ein Eintrag erst wenn die Phase angelaufen ist, d.h. vor dem Start eines Tests ist die Legende leer.
    Blau Vorfüllen
    Rot Prüfen
    Grün Druckabbau
    Start Vorfüllen

    Durch drücken dieses Knopfs wird die Aufzeichnung der Daten gestartet.
    Der Bediener füllt manuell mit Druckluft. Dabei wird der aktuelle Druck immer angezeigt. Nach Ablauf der eingestellten Vorfüllzeit (fehlt hier im Bild!) startet automatisch die nächste Phase.
    Start Prüfung

    Falls der geforderte Prüfdruck bereits vor Ablauf der Vorfüllzeit erreicht ist kann mit dem Knopf <Start Prüfung> die eigentliche Druckprüfphase auch manuell gestartet werden.
    Ansonsten startet die Prüfung nach Ablauf der voreingestellten Vorfüllzeit. Ab jetzt wird die bereits verstrichene Prüfzeit angezeigt.
    Start Druckabbau

    Nach Ablauf der Prüfphase wird automatisch die Aufzeichnung des Druckabbaus gestartet. Der Bediener muss ab diesem Zeitpunkt manuell die Luft entleeren. Diese Phase muss manuell beendet werden
    Prüfung Ende

    Die Druckprüfung muss manuell beendet werden mit dem Knopf <Prüfung Ende>.

    Im Anhang noch mal ein Bild dazu. So sollte es verständlich sein

    Vielen Dank für eure Hilfe!
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Messi90 (17.09.2015 um 10:12 Uhr)

Stichworte

Lesezeichen

Berechtigungen

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