Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila TIA V11
Apostila TIA V11
5 Programação Básica.................................................................................. 25
5.1 Temporizadores....................................................................................................... 27
Página | 2
5.4.3 Bloco de Dados (DB)......................................................................................... 44
Página | 3
7.2.2.4 Display Gráfico (Graphic I/O Field)................................................................ 60
7.5 Events...................................................................................................................... 64
Página | 4
1 Introdução
A presente apostila tem como objetivo auxiliar os alunos do curso de programação avançada
de CLP, IHM e Supervisórios na criação de um projeto novo utilizando o software TIA V11,
destinado a programação de Controladores Lógicos Programáveis da linha S7-1200 da
Siemens.
A versão utilizada no SENAI é a TIA Basic, liberando apenas a programação da linha S71200 e
IHM KTP, porém, nas versões Professional e Advanced, estão liberadas todas as famílias de
CLP’s (S7-1200, S7-300, S7-400, ET200s CPU) e também toda a linha de IHM’s (KTP, TP, MP,
Comfort Panel).
Utilizando este princípio, nesta apostila também estará disponível um tutorial de criação de
projeto uitilizando a IHM KTP600, disponíveis nos KIT didáticos da Unoesc.
O software de supervisão que será utilizado em sala de aula é o Elipse E3, da marca Elipse de
Porto Alegre – RS. Este supervisório é um dos lideres atuais do mercado de sistemas de
supervisão, tendo uma ampla plataforma de desenvolvimento, aliando simplicidade e
funcionalidade ao seu sistema.
Página | 5
2 Criando um Projeto
Na área de trabalho, de um duplo clique no ícone TIA Portal V11. A seguinte tela abrirá
Página | 6
Após aberto o software, a seguinte tela irá aparecer.
Página | 7
Ao clicar em create new project, será possível nomear o projeto, bem como alterar seu destino
de gravação, caso necessite gravá-lo em pen-drive, por exemplo.
Página | 8
3 Configurando o hardware
Após nomear e selecionar o caminho de destino, clique em create. O projeto será criado e você
poderá iniciar os trabalhos, conforme mostra a figura 4.
Página | 9
Após selecionada a ferramenta de configuração de equipamento, como se trata de um projeto
novo, devemos inserir um novo equipamento, como sugere a figura 5.
Após clicar no botão add new device, poderá ser escolhido o modelo de CLP e IHM que
serão utilizados no projeto. O CLP montando nos kits didáticos é a:
Página | 10
É indispensável que os módulos montados no kit didático sejam totalmente reproduzidos no
software, de modo que não ocorram erros na inicialização do CLP quando do download das
configurações para o mesmo. Desta forma, é necessário configurar os seguinte módulos
juntamente com a CPU:
Com um duplo clique sob os módulos de comunicação, automaticamente eles são inseridos no
rack, conforme figura a cima.
Vale lembrar que está configuração está sendo feita em função do KIT didático que será
trabalhando em aula, possuir exatamente estes módulos, porém, estas configuração varia de
acordo com a aplicação automatizada.
Página | 11
3.2 Configuração Automática de Hardware
Página | 12
Figura 8 - Auto-detectando o hardware
Clicando em detect, o software estabelecerá uma conexão com o CLP lendo todas as
configurações do hardware conectado ao computador.
Página | 13
3.3 Configuração do endereço IP
Depois de configurado o endereço IP, é necessário salvar o projeto no botão save project.
Salvando o projeto, o programa irá compilar as informações e só assim as entradas estarão
disponíveis para a programação.
Página | 14
Figura 11 - Endereçamentos Lógicos
Todos os endereços em destaque na figura 11, podem ser modificados através do software,
basta a modificação na referida janela: device overview. A medida em que são inseridos os
módulos, automaticamente o software atribui endereços a eles, deve-se verificar quais são
estes endereços para fazer a correta utilização no desenvolvimento do programa.
Página | 15
Para isto é necessario habilitar estas funções. Juntamente com estas configurações, pode-se
habilitar também, memórias que possuem um pulso de clock definido. Todas estas
configurações estão disponíveis com um duplo clique na CPU, abrindo a aba de propriedades.
Página | 16
4 Project Tree
Página | 17
4.1 Device Configuration
Responsável pela configuração do equipamento. Com um duplo clique nele, você poderá
modificar a configuração de hardware atual, inserindo ou removendo objetos. Também é
possível a criação/modificação de configurações de rede.
Esta aba será acessível somente quando o CLP estive em modo online, dando acesso as
funções de reset da CPU, buffer de diagnóstico, capacidade da CPU de
temporizadores/contadores e etc
Nesta pasta estão concentrados todos os blocos utilizados no programa, sejam eles FC, FB, DB,
OB. Também está disponível a função para inserir novos blocos ao programa.
Blocos tecnológicos são blocos de funções prontos e disponibilizados pela Siemens, como
blocos de controle PID, blocos de controle de movimento (motion) para utilização com
inversores de frequência e servos-motores.
Página | 18
Figura 14 - Technology Blocks
Através destas fontes, é possível importar um programa feito em SCL para o projeto atual Caso
você tenha exportado as fontes de um projeto do Simatic Manager, é possível a importação
para o TIA V11 através desta função.
Um duplo clique sob a opção Show all tags, na pasta PLC Tags, abrirá uma janela onde poderão
ser realizadas todas as declarações de variáveis do sistema.
Página | 19
Figura 15 - Declaração de Variáveis
Para a declaração de variáveis somente é necessária a escrita do nome do símbolo que será
utilizado, ao pressionar a tecla ENTER, automaticamente as outras colunas serão preenchidas,
inclusive a coluna de endereçamento. Por padrão, esta coluna inicia sempre no endereço
%I0.0. Caso seja necessário mudar a área de endereçamento, o mesmo deve ser feito à mão.
Nesta seção é possível criar um tipo de dado conforme a necessidade do usuário. Ao invés de
se trabalhar com variáveis do tipo bool, byte, word, double word, pode-se criar uma própria
estrutura de dados, acessando-a através de uma DB e utilizando seus dados internos. Mais
detalhes serão vistos no capitulo 6.1.5 de programação avançada.
Neste local é possível criar tabelas para monitorar e forçar variáveis do sistema. Clicando em
“add new watch table”, uma nova tabela será criada. Nela poderão ser inseridos os endereços
a serem monitorados, por exemplo, entradas digitais e analógicas, saídas digitais e analógicas,
memórias de quaisquer tipo, endereços de DB.
Página | 20
Figura 16 - Watch Window
Caso seja necessário forçar algum endereço, deve-se manipular a tabela chamada “force
table”. Através dela, o CLP ignora o resultado lógico da operação do determinado endereço e
prevalece o que estiver na tabela de force.
É importante lembrar que não podem ser forçados endereços de entradas digitais ou
analógicas, por se tratarem de elemento que fornecem o sinal para o CLP. São aceitos apenas
endereços de saída digital e analógica, memórias e endereçamentos de DB’s.
Página | 21
Após inserido o valor a ser forçado na colune “force value”, é necessário aplicar o valor,
pressionando o primeiro F da coluna superior esquerda, conforme a figura 17.
Mostra as principais informações a respeito do programa que está sendo desenvolvido, como:
Dá acesso ao módulos periféricos a CPU, como por exemplo, remotas profibus, cartões de
rede...
Página | 22
Figura 19 - Local Modules
Página | 23
Figura 20 - Local Modules na Arvore do Projeto
Página | 24
5 Programação Básica
Para o início da programação, deve-se levar em consideração a tabela destacada na figura 10.
Página | 25
Da esquerda para a direita, na tabela destacada, a ordem de elementos é:
Contato NA;
Contato NF;
Bobina Simples;
Bloco Genérico (utilizados para chamar temporizadores e contadores);
Abertura de linha;
Fechamento de Linha;
Para alteração do tipo da bobina simples, basta um duplo clique sob a mesma, onde
aparecerão os outros modelos disponíveis, conforme figura ao lado.
Página | 26
P Flanco Positivo – Atua como um filtro de
entrada, lendo apenas o instante em que o
nível lógico passa de 0 para 1, durante um
ciclo de scan.
N Flanco Negativo - Atua como um filtro de
entrada, lendo apenas o instante em que o
nível lógico passa de 1 para 0, durante um
ciclo de scan.
NOT Contato de Negação – Inverte o nível
lógico da entrada da instrução em sua
saída
5.1 Temporizadores
Existem basicamente três tipos de temporizadores utilizados no TIA V11, são eles:
Página | 27
TOF: Temporizador com retardo na desenrgização;
Figura 24 - Gráfico TP
Para inserir o temporizador, basta selecionar a empty box e nomeá-la com o nome do
temporizador que será utilizado (TON, TOF, TP). A figura 11 mostra este procedimento.
Página | 28
Figura 25 - Inserindo um TON
Página | 29
Ao inserir o temporizador, abrirá uma janela conforme a figura abaixo:
Página | 30
Inserido o temporizador o mesmo possui duas entradas e duas saídas:
Página | 31
As figuras a seguir mostram o comportamento online do temporizador:
Página | 32
5.2 Contadores
Para inserir o contador, basta selecionar a empty box e nomeá-la com o nome do temporizador que será
utilizado (CTU, CTD, CTUD). Ao inserir o contador, a mesma janela do temporizador irá aparecer. Nela deve-
se colocar um nome para o temporizador, levando em consideração a observação do temporizador: NÃO
UTILIZAR CARACTERES ESPECIAIS NEM ESPAÇO.
Página | 33
Ao inserir o contador, o mesmo possui três entradas e duas saídas, conforme mostra a figura
abaixo:
Página | 34
Counter operations: Contém os contadores disponíveis para utilização no software;
Comparator operations: Operações de comparações do tipo maior, menor,
maior/igual, menor/igual, igual, diferente e etc...
Math Functions: Operações matemáticas disponíveis de soma, subtração, divisão,
multiplicação e etc...
5.3 Comparadores
Os comparadores são inseridos da mesma forma dos contatos NA, porém devem ser buscados
na aba ao lado, conforme mostra a figura acima:
Igual:
Diferente:
Página | 35
Maior:
Menor:
Maior Igual:
Página | 36
Menor Igual:
Em todos estes blocos, é muito importante a distinção dos tipos de dados a serem
comparados, pois não é possível a comparação de duas variáveis diferentes, como por
exemplo: Comparar uma variável do tipo INT com uma variável do tipo REAL.
Página | 37
5.4 Tipos de Blocos
FC [Function];
FB [Function Block];
DB [Data Block];
OB [Organization Block];
Dependendo do tipo de bloco a ser utilizado na aplicação, o programa pode ser dividido nas
seguintes áreas:
Programa Linear: Tem sua estrutura marcada pela ausência de qualquer bloco. Todo o
programa é escrito dentro do OB1, que é o bloco principal de programação.
Programa Particionado: Tem sua estrutura fracionada em vários blocos. Facilita a organização
e manutenção do programa. Normalmente utilizados com FC’s.
Página | 38
Os elementos Functions são funções que executam determinadas ações e não possuem
armazenamento de memória. Todos os dados são perdidos após a função chegar ao fim da
chamada.
Quando são utilizados blocos do tipo function é necessária a utilização de variáveis globais
para o armazenamento de dados.
Figura 39 - Function
Após criada a FC, ela ficará armazenada juntamente com o OB1, na pasta Program Block com a
árvore do projeto.
Página | 39
Para criar a programação dentro da FC, devemos levar em consideração as variáveis de
entradas, saídas e temporárias que constituem a mesma.
Figura 41 - Variáveis da FC
Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-curso e
etc. Geralmente são variáveis apenas de leitura do sistema
Output: São as variáveis de saída do bloco, como por exemplo: válvula para acionamento de
um cilindro, contatora para acionamento de um motor e etc. Geralmente são variáveis
somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento.
InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente
variáveis que possam comunicar com algum sistema de supervisão para alteração de setpoint’s
de um processo.
Temp: São as variáveis temporárias da função. Estas variáveis temporárias que auxiliam na
programação dentro da FC. Ao invés de se utilizar de uma memória M (globais) do CLP,
podem-se utilizar as memórias L (locais). Estas variáveis estarão disponíveis apenas dentro do
bloco que elas foram criadas. Deve-se levar em consideração que ao utilizar memórias Locais,
SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura.
Isto justifica o porque de a FC perder os dados após o término do processamento do bloco. As
Fc’s, não possuem uma área para armazenar os dados após a primeira varredura do software,
ou seja, caso uma leitura seja realizada antes de uma escrita, corre-se o risco de ler um valor
que não seja coerente com o processo.
Página | 40
5.4.2 Function Block (FB)
O FB possui uma área de armazenamento de memória. Toda vez que a FB for chamada, deverá
ser associada a ela um novo data block (DB). Nesta DB, são salvos todos os tipos de dados do
bloco, como: entradas, saídas, variáveis temporárias, locais..
Todos os dados contidos dentro de cada DB, podem ser acessados pela chamada da FB.
Página | 41
Figura 43 - Inserindo um FB
Após criada a FB, ela ficará armazenada juntamente com o OB1, na pasta Program Block
juntamente com a árvore do projeto.
Página | 42
Figura 44 - Variáveis FB
Input: São dados de entrada do sistema, como por exemplo: sensores, botões, fins-de-curso e
etc. Geralmente são variáveis apenas de leitura do sistema
Output: São as variáveis de saída do bloco, como por exemplo: válvula para acionamento de
um cilindro, contatora para acionamento de um motor e etc. Geralmente são variáveis
somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento.
InOut: São variáveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente
variáveis que possam comunicar com algum sistema de supervisão para alteração de setpoint’s
de um processo.
Temp: São as variáveis temporárias da função. Estas variáveis temporárias que auxiliam na
programação dentro da FB. Ao invés de se utilizar de uma memória M (globais) do CLP,
podem-se utilizar as memórias L (locais). Estas variáveis estarão disponíveis apenas dentro do
bloco que elas foram criadas. Deve-se levar em consideração que ao utilizar memórias Locais,
SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura.
Static: Variáveis estáticas que são salvas dentro da DB instanciada da FB. Desta maneira, estes
dados são salvos ao final do processamento do bloco, podendo ser utilizados no próximo ciclo
de scan do sistema.
Página | 43
5.4.3 Bloco de Dados (DB)
DB’s globais podem ser acessados de qualquer parte do programa. Um exemplo claro de
funcionamento de uma DB global é quando ela não está associada a nenhum FB, por
exemplo...uma DB onde estarão todos os dados que serão utilizados na IHM ou supervisório.
DB’s instanciadas são aquelas que são delcaradas juntamente com alguma FB, por exemplo:
TON, CTU ou qualquer outra FB que for criada dentro do programa.
Existem dois grupos de dados que podem ser trabalhados dentro das DB. São os tipos
elementares e os tipos complexos, aos quais iremos ver a seguir.
Página | 44
Dados elementares são utilizados com frequência em programações básicas, pois possuem os
tipos de dados básicos:
Variáveis de tipo complexo são utilizados quando o programa desenvolvido exige um nível de
controle ou estruturação maior, pois em sua maioria são unidos vários tipos de dados
elementares em uma única estrutura, de fácil acesso e entendimento.
Página | 45
Figura 47 - Dados Complexos
Página | 46
Figura 48 - Tipos de OBs
Página | 47
Figura 49 - Blocos de Organização
Página | 48
5.4.4.4 OB3x – Cyclic Interrupt
O OB de interrupção ciclica é executado em tempos específicos de intervalos. É muito utilizado
para executar blocos de controle PID e ele é definido na janela de diálogo do OB
6 Download do Programa
Página | 49
Figura 50 - Fazendo Download
A tela acima Irá abrir e então será necessário selecionar qual o meio físico utilizado para
efetuar o download. No caso do kit de desenvolvimento, estará previsto a utilização do meio
físico, ethernet, bem como sua referida placa de rede, conforme mostra a tabela destacada na
figura 24.
Caso em um primeiro momento o programa não encontre nenhum CLP na rede, significa que o
IP configurado é diferente do IP programado no CLP, desta forma, faz-se necessária a utilização
da opção “Show all accessible devices”, para que o programa encontre todos os equipamentos
conectados a ele e assim, será feita a seleção do CLP e posteriormente o download.
Caso seja necessário apenas o download do software, é necessário selecionar a pasta Program
Block e prosseguir com o download.
Página | 50
Levando em consideração que a programação vai ser feita de forma integrada entre CLP e
IHM, e que os dois equipamentos vão permanecer no mesmo projeto, podemos ter como base
o projeto existente até o momento desta apostila. No projeto que estamos trabalhando,
podemos inserir um novo equipamento, conforme sugere a figura abaixo:
Página | 51
Após o duplo clique em Add new device, a seguinte janela irá aparecer para fazer a seleção do
equipamento desejado:
O kit didático utilizado em aula acompanha uma IHM modelo KTP 600 Basic Color PN, desta
forma, devemos localizá-la na árvore acima e em seguida, clicar em OK.
Página | 52
7.1 Configurando a IHM
Após a seleção do equipamento, uma janela assistente para configuração irá aparecer. Nesta
janela estão todas as opções necessárias para a pré-configuração da IHM, onde pode ser feita
a seleção da conexão, pré-criação de alarmes, layout de telas, mapa de navegação e etc...
Nesta figura, podemos selecionar com qual CLP iremos fazer a conexão, caso nosso projeto
tenha mais de um equipamento.
Com esta IHM, pode-se estabelecer conexão com mais de um CLP também, basta inserir uma
nova conexão manualmente após finalizado o assistente.
Página | 53
7.1.2 Layout de Tela
Página | 54
7.1.3 Pré-configurando alarmes:
Alarmes ativos;
Alarmes reconhecidos;
Alarmes não reconhecidos.
Página | 55
7.1.4 Mapeamento de Telas
Nesta tela é possível fazer um mapeamento de navegação e telas da IHM. Ao clicar no símbolo
“+” da tela, a mesma criará outra tela.
É importante salientar que todas as telas criadas nesta etapa do assistente, automaticamente
já serão criadas no projeto, com o nome dado a tela e também botões de navegação entre as
telas.
Página | 56
7.1.5 System Screen
A seguinte tela “System Screen” dá a opção de adicionar ao projeto da IHM as telas de sistema,
são elas:
Página | 57
7.1.6 Rodapé
A tela a seguir da a opção de configurar também o layout da página, porém, seu foco são nos
botões de operação. Nela você poderá escolher quais os botões necessários para a sua
aplicação, são eles:
Página | 58
7.2 Objetos de Tela
Linha;
Elipse;
Circulo;
Retângulo;
Texto;
Figura;
Estes objetos podem são utilizados principalmente para sinalização de processo, podendo
trocar de cor, aparecer ou desaparecer, conforme os tags associados a eles.
Página | 59
7.2.2 Elementos
7.2.2.2 Botão
Utilizado para executar ações, conforme a necessidade do projeto. Para o correto
funcionamento, deve-se associar uma tag ao botão, que irá executar uma das seguintes
funções;
Página | 60
7.3 Propriedades dos objetos
Ao inserir qualquer objeto na tela, ele poderá ser alterado conforme a necessidade do nosso
projeto, para isso, existem 3 principais abas em qualquer objeto adicionado na tela, são elas:
Propriedades;
Animações;
Eventos.
General: Configuração geral do botão, como texto (label), que aparece ao pressionar
ou soltar o botão, seleção de tecla de atalho (hotkey), e seleção do modelo do botão;
Appearence: Configuração da aparência do botão. Nesta aba pode-se configurar a cor
de fundo do botão e também a cor da letra que aparecerá na parte posterior do
mesmo.
Design: Utilizado para configuração do estilo do botão, se é 3D ou não;
Layout: Nesta aba é configurado o tamanho exato do botão, bem como seu
posicionamento na tela;
Text Format: Formato do texto;
Miscellaneous: Utilizado para configurar o nome do objeto e também a camada
associada a ele;
Security: Nesta seção pode-se configurar o nível de acesso a execução da ação do
botão:
Página | 61
Figura 60 - Propriedades do Botão
7.4 Animações
Na aba Animations do objeto da IHM, pode-se configurar tudo em relação a animações que o
objeto pode ter. Estas animações, podem ser do tipo:
Página | 62
Figura 61 - Animações do Objeto Botão
Página | 63
7.5 Events
Na aba Events, poderemos executar funções pré-determinadas para que o processo funcione
adequadamente, por exemplo:
Ao clicar num botão, outra tela deverá abrir, ou um motor deverá acionar e etc...
Na aba events, podemos selecionar a fonte do evento, conforme mostra a figura 36:
Página | 64
É importante lembrar que apenas quando o objeto da tela for um BOTÃO, utilizaremos os
eventos, pois em objetos de sinalização
Após selecionado o evento, devemos incluir uma função a este evento, como sugere a figura
37.
Página | 65
o Limpar o buffer de alarmes;
Calculations scripts: Utilizada para fazer cálculos matemáticos quando o evento é
chamado;
o Incrementar tag;
o Decrementar tag;
Edit bits: É a área mais utilizada, visto que através dele é possível a manipulação de
valores de bits;
o InvertBit: Cada vez que é chamado, inverte o valor do bit;
o SetBit: Leva o valor do bit para 1;
o ResetBit: Leva o valor do bit para 0;
Keyboard:
Keyboard operating for screen objects
Other functions:
o Stop runtime: para o serviço da IHM e leva para o painel de controle;
Screens: Utilizado para manipulação de telas
o ActivatePreviousScreen: Ativa a tela anterior a atual;
o ActivateScreen: Ativa a tela conforme o nome da mesma;
o ActivateScreenByNumber: Ativa a tela conforme o numero da mesma;
Settings: Manipula as configurações da IHM;
o ChangeConnection: Muda a conexão da IHM, caso haja alguma outra
configurada. Por exemplo: Conexão Profinet e Conexão Profibus;
System: Configurações do sistema
o CalibrateTouchScreen: Calibra a tela touchscreen durante o runtime;
Página | 66
Página | 67