Autómatos Programáveis Programação



Documentos relacionados
INSTITUTO POLITÉCNICO DE BRAGANÇA ESCOLA SUPERIOR DE TECNOLOGIA E DE GESTÃO. Engenharia Electrotécnica. Microprocessadores. 2ºano - 1ºsemestre

Diagrama funcional GRAFCET

Problemas para Automação Industrial

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

SPOT BATTERY EXCHANGER

CAPÍTULO 1 REVISÃO DE LÓGICA COMBINACIONAL

Técnico/a de Refrigeração e Climatização

LASERTECK LTA450 MANUAL DE USO

Problemas para Automação Industrial. Série 4: Modelação usando o diagrama funcional GRAFCET. Programação de autómatos

2. A influência do tamanho da palavra

SISTEMA DE CLIMATIZAÇÃO

Especificação Operacional.

CRONÔMETRO MICROPROCESSADO

Mapeamento de memória e programação da IHM do controlador CP-WS41/8DO8DI4AO2AI2TAI

LINEAR EQUIPAMENTOS RUA SÃO JORGE, TELEFONE : SÃO CAETANO DO SUL - SP - CEP:

PRÁTICA 9-11 PRÁTICA Objectivo: GRAFCET: problemas de modelação. Prática do conceito de Master/Slave. Problema 9.1: Problema 9.

Luis Filipe Baptista ENIDH/DEM 2

Organização de Computadores 1

Sistemas Digitais Contadores. João Paulo Carvalho

Especificações. Conteúdo. Compatibilidade de Tags com o GPW-100. Tabela de Revisões

MANUAL DE INSTALAÇÃO TETROS MOTO V2. N de Homologação: Versão 1.00

Principais códigos utilizados. Codificação. Código binário puro. Codificação binária. Codificação Binária. Código Binário puro e suas variantes

LISTA DE EXERCÍCIOS. Prontuário Nome Assinatura QUESTÕES TEÓRICAS

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

INSTRUMENTAÇÃO E MEDIDAS

Acetatos de apoio às aulas teóricas

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

LINEAR EQUIPAMENTOS RUA SÃO JORGE, 267/269 - TELEFONE: (11) SÃO CAETANO DO SUL - SP - CEP:

Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores. Projecto de. Arquitectura de Computadores.

Actividade 2 Intensidade da luz

5. Uma lousa denominada EPI (registrador de endereço de próxima instrução).

WT-1000 LED INDICADOR DE PESAGEM

Controladores Lógicos Programáveis. Automação e Controlo Industrial. Escola Superior de Tecnologia. Ricardo Antunes, António Afonso

Fontes de Alimentação

AULA 06 LINGUAGEM DE BLOCOS DE FUNÇÃO (FB) ENG Informática Industrial I Profa. Letícia Chaves Fonseca

KPORTB CARACTERÍSTICAS TÉCNICAS MANUAL DO UTILIZADOR/INSTALADOR 01.A. Motor. Folha 1 Folha 2. Transformador. Central MC18

Algoritmos DCC 119. Introdução e Conceitos Básicos

Manual do Usuário Balança SA-110

Hamtronix CONTROLE REMOTO DTMF. CRD200 - Manual de Instalação e Operação. Software V 2.0 Hardware Revisão B

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Circuitos Digitais 144L

CS-PLC1 Exercícios do Curso OMRON

Controladores Lógicos Programáveis

Aula 19. Conversão AD e DA Técnicas

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Manual de Configuração e Operação

1. SINTAXE DA LINGUAGEM ASSEMBLY

SISTEMAS DIGITAIS Universidade Católica - Exercício I

Programação ao nível da máquina. Operações lógicas e aritméticas

Nota de Aplicação IHM 004

Nome:...N o...turma:... Data: / / ESTUDO DOS GASES E TERMODINÂMICA

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

INFORMATIVO DE PRODUTO

I n f o r m á t i c a

DE PRESSÃO EM UMA RESPECTIVA TUBULAÇÃO

Arquitetura de Computadores. Tipos de Instruções

Manual técnico da Registadora SAM4S SPS-530. Versão: Nº de actualizações: 1

CONTROLADOR LÓGICO PROGRAMAVEL

Manutenção Elétrica. Entre os elementos de processamento de sinais podemos citar:

Mas para iniciar o uso do CRM é necessário efetuar algumas configurações em primeiro lugar.

DeviceNet Drive Profile CFW-09

Modos de entrada/saída

Solius 61 Manual de Instruções

Sistema de Memórias de Computadores

Facturação Guia do Utilizador

Métodos de Sincronização do Kernel

