Funktionserweiterung beim Soundmodul

Wir nehmen gerne Ihre Ideen, Vorschläge, Meinungen entgegen. (Beiträge werden von uns gelesen, aber nicht beantwortet.)
compander
Beiträge: 657
Registriert: Dienstag 14. Oktober 2008, 17:06
Wohnort: Markt Schwaben

Funktionserweiterung beim Soundmodul

Beitrag von compander » Freitag 5. Dezember 2008, 22:49

Hallo Abacom. Hallo Freunde.

Ein starkes Bauelement ist das Soundmodul. Ich nutze diese Ausgabe bei Grenzwertunter-/überschreitungen.
Da es Anwendungen gibt, wo auch (fast) zeitgleich solche Zustände vorkommen können, gibt es bei Einsatz mehrerer Module ein gewisses Chaos. Da es keine Koordination gibt.
Beispiel: an 4 Soundmodule ist jeweils ein Taster angeschlossen.
Nehmen wir an, dass jedes Soundelement 10 Sekunden dauert.
1. Die erste Taste symbolisiert das erste Ereignis. Die fallende Flanke löst die erste Wav-Ausgabe aus.
Die zweite Taste symbolisiert das zweite Ereignis. Wird diese kurz nach der ersten Taste gedrückt und ausgelassen, so wird die erste Waw-Ausgabe nicht zu Ende gespielt.
Sondern abgebrochen. Es gewinnt immer die zuletzt ausgelöste Taste.
2. Zu einem bestimmten Zeitpunkt kann es in einer Schaltung vorkommen, dass ein bestimmtes Ereignis die größte Wichtigkeit hat. Dieses Ereignis muss Vorrang vor allen anderen haben.

Ich stelle mir vor, dass das Soundmodul je einen (weiteren) Eingang und einen Ausgang bekommt.
Man verbindet jeweils den Ausgang mit dem nächsten Eingang..... (damit alle Soundmodule Kenntnis bekommen von:)
Das Soundmodul bekommt unter "Eigenschaften" die Funktionalität "Priorität" (von 0 = ausgeschaltet bis 99 = höchste Priorität).
Bem.: bis Priorität 50 wird eine aktive Waw-Datei immer ausgespielt. Ab Priorität 51 wird eine gerade aktive Wav-Datei abgebrochen, und die neue abgespielt.

Will man das derzeitige Soundmodul nicht abändern, so könnte man einen anderen Weg beschreiten.
Es gibt künftig ein neues Bauteil.
Diese hat mehrere Eingänge und Ausgänge. An den Ausgängen werden die derzeitigen Soundmodule angeschlossen.
An den Eingängen werden Logikpegel angeschlossen, die die Sounds auslösen sollen.
In "Eigenschaft" des Bauteiles werden die schon erwähnten Prioritäten eingetragen.


Herzlichen Gruß an Alle vom C :shock: mpander.

thcweb
Beiträge: 136
Registriert: Dienstag 14. Oktober 2008, 22:59

Re: Funktionserweiterung beim Soundmodul

Beitrag von thcweb » Samstag 6. Dezember 2008, 08:57

Hallo Compander,

das sollte doch auch jetzt schon möglich sein, halt nur mit einem größeren Aufwand. Du mußt einfach Verhindern das die fallende Flanke an das Soundmodul kommt, und erst nach Ablauf eines anderen Soundmodules die fallende Flanke weitergegeben wird.

:-) Happy Weekend

Thomas

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Samstag 6. Dezember 2008, 11:58

Hallo Thomas.
Danke für deine Hinweise. Ich fürchte, dass ist nicht so einfach.
Die fallende Flanke löst ja nur die Aktion aus.
Meine Soundausgaben haben ganz verschiedene Längen. Ich kenne keine Möglichkeit, wo das Ende der Ausgabe (automatisch) erkannt wird.
Könntest Du ein Beispiel konstruieren, wo Du deinen Beitrag praktisch belegen kannst?
Vielleicht habe ich da einen Denkfehler drinnen.
Abschließend möchte ich noch einmal betonen, dass mir daran gelegen ist, dass man nicht mit einem hohen Aufwand die beschriebene Funktionalität dann "doch noch irgenwie" erreicht, sondern dass ein einfacher User (wie ich) ein komfortables Bauteil einsetzen kann.
Herzlichen Gruß vom C :shock: mpander.

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Funktionserweiterung beim Soundmodul

