Cómo Hacer un HMI SIEMENS-LabVIEW

Interfaz de Comunicación Labview - PLC

COMUNICACIÓN NI-OPC SERVERS CON SIEMENS S7-200 CPU-222 Y LABVIEW 

Requerimientos de sistema:

  • Labview + DSC.
  • NI OPC Servers.
  • Conversor NI USB 485 (opcional: conversor NI 232, conversor Ducatil 232 - 485). 
  • Software de programacion PLC para PLC S7200.

INTRODUCCIÓN

La conexión entre un PLC y un PC es una aplicación típica en el área industrial.  En este
demo script se describirá la forma de conectar una computadora con OPC a un PLC
Siemens S7-200.  En la página web de National Instruments www.ni.com/opc puede
hallarse mayor información. 


ARQUITECTURA DEL SISTEMA 

El Simatic S7-200 tiene un puerto RS-485, por lo que se requiere instalar este tipo de
puerto en la PC. 

Actualmente se dispone de dos opciones:  

- Utilizar un conversor USB-RS485 de National Instruments
- Utilizar un conversor USB-RS232 de National Instruments, y un conversor RS232-485 
de Ducati 



DESCRIPCIÓN DEL SISTEMA PLC

El PLC Siemens S7-200 tiene un puerto de comunicaciones RS-485.  Las CPU 224XP
tienen dos puertos, cuyas direcciones son configurables desde el software del PLC
(STEP-7).  Puede utilizarse cualquiera de ellos.   


Para programar el PLC se utiliza el cable de programación PPI con conversión a USB, y 
el software de programación STEP-7, ambos propio de Siemens. 

Este cable de programación se utiliza solamente para configurar el PLC y descargar el
programa.  Para la comunicación HMI OPC no se utiliza ese cable, sino un puerto de
comunicaciones seriales RS-485.   

Los terminales de comunicación del puerto del PLC son los siguientes.  Como puede
observarse, los pines 6 y 7 tienen altos voltajes que podrían dañar un interfaz RS-485
estándar, por lo que es necesario construir un cable que interconecte solamente las
señales necesarias. 



CONEXIÓN RS485 PROFIBUS DE SIEMENS A RS485 GENÉRICO

Según el manual S7-200 Programmable Controller System Manual, en el capítulo 7
(pág. 223) las conexiones para un puerto RS-485 genérico son las siguientes: 


A continuacion se resume en una tabla  las conexiones necesarias: 


Por lo tanto es necesario construir un cable adaptador entre el puerto del PLC y el 
puerto RS-485 del computador.   

PROGRAMACIÓN  DEL PLC

El PLC se programa con su propio lenguaje de escaleras utilizando su propio software
STEP-7.  Para este demo se desarrollara un programa que activa y desactiva las salidas
Q0.1 y Q1.1 del PLC a diferentes velocidades. 

En el Capítulo 2, Getting Started del S7-200 System Manual se puede encontrar una
introducción sencilla a la programación del PLC.  A continuación se darán las
instrucciones básicas. 

1. Instalar el software STEP-7
2. Conectar el cable PPI Siemens del USB del computador al puerto del PLC
3. Abrir el programa STEP-7 
4. En el menú de iconos a la extrema izquierda, seleccionar Comunicación
5. En la pantalla de comunicación, en la sección derecha, hacer doble clic para actualizar 
dispositivos.



6. La pantalla mostrará todos los dispositivos encontrados.


7. En este punto, tomar nota de los siguientes parámetros principales (pueden cambiar
según la configuración del PLC y del cable PPI): 
                   
                    a. Dirección Local (ó Master): 0 
                    b. Dirección Remota (es decir del PLC): 2
                    c. Velocidad de transferencia: 9,6 kbit/s 

8. Hacer clic en Aceptar para volver al proyecto
9. Usando las instrucciones del capítulo 2 del manual S7-200 System Manual construir el 
siguiente programa.




10. Cargar el programa en la CPU usando el botón  Aceptar cambiar la CPU a modo
STOP.  Confirmar que en el PLC el selector de ejecución esté en RUN. 



