Baixe o app para aproveitar ainda mais
Prévia do material em texto
CLP Controlador Lógico Programável Nível 01 Fênix Automação Industrial – Barra Mansa – RJ Email: fenixautomacaoindustrial@gmail.com Av Joaquim Leite, Ed Benedictus 01, Sala 203, Centro S7-200 FAMILIA DE CONTROLADORES SIEMENS 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 tabelaimagem 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 "HardwareConfiguration” 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 S7 2.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". Pagina28 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: Asinstruçõ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, na realidade, 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ível CPU S7-315 DP Botão A NA Endereço I0.1 0 Dispositivo de saída Contatora 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 0 Botã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 1 Normal? Posicionar chave para motorbomba 2 Rele Térmico 2 Normal? Aciona Contatora K1 Partida ou Parada do motor-bomba 1? START STOP 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? START STOP 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 impulsopositivo 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 para 0 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ível CPU S7-315 DP Botão A NA Endereço I0.1 0 Dispositivo de saída Contatora 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 0 I0.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 OB1 Bloco 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 LAD sem parâmetros Chamada em LAD com 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 entrada Possui 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ível CPU S7-315 DP Botão A NF Direto Endereço I0.0 1 Dispositivo de saída Contatora 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 NF I0.4 1 Auxiliar 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 LAD 2º 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 de3 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 LAD 2º 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ítmos p/ controle OB, FB or FC chamada FBx, DBy ... ... Chamada de FB com DB Instance chamada #Motor_1 . chamada #Motor_2 DBx ... stat Motor_1 FBx stat Motor_2 FBx Dados de estados p/ Drive_2 Dados de estados p/ Drive_3 FBx FB Instance Algorítmos p/ 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 utilizados16 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 Integrados I 32.0 – I 32.7 I 33.0 – I 33.7 Q 32.0 – Q 32.7 Q 33.0 – Q 33.7 Periféricos Analógicos Integrados IW 40,IW 42, IW 44, IW46, IW48, IW 50, IW54 QW 40 Interrupçôes (alarmes) I 34.0 – I 34.3 -------------------- Contadores Contador A IW 36 Contador 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 125 147 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 deflag‟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ível CPU 095U Botão A NA Endereço I32.6 0 Dispositivo de saída Contatora 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
Compartilhar