Está en la página 1de 31

CONTROL LÓGICO PROGRAMABLE I

CPR84
Semana 06: Modelado de Sistemas de Eventos Discretos
con Redes de Petri
Jhon Alexander Isaza Hurtado
jhonisaza@itm.edu.co Oficina Bloque E-3er piso
Carpeta: CPR84
Asesorías: Lunes 4-6 pm y Miércoles 10-12 pm
En los DES Las transiciones de estado
disparan por ocurrencias de eventos
asíncronas y a veces simultáneas.
Redes de Petri
• Una Red de Petri (RdeP) es una
herramienta gráfica y matemática
que provee una metodología de
diseño unificado para la
especificación de sistemas de
eventos discretos (Cassandras y
Lafortune, 2008)*.

*Introduction to Discrete Event Systems. Springer Science+Business Media, LLC. 2nd


Edition.
Elementos de una
RdeP
• Una red de Petri ordinaria está compuesta por:
– Lugares. Representan estados del proceso o sistema modelado.
Su símbolo es un círculo. Ejm: M0.0 y M0.1
– Transiciones. Son utilizadas para que la RdeP evolucione de un
estado a otro y representan eventos del sistema modelado. Su
símbolo es un rectángulo. Ejm: I0.0 y 𝐼0.0
– Arcos. Se utilizan para conectar lugares con transiciones, y
viceversa. Su símbolo es una flecha cuya dirección representa el
sentido de flujo de marcas a través de la red.
– Marcaje. Si un lugar posee marca significa que este lugar está
activo; en caso contrario, el lugar está inactivo. Una marca pasa
de un lugar a otro a través del disparo de una transición
sensibilizada. Ejm: El estado M0.0 esta activo.
Ejemplo - Encendido de un
bombillo
• Este sistema consiste en 2
posibles estados: encendido
y apagado, por lo cual la RdeP
contiene 2 lugares.
• Inicialmente el bombillo está
apagado (Marcaje).
• Debe existir una transición
para pasar de apagado a
encendido cuando se activa un
suiche y otra para pasar de
encendido a apagado cuando
se desactiva el mismo suiche
(Transiciones).
Reglas de evolución del marcaje
• Una transición debe estar sensibilizada para poder
disparar.
• Se dice que una transición está sensibilizada
únicamente cuando todos los lugares de entrada a ella
están activos, es decir, poseen marca.
• Cuando una transición está sensibilizada y se cumplen
las condiciones, entonces la transición dispara,
removiendo una marca de todos los lugares de entrada
y añadiendo una en todos los lugares de salida.
Posibilidades para las
transiciones y sus disparos
• En a) La transición no está habilitada, debido a que
M0.3, lugar de entrada a la transición, no está marcado.
• En b) la transición está habilitada, debido a que todos
los lugares de entrada a ella, M0.2 y M0.3, están
marcados.
• En a) y b) se cuenta con 2 redes de Petri con igual
estructura pero diferente marcaje, ambas con una
Ante ocurrencia
transición con la entrada I0.1 como condición de
del evento I0.1 disparo.
• a) no puede disparar, ya que la transición no tiene todos
sus lugares de entrada marcados, por lo tanto la red
sigue con el mismo marcaje ante cualquier evento (c)
• Por el contrario, b) sí cumple la condición de disparo y,
ante la ocurrencia del evento I0.1, la transición puede
disparar y el marcaje evoluciona, removiendo las
marcas de M0.2 y M0.3 añadiendo una en M0.4 (d)
Traducción de redes de Petri a
lenguaje en escalera 1/2
• Anteriormente se definió que:
– Cada lugar de la Red de Petri está representado por
una memoria interna del AP, por ejemplo M0.0.
– Cada transición puede estar representada por una
entrada del AP, por el resultado binario de una
operación, por estados de temporizadores,
contadores…
– Cada lugar representa un estado del sistema, por tanto,
puede representar activación o desactivación de las
salidas del AP, por ejemplo, Q1.2=1 ó Q1.7=0.
Traducción de redes de Petri a
lenguaje en escalera 2/2
• En la traducción a lenguaje en escalera se utiliza un
escalón o segmento de código para cada transición y
para cada estado.
• Se debe verificar el estado activo de cada lugar de
entrada, luego se verifica con lógica booleana el
cumplimiento de las condiciones asociadas a la
transición,
• finalmente se activan los lugares de salida de la
transición con la instrucción SET y se desactivan los
lugares de entrada con la instrucción RESET.
Tipos de transiciones
• Convergencia OR
• Convergencia AND