11. Correr el programa presionando el botón   Aceptar cambiar la CPU a modo RUN. 
En este punto los relés de las salidas digitales Q1.0 y Q1.1 se deben encender y apagar
a diferentes velocidades. 

Se puede cerrar el proyecto guardándolo para futura referencia.


CONFIGURACIÓN DEL NI OPC SERVER

En esta sección se mostrará cómo configurar el NI OPC Server para comunicarse con el
PLC que se acaba de programar.  No es necesario que el PLC tenga un programa
corriendo, pero es conveniente hacerlo para confirmar la lectura de las señales. 

1. Abrir el programa NI OPC Servers Configuration
2. Abrir un nuevo proyecto usando el botón New Project ubicado en la parte superior 
izquierda.  Aceptar cerrar y desconectar clientes activos en caso que fuera necesario. 


3. Añadir un canal haciendo clic en la figura del conector Click to add a cannel en la parte
izquierda superior de la pantalla.  Un canal es una forma de comunicación del computador
con el hardware, especificando además qué tipo de PLC se utilizará. 
4. Agregar un nombre al canal.  En este caso se utilizará el nombre Siemens. Presionar el
botón Siguiente. 
5. De la lista desplegable, seleccionar  Siemens S7-200.  Habilitar el diagnóstico para depurar
errores.  Presionar el botón Siguiente. 


6. Seleccionar la marca y modelo del PLC al cual se conectará.  En este caso seleccionar
Siemens S7-200.  No se requiere habilitar los diagnósticos.  Presionar Siguiente




7. Seleccionar los parámetros de comunicación de acuerdo a la configuración tanto del PLC
como del adaptador serial.  Sobre todo, confirmar el puerto con el cual se instaló el
conversor USB-SERIAL.  Presionar el botón Siguiente.


8. En la ventana de Write Optimizations dejar los parámetros predeterminados.  Presionar el
botón Siguiente


9. Especificar la dirección Master (o local) del computador de acuerdo a la configuración del
PLC.  Presionar el botón Siguiente


10. Aparecerá la pantalla que resume la configuración del canal.


11. Se puede copiar el texto con fines de documentación como se muestra a continuación:

Name: Siemens
Device Driver: Siemens S7-200
Diagnostics: Disabled
Communications Parameters 

Serial ID: COM 4
Baud Rate: 9600
Data Bits: 8
Parity: E
Stop Bits: 1
Flow Control: None
Report Errors: Yes
Close port when idle:  After 15 seconds

Write Optimization:
Write only latest value for all tags
10 writes per read

Master ID: 0
12. Finalizar la configuración.
13. Puesto que en un canal de comunicaciones se pueden conectar varios equipos, a 
continuación es necesario agregar un dispositivo.  Presionar Click to add a device en la
parte izquierda superior de la pantalla.


14. Dar un nombre al dispositivo.  En este caso se ha nombrado MiPLC.  Presionar el botón
Siguiente.  


15. Seleccionar el modelo del PLC como S7-200. 


16. Determinar a qué dirección de dispositivo se conectará.  Ésta debe coincidir con la
dirección cuando se configuró el PLC, en este caso la número 2 (en formato Decimal). 
Presionar el botón Siguiente. 


17. Configurar los parámetros de tiempo de comunicación.  Request timeout es el tiempo que
espera el driver sin comunicación antes de emitir una falla, no la tasa a la que el driver se
comunica con el PLC (llamada poll rate).  Se pueden dejar los valores predeterminados. 
Presionar el botón Siguiente


18. Se puede activar la opción Auto Demotion para que el driver pueda intentar reconectar el
dispositivo en caso de una pérdida de comunicación.  Presionar el botón Siguiente. 


19. La pantalla Summary resume la configuración del dispositivo.  Se puede copiar y pegar la
información para documentar la configuración.



Name: MiPLC
Model: S7-200
ID: 2 (Decimal)

Request Timeout: 1000 ms
Fail after 3 attempts

Auto-Demotion: Enabled
Demote after 3 failures
Demote for 10000 ms
Do not discard writes during demotion period

Channel Assignment: Siemens
Driver Name: Siemens S7-200
File Name: siemens_s7_200_u.dll 

Presionando el botón de Finalizar termina la configuración del dispositivo. 