6 Circuitos pneumáticos e hidráulicos

Cotagem de dimensões básicas

INSTRUMENTAÇÃO. Eng. Marcelo Saraiva Coelho

Algoritmo. Iniciação do Sistema e Estimativa do consumo. Perfil do utilizador. Recolha de dados

O objetivo deste material é demonstrar com exemplos como a máquina de estado reproduz fielmente todas as etapas idealizadas pelo projetista.

17. Espaço de I/O (entrada/saída) Portos paralelos de entrada e saída Porto paralelo de saída

ULA Sinais de Controle enviados pela UC

ARQUITETURA DE COMPUTADORES

Introdução à Engenharia de Computação

Faculdade de Computação

Organização de Computadores Como a informação é processada?

MANUAL DE OPERAÇÕES AHC CRANE 21644

EXPERIÊNCIA 17 USO DO TEMPORIZADOR INTERNO

Gestor de Janelas Gnome

Compatível com o módulo AIO571 Nota: Os conectores de interface dos módulos podem ser do tipo alavanca (para os módulos novos) ou do tipo parafuso.

KF2.4 MANUAL DE UTILIZADOR

Flip-Flops. Slide 1. Flip-flop NOR SR cruzado. Reiniciar Configurar Reter Não usado. Flip-flop NAND SR cruzado. Reiniciar Configurar Reter Não usado

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Comunicação de Dados. Aula 4 Conversão de Sinais Analógicos em digitais e tipos de transmissão

Introdução à Lógica de Programação. / NT Editora. -- Brasília: p. : il. ; 21,0 X 29,7 cm.

Micro CLP incorporado ao inversor de frequência TOSHIBA VFS15 MY FUNCTION

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Unidade: Unidade Lógica e Aritmética e Registradores. Unidade I:

Acumuladores hidráulicos

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

PROGRAMAÇÃO EM LINGUAGEM LADDER LINGUAGEM DE RELÉS

IINTRODUÇÃO SOFTWARE DE PROGRAMAÇÃO GP-SOFTWARE

MANUAL DE INSTALAÇÃO MANUAL DE FUNCIONAMENTO

Bases de Dados 2007/2008. Aula 8

Transcrição:

Estruturação da Programação Autómatos Programáveis Programação Programação do autómato SAIA. Introdução. Estruturação da programação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação do SAIA. Introdução. Lógica de contactos, Blocos funcionais, Lista de instruções. Introdução ao GRAFTEC (SAIA). Escrita de programas em diferentes linguagens a partir de modelos GRAFCET Apresentação série 3 de problemas. T09.1 T09.2 Linguagens de Programação do SAIA Linguagem de Contactos Linguagem de contactos; Blocos funcionais; Lista de instruções; Programação baseada no GRAFCET (GRAFTEC no SAIA). T09.3 T09.4 1

Linguagem de Contactos Exemplo Funções Lógicas L (prat_ex1) Que função? T09.5 T09.6 Funções Lógicas: L Exemplo Contadores Que função? Up Up com preset Down com preset T09.7 T09.8 2

Contadores Contadores: Exemplo Up/Down com preset Up/Down com preset e clear Que faz? T09.9 T09.10 Temporizadores Temporizadores: Exemplo Que faz? T09.11 T09.12 3

Biestáveis Geração de Sinais Periódicos T09.13 T09.14 - Geração de Sinais Periódicos Elementos usados na programação do SAIA Code Type Range I Input 0..8191 O Output 0..8191 F Flag 0..8191 R Register 0..4095 T Timer 0..450 C Counter 0..1599 K Constant 0..16383 X text 0..7999 DB Data Block 0..7999 T09.15 T09.16 4

Condições que condicionam a realização de operações ou a chamada de blocos P Positive Arithmetic status flags High se o resultado da operação aritmética é positivo Estado lógico: l do acumulador das arithmetic status flags N Z E Negative Zero Error High se o resultado da operação aritmética é negativo (as flags P e N têm sempre valores lógicos opostos) High se o resultado da operação aritmética é 0 High se a instrução não pode ser executada (por exemplo devido à ocorrência de overflows, underflows) T09.17 T09.18 Código Branco H L P N Teste das flags Descrição Nenhuma condição Se o acumulador está a 1 (H) Se o acumulador está a 0 (L) Se a flag P está a 1 (H) Se a flag N está a 1 (H) Código Z E C Teste das flags (cont.) Descrição Se a flag Z está a 1 (H) Se a flag E está a 1 (H) Usado apenas com a instrução ACC Exemplo: CPB H 20 T09.19 T09.20 5

