Proyectos con varias disciplinas

Desenvolupament No Comments »

Atención: tocho de post que me sirve de terapia para canalizar las tensiones sufridas durante la última puesta en marcha.

Las clasificaciones dependen de lo que se quiera clasificar. Dicha esta perogrullada, una posible clasificación de los proyectos informáticos serían los que dependen únicamente de los informáticos y el cliente final, y por otro lado, los que dependen de los informáticos, profesionales de otras disciplinas y el cliente final.

En esta última clase, surgen problemas que hay que tener en cuenta, inexistentes si únicamente hay que tratar con el cliente final. Ejemplos del primer caso serían una web o un programa de gestión, en que como mucho, externamente se puede depender del ISP, pero que suelen ” hablar el mismo idioma”. Un ejemplo del segundo sería una automatización ( de un riego de cultivos, una planta, etc ). Aquí, a parte, pueden entrar en juego maquinistas, instaladores de componentes mecánicos, electricistas o electrónicos. El problema es que los informáticos piensan como informáticos, los electrónicos com tal, los electricistas, operarios, o montadores a su manera, etc. En términos informáticos, la API de intercamio de información entre estos gremios no está bien definida y puede llegar a requerir más atención nuestra de la estimada inicialmente. Y normalmente, la parte informática es la última en implementarse, con el consiguiente peligro de tener que absorber los posibles cambios o descoordinaciones en los pasos anteriores.

¿Cómo plantearse estos proyectos? Pues no tengo una lista de 10 reglas, ya que mi experiencia no es tan dilatada, pero según los casos que me he encontrado, dependerá básicamente de lo que se vaya a automatizar y de quién lleve el peso del proyecto. Por lo que he visto, contra más tierra haya, más problemas podemos tener. Es decir, si es por ejemplo una planta, seguramente el responsable de sistemas tenga claro lo que quiere y trabajará conjuntamente con los electrónicos para que controlen los procesos y con los informáticos para que recojan todos esos datos y los exploten (Scada). Pero si en el proyecto hay tierra, hay obras; y si hay obras, lógicamente el peso del proyecto lo lleven ingenieros de caminos, con jefes de obra, encargados y tal que, por lo que yo he visto, el tema de la automatización lo tienen más flojo, o al menos, están menos sensibilizados a la hora de por ejemplo, vigilar no cargarse un bus de comunicaciones con una máquina por hacer un agujero precipitadamente.

En estos proyectos, seguramente desde que se comienza la obra hasta que lleguemos nosotros a instalar el software pasen varios meses, con los consiguientes cambios que hayan podido haber durante el transcurso de ésta, algunos de los cuales podrían afectarnos directamente. Lo bueno sería identificar en nuestra aplicación cuáles son los elementos críticos que si sufriesen alguna modificación podrían tener un impacto grande sobre ella, y estar atentos durante el desarrollo de la obra por si se modificasen. Por ejemplo, en una automatización de riego de varios kilómetros, quizás hemos contado con montar 3 buses de comunicaciones y 3 puestos de control. Para ello nos han asegurado enganches eléctricos en ciertas zonas. Podría darse el caso de que uno de estos enganches se retrase mucho o que simplemente nos diga luego la compañía que ahí no puede ir: ¿nuestra aplicación es capaz de soportar un cambio de situación de los puestos de control? O hay que hacer un nuevo bus provisional porque antes de la puesta en marcha no se podrán unir dos tramos: ¿nuestra aplicación soporta el añadido de un nuevo bus? A ver, soportar lo debería soportar, pero ¿lo podemos reconfigurar fácilmente?Debemos actualizar un sistema viejo con comunicaciones por radio a uno con comunicaciones por cable. A última hora, por retrasos en las obras, vemos que no dará tiempo a actualizarlo todo antes de la puesta en marcha: ¿soporta nuestro sistema funcionar en modo mixto?

Otro punto es el intercamio de información entre la parte electrónica (autómatas, sensores, actuadores) y nosotros. Aunque informáticos y electrónicos son más afines, no hay que confiarse. Por ejemplo, en el control de algún proceso, si no lo hemos tenido que diseñar nosotros, únicamente nos deberán pasar las variables necesarias para actuar sobre él; fácil. El problema puede venir si nosotros tenemos que diseñar el algoritmo de control y no somos quienes programamos los autómatas. Se piensa un algoritmo y se le pasa a los programadores de autómatas. Pero éstos, al menos con los que yo he trabajado, suelen usar Grafcets para programarlos. De momento nunca hemos conseguido que el algoritmo haga lo que se pensó al 100%. ¿Qué suele suceder entonces? Que es la parte final, se va contrareloj, se testea y si el control funciona en líneas generales, ya está. Entonces, aún quedando pequeños detalles que en según qué circunstancias el control acaba haciendo “algo parecido” a lo pensado inicialmente, resulta difícil justificar un retraso en la entrega porque el algoritmo no actúe exactamente como se pensó, si está cumpliendo en un 95% su funcionalidad.

