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.

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.

Alterar funções NC

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

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

; Encadear valores alfanuméricos

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

Converter valores alfanuméricos em valores numéricos

Fórmula Q/QL/QR

TOCHAR

Converter o valor numérico num valor alfanumérico e atribuir a um parâmetro QS.

Converter valores numéricos em valores alfanuméricos

Fórmula de string QS

SUBSTR

Copiar string parcial de um parâmetro QS e atribuir a um parâmetro QS

Copiar string parcial de um parâmetro QS

Fórmula de string QS

SYSSTR

Ler dados do sistema e atribuir conteúdos a um parâmetro QS

Ler dados do sistema com SYSSTR

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

Aplicar o conteúdo de um parâmetro de máquina

  • Fórmula de string QS
  • Fórmula Q/QL/QR

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

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: YYYY-MM-DD hh:mm:ss
  • 5: YYYY-MM-DD hh:mm
  • 6: YYYY-MM-DD h:mm
  • 7: YY-MM-DD h:mm
  • 8: DD.MM.YYYY
  • 9: D.MM.YYYY
  • 10: D.MM.YY
  • 11: YYYY-MM-DD
  • 12: YY-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.YYYY hh:mm
  • 20: XX
  • A designação XX corresponde à indicação de 2 dígitos da semana de calendário atual que, de acordo com a norma ISO 8601, apresenta as seguintes características:

    • Tem sete dias
    • Começa à segunda-feira
    • É numerada consecutivamente
    • A primeira semana de calendário inclui a primeira quinta-feira do ano

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

 
Tip

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.

Aplicar o conteúdo de um parâmetro de máquina

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:

    1. Selecionar Inserir função NC
    2. O comando abre a janela Inserir função NC.

    1. Selecionar DECLARE STRING
    2. Definir o parâmetro QS para o resultado
    3. Selecionar Nome
    4. Introduzir o valor desejado
    5. Terminar o bloco NC

    1. Executar o bloco NC
    2. O comando guarda o valor introduzido no parâmetro de destino.

    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:

      1. Selecionar Inserir função NC
      2. O comando abre a janela Inserir função NC.

      1. Selecionar Fórmula de string QS
      2. Definir o parâmetro QS para o resultado

      1. Abrir o teclado para introdução de fórmulas

      1. Selecionar o operador de encadeamento ||

      1. À esquerda do símbolo do operador de encadeamento, definir o número do parâmetro QS com a primeira string parcial
      2. À direita do símbolo do operador de encadeamento, definir o número do parâmetro QS com a segunda string parcial
      3. Terminar o bloco NC
      4. Confirmar a introdução
      5. Após o processamento, o comando guarda as strings parciais consecutivamente como valor alfanumérico no parâmetro de destino.

      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:

      1. Caracteres principais, p. ex., ?_
      2. Algarismos, p. ex., 123
      3. Maiúsculas, p. ex., ABC
      4. Minúsculas, p. ex., abc
       
      Tip

      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

      Exemplo

      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

      Ler parâmetros de máquina com CFGREAD

      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.