Funzioni stringa
Applicazione
Le funzioni stringa consentono di definire ed elaborare le stringhe con l'ausilio di parametri QS per creare ad es. protocolli variabili con FN 16: F-PRINT. Nell'informatica una stringa indica una stringa di caratteri alfanumerica.
Argomenti trattati
- Range di variabili
Descrizione funzionale
A un parametro QS possono essere assegnati max 255 caratteri.
All'interno di parametri QS sono ammessi i caratteri seguenti:
- Lettere
- Valori numerici
- Caratteri speciali, ad es. ?
- Caratteri di controllo, ad es. \ per percorsi
- Carattere di spaziatura
I valori di parametri QS possono essere elaborati o verificati con le funzioni NC Formula Q/QL/QR e Formula stringa QS.
Sintassi | Funzione NC | Funzione NC di ordine superiore |
---|---|---|
DECLARE STRING | Assegnazione del valore alfanumerico a un parametro QS | |
STRING-FORMEL | Concatenamento dei contenuti di parametri QS e assegnazione a un parametro QS | Formula stringa QS |
TONUMB | Conversione del valore alfanumerico di un parametro QS in un valore numerico e assegnazione a un parametro Q, QL e QR | Formula Q/QL/QR |
TOCHAR | Conversione del valore numerico in un valore alfanumerico e assegnazione a un parametro QS | Formula stringa QS |
SUBSTR | Copia della stringa parziale da un parametro QS e assegnazione a un parametro QS | Formula stringa QS |
SYSSTR | Lettura dei dati di sistema e assegnazione dei contenuti a un parametro QS | Formula stringa QS |
INSTR | Ricerca della stringa parziale in un parametro QS e assegnazione dell'occorrenza a un parametro Q, QL e QR Ricerca di una stringa parziale all'interno del contenuto di un parametro QS | Formula Q/QL/QR |
STRLEN | Determinazione della lunghezza di caratteri di un parametro QS e assegnazione a un parametro Q, QL e QR Determinazione del numero di caratteri del contenuto di un parametro QS | Formula Q/QL/QR |
STRCOMP | Confronto dell'ordine lessicale crescente di parametri QS e assegnazione del risultato a un parametro Q, QL e QR Confronto dell'ordine lessicale di due stringhe di caratteri alfanumerici | Formula Q/QL/QR |
CFGREAD | Lettura del contenuto di un parametro macchina e assegnazione a un parametro QS |
|
Il controllo numerico offre le seguenti possibilità per inserire le formule:
- Completamento automatico
Immissione formula con l'ausilio del completamento automatico
- Tastiera in primo piano per immissione formula dalla barra delle azioni o dalla maschera
- Modo Immissione formula della tastiera virtuale
Lettura dei dati di sistema con SYSSTR
Con la funzione NC SYSSTR si possono leggere i dati di sistema e memorizzare i contenuti in parametri QS. La data di sistema si seleziona tramite un numero di gruppo ID e un numero NR.
Come opzione possono essere immessi IDX e DAT.
Possono essere letti i seguenti dati di sistema:
Nome gruppo, N. ID | Numero | Significato |
---|---|---|
Informazioni programma, 10010 | 1 | Percorso del programma principale attuale o del programma pallet |
2 | Percorso del programma NC correntemente eseguito | |
3 | Percorso del programma NC selezionato con ciclo 12 PGM CALL | |
10 | Percorso del programma NC selezionato con SEL PGM | |
Dati canale, 10025 | 1 | Nome del canale corrente, ad es. CH_NC |
Valori programmati direttamente nella chiamata utensile, 10060 | 1 | Nome dell'utensile corrente Tip La funzione NC salva il nome utensile solo se si richiama l'utensile con il nome utensile. |
Ora di sistema attuale, 10321 | 1 - 16, 20 |
|
Dati del sistema di tastatura, 10350 | 50 | Tipo del sistema di tastatura pezzo attivo TS |
70 | Tipo del sistema di tastatura utensile attivo TT | |
73 | Nome del sistema di tastatura utensile attivo TT dal parametro macchina activeTT | |
Dati per lavorazione pallet, 10510 | 1 | Nome del pallet correntemente in lavorazione |
2 | Percorso della tabella pallet attualmente selezionata | |
Versione software NC, 10630 | 10 | Numero della versione software NC |
Dati utensile, 10950 | 1 | Nome dell'utensile corrente |
2 | Contenuto della colonna DOC dell'utensile corrente | |
3 | Impostazione della regolazione AFC dell'utensile corrente | |
4 | Cinematica del portautensili dell'utensile corrente |
Lettura di parametri macchina con CFGREAD
La funzione NC CFGREAD consente di leggere i contenuti dei parametri macchina del controllo numerico come valori numerici o alfanumerici. I valori numerici letti vengono emessi sempre in unità metriche.
Per leggere un parametro macchina è necessario determinare i seguenti contenuti nell'editor di configurazione del controllo numerico:
Icona | Tipo | Significato |
---|---|---|
Key | Nome gruppo del parametro macchina Il nome gruppo può essere indicato come opzione | |
Entità | Oggetto parametrico Il nome inizia sempre con Cfg | |
Attributo | Nome del parametro macchina | |
Indice | Indice lista di un parametro macchina L'indice lista può essere indicato come opzione |
Nell'editor di configurazione per i parametri macchina è possibile modificare la rappresentazione dei parametri presenti. Con l'impostazione standard vengono visualizzati i parametri con brevi testi esplicativi.
Se si legge un parametro macchina con la funzione NC CFGREAD, è necessario definire in precedenza un parametro QS con attributo, entità e key.
Assegnazione del valore alfanumerico a un parametro QS
Prima di poter impiegare ed elaborare valori alfanumerici, è necessario assegnare caratteri ai parametri QS. A tale scopo viene impiegata l’istruzione DECLARE STRING.
Un valore alfanumerico viene assegnato a un parametro QS come descritto di seguito: | ||
| ||
| ||
|
In questo esempio il controllo numerico assegna un valore alfanumerico al parametro QS QS10.
11 DECLARE STRING QS10 = "workpiece" | ; Assegnazione del valore alfanumerico a QS10 |
Concatenamento dei valori alfanumerici
Con l'operatore di concatenamento || si possono concatenare tra loro i contenuti di più parametri QS. Possono essere combinati ad es. valori alfanumerici fissi e variabili.
I contenuti di più parametri QS si concatenano come descritto di seguito: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
In questo esempio il controllo numerico concatena i contenuti dei parametri QS QS12 e QS13. Il controllo numerico assegna il valore alfanumerico al parametro QS QS10.
11 QS10 = QS12 || QS13 | ; Concatenamento dei contenuti di QS12 e QS13 e assegnazione al parametro QS QS10 |
Contenuti dei parametri:
- QS12: Stato
- QS13: Scarto
- QS10: Stato: scarto
Conversione di valori alfanumerici in valori numerici
La funzione NC TONUMB consente di salvare esclusivamente caratteri numerici di un parametro QS in un altro tipo di variabile. Infine è possibile impiegare questi valori all'interno di calcoli.
In questo esempio il controllo numerico converte il valore alfanumerico del parametro QS QS11 in un valore numerico. Il controllo numerico assegna questo valore al parametro Q Q82.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Conversione del valore alfanumerico di QS11 in un valore numerico e assegnazione a Q82 |
Conversione di valori numerici in valori alfanumerici
La funzione NC TOCHAR consente di salvare il contenuto di una variabile in un parametro QS. Il contenuto salvato può essere concatenato ad es. con altri parametri QS.
In questo esempio il controllo numerico converte il valore numerico del parametro Q Q50 in un valore alfanumerico. Il controllo numerico assegna questo valore al parametro QS QS11.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Conversione del valore numerico di Q50 in un valore alfanumerico e assegnazione al parametro QS QS11. |
Copia di una stringa parziale da un parametro QS
La funzione NC SUBSTR consente di salvare da un parametro QS una stringa parziale definita in un altro parametro QS. È possibile utilizzare questa funzione NC ad es. per estrarre il nome del file da un percorso assoluto.
In questo esempio il controllo numerico salva una stringa parziale del parametro QS QS10 nel parametro QS QS13. L'elemento di sintassi BEG2 consente di definire che il controllo numerico esegua la copia a partire dal terzo carattere. L'elemento di sintassi LEN4 consente di definire che il controllo numerico esegua la copia dei quattro caratteri seguenti.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Assegnazione della stringa parziale da QS10 al parametro QS QS13 |
Ricerca di una stringa parziale all'interno del contenuto di un parametro QS
La funzione NC INSTR consente di verificare se è presente una stringa parziale definita all'interno di un parametro QS. In questo modo è possibile definire, ad es., se ha funzionato il concatenamento di diversi parametri QS. Per la verifica sono necessari due parametri QS. Il controllo numerico cerca nel primo parametro QS il contenuto del secondo parametro QS.
Se il controllo numerico trova la stringa parziale, salva il numero di caratteri fino all'occorrenza della stringa parziale nel parametro di risultato. In presenza di più occorrenze il risultato è identico, in quanto il controllo numerico salva la prima occorrenza.
Se il controllo numerico non trova la stringa parziale da cercare, salva il numero totale dei caratteri nel parametro di risultato.
In questo esempio il controllo numerico cerca nel parametro QS QS10 la stringa di caratteri salvata in QS13. La ricerca ha inizio dalla terza posizione. Per il conteggio dei caratteri il controllo numerico inizia da zero. Il controllo numerico assegna l'occorrenza come numero di caratteri al parametro Q Q50.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) |
Determinazione del numero di caratteri del contenuto di un parametro QS
La funzione NC STRLEN determina il numero di caratteri del contenuto di un parametro QS. Questa funzione NC consente di determinare ad es. la lunghezza di un percorso del file.
Se il parametro QS selezionato non è definito, il controllo numerico fornisce il valore -1.
In questa esempio il controllo numerico determina i contenuti del parametro QS QS15. Il controllo numerico assegna il valore numerico del numero di caratteri al parametro Q Q52.
11 Q52 = STRLEN ( SRC_QS15 ) | ; Determinazione del numero di caratteri di QS15 e assegnazione a Q52 |
Confronto dell'ordine lessicale di due stringhe di caratteri alfanumerici
La funzione NC STRCOMP consente di confrontare l'ordine lessicale del contenuto di due parametri QS.
Il controllo numerico restituisce i seguenti risultati:
- 0: il contenuto di entrambi i parametri QS è identico
- -1: il contenuto del primo parametro QS si trova nell'ordine lessicale prima del contenuto del secondo parametro QS
- +1: il contenuto del primo parametro QS si trova nell'ordine lessicale dopo il contenuto del secondo parametro QS
L'ordine lessicale è come descritto di seguito:
- Caratteri speciali, ad es. ?_
- Valori numerici, ad es. 123
- lettere maiuscole, ad es. ABC
- lettere minuscole, ad es. abc
Il controllo numerico esegue la verifica a partire dal primo carattere finché il contenuto dei parametri QS non differisce. Se i contenuti differiscono ad es. nella quarta posizione, il controllo numerico interrompe la verifica in quella posizione.
Contenuti più brevi con identica stringa di caratteri vengono visualizza dapprima nell'ordine, ad es. abc prima abcd.
In questo esempio il controllo numerico confronta l'ordine lessicale di QS12 e QS14. Il controllo numerico assegna il risultato come valore numerico al parametro Q Q52.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; Confronto dell'ordine lessicale dei valori di QS12 e QS14 |
Conferma del contenuto di un parametro macchina
In funzione del contenuto del parametro macchina è possibile confermare con l'ausilio della funzione NC CFGREAD i valori alfanumerici in parametri QS o valori numerici in parametri Q, QL o QR.
In questo esempio il controllo numerico salva il fattore di sovrapposizione del parametro macchina pocketOverlap come valore numerico in un parametro Q.
Impostazioni predefinite nei parametri macchina:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; Assegnazione della key al parametro QS QS11 |
12 QS12 = "CfgGeoCycle" | ; Assegnazione dell'entità al parametro QS QS12 |
13 QS13 = "pocketOverlap" | ; Assegnazione dell'attributo al parametro QS QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Lettura del contenuto del parametro macchina |
La funzione NC CFGREAD contiene i seguenti elementi di sintassi:
- KEY_QS: nome gruppo (key) del parametro macchina
- Tip
Se non è presente alcun nome gruppo, si definisce un valore vuoto per il relativo parametro QS.
- TAG_QS: nome oggetto (entità) del parametro macchina
- ATR_QS: nome (attributo) del parametro macchina
- IDX: indice del parametro macchina
Nota
Se si impiega la funzione NC formula stringa QS, il risultato è sempre un valore alfanumerico. Se si impiega la funzione NC Formula Q/QL/QR, il risultato è sempre un valore numerico.