LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Hice un semaforo con flat secuence y quiero implementarlo con arduino y linx pero no puedo escribir las variables sobre arduino

Hola gracias de antemano por permitir consutar.

hice un semaforo con flat secuence y un while loop, ahora quiero implementarlo en arduino con linx, pero lo he intentado de varias maneras y no puedo leer las variables para escribirlas en arduino.

Lo intente en while loop, ahora dentro de las secuencias, pero nada.

aqui les dejo unas fotos del ultimo intento, estoy intentando almenos encender una luz de para probar.

 

ejercicio semaforo panel frontal.pngejercicio semaforo flat secuence.png

 

por favor ya no se me ocurre de que forma hacerlo.  Necesito una orientacion al respecto, gracias

 

Ennio

0 Kudos
Message 1 of 4
(6,083 Views)
Do not wire a local variable to the Linx write! Wire your constant to it. Update the front panel from the constant. Never read and write to the same local at the same time. You have created a classic race condition.
0 Kudos
Message 2 of 4
(6,074 Views)

 

Hola M.Ennio,

 

Entiendo que haces una aplicación con flat sequences para un semaforo, como recomendación puedes investigar un poco sobre maquinas de estado en LabVIEW, estas permiten realizar un proyecto de forma modular y  permite trabajar de una forma más sencilla proyectos como semáforos y similar. 

 

Ahora, en el código se observa que existen condiciones de carrera o "race conditions", . Esto sucede cuando se intenta escribir y leer a una variable local o global casi al mismo tiempo, por ejemplo en el primer cuadro de la secuencia estas escribiendo a "verde" el valor de falso y al mismo tiempo se esta leyendo de "verde" para escribir al Linx subVI, como esto se encuentra en paralelo no se puede determinar cual de estas dos accionas sucede primero. En este link en Inglesy otro en español se puede aprender un poco más sobre condiciones de carrera.

 

http://zone.ni.com/reference/en-XX/help/371361H-01/lvconcepts/using_local_and_global/

http://digital.ni.com/public.nsf/allkb/0615A662C8525AED862579820056CEF3

 

Te recomiendo establecer un mejor orden para actualizar las variables y de verdad buscar realizar este proyecto con una máquina de estados, puedes encontrar un gran ejemplo en el "Example finder" que se denomina "State Machine Fundamentals". Lo puedes enconetrar de la siguiente manera:

 

http://www.ni.com/getting-started/labview-basics/examples

 

No tengo experiencia utilizando Linx, pero voy a investigar un poco más sobre utilizar Linx con arduino y te hablo al respecto.

 

Saludos,

 

David M

National Instruments 

 

 

0 Kudos
Message 3 of 4
(6,019 Views)

Muchas gracias por la respuesta.  Voy a ver los links que me enviaste.

 

Ennio

0 Kudos
Message 4 of 4
(6,014 Views)