Beitrag von KAKTUS » Montag 8. Dezember 2008, 08:57

Das was Compander schreibt macht schon Sinn. Ich hatte das Problem auch schon.
Ich wollte zu einem Projekt eine komfortable Sprachausgabe hinzufügen. Das geht mit dem Soundmodul problemlos, jedoch sollte die nächste Sprachansage erst ertönen nach dem Ende der vorherigen, und das geht nur mit riesigem Aufwand. Auch wollte ich keine Ansagen abwürgen, und eine angemessene Pause zwischen zwei Ansagen sollte auch noch sein. Ich muss bei jeder Ansage die Abspielzeit in eine Verriegelungsschaltung eintragen. Gleichzeitig muss die Schaltung Aufrufe weiterer Ansagen sich merken. Habs dann sein gelassen, war zuviel Aufwand und mir lief die Zeit davon, denn ich hatte zu dem Zeitpunkt noch andere Probleme.
Abschließend möchte ich noch einmal betonen, dass mir daran gelegen ist, dass man nicht mit einem hohen Aufwand die beschriebene Funktionalität dann "doch noch irgenwie" erreicht, sondern dass ein einfacher User (wie ich) ein komfortables Bauteil einsetzen kann.
Ganz meiner Meinung. Das betrifft auch andere Bereiche.

Vielleicht sieht Abacom eine Möglichkeit aus dem Soundmodul einen Ausgang herauszuführen der anzeigt ob die Wav Datei noch abspielt oder beendet ist (High/Low)?

Den Rest könnte eine ausgeklügeltes Makro lösen, was ich jetzt aber auch nicht aus dem Ärmel schüttel kann.
bis Priorität 50 wird eine aktive Waw-Datei immer ausgespielt.
Lösungsvorschlag: Auswerten des H/L Ausgangs
Ab Priorität 51 wird eine gerade aktive Wav-Datei abgebrochen, und die neue abgespielt.
Lösungsvorschlag: Ausgang H/L nicht auswerten ( so wie bisher )

Die Priorität müsste man im Makro lösen.

Aber ohne Ausgang am Soundmodul ist diese Probelmatik nicht sauber lösbar.
Ich wiederhole mich :cry: siehe viewtopic.php?f=26&t=845

Mal ehrlich: Ein fertiges Bauteil in PL wäre ja sehr nett, aber Anbetracht der vielen Anregungen in der letzten Zeit, sollten wir uns nicht überschaubare, kleiner Verbesserungen wünschen, mit Chance auf eine Umsetzung?
stachlige Grüße, Kaktus

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von abacom » Montag 8. Dezember 2008, 10:22

Das ist unserer Meinung ein relativ 'individuelles' Steuerungsproblem, das sich mit dem Entwurf einer entspechenden Ansteuerungslogik sicherlich lösen lässt. Dass sich z.B. eine Sounddatei nicht selbst 'abwürgt', lässt sich leicht mit einem - nicht retriggerbaren - MonoFlop lösen, dessen Zeitkonstante auf die Spielzeit des WAV-Files eingestellt wird. Eine gegenseitige Verriegelung könnte man z.B. mit D-FlipFlops angehen. Für noch komplexere Anforderungen wäre dann vielleicht noch die Programmierung einer eigenen DLL anzuraten.
ABACOM support

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Donnerstag 18. November 2010, 18:13

Hallo Abacom. Hallo Freunde.

Mehrere Vesuche meine gewünschten Anforderungen führen selbst nach so einer langen Zeit bei mir nicht zum Erfolg.
Denke, nur ein neues Soundmodul mit einem Ausgang für "Ende der .wav-Datei ist erreicht" ist die konsequente und saubere Lösung des Problemes.

Bitte immer daran denken, dass eine beliebig lange Soundausgabe zuende gespielt werden soll.
Und optional eine andere Sounddatei alle anderen gerade gespielten Ausgaben unterbricht. Dies soll ausdrücklich von den bereits beschriebenen Priorität(en) abhängen.....

