Riggy
2006-12-18 16:40:09 UTC
Hi all,
I've been programming in LabVIEW (currently using 7.0, 7.1 and 8.0 on three different machines!) for a few years and am having trouble working out a quick and simple methodology for programming the following requirement:
I have a VI which acts as a front panel, from where a user can call up other VIs that perform certain operations. On this front panel are a series of indicators which need to be constantly updated at a rate of approx' twice a second. The problem I have is: if a subvi is called, the calling vi (front panel) halts until this subvi is finished. However, the subvi makes changes to some of the values that the front panel displays, so the front panel must not freeze otherwise the indicators will not be updated. I know there are ways of calling subvi's by reference, and flagging the Do Not Wait for this vi boolean such that it then runs in the background in parallel, but there must be a simple way of coding the "frontpanel.vi" diagram so that it keeps updating regardless of running subvis?
Attached is an example of what I mean. The values are updated to a Global, and the front panel reads the global every 500ms. When the subvi OperationA.vi is called, the front panel halts, and hence the changing Global value is not updated on the front panel indicator. This attachment is a LV 7.0 library. If anyone makes changes, please export as 7.0 if possible. I do have access to 7.1 and 8.0 on other machines if necessary.
Any help much appreciated :smileyhappy:
Many thanks,
Riggy
Update_demo.llb:
http://forums.ni.com/attachments/ni/170/220909/1/Update_demo.llb
I've been programming in LabVIEW (currently using 7.0, 7.1 and 8.0 on three different machines!) for a few years and am having trouble working out a quick and simple methodology for programming the following requirement:
I have a VI which acts as a front panel, from where a user can call up other VIs that perform certain operations. On this front panel are a series of indicators which need to be constantly updated at a rate of approx' twice a second. The problem I have is: if a subvi is called, the calling vi (front panel) halts until this subvi is finished. However, the subvi makes changes to some of the values that the front panel displays, so the front panel must not freeze otherwise the indicators will not be updated. I know there are ways of calling subvi's by reference, and flagging the Do Not Wait for this vi boolean such that it then runs in the background in parallel, but there must be a simple way of coding the "frontpanel.vi" diagram so that it keeps updating regardless of running subvis?
Attached is an example of what I mean. The values are updated to a Global, and the front panel reads the global every 500ms. When the subvi OperationA.vi is called, the front panel halts, and hence the changing Global value is not updated on the front panel indicator. This attachment is a LV 7.0 library. If anyone makes changes, please export as 7.0 if possible. I do have access to 7.1 and 8.0 on other machines if necessary.
Any help much appreciated :smileyhappy:
Many thanks,
Riggy
Update_demo.llb:
http://forums.ni.com/attachments/ni/170/220909/1/Update_demo.llb