Porque uso VS.NET C# en vez de LabWindows/CVI
Si deseas crear aplicaciones para testing, lo mas seguro es que has oido hablar de los productos de National Instruments, no? No niego que el LabView sea una poderosa herramienta para quien no sabe nada de programacion, pero para el ingeniero promedio de nuestros dias el saber algun lenguaje de programacion es esencial. Entonces, yo sugiero que es mejor emplear Visual Studio .NET C# (se lee "Si Sharp") que LabWindows/CVI.
Si te aventuras a usar LabWindows/CVI habran tres distintas labores que deberas afrontar: desarrollar tu set de pruebas, desarrollar la plataforma o entorno donde correran tus pruebas (entiendase la interfase de usuario), y la infraestructura para soportar los distintos equipos que controlaras (esto ultimo lo puedes adquirir de las companhias que te vendieron el equipo, es decir las librerias). La primera y la segunda son inevitables, la tercera quizas podrias evitarla si alguien te pasa los drivers o si los encuentras en la web de National Instruments o la del fabricante listas para bajarlas gratuitamente, de lo contrario tendras que comprarlas o crear tus propias librerias de manera especifica para la platforma de National Instruments.
Es justo aqui donde vienen mis no tan ponderados cuestionamientos. Contamos con el personal necesario para asignar estas labores? La respuesta normalmente es no, ya que lo mas probable que este pasando es la interminable reduccion de personal. Que tal si no consigues las librerias? Quien te va a programar estas? Sabes cuan complicado es codificar librerias usando un lenguage tan arcaico como el CVI (que dicho sea de paso esta basado en ANSI C). National Instrument es un entorno cerrado, lo cual te hara dependiente de sus productos y lo que es peor aun sus infladas licencias para desarrollo y ejecucion que te las cobran por equipo, es decir si tienes 5 PCs donde correr tu programa entonces pagas 5 licencias de ejecucion sin contar con la de desarrollo que ya debes haber pagado. Ademas, el debugging es tedioso y nada amigable si es que logras dar con el origen de la falla o error en el programa. La aplicacion que crees no sera compacta aunque probablemente robusta si logras corregir todos los errores, pero el performance de tu PC sera no precisamente light.
La contraparte de usar C# es que las primera labor sera igual o mas sencilla de ejecutar con un lenguage tipo objecto como este, la segunda es practicamente "drag and drop" al mejor estilo del aplicativo Visio para crear graficos y diagramas. Para la tercera puedes de manera sencilla crear tus propios drivers si es que no existen ya (muchos fabricantes estan ahora proporcionando librerias para VS.NET al igual que para National Instruments). Todos los equipos de testing soportan comunicacion serial (RS232 o similar), GPIB (IEEE 488.2), y/o telnet; entonces lo unico que tienes que hacer es usar las capacidades propias del VS.NET para comunicaciones seriales, bajar las librerias de National Instruments para soportar GPIB, o bajar alguna libreria o C# class de telnet para VS.NET. Simplemente usas tu manual del equipo para ver la sintaxis de los comandos que puedes enviar usando alguno de los 3 metodos mencionados.
Para realizar todas estas labores no necesitas contratar nuevo personal, ni pedirle ayuda a Help Desk (aunque muchos departamentos de IT ahora soportan C#) y mucho menos contratar outsourcing. Esta demas decir que el entorno de VS.NET no es precisamente abierto, pero la comunidad online que desarrolla y comparte aplicaciones online es inmensa en comparacion con la de National Instruments. El debugging es super rapido y amigable, puedes poner breakpoints donde te de la gana y ver como evolucionan tus variables. Las licencias de ejecucion no existen y las de renovacion anual tampoco, simplemente creas tu ".exe" y lo copias en la maquina donde quieras que corra.
No te voy a mentir diciendo que VS.NET C# es perfecto (es mas, no soy fanatico de los productos Microsoft ni trabajo para ellos), pero si sabes programar (no se requiere ser experto), quieres ahorrar tiempo y dinero en el desarrollo de tus aplicaciones, y cuentas con los manuales del equipo, entonces tu mejor opcion es C# en vez de LabWindows/CVI.
Gracias por leer.
24 de abril de 2008, 11:25
Estos dos sites pueden ayudarte a complementar tus aplicaciones en .NET:
Learn Microsoft .NET Framework 2.0!... download gratis!!!
http://www.appdev.com/promo/freetitle.asp?PC=RN00798&T=d%5FNF
Helping you develop world-ready applications
http://blogs.msdn.com/somasegar/archive/2008/04/18/helping-you-develop-world-ready-applications.aspx
Que tengas un buen debugging ;-)
24 de noviembre de 2008, 18:26
gracias compa, la verdad no sabia por cual decidirme y tu opinion me ayudo mucho, saludos desde mexico
25 de noviembre de 2008, 22:41
De nada Alan Mauricio, es grato saber que mis posts sirven de algo a alguien mas en la blogosfera. Se agradece el comentario.
Publicar un comentario