14
1 GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICA T09.1 Departamento de Engenharia Mecânica / I.S.T. 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. GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICA T09.2 Departamento de Engenharia Mecânica / I.S.T. Estrutura Estrutura ç ç ão da Programa ão da Programa ç ç ão ão GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICA T09.3 Departamento de Engenharia Mecânica / I.S.T. Linguagens de Programa Linguagens de Programa ç ç ão do ão do SAIA SAIA Linguagem de contactos; Linguagem de contactos; Blocos funcionais; Blocos funcionais; Lista de instru Lista de instru ç ç ões; ões; Programa Programa ç ç ão baseada no GRAFCET ão baseada no GRAFCET (GRAFTEC no SAIA). (GRAFTEC no SAIA). GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICA T09.4 Departamento de Engenharia Mecânica / I.S.T. Linguagem de Contactos Linguagem de Contactos

Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

Embed Size (px)

Citation preview

Page 1: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

1

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.1Departamento de Engenharia Mecânica / I.S.T.

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 GRAFCETApresentação série 3 de problemas.

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.2Departamento de Engenharia Mecânica / I.S.T.

EstruturaEstruturaçção da Programaão da Programaççãoão

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.3Departamento de Engenharia Mecânica / I.S.T.

Linguagens de ProgramaLinguagens de Programaçção do ão do SAIASAIA

�� Linguagem de contactos;Linguagem de contactos;�� Blocos funcionais;Blocos funcionais;�� Lista de instruLista de instruçções;ões;�� ProgramaProgramaçção baseada no GRAFCET ão baseada no GRAFCET

(GRAFTEC no SAIA).(GRAFTEC no SAIA).

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.4Departamento de Engenharia Mecânica / I.S.T.

Linguagem de ContactosLinguagem de Contactos

Page 2: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

2

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.5Departamento de Engenharia Mecânica / I.S.T.

ExemploExemplo

Que funQue funçção?ão?

Linguagem de ContactosLinguagem de Contactos

(prat_ex1)(prat_ex1)

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.6Departamento de Engenharia Mecânica / I.S.T.

FunFunçções Lões Lóógicas gicas

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.7Departamento de Engenharia Mecânica / I.S.T.

FunFunçções Lões Lóógicas: Exemplogicas: Exemplo

Que funQue funçção?ão?

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.8Departamento de Engenharia Mecânica / I.S.T.

ContadoresContadores

Up Up com preset Down com preset

Blocos FuncionaisBlocos Funcionais

Page 3: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

3

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.9Departamento de Engenharia Mecânica / I.S.T.

ContadoresContadores

Up/Down com preset Up/Down com preset e clear

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.10Departamento de Engenharia Mecânica / I.S.T.

Contadores: ExemploContadores: Exemplo

Que faz?Que faz?

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.11Departamento de Engenharia Mecânica / I.S.T.

TemporizadoresTemporizadores

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.12Departamento de Engenharia Mecânica / I.S.T.

Temporizadores: ExemploTemporizadores: Exemplo

Que faz?Que faz?

Blocos FuncionaisBlocos Funcionais

Page 4: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

4

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.13Departamento de Engenharia Mecânica / I.S.T.

BiestBiestááveis veis

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.14Departamento de Engenharia Mecânica / I.S.T.

GeraGeraçção de Sinais Perião de Sinais Perióódicosdicos

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.15Departamento de Engenharia Mecânica / I.S.T.

Blocos Funcionais Blocos Funcionais -- GeraGeraçção de Sinais Perião de Sinais Perióódicosdicos

Blocos FuncionaisBlocos Funcionais

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.16Departamento de Engenharia Mecânica / I.S.T.

Elementos usados na programaElementos usados na programaçção do SAIAão do SAIA

Code Type RangeI Input 0..8191O Output 0..8191F Flag 0..8191R Register 0..4095T Timer 0..450C Counter 0..1599K Constant 0..16383X teXt 0..7999DB Data Block 0..7999

Code Type RangeI Input 0..8191O Output 0..8191F Flag 0..8191R Register 0..4095T Timer 0..450C Counter 0..1599K Constant 0..16383X teXt 0..7999DB Data Block 0..7999

Lista de InstruLista de Instruççõesões

Page 5: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

5

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.17Departamento de Engenharia Mecânica / I.S.T.

Condições que condicionam a realização de operações ou a chamada de blocos

Estado lEstado lóógico:gico:

�� do acumulador do acumulador

�� dasdas arithmeticarithmetic status status flagsflags

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.18Departamento de Engenharia Mecânica / I.S.T.

High se a instrução não pode ser executada (por exemplo devido à ocorrência de overflows, underflows)

ErrorE

High se o resultado da operação aritmética é 0ZeroZ

High se o resultado da operação aritmética é negativo (as flags P e N têm sempre valores lógicos opostos)

NegativeN

High se o resultado da operação aritmética é positivoPositiveP

Arithmetic status flags

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.19Departamento de Engenharia Mecânica / I.S.T.

Se a flag N está a 1 (H)N

Se a flag P está a 1 (H)P

Se o acumulador está a 0 (L)L

Se o acumulador está a 1 (H)H

Nenhuma condiçãoBranco

DescriçãoCódigo

Teste das flags

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.20Departamento de Engenharia Mecânica / I.S.T.

Usado apenas com a instrução ACCC

Se a flag E está a 1 (H)E

Se a flag Z está a 1 (H)Z

DescriçãoCódigo

Teste das flags (cont.)

Exemplo: CPB H 20

Lista de InstruLista de Instruççõesões

Page 6: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

6

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.21Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com Bitsões com Bits

STL I 12 ; colocação no acumulador do conteúdo negado da entrada 12.

OUT O 32 ; colocação na porta de saída 32 do conteúdo do acumulador

STH I 7 ; colocação no acumulador do conteúdo da entrada 7.

COB 0

0

; Esta instrução deve iniciar qualquer programa.

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.22Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com Bitsões com Bits

ECOB ; Esta instrução deve finalizar qualquer programa

OUT F 40 ; colocação na flag 40 do conteúdo do acumulador.

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.23Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com Bitsõ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 Ler éé ““colocar no acumuladorcolocar no acumulador””

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.24Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com Bitsões com Bits

Saída: OUT[X] (Output)

uso: OUT[X] «var»; em que «var»pode ser O ou F

OutputOutput éé ““colocar na sacolocar na saíída escolhidada escolhida”” o o conteconteúúdo do acumuladordo do acumulador

Lista de InstruLista de Instruççõesões

Page 7: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

7

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.25Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com Bitsõ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

SetSet éé ““colocar na sacolocar na saíída escolhidada escolhida”” o valor 1, na condio valor 1, na condiçção ão do acumulador estar a 1, mantendodo acumulador estar a 1, mantendo--se aquela atse aquela atééordem de reset.ordem de reset.

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.26Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções lões lóógicasgicas

Lista de InstruLista de Instruççõesões

E lógico: ANH[X] e ANL [X]

OU lógico: ORH[X] e ORL [X]

OU Exclusivo: XOR [X]

Complemento: COM [X]

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.27Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções lões lóógicas. Exemplogicas. Exemplo

; 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

Lista de InstruLista de Instruççõesões

COB 0

0

STH I 5

ORH I 13

OUT O 32

ECOB

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.28Departamento de Engenharia Mecânica / I.S.T.

DetecDetecçção dinâmica de flancos: instruão dinâmica de flancos: instruçção DYN ão DYN

Lista de InstruLista de Instruççõesões

COB 0

0

STH I 0

DYN F 500 ;

COM O 32 ; complementa se acc =1

ECOB

Page 8: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

8

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.29Departamento de Engenharia Mecânica / I.S.T.

DetecDetecçção dinâmica de flancos: instruão dinâmica de flancos: instruçção DYN ão DYN

Lista de InstruLista de Instruççõesões

Entrada I0

Flag 500

Saída O32

Flag 500

Saída O32

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.30Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções no acumuladorões no acumulador

Lista de InstruLista de Instruççõesões

Acc é posto a 0LowL

Acc é posto a 1HighH

