CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

64
Alberto Jesus Molina Cantero Página 1 29/01/01 1 CURSO DE AUTÓMATAS PROGRAMABLES CONTENIDO 1. El autómata S5-95 de SIEMENS 1.1. Descripción técnica 1.2. Organización lógica 1.3. Acceso a periferia 2. El juego de instrucciones STEP-5 2.1. De la programación gráfica al juego de instrucciones 2.2. El conjunto de instrucciones 2.3. La programación estructurada 3. Programación de módulos de datos 4. Programación de módulos funcionales 5. Programación de la periferia integrada y funciones especificas 5.1. Parametrización del DB1 5.2. Conversión digital/analógica 5.3. Alarmas integradas 5.4. Contador hardware 5.5. Programa cíclico

Transcript of CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Page 1: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 1 29/01/011

CURSO DE AUTÓMATAS PROGRAMABLES

CONTENIDO

1. El autómata S5-95 de SIEMENS1.1. Descripción técnica1.2. Organización lógica1.3. Acceso a periferia

2. El juego de instrucciones STEP-52.1. De la programación gráfica al juego de instrucciones2.2. El conjunto de instrucciones2.3. La programación estructurada

3. Programación de módulos de datos

4. Programación de módulos funcionales

5. Programación de la periferia integrada y funciones especificas5.1. Parametrización del DB15.2. Conversión digital/analógica5.3. Alarmas integradas5.4. Contador hardware5.5. Programa cíclico

Page 2: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 2 29/01/012

1. Descripción técnica del autómata programable S5-95U

• El autómata S5-95U dispone de una gran cantidad y variedad de entradas/salidas

ENTRADAS/SALIDAS Integradas MáximasDigitales 32 480

Analógicas 9 41De contador 2 66De alarma 4 4

• Las entradas/salidas digitales son del tipo TODO/NADA, con niveles de tensión de24V. y con aislamiento galvánico.

• Las entradas/salidas analógicas requieren de convertidores A/D o D/A para lasfunciones de entrada o salida respectivamente, y que vienen integrados en el autómata oen los módulos periféricos

• El autómata S5-95 dispone de dos contadores hardware integrados ascendentes de 16bits (contador A y contador B) con frecuencias de contaje de hasta 2kHz o 5kHzrespectivamente. Ambos contadores se pueden conectar en cascada para formar uncontador ascendente de 32 bits.

• Las entradas de alarma son de carácter digital y permiten la ejecución o procesamientode eventos(alarmas) mediante interrupción de programa.

• Marcas/contadores/temporizadores

OPERANDO No volátiles VolátilesMarcas 0.0 .. 63.7 64.0 .. 255.7

Contadores 0 .. 7 8 ..127Temporizadores --- 0 .. 127

• Programación estructurada

• Procesamiento de alarmas

• Programación controlada por tiempo

Page 3: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 3 29/01/013

• Regulador PID

• Módulos funcionales estándar cargables

SOFTWARE IntegradasMemoria de usuario (1 inst = 2bytes) 16KbytesTiempo de ejecución (1024 inst.) 2msMarcas (512 no volátiles) 2048Contadores (8 no volátiles) 128Temporizadores 128Programación estructurada SiProcesamiento de alarmas SiProgramación controlada por tiempo SiRegulador PID SiMódulos funcionales estándar Si

• Descripción frontal del S5-95

Conector deentradas/salidasdigitales integradas

Batería

Led fallo batería

Interruptor

Alimentación

Conector entradas ysalidas analógicas

Led RUN

Led STOP

Selector de modo

Cartucho para EEPROM

Conector PCConector entradas dealarmas y contador

Page 4: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 4 29/01/014

Descripción de los conectores

Entradas/salidas analógicas

Entradas de alarma y contador

• Configuración eléctrica interna

Entradas dealarma ycontador

Entradas ysalidas

analogicas

Entradas ysalidas

digitales

1L+

1M

2L+

2M

L+

M

EW 40 0

Canal1

29

103

411

125

613

147

815

EW 42 1

EW 44 2

EW 46 3

EW 48 4

EW 50 5

EW 52 6

EW 54 7

+Qv

+QI

1

26

73

48

95

M

M

M

Contador BEW 38

Contador AEW 36

1

26

73

48

95

M

M

M

0 E 34.0

1 E 34.1

2 E 34.2

3 E 34.3

Page 5: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 5 29/01/015

FUNCIONAMIENTO DE LOS AUTÓMATAS

• Unidades funcionales

• Memoria ROM. Contiene el sistema operativo

• Memoria RAM. Contiene:

- el programa escrito en STEP 5 y el programa compilado

Unidad de

control y de

calculo

Memoria ROM* Sistema operativo

Memoria RAM* Programa STEP 5* Temporizadores* Contadores* Marcas* PAA/PAE

Periferia integrada

Interfaz PG

Opcional* Interfaz SINEC L2* 2º interface serie

Cartucho de memoria EEPROM insertable

Modulos S5-100U

BUS INTERNO

S5-95U

Page 6: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 6 29/01/016

- Imagen del proceso e imagen de alarmas del proceso.Los estados de todas las entradas se cargan cíclicamente en la imagen del proceso deentradas (PAE), donde permanecen hasta la próxima operación de carga. Elprograma STEP 5 lee el estado de las entradas de la PAE

El programa STEP 5 escribe la imagen del proceso de salida en la PAA el cual setransmite cíclicamente a las salidas.

La imagen de alarmas de proceso se hace cargo de la función de la imagen de lasentradas/salidas en la ejecución del programa controlado por el tiempo.

- Temporizadores y contadoresLos temporizadores permiten realizar temporizaciones entre 10ms y 9990s con unaresolución de 10ms

Los contadores se incrementan o decrementan en el rango de 0 a 999

La batería permite la utilización de contadores o marcar remanentes.

- Datos del sistema

Comprende zonas de memorias para la ubicación de datos temporales calculadospor el S.0

- Marcas

Permiten almacenar resultados intermedios

El contenido de la RAM se borra al desconectar el autómata, salvo aquellas posiciones quetengan respaldo por batería.

• Cartucho de memoria EEPROM

Contiene el programa de usuario en aplicaciones reales. La memoria RAM del autómata secarga automáticamente, desde su puesta en servicio, con el contenido de la EPROM.

Page 7: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 7 29/01/017

DIRECCIONAMIENTO Y ACCESO A PERIFERIA

Los diferentes elementos que constituyen las entradas/salidas se diferencian mediante unadirección única asociada a cada uno de ellos.

• Direccionamiento de la periferia integrada

FUNCIÓN Entradas SalidasPeriferia digital

integradaE32.0 .. 33.7 A32.0 .. A33.7

Periferia analógicaintegrada

EW40 .. EW54 AW40

Alarmas E34.0 .. 34.3 ---Contadores Contador A: EW 36

Contador B: EW 38---

• Direccionamiento de la periferia externa

La periferia externa se selecciona dependiendo del puesto de enchufe que ocupa. Elautómata puede tener una configuración máxima en cuatro filas donde se pueden utilizar untotal de 16 elementos del bus (cada elemento tiene dos puestos de enchufe)

a) configuración en fila

b) configuración en cuatro filas

0 1 2 3 3031AG

0 1 2 3AG 4 5 6 7

8 9 1011121314151415

1617181920212223

2425262728293031

Page 8: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 8 29/01/018

Existen dos tipos fundamentales de módulos: módulos digitales o módulos analógicos

Módulos digitales

En un módulo digital sólo es posible enviar o recibir por cada canal un "0" o un "1".Existen distintos tipos: módulos de 4 u 8 canales, enchufables en los puestos 0..31, ymódulos de más de 8 canales. Sólo se hablará de los primeros.

Para un módulo digital de 8 canales, cada uno de estos se selecciona o diferencia de losdemás por el número X.Y, donde X es el puesto de enchufe e Y el número de canal.

Módulos analógicos

Un módulo analógico permite comunicarse usando palabras de 16 bits. Los módulosanalógicos se componen de canales (habitualmente cuatro). Por cada puesto donde seubique un módulo analógico el autómata reserva cuatro palabras (64bits). El margen dedirecciones abarca desde el byte64(puesto 0,canal 0) hasta el byte 127(puesto 7, canal3).

Cada canal de un módulo analógico se representa mediante una palabra a la que se le asociauna dirección Z.

Z= 64 + (puesto enchufe )*8 + (numero canal)*2; donde puesto enchufe=0..7 y númerocanal=0..3.

0.0...0,7

1.0...1.7

31.0...31.7

72....79

canal 064+65

canal 70+71

80....87

88....95

96...103

104...111

112...119

120...127

Page 9: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 9 29/01/019

Areas de periferia y sus direcciones en la imagen de proceso

Imagen de proceso de las entradas(PAE)

Imagen de proceso de las salidas(PAA)

Dirección en PAE Asignación Dirección en PAA Asignación0.0 .. 31.7 Entradas digitales de

la periferia externa0.0 .. 31.7 Salidas digitales de la

periferia externa32.0 .. 33.7 Entradas digitales de

la periferia integrada32.0 .. 33.7 Salidas digitales de la

periferia integrada34.0 .. 34.3 Entradas de alarma 34.0 .. No ocupado

34.4 .. 34.7 No ocupado No ocupado

35.0 .. 35.7 Byte de diagnosis No ocupado

36.0 .. 37.7 Contador integrado A No ocupado

38.0 .. 39.7 Contador integrado B .. 39.7 No ocupado

40.0 .. 55.7 Entradas analógicasde la periferiaintegrada

40.0 .. 41.7 Salidas analógicas dela periferia integrada

56.0 .. 63.7 No ocupado 42.0 .. 63.7 No ocupado

64.0 .. 127.7 Entradas analógicasde la periferia externa

64.0 .. 127.7 Salidas analógicas dela periferia externa

Procesamiento cíclico del programa

• El autómata programable funciona cíclicamente, esto es, una vez finalizado el recorridocompleto de un programa, comienza a ejecutar su primera instrucción.

• En este procesamiento cíclico tienen lugar los siguientes eventos.- Al comenzar cada ciclo, la unidad de control consulta los estados de señal de todos

los módulos y forma la imagen del proceso.

1ª instruccion1ª instruccion

ultima instruccion

Page 10: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 10 29/01/0110

- Ahora comienza el programa. La unidad de control ejecuta cada instrucciónrealizando los cálculos y operaciones oportunos con los datos de la PAE yconsiderando los estados de los temporizadores y contadores, así como de lasmarcas.

- La unidad de control deposita el resultado del procesamiento del programa en laPAA

- La unidad de control transfiere a los módulos de salidas los valores almacenados enla PAA. Ahora comienza un nuevo ciclo.

El módulo de organización OB1, es llamado cíclicamente por el sistema operativo delautómata, y en el se deposita el programa a ejecutar.

Acceso a periferia en el programa cíclico

DIRECTO (Sin intercambiar informaciones con las imágenes de proceso, PAE,PAA)

1. El valor de la periferia se lee directamente en el programa cíclico2. El valor del programa cíclico se entrega directamente a la periferia3. Simultáneamente se registra también en la PAA

Periferia integrada Periferia externaLeer entradas Escribir salidas Leer entradas Escribir salidasL PY x T PY x No posible No posibleL PW x T PW x No posible No posible

INDIRECTO (A través de las imágenes de proceso)

1. El valor de la periferia se carga y memoriza en la PAE2. Utilizando las instrucciones STEP 5 el valor contenido en la PAE es usado por

el programa cíclico3. El valor del programa cíclico se carga en la PAA4. El valor contenido en la PAA se transfiere a la salida.

Periferia integrada Periferia externaLeer entradas Escribir salidas Leer entradas Escribir salidasU E x = A x U E x = A xL EB x T AB x L EB x T AB xL EW x T AW x L EW x T AW x

Page 11: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 11 29/01/0111

Acceso a periferia en el programa controlado por tiempo

DIRECTO (Sin intercambiar informaciones con las imágenes de proceso, PAE,PAA)

Igual que en el caso anterior

INDIRECTO (A través de las imágenes de proceso)

1. Al comienzo de la ejecución del programa controlado por tiempo, lo datos de laentrada de la periferia se cargan en la PAE de alarmas

2. Utilizando las instrucciones STEP 5 el valor contenido en la PAE de alarma esusado por el programa cíclico

3. El valor del programa se carga en la PAA de alarmas y la PAA normal4. El valor contenido en la PAA se transfiere a la salida.

AUTOMATA

Imagen de proceso de las entradas (PAE)

Imagen de proceso de las salidas (PAA)

OB1: Programa ciclico

Leer valor de la PAE

L EW xAKKU1

Leer valor de periferia directamente

L PW xAKKU1

Escribir directamente en periferia

T PW xAKKU1

Escribir valor en la PAA

T EW xAKKU1

Periferia externa

Periferia integrada

Leer datos

Leer datos

Transferir datos

Transferir datos

Page 12: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 12 29/01/0112

Periferia integrada Periferia externaLeer entradas Escribir salidas Leer entradas Escribir salidasImposible Imposible L EB x T AB xImposible Imposible L EW x T AW x

Imagen de proceso de las entradas (PAE)

Imagen de proceso de las salidas (PAA)

OB1: Programa ciclico

Programa controlado por tiempo

Periferia externa

Periferia integradaLeer datos

Leer datos

Transferir datos

Transferir datos

Leer datos

Copiar datos

Page 13: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 13 29/01/0113

2. El juego de instrucciones STEP 5

• Lista de instrucciones (formato)

- Cada línea se corresponde con una instrucción.- La instrucción se compone de: identificador de operación (obligatorio), parámetros

y argumento del parametro (estos últimos opcionales)

Ejemplos:

U E 32.0ZV Z 1

• Operandos

E Entradas

A Salidas

M Marcas

D Datos

T Temporizadores

Z Contadores

P Periferia integrada

K Constantes

OB,PB,SB,FB,DB Módulos software

• Programación lineal y programación estructurada

(16 niveles de anidado en programación estructurada)

• Tipos de módulos

- Módulos de organización (OB)

Son llamados por el sistema operativo del autómata.

- Módulos de programa (PB)

Incluyen el programa de usuario

Page 14: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 14 29/01/0114

- Módulos funcionales (FB)

Son módulos de programa que pueden ser parametrizables.

- Módulos de datos (DB)

Almacenan datos necesarios para la ejecución del programa

OB PB FB DBCantidad 8

OB1, OB3,OB13, OB21,OB22, OB31,OB34, OB251

256

PB0..PB255

256

FB0..FB255

254

DB2..DB255

Longitud 8 Kbytes 8 Kbytes 8 Kbytes 256 palabrasJuego deoperaciones

Operacionesbásicas

Operacionesbásicas

Operacionesbásicas,

complementariasy del sistema

Números yTexto

Formas derepresentación

AWL,FUP,KOP AWL,FUP,KOP AWL

Juego de operaciones

• Operaciones básicas

Page 15: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 15 29/01/0115

- Operaciones combinacionales

VKE*Operación Operando Significado1 2 3

O Combinación O de funciones YSe realiza la combinación O del VKE de la combinación Y siguientecon el VKE precedente

N S S

U( Combinación Y de expresiones entre paréntesisSe realiza la combinación Y del VKE de la expresión entre paréntesiscon el VKE precedente. (Sólo se permiten 6 niveles de anidamiento)

N S S

O( Combinación O de expresiones entre paréntesisSe realiza la combinación O del VKE de la expresión entre paréntesiscon el VKE precedente. (Sólo se permiten 6 niveles de anidamiento)

N S S

) Cerrar paréntesisEsta operación permite cerrar una operación entre paréntesis N S S

U * Combinación Y, consulta al estado de señal "1"El resultado de la consulta es "1", si el operando asociado tiene estadode señal "1". De lo contrario el resultado de consulta es "0". Se efectúala combinación Y de este resultado con el VKE del procesador. Si laconsulta se realiza tras una operación inhibidora de VKE (primeraconsulta), el estado de la consulta se toma como nuevo VKE.

N S N

O * Combinación O, consulta al estado de señal "1"El resultado de la consulta es "1", si el operando asociado tiene estadode señal "1". De lo contrario el resultado de consulta es "0". Se efectúala combinación O de este resultado con el VKE del procesador. Si laconsulta se realiza tras una operación inhibidora de VKE (primeraconsulta), el estado de la consulta se toma como nuevo VKE.

N S N

UN * Combinación Y, consulta al estado de señal "0"El resultado de la consulta es "1", si el operando asociado tiene estadode señal "0". De lo contrario el resultado de consulta es "0". Se efectúala combinación Y de este resultado con el VKE del procesador. Si laconsulta se realiza tras una operación inhibidora de VKE (primeraconsulta), el estado de la consulta se toma como nuevo VKE.

N S N

ON * Combinación O, consulta al estado de señal "1"El resultado de la consulta es "1", si el operando asociado tiene estado de señal "0".De lo contrario el resultado de consulta es "0". Se efectúa la combinación O de esteresultado con el VKE del procesador. Si la consulta se realiza tras una operacióninhibidora de VKE (primera consulta), el estado de la consulta se toma como nuevoVKE.

* IdentificadorEAMTZ

Parámetro0.0 .... 127.70.0 .... 127.70.0 ....255.7

0 .... 1270 .... 127

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 16: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 16 29/01/0116

Ejemplos de operaciones combinacionales:

a)

U E 32.0U E 32.1U E 32.2= A 32.0

b)

O E 32.0O E 32.1O E 32.2= A 32.0

c)U E 32.2U(O E 32.1O E 32.0)= A 32.0

d)U (O E 32.0O E 32.1)U(O E 32.2O E 32.3)= A 32.0

E 32.0 E 32.1 E 32.2 A 32.0

E 32.0

E 32.1

E 32.2 A 32.0

E 32.0

