Академический Документы
Профессиональный Документы
Культура Документы
Capitulo 6
6.Programacin en Control Builder
6. Programacin en
Control Builder
Prepared By:
T300
Engineering an 800xA System
ABB University
Av. Vicua Mackenna 1602
Santiago Chile
Fono:56-2-471-4371; Fax:56-2-4714399
Page 2 of 15
Capitulo 6
6.Programacin en Control Builder
Contenido
6.
Page 3 of 15
Capitulo 6
6.Programacin en Control Builder
Page 4 of 15
Capitulo 6
6.Programacin en Control Builder
Cuando se trabaja con lenguaje FBD, la hoja de cdigo cambia al modo FBD Pane.
Esta queda dividida verticalmente en dos partes, con dos visualizaciones del mismo
cdigo. Normalmente la parte izquierda muestra los elementos que componen el
cdigo (Structure View) y la derecha muestra los bloques y sus conexiones (FBD).
Sin embargo, la forma de visualizar el cdigo puede ser elegida por el usuario con
click de botn derecho sobre la hoja de cdigo. Adems la parte derecha consta de
dos zonas para visualizar dos partes distintas del mismo cdigo.
Page 5 of 15
Capitulo 6
6.Programacin en Control Builder
6.3.1
Funciones Bsicas
Asignacin: move.
Aritmticas: add, sub, mul, div, exp, expt, mod, sqrt, abs, round.
Page 6 of 15
Capitulo 6
6.Programacin en Control Builder
6.3.2
Conexiones
6.3.3
Orden de Ejecucin
Adems, los bloques son ejecutados de la siguiente manera: se leen las entradas,
se ejecuta la lgica interna y luego se actualizan las salidas.
En el caso de que una de las salidas de un bloque sea conectada a una entrada del
mismo bloque, el valor de entrada ser el de la salida en la ejecucin anterior. Lo
anterior explica el funcionamiento de la lgica del Ejemplo 5.2.
Page 7 of 15
Capitulo 6
6.Programacin en Control Builder
6.3.4
Page 8 of 15
Capitulo 6
6.Programacin en Control Builder
Page 9 of 15
Capitulo 6
6.Programacin en Control Builder
6.4.1
Conexiones
Orden de Ejecucin
En LD, el orden de ejecucin est dado por el numero de rama. La lgica de cada
rama se ejecuta internamente de izquierda a derecha, finalizando con la evaluacin
del estado de la bobina.
Sentencias
Page 10 of 15
Capitulo 6
6.Programacin en Control Builder
Expresin
if <expresin booleana> then
<sentencias>
else
<sentencias>
end_if;
Ejemplo
if nivel > 50 then
nivel_alto := true;
else
nivel_alto := false;
end_if;
6.5.2
Page 11 of 15
Capitulo 6
6.Programacin en Control Builder
TOf_1 ( In := Motor1_Cmd,
PT := Motor1_Tiempo,
Q => Motor1_Rng );
En este caso, el bloque TOf_1 es llamado con sus parmetros. Las asignaciones
(:=) se utilizan para los pines de entrada, mientras que el smbolo (=>) se utiliza para
asignar el valor del pin de salida a una variable.
Existe otra forma de llamar al bloque, como se muestra en el siguiente ejemplo:
TOf_1.In := Motor1_Cmd;
Asignacin de valores a pines de entrada
TOf_1.PT := Motor1_Tiempo
TOf_1 ( );
Motor1_Rng := TOf_1.Q
En este caso, se asign valores a los pines de entrada del bloque, luego el bloque
fue llamado , con lo que ejecuta su lgica interna, y finalmente se asigno a su pin de
salida, una variable. Lo anterior es de gran utilidad cuando existen sistemas con
gran cantidad de cdigo.
6.5.3
Comentarios
Dentro del cdigo, se pueden escribir comentarios para explicar la lgica. Para
insertar un comentario simple, se debe escribir (* al inicio del comentario y *) al
final del comentario. Todo lo que quede entre ambos smbolos no ser ejecutado
como parte del cdigo. En caso de querer dejar sin ejecucin una gran cantidad de
cdigo, que puede incluso contener comentarios simples, se puede utilizar
comentarios con anidacin, comenzando con (# y terminando con #).
6.5.4
Page 12 of 15
Capitulo 6
6.Programacin en Control Builder
if bajar_valor then
(* decrecimiento del contador *)
i := I 1;
if i < 1 then
bajar_valor := false;
end_if;
else
(* incremento del contador *)
i := i + 1;
if i > 10 then
bajar_valor := true;
end_if;
end_if;
Page 13 of 15
Capitulo 6
6.Programacin en Control Builder
Page 14 of 15
Capitulo 6
6.Programacin en Control Builder
6.7.1
Page 15 of 15
Capitulo 6
6.Programacin en Control Builder