LabVIEW Web UI Builder and Data Dashboard

cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple Remote Panel Instances

Hello all,

 

I am interested in adapting some simulation VIs for a distance learning application. The VIs demonstrate some of the basics of control theory, and I would like the students to be able to access via the web. Playing around with the web builder wizards I managed to get it working. However, the single user control behaviour is not suitable for classroom teaching etc.

 

This example http://zone.ni.com/devzone/cda/tut/p/id/4041 and relevant templates http://zone.ni.com/devzone/cda/epd/p/id/2440 seems like it might offer a solution. However, seeing as this was written for an older version of labview and my knowledge of html/cgi scripting is essentially zero, I was wondering if anyone had experience with using something this? Or have found a different solution to the multiple instances problem? I think this may not be a trivial amount of work, so I was hoping someone could offer advice as to whether this avenue is worth investigating. 

 

Thanks very much in advance!

 

Regards,

 

James

 

 

0 Kudos
Message 1 of 2
(5,543 Views)

From your description I'm assuming that you have your simulation running in desktop LabVIEW on some machine and your trying to make a web UI that connects to that simulation through a web service. If you want the kind of instancing that remote panels provide you either have to make your web service more complex or you have to move your simulation into Web UI Builder diagrams so the web service is not needed.

 

Each window that views your web UI will be running an independent copy of your web UI VIs. So if everything is implemented as web UI VIs, then there is no sharing and you can open as many instances as you want. If you can implement the simulation entirely in these VIs, then your problem is solved.

 

If you need the simulation to run in desktop LabVIEW, then the solution is different. LabVIEW web services do not maintain a connection with their clients, so they don't have any way to recognize a request as being from the same machine as some previous request. If you need that, you will need to add that capability to your web service. You could have a web service call to start a session. That could start a simulation and return some identifier to the web UI. Each time the web UI called another part of the web service, it would provide this identifier so the web service would know which instance of the simulation to operate on. The client could call another web service entry point to stop the simulation, but you won't be able to count on that. The user could navigate away from the UI page or close the browser without the program having a chance to tell the server to stop. To avoid running out of memory, the server would probably need to have some cleanup task to shut down simulations that had not been accessed for some period of time.

0 Kudos
Message 2 of 2
(5,530 Views)