User Tools

Site Tools


manuale_utente:controller_hardware

Switch to English Wechseln zu Deutsch Switch to Italian

Comunicazione con controlli hardware

Dalla versione 2.3/2.4, DAVID consente di inviare/ricevere comandi verso/da dispositivi esterni, usando la porta virtuale COM. Ad esempio sarà possibile muovere il laser avvalendosi di un sistema di controllo di un motore passo passo o eseguire delle funzioni di DAVID da un controller esterno.

Attivare questa funzione in DAVID

Aprire la finestra dei Parametri avanzati, andare al menù CommunicationCOM e impostare il valore PortName in relazione alla porta virtuale COM scelta, ad esempio COM1.

Inviare comandi

DAVID invierà messaggi di comandi (in forma di testo - frasi o singoli caratteri) in alcune situazioni. E' possibile definire quali comandi inviare nei Parametri Avanzati, nel menù CommunicationCOMMessages.

  • Close: il comando viene inviato quando DAVID verrà chiuso.
  • ModeCalib: viene inviato quando si opera nella finestra di calibrazione.
  • ModeScan: viene inviato quando si opera nella finestra di scansione e si sceglie la modalità “Mostra video” nell'area “Iniziare scansione”.
  • ModeTexture: viene inviato quando ci si prepara ad acquisire una texture (quando si sceglie “Mostra video” nell'area “Acquisisci texture”).
  • Open: viene inviato quando si avvia DAVID.
  • StartScanning: viene inviato quando si clicca il pulsante “Avvia”, dopo aver acquisito l'Immagine di riferimento, immediatamente prima di far partire la scansione.
  • StopScanning: viene inviato alla pressione del tasto “Stop”.
  • ScanSaved: viene inviato dopo aver salvato una scansione o averla inviata a ShapeFusion (come messaggio che la scansione è completata e che una nuova è pronta per essere eseguita).
  • per ulteriori comandi e specifiche, vedere le descrizioni dei singoli comandi in Parametri Avanzati.

E' possibile settare il parametro Newline se si vuole aggiungere un particolare carattere a ogni messaggio (ad esempio: valore Byte 10 per Line Feedback, 13 per Carriage Return, etc.). Nota bene: questa impostazione è differente dal precedente parametro “Message”. Quando, ad esempio, si inserisce il parametro “13”, DAVID aggiunge un singolo byte (valore 13). Quando, invece, si aggiunge il valore “13” con il comando Message, DAVID invia due bytes: “1” (codice ASCII 49) e “3” (codice ASCII 51). Inoltre si può includere, nella sequenza Message, il valore “\r”; ogni \r sarà rimpiazzato da un carattere “newline”.

Un'alternativa può essere usare il comando pin DTR come operatore booleano. Se si configura UseDtrDuringScan su 1, DAVID attiverà il pin “alto” quando si scannerizza e “basso” quando la scansione viene interrotta. Se si configura il valore su 2, DAVID invierà un segnale sincronizzato all'acquisizione video della telecamera e conseguente analisi delle immagini. Ad esempio si puo attivare uno step del motore passo passo ad ogni segnale di ricezione video. Si noti che che quando il pin si configura come “basso” è quando DAVID acquisisce l'ultima immagine e non quando il sensore della telecamera è esposto. Per sincronizzare i movimenti del laser e le immagini acquisite dalla telecamera, dovreste impostare un ritardo LaserscannerMinDelayBetweenFrames e configurare LaserscannerLaserPlaneCalculationLaserMotionEstimationMotionBase su 2.

Ricevere comandi

Per controllare DAVID da un dispositivo remoto, è possibile inviare al software sequenze di comandi. Questa funzione è attiva solo nella pagina di scansione, quando la telecamera è già stata calibrata! I comandi sono specificati in Parametri avanzati alla voce CommunicationCOMCommands. Avvalersi delle descrizioni di ciascun comando. Nota bene: Bisogna specificare una newline (\n o \r, resp. byte 10 o 13) dopo ogni comando!

Inoltre se si definisce il comando ScanWhenDcdIsHigh su True, DAVID comincerà a scannerizzare quando riceverà un segnale positivo dal DCD pin e si interropmperà quando questo diverrà negativo.

manuale_utente/controller_hardware.txt · Last modified: 2014/06/06 18:38 (external edit)