) rappresenta il nome identificativo con cui far riferimento alla variabile in fase di assegnamento e chiamata . L'etichetta non deve eccedere 10 caratteri .Naturalmente non sono ammesse etichette uguali .
Esempi di etichette valide sono V(DCANNA) , V(HSCARICO) .
- Assegnamento valori parametri :
In questa zona , compresa entro i marcatori [valoriparametri] , [fineparametri] , è realizzato l'assegnamento dei valori ai parametri definiti .La sintassi ,generata in automatico all'interno di PRODMIS , può così riassumersi :
per la gestione di ogni parametro sono riservate due righe , nella prima viene riportata l'etichetta identificante seguita dal simbolo "=" e dal valore da assegnare , senza interporre spazi ; la seconda riga è relativa ad un commento che specifica l'elemento reale associato al parametro definito : tale commento è visibile in un opportuno campo all'interno della schermata di risoluzione del blocco , nell'editor PRODMIS .
- Componente attiva :
In questa parte vengono implementate le istruzioni DMIS che consentono la reale misurazione e valutazione degli elementi per il quale il blocco è stato realizzato . Qui troviamo le chiamate per l'uso dei parametri definiti e assegnati
La struttura della zona è variabili da caso a caso .
A conclusione di questa sezione segue lo schema riassuntivo del listato di un generico Blocco DMIS . Si ricorda che in Appendice B è presente un listato relativo ad un blocco reale .
SCHEMA TIPO BLOCCO DMIS
$$[notaoperatore]
$$Blocco definizione origine PCS1 cilindri ciechi
$$Utilizzo macro presa punti a 30ø
$$[finenota]
$$------------ DICHIARAZIONE PARAMETRI BLOCCO
DECL/(TipoVariabile_1),V(Etichetta_1)
DECL/(TipoVariabile_2),V(Etichetta_2)
..................................................
DECL/(TipoVariabile),V(Etichetta_n)
$$------------ ASSEGNAMENTO VALORI PARAMETRI
$$[valoriparametri]
V(Etichetta_1)=ValoreVariabile_1
$$Commento variabile_1
V(Etichetta_2)=ValoreVariabile_2
$$Commento variabile_2
..............................
V(Etichetta_n)=ValoreVariabile_n
$$Commento variabile_n
$$[fineparametri]
$$------------ COMPONENTE FUNZIONALE
(Listato Istruzioni)
I Sottoprogrammi DMIS :
I sottoprogrammi DMIS sono dei particolari blocchi già risolti , cioè per essi l'assegnamento dei valori ai parametri presenti è già stato fatto.
Vista questa loro caratteristica , i sottoprogrammi vengono utilizzati quando , nei particolari da controllare , si presentano elementi uguali , condizione frequente in quasi tutte le realtà produttive .In sostanza è utile creare un sottoprogramma quando questo implementa una serie di controlli relativi ad elementi che si ripresentano in vari prodotti da controllare in modo del tutto simile : in questi casi , una volta definito il sottoprogramma , è sufficiente richiamarlo , attraverso l'uso di una opportuna istruzione DMIS ( INCLUDE ) che consente l'utilizzo di elementi esterni al programma principale , senza dover procedere al passaggio dei parametri , condizione invece necessaria nel caso di utilizzo di un blocco .
Da quanto detto , quindi , appaiono chiaramente le differenze tra blocchi e sottoprogrammi , che possono così riassumersi :
- Un Sottoprogramma non necessita di risoluzione dei parametri , che risultano già assegnati in sede di creazione del Sottoprogramma stesso
- Un Sottoprogramma è semplicemente richiamato e non inserito fisicamente nel listato del programma principale
- Un Sottoprogramma non può essere in alcun modo adattato a specifiche esigenze ( bisogna in questo caso crearne uno nuovo ) ma viene utilizzato solo nei casi specifici per i quali è stato definito ( offre quindi minore flessibilità rispetto ad un blocco ) .
Un sottoprogramma potrà essere creato in modo del tutto indipendente , attraverso opportune procedure messe a disposizione dall'editor PRODMIS , oppure essere derivato da un blocco precedentemente realizzato ; nel caso di utilizzo di questa seconda modalità si dovrà solo procedere alla risoluzione del blocco , assegnando gli opportuni valori ai parametri presenti e al salvataggio del nuovo file così ottenuto . Il file contenente un Sottoprogramma DMIS è caratterizzato dall'avere estensione "SDM" .
Il listato dei sottoprogrammi è del tutto identico al listato dei blocchi , al quale si rimanda per l'indicazione precisa degli elementi presenti : come detto l'unica diversità sta nel fatto che , nella zona relativa all'assegnamento dei valori ai parametri , troviamo già indicati gli effettivi valori che saranno assunti nel programma principale nel quale il sottoprogramma in oggetto verrà richiamato .
In analogia con quanto proposto nel caso dei blocchi , anche nel caso dei sottoprogrammi , verranno realizzate opportune librerie , che copriranno le esigenze di programmazione principali , in relazione ai prodotti da collaudare .
I Modelli DMIS :
Un modello DMIS è un programma di collaudo completo , dotato di un suo ben preciso listato , nel quale , di norma , si possono apportare solo modifiche di poco conto , relative ad una personalizzazione di importanza limitata , solitamente riguardanti variazioni nelle dimensioni di elementi la cui verifica è già prevista ma si discosta per qualche aspetto da quella implementata .
L'uso di modelli di riferimento risulta molto utile laddove si hanno delle tipologie di prodotti che possono essere suddivise in famiglie omogenee , al cui interno , ci siano esclusivamente differenze limitate tra gli elementi da collaudare .
In tutti questi casi , una volta definita la famiglia di appartenenza e il modello più opportuno da utilizzare , si analizza in dettaglio il particolare da verificare e si apportano al programma di collaudo scelto le variazioni del caso , così da renderlo completamente affine al pezzo da misurare .
Naturalmente è sempre possibile procedere anche ad una modifica più marcata del programma Modello , anche se ciò comporta un tempo di programmazione maggiore , andando ad inserire ulteriori Blocchi o Sottoprogrammi , inizialmente non previsti : PRODMIS mette a disposizione una funzione , chiamata funzione di autocomposizione programma di misura , che partendo proprio da un ben preciso modello , consente , in modo guidato , di apportare una serie di modifiche , così da adeguarlo alle specifiche esigenze richieste nel caso in esame .
I programmi relativi a modelli DMIS sono salvati in file aventi estensione "MOD". La struttura del listato di un modello è del tutto simile alla struttura di un generico programma DMIS , essendo il modello un programma completo a tutti gli effetti : non è infatti direttamente utilizzabile per via dell'estensioni che non è riconosciuta dal traduttore DMIS , il quale ritornerà un errore di compilazione .
File Enti - Riferimenti :
Per semplificare la gestione e l'uso degli enti e dei riferimenti introdotti in ciascuna zona in cui si è suddiviso un generico cilindro ( argomento trattato nel primo capitolo dello studio ) , si è previsto di definire un file esterno nel quale inserire tutti gli elementi necessari allo specifico part program in oggetto di analisi .Questo file è identificato con lo stesso nome del programma di collaudo al quale si riferisce ad eccezione dell'estensione che è "DBE" cioè Data Base Enti .
La struttura di un file DBE è strutturabile nel seguente modo :
- Zona Sistemi di Riferimento
- Zona Punti rilevati
- Zona Rette rilevate
- Zona Fori rilevati
- Zona Perni rilevati
- Zona Piani rilevati
- Zona altre figure
Ogni zona è così strutturata :
- Identificatore di inizio Zona :
- è rappresentato da un enunciato del tipo [LISTA] ; un esempio di identificatore di inizio zona valido è [LISTAPUNTI].
- Lista enti di appartenenza alla zona :
- ogni ente occupa due righe : nella prima troviamo l'etichetta di identificazione , nella seconda un breve commento .
L'inserimento degli enti nel file DBE , necessari nel part program ,e il loro successivo utilizzo , avviene in modo semplificato grazie ad apposite funzioni presenti nell'editor DMIS realizzato ( vedere successivo capitolo per dettagli ).
Per facilitare l'uso delle regole di standardizzazione introdotte in precedenza ( vedere primo capitolo della Tesi ) si è previsto di realizzare un file di Caratterizzazione ( chiamato DEFENTI.INI ), nel quale sono presenti i riferimenti e gli enti previsti in tale studio , avendo strutturato poi il listato di questo file in modo da facilitarne l'identificazione e l'uso .
A tale scopo si è realizzata una strutturazione del file di caratterizzazione che prevede la suddivisione del listato nelle Zone di Misura identificate in fase di Standardizzazione , per ciascuna delle quali poi vengono riportati tutti gli enti e i sistemi di riferimenti previsti . Il listato finale del file DEFENTI.INI è quindi così schematizzabile :
[ZONACARTER]
ListaEntiZona
[ZONASCARICO]
ListaEntiZona
[ZONAASPIRAZIONE]
ListaEntiZona
[ZONATESTA]
ListaEntiZona
[ZONACANDELA]
ListaEntiZona
[ZONADECO]
ListaEntiZona
[ZONAVALVOLA]
ListaEntiZona
[ZONALATERALE]
ListaEntiZona
Ulteriori aspetti ottimizzati :
Oltre a questi nuovi elementi introdotti , si è provveduto ad ottimizzare anche alcune funzionalità già presenti ma non precisamente regolate ; fra queste la più importante è relativa alla regolamentazione dell'utilizzo delle Macro DMIS .
Le macro sono delle funzioni particolari che consentono di riunire una serie di comandi DMIS ad un identificativo ben preciso permettendo ,in oltre, una certa flessibilità di utilizzo grazie alla possibilità di definire al suo interno dei parametri i cui valori vengono poi assegnati ,caso per caso, quando la macro viene utilizzata ; il vantaggio di tali funzioni è quello di poter eseguire l'intera sequenza di comandi associati ad una macro semplicemente richiamandola ( operazione che viene eseguita attraverso una opportuna istruzione ) e passando di volta in volta i valori ai parametri componenti definiti .
Le Macro prima di essere utilizzate all'interno di un qualunque programma di collaudo , devono essere dichiarate : questa operazione può essere eseguita o inserendo l'intero listato della macro o ( opzione utilizzata preferibilmente ) semplicemente richiamandola da un file esterno attraverso l'uso della consueta istruzione di inclusione ( INCLUDE ) .
In questo secondo caso i comandi che formano la Macro devono necessariamente essere salvati in un file esterno . Si è deciso di modificare l'estensione dei file contenenti Macro , passando da "DMI" a "MDM" , questo per evitare possibili equivoci con i file di programma , che come precedentemente detto hanno estensione "DMI" .
L'editor PRODMIS mette a disposizione apposite istruzioni per la creazione e manipolazione delle Macro : come si vedrà nell'ultima parte dello studio , esiste una specifica funzione che consente , selezionata una ben precisa macro , di avere a disposizione la lista dei parametri in essa presenti , con una breve descrizione del loro significato , così da facilitare l'operazione di risoluzione della Macro stessa .
Il listato dei file di Macro è molto semplice essendo suddiviso solo in tre parti :
- Note operatore
- Informazione Parametri
- Dichiarazione parametri
- Componente attiva
Il significato di questi elementi è del tutto analogo a quelli introdotti precedentemente.
Bisogna solo aggiungere che , in questo caso , la dichiarazione effettiva dei parametri viene eseguita attraverso una opportuna istruzione così schematizzabile ;
M(NomeMacro)=MACRO/Parametro_1,Parametro_2,....,Parametro_n
La presenza della zona "Dichiarazione parametri" , delimitata dai marcatori [parametri] e [fineparametri] è richiesta da PRODMIS per il corretto funzionamento della maschera definita per il richiamo della macro stessa .In tale zona vengono riservate due righe per ogni parametro : la prima riporta l'etichetta con il quale viene identificato , la seconda un breve commento ad esso relativo , così da guidare il programmatore nella fase di passaggio dei valori .
A conclusione del paragrafo si riporta un esempio reale di macro .
$$[notaoperatore]
$$MACRO PER CONTATTARE LA CANNA A 30 E 45 GRADI
$$[finenota]
$$[parametri]
$$FORO
$$Etichetta foro
$$X
$$Coordinata centro foro asse X
$$Y
$$Coordinata centro foro asse Y
$$Z
$$Coordinata centro foro asse Z
$$D
$$Diametro foro
$$P
$$Profondità presa punti
$$U
$$Allontanamento dal piano
$$[fineparametri]
M(FC3045)=MACRO/"FORO",X,Y,Z,D,P,U
MEAS/CIRCLE,F(FORO),4
GOTO/X+U,Y,Z
PTMEAS/CART,X-P,Y+(0.866*D/2),Z+(0.5*D/2),0,-0.866,-0.5
PTMEAS/CART,X-P,Y-(0.707*D/2),Z+(0.707*D/2),0,0.707,-0.707
PTMEAS/CART,X-P,Y-(0.707*D/2),Z-(0.707*D/2),0,0.707,0.707
PTMEAS/CART,X-P,Y+(0.866*D/2),Z-(0.5*D/2),0,-0.866,0.5
GOTO/X+U,Y,Z
ENDMES
SAVE/FA(FORO)