Escolar Documentos
Profissional Documentos
Cultura Documentos
SCE PT 010 020 R1209 S7 1200 Bausteine PDF
SCE PT 010 020 R1209 S7 1200 Bausteine PDF
Note que os pacotes de instrutor podem ser substituídos por pacotes atualizados.
Um resumo dos pacotes SCE atualmente disponíveis pode ser encontrado em: siemens.com/sce/tp
Treinamentos avançados
Para treinamentos avançados SCE Siemens, entre em contato com o parceiro SCE da sua região
siemens.com/sce/contact
A documentação de treinamento para a solução de automação universal Totally Integrated Automation (TIA) foi
elaborada para o programa "Siemens Automation Cooperates with Education (SCE)" especificamente para fins
educacionais. A Siemens AG não assume nenhuma responsabilidade sobre o conteúdo.
Este documento só pode ser utilizado para o treinamento inicial em produtos/sistemas da Siemens. Isto é, ele
pode ser copiado em sua totalidade ou parcialmente e ser entregue aos alunos para uso durante o
treinamento. A transmissão e reprodução deste documento, bem como a divulgação de seu conteúdo, são
permitidas apenas para fins educacionais.
As exceções demandam a aprovação por escrito do representante da Siemens AG: Sr. Roland Scheuerer
roland.scheuerer@siemens.com.
As violações estão sujeitas a indenização por danos. Todos os direitos, inclusive da tradução, são reservados,
particularmente para o caso de registro de patente ou marca registrada.
A utilização em cursos para clientes industriais é expressamente proibida. O uso comercial dos documentos
não é autorizado.
Agradecemos à empresa Michael Dziallas Engineering e todas as pessoas pelo auxílio na elaboração deste
documento.
PÁGINA:
1. Prefácio.................................................................................................................................................... 4
2. Notas sobre a programação do SIMATIC S7-1200...................................................................................6
2.1 Sistema de automação SIMATIC S7-1200...............................................................................................6
2.2 Software de programação STEP 7 Professional V11 (TIA-Portal V11).....................................................6
3. Tipos de blocos para o SIMATIC S7-1200................................................................................................7
3.1 Programação linear.................................................................................................................................. 7
3.2 Programação estruturada......................................................................................................................... 8
3.3 Blocos de usuário para o SIMATIC S7-1200............................................................................................ 9
3.3.1 Blocos de organização................................................................................................................... 10
3.3.2 Funções.......................................................................................................................................... 11
3.3.3 Blocos de função............................................................................................................................ 11
3.3.4 Blocos de dados............................................................................................................................. 12
4. Exemplo de tarefa do bloco de função para controlador de esteira.......................................................13
5. Programação do controlador de esteira para o SIMATIC S7-1200.........................................................14
1. Prefácio
Fundamentos da
programação CLP
Módulo 10, módulo 20
Simulação do sistema
SIMIT Módulo 150
Meta de aprendizado:
O leitor deverá aprender neste módulo os diferentes blocos para a programação do SIMATIC S7-1200
com a ferramenta de programação TIA-Portal. O módulo explica os diferentes tipos de blocos e mostra
os passos para a criação de um programa em um bloco de função.
Pré-requisitos:
1 PC Pentium 4 com 1.7 GHz, 1 GB de RAM (XP) ou 2 GB de RAM (Vista), espaço livre em disco
de aprox. 2 GB
Sistema operacional Windows XP Professional SP3 / Windows 7 Professional / Windows 7
Enterprise / Windows 7 Ultimate / Windows 2003 Server R2 / Windows Server 2008 Premium
SP1, Business SP1, Ultimate SP1
2 Software STEP7 Professional V11 SP1 (TIA-Portal V11)
3 Conexão Ethernet entre o PC e o CLP 315F-2 PN/DP
4 CLP SIMATIC S7-1200, p.ex., CPU 1214C.
As entradas deverão ser executadas em um painel de controle.
2 STEP 7 Professional
1 PC V11 (TIA Portal)
3 Conexão Ethernet
4 S7-1200 com
CPU 1214C
O controlador lógico programável (CLP) monitora e controla uma máquina ou um processo por meio
do software S7. No software S7, os módulos de Input/Output (I/O) são consultados através de
endereços de entrada (%I) e endereçados através de endereços de saída (%Q).
Com STEP 7 Professional V11, as seguintes funções podem ser usadas para a automação de um
sistema:
- configuração e parametrização do hardware
- estabelecimento da comunicação
- programação
- teste, startup e serviço com as funções de operação/diagnóstico
- documentação
- criação de telas para os SIMATIC Basic Panels com WinCC Basic integrado.
- com os pacotes WinCC avançado também é possível criar soluções de visualização para PCs e
outros painéis
O programa para o SIMATIC S7-1200 é gravado nos assim chamados blocos. Como padrão, o bloco
de organização Main[OB1] já existe.
Este representa a interface ao sistema operacional da CPU e é automaticamente chamado e
ciclicamente processado.
Em tarefas de controle extensas, o programa é subdividido em blocos de programa pequenos,
gerenciáveis e ordenados conforme as funções.
Estes blocos são, então, chamados a partir de blocos de organização. No final do bloco, salta-se
novamente de volta para o bloco de organização que fez a chamada. E exatamente na linha após da
chamada.
, OB1
1ª instrução
2ª instrução
3ª instrução
Final do bloco
OB 1 FB 1 FC 21 DB 11
DB global para
todos
FBs
BE FCs
OBs
DB 10
DB de
instância
Dados locais
BE apenas FB1
FC 2
OB = bloco de organização
FB = bloco de função
FC = função
DB = bloco de dados
BE
OB (bloco de organização):
Um OB é ciclicamente chamado pelo sistema operacional e forma, desta maneira, a interface entre o
programa de usuário e o sistema operacional. Neste OB, a unidade de controle do CLP é informada
sobre os comandos que deverão ser processados pelos blocos do programa.
FB (bloco de função):
o FB necessita de um espaço de memória atribuído para cada chamada (instância). Quando um FB é
chamado, por exemplo, um bloco de dados (DB) pode ser atribuído como DB de instância.
Os dados neste DB de instância são, então, acessados através das variáveis do FB.
Quando este for chamado várias vezes, diferentes espaços de memória deverão ser atribuídos a um
FB. Em um bloco de função poderão ser chamados outros FBs e FCs.
FC (função):
uma FC não possui nenhum espaço de memória atribuído. Os dados locais de uma função se perdem
após o processamento da função.
Em uma função poderão ser, por sua vez, chamados outros FBs e FCs.
DB (bloco de dados):
Os DBs são usados para disponibilizar espaço de memória para as variáveis de dados. Existem dois
tipos de blocos de dados. DBs globais, onde todos os OBs, FBs e FCs podem ler os dados
armazenados ou gravar dados no DB e DBs de instância, que são atribuídos a um determinado FB
Nota:
Quando somente variáveis internas tiverem sido usadas na programação de FCs e FBs, estas poderão
ser utilizadas várias vezes na forma de blocos padrão.
Então estas poderão ser chamadas com qualquer frequência, sendo que para os FBs deverá ser
atribuído um espaço de memória, uma assim chamada instância (p.ex., um DB), para cada chamada.
OB de alarme de atraso:
O OB de alarme de atraso pode ser inserido e programado em seu projeto. Adicionalmente, ele deve
ser chamado no programa de usuário por meio da instrução SRT_DINT. A parametrização não é
necessária.
Informação de início
No início de alguns blocos de organização, o sistema operacional fornece informações que podem ser
avaliadas no programa de usuário.
Isto pode ser bastante útil principalmente no diagnóstico de erros.
Se e quais informações são fornecidas, poderá ser consultado nas descrições dos blocos de
organização.
3.3.2 Funções
Uma função contém um programa que é executado sempre que a função for chamada por outro bloco
de código.
Funções (FCs) são blocos de código sem memória. Os dados das variáveis temporárias são perdidos
após o processamento da função. Para salvar os dados de forma permanente, podem ser usados
blocos de dados globais para as funções.
Retornar valores de funções ao bloco que realizou a chamada, por exemplo, em funções
matemáticas
Executar funções tecnológicas, por exemplo, controladores individuais com operações lógicas
binárias
Uma função também pode ser chamada diversas vezes em diferentes locais dentro de um programa.
Desta forma, elas facilitam a programação de funções complexas que se repetem com frequência.
Os blocos de função contêm subprogramas que são executados sempre que um bloco de função for
chamado por outro bloco de código.
Os blocos de função são blocos de código que armazenam os seus valores de maneira permanente
em blocos de dados de instância, de forma que estes estarão disponíveis mesmo após o
processamento do bloco.
Eles armazenam os parâmetros de entrada, saída e transição de forma permanente em blocos de
dados de instância. Desta forma, eles estarão disponíveis mesmo após o processamento do bloco. É
por isto que eles também são chamados de blocos com "memória".
Os blocos de função são usados em tarefas que não podem ser realizadas com funções:
Sempre que forem necessários os blocos de tempos e contadores (consulte o módulo M3)
Sempre que uma informação tiver que ser armazenada no programa.
Por exemplo, uma pré-seleção do modo de operação com um botão.
Um bloco de função também pode ser chamado diversas vezes em diferentes locais dentro de um
programa. Desta forma, eles facilitam a programação de funções complexas que se repetem com
frequência.
Ao contrário dos blocos de código, os blocos de dados não contém nenhuma instrução, mas são
usados para o armazenamento dos dados de usuário.
Nos blocos de dados, portanto, estão contidos dados variáveis com os quais o programa de usuário
trabalha.
Os blocos de dados globais registram dados que pode ser usados por todos os demais blocos.
O tamanho máximo dos blocos de dados varia dependendo da CPU. A estrutura dos blocos de dados
globais pode ser livremente definida.
Cada bloco de função, cada função ou cada bloco de organização pode ler os dados a partir de um
bloco de dados global ou gravar dados em um bloco de dados global. Estes dados permanecem
armazenados no bloco de dados mesmo quando o bloco de dados é encerrado.
Um bloco de dados global e um bloco de dados de instância poderão estar simultaneamente abertos.
Quando forem criados blocos que devam funcionar quase como "Black-Box" em diversos programas,
estes deverão ser programados com o uso de variáveis. Aqui vale a regra de que nestes blocos não
podem ser usadas entradas/saída de endereçamento absoluto, marcadores etc. Dentro do bloco são
aplicadas somente variáveis e constantes.
No exemplo a seguir, deve ser criado um bloco de função com declaração de variável contendo um
controle de esteira dependente do modo de operação.
Com o botão 'S1' deve ser selecionado o modo de operação 'Manual' e com o botão 'S2' deve ser
selecionado o modo de operação 'Automático'.
No modo de operação 'Manual', o motor permanece ligado enquanto o botão 'S3' estiver acionado,
sendo que o botão 'S4' não pode se encontrar acionado.
No modo de operação 'Automático', o motor da esteira deve ser ligado com o botão 'S3' e desligado
com o botão 'S4' (contato normalmente fechado).
Lista de atribuição:
Nota:
O botão desliga S4 é executado como contato normalmente fechado para garantir a segurança de
ruptura de fio. Isto significa que o sistema para automaticamente em caso de ruptura de fio neste
botão. Caso contrário, este não poderia mais ser parado em caso de ruptura de fio. Por isto, na
tecnologia de controle, todos os botões de parada, botões desliga ou interruptores devem ser sempre
executados com contatos normalmente fechados.
Aqui, em uma interface única, são criados, parametrizados e programados os componentes da solução
de automação, tais como controle, visualização e rede.
Ferramentas online estão disponíveis para o diagnóstico de erros.
Conforme os passos abaixo é possível criar um projeto para o SIMATIC S7-1200 e programar a
solução da tarefa:
1. A ferramenta central é o 'Totally Integrated Automation Portal', que é chamada aqui por meio
de um clique duplo. (® Totally Integrated Automation Portal V11)
3. Então, são sugeridos os 'First steps' para a criação do projeto. Queremos, primeiro, 'Configure a
device'. (® First steps ® Configure a device)
6. Para que o software acesse posteriormente a CPU correta, o respectivo endereço IP e máscara
de rede deverão ser configurados.
(® Properties ® General ® PROFINET interface ® IP address: 192.168.0.1 ® Subnet mask:
255.255.255.0)
7. Como na programação moderna não são usados endereços absolutos, mas sim variáveis
simbólicas, aqui é necessário definir as Variáveis globais do CLP.
Estas variáveis globais do CLP são nomes descritivos com comentário para todas as entradas e saídas
usadas no programa. Posteriormente, as variáveis globais do CLP poderão ser acessadas através dos
respectivos nomes durante a programação.
Estas variáveis globais podem ser usadas em todo o programa e em todos os blocos.
10. O bloco 'conveyor [FB1]' é, então, automaticamente aberto. Antes de poder gravar o programa, é
necessário declarar a interface do bloco.
Na declaração da interface, são definidas as variáveis locais conhecidas somente neste bloco.
11. Na declaração das variáveis locais, no nosso exemplo são necessárias as seguintes variáveis.
Input:
Output:
Todas as variáveis são do tipo 'Bool', isto é, variáveis que possuem o estado '0' (false) ou '1' (true).
O importante neste exemplo é o fato de que as duas variáveis, 'mem_automatic' e 'mem_motor',
devem ser armazenadas durante um intervalo de tempo mais longo. Por isto é necessário que aqui
seja usado o tipo de variável 'Static'. Este tipo de variável só existe em um bloco de função FB. Para
uma melhor compreensão, todas as variáveis locais também deverão ser acompanhadas de um
comentário.
12. Após as variáveis locais terem sido declaradas, o programa pode ser inserido usando-se os
nomes das variáveis. (As variáveis são identificadas pelo símbolo '#'.) Para este exemplo, o
aspecto no FBD poderá ser o seguinte.
14. O bloco "conveyor" deve, então, ser chamado a partir do bloco de programa Main[OB1]. Caso
contrário, o bloco não será processado.
Abra este bloco com um clique duplo sobre 'Main[OB1]'. (® Main[OB1] )
15. O bloco "conveyor [FB1]" poderá, então, ser movido por meio de simples Arrastar&Soltar para a
rede 1 do bloco Main[OB1]. (® conveyor [FB1])
16. Como estamos lidando com um bloco de função, uma memória deverá ser disponibilizada. No
SIMATIC S7-1200, blocos de dados estão disponíveis como memória. Um bloco de dados
atribuído deste tipo é denominado Bloco de dados de instância.
Este deve ser aqui definido e criado como 'Automatic'. (® Automatic ® OK)
17. No OB1, as variáveis de entrada e as variáveis de saída são conectadas com as variáveis CLP
aqui mostradas.
Para tal, as variáveis CLP deverão ser arrastadas para as variáveis do bloco.
O projeto é salvo por meio de um clique com o mouse em . (® "S1" ® "S2" ® "S3" ®
"S4" ® "M01" ® )
Atenção!
O botão desliga S4 é um contato normalmente fechado (NA) e, portanto, deverá ser negado na
conexão ao bloco.
Isto é, a função desliga no bloco estará ativa quando o botão desliga S4 estiver acionado e, desta
forma, não existir sinal no terminal %I 0.3.
18. Para carregar o seu programa completo na CPU, primeiro selecione a pasta
'controller_conveyor' e clique, em seguida, no símbolo Download to device.
(® controller_conveyor ® )
19. Caso a interface PG/PC ainda não tiver sido definida, aparecerá uma janela onde isto poderá ser
realizado. (® PG/PC interface for loading ® Load)
20. Clique, então, novamente em 'Load'. Durante o carregamento, o status é exibido em uma janela.
(® Load)
21. O carregamento bem-sucedido será exibido em uma janela. Clique, então, com o mouse em
'Finish'. (® Finish)
23. Confirme a pergunta se você deseja realmente iniciar a CPU com 'OK'. (® OK)
24. Com um clique do mouse sobre o símbolo "Monitoring on/off", é possível observar o estado
das variáveis de entrada e saída no bloco "conveyor" durante o teste do programa e também a
25. Como o nosso bloco "conveyor" foi criado conforme as regras para blocos padrão (sem uso de
variáveis globais dentro do bloco!!!!!), agora ele pode ser usado e chamado com qualquer
frequência.
Aqui é mostrada uma tabela de variáveis CLP ampliada, com as entradas/saídas para duas esteiras.
26. O bloco "conveyor" no OB1 também pode ser chamado duas vezes com, respectivamente,
conexões diferentes. Cada chamada é definida em um bloco de dados de instância diferente.
Com o mesmo bloco é possível controlar duas esteiras separadamente uma da outra
Para tal, basta atribuir um bloco de dados de instância diferente em cada chamada.