Funções de string
Aplicação
Com as funções de string, é possível definir e processar strings por meio de parâmetros QS para, p. ex., criar protocolos variáveis com FN 16: F-PRINT. No domínio da informática, um string designa uma sequência de caracteres alfanumérica.
Temas relacionados
- Intervalos de variáveis
Descrição das funções
Podem-se atribuir, no máximo, 255 caracteres a um parâmetro QS.
Dentro dos parâmetros QS, são permitidos os seguintes caracteres:
- Letras
- Algarismos
- Carateres especiais, p. ex., ?
- Carateres de controlo, p. ex., \ para caminhos
- Espaço
As várias funções de string são programadas por meio da introdução de sintaxe livre.
Os valores dos parâmetros QS podem ser processados ou verificados com as funções NC Fórmula Q/QL/QR ou Fórmula de string QS.
Sintaxe | Função NC | Função NC superior |
---|---|---|
DECLARE STRING | Atribuir valor alfanumérico a um parâmetro QS | |
FÓRMULA DE STRING | Encadear conteúdos de parâmetros QS e atribuir a um parâmetro QS | Fórmula de string QS |
TONUMB | Converter o valor alfanumérico de um parâmetro QS num valor numérico e atribuir a um parâmetro Q, QL ou QR | Fórmula Q/QL/QR |
TOCHAR | Converter o valor numérico num valor alfanumérico e atribuir a um parâmetro QS. | Fórmula de string QS |
SUBSTR | Copiar string parcial de um parâmetro QS e atribuir a um parâmetro QS | Fórmula de string QS |
SYSSTR | Ler dados do sistema e atribuir conteúdos a um parâmetro QS | Fórmula de string QS |
INSTR | Pesquisar string parcial num parâmetro QS e atribuir a posição encontrada a um parâmetro Q, QL ou QR Pesquisar string parcial dentro do conteúdo de um parâmetro QS | Fórmula Q/QL/QR |
STRLEN | Determinar o comprimento dos caracteres de um parâmetro QS e atribuir a um parâmetro Q, QL ou QR Determinar o número de caracteres do conteúdo de um parâmetro QS | Fórmula Q/QL/QR |
STRCOMP | Comparar a ordem lexical ascendente de parâmetros QS e atribuir o resultado a um parâmetro Q, QL ou QR Comparar a ordem lexical de duas sequências de caracteres alfanuméricos | Fórmula Q/QL/QR |
CFGREAD | Ler o conteúdo de um parâmetro de máquina e atribuir a um parâmetro QS |
|
Ler dados do sistema com SYSSTR
Com a função NC SYSSTR, é possível ler dados do sistema e guardá-los em parâmetros QS. O dado do sistema é selecionado através de um número de grupo ID e um número NR.
Opcionalmente, podem-se introduzir IDX e DAT.
Podem ser lidos os seguintes dados do sistema:
Nome do grupo, N.º ID | Número | Significado |
---|---|---|
Informação de programa, 10010 | 1 | Caminho do programa principal ou programa de paletes atual |
2 | Caminho do programa NC executado atualmente | |
3 | Caminho do programa NC selecionado com o ciclo 12 PGM CALL | |
10 | Caminho do programa NC selecionado com SEL PGM | |
Dados do canal, 10025 | 1 | Nome do canal atual, p. ex., CH_NC |
Valores programados na chamada de ferramenta, 10060 | 1 | Nome da ferramenta atual Tip A função NC só guarda o nome da ferramenta, se a ferramenta for chamada através do nome da ferramenta. |
Cinemática, 10290 | 10 | Cinemática programada na última função NC FUNCTION MODE |
Hora atual do sistema, 10321 | 1 - 16, 20 |
|
Dados do apalpador, 10350 | 50 | Tipo do apalpador de peça de trabalho TS ativo |
70 | Tipo do apalpador de ferramenta TT ativo | |
73 | Nome do apalpador de ferramenta TT ativo do parâmetro de máquina activeTT | |
Dados para maquinagem de paletes, 10510 | 1 | Nome da palete processada atualmente |
2 | Caminho da tabela de paletes atualmente selecionada | |
Versão do software NC, 10630 | 10 | Número da versão do software NC |
Informação para o ciclo de desequilíbrio, 10855 | 1 | Caminho da tabela de calibração de desequilíbrio A tabela de calibração de desequilíbrio pertence à cinemática ativa. |
Dados de ferramenta, 10950 | 1 | Nome da ferramenta atual |
2 | Conteúdo da coluna DOC da ferramenta atual | |
3 | Ajuste de regulação AFC da ferramenta atual | |
4 | Cinemática do porta-ferramenta da ferramenta atual |
Ler parâmetros de máquina com CFGREAD
A função NC CFGREAD permite ler conteúdos de parâmetros de máquina do comando como valores numéricos ou alfanuméricos. Os valores numéricos lidos são sempre dados no sistema métrico.
Para ler um parâmetro de máquina, devem-se determinar os seguintes conteúdos no editor de configuração do comando:
Símbolo | Tipo | Significado |
---|---|---|
Tecla (key) | Nome do grupo do parâmetro de máquina O nome do grupo pode ser indicado opcionalmente | |
Entidade | Objeto do parâmetro O nome começa sempre por Cfg | |
Atributo | Nome do parâmetro de máquina | |
Índice | Índice de listas de um parâmetro de máquina O índice de listas pode ser indicado opcionalmente |
No editor de configurações dos parâmetros de máquina, é possível modificar a representação dos parâmetros existentes. Com a configuração standard, os parâmetros são visualizados com textos explicativos curtos.
Antes de poder ler um parâmetro de máquina com a função NC CFGREAD, deve-se definir respetivamente um parâmetro QS com atributo, entidade e chave.
Atribuir valor alfanumérico a um parâmetro QS
Antes de se poderem utilizar e processar valores alfanuméricos, é necessário atribuir sinais aos parâmetros QS. Para isso utilize o comando DECLARE STRING.
Para atribuir um valor alfanumérico a um parâmetro QS, proceda da seguinte forma: | ||
| ||
| ||
|
Neste exemplo, o comando atribui um valor alfanumérico ao parâmetro QS QS10.
11 DECLARE STRING QS10 = "workpiece" | ; Atribuir valor alfanumérico a QS10 |
; Encadear valores alfanuméricos
O operador de encadeamento || permite encadear os conteúdos de vários parâmetros QS entre si. Podem-se combinar, p. ex., valores alfanuméricos fixos e variáveis.
Para encadear os conteúdos de vários parâmetros QS, proceda da seguinte forma: | ||
| ||
| ||
| ||
| ||
|
Neste exemplo, o comando encadeia os conteúdos dos parâmetros QS QS12 e QS13. O comando atribui o valor alfanumérico ao parâmetro QS QS10.
11 QS10 = QS12 || QS13 | ; Encadear conteúdos de QS12 e QS13 e atribuir ao parâmetro QS QS10 |
Conteúdos de parâmetros
- QS12: Estado:
- QS13: Desperdícios
- QS10: Estado: desperdícios
Converter valores alfanuméricos em valores numéricos
A função NC TONUMB permite converter exclusivamente caracteres numéricos de um parâmetro QS noutro tipo de variável. Em seguida, estes valores podem ser utilizados em cálculos.
Neste exemplo, o comando converte o valor alfanumérico do parâmetro QS QS11 num valor numérico. O comando atribui este valor ao parâmetro Q Q82.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Converter o valor alfanumérico de QS11 num valor numérico e atribuir a Q82 |
Converter valores numéricos em valores alfanuméricos
Com a função NC TOCHAR, é possível guardar o conteúdo de uma variável num parâmetro QS. O conteúdo guardado pode ser, p. ex., encadeado com outros parâmetros QS.
Neste exemplo, o comando converte o valor numérico do parâmetro Q Q50 num valor alfanumérico. O comando atribui este valor ao parâmetro QS QS11.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Converter o valor numérico de Q50 num valor alfanumérico e atribuir ao parâmetro QS QS11 |
Copiar string parcial de um parâmetro QS
Com a função NC SUBSTR, é possível guardar uma string parcial definida de um parâmetro QS em outro parâmetro QS. Esta função NC pode ser utilizada, p. ex., para extrair o nome de ficheiro de um caminho de ficheiro absoluto.
Neste exemplo, o comando guarda uma string parcial do parâmetro QS QS10 no parâmetro QS QS13. Através do elemento de sintaxe BEG2 define-se que o comando copia a partir do terceiro carácter. Com o elemento de sintaxe LEN4 define-se que o comando copia os quatro caracteres seguintes.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Atribuir a string parcial de QS10 ao parâmetro QS QS13 |
Pesquisar string parcial dentro do conteúdo de um parâmetro QS
Com a função NC INSTR, é possível verificar se uma determinada string parcial se encontra dentro de um parâmetro QS.. Isso permite, p. ex., controlar se o encadeamento de vários parâmetros QS se realizou corretamente. Para a verificação, são necessários dois parâmetros QS. O comando pesquisa o primeiro parâmetro QS de acordo com o conteúdo do segundo parâmetro QS.
Se o comando encontra a string parcial, guarda o número de caracteres até à posição encontrada da string parcial no parâmetro de resultado. Em caso de múltiplas posições encontradas, o resultado é idêntico, dado que o comando guarda a primeira posição encontrada.
Se o comando não encontrar a string parcial a pesquisar, guarda a quantidade total de carateres no parâmetro de resultado.
Neste exemplo, o comando pesquisa no parâmetro QS QS10 a sequência de caracteres guardada em QS13. A pesquisa começa na terceira posição. O comando começa a contagem dos carateres em zero. O comando atribui a posição encontrada como número de caracteres ao parâmetro Q Q50.
11 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) | ; Pesquisar a string parcial de QS13 em QS10 |
Determinar o número de caracteres do conteúdo de um parâmetro QS
A função NC STRLEN determina o número de caracteres do conteúdo de um parâmetro QS. Esta função NC permite, p. ex., determinar o comprimento de um caminho de ficheiro.
Se o parâmetro QS selecionado não estiver definido, o comando emite o resultado -1.
Neste exemplo, o comando determina o número de caracteres do parâmetro QS QS15. O comando atribui o valor numérico do número de caracteres ao parâmetro Q Q52.
11 Q52 = STRLEN ( SRC_QS15 ) | ; Determinar número de caracteres de QS14 e atribuir a Q52 |
Comparar a ordem lexical de duas sequências de caracteres alfanuméricos
Com a função NC STRCOMP, é possível a comparar a ordem lexical do conteúdo de dois parâmetros QS.
O comando informa os seguintes resultados:
- 0: O conteúdo dos dois parâmetros QS é idêntico
- -1: O conteúdo do primeiro parâmetro QS encontra-se antes do conteúdo do segundo parâmetro QS na ordem lexical.
- +1: O conteúdo do primeiro parâmetro QS encontra-se depois do conteúdo do segundo parâmetro QS na ordem lexical.
A ordem lexical é a seguinte:
- Caracteres principais, p. ex., ?_
- Algarismos, p. ex., 123
- Maiúsculas, p. ex., ABC
- Minúsculas, p. ex., abc
O comando verifica a partir do primeiro carácter até que o conteúdo do parâmetro QS se diferencie. Se os conteúdos se diferenciarem, p. ex., na quarta posição, o comando interrompe a verificação nesse ponto.
Conteúdos mais curtos com uma sequência de caracteres idêntica são mostrados por ordem primeiro, p. ex., abc antes de abcd.
Neste exemplo, o comando compara a ordem lexical de QS12 e QS14. O comando atribui o resultado como valor numérico ao parâmetro Q Q52.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; Comparar a ordem lexical dos valores de QS12 e QS14 |
Aplicar o conteúdo de um parâmetro de máquina
Dependendo do conteúdo do parâmetro de máquina, através da função NC CFGREAD, é possível aplicar valores alfanuméricos em parâmetros QS ou valores numéricos em parâmetros Q, QL ou QR.
Neste exemplo, o comando guarda o fator de sobreposição do parâmetro de máquina pocketOverlap como valor numérico num parâmetro Q.
Definições pré-indicadas nos parâmetros de máquina:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; Atribuir chave ao parâmetro QS QS11 |
12 QS12 = "CfgGeoCycle" | ; Atribuir entidade ao parâmetro QS QS12 |
13 QS13 = "pocketOverlap" | ; Atribuir atributo ao parâmetro QS QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Ler conteúdo do parâmetro de máquina |
A função NC CFGREAD contém os seguintes elementos de sintaxe:
- KEY_QS: nome do grupo (tecla) do parâmetro de máquina
- Tip
Se não existir nenhum nome de grupo, defina um valor em branco para o parâmetro QS correspondente.
- TAG_QS: nome do objeto (entidade) do parâmetro de máquina
- ATR_QS: nome (atributo) do parâmetro de máquina
- IDX: índice do parâmetro de máquina
Aviso
Caso se utilize a função NC Fórmula de string QS, o resultado é sempre um valor alfanumérico. Utilizando-se a função NC Fórmula Q/Q/QL/QR, o resultado é sempre um valor numérico.