Comandi Viscont Pro
(vers. ottobre 2007)

Carica da file e metti pronto il progetto

LoadPrj, nomeProgetto 
LP, nomeProgetto 

nomeProgetto è il nome del file che si trova nella cartella progetti senza estensione.

Restituisce :

GP, nomeProgetto , nomeProgramma_1, ..., nomeProgramma_n
Errore, descrizione errore 

nomeProgramma_..  sono in sequenza  da 1 a n i nomi dei programmi contenuti nel progetto .

descrizione errore  è la descrizione dell'errore nella comunicazione.

Restituisce il nome di un progetto

GetNumPrj , numeroProgetto 
GNPRJ, numeroProgetto 

numeroProgetto è il numero del progetto di cui si vuole sapere il nome.

Restituisce :

GNPRJ, numeroProgetto , nomeProgetto
Errore , numeroProgetto ,descrizione errore 

nomeProgetto  nome del progetto richiesto.

descrizione errore  è la descrizione dell'errore.

Dimmi stato del progetto attivo

StatoPrj 
GP 

Restituisce lo stato del progetto attivo :

GP, nomeProgetto , nomeProgramma_1, ..., nomeProgramma_n
Errore , nomeProgetto ,descrizione errore 

nomeProgetto è il nome del file che si trova nella cartella progetti senza estensione.
nomeProgramma_..  sono in sequenza  da 1 a n i nomi dei programmi contenuti nel progetto.

descrizione errore  è la descrizione dell'errore avvenuto nella comunicazione.

Salva il progetto attivo con nome
SavePrj [, nuovoProgetto ]
SP [, nuovoProgetto ]

nuovoProgetto è il nome del file senza estensione con cui salvare nella cartella progetti; se manca il nome è quello del progetto attivo.

Restituisce lo stato del progetto attivo :

GP, nomeProgetto , nomeProgramma_1, ..., nomeProgramma_n
Errore , nomeProgetto ,descrizione errore 

nomeProgramma_..  sono in sequenza  da 1 a n i nomi dei programmi contenuti nel progetto .

descrizione errore  è la descrizione dell'errore avvenuto nella comunicazione.

Esegui il programma

Esegui , nomeProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]
E , nomeProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]

EseguiN , indiceProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]
EN , indiceProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]

nomeProgramma è il nome del programma  da eseguire caricato nel progetto
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma  da eseguire.
byteSincronismi  setta le richieste sincronismo prima di acquisire da telecamera specificata in base al bit. (da definire...) normalmente  tutti a 0 (false).

		bit 0 (H01) : se = 1 (vero)  ripristina attesa dopo aver acquisito da Camxx
		bit 1 (H02) : se = 1 (vero)   richiede risposta dopo acquisizione da  Camxx 
		bit 2 (H04) :...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 3 (H08) : ...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 4 (H10) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam0
		bit 5 (H20) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam1
		bit 6 (H40) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam2
		bit 7 (H80) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam3

modoEsito specifica del tipo di esito che si vuole ottenere; se non specificato il modo è vuoto.

		RispostaEsitoVuota = 0
  		RispostaEsitoListaCodiciScarto = 1
    		RispostaEsitoQuote = 2
   		RispostaEsitoStandard = 3
		RispostaEsitoNomeQuote = 4

modoGrafica  specifica del tipo di esito che si vuole ottenere; se non specificato il modo è quello definito nel ToolSetup di Viscont Pro altrimenti in Or fra il modo di visualizzazione del Pannello Progetto e del PannelloDisplay come segue:

		modoGrafica 	definito nel ToolSetup di Viscont Pro  = 0
		modoGrafica	Pannello Progetto visibile normale = 1
		modoGrafica	Pannello Progetto in icona = 2
		modoGrafica	Pannello Dispaly visibile normale = 4
		modoGrafica 	Pannello Dispaly in icona = 8
		modoGrafica	Pannello Dispaly visibile Massimizza = 16 

Restituisce subito lo stato del programma senza attendere la fine esecuzione:

S, nomeProgramma , byteStato , flagSincronismi , strEsito , strErrore
SN, indiceProgramma , byteStato , flagSincronismi , strEsito , strErrore

