Variáveis Tipo Texto¶
| Bloco de Controle Padrão | |
| Função | Variáveis Tipo Texto |
| Código | 245 |
| Caminho | Programa/Editor Ladder/Elementos/Especiais/Bloco de controle Padrão |
| Grupo | Especiais |
| Ícone | ![]() |
| Tabela de compatibilidade de firmwares | |
| Geração de Firmware | GII, GII-DUO, G3, G3S, G3R |
A função deste bloco é viabilizar o acesso um conjunto de funções de operação de texto.Este bloco é executado em um único ciclo de scan do programa Ladder.
Para inseri-lo no programa, deve-se posicionar o cursor na posição desejada, selecionar no menu à esquerda o grupo “Especiais” e clicar no botão correspondente,|ico|
Parâmetros¶
| Função de Tamanho de Texto | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo o valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para obter o tamanho de um texto. No caso, deve possuir o valor numérico 1. |
| M[x + 1] | Identificador da variável Texto (X0..Xn) a ser obtido o tamanho. | ||
| P3 | M | M[y + 0] | Se a função foi realizada com sucesso, retorna o tamanho do texto. Se valor 0(zero) indica texto NULO, caso contrario, indica o número de caracteres do texto. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de :falha. Vide ref:tabela de códigos de erro . |
| Função de Comparar Textos | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo o valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para comparação de dois textos. No caso, deve possuir o valor numérico 2. |
| M[x + 1] | Identificador da 1ª variável Texto (X0..Xn) a ser comparada. | ||
| M[x + 2] | Identificador da 2ª variável Texto (X0..Xn) a ser comparada. | ||
| P3 | M | M[y + 0] | Se a função foi realizada com sucesso, retorna o resultado da comparação entre as duas variáveis texto, onde: 0: variáveis texto são iguais. 1: variáveis texto são diferentes. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Concatenar textos | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para concatenação de dois textos. No caso, deve possuir o valor numérico 3. |
| M[x + 1] | Identificador da 1ª variável Texto (X0..Xn) a ser concatenada. | ||
| M[x + 2] | Identificador da 2ª variável Texto (X0..Xn) a ser concatenada. | ||
| M[x + 3] | Identificador da variável Texto (X0..Xn) resultante a ser armazenada o texto concatenado. | ||
| P3 | M | M[y + 0] | Se a função foi realizada com sucesso, retorna o tamanho da variável texto resultante da operação de concatenação. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Limpar Textos | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para limpar um texto. No caso,deve possuir o valor numérico 4. |
| M[x + 1] | Identificador da variável Texto (X0..Xn) a ser limpo. | ||
| P3 | M | M[y + 0] | Parâmetro não utilizado para esta função (parâmetro dummy). |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Eliminar SubTexto | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para eliminar um subtexto de um texto. No caso, deve possuir o valor numérico 10 |
| M[x + 1] | Identificador da variável Texto (X0..Xn) a ser eliminada o subtexto. | ||
| M[x + 2] | Índice da variável texto, indicando o início do subtexto a ser eliminado. O primeiro índice corresponde ao primeiro caractere do texto, sendo identificado pelo índice 1. | ||
| M[x + 3] | Quantidade de caracteres a serem eliminados do texto. | ||
| P3 | M | M[y + 0] | Parâmetro não utilizado para esta função (parâmetro dummy). |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Copia SubTexto | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para procurar um caractere em um texto. No caso, deve possuir o valor numérico 11 |
| M[x + 1] | Identificador da variável Texto (X0..Xn) origem a ser pesquisado o caractere. | ||
| M[x + 2] | Código ASCII do caractere a ser pesquisado na variável Texto. | ||
| P3 | M | M[y + 0] | Se a função foi realizada com sucesso, retorna o resultado da pesquisa do caractere navariável Texto. No caso, representa o índice da variável texto onde foi encontrado o caractere. Assim, pode-se ter: 0: Caractere não encontrado na variável texto. 1..N: Índice da variável texto onde foi encontrado o caractere. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador. |
| Função de Procurar Caractere | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de coperações de texto. Deve ser uma onstante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para procurar um caractere em um texto. No caso, deve possuir o valor numérico 20. |
| M[x + 1] | Identificador da variável Texto (X0..Xn) origem a ser pesquisado o caractere. | ||
| M[x + 2] | Código ASCII do caractere a ser pesquisado na variável Texto. | ||
| P3 | M | M[y + 0] | Se a função foi realizada com sucesso, retorna o resultado da pesquisa do caractere na variável Texto. No caso, representa o índice da variável texto onde foi encontrado o caractere. Assim, podemos ter: 0: Caractere não encontrado na variável texto. 1..N: Índice da variável texto onde foi encontrado o caractere. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Substituir Caractere | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para substituir um caractere em um texto. No caso, deve possuir o valor numérico 21 |
| M[x + 1] | Identificador da variável Texto (X0..Xn) origem a ser substituído o caractere. | ||
| M[x + 2] | Índice da variável texto, indicando a posição do caractere a ser substituído. | ||
| M[x + 3] | Código ASCII do novo caractere a ser substituído na variável Texto. | ||
| P3 | M | M[y + 0] | Parâmetro não utilizado para esta função (parâmetro dummy). |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Obter Caractere | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para obter um caractere em um texto. No caso, deve possuir o valor numérico 22 |
| M[x + 1] | Identificador da variável Texto (X0..Xn) origem a ser obtido o caractere. | ||
| M[x + 2] | Índice da variável texto, indicando a posição (1..n) do caractere a ser obtido. | ||
| P3 | M | M[y + 0] | Código do caracter obtido no índice especificado da string. |
| P4 | M | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . |
| Função de Ajustar Casas Decimais | |||
|---|---|---|---|
| Parâmetros | Tipos | Valores | Descrição |
| P1 | K | Max(K) | Função do bloco SCB de acesso às funções de operações de texto. Deve ser uma constante inteira, cujo valor deve ser 245. |
| P2 | M | M[x + 0] | Código do subcomando associado à operação para configurar o número de casas decimais a serem apresentadas na conversão de variáveis do tipo D para X. No caso, deve possuir o valor numérico 30. |
| M[x + 1] | Número de casas decimais apresentadas na conversão de um valor em ponto flutuante para string. Pode ser um valor entre 0..10 para firmware GII e G3, e um valor entre 0..5 para firmware G3S. A especificação do valor 0 (zero) converte o valor em ponto flutuante sem casas decimais. O valor padrão para esta conversão são de 3 (três) casas decimais. | ||
| P3 | M – — M |
M[y + 0] | Parâmetro não utilizado para esta função (parâmetro dummy). |
| P4 | M[z + 0] | Código de retorno da execução da função, onde: Igual a 0 - Indica função executada com sucesso Diferente de 0 - Indica condição de falha. Vide Tabela de códigos de retorno do controlador . | |
Códigos de erros de P4¶
| Código de erro | Descrição |
| 0 | Função executada com sucesso. Nenhuma falha identificada no processo. |
| 5 | Algum parâmetro associado à operação texto é inválido. Por exemplo: O número do índice especificado de um texto é invalido. Por exemplo, se uma variável texto possui tamanho 5, e especifica um índice maior que 5 indica uma condição de índice inválido. O código do caractere ASCII é inválido. O número de casas decimais para ajuste está fora da escala de (0 a 10). |
Para mais informações sobre os códigos de erro consulte a Tabela de códigos de retorno do controlador .
Entradas¶
| Descrição das Entradas | |||
|---|---|---|---|
| Entrada | Função | Estado | Descrição |
| A1 | Ativação | Inativo | Neste estado o bloco não executa nenhuma ação, repassando apenas o estado inativo para a saída B1. |
| Ativo | Neste estado o bloco executa a funcionalidade associada ao mesmo. OBS: Cabe ressaltar que, para o bloco SCB, esta entrada opera por transição ou seja, o bloco é executado apenas quando a entrada A1 muda do estado inativo para o estado ativo. Uma vez ativada, a entrada A1 deverá permanecer ativa até o término da execução da função que é sinalizado através da ativação da saída B1 do bloco. | ||
Saída¶
| Descrição das Saídas | |||
|---|---|---|---|
| Saída | Função | Estado | Descrição |
| B1 | Ativação/Falha | Inativo | A saída B1 sempre estará inativa se a entrada A1 estiver inativa. Quando a entrada A1 for ativada a saída B1 permanecerá inativa enquando o bloco estiver executando o comando associado indicando que o processo ainda não terminou. |
| Ativo | Indica fim de execução do processo associado ao bloco. Para identificar se a função foi executada com sucesso é necessário examinar o parâmetro P4, que contém o código indicando o resultado da execução do processo associado. Para mais informações sobre os códigos disponíveis para esta função consulte a Tabela de códigos de retorno do controlador. | ||
Uma variável do tipo texto é composta por 50 bytes, que podem ser mapeados em três campos: dois de controle e um de dados. Um texto pode ser assim representado:
- Tamanho do Texto: [1 byte] Campo de controle que armazena o tamanho do texto. Um texto pode possuir um tamanho de 0 (zero) a 48 caracteres. Um texto com tamanho zero representa um texto NULO. Um texto com 48 caracteres representa um texto de tamanho máximo suportado pelo controlador;
- Caracteres do Texto: [48 bytes] Campo de dados que armazena todos os caracteres associados ao texto. Este campo pode possuir até 48 caracteres associado ao texto;
- Delimitador de Fim de Texto: [1 byte] Campo de controle que armazena o delimitador de fim de texto, representado pelo valor 0 (zero). Este delimitador sempre é armazenado no fim do texto. Se o texto possui tamanho máximo de 48 caracteres, este delimitador é armazenado no último byte (byte 49) do texto, caso contrario, é armazenado logo após o último caractere do texto. Em um texto NULO, o delimitador de fim de texto fica armazenado no byte 1 do texto, logo após o campo de controle de tamanho do texto que, neste caso, possui tamanho zero.
As variáveis texto do tipo X são dinamicamente alocadas no fim do mapa de memórias M dos controladores. Como uma variável texto ocupa 50 bytes, e uma 1 variável do tipo M ocupa 2 bytes, cada variável X do tipo texto é então mapeada em 25 memórias do tipo M. As variáveis texto são alocadas em ordem decrescente no mapa de memória M. Ou seja, sempre no topo da base de memória M será mapeada a variável X0 e, a partir desta, as demais variáveis texto definidas na aplicação. Considerando que existem 3000 variáveis M (M0 a M2999) disponíveis no mapa de memórias M, a variável X0 será mapeada nas memórias M2975 a M2999, a variável X1 será mapeada nas memórias M2950 a M2974, e assim, sucessivamente.
Para utilização de variáveis tipo Texto é necessário que o usuário da aplicação especifique o número de variáveis a serem alocadas no Setup do Programa. Observe que, cada variável texto alocada reduz em 25 o número de memórias M disponíveis na aplicação. Podemos também supervisionar as variáveis tipo texto através do Dump de Variáveis.
Cabe observar que operações que envolvam variáveis do tipo texto, principalmente as funções de conversão de valores texto para valor numérico (X => D, X => M) e vice-versa, “consomem” maior tempo de processamento, e consequentemente tendem a aumentar consideravelmente o ciclo de “scan” da aplicação ladder. Assim, recomenda-se utilizar tais funções de modo otimizado, por exemplo, ativando-as somente quando necessário, utilizando eventos gerados com variáveis do tipo R com PULSO.
Nota
As funcionalidades para manipulação de variáveis do tipo texto estão disponíveis a partir das seguintes versões:
- Ambiente de programação versão 1.8.00 ou superior;
- Controlador da família ZAP-900 com firmware versão 1.3.00 ou superior.
