RsLogix5000 Lab 09: Programación de Bloque de Función con RSLogix 5000 parte 2

20 Junio 2013

En esta sección del laboratorio, usted usará una rutina de escalera para vincular la salida de simulación generada en la hoja 2 con el resultado de simulación usado como una entrada en la hoja. Usted podría también haber cableado los dos valores en la rutina Function Block (Bloque de Función), pero de esta forma usted podrá usar referencias de entrada y de salida de la misma forma que las usaría en una aplicación real con puntos I/O reales.

 

1.    Haga doble click en MainRoutine (Rutina Principal) de MainProgram (Programa Principal) en MainTask (Tarea Principal) para abrirla.

 

2.    Cree un escalón simple de escalera que contenga: MOV, sim_output, y sim_result y acepte la edición de escalón.

 

3.    Verifique todo el proyecto en este punto haciendo click en el icono ‘Verify Controller’ (‘Verificar Controlador’).

 


Si no se detectan errores, la curva PID y la simulación han sido terminados

 

4.     Descargue su proyecto al controlador y cambie el controlador al modo Run.

 

 

Faceplates Active X


RSLogix 5000 proporciona faceplates Active X que pueden ser usados en RSView32 o cualquier programa que contenga Active X . Los Faceplates están disponibles para los siguientes bloques de función: Alarm (Alarma), Enhanced Select (Selección Mejorada), Totalizer (Totalizador), Ramp/Soak, Dispositivo Diferenciado de 2 Estados, Dispositivo Diferenciado de 3 Estados y Enhanced PID (PID Mejorado).
En esta sección del laboratorio, usted creará un faceplate en Excel para nuestro operador, pero primero usted necesita establecer un tópico OPC en RSLinx que el faceplate pueda usar para comunicarse con el controlador.

1.    Vaya a RSLinx y elija DDE/OPC y luego Topic Configuration (Configuración de Tópico).


2.    Haga click en el botón New (Nuevo) y cree un tópico llamado FBEnet.


3.    Encuentre el driver y procesador apropiados según los asigne el instructor de laboratorio y selecciónelo.
Si no está seguro de cuál es su procesador, por favor pida ayuda al instructor.


4.    Haga click en Apply (Aplicar) y luego en Done (Terminado) cuando haya acabado.
Ahora podemos iniciar Excel y colocar un faceplate PIDE en una hoja de trabajo.


5.    Elija Start>Programs>Microsoft Excel.

Una hoja de trabajo en blanco deberá aparecer en la pantalla.

Dado que los faceplates son controles de Active X, debemos acceder a la caja de herramientas de control “Control Toolbox” en Excel para insertar cualesquier objetos Active X en nuestra hoja.


6.    En el menú View (Ver) elija Toolbars>Control Toolbox (Barras de Herramientas>Caja de Herramientas de Control) para que la caja de herramientas sea visible.

 

 

7.    Haga click en el icono More Controls (Más Controles)   en la parte inferior de la caja de herramientas.


8.    En la lista que aparece, desplácese hacia abajo para seleccionar Logix 5000 PIDE Faceplate Control (Control de Faceplate Logix 5000 PIDE).


Su cursor debe haberse vuelto ahora un cursor de dibujo.


9.    Dibuje con su cursor una caja en la hoja para que tenga lo siguiente:

 


Ahora necesitamos vincular este faceplate con la instrucción PIDE en el controlador usando el tópico RSLinx que definimos antes.

 

10.    En Excel, haga click con el botón derecho del mouse en su faceplate PIDE y elija Logix 5000 PIDE Faceplate Control Object (Objeto de Control de Faceplate de Logix 5000) y luego Properties…(Propiedades...)


La siguiente ventana deberá aparecer:

 

11.    Complete el diálogo de Properties (Propiedades) como sigue:

 


* Como alternativa a teclear la información, haga click en la elipse para examinar al tópico FBENET y  las etiquetas siguientes en el procesador.

 

12.    Aplique el cambio y haga click en OK.


La etiqueta para nuestro PIDE es “PIDE_01” y este PID tiene alcance para el programa llamado “Main” (“Principal”). El Tópico es “FBEnet” que creamos en RSLinx para apuntar sobre EtherNet a nuestro procesador.

13.    Salga del modo de diseño seleccionando el icono triangular en la caja de herramientas de control Control Toolbox.

El siguiente faceplate deberá aparecer:

 

 

 14.    Haga click en el botón Tune…(Sintonizar...) en el faceplate para invocar la página tune/trend. Introduzca una ganancia proporcional (Kp) de 1.0 y una ganancia integral (Ki) de 5.0


 15.    De regreso al faceplate principal, haga click en el botón Auto para cambiar al modo automático y cambia el parámetro setpoint (SP) a un valor de 50.0 ya sea alimentando el valor en el campo de edición SP o con el deslizador vertical SP.


Observe el resultado en la tendencia en la página tune/trend.

 

 

