Está en la página 1de 134

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN

“CURSO DE MANEJO DEL P.L.C. FESTO”

ACTIVIDAD DE APOYO A LA DOCENCIA

QUE PARA OBTENER EL TÍTULO DE:


INGENIERO MECÁNICO ELECTRICISTA

PRESENTA:
GUSTAVO OCAMPO HERNÁNDEZ

ASESOR: M.I. BENJAMÍN CONTRERAS SANTACRUZ

CUAUTITLÁN IZCALLI, ESTADO DE MÉXICO 2013


FACULTAD DE ESTUDIOS SUPERIORES CUAUTITLÁN
UNIDAD DE ADMINISTRACIÓN ESCOLAR
DEPARTAMENTO DE EXÁMENES PROFESIONALES

DRA. SUEMI RODRÍGUEZ ROMO


DIRECTORA DE LA FES CUAUTITLAN
PRESENTE
ATN: L.A. ARACELI HERRERA HERNÁNDEZ
Jefa del Departamento de Exámenes
Profesionales dc la FES Cuautitlán.

C‹» base en ei Reglamento General de Exámenes, y la Dirección de la Facultad, nos permitimos a


comunicar a usted que revisamos El Trabajo de Actividad de Apoyo a la Docencia:

“Curso de Manejo del P.L.C. FESTO".

Que presenta el pasante: GUSTAVO OCAMPO HERNÁNDEZ


Con número de ouenta. 40808408•4 para obtener el Título de: Ingeniero Mecánico Electricista

Considerando que dicho trabajo re‹se ios requisitos necesahos para ser discutido en el EXAMEN PROFESIONAL
correspondiente, otorgamos nuestro \/0TO APROBATORIO.

ATENTAMENTE
"POR //Il RAZA HABLARA EL ESPÍRITU”
Cuaulitlán lzcalli, Méx. a 27 de Junio de 2013.

PROFESORES QUE INTEGRAN EL JURADO

NOMBRE

PRESIDENTE M.l. Benjamín Gonlreras Santacraz

VOCAL Ing. Oscar Cervantes Torres

s«ci‹ETAeto ! nq. José Antonio Barrera Rodriguez

lerSGPLENTE '4 JuanGonzálezVega

las suPrF.NTr n9. Adrian Nonato Torres

NOTA: IoS Sinodales supientes están obligados a presentarse el día y hora del Examen Profesiona l (a rt. 127).

HHA/pm
Agradecimientos

Con todo mi cariño y amor hacia las personas que hicieron todo en la vida para
que yo pudiera lograr mis sueños, por motivarme y enseñarme la luz que
iluminó cuando sentía que el camino se terminaba, a ustedes
por siempre mi corazón y mi agradecimiento.
ÍNDICE

CAPÍTULO 1 EL P.L.C
1.1 INTRODUCCIÓN 1
1.1.1 COMPONENTES DE UN SISTEMA DE CONTROL CON P.L.C 2
1.2 CONEXIÓN DE ENTRADAS Y SALIDAS 6
1.2.1 CONEXIÓN DE ENTRADAS 6
1.2.2 CONEXIÓN DE SALIDAS 8
1.2.3 EL CONTACTOR 8
1.2.3.1FUNCIONAMIENTO DEL CONTACTOR 12
1.2.3.2 CONTACTOS AUXILIARES 15
1.2.3.3 CIRCUITO DE POTENCIA O FUERZA 17
1.2.4 CONEXIÓN ELÉCTRICA DEL CONTROL FEC 18

CAPÍTULO 2 USO DEL SOFTWARE


2.1 INTRODUCCIÓN 19
2.2 EJECUCIÓN DEL SOFTWARE 22
2.3 ESTRUCTURA DE PROGRAMACION EN LISTA DE INSTRUCCIONES 27
2.4 REGLAS DE EJECUCIÓN DE UN PASO 29
2.5COMANDOS 31
2.6 DESARROLLO 32

CAPÍTULO 3 LÓGICA DE CONTACTOS


3.1 INTRODUCCIÓN 39
3.2 ELEMENTOS DE ENTRADA Y SALIDA 40
3.2.1 ELEMENTOS DE ENTRADA 40
3.2.2 ELEMENTOS DE SALIDA 41
3.3 FUNCIONES LÓGICAS 42
3.4 DESARROLLO 48

CAPÍTULO 4 TEMPORIZADORES
4.1 INTRODUCCIÓN 57
4.2 FUNCIONAMIENTO DE UN TEMPORIZADOR 58
4.3 TEMPORIZADOR ESTÁNDAR 59
4.3.1 INICIALIZANDO EL TIMER PRESELECT 59
4.3.2ARRANCANDO UN TIMER 60
4.4 TEMPORIZADOR CON RETARDO A LA CONEXIÓN 63
4.5 TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN 65

CAPÍTULO 5 CONTADORES
5.1 INTRODUCCIÓN 67
5.2 CONTADORES EN LISTA DE INSTRUCCIONES 67
5.2.1 INICIALIZANDO EL COUNTER PRESELECT 67
5.2.2 ARRANCANDO UN COUNTER 68
5.3 CONTADORES EN DIAGRAMA DE ESCALERA 69
5.4 COMANDOS INC Y DEC 72
5.5 DESARROLLO 73

CAPÍTULO 6 REGISTROS Y FLAGS


6.1REGISTROS 78
6.1.1 CARGANDO UN REGISTRO 78
6.2 REGISTRO EN DIAGRAMA DE ESCALERA 80
6.3 COMANDOS INC Y DEC PARA UN REGISTRO 82
6.4 FLAGS 83
6.4.1 SIMILITUDES CON OTROS OPERANDOS MULTIBIT 85
6.4.2 DIFERENCIAS CON OTROS OPERANDOS MULTIBIT 85
6.5 FLAGS EN DIAGRAMA DE ESCALERA 87
CAPÍTULO 7 MÉTODOS DE PROGRAMACIÓN
7.1 DIAGRAMA ESPACIO-FASE 89
7.2 MÉTODO DE LA BANDERA 92
7.3 MÉTODO ESTRUCTURADO 95
7.4 MÉTODO SECUENCIAL (PASO A PASO) 98

CAPÍTULO 8 FUNCIONES AVANZADAS


8.1 MULTITAREA 101
8.1.1 TÉRMINOS ASOCIADOS CON LA MULTITAREA 101
8.1.2 CFM LLAMADA A MÓDULO DE FUNCIONES 102
8.1.3 CMP LLAMADA A MODULO DE PROGRAMA 103
8.2 DESARROLLO 104
8.3 VISUALIZACIÓN DE DATOS EN EXCEL 108
8.3.1 DDE 108
8.3.2 OLE 108
8.3.3 OPC 109
8.3.4 VENTAJAS DE OPC FRENTE A DDE 109
8.4 DESARROLLO 110
8.5 MODIFICACIÓN DE PARÁMETROS DE UN P.L.C DESDE EXCEL 115

CAPÍTULO 9
9.1 CONCLUSIONES 121

9.2 BIBLIOGRAFÍA 122


ÍNDICE DE FIGURAS
Fig. 1.1 Señal Analógica. 2
Fig. 1.2 Señal Discreta. 2
Fig. 1.3 Señal Binaria. 2
Fig. 1.4 El P.L.C. 3
Fig. 1.5 Computadora personal con el software de programación
previamente cargado. 3
Fig. 1.6 Descripción física del P.L.C. FEC20 de FESTO. 4
Fig. 1.7 Distribución del P.L.C. FEC20 de FESTO. 4
Fig. 1.8 Conexión de entradas del P.L.C. FEC20 de FESTO. 6
Fig. 1.9 Conexión de entradas (sensores) del P.L.C. FEC20 de FESTO. 7
Fig. 1.20 Conexión de salidas del P.L.C. FEC20 de FESTO. 8
Fig. 1.21 Aspecto físico de un contactor. 9
Fig. 1.22 Símbolo de un contactor. 9
Fig. 1.23 Partes que componen un contactor. 10
Fig. 1.24 Comportamiento de un contactor con la bobina sin 12
excitar.
Fig. 1.25 Comportamiento de un contactor con la bobina excitar. 13
Fig. 1.26 Dos posibles casos de un contactor. Bobina excitada 14
(lado derecho), bobina sin excitar (lado izquierdo).
Fig. 1.27 Contactos auxiliares. 15
Fig. 1.28 Cámaras de contactos NC/NO. 15
Fig. 1.29 Cámara de cuatro contactos. 16
Fig. 1.30 Cámara de contactos temporizados TON. 16
Fig. 1.31 Cámara de contactos temporizados TOF. 16
Fig. 1.32 Circuito de potencia o de fuerza. 17
Fig. 1.33 Conexión eléctrica del control FEC. 18

Fig. 3.1 Representación de funciones lógicas 40


Fig. 3.2 Representación de variables de salidas 41
Fig. 3.3 Lógica de función “O” 42
Fig. 3.4 Lógica de función “Y” 42
Fig. 3.5 Función “O” lógica de funciones “Y” 43
Fig. 3.6 Función “Y” Lógica de funciones “O” 43
Fig. 3.7 Símbolos generalizados de la función “OR” 44
Fig. 3.8 Tabla de verdad de la función “OR” 44
Fig. 3.9 Símbolos generalizados de la función “AND” 45
Fig. 3.10 Tabla de verdad de la función “AND” 45
Fig. 3.11 Símbolos generalizados de la función “NOT” 45
Fig. 3.12 Tabla de verdad de la función “NOT” 45
Fig. 3.13 Símbolos generalizados de la función “NOR” 46
Fig. 3.14 Tabla de verdad de la función “NOR” 46
Fig. 3.15 Símbolos generalizados de la función “NAND” 46
Fig. 3.16 Tabla de verdad de la función “NAND” 46
Fig. 3.17 Símbolos generalizados de la función “XOR” 46
Fig. 3.18 Tabla de verdad de la función “XOR” 46
Fig. 3.19 Símbolos generalizados de la función “XNOR” 47
Fig. 3.20 Tabla de verdad de la función “XNOR” 47
Fig. 3.21 Símbolos generalizados de la función “IGUALDAD” 47
Fig. 3.22 Tabla de verdad de la función “IGUALDAD” 48

