Acceso a M241 mediante OPC UA

De ISAwiki
(Diferencia entre revisiones)
(Funciones de la librería opcua útiles para la práctica)
Línea 25: Línea 25:
  
 
*[http://freeopcua.github.io/ FreeOpcUa: Open Source C++ and Python OPC-UA Server and Client Libraries and Tools]
 
*[http://freeopcua.github.io/ FreeOpcUa: Open Source C++ and Python OPC-UA Server and Client Libraries and Tools]
 +
*[https://www.unified-automation.com/downloads/opc-ua-clients.html UA Expert] Cliente OPC UA para pruebas.
 
*[https://media.readthedocs.org/pdf/python-opcua/latest/python-opcua.pdf Python OPC-UA Documentation]
 
*[https://media.readthedocs.org/pdf/python-opcua/latest/python-opcua.pdf Python OPC-UA Documentation]
 
*[https://www.youtube.com/watch?time_continue=96&v=-tDGzwsBokY What is OPC? UA in a Minute]
 
*[https://www.youtube.com/watch?time_continue=96&v=-tDGzwsBokY What is OPC? UA in a Minute]

Revisión de 13:04 8 oct 2018

Tabla de contenidos

Localización

Aula Schneider (laboratorio 4.B.12), situado en la planta baja del bloque 4 de los edificios departamentales de la zona oeste.

Objetivos de la práctica

Al término de esta práctica el alumno deberá ser capaz de:

  • Configurar el servidor OPC UA del M241 para servir las variables deseadas.
  • Configurar en Python una conexión como cliente al servidor OPC UA.
  • Navegar a través del árbol de objetos del servidor y leer y acceder a las variables configuradas del autómata.
  • Controlar el Lexium desde Python través de OPC UA y CANopen.

Funciones de la librería opcua útiles para la práctica

import opcua                                              - importa la librería
from opcua import Client 
cliente = Client("opc.tcp://10.0.0.52:4840")              - construye un objeto cliente OPC UA para un servidor
cliente.connect()                                         - conecta el objeto cliente
root = client.get_root_node()                             - navegación a través del árbol de objetos 
objects = root.get_child(['0:Objects'])
m241=objects.get_child(['2:M241-M251 data'])
sens1=m241.get_child(['2:Programa.Sensor1 (%IX0.0)'])
sens1.get_value()                                         - lectura de variable del autómata
bombilla=m241.get_child(['2:Programa.Bombilla (%QX0.0)'])
bombilla.set_value(True)                                  - escritura en variable del autómata

Enlaces a material adicional

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Tipos de páginas
Bloques temáticos
Herramientas