Está en la página 1de 60

Curso de programacion

RSLogix 5000
Modulo B a s i c o

EDUCATIONAL SERVICES
Temario
Plataforma Logix
ControlLogix
FlexLogix
CompactLogix
Introduccion a RSLogix5000
RsLinx
Programacion RsLogix5000
Plataforma Logix
La plataforma Logix provee una sola
arquitectura de control para drives,
movimiento y sistemas de control de
procesos.

•Maxima integracion de sistemas


•Re-utilizacion de programas
•Flexibilidad en comunicaciones y
•Facilidad de mantenimiento

ControlLogix, FlexLogix y CompactLogix,


son parte de la plataforma Logix
ControlLogix -Caracteristicas
Logix5550 •Integracion con sistemas de PLC existentes
RUN I/O

RS232
•I/O Modular + Remotos (4 000 analogos o 128 000 discretos en total)
BAT OK

•250 Puntos de Conexion remota maximo para recoger I/O


RUN REM PROG

•Insercion/Remocion de tarjetas bajo voltaje presente


•Tamano compacto

•Multiple procesadores en el mismo chasis


•Control de movimiento integrado
•Comunicaciones eficientes (Ethernet, ControlNet,
DeviceNet, DH+ / RIO)
•Modelo Productor/Consumidor
•Memoria modular (64k - 7.5Mbytes)
ControlLogix -Componentes

DC INPUT

0 1 2 3 4 5 6 7 8 9101112131415
O
0 1 2 3 4 5 6 7 8 9101112131415
K

Controlador:
RUN I/O

Chasis: BAT
RS232
OK •Logix5555
RUN REM PROG
Fuente de Poder:
•4 Slots •Logix5563
•Montada en
•7 Slots
Chasis Modulos I/O
•10 Slots
•Redundantes •Discretos
•13 Slots
•Analogos
•17 Slots
•Especiales
ControlLogix -Procesadores
Procesadores 5555 (1756-L55Mxx): 750K, 1.5M, 3.5M o 7.5M bytes de
memoria para el usuario. El submodulo de memoria puede ser reemplazado.

Procesadores 5563 (1756-L63): 8Mbytes de memoria “fija” mas un puerto


para una memoria Flash no volatil. CPU de alta desempeno y ejecucion de alta
velocidad

Caracteristicas generales
•Multi-tareas (32 tareas periodicas o continuas, con prioridad configurable)

•32 Programas por Tarea

•Direccionamiento simbolico (IEC-1131-3)

•Reside en cualquier slot

•Diagramas de Escalera, Bloques de Funcion, Texto Estructurado

•Set de Instrucciones avanzado


FlexLogix - Caracteristicas
Misma “maquinaria” de control que la plataforma de alto
desempeno ControlLogix
Software de Programacion: RsLogix5000
Flex I/O, sistema compacto de I/O de montaje en riel DIN
Redes :DeviceNet, Control Net y Ethernet/IP – 2 slots para
comunicacion
Puerto RS232-C para programacion local o dispositivos
seriales
Ahorros en costo de acuerdo a la aplicacion
Aplicaciones de Control Distribuido
Puntos de I/O Maximo recomendado = 256
FlexLogix - Procesadores
Tamano de memoria disponible: 64k o
2 PCMCIA
512k Expansion
Ports FlexBus
Ports
1 Tarea Continua, 7 Tareas
Periodicas RUN
I/O
Allen-Bradley RS232
PCMCIA1

32 Programas por Tarea PCMCIA2


BAT
OK
FlexLogix5430TM RUN REM PROG

2 FlexBus para I/O “Local”

Set de Instrucciones avanzado


RS232 Power Battery Key
Puerto RS232-C para programacion o Connector Connector Cover Switch
comunicacion Procesador-Procesador

Direccionamiento simbolico (IEC-1131-3)


FlexLogix - I/O
Expansion a 2 rieles locales de I/O (1794-xxxx)
Modulo 1794-FLA para controlar el segundo FlexBus

Digitales (AC/DC)
Analogos
Allen-Bradley Allen-Bradley Flex I/O Allen-Bradley Flex I/O
12VDC SINK INPUT 12VDC SOURCE OUTPUT

Especiales/Inteligentes OK

Flex I/OTM 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

