UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
INTRODUCCIÓN A Stateflow ® DE MATLAB ® Y RSLogix 5000 DE ROCKWELL AUTOMATION
ELABORADO POR:
DUVAN GUILLERMO GUILLERM O BENAVIDES BENAVIDES JUAN JAIR CASTRO REINOSO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
®
Stateflow
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
®
Stateflow
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Stateflow ® DEFINICIÓN El toolbox Stateflow ® es un entorno para modelar y simular lógica de decisión combinatoria y secuencial basado en máquinas de estado y diagramas de flujo. Stateflow® permite combinar representaciones gráficas y tabulares, lo que incluye:
Diagramas de transición de de estado Diagramas de flujo Tablas de transición de estado Tablas de verdad
Con el fin de modelar la forma en que el sistema reaccionará ante los eventos, las condiciones basadas en el tiempo y las señales de entrada externas.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
CHART La libreria de Stateflow ® posee un único elemento o bloque, denominado denominado Chart, Chart, que sirve para representar un sistema de eventos discretos.
Este bloque se puede conectar con otros bloques de Simulink ®, de tiempo continuo o discreto.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
STATE CHART Un Chart contiene un State Chart el cual es una representación de un sistema orientado a eventos (reactivo). En un sistema orientado a eventos, el sistema realiza una transición de un estado (modo) a otro, si la condición que define el cambio es cierta.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Un State Chart está formado por elementos gráficos sobre los que van escritos ciertos elementos de texto escritos en un lenguaje especial.
.
Elementos gráficos:
Estados Transiciones Uniones
Elementos de texto:
Datos Eventos
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
ESTADOS Los estados tienen forma de rectángulo con los bordes redondeados y representan las fases del sistema de eventos. Junto a la esquina superior izquierda, cada rectángulo lleva un texto con un nombre que identifica al estado, luego se indican las acciones que llevara a cabo el sistema cuando este en esta fase.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Descomposición de estados Un estado puede contener otros estados, o sub-estados dentro de él. Hay dos posibles formas de descomposición de un estado en sub-estados.
Descomposición AND: Los sub-estados se activan simultáneamente al activarse el estado y se marcan con línea discontinua.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Descomposición OR (exclusiva): Los sub-estados se activan uno a uno al activarse el estado y se marcan con línea continua.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
TRANSICIONES Las transiciones tienen forma de flecha y representan las transiciones o saltos entre estados, se asocian a eventos que se producen en el sistema. Cada transición representa un evento del sistema y se dibuja como una flecha que va desde el borde de un estado hasta el borde de otr o estado. Una transición especial es la llamada transición por defecto (default-transition), que sirve para señalar el estado inicial del sistema o el primer estado en el que entrara el sistema al iniciar su evolución. Se reconoce por su forma ya que en el extremo opuesto a la derecha lleva un pequeño círculo Negro. Cada transición puede tener un texto escrito junto a ella que indica el evento que ha de producirse para que se dispare la transición así como las acciones que entonces el sistema emprenderá. Este texto puede ser: •
Evento: La transición se dispara al producirse el evento en el sistema.
•
Condición [C]: La transición se dispara sí la condición, es verdadera.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIONES Las uniones tienen forma de pequeño círculo. Estas pueden ser:
Uniones conectivas: Son puntos de bifurcación del State Chart y representan puntos de decisión del sistema de eventos. Permiten conectar una transición de entrada con varias transiciones de salida. Al entrar en una unión conectiva, el sistema, a través de una condición, selecciona una de las transiciones de salida para su evolución. Uniones de tipo historia: Se utilizan en estados que han sido divididos por una descomposición OR. Si en el estado se pone el símbolo “H entonces cada vez que se active el estado, el primer sub-estado que se activara será el que estuvo activo por última vez. ”
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
CREACIÓN DE UN MODELO
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para empezar se debe abrir el entorno de diseño, esto se puede hacer de dos formas:
1. Desde la consola principal de MATLAB ®, en el Command Window se digita s t a t e f l o w sin espacios.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
A continuación luego de dar enter aparecerán dos ventanas, en la de la izquierda aparecen todos los elementos de la librería y en la de la derecha el toolbox de Simulink® con un Chart listo para empezar a trabajar
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
2. Desde la consola principal de MATLAB ®, se da click en el icono de Simulink ®.
Luego saldrá la siguiente ventana en donde se busca la librería de Stateflow ® y al dar click aparecerán los elementos de esta. Seguido de esto se da click en el icono de nuevo para abrir el entorno de trabajo, allí se arrastrara el bloque Chart
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Ahora se guarda el archivo con extensión .mdl y para empezar a hacer el diseño del State Chart se da doble click sobre el Chart, a continuación saldrá la siguiente ventana. En la parte lateral izquierda se encuentran las herramientas de diseño.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para explicar el procedimiento de cómo crear un State Chart se modelara el siguiente proceso: Se tiene una banda transportadora que mueve envases hacia la sección de llenado la cual se encuentra al final de la banda, en esta sección por medio de una válvula on/off se llena el envase durante 4 segundos, para esto la banda se detiene, luego el envase es retirado de la banda por otro proceso. Al final de la banda se tiene un sensor óptico que se activa cuando el envase se encuentra en la posición de llenado. El proceso es cíclico a partir de que se presiona el botón de START.
Para este proceso se tienen las siguientes entradas, salidas y variables locales: Entradas (booleanas): start; a (sensor óptico) Local (entera): t (temporizador). Salidas (booleanas): m (motor); v (válvula).
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Inicialmente se colocan los estados en el espacio de trabajo, para esto se da click en el icono superior de la barra de herramientas de diseño, para este caso se usaran tres estados.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Dando click sobre el signo de interrogación se puede nombrar cada estado y además escribir las acciones que se realizaran en el sistema en cada uno de ellos. Paso seguido se colocan las transiciones para esto solo basta con hacer click en un extremo del estado y arrastrar el mouse hasta el extremo del otro estado. Para colocar la transición por defecto se hace click en el tercer icono de la barra.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para escribir las condiciones en las transiciones se da click sobre la misma automáticamente saldrá un signo de interrogación en el cual al hacer nuevamente click se habilitara para escribir.
TEMPORIZADOR Nótese que en el estado E1 se han puesto dos transiciones, una de ellas empieza y termina en el mismo, esta es la forma de hacer temporizadores en un State Chart, esta transición está ligada a la condición t=t+1 que se encuentra dentro del mismo estado, de manera que solo pasa al siguiente estado cuando se cumple la condición en la segunda transición t==4. El siguiente paso es declarar las variables que se han usado para poder hacer la simulación, una forma rápida de hacerlo es en el menú Tools haciendo click en Explore saldrá la siguiente ventana, allí se agregan las variables, que son tipo dato, dando click en el icono
de la barra de herramientas superior.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para editar cada variable se puede hacer de dos formas, la primera es haciendo click sobre cada parámetro, en donde se puede cambiar el nombre, el tipo de variable que puede ser entrada, local o salida y el tipo de dato. Una variable local es una variable interna del proceso que no representa una entrada o una salida para el PLC. La otra forma de editar los parámetros es ingresando la información en la parte derecha de la ventana. Automáticamente se puede ver en el Chart, al que se le ha cambiado el nombre por Proceso las entradas y las salidas.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para poder ejecutar la simulación se agregan dos Manual Switch, dos Constant que se editan como booleanas y un Scope. Uno de los errores más frecuentes es no cambiar el directorio, para esto en la consola principal de MATLAB ® se escoge la ubicación en donde se encuentra el archivo.
Para que la simulación no pare automáticamente se recomienda cambiar el tiempo de simulación a inf. A continuación se ve como queda el modelo en el entorno de Simulink ®, la evolución del State Chart y la visualización de la señal de salida en el Scope.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Hasta este punto el modelo ya está funcionando en MATLAB ®, ahora el siguiente paso es generar el código para RSLogix 5000, para esto se da click derecho sobre el Chart en el entorno de Simulink ®, se sigue la ruta PLC Code Generation >> Options y aparecerá la siguiente ventana en donde se selecciona Rockwell RSLogix 5000 17, 18.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Ya configuradas las opciones, la ventana quedara de la siguiente manera, nótese que adicionalmente se cambió el nombre de la carpeta en donde quedara guardado el código que por defecto es plcsrc.
Se da click en Generate code y aparecerá la siguiente ventana que indica que el código ha sido generado.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
A continuación se crearan dos carpetas las cuales quedaran ubicadas en el mismo directorio en donde está el archivo del modelo, el código, el cual es un archivo con extensión .L5X, se encuentra en la carpeta que se ha nombrado codigo.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
PASOS PARA CARGAR EL MODELO EN RSLogix 5000
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Luego de abrir el emulador, en la parte izquierda se encuentra un explorador, en donde se hace click derecho sobre la carpeta Add-On Instructions, luego al seleccionar la opción Import Add-On Instruction saldrá una ventana en donde se busca el archivo .L5X , es necesario indicar que el archivo contiene una instrucción para que pueda ser visible y de este modo importarlo.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
A continuación luego de dar click en Import saldrá la siguiente ventana en donde sin hacer modificaciones se da click en OK y de esta manera ya está el código agregado al emulador.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Se puede verificar que el código del modelo ha sido agregado revisando que dentro de la carpeta Add-On Instructions está la instrucción cuyo nombre es el mismo del Chart de MATLAB ®, que para este caso es Proceso. Dentro de esta instrucción se encuentra el listado de variables en Parameters and Local Tags en donde se especifica el tipo de cada una. Nótese que aparecen más variables que las que se habían declarado en MATLAB ® y es porque al convertir el modelo a texto estructurado el software crea variables adicionales. También se encuentra dentro de la instrucción el ítem Logic en donde al dar doble click se visualiza el código del modelo, el cual se presenta como un CASE de dos casos, es muy importante tener en cuenta el número de cada caso para que la simulación funcione, para este modelo en particular con el número 2 se inicializan las condiciones o variables locales y con el número 3 se inicia el programa.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Ahora el siguiente paso es cargar el modelo en el PLC con el fin de simularlo, para esto primero en el explorador del emulador se sigue la ruta Tasks >> MainTask >> MainProgram >> MainRoutine en donde al dar doble click aparece el entorno de programación en Ladder. En este entorno en la parte superior se encuentran todos los elementos de diseño agrupados en pestañas por categorías. En la pestaña Add-On al final se encuentra el bloque del modelo que se ha diseñado el cual se agrega a la rutina al dar click sobre el mismo.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para lograr simular el modelo se deben asociar las entradas y salidas de este a entradas y salidas físicas del PLC, esto se hace modificando los parámetros del bloque que se acaba de agregar. En el primer ítem se agregan todas las variables del modelo, para esto se crea un nuevo Tag dando click derecho sobre Program Tags en el explorador, seguido de New Tag, luego aparecerá una ventana en donde se le dará un nombre y se seleccionara el tipo de dato el cual es el nombre del bloque. Aquí para este caso se nombrara IO y el tipo de dato es Proceso.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Ahora se agrega el Tag al bloque, esto se hace dando doble click sobre el ítem y escribiendo su nombre o buscándolo en el menú desplegable.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
En el siguiente ítem se carga todo un bloque de variables locales con el fin de seleccionar el caso del código del modelo.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
El siguiente paso es asociar las variables del modelo a entradas y salidas físicas del PLC, esto se hace de la misma manera que con el ítem anterior con la diferencia que se debe seleccionar una entrada o salida concreta.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Luego de asociar todas las variables el bloque queda de la siguiente manera, se recuerda que las entradas son representadas con I, las salidas con O y las variables locales con C.
Para este caso las variables están asociadas así: start: entrada 00 a: entrada 01
m: salida 00 v: salida 01
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Hasta este punto el modelo ya está listo para simular, para correr la simulación primero se debe de abrir la aplicación RSLogix Emulate 5000 Chassis Monitor que emula el PLC. Para que no se presente error se debe verificar que la posición del Emulator y del Module coincidan con las indicadas en la ventana del explorador, de no ser así solo basta con dar doble click sobre el ítem a cambiar y en las propiedades se edita el slot .
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Ahora en la ventana del emulador se sigue la ruta Communications >> Download se descarga el programa y se verifica que este en Run Mode si las barras laterales de la rutina se ponen de color verde.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL
Para comenzar la simulación, en el ítem ssMethodType del bloque del modelo , se ingresan los valores que inicializan las condiciones y el programa en ese orden, se recuerda que para este caso es el número 2 y el número 3 respectivamente. Paso seguido se da click derecho sobre el Module en el Chasis Monitor y se sigue la ruta Properties >> I/O Data en donde finalmente se pueden activar las entradas y verificar que pasa con las salidas, esto se visualiza al mismo tiempo en esta ventana como en el bloque del modelo.
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS - FACULTAD TECNOLÓGICA – INGENIERÍA EN CONTROL