E 32.1 E 32.2 A 32.0

E 32.0

E 32.1

E 32.2

E 32.3 A 32.0

Page 17: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 17 29/01/0117

e)O(U E 32.0U E 32.1)O E 32.2= A 32.0

U E 32.0U E 32.1OU E 32.2= A 32.0

f)O(U E 32.0U E 32.1)O(U E 32.2U E 32.3)= A 32.0

U E 32.0U E 32.1OU E 32.2U E 32.3= A 32.0

g)

O(U(O E 32.2O E 32.3)U E 32.1)O E 32.0= A 32.0

U(O E 32.2O E 32.3)U E 32.1OU E 32.0= A 32.0

e)U(UN E 32.0U E 32.1OUN E 32.3)UN E 32.2= A 32.0= A 32.1

E 32.0 E 32.1

E 32.2

A 32.0

E 32.0

E 32.1

E 32.2

E 32.3 A 32.0

E 32.0

E 32.2

E 32.3

E 32.1

A 32.0

E 32.0 E 32.1

E 32.3

E 32.2 A 32.0

A 32.1

Page 18: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 18 29/01/0118

f)UN E 32.0U E 32.1OUN E 32.3= A 32.1U A 32.1U(O E 32.2O E 32.4)= A 32.0

g)

U E 32.1U(O M 0.0O A 32.3)OU E 32.0= A 32.0= M 0.0

h)

U E 32.0U E 32.2OU E 32.1U E 32.3= A 32.0U E 32.6U(O E 32.4O E 32.5)= A 32.1

E 32.0 E 32.1

E 32.3

A 32.0

A 32.1

E 32.2

E 32.4

E 32.0

M 0.0

A 32.3

E 32.1

A 32.0

M 0.0

E 32.0

E 32.1

E 32.2

E 32.3 A 32.0

E 32.4

E 32.5 E 32.6 A 32.1

Page 19: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 19 29/01/0119

h)

O E 32.0O E 32.1= M 0.0O E 32.2O E 32.3= M 0.1U M 0.0U M 0.1= A 32.0U M 0.0U E 32.4= M 1.0= A 32.1U M 1.0U E 32.5= A 32.3

E 32.0

E 32.1

E 32.2

E 32.3 A 32.0

E 32.4 A 32.1

E 32.5 A 32.2

=M 0.1=M 0.0

M 0.0 M 0.1 A 32.0

E 32.4 A 32.1

E 32.5 A 32.2

Page 20: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 20 29/01/0120

- Operaciones de memoria

VKE*Operación Operando Significado1 2 3

S * Activar ( poner a "1")Durante la primera ejecución del programa con VKE a "1",se asigna el valor lógico "1" al operando afectado. Lasmodificaciones del VKE no afecta ya este estado.

S N S

R * Borrar ( poner a "0")Durante la primera ejecución del programa con VKE a "1",se asigna el valor lógico "0" al operando afectado. Lasmodificaciones del VKE no afecta ya este estado.

S N S

= * AsignarEn cada ejecución del programa se asigna el VKE actual aloperando afectado.

N N S

* IdentificadorEAM

Parámetro0.0 .... 127.70.0 .... 127.70.0 ....255.7

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Ejemplos de operaciones con biestables:

a)

E 32.0

E 32.1 A 32.0

S

R Q

M 1.0

Page 21: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 21 29/01/0121

b)

c)

Se desea diseñar un programa que permita l activaciónescalonada de dos elementos calefactores, de la formasiguiente: La primera vez que se detecta un pulso por laentrada E 32.0, la salida A 32.0 se activa; el segundopulso de E 32.0 activa también la salida A 32.1; y untercer pulso por E 32.0 desactiva ambas salidas

d)

E 32.0

E 32.3

S

R Q

M 1.0E 32.1

E 32.2

E 32.4

E 32.0

A 32.0

A 32.1

Page 22: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 22 29/01/0122

Se desea diseñar un programa que permita el vaciado deldepósito de la siguiente figura. Este consta de una bombade extracción activada por la salida A32.0 y dos sensoresde nivel conectados a las entradas E32.2 y E32.1.Cuando el agua "moja" la sonda del nivel más alto, labomba comenzará a extraer agua hasta que el nivel deldepósito deje de mojar la sonda de nivel más bajo

e)Al depósito del apartado anterior se ha añadido uninterruptor conectado a la entrada E32.3 y una nuevasonda de nivel. Se desea diseñar un programa similar alanterior pero en el que el vaciado del depósito se hagahasta alcanzar el nivel indicado por E32.1 o E32.0 enfunción del valor lógico del interruptor.

E 32.1E 32.2A 32.0

E 32.1E 32.2

A 32.0E 32.0

E 32.3

Page 23: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 23 29/01/0123

- Operaciones de carga y transferencia

VKE*Operación Operando Significado1 2 3

L * CargarLos operandos se copian en el AKKU1 con independenciadel VKE. Esto no afecta el VKE.

N N N

T * TransferirEl contenido del AKKU1 se transfiere al operando conindependencia del VKE. Esto no influencia el VKE.

N N N

* IdentificadorEBEWABAWMBMWDRDLDWPYPWTZ

KMKHKFKYKBKCKTKZ

Parámetro0 .... 1270 .... 1260 ....1270 .... 1260 .... 2550 .... 2540 ....2550 .... 2550 .... 2550 .... 1270 .... 1260 .... 1270 .... 127

configuración binaria (16 bits cualquiera)0 .... FFFF

-32768 .... +327670 .... 255 por cada byte

0 .... 2552 caracteres alfanuméricos cualesquiera

0.0 .... 999.30 .... 999

VKE*1 2 3LC

* AsignarEn cada ejecución del programa se asigna el VKE actualal operando afectado.

N N N

* IdentificadorTZ

Parámetro0 ... 1270.... 127

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 24: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 24 29/01/0124

Las operaciones de carga y transferencia permiten intercambiar contenidos entreoperandos, cargar temporizaciones y contadores o cargar valores constantes.

Estas operaciones utilizan unos registros especializados denominados acumuladores(AKKU1 y AKKU2) que hacen las veces de memoria intermedia. Ambos tienen unalongitud de 16 bits

Los tamaños permitidos para los operandos que pueden cargarse o leerse de losacumuladores son: byte (8 bits) o palabra (16 bits). Si se carga un operandos de tamañobyte en el acumulador, este se sitúa en el byte menos significativo del mismo (7-0),mientras que el byte más significativo se pone a 0. Si se transfiere un operando detamaño byte desde el acumulador a una posición de memoria, sólo se transfiere el bytebajo del mismo. Cargas y transferencias tamaño palabra, utilizan los 16 bits del registro.

El AKKU2 no es accesible directamente por las instrucciones de carga y transferencia,solo lo es el AKKU1. Al primero sólo se accede de forma indirecta con operaciones decarga en el AKKU1. En efecto, una instrucción de carga de un operando de tamaño byteo palabra al AKKU1, produce dos eventos: la transferencia del contenido del AKKU1al AKKU2, y la carga del citado operando en el AKKU1. El AKKU2 sólo es un registrode escritura, su contenido no puede leerse. En efecto, si realizamos una transferencia delAKKU1 a una posición de memoria, los contenidos del AKKU2 y AKKU1 permaneceninalterados (NO se transfiere el contenido de AKKU2 a AKKU1).

La siguiente figura muestra un ejemplo de carga de operandos de tamaño byte donde serealiza la carga de los bytes EB7 y EB8 de la PAE. En la figura se aprecia como elcontenido del AKKU2 se va perdiendo a medida que el contenido de AKKU1 semodifica con un operando nuevo.

AKKU1

15 8 7 0

AKKU2

15

8 7 0

AKKU2

Byte cByte d

AKKU1

Byte aByte b

AKKU2 AKKU1

EB 70 EB 7

L EB 7

Byte aByte b

AKKU2 AKKU1

EB 80 EB 8

L EB 8

EB 70

Page 25: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 25 29/01/0125

En la siguiente figura se repite el procedimiento para operaciones de carga deoperandos de tamaño palabra. Obsérvese que la carga de la palabra de la PAE EW 7incluye los bytes EB7 y EB8.

En la siguiente figura se presenta ejemplos de operaciones de transferencia deoperandos de distinto tamaño. Obsérvese que los contenidos de los acumuladores nocambian.

AKKU2

Byte cByte d

AKKU1

Byte aByte b

AKKU2 AKKU1

EB 7

L EW 7

Byte aByte b EB 8EB 7 EB 8

AKKU2

Byte cByte d

AKKU1

Byte aByte b

AKKU2 AKKU1

EB 7

T EB 7

AKKU2 AKKU1

EB 8

T EW 7

Byte cByte d

Byte cByte d

Byte aByte b

Byte aByte b

Byte a

Byte b

Byte a

Page 26: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 26 29/01/0126

- Operaciones de tiempo

VKE*Operación Operando Significado1 2 3

SI * Arrancar como impulso una temporización- La temporización se arranca con el flanco creciente del VKE.- Con VKE '0' se pone a '0' la temporización.- Cualquier consulta durante la temporización indica estado de señal'1'.

