NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW adapter – How to make changes in an existing LV cluster – TestStand container custom data type pair.

I’m using the “Create Custom Data Type From Cluster” wizard to create TestStand TS types and then TS variables so I can pass clusters of data to and from LabVIEW VIs (LV) with the LabVIEW adapter.  What’s the best way to do this, and manage datatype changes?

  1. Preliminary question - I haven’t been able to pass clusters without using the “Create Custom Data Type From Cluster” wizard. For example if I have a LV cluster containing a DBL numeric control, it causes errors when mapped to a TS container containing a single number.

NOTE: If I delete the top-most Value in the VI Parameter Table of the Edit LabVIEW VI Call Dialog Box, and map the cluster elements, that always works. What my question here is about, is just mapping the cluster to the container at one (the top) row.

      Are you required to use the Create Custom Data Type From Cluster” wizard to map clusters to containers at the top row (as a single object)?

  1. After creating a LV cluster – TS data type pair, and then making a seq with the TS property and a step calling a LV VI with the cluster, let’s say I need to add a single element to the cluster. What can I do? What I have tried (it doesn’t work)
    1. Change LV cluster and TS data type, keeping orders straight.
    2. Resave VI and seq with new type.
    3. Reload Prototype in step in seq
    4. Get -17313 value does not have th expected type.

       

How can I make changes in an existing LV cluster – TestStand (TS) custom data type pair ? What is the best practice here?

 

  1. PS - Other options I can think of for mapping LV clusters to TS containers:
    1. Always disconnect “top row” – top level cluster and container names in the LabVIEW VI Call Dialog Box. However this does not work for arrays of clusters without a fixed length.
    2. Use the TS api within the LabVIEW VI – same way as TS 1.0.
    3. Use property loader in the simple case of loading a configuration file to a TS variable.
0 Kudos
Message 1 of 2
(3,072 Views)
Hi, dowNow,

1. You're right, if you do not want to specify each cluster element maps to a different TestStand expression, you would have to create a custom data type. You don't have to use the wizard to do it however. You may create one in View>>Type Palette>>Custom Data Type tab. Depending on your version of Teststand, the name might be a little bit different.

2. Now when you change the TS data type, make sure you also change "Cluster Item Label". For example, if you added this new element in Custom Data Type tab, right click it and select properties. Then under the "Cluster passing" tab, set the "Cluster Item Label" to the corresponding new element you added in LabVIEW.

3. This method is the only way I'm aware of. I also attached a screenshot, taken from ver 3.5, of what you need to change.

Song D
Regards,

Song Du
Systems Software
National Instruments R&D
0 Kudos
Message 2 of 2
(3,049 Views)