Control de Drive Simple : Curva de Velocidad


 1.    Si usted está actualmente en línea con el procesador en RSLogix 5000, salga de línea con el proyecto.


 2.    Cree una nueva sección en el proyecto del controlador para el control de drive con las siguientes especificaciones:

  •    Task: Drives (Periodic Rate: 20 mSec) (Tarea: Drives (Proporción Periódica: 20 mSeg)
  •     Program: MainDrive, scheduled in the Task: Drives (Programa: DrivePrincipal, agendado en la Tarea: Drives)
  •     Routine: drive_blk, Function Block routine configured as the Main for MainDrive (Rutina: drive-blk, rutina de Bloque de Función configurada como Principal para DrivePrincipal)

 


El siguiente Project Tree (Árbol de Proyecto) será el resultado:

 

 

3.    En la hoja 1 de la rutina ‘drive_blk’ cree el siguiente diagrama:

  •     Los bloques PI y SCRV están en la categoría ‘Drives’
  •     SSUM está en la categoría ‘Select/Limit’ (Seleccione/Límites)
  •     SUB está en la categoría ‘Compute/Math’ (Computar/Matemáticas)
  •     LDLG está en la categoría ‘Process’ (Proceso)


Un Selected Summer (Sumador Seleccionado) (SSUM) alimenta una curva S-Curve (SCRV) que actúa como el parámetro central. Una señal de error es generada a través de Subtract (Restar) (SUB) y alimentada a la entrada de la función reguladora PI (PI). La salida reguladora es usada to drive (transmitir) la entrada de un bloque LeadLag (LDLG) que actúa como el drive simulado que está siendo controlado. La salida de la simulación es alimentada de vuelta al SUB como la segunda entrada para representar la variable de proceso en el cálculo de error. Nota: NO verifique esta rutina en este momento.

 

4.    Configure los parámetros como sigue:

  •     Line_Speed_Ref:    Controller scoped Real tag with a value of 1000.0 (Referencia de Velocidad de Línea:Etiqueta Real con Alcance de Controlador con un valor de 1000.0)
  •     Line_Ref_Select:    Controller scoped Bool tag with a value of 1 (Referencia de Velocidad de Línea:Etiqueta Bool con Alcance de Controlador con un valor de 1)
  •     Section_Jog:    Controller scoped Real tag with a value of 200.0 (Jog de Sección: 200.0 Etiqueta Real con Alcance de Controlador con un valor de 200.0)
  •     Section_Jog_Select:    Controller scoped Bool tag with a value of 0 (Seleccionar Jog de Sección: Etiqueta Bool con Alcance de Controlador con un valor de 0)
  •     Diagnostic_Run:    Controller scoped Real tag with a value of 5.0 (Ejecución de Diagnóstico: Etiqueta Real con Alcance de Controlador con un valor de 5.0)
  •     Diagnostic_Run_Select:    Controller scoped Bool tag with a value of 0 (Selección de Ejecución de Diagnóstico: Etiqueta Bool con Alcance de Controlador con un valor de 0)
  •    S-Curve (SCRV): SCRV_01 (Curva-S (SCRV): SCRV-01

                 - AccelRate = 50.0 (Proporción de Aceleración)

                 - DecelRate = 50.0 (Proporción de Decelaración)

                 - JerkRate (Proporción de Sacudida) = 10.0

  •     Proportional+Integral (PI): PI_01 (Proporcional + Integral)

                 - Kp = 1.0
                 - Wld = 0.1

  •     LeadLag (LDLG): LDLG_01

                 - Lag = 1.0

 

5.    En este momento, verifique la rutina.


Un error no resuelto localizado de retroalimentación ocurrirá. Este error se debe al hecho de que el orden de bloque no puede resolverse automáticamente con la ruta de retroalimentación de simulación que se curva de vuelta al bloque subtract. ¿Cuál valor debe resolverse primero: la entrada al LeadLag, o la entrada al bloque de Subtract (Resta)? Para resolver esta controversia, haga click con el botón derecho del mouse en al cable que va de la salida de LeadLag output a la entrada a Subtract y seleccione ‘Localized Feedback Wire’ (‘Cable Localizado de Retroalimentación) de la lista que aparece como se muestra:

 

 

Esto resolverá el orden de ejecución y la rutina puede verificarse exitosamente ahora. Fíjese que si el otro cable conectado a la entrada de LeadLag ha sido escogido, el orden de bloque resultante habría sido diferente.


6.    Descargue su proyecto al controlador, vaya en línea con el controlador y cambie el controlador al modo Run.


7.    Para observar la acción de la de la curva de velocidad, haga click derecho con el botón del mouse en el fólder Trends (Tendencias) y elija New Trend…(Nueva Tendencia) para crear una nueva tendencia.


8.    Nombre la nueva tendencia ‘Drive_1’ y haga clic en OK.


9.    Haga doble click en la nueva tendencia (en el fólder Trends) para abrirla.


10.    Haga click con el botón derecho del mouse en la tendencia y seleccione Chart Properties (Propiedades de Gráfica).

Haga los siguientes cambios de configuración:

 

  •     X-Axis    Lapso        30 Segundos
  •     Y-Axis    Máx/Min Opciones de Valor        Adaptar : Real Min = 0  Real Máx = 1000
  •     Plumas:    Agregue las siguientes etiquetas:

Scope:    MainDrive


                 SSUM_01.Out         Punto efectivo de velocidad
                 SCRV_01.Out          Perfil de velocidad a ser rastreado
                 SUB_01.SourceB     Retroalimentación de velocidad desde la simulación
                 PI_01.Out               Control de salida transmitiendo la simulación

 

11.    Aplique el cambio y haga clic en OK.


12.    Haga click en el botón Run (Ejecutar) en la parte superior de la tendencia para iniciar la generación de tendencias.


13.    Vaya a las etiquetas de controlador y cambie Line_Ref_Select a 0 y Section_Jog_Select a 1 para cambiar la entrada de referencia de velocidad a la curva de velocidad. Traiga la tendencia al frente para ver el resultado.

 

 

 

 

José Carlos Villajulca

Soy un apasionado ingeniero especializado en Control, Automatizacion e Instrumentación Industrial. Con mas 8 años de experiencia desarrollando proyectos y manteniendo sistemas de control en diversas plantas industriales. Soy director y webmaster de InstrumentacionyControl.NET y de MyAutomationClass.com. Cualquier consulta o comentario lo puedes hacer en la parte de abajo y escribiendo a mi email.

Email Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.