Para arrancar el servidor, ir al menú Runtime y seleccionar Connect.


CONFIRMACIÓN DE COMUNICACIÓN CON QUICK OPC CLIENT

En este punto ya está configurada la comunicación del PLC Siemens S7-200 con el
computador mediante OPC; es decir que desde un cliente OPC se podría monitorear
las entradas, salidas, y parámetros del sistema del PLC.  

Sin embargo es conveniente agregar una etiqueta estática (Static Tag) para probar la
comunicación desde el cliente OPC rápido antes de programar el HMI desde LabVIEW. 
De esta manera, si la conexión con el cliente rápido falla, no tiene sentido intentar
hacer la comunicación desde LabVIEW. 

1. Añadir una etiqueta estática haciendo clic en el enlace Click to add a static tag.  
2. Se leerá todo el puerto de relés Q0.  Para ello, configurar las propiedades de la etiqueta 
como se muestra a continuación. 


Se informa que cuando se ha intentado leer líneas individuales (por ejemplo sólo Q0.0
como boolean) el software apunta a una dirección de un puerto mayor (en este caso Q1.0). 
Se desconoce la causa y cómo direccionar al puerto 0.  Sin embargo, más adelante cuando
se utilice LabVIEW como cliente OPC el direccionamiento se hará correctamente
escribiendo la dirección deseada. 

3. Presionar Aceptar una vez configurada la etiqueta.  La etiqueta se habrá agregado al
proyecto.  



4. Para confirmar que el PLC se esté comunicando con el servidor OPC correctamente se
puede lanzar el cliente OPC rápido.  Presionar el botón Quick Client   ubicado en la 
barra de herramientas.  En el árbol de la parte superior izquierda de la pantalla seleccionar
el canal y el dispositivo que se ha configurado; en este caso, Siemens.MiPLC.  En la parte
superior derecha de la pantalla aparecerá la variable con su valor y parámetros de
configuración. 


5. Cerrar el Quick OPC Client.  No es necesario guardar la configuración. 


6. Guardar el proyecto.  En este caso se ha seleccionado el nombre s7opcconfig
La configuración del servidor OPC ha sido terminada.  Se puede cerrar el servidor.


MONITOREO DESDE LABVIEW

Una vez que se ha configurado correctamente el servidor OPC se puede conectar
cualquier cliente OPC para monitorear los PLC.  En este ejemplo se utilizará LabVIEW
como cliente OPC. 


1. En LabVIEW, abrir un nuevo proyecto.  Grabarlo como OPCtest.
2. Crear un nuevo VI en My Computer para monitorear el PLC.  Nombrar al VI como 
Cliente. 





3. En Cliente.vi, crear el siguiente programa para desplegar el estado de las líneas 
digitales Q0.0 y Q0.1 del PLC en el panel frontal.



