You are on page 1of 22

Capitulo 6: Lenguaje de bloques

(FBD) y lista de instrucciones (IL)

Schneider Electric Venezuela/Unity Pro/Capitulo6

Contenido

Instrucciones en lenguaje FBD


Representacin en lenguaje FBD
Ejemplo 6 y Ejemplo 7
Instrucciones en IL
Representacin en IL
Ejemplo 8

Schneider Electric Venezuela/Unity Pro/Capitulo6

Lenguaje de bloques (FBD)


Designacion

Smbolo

Descripcin

Seleccin de
datos

Permite declarar las variables o seleccionarlas,


si se encuentran declaradas

Asistente FFB

Permite seleccionar los bloques que se


encuentren en la libreria

Subrutina

Inserta una subrutina

Pin negado

Invierte el valor de una entrada

Salto

Si el estado de la conexin izquierda es 1, se


ejecutar un salto a la etiqueta

Etiqueta

Las etiquetas (destinos de salto) se representan


como texto con dos puntos al final.
El texto est limitado a 32 caracteres

Retorno

No puede usarse en el programa principal. Se


utiliza para retornar de una subrutina o un DFB
(Bloque de funcin derivado)

Schneider Electric Venezuela/Unity Pro/Capitulo6

Lenguaje de Bloques (FBD)


Si el estado de EN es 1, se llama la
subrutina correspondiente (Nombre
de las variables en SR_Name).
La salida ENO no sirve en este tipo
de bloque para mostrar el estado de
error. La salida ENO es siempre 1 en
este tipo de bloque y sirve para llamar
varias subrutinas simultneamente.
Con la siguiente construccin, es
posible llamar varias subrutinas
simultneamente.

Schneider Electric Venezuela/Unity Pro/Capitulo6

La subrutina que se vaya a llamar debe


encontrarse en la misma tarea que la
seccin FBD invocante.

Representacin de una seccin en FBD

Schneider Electric Venezuela/Unity Pro/Capitulo6

Ejemplo 6: Mezclado de dos sustancias

Schneider Electric Venezuela/Unity Pro/Capitulo6

Ejemplo 6: Mezclado de dos sustancias


Requerimientos de la aplicacin
Entradas:
START para arrancar la mezcla
NIVELBAJO para indicar el nivel bajo del tanque TQ3
Salidas:
B100B para la bobina del contactor de la bomba B100B
B200B para la bobina del contactor de la bomba B200B
B300 para la bobina del contactor de la bomba que expulsa la mezcla

Anlisis
El proceso comienza cuando el usuario pulsa el botn START y se
detiene cuando el nivel bajo en TQ3 ha llegado
El sistema est compuesto por tres tanques (TQ1,TQ2,TQ3) de
3000 litros c/u, una bomba (B100B) de 5 Litros/seg, una bomba (B200B)
de 3 Litros/Seg .Un agitador (A300)en el tanque TQ3,y un sensor de
nivel bajo en TQ3.
Schneider Electric Venezuela/Unity Pro/Capitulo6

Se deben seguir los siguientes pasos:


Verter 45 litros del jarabe del tanque TQ1 en el tanque TQ3.
Verter 15 litros del jarabe del tanque TQ2 en el tanque TQ3.
Agitar por 12 Segundos.
Expulsar la mezcla hasta que se desactive el sensor de nivel bajo.
Se deben seguir los siguientes pasos, para ejecutar el programa:
Crear una nueva seccin en lenguaje FBD
Insertar un bloque de funcin biestable, un temporizador tipo pulso y un
comparador que compare variables tipo time, todo ello a travs del
asistente de entrada FFB.

Realizar las conexiones y declaraciones de variables necesarias


Simular
Schneider Electric Venezuela/Unity Pro/Capitulo6

Ejemplo 6: Mezclado de dos sustancias

Schneider Electric Venezuela/Unity Pro/Capitulo6

Ejemplo 7: Creacin de un DFB


1. En el explorador de proyectos hacer doble click
en Instancias FB derivadas
2. Seleccionar la columna Tipos de DFB e
ingresar un nombre, aparecer un simbolo que
indica que el DFB no est analizado, desplegar y
agregar las entradas y las salidas
3. En el campo seccion colocar el nombre,
seleccionar lenguaje FBD
4. Hacer click en generar, y el simbolo que
indicaba que no estba analizado
cambia

Schneider Electric Venezuela/Unity Pro/Capitulo6

10

5. Hacer doble click en la seccin


creada en el DFB , colocar lo
que se muestra en la figura y
generar

6. Crear una nueva seccin en


lenguaje DFB, insertar el bloque
arranq motor, direccionar
entradas/salidas
7. Generar y simular

Schneider Electric Venezuela/Unity Pro/Capitulo6

11

