Você está na página 1de 88

Cursos de Extensão.

Automação Industrial
&
Programação IEC 61131 - 3.
Módulo I

Nome: Eng. Diego Farias Fernandes.


Aula 2 – Início

Cursos de Extensão > Automação Industrial


SUMÁRIO.

1.Norma IEC 61131.


2.Plataforma Codesys.
3.IEC 61131 -3

Cursos de Extensão > Automação Industrial


1. NORMA IEC 61131.
1.1 Conceito.
• Em 1992, o IEC publicou a norma IEC 61131, a qual estabelece padrões para
Controladores Programáveis

A norma 61131 é dividida em 5 partes


61131-1 - Informações gerais
61131-2 - Requisitos de hardware
61131-3 - Linguagens de programação
61131-4 - Guia de orientação ao usuário
61131-5 – Comunicação

Outras três partes estão em fase de elaboração


61131-6 - Comunicação via Fieldbus
61131-7 - Programação utilizando Lógica Fuzzy
61131-8 - Guia para implementação das linguagens

Cursos de Extensão > Automação Industrial


 Combina linguagens de SDCD ( sistemas digitais de controle dedicado) e CLP numa solução única
 Objetivo: tornar SW de CLP modular, reutilizável e portável

Cursos de Extensão > Automação Industrial


1.2 Definições.
 Configuração
Corresponde ao sistema do controlador programável, composto pelos diversos
recursos
Recurso
Corresponde a uma função para processamento de sinais e suas funções para Interface
Homem-Máquina (IHM) e interface com sensores e atuadores
Tarefa
Elemento para controle de execução periódica ou engatilhada (condições de disparo =
eventos) de um grupo de unidades
Unidade de organização de programa (POU)
Uma função, bloco de função ou programa
Variável global
Variável cujo escopo é global
Caminho de acesso
Associação de um nome simbólico para a variável a fim de associar as entradas/saídas
físicas ao SW de processamento de variável
Endereçamento hierárquico
Representação direta de um elemento de dado como membro de uma hierarquia física
ou lógica
Tipos de dados
Conjunto de valores + conjunto de ações permitidas (procedimentos)

Cursos de Extensão > Automação Industrial


1.3 Mecanismo de Execução.

Cursos de Extensão > Automação Industrial


2. Plataforma Codesys.
CoDeSys é um ambiente de desenvolvimento para aplicações de
controladores programáveis e atende à norma industrial internacional IEC 61131-3.
O termo CoDeSys é uma sigla que significa Sistema de Desenvolvimento de
Controladores.
CoDeSys é desenvolvido e comercializado pela empresa alemã de
software 3S-Smart Software Solutions localizada na cidade de Kempten. A versão
1.0 foi lançada em 1994.
Todas as cinco linguagens de programação de aplicação definida na IEC 61131-3
estão disponíveis no CoDeSys:

IL ( listas de Instruções) é uma linguagem de programação como Assembler.


ST (texto estruturado) é semelhante à programação em Pascal ou C
LD (Diagrama de Contatos) permite ao programador praticamente combinar
contatos de relé e bobinas
FBD (Blocos Lógicos) permite ao usuário rapidamente programar tanto expressões
booleanas e analógicas
SFC (Função Gráfica Sequêncial ) é conveniente para a programação seqüencial de
processos
CFC (Função Gráfica Contínua) é uma espécie de editor FBD. Exceto na rede
orientada para editor FBD onde as ligações estão entre as entradas, saídas e
operandos, neste as ligações são estabelecidas pelo programador. Todas as caixas
podem ser colocados livremente o que torna possível programar feedback loops
sem intercalar variáveis.

Cursos de Extensão > Automação Industrial


Mais de 250 fabricantes de dispositivos de diferentes setores industriais oferecem
dispositivos de automação inteligentes com uma interface de programação CoDeSys. Em
conseqüência, milhares de usuários finais, como máquinas ou construtores de plantas em todo o
mundo empregam automação CoDeSys para todos os tipos de tarefas.
A CoDeSys Automation Alliance (CAA) é uma aliança internacional dos fabricantes que
oferecem dispositivos programáveis de automação inteligente com CoDeSys. Principal objetivo da
CAA, que foi fundada em 2000 e, entretanto, tem cerca de 100 membros (julho 2008), é oferecer
um conjunto de dispositivos para diferentes tarefas industriais que são todos programáveis com
uma só e mesma ferramenta. Plena interoperabilidade e o intercâmbio de dados sobre o nível de
aplicação são garantidos pelas companhias que se reúnem regularmente em workshops para
promover o processo de normalização.
Uma rede mundial de parceiros do sistema CoDeSys oferece uma variedade de
serviços para os utilizadores CoDeSys, tais como o apoio ao utilizador final, formação, consultoria,
programação de aplicação ou integração de sistema.

Todas as tarefas de automação comuns resolvidos por meio de software podem ser
realizados com a Suite CoDeSys baseado no controlador generalizada e desenvolvimento do
sistema PLC com o mesmo nome. A arquitetura do CoDeSys pode ser dividida em três camadas
básicas:
Desenvolvimento da Camada ou programa.
Camada de Comunicação , ou seja, estipular o tipo de rede de comunicação.
Dispositivo da Camada, que significa a definição do tipo de CLP e suas
bibliotecas que iremos utilizar.

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
2.1 Componentes de um Projeto Codesys.
Projeto
Um projeto contém todos os objetos em um programa do CP. Ele é salvo em um
arquivo nomeado depois do projeto. Os seguintes objetos estão incluídos nele: POUs
(Unidades de Organização de Programa), tipo de dados, telas, recursos e bibliotecas.
POU (Unidade de Organização de Programa)
Funções, blocos funcionais e programas são POUs que podem ser
complementadas por ações.Cada POU consiste de uma parte de declaração e de um corpo.
O corpo é gerado em uma das linguagens de programação IEC que incluem IL, ST, SFC,
FBD, LD ou CFC.O Codesys suporta todas as POUs padronizadas pela IEC. Para usá-las
no projeto, deve-se incluir a biblioteca standard.lib. POUs podem chamar outras POUs.
Entretanto, recursividade não é permitida.
Função
Uma ‘função’ é uma POU que fornece exatamente um elemento de dados (que
pode consistir de vários elementos, como campos ou estruturas) quando esta é processada. A
chamada da função na linguagem textual pode ocorrer como um operador em expressões.
Ao declarar uma função, ela deve receber um tipo. Isto significa que depois do nome da
função, deve-se digitar dois pontos (:), seguidos de um tipo.Uma declaração de função correta
se parece com o exemplo a seguir:FUNCTION Fct: INT Além disso, um resultado deve estar
atribuído a essa função. Isso significa que seu nome é usado como uma variável de
saída.Uma declaração de função inicia com a palavra-chave FUNCTION.

