Suchergebnisse

Suchergebnisse 1-17 von insgesamt 17.

  • Benutzer-Avatarbild

    In einem anderen jetzt schon sehr langen und unübersichtlichen Thema wird ein Programm von mir bearbeitet. Habe ich ein kleineres Problem mit einem Timer, welches sich getrennt vom Rest besprechen lässt: Die Klasse Testklasse soll ein größeres Programm simulieren in dem drei zeitraubende Aufgaben abgearbeitet werden sollen, ohne dass das Programm hängenbleiben darf: Button 1 Hier wird einfach nur der Timer getestet. Hier funktioniert scheinbar alles. Button 2 Hier wird das größere Programm simul…

  • Benutzer-Avatarbild

    Super. Vielen Dank. Wie funktioniert diese asynchrone Methode und wann werden sie sonst eingesetzt? Was muß beim Einsatz beachtet werden?

  • Benutzer-Avatarbild

    @RdG: In Wirklichkeit werden externe Programme gestartet die ein Messgerät ansteuert und dann muss gewartet werden bis die Messung abgeschlossen ist. Wenn dann eine Zeitspanne (z.B. 1s) verstrichen ist müssen die Messergebnise wieder abgeholt werden, usw. Eine Gesamtmessung über alle Messpunkte und Kurven kann zw. 1 bis 30 Minuten dauern, in dieser Zeit soll der Computer nicht blockiert werden. Der Ansatz von VaporiZed hat mir da sehr geholfen und löst meine Problem - auch wenn ich noch nicht ve…

  • Benutzer-Avatarbild

    >> Wenn das über eine Instanz der Process-Klasse funktioniert, lass Dir doch vom Excited-Event mitteilen, dass die Daten gespeichert und das Messprogramm beendet ist. Kannst du mir bitte ein Beispiel geben. >> Hast Du von diesem Messprogramm die Quellen? Wenn ja, kannst Du doch eine Socket-Verbindung zwischen beiden Programmen aufbauen und sogar die Daten selbst übertragen. Es ist nicht mein Programm. Ich könnte aber den Programierer (USA) fragen. Nur weiß ich nicht die "richtigen" Fragen. Das k…

  • Benutzer-Avatarbild

    Hmmmm. Dann habe ich dich falsch verstanden. Ich dachte, dass du eine andere Lösung vorschlägst, als ich schon verwende... Nur verträgt sich der Excited-Event nicht mit dem Timer-Event. Keine Ahnung warum. Das ist hier die große Frage und deren Antwort würde mich sehr interessieren. Wenn es ein Programmierfehler von mir ist, würde ich ihn sonst auch an andere Stelle fälschlicherweise einbauen . Der asynchrone Timer von VaporiZed löst das Problem eben etwas anders. Was Await Threading.Tasks.Task.…

  • Benutzer-Avatarbild

    Da wart ihr mal wieder fleixig. Über die Veränderungen und die Links von VaporiZed muss ich noch nachdenken. >>Wozu brauchst Du den Timer genau? Zuerst wird mein Messgerät mit den notwendigen Einstellungen versehen und beginnt zu messen. Eine Messung kann z.B. 1 Sekunde dauern. Mir wird aber nicht mitgeteilt, dass die Messung beendet ist. Daher muss ich selbst wissen welche Messdauer ich dem Gerät vorgegen haben und dann entsprechend warten bevor ich die Ergebnisse dann anschließend abrufe. Wenn…

  • Benutzer-Avatarbild

    Das Hilfsprogramm ist erst dann beendet wenn alle Daten in das txt-File geschrieben worden sind. Dieser Vorgang dauert rund drei Sekunden. Eigentlich bringt es keinen Zeitvorteil wenn ich mich in den Datenstrom einklinke, da die Auswertung sehr schnell geht. Es werden 401 Einzeldaten geliefert aus denen ich den Median bilde. Das geht extrem schnell: sortieren und dann das mittlere Element nehmen. Mich stört auch das txt-File nicht, auch wenn sich vielleicht einigen Programmieren bei dieser Zwisc…

  • Benutzer-Avatarbild

    Was spricht gegen prc.EnableRaisingEvents = True und Private Sub prc_exit(sender As Object, e As EventArgs) Handles prc.Exited? Aber unabhängig von meiner vorhergehenden Frage: Wie wird ein FileSystemWatcher richtig eingesetzt? Welchen Vorteil hat dieser Weg? Viel mehr interessiert mich aber der Lösungsansatz aus Beitrag #11. Warum hilft prc.SynchronizingObject = f in Zeile 17?

  • Benutzer-Avatarbild

    @VaporiZed: Vielen Dank für deine Mühe. Hier nun noch eine allgemeine Frage an alle. Wäre eine bessere Herangehensweise ein Backgroundworker wo die Messung und das Warten usw. an einen Hinergrundprozess abgegeben wird der sich erst wieder meldet, wenn er fertig ist? Wozu ratet ihr mir?

  • Benutzer-Avatarbild

    Beitrag #11 (mit prc.SynchronizingObject = f) hat mir schon sehr geholfen. Dann werde ich diesen Weg weiterverfolgen

  • Benutzer-Avatarbild

    >> Hmm - grade eine Prozessteuerung wäre evtl. mit Async doch sehr elegant. Weil das kann man programmieren wie einen sequentiellen Ablauf, also wenn du 10 Programmschritte abzuarbeiten hast, kannste das mit Async einfach in einer Schleife abhandeln, wo man mittm Timer ziemlich rumwerkeln müsste, um die Schleife in eine Art Status-Automaten zu übertragen. Da hat mich EdR auf einen interessanten Weg gebracht. Hier folgt nun meine Umsetzung die ganz gut funktioniert und mir sehr gut gefällt. Ich h…

  • Benutzer-Avatarbild

    Ich habe jetzt auch eine Art Abbruchmöglichkeit geschaffen. Es wird nicht der Task gekillt, sondern nur der Ablaufsteuerung mitgeteilt, dass keine weiteren Schritte mehr ausgeführt werden sollen. Das ist für mich schnell genug und es wäre falsch an dieser Stelle ein neues Fass aufzumachen. Meine Programmierfähigkeitslücken sind an anderer Stelle größer und müssen zuerst dort gestopft werden . Vielleicht sollten wir diesen Beitrag jetzt so langsam auslaufen lassen. Es ist eine Lösung die funktion…

  • Benutzer-Avatarbild

    Mit D:\Programme\KE5FX\GPIB\talk 18 "RL -52dB;RB 10KHZ;VB 10HZ;AT 0DB;CF 1MHZ;SP 0HZ;ST 1000MS" teile ich dem Messgerät mit, welche Einstellungen gewählt werden. So wird das Programm "talk" mit den angegebenen Parametern gesartet und erledigt die Kommunikatin mit dem Messgerät. Das ST 1000MS Bedeute "Sweep Time 1000ms", also interne Messdauer 1 Sekunde. In der kommenen Sekunde wandert der Strahl der Bildröhre vom Messgerät über seinen Bildschirm und ergibt die Messung aus dem Anhang (Bild einer …

  • Benutzer-Avatarbild

    Scheinbar immer noch nicht. Erst nach der Wartezeit von einer Sekunde sieht man auf dem Bildschimt vom Messgerät vollständig korrekt Messwerte. Erst dann beginnt man mit D:\Programme\KE5FX\GPIB\binquery.exe 18 "TDF P TRA?" messdaten.txt abzufragen. Im Laufe dieser Abfrage schreibt Binquery.exe eine neue messdaten.txt und überschreibt die alte Datei ohne Nachfrage. Erst wenn sich binquery.exe selbst beendet hat, ist die Messung beendet. Das funktioniert eigentlich fehlerfrei mit proc.Start() und …

  • Benutzer-Avatarbild

    Die Kommunikation ist recht einseitig. Nur schaue ich nicht auf den Bildschirm und warte auf das Ende der Messung, da mir bekannt ist, dass sie eine Sekunde dauert - ich habe es vorgegeben. Diese Zeit muss ich eben warten, also 1000ms plus 200ms zur Sicherheit = 1200ms. Ich gebe den Befehl zum Auslesen der Messwerte und das Gerät liest Messwerte aus - ob es sinnvoll oder nicht. Dass muss ich irgendwie anders herausbekommen. Bei anderen Messungen in anderen Situationen mag es sinnvoll zu sein die…

  • Benutzer-Avatarbild

    Leider sind wir hier nicht auf einer Wellenlänge. Um ein aktive Warten (timer, sleep, wait,...) komme ich hier nicht herum. Wenn ich die Einstellungen an das Gerät sende und damit die Messung starte werden die Befehle dem Gerät übermittelt und es wird nicht gewartet bis die Messung beendet wird. Es wird nur die Messung angestoßen. Ich habe gerade mal die Messzeit auf 10 Sekunden erhöht und nochmals untersucht, ob es auch anders geht - leider nicht. Das Gerät sendet keine Rückmeldung ab wann es s…

  • Benutzer-Avatarbild

    Danke für den Vorschlag.