S↑↑ N S

SV * Arrancar una temporización como impulso prolongado- La temporización se arranca con el flanco creciente del VKE.- Un VKE a '0' no afecta la temporización.- Cualquier consulta durante la temporización indica estado de señal'1'.

S↑↑ N S

SE * Arrancar como retardo a la conexión unatemporización- La temporización se arranca con el flanco creciente del VKE.- Con VKE '0' se pone a '0' la temporización.- Las consultas indican estado '1' cuando ha transcurrido latemporización y en la entrada sigue aplicado el VKE.

S↑↑ N S

SS * Arrancar como retardo a la conexión memorizada unatemporización- La temporización se arranca con el flanco creciente del VKE.- Un VKE igual a '0' no afecta la temporización.- Las consultas indican "1" cuando ha transcurrido la temporización

S↑↑ N S

SA * Arrancar como retardo a la desconexión unatemporización- La temporización se arranca con el flanco decreciente del VKE.- Un VKE igual a '1' ajusta la temporización a su valor inicial.- Las consultas indican "1" cuando la temporización corre o mientrasel VKE de la entrada sea "1".

S↓↓ N S

R * Borrar ( poner a "0") una temporizaciónLa temporización se repone al valor inicial mientras el VKE sea "1".Un VKE igual a "0" no afecta a la temporización.Las consultas indican estado de señal "0" mientras la temporización sereponga o no haya sido arrancada.

S N S

* IdentificadorT

Parámetro0 .... 127

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 27: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 27 29/01/0127

U E 32.0L KT 5.2SI T 1....

U T 1= A 32.0

U E 32.0L KT 5.2SV T 1....

U T 1= A 32.0

U E 32.0L KT 5.2SE T 1....

U T 1= A 32.0

U E 32.0L KT 5.2SA T 1....

U T 1= A 32.0

E 32.0

A 32.0

5s

E 32.0

A 32.0

5s 5s

E 32.0

A 32.0

5s 5s

E 32.0

A 32.0

5s

Page 28: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 28 29/01/0128

Para todas las temporizaciones anteriores se recomienda realizar programas quepermitan la visualización del contenido del temporizador

- Luz roja, salida A32.0 (30s)- Luz verde, salida A32.2 (25s)- Luz ámbar, salida A32.1 (5s)

A32.0

A32.1

A32.2

E 32.0

E 32.1

5s

A 32.5

L T nT A 32

Page 29: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 29 29/01/0129

Se ha estudiado que para economizar el gasto energético de unaescalera mecánica con un sensor de paso en su base, el tiempo quetarda un peatón en realizar el trayecto es de 20 segundos. Diseñeun programa que arranque la escalera cuando detecta una personay la apague 20 segundos más tarde

- Operaciones de contaje

VKE*Operación Operando Significado1 2 3

S * Activar ( cargar) un contadorEl contador se activa con el flanco creciente del VKE S↑↑ N S

R * Borrar ( reponer) un contadorEl contador se pone a cero siempre que el VKE sea "1". S N S

ZV * Incrementar un contador (contaje hacia delante)Con flanco creciente se incrementa en 1 el valor delcontador.

S↑↑ N S

ZR * Decrementar un contador (contaje hacia delante)Con flanco creciente se decrementa en 1 el valor delcontador.

S↑↑ N S

* IdentificadorZ

Parámetro0 .... 127

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 30: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 30 29/01/0130

Se pide mostrar el funcionamiento del contenido de un contador ysu comportamiento lógico. Para ello, cuando la entrada E32.0 seactiva, el contador se pone a 0, con la entrada E32.1 cargaremoscomo valor de cuenta 100, con E32.2 el contenido se incrementa ycon E32.3, se decrementa.a) Mostrar en la salida AW32, el contenido del contadorb) Mostrar en A32.0 el resultado de la consulta del contador

Una escalera mecánica economizadora de energíadispone de dos sensores detectores de paso en su partesuperior e inferior, conectados a las entradas E32.0 yE32.1 del autómata. Este debe activar a través de susalida A32.0 el motor que impulsa la escalera si hayalguien en ella o parar el motor si no hay nadie en laescalera.

Page 31: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 31 29/01/0131

- Operaciones de comparación

VKE*Operación Operando Significado1 2 3

!= F Comparación a igualdadLos contenidos de los AKKUs se interpretan comoconfiguración binaria y se comparan respecto a igualdad.

N S N

>< F Comparación a desigualdadLos contenidos de los AKKUs se interpretan comoconfiguración binaria y se comparan respecto adesigualdad.

N S N

> F Comparación respecto a superioridadSe determina si el operando en el AKKU2 es mayor queen el AKKU1 .

N S N

< F Comparación respecto a inferioridadSe determina si el operando en el AKKU2 es menor queen el AKKU1 .

N S N

>= F Comparación respecto a superioridad o igualdadSe determina si el operando en el AKKU2 es mayor oigual que en el AKKU1 .

N S N

<= F Comparación respecto a inferioridad o igualdadSe determina si el operando en el AKKU2 es menor oigual que en el AKKU1 .

N S N

1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 32: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 32 29/01/0132

Un depósito dispone de un sensor de nivel por ultrasonidos quegenera un resultado de tamaño byte sin signo que se conecta a laentrada EB 32 del autómata. Se entiende que si EB32 = 255 eldepósito está lleno y 0 para depósito vacío.Se dispone de unatubería de entrada de agua controlada por una electroválvula,salida A32.2 y dos tuberías de salida con sendos motorescontrolados por las salidas A32.1 y A32.2. El funcionamientodebe ser el siguiente: 1) Si el nivel del depósito es menor que 10,las bombas extractoras deben estar apagadas; 2) Si el nivel estácomprendido entre 10 y 20 opera la bomba de la salida 0; 3) Siel nivel es mayor operan las dos bombas; 4) Si el nivel es mayoro igual que 50 se cierra la electroválvula de entrada, novolviéndose a abrir cuando el nivel baje por debajo de 40.

A 32.0

A 32.1Salida 1

Salida 0A 32.2

EB 32

Page 33: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 33 29/01/0133

- Operaciones aritméticas

VKE*Operación Operando Significado1 2 3

+ F SumarLos contenidos de los AKKUs se suman. El resultado sedeposita en el AKKU1.

N N N

- F RestarSe calcula AKKU2-AKKU1. El resultado se deposita enel AKKU1.

N N N

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 34: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 34 29/01/0134

- Operaciones de llamada de módulo

VKE*Operación Operando Significado

1 2 3SPA * Salto absoluto (incondicional)

La ejecución del programa continua en otro módulo, conindependencia del VKE. Esto no afecta al VKE.

N N S

SPB * Salto condicionalLa ejecución del programa continua en otro módulo si elVKE vale "1". En este caso, el VKE se pone a "1",

S S1) S

* IdentificadorOBPBFBSB

Parámetro0 .... 2550 .... 2550 .... 2550 .... 255

A * Llamada de un módulo de datosDependiendo del VKE se activa un módulo de datos.No se interrumpe la ejecución del programa y no afecta alVKE.

N N N

E * Creación y borrado de un módulo de datosCon independencia del VKE se crea una zona en lamemoria RAM para depositar datos.

N N S

* IdentificadorDB

Parámetro0 .... 255

BE Fin de móduloBE es la última instrucción de un módulo. Conindependencia del VKE se finaliza el módulo actual. Elprograma se sigue ejecutando en el módulo desde donde sellamó. El VKE puede arrastrarse pero no modificarse.

N N S

BEA Fin de módulo de forma absoluta (incondicional)Con independencia del VKE se finaliza el módulo actual.El programa se sigue ejecutando en el módulo desdedonde se llamó. El VKE puede arrastrarse pero nomodificarse.

N N S

BEB Fin de módulo de forma condicionalCon VKE a "1" se finaliza el módulo actual. El programase sigue ejecutando en el módulo desde donde se llamó. ElVKE se pone a "1" después de esta instrucción.

S S1) S

1)VKE se pone a 1* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 35: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 35 29/01/0135

Se desea encontrar el programa que implemente elsiguiente esquema de contactos, teniendo encuenta que si la entrada E32.3 vale 1, se deberárealizar, también, el esquema inferior.

NOTA: Existen diferencias funcionales entre lassoluciones aportadas al problema que son convenientesclarificar. Las soluciones 1y 2 son equivalentes. Para lasolución 3, si E 32.3 toma el valor 0, la salida A32.1 sepone a 0. Para las soluciones 1 y 2, si E 32.3 vale 0, lasalida A 32.1 mantiene el valor que tuviera cuando E 32.3era 1.

E 32.0 E 32.1

E 32.2

A 32.0

E 32.4 E 32.5 A 32.1

Si E 32.3 = 1

Page 36: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 36 29/01/0136

Módulos de datos (DB)

• En estos módulos se depositan datos a usar por el programa

• Se admiten los siguientes tipos de datos