Errore , nomeProgetto ,descrizione errore 

byteStato byte di stato del programma specificato di cui se = 1 (vero):

		bit 0 (H01) : in Ciclo. strEsito ed strErrore senza significato
		bit 1 (H02) : in Errore specificato nella  stringa strErrore
		bit 2 (H04) : OK, valido se non in ciclo report esito in stringa strEsito 
		bit 3 (H08) : in Attesa di Sincronismi specificati in byteSincronismi
		bit 4 (H10) : Acquisito da Cam0
		bit 5 (H20) : Acquisito da Cam1
		bit 6 (H40) : Acquisito da Cam2
		bit 7 (H80) : Acquisito da Cam3

flagSincronismi flag di specifica dello stato di attesa  se = 1 (vero):

		bit 0 (H01) : riattesa per acquisire da Camxx
		bit 1 (H02) : risponde dopo aver acquisito da Camxx
		bit 2 (H04) :...definito nel programma mediante comando AttesaSincronismi
		bit 3 (H08) : ...definito nel programma mediante comando AttesaSincronismi
		bit 4 (H10) : attesa per Acquisire da Cam0
		bit 5 (H20) : attesa per Acquisire da Cam1
		bit 6 (H40) : attesa per Acquisire da Cam2
		bit 7 (H80) : attesa per Acquisire da Cam3
		...
		bit n (Hxx) : ...definito nel programma mediante comando AttesaSincronismi

strEsito è la striga valida se bit0 = 0 nello stato contenete il report compilato in base al 
		modoEsito settato.

strErrore è la striga valida se bit1 dello stato è = 1 con la descrizione dell'errore 
		avvenuto nell'esecuzione del programma. Normalmente vuota.

descrizione errore  è la descrizione dell'errore avvenuto nella comunicazione.

Stato di un programma

Stato , nomeProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]
S , nomeProgramma [,byteSincronismi ][,modoEsito] [,modoGrafica]

StatoN , indiceProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]
SN , indiceProgramma [,byteSincronismi ] [,modoEsito] [,modoGrafica]

nomeProgramma è il nome del programma  da eseguire caricato nel progetto
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma  da eseguire.
byteSincronismi  setta le richieste sincronismo prima di acquisire da telecamera specificata in base al bit. (da definire...) normalmente  tutti a 0 (false)

		bit 0 (H01) : se = 1 (vero)  ripristina attesa dopo aver acquisito da Camxx
		bit 1 (H02) : se = 1 (vero)   richiede risposta dopo acquisizione da  Camxx 
		bit 2 (H04) :...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 3 (H08) : ...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 4 (H10) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam0
		bit 5 (H20) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam1
		bit 6 (H40) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam2
		bit 7 (H80) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam3

modoEsito specifica del tipo di esito che si vuole ottenere; se non specificato il modo è vuoto.

		 strEsito Vuota = 0
   		 strEsito ListaCodiciScarto = 1
    		 strEsito Quote = 2
   		 strEsito Standard = 3 (come visualizzata nel pannello esiti definito nel 
			ToolSetup di Viscont Pro )

modoGrafica  specifica del tipo di esito che si vuole ottenere; se non specificato il modo è quello definito nel ToolSetup di Viscont Pro altrimenti in Or fra il modo di visualizzazione del Pannello Progetto e del PannelloDisplay come segue:

		modoGrafica 	definito nel ToolSetup di Viscont Pro  = 0
		modoGrafica	Pannello Progetto visibile normale = 1
		modoGrafica	Pannello Progetto in icona = 2
		modoGrafica	Pannello Dispaly visibile normale = 4
		modoGrafica 	Pannello Dispaly in icona = 8
		modoGrafica	Pannello Dispaly visibile Massimizza = 16 

Restituisce lo stato del programma (permette di settare i sincronismi):

S, nomeProgramma , byteStato , flagSincronismi , strEsito , strErrore
SN, indiceProgramma , byteStato , flagSincronismi , strEsito , strErrore

Errore , nomeProgetto ,descrizione errore 

