Modifica dei valori delle variabili
codice G: G36
, G37
Funzione: I comandi cambiano il valore di una variabile. G36
scrive il valore specificato in una variabile. G37
incrementa la variabile del valore specificato. O$var$
definisce la variabile che viene modificata. D
definisce il valore che è scritto per G36
o aggiunto per G37
. Il comando viene utilizzato, ad esempio, per un contatore di loop necessario per i salti condizionali.
Sintassi
G36 O D G37 O D
Parola di codice G per G36 | Descrizione |
---|---|
O | Variabile scritta. La variabile interna può essere utilizzata nel Salto comando. |
D | Nuovo valore variabile |
Parola di codice G per G37 | |
O | Variabile che viene incrementata. Se |
D | Incremento |
Programmazione del contatore (se il percorso viene elaborato online)
Il
g_i
la variabile globale è impostata su 5.
N1000 G36 O$g_i$ D5
Le linee 1010 e 1020 vengono percorse cinque volte.
N1000 G36 O$g_i$ D5 N1010 G1 X100 F100 E100 E-100 N1020 G1 X0 N1030 G37 O$g_i$ D-1 N1040 G20 L1010 K$g_i$
Suggerimento
Il meccanismo funziona solo se il percorso viene elaborato online, perché solo così è possibile utilizzare le variabili. Questo meccanismo non funziona nell'editor CNC.
Programmazione del contatore per la modalità offline
Per lavorare con l'editor offline, non specificare nessuna variabile tramite O
. Quindi una variabile di decodifica implicita di tipo INT
viene utilizzato. Tuttavia, è disponibile solo una variabile. Non è possibile programmare salti o loop nidificati.
Utilizzo di variabili stringa
Puoi usare una variabile stringa nella parola O nel codice G. Inoltre, a questa variabile può essere assegnato e inserito un valore di stringa tramite il comando G36
e G37
.
N10 G36 O$strTest$ D'Name'
Il strTest
variabile ottiene il valore Nome.
N20 G37 O$strTest$ D'=Test'
Il valore =Test
viene aggiunto alla variabile strTest
.
Suggerimento
Se si utilizzano variabili stringa nel programma CNC e se il programma CNC (nel programma IEC) viene letto mediante il tasto SMC_ReadNCFile
blocco funzione, quindi i buffer per le stringhe devono essere riservati nel programma IEC. Altrimenti, l'errore SMV_RNCF_NO_STRINGBUFFER
si verifica. Il SMC_StringBuffer
blocco funzione è disponibile per questo scopo.
Ogni stringa del programma CNC richiede il proprio spazio nell'istanza del blocco funzione di SMC_StringBuffer
, anche se la stessa stringa si verifica più volte.
La seguente dichiarazione può bufferizzare 32 stringhe, ad esempio:
sb: SMC_StringBuffer(uiBufferSize := 32);
L'istanza del blocco funzione sb
viene passato come puntatore al pStringBuffer
ingresso del SMC_ReadNCFile
esempio.