Back to top

KAS Standard SFC Template - Máquina de Estados

Introdução

Se olharmos para os projetos de CLP, vemos que toda máquina lida com as mesmas funcionalidades. Geralmente, máquinas alimentadas por servoconversores precisam seguir uma sequência de etapas durante seu desenvolvimento:

                I. Inicie um protocolo de rede (se disponível);

                II. Ligue todos os drives;

                III. Eleger um método de referência para cada eixo;

                IV. Desenvolver um modo manual, permitindo ao operador movimentar um eixo e alterar as posições de configuração;

                V. Finalmente, desenvolvimento de um Modo Automático, que executa as funcionalidades desejadas da máquina;

Todas as etapas descritas acima são as partes principais do projeto e, contidas no programa Main,  estabelecem um caminho para o código da máquina a ser desenvolvido. Além dessas etapas, o programa requer alguns Programas Auxiliares para lidar com Status, Falhas, I/Os, Receita e/ou qualquer rotina especial.

Este Template SFC padrão propõe uma divisão das funcionalidades conhecidas em módulos, organizando-as usando a alta potência expressiva fornecida pelo KAS usando a linguagem SFC. O objetivo é fornecer uma estrutura capaz de controlar máquinas de diferentes tipos e níveis de complexidade, usando os mesmos Programas Auxiliares e a estrutura SFC.

Como oStandard SFC Template funciona?

O Template SFC padrão divide o Projeto KAS em "Grupos de Funcionalidades", as rotinas relacionadas ao processo da máquina estão localizadas dentro do Programa Principal e os Programas Auxiliares são desenvolvidos usando Programas Independentes.

A maior vantagem do uso da estrutura SFC é converter o processo da máquina em um diagrama de estados. SFC é uma boa escolha porque:

1.    Cada estado do processo pode ser claramente mapeado para uma etapa do SFC;
2.    A transição entre etapas é feita usando condições, estas são facilmente identificadas no código;
3.    A relação entre etapas e fluxo de atividade de um estado para outro é visualizada/programada de maneira gráfica, é fácil compreender as devidas condições e intertravamentos que relacionam a evolução dos estados ativos da etapa;
4.    A estrutura SFC é um espelho do processo controlado e permite que o software quebre em partes pequenas. Com esse recurso, é fácil controlar o que está sendo executado em cada ciclo de verificação do controlador; 
5.    
As máquinas geralmente têm diagramas de estado semelhantes (Homing, Modo Manual, Modo Automático ...), essa característica permite a escalabilidade do Template SFC Padrão em máquinas mais complexas;
 
imageMain Program é responsável por converter o diagrama de estado da máquina em software PLC. É responsável por inicializar a rede, endereçar, fornecer energia e referenciar todos os eixos, além de executar todas as funcionalidades nos Modos Manual e Automático. 

Auxiliary Programs tem como objetivo fornecer informações ao Programa Main. Eles possuem ciclos de execução estabelecidos, sem quaisquer condições de intertravamento, ou seja, continuam sempre funcionando. O template usa esses programas para ler o status da máquina, lidar com falhas e redefinir rotinas e gerenciar IOs e receitas.

Template’s Subprograms são partes de código desenvolvidas para executar uma função específica. Eles são usados dentro de programas chamados como instâncias declaradas no dicionário do projeto. 

Além de toda a estrutura de Programas de PLC descrita acima, este projeto possui uma seção para configurar o Motion e o Eixo PLCOpen e gerenciar dispositivos de rede EtherCAT. Temos duas interfaces de usuário diferentes, primeiro usando painéis de controle dentro do KAS e segundo com um projeto IHM, desenvolvido usando o KVB (Kollmorgen Visualization Builder).

 

 

 

Nomeando as Variáveis

Cada programa possui um grupo de variáveis dedicadas, relacionadas à sua funcionalidade. Essas variáveis são divididas em dois grupos: 

image

Variáveis Locaisimage
Elas podem ser acessadas apenas dentro de seu programa. Na Figura 3, o número 2 mostra variáveis locais que pertencem ao programa principal. 

Variáveis Globais e Estruturas
Essas variáveis são especiais, portanto podem ser acessadas em todo o projeto. Durante o desenvolvimento do template, estabelecemos que cada programa possui uma estrutura de variável com o seu nome: "str + nome do programa". A adoção dessa definição é fácil de identificar de qual programa a Variável Global veio.
Na Figura 3, o número 3 mostra a Estrutura das Variáveis que pertence ao Programa Principal e o número 1 mostra que está sendo declarada como Variável Global.

DICA: Durante o desenvolvimento, é recomendável criar todas as variáveis do programa como Local e alterá-lo para Global somente se necessário.

 

 

 

 

Como escalonar o Template SFC para uma máquina de 7 eixos?

O Template foi projetado para permitir escalabilidade para projetos mais complexos. Fazendo uso da estrutura, o programador possui uma plataforma poderosa para organizar e estruturar o raciocínio, durante o desenvolvimento do projeto.

A divisão da máquina em funcionalidades e a organização do desenvolvimento em uma máquina de estado permite que todo o projeto seja estruturado antes do desenvolvimento da lógica. A estrutura do SFC ajuda o programador a identificar todas as etapas necessárias para iniciar e finalizar o projeto. Ele constrói todas as partes do projeto usando um ambiente gráfico e intuitivo.

Project Breakdown

image