Aula 1 -Bits e bytes, valores analógicos e digitais e representações Antes de tudo, precisamos entender como um computador reconhece e trabalha com as informações que recebe. Existem duas maneiras de representar uma informação: analogicamente ou digitalmente. Entenda que nosso mundo é basicamente ‘analógico’: temperatura, velocidade, tempo, são exemplos de grandezas analógicas, isto é, que variam de forma contínua. Uma sala não tem sua temperatura variando de 0,5 em 0,5 grau, ou um tanque aumentando ou diminuindo seu volume de 1m3 em 1m3. Imagine uma grandeza analógica como uma rampa e a digital como uma escada. Na rampa a pessoa pode ocupar qualquer lugar, na escada ela ocupa lugares fixos que ‘saltam’ de um para o outro. Segundo o site (http://www.hardware.com.br/livros/entendendo-linux/como-funciona.html), de forma geral: “Uma música é gravada numa fita K-7 ou num disco de vinil de forma analógica, codificada na forma de uma grande onda de sinais magnéticos, que pode assumir um número ilimitado de frequências. O problema com esta representação, é que qualquer interferência causa distorções no som. Se os computadores* trabalhassem com dados analógicos, certamente seriam muito passíveis de erros, pois qualquer interferência, por mínima que fosse, causaria alterações nos dados processados e consequentemente nos resultados. O sistema digital por sua vez, permite armazenar qualquer informação na forma de uma sequência de valores positivos e negativos, ou seja, na forma de uns (“1”) e zeros (“0”). O número 181, por exemplo, pode ser representado digitalmente como 10110101. Qualquer tipo de dado, seja um texto, uma imagem, um vídeo, um programa, ou qualquer outra coisa, será processado e armazenado na forma de uma grande sequência de uns e zeros”. *No nosso caso, os CLPs É justamente o uso do sistema digital que torna os CLPs confiáveis, pois a possibilidade de um valor “1” ser alterado para um valor “0”, o oposto, é muito pequena. Lidando com apenas dois valores diferentes, a velocidade de processamento também se torna maior, devido à simplicidade dos cálculos. Assim, o sistema binário é utilizado para representar os valores digitais, para que possam ser processados pelo PLC. Mas, como sabemos qual o “valor binário” de um “valor decimal”? Por exemplo, como converter o valor decimal 181 em binário? “A regra é clara”: basta dividir o valor 181 por 2 e, na sequência, o quociente da divisão anterior, até que termine em 1. Depois, “de baixo para cima” vá escrevendo na sequência, o último quociente e o resto das divisões anteriores, pronto! Está formada a sequencia binária que representa o número decimal. Veja abaixo Conversão decimal para binário Logo, 181 em binário é: 10110101. Por outro lado, há momentos em que temos uma sequencia binária e queremos saber qual o respectivo valor em decimal. Dessa forma basta fazer o seguinte procedimento: 1º Faça uma tabela com, no mínimo 6 linhas. A quantidade de colunas depende de quantos dígitos tem sua sequência binária, isto é, se forem 7 dígitos binários, crie 8 (7 + 1) colunas. 2º Numere a primeira linha, da direita para a esquerda, com as potências de 2: 20, 21, 22, … 2n, deixando a primeira coluna da direita em branco 3º Na segunda linha, escreva o respectivo valor da potência de 2, isto é: * 20 = 1 * 21 = (2×1) = 2 * 22 = (2×2) = 4 * 23 = (2x2x2) = 8 E assim por diante. 4º Pule uma linha (para não ficar tudo muito grudado) e na linha 4 escreva a sequência do seu número binário, da direita para a esquerda, tanto na sequência, quanto na tabela, começando na coluna com potência 20. 5º Pule uma linha. Assim, na linha 6 copie o valor da linha 2 somente para aquelas colunas onde aparece o valor “1” na linha 4. 6º Some os valores da linha 6 e escreva o resultado na primeira coluna da direita. Pronto! Esse é o respectivo valor decimal da sua sequência binária. Veja abaixo o exemplo para a sequência “10110101”: Conversão binária para decimal Cada valor binário é chamado de “bit”, contração de “binary digit” ou “dígito binário”. Um conjunto de 8 bits forma um byte, e um conjunto de 1024 bytes forma um Kilobyte (ou Kbyte). O número 1024 foi escolhido, pois é a potência de “2” mais próxima de 1000. Um conjunto de 1024 Kbytes forma um Megabyte (1048576 bytes) e um conjunto de 1024 Megabytes forma um Gigabyte (1073741824 bytes). Os próximos múltiplos são o Terabyte (1024 Gibabytes) e o Petabyte (1024 Terabytes). Também usamos os termos Kbit, Megabit e Gigabit, para representar conjuntos de 1024 bits. Como um byte corresponde a 8 bits, um Megabyte corresponde a 8 Megabits e assim por diante. 1 Bit = 1 ou 0 1 Byte = Um conjunto de 8 bits 1 Kbyte = 1024 bytes ou 8192 bits 1 Megabyte = 1024 Kbytes, 1.048.576 bytes ou 8.388.608 bits 1 Gigabyte = 1024 Megabytes, 1.048.576 Kbytes, 1.073.741.824 bytes ou 8.589.934.592 bits Quando vamos abreviar, também existe diferença. Quando estamos falando de Kbytes ou Megabytes, abreviamos, respectivamente, como KB e MB, sempre com o “B” maiúsculo. Quando estamos falando de Kbits ou Megabits abreviamos da mesma forma, porém usando o “B” minúsculo, “Kb”, “Mb” e assim por diante. Aula 3 – Sinais analógicos de um processo Provavelmente, você já deve ter visto um desses dispositivos: Não? Mas, com certeza, esses você já viu: Então, todos tem a mesma função: mostrar o valor de uma grandeza, seja ela: corrente e tensão (como os três primeiros), ou velocidade, rotação, nível de óleo/gasolina como o painel do carro. Todas são grandezas ‘analógicas’: assim como um carro vai de 0 a 100 km/h ou o nível de gasolina vai de 1 à ½ tanque depois de uma viagem, a temperatura de um forno industrial, o nível de um tanque, a velocidade de uma esteira, etc variam de forma contínua no tempo. No entanto, há uma pequena diferença na forma de ‘mostrar’ essa variação: no caso dos instrumentos ‘analógicos’ os ponteiros se deslocam sem ‘saltos’, diferente dos visores ‘digitais’ que ‘saltam’ de 0,1 em 0,1, por exemplo. Essa diferença ocorre devido ao fato de que os visores ‘digitais’ usam o sistema binário e eles não conseguem representar de forma ‘completa’ a variação de uma grandeza analógica. Imagine, por exemplo, que a curva abaixo represente a variação do volume de um tanque por hora. A mesma grandeza (volume) e suas duas representações: analógica e digital Perceba que não são iguais. A segunda apenas exibe ‘pontos’ enquanto que a primeira é uma curva contínua. Vejamos o que ocorre: Inicialmente é preciso entender que esses valores não podem ser representados apenas com um único bit ‘0’ ou ‘1’, assim como fizemos na Aula 2. Eles precisam de um conjunto de bits, assim como fizemos com o valor decimal 181. Sendo mais prático: Digamos que eu queira representar a curva com 2 bits. Eu teria as seguintes combinações: 00, 01, 10 e 11. Isto é, esses são os 4 valores digitais que eu consigo ‘gerar’ com 2 bits. Assim, eu conseguiria representar apenas 4 pontos diferentes da curva: no caso em preto, vermelho, verde e azul. Representação com 2 bits Mas, você está pensando: “Estou vendo 12 pontos diferentes!”. Cuidado, todos os pontos da mesma cor, representam um mesmo valor, o que muda é o tempo (amostras por hora, por exemplo). Assim, preciso de mais pontos diferentes para poder representar melhor a curva! Como fazer isso? Simples, aumentando a quantidade de bits da minha representação. Vamos tentar com 3 bits: 000, 001, 010, 011, 100, 101, 110 e 111. Puxa vida, agora tenho 8 valores diferentes! Muito melhor! Esse conceito é conhecido como ‘resolução’, dessa forma quanto maior a resolução de um módulo analógico, maior será a quantidade de bits utilizados para representar um valor analógico e mais próximo ao real ele será! A resolução é dada em número de bits, por exemplo: 8 bits, 14 bits, 16 bits…etc A quantidade de valores diferentes é calculada assim: 2n sendo n o número de bits. 2 bits: 22 = 4 valores; 3 bits: 23 = 8 valores; e, assim por diante. Além disso, lembra que comentei do ‘tempo’? Que todos os pontos de mesma cor são o mesmo valor, só que ‘capturados’ em tempos diferentes? Então, a esse conceito dá-se o nome de frequência de amostragem, medida, por exemplo, em ‘amostras por segundo’. Logo, quanto mais amostras forem ‘capturadas’ por segundo, melhor. Veja um exemplo da internet: Exemplo de um conversor Analógico-Digital (AD) Agora pense no seguinte: se levar os sinais das lâmpadas H1 e H2, lá da Aula 2 para a sala de controle era inviável, do mesmo modo, não seria conveniente enviar todos os sinais analógicos, através de milhares de cabos! Então, a ideia é substituir esses dispositivos por ‘entradas analógicas’ (AI, do inglês Analog Input) de um CLP! Essas entradas tem a função de converter um sinal analógico em representação binária que será processada pelo CLP. De forma semelhante, as vezes é preciso enviar um parâmetro ‘analógico’ ao processo. Assim, existem também as ‘saídas analógicas‘ (AO, do inglês Analog Output) que executam o processo inverso: convertem uma representação binária em sinal analógico. Mais adiante veremos os detalhes. O importante, nesse momento, é você ter entendido os benefícios do CLP e os principais tipos de informações que um processo fornece. Aula 4 – CLP Muito bem, mas afinal o que é um CLP ou PLC? Controlador Lógico Programável (em inglês, PLC – Programmable logic controller) é um conjunto de hardwares e softwares voltados ao controle de processos industriais, simples assim, sem muita firula. A função básica do CLP é monitorar as grandezas relevantes de um processo e, dependendo do que foi programado, interagir com o mesmo visando manter a integridade dos equipamentos, a continuidade do processo com qualidade e padronização. Ainda pode receber ‘comandos’ do operador, atuando de forma remota na Sala de Controle, sem a necessidade dele estar fisicamente no ‘chão de fábrica’. Mas, posso dizer que um CLP, assim como todo computador, é ‘burro’! Isso mesmo, ele não faz nada se não for programado e faz coisas erradas se for programado de forma errada! Dessa forma, volto a ressaltar a importância do programador estar consciente do processo, dos painéis de automação e controle e sempre testar sua programação, simulando eventos/comandos e verificando se as respostas estão adequadas. Bom, como trabalhei na Siemens, é em seus CLPs que me basearei, inicialmente. A Siemens, como outros fabricantes possui uma família de CLPs, cada qual voltado a processos de pequeno, médio e grande porte. A primeira família era a S5, mas que foi substituída pela S7. O Simatic Step 7-200 Primeiro da família, para processos de pequeno porte. Trata-se de um ‘micro’ CLP com hardware compacto e software próprio. Possui uma vasta gama de módulos e possui comunicação Profibus. S7200 O exemplo acima, possui de forma integrada, num único módulo, CPU, Entradas e Saídas Digitais. O Simatic S7-1200 Sucessor do S7-200? Algumas vantagens, quando comparado ao S7-200: Processamento mais rápido Memória mais flexível Profinet integrada Step 7 Basic para configuração Maiores informações O Simatic S7-300 O filho do meio, podendo atuar em processos de pequeno e médio porte. Trata-se de um CLP modular, com vasta gama de módulos que quando combinados geram configurações das mais variadas. Assim, o usuário tem a liberdade de escolher exatamente o que precisa, sem ter que comprar um ‘conjunto’ de coisas para usar uma ou outra. S7-300 Ele será o ‘alvo’ do nosso curso, pois tanto ele quando o irmão mais velho, o S7-400, utilizam o mesmo software de programação e tem, basicamente, as mesmas configurações. Os módulos Como já disse, o usuário tem a disposição uma infinidade de módulos para compor seu S7300, assim, vai depender dos sinais que se deseja coletar, os comandos que se deseja executar, o nível de segurança e ….verba Mas, basicamente, o S7-300 é formado por: Fonte de alimentação (não obrigatoriamente da Siemens) CPU Módulo de comunicação/expansão Módulos de Entradas Digitais e Analógica Módulos de Saídas Digitais e Analógicas Exemplo de uma configuração ‘completa’ de um S7-300 sendo: PS (Power Supply) – Fonte de alimentação, opcional; IM (Interface Module) – Módulo de interface, utilizado somente quando se deseja expandir o Rack; CP (Communication) – Módulo de comunicação, utilizado somente quando se deseja conectar o S7300 numa rede; DI (Digital Input) – Entrada Digital; DO (Digital Output) – Saída Digital; AI (Analog Input) – Entrada Analógica; AO (Analog Output) – Saída Analógica; FM (Function Module) – Módulo de Função: Contagem, Posicionamento, Controle de malha fechada. Esse conjunto de hardwares é montado num trilho específico parecido com o ‘DIN’. A ordem, de forma geral, é essa que listei acima, assim você mantém uma padronização que facilita desde a montagem dos painéis, a replicação de projetos eletromecânicos e estrutura dos softwares, promovendo ainda um comissionamento e/ou manutenção sem muitas dores de cabeça. Dica: Num conjunto, sem expansão, é possível alocar até 8 módulos (de funções diversas). O S7-300 tem uma particularidade: os módulos são conectados uns aos outros através do bus connector. Isto é, não existe um barramento propriamente dito. O ‘barramento’ é feito módulo a módulo através do bus connector. Assim, tenho que alertar para duas coisas: Ao se retirar um módulo ou o mesmo apresentar algum problema nesse ‘barramento’, os que estão a sua direita não terão mais comunicação com a CPU! Eu, particularmente, coloco os cartões de comunicação o mais próximo da CPU, caso aconteça alguma coisa, há menos chances de se perder a comunicação com a rede (aliás, o cartão IM tem um slot reservado ao lado da CPU…não é a toa!) Fisicamente, os módulos são conectados sem espaço entre eles, MAS, no software de configuração da Siemens, o slot 3 é reservado para o módulo IM, mesmo que o mesmo não esteja sendo utilizado. Detalhes do trilho, Bus connector e como inserir/extrair um módulo Olha o ‘cidadão’ aí nessa ilustração. Ele está em destaque (num circulo pontilhado) e tem o format de um ‘U’. Perceba que sempre sobrará um lado do conector à direita, para que se possa conectar o próximo módulo. No último módulo, não precisa colocar esse conector final. A ‘cara’ da CPU do 300 mudou um pouco, mas como ainda existem os dois tipos no mercado, seguem abaixo ambas, para não gerar dúvida. CPU ‘antiga’ do S7-300 Numa CPU antiga e básica do 300, existem alguns indicadores: Seletor de modo MRES = Função de reset da memória (Module Reset). STOP = Estado Stop; o programa não é executado. RUN = Execução do programa; possível o acesso ‘somente leitura’ a partir do PC. RUN-P = Execução do programa, possível o acesso ‘leitura/escrita’ a partir do PC. 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. Há ainda um slot para encaixe do Memory Card, outro onde se insere uma chavinha e um compartimento para a bateria. O Memory Card armazena as configurações e blocos de programação do CLP. A chavinha tem a função de mudar o estado da CPU: de “Stop” para “Run”/”Run-P/M Res” e vice-versa. A chavinha só sai em dois estados: ‘Stop’ ou ‘Run’. É uma chave, mesmo! Por último, existe ainda um conector fêmea para que seja feita a comunicação (MPI) entre a CPU e o PC, através do software de programação. Numa CPU antiga e com comunicação Profibus embutida, além do que foi dito acima, ainda existem as sinalizações: SF DP – Falha relacionada à comunicação Profibus DP; BUSF – Falha relacionada à comunicação Profibus DP; E, mais um conector fêmea, para que seja feita a conexão dessa CPU com a rede Profibus. Memory Card ‘antigo’ à esquerda e ‘novo’ à direita Na nova versão, não existe mais compartimento para bateria, pois as novas Memory Card não precisam de alimentação para manter as informações. Também não tem mais chavinha! Agora é uma linguetinha que muda de posição na vertical. O resto continua com a mesma função. Nova versão da CPU do S7-300 O Simatic S7-400 O filho mais velho da família, voltada para processos de médio e grande porte. Trata-se de um CLP modular, com vasta gama de módulos que quando combinados geram configurações das mais variadas. Assim, o usuário tem a liberdade de escolher exatamente o que precisa, sem ter que comprar um ‘conjunto’ de coisas para aproveitar uma ou outra funcionalidade (viu, parecido ao S7-300…rsrsr). Simatic S7-400 Diferente do S7-300, o S7-400 possui um Rack ao invés do trilho. Nele há um barramento que substitui o Bus Connector. Assim, cada módulo é alocado num slot desse Rack e a comunicação/alimentação deles é realizada pelo mesmo. As CPUs tem basicamente a mesma ‘cara’ que as do 300 só que alongadas, logo, nas antigas tinha a chavinha e o slot para o Memory Card. Nas novas, sem chavinha, porém com o Memory Card antigo. Outro detalhe importante: as IM para expansão do barramento, não são alocadas logo após a CPU (como no 300) e sim no final do barramento, como último módulo. CPU antiga à esquerda e nova à direita Perceba que, como o Memory Card continua o mesmo, ainda há a necessidade de bateria. Importante: O 400 possui tipos distintos de Racks, cada qual com quantidade de slotsdiferentes (4, 9 e 18) e que também diferem na funcionalidade: Racks centrais, de expansão e redundantes. Mas, como já disse, qualquer programação que fizermos no S7-300 vale para o S7-400, a diferença é que esse último tem mais capacidade que o primeiro. O software de programação de ambos é o mesmo. Inserindo um módulo Acima é possível ver como um cartão é inserido no slot. Tanto no S7-300, quanto no 400 existe uma guia na parte superior onde se prende o cartão e depois num movimento suave de rotação no sentido anti-horário e nesse eixo, prende-se o cartão. Para removê-lo, baste proceder ao contrário. No S7-300 o parafuso para fixação fica na parte inferior, no 400, na parte superior. O Simatic S7-1500 Sucessor do S7-300/400? Pulo do Gato: Existem muitos, mais muitos documentos disponíveis no site da Siemens sobre configuração, capacidade, características, primeiros passos, instalação, enfim tudo o que você possa imaginar e precisar tanto das CPUs quanto dos Módulos…Eis o endereço: Siemens Manuals. Pintscreen da página, mostrando à esquerda o menu Perceba que na parte superior irá aparecer um ‘menu’ e você vai escolhendo a opção clicando no sinal de ‘+’ vermelho, e, se aplicável, haverá uma expansão do menu em sub menus. Assim, sucessivamente você vai selecionando até chegar ao seu objetivo. No nosso caso, para ter acesso as informações do S7-300 e 400 basta seguir: Automation Technology -> Automation Systems -> Industrial Automation System SIMATIC -> PLC -> Modular Controller SIMATIC S7. Dica: Ainda, há outro link onde estão disponíveis fotos e desenhos com escala do hardware e de soluções para utilização em apresentações e para consulta (incluindo desenhos eletromecânicos): Imagens produtos Siemens. O menu de nagevação fica no canto direito, escolha o que deseja procurar e clique no botão “Search motifs”. Ufa! Vá digerindo lentamente essas informações…Na Aula 5, vou apresentar um ‘software’ que irá auxiliá-lo na escolha e configuração de um CLP Siemens. Anúncios Aula 5 – TIA Selection Tool Esse aplicativo, que pode ser instalado no seu computador, tem a função de auxiliá-lo a criar seu projeto de hardware, inclusive fornecendo uma lista dos componentes e acessórios que você precisará. É bem bacana e fácil de trabalhar, além de disponibilizar informações sobre cada um dos hardwares disponíveis. Dica: Todo produto Siemens possui um código chamado MLFB, por exemplo: Descrição CPU 315-2 DP MLFB 6ES7315-2AH14-0AB0 É através desse código que você realizará o pedido ao fornecedor. O caminho para instalação é esse: TIA Selection Tool. Bem no final da página tem um link “Start the TIA Selection Tool”. Clique nele e siga o procedimento de instalação. Devo admitir que os sites da Siemens mudam frequentemente, assim, se esse link estiver quebrado, basta digitar “Tia Selection Tool” no Google. Exemplo de configuração de um S7-300 1º) Clique em”New device”. 2º) Clique em “Controllers”. 3º) Clique em “SIMATIC S7-300”. 4º) Clique em “Set up device”. 5º) Altere/preencha os campos superiores conforme necessidade. 6º) Clique em “Configure”. Obs.: Na parte inferior você pode indicar se os módulos serão “Padrão” (Standard) ou “Contra falhas” (Fail Safe). Ainda é possível escolher se o CLP será instalado em áreas classificadas e tipo de montagem (horizontal/vertical). 7º) Aparecerá o trilho vazio e no canto direito um menu similar ao do gerenciador de arquivos do Windows. Lembrando da ordem (Aula 4), procure inicialmente pela Fonte (PS), depois pela CPU. Alguns itens possuem acessórios que serão exibidos num ‘popup’ para você escolher. No caso da CPU, o software mostrará a opção de escolher o “Memory Card”. 8º) Na sequencia, e pulando o slot 3, incluí um cartão de entrada digital. Ele tem como acessório o conector frontal. Perceba que na parte inferior, cada componente é listado, bem como o slot que ocupa. 9º) Finalizada a configuração, você pode clicar em “Order list”. Será exibida uma tabela semelhante a da imagem. Você ainda tem a opção de exportá-la. Com esse aplicativo, você pode selecionar os componentes que mais se adequam à sua solução, com a segurança de não esquecer nenhum acessório. Dica: Ele ainda tem outras opções, como configurar uma rede. Assim, explore cada detalhe, opção e divirta-se! Dica 1: Clique em “Project view“, no canto inferior esquerdo, para ter acesso a outras opções. Anúncios Aula 6 – Simatic Step 7 – Instalação Ufa! Após 5 aulas sobre hardware, chegou a hora de falar do ‘2º carro chefe’ do nosso curso: o software de configuração, programação e simulação dos CLPs da Siemens: o Step 7. Trata-se de um software completo, mas…chatinho de instalar no que diz respeito às modificações que ele faz no registro e configurações do computador. Devido a isso, se você for instalá-lo no seu computador pessoal, eu aconselho a criação de uma ‘máquina virtual’. Caso você não saiba o que é isso, no nosso canal do YouTube eu ensino como instalar o software da Oracle (Virtual Box) e como criar, passo-a-passo, uma máquina virtual com o Windows 7: Criando uma máquina virtual. Hardware recomendado Segundo o manual “STEP 7 Professional 2010 SR4 Engineering Software for SIMATIC S7 / M7 / C7”, o Step 7 não possui um hardware mínimo, mas sugere aquele recomendado para o próprio Sistema Operacional. Já, para a instalação, recomenda ter, no mínimo, 2GB de HD. Quanto ao Sistema Operacional MS Windows XP Professional SP3 (32 bit) MS Windows Server 2003 R2 SP2 (32 bit) Standard Edition as workstation computer MS Windows 7 (32 Bit) Ultimate, Professional Enterprise (standard installation), with SP1. MS Windows 7 (64-bit) Ultimate, Professional and Enterprise, with SP1. MS Windows Server 2008 R2 (64 bit), with SP1 as workstation computer. Por fim, ainda cita a utilização de máquinas virtuais, lógico que ele indica as da VMware que são pagas. Eu indico e uso a Virtual Box da Oracle que é gratuita Instalação É uma instalação padrão como qualquer software, mas possui algumas particularidades. Postei um vídeo no YouTube onde realizo a instalação do mesmo: Instalação do Step 7 e detalhes do Automation License Manager. Entre as particularidades, posso ressaltar: Será perguntado se o usuário quer inserir a licença (license key). Basta pular (skip) essa parte. Feito isso, o software está instalado, um atalho/ícone são criados na área de trabalho. Basta 2 cliques para abrí-lo. Opppssss, tá pedindo a licença, certo? Então, até isso a Siemens vende….rsrsr não basta você comprar o hardware, precisa comprar o software para parametrizálo Nesse ponto há duas opções: 1ª) Você tem uma licença: Neste caso, feche o programa e abra o “Automation License Manager”. SOMENTE através dele transfira o arquivo da licença para o computador, não tente ‘copiar’ e ‘colar’ pelo gerenciador de arquivos ou outro método, pois há um risco sério de perder a licença. No YouTube eu mostro como fazer isso Automation License Manager. (mais ou menos no tempo: 9m40s do vídeo. Obs.: Toda vez que você for formatar o computador, primeiro transfira a licença para o dispositivo original. Posteriormente, instale novamente. Eu recomendo a mesma coisa quando fizer um scan pelo anti-vírus ou desfragmentação do HD!!! 2ª) Você não tem uma licença: Nesse caso, meu amigo, a Siemens disponibiliza uma licença de 14 dias. Escolha essa opção e bom divertimento….pelo menos pelos próximos 14 dias (corridos, não úteis..rsrsr). Ainda existe uma versão para testes (trial), que está disponível aqui. Comunicação com o CLP A Siemens também tem o produto ‘PG’ ou Terminal de Programação. Trata-se de um tipo de notebook com os softwares necessários já instalados e licenciados, além de um conector MPI/Profibus para parametrização do CLP. A outra opção é utilizar um notebook ou desktop de mercado e comprar (etttaaaa nóóiiss) o PC Adapter para conseguir parametrizar o CLP. O PC Adapter é ilustrado na foto abaixo. Ele possui de um lado um conector USB (antigamente era Serial) e do outro lado um conector macho (MPI/Profubus DP). A comunicação pode ser MPI ou Profibus DP. PC Adapter “PC ADAPTER USB A2 USB-ADAPTER (USB V2.0) FOR CONNECTING A PG/PC OR NOTEBOOK TO SIMATIC S7 VIA PROFIBUS OR MPI USB CABLE 5M INCLUDED MPIKABEL 0,3M CAN BE USED UNDER WINXP/VISTA/ WINDOWS 7 32/64BIT”. A ligação é feita da seguinte forma: Ligação PC – PC Adapter – CLP Dica: Para se comunicar com o CLP eu recomendo, inicialmente, selecionar uma velocidade baixa. Depois, se necessário, pode-se testar com velocidades mais altas. O bacana é que, se você o conectar numa rede e com poucos ajustes, pode visualizar e parametrizar qualquer um dos CLPs da mesma! Report this ad Report this ad Aula 7 – O Simatic Manager Após a instalação do Step7 realizada na Aula 6, agora é hora de conhecer melhor os diversos ‘aplicativos’ que foram instalados. Digo isso, pois o Step7 pode ser considerado um conjunto de aplicativos gerenciados pelo Simatic Manager. Cada aplicativo tem uma função específica: configurar o hardware, desenvolver o software, etc… Estrutura de um Projeto no Simatic Manager O bacana da estrutura é sua similaridade com o Gerenciador de Arquivos do Windows, isto é, a janela é divida em duas partes: A da esquerda exibe as ‘pastas’ numa hierarquia de árvore (pastas e subpastas) e na da direita é exibido o ‘conteúdo’ de uma pasta selecionada. Exemplo de estrutura de um 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 é 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 níveis subsequentes: Dependem do tipo de objeto do próximo nível superior. Executando o Simatic Manager Para executar o “Simatic Manager”, basta clicar 2x com o botão esquerdo do mouse no ícone que foi criado na área de trabalho: Ícones criados após a instalação do Step 7 Todas as vezes que o Simatic Manager é aberto, há uma verificação automática de presença de ‘licença’. Assim, é provável que na primeira vez que você for rodá-lo, a seguinte informação irá aparecer: Automation License Management avisando que não encontrou uma licença para o Step7 Caso você possua uma licença, clique em “Skip” e utilize o “Automation License Manager” para transferí-la para o computador e depois rode o Simatic Manager novamente. Por outro lado, se você não tem uma licença, selecione “STEP 7” e clique em “Activate”, assim você estará ativando sua licença Trial de 14 dias. Quando o Simatic Manager é iniciado, a primeira tela que aparece é de um Wizard, para auxiliá-lo na criação de um projeto. Mas convenhamos que falar para vocês: “basta segui-lo” seria muito minimalista! Então, esqueça o Wizard, vamos fazer passo-a-passo. Dito isto, clique em ‘Cancel’. Wizard para a criação de um Projeto Se tudo deu certo, a tela abaixo será exibida. Simatic Manager sem projeto carregado Criando um novo projeto Selecione a opção de menu File -> New para abrir a caixa de diálogo “New“, que permite criar um novo projeto ou uma nova biblioteca: Informações necessárias na criação de um Novo Projeto No campo “Name” coloque um nome para seu projeto e confirme selecionando “OK“. NO meu caso, “Curso”. Nota 1. O campo “Storage location (path)“ mostra o caminho onde será gravado seu projeto. Nota 2. As opções “Libraries” e “Multiprojects” serão discutidas mais adiante. Projeto criado, mas sem conteúdo A barra de ferramentas do Simatic Manager contém uma série de ícones, muitos são padrão do Windows, outros específicos, conforme abaixo: Ferramentas do Windows / Simatic Manager Download: carrega o CLP com a programação e/ou parâmetros que estão armazenados no computador; Online: muda o ‘ponto de vista’ do Simatic Manager, exibindo a configuração/programação armazenados no CLP; Offline: exibe a configuração/programação armazenados no computador; Detalhe: no modo online serão exibidos, além dos blocos de programação que o usuário tenha descarregado no CLP, os blocos de sistema que já vêm, de fábrica, na CPU. Esses blocos começam com a letra ‘S’ de system. Simulate Modules: Ativa/Desativa a janela de simulação (PCLSim). Display Accessible Nodes: Tem mais sentido quando o computador está conectado a uma rede, pois a função dessa ferramenta é mostrar os ‘nós’ que estão acessíveis para o Simatic Manager. Isto é muito importante para analisar se sua rede está funcionando corretamente (deve mostrar todos os ‘nós’) e para ‘atuar’ remotamente, nos equipamentos (CLPs, IHM´s, etc). Criando um programa No menu “Insert” escolha “Program” e “S7 Program”. Caso essa opção não esteja habilitada, clique no nome do projeto e tente novamente. Será criado um “S7 Program”, logo abaixo do nome do seu projeto e vinculado ao mesmo. Inserindo um S7 Program Para trocar esse nome, clique com o botão direito do mouse e selecione “Rename”. Eu escolhi: ‘Programa_Teste’. Escolha um nome que facilite sua identificação. Trocando o nome do S7 Program Todos os programas são criados com um único bloco de programação o OB1, veremos o porque disso mais adiante. Por enquanto, vamos utilizar a biblioteca do Step 7 para inserir um bloco padrão já criado pela Siemens. No nosso caso, vamos escolher o FC105: siga o procedimento: no menu “File -> Open – > Libraries -> Standard Library” e ‘OK’. Bibliotecas do Step 7 Poderá aparecer uma janlea dizendo que são blocos protegidos, blá..blá..blá, clique em ‘OK’. Putz! Seu projeto sumiu? Não se preocupe, na verdade o Simatic Manager trabalha com “windows”, assim foi criada outra janela para a Standard Library. Você pode ‘navergar’ pelas janelas no menu “Window”: Menu Window que exibe as janelas abertas e qual está ativa No canto superior direito, na mesma linha dos menus “File”, “Edit”, etc, clique no ícone do meio para restaurar o tamanho da janela. Com o auxílio do mouse, posicione uma ao lado da outra. Agora, siga o caminho: TI-S7 Converting Blocks -> Blocks. Encontre o bloco FC105, clique com o botão esquerdo do mouse, mantenha-o pressionado e arraste até a pasta ‘Blocks’ do ‘Programa_Teste” e solte o botão. Pronto, uma cópia do bloco FC105 foi copiado para o seu projeto. Utilização de blocos padrão do Step 7 Mas, qual seria a função do FC105? Um método muito eficiente para descobrir isso é selecionar o objeto, no caso o bloco FC105, e pressionar F1. Exemplo da utilizado do F1 Dica: Esse procedimento é uma ‘mão na roda’! A maioria das explicações é bem completa, inclusive com algum exemplo de utilização. É isso aí, na próxima aula veremos como configurar o hardware. Até lá! Aula 8 – Configuração do Hardware Nessa aula, aprenderemos como inserir estações de hardware, como incluir módulos, CPUs, fontes e como configurá-los. É uma etapa muito importante do projeto, requer atenção e cautela. Antes de mais nada, é preciso incluir uma estação (Station) no seu projeto. Para tanto, basta seguir: Menu ‘Insert -> Station -> Simatic 300 Station’, pois no nosso caso iremos trabalhar com a CPU S7-315-2DP. Assim, dependendo do seu projeto, você terá que escolher Simatic 400 Station, Simatic H Station, etc. Inserindo uma estação do S7-300 Claro que você poderia escolher outro tipo, mas como vamos tratar do S7-300 essa foi a escolha adequada. Estação inserida no projeto ‘Curso’ Feito isso, você notará que foi criada uma ‘Pasta’ Simatic 300(1). Perceba que o Simatic Manager não excluiu o “Programa_Teste”, muito menos o vinculou com o S7-300. É exatamente por isso que ao nomear um S7 Program, você deverá sempre colocar um nome que identifique, claramente, a função do mesmo, ou para qual equipamento do processo ele se destina. Bom, já informamos ao Simatic Manager que utilizaremos uma Estação do S7-300, agora, precisamos indicar todos os cartões que fazem parte dessa estação, isto é, vamos configurá-la. Para isso, clique na pasta “Simatic 300(1)”, do lado esquerdo aparecerá “Hardware”. Hardware Config Dê duplo clique nele. Aparecerá a seguinte janela: Hardware Config (HW Config) Esse é o “HW Config”. Perceba que há uma grande área vazia (no meio) e, lateralmente, um Menu com opções de hardware. Dica: Caso esse menu lateral não esteja aparecendo, basta clicar no ícone ‘Catalog’: O espaço vazio no meio, é onde serão montados os componentes do CLP (fonte, CPU, cartões de I/O, comunicação, etc). Bom, a primeira coisa é selecionar o RACK, que no caso do S7-300 é o “rail”. Basta procurá-lo no menu lateral e clicar duas vezes nele. Vamos começar pela fonte. Procure por PS (Power Supply), veja que você terá várias opções. O legal é que ao selecionar uma delas (apenas um click) o “slot” permitido é destacado em verde e uma breve descrição do componente aparece na parte inferior direita. Lembra do MLFB? Então, olha ele aí na descrição! Detalhe do slot onde será inserida a fonte (PS) Tendo certeza de que é o componente correto, dê duplo click e, automaticamente, o componente é inserido no “slot”. Seguindo a ordem apresentada nas aulas anteriores, vamos inserir a CPU. Um detalhe das CPUs com 2DP é o fato delas já terem um cartão de comunicação Profibus embutido. Assim, ao selecionar uma CPU desse tipo aparecerá uma janela para parametrização da comunicação Profibus. Clique em “cancel” pois não iremos tratar desse assunto nesse momento. CPU selecionada e opção para configurar a Rede Profibus DP Preencha os outros “slots” conforme a figura abaixo. Perceba que o “slot” 3 é reservado para expansão. Dica: Você encontrará os cartões na opção SM-300 (Signal Modules) Cartões de Entrada (I) e Saída (O) inseridos Veja que temos uma Estação S7-300 com uma CPU 315 2DP, e os seguintes cartões: 1 Cartão de Entrada Digital (DI) com 16 entradas – 24Vcc. 1 Cartão de Saída Digital (DO) com 16 saídas – 24Vcc. 1 Cartão de Entrada Analógica (AI) com 2 canais 1 Cartão de Saída Analógica (AO) com 2 canais Além da Fonte 😉 Dica: Note, na parte inferior, que uma “tabela” é gerada com algumas características dos módulos. Foque nas colunas I address e Q address. Esses números são os endereços dos cartões que você utilizará na programação. Falando em endereços, vamos dar uma pausa na configuração do hardware e vejamos como os CLPs da Siemens tratam os endereçamentos: Endereçamento Bom, inicialmente, devo dizer que o HW Config e os CLPs já possuem um esquema automático de endereçamento. Isto é, cada vez que você adiciona um cartão, automaticamente, o HW Config já reserva um endereço para ele. No nosso caso, perceba que o DI16 tem endereçamento: “0…1” e o DO16: “4…5”. Cada cartão de I/O possui o número de canais múltiplos de 8 (1 byte = 8 bits, lembra?). Assim, temos cartões de 4, 8, 16, 32 canais. Logo, no nosso caso os cartões de I/O tem 2 bytes de canais (16 cada cartão). Assim, o número “0…1” no cartão de entrada digital indica que o primeiro byte de canais começa no 0 e que o segundo byte, no 1. Como cada byte tem oito bits, o endereço fica assim: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7 e 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7. Ufa…não se preocupe, parece complicado, mas com o tempo você irá se acostumar. O mesmo vale para os canais de saída, no nosso caso: 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 e 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7. Abaixo, há um esquema da distribuição do hardware num Rack, perceba que o total de cartões é 7. Além disso, o endereçamento dos bits de um cartão é de cima para baixo, da esquerda para a direita: Exemplo típico de uma distribuição Dúvida comum entre todos nós, que um dia nos deparamos com esses números: Qual o motivo de pular de 1 para 4? Isto é, primeiro cartão: “0….1” e segundo cartão: “4…5”. A resposta NÃO é porque um é de entrada e o outro de saída digital! Oras, o que aconteceu com os bytes 2 e 3, então? Vou além, minhas saídas não poderiam começar do byte 0, também? A resposta é bem simples: Conforme já comentei, os cartões podem ter 32 canais, ou seja, 4 bytes. Dessa forma, ao adicionar um cartão o HW Config “reserva” 4 bytes para ele, mesmo que o mesmo tenha menos canais!!! Veja o quadro abaixo: ele indica os endereços por “slot”. Endereçamento padrão Perceba que o primeiro “slot” disponível para cartões é o 4 e os endereços (bytes) reservados para ele são o 0, 1, 2, e 3. Para o “slot” 5: 4, 5, 6 e 7…e assim por diante. Logo, como no nosso caso o cartão de entrada digital DI está no “slot” 4, os endereços são 0.0à 1.7. Como o cartão de saída digital DO está no “slot” 5, os endereços são: 4.0 à 5.7. Mas……(puxa vida, sempre tem um “Mas”….) Você pode querer que sua saída digital também comece com o endereço 0. O HW Configpermite isso (para alguns tipos de CPU), basta dar um duplo click no cartão desejado. Uma janela nova irá aparecer, na aba “Addresses” retire a seleção “System default” e no campo disponível, indique o endereço inicial que você quer colocar no seu cartão. Alterando o endereçamento padrão Eu, particularmente, não aconselho a fazer isso. Simplesmente pelo fato de manter a padronização. Imagina que daqui há algum tempo você ou outra pessoa terá que fazer modificações na programação/hardware. Quanto mais padronizado for seu projeto, mais fácil e menos suscetível a erros será qualquer interversão (modificação/ampliação/manu-tenção). Outra dúvida: Fazendo isso, meus dois cartões (DI e DO) teriam como endereços: “0…1”. Não há conflito? A resposta é: Não! Desde que sejam cartões com funcionalidades distintas: DI e DO, por exemplo. Para finalizar, a CPU também possui uma série de parametrizações/propriedades. Para fazermos um primeiro teste, vou explicar a “Clock Memory”. Clock Memory Clique duas vezes na CPU 315-2DP, aparecerá uma nova janela. Selecione “Cycle/Clock Memory”. Na parte inferior, faça um check em “Clock Memory”. Perceba que o campo logo à direita ficou disponível para receber um valor. Digite 10. Dê um “OK”. As CPU da Siemens, possuem um “clock” interno. Esse “clock” é formado por um byte e cada bit fica alternando entre 0 e 1 em intervalos de tempo (frequências) diferentes: Frequências de um byte designado para Clock Memory Ao colocar o valor 10, você está dizendo para a CPU que o byte 10 deverá repetir esse “pisca-pisca” bit por bit, cada qual na sua frequência, conforme a tabela acima. Com isso, acabamos de configurar nosso hardware. Devemos agora, compilar (para ver se há algum erro) e salvar. Existe um botão que faz as duas coisas: O ícone do disquete com “zeros e uns”: Botão “Compile/Save” e “Download”, da esquerda para a direita Ainda, na figura acima, perceba que há outro botão em destaque. Ele serve para “descarregar” a configuração do Hardware para o nosso CLP. Por enquanto, apenas compile e salve sua configuração de hardware. Na próxima aula, faremos um programinha simples utilizando o Clock Memory! Até lá! Anúncios Aula 09 – Pequeno Programa…Grandes Conceitos Enfim, chegou a hora de aprendermos os conceitos envolvidos na parte “software” do CLP, ou seja, sua programação. Para isso, vamos finalizar a Aula 8 com o teste do “Clock Memory”, onde parametrizamos o byte 10 para ter seus bits “piscando” com diferentes frequências. Essa primeira programação será nosso pontapé inicial para estudo dos conceitos envolvidos. É importante, nesse momento, introduzir de forma rápida o conceito de “memória interna” do CLP. Trata-se de uma posição na memória do CLP onde podemos guardar, temporariamente, valores. Para acessar esse área, temos que utilizar a letra “M” antes do endereço que desejamos “ler” ou “escrever” algo. Logo depois, precisamos informar ao CLP que tipo de informação queremos, ou seja, se for um único bit não colocamos nada depois da letra”m”, entretanto, precisamos indicar qual bit queremos dentro de um byte (lembre-se: um byte tem 8 bits, numerados de 0 a 7). Assim, no nosso caso, o byte 10 foi parametrizado para piscar, se queremos “ler” o terceiro bit desse byte, temos que escrever: M10.2 (lembre-se: começa com “0”), onde o primeiro número é o byte e o segundo, o bit. Representação da área memory de um CLP Agora, se queremos “ler” ou “escrever” num byte inteiro, devemos colocar a letra “B” após o “M” e depois o número do byte, por exemplo, MB10. Dito isso, vamos “ler” o byte 10 de nosso CLP…Ué, e onde vou “ver” esse byte e seus respectivos bits? Bom, nesse caso, precisamos fazer um pequeno programa. Esse programa envolve outros dois conceitos muito importantes que vou introduzir de forma rápida, mas que serão esplanados detalhadamente mais adiante, assim como, o conceito de memória interna. O primero conceito são os “Blocos de Programação”: O CLP não aceita que a programação seja feita de qualquer jeito. É preciso organizá-la em blocos. Um dos blocos mais importantes, senão O mais importante, é o OB1. Isso pode ser confirmado quando abrimos a aba de programação do Step 7: o OB1 é o único bloco que já vem previamente gravado, os outros temos que criar manualmente. O segundo conceito são as “Linguagens de Programação”: O CLP, por padrão (norma IEC 61131) , deve aceitar, no mínimo, três tipos de linguagem de programação: Ladder(LAD), Texto Estruturado (STL) e Diagrama de blocos (FBD). Vamos trabalhar inicialmente com LAD. Nossa intenção é “mover” os valores guardados no byte 10 da memória interna para um local onde podemos vê-los (isto é, o conteúdo armazenado nesse byte). Vou utilizar uma saída digital para isso, pois ela possui leds frontais que acendem quando o valor é “1” e apagam quando é “0”. Para “mover” os valores da memória interna para a saída digital, vamos utilizar um “bloco de programação” chamado MOVE, como o nome já diz: ele “move” valores de um local para outro Bom, vamos ao exemplo prático para consolidar essas informações. Antes de mais nada, vou apagar o “Programa_Teste” para não confundir. Basta selecioná-lo e apertar “delete” no teclado. Apagando o “Programa_Teste” Agora, para chegar até o “S7 Program” do seu S7-300, basta clicar no sinal de mais (+) ao lado do Simatic 300(1), depois novamente no sinal de mais (+) ao lado da CPU 315F-2 DP e por fim, no sinal de mais (+) ao lado do “S7 Program(3)” (obs.: esse número entre parenteses é porque fui criando s7 programs um atrás do outro e ele vai numerando, pois não pode haver “S7 Programs” com mesmo nome). A tela ficará assim: Expandindo as pastas de um S7 Program Perceba que existe uma pasta chamanda “Blocks”. É exatamente aí que seus blocos de programação deverão estar. Clicando nessa pasta, veremos do lado direito dois elementos: System Data e OB1! Lembra? Eu falei que, de tão importante, o OB1 já é criado pelo próprio Step7! Agora, para programar o OB1, basta clicar duas vezes nele. Como é a primeira vez que o OB1 será aberto, aparecerá uma janela pedindo algumas informações: Abrindo um bloco de programação pela primeira vez Nela janela, temos alguns destaques: Symbolic Name, Symbol Comment e Create in Language. Os dois primeiros são relacionados a símbolos que podemos criar para facilitar o entendimento da programação, isto é, ao invés de aparecer “OB1” na minha programação, poderia escolher o Symbolic Name “Bloco principal”, ou qualquer outro nome. Agora, na opção Create in Language posso escolher uma das linguagens de programação do CLP, no caso optei por LAD. Futuramente, falaremos de todas elas Por fim, clique em “OK”. A seguinte janela será aberta: OB1 ainda sem programação, aberto na visão LAD Como disse anteriormente, o Step 7 pode ser considerando como um conjunto de programas, cadas qual com sua função: O HW Config para configurar o hardware e agora o LAD/STL/FBD onde faremos a programação de nossos blocos. Perceba no canto superior esquerdo: “LAD/STL/FBD – OB1”. Justamente porque estamos programando o OB1! Sem muito blá, blá, blá: essa linha vertical e horizontal é nossa “linha de programação”. Como a LAD funciona através de “contatos” tipo os de relé (aberto / fechado), podemos imaginar que a minha fonte de tensão parte da esquerda (linha vertical) e segue pela linha horizontal. Onde ela chega, o bloco é executado, onde ela não chega o bloco não é executado. Vejamos o exemplo abaixo: Exemplo de um bloco que sempre será executado Para colocar esse bloco na linha de programação, você pode: 1. Selecionar a linha horizontal. Ela ficará verde 2. Selecionar o bloco “MOVE” no menu do lado esquerdo e clicar duas vezes nele. OU 1. Selecionar o bloco “MOVE” no menu do lado esquerdo e arrastá-lo para a linha horizontal. Perceba que um bloco “MOVE” foi inserido na linha e do seu lado esquerdo está a entrada “EN” e do seu lado direito “ENO”. “EN” significa Enable ou (ativo, habilitado…) isto é, se não houver interrupção entre a linha vertical (fonte de energia) e o “EN”, esse bloco será executado pelo CLP. O “ENO” significa Enable Output, ou seja, se a programação interna do bloco for executada corretamente, a energia continuará fluindo pelo “ENO”, senão, não. Assim, blocos que estiverem ligados depois serão ou não executados. Outra coisa, o bloco “MOVE” possui dois parâmetros que precisam ser preenchidos: “IN” e “OUT”. Perceba os sinais de interrogação vermelhos (nem um pouco chamativo!). Bom, cada bloco terá seus próprios parâmetros. Como a função do “MOVE” é mover um valor de um local para outro, no “IN” colocamos o endereço de origem do valor e em “OUT”, colocamos o endereço destino. No nosso caso, o endereço de origem é MB10 e o de destino é o primeiro byte do cartão de saída. Observando lá na Aula 8, veremos que o cartão de saída tem os endereços 4…5. Assim, podemos escolher o byte 4 ou o byte 5. Mas, simplesmente, colocar o número “4”, por exemplo, no “OUT” não é correto, pois “4” pode ser várias coisas no Step 7. Como eu quero colocar o valor no byte 4 de um cartão de saída digital, devo colocar a letra “Q” na frente. Ah, lembre-se: trata-se de um byte inteiro que quero mover, assim além da letra “Q” preciso colocar a letra “B”. Assim: Bloco MOVE parametrizado Pronto. Quando o CLP chegar nesse ponto da programação ele vai pensar assim: “O bloco MOVE está habilitado, então devo mover algo. Vejo que devo pegar o valor que está armazenado na memória interna, byte 10 (MB10) e movê-lo para a saída digital byte 4 (QB4).” E assim, ele o fará! Detalhe: o valor não será apagado da MB10, apenas “uma cópia” será colocada no QB4!!! Muito bem, feito isso posso salvar o OB1. Tenho duas situações agora: a) No caso de ter feito apenas algumas alterações no OB1 durante o comissionamento, isto é, estou conectado diretamente ao CLP e estou fazendo alguns testes, posso “descarregar” (download) o OB1 diretamente. Basta selecionar a opção (desenho de download), se já houver um OB1 na CPU o Step 7 avisará que a operação irá sobrescrever o OB1 existe, basta aceitar. b) Agora, ainda não “descarreguei” nada na CPU: nem hardware, nem software. Então, a opção mais indicada é: Fechar o LAD, STL, FBD. Retornar no Simatic Manager, selecionar “Simatic 300(1)” (no nosso caso) e clicar em download. Automaticamente, hardware e software serão enviados à CPU. Aparecerá um aviso dizendo que o “System Data” será sobrescrito, basta selecionar “Yes”. Detalhe importante: para fazer o download, ou seja descarregar algo no CLP eu preciso estar conectado ao mesmo e ele deve estar no modo “Stop” ou “Run-p”. Se estiver em “Run”, a CPU não aceitará nova programação. No nosso caso, como não tenho um CLP físico, preciso abrir o simulador (PLCSIM). Será aberta a seguinte tela: PLCSIM Perceba, à esquerda, uma representação da CPU com os destaques: chave “Run, Run-P e Stop” os leds “Stop” e “RUN”. A direita, na parte superior, as opções: Entrada, Saída, Memória, Temporizador e Contador. Assim, precisamos colocar os cartões conforme necessidade. No nosso caso, eu enviei o MB10 para um cartão de Saída Digital. Então vou inserir uma Saída para representá-lo. Basta clicar no ícone “Saída” da imagem acima. Será inserida uma representação de um cartão de saída. Como no nosso caso, o endereço é 4, basta colocar QB4. Deixei na opção “bits” para podermos ver bit a bit, mas nada impede de você escolher as outras opções para ter ideia das possibilidades. Agora, posso fazer o download conforme comentado acima, e colocar a chavinha da minha CPU em “Run” ou “Run-p”. Byte 4 da Saída Digital Veja o que ocorre com os bits da saída digital!!! Cada um piscará numa frequência diferente. Detalhe: quadradinho “ticado” significa saída em “1”, quadradinho sem estar “ticado”, saída em “0”. Muito legal, né! Tente colocar a memória mb10 e veja o resultado. E, agora, coloquei duas vezes a representação bit e decimal. Olhe o resultado: memória MB10 só que com Duas representações do valor de MB10: Bit a Bit e em decimal O que significa: 176 na representação “Decimal”? Ora, como vimos nas aulas anteriores, um conjunto de 8 bits (byte) pode ser convertido em valores decimais, dessa forma o conjunto de oito bits com os valores: 10110000, em decimal, será 176! Confira numa calculadora científica É isso, na próxima aula nos aprofundaremos e muito, na arte da programação de CLPs!!! Report this ad Aula 11 – Arquitetura e Edição de Blocos Muito bem, estamos entrando num assunto muito bacana e que irá abrir sua mente para várias possibilidades de programação! Os conceitos envolvidos são muitos, então será uma aula um tanto quanto extensa. Assim, não exite em voltar e ler novamente e novamente e novamente…vale a pena Existem, basicamente, quatro blocos de programação, cada qual com características próprias: OBs, FBs, FCs e DBs. OB (Organization Block) Como o nome já diz, os Blocos de Organização tem a função de organizar as chamadas diretas à outros blocos. Nessa categoria que entra o OB1, um dos mais importantes (senão o mais importante) bloco de uma programação. Como já mencionei anteriormente, ele é o único bloco que é executado pelo CLP, numa programação básica. Isto significa que posso ter centenas de FBs, FCs na minha programação, mas se não tenho o OB1…nada acontece…o CLP “ignora” os outros blocos. Além disso, o OB1 é chamado ciclicamente. Assim, você poderia argumentar: “Então é melhor colocar toda a minha programação no OB1?”. Eu responderia: “Poder pode, mas não deve!”..rsrsr. Leve em consideração a padronização e organização de sua programação! Basta fazermos um exercício mental: Pense no seu processo, em cada etapa/equipamento que será automatizado, agora junte tudo num local só….que bagunça! FC (Function) Pensando nisso, foi criado um segundo tipo de bloco: o FC (Function). Nele você pode realizar a programação setorizada ou por equipamento de sua planta. Assim, se você precisar mexer em determinada programação ou realizar testes, etc…você saberá exatamente em qual FC deverá atuar. Digamos, por exemplo, que você tenha uma esteira, um agitador e um tanque. Nada impede (e é até aconselhável) que você faça a programação de cada um deles em FCs diferentes! Existe ainda um “pulo do gato”, quando se trata de FCs: FCs parametrizáveis. Vamos falar deles mais adiante…você vai achar muito legal! FB (Function Block) Um outro bloco, semelhante ao FC é o FB (Function Block). Tudo que você faz num FC, pode fazer num FB! A diferença é que um FB SEMPRE precisará de um bloco de dados (DB) associado, chamado de Instance Data Block. DB (Data Block) Com isso, chegamos ao último tipo: o DB (Data Block). Trata-se de uma área de memória que pode ser organizada para armazenar diversas informações do seu processo e/ou para auxiliar os FCs e FBs. O interessante é que esse Bloco é apresentado no formato de uma tabela, o que facilita demais sua visualização e interface. Um DB pode ser genérico, isto é, ser acessado por qualquer bloco ou então pertencer a um bloco específico, nesse último caso, recebe o nome de Instance Data Block (conforme visto acima). Figura 11.1 – Exemplo de um Data Block (DB) Chamadas (Calls) A CPU, a princípio, só reconhece o OB1. Assim, todos os outros blocos devem possuir chamadas dentro do OB1 (chamada direta) ou então, possuir chamadas dentro de blocos que estão sendo chamados pelo OB1 (chamada indireta). Assim, pode-se criar uma “cascata” de chamadas de blocos na programação. Existem variantes para os blocos FCs e FBs, os chamados SFCs e SFBs. O “S” vem de “System” e já estão alocados na CPU do CLP. Eles são blocos que foram criados pela Siemens e contêm uma programação específica, porém, muito usada. Então, qual o motivo de não deixar isso pronto? Certo? Por exemplo: um bloco para verificar a comunicação Profibus, outro para fazer uma “regra de três” direta, e assim por diante. Figura 11.2 – Tipos de Blocos e cascata de chamadas Tipos de Estruturas de Programação Como já mencionei, a programação precisa ser organizada e o programador deve ter noção de como o CLP trata os mais diversos tipos de valores e suas atualizações. Assim, a primeira coisa que precisamos saber é que a programação será sempre executada de forma cíclica! Isto é, o CLP executará uma sequência de blocos e assim que finalizá-la…ele recomeça! Você pode perguntar: “Poxa, de que outra forma seria, senão ciclicamente?”. Ao qual eu responderia: “execução por interrupção” ou “por mudança de estado”, por exemplo. Mas, por enquanto, atente-se ao fato: “O CLP executará a programação de forma cíclica”. Figura 11.3 – Tipos de Estruturas de Programação Programa Linear Quando colocamos toda nossa programação no OB1, por exemplo, estaremos fazendo a chamada programação linear. Como argumentei no início da aula: evite essa prática. Programa Particionado Utilizando o princípio de dividir a lógica em setores/áreas ou por equipamento, você deixará sua programação mais fácil de ser entendida, alterada e comissionada! Nesse caso, você utilizará FCs, FBs, DBs para separar a programação por área/setor ou equipamento. Programa Estruturado Lembra do “pulo do gato” que falei acima? Então, imagine que você tem três bombas (A, B e C) para serem automatizadas. Você faz a programação, por exemplo, da bomba A no FC10, da bomba B no FC20 e da Bomba C no FC30. Daí percebe: “Ué a programação é a mesma, só mudam os endereços das entradas/saídas digitais, das áreas de memória, contadores, temporizadores, etc”. Figura 11.4 – Exemplo de programação do FC10 para a Bomba A Nesse caso, você pode fazer a programação num único FC de forma genérica, isto é, você não colocará o endereço específico da bomba A, B ou C. Vai deixar tudo genérico. Por exemplo, aqui preciso de um bit de uma entrada digital, ali preciso de uma área de memória de formato “word” e assim por diante. Para isso, você deve criar esses endereços genéricos na parte superior do FC em “Interface”. Veja abaixo que criei dois endereços de entrada (Local_Remoto e CMD_Liga_Bomba) e um de saída (Saida_Liga_Bomba). Detalhe: o sinal # na frente do nome indica que ele é genérico e não um símbolo! Figura 11.5 – Exemplo de programação do FC10 para qualquer bomba Digamos que os endereços para cada bomba são esses mostrados abaixo: Figura 11.6 – Tabela de endereços das Bombas A, B e C e genérico Feito isso, quando você chamar esse bloco dentro de sua programação, o Step 7 pedirá que você indique cada endereço específico para a bomba A, por exemplo. Figura 11.7 – Chamada do FC10 (genérico) no OB1 Basta clicar em cada ??.? e ir digitando os endereços específicos para a Bomba A. Depois, ao chamá-lo novamente para a bomba B, o Step 7 pedirá que você preencha cada endereço para a bomba B e assim por diante. Figura 11.8 – OB1 com três chamadas do FC10(genérico) mas parametrizado para as Bombas A, B e C Desse modo, você criou um bloco “parametrizável” que poderá ser utilizando quantas vezes forem necessárias! PII e PIQ O programador deve ter em mente como a CPU trata os sinais de entrada e saída. Isso é muito importante para evitar erros na programação por falta de conceito. Existem duas áreas distintas na CPU que são chamadas PII e PIQ, respecitivamente, Imagem de Processo de Entrada e Imagem de Processo de Saída. Basicamente, são tabelas que contêm o valor das entradas e saídas, e a programação “busca/grava” esses valores durante a execução da programação. Figura 11.8 – Imagem de Processo de Entrada (PII) e Imagem de Processo de Saída (PIQ) Imagine que se a cada hora que a programação precisasse do estado de uma entrada digital a CPU tivesse que “solicitar” essa informação e a entrada digital enviasse o valor. Teríamos dois problemas: 1. Essa comunicação leva tempo (variável para cada tipo de cartão, informação disponível no manual do mesmo). Assim, a CPU perderia muito tempo tendo que esperar a informação chegar. 2. Imagine, por exemplo, que no começo da programação o valor da entrada digital I 4.6 fosse ‘0’. O programa executaria o programa com essa informação. Depois, no meio do ciclo, essa entrada mudasse para ‘1’, daí o programa seguiria outro caminho, totalmente diferente. Seria uma bagunça! Outro exemplo: você faz uma lógica que leva a saída digital Q 10.3 para ‘1’. Digamos que isso acionaria um motor. Daí, um pouco mais para frente na programação, há uma outra lógica que faz Q 10.3 ir para ‘0’, logo o motor iria parar. Loucura! Seria um pisca-pisca de natal com um motor! Diante do exposto, devo acalmá-lo: o CLP não age assim! Na verdade, no início de um ciclo (lembre-se: a programação é cíclica) a CPU pede o valor de todas as entradas e os armazena na PII. Os cartões de entrada são solicitados APENAS nesse momento! Durante a execução das lógicas, a CPU consulta a PII pegando os valores que forem sendo necessários. Assim, durante todo o ciclo, o valor de uma entrada digital será o mesmo! Da mesma forma, os valores das saída são atualizados, durante o ciclo, na PIQ. No final, a CPU envia, para as saída digitais, os valores armazenados na PIQ. SOMENTE nesse momento que os cartões de saída são atualizados! Finalizado o ciclo, ele recomeça. Figura 11.9 – Execução cíclica de um CLP Perceba, na figura acima, que existe o OB100 (Start-up), porém diferente do OB1, ele é executado APENAS uma vez, por exemplo, após um “power on” quando você muda o estado da CPU de ‘Stop’ para ‘Run’. Outra coisa que pode ser observada na figura é o “Início da monitoração de tempo de cíclo”. É como se a CPU acionasse um cronômetro e fosse observando o tempo. Se esse tempo ultrapassar um valor parametrizado no CPU antes do ciclo acabar, será gerada uma falha. A essa função, dá-se o nome de “Watchdog”. O “cronometro” é resetado no final do ciclo. Figura 11.10 – Configuração do tempo “watchdog” Por fim, ainda observando a figura, temos “interrupções hora-do-dia, interrupções de hardware”, que podem ser executadas durante o ciclo. Novamente, como já disse existem muitos tipos de blocos OB, já vimos o OB1 e o OB100. Um outro tipo é o de interrupção hora-do-dia. Trata-se de um bloco cuja programação só será executada num determinado horário e não ciclicamente. Outro tipo, o de “interrupção de hardware” ocorre, por exemplo, quando um cartão apresenta um problema e ‘avisa’ a CPU, nesse instante ocorre a execução de um OB desse tipo. Figura 11.11 – Tipos de Interrupção e respectivos OBs Vale ressaltar que quando isso ocorre, a programação cíclica é interrompida e retomada após a execução desses OBs. Tudo isso deve ser considerado na hora de parametrizar o tempo de “whatdog”. Bom, continuaremos na próxima aula!