easy-forum
Deutsch - Hardware => easyE4 => Thema gestartet von: Andibu am Oktober 23, 2020, 20:19:20 Nachmittag
-
Hallo zusammen,
ich habe ein kleine Steuerung mit easysoft 7 erstellt und möchte nun die Parameter(Grundzeit) elegant übers Display einstellen können, weis aber leider da nicht mehr weiter, und es sollte noch möglich sein das es aus der Grundzeit drei weitere Zeiten berechnet werden z.b. Grundzeit ist 20Sekunden und die erste Zeit ist 20 die zweite 40 und die dritte 80 in drei WortMerker gespeichert.....
wie Funktioniert das unter EDP
Danke
-
Hallo,
wie soll gerechnet werden? Immer *2 der letzten Zeit? Verstehe es noch nicht ganz
Ich empfehle auf Fup oder Kop zu wechseln. Möglicherweise noch ST in Anwenderbausteinen.
So nutzt du erst alle neuen Möglichkeiten aus. EDP ist nur zur Übernahme alter Programme noch sinnvoll.
-
Hallo,
ich habe es mal Versucht siehe Anlage
Grundzeit ist die erste Zeit (MW10). Da in deinem Beispiel gleich der ersten Zeit keine Rechnung nötig. Mit dieser arbeitet der Timer.
Ich habe die 3 Zeiten in MW 10 -12 gespeichert.
Was mit den Zeiten passieren Soll steht nicht in der Aufgabe.
Soll auch am Display eine der Zeiten vom MW 10 - MW12 für T1 ausgewählt werden?
Möglicherweise Remanenz einstellen und einen Startwert ungleich 0
Alt = Eingabe Aktivieren
<> Stelle auswählen
P2 - P4 Auf / Ab Zahl
OK abschließen / Übernehmen
-
Hallo Jürgen
genau das habe ich gesucht
ich bin begeistert
Danke
AndiBu
-
Dann würde ich mich hier auch mal mit einer Fragestellungen beteiligen.
Ich arbeite erst seit heute mit easy und stelle mir ebenfalls die Frage, wie ich das Display so konfigurieren kann, dass ich 2 verschiedene Werte (Zeiten) mit den Pushbuttons verändern kann.
Bspw ist die Zeit 1 als Standard auf 1,3 Sekunden und die Zeit 2 auf 2,3 Sekunden.
Ich möchte die beiden Zeiten vom Benutzer allerdings in einem gewissen Rahmen ändern lassen.
Die Buttons hoch und runter sollen zwischen den beiden Werten in den Zeilen springen. Mit den links und rechts Buttons soll der Wert jeweils um 0,1 Sekunden erhöht oder verringert werden. Die minimale Laufzeit sollte 0,5 Sekunden und die maximale 3 Sekunden betragen.
--------------------------
Datum Uhrzeit
Zeiten anpassen (min. 0,5 / max. 3,0s)
Zeit 1: < 1.3 Sekunden >
Zeit 2: < 2.3 Sekunden >
--------------------------
Arbeitet man diese Idee ebenfalls mit Markern ab? Die Hilfe bringt mich leider nur wenig weiter. Ein wenig Unterstützung wäre klasse. Besten Dank! :)
Gruß Lars
-
Hallo Lars,
vorerst mal willkommen im Forum ;)
Anbei ein kleiner Ansatz wie du deine Aufgabe lösen könntest.
Mit der "ALT-Taste" auf der Steuerung kommst du in den Editiermodus, mit den Cursortasten kannst du Werte ändern, mit "OK" bestätigen.
Gruß
Vielleicht helfen dir beim Einstieg auch die Video Tutorials im Trainingscenter Bonn:
https://www.eaton.com/de/de-de/support/schulungen-und-seminare/videotutorials.html
-
Ja stimmt. Hallo erstmal! :D
Ich habe mir dein Beispiel angeschaut und konnte es problemlos in mein Projekt übernehmen. Vielen Dank für die Hilfestellung!
Eine Frage noch. Ist es ohne weiteres möglich, das Ändern der Zeit so zu gestaltet, dass nicht jede Ziffer vor und nach dem Komma separat geändert wird, sondern man Stufenweise den Gesamtwert um 0,1 erhöht / verringert?
Gruß Lars
-
Hallo Kahmui,
schau dir doch mal den Baustein RE (Rezept-Datensätze) zusammen mit einem Zähler, der mit Pfeil hoch und Pfeil ab gesteuert wird, an.
Grüße,
Konni
-
Hallo Lars,
Ist es ohne weiteres möglich, das Ändern der Zeit so zu gestaltet, dass nicht jede Ziffer vor und nach dem Komma separat geändert wird, sondern man Stufenweise den Gesamtwert um 0,1 erhöht / verringert?
... ja, ist prinzipiell möglich! Allerdings musst du dann die Umschaltung Wert1/Wert2, Grenzwerte, Initialisierung, etc. extra programmieren und das bedeutet einiges an Aufwand damit es sauber funktioniert. Ich denke das wäre in ST (evtl. UF) vermutlich weniger aufwand.
Gruß
-
Hm.. anscheinend hat mein Gedankengang mit der Einbindung doch nicht so ganz funktioniert. Teilweise ist es nicht möglich die Werte festzulegen.
Simuliere ich das ganze, kann ich beispielsweise bei t1 nicht den Wert 2,2 einstellen. Woran kann das liegen? Datei im Anhang.
Kurze Erläuterung: Die Zeiten von Pumpe 1 und 2 sollen geändert werden können.
-
... du verwendest in deinem Programm überschneidende Merkerbereiche!!!
M01 - M32, MW01-MW02, MD01 ... sind alle im selben Merkerbereich.
Wenn du M01 änderst dann wird auch MW01 und MD01 verändert!
sieh mal in der easy Hilfe unter "Operanden Tabelle"
Gruß
-
... du verwendest in deinem Programm überschneidende Merkerbereiche!!!
M01 - M32, MW01-MW02, MD01 ... sind alle im selben Merkerbereich.
Wenn du M01 änderst dann wird auch MW01 und MD01 verändert!
sieh mal in der easy Hilfe unter "Operanden Tabelle"
Gruß
Gut. Da hab ich ein wenig gepennt. Mit den Markern muss ich mich noch ordentlich auseinandersetzen ;D
Habe jetzt eine Excel Liste wo ich mir alles eintragen kann! Danke für den Hinweis.
Das Programm funktioniert nun wie es soll. Hab es mal in den Anhang gepackt. Vielleicht hilft es dem ein oder anderen mal weiter :)
Komplette Erklärung zum Programm:
Es gibt zwei Pumpenkreise. Jeder Kreis besteht aus einem Sensor, einer Pumpe und einem Ventil. Die Laufzeit der beiden Pumpen ist änderbar.
Bei Betätigung des Sensors läuft eine Pumpe für eine über das Display einstellbare Zeit. Bei Abschaltung der Pumpe wird ein Ventil für eine fest eingestellte Zeit betätigt.
Im Anschluss an die Ventilbetätigung läuft eine Zwangspause. Erst nach dieser Pause kann der jeweilige Kreislauf erneut betätigt werden. Beide Kreise arbeiten dabei unabhängig voneinander.
Eine Frage hätte ich noch an weiss_nix. was hat es mit dem Konstantenwert 150734100 auf sich und wo hast du die beiden voreingestellten Werte festgelegt?
Liebe Grüße und danke an alle für die tolle Hilfe!
Gruß Lars
-
Hallo,
im ersten Netzwerk wird die Konstante 150734100 verwendet. Das ist ein Doppelwortwert.
Der wird beim Programmstart einmalig in MD3 übertragen.
MD3 ist MW 5 und MW6. Aufgeteilt auf MW5 mit 1300 und MW 6 mit 2300 Als Doppelwort Wert dann eben 150734100
Diese Wörter werden in der Textanzeige vom Bediener verändert .
Anschließen werden MW 5 und MW 6 für die Timer verwendet.
Zur besseren Übersicht, kannst du auch ohne viel Rechnen 2 Getrennte Ansteuerung für MW 5 und MW6 Programmieren
-
Hallo,
@ Juergen, das mit der Initialisierung ist auf meinem Mist gewachsen, da kann Lars nichts für! Ich wollte keine 2 DB's verbraten.
Und ja, das geht zu Lasten der Lesbarkeit, ist aber vermutlich auch aus Faulheit geschehen ;)
Die Werte musst man nicht rechnen, ich trage in der Simulationsansicht bei MW die Werte ein die ich gerne hätte und kopiere anschließend das Ergebnis aus dem MD 8)
@Lars, den Blinktimer T07 den du aus meinem Vorschlag übernommen hast ist IMHO ohne Funktion und kann vermutlich gelöscht werden.
Gruß
-
Hallo weiss_nix,
ich habe das auch oft mit der Simulation gemacht. Kostet eben Zeit und im laufenden Betrieb nicht so Praktisch
Da wäre noch mal genau auf das Verhalten der Steuerung bei Spannungsausfall und Wiederkehr, Ersten Anlauf, Programm Übertragung .. nachzudenken.
Jetzt ist es so, das bei Spannungswiederkehr die veränderten Werte des Users vom Standardwert überschieben werden.
Edit
Nach meiner Meinung sind, neben dem T7 auch bei den Timern MW 10 und MW 11 über.
-
@Juergen,
... ja, es sieht so aus als wären MW10,MW11 obsolete, vorausgesetzt das Programm ist fertig, sieht aber nicht so aus, worauf sich meine Aussage zu T07 auch relativiert ;)
Der Parametererhalt ist durch Merkerbereiche remanent setzen und/oder Konstanten verwenden o.Ä. lösbar, aber ich Denke es wird von den Prioritäten des Anwender abhängig sein.
Gruß
-
Obsolete Merker wurden entfernt, ebenso der Timer Blinker.
Da wäre noch mal genau auf das Verhalten der Steuerung bei Spannungsausfall und Wiederkehr, Ersten Anlauf, Programm Übertragung .. nachzudenken.
Jetzt ist es so, das bei Spannungswiederkehr die veränderten Werte des Users vom Standardwert überschieben werden.
Das ist ein sehr interessanter Punkt und kommt für mich auch definitiv in Frage. Wie kann ich es bewerkstelligen, dass nach Spannungsausfall / Wiedereinschalten etc. die eingestellten Paramter bestehen bleiben?
Vielen Dank an dieser Stelle für alle Rückmeldungen und Verbesserungsvorschläge! :)
-
... steht doch schon da ?!
Der Parametererhalt ist durch Merkerbereiche remanent setzen und/oder Konstanten verwenden o.Ä. lösbar
Falls seit der letzten Version nicht anders musst du den Bereich MD03 und M100 (und was du sonst noch brauchst) remanent setzen.
Gruß
-
... steht doch schon da ?!
Für mich ist das alles Neuland. Entschuldigt wenn solche Aussagen bei mir nicht direkt klick machen. Remanenz / Merker etc. Damit habe ich bisher noch nie gearbeitet ;D
Dann ist das ja recht einfach umzusetzen.
Und wenn ich das richtig sehe, macht es von vornherein Sinn, festzulegen welche Bereiche / Spannen remanent sein sollen? So wie das aussieht kann ich ja nur Bereiche "Von-Bis" remanent setzen. Also bspw md1 bis md3 und nicht nur Md1 und Md3 ohne md2.
Korrigiert mich wenn ich falsch liege :)
Vielen Dank. Gruß Lars
-
Hallo Lars,
kein Thema, war auch nicht als Kritik gedacht. Und ja, das mit der Remanenz hast du richtig erkannt.
Auch die Planung der Speicherbereiche, Funktionen, etc. ist ein essenzielles Thema bei der Softwareentwicklung.
Du kannst auch mit Konstanten arbeiten! So wie ich vor kurzem gelernt habe, werden im Display geänderte Konstanten direkt in das Programm zurückgeschrieben. Wird in der Simulation aber nicht so verständlich dargestellt. (Beispiel anbei)
Gruß