no se como borrar el buffer de la tarjeta DT9812

estoy realizando el control de cilindros neumaticos con la tarjeta DT9812 y mediante Matlab, el codigo funciona bien para adquisiciones de menos de 1024 muestras para muestras mayores funciona mal en bloques de 1024 hasta que llega a las ultimas muestras que son las ultimas 1024 o menos.
Creo que es un problema de buffer de la tarjeta o de matlab pero no se como solucionarlo, he probado cambiando el tamaño de buffer mediante set(ai,'bufferconfig',[128 20] y ocurre lo mismo pero para bloques de 128 muestras.
gracias por vuestra colaboración.
 

Adjuntos

  • control_148.zip
    30.6 KB · Visitas: 4
No conozco la tarjeta que nombras, si conozco el software MATLAB.

PERO....voy a sugerirte algo que depronto yo este salido del tema, pero me voy a arriesgar, y si no es eso disculpen mi ignorancia.

Tienes configurada bien la velocidad en baudios entre la tarjeta y MATLAB ?
No sera que tienes la velocidad muy alta o muy baja ?? con respecto a tu programa ?

hasta pronto.


te intento ayudar asi no conozca la tarjeta porque yo soy de los que prefiero que alguien me de su opinion no importa si esta lejos de la realidad, simplemente yo la evaluo y la descarto, pero esto hace que aveces le abran los ojos a uno en cosas insignificantes que aveces no vemos despues de trabajar durante dias en algun problema.
 
hola, agradezco que te hayas tomado la molestia de responder.

Respecto a lo de los baudios, no se si te refieres a la frecuencia de muestreo, que en matlab se configura de la siguiente forma:

set(ai,'SampleRate',30);

si es asi no, no depende de esto, la frecuencia es de 30 por que es el minimo que admite la tarjeta, pero a frecuencias mayores tambien pasa y creo que el codigo esta bien, porque para adquisiciones pequeñas funciona correctamente.
Sin embargo, si no te refieres a esto sino a algo distinto, ruego que me envies una respuesta sobre como hacer eso de cambiar la velocidad entre la tarjeta y Matlab.

Muchas gracias.
 
Atrás
Arriba