Glosario de Automatización • Tipo de dato definido por el usuario

¿Qué es un tipo de dato definido por el usuario (UDT)?

Ingeniería Merobix • • 7 min de lectura

Un tipo de dato definido por el usuario, o UDT, es una estructura de dato personalizada que usted crea agrupando varios tags relacionados en un solo tipo con nombre. En lugar de declarar presion de tuberia, presion de revestimiento, gasto de flujo, estado de valvula y una palabra de estado como cinco tags sueltos, usted define un tipo Pozo que los contiene a todos, y luego declara cada pozo como un tag de ese tipo. Los UDT, tambien llamados estructuras, son una de las funciones mas silenciosamente poderosas de la programacion moderna de PLC, y estandarizar sobre ellos es sin duda la mayor ganancia de mantenibilidad disponible para un programa SCADA de campo petrolero en crecimiento.

Volver al glosario

Tipo de dato definido por el usuario en una línea: Un tipo de dato definido por el usuario (UDT) es una estructura personalizada que agrupa tags relacionados en un solo tipo reutilizable con nombre, como un tipo Pozo que sostiene presion de tuberia, presion de revestimiento, flujo, estado de valvula y estado. Usted luego declara instancias de ese tipo, de modo que cada pozo queda descrito por el mismo conjunto consistente de miembros en lugar de tags individuales dispersos.

Agrupar tags relacionados en un tipo reutilizable

Un UDT se define una vez como una plantilla: usted lista los miembros que contiene, cada uno con su propio nombre y tipo de dato, y le da un nombre con significado al conjunto. Un UDT de Pozo podria sostener un real para la presion de tuberia, un real para la presion de revestimiento, un real para el flujo, un booleano o una enumeracion para el estado de valvula, y un entero de palabra de estado que carga bits de condicion empacados. Definido esto, usted puede ahora crear un tag de tipo Pozo, y ese unico tag carga cada uno de esos miembros como subelementos con nombre a los que accede por una ruta clara.

La ganancia sobre los tags sueltos es inmediata. Donde antes tenia decenas de tags independientes con nombres que solo la convencion mantenia relacionados, ahora tiene un tag por pozo cuya estructura es explicita y se autodocumenta. Referirse a la presion de revestimiento de un pozo significa direccionar ese miembro del tag de ese pozo, y es obvio de un vistazo a que pozo y a que valor se refiere. Las relaciones entre los valores (que estas cinco cosas describen todas un pozo) quedan codificadas en el propio tipo en lugar de vivir solo en una convencion de nombres que un ingeniero posterior tiene que inferir.

Como los miembros y sus tipos se definen en un lugar, el tipo se vuelve un contrato. Cada tag de ese tipo tiene exactamente los mismos miembros, en el mismo arreglo, con los mismos nombres. Agregue un miembro al UDT (digamos una temperatura de fondo) y cada instancia lo gana de forma consistente. Esta unica fuente de verdad sobre que datos describen un pozo, o un separador, o cualquier activo repetido, es lo que convierte una base de datos de tags dispersa en un modelo de datos organizado y predecible.

Codigo y faceplates HMI consistentes en cada pozo

Una vez que existe un UDT, tanto la logica como el HMI dejan de ser trabajo de una sola vez y se vuelven consistentes por copiar y pegar. Una rutina escrita para controlar un pozo opera sobre un tag del tipo Pozo, refiriendose a sus miembros por nombre, asi que la misma rutina aplica sin cambios a cada pozo: usted la apunta a un tag de pozo distinto y simplemente funciona. La logica ya no tiene que reescribirse ni redireccionarse con cuidado para cada pozo, porque la forma del dato sobre el que actua queda garantizada identica en todos los lugares donde se usa el tipo.

Los faceplates de HMI ganan la misma consistencia. Construya un faceplate que muestra y controla un pozo enlazando sus campos a los miembros de un tag Pozo, y ese unico faceplate sirve a cada pozo con solo apuntarlo a una instancia distinta. No hay pantalla por pozo que construir a mano y ningun riesgo de que la pantalla de un pozo derive de la de otro, porque todas renderizan la misma estructura. Decenas de pozos presentan una interfaz uniforme a los operadores, lo que reduce la capacitacion, reduce los errores y hace que todo el sistema se sienta coherente en lugar de ensamblado por partes.