@Abacom: sehen Sie heute eventuell die Notwendigkeit für ein solches neues Bauteil anders, als vor etwa 2 Jahren?
@ Freunde: hat jemand eine Idee/Lösung, wie man die Anforderungen schon heute lösen kann?

Herzlichen Gruß vom C :shock: mpander.

JenserT
Beiträge: 56
Registriert: Mittwoch 15. Oktober 2008, 20:06
Wohnort: Markkleeberg

Re: Funktionserweiterung beim Soundmodul

Beitrag von JenserT » Donnerstag 18. November 2010, 23:29

Hallo Compander,

wäre Dein Problem vielleicht mit dem Bauteil Medienwiedergabe lösbar?
Dort gibt es einen Ausgang, der die Abspielposition wiedergibt, damit könnte man das Ende der Datei erkennen.
Und es gibt einen Stop-Eingang, mit dem man das Abspielen beim Auftreten einer höheren Priorität beenden kann.
Nur die Prioritätslogik selbst müsste man noch mit einzelnen Logikbauteilen aufbauen.

Viele Grüsse
Jens.

GP Helli
Beiträge: 58
Registriert: Donnerstag 12. März 2009, 21:21
Wohnort: Graz

Re: Funktionserweiterung beim Soundmodul

Beitrag von GP Helli » Freitag 19. November 2010, 09:58

Hallo aus Graz!
Das Bauteil "Medienwiedergabe" hat den Nachteil, dass er eine Menge Rechenpower braucht!

Auch ich würde eine Modifikation des Sound-Bauteils sehr begrüßen:
(wenn möglich "von aussen" Einstellbar)
1x spielen (one shot)
Schleife spielen (loop)
Run/stop indikator (digital out)

stop /reset
%Laufzeitanzeige
Level

LG
GP Helli
Habt´s a schöne Zeit!

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von abacom » Montag 22. November 2010, 08:56

@GP Heli: Daran ist leider nicht zu denken. Programmtechnisch ist das Abspielen des WAV im Soundmodul ein
WIN-API-Aufruf, der keine derartigen Möglichkeiten bietet. Einmal gestartet übernimmt Window die Kontrolle.
Nur per Medienwiedergabe sind die gewünschten Funktionen implementierbar. und zum Teil ja auch schon vorhanden.
ABACOM support

GP Helli
Beiträge: 58
Registriert: Donnerstag 12. März 2009, 21:21
Wohnort: Graz

Re: Funktionserweiterung beim Soundmodul

Beitrag von GP Helli » Montag 22. November 2010, 18:52

OK Danke!
um eine .wav Datei zu stoppen werde ich auch weiterhin ein "stop.wav" verwenden
(einfach: eine .wav Datei 1sec mit Stille )

Gruß aus Graz
GP Helli
Habt´s a schöne Zeit!

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Dienstag 23. November 2010, 20:56

Hallo Abacom.


So. Nun bin auch ich frustriert :!:
Sauer.



Ohne einen Ausgang, der das Ende des/der Waw-Files detektiert, wird ein gezieltes/geordnetes/gar priorisiertes Abspielen von Waw-Dateien auch künftig nicht möglich sein.
Ohne eine Rückmeldung wird man wohl auch keine geeignete Steuerschaltung realisieren können. (siehe Definitionen im ersten Beitrag)

Ist es alternativ nicht möglich, das Dateiende unter Nutzung weiterer Sachverhalte (z.B.: Dateigröße, unter Berücksichtigung desen Audioformates, o.ä) zu erkennen?



Hallo Freunde.
Ich würde mich freuen, wenn ein Mitglied mich mit einer derzeit machbaren Lösung eines Besseren belehren kann.
Mit Sound-Dateien, die unterschiedliche "Länge" haben! Vielleicht auch gleich das Prioritäten-Problem mit anpacken.
Davor habe ich echt Respekt!!!
(Bedauere. Mein Prio-Baustein für digitale Signale (!) ist leider nicht so toll)

Hallo Jens.
"Nur die Prioritätslogik selbst müsste man noch mit einzelnen Logikbauteilen aufbauen"
Leicht ausgesprochen. Schwer zu realisieren............. Bist Du wirklich anderer Meinung? Ich bitte dann um eine Beispiellösung.

