SMC
-
Upload
pedro-pereira -
Category
Documents
-
view
217 -
download
0
description
Transcript of SMC
Autómatos Programáveis SMC, Linguagem Sequencial
INTRODUÇÃO
Os autómatos SMC, permitem trabalhar com sinais digitais ( tipo "tudo" ou "nada" ), ou com sinais analógicos, possuindo cartas de entradas e/ou saidas para o efeito. A programação que aqui vai ser descrita refere-se ao tratamento de sinais digitais.
Endereçamento de variáveis
E nEntrada digital, em que n indica o endereço, dependendo do posto de colocação no bastidor
A nSaída digital, em que n indica o endereço, dependendo do posto de colocação no bastidor
B nBit interno, dependendo do valor de n, pode ser monoestável ou biestável ( ver APÊNDICE )
R n Bit interno biestável ( ver APÊNDICE )
T n Registo de temporização interna ( ver APÊNDICE )
C n, CC nRegisto interno de contagem crescente, decrescente de impulsos ( ver APÊNDICE )
M nPalavras internas, podem conter valores entre -32768 e +32767 ( ver APÊNDICE )
Noção de A.D.C.
Um programa pode ser constituido por duas partes distintas, no que diz respeito ao tipo de instruções: PROGRAMA SEQUENCIAL e PROGRAMA DE CÁLCULO. A separação entre elas é feita por um endereço designado por A.D.C. ( Adress de Debut de Calcul ). Este endereço é sempre indicado quando se procede à edição ou leitura de um programa, mesmo que este só contenha parte sequencial. Deverá ser sempre um número múltiplo de 256 ( ex. 256, 512, 768, 1024, ...) dependendo da extensão do programa sequencial.
Tabela de valores, Vn
É possível carregar numa zona de memória de programa, situada na zona de cálculo a partir do A.D.C., tabelas de valores que podem ser utilizados em cálculo. Estes valores são endereçados por Vn, com 0 ≤ n ≤ 2047 , isto é, podem ser carregados 2048 valores, cada um podendo representar quantidades entre -32768 e +32767. São processados como as palavras Mn.
Centro de Formação Técnica, RENAULT 1
Autómatos Programáveis SMC, Linguagem Sequencial
1. SEQUÊNCIA LÓGICA
Formato:
Sn . EQUAÇÃO LÓGICA . = VARIÁVEL.
i) Sn : Identificação da sequência, com n o número da sequência
ii) EQUAÇÃO LÓGICA
Variáveis possíveis:
E , /E Entradas digitais no estado lógico "1" ou "0"
A , /A Saídas digitais no estado lógico "1" ou "0"
B , /B Bits internos monoestáveis no estado lógico "1" ou "0"
R , /R Bits internos biestáveis no estado lógico "1" ou "0"
Operações lógicas:
. Operação lógica E/AND
+ Operação lógica OU/OR
[ ] E implicito
iii) VARIÁVEL: Resultado da equação lógica, pode ser atribuido a variáveis do tipo A, B ou R e seus complementos
EXEMPLO:S12 . E0 + E1 [ B2 + A18 . R1 ] = A 21 .
Centro de Formação Técnica, RENAULT 2
Autómatos Programáveis SMC, Linguagem Sequencial
2. SEQUÊNCIA DE FIM DE PROGRAMA
Formato:
S nnnn . = S xxxx .
i) nnnn: número da última sequência do programa
ii) xxxx: número atribuido à primeira sequência do programa
Esta sequência tem como função, para além de indicar fim de programa, regenerar o tempo de ciclo, "chien de garde " e memorizar o endereço de inicio de cálculo ( ADC).
3. SEQUÊNCIA DE SALTO CONDICIONAL
Formato:
S n . CONDIÇÃO LÓGICA = Jm .
i) CONDIÇÃO LÓGICA : Condição para se efectuar o salto
ii) Jm : Número da sequência a processar, imediatamente a seguir a Sn, se a condição lógica for verificada
Se a condição não for verificada, o processamento continua imediatamente a seguir a Sn.
Nota 1: A utilização de saltos não deve perturbar a execução cíclica do programa.
Nota 2: Não há limitação no número de sequências que são saltadas, desde que não se ultrapasse o ADC.
Centro de Formação Técnica, RENAULT 3
Autómatos Programáveis SMC, Linguagem Sequencial
4. SEQUÊNCIA LÓGICA DE PEDIDO DE CÁLCULO
Formato:
S n . CONDIÇÃO LÓGICA = Lm .
i) CONDIÇÃO LÓGICA: condição para aceder à zona de processamento de cálculo
ii) Lm: número da linha de cálculo a processar, se a condição for verificada
Nota 1: O autómato pode memorizar durante um ciclo de processamento 8 pedidos de salto
Nota 2: Os pedidos de cálculo são memorizados numa "PILHA " tipo FIFO ( First In First Out )
Nota 3: Um pedido de cálculo é identificado pelo endereço de memória da sequência onde é feito o pedido. Todos os pedidos são considerados individualmente, mesmo que façam referência à mesma linha de cálculo.
EXEMPLO:
S 117 . A17 . B1 + B12 = L19 .
Centro de Formação Técnica, RENAULT 4
Autómatos Programáveis SMC, Linguagem Sequencial
5. SEQUÊNCIA DE TEMPORIZAÇÃO
Formato:
S n . Tx . Var lançamento . Valor ini . Valor fin = Var temporizada .
i) Tx : Número do registo de temporização ( T0 a T79 )
ii) Var lançamento : variável que dá comando ao arranque da temporização. Pode ser do tipo
E, A, B, R ou /E, /A, /B, /R
iii) Valor ini : Valor inicial da temporização- Valor entre 0 e 32767- Conteúdo de um registo Mx
iv) Valor fin : Valor final da temporização- Valor entre 0 e 32767- Conteúdo de um registo Mx
v) Var temporizada : Variável indicadora de fim de temporização. Pode ser do tipo A, B, R ou /A, /B, /R
Nota 1: Tempo real é igual a:
( valor inicial - valor final ) ∗ 0,1 segundos
Nota 2: Quando a variável temporizada é um biestável, comporta-se como um monoestável
Centro de Formação Técnica, RENAULT 5
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S15 . T1 . E2 . 200 . 50 = A16 .
A 16
E 2
15 seg
Diagrama temporal
Representação em lógica de contactos
T1
200
50
A16
E2
E2
Tempo real= ( 200 - 50 ) ∗ 0,1 = 15 segundos
Centro de Formação Técnica, RENAULT 6
Autómatos Programáveis SMC, Linguagem Sequencial
5.1 Temporização generalizada
Relativamente à sequência de temporização anterior, a temporização generalizada apresenta duas diferenças :
- A variável de lançamento pode ser um termo combinatório
- Permite trabalhar com três bases de tempo
Formato:
Sn . Tr . Mx .
VAL: Termo combinatório . .
VBT: Base de tempo .
VIN: Valor inicial .
VSE: Valor final .
VFI: Variável temporizada .
i) Tr : Símbolo para temporização generalizada
ii) Mx : Palavra usada como registo de temporização
iii) VAL : Termo combinatório para lançamento da temporização ( no máximo, 8 contactos em série e 5 contactos em paralelo )
iv) VBT : Base de tempo
VBT= . 0,1 SEGUNDOSVBT= 1 1 SEGUNDOVBT= 10 10 SEGUNDOS
v) VIN, VSE e VFI : Têm o mesmo significado que na temporização normal.
Centro de Formação Técnica, RENAULT 7
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S6 . Tr . M30
VAL: ( E1 + E2 ) B5 . .VBT: .VIN : M22 .VSE : 5 . VFI : A28 .
Representação em lógica de contactos
Tr . M 30
5
A28E1
0.1
M22E2
*
B5
( * ) Visualização dinâmica do conteúdo de M30 ( contagem de tempo )
Centro de Formação Técnica, RENAULT 8
Autómatos Programáveis SMC, Linguagem Sequencial
5.2 Impulso temporizado
Permite gerar um impulso de duração fixa.
Formato:
Sn . Tc . Mx .
VAL: Termo combinatório . .
VBT: Base de tempo .
VIN: Valor inicial .
VSE: Valor final .
VFI: Variável temporizada .
Tc : Símbolo para impulso temporizado
EXEMPLO:
S15 . Tc . M 35 .
VAL : E3 + E4 ..VBT : .VIN : 10 .VSE : 0 .VFI : A40 .
VFI
VAL
1 seg
Diagrama temporal
Centro de Formação Técnica, RENAULT 9
Autómatos Programáveis SMC, Linguagem Sequencial
Representação em lógica de contactos
Tc . M 35
0
A40E3
0.1
E4*
10
( * ) Visualização dinâmica do conteúdo de M35 ( contagem de tempo )
Centro de Formação Técnica, RENAULT 10
Autómatos Programáveis SMC, Linguagem Sequencial
6. SEQUÊNCIA DE CONTAGEM
Permite efectuar contagem crescente ou decrescente das transições de uma variável.
Formato:
S n . Cx . Var . Var a . Valor . Valor = Variável fim . CCz lançamento contar inicial final
i) Registo de contagem: CC contagem crescente , C contagem decrescente
ii) Var lançamento : Variável de lançamento. Pode ser do tipo E, A, B, R, ou E/, A/, B/, R/
iii) Var a contar : Variável cujas transições positivas ou negativas são contadas. Pode ser do tipo E, A, B, R, ou E/, A/, B/, R/
iv) Valor inicial : Valor de inicialização do contador. Pode ser um valor entre 0 e 32767 ou o conteúdo de uma palavra Mx
v) Valor final : Valor final do contador. Pode ser um valor entre 0 e 32767 ou o conteúdo de uma palavra Mx
vi) Variável fim : Variável de fim de contagem. Pode ser do tipo E, A, B, R, ou E/, A/, B/, R/
Nota 1: Se a variável de fim de contagem for um bit biestável, este comporta-se como monoestável
Nota2: Os endereços atribuidos a temporizadores, contadores crescentes e decrescentes é de 0 a 79, daí que um mesmo número não possa ser atribuido a um temporizador e a um contador por exemplo, ou a um contador crescente e a um contador decrescente:
EX1: T1, C2, CC1 - ERRADOEX2: T1, C2, CC3 - CORRECTO
Centro de Formação Técnica, RENAULT 11
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S12 . CC5 . E16 . A44 . 0 . 15 = B25 .
A44
E16
Diagrama temporal
0 - 15 transições
.....
B25
Representação em lógica de contactos
CC5
0
B25E16
15E16
A44
Centro de Formação Técnica, RENAULT 12
Autómatos Programáveis SMC, Linguagem Sequencial
6.1 Contador generalizado
Formato:
Sn . C . Mx .CC
VAL: Termo combinatório .
VAC: Termo combinatório .
VAT: Variável de trabalho .
VIN: Valor inicial .
VSE: Valor final .
VFI: Variável fim .
i) VAL : Termo combinatório que habilita o contador a contar ( no máximo, 8 contactos em série e 5 contactos em paralelo )
ii) VAC : Termo combinatório do qual são contadas as transições
iii) VAT : Bit interno que segue as transições positivas ou negativas de VAC. Pode ser B0 a B1023 ou R0 a R1023
Centro de Formação Técnica, RENAULT 13
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S13 . CC . M40
VAL: E9 . E10 . .VAC: B10 . A25 .VAT: B 480 .VIN : 0 .VSE : 5 . VFI : A30 .
Representação em lógica de contactos
CC . M 40
5
A30E9
0B10
*
E10
A25
B480
( * ) Visualização dinâmica do conteúdo de M40 ( número de impulsos contados )
Centro de Formação Técnica, RENAULT 14
Autómatos Programáveis SMC, Linguagem Sequencial
7. SEQUÊNCIA PASSO-A-PASSO
As sequências passo-a-passo asseguram o desencadear de operações sucessivas.
A cada operação corresponde um passo
A passagem do passo p para o passo p+1 é autorizada se:
-passo p validado-verificação das condições de transição de passo p para p+1
Formato:
Sn . Np . x .
i) N : Código de passo-a-passo
ii) p : Número de passos 1≤ p ≤ 7
iii) x : Número de registo associado ao passo-a-passo
É fundamental:
- indicar condição de entrada num passo, pode ser uma variável do tipo E, A, B, R ou /E, /A, /B, /R
-indicar acção associada a cada passo, pode ser uma variável do tipo A, B, R ou /A, /B, /R
-indicar condição de R.A.Z. : retorno a 0, depois do último passo, e pode ser uma variável do tipo E, A, B, R ou /E, /A, /B, /R
Nota: Se a variável associada à acção dum passo é um biestável, este comporta-se como monoestável.
Centro de Formação Técnica, RENAULT 15
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S10. N6 . 4.
PASS1 : E0. = A1.PASS2 : /B10. = B5 .PASS3 : A5. = B260.PASS4 : E4. = A20.PASS5 : /R15. = /R12.PASS6 : B25. = B18.RAZ : E40.
Os termos sublinhados são editados automaticamente pela consola de programação.
E0 /B10 A5 E4 /R15 B25
A1 B5 B260 /R12 B18
E40(R.A.Z.)
PAS1 PAS2 PAS4PAS3 PAS5 PAS6
A20
Representação em lógica de contactos
Centro de Formação Técnica, RENAULT 16
Autómatos Programáveis SMC, Linguagem Sequencial
7.1 Passo-a-passo generalizado
Número de passos : 255 no máximo
Termos combinatórios podem ser condição de transição de passo e de R.A.Z.
Formato:
Sn . N . Mx .
RAZ : Termo combinatório . . (*)
PASSO1 : Termo combinatório condição de activação do passo1
= Acção relativa ao passo1 .
PASS02 : Termo combinatório condição de activação do passo2
= Acção relativa ao passo2 .
PASSOk : Termo combinatório condição de activação do passok
= Acção relativa ao passok .
i) Mx : Palavra de registo do passo-a-passo 0 ≤ x ≤ 3583
(*) Em vez de ".." pode ser " =" se a condição de RAZ provocar alguma acção
Centro de Formação Técnica, RENAULT 17
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
S15 . N . M50 .RAZ : E10 + B2 = B76.PASS1: E20 + A70 = B75.PASS2: E11 = /B12.PASS3: [ E1+ E2 ] B1 = A23.PASS4: .
RAZ
1
2
3
E10
B2
B76
E20
A70
B75
E11 /B12
E1
E2
B1 A23
S15. N. M50 = num. passo em curso
Representação em lógica de contactos
3
Centro de Formação Técnica, RENAULT 18
Autómatos Programáveis SMC, Linguagem Sequencial
8. SEQUÊNCIA DE SEGURANÇA
Quando se pretende escrever um programa com a consola de programação VPE 800C, uma mensagem indica ao utilizador que deve editar em primeiro a sequência de segurança. Sem esta não é possível editar o programa sequencial.
Formato:
S0 . SS . Nome do programa . xxxxxxxx
xxxxxxxx : 8 caracteres alfanuméricos no máximo
9. SEQUÊNCIA DE CONFIGURAÇÃO
Como o próprio nome indica, descreve a configuração do autómato no que diz respeito ao número de cartas digitais, bem como a sua colocação nas racks.
Formato:Sn . CR .
com n > 0
Ao editar Sn . CR . , aparece o seguinte:
Sn . CR.
UC MEM 0 16 32 48 64 80 96 112 128
144 160 176 192 208 224 240 256 276 288 304
RP : 50 *
RE1 :
RE2 :
RE3 : ....
320 336 352
496
368 384 400 416 432 448 464 480
512 528 544 560 576 592 608 624 640 656
RP: Bastidor principalRE: Bastidor de expansão* : Valor do controlador de sequência. Pode ter um valor entre 50 e 100 msegundos, tendo 50 ms por defeito.
Centro de Formação Técnica, RENAULT 19
Autómatos Programáveis SMC, Linguagem Sequencial
EXEMPLO:
Sn . CR.
UC MEM 0 16 32 48 64 80 96 112 128
144 160 176 192 208 224 240 256 276 288 304
RP : 70 *
RE1 :
RE2 :
RE3 : ....
320 336 352
496
368 384 400 416 432 448 464 480
512 528 544 560 576 592 608 624 640 656
E16 A16 E32 E16 E16 A16 E32 E32
E32 A16 E16 E16
* : o valor do controlador é de 70 ms
Na rack principal temos:
E16- cartas de 16 entradas ( 3 cartas )E32- cartas de 32 entradas ( 3 cartas )A16- cartas de 16 saídas ( 2 cartas )
Na rack de expansão 1 temos:
E16- carta de 16 entradas ( 2 cartas ) E32- carta de 32 entradas ( 1 carta )A16- carta de 16 entradas ( 1 carta )
A escrita da sequência de configuração para o exemplo anterior, ficará assim:
Sxx . CR.
RP : 70. . . E16 . A16 . E32 . E16 . E16 . A16 . E32 . E32 .RE1 : E16 . . . . . E32 . . . A16 . E16 . E16 .
Centro de Formação Técnica, RENAULT 20
Autómatos Programáveis SMC, Linguagem Sequencial
10. SEQUÊNCIA DE PEDIDO DE CÁLCULO IMEDIATO
Com este tipo de sequência é possível executar uma linha de cálculo sem esperar pelo fim do programa sequencial.
Formato:
S n . CONDIÇÃO LÓGICA . R472 = L m .
i) R472 : Para que a linha de cálculo Lm, seja executada, este bit interno de controlo, tem que estar a "1"
Nota1: A condição lógica pode existir ou não. Pode-se pedir cálculo imediato unicamente a partir de R472.
Nota2 : Existe um outro bit interno de controlo, o R473, que se posiciona a "0" se o cálculo se efectua correctamente e a "1" se o cálculo é feito incorrectamente.
EXEMPLO:
S15 . E2 . R472 = L25 .
Se a entrada E2 e o bit R472 estiverem a "1", a linha de cálculo L25, é executada imediatamente a seguir à sequência S15.
Centro de Formação Técnica, RENAULT 21
Autómatos Programáveis SMC, Linguagem Sequencial
11. SEQUÊNCIA OPERADOR DE CÁLCULO
As instruções " OPERADOR DE CÁLCULO " permitem realizar as seguintes operações:
+ Adição- Subtracção← Carregamento←/ Carregamento complementadoOU Operação lógica "OU"OUX Operação lógica " OU-exclusivo"ET Operação lógica “ E “DD Deslocamento à direitaDG Deslocamento à esquerda= Operação de comparação “IGUAL”≤ " " “MENOR OU IGUAL “< " " “ MENOR “
Formato:
Sn . OC.
VAL:
OPE :
VFI :
Condição lógica de validação de "operador de cálculo "
Operação "operador de cálculo "
Variável resultado ( A, B, R, /A, /B, /R, J, L )
Resultado Operando Operador Operando
Tx, com 0 < x < 79-32768 <constante <32767
+, -, , /, OU, OUX, ET, DD, DG, =, <, <
Mx, com 0 < x < 3583
Mx, com 0 < x < 3583Tx, com 0 < x < 79
Centro de Formação Técnica, RENAULT 22
Autómatos Programáveis SMC, Linguagem Sequencial
Representação em esquema de contactos
OC
Operando
Operando
Operador
Resultado
7 contactos em paralelo6 contactos em série
( no máx.)
VFIVAL
Nota 1: O processamento de operador de cálculo é mais rápido que o processamento de cálculo imediato ( t OP = t CI / 15 )
Centro de Formação Técnica, RENAULT 23
Autómatos Programáveis SMC, Linguagem Sequencial
11.1 Ciclo de processamento de "operador de cálculo"
Teste da condição lógica
Condição lógica verificada
SIM
NÃO
Execução do "operador de cálculo"
Posicionamento da variável resultado
NOTA:
Se o OPERADOR DE CÁLCULO for efectuado, a variável resultado (VFI), segue a tabela abaixo indicada, senão, assume o estado lógico da condição lógica de validação de OPERADOR DE CÁLCULO (VAL).
OPERAÇÃO VARIÁVEL RESULTADO +, - "1" em caso de "overflow"
←, ←/ "1" se resultado >0 "0" se resultado <0
OU, OUX, ET "1" se resultado ≠0
DD, DG recebe o bit deslocado
=, ≤, < "1" se comparação falsa
Centro de Formação Técnica, RENAULT 24
Autómatos Programáveis SMC, Linguagem Sequencial
11.2 Exemplos
EX1: OPERAÇÃO CARREGAMENTO
Se o bit B15 estiver a "1" carregar o conteúdo da palavra M10 na palavra M11 e utilizar o bit R20 como variável resultado.
S5. OC .VAL : B15 ..OPE: M11 ← M10 .VFI: R20 .
EX2: OPERAÇÃO ADIÇÃO
Se o bit B15 estiver a "1" adicionar os conteúdos das palavras M10 e M11 e colocar o resultado em M12 e utilizar o bit R20 como variável resultado.
S5. OC .VAL : B15 ..OPE: M12 ← M10 + M11 .VFI: R20 .
EX3: OPERAÇÃO DE COMPARAÇÃO DE MENOR OU IGUAL
Se o bit B15 estiver a "1" comparar no sentido de menor ou igual o conteúdo de M10 com o conteúdo de M12 e utilizar o bit R20 como variável resultado.
S5. OC .VAL : B15 ..OPE: . M12 ≤ M10 .VFI: R20 .
Centro de Formação Técnica, RENAULT 25
Autómatos Programáveis SMC, Linguagem Sequencial
EX4: OPERAÇÃO DE DESLOCAMENTO À DIREITA
Se o bit B15 estiver a "1" deslocar um bit da palavra M10 e colocar o resultado em M12, utilizar o bit R20 como variável resultado.
S5. OC .VAL : B15 ..OPE: M12 ← DD . M10 .VFI: R20 .
1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1
1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 1
R20
M10
M12
MSB LSB
EX5: OPERAÇÃO DE DESLOCAMENTO À ESQUERDA
Se o bit B15 estiver a "1" deslocar um bit da palavra M10 e colocar o resultado em M12, utilizar o bit R20 como variável resultado.
S5. OC .VAL : B15 ..OPE: M12 ← DG . M10 .VFI: R20 .
1 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1
R20
M10
M12
MSB LSB
Centro de Formação Técnica, RENAULT 26