- configuraciones binarias- números en hexadecimal, binario o decimal- caracteres alfanuméricos

• En cada módulo de datos sólo pueden almacenarse hasta un máximo de 256 palabras

• Para acceder a un módulo de datos, este debe llamarse usando la instrucción A DBx.Sólo puede estar activo un módulo de datos

• Cada módulo de datos mantiene su validez hasta que se llame a otro módulo de datos.

• Cuando desde un módulo de programa o funcional se llama a un módulo de datos, estese mantiene activo hasta el retorno del módulo, a partir del cual vuelve a estar activo elmódulo de datos original

PB 7

A DB 10

SPA PB 20

BE

PB 20

A DB 11

BE

DB 10

DB 10

DB 11

DB 10

Page 37: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 37 29/01/0137

Ejemplo: Transferir la palabra 3 del módulo de datos 2 a la palabra 1 del módulo de datos10

A DB 2L DW 3A DB 10T DW1

• La programación del módulo de datos se puede realizar manualmente oautomáticamente por el programa

• La carga manual requiere de la especificación del tipo de constantes, KH , KT, KF...después de entrar el número de módulo de datos

ENTRADA VALORES ALMACENADOS0000 : KH = A13C0002 : KT = 100.2

0004 : KF = + 21874

DW0 A13CDW1 2100DW2 5572

• De forma autómatica, mediante la instrucción E DB x. Esta instrucción crea el módulode datos x con un tamaño en palabras igual al valor contenido en el AKKU1, más uno,en el momento en que la instrucción se ejecuta. Si el contenido del AKKU1 es cero, elmódulo de datos se borra.

Page 38: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 38 29/01/0138

Módulos funcionales (FB)

• En estos módulos se programa funciones de control que se presentan con frecuencia

• Estos módulos son parametrizables y para ello es necesario programar los siguientesdatos en el módulo

- Nombres de los parámetros (operandos formales)

Cada parámetro del módulo recibe una DESiganción (DES) bajo la cual el operandoformal es sustituido por el operando actual al llamar al módulo.

- Tipo de parámetro del módulo

E parámetro de entradaA parámetro de salidaD datosB módulosT temporizadoresZ contadores

- Formato del parámetro del módulo

BI bitBY byteW palabraK constantes

Encabezamientodel módulo

Nombre NOMB: EjemploDES: SAL1 A BI Tipo de parámetro del módulo

DES: ENT2 E BI Nombre del parámetro

Parámetros delmódulo

DES: ENT1 E BI ß Formato del parámetro del módulo

Programa deusuario

: U = ENT 1 : U = ENT 2 : = = SAL 1

Page 39: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 39 29/01/0139

Tipo delparámetro

Formato del parámetro Operandos actualesadmisibles

E,A BI para operando de bit

BY para operando de byte

W para operando de palabra

E x.y EntradasA x.y SalidasM x.y Marcas

EB x Byte de entradaAB x byte de salidaMB x Byte de marcaDL x byte de datos, izquierdaDR x byte de datos, derechaPB x byte de periferia

EW x palabra de entradaAW x palabra de salidaMW x palabra de marcaDW x palabra de datosPW x palabra de periferia

D KM para config. Binaria 16 bitsKY para 2 bytesKH para numero hexd. (4caracteres)KC para caracteres (máximos 2)KT para temporizacion(en BCD)(1.0--999.3)KZ para contador(BCD) (0..999)KF para número en coma fija

B Sin indicación de formato DB xOB xFB xPB x

T Sin indicación de formato TemporizadorZ Sin indicación de formato contador

Page 40: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 40 29/01/0140

• La llamada a un módulo funcional se compone de instrucción de llamada (SPA FBx oSPB FBx) y lista de parámetros (si el módulo al que se llama está parametrizado)

Operandos formales

...

: SPA FB5NOMB : EJEMPLOX1 : E 32.0X2 : M 1.3X3 : A 33.0

Operandos actuales

.... : U E 32.1 : SPB FB5NOMB : EJEMPLOX1 : E 32.3X2 : E 32.2X3 : A 33.0

Lista deparámetros de laprimera llamada

Lista deparámetros de lasegunda llamada

FB 5NOMB : EJEMPLODES : X1 E BIDES : X2 E BIDES : X3 A BI

: U = X 1: U = X 2: = = X 3

: BE

Operandos formales

PROGRAMA EJECUTADO

En la primera llamada

U E 32.0U M 1.3= A 33.0

En la segunda llamadaU E 32.3U E 32.2= A 33.0

Page 41: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 41 29/01/0141

Instrucciones sólo permitidas en los módulos funcionales

- Operaciones de sustitución

VKE*Operación Operando Significado1 2 3

U= Combinación YConsulta de un operando formal al estado de señal "1". N S N

O= Combinación OConsulta de un operando formal al estado de señal "1". N S N

UN= Combinación YConsulta de un operando formal al estado de señal "0". N S N

ON= Combinación OConsulta de un operando formal al estado de señal "0". N S N

ParámetroOperandos actualesadmisibles

Tipo Formato

Operando formal

Entradas, salidas ymarcas direccionadas

binariamente.Temporizadores y

contadores.

E ,A, M, T, Z BI

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

VKE*Operación Operando Significado1 2 3

S= Activar ( poner a "1") un operando formalS N S

RB= Borrar ( poner a "0") un operando formalS N S

== AsignarEl VKE se asigna al operando formal. S N S

ParámetroOperandos actualesadmisibles

Tipo Formato

Operando formal

Entradas, salidas ymarcas direccionadas

binariamente. E ,A, M BI* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 42: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 42 29/01/0142

Implemente en STEP 5 el siguiente diagrama de contactos, usandomodulos funcionales

E 32.0

E 32.1 E 32.2 A 32.0

E 32.3

E 32.4 E 32.5 A 32.1

Page 43: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 43 29/01/0143

VKE*Operación Operando Significado1 2 3

L= Cargar un operando formal N N N

T= Transferir a un operando formal N N N

LC= Cargar la configuración binaria de un operandoformal

N N N

LW= Cargar codificadamente un operando formal N N NParámetro Operando formal Operandos actuales

admisiblesTipo Formato

Para L=

Entradas, salidas ymarcas direccionadas

en byte o palabra.Termporizadores y

contadores

E ,A, M,PW,PY,DW,DR,DL,T,Z

BY,BW

Para LC= Temporizadores ycontadores

T,Z

Para LW= Configuración binaria D KF,KH,KM,KY,KC,KT,KZ

Para T= Entradas, salidas,datos (DW, DL,DR)

y marcasE,A,DW,DR,DL,M,PW,PY

BY,BW

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 44: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 44 29/01/0144

VKE*Operación Operando Significado1 2 3

SI= Arrancar como impulso una temporización entrada comooperando formal y con el valor depositado en el AKKU. S↑↑ N S

SVZ= Arrancar como impulso prolongado una temporizaciónentrada como operando formal y con el valor depositadoen el AKKU o activar un contador entrado comooperando formal y con el valor indicado en el AKKU.

S↑↑ N S

SE= Arrancar como retardo a la conexión una temporizaciónentrada como operando formal y con el valor depositadoen el AKKU.

S↑↑ N S

SSV= Arrancar como retardo a la conexión memorizada unatemporización entrada como operando formal y con elvalor depositado en el AKKU o contaje hacia delante deun contador entrado como operando formal

S↑↑ N S

SAR= Arrancar como retardo a la desconexión unatemporización entrada como operando formal y con elvalor depositado en el AKKU o contaje hacia atrás de uncontador entrado como operando formal

S↑↑S↓↓1)

N S

RD= Borrar una operando formal S N S

FR= Liberar un operando formal S N SParámetroOperandos actuales

admisiblesTipo Formato

Operando formal

Entradas, salidas ymarcas direccionadas

binariamente.

1) Si el operando formal de SAR es un temporizador, entonces S↓↓,pero si es uncontador, entonces S↑↑

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 45: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 45 29/01/0145

- Operaciones de salto

VKE*Operación Operando Significado1 2 3

SPA= Salto absoluto (incondicional)Este salto se ejecuta con independencia de condiciones. N N N

SPB= Salto condicionalEste salto se ejecuta cuando el VKE es "1". Con VKEigual a "0" no se ejecuta la instrucción y el VKE se pone a"1".

S S1) S

SPZ= Salto cuando el resultado es cero.Este salto se ejecuta cuando ANZ1 = 0 y ANZ0 =0. No semodifica el VKE.

N N N

SPN= Salto cuando el resultado es distinto de cero.Este salto se ejecuta cuando ANZ1 ≠ ANZ0. No semodifica el VKE.

N N N

SPP= Salto cuando el resultado es positivo.Este salto se ejecuta cuando ANZ1 = 1 y ANZ0 =0. No semodifica el VKE.

N N N

SPM= Salto cuando el resultado es negativo.Este salto se ejecuta cuando ANZ1 = 0 y ANZ0 =1. No semodifica el VKE.

N N N