RUN Flex I/O Flex I/O


I/O Allen-Bradley Allen-Bradley
Allen-Bradley RS232 12VDC SINK INPUT 12VDC SOURCE OUTPUT

PCMCIA1
PCMCIA2
BAT
OK
TM RUN REM PROG
FlexLogix5430 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
CompactLogix - Caracteristicas
Sistema de control compacto
Controlador Logix + I/O Compact
Excelente para aplicaciones pequenas
a nivel de maquina
Modular, escalable y poderoso
Opciones de Comparte el modelo de datos, set de
comunicacion: instrucciones y ambiente de
Ethernet programacion con otras plataformas
Logix
DeviceNet
Sistema de montaje en riel, no
RS232 requiere chasis
DH485
30 Modulos de I/O max
CompactLogix - Componentes

Expansion a Expansion a
otro banco de otro banco de
modulos modulos

Controlador: Fuente de Modulos


Poder Modulos de I/O:
5320 Inteligentes:
Digitales
5330 DeviceNet
Analogos
5335

Otros componentes: Tapas de Terminacion, Cables de Expansion


CompactLogix - Procesadores
Numero de Memoria no Modulos Bancos Puertos de Tareas
Catalogo volatil de I/O de I/O Comunicacion
Max Max
1769-L20 64 Kbytes 8 2 1 (RS-232-C) 4
CompactLogix5320 Integrados
1769-L30 256 Kbytes 16 3 2 (RS-232-C) 4
CompactLogix5330 Integrados
1769-L35E 64 Mbytes 30 3 1 (RS-232-C) 8
CompactLogix5335 CompactFlash 1 (EtherNet/IP)

• Set de Instrucciones avanzado

• Direccionamiento simbolico (IEC-1131-3)

• Software de Programacion RsLogix5000

• Ambiente multi-tareas
RsLogix5000 - Introduccion
Allen Bradley ha introducido un mismo
ambiente de programacion basado en
Windows: RsLogix5, RsLogix500,
RSLogix5000

RSNetworx
RsLinx, RsView, RsNetworx y
RSLogix500

RSView
RSLogix5

RSLinx

RsLogix5000
Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0 Ver 1.0

RsLogix5000 es el ultimo miembro de


la familia que aporta programacion
estructurada, modularidad y poderosas
herramientas para el diseno de software

Apoyado de RSLinx, que conforma los drivers de


comunicacion, ofrece una variedad en opciones de
comunicacion.
RsLogix5000 - Caracteristicas
Ambiente comun de programacion para ControlLogix,
FlexLogix, CompactLogix y futuras plataformas Logix
Similitud de la interfase de programacion con otras
versiones de RsLogix
Edicion de multiples rungs al mismo tiempo
Cortar/Copiar/Pegar entre diferentes programas,
permite la reutilizacion de codigo
Direccionamiento Simbolico, hace el programa auto-
documentable y mas facil de leer
Herramienta de conversion de programas de PLC5 o
SLC500
Interoperabilidad con otros productos de Rockwell
RsLogix5000 – Ambiente de Programacion
Barra de Menu Barra de Herramientas Barra de
Estandard Elementos mas
Comunes

Barra de
Logica Barra
Online
Comun

Organizador
del
Editor de
Controlador
Logica
de
Escalera
RsLogix5000 – Menus
File > Edit > View >
New Undo Toolbars
Open Redo Controller Organizer
Close Cut Errors
Save Copy Search Results
Save As Paste
Search >
New Component Delete Ladder Element
Find
Print Add Ladder Element
Replace
Print Options Controller Properties
Cross Reference
Logic >
Monitor Tags Communications > Tools >
Edit Tags Who Active Options
Verify Go Online Import Tags
I/O Forcing Upload Export Tags
Start Rungs Edits Download
Accept Rungs Edits Program Mode
Test Rungs Edits Run Mode
Assemble Rung Edits Clear Faults
RsLinx - Definiciones
RsLinx es un servidor de comunicaciones que provee conectividad
con los dispositivos de pisos a una gran variedad de software como
RSLogix5, RSLogix5000, RsView, RsNetworx, etc., asi como a
terceros.
Driver: Modulo de
programa que ejecuta
codigo para manejar el
hardware de acuerdo al
protocolo requerido

