capítulo 5 - Universidad Nacional Autónoma de México

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
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 COMPONENTES DE UN SISTEMA DE CONTROL CON P.L.C
1.2 CONEXIÓN DE ENTRADAS Y SALIDAS
1.2.1 CONEXIÓN DE ENTRADAS
1.2.2 CONEXIÓN DE SALIDAS
1.2.3 EL CONTACTOR
1.2.3.1FUNCIONAMIENTO DEL CONTACTOR
1.2.3.2 CONTACTOS AUXILIARES
1.2.3.3 CIRCUITO DE POTENCIA O FUERZA
1.2.4 CONEXIÓN ELÉCTRICA DEL CONTROL FEC
1
2
6
6
8
8
12
15
17
18
CAPÍTULO 2 USO DEL SOFTWARE
2.1 INTRODUCCIÓN
2.2 EJECUCIÓN DEL SOFTWARE
2.3 ESTRUCTURA DE PROGRAMACION EN LISTA DE INSTRUCCIONES
2.4 REGLAS DE EJECUCIÓN DE UN PASO
2.5COMANDOS
2.6 DESARROLLO
19
22
27
29
31
32
CAPÍTULO 3 LÓGICA DE CONTACTOS
3.1 INTRODUCCIÓN
3.2 ELEMENTOS DE ENTRADA Y SALIDA
3.2.1 ELEMENTOS DE ENTRADA
3.2.2 ELEMENTOS DE SALIDA
39
40
40
41
3.3 FUNCIONES LÓGICAS
3.4 DESARROLLO
42
48
CAPÍTULO 4 TEMPORIZADORES
4.1 INTRODUCCIÓN
4.2 FUNCIONAMIENTO DE UN TEMPORIZADOR
4.3 TEMPORIZADOR ESTÁNDAR
4.3.1 INICIALIZANDO EL TIMER PRESELECT
4.3.2ARRANCANDO UN TIMER
4.4 TEMPORIZADOR CON RETARDO A LA CONEXIÓN
4.5 TEMPORIZADOR CON RETARDO A LA DESCONEXIÓN
57
58
59
59
60
63
65
CAPÍTULO 5 CONTADORES
5.1 INTRODUCCIÓN
5.2 CONTADORES EN LISTA DE INSTRUCCIONES
5.2.1 INICIALIZANDO EL COUNTER PRESELECT
5.2.2 ARRANCANDO UN COUNTER
5.3 CONTADORES EN DIAGRAMA DE ESCALERA
5.4 COMANDOS INC Y DEC
5.5 DESARROLLO
67
67
67
68
69
72
73
CAPÍTULO 6 REGISTROS Y FLAGS
6.1REGISTROS
6.1.1 CARGANDO UN REGISTRO
6.2 REGISTRO EN DIAGRAMA DE ESCALERA
6.3 COMANDOS INC Y DEC PARA UN REGISTRO
6.4 FLAGS
6.4.1 SIMILITUDES CON OTROS OPERANDOS MULTIBIT
6.4.2 DIFERENCIAS CON OTROS OPERANDOS MULTIBIT
6.5 FLAGS EN DIAGRAMA DE ESCALERA
78
78
80
82
83
85
85
87
CAPÍTULO 7 MÉTODOS DE PROGRAMACIÓN
7.1 DIAGRAMA ESPACIO-FASE
7.2 MÉTODO DE LA BANDERA
7.3 MÉTODO ESTRUCTURADO
7.4 MÉTODO SECUENCIAL (PASO A PASO)
89
92
95
98
CAPÍTULO 8 FUNCIONES AVANZADAS
8.1 MULTITAREA
8.1.1 TÉRMINOS ASOCIADOS CON LA MULTITAREA
8.1.2 CFM LLAMADA A MÓDULO DE FUNCIONES
8.1.3 CMP LLAMADA A MODULO DE PROGRAMA
8.2 DESARROLLO
8.3 VISUALIZACIÓN DE DATOS EN EXCEL
8.3.1 DDE
8.3.2 OLE
8.3.3 OPC
8.3.4 VENTAJAS DE OPC FRENTE A DDE
8.4 DESARROLLO
8.5 MODIFICACIÓN DE PARÁMETROS DE UN P.L.C DESDE EXCEL
101
101
102
103
104
108
108
108
109
109
110
115
CAPÍTULO 9
9.1 CONCLUSIONES
121
9.2 BIBLIOGRAFÍA
122
ÍNDICE DE FIGURAS
Fig. 1.1
Fig. 1.2
Fig. 1.3
Fig. 1.4
Fig. 1.5
Señal Analógica.
Señal Discreta.
Señal Binaria.
El P.L.C.
Computadora personal con el software de programación
previamente cargado.
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.
Fig. 1.8 Conexión de entradas del P.L.C. FEC20 de FESTO.
Fig. 1.9 Conexión de entradas (sensores) del P.L.C. FEC20 de FESTO.
Fig. 1.20 Conexión de salidas del P.L.C. FEC20 de FESTO.
Fig. 1.21 Aspecto físico de un contactor.
Fig. 1.22 Símbolo de un contactor.
Fig. 1.23 Partes que componen un contactor.
Fig. 1.24 Comportamiento de un contactor con la bobina sin
excitar.
Fig. 1.25 Comportamiento de un contactor con la bobina excitar.
Fig. 1.26 Dos posibles casos de un contactor. Bobina excitada
(lado derecho), bobina sin excitar (lado izquierdo).
Fig. 1.27 Contactos auxiliares.
Fig. 1.28 Cámaras de contactos NC/NO.
Fig. 1.29 Cámara de cuatro contactos.
Fig. 1.30 Cámara de contactos temporizados TON.
Fig. 1.31 Cámara de contactos temporizados TOF.
Fig. 1.32 Circuito de potencia o de fuerza.
Fig. 1.33 Conexión eléctrica del control FEC.
Fig. 3.1
Fig. 3.2
Fig. 3.3
Representación de funciones lógicas
Representación de variables de salidas
Lógica de función “O”
2
2
2
3
3
4
4
6
7
8
9
9
10
12
13
14
15
15
16
16
16
17
18
40
41
42
Fig. 3.4
Fig. 3.5
Fig. 3.6
Fig. 3.7
Fig. 3.8
Fig. 3.9
Fig. 3.10
Fig. 3.11
Fig. 3.12
Fig. 3.13
Fig. 3.14
Fig. 3.15
Fig. 3.16
Fig. 3.17
Fig. 3.18
Fig. 3.19
Fig. 3.20
Fig. 3.21
Fig. 3.22
Lógica de función “Y”
Función “O” lógica de funciones “Y”
Función “Y” Lógica de funciones “O”
Símbolos generalizados de la función “OR”
Tabla de verdad de la función “OR”
Símbolos generalizados de la función “AND”
Tabla de verdad de la función “AND”
Símbolos generalizados de la función “NOT”
Tabla de verdad de la función “NOT”
Símbolos generalizados de la función “NOR”
Tabla de verdad de la función “NOR”
Símbolos generalizados de la función “NAND”
Tabla de verdad de la función “NAND”
Símbolos generalizados de la función “XOR”
Tabla de verdad de la función “XOR”
Símbolos generalizados de la función “XNOR”
Tabla de verdad de la función “XNOR”
Símbolos generalizados de la función “IGUALDAD”
Tabla de verdad de la función “IGUALDAD”
42
43
43
44
44
45
45
45
45
46
46
46
46
46
46
47
47
47
48
Fig. 4.1 Función de un temporizador
Fig. 4.2 Estructura de un temporizador
Fig. 4.3 Grafica de un temporizador
Fig. 4.4 Grafica de un temporizador TON
Fig. 4.5 Grafica de un temporizador TOF
58
59
62
65
66
Fig. 6.1 Estructura de las FLAGS
85
Fig. 7.1 Representación de dos cilindros de doble efecto y sus
válvulas biestables
90
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
Fig. 1.1 Señal Analógica
_ Discretas
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

 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
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 ####
IF
NOP
THEN SET
Y1
PASO INICIAL
SI NO HAY NINGUNA OPERACION
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
THEN SET
Y1
SI NO HAY NINGUNA OPERACIÓN
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
IF
NOP
THEN SET Y0
PASO 1
SI NO HAY NINGUNA OPERACIÓN
ENTONCES PRENDE Y0
STEP 2
IF
S0
THEN
SET Y1
OTHRW JMP TO 1
PASO 2
SI ESTA PRENDIDO S0
ENTONCES PRENDE Y1
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.
T
 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
