LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

help with 5D array

Hey guys,
 
i am trying to create a 5D array, which eventually gets plotted on a 3D surface by filtering out 2 dimensions (user selectable).
 
What i have are X Y and Z axises, and for each point in the volume a capacitance vector (there are multiple capacitance taken at each point). The user is able to select between the Z axis and the capacitance vector to see the proper plot on a 3D graph.
 
I have attached a picture of what i have done, but for some reason labview doesnt like it. LabView is seemingly not putting any values in the ZsliceCapacitance array. It makes sense in my head though so if someone could help me figure this out that would be awesome 🙂
 
Let me know if i left some important information out...
 
cheers,
Marko
0 Kudos
Message 1 of 17
(5,817 Views)

Hi,

It will be helpful if you could attach your VI. I can not know the values of those variables from the snapshot.

0 Kudos
Message 2 of 17
(5,797 Views)

Yes please post some code showing waht you are doing (real data plus the 3d plot would be way-cool!).

With a 5-d array it may be hard to find the data. Smiley Tongue

Ben

Retired Senior Automation Systems Architect with Data Science Automation LabVIEW Champion Knight of NI and Prepper LinkedIn Profile YouTube Channel
0 Kudos
Message 3 of 17
(5,766 Views)
I'm also curious..  😉
0 Kudos
Message 4 of 17
(5,740 Views)

hey guys,

i will try to make an example code of the program, hopefully by later tonight. It is a bit hard because I'll have to simulate the instrument results 🙂

thanks,
Marko

0 Kudos
Message 5 of 17
(5,719 Views)

until then i will explain what exactly is going on...

I have 3 vectors (x, y and z) which create a 3d space, where i can move a 3 axis motor to. The program takes the three indexes of the current location  (values of X, Y and Z) and then takes a capacitance measurement at different frequencies. This means each point in the 3d space has a vector of capacitances. What i was trying to show in the screenshot was modified from what i had working already, which was selecting just single capacitance from the capacitance vector and passing that into the 3D plot.

What I changed that to was to pass in the whole vector, add another dimension to the CapArray and then filter out in the next step the z-axis slice i want to see and the frequency i want to see (this way i can take measurements of different frequencies and see them at the same time). The 3D surface then gets the X-vector and Y-vector for the X and Y axis' and the Z-matrix gets the capacitance values at the X and Y vectors in the capacitance array.

0 Kudos
Message 6 of 17
(5,703 Views)
Attachment is the code showing what we are doing. 
thanks 
0 Kudos
Message 7 of 17
(5,686 Views)

Okay.  I've got to ask.  Where is the 5D array in your code?  Your subject line mentions a 5D array, but your original screenshot and your posted code only shows a 4D array.  Not that it may affect your questions much.  But when you are talking about 4 or 5-D arrays, they are so complicated, it is hard to visual something like that in reality.  You really have to have a clear idea as to what is the meaning of each of the dimensions.

By the way, your code is going to kill you in trying to debug with all of the stacked sequences it has.  In this screen shot a see a single outer frame that does nothing but give decoration.  Then a 4, 2, 8, 17 frame sequences all embedded one inside the other with some For loops tossed in in between.  Then 2 more layers of embedded case structures.  I see about 12 layers of structures which means the use of a lot of local variables.  Some of the code is duplicated and would be good  choices to turn in to subVI's.

0 Kudos
Message 8 of 17
(5,673 Views)

yeah i know this is a deep piece of code, but if we can just ignore that for now that would be cool 🙂 I am not too experienced with labview yet and subvi's confuse me 🙂

I guess I mis-stated when i said 5D array, you are right I am using a 4 D array, but i thought i should call it 5 D because i have 5 variables - x,y,z, capacitance, frequency.

The frame (2/4) you have in the screenshot is the measurement frame, and that part i didnt write and am not modifying. the array generation comes after that, and thats where my array is.

0 Kudos
Message 9 of 17
(5,659 Views)
hi estomax,

this will be the result when removing your 4-frame stacked sequence:

Much less locals, all visible without switching frames and still using less diagram space...
Your using way too much locals, this will be probably the source of your problems. Try the above and check if you still get empty/wrong plots.


Message Edited by GerdW on 07-26-2008 11:17 AM
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 10 of 17
(5,633 Views)