EDS: Electronic Data


Sheet, contiene la
informacion electronica
para cada dispositivo en
campo
RsLinx - Versiones
RsLinx – Ambiente de programacion
Barra de Herramientas Barra de Menus

Dispositivos
Drivers en la red
configurados

RSWho
Configure Driver
Laboratorio 1 – OnLine Comms
Objetivo: Comunicarse en linea (OnLine) con el procesador.

Procedimiento:
1. Accese RSLinx
2. Configure el drive adecuado
3. Verifique que el cableado este correcto
4. Certifique que el procesador aparece en el lado derecho
de la pantalla

Lab 1.1 Lab 1.2


Serial Ethernet
Lab 1.1 - Comunicacion Serial

Seleccione el driver
RS232-DF1 Devices

Nombrelo

Verifique:
Comm Port = COM1
Device = Logix5550/CompactLgx
Lab 1.2 - Comunicacion Ethernet
Seleccione el driver
Remote Devices Via Linx
Gateway

Nombrelo

Asigne el IP Address de la tarjeta 1756-


ENET
172.24.14.150
Lab 1 - Conclusiones
Similitudes entre ambos laboratorios
• Procedimiento
• Interfase al usuario
• Flexibilidad al nombrar
Diferencias entre ambos laboratorios
• Com. RS232 se “autoconfigura”
• Com. Ethernet debemos tener el IPAddress
• Una tarjeta Ethernet debe haber sido previamente
configurada
• La comunicacion RS232 es directa con el
controlador, mientras que Ethernet es a traves de un
tarjeta especializada
RsLogix5000 – Conceptos

Online: Entablar comunicaciones en tiempo real con el controlador


a traves de RsLinx y un hardware determinado
Upload: “Subir” a la computadora la imagen de un controlador
(programa y datos)
Download: “Bajar” de la computadora al controlador la imagen de
un controlador (programa y datos)
Modo Program: Modo de operacion del controlador donde la
logica no es ejecutada y el I/O no es escaneado. Los cambios /
ediciones son permitidas
Modo Run: Modo de operacion del controlador donde la logica es
ejecutada, el I/O escaneado y los cambios/ediciones son permitidos
con limitaciones
Laboratorio 2 – Download, Upload

Lab 2.1 Download

Lab 2.2 Upload


Break 1
RsLogix5000 - Estructura


Controlador






El
El procesador
procesador es
es llamado
llamado


Controlador
Controlador
Tags


Los
Los datos
datos son
son contenidos
contenidos dentro
dentro de

de


Tags.
Tags.

Programas
La
La logica
logica es
es contenida
contenida en
en
Programas.
Programas.
RSLogix5000 – Tags

Tags: Area de memoria nombrada que contiene datos de un Tipo


especifico
Controlador
CantFallasTot
Los Tags tienen un Alcance:
Controlador Numero
12 entero
Programa
Programa
El Alcance (Scope) se refiere a lo Fallas_Est105
visible que sera el Tag dentro del
controlador 6

Memoria del controlador


RSLogix5000 - Tags
Reglas para asignar nombre a los Tags

Maximo 40 caracteres
Debe iniciar con letra o guion bajo (“_”), los
siguientes caracteres pueden ser letras,
numeros o guion bajo
No puede contener dos guion bajo continuos
No puede terminar en guion bajo
Mayusculas o minusculas tienen el mismo significado
RsLogix5000 – Tipo de Datos
Predeterminados – Utiliza los Tipos de
Datos Basicos para formar estructuras

Definidos por Modulos – Creados al


incluir un modulo a nuestra configuracion de
I/O, no pueden ser alterados

Definidos por Usuario – Creados por el


usuario utilizando todos los anteriores
RsLogix5000 – Tipo de Datos Basicos

BOOL - Boleano. Un solo bit que es 1 o 0 (ON/OFF)


SINT - Entero corto. Numero de ocho bits con signo, con
valores de –128 a +127. Tambien utilizado para
representar caracteres ASCII
INT - Entero. Numero de 16 bits con valores de –32,768 a
+32,767
DINT - Doble-entero. Numero de 32 bits con signo, con
valores de –2147483648 a +2147483647
REAL - Numero de punto flotante con valores de –3.40E38 a
+3.40E38
RsLogix5000 – Tipo de Datos Predeterminados

