Anda di halaman 1dari 6

1 Programación PLC877A

El PLC877A tiene 16 entradas digitales, 10 salidas digitales, un puerto para comunicación serial, y un puerto para
comunicación I2C, donde se conecta un reloj de tiempo real. Se reservan los pines PGD y PGC para cargar el
programa.

Figura 1.1 Distribución de pines para PLC877A

1.1 Manejo de entradas y salidas digitales


Los pines que se utilizan como entradas digitales están nombrados como IN00, IN01 hasta IN15, las salidas digitales
están nombrados como OUT00, OUT01, hasta OUT09. Las entradas y salidas digitales, se pueden utilizar
directamente en la implementación de un ladder, en conjunto con los operadores para manejo de bits o los operadores
lógicos.

Operación Operador para Operadores


manejo de bits lógicos
AND & &&
OR | ||
NOT ~ !
Tabla 1.1: Operadores lógicos en C/C++

Los operadores para manejo de bits se utilizan en una operación de asignación, mientras que los operadores lógicos
se utilizan en una estructura de control como el if-else.

1
Ejemplo: Escribir el código para el siguiente diagrama escalera, utilizando una operación de asignación y utilizando
una estructura if-else.

IN00 IN01 OUT00

OUT00

void PLC_program(void)
void PLC_program(void) {
{ if((IN00 || OUT00)&&(!IN01))
OUT00 = (IN00 | OUT00)&(~IN01); OUT00 = 1;
} else
OUT00 = 0;
}
En el caso de utilizar la instrucción de asignación, se
debe agrupar correctamente las operaciones lógicas. Se
debe tomar en cuenta que los contactos conectados en En el caso de utilizar la estructura if-else, se tiene
paralelo equivalen a una operación lógica OR, que cumplir la condición que es determinada por los
mientras que los contactos conectados en serie se contactos para que la salida OUT00 se active, caso
comportan como una operación lógica AND, y el contrario se debe desactivar la salida.
contacto normalmente cerrado equivale a una negación
(NOT).
Ejercicios
1. Realizar el diagrama escalera y el código para PLC877A de un circuito de control para el accionamiento de
un motor (OUT00), desde dos salas de control diferentes, considere que solo puede ser accionado de una sala
a la vez, en cada sala de control debe haber un pulsador de marcha y uno de parada.

2
2. Realizar el diagrama escalera y el código para PLC877A, que permita controlar el cambio de sentido de giro
de un motor trifásico. El circuito debe tener un pulsador para el sentido de giro 1 (S1 = IN00), que controla
al contactor (KM1 = OUT00), un pulsador para el sentido de giro 2 (S2 = IN01), que controla al contactor
(KM2 = OUT01), un pulsador de parada (S3 = IN02) y una entrada para detectar falla térmica (FF2 = IN03)
mediante el relé térmico, además de las salidas para los contactores, se debe incluir una salida para conectar
una lámpara de activación (HQ1 = OUT02) y una lámpara de falla debido al relé térmico (HF2 = OUT03).
L1 L2 L3 PE
-X

L
-X
1
1 3 5
-Q
-Q

I>
2 I> I> I>
2 4 6

95 97 1 3 5
FF2 FF2 FF1
96 98 2 4 6

11
S3
12
1 3 5 1 3 5
KM1 KM2
13 13 13 13 2 4 6 2 4 6
S1 KM1 S2 KM2
14 14 14 14

1 3 5
FF2
11 11
2 4 6
KM2 KM1
12 12 X1 U1 V1 W1 PE
-HF2
A1 A1
X2 M
KM1 KM2 -M
3
A2 A2
N
-X

1.2 Bobinas auxiliares


El PLC877A tiene 80 bobinas auxiliares las cuales están nombradas como B000, B001 hasta B079, estas bobinas
pueden ser tratadas como bobinas SET o bobinas RESET dependiendo como se implemente el código en C.
Ejemplo: Realizar el diagrama escalera y el código para PLC877A para encender un motor con enclavamiento
utilizando bobinas SET y RESET.

void PLC_program(void)
IN00 B000
{
S if(IN00)
IN01 B000 B000 = 1;
R if(IN01)
B000 = 0;
B000 OUT00
OUT00 = B000;
}

1.3 Manejo de temporizadores


El PLC877A dispone de 10 temporizadores a la conexión que están nombrados como TON00, TON01 hasta TON09,
los temporizadores pueden ser deshabilitados en caso de no ser utilizados, esto se realiza comentando los que no se
necesiten en el archivo PLC_config.h.
3
TON00.IN
TON00.Q