Cursos de Extensão > Automação Industrial


Bloco Funcional
Um bloco funcional é uma POU que fornece um ou mais valores durante o seu
uso. Ao contrário da função, um bloco funcional não fornece nenhum valor de retorno.Uma
declaração de bloco funcional começa com a palavra-chave
FUNCTION_BLOCK.Reproduções ou instâncias (cópias) de um bloco funcional podem
ser criadas.
Instâncias de blocos funcionais
Reproduções ou instâncias (cópias) de um bloco funcional podem ser criadas.
Cada instância possui seu próprio identificador (o nome da instância) e uma estrutura de
dados que contém suas entradas, saídas e variáveis internas. As instâncias são
declaradas localmente ou globalmente como variáveis, enquanto o nome do bloco
funcional é indicado como o tipo de um identificador.
Chamando um bloco funcional
As variáveis de entrada e saída de um bloco funcional podem ser acessadas a partir de
outra POU configurando uma instância do bloco funcional, especificando a variável
desejada e usando a seguinte sintaxe: <Nome da instância>. <Nome da variável>.
Ação
Ações podem ser definidas e atribuídas a blocos funcionais e programas
('Projeto' 'Acrescentar ação').
A ação representa uma implementação adicional que pode ser totalmente criada
em outra linguagem.Cada ação recebe um nome.Uma ação opera com os dados a partir
do bloco funcional ou a partir do programa ao qual ela pertence. A ação usa as mesmas
variáveis de entrada/saída e locais que a implementação “normal”.

Cursos de Extensão > Automação Industrial


Programa
Um programa é uma POU que retorna vários valores durante a operação.
Programas são reconhecidos globalmente durante todo o projeto. Todos os valores são
mantidos desde a última vez que o programa foi executado até a próxima execução.
Programas podem ser chamados. Uma chamada de programa em uma função não é
permitida.Também não existem instâncias de programas.
Se uma POU chama um programa e, se assim, os valores dele são alterados,
então, essas alterações serão mantidas na próxima vez que ele é chamado, mesmo se
tiver sido chamado de dentro de outra POU.
Isso é diferente da chamada de um bloco funcional. Lá somente os valores na
instância determinada de um bloco funcional são alterados.Essas alterações, portanto,
desempenham um papel somente quando a mesma instância é chamada.
PLC_PRG
O PLC_PRG é uma POU especial pré-definida. Cada projeto deve conter esse
programa especial.Esta POU é chamada exatamente uma vez por ciclo de controle.
Na primeira vez que o comando 'Projeto' 'Acrescentar objetos' é usado, depois que um
novo projeto é criado, a entrada padrão na caixa de diálogo POU será uma POU
chamada PLC_PRG do tipo programa (PROGRAM). Não se deve alterar essa
configuração padrão!
Se tarefas foram definidas, então talvez o projeto não contenha qualquer
PLC_PRG, uma vez que, neste caso, a seqüência de procedimento depende da
atribuição de tarefas.

Cursos de Extensão > Automação Industrial


Recursos
Os recursos são necessários para configurar e organizar o projeto e para
rastreamento dos valores de variáveis:
• Variáveis globais que podem ser usadas em todo o projeto ou rede
• Gerenciador de Bibliotecas para adicionar as bibliotecas ao projeto
• LOG para registrar as ações durante uma sessão online
• Configuração de alarmes para a configuração do tratamento de alarmes no projeto
• Configuração do CP para configurar o hardware
• Configuração de tarefas para orientar seu programa através de tarefas
• Gerenciador de Monitoração e Receitas para exibir valores de variáveis e a
configuração padrão dos valores das variáveis
• Configurações do dispositivo para a seleção e, se necessário, configuração final do
sistema dispositivo
• Área de trabalho como uma imagem das opções de projeto Dependendo do sistema
do dispositivo e das configurações do dispositivo feitas no MasterTool IEC os recursos
a seguir também podem estar disponíveis no seu projeto:
• Rastreamento de amostragem para exibição gráfica de valores de variáveis
• Gerenciador de parâmetros para troca de dados com outros controladores em uma
rede
• Navegador - CP como monitor de controle
• Ferramentas – disponibilidade dependendo do dispositivo – para chamar programas
de ferramentas externas a partir do MasterTool IEC.

Cursos de Extensão > Automação Industrial


Bibliotecas
Pode-se incluir no projeto uma série de bibliotecas cujas POUs, tipos de dados e
variáveis globais podem ser usados como variáveis definidas pelo usuário. As bibliotecas
Standard.lib e Util.lib são partes padrão do programa e estão sempre à disposição.

Tipos de dados
Juntamente com os tipos de dados padrão, o usuário pode definir seus próprios
tipos de dados.
Estruturas, tipos de enumeração e referências podem ser criadas.

Visualização
O Codesys IEC fornece telas de modo que se pode exibir as variáveis do projeto.
Pode-se ainda plotar elementos geométricos offline com a ajuda da visualização. No modo
online, elas podem alterar sua forma/cor/saída de texto em resposta a valores especificados
das variáveis.
Uma tela pode ser usada como uma interface de operação pura para um CP com
Codesys IEC HMI ou com a Visualização do Dispositivo rodando diretamente no CP.

Cursos de Extensão > Automação Industrial


3. IEC 61131 - 3.
A norma IEC 61131-3 é um padrão internacional para linguagens de programação de
CPs.As linguagens de programação oferecidas no Codesys IEC estão de acordo com os
requisitos da norma.De acordo com a essa norma, um programa consiste nos seguintes
elementos:
• Estruturas (consultar tipos de dados)
• POUs
• Variáveis globais
Os elementos de linguagem gerais são descritos nas seções: Identificador,
Endereços, Tipos,Comentários e Constantes.O processamento de um programa IEC começa
com a POU especial PLC_PRG. A POUPLC_PRG pode chamar outras POUs.
O MasterTool IEC oferece suporte a todas as
linguagens descritas na norma IEC-61131.
Linguagens textuais:
• Lista de Instruções (IL)
• Texto Estruturado (ST)
Linguagens gráficas:
• Seqüenciamento Gráfico de Funções (SFC)
• Diagrama de Blocos Funcionais (FBD)
• Diagrama Ladder (LD)
Além disso, também está disponível – baseado
no FBD – o Gráfico Contínuo de Funções -(CFC).

Cursos de Extensão > Automação Industrial


3.1 Lista de Instruções ( IL).
Uma Lista de Instruções (IL) consiste em uma série de instruções. Cada instrução
começa em uma nova linha e contém um operador e, dependendo do tipo de operação, um
ou mais operandos separados por vírgulas.
Na frente de uma instrução pode haver uma marca de identificação (rótulo) seguida
de dois pontos (:).
Um comentário deve ser o último elemento em uma linha. Linhas em branco
podem ser inseridas entre instruções.

Exemplo SINTAXE.

LD 17
ST LINT (* COMENTÁRIO *)
GE 5
JMPC NEXT
LD IDWORD
EQ ISTRUCT.SDWORD
STN TEST
NEXT:

Cursos de Extensão > Automação Industrial


Modificadores e operadores em IL
Na linguagem IL os seguintes operadores e modificadores podem ser usados Modificadores:

Segue uma tabela com todos os operadores em IL, seus possíveis modificadores e
significados relevantes:

Cursos de Extensão > Automação Industrial


Exemplos de Sintaxe: Exemplo de um programa em IL usando alguns
modificadores:
LD 2
MUL 2 LD TRUE (*Carregar TRUE no acumulador *)
ADD 3 ANDN BOOL1 (* Executar E com o valor negado da
ST ERG variável BOOL1 *)
O valor de ERG é 7. JMPC mark (*Se o resultado foi TRUE, então, saltar para
o rótulo "mark" *)
No entanto, se utilizarmos LDN BOOL2 (*salvar o valor negado de*)
parênteses: ST ERG (*BOOL2 em ERG*)
mark:
LD 2 LD BOOL2 (*salvar o valor de*)
MUL (2 ST ERG (*BOOL2 em ERG*)
ADD 3
)
ST ERG Também é possível em IL colocar parênteses após uma
operação. O valor do parêntese é, então,
O valor resultante para Erg será 10, considerado como um operando.
a operação MUL será avaliada
somente no")"; o operando para
MUL 5, será então calculado.

Cursos de Extensão > Automação Industrial


3.1.1 Programa em Lista de Instruções ( IL).
Vamos construir agora um pequeno programa em IL para leitura de uma célula de
carga ( célula de carga = Instrumento utilizado para medir peso, necessita de transdutor).
A partir da variação analógica de peso na entrada, deveremos indicar o peso em Kg.
Este programa deverá prever a capacidade máxima da célula de carga em Kg e
um valor limite máximo como parâmetro de conversão que em nosso caso será 30.000. Caso
exista mais de uma célula de carga o valor indicado deverá ser o total de cada uma.

3.1.1.2 Criando um novo programa.


Primeiramente dentro do programa do Codesys clique no Arquivo  Novo, a tela
abaixo aparecerá e então clique em OK.

Selecione o nome da nova POU como PLC_PRG,tipo da POU  Programa e Linguagem da


POU  IL e clique em OK, a tela deverá se parecer com o que segue.
Cursos de Extensão > Automação Industrial
Uma vez criado o novo
programa passamos para a parte de
declaração de variáveis.
Começaremos a declaração pelas
variáveis do programa,para isso clique
no editor de declaração abaixo do
PROGRAM PLC_PRG e entre o VAR e
END_VAR e insira as seguintes
variáveis:
soma: do tipo real cujo valor
inicial será igual a 0
media: do tipo real cujo valor inicial
será igual a 0
A tela deverá se parecer como a que segue: Capacidade2_celula: do tipo
WORD cujo valor inicial será igual a
0.
Limite2_conver: do tipo WORD
cujo valor inicial será igual a 0.
OBS: Para declaração dos tipos de
variáveis, podemos fazer de duas maneiras.
1 – escrevendo o tipo, neste caso REAL.
2 - Pressionando a tecla F2 e escolhendo
o tipo da variável no assistente de entrada.

Cursos de Extensão > Automação Industrial


Ainda no editor de declaração logo após o END_VAR , necessitaremos declarar as
variáveis de entrada que serão do tipo INPUT,insira as seguintes variáveis:
Utilizando o assistente de entrada ( F2) procure o tipo VAR_INPUT e clique em OK, e
logo após pressione a tecla Espaço do teclado do computador e novamente pressione F2 e no
assistente de entrada na aba declarações procure a variável RETAIN  OK  ENTER.

Logo após deveremos criar


as variáveis de entrada propriamente
dito,siga os passos como segue abaixo:
Determine a variável
Leitura_peso do tipo WORD e
atribua o valor inicial 0;
Determine a variável
Capacidade_celula do tipo
WORD e atribua o valor inicial 0;
Determine a variável
Limite_conver do tipo WORD e
atribua o valor inicial 0;
Ao final novamente pressione F2
e insira a variável END_VAR;
A Tela deverá ser parecida com a
que segue:

Cursos de Extensão > Automação Industrial


Ainda no editor de declaração logo após o END_VAR , necessitaremos declarar as
variáveis de saída que serão do tipo OUTPUT,insira as seguintes variáveis:
Utilizando o assistente de entrada ( F2) procure o tipo VAR_OUTPUT e clique em
OK, Logo após pressione ENTER e siga os passos abaixo.

Determine a variável
PESO_REAL do tipo WORD e
atribua o valor inicial 0, e logo
depois pressione ENTER.
Determine a variável PESO_KG
do tipo WORD e atribua o valor
inicial 0, e logo depois pressione
ENTER.
Ao final novamente pressione F2
e insira a variável END_VAR;
A Tela deverá ser parecida com a
que segue:

Cursos de Extensão > Automação Industrial


Após concluído essas etapas, todas as variáveis necessárias foram declaradas,
agora passaremos para a parte do programa propriamente dito.
Para isso deveremos seguir os passos abaixo:
1. Na parte inferior as declarações de variáveis na linha 0001, insira os seguintes
comandos (* Entrada Esteira 1*) e pressione ENTER, a cor do texto automaticamente
ficará na cor verde, identificando assim que este comando é somente de texto, ou
seja, não executará nenhuma ação.
2. Insira o operador LD, clique no espaço e escreva a variável Leitura_peso, que foi
declarada anteriormente e logo após ENTER.
3. Insira o operador MUL, clique no espaço e escreva a variável Capacidade_celula, que
foi declarada anteriormente e logo após ENTER.
4. Insira o operador DIV, clique no espaço e escreva a variável Limite_conver, que foi
declarada anteriormente e logo após ENTER.
5. Insira o operador ST, clique no espaço e escreva a variável PESO_KG, que foi
declarada anteriormente e logo após ENTER.
6. Na parte inferior as declarações de variáveis na linha 0006, insira os seguintes
comandos (* Saida Esteira 1*) e pressione ENTER, a cor do texto automaticamente
ficará na cor verde, identificando assim que este comando é somente de texto, ou
seja, não executará nenhuma ação.
7. Insira o operador LD, clique no espaço e escreva a variável PESO_KG, que foi
declarada anteriormente e logo após ENTER.

Cursos de Extensão > Automação Industrial


1. Insira o operador MUL, clique no espaço e escreva a variável Limite2_conver, que
foi declarada anteriormente e logo após ENTER.
2. Insira o operador DIV, clique no espaço e escreva a variável Capacidade2_celula,
que foi declarada anteriormente e logo após ENTER.
3. Insira o operador ST, clique no espaço e escreva a variável PESO_REAL, que foi
declarada anteriormente e logo após ENTER.
4. Insira os seguintes comandos (* Somatório*) e pressione ENTER, a cor do texto
automaticamente ficará na cor verde, identificando assim que este comando é
somente de texto, ou seja, não executará nenhuma ação.
5. Insira o operador LD, clique no espaço e escreva a variável PESO_KG, que foi
declarada anteriormente e logo após ENTER.
6. Insira o operador ST, clique no espaço e escreva a variável soma, que foi declarada
anteriormente e logo após ENTER.
A tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


O programa está concluído,
agora deveremos passar
para a etapa de compilação
do projeto, para verificar
possíveis erros, para isso
siga os passos do próximo
Slide.

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Verifique aqui se o programa
contem algum erro ou aviso, e
depois siga para a tela ao lado, que
servirá para colocar o programa
para funcionar propriamente no
CLP.
Para sair, clique em Logout, e
voltará para o editor de programa.

Cursos de Extensão > Automação Industrial


3.2.1.3 Simulando um novo programa.
Agora teste seu programa no modo de simulação. Compile ('Projeto' 'Compilar')
e carregue-o ('Comunicação' 'Login'). Inicie o programa com ’Comunicação’ ‘Run’,
então ajuste a variáveis.

Você notará que este valor digitado


aparecerá ao lado da variável ,mas a
variável ainda não assumirá o novo
valor, para isso será necessário
pressionar a tecla <F7>.
Para voltar ao estado inicial
use a combinação de teclas <SHIFT> +
<F7>
Verificaremos o que acontece
para cada valor que digitamos.

Cursos de Extensão > Automação Industrial


3.2 Texto Estruturado (ST).
O Texto Estruturado consiste em uma série de instruções que, como determinado em
linguagens de alto nível, ("IF..THEN..ELSE") ou em laços (WHILE..DO) podem ser executadas.
Exemplo:
IF VALUE < 7 THEN
WHILE VALUE < 8 DO
VALUE:=VALUE+1;
END_WHILE;
END_IF;

Expressões
Uma expressão é uma construção que retorna um valor após a sua avaliação.
Expressões são compostas de operadores e operandos. Um operando pode ser uma
constante, uma variável, uma chamada de função ou outra expressão.

Avaliação de expressões
A avaliação de uma expressão ocorre por meio do processamento dos operadores de acordo
com certas regras de precedência. O operador com a maior precedência é processado
primeiro, em seguida, o operador com a próxima precedência maior, e assim por diante, até que
todos os operadores sejam processados.
Operadores com mesma ordem de precedência são processados da esquerda para a direita.
Segue uma tabela de operadores ST na ordem de precedência:

Cursos de Extensão > Automação Industrial


Operador de atribuição
Instrução RETURN No lado esquerdo de uma atribuição, há um
A instrução RETURN pode ser usada para deixar operando (variável, endereço) ao qual está
uma POU, por exemplo, dependendo da condição. atribuído o valor da expressão, no lado direito,
Instrução IF com o operador de atribuição:=.
Com a instrução IF pode-se verificar uma condição Chamando blocos funcionais em ST
e, dependendo desta condição, executar Um bloco funcional é chamado em ST
instruções. escrevendo o nome da instância do bloco
Instrução CASE funcional e, então, atribuindo os valores dos
Com as instruções CASE é possível combinar parâmetros entre parênteses.
várias instruções condicionadas com a mesma
variável de condição em uma construção. Laço REPEAT
Laço FOR O laço REPEAT é diferente do laço WHILE,
Com o laço FOR é possível programar processos porque a condição de interrupção é verificada
repetidos. somente após ele ter sido executado. Isso
significa que será executado pelo menos uma
Laço WHILE vez,independentemente do texto da condição
O laço WHILE pode ser usado como o laço de interrupção.
FOR, com a diferença de que a condição de
Instrução EXIT
interrupção pode ser qualquer expressão
Se a instrução EXIT aparece em um laço FOR,
booleana. Isso significa que é indicada uma
WHILE ou REPEAT, então, o laço mais interno
condição que, quando atendida, executará o
é encerrado, independentemente da condição
laço.
de interrupção.

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
3.2.1.1 Programa em Texto Estruturado( ST).
Vamos construir agora um pequeno programa em ST para leitura de dois Sensores
de temperatura, por exemplo um PT100, onde se a temperatura exceder o valor máximo
indicado o sistema deverá indicar alarmes de temperatura alta. Os sensores de temperatura
tem seu comportamento linear, por isso podemos utilizar a equação da reta em nosso
programa.Também trabalharemos com uma pequena tela de visualização que será
disponibilizada.

3.2.1.2 Criando um novo programa.


Primeiramente dentro do programa do Codesys clique no Arquivo  Novo, a tela
abaixo aparecerá e então clique em OK.

Selecione o nome da nova POU como PLC_PRG,tipo da POU  Programa e


Linguagem da POU  ST e clique em OK, a tela deverá se parecer com o que segue.
Cursos de Extensão > Automação Industrial
Uma vez criado o novo
programa passamos para a parte de
declaração de variáveis.
Começaremos a
declaração pelas variáveis do
programa,para isso clique no editor
de declaração abaixo do
PROGRAM PLC_PRG e ao final
das variáveis VAR e END_VAR
insira as seguintes tipos variáveis:

Ainda no editor de declaração logo após o END_VAR , necessitaremos declarar as


variáveis de entrada que serão do tipo INPUT,insira as seguintes variáveis:
Utilizando o assistente de entrada ( F2) procure o tipo VAR_INPUT e clique em OK e
logo depois ENTER.Agora poderemos começar a inserir as variáveis necessárias.

OBS: Para declaração dos tipos de variáveis, podemos fazer de duas maneiras.
1 – escrevendo o tipo, neste caso REAL,WORD,INT,BOLL,ETC.
2 - Pressionando a tecla F2 e escolhendo o tipo da variável no assistente de
entrada.

Cursos de Extensão > Automação Industrial


O sensor de temperatura proposto, é um sensor linear, ou seja , constante e
proporcional em todos os pontos, portanto para levantar suas caracteristicas no nosso
programa poderemos utilizar a equação da reta. A expressão (X - X1)/(X2 - X1) =(Y - Y1)/(Y2 -
Y1), representa a equação da reta em um eixo XY, X=Y(X2-X1)/Y2, considerando X1 e Y1 = 0*).
Podemos então começar a declarar as variáveis de entrada, para tal siga os passos abaixo.

1. Insira uma variável como nome Y do tipo WORD e com valor inicial igual a Zero.
2. Insira uma variável como nome aY do tipo WORD e com valor inicial igual a Zero.
3. Insira uma variável como nome X1 do tipo WORD e com valor inicial igual a Zero.
4. Insira uma variável como nome X2 do tipo WORD e com valor inicial igual a 100.
5. Insira uma variável como nome Y2 do tipo WORD e com valor inicial igual a 65535,
que será o nosso fundo de escala adotando que o CLP trabalhará com 16 bits.
6. Acrescentaremos ainda um sinal de alarme caso a temperatura extrapole nosso
fundo de escala, para isso insira a variável Alarme_max do tipo WORD e com valor
inicial igual a 45.
7. Ao final novamente pressione F2 e insira a variável END_VAR;
A Tela deverá ser parecida com a que segue:

Cursos de Extensão > Automação Industrial


Ainda no editor de declaração logo após o END_VAR , necessitaremos declarar as
variáveis de saída que serão do tipo OUTPUT,insira as seguintes variáveis:
Utilizando o assistente de entrada ( F2) procure o tipo VAR_OUTPUT e clique em
OK, Logo após pressione ENTER e siga os passos abaixo.

Cursos de Extensão > Automação Industrial


Determine a variável Temperatura1 do tipo WORD e atribua o valor inicial 0, e
logo depois pressione ENTER.
Determine a variável Temperatura2 do tipo WORD e atribua o valor inicial 0, e
logo depois pressione ENTER.
Determine a variável Sinal do tipo BOOL e atribua o valor inicial 0, e logo depois
pressione ENTER.
Determine a variável Sinal2 do tipo BOOL e atribua o valor inicial 0, e logo
depois pressione ENTER.

Ao final novamente


pressione F2 e insira a
variável END_VAR;
A Tela deverá ser parecida
com a que segue:

Cursos de Extensão > Automação Industrial


Após concluído essas etapas, todas as variáveis necessárias foram declaradas,
agora passaremos para a parte do programa propriamente dito.
Para isso deveremos seguir os passos abaixo:
1. Na parte inferior as declarações de variáveis na linha 0001, insira os seguintes
comandos (* Cálculo das temperaturas de três PT100 com as entradas do transdutor
em Y e aY*) e pressione ENTER, a cor do texto automaticamente ficará na cor verde,
identificando assim que este comando é somente de texto, ou seja, não executará
nenhuma ação.
2. Insira a expressão Temperatura1 := (Y * (X2-X1) ) / Y2; e logo após ENTER.
3. Na parte inferior as declarações de variáveis na próxima linha, insira os seguintes
comandos (*Identificando os limites de temperaturas de alarme.*) e pressione
ENTER, a cor do texto automaticamente ficará na cor verde, identificando assim que
este comando é somente de texto, ou seja, não executará nenhuma ação.
4. Insira os comandos IF Temperatura1 >= Alarme_max THEN e logo após ENTER.
5. Insira os comandos Sinal := 1; e logo após ENTER.
6. Insira os comandos ELSE e logo após ENTER.
7. Insira os comandos Sinal := 0; e logo após ENTER.
8. Insira os comandos END_IF e logo após ENTER.
9. Repita o mesmo processo para a temperatura 2, exatamente igual, trocando as
variáveis necessárias.
A tela final do programa deverá ser parecida como a que segue:
OBS:O programa está concluído, agora deveremos passar
para a etapa de compilação do projeto, para verificar possíveis
erros, para isso siga os passos do próximo Slide.

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Cursos de Extensão > Automação Industrial
Verifique aqui se o programa
contem algum erro ou aviso, e
depois siga para a tela ao lado, que
servirá para colocar o programa
para funcionar propriamente no
CLP.
Para sair, clique em Logout, e
voltará para o editor de programa.

Cursos de Extensão > Automação Industrial


3.2.1.3 Simulando um novo programa.
Agora teste seu programa no modo de simulação. Compile ('Projeto' 'Compilar')
e carregue-o ('Comunicação' 'Login'). Inicie o programa com ’Comunicação’ ‘Run’,
então ajuste a variável Y E aY para um valor entre 0 e 65535, por exemplo, com um clique
duplo na entrada ‘Y‘ na caixa de entrada para o editor ST.
Isto deixará a variável preparada para ser ajustada conforme a figura abaixo.
Digite o novo valo no local indicado e logo depois pressione “OK”.

Você notará que este valor digitado


aparecerá ao lado da variável “Y”, mas
a variável ainda não assumirá o novo
valor, para isso será necessário
pressionar a tecla <F7>.
Para voltar ao estado inicial
use a combinação de teclas <SHIFT> +
<F7>
Verificaremos o que acontece
para cada valor que digitamos.

Cursos de Extensão > Automação Industrial


3.4 Diagrama de Blocos Funcionais (FBD).
O Diagrama de Blocos Funcionais é uma linguagem de programação orientada
graficamente.
Ele funciona com uma lista de redes na qual cada uma (rede) contém uma estrutura
que representa tanto uma expressão lógica quanto aritmética, a chamada de um bloco
funcional, um salto ou ainda uma instrução de retorno.
Exemplo de uma rede no FBD:

Cursos de Extensão > Automação Industrial


3.4.1 Diagrama de Blocos Funcionais (FBD).
Vamos construir agora um pequeno programa em FBD para identificação de alarmes
provenientes da leitura de um Sensor de temperatura, por exemplo um PT100 visto no exemplo
anterior.Este programa será baseado na média de 2 sensores de temperatura, onde caso este
valor de média seja maior que 3000 indicará alarme de temperatura alta e se for menor que um
de temperatura baixa, e caso qualquer um deles seja acionado indicará um alarme de que
existe um problema.Também disponibilizaremos uma pequena tela de visualização.

3.4.2Criando
3.4.2 Criando um novo programa.
Primeiramente dentro do programa do Codesys clique no Arquivo  Novo, a tela
abaixo aparecerá e então clique em OK.

Selecione o nome da nova POU como PLC_PRG,tipo da POU 


Programa e Linguagem da POU  FBD e clique em OK, a tela deverá se
parecer com o que segue.
Cursos de Extensão > Automação Industrial
Uma vez criado o novo
programa passamos para a parte de
declaração de variáveis.
Começaremos a
declaração pelas variáveis do
programa,para isso clique no editor
de declaração abaixo do
PROGRAM PLC_PRG e entre as
variáveis VAR e END_VAR insira as
seguintes tipos variáveis:

Ainda no editor de declaração logo após o VAR , necessitaremos declarar as


variáveis as seguintes variáveis:
OBS: Para declaração dos tipos de variáveis, podemos fazer de duas maneiras.
1 – escrevendo o tipo, neste caso REAL,WORD,INT,BOLL,ETC.
2 - Pressionando a tecla F2 e escolhendo o tipo da variável no assistente de
entrada.

