MPROG - Linguagem Gráfica

Criada por Luiza Holtz, Modificado em Qui, 13 Fev na (o) 1:15 PM por Luiza Holtz

Este manual oferece uma visão geral sobre a linguagem gráfica de blocos de função utilizada na linha Climate PRO. Ele detalha os principais conceitos e elementos dessa linguagem, como a criação de lógicas de controle através de blocos interconectados, tipos de dados, conexões e diagramas. 



Linguagem de blocos de função

A linguagem usada na plataforma é gráfica, onde blocos de função são conectados, formando um diagrama combinacional que executa a lógica definida pelos blocos. 

A lógica é continuamente atualizada pelo equipamento, gerando novos valores para as saídas de cada bloco a cada ciclo de execução. Um ciclo representa a atualização de todos os blocos do projeto. 


A velocidade de execução depende do tamanho da logica programada e capacidade de processamento do controlador. Em modo de depuração, o sistema informa a velocidade média de execução em ciclos por segundo.



Diagramas

Um diagrama é uma página onde é possível criar lógicas usando os blocos de função. Basta arrastar os blocos da biblioteca para um diagrama para criá-lo. De forma a organizar grandes programas, é possível (e recomendado) a criação de diversos diagramas, separando os módulos do projeto. Após a compilação, os diagramas são todos integrados e executados ciclicamente como se fossem apenas um diagrama. 



Tipos de dados

A linguagem de blocos possui suporte a 3 tipos de dados: booleano, inteiro e real (ponto flutuante). O tipo de dado é representado pela cor da entrada/saída do bloco: 


BOOLEANO (Bit).

 

INTEIRO.

 

REAL (ponto flutuante).


Internamente a execução da lógica usa dados INT32 para os valores inteiros e FLOAT IEEE32 para os dados reais. 



Conexões

As conexões entre as entradas e saídas dos blocos é feita através de linhas. A linha assume a cor do tipo de dado quando corretamente conectada. Uma linha vermelha indica um problema de conexão. Para criar uma conexão, basta colocar o mouse sobre a entrada/saída, clicar e arrastar a linha para a próxima saída/entrada. 


O sistema impede conexões erradas, como entradas e saídas com tipos diferentes de dado ou ligação de duas saídas ou duas entradas. É possível a conexão de várias entradas em uma mesma saída, mas não é permitida a ligação de várias saídas em uma mesma entrada. 



Labels

Os LABELs são uma ferramenta gráfica que permitem a conexão de entradas e saídas sem a necessidade de conexão por uma linha. Eles possuem a função de organizar o diagrama gráfico, evitando que uma quantidade muito grande de conexões por linhas deixe a lógica muito poluída, dificultando a visualização do programa. 


Outra função do label é a conexão de blocos entre diagramas diferentes. 


O label faz a conexão entre todos os demais labels de mesmo nome, fazendo a ligação das entradas e saídas conectadas à ele: 


No exemplo acima, os labels TAMB estão todos conectados. A conexão é global, ou seja, funciona tanto dentro do mesmo diagrama quanto entre diagramas diferentes. As regras de conexão funcionam da mesma forma que nas linhas.



Constantes nas entradas

É possível a definição de valores constantes nas entradas dos blocos. Para criar ou alterar o valor desta constante, basta um duplo clique no bloco e ajustar os valores na aba ‘ENTRADAS’. O valor ajustado aparece ao lado da entrada, como no exemplo acima para a entrada SETP do bloco PID1. 


Para entradas booleanas, o valor é mostrado como T (TRUE) ou F (FALSE). 


Não é necessário remover a constante para conexão de uma linha à entrada. Quando a linha é conectada, esta constante é automaticamente desabilitada. 



Parâmetros dos blocos

Alguns blocos possuem parâmetros fixos que devem ser ajustados para correta operação. Para acesso aos parâmetros, basta um duplo clique no bloco. O ajuste deve ser feito na aba ‘Parâmetros’. A ajuda do bloco deve ser consultada para detalhamento dos parâmetros disponíveis. 


Alguns blocos especiais possuem abas dedicadas para configuração dentro da janela de propriedades. 



Ordem de execução

A ordem de execução dos blocos dentro de um diagrama segue a ordem de criação deles. Na imensa maioria dos casos, o usuário não precisa se preocupar com a sequência de execução. Em situações especiais, caso isto seja necessário, o MPROG permite alterar esta ordem em menu específico. 



Temporizações

Diversos blocos possuem controle de temporizações (atrasos, etc). Na maioria dos casos estes tempos são programados em décimos de segundo (100ms), mas podem variar de acordo com cada bloco. O importante a ser destacado que a avaliação do tempo é feita durante o ciclo de execução e atualização do bloco. 


Caso o tempo de ciclo seja maior que a unidade básica de tempo do bloco (100ms) os atrasos configurados não serão respeitados. A solução nestes casos é usar um hardware com maior capacidade de processamento ou simplificar a lógica de programação. 



Blocos de funções

Nas seções abaixo serão explicados algumas funcionalidades de blocos básicos ou especiais. Para maiores detalhes, consulte a ajuda do bloco. 


Blocos de I/O

Os blocos de I/O permitem acesso às entradas e saídas físicas do equipamento. A disponibilidade depende do controlador sendo utilizado. 


  • Blocos AI: permitem acesso às entradas analógicas (tensão/corrente ou sensor NTC) do equipamento. Quando associada a uma entrada NTC, o valor de saída do bloco é a temperatura medida. Quando associado a uma entrada de tensão/corrente, o valor de saída varia de 0 a 100%. Para ajuste de escala, basta usar um bloco SCALE_F. A saída VALID do bloco permite detectar a validade do valor de saída. Quando falsa, indica sensor desconectado. 


  • Blocos BI: permitem acesso às entradas digitais do equipamento, gerando uma saída boleana com o valor atual da entrada. 


  • Blocos AO: permitem o controle de uma saída analógica do equipamento. O valor da entrada deve ser sempre de 0 a 100%. 


  • Blocos BO: permitem o controle das saídas digitais do equipamento. O valor booleano da entrada do bloco é copiado para a saída física do equipamento. 


Blocos de comunicação

Os blocos de comunicação (BACS – BACnet Server e MDBS – Modbus escravo) servem para disponibilizar variáveis da lógica interna para a rede de comunicação. Por padrão, nenhuma variável da lógica é acessível via protocolo, a não ser que um bloco de comunicação seja explicitamente criado. 


A maioria dos controladores suporta tanto os protocolos BACnet quanto Modbus. Existem blocos semelhantes para cada protocolo, mas o conceito é o mesmo. É possível operar ambos os protocolos ao mesmo tempo, em interfaces diferentes. Consulte os manuais dos controladores para detalhes do suporte existente. 


De forma resumida, existem 3 tipos de blocos de comunicação: IN, CFG e OUT. 


  • Blocos IN: são blocos de entrada, onde uma escrita via rede disponibiliza um valor para a lógica interna. Estes blocos podem ser lidos e escritos pela rede de comunicação. 


  • Blocos CFG: também são blocos de entrada, com a diferença que o valor escrito é retentivo, ou seja, não se perde na falta de energia. Estes blocos podem ser usados para a criação de setpoints acessíveis via rede. 


  • Blocos OUT: são blocos de saída, onde a lógica interna gera um valor a ser lido pela rede. Estes blocos não podem ser escritos via protocolo. No protocolo BACnet os blocos OUT tem a capacidade de geração de alarmes não solicitados na rede. 

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo