Está en la página 1de 22

Universidad Tcnica Federico santa Maria

Sede Via del Mar


1

PROGRAMACIN MEDIANTE DIAGRAMAS DE FLUJO FUNCIONALES

STep Ladder Program (STL), Grafcet o Funktionplan


La modalidad de programacin en sistema STL es una modalidad que se puede realizar en la
mayora de los programadores., Conceptualmente la idea es simple, resultando ser una
herramienta poderosa como tcnica de programacin. Se basa en el uso de rels de estado o
STATE que se explicaran ms adelante
La clave de esta tcnica consiste en crear un programa basado en un diagrama de flujo, esto no es
tan casual pues es un desarrollo deliberado como tcnica de monitoreo simple y fcil de un
sistema
La tcnica en si tiene paralelos con las denominaciones Grafcet u otras que es popular en el
medio Europeo, conocindose como Diagramas de Flujo Funcionales o SFC.
En otra forma asumiremos que STL y SFC se estarn refiriendo al mismo concepto de
programacin, hay algunas diferencias pues el sistema SFC ha permitido trasladar programas
anteriores en Ladder a la modalidad SFC..
En general podemos decir que existen tres modalidades de programacin
1.- Instrucciones o mnemnico a nivel del BIT, BYTE o WORD
2.- Ladder usando la lgica y simbologa de rels que es grafica
3.- SFC que es un estilo de grafico de flujos o STL basado en rels de estado

Un programa en STL, es realizar un diagrama de flujos como se indica en el esquema, es un


arma poderosa para analizar un gran programa como un conjunto de partes pequeas y
fcilmente manejables

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
MO

S0

X0

X0
RELE DE
ESTADO

X1

X1

S22

S27

T0

X4

S26

X6

A cada una de estas partes se le conoce como un estado o un paso. Es importante y til
identificar estos estados mediante letras o nmeros. Estos estados se refieren a condiciones de los
dispositivos
Cada estado debe estar completamente aislado uno de otro, dentro de un programa.
Una buena tcnica es colocar cada estado en un orden que permita cumplir la tarea asignada.
Lo anterior permite ocupar estos estados segn ms convenga
La programacin as permite eliminar situaciones que se encuentran errneas.
Se debe mirar el STL como un diagrama de flujo, pero para saber que sucede realmente cada
estado STL debe revisarse minuciosamente.
Los detalles que se observan en las etapas o pasos permiten revisar cada parte del programa o
sub programa.
Lo anterior indica claramente que STL es esencialmente un mtodo secuencial de una serie de
eventos en otras palabras cada sub programa por pequeo que sea al unirse forman
el programa

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

T0

Algunos programadores (PLC) permiten escribir o emplear una combinacin de diferentes


lenguajes tal como se indica

Para iniciar una programacin en STL hay que ser cuidadoso pero ms aun en la finalizacin,
teniendo presente que no se reemplaza completamente a la programacin Ladder.
La programacin STL en alguna de sus partes puede activarse muchas veces una vez que la tarea
se cumpli se puede saltar hacia atrs y continuar el proceso en Ladder hasta que se necesite
nuevamente a STL.

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
El partir con este mtodo es importante, pero mas importante es saber detenerlo.
LD
OUT
LD
SET
STL
OUT
LDI
OUT
RET
LD
OUT
RST

X0
Y4
X2
S9
9
10
X3
Y6

Instruccin
normal

Programa
STL

X5
Y7
M0

A modo de ejemplo la programacin Melsec permite el uso de STL y posee 10 registros de


estado de S0 a S9 que se asignaron en forma especial para inicializar un proceso, es decir estn
diseados especficamente para comenzar y controlar un proceso o seccin completa de SFC
(Secuancial Function Chart) se le conoce como estados iniciales o headers

En total tiene 64 rels de estado o Status del S0 a S63 en FX0 128 en FX0N llegando hasta 500
segn modelo.

Estado Inicial
De Zero Return
Uso General
Retentivos
Anunciadores

S0 a S9
S10 a S19
S20 a S249
S500 a S 899
S900 a S999

Los Objetivos para estos rels de estado son diversos uno de ellos es la operacin STL
Una vez comenzado un proceso con instrucciones STL es saber sobre que elementos se va a
controlar, esto no resulta difcil de comprender, sabiendo que STL es un estado activo cuando
esta en ON despus que el paso o transicin se habilita mediante una variable tipo bit.

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
Por ejemplo el estado inicial de la salida se puede llevar a SET esto incluye a la instruccin
OUT. En el lenguaje Melsec la instruccin SET en STL es una instruccin que incluye a la
instruccin OUT. Se recomienda que se emplee la instruccin SET para seleccionar un estado.
Cuando un estado se activa se tendr SET ON.

Cuando se inicia un programa STL este puede ser a partir de una variable tipo BIT cualquiera,
como se coment es quien inicia el estado. Cuando el estado fue inicializado el procesador,
sigue las instrucciones que son parte de un STL.

El escaneo , ve que existe un programa dentro de otro programa, esto puede ser un error que
deshabilitara y considerara como errneo

.Lo que parece como peligroso no es as pues en algn momento se debe retornar al programa
esto despus que la operacin mediante STL se completa, en otras palabras se debe identificar
claramente el camino de retorno

El retorno se realiza con la instruccin RET (Return), y resulta ser la ltima instruccin en el
estado programado con STL. Se vuelve al programa Ladder.

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
EMPLEO DE SET EN STL

S4

S 20

X0

La instruccin SET como se ha dicho lleva a un estado a la condicin activa. Cuando se activa el
estado siguiente el estado STL original se desactiva es decir el reseteo es automtico. En el
ejemplo es posible entender lo anterior.

S20 no esta reseteada , despus que S30 o S21 han actuado, se puede agregar que si S20 pasa a
OFF, S30 podra dejar de operar
Esto es porque S20 es un estado que aun no ha terminado
La primera instruccin representa un estado de S20, es una instruccin de carga y NO una
instruccin STL. Se puede resetear el estado STL, empleando RST.
Es posible saltar hacia estados diferentes segn se elabore el programa.

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
El programa Melsec explica muy bien estos conceptos y partiendo de esto elaboraremos los
ejemplos
repite
parcialmente

S0

S0

S20

S20

S21

S21

OUT

OUT

S22

STL
Flujo 1

S22

S23

S23

S0

S0

S20

S20

S21

OUT

Salta

STL
Flujo2

S21

S22

S22

S23

S23

1.-La programacin STL permite realizar programaciones que comnmente no es


posible realizar con Ladder
2.-Es causa de errores porque es una tcnica aislada en sub programas

Es posible visualizar muchas ventajas, pero hay que ser cuidadoso cuando se realizan los sub
programas o etapas

Cuando existe STL se activa un a etapa, hasta que se pase a la siguiente. Las etapas pueden
contener todas las variables ya conocidas, se debe tener cuidado cuando se setean salidas
virtuales y reales y no esperar que solo por pasar a la otra etapa se desactivan por si misma las
salidas

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
El siguiente ejemplo permite entender el concepto

S 40 en OFF
La situacin es la siguiente si S30 esta activo se cierra Y0 y setea M0
Al activarse X2 se pasa a estado S40 se desactiva Y0, se activa Y2 , pero M0 permanece cerrado
dado a que se seteo anteriormente, aunque ya no este el estado S30
La rama de inicio para STL se puede considerar similar a la rama de inicio Ladder, aunque su
mejor comparacin seria la instruccin MC y MCR quienes crean su propia barra
Es importante al igual que en situaciones anteriores no repetir salidas en las diferentes etapas o
sub programas recordando que los temporizadores y otros tambin son salidas
Es posible emplear salidas que operan con sistemas de enclavamiento como sucede cuando se
bloquea la operacin de un de un circuito cambiador de giro en motores
La transferencia entre etapas es por una seal tipo bit por breve que esta sea

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
EJEMPLOS BASICOS DE PROGRAMACIN CON STL

Las ramas se activan segn el contacto X 0 , X1 o X2 de la rama correspondiente lo permita


La construccin de ramas para los diferentes programas en los diagramas de flujo es buena, pero
mejor resulta aplicar un mtodo que las rena en conjunto de ramas individuales

Este ltimo se llama programacin del primer estado que emerge dado que el primero que opere
producir el cambio o emerger hacia el estado S50

Las ramas se activan segn sea la variable X, que primero esta activada

Programacin STL

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
EMPLEO DE DIAGRAMAS DE FLUJO EN FORMA SIMULTNEA

La tcnica explicada para tratar diagramas de flujo simples para integrar un conjunto se ve simple
de la misma manera es posible tratar diagramas que son operados simultneamente

S20

STL S20

Y0

OUT Y0
X0

LD

X0

SET S21
SET S31
S21

S31

S41
SET S41

Es posible observar que al estar habilitado el estado S20 y cerrar la variable X0 se realizaran
simultneamente los estados S21, S31, S41, aunque estn como ramas separadas operan en
conjunto. Esto resulta muy similar a la operacin de protecciones elctricas, que ante una
determinada operacin de falla opera en conjunto, pero separadamente.
Otra forma de operar es la siguiente:

En este caso la operacin NO continua hasta que TODAS las ramas previas realicen su proceso,
se conoce como emerger de tareas mltiples. Si se cierran X0 y X1 no cambia al estado S50 si
antes no han cumplido las etapas los subprogramas S29, S39 y S49.
Programacin STL

10

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

EJEMPLO BSICO
Servir taza de caf, asumiendo que ingresar agua, luego caf, posteriormente se hierve al
momento de hervir se detiene proceso

Programacin STL

11

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

S38

X3

S28

X2

S18

X1

S8

X0

Solucin con programacin STL

Si Analizamos el esquema podemos concluir en cuanto a STL


1. Se crea un efecto de caja que contiene una etapa
2. Al activar X0 se cumple primera etapa INICIO y paso S8 y permanecer en
3.
4.
5.
6.
7.
8.
9.

el mientras no se cumplan condiciones para seguir hacia otra caja o etapa


Al cerrar X3 nada puede suceder pues no se han cumplido etapas previas
Para seguir a paso S18 se debe cerrar X1 as se cumple STL y opera S18
Se resetea automticamente etapa S8
Al cerrar X2 se efecta etapa S28, quien activa Y0 y se resetea etapa S18
Al cerrar X3 opera etapa S38 , como se desactiva etapa S28 deja de
funcionar Y0
Un paso importante es la actuacin de S38 quien debe operar RET para ir
nuevamente al comienzo
Es posible observar que se permanecer en la etapa S38 si no existe una
orden que la anule, esto se hace cuando se activa X0 quien junto con iniciar
resetea a S38

Programacin STL

12

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

El mismo problema anterior se mejorar con la posibilidad de servir:


sin azcar, y con azcar ya sea una o dos cucharadas en forma liquida

VARIABLE

COMENTARIO

X4

INICIO

X1

SENSA AGUA

X2

SENSA CAFE

X3

SENSA C

YO

CALEFACTOR

X5

SIN AZUCAR

X6

1 AZUCAR

X7

2 AZUCAR

Y1

EVA AGUA

Y2

EVA CAFE

Y3

EVA AZUCAR

AGUA

SET S6

EVA AGUA

CAF

SET S16

EVA CAFE

AZCAR 1

SET S26

OPERA T5

AZUCAR 2

SET S36

OPERA T6

HIERVE AGUA

SET S36

OPERA Y0

FIN

SET S46

END

X4
AZUCAR
CAFE
AGUA

X2

X1

X3

Y0

CAF PURO 1 AZCAR

Programacin STL

2 AZUCAR

13

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
ESTADO
INICIO
X4

START
EVA
AGUA

AGUA S6

