Entrambi i formati essere usati per l inserimento dei comandi o delle istruzioni nel linguaggio AS Per maggior chiarezza in questo manuale saranno applicate le seguenti regole relative all uso delle lettere maiuscole o minuscole. Tutte le parole chiave dellAS (comandi, istruzioni, etc) saranno in maiuscolo. Le variabili e tutto ci che pu essere specificato saranno in minuscolo. 2. Abbreviazioni Le parole chiave possono essere abbreviate. Ad esempio, il comando EXECUTE pu essere abbreviato come EX. Vedere Appendice 2 Elenco linguaggio AS. 3. Spazio, Tabulazioni E necessario almeno uno spazio o una tabulazione per delimitare il comando (o istruzione) dal parametro*. E inoltre necessario uno spazio o una tabulazione fra i parametri che non sono separati da virgole o altro. Spazi o tabulazioni in eccesso saranno ignorate dal sistema. NOTA* Un parametro il dato necessario a completare comandi o altre istruzioni. Ad esempio, nel comando SPEED (velocit), il dato del parametro necessario per specificare la velocit del robot. Se il comando o la funzione utilizzano diversi parametri, una virgola o uno spazio separano ciascun parametro. Esempi o SPEED 50 4. Tasto ENTER I comandi del monitor e le istruzioni di programma sono elaborate con linvio fatto con il tasto ENTER . 5. Parametri omessi Diversi comandi del monitor e istruzioni di programma hanno dei parametri che possono essere omessi. Se c una virgola dopo questi parametri opzionali, la virgola deve essere mantenuta anche se il parametro viene omesso. Se tutti i parametri successivi sono omessi, anche la virgola potr essere omessa. 6. Valori numerici I valori sono espressi in decimali se non diversamente indicato. Si possono usare delle espressioni matematiche per definire questi valori come argomenti. Tuttavia, i valori accettabili sono limitati. Le seguenti regole mostrano come interpretare i valori nei diversi casi. A) Distanze Usata per definire la lunghezza del movimento del robot fra due punti. Lunit di misura della distanza sono i millimetri (mm); nellinserimento lunit omessa. I valori inseriti possono essere sia negativi che positivi. B) An g o l i Definisce e modifica la postura del robot in una specifica posa (locazione); e descrive la lentit della rotazione dei giunti del robot. I valori possono essere sia negativi che positivi, con angolo massimo limitato a 180 o 360 gradi, a seconda del comando usato. C) Variabili scalari Se non diversamente indicato, queste variabili definiscono dei valori reali. I valori delle variabili possono essere compresi fra -3.4E+38 e 3.4E+38 (-3.410 38 ~ 3.4+10 38 ). Se il valore supera 999999, viene indicato con xE+y (x la mantissa, y un esponente). D) Numero giunto Indica il giunto del robot in numero intero dal n.1 al numero di giunti disponibili (il tipo standard ha 6 giunti). I giunti sono numerati in sequenza partendo dalla base. (Generalmente indicati come JT1, JT2 ....). E) Numero segnale Identifica i segnali binari (ON/OFF). I valori sono dati in numeri interi e sono compresi nei seguenti intervalli. Intervallo Standard Intervallo Robot Intervallo massimo
Segnale output esterno 1 - 32 1 - 32 1 - 96 Segnale input esterno 1001 - 1032 1001 - 1032 1001 - 1096 Segnale interno 2001 - 2256 2001 - 2256 2001 - 2256 Un numero positivo indica un segnale ON, se il numero negativo il segnale OFF. F) Parole chiave Nel sistema AS, generalmente il nome delle variabili pu essere liberamente assegnato. Tuttavia alcune parole chiave che definiscono comandi, istruzioni, etc. sono riservate e non possono essere utilizzate per indicare dati di posa, variabili, etc.
INFORMAZIONI DI POSA Le informazioni di posa, conosciute anche come informazioni posizionali, sono utilizzate per specificare la posizione e la postura del robot in una data area di lavoro. La posizione e la postura del robot sono riferite alla posizione e alla postura del punto centrale dellutensile (TCP) del robot. Posizione e postura insieme sono denominate posa (locazione) di un robot. La posa determinata da dove si trova il robot e dal modo in cui orientato, pertanto per istruire un robot a muoversi due informazioni devono essere date contemporaneamente : 1. Il TCP del robot si sposta in una posizione precisa. 2. Le coordinate utensile del robot ruotano in una specifica postura. I dati di posa sono descritti da una serie di valori di spostamento dei giunti o da un valore di trasformazione: 1. Valori di spostamento giunto Quest informazione di posa data da una serie di valori di spostamento angolare o lineare da ognuno degli assi del robot. Usando i valori encoder, gli assi di rotazione producono degli spostamenti angolari rappresentati in gradi, gli assi lineari producono spostamenti lineari rappresentati in millimetri. Esempio I giunti sono indicati in sequenza dal JT1,...JT6, e il valore di spostamento di ogni giunto indicato sotto al numero giunto. J T 1 J T 2 J T 3 J T 4 J T 5 J T 6 #pose = 0.00, 33.00, -15.00, 0, -40, 30 2. Valore di trasformazione Descrive delle coordinate di posa in relazione a delle coordinate di riferimento. Se non diversamente specificato, si riferisce ai valori di trasformazione delle coordinate utensile in relazione alle coordinate base del robot. La posizione data dai valori XYZ sulle coordinate base, la postura dagli angoli di Eulero* OAT. Alcuni dei valori di trasformazione comunemente usati: il valore di trasformazione utensile che descrive la posa delle coordinate utensile rispetto alle coordinate utensile nullo, ed il valore di trasformazione basato sul pezzo che descrive la posa delle coordinate utensile rispetto alle coordinate pezzo. Nota* vedi Appendice 5 Angoli di Eulero O,A,T E s e m p i o X Y Z O A T pos a = 0, 1434, 300, 0, 0, 0 Se il robot ha pi di sei assi, il valore dellasse aggiunto indicato in valori di trasformazione. E s e m p i o X Y Z O A T J T 7 pos a = 0, 1434, 300, 0, 0, 0 1000 Valori trasformazione utensile
NOTA * Le coordinate utensile nullo hanno la loro origine al centro della flangia di montaggio utensile del robot, e sono rappresentate dai valori di trasformazione utensile (0,0,0,0,0,0). NOTA ** Le coordinate base nulla sono impostate come valore di default, e sono rappresentate dal valore di trasformazione base (0,0,0,0,0,0).
I valori di spostamento giunto ed i valori di trasformazione presentano vantaggi e svantaggi. Utilizzare quelli adatti alle proprie esigenze
Valori di spostamento giunto Valori di trasformazione Vantaggi Si raggiunge la precisione nellesecuzione e non c ambiguit circa la configurazione del robot in una data posa Lorigine delle coordinate utensile usata nel modo repeat non cambia anche quando viene cambiato lutensile. (Traslazione delle coordinate utensile nullo) Si possono usare coordinate relative (es. coordinate pezzo) Conveniente per lelaborazione in quanto i dati sono presentati in valori XYZOAT Svantaggi I valori TCP cambiano quando cambia lutensile (le coordinate utensile nullo restano uguali) Non possibile usare coordinate relative (es. coordinate pezzo etc.) Le coordinate cambieranno a seconda dei valori di trasformazione base o utensile, per cui necessaria una conoscenza completa degli effetti di ogni cambiamento per un utilizzo sicuro. La configurazione del robot pu cambiare se non impostata prima dei movimenti automatici. Uso consigliato Impostare la posa di avvio di un programma Impostare la configurazione del robot nella o subito dopo una posa descritta da valori di trasformazione Usare altre pose comuni Descrizione di coordinate relative come fossero coordinate pezzo. Descrizione di una posa che pu essere cambiata usando valori numerici con funzioni come SHIFT Descrizione di una posa che pu essere cambiata dalle informazioni provenienti da un sensore
INFORMAZIONI NUMERICHE Nel sistema AS si usano numeri ed espressioni per fornire informazioni numeriche. Unespressione numerica una combinazione di numeri, variabili, operatori e funzioni che produce un valore. Le espressioni numeriche sono usate non solo per calcoli matematici ma anche come parametri, per comandi del monitor e istruzioni di programma. Ad es. nel caso del comando DRIVE, sono tre i parametri da precisare: numero giunto, grado, velocit. I parametri possono essere espressi sia come valori numerici sia in espressioni come nell esempio seguente: DRIVE 3,45,75 Muovere il giunto numero 3 di 45 al 75% della velocit max. DRIVE joint, (start+30)/2, 75 Se specificato joint=2, start=30 muovere il giunto 2 di +30 al 75% della velocit massima I valori numerici usati nel sistema AS si dividono in tre tipologie: 1. Numeri reali I numeri reali possono avere sia la parte intera che quella decimale. Possono essere un valore positivo o negativo compreso fra -3.4 E+38 e 3.4 E+38(-3.4x10 38 and 3.4x10 38 ) o zero. I numeri reali possono essere rappresentati in formato scientifico. Il simbolo E divide la mantissa e lesponente. Lesponente pu essere sia negativo (potenza in base 1/10) che positivo (potenza in base 10).
NOTA 1. Al contrario del caso in cui una posa sia definita dai valori di spostamento giunto, dove impostata per il robot una configurazione unica, quando una posa definita da valori di trasformazione, il robot pu assumere configurazioni diverse in base a tale posa. Questo accade poich i valori di trasformazione impostano soltanto i valori XYZOAT delle coordinate utensile senza definire il valore dell asse di ogni giunto. Prima di avviare il robot in modo automatico, assicurarsi quindi di stabilire la configurazione del robot usando i comandi di configurazione (LEFTY, etc.) o registrando i valori di spostamento giunto. 2. Dal momento che i valori di trasformazione sono tracciati rispetto alle coordinate base, quando le coordinate base sono spostate usando il comando/istruzione BASE, il TCP (punto centrale utensile) del robot sar anchesso spostato della stessa entit. Questo uno dei vantaggi nell uso dei valori di trasformazione, ma attenzione alleffetto che si ottiene sui punti trasformati cambiando le coordinate base. Un errore in questa procedura potrebbe causare incidenti quali interferenze con le apparecchiature periferiche. Prestare la stessa attenzione quando si usa il comando/istruzione TOOL.
Esempio 8.5E3 8.5*10 3 (+ nellesponente omesso) 6.64 6.64*10 0 (E, 0 omesso) -9E-5 -9.0*10 -5 (il punto decimale omesso) -377 -377*10 0 (i punti decimali, E, 0 sono omessi) Le prime sette cifre sono quelle significative, ma il numero delle cifre valide potrebbe diminuire attraverso le procedure di calcolo.
I valori reali senza la parte decimale sono numeri interi. Lintervallo compreso fra -16,777,216 e +16,777,215 e per i valori che superano tale limite, le prime sette cifre sono quelle significative. I valori interi sono normalmente inseriti come numeri decimali sebbene a volte pu essere pi conveniente esprimerli in formato binario o esadecimale. ^B stabilisce che il numero inserito binario. ^H stabilisce che il numero inserito esadecimale. Esempio ^B101 (5 in decimale) ^HC1 (193 in decimale ) -^B1000 (-8 in decimale) -^H1000 (-4096 in decimale)
2. Valori logici Il valore logico ha solo due stati, ON e OFF, o TRUE (vero) e FALSE (falso). E assegnato il valore - 1.0 per lo stato TRUE o ON, ed il valore 0 (o 0.0) per lo stato FALSE o OFF. ON, OFF, TRUE e FALSE sono parole riservate del linguaggio AS. Valore logico vero = TRUE, ON, -1.0 Valore logico falso = FALSE, OFF, 0.0 3. Valori ASCII Mostra il valore numerico di un carattere ASCII. Il carattere viene specificato mettendo un apostrofo () davanti per differenziarlo da altri valori. A 1 v %
INFORMAZIONI CARATTERE L informazione di carattere come intesa nel sistema AS una stringa di caratteri ASCII racchiusa tra virgolette (). Poich le virgolette indicano linizio e la fine della stringa, non possono essere utilizzate come parte della stringa stessa. Non possono inoltre essere inclusi nella stringa i caratteri di controllo ASCII (CTRL, CR, LF, etc.). Esempio >PRINT KAWASAKI PRINT (comando) KAWASAKI (sringa di caratteri)
VARIABILI Nel sistema AS, si possono assegnare dei nomi alle informazioni di posa, informazioni numeriche e stringhe. Questi nomi sono le variabili, che possono essere divise in due tipologie: variabili globali e variabili locali. Se non diversamente indicato la variabile globale indicata come variabile.
VARIABILI (VARIABILI GLOBALI) Le variabili per le informazioni di posa, le informazioni numeriche e le stringhe sono chiamate rispettivamente variabili di posa, variabili reali*, variabili stringa. E possibile raggruppare diversi valori identificandoli con un unico nome usando la variabile vettore. NOTA* Siccome molti valori numerici usati in AS sono numeri reali, le variabili numeriche sono indicate come variabili di numero reale o variabili reali. Tuttavia, i numeri interi, i valori logici ed i valori ASCII sono tutti espressi con numeri reali. Una variabile reale quindi pu riferirsi ad uno qualsiasi di questi valori. Una volta definite, la variabile viene salvata in memoria con quel dato valore. Pu pertanto essere utilizzata in qualsiasi programma.
VARIABILI LOCALI Al contrario delle variabili globali sopradescritte, le variabili locali sono ridefinite ogni volta che il programma viene eseguito, e non sono salvate nella memoria. Una variabile con un punto . all inizio del suo nome considerata una variabile locale. Le variabili locali sono utili in quei casi in cui alcuni programmi usano lo stesso nome di variabile dove il valore della variabile cambia ogni volta che il programma viene eseguito. Le variabili locali possono inoltre essere usate come parametro di una subroutine.
NOTA 1. Le variabili locali non possono essere definite usando comandi monitor (immediati). 2. Siccome le variabili locali non sono salvate in memoria, il valore di una variabile locale non pu essere visualizzato nella modalit monitor.
NOME DELLA VARIABILE Il nome della variabile deve iniziare con una lettera dellalfabeto e pu essere composta da altre lettere, numeri, punti e il trattino inferiore _ . Le lettere possono essere inserite in maiuscolo o in minuscolo (appariranno in minuscolo sul video). La lunghezza del nome della variabile limitata a quindici caratteri. In nomi pi lunghi saranno considerati validi solo i primi quindici caratteri. Seguono alcuni esempi di nomi che non possono essere usati: 3p .......................................................... il primo carattere non una lettera dell alfabeto part#2 .................................................... il simbolo # il prefisso del nome della variabile di spostamento giunto e non pu essere usato allinterno di un nome di variabile.
Le variabili che descrivono dei valori di spostamento giunto sono precedute dal simbolo # per differenziarle dai valori di trasformazione. Le variabili stringa sono precedute dal simbolo $per differenziarle dalle variabili reali. pick (valore di trasformazione) #pick (valore di spostamento giunto) count (variabile reale) $count (variabile stringa) Tutte le variabili possono essere usate come variabili vettore. Un vettore composto da diversi valori sotto lo stesso nome e tali valori sono distinti l uno dallaltro dal valore del loro indice. Ogni valore del vettore chiamato elemento vettore. Per definire un elemento vettore, aggiungere al nome del vettore i valori dell indice racchiusi fra parentesi. Ad es., part [7] indica il settimo elemento del vettore part. Gli indici devono essere dei numeri interi compresi fra 0 to 9999. Per vettori tridimensionali usare una sintassi simile a questa: part [7, 1,1]=1. Definita una variabile, questa pu essere usata in diversi programmi. Tuttavia, attenzione a non fare delle modifiche non necessarie alle variabili che sono usate in programmi diversi
DEFINIZIONE DELLE VARIABILI DI POSA Le variabili che descrivono delle informazioni di posa sono chiamate variabili di posa. Una variabile di posa viene definita solo quando le viene assegnato un valore. Rimane indefinita finch il valore non viene assegnato. Se un programma usa una variabile indefinita, avviene un errore. Le variabili di posa sono utili nei seguenti casi 1. Gli stessi dati di posa possono essere usati continuamente senza dover assegnare ogni volta la posa. 2. Una variabile di posa definita pu essere usata in diversi programmi. 3. Una variabile di posa definita pu essere usata o modificata per definire una posa diversa. 4. I valori calcolati possono essere usati come informazioni di posa anzich impiegare tempo per programmare le pose del robot usando lunit di programmazione 5. Assegnare una posa ad una variabile rende i programmi pi leggibili. Le variabili posa sono definite come segue: .
DEFINIZIONE CON I COMANDI DEL MONITOR 1. Il comando HERE memorizza la posa attuale del robot sotto il nome specificato. Esempio 1 Usando i valori di spostamento giunto Iniziare il nome della variabile con il simbolo # per differenziarlo dai valori di trasformazione. In seguito al comando, i valori di spostamento giunto della posa corrente appariranno: > HERE #pose J T 1 J T 2 J T 3 J T 4 J T 5 J T 6 x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x Change (if not, hit RETURN only) ___ Cambiare (Se no, premere RETURN) > Esempio 2 Usando i valori di trasformazione In seguito al comando, appariranno i valori di trasformazione della posa attuale: >HERE pose X[mm] Y[mm] Z[mm] O[deg] A[deg] T[deg] xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx Change (if not, hit RETURN only) ___ Cambiare (Se no, premere RETURN) > 2. Il comando POINT usato per definire una posa usando unaltra variabile di posa definita o definendola con i dati inseriti da terminale.
Example 1 Usando valori di spostamento giunto (1) Definizione di una nuova variabile indefinita >POINT #pose
J T 1 J T 2 J T 3 J T 4 J T 5 J T 6 0 . 0 0 0 0 . 0 0 0 0 . 0 0 0 0 . 0 0 0 0 . 0 0 0 0 . 0 0 0 Change (if not, hit RETURN only) ___ Cambiare (Se no, premere RETURN) > Inserire i nuovi valori separando ogni valore con una virgola xxx, xxx, xxx, xxx, xxx, xxx
(2) Modificare il valore di una variabile indefinita >POI NT #pose J T 1 J T 2 J T 3 J T 4 J T 5 J T 6 10. 000 20. 000 30. 000 40. 000 50. 000 40. 000 Change (if not, hit RETURN only) ___ Cambiare (Se no, premere RETURN) Inserire il valore da modificare: 30, , , ,20, ;cambia il valore di JT1 e JT 5 in 30 e 20
(3) Sostituire il valore di una variabile definita >POINT pose_1=pose_2
J T 1 J T 2 J T 3 J T 4 J T 5 J T 6 10. 000 20. 000 30. 000 40. 000 50. 000 40. 000 Change (if not, hit RETURN only) ___ Cambiare (Se no, premere RETURN)
Il valore da definire come pose_1 (il valore recente di pose_2) appare. Premere per impostare i valori come sono, o modificarli nello stesso ordine del punto (2) qui sopra. NOTA Esempio 2 Usando valori di trasformazione Seguire la stessa procedura sopra riportata, solo che il nome della variabile non inizier con #.
DEFINIZIONE CON LE ISTRUZIONI DI PROGRAMMA 1. L istruzione HERE memorizza la posa attuale del robot sotto il nome specificato. HERE pose 2. Listruzione POINT sostituisce una variabile di posa con i valori della posa definita precedentemente.
POINT pose_1=pose_2
I valori di pose _1 sono sostituiti con i valori della variabili definita pose_2. Si verificher un errore se pose _2 non definita. Quando si usa un nome di variabile di posa che inizia con #, la variabile descrive i valori di spostamento giunto (#pick, #start). Se una variabile di posa non ha prefisso ed inizia con una qualsiasi lettera, la variabile descrive valori di trasformazione (pick, start).
UTILIZZANDO I VALORI DI TRASFORMAZIONE COMPOSTA I valori di trasformazione fra due coordinate possono essere espressi come una combinazione di valori di trasformazione fra due o pi coordinate di transizione. Viene chiamata valore di trasformazione composta o valore di trasformazione relativa. Per esempio, se plate il nome della variabile del valore di trasformazione che indica le coordinate della piastra rispetto alle coordinate base, e se la posa di un oggetto rispetto alla posa della piastra definito come object, il valore di trasformazione composta delloggetto rispetto alle coordinate base del robot pu essere descritto come plate+object. I valori di trasformazione composta possono essere definiti usando i comandi o le istruzioni usate per definire le variabili di posa. Come sopra indicato, i valori di trasformazione composta sono definiti dalla combinazione di diversi valori di trasformazione separati dal segno +. Non inserire spazi fra il segno + ed i valori di trasformazione. Usando questo metodo, possibile combinare tutti i valori di trasformazione che sono necessari. Se il robot deve prendere loggetto nella posa specificata come pickup definita rispetto a object, il programma sar scritto come segue: JMOVE plate+object+pickup
NOTA 1. Non cambiare lordine nel quale la trasformazione relativa espressa. Se, ad es., la variabile di trasformazione b definita rispetto alla variabile di trasformazione a, a+b dar il risultato che ci si aspetta, ma non b+a. I dati di posa object e pickup dallesempio di cui sopra sono definiti rispetto ad altri dati di posa. Non usare pertanto comandi come JMOVE object, LMOVE pickup senza essere certi del loro scopo e del loro effetto nel programma.
Quando si usa ripetutamente un valore di trasformazione composta, usare il comando POINT per ridurre il tempo di calcolo del valore di trasformazione composta. Ad es. per avvicinarsi alla posa pickup e raggiungerla, si pu inserire : JAPPRO plate + object + pickup,100 si avvicina 100mm sopra pickup JMOVE plate + object + pickup raggiunge con movimento lineare pickup
Invece, inserendo ci che segue, sar risparmiato del tempo di calcolo: POINT x = plate + object + pickup calcola la posa di destinazione JAPPRO x,100 si avvicina 100mm sopra la destinazione LMOVE x raggiunge con movimento lineare la destinazione Il risultato di questi due programmi equivalente, ma lultimo calcola la trasformazione composta solo una volta, il tempo di esecuzione quindi pi breve quando viene usato il comando POINT . In questo semplice esempio la differenza piccola ma in programmi pi complicati, produrrebbe una differenza maggiore migliorando il tempo ciclo complessivo.
DEFINIZIONE DELLE VARIABILI REALI Le variabili reali sono definite usando l istruzione di assegnazione (=). Il formato per l assegnazione di una variabile reale : Real_variable_ name = numeric_value (nome variabile=valore numerico) Esempio a=10.5 count=i*2+8 Z[2]=Z[1]+5.2 La variabile di sinistra pu essere una variabile scalare (ad es. count) oppure un elemento di un vettore (ad es. x[2]). Una variabile definita solo quando le viene assegnato un valore. Fino ad allora la variabile indefinita e se un programma che utilizza una variabile indefinita viene eseguito, si verificher un errore. Il valore numerico a destra pu essere una costante, una variabile o unespressione numerica. Quando si esegue un istruzione di assegnazione, il valore di destra dellistruzione di assegnazione viene dapprima calcolato e poi assegnato alla variabile di sinistra. Se la variabile di sinistra nuova e prima non gli stato mai assegnato un valore, il valore a destra viene automaticamente assegnato a questa variabile. Se la variabile di sinistra era gi stata definita, il nuovo valore sostituir il corrente valore. Ad esempio, listruzione x=3 assegna il valore 3 alla variabile x. Va letta, assegna 3 a x e non x uguale a 3. Il seguente esempio illustra chiaramente l ordine di esecuzione: x= x+1. Se questesempio fosse unequazione matematica, sarebbe letto x uguale a x pi 1, e non avrebbe senso. Ma considerata come unistruzione di assegnazione va letta, assegna il valore di x pi 1 a x. In questo caso viene calcolata la somma del valore attuale di x pi 1, in seguito il risultato viene assegnato ad x come nuovo valore. Tale equazione richiede che il valore di x sia definito prima, come segue: x=3 x=x+1 In questo caso il valore risultante di x 4.
DEFINIZIONE DELLE VARIABILI DI STRINGA Le variabili delle stringhe di caratteri sono definite usando listruzione di assegnazione (=). Il formato per l assegnazione di una variabile stringa : $string_variable=string_value (variabile stringa=valore stringa) Esempio $a1=$a2 $error mess[2]="time over" La variabile stringa a sinistra pu essere una variabile (ad es. $name), o un elemento di vettore (ad es. $line[2]). Una variabile definita solo quando le viene assegnato un valore. Fino ad allora rimane indefinita, e se un programma che utilizza una variabile indefinita viene eseguito, si verificher un errore. La stringa di caratteri a destra pu essere una costante di stringa, una variabile di stringa o unespressione di stringa. Quando viene eseguita un istruzione di assegnazione, il valore a destra viene dapprima determinato ed in seguito il valore viene assegnato alla variabile di sinistra. $name = "KAWASKI HEAVY INDUSTRIES LTD." Nellistruzione di cui sopra la stringa racchiusa fra virgolette sar assegnata alla variabile $name (nome). Se la variabile a sinistra dellistruzione non mai stata usata prima, la stringa sar automaticamente assegnata a questa variabile. Se la variabile di sinistra era gi stata definita, quest istruzione sostituir la stringa attuale con la nuova stringa di destra. ESPRESSIONI NUMERICHE Le espressioni numeriche sono delle combinazioni di numeri, variabili, funzioni specifiche o altre espressioni numeriche collegate da operatori. Tutte le espressioni numeriche valutate dal sistema danno come risultato un numero reale. Le espressioni numeriche possono essere usate ovunque al posto di valori numerici. Possono essere usate come parametri in comandi monitor ed istruzioni di programma, o come indici di vettori. L interpretazione del valore dipende dal contesto nel quale lespressione utilizzata. Ad esempio, l espressione usata per un indice di vettore interpretata come valore intero. L espressione usata per un valore logico interpretata come falsa quando vale 0 e vera se il valore diverso da 0. OPERATORI Per descrivere le espressioni sono presenti degli operatori aritmetici, logici e binari. Tutti gli operatori combinano due valori ed ottengono come risultato un unico valore. Ci sono delle eccezioni: i due operatori (NOT e COM) operano su un singolo valore e loperatore () che pu operare su uno o due valori. Gli operatori sono descritti qui sotto.
Operatori aritmetici +
* / ^ MOD Addizione Sottrazione o negazione Moltiplicazione Divisione Potenza Resto Operatori relazionali < <=, =< == <> >=, => > Minore di Minore o uguale a Uguale Non uguale a Maggiore o uguale a Maggiore di Operatori logici AND NOT OR XOR AND logico Complemento logico OR logico OR logico esclusivo Operatori binari BAND BOR BXOR COM AND binario OR binario XOR binario Complemento
NOTA 1. Loperatore relazionale == un operatore che controlla se due valori sono uguali ed diverso dall indicatore di assegnazione = . 2. L operatore binario BOR esegue loperazione OR su ciascun bit binario dei due valori numerici. In questesempio il valore espresso in formato binario ma questoperazione pu essere usata con qualsiasi formato ^B101000 BOR ^B100001 > ^B101001 Questo risultato diverso da quanto si ottiene con l operatore logico OR. ^B101000 OR ^B100001 > - 1( TRUE) In questo caso, ^B101000 e ^B100001 sono interpretati come valori logici, e siccome nessuno 0 (FALSE), l espressione valutata come TRUE.
SEQUENZA DELLE OPERAZIONI Le espressioni sono calcolate in base ad una sequenza di priorit . La priorit elencata di seguito dal punto 1 al 14. L ordine delle operazioni pu essere determinato dall uso delle parentesi che raggruppa i componenti di unespressione. Calcolando unespressione con parentesi, per prima viene calcolata l espressione compresa all interno delle parentesi pi interne, continuando poi con le parentesi pi lontane. 1. Calcolo delle funzioni e dei vettori 2. Esecuzione degli operatori relazionali riguardanti le stringhe di caratteri 3. Esecuzione delle elevazioni a potenza ^ 4. Esecuzione di operatori unari - (negazione), NOT, COM 5. Esecuzione di moltiplicazioni * e divisioni / da sinistra a destra 6. Calcolo del resto (operazione MOD) da sinistra a destra 7. Esecuzione delle addizioni+ e sottrazioni- da sinistra a destra 8. Esecuzione degli operatori relazionali da sinistra a destra 9. Esecuzione degli operatori BAND da sinistra a destra 10. Esecuzione degli operatori BOR da sinistra a destra 11. Esecuzione degli operatori BXOR da sinistra a destra 12. Esecuzione degli operatori AND da sinistra a destra 13. Esecuzione degli operatori OR da sinistra a destra 14. Esecuzione degli operatori XOR da sinistra a destra
ESPRESSIONI LOGICHE Le espressioni logiche danno come risultano un valore logico TRUE (vero) o FALSE (falso). Unespressione logica pu essere usata come condizione per determinare loperazione successiva da eseguire in un programma. Nellesempio seguente, unespressione logica semplice, x>y, usata in una subroutine quale fra due variabili il valore da assegnare alla variabile max. IF x>y GOTO 10 max=y GOTO 20 10 max=x 20 RETURN Quando si calcolano delle espressioni logiche, il valore zero considerato FALSE e tutti i valori diversi da zero sono considerati TRUE. Perci tutti i valori reali o le espressioni di valore reale possono essere usate come valore logico. Ad esempio, le due seguenti espressioni hanno lo stesso significato, ma la seconda pi semplice da capire. IF x GOTO 10 IF x<>0 GOTO 10
ESPRESSIONI STRINGA Le espressioni stringa sono la combinazione di stringhe di carattere, variabili stringa, funzioni specifiche o altre espressioni stringa collegate da operatori. I seguenti operatori sono usati con le espressioni stringa. Operatore stringa + Combinazione < Minore di <=, =< Minore o uguale a Operatori == Uguale a relazionali <> Non uguale a >=, => Maggiore di o uguale a > Maggiore di
Il risultato delluso di un operatore stringa sar una stringa, e loperatore relazionale sar un valore reale. Quando si usano operatori relazionali con stringhe di carattere, le stringhe sono comparate carattere per carattere a partire dal primo carattere stringa. Se tutti i caratteri sono uguali, le due stringhe sono considerate uguali, ma se c anche solo una differenza, la stringa con un numero di caratteri maggiore calcolata come la stringa maggiore. Se una delle stringhe pi piccola, la pi piccola calcolata come minore. Nelle operazioni di relazione con stringhe, gli spazi e le tabulazioni sono considerate come un carattere. "AA" < "AB" "BASI C" == "BASI C" "PEN. " > "PEN" "DESK" < "DESKS"
NOTA Le lettere minuscole e maiuscole di unespressione stringa sono considerate come caratteri diversi .
Domini di resistenza in pressoflessione deviata per sezioni in c.a.: procedura parametrica per il tracciamento e confronti con formulazioni semplificate