So I want to take information from several separate VIs in Labview, but all efforts to do so have been for no avail. I can call from one VI and call more than one piece of information from that single VI, but from more than one and to put it all onto the dashboard at once has been a roadblock. I checked every tutorial online that I cold dig up, but none have given me an answer. Any ideas labview programmers?
You have a couple options. Possibly the simplest is to to put the info into the Status data which is transmitted at 50 Hz. If possible, drag the wires to a common location in your loop, format into an array of bytes, then call StatusDataCache with Set.
If the data is more scattered around, you can publish your loop data into one or more globals. Ideally, a unique global per loop. Then in one location such as in the Robot Main, you read the globals, format, and write to the status cache. Note that this is not very synchronized, just as the loop execution is not. For continuous processes such as driving the robot, this is probably good enough and it is easy. If you want to get more synchronized, you can look to use a functional global, queues, etc. For now, I’d keep it simple.
Another option is to skip the status data and go straight to the template for updating the actual DS data. The subVI is called Build Dashboard Data. In the subVI, it uses a typedef called Dashboard Datatype.ctl. You can add fields to this control, then decide how often you from your I/O or globals and publish it to the Dashboard. You can then modify the dashboard project to unbundle your new fields and display then however you like. An example of this would be to get rid of the low level AI values and publish something useful such as gyro heading or acceleration or position.
Greg McKaskle
Out of curiousity, is the data stream for the dashboard documented anywhere?
In the sense that it is open source, yes. I’ve also published images of the data members. If you don’t find that image, load the dashboard show the context help window, and hover over the wire going to or from the dashboard wire. It is a large structure of ints and floats.
Greg McKaskle