SPO= Salto cuando existe desbordamiento (overflow).Este salto se ejecuta cuando existe desbordamiento. De locontrario no se ejecuta. No se modifica el VKE.

N N N

IdentificadorMeta del salto.

(máximo 4 caracteres)

1)VKE se pone a 1* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Las unidades de control de los autómatas disponen de tres indicadores o códigos decondición: ANZ0, ANZ1, OV (overflow) que pueden ser modificados por lasoperaciones de comparación, aritméticas, de desplazamiento y algunas operaciones detransformación. Estos indicadores son la base de instrucciones de salto condicional.

Page 46: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 46 29/01/0146

Activación de indicadores con operaciones de comparación(!=F,><F,>F,<F,>=F,<=F)

Tras la ejecución de una instrucción de comparación, los flags ANZ1, ANZ0 semodifican. La indicación OV no se modifica.

IndicacionesContenido del AKKU2comparado con el AKKU1 ANZ1 ANZ0 OV

Operaciones de saltosposibles

Igual 0 0 - SPZmenor 0 1 - SPM,SPN(1)

mayor 1 0 - SPP,SPN(1)

(1) La instrucción SPN se utiliza para bifurcaciones cuando se desea comparar la no igualdad entre losoperandos comparados, sin distinción de cuál es el mayor o el menor.

Las operaciones de comparación afectan al VKE, y por tanto es posible usar, tras unaoperación de comparación, la instrucción de salto condicional SPB=

Se desea diseñar un módulo funcional que calcule ladistancia entre la entrada EB 32 y la constante 10, ymuestre el resultado en la salida AB 32.

El módulo funcional FB3 carga la entrada EB32 y la constante 10en los AKKU2 y AKKU1 respectivamente, luego los compara. Si[AKKU2]>=[AKKU1] salta a X1, donde se resta AKKU2-AKKU1y se transfiere el contenido a la salida AB32. Si [AKKU2] fuesemenor que [AKKU1], entonces se calcula [AKKU1]-[AKKU2]

Activación de indicaciones con operaciones aritméticasLa ejecución de las operaciones aritméticas activa todas las indicaciones.

IndicacionesResultado tras ejecutar laoperación aritmética ANZ1 ANZ0 OV

Operaciones de saltosposibles

< -32768 1 0 1 SP0,SPP,SPNDe -32768 a -1 0 1 0 SPM,SPN

0 0 0 0 SPZDe 1 a 32767 1 0 0 SPN,SPP

>32767 0 1 1 SPN,SPM,SPO-65536(1) 0 0 1 SPZ,SPO

(1) Resultado de la operación -32768 -32768

Page 47: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 47 29/01/0147

- Operación de procesamiento.

VKE*Operación Operando Significado1 2 3

B= Procesar operando formalLos módulos sustituidos se llaman con independencia decondiciones.

N N S

ParámetroOperandos actualesadmisibles

Tipo Formato

Operando formal

DB, PB, SB, FB B I* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

VKE*Operación Operando Significado1 2 3

B * Procesamiento de una palabra de marcas o de datos. N N N

* IdentificadorMWDW

Parámetro0 .... 254

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Esta es, en realidad, una instrucción que necesita de otra consecutiva y que se ejecutaindependientemente del VKE:- La primera instrucción contiene la operación de procesamiento y una palabra de

marcas o de datos- La segunda instrucción especifica la operación y el identificador del operando que

debe procesar el programa de mando. Como parámetro es necesario meter aquí 0 o0.0

El programa de usuario trabaja entonces con el parámetro depositado en la palabra demarcas o de datos llamada por la primera instrucción. Si deben indexarse operacionesbinarias, entradas, salidas o marcas, entre en el byte alto de esta palabra la dirección debit y en el bajo la dirección del byte. En los restantes casos el byte alto debe ser 0.

La instrucción de procesamiento puede combinarse con las siguientes operaciones:

OperacionesL MB, T MB, L MW, T MW,L EB, T EB, L AB, T AB, L EWT EW, L AW, T AW, L DL, T DL, L DR, T DR, L DW, T DW

A DB, SPA OB, SPA SB, SPA FB, SPA PB, SPB OB, SPBOB, SPB FB, SPB PB

U M, = M, U T, UN T

Op. Carga y transferencia

Llamadas de módulo

Operaciones comb.

Page 48: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 48 29/01/0148

S M, R M, R T

SS T, SV T

SLW, SRW

Operaciones de memoria

Operaciones de tiempo

Operaciones de desplaz.

A continuación se muestra un ejemplo de uso de la operación B

DB 6

DW 12 KH = 0108

DW 13 KH = 0001

FB xA DB 6 ...B DW 12U M 0.0B DW 13SS T 0

Programa ejecutadoA DB 6 ...

U M 8.1

SS T 1

VKE*Operación Operando Significado1 2 3

D Decrementar el contenido del acumulador 1. N N N

I Incrementar el contenido del acumulador 1. N N N

Parámetro0 .... 255

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

VKE*Operación Operando Significado1 2 3

AS Bloquear alarma.Tras la ejecución de esta operación se inhiben las alarmas

N N N

AF Liberar alarma.Permite habilitar las interrupciones por alarmas.

N N N

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 49: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 49 29/01/0149

- Operaciones de transformación

VKE*Operación Operando Significado1 2 3

KEW Complemento a 1.Se invierte bit a bit el contenido del AKKU1

N N N

KZW Complemento a 2.Igual que el complemento a 1 pero al final se le suma0001h al resultado.

N N N

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Ejemplo: Si el contenido del AKKU1 es 01110001 10011100, la ejecución de laoperación KEW, provoca que AKKU1 tenga 10001110 01100011, y la ejecución de laoperación KZW provoca que AKKU1 sea 10001110 01100100

Activación de indicaciones con operaciones de transformaciónLa ejecución de la operación KZW activa todas las indicaciones. El resultado de laoperación decide cómo se activan las indicaciones.

IndicacionesResultado tras ejecutar laoperación aritmética ANZ1 ANZ0 OV

Operaciones de saltosposibles

-32768(1) 0 1 1 SP0,SPM,SPNDe -32768 a -1 0 1 0 SPM,SPN

0 0 0 0 SPZDe 1 a 32767 1 0 0 SPN,SPP

(1)Resultado del complemento a 2 de 8000H

- Operaciones de desplazamiento

VKE*Operación Operando Significado1 2 3

SLW Desplazamiento a la izquierda.Se desplaza a la izquierda el contenido del AKKU1. Losbits desplazados se pierden y por la derecha se introducenceros.

N N N

SRW Desplazamiento a la derecha.Se desplaza a la derecha el contenido del AKKU1. Losbits desplazados se pierden y por la izquierda del registrose introducen ceros.

N N N

Parámetro 0 ..15* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Page 50: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 50 29/01/0150

Ejemplo: Si el contenido del AKKU1 es 00000001 11110001, la instrucción SLW 3 lodejaría como 00001111 10001000. Si el AKKU1 es 11011111 00011110 la instrucciónSRW 2 lo deja como 00110111 11000111

Activación de indicaciones con operaciones de transformaciónLa ejecución de la operación KZW activa todas las indicaciones. El resultado de laoperación decide cómo se activan las indicaciones.

IndicacionesValor del último bitdesplazado ANZ1 ANZ0 OV

Operaciones de saltosposibles

0 0 0 SPZ1 1 0 SPP,SPN

- Operaciones combinacionales por palabras

VKE*Operación Operando Significado

1 2 3UW Combinación Y bit a bit.

Se calcula la AND lógica de los dos acumuladores. Elresultado se deposita en AKKU1.

N N N

OW Combinación O bit a bit.Se calcula la OR lógica de los dos acumuladores. Elresultado se deposita en AKKU1.

N N N

XOW Combinación XOR bit a bit.Se calcula la XOR lógica de los dos acumuladores. Elresultado se deposita en AKKU1.

N N N

* 1 ¿Depende de VKE? 2 ¿Modifica el VKE? 3¿Inhibe el VKE?

Activación de indicaciones con operaciones combinacionales por palabras

IndicacionesContenido del AKKUANZ1 ANZ0 OV

Operaciones de saltosposibles

0 0 0 - SPZDistinto de cero 1 0 - SPP,SPN

Page 51: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 51 29/01/0151

Ejemplos

Diseñe un módulo funcional que permitamultiplicar dos números enteros de tamaño byte,y generar el resultado con el mismo tamaño.Supóngase que no se genera desbordamiento.

En un edificio de dos plantas existe un ascensor. Sedesea diseñar el programa que gobierne el movimientode dicho ascensor. Para ello, en cada planta existe unpulsador de llamada conectado a E 32.3 en planta baja ya E 32.2 en la alta. En el interior del ascensor existendos pulsadores que definen el destino y que estánconectados a las entradas E 32.4 (para bajar)y E 32.5(para subir). En cada planta existe un sensor de posiciónque detecta en qué nivel se encuentra el ascensor. Elnivel de posición de la planta baja se conecta a E 32.1 yel de la alta, a E 32.0. Por su parte, el autómata debeactivar las salidas SUBE (A32.0) que provoca elascenso, BAJA (A32.0) que provoca el descenso, AP (A32.2) durante 10 segundos para abrir la puerta delascensor y CP (A 32.3) también durante 10 segundospara cerrar la puerta del ascensor.

