User Tools

Site Tools


benutzeranleitung:com_port

Switch to English Wechseln zu Deutsch Switch to Italian

Mit Hardware-Controllern kommunizieren

Seit Version 2.3/2.4 ist DAVID in der Lage, Kommandos an externe Geräte über einen (virtuellen) COM-Anschluss zu senden oder von dort zu empfangen. Dies ist für die Zusammenarbeit mit einem externen Controller gedacht, der z.B. den Laser mit einem Schrittmotor bewegt und DAVID fernsteuert oder von DAVID gesteuert wird.

Einrichten in DAVID

Öffnen Sie die Erweiterten Einstellungen, navigieren Sie zu CommunicationCOM und setzen Sie den Wert PortName auf den Namen Ihres (virtuellen) COM-Anschlusses, z.B. COM1.

Nachrichten senden

DAVID wird kurze Nachrichten (als Text, d.h. String oder einzelne Zeichen) in bestimmten Situationen senden. Sie können diese zu sendenden Nachrichten in den Erweiterten Einstellungen unter CommunicationCOMMessages definieren.

  • Close: Der hier eingestellte String wird gesendet, wenn DAVID beendet wird.
  • ModeCalib: Wird gesendet, wenn Sie auf die Kalibrierseite wechseln.
  • ModeScan: Wird gesendet, wenn Sie auf die Scan-Seite wechseln und das obere “Kamerabild anzeigen” wählen.
  • ModeTexture: Wird gesendet, wenn Sie die Textur-Aufnahme vorbereiten, d.h. das untere “Kamerabild anzeigen” wählen.
  • Open: Wird gesendet, wenn DAVID gestartet wird.
  • StartScanning: Wird gesendet, wenn Sie auf “Start” klicken, direkt nachdem das Referenzbild aufgenommen wurde, d.h. unmittelbar zu Beginn des Scanvorgangs.
  • StopScanning: Wird gesendet, wenn Sie auf “Stop” klicken.
  • ScanSaved: Wird gesendet, nachdem Sie den Scan als Datei gespeichert oder zu Shapefusion weitergeleitet haben. Dies zeigt an, dass der Scan als abgeschlossen gilt und nun ein neuer Scan beginnen soll.
  • und weitere, siehe Beschreibung im Programm bei den Erweiterten Einstellungen.

Sie können den Wert Newline setzen, wenn Sie möchten, dass DAVID ein bestimmtes Zeichen an jede Nachricht anhängt (z.B. den Bytewert 10 als Line Feedback oder 13 als Carriage Return, usw., siehe ASCII-Tabelle). Hinweis: Diese Einstellung unterscheidet sich von den obigen Parametern! Wenn Sie hier “13” eingeben, wird ein einzelnes Byte (Wert 13) gesendet. Wenn Sie “13” in eine der Messages oben eingeben, wird DAVID zwei Bytes senden: “1” (ASCII Code 49) und “3” (ASCII Code 51). Zusätzlich können Sie in die Nachrichtenstrings “\r” einfügen; jedes \r wird durch das Newline-Zeichen ersetzt.

Als einfache Alternative können Sie den DTR-Pin des COM-Ports als booleschen Ausgang verwenden. Wenn Sie UseDtrDuringScan auf 1 setzen, wird der Pin zu Beginn des Scans auf High und am Ende auf Low gesetzt. Wenn Sie den Wert auf 2 setzen, wird DAVID ein Rechtecksignal an dem Pin ausgeben, das zur Bildaufnahme und -Verarbeitung synchronisiert ist. Sie können z.B. immer dann einen Schritt mit dem Lasermotor ausführen, wenn das Signal auf High wechselt. Hinweis: Das Signal wird auf Low gesetzt wenn DAVID ein neues Bild holt, nicht wenn die Kamera wirklich belichtet wird. Um eine echte Synchronisierung zwischen Laserschritten und Kamerabildern zu erhalten, können Sie eine Verzögerung unter LaserscannerMinDelayBetweenFrames einstellen und den Wert LaserscannerLaserPlaneCalculationLaserMotionEstimationMotionBase auf 2 setzen.

Kommandos empfangen

Um DAVID fernzusteuern, können Sie Kommandos in Form von Strings über den COM-Port an DAVID senden. Dies funktioniert zur Zeit nur auf der Scan-Seite, wenn die Kamera bereits korrekt kalibriert ist. Die Kommandos werden in den Erweiterten Einstellungen unter CommunicationCOMCommands definiert. Details siehe dort. Hinweis: Sie müssen ein Newline (\n oder \r bzw. Byte 10 oder 13) nach jedem Kommando senden!

Außerdem können Sie über den DCD-Pin des COM-Ports Start (High) und Stop(Low) auslösen. Setzen Sie dafür ScanWhenDcdIsHigh auf True.

benutzeranleitung/com_port.txt · Last modified: 2013/07/31 23:29 (external edit)