Upload
darlan-leite
View
318
Download
4
Embed Size (px)
Citation preview
CLP
Controlador Lógico Programável
Nível 01 Fênix Automação Industrial – Barra Mansa – RJ
Email: [email protected] Joaquim Leite, Ed Benedictus 01, Sala 203, Centro
S7-200
FAMILIA DE CONTROLADORESSIEMENS SIMATIC S7
O S7-200 é o micro-CLP da família SIMATIC S7. O S7-200 tem as seguintes características e funções:- baixo preço- “Totalmente compacto” com fonte de alimentação, CPU e entradas/saídas integradas em um único dispositivo.- "Micro PLC" com funções integradas- Pode ser expandido em até sete módulos- Software baseado em DOS ou Windows (STEP 7 MICRO/DOS ou STEP 7 MICRO/WIN)
S7-300 S7-400
Pagina 02
Modelos de CLP´s SIMATIC S7
O S7-300 é o pequeno e totalmente modular CLP da família SIMATIC S7.- Diversas CPU’s com diferentes capacidades.- Extensivo espectro de módulos.- Pode ser expandido em até 32 módulos.- Módulos integrados em barramento backplane- Pode ser ligado em rede com interface multi-point (MPI), PROFIBUS e Industrial Ethernet.- Conexão central com PC acessa todos os módulos (FM e CP).- Sem regras para alocação das placas.- Configuração e parametrização via software STEP 7.
O controlador lógico programável S7-400 abrange aplicações de médio e grande porte. A família da CPU S7-400 tem um set de instruções poderoso (igual ao do S7-300) e esquema de endereçamento simples.Memória de Trabalho A partir de 48 KB até 2 Mega.Sinais Digitais A partir de 64K até 256K.Sinais Analógicos A partir de 4K até 16K.Memory Markers Flags - A partir de 4K até 16K.Tempo de Ciclo A partir de 0,08 µs até 0,2 µs por instrução binária.Multiprocessamento Até quatro CPUs podem ser usadas no rack central.Comunicação Via MPI, ponto-a-ponto, PROFIBUS e Industrial Ethernet .
Multi-point Interface (MPI)
Características da Interface MPI
MPI
A Multi-Point Interface, MPI tem como objetivo conectar o CLP ao terminal de programação ou à interface de operação, ou ainda a outros controladores lógicos programáveis (PLC’s).
Na unidade central de processamento (CPU), existe somente uma interface MPI, porém é possível acessar através dela todos os outros módulos programáveis, tais com FM’s.
Possibilidades de Conexão: Vários dispositivos podem estabelecer simultaneamente conexão de dados com a CPU. Isto significa que o terminal de programação e o painel de operação podem ser operados simultaneamente, e ainda outros PLC’s adicionais podem ser conectados. As quantidades de conexões que podem ser operadas simultaneamente dependem da CPU.
Exemplo: são possíveis quatro conexões de comunicação ativa por nó para a CPU 314.
Pagina 03
Multi-point Interface (MPI)
Características da Interface MPI
Características da MPI: A interface MPI suporta displays, painéis de operação e terminais de programação Siemens. A MPI oferece as seguintes possibilidades:- Programação de CPU’s e módulos inteligente- Funções de monitoração do sistema e funções de informações- Troca de dados entre controladores lógicos programáveis-Troca de programas entre CPU e terminal de programação
-Dados Técnicos da MPI: As mais importantes características da interface MPI são:- Padrão RS 485 e taxa de transmissão de 187.5 Kbaud- Distâncias até 50 m ou até 9100 m com repetidores- Componentes padrões do PROFIBUS DP (cabo , conector, e repetidor)
Pagina 04
Terminais de Programação
Terminais de Programação PG720740
PG720PII A PG 720PII (Pentium II) tem as seguintes características:- Pouco Peso (aproximadamente 4.5 kg)- Dimensões pequenas- Interface Integrada (MPI, EPROM, MEMORY CARD, e PLC)- Boa resolução- Expansão para Teleservice (MODEM) via PCMCIA, tipo 3- Teclado removível, conexão possível para monitor externo Multisync.- Expansível para redes (Novell, etc.), transmissão de dados, FAX (modem) via PCMCIA -tipo 3
PG740PIII A PG 740PIII (Pentium III) tem as seguintes características:- Boa resolução gráfica para Windows 98- Excelente tela de exibição (TFT display, 13.3", 34 cm)- Teclado removível, possível conexões para monitores externos com alta resolução.- Interface integrada (MPI, EPROM, MEMORY CARD, SIMATIC S5, e impressora)- Expansível para redes (Novell, etc.), transmissão de dados, FAX e modem- Portátil (aproximadamente 7 kg)
Pagina 05
Hardware
Introdução ao Hardware S7-300
Pagina 06
Hardware
Introdução ao Hardware S7-300
Pagina 07
No S7-300 o endereçamento dos módulos de I/O, CP e FM são slot´s orientados, isto é, o seu endereço depende da posição do módulo no trilho. Alguns slot´s são reservados: PS, CPU e IM.Slot1: PS - Fonte de alimentação. Obrigatoriamente no primeiro slot. Não é associado nenhum endereço para a fonte de alimentação.
Slot 2: CPU; deverá estar localizada próxima a fonte de alimentação. Não é associado nenhum endereço para a CPU.
Slot 3: Módulo de interface (IM). Para conectar racks de expansão. Não é associado nenhum endereço para a IM. Até mesmo se a IM não estiver presente, ela deverá ser considerada no esquema de endereçamento do slot. O slot 3 é logicamente reservado pela CPU para a IM.
Slot 4-11: Módulos de sinais (SM). Slot 4 é considerado o primeiro slot para módulos de entrada e saída ou CP ( Processadores de Comunicação) Profibus, Ethernet ou FM ( Modulos de Funções) contagem, Posicionamento.
Hardware
S7-300: Design da CPU
Pagina 08
Seletor de Modo:• MRES = Função de reset da CPU.• STOP = Estado Stop; o programa não é executado.• RUN = Execução do programa; possível o acesso read-only a partir do Terminal de Programação.• RUN-P = Execução do programa, possível o acesso read / write a partir do Terminal de Programação.Indicadores de estado (LEDs):• SF = Resumo de falhas; erro interno da CPU ou falha num módulo com capacidade de diagnóstico.• BATF = Falha de bateria; Bateria descarregada ou não existente.• DC5V = Indicador de tensão interna 5 V DC.• FRCE = FORCE; indica que pelo menos uma entrada ou saída está forçada.• RUN = Pisca quando a CPU está inicializando; Mantém-se acesa no estado Run.• STOP = Mantém-se acesa no estado Stop; Pisca devagar quando é solicitado um reset de memória; Pisca rapidamente quando está sendo feito um reset de memória; Pisca devagar quando é necessário um reset de memória, por ter sido inserido um módulo de memória.
Hardware
S7-300: Design da CPU
Pagina 09
• Módulo de memória: Existe na CPU um slot para o módulo de memória. O módulo de memória armazena o conteúdo do programa no caso de uma falha na alimentação, sem necessidade de bateria.
• Compartimento da Bateria: Existe um receptáculo para bateria de lítio debaixo da tampa. A tensão da bateria permite armazenar o conteúdo da RAM se falhar a alimentação ao PLC.
• Conexão MPI: Conexão a um terminal de programação ou outro dispositivo com interface MPI.
• Interface DP: Interface para ligação direta de I/Os distribuídos à CPU.
Endereçamento
S7-300 - Endereçamento de I/O - Digital
Pagina 10
Endereçamento Digital: O endereçamento das entradas (I) e saídas (Q) digitais começa com o endereço 0 para o módulo de sinal localizado no slot 4 (1° slot para SM). A relação entre o slot físico e o endereço do módulo é exibida acima. Cada módulo digital ocupa 4 bytes de endereços independente do número de pontos.
Pode-se acessar estas áreas (I e Q) em bits, bytes, words ou double words, como mostrado nos exemplos abaixo:
- Q4.0 é um dado que é arquivado no primeiro bit (bit 0) do byte 4 na tabela imagem da periferia de saída (usando a numeração padrão das I/O do diagrama acima, isto corresponde ao primeiro ponto no módulo 2)
- IB100 refere-se ao dado no byte 100 da tabela imagem da periferia de saída.
- IW100 refere-se ao dado que é arquivado nos bytes 100 e 101 da tabela imagem da periferia de entrada.
Endereçamento
S7-300 - Endereçamento de I/O – Analógico
Pagina 11
Endereçamento Analógico:
O endereçamento das entradas e saídas analógicas começa no endereço 256 para o módulo de sinal localizado no slot 4 (1° slot para SM). A figura acima mostra o esquema de endereçamento dos módulos analógicos. Cada módulo analógico ocupa 16 bytes de endereços, independente do tipo de módulo, sendo que cada canal analógico ocupa dois bytes de dados.
O endereço identificador para uma entrada analógica é PIW e para saída analógica é PQW.
No S7-300 o endereçamento para sinais analógicos começa com 256, sendo portanto que o primeiro canal no primeiro módulo no primeiro rack irá então ser PIW256. O último endereço analógico é 766 (para o S7-300).
Exemplo: Para acessar os dados do segundo canal no primeiro módulo no rack 2, o endereço da entrada analógica e PIW514.
Programação
O SIMATIC Manager é uma interface de gráfica com o usuário para a edição online/offline de objetos S7 (projetos, arquivos de programa do usuário, blocos, estações de hardware e ferramentas).Com o SIMATIC Manager é possível:
administrar projetos e bibliotecas;ativar as ferramentas STEP 7;acessar online o PLC;editar módulos de memória.
Pagina 12
O SIMATIC Manager
Programação
Processo: Quando se olha de perto o processo a se automatizar, verifica-se que este é composto por uma série de pequenas áreas e sub-processos, que estão interligados e dependentes uns dos outros. A primeira tarefa é portanto desmembrar o processo de automatização como um todo em pequenas sub-tarefas separadas.
Hardware e Software: Cada sub-tarefa define determinados requisitos tanto de hardware como de software que têm que ser cumpridos pelo processo de automatização:
Hardware:- Número e tipo de entradas e saídas;- Número e tipo de módulos;- Número de bastidores;- Capacidade e tipo da CPU; - Sistemas HMI; - Sistemas de interligação em rede.Software:- Estrutura do programa;- Tratamento de dados para o processo de automatização;- Dados de configuração;- Dados de comunicação;- Documentação do programa e do projeto.
Pagina 13
O SIMATIC Manager
Programação
Estrutura do Projeto: Os dados são armazenados num projeto sob a forma de objetos. Os objetos são organizados no projeto numa estrutura de árvore (hierarquia do projeto). A estrutura em árvore mostrada na janela do projeto, é similar à do Windows Explorer. Somente os ícones dos objetos são diferentes.
Pagina 14
O SIMATIC Manager
Hierarquia do Projeto:
1º. Nível: O primeiro nível contém o ícone do projeto. Cada projeto representa a base de dados onde são armazenados todos os dados relevantes para o mesmo.
2º. Nível: As estações (por ex. estação S7-300) mostram onde estão armazenadas as informações sobre a configuração do hardware e a atribuição de parâmetros aos 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 elaboração dos programas. Todo o software para um módulo parametrizável da gama S7 é armazenado numa pasta “S7 Program”.
Estas 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º. e subseqüentes níveis : Dependem do tipo de objeto do próximo nível superior.
Programação
Existe o ícone designado "SIMATIC Manager" no desktop do Windows, e um item de programa "SIMATIC Manager" dentro do campo SIMATIC no menu Iniciar. O programa é ativado como qualquer aplicação do Windows, através de duplo-click no ícone ou através do menu Iniciar
INICIAR > SIMATIC >
Pagina 15
Iniciando o SIMATIC Manager
Barra de Título: A barra de título contém o título da janela e os botões para controlar essa mesma janela.
Barra de Menu: Contém todos os menus disponíveis para essa janela.
Barra de Ferramentas: Contém as tarefas que são utilizadas com maior freqüência sob a forma de símbolos. Estes símbolos são auto-explicativos. Barra de Status: Mostra o estado de uma determinada aplicação e outras informações.
Barra de Tarefas: A barra de tarefas contém todas as aplicações que estão abertas e janelas como botões. A barra de tarefas pode ser posicionada em qualquer um dos lados da tela através da utilização do botão direito do mouse.
Programação
Pagina 16
Barra de Ferramentas do SIMATIC Manager
Programação
Criando um Projeto: Selecione a opção de menu File > New ou o símbolo na barra de ferramentas para abrir a caixa de diálogo "New“, que permite criar um novo projeto ou uma nova biblioteca. Introduza o nome do projeto no campo "Name" e confirme selecionando "OK“.
Pagina 17
Criando um Projeto no STEP7
Configuração do HW: Os módulos são fornecidos de fábrica com parâmetros pré-selecionados. Se estes parâmetros de fábrica estiverem OK não é necessário fazer a configuração do HW.
É necessário fazer uma configuração:
- se for necessário modificar os parâmetros pré-selecionados ou endereços de um módulo (por ex. ativar a interrupção de hardware de um módulo); - se for necessário configurar redes de comunicação; - se existem estações de periferia distribuída (PROFIBUS-DP); - se existem estações S7-400 com várias CPUs (multiprocessamento) ou bastidores de expansão; - se o controlador lógico programável for do tipo “fault-tolerant” (pacote opcional).
Pagina 18
Configuração do Hardware
Programação
Para inserir uma nova estação de hardware no projeto atual selecione a seqüência de menus Insert > Station > SIMATIC 300 Station ou SIMATIC 400 Station.
O nome automaticamente dado à estação é "SIMATIC 300 (1)“, e pode ser alterado posteriormente.
Pagina 19
Inserindo uma Estação
Programação
Para iniciar a ferramenta de configuração do HW:- selecione uma estação de hardware no SIMATIC Manager e escolha a seqüência de menus Edit > Open Object ou-duplo-clique no objeto Hardware."Hardware Configuration" Janela da aplicação do "HW Config“, utilizada para inserir os componentes da janela "Hardware Catalog". A barra de título desta janela contém o nome do projeto e o nome da estação.
Pagina 20
Inciando o HW Config
Programação
"Hardware Catalog“ Para abrir o catálogo:- selecione a seqüência de menus View > Catalog ou clique no ícone da barra de ferramentas.Se estiver selecionado como perfil de catálogo a opção “Standard”, ficam disponíveis para seleção todos os bastidores, módulos e módulos de interface na janela "Hardware Catalog".É possível criar um catálogo personalizado com os elementos utilizados com maior freqüência, bastando para isso selecionar a seqüência de menus Options -> Edit Catalog Profiles.
Os escravos Profibus que não existem no catálogo podem ser acrescentados. Para isso, deve-se utilizar os arquivos designados GSD, que são fornecidos pelo fabricante do elemento escravo. Os arquivos GSD contêm a descrição do dispositivo. Para incluir o escravo no catálogo de hardware, utiliza-se a seqüência de menus Options > Install New GSD Files e depois Options -> Update Catalog. A partir daí os novos elementos no catálogo podem ser encontrados dentro do campo de dispositivos adicionais Profibus.
Gerar a configuração prevista significa especificar como os módulos devem ser montados no bastidor. No STEP 7 esta configuração é tratada por “setpoint configuration”.
Pagina 21
Gerando a Configuração de Hardware Prevista
Programação
Bastidor: Por exemplo, ao configurar uma estação SIMATIC 300:O catálogo "RACK-300" contém um ícone para um trilho DIN. É possível inseri-lo na janela "Hardware Configuration” com um duplo-clique (ou arrastando-o com o mouse). Aparecem então duas listas de bastidores separadas: uma lista com o tipo de módulos em cima e uma lista detalhada com referências, endereços MPI e endereços de I/O embaixo. Fonte de Alimentação: Pode-se inserir uma fonte de alimentação com um duplo-clique, ou arrastando com o mouse o módulo "PS-300" do catálogo, para o slot nr.1 do bastidor.CPU: A CPU é inserida do catálogo "CPU-300“, no slot nr.2.
Slot Nr. 3: O slot nr. 3 está reservado como endereço lógico para o módulo de interface (para configurações com vários bastidores). Se esta posição deve ser reservada na configuração atual para uma posterior instalação de uma IM, deve-se inserir um módulo DM370 (DUMMY). Módulos de Sinal: A partir do slot nr. 4 é possível inserir uma número máximo de até 8 módulos de sinal (SM), processadores de comunicação (CP) ou módulos de função (FM). Para inserir os módulos no bastidor selecione o slot e depois dê um duplo-clique no módulo desejado contido no catálogo. É possível inserir módulos em qualquer parte da lista arrastando com o mouse.
Atribuindo Parâmetros: Os parâmetros são atribuídos aos módulos para os adaptá-los às necessidades do processo.O que fazer:1. Selecione um módulo na janela da estação. 2. Duplo-clique no módulo selecionado para abrir a janela "Properties".3. Esta janela possui 9 campos nos quais é possível atribuir parâmetros para as diferentes características da CPU (ver
próximas páginas).
Pagina 22
Propriedades da CPU
Programação
Opção "General“: A seção "General" fornece informação sobre o tipo do módulo, sua localização e, no caso dos módulos programáveis, o endereço MPI.
Endereço MPI: Para conectar vários PLCs em rede através da interface MPI é necessário atribuir um endereço MPI diferente a cada CPU. Selecione o botão "Properties" para abrir a janela "Properties - MPI Node", que contém duas seções: "General" e "Parameters".
Pagina 23
Propriedades da CPU: Geral
Programação
Características de Startup: As CPUs do S7-300 e S7-400 têm diferentes características de startup.Por enquanto, vamos ver apenas as características de startup do S7-300.
Pagina 24
Propriedades da CPU: Startup
Programação
Restart Completo: O S7-300 apenas reconhece o "Complete restart". As CPUs mais novas também possuem a versão "Cold restart“.
Tempos Monitorados: "Ready message from modules (x100ms):"Tempo máximo para que todos os módulos enviem uma mensagem de que estão OK após power ON. Se os módulos não enviarem a mensagem de que estão prontos para a CPU dentro deste intervalo de tempo, a configuração atual não é igual à configuração prevista. Por exemplo, numa configuração com vários bastidores, todas as fontes de alimentação podem ser ligadas dentro deste tempo sem se tomar atenção a uma seqüência particular. "Transfer of parameters to modules (x100ms):"Tempo máximo para “distribuir” os parâmetros aos módulos com atribuição de parâmetros (a contagem deste tempo começa quando é enviada a mensagem "Ready message from modules“ para a CPU).Se, decorrido o tempo de acesso, não tiverem sido atribuídos os parâmetros a todos os módulos, então a configuração atual não é igual à configuração prevista.
Startup se as Configurações Prevista e Atual são diferentes: Apenas nas CPUs com interface DP integrada (e S7-400) pode ser utilizada a opção "Startup if preset configuration not equal to actual configuration“, para decidir se a CPU deverá executar o startup mesmo que a configuração prevista não seja igual á configuração atual (número e tipo de módulos instalados).As outros CPUs do S7-300 entram em RUN quando a configuração prevista não é a mesma que a configuração atual.
Memória Retentiva: A seção "Retentive Memory" é utilizada para especificar as áreas de memória que devem ser mantidas após uma falha na alimentação ou numa transição de STOP para RUN. No S7-300 é executado, em ambos os casos, um "complete restart“.
Pagina 25
Propriedades da CPU: Retentividade
Programação
Restart Completo com Bateria de Backup: Num restart completo, os blocos armazenados na RAM retentiva (OB, FC, FB, DB), bem como os bits de memória, temporizadores e contadores definidos como retentivos são mantidos. Só os bits, temporizadores e contadores não-retentivos são resetados.
Restart Completo sem Bateria de Backup: Se não existe bateria para manter a RAM sua informação é perdida. Só os bits de memória, temporizadores, contadores definidos como retentivos, além das áreas dos blocos de dados definidas como retentivas são armazenados em área não-volátil da RAM. Depois de um restart completo sem bateria de backup o programa tem que ser transferido novamente:
- a partir do módulo de memória (se inserido); ou- a partir do PG (se não existir módulo de memória).
Operação: A carga de ciclo para funções de teste é regulado com essa opção: Na opção Process, funções de teste como "Monitor" ou "Monitor/Modify Variable" são limitadas de forma que o aumento do tempo de ciclo permitido não seja excedido. Testes com breakpoints e passos individuais (execução do programa linha a linha) não podem ser executados. Na opção Test, todas as funções de teste possíveis com PG/PC podem ser utilizadas sem restrições, mesmo que provoquem um aumento significativo do tempo de ciclo.
Opção Pré-Definida: Características pré-definidas (nível de proteção 1; não há password atribuído): A posição da chave na CPU determina a proteção: - Chave na posição RUN-P ou STOP: sem restrições- Chave na posição RUN: só é possível o acesso read-only (leitura)!
Pagina 26
Propriedades da CPU: Proteções
Programação
Password: Se foi atribuído um nível de proteção com password (apenas válido até um reset de memória), a pessoa que sabe a password tem acesso para leitura e escrita. A pessoa que não sabe a password tem as seguintes restrições:- proteção nível 1: corresponde às características pré-definidas-proteção nível 2: é apenas possível o acesso read-only, independentemente da posição da chave - proteção nível 3: não é possível nem o acesso para leitura nem o acesso para escrita, independentemente da posição da chave.Características de um Módulo em Operação com Proteção por Password
Exemplo: para executar a função "Modify Variable" deve-se escrever a password para um módulo ao qual foi atribuído o parâmetro de nível de proteção 2. Direitos de Acesso: É possível também introduzir a password para um módulo protegido no SIMATIC Manager:1.Selecione o módulo protegido ou seu programa S72.Introduza a password selecionando a seqüê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.
System Diagnostics: Se o campo "Record cause of CPU STOP" está desativado não é enviada nenhuma mensagem para o PG / OP quando a CPU entra em STOP ("CPU Messages").
De qualquer forma a causa que levou a CPU ao estado STOP é armazenada no buffer de diagnóstico.
Pagina 27
Propriedades da CPU: Diagnótico / Relógio
Programação
Clock: As possibilidades de sincronização dos relógios em rede são apresentadas no capítulo “Solução de Problemas”.
É possível também ajustar automaticamente a hora no relógio de uma CPU independente através de um fator de correção.
Correction Factor: O fator de correção é utilizado para corrigir uma inexatidão do relógio após decorridas 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".
Nota: "Interrupts", "Time-Of-Day Interrupts" e "Cyclic Interrupt" são discutidos no capítulo “Blocos de Organização".
Pagina 28
Propriedades da CPU: Comunicação
Programação
Comunicação: Toda conexão de comunicação ocupa um recurso de conexão (connection resource) na CPU do S7. Dependendo das especificações técnicas um número específico de recursos de conexão está disponível para cada CPU, os quais são ocupados por várias tarefas de comunicação (“PG/OP communication”, “S7 communication” ou “S7 standard communication”).
Quando as tarefas de comunicação efetuam “log on” os recursos de comunicação são distribuídos na seqüência do “log on”.
A ocupação dos recursos de conexão não depende somente da seqüência de “log on” das várias tarefas de comunicação, pois é possível também reservar recursos para as seguintes tarefas:
- “PG Communication”;
- “OP Communication”; e
- “S7 Standard Communication”.
Ao menos um recurso de conexão para “PG/OP Communication” é reservado. Valores menores não são permitidos.
Outras tarefas de comunicação como “S7 Communication” com funções PUT/GET não podem ocupar este recurso de conexão mesmo se elas realizarem sua conexão primeiro. Pelo contrário, os recursos de comunicação ainda disponíveis mas não reservados para uma tarefa são ocupados.
Salvar: Para salvar a configuração atual no projeto atual selecione a seqüência de menus Station >Save (não são criados blocos de dados de sistema - SDBs).
Pagina 29
Salvando a Configuração de HW e Transferindo para o modulo
Programação
Transferência: Selecionando a seqüência de menus PLC > Download ou clicando no ícone da barra de ferramentas é possível transferir a configuração selecionada para o PLC. O PLC tem que estar no estado "STOP“!Blocos de Dados de Sistema: Os SDBs são gerados e modificados quando se configura o hardware.Os blocos de dados de sistema (SDBs) contêm os dados da configuração e os parâmetros do módulo, e são armazenados na memória de trabalho da CPU quando da sua transferência. Isso facilita a substituição de módulos, porque os dados de atribuição de parâmetros são transferidos para o novo módulo a partir dos blocos de dados de sistema no startup da CPU. No terminal de programação, os blocos de dados de sistema são armazenados no caminho: Project \ Station \ CPU \ S7_program \ Blocks \ System_data.Para abrir a lista de blocos de dados de sistema dê um duplo-clique no ícone
Se estiver utilizando um módulo Flash EPROM, os SDBs também devem ser nele armazenados. Assim sendo, a configuração não se perde se estiver trabalhando sem bateria de back-up e ocorrer uma falha na alimentação da CPU.
Pagina 30
Tipos de Blocos de Programa
Programação
Blocos: O Controlador Lógico Programável oferece vários tipos de blocos nos quais o programa do usuário e seus dados podem ser armazenados. Dependendo das necessidades do processo este programa pode estar estruturado em diferentes blocos.
Função FC, SFC: Uma função (FC) contém uma parte funcional do programa. É possível programar funções de modo que sejam parametrizáveis. Com isso as funções são ideais para serem reutilizadas no programa, e para realizarem tarefas complexas como cálculos.Funções de sistema (SFC) são funções parametrizáveis integradas ao sistema operacional da CPU. Seu número e funcionalidade são fixos.
Bloco de Função FB, SFB: Basicamente os blocos de função oferecem as mesmas possibilidades que as funções. Adicionalmente, os blocos de função possuem sua própria área de memória, sob a forma de blocos de dados instance (instance data blocks). Com isso as funções são ideais para serem reutilizadas no programa, e para realizarem tarefas complexas como controle em malha fechada.Blocos de Funções de Sistema (SFB) são funções parametrizáveis integradas ao sistema operacional da CPU. Seu número e funcionalidade são fixos.
Blocos de Dados: Blocos de Dados (DB) são áreas de dados do programa do usuário nas quais os dados relativos ao mesmo são gerenciados de maneira estruturada.
Operações Permitidas: A utilização de todas as operações é possível em todos os blocos (FB, FC e OB).
OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário.
Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por interrupções.
Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de OB´s especiais.
Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento cíclico do programa.
O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC (salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto.
A OB será chamada ciclicamente pelo sistema operacional. Ou seja, os blocos de aplicação devem chamados dentro de uma OB (Organization Block) para serem executados. Uma FB ou FC não irá fazer nada se não for chamada por uma OB.
A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S7-300.
Pagina 31
Blocos integrados e as suas funções
Programação
O tipo de OB é definido por seu numero.
Executados continuamente (OB1 apenas):
Executados Periodicamente: S7 provê até nove cíclico interrupção OB´s (OB30 para OB38) que interrompem seu programa em intervalos fixos.
Pagina 32
OB – Bloco de Organização
OB1 Programa de execução cíclico
OB30 Cíclico interrupção (falha intervalo: 5s)
OB31
OB32
OB33
OB34
Tabela 01 – Avaliação de Blocos de Organização Integrados
Programação
OB35
OB36
OB37
OB38
Cíclico interrupção (falha intervalo: 2s)
Cíclico interrupção (falha intervalo: 1s)
Cíclico interrupção (falha intervalo: 500ms)
Cíclico interrupção (falha intervalo: 200ms)
Cíclico interrupção (falha intervalo: 100ms)
Cíclico interrupção (falha intervalo: 50ms)
Cíclico interrupção (falha intervalo: 20ms)
Cíclico interrupção (falha intervalo: 10ms)
Exemplo de programa utilizando vários OB´s cíclico interrupção conforme suas prioridades de tempo.
A definição de onde colocar uma determinada lógica depende da necessidade do programa, existem lógicas que são mais rápidas e precisam de um ciclo de execução mais veloz, assim como existem aquelas que podem ser executadas com menos freqüência. Por exemplo, OB33 pode sofrer um pequeno atraso que não irá interferir no processo, já OB36 ex: atualização das saídas exige uma resposta muito mais rápida. Desta forma vamos dividir os programas de acordo com sua função e com a sua velocidade de execução.
Pagina 33
OB – Bloco de Organização
Programação
Figura – Tipos de OB´s e suas chamadas
O tipo de OB é definido por seu numero.
OB´s de erros Assíncronos:
Pagina 34
OB – Bloco de Organização
OB80 Máx tempo de varredura excedido
OB81 Falha da bateria de backup
OB82 Quebra de fio na entrada de um módulo com capacidade de interrupção
OB83 Removendo um módulo de sinal durante o modo RUN
OB84 Nível de sinal de falha na interface MPI
Programação
OB85 Erro na atualização da imagem de processo (módulo com defeito)
OB86 Defeito em fonte de alimentação de bastidor de expansão
OB87 Identificador de mensagem incorreta (Erro de comunicação)
Exemplo de programa utilizando OB de Erros Assíncrono.
Inserindo um Bloco: Selecione a seqüência de menus Insert > S7 Block > OB81 > linguagem STL
Pagina 35
OB – Bloco de Organização
Programação
Figura – Tipos de OB´s e suas chamadas
Exemplo de programa utilizando OB de Erros Assíncrono.
Tarefa: O defeito na bateria deve resultar na amostragem de um erro no console operacional. Depois de trocada a bateria a mensagem deve automaticamente desaparecer.
Descrição: Em erros de fonte de alimentação p.ex. falha de bateria, OB 81 de erro é chamado uma vez pelo sistema operacional. Depois do erro ser eliminado o OB81 é chamado mais uma vez.
No programa exemplo, a variável #OB81_FLT_ID é avaliada, de forma a determinar se existiu um defeito na bateria. Neste caso a variável contém o valor 22H. A comparação desta forma é preenchida e o bit de memória M81.1 é acionado.
O erro mostrado será iniciado quando a bateria tiver falhado (entrando evento) e limpada depois que o erro tenha sido eliminado (saído evento).
Os seguintes identificadores estão na variável #OB81_EV_class
Ou seja: B#16#39 entrando evento
B#16#38 saindo evento.
O “SET” e o “RESET” do FLAG de memória auxiliar M81.0 é o arquivado através da avaliação destas variáveis.
No programa cíclico p.ex. OB1, o FLAG de memória auxiliar M81.0 pode ser lincado à uma memória geradora de pulso e ser atribuída a uma saída.
A saída então piscará enquanto a bateria estiver esgotada ou removida.
Pagina 36
OB – Bloco de Organização
Programação
Exemplo de programa utilizando OB de Erros Assíncrono.
Área de dados do OB 81:
Pagina 37
OB – Bloco de Organização
Programação
Exemplo de programa utilizando OB de Erros Assíncrono.
Pagina 38
OB – Bloco de Organização
Programação
O tipo de OB é definido por seu numero.
OB´s STARTUP “partida”: Na Tabela seguinte, pode ser observado que é chamado OB pelo sistema operacional durante partida.
OB 121 erro de programação: O sistema operacional do CPU chama OB121 sempre que um evento acontece isso é causado por um erro relacionado ao processo do programa. Por exemplo, se seu programa chama um bloco que não esteve carregado no CPU, OB121 é chamado.
OB 122 erro de acesso as E/S: O sistema operacional do CPU chama OB122 sempre que um erro acontece enquanto dados esta sendo acessado em um módulo. Por exemplo, se o CPU descobre a leitura de erro quando dados esta sendo acessado em um módulo de E/S, o sistema operacional chama OB122.
Pagina 39
OB – Bloco de Organização
OB100 Procedimento de RESTART manual (STOP-RUN)
OB102 Procedimento de RESTART após recuperar energia
OB121 Removendo um módulo de sinal durante o modo RUN
OB122 Nível de sinal de falha na interface MPI
Programação
Pagina 40
Estrutura do Programa
Programação
Programa Linear: O programa completo se encontra em um bloco contínuo. Este modelo assemelha-se ao de um controle feito com relês, e que foi substituído por um controlador lógico programável. A CPU processa as instruções individuais uma após a outra.
Programa Particionado: O programa está dividido em blocos, dentro dos quais cada bloco contém somente um programa destinado a solucionar uma tarefa parcial. Internamente também é possível particionar o bloco através de segmentos (networks). É possível gerar padrões para networks do mesmo tipo.O bloco de organização OB 1 contém instruções para a chamada de outros blocos numa seqüência definida.
Programa Estruturado: Um programa estruturado contém blocos com parâmetros, ou parametrizáveis. Estes blocos são criados de forma a serem utilizados universalmente. Ao realizar a chamada de um bloco parametrizável são fornecidos parâmetros (os endereços exatos de entradas e saídas, e assim como de valores de parâmetros). Exemplo:• Um bloco “Bomba” possui instruções para o controle de uma bomba.• Os blocos de programa responsáveis pelo controle de bombas especiais chamam o bloco “Bomba” e transferem informações à respeito de qual bomba será controlada e com quais parâmetros.• Quando o bloco “Bomba” completa a execução de suas instruções o programa retorna para o bloco onde foi feita a chamada (por ex. OB 1), e o processamento das instruções continua.
Pagina 41
Estrutura do Programa
Programação
Pagina 42
Inserindo um bloco S7
Programação
Inserindo 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 compõem a interface entre o sistema operacional e o programa do usuário.
• Funções (FC) e blocos de funções (FB) contêm o programa atual do usuário. Eles permitem que um programa complexo seja dividido em unidades pequenas e fáceis de compreender.
• Os blocos de dados (DB) contêm os dados do usuário.
Após escolhido o tipo de bloco a caixa de diálogo "Properties" se abre para que se possa especificar o número do bloco e a linguagem de programação a ser utilizada (LAD, STL ou FBD).
Efetuando as escolhas e confirmando com o botão "OK” o novo bloco é inserido no programa atual.
Pagina 43
Iniciando o Editor
Programação
Inicia-se o Editor LAD/STL/FBD selecionando Start > 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.Faça um duplo-clique num bloco qualquer para abrir o Editor.
Elementos do Programa: Utilizando as linguagens de programação LAD e FBD pode-se inserir elementos gráficos simples de programação diretamente a partir da barra de ferramentas.
Clique no ícone "Program Elements" para abrir a outra janela contendo mais elementos de programa. O conteúdo desta janela depende da linguagem de programação selecionada (LAD/FBD/STL).
Pagina 44
Componentes do Editor LAD/STL/FBD
Programação
Componentes Iniciando o Editor LAD/STL/FBD aparecem automaticamente duas janelas: a tabela de declarações e a seção de programa. O usuário pode abrir também uma terceira janela, designada "Program Elements".
Tabela de Declarações: A tabela de declarações pertence ao bloco. É utilizada para declarar variáveis e parâmetros para o bloco.
Seção de Programa: A seção de programa contém o próprio programa, dividido em segmentos separados (networks) se necessário. Durante a edição as entradas são analisadas para que a sintaxe fique correta.
Elementos de Programa: O conteúdo da janela "Program Elements" depende da linguagem de programação selecionada. Para que os elementos desta lista possam ser inseridos no programa selecione o elemento com o cursor e faça depois um duplo-clique no mesmo.Pode-se também inserir estes mesmos elementos arrastando-os com o mouse.
Pagina 45
Componentes do Editor LAD/STL/FBD
Programação
Introdução: Existem várias linguagens de programação em STEP 7, que podem ser usadas dependendo da preferência e conhecimento. Aderindo a regras específicas, o programa pode ser criado em Lista de Instruções e depois convertido para outras linguagens de programação.
LAD: A representação em Diagrama de Contatos é muito similar a um diagrama de circuito elétrico. São utilizados símbolos como contatos e bobinas. Essa linguagem de programação é preferida por aqueles que “cresceram” com os contatores.
STL: A Lista de Instruções é composta por instruções STEP 7. Pode-se programar de uma forma praticamente livre em STL (algumas vezes ao ponto de já não conseguir seguir mais o programa). Esta linguagem de programação é preferida pelos programadores que já estão familiarizados com outras linguagens de programação.
FBD: O Diagrama de Blocos de Funções utiliza “caixas” para as funções individuais. O caractere na caixa indica a função (por ex. Temporizasores). Essa linguagem de programação tem a vantagem de que até um “não programador” como por exemplo um engenheiro de processo pode trabalhar com ela. O Diagrama de Blocos de Funções está disponível desde a Versão 3.0 do Software STEP7.
Pagina 46
Operações Lógicas Básicas
Programação
Instruções de BIT: As instruções de BIT trabalham com dois valores, 1 e 0. Com instrução na forma de um contato ou de uma saída, 1 indica ativado ou energizado; 0 indica desativado ou desenergizado. Instruções de BIT interpretam o estado do sinal 0 ou 1 e o combina de acordo com a lógica booleana. O resultado destas combinações é 0 ou 1, denominado como “Resultado da Operação Lógica” (RLO)
Pagina 47
Operações Lógicas Básicas
Programação
Instruções para Setar, Resetar e Salvar: A função “flip-flop” consiste de operações de SET e RESET. As operações de Set e Reset somente são executadas quando RLO=1. Quando o RLO=0, o estado atual permanece inalterado. Se a condição para ambos, set e reset são verdadeiros simultaneamente, então em STL, a instrução programada por último tem prioridade. Em LAD e FBD é possível selecionar o bloco com prioridade na entrada setar ou na entrada resetar.
Pagina 48
Operações Lógicas Básicas
Programação
Instrução Flanco de Impulso: A avaliação do flanco de impulso é freqüentemente necessária em um programa, narealidade, sempre quando no programa uma entrada muda para ON ou para OFF, ou quando o endereço é setado ou resetado.
Flanco de Impulso Positivo: Quando a entrada I1.0 muda seu estado de 0 para 1, como mostrado na figura ao lado, a instrução FP identifica esta mudança de estado, denominada de flanco de impulso positivo, e resulta em um RLO=“1” por somente um ciclo, ocorrendo um pulso de largura de um ciclo na saída Q8.0. Para uma instrução FP, uma memória auxiliar (flag) deve ser especificada (pode também ser bit de dados) no qual o estado do RLO é arquivado. Esta é a maneira pela qual uma mudança de sinal pode ser identificada no próximo ciclo.
Flanco de Impulso Negativo: Para um flanco de impulso negativo, o pulso de scan ocorre quando o RLO muda de “1” para “0”.O símbolo para isto em STL é o “FN”, e em LAD, existe a letra “N” no símbolo de saída.
Pagina 49
Exercício: Chave selecionadora de bombas
Programação
Figura – Circuito de força de duas motor-bombas
Dispositivo de entrada nívelCPU S7-315 DP
Botão A NAEndereço
I0.1 0
Dispositivo de saídaContatora C1 Q0.5
tabela – Endereços e nível lógico dos dispositivos de E/S.
Botão B NA I0.2 0
Contato rele térmico2 NA 0
3 ~
R1
C1
3 ~
R2
C2
Contato rele térmico1 NA 0
Chave duas posições I0.0 0 ou 1
Contatora C2 Q0.6
Botão C NA I0.3 0Botão D NA I0.4 1
Para aprender a programar o CLP S7-300 vamos desenvolver Lógica Ladder para acionar o circuito de força de duas motor-bombas conforme figura abaixo e as duas devem ser selecionadas para ligar/desliga por uma chave de duas posições de sinal lógico (0 e 1) Obs Os Reles térmicos 1 e 2 quando acionados deverão desabilitar as instruções de saídas independente da posição da chave seletora. Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.
Pagina 49
Exercício: Chave selecionadora de bombas
Programação
Solução: Passo 2
Construção do Fluxograma Analítico.
OB1
Bloco Cíclico
não
SIM
Posicionar chave para motorbomba 1
Rele Térmico 1Normal?
Posicionar chave para motorbomba 2
Rele Térmico 2Normal?
Aciona Contatora K1
Partida ou Parada do
motor-bomba 1?
STARTSTOP
Aciona Botão A
Desaciona Contatora K1
Aciona Botão B ou Rele Térmico 1
Aciona Contatora K2
Partida ou Parada do
motor-bomba 2?
STARTSTOP
Aciona Botão C
Desaciona Contatora K2
Aciona Botão D ou Rele Térmico 2
SIM
não
Pagina 49
Exercício: Chave selecionadora de bombas
Programação
O Que Fazer 1. Configuração do Hardware
2. File new > chave selecionadora
3. Insert > STATION > 2.simatic 300 station
4.Selecione simatic 300 e com mouse clicar 2X e 2X sobre Hardware
5. Clicar sobre CPU-300 > CPU-313 > 6ES7 313-1AD03-0AB0 > V1.2 e arrastar com o mouse para slot 2 do rack na area de trabalho
6. Clicar sobre SM-300 > DI/DO-300 > SM323 DI16/DO16 x 24V/ 0,5ª e arrastar com o mouse para slot 4 do rack
7. Clicar sobre AI/A0-300 > SM334-AI4/A02 e arrastar para slot 5 do rack
8. Salve e feche HW config
Pagina 50
Exercício: Chave selecionadora de bombas
Programação
. Configuração do Hardware:
Pagina 51
Exercício: Chave selecionadora de bombas
Programação
O Que Fazer 1. No SIMATIC Manager, insira um bloco novo OB1 Clicar sobre Block com mouse direito > inset new object > organization block
2. Clicar 2 X sobre o bloco OB1 e mudar para linguagem Ladder (LAD)
3. Edite o Network 1 do OB1 ( conforme a figura)
4. Adicione um novo Network usando e programe o Network2 (conforme a figura).
5. Salve o bloco offline usando
6. Configure a interface de comunicação conforme a figura.
Pagina 52
Exercício: Chave selecionadora de bombas
Programação
O Que Fazer
7. Transfira o bloco para a CPU usando
Pagina 53
Exercício: Chave selecionadora de bombas
Programação
Programa OB1:
Pagina 54
Efetuando Download
Programação
Transferindo
Pode-se transferir blocos para o CPU com o SIMATIC Manager: •clicando no ícone ou
•selecionando a opção de menu PLC > Download.
Antes de fazer isto deve-se selecionar os blocos a se transferir:
• Todos os Blocos: Selecione o objeto "Blocks“ na parte esquerda da janela do projeto.
• Alguns Blocos: Pressionando a tecla CTRL e selecionando os blocos.
• Um Bloco: Selecionando o Bloco.
Pagina 55
Teste simples de Programa
Programação
Ativação / Desativação: Existem duas maneiras de ativar / desativar a função de teste “Monitor":
• clique no ícone
• selecione a opção de menu Debug > Monitor.
Visualização: O status do programa é mostrado de maneira diferente dependendo da linguagem de programação selecionada (LAD/STL/FBD).Quando a função de teste é ativada não é possível mudar a linguagem de programação do bloco que está sendo analisado (LAD/FBD/STL).
Pagina 56
Temporizadores
Programação
Temporizadores: O S7 oferece três opções de temporizadores com atraso (delay timer):.
On-Delay Timer S_ODT: Retardo na Energização
Off-Delay Timer S_OFFDT: Retardo na Desenergização
Retentive On-Delay S_ODTS: Retardo na Energização com Retenção
Pagina 57
Temporizadores
Programação
Temporizadores: O S7 oferece duas opções de temporizadores de pulso:.
Pulse S_PULSE: Pulso
Extended Pulse S_PEXT: Pulso Extendido
Pagina 58
Exercício: Sinalizador oscilante para falta de bateria CPU
Programação
Objetivo: O objetivo desse exercício é o desenvolvimento com 2 temporizadores no bloco OB1 um oscilador para sinalizar a falta de bateria (OB81) na CPU. Ver o bit de saida M81.0 do bloco OB81 pagina 38.
Pagina 59
Contadores
Programação
Contadores: As três opções de contadores existentes são descritos a seguir. Uma área de memória é reservada para os contadores. Esta área de memória reserva uma palavra de 16 bits para cada endereço de contador até 256 (dependendo da capacidade da CPU). O valor máximo presetado é 999 (BCD).
. Contador Crescente S_CU: Com um “flanco de impulso” positivo na entrada S, o contador é setado com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta crescentemente a cada vez que existe um flanco de impulso positivo na entrada CU. A saída Q é sempre 1, enquanto o valor de CV não for igual a 0. Se houver um flanco de impulso positivo na entrada R o contador é resetado, isto é, o contador é setado com o valor 0.
Contador Decrescente S_CD: Com um “flanco de impulso” positivo na entrada S, o contador é setado com o valor da entrada SC. Iniciando com 0 ou SC, o contador conta decrescentemente a cada vez que existir um flanco de impulso positivo na entrada CD. A saída Q é sempre 1, enquanto o valor CV não for igual a 0. Se houver um flanco de impulso positivo na entrada R o contador é resetado, isto é, o contador é setado com o valor 0.
Up / Down Counter S_CUD: Combinação de contadores crescente e decrescente.
Pagina 60
Comparadores
Programação
Comparação: Com as instruções de comparação, você pode comparar os seguintes pares de valores numéricos. - dois inteiros (cada um com 16 bits) - dois inteiros duplos (cada um com 32 bits) - dois números reais (IEEE número de ponto flutuante, cada um com 32 bits)
Relação: Todas as instruções de comparação comparam os valores IN1 e IN2 baseados nas seguintes relações: - IN1 é igual a (==) IN2. - IN1 é diferente de (<>) IN2 - IN1 é maior que (>) IN2 - IN1 é menor que (<) IN2 - IN1 é maior que ou igual a (>=) IN2 - IN1 é menor que ou igual a (<=) IN2
RLO: Se a comparação é satisfeita, o resultado da operação lógica é 1.
Pagina 61
Instruções para Bits
Programação
Temp. Off-Delay SF: Se o RLO muda de 1 para 0, o temporizador SF é inicializado. Se o RLO mudar de 0 para 1, o temporizador é resetado. O temporizador não é completamente reinicializado até que até que o RLO mude de 1 para 0.
Temp. de Pulso SP: Se o RLO muda de 0 para 1, o temporizador SP recebe o valor do tempo. O temporizador funciona com tempo específico, contanto que RLO = 1. Se o RLO mudar de 1 para 0 com o temporizador funcionando, o temporizador para.
Temp. Pulso Extendido SE: Se o RLO muda de 0 para 1, o temporizador SE recebe o valor do tempo.O temporizador funciona por um período específico, até mesmo se o RLO mudar para0 antes que o temporizador pare. Se o RLO muda de 0 para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador esteja funcionando.
Pagina 62
Instruções para Bits
Programação
Temp. On-Delay Retentivo SS: Se o RLO muda de 0 para 1, o temporizador SS recebe o valor de tempo.O temporizador funciona com o tempo especificado, até mesmo se o RLO mudar novamente para 0 antes que o temporizador pare de funcionar. Se o RLO mudar de 0 para 1, o temporizador é setado novamente. O estado do sinal do tempo de scan resulta em RLO = 1, contanto que o temporizador esteja funcionando.
Contador Crescente CU: A bobina CU incrementa de 1 o valor de um contador específico, se o RLO mudar de 0 para 1.
Contador Decrescente CD: A bobina CD decrementa de 1 o valor de um contador específico, se o RLO mudar de 0 para 1.
Pagina 63
Exercício: Esteira Transportadora
Programação
Dispositivo de entrada nívelCPU S7-315 DP
Botão A NAEndereço
I0.1 0
Dispositivo de saídaContatora C1 Q0.5
tabela – Endereços e nível lógico dos dispositivos de E/S.
Emergência NF I0.2 1
Sensor S1 NA I0.0 0I0.3 0
C1 contatora
Figura – Circuito de força de um motor da esteira
3 ~
R1 Rele termico
S1 Sensor
Desejamos construir a Lógica LADDER para o acionamento; através do botão (I0.1); de uma esteira transportadora de peças conforme figura;e a mesma deverá contar 10 peças através do sensor S1 (I0.0) e após a contagem deverá desligar o motor da esteira (Q0.5) e resetar o contador. Obs independente do sensor contar 10 peças o motor deverá ser desligado caso seja acionado o rele térmico R1 (I0.3) ou parada de emergência (I0.2) Solução:Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.
Contato rele térmico1 NA
Pagina 64
Exercício: Esteira Transportadora
Programação
OB1Bloco Cíclico
não
SIM
Rele térmico 1 ou botão de emergência
normal ?
Aciona Botão A
Desabilita motor e RESET contador
Aciona motor Contador = 10 peças ?
SIM
não
Habilita Sensor
Solução: Passo 2
Construção do Fluxograma Analítico.
Pagina 65
Programação
Programa OB1:
Exercício: Esteira Transportadora
Pagina 66
Instrução CALL
Programação
A instrução “Call” é utilizada para disparar a execução de um outro bloco lógico. Na figura abaixo quando o 1°. bloco encontra a instrução Call, o programa interrompe a execução deste bloco e passa a executar a 1ª. instrução do bloco chamado. Após ser executada a última instrução do bloco chamado, o programa retorna ao bloco chamador e continua a sua execução logo após a instrução Call.
Chamada em LADsem parâmetros
Chamada em LADcom parâmetros
Pagina 67
Instrução CALL
Programação
EN/ENO: Em Diagrama de Contatos (LAD) e em Blocos Funcionais (FBD) existe um sinal de habilitação do bloco (EN), isto é, o bloco é executado se e somente se o RLO=1 nesta entradaPossui também uma saída correspondente (ENO), que indica o se o bloco foi executado corretamente.
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).
Vista Geral: Funções (FC) representam parâmetros atribuíveis de blocos sem memória. No STEP 7 eles podem ter muitos parâmetros de entrada (input), parâmetros de saída (saída) e parâmetros de entrada/saída (in/out) conforme necessidade.Funções são primariamente usadas quando valores de funções são retornadas da chamada dos blocos (p.ex.: funções matemáticas, controle simples com operações lógicas binárias).
Instrução Chamada: Em uma chamada de FC, uma informação direta de troca entre o bloco chamado e a função chamada somente é possível via chamada EN/ENO ou CALL (sem parâmetros) ou com parâmetros.
Pagina 68
FC – Função
Programação
Variáveis temporárias podem ser utilizadas em todos os blocos (OB, FC, FB). Elas são utilizadas para armazenar informações temporariamente enquanto o bloco está sendo executado. Os dados são perdidos quando é finalizada a execução do bloco.
Pagina 68
FC – Função – Variáveis Temporárias
Programação
Pagina 69
Chamando um FC no OB1
Programação
Execução Cíclica:Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura abaixo). Na linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL.
Pagina 70
Exercício: Partida Direta com Reversão
Programação
Dispositivo de entrada nívelCPU S7-315 DP
Botão A NF DiretoEndereço
I0.0 1
Dispositivo de saídaContatora K1 Q0.5
tabela – Endereços e nível lógico dos dispositivos de E/S.
Botão B NF Reversão I0.1 1
I0.5 0
I0.3 1
Desejamos construir a Lógica LADDER para o acionamento do motor M1; através do botão (I0.0) Partida direta e botão (I0.1) Reversão.Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela.
Contatora K2 Q0.6
Contato rele térmico1 NA
Auxiliar K1 NFI0.4 1Auxiliar K2 NF
Pagina 71
Exercício: Partida Direta com Reversão
Programação
FC1
Bloco Cíclico
não
SIM
Rele térmico 1 normal ?
Habilita K1
Solução: Passo 2
Construção do Fluxograma Analítico.
OB1
CALL FC1
Direto
Direto ou Reverso ?
Habilita K2
Reverso
Desabilita K1 ou K2
Pagina 72
Exercício: Partida Direta com Reversão
Programação
1º Passo – Criar a função exemplo FC1 – Insert New Objeto Function FC1 LAD2º Passo – Clicar sobre FC1 e criar a logica Ladder como na figura abaixo.
Pagina 73
Exercício: Partida Direta com Reversão
Programação
3º Passo – Clicar sobre OB1 e arrastar FC1 para Network1 conforme a figura.
Pagina 74
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
Desejamos construir a Lógica LADDER para o acionamento de 3 motores (M1,M2,M3) em sequência após Partida do botão (I0.0). Usar Função Parametrizada para a logica de Partida Direta com Reversão.
Após 2s libera motor 2
Após 2s libera motor 3
Após 2s libera motor 1
Pagina 75
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
1º Passo – Criar a função exemplo FC1 – Insert New Objeto Function FC1 LAD2º Passo – Clicar sobre FC1 e declarar as variaveis.
Pagina 76
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
3º Passo – Após declarar as variavéis criar a logica LAD Partida Direta com Reversão e Inserir Symbol (variaveis declaradas) sobre os endereços das Instruções conforme a figura.
Pagina 77
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network1 e inserir saída m0.0 conforme a figura.
Motor 1
Pagina 78
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
5º Passo – Inserir BIT m0.0, temporizador S_ODT ,arrastar FC1 parametrizado para Network2 e inserir saída m0.1 conforme a figura.
Motor 2
Parâmetros iguais, endereços diferentes.
Pagina 79
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
6º Passo – Inserir BIT m0.1, temporizador S_ODT e arrastar FC1 parametrizado para Network3 conforme a figura.
Motor 3
Parâmetros iguais, endereços diferentes.
Pagina 80
Exercício: Partida Seqüencial de 3 motores c/ Direta com Reversão
Programação
4º Passo – Clicar sobre OB1 inserir BIT i0.0, temporizador S_ODT e arrastar FC1 parametrizado para Network1 conforme a figura.
Motor 1
Vista Geral: Blocos de Funções (FB) são blocos do programa do usuário e representam, de acordo com a IEC Standard 1131-3, blocos lógicos com memória. Eles podem ser chamados por OBs, FBs e FCs.
Diferentemente dos FCs, os FBs são inicializados, isto é, um FB é determinado por sua própria área de dados privada, por exemplo, pode “lembrar“ estados do processo de chamada para chamada. De forma simple, esta área de dados privados é seu próprio DB, o chamado DB instance.
Memória: O programador tem a oportunidade para declarar variáveis estáticas na seção de declaração do FB. O FB pode „lembrar" informações de chamada para chamada nestas variáveis. A possibilidade para um FB "lembrar" informações sobre diversas chamadas é a diferença essencial dos FCs.
Aplicações: Com a ajuda desta “memória“, um FB pode, por exemplo, implementar funções de contagem e temporização ou unidades de controle de processos, tal como estações de processamento, acionamentos, aquecedores, etc.Em particular, FBs são adequados para controle de todas unidades de processo cuja performance depende não somente de influências externas mas também em estados internos, tal como processamento passo-a-passo, velocidade, temperatura, etc. Quando controles como unidades, os dados de estado interno das unidades de processo são então copiadas para variáveis estáticas dos FBs.
Pagina 39
FB – Bloco de Função
Programação
Formação Instance dos Blocos de Funções
Drive_1
FBx
+
DBy
Dados de estados p/ Drive_1
Algorítmosp/ controle
OB, FB or FC
chamada FBx, DBy......
Chamada de FB com DB Instance
chamada#Motor_1
.
chamada#Motor_2
DBx
...stat Motor_1 FBxstat Motor_2 FBx
Dados de estados p/ Drive_2
Dados de estados p/ Drive_3
FBx
FB Instance
Algorítmosp/ controle
FB
Drive_2
Drive_3
Declarações dentro de FBs(Multi-instances)
O conceito de FB com instance tem grande importância e estabelece o critério essencial de distinção com os FCs. A definição das variáveis dentro de linguagens de alto nível como “C” sob declaração de nomes de variáveis e tipos de dados na declaração é chamado de “instance”.A mesma forma de variáveis são também criadas nos FBs. Somente através desta ‘própria’ área de dados, na qual os valores dos parâmetros do bloco bem como variáveis estáticas são armazenadas, isto torna um FB a ser uma unidade executável (FB instance).
Pagina 39
FB – Bloco de Função
Programação
Pagina 46
Chamando um bloco no OB1
Programação
Execução Cíclica:Para que um novo bloco criado seja parte integrante da execução cíclica do programa da CPU ele deve ser chamado no OB1. A forma mais fácil de inserir a chamada de um bloco graficamente em LAD e FBD é através da lista de instruções já conhecida (ver figura acima). Na linguagem de programação STL a instrução para a chamada de um bloco é a instrução CALL.
Pagina 22
STEP 7 –
Programação
Para solucionar tarefas complexas se faz necessário dividi-las em pequenas partes. Estas partes serão chamadas de blocos de programa. Cada bloco de programa irá executar uma parte da tarefa e estas partes serão gerenciadas por um único bloco de organização.
Pagina 14
Estrutura de Programação
PB´s
FB´s
Programação
A linguagem STEP-5 apresenta os seguintes tipos de blocos, para a formação de um programa estruturado:
OB (Bloco de Organização): organiza os blocos de controle, pode ser considerado o Programa Principal (OB1). Podem ser numerados de 0 a 255 - OB0 a OB255.
PB (Bloco de Programa): são blocos utilizados para a programação das partes da tarefa a ser executada. Podem ser numerados de 0 a 255 - PB0 a PB255.
FB (Bloco de Função): são utilizados quando uma parte da tarefa exige operações avançadas ou suplementares. Também utilizado onde uma determinada tarefa se torne repetitiva no programa. Podem ser numerados de 0 a 255 - FB0 a FB255. Existem FB's que são padronizados para determinadas tarefas. (PID, posicionamento, conversão numérica, etc..)
DB (Bloco de Dados): são áreas de memória, onde podem ser armazenados dados. Dados estes que poderão ser utilizados pelos FB's, temporizadores, contadores, comparadores, etc.
Pagina 15
Estrutura de Programação
Programação
OB (Bloco de Organização): Os blocos tipo OB são em geral os responsáveis pela organização do programa do usuário.
Tem-se blocos de organização para o processamento cíclico do programa, para o processamento comandado por tempo e por interrupções.
Os procedimentos de partida da CPU e sua reação em caso de falhas podem ser também influenciados pela programação de OB´s especiais.
Podemos dizer porém que o bloco de organização mais importante é o OB1. Este bloco é o responsável pelo processamento cíclico do programa.
O bloco de organização OB1 é chamado pelo sistema operacional da CPU. Assim que a instrução JU (salto incondicional) ou JC (salto condicional) é encontrada, o programa linear é deixado e passa a ser executado o bloco chamado pelas instruções de salto. No término da execução deste bloco temos o retorno á instrução seguinte no OB1 que originou o salto.
A Tabela 03 seguinte lista os blocos de organização integrados no CLP SIMATIC S5-95U.
Pagina 16
Blocos integrados e as suas funções
Programação
OB (Bloco de Organização)
Pagina 17
OB – Bloco de Organização
OB1 Programa de execução cíclico
OB3 Execução de programa driver-interrupção
OB13 Execução de programa controlada-tempo
OB21 Procedimento de RESTART manual (STOP-RUN)
OB22 Procedimento de RESTART após recuperar energia
OB34 Procedimento depois de falha de bateria
OB já é programado; OB deve ser chamado através de programa de usuário
OB31 Disparo por tempo de scanneamento
OB251
OB Função
OB deve ser programado pelo usuário; chamado por sistema operacional
Algoritmo PID
Tabela 03 – Avaliação de Blocos de Organização Integrados
Programação
Numeração dos SLOT´s
O CLP poderá ter no máximo quatro trilhos. Poderão ser utilizados 16 unidades de bus (32 slots). Os slots são numerados em sequência. A numeração começa no "0", sendo este o slot ao lado da CPU. Se existe ou não um módulo conectado a unidade de bus, não faz diferença, a numeração dos slot´s será a mesma.
Módulos Digitais
Os módulos digitais podem ser plugados em todos os slot´s (de 0 a 31). Somente dois estados de sinais (0 ou 1, ON ou OFF) podem ser transferidos por canal do módulo à CPU ou da CPU ao módulo. Cada canal do módulo digital mostra apenas um bit. Por esta razão que devem ser numerados.
Módulos Analógicos
Os módulos analógicos deverão ser montados entre os slot´s de 0 a 7. A memória requerida será de 16 bits = 2 bytes = 1 WORD ou palavra. Os módulos são endereçados byte a byte ou WORD a WORD através das operações de carga (L) ou transferência (T).
Pagina 18
Definição de endereço CPU S5 95U
Endereçamento
Os elementos que constituem E/S diferem por meio de um endereço sem igual associado a cada um deles
Endereçamento dos Periféricos E/S Integrados
Pagina 19
Endereçamento e acesso aos Periféricos E/S
Endereçamento
Função Entradas Saídas
Periféricos Digital IntegradosI 32.0 – I 32.7I 33.0 – I 33.7
Q 32.0 – Q 32.7Q 33.0 – Q 33.7
Periféricos Analógicos IntegradosIW 40,IW 42, IW 44, IW46, IW48,
IW 50, IW54QW 40
Interrupçôes (alarmes) I 34.0 – I 34.3 --------------------
ContadoresContador A IW 36Contador B IW 38
--------------------
O controlador programável pode ter um máximo de quatro trilhos.O S5-95U tem um máximo de 16 unidades de BUS (32SLOT´s).
Os SLOT´s são numerados consecutivamente. A numeração começa com " 0 " e é o slot ao lado do controlador programável (CPU). Se um módulo é plugado ou não isso não tem nenhum efeito na numeração.
Há dois tipos de módulos digitais com ranges de endereços diferentes:
• módulos Digitais com quatro ou oito canais podem ser plugados em SLOT´s 0 a 31
• módulos Digitais com mais de oito canais podem ser plugados em SLOT´s 0 a 7
Pagina 20
Numerando SLOT´s
Endereçamento
Figura 13 – Endereçando Módulos Digitais com Quatro ou Oito Canais
Cada canal de um módulo digital é representado por um BIT. Esta é a razão que todos BIT´s deve ser nomeado seu próprio número. Use a forma seguinte para um endereço digital:
Exemplo: Um modulo de saída de 8 bit´s é plugado no slot 3 é utiliza se o bits 1 para lâmpada, então o endereço será Q 3.1.
Pagina 21
Numerando SLOT´s
Endereçamento
BIT endereço (número de canal)
Byte endereço (número do SLOT)
Módulos digitais com mais de Oito Canais
Cada canal de um módulo digital é representado através um BIT. Cada BIT deve ser nomeado então um número separado. Um canal é enviado assim da maneira seguinte:
Pagina 22
Numerando SLOT´s
Endereçamento
Figura 15 – Endereçando Módulos Digitais com mais de 8 Canais
BIT endereço (número de canal)
Byte endereço (número do SLOT)
Módulos analógicos
65536 diferentes tipos de informação ou seja (16 BITS) pode ser trocado em cada canal entre dois módulos analógicos.
Devem ser enviados os canais de um módulo analógico conforme um certo formato de dados
Os módulos analógicos são endereçados canal por canal que usa operações WORD.
• Quatro WORD são reservados por SLOT.
• O espaço de endereço analógicos permissível se estende byte 64 (slot 0, canal 0) para byte 127 (slot 7,
canal 3).
Pagina 23
Numerando SLOT´s
Endereçamento
Figura 17 – Endereçando Módulos E/S Analógicos
Representação LAD: associação AND em Diagrama de contatos conforme figura 18
Representação CSF: associação AND em Diagrama de blocos conforme figura 19
Representação STL: associação AND em lista de instruções conforme figura 20
Pagina 24
Sintaxe
Programação
Figura 18 Figura 20
Figura 19
Representação LAD: Associação OR em Diagrama de contatos conforme figura 21
Representação CSF: Associação OR em Diagrama de blocos conforme figura 22
Representação STL: Associação OR em Lista de instruções conforme figura 23
Pagina 25
Sintaxe
Programação
Figura 21 Figura 23
Figura 22
Representação LAD: Associação AND + OR em Diagrama de contatos conforme figura 24
Representação CSF: Associação AND + OR em Diagrama de blocos conforme figura 25
Representação STL: Associação AND + OR em Lista de instruções conforme figura 26
Pagina 26
Sintaxe
Programação
Figura 24 Figura 26
Figura 25
Representação LAD: conector ( # ) em Diagrama de contatos conforme figura 27
Representação CSF: conector ( # ) em Diagrama de blocos conforme figura 28
Representação STL: conector ( # ) em Lista de instruções conforme figura 29
Pagina 27
Sintaxe
Programação
Figura 27 Figura 29
Figura 28
Representação LAD: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Diagrama de contatos conforme figura 30
Representação CSF: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Diagrama de Blocos conforme figura 31
Representação STL: Associação OR (complexo) contida em associação AND acionando diversas saídas simultaneamente em Lista de instruções conforme figura 32
Pagina 28
Sintaxe
Programação
Figura 30 Figura 32
Figura 31
Os controladores programáveis da linha “ SIMATIC “ possuem duas áreas de memória chamada de acumuladores, e que por diante chamaremos acumuladores 1 (ACCU1) e acumuladores 2 ( ACCU2 ).
No texto nosso objetivo é demonstrar de que maneira podemos “ escrever “ e “ler” dados desta s área de memória.
1 - escrevendo dados na memória 1
Utilizando a instrução “LOAD” podemos escrever um determinado dado no acumulador 1 ( ACCU1 ).
Pagina 29
Acumuladores
L IW 0 -
ACCU2
125
ACCU1
Programação
2 - Escrevendo um dado no acumulador 2
Como foi explicado no parágrafo acima, toda vez que utilizamos a instrução “LOAD”, um novo dado será escrito no acumulador 1 ( ACCU1 ), mas para que os dados que exista no acumulador 1 não seja perdido, este dado será transferido para o acumulador 2 antes do novo dado ser escrito no acumulador 1.
A primeira instrução ( L IW 0 ) faz com que o conteúdo da palavra de entrada “0” (IW0 = 125) seja carregado no acumulador 1.
Quando a Segunda instrução do tipo “LOAD” é processada ( LIW 2 ), o conteúdo da palavra de entrada “2” ( 147) será carregado no acumulador 1 ( 125 ) Ter sido copiado no acumulador 2.
OBS : sempre serão utilizados dois acumuladores quando a “CPU” do controlador tiver que processar a instruções onde dois elementos sejam necessário para a sua realização (soma, subtração, comparação, etc. ).
Além das funções acima citadas o acumulador 1 tem a função de ser o elemento do qual a CPU consegue efetuar a transferência de dados.
Pagina 30
Acumuladores
L IW 0 -
ACCU2
125
ACCU1
L IW 2 125147
Programação
No exemplo abaixo o dado contido na palavra de entrada 4 ( “IW 4 “ ) é carregado no acumulador através da instrução “ L IW 4 “, este é o mesmo dado transferido para a palavra de saída 8 ( “QW 8” ) através da instrução “T QW 8”.
Pagina 31
Acumuladores
Programação
Nem sempre a utilização dos sinais provenientes dos módulos de entradas e saídas (digitais ou analógicas), são suficiente para a elaboração de programas. Para estes casos, os controladores programáveis da linha “SIMATIC” possuem áreas de memória que podem ser utilizadas como elementos auxiliares. Estes elementos auxiliares foram denominados de “FLAGS”.
Os flags podem ser utilizado na forma de bit, byte ou WORD ( em algumas CPU’s podem ser utilizados na forma de dupla palavra (32 bits).
OBS: nos programas elaborados na linguagem “STEP-5” serão utilizados a seguinte denominação de flag’s
Flag = F
Flag-byte = FY
Flag-word = FW
Podemos dividir os “FLAG’s” em duas categorias:
Flag’s remanentes
Flag’s não remanente
Pagina 32
FLAGS ( Área de memória)
Programação
1-Flag’s remanentes
Flag’s remanentes são assim denominados pois o circuito de memória onde os mesmos se encontram, são alimentados por uma bateria. Esta ligação ( circuito – bateria ) faz com que um flag que se encontre em nível lógico “1” permaneça neste estado, mesmo no caso de falta de energia elétrica.
EX: Os flags remanente são utilizados em programas de máquinas que armazenem informações do seu estado de funcionamento, e no caso de uma parada por falta de energia elétrica, mantenha estas informações, para que após o restabelecimento da energia, a mesma possa continuar processando um determinado produto, exatamente no mesmo ponto que se encontrava no momento da deserginação . ( máquinas de empacotamento, paletizadores, etc.).
2-Flag’s não remanente
Os flags são chamados de não remanente quando os circuitos de memória onde o mesmo se encontram não são alimentados por baterias de back-up. Isto faz com que um flag que se encontre em nível lógico “1” vá para o nível lógico “0” no caso de falta de energia elétrica.
Pagina 33
FLAGS ( Área de memória)
Programação
EX: Ao contrario do exemplo anterior estes flags serão utilizados em programa de equipamento onde após falha de energia elétrica o equipamento começará a funcionar sempre pelo passo inicial, e não no passo em que o programa no momento da queda de energia.
OBS: o usuário deverá consultar a documentação da CPU que tiver sendo utilizada pois, a qualidade de flag’s varia de um modelo de CPU para outra. A quantidade de flag’s remanentes bem como a maneira de sua habilitação também deverá ser verificada.
EX: Existem CPU’s que possuem 2048 bits de flag’s ( 256 bytes – byte 0 até o byte 255)
Destes 2048 bits a primeira metade ( 128 bytes – byte 0 até byte 127 ) é constituída por flag’s do tipo remanente e Segunda metade constituída por flag’s do tipo não remanente ( 128 bytes – bytes 128 até o byte 255 ), e esta configuração não pode ser alterada, já em outro tipo de CPU a quantidade de flag’s remanente e não remanente é exatamente igual aqui exposto com a diferença de que os flags da faixa remanente podem ser utilizados como não remanentes pela através da mudança de posição de uma chave que encontrada no painel frontal da CPU.
Pagina 34
FLAGS ( Área de memória)
Programação
Na tabela a seguir temos os endereço dos Flags ( F 0.0 a F 63.7 remanecentes ) e os Flags ( F 63.7 a F 255.7 ñ remanecentes ) para a CPU 095U.
Pagina 35
Ñ Remanecentes
64.0 a 255.7
Remanecentes
0.0 a 63.7
Numero de Flags
2048
CPU
095
FLAGS ( Área de memória)
Programação
Neste capitulo vamos estudar o STEP5 que operam no sistema MS-DOS .
Este software deve ser instalado em um microcomputador. Após a instalação, quando você rodar este software, o seu microcomputador poderá ser usado como um terminal de programação e/ou manutenção do CLP.
A versão Step-5 utilizada neste curso é a 6.64 . Sendo assim temos que saber a linha de comando a ser digitada para acessar o programa conforme segue abaixo:
No win98 reiniciar em MS-DOS
C:\WIN\ cd c:\ enter
C:\cd step5 enter
C:\step5\cd s5_st enter
C:\step5\s5_st\s5 enter
STEP5
Pagina 36
Software STEP5
Exemplo de Aplicativo 01
Para aprender a programar o CLP Simatic 95U vamos utilizar o exemplo aplicativo 01 criando Lógica Ladder para acionar o circuito de força liga/desliga de uma motor bomba conforme figura 34. O Rele térmico 1 quando acionado devera desabilitar a motor bomba e acionar uma lâmpada de sinalização. Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 6.
Figura 34 – Circuito de força de 1motor-bomba
Dispositivo de entrada nívelCPU 095U
Botão A NAEndereço
I32.6 0
Dispositivo de saídaContatora C1 Q33.1
tabela 6 – Endereços e nível lógico dos dispositivos de E/S.
Botão B NF I32.5 1
3 ~
R1
C1
Contato rele térmico1 NA I1.0 0
Lâmpada amarela Q32.2
Pagina 37
Construção de Lógica para Aplicativo
Lâmpada liga Q32.1
Exemplo de Aplicativo 01
Solução:Passo 2 – Construção do Fluxograma Analítico.
Inicio
Aciona botão A
Aciona contator C1
Fim
Botão B e rele térmico
normal ?
sim
Desaciona contator C1
não
Pagina 38
3 ~
C1
Figura 34 – Circuito de força de 1motor-bomba
Construção de Lógica para Aplicativo
Etapas para a Programação de um CLP
STEP5
Figura 35 Pagina 39
Software STEP5
Criando um arquivo de programa novo
Quando vamos iniciar um novo programa, devemos criar um arquivo e nomeá-lo conforme nossa necessidade. Devemos seguir o seguinte caminho para a criação de um novo arquivo:
object project settings page 1
Na opção Program File selecione a tecla F3, no campo que se abre digite o nome desejado para o seu arquivo, obedecendo o número máximo de caracteres permitido e ENTER conforme figura 35.
Criando um Bloco de Programa
Conforme o grau de complexidade do nosso programa devemos saber onde escrever as instruções. No caso de operações
básicas utilizamos os Blocos de Programa ( OB ou PB ). Devemos seguir a seguinte sequência para criarmos um OB ou PB:
editor step5 block in the program file conforme figura 36
Em block nomear o bloco de programa Exemplo: (OB, PB, FB) em seguida ENTER conforme figura 37.
STEP5
Figura 36 Pagina 40 Figura 37
Software STEP5
Escolhendo o tipo de representação
Podemos escrever as instruções nos modos LAD, STL ou CSF conforme nossa necessidade ou conhecimentos. Para fazermos
esta opção devemos seguir os seguintes passos:
A tela irá se abrir no modo Edit. Este modo não permite a troca do tipo de representação, por isso devemos passar para o modo
Output.( descrito no canto superior direito da tela).
Ao visualizar a tela no modo Edit, clicar Uma Vez a tecla Enter e depois a tecla Esc.
Já no modo Output pressionamos simultaneamente as teclas Shift e F5, assim escolhendo tipo de representação.
Para voltarmos para o modo Edit pressionamos a tecla F6.
STEP5
Pagina 41
Software STEP5
Criando um Bloco de Programa
Estando no modo de edição utilize as teclas “F1 a F8” e “SHIFT+F1 a SHIFT+F8” para edição do programa e substitua as
“?????” acima de cada instrução com suas respectivas entradas, saídas ou flags.
As linhas de programação RUNG são separadas por segmentos conforme a figura 38.
Após terminar de digitar o segmento 1 acionar F6 “compl seg” para ter acesso ao próximo segmento.
STEP5
Figura 38 Pagina 42
Software STEP5
Após o termino do programa “segmento 2 figura 39 digitar F7 (Enter) e depois SHIFT+F7 para salvar.
Para verificar todos os segmentos do projeto acionar F5 “seg fct” e acionar “-1” para voltar ao segmento anterior e “+1” para o
próximo seguimento.
Dicas:
Quando desejamos inserir uma nova linha de comando entre duas linhas de comando já editadas colocamos o cursor em cima
do sinal : e pressionamos a tecla End.
Se desejamos apagar uma única linha de comando, colocamos o cursor em cima do sinal : e pressionamos a tecla Delete.
STEP5
Figura 39 Pagina 43
Software STEP5
Transferindo o programa editado no PC para o CLP
Para fazer a transferência do programa editado no PC para o CLP devemos primeiramente verificar se ambos estão conectados
com o cabo de comunicação apropriado. O 1º passo é comunicar o PC com o CLP da seguinte maneira:
object project settings page 2
Selecione a opção Mode e pressione a tecla F3, concretizando a comunicação a janela passará de off line para on line
conforme figura 40.
Retorne para a tela anterior pressionando a tecla F8.
STEP5
Pagina 44
Software STEP5
Figura 40
Para fazer a transferência siga a seguinte ordem:
object blocks transfer file/PLC.
Observe na janela que se abre se o arquivo é o que você deseja transferir. Digite o block ou selecione All block e Enter. Caso
afirmativo pressione a tecla YES.
Após a transferência, se o Led vermelho do CLP ascender “ CLP em stop “ acione a chave Run/Stop
para que o Led verde ascenda “ CLP em ciclo ” ou siga a seguinte ordem:
Test PLC Control Start PLC Enter conforme figura 41.
STEP5
Pagina 45
Software STEP5
Figura 41
Analisando os Status dos Blocks
Para analisar o comportamento das instruções on line do block agir da seguinte maneira:
Test block status selecione o block enter. Somente é possível visualizar um bloco em Status por vez.
Obs. O CLP deve esta on line e RUN conforme os procedimentos das paginas 43 e 44.
Status na tela
O programa aparecerá na tela da seguinte forma:
+==========+ Indicam status ativado
+.....................+ Indicam status desativado.
Diretamente da tela de status é possível realizar alterações no bloco.
As alterações feitas neste modo serão gravadas somente no CLP.
STEP5
Pagina 46
Software STEP5
Representado pelas letras S (SET) , onde indica a memorização do estado "1" para flags e saídas; R (RESET), indica que o estado memorizado pela função set esta desativado, ou seja coloca em zero o estado de sinal das saídas e ou flags, utilizado também para zerar temporizadores e contadores.
Pagina 47
Operação de SET / RESET
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL)Representação em diagrama de blocos (CSF)
O programa poderá utilizar as funções de temporização para implementar e monitorar sequências cronológicas. Os CLP’s da família SIMATIC S5 apresentam 5 tipos de temporizadores.
Pagina 48
Temporizadores
Instruções
SP(pulse time): temporizador para pulso.
SE(extended pulse time): temporizador para prolongamento do sinal.
SD(on delay): temporizador para retardo na energização.
SS(stored on delay and reset): temporizador para retardo na ligação com retenção.
SF(off delay): temporizador para retardo no desligamento.
Base de tempo:
0 = 0,01s
1 = 0,1s
2 = 1s
3 = 10s
Exemplo: L KT 5.2
L Instrução “LOAD” carregar
KT Constante de tempo
5 Valor do tempo: de 0 a 999
2 Base de tempo = 1 s
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 49
Temporizadores “SP”
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 50
Temporizadores “SE”
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 51
Temporizadores “SD”
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 52
Temporizadores “SS”
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 53
Temporizadores “SF”
Instruções
Os blocos são chamados a partir do OB1 com a instrução JU (jump = salto)
Quando o processador encontra, durante o programa, uma instrução de chamada (JUMP) desse tipo, é interrompido o bloco que está sendo processado e se inicia o processamento do bloco que foi chamado.
Uma vez atingida a última instrução desse bloco (BE), o processamento do programa retorna ao bloco que fez a chamada e prossegue na instrução seguinte.
JU é um salto incondicional (não depende de RLO=1)
JC é um salto condicional (depende de RLO=1)
obs.: Quando uma ação é condicional significa que a instrução anterior deve terminar em 1 para que a mesma seja executada. Ou seja, se uma soma de duas entradas resultou em 1, e se a próxima ação depender de RLO=1 para ser executada, então a mesma será. Quando a ação é incondicional, o resultado anterior não interessa.
Pagina 54
Chamada de blocos
Instruções
Figura 65 – Chamada de bloco a partir do OB1
Exemplo de Aplicativo 02 Projetar uma Lógica LADDER para que motor-bomba1 sejá acionado por botão A e desacionado botão B e rele térmico 1 e motor-bomba 2 deverá ser acionado por um temporizador “SS” (on deley) após 10 segundo do acionamento da motor-bomba 1 e o mesmo deverá permanecer acionado mesmo que motor-bomba 1 desacione, também deverá ser desacionado por botão D e rele térmico 2.Solução: Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 7.
Figura 66 – Circuito de força de duas motor-bombas
Dispositivo de entrada nívelCPU 095U
Botão verde NAEndereço
I32.6 0
Dispositivo de saídaContatora C1 Q33.1
tabela 7 – Endereços e nível lógico dos dispositivos de E/S.
Botão vermelho NF I32.5 1
Contato rele térmico2 NA I1.1 0
3 ~
R1
C1
3 ~
R2
C2
Contato rele térmico1 NA I1.0 0
Contatora C2 Q33.2
Botão vermelho NF I32.4 1
Pagina 55
Construção de Lógica para aplicativo
Lâmpada Bomba 1 Q32.1Lâmpada Bomba 2 Q32.7Lâmpada amarela Q32.2
Exemplo de Aplicativo 02
Inicio
Aciona botão A
Aciona contator
C1
Partida ou Parada do contator
C1?
Aciona botão B
Partida Parada
Desaciona contator
C1
Aciona contator
C2
Fim
Partida ou Parada do contator
C2?
Aciona botão D
Partida Parada
Desaciona contator
C2
Bomba 1 Bomba 2
SIMSIM
NÃO
SIM
Dispara tempor.
TON
Tempo = 10s ?
1
1
NÃO
Rele termico1 desacionado?
Rele termico2 desacionado?
Pagina 56
Solução: Passo 2
Construção do Fluxograma Analítico.
Construção de Lógica para aplicativo
Alarme
NÃO
Alarme
Passo 3: Construção da lógica Ladder
Conforme a pagina 39 figura 35 criar um novo arquivo com nome: fenix2ST.S5D
Seguindo os procedimentos da pagina 40 e figuras 36 e 37 criar o bloco operacional OB1. Seguindo a sequência abaixo criar as
instruções de chama incondicional para os blocos de programas PB1 ( lógica Ladder das motor bombas ) e PB2 ( lógica Ladder
de alarme ) conforme a figura 67:
SHIFT+ F2 ( BLOCK ) F4 ( JU ) digite PB1
SHIFT+ F2 ( BLOCK ) F4 ( JU ) digite PB2
F7 ( ENTER ) SHIFT+ F7 ( SAVE )
STEP5
Pagina 57 Figura 67
Software STEP5
Passo 3: Construção da lógica Ladder ( continuação )
STEP5
Pagina 58 Figura 67
Software STEP5
Para criar o Bloco de Programa PB1 seguir os
procedimentos da pagina 40 e nomear PB1.
Para ter acesso a instrução S/R seguir a sequência:
F5 ( Binary op ) F7 ( S/R ) endereça como flag
remanescente ou ñ remanescente ( ver pagina 35 ).
Ao terminar a edição do segmento 1 do PB1 acione
F6 ( Compl seg ) para ter acesso ao segmento 2.
Para ter acesso a instrução Temporizador SS ( on deley )
Seguir a sequência: F5 ( Binary op ) SHIFT+ F4 ( SS )
Ao terminar de digitar a lógica do bloco PB1 acionar F7 ( ENTER ) SHIFT + F7 SAVE e ESC
Passo 3: Construção da lógica Ladder ( continuação )
STEP5
Pagina 59
Software STEP5
Para criar o Bloco de Programa PB2 seguir os procedimentos da pagina da pagina anteriro 58.
Ao terminar de digitar a lógica do bloco PB1 acionar F7 ( ENTER ) SHIFT + F7 SAVE e ESC
Correção do Exemplo de Aplicativo 02
Foi analisado na prática que a instrução de tempo “SS” ( retardo na ligação com retenção on delay ) uma vez acionado pelo bit
saída da contatora C1 ( motor bomba 1 ), mesmo que este desacione antes dos 10 segundos, o temporizador continuar a
decrementar o tempo e aciona o motor bomba 2, diferente do que desejamos ou seja:
A motor bomba 2 só poderá ser acionada caso o motor bomba 1 esteja acionada.
Devemos então substituir a instrução de tempo “SS” para que possa atender as condições acima.
Conclusão:
Foi substituído pela instrução de tempo “SD” ( retardo na ligação ), mas foi observado que será necessário criar no segmento 3 a
instrução S/R para acionar a motor bomba 2. Pois a saída de temporizador “SD” não é retentiva ou seja quando desabilita o
motor bomba 1 a saída do temporizador desabilita.
Seguir as modificações da pagina 61 e testar a lógica Ladder.
STEP5
Pagina 60
Software STEP5
Substituir o seguimento 2 e criar o seguimento 3 conforme as figuras abaixo:
Segmento 2 Segmento 3
Pagina 61 Figura 72Figura 71
Software STEP5
STEP5
O programa poderá utilizar as funções de contadores para contagem de eventos. Os CLP’s da família SIMATIC S5 apresentam 2 tipos de contadores.
Pagina 62
Instruções
CU - contador crescente ( a cada pulso de um sinal o contador incrementa 1 no seu registrador)
CD - contador decrescente ( a cada pulso de um sinal o contador diminui 1 no seu registrador)
Set - ativa o contador com um valor determinado em CV
CV - valor de contagem
R - zera o contador e tem prioridade sobre os demais.
BI - palavra de saída no formato binário
DE - palavra de saída em formato BCD
Exemplo: L KC 5
L Instrução “LOAD” carregar
KC Constante de contagem
5 Valor de contagem: de 0 a 999
Obs: O valor máximo que um contador pode assumir é "999. Se o contador tiver seu valor de contagem em "999" e a entrada para incrementar contador ( CU ) continuar a receber pulsos, estes pulsos serão perdidos, logo o valor de contagem permanecerá em " 999 “ e a entrada para decrementar contador ( CD ) Continuar, logo o valor de contagem permanecerá em “0”.
Contadores “CU” e “CD”
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 63
Contadores “CU” e “CD”
Instruções
O gráfico abaixo é um resumo dos acionamentos possíveis através dos contadores:
Pagina 64
Instruções
Contadores “CU” e “CD”
saída
KC
Estas operações de comparação, comparam o conteúdo do acumulador 1 com o conteúdo do acumulador 2. Os valores a serem comparados portanto devem ser introduzidos primeiramente nos acumuladores, por exemplo com operações de carga ( LOAD ) Após uma operação de comparação, o acumulador permanece inalterado até uma nova instrução de carga. Nestas comparações podemos ter comparados bytes ou palavras de entrada (IB, IW), saídas (QB, QW), flags (FB, FW), constantes de contagem (KC), constantes de tempo (KT), constantes ou conteúdos de data words exemplo ( KF constante decimal ).
Pagina 65
Comparadores
Instruções
Tipos de comparações
Operação Função
!= F Comparação de igual
F Comparação de diferente
F Comparação de maior
F Comparação de menor
F Comparação de maior ou igual
F Comparação de menor ou igual
Exemplo: Vamos comparar dois bytes de entrada do CLP
Se IB 32 for maior que IB 33 ligar a saída 32.0
L IB32
L IB33
>F
= Q 32.0
BE
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 66
Comparador de igual ! = F
Instruções
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 67
Instruções
Comparador de diferente F
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 68
Instruções
Comparador de maior F
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 69
Instruções
Comparador de menor F
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 70
Instruções
Comparador de maior ou igual F
Representação em diagrama de contato (LAD)
Representação em lista de instruções (STL) Representação em diagrama de blocos (CSF)
Pagina 71
Instruções
Comparador de menor ou igual F
KM Representação Binária 00000000 00000000 à 11111111 11111111
KF Representação Decimal com sinal + 32767 à - 32768
KH Representação Hexadecimal 0000 à FFFF
KY Representação em 2 bytes (direita e esquerda) 0,0 à 255,255
KT Constante do temporizador 000.0 à 999.3
KC Constante do Contador 000 à 999
KS ou S Constante de texto
Formato dos Dados
Pagina 72
Instruções
Exemplo de Aplicativo 03
Desejamos construir a Lógica LADDER para o acionamento; através do botão (I32.6); de uma esteira transportadora de peças conforme figura 95;e a mesma deverá contar 10 peças através do sensor S1 (I32.0) e após a contagem deverá desligar o motor da esteira (Q33.1). Obs independente do sensor contar 10 peças o motor deverá ser desligado caso seja acionado o rele térmico R1 (I1.0) ou botão de parada (I32.5) Solução:Passo 1 – Levantamento dos endereços e nível lógico dos dispositivos de entrada e saída conforme a tabela 18.
C1 contatora
Figura 95 – Circuito de força de um motor de
esteira
3 ~
R1 Rele termico
S1 Sensor
Pagina 73
Construção de Lógica para Aplicativo
Dispositivo de entrada nívelCPU 095U
Botão verde NAEndereço
I32.6 0
Dispositivo de saídaContatora C1 Q33.1
tabela 8 – Endereços e nível lógico dos dispositivos de E/S.
Botão vermelho NF I32.5 1
Contato rele térmico1 NA I1.0 0
Lâmpada motor ligado Q32.1
Sensor S1 NA I32.0 0
Inicio
Aciona botão A
Fim
SIM
NÃO
SIMHabilita
motor da esteira
Sensor 10 peças?
NÃO
Rele térmico1 ou botão parada desacionado?
Reseta contador
Habilita sensor
Desabilita motor da esteira
Exemplo de Aplicativo 03
Solução: Passo 2
Construção do Fluxograma Analítico.
Pagina 74
Construção de Lógica para Aplicativo
Inicia a contagem
Passo 3: Construção da lógica Ladder
Conforme a pagina 39 figura 35 criar um novo arquivo com nome: fenix3ST.S5D
Seguindo os procedimentos da pagina 40 e figuras 36 e 37 criar o bloco operacional OB1.
No segmento 1 digitar a lógica Ladder do acionamento do motor da esteira conforme figura 96
No segmento 2 digitar a lógica Ladder de contagem de peças conforme a figura 97
Para ter acesso ao contador seguir a sequência: F5 ( Binary op ) F2
STEP5
Pagina 75 Figura 97
Software STEP5
Figura 96
Passo 3: Continuação da Construção da lógica Ladder
No segmento 3 digitar a lógica Ladder de comparação = 10 peças e desligamento do motor da esteira conforme figura 98.
Para ter acesso ao comparadores seguir a sequência: SHIFT + F5 (compare)
STEP5
Pagina 76 Figura 98
Software STEP5
Pagina 77
FB – Bloco de Função
Programação
Podemos considerar que existem dois tipos de Blocos de Funções:
1-Blocos de Funções do Usuário:
Os Blocos de Funções do usuário, são aqueles desenvolvidos pelo usuário, para tarefas relativas á automatização de seu sistema. Os FB´s contêm em geral funções complexas, que podem ser necessárias varias vezes em um programa.
2-Blocos de Funções Standard:
Estes blocos são assim chamados, pois são elaborados e disponibilizados pelo próprio fabricante do equipamento, e em alguns casos já vem gravados na memória da própria CPU. Ex. FB´s básicos para conversão de sinais Decimal para BCD.
Os Blocos de Funções (FB´s) diferenciam-se dos Blocos de Programa (PB´s) em dois pontos importante:
Set de instrução ampliado - Nos blocos de funções, podemos utilizar instruções básicas, avançadas e de sistema.
Parametrização – Blocos de Funções podem ser construídos de maneira que possamos utilizar a mesma função em locais diferentes do programa, com parâmetros (endereços) diferentes em cada uma das chamas.
Obs: Nos FB´s não é possível a representação do programa LAD e CSF no primeiro segmento, nos demais a representação é exatamente igual à dos outros blocos (PB´s, OB´s etc).
Pagina 78
FB – Bloco de Função
Programação
Na figura 99 temos o exemplo de um Bloco de Função Parametrizado (FB100) que será chamado no Bloco Operacional (OB1) para acionamento de 3 motor bombas consecutivas.
Utilizamos o FB parametrizado FB100 para executar 3 funções lógicas idênticas, porém com endereços diferentes. Imagine dez partidas estrela-triângulo tendo sua lógica de funcionamento digitada uma a uma.
Assim quando necessitar da lógica de partida, apenas preenchemos os campos com os devidos endereços de entradas e saídas.
Motor Bomba 1
FB 100
Motor Bomba 2
FB 100
Motor Bomba 3
FB 100
OB1
Figura 99
Pagina 79
FB – Bloco de Função
1º vamos criar o Bloco de Função FB100, declarando seu nome, os parâmetros do blocos e seu programa de controle conforme a figura 100:
Obs: Não coloque espaço entre os caracteres e operando.
Após digitar toda a lógica acione F7 (ENTER).
Tipo de Parâmetro
Tipo de Dado
Nome
Programa de Controle.
No exemplo acima é a lógica de acionamento das bombas
Operando
LIGA DESL RELE
MOTO
MOTO
Software STEP5
Figura 100
FB – Bloco de Função
2º vamos criar o Bloco de Organização OB1, onde no segmento 1 será chamado incondicional o FB100 para acionamento do motor Bomba 1 com os endereços conforme a figura 101:
Para chamar o bloco FB100 seguir a sequência: Shift+ F2 ( Blocks ) F1 JU FB e entre com os parâmetros e ao terminar acione F6 (compl seg) para ir para o segmento 2.
3º No segmento 2 conforme a figura 102 digite JU FB100 para chamar o FB de parametrização e entre com os endereços dos operando. Ao terminar acione F6 (compl seg) para ir para o segmento 3.
Pagina 80 Figura 102Figura 101
Software STEP5
FB – Bloco de Função
4º No segmento 3 conforme a figura 103 digite JU FB100 para chamar o FB de parametrização e entre com os endereços dos operando. Ao terminar acione F7 (Enter) Shift+F7 (Save) .
Pagina 81Figura 103
Software STEP5
Pagina 82
FB – Bloco de Função 250 e 251
Programação
Estes blocos de função transformam a faixa de valores nominais de um módulo analógico para uma faixa de valores normalizada que você especifica.
Lendo e normalizando um valor analógico FB 250
O bloco de função FB 250 lê um sinal analógico de um módulo de entradda analógico e transforma esse valor em um numero XA
Dentro da escala especificada. Definimos a faixa de valores nos quais o sinal analógico será convertido usando os parâmetros “upper limit” (OGR) limite máximo e “lower limit”(UGR) limite mínimo.
Especifique o tipo de valor analógico (tipo de canal) no parâmetro KNKT.
O Parâmetro BU é setado quando o valor analógico excede a escala nominal.
Saindo com um sinal analógico FB 251
Use o bloco de função FB 251 para mandar valores de saída a um módulo de saídas analógicas. Especifique o tipo de representação analógica do módulo (tipo de canal) no parâmetro KNKT. Valores entre o limite mínimo (UGR) e o limite máximo (OGR) são convertidos para a faixa de valores nominais designada para o módulo.
Pagina 83
FB – Bloco de Função 250
Programação
Chamadas e Parâmetros possíveis CPU –95U
I/O externo
D KF 0 a 7
KY = x,yX = 0 a 3Y = 3 a 6
3: representação em valor absoluto
4: representação unipolar5: valor bipola absoluto
6: numero bipolar em ponto-fixo
-32767 a +32767
Tipo Possibilidades
-32767 a +32767
I/O interno
8
KY = x,yX = 0 a 7
Y = 4 representação unipolar
D KY
Irrelevante Varredura única com status em 1
Valor analógico escalonado é zero com quebra de fiação
Valor analógico escalonado
“1” com quebra de fiação, número ilegal de canal ou slot
ou tipo de canal ilegal
“1” com número ilegal de canal ou slot ou tipo de canal ilegal
Q BI “1” quando a faixa de valores é excedida
Q BI
Q W
I BI
D KF
D KF
Nº do slot
Descrição
Número do canal Tipo de
canal
Violação da faixa de valores
Bit de erro
Valor de saída
Varredura única
Limite mínimo
Limite máximo
BG
Parâmetro
KNKT
BU
FB
XA
EINZ
UGR
OGR
Pagina 84
FB – Bloco de Função 251
Programação
Chamando e iniciando o FB 251 na CPU-95U
I/O externo
D KF 0 a 7
KY = x,yX = 0;1Y = 0;1
0: representação unipolar1:ponto-fixo bipola
-32767 a +32767
Tipo Possibilidades
-32767 a +32767
I/O interno
8
KY = x,yX = 0
Y = 0 representação unipolar
D KY
“1” se XE excede os limites UGR e OGR XE assume o valor limite
Q BI
D KF
D KF
Endereço do slot
Descrição
Número do canal Tipo de
canal
Bit de erro
Limite mínimo
Limite máximo
BG
Parâmetro
KNKT
BU
UGR
OGR
“1” se UGR=OGR, número inválido de canal ou slot, ou tipo de canal inválido
Q BIErro na configuração dos
valores limites
FEH
Valor de entrada (complemento de dois) dentro da escala UGR e OGR
IWValor analógico de saída
XE
FB – Bloco de Função FB250 e 251
Nas figuras abaixo temos o exemplo de parametrização do bloco FB250 tendo a chamada incondicional pelo bloco OB1. Figura 103
E na figura 104 temos o bloco FB25o utilizado para trabalhar os sinais de entrada analógicas.
Pagina 85 Figura 102Figura 103
Software STEP5