Frage

Wir arbeiten mit einigen neuen Cutting Tools, die es Hardware-Parameter geändert über die serielle Schnittstelle statt nur einem Bedienfeld haben kann.

Wenn die Hardware-Parameter verändert werden, die Hardware einige Sekunden dauern wird sich neu zu konfigurieren und das Signal dann, dass sie bereit ist, verwendet werden.

Unser Setup vor diesem beteiligt den Bediener auf einem Cut-Platte oder Teil Befehl klicken. Die Software öffnet einen Dialog der Bediener ändern alles erlaubt, die Bewegung zusammenhängt (Geschwindigkeit, Verzögerungen, usw.) sowie die Anzeige, welche Konfiguration der Hardware in sein sollte. Nachdem der Bediener alles überprüft er auf OK klicken und das Gerät beginnt zu schneiden.

Für die neue Hardware wir die aktuelle Konfiguration herausziehen, wenn es eine Änderung, die wir übertragen und einen Dialog erbrechen zu zeigen, was die neue Konfiguration zusammen mit einem Indikator zeigt, ob die Hardware bereit ist. Nicht alles wird über die serielle Schnittstelle automatisiert, so irgendwann der Dialog dort bleiben muss, bis der Operator auf OK klickt. Andere Zeiten, es kann sich entladen, wenn die Hardwaresignale es richtig ist.

Mein Problem (und Frage) ist, dass diese über die seriellen Ports tut alles sehr langsam ist. Es ist auch das erste Mal, dass wir diese Art von Arbeit zu erledigen. Ich mache mir Sorgen, dass ich eine Lösung fehlt das Ganze mehr ansprechbar zu machen. Es ist keine Option, eine Alternative zu den Serien zu verwenden, wie wir die Schneid Hardware von einem Dritten erworben werden können.

Eine andere Sache, würde ich tun möchte, ist die Möglichkeit, einen Status-Dialog anzuzeigen und zu verlassen, ohne die serielle Kommunikation läuft der Rest des Systems bogging.

Tipps für den Win32-API oder .NET sind das, was ich suche.

War es hilfreich?

Lösung

Es hängt davon ab, wie interaktiv die Steuerung der Maschine ist - können Sie nur einen moveto xy, xy cutto senden oder tun Sie müssen ständig die Maschine überwachen und starten und stoppen Motoren

Wenn die Maschine relativ intelligent ist, dann würde ich es wie ein Plotter behandeln. Erstellen Sie eine Liste von Befehlen in Ihrer gui und sie dann einreichen. Auf diese Weise ist es einfach, die gui unabhängig von der Maschine zu testen.

Sie können auch einen Test-App haben, die die Befehlsliste nimmt und zeichnet es auf einem Bildschirm als Kontrolle vor teure Material zu schneiden. Es könnte sogar möglich sein, die Befehle in so etwas wie HPGL oder SVG zu konvertieren und direkt angezeigt werden.

Andere Tipps

Eine Möglichkeit wäre es, die Kommunikation über serielle Schnittstelle in einem separaten Thread ausgeführt und hat diesen Thread Bericht es Status zurück an den GUI-Thread ist. (Invoke)

Dies ist, wie ich vor kurzem eine HID-Karte klauen System codiert. Ein Thread Aufzeichnungen Karte klaut auf eine Liste. Ein anderer Thread schreibt diese auf ein Datenbanksystem. Jede Berichte an den GUI-Thread.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top