Lista de intrucciones (IL)


IL es un lenguaje basado en un acumulador, por ese motivo una lista
de instrucciones debe comenzar por el operando LD (Cargar
acumulador).
Una lista de instrucciones est compuesta por una secuencia de
instrucciones. Cada instruccin est compuesta por: un operador, un
modificador y operandos.

Schneider Electric Venezuela/Unity Pro/Capitulo6

12

Lista de intrucciones (IL)


Un operando puede ser:
Una direccin
Un literal
Una variable
Una variable de elementos
mltiples
Un elemento de una variable de
elementos mltiples
Una salida de EFB/DFB
Una llamada de EFB/DFB.

Schneider Electric Venezuela/Unity Pro/Capitulo6

Ejemplo:
LD i1
INT_TO_REAL
ADD r4
ST r3

13

Lista de intrucciones (IL)


Si se desea asignar a una direccin otros tipos de datos distintos a los
tipos de datos predeterminados, se deber hacer mediante una
declaracin explcita. Esta declaracin de variables se puede realizar de
forma cmoda a travs del editor de datos.
Las siguientes variables estn declaradas en el editor de datos:
UnlocV1: ARRAY [1..10] OF INT;
LocV1: ARRAY [1..10] OF INT AT %MW100;
LocV2: TIME AT %MW100;
Las siguientes llamadas son sintcticamente correctas:
%MW200 := 5;
LD LocV1[%MW200]
ST UnlocV1[2]
LD t#3s
ST LocV2
Schneider Electric Venezuela/Unity Pro/Capitulo6

14

Modificadores
Modificador

Se utiliza con operandos de


tipo de datos

BOOL,BYTE,WORD, DWORD El modificador N se utiliza para


invertir el valor de un operando
por cada bit.
Ejemplo:
LD A
ANDN B
ST C

BOOL

Schneider Electric Venezuela/Unity Pro/Capitulo6

Descripcin

El modificador C se utiliza para


ejecutar la instruccin
correspondiente cuando el valor
del acumulador es 1 (TRUE).
Ejemplo: el salto a START slo
se realiza cuando A es 1 (TRUE)
y B es 1 (TRUE).
LD A
AND B
JMPC START
15

Modificadores
Modificador

Se utiliza con operandos de


tipo de datos

Descripcin

CN

BOOL

Si los modificadores C y N se
combinan, la instruccin
correspondiente se ejecutar
nicamente cuando el valor del
acumulador sea un 0 booleano
(FALSE).

()

TODOS

El modificador parntesis
izquierdo ( se utiliza para
restablecer la evaluacin del
operando hasta que aparezca el
operador parntesis derecho ).
Ejemplo: E es 1 si C o D son 1, y
A y B son 1.
LD A
AND B
AND( C OR D)
ST E

Schneider Electric Venezuela/Unity Pro/Capitulo6

16

Operadores
Operador

Modificador

Descripcin

LD

Carga el valor del operando en el acumulador.

ST

Guarda el valor del acumulador en el operando.

El operando se coloca en 1 cuando el contenido


del acumulador es 1.
Ejemplo:
LD A
S OUT

El operando se ajusta a 0 cuando el contenido del


acumulador es 1

AND

AND lgico

OR

OR lgico

XOR

OR exclusivo lgico

NOT

Negacin lgica

Schneider Electric Venezuela/Unity Pro/Capitulo6

17

Operadores
Operadores aritmticos: ADD,SUB,MUL,DIV,MOD.
Operadores de comparacin: GT (mayor que), GE (mayor o igual
que), EQ (igual a), NE (diferente de), LE (menor o igual que), LT (menor
que)
Operadores de llamada: CAL (llamada de un bloque de funcin,
DFB o subrutina), FUNCTIONNAME (ejecucin de una funcin),
PROCEDURENAME (ejecucin de un procedimiento).
Operadores de estructuracin: JMP (salto a la etiqueta), RET
(Retorno)

Schneider Electric Venezuela/Unity Pro/Capitulo6

18

Llamada de una funcin

Schneider Electric Venezuela/Unity Pro/Capitulo6

19

Llamada de bloque de funciones

Schneider Electric Venezuela/Unity Pro/Capitulo6

20

Ejemplo 8: Arranque estrella-tringulo


S1:Pulsador de parada
S2:Pulsador de marcha
TI: Temporizador

KM1: Contactor de lnea


KM2: Contactor estrella
KM3: Contactor delta

KM1
KM3

KM3

KM1

Schneider Electric Venezuela/Unity Pro/Capitulo6

KM3

KM2

KM2

KM3

21

Ejemplo 8: Arranque estrella-tringulo


El temporizador es
necesario ingresarlo
con el asistente FFB

Schneider Electric Venezuela/Unity Pro/Capitulo6

22

You might also like