Hallo Helli.
Das mache ich gelegentlich auch so. Und dann wird das höher priorisierte File abgespielt.
Unelegant? Dies ist brachiale Gewalt!!! Empfinde ich. Leider.
Führt leider auch nicht zu der ursprünglich angestebten Problemlösung.
Ich danke dir dennoch herzlich für deinen Vorschlag.
Schon deshalb, da dieses Thema wohl kaum jemanden interessiert.......

Gruß vom C :shock: mpander.

KAKTUS
Beiträge: 651
Registriert: Samstag 18. Oktober 2008, 21:12

Re: Funktionserweiterung beim Soundmodul

Beitrag von KAKTUS » Mittwoch 24. November 2010, 12:04

Abacom schrieb
Nur per Medienwiedergabe sind die gewünschten Funktionen implementierbar. und zum Teil ja auch schon vorhanden.
Hi Compander,

schau dir den Medienplayer mal genau an. Ich hab da auch geschlafen und bis jetzt nicht geschnallt das der ja auch wunderbar .wav Files abspielt. Man hat eine Ende Erkennung, hat Start Stop Reset und kann ab einer bestimmten Position abspielen lassen.

Da wiederspricht sich Abacom selbst etwas.
Programmtechnisch ist das Abspielen des WAV im Soundmodul ein
WIN-API-Aufruf, der keine derartigen Möglichkeiten bietet. Einmal gestartet übernimmt Window die Kontrolle.
den in der Medienwiederabe wurde es ja bereits umgesetzt.

Man könnte sich jetzt theoretisch ein großes Wav mit allen Texten bauen z.B. mit http://audacity.sourceforge.net/?lang=de und könnte mit dem POS Eingang das Wort wählen was gesprochen werden soll, und mit POS Ausgang das Wort Ende auswerten. Das heißt über Multiplexer auf den Pos Eingang den Startwert, auf den Ausgang für den Analogvergleicher der die Wiedergabe stoppt den Stopp Wert !?

Oder halt für für jedes Wort einen Medienplayer.
Jetzt stört auf der Frontplatte nur noch das Anzeigefeld vom Medienplayer, was ja bei Audiofiles keinerlei Funktion hat.
stachlige Grüße, Kaktus

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Samstag 27. November 2010, 05:16

Hallo Kaktus.

Ich bin begeistert über deinen Optimismus.
Offensichtlich gelingt es dir mühelos und "schnell" mittels POS eine bestimmte Stelle exakt anzufahren.
Ebenso offensichtlich das exakte Ende eines Wortes.
Bei mir ist das Gegenteil der Fall.
Selbst wenn ich den Schieberegler hochauflösend, und über die gesamte Bildschirmbreite darstelle. Die Stufung ist einfach immer noch viel zu grob.
Präziser geht es mit num. Eingabefeldern. Allerdings ist der Zeitaufwand zur Positionierung jedoch noch einmal höher.
Übrigens: das Anzeigefenster des Mediaplayers würde mich nicht stören, wenn dort die (zoombare) Hüllkurve des Audios zu sehen wäre.
Allerdings reden wir nun fast schon von einem Audioeditor....................

Apropos reden:
Das Thema: "Funktionserweiterung beim Soundmodul" bezog sich absichtlich auf das Wort "Soundmodul".
Mit einem Audioeditor werden "Wavs" erstellt. Anfang und Ende nach Wunsch und exakt festgelegt. Geht sehr schnell.
Auch hier wäre es (jedenfalls theoretisch) denkbar, über aneinanderfügen von Worten eine "künstliche" Sprache zu entwickeln.



Hallo Abacom.

............. wenn das Soundmodul einen Ausgang (für "File-Ende") hätte....................

Leider kann ich auch nicht nachvollziehen, wieso der Mediaplayer mittels POS einen Ausgang hat, und das Soundmodul (leider) nicht.



Herzlichen Gruß vom C :shock: mpander.

- chris -
Beiträge: 29
Registriert: Sonntag 22. August 2010, 16:24

Re: Funktionserweiterung beim Soundmodul

Beitrag von - chris - » Samstag 27. November 2010, 21:46