X1

AGUA

X1

X1

X5

S/AZUCAR

X6 1 AZUCAR

X7

CAF SOLO
S16
X2

CAF +1
S26

EVA
CAFE

CAFE

X2
T5

HERVIR
S46

X3

2 AZUCAR

CAF +2
S36

X2

EVA
CAFE

T5

EVA
AZUC
AR

X2

T5

T6

CALE
F

CALEFACTOR

END
S38

RET

Programacin STL

14

Prof Inf Jos S Lpez D

X2

EVA
CAFE

T6

EVA
AZUC
AR

T6

Universidad Tcnica Federico santa Maria


Sede Via del Mar

PROGRAMA MITSUBISHI
SET S6

INICIO

RST S38
STL
Y1

EVA AGUA

SET S16
SET S26
SET S36
STL
Y2

EVA CAFE

SET 46
STL
X2

Y2

EVA CAFE

T5

Y3

EVA
AZUCAR

T5
SET S46
Y2

X2
STL

OPCIN 3 SIMILAR A OPCION 2

Y0

CALEFACTOR

SET S38

Opera
sensor X3

STL
RET

Programacin STL

15

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

El programa debe resolver tres diferentes situaciones:


1. Sin azcar, con una porcin y con doble porcin
2. El punto de inicio y el trmino resulta ser el mismo
3. El sistema por etapas se pudo apreciar claramente en el diagrama
anterior
4. El proceso se inicia con X4 quien pone al estado inicial S6 en ON
5. Aparecen tres opciones segn se active X5 quien lleva al estado
S16 a activarse ingresar caf con Y2 y posteriormente al estado
S46 con sensor X2
6. Otra posibilidad es X6 quien activa al estado S26. La salida Y3
entrega la porcin de azcar en un tiempo T5
7. Una vez que el tiempo y el caf se ingresan termina lleva al estado
S46
8. Si activamos X7 se regula doble porcin de azcar por medio de
Y3 y el tiempo T6 quien una vez que termina lleva a etapa S46
9. Es posible observar que las Etapas S26 y S36 activan a una misma
salida Y3 e Y2 esto es posible pues equivale a una condicin OR
con una salida nica.
Esto significa que
las etapas estn aisladas y existen etapas no activadas. Es evidente
que se podra emplear una salida diferente si as se desea

Programacin STL

16

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

PINZ
A

PINZ
A

Ejemplo 3
Como una forma de comprender mejor el concepto se elaborar un
programa y lo analizaremos su operacin en detalle
Consideremos una operacin de tomar y trasladar una pieza a otra
posicin mediante un brazo movilizado por mecanismos con electro
vlvulas desde punto A hacia punto B

Sea Y0 vlvula que desplaza hacia abajo el primer cilindro e Y2 la


Vlvula, que desplaza hacia arriba.
Y3 vlvula que desplaza hacia la derecha el segundo cilindro e
Y4 la vlvula, que desplaza hacia la izquierda
Como son vlvulas dobles mantienen la posicin segn la EVA que este
energizada
Sea Y1 vlvula simple con retorno por resorte y que pinza la pieza
mientras este energizada.
Sea X2 lmite superior y X1 limite inferior de cilindro A
X3 limite derecho y X4 limite izquierdo de cilindro B
X0 botn de partida
X5 RESET operacin tipo manual
Programacin STL

17

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

Diagrama de estados

Programacin STL

18

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar
M8002
INICIO
S5

X5

RESET Y1

Y1

RESET Y0

X2

SET Y2

X4
SET Y4
X0
SET Y0

S20

BAJA

RESET Y2
X1
S21

SET Y1

T0

T0

SET Y 2

S22
X2

PINZA

SUBE

RESET Y0
SET Y 3

S23

DER

RESET Y 4
X3
SET Y0

S24

BAJA

RESET Y2
X1

S25

RESET Y1

SUELTA

T1

T1
SET Y 2

S26

SUBE

RESET Y0
X2

SET Y 4

