Ottimizzazione della programmazione

Ottimizzazione della programmazione

Pagina precedente Standardizzazione Listati Torna Home Page
Home Page
Introduzione a ProDMIS Pagina seguente



In questa fase si introdurranno particolari accorgimenti e si descriveranno specifiche funzioni e procedure realizzate allo scopo di velocizzare , rendere più efficiente e più semplicemente gestibile , la realizzazione e l'eventuale modifica dei part program di collaudo dei cilindri prodotti .
La maggior parte di queste nuove funzioni , vengono implementate sfruttando due proprietà essenziali presenti nel linguaggio DMIS dalla versione 2.1 in poi : la possibilità di definire ed utilizzare variabili e la possibilità di richiamare ,attraverso una opportuna istruzione ,una porzione di programma presente in un file esterno Partendo da queste due risorse , attraverso un loro ottimale sfruttamento, si sono definite apposite procedure che consentono, di rendere flessibile e rapida la programmazione .
Come si vedrà i risultati ottenuti sono generalizzabili anche a prodotti e a situazioni differenti da quelli analizzati per lo studio in oggetto , consentendo una buona personalizzazione degli elementi definiti ,così da lasciar intravedere ampie possibilità di utilizzo anche in altri ambiti del controllo dimensionale .
Quanto di seguito descritto troverà poi implementazione nel software PRODMIS , ( alla cui descrizione si riserva l'ultimo capitolo dello studio ) , editor DMIS realizzato proprio con lo scopo di fornire un valido supporto capace di utilizzare al meglio e rendere semplice l'uso di questi nuovi elementi .
Gli elementi principali introdotti per l'ottimizzazione della programmazione sono i seguenti :
  1. Blocchi
  2. Sottoprogrammi
  3. Modelli
  4. File Enti - Riferimenti definiti
  5. Ulteriori ottimizzazioni

Descriviamo il significato di ciascuno di questi elementi


I Blocchi DMIS :
Il Blocco DMIS è un particolare programma di collaudo , in generale limitato ad una ben precisa zona di un pezzo , contenente un certo numero di variabili , chiamate "parametri del blocco" , che consentono , con l'assegnamento di precisi valori , la misura e/o le valutazioni dell'elemento al quale il blocco si riferisce . Sostanzialmente il blocco può essere pensato come una particolare procedura , parametrizzata , personalizzabile caso per caso , realizzata per la misurazione e le valutazioni di elementi della stessa tipologia , cioè composti da uguali enti da rilevare e valutare , ma con caratteristiche e rapporti geometrici differenti .
Il Blocco potrà poi essere utilizzato all'interno di un programma di collaudo vero e proprio , inserendolo in una opportuna posizione , che dipende dalla sequenza di misurazione fissata , previo assegnamento dei valori alle variabili presenti : tale operazione , indispensabile per il corretto utilizzo , viene chiamata "risoluzione del Blocco".
Per velocizzare le fasi di realizzazione di un part program , si potranno creare delle librerie di blocchi in modo da coprire tutte le esigenze di misurazione e valutazione degli elementi da realizzare , provvedendo a parametrizzare in modo opportuno gli elementi significativi ; in generale quindi la fase di programmazione si ridurrà , al richiamo e alla risoluzione dei blocchi di volta in volta più idonei al collaudo da realizzare .L'editor PRODMIS mette a disposizione opportune funzioni per facilitare e guidare il programmatore nella creazione e gestione dei Blocchi .Il risultato dell'operazione di creazione di un blocco sarà un file caratterizzato dell'estensione "BDM" .
Da un punto di vista formale il listato che caratterizza la struttura di un file contenente un Blocco , può essere suddiviso nelle seguenti parti :

Descriviamo il significato di ciascuna parte introdotta

-Note operatore :
In questa zona , che è circoscritta dai soliti marcatori [notaoperatore] e [finenota] ,vengono inserite tutte le informazioni che consentono all'utente di avere informazioni su ciò che il blocco in oggetto realizza . Queste informazioni saranno visibili nella maschera di selezione del blocco da dichiarare , all'interno dell'editor PRODMIS : evidenziando il nome del blocco presente nella lista dei blocchi a disposizione , apparirà in un apposito campo il commento relativo , digitato tra i suddetti marcatori .

- Dichiarazione parametri blocco :
In questa zona , sono elencati i parametri caratteristici previsti nello specifico blocco in analisi .La sintassi con cui sono riportati è ben precisa ( viene realizzata in modo automatico all'interno di PRODMIS senza porvi alcuna attenzione specifica , come vedremo nell'ultima sezione della tesi ) : ogni riga , relativa ad un ben preciso parametro ha la seguente struttura :
DECL/,V()
L'istruzione DECL è una parola riservata dal DMIS che predispone il sistema all'accettazione della definizione di una variabile .
rappresenta il tipo di dati relativi al valore che si vuole inserire nella variabile ; si può scegliere tra tre tipologie di dato :
REAL  => Quando il valore della variabile è un numero reale
INTGR => Quando il valore della variabile è un numero intero
CHAR  => Quando il valore della variabile è un carattere
V() 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)

Torna Lista ottimizzazioni


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 :
  1. Un Sottoprogramma non necessita di risoluzione dei parametri , che risultano già assegnati in sede di creazione del Sottoprogramma stesso
  2. Un Sottoprogramma è semplicemente richiamato e non inserito fisicamente nel listato del programma principale
  3. 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 .

Torna Lista ottimizzazioni


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 .

Torna Lista ottimizzazioni


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

Torna Lista ottimizzazioni


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)





Logo HTML Write

WebMaster : Ing. Rusconi Sergio
E-mail : serusco@tin.it
Home Page : space.tin.it/scienza/srusco


Pagine ottimizzate per Explorer 5 con risoluzione video 1024 x 768
Ultima revisione 20/12/99