Hab mal ein eigenes Soundmodul programmiert.

Der Ausgang PLAY bleibt so lange auf High,
bis das Ende der wav Datei erreicht wird.
sound01.zip
(201.48 KiB) 344-mal heruntergeladen
Windows 7 64bit Ultimate

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Samstag 27. November 2010, 22:37

Hallo chris.

Das sieht verdammt gut aus !
Dafür besten Dank.

(Lediglich die Notwendigkeit der Ausgänge INIT und NR habe ich bisher nicht begriffen.
Kannst Du dies ein wenig erläutern ?)

Gruß von C :shock: mpander.

GP Helli
Beiträge: 58
Registriert: Donnerstag 12. März 2009, 21:21
Wohnort: Graz

Re: Funktionserweiterung beim Soundmodul

Beitrag von GP Helli » Sonntag 28. November 2010, 08:40

SUPER!!!!!!!!!!

liebe Grüße aus Graz
GP Helli
Habt´s a schöne Zeit!

- chris -
Beiträge: 29
Registriert: Sonntag 22. August 2010, 16:24

Re: Funktionserweiterung beim Soundmodul

Beitrag von - chris - » Sonntag 28. November 2010, 15:42

DLL: sound01.dll

----------------

Eingänge:

PLAY: Beim Übergang von LOW nach HIGH wird die Sounddatei abgespielt.

$FILE: Name der Sounddatei (mit oder ohne Pfadname).

Ausgänge:

INIT: Bei erfolgreichen initialisieren der Sound-Programmierumgebung HIGH-Signal.

PLAY: HIGH-Signal während der Soundausgabe.

NR: Nummer des DLL-Bauteils im Projekt.
Windows 7 64bit Ultimate

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Freitag 10. Dezember 2010, 05:02

Hallo Chris.

Das funktioniert alles sehr gut. Nochmals: Danke.


Hallo Abacom.

Natürlich würde ich mich freuen, wenn die bisher vorgeschlagene Funktionserweiterung des Soundmoduls auch in PLE realisiert werden könnte.

Neues Detail:

Das Soundmodul akzeptiert ja nur "Wav"-Dateien.

Diese sind qualitativ sehr gut.
Allerdings sind sie auch sehr groß. I.d.R ein Vielfaches einer Projektdatei.

Weit verbreitet ist ja heutzutage das "mp3"-Format.
Der "Größenvergleichsfaktor" beträgt immerhin 10.

Kann man künftig darauf hoffen, dass man dies optional einstellen kann?

Herzlichen Gruß vom C :shock: mpander.

- chris -
Beiträge: 29
Registriert: Sonntag 22. August 2010, 16:24

Re: Funktionserweiterung beim Soundmodul

Beitrag von - chris - » Freitag 10. Dezember 2010, 20:40

DLL: sound02.dll

wav, mp3 und mid können abgespielt werden.

----------------

Eingänge:

PLAY: Beim Übergang von LOW nach HIGH wird die Sounddatei abgespielt.

STOP: Beim Übergang von LOW nach HIGH wird die Sounddatei gestopt.

$FILE: Name der Sounddatei (mit oder ohne Pfadname).

Ausgänge:

INIT: Bei erfolgreichen initialisieren der Sound-Programmierumgebung HIGH-Signal.

PLAY: HIGH-Signal während der Soundausgabe.

NR: Nummer des DLL-Bauteils im Projekt.
sound02.zip
(13.8 KiB) 308-mal heruntergeladen
Windows 7 64bit Ultimate

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

Re: Funktionserweiterung beim Soundmodul

Beitrag von compander » Freitag 10. Dezember 2010, 21:11

Hallo chris.

Kann es sein, dass Du bei der DLL noch eine klitzekleine Unzulänglichkeit drinnen hast?
Für T2 und T4 fehlt jeweils ein DLL-Eingang/Anschluß. Funktioniert bei mir derzeit leider noch nicht.
Mache bitte einen Kontrolldownload. Zum Nachvollziehen.

Ansonsten freue ich mich über deine extrem rasche Antwort/Lösungsvorschlag. Echt!

Herzlichen Gruß von C :shock: mpander.

Antworten

Zurück zu „Thema: Anregungen zu ProfiLab“