WOLFRAM

Sistema de tanques OPC UA

Este ejemplo demostrará el uso de la comunicación OPC UA en un modelo de System Modeler a través de un sistema simple de tanques. OPC UA es un protocolo de comunicación seguro, robusto y escalable utilizado en numerosas industrias alrededor del mundo. Consulte el sitio web de la OPC Foundation para más información.

Para ejecutar este ejemplo necesitará

Las versiones más recientes de System Modeler y Mathematica.

Por favor haga una selección:

Obtener una
prueba gratuita
Continuar
con la descarga

¿Por qué es útil OPC UA en combinación con System Modeler?

Poder integrar las capacidades de modelado de System Modeler con objetos del mundo real en tiempo real es algo extremadamente útil. Usar OPC UA permite una comunicación segura entre hardware, como una Raspberry Pi o un PLC, y modelos de simulación.

Comunicación mediante la biblioteca OPC UA

El modelo de ejemplo está compuesto por un sistema de tanques simple que puede comunicarse mediante el protocolo OPC UA. La medición del nivel de líquido del primer tanque se escribe en un nodo de valor real en el servidor OPC UA. Este valor luego es leído por otro componente, para ser usado como referencia para el nivel de líquido del segundo tanque.

Vista de diagrama del sistema de tanques usando comunicación OPC UA.

Integrar comunicación OPC UA en modelos de System Modeler permite a las industrias que utilizan OPC UA conectar señales directamente a un modelo con datos en tiempo real. Esto abre muchas posibilidades en teoría de control, procesamiento de señales y mucho más.

¿Cómo funciona?

Los componentes de System Modeler definidos en la biblioteca OPC UA de Modelica utilizan código C externo para llamar funciones a una implementación de la biblioteca OPC UA en código C. A través de los componentes OPC UA en System Modeler, se pueden tanto leer como escribir valores en nodos de un servidor OPC UA. Dado que OPC UA es multiplataforma , en comparación con OPC Classic, el servidor OPC UA también puede ejecutarse en chips pequeños o en una Raspberry Pi, por ejemplo.

Código C externo

Mediante llamadas a código C externo, System Modeler puede comunicarse en tiempo real con cualquier hardware externo compatible utilizando OPC UA.

Represente el nivel de ambos tanques a lo largo del tiempo. El primer tanque comienza lleno (1 m) y luego se vacía. La medición del nivel de líquido en el primer tanque se escribe en el servidor con una frecuencia de muestreo de 0.2s. El segundo tanque utiliza esta medición como valor de referencia para su propio nivel de líquido, lo cual podemos observar en la representación gráfica en la parte inferior.

Conexión a hardware de System Modeler

Por supuesto, también es posible reemplazar los modelos de los tanques con valores provenientes de sensores de tanques reales, o simplemente conectar algún hardware para controlar las señales de referencia de los tanques en el modelo. Le mostraremos cómo hacer esto último. Para ingresar estas señales en el modelo, podemos usar Model Plug, como en este ejemplo, o Mathematica para conectar hardware con una simulación en ejecución. Para poder ejecutar un modelo como este, desde luego se necesita acceso a un Arduino o dispositivo similar.

Así se ve la vista de diagrama del modelo si utilizamos Model Plug para conectar a hardware externo para controlar la señal de referencia del primer tanque y el flujo de entrada de líquido al segundo tanque. Este modelo es adecuado para entrenamiento de operadores.
Imagen del Arduino con perillas que controlan los valores de referencia para los tanques. Está conectado a la simulación en System Modeler mediante la biblioteca Model Plug.
Representación de las entradas desde las perillas (arriba) y de los niveles de ambos tanques a lo largo del tiempo (abajo). La primera señal establece el nivel de líquido deseado en el primer tanque. La segunda señal controla el flujo de entrada al segundo tanque. Sin embargo, el segundo tanque seguirá intentando mantener el mismo nivel que el primero, reaccionando más rápido o más lento según el flujo de entrada.

Si tuviéramos tanques reales con líquido y sensores, podríamos reemplazar los modelos de los tanques en el modelo anterior con datos de sensores. En ese caso, se podrían usar entradas y salidas de los tanques usando Arduinos para conectar a System Modeler, y usar OPC UA para transferir los datos de los sensores entre los tanques. Para más casos de uso, consulte también cómo utilizar OPC Classic.

OPC UA

Use el protocolo de comunicación industrial OPC UA en System Modeler para comunicarse con sistemas del mundo real.