S27

IZQ

RESET Y3
X4

Programacin STL

19

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

1. La entrada que inicia el proceso y que no esta identificada puede


ser un rel de tipo especial como es el M8002 que esta
normalmente abierto y que genera un pulso a ON cuando se lleva el
PLC de STOP a RUN pasa al ESTADO S5
2. Ciclo de operacin
a. Al presionar X0 Cambia al estado de operacin de S5 a S20.
La vlvula de bajada Y0 se activa, al llegar al limite inferior
X1, se cambia al estado siguiente
b. El cambio de S20 a S21 detiene a Y0 pasando a OFF y se
activa Y1 que pasa a ON y pinza la pieza
c. El temporizador T0 acta despus de K segundos para
cambiar al estado S22 el que activa a Y2, llevando el
movimiento hacia arriba, donde tocar al limite superior X2
desactivando a Y2, pues se cambia de estado
d. El cambio de estado significa pasar S23, activando Y3 que es
movimiento hacia la derecha, al llegar a X3 , desactiva a Y3,
pasando al estado S24
e. En el estado S24, nuevamente se activa Y0 que lleva la pieza
hacia abajo tocando otra vez el limite inferior X1 ahora se
cambia de estado de S24 a S25
f. En el estado S25 se desactiva Y1, s resetea por lo cual suelta
la pieza.
g. El temporizador T1 despus de K segundos cambia al estado
S26, llevando ahora el movimiento hacia arriba por
activacin de Y2
h. Sl toca a X2 limite superior cambia al estado S27 activando
Y4 movimiento a la izquierda, tocando finalmente a limite
izquierdo X4, pasando al estado S5 que dar inicio a un
nuevo ciclo

Programacin STL

20

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

RESUMEN
1. El programa ha de ser escrito en el orden de condiciones de carga
de l proceso y luego en el de las transferencias, para el cambio a
estados
2. STL y SFC son dos representaciones de un mismo programa que
permiten una programacin ms fcil, mediante el aislamiento de
estados y que al momento de analizar se har uno a uno
3. Existen algunas caractersticas y restricciones
a. El numero de ramas mximo es de 16
b. Se puede programar separadamente S0, S1, etc
c. Se debe colocar instruccin RET al final si se emplea STL
d. No se puede emplear instruccin MC en circuito STL
e. No se puede emplear instruccin STL en subrutinas o
programas de interrupcin
f. Se puede emplear instruccin JUMP dentro de un ciclo
aunque complica el flujo del proceso por lo tanto no se
recomienda.
REGLAS
1. Cuando un circuito STL se activa lo conectado a el se activara y si
es desactivado suceder lo contrario
2. Despus de un estado activado para resetear todas sus entradas las
instrucciones del circuito se saltan y no se ejecutan ms
3. Si empleamos una misma salida en diferentes estados esta salida
detiene su operacin hasta que todos los estados se encuentren en
OFF
4. Si bien una salida la podemos emplear en circuitos STL esto no es
posible fuera de el
5. No se puede un mismo estado con otra instruccin STL
Programacin STL

21

Prof Inf Jos S Lpez D

Universidad Tcnica Federico santa Maria


Sede Via del Mar

6. Durante el proceso de transferencia los dos estado estarn en ON


momentneamente (ciclo de operacin)
7. Si empleamos un mismo TIMER repetidamente en un programa,
puede ser en dos estados consecutivos(orden de ejecucin) dado a
que las instrucciones interactan y el TIMER nos es capaz de de
resetearse
8. Dos estados separadamente pueden emplear el mismo TIMER
9. Para transferir el estado secuencialmente con la misma seal esta
debe ser un pulso que conecte los estados

M0
S50

PLS M1

M1
M0
PLS M2

S51

M2
M0

Solo despus que S50 se activa con M0 en ON, M1 se abre para prevenir
que se cambie al estado S51. Con la siguiente seal M0 el estado cambia
a S51
Programacin STL

22

Prof Inf Jos S Lpez D