Cursos de Extensão > Automação Industrial


Os sensores de temperatura conforme nosso exemplo, podem ser utilizados para
indicação, monitoramento ou para controle de temperatura e em todos os casos podemos
utilizar suas informações para gerar alarmes conforme julgarmos necessário.
Podemos então começar a declarar as variáveis de entrada, para tal siga os passos abaixo.

1. Insira uma variável como nome soma do tipo WORD e com valor inicial igual a Zero.
2. Insira uma variável como nome Baixo do tipo BOOL e com valor inicial igual a Zero.
3. Insira uma variável como nome Alto do tipo BOOL e com valor inicial igual a Zero.
4. Insira uma variável como nome Defeitobaixo do tipo BOOL e com valor inicial igual a
Zero.
5. Insira uma variável como nome Defeitoalto do tipo BOOL e com valor inicial igual a
Zero.
6. Insira uma variável como nome Temperatura1 do tipo WORD e com valor inicial igual
a Zero.
7. Insira uma variável como nome Temperatura2 do tipo WORD e com valor inicial igual
a Zero.
8. Insira uma variável como nome Algumproblema do tipo BOOL e com valor inicial
igual a Zero.
A Tela deverá ser parecida com a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Após concluído essas etapas, todas as variáveis necessárias foram declaradas,
agora passaremos para a parte do programa propriamente dito.
Para isso deveremos seguir os passos abaixo:
1. Na parte inferior as declarações de variáveis na linha 0001, insira os seguintes
comandos Menu  Inserir  Caixa ou pressione Ctrl + B
2. Substitua o nome que está dentro da caixa por ADD; e logo após ENTER.
3. Na parte esquerda da caixa onde estão os pontos ??? , em cada um escreva as
variáveis Temperatura1, Temperatura2.
A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


1. No mesmo local na parte do lado direito da caixa ADD, insira os seguintes comandos
Menu  Inserir  Caixa ou pressione Ctrl + B
2. Substitua o nome que está dentro da caixa por DIV; e logo após ENTER.
3. Na parte esquerda da caixa onde estão os pontos ??? , em cada um escreva o
número 2.
4. No mesmo local na parte do lado direito da caixa DIV, insira os seguintes comandos
Botão Direito  Atribuição ou pressione Ctrl + A para inserir soma ,após cada
comando pressione ENTER.

A tela final desta etapa


a tela deverá ser
parecida como a que
segue:

Cursos de Extensão > Automação Industrial


1. No mesmo local na parte do lado direito na linha 0001, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0002, insira os seguintes
comandos Menu  Inserir  Caixa ou pressione Ctrl + B
3. Substitua o nome que está dentro da caixa por GE; e logo após ENTER.
4. Na parte esquerda da caixa onde estão os pontos ??? , em cada um escreva as
variáveis soma e 30000.
5. No mesmo local na parte do lado direito da caixa GE, insira os seguintes comandos
Botão Direito  Atribuição ou pressione Ctrl + A para inserir Defeitoalto ,após cada
comando pressione ENTER.
A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


1. No mesmo local na parte do lado direito na linha 0002, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0003, insira os seguintes
comandos Menu  Inserir  Caixa ou pressione Ctrl + B
3. Substitua o nome que está dentro da caixa por LT; e logo após ENTER.
4. Na parte esquerda da caixa onde estão os pontos ??? , em cada um escreva as
variáveis soma e “1”.
5. No mesmo local na parte do lado direito da caixa LT, insira os seguintes comandos
Botão Direito  Atribuição ou pressione Ctrl + A para inserir Defeitobaixo ,após cada
comando pressione ENTER.
6. No mesmo local na parte do lado direito na linha 0003, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
7. Na parte inferior as declarações de variáveis na linha 0004, insira os seguintes
comandos Menu  Inserir  Caixa ou pressione Ctrl + B
8. Substitua o nome que está dentro da caixa por OR; e logo após ENTER.
9. Na parte esquerda da caixa onde estão os pontos ??? , em cada um escreva as
variáveis Defeitoalto e Defeitobaixo.
10. No mesmo local na parte do lado direito da caixa LT, insira os seguintes comandos
Botão Direito  Atribuição ou pressione Ctrl + A para inserir Algumproblema ,após
cada comando pressione ENTER.

A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Cursos de Extensão > Automação Industrial
Verifique aqui se o programa
contem algum erro ou aviso, e
depois siga para a tela ao lado, que
servirá para colocar o programa
para funcionar propriamente no
CLP.
Para sair, clique em Logout, e
voltará para o editor de programa.

Cursos de Extensão > Automação Industrial