Esta consistencia se compone conforme crece el programa, que es por lo que los UDT son una jugada tan fuerte de mantenibilidad. Estandarizar un UDT de pozo significa que una correccion o una mejora se hace una vez (al tipo, a la rutina reutilizable o al faceplate compartido) y aplica en todos lados de forma automatica. Agregar el pozo numero veinte es instanciar un tipo conocido y reutilizar logica y pantallas probadas, no otra ronda de trabajo a la medida. Cuanto mas grande se vuelve el campo, mas importa este apalancamiento, y mas un programa construido sin el acumula inconsistencia y esfuerzo con cada adicion.

Estandarizar un UDT de sitio para SCADA de campo petrolero

Definir un UDT de sitio estandar (un tipo Pozo, un tipo Separador, un tipo Compresor) y usarlo en todo un campo petrolero da a toda la operacion un lenguaje de datos comun, y el beneficio llega hasta el SCADA en la nube. Cuando cada pozo en el controlador es una instancia del mismo tipo, cada pozo expone un conjunto identico y predecible de puntos, asi que llevarlos a una plataforma como Merobix es uniforme en lugar de un ejercicio de mapeo a la medida para cada sitio. La estructura que organiza el dato en el controlador se traslada a como se monitorea de forma remota.

Esa uniformidad es lo que hace practicos los tableros a escala de flota y los faceplates con plantilla en la capa de monitoreo. Una sola plantilla de pozo construida una vez en la plataforma SCADA aplica a cada pozo porque cada pozo presenta el mismo dato con forma de UDT, asi que un operador ve la misma presion de tuberia, presion de revestimiento, flujo, estado de valvula y estado en el mismo lugar en la pantalla de cada pozo. Comparar pozos, detectar el atipico y desplegar un nuevo sitio se vuelven rutina, porque el modelo de datos se estandarizo en la fuente en lugar de reconciliarse despues de hecho.

La leccion mas amplia es que un estandar de UDT bien elegido es una inversion que se paga de forma continua conforme crece el programa SCADA. Cuesta un poco de reflexion inicial decidir que debe contener un Pozo y sostener la linea de usar ese tipo en todos lados, pero ahorra ese costo muchas veces en cada pozo posterior agregado, cada pantalla reutilizada, cada cambio hecho en un lugar en vez de en muchos. Para una operacion de campo petrolero en crecimiento, estandarizar sobre UDT de sitio es la decision estructural que mantiene mantenible a escala el programa de control y monitoreo en lugar de colapsar bajo su propia repeticion.

Preguntas frecuentes

¿Que es un UDT en un PLC?

Un UDT, o tipo de dato definido por el usuario, es una estructura personalizada que usted crea agrupando varios tags relacionados en un solo tipo con nombre, como un tipo Pozo que contiene presion de tuberia, presion de revestimiento, flujo, estado de valvula y una palabra de estado. Usted luego declara instancias de ese tipo, de modo que cada pozo es un tag que carga todos esos miembros. Reemplaza muchos tags sueltos nombrados por separado con una sola estructura organizada y reutilizable.

¿Como facilitan los UDT los faceplates de HMI?

Porque cada instancia de un UDT tiene exactamente los mismos miembros en el mismo arreglo, usted puede construir un faceplate que se enlaza a esos miembros y luego apuntarlo a cualquier instancia. Un solo faceplate de pozo sirve a cada pozo con solo apuntarlo a un tag de pozo distinto, sin pantalla por pozo que construir a mano. Decenas de pozos presentan entonces una interfaz consistente, reduciendo tanto el esfuerzo de desarrollo como el error del operador.

¿Por que estandarizar un UDT es bueno para el SCADA de campo petrolero?

Estandarizar un UDT de sitio significa que cada pozo, separador o compresor expone un conjunto identico y predecible de datos, asi que llevar sitios a una plataforma SCADA en la nube y construir tableros con plantilla se vuelve uniforme en lugar de a la medida para cada uno. Las correcciones y mejoras se hacen una vez al tipo y aplican en todos lados, y agregar un sitio nuevo es instanciar un tipo conocido en lugar de trabajo a la medida. Esa consistencia es lo que mantiene mantenible a escala un programa SCADA en crecimiento.

Más en PLC, RTU, HMI y DCS
Tipo de dato y metadatos de métrica Sparkplug  •  Crear un rol de usuario en SCADA  •  Licenciamiento concurrente vs por usuario nombrado  •  Todo en PLC, RTU, HMI y DCS →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →