Linguagem Texto Estruturado (ST)
A linguagem ST (Texto estruturado) é uma das 4 linguagens atualmente definidas na norma IEC61131-3. Esta é uma linguagem descritiva (textual) que disponibiliza acesso à todos os recursos comuns definidos no Padrão IEC61131-3.
A linguagem ST é a linguagem mais completa das propostas pela norma sendo que, as demais linguagens normalmente geram códigos ST para a compilação final da aplicação.
Veja a estrutura da linguagem com seus recursos:
Definições Comuns do padrão IEC61131-3
Estrutura básica da linguagem
A linguagem é composta por statements separados por ponto e vírgula. Estes statements utilizam funções predefinidas e subrotinas de programa para alterar as variáveis da aplicação. Espaços podem ser utilizados para separar os statements e variáveis apesar de não serem necessários.
As variáveis podem ser valores explicitamente definidos, variáveis armazenadas internamente, ou valores de entradas e saídas associadas ao hardware do projeto. A linguagem de Texto Estruturado não é case sensitive, portanto as variáveis: MyVAR e myVar se referem ao mesmo conteúdo.
Indentação e comentários devem ser utilizados para melhor leitura e interpretação do código do programa.
Considere o programa de exemplo a seguir:
(* Função de exemplo *)
FUNCTION sample
// Sessão de declaração de variáveis. (Gerenciada automaticamente pelo ambiente)
INPUT_VAR
start : BOOL; (* contato NO - entrada de start *)
stop : BOOL; (* contato NC - entrada de stop *)
END_VAR
OUTPUT_VAR
motor : BOOL; (* saída de controle do motor *)
END_VAR
// Sessão de implementação (apenas este código deve estar no editor)
motor := (motor OR start) AND stop; (* gera o estado da saída do motor *)
END_FUNCTION
Elementos da linguagem
Os programas em linguagem ST permitem a definição de variáveis nomeadas.
Importante
Quando definida uma variável, a mesma deve ser iniciada com uma letra seguida de combinações de letras, números e alguns símbolos (ex _).
Variáveis NÃO são case sensitive e podem incluir qualquer combinação de letras maiúsculas e minúsculas.
Variáveis NÃO podem possuir o mesmo nome de funções predefinidas ou funções definidas pelo usuário.
Os programas elaborados no ambiente ST permitem a utilização dos seguintes elementos:
Editor ST
O Editor ST do HIstudio conta com recursos e funcionalidades úteis para programação em Linguagem Texto Estruturado (ST), possibilitando o desenvolvimento de diversas aplicações. Ao abrir uma POU ST o usuário terá acesso ao editor:
Para desenvolver um código no editor é necessário digitar a lógica da aplicação desejada, utilizando o nome da função ou a instância do bloco de função que se deseja adicionar ao programa e preencher os parâmetros necessários.
Nota
Para utilização de funções da biblioteca HI_STD acrescente o namespace “HILS.” antes do nome da função desejada.
Exemplo:
ret := HILS.RANDOM(0, 4095, TRUE); // retorna um valor aleatório entre 0 .. 4095
Auto indentação
A partir da versão 2.2.18, o HIstudio possui o recurso de visualização das linhas de indentação e indentação automática do cursor com a linha superior, permitindo códigos mais legíveis e organizados. Veja um exemplo abaixo:
Barra principal do editor
Abaixo estão listadas as funcionalidades da barra principal do Editor ST, bem como a descrição de suas utilizações no ambiente:
Ícone |
Descrição |
|---|---|
|
Salva código no projeto. |
|
Recorta área selecionada. |
|
Copia área selecionada. |
|
Cola conteúdo da área de transferência. |
|
Abre painel de Pesquisa de elementos da POU. |
|
Procura próxima ocorrência da pesquisa. |
|
Abre painel “Substituir”. |
Ícone |
Descrição |
|---|---|
|
Desfaz a última ação. |
|
Refaz a última ação. |
|
Aumenta o tamanho da fonte. |
|
Diminui o tamanho da fonte. |
|
Retorna ao ponto anterior. |
|
Avança para o próximo ponto. |
Principais comandos do Editor
Abaixo estão listados os principais comandos disponíveis no Editor ST, bem como a descrição de suas utilizações no ambiente:
Atalho do comando |
Descrição do comando |
|---|---|
Ctrl + C |
Copiar |
Ctrl + X |
Recortar |
Ctrl + V |
Colar |
Ctrl + Z |
Desfazer |
Ctrl + Y |
Refazer |
Ctrl + A |
Selecionar tudo |
Ctrl + L |
Deletar linha |
Ctrl + D |
Duplicar linha selecionada |
Home |
Mover cursor para o inicio da linha |
End |
Mover cursor para o fim da linha |
Ctrl + Home |
Mover cursor para o inicio do documento |
Ctrl + End |
Mover cursor para o final do documento |
Page Up |
Rolar uma página para cima |
Page Down |
Rolar uma página para baixo |
Shift + Home |
Selecionar no inicio da linha |
Shift + End |
Selecionar no fim da linha |
Ctrl + Shift + Home |
Selecionar no inicio do documento |
Ctrl + Shift + End |
Selecionar no fim do documento |
Shift + Page Up/Down |
Selecionar pela página |
Ctrl + F |
Abre painel de Pesquisa de elementos da POU |
Ctrl + Shift + F |
Abre painel de Pesquisa elementos no ambiente |
Ctrl + H |
Substituir |
Ctrl + Alt + H |
Abrir documentação associada ao elemento selecionado |
F3 |
Procurar próxima ocorrência |
Shift + F3 |
Procurar ocorrência anterior |
Ctrl + E |
Alternar pesquisa com distinção entre maiúsculas e minúsculas |
Ctrl + Alt + T |
Abrir lista de parâmetros |
Tab |
Inserir identação |
Shift + Tab |
Remover indentação |
Ctrl + Tab |
Adiciona a váriavel sob o cursor no painel de depuração |
Scroll + Botão esquerdo do mouse |
Aumenta o tamanho da fonte |
Pesquisa de elementos da POU
Ao selecionar o ícone
na barra do editor ou clicar nas teclas CTRL + F do teclado será exibido um painel abaixo do programa aberto. Neste painel
é possível buscar pelo elemento especificado no código do editor.
É possível navegar entre as ocorrências utilizando:
Botões de setas do painel;
Ícone
na barra do editor ou a tecla F3 para efetuar a procura pela próxima ocorrência da pesquisa;Shift + F3 para efetuar a procura pela ocorrência anterior.
Para fechar o painel de procura basta utilizar a tecla Esc ou o botão X localizado no canto direito do painel.










