el 06-09-2010 05:52 PM
Buenas, estoy usando LabView 8.5 (soy principiante) y despues de guerrear y guerrear logré hacer algo de lo que necesito, pero igual necesito su ayuda.
Necesidad:
Estoy comunicando un robot CRS directamente desde LabView sin pasar por RobCom (que es el software maestro del robot), y viendo un lector del puerto serial veo que se envíanlas ordenes al controlador así: R E A D od--> Que es un ENTER.
Problema:
Logre hacer esto, pero enviando letra a letra, cuando lo que yo necesito es meter una cadena de caracteres y que automaticamente le separe letra a letra, incluyendo espacios, enters y todo eso. ¿Cómo lo hago? Todo tiene que enviarse como ASCII.
Como ustedes ven estoy enviando a lo malcriado cada letra.
Quisiera meter algo como:
READ
MOVG1
Z2
FINISH
Y que se mande letra a letra, incluidos los ENTERS y todas las lineas....
Ayuda please
¡Resuelto! Ir a solución.
el 06-10-2010 01:59 AM
Lo he leido todo muchas veces pero realmente no entiendo qué quieres decir con "enviar de letra en letra"
No veo en tu código nada de espacios ni de intervalos entre las letras, así que me parece que lo que has creado es igual a esto:
¿Has probado enviando algo semejante y viendo si el robot lo entiende? Si no, es necesario que nos brinde alguna información más sobre el protocolo que debes de utilizar para que se te pueda guiar en la solución de tu problema.
el 06-10-2010 08:17 AM
Hola y gracias por responder, sí he intentado como me pones y o funka, lo que pasa es que el robot recibe letra a letra, osea:
R
E
A
D
ENTER
Una a la vez, no me entiende si le mando la palabra entera, ya lo he intatado, por eso quiero alguna función que de una cadena de caracteres me envie letra a letra, osea:
YO ESCRIBO:
READ
MOV G1
OPEN
MOV G2
SPEED 50
FINISH
Pero Labview me lo debe convertir a:
R
E
A
D
ENTER
M
O
V
G
1
ENTER
O
P
E
N
ENTER
Osea caracter a caracter....
el 06-10-2010 08:55 AM
Yo tampoco veo ninguna diferencia entre como estas mandando los datos y como te dijo Roberto, los dos mandan los mismos datos, pero resolviendo tu duda lo que podrias hacer es algo como esto:
06-10-2010 09:41 AM - editado 06-10-2010 09:44 AM
¿Y qué tiene que estar entre letra y letra? ¿Un tiempo de espera? ¿Un espacio (ASCII 32)? ¿Un retorno de carro (ASCII 13)? ¿o qué?
No tengo experiencia en los robots de que hablas y tampoco he visto situaciones semejante en mi trabajo, pero una posibilidad es que sea necesario interponer alguna pausa sea entre las letras sea entra una comando y el siguiente. En el primer caso podrías poner un "Wait" con algun milisecundo en el for de la solución de Rodrigo, en el otro debes ponerlo después de enviar la cadena completa (por ej. el "READ\r").
Como te comentaba, nunca he visto un caso del primer tipo que he indicado, mientras que sí lo he visto del segundo, ya que algunos controladores necesitan completar el manejo de un comando antes de poder recibir el siguiente y esto comporta la necesidad de un tiempo de pausa. En particular, el comando READ me parece que es un pedido de lecturas, esto es el controlador debe enviar una respuesta con algun dato: esto puede ocupar varios milisegundos (he visto hasta 100-200 mseg), dependiendo del volumen de datos y del tiempo que el controlador necesita para preparar la respuesta. Acaso ¿has visto si tienes alguna contestación del robot?
el 06-10-2010 02:14 PM
Haber lo que pasa es que para que el controlador coga o entienda mi instruccion le tengo que dar letra a letra y sin ningun retardo porque es comunicacion asincrona... Osea yo ya me estoy comunicando con el robot, entonces estoy bien en lo que digo; ya lo estoy moviendo y todo....
Lo unico quiero saber es como escribir caracter a caracter.... Osea quiero saber como uno escribe HOLA, y se escribe en el puerto serial H, O, L, A..... más claro, como cambio un string en un array..... para luego mandar elemento a elemento
el 06-10-2010 02:44 PM
el 06-15-2010 02:35 PM
Perfecto, ya con eso estoy completamente online con el robot... funciona lindo esto...
Muchas gracias por la ayuda y la atención dada!!!
el 07-06-2014 10:45 AM
Hola , mi consulta es parecida, como puedo asignarle una letra a un boton y que este la envie por ejemplo ,si pulso el boton que envie la letra A y si lo apago que envie la letra B
el 07-10-2014 05:54 PM
Que tal Perman1 Buenas Tardes:
Para que podamos contestar tus preguntas de una manera más eficiente te pido que si es una pregunta distinta la pongas un un nuevo foro.
Te envío un ejemplo de como lo puedes hacer. Tienes que cambiar primero el texto boleano para que tengas un texto cuando está en On y otro cuando esté en Off. Esto lo puedes hacer desde las propiedades del Botón en el Boolean Text.
Para leer este texto y mandarlo a un indicador se puede hacer a través de un Property node llamado Boolean Text>>Text.