Acc é complementadoComplementC

Código nas operações no acumulador

ACC código ; código = C|H|L|P|N|Z|E

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.31Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções no acumuladorões no acumulador

Lista de InstruLista de Instruççõesões

É atribuído a acc o valor da flag aritmética EErrorE

É atribuído a acc o valor da flag aritmética ZZeroZ

É atribuído a acc o valor da flag aritmética NNegativeN

Código nas operações no acumulador (cont.)

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.32Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções que envolvem palavras de 32 bits (registos)ões que envolvem palavras de 32 bits (registos)

Lista de InstruLista de Instruççõesões

No comando lNo comando lóógico estas operagico estas operaçções surgem associadas:ões surgem associadas:

�� Aos contadores (C);Aos contadores (C);

�� Aos temporizadores (T); Aos temporizadores (T);

�� Ao Ao ííndice de registo.ndice de registo.

Page 9: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

9

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.33Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções que envolvem palavras de 32 bits (registos)ões que envolvem palavras de 32 bits (registos)

Lista de InstruLista de Instruççõesões

Consistem em geral em:Consistem em geral em:

�� Guardar uma dada constante num registo;Guardar uma dada constante num registo;

�� OperaOperaçções de cões de cóópiapia

�� OperaOperaçções de incremento e decremento.ões de incremento e decremento.

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.34Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções que envolvem palavras de 32 bits (registos)ões que envolvem palavras de 32 bits (registos)

Lista de InstruLista de Instruççõesões

As operaAs operaçções de 32 bits afectam a ões de 32 bits afectam a generalidade das generalidade das flagflagss aritmaritmééticas. ticas.

As operaAs operaçções de incremento e decremento ões de incremento e decremento ssóó se realizam se o acumulador estiver a 1.se realizam se o acumulador estiver a 1.

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.35Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções que envolvem palavras de 32 bits (registos)ões que envolvem palavras de 32 bits (registos)

Lista de InstruLista de Instruççõesões

Um registo (R) definido por um grupo de 32 bits sUm registo (R) definido por um grupo de 32 bits sóó pode pode conter inteiros se for declarado como contador ou conter inteiros se for declarado como contador ou

temporizador. temporizador.

Nos outros casos pode conter decimais, hexadecimais, Nos outros casos pode conter decimais, hexadecimais, binbináários, reais e rios, reais e asciiascii..

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.36Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de carregamento (ões de carregamento (loadingloading))

Lista de InstruLista de Instruççõesões

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.

Page 10: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

10

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.37Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de carregamento. Exemploões de carregamento. Exemplo

Lista de InstruLista de Instruççõesões

; carregamento de um binário

; carregamento de um hexadecimal

; carregamento de um inteiro

( neste caso, unidades de tempo)

LD R 100

10001Y

LD R 1001

AB01H

LD T 1

200

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.38Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de Incremento/Decrementoões de Incremento/Decremento

Lista de InstruLista de Instruççõesões

INC[X]: incremento de um R,T,C de um valor (admissível)

Uso: INC[X] «var» ; «var» corresponde a: R,C

DEC[X] «var» ; «var» corresponde a: R,C

Estas operações só se realizam se o acumulador estiver a “1”

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.39Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções com o ões com o IndexIndex RegisterRegister

Lista de InstruLista de Instruççõesões

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

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.40Departamento de Engenharia Mecânica / I.S.T.

Transferência de Sequências de n Transferência de Sequências de n BitsBits

Lista de InstruLista de Instruççõesões

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.

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

OperadoresOperadoresenvolvidos:envolvidos:

Page 11: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

11

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.41Departamento de Engenharia Mecânica / I.S.T.

Transferência de Sequências de n Transferência de Sequências de n Bits. Bits.

Transferência de n bits para um registo:Transferência de n bits para um registo:

Lista de InstruLista de Instruççõesões

BITI 8 ; lê 8 bitsI 0 ; a partir da entrada 0 (até 7)R 500 ; e armazena-os no registo 500

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.42Departamento de Engenharia Mecânica / I.S.T.

Transferência de Sequências de n Transferência de Sequências de n Bits. Bits.

Transferência de n bits de um registo para variTransferência de n bits de um registo para variááveis lveis lóógicas:gicas:

Lista de InstruLista de Instruççõesões

ld r 1500

1011Y

bito 4

r 1500

o 32

; carrega o registo 1500

;com a palavra binária 1011

; transfere 4 bits

; do registo 1500 respectivamente

;para as saídas o 32...0 35

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.43Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de Movimentaões de Movimentaçção de Dados: ão de Dados: COPYCOPY, PUT, , PUT, GET GET

Lista de InstruLista de Instruççõesões

Uso: Uso:

COPY[X] COPY[X] ««varfvarf»» ; ; ««varfvarf»» corresponde a R, T, Ccorresponde a R, T, C

««vardvard»» ; ; ««vardvard»» corresponde a R, T, Ccorresponde a R, T, C

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.44Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de Movimentaões de Movimentaçção de Dados: ão de Dados: COPYCOPY, PUT, , PUT, GET GET

Lista de InstruLista de Instruççõesões

Estas operaEstas operaçções realizamões realizam--se independentemente do se independentemente do valor actual do acumulador. Logo:valor actual do acumulador. Logo:

A sua utilizaA sua utilizaçção mais segura ão mais segura éé dentro de blocos de dentro de blocos de programa, que podem ser chamados condicionalmente.programa, que podem ser chamados condicionalmente.

Page 12: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

12

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.45Departamento de Engenharia Mecânica / I.S.T.

OperaOperaçções de Movimentaões de Movimentaçção de Dados: ão de Dados: COPYCOPY, PUT, , PUT, GET . AplicaGET . Aplicaççãoão

Lista de InstruLista de Instruççõesões

ÉÉ usual na inicializausual na inicializaçção colocar num registo um valor de ão colocar num registo um valor de contagem ou temporizacontagem ou temporizaçção, e, durante a execuão, e, durante a execuçção, ão, copiar este registo respectivamente para um dado copiar este registo respectivamente para um dado contador ou temporizador.contador ou temporizador.

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.46Departamento de Engenharia Mecânica / I.S.T.

Conversão BinConversão Bináário BCD rio BCD -- instruinstruçção DIGIão DIGI

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.47Departamento de Engenharia Mecânica / I.S.T.

Conversão BinConversão Bináário BCD rio BCD -- instruinstruçção DIGIão DIGI

Lista de InstruLista de Instruççõesões

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.48Departamento de Engenharia Mecânica / I.S.T.

Conversão BCD BinConversão BCD Bináário rio –– instruinstruçção DIGOão DIGO

Lista de InstruLista de Instruççõesões

Um nUm núúmero inteiro existente num registo pode mero inteiro existente num registo pode ser codificado em BCD e armazenado em ser codificado em BCD e armazenado em flagsflagsou enviado para saou enviado para saíídas bindas bináárias.rias.

(que externamente serão com certeza de novo (que externamente serão com certeza de novo descodificadas para inteiros)descodificadas para inteiros)

Page 13: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

13

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.49Departamento de Engenharia Mecânica / I.S.T.

InstruInstruçções de Controloões de Controlo

Lista de InstruLista de Instruççõesões

Existem no PG5 instruExistem no PG5 instruçções de salto (ões de salto (jumpjump) ) absoluto e condicional.absoluto e condicional.

Não Não éé contudo boa programacontudo boa programaçção a sua ão a sua utilizautilizaççãoão

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.50Departamento de Engenharia Mecânica / I.S.T.

ApresentaApresentaçção São Séérie 3rie 3Pretende-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).

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.51Departamento de Engenharia Mecânica / I.S.T.

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.

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.52Departamento de Engenharia Mecânica / I.S.T.

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.)

Page 14: Autómatos Programáveis Programação - Autenticação · PDF fileprogramação. Blocos de programa (PB) e blocos funcionais (FB). Leitura e envio de sinais. Linguagens de programação

14

GRUPO DE CONTROLO AUTOMAÇÃO E ROBÓTICAT09.53Departamento de Engenharia Mecânica / I.S.T.

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.