• Divergencia OR
• Divergencia AND
Convergencia OR
• Se presenta cuando un lugar se activa ante el disparo de
cualquiera entre varias transiciones (o) de entrada, las cuales
tienen un único lugar de entrada que garantiza la sensibilidad.
• El lugar M0.7 se activa entonces ante el disparo de I0.2 ó I0.3
Convergencia AND
• Se presenta cuando un lugar se activa ante el disparo de una
transición de entrada la cual, a su vez, tiene varios lugares de
entrada, los cuales deben estar activos simultáneamente (y).
• El lugar M1.2 se activa entonces ante el disparo de I0.4 y el
cumplimiento simultáneo de M1.0 y M1.1
Divergencia OR
• Se presenta cuando un lugar está marcado y se debe
elegir entre 2 posibles transiciones (o) para el disparo.
• El lugar M1.3 envía su marca a través de I0.5 ó I0.6
Divergencia AND
• Se presenta cuando un lugar está marcado y, ante el
disparo de una transición (y), la marca evoluciona a varios
estados.
• El lugar M1.6 envía su marca hacia M1.7 y M2.0
Ejemplo 1: Control de nivel y
temperatura en un tanque
LV
M

LSH

TS
LV

LSL

TY
LV
M

LSH
Ejemplo 1:
Funcionamiento
TS
LV

LSL

TY

FUNCIONAMIENTO
• Condiciones iníciales = todos los actuadores apagados. (Marcaje Inicial)
• Si se presiona el pulsador de inicio, se debe verificar nivel por debajo del sensor de nivel bajo
y temperatura por debajo del valor deseado. Si esto se cumple, se inicia el llenado y el
mezclado.
• Durante el llenado, se verifica que el nivel esté por debajo del nivel máximo; cuando se llegue
a este nivel, el llenado debe finalizar.
• Una vez verificado el nivel máximo, se debe verificar temperatura. Si la temperatura está en el
valor deseado, se salta al proceso de vaciado; de lo contrario, se inicia el proceso de
calentamiento.
• En el proceso de calentamiento, se verifica constantemente la temperatura; una vez se
obtenga el valor deseado, se termina el calentamiento y se inicia el vaciado.
• Una vez se detecta el vacío completo, se vuelve a las condiciones iniciales, apagando todos
los actuadores.
DIRECCIÓN TIPO DESCRIPCIÓN
M0.1 Estado Reposo

Ejemplo 1: M0.2
M0.3
Estado

Estado
Llenado
Calentamiento
Tabla de variables M0.4 Estado Vaciado
M0.5 Estado Mezclado
• Cada estado se representa
Transición
por una marca, en la red se I0.1 Sensor de nivel mínimo (NA)
tienen 5 estados, I0.2 Transición Sensor de nivel máximo (NA)
ocupando las memorias I0.3 Transición Sensor de temperatura (NA)
M0.1 a M0.5 del AP. Transición
I0.4 Pulsador de inicio (NA)
• Cada transición representa Salida
Q0.1 Válvula de llenado (NC)
la evolución de una marca
Salida
de un estado al otro. Q0.2 Válvula de vaciado (NC)

• Cada estado tiene Q0.3 Salida Motor del mezclador


asociadas unas acciones Q0.4 Salida Resistencia del calentador
en las salidas.
Ejemplo 1: Red de Petri
DIRECCIÓN TIPO DESCRIPCIÓN M0.1
(0,0,0,0)

M0.1 Estado Reposo ___ ___


I0.4*I0.1*I0.3

M0.2 Estado Llenado


M0.5 M0.2 Q0.1=1
M0.3 Estado Calentamiento Q0.3=1

M0.4 Estado Vaciado ___


I0.2*I0.3
M0.5 Estado Mezclado
M0.3
Q0.1=0
I0.1 Entrada Sensor de nivel mínimo (NA) Q0.4=1
I0.2*I0.3
I0.2 Entrada Sensor de nivel máximo (NA)
I0.3
I0.3 Entrada Sensor de temperatura (NA)
M0.4
I0.4 Entrada Pulsador de inicio (NA) (0,1,-,0)

Q0.1 Salida Válvula de llenado (NC)


Q0.2 Salida Válvula de vaciado (NC)
___
Salida I0.1
Q0.3 Motor del mezclador
Q0.4 Salida Resistencia del calentador
Ejemplo 1: Conversión de la RdeP
M0.1 a código AP
(0,0,0,0)
___ ___
I0.4*I0.1*I0.3 • El bloque de organización
OB100 se encarga de asignar el
M0.5
Q0.3=1
M0.2 Q0.1=1
marcaje inicial a la red. En este
___
caso todos los estados
I0.2*I0.3
desactivados (0,0,0,0).
M0.3
Q0.1=0 • El algoritmo de control en
diagrama ladder se realiza por
Q0.4=1
I0.2*I0.3

I0.3
segmentos.
M0.4 – Cinco (5) segmentos para realizar
(0,1,-,0) cada una de las transiciones
– Cinco (5) segmentos para las
acciones de cada estado
• Pasos:
___
I0.1
Ejemplo 1: Conversión de la RdeP
a código AP
PASO 1
M0.1

• Programar el bloque
OB100 para el marcaje
inicial.
• Recordar que este bloque
se ejecuta solo cuando el
AP se pone en RUN. En
este caso.
Ejemplo 1: Conversión de la RdeP
a código AP
M0.1

PASO 2 (0,0,0,0)

• Programar el estado M0.1, el


cual consiste en apagar todas
las salidas
Ejemplo 1: Conversión de la RdeP
M0.1

a código AP
(0,0,0,0)
___ ___
I0.4*I0.1*I0.3

• PASO 3 M0.5 M0.2

• Evolución de la marca de
M0.1.
• Según la red, al dispararse
la transición de salida de
M0.1 se activan los estados
M0.2 y M0.5.
• Se aplica SET a los estados
M0.2 y M0.5 y se aplica
RESET a M0.1 (lugar de
origen del marcaje)
Ejemplo 1: Conversión de la RdeP
M0.1

a código AP
(0,0,0,0)
___ ___
I0.4*I0.1*I0.3

• PASO 4 M0.5
Q0.3=1
M0.2 Q0.1=1

• Dado que ya se activaron


los estados M0.2 y M0.5
se pueden programar las
acciones que cada uno de
estos tiene asociadas.
Ejemplo 1: Conversión de la RdeP
a código AP
• PASO 5 M0.2 Q0.1=1

• La evolución del
___
I0.2*I0.3

estado M0.5 se M0.3


Q0.1=0
Q0.4=1

puede realizar más


adelante.
• Por el momento se
realiza la evolución
de M0.2 a M0.3
Ejemplo 1: Conversión de la RdeP
a código AP
• PASO 6
• La marca evoluciona
M0.3
Q0.1=0
Q0.4=1

de M0.3 a M0.4 a
través de la transición I0.3

con el evento asociado


M0.4
(0,1,-,0)

I0.3.
• Las acciones de M0.4
son aplicar la RESET
a Q0.1 y Q0.4 y SET a
M0.2
Ejemplo 1: Conversión de la RdeP
a código AP
• PASO 7
• El estado M0.2 M0.2 Q0.1=1

también tiene la
opción de evolucionar
al estado M0.4 sin
pasar por M0.3.
I0.2*I0.3

• Se debe programar la M0.4

evolución pero no es (0,1,-,0)

necesario repetir las


acciones de M0.3.
Ejemplo 1: Conversión de la RdeP
a código AP M0.1
(0,0,0,0)

• PASO 8
• La evolución de
marcaje de M0.4 a M0.5
Q0.3=1
M0.1 se debe realizar
en conjunto con el
estado M0.5
• Ambos son
condiciones de la
transición. M0.4

• Para programar la (0,1,-,0)

evolución a M0.1 se
deben evaluar ambos ___

estados M0.4 y M0.5. I0.1


Ejemplo 1: Conversión de la RdeP
a código AP
M0.1
(0,0,0,0)
___ ___
I0.4*I0.1*I0.3

M0.5 M0.2 Q0.1=1


Q0.3=1

___
I0.2*I0.3
• Con estos 10 segmentos
M0.3
Q0.1=0
se completa la
I0.2*I0.3
Q0.4=1
programación de la RdeP.
I0.3

M0.4
(0,1,-,0)

___
I0.1
Ejercicios propuestos
1. A través de un pulsador llamado “Pulsador1” se encenderán 2
pilotos simultáneamente. A través de un Pulsador2, se apagará
el Piloto1 y a través de un Pulsador3 se apagará el Piloto2, con
lo cual el sistema volverá a condiciones iniciales con ambos
pilotos apagados. El proceso debe ser cíclico. Obtenga la RdeP
que modela al sistema y la codificación en lenguaje Ladder.
2. Para la apertura de una puerta de seguridad, se requiere la
activación de 3 señales en un orden específico. Cada señal se
activa a través de un pulsador. Haga la RdeP para que el
sistema pueda abrirse únicamente en el caso que los 3
pulsadores se activen en la secuencia correcta. En caso de
equivocación el sistema se inicializa. Luego de abrir la puerta,
para inicializar el sistema basta con presionar cualquier señal.
Realizar la codificación en lenguaje Ladder.
Próximas Sesiones
• Semana 8: 24 de Marzo - Practica 3 (15 %):
Ejercicio con señales digitales con RdeP,
Simulación y Conexión del AP
• Semana 9: 31 de Marzo - Evaluación 1 (15 %):
Presentación de avance de proyecto - Exposición y
Artículo
PREGUNTAS Y COMENTARIOS

También podría gustarte