3.2.1.3 Simulando um novo programa.
Agora teste seu programa no modo de simulação. Compile ('Projeto' 'Compilar')
e carregue-o ('Comunicação‘  'Login'). Inicie o programa com ’Comunicação’ ‘Run’,
então ajuste as variáveis Temperatura1, Temperatura2, para um valor entre 0 e 30000,
por exemplo, com um clique duplo na entrada ‘respectiva‘ na caixa de entrada para o editor
FBD.
Isto deixará a variável preparada para ser ajustada conforme a figura abaixo.
Digite o novo valo no local indicado e logo depois pressione “OK”.
Você notará que este valor digitado
aparecerá ao lado da variável
“RESPECTIVA”, mas a variável
ainda não assumirá o novo valor,
para isso será necessário
pressionar a tecla <F7>.
Para voltar ao estado
inicial use a combinação de teclas
<SHIFT> + <F7>
Verificaremos o que
acontece para cada valor que
digitamos.

Cursos de Extensão > Automação Industrial


3.4 Diagrama Ladder (LD).
O Diagrama Ladder (LD) também é uma linguagem de programação
orientada a elementos gráficos que se aproxima da estrutura de um circuito
elétrico.
Por um lado, o Diagrama Ladder (LD) é adequado para construir
intertravamentos lógicos, por outro lado, também pode criar redes em FBD.
Portanto o LD é muito útil para controlar a chamada de outras POUs.
O Diagrama Ladder (LD) consiste em uma série de redes. Uma rede é
limitada nos lados direito e esquerdo por uma linha vertical. No meio está um
diagrama de circuito composto de contatos, bobinas e linhas de conexão.
Cada rede consiste no lado esquerdo de uma série de contatos que
passam a condição "On" ou "Off“ da esquerda para a direita, os quais
correspondem a valores booleanos TRUE e FALSE. A cada contato está associada
uma variável booleana. Se essa variável é TRUE, a condição será passada da
esquerda para a direita ao longo da linha de conexão. Caso contrário, a conexão à
direita recebe o valor OFF.
Exemplo de uma rede em um Diagrama Ladder (LD) formado por
contatos e bobinas:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
3.4.1 Diagrama Ladder(LD).
Vamos construir agora um pequeno programa em Ladder que será dividido em dois
modelos de aplicação, um para entendimento de como fazer as funções de eletrônica digital e
outro de um aplicação básica da industria, para isso utilizaremos um pequeno sistema
supervisório, construído na própria plataforma IEC que será disponibilizado ao aluno.
O objetivo do primeiro modelo é reproduzir a tabela da verdade das portas
AND,OR,NOT e XOR, e do segundo modelo é apresentar um contato do tipo selo(pulso)

3.4.2Criando
3.4.2 Criando um novo programa.
Primeiramente dentro do programa do Codesys clique no Arquivo  Novo, a tela
abaixo aparecerá e então clique em OK.

Selecione o nome da nova POU como PLC_PRG,tipo da POU  Programa e


Linguagem da POU  LD e clique em OK, a tela deverá se parecer com o que
segue.
Cursos de Extensão > Automação Industrial
Uma vez criado o novo
programa passamos para a parte de
declaração de variáveis.
Começaremos a
declaração pelas variáveis do
programa,para isso clique no editor
de declaração abaixo do
PROGRAM PLC_PRG e entre as
variáveis VAR e END_VAR insira as
seguintes tipos variáveis:

Ainda no editor de declaração logo após o VAR , necessitaremos declarar as


variáveis as seguintes variáveis:
OBS: Para declaração dos tipos de variáveis, podemos fazer de duas maneiras.
1 – escrevendo o tipo, neste caso REAL,WORD,INT,BOLL,ETC.
2 - Pressionando a tecla F2 e escolhendo o tipo da variável no assistente de
entrada.
Para declarar as variáveis que utilizaremos em nosso projeto, vamos utilizar as
variáveis de entrada e saídas das portas lógicas AND,OR,NOT e XOR, da parte de eletrônica
digital e para algumas re-nomearemos as saídas.
Insira as variáveis conforme a tela abaixo a tela deverá ser parecida com a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Após concluído essas etapas, todas as variáveis necessárias foram declaradas,
agora passaremos para a parte do programa propriamente dito.
Para isso deveremos seguir os passos abaixo:
1. Na parte inferior as declarações de variáveis na linha 0001, insira os seguintes
comandos Menu  Inserir  contato ou pressione Ctrl + k
2. Repita o item anterior.
3. Na parte superior do contato onde estão os pontos ??? , em cada um escreva as
variáveis A e B respectivamente.
4. Na parte inferior as declarações de variáveis na linha 0001, insira os seguintes
comandos Menu  Inserir  bobina ou pressione Ctrl + L
5. Na parte superior da bobina onde estão os pontos ??? , em cada um escreva as
variáveis SAIDAND
6. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1. No mesmo local na parte do lado direito na linha 0001, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0002, insira os seguintes
comandos Menu  Inserir  contato ou pressione Ctrl + k
3. Na parte inferior as declarações de variáveis na linha 0002, insira os seguintes
comandos Menu  Inserir  contato paralelo ou pressione Ctrl + R
4. Na parte superior do contato onde estão os pontos ??? , em cada um escreva as
variáveis C e D respectivamente.
5. Na parte inferior as declarações de variáveis na linha 0002, insira os seguintes
comandos Menu  Inserir  bobina ou pressione Ctrl + L
6. Na parte superior da bobina onde estão os pontos ??? , em cada um escreva as
variáveis SAIDAOU
7. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1. No mesmo local na parte do lado direito na linha 0002, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0003, insira os seguintes
comandos Menu  Inserir  contato negado ou pressione Ctrl + G
3. Na parte superior do contato onde estão os pontos ??? , em cada um escreva as
variáveis E.
4. Na parte inferior as declarações de variáveis na linha 0003, insira os seguintes
comandos Menu  Inserir  bobina ou pressione Ctrl + L
5. Na parte superior da bobina onde estão os pontos ??? , em cada um escreva as
variáveis SAIDANOT
6. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1. No mesmo local na parte do lado direito na linha 0003, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0004, insira os seguintes
comandos Menu  Inserir  contato ou pressione Ctrl + K
3. Na parte inferior as declarações de variáveis na linha 0004, insira os seguintes
comandos Menu  Inserir  contato paralelo ou pressione Ctrl + R
4. Na parte inferior as declarações de variáveis na linha 0004, insira os seguintes
comandos Menu  Inserir  contato negado ou pressione Ctrl + G
5. Na parte superior do contato onde estão os pontos ??? , em cada um escreva as
variáveis F ,G , H respectivamente.
6. Na parte inferior as declarações de variáveis na linha 0004, insira os seguintes
comandos Menu  Inserir  bobina ou pressione Ctrl + L
7. Na parte superior da bobina onde estão os pontos ??? , em cada um escreva as
variáveis SAIDASELO
8. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1. No mesmo local na parte do lado direito na linha 0004, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0005, insira os seguintes
comandos Menu  Inserir  Instrução com EN
3. Dentro da caixa substitua o que estiver por MOVE
4. Na parte esquerda do bloco onde estão os pontos ??? , em cada um escreva as
variáveis SAIDASELO.
5. Na parte direita do bloco onde estão os pontos ??? , em cada um escreva as
variáveis G.
6. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1. No mesmo local na parte do lado direito na linha 0005, insira os seguintes comandos
Menu  Inserir  Rede depois ou pressione Ctrl + T
2. Na parte inferior as declarações de variáveis na linha 0006, insira os seguintes
comandos Menu  Inserir  contato ou pressione Ctrl + K
3. Na parte inferior as declarações de variáveis na linha 0006, insira os seguintes
comandos Menu  Inserir  contato negado ou pressione Ctrl + G
4. Na parte inferior as declarações de variáveis na linha 0006, insira os seguintes
comandos Menu  Inserir  contato paralelo(negado) ou pressione Ctrl + D
5. Insira os seguintes comandos Menu  Inserir  contato ou pressione Ctrl + K
6. Na parte superior do contato onde estão os pontos ??? , em cada um escreva as
variáveis I ,J , J, I respectivamente.
7. Na parte inferior as declarações de variáveis na linha 0006, insira os seguintes
comandos Menu  Inserir  bobina ou pressione Ctrl + L
8. Na parte superior da bobina onde estão os pontos ??? , em cada um escreva as
variáveis SAIDAXOR
9. A tela final desta etapa a tela deverá ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Cursos de Extensão > Automação Industrial
Verifique aqui se o programa
contem algum erro ou aviso, e
depois siga para a tela ao lado, que
servirá para colocar o programa
para funcionar propriamente no
CLP.
Para sair, clique em Logout, e
voltará para o editor de programa.

Cursos de Extensão > Automação Industrial


3.2.1.3 Simulando um novo programa.
Agora teste seu programa no modo de simulação. Compile ('Projeto' 'Compilar')
e carregue-o ('Comunicação‘  'Login'). Inicie o programa com ’Comunicação’ ‘Run’,
então ajuste as variáveis A , B , C , D , E , F , G , H , I , J para um valor entre “TRUE” e
“FALSE, por exemplo, com um clique duplo na entrada ‘respectiva‘ na caixa de entrada para
o editor “LD. Isto deixará a variável preparada para ser ajustada conforme a figura abaixo.
Digite o novo valo no local indicado e logo depois pressione “OK”.Utilizaremos também um
software supervisório para simulação.
Você notará que este valor digitado
aparecerá ao lado da variável
“RESPECTIVA”, mas a variável
ainda não assumirá o novo valor,
para isso será necessário
pressionar a tecla <F7>.
Para voltar ao estado
inicial use a combinação de teclas
<SHIFT> + <F7>
Verificaremos o que
acontece para cada valor que
digitamos, e também utilizaremos o
supervisório fornecido para
exemplificar melhor.
Cursos de Extensão > Automação Industrial
3.3 Seqüenciamento Gráfico de Funções (SFC).
O Seqüenciamento Gráfico de Funções (SFC) é uma linguagem orientada
graficamente que torna possível descrever a ordem cronológica de diferentes ações dentro
de um programa. Para isso, as ações são atribuídas aos elementos do passo e a
seqüência de processamento é controlada pelos elementos de transição.
Exemplo de uma rede em SFC:

Cursos de Extensão > Automação Industrial


3.4.1 Seqüenciamento Gráfico de Funções (SFC).
programa em SFC simula a aplicação de um controle de produção, onde o mesmo
realiza as seqüência necessárias controlando inicio e parada de produção, devido a algumas
entradas que serão realizadas no programa. Na primeira transição “Init” carregue a variável
“liga” e armazene na variável “ligado”, coloque na transição variável “ligadoq’’, na segunda
transição que chamaremos “Producao”, colocar um comparativo em ST, que caso a variável :
“fimprod” não esteja acionada o valor da variável “Producaox” será igual a 30000, caso
contrário seja 0, coloque a ultima transição com o nome da variável “FimProd” e o final do
programa retornando a variável “Init”
3.4.2Criando
3.4.2 Criando um novo programa.

Primeiramente dentro do
programa do Codesys clique no
Arquivo  Novo, a tela abaixo
aparecerá e então clique em OK.

Selecione o nome da nova POU como PLC_PRG,tipo da POU  Programa e Linguagem da


POU  SFC e clique em OK, a tela deverá se parecer com o que segue.

Cursos de Extensão > Automação Industrial


Uma vez criado o novo
programa passamos para a parte de
declaração de variáveis.
Começaremos a
declaração pelas variáveis do
programa,para isso clique no editor
de declaração abaixo do
PROGRAM PLC_PRG e entre as
variáveis VAR e END_VAR insira as
seguintes tipos variáveis:

Ainda no editor de declaração logo após o VAR , necessitaremos declarar as


variáveis as seguintes variáveis:
OBS: Para declaração dos tipos de variáveis, podemos fazer de duas maneiras.
1 – escrevendo o tipo, neste caso REAL,WORD,INT,BOLL,ETC.
2 - Pressionando a tecla F2 e escolhendo o tipo da variável no assistente de
entrada.

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Ainda no editor de declaração logo após o END_VAR , necessitaremos declarar as
variáveis de entrada que serão do tipo INPUT,insira as seguintes variáveis:
Utilizando o assistente de entrada ( F2) procure o tipo VAR_INPUT e clique em OK, e
após as declarações de variáveis F2 e no assistente de entrada na aba declarações procure a
variável END_VAR  OK  ENTER. Entre as variáveis VAR_IMPUT e END_VAR insira as
seguintes tipos variáveis:
Fim: BOOL := 0;

Cursos de Extensão > Automação Industrial


1.7 Criação de um diagrama SFC.
O diagrama inicial de uma POU no SFC sempre consiste de uma ação "Init", de
uma transição associada "Trans0" e de um salto de volta a Init. Nós precisamos expandir
isto.
Antes de programar a ação individual e as transições vamos primeiro
determinar a estrutura dos diagramas
1. No mesmo local na parte DO
Trans0, insira os seguintes
comandos Menu  Inserir 
Transição de passo depois ou
pressione Ctrl + E
A tela final desta etapa a tela deverá
ser parecida como a que segue:
1. No mesmo local na parte clique
em Trans0 , Step2 , Trans1 e re
nomeie conforme a figura que
segue.
A tela final desta etapa a tela deverá
ser parecida como a que segue:

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
1.8 Ações e condições de transições.
Na ação do passo Init as variáveis são inicializadas, clique duas vezes sob a
caixa Init e insira o que segue, o liga será carregado o seu valor e o ligado será guardado
para utilização posterior. A linguagem escolhida será o IL.

Ação Init

Na ação do passo Producao as condições da seqüência de produção são


estabelecidas, clique duas vezes sob a caixa producao e insira o que segue.A linguagem
escolhida para isso é o ST.

Ação Producao

Cursos de Extensão > Automação Industrial


Cursos de Extensão > Automação Industrial
Verifique aqui se o programa
contem algum erro ou aviso, e
depois siga para a tela ao lado, que
servirá para colocar o programa
para funcionar propriamente no
CLP.
Para sair, clique em Logout, e
voltará para o editor de programa.

Cursos de Extensão > Automação Industrial


3.2.1.3 Simulando um novo programa.
Agora teste seu programa no modo de simulação. Compile ('Projeto' 'Compilar') e
carregue-o ('Comunicação‘  'Login'). Inicie o programa com ’Comunicação’ ‘Run’, então
ajuste as variáveis liga: BOOL := 0; ligado: BOOL := 0; FimProd: BOOL := 0;
Producaox: WORD := 0; FimProdr: BOOL := 0; a: BOOL := 0; ss: BOOL := 0; ligadoq:
BOOL := 0; para um valor entre “TRUE” e “FALSE, por exemplo, com um clique duplo na
entrada ‘respectiva‘ na caixa de entrada para o editor “SFC”. Isto deixará a variável preparada
para ser ajustada conforme a figura abaixo.
Você notará que este valor digitado
aparecerá ao lado da variável
“RESPECTIVA”, mas a variável
ainda não assumirá o novo valor,
para isso será necessário
pressionar a tecla <F7>.
Para voltar ao estado
inicial use a combinação de teclas
<SHIFT> + <F7>

Cursos de Extensão > Automação Industrial


 Dúvidas?

Comentários?

Considerações Finais.

Cursos de Extensão > Automação Industrial


Fim do Segundo Dia.

Cursos de Extensão > Automação Industrial

Você também pode gostar