Goal Function

Per ottenere un grafico del tempo di salita e dell'overshoot sugli assi y in funzione della resistenza R posta sull'asse x si deve definire un file di testo "goal function" di nome PROBE.GF seguendo una sintassi particolare. Un file esempio è presente nella directory

MSIMEV60 col nome MSIM.GF.

Se al file che si desidera realizzare si dà un nome diverso da PROBE.GF, il programma PROBE deve essere lanciato con lo switch -G seguito dal nome della goal function.

Per far ciò si esegue Option/Editor Configuration/App Setting oppure da Program Manager di Windows si apre il gruppo The Design Center, si seleziona l'icona Probe e si attiva il comando File/Proprietà. Si accede nella relativa finestra di dialogo e nella riga riga di comando si deve porre C:MSIMEV60\PROBE.EXE -G NOME.GF. Si è supposto, in questo caso, che il nome della goal function sia NOME.GF.

Si mostra di seguito il file realizzato per definire il risetime e l'overshoot:

risetime(1)=x2-x1
{
1|
search forward LEVEL(10V)!1
search forward LEVEL(90V)!2
;
}

overshoot(1)=(y1-y2)*100/y2
{
1|
search forward MAX!1
search forward XVAL(499u)!2
;
}

Il risetime è definito come l'intervallo di tempo che impiega la forma d'onda per passare dal 10% al 90% del valore di regime. Se individuo tali istanti x1 e x2, il tempo di salita è la differenza x2-x1.

La prima riga individua il nome e l'espressione algebrica della grandezza che si vuole determinare. La parentesi graffa aperta indica l'inizio della procedura. 1| indica la procedura 1 (risetime avrebbe potuto avere più procedure, in tal caso sarebbe stata definita come : risetime(1,2)=x2-x1 ). La linea search forward LEVEL(10V)!1 dice di definire come x1 l'istante in cui la forma d'onda in esame raggiunge il valore 10V (10% di 100V). La linea successiva definisce x2 l'istante in cui viene assunto il 90%.

La fine della procedura termina con il punto e virgola e la fine della funzione risetime termina con la parentesi graffa chiusa.

L'overshoot è definito come la differenza tra il massimo valore di picco y1 raggiunto dalla forma d'onda oscillante e il valore di regime y2 (qui valutato dopo 499us, tempo che appare sufficientemente grande rispetto alla durata del transitorio). L'overshoot relativo percentuale è la precedente differenza diviso per y2 e moltiplicato per 100.

Se si vuole rappresentare una funzione fra quelle previste nel file di esempio MSIM.GF, non è necessario scrivere appositamente con un editor di testi il file che la definisca ma si può utilizzare lo stesso file MSIM.GF purchè si lanci il programma Probe specificando MSIM.GF come "goal function", cioè: PROBE.EXE -G MSIM.GF.

Se capita spesso di dover utilizzare una "goal function" standard allora risulta conveniente rinominare o copiare MSIM.GF in PROBE.GF.

In questo caso il lancio di Probe può avvenire, come di consueto, dall'interno di Schematic Editor con il comando Analysis/Run Probe oppure Analysis/Simulate; in quest'ultima situazione ci si deve preventivamente accertare, tramite Analysis/Probe Setup, che la casella di lancio automatico di Probe dopo la simulazione, risulti abilitata.

Le funzioni standard preeviste da MSIM.GF sono: Periodo, overshoot, tempo di salita, tempo di discesa, banda passante, frequenza di centro banda, durata dell'impulso, margine di guadagno, margine di fase, valore massimo, valore minimo, valore di picco.

Naturalmente, se la funzione scelta non ha senso per la grandezza elettrica in esame, non si otterrà alcuna curva (ad esempio il periodo per una forma d'onda non periodica).