Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Curso - clp, Notas de aula de Mecatrônica

CURSO DE PROGRAMAÇÃO DE CLP E MICROCONTROLADOR

Tipologia: Notas de aula

2018

Compartilhado em 22/02/2018

Jorge-Alves-88
Jorge-Alves-88 🇧🇷

4.3

(26)

33 documentos

1 / 131

Documentos relacionados


Pré-visualização parcial do texto

Baixe Curso - clp e outras Notas de aula em PDF para Mecatrônica, somente na Docsity! CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 1 APRESENTAÇÃO O entendimento do mundo está na atualização de nosso conhecimento técnico e científico. Decidimos fazer um estudo de uma área pouco explorada, de pouco conhecimento prático, mas que está a todo momento nos envolvendo em nossa casa, no lazer e no trabalho: CLP. Dividiremos nosso ensino em dias de estudo, equivalentes há 30 minutos diários de leitura, dando passos a um assunto envolvente, você se empolgará em colocar em prática os novos conhecimentos adquiridos na área de microprocessamento e lógica de programação, sentindo-se não apenas um aluno, mas uma pessoa que brinca com algo que lhe abrirá os olhos a esse mundo de tecnologia, não mais admirada por pouco entendê-la, mas sim, admirando, entendendo e utilizando. Agradeço à Deus pela oportunidade de passar esses conhecimentos, que com muito esforço venho retribuir em agradecimento da vida. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 2 CONTEÚDO DO MÓDULO DE ENSINO 1) Curso de linguagem de programação dedicada a compilador para microprocessador. 2) CLP dedicado. 3) Cabo de programação do CLP. 4) Software de programação do CLP. 5) Manual de comandos do CLP. 6) Exemplo de programas. OBS. Pré – requisitos: 1º DIA - INTRODUÇÃO : TECNOLOGIA Nosso curso não é de eletrônica, porém é bom saber que a evolução de equipamentos com processamento de informações, foi decorrente do desenvolvimento da microeletrônica. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 5 desenvolver rapidamente os microprocessadores, desenvolvendo-se assim o microcontroladores. Microprocessadores são dispositivos de processamento abertos, que necessitam de uma grande quantidade de periféricos para realizarem a captura de informações externas e gravar informações, buscar dados, interagir com os meios, normalmente utilizados por um PC ou processamentos de grande magnitude. Microcontroladores são dispositivos que por si próprio já tem muitos dispositivos para interagir com os meios, necessitando de poucos periféricos, utilizados para comando de aparelhos portáteis, equipamentos industriais e por serem de baixo custo são utilizados em CLP´s e outros equipamentos de desenvolvimento. Com o desenvolvimento de controles mecânicos e de controles elétricos e pneumáticos, teve-se a necessidade de poder interagi-los formando sistemas mais complexos, e surgiram os comandos elétricos, utilizando sistemas eletromecânicos e comandos com placas eletrônicas dedicadas. O problema para esses sistemas estava na dificuldade de se fazer qualquer mudança do comando ou procedimentos de controle, necessitando muitas vezes do desenvolvimento de um novo projeto de placa eletrônica. As fábricas automotivas buscaram alternativas para esse problema, surgindo os PLC´s ou CLP´s. CLP: é um equipamento que utiliza um microcontrolador que já tem dispositivos de coleta de informações, armazenamento e saída de informações, onde pode ser programado, quantas vezes forem necessárias, substituindo assim as antigas placas eletrônicas dedicadas. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 6 Os CLP´s facilitam nossas vidas, mesmo se não forem engenheiros, pode-se automatizar equipamentos, mecânicos, elétricos, pneumáticos e de uso no nosso lar. 1a. PRÁTICA: Conhecer o equipamento: ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 - Ligação 220 Volts. - O led acenderá e iniciará um programa exemplo, que acionará em seqüência S1 – S6. - C representa o terminal comum dos relés internos S1 a S6 representados pelos led´s correspondentes, são as saídas. - E1 a E10, são as entradas que são acionadas pela tensão (+). 2º DIA – ELEMENTOS DOS MICROPROCESSADORES A área de microprocessamento é muito abrangente e nos dedicaremos a equipamentos que utilizarão a tecnologia de microcontroladores, mas para isso vamos ter agora, uma visão geral de microprocessadores. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 7 ELEMENTOS 1) FAMÍLIAS LÓGICAS: Vamos iniciar com linguagem binária, ou matemática de dois dígitos 0 e 1, simplificando, assumimos que: SIM ou VERDADEIRO = 1 NÃO ou FALSO = 0 Tabela Lê-se a) OU ou OR A + B = C A ou B = C 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 Tabela Lê-se b) E ou AND A ٠ B = C A e B = C 0 ٠ 0 = 0 0 ٠ 1 = 0 1 ٠ 0 = 0 1 ٠ 1 = 1 Tabela Lê-se c) NÃO ou (NOR) A + B = C A ou B invertido = C 0 + 0 = 1 0 + 1 = 0 1 + 0 = 0 1 + 1 = 0 SÍMBOLO A C B SÍMBOLO A C B SÍMBOLO A C B CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 10 São locais onde são armazenados dados e programas em um sistema digital. a) Memória Ram ou memória de acesso aleatório, é destinada a leitura e gravação. A memória Ram necessita de alimentação para manter os dados armazenados. Uma memória Ram de 1024 x 4 representa que é formada por 64 linhas de 16 colunas (64x16 = 1024) de palavras de 04 bits (dígitos binários). Um byte = 4 bits. b) Ram Dinâmica (DRAM) usando tecnologia CMOS possibilitam concentrar até quatro vezes mais informações do que a Ram estática. As DRAM necessitam de pulsos de tensão para que os dados não se percam chamados de REFRESH (refrescamento). c) Memória ROM Memória de leitura, são memórias construídas por uma matriz de semicondutores que depois de gravados não perdem mais os dados e não podem ser mais regravados, sendo divididos em: c.1) PROM São programadas pelo usuário, a gravação é feita por gravadores especiais que queimam fusíveis internos. c.2) EPROM São memórias alteráveis podendo ser gravadas, apagadas e gravadas com os processos: o UVPROM – Utilizam luz ultravioleta que incidirá numa janela no CI. o EPROM – Utiliza pulsos elétricos, apagamento, assumindo nível lógico zero. Uma memória EPROM (2716) tem 16 K de memória, representando uma organização de 2048 palavras de 08 bits cada, sendo alimentada por 5 volts. Obs.: 08 bits representa uma palavra de 08 dígitos binários ou 02 bytes. Microprocessadores: É um conjunto de circuitos lógicos, encapsulados numa única pastilha de larga escala de CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 11 integração (LSI), capaz de realizar diversas funções, de forma seqüencial. Temos 05 partes principais: circuitos de entrada, memória, unidade de controle, unidade de lógica e aritmética, saída. Classificação dos microprocessadores: Conforme já vimos um bit assume o valor de 0 ou 1, o microprocessador contém os circuitos necessários para a execução das funções de uma unidade central de processamento, funções codificadas em uma palavra de vários bits. Os bytes são padronizados em palavras de 04 bits, 08 bits, 16 bits, 32 bits e 64 bits. Convencionou-se classificar os microprocessadores pela quantidade de bits em sua palavra (byte). São chamados de microprocessadores de 04 bits, 16 bits, 32 bits e 64 bits. Estrutura dos microcomputadores:  Microprocessador;  Memória Rom e Ram;  Memória externa (flexível e rígida);  Periféricos de entrada (teclado, modem);  Periféricos de saída (vídeo, som). ENTRADA SAÍDA UNIDADE DE CONTROLE UNIDADE DE LÓGICA E ARITMÉTICA MEMÓRIA CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 12 2a. PRÁTICA: Faça as ligações no CLP conforme indicado: ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 Pode-se usar um fio ligado diretamente da saída (+) ás entradas E1 e E2, fazendo assim a função do interruptor fechado. LEGENDA INTERRUPTOR INTERRUPTOR FECHADO ABERTO LED “E” LIGADO = 1 LED “E” APAGADO = 0 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 15 2) Registrador de instrução: Estes registradores operam como se fossem memórias Rom do chip, guardando código de instruções para controlar o chip. 3) Decodificação de instruções: Tem a função de decodificar as instruções contidas nos registradores. 4) Stack Pointer: Esse é um registrador que fornece um endereço de código de construção à unidade de memória, durante cada operação de busca de instrução. 5) Pinagens Padrões ou universais: a) Alimentação: VSS = terra ou GND VBB = - 5V VCC = + 5V VDD = + 12V b) Endereçamento: A0 – A15. c) Comunicação: BI-Direcional D0 – D7. d) Modo de espera: DBIN. e) Estado de espera de comando externo: WAIT. f) Escrita de memória externa: WR. g) Sinal de entrada que coloca via de dados e via de endereços em alta impedância: HOLD. h) Sinal de saída que coloca via de dados e via de endereços em alta impedância: HLDA. i) Sinal de entrada que avisa que tem sinal na via de dados: READY. j) Interrupção habilitada: INTE. k) Requisição de interrupção: INT. l) Retorno à posição zero da memória: RESET. m) Requisição de memória externa – MREQ n) Sinal para ativar o refrescamento de memória: RFSH o) Entrada prioritária acima da interrupção: NMI p) Sinal de relógio: Clock q) Sinal de atraso de leitura externa: RDY CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 16 Obs: Vale ressaltar os itens ‘g’ e ‘j’ . g) A saída de um circuito digital pode assumir 03 estados:  0 = zero volts ;  1 = tensão de alimentação ;  Z = alta impedância, que representa que a saída não mais alimentará com 0 volt ou 5 volts, mas ficará a disposição para receber informação sem interferir com o meio. j) A interrupção de um processamento significa a parada na seqüência do programa para fazer outra instrução mais prioritária e depois retornar ao programa antes parado. Obs: O clock representa a velocidade de processamento. O processamento segue dois caminhos distintos: 1º - Todo programa segue em seqüência pelo clock do circuito, dando prioridade às interrupções. 2º - O programa de timer independente segue individualmente sem necessitar do clock ou freqüência de processamento. OUTRAS FUNÇÕES : Divisor somador, unidade de multiplexação e divisão, unidade de teste e proteção, unidade de segmentação, unidade de paginação, decodificador, fila de instrução, controle de barramento, porto, modo virtual, nível de prioridade. TIPOS DE CLP´S: Temos basicamente 03 tipos principias:  Os CNC´s ;  Os CLP´s industriais ;  Os CLP´s compactos. 1) CNC (Controlador de comando numérico) CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 17 É um CLP dedicado e programável para atender a uma faixa de atividades. No desenvolvimento das máquinas operatrizes de usinagem, sempre se procurou soluções que permitissem aumentar a produtividade e qualidade oferecendo flexibilidade necessária para usinagem de diferentes configurações de peças. Os CLP´s de comando numérico (CNC) surgiram nos Estados Unidos nos meados de 1950, no MASSACHUSSETS INSTITUTE OF TECNOLOGY, desenvolvendo um sistema aplicável a máquinas-ferramentas para controlar a posição de fusos, de acordo com dados fornecidos do processador. Comando numérico é um equipamento eletrônico capaz de receber informações e transmiti-las em forma de comando à máquina operatriz, de modo que esta sem a intervenção do operador, realize as operações na seqüência programada. Seus programas são dedicados a funções matemáticas e entrada de sensores de posição, tensão, etc, e controlando bombas, motores trifásicos, servo mecanismo de precisão, utilizando um programa de CAD, chamado de MASTERCAN, familiarizado com desenhos em 2 e 3 dimensões. 2) CLP Industrial Os CLP´s industriais tem uma constituição muito flexível de entradas e saídas, sendo todo ele modular e expansível em módulos armazenados em um Rack, adequando a necessidade do complexo, trabalhando independente ou se comunicando a outros CLP´s formando um gerenciamento complexo chamado de sistema supervisório, contendo interfaces homem–máquina, teclados, monitores, entradas CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 20 4º DIA – INTRODUÇÃO A LINGUAGEM DE PROGRAMAÇÃO TERMOS UTILIZADOS: 1) INFORMAÇÃO – Informações e dados são representados por meio de sinais. 2) SINAIS BINÁRIOS – São grandezas físicas a que se atribuem somente dois estados, como um contato aberto ou fechado de um interruptor. 3) SINAIS ANALÓGICOS – É a representação de uma grandeza que pode assumir no decorrer do tempo, qualquer valor dentro de uma faixa de valores. 4) INFORMAÇÃO DIGITALIZADA – Digitalizar uma grandeza analógica significa dividir a mesma, em vários segmentos, de forma que se possa fazer posteriormente uma relação, entre uma quantidade de segmentos e a grandeza medida. 5) ELEMENTOS DE COMANDO – São ligados à entrada do CLP, como acionadores binários, botões, sensores, etc, ou ligados à saída acionando contactores, relés, iluminação, controles, etc. 6) PROCESSAMENTO DO PROGRAMA – Quando escrevemos o programa, o compilador do Software, o transfere de forma binária para a memória do CLP, armazenado de forma seqüencial em que se encontram a lista de instruções, sendo processado de forma seqüencial e repetitiva. 7) TEMPO DE CICLO – Tempo necessário para a execução do programa (SCAN). 8) MEMÓRIA DE IMAGEM – No início de cada ciclo de programa, o sistema operacional verifica o estado atual de CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 21 todas as entradas e registra esta informação em uma área de memória que chamaremos de imagem das entradas, de maneira análoga à entrada, temos também uma memória imagem das saídas, após cada processamento as imagens de entrada e saída são atualizadas na memória específica. CARACTERÍSTICAS DO CLP: CLP NT - Entrada AC: 24 Vca/ 110 Vca/ 220 Vca; - 06 saídas a relé ou 06 saídas a transistor; - 08 entradas digitais; - 02 entradas rápidas; - 01 entrada analógica resistiva - 01 saída RS 232 - Endereçamento fixo: 02 portos: (entrada ou saída do processador interno do CLP) CLP NT.8 - Entrada AC: 24 Vca/ 110 Vca/ 220 Vca; - 10 saídas a relé ou 10 saídas a transistor; - 02 saídas a transistor PWM; - 01 saída para display; - 08 entradas digitais; - 02 entradas rápidas; - 02 entradas analógicas – 5V - 01 saída RS 232 - Endereçamento fixo: 02 portos: (entrada ou saída do processador interno do CLP) CLP CONTROLE - Entrada AC: 24 Vca/ 110 Vca/ 220 Vca; - 06 saídas a relé ou 06 saídas a transistor; - 08 entradas digitais; - 02 entradas rápidas; - 01 entrada analógica resistiva CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 22 - 01 saída RS 232 - Endereçamento fixo: 02 portos: (entrada ou saída do processador interno do CLP) Porto D: D.0 – RX D.1 – TX D.2 – I e INT 1 D.3 – I e INT 2 D.4 – I D.5 – controle entrada D.6 – controle saída Porto B: B.0 – I/O B.1 – I/O B.2 – I/O B.3 – I/O B.4 – I/O B.5 – I/O B.6 – I B.7 – I Obs.: I – representa entrada; O – representa saída; I/O – entrada e saída; RX – recebe dados da serial; TX – transmite dados para serial;  Endereçamento Indicado: Saída do CLP: S1 – B0 S2 – B1 S3 – B2 S4 – B3 S5 – B4 S6 – B5 As informações do porto B0 a B5 saem para as saídas S1 a S6 respectivamente, quando o porto D6 = 1. Entrada do CLP: D4 entrada AD resistiva E1 – D2 E2 – D3 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 25 entrada saída TABELA DIAGRAMA A B Q 0 0 1 0 1 0 1 0 0 1 1 0 5) Função NÃO OU símbolo A Q B entrada saída TABELA DIAGRAMA A B Q 0 0 1 0 1 1 1 0 1 1 1 0 A B Q >= 1 “ A B Q CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 26 6) Função OU EXCLUSIVO símbolo A B Q A B entrada saída TABELA DIAGRAMA A B Q 0 0 0 0 1 1 1 0 1 1 1 0 7) Contador símbolo E Q RST entrada saída E – entrada de contagem; RST – entrada para zerar contagem; C – número de vezes para contagem; S – quando a contagem = C, a saída é 1. & >= 1 A B Q & C CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 27 8) Temporizador: símbolo E Q entrada saída E – Habilitador do contador T – escolha do tempo π ╨ ▀ - Tipos: de pulso único, cíclico, temporizador comum e randômico, respectivamente. Obs:Demais símbolos e comandos são chamados de dedicados, onde realizam operações matemáticas como soma, multiplicação, divisão, comparação, substituição, leitura e conversão de entradas analógicas, leitura de pulsos, etc. 4a. PRÁTICA: EXERCÍCIOS RESOLVIDOS 1) Automatizar um portão com controle de um único botão, para fechar e abrir. ABRE M1 M2 T π ╨ ▀ PORTÃO CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 30 M1 M2 SAÍDA M1 LÂMPADA M2 Obs. Os desenhos já estão gravados no software de programação do CLP que usa esse tipo de linguagem bastando somente dizer, qual comando usar que na tela do PC aparecerá o desenho específico. A linguagem é simples, mas complicado ao entendimento na primeira vista. ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 A M1 M2 & >= 1 & “ M 220 Vca CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 31 5º DIA – LINGUAGEM DE PROGRAMAÇÃO LADER É a linguagem mais simples de visualização da estrutura de programação, mas restrita a um determinado meio de utilização. SIMBOLOGIA 1) Entrada ou contato auxiliar aberto 2) Entrada ou contato auxiliar fechado 3) Saída ou relé virtual 4) Associação OR A B C 5) Associação AND A B C 6) Associação AND + OR A B C E D CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 32 7) Associação AND contida no OR A B C F D E 8) Associação NÃO E (NAND) A B C 9) Associação NÃO OU A B C EXEMPLO DE UMA ASSOCIAÇÃO COMPLEXA 10) Temporizador tempo número CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 35 Condições: 1) Ao ligar o sistema é ligado o motor1 e depois de 15 segundos, o motor 2. 2) As esteiras são para transporte de caixas. Quando o sensor 1 for acionado, desliga a esteira principal. 3) Se os sensores 2 e 3 estiverem acionados ao mesmo tempo, desliga a esteira de alimentação. 4) Se os térmicos dos motores foram acionados, liga o alarme, acionando o botão de rearme alarme pela botoeira e os térmicos não forem desabilitados, desliga a sirene, mas a lâmpada da botoeira ficará ligada. Entradas: Sensor 1 – E1 Sensor 2 – E2 Sensor 3 – E3 Térmico M1 – E4 Térmico M2 – E5 Botão Liga – E6 Botão Desliga – E7 Botão Rearme Alarme – E8 Saídas: Contactor M1 + Lâmpada liga – S1 Alarme Liga Desl. Rearme Alarme Térmico M1 Térmico M2 LEGENDA: SINALEIRO BOTOEIRA C/ LÂMPADA ALARME SONORO CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 36 Contactor M2 – S2 Lâmpada térmico M1 – S3 Lâmpada térmico M2 – S4 Alarme acústico – S5 Lâmpada alarme – S6 Obs. - Não terá lâmpada na botoeira desliga. - Os sinaleiros dos térmicos ficarão ligados quando estiverem Ok. PROGRAMA LADER E4 E5 AUX.1 E6 AUX.1 E7 AUX.2 AUX.2 Temp1 15seg AUX.1 S6 Temp2 1seg S6 T2 E8 S5 S5 E1 AUX.2 S1 E2 E3 AUX.3 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 37 AUX.3 T1 S2 E4 S3 E5 S4 EXEMPLO DE COMO PODE SER FEITA A LIGAÇÃO NO CLP: ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E1 – sensor 1 E2 – sensor 2 E3 – sensor 3 E4 – térmico M1 E5 – térmico M2 E6 – liga E7 – desliga E8 – rearme alarme 6º DIA – LINGUAGEM ESTRUTURADA – INÍCIO 6a. PRÁTICA: 220 Vca M1 M2 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 40 1 FILE OPEN: para abrir um arquivo. 2 ou teclando CTRL + O, FILE CLOSE: Fecha o programa. Se ainda não foi salvo, perguntará qual nome e onde guarda-lo. 3 FILE SAVE: salvar o programa. FILE SAVE AS: salvar o programa com outro nome e/ou outro diretório. 4 FILE PRINT PREVIEW: prepara o arquivo para impressão. 5 FILE PRINT: imprime o arquivo atual na impressora escolhida do windows. FILE EXIT: sair do programa. 6 : visualiza impressão. EDIT EDIT UNDO ou teclando CTRL + Z: desmancha o último texto manipulado. EDIT REDO ou teclando CTRL + SHIFT + Z: refaz o último texto desmanchado. 7 EDIT CUT ou teclando CTRL + X : corta o texto selecionado. 8 EDIT COPY ou teclando CTRL + C : coloca o texto selecionado na tela de programa. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 41 9 EDIT PASTE ou teclando CTRL + V : cola o texto dentro da pasta na posição atual. 12 EDIT FIND ou teclando CTRL + F : verifica o texto em seu programa, posiciona o cursor no texto. EDIT FIND NEXT – F3 : Busca o último item especificado. EDIT REPLACE: repõe o texto em seu programa. PROGRAM PROGRAM COMPILE – F7 : com esta opção você pode compilar seu programa atual e será salvo automaticamente. Compilar um programa significa transforma-lo em linguagem binária para podermos gravar no CLP. Obs. Quando compilamos um programa o compilador gera os seguinte arquivos:  PROGRAMA.BIN : Arquivo binário.  PROGRAMA.DB6 : Arquivo para simulador.  PROGRAMA.OBJ : Arquivo objeto.  PROGRAMA.ERR : Arquivo de erros do programa.  PROGRAMA.RPT : Arquivo de relatório.  PROGRAMA.EEP : Arquivo de imagem da EPROM. 13 PROGRAM SYNTAX CHECK SHORTCUT ou teclando CTRL + F7 : verifica erros de sintaxe no programa. 15 PROGRAM SHOW RESULT ou teclando CTRL + W : dá informações em forma de relatório do programa, como:  nome do programa; CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 42  data e hora da ultima compilação ;  versão do compilador;  freqüência em baud na transmissão;  memória Ram, etc. 14 PROGRAM SIMULATE – F2 : Abrirá uma nova janela onde podemos simular o programa antes de gravarmos no CLP. JANELA DO PROGRAMA. AVR SIMULATOR - ٱ x 1 2 3 4 5 6 7 8 9 10 11 12 13 VARIÁVEL LOCAL VISUALIZAR ABRIR INTERRUPÇAO VARIÁVEL VALOR HEXADECIMAL BINÁRIO PROGRAMA LINHA DE PROGRAMA a) THE TOOLBAR: 1 Inicia a simulação, o simulador pausará quando você pressionar o botão 2 PAUSE. 3 Botão Stop : pára a simulação e zera todas as variáveis. 4 Botão Step – F8 : executará uma linha de programa e pausará. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 45 CHIP IDENTIFIQUE : Abrirá uma janela para escolhermos o processador do CLP. Veremos na próxima aula. WRITE BUFFER INTO CHIP : Programa o buffer dentro do chip ROM ou EEPROM. READ CHIPCODE INTO BUFFER : Lê os códigos ou dados do chip. RCEN : Escreve um bit para habilitar o oscilador interno, é uma variável do simulador do compilador. 7º DIA – PREPARANDO O PROGRAMA PARA CONVERSAR COM O CLP JUNTOS 7a. PRÁTICA Na tela principal, tecle na palheta superior em OPTION, escolha COMPILER, escolha CHIP, aparecerá uma janela de configuração, proceda como se segue. BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Chip Output Communication 12C,SPI, 1 WIRE LCD Chip 90S2313 XRAM NONE ▼ ▼ HW Stack 32 NONE Framesize 50 Ok Cancel Flash ROM 2K2 SRAM 128 EEPROM 128 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 46 Janela para selecionar o tipo de processamento, selecionando RAM externa, especifica o tamanho máximo de programa, especifica o tamanho do frame. Cada local tem um espaço para armazenar. OPTIONS COMPILER OUTPUT Para a seleção e geração de um arquivo binário, seleção e geração de um arquivo DEBUG, seleção de arquivo HEXADECIMAL, seleciona arquivo REPORT, seleciona arquivo de erro. Para selecionamento dos arquivos necessários para simulação, debugar e compilar o programa escrito para gravar no CLP. BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Para selecionamento dos arquivos necessários para simulação, debugar e compilar o programa escrito para gravar no CLP. Output Chip Communication 12C,SPI, 1 WIRE LCD Ok Cancel Binary file Debug file HEX file Report file Error file Size warning AVR Studio object file CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 47 OPTIONS COMPILER COMMUNICATION BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Seleciona a velocidade de transmissão de dados em BAUD e a freqüência de clock do CLP. OPTIONS COMPILER 12C, SPI, 1 WIRE BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Janela para selecionar a porta de comunicação do CLP para programação. OPTIONS COMPILER LCD BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Communication Chip Output 12C,SPI, 1 WIRE LCD Ok Cancel Frequency 10.000.000 Baudrate 9600 ▼ ▼ Error 1% 12C, SPI, 1WIRE Output Communication LCD Ok Cancel Chip 12C SCL port SDA port 1 WIRE 1 Wire PORT B.0 PORT D.0 ▼ ▼ PORT B.0 ▼ SPI Clock MOSI MISO SS □ Use Hardxare SPI PORT B.0 PORT B.0 PORT B.0 PORT B.0 ▼ ▼ ▼ ▼ CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 50 BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer DESCRIÇÃO DE OPÇÕES BASCON – AVR Options x Compiler Communication Environment Simulator Programmer Monitor Printer Janela para configurar as barras de ferramentas. Passando por essa etapa e configurando todas essas janelas já podemos nos comunicar com nosso CLP podendo gravar o nosso programa no CLP NT. ATALHOS DO PROGRAMA EDITOR Font Editor IDE Back ground color Editor Font ASM color Keyword color Comment color HW register color Italic Bold Font ▼ Ok Cancel White Navy Green Purple Maroon ▼ ▼ ▼ ▼ IDE Font Tooltips File location Show Toolbar Save file as .. for new files Ok Cancel Editor CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 51 Não é necessário decorar todas, o tempo fará com que você utilize alguns com mais freqüência. LEFT ARROW – um caractere para esquerda. RIGHT ARROW – um caractere para direita. UD ARROW - uma linha acima. DOWN ARROW – uma linha abaixo. HOME – para começo da linha. END – para fim da linha. PAGE UP – página acima. CTRL + Y – apagar linha corrente. F1 – ajuda. F3 – finalizar texto. F5 – rum programa. F7 – compilar programa. CTRL + F7 – checar sintaxe. CTRL + M – simular. CTRL + N – novo arquivo. CTRL + P – imprimir arquivo. CTRL + S – salvar arquivo. CTRL + W – resultado em relatório da compilação. PALAVRAS RESERVADAS São as palavras que representam os comandos, e por isso não devemos usa-las como comentário de programa, nem como nome de variável ou constante. Λ ! ; $BAUD $CRYSTAL $DATA $DEFAULT $END CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 52 $EEPROM $EXTERNAL $INCLUDE $LCD $LCDRS $LCDPUTCTRL $LCDPUTDATA $LIB $REGFILE $SERIAL INPUT $SERIAL INPUT 2 LCD $SERIAL OUTPUT $XRAMSIZE $XRAMSTART 1WRESET 1WREAD 1WWRITE ACK ABS ( ) ALIAS AND AS ASC ( ) AT BAUD BCD BIT BITWAIT BLINK BOOLEAN BYTE CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 55 IF INCR INKEY INP ( ) INPUT INPUTBIN INPUTHEX INT0 INT1 INTEGER INTERNAL INSTR IS LCASE ( ) LCD LEFT LEFT ( ) LEN ( ) LOAD LOCAL LOCATE LONG LOOKUP ( ) LOOKUPSTR ( ) LOOP LTRIM ( ) LOW ( ) LOWER LOWERLINE MAKEBCD ( ) MAKEDEC ( ) MAKEINT ( ) MID ( ) CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 56 MOD MODE NACK NEXT NOBLINK NOSAVE NOT OFF ON OR OUT OUTPUT PEEK ( ) POKE PORTA PORT B PORT A PORT C PORT D PORTE PORTF POWERDOWN PRINT PRINTBIN PULSE OUT PWM1A PWM1B READ READEEPROM REM RESET CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 57 RESTORE RETURN RIGHT RIGHT ( ) ROTATE RTRIM ( ) SELECT SERIAL SET SHIFT SHIFTLCD SHIFTCURSOR SHIFTIN SHIFTOUT SOUND SPACE ( ) SPIINIT SPII SPIMOVE SPIOUT START STEP STR ( ) STRING ( ) STOP STOP TIMER SUB SWAP THEN THIRD THIRDLINE TIMER 0 TIMER 1 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 60 4) TIPOS DE DADOS a) BIT (1/8 BYTE) = 0 ou 1. b) BYTE = 0 a 255. c) INTEGER = -32,768 A + 32,767. d) WORD = 0 A 65535. e) LONG = -2147483648 A 2147483648. f) SINGLE = 32 BIT g) STRING = acima de 254 BYTES. É muito importante se distinguir os valores máximos e mínimos de cada TIPO, pois, dependendo do programa, pode-se ter grandes dores de cabeça procurando por cálculos que não dão certo. 5) TIPOS DE VARIÁVEIS. a) valor constante, ex. A = 5 , C = 1,1. b) variáveis alfanuméricas, ex. abc = def , f = j. c) constantes, ex. temp = C+5. d) variável hexadecimal – prefixo &H, ex. a = &H A e) variável binária, ex. C = &B101011. 6) OPERADORES a) ARITMÉTICOS : +, -, *, \, Λ. b) RELACIONAIS : = igualdade X = Y. <> diferença X <> Y. < menor que X < Y > maior que X > Y <= menor ou igual X <= Y. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 61 >= mayor ou igual X >= Y. c) LÓGICOS: NOT: negação. AND: conjunção. OR: disjunção. XOR: exclusive OR. Ex. Se X = Y and Z, escreva: X = J. Obs. Se lê : se em X, Y and Z, escreva X = J, quer dizer, se Y ou Z assumir o mesmo valor X = J. 8º DIA – PROGRAMANDO O CLP E CONHECENDO OS COMANDOS JUNTOS 8a. PRÁTICA Para começar a programar, devemos conhecer a estrutura do programa. 1a. Descrição das variáveis. 2a. Rotinas do programa. 3a. Sub-rotinas do programa. 4a. Descrição dos timer internos; Descrição das interrupções. Para jogar os programas do PC ao CLP, basta mandar compilar o programa, teclando F7,quando estiver na tela principal e o programa não aparecendo nenhum erro, clicar em 18 (Run Programmer) da tela principal com o botão direito do mouse, na tela que aparecer, escolher V AUTO VERIFY, LPT 378 PORT DELAY 0, quando for gravar o CLP, clicar com o botão esquerdo do mouse na tecla 18(Run Programer), que o programa será carregado no CLP. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 62 Estaremos ensinando e utilizando cada comando de programa da forma necessária ao uso de forma utilizável. Obs. Todos os exemplos podem ser compilados e gravados no CLP. 1O. comando: $BAUD e $CRYSTAL Para escolher a velocidade de transmissão e CLOCK do CLP independente do DEFAULT original. Sintaxe: $BAUD = variável. $CRYSTAL = variável. Obs. Quando colocamos um apostrofo (‘) no início da linha de programa, a linha fica somente como comentário de programa, não sendo compilada. EXEMPLO PROGRAMA 1 Quando tiver sinal na entrada E1, a saída S1 ficará piscando em intervalos de 2 segundos. ‘ programa exemplo_led piscando declarações. ‘ DECLARAÇÕES config portb = input ‘ port B = entrada. config portd = input ‘ input D = entrada. portb = 0 ‘ pinos do porto B estão em baixa. portd = 255 ‘ pinos do porto D estão em alta. declare sub sair ( ) declare sub ler() ‘ sub-rotina. $baud = 1200 $crystal = 10000000 ‘ 10 MHz dim E1 as byte ‘ ROTINAS DO PROGRAMA do ler CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 65 3O. comando: ABS ( ) Retorna o valor absoluto de um valor numérico. Sintaxe: VAR = ABS (var2) Onde VAR = BYTE, INTEGER, WORD, LONG VAR 2 = INTEGER, LONG Obs. O comando “print” manda os dados para a saída serial do CLP NT. Utilizaremos um pequeno software, para receber as informações do CLP no PC, leia a última página. EXEMPLO PROGRAMA 3 dim A as integer ‘ declaração dim C as integer ‘ declaração open “ comd.1:1200,8,n,1,inverted” for output as #1 portd = 0 portb = 0 portd.6 = 1 waitms 10 portd = 0 A =-8 C = abs(A) Print #1 , C Wait 2 Loop end Chame o programa Terminal e escolha 1200baud e Hex e conectar o terminal na serial do computador. (80) CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 66 4O. comando: ASC Converte um valor STRING em um valor ASCII. Sintaxe: VAR = ASC (STRING) Onde VAR = BYTE, INTEGER, WORD, LONG STRING = STRING, CONSTANT EXEMPLO PROGRAMA 4 dim A as byte dim C as string *10 ‘ 10 dígitos alfanuméricos open “comd.1:1200,8,n,1,inverted” for output as #1 portb = 0 portd = 0 portd.6 = 1 waitms 10 portd = 0 do A = “ABC” C = abs(A) print #1 , C wait 2 loop programa Terminal, escolha end 1200 baud e hex 5O. comando: BCD Converte a variável em STRING Sintaxe: PRINT BCD (VAR) (BB) (C0) (02) CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 67 LCD BCD (VAR) Onde VAR = BYTE, INTEGER, WORD, LONG, CONSTANT 6O. comando: CHR Converte uma variável ou uma constante em caracter Sintaxe: PRINT CHR (VAR) Onde S = CHR (VAR) EXEMPLO PROGRAMA 6 - Generico dim A as byte A = 65 Print CHR (a) End 7O. comando: CONFIG INTX Configura interrupção. O CLP NT tem 2 interrupções, que podemos usar como contador rápido, calcular velocidade, freqüência, tempo de subida, tempo de descida. Sintaxe: CONFIG INT X = ESTADO Onde ESTADO = RISING FALLING RISING – Gerar uma interrupção quando o pino estiver ativo FALLING – Gerar uma interrupção quando o pino, ativo, for desativado. X = 0 ou 1. O Valor de X pode ser 0 ou 1, definindo a interrupção a ser utilizada. EXEMPLO PROGRAMA 7 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 70 ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 micro 9º DIA – CONTINUAÇÃO DOS COMANDOS JUNTOS 9a. PRÁTICA 8O. comando: CONFIG TIMER0 Configura o temporizador ou contador0. Sintaxe: CONFIG TIMER0 = COUNTER, EDGE CONFIG TIMER0 = TIMER 0, PRESCALE = 1, 8, 64, 256, 1024 EDGE = RISING/FALLING VER EXEMPLO ANTERIOR CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 71 9O. comando: CONFIG TIMER1 Configura o temporizador ou contador 1. Sintaxe: CONFIG TIMER1 = COUNTER, EDGE = RISING/FALLING, NOICE CANCEL = I/O, CAPTURE EDGE = RISING/FALLING, CONFIG TIMER1 = TIMER, PRESCALE = 1, 8, 64, 254, 1024 CONFIG TIMER1 = PWM, PWM = 8, COMPARE A PWM = CLEAR UP/CLEAR DOWN/DISCONNECT, COMPARE B PWM = (SEE A) Obs. EDGE: selecionar para contra em alto ou baixo. CAPTURE EDGE: captura o tempo de uma entrada de registro em alto ou baixo. NOICE CANCELING: para cancelar ruído você pode providenciar valor1. PRESCALE: o time é conectado a um sistema de clock, seleciona um divisor de clock com os parâmetros de valores 1, 8, 64, 256, 1024. O time pode ser usado no modo PWM. Este modo tem a função de gerar pulsos modulados. Este modo é deveras importante para controles transistorizados de motores CC por exemplo. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 72 10O. comando: CONFIG WATCHDOG Programa tempo para verificar travamento do programa. Sintaxe: CONFIG WATCHDOG = TIME TIM = mili-segundos = 16, 32,64,128,256,512,1024 e 2048 resetando o programa após esse tempo, caso o programa não recomece. EXEMPLO PROGRAMA 10 “declarações portb = 0 portd = 255 config watchdog = 2048 ‘ 2 seg ≈ start watchdog ‘ início watchdog dim I as word ‘ I = constant declare sub sair() portb.0 = 1 sair wait 2 for I = 1 to 10000 waitms 1 portb.0 = 0 next end sub sair() portd.6 = 0 waitms 10 portd.6 = 1 waitms 10 end sub CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 75 Portd.5 = 1 Waitms 10 E1 = pind.2 E2 = pind.3 E3 = pinb.0 E4 = pinb.1 E5 = pinb.2 E6 = pinb.3 E7 = pinb.4 E8 = pinb.5 E9 = pinb.6 E10 = pinb.7 Portb = 0 Portd.5 = 0 End sub return CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 76 ~ ~ + C S1 S2 S3 S4 S5 S6 E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 Botões Micros 220 Vca CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 77 12O. comando: CPEEK Retorna um byte armazenado em código de memória. Sintaxe: VAR = CPEEK EXEMPLO PROGRAMA 12 - Generico dim I as integer, B1 as byte for I = 0 to 31 para I = 0 ate 31 b1 = cpeek (I) print hex (b1); “ “ ; wait 1 next end 13O. comando: DEBOUNCE Para ler o resultado de uma entrada do CLP conectado a uma chave. Sintaxe: DEBOUNCE Px, y, STATE, LABEL [,SUB] Px,y = ex. Pinb.0 STATE = SE O PINO ESTA ALTO OU BAIXO LABEL = especifica o próximo estado do pino. EXEMPLO PROGRAMA 13 - Generico config debounce = 30 ‘ espera de 25 ms declare sub PC ( ) debounce port.0, 0, pc, sub wait 1 pc ( ) print “port.0” return CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 80 print chr (b) end 10º DIA – CONTINUAÇÃO DOS COMANDOS JUNTOS 10a. PRÁTICA 20O. comando: DISABLE Para desabilitar interrupções. Sintaxe: DISABLE (INTERRUPÇÃO) INTERRUPÇÕES: INT0 – interrupção externa 0 – E1 INT1 – interrupção externa 1 – E2 0VF0, TIMER0, COUNTER0 – clock independente 0 0VF1, TIMER1, COUNTER1 – clock independente 1 CAPTURE1, ICP1 – captura de clock externo COMPARE1A, 0C1A – compara timer 1A externo COMPARE1B, 0C1B – compara timer 1B externo SPI – interruptor SPI URXC – sinal serial RX do CLP UTXC – sinal serial TX do CLP UDRE – sinal de dados em registro SERIAL – desabilita URXC, UTXC E UDRE ACI – interrupção sinal comparador ADC – converter A/D O programa abaixo é parte do código de um protocolo de transmissão: . . . On Urxc Recebe_dados_modbus Enable Urxc Enable Interrupts CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 81 Portd = 255 Portb = 0 Main_loop: Waitms 100 Portb = 0 Sair Enable Serial Reset A Reset Udr.3 Reset Udr.4 Processa = 0 Do If Processa = 1 Then Disable Serial Portb.1 = 1 Sair Waitms 50 Goto Processa_dados End If Portb = 0 Sair Loop . . . Observe aqui o comando Disable Serial. Sua finalidade é a de desabilitar temporariamente o recebimento de dados, e dar continuidade ao processamento de dados. Se não houvesse esse desabilitamento, o programa nunca iria ter tempo de enviar os dados requisitados! CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 82 21O. comando: DO-LOOP Para as seguintes instruções sempre faça. Sintaxe: DO Comandos LOOP (UNTIL – CONDIÇÃO) EXEMPLO PROGRAMA 21 ‘ programa pisca led dim E1 as byte declare sub ler() declare sub sair ( ) portb = 0 portd = 255 dim a as byte do ler If E1 = 0 then portb.0 = 1 ‘ led pisca, enquanto sair ‘ E1 estiver acionada wait 4 portb.0 = 0 sair end if loop sub ler() portb =255 portd.5 = 1 waitms 10 E1 = pind.2 Portb = 0 Potd.5 = 0 End sub CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 85 portb = 0 wait 4 portb.0 = 1 sair wait 4 portb.0 = 1 sair wait 4 portb.1 = 1 sair wait 4 portb.2 = 1 sair wait 4 portb.3 = 1 sair wait 4 portb.4 = 1 sair wait 4 portb.5 = 1 sair loop end sub sair portd.6 = 0 waitms 10 portd.6 = 1 waitms 10 end sub return 25O. comando: EXIT Para sair a qualquer momento de uma estrutura. CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 86 Sintaxe: EXIT FOR EXIT DO EXIT WHILE EXIT SUB EXIT FUNCTION EXEMPLO PROGRAMA 25- Generico Genérico If a >= b1 then do a = a + 1 If a=100 then Exit do ‘ sai do DO end if loop end if Obs. É necessário relembrar a estrutura interna do CLP. PORTB portB.0 portB.1 portB.2 portB.3 portB.4 portB.5 portB.6 portB.7 PORTD portD.2 portD.3 portD.4 portD.5 portD.6 ENTRADAS RÁPIDAS portD.2 – E1 portD.3 – E2 são independentes ENTRADAS DIGITAIS portB.0 – E3 portB.1 – E4 portB.2 – E5 portB.3 – E6 portB.4 – E7 portB.5 – E8 portB.6 – E9 portB.7- E10 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 87 SAÍDAS A RELÉ portB.0 – S1 portB.1 – S2 portB.2 – S3 portB.3 – S4 portB.4 – S5 portB.5 – S6 SAÍDA DIGITAL portD.4 – S7 DB_____ 7 SAÍDA SERIAL RS 232 portD.0 – RX – DB – verificar portD.1 – TX – DB – verificar sinal 0volts – DB – verificar Obs. Para ler os sinais das entradas é necessário que coloquemos: portB = 255 portD.5 = 1 Obs. Para habilitar as saídas é necessário dar um pulso no portD.6 como nos exemplos do sub-rotina sair: Sub sair ( ) portd.6 = 0 waitms 10 portd.6 = 1 end sub 5 volts 0 volts CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 90 config timer1 = timer, prescale = 64 on timer1 timer1_isr enable timer1 enable interrupts start timer 1 portb = 0 portd = 255 do gosub ler If E1 = 1 gosub desliga end if If E1 = 1 and A = 1 then gosub segur end if If E1 = 0 and E3 = 0 then gosub ligar A = 1 end if If E1 = 0 and E4 = 0 then gosub desligar A = 0 end if If segurança > 60 then gosub segur end if If descarga > 950 then gosub descar end if If E2 = 0 then segurança = 0 end if goto sub sair ( ) portd.6 = 1 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 91 waitms 10 portd.6 = 1 portb = 0 sub sair return sub ler ( ) portd = 255 portd.5 = 1 E1 = portd.2 E2 = portd.3 E3 = portb.0 E4 = portb.1 portb = 0 portd.5 = 0 end sub return sub desliga ( ) portb = 0 A = 0 gosub sair end sub return sub liga ( ) portb.0 = 1 gosub sair portb = 0 end sub return sub segur( ) portb.2 = 1 gosub sair CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 92 A = 0 segurança = 0 end sub return sub descar If descarga > 950 and a = 1 then portb.1 = 1 gosub sair wait 3 portb = 0 gosub sair else descarga = 0 end if end sub return timer1_isr: B = B + 1 descarga = descarga + 1 If B = 950 then segurança = segurança + 1 B = 0 end if return CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 95 z = high (i) print chr (z) end 32O. comando: IF_THEN_ELSE_END IF Dependendo se a condição for verdadeira ou falsa irá fazer um bloco de instruções. EXEMPLO PROGRAMA 32 - generico dim a as integer a = 10 If a = 10 then print chr (a) else a = 20 print chr (a) end if end 33O. comando: INCR Incrementa uma variável de cada vez Sintaxe: incr (variável) EXEMPLO PROGRAMA 33 - generico Genérico do incr a print chr (a) loop until a >4 end 1 2 3 4 CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 96 12º DIA – CONTINUAÇÃO DOS COMANDOS JUNTOS 12a. PRÁTICA 34O. comando: INPUT Comando usado para dar entrada de dados durante a execução do programa. Sintaxe: input (“prompt”), variável EXEMPLO PROGRAMA 34 - Genérico Genérico config portb = input 35O. comando: LEFT Especifica o número a esquerda do caractere. Sintaxe: variável = high (s) EXEMPLO PROGRAMA 35 – Genérico dim s as string * 10, z as string * 10 s = “abcdefg” z = left (s,5) print chr (z) end CURSO DE LINGUAGEM DE PROGRAMAÇÃO DEDICADA A COMPILADOR PARA MICROPROCESSADOR E CLP (JORGE AUGUSTO) 97 36O. comando: LEN Comprimento de uma string (254 máximo). Sintaxe: variável = len (string) EXEMPLO PROGRAMA 36 – genérico dim s as string * 12 dim a as byte s = “teste” a = len (s) print chr (a) 37O. comando: LOW Busca o byte menos significativo tido de uma variável. Sintaxe: variável = low (s) EXEMPLO PROGRAMA 37- Genérico dim i as integer, z as byte i = &h1001 z = low (i) print chr (z) end 4 1
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved