Skip to main content

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. O non è definito, quindi viene utilizzata una variabile di decodifica interna. Il valore predefinito di questa variabile interna -1.

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 O non è definita, viene utilizzata una variabile di decodifica interna.

D

Incremento

Esempio 45. Esempio

Programmazione del contatore (se il percorso viene elaborato online)

  1. 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.

Esempio 46. Esempio
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.