Apostila Codesys Avancada

Download Apostila Codesys Avancada

Post on 16-Sep-2015

360 views

Category:

Documents

247 download

Embed Size (px)

DESCRIPTION

Apostila Codesys Avancada

TRANSCRIPT

<ul><li><p>Programao avanada em ambiente CoDeSys. </p></li><li><p>10 de outubro de 2012 Pgina: 2 </p><p>www.eaton.com Pgina 2 </p><p>Proibida a reproduo total ou parcial deste materi al, por qualquer meio ou processo sem expressa autorizao por escrito da EATON Ltda. Electrical &Acirc;&#150; Diviso Electrical PDO. A violao dos direitos autorais crime, podendo c ominar em pena de priso e/ou multa, conjuntamente com busca e apreenso do material, sem prejuzo das indenizae s civis (de acordo com o artigo 184 e pargrafos do Cdigo Pena l Brasileiro c/c a Lei n 9.610/98, Lei dos Direitos Autorais). As informaes contidas nesta apostila correspondem ao estado atual da tcnica e esto sujeitas a alteraes sem aviso prvio. Os programas de exemplo contidos nesta apostila so para efeitos didticos, a EATON no se responsabiliza po r quaisquer danos e/ou acidentes que a utilizao indevida dest es softwares venha a causar. A participao e/ou aquisio do treinamento no d nenhum direito ao participante sobre os softwares utilizad os durante o treinamento, incluindo cpias, verses de demonstra o e/ou verses originais. O treinamento tem como base a utilizao de produto s EATON. A EATON no se responsabiliza por quaisquer adapta es, converses e/ou utilizao dos conceitos contidos n esta apostila com produtos de outra fabricao. </p></li><li><p>10 de outubro de 2012 Pgina: 3 </p><p>www.eaton.com Pgina 3 </p><p>INDEX: </p><p> Introduo ao curso. .............................. ............................................................................................. 4Declarao de variveis. .................................................................................................................... 5</p><p>ARRAY. (Vetores e Matrizes.) ........................................................................................................ 5Inicializao de variveis. ............................................................................................................... 8Tipos de dados derivados. .............................................................................................................. 9</p><p>Enumeraes ....................................... .................................................................................... 10Estruturas ................................................................................................................................ 11</p><p>Programao em ST (Texto Estruturado). ............ ........................................................................... 12Atribuies e Expresses. ......................... ................................................................................... 12Comando condicional. (IF, ELSIF e ELSE) .................................................................................. 14Comando seletor (CASE) ............................................................................................................. 15Comandos de repetio: ............................ ................................................................................... 15</p><p>(FOR) ....................................................................................................................................... 15(WHILE) ................................................................................................................................... 16(REPEAT) ................................................................................................................................ 17(EXIT)....................................................................................................................................... 17</p><p>Chamando blocos de funo ......................... ............................................................................... 17Programao em SFC (Sequential Function Chart) .... .................................................................... 18</p><p>Atributos da Etapa. ....................................................................................................................... 20Transies. ....................................... ............................................................................................ 21Chart sequencial. .......................................................................................................................... 22Chart deciso ..................................... ........................................................................................... 22Chart paralelo. .............................................................................................................................. 23Variveis implcitas. ...................................................................................................................... 23Qualificadores de ao. ........................... ..................................................................................... 24</p><p>Qualificador N (No Stored). ..................................................................................................... 24Qualificadores S e R (SET // RESET) ..................................................................................... 25Qualificador L (Limit ) ................................................................................................... 25Qualificador D (Delay ) ................................................................................................. 26Qualificador P (Pulse) .............................................................................................................. 26Qualificador SD (Store and Delay ) .............................................................................. 27Qualificador DS (Delay and Store ) .............................................................................. 27Qualificador SL (Store Limited ) ................................................................................... 28</p><p>Criando aes. .................................... .......................................................................................... 28Explorando os recursos avanados do CoDeSys. ...... ..................................................................... 30</p><p>Watch / Recipe manager .............................................................................................................. 30Watch / Receipt Manager em modo Offline............................................................................. 30Watch and Receipt Manager no modo Online. ....................................................................... 31</p><p>LOG .............................................................................................................................................. 32Export / Import tools. ..................................................................................................................... 34Comparao de projetos. ........................... .................................................................................. 35TASK Manager ............................................................................................................................. 36Ferramentas de visualizao ....................... ................................................................................. 39</p><p>Placeholders ............................................................................................................................ 40Contador Rpido 1CNT ................................................................................................................ 42Contador Rpido 1 CNT comparao via Codesys...................................................................... 42Contador Rpido 1 CNT comparao no hardware. .................................................................... 45Comunicao Ethernet CLP com CLP .................. ....................................................................... 51Comunicao CANopen CLP com CLP ................... .................................................................... 55PID Autotunig no Codesys ............................................................................................................ 58</p></li><li><p>10 de outubro de 2012 Pgina: 4 </p><p>www.eaton.com Pgina 4 </p><p>Conforme explorado em treinamento anterior, alguns equipamentos EATON so programveis atravs de uma ferramenta conhecida como CoDeSys que obedece a uma normal europeia, a IEC 61131 captulo 3. </p><p>Esta norma regulamenta 5 linguagens de programao diferentes, duas textuais, ou seja, sua programao simplesmente feita atravs de texto e trs grficas. </p><p>Structured Text Texto Estruturado (ST)Instruction List Lista de Instrues (IL)Function Block Diagram Diagrama de Blocos de Funes (FBD)Ladder Diagram Diagrama de Contatos (LD)Sequential Function Charts (SFC)</p><p>Linguagens Textuais</p><p>Linguagens Grficas</p></li><li><p>10 de outubro de 2012 Pgina: 5 </p><p>www.eaton.com Pgina 5 </p><p>ARRAY. (Vetores e Matrizes.) O CoDeSys permite que suas variveis sejam declaradas em forma de vetores e matrizes, que so variveis com a capacidade de armazenar vrios valores, de mesmo tipo, em seu interior. So como caixas numeradas que so solicitadas confo rme o nmero desejado. </p><p>O Vetor armazena os valores em seu interior de forma Unidimensional, ou seja, a alocao feita atravs de um indexador. </p><p>J a matriz pode armazenar valores em seu interior atravs de dois indexadores, tipo linha e coluna, ou trs indexadores, tipo linha, coluna e profundidade. </p><p> Exemplo de declarao de um vetor: AT : ARRAY[..&lt; N&gt;] OF Onde: o nome da varivel que desjamos, o nome obedece as regras j estudadas para a declarao de variveis. se necessrio podemos especificar o endereo fsico DO PRIMEIRO VALOR do vetor, automaticamente o CLP entende que os valores seguintes seguiro nos endereos subsequentes. Valor inicial do vetor, normalmente utilizamos 0 ou 1. Valor final do vetor, quantas posies o veto r ter. Tipo de valores a serem armazenados conforme IEC 61131-3. Tomemos este exemplo de declarao: Vetor1 AT %IB0 : ARRAY[0..3] OF BYTE; Nosso Vetor se chama &Acirc;&#147;Vetor1&Acirc;&#148;, seu endereo inicia l a entrada fsica IB0, ele possui 4 posies, comeando em 0 e terminando em 3 e todos os valores armazenados dentro deste vetor so variveis do tipo BYTE! </p></li><li><p>10 de outubro de 2012 Pgina: 6 </p><p>www.eaton.com Pgina 6 </p><p> Vejam agora este outro exemplo: Armazenador : ARRAY[1..1500] OF REAL; Neste caso o vetor se chama &Acirc;&#147;Armazenador&Acirc;&#148;, ele no possui endereo fsico definido, ou seja, os valores sero alocados dentro da memria d o CLP. Este vetor possui 1500 posies, comeando na posio 1 e indo at a posio 1500, d entro deste vetor armazenamos variveis do tipo REAL. As matrizes possuem o mesmo princpio de funcionamento dos vetores, a nica diferena que as matrizes possuem mais dimenses. Veja abaixo estes dois exemplos de declarao de matrizes: MatrizSimples : ARRAY[0..3,1..4] OF UINT; Matriz : ARRAY[1..4,1..4,0..3] OF INT; A &Acirc;&#147;MatrizSimples&Acirc;&#148; no tem endereo inicial definid o e possui 16 valores em seu interior, dispostos em 4 colunas, posies de 0 a 3, e 4 linh as, posies de 1 a 4. Neste exemplo armazenamos valores do tipo UINT. J a &Acirc;&#147;Matriz&Acirc;&#148;, no tem endereo inicial mas possui 64 valores em seu interior, dispostos em 4 profundidades, posies de 1 a 4, 4 colunas, p osies de 1 a 4 e 4 linhas, posies de 0 a 3. Neste exemplo armazenamos valores do tipo INT. </p><p> Normalmente utilizamos estas variveis quando temos um grande volume de dados e desejamos que o acesso aos valores no interior destas matrizes seja decidido por uma outra varivel que ir apontar qual a posio desejada! No programa IecAdv_MatrizesUtilizacao.pro tem um exemplo de um programa com matrizes e vetores, veja: </p></li><li><p>10 de outubro de 2012 Pgina: 7 </p><p>www.eaton.com Pgina 7 </p><p> Durante a simulao podemos ver que a Matriz chama da de Arr2, que aparece no Ladder Network 1, est ligada a um bloco MOVE, o valor que estiver em Arr2 ser movido para a varivel &Acirc;&#147;Resultado3&Acirc;&#148;. O valor que ser movido da &Acirc;&#147;Arr2&Acirc;&#148; depende de duas variveis, so as variveis que aparecem entre colchetes &Acirc;&#147;[Linha, Coluna]&Acirc;&#148;, se as d uas forem iguais a 0, ento o valor transferido para &Acirc;&#147;Resultado3&Acirc;&#148; ser 0. Porm, se &Acirc;&#147;Linha&Acirc;&#148; for igual a 1 e &Acirc;&#147;Coluna&Acirc;&#148; for igual a 2, ento 9 o valor que ser enviado &Acirc;&#147;Resultado3&Acirc;&#148;. </p><p> O mesmo princpio vale para a gravao de valores, na Network 2 temos um contato &Acirc;&#147;Grava&Acirc;&#148; habilitando um bloco MOVE, assim que este c ontato fecha, o valor da varivel &Acirc;&#147;Origem&Acirc;&#148; copiado para a matriz &Acirc;&#147;Arr3&Acirc;&#148; na posio indicada pe las variveis: &Acirc;&#147;Matriz&Acirc;&#148;, &Acirc;&#147;Linha&Acirc;&#148; e &Acirc;&#147;Coluna&Acirc;&#148;. No exemplo abaixo, colocamos, &Acirc;&#147;Matriz=5&Acirc;&#148;, &Acirc;&#147;Linha=4 &Acirc;&#148; e &Acirc;&#147;Coluna=3&Acirc;&#148;, isto define a posio dentro de Arr3. Foramos a varivel &Acirc;&#147;Origem=146&Acirc;&#148; e acionamos o contato &Acirc;&#147;Grava&Acirc;&#148;. Como resultado o valor 146, que est na varivel &Acirc;&#147;Origem&Acirc;&#148; gravado em Arr3[5,4,3]. </p></li><li><p>10 de outubro de 2012 Pgina: 8 </p><p>www.eaton.com Pgina 8 </p><p>Inicializao de variveis. Conforme estudamos no treinamento bsico, as variveis podem ser inicializadas, ou seja, antes do CLP rodar seu primeiro ciclo, estas variveis so carregadas com valores iniciais. TemperaturaDesejada : UINT:=234; Neste caso a varivel &Acirc;&#147;TemperaturaDesejada&Acirc;&#148; carregada com o valor 234 antes do primeiro ciclo do CLP rodar. Com vetores e matrizes a filosofia a mesma: Arr1 : ARRAY[0..4] OF USINT:=1,2,3,4,6,7; Neste exemplo os valores 1, 2, 3, 4, 6 e 7 so car regados no vetor, a dvida surge quando trabalhamos com vetores ou matrizes grandes. Veja o exemplo: Arr2 : ARRAY[0..4,0..5] OF USINT:=2(0), 2(1), 4,1, 3, 4, 2(9); Quando temos vetores e matrizes grandes e queremos inicializar o mesmo valor em vrias posies em sequncia, colocamos um multiplicador na frente do nmero desejado entre parnteses, como no exemplo acima, a matriz seria carregada como segue abaixo: </p></li><li><p>10 de outubro de 2012 Pgina: 9 </p><p>www.eaton.com Pgina 9 </p><p> Observe que o zero, o um e o nove foram carregados duas vezes. O sistema neste caso carrega os valores em sequencia, ou seja, escrevemos os valores a serem carregados sem especificar a posio, o prpr io sistema os arranja seguindo a seguinte regra: Incrementa a posio da direita at o mximo definido pelo programador, ento incrementa a posio da esquerda, e volta a incrementar a posi o da direita at o fim. Veja exemplo: Arr3 : ARRAY[1..3,1..3,1..3] OF USINT:=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; </p><p>Tipos de dados derivados. Tipos de dados derivados so variveis que ns &Acirc;&#147;Construmos&Acirc;&#148;. Imagine que em meu programa vou utilizar vrias variveis tipo Matriz com 11 posies sendo que todas as posies sempre sero iniciadas em 1. Na aba Data Types do CoDeSys possvel criar estes dados derivados, veja o programa IecAdvEstruturas.Pro para um exemplo prtico. </p><p> Neste caso eu criei um tipo de dados chamado &Acirc;&#147;Matr iz&Acirc;&#148; este tipo de dado utilizado para declarar variveis em meu programa. As minhas variveis declaradas ficaro assim: Deposito1 : Matriz; Deposito2 : Matriz; Deposito3 : Matriz; </p><p>Arr2[0,0]=0 Arr2[1,0]=3 </p><p>Arr2[0,1]=0 Arr2[1,1]=4 </p><p>Arr2[0,...</p></li></ul>