Escolar Documentos
Profissional Documentos
Cultura Documentos
Softwares de Programação 3
Configuração do Hardware 4
CLP´s Siemens
Configuração do Hardware 5
Editar Blocos 6
Operações Binárias 7
Operações Digitais 8
Símbolos 9
Funções de Teste 10
Funções, Parâmetros e 12
Dados Locais
STEP-7
Palavra Analógica 13
Referência Cruzada 15
Backup e Documentação 16
Conteúdo Pág.
Conectividade Dentro da ótica atual que exige “conectividade“ nos equipamentos de automação,
observamos produtos de diferentes fabricantes sendo associados, trocando dados e
sinais entre si, formando assim um único e eficaz sistema de automação.
Comunicação A comunicação entre os diversos equipamentos pode ser feita via redes de
Vias Redes comunicação, otimizadas para a aplicação no ambiente industrial.
Industriais São muito aplicadas, hoje, redes como: ASI, Profibus, Interbus, Devicenet, Modbus,
Industrial Ethernet, etc...
Periferia Através destas redes é possível que sensores, atuadores e até mesmo módulos
Descentralizada de I/O‘s de fabricantes diferentes sejam comandados, por exemplo, por um único CLP.
Dizemos neste caso que temos um sistema de automação formado por um único CLP
com periferia descentralizada. Os benefícios decorrentes desse tipo de configuração
são incontestáveis – economia na instalação, redução de cabos e dutos de campo,
facilidade de manutenção, flexibilidade para expansões, etc...
Soluções Orkan Entre os produtos oferecidos pela Orkan, encontra-se os sistemas para automação VIPA,
composto por uma completa linha de PLC´s, IHM´s e periféricos para pequeno, médio e
grande porte.
Memória Flash.
Porta MP2I.
MMC Além da memória Flash integrada, o cartão de memória MMC (Multi Media Card)
utilizado pelas CPU´s VIPA pode armazenar programa, dados, programa fonte,
documentação ou outros arquivos.
Este cartão MMC não é necessário para o funcionamento da CPU, sua função
principal é de backup! Eles também podem ser usados para atualização do
firmware das CPU´s.
Este cartão MMC é fornecido pela VIPA com até 64Mbytes. Você pode usar
também MMC comum como, por exemplo, os utilizados em máquina fotográfica.
Utilização das A interface MPI é utilizada para a transferência de programas entre PC´s e CPU´s.
CPU´s com Com uma comunicação em rede MPI é possível a transferência de dados entre CPU´s.
a interface MPI Com a utilização de um conversor MPI é possível realizar nas CPU´s VIPA todas as RS485
funcionalidades da interface MPI.
Utilização da Para a transferência serial de dados entre PC´s e CPU´s VIPA não é necessária a
Interface RS232 utilização de um conversor MPI.
Através da interface MP2I você pode estabelecer uma comunicação ponto a ponto
RS232 entre PC´s e as CPU´s VIPA System 100V, 200V, 300V e Speed7.
Você pode solicitar na Orkan cabo serial para programação das CPU´s VIPA via MP2I
identificado pelo nome “ Green Cable”.
ATENÇÃO O “Green Cable” pode apenas ser utilizado diretamente no conector MP2I das
CPU´s VIPA. A utilização de adaptadores não é permitida.
O “Green Cable” não pode ser usado com as CPU´s SIEMENS!
Módulos de
• Módulos de entradas e saídas digitais:
Expansão (SM)
- 24V DC
- 120/230V AC
- Relés
• Todos os módulos de I/O´s, inclusive os analógicos do System 200V.
Módulos Profibus-
DP/CANopen Os módulos com interface Profibus ou CANopen integrada são adequados para
configurações distribuídas com qualquer sistema/CLP que fazem uso destas
interfaces. A velocidade de transmissão para Profibus é de 12 MBaud e para
Canopen de 1 MBaud.
Através do “Standard System Bus S7 300” disponível à direita das CPU´s Speed
7 é possível a utilização de módulos de expansão Siemens ou VIPA inclusive em
configurações mistas. Até 32 módulos em um único rack sem a necessidade de
interfaces.
Módulos Dummy O módulo dummy DM 370 reserva um slot para um módulo de sinal cujos
(DM) parâmetros ainda não foram atribuídos. Também pode ser utilizado, por
exemplo, para reservar um slot para a instalação posterior de um módulo de
interface.
Nas CPU´s DP Slave (profibus), NET (ethernet),CAN (canopen) e SER (serial) temos
adicionalmente:
Portas referentes à comunicação.
Módulo de memória Está disponível um slot para o módulo de memória. O módulo de memória
armazena o conteúdo do programa para o caso de uma falta de alimentação.
Módulos de Interface Os módulos de interface IM460, IM461, IM463, IM467 permitem a ligação entre
(IM) vários racks:
• UR1 (Rack Central) até 18 módulos
• UR2 (Rack Central) até 9 módulos
• ER1 (Rack de Expansão) até 18 módulos
• ER2 (Rack de Expansão) até 9 módulos.
Ligação MPI Para o terminal de programação ou outro dispositivo com interface MPI.
Interface DP As CPUs 413-2DP, 414-2DP, 416-2DP e 417-2DP têm integrada uma interface DP
para ligação direta de I/Os distribuídos.
Slot para Módulos Nas CPU´s do S7-400 é possivel, dependendo das necessidades, inserir uma
memória RAM ou Flash EPROM como uma memória de carga externa:
Estão disponíveis módulos de memória RAM e FLASH EPROM com capacidade
diferentes de armazanamento de dados.
Endereçamento
Bit “0”
Byte “0”
Bit “7”
Bit “0”
Byte “1”
Bit “7”
Posição - 1
A Posição numero 1 é a utilizada para selecionarmos a fonte de alimentação. A fonte de
alimentação tem como finalidade o fornecimento de 24 Vcc para a alimentação dos Circuitos
eletrônicos do CLP ( CPU, módulos de entradas, módulos de saídas ).
Posição - 2
A posição 2 e obrigatoriamente utilizada pela CPU ( no rack “0” )
Posição – 3
A posição 3 é reservada para a interface que propicia a ligação entre o trilho principal ( IM 360 )
e o trilho de expansão ( IM 361 ).
Caso o módulo IM (IM 360 ou IM 365 ) não seja utilizado, esta posição ficará vaga no software
de configuração, mas, não no painel onde ela deverá ser ocupada por um módulo, seja de
entradas, saídas, ou outro qualquer.
Posições 4 a 11
Estas posições deverão ser ocupadas por módulos de entradas, saídas, (_digitais ou
analógicas_) módulos para comunicação ( CP – processadores de comunicação ) ou módulos
com funções especiais, como os de controle de temperatura, controle de posição ( FM –
módulos de função )
Endereçamento Digital
Como veremos no quadro de endereçamento, cada módulo de entradas ou saídas digitais
ocupa 4 bytes de endereço ( 32 bit’s ) mesmo que ele só possua 16 bit´s.
No caso dos módulos de entradas e saídas analógicas, cada módulo reserva 16 bytes,
mesmo que ele não utilize todos os endereços em virtude da sua quantidade de canais.
O endereço inicial é “0” ( zero ) e são reservados quatro bytes para cara módulo :
Ex : o primeiro módulo terá endereço “0” o segundo “4” o terceiro “8” e assim segue
até o endereço ultimo módulo da configuração que é 124.
Obs.: os módulos digitais também podem ter endereços “acima” do “byte 127”
Pos - 1 2 3 4 5 6 7 8 9 10 11
Trilho Fonte 96.0 100.0 104.0 108.0 112.0 116.0 120.0 124.0
(Rack) 24 X IM
361
a
99.7
a
103.7
a
107.7
a
111.7
a
115.7
a
119.7
a
123.7
a
127.7
3 Vcc
Cabo de interligação
Trilho Fonte 64.0 68.0 72.0 76.0 80.0 84.0 88.0 92.0
(Rack) 24 X IM
361
a
67.7
a
71.7
a
75.7
a
79.7
a
83.7
a
87.7
a
91.7
a
95.7
2 Vcc
Cabo de interligação
Trilho Fonte 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0
(Rack) 24 X IM
361
a
35.7
a
39.7
a
43.7
a
47.7
a
51.7
a
55.7
a
59.7
a
63.7
1 Vcc
Cabo de interligação
Trilho Fonte 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0
(Rack) 24 CPU IM a a a a a a a a
0 Vcc 360 3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7
Obs :Nos trilhos ( Rack´s) 1 / 2 / 3 a fonte de 24 Vcc será montada no painel ao lado da IM
361 que está na posição 3. Caso o módulo IM 360 não exista a CPU será montada ao lado
do módulo da posição 4 .Caso o sistema só possua dois trilhos podemos substituir o conjunto
IM360 / IM361 pelo conjunto IM365.
Endereçamento Analógico
No caso das entradas e saídas analógicas a quantidade de bytes reservados para cada
posição deixa de ser “4” e passa a ser “16”, esta quantidade de bytes é necessária, pois cada
canal leitura de um módulo analógico utiliza 16 bit´s do endereçamento ( 2 bytes ), como
existem placas de até “8” canais, o software de configuração reserva 16 bytes para cada
O endereço inicial é “256” ( entrada ou saída ) e o ultimo byte “767” ( entrada ou saída ) e
ficavam reservados 16 bytes para cada posição do trilho ( Rack ).
Na tabela abaixo temos os endereços, inicial e final, para cada uma das posições dos trilhos,
na configuração de um equipamento da linha 300.
Obs: como o último byte para endereços analógicos é “767” não devemos utiliza-lo como início
do ultimo endereço, pois, como o endereçamento de cada canal utiliza dois bytes o ultimo
endereço utilizado deverá ser o “766” ( para este caso serão utilizados os bytes 766 + 767 ).
Pos - 1 2 3 4 5 6 7 8 9 10 11
Trilho Fonte 640 656 672 688 704 720 736 752
(Rack) 24 X IM
361
a
655
a
671
a
687
a
703
a
719
a
735
a
751
a
767
3 Vcc
Cabo de interligação
Trilho Fonte 512 528 544 560 576 592 608 624
(Rack) 24 X IM
361
a
527
a a a a a a a
2 Vcc 543 559 575 591 607 623 639
Cabo de interligação
Trilho Fonte 384 400 416 432 448 464 480 496
(Rack) 24 X IM
361
a
399
a a a a a a a
1 Vcc 415 431 447 463 479 495 511
Cabo de interligação
Trilho Fonte 256 272 288 304 320 336 352 368
(Rack) 24 CPU IM a a a a a a a a
0 Vcc 360 271 287 303 319 335 351 367 383
Obs.: É importante lembrar que em uma configuração multi Rack´s a CPU sempre deve ficar
no trilho inferior, no nosso exemplo acima o Rack “0”.
Se a CPU utilizada for do tipo compacta “31xC” ( 313C, 314C etc.. ) não alocar módulo na
ultima posição da direita do Rack “3”. ( posição 11 )
Trilho Fonte 32.0 36.0 40.0 44.0 48.0 52.0 56.0 60.0
(Rack) 24 X IM
365
a
35.7
a
39.7
a
43.7
a
47.7
a
51.7
a
55.7
a
59.7
a
63.7
1 Vcc
Trilho Fonte 0.0 4.0 8.0 12.0 16.0 20.0 24.0 28.0
(Rack) 24 CPU IM a a a a a a a a
0 Vcc 365 3.7 7.7 11.7 15.7 19.7 23.7 27.7 31.7
Trilho Fonte 256 272 288 304 320 336 352 368
(Rack) 24 CPU IM a a a a a a a a
0 Vcc 365 271 287 303 319 335 351 367 383
Abaixo temos uma configuração onde encontramos módulos de entradas e saídas, digitais e
analógicos. Observe que cada módulo respeita o endereçamento do seu mapa de endereços
(_digitais ou analógicos_), com excessão dos modulos das posições “7” e “8” que tiveram o
seus endereços iniciais alterados.
Obs: como neste caso só temos um trilho ( Rack central ) não é necessária a
utilização dos módulos “IM_360 / IM 361” ou do par “IM 365”.
Slot 1 2 3 4 5 6 7 8
DI DO AI DI AO
Trilho Fonte
0.0 4.0 288 76.0 704
(Rack) 24 CPU X a a a a a
0 Vcc
3.7 7.7 303 79.7 719
Como vimos anteriormente, para o caso dos módulos digitais, o endereço inicial parte do byte
zero ( endereço do primeiro bit = “0.0” - entrada ou saída ) e o ultimo byte 127 ( endereço do
ultimo bit = “127.7” entrada ou saída ) e ficavam reservados 4 bytes para cada posição do trilho
( Rack ) .
Para o caso de módulos analógicos o endereço inicial é byte 256, a diferença dos I/O digitais
para os analógicos está na quantidade de bit´s utilizados por cada tipo de módulo , vamos
necessitar de “2” bytes para cada canal de entrada ou saída analógicas. Como existem
módulos de até “8” ( oito ) canais, necessitamos 16 bytes para cada posição do trilho ( rack )
ficando reservados “512” bytes para todos os módulos analógicos.
O endereço inicial é “256” ( entrada ou saída ) e o ultimo byte “767” ( entrada ou saída ) e
ficavam reservados 16 bytes para cada posição do trilho ( Rack ).
Obs: como o último byte para endereços analógicos é “767” não devemos utiliza-lo como início
do ultimo endereço, pois, como o endereçamento de cada canal utiliza dois bytes o ultimo
endereço utilizado deverá ser o “766” ( para este caso serão utilizados os bytes 766 + 767 ).
IM 365
Podemos instalar o trilho do CLP de duas maneiras diferentes, posição horizontal ou vertical,
para estes dois casos existem temperaturas limites de trabalho segundo o manual do fabricante
:
Posição horizontal : de 0 oC a 60 oC
Posição Vertical : de 0 oC a 40 oC
Podemos notar que na posição vertical montagem a temperatura máxima de trabalho passa a
ser para “40 oC” devido a diminuição do fluxo de ar para a refirgeração dos módulos.
Para o dimensionamento dos trilhos devemos verificar a largura dos módulos a serem
utilizados. Existem módulos com largura de 40 mm , 80 mm e 120 mm e 200 mm.
RACK CENTRAL
Cada canal da placa de interface (IM 460-0, 460-1, 460-3 ) pode comunicar-se com até
4 Rack´s de expansão (ER) sem fornecer alimentação de 5 V via cabo de comunicação
ou um Rack de expansão ( ER) fornecendo esta alimentação.
O comprimento máximo (total) do cabo especificado para o tipo de conexão não deve
ser excedido. ( veja a tabela )
ER - RACK DE EXPANSÃO
As seguintes regras se aplicam:
……………
WinPLC7.............................................................................................................................................. 01
Step 7 ............................................................................................................................................. ...... 03
Instalação do Step 7............................................................................................................................. 04
Resultado da Instalação ...................................................................................................................... 05
Do Processo para o Projeto................................................................................................................. 06
As Ferramentas do STEP 7 ……......................................................................................................... 07
Iniciar o SIMATIC Manager................................................................................................................. . 08
Barra de Ferramentas no SIMATIC Manager ...................................................................................... 09
Criar um Projeto .......................... ………………................................................................................... 10
Estrutura de um Projeto STEP 7 ………………................................................................................... 11
Setting the PG/PC Interface ............................. ..................................................................................... 12
Consulta Offline/Online no SIMATIC Manager ..................................................................................... 13
Personalizar o Manager ........................................................................................................................ 14
Sistema de Ajuda Geral do STEP 7 ..........…....................................................................................... 15
Sistema de Ajuda Contexto-Dedicado do STEP 7 ............................................................................... 16
Bibliotecas Standard ........................................................................................................................... 17
Bibliotecas VIPA ........................................................................................................................... 18
Versões Versão “lite” : Versão sem custo para a programação dos CLP´s VIPA System 100V.
do WnPLC7
Versão Demo 60 dias: Limitações quanto à quantidade e ao tamanho de blocos de
programa. O limite de 60 dias pode ser retirado através de um registro sem custo, via
Internet.
Versão Profi: Funcionamento sem restrições. Código de liberação via Internet. (até 10
instalações por licença).
Podem ser criados programas STEP®7 nas representações: STL (Lista de instruções),
Características FBD (Blocos lógicos) e LAD (Diagrama de contatos).
Técnicas Os programas podem ser testados no modo “off-line” sem a necessidade do CLP.
O “software PLC” integrado no WinPLC 7 simula o funcionamento real de uma CPU S7.
Para responder esta pergunta é necessário fazer uma distinção entre: programação,
Que CPU´s diagnóstico e configuração de hardware.
são suportadas? Você pode programar, testar (status-block, status-variable, ...) e realizar diagnose (I-
STACK, B-STACK, diagnostic buffer) com todas CPU´s VIPA e Siemens S7-300® e
S7-400®.
O configurador de hardware pode ser utilizado com todas as CPU´s VIPA e também
com Siemens S7 300®.
Todos os módulos listados no catálogo do configurador de hardware do WinPLC7 são
suportados por ele.
Proteção do O Software STEP 7 está protegido contra cópia e só pode ser utilizado
Software em um único micro por vez.
Depois de instalado, o software não poderá ser utilizado até que se tenha
transferido a autorização do disquete para o disco rígido.
Certifique-se que leu as notas do arquivo README.TXT do disquete de
autorização. Se não leu atentamente estas anotações, correrá o risco de
perder a sua autorização.
Pacotes de Serviços Existem alguns pacotes designados “Software Service Packs“ que podem ser
Sem-Custos carregados da Internet via http://www.ad.siemens.de/simatic-cs.
Estes módulos de software correspondem a atualização e eliminação de falhas.
LAD, STL, FBD Ferramenta para escrever programas STEP 7 nas representações “Diagramas de
Contatos", “Lista de Instruções" ou “Diagrama Blocos de Funções“.
Setting the Esta ferramenta é utilizada para selecionar o endereço local do nó, a
PG-PC Interface velocidade de transmissão e o endereço da rede MPI.
PID Control O pacote de software básico STEP 7 também inclui blocos destinados a
Parameter resolver tarefas de controle PID (Malha-fechado). Deve-se selecionar "PID
Assingnment Control Parameter Assignment" para inicializar o programa de atribuição de
parâmetros aos blocos de controle de malha-fechada.
Converting S5 Os programas STEP5 podem ser convertidos nos correspondentes programas
Files STEP 7 com a ajuda do conversor S5/S7.
Interface-Usuário Após a instalação, a ferramenta principal fica disponível com um ícone no desktop
do Windows. O SIMATIC Manager administra objetos S7 tais como projetos e
programas do usuário. Ao abrir um Projeto, a ferramenta associada à edição é
inicializada. Um duplo click no bloco de programa inicia o editor de programa e um
bloco pode ser editado.
Nota Pode-se obter sempre ajuda online para a janela que está ativa, pressionando a
tecla função F1.
Notas 1. O campo “Storage location (path)“ mostra o caminho que estava presente no
SIMATIC Manager na sequência de menus Options -> Customize.
Hierarquia do 1º. Nível: • O primeiro nível contém o ícone do projeto. Cada projeto
Projeto representa a base de dados onde são armazenados todos os
dados relevantes para o projeto.
2º. Nível: • As estações (por ex.: Estação S7-300) mostram onde está
armazenada a informação sobre a configuração do hardware e
atribuição de parâmetros dos módulos.
As estações são o ponto de partida para configurar o hardware. •
As pastas “S7 Program” são o ponto de partida para a introdução
dos programas. Estas pastas contêm outras pastas para os
blocos e arquivos fonte do programa.
• Subredes (MPI,Profibus, Industrial Ethernet) são parte de uma
rede completa.
3º. - Níveis Subseqüentes : Depende do tipo de objeto do nível superior.
Para programar via MPI, podemos usar os cabos conversores MPI VIPA ou Siemens ou
ainda, só com as CPU´s da VIPA, o GREEN CABLE.
As CPU´s Speed 7 e System 200 NET (21X-2B10) podem ser programadas diretamente
NOTA!
pela Ethernet ISO TCP/IP.
Online A opção online mostra a estrutura do Projeto armazenado na CPU. Esta estrutura
está mostrada no lado direito, na figura do Simatic Manager, acima.
A pasta "S7 Program" contém apenas o objeto "Blocks".
Comutação A troca entre as opções de visualização offline e online faz-se do seguinte modo:
• selecione o menu View -> Offline ou View -> Online ou
• o correspondente símbolo na barra de ferramentas:
Online
Offline.
Opção "General" Seleciona as opções básicas para trabalhar com projetos e bibliotecas:
• Storage location for projects é onde se especifica o diretório em que se
armazenam os programas do usuário.
• Storage location for libraries é onde se especifica o diretório de armazenamento
de suas bibliotecas.
• Outros pontos para inserção de objetos, abertura de projetos e para
organização de janelas serão tratados adiante.
• Deactivated system messages
Ao selecionar o botão “Activate“ pode-se reativar todas as mensagens de sistema
que foram desligadas numa janela, quando a opção “Always display this
message….“ foi escolhida.
Opção "View" É aqui que se especifica o que deve aparecer no display online.
Opção "Columns" É aqui que se especifica que colunas devem aparecer quando a visão detalhada é
ativada (consulte o “Help“).
Opção “Message É aqui que se define um “default” para o número de mensagens dos novos
Numbers” projetos.
Blocos para Geralmente utilizadas funções standard tal como tratamento de valores
Conversão TI-S7 analógicos.
Blocos de Funções Blocos para funções IEC (IEC: International Electrotechnical Commission),
IEC tais como processamento da hora e data, operações de comparação,
processamento de strings,etc
Blocos PID Blocos de Funções (FBs) para controle em malha-fechada.
Notas Com o S7-400, podem ser atribuídos parâmetros da CPU de modo que, quando existir
diferenças entre a configuração prevista e a configuração atual, a partida da CPU seja
interrompida.
Para inserir uma estação de hardware no projeto atual selecione a seqüência de menus Insert ->
Station -> SIMATIC 300 Station ou SIMATIC 400 Station.
O nome que é automaticamente dado à estação é "SIMATIC 300 (1)" e pode depois ser alterado.
"Hardware Isto é uma janela da ferramenta do "HW Config“ que é utilizada para inserir os
Configuration" componentes do catálogo "Hardware Catalog".
A barra de título desta janela contém o nome do projeto e o nome da estação.
Trilho Por exemplo, ao abrir uma estação SIMATIC 300 no catálogo de Hardware.
O catálogo "RACK-300" contém um ícone para um trilho DIN. Pode-se inseri-lo na
janela "Hardware Configuration” com um duplo-clique ou arrastando-o.
Aparecem então duas janelas de trilhos: em cima, uma janela com os tipos de
módulos e, em baixo, uma janela detalhada com referências, endereços MPI e
endereços de I/O.
Fonte Alimentação Se é necessário uma fonte de alimentação, pode-se inserir, com um duplo-clique
ou arrastando, o módulo "PS-300" do catálogo na posição nr.1 do rack.
Posição Nr. 3 A posição nr.3 está reservada como o endereço lógico para um módulo de interface
(para configurações multi-trilhos).
Módulos de Sinal A partir da posição nr.4, pode-se inserir uma seleção de até 8 módulos de sinal
(SM), processadores de comunicações (CP) ou módulos de funções (FM).
Para inserir os módulos no trilho selecione a posição e depois dê um duplo clique
no módulo que pretende inserir.
Pode-se inserir módulos em qualquer parte da lista arrastando-o.
Endereço MPI Se quiser ligar vários PLCs através da interface MPI, tem-se que atribuir um
endereço MPI diferente a cada CPU.
Selecione o campo "Properties" para abrir a janela "Properties - MPI Node", que
contém duas opções: "General" e "Parameters".
Partida, se as Só com CPUs com interface DP integrada (e S7-400) pode ser utilizada a
Configurações opção "Startup when expected/equal configuration difer" para
Prevista e Atual decidir se a CPU deverá partir mesmo que a configuração prevista não seja
são Diferentes igual à configuração atual (número e tipo de módulos instalados).
As outras CPUs S7300 entram em RUN mesmo quando a configuração prevista não é
a mesma que a configuração atual.
Restart Num restart completo, os blocos armazenados na RAM retentiva (OB, FC,
Completo com FB, DB) bem como os bits de memória, temporizadores e contadores definidos
Bateria de Backup como retentivos são mantidos. Só os bits, temporizadores e contadores não-
retentivos são resetados.
Restart Se não existe bateria para manter a RAM, a sua informação é perdida. Só os
Completo sem bits de memória, temporizadores e contadores definidos como retentivos e as
Bateria de Backup áreas dos blocos de dados são armazenados na área não-volátil da RAM.
Depois de um restart completo, o programa deve ser novamente transferido:
• a partir do módulo de memória (se inserido) ou
• da PG (se não existir módulo de memória).
Tamanho da Com a CPU 318-2, Speed7 e outras CPUs do S7-400, pode especificar o
Imagem do Processo comprimento da imagem do processo (em bytes). A área da imagem do processo
começa sempre com uma entrada ou saída do byte 0.
Clock Memória Os clocks memory são bits de memória que mudam o seu valor binário
periodicamente.
Cada bit do clock memory possui um determinado período/frequência fixos.
Exemplo de uma luz piscando com uma frequência de intermitência de 0.5Hz:
(Período = 2s, luz ON = 1s, luz OFF = 1s).
Direitos de Acesso Pode-se também introduzir a password para um módulo protegido no SIMATIC
Manager:
1. Selecione o módulo protegido ou o seu programa S7
2. Introduza a password selecionando a sequência de menus PLC -> Access
Rights. Os direitos de acesso, depois da password ter sido introduzida, são
apenas válidos até que a última aplicação S7 seja completada.
Operação A sobrecarga do tempo de ciclo para funções de teste é regulada com:
Na opção Process operation, funções de teste como "Monitor" ou "Monitor/Modify
Variable" são limitadas para que o aumento do tempo de ciclo selecionado não seja
excedido.
Fator de Correção O fator de correção é utilizado para corrigir uma falha do relógio durante 24 horas.
O fator de correção tanto pode ser negativo como positivo.
Exemplo: Se o relógio está 3 segundos adiantado após 24 horas, isto pode ser
corrigido com um fator de "-3000ms".
Gravar e Compilar Quando seleciona-se a sequência de menus Station->Save and Compile ou efetua-
se um clique no ícone da barra de ferramentas, a configuração e
os dados que são atribuídos aos parâmetros, também são armazenados nos
blocos de dados de sistema.
Se estiver utilizando um módulo Flash EPROM, os SDBs devem também ser nele
armazenados. Assim sendo, a configuração não se perde se estiver sem bateria de
backup e ocorrer uma falha de alimentação.
Configuração Atual Durante a partida, a cpu gera uma configuração atual, isto é, guarda a disposição
dos módulos e atribui os endereços de acordo com um algoritmo fixo. Se não
tiverem sido atribuídos parâmetros, são utilizados os parâmetros de fábrica.
O sistema armazena esta configuração atual em blocos de dados de sistema.
Transferência para Existem duas maneiras de transferir a configuração atual para a PG:
a PG 1. No SIMATIC Manager:
através da seleção de menus PLC -> Upload Station.
2. Na ferramenta HW Config:
através da seleção de menus PLC >Upload ou pelo ícone .
Armazenar na PG A configuração atual lida a partir do hardware instalado é inserida como uma nova
estação no projeto selecionado na PG.
Nota Quando lê a configuração atual, pode ocorrer de as referências dos módulos não
serem completamente identificadas. Se isto acontecer, deve-se verificar a
configuração e se necessário, inserir o tipo de módulo exato. Neste caso, selecione
o módulo, e a sequência de menus Options -> Specify Module.
Nota Se selecionar no SIMATIC Manager a sequência de menus Options -> Customize ->
View e ativar o campo "Display Quick View when Diagnosing Hardware”, aparecerá
apenas uma lista de módulos defeituosos em vez de uma janela "Diagnosing
Hardware" completa.
Endereçamento Com o S7-300 (com exceção de algumas CPU‘s) e com o S7-400, pode-se
Variável alterar os endereços iniciais dos módulos.
O Que Fazer Com um duplo clique num módulo digital ou analógico, aparece a janela para
atribuição de parâmetros. Depois de escolher a opção “Addresses“, pode-se retirar
a seleção de “System default“. Pode-se agora definir o endereço inicial no campo
“Start“. Se o endereço já está sendo usado, aparece uma mensagem de erro.
O endereçamento e parametrização das CPU´s VIPA System 100V e 200V são feitos no
Simatic Manager na forma de um sistema Profibus virtual.
Uma vez que a interface Profibus é um “Standard” também do ponto de vista de software,
podemos, com a utilização de arquivos GSD, permitir tal funcionalidade.
Inserindo os Assim sendo, precisamos inserir no Simatic Manager os arquivos GSD com os módulos da
arquivos VIPA. Estes arquivos são fornecidos em disquete junto com os equipamentos ou podem ainda
serem “baixados” livremente no site www.vipa.de.
GSD VIPA
Copie-os para uma pasta no seu micro.
No Simatic Manager, no Hardware Config, selecione o menu OPTIONS > Install New GSD.
Selecione a pasta onde você copiou os arquivos.
Selecione todos os arquivos e click em Install.
Os arquivos instalados aparecerão no menu do catálogo de hardware, veja figura acima.
Os seguintes passos são necessários para a parametrização das CPU´s 11x com o
“Hardware Config” do SIMATIC Manager:
1- Iniciar o “Hardware Config”.
2-Instalar os arquivos GSD VIPA para System 100V.
3- Projetar um sistema Profibus DP-Master com a CPU 315-2DP.
a- Entre no Hardware Config.
b- Insira um trilho Rack 300.
c- Na posição 2 deste rack insira a CPU 6ES7 315-2AF03-0AB0 V1.2.
Click em New.
No campo Name escreva VIPA_System_100V para identificar que esta rede PROFIBUS é
virtual . Click OK, OK.
Inicie o CLP com a chave RUN/STOP. Se a configuração estiver OK a CPU entrará em RUN.
Os seguintes passos são necessários para a parametrização das CPU´s 21xcom o “Hardware
Config” do SIMATIC Manager:
1- Iniciar o “Hardware Config”.
2-Instalar os arquivos GSD VIPA para System 200V.
3- Projetar um sistema Profibus DP-Master com a CPU 315-2DP.
a- Entre no Hardware Config.
b- Insira um trilho Rack 300.
c- Na posição 2 deste rack insira a CPU 6ES7 315-2AF03-0AB0 V1.2.
Click em New.
No campo Name escreva VIPA_System_200V para identificar que esta rede PROFIBUS é
virtual . Click OK, OK.
Configuração Para uma configuração multi-trilho, será necessário utilizar fisicamente as IM 260 e IM261.
Multi-trilhos Entretanto estas placas não devem ser inseridas na configuração do hardware.
System 200V Assim a configuração de Hardware mostrada acima é utilizada tanto para configuração multi-
trilho quanto trilho único.
A montagem das IM´s no painel deve seguir a seguinte regra:
No trilho central, inserir a IM 260 na primeira posição à direita da CPU. Nos trilhos de
expansão, inserir a IM261 na primeira posição à esquerda.
Em cada trilho, temos a limitação de até 16 módulos.
A soma total de módulos deve ser, no máximo, igual a 32.
Inicie o CLP com a chave RUN/STOP. Se a configuração estiver OK a CPU entrará em RUN.
Configuração Para uma configuração multi-trilhos, será necessário utilizar fisicamente as IM 360 e IM361.
Multi-trilhos Neste caso o System 300V, comporta-se exatamente como o S7-300. Ou seja:
System 300V Será necessário inserir as IM´s na configuração do hardware e a quantidade de módulos por
trilho é limitada a 8 módulos.
A soma total de módulos deve ser, no máximo, igual a 32.
Propriedades
As propriedades da CPU´s VIPA 300V são configuradas clicando sobre a CPU 315 DP.
da CPU
Alterando estas propriedades, estamos alterando as propriedades na CPU System 300V.
System 300V
Todas as CPU`s SPEED 7 VIPA possuem portas Profibus-DP Master e Ethernet Integradas.
Até aqui, temos a CPU SPEED 7 configurada, já com as portas DP e Ethernet habilitadas.
A partir de agora para configurar as redes Profibus e Ethernet é só proceder como se
estivesse usando os equipamentos da SIEMENS.
Para uma configuração multi-trilhos, será necessário utilizar fisicamente as IM 360 e IM361.
Configuração
Neste caso o Speed 7, comporta-se exatamente como o S7-300. Ou seja:
Multi-trilhos
Será necessário inserir as IM´s na configuração do hardware e a quantidade de módulos por
Speed 7 trilho é limitada a 8 módulos.
A soma total de módulos deve ser, no máximo, igual a 32.
Inicie o CLP com a chave RUN/STOP. Se a configuração estiver OK a CPU entrará em RUN.
Step7-Nível1
Orkan Informática Industrial
Página 0 Capítulo 6
Centro de Treiinamento
Criar um Projeto A partir do STEP 7 V3.2, existe um 'New Project‘ Wizard para o ajudar na criação
de um novo Projeto.
Step7-Nível1
Orkan Informática Industrial
Página 1 Capítulo 6
Centro de Treiinamento
Inserir um Programa Selecione a seqüência de menus Insert -> Program -> S7 Program para introduzir
um novo programa no Projeto atual.
Quando se introduz um objeto, o sistema atribui-lhe automaticamente um nome,
por ex.: "S7 Program(1)".
É possível depois alterar este nome.
Step7-Nível1
Orkan Informática Industrial
Página 2 Capítulo 6
Centro de Treiinamento
Inserir um Bloco Selecione a seqüência de menus Insert -> S7 Block para visualizar uma lista com
os diferentes tipos de blocos:
• Os blocos de organização (OB) são chamados pelo sistema operacional. Eles
constituem a interface entre o sistema operacional e o programa do usuário.
Depois de ter escolhido o tipo de bloco que quer, a caixa de diálogo "Properties"
abre para que possa inserir o número do bloco e o tipo da linguagem de
programação que quer utilizar (LAD, STL ou FBD).
Dependendo do tipo de bloco, existem outras seleções a serem feitas, mas serão
enumeradas mais tarde.
Quando tiver feito as suas escolhas e confirmar pressionando o botão "OK”, o novo
bloco é inserido no programa atual.
Step7-Nível1
Orkan Informática Industrial
Página 3 Capítulo 6
Centro de Treiinamento
Introdução Existem várias linguagens de programação em STEP 7 que podem ser usadas
dependendo da preferência e conhecimentos do usuário. Aderindo a regras
específicas, o programa pode ser criado em Lista de Instruções e depois convertido
para outras linguagens de programação.
Step7-Nível1
Orkan Informática Industrial
Página 4 Capítulo 6
Centro de Treiinamento
Inicializar o Editor Pode-se inicializar o Editor LAD/STL/FBD selecionando Iniciar -> Simatic -> STEP7
-> LAD,STL,FBD - Programming S7 Blocks.
A forma mais rápida e recomendada para iniciar o Editor é:
1. Selecione o objeto "Blocks" na janela do projeto do SIMATIC Manager.
2. Dê um duplo clique num bloco qualquer para abrir o Editor.
Step7-Nível1
Orkan Informática Industrial
Página 5 Capítulo 6
Centro de Treiinamento
Componentes Quando se inicia o Editor LAD/STL/FBD, aparecem automaticamente duas janelas:
a tabela das declarações e a seção do programa. O usuário pode também abrir
uma terceira janela designada “Overview on/off“, com os elementos do programa.
Step7-Nível1
Orkan Informática Industrial
Página 6 Capítulo 6
Centro de Treiinamento
Menu View Ao escolher o menu View pode-se alternar entre as diferentes linguagens de
programação STEP 7:
• LAD (Diagrama de Contatos)
• FBD (Diagrama bloco de Funções)
• STL (Lista de Instruções).
LAD/FBD => STL Pode converter as seções do seu programa que foram escritas em programação
gráfica (LAD/FBD) na representação STL. Deve-se, porém, estar consciente de que
o resultado destas conversões nem sempre é a solução mais eficiente em Lista de
Instruções.
STL => LAD/FBD Nem sempre é possível converter seções do programa escritas em STL para LAD e
FBD. As seções do programa que não podem ser convertidas permanecem em
STL.
Nenhum segmento do programa é perdido durante a conversão.
Step7-Nível1
Orkan Informática Industrial
Página 7 Capítulo 6
Centro de Treiinamento
Elementos Os elementos utilizados mais frequentemente em LAD e FBD aparecem como ícones na
barra de ferramentas. Através de um clique com o mouse é possível inserí-los no
programa na posição desejada.
Pode-se inserir outros elementos no seu programa a partir da lista existente na janela
"Program Elements":
• em qualquer posição, arrastando a ferramenta até o segmento desejado.
• na posição selecionada, com o um duplo clique no elemento da lista
pretendido.
Nota Para inserir um segmento antes do segmento NW1, deve-se selecionar o nome do bloco
("FC1: Plant" no exemplo acima) antes de dar um clique no ícone "New Network".
Caixa Vazia Pode-se em LAD ou FBD utilizar uma caixa vazia para inserir elementos de programa mais
rapidamente. Os elementos podem ser inseridos diretamente sem terem que ser
selecionados na lista.
Depois de ter selecionado no segmento a posição onde se quer inserir um elemento, clique
no ícone “Empty Box“ na barra de ferramentas.
Step7-Nível1
Orkan Informática Industrial
Página 8 Capítulo 6
Centro de Treiinamento
Instruções O usuário necessita de conhecer as instruções para escrever um programa em STL.
Pode-se obter informação sobre a sintaxe e funcionalidade a partir da ajuda on-line:
Help -> Help on STL.
Estão disponíveis as seguintes informações:
"Statement List Instructions", uma descrição de todas as instruções
que existem na linguagem de programação.
"Working with Statement List", uma descrição sobre:
Panorâmica da Lista de Instruções e Sintaxe Geral
Entrada e Teste uma Constante de Dados
Tipos de Blocos
Contatos de Ligação e Estados de Sinal
Segmentos Os segmentos podem ser inseridos da mesma maneira que no editor LAD/FBD (ver
página anterior).
Fazer Alterações Pode-se utilizar a tecla "Insert" para trocar entre o modo "Overwrite" e "Insert".
O modo selecionado aparece na barra de estado.
Step7-Nível1
Orkan Informática Industrial
Página 9 Capítulo 6
Centro de Treiinamento
Gravar um Bloco Pode-se salvar um bloco das seguintes formas:
• através da seleção de menus File -> Save ou
• Clicando no ícone do disco na barra de ferramentas.
Step7-Nível1
Orkan Informática Industrial
Página 10 Capítulo 6
Centro de Treiinamento
Execução Para que o novo bloco criado seja parte integrante da execução cíclica do
Cíclica programa da CPU, o mesmo deve ser chamado no OB1.
A forma mais fácil de inserir a chamada a um bloco, é através da lista na janela
Program elements, já conhecida (ver figura acima).
Step7-Nível1
Orkan Informática Industrial
Página 11 Capítulo 6
Centro de Treiinamento
Transferir Pode-se transferir blocos para a CPU com o SIMATIC Manager se:
• clicar no ícone ou
• selecionar a opções de menu PLC -> Download.
Step7-Nível1
Orkan Informática Industrial
Página 12 Capítulo 6
Centro de Treiinamento
Requisitos Antes de poder ativar o modo de teste, deve-se abrir o bloco onde o teste deverá
ser feito, tanto em offline quanto em online, através do Editor LAD/STL/FBD.
Nota: Para testar um bloco no modo offline, este deve ser primeiro transferido para
o PLC.
Step7-Nível1
Orkan Informática Industrial
Página 13 Capítulo 6
Centro de Treiinamento
Fazer Correções Pode-se fazer correções nos blocos que tenham sido abertos tanto em online
nos Blocos quanto em offline; porém, nunca em modo teste.
• Normalmente se transfere o bloco modificado para o PLC, testa, e faz-se
algumas correções, se necessárias. Só então deve-se salvar o bloco.
• Se forem feitas correções em vários blocos e você não quiser apagar a
versão original, pode primeiro transferir os blocos alterados para a CPU sem
salvá-los na PG. Então fazer os testes destes blocos alterados e se tudo estiver
OK, salvá-lo na PG.
Step7-Nível1
Orkan Informática Industrial
Página 14 Capítulo 6
Centro de Treiinamento
Font Selecione neste campo a fonte e tamanho da fonte que quer utilizar.
Mneumonics Mostra o mnemônico (as letras que representam as entradas, saídas, flags, etc) que
foi selecionado no Simatic Manager no menu Options>Customize.
English: entrada = I, Saída = Q, etc.
German: entrada = E, Saída = A, etc.
Step7-Nível1
Orkan Informática Industrial
Página 15 Capítulo 6
Centro de Treiinamento
View after Pode visualizar blocos:
Block Open • com endereçamento simbólico ou absoluto.
• com ou sem informação de símbolos e definir a cor do texto.
• seleção automática de símbolos (para LAD/FBD). Seleciona o tipo de
endereçamento simbólico ou absoluto para apresentar a lista de símbolos.
• com ou sem comentários de bloco e segmento.
• Identificação de endereço (FORCE e PDIAG), selecionando a cor, inclusive.
Step7-Nível1
Orkan Informática Industrial
Página 16 Capítulo 6
Centro de Treiinamento
Campos de Teste Quando visualiza-se o estado de um bloco em STL, só os campos de teste ativos
na janela de diálogo serão mostrados. Estão disponíveis as seguintes opções:
• Status Bit O bit de estado é mostrado.
• RLO O resultado lógico da operação (RLO) é mostrado.
• Standard Status Uma palavra de um temporizador, uma palavra de um
contador ou o conteúdo do acumulador 1 (ACCU 1) são
mostrados - dependendo da operação utilizada. • Address
Os registros de endereços são utilizados com Registers *)
endereçamento indireto.
Step7-Nível1
Orkan Informática Industrial
Página 17 Capítulo 6
Centro de Treiinamento
Layout Aqui seleciona-se o layout:
• DIN A4 Portrait; DIN A4 Landscape; maximum size (tela cheia).
Type Check Quando edita-se um bloco, os tipos de endereços utilizados em instruções de bit
lógico é sempre verificado.
No entanto pode-se desativar o campo “Type Check“ para endereços para
comparações, operações matemáticas etc. (este procedimento deve apenas ser
utilizado por programadores experientes).
Dysplay symbol Determina se a informação para “global Symbols” será mostrada diretamente no
endereço no segmento. Só poderá ser selecionada se a opção “symbol information”
estiver habilitada na aba GENERAL.
Step7-Nível1
Orkan Informática Industrial
Página 18 Capítulo 6
Centro de Treiinamento
Create Se esta opção for selecionada o sistema cria o “reference data” quando um
Reference data bloco incremental é gerado.
Create Escolha um dos campos “STL”, “LAD” ou “FBD” para selecionar a linguagem
Logic Blocks em que quer escrever o novo bloco.
Os blocos de função Multi-instância serão discutidos num curso de programação
mais avançada.
Incluir Atributos A opção "Include System Attribute S7_server" só é relevante se for utilizada em
de Sistema... conjunto com um sistema de controle de processo (PCS7) e não será tratada neste
curso.
Armazenar Dados A opção "Store Process Diagnostics Data" só é relevante se utilizar o pacote
de Diagnóstico do opcional de software "PDIAG" e não será tratada neste curso.
Sistema
Step7-Nível1
Orkan Informática Industrial
Página 19 Capítulo 6
Centro de Treiinamento
Nota Compilar o código fonte será discutido com detalhes no capítulo “Funções,
Parâmetros e Dados Locais".
Step7-Nível1
Orkan Informática Industrial
Página 20 Capítulo 6
Centro de Treiinamento
Nota Define como será mostrado o texto no “Source File” .
Step7-Nível1
Orkan Informática Industrial
Página 21 Capítulo 6
Centro de Treiinamento
Operações Binárias
X
Q 8.1 ( JMP )
I 0.0 Q 8.1
( )
X
I 1.0 I 1.1 Q 8.0
( )
M0.0
I1.2 Q 9.3
SR
S Q
I1.3
R
Arquivo:S7N1_07_2006
Conteúdo Pag
Step7-Nível1
Orkan Informática Industrial Página 0 Capítulo 7
Centro de Treiinamento
Execução Cíclica do Programa
Bloco de Start (OB 100)
Executado uma vez após power on
Arquivo:S7N1_07_2006
Inicialização A CPU executa um restart completo (com o OB 100) quando se liga ou quando se
comuta o seletor de modo de funcionamento de STOP --> RUN. Durante o restart
completo, o sistema operacional apaga os bits de memória não-retentivos,
temporizadores e contadores, apaga o stack de interrupções e o stack de blocos,
reseta todas as interrupções de hardware e interrupções de diagnóstico e inicia a
monitoração do tempo de ciclo.
Processamento A operação cíclica da CPU é composta por três seções principais, como está
Step7-Nível1
Orkan Informática Industrial Página 1 Capítulo 7
Centro de Treiinamento
Imagens do Processo / Acesso a periferia
Entradas
Saídas
digitais
digitais
Periferia
Memoria imagem
Memoria imagem das
das saídas digitais
entradas digitais
(Q)
(I)
Esta área tem seus
Esta área só é
dados copiados
atualizada no inicio de
para a placa de
cada ciclo
periferia ( PIO )
somente uma vez e
L PIW 256 no final do ciclo
T PQW 256
Entradas Saídas
analógicas analógicas
Arquivo:S7N1_07_2006
Introdução A CPU verifica o estado das entradas e saídas em cada ciclo. Existem áreas
específicas de memória em que os dados binários dos módulos são armazenados:
PII e PIO. Durante o processamento o programa acessa estes registros.
Introdução A CPU verifica o estado das entradas e saídas em cada ciclo. Existem áreas
específicas de memória em que os dados binários dos módulos são armazenados:
PII e PIO. Durante o processamento o programa acessa estes registros.
PIO A tabela da imagem das saídas do processo contém os valores das saídas que
resultam da execução do programa. Estes são enviados para as saídas atuais (Q)
no fim do ciclo.
Step7-Nível1
Orkan Informática Industrial Página 2 Capítulo 7
Centro de Treiinamento
Estrutura do Programa
Receita A
Bomba
OB 1 OB 1 Receita B OB 1
Misturador
Saída
Saída
Todas as instruções As instruções para as diferentes Funções que podem ser utilizadas
estão num único bloco funções estão em blocos várias vezes são carregadas em
(normalmente no bloco separados. O bloco OB1 chama diferentes blocos. O OB 1 (ou outros
de organização OB 1) cada um destes blocos, um blocos) chama estes blocos e
após o outro.
transfere os dados pertinentes.
Arquivo:S7N1_07_2006
Programação Linear Todo o programa está introduzido num único bloco de programa.
A CPU processa as instruções individualmente uma após a outra.
Programação O programa é dividido em blocos, onde cada bloco só contém o programa para
Dividida resolver uma tarefa parcial. Dentro de um mesmo bloco são depois permitidas
outras partições. O bloco de organização OB 1 contém instruções de chamada aos
outros blocos numa sequência definida.
Step7-Nível1
Orkan Informática Industrial Página 3 Capítulo 7
Centro de Treiinamento
Tipos de Blocos de Programa
Sistema Operacional
Ciclo
Tempo OB
FB FC SFB
Blocos de
Processo Organização
FB FB SFC
Erro
Arquivo:S7N1_07_2006
Blocos de Usuário Os blocos de usuário contêm o código do programa e os dados que serão
utilizados no programa.
Num programa estruturado, alguns blocos são chamados e processados
ciclicamente, outros apenas se necessário.
Blocos de Sistema Os blocos de sistema são funções pré-definidas ou blocos de funções que estão
integrados no sistema operacional da CPU. Estes blocos não ocupam espaço
adicional na memória do usuário.
Os blocos de sistema são chamados a partir do programa de usuário. Estes blocos
têm a mesma interface, o mesmo identificador e o mesmo número em todo o
sistema. O programa do usuário é assim facilmente transportado entre CPUs ou
CLP‘s.
Step7-Nível1
Orkan Informática Industrial Página 4 Capítulo 7
Centro de Treiinamento
Contatos Normalmente Abertos e Normalmente Fechados. Sensores e
Símbolos
Contato ativado
NO 1 LAD: “Sim“ LAD: “Não”
Sim
1 0
“Cont. NO” “Cont. NC”
não Não
ativado 0 “Não” “Sim”
0 1
FBD: FBD:
Arquivo:S7N1_07_2006
Símbolos Em LAD, um símbolo com o nome ”Contato NO" é utilizado para fazer a verificação
do estado de sinal “1” e um símbolo com o nome “Contacto NC” para verificar o
estado de sinal ”0”.
Não faz qualquer diferença se o sinal “1” do processo é fornecido por um contacto
NO ativado ou por um contato NC não-ativado.
Step7-Nível1
Orkan Informática Industrial Página 5 Capítulo 7
Centro de Treiinamento
Operações Lógicas Binárias: AND, OR
S1 (I 0.0)
I0.0 I0.1 Q 8.0 I 0.0 & Q 8.0 A I0.0
= A I0.1
AND S2 (I 0.1) I 0.1
= Q 8.0
Q 8.1 Q 8.1 = Q 8.1
=
L1 L2
(Q 8.0) (Q 8.1)
S3
(I 0.2) I0.2 Q 8.2
Q 8.2 O I0.2
S4 I 0.2 >=1
OR = O I0.3
(I 0.3) I 0.3 = Q 8.2
I0.3
L3 (Q 8.2)
Arquivo:S7N1_07_2006
Tabelas Lógicas
Step7-Nível1
Orkan Informática Industrial Página 6 Capítulo 7
Centro de Treiinamento
Operações Lógicas Binárias: OR Exclusivo (XOR)
Q 8.0 X I0.4
I 0.4 XOR X I0.5
=
I 0.5 = Q8.0
Arquivo:S7N1_07_2006
Tabela lógica
Step7-Nível1
Orkan Informática Industrial Página 7 Capítulo 7
Centro de Treiinamento
Exemplo
Tarefa : Em todos os três exemplos a saída deverá ser acionada se S1 estiver ativado e S2 não o estiver!
Hardware
S1 S2 S1 S2 S1 S2
II1.0
1.0 II1.1
1.1 II1.0
1.0 I1.1
I 1.1 II1.0
1.0 II1.1
1.1
Controlador programável Controlador programável Controlador programável
Q 4.0 Q 4.0 Q 4.0
Software
I 1.0 I 1.1 Q 4.0 I1.0 I1.1 Q 4.0 I1.0 I1.1 Q 4.0
LAD
FDB
I1.1 Q 4.0 I1.1 Q 4.0 I1.1 Q 4.0
Arquivo:S7N1_07_2006
Nota ! Os termos ”Contato NO" e ”Contato NC" têm diferentes significados dependendo se
são utilizados no contexto do processo do hardware ou como símbolos no software.
Step7-Nível1
Orkan Informática Industrial Página 8 Capítulo 7
Centro de Treiinamento
Resultado Lógico da Operação, Primeira Verificação. Exemplos
Resultado da Verific.
Resultado da Verific.
Resultado da Verific.
Primeira Verificação
Primeira Verificação
Primeira Verificação
Resultado Lógico
Resultado Lógico
Resultado Lógico
Estado de Sinal
Estado de Sinal
Estado de Sinal
da Operação
da Operação
da Operação
A I 1.0 0 1 1
AN I 1.1 0 1 0
A M 4.0 0 1 1
= Q 8.0
= Q 8.1
A I 2.0 0 1 0
Arquivo:S7N1_07_2006
Estado de Sinal Uma operação lógica é constituída por um conjunto de instruções para verificar os
estados de sinal (entradas (I), saídas (Q), bits de memória (M), temporizadores (T),
contadores (C) ou bits de dados (D)) e instruções para atribuir sinal a Q, M, T ,C ou
D.
Step7-Nível1
Orkan Informática Industrial Página 9 Capítulo 7
Centro de Treiinamento
Atribuição, Set, Reset
I 1.4 Q 8.1
(R) I 1.4 O I 1.4
>=1 Q 8.1 O I 1.5
Reset I 1.5 R R Q 8.1
I 1.5
Arquivo:S7N1_07_2006
Atribuição Uma atribuição transfere o RLO para os endereços especificados (Q, M, D).
Quando o RLO muda, o estado de sinal desses endereços também é alterado.
Set Se o RLO= "1", o endereço especificado é setado com sinal lógico ”1” e assim
permanecerá até que lhe seja feito um reset através de outra instrução.
Reset Se o RLO= "1", o endereço especificado é resetado para o sinal lógico ”0” e assim
permanecerá até que lhe seja novamente feito um set através de outra instrução.
Obs.: Saídas não são retentivas, mesmo sendo acionadas por uma instrução do
tipo “Set”, caso a CPU seja desligada ou vá para o modo stop ( não importando a
causa ) ela sempre voltará em estado lógico igual a “zero” após uma nova partida).
Step7-Nível1
Orkan Informática Industrial Página 10 Capítulo 7
Centro de Treiinamento
Flip Flop e Set / Reset – M0.0 memória retentiva
A I 1.3
M0.0 M0.0
I1.3 R M 0.0
RS Q 9.3
Set RS
R Q I1.3 R A I 1.2
Predominante
Q9.3 S M 0.0
I1.2
S I1.2 Q = A M 0.0
S
= Q 9.3
Arquivo:S7N1_07_2006
Flip Flop Um “flip flop” tem uma entrada de Set e uma entrada de Reset. O bit de memória é
“setado” ou “resetado”, dependendo da entrada que tiver sinal ”1”.
Se por alguma razão, ambas as entradas tiverem simultaneamente RLO=1, a
prioridade tem que ser determinada.
Prioridade Em LAD e FBD existem diferentes símbolos para as funções Set Predominante e
Reset Predominante. ( a ultima instrução sempre predomina ).
Em STL, a instrução que for programada em último lugar será predominante.
Nota Se “M 0.0” no exemplo acima, tiver sido declarada como retentiva,( na configuração
da CPU ) permanecerá “ligada” ( “1” ) após desligamento / religamento completo
da CPU e a saída Q9.3 que tinha sido desligada ( no religamento, por não ser
retentiva ), terá novamente o estado “1”.
Step7-Nível1
Orkan Informática Industrial Página 11 Capítulo 7
Centro de Treiinamento
Saída Intermediária
LAD STL
A M 0.0
I 1.0 I 1.1 M0.0 I 1.0 I 1.1 M0.0 M0.0 I 2.0 Q 4.0
A I 2.0
( ) 2 ( ) ( ) A I 2.1
NOT
1 I 1.0 I 1.1 M0.0 I 2.0 Q 4.0 = Q 4.0
M0.0 I 2.0 Q 4.0
3 (#) ( )
( )
M0.0 M0.0
( )/ A I 1.0
A I 1.1
FBD
= M 0.0
I 2.0 Q 4.0
I 2.1 =
Arquivo:S7N1_07_2006
Saída Intermediária
Uma saída intermediária ( conector ), corresponde a um elemento intermediário
de atribuição de sinal ( # ) que armazena o RLO no endereço especificado.
Quando ligadas em série com outros elementos, a instrução da “Saída
Intermediária” é inserida da mesma forma que um contato normal.
Step7-Nível1
Orkan Informática Industrial Página 12 Capítulo 7
Centro de Treiinamento
Operações com “Parênteses” - OR contido em AND
A I 0.4
I 0.5 >=1 A(
I0.4 I0.5 Q 8.0
I 0.6 & Q 8.0 O I 0.5
= O I 0.6
I 0.4 )
I0.6 = Q8.0
Arquivo:S7N1_07_2006
Parênteses
Sempre que construirmos uma lógica “AND” e nesta logica , existir uma associação “OR” ( tanto em FBD quanto em
LAD ) ao passarmos para lista de instruções,” STL” , verificaremos que aparecerá um conjunto de parênteses
precedidos da instrução “AND” , A( ..... ) .
Step7-Nível1
Orkan Informática Industrial Página 13 Capítulo 7
Centro de Treiinamento
Operações utilizando Memórias “ Locais “
1 2
I 0.4 & A I 0.4
& 1
Q 8.0 = L 0.0
I0.4 I0.5 -----------------
Q 8.0 I 0.5 =
( ) A L 0.0
A I 0.5 2
I0.6 Q 8.1
& = Q 8.0
( ) -----------------
Q 8.0
= A L 0.0
I 0.6
A I 0.6 3
3
= Q 8.1
Arquivo:S7N1_07_2006
Quando uma lógica é construída em “LAD” ou “FBD” muitas vezes não percebemos, mas, o software de
programação acrescenta instruções e para comprovar a existência das mesmas temos que analisar o programa em
lista de instruções ( STL )
O programa acima é um exemplo em que o Manager do Step 7 acrescentou uma “memória local ( L 0.0 ) à lógica
para que esta pudesse ser construida no formato LAD / FBD
Este tipo de memória sempre será utilizada quando existir a possibilidade de haver resultados diferentes em uma
mesma lógica
Neste caso especifico a saída “ Q 8.0 “ poderá ter seu resultado logico diferente da saída “ Q 8.1 “.
Também é bom verificar que estes tipo de lógica só poderá ser elaborada quando existir um elemento comum às
duas logicas , no nosso caso a entrada “I 0.4”
Step7-Nível1
Orkan Informática Industrial Página 14 Capítulo 7
Centro de Treiinamento
Instruções que Influenciam o RLO
LAD FBD STL
A I0.0
I0.0 I0.1 Q8.0 I0.0 & A I0.1
NOT Q8.0
NOT ( ) I0.1 = NOT
= Q8.0
CLR Não existe prepresentação em LAD Não existe prepresentação em FBD CLR
SET Não existe prepresentação em LAD Não existe prepresentação em FBD SET
I1.6 A I 1.6
SAVE ( SAVE ) I1.6 & SAVE SAVE
BR Q8.1 Q8.1 A BR
BR ( ) = Q 8.1
BR =
15 8 1
Palavra de
BR RLO
estado
Arquivo:S7N1_07_2006
SAVE A instrução SAVE copia o sinal da RLO para o registro “BR“ (palavra de estado).
Step7-Nível1
Orkan Informática Industrial Página 15 Capítulo 7
Centro de Treiinamento
Salto Incondicional (Independente do RLO)
NEW1 NEW1
Arquivo:S7N1_07_2006
Inserir Em LAD e FBD, utilize a seguinte sequência de menus para inserir um label:
um Label Program Elements -> Jumps -> Label.
JMP Uma instrução de salto incondicional faz com que o processador salte para o label
mencionado independentemente do RLO.
Step7-Nível1
Orkan Informática Industrial Página 16 Capítulo 7
Centro de Treiinamento
Salto Condicional (Dependente do RLO)
Arquivo:S7N1_07_2006
JC O salto condicional “JC” só é executado se o RLO for igual a “1” antes da instrução
“JC”
Se o RLO for “0”, o salto não é executado, o RLO passa a ter o valor ”1” e a
execução do programa continua na instrução seguinte sem qualquer tipo de
desvio.
JCN O salto condicional “JCN” só é executado se o RLO ” antes da instrução for "0".
Se o RLO for "1", o salto não é executado e a execução do programa continua na
instrução seguinte sem qualquer tipo de desvio.
Step7-Nível1
Orkan Informática Industrial Página 17 Capítulo 7
Centro de Treiinamento
RLO - Detecção de Flanco
LAD FBD STL
A I1.0
I1.0 I1.1 M1.0 M8.0 I1.0 &
M1.0 M8.0 A I1.1
P FP M1.0
I1.1 P = = M8.0
I1.0
I1.1
RLO
Exemplo
M1.0
M1.1
M8.0
OB1-Ciclo
M8.1
OB1-Ciclo OB1-Ciclo
Arquivo:S7N1_07_2006
Flanco do RLO Um ”Flanco do RLO” acontece quando o resultado lógico da operação muda.
Flanco Positivo Quando o RLO passa de “0” para “1”, a instrução de detecção de flanco "FP"
resulta no estado de sinal "1" (por ex.: na M 8.0) durante um ciclo.
Para permitir que o sistema detecte a mudança de flanco, o RLO tem também que
ser gravado num bit de memória FP, ou bit de dados (por ex.: M 1.0)
Flanco Negativo Quando o RLO passa de “1” para “0”, a instrução de detecção de flanco "FN"
resulta no estado de sinal ”1” (por ex.: M 8.1) durante um ciclo.
Para permitir que o sistema detecte a mudança de flanco, o RLO tem também que
ser gravado num bit de memória FN, ou bit de dados (por ex.: M 1.1).
Step7-Nível1
Orkan Informática Industrial Página 18 Capítulo 7
Centro de Treiinamento
Sinal - Detecção de Flanco
LAD FBD STL
I1.0 A(
A I 1.1
FN M 1.1
I1.1
)
M1.0 = M 8.1
M1.1
M8.0
OB1-Ciclo OB1-Ciclo
Exemplo
M8.1
Arquivo:S7N1_07_2006
Sinal de Flanco Um "sinal de flanco" acontece quando o sinal muda o seu estado.
Exemplo A entrada I 1.0 funciona como uma entrada estática de permissão. A entrada I
1.1 deve ser controlada e cada mudança de sinal deve ser detectada.
Flanco Positivo Quando o estado de sinal na I 1.1 passa de “0“ para “1“, a instrução de verificação
“POS“ resulta em estado de sinal “1“ na saída Q durante um ciclo, desde que a I
1.0 tenha estado de sinal “1“ (como no exemplo acima ilustrado).
Para permitir que o sistema detecte a mudança de flanco, o estado de I 1.1 tem
também que ser gravado num M_BIT (bit de memória ou bit de dados) (por ex.: M
1.0).
Flanco Negativo Quando o estado de sinal na I 1.1 passa de “1” para “0” , a instrução de verificação
"NEG" resulta em estado de sinal ”1” na saída Q durante um ciclo, desde que a I
1.0 tenha estado de sinal ”1” (como no exemplo acima ilustrado).
Para permitir que o sistema detecte a mudança de flanco, o estado de I 1.1 tem
também que ser gravado num M_BIT (bit de memória ou bit de dados) (por ex.: M
1.1).
Step7-Nível1
Orkan Informática Industrial Página 19 Capítulo 7
Centro de Treiinamento
Operações Digitais
T4
I0.7 S_ODT Q8.5
S Q
S5T#35s TV BI MW0
I0.5
R BCD QW12
S
R
BI
Arquivo:S7N1_08_2006
Conteúdo . Pag
Estrutura de dados......................................................................................................................................... 01
Formatos Numéricos (16 Bits)........................................................................................................................ 02
Formatos Numéricos (32 Bits)........................................................................................................................ 03
Carregar e Transferir Dados (1)……….......................................................................................................... 04
Carregar e Transferir Dados(2)…….............................................................................................................. 05
Carregar e Transferir Dados(3)……............................................................................................................... 06
Temporizadores: Formatos de Tempo para Temporizadores S5 em STEP 7.............................................. 07
Temporizadores : ON Delay Timer (SD)……................................................................................................. 08
Temporizadores : ON Delay Timer Extended (SS)…………………............................................................... 09
Temporizadores : OFF Delay Timer (SF)…………........................................................................................ 10
Temporizadores : Pulso (SP)......................................................................................................................... 11
Temporizadores : Pulso Extendido (SE)…..................................................................................................... 12
Temporizadores : Instruções Bit…................................................................................................................. 13
Contadores S5 em STEP 7............................................................................................................................ 14
Contadores: Instruções Bit ............................................................................................................................ 15
Contadores: Diagrama de Funções............................................................................................................... 16
Operações de Comparação….............…............….................…................................................................... 17
Operações de Conversão BCD <-> Inteiro ……............................................................................................ 18
Operações de Conversão I -> DI -> REAL .................................................................................................... 19
Funções Matemáticas Básicas....................................................................................................................... 20
Operações Lógicas Digitais……………........................….............................................…............................. 21
Operações de Deslocamento (Word / Doubleword)….................................................................................. 22
Deslocamento de Inteiros com Sinal para a Direita……………………..................……..…........................... 23
Operações de Rotação de Doubleword .............................................….............................…....................... 24
DWord 0
Word 0 Word 2
Byte 0 Byte 1 Byte 2 Byte 3
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Word 1
Arquivo:S7N1_08_2006
Para a leitura e escrita de dados nos CLP´s das linha S7300 e S7400 adotou-se os seguintes critérios.
Conjunto de 8 bit´s, onde, o bit mais a direita representa o menor valor, 20 e o bit mais a esquerda representa o maior
valor 27 ( o valor associado ao bit será efetivo sempre que o bit estiver em”1” )
Conforme a figura acima podemos notar que o byte de menor endereço ( byte “0” no nosso caso ) fica do lado
mais significativo da palavra ( lado esquerdo ) e o próximo byte ( byte “1” no nosso caso ) do lado menos significativo
da palavra.( lado direito ).
Para o caso de Dword podemos adotar o mesmo principio, da Word só que levando em consideração que agora
possuímos 4 bytes ( ver figura acima, bytes 0, 1, 2, 3 )
Sinal (+) 2 9 6
23 22 21 20
BCD W#16#296
0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
1 0 1 0
Números 8 4 2 1 = A
Positivos 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
INTEIRO
+ 296 0000 = 0
28 25 23
= = = 0001 = 1
256 + 32 + 8 = 296 0010 = 2
0011 = 3
0100 = 4
Sinal (-) 4 1 3 0101 = 5 BCD
W#16#F413 0110 = 6
BCD 0111 = 7
1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 1000 = 8 HEX
Números 1001 = 9 DEC
Negativos 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
------ --------
1010 = A
1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 1011 = B
INTEIRO 1100 = C
- 413 28 27 24 23 22 1101 = D
= = = = = 1110 = E
256+128 + 16+8+ 4 = 412 1111 = F
- (412 + 1) = - 413
Arquivo:S7N1_08_2006
Código BCD Cada dígito de um número decimal pode ser codificado com 4_bit´s (quatro
posições binárias). São utilizados 4_ bit´s porque o número decimal de maior valor,
“9”, necessita de pelo menos 4_bit´s em código binário (1001). As demais
codificações com 4 bits são desconsideradas.( são possíveis 16 combinações
utilizando-se 4_bit´s.
Os dígitos decimais de 0 a 9 são representados em código BCD ( Binário
Codificado como Decimal )da mesma forma que os números binários de 0 a 9.
"0" = positivo
"1" = negativo.
Para saber quanto vale um número negativo, veja os bits que estão em zero e
quanto valem as suas potências de dois, depois some 1 ao resultado e coloque um
sinal “menos” em frente número.
DW#16#296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
DINT
+296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0
28 25 23
= = =
Inteiro (32 Bit) = 256 + 32 + 8 = 296
+0.75 Sinal de um
Nr. Real e = Expoente (8 Bit) f = Mantissa (23 Bit)
ou
+7.50000e-1
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
27 26 25 24 23 22 21 20 2-1 2-2 2-3 2-4 ..... 2-23
Arquivo:S7N1_08_2006
DINT Inteiros de 32-bit com sinal são também designados ”duplos inteiros” ou
”inteiros longos”
REAL Estes números podem ser positivos ou negativos e cobrem a faixa entre :
1.175495•10-38 a 3,402823•1038 .
Um número real ocupa duas palavras na memória. O bit mais significativo indica o
sinal. Os outros bits representam a mantissa e o expoente para a base 2.
MOVE MOVE
L +5
EN ENO EN OUT MB5
T MB5
Arquivo:S7N1_08_2006
MOVE (LAD/FBD) Se a entrada EN está ativa, o valor na entrada “IN” ( pode ser um número fixo ou
uma variável ) é copiado para o endereço da saída “OUT”,
“ENO” sempre tem o mesmo estado de sinal que “EN”.
L e T (STL) As instruções “L” ( “Load”, carregar de) e “T” (“Transfer” copiar para ) são
executadas independentemente do RLO. Os dados são trocados através do
acumulador_1
Conteúdo Conteúdo
Programa ACCU2
ACCU1
X X X X X X X X Y Y Y Y Y Y Y Y
:
:
L W#16#1234 0 0 0 0 0
1 0
2 0
3 0
4 X X X X X X X X
L W#16#ABCD 0 0 0 0 A
0 B
0 C
0 D
0 0 0 0 0 1 2 3 4
:
:
:
Arquivo:S7N1_08_2006
L MB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0
31 23 15 7 0
L MW 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 MB1
Carregar
31 23 15 7 0
T QD 4
QB 4 QB 5 QB 6 QB 7
T QW 4
Transferir
QB 4 QB 5
T QB 4
QB 4
Arquivo:S7N1_08_2006
Geral Os acumuladores são memórias auxiliares da CPU que permitem fazer a troca de
dados entre vários endereços, comparações e operações matemáticas. O CLP S7-
300 e o System 300V têm 2 acumuladores tendo cada um deles 32 bits e o Speed7
e o S7-400 têm 4 acumuladores cada um dos quais com 32 bits.
Carregar A instrução “LOAD“, carrega o conteúdo do byte valor ( fixo ou de uma variável)
especificado, word ou double-word, no ACCU 1.
RLO Em LAD e FBD pode utilizar a entrada de permissão ”Enable input” (EN) da caixa
do símbolo MOVE para tornar as operações de Carregamento e Transferência
dependentes do RLO.
T4 T4
I0.7 S_ODT Q8.5 S_ODT A I0.7
S Q I0.7 S BI MW0 L S5T#35s
S5T#35s TV BI MW0 S5T#35s QW12
SD T4
TV BCD
I0.5 Q8.5 A I0.5
R BCD QW12 I0.5 R Q = R T4
L T4
T MW0
RLO no S
LC T4
RLO no R T QW12
A T4
Operação de
Temporizador
= Q8.5
Exemplo
Arquivo:S7N1_08_2006
Partida A contagem do tempo começa quando o RLO na entrada “S“ passa de “0” para “1”.
O temporizador conta o tempo especificado na entrada ”TV” desde que o valor de
sinal na entrada “S” seja “S =1”.
Reset Quando o RLO na entrada de reset "R" for "1", o valor do tempo atual bem como o
da sua base de tempo são apagados e a saída Q é resetada.
Saídas Digitais O valor atual do tempo pode ser lido como um número binário na saída “BI“ e como
um número BCD na saída “BCD“. O valor
atual do tempo é o valor inicial do parâmetro ”TV” menos o valor do tempo que já
foi contado desde que o temporizador partiu.
Saída Binária O sinal na saída "Q" passa a ser "1" se o temporizador tiver contado o seu tempo e
a saída "S" tiver sinal "1".
Se o estado de sinal na saída ”S” passar de ”0” para ”1” antes do temporizador ter
terminado a contagem do tempo, o temporizador pára a sua contagem. Neste caso
a saída ”Q” terá sinal ”0”.
00 = seg x 0,01
01 = seg x 0,1
10 = seg x 1
11 = seg x 10
Arquivo:S7N1_08_2006
2. Valores de tempo que podem ser alterados pelo operador da máquina quando os
mesmos são armazenados em variáveis do processo ( MW ou DBW ).
Valor do Tempo Existe na CPU uma área de memória especialmente destinada ao armazenamento dos
valores dos temporizadores. Esta área contém uma palavra de 16 bits para cada
endereço de temporizador. Os bits 0 a 9 da palavra de tempo contêm o valor do tempo
em código “BCD”.
Quando o temporizador é atualizado, o valor do tempo é decrementado em uma
unidade no intervalo definido pela base de tempo.
Base de Tempo Os 12 primeiros bit`s da palavra de tempo contêm o valor do tempo em código BCD e
os bit`s 12 e 13 o valor da base de tempo:
0 = 10 ms ( 0,01 s )
1 = 100 ms ( 0,1 s )
2 = 1 s
3 = 10 s
A base de tempo define o intervalo em que o valor do tempo deve ser decrementado em
uma unidade
Quando o tempo é especificado como uma constante (S5T#…), a base de tempo é
atribuída automaticamente pelo sistema. Se o tempo é especificado através de “MW”,
“DBW” ( variáveis )a base de tempo deve ser especificada pelo programador.
L / BI O endereço na saída “BI” contém o valor atual da contagem de tempo no formato binário
(decimall -10-dígitos binários sem base de tempo). LC / BCD, o endereço na saída
“BCD” contém o valor atual da contagem de tempo no formato BCD de 3 dígitos (12
bits) e a base do tempo (bits 12 e 13).
T4 T4 A I0.7
I0.7 S_ODTS Q8.5 S_ODTS L S5T#35s
S Q I0.7 S BI MW0 SS T4
S5T#35s BI MW0 A I0.5
TV S5T#35s TV BCD QW12
I0.5 Q8.5 R T4
R BCD QW12 I0.5 R Q = L T4
T MW0
LC T4
T QW12
A T4
= Q8.5
RLO no S
RLO no R
Exemplo Operação de
Temporizador
Arquivo:S7N1_08_2006
Partida A contagem do tempo começa quando o RLO na entrada “S“ passa de “0” para “1”.
O temporizador inicia a contagem do tempo especificado na entrada ”TV” e continuará a
sua contagem mesmo que a entrada ”S” passe para ”0”
Se o sinal na entrada de partida passar novamente de ”0” para ”1”, enquanto o
temporizador estiver contando tempo, o temporizador recomeça a sua contagem a
partir do valor máximo.
Reset Quando o RLO na entrada de reset "R" for "1", o valor do tempo atual bem como o da
sua base de tempo são apagados e a saída Q é resetada.
Saída Binária O estado de sinal da saída “Q“ passa a “1“ quando o temporizador tiver contado o seu
tempo, independentemente do estado de sinal da entrada “S“.
T4 T4 A I0.7
I0.7 S_OFFDT Q8.5 S_OFFDT L S5T#35s
S Q I0.7 S BI MW0 SF T4
S5T#35s BI MW0 A I0.5
TV S5T#35s TV BCD QW12
I0.5 Q8.5 R T4
R BCD QW12 I0.5 R Q = L T4
T MW0
LC T4
T QW12
A T4
= Q8.5
RLO no S
RLO no R
Operação de
Temporizador
Exemplo
Arquivo:S7N1_08_2006
Partida O temporizador começa a sua contagem quando o RLO na entrada “S“ passa de
“1” para “0” durante a contagem a saída Q permanecerá ligada. Quando o
temporizador tiver terminado a contagem de tempo, o estado de sinal na saída Q é
desligada.
Se o estado de sinal na entrada ”S” passa de ”0” para ”1” enquanto o tempo estiver
em contagem, o temporizador para e a próxima vez que o estado de sinal passar
de”1” para ”0” recomeça do valor máximo.
Reset Quando o RLO na entrada reset "R" for "1", o tempo atual e a base de tempo são
apagados e a saída “Q” é desligada.
Se as entradas (S e R) tiverem sinal “1” ao mesmo tempo, a saída “Q” não é ligada
até que o reset dominante seja desativado.
Saída Binária A saída "Q” é ativada quando o RLO na entrada "S" passa de “0” para “1”. Se a
entrada “S” é desativada, a saída “Q” continua a ter estado de sinal “1” até que o
tempo programado tenha sido contado.
Quando o sinal ( RLO ) da entrada “R” for “1” o temporizador “zera” o valor atual da
contagem de tempo e “desliga” a saída Q
T4 T4 A I0.7
I0.7 S_PULSE Q8.5 S_PULSE L S5T#35s
S Q I0.7 S BI MW0 SP T4
S5T#35s BI A I0.5
TV MW0 S5T#35s TV BCD QW12
I0.5 Q8.5 R T4
R BCD QW12 I0.5 R Q = L T4
T MW0
LC T4
T QW12
A T4
= Q8.5
RLO no S
RLO no R
Exemplo Operação de
Temporizador
Arquivo:S7N1_08_2006
Partida O temporizador começa a sua contagem quando o RLO na entrada “S” passa de
“0” para “1”. A saída “Q” passa imediatamente para “1”.
T4 T4 A I0.7
I0.7 S_PEXT L S5T#35s
Q8.5 S_PEXT SE T4
S Q MW0
I0.7 S BI A I0.5
S5T#35s TV BI MW0 R T4
S5T#35s TV BCD QW12
I0.5 A8.5 L T4
R BCD QW12 I0.5 R = T MW0
Q
LC T4
T QW12
A T4
= Q8.5
RLO no S
RLO no R
Exemplo
Operação de
Temporizador
Arquivo:S7N1_08_2006
Partida O temporizador inicia a contagem do seu tempo quando o RLO na entrada "S"
passa de “0” para “1”( somente no instante da transição ), a saída "Q" passa
imediatamente para “1”.
O estado de sinal na saída “Q“ permanece em “1“ mesmo que o sinal na entrada
“S" passe para “0”.
Se o sinal na entrada de partida passar novamente de “0” para “1” enquanto o
temporizador conta, o tempo é reinicializado.
Network 1:
T4
I0.0 T4 I0.0 & SD A I0.0
SD L S5T#5s
S5T#5s TV SD T4
S5T#5s
Network 2:
T4 Q 8.0 Q 8.0
A T4
T4 & =
= Q 8.0
Network 3:
T4
I0.1 T4 A I0.1
R I0.1 & R R T4
Arquivo:S7N1_08_2006
Instruções Bit Todas as funções de temporizadores podem ser também programadas com
simples instruções bit. As semelhanças e diferenças entre este método e as
funções dos temporizadores são a seguir apresentadas:
• Semelhanças:
- Condições de partida na entrada "S"
- Especificação do valor do tempo
- Condições de reset na entrada “R”
- Resposta de sinal na saída “Q”
• Diferenças (para LAD e FBD):
- Não é possível verificar o valor atual do tempo (não existem saídas para
BI e BCD).
A I0.4
C5 C5
CU C5
S_CUD S_CUD A I0.5
I 0.4 Q 8.3
CU Q
Q I 0.4 CU CD C5
A I0.3
I 0.5
L C#20
CD I 0.5 CD
S C5
I 0.3 A I0.7
S I 0.3 S CV MW 4 R C5
L C5
C#20 PV CV MW 4 C#20 PV CV_BCD QW 12 T MW4
Q 8.3 LC C5
I 0.7
R CV_BCD QW 12 I 0.7 R Q
Q = T QW12
A C5
= Q8.3
Arquivo:S7N1_08_2006
Valor do Contador Está reservada na memória de dados do sistema uma palavra de 16-bits para cada
contador. Esta é utilizada para armazenar o valor de contagem (0…999) em código
binário.
Cont. Crescente Quando o RLO na entrada “CU” passa de “0” para “1” o valor atual da contagem é
incrementado em uma unidade (limite máximo = 999).
Cont. Decrescente ´Quando o RLO na entrada “CD” passa de “0” para “1” o valor atual da contagem é
decrementado em uma unidade (limite mínimo= 0).
Set Contador Quando o RLO na entrada "S" passa de “0” para “1” , o valor de contagem passa a
ser o valor especificado na entrada “PV”, a partir desse valor podemos incrementar
ou decrementar o contador.
Reset Contador Quando o “RLO = 1” na entrada “R”, o valor da contagem vai para zero. Se a
condição de reset ( R ) permanece em 1 , a contagem não pode ser iniciada e o
contador também não pode ser setado.
CV / CV_BCD O valor da contagem atual ) pode ser carregado como um número decimal ( CV )
ou BCD ( CV/BCD ) no acumulador e transferido a partir daí para outros endereços.
Q A saída “Q” somente estará em “1” ( ligada ) quando o contador tiver valor de
contagem maior que zero.
I 0.1 C5 C5
CU A I 0.1
I 0.1 CU
CU C 5
Network 3:
I 0.2 C5 C5
CD A I 0.2
CD I 0.2
CD C 5
Network 4:
C5 Q 4.0 Q 4.0
A C 5
C5 =
= Q 4.0
Network 5:
I 0.3 C5 C5
A I 0.3
R I 0.3 R R C 5
Arquivo:S7N1_08_2006
Instruções Bit Todas as funções dos contadores podem ser também inicializadas com simples
instruções de bit. As semelhanças e diferenças entre este método e as funções dos
contadores são a seguir apresentadas:
• Semelhanças:
- Condições de set na entrada "SC"
Especificação do valor do contador ( C#20 )
• Diferenças:
- Não é possível verificar o valor atual do contador ( não existem saídas
BI e BCD).
CU
CD
5
4
Contagem 3
2
1
0
Arquivo:S7N1_08_2006
Notas Se o contador atingir na sua contagem máxima ( 999 ), e continuar a receber pulsos
na entrada “CU” ( UP) estes pulsos serão perdidos e o valor da contagem
permanecerá em “999” .
Arquivo:S7N1_08_2006
Número Conversão
introduzido 0 81 5 BCD Inteiro Programa de usuário
emBCD com operações
Tarefa
matemáticas utilizando
Número Conversão números inteiros
visualizado 0 2 4 8 BCD Inteiro
em BCD
Arquivo:S7N1_08_2006
BCD_I / BTI (Converte BCD em inteiros) lê o conteúdo do parâmetro “IN“ como um número BCD
de três dígitos (+/- 999) e converte-o num valor inteiro (16 bits).
I_BCD / ITB (Converte inteiros em BCD) lê o conteúdo do parâmetro “IN“ como um número
inteiro (16 bits) e converte-o num número BCD de três dígitos (+/- 999). Se ocorrer
um “overflow“, “ENO = 0“.
BCD_DI / BTD Converte um número BCD (+/- 9999999) num duplo inteiro (32 bits).
DI_BCD / DTB Converte um duplo inteiro num número BCD de sete dígitos (+/- 9999999). Se
ocorrer um “overflow“, “ENO = 0“.
Conversão de : Conversão de :
Programa
Tarefa Inteiro duplo inteiro matemático
com números
duplo inteiro real reais
I_DI
STL
FBD EN OUT MD14
DI_R
ENO EN OUT MD26 L MW 12
MW12 IN
ITD
LAD MD14 ENO T MD 14
IN
L MD 14
I_DI DI_R
DTR
EN ENO EN ENO
T MD 26
MW12 IN OUT MD14 MD14 IN OUT MD26
Arquivo:S7N1_08_2006
Exemplo: Um programa que processa valores inteiros realiza uma divisão cujo o resultado é
inferior a “1“. Uma vez que valores como estes somente podem ser representados
no campo dos números reais, o correto é que se faça uma conversão dos termos
da operação de divisão antes da sua execução.
Arquivo:S7N1_08_2006
ENO Se o resultado está fora da gama de valores permitida para aquele tipo de dados, os
bits “OV=“Overflow”” e ”OS=“Stored Overflow”” são setados e a saída ”ENO=0”. Isto
evita que operações seguintes dependentes de ”ENO” sejam executadas.
IN1,IN2 O valor na entrada ”IN1” é lido como o primeiro endereço e”IN2” como o segundo.
Nota As funções matemáticas avançadas (ABS, SQR, SQRT, LN, EXP, SIN, COS, TAN,
ASIN, ACOS, ATAN) serão tratadas em cursos de programação avançada.
WXOR_W L IW 0
WOR_W
L W#16#5F2A
WAND_W
AW / OW / XOW
EN ENO
T MW10
IW0 IN1
OUT MW10 15 0
W#16#5F2A IN2
IW0 = 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0
W#16#5F2A = 0 1 0 1 1 1 1 1 0 0 1 0 1 0 1 0
AND OR XOR
Arquivo:S7N1_08_2006
WAND_W A operação "AND Word" testa bit a bit os valores digitais das entradas ”IN1” e ”IN2”
de acordo com a tabela da verdade da operação “AND”. O resultado da operação
“AND” é armazenado no endereço especificado na saída ”OUT”.
A instrução é executada quando ”EN = 1”.
Exemplo: “zerar” os quatro bit´s da esquerda de sinal na IW0 :
IW 0 = 0100 0100 1100 0100
W#16#0FFF = 0000 1111 1111 1111
MW 30 = 0000 0100 1100 0100.
WOR_W A operação "OR Word" teste bit a bit os valores digitais das entradas ”IN1” e ”IN2”
de acordo com a tabela da verdade da operação “OR”. O resultado da operação
“OR” é armazenado no endereço especificado na saída ”OUT”. A instrução é
executada quando ”EN = 1”.
Exemplo: Colocar em ”1” o bit zero da MW32 :
MW 32 = 0100 0010 0110 1010
W#16#0001 = 0000 0000 0000 0001
MW 34 = 0100 0010 0110 0011
WXOR_W A operação "Exclusive OR Word" testa bit a bit os valores digitais das entradas
”IN1” e ”IN2” de acordo com a tabela da verdade “XOR”. O resultado da operação
“XOR” é armazenado no endereço especificado na saída ”OUT”. A
Instrução é executada quando ”EN=1”.
Exemplo: detectar mudanças de sinal na IW0 :
IW 0 = 0100 0100 1100 1010
MW 28 = 0110 0010 1011 1001
MW 24 = 0010 0110 0111 0011
NOTA As mesmas operações de 16 bits, acima citadas, também têm suas respectivas
instruções para 32 bits. São elas: WAND_DW, WOR_DW e WXOR_DW
SHL_W
L MW8 ou:
EN ENO
L MW4 L MW4
MW4 IN SLW SLW 2
OUT MW12 T MW12 T MW12
MW8 N
= +2
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1
IN IN
EN0 =1 EN0 = 0
1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0
OUT OUT
Arquivo:S7N1_08_2006
SHL_W / SLW A operação “SHL_W” desloca os bits 0 a 15 do “ACCU 1” bit-a-bit para a esquerda o
número as casas que forem especificadas na entrada “IN”. Os
bits à direita são preenchidos com zeros.
SHR_W / SRW A operação “SHR_W” desloca os bits 0 a 15 do “ACCU 1” bit-a-bit para a direita o
número de casas que forem especificadas na entrada “IN”. Os
bits à esquerda são preenchidos com zeros.
ENO Se a instrução é executada (“EN = 1”), “ENO” indica o estado de sinal do último bit
deslocado.
Isto significa que outras instruções dependentes de ”ENO” (cascata) não são executadas
se o estado de sinal do último bit deslocado for "0".
SHL_DW / SLD O procedimento para as operações “SHL_DW“ ou “SHR_DW“ é o mesmo que para
SHR_DW / SRD operações “SHL_W“ ou “SHR_W“, exceto que agora, todo conteúdo do “ACCU 1” (bits 0 a
31) é deslocado bit-a-bit para a esquerda ou para a direita o número de casas
especificado.
SHR_I
L MW8 ou:
EN EN0 L MW4 L MW4
SSI SSI 3
MW4 IN
T MW12 T MW12
MW8 N OUT MW12
= +3
1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1
IN IN
EN0 = 0 EN0 = 1
1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
OUT OUT
Arquivo:S7N1_08_2006
SHR_I / SSI A operação “Shift Right Signed Integer” (deslocar um inteiro com sinal para a direita)
desloca apenas o “ACCU 1-L” (bits 0 a 15) bit-a-bit para a direita. Os bits que são
vagos são preenchidos com o conteúdo do bit de sinal (bit 15).
Os bits 16 a 31 não são afetados. A entrada “N” especifica o número de posição do
bit que o número deve ser deslocado. Se “N” é maior que 16, é assumido.
N = 16.
EM / ENO Se a instrução é executada (“EN = 1”), “ENO” indica o estado de sinal do último bit
deslocado (este bit corresponde ao bit CC1 e bits do RLO na palavra de
estado).Isto significa que outras instruções dependentes de ”ENO” (cascata) não
são executadas se o estado de sinal do último bit deslocado for "0".
SHR_DI / SSD A operação “Shift Right Signed Double Integer” (deslocar um duplo inteiro com
sinal para a direita) desloca o conteúdo completo do “ACCU 1” (bits 0 a 32) para a
direita o número de casas especificado.
Valores permitidos para N: 0 a 32.
ROL_DW
ENO L MW 6 ou:
EN
L MD 2 L MD 2
MD 2 IN RLD RLD 4
OUT MD 12 T MD 12 T MD 12
MW 6 N
= +4
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
IN: 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Rotação de 4 casas
para a esquerda :
OUT: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1
Arquivo:S7N1_08_2006
ROL_DW / RLD A operação “Rotate Left Doubleword” (rotacionar uma dupla palavra para a
esquerda) “desloca” todo o conteúdo do ACCU 1 para a esquerda. Os bits que
ficam vagos são preenchidos com os estados de sinal dos bits que são empurrados
para fora do acumulador.
ROR_DW / RRD “Rotate Right Doubleword“ (Rotacionar para a direita uma dupla palavra).
Símbolos Locais Os símbolos locais são declarados na tabela das declarações de um bloco. Só
podem ser utilizados para aquele bloco.
O mesmo nome simbólico pode ser novamente utilizado na tabela de declarações
de outro bloco.
Estrutura da Tabela A tela de símbolos é composta por colunas para status, o nome simbólico, o
endereço, o tipo de dado e um comentário para o símbolo. Cada símbolo ocupa
uma linha da tabela. É acrescentada automaticamente uma linha em branco no
final da tabela para a definição de um novo símbolo.
Nota A tabela de símbolos é uma base de dados comum e pode ser utilizada por
diferentes ferramentas:
• Editor LAD/STL/FBD
• Testar e Modificar Variáveis
• Visualizar Referências Cruzadas
Exemplos Name: M*
Só são mostrados na tabela de símbolos, os nomes que começam por "M“, e que
têm qualquer número de caráteres adicionais.
Name: SENSOR_?
Só são mostrados na tabela de símbolos, os nomes que começam com
"SENSOR_" e que têm um outro caractere.
Address: I*.*
Só são mostradas as entradas.
Válido, Não Válido Os símbolos devem ser únicos, isto é, um símbolo ou um endereço só pode existir
uma vez na tabela de símbolos.
Se um símbolo ou um endereço aparecerem mais do que uma vez, as linhas em
que se encontram são mostradas em negrito. Se a sua tabela de símbolos for
extensa, e quiser encontrar mais rapidamente possíveis duplicações de símbolos
ou endereços, você poderá visualizar apenas estas linhas da tabela de símbolos se
escolher as opções de menu If View -> Filter e o atributo “Invalid".
Seleção No SIMATIC Manager, selecione, com a tecla direita do mouse, a pasta "Blocks"
num programa S7. Escolha a opção de menu Properties e depois o campo
"Blocks“.
Pode escolher no campo de prioridade “Priority" entre "Absolute Value" ou
"Symbol".
Prioridade: Com esta opção, o endereço absoluto de um operando não se altera, se alterar
Valor Absoluto mais tarde a atribuição de endereço na tabela de símbolos.
No exemplo acima representado, a saída Q 8.0 (nome simbólico“Plant On“) foi
alterada para saída Q 4.0 na tabela de símbolos. Com a prioridade “Priority:
Absolute Value" selecionada, o programa continua utilizando a saída Q 8.0.
Prioridade: Símbolo Com esta opção, o endereço absoluto de um operando é alterado para a nova
entrada na tabela de símbolos.
No exemplo acima representado, a saída Q8.0 (nome simbólico “Plant On") foi
alterada para saída Q4.0 na tabela de símbolos. Com a prioridade “Priority:
Symbols“ selecionada, o endereço é alterado de Q 8.0 para Q 4.0 em todo o
programa.
O endereço alterado mantém também o seu nome simbólico. Desta maneira pode-
se alterar os endereços absolutos num programa simbólico existente.
Nota 1- Enquanto o modo de monitoração estiver ativo não é possível fazer alterações
no programa. Também não é possível neste modo fazer a troca de representação
LAD.FBD:STL.
2-O Status é apresentado somente quando a CPU está em RUN.
Parameter As informações acima somente são relevantes se o modo de operação não foi
Assignment previamente definido na configuração de HW através da ferramenta Hardware
Config.
Call Path No exemplo, o FC1 é chamado três vezes (ver a estrutura do programa).
Você pode monitorar uma chamada específica, inserindo os três blocos que são
encontrados imediatamente antes do bloco de status. Uma exigência para isto, é
que as chamadas aconteçam através de diferentes blocos. Então você pode
monitorar a terceira chamada conforme o exemplo.
FC30 – Terceira chamada do bloco.
Open Data Blocks No exemplo, FB1 é chamado várias vezes no FC40. Neste caso, o caminho da
chamada não pode ser utilizado para os testes. Deve-se utilizar a chamada ao DB
como trigger para os testes.
Uma vez que, como regra, um DB instance é usado por um FB, você pode utilizar
este DB instance no campo como o Trigger para a movimentação.
No exemplo o DB1 foi utilizado na primeira chamada, DB2 para a segunda e o DB3
para a terceira. Você deve preencher o campo como DB2 para monitorar a
segunda chamada.
Caixa de Diálogo Na tela, uma caixa de diálogo onde escolhe-se que informações devem ser
apresentadas adicionalmente ao modo Default. Possibilidades:
• Standard
• View
• Variable
Modify Value Nesta coluna introduzimos o novo valor para a variável ( “Modify Value“).
Mod. Valores Válidos Pode tornar inválido o valor modificado que introduziu na tabela selecionando o
ícone .
Pontos de Trigger O "Monitor Trigger Point" especifica quando é que os valores das variáveis que
estão sendo visualizadas devem ser atualizados.
O "Modify Trigger Point" especifica quando é que devem ser atribuídos valores
fixos às variáveis que estão sendo modificadas.
Atenção ! Quando o "Monitor Trigger Frequency" está selecionado para "Once" e você clica
nos ícones os valores são atualizados apenas uma vez.
CPU 314-1AE03 Com esta versão de CPU, a função modificar não é executada em todos os ciclos
quando "Modify Trigger Frequency" está selecionado para "Every cycle".
O que fazer: Utilizar a função de teste "Force".
CPU Configurada São visualizadas as variáveis da CPU, em cujo programa S7 (H/W Station) a tabela
de variáveis está armazenada.
CPU Direta São visualizadas as variáveis da CPU, que estão diretamente ligadas ao PG.
CPU Acessível São visualizadas as variáveis da CPU, que estão selecionadas na caixa de diálogo.
Para estabelecer uma ligação a uma CPU acessível, selecione a sequência de
menus PLC -> Connect To -> Accessible CPU...
Pode assim, estabelecer a ligação a todas as CPU´s de uma rede.
Notas para Force Você pode abrir uma única janela de FORCE para cada CPU.
Antes de iniciar a função FORCE você deve estar seguro que ninguém mais está
acessando esta função na mesma CPU. Você somente pode cancelar ou terminar
o comando FORCE através do menu “Variables STOP FORCING“
Você não pode simplesmente fechar o comando FORCE fechando a janela ou
saindo da aplicação.
Pilha de Dados A pilha (L stack) de dados locais é uma área para armazenamento de :
Local • variáveis temporárias de um bloco lógico, incluindo informações iniciais do OB.
• parâmetros atuais a serem utilizados na chamada de funções
• resultados lógicos em programas LAD.
Este tema será tratado no capítulo “Funções, Parâmetros e Dados Locais“.
Blocos de Dados Os blocos de dados são blocos utilizados pelos blocos lógicos do programa para o
armazenamento de dados. Ao contrário dos dados temporais, os dados nos blocos de
dados não são sobrescritos quando a execução do bloco lógico é completada.
Utilização Dependendo do seu conteúdo, os blocos de dados podem ser utilizados de diferentes
maneiras. Pode diferenciar entre:
• Blocos de dados globais: estes blocos contêm informações que podem ser
acessadas por todos os blocos do programa.
• Blocos de dados de instância: estes blocos estão sempre associados a um
determinado FB. Os dados em cada DB só devem ser utilizados pelo FB
associado. Os blocos de dados de instância são tratados com mais detalhes no
capítulo “Funções, Parâmetros e Dados Locais“.
Criar DBs Os blocos de dados globais são criados com o editor de programa.
Registros A CPU tem dois registros para chamada de DB‘s: o registro DB e o registro DI. Assim
sendo, pode-se ter dois blocos de dados abertos ao mesmo tempo.
Dados do Tipo Os dados do tipo elementar são pré-definidos de acordo com a norma IEC
Elementar 1131-3. O tipo de dado determina a quantidade de espaço de memória necessário. Por
exemplo, um dado do tipo Word (palavra) ocupa 16 bits na memória.
Os dados do tipo elementar não têm mais de 32 bits de comprimento. Podem ser
carregados com todo o seu conteúdo nos acumuladores de um processador S7 e
processados com instruções STEP 7 elementares.
Dados do Tipo Os dados do tipo complexo só podem ser utilizados juntamente com variáveis
Complexo declaradas nos blocos de dados globais. Dados do tipo complexo não podem ser
carregados na totalidade do seu conteúdo nos acumuladores através de operações de
carregamento. Para estes dados poderem ser processados deve-se utilizar blocos
standard da biblioteca (Program S7 “IEC").
Dados Definidos Os dados definidos pelo usuário(UDT‘s) podem ser utilizados como blocos de
pelo Usuário dados ou como um tipo de dado na tabela de declarações de variáveis.
Os UDTs são criados com o editor de blocos de dados (“Data Block Editor“).
A estrutura de um UDT pode conter grupos de dados elementares e/ou de dados
complexos.
S5TIME Variáveis do tipo S5TIME são necessárias para especificar o valor do tempo em
funções que utilizam temporizadores (funções de temporizadores S5). Pode-se
especificar o tempo em horas, minutos, segundos e milisegundos. Pode-se
introduzir os valores do tempo com “underline“ (1h_4m) ou sem “underline“ (1h4m).
As funções da biblioteca FC 33 e FC 40, convertem o formato S5TIME em formato
TIME e formato TIME em formato S5TIME.
INT, DINT, REAL Variáveis deste tipo representam números que podem ser utilizados em operações
matemáticas.
TIME Uma variável do tipo TIME ocupa uma palavra-dupla (doubleword). Esta variável é
utilizada, por exemplo, para especificar valores de tempo em funções IEC de
temporizadores. O conteúdo da variável são interpretados como um número DINT
(duplo-inteiro) em milisegundos e pode tanto ser positivo como negativo (por expl.:
T#1s=L#1 000, T#24d20h31m23s647msw = L#214748647).
DATE Uma variável do tipo DATE é armazenada numa palavra (word) no formato de um
número inteiro sem sinal. O conteúdo da variável representa o número de dias
desde 01.01.1990 (por expl.: D#2168-12-31 = W#16#FF62).
TIME_OF_DAY Uma variável do tipo TIME_OF_DAY ocupa uma palavra-dupla (doubleword).
Contém o número de milisegundos desde o início do dia (0:00 horas) no formato de
um número inteiro sem sinal (por expl.: TOD#23:59:59.999 = DW#16#05265B77).
Permitem criar tipos de dados para resolver determinada tarefa, onde se deseja
estruturar grandes quantidades de dados e processá-los simbolicamente.
Os dados do tipo complexo não podem ser processados todos ao mesmo tempo
(mais de 32 bits) pelas instruções STEP 7, mas apenas um elemento de cada vez.
Os dados do tipo complexo são pré-definidos. O dado do tipo DATE_AND_TIME tem
um comprimento de 64 bits. O comprimento dos dados do tipo ARRAY, STRUCT e
STRING são definidos pelo usuário.
As variáveis de dados do tipo complexo só podem ser declaradas em blocos de
dados globais ou variáveis locais de blocos lógicos.
Dados Definidos Tipos de dados definidos pelo usuário representam uma estrutura por ele
Pelo Usuário definida. Esta é armazenada em blocos UDT (UDT1 ... UDT65535) e podem
ser utilizados como uma “template" em outro tipo de dado de variáveis.
Pode poupar tempo ao introduzir um bloco de dados se utilizar a mesma estrutura
várias vezes.
Exemplo: Precisa-se da mesma estrutura 10 vezes num bloco de dados. Primeiro,
defina a estrutura e grave-a como UDT1, por exemplo.
No DB, defina a variável "Addresses" como um array com 10 elementos do tipo
UDT1:
Endereços do array[1..10]
UDT 1
Acabou-se assim de criar 10 gamas de dados com a estrutura definida no UDT1
sem ter que escrever cada uma individualmente.
Definir Estrutura O tipo para uma estrutura é "STRUCT". O fim de uma estrutura é indicado
DB por "END_STRUCT". Cada estrutura tem que ter um nome (no nosso exemplo:
"Motor_data").
Nota Para criar um bloco de dados vazio, pode-se definir um array com o tipo de dados
pretendidos.
Data View Para ver que valores estão armazenados nos elementos individualmente, selecione
as opções de menu View -> Data View para passar a outra visualização. Em "Data
View“, você irá encontrar na coluna "Atual Value" os valores que estão
presentemente armazenados
Caixa de Diálogo Quando seleciona o ícone "New“, aparece a caixa de diálogo "New“. Depois de
"New" escolher o nome do projeto e do programa introduza, por exemplo, DB4 no campo
"Object name" (como tipo de objeto “Object Type“ deverá escolher “Data Block“ ou
“All Editable“). Depois de confirmar as suas seleções com o botão "OK", aparecerá
uma nova caixa de diálogo designada "New Data Block“.
Caixa de Diálogo Nesta caixa de diálogo, selecione o tipo de bloco de dados a ser criado:
"New Data Block" • Data Block (bloco de dados globais)
• Data Block Referencing a User-Defined Data Type (cria um bloco de dados
utilizando a mesma estrutura de um bloco UDT)
• Data Block Referencing a Function Block (cria um bloco de dados de
instância para um FB). Este ponto será explicado no capítulo "Funções,
Parâmetros e Dados Locais“.
Gravar Ao selecionar o ícone "Disquete" estará gravando o bloco de dados no disco rígido do seu
terminal de programação
Transferir Como acontece para os blocos lógicos, também terá que transferir os blocos de dados
para a CPU.
Testar Para testar os valores atuais de um bloco de dados, tem-se que passar para a
representação "Data View". Pode-se testar um bloco de dados utilizando o ícone “Óculos"
da barra de ferramentas (visualizar permanentemente os valores atuais do DB na CPU).
Acesso Simbólico Um acesso simbólico só será possível se forem preenchidos os seguintes requisitos:
1. Foi atribuído ao DB um nome simbólico na tabela de símbolos.
2. Foram atribuídos, com o editor LAD/STL/FBD, nomes simbólicos
individualmente aos elementos de dados do bloco de dados.
Exemplo: A instrução L “Values".Number abre o DB com o nome ‘Values' e
carrega o elemento de dados com o nome ‘Number'.
Nota Como regra, deveria utilizar o acesso simbólico a DBs. Isto traduz-se nas seguintes
vantagens:
• o programa é mais fácil de ser lido,
• garante que é acessado o DB correto,
• é mais fácil fazer mais tarde correções na estrutura de dados no DB.
Com o acesso absoluto ao DB, tem que inserir manualmente o caminho de acesso ao DB.
Com o acesso simbólico, é mais fácil fazer correções usando o arquivo fonte . O Trabalho
com Programas Fonte será tratado num curso de programação avançada.
Nota Pode-se abrir um bloco de dados através da utilização da instrução OPN DB.
Também o poderá fazer se passar parâmetros para blocos de parametrização.
Assim, pode-se por exemplo utilizar "DB 4.DBW6" como parâmetro atual. Neste
caso, é aberto o DB 4.
Tipo de Dados Os tipos de dados definidos pelo usuário, são constituídos por dados do tipo
Definidos pelo elementar ou outros tipos de dados definidos pelo usuário.
Usuário (UDT) UDT‘s não podem ser armazenados no PLC.
Exemplo: Armazenar dados de receitas (ver próximas páginas).
Gravar o Tipo de Finalmente, grave a estrutura (clique com o mouse no ícone “Save“).
Dado
O que Fazer 1. Selecione as opções de menu File - > New no Editor de Programa.
2. Selecione o projeto, o programa de usuário e um DB.
3. Ative a opção "Data block referencing a user-defined data type".
4. Selecione o bloco UDT no campo “Reference".
5. Grave o bloco de dados.
L "Cake".Recipe[2].Eggs
Notas Você tem que passar ao modo "Data View" para poder alterar a quantidade de
ingredientes. Pode-se então depois sobrescever os valores iniciais na coluna "Actual
Value“ com as quantidades pretendidas.
Para mais tarde alterar a estrutura de um bloco UDT, deve-se recriar os blocos de dados
que contêm UDTs bem como, atualizar todos os acessos a este bloco de dados. A forma
mais fácil de o fazer é através da utilização do arquivo fonte.
Arquivo:S7N1_12_2006
Conteúdo Pág
Parâmetros EN/ENO............................................................................................................... 01
Variáveis Locais de um Bloco................................................................................................. 02
Parâmetros de um Bloco......................................................................................................... 03
Utilizando Variável Local em um Bloco.......;........................................................................... 04
Blocos de Função (FB)............................................................................................................ 05
Dados de um DB Instance....................................................................................................... 06
Criando um DB Instance ......................................................................................................... 07
Múltiplo DB Instance ............................................................................................................... 08
Arquivo:S7N1_12_2006
Funcionamento -se EN não é ativado (0), o bloco não é executado, e o ENO não é ativado (0).
- se EN é ativado (1),o bloco é executado; se o bloco é executado sem erro, ENO é
ativada (1)
- se EN é ativada (1), o bloco é executado, se ocorre um erro na execução do bloco, o
ENO não é ativado (0)
EN/ENO em STL Em STL, o EN e ENO tem que ser emulado com instruções de jump salvando o RLO
no resultado binário BR. Isto é necessário se se deseja programar a condição ENO em
um bloco de usuário (caso de erro de execução).
LAD STL
Endereço da variável
no DB instance
Endereço da variável
na área memória local
Arquivo:S7N1_12_2006
Varíaveis Internas Na Tabela de Declarações são definidas as variáveis que serão utilizadas
de um Bloco internamente em um bloco. Cada tipo de variável tem uma finalidade específica.
Parâmetros Parâmetros servem como interface entre um bloco a ser executado e um bloco que chama este
bloco. Quando um bloco é chamado pode-se fornecer valores e/ou endereços a este bloco.
Dentro dele, estes parâmetros assumem a posição nos operandos em que foi programado. Os
parâmetros podem ser de entrada (somente leitura), saída (somente escrita) e entrada e saída
(leitura e escrita) os quais são passados para os blocos.
Variáveis estáticas As variáveis estáticas são variáveis auxiliares a serem utilizadas ou como rascunho ou como
flags auxiliares dentro do bloco. Este tipo de variável é encontrada exclusivamente nos blocos
tipo FB, pois são armazenadas em bloco de dados do tipo Instance, que só estes blocos
possuem.
Variáveis temporárias As variáveis temporárias, também denominadas locais, são variáveis de rascunho válidas
exclusivamente no bloco em que foram definidas. Ao contrário das variáveis estáticas, estas
variáveis não possuem endereço fixo (são armazenadas temporariamente na “L stack”), estando
disponíveis somente enquanto o bloco estiver sendo executado. Assim estas variáveis
obrigatoriamente têm que ser iniciadas a cada ciclo do bloco, não servindo para armazenar
dados de um ciclo para o outro.
Colunas da Tabela End. local: é um endereço relativo da memória local, criado automaticamente pelo sistema.
Pode-se eventualmente acessar a variável por este endereço porém se possível sempre usar o
nome simbólico.
Nome: é o nome simbólico para a variável que será usado com a seção de código do programa.
Tipo de dado: tipo de dado da variável. Ex.: BOOL (Booleana), INT (Inteira)
Valor inicial: campo opcional onde pode-se definir o valor inicial ou de start-up.
Comentário: campo opcional que contém o comentário descritivo sobre a variável.
DB instance
Arquivo:S7N1_12_2006
Chamada do Bloco Como se vê na figura acima, a passagem de parâmetros é feita preenchendo-se os campos
de parâmetros com os operandos correspondentes.
Em FBD/LAD os parâmetros localizados à esquerda do bloco são do tipo entrada (ou
entrada/saída) e do lado direito são do tipo saída.
Programação A programação, utilizando os parâmetros, é feita praticamente da mesma forma que uma
programação normal. Difere somente quanto aos operandos. Ao invés de se utilizar o
fazemos utilizando endereço absoluto do operando, utiliza-se o nome simbólico do
parâmetro conforme definido na tabela de declarações do bloco.
in parâmetros de entrada
out parâmetros de saída
in_out parâmetros de entrada/saída
Arquivo:S7N1_12_2006
Pilha Local (L stack) Todo bloco quando está sendo executado possui uma área de memória reservada na
chamada pilha local (L stack). Esta memória temporária é uma eficiente forma de usar o
sistema para arquivar valores intermediários que não são necessários depois que o
bloco é fechado. Estas variáveis (temp) são acessadas internamente no bloco pelo
nome simbólico. O tipo de dado declarado da variável deve ser respeitado (BOOL, INT,
etc.).
Limites Sendo uma área de memória da CPU, existem limites para criação e uso destas
variáveis. Estes limites dependem do tipo de CPU e da organização do programa.
Detalhes podem ser vistos no capítulo sobre Documentação.
Nota Pode ocorrer de que um nome simbólico de variável local tenha o mesmo nome
simbólico de uma variável global. Para diferenciar isto as variáveis globais são
identificadas por aspas (“nome_simbol“).
Arquivo:S7N1_12_2006
FB Um bloco de função (FB) é um bloco lógico de programa que possui uma área de
memória associada na forma de Bloco de Dados “instance”. Os parâmetros passados
para a área de memória local também serão arquivados ao DB instance. Dados
arquivados no DB são retidos depois do FB ter terminado a execução. O DB que é
associado com um FB possui a mesma estrutura de dados da declaração de variáveis
do bloco (exceto variáveis temporárias).
Chamada do Bloco Sempre que um FB é chamado, deve-se indicar qual o DB (instance) será utilizado
como “memória”.
Instance DB x FB Normalmente diferentes chamadas de um FB no ciclo de programa tem um DB
diferente associado, já que podem ser utilizadas variáveis internas (do tipo estáticas)
recursivamente (armazenam valores de um ciclo para outro).
n FB x 1 DB Se tomados os devidos cuidados (por ex. a não utilização de variáveis stat), é possível
utilizar o mesmo DB para diferentes chamadas do FB. Neste caso, a cada chamada,
os dados utilizados serão os do mesmo DB, funcionando o FB praticamente da mesma
maneira que um FC.
OB1
L Stack DB10
Call FB1, DB10
par1=IW0 Primeira Chamada
par2=Q4.0 FB1
Call FB1, DB12 Seção de
par1=MW23 código. DB12
par2=Q5.2
Segunda Chamada
Arquivo:S7N1_12_2006
Dados DB Instance Os dados do DB instance é uma cópia exata das variáveis declaradas na tabela de
declarações (exceção variável temp) do FB associado. Ao se criar um DB Instance, o
sistema automaticamente organiza estes dados. Não se editam variáveis / dados
diretamente no DB.
Acesso ao Dados A utilização de um DB Instance associado ao FB é transparente para o programador.
Isto significa que o acesso aos dados do DB não exige por parte do usuário qualquer
instrução especial. A programação é feita simbolicamente da mesma maneira que
para as variáveis locais ou parâmetros de um FC. O Sistema Operacional se
encarrega de ler/transferir dados de/para o DB Instance.
DB 6 FB 11
FB 11
Call FB11, DB6 Call # FB 11
Toda chamada de um FB que possui variáveis No caso do “DB Multiple Instance”, um único DB serve a
declaradas é acompanhada por um DB. todas as chamadas de FB
Arquivo:S7N1_12_2006
Múltiplo Instance No modo múltiplo instance é possível utilizar um único DB para várias chamadas de
FB, inclusive de FB’s diferentes. Assim economiza-se espaço na memória, números
de DB, sem perder todas as facilidades que um DB instance oferece (uso de variáveis
estáticas).
Arquivo:S7N1_12_2006
FB Gerenciador 2 - No FB gerenciador serão declarados como variáveis STAT todos os demais FB´s
que utilizarão o Múltiplo Instance DB. O tipo das variáveis deverão ser criados com o
nome do FB correspondente. Ex:
Name Type
Alarmes FB 1
Onde,
- FB4 é o FB gerenciador (que está chamando o FB´s 1 ( duas vezes)
- DB 77 passa a ser o Múltiplo Instance DB, conforme figura acima:
Faixa de Conversão A conversão A->D produz um valor que pode variar de -27648 a +27648. Isto é
representado em uma “Word” e o bit mais significativo usado para determinar se o valor
é positivo ou negativo.
A CPU compacta possui 2 saídas analógicas que podem ser utilizadas para tensão ou
corrente.
Lembrar sempre que cada submódulo de medição atende a dois canais de leitura
do módulo analógico
ATENÇÃO
Definições incorretas na posição dos submódulos medição podem danificar o
módulo principal.
Resolução Módulos analógicos tem especificações de resolução: valor lido x representação. Esta
resolução corresponde a quantidade de bits de dados usados na “Word” recebida do
módulo analógico. Se a resolução tem menos que 15 bits, os dados analógicos são
alinhados a esquerda. Os bits menos significativos não usados e preenchidos com
zeros.
A posição mais a esquerda, o MSB, é a que representa o sinal; “0” significa valor
positivo, e “1” negativo.
A tabela abaixo mostra exemplo de bits padrões para diferentes resoluções.
Exemplo: Para a leitura do valor de uma entrada analógica e transferi-lo para uma “word” de
memória o programa deve ser escrito como no exemplo abaixo :
Em “STL”: Em “LAD”:
MOVE
EN ENO
L PIW 752
T MW 30 PIW 752 IN OUT MW30
Exemplo: Para enviar um valor de uma “Word” de memória para uma saída analógica, o programa
deve ser escrito como no exemplo abaixo
Em “STL”: Em “LAD”:
MOVE
L MW 40 EN ENO
T PQW 752
MW40 IN OUT PQW 752
Programa Esta conversão de valores pode ser feita através das instruções matemáticas
existentes, onde o usuário cria uma fórmula para escalonar os valores, exemplo criar
uma rotina de cálculo de “regra de três”.
Para facilitar este trabalho, o software traz incorporado ao editor de blocos uma
biblioteca com dezenas de lógicas prontas, auxiliando na criação de rotinas mais
complexas.
Programa Esta conversão de valores pode ser feita através das instruções matemáticas
existentes, onde o usuário cria uma fórmula para escalonar os valores, exemplo criar
uma rotina de cálculo de “regra de três”.
Para facilitar este trabalho, o software traz incorporado ao editor de blocos uma
biblioteca com dezenas de lógicas prontas, auxiliando na criação de rotinas mais
complexas.
Para realizar uma escala na escrita analógica ( PQW ), utilizamos o bloco FC106
pertencente a biblioteca. Este bloco não existe na CPU, ou seja, deve também ser
transferido caso contrário a CPU entrará em modo Stop..
SIMATIC Manager Se a estrutura do projeto não está disponível na PG, clique no ícone
"Accessible Nodes" e em MPI = x ( x = endereço MPI da CPU que estamos
conectados).
Agora selecione o menu PLC -> Diagnostic/Settings
.
Se um projeto foi aberto a partir do HD com o SIMATIC Manager, podemos
selecionar no menu “PLC -> Diagnostic/Settings” após escolhido o programa
S7.
Editor de Programas No editor de programas, o menu se resume às funções que o usuário poderia
escolher ao estar editando um programa. Está no menu “PLC”.
• General
• Diagnostic Buffer
• Memory
• Scan Cycle Time
• Time System
• Performance Data
• Communication
• Stacks
Comprimir Memória Zonas inválidas existentes na memória de trabalho podem ser eliminadas
selecionando-se o campo "Compress".
Estas zonas surgem quando são feitas correções no programa da CPU. Com as
correções de um bloco, os blocos antigos não são sobrescritos, mas sim
declarados apenas como “ não válidos”. Os blocos modificados são adicionados
à zona final ( livre ) da memória, ocupando assim uma nova zona de memória
após cada correção.
"Scan Cycle Time" A Função "Scan Cycle Time“ nos dá as seguintes informações sobre a execução
cíclica do programa:
Fator de Correção O fator de correção para acertar o relógio é introduzido na janela "HW_Config" (ver
capítulo “Configuração do Hardware").
System Blocks Informa os SFC‘s e SFB‘s que a CPU em questão contém disponível para
programação.
Observação Para verificar a quantidade de memória que o programa do usuário "Block Folder"
irá ocupar na CPU, seleciona-se o campo “Object Properties“ da pasta Blocks no
SIMATIC Manager. Depois clicar na tab “Blocks“
Que Acontece, se Quando surge um erro ou uma ocorrência, por exemplo uma alteração no modo
Ocorre um Erro? de funcionamento, a CPU utilizará o seguinte procedimento :
• Dá entrada no buffer de diagnóstico uma mensagem codificada com data e hora. A
mensagem mais recente é armazenada no início do buffer. Se a memória estiver cheia,
as entradas mais antigas são apagadas.
• Entrada do acontecimento na lista de estados do sistema.
• Se necessário, o acontecimento ativa o OB de erro relevante (Bloco de
Organização).
Tipos de Erros Com a ajuda do diagnóstico da CPU, podem ser identificados os seguintes tipos de erros:
• Erro de sistema na CPU ou erro em um módulo
• Erros de programa na CPU.
Detecção Avarias No caso de detecção de avarias , é feita a distinção entre as seguintes classes de erro :
• Erros, que levam a CPU ao estado Stop.
Detecção de avarias com a ferramenta "Module Information".
• Erros Lógicos, isto é, a CPU executa o programa, mas a função não é
preenchida.
Detecção de avarias com as ferramentas "Reference Data“ e "Program Status"
• Erros Esporádicos, que só ocorrem em estados particulares do sistema. Estes
tanto podem levar a CPU a entrar no modo Stop ou ocorrer como um erro lógico.
A detecção de avarias é feita com a ferramenta "CPU Messages" ou criando-se
“o próprio ponto de disparo“.
• ID e número da ocorrência.
• informação adicional, dependendo do acontecimento, como por exemplo
o endereço da instrução que originou essa situação de erro
Abrir Bloco Quando se clica no campo , pode ser aberto o bloco da CPU no qual
a falha ocorreu. ( no exemplo acima ilustrado: "FC number: 10").
Abrir a Ferramenta Podemos abrir o buffer de diagnóstico selecionando as opções de menu PLC -->
Diagnostic/Settings -> Module Information --> Diagnostic Buffer no SIMATIC Manager ou
Editor de Programas.
Registered Modules A lista contém todos as CPU´s chamadas no SIMATIC Manager com as opções de menu
PLC -> CPU Messages. A lista está dividida em quarto colunas:
1. Na primeira coluna, um ícone mostra se uma ligação foi interrompida pelo
parceiro externo.
2. Na coluna "W", é ativado / desativado o diagnóstico do sistema e as
mensagens de diagnóstico do programa do usuário.
3. Na coluna "A", são ativadas / desativadas mensagens de interrupção.
A aplicação "CPU Messages" verifica se o módulo em questão suporta
mensagens de diagnóstico e de interrupção. Se não for este o caso, a
mensagem aparece.
4. Na coluna "Module", é inserido o nome do módulo ou o caminho do programa S7.
Próxima Mensagem • Top: Assim que uma mensagem é recebida, aparece a janela "CPU
Messages" no topo, a mensagem aparece e ao mesmo tempo entra no
arquivo de mensagens.
• Background: A recepção de mensagens é feita no “background“.
As mensagens aparecem na janela, mas a janela permanece no background.
As mensagens são arquivadas e podem ser visualizadas se necessário.
• Ignore: As mensagens nem aparecem nem são arquivadas.
Arquivo Pode modificar o tamanho do arquivo (40 a 2000 mensagens) ou esvaziar o arquivo se
selecionar o campo "Archive".
B Stack O “B Stack“ contém a lista de todos os blocos executados até a transição para o
estado Stop.
I Stack O I Stack contém os dados dos registros no local da interrupção, tais como:
L Stack O L Stack contém os valores das variáveis temporais dos blocos. Precisa-se de
alguma experiência para saber analisar estes dados.
Abrir um Bloco Para abrirmos um bloco online, selecionamos na lista do “B stack“ o bloco
pretendido e clique no campo "Open Block". Podemos depois editar este bloco. O
cursor estará localizado uma instrução após a instrução que contém o erro.
Exemplo de Erro No nosso exemplo, podemos verificar que o número hexadecimal 0000 000F é
armazenado no acumulador 1. Este número não é um número BCD válido e por
esta razão ocorreu um erro de conversão durante a conversão de BCD para Inteiro
( Instrução BTI ).
Este erro pode ocorrer durante a seleção dos botões de pré-seleção do simulador
devido aos contatos mecânicos. Para evitar esta situação, confirme a entrada
acionando o interruptor de contato-momentâneo antes de levar a cabo a conversão.
Exemplo de Erro No nosso exemplo, as duas variáveis temporais, variable1 e variable2 são definidas
no bloco FC 10.
A tabela de declarações do bloco FC 10 mostra o endereço relativo no L Stack na
coluna dos endereços. A variável, “variable1”é armazenada no byte 0 e 1 do L
Stack e a variável, “variable2” no byte 2 e 3.
Assim a variável “variable1” contém o valor 78H, que corresponde ao número
inteiro 120. A variável foi descrita no programa com as instruções L 120, T
variable 1. A variável, variável 2 tem o valor 08H e isto é o resultado da última
conversão BCD em Inteiro sem erros.
Clear / Reset Permite ao usuário efetuar o Reset da memória CLP através da PG.
Lembrando que o comando de Reset não apaga os blocos de programa das CPUs
que possuem MMC como memória principal.
Set Time of Day Permite ao usuário atualizar a data e hora do CLP através da PG.
A alteração pode ser feita de acordo com o horário da PG ou num horário desejado
qualquer digitado pelo usuário, basta retirar o item Take from PG/PC.
• Ref. Cruzadas
• Atribuição de I/Q/M
• Atribuição de T/C
• Estrutura Programa
• Símbolos não utilizados
• Endereços sem símbolos
Tabela A lista de referências cruzadas está estruturada sob a forma de uma tabela. Tem as
seguintes colunas:
Coluna Conteúdo / Significado
--------------------------------------------------------------------------------------------------------
• Address endereço absoluto do operando (endereço)
• Symbol nome simbólico do endereço
• Block blocos em que o endereço é utilizado
• Type acesso read-only (R) ou write-only (W)
• Language linguagem de programação em que o bloco foi criado
• Details instrução com a qual o endereço é utilizado
Referência Cruzada Quando seleciona-se um endereço na lista de referências cruzadas, pode abrir
para um Endereço uma nova janela se selecionar as opções de menu View -> Cross Reference for
Address. Esta janela contém apenas as referências cruzadas para o endereço
selecionado.
Área Filtrada A área filtrada estabelece a área de endereços a serem exibidos. Pode-se também
definir pequenas áreas.
A área filtrada definida como "10-50; 70; 100-130" significa que o endereço 70 e as
áreas de endereços de 10 a 50 e de 100 a 130 aparecerão na janela correspondente.
Tipo de Acesso Na seleção standard, aparecem todos os tipos de acesso. Pode também escolher a
opção "Selected" e depois selecionar no campo correspondente o tipo de acesso, por
exemplo, W, acesso write-only.
Colunas Utilizando diferentes campos pode determinar o número e conteúdo das colunas para a
estrutura da tabela das referências cruzadas.
Standard Para que a seleção feita continue válida quando tornar a entrar na aplicação "Display
Reference Data", tem que ativar a opção "Save as standard".
A seleção inicial (standard) ou o que guardou como standard é reproduzida utilizando o
campo "Default".
Nota A procura é puramente uma procura de texto, isto é, as entradas devem ser “exatas-
incluindo cada ponto, traço e espaço“.
Especificações adicionais podem ser:
• procura de endereço, símbolo, bloco ou linguagem,
• o caratere string introduzido como elemento de procura é uma palavra
completa ou parte de uma palavra,
• devem ser levadas em consideração ou ignoradas, letras
maiúsculas/minúsculas
• pode ser especificada a área e direção da procura.
Nota Não se esqueça que os dados de referência são apenas criados a partir dos blocos
tratados em offline. Por esta razão, os blocos modificados devem ser sempre
gravados.
Tratamento Selecione um endereço no Editor de Programas e clique nele com a tecla direita do
mouse. Depois escolha a opção de menu Go to Location.
Na janela "Go to Location“, aparecem todos os locais do programa onde o
endereço é utilizado. Na coluna "Details", pode ver se o endereço está disponível
ou atribuído. No exemplo, interessa-nos a localização do programa onde a saída
Q 3.4 é setada e resetada. Depois de selecionar a linha que lhe interessa, pode
saltar para essa parte do programa ativando o campo "Go To". Ao selecionar o
campo "Starting Point", volta ao ponto de partida.
Tipo de Acesso Por default, aparecem todos os acessos aos endereços. Ao selecionar o campo
"Selected", pode, por exemplo, visualizar acessos do tipo write-only (atribuição, set,
reset).
Com a opção "Overlapping access to memory areas", aparecem também, por
exemplo, acessos word-by-word ao endereço.
Atribuição T/C Para abrir a Atribuição de T/C selecione as opções de menu View -> Assignment ->
Timers and Counter ou clique no ícone correspondente. Esta lista de
atribuições dá-lhe uma panorâmica de que temporizadores e contadores são
utilizados no programa.
Em cada linha aparecem dez (10) temporizadores ou contadores.
Endereços Quando seleciona as opções de menu View -> Addresses without Symbols ou
sem Símbolos clica no ícone associado, aparece uma lista de endereços. Estes endereços foram
utilizados no programa do usuário mas não estão definidos na tabela de símbolos.
Uma linha é composta pelo endereço e o número de vezes que foi utilizado.
Filtro Ao utilizar "Filter" você faz seleções detalhadas de informação para a visualização
de símbolos não utilizados (ver slide).
Step7-Nível1
Orkan Informática Industrial Página 0
Capítulo 16
Centro de Treinamento
Panorâmica Este slide mostra as diferentes formas de documentação disponíveis. Todas as
ferramentas de documentação têm uma função para impressão.
Impressora
A impressora utilizada deve ser uma das que estão instaladas no Windows. Se utilizar-
mos uma impressora diferente, teremos que definir os seus parâmetros (instalar ) através
do “Control Panel” .
Step7-Nível1
Orkan Informática Industrial Página 1
Capítulo 16
Centro de Treinamento
Comentários Bloco O slide acima representado, mostra diferentes formas de documentar um bloco de um
programa.(OB, FC, FB).
Step7-Nível1
Orkan Informática Industrial Página 2
Capítulo 16
Centro de Treinamento
Imprimir Para visualizar o aspecto de sua impressão, selecione as opções de menu File ->
Print Preview.
Step7-Nível1
Orkan Informática Industrial Página 3
Capítulo 16
Centro de Treinamento
Características de Selecionando-se as opções de menu File --> Page Setup aparece uma caixa
Página de diálogo onde terá que selecionar o formato da impressão (por ex:
Margens A4).
A impressora utilizada para documentação deve ser uma das que estão instaladas no
Windows. Se utilizarmos uma impressora diferente, teremos que definir os seus
parâmetros ( instalar ) através do “Control Panel” .
Step7-Nível1
Orkan Informática Industrial Página 4
Capítulo 16
Centro de Treinamento
Dados de Referência Ao imprimirmos os dados de referência conseguiremos que a detecção de
uma avaria se torne, em particular, mais simples. Para maiores informações
verifique o capitulo “Detecção de Avarias“.
Tabela de Símbolos A tabela de símbolos contém a associação entre o endereço absoluto, nome
simbólico e comentário do símbolo. Para maiores informações verifique o
capítulo “Símbolos“ deste manual.
Configuração de Mostra numa forma gráfica, as estações de uma rede com os dados de
Rede configuração relevantes, como por exemplo o endereço MPI.
Step7-Nível1
Orkan Informática Industrial Página 5
Capítulo 16
Centro de Treinamento
Nota Com algumas CPUs (por ex.: CPU 416), pode-se também descrever o tipo de
módulo de memória . Para o fazer selecione as opções de menu PLC -> Download
to EPROM Memory Card on CPU.
Step7-Nível1
Orkan Informática Industrial Página 6
Capítulo 16
Centro de Treinamento
Introdução Se o projeto tiver mais de 1.44 MB, é necessário comprimi-lo antes da gravação.
Step7-Nível1
Orkan Informática Industrial Página 7
Capítulo 16
Centro de Treinamento
IntroduçãoSempre que os dados de um projeto ocuparem mais de 1,44 Mb deverá ser
utilizada a função “Arquivar”.
Esta função compacta os dados de forma que ocupem aprox.1/8 do conteúdo inicial de
memória. Utiliza as funções normais de compressão de arquivos, tais como, PKZIP, ARJ,
LHARC, RAR or WINZIP. Um destes programas tem que estar instalado no PG. Se forem
utilizados nomes extensos para os projetos, deverão ser utilizados os prgramas PKZIP,
WinZip ou RAR.
As funções de compactação de um arquivo ARJ e PKZIP são fornecidas juntamente com o
STEP 7.
O caminho para arquivo do programa é obtido se for selecionada as opção de menu
Options -> Customize -> Archive in the SIMATIC Manager.
Arquivar
• O projeto a ser arquivado tem que ser fechado no SIMATIC Manager.
• Selecione as opções de menu File --> Archive.
• Selecione o projeto a ser arquivado na janela da caixa de diálogo.
• Selecione o nome para o arquivo na próxima caixa de diálogo.
• Na última caixa de diálogo, pode-se escolher entre as seguintes opções:
- Disk-crossing archive = Dividir ou não o arquivo em vários disquetes
- Incremental archiving = Apenas os arquivos com o atributo ACR (STEP7 files) são
arquivados.
- Reset archive bit = Arquiva apenas os arquivos que tenham sido alterados.
- Consistency check = Compara os arquivos a serem arquivados (apenas para ARJ)
Descompactar
• Selecione as opções de menu File -> Retrieve.
• Selecione o arquivo compactado.
• Na próxima caixa de diálogo, selecione o diretório alvo para o arquivo que vai ser
descompactado.
Step7-Nível1
Orkan Informática Industrial Página 8
Capítulo 16
Centro de Treinamento
Requisitos O driver para o módulo de memória tem que estar instalado no software STEP 7,
se não, clique no botão "Start" e selecione Simatic -> STEP 7 -> Memory Card
Parameter Assignment e instale o driver. Ficará então disponível um ícone na barra
de ferramentas do SIMATIC Manager para o módulo de memória.
O conteúdo do módulo de memória tem que ser apagado antes que se possa copiar
qualquer programa para o seu interior.
Abra duas janelas no SIMATIC Manager:
Nota Com algumas CPUs (por expl.. CPU 416), pode-se também descrever o módulo de
memória que está instalado. Para fazê-lo, selecione as opções de menu PLC ->
Download to EPROM Memory Card on CPU.
Step7-Nível1
Orkan Informática Industrial Página 9
Capítulo 16
Centro de Treinamento
Introdução Pode-se comparar blocos entre modo online e offline ou entre dois programas no modo
offline armazenados na PG.
Com esta função, é possível deterrminar se foram feitas alterações no programa, seja
online ou offline e em que segmentos os blocos diferem.
O que Fazer • Com o botão direito do mouse, selecione a pasta blocks de um programa
S7.
• Selecione a opção no menu Compare Blocks.
• Escolha se quer comparar blocos online/offline ou 2 programas offline
e aceite com botão "OK“.
• Na janela seguinte, aparecem listados os blocos que são diferentes.
• Selecione a linha em que foi assinalada uma diferença e depois clique em
"Details".
• Na janela "Compare Blocks - Details" pode verificar quando o bloco foi modificado e
se o tamanho do bloco foi alterado.
• Depois de pressionar o campo "Go To...", o bloco diferente, por exemplo, é
aberto online e offline em duas janelas e aparece o segmento em que a
primeira diferença foi detectada.
Step7-Nível1
Orkan Informática Industrial Página 10
Capítulo 16
Centro de Treinamento
Diferenças Depois de clicar em "Go To..." (ver página anterior), é aberto o Editor de Programa
com duas janelas lado a lado, onde aparece o segmento com a primeira diferença.
Exemplo No exemplo acima ilustrado, M 8.5 é utilizado no bloco offline e M 8.6 é utilizado no
bloco online como memória auxiliar para detecção de flanco do RLO na entrada I
8.5. Isto significa que, depois de um bloco ter sido transferido para o CPU, foi feita
uma correção ou no bloco offline ou no bloco online.
Step7-Nível1
Orkan Informática Industrial Página 11
Capítulo 16
Centro de Treinamento
Transferir um Quando estiver terminada a fase de Start-Up, para que possamos dispor de uma
Programa cópia da versão final do programa no HD, recomenda-se que faça a comparação
da CPU dos programas online e offline (veja tópico Comparar blocos) antes de realizar a para a
PG cópia, para que não corra riscos de copiar o programa desatualizado para a PG.
Step7-Nível1
Orkan Informática Industrial Página 12
Capítulo 16
Centro de Treinamento