byteStato byte di stato del programma specificato di cui se = 1 (vero):

		bit 0 (H01) : in Ciclo. strEsito ed strErrore senza significato
		bit 1 (H02) : in Errore specificato nella  stringa strErrore
		bit 2 (H04) : OK, valido se non in ciclo report esito in stringa strEsito 
		bit 3 (H08) : in Attesa di Sincronismi specificati in byteSincronismi
		bit 4 (H10) : Acquisito da Cam0
		bit 5 (H20) : Acquisito da Cam1
		bit 6 (H40) : Acquisito da Cam2
		bit 7 (H80) : Acquisito da Cam3

flagSincronismi flag di specifica dello stato di attesa  se = 1 (vero):

		bit 0 (H01) : riattesa per acquisire da Camxx
		bit 1 (H02) : risponde dopo aver acquisito da Camxx
		bit 2 (H04) :...definito nel programma mediante comando AttesaSincronismi
		bit 3 (H08) : ...definito nel programma mediante comando AttesaSincronismi
		bit 4 (H10) : attesa per Acquisire da Cam0
		bit 5 (H20) : attesa per Acquisire da Cam1
		bit 6 (H40) : attesa per Acquisire da Cam2
		bit 7 (H80) : attesa per Acquisire da Cam3
		...
		bit n (Hxx) : ...definito nel programma mediante comando AttesaSincronismi

strEsito è la striga valida se bit0 = 0 nello stato contenete il report compilato in base al modoEsito settato.

strErrore è la striga valida se bit1 dello stato è = 1 con la descrizione dell'errore avvenuto nell'esecuzione del programma. Normalmente vuota.

descrizione errore  è la descrizione dell'errore avvenuto nella comunicazione.

Setta lo stato di sincronismo avvenuto per proseguire il programma

SetSincro , nomeProgramma [,flagSincronismi ] [,modoSincronismi ] 
! , nomeProgramma [,flagSincronismi ] [,modoSincronismi ] 

SetSincroN , indiceProgramma [,flagSincronismi ] [,modoSincronismi ] 
!N , indiceProgramma [,flagSincronismi ] [,modoSincronismi ] 

nomeProgramma è il nome del programma  da eseguire caricato nel progetto
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma  da eseguire.
flagSincronismi flag di specifica del sincronismo avvenuto se = 1 (vero):

		bit 0 (H01) : se = 1 (vero)  ripristina attesa dopo aver acquisito da Camxx
		bit 1 (H02) : se = 1 (vero)   richiede risposta dopo acquisizione da  Camxx 
		bit 2 (H04) :...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 3 (H08) : ...da definire in attesa Sincronismo: (normalmente  = 0)
		bit 4 (H10) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam0
		bit 5 (H20) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam1
		bit 6 (H40) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam2
		bit 7 (H80) : se = 1 (vero) attesa che torni a 0 (false) per acquisire da Cam3
		...
		bit n (Hxx) : ...definito nel programma mediante comando AttesaSincronismi

modoSincronismi specifica come proseguire l'esecuzione del ciclo in base al contenuto:

		se = 1 il sincronismo specificato con i bit in flagSincronismi è soddisfatta.
	se = 0 la richiesta di sincronismo è stata processata, ma attende sia soddisfatta. Continua lo stato di attesa sincronismo ( riarma evetuale timeout).
		se = -1 non è possible soddisfare il sincronismo : termina il ciclo

		Se non specificato vale di default 1 :sincronizzazione soddisfatta.

Restituisce lo stato del programma :

S, nomeProgramma , byteStato , flagSincronismi , strEsito , strErrore
SN, indiceProgramma , byteStato , flagSincronismi , strEsito , strErrore

Errore , nomeProgetto ,descrizione errore 

byteStato byte di stato del programma specificato di cui se = 1 (vero):

		bit 0 (H01) : in Ciclo. strEsito ed strErrore senza significato
		bit 1 (H02) : in Errore specificato nella  stringa strErrore
		bit 2 (H04) : OK, valido se non in ciclo report esito in stringa strEsito 
		bit 3 (H08) : in Attesa di Sincronismi specificati in byteSincronismi
		bit 4 (H10) : Acquisito da Cam0
		bit 5 (H20) : Acquisito da Cam1
		bit 6 (H40) : Acquisito da Cam2
		bit 7 (H80) : Acquisito da Cam3

