Hola, estoy haciendo un proyecto final de carrera con la planta piloto PCT23 MKII AMFIELD ( es una maqueta de una planta de pasteurización )y tengo un problema :
La planta se conecta al ordenador mediante USB y quiero saber como puedo leer desde Matlab las variables de la planta (temperatura, caudal ... ) para poder actuar con ellas y hacer un Control.
He creado un fichero .mex compilado con C para la lectura de datos de la planta, pero al ejecutarlo con Matlab no asigna como variables esos datos.
Os agradeceria si alguien pudiese darme información sobre este tema, contestadme y me pongo en contacto con vosotros.
Si alguien sabe programación en C o Matlab, me gustaría que nos ayudasen a descifrar el siguiente programa :
#include "mex.h"
long CReadAnalog(long channel);
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
int i;
long ans;
mexPrintf("\n - Armfield IFD5 - \n\n Analogue Channels \n\n");
i = 1;
while (i < 9)
{
ans = CReadAnalog(i-1);
mexPrintf(" AI %i: %d\n",i, ans);
i = i + 1;
}
}
Y más concretamente la instrucción de
long CReadAnalog(long channel);
ya que es la que nos da error a la hora de compilar .
Muchas gracias.
La planta se conecta al ordenador mediante USB y quiero saber como puedo leer desde Matlab las variables de la planta (temperatura, caudal ... ) para poder actuar con ellas y hacer un Control.
He creado un fichero .mex compilado con C para la lectura de datos de la planta, pero al ejecutarlo con Matlab no asigna como variables esos datos.
Os agradeceria si alguien pudiese darme información sobre este tema, contestadme y me pongo en contacto con vosotros.
Si alguien sabe programación en C o Matlab, me gustaría que nos ayudasen a descifrar el siguiente programa :
#include "mex.h"
long CReadAnalog(long channel);
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] )
{
int i;
long ans;
mexPrintf("\n - Armfield IFD5 - \n\n Analogue Channels \n\n");
i = 1;
while (i < 9)
{
ans = CReadAnalog(i-1);
mexPrintf(" AI %i: %d\n",i, ans);
i = i + 1;
}
}
Y más concretamente la instrucción de
long CReadAnalog(long channel);
ya que es la que nos da error a la hora de compilar .
Muchas gracias.
Última edición por un moderador: