$Delay
$Delay
Hallo Freunde.
Anbei ein Projektbeispiel mit der Setliste.
Da die Schrift klein, und nicht skalierbar ist, wurde das Display $DSP1 eingefügt.
Nach Anwahl eines Wertes erscheint dieser auch in dem Display. Und verbleibt dort.
Auch wenn der Focus auf ein anderes Bateil gerichtet wird.
Soweit ist alles wunderbar.
Siehe Beispiel "Test a".
Das Beispiel "Test b" unterscheidet sich lediglich darin, dass der Festwert, der Vergleicher
und Hold in ein Makro gepackt wurde.
Hier ist das Verhalten jedoch gänzlich anders.
Sobald der Focus das Fenster der Seltliste verlassen wird (in dem man z.B. die Tasten T1, oder T2 drückt,
oder in das num. Eigabefeld geht), so ist das Display $DSP1 leer.
Das ist sehr ungünstig. Nun weis man nicht mehr, welcher Wert selektiert wurde.
Was mache ich falsch?
Weiß jemand Abhilfe für dieses Problem?
Herzlichen Gruß an Alle von C mpander.
Anbei ein Projektbeispiel mit der Setliste.
Da die Schrift klein, und nicht skalierbar ist, wurde das Display $DSP1 eingefügt.
Nach Anwahl eines Wertes erscheint dieser auch in dem Display. Und verbleibt dort.
Auch wenn der Focus auf ein anderes Bateil gerichtet wird.
Soweit ist alles wunderbar.
Siehe Beispiel "Test a".
Das Beispiel "Test b" unterscheidet sich lediglich darin, dass der Festwert, der Vergleicher
und Hold in ein Makro gepackt wurde.
Hier ist das Verhalten jedoch gänzlich anders.
Sobald der Focus das Fenster der Seltliste verlassen wird (in dem man z.B. die Tasten T1, oder T2 drückt,
oder in das num. Eigabefeld geht), so ist das Display $DSP1 leer.
Das ist sehr ungünstig. Nun weis man nicht mehr, welcher Wert selektiert wurde.
Was mache ich falsch?
Weiß jemand Abhilfe für dieses Problem?
Herzlichen Gruß an Alle von C mpander.
- Dateianhänge
-
- Test b.prj
- (4.8 KiB) 408-mal heruntergeladen
-
- Test a.prj
- (4.45 KiB) 407-mal heruntergeladen
Re: Seltliste mit Makro. Problem.
Hallo Compander,
der Unterschied sind wohl die zus. Bausteine dazwischen "Makro-Pin".
ABER:
Das es in 'Test A' funktioniert, ist mMn (meiner Meinung nach) eher ein Zufall, da in dem Augenblick, in dem der Fokus 'weg' ist, sowohl der String- als auch der Index-Ausgang sich ändern (IDX=-1, String = ""), wir sind hier wohl im nS Bereich.
Hier fehlt ein Bauteil ... String-Delay (Verzögerung) ...
Bei ähnlichen Problemen im Bereich Analog ist der Baustein Delay(Anzahl System-Takt) die Lösung.
Das digitale Signal des Vergleichers ist dann schneller als die Änderung des Analog-Signals (Strings), somit wird dieser verlässlich im S&H ($HLD) gespeichert.
der Unterschied sind wohl die zus. Bausteine dazwischen "Makro-Pin".
ABER:
Das es in 'Test A' funktioniert, ist mMn (meiner Meinung nach) eher ein Zufall, da in dem Augenblick, in dem der Fokus 'weg' ist, sowohl der String- als auch der Index-Ausgang sich ändern (IDX=-1, String = ""), wir sind hier wohl im nS Bereich.
Hier fehlt ein Bauteil ... String-Delay (Verzögerung) ...
Bei ähnlichen Problemen im Bereich Analog ist der Baustein Delay(Anzahl System-Takt) die Lösung.
Das digitale Signal des Vergleichers ist dann schneller als die Änderung des Analog-Signals (Strings), somit wird dieser verlässlich im S&H ($HLD) gespeichert.
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Seltliste mit Makro. Problem.
Hallo IKT.
Danke für die Antwort und Erklärung.
Leider verstehe ich den Satz nicht.:
"Hier fehlt ein Bauteil ... String-Delay (Verzögerung) ..."
Ist damit meine Schaltung, oder das Fehlen des Bauteiles in der PLE-Bibliothek gemeint?
Herzlichen Gruß von C mpander.
Danke für die Antwort und Erklärung.
Leider verstehe ich den Satz nicht.:
"Hier fehlt ein Bauteil ... String-Delay (Verzögerung) ..."
Ist damit meine Schaltung, oder das Fehlen des Bauteiles in der PLE-Bibliothek gemeint?
Herzlichen Gruß von C mpander.
Re: Seltliste mit Makro. Problem.
Hallo Compander,
$Buffer ist eine mögliche Alternative, wenn IDX = -1 dann $Buffer auslesen.
Genau das ist gemeint, das B-Teil fehlt, müsste es aber geben, für solche Fälle!compander hat geschrieben:... das Fehlen des Bauteiles in der PLE-Bibliothek ...
$Buffer ist eine mögliche Alternative, wenn IDX = -1 dann $Buffer auslesen.
Re: Seltliste mit Makro. Problem.
Hallo IKT. Hallo Abacom.
Ich plädiere ebenfalls für ein neues Bauteil "$Delay".
Zumal mehrere Versuche meinerseits ein solches Bauteil (möglichst einfach) nachzubilden negativ waren.
Herzlichen Gruß an Alle von C mpander.
Ich plädiere ebenfalls für ein neues Bauteil "$Delay".
Zumal mehrere Versuche meinerseits ein solches Bauteil (möglichst einfach) nachzubilden negativ waren.
Herzlichen Gruß an Alle von C mpander.
Re: Seltliste mit Makro. Problem.
Hallo.
Ich habe die Schaltung und das Makro komplett neu gezeichnet.
Nun funktioniert alles.
Siehe Anhang.
Es zeigt sich erneut, daß es oft darauf ankommt, in welcher Reihenfolge eine Schaltung entworfen wird.
Es wäre nützlich, wenn sich Abacom einmal zu dieser Problematik äußern würde.
Worauf man beim Entwurf einer Schaltung unbedingt achten sollte.
Die Notwendigkeit des Bauteiles "$Delay" macht unter diesen Umständen (Beeinflußen einer Reihenfolge) nun erst recht Sinn.
Herzlichen Gruß von C mpander.
Ich habe die Schaltung und das Makro komplett neu gezeichnet.
Nun funktioniert alles.
Siehe Anhang.
Es zeigt sich erneut, daß es oft darauf ankommt, in welcher Reihenfolge eine Schaltung entworfen wird.
Es wäre nützlich, wenn sich Abacom einmal zu dieser Problematik äußern würde.
Worauf man beim Entwurf einer Schaltung unbedingt achten sollte.
Die Notwendigkeit des Bauteiles "$Delay" macht unter diesen Umständen (Beeinflußen einer Reihenfolge) nun erst recht Sinn.
Herzlichen Gruß von C mpander.
- Dateianhänge
-
- Setlist3.zip
- (2.72 KiB) 363-mal heruntergeladen
Re: Seltliste mit Makro. Problem.
@Compander,
schau mal unter Programmierung DLL's:
http://forum.abacom-online.de/viewtopic ... 196#p14196
schau mal unter Programmierung DLL's:
http://forum.abacom-online.de/viewtopic ... 196#p14196
++++++
Gruss/regards IKT
Gruss/regards IKT
Re: Seltliste mit Makro. Problem.
Hallo IKT.
Hallo Interessierte.
Habe geschaut.
Und war wirklich erfreut.
Deine "$Delay.dll" funktioniert super.
Die ursprüngliche Aufgabenstellung war ja, daß die Setlist-Auswertung mit Makro erfolgen soll.
Anbei ein Beispiel, wo nun im Makro deine ".dll" eingebaut ist.
Besten Dank, und Gruß von C mpander.
(langfristig ist das "$Delay-Bauteil" wünschenswert. Mit einstellbaren Systemtakte-Anzahl)
Hallo Interessierte.
Habe geschaut.
Und war wirklich erfreut.
Deine "$Delay.dll" funktioniert super.
Die ursprüngliche Aufgabenstellung war ja, daß die Setlist-Auswertung mit Makro erfolgen soll.
Anbei ein Beispiel, wo nun im Makro deine ".dll" eingebaut ist.
Besten Dank, und Gruß von C mpander.
(langfristig ist das "$Delay-Bauteil" wünschenswert. Mit einstellbaren Systemtakte-Anzahl)
- Dateianhänge
-
- SET4.zip
- (11.59 KiB) 391-mal heruntergeladen
Re: Seltliste mit Makro. Problem.
Hallo zusammen & Compander,
Im Moment ist DLL-Programmierer gezwungen den/die Strings in PUser (bekantlich als Double deklariert) unterzubringen (speichern). Dies hat mehrere Auswirkungen:
- Eng begrenzter Speicher (100 Doubles = 800 Bytes)
- Aufwendiger Code um das "hinzukriegen" (Byte-weises Kopieren, von String/zu String)
- usw.
Desshalb hätte von meiner Seite, eine Version 2, des DLL-Interfaces Vorrang (welche eine andern Ort's beschriebene, weitreichende Ergänzung, der String Unterstützung bieten würde!).
Damit ist folgendes gemeint:
String-Bereich wie PUser, in allen, von PL verwendeten SUB's/Prozeduren vorhanden/ansprechbar und im PL-Projekt gespeichert.
Es wäre grundsätzlich einfach, so etwas zu erstellen, ... wenn, ja wenn ... da NICHT die Einschränkungen bei den Strings in der gegenwertigen Implementation des DLL-Interfaces wären!compander hat geschrieben:langfristig ist das "$Delay-Bauteil" wünschenswert. Mit einstellbaren Systemtakte-Anzahl)
Im Moment ist DLL-Programmierer gezwungen den/die Strings in PUser (bekantlich als Double deklariert) unterzubringen (speichern). Dies hat mehrere Auswirkungen:
- Eng begrenzter Speicher (100 Doubles = 800 Bytes)
- Aufwendiger Code um das "hinzukriegen" (Byte-weises Kopieren, von String/zu String)
- usw.
Desshalb hätte von meiner Seite, eine Version 2, des DLL-Interfaces Vorrang (welche eine andern Ort's beschriebene, weitreichende Ergänzung, der String Unterstützung bieten würde!).
Damit ist folgendes gemeint:
String-Bereich wie PUser, in allen, von PL verwendeten SUB's/Prozeduren vorhanden/ansprechbar und im PL-Projekt gespeichert.
++++++
Gruss/regards IKT
Gruss/regards IKT