Proyecto UWS (7)

publicado en: Base de datos, Programación, SCADA | 0

Esta entrada es continuación de Proyecto UWS (6). Mi proyecto personal de entorno de desarrollo SCADA ha tomado nuevos derroteros. Tenía pendientes bastantes temas (usuarios, otros drivers, más controles para la interfaz…) pero se ha apropiado de él una necesidad que ha orientado la nueva versión. Pongo en situación: quiero almacenar una serie de valores históricos que se van a recoger manualmente, para poder analizarlos con posterioridad: sacar tendencias, exportar tablas, hacer cálculos… Podría recurrir a una hoja de cálculo, pero no es lo ideal si la tienen que manejar varias manos y el volumen de información es grande. Lo … Continuar

Corrosión galvánica

publicado en: General | 0

En la fotografía de la izquierda se muestra un sensor de proximidad que no funcionaba adecuadamente. He partido la cubierta, sellada herméticamente, para poder mostrar los contactos. Como se observa, están atacados por la corrosión. También la tarjeta, aunque en su caso es fácil de entender, ya que no se encuentra tan bien protegida; pertenece a un equipo que ha sufrido durante años condiciones duras, a la intemperie y sometido a altas temperaturas. Pero volvamos al sensor de proximidad. ¿Cómo puede afectar la corrosión a un equipo perfectamente sellado? Una ayuda: las pistas de la tarjeta son de cobre, los cables del sensor, de … Continuar

Proyecto UWS (6)

publicado en: OPC, Programación | 0

Esta entrada es continuación de Proyecto UWS (5). El anidamiento de clases en Python no tiene otra función que la de organizar el código. ¡Pero el orden es importante! En la última versión de UWS he reestructurado el código para darle una estructura menos difusa. También he renombrado algunos métodos para hacer la nomenclatura más coherente. En lo que toca a funcionalidad, hay muchas posibilidades nuevas: alarmas, driver OPC, registro en ficheros, base de datos, etc. Voy a ir comentando de forma resumida: La clase Tag ya no está aislada, sino dentro de la clase Memory, que a su vez … Continuar

Proyecto UWS (5)

publicado en: Programación, SCADA | 0

Esta entrada es continuación de Proyecto UWS (4). Hora de cambiarlo todo. Era necesario para que UWS avanzase en las líneas que expuse hace poco. Las principales novedades son: Se vuelca todo el peso en la clase Tag, y se eliminan mapeos de memoria de controladores. Por supuesto, debe seguir habiendo referencias a direcciones, pero a partir de ahora las memorias se gestionan como un diccionario de variables. ¿Cómo se determinan las tramas de un PLC Modbus, por buscar una pega? Sencillo, las memorias pueden ser de dos tipos: ordenadas y no ordenadas. En las primeras, el índice es numérico, … Continuar

Proyecto UWS (4)

publicado en: Programación, SCADA | 0

En la entrada previa sobre UWS terminaba proponiendo unas líneas de evolución del proyecto. Una de ellas era permitir la utilización de nombres simbólicos, en lugar de direccionamiento absoluto. Como se trata de algo casi directo de hacer (basta añadir un diccionario al ensemble, un método de importación y pequeñas modificaciones del servidor web), me he puesto manos a la obra. El uso de simbólicos permite al programador abstraerse de la estructura interna de los controladores, hace el desarrollo más inteligible, y con ello reduce las posibilidades de equivocación. En la nueva versión es posible agregar un símbolo de la … Continuar