Realice un módulo funcional que permita identificarcuál es el ascensor más cercano a la planta donde sesolicita servicio en un bloque de 4 niveles con dosascensores. Supóngase que para cada ascensor existeuna entrada codificada de dos bits que define el nivel enel que se encuentra el ascensor. Además, supóngase queen cada planta existe un pulsador de aviso (cuatro entotal) que se codifican en dos bits.

Page 52: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 52 29/01/0152

MÓDULOS INTEGRADOS Y SUS FUNCIONES

• El autómata S5-95 dispone de un conjunto de módulos integrados que constituyen lainterfase entre el sistema operativo y el usuario. Estos módulos son:

- OB1: Ejecución cíclica de programa- OB3: Ejecución del programa controlada por alarmas- OB13: Ejecución del programa controlada por tiempo- OB21: Comportamiento en arranque tras conexión manual (STOP à RUN)- OB22: Comportamiento en arranque tras restablecimiento de alimentación- OB34: Comportamiento tras fallo de batería- OB31: Perro guardián (ya programado)- OB251: Algoritmo de regulación PID

Ejecución cíclica de programa (OB1)

• El OB1 sirve para la ejecución lineal y estructura del programa y si se programaadecuadamente, sólo debe contener instrucciones de llamada a módulos

• Al comienzo de cada ejecución cíclica se lanza una temporización de vigilancia (perroguardián). Si al transcurrir el tiempo de vigilancia (300ms), no se lanza una nuevatemporización, el autómata pasa a STOP. Para programas que duren más de 300ms esnecesario lanzar una temporización manual de vigilancia (OB31)

• El OB1 es llamado cíclicamente por el S.0.

• La ejecución del OB1 puede interrumpirse por parte de la ejecución del programacontrolado por alarma (OB3) si este está programado o por parte del programacontrolado por tiempo (OB13) si este está programado. Una vez ejecutado el programaque interrumpió, se restaura la ejecución cíclica.

Ejecución del programa controlada por alarmas (OB3)

• Se ejecuta el OB3 cuando sucede alguno de los siguientes eventos: activación de alarmade proceso o llegada al valor de preselección de alguno de los contadores integrados.

• La ejecución del programa controlado por alarmas sólo es posible cuando se cumple:

- Están habilitadas en el DB1 la o las entradas de alarma- Están habilitadas en el DB1 las entradas de contador.- Está programado el OB3- La ejecución de alarmas no está bloqueada (Instrucción AS)

Page 53: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 53 29/01/0153

• No es posible interrumpir al OB3 pero este si puede interrumpir al OB1 y al OB13Ejecución del programa controlado por tiempo (OB13)

• En el OB13 se sitúa parte del programa que debe ejecutarse periódicamente. Elintervalo de llamada oscila entre 10ms y 65535ms (en pasos de 10ms) y se ajusta en elDB1

• El OB13 es llamado por el sistema operativo en el intervalo de tiempo definido en elDB1

• La ejecución del OB13 es posible si se cumple:

- Está programado el OB13- Está parametrizado el DB1- El procesamiento de alarmas no está bloqueado (Instrucción AS)

• El OB13 puede interrumpirse por el OB3 (programa controlado por alarmas). Una vezejecutado el OB3, se prosigue la ejecución del OB13

OB de arranque: OB21,OB22

• Los OB de arranque se utilizan para ejecutar (una sola vez), partes del programa quedeben procesarse antes de la ejecución cíclica del OB1, con el objeto de definir valoreso estados iniciales de marcas y datos.

• Los OB de arranque se caracterizan por:

- Los LED rojo y verde lucen simultáneamente en ARRANQUE- Se procesan temporizaciones- No está activo el perro-guardián- No se procesan alarmas- Las entradas de contador están bloqueadas- Se puede acceder a la periferia integrada con operaciones de carga y transferencia

• El OB21 es llamado por el sistema operativo en caso de arranque manual

• El OB22 es llamado automáticamente cuando se restablece la alimentación delautómata.

• La ejecución del OB21 sólo es posible cuando:

- Está programado el OB21- El autómata está en el estado "RED CON"

Page 54: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 54 29/01/0154

• La ejecución del OB22 sólo es posible cuando:

- Está programado el OB22- El autómata está en el estado "RED CON"- Antes de RED DES, el autómata estaba en modo RUN- Al restablecerse la red de alimentación, el selector está en RUN y está activo el

respaldo de memoria con batería

Redisparo del tiempo de ciclo OB31

• Llamando al OB31, es posible redisparar el perro-guardián.

• El OB31 ya está programado

• El OB31 no puede interrumpirse

Selector STOP -> RUN Restabecimiento de la red

Borrada imagen de proceso, temporizadores, contadores y marcas no volatiles. Interpretacion del DB1

Procesamiento del OB21

Borrada imagen de proceso, temporizadores, contadores y marcas no volatiles. Interpretacion del DB1

Procesamiento del OB22

Liberacion de salidas

Page 55: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 55 29/01/0155

Módulo de datos integrado (DB1)

• El DB1 tiene la siguiente estructura

0 : KC = ' DB1 OBA: AI O ; OBI: ' 12: KC = ' ; OBC: CAP N CBP' 24: KC = ' N ; #SL1: SLN 1 SF' 36: KC = ' DB2 DW0 EF DB3 DW0' 48: KC = ' KBE MB100 KBS MB1' 60: KC = ' 01 PGN1 ; #SDP: N ' 72: KC = 'T 128 PBUS N : TFB: OB13' 84: KC = ' 100 ; #CLP: STW MW10 ' 96: KC = '2 CLK DB5 DW0 '108: KC = ' SET 3 01.10.91 12:00: '120: KC = ' 00 0HS 000000:00:00 '132: KC = ' TIS 3 01.10. 12:00:00 '144: KC = ' STP Y SAV Y CF 00 '156: KC = ' ; #END ';

• Reglas para crear o interpretar el DB1

Identificadores de bloque posibles: OBA, OBI, OBC, SL1, SDP, TFB, CLP

Ident.de inicio: DB1_

Ident.de bloque: p.e: OBA:_

Nombre de parametro p.e.: AI_

Argumento p.e. 1_

Ident.defin de bloque ;_

Ident.de fin: END_

Page 56: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 56 29/01/0156

• Funciones parametrizables

Identificadorde bloque

Función Argumentos

OBA Entradas analógicas integradas.Determina el número de entradas

analógicas que se cargan en la PAE. Elpreajuste es 0

AI p donde p = 0 .. 8

OBI Bloque de parámetros para las entradas dealarma. El preajuste es que ninguna

entrada está activada

IP pIN p

IPN( o INP) pDonde p = 0..3

OBC Bloque de parámetros para los contadoresintegrados. Preajuste: ningún contador

activado

CAP p/NCBP p/NCAN p/NCBN p/NCCP q/NCCN q/N

SL1 Bloque de parámetros para la red SINECL1. Preajuste: No activada

SDP Bloque de parámetros de característicasdel sistema

NT pPBUS N(J)

p=número temporizadoresN(no) J (Si)

TFB Bloque de parámetros para ejecucióncontrolada por tiempo

Preajuste: El OB13 se ejecuta cada 100msCLP Bloque de parámetros del reloj integrado.

Page 57: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 57 29/01/0157

ENTRADAS DE ALARMAS INTEGRADAS

• El autómata S5-95 dispone de cuatro entradas de alarmas ( E 34.0 .. E 34.3)

• Las entradas de alarmas se encuentran bloqueadas en el DB1 por lo que previamentehay que parametrizarlo adecuadamente.

• Si una alarma esta habilitada y el autómata pasa a ejecutar el OB3 inmediatamente, sieste está programado.

Parametrización de las entradas de alarma

Consiste en:

- Determinar que entrada o entradas activan al OB3- El modo en que la entrada genera la llamada: flanco positivo, negativo o ambos

Parámetro Argumento Significado

Identificador de bloque: OBI: Interrupción (alarma) integradaIPINIPN o INP

PPP

Alarma, flanco positivo, canal pAlarma, flanco negativo, canal p

Alarma, flancos positivos o negativos, canal pP= 0 ... 3

Ejemplo:

0 : KC='DB1 OBA: AI 0 ; OBI: '12: KC='IP 0 IN 1 IPN2 INP 3 ; '24: KC=' ; OBC: CAP N CBP '

Genera la configuración siguiente: Alarma en flanco positivo en E 34.0, por flano negativoen E 34.1 y por flancos negativos/positivos en E34.2 y E 34.3

1

26

73

48

95

M

M

M

0 E 34.0

1 E 34.1

2 E 34.2

3 E 34.3

Page 58: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 58 29/01/0158

