$Delay

Dieser Bereich ist für den Austausch FERTIGER Makros und allgemein nützlicher Schaltungen vorgesehen.
Antworten
compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

$Delay

Beitrag von compander » Sonntag 24. August 2014, 11:59

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 :shock: mpander.
Dateianhänge
Test b.prj
(4.8 KiB) 391-mal heruntergeladen
Test a.prj
(4.45 KiB) 394-mal heruntergeladen

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Seltliste mit Makro. Problem.

Beitrag von IKT » Freitag 29. August 2014, 12:00

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.
++++++
Gruss/regards IKT

compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Re: Seltliste mit Makro. Problem.

Beitrag von compander » Freitag 29. August 2014, 12:57

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 :shock: mpander.

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Seltliste mit Makro. Problem.

Beitrag von IKT » Freitag 29. August 2014, 15:54

Hallo Compander,
compander hat geschrieben:... das Fehlen des Bauteiles in der PLE-Bibliothek ...
Genau das ist gemeint, das B-Teil fehlt, müsste es aber geben, für solche Fälle!

$Buffer ist eine mögliche Alternative, wenn IDX = -1 dann $Buffer auslesen.

compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Re: Seltliste mit Makro. Problem.

Beitrag von compander » Samstag 30. August 2014, 10:09

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 :shock: mpander.

compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Re: Seltliste mit Makro. Problem.

Beitrag von compander » Samstag 30. August 2014, 12:11

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 :shock: mpander.
Dateianhänge
Setlist3.zip
(2.72 KiB) 344-mal heruntergeladen

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Seltliste mit Makro. Problem.

Beitrag von IKT » Samstag 30. August 2014, 13:40

@Compander,

schau mal unter Programmierung DLL's:
http://forum.abacom-online.de/viewtopic ... 196#p14196
++++++
Gruss/regards IKT

compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Re: Seltliste mit Makro. Problem.

Beitrag von compander » Samstag 30. August 2014, 15:32

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 :shock: mpander.

(langfristig ist das "$Delay-Bauteil" wünschenswert. Mit einstellbaren Systemtakte-Anzahl)
Dateianhänge
SET4.zip
(11.59 KiB) 372-mal heruntergeladen

IKT
Beiträge: 554
Registriert: Mittwoch 4. November 2009, 18:32

Re: Seltliste mit Makro. Problem.

Beitrag von IKT » Samstag 30. August 2014, 16:46

Hallo zusammen & Compander,
compander hat geschrieben:langfristig ist das "$Delay-Bauteil" wünschenswert. Mit einstellbaren Systemtakte-Anzahl)
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!
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

Antworten

Zurück zu „Makros & Schaltungen“