easy-forum
Deutsch - Hardware => MFD-Titan® => Thema gestartet von: Phil K. am September 10, 2013, 11:45:55 Vormittag
-
Hallo alle zusammen,
ich möchte gerne eine Druckregelung realisieren und diese auch visualisieren.
Es handelt sich um 2 Magnetventile, die einmal in Zu- und einmal in der Ableitung sitzen.
Mein Problem ist folgendes:
Am Display soll man den jeweiligen Druck eingeben können, bei dem jedes Ventil schalten soll.
Ich wollte es mit einem Analogwertevergleicher und einem Arithmetikglied pro ventil probieren, aber in der Simulation haut es nicht so ganz hin. Es ist aber auch das erste mal, dass ich mit dieser Software arbeite. Bisher habe ich nur die Software anderer großer Hersteller verwendet.
Könnte mir jemand vielleicht ein paar tipps oder ein Beispiel für ein solches Problem zukommen lassen?
Vielen Dank im Voraus
-
Hallo Phil K.
Im Anhang findest Du ein einfaches Beispiel ohne Eingabeüberwachung, ohne Hilfezeilen, etc.
- mit der Taste "DEL" werden Anfangswerte für den oberen und unteren Schaltpunkt gesetzt
- mit der Taste "OK" kannst Du die Anfangswerte ändern (OK übernehmen, ESC Eingabe verwerfen)
Gruß
Maikky
-
Vielen Dank Maikky,
und so unglaublich simpel >:(
Es ist immer sehr ärgerlich, wenn man eine andere Software zum programmieren benutzt und irgendwo einen Haken vergisst zu setzen oder derartiges reicht schon aus das es nicht läuft, obwohl das Grundprinzip dasselbe ist.
Habe nun den Schaltzustand der Ventile visualisieren können.
Nun muss ich noch bei jedem Ventil eine Schaltschwelle einstellbar machen, so weit so gut, aber wie verknüpfe ich sie das sie beim Istwert auch abschalten und es ebenfalls beim Schaltzustand der Ventile in der Visualisierung sichtbar wird. Habs mit Merkern probiert, aber irgendwo stimmt irgendwas wieder nicht.
Wie oft kann ich Taste am Display den belegen?
Und wofür sind überhaupt die P-tasten, die ich als NO oder NC in den Schaltplan zeichnen kann, aber in der visualisierung nicht funzen.
Gibt es sowas wie "Taktmerker" damit ich eine LED doppelt mit Leuchtsignalen belegen kann. (jede 2 Sekunden einmal kurz blinken, wenn ein Ventil offen ist und jede 2 Sekunde. 2mal schnell blinken, wenn beide Offen sind)?
Tut mir echt Leid benutze die Software seit gestern morgen und habe noch ein paar Startschwierigkeiten.
Hoffe auf Hilfe von meinen Erfahrenen Kollegen hier in diesem Forum. :)
-
Hallo Phil K.
Zu deinem ersten Thema : Hysterese
Im Anhang findest Du ein geändertes Beispiel.
In den Analogwertvergleichern wird der Parameter HY (Hysterese) jeweils mit Konstantwert 5 = 0,5 bar verwendet,
d.h. das Druckventil schaltet ein ab 5,0 bar fallend und AUS bei 5,5 bar steigend während das Ablassventil bei 6,0 bar
steigend ein- und bei 5,5 bar fallend ausschaltet. Ich hoffe soweit habe ich Deine Anwendung verstanden.
Die Schaltzustände der Ventile wurden im ersten Beispiel als Ausgang Q1 bzw. Q2 angezeigt, d.h. solange wie eines
der Ventile bestromt ist. Im neuen Beispiel werden über Blinkrelais die Merker M1 und M2 gesteuert und zur Anzeige gebracht.
Was ich noch nicht verstehe ist, warum beide Ventile gleichzeitig bestromt sein können.
Gruß
Maikky
-
Das ist sehr nett,
ich komme leider erst morgen dazu es mir anzuschauen.
Um auf Deine Frage zurück zu kommen. Der Druck im Behälter soll möglichst gleich bleiben.
Also wenn das Ventil in der Ableitung(bei eingestellter Schaltschwelle bsp 10 bar) öffnet, muss beim Ventil in der Zuleitung(bei eingestellter Schaltschwelle bsp. 8 bar) öffnen bis es 10 bar erreicht hat und dann wieder schließen und umgekehrt ist der Druck zu hoch muss das Ventil in der Ableitung öffnen. Somit ergibt sich glaube ich auch das Problem, dass ich die Ventile gegeneinander verriegeln muss, oder was meinst Du dazu?(Glaube es ist so wie Du es beschrieben hast). Die Ventile sollen ja nur schalten bzw. bestromt werden bei verlassen des eingestellten bereiches, oder habe ich die Frage "warum beide Ventile bestromt sein müssen" Missverstanden?
Grüße
Phil
-
Hallo Phil K.
Meiner Ansicht nach brauchen die Ventile nicht verriegelt werden, solange die
Hysterese in einem "vernünftigen" Bereich liegt.
Der Einfachheit halber kannst Du z.B. deine Eingaben ändern auf
"Schaltpunkt" und "Hysterese", dann gibt es überhaupt keine
Überschneidungen (siehe Anhang).
Gruß
Maikky
-
Hi Maikky,
danke für die Infos und Hilfe, ich werde mich nun mal der Sache annehmen sofern demnächst nix dazwischen kommt und Dir bescheid sagen, ob es geklappt hat, so wie ich mir das gedacht habe.
Grüße
Phil
-
So halbwegs geht es,
nur ein paar Probleme habe ich noch
-Ventil In soll beispielsweise bei 20 bar wieder aufmachen zum „nachfüllen“
- Ventil Out soll beispielsweise bei 30 bar aufmachen zum „ablassen“, so dass im Behältnis durchgehend ein Druck zwischen 20 und 30 bar herrscht(alles natürlich durch den Bediener einstellbar).
Sollte ich es da nicht lieber mit einem Zählrelais oder einem Inkrementalzähler probieren?
- Die Anzeige ist dreistellig mit Vorzeichen(ich habe die Visualisierung geändert, wenn es geht soll sich alles auf einer Maske abspielen, die anderen 2 Masken sind erstmal zu vernachlässigen)
- Es soll eine Warnmeldung angezeigt werden, wenn der Bediener die Ventile verwechselt, also der Wert von Ventil In über dem von Ventil Out liegen würde, dann wären ja beide Ventile durchgehend offen.
- Und es soll eine Meldung kommen um die Werteingabe zu bestätigen, d.h. man muss beide Werte bestätigen, bevor die Änderung wirksam wird.
Ich probiere schon die ganze Zeit rum, aber habe aber unter anderem Probleme das die Ventile zum eingestellten Schaltzeitpunkt öffnen und schließen.
Vielen dank schon mal.
Grüße
Phil
-
Hallo Phil K.
Mir sind mehrere Dinge in Deinem Programm aufgefallen
- über den Baustein LS01 skalierst Du den Drucksensor zwischen 0 und 50 bar
- in der Visualisierung geht die Istdruckanzeige aber bis 100 bar, weil Du den Eingangswert darstellst
- die Zähler C01 und CI01 haben keine für mich ersichtliche Funktion
- der Begrenzer VC01 hat keine ersichtliche Funktion
- der Arithmetik-Baustein AR01 hat keine ersichtliche Funktion, aber Du benutzt den Ausgang als
Offset in A02
- der Min.- und Max.druck werden in MW01 und MW02 abgelegt, gleichzeitig benutzt Du den Merker M01,
d.h. die Merkerbereiche überlagern sich
- in A01 und A02 vergleichst Du den Istdruck mit MW03, aber wo kommt MW03 her?
- in A01 werden der Offset und die Hysterese durch MW04 bestimmt, wo kommt der Wert her?
- in A02 wird der Offset durch Ausgang AR01 bestimmt, das ist im Moment gleich wie IA01
- in A02 wird die Hysterese durch MW04 bestimmt, wo kommt der Wert her?
- in A01 und A02 wird abgefragt, ob der Istdruck größer ist, sicherlich soll eine Abfrage "kleiner als" sein
- die Bausteine A04 und A05 haben keine Funktion
- Du benutzt den Ausgang Q3 als "Spule" in zwei verschiedenen Pfaden, hier solltest Du nur einen
Pfad nehmen um Fehlverhalten zu vermeiden
Wenn die oben genannten Punkte bereinigt sind und das Programm läuft, sind die Erweiterungen "Eingabe bestätigen"
und "Übernahme nur bei korrekten Werten" schnell gemacht.
Gruß
Maikky
-
Ok Maikky,
hab es lieber nochmal neu aufgebaut und strukturiert.(das die Zähler keine Funktion hatten weiß ich auch, ich dachte ich könnte sie aber benutzen :( )
Ich glaube ich habe die Eingabewerte angepasst(0-999 bar) und die Leichtsinnsfehler behoben.
So langsam hab ich den Dreh raus, aber ein paar Probleme bleiben.
Ich hab eine Auswahl für die Drucksensoren erstellt, die dann hoffentlich jeweils bei Maske 2 und Maske 3 greifen.
Aber mit der Auswahl der Sensoren klappts noch nich so ganz, was kann ich tun?
Ich habe es mit rollierendem Text und Bitanzeigern probiert, dass klappt nur bedingt.
Ich würde auch gerne die Schritte beim in- und dekremtieren der variablen auf den Pfeiltasten hoch und runter +-1 und denen rechts und links +-10 machen(sobald das Bedienbare Maskenelement ausgewählt wurde), aber auf rechts und links habe ich die Maskenauswahl und wenn ich etwas dazu mache steht es zwar da aber es funktioniert nicht.
Und den Meldungstext kann man ja nicht einstellen, aber ich würde ihn gerne umstellen auf der letzten Maske beim Verhalten des Sensors(NO oder NC) und dies auch im Schaltplan einfügen.
Die Istwerte bei den ersten 3 Masken sollen je nach eingestelltem Sensor auf die jeweilige Wertskalierung zugreifen, ich habe dort aber nur eine Einstellmöglichkeit. Könnte ich die Anzeigen überlagern und die nicht eingestellte Anzeige unsichtbar machen?
Nicht wundern, aber jedes Ventil soll 2 einstellbare Schaltschwellen haben.
Ich probiere es weiter vielleicht hab ich es ja teilweise behoben, bis Du mir antwortest ;)
Grüße
Phil
-
Hallo Phil K.
Dein Problem bei den Drucksensoren liegt in der Merkerüberdeckung. Damit nur die Merker M1 bis M4
einzeln gesetzt werden, muss das zugehörige Word (oder Byte) die Werte 1, 2, 4 oder 8 annehmen.
Ein in- bzw. dekrementieren der Werte reicht da nicht aus. Im abgehängten Beispiel ist die Sensorauswahl
mit einem Tasterfeld gelöst.
Ergänzt ist auch die Vorwahl des Sensortyps mittels "Taste runter"
Für die unterschiedliche Skalierung der Sensoren habe ich einen anderen Weg gewählt. Die Ausgänge beider
LS-Bausteine addieren und diese Summe als Istwert verwenden. Somit entfallen 4 Vergleicher.
Wie Du die 4 Schaltschwellen belegen willst, ist mir allerdings noch nicht klar. Da habe ich erstmal
nichts geändert.
Gruß
Maikky
-
Hi Maikky,
also das mit den Sensoren kann man zwar in der Simulation einstellen, aber ich komme nicht mehr aus dem Einstellungsfenster raus.
Du hast bei meiner Wertskalierung LS02 ja bei Stützpunkt 1 X die 205 eingegeben. Warum ist das denn so und warum hast Du bei Y2 100 eingeben? Also 205(204,8) entspricht 2V bzw. 4mA. Wenn es um X-Achse und Y-Achse geht, würde ich verstehen warum die 205 bei X1 stehen, aber die 100 bei Y2???
Also die Schaltschwellen sollen sich so verhalten. Ist der Wert < als die Untere Schaltschwelle, soll das Ventil so lange schalten bis es den Wert der Oberen erreicht und dann abschalten.
Bsp.:
Untere Schwelle 5 bar Obere Schwelle 10 bar Istdruck 12 bar.
Fällt der Druck unter 10 bar passiert nix, fällt er unter 5 bar, öffnet das Ventil bis es 10 bar erreicht und schaltet dann ab. (So wird ständiges öffnen und schließen des Ventils verhindert im Vergleich zu nur einer Schaltschwelle)
Mein Plan ist die Obere Schwelle zu blockieren und nach erreichen der Unteren Schwelle die Obere Schwelle freizugeben.
Schau Dir mal bitte diese Lösung an.
Bei der Visualisierung habe ich NC und NO weggelassen, also könnte man theoretisch alle 4 Sensoren zum einstellen anzeigen lassen.
Grüße Phil
-
Hallo Phil K.
Zunächst mal hier die Info's zu den Sensoren :
- in der Version C ist das Standardverhalten bei Eingaben vorgesehen, d.h.
1. mal OK-Taste : Eingabefeld auswählen
2. mal OK-Taste : Eingabemodus einschalten
mit Taste "Hoch/Runter" Zeile auswählen
mit OK-Taste Auswahl übernehmen
mit ESC-Taste Eingabemodus ausschalten
- in beigefügter Version D habe ich das geändert auf
mit Taste OK : Eingabemodus einschalten
mit Taste "Hoch/Runter" Zeile auswählen
mit OK-Taste Auswahl übernehmen
- das Eingabefeld ist auf 4 Zeilen vergrössert
Gruß
Maikky
-
Hallo Phil K.
Nun zu den Skalierungen.
Grundsätzlich hast Du in Deinem Programm drei Wertebereiche :
Bereich A : Werte am Analogeingang
Bereich B : Werte mit denen innerhalb des Programms gearbeitet werden soll
Bereich C : Werte die in der Visualisierung angezeigt werden sollen
Der Bereich A ist klar und geht von 0 bis 1023 bei den Sensoren 1 und 3 bzw. 205 bis 1023
bei den Sensoren 2 und 4.
Den Bereich B kannst Du im Prinzip frei wählen. Ich habe Werte von 0 bis 100 als sinnvoll
erachtet. Das würde in diesem Fall dem Druck in bar entsprechen. Du kannst aber auch
jeden anderen Bereich nehmen und entsprechend in LS01 und LS02 anpassen.
Der Bereich C soll eine Anzeige in bar sein, d.h. falls Du nicht im Bereich B die Werte in bar
verwendest, musst Du bei jedem Feld den Abbildungsbereich angeben.
Gruß
Maikky
-
Hallo Phil K.
Ich habe das Programm soweit geändert, dass die Ausgänge meiner Ansicht nach
korrekt schalte. Bitte testen.
Zudem ist es eine Überlegung wert, nur zwei Analowertvergleicher zu verwenden und die
Hysterese mit zu benutzen.
Gruß
Maikky
-
Hi Maikky,
sehr sehr schöne Lösung, die Hysterese brauch ich hier ja nicht.
Ich muss nur beide Ventile gleich programmieren, also auch beim zweiten Ventil die Untere Schwelle zuerst. Man soll es nur Hardwaretechnisch einstellen können, ob nun Ventil 1 die Zuleitung ist oder Ventil 2, d.h. die Ventile hängen an Koppelrelais mit 2 Wechslern. Negiere ich ein Ventil(Wechselkontakt tauschen) zum Beispiel Ventil 2 dann erst ist es meine "Ableitung"(das Wort klingt irgendwie komisch). Ich muss es so programmieren, dass man durch ändern einer Ader jedes Ventil für alles benutzen kann, so sollte man auch beide Ventile als Zuleitung oder beide Ventile als Ableitung nehmen können, aber nur hardwareseitig.
Habe grade die Werte geändert und wenn nun DEL betätige und alles auf festen Wert setze steht bei mir bei V2 Obere Schwelle 59 statt 60, dass ist sehr merkwürdig(wegen FESTER Wert).
Ich würde am liebsten ein Softwarelösung machen (ist grade in Arbeit).
Hier die Änderung und ich hoffe das dir etwas einfällt für die "Hardwarekonfiguration".
Grüße Phil
-
Hallo Phil K.
Die Unterschiede in der Anzeige (Beispiel 59 bei erwarteten 60) liegen in den vorher
beschriebenen Wertebereichen.
Als "Bereich B" werden nach wie vor Werte von 0 bis 100 verwendet.
Den "Bereich C" hast Du auf Werte von 0 bis 99 gesetzt.
Die Vorgabewerte sind aus "Bereich B", d.h. der feste Wert 60 wird in den angezeigten
Wert 59 aus "Bereich C" skaliert.
In beigefügtem Beispiel habe ich das wieder zurückgeändert und nur zur Info die
Vergleicher mit Hysterese verwendet.
Gruß
Maikky
-
Hi Maikky,
Das mit den Ventilen habe ich hinbekommen, ich hab V1 genau wie V2 programmiert und wenn man es negieren will muss man es einfach am Wechselkontakt machen, dass geht ich habs ausprobiert.
Ich hab das jetzt mal ohne Hysterese gelassen und muss anstatt den Sensortypen den Meßbereich einstellbar machen.
Aber ich habe schon wieder hin und her probiert und bin nicht dahinter gestiegen, außerdem wollte ich auf der ersten Maske die Obere und Untere Schwelle darstellen, aber mit einem Bereich bis 999bar, dass wird wohl nicht klappen.( zuerst schrieb ich S2 und S1 als obere und untere Schwelle, dann hab ichs mit pfeilen probiert aber das wurde auch zu eng :( )
Zu dem lösbaren Meßbereichsproblem: Ich muss ja irgendwie auf die Wertskalierung zugreifen, aber mit eingestellter Konstante wird das wohl nix, habs mit MW´s probiert aber irgendwie haut das auch nicht so hin. Auf Zahlenbereich bei der Werteingabe kann man ja auch nicht über die Visualisierung zugreifen.
Wenn man den Sensor austauscht, also einen Sensor mit einem anderen Meßbereich nimmt, soll man ihn in der vierten Maske einstellen können.
Beispiel:
Eingebauter Sensor Meßbereich 0...40bar--> Sensor wird gegen einen mit Meßbereich 0...100bar ausgetauscht und das soll man auf der vierten Maske einstellen können.
-
Ok Maikky,
das war ziemlich einfach mit der Visualisierung des Messbereiches, wenn man weiß wie es geht hätte diese Einstellung mit Visualisierung max. 5 Minuten gedauert(ich habe ein wenig länger gebraucht 8) ).
Vielen Dank für die ganzen guten Tipps Maikky :)
Grüße
Phil