• Cuando se dispara una alarma:- se llama al OB3, si está programado- incluso si no está programado, se pone a 1, el bit correspondiente en el byte de

diagnosis (EB 35)

Byte de diagnosis (EB35)Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0I3 I2 I1 I0 B U ZB ZA

I3 alarma en E 34.3 si vale 1, sin alarma si vale 0I2 alarma en E 34.2 si vale 1, sin alarma si vale 0I1 alarma en E 34.1 si vale 1, sin alarma si vale 0I0 alarma en E 34.0 si vale 1, sin alarma si vale 0

• Los datos depositados en el byte de diagnosis pueden leerse y evaluarse en el programade usuario usando operaciones binarias elementales ( U E 32.0) o usando operacionesde carga ( L EB 35)

• Es preciso borrar (poner a 0) los bits indicadores de alarma después de la ejecución delprograma.

• El sistema operativo actualiza siempre el byte de diagnosis antes de llamar al OB3

• durante la ejecución del OB3 no se registran en el byte de diagnosis nuevas causas dealarmas, sólo se registra antes de la llamada del OB3.

• Durante el procesamiento de la alarma no se actualizan los temporizadores y sólo esposible transferir a la periferia integrada (T PY/PW).

Prioridad de alarmas

• La ejecución del OB3 no puede ser interrumpida por otra alarma pero el sistemaoperativo memoriza, como máximo, 8 nuevas llamadas al OB3 durante el tiempo que seestá ejecutando este módulo. Cada nueva llamada con su correspondiente byte dediagnosis.

Page 59: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 59 29/01/0159

• Si aparecen varias alarmas o la ejecución de las alarmas está bloqueada por otrasfunciones, entonces, el byte de diagnosis registra los canales que han generado laalarma, pero sólo se llama una vez al OB3

• La coincidencia de alarmas y desbordamientos de contador se resuelve mediante lagestión de prioridades:

1. Llamada del OB3: Contador B (si E 35.1=1)2. Llamada del OB3: Entradas de alarma ( E35.4 ... E35.7=1)3. Llamada del OB3: Contador A ( E35.0 =1)

• Existe una instrucción "AS" que bloquea la ejecución de alarmas. En esta situación, si sigenera una alarma está se introduce en la cola de espera junto con la información dediagnosis asociada.

• La instrucción "AF" libera la ejecución de alarmas que bloqueó la instrucción anterior.

Ejemplo:

• Si se presentan más causas de alarma de las que la cola de espera puede almacenar,entonces el byte de diagnosis de la octava alarma registra las causas de alarmas que sehan generado a partir de la octava alarma.

ta

ta

ta

OB1 eje. OB1 eje.

OB3 eje. y EB 35 señala como causa

E 34.0OB3 eje. y EB 35 señala

como causa E 34.1 y E 34.2

OB3 eje. y EB 35 señala como causa

E 34.3

Tiempo

Alarma 1

Alarmas2 y 3

Alarma 4

Flanco en E 34.0

Flanco en E 34.1

Flanco en E 34.2

Flanco en E 34.3

Causa de alarma en cola de espera

Causa de alarma en cola de espera

Page 60: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 60 29/01/0160

Ejemplo:Supongamos que se han generado 9 causas de alarmas durante el procesamientodel OB3. La octava causa de alarma se aplica a E 34.3. La novena en E34.2. Ambascausas se agrupan en el byte de diagnosis de la octava alarma

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 01 1 ... . ... ...

Page 61: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 61 29/01/0161

ENTRADAS DE CONTADOR INTEGRADAS

• El autómata S5-95 dispone de dos entradas de contador. Cada contador es de 16 bits(cuenta desde 0 .. 65535) del tipo ascendente, que pueden contar hasta 2Khz (o 5KHz) .

• Cada entrada de contador llega un contador hardware independiente de la CPU

• Este contador cuenta flancos aplicados en su entrada. Se puede seleccionar si se cuentanlos flancos de subida o los de bajada

• Cada contador necesita un valor de preselección que determina el número máximo decuentas de cada contador (<=65535). Esto es, el contador incrementa su contenidodesde 0 hasta el valor de preselección. Después, el contador se pone a 0 nuevamente.

• Alcanzar el valor de preselección permite la activación de una alarma, es decir, se llamaal OB3 si este se encuentra programado. En cualquier caso, el byte de diagnosis registraesta información.

• El uso de los contadores está parametrizado en el DB1

Parámetro Argumento SignificadoIdentificador de bloque: OBC: Contadores integradosCAPCBPCANCBNCCP

CCN

P/NP/NP/NP/NQ/N

Q/N

Contador A,flanco positivo, preselección pContador B,flanco positivo, preselección pContador A,flanco negativo, preselección pContador B,flanco negativo, preselección pCascada, flanco positivo, preselección p (entradacontador A)Cascada, flanco negativo, preselección p (entradacontador A)

P= 0 ... 65535; Q=0.. 4294967295; N/n = no activado

1

26

73

48

95

M

M

M

Contador BEW 38

Contador AEW 36

Page 62: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 62 29/01/0162

Ejemplo:

12 : KC=' OBC: CAP 500 CBN 999;'

Contador A por flancos positivos hasta 500, el B por flancos negativos hasta 999

Byte de diagnosis (EB35)Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0I3 I2 I1 I0 B U ZB ZA

ZB: Vale 1 si el contador B alcanza el valor de preselección, 0 en casocontrarioZA: Vale 1 si el contador A alcanza el valor de preselección, 0 en casocontrario

• Es necesario borrar los bits 0 y 1 del byte de diagnosis en el programa de alarmas

• Se puede realizar la consulta del valor real del contador o del estado del contador.

Contador A: situado en EB36 .. 37Contador B: situado en EB38 .. 39

El contenido del contador se puede leer directamente del propio contador (L PW 36) encuyo caso se obtiene el valor actual, o de la PAE (L EW 36), en cuyo caso se obtiene elvalor del contador en la última actualización de la PAE.

• El valor de preselección puede modificarse dinámicamente sin necesidad de modificarel DB1.

L KH nuevo_valorT PW 36(T PW 38)

Al ajustar el nuevo valor, el contador se pone automáticamente a 0.

• En configuración en cascada, se dispone de un contador de 32 bits cuya entrada decontaje se corresponde con la del contador A. Un desbordamiento en el contador encascada pone a 1 los bits 0 y del byte de diagnosis. ZA y ZB y si el OB3 estáprogramado, se ejecuta

Page 63: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 63 29/01/0163

PROCESAMIENTO DE VALORES ANALÓGICOS

• El autómata S5-95 dispone de un convertidor A/D de 10 bits con 8 canales de entrada(registrados en el PAE en las direcciones EW40 .. 54)con un margen de entrada de0..10V , además de un convertidor D/A también de 10 bits con salidas en tensión eintensidad (registrado en la PAA en la dirección AW40), ambos, incluidos en laperiferia integrada.

• Se puede leer el contenido del canal analógico de entrada directamente en la periferiaintegrada (L PW 40.. 54) o bien en la PAE de entrada ( L EW 40..54) si el DB1 estáconvenientemente parametrizado.

Parámetro Argumento Significado

Identificador de bloque: OBA: Entradas analógicas integradasAI p Cantidad de entradas analógicas que se leen

cíclicamente con transferencia al PAE.P= 0 .. 8; Si p=0, no se lee ninguna entrada

Ejemplo:

0: KC=' DB1 OBA: AI 4: OBI ;'

Las entradas analógicas 1..4(canales 0..3) se leen ciclicamente y se cargan en la PAE

EW 40 0

Canal1

29

103

411

125

613

147

815

EW 42 1

EW 44 2

EW 46 3

EW 48 4

EW 50 5

EW 52 6

EW 54 7

+Qv

+QI

Page 64: CURSO DE AUTÓMATAS PROGRAMABLES - infoPLC

Alberto Jesus Molina Cantero Página 64 29/01/0164

• Los valores analógicos de entrada se representan de la siguiente forma

Byte alto Byte bajoNúmero de bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0Representación delValor analógico

S 211 210 29 28 27 26 25 24 23 22 21 20 X E D

S : bit de signoX: irrelevanteE: bit de errorD: desbordamiento

• En la periferia integrada el bit de signo siempre es 0, el bit de error es irrelevante, el bit3 es siempre cero, se genera desbordamiento cuando el valor medido es mayor que2046 y la resolución es de 10 bits, aunque la representación sea de 12.

• Para sacar un valor digital por una salida analógica por la periferia integrada se usan TAW 40 o directamente T PW 40, y por la periferia externa solamente T AW ..

• La representación general de los valores analógicos de salida son

Byte alto Byte bajoNúmero de bit 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0Representación delValor analógico

S 210 29 28 27 26 25 24 23 22 21 20 X X X X

S: bit de signo

• Para la periferia integrada si S=1, se saca 0V, si S=0, se saca el voltaje adecuado alvalor binario hasta 10V para 1024 o más unidades.

• La lectura y salida de los valores analógicos de entrada se puede realizar a través demódulos funcionales FB250 y FB251