LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Shared variables in teleoperation system

Hello you all!

This is my first message on this forum. I hope you can help me.

My problem is that I want to use shared variables between two differents PCs. I think the problem seems to be easy to solve, but I am new in LabVIEW and I don't know hoy to do.

More specifically: I am working on my Final Studies Project at my university, and it deals with a teleoperation system, that is part of a research project in our department. I have to design a LabVIEW project for teleoperating a robot. The robot has in its platform some PCs for low-level control (sensors and actuators) and high-level features (navigation, artificial vision, functional architecture). I have to develop a virtual control panel in a laptop, from which I will control the main movement features of the robot. I have a joystick connected to the laptop, and I want to move the robot with the joystick. A VI for controlling the movements has been developed in one PC of the robot. So, what I want is to communicate a VI in the laptop (who will detect the movement information of the joystick) with the main VI that is in the PC installed on the robot. I think I have to use shared variables, but I am not sure how.

Well, that is all.

Thank you very much!
0 Kudos
Message 1 of 6
(3,440 Views)

How are the laptop and the robot pc connected?  wifi, lan, etc?  Use the shared variable example to send parameters back and forth.  Set the .aliases files to the laptop's IP address or machine name.  Use variable manager to view the variable status.

See: http://zone.ni.com/devzone/cda/tut/p/id/4679

0 Kudos
Message 2 of 6
(3,425 Views)
    You are running labview 8 or higher right?
On the PC:
Open your proyect and the go to the menu "tools/ Shared Variable/ Multiple Variable Editor.." Use the functions in the "Edit" menu to create or delete your variables chosing the correct type and a name. When you finished save the library (all Shared variable are created in a library). The library will be added to your proyect, right clic the library and select "deploy".  Go to "Tools/Shared Variable/front panel binding mass configuration", Select the vi that control the robot in the "opens VIs" window and you'll see the control labels in the "binding configuration" window. Double clic the name of the controls you want to bind with one of the shared variables you have just created, then clic the button "browse" in the "update binding" window. In "network published source" select "Proyect items".clic the "+" symbol on "proyect:  ", do the same in "my computer", you should see the library you have saved before, clic the "+" symbol and you will see the variables you have created. Select the correct one. After that clic "OK". Do the same for each binding and then close the "front panel binding mass configuration" window.

On the laptop:
Go to your laptop, open the vi that will work a a remote control, go to "Tools/Shared Variable/front panel binding mass configuration", select the vi that acts as a remote control in the "opens VIs" window and you'll see the control labels in the "binding configuration" window. Double clic the name of the controls you want to bind with a shared variable you created in the PC that controls the robot (in the table of the right), then clic the button "browse" in the "update binding" window. In "network published source" select "Network items".  Clic the "+" symbol in the left on the name of the PC that control the robot, then you should see the library you have saved before, clic the "+" symbol and you will see the variable you have created. Select the correct one. After that clic "OK". Do the same for each binding and then close the "front panel binding mass configuration" window.

Finally run both VIs. You should be able to control the robot from the local PC and from the laptop at the same time. Forgive me for my bad english 😃

Paul
Mechatronic engineer
Lima-Perú
0 Kudos
Message 3 of 6
(3,423 Views)

Thank you very much for your responses.

I have done step by step what you suggest, Paul_m6, by my problem is the next:

"On the PC:
Open your proyect and the go to the menu "tools/ Shared Variable/ Multiple Variable Editor.." Use the functions in the "Edit" menu to create or delete your variables chosing the correct type and a name. When you finished save the library (all Shared variable are created in a library). The library will be added to your proyect, right clic the library and select "deploy".  Go to "Tools/Shared Variable/front panel binding mass configuration", Select the vi that control the robot in the "opens VIs" window and you'll see the control labels in the "binding configuration" window. Double clic the name of the controls you want to bind with one of the shared variables you have just created, then clic the button "browse" in the "update binding" window. In "network published source" select "Proyect items".clic the "+" symbol on "proyect:  ", do the same in "my computer", you should see the library you have saved before, clic the "+" symbol and you will see the variables you have created. Select the correct one. After that clic "OK". Do the same for each binding and then close the "front panel binding mass configuration" window.

On the laptop:
Go to your laptop, open the vi that will work a a remote control, go to "Tools/Shared Variable/front panel binding mass configuration", select the vi that acts as a remote control in the "opens VIs" window and you'll see the control labels in the "binding configuration" window. Double clic the name of the controls you want to bind with a shared variable you created in the PC that controls the robot (in the table of the right), then clic the button "browse" in the "update binding" window. In "network published source" select "Network items".  Clic the "+" symbol in the left on the name of the PC that control the robot, then you should see the library you have saved before, clic the "+" symbol and you will see the variable you have created. Select the correct one. After that clic "OK". Do the same for each binding and then close the "front panel binding mass configuration" window. "

I can't do this, because the path of the PC on the robot doesn't appear in the menu "Network Published Source" of the VI in the laptop. Has anything to do with this the option "Register Computer..." included in the menu "Shared Variables"? I try writing the IP adress of the PC on the robot, but it doesn't work also.


0 Kudos
Message 4 of 6
(3,408 Views)
Well, I managed to solve the problem: it was Firewall of Windows.

In LabVIEW Help I saw there are some UDP ports that have to be opened in order to sharing variables.

Thank you very much for your help!
0 Kudos
Message 5 of 6
(3,399 Views)

Hola Paul!

 

Vamos en español para evitar problemas d idioma.

 

Tengo un problemasimiar al del otro colega, necesito manejar por teleoperación un brazo robótico usando un joystick pero me queda la duda de si se necesita que ambas computadoras tengan instalado Labview. La idea es que se pueda controlar desde cualquier computadora dentro de la red de mi Escuela pero no veo viable el instalar el software en todas y cada una de ellas.

 

Hay alguna forma de hacerlo de por medio de un webserver?

El control lo único que hace actualmente es traducir las coordenadas del joystick y convertirlas a comandos de V+ para envío por medio de RS232 al robot.

 

Saludos!

0 Kudos
Message 6 of 6
(2,713 Views)