
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Saiba como utilizar matrizes, variáveis e controlar encoders em codesys. Aprenda a declarar e utilizar matrizes, como armazenar valores e acessá-los. Entenda o uso de variáveis inteiras e como utilizar elas para controlar pulsos em encoders. Encontre informações sobre loops, comparações e ajustes de parâmetros no i/o assistant.
Tipologia: Manuais, Projetos, Pesquisas
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















Introdução ao curso. Conforme explorado em treinamento anterior, alguns equipamentos EATON são programáveis através de uma ferramenta conhecida como CoDeSys que obedece a uma normal europeia, a IEC 61131 capítulo 3. Esta norma regulamenta 5 linguagens de programação diferentes, duas textuais, ou seja, sua programação é simplesmente feita através de texto e três gráficas. Structured Text Texto Estruturado (ST) Instruction List Lista de Instruções (IL) Function Block Diagram Diagrama de Blocos de Funções (FBD) Ladder Diagram Diagrama de Contatos (LD) Sequential Function Charts (SFC) Linguagens Textuais Linguagens Gráficas
Declaração de variáveis.
O CoDeSys permite que suas variáveis sejam declaradas em forma de vetores e matrizes, que são variáveis com a capacidade de armazenar vários valores, de mesmo tipo, em seu interior. São como caixas numeradas que são solicitadas conforme o número desejado. O Vetor armazena os valores em seu interior de forma Unidimensional, ou seja, a alocação é feita através de um indexador. Já a matriz pode armazenar valores em seu interior através de dois indexadores, tipo linha e coluna, ou três indexadores, tipo linha, coluna e profundidade. Exemplo de declaração de um vetor:
O comando condicional executa uma ou mais linhas de comandos desde que uma condição inicial seja satisfeita. IF <EXPRESSÃO> THEN
O comando seletor é ideal para seleção de várias possibilidades, veja: CASE
Os comandos de repetição, ou comandos de “loop”, repetem as linhas de comando até que uma determinada condição seja satisfeita. O mais utilizado é o comando “FOR”. FOR
Diferente do FOR a expressão REPEAT não incrementa automaticamente a variável de iteração, ao invés disto ela repete os comandos até que a condição de repetição não seja mais verdadeira. Vale a pena ressaltar que, diferente do WHILE, se a “ExpressaoBooleana” não for verdadeira na primeira varredura, os comandos são executados uma única vez. REPEAT
O comando EXIT é utilizado para.encerrar um LOOP. Independente de utilizarmos um FOR, WHILE ou REPEAT, no instante que o programa encontra uma instrução “EXIT” o programa sai do LOOP. REPEAT
Blocos de função irão aparecer com a seguinte estrutura:
Inúmeras vezes nos deparamos com várias versões de um mesmo projeto, quer seja em computadores diferentes, CLPs diferentes ou mesmo um programa que acabamos de realizar o up-load e não sabemos o quanto o programa “puxado” está diferente do programa que consta em nossa máquina. Para estas situações temos o recurso de comparação de programas. Abrimos um dos programas em questão normalmente no CoDeSys. Então selecionamos no menu principal a opção “Project – Compare” e escolhemos o arquivo que desejamos comparar: Quando existem diferenças entre os objetos, os mesmos aparecem em vermelho nas duas telas. Quando há objetos que existem em um projeto, e não existem no outro, o mesmo aparece em verde no projeto que o contêm e aparece um espaço no projeto onde ele não existe. Os demais objetos que existem nos dois projetos, e são iguais em ambos, aparecem em preto ou em cinza. Para ver as diferenças entre os objetos basta clicar duas vezes em um deles.
Nestas situações uma boa saída é a criação de tasks, nós passamos a escolher a janela de tempo em que o programa será chamado ciclicamente. Na opção TASK Configuration que fica na aba Resource do CoDeSys podemos criar as tasks. Nesta situação o programa não pode mais se chamar PLC_PRG, para trocar o nome de um programa clique sobre o mesmo com o botão direito do mouse e escolha a opção “Rename Object”. Em task configuration clique com o botão direito e escolha a opção “append task”: Podemos criar várias Tasks diferentes, nestas tasks nós configuramos alguns parâmetros:
Tenha sempre em mente que o WEB visu é uma ferramenta que consome tempo deTenha sempre em mente que o WEB visu é uma ferramenta que consome tempo de processamento da CPU, ou seja, ela impacta diretamente na performance do processamento, nãoprocessamento da CPU, ou seja, ela impacta diretamente na performance do processamento, não é recomendável trabalhar com múltiplos acessos. (WEB + Programação + WEB....etc)é recomendável trabalhar com múltiplos acessos. (WEB + Programação + WEB....etc) ParaPara visualizarvisualizar aa telatela precisamosprecisamos terter instaladoinstalado umum “internet“internet browser”browser” emem nossonosso computador além do software “Java Machine”. Em algumas situações precisamos atualizar ocomputador além do software “Java Machine”. Em algumas situações precisamos atualizar o firmware da IHM (A família XC-CPU2xx-XV não necessita de atualização).firmware da IHM (A família XC-CPU2xx-XV não necessita de atualização). UmaUma vezvez queque oo programaprograma estáestá colocadocolocado nono CLPCLP bastabasta abrirmosabrirmos oo BrowserBrowser ee selecionarmos este endereço:selecionarmos este endereço: http://
Uma das ferramentas mais úteis que temos no que tange a criação de telas deUma das ferramentas mais úteis que temos no que tange a criação de telas de visualização no CoDeSys é o Placeholder. Esta ferramenta permite que se crie uma tela básica,visualização no CoDeSys é o Placeholder. Esta ferramenta permite que se crie uma tela básica, ou uma sub tela, e que a mesma seja copiada inúmeras vezes, sendo que para cada cópia, nósou uma sub tela, e que a mesma seja copiada inúmeras vezes, sendo que para cada cópia, nós atribuímos um set de variáveis único. Em termos comparativos, seria um bloco de função utilizadoatribuímos um set de variáveis único. Em termos comparativos, seria um bloco de função utilizado para visualização. Veja o exemplo:para visualização. Veja o exemplo: Criamos uma tela pequena chamada PH_Motor na aba visualização:Criamos uma tela pequena chamada PH_Motor na aba visualização: Para qualquer animação, botão ou variável que quisermos utilizar nesta tela nós inserimosPara qualquer animação, botão ou variável que quisermos utilizar nesta tela nós inserimos $ <Nome da variável> $.$ <Nome da variável> $.
Contador Rápido 1CNTContador Rápido 1CNT Para o contadorPara o contador rápido 1CNT podemos utiliza-lorápido 1CNT podemos utiliza-lo de duas formas parade duas formas para fazer as contagemfazer as contagem dos pulsos enviados por um encoder por exemplo, podemos fazer a leitura e comparação dosdos pulsos enviados por um encoder por exemplo, podemos fazer a leitura e comparação dos valores no Codesys ou fazer esta comparação diretamente no hardware (Cartão), que com issovalores no Codesys ou fazer esta comparação diretamente no hardware (Cartão), que com isso podemos ganhar um tempo de rede e deixar a resposta a alguma comparação <, >, ou = maispodemos ganhar um tempo de rede e deixar a resposta a alguma comparação <, >, ou = mais rápida doque se fosse feita pelo CLP.rápida doque se fosse feita pelo CLP. Abaixo iremos explicarAbaixo iremos explicar os principais detalhes queos principais detalhes que devem serdevem ser considerados para fazer aconsiderados para fazer a leitura do cartão 1CNT dos dois modos, para isso vamos usar um Encoder incremental de 2 canaisleitura do cartão 1CNT dos dois modos, para isso vamos usar um Encoder incremental de 2 canais A e B de 24Vdc.A e B de 24Vdc.
Depois que colocamos nossa rede máster na IHM ou CLP e nosso Gateway, devemosDepois que colocamos nossa rede máster na IHM ou CLP e nosso Gateway, devemos entrar no “I/O Assistant” pelo Codesys e alterar alguns parâmetros de acordo com a aplicação queentrar no “I/O Assistant” pelo Codesys e alterar alguns parâmetros de acordo com a aplicação que temos, conforme abaixo:temos, conforme abaixo: Selecione o cartão no “I/O Assistant” e vá na aba “PlugIn” lá podemos configurar opçõesSelecione o cartão no “I/O Assistant” e vá na aba “PlugIn” lá podemos configurar opções como Modo de contagem, Configurar a saída digital, limit de contagem superior e inferior, entrecomo Modo de contagem, Configurar a saída digital, limit de contagem superior e inferior, entre outras coisas que podem ser encontradas no manualoutras coisas que podem ser encontradas no manual MN05002012Z-EM,MN05002012Z-EM, para uma aplicação depara uma aplicação de
encoder incremental com sinais A e B em 24Vdc, não precisaremos modificar nenhum parâmetro, depois de alterados os parâmetros basta voltar para o Codesys. Quando nossa configuração volta para o Codesys sempre temos que incluir o COBid das Outputs, pois ele só tráz o COBid de leitura do contador rápido que sem o COBid dos Outputs não irá ler nada pois no mesmo temos que acionar alguns Bit’s para que as funções do cartão funcionem corretamente, abaixo podemos ver um passo a passo de como incluir o COBid das Outputs. Quando clicamos em cima do Gateway em nossa arquitetura de rede se abrirá uma aba a direita, devemos ir na opção “Receive PDO-Mapping” nesta aba temos duas janelas a da esquerda temos as opções que podemos incluir no COBid’s, no caso temos que clicar na opção “ExtentibleObject_5808” e selecionar a opção “EncoderControl_Generic XN-1CNT_0”, depois de selecionado devemo abrir a opção “PDO 0x1400” que está na janela da direita ali temos vários espações “vazios” para mover nosso objeto de extensão basta selecionar o primeito objeto vazio e pressionar o botão que o mesmo ficara´da seguinte forma:
Quando clicamos na aba Service Data Objects irá aparecer uma lista com algumas funções, devemos encontrar o Index 5800sub1 e mudar o valor de 0 para 7168 que com isso estaremos habilitando o reset quando acionarmos a entrada 14 do cartão 1 CNT.
Também podemos fazer a comparação do valor adquirido no 1CNT diretamente no cartão(Hardware), neste caso é feita uma comparação de um valor pré-determinado no cartão que também pode ser alterado no Codesys com o valor adquirido na entrada rápida do 1 CNT, essa comparação pode ser <= ou >=, com isso conseguimos ter respostas mais rápidas mas só vai funcionar no caso de quando o contador atingir um certo numero de pulsos ele ativa sua saída digital. Depois que colocamos nossa rede máster no Codesys para a IHM ou CLP e depois incluir o Gateway, devemos entrar no “I/O Assistant” pelo Codesys e alterar alguns parâmetros de acordo com a aplicação que temos, conforme abaixo:
Agora que já convertemos o valor a ser alterado para um formato que o bloco que executa a alteração do SDO entenda, temos que incluir esse bloco no programa o mesmo se chama “CanUser_SDOdownload” abaixo temos uma imagem do mesmo já no programa. Para sabermos qual é o Endereço do SDO que temos que alterar é só ir em PLC Configuration depois clicar no Gateway e depois ir na Aba “Service data Objects” lá encontraremos a opção “Cam1HightLimit_Generic XN_1CNT_0” que atende pelo Index “6B20sub1” esse é o endereço que usaremos para que o bloco “CanUser_SDOdownload” possa fazer a alteração do valor de comparação diretamente no SDO do 1CNT.