Como resumen, en proyectos de este tipo, mejor tener muy bien identificados los puntos críticos de nuestra aplicación y estar muy atentos a posibles cambios que les puedan afectar.

nMSXtiles v0.2.6

Desenvolupament, MSX, nMSXtiles 2 Comments »
livingstone-msx
Aquí dejo una nueva versión del nMSXtiles, la 0.2.6. Agradezco a MsxKun el que se haya mirado el programa y me haya propuesto una lista de funcionalidades y mejoras a realizar, algunas de las cuales he añadido en esta versión. También a harrison por usarlo, colaborando de manera importante en el Goon Docks, y proponerme mejoras.
He añadido las siguientes funcionalidades:
  • Zona de edición de pantalla
    • Regla en filas y columnas
  • Bancos de tiles
    • Con doble click en un tile se edita (equivalente al botón “From Bank” )
    • Permite copiar y pegar tiles.
    • Permite pegar solamente el patrón de colores de un tile.
  • Diseño de tiles
    • Añadido botón “X” para borrar el diseño.
    • Añadido botón “R” para reordenar los píxels colocando el color más usado como fondo del tile, intercambiando los colores de fondo y patrón cuando sea necesario.
    • Anadidos botones para cambiar en una sola vez todos los colores de fondo o patrón.

Importar gráficos con nMSXtiles

Desenvolupament, MSX, nMSXtiles No Comments »

Conforme me van saliendo necesidades voy añadiendo funcionalidades al programa. Ésta ha sido relativamente fácil debido a la clase QImage de las librerías Qt que facilita bastante la faena.

He añadido una funcionalidad para poder importar a los bancos de tiles una imagen en formato PNG creada con nuestro editor gráfico favorito. De esta manera tendríamos estos tiles disponibles para crear las pantallas. Según la documentación, QImage puede leer además archivos en formatos: GIF, JPG, PBM, PGM, PPM, TIFF, XBM y XPM, aunque hay que hacer unas comprobaciones que no he hecho (si alguien quiere probar).

El programa espera un fichero de 256 x 192 píxels respetando las restricciones de color del MSX y asignará cada tercio a cada uno de los tres bancos de tiles.

Como no tenía ningún ejemplo mio, he capturado una pantalla de un “conocido juego” como si la hubiese diseñado por ejemplo con el GIMP. Aunque la utilidad real sería para otro tipo de pantallas que aprovechen el concepto de tile, no me he podido resistir a ver cómo quedaba la nave.

salamander1
De todas maneras, en el banco 2 sí que se pueden apreciar los tiles con los que se creó la plataforma de despegue. Obviamente, como es una captura de pantalla hay tiles repetidos.
salamander

El “pequeño” problema lo tenemos a la hora de trabajar con las paletas. He buscado una solución fácil para mi y a la vez creo que flexible. En vez de trabajar con ficheros que llevan la paleta o intentar determinarla, el programa espera a parte, un fichero Paleta en el que los primeros 16 píxels de la primera fila tendrán los colores utilizados. Es decir, los píxels 0 y 1 espera que estén con el tono de negro que hemos utilizado en el dibujo de tiles, igual para los verdes de los píxels 2 y 3, etc.

Aquí dejo el ejecutable para Windows y el código fuente:

Archivos:

Fuentes v0.2.5

Ejecutable v0.2.5 – Windows

Editor de Sprites para MSX

Desenvolupament, MSX, nMSXtiles No Comments »

En estos días de desenfreno MSXero he añadido al programa nMSXtiles un editor de sprites.

sprites

En un proyecto se pueden diseñar hasta cuatro conjuntos de cuatro planos de sprites cada uno. Faltarían añadir algunas utilidades como copia de sprites y desplazamiento de bits, pero será para una futura versión.

Como siempre, comentarios y sugerencias varias serán bienvenidos.

Archivos:

Fuentes v0.2.4

Ejecutable v0.2.4 – Windows

Design by j david macor.com.Original WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Entra