Erstellte Forenantworten
-
AutorBeiträge
-
Keden92Teilnehmer
Hallo Zusammen,
Es handelt sich hierbei nur um die Zeile die die Application „schließt“ wenn eine Logo initial nicht erreichbar ist.
Was evtl. Folgefehler angeht habe ich wie gesagt noch nicht getestet, aber es ist gut möglich das trotzdem alles funktioniert, weil die einzelnen Anfragen richtung Logo alle sehr gut gegen Ausnahmen geschützt sind. (zb. Automatisches wiederverbinden bei Verbindungsabbruch).
Es kann ggf. zu NullPointerEx’s kommen, wenn die LogoConnection Classe nicht richtig initialisiert wurde, aber auch in dem Fall würde sich die Application „einfach schließen“ .. nur mit einem anderen Error im Log.
Ich selber schreib seit ca. 1 Mon an der Application rum, weil mir einige Teile entweder „nicht außreichend Leistungsstark“ ausgeführt waren oder mir noch der ein oder andere Bug über den weg gelaufen ist.
Ich kann das ganze bei gelegheit mal testen. Muss halt nur schauen wann ich dazu komme, weil: Das Problem selber habe ich nicht, weil bei mir immer alle Logo’s laufen.
VG
Keden92TeilnehmerHallo Zusammen,
die Quick & Dirty Lösung:
1.: Ladet euch (für den Privatgebrauch kostenlos) MS Visual Studio 2019 runter.
2.: Ladet euch die LogoControl-source-0.5.2.zip runter.
3.: Öffnet das Projekt „LogoControl“ und löscht die Zeile 109 in der Controller.cs
throw new ApplicationException(errorMsg, ex);
4.: Kompiliert die Application neu und Überschreibt die Alte.exe mit der Neuen.exe
5.: Application Instanz (Oder beim RPi einfach den Kompletten Pi) Neustarten. (Der „Restart LogoControl“ unter Konfiguration reicht NICHT aus!!)
6.: Enjoy 🙂
PS: Ist ungetestet, evtl. können folge-fehler auftreten.
VG Keden92
- Diese Antwort wurde vor vor 4 Jahren, 6 Monaten von Keden92 bearbeitet.
Keden92TeilnehmerHallo,
der 250ms „Impuls“ ist „hart codiert“. Eine Änderung diese intervals wäre zwar in der Theorie möglich, praktisch hängen da ber noch Laufzeite im Ethernet Bereich sowie AccessLocks mit drin die diesen „Impuls“ auch ruhig mal 500ms lang werden lassen können.
Sinnvoller wäre es hier eine Analogwert zu nehmen, diesen auf die Logo zu schreiben und anhand dieses Wertes die Logo die Impuls-Dauer generieren zu lassen.
MfG Keden92
Keden92TeilnehmerHallo, ja es gibt eine Begrenzung
Auszug aus dem Quellcode-Kommentaren:
/// Futher I’m using the multiple reads feature of libnodave, which means reading multiple memory blocks from different locations. This is a great performance improvement,
/// because it enables you to read multipe byte blocks from different addresses accross the whole VM-Memory with just one call. In Numbers: you can read up to 20 different blocks
/// with a maximum of 200 bytes in sum with just one request and you’ll get just one response containing all the blocks. Therefore I implemented a Logic that collects all needed
/// memory addresses, sorts them, and tries to find continously related addresses for grouping them together. So don’t fragment your VM-Memory to much, 20 blocks is the maximum
/// at the moment. Of course if we need more than 20 blocks we could do multiple calls, but that’s not implemented at the moment, because I’m lazy and not too near at the limit 😉Heißt im Umkehrschluss:
Leg deine WORD-Werte zusammen -> Word1 = VM0, Word2 = VM2, Word3 = VM4, etc.. sodass der Lese-Abruf in Richtung Logo sagen kann gib mir bytes 0-X. Könnte Abhilfe schaffen.Da der Admin anscheinend nur noch sehr begrenzt Support betreibt, habe ich angefangen an der Letztesten Version „rum zu codieren“ weil ich das ein oder andere Problem habe. Bin per zufall auf den Kommentar gestoßen. Hoffe es hilft. Über eine kurze Rückmeldung würde ich mich freuen.
MfG Keden92
-
AutorBeiträge