Fig. 4.1 Función de un temporizador 58


Fig. 4.2 Estructura de un temporizador 59
Fig. 4.3 Grafica de un temporizador 62
Fig. 4.4 Grafica de un temporizador TON 65
Fig. 4.5 Grafica de un temporizador TOF 66

Fig. 6.1 Estructura de las FLAGS 85

Fig. 7.1 Representación de dos cilindros de doble efecto y sus 90


válvulas biestables
Fig. 7.2 Diagramas de espacio-fase 91

Fig. 8.1 Estructura de la Multitarea 102


CAPITULO 1
EL P.L.C.

1.1 INTRODUCCION
P.L.C

Programmable Logic Controller

Control Lógico Programable

¿Qué es un P.L.C.?

Un sistema electrónico de funcionamiento digital, diseñado para ser utilizado en un entorno industrial,
que utiliza una memoria programable para el almacenamiento interno de instrucciones orientadas al
usuario, para la realización de funciones de: enlaces lógicos, secuenciación, temporización, recuento y
cálculo, para controlar a través de entradas y salidas digitales o analógicas, diversos tipos de máquinas o
Procesos. (Según IEC-1131)

El sistema de un P.L.C.

Consta básicamente de:

Hardware (parte tangible, por ejemplo: los circuitos eléctricos y electrónicos)

Software (parte no tangible, por ejemplo:los programas)

1
1.1.1 COMPONENTES DE UN SISTEMA DE CONTROL CON PLC

Sensores: En general, nos referimos a todos los elementos de introducción de señal

Las señales se clasifican en:


_ Analógicas _ Discretas

Fig. 1.1 Señal Analógica Fig. 1.2 Señal Discreta

Señal binaria

La señal binaria es una señal discontinua (0=Inactivo 1=Activo). Todos los PLC’s procesan señales
binarias. Es más fácil manejar sólo 2 valores (0 ó 1, 0V ó 24V, No ó Sí, Apagado ó Encendido).

Fig. 1.3 Señal binaria

Actuadores o elementos de trabajo, como por ejemplo: motores eléctricos, cilindros neumáticos, focos
piloto, alarmas sonoras, etc.

PARA LA PROGRAMACION DE UN PLC ES NECESARIO:

Programador exclusivo para digitar e introducirlos programas a la memoria del P.L.C.

2
Fig. 1.4 El P.L.C.

Computadora personal con el Software de programación previamente cargado (por ejemplo: FST)

Fig. 1.5 Computadora personal con le software de programa previamente cargado

DIAGRAMA A BLOQUES BÁSICO DE UN PLC

Este manual está enfocado para el P.L.C. de FESTO FC20, así que a continuación se muestran las
características físicas y técnicas.

3
Fig. 1.6 Descripción física del P.L.C. FEC20 de FESTO

Fig. 1.7 Distribución del P.L.C. FEC20 de FESTO

4
Características técnicas
• 12 entradas (configurables a NPN o PNP).

• 8 salidas (relevador).

• Entradas/salidas expandibles hasta 60 entradas/40 salidas.

• 256 Contadores

• 256 Temporizadores (On/Off-delay o de Impulso)

• 256 Registros de 16-bit.

• 160,000 banderas (relevadores internos).

• Un Potenciómetro Analógico para procesos de ajuste.

• Funciones matemáticas de 32 bits.

• Dos contadores rápidos de 4 KHz.

• 1000 instrucciones en 2 ms.

• Montaje por riel DIN y conexiones por tornillo.

5
1.2 CONEXIONES DE ENTRADAS Y SALIDAS

1.2.1 CONEXIÓN DE ENTRAS

Fig. 1.8 Conexiones de entrada del P.L.C. FEC20 de FESTO

6
Fig. 1.9 Conexión de entradas (sensors) del P.L.C. FEC20 de FESTO

7
1.2.2 CONEXIÓN DE SALIDAS

Fig. 1.20 Conexión de salidas del P.L.C. FEC20 de FESTO

La ventaja de nuestro controlador es que tiene salida para bobina de contactor de 24vcd, 120vca ó 220
vca

1.2.3 EL CONTACTOR

Es un mecanismo cuya misión es la de cerrar unos contactos, para permitir el paso de la corriente a
través de ellos. Esto ocurre cuando la bobina del contactor recibe corriente eléctrica, comportándose
como electroimán y atrayendo dichos contactos.

8
Aspecto físico

Fig. 1.21 Aspecto físico de un contactor


Símbolo

Fig. 1.22 Símbolo de un contactor

Clasificación de los contactores

9
Partes de que está compuesto

Fig. 1.23 Partes que componen un contactor.

10
Fig. 1.23 Partes que componen un contactor.

11
1.2.3.1 FUNCIONAMIENTO DEL CONTACTOR

Caso 1. Bobina del contactor sin excitar.

Al no existir corriente, no hay campo 12xcel12s12o capaz de desplazar el martillo hacia la culata. El
martillo está unido físicamente al grupo de contactos del contactor.

Fig. 1.24 Comportamiento de un contactor con la bobina sin excitar

12
Caso 2. Bobina del contactor excitada.

El campo magnético creado por la bobina del contactor al ser alimentado con corriente eléctrica, en este
caso puede ser alimentado con una de las salidas del P.L.C, ya sea a 24vcd, 120vca o 220vca. Y de esta
manera se conseguirá desplazar el conjunto formado por el martillo y el conjunto de contactos
eléctricos asociados, realizando la conexión (o desconexión) de los mismos.

Fig. 1.25 Comportamiento de un contactor con la bobina excitada

13
Fig. Dos posibles casos de un contactor. Bobina excitada (lado derecho), Bobina sin excitar (lado izquierdo)

14
1.2.3.2 CONTACTOS AUXILIARES

Para aumentar la capacidad del contactor, se pueden asociar bloques de contactos, o 15xcel15s de
contactos auxiliares, que incrementan así la capacidad del contactor al acrecentar el número de
contactos a manejar, incluidos temporizadores (15xcel15 de contactos temporizados).
El procedimiento de unión o encaje entre el contactor y el bloque auxiliar suele realizarse a través de
unas pequeñas guías, que permiten el acoplamiento.

Fig. 1.27 Contactos auxiliares

Puesta en marcha

Cuando la bobina del contactor es excitada, y el martillo (armadura 15xcel), se desplaza a causa del
campo magnético hacia abajo, además de conmutar los contactos propios del contactor, desplaza
15xcel15s la parte superior del contactor, normalmente de material plástico, en la cual van adosados los
bloques de contactos auxiliares, haciendo que estos, o bien conmuten sus contactos, o exciten un
mecanismo para la 15xcel15s15-desconexion retardada como es el caso de los bloques temporizadores
15xcel15s15os.

Cámaras de contactos NC-NO

Lo habitual es encontrar de uno, dos y cuatro contactos,

- Cámara de un contacto

Fig. 1.28 Camaras de contactos NC/NO

15
- Cámara de cuatro contactos

Fig. 1.29 Cámara de cuatro contactos

Cámaras de contactos temporizados

- Con retardo a la conexión (TON, Timer ON Delay).

Fig. 1.30 Cámara de contactos temporizados TON

- Con retardo a la desactivación (TOF, Timer OFF Delay)

Fig. 1.31 Cámara de contactos temporizados TOF

16
Normalmente, las cámaras temporizadas neumáticas utilizan como elemento principal un fuelle de
goma y un resorte antagonista dentro de él. Un tornillo solidario al conjunto fuelle-cámara, servirá para
la regulación del tiempo. No se consideran instrumentos de precisión.

1.2.3.3 CIRCUITO DE POTENCIA O FUERZA

Fig. 1.32 Circuito de potencia o fuerza

17
1.2.4 CONEXION ELÉCTRICA DEL CONTROL FEC

Fig. 1.33 Conexión eléctrica del control FEC

18
CAPITULO 2
USO DEL SOFTWARE

2.1 INTRODUCCION

EL SOFTWARE A UTILIZAR ES FEST 4.10

Una vez que se instala el software, se procede hacer la comunicación entre el PLC y la computadora
donde se encuentra instalado el software

 Se requiere de un convertidor de puerto serial a USB.

 Ya que se tiene el convertidor previamente instalado, se requiere saber a qué frecuencia está
trabajando el convertidor para empatarlo con la frecuencia de operación del software

 Dependiendo del sistema operativo será la verificación de la frecuencia de trabajo. En este caso
el sistema operativo es Windows 7, y el procedimiento es el siguiente.

19

20

 Aparecerá el siguiente cuadro de dialogo

20
En este momento ya sabemos cuál es la velocidad de operación del convertidor y que COM se le asigno.
Procedemos a configurar esto con el software.

21
2.2 EJECUCIÓN DEL SOFTWARE
 Ejecutamos el software

 Extras

 Preferences

22
En este momento ya le asignamos el COM5 y una velocidad de 9600. Ya se hermano el software con el
USB
Ahora es necesario saber qué tipo de PLC tenemos, en este caso es un PLC compacto. También hay que
seleccionar esto en el software para que no haya ningún problema de comunicación con el PLC.

 Se desplegara una pantalla en la cual se va a seleccionar el tipo de PLC

 Para seleccionar el tipo de PLC hay que dar doble clik sobre la pantalla para que aparezca el
siguiente cuadro de dialogo

23
 Se selecciona FEC y aparecerá lo siguiente

 Se cierra esta ventana y ya quedo configurado

ATENCION!!!!!!!!!

El siguiente paso se debe hacer cada que se hace un nuevo proyecto.

 Seleccionamos PROJECT Y NEW

 Nombramos al proyecto

24
 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da
algún comentario en COMMENT de así requerirlo.

 Si solo queremos seleccionar el tipo de PLC se puede hacer de la siguiente manera

 Project settings

25
 Y seleccionamos el tipo de PLC

26
2.3 ESTRUCTRURA DE PROGRAMACION EN LISTA DE
INSTRUCCIONES

ESTRUCTURA DE PROGRAMACION AWL Ó STL

El lenguaje de programación AWL ( lista de instrucciones ) permite al programador resolver tareas de


control utilizando simples instrucciones en inglés para describir las operaciones que se desea que
haga el control.
Los programas en lista de instrucciones se construyen utilizando varios elementos importantes. No
se requieren todos los elementos disponibles, y la forma en que son combinados los elementos
influye notablemente en el comportamiento del programa

Jerarquía de los elementos AWL

Instrucción STEP ( Paso )

A pesar de que la instrucción STEP ( Paso ) es opcional, muchos de los programas AWL utilizan la
instrucción STEP. Esta instrucción se utiliza para marcar el inicio de un bloque lógico de programa
Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede contener una o
más Frases. A cada Paso se le puede asignar un nombre o “ etiqueta “ opcional. Una Etiqueta de
Paso solamente se requiere si el Paso correspondiente debe ser posteriormente nombrado como el
destino de una instrucción de salto.

Es posible crear programas enteros que consten solamente de frases sin utilizar en ningún caso la
instrucción STEP. Los programas construidos de esta forma suelen llamarse programas paralelos, y
reaccionan igual que los programas escritos en diagrama de contactos. Esto significa que, sin utilizar

27
la instrucción STEP, tales programas serían procesados una sola vez. Para que estos programas
puedan procesarse continuamente, es necesario incluir la instrucción PSE.

FRASES
La Frase forma el nivel más elemental de la organización de un programa. Cada Frase consta de una
Parte Condicional y de una Parte Ejecutiva .
La Parte Condicional sirve para indicar una o más condiciones que son evaluadas durante el
funcionamiento por su condición de ciertas o falsas. La Parte Condicional siempre empieza con la
palabra clave IF y sigue con una o más instrucciones que describen las condiciones a evaluar.

Si las condiciones programadas son evaluadas como ciertas, entonces serán ejecutadas todas las
instrucciones programadas en la parte ejecutiva de la frase. El inicio de la parte ejecutiva se indica
con la palabra clave THEN.

Instrucción STEP
Los programas que no utilizan la instrucción STEP pueden procesarse de modo paralelo ( scanning ). A
pesar de que este tipo de ejecución de programas puede ser adecuado para resolver ciertas tareas de
control, el lenguaje AWL ofrece la instrucción STEP que permite que los programas sean divididos en
compartimentos (STEPS o PASOS ), que serán ejecutados independientemente. En su forma más
sencilla, un STEP incluye por lo menos una frase y toma la forma siguiente:

STEP #### PASO INICIAL


IF NOP SI NO HAY NINGUNA OPERACION
THEN SET Y1 ENTONCES ACIVA Y1