Operações com Bits COB 0 0 STH I 7 OUT O 32 ; Esta instrução deve iniciar qualquer programa. ; colocação no acumulador do conteúdo da entrada 7. ; colocação na porta de saída 32 do conteúdo do acumulador Operações com Bits OUT F 40 ECOB ; colocação na flag 40 do conteúdo do acumulador. ; Esta instrução deve finalizar qualquer programa STL I 12 ; colocação no acumulador do conteúdo negado da entrada 12. T09.21 T09.22 Operações com Bits Operações com Bits Leitura : STH [X] e STL [X] (Start High/Low) uso: STH[X] «var» em que «var» pode ser I, O, F, T,C Ler é colocar no acumulador Saída: OUT[X] (Output) uso: OUT[X] «var»; em que «var» pode ser O ou F Output é colocar na saída escolhida o conteúdo do acumulador T09.23 T09.24 6

Operações com Bits Saída: SET e RESET (SET[X], RES[X], SETD[X], RESD[X]) uso: SET[X] «var»; em que «var» pode ser O ou F Set é colocar na saída escolhida o valor 1, na condição do acumulador estar a 1, mantendo-se aquela até ordem de reset. Operações lógicasl E lógico: ANH[X] e ANL [X] OU lógico: ORH[X] e ORL [X] OU Exclusivo: XOR [X] Complemento: COM [X] T09.25 T09.26 Operações lógicas. l Exemplo Detecção dinâmica de flancos: instrução DYN COB 0 0 STH I 5 ORH I 13 OUT O 32 ECOB ; lê para o acc, I 5 ; faz o OU do acc com I 13 (resultado no acc) ; coloca o valor de acc em O 32 COB 0 0 STH I 0 DYN F 500 ; COM O 32 ; complementa se acc =1 ECOB T09.27 T09.28 7

Detecção dinâmica de flancos: instrução DYN Entrada I0 Flag 500 Saída O32 Operações no acumulador ACC código C H L Complement High Low ; código = C H L P N Z E Código nas operações no acumulador Acc é complementado Acc é posto a 1 Acc é posto a 0 T09.29 T09.30 Operações no acumulador Operações que envolvem palavras de 32 bits (registos) N Z E Código nas operações no acumulador (cont.) Negative É atribuído a acc o valor da flag aritmética N Zero É atribuído a acc o valor da flag aritmética Z Error É atribuído a acc o valor da flag aritmética E No comando lógico l estas operações surgem associadas: Aos contadores (C); Aos temporizadores (T); Ao índice de registo. T09.31 T09.32 8

Operações que envolvem palavras de 32 bits (registos) Operações que envolvem palavras de 32 bits (registos) Consistem em geral em: Guardar uma dada constante num registo; Operações de cópiac Operações de incremento e decremento. As operações de 32 bits afectam a generalidade das flags aritméticas. ticas. As operações de incremento e decremento só se realizam se o acumulador estiver a 1. T09.33 T09.34 Operações que envolvem palavras de 32 bits (registos) Um registo (R) definido por um grupo de 32 bits sós pode conter inteiros se for declarado como contador ou temporizador. Nos outros casos pode conter decimais, hexadecimais, binários, reais e ascii. Operações de carregamento (loading( loading) uso: LD[X] «var» ; «var» corresponde a : R,T,C valor Ter em atenção: O carregamento dos contadores e dos temporizadores só se faz se o acumulador estiver em 1. Para registos o carregamento é sempre feito. T09.35 T09.36 9

Operações de carregamento. Exemplo Operações de Incremento/Decremento LD R 100 10001Y LD R 1001 AB01H LD T 1 200 ; carregamento de um binário ; carregamento de um hexadecimal ; carregamento de um inteiro ( neste caso, unidades de tempo) INC[X]: incremento de um R,T,C de um valor (admissível) Uso: INC[X] «var» DEC[X] «var» ; «var» corresponde a: R,C ; «var» corresponde a: R,C Estas operações só se realizam se o acumulador estiver a 1 T09.37 T09.38 Operações com o Index Register Transferência de Sequências de n Bits Cada COB tem associado um index register O SAIA define operações para carregar, guardar e incrementar/ decrementar o IR até um certo limite. Todas as operações com opção [X] referem-se a elementos cujo número é o dado somado ao conteúdo do index register Objectivo: ler uma sequência de variáveis lógicas, ou seja que ocupam posições sucessivas de memória e enviá-las para um destino definido. Operadores envolvidos: 1) nº de bits a transferir 2) fonte: R ou (I,O, F,T, ou C) 3) destino:(o, F,T, ou C) ou R T09.39 T09.40 10

