Benutzereinstellbare Schaltverzögerung

Dieser Bereich ist für den Austausch FERTIGER Makros und allgemein nützlicher Schaltungen vorgesehen.
Antworten
QuAn64m
Beiträge: 8
Registriert: Montag 4. Juni 2012, 08:39

Benutzereinstellbare Schaltverzögerung

Beitrag von QuAn64m » Mittwoch 4. Juli 2012, 12:04

Hey Leute,

Es gibt ja in PL eine Schaltverzögerung die bei einem anliegenden Highsignal das Durchschalten um den intern eingestellten Zeitfaktor*50ms verzögert. Nun benötige ich aber ansich selbiges Bauteil, nur dass der Benutzer auf dem Frontpanel die Schaltverzögerungszeit manuell einstellen soll. Mit dem einstellbaren Monoflop funktioniert das nicht ( oder ich bin zu blöd :D ) da es entweder FÜR die eingestellte Zeit auf High oder Low bleibt.

Also Aufgabe: High Signal abwarten-> Zeit x verstreichen lassen(im FP einstellbar) -> Highsignal durchschalten

Ich hoffe Ihr versteht die Problematik, würde mich sehr über einen Lösungsansatz freuen.

Grüße

QuAn64m
Beiträge: 8
Registriert: Montag 4. Juni 2012, 08:39

Re: Benutzereinstellbare Schaltverzögerung

Beitrag von QuAn64m » Mittwoch 4. Juli 2012, 12:18

Hallo nochmal...

circa 5 Minuten nachdem ich hier geschrieben habe, ist mir die Lösung eingefallen.
Für alle die es interessiert, habe ich die Lösung als Bild gespeichert. Taster 3 ist dabei mein auftretenes Highsignal, welches die Stoppuhr auslöst. Dann wird mittels Vergleicher geschaut ob der Stoppuhrwert größer oder kleiner als die Benutzereingabe am Vergleichereingang ist. Sobald der Wert größer ist, greife ich am Vergleicherausgang A>B einfach ab :D

Grüße
Dateianhänge
Verzögerung.jpg
Verzögerung.jpg (19.61 KiB) 7177 mal betrachtet

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Benutzereinstellbare Schaltverzögerung

Beitrag von abacom » Donnerstag 5. Juli 2012, 08:16

Der Vollständigkeit halber sei auch erwähnt, dass Einstellungen in Eigenschaftsdialogen
(wie hier z.B. die "Schaltverzögerung"), auch über die Optionen "Zur Laufzeit einstellbar"
und "Konfiguration: Anwendung" dem Endanwender verfügbar gemacht werden können.
SV1.jpg
SV1.jpg (25.99 KiB) 7051 mal betrachtet
SV2.jpg
SV2.jpg (41.79 KiB) 7081 mal betrachtet
Hat man die beiden obigen Option aktiviert, hat der Anwender ZUR LAUFZEIT dann die Möglichkeit
die Eigenschaften der Komponente(n) (hier die Schaltverzögerung) abzuändern, indem er auf den
"Schraubendreher" klickt...
sv3.jpg
sv3.jpg (46.54 KiB) 7090 mal betrachtet
Dies gilt natürlich in gleicher Weise auch für andere Komponenten mit Konfigurationsdialogen.
Diese Vorgehensweise bietet sich an bei Konfigurationsparametern an denen nur gelegentlich
"gedreht" werden muss oder soll, ohne dass die Frontplatte "überladen" d.h. unübersichtlich wird.
Benennt man die Schaltverzögerung dann noch in die tatsächliche Funktion um, die dahinter steckt
(also z.B. "Belichtungsdauer", "Alarmverzögerung", o.ä.) wird die Konfiguration sehr übersichtlich.
ABACOM support

QuAn64m
Beiträge: 8
Registriert: Montag 4. Juni 2012, 08:39

Re: Benutzereinstellbare Schaltverzögerung

Beitrag von QuAn64m » Donnerstag 5. Juli 2012, 08:56

Hallo Support

Danke für die Antwort. So ginge es natürlich auch, aber das ist etwas zu umständlich da esöfter mal verstelllt werden muss. Das Ganze Programm ist sowieso schon kompliziert genug ( was ich geschrieben habe ) deshalb mache ich es jetzt so wie ich es im 2 Post geschrieben habe. Bin ich auch etwas stolz drauf :D

Danke für eure Mühe

Gruß

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Benutzereinstellbare Schaltverzögerung

Beitrag von abacom » Donnerstag 5. Juli 2012, 09:15

Kein Problem. Der Beitrag war auch nicht speziell nur für Sie. Ich wollte es aber für alle "Mitleser" noch einmal deutlich darstellen und Ihr Thema war ein guter "Aufhänger" dafür. So kann jeder den Weg beschreiten, der für sein Projekt passend ist.
ABACOM support

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Flexibler Timer

Beitrag von tom_g » Donnerstag 5. Juli 2012, 22:59

Guten Abend,

die Systemzeit T (unter Anzeige/Uhren) wird aus der RTC des PC ausgelesen. Damit ist sie absolut, und nicht abhängig von der Ausführungszeit des PL-Samples.
Das angehängte Beispiel stellt einen Timer dar (Einschaltverzögerung), die Funktion kann natürlich vielfältig erweitert werden.
Der Timer ist mittels Sollwert (kann auch fraktional eingegeben werden) und Zeitbereichseinheit komfortabel einstellbar und eben - genau !
Die Auflösung bleibt beim Umschalten der Zeitbereichseinheit konstant (15 ms, gegeben durch Systemzeit T), und der Einfluss von fast/slow (Systemzykluszeit) auf den Timer bleibt sehr klein.

Der Start/Reset des Timers erfolgt mit kleiner Latenz (flankengesteuert, auf Basis Abacoms Vorschlag on_change) und kann natürlich aus anderen Quellen als vom Handtaster abgeleitet werden,
zum Beispiel nach Ablauf sich selbst zurücksetzen für Periodizität (oder könnte einfach synchronisiert werden, auf die volle Stunde ... oder ... oder)

Ein kleiner oder je nach Verwendung grosser Pferdefuss der vorliegenden Schaltung:

beim Übergang um Mitternacht passiert etwas .... - aber findet es selbst heraus :-)

Gewisse Abhilfe kann die zusätzliche Aufrechnung des Datums D (ebenfalls unter Anzeige/Uhren) bieten.

Viel Spass !

Viele Grüsse von Thomas
Dateianhänge
prog_timer.prj
(7.43 KiB) 474-mal heruntergeladen
Curiousity makes us progress !

Antworten

Zurück zu „Makros & Schaltungen“