• Domingo 22 de Diciembre de 2024, 12:30

Autor Tema:  matlab puede?  (Leído 2288 veces)

chico_pic

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
matlab puede?
« en: Jueves 27 de Enero de 2011, 06:00 »
0
HOLA BUEN DIA.

Tengo una duda en cuanto a lenguajes de programación

Descripción:
Elabore un programa ejecutable (.exe) en LABVIEW 2009 el cual tiene comunicación con un PIC18F4550 vía USB FULL SPEED  mientras desarrollaba el programa en la PC me solicito un programita adicional y complemento de LABVIEW que se llama NI-VISA y dentro de este entorno pude crear el driver (controlador) para mi dispositivo.

El cual consiste en:

1.- envió 5 bytes al PIC por medio del puerto usb
2.- espero 2 milisegundos y recibo 5 bytes del PIC
3. los primeros 3 bytes los grafico como temperatura y 2 bytes los visualizo en binario (led)
4.- espero 500 milisegundos y de nuevo el paso 1

Cuando finalmente termine mi software me entere que para poderlo ejecutar en alguna otra PC debía tener instalados otros programitas adicionales que se llaman RUN TIME ENGINE y NI-VISA lo cual no me gusto
En resumen tengo que tener:

1.- RUN TIME ENGINE
2.- NI-VISA
3.- DRIVER (controlador)
4.- EL PROGRAMA EJECUTABLE (el que desarrolle)

En lo personal solo esperaba
1.- EL EJECUTABLE
2.- EL DRIVER

 Viendo este pequeño problema que NO me gusto opte por conocer nuevo lenguaje de programación en el cual se cumplieran las condiciones que quiero como puede ser

JAVA, DELPHI, MATLAB, VISUAL (Studio, Basic , c, c++ etc.)  O algún otro.


Las preguntas son para los conocedores de algún otro lenguaje de programación:


Cual programa me recomiendan???
Que programa usan???
En el programa que usan es posible crear lo que quiero???


No se si documente bien mi problema y lo que quiero…

Saludos

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: matlab puede?
« Respuesta #1 en: Jueves 27 de Enero de 2011, 12:04 »
0
Para asuntos de bajo nivel como esos, C es el lenguaje más recomendable. Obviamente no uses VB, Java, Delphi, Matlab, C#... Estos lenguajes no fueron diseñados para eso (contrariamente a C que sí fue diseñado para ello).

Geo

  • Miembro de PLATA
  • *****
  • Mensajes: 1011
  • Nacionalidad: mx
    • Ver Perfil
    • http://hsblog.mexchip.com
Re: matlab puede?
« Respuesta #2 en: Domingo 13 de Febrero de 2011, 18:33 »
0
Cita de: "chico_pic"
Cuando finalmente termine mi software me entere que para poderlo ejecutar en alguna otra PC debía tener instalados otros programitas adicionales que se llaman RUN TIME ENGINE y NI-VISA lo cual no me gusto
Todos los programas que utilizan alguna biblioteca no incluída por defecto en el sistema operativo requieren la instalación de dichas bibliotecas, ya sea que se distribuya la aplicación con dichas bibliotecas o se requiera la instalación por parte del usuario final.

Cita de: "chico_pic"
JAVA, DELPHI, MATLAB, VISUAL (Studio, Basic , c, c++ etc.)  O algún otro.
Por ejemplo, Java requiere que el usuario tenga instalada una máquina virtual de Java para su sistema operativo, MATLAB también necesita de sus bibliotecas en tiempo de ejecución (runtime), Delphi y Visual C++ no requieren nada adicional cuando solamente han utilizado funciones de la API de Windows que ya están instaladas en el sistema, Visual Basic también requiere de los archivos "runtime", generalmente ya instalados por Windows o por algún programa que el usuario instaló antes. Eso en cuanto a las versiones pre .NET, pero en cuanto a las más recientes que usan .NET necesitan la instalación de la versión adecuada del  framework .NET, nuevamente, en muchas ocasiones facilitado porque los sistemas operativos ya la traen instalada por defecto (Windows Vista y Windows 7).

Eso en cuanto a archivos "runtime", recuerda que también necesitarás aquellas bibliotecas con las que se enlace tu programa, por ejemplo, para el caso de aplicaciones que usan la biblioteca MCHPUSB de Microchip para comunicarse con sus microcontroladores por medio de USB, el usuario debe tener el archivo DLL correspondiente, aunque es más sencillo en estos casos distribuirlo al lado de la aplicación.

Cita de: "chico_pic"
Cual programa me recomiendan???
No confundas lenguajes de programación con programas: Visual C++ es un entorno de desarrollo (programa) para desarrollar aplicaciones en lenguaje C++, de manera similar, C# es el lenguaje y Visual C# un entorno para desarrollar aplicaciones en ese lenguaje.
Te recomiendo el lenguaje y herramienta que más te guste o en el que te sientas cómo desarrollando, para algo sencillo como la aplicación que mencionaste sería muy práctico hacerlo por ejemplo en C#, Delphi o Visual Basic.
Cita de: "chico_pic"
Que programa usan???
En el programa que usan es posible crear lo que quiero???
En cuanto a una aplicación similar a la tuya, he usado:
  • C#, requiere que el usuario tenga instalado el framework .NET, no tuve problemas pues en las versiones de Windos que usé ya estaba instalado, solo tuve que poner al lado del ejecutable el archivo DLL de la biblioteca MCHPUSB que fue la que usé en este caso. La ventaja de esta opción es la facilidad para crear la interfaz de usuario, me permitió hacer una aplicación que graficaba en tiempo real el valor de una señal analógica recibida por el microcontrolador de manera rápida.
  • Visual Basic 6, el runtime ya estaba instalado en todos los sistemas donde probé, solo agregué la DLL de MCHPUSB. Misma ventaja que Visual C# en cuanto a la interfaz de usuario, el problema es que ya no hay soporte para esta versión de VB.
  • C++ con biblioteca estándar (modo consola), solo agregué la DLL de MCHPUSB.
  • C++ con biblioteca estándar (modo consola) y biblioteca WinUSB, no requerí agregar nada, WinUSB ya estaba instalado en las versiones de Windows que probé.
  • C++ con biblioteca estándar (modo consola) y biblioteca Lib-USB, requerí la instalación de la biblioteca lib-usb para Windows.
  • MATLAB, no lo probé como distribuible, sino como programas/scripts .m, no te puedo decir si la instalación del runtime permite la ejecución sin problemas en equipos donde no está instalado MATLAB.
También toma en cuenta que, dependiendo del lenguaje, entorno y bibliotecas con las que hagas tu programa, será más fácil o rápido realizar ciertas cosas, por ejemplo, en LabVIEW o MATLAB es muy fácil desplegar la gráfica de una señal, mientras que en C# tuve que invertir más tiempo en poder hacer esto (aunque tampoco es que haya sido algo demasiado complicado), aquí un previo de la aplicación que hice:

[youtube:18c9gc6j]http://www.youtube.com/watch?v=0u_0ygGCzk0[/youtube:18c9gc6j]

El tiempo invertido sería simliar para una aplicación con Visual Basic.
Las aplicaciones en C++ las hice para realizar pruebas de transmisión y verificación de datos, en modo consola.

Espero que todavía te sean de utilidad mis comentarios.
La imaginación es el límite.
Hardware & Software | Mexchip