Es importante comprender que el programa ESPERARÁ en este paso hasta que las condiciones sean
ciertas, en cuyo momento se ejecutarán las acciones y solamente entonces el programa seguirá
procesando el siguiente paso.
La etiqueta (#### ) del paso es opcional y solo se requiere si el paso va a ser el destino de una
instrucción de salto ( JMP ). Debe observarse que cuando el software FST carga un programa AWL en el
control programable, asigna automáticamente una numeración relativa a cada paso del programa.

Dentro de la instrucción STEP se pueden incluir varias frases según lo requiera el programa

28
En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso. Cuando el
programa llega a este paso, procesará la primera frase ( en este caso, activando la salida 4.4 si la entrada
2.2 está activa ) y a continuación se desplaza a la siguiente frase independientemente de si las condiciones
de la primera frase son ciertas o falsas.
Cuando la última frase de un paso (en este caso la segunda ) es procesada, si la parte condicional es
cierta , entonces se realiza la parte ejecutiva y el programa continua en el siguiente paso. Si la parte
condicional de la última frase no es cierta, entonces el programa regresa a la primera frase del paso
actual.

2.4 REGLAS DE EJECUCIÓN DE UN PASO


Pueden utilizarse las siguientes pautas para determinar cómo se procesan los Pasos y las Frases:

 Si las Condiciones de una frase se cumplen, se ejecutarán las acciones programadas en ella

 Si las Condiciones de la última (o la única ) frase dentro de un paso se cumplen, se ejecutarán las
Acciones programadas y el programa seguirá en el siguiente paso

 Si las Condiciones de la frase no se cumplen, entonces el programa seguirá en la siguiente frase


del paso actual

 Si las Condiciones de la última (o la única ) frase dentro de un paso no se cumplen, entonces el


programa regresará a la primera frase del paso actual

El lenguaje AWL no utiliza “accionamiento por flancos “... las condiciones son evaluadas cada vez que se
procesan, sin tener en cuenta su anterior estado.

Esta situación se resuelve fácilmente o bien utilizando STEPs, Flags (Marcas ) u otras formas de
control

29
Influencia en el flujo del programa

Adicionalmente a las estructuras de control inherentes a la instrucción STEP, se dispone de varias


instrucciones AWL adicionales que pueden utilizarse para modificar los criterios de ejecución de los
Pasos de programa y sus Frases.

Instrucción NOP
La instrucción NOP puede utilizarse indistintamente en la parte Condicional o en la Ejecutiva de una frase.
Cuando se utiliza en la parte condicional siempre es evaluada como cierta. Pudiendo utilizarse para forzar
la ejecución incondicional de una frase

IF NOP SI NO HAY NINGUNA OPERACIÓN


THEN SET Y1 ENTONCES PRENDE Y1

Instrucción JMP
Otra instrucción AWL que puede utilizarse para influir en el flujo de ejecución de un programa, es la
instrucción JMP ( salto ). Esta instrucción añade la posibilidad de ramificar el lenguaje AWL.

30
Instrucción OTHRW
La instrucción OTHRW ( otherwise, sino ) también puede utilizarse para influir en el flujo del programa.
La instrucción OTHRW es ejecutada cuando la última IF es evaluada como falsa

STEP 1 PASO 1
IF NOP SI NO HAY NINGUNA OPERACIÓN
THEN SET Y0 ENTONCES PRENDE Y0

STEP 2 PASO 2
IF S0 SI ESTA PRENDIDO S0
THEN SET Y1 ENTONCES PRENDE Y1
OTHRW JMP TO 1 DE LO CONTRARIO SALTA AL PASO 1

2.5 COMANDOS

AND Realiza la función lógica and (multiplicación)

CMP n Empieza la ejecución de un módulo de programa.

DEC Decrementa un operador multibit.

IF Marca el inicio de la parte condicional.

INC Incrementa un operando multibit.

JMP TO Salto a un paso.

SWAP Intercambia el Byte alto por el Byte bajo.

TO Indica el destino de la carga.

NOP No hacer nada, sin condiciones.

OR Realiza la operación lógica or (suma)

OTHRW Aplica cuando la condición es falsa.

RESET Para cambiar a estado lógico “0”.

31
ROL Gira a la izquierda los bits de un acumulador.

ROR Gira a la derecha los bits de un acumulador.

SET Para cambiar a estado lógico “1”.

THEN Indica el inicio de la parte ejecutiva.

WITH Para indicar parámetros de funciones.

LOAD Carga un valor en el acumulador.

2.6 DESARROLLO
 Ejecutar el software FST 4.10

 Seleccionamos PROJECT Y NEW

 Nombramos al proyecto

32
 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da
algún comentario en COMMENT de así requerirlo.

 PROGRAM NEW

33
 Seleccionamos el lenguaje de programación, ya sea lista de instrucciones (AWL Ó STL) o
diagrama de escalera (LDR Ó KOP). En nuestro caso seleccionamos AWL (Statement list).

 Una vez seleccionado el lenguaje de programación aparecerá una ventana, la cual nos indicara
el número de programa, el cual debemos tener cuidado de que este en cero, pues cuando
cargamos el programa al PLC, este se carga con el número que seleccionamos, y cuando se
ejecuta en el PLC este siempre busca el programa número cero y de no encontrarlo despliega
un error.

34
 Damos OK y se despliega una pantalla en la cual vamos a estructurar nuestro programa

 Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar
nuestras entradas y salidas.

35
 Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar
nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá
lo siguiente:

Se nombran las entradas y las salidas según nos convenga.

 Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra
ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un
contador, podemos usar solo su símbolo de operación.

36
 Nuestro programa está estructurado de tal manera que se pueda visualizar la estructura básica
de un programa en lista de instrucciones.

Nuestro programa hace lo siguiente:


Cuando el sensor cero “S0” se activa la salida cero “Y0” se activa, y cuando el sensor uno “S1” se activa
entonces se resetea “Y0”. Los sensores S0 Y S1 no se activan simultáneamente, sino que se activa el
sensor “S0” y precedido el sensor “S1”. Una vez que ocurre esto se requiere que el sensor dos “S2” se
active, cuando sucede esto la salida uno “Y1” se activara y el requisito para desactivarla y continuar con
el proceso es que la entrada “S2” se deshabilite. Una vez ocurrido esto, con la instrucción JMP
hacemos que el proceso sea cíclico indefinidamente, ya que regresa al principio.

STEP 1
IF S0 ‘SENSOR 0
THEN SET Y0 ‘lLED 0

STEP 2
IF S1 ‘SENSOR 1
THEN RESET Y0 ‘lLED 0

STEP 3
IF S2 ‘SENSOR 2
THEN SET Y1

STEP 4
IF N S2 ‘SENSOR 2
THEN RESET Y1
JMP TO 1

 Una vez que se ha concluido el programa se procede a compilarlo para ver si existe algún error

 Y se procede a crear los ejecutables

37
 Si no existe ningún error se procede a cargar el programa en el PLC.

 Si no hay ninguna complicación, en la parte inferior izquierda aparecerá la siguiente leyenda.

 Una vez que aparece esta leyenda, significa que el programa está cargado en el PLC. Y ya
podemos checarlo directamente con el PLC, poniendo el interruptor en RUN.

 Una vez que se checa el perfecto funcionamiento, se ha logrado el objetivo de esta práctica, el
cual es comprender la estructura básica de programación en lista de instrucciones en un PLC.

38
CAPÍTULO 3
LÓGICA DE CONTACTOS

3.1 INTRODUCCIÓN

Lógica de contactos

Se trata de la representación gráfica de esquemas de automatismos eléctricos, en los cuales, el elemento


fundamental es el interruptor electromagnético denominado relé, junto con pulsadores, interruptores y
contactores.

39
Fig. 3.1 Representación de funciones lógicas

3.2 ELEMENTOS DE ENTRADA Y SALIDA


3.2.1 Elementos de entrada
Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como finales de carrera,
detectores de proximidad, etc. Son los dispositivos físicos mediante los cuales el automatismo realiza la
observación de las variables de entrada. Por tanto, se debe asociar a dichos elementos las variables de
entrada de cuya combinación resultará una función lógica que activará o no la salida correspondiente.

Las variables de entrada pueden ser clasificadas como:

40
* Variables de entrada directa
* Variables de entrada inversa

La variable de entrada directa, da un “1” lógico cuando es activada. La variable de entrada inversa, da un
“0” lógico cuando es activada. Se representará pues como una variable negada. Según donde se realice la
observación del automatismo, las variables de entrada pueden clasificarse como:

* Variable de entrada pura


* Variable de salida realimentada

La variable de entrada pura, proviene de acciones de mando del operador, o bien de la lectura de los
elementos de entrada. La variable de salida realimentada, proviene de la realimentación de una variable
de salida y posterior consideración como variable de entrada. Esto puede tener lugar en automatismos
que deban ser tratados según la lógica secuencial síncrona o asíncrona.

Fig. 3.2 Representación de variables de salida

3.2.2 ELEMENTOS DE SALIDA


Los elementos de salida deberán ser asociados a las variables de salida de las funciones lógicas. Casi
siempre vendrán implementadas físicamente por el circuito de mando de un relé o de un contactor

Asociación de elementos
Los diversos elementos bien sean normalmente abiertos o normalmente cerrados, pueden conectarse de
forma asociada formando diversas funciones lógicas

41
3.3 FUNCIONES LÓGICAS
Función lógica O
Se trata de la conexión en paralelo de diversos elementos de entrada

Fig. 3.3 Lógica de función “O”

Función lógica Y
Se trata de la conexión en serie de diversos elementos de entrada

Fig. 3.4 Lógica de función “Y”

Función O lógica de funciones Y


Corresponde a la conexión en paralelo de dos o más ramas en serie

42
Fig. 3.5 Función lógica “O” lógica de funciones “Y”

Función Y lógica de funciones O


Corresponde a la conexión en serie de conjuntos de dos o más ramas en paralelo

Fig. 3.6 Función lógica “Y” lógica de funciones “O”

A partir de las funciones básicas enumeradas, se pueden establecer combinaciones entre ellas de diversa
complejidad

Lógica de funciones
Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean dispositivos
mediante los cuales solo son posibles dos estados. Por tanto, al transistor solo le vamos a permitir trabajar
en la zona de corte o en la de saturación, nunca en la zona activa ( ideal para el uso del transistor como
amplificador ). Esta naturaleza biestable ( todo – nada ) o nivel alto – nivel bajo de muchos dispositivos
industriales hace posible tratar su función mediante un cálculo matemático que solo opere con dos
valores “0” y “1”

Existen dos sistemas lógicos distintos:

Lógica positiva: Cuando el estado alto coincide con el “1” lógico y el estado bajo con el “0” lógico
Lógica negativa: Cuando el estado alto coincide con el “0” lógico y el estado bajo con el “1” lógico

43
El desarrollo de los distintos bloques lógicos se puede realizar con elementos de alguna de las siguientes
familias lógicas:

* Familia RTL : Lógica transistor – resistencia


* Familia DTL : Lógica transistor – diodo
* Familia TTL : Lógica transistor – transistor
* Familia ECL : Lógica acoplada por emisor
* Familia C-MOS

Función “O” u “OR” (Suma lógica )


La función, puerta o dispositivo OR se caracteriza porque proporciona una salida “1” siempre que sea “1”
el estado de al menos una de las variables de entrada, es decir, realiza la suma lógica

Los símbolos más generalizados para la representación de la función lógica “OR “ son:

Fig. 3.7 Símbolos generalizados de la función “OR”

La representación de todas las combinaciones posibles de las variables de entrada y su repercusión en las
salidas se expresa mediante una tabla llamada “Tabla de verdad”

Fig. 3.8 Tabla de verdad de la función “OR”

Función “Y” O “AND” ( Producto lógico )


La función AND se caracteriza porque la salida es “1” solamente cuando todas las variables de entrada
son “1”, realiza pues el producto lógico

44
Los símbolos más generalizados para la representación de la función lógica “AND “ son:

Fig. 3.9 Símbolos generalizados de la función “AND”

Y su tabla de verdad es la siguiente:

Fig. 3.10 Tabla de verdad de la función “AND”

Función NOT (Negación, inversión o complemento)


Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra
colocada encima de la variable o función

Fig. 3.11 Símbolos generalizados de la función “NOT”

Y su tabla de verdad es la siguiente:

Fig. 3.12 Tabla de verdad de la función “NOT”

Función NOR (NO-O)


Si después de efectuar una operación “OR”, realizamos una inversión, obtendremos la función NO – O o
NOR.

45
Fig. 3.13 Símbolos generalizados de la función “NOR”

Su tabla de verdad es:

Fig. 3.14 Tabla de verdad de la función “NOR”

Función NAND ( NO – Y )
Si después de efectuar una operación AND, realizamos una inversión, obtenemos la función NO – Y o
NAND.

Fig. 3.15 Símbolos generalizados de la función “NAND”

Fig. 3.16 Tabla de verdad de la función “NAND”

Función OR – Exclusiva ( XOR )


La salida es “1” cuando las entradas están en distinto estado

46
Fig. 3.17 Símbolos generalizados de la función “XOR”

Fig. 3.18 Tabla de verdad de la función “XOR”

Función NOR – Exclusiva ( XNOR )


La salida es “1” cuando las entradas están en el mismo estado

Fig. 3.19 Símbolos generalizados de la función “XNOR”

Fig. 3.20 Tabla de verdad de la función “XNOR”

Función IGUALDAD
Se trata de una puerta lógica de igualdad, lo que quiere decir que su salida siempre tiene el mismo valor
que su entrada. Es utilizada como amplificador digital.

47
Fig. 3.21 Símbolos generalizados de la función “IGUALDAD”

Fig. 3.22 Tabla de verdad de la función “IGUALDAD”

3.4 DESARROLLO
 Ejecutar el software FST 4.10

 Seleccionamos PROJECT Y NEW

 Nombramos al proyecto

48
 Seleccionamos el tipo de PLC que se esté usando, en nuestro caso es FEC compact. Y se le da
algún comentario en COMMENT de así requerirlo.

 PROGRAM NEW

49
 Seleccionamos el lenguaje de programación, ya sea lista de instrucciones (AWL Ó STL) o
diagrama de escalera (LDR Ó KOP).

 Una vez seleccionado el lenguaje de programación aparecerá una ventana, la cual nos indicara
el número de programa, el cual debemos tener cuidado de que este en cero, pues cuando
cargamos el programa al PLC, este se carga con el número que seleccionamos, y cuando se
ejecuta en el PLC este siempre busca el programa número cero y de no encontrarlo despliega
un error.

50
 Damos OK y se despliega una pantalla en la cual vamos a estructurar nuestro programa

 Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar
nuestras entradas y salidas.

51
 Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar
nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá
lo siguiente:

Y como ya se ha visto, se nombran las entradas y las salidas según nos convenga.

52
 Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra
ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un
contador, podemos usar solo su símbolo de operación.

 Desarrollaremos un programa en el cual se visualizara la lógica NOT en lista de instrucciones y


diagrama de escalera.

STEP 1
IF N S0 ‘SENSOR 0 SI SE APAGA EL SENSOR 0
THEN SET Y6 ‘LED 6 ENTONCES PRENDE EL LED 6

STEP 2
IF NOP
THEN RESET Y6 ‘LED 6 RETORNA EL CICLO
JMP TO 1

NOTA
LA INSTRUCCIÓN “N” SE UTILIZA PARA PREGUNTAR SOBRE EL ESTADO DE UN SENSOR, Y LA INSTRUCCIÓN “NOP”
SE REFIERE A QUE NO HAY NINGUNA OPERACIÓN Y VA A EJECUTAR LO QUE ASÍ DEMANDE LA SENTENCIA

 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera

 Desarrollaremos un programa en el cual se visualizara la lógica AND en lista de instrucciones y


diagrama de escalera.

STEP 1
IF S0 ‘SENSOR 0 SI EL SENSOR 0
AND S1 ‘SENSOR 1 Y EL SENSOR 1
AND Y1 ‘ACTUADOR 1 Y EL ACTUADOR 1
ESTAN PRENDIDOS

53
THEN SET Y6 ‘LED 6 ENTONCES PRENDE EL LED 6

STEP 2
IF NOP RETORNA EL CICLO
THEN RESET Y6 ‘LED 6
JMP TO 1

 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera

 Desarrollaremos un programa en el cual se visualizara la lógica OR en lista de instrucciones y


diagrama de escalera.

STEP 1
IF S0 ‘SENSOR 0 SI EL SENSOR 0
OR S1 ‘SENSOR 1 O EL SENSOR 1
OR Y1 ‘ACTUADOR 1 O EL ACTUADOR 1
SE ACTIVAN
THEN SET Y6 ‘LED 6 ENTONCES PRENDE EL LED 6

STEP 2 RETORNA EL CICLO


IF NOP
THEN RESET Y6 ‘LED 6
JMP TO 1

54
 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera

 Desarrollaremos un programa en el cual se visualizara la lógica EXOR en lista de instrucciones y


diagrama de escalera.

STEP 1
IF S0 ‘SENSOR 0
EXOR S1 ‘SENSOR 1
THEN SET Y6 ‘LED 6

STEP 2
IF NOP
THEN RESET Y6 ‘LED 6
JMP TO 1

 Ahora desarrollaremos el mismo programa, pero en diagrama de escalera

55
56
CAPÍTULO 4
TEMPORIZADORES

4.1 INTRODUCCIÓN
Los temporizadores

Muchas funciones de control exigen la programación del tiempo. Ejemplo : En una máquina deberá
avanzar el cilindro B cuando el cilindro A haya vuelto a su posición normal.

Para efectuar la programación de una temporización, es necesario recurrir a ( submódulos )


temporizadores. Todos los controles lógicos programables contienen dichos submódulos de
temporización. Por lo general, los tiempos son configurados de modo digital, lo que significa que un
contador se encarga de contar cadencias. Un PLC cuenta las cadencias con la misma exactitud con la que
los relojes cuentan las oscilaciones de cuarzo. O, para ser más precisos: el PLC cuenta flancos positivos o
negativos de los pulsos secuenciales.

A modo de unidad básica se define o selecciona un determinado tiempo para las secuencias de los pulsos:

 Un milisegundo
 Una centésima de segundo
 Una décima de segundo
 Un segundo
 Un minuto

En el programa, los tiempos son confeccionados recurriendo a las unidades básicas respectivas, estando
limitada la duración del tiempo programable.

El control FEC permite programar 256 temporizadores (del 0 al 255).


Cada temporizador puede programarse desde 0.01 hasta 655.35 segundos.
Es posible programarlos como:

 Temporizador de impulso (T)


 Con retardo a la conexión (TON)*
 Con retardo a la desconexión (TOFF)*

*Directamente, sólo en diagrama de escalera

57
4.2 FUNCIONAMIENTO DE UN TEMPORIZADOR
Un temporizador está compuesto de los siguientes elementos:

 Valor nominal
 Valor efectivo
 Estado

El valor nominal indica el tiempo que deberá transcurrir en función del programa y expresado
mediante un número que indica la cantidad de cadencias que se haya seleccionado. El valor
nominal también puede ser igual a “0”; en este caso, el tiempo que se haya ajustado es igual
al valor efectivo.

El valor efectivo indica el valor instantáneo del temporizador. Los temporizadores pueden
contar hacia atrás o hacia adelante. El valor efectivo va cambiando respectivamente

El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya


preseleccionado o si aún está transcurriendo, pudiendo ser la señal respectiva “0” o “1”,
según tipo de PLC

En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo


sencillo. En él se ha ajustado un tiempo de 4 cadencias (es decir, por ejemplo, 4 veces 0,1

58
segundos). El número 4 es el valor efectivo y el conteo se produce hacia atrás hasta que se
alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los pulsos
secuenciales.

Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje de lista de


instrucciones (AWL), consta de varios elementos :

4.3 TEMPORIZADOR ESTÁNDAR


Los temporizadores estándar operan de la siguiente forma:

• El valor a ser contado es almacenado en el Timer Preselect (Preselección del


Temporizador )

• El temporizador se inicia:

• Con un valor (cero) 0 en la Timer Word (TWn=0)

• Se cambia el estado del Timer a activo (Tn=1)

• La cuenta actual puede ser lNCrementada o DECrementada

• Cuando la cuenta actual (TWn) es igual a (TPn) el Estado del Timer (Tn) cambia
a inactivo (Tn=0)

Los temporizadores están estructurados de la siguiente manera:

Como bit de estado (0= Inactivo 1= Activo)

4.3.1 INICIALIZANDO EL TIMER PRESELECT


Antes que un Timer estándar pueda usarse, el respectivo Timer Preselect debe primero ser
inicializado con un valor correspondiente al tiempo que deberá transcurrir según se
requiera.

No es necesario cargar de nuevo al Timer Preselect cada vez que el Timer es


arrancado.

59
Ejemplo:
Inicializando el Timer Preselect con un valor absoluto

STEP ##### ETIQUETA INICIAL


IF NOP SI NO HAY NINGUNA OPERACION
THEN LOAD V200 ENTONCES CARGA EL VALOR DE
200 EN EL
TO TP0 REGISTRO DEL TIMER

4.3.2 ARRANCANDO UN TIMER

Arrancar un temporizador solo requiere de una instrucción SET y especificar que timer debe
arrancarse:

STEP ##### ETIQUETA INICIAL


IF NOP SI NO HAY NINGUNA OPERACION
ENTONCES
THEN SET T0 ACTIVA EL TEMPORIZADOR

Siempre que la instrucción Set Tn sea ejecutada, ocurre lo siguiente:

1.- La respectiva Timer Word (TWn) es cargada con un cero 0.


2.- Tn (Timer Status n = estado del temporizador ) se vuelve activo 1

60
Este temporizador también llamado de impulso, se puede utilizar en diagrama de escalera, a
continuación se muestra cómo hacerlo:

Como parte ejecutiva (Inicialización):

61
Como parte condicional (Contactos):

Fig. 4.3 grafica de un temporizador

62
Fig. 4.3 grafica de un temporizador

En las dos graficas anteriores se puede observar que no importa si el temporizador se


mantiene prendido o apagado, lo que importa es el primer impulso.

4.4 TEMPORIZADOR CON RETARDO A LA CONEXIÓN


Este tipo de temporizador solo se puede programar en diagrama de escalera

Programación de temporizadores TON en Diagrama de Escalera (LDR)

Como parte ejecutiva (Inicialización):

63
Como parte condicional (Contactos):

A continuación se muestra la gráfica de un temporizador con retardo a la conexión

64
Fig. 4.4 Grafica de un temporizador TON

4.5 TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN

Este tipo de temporizador solo se puede programar en diagrama de escalera

Programación de temporizadores TOFF en Diagrama de Escalera (LDR)


Como parte ejecutiva (Inicialización):

Como parte condicional (Contactos):

65
A continuación se muestra la gráfica de un temporizador con retardo a la desconexión

Fig. 4.5 Grafica de un temporizador TOF

66
CAPÍTULO 5
CONTADORES

5.1 INTRODUCCIÓN
Los contadores

Los modelos de controladores que incorporan baterías de respaldo mantienen los valores de
Preselección del Counter, Bits de Estado y Words durante los períodos sin energía de red. Igualmente
con los nuevos equipados con EEPROM/ FLASH ó NVRAM.

Usando Counters Estándar

Un Counter Estándar es útil para conteo de eventos determinados y llevar luego a cabo una acción
deseada cuando se arribe a la cuenta predefinida.

5.2 CONTADORES EN LISTA DE INSTRUCCIONES


Los Counters estándar operan de la siguiente forma:

• El valor a ser contado es almacenado en el Counter Preselect (Preselección del


Contador)

• El Counter se inicia:

• Con un valor (cero) 0 en la Counter Word (CWn=0)

• Se cambia el estado del Counter a activo (Cn=1)

• La cuenta actual puede ser lNCrementada o DECrementada

• Cuando la cuenta actual (CWn) = preselect (CPn) el Estado del Counter (Cn) cambia
a inactivo (Cn=0)

5.2.1 INICIALIZANDO EL COUNTER PRESELECT


Antes que un Counter estándar pueda usarse, el respectivo Counter Preselect debe primero ser
inicializado con un valor correspondiente al número de eventos a ser contado.

67
Esta inicialización solo necesita ser realizada nuevamente si el valor para actividades de conteo
subsecuentes debe ser cargado.

No es necesario cargar de nuevo al Counter Preselect cada vez que el contador es arrancado.

Ejemplo:
Inicializando el counter preselect con un valor absoluto

STEP ##### ETIQUETA INICIAL


IF NOP SI NO HAY NINGUNA OPERACION
THEN LOAD V5 ENTONCES CARGA EL VALOR DE 5 EN EL
TO CP0 REGISTRO DEL COUNTER

5.2.2 ARRANCANDO UN COUNTER


Arrancar un contador solo requiere de una instrucción SET y especificar que counter debe arrancarse:

STEP ##### ETIQUETA INICIAL


IF NOP SI NO HAY NINGUNA OPERACION ENTONCES
THEN SET C0 ACTIVA EL CONTADOR

Siempre que la instrucción Set Cn sea ejecutada, ocurre lo siguiente:

1.- La respectiva Counter Word (CWn) es cargada con un cero 0.


2.- Cn (Counter Status n = estado del contador) se vuelve activo 1

68
5.3 CONTADORES EN DIAGRAMA DE ESCALERA

A continuación se mostrara como utilizar el contador en diagrama de escalera

 Posicionarse en VIEW y seleccionar SHORTCUTS

69
 Una vez que tengamos la barra de herramientas SHORTCUTS, seleccionamos nuestro
contador.

 Este aparecerá de la siguiente manera.

 Como ya tenemos nuestra ALLOCATION LIST, solo ponemos el operador absoluto (C0..C255) y
automáticamente aparecerá el comentario.

 En este caso no es necesario tener en nuestra ALLOCATION LIST la preselección del contador
(Counter Preselect CP0..CP255), ya que esta se pone directamente en el representativo del
contador.

70
Como parte ejecutiva (Inicialización):

Es posible desactivar el bit de estado de un contador, por ejemplo, en caso de un reinicio de


sistema, o antes de comenzar la secuencia.

71
Como parte condicional (Contactos):

5.4 COMANDOS INC Y DEC

Para poder hacer que nuestro contador registre un INCremento o DECremento hacemos lo
siguiente:

 Seleccionamos una bobina y la nombramos con el nombre del operador absoluto del contador
que queremos INCrementar o DECrementar.

72
 Y para seleccionar el INCremento o DECremento nos colocamos en nuestra barra de
herramientas, seleccionamos el icono y damos clic consecutivamente hasta que aparezca una
D o una I haciendo referencia a decremento o incremento respectivamente.

Decremento Incremento

Estos se van a activar igual que el contador. Cuando se cierren todos los contactos abiertos y los
contactos normalmente cerrados permanezcan en ese estado.

5.5 DESARROLLO

 En la siguiente imagen se puede visualizar como luce la pantalla en la cual vamos a estructurar
nuestro programa.

73
 Antes de empezar nuestro programa hay que abrir nuestra ALLOCATION LIST para nombrar
nuestras entradas y salidas.

 Una vez seleccionada la ALLOCATION LIST se despliega una pantalla en la cual vamos a nombrar
nuestras entradas y salidas. Esto lo vamos a lograr dando doble clic sobre la pantalla, y aparecerá
lo siguiente:

74
 Aquí tenemos nuestra ALLOCATION LIST

 Ahora si estamos listos para empezar a desarrollar nuestro programa. Como ya tenemos nuestra
ALLOCATION LIST, cuando queramos hacer referencia a una entrada o salida e incluso a un
contador, podemos usar solo su símbolo de operación.

 Nuestro programa está estructurado de tal manera que se pueda visualizar el uso de un
contador.
Así que nuestro programa hace lo siguiente:
Se simula el uso de dos pistones los cuales hacen la función de sacar un producto X de un almacén
que está alimentando una banda transportadora. El producto baja a la banda gracias a la gravedad.
Con el pistón dos, se hace la función de acomodar el producto. Pasa un tiempo y el producto llega
a su destino y un pistón tres lo saca de la banda que lo transporta y un cuarto pistón lo vuelve a
acomodar en el destino al cual ha llegado. Esta operación se hace solo cinco veces ya que se sabe
que solo hay capacidad para cinco paquetes.
Cuando se ha cumplido que los cinco paquetes han sido acomodados se despliega una alarma
simulado por la salida cero.

75
76
77
CAPÍTULO 6
REGISTROS Y FLAGS

6.1 REGISTROS

Los controles programables FESTO que pueden programarse utilizando el lenguaje AWL,
poseen un número de registros de 16 bits. La cantidad exacta de estos registros varía según
el modelo de FPC.

Estos registros son operandos multibit que pueden utilizarse para almacenar números en la
gama de :

* 0 – 65535 Enteros sin signo

* +/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los
periodos de desconexión. Los registros que no han sido nunca inicializados contendrán un valor
aleatorio.

Los Registros ( Registers ) son generalmente utilizados con la instrucción LOAD TO y en operaciones
lógicas multibit. Los Registros no pueden direccionarse directamente bit a bit. Si se requiere acceder a
un determinado bit, será más adecuado utilizar Flag Words.

Los registros también pueden utilizarse para simplificar procesos secuenciales dentro de una sección de
programa de exploración simple, como alternativa a la instrucción STEP

6.1.1 CARGANDO UN REGISTRO


Para asignarle una cantidad de referencia a un registro, hay que hacer el mismo procedimiento que en
el caso de un temporizador o un contador.

Con la diferencia de que este no se va a prender ni apagar, solo es una referencia, a la cual podemos
se le puede asignar algún valor y preguntar por ella, compararla con algún número o algún otro registro
según sea el caso y la conveniencia del programador.

78
IF NOP
THEN LOAD V5
TO R0

En este caso se le está asignando un número de cinco al registro cero

Utilización de Registros en la parte condicional de una frase

Utilización de Registros en la parte ejecutiva de una frase

79
6.2 REGISTROS EN DIAGRAMA DE ESCALERA

Como parte ejecutiva (Inicialización):

Previo a la inicialización del registro se le debe asignar un valor inicial, ya sea que el registro inicie en
cero y a partir de ahí comenzar el conteo o de un número determinado y a partir de este número
comenzar el decremento del registro, esto se va a utilizar según sea nuestra situación.

 Se selecciona la casilla de “Multi-bit operation”

 Y seleccionamos “LOAD TO” ó “TO”

80
 Y de esta forma le asignamos un valor inicial al registro

 El registro se puede cargar en cualquier paso del programa y según sean nuestras
condiciones.

Es posible desactivar el bit de estado de un registro, según sea el caso.

Como parte condicional (Contactos):

81
6.3 COMANDOS INC Y DEC PARA UN REGISTRO

Es posible INCrementar ó DECrementar el registro en cualquier paso de nuestro programa y atendiendo


a nuestras condiciones.

82
6.4 FLAGS

Bits internos (banderas) Una bandera es un bit interno de control, el cual también se conoce como:

 Marca

 Recordador

 Relevador interno

83
Las banderas se utilizan como:

 Detectores de flanco

 Recordadores de paso

 A nivel palabra, como memorias de estados operativos del proceso

 Aplicaciones en donde se requiere memorizar ciertos eventos (por ejemplo, en un teclado display)

La forma de utilizar las banderas en un programa de control puede resumirse como a continuación se
indica:

 La bandera no está activada

 Se activa la bandera

 Se utiliza la señal de la bandera

 Se desactiva la bandera

Están organizadas en 10,000 palabras de 16 bits

Direccionamiento a nivel palabra: FW0

Direccionamiento a nivel bit: F1.12

84
Fig. 6.1 Estructura de las FLAGS

6.4.1 SIMILITUDES CON OTROS OPERANDOS MULTIBIT


Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idénticos a los Registros. Cada Flag Word
contiene 16 bits de información. Cuando son referenciados como unidades de 16 bits ( MBO / Multibit
Operands ), se utiliza el término Flag Word. Los Flag Word son capaces de almacenar datos numéricos
en la gama

0 – 65535 Enteros sin signo

+/- 32767 Enteros con signo

Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los
periodos de desconexión. Los Flag Word que no han sido nunca inicializados contendrán un valor
aleatorio.

Los Flag Word difieren de otros operandos multibit en varios puntos importantes

6.4.2 DIFERENCIAS CON OTROS OPERANDOS MULTIBIT


1.- La mayor diferencia entre los Flags Words y los demás operandos multibit tales como Registros,
Palabras de Contador, etc. Es que cada uno de los 16 bits de que consta un Flag Word puede
direccionarse como bit independiente. Por ejemplo el FPC 202 C contiene 16 Flag Words,
direccionados desde FW0 hasta FW15

También es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag Word, utilizando la
sintaxis:

85
F (número de Flag Word). Número del bit donde el número de bit está entre 0 y 15

Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento es similar al utilizado
con las E / S digitales.

Mientras que los Flag Words pueden utilizarse con cualquier instrucción AWL adecuada para operandos
multibit, los Flags individuales sólo son accesibles utilizando instrucciones adecuadas para los operandos
monobit

Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para memorizar eventos.
En este aspecto, son similares a los “relés internos” frecuentemente citados en el lenguaje de Diagrama
de Contactos

2.- Los modelos de FPC que permiten varios módulos de CPU ( Multiproceso ), permiten que cualquier
programa en cualquier CPU pueda acceder a los Flags de cualquier otra CPU. Esto es, cada CPU es capaz
de leer desde o escribir hacia los Flags de otra CPU

Por esta razón, los Flags proporcionan el medio adecuado para intercomunicar datos entre CPUs. En
tales sistemas de múltiples CPUs, cada Flag es referenciado como:

FW. Número de la CPU. Número de Flag Word

Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2

De la misma forma también es posible direccionar Flags en forma monobit en otras CPUs, extendiendo
la sintaxis de direccionamiento:

F. núm. De CPU. Núm.de Flag Word. Núm. Del bit

Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de la CPU 0

Los Flags individuales (así como los Flag Words ) pueden programarse indistintamente en la parte
condicional o en la ejecutiva de una frase. En la parte condicional pueden ser interrogados por su estado
(0 = inactivo, 1 = activo ); mientras que los Flag Words pueden compararse con valores u otros MBOs

Ejemplos en la parte Condicional

86
Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse con otros
operandos

Ejemplos en la parte Ejecutiva

En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o destino de cualquier
instrucción multibit

6.5 FLAGS EN DIAGRAMA DE ESCALERA


Tal como se ha mencionado anterior mente los bits internos también llamados banderas tienen mucha
similitud con otros operandos y al igual que ellos también tiene parte ejecutiva y parte condicional,
como lo veremos a continuación.

La bandera es una bobina virtual y como tal se selecciona una variable de salida.

87
Una vez seleccionada la variable se procede a nombrarla para así de esta manera hacer notar que es
una bandera y la estamos utilizando a nivel bit.

Y de esta forma tenemos la bandera Como parte ejecutiva (Inicialización):

Es posible desactivar el bit de estado de una bandera, por ejemplo, sea el caso de hacer memoria
de un evento.

88
La bandera Como parte condicional (Contactos):

CAPÍTULO 7

MÉTODOS DE PROGRAMACIÓN
7.1 DIAGRAMA ESPACIO-FASE
Cuando se ésta programando se debe tener en cuenta que podemos encontrarnos con algún problema
de sincronía, que es originado cuando se tienen condiciones similares en alguna parte del programa, y
como recordaremos que un programa en diagrama de escalera se ejecuta de forma simultánea. En el
caso de la programación en lista de instrucciones no se tiene este problema ya que la ejecución de este
es en forma ordenada. Pero no queda exentó de poder aplicarle algún método de programación.

89
El diagrama espacio-fase sirve para poder visualizar como se van a accionar los actuadores atendiendo a
las condiciones de las señales de entrada. Esto se puede visualizar con la siguiente ecuación de
movimiento.

A+A-B+B-
Sabiendo que se requerirán dos cilindros de doble efecto y dos válvulas biestables. Como se muestra a
continuación.

Fig. 7.1 Representación de dos cilindros de doble efecto y dos válvulas biestables.

Y haciendo su lista de asignaciones como se muestra a continuación.

S0 Pulsador I0.4
E A0 Cilindro A en I0.0
N reposo
T A1 Cilindro A I0.1
R expandido
A B0 Cilindro B en I0.2
D reposo
A B1 Cilindro B I0.3
S expandido

S Y1 Avanza el O0.0
A cilindro A
L Y2 Retrocede el O0.1
I cilindro A
D Y3 Avanza el O0.3
A cilindro B
S Y4 Retrocede el O0.4
cilindro B

90
Ahora procedemos a desarrollar el diagrama espacio-fase

Fig. 7.2 Diagrama espacio fase

El diagrama espacio-fase ésta distribuida de la siguiente manera

De la ecuación de movimiento en el diagrama espacio-fase solo se van a registrar los cambios de


estado, es decir tanto B como A van a partir del reposo de ahí en el primer paso del programa se indica
que el cilindro A pasara a su posición expandida y en el siguiente paso el cilindro A quedara retraído, el
cilindro B se mantendrá en su posición original hasta el momento en que la ecuación de movimiento
indica que el cilindro B se activara para alcanzar una posición expandida, y en el siguiente paso el
cilindro B regresara a su posición original.

Del diagrama espacio-fase nos encontramos con un problema de sincronía que se encuentra
demarcado en rojo y a estos los llamaremos “renglones repetidos”.

Esto también se puede visualizar en la siguiente tabla de entradas y salidas I/O

ENTRADAS SALIDAS
A0 A1 B0 B1 Y1 Y2 Y3 Y4
I 1 0 1 0 1 0 0 1
II 0 1 1 0 0 1 0 1
III 1 0 1 0 0 1 1 0
IV 1 0 0 1 0 1 0 1

91
A continuación se presenta el programa desarrollado en diagrama de escalera y en el cual nos
encontramos con el problema de sincronía

7.2 METODO DE LA BANDERA


Para aplicar el método de la bandera se tiene que tomar en cuenta lo siguiente:

 Definir la ecuación de movimiento


 Hacer el diagrama espacio-fase
 Determina que se encuentra con un problema de sincronía
 Realizar el programa

Una vez que tenemos detectado el problema de sincronía aplicamos el método de la bandera. Sus pasos
dictan lo siguiente:

92
1.- En base al diagrama espacio-fase se determinan los renglones repetidos. Los renglones repetidos se
refiere al problema de sincronismo, que es cuando las condiciones se repiten y de esta forma no se
puede hacer la programación de manera común.

2.- Preguntar en el primer renglón repetido que la bandera no se encuentra presente, esto haciendo
referencia a un contacto normalmente cerrado

3.- Preguntar en el segundo renglón repetido que este activa la bandera, esto haciendo referencia a un
contacto normalmente abierto.

4.- Un paso antes de encontrar el segundo renglón repetido, activar la bandera y un paso después de
este mismo desactivar la bandera.

Ejemplo

Seguiremos trabajando con la misma ecuación de movimiento

93
 DEFINIR LA ECUACION DE MOVIMIENTO
A+A-B+B-

 HACER EL DIAGRAMA ESPACIO FASE

 DETERMINAR QUE SE ENCUENTA CON UN PROBLEMA DE SINCRONIA

 REALIZAR EL PROGRAMA

94
7.3 METODO ESTRUCTURADO

Este método nos ayuda a facilitar la programación, especialmente en diagrama de escalera.


Los pasos a seguir son los siguientes:

1.- Se hace memoria utilizando una bandera

2.- Se prepara el siguiente paso

95
3.- Se hace el movimiento

4.- Borrar el paso anterior

Nota

El primer paso lleva todas las banderas negadas a excepción de la primera y la última bandera

Para poder visualizar mejor este método desarrollaremos un programa que haga lo siguiente:

Encender y apagar una lámpara con el mismo botón

96
97
7.4 METODO SECUENCIAL PASO A PASO

Un sistema secuencial es aquel que se ejecuta en un orden cronológico y lógico. Por lo que se requiere
que la programación se lleve a cabo tomando en cuenta lo ya mencionado, y para esto se propone un
método secuencial PASO A PASO para tal fin.

Definir tantas banderas como pasos existan en la secuencia. Por ejemplo: F0.1 = Paso1, F0.2 =
Paso2, etc., en la lista de asignaciones.

En la sección de control, activar las “bobinas” de dichas banderas tomando en cuenta la información
proporcionada por el diagrama de funciones.

Activación del paso 1

 El paso 1 se activará cuando:


 No esté activado el paso 1
 Se cumplan las condiciones de este paso
 Y no se halla activado el último paso
 Todos los pasos, a excepción del último se activarán de manera memorizada o retentiva.

Activación de los siguientes pasos

Los siguientes pasos se activarán si:

 Se cumplen las correspondientes condiciones y siempre y cuando el paso anterior ya esté


activo.
 El encendido de dicha bandera (paso) se hará de manera retentiva o memorizada.

Activación del último paso

El último paso se activará cuando:

 Se cumplan las condiciones de este paso


 Y el paso anterior ya esté activado
 Este último paso se activará de manera NO Retentiva, este desactivara el primer paso.

98
A grandes rasgos el método dicta lo siguiente

 Hacer memoria
 Preparar el siguiente paso
 Hacer el movimiento

Para verificar el funcionamiento de este método se propone un ejercicio.

De la siguiente ecuación de movimiento realizar un programa utilizando el método secuencial

A+B+B-C+C-A-

99
100
CAPÍTULO 8
FUNCIONES AVANZADAS DE UN P.L.C

8.1 MULTITAREA

Multitarea es el término utilizado para una ejecución “Simultánea” de un número de tareas distintas.

La multitarea le permite organizar el proyecto en secciones de programas utilizando Técnicas de


Programación Modular. El programa del PLC puede estar compuesto por varias partes, cada una de las
cuales es, de hecho, un programa. Estos programas tienen varias funciones.

La ventaja de este método de trabajo es que se incluyen estructuras más claras de programa y además,
los tiempos de ciclo son más cortos.

Con la multitarea es fácil programar diferentes modos de operación y además es posible llamarlos en
cualquier momento y ejecutarlos de manera paralela con el programa principal.

8.1.1 Términos asociados con la Multitarea

Con la multitarea, podemos utilizar varios programas en el proyecto. Estos programas se ejecutarán en
paralelo con el programa principal cuando sean llamados. Éstos se numeran como: P1, P2, etc.

Además de los programas, también se utilizan los módulos. Generalmente utilizados como subrutinas.
Existen dos tipos de módulos:

• CFM – Llamada a Módulo de Función (Call Function Module)


• CMP – Llamada a Módulo de Programa (Call Module Program)

101
Fig. 8.1 Estructura de la multitarea

8.1.2 CFM – Llamada a Módulo de Función (Call Function Module)

La instrucción de Llamada al Módulo de Función se utiliza para solicitar la ejecución de una rutina
externa. Los módulos de función se pueden considerar como llamadas a funciones especiales.

Cuando se invoca un CFM, la función se activará y se ejecutará junto con el programa principal, el cual
seguirá ejecutándose. La función se ejecuta en paralelo.

Estos CFM están disponibles desde el programa, y para tener una mejor referencia abra el archivo de
Ayuda para obtener información del método de llamada del CFM.

Para insertar un módulo:

 De un clic derecho en CFM en el árbol del proyecto (“Project Tree”)


 De un clic en “Import”
 Aparecerá una ventana de diálogo con los módulos predefinidos.

102
 Elija el módulo que desee emplear.
 De un clic en “OK”
 El módulo elegido estará en el proyecto.

8.1.3 CMP – Llamada a un Módulo de Programa (Call Module Program)

La instrucción de llamada a un Módulo de Programa se utiliza para solicitar la ejecución de una rutina
externa. Los módulos de programa pueden considerarse como subrutinas.
Cuando se invoca a un CMP, el programa principal se detiene y permanecerá en el paso en que fue
invocado el CMP y la subrutina se activará. Sólo cuando la subrutina se haya completado, regresará el
control al programa principal en el punto en el que se quedó.

Llamada de módulos

Para llamar a los módulos, solo añada al paso las instrucciones “THEN CFM x” o “THEN CMP x” donde “x”
es el número del módulo.

103
8.2 DESARROLLO

Cree un programa para encendido intermitente (“Blinking”). Éste puede ser un CFM o un CMP.

STEP start
IF start ‘boton de inicio
THEN SET P1 ‘carga los parametros
SET lampara

STEP blink
IF NOP
THEN CFM 0 ‘BLINK
LOAD FU32
TO FW10

STEP 1
IF F10.0 ‘0.25s transcuridos
THEN SET lampara
OTHRW RESET lampara
JMP TO 1

Puede utilizar la palabra de banderas 10 (FW10). Donde se almacenaran los bits del módulo “blink”. Y se
ocupara “F10.0” en la cual se encuentra el bit que ocupamos según la tabla siguiente.

 Creamos el programa principal

104
 habilitamos el módulo de funciones que necesitemos, en este caso el modulo “blink”.
Para lograr esto, nos colocamos en el árbol de proyectos y nos ubicamos en “CFM”,
damos clik derecho Y SELECCIONAMOS “Import”

 Seleccionamos el modulo “BLINK”

105
 Ahora creamos nuestro programa auxiliar

 Seleccionamos “New Program”

 Y seleccionamos la forma de programar de nuestro programa auxiliar. Y realizamos


nuestro programa.

106
 Para carga el programa principal los programas auxiliares y el módulo de funciones,
tenemos que selecciónalos con una paloma como se muestra.

Y así es como tenemos un programa haciendo uso de módulo de funciones y programas


auxiliares “Multitareas”

107
8.3 VISUALIZACIÓN DE DATOS EN EXCEL

8.3.1 INTERCAMBIO DINÁMICO DE DATOS DDE


-DDE (Dynamic Data Exchange) (Intercambio Dinámico de Datos): Es un protocolo de intercambio de
información desarrollado por Microsoft. El protocolo DDE es un conjunto de mensajes e instrucciones.
Se ocupa de enviar mensajes entre distintas aplicaciones que comparten memoria.

En el caso de los automatismos tendríamos un PLC conectado a una red, Ethernet, Serie, etc. En un PC
tendremos instalado un servidor DDE, que se encargará de establecer comunicación con nuestra red
industrial (Ethernet, serie,etc.), mediante diversos protocolos (can, Modbus, Ina2000, profibus, etc.). El
servidor solicita información a 3 niveles (Lista de dispositivos, Lista de estaciones, Lista de variables).
Imaginemos que tenemos 4 máquinas, cada una de las máquinas está compuesta por 3 PLCs y en cada
PLC hay 3 variables que queremos compartir con un cliente DDE (por ejemplo una hoja de cálculo de
Excel). Tendremos en total 36 etiquetas que queremos plasmar en nuestra hoja de cálculo. Una vez que
tenemos todas estas variables etiquetadas en nuestro servidor DDE, el cliente DDE sólo tendrá que
llamar a cada una de las etiquetas.

Como particularidad podremos destacar el servidor fast DDE que B&R ha desarrollado para permitir el
intercambio de datos de un modo sencillo con Intouch de Wonderware.

8.3.2 OLE (Object Linking and Embedding)


-OLE (Object Linking and Embedding): Antes de hablar de OPC, haremos una pequeña parada para
aclarar que es un Objeto OLE.

El Objeto OLE de algún modo actualiza la tecnología DDE. Un objeto OLE permite vincular o incrustar una
aplicación dentro de otra, de modo que el intercambio de datos entre ambas aplicaciones es inmediata.
Por ejemplo podríamos incrustar una hoja de cálculo dentro de un informe en 108xce, de este modo
podemos tener un gráfico incrustado en nuestro informe creado en 108xce. Por lo tanto cuando
cambiamos los datos, el gráfico cambia automáticamente, no es necesario copiarle nuevamente y
pegarle como una imagen estática dentro de nuestro documento. De este modo se simplifica el trabajo y
no es necesario estar abriendo y cerrando aplicaciones constantemente, evitando así mismo errores en
el proceso.

108
8.3.3 OPC (Ole for Process Control)
-OPC (Ole for Process Control): La revolución industrial que estamos viviendo en los últimos años hizo
necesario establecer una herramienta abierta, que permitiese una mayor flexibilidad y efectividad al
intercambio de información. De este modo en 1995 un grupo de fabricantes junto con Microsoft
plantearon la posibilidad de crear una especificación abierta que estandarizara la comunicación para la
adquisición de datos, de alarmas y eventos, de datos históricos y de paquetes. De este modo surge un
estándar basado en tecnología OLE/COM, comunicación tipo servidor-cliente, que permite ligar de una
forma abierta el hardware de diversos fabricantes sin necesidad de crear un driver específico para cada
equipo.

Al igual que ocurría en el protocolo DDE, en este caso también tenemos que enrutar la información que
queremos compartir en niveles a modo de 109xcel, al estilo del explorador de 109xcel109s. Así,
tendremos que declarar una etiqueta, que corresponderá a una variable contenida en un dispositivo
concreto (Dispositivo, Estación, variable). El estándar OPC permite agrupar nuestras etiquetas en
distintos grupos. De este modo en nuestro servidor OPC tendremos grupos, subgrupos y elementos
“109xcel”. Cualquier cliente OPC podrá acceder a los 109xcel contenidos en el servidor OPC. Al ser OPC
una especificación abierta, encontramos multitud de fabricantes de software que disponen de muchas
herramientas OPC ya programadas para las necesidades que surgen en el día a día de la gestión de la
información de planta. Por ejemplo servidores OPC multifabricante, clientes OPC para documentos
109xcel, para vincular los datos del servidor OPC con bases de datos ODBC, etc.

8.3.4 VENTAJAS DE OPC FRENTE A DDE


 OPC es más rápido: Al ser DDE basado en texto y OPC un objeto OLE y por lo tanto binario es un
modo de intercambio de datos más rápido.
 La especificación OPC es más rigida y por lo tanto tiene una mejor interoperabilidad
independientemente de quien desarrolla las herramientas.
 OPC soporta múltiples clientes.
 OPC es un objeto OLE por lo tanto está más actualizado que el arcaico protocolo DDE de Microsoft.
 OPC está desarrollado por Microsoft, pero en conjunto con un grupo de fabricantes de equipos y
software para la automatización, por lo tanto está mejor concebido para aplicaciones de control de
procesos y planta y todos los avances en este campo vendrá de la mano de estos fabricantes, por lo
tanto siempre mantendrá su carácter abierto.
En las próximas entradas seguiremos la misma línea del blog, pero vamos a adentrarnos en unos
equipos peculiares a la vez que tecnológicamente ultra avanzados. Hablamos de B&R, tan envidiado
como desconocido.

109
8.4 DESARROLLO

Se realizara un programa, el cual va utilizar un registro que nos ayudara a llevar el conteo de los eventos
a visualizar en Excel.

El programa es el siguiente:

STEP 0

IF NOP

THEN LOAD V0

TO R0 ‘REGISTRO

STEP 1

IF NOP

THEN SET T1 ‘tiempo 1

LOAD V200

TO TP1

STEP 2

IF N T1 ‘tiempo 1

THEN SET O0.0 ‘salida 1

STEP 3

IF NOP

THEN SET T1 ‘tiempo 1

STEP 4

IF N T1 ‘tiempo 1

THEN RESET O0.0 ‘salida 1

110
INC R0 ‘REGISTRO

JMP TO 1

 Una vez cargado el programa en el PLC y verificando el correcto funcionamiento Ejecutamos el


programa IPC DATA SERVER

 Así luce la ventana del programa

 Seleccionamos Config y aquí seleccionamos la comunicación, si va a ser vía Ethernet o vía serial.
En nuestro caso es comunicación serial RS-232

111
 Una vez seleccionado el protocolo de comunicación nos aparece la siguiente ventana

 Seleccionamos Config y aquí seleccionaremos el puerto COM en el cual esta nuestro PLC.

112
 Debe aparecer la leyenda FESTO IPC V2.22. esto nos indica que la comunicación se ha
establecido.

 Y se debe poner en “1” la leyenda demarcada con el ovalo verde

 Una vez establecida la comunicación abrimos una hoja de cálculo de Excel.

 Ya estando en Excel nos posicionamos en cualquier celda de la hoja de cálculo. En ella vamos a
colocar la siguiente formula =FPC_DATA|FPC_1!’R0’. Si es el caso de que la comunicación sea
vía Ethernet entonces se coloca =IPC_DATA|IPC_1!’R0’

La fórmula indica lo siguiente; que se ejecutara el programa IPC DATA SERVER, que se transmitirán datos
de la posición FPC_1, y que la información transmitida va a ser la del registro cero “R0”

En la siguiente tabla se muestra que tipo de variable es la que queremos escanear ya sea un registro,
bandera, temporizador etc.

113
Así se visualizan los datos en Excel. Se subraya en rojo la formula mencionada,

En la casilla C2 de Excel se puede ver que se lleva el conteo del registro cero.

En la casilla C3 se puede visualizar cuando se activa la salida cero. La fórmula es la siguiente;


=FPC_DATA|FPC_1!A0.0

114
8.5 MODIFICACIÓN DE DATOS DE UN P.L.C. DESDE EXCEL
 Ahora procedamos a cambiar datos desde la hoja de cálculos Excel
Antes de proseguir tenemos que tener en cuenta que vamos a usar la herramienta de Visual Basic, y
para esto tenemos que tener activado el menú de PROGRAMADOR.

Otra opción sería oprimir las teclas Alt +F11 y de esta forma se ejecutaría Visual Basic

 Si es el caso de no tener el menú de PROGRAMADOR activo se hace lo siguiente

 Para acceder a esta función seleccionamos Archivo, Opciones

115
 Ya estando en las opciones de Excel, seleccionamos “Personalizar cinta de opciones” y aquí
habilitamos la opción de “Programador”

 Creamos un botón para así poder mandar datos desde una casilla de Excel.

116
 Una vez que ya tenemos el botón en la hoja de calculo damos clic fuera del botón hasta que este
quede deseleccionado, posicionamos el puntero en el botón y damos click derecho sobre el
botón

 Seleccionamos “PROPIEDADES”. En este menú podemos configurar el menú según nuestro


gusto. Aquí solo cambiaremos el nombre a nuestro botón “DDE-PLC”

117
 Ahora abrimos la herramienta Visual Basic y escribimos los siguientes comandos

Private Sub CommandButton1_Click()

Channel = Application.DDEInitiate(“Fpc_data”, “Fpc_1”)

Application.DDEPoke Channel, “A0.1”, Sheets(“HOJA1”).Range(“E5”)

Application.DDETerminate Channel

End Sub

118
 Se entra en el modo diseñador. Una vez que esta echo nuestro programa, salimos de modo
programado y depuramos el programa

En uno de los óvalos se puede observar la herramienta diseñador y también la opción “DEPURAR”.
Se sale del modo programador y se selecciona depurar y luego compilar

 Ya que tenemos compilado nuestro programa y no se generó ningún error procedemos a


ejecutar el programa.

 El programa indica lo siguiente; se abrirá comunicación con el programa “IPC DATA SERVER” se
enviaran datos por “FPC_1”, en el PLC se prendera la salida “AO.1” (O0.1), los datos que se
transmitan deben estar contenidos en la celda “E5” de la “HOJA1”

119
Cuando la celda tenga el valor de “1” y se envié este dato, la salida uno del PLC se prendera. Cuando la
celda contenga el valor de “0” y sea enviado este dato, la salida uno se apagara.

120
CAPÍTULO 9

9.1 CONCLUSIONES

Como resultado de este trabajo se determinó que cualquier persona interesada en el tema de
automatización con controladores lógicos programables (P.L.C.) puede adquirir conocimiento en
este tema de una forma introductoria, pero también puede llevar acabo funciones avanzadas de
un P.L.C. ya que se dan bases sólidas para que pueda ejercer estas funciones.

De esta manera se busca que los estudiantes de ingeniería interesados en este tema, encuentren
en este curso una forma muy útil y práctica de conocer todos los alcances que puede tener un
P.L.C. y así tener herramientas para el mundo laboral.

121
9.2 BIBLIOGRAFIA
Libros

Manuel Álvarez pulido


Controladores lógicos
MarcomboBoixareu Editores

Robert L. Boylestad
Análisis introductorio de circuitos
Trillas

Benjamin C. Kuo
Sistemas de control digital
CECSA

Chi Tsong Chen


Analog & Digital Control System Design
CHEN

John J. Craig
Robótica
Prentice Hall

Ramón Piedrafita Moreno


Ingeniería de la automatización industrial Alfa-
Omega

Salvador Millán
Automatización neumática y electroneumática
Norgren

Juan Pedro Romera Ramírez


Automatización - Problemas Resueltos con Autómatas Programables
Paraninfo

Juan Pérez Cruz


Automatización de maniobras industriales Alfa-
Omega

Katsuiko Ogata
Ingeniería de control moderna
Prentice Hall

122
MANUALES
Controles lógicos programables nivel básico TP-301/2000 FESTO

CURSOS
Automatización y control eléctrico I: programación básica de PLC´s
Impartido en el periodo 2011-II
Con una duración de 20 horas
Centro de Cómputo de la Facultad de Estudios Superiores Cuautitlán

Automatización y control eléctrico II: Dispositivos de potencia


Impartido en el periodo 2012-I
Con una duración de 20 horas
Centro de cómputo de la facultad de estudios superior

DIPLOMADO

SISTEMAS MECATRÓNICOS:

*Programación de funciones avanzadas de un PLC para la automatización de procesos


industriales
*Sistemas modulares de producción
*Sistemas de servo posicionamiento industrial
*Programación y aplicación de robots industriales

Tlalnepantla, Estado de México


Con una duración de 96 horas
reg. S.T. y P.S.: 710301001013
FESTO DIDACTIC

123

También podría gustarte