Basicos + Estructuras
TIMER – Incluye dos DINTs para el preset y acumulado y una
serie de BOOLs para estado

COUNTER – Incluye dos DINTs para el preset y acumulado y una


serie de BOOLs para estado
31…………………………….……………0
Estructura Preset
= 12 Bytes Acumulado

PID, SCALE, DEADTIME, CONTROL, AXIS_SERVO, DERIVATIVE,


DOMINANT_SET, FBD_MATH, HI_LIMIT, FUNCTION_GENERATOR,
MOTION_GROUP, INTEGRATOR……………
RsLogix5000 – Tipo de Datos Predeterminados

De esta manera se ve la estructura TIMER en RSLogix5000:


PRE, ACC > DINT
EN, TT, DN, FS, LS, OV, ER > BITS
RSLogix5000 – Tipos de Datos Definidos por Modulos

Tipo de Dato definido por un modulo 1756-DNB (DeviceNet)

El elemento Diag mostrado en la figura contiene varios


Tags, cuyo Tipo de Dato es DINT.
RSLogix5000 - Arrays
Secuencia de Elementos, numericamente indexados, del
mismo Tipo de Datos
El Indice inicia en 0 y se extiende hasta el numero de elementos
menos 1.

Un Array puede tener hasta 3 dimensiones, a menos que sea parte de


una estructura donde solo es permitida 1 dimension
Un Tag tipo Array ocupa un bloque continuo de memoria en el
controlador con cada elemento en secuencia

Estaciones > DINT[3] Estaciones > DINT[3,3]

0 DINT[0] 0 DINT[0,0] DINT[0,1]


1 DINT[1] 1 DINT[1,0] DINT[1,1]

2 DINT[2] 2 DINT[2,0] DINT[2,1]


RSLogix5000 – Tags De Controlador

Los Tags de Controlador (Controller Scope) son visibles a traves


de todo el Controlador, asi como fuera del mismo






No
No existen
existen limites
limites en
en el
el numero
numero de
de
Tags
Tags de
de Controlador,
Controlador, excepto
excepto por
por la
la Tag
memoria
memoria misma
misma ..
RSLogix5000 – Modulos de I/O


 

#



'&

!





 
$%

"
 
























Tags
Tags de
de Controlador
Controlador son
son creados
creados Tags Modulo
para
para modulos
modulos que
que requieran
requieran una
una
imagen
imagen de
de I/O
I/O

Los
Los modulos
modulos “Inteligentes”
“Inteligentes” deben
deben
ser
ser nombrados.
nombrados. Los
Los nombres
nombres seran
seran
utilizados
utilizados por
por las
las instrucciones
instrucciones yy por
por
los
los Tags
Tags Consumidores.
Consumidores.

Los
Los Modulos
Modulos pueden
pueden estar
estar en
en el
el
mismo
mismo chasis
chasis que
que el
el controlador
controlador oo
en
en chasis
chasis remotos
remotos aa traves
traves de
de
ControlNet
ControlNet

Todos
Todos los
los Modulos
Modulos son
son accesibles
accesibles aa
traves
traves del
del Controlador
Controlador
RSLogix5000 –Programas
La logica es contenida en Rutinas, mientras que las Rutinas
son contenidas en Programas

Un
Un Programa
Programa puede
puede contener
contener un
un numero


numero





ilimitado
ilimitado de
de Rutinas
Rutinas (excepto
(excepto por
por la
la memoria).
memoria). Tags Modulos
Cada
Cada rutina
rutina dentro
dentro de
de un
un Programa
Programa debe
debe
tener
tener un
un nombre
nombre unico
unico

Programa
El
El Programa
Programa ejecuta
ejecuta solamente
solamente unun Rutina,
Rutina,
conocida
conocida como
como lala Rutina
Rutina Principal
Principal (Main
(Main Tags
Routine).
Routine). Todas
Todas las
las demas
demas Rutinas
Rutinas deben
deben
ser
ser llamadas
llamadas de
de la
la principal
principal oo de
de otras
otras Main Routine
Routine