flagSincronismi flag di specifica dello stato di attesa  se = 1 (vero):

		bit 0 (H01) : riattesa per acquisire da Camxx
		bit 1 (H02) : risponde dopo aver acquisito da Camxx
		bit 2 (H04) :...definito nel programma mediante comando AttesaSincronismi
		bit 3 (H08) : ...definito nel programma mediante comando AttesaSincronismi
		bit 4 (H10) : attesa per Acquisire da Cam0
		bit 5 (H20) : attesa per Acquisire da Cam1
		bit 6 (H40) : attesa per Acquisire da Cam2
		bit 7 (H80) : attesa per Acquisire da Cam3
		...
		bit n (Hxx) : ...definito nel programma mediante comando AttesaSincronismi
strEsito è la striga valida se bit0 = 0 nello stato contenete il report compilato in base al modoEsito settato.

strErrore è la striga valida se bit1 dello stato è = 1 con la descrizione dell'errore avvenuto nell'esecuzione del programma. Normalmente vuota.

descrizione errore  è la descrizione dell'errore avvenuto nella comunicazione.

Richiede la lista dei comandi di un programma

GetComandi, nomeProgramma
GC, nomeProgramma

nomeProgramma è il nome del programma di cui si vuole la lista comandi.

Restituisce :

GC, nomeProgramma , comando_1,tipoComando_1,...,comando_n,tipoComando_n
Errore, descrizione errore 

comando_XX  nome del comando del programma.
tipoComando_XX  tipo del comando del programma.

descrizione errore  è la descrizione dell'errore.

Richiede il valore del parametro o del valore risultato del comando nel programma specificato

GetParam,nomeProgramma,nomeComando,nomeModello,nomeParametro
GPAR,nomeProgramma,nomeComando,nomeModello,nomeParametro

GetParamN,indiceProgramma,nomeComando,nomeModello,nomeParametro
GPARN,indiceProgramma,nomeComando,nomeModello,nomeParametro

nomeProgramma è il nome del programma  che contiene il comando
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma che contiene il comando.
nomeComando è il nome  o l' indice del comando a cui appartiene il parametro da richiedere.
nomeModello è il nome  o l' indice del modello del comando.
nomeParametro è il nome del parametro di cui si richiede il valore.(Vedi specifiche del comando in oggetto).

Restituisce :

GPAR , nomeProgramma ,nomeComando ,nomeParametro, valoreParametro
GPARN, indiceProgramma ,nomeComando ,nomeParametro, valoreParametro

Errore , nomeProgetto ,descrizione errore 

valoreParametro è il valore del parametro richiesto.

Setta il valore del parametro o del valore risultato del comando nel programma specificato

SetParam , nomeProgramma ,nomeComando ,nomeParametro, valoreParametro
SPAR , nomeProgramma ,nomeComando ,nomeParametro, valoreParametro

SetParamN , indiceProgramma ,nomeComando ,nomeParametro, valoreParametro
SPARN, indiceProgramma ,nomeComando ,nomeParametro, valoreParametro

nomeProgramma è il nome del programma  che contiene il comando
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma che contiene il comando.
nomeComando  il nome  o l' indice del comando a cui appartiene il parametro da richiedere.
nomeParametro è il nome del parametro di cui si richiede il valore.
valoreParametro è il valore del parametro da settare.

Restituisce :

GPAR , nomeProgramma ,nomeComando ,nomeParametro, valoreParametro
GPARN, indiceProgramma ,nomeComando ,nomeParametro, valoreParametro

Errore , nomeProgetto ,descrizione errore 

valoreParametro è il valore del parametro settato.

Richiede il valore della quota del comando nel programma specificato

GetQuote , nomeProgramma ,nomeComando ,nomeQuota [, nomeQuote ][, nome... ],...
GQUOTE , nomeProgramma ,nomeComando ,nomeQuota [, nomeQuote ][, nome... ],...

GetQuoteN , indiceProgramma ,nomeComando ,nomeQuota [, nomeQuote ][, nome... ],...
GQUOTEN, indiceProgramma ,nomeComando ,nomeQuota [, nomeQuote ][, nome... ],...