Transferência de Sequências de n Bits. Transferência de Sequências de n Bits. Transferência de n bits para um registo: BITI 8 ; lê 8 bits I 0 ; a partir da entrada 0 (até 7) R 500 ; e armazena-os no registo 500 Transferência de n bits de um registo para variáveis veis lógicas: l ld r 1500 bito 4 1011Y r 1500 ; do registo 1500 respectivamente o 32 ; carrega o registo 1500 ;com a palavra binária 1011 ; transfere 4 bits ;para as saídas o 32...0 35 T09.41 T09.42 Operações de Movimentação de Dados: COPY,, PUT, GET Operações de Movimentação de Dados: COPY,, PUT, GET Uso: COPY[X] «varf» «vard» ; «varf» corresponde a R, T, C ; «vard» corresponde a R, T, C Estas operações realizam-se independentemente do valor actual do acumulador. Logo: A sua utilização mais segura é dentro de blocos de programa, que podem ser chamados condicionalmente. T09.43 T09.44 11

Operações de Movimentação de Dados: COPY,, PUT, GET. Aplicação Conversão Binário BCD - instrução DIGI É usual na inicialização colocar num registo um valor de contagem ou temporização, e, durante a execução, copiar este registo respectivamente para um dado contador ou temporizador. T09.45 T09.46 Conversão Binário BCD - instrução DIGI Conversão BCD Binário instrução DIGO Um número n inteiro existente num registo pode ser codificado em BCD e armazenado em flags ou enviado para saídas binárias. (que externamente serão com certeza de novo descodificadas para inteiros) T09.47 T09.48 12

Instruções de Controlo Existem no PG5 instruções de salto ( (jump) absoluto e condicional. Não é contudo boa programação a sua utilização Apresentação Série S 3 Pretende-se controlar a temperatura de um forno industrial em torno dos 200 C. Optou-se por um controlo do tipo On/Off, para regular a temperatura. A temperatura é regulada utilizando uma resistência de aquecimento. A passagem de corrente nessa resistência é controlada por meio de um relé (R). A temperatura é monitorizada por meio de 2 sensores binários (S1 e S2). O sensor S1=1 se T>190 C. O sensor S2=1 se T>210 C. O sistema deverá funcionar do seguinte modo (ver figura): Em aquecimento: Manter a resistência ligada (R=1) até a temperatura atingir os 210 C. Quando T=210 C, desligar resistência (R=0). Em arrefecimento: Manter a resistência desligada (R=0) até a temperatura descer aos 190 C. Quando T=190 C ligar resistência (R=1). T09.49 T09.50 Pretende-se comandar uma válvula de actuação eléctrica que controla a abertura e fecho de um depósito de matéria-prima, a qual se pretende que seja pesada em doses iguais. Esta pesagem é feita para um recipiente, ilustrado na figura, que tanto pode ser deslocado manual como automaticamente, não interessando para este problema. Desde que exista o recipiente vazio o contacto a é actuado. Isto provoca a abertura da válvula e o início da pesagem. Quando o contacto b é actuado a pesagem deve ser terminada, fechando-se a válvula. O retorno à posição inicial é feito pela acção de uma mola, quando o recipiente é retirado. Pode acontecer que o reservatório se esgote a meio de um enchimento. Para prever esta possibilidade, e supondo que o tempo de enchimento é, no máximo 15s, deve acender-se uma lâmpada desde que passe esse tempo e o sensor b não seja actuado. Essa lâmpada vai servir para que um operador recarregue o reservatório permitindo o fim do enchimento, ao fim do qual a lâmpada apaga. Um sistema de aceitação/rejeição de peças para posterior processamento baseia-se na sua altura. O tapete rolante é colocado em movimento através de um botão start. Uma luz vermelha que estava acesa apaga e fica acesa uma verde. A peça aparece sempre do lado esquerdo, deslocando-se para o direito. Para o efeito dispõe-se de dois sensores como indicado na figura. Se a peça é baixa de mais (não chega a actuar a) um sinal T deve ser activado sendo desactivado quando o sensor deixa de ser actuado. Se a peça tem a altura suficiente, a actuação dos sensores segue a sequência que se retira da figura, nunca se chegando a actuar T. (Supõe-se que b está a uma altura tal que nenhuma peça pode passar sem o actuar.) T09.51 T09.52 13

Para controlo da qualidade da produção (simplificado) vamos assumir que são contadas as peças demasiado baixas e que ao fim de 5 peças deve acender-se uma luz vermelha e o tapete deve parar. Quando o operador fizer o start de novo deve ser feito o reset desse contador. T09.53 14