THEN SET
S0
Y0
‘SENSOR 0
‘lLED 0
STEP 2
IF
THEN RESET
S1
Y0
‘SENSOR 1
‘lLED 0
STEP 3
IF
THEN SET
S2
Y1
‘SENSOR 2
S2
Y1
‘SENSOR 2
STEP 4
IF
THEN RESET
N
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
diagrama de escalera (LDR Ó KOP).
(AWL Ó STL)
o
 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
THEN SET
STEP 2
IF
THEN RESET
JMP TO 1
N
S0
Y6
‘SENSOR 0
‘LED 6
SI SE APAGA EL SENSOR 0
ENTONCES PRENDE EL LED 6
NOP
Y6
‘LED 6
RETORNA EL CICLO
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
AND
AND
S0
S1
Y1
‘SENSOR 0
‘SENSOR 1
‘ACTUADOR 1
SI EL SENSOR 0
Y EL SENSOR 1
Y EL ACTUADOR 1
ESTAN PRENDIDOS
53
THEN
SET
STEP 2
IF
THEN RESET
JMP TO 1
Y6
‘LED 6
NOP
Y6
‘LED 6
ENTONCES PRENDE EL LED 6
RETORNA EL CICLO
 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
THEN
OR
OR
S0
S1
Y1
‘SENSOR 0
‘SENSOR 1
‘ACTUADOR 1
SET
Y6
‘LED 6
STEP 2
IF
THEN RESET
JMP TO 1
SI EL SENSOR 0
O EL SENSOR 1
O EL ACTUADOR 1
SE ACTIVAN
ENTONCES PRENDE EL LED 6
RETORNA EL CICLO
NOP
Y6
‘LED 6
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
THEN
EXOR
SET
STEP 2
IF
THEN RESET
JMP TO 1
S0
S1
Y6
‘SENSOR 0
‘SENSOR 1
‘LED 6
NOP
Y6
‘LED 6
 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 #####
