From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

crear un arreglo con un encoder

Hola a todos!!!!!.. a ver si alguien me puede ayudar en esto,  necesito realizar un arreglo ( o matriz) con las cuentas de pulsos de un encoder, el problema es que las cuentas que van ingresando al arreglo nunca paren de contar hasta que lleguen a cierto valor. se los explico en detalle.

estoy realizando un trabajo de visión artificial donde tengo que ser capaz de realizar capturas de por lo menos 15 imagnes/seg, para luego ser procesadas (clasifico Choritos y Cholgas). la orden de la captura proviene de un sensor y cada vez que capture una imagen empieza a contar un encoder el cual a llegar a cierto valor actuara unas electrovalvulas neumáticas para enviar un producto a una tolva. el problema radica en que se capturan mas imagenes de las que van a ser expulsadas.. y por cada imagen tengo una cuenta la que no se puede perder hasta el final del proceso, es por eso que tengo que hacer un arreglo con estas cuentas cuyo valor sale del arreglo cuando llega a un valor especificado. El inicio de las cuentas del encoder se activan con el mismo sensor de incio de captura de imagenes.

ojala alguien me pueda ayudar.. les dejo un link donde mhay algo muy parecido a lo que tengo que hacer.

http://www.lizotteconsultants.ca/seafoodgrader.html

saludos!!!   

http://www.lizotteconsultants.ca/seafoodgrader.html
0 kudos
Mensaje 1 de 6
3.200 Vistas

Hola mauricio,

 

        Primero quisiera entender bien tu problema. ¿Necesitas un arreglo que en cada posición tenga el número de cuentas del encoder correspondiente a cada una de las imágenes adquiridas? ¿Por cada imágen que adquieres, obtienes cierto número de cuentas del encoder y todo esto deseas guardarlo en un arreglo para que después puedas disponer de los datos?

 

Saludos,

 

Héctor Rojas

0 kudos
Mensaje 2 de 6
3.197 Vistas

Hola Hector,

 

gracias por responder, necesito que cada posición del arreglo tenga el numero de cuentas del encoder correspondiente a la captura de cada imágen, por ejemplo.

1º imagen-------------> 1º cuenta, luego adquiero una 2º imagen y indexo su correpondiente cuenta en el arreglo, pero sin dejar de contar la cuenta de la 1º imagen..

es un arreglo con elementos variables.

 

por ejemplo adquiero 3 imagenes.

para imagen 1...cuenta1= 0, luego se aduqiere imagen 2

cuenta1= 500, cuenta2= 0, luego se adquiere imagen 3

cuenta1= 1300, cuenta2= 600, cuenta3= 0.. asi sucesivamente.(valores de las cuentas son aleatorios)

las cuentas siguen hasta que lleguen al valor que yo quiera. y cuando lluegen a ese valor saco siempre la que esta en la variable cuenta que esta en la 1º posiciòn del arreglo.

 

Saludos!!!!

 

0 kudos
Mensaje 3 de 6
3.195 Vistas

Hola mauricio,

 

        En este caso puedes estar actualizando constantemente tu arreglo con la función de Replace Array Subset.vi. Esta operación te permite modificar cuantos elementos quieras dentro del arreglo, indicando la posición y el valor a ingresar. ¿Qué configuración de hardware vas a utilizar para la adquisición de los encoders? Porque se me ocurre que podrías estar actualizando el valor de los encoders constantemente y únicamente modificar el valor en el arreglo cada cierto tiempo. De esta forma ahorras tiempo de procesamiento porque no actualizas el valor en el arreglo cada vez que hay una cuenta nueva, sino cada cierto tiempo definido por ti. ¿Me explico? Asi puedes mantener contando todos los encoders y actualizar el arreglo (que contiene las cuentas de todos los encoders) cada X tiempo hasta que se cumpla una condición que detenga el proceso. Actualizar en todo momento los valores del arreglo puede consumir mucho procesador, por lo tanto sugiero que lo hagas de la forma anterior. Los elementos del arreglo siguen siendo variables pero no cambian con cada cuenta que incrementa el encoder. Espero que la información te sirva. Si llegas a tener alguna pregunta no dudes en escribirme.

 

Saludos,

 

Héctor Rojas

0 kudos
Mensaje 4 de 6
3.189 Vistas

Hola Hector, 

 

el hardware que poseeo es el el Chasis NI 9188, con el modulo de entrada NI 9423 y de salida NI 9474, ambos digitales.. y poseo 1 solo encoder, mi es que el encoder funcione como sensor nomas, y cada vez que el sensor principal detecte un alto active al encoder y esa cuenta del encoder guardarla en una variable que siga llevando la cuenta, y cuando el sensor vuelva a tener un alto se cree una nueva cuenta guarda en otra variable y asi sucesivamente.. y la verdad es que no se me ocurre como hacerlo...habia pensado utilizar una estructura de eventos..con  estructura "queue" para que valla generando el arreglo.. pero no pude hacer que me lea la salida del sensor..¿tienes alguna idea el que podria estar fallando?... o alguna otra forma de poder realizar la aplicacion que necesito..

Saludos!!! 

0 kudos
Mensaje 5 de 6
3.182 Vistas

Hola mauricio,

 

         Tengo unas cuantas dudas más, ¿de qué depende la cuenta que lleva cada variable? ¿Quién la incrementa? ¿Se tiene un máximo de variables que llevan cuentas o es indefinido?

 

Saludos,

 

Héctor

0 kudos
Mensaje 6 de 6
3.156 Vistas