Los
Los Programas
Programas pueden
pueden contener
contener tambien
tambien
Tags.
Tags. Estos
Estos Tags
Tags seran
seran visibles
visibles solamente
solamente
dentro
dentro del
del Programa
Programa yy son
son conocidos
conocidos como
como
Tags
Tags de
de Programa.
Programa.
RsLogix5000 - Tasks
Los Programas estan contenidos en Tasks (Tareas). Un Programa no
funcionaria si no estuviera incluido en un Task.

Un
Un Task
Task puede
puede contener
contener hasta
hasta 32


32





Programas.
Programas. Cuando
Cuando unun Task
Task esta
esta Tags Modulos
activo,
activo, ejecuta
ejecuta cada
cada uno
uno de
de sus
sus
Programas
Programas enen el
el orden
orden definido
definido por
por el
el
usuario
usuario Task 32 por Task
Programa
Program (32 per task)
Program (32 per task)
Tags

Main Routine
Un
Un Task
Task puede
puede ser
ser Continuo
Continuo oo Routine
Periodico
Periodico

ControlLogix
ControlLogix puede
puede contener
contener hasta
hasta
32
32 Tasks
Tasks
RsLogix5000 – Task Continuo
Un Task Continuo esta siempre activo. Despues de ejecutar todos sus
Programas, inicia de nuevo.
Solo existe un Task Continuo en el Controlador.






Tags Modulos

Task 32 por Logix


Task (32 per controller)
Task (32 per controller)
Program 32 por Task
Program (32 per task)
Program (32 per task)
Tags

Main Routine
Routine
RSLogix5000 – Task Periodico
Un Task Periodico es activado en intervalos de tiempo. Cuando ocurre, se
interrumpe el Task Continuo para ejecutarse. Una vez terminado de ejecutar
todos sus Programas, el Task Continuo reinicia.






Tags Modulos

Task 32 por Logix


Task (32 per controller)
Task (32 per controller)
Programa 32 por task
Program (32 per task)
Program (32 per task)
Tags

Main Routine
Routine
RsLogix5000 - Organizador
Informacion relacionada con el Controlador:
Propiedades, Tags y, Fault & Power-Up Handler

Tareas > Programas > Rutinas

Grupos de Movimiento y Tendencias

Tipos de Datos

Configuracion de I/O

Similar al Explorador de
Windows y comun al resto
del software de Rockwell
Laboratorio 3 – Crear un programa

Objetivo: Crear el programa para un Controlador, identificando


el hardware asociado y la estructura en software.

Tip: Grabar el programa cada 5 minutos.


Laboratorio 3 - Conclusiones
La sintaxis con la que los Tags asociados a modulos se crean es
la siguiente:

Local:0:I
I: Input, O:Output, C:Configuration

Slot
Rack Local

El nombre del Tag no dice nada acerca del tipo de modulo. La unica
referencia seria el numero de Slot y el Tipo de Dato.

Existe diferencia en la forma de presentar la informacion con respecto a


otros procesadores.

El nombre del Tag y la de sus elementos pudiera ser confusa.


Break 2
RSLogix5000 – Tag Alias
Un Tag Alias es un Tag que apunta a otro Tag. El Tag
Alias podria ser utilizado para accesar la informacion de
otro Tag.






La informacion reside
Tag Alias Tag
siempre en el Tag base

Los Alias pueden ser utilizados


ademas para:
Nombrar puntos de I/O

Permitir que los programas sean


reusables

! Los Tag Alias no son dinamicos,


es necesario editarlos OffLine
RsLogix5000 – Tag Alias Scope
Los Tag Alias pueden ser creados de Alcance (Scope)
Controlador o Programa

Alcance Controlador






Tags
Apunta a Tags de Controlador Tag Alias

unicamente. No puede hacerlo Task (32 por controlador)


Task (32 per controller)
a Tags de Programa porque Task (32(32
Program perpor
controller)
task)
Program (32 per task)
estos no son vistos a nivel Program (32 per task)
Tags
Controlador

 Util para nombrar puntos de I/O


RsLogix5000 – Tag Alias Scope

Alcance Programa






Apunta a Tags de Programa y Tags
a Tags de Controlador Tag Alias

 Util para nombrar puntos de


Task (32 por controlador)
Task (32 per controller)
Task (32(32
Program perpor
controller)
task)
Program (32 per task)
I/O que se utilizan solamente Program (32 per task)
Tags
en un programa Tag Alias

