Quantcast
Channel: LabVIEW topics
Viewing all articles
Browse latest Browse all 66844

Queued State Machine Arcitecture questions....

$
0
0

Hello,

I am working on a queued state machine architecture project that I have inherited from others. As there is absolutely no documentation, I am slowly working through what was done, and why. Most of what I am looking at is truly awful, but at the same time, I am far from an expert, so I thought I might ask some general questions and try to educate myself. If I am going to press to re-write all of what I am seeing, I certainly do not want to make more mistakes that can be avoided. Thanks to everyone in advance for their help. No code to post at this time, just gerneral sorts of questions... (I have asked a few questions in the past about this one, and people were very helpful).

 

1. This application is on a real time PXI box (8135 controller), connected to a windows machine with a LAN connection. They seem to be using a TCP/IP type of code to sum up all of the queue's together (both on the RT side and the windows side), and them move them as bundle elements through the TCP/IP. I had thought that you could (and should) create a bundle shared variable instead (I thought I read you could do this from a custom created control). And that once you do that, the Labview code makes the association between shared variables saved on the RT target, and reading them out again on the windows machine. If this works as I am thinking, will this also work for the .exe created as a stand alone later? There might be some sort of "gotcha" here that I was not considering.

 

2. I notice that they are using a lot of "functional global variables" (I think that is what they are called) This is when they are using a .vi with a shift register in it, to save an element inside the confines of the shift register, and then read out that infomation later. Why would you want to do that, vs. using a shared variable? I have spoken with the labview tech support folks many times, and their stance seems to be to only use shared variables. At least that way you have easy access to read and write to variables, and you can see which ones a program is using.

 

I have read the article "LabVIEW Queued State Machine Consumer Producer Architecture" by Anthony Lukindo which was really helpful, and seems to be the blueprint that they started with. Are there perhaps other ariticles that I can be pointed to? I am trying to gather all of the information and educate myself as much about real time and queued state machine architecture as I can. I want to make sure the next attempt at this is done in such a way they we will not have to replace it all again in a few years, or suddenly realize we need to redo everything because there is some additional information that we had not considered. Thanks.... Dan


Viewing all articles
Browse latest Browse all 66844

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>