nomeProgramma è il nome del programma  che contiene il comando
indiceProgramma è l'indice,  da 1 a  n  nel progetto, del programma che contiene il comando.
nomeComando  il nome  o l' indice del comando a cui appartiene il parametro da richiedere..
nomeQuota è il nome della quota di cui si richiede il valore. (può essere "*"richiedendo tuttre le quote risultanti nel comando).

Restituisce :

GQUOTE , nomeProgramma ,nomeComando ,valQuota [, valQuota ][, val...][...
GQUOTEN, indiceProgramma ,nomeComando ,valQuota [, valQuota ][, val...][...

Errore , nomeProgetto ,descrizione errore 

valQuota è il valore della quota richiesta nel formato (nomeQuota ,valX ,valY ,valZ ,ValAngolo, ValAffidab.),(....),...

SPECIFICHE TIPI COMANDI-PARAMETRI-VALORI

Comando RiconoscimentoEX

specifica nomeParametro e valoreParametro per SetParam (e varianti):

	se nomeModello = "modelli" => valoreParametro=(pathfilearchivio) :
	setta i modelli contenuti nell'array del pathfile passato in valoreParametro.

	se nomeParametro = "modor" => valoreParametro=modo di calcolare l'esito (guidarobot= 0, 
	controllo qualità = 1).

	se nomeParametro = "modos" ; valoreParametro =( da 0  a 8 ) :
	modo di ordinare l'esito :
		dalMigliore = 0
		da_Xcrescente_Ycrescente = 1
		da_Xcrescente_Ydecrescente = 2
		da_Xdecrescente_Ycrescente = 3
		da_Xdecrescente_Ydecrescente = 4
		da_Ycrescente_Xcrescente = 5
		da_Ycrescente_Xdecrescente = 6
		da_Ydecrescente_Xcrescente = 7
		da_Ydecrescente_Xdecrescente = 8

	se nomeParametro = "n2find" ; valoreParametro = (num. oggetti da cercare)

	se nomeParametro = "areas" ; valoreParametro = ( top_left,bottom_right dell'area di ricerca <x0,y0,x1,y1>)

	se nomeParametro = "scale" ; valoreParametro = ( 0/1,min,max scala)

	se nomeParametro = "rot" ; valoreParametro = (0/1,min, max angolo in gradi)

	se nomeParametro = "aff" ; valoreParametro  = ( soglia affidabilità 0-100)

specifica nomeParametro e valoreParametro per GetParam (e varianti):

	se nomeModello = "modelli" => valoreParametro=(pathfilearchivio) 
	restituisce il dei pathfile dell' archivio aggiornato dei modelli salvati.

	se NomeModello = "nomemodel" : valoreParametro= < mome modello 1, ...,nome modello n>
	restituisce la lista dei nomi dei modelli

	se nomeParametro = "modor, <nome_o_indiceModello>" :
	restituisce: <nome_o_indiceModello>,modor, modo di calcolare l'esito : guidarobot= 0, 
	controllo qualità = 1.

	se nomeParametro = "modos" ; valoreParametro =( da 0  a 8 ) :
	modo di ordinare l'esito :
		dalMigliore = 0
		da_Xcrescente_Ycrescente = 1
		da_Xcrescente_Ydecrescente = 2
		da_Xdecrescente_Ycrescente = 3
		da_Xdecrescente_Ydecrescente = 4
		da_Ycrescente_Xcrescente = 5
		da_Ycrescente_Xdecrescente = 6
		da_Ydecrescente_Xcrescente = 7
		da_Ydecrescente_Xdecrescente = 8

	se nomeParametro = "n2find" ; valoreParametro = (num. oggetti da cercare)

	se nomeParametro = "areas" ; valoreParametro = ( top_left,bottom_right dell'area di ricerca <x0,y0,x1,y1>)

	se nomeParametro = "scale" ; valoreParametro = ( 0/1,min,max scala) :

	se nomeParametro = "rot" ; valoreParametro = (0/1,min, max angolo in gradi) :

	se nomeParametro = "aff" ; valoreParametro  = ( soglia affidabilità 0-100)