Permite la reutilizacion de
rutinas y programas al hacer
logica con Alias genericos de
Alcance Programa que apunten
despues a Tags de Controlador
Laboratorio 4. Tags y Alias
Objetivo: Crear Tag Alias que apunten a I/O, reforzar
conceptos
Laboratorio 4. Conclusiones
Los Tags Alias se deben modificar Offline

El usuario define cual sera la rutina principal de cada


programa

Los Task, Programas y Rutinas pueden ser nombrados de


acuerdo a nuestras necesidades

Podra definirse el orden de ejecucion de los


Programas?
Afirmativo (proximo Lab)
RSLogix5000 – UDT’s
Logix5000 permite al usuario definir Tipos de Datos que pueden
ser utilizados para crear Tags
 












 






$
%$
)



&'
 (
(&







"

Tags UDT









 



 


"!

 




 

"



Una
Una UDT
UDT permite
permite elel agrupamiento
agrupamiento de de
datos
datos en
en un
un solo
solo tag
tag
•Recolecta
•Recolecta datos
datos relacionados
relacionados
•Reduce
•Reduce la
la longitud
longitud de
de la
la lista
lista de
de tags
tags
•Asegura
•Asegura que
que los
los nombres
nombres sean sean
exactamente
exactamente los
los mismos
mismos

Las
Las UDTs
UDTs son
son accesibles
accesibles aa traves
traves del
del No
No hay
hay limites
limites en
en el
el numero
numero de
de UDTs
UDTs
controlador.
controlador. (excepto
(excepto por
por la
la memoria).
memoria).
RsLogix5000 – UDT’s vs PLC
Se acostumbraba utilizar varios archivos de datos para concentrar la informacion
de un equipo (estacion, maquina, motor, etc.)

Las UDT’s integran este concepto dentro del mismo controlador, evitando tener
que tener documentos que describieran la manera de organizar la informacion
N10 B13 T14
STA 1
1-10 STA 1 1-10 STA 1 1-5 STA 1
11-20 6-10 STA 2 N10:1-N10:10
STA 2 11-20 STA 2
B13/1-B13/10
21-30 STA 3 21-30 STA 3 11-15 STA 3 T14:1-T14:5

UDT con 3 elementos de Tipo


de Datos basicos
Tag STA 1
DINT[10]
BOOL[10] Tag STA 2

TIMER[10] Tag STA 3


RSLogix5000 – UDT’s para Principiantes

Creacion
de la
UDT
RsLogix500
reserva el
minimo en
memoria…
Dword = 32 Bits

Tags
RSLogix5000 – UDT’s para Expertos

La estructura de
la UDT tiene el
mismo tamano
pero su
distribucion es
mejor

Los Tags estan mejor


“documentados”, mas
explicitos.
Laboratorio 5.
Laboratorio 6.


BAT
RUN

'

RUN
" &
 


  

I/O


OK




REM
 "

RS232
"  

Productor



Tag
 

PROG
 "  
"



! 
"  
 



  

 
 



  



 
"
 ! 
  "

"


"!   !
  


"  


  
Tag "!  
!


 

 
 
 



 

BAT



RUN



RUN


  
   
I/O

OK


REM



RS232

  
"!


 "
PROG

 ! 

Consumidor

 


   

"  

) "  

!
   "
 
Tag

"  

 



  


BAT
RUN

  
RUN

" 

I/O

OK



REM
RS232

 
"
PROG

Consumidor
RsLogix5000 – Productor/Consumidor
RSLogix5000 – Productor/Consumidor

El modelo Productor/Consumidor puede efecuarse a traves de ……


ControlNet, cuando los controladores se encuentran en chasis separados
Backplane, cuando los controladores estan en el mismo chasis

Se efectua independientemente del modo de operacion del controlador (Run,


Program, Fault)
Cuando el Controlador esta en modo Program o Fault, los tags
producidos/consumidos se quedan en el ultimo estado
Ocurre de manera asincrona al programa

! Todo esto ocurre por el tipo de arquitectura en hardware de la


plataforma y controladores
Laboratorio 7. Productor/Consumidor
FIN DE CURSO

EDUCATIONAL SERVICES

También podría gustarte