TON00.PT

Figura 1.2: Bloque temporizador a la conexión TON00

El funcionamiento del temporizador se representa con el diagrama de bloques de la Figura 1.2, en donde:

PT -> Preset Time, fija el tiempo de temporización en decimas de segundos, su valor máximo es de 65535.

IN -> Habilita al temporizador.

Q -> Salida, se activa cuando el tiempo de temporización ha terminado.


Cada temporizador tiene estos tres parámetros, los cuales son accesibles mediante el operador punto (.).

void PLC_program(void)
{
TON00.PT = 100; //el temporizador TON00 configurado a 10 segundos
TON00.IN = 1;
}

Ejemplo: Realizar el diagrama escalera y el código para PLC877A que permita controlar la activación de un motor
durante 20 segundos. El sistema consta de un pulsador de arranque y un pulsador de parada de emergencia.

IN00 IN01 TON00.Q B000


void PLC_program(void)
{
B000 = (IN00 | B000)&(~IN01)&(~TON00.Q);
B000

TON00.IN = B000;
TON00.PT = 200;
B000
TON00.IN
TON00.Q
OUT00 = B000;
}
TON00.PT = 200

B000 OUT00

Ejercicios.
1. Realizar el diagrama escalera y el código para PLC877A, que permita realizar el arranque estrella triangulo
para un motor trifásico, se tiene que utilizar un pulsador para marcha (S1 = IN00), un pulsador para parada
de emergencia (S2 = IN01) y una entrada para detectar falla térmica (FF2 = IN03), el PLC877A tiene que
controlar el contactor principal (KM1 = OUT00), el contactor de arranque estrella (KM2 = OUT01), el
contactor de arranque delta (KM3 = OUT02) y la lámpara indicadora de falla (H = OUT03).

4
L1

L2

L3
L -X

-X

5
-Q
-Q

I>
I> I> I>

6
95
FF2

5
96
FF1

11

13

67

97

6
S2 KM1 KT1 FF2

12

14

68

98

5
KM1

6
13

13

55

5
S1 KM1 KT1 FF2

14

14

56

6
11

11

W1

PE
U1
-KM3

V1

5
-KM2

12

5
KM2

12
M KM3

6
-M

6
3

X1
A1

A1

A1

A1

W2

U2
-H

V2
KM1 KT1 KM2 KM3

X2
A2

A2

A2

A2
N
-X

2. Realizar el diagrama escalera y el código para PLC877A, que permita controlar un semáforo de dos luces
(roja y verde), la luz verde (OUT00) se activa durante 8 segundos y la luz roja (OUT01) se activa durante 5
segundos, la secuencia del semáforo debe empezar en el momento que se enciende el PLC877A.

1.4 Manejo de contadores


El PLC877A dispone de 4 contadores descendentes, estos contadores están nombrados como CTD00, CTD01 hasta
CTD03, al igual que los temporizadores pueden ser deshabilitados uno por uno desde el archivo PLC_config.h.

CTD00.LD CTD00.Q

CTD00.CD

CTD00.PV

Figura 1.3: Bloque contador descendente CTD00.

El funcionamiento de los contadores descendentes se representa en el diagrama de bloques de la Figura 1.3, donde:

PV -> Preset Value, fija el valor a partir del cual se realizara el decremento, el valor máximo es de 65535.

LD -> Carga el valor de PV en el registro de conteo, cuando se activa el contador se pone en reset.

CD -> Es la señal para decrementar el contador, tiene que ser pulsante.

Q -> Salida, se activa cuando el contador llega a cero.

Ejemplo: Realizar el diagrama escalera y el código para PLC877A, que permita controlar el funcionamiento de una
cinta transportadora, el sistema debe tener un pulsador de arranque (IN00), un pulsador de parada (IN01), y un sensor
para detectar el número de pieza (IN02). El PLC877A debe detener la cinta transportadora luego de detectar el paso
de 10 piezas.

5
IN00 IN01 CTD00.Q B000
void PLC_program(void)
{
B000
B000 = (IN00 | B000)&(~IN01)&(~CTD00.Q);

CTD00.LD = ~B000;
CTD00.PV = 10;
B000
CTD00.CD = IN02;

CTD00.Q OUT00 = B000;


CTD00.LD
IN02 }
CTD00.CD

CTD00.PV = 10

B000 OUT00

Anda mungkin juga menyukai