IF
THEN LOAD
TO
NOP
V200
TP0
ETIQUETA INICIAL
SI NO HAY NINGUNA OPERACION
ENTONCES CARGA EL VALOR DE
200
EN EL
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 #####
IF
NOP
THEN SET
T0
ETIQUETA INICIAL
SI NO HAY NINGUNA OPERACION
ENTONCES
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 #####
IF
THEN LOAD
TO
NOP
V5
CP0
ETIQUETA INICIAL
SI NO HAY NINGUNA OPERACION
ENTONCES CARGA EL VALOR DE 5 EN EL
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 #####
IF
THEN SET
NOP
C0
ETIQUETA INICIAL
SI NO HAY NINGUNA OPERACION ENTONCES
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
THEN
NOP
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+BSabiendo 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.
E
N
T
R
A
D
A
S
S
A
L
I
D
A
S
S0
A0
A1
B0
B1
Y1
Y2
Y3
Y4
Pulsador
Cilindro A en
reposo
Cilindro A
expandido
Cilindro B en
reposo
Cilindro B
expandido
I0.4
I0.0
Avanza el
cilindro A
Retrocede el
cilindro A
Avanza el
cilindro B
Retrocede el
cilindro B
O0.0
I0.1
I0.2
I0.3
O0.1
O0.3
O0.4
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
I
II
III
IV
A0
1
0
1
1
ENTRADAS
A1
B0
0
1
1
1
0
1
0
0
B1
0
0
0
1
Y1
1
0
0
0
Y2
0
1
1
1
SALIDAS
Y3
0
0
1
0
Y4
1
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
THEN SET
SET
STEP blink
IF
THEN CFM 0
LOAD
TO
STEP 1
IF
THEN SET
OTHRW RESET
JMP TO 1
start
P1
lampara
‘boton de inicio
‘carga los parametros
NOP
‘BLINK
FU32
FW10
F10.0
lampara
lampara
‘0.25s transcuridos
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
THEN
NOP
LOAD
V0
TO
R0
‘REGISTRO
STEP 1
IF
THEN
NOP
SET
T1
LOAD
V200
TO
‘tiempo 1
TP1
STEP 2
IF
THEN
N
SET
T1
‘tiempo 1
O0.0
‘salida 1
STEP 3
IF
THEN
NOP
SET
T1
‘tiempo 1
T1
‘tiempo 1
O0.0
‘salida 1
STEP 4
IF
THEN
N
RESET
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