então gravação iniciada uma boa noite hoje é Nossa quarta aula né de sistemas lógicos programáveis da uc11 eh hoje nós vamos falar da instrução mve vou falar dessa instrução vou falar um pouquinho aí também da de operadores matemáticos só pegar minha canetinha aqui só um minutinho ela sempre some no início da aula pronto vou falar um pouquinho de operadores matemáticos e também de programação estruturada a a ideia da programação da programação estruturada você vai vocês vão ver aí que é bem legal né como a o essa quantidade de aula de vocês Ela é bem enxuta
né bem pequena eu reuni esses três aqui em uma única aula porque na próxima aula a gente já vai começar a falar de sistema de supervisório né então a aula 6 7 8 são as três últimas aulas nós vamos falar de sistema de supervisório aí a gente utiliza o codis mas a gente utiliza o codecs para realizar a programação que a gente vai mandar né lá do supervisório Mas hoje nós vamos falar então da instrução move de operadores matemáticos e da programação estruturada a programação estruturada é bem legal porque com a programação estruturada vocês vão
ver que a gente consegue otimizar os programas né então eu consigo Diminuir a quantidade de linhas ali do meu programa quando eu realizo uma programação estruturada Tá eu vou mostrar vou explicar direitinho fica atento aí com relação à entrega da atividade TR ela vence dia 4/03 né então Essas atividades EAD aí são ajuda bastante aí né na questão da pontuação Então apesar do dia 4 eh ser considerado feriado né mas a gente já vai continuar recebendo as atividades do mesmo jeito né o o os alunos terão que entregar até o dia 4 Bom vamos lá
então né sem mais delongas começar a falar aí da instrução move olha só que legal eh essa instrução move aqui é uma instrução muito simples de utilizar o que que ela faz quando você habilita o n quando o meu n é verdadeiro Ele carrega este valor que tá aqui para uma saída qualquer Ok então basicamente ele faz isso ele movimenta valores então se eu preciso de movimentar um valor dentro do meu meu programa eu vou usar a instrução move eh uma característica da instrução move aqui é a seguinte olha só a variável de saída ela
tem que ser compatível com o que tá aqui na minha entrada tá então a instrução move ela possui duas entradas a entrada em e a segunda entrada do eh do bit ou do arquivo ou do que eu quero mover lá pro para variar de saída tá a única ressalva é que elas têm que ser compatíveis que que é isso vou explicar Quando você vem aqui no seu programa lá no CLP e começa a fazer a programação quando você cria lá um botão e você associa esse botão uma variável que que ele faz o CLP ele
vem aqui na memória ele tem uma memória interna né uma memória grande aqui então ele chega aqui na memória e faz o seguinte ele aloca um pedacinho dessa memória aqui e por exemplo ele fala assim ó essa memória aqui ela é do botão S1 se é uma memória digital né ele entende o S1 como digital ele faz o seguinte olha ele já atribui tipo para essa variável então ele fala que ela é boana então a gente já sabe que a variável boana a gente só pode armazenar verdadeiro ou falso né zero ou um quando eu
crio uma variável igual a este exemplo eu tô movendo um valor inteiro paraa minha memória m0 então quando eu for criar essa memória m0 o controlador ele vem aqui ó e me pergunta qual o tipo dessa memória Então eu tenho que falar para ele olha aqui é a m0 então ele vai lá e aloca um pedacinho dessa memória e ele fala assim ó essa memória aqui ela é do tipo int então aqui dentro eu posso gravar qualquer valor inteiro 0 1 2 3 4 5 6 7 entendeu qual qu que valor inteiro -1 -2 Tá
certo eu não consigo armazenar aqui dentro por exemplo verdadeiro ou falso verdadeiro ou falso a minha memória ela tem que ser do tipo boana vamos supor que eu queira usar lá no meu programa uma instrução move e aí eu falo assim olha eu quero mover vou usar uma instrução move e eu falo assim ó quando o meu n for habilitado eu vou mover T jogo da velha 3 segundos então quando aqui for verdadeiro eu vou mover 3 segundos por exemplo por uma memória chamado M1 o que que o controlador faz ele vem aqui vai lá
na memória cria um pedaço pega né Ocupa um pedacinho dessa memória grande aqui e fala assim ó essa memória é memória M1 e ela é do tipo time então eu posso armazenar tempo dentro dessa memória Ficou claro isso aí show de bola Claudiana então basicamente a única ressalva que a gente tem que entender é isso tá eh Ficou claro como que a gente utiliza o moov então Claudiano Beleza então vamos fazer um exemplo pra gente já começar a utilizar esse move eu colocar um exemplo aqui um exemplo simples que é o seguinte olha usando somente
um temporizador desenvolvo um programa para quando eu acionar o botão S1 ele vai ligar a lâmpada H1 e ela vai permanecer Acesa por 5 segundos se eu pressionar o botão S2 e o S1 foi pressionado primeiro nada acontece então vou ter que vai ter que existir um intertravamento se eu pressionar o s0 desligar todo mundo e pressionar o S2 quando eu essa lâmpada H1 Vai acender e vai ficar acesa porém agora por 10 segundos se eu pressionar o S1 nada acontece Ou seja eu tenho que fazer um intertravamento Ok então como a gente só pode
usar um temp ficaria fácil Se eu pudesse fazer esse programa usando dois temporizador mas eu coloquei a ideia de usar somente um temporizador Exatamente pra gente utilizar fazer uso dessa instrução move tá E aí eu já deixei o programa aberto aqui para facilitar nossa vida porque eu já mostrei como que abre né Você já tem o programa instalado aí no computador de vocês e aí já fica já facilita né olha só eh obviamente que isso que eu tô mostrando aqui não vai fazer nenhum vocês não nunca vão ver isso aqui lá na indústria ah a
lâmpada vai ficar acesa por 5 segundos não mas imagina o seguinte olha imagina que esse intertravamento ó quando se eu acionar o botão S1 caso eu acione o botão S2 nada acontece se eu tiver de fazer por exemplo Uma Partida com reversão eu tenho que fazer isso né quando o motor tá girando no sentido horário se eu for lá e pressionar o dedão lá para ele ir pro antihorário não pode funcionar então A ideia é é a mesma tá a gente eu criei esses ensaios para mostrar como que utiliza as instruções e de posse né
dessas informações vocês vão conseguir aplicar em qualquer aplicação que seja Tá bom então primeira coisa que nós vamos fazer aqui é criar essa lógica de progamação primeira eu colar aqui o s0 que deslig todo mundo e vou falar o seguinte que se o meu botão S1 for pressionado ele vai ligar uma memória tá nós falamos de memória na aula passada ó memória m0 ok aqui vai ser a memória m0 pronto a próxima linha vai ser Idêntica né só que no lugar do S1 vai ser o S2 e no lugar do m0 vai ser o M1
Agora imagina o seguinte ó você vai me ajudar a Claudiano se errar não tem problema não que que eu posso fazer na primeira linha aqui para que se o meu N1 for verdadeiro se eu chegar aqui e pressionar o S1 o m0 não for não ser habilitado que que você acha que eu posso fazer hum É acho que você colocou off delay aí mas seria uma instrução examine off é isso porque off delay é um temporizador isso então eu vou colocar uma instrução examine off aqui de quem quem que vai ser essa instrução Qual o
nome que eu vou atribuir para ela aqui que que você acha S2 poderia até ser de S2 porém o S2 ele é pulsante aí quando a pessoa só ia funcionar ou seja só ia ter o intertravamento quando o meu botão estivesse sendo pressionado porque quando eu mando o botão para zero aqui volta para um então o ideal aqui é que ela seja de M1 entendeu porque se o meu M1 for verdadeiro aqui vai para falso legal e aqui embaixo eu vou fazer a mesma coisa porém agora eu vou usar o m0 Ok então quando o
meu m0 for para verdadeiro aqui vai para falso Então isso é a ideia de intertravamento Tá certo entendido aí agora olha só que legal se a lâmpada se eu pressionar o S1 ou seja se o meu m0 ligar a minha lâmpada tem que funcionar por 5 segundos e se o meu M1 ligar a minha lâmpada tem que funcionar 10 segundos aí olha que legal ó eu vou fazer o seguinte então eu vou criar aqui uma linha assim ó se o meu m0 for verdadeiro aí eu vou vir aqui do lado olha em eh a gente
tem aqui operadores bolean né operadores matemáticos dentro de operadores matemáticos e nós nós vamos falar sobre esses caras hoje tem alguns comparadores e aqui em function function Blocks né eu tenho os os meus BL funcionais contadores temporizadores e em ledder eu [Música] tenho as instruções que são as mais comuns né então eu vou vir aqui em em operadores e outros operadores ok operators né outros operadores e vou pegar essa instrução move Olha que legal ó clico seguro e arrasto e solto aqui que que o meu move vai fazer Olha presta atenção ó se ele for
verdadeiro ele vai carregar T jogo da velha 5 segundos para onde para uma variável qualquer eu posso chamar de m2 tá lembrando que o meu m2 ele tem que ser compatível com o que eu estou guardando dentro dele tá vendo que aqui é time Olha lá time filé Ficou claro aí Claudiano show de bola e aí eu vou fazer a mesma coisa olha só que se o meu M1 for pressionado eu vou mover e jogo da velha 10 segundos para onde para onde que você acha que eu vou mover esse esse valor para qual variável
arrisca qual variável que você acha ó aí você não pode confundir se a gente vier aqui em cima olha que legal o m0 qual que é o tipo do m0 Olha boleano então eu só posso guardar aqui dentro z0 e 1 se eu vier aqui na memória m0 e tentar guardar T jogo da velha 5 segundos aqui tempo aqui o que que vai acontecer ele vai dar erro vai falar que a memória não é compatível entendeu então memória boana do tipo boana eu só posso armazenar z0 e 1 é o que eu expliquei lá no
início então no caso aqui ó a única variável que eu posso armazenar tempo é a minha variável m2 que ela é do tipo time Ficou claro ficou Claro aí Claudiano aí agora eu vou fazer a linha do temporizador né Ó então se o meu m0 for ligado aliás né eu vou fazer a linha a linha da lâmpada ó se o meu m0 for ligado ele vai ligar o H1 se o meu H1 for ligado perdão se o meu M1 for ligado ele também tem que ligar o H1 quer testar o microfone aí pode testar eu
vi que você entrou aí e conseguiu entrar pelo celular né aí olha só se o m0 ligar ele vai contar um tempo então vou pegar um temporizador aqui ó um tom Opa D1 se o m2 perdão se o M1 ligar ele também vai contar um tempo OK agora qual que vai ser esse tempo quem que você acha que vai ser o tempo Claudiano conseguiu Habilitar não né o microfone não né quem que você acha que vai ser o tempo que a gente vai colocar aqui no PT do temporizador Claudiano você tá me ouvindo aí é
o m2 tá Então olha só que legal ó se o m0 for ligado o m2 vale 5 segundos se o M1 for ligado o m2 vale 5 segundos aí olha que legal quando vencer o tempo eu tenho que desligar o H1 quem liga o H1 o zer e o M1 tá parece que não não saiu o seu áudio nem habilitou Tá vendo porque quando você habilita aqui ó fica azulzinho no celular o ícone do microfone fica embaixo bem baixo na parte inferior aí bom então aqui ó se eu desligar o m0 ou o M1 o
meu H1 vai ser desligado né então eu coloco uma uma instrução examine off aqui ó do temporizador T1 pon Q E aqui também T1 Pq porque se houver quando vencer o tempo ele já abre aqui para qualquer um dos dois que estiver ligado vou fazer aqui a a rapidamente aqui a simulação Ah já mostrei nas outras aulas bem tranquilo como que a gente faz né então vou fazer um pouquinho mais rápido aqui para dar tempo da gente ver a o os blocos funcionais como que funciona os operadores matemáticos eh vou fazer essa simulação aqui rapidamente
e a gente continua então vamos pegar aqui os botões né são três botões vou dar nome para eles aqui s0 S1 e S2 e agora vou associar as variáveis né então vou lá no finalzinho ó input configuration variable application PLC prog s0 pressiono enter Marco o tape false o S1 nós vamos atribuir aqui a variável S1 e o S2 a mesma coisa Vamos pegar uma lâmpada agora alarm state fio color vou colocar ela amarelinha só para variar um pouco e aqui em Tug color a gente coloca animação da lâ online simulação online login Yes tecla
F5 e a visualização já está disponível Vamos abrir aqui ó o temporizador Olha só ó olha o PT dele aqui o PT tá em zero tá vendo Então vou pressionar aqui o S1 carregou CCO olha aqui 5 segundos Ok se eu pressionar o S2 carrega 10 segundos se eu pressionar o S1 nada acontece ó 10 segundos ele vai desligar a lâmpada pronto pressionei o S1 se eu pressionar o S2 Também nada acontece Perceba o seguinte ó na linha aqui se a gente vier na linha e fazer o teste ó o S1 o m0 foi para
verdadeiro se eu pressionar o S2 olha aqui embaixo ó nada acontece porque aqui tá em zero né mesma coisa ó pressionei o S2 aqui foi para zero se eu pressionar o S1 nada acontece porque ele tá parado aqui ó ficou Claro aí Claudiano legal né Eh bom então vamos vamos continuar aqui olha só os operadores matemáticos são operadores bem simples de utilizar tá eh como que funciona esses operadores a única coisa que você precisa de de saber né gravar é isso aqui ó se eu quiser somar eu tenho que chamar um operador add como que
funciona ele tem uma entrada aqui que é a entrada em quando a entrada nem é verdadeira ele pega o valor que está aqui por exemplo 1 e soma com valor que está aqui e armazena aqui ó então 2 + 1 3 tá Ele só faz isso quando n for verdadeiro ele é soma né ele vai somar o os valores de i1 em I2 próximo aqui é o di o subtrator ele faz a mesma coisa porém ele vai subtrair o em um do em do então quando a minha entrada em for verdadeira ele vai pegar esse
valor aqui e vai subtrair do em do e aqui então ele armazena do 3 - 1 2 Ok Então A ideia é é bem legal de de utilização desses caras né o multiplicador Olha o que que ele faz olha a mesma coisa quando eu tenho o n habilitado quando aqui é verdadeiro ele vai pegar o valor que está aqui e vai multiplicar por em do 2 x 3 vai gravar aqui se legal então aqui no final aqui na saída eu posso usar uma variável qualquer né Por exemplo eu posso falar assim ó Isso aqui é
o meu M1 e ele é do tipo int ele vai gravar todos os valores inteiros aqui ok se eu tiver trabalhando com valor inteiros se eu tiver trabalhando com valores reais aí eu tenho que chamar falar que o meu m0 ele é real tá divisão esse aqui tem uma característica ó ele tem o N quando eu habilito o n quando o n é verdadeiro ele vai pegar o valor que está no in1 e vai dividir por in2 tá então em sempre tem que ser maior do que 1 em2 quando a gente for usar o divisor
então ele vai armazenar aqui ó do simples de utilizar e beleza e é isso Eh vou dar um exemplo aqui de aplicação Olha só Claudiano imagina o seguinte ó eu eu sou ruim para desenho tá imagina que você tem uma esteira aqui e aí você tem objetos entrando aqui na esteira aí Aqui na ponta dessa esteira você tem aqui Um sensor instalado tá e eu tenho produtos entrando aqui e eu quero contar quantos produtos que estão passando aqui então eu vou pegar esse sensor aqui e vou atribuir lá na entrada de um contador qualquer mas
eu quero também aí eu tenho uma outra esteira que tá entrando produto aqui e eu tenho um sensor aqui ó na pontinha dessa esteira Que também está contando produtos Ok e essas duas esteiras aqui elas vão morrer numa esteira maior e quando eu tiver por exemplo determinado número de produto que vem dessa esteira e dessa esteira ele aona uma válvula para empurrar um palet ou liga um um robô dá um start lá no robô pro robô ir lá tirar a peça tá mas eu não quero usar mais um sensor então o que que eu posso
fazer eu posso pegar um operador matemático desse aqui ao invés de usar uma entrada aí eu economizo uma entrada né e pegar o número que que foi contado desse sensor do sensor um e do sensor dois e somar e lá no final eu consigo né verificar quantos eh produtos que passaram aqui ou seja eu tenho a soma de cada produto independente eh eu tenho a quantidade de cada produto independente e depois no final eu tenho a soma sem ter que ter um sensor aqui para usar mais um contad para contar de novo entendeu mais ou
menos a lógica aí show de bola então é isso tá operador matemático é bem tranquilo eu vou dar um exemplo só desse dessa forma mesmo porque eu quero falar com vocês agora sobre uma coisa que é muito legal que são os blocos funcionais os FBS Na verdade nós inclusive na aula de hoje acab de usar um bloco funcional um FB a gente usou um bloco funcional chamado Tom então o Tom ele é um function Block Qual que é a ideia do function Block a ideia do function Block é a gente primeiro é você manter o
seu programa mais otimizado eu posso utilizar esse bloco aqui quantas vezes eu quiser no meu programa principal e a segunda uma das mais uma característica que ele tem é a característica de que você não precisa de saber como que foi escrito por exemplo o temporizador a única coisa que a gente precisa de saber é que a gente tem uma entrada aqui uma entrada aqui né aqui eu tenho o PT aqui eu tenho o in eu tenho uma saída aqui que é o q e uma saída aqui que é o ET a única coisa que a
gente precisa saber Mas a gente não precisa de saber como que ele foi implementado ou seja como que ele foi construído né então a gente chama isso aqui de abstração né eu utilizo o bloco funcional sem precisar de saber como que ele foi programado a ideia aqui é mostrar para vocês como que criam um bloco tá e eu já trouxe até um exemplo aqui pronto de um bloco funcional que eu fiz em uma linguagem de programação eu fiz o bloco em ST Olha que legal e usei o bloco Ó eu falei que o bloco ele
chama motor under 1 ok Aí eu criei o programa do bloco em uma linguagem chamado ST que a gente vai ver a gente já viu né Um pouquinho de St e aqui dentro do meu programa principal Ó eu falei assim olha o meu motor um ele vai ser do tipo motor underline 1 ou seja eu estou chamando o bloco motor underline 1 aí ele já carrega para mim aqui ó o bloco Ok em ledder Olha para você ver então eu criei o bloco funcional em ST e chamei o bloco em leeder Tá eu vou mostrar
para vocês um exemplo que nós vamos criar o bloco em leeder e vamos chamar o bloco também em leeder Ok então os todo PLC né ou CLP que segue o padrão IC 61131-3 ele eh oferece a essa praticidade de você criar os blocos funcionais tá então eles são projetados para serem reutilizáveis e podem ser chamados várias vezes no meu programa principal por exemplo se eu tivesse uma máquina que tivesse ali cinco motores eu criava essa estrutura aqui uma vez e depois eu só chamava cinco vezes essa estrutura aqui ó no meu programa principal né com
isso eu consigo otimizar o meu o meu eh a minha a minha programação tá então cada bloco funcional cada function Block pode aceitar entradas e produzir saídas permitindo a comunicação com outros elementos do programa é o que eu falei né a gente pode utilizar esses blocos em qualquer parte do programa eh um exemplo muito comum é o controlador pid que é o controlador proporcional integral derivativo que vocês vão depois ter que usar lá nas outras unidades curriculares eh voltadas aí paraa automação né quando estiver a instrumentação né então por exemplo se eu quiser controlar um
processo lá de nível de pressão de vazão tudo eu vou usar um controlador se eu quiser fazer um controle proporcional eu vou usar um controlador né ID então eu vou criar um bloco funcional com essa característica tá eh outras funções para cálculos matemáticos temporizadores o que eu mostrei para vocês hoje ó aqueles operadores matemáticos os temporizadores que a gente já viu os comparadores os contadores tudo isso são blocos funcionais nós usamos sem saber como que ele tava escrito isso é abstração ó tá vendo os os blocos funcionais permitem que os programadores se concentrem na funcionalidade
específica sem precisar se preocupar com a implementação detalhada Ou seja eu uso um temporizador sabendo que quando eu habilitar o in ele vai começar a contar tempo quando o ET for igual o PT a minha saída foi para verdadeiro mas como que isso é feito eu não preocupo ok uma outra característica que eu falei a reutilização e a modularidade né os programas eles podem ser divididos em módulos funcionais eh em módulos lógicos funcionais né facilitando a manutenção e a depuração do meu programa Show de bola entendeu aí a ideia do bloco funcional ó o Silveiro
acabou de entrar aí entrou bem na hora hein Silveiro Chegou bem na hora então nós vamos criar um bloco funcional Olha que legal ó vamos fazer um bloco simples Tá certo seja bem-vindo Sil velho boa noite nós vamos fazer um bloco funcional bem simples para ligar um motor tá igual o exemplo aqui ó eu criei um bloco funcional Só que nesse exemplo eu falei de eu criei um bloco com linguagem ST e chamei o bloco com a linguagem leeder tá nós vamos fazer um um exemplo bem simples aqui ó Bom vamos lá então vamos fazer
esse exemplo aqui eu vou pegar um novo aqui um novo projeto porque aí a gente faz do zero silv se tiver um microfone aí pode habilitar tá que aí você me ajuda aqui na hora da programação presta atenção ó quando eu vou criar esse bloco funcional a gente já tem alguns prontos aqui né a gente já sabe olha function Blocks ó blocos funcionais ok aqui são e esses triggs aqui são relés é detecção de borda né borda de subida borda de descida o set reset os temporizadores os contadores tudo esse são blocos funcionais aí olha
só que legal ó quando a gente vai criar um bloco funcional a gente tem aqui o programa principal ó que tá aqui tá aberto aqui ok e nós vamos criar aqui ó uma p que a gente vai ter de programar também tá certo então é isso que nós vamos fazer tá aí presta atenção ó Primeiro passo é abrir um programa normal vocês viram lá que eu criei um programa normal ó PLC prog Ok em ledder e tudo qual que é próximo passo eu vou clicar aqui com o botão direito em application vou mandar adicionar objetos
e eu vou adicionar uma p aqui ó p quando eu clicar aqui em po ele vai aparecer ali o nome da po eu posso dar um nome para ela ó liga underline motor e dou um enter perdão eu vou deletar essa pold aqui e fazer de novo porque eu empolguei deixa eu ver se ele deixa deletar deixou então ó botão direito adicionar objeto é porque eu vou dar nome para ela aqui ó liga under motor e eu esqueci de falar isso Ó eu posso criar aqui um programa ou um bloco funcional Então tem que ser
bloco funcional tá E aqui eu escolho a linguagem que eu quero programar Olha se eu quiser criar uma po com texto estruturado euco aqui ST e dou um add se eu quiser criar uma po com blocos né que a gente já viu ou com grafset eu consigo também mas nós vamos criar em lether mesmo então ledder e clico em adicionar pronto aí ele vai criar uma pol Perceba o seguinte Olha a diferença da P para entrou Ah é o Claudiano mesmo né que entrou aí de novo a diferença da pol para o meu programa principal
é que ele possui esses campos aqui olha eu tenho deixa eu pegar o o pincel aqui var input end varar var output endar e as variáveis que eu não vou mostrar lá no bloco o que que is quer dizer se eu quero criar um bloco com duas entradas e uma saída eu tenho que aqui no var input e colocar as minhas variáveis aqui dentro né então eu posso falar assim aqui ó esse aqui vai ser o me a minha variável desliga e a minha variável liga então eu crio essas variáveis aqui antes de começar a
programar e a minha saída aqui vai ser a minha variável por exemplo motor então eu tenho que criar saída aqui quando eu vier no programa principal e chamar essa po ele já chama esse bloco desse jeito aqui com as duas variáveis Ficou claro isso aí ficou Claro pessoal OK aí olha só eu vou criar então as variáveis ó a variável desliga ela é do tipo boana e uma variável liga que é do tipo poleana isso aqui aqui é minha variável percebo é são as variáveis que eu vou usar no bloco tá não tem nada a
ver com o meu programa não Ó meu programa eu vou usar a variável s0 S1 e o k1 tá certo lá no programa principal Ah a minha variável de saída aqui ó então eu vou clicar aqui em var output vou pressionar a tecla enter e vou criar vou falar que ela chama motor mesmo e ela é do tipo boana pronto criei as variáveis só depois que eu crio as variáveis percebam eu estou aqui ó na minha P tá vendo ó aqui eu tem o programa principal que tá em branco a gente não programou ainda eu
começo programando a minha P tá o meu fun Block Ok E aí agora eu vou fazer a programação a programação aqui a gente já tá careca de fazer né ó Então nós vamos colocar assim ó o meu desliga quando for verdadeiro ele já é verdadeiro né o meu liga quando for verdadeiro ele vai ligar o meu motor e quando o meu motor ligar ele vai ficar ligado pronto criamos a o programa da nossa po agora eu vou chamar essa po lá no meu programa principal então eu vou clicar aqui ó vou vir no programa principal
aí a do lado aqui ele apareceu olha post tá vendo Então eu clico no mais venho aqui ó liga motor e jogo aqui no meu programa pronto eu tenho que dar um nome para ela eu vou falar que ISS aqui é o meu motor um o meu motor um eu tenho que falar que ele é do tipo liga motor já vem automático né então é só dar um OK aí Perceba o seguinte ó olha aqui em cima ó eu tenho aqui o meu programa principal a única variável que eu tenho é a variável motor um
que ela é do tipo liga motor lá no meu bloco funcional eu criei as variáveis liga desliga motor E aí quando eu puxei o bloco Olha o que que ele trouxe para mim ó desliga liga e o motor as duas entradas que eu criei aqui desliga e liga e a saída motor ficou claro isso aí pessoal então aqui vai ser o s0 né que vai desligar quem vai ligar vai ser o S1 e o meu a minha saída aqui vai ser o meu k1 né então ele já vai criando para mim as variáveis aqui ó
Pronto Olha só se outra pessoa for programar esse controlador lógico programável aqui e e quiser usar essa po basta ele chamar essa po aqui no programa tá imagina que eu tenho uma máquina com 10 motores ao invés de criar isso aqui 10 vezes eu venho aqui ó e chamo esse bloquinho aqui 10 vezes Ok eu posso reutilizar vamos fazer o teste vou fazer uma simulação tá então aqui eu vou fazer um pouquinho mais rápido porque também a gente já viu isso aí nas outras aulas anteriores aí né simulação é a mesma coisa tá pessoal não
muda não muda nada ó vou criar os botões a mesma coisa pessoal vocês participaram do Conexão 4.0 é da conexão EAD perdão conseguiram participar foi ontem né Foi ontem o Claudiano eu vi que tava lá ah é o seguinte vocês preencheram o o Claudiano eu vi que tava lá ontem eu também entrei também no início né vocês preencheram o formulário porque aquele formulário vai gerar para vocês Um certificado preenchi show de bola você também encheu Claudiano ah filé vocês gostaram foi bom gostei foi bom né a próxima vai vai falar de um outro tema né
Vai ser legal ah o Claudiano gostou legal é é importante e vão acontecer mais cinco tá aí os os professores das unidades que que tiver com vocês eles vão avisando tá bom Inclusive eu vou eu vou eu vou ministrar uma delas duas eu acho duas ou três vai ser legal aqui pessoal normal tá ó vou criar normal aqui a simulação então eu vou dar o retorno lá pro pessoal da conexão então vou falar que vocês gostaram e aqui o k1 né vou criar uma animação aqui pro meu k1 ó eu vou mudar a cor dele
aqui para quando ele for ligado online simulation online login F5 né para funcionar aqui o PLC entrar em execução agora a gente vai rodar o programa ó olha lá quando o meu S1 for verdadeiro ele vai ligar o k1 quando o meu S10 for pressionado ele desliga o k1 ó se a gente vier aqui a gente consegue até visualizar o programinha ó show de bola conseguir ter uma noção aí legal de do que é essa programação estruturada legal é bem top né Eh vou fazer mais um ensaio aqui olha só o próximo ensaio ó aí
agora eu vou eu vou vou pedir que vocês me ajudem vou contar com a ajuda de vocês tá bom olha só ó usando um bloco funcional desenvolv um programa para acionar o motor elétrico em partida direta aí a gente vai ter que usar um botão de emergência relé de sobrecarga e sinalizar através de uma lâmpada que o motor está em funcionamento depois lá no programa principal eu vou ter esses caras ó o F4 que é o relé né o emergência o s0 o S1 o k1 e uma lâmpada de saída ok ou seja nós vamos
ter que fazer um programa um bloco funcional agora com quantas entradas quem arrisca você conseguiu pegar a a explicação aí Inicial não conseguiu Silvério não não Olha só tudo que tá aqui ó como entrada emergência eh tudo que tá mandando informação do campo relé eh um botão para ligar e desligar tudo isso são entradas né então eu vou ter quatro entradas no meu bloco ó uma isso isso aí Du TRS quro entradas e duas saídas ok então nós vamos criar um bloco assim ó com quatro entradas e duas saídas Tá certo eu vou usar aqui
a mesma o mesmo programa aqui eu só vou alterar aqui eu vou deletar esse cara aqui Perceba o seguinte Olha o meu bloco ele já tá criado você eu vou fazer do zero é melhor né porque is você aí aí você consegue acompanhar [Música] o Silver consegue acompanhar de do do início Tá bom então vou fazer do zero ó vou pegar um um programa vou pegar aqui um exemplo vou criar um programa novo ok em leeder mesmo aí Silver Olha só quando eu vou criar um bloco funcional eu chamo eu crio um programa normal legal
crio um programa normal tá agora eu vou criar esse bloco Então a primeira parte quando eu vou criar um bloco funcional é fazer a programação do bloco eu clico aqui em application mando adicionar um objeto e mando adicionar uma pol quando eu adiciono a p aqui eu vou dar um nome para ela vou chamar de liga motor de novo e vou marcar a opção function Block já veio marcada eu deixo escer aing de progamação que eu quero progamar euam em le mesmo e mando adicion seginte Olha a diferen aí silv é que quando euo o
bloco funcional eu tenho aqui as variáveis input var input end varar var output end varar Olha só todas as minhas variáveis de entrada Elas têm que ficar nesse espaço aqui ó e todas as minhas variáveis de saída elas tê que ficar aqui e eu preciso de antes de começar a programar criar as variáveis porque senão se eu começar a programar direto aqui ele entende que é uma variável que eu vou usar só aqui na po e começa a colocar essas variáveis aqui dentro de e andar por exemplo se eu usar uma memória aqui ele vai
criar aqui dentro Ok então eu preciso de determinar Quem são as minhas variáveis de entrada aí olha lá ó a minha variável de entrada aqui eu vou colocar assim ó o relé de sobrecarga né Ele é do tipo boleano o emergência sem acento tá pessoal do tipo boleano o desliga do tipo bolean e o liga Ficou claro aí Silvério o Claudiano já tinha entendido aí ó endar tá vendo aqui são as minhas entradas agora eu vou vir aqui ó var output quem que vai ser vai ser o motor ele é do tipo boleano e uma
lâmpada que é do tipo boana também Pronto agora eu posso começar a programar Porque eu já tenho as minhas variáveis criadas Então vamos programar ó programação ó a emergência começa com o relé né Ó o relé ele já fica desligado já fica perdão já fica mandando um né já fica verdadeiro a emergência também já fica mandando um o liga manda zero o desliga né o desliga manda um e o liga fica mandando zero mas quando ele for pressionado ele vai para um quando liga for pressionado ele vai ligar o meu motor e vai selar aqui
né ó motor show de bola aí olha que legal ó eu tenho que ter duas saídas mas a próxima saída ela só pode ser ligada se o meu motor estiver ligado então vou fazer essa lógica aqui também no meu bloco Ó eu vou falar que se o motor for verdadeiro o que que ele faz ele liga a minha lâmpada tá vendo aí eu criei essa programação uma vez só aqui com bloco funcional ficou tranquilo aqui essa parte da programação ficou show de bola né então vamos lá no PLC prog aqui agora agora eu vou chamar
o meu bloco onde que ele tá ó ele tá aqui em P liga motor clico seguro e arrasto solto aqui vou falar que esse liga motor é do tipo motor um dou um motor um ele é do tipo liga motor pronto percebam que ele já cria para mim a variável aqui ó motor um tipo liga motor quem é o relé aí eu vou olhar lá na minha no meu e no meu mapa de entradas né quem é o relé aqui o F4 então eu venho aqui ó falo que esse cara aqui é o meu F4
Perceba o seguinte aqui são as entradas físicas né Ó que vai vir lá do campo então eu tenho que alocar uma entrada para cada um desses carinhas aqui o emergência é o em então eu venho aqui ó e falo que esse cara é o meu em o desliga é o s0 o liga é o S1 a saída do motor é o k1 e a minha saída da lâmpada é o H1 Ficou claro isso aí pessoal ficou show de bola já tá pronta a minha programação ó aí imagina o seguinte olha imagina que eu tenho no
meu equipamento aqui cinco motores eu posso chamar esse cara cinco vezes motor um motor dois motor mot 3 motor 4 motor 5 e acrescentar aqui só os dispositivos de entrada então vamos criar aqui uma simulação pra gente testar próxima aula pessoal nós vamos falar de sistema de supervisor a gente já vai começar a falar do E3 Inclusive eu vou deixar para vocês na na qu feira né que se eu se eu tiver tempo eu deixo amanhã eu já vou deixar para vocês o o elipse lá o software para vocês baixarem aí eu mando mensagem se
eu conseguir fazer amanhã tá bom então aqui ó eu vou ter o relé botão de emergência o botão de desliga e o botão de liga vamos dar nome para esses caras PR gente não ficar perdido né então esse aqui é o F4 esse aqui é o em esse aqui é o s0 e esse aqui é o S1 todos esses vão lá agora V associar né Ó vou lá em input configuration tape variable vou associar ao F4 dou um enter e Marco tape false vou associar ao emergência enter tape false vou associar a s0 enter tape
false e eu vou associar ao S1 vou pegar agora uma animação pro k1 e uma animação pro pra lâmpada Então esse cara aqui eu vou animar eu vou ass verdinho vou associar color variables Tug color k1 e a lâmpada nós vamos associar aqui ao H1 E aí eu venho aqui em cima em Tug color color variables associei ao H1 eu vou lá em color né color fio state vou colocar ela amarelinha tá não é padrão não mas só para ficar de outra cor online simulação online simulation Eita simulation login D Yes F5 Olha que legal
ó então o F4 o e o s0 já tem que ser pressionado a primeira vez pressionei o S1 ligou o k1 k1 ligou o H1 né Se tiver uma sobrecarga o motor desliga consequentemente a lâmpada apaga se houver uma emergência o motor desliga consequentemente a lâmpada apaga e se eu precisar de desligar né parei para alçar por exemplo zero Ficou claro aí pessoal bem legal não é a parte de programação estruturada que que vocês estão achando aí aí Silvério eu falei o seguinte no início da aula quando a gente usa um um quando a gente
usa por exemplo um temporizador um tom o T1 por exemplo eh a gente o T1 ele é um FB ele é um function Block é um bloco funcional tá só que a gente usa sem saber como que ele foi implementado né a ideia aqui dessa aula de hoje é mostrar para vocês como que a gente está implementando esse esse temporizador eh esse bloco funcional Perdão bom aí é o seguinte olha eu tenho mais um um exemplo ó Qual que é o próximo exemplo olha esse aqui é legal ó é a mesma coisa né porém eu
vou mostrar que a gente por que que eu criei esse aqui para mostrar que eu posso ter um único bloco e chamar esse bloco várias vezes no meu programa tá Então qual que é a ideia é um bloco para ligar um motor elétrico usando emergência relé de sobrecarga e segurança né e a parte de segurança aqui então eu tenho o k1 e o H1 e o K2 e o H2 Para sinalizar o segundo motor Legal vamos fazer isso aqui presta atenção ó Responda para mim aí o bloco funcional eu vou ter que mexer em alguma
coisa para atender isso aqui no bloco funcional que que vocês acham não né Claudiano isso mesmo eu não vou ter que mexer não isso mesmo Sil V porque o bloco ele é o mesmo né Eu vou precisar de mexer então o bloco eu nem vou mexer tá nessa programação eu vou precisar de mexer isso já tem a base né ó porque a base é a mesma ó quatro entradas e duas saídas não é então a gente vai precisar de mexer só aqui no programa principal e eu digo mais né ó aqui eu posso pra gente
ganhar tempo criar só uma segunda linha aqui ó porque a primeira linha Já tá pronta ó Então vou inserir uma Network aqui olha que legal aí eu vou pegar a mesma po liga motor vou trazer para cá e vou falar que essa po ela é o meu motor 2 ela é do tipo liga motor ó criou aqui também e aí agora eu vou usar as variáveis aqui né Ó o f51 m2 né então aqui vai ser o meu F5 aqui vai ser o meu em2 aqui vai ser o 10 e aqui vai ser o liga
ligue aqui no final vai ser o K2 e aqui H2 Tá vendo como é que fica mais fácil de programar n quando você usa o o seu a ideia né do do do function Block é você otimizar o seu programa né então a programação ficou muito mais fácil se eu vier aqui na simulação agora é só eu copiar todo mundo aqui ó e fazer igualzinho tá aqui né só que eu tenho que só associar as variáveis né ó Então vou dar um cont control c aqui control v e vou lógico mudar os nomes e as
as variáveis Então esse cara aqui vai ser o F5 esse cara aqui vai ser o em2 esse aqui vai ser o 10 esse aqui vai ser o Lig aqui vai ser o K2 Então eu só vou associar aqui ó ó K2 e aqui vai ser o H2 o F5 eu vou ter que tirar essa tiro aqui e vou associar de novo ao F5 dou um enter tape fals o em2 eu vou desmarcar aqui vou associar ao em2 tape false o 10 vou associar aqui Tap fse e o leag eu vou associar ao le Prontinho vou
rodar a aplicação aqui ele só deu um build né vou rodar a aplicação vou jogar o programa carregar o programa fazer um novo download pronto aqui a gente já consegue virtualizar aí lógico né pessoal eu vou ter que os os que são eh deixa eu abrir aqui mais normal fechado né eu tenho que clicar uma vez porque senão eles não funciona então vamos lá ó pressionei o S1 ligou o primeiro motor pressionei o o le ligou o segundo motor Se houver uma emergência no segundo motor para só o segundo motor tá vendo Ah se o
relé desarmou do primeiro motor só para o primeiro motor a programação ela fica completamente independente Deu para perceber isso aí pessoal ficou Claro você embora pegou um pedacinho da no meio da aula aí mas deu deu para entender Ô você conseguiu entender seu véo é legal demais né ah show de bola bacana legal aí olha só que legal ó eh vou dar só uma ideia aqui não vou fazer né né mas só um exemplo ó vocês lembram que na aula passada nós fizemos uma atividade eh onde a gente tinha que fazer um pisca e lembro
que nós fizemos lá um pisca na aula passada eu cheguei mais no final é a gente fez um pisca né então eu falei até comentei com vocês é como se fosse aquela lâmpada amarela do semáforo que fica piscando imagina o seguinte olha imagina que você tivesse que que montar uma programação e chamar esse pisca várias vezes no seu programa eu quero deixar uma lâmpada piscando Para sinalizar alguma Alerta alguma coisa quando o motor parar eu quero que a lâmpada fica piscando você pode fazer um bloco funcional com Aquelas mesmas características lá do pisca né com
apenas uma entrada e uma saída quando essa e lá ess aquela programação do pisc igualzinho com dois temporizador e tudo no bloco funcional Só que os temporizadores eles vão entrar automaticamente aqui ó na nas minhas variáveis aqui que não são variáveis e globais tá essas variáveis aqui que a gente cria elas são variáveis globais a gente pode chamar em qualquer parte do meu programa E aí você cria o pisca legal aqui e você só chama ele aqui no programa principal Ficou claro aí Conseguiram entender a gente tem uns minutinhos Quer tentar fazer aqui rapidamente Ou
acha que não precisa Ficou claro aí para vocês vamos Então vamos fazer eh porque de ensaio eu coloquei só esse porque quando tem uma participação maior né Às vezes o pessoal tem dúvida e tal então vou fazer o seguinte ó vou fazer do zero vou pegar um novo aqui então vamos começar ó vou criar aqui um uma aplicação um vou inserir uma pol po vou dar um nome de pisca em Leader mesmo aí olha que legal o pisca nós vamos criar eh a gente vai criar o pisca com duas entradas tá uma para ligar e
uma para desligar então vamos colocar aqui ó desliga oan e o liga oano e a saída dele aqui meu var output vai ser a lâmpada Poliano pronto aí nós vamos criar o pisca Olha que legal ó Então vai ser assim ó quando o meu desliga e o liga estiverem verdadeiros ele vai ligar uma memória m0 isso aqui é a estrutura do pisca tá o m0 ele vai ligar a lâmpada Ok então Ó o m0 Liga a lâmpada o m0 liga também um temporizador Então vou vir aqui em function Blocks vou pegar um tom para você
ver eu tô usando um bloco de funcional dentro de outro bloco Vou falar que é o T1 T jogo da velha um segundo enter vou jogar um outro temporizador aqui na saída que é o é o T2 aqui vai ser o meu T1 pq e aqui O T2 pq então isso aqui Silver você que chegou na aula passar atrasado um pouquinho na aula passada é o pisca tá vendo ó pisca é isso aqui agora lá no programa principal Olha que legal vou fazer assim [Música] ó quando meu botão S1 ou só para desmistificar ó quando
meu botão liga que vai vir lá do campo for pressionado que que vai acontecer ele vai aqui eu vou ter que trocar o botão aqui não tem problema não eu vou puxar aqui o pisca para cá é porque aqui tá no desliga tá vendo Então aqui ó vai ser o botão desliga ah eu tenho que falar deixa eu só remover isso aqui para não dar problema ó o pisca aí você pode dar qualquer nome aqui né eu posso falar que esse cara aqui vai ser o meu pisca um pisca um é do tipo tipo pisca
Ok quem desliga vou falar que vai ser o 10 o desliga e vou falar que vai ser o liga e quando ele piscar ele vai ligar a minha lâmpada fazer a lâmpada H1 piscar vamos fazer aplica a simulação né vamos ionar a simulação E aí pessoal se eu tiver de usar de novo eu posso fazer a mesma estrutura chamando pisca dois pisca TR pisca 4 igual a gente fez no exemplo anterior né Esse negócio é muito legal otimiza demais a programação Se vocês forem usar lá na aula prática vocês tem que perguntar pro professor eh
no CLP que você está utilizando Qual é o Como que faz para chamar um bloco funcional tá que pode ser que haja que haja diferente diferentes formas de chamar esse bloco funcional vou jogar o programa aí olha que legal ó viu que legal então olha só se você for usar mais de uma vez no no programa você otimiza demais a programação olha aqui como que ele ficou ó esse aqui é o programa é o funtion Block né E esse aqui é o programa principal Então imagina que você tem que fazer isso aqui Chamar esse pisca
lá no seu programa lá cinco vezes ao invés de você fazer isso aqui cinco vezes quatro três linhas né de programação você vai fazer uma linha só ó o tanto que você otimiza o seu programa Ficou claro aí pessoal legal né então vocês já podem aproveitar o carnaval aí para brincar bastante aí com esses com com esses blocos funcionais aí tá bom ajudem mais alguma coisa Silveiro Claudiano mais alguma dúvida ou ficou tranquilo tranquilo né pessoal então muito obrigado aí pela participação Valeu Silvério fica com Deus aí bom feriado para vocês né boa não sei
se vocês vão folgar né mas se bom carnaval para a todos aí vou parar a gravação aqui obrigado viu Amém que