4. La comunicación de LabVIEW como cliente OPC se puede hacer de varias maneras.  En
este demo se utilizará una Shared Variable conectada al servidor OPC.  Ambos
elementos deben estar contenidos dentro de una librería.  Referenciarse a la ayuda de
LabVIEW y a la página web para mayor información sobre Shared Variables y Librerías.

                  a. En My Computer, hacer clic secundario y seleccionar New>I/O Server
                      Nota: En caso de no tener instalado LabVIEW DSC no aparecerá este acceso. 
                      Sin embargo aún se puede monitorear el PLC mediante OPC utilizando
                      DataSocket.  En este enlace se encuentra mayor información.


                  b. Seleccionar OPC Client de la lista y presionar Continue



                  c. En la pantalla de configuración de Cliente OPC, seleccioanr el servidor National
                      Instruments.NIOPCServers.V5.  Update Rate (ms) es la tasa a la que el servidor
                      se comunicará con el PLC.  Configurar a 100 ms en lugar de los 1000 ms
                      predefinidos debido a que el programa del PLC corre relativamente rápido. 
                      Presionar el botón OK




                       d. En el proyecto se habrá agregado una nueva librería con el servidor OPC
                          dentro de ella. Grabar todo el proyecto, nombrando la librería como
                          LibreriaOPC.    


                       e. Crear una Shared Variable dentro de la LibreríaOPC haciendo clic secundario
                           sobre ella y seleccionando New>Variable
                       f. El nombre de la nueva variable será Q0_0.  Es preferible evitar usar caracteres
                           especiales como el punto. 
                       g. En Data Type, seleccionar Boolean.
                       h. Seleccionar Enable Aliasing para ligar la variable al servidor OPC. 



                        i. Presionar el botón Browse.  Navegar hasta encontrar el servidor OPC, hallar el 
                           canal de comunicación Siemens, y el dispositivo MiPLC, que son los
                           parámetros configurados en el NI OPC Server.  Nótese que dentro de MiPLC
                           está la Tag Estática relés creada anteriormente, pero en este caso
                           seleccionamos MiPLC.


                
                     j.  Presionar el botón OK.
                     k. De regreso al panel de Propiedades de Shared Variable, nótese que en el 
                         campo Bind to: se ha pegado automáticamente la ruta del PLC al que se debe
                         conectar:
                         My Computer\LibreriaOPC.lvlib\OPC1\Siemens.MiPLC
                         Incluir al final la dirección deseada (en este caso Q0.0) utilizando antes un
                         punto para separar los campos.  La dirección quedará como:
                         My Computer\LibreriaOPC.lvlib\OPC1\Siemens.MiPLC.Q0.0 
                      l. Seleccionar el Access Type en modo read only


                     m. Para acelerar la velocidad de monitoreo, seleccionar la configuración Network
                          en el listado de la parte izquierda de la pantalla, y deshabilitar la casilla Use
                          Buffering.  Esto podría ocasionar que algunas lecturas no se hagan, pero se
                          tendrá una mejor lectura del PLC en tiempo real.  



                           n. Presionar el botón OK.  El proyecto quedará como se muestra en la captrua de
                               pantalla.


5. Para monitorear el estado de la línea digital Q0.0, arrastrar la variable de ese nombre
hacia el diagrama de bloques y cablearla al indicador boleano.




6. Correr el programa.  En el panel frontal se mostrará el estado de la línea digital.
7. Seguir el mismo procedimiento para la creación de una nueva Shared Variable llamada 
Q0_1 para monitorear la línea Q0.1 del PLC. 



8. Monitorear el estado del contador T33 del programa del PLC: Crear una nueva Shared
Variable con la siguiente configuración: 
  •  Name: counter
  • Data Type: UInt32 (entero sin signo de 32 bits)
  • Bind to: My Computer\LibreriaOPC.lvlib\OPC1\Siemens.MiPLC.T33
  • Access Type: read only



9. Desactivar el Use Buffering para observar los últimos datos (seleccionar Networking
en la lista de opciones a la izquierda) 
10. Arrastrar la variable al diagrama de bloques, y crear un indicador para observar el valor
del contador. 



11. Crear un control boleano en el panel frontal para comandar la línea Q0.2 del PLC.  Para
ello, crear una nueva Shared Variable con la siguiente configuración: 
  •  Name: Q0_2
  • Data Type: Boolean
  • Bind to: My Computer\LibreriaOPC.lvlib\OPC1\Siemens.MiPLC.Q0.2
  •  Access Type: write only 




12. Desactivar el Use Buffering para observar los últimos datos (seleccionar Networking
en la lista de opciones a la izquierda) 
13. Arrastrar la variable al diagrama de bloques y conectar al control boleano.  Grabar y
correr el programa. 



14. Nótese que la velocidad de lectura y escritura puede reducirse debido a las múltiples
operaciones.  Por esta razón se recomienda hacer la menor cantidad de lecturas y
escrituras posibles.  En el siguiente ejemplo se lee todo el puerto Q0 del PLC mediante
una Shared Variable del mismo nombre utilizando la tag estática relés creada cuando
se configuró el OPC.  También se utiliza una estructura de eventos para enviar los
datos de escritura a las líneas Q0.2 hasta Q0.5 solamente cuando existe un cambio en
el valor. 



  

Comentarios

Publicar un comentario

Lo más leído del Blog

Explicación del Estado de la CPU y errores de LED Siemens S7 300

Instrucciones de Bit

Introducción al PLC