Note que os pacotes de instrutor podem ser substitudos por pacotes atualizados.
Um resumo dos pacotes SCE atualmente disponveis pode ser encontrado em: siemens.com/sce/tp
Treinamentos avanados
Para treinamentos avanados SCE Siemens, entre em contato com o parceiro SCE da sua regio
siemens.com/sce/contact
A documentao de treinamento para a soluo de automao universal Totally Integrated Automation (TIA) foi
elaborada para o programa "Siemens Automation Cooperates with Education (SCE)" especificamente para fins
educacionais. A Siemens AG no assume nenhuma responsabilidade sobre o contedo.
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 transmisso e reproduo deste documento, bem como a divulgao de seu contedo, so
permitidas apenas para fins educacionais.
As excees demandam a aprovao por escrito do representante da Siemens AG: Sr. Roland Scheuerer
roland.scheuerer@siemens.com.
As violaes esto sujeitas a indenizao por danos. Todos os direitos, inclusive da traduo, so reservados,
particularmente para o caso de registro de patente ou marca registrada.
A utilizao em cursos para clientes industriais expressamente proibida. O uso comercial dos documentos
no autorizado.
Agradecemos empresa Michael Dziallas Engineering e todas as pessoas pelo auxlio na elaborao deste
documento.
PGINA:
1. Prefcio.................................................................................................................................................... 4
2. Notas sobre a programao do SIMATIC S7-1200...................................................................................6
2.1 Sistema de automao SIMATIC S7-1200...............................................................................................6
2.2 Software de programao STEP 7 Professional V11 (TIA-Portal V11).....................................................6
3. Tipos de blocos para o SIMATIC S7-1200................................................................................................7
3.1 Programao linear.................................................................................................................................. 7
3.2 Programao estruturada......................................................................................................................... 8
3.3 Blocos de usurio para o SIMATIC S7-1200............................................................................................ 9
3.3.1 Blocos de organizao................................................................................................................... 10
3.3.2 Funes.......................................................................................................................................... 11
3.3.3 Blocos de funo............................................................................................................................ 11
3.3.4 Blocos de dados............................................................................................................................. 12
4. Exemplo de tarefa do bloco de funo para controlador de esteira.......................................................13
5. Programao do controlador de esteira para o SIMATIC S7-1200.........................................................14
1. Prefcio
Fundamentos da
programao CLP
Mdulo 10, mdulo 20
Simulao do sistema
SIMIT Mdulo 150
Meta de aprendizado:
O leitor dever aprender neste mdulo os diferentes blocos para a programao do SIMATIC S7-1200
com a ferramenta de programao TIA-Portal. O mdulo explica os diferentes tipos de blocos e mostra
os passos para a criao de um programa em um bloco de funo.
Pr-requisitos:
1 PC Pentium 4 com 1.7 GHz, 1 GB de RAM (XP) ou 2 GB de RAM (Vista), espao 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 Conexo Ethernet entre o PC e o CLP 315F-2 PN/DP
4 CLP SIMATIC S7-1200, p.ex., CPU 1214C.
As entradas devero ser executadas em um painel de controle.
2 STEP 7 Professional
1 PC V11 (TIA Portal)
3 Conexo Ethernet
4 S7-1200 com
CPU 1214C
O controlador lgico programvel (CLP) monitora e controla uma mquina ou um processo por meio
do software S7. No software S7, os mdulos de Input/Output (I/O) so consultados atravs de
endereos de entrada (%I) e endereados atravs de endereos de sada (%Q).
Com STEP 7 Professional V11, as seguintes funes podem ser usadas para a automao de um
sistema:
- configurao e parametrizao do hardware
- estabelecimento da comunicao
- programao
- teste, startup e servio com as funes de operao/diagnstico
- documentao
- criao de telas para os SIMATIC Basic Panels com WinCC Basic integrado.
- com os pacotes WinCC avanado tambm possvel criar solues de visualizao para PCs e
outros painis
O programa para o SIMATIC S7-1200 gravado nos assim chamados blocos. Como padro, o bloco
de organizao 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,
gerenciveis e ordenados conforme as funes.
Estes blocos so, ento, chamados a partir de blocos de organizao. No final do bloco, salta-se
novamente de volta para o bloco de organizao que fez a chamada. E exatamente na linha aps da
chamada.
, OB1
1 instruo
2 instruo
3 instruo
Final do bloco
OB 1 FB 1 FC 21 DB 11
DB global para
todos
FBs
BE FCs
OBs
DB 10
DB de
instncia
Dados locais
BE apenas FB1
FC 2
OB = bloco de organizao
FB = bloco de funo
FC = funo
DB = bloco de dados
BE
OB (bloco de organizao):
Um OB ciclicamente chamado pelo sistema operacional e forma, desta maneira, a interface entre o
programa de usurio e o sistema operacional. Neste OB, a unidade de controle do CLP informada
sobre os comandos que devero ser processados pelos blocos do programa.
FB (bloco de funo):
o FB necessita de um espao de memria atribudo para cada chamada (instncia). Quando um FB
chamado, por exemplo, um bloco de dados (DB) pode ser atribudo como DB de instncia.
Os dados neste DB de instncia so, ento, acessados atravs das variveis do FB.
Quando este for chamado vrias vezes, diferentes espaos de memria devero ser atribudos a um
FB. Em um bloco de funo podero ser chamados outros FBs e FCs.
FC (funo):
uma FC no possui nenhum espao de memria atribudo. Os dados locais de uma funo se perdem
aps o processamento da funo.
Em uma funo podero ser, por sua vez, chamados outros FBs e FCs.
DB (bloco de dados):
Os DBs so usados para disponibilizar espao de memria para as variveis 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 instncia, que so atribudos a um determinado FB
Nota:
Quando somente variveis internas tiverem sido usadas na programao de FCs e FBs, estas podero
ser utilizadas vrias vezes na forma de blocos padro.
Ento estas podero ser chamadas com qualquer frequncia, sendo que para os FBs dever ser
atribudo um espao de memria, uma assim chamada instncia (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 usurio por meio da instruo SRT_DINT. A parametrizao no
necessria.
Informao de incio
No incio de alguns blocos de organizao, o sistema operacional fornece informaes que podem ser
avaliadas no programa de usurio.
Isto pode ser bastante til principalmente no diagnstico de erros.
Se e quais informaes so fornecidas, poder ser consultado nas descries dos blocos de
organizao.
3.3.2 Funes
Uma funo contm um programa que executado sempre que a funo for chamada por outro bloco
de cdigo.
Funes (FCs) so blocos de cdigo sem memria. Os dados das variveis temporrias so perdidos
aps o processamento da funo. Para salvar os dados de forma permanente, podem ser usados
blocos de dados globais para as funes.
Retornar valores de funes ao bloco que realizou a chamada, por exemplo, em funes
matemticas
Executar funes tecnolgicas, por exemplo, controladores individuais com operaes lgicas
binrias
Uma funo tambm pode ser chamada diversas vezes em diferentes locais dentro de um programa.
Desta forma, elas facilitam a programao de funes complexas que se repetem com frequncia.
Os blocos de funo contm subprogramas que so executados sempre que um bloco de funo for
chamado por outro bloco de cdigo.
Os blocos de funo so blocos de cdigo que armazenam os seus valores de maneira permanente
em blocos de dados de instncia, de forma que estes estaro disponveis mesmo aps o
processamento do bloco.
Eles armazenam os parmetros de entrada, sada e transio de forma permanente em blocos de
dados de instncia. Desta forma, eles estaro disponveis mesmo aps o processamento do bloco.
por isto que eles tambm so chamados de blocos com "memria".
Os blocos de funo so usados em tarefas que no podem ser realizadas com funes:
Sempre que forem necessrios os blocos de tempos e contadores (consulte o mdulo M3)
Sempre que uma informao tiver que ser armazenada no programa.
Por exemplo, uma pr-seleo do modo de operao com um boto.
Um bloco de funo tambm pode ser chamado diversas vezes em diferentes locais dentro de um
programa. Desta forma, eles facilitam a programao de funes complexas que se repetem com
frequncia.
Ao contrrio dos blocos de cdigo, os blocos de dados no contm nenhuma instruo, mas so
usados para o armazenamento dos dados de usurio.
Nos blocos de dados, portanto, esto contidos dados variveis com os quais o programa de usurio
trabalha.
Os blocos de dados globais registram dados que pode ser usados por todos os demais blocos.
O tamanho mximo dos blocos de dados varia dependendo da CPU. A estrutura dos blocos de dados
globais pode ser livremente definida.
Cada bloco de funo, cada funo ou cada bloco de organizao 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 instncia podero estar simultaneamente abertos.
Quando forem criados blocos que devam funcionar quase como "Black-Box" em diversos programas,
estes devero ser programados com o uso de variveis. Aqui vale a regra de que nestes blocos no
podem ser usadas entradas/sada de endereamento absoluto, marcadores etc. Dentro do bloco so
aplicadas somente variveis e constantes.
No exemplo a seguir, deve ser criado um bloco de funo com declarao de varivel contendo um
controle de esteira dependente do modo de operao.
Com o boto 'S1' deve ser selecionado o modo de operao 'Manual' e com o boto 'S2' deve ser
selecionado o modo de operao 'Automtico'.
No modo de operao 'Manual', o motor permanece ligado enquanto o boto 'S3' estiver acionado,
sendo que o boto 'S4' no pode se encontrar acionado.
No modo de operao 'Automtico', o motor da esteira deve ser ligado com o boto 'S3' e desligado
com o boto 'S4' (contato normalmente fechado).
Lista de atribuio:
Nota:
O boto desliga S4 executado como contato normalmente fechado para garantir a segurana de
ruptura de fio. Isto significa que o sistema para automaticamente em caso de ruptura de fio neste
boto. Caso contrrio, este no poderia mais ser parado em caso de ruptura de fio. Por isto, na
tecnologia de controle, todos os botes de parada, botes desliga ou interruptores devem ser sempre
executados com contatos normalmente fechados.
Conforme os passos abaixo possvel criar um projeto para o SIMATIC S7-1200 e programar a
soluo 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. Ento, so sugeridos os 'First steps' para a criao do projeto. Queremos, primeiro, 'Configure a
device'. ( First steps Configure a device)
6. Para que o software acesse posteriormente a CPU correta, o respectivo endereo IP e mscara
de rede devero ser configurados.
( Properties General PROFINET interface IP address: 192.168.0.1 Subnet mask:
255.255.255.0)
Estas variveis globais do CLP so nomes descritivos com comentrio para todas as entradas e sadas
usadas no programa. Posteriormente, as variveis globais do CLP podero ser acessadas atravs dos
respectivos nomes durante a programao.
Estas variveis globais podem ser usadas em todo o programa e em todos os blocos.
10. O bloco 'conveyor [FB1]' , ento, automaticamente aberto. Antes de poder gravar o programa,
necessrio declarar a interface do bloco.
Na declarao da interface, so definidas as variveis locais conhecidas somente neste bloco.
11. Na declarao das variveis locais, no nosso exemplo so necessrias as seguintes variveis.
Input:
Output:
Todas as variveis so do tipo 'Bool', isto , variveis que possuem o estado '0' (false) ou '1' (true).
O importante neste exemplo o fato de que as duas variveis, 'mem_automatic' e 'mem_motor',
devem ser armazenadas durante um intervalo de tempo mais longo. Por isto necessrio que aqui
seja usado o tipo de varivel 'Static'. Este tipo de varivel s existe em um bloco de funo FB. Para
uma melhor compreenso, todas as variveis locais tambm devero ser acompanhadas de um
comentrio.
12. Aps as variveis locais terem sido declaradas, o programa pode ser inserido usando-se os
nomes das variveis. (As variveis so identificadas pelo smbolo '#'.) Para este exemplo, o
aspecto no FBD poder ser o seguinte.
14. O bloco "conveyor" deve, ento, ser chamado a partir do bloco de programa Main[OB1]. Caso
contrrio, o bloco no ser processado.
Abra este bloco com um clique duplo sobre 'Main[OB1]'. ( Main[OB1] )
15. O bloco "conveyor [FB1]" poder, ento, 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 funo, uma memria dever ser disponibilizada. No
SIMATIC S7-1200, blocos de dados esto disponveis como memria. Um bloco de dados
atribudo deste tipo denominado Bloco de dados de instncia.
Este deve ser aqui definido e criado como 'Automatic'. ( Automatic OK)
17. No OB1, as variveis de entrada e as variveis de sada so conectadas com as variveis CLP
aqui mostradas.
Para tal, as variveis CLP devero ser arrastadas para as variveis do bloco.
O projeto salvo por meio de um clique com o mouse em . ( "S1" "S2" "S3"
"S4" "M01" )
Ateno!
O boto desliga S4 um contato normalmente fechado (NA) e, portanto, dever ser negado na
conexo ao bloco.
Isto , a funo desliga no bloco estar ativa quando o boto desliga S4 estiver acionado e, desta
forma, no 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 smbolo Download to device.
( controller_conveyor )
19. Caso a interface PG/PC ainda no tiver sido definida, aparecer uma janela onde isto poder ser
realizado. ( PG/PC interface for loading Load)
20. Clique, ento, novamente em 'Load'. Durante o carregamento, o status exibido em uma janela.
( Load)
21. O carregamento bem-sucedido ser exibido em uma janela. Clique, ento, 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 smbolo "Monitoring on/off", possvel observar o estado
das variveis de entrada e sada no bloco "conveyor" durante o teste do programa e tambm a
25. Como o nosso bloco "conveyor" foi criado conforme as regras para blocos padro (sem uso de
variveis globais dentro do bloco!!!!!), agora ele pode ser usado e chamado com qualquer
frequncia.
Aqui mostrada uma tabela de variveis CLP ampliada, com as entradas/sadas para duas esteiras.
26. O bloco "conveyor" no OB1 tambm pode ser chamado duas vezes com, respectivamente,
conexes diferentes. Cada chamada definida em um bloco de dados de instncia diferente.
Com o mesmo bloco possvel controlar duas esteiras separadamente uma da outra
Para